IP Library Granted Patent US 7,092,967
Granted Patent B1
US 7,092,967 · App. 10/256,777 · Granted Aug 15, 2006

Loadable units for lazy manifestation of XML documents

Assignee: Oracle International Corporation
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,092,967
App. No.
10/256,777
Granted
Aug 15, 2006
Kind
B1
Abstract

Described herein is a system for “lazy” manifestation of XML documents. In lazy manifestation, only portions of an XML document that contain data of interest (e.g., a particular element or attribute requested by an application) are manifested. The term “manifesting a portion of an XML document” refers to creating an in-memory representation of the portion and incorporating it into existing in-memory representation of an XML document, if any. These portions are referred to herein as a loadable unit. A loadable unit is a set of one or more nodes in an XML document, where when there is need to manifest a node in the set, other nodes in the loadable unit are manifested too. Loadable units may, but not necessarily, correlate to content structures that store the nodes. A loadable unit may be the nodes whose content is contained in a row.

Claims (26)

1. A method of lazily manifesting an XML document, the method comprising the steps of:

receiving a first request that requests a first node;

in response to receiving said first request, manifesting only a portion of said XML document within an in-memory representation of said XML document;

wherein each portion of multiple portions of said XML document belong to a separate loadable unit;

receiving one or more requests for a particular node that is not represented by a node within said in-memory representation and that belongs to a respective loadable unit; and

for each particular request of said one or more requests, incorporating within said in-memory representation a node representing the particular node requested by said each particular request by performing steps that include:

manifesting all nodes that belong to the respective loadable unit, said all nodes that belong to said respective loadable unit including said particular node and one or more other nodes that corresponds to a sibling or descendant element of said particular node.

2. The method of claim 1 , wherein:

said particular node and said one or more other nodes are stored in a first data structure that also stores data used to locate a second data structure that stores another portion of said XML document; and

the steps further include loading into volatile memory said data used to locate said second data structure when said all nodes from the respective loadable unit of said particular node is manifested.

3. The method of claim 1 , wherein:

said step of manifesting all nodes is performed by a database server; and

said XML document is stored in data structures managed by said database server.

4. The method of claim 3 , wherein nodes stored in a row of a table constitute a loadable unit of said XML document.

5. The method of claim 1 , wherein loadable units of said XML document are defined according to user input.

6. The method of claim 1 , wherein an element of a VARRAY contains said particular node of interest and said one or more other nodes.

7. The method of claim 1 , wherein a large object managed by a database server contains said particular node and said one or more other nodes.

8. The method of claim 1 , wherein an object that resides in an object table managed by a database server contains said particular node and said one or more other nodes.

9. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 1 .

10. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 2 .

11. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 3 .

12. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4 .

13. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 5 .

14. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 6 .

15. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 7 .

16. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 8 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2004
From: ORACLE CORPORATION
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 015406/0105 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2002
From: PANNALA, SYAM; SEDLAR, ERIC; KHALADKAR, BHUSHAN; MURTHY, RAVI; CHANDRASEKAR, SIVASANKARAN; AGARWAL, NIPUN
To: ORACLE CORPORATION
Reel/Frame 013345/0888 →
Continuity (2)
Provisional Application 6032605200 · Sep 28, 2001
Provisional Application 6037880000 · May 7, 2002