Method and apparatus for virtualized XML parsing
First Claim
1. A method of virtualized parsing of an XML (Extensible Markup Language) document, the method comprising:
- identifying multiple segments of the document;
identifying a symbol table for facilitating parsing of the document;
identifying a location for storing state information regarding the parsing;
for each of the multiple segments, configuring a corresponding work queue entry describing the segment; and
at a hardware parsing unit;
reading a work queue entry;
reading the stored state information unless the corresponding segment is an initial segment of the document; and
parsing the corresponding segment, separately from and independent of other segments of the document, to extract document data and identify document structure.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for performing virtualized parsing of an XML document. A document is divided into multiple segments, which may correspond to separate packets containing portions of the document, disk blocks, memory pages, etc. For each segment, a processor operating within an XML accelerator initiates parsing by identifying to a hardware parsing unit the document segment, a symbol table for the document and a location for storing state information regarding the parsing. Each segment is parsed in sequence, and the state information of the parsing is stored after each segment is completed, for retrieval when the next segment is to be parsed.
-
Citations
22 Claims
-
1. A method of virtualized parsing of an XML (Extensible Markup Language) document, the method comprising:
-
identifying multiple segments of the document; identifying a symbol table for facilitating parsing of the document; identifying a location for storing state information regarding the parsing; for each of the multiple segments, configuring a corresponding work queue entry describing the segment; and at a hardware parsing unit; reading a work queue entry; reading the stored state information unless the corresponding segment is an initial segment of the document; and parsing the corresponding segment, separately from and independent of other segments of the document, to extract document data and identify document structure. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of virtualized parsing of an XML (Extensible Markup Language) document, the method comprising:
-
identifying multiple segments of the document; identifying a symbol table for facilitating parsing of the document; identifying a location for storing state information regarding the parsing; for each of the multiple segments, configuring a corresponding work queue entry describing the segment; and at a hardware parsing unit; reading a work queue entry; reading the stored state information unless the corresponding segment is an initial segment of the document; and parsing the corresponding segment separately from and independent of other segments of the document, to extract document data and identify document structure.
-
-
7. A method of virtually parsing an XML (Extensible Markup Language) document, the method comprising:
-
identifying multiple segments within the document, including an initial segment and a final segment; and for each segment; if the segment is not the initial segment, loading state information saved in connection with the parsing of a previous segment; parsing the segment separately from and independent of other segments of the document; and if the segment is not the final segment, saving state information reflecting the parsing of the segment. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A hardware module for facilitating virtualized parsing of an XML (Extensible Markup Language) document, the hardware module comprising:
-
a hardware parsing unit configured to parse a segment of the document, separately from and independent of other segments of the document; a symbol table memory configured to store a symbol table for storing symbols identified in the document during parsing of the segments; a document memory configured to store the segments; and a processor configured to invoke the parsing unit to parse multiple segments of the document. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
Specification