Patent US6418446B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6418446B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method for grouping of dynamic schema data using XML

Assignee: Twitter Inc
•
Filing: 1999-03-01
•
Granted: 2002-07-09
•
Expires: 2019-03-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method, system, and computer-readable code for a technique with which data having dynamically variable record formats (such as that created when a dynamic schema is used with a data repository) can be easily and efficiently accommodated, without requiring modification of the code that processes the data each time the underlying data format changes. This mechanism provides a novel way to gather data that may have had changes to its format, and create a structured representation of this data that flexibly adapts to format variations. This novel technique enables all added data fields in a record to be made available for processing and removed data fields to be omitted, without requiring advance knowledge of the added and removed fields. In the preferred embodiment, a DOM tree created from an XML representation of the source data is used by the present invention as it creates an output DOM tree. Optionally, the results of an LDAP query from an LDAP directory can be used as the source data.

Inventors

  • 👤 David Bruce Lection
  • 👤 Roland Albert Merrick

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 14:12
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/90; G06F16/95; G06F16/958; G06F16/986; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99944

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 168 words
Computer readable code readable by a computer system in a computing environment for gathering data having dynamically variable record formats such as those created when a dynamic schema is used with a data repository, comprising: an input data source comprising one or more records, wherein each of said records has said dynamically variable record format, and wherein said dynamically variable record format of each said record comprises a plurality of dynamically variable fields; a subprocess for processing a gather verb specification, wherein said gather verb specification identifies a selected one of said records from said input data source and an output data destination; a subprocess for gathering said dynamically variable fields from said selected one of said records according to said gather verb specification; and a subprocess for transferring said gathered dynamically variable fields to said output data destination according to said gather verb specification, wherein said subprocess for gathering and said subprocess for transferring flexibly adapt to a presence or an absence of said dynamically variable fields.
Claim 2
Dependent Claim 168 words
Computer readable code readable by a computer system in a computing environment for gathering data having dynamically variable record formats such as those created when a dynamic schema is used with a data repository, comprising: an input data source comprising one or more records, wherein each of said records has said dynamically variable record format, and wherein said dynamically variable record format of each said record comprises a plurality of dynamically variable fields; a subprocess for processing a gather verb specification, wherein said gather verb specification identifies a selected one of said records from said input data source and an output data destination; a subprocess for gathering said dynamically variable fields from said selected one of said records according to said gather verb specification; and a subprocess for transferring said gathered dynamically variable fields to said output data destination according to said gather verb specification, wherein said subprocess for gathering and said subprocess for transferring flexibly adapt to a presence or an absence of said dynamically variable fields.
Claim 3
Dependent Claim 53 words
Computer readable code for gathering data having dynamically variable record formats according to claim 1 , wherein said selected record is formatted as a first Document Object Model (DOM) tree, said gather verb specification is formatted as a second DOM tree, and said output data destination is formatted as a third DOM tree.
Claim 4
Dependent Claim 58 words
Computer readable code for gathering data having dynamically variable record formats according to claim 2 , wherein said first DOM tree is created by a subprocess for parsing an Extended Markup Language (XML) representation of said selected record and said second DOM tree is created by a subprocess for parsing an XML representation of said gather verb specification.
Claim 5
Dependent Claim 312 words
Computer readable code for gathering data having dynamically variable record formats according to claim 1 , wherein: said gather verb specification further identifies: a required group of fields, an optional group of fields, an excluded group of fields, and an other group of fields, wherein one or more of said optional group, said excluded group, and said other group may be empty; wherein said subprocess for gathering further comprises: a first subprocess for locating a field from said dynamically variable fields corresponding to each of said fields in said required group, and generating an error if any of said fields in said required group cannot be located; a second subprocess for locating a field from said dynamically variable fields corresponding to each of said fields in said optional group if said corresponding field is present in said selected record; a third subprocess for locating a field from said dynamically variable fields corresponding to each of said fields in said excluded group if said corresponding field is present in said selected record; and fourth subprocess for locating all fields from said dynamically variable fields that did not correspond to any of said fields in said required, optional, or excluded groups; and wherein said subprocess for transferring further comprises: a fifth subprocess for transferring each of said fields located by said first subprocess for locating to a corresponding required output field in said output data destination; a sixth subprocess for transferring each of said fields located by said second subprocess for locating to a corresponding optional output field in said output data destination; a seventh subprocess for preventing transfer of each of said fields located by said third subprocess for locating to said output data destination; and an eighth subprocess for transferring each of said fields located by said fourth subprocess for locating to a corresponding other output field in said output data destination.
Claim 6
Dependent Claim 31 words
Computer readable code for gathering data having dynamically variable record formats according to claim 1 , wherein said input data source represents a result of a query from a directory database.
Claim 7
Dependent Claim 29 words
Computer readable code for gathering data having dynamically variable record formats according to claim 5 , wherein said directory database is accessed using a Lightweight Directory Access Protocol (LDAP).
Claim 8
Independent Claim 159 words
A system in a computing environment for gathering data having dynamically variable record formats such as those created when a dynamic schema is used with a data repository, comprising: an input data source comprising one or more records, wherein each of said records has said dynamically variable record format, and wherein said dynamically variable record format of each said record comprises a plurality of dynamically variable fields; means for processing a gather verb specification, wherein said gather verb specification identifies a selected one of said records from said input data source and an output data destination; means for gathering said dynamically variable fields from said selected one of said records according to said gather verb specification; and means for transferring said gathered dynamically variable fields to said output data destination according to said gather verb specification, wherein said means for gathering and said subprocess for transferring flexibly adapt to a presence or an absence of said dynamically variable fields.
Claim 9
Independent Claim 159 words
A system in a computing environment for gathering data having dynamically variable record formats such as those created when a dynamic schema is used with a data repository, comprising: an input data source comprising one or more records, wherein each of said records has said dynamically variable record format, and wherein said dynamically variable record format of each said record comprises a plurality of dynamically variable fields; means for processing a gather verb specification, wherein said gather verb specification identifies a selected one of said records from said input data source and an output data destination; means for gathering said dynamically variable fields from said selected one of said records according to said gather verb specification; and means for transferring said gathered dynamically variable fields to said output data destination according to said gather verb specification, wherein said means for gathering and said subprocess for transferring flexibly adapt to a presence or an absence of said dynamically variable fields.
Claim 10
Dependent Claim 52 words
The system for gathering data having dynamically variable record formats according to claim 7 , wherein said selected record is formatted as a first Document Object Model (DOM) tree, said gather verb specification is formatted as a second DOM tree, and said output data destination is formatted as a third DOM tree.
Claim 11
Dependent Claim 57 words
The system for gathering data having dynamically variable record formats according to claim 8 , wherein said first DOM tree is created by a means for parsing an Extended Markup Language (XML) representation of said selected record and said second DOM tree is created by a means for parsing an XML representation of said gather verb specification.
Claim 12
Dependent Claim 304 words
The system for gathering data having dynamically variable record formats according to claim 7 , wherein: said gather verb specification further identifies: a required group of fields, an optional group of fields, an excluded group of fields, and an other group of fields, wherein one or more of said optional group, said excluded group, and said other group may be empty; wherein said means for gathering further comprises: first means for locating a field from said dynamically variable fields corresponding to each of said fields in said required group, and generating an error if any of said fields in said required group cannot be located; second means for locating a field from said dynamically variable fields corresponding to each of said fields in said optional group if said corresponding field is present in said selected record; third means for locating a field from said dynamically variable fields corresponding to each of said fields in said excluded group if said corresponding field is present in said selected record; and fourth means for locating all, fields from said dynamically variable fields that did not correspond to any of said fields in said required, optional, or excluded groups; and wherein said means for transferring further comprises: fifth means for transferring each of said fields located by said first means for locating to a corresponding required output field in said output data destination; sixth means for transferring each of said fields located by said second means for locating to a corresponding optional output field in said output data destination; seventh means for preventing transfer of each of said fields located by said third means for locating to said output data destination; and eighth means for transferring each of said fields located by said fourth means for locating to a corresponding other output field in said output data destination.
Claim 13
Dependent Claim 30 words
The system for gathering data having dynamically variable record formats according to claim 7 , wherein said input data source represents a result of a query from a directory database.
Claim 14
Dependent Claim 28 words
The system for gathering data having dynamically variable record formats according to claim 11 , wherein said directory database is accessed using a Lightweight Directory Access Protocol (LDAP).
Claim 15
Independent Claim 155 words
A method for gathering data having dynamically variable record formats such as those created when a dynamic schema is used with a data repository in a computing environent, comprising the steps of: providing an input data source comprising one or more records, wherein each of said records has said dynamically variable record format, and wherein said dynamically variable record format of each said record comprises a plurality of dynamically variable fields; processing a gather verb specification, wherein said gather verb specification identifies a selected one of said records from said input data source and an output data destination; gathering said dynamically variable fields from said selected one of said records according to said gather verb specification; and transferring said gathered dynamically variable fields to said output data destination according to said gather verb specification, wherein said gathering step and said transferring step flexibly adapt to a presence or an absence of said dynamically variable fields.
Claim 16
Independent Claim 155 words
A method for gathering data having dynamically variable record formats such as those created when a dynamic schema is used with a data repository in a computing environent, comprising the steps of: providing an input data source comprising one or more records, wherein each of said records has said dynamically variable record format, and wherein said dynamically variable record format of each said record comprises a plurality of dynamically variable fields; processing a gather verb specification, wherein said gather verb specification identifies a selected one of said records from said input data source and an output data destination; gathering said dynamically variable fields from said selected one of said records according to said gather verb specification; and transferring said gathered dynamically variable fields to said output data destination according to said gather verb specification, wherein said gathering step and said transferring step flexibly adapt to a presence or an absence of said dynamically variable fields.
Claim 17
Dependent Claim 52 words
The method for gathering data having dynamically variable record formats according to claim 13 , wherein said selected record is formatted as a first Document Object Model (DOM) tree, said gather verb specification is formatted as a second DOM tree, and said output data destination is formatted as a third DOM tree.
Claim 18
Dependent Claim 57 words
The method for gathering data having dynamically variable record formats according to claim 14 , wherein said first DOM tree is created by the step of parsing an Extended Markup Language (XML) representation of said selected record and said second DOM tree is created by the step of parsing an XML representation of said gather verb specification.
Claim 19
Dependent Claim 310 words
The method for gathering data having dynamically variable record formats according to claim 13 , wherein: said gather verb specification further identifies: a required group of fields, an optional group of fields, an excluded group of fields, and an other group of fields, wherein one or more of said optional group, said excluded group and said other group may be empty; wherein said gathering step further comprises: a first step for locating a field from said dynamically variable fields corresponding to each of said fields in said required group, and generating an error if any of said fields in said required group cannot be located; a second step for locating a field from said dynamically variable fields corresponding to each of said fields in said optional group if said corresponding field is present in said selected record; a third step for locating a field from said dynamically variable fields corresponding to each of said fields in said excluded group if said corresponding field is present in said selected record; and a fourth step for locating all fields from said dynamically variable fields that did not correspond to any of said fields in said required, optional, or excluded groups; and wherein said transferring step further comprises: a fifth step for transferring each of said fields located by said first step for locating to a corresponding required output field in said output data destination; a sixth step for transferring each of said fields located by said second step for locating to a corresponding optional output field in said output data destination; a seventh step for preventing transfer of each of said fields located by said third step for locating to said output data destination; and an eighth step for transferring each of said fields located by said fourth step for locating to a corresponding other output field in said output data destination.
Claim 20
Dependent Claim 31 words
Computer readable code for gathering data having dynamically variable record formats according to claim 13 , wherein said input data source represents a result of a query from a directory database.
Claim 21
Dependent Claim 29 words
Computer readable code for gathering data having dynamically variable record formats according to claim 17 , wherein said directory database is accessed using a Lightweight Directory Access Protocol (LDAP).

References Cited (Backward Citations)

US6286010B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-07-08 2006-01-07 2006-07-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-07-08 2010-01-07 2010-07-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-07-08 2014-01-07 2014-07-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag