IP Library Granted Patent US 7,124,144
Granted Patent B2
US 7,124,144 · App. 09/921,010 · Granted Oct 17, 2006

Method and apparatus for storing semi-structured data in a structured manner

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,124,144
App. No.
09/921,010
Granted
Oct 17, 2006
Kind
B2
Abstract

In response to the provision of a collection of semi-structured data (or its schema), a mapper generates a structured organization to store the collection of semi-structured data. The mapper further collaterally generates a description of how the semi-structured data are stored under the structured organization. In one embodiment, normalized relational tables are used for the structured organization. In alternate embodiments, non-normalized relational tables or other structured organization may also be used. The reverse, that is, the creation of a semistructured data organization for a collection of structured data may also be performed.

Claims (37)

1. A computer-implemented method comprising:

generating a structured organization to store a collection of semi-structured data; and

collaterally generating a description of how the semi-structured data is stored under the structured organization, wherein the description of how the semi-structured data is stored in the structured organization tracks hierarchical information of the semi-structured data and includes storage location information of the structured organization;

wherein the storage location information of the structured organization identifies a first and a second storage location in the structured organization of a parent and a child node of a parent and child node pair of the semi-structured data.

2. The method of claim 1 , wherein said collateral generation of a description comprises generating descriptive entries for a description table, with each descriptive entry identifying the first and second storage location of a storage table for the parent and the child node of the parent and child node pair of the semi-structured data.

3. The method of claim 2 , wherein said collateral generation of a description further comprises generating for each of a selected one or ones of said descriptive entries a context qualifier for at least a selected one of the parent and the child node.

4. The method of claim 1 , wherein said generation of a structured organization comprises creating relational storage tables with rows and columns in a normalized manner.

5. An apparatus comprising:

a storage medium having stored therein a plurality of programming instructions designed to generate a structured organization to store a collection of semi-structured data, when executed, and to collaterally generate a description of how the semi-structured data are stored under the structured organization, wherein the description of how the semi-structured data is stored in the structured organization tracks hierarchical information of the semi-structured data and includes storage location information of the structured organization, wherein the storage location information of the structured organization identifies a first and a second storage location in the structured organization of a parent and a child node of a parent and child node pair of the semi-structured data; and

a processor coupled to the storage medium to execute the programming instructions.

6. The apparatus of claim 5 , wherein the programming instructions are designed to generate the description by generating a description table having a plurality of descriptive entries, with each descriptive entry identifying the first and the second storage location of a storage table of the structured organization for the parent and the child node of the parent and child node pair of the semi-structured data.

7. The apparatus of claim 6 , wherein said programming instructions are further designed to generate for each of a selected one or ones of said descriptive entries a context qualifier for at least a selected one of the parent and the child node.

8. The apparatus of claim 5 , wherein said programming instructions are designed to generate a structured organization by creating relational storage tables with rows and columns in a normalized manner.

9. The apparatus of claim 5 , wherein said programming instructions are a subset of a larger collection of programming instructions implementing a selected one of a database manager and a development toolkit that facilitates development of applications that access databases.

10. An article of manufacture comprising:

a recordable medium having recorded thereon a plurality of programming instructions for use to program a system having a processor for executing programming instructions, to enable the system to generate a structured organization to store a collection of semi-structured data, and to collaterally generate a description of how the semi-structured data are stored under the structured organization, wherein the description of how the semi-structured data is stored in the structured organization tracks hierarchical information of the semi-structured data and includes storage location information of the structured organization, wherein the storage location information of the structured organization identifies a first and a second storage location in the structured organization of a parent and a child node of a parent and child node pair of the semi-structured data.

11. The article of claim 10 , wherein said programming instructions enable the system to collaterally generating a description by generating a description table having a plurality of descriptive entries, with each descriptive entry identifying the first and the second storage location of a storage table for the parent and the child node of the parent and child node pair of the semi-structured data.

12. The article of claim 11 , wherein said programming instructions further enable the system to generate for each of a selected one or ones of said descriptive entries a context qualifier for at least a selected one of the parent and the child node.

13. The article of claim 10 , wherein said programming instructions enable the system to generate a structured organization by creating relational storage tables with rows and columns in a normalized manner.

14. The article of claim 10 , wherein said programming instructions are a subset of a larger collection of programming instructions implementing a selected one of a database manager and a development toolkit that facilitates development of applications that access databases.

15. A computer-implemented method comprising:

generating a semi-structured data organization for a collection of structured data; and

collaterally generating a description of correspondence between the generated semi-structured data organization and the collection of structured data;

wherein said collateral generation of a description comprises generating descriptive entries for a description table, with each descriptive entry identifying a first and a second storage column of a storage table of the structured data for a parent and a child node of a parent and child node pair of the generated semi-structured data organization.

16. The method of claim 15 , wherein said collateral generation of a description further comprises generating for each of a selected one or ones of said descriptive entries a context qualifier for at least a selected one of the parent and the child node.

17. The method of claim 15 , wherein said generation of a semi-structured data organization comprises creating an extensible mark-up language (XML) data structure for a collection of relational tables.

18. An apparatus comprising:

a storage medium having stored therein a plurality of programming instructions designed to generate a semi-structured data organization for a collection of structured data, when executed, and to collaterally generate a description of correspondence between the semi-structured data organization and the structured data; and

a processor coupled to the storage medium to execute the programming instructions, wherein the programming instructions are designed to generate the description by generating a description table having a plurality of descriptive entries, with each descriptive entry identifying a first and a second storage column of a storage table of the structured data for a parent and a child node of a parent and child node pair of the generated semi-structured data orgarnzation.

19. The apparatus of claim 18 , wherein said programming instructions are further designed to generate for each of a selected one or ones of said descriptive entries a context qualifier for at least a selected one of the parent and the child node.

20. The apparatus of claim 18 , wherein said programming instructions are designed to create an extensible mark-up language (XML) data structure for a collection of relational tables.

21. The apparatus of claim 18 , wherein said programming instructions are a subset of a larger collection of programming instructions implementing a selected one of a database manager and a development toolkit that facilitates development of applications that access databases.

22. An article of manufacture comprising:

a recordable medium having recorded thereon a plurality of programming instructions for use to program a system having a processor for executing programming instructions, to enable the system to generate a semi-structured data organization for a collection of structured data, and to collaterally generate a description of correspondence between the semi-structured data organization and the structured data, wherein said programming instructions enable the system to collaterally generate a description by generating a description table having a plurality of descriptive entries, with each descriptive entry identifying a first and a second storage column of a storage table of the structured data for a parent and a child node of a parent and child node pair of the generated semi-structured data organization.

23. The article of claim 22 , wherein said programming instructions further enable the system to generate for each of a selected one or ones of said descriptive entries a context qualifier for at least a selected one of the parent and the child node.

24. The article of claim 22 , wherein said programming instructions enable the system to create an extensible mark-up language (XML) data structure for a collection of relational tables.

25. The article of claim 22 , wherein said programming instructions are a subset of a larger collection of programming instructions implementing a selected one of a database manager and a development toolkit that facilitates development of applications that access databases.

Assignments (6)
MERGER Recorded Oct 12, 2018
From: ACTUATE CORPORATION
To: OPEN TEXT HOLDINGS, INC.
Reel/Frame 047152/0937 →
OFFICER'S CERTIFICATE Recorded Jul 17, 2015
From: ACTUATE CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 036128/0131 →
RELEASE OF SECURITY INTEREST Recorded Aug 29, 2013
From: WELLS FARGO CAPITAL FINANCE LLC
To: ACTUATE CORPORATION; ACTUATE INTERNATIONAL CORPORATION; XENOS IP PARTNERSHIP
Reel/Frame 031111/0038 →
PATENT SECURITY AGREEMENT Recorded Nov 3, 2008
From: ACTUATE CORPORATION; ACTUATE INTERNATIONAL CORPORATION
To: WELLS FARGO FOOTHILL, LLC
Reel/Frame 021773/0165 →
MERGER Recorded Aug 26, 2005
From: NIMBLE ACQUISITION CORP.
To: ACTUATE CORPORATION
Reel/Frame 016921/0955 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2002
From: CHRISTIANSON, DAVID B.; DRAPER, DENISE L.; KOMMISSARCHIK, KONSTANTIN L.
To: NIMBLE TECHNOLOGY, INC.
Reel/Frame 012644/0371 →