TECHNIQUES FOR MORE EFFICIENT GENERATION OF XML EVENTS FROM XML DATA SOURCES
First Claim
1. A computer-implemented method comprising the steps of:
- determining a default memory size for an XML event-generating process;
requesting, from a memory manager, allocation of a memory chunk of the default memory size for use with the XML event-generating process;
processing the XML data source using the XML event-generating process, thereby generating one or more XML events;
wherein processing the XML data source requires the use of a plurality of memory buffers;
wherein the XML event-generating process stores the plurality of memory buffers in the memory chunk; and
requesting that the memory manager deallocate the memory chunk.
1 Assignment
0 Petitions
Accused Products
Abstract
One may increase the efficiency of an XML event-generating process by reducing the number of requests to allocate or deallocate system memory. Such reduction may occur as the result of pre-allocating a memory chunk of sufficient size to contain all of the memory buffers required by a particular event-generating process. Instead of allocating new memory chunks for new memory buffers, an application may store any required buffers within the pre-allocated memory chunk. A sufficient memory size may be estimated by performing the event-generating process on a training set of XML documents. Also, an application may re-use buffers during the process or between different iterations of the process, thus avoiding the need to deallocate and reallocate memory that is essentially being used for the same purpose.
112 Citations
25 Claims
-
1. A computer-implemented method comprising the steps of:
-
determining a default memory size for an XML event-generating process; requesting, from a memory manager, allocation of a memory chunk of the default memory size for use with the XML event-generating process; processing the XML data source using the XML event-generating process, thereby generating one or more XML events; wherein processing the XML data source requires the use of a plurality of memory buffers; wherein the XML event-generating process stores the plurality of memory buffers in the memory chunk; and requesting that the memory manager deallocate the memory chunk. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 20, 21, 22, 23)
-
-
12. A computer-implemented method comprising the steps of:
-
determining a default memory size for an XML event-generating process; requesting, from a memory manager, allocation of a memory chunk of the default memory size for use with the XML event-generating process; processing the plurality of XML data sources using the XML event-generating process, thereby generating one or more XML events; wherein, for each particular XML data source, processing the particular XML data source requires the use of at least one memory buffer; wherein, for each particular XML data source, the XML event-generating process stores the at least one memory buffer in the memory chunk; requesting that the memory manager deallocate the memory chunk. - View Dependent Claims (13, 14, 15, 16, 24)
-
-
17. A computer-implemented method comprising the steps of:
-
(a) processing a first data source in the plurality of XML data sources using the XML event-generating process, thereby generating an XML event, wherein the step of processing comprises allocating a memory chunk from a memory manager to store one or more memory buffers; (b) processing at least one subsequent data source in the plurality of XML data sources using the XML event-generating process, thereby generating at least one XML event, wherein for each of the at least one subsequent XML data sources, the step of processing comprises; storing one or more memory buffers in the memory chunk; expanding the memory chunk to fit an additional one or more memory buffers; (c) further processing at least one subsequent data source in the plurality of XML data sources using the XML event-generating process, thereby generating at least one XML event, wherein for each of the at least one subsequent data sources, the step of further processing comprises storing one or more memory buffers in the memory chunk without expanding the memory chunk; and (d) deallocating the memory chunk. - View Dependent Claims (18, 19, 25)
-
Specification