IP Library Granted Patent US 7,984,081
Granted Patent B1
US 7,984,081 · App. 11/523,746 · Granted Jul 19, 2011

System and method for non-programmers to dynamically manage multiple sets of XML document data

Assignee: Yardley, Benham and Rasch, LLC
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,984,081
App. No.
11/523,746
Granted
Jul 19, 2011
Kind
B1
Abstract

A system and method for dynamically retrieving, manipulating, updating, creating, and displaying data from sources of Extensible Markup Language (XML) documents. The program memory comprises system-user entered data definitions and business rules. The system imports XML document data into the system data definitions, processes the data using the business rules definitions and exports XML documents. The system can automatically create XML document formats from its data definitions and can automatically create its data definitions from XML document formats. The system-user can also define the mapping between XML document formats and the system data definitions. The system data definition is the combination of a Relational data model, an Object data model, and an XML data model.

Claims (82)

1. A computer-implemented method of manipulating XML documents, comprising:

organizing data components of the XML documents into data objects;

identifying a plurality of primary record types for the XML documents;

mapping the data components of each data object to one of the plurality of primary record types;

organizing instances of the plurality of primary record types into a hierarchy to form a management record type;

defining a dynamic document for display of an instance of the management record type through a user interface; and

detecting modification of the data in the dynamic document via the user interface, and in response thereto modifying a data component in at least one of the XML documents.

2. A method as in claim 1 ,

wherein an instance of a one of the primary record types includes or points to a relational database table of that primary record type; and

wherein the instance of the management record type points to instances of the primary record types.

3. A method as in claim 1 , wherein the management record type defines business objects and the instances of the management record type comprises the business objects.

4. A method as in claim 3 , wherein the business objects comprise invoices, bills of material, purchase orders, price books, forecasts, or fund transactions.

5. A method as in claim 1 , further comprising:

organizing the instances of the primary record types into a second hierarchy to form a second management record type;

creating a second dynamic document, the second dynamic document comprising a second user interface and an instance of the second management record type; and

detecting modification of the data in the second dynamic document via the second user interface, and in response thereto modifying a data component in at least one of the XML documents.

6. A method as in claim 5 , wherein the instance of the management record type points to an instance of a first primary record type of the primary record types, and the instance of the second management record type points to the instance of the first primary record type.

7. A method as in claim 6 , wherein no two instances of the primary record types have identical values.

8. A method as in claim 1 , wherein the management record type defines multiple XML documents.

9. A method as in claim 1 , wherein the mapping comprises performing the following for each of the data objects:

determining whether any of the plurality of primary record types corresponds to the data object;

mapping the data components of the data object to a first primary record type of the plurality of primary record types if the determining results in a determination that the first primary record type corresponds to the data object; and

creating a second primary record type corresponding to the data object and including the second primary record type in the plurality of primary record types if the determining results in a determination that none of the plurality of primary record types corresponds to the data object.

10. A program memory having instructions stored thereon, the instructions comprising:

instructions for organizing data components of one or more XML documents into data objects;

instructions for identifying a plurality of primary record types for the XML documents;

instructions for mapping the data components of each data object to one of the plurality of primary record types;

instructions for organizing instances of the plurality of primary record types into a hierarchy to form a management record type;

instructions for defining a dynamic document for display of an instance of the management record type through a user interface; and

instructions for detecting modification of the data in the dynamic document via the user interface, and in response thereto modifying a data component in at least one of the XML documents.

11. The program memory of claim 10 ,

wherein an instance of a one of the primary record types includes or points to a relational database table of that primary record type; and

wherein the instance of the management record type points to instances of the primary record types.

12. The program memory of claim 10 , wherein the management record type defines business objects and the instances of the management record type comprises the business objects.

13. The program memory of claim 12 , wherein the business objects comprise invoices, bills of material, purchase orders, price books, forecasts, or fund transactions.

14. The program memory of claim 10 , the instructions further comprising:

instructions for organizing the instances of the primary record types into a second hierarchy to form a second management record type;

instructions for creating a second dynamic document, the second dynamic document comprising a second user interface and an instance of the second management record type; and

instructions for detecting modification of the data in the second dynamic document via the second user interface, and in response thereto modifying a data component in at least one of the XML documents.

15. The program memory of claim 14 , wherein the instance of the management record type and the instance of the second management record type point to one or more same instances of the primary record types.

16. The program memory of claim 15 , wherein no two instances of the primary record types have identical values.

17. The program memory of claim 10 , wherein the management record type defines multiple XML documents.

18. The program memory of claim 10 , wherein the instructions for mapping comprise instructions for performing the following for each of the data objects:

determining whether any of the plurality of primary record types corresponds to the data object;

mapping the data components of the data object to a first primary record type of the plurality of primary record types if the determining results in a determination that the first primary record type corresponds to the data object; and

creating a second primary record type corresponding to the data object and including the second primary record type in the plurality of primary record types if the determining results in a determination that none of the plurality of primary record types corresponds to the data object.

19. An apparatus for manipulating XML documents, comprising:

means for organizing data components of one or more XML documents into data objects;

means for organizing the relational data into object model data;

means for identifying a plurality of primary record types for the XML documents;

means for mapping the data components of each data object to one of the plurality of primary record types;

means for organizing instances of the plurality of primary record types into a hierarchy to form a management record type;

means for defining a dynamic document for display of an instance of the management record type through a user interface;

means for detecting modification of the data in the dynamic document via the user interface, and in response thereto modifying a data component in an XML document.

20. The apparatus of claim 19 , wherein the means for mapping comprises means for performing the following for each of the data objects:

determining whether any of the plurality of primary record types corresponds to the data object;

mapping the data components of the data object to a first primary record type of the plurality of primary record types if the determining results in a determination that the first primary record type corresponds to the data object; and

creating a second primary record type corresponding to the data object and including the second primary record type in the plurality of primary record types if the determining results in a determination that none of the plurality of primary record types corresponds to the data object.

21. An apparatus for manipulating XML documents, comprising:

a processor;

a component that organizes data components of one or more XML documents into data objects;

a component that identifies a plurality of primary record types for the XML documents;

a component that maps the data components of each data object to one of the plurality of primary record types;

a component that organizes the instances of the plurality of primary record types into a hierarchy to form a management record type;

a component that defines a dynamic document for display of an instance of a management record type through a user interface; and

a component that detects modification of the data in the dynamic document via the user interface, and in response thereto modifies a data component in an XML document.

22. The apparatus of claim 21 ,

wherein an instance of one of the primary record types includes or points to a relational database table of that primary record type; and

wherein the instance of the management record type points to instances of the primary record types.

23. The apparatus of claim 21 , wherein the management record type defines business objects and the instances of the management record type comprises the business objects.

24. The apparatus of claim 23 , wherein the business objects comprise invoices, bills of material, purchase orders, price books, forecasts, or fund transactions.

25. The apparatus of claim 21 , further comprising:

a component that organizes the instances of the primary record types into a second hierarchy to form a second management record type;

a component that creates a second dynamic document, the second dynamic document comprising a second user interface and an instance of the second management record type; and

a component that detects modification of the data in the second dynamic document via the second user interface, and in response thereto modifying a data component in at least one of the XML documents.

26. The apparatus of claim 25 , wherein the instance of the management record type and the instance of the second management record type point to one or more same instances of the primary record types.

27. The apparatus of claim 26 , wherein no two instances of the primary record types have identical values.

28. The apparatus of claim 21 , wherein the management record type defines multiple XML documents.

29. The apparatus of claim 21 , wherein the component that maps the data components is configured to perform the following for each of the data objects:

determining whether any of the plurality of primary record types corresponds to the data object;

mapping the data components of the data object to a first primary record type of the plurality of primary record types if the determining results in a determination that the first primary record type corresponds to the data object; and

creating a second primary record type corresponding to the data object and including the second primary record type in the plurality of primary record types if the determining results in a determination that none of the plurality of primary record types corresponds to the data object.

Assignments (3)
MERGER Recorded Jan 2, 2014
From: YARDLEY, BENHAM AND RASCH, LLC
To: INTELLECTUAL VENTURES I LLC
Reel/Frame 031882/0542 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2007
From: INKAHOOTZ INC.
To: YARDLEY, BENHAM AND RASCH, LLC
Reel/Frame 019477/0222 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2007
From: VANDERDRIFT, RICHARD WILLIAM
To: IN KAHOOTZ INC.
Reel/Frame 019161/0305 →
Continuity (1)
Continuation 09976710 · Oct 15, 2001