CN103493043A - A hybrid binary xml storage model for efficient xml processing - Google Patents
A hybrid binary xml storage model for efficient xml processing Download PDFInfo
- Publication number
- CN103493043A CN103493043A CN201180064212.0A CN201180064212A CN103493043A CN 103493043 A CN103493043 A CN 103493043A CN 201180064212 A CN201180064212 A CN 201180064212A CN 103493043 A CN103493043 A CN 103493043A
- Authority
- CN
- China
- Prior art keywords
- node
- storage
- crossfire
- xml
- document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24575—Query processing with adaptation to user needs using context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/835—Query processing
- G06F16/8373—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/146—Coding or compression of tree-structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/149—Adaptation of the text data for streaming purposes, e.g. Efficient XML Interchange [EXI] format
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
A method for storing XML documents a hybrid navigation/streaming format is provided to allow efficient storage and processing of queries on the XML data that provides the benefits of both navigation and streaming and ameliorates the disadvantages of each. Each XML document to be stored is independently analyzed to determine a combination of navigable and streamable storage format that optimizes the processing of the data for anticipated access patterns.
Description
Technical field
The present invention relates to storing X ML document to retrieve and navigation for effective.
Background technology
XML
Extend markup language (XML) is w3c (W3C) standard for meaning data.Many application are designed to export the data of XML document form.Can utilize various technology so that data are stored into relevant database from this XML document.
The XML packet is containing the structural data item that forms level.In XML, the data item that is called key element is delimited by starting label and end-tag.Key element also can be included in the attribute of stipulating in the beginning label of key element.Text between the label of key element can mean the data value such as any type of string, date or integer.Key element can have one or more child.With for discuss family tree aspect similar aspect the hierarchy obtained of XML formatted data is discussed.For example, can say that child's key element gets off from its father's key element or any key element of getting off from its father.Can say that father's key element is any child's key element of self or the ancestors' key element of in its offspring's key element.Key element is collectively referred to as tree or subtree together with its attribute and offspring.Node with father/child's relation is called as and has middle hierarchical relational, and reason is can have direct guidance path between them.
The XML data can be stored in relevant database by using the storage of object relationship type or binary XML BLOB storage or CLOB storage, and reason is these databases service datas very effectively.But, although can from father to child along object search relationship type storage or the binary XML storage effectively downwards of XML level,, these storage organizations are unsuitable for execution requirements and upwards travel through the hierarchical navigation of ancestors' link or compatriot's traversal along level.
Storage and inquiry system for XML
Use various types of storing mechanisms with storing X ML document.Can, by document being chopped into to each single key element and storing key element in each single row of form, XML document be stored in relevant database.In database server, XML document can be stored in the row of table, and, the node of storing X ML document in the independent row in can being expert at.
As an alternative, whole XML document can be used as large object (LOB) and is stored in the row of database table.But the large object of character (CLOB) that large object row store storage is text, or also can be stored as binary large object (BLOB).Binary object can comprise the token crossfire of XML data.This crossfire of the token for XML document alternatively is stored in volatile memory.
XML inquiry and XPATH
For the Database Systems of storing X ML data, can be very important by using the XML query language to carry out inquiry.XML query language (XQuery) and XML path language (XPath) are the major criterions of query language, and they can be combined with to express with SQL various useful inquiries.The XML Path Language(XPath that XPath here adds as a reference and can obtain when writing http://www.w3.org/TR/xpath), version1.0(W3C Recommendation16November1999) and here the XMP Path Language(XPath that adds as a reference and can obtain when writing http://www.w3.org/TR/xpath), 2.0(W3C Recommendation 23 January 2007), be described.The XQuery1.0:An XML Query Language(W3C Recommendation23January2007 that XQuery here adds as a reference and obtains when writing http://www.w3.org/TR/xquery) in, be described.And, have the XQuery script: http://www.w3.org/TR/xquery-sx-10/.
Path expression
Set up father-child's relation between the node of the structure of XML document in XML document.The a series of father of " path " of the node in XML document reflection from " root " node to specific node-child links.For example, in the example document shown in table 1, because " UnitPrice " be " Part " node child, " Part " node is the child of " LineItem " node and child and " LineItems " node that " LineItem " node is " LineItems " node are the children of " PurchaseOrder " node, therefore, the path to " UnitPrice " node is/PurchaseOrder/LineItems/LineItem/Part/UnitPrice.
The particular sections point assessment path expression that is called " linguistic context " about the starting point as navigation.By using the navigation of approach axes (". ", "/", " // " and " .. ") regulation.Each in these axles is selected one or more node, and then these nodes are further followed axle based on the test of what title or node test and be filtered.
Table 1: example purchase order document
The subset of XPath axle and title/node test comprises:
/ | Child's axle |
// | Offspring's axle |
. | Current axis |
.. | Father's axle |
* | The test of asterisk wildcard title |
Syntax used herein is standard x Path syntax.But, should be appreciated that and can use any syntax that there is suitable semanteme with above axle.
Descend and be called as positive navigation from father to child in tree.Upwards rise and be called as reverse navigation along level from child to father.Another example of reverse navigation is the last compatriot of access.The path started with virgule ("/") starts evaluated at the root node place of level.
Navigation XML data
The action that the support of XPath/Query language can be carried out in the tree.But, store the efficient navigation that above-mentioned XML data and index data can not provide the tree traversal.In order to overcome this problem, can create DOM Document Object Model (DOM) in storer, and, can on DOM, carry out navigation action.A problem of the method is, even only need the several nodes in whole tree to express with assessment, before can carrying out the tree traversal, also must in storer, build whole dom tree.For large document, this expresses aspect needed amount of memory the problem that all has scalability at the time that builds tree and processing XPath.Build DOM in storer and may need 10 times of size of the XML document that means as the DOM spaces more than like that.Therefore, the document of 100MB may need the storer of gigabit to keep dom tree.
For fear of the problems referred to above that build DOM in volatile memory, can use other method with the navigation link of memory hierarchy for good and all together with the XML content.In other words, the XML data can be stored as tree on dish, make each node storage content and navigation link of level.Each node of level can comprise the link that random access is provided to other node in level.But this method may require to store alternately with the content of each node the navigation link of supporting access ancestors, compatriot and child.
Can effectively process larger document to set aligned storing X ML, here, each node in XML document is stored together with the pointer for its father, the first child and compatriot or one or more the combination in these pointers, reason be can be by following storage pointer directly along various XPath spindle guides boats and generally read and process the part of the much less of document.Because relevant pointer has been stored in dish above, therefore, create DOM also faster in storer.But, such memory requirement more for the treatment of storer and more for the disk space (causing thus higher I/O expense, particularly for less document) of storage.It also requires more storer and disposal cost in storing process.
Support each node in navigation request and the father who allows direct access node, the first child, the first compatriot and previous compatriot's document to store explicitly additional information.These pointers for other node allow effectively to process the pointer that uses ancestors' axle and express.But, because allowing the directly adjacent node of access, the pointer be associated with node with node, there is the node of direct layering relation, therefore, and need to be with any specific order memory node.By using the traversal of pointer XM, and the storage order of node is inessential.
Crossfire XML data
The permanent crossfire of XML document means it is the binary representation of XML document of the serial sequence to resolve the order storage token value that token is identical from document.Token value is the compact representation from the character order token of the text representation parsing of document.Here, be called as " document order " from the order of text document parsing token.The crossfire of storage that therefore, can be by reading document means to come the crossfire XML document.
The scale-of-two crossfire that creates XML document means it is highly effective, and reason is only need in storer, keep the sub-fraction of document within any given time.And the scale-of-two crossfire is the file layout of saving the compactness of disk space.Together with document data, do not store navigation hands.For being evaluated at simple XPath on little document and XQery and reading the most action of document and, when not needing ancestors to navigate, the XML memory model of the crossfire of the event based on the SAX class is effective for needs (document) order successively.
Mode treatment is to process with the document order example of whole XML document.The application of mode treatment comprises that the test XML document is for the accordance of its pattern and to the Database Systems enrollment mode.For mode treatment, key element in pattern and the order occurred in XML document be important.The order of the key element in document must mate the order of stipulating them in pattern.For this application, but the crossfire binary representation is useful, and reason is the order of the node in its reserving document.
When document becomes large, by whole document, read in storer and the event that scans in crossfire can form obvious expense aspect I/O and CPU time.When the XML data are stored as the binary XML such as SAX crossfire sequence of tokens, for navigation forward, must read successively token, until find the node of hope.In document, do not exist in the situation that do not read and skip the random access that the offspring of all fronts navigates directly to child nodes.
The XPath expression that assessment need to be stored as the ancestors' navigation on the XML document of scale-of-two crossfire can be expensive especially.Because father in sequence and ancestors occurred before present node, therefore, find father or ancestor node need to from sequence start process.Find node born of the same parents to depend on the compatriot occurs in sequence before or after present node.Although can identify ancestors and compatriot by following by this way forward chaining,, may need a plurality of rounds by document.Crossfire XPath evaluation engine can travel through whole document when the assessment inquiry.If the input XML document is large document, the processing that travels through so whole document is the height poor efficiency, thereby forms the large subtree that the XPath in matching inquiry not expresses.
Need to make I/O expense and storer use minimized more effective memory mechanism and to the convergent-divergent of large-sized document and more complicated inquiry.
The method of describing in this part is the method that can imagine, but may not be the method for front conception or imagination.Therefore, unless otherwise instructed, otherwise, should be not only by be contained in the method that supposition is described in this part in this part any be prior art.
The accompanying drawing explanation
In the accompanying drawings as an example rather than restriction the present invention is shown, in these accompanying drawings, similarly Reference numeral refers to similar key element, wherein,
Fig. 1 means the diagram of content of the node of the storage of can navigating according to an embodiment of the invention.
But Fig. 2 means according to an embodiment of the invention to mix the diagram of can navigate/stream format storage example XML document.
But Fig. 3 is according to an embodiment of the invention for the process flow diagram of the step that creates can navigate/crossfire of mixing storage.
Fig. 4 means the snapshot of the state in the structure of navigated storage of the example XML document introduced in Fig. 2 according to an embodiment of the invention.
Fig. 5 means according to an embodiment of the invention from the example XML document as mixing the table 1 that storage format provides.
Fig. 6 is for realizing the block diagram of computer system of the present invention.
Embodiment
In the following description, for illustrative purposes, set forth a large amount of specific details can understand up hill and dale the present invention.But, obviously, can be in the situation that do not have these specific details to implement the present invention.In other example, for fear of unnecessarily obscuring the present invention, with the form of block diagram, mean known structure and device.
General summary
For comprising the XPath expression that assessment need to be navigated and the various uses of processing whole document or fragment with the document order, need the common store system with storage and retrieval XML data.But provide to provide, can navigate or crossfire is stored both advantages and made each the minimized mixing storage means of shortcoming.
Content Management System can be managed the set of large XML document.With any single leaf node, compare, respectively more high-level node (approaching most the node of root node) can be accessed more continually.But, but in the crossfire of document means, for a large amount of contents, be stored in the document in leaf node, more the node of high-level can away from.Therefore, streaming method can require to read the node of more content with the frequent access of finding document.Provide from father to child and the tree-model of the direct navigation of node born of the same parents can increase the efficiency that finds these nodes.But, in order to create tree-model, all the elements in all leaf nodes may must be loaded in storer.
Some rather than whole nodes of method described herein storing X ML document in the storage of can navigating.In addition, but some and may be that whole nodes is stored in the storage of independent crossfire.In this linguistic context, but independent not meaning need to divide the space that is used in the crossfire memory paragraph from the identical memory section for the storage of can navigating, and, but do not require the crossfire memory paragraph with can the section of navigation adjacency.But differently mean the node with the storage format storage of can navigating with the node with the storage of crossfire storage format.In document, exist the node of the frequent access of many staggered contents to be placed in therebetween can to navigate in storage, but and not frequently the node of the fragment of the node of access and/or travel all over subtree may be stored as crossfire and mean.But can point to and only be stored in the node that crossfire means from the pointer of the node in tree representation.The text data that is stored as the part of crossfire points in tree-model, to avoid the repeated storage of text.For the content that is not stored as crossfire, create for this purpose independent text filed.
The method also comprises for each individual node in document to be determined and should mean with which storage a kind of mode of node.In addition, but once can navigate and the combination of crossfire storage in the node of storage document, the method comprises how using storage to mean to be evaluated at according to the inquiry on one group of XML document of describing method storage here.
But mean navigation nodes
Fig. 1 is the diagram that the node of the storage 100 of can navigating is shown.In the node that means to navigate in launching Figure 110 in a plurality of nodes of storage 120 one 124.Some in the content of the node that illustrating to navigate stores.Each navigation link can be pointer.For example, the father in node 124 links 130 sensing nodes 121, thereby means that node 121 is father's nodes of node 124.Similarly, the first child of node 124 links 132 sensing nodes 126, thereby means the first child nodes of node 126 memory nodes 124.Next link 134 born of the same parents and last compatriot's link 136 are respectively to link with next born of the same parents link with last compatriot of node 124.In an embodiment, but with in the crossfire node or with independent text chunk at the storage outside storage content of text that can navigate.Key element title or content 138 are pointed to content of text 180.
To mean XML document in hybrid navigation/stream format
But Fig. 2 means to mix the diagram of the example XML document of can navigate/stream format storage.In the present example, node level 200 means the diagram of the node level of document.For illustrative purposes, but but crossfire node 220 means the node (actual binary representation may not occur by this way) of the example document of stream formats.But the crossfire node is shown in the serialization of the level meaned in node level 200 to be meaned, makes node by the document order.
But navigation nodes 210 only comprises some node A, B and C with the form storage of can navigating fully.But remaining node D, E and F only are stored with stream format.In addition, for some node that not exclusively can navigate, in the memory paragraph that can navigate, create dummy node.Node occupies the space of the adjacency in the memory paragraph that can navigate, and, but each address of node can be with respect to the beginning of navigation nodes section.But navigation nodes can all have identical size fully, and dummy node can all have identical size, but but dummy node occupies the space fewer than complete navigation nodes.For example, but the node at address x and z place, address is not complete navigation nodes (they are dummy node), owing to storing minimum information (not storing navigation hands) about these nodes.
For illustration purposes, but Fig. 2 in several information of each navigation nodes of conceptive expression storage, (although information may not be expressed as in the drawings, be expressed.For example, label " F ", " P ", " C " etc. may not have as illustratedly word for word to be stored in node)." F " but mean that the indication present node is the mark that has the complete node of navigation hands fully or only point to the dummy node of the Nodes in the crossfire storage.No matter when fully but the first child of navigation nodes not exclusively can navigate, and the dummy node that means this first child all is provided.Child subsequently need to not meaned by dummy node.The identifier of the key element that " Id " indication is meaned by node.Identifier can be the title shown in example, or it can be to occupy the space fewer than title and be stored in explicitly the token--identifier such as the outside of the node in symbol table with title.As an alternative, Id can be the pointer that enters the text chunk of the title that comprises key element.
But the remaining entry in navigation nodes is pointer.Pointer is used to find the data that are stored in the position of pointer indication.Pointer can be offset address, but such as the byte or the word that start skew from navigation nodes 210.Pointer can be any other indication of the position in absolute bit addresses or storage." P " means father's pointer.The root node A of document does not have father, and its father's pointer is empty (null).Node B and C are the children of node A, and, because node A is positioned at u place, address, therefore, their father's pointer comprises address u." C " means the first child pointers.B is the first child of A, and therefore, because Node B is stored in w place, address, so the child pointers of node A comprises address w.The first child of Node B and C is not stored in the storage of can navigating fully, therefore, for them, distributes dummy node (node D and F).The first child of Node B is node D, and its first child pointers is pointed to the dummy node at x place, address.Similarly, the first child of node C is node F, and its first child pointers is pointed to the dummy node at z place, address." S " is next pointer born of the same parents.But Node B is the only navigation nodes in this example, but but should navigation nodes there is the compatriot who also is stored in complete navigation nodes.Next of Node B pointed born of the same parents address y, reason is that its node C born of the same parents is stored in y place, address." PS " means last compatriot.The pointer last born of the same parents of node C, with reference to address w,, is stored its last Node B born of the same parents here.
But but the content of text of navigation nodes is not stored in navigation nodes.If but same node point also is stored in crossfire storage, but but navigation nodes can comprise the pointer for the beginning of the content of text of the node in crossfire storage or text chunk so.This makes does not need the repeated storage content of text.But but content pointers 231~235 illustrates each navigation nodes in the storage of sensing crossfire.In an embodiment, if node does not have content of text, but content pointers can be pointed to the beginning of the crossfire node meaned in this simple example so.When in node, having content of text, content pointers can directly be pointed to text, and does not point to the beginning of node.
Except comprising the binary representation according to the document node of document order, but but crossfire mean to comprise the pointer that enters the storage of can navigating for each crossfire node, but be stored as fully navigation nodes according to the next node of document order with identification.For example, although Fig. 2 do not illustrate,, but the crossfire of Node B mean to comprise for the address y(as in the storage of can navigating comprise node C) pointer, but it is next navigation nodes fully in the Node B back according to the document order.But, if there is not more navigation nodes in document, pointer can be empty so, or pointer can not be prescribed.(but Fig. 5 means to get back to the pointer the storage of can navigating from the crossfire storage).
In the embodiment shown in Figure 2, only by also with some node of the form storage of can navigating with the whole document of storage in stream format.In an alternative embodiment, but as storing substituting of whole document in meaning with crossfire, but can only in the crossfire storage, store some node.In an embodiment, but the node in only having that not being stored in to navigate and meaning be stored in during crossfire means.In an alternative embodiment, can pass through two kinds of form memory nodes (such as node A, B and the C in this example).Having at least one node self with the child of the form storage of can navigating also should be stored with the form that can navigate.Therefore, with the leaf node of level, compare, the top node of document level more may be stored with the form that can navigate.
But determine which node in XML document with can navigate form and stream format storage can depend on the queried access pattern that shares, by relative processing and the I/O speed of the hardware platform of the content of the document stored and top operation storage system.Therefore, but determine that on the basis of each document and on the basis of each system which document node will be can navigate and stream format be stored.A document may not can be stored in the mode identical with another document, even these two documents meet common structure.Similarly, be stored in a document on storage system may be not with from be stored in another storage system with different processing and I/O velocity characteristic on the identical mode of identical document be expressed.
Determine the node that will be stored in the storage of can navigating
For each node of the example document shown in table 1, determine whether to support navigation (expression of can navigating) but the form crossfire mean or both memory nodes.The characteristic of each node of document is evaluated, to determine whether memory node in the storage of can navigating.In an embodiment, take the size of each node of tree subtree that is root evaluated.Can for example, about node counts and size of contents (space, occupied), measure the size of subtree on the dish of the size of content.Node counts is to process the indication of the amount of the needed processing of subtree, and size of contents is to read the indication of the I/O cost of subtree from dish.
Table 2 means to be respectively used to take node counts and the subtree size of each subtree that node is root.Mean the quantity of the character of subtree by counting in the text representation of XML document, determine the subtree size.The quantity of the character of content changes to the next one from a purchase order.Therefore, content-based size determines where memory node means, can make different storages for the different node instance of the identical XPath identification in the purchase order by different and determine.
Determine each node also processing speed based on host platform and the I/O speed of where storing.Processing speed is how soon to process the indication of subtree.I/O speed be can be how soon from the indication of permanent storage reading out data.Therefore, node counts that can be based on subtree and will store the processing power of system of document and the I/O speed of size of contents and system is calculated well-formedness tolerance.When the value of well-formedness tolerance surpasses threshold value, system determines this node of storage in the storage of can navigating.
Exemplary well-formedness tolerance can be calculated as:
Well-formedness tolerance=node counts * processing speed+size of contents * I/O speed
Here, processing speed and I/O speed are that the computer system institute of the conversion of top execution from the text to the binary representation is specific.In an embodiment, the processing speed number is measured with 1,000,000 thousands of instruction per seconds (kMIPS).In example, for the treatment of the processing speed of document, be 10kMIPS.In an embodiment, measure I/O speed with megabyte per second MB/s.In example, the speed of I/O system is 300MB/s.Therefore, the well-formedness tolerance of the example Purchase Order node in the table 2 with node counts 21 and subtree size 535 being calculated is calculated as:
21*10+535*300=160710
The purchase order that table 2 is explained by the subtree size
For illustration purposes, example document is selected as less.In actual system, can be quite large by the document of storage, and, can with kilobyte (kB) or even megabyte (MB) measure the subtree size.But, for its proper property measure to determine whether node should be stored in threshold value in the storage of can navigating can be by convergent-divergent suitably.For this example, threshold value manually is chosen as 85000.The well-formedness of each in the node in table 3 expression example document is measured and whether is surpassed user's threshold value based on well-formedness tolerance and determines which node is stored in the storage of can navigating.
Table 3 determines that the storage of each node means
All nodes that this processing is applied to the document shown in table 2 can cause selecting paths/PurchaseOrder and/node at PurchaseOrder/LineItems place, and in only having these nodes to be stored in can to navigate and storing.Therefore, for the amount of the storage that keeps navigation hands, for navigation, provide those nodes of minimum benefit to be minimized.
Determine the threshold value of well-formedness tolerance
Determine whether that memory node depends on the threshold value of foundation for the tolerance of the automatic calculating of access module, document node attribute and the system platform property calculation of its comparison based on expectation in the storage of can navigating fully.Select correct threshold value to can be used as exercise and leave the experience of system manager based on the keeper for.In other words, he can be tested and by revising threshold parameter and monitoring query performance adjusted.
But, can the build tool to be conducive to the intelligent selection of useful threshold value.For example, but automation tools analysis of history inquiry log to extract one group of XPath action, and assessed cost balance when the specific collected works (corpus) for document are carried out set.This instrument can be automatically lead to and from the frequency of the navigation action of this node and read and take the frequency of the subtree that this node is root for each document node assessment.By this information, can process and the I/O requirement for each node determination.Once require to be determined, just can compare they and system capability to determine optimal tradeoff.
But determine the node that will store in the crossfire storage
As mentioned above, in one embodiment, but store all document node in the crossfire storage.In another embodiment, but only have the node be not stored in the storage of can navigating to be stored as crossfire storage.In another embodiment, but independently and with this node whether be stored in the storage of can navigating independently for being contained in each node of assessment in crossfire storage with each other node, but in requiring each node at least to be stored in can to navigate storage or crossfire storage.
But can assess whether in the crossfire storage, comprise node by the similar mode of mode with for determining whether memory node description in the storage of can navigating.For example, can combine by the analysis of history operating load, and, if all the number percent of file retrievals, lower than certain threshold value, does not mean but have so node can be stored as crossfire.Can apply in the subtree level identical criterion, but to determine whether storing each individual node of document in the crossfire storage.The analysis of subtree level can consider to retrieve the frequency of complete subtree.But when not meeting the criterion of memory node in crossfire storage, from the text of node, can be placed in independent text chunk, and, but by the node storage pointer on the stack that points to text chunk rather than crossfire storage.
But structure can navigate and the crossfire storage
When storage system receives the XML document for storing, the text representation of document is resolved, and, but create concurrently, can navigate and crossfire storage expression.But Fig. 3 creates can to navigate and the process flow diagram of the processing of crossfire memory node.In step 310, from document, resolve next token.When the token of resolving is identified as the beginning of XML key element in step 312, mean that the stack frame of this key element is pulled on stack in step 314.But to the complete navigation nodes corresponding with this key element, allocation space in the memory paragraph that can navigate.Information about this node is stored in the stack frame, comprise that the pointer of new allocation space that sensing can navigate in storage is together with the value be associated with this node, such as any in the child of the size (being initialized as the size of node) of the quantity (being initialized as 1) of the node in subtree, subtree and instructs node, whether be arranged in the mark (being initialized as vacation) that can navigate and store.When resolving additional token, these values can be updated.When being placed on stack by nodal information, the child of node is also all not processed.
Resolve next token.If next token is child's key element of last node, above-mentioned processing occurs so.Allocation space in the storage of can navigating, and the node corresponding with this key element is pulled on stack, and has initialized value in new stack frame for new node.Value in the stack entry not only covers the pointer of the newly assigned storage of navigating, and the pointer entered in the navigated storage distributed for father is copied in father's pointer of child in the stack frame of child nodes.Usually, it will be understood by those skilled in the art that when creating node, follow the tracks of the navigation hands for the node in the storage of can navigating, and it is stored in stack.In addition, the node counts that is stored in the last key element in stack increases progressively, and the size of child nodes is added to the size of the subtree of last node (it is the father of current node).
In step 316, if next token is not closure element, so, in step 318, but copies in the crossfire node by token and resolve next token (step 310).When the end of next token indicative feature in step 316, determine whether this key element of storage in previous the navigated memory node distributed in step 320.Whether any in the child based on well-formedness tolerance described above and node is arranged in the storage of can navigating is determined.Well-formedness tolerance is used node counts in the stack frame that is stored in key element and the currency of subtree size.
If determine not memory node (that is, well-formedness tolerance is no more than the threshold value of setting up in advance) in the storage of can navigating, discharge so for the previous space of distributing of node.By deallocating the space that is not used to memory node in the storage of can navigating, limited the amount that builds the needed storer of storage that can navigate.Do not need to mean immediately whole document in storer.Even node is the first child of father's node, on this process points, does not also know whether father's node of node is arranged in the storage of can navigating, and therefore do not know whether need to create the dummy node in the storage of can navigating for this node.Data are stored in father's stack frame, but to indicate the first child nodes not to be stored in can to navigate in storage and to comprise the pointer for the first child's crossfire node.If father is stored in after a while as navigating fully, but but will create so illusory navigation nodes to point to the node of the first child in the crossfire storage.
If node will be stored in the memory node that can navigate fully in step 320, so, in step 326, suitable value is copied to the storage of can navigating to mean node from stack.The still father's node on stack of node is updated, and to indicate one in its child nodes, is arranged in the storage of can navigating.In step 328, if be stored in the first child of the information instructs node in node, be not stored in the storage of can navigating fully, so in step 330, for the first child nodes establishment dummy node of node.In step 324, for the stack frame of node, leave stack.
But flow process described above is supposed all nodes and is stored in the crossfire storage.In an alternative embodiment, but can assess whole document to determine whether storing the document in crossfire storage.If but in the crossfire storage, do not store document definite, so all nodes are stored as fully and can navigate, and content pointers is pointed to independent text chunk.In the present embodiment, step 318 can be by content replication to independent text chunk.Need to not distribute text chunk from the identical memory section for the storage of can navigating, and, do not require text chunk with can the section of navigation adjacency.In another embodiment, but can be independently for being contained in each node of assessment in the crossfire storage.But the node be stored in the storage of can navigating fully also can be stored in the crossfire storage, or, but navigation nodes can be pointed to the text chunk of its content.But the node be not stored in the crossfire storage must be stored as fully and can navigate.
But for the node that adds the crossfire storage to, but the pointer of the beginning of sensing crossfire node is stored in the content pointers of node in stack., if but node is not contained in the crossfire storage, the stack contents pointer is set in the interior position of text chunk of the content of node so.
In addition, but the crossfire node can comprise, get back to the pointer of memory paragraph that can navigate, but take, to be positioned on the document order be Next navigation nodes fully.But but exist dummy node the crossfire node retreat the end that pointer can point to illusory navigation nodes.But this will be next position of navigation nodes fully.Otherwise, but in all other crossfire nodes to retreat the pointed storage of can navigating as follows: if the last space of distribution is only temporarily distributed in the storage of can navigating, but the retreating pointer and can or end up being end with the beginning of pointing to this storage of crossfire node so.If be disengaged after a while distribution for can the navigate node of storage of its temporary transient distribution, retreat so pointer and will point to the beginning of storing.If used this storage by permanent the appointment after a while for can the navigate node of storage of its temporary transient distribution, retreat so pointer and will point to the temporarily end of the storage of distribution.But, if the last storage distributed in the storer that can navigate forever is assigned to node, but but so current crossfire node retreat the end that pointer will point to the navigation space of this permanent allocation.In one embodiment, until this pointer that retreats could be inserted in definite correct position.In an alternative embodiment, but but but crossfire node memory storage to next fully the pointer of navigation nodes can initially point to and then last distribution navigation nodes (being adjacent) but navigation nodes.If the space for father is disengaged distribution after a while, can again assign pointer to the beginning in the space deallocated so.In addition, if but there is no node to occupy to distribute to next space of navigation nodes fully, can remove so pointer or it is assigned as to sky.
The snapshot of state when Fig. 4 means to be structured in the navigated storage of the example XML document of introducing in Fig. 2.Below describe until the sequence of the event of the state shown in Fig. 4.The description of some steps is more detailed than other step, still, for each similar node, uses same group of step:
A is shifted onto on stack 490, and can navigate the storage 420 in allocation space.
B is shifted onto on stack 490, and can navigate the storage 420 in for the B distribution node.In the stack frame, storage is for the pointer 430 of the navigated storage of B.Father's link (pointer) of B is initialised, and child's link of A is updated.The size of the node of B is added to the subtree size of A, and the node counts of A increases progressively.Mark 480 is initialised to indicate the child who there is no B to be stored in can to navigate in storage.
D is shifted onto on stack 490, and upgrades the child pointers 450 of B, and, the size of node D is added to for B(472) and the subtree size of A, and, for B(474) and the node counts of A increase progressively.
When these steps finish, mean constructed state in Fig. 4.Step subsequently comprises:
The well-formedness tolerance of determining D is no more than threshold value: make D leave stack and deallocate the navigated storage of D.
With D processing node E in the same manner.
The well-formedness tolerance of determining B surpasses threshold value.The link value of B is copied to the node distributed the storage 420 of can navigating from the stack frame.The the first child D that notes B is not stored in the storage of can navigating, and, but but the illusory navigation nodes of the D of the crossfire memory node of establishment sensing D.
Make B leave stack
Set the child of mark with indication storage A in the storage of can navigating in A.
Now, the subtree of B is processed and the subtree of C is processed by the next one fully.Once the subtree of C is processed, just A is copied to for the navigated storage of its distribution and away from stack.
But mix and can navigate and crossfire storage assessment inquiry by use
But once parse documents and can navigate and the combination of crossfire storage organization in its node of storage, can use these structures for the assessment inquiry.Fig. 5 means as the example XML document of mixing the table 1 that storage format means.Below a series of step for assessment inquiry subsequently on the mixing binary representation shown in Fig. 5:
for?$t?in/PurchaseOrder/LineItems
where?$t/LineItem/Description=“The?Life?of?Brian”
return($t/../Reference)
PurchaseOrder is the root node of known as memory in node 530.LineItems is the node that the next one will find.Travel through the first child pointers 534 location dummy node, thereby indicate the first child (Reference) not to be stored in can to navigate in storage.Dotted line shade in Fig. 5 is used to show dummy node.The pointer of dummy node is traversed, but to find the crossfire node of storage Reference key element.The Reference node is scanned end, and, but pointer 572 points to next navigation nodes 550 that means LineItems.In order to assess " where " statement, the node that the next one will find is the LineItem as the child of LineItems.The first child pointers 554 is pointed to dummy node 560, thereby the first child of indication LineItems is not stored in the storage of can navigating.But the pointer 568 of dummy node 560 points to the beginning of the LineItem node in the crossfire storage.But the LineItem node in the crossfire storage is scanned to find the Description node as the child of LineItem.When finding the Description node, its value (" Robocop ") is compared with " The Life of Brian ", therefore, predicate (predicate) is not met by a LineItem.There is not pointer in end at a LineItem, thereby but means not exist more navigation nodes fully.As an alternative, can there is the pointer with null value.But, but there is another LineItem in crossfire node subsequently.Scan next LineItem node, find Description, and the content of Description is " the Life of Brian " that meets predicate.Owing in meeting one group of LineItems of predicate, finding LineItem, therefore, $ t is set to mean node 550(LineItems).
In order to assess $ t/../Reference, but the father's pointer 552 that uses the LineItems navigation nodes to find the father of LineItems, i.e. node 530(PurchaseOrder).Although be not stored in the storage of can navigating,, can link 534 with the access dummy node and travel through content pointers 548 to find Reference by traveling through the first child, but find at an easy rate the Reference node in the crossfire storage.
The hardware summary
According to an embodiment, by one or more specific use calculation element, realize technology described herein.The specific use calculation element can be by hardwire with execution technique, perhaps, can comprise digital electron device, such as being applied specific integrated circuit (ASIC) or field programmable gate array (FPGA) with one or more of execution technique by permanent programming, or can comprise one or more common hardware processor be programmed to according to the programmed instruction execution technique in firmware, storer, other storage or combination.This specific use calculation element also the programming of customization hardwired logic capable of being combined, ASIC or FPGA and customization to realize technology.The specific use calculation element can be desk side computer system, portable computer system, hand-held device, interconnection device or add hardwire and/or programmed logic to realize any other device of technology.
For example, Fig. 6 is the block diagram that the computer system 600 that can realize embodiments of the invention on it is shown.Computer system 600 comprises bus 602 or for transmitting other communication agency of information, and with the hardware processor 604 of bus 602 couplings for the treatment of information.Hardware processor 604 can be for example general purpose microprocessor.
Computer system 600 also comprises and the information that will be carried out by processor 604 for storage of bus 602 couplings and the primary memory 606 of instruction, such as random-access memory (ram) or other dynamic storage device.Primary memory 606 also can be used to be stored in temporary variable or other intermediate information in the implementation of the instruction that will be carried out by processor 604.These instructions are when being stored in can be in the nonvolatile storage medium of processor 604 access the time, making computer system 600 become the specific use machine that is customized to carry out the action of stipulating in instruction.
Computer system 600 also comprise with bus 602 coupling for storage for the treatment of the static information of device 604 and the ROM (read-only memory) of instruction (ROM) 608 or other static memory.For the memory storage 610 of storage information and instruction, such as disk or CD, be set up and be coupled with bus 602.
Computer system 600 can be coupled by bus 602 and the display such as cathode ray tube (CRT) 612 for show information to the computer user.For the input media that comprises alphanumeric and other key 614 to processor 604 transmission information and command selection and bus 602 couplings.The user input apparatus of another type is for to processor 604 direction of transfer information and command selection and for the cursor of controlling the cursor movement on display 612, controlling 616, such as mouse, trace ball or cursor direction key.This input media has i.e. the first (for example, x) He the second axle (for example, degree of freedom y), the position in this degree of freedom permission device predetermined surface of two axles usually.
Computer system 600 can realize technology described herein by using the hardwired logic, one or more ASIC or FPGA, firmware and/or the programmed logic that cause computer system 600 or it is programmed for to the customization of specific use machine with the computer system combination.According to an embodiment, answer processor 604 carry out one or more instruction of being contained in primary memory 606 one or more sequence, the technology of being carried out here by computer system 600.Can these instructions be read primary memory 606 from another storage medium such as memory storage 610.The instruction sequence that execution is contained in primary memory 606 causes processor 604 to carry out treatment step described herein.In an alternative embodiment, as software instruction substitute or with its combination, can use hard-wired circuitry.
Term used herein " storage medium " refer to the storage cause machine to move in a particular manner data and/or any nonvolatile medium of instruction.These storage mediums can comprise non-volatile media and/or Volatile media.Non-volatile media comprises for example CD or disk, such as memory storage 610.Volatile media comprises dynamic storage, such as primary memory 606.The common version of storage medium comprises for example floppy disk, flexible disk, hard disk, solid-state drive, tape or any other magnetic data storage media, CD-ROM, any other optical data carrier, any physical medium, RAM, PROM and EPROM with the pattern in hole, FLASH-EROM, NVRAM, any other memory chip or box.
Storage medium is different from transmission medium, but can be combined with it.The information that transmission medium participates between storage medium transmits.For example, transmission medium comprises concentric cable, copper cash and optical fiber, comprises the wire that comprises bus 602.Transmission medium also can be taked the form of sound wave or light wave, such as in radiowave and infrared data communication, produce those.
Be carried in the process of processor 604 for execution in one or more sequence by one or more instruction, can comprise various forms of media.For example, can be at first on the disk of remote computer or solid-state drive, carry instruction.Remote computer can be by instruction load in its dynamic storage and by using modulator-demodular unit to send instruction in phone line.The modulator-demodular unit of computer system 600 this locality can receive data on telephone wire, and uses infra-red transmitter so that data-switching is become to infrared signal.Infrared detector can be received in the data of carrying in infrared signal and suitable circuit can be placed in data on bus 602.Bus 602 is carried to primary memory 606 by data, from this primary memory 606, and processor 604 retrievals and execution instruction.The instruction received by primary memory 606 is optionally before being carried out by processor 604 or be stored in afterwards on memory storage 610.
Computer system 600 also comprises the communication interface 618 with bus 602 couplings.Communication interface 618 provides the bidirectional data communication coupling to the network linking 620 be connected with LAN 622.For example, communication interface 618 can be integrated services digital network network (ISDN) card, cable modem, satellite modem or the modulator-demodular unit that the data communication connection is provided for the telephone wire to corresponding type.As another example, communication interface 618 can be LAN (LAN) card that provides data communication to connect for the LAN to compatible.Also can realize wireless link.In any this realization, communication interface 618 sending and receiving carryings mean electric, the electromagnetic or optical signal of the digit data stream of various types of information.
Network linking 620 provides data communication by one or more network to other data set usually.For example, network linking 620 can be provided to host computer 624 or by the connection of the data equipment of ISP (ISP) 626 operation by LAN 622.ISP 626 provides data communication services by the world wide packet communication network that is commonly referred to as now " the Internet " 628 then.Both are all used electric, the electromagnetic or optical signal of carrying digit data stream LAN 622 and the Internet 628.By the signal of diverse network and on network linking 620 and the signal of the communication interface 618 by carrying the logical numerical data to and from computer system 600 are exemplary form of transmission medium.
Computer system 600 can send message and receive data by network, network linking 620 and communication interface 618, comprises program code.In the example of the Internet, server 630 can pass through the request code that the Internet 628, ISP 626, LAN 622 and communication interface 618 transmit for application program.
The code received can be carried out by processor 604 when received, and/or is stored in memory storage 610 or other non-volatile memories for carrying out after a while.
In above instructions, with reference to a large amount of specific detail that can change, embodiments of the invention have been described between realizing.Therefore, instructions and accompanying drawing should be regarded as explaining rather than limited significance.The scope of the present invention that the indication of proprietary scope of the present invention and applicant are intended to is word and the equivalency range from one group of claim of the application's book issue, and this scope is taked the specific form of these claim issues, comprises any correction subsequently.
Claims (20)
1. the method for the XML document of storing a plurality of documents comprises:
For XML document, but store can navigate comprising of described XML document, mean the expression meaned with crossfire in permanent warehouse;
Wherein, described XML document comprises the tree of the node of hierarchical relational, and at least one other node in each node of the tree of described node and the tree of described node has middle hierarchical relational;
Wherein, but described crossfire mean and can navigate to mean to comprise the node from the tree of described node;
Wherein, but described crossfire mean to comprise and be not contained in the described node navigated in meaning from the tree of described node;
Wherein, be contained in described each node that navigates the node in meaning and comprise the pointer that there is the node of middle hierarchical relational for described each node;
Wherein, but at least a portion of the node of described crossfire in meaning according to the document order;
Wherein, carry out these steps by one or more calculation element.
2. according to the process of claim 1 wherein, for one or more node, the described navigation means to comprise at least one in following pointer:
A) for the pointer of father's node, wherein, described father's node is contained in the described expression of navigating;
B), for the pointer of node born of the same parents, wherein, described node born of the same parents is contained in described navigation means; And
C) for the pointer of child nodes, wherein, described child nodes is contained in the described expression of navigating.
3. according to the process of claim 1 wherein, but described crossfire means to comprise all nodes in described XML document.
4. according to the process of claim 1 wherein, but exist, be not contained in described crossfire at least one node in meaning in described XML document.
5. according to the method for claim 1, wherein, for each node be contained in described one or more node navigated in meaning, the described navigation means to comprise the child pointers for child nodes, wherein, but the described child nodes that is used for described each node of described one or more node is contained in described crossfire and means, and described child nodes is not stored in the described expression of navigating.
6. according to the method for claim 1, wherein, for each node be contained in described one or more node navigated in meaning, the described navigation means to comprise the pointer born of the same parents for node born of the same parents, wherein, but the node described born of the same parents that is used for described each node of described one or more node is contained in described crossfire and means, and described node born of the same parents is not stored in the described expression of navigating.
7. according to the process of claim 1 wherein, but being contained in described the navigation, one or more node means and described crossfire means in both; And,
Wherein, for each node of described one or more node, but described the navigation means to comprise the pointer for being contained in described each node of described crossfire in meaning.
8. according to the process of claim 1 wherein, but one or more node be contained in described navigate mean in and be not contained in during described crossfire means; And,
For each node of described one or more node, the described navigation means to comprise for described the navigation, meaning to separate the pointer of the text chunk of storing.
9. according to the method for claim 1,
Wherein, described XML document is the second XML document that meets the first XML document of XML scheme and meet described XML scheme;
Wherein, for specific XPath, express, with at least one node of specific XPath expression matching in described the first XML document, be contained in the navigated expression of described the first XML document, and, in described the second XML document with at least one node specific XPath expression matching, be not contained in the navigated expression of described the second XML document.
10. according to the method for claim 1, also comprise the assessment path expression, wherein, but the assessment path expression comprises the pointer of described certain node in meaning to mean for described crossfire with retrieval that navigates of traversal, but but and use the pointer of certain node in meaning for described crossfire to visit the described node of described crossfire in meaning.
11. the method according to claim 10, wherein, the assessment path expression also comprises: but after certain node in the described crossfire of access means, but mean the pointer of retrieval for described another node meaning that navigates from described crossfire, use the described node navigated in meaning further to travel through the described expression of navigating.
12. the method meaned for the storage of the node in the XML document of determining a plurality of XML document comprises:
For each node in described node, at least based on take the characteristic of the subtree that described each node is root, determine that the storage of described each node means;
Wherein, the storage of determining described each node means also to comprise:
Determine whether take the characteristic of the subtree that described each node is root meets the first criterion;
Response determines that take the characteristic of the subtree that described each node is root meets the first criterion, determines described each node of storage in the storage of can navigating;
Wherein, carry out these steps of described method by one or more calculation element.
13., according to the method for claim 12, wherein, determine whether take the characteristic of the subtree that described each node is root meets the first criterion and also comprise determining whether surpass threshold value take on the subtree that described each node is root the well-formedness tolerance of assessing.
14., according to the method for claim 13, wherein, described well-formedness tolerance is the amount in the quantity based on being contained in the node in subtree and the space that occupied by the content of described subtree at least.
15., according to the method for claim 13, wherein, described well-formedness is measured in computer based processing speed at least or I/O speed.
16., according to the method for claim 13, wherein, described threshold value is based at least one in following aspect:
A) manual configuration; With
B) characteristic of the node of the set based on evaluation history queried access pattern and the document of accessing in described historical query access module determines automatically.
17. a method of for the navigation storage, adding node comprises:
The response analyzing XML file, receive the first token from the XML document of a plurality of XML document;
Determine that described the first token is the beginning of an XML key element;
Distribute the first amount of space for the first node that means a described XML key element in the storage of can navigating;
Receive the second token from described XML document;
Response determines that described the second token means the beginning of the 2nd XML key element, in the described storage of navigating, for Section Point, distributes the second space amount;
Response determines that described the second token means the end of a described XML key element, determines whether the described first node of storage in the storage of can navigating;
The not described first node of storage in the described storage of navigating is determined in response, from the described storage of navigating, deallocates described the first amount of space;
Wherein, carry out these steps of described method by one or more calculation element.
18. the method according to claim 17 also comprises:
Determine that the second token is the beginning of the second key element, and receive the 3rd token as the end of described the second key element;
Determine that described Section Point should be stored in the storage of can navigating.
19. according to the method for claim 17, also comprise the data of upgrading in described first node, with the size of the subtree of the counting of the quantity that comprises node and described Section Point.
20. a computer-readable recording medium of storing instruction, wherein, the method that described instruction is put down in writing in causing carrying out any one in claim 1~19 when being carried out by one or more processor.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/961,394 | 2010-12-06 | ||
US12/961,394 US9165086B2 (en) | 2010-01-20 | 2010-12-06 | Hybrid binary XML storage model for efficient XML processing |
PCT/US2011/063310 WO2012078518A2 (en) | 2010-12-06 | 2011-12-05 | A hybrid binary xml storage model for efficient xml processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103493043A true CN103493043A (en) | 2014-01-01 |
CN103493043B CN103493043B (en) | 2017-02-08 |
Family
ID=45464086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180064212.0A Active CN103493043B (en) | 2010-12-06 | 2011-12-05 | A hybrid binary xml storage model for efficient xml processing |
Country Status (4)
Country | Link |
---|---|
US (3) | US9165086B2 (en) |
EP (1) | EP2652643B1 (en) |
CN (1) | CN103493043B (en) |
WO (1) | WO2012078518A2 (en) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8365193B2 (en) * | 2003-08-14 | 2013-01-29 | Oracle International Corporation | Recoverable asynchronous message driven processing in a multi-node system |
US9128895B2 (en) | 2009-02-19 | 2015-09-08 | Oracle International Corporation | Intelligent flood control management |
US8713426B2 (en) | 2009-06-25 | 2014-04-29 | Oracle International Corporation | Technique for skipping irrelevant portions of documents during streaming XPath evaluation |
US9165086B2 (en) | 2010-01-20 | 2015-10-20 | Oracle International Corporation | Hybrid binary XML storage model for efficient XML processing |
US8346813B2 (en) | 2010-01-20 | 2013-01-01 | Oracle International Corporation | Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments |
US8566343B2 (en) | 2010-06-02 | 2013-10-22 | Oracle International Corporation | Searching backward to speed up query |
CN102651009B (en) * | 2011-02-28 | 2014-09-24 | 国际商业机器公司 | Method and device for retrieving data in a storage system |
GB2510887A (en) | 2013-02-18 | 2014-08-20 | Ibm | Markup language parser |
WO2015058331A1 (en) * | 2013-10-21 | 2015-04-30 | Hewlett-Packard Development Company, L.P. | Extract data from xml stream |
US9588975B2 (en) | 2014-06-11 | 2017-03-07 | International Business Machines Corporation | Processing large XML files by splitting and hierarchical ordering |
US9678670B2 (en) | 2014-06-29 | 2017-06-13 | Plexistor Ltd. | Method for compute element state replication |
US9560136B2 (en) * | 2014-08-07 | 2017-01-31 | Sap Se | High speed communication protocol |
US10140029B2 (en) * | 2014-12-10 | 2018-11-27 | Netapp, Inc. | Method and apparatus for adaptively managing data in a memory based file system |
US9851919B2 (en) * | 2014-12-31 | 2017-12-26 | Netapp, Inc. | Method for data placement in a memory based file system |
US10187264B1 (en) * | 2017-02-14 | 2019-01-22 | Intuit Inc. | Gateway path variable detection for metric collection |
CN108509414B (en) * | 2018-03-09 | 2021-09-03 | 黑龙江工程学院 | Plagiarism detection text matching method based on sorting |
US11748560B2 (en) * | 2020-08-14 | 2023-09-05 | Kyndryl, Inc. | Converting between tabular and structured data formats |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1618066A (en) * | 2001-11-23 | 2005-05-18 | 捷讯研究有限公司 | System and method for processing extensible markup language (xml) documents |
CN101010674A (en) * | 2004-06-16 | 2007-08-01 | 甲骨文国际公司 | Efficient extraction of XML content stored in a LOB |
WO2008118537A1 (en) * | 2007-03-26 | 2008-10-02 | Oracle International Corporation | Automatically determining a database representation for an abstract datatype |
US7840590B2 (en) * | 2006-12-18 | 2010-11-23 | Oracle International Corporation | Querying and fragment extraction within resources in a hierarchical repository |
Family Cites Families (313)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4318182A (en) | 1974-04-19 | 1982-03-02 | Honeywell Information Systems Inc. | Deadlock detection and prevention mechanism for a computer system |
CA1337132C (en) | 1988-07-15 | 1995-09-26 | Robert Filepp | Reception system for an interactive computer network and method of operation |
US5222217A (en) | 1989-01-18 | 1993-06-22 | International Business Machines Corporation | System and method for implementing operating system message queues with recoverable shared virtual storage |
US8700458B2 (en) | 1989-05-01 | 2014-04-15 | Catalina Marketing Corporation | System, method, and database for processing transactions |
US5113522A (en) | 1989-05-17 | 1992-05-12 | International Business Machines Corporation | Data processing system with system resource management for itself and for an associated alien processor |
US6044205A (en) | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
EP0444376B1 (en) | 1990-02-27 | 1996-11-06 | International Business Machines Corporation | Mechanism for passing messages between several processors coupled through a shared intelligent memory |
US5257365A (en) | 1990-03-16 | 1993-10-26 | Powers Frederick A | Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records |
US5151987A (en) | 1990-10-23 | 1992-09-29 | International Business Machines Corporation | Recovery objects in an object oriented computing environment |
US5283856A (en) | 1991-10-04 | 1994-02-01 | Beyond, Inc. | Event-driven rule-based messaging system |
US5627764A (en) | 1991-10-04 | 1997-05-06 | Banyan Systems, Inc. | Automatic electronic messaging system with feedback and work flow administration |
GB2276737A (en) | 1993-03-30 | 1994-10-05 | Ibm | Fault-tolerant transaction-oriented data processing |
GB2281644A (en) | 1993-09-02 | 1995-03-08 | Ibm | Fault tolerant transaction-oriented data processing. |
US5649102A (en) | 1993-11-26 | 1997-07-15 | Hitachi, Ltd. | Distributed shared data management system for controlling structured shared data and for serializing access to shared data |
US5870599A (en) | 1994-03-01 | 1999-02-09 | Intel Corporation | Computer system employing streaming buffer for instruction preetching |
US6029205A (en) | 1994-12-22 | 2000-02-22 | Unisys Corporation | System architecture for improved message passing and process synchronization between concurrently executing processes |
US6515968B1 (en) | 1995-03-17 | 2003-02-04 | Worldcom, Inc. | Integrated interface for real time web based viewing of telecommunications network call traffic |
US5802278A (en) | 1995-05-10 | 1998-09-01 | 3Com Corporation | Bridge/router architecture for high performance scalable networking |
US5774668A (en) | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US5666486A (en) | 1995-06-23 | 1997-09-09 | Data General Corporation | Multiprocessor cluster membership manager framework |
US7095871B2 (en) | 1995-07-27 | 2006-08-22 | Digimarc Corporation | Digital asset management and linking media signals with related data using watermarks |
US5754841A (en) | 1995-10-20 | 1998-05-19 | Ncr Corporation | Method and apparatus for parallel execution of user-defined functions in an object-relational database management system |
US5790807A (en) | 1995-12-20 | 1998-08-04 | Tandem Computers Incorporated | Computer sysem data I/O by reference among CPUS and I/O devices |
JP3935986B2 (en) | 1995-12-26 | 2007-06-27 | 富士通株式会社 | Network information resource monitoring system for notifying changes in information resources in a network |
US5862325A (en) | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
US5721825A (en) | 1996-03-15 | 1998-02-24 | Netvision, Inc. | System and method for global event notification and delivery in a distributed computing environment |
GB2311443A (en) | 1996-03-23 | 1997-09-24 | Ibm | Data message transfer in batches with retransmission |
US5995980A (en) | 1996-07-23 | 1999-11-30 | Olson; Jack E. | System and method for database update replication |
US6601083B1 (en) | 1996-08-29 | 2003-07-29 | Frederick John Reznak | Multitasking data processing system and method of controlling allocation of a shared resource |
US5870559A (en) * | 1996-10-15 | 1999-02-09 | Mercury Interactive | Software system and associated methods for facilitating the analysis and management of web sites |
US6092168A (en) * | 1996-10-25 | 2000-07-18 | Hewlett-Packard Co. | Data storage system and method for deallocating space by writing and detecting a predefined data pattern |
US5852818A (en) | 1996-12-23 | 1998-12-22 | Oracle Corporation | Non-recursive method for parameter evaluation within an information management system |
US6222840B1 (en) | 1996-12-30 | 2001-04-24 | Compaq Computer Corporation | Method and system for performing concurrent read and write cycles in network switch |
US6035379A (en) | 1997-01-09 | 2000-03-07 | Microsoft Corporation | Transaction processing for user data employing both logging and shadow copying |
US6006274A (en) | 1997-01-30 | 1999-12-21 | 3Com Corporation | Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer |
US6041357A (en) | 1997-02-06 | 2000-03-21 | Electric Classified, Inc. | Common session token system and protocol |
AU6440398A (en) | 1997-02-26 | 1998-09-18 | Siebel Systems, Inc. | Method of using a cache to determine the visibility to a remote database client of a plurality of database transactions |
US6067540A (en) | 1997-02-28 | 2000-05-23 | Oracle Corporation | Bitmap segmentation |
US5970439A (en) | 1997-03-13 | 1999-10-19 | International Business Machines Corporation | Performance monitoring in a data processing system |
US6026430A (en) | 1997-03-24 | 2000-02-15 | Butman; Ronald A. | Dynamic client registry apparatus and method |
US5870562A (en) | 1997-03-24 | 1999-02-09 | Pfn, Inc. | Universal domain routing and publication control system |
US5867665A (en) | 1997-03-24 | 1999-02-02 | Pfn, Inc | Domain communications server |
US5884035A (en) | 1997-03-24 | 1999-03-16 | Pfn, Inc. | Dynamic distributed group registry apparatus and method for collaboration and selective sharing of information |
US5867667A (en) | 1997-03-24 | 1999-02-02 | Pfn, Inc. | Publication network control system using domain and client side communications resource locator lists for managing information communications between the domain server and publication servers |
US5940839A (en) | 1997-04-04 | 1999-08-17 | Hewlett-Packard Company | Fault-tolerant system and method of managing transaction failures in hierarchies |
US5890167A (en) | 1997-05-08 | 1999-03-30 | Oracle Corporation | Pluggable tablespaces for database systems |
US7031987B2 (en) | 1997-05-30 | 2006-04-18 | Oracle International Corporation | Integrating tablespaces with different block sizes |
US6088728A (en) | 1997-06-11 | 2000-07-11 | Oracle Corporation | System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server |
US6243751B1 (en) | 1997-06-11 | 2001-06-05 | Oracle Corporation | Method and apparatus for coupling clients to servers |
US6338074B1 (en) | 1997-07-23 | 2002-01-08 | Filenet Corporation | System for enterprise-wide work flow automation |
US5918059A (en) | 1997-08-15 | 1999-06-29 | Compaq Computer Corporation | Method and apparatus for responding to actuation of a power supply switch for a computing system |
US5999931A (en) | 1997-10-17 | 1999-12-07 | Lucent Technologies Inc. | Concurrency control protocols for management of replicated data items in a distributed database system |
US6334114B1 (en) | 1997-10-31 | 2001-12-25 | Oracle Corporation | Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm |
US6058389A (en) | 1997-10-31 | 2000-05-02 | Oracle Corporation | Apparatus and method for message queuing in a database system |
US6178529B1 (en) | 1997-11-03 | 2001-01-23 | Microsoft Corporation | Method and system for resource monitoring of disparate resources in a server cluster |
US6188699B1 (en) | 1997-12-11 | 2001-02-13 | Pmc-Sierra Ltd. | Multi-channel encoder/decoder |
US6490574B1 (en) | 1997-12-17 | 2002-12-03 | International Business Machines Corporation | Method and system for managing rules and events in a multi-user intelligent agent environment |
US6073129A (en) | 1997-12-29 | 2000-06-06 | Bull Hn Information Systems Inc. | Method and apparatus for improving the performance of a database management system through a central cache mechanism |
US6182086B1 (en) | 1998-03-02 | 2001-01-30 | Microsoft Corporation | Client-server computer system with application recovery of server applications and client applications |
US6230183B1 (en) | 1998-03-11 | 2001-05-08 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a multisystem cluster |
US6560592B1 (en) | 1998-03-19 | 2003-05-06 | Micro Data Base Systems, Inc. | Multi-model computer database storage system with integrated rule engine |
US6247017B1 (en) | 1998-03-20 | 2001-06-12 | Sun Microsystems, Inc. | Server-client communication over a network |
US6529932B1 (en) | 1998-04-01 | 2003-03-04 | Microsoft Corporation | Method and system for distributed transaction processing with asynchronous message delivery |
US7756892B2 (en) | 2000-05-02 | 2010-07-13 | Digimarc Corporation | Using embedded data with file sharing |
US6304882B1 (en) | 1998-05-05 | 2001-10-16 | Informix Software, Inc. | Data replication system and method |
EP0959416A3 (en) | 1998-05-08 | 2005-08-10 | International Business Machines Corporation | Using database query technology for message subscriptions in messaging systems |
US6192378B1 (en) | 1998-05-13 | 2001-02-20 | International Business Machines Corporation | Method and apparatus for combining undo and redo contexts in a distributed access environment |
US6243501B1 (en) * | 1998-05-20 | 2001-06-05 | Canon Kabushiki Kaisha | Adaptive recognition of documents using layout attributes |
WO2000010084A2 (en) | 1998-08-17 | 2000-02-24 | Microsoft Corporation | Object load balancing |
US6327622B1 (en) | 1998-09-03 | 2001-12-04 | Sun Microsystems, Inc. | Load balancing in a network environment |
US6668291B1 (en) * | 1998-09-09 | 2003-12-23 | Microsoft Corporation | Non-blocking concurrent queues with direct node access by threads |
US6263433B1 (en) | 1998-09-30 | 2001-07-17 | Ncr Corporation | Provision of continuous database service and scalable query performance using active redundant copies |
US6421656B1 (en) | 1998-10-08 | 2002-07-16 | International Business Machines Corporation | Method and apparatus for creating structure indexes for a data base extender |
US6308315B1 (en) * | 1998-10-14 | 2001-10-23 | Sun Microsystems, Inc. | System and method for automatically and selectively promoting object variables to method fields and variables in a digital computer system |
JP3004008B1 (en) | 1998-10-20 | 2000-01-31 | 三菱電機株式会社 | Update history management device and update history management method |
US6185555B1 (en) | 1998-10-31 | 2001-02-06 | M/A/R/C Inc. | Method and apparatus for data management using an event transition network |
US6728748B1 (en) | 1998-12-01 | 2004-04-27 | Network Appliance, Inc. | Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet |
US6442568B1 (en) | 1998-12-11 | 2002-08-27 | Compaq Computer Corporation | Customer information control system application programming interface with transient data functions, in a loosely coupled data processing environment |
DE10003015A1 (en) | 1999-02-06 | 2000-08-17 | Ibm | Computer-aided method for automatically transforming a process model |
US6393423B1 (en) | 1999-04-08 | 2002-05-21 | James Francis Goedken | Apparatus and methods for electronic information exchange |
US6539381B1 (en) | 1999-04-21 | 2003-03-25 | Novell, Inc. | System and method for synchronizing database information |
US20020194081A1 (en) | 1999-04-21 | 2002-12-19 | Perkowski Thomas J. | Internet-based consumer service brand marketing communication system which enables service-providers, retailers, and their respective agents and consumers to carry out service-related functions along the demand side of the retail chain in an integrated manner |
US7167853B2 (en) | 1999-05-20 | 2007-01-23 | International Business Machines Corporation | Matching and compensation tests for optimizing correlated subqueries within query using automatic summary tables |
US6473794B1 (en) | 1999-05-27 | 2002-10-29 | Accenture Llp | System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework |
US6519571B1 (en) | 1999-05-27 | 2003-02-11 | Accenture Llp | Dynamic customer profile management |
US6721713B1 (en) | 1999-05-27 | 2004-04-13 | Andersen Consulting Llp | Business alliance identification in a web architecture framework |
US6536037B1 (en) | 1999-05-27 | 2003-03-18 | Accenture Llp | Identification of redundancies and omissions among components of a web based architecture |
US6556659B1 (en) | 1999-06-02 | 2003-04-29 | Accenture Llp | Service level management in a hybrid network architecture |
US7165252B1 (en) | 1999-06-21 | 2007-01-16 | Jia Xu | Method of scheduling executions of processes with various types of timing properties and constraints |
US6405191B1 (en) | 1999-07-21 | 2002-06-11 | Oracle Corporation | Content based publish-and-subscribe system integrated in a relational database system |
US7430670B1 (en) | 1999-07-29 | 2008-09-30 | Intertrust Technologies Corp. | Software self-defense systems and methods |
US6549922B1 (en) * | 1999-10-01 | 2003-04-15 | Alok Srivastava | System for collecting, transforming and managing media metadata |
US6721727B2 (en) | 1999-12-02 | 2004-04-13 | International Business Machines Corporation | XML documents stored as column data |
US20020116371A1 (en) | 1999-12-06 | 2002-08-22 | David Dodds | System and method for the storage, indexing and retrieval of XML documents using relation databases |
US6584581B1 (en) | 1999-12-06 | 2003-06-24 | Ab Initio Software Corporation | Continuous flow checkpointing data processing |
US6826182B1 (en) | 1999-12-10 | 2004-11-30 | Nortel Networks Limited | And-or multi-cast message routing method for high performance fault-tolerant message replication |
JP2001167087A (en) | 1999-12-14 | 2001-06-22 | Fujitsu Ltd | Structured document search device, structured document search method, program recording medium for structured document search, and index creation method for structured document search |
US7840986B2 (en) | 1999-12-21 | 2010-11-23 | Tivo Inc. | Intelligent system and methods of recommending media content items based on user preferences |
US6535970B1 (en) | 2000-01-04 | 2003-03-18 | International Business Machines Corporation | Method and apparatus for enhanced performance caching for path names |
US6587866B1 (en) | 2000-01-10 | 2003-07-01 | Sun Microsystems, Inc. | Method for distributing packets to server nodes using network client affinity and packet distribution table |
WO2001052056A2 (en) | 2000-01-14 | 2001-07-19 | Saba Software, Inc. | Method and apparatus for a business applications management system platform |
AU2001241510A1 (en) | 2000-02-16 | 2001-08-27 | Askit Systems Inc. | Customer service system and method |
US6728823B1 (en) | 2000-02-18 | 2004-04-27 | Hewlett-Packard Development Company, L.P. | Cache connection with bypassing feature |
US7117246B2 (en) | 2000-02-22 | 2006-10-03 | Sendmail, Inc. | Electronic mail system with methodology providing distributed message store |
US7080382B2 (en) | 2000-02-25 | 2006-07-18 | Oracle International Corporation | Accessing shorter-duration instances of activatable objects based on object references stored in longer-duration memory |
US20010052137A1 (en) | 2000-03-01 | 2001-12-13 | Trustees Of The University Of Pennsylvania | Axin domain-like polypeptide inhibitors of glycogen synthase kinase 3 beta activity and activators of wnt signaling |
US20020152305A1 (en) | 2000-03-03 | 2002-10-17 | Jackson Gregory J. | Systems and methods for resource utilization analysis in information management environments |
US6658596B1 (en) | 2000-03-13 | 2003-12-02 | International Business Machines Corporation | Automated queue recovery using element- based journaling |
US6601101B1 (en) | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US7627694B2 (en) | 2000-03-16 | 2009-12-01 | Silicon Graphics, Inc. | Maintaining process group membership for node clusters in high availability computing systems |
US6647514B1 (en) | 2000-03-23 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request |
US6427146B1 (en) | 2000-03-31 | 2002-07-30 | Wesley W. Chu | Database event detection and notification system using type abstraction hierarchy (TAH) |
US6687735B1 (en) | 2000-05-30 | 2004-02-03 | Tranceive Technologies, Inc. | Method and apparatus for balancing distributed applications |
US20010032137A1 (en) | 2000-04-14 | 2001-10-18 | Shopsforme.Com | Information distribution and redemption system |
US20020144010A1 (en) | 2000-05-09 | 2002-10-03 | Honeywell International Inc. | Communication handling in integrated modular avionics |
US6769074B2 (en) | 2000-05-25 | 2004-07-27 | Lumigent Technologies, Inc. | System and method for transaction-selective rollback reconstruction of database objects |
KR100390853B1 (en) | 2000-06-07 | 2003-07-10 | 차상균 | A Logging Method and System for Highly Parallel Recovery Operation in Main-Memory Transaction Processing Systems |
JP3851493B2 (en) | 2000-06-12 | 2006-11-29 | 株式会社日立製作所 | Database search method, database search system, and computer-readable recording medium recording database search program |
JP2002007749A (en) | 2000-06-27 | 2002-01-11 | Hitachi Ltd | Server distribution device, service providing system and service providing method |
US6802003B1 (en) | 2000-06-30 | 2004-10-05 | Intel Corporation | Method and apparatus for authenticating content |
WO2002005116A2 (en) | 2000-07-06 | 2002-01-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Automatic database replication server and methods |
JP4292693B2 (en) | 2000-07-07 | 2009-07-08 | 株式会社日立製作所 | Computer resource dividing apparatus and resource dividing method |
KR100840960B1 (en) | 2000-07-17 | 2008-06-24 | 갈랙틱 컴퓨팅 코포레이션 비브이아이/아이비씨 | Method and system for providing dynamic hosted service management |
US6925476B1 (en) | 2000-08-17 | 2005-08-02 | Fusionone, Inc. | Updating application data including adding first change log to aggreagate change log comprising summary of changes |
US6816907B1 (en) | 2000-08-24 | 2004-11-09 | International Business Machines Corporation | System and method for providing differentiated services on the web |
US6728705B2 (en) | 2000-09-01 | 2004-04-27 | Disney Enterprises, Inc. | System and method for selecting content for displaying over the internet based upon some user input |
US7130885B2 (en) | 2000-09-05 | 2006-10-31 | Zaplet, Inc. | Methods and apparatus providing electronic messages that are linked and aggregated |
US7181492B2 (en) | 2000-10-17 | 2007-02-20 | Concerto Software, Inc. | Transfer of an internet chat session between servers |
US7336613B2 (en) | 2000-10-17 | 2008-02-26 | Avaya Technology Corp. | Method and apparatus for the assessment and optimization of network traffic |
DE60113218T2 (en) | 2000-11-08 | 2006-07-06 | Infonet Services Corp., A California Corp., El Segundo | Method and apparatus for automatic service level agreements |
US6793625B2 (en) | 2000-11-13 | 2004-09-21 | Draeger Medical Systems, Inc. | Method and apparatus for concurrently displaying respective images representing real-time data and non real-time data |
US6704831B1 (en) | 2000-11-16 | 2004-03-09 | Sun Microsystems, Inc. | Method and apparatus for converting address information between PCI bus protocol and a message-passing queue-oriented bus protocol |
JP4774145B2 (en) | 2000-11-24 | 2011-09-14 | 富士通株式会社 | Structured document compression apparatus, structured document restoration apparatus, and structured document processing system |
US20030177187A1 (en) | 2000-11-27 | 2003-09-18 | Butterfly.Net. Inc. | Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications |
US7844666B2 (en) | 2000-12-12 | 2010-11-30 | Microsoft Corporation | Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system |
JP2002183125A (en) * | 2000-12-14 | 2002-06-28 | Hitachi Ltd | Method and device for document information management |
US6621083B2 (en) | 2000-12-29 | 2003-09-16 | Honeywell International Inc. | High-absorption wide-band pixel for bolometer arrays |
US20020091685A1 (en) | 2001-01-10 | 2002-07-11 | Letmeknow Technology | System and method for filtering data events |
US6704886B1 (en) | 2001-01-25 | 2004-03-09 | Emc Corporation | Data backup system having independent data restore execution |
US7162467B2 (en) | 2001-02-22 | 2007-01-09 | Greenplum, Inc. | Systems and methods for managing distributed database resources |
US7177866B2 (en) | 2001-03-16 | 2007-02-13 | Gravic, Inc. | Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only |
US7103586B2 (en) | 2001-03-16 | 2006-09-05 | Gravic, Inc. | Collision avoidance in database replication systems |
US7703009B2 (en) | 2001-04-09 | 2010-04-20 | Huang Evan S | Extensible stylesheet designs using meta-tag information |
US7269157B2 (en) | 2001-04-10 | 2007-09-11 | Internap Network Services Corporation | System and method to assure network service levels with intelligent routing |
US7519546B2 (en) | 2001-04-30 | 2009-04-14 | General Electric Company | Maintaining synchronization of information published to multiple subscribers |
US6697791B2 (en) | 2001-05-04 | 2004-02-24 | International Business Machines Corporation | System and method for systematic construction of correlation rules for event management |
US6868413B1 (en) | 2001-05-10 | 2005-03-15 | Networks Associates Technology, Inc. | System and method for customizing and processing business logic rules in a business process system |
JP4953518B2 (en) | 2001-05-14 | 2012-06-13 | ケープレックス・インク | Information sharing method and apparatus using object-oriented technology |
US6651012B1 (en) | 2001-05-24 | 2003-11-18 | Simmonds Precision Products, Inc. | Method and apparatus for trending and predicting the health of a component |
US20020194015A1 (en) | 2001-05-29 | 2002-12-19 | Incepto Ltd. | Distributed database clustering using asynchronous transactional replication |
US6987765B2 (en) | 2001-06-14 | 2006-01-17 | Nortel Networks Limited | Changing media sessions |
US7734676B2 (en) | 2001-06-27 | 2010-06-08 | International Business Machines Corporation | Method for controlling the number of servers in a hierarchical resource environment |
US20030014523A1 (en) | 2001-07-13 | 2003-01-16 | John Teloh | Storage network data replicator |
US7174379B2 (en) | 2001-08-03 | 2007-02-06 | International Business Machines Corporation | Managing server resources for hosted applications |
GB0119145D0 (en) | 2001-08-06 | 2001-09-26 | Nokia Corp | Controlling processing networks |
US7031994B2 (en) | 2001-08-13 | 2006-04-18 | Sun Microsystems, Inc. | Matrix transposition in a computer system |
US6745209B2 (en) | 2001-08-15 | 2004-06-01 | Iti, Inc. | Synchronization of plural databases in a database replication system |
US7099681B2 (en) | 2001-08-16 | 2006-08-29 | Qualcomm Incorporated | Methods and apparatus for controlling IP applications during resource shortages |
US7454446B2 (en) | 2001-08-31 | 2008-11-18 | Rocket Software, Inc. | Techniques for storing data based upon storage policies |
US7412492B1 (en) | 2001-09-12 | 2008-08-12 | Vmware, Inc. | Proportional share resource allocation with reduction of unproductive resource consumption |
US20030061260A1 (en) | 2001-09-25 | 2003-03-27 | Timesys Corporation | Resource reservation and priority management |
US7138376B2 (en) | 2001-09-28 | 2006-11-21 | Idenix Pharmaceuticals, Inc. | Methods and compositions for treating hepatitis C virus using 4'-modified nucleosides |
US6980988B1 (en) | 2001-10-01 | 2005-12-27 | Oracle International Corporation | Method of applying changes to a standby database system |
US7222190B2 (en) | 2001-11-02 | 2007-05-22 | Internap Network Services Corporation | System and method to provide routing control of information over data networks |
US7281206B2 (en) | 2001-11-16 | 2007-10-09 | Timebase Pty Limited | Maintenance of a markup language document in a database |
JP3898498B2 (en) | 2001-12-06 | 2007-03-28 | 富士通株式会社 | Server load balancing system |
US7080083B2 (en) | 2001-12-21 | 2006-07-18 | Kim Hong J | Extensible stylesheet designs in visual graphic environments |
US7293105B2 (en) | 2001-12-21 | 2007-11-06 | Cisco Technology, Inc. | Methods and apparatus for implementing a high availability fibre channel switch |
US7058622B1 (en) | 2001-12-26 | 2006-06-06 | Tedesco Michael A | Method, apparatus and system for screening database queries prior to submission to a database |
JP4163870B2 (en) | 2001-12-28 | 2008-10-08 | 富士通株式会社 | Structured document converter |
US20030135609A1 (en) | 2002-01-16 | 2003-07-17 | Sun Microsystems, Inc. | Method, system, and program for determining a modification of a system resource configuration |
US7266099B2 (en) | 2002-01-23 | 2007-09-04 | Hewlett-Packard Development Company, L.P. | Method for hand-off of a data session |
US7403996B2 (en) | 2002-02-21 | 2008-07-22 | Bea Systems, Inc. | Systems and methods for migratable services |
US7178050B2 (en) | 2002-02-22 | 2007-02-13 | Bea Systems, Inc. | System for highly available transaction recovery for transaction processing systems |
US7287075B2 (en) | 2002-02-22 | 2007-10-23 | Bea Systems, Inc. | System for monitoring managed server health |
JP2003248628A (en) | 2002-02-25 | 2003-09-05 | Hitachi Ltd | Storage device and system |
US6832219B2 (en) | 2002-03-18 | 2004-12-14 | International Business Machines Corporation | Method and system for storing and querying of markup based documents in a relational database |
US7325017B2 (en) * | 2003-09-24 | 2008-01-29 | Swsoft Holdings, Ltd. | Method of implementation of data storage quota |
US7089228B2 (en) | 2002-04-18 | 2006-08-08 | International Business Machines Corporation | Computer apparatus and method for caching results of a database query |
US7496655B2 (en) | 2002-05-01 | 2009-02-24 | Satyam Computer Services Limited Of Mayfair Centre | System and method for static and dynamic load analyses of communication network |
US7127467B2 (en) | 2002-05-10 | 2006-10-24 | Oracle International Corporation | Managing expressions in a database system |
US20050239476A1 (en) | 2002-05-31 | 2005-10-27 | Arvind Betrabet | Method and system for providing location information of a mobile station |
GB0213073D0 (en) | 2002-06-07 | 2002-07-17 | Hewlett Packard Co | Method of maintaining availability of requested network resources |
US7162485B2 (en) | 2002-06-19 | 2007-01-09 | Georg Gottlob | Efficient processing of XPath queries |
US6691155B2 (en) | 2002-06-20 | 2004-02-10 | Linda Gottfried | Multimedia system for sharing brand information keeps history of modifications of production information by consumers to allow recreating multimedia interface in its previous formats |
US7058957B1 (en) | 2002-07-12 | 2006-06-06 | 3Pardata, Inc. | Cluster event notification system |
US7203706B2 (en) | 2002-08-01 | 2007-04-10 | Oracle International Corporation | Buffered message queue architecture for database management systems with memory optimizations and “zero copy” buffered message queue |
US8374966B1 (en) | 2002-08-01 | 2013-02-12 | Oracle International Corporation | In memory streaming with disk backup and recovery of messages captured from a database redo stream |
US7031974B1 (en) | 2002-08-01 | 2006-04-18 | Oracle International Corporation | Replicating DDL changes using streams |
US7185033B2 (en) | 2002-08-01 | 2007-02-27 | Oracle International Corporation | Buffered message queue architecture for database management systems with unlimited buffered message queue with limited shared memory |
US20040024771A1 (en) | 2002-08-01 | 2004-02-05 | Oracle International Corporation | Buffered message queue architecture for database management systems with transactional enqueue support |
US7181482B2 (en) | 2002-08-01 | 2007-02-20 | Oracle International Corporation | Buffered message queue architecture for database management systems |
US7185034B2 (en) | 2002-08-01 | 2007-02-27 | Oracle International Corporation | Buffered message queue architecture for database management systems with guaranteed at least once delivery |
US7191298B2 (en) | 2002-08-02 | 2007-03-13 | International Business Machines Corporation | Flexible system and method for mirroring data |
US6917946B2 (en) | 2002-08-12 | 2005-07-12 | International Business Machines Corporation | Method and system for partitioning filter rules for multi-search enforcement |
US7200657B2 (en) | 2002-10-01 | 2007-04-03 | International Business Machines Corporation | Autonomic provisioning of network-accessible service behaviors within a federated grid infrastructure |
US7353538B2 (en) | 2002-11-08 | 2008-04-01 | Federal Network Systems Llc | Server resource management, analysis, and intrusion negation |
US8140677B2 (en) | 2002-11-21 | 2012-03-20 | International Business Machines Corporation | Autonomic web services hosting service |
US20040111506A1 (en) | 2002-12-10 | 2004-06-10 | International Business Machines Corporation | System and method for managing web utility services |
US7149738B2 (en) | 2002-12-16 | 2006-12-12 | International Business Machines Corporation | Resource and data administration technologies for IT non-experts |
US7340674B2 (en) | 2002-12-16 | 2008-03-04 | Xerox Corporation | Method and apparatus for normalizing quoting styles in electronic mail messages |
US7243351B2 (en) | 2002-12-17 | 2007-07-10 | International Business Machines Corporation | System and method for task scheduling based upon the classification value and probability |
JP4267336B2 (en) | 2003-01-30 | 2009-05-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, system and program for generating structure pattern candidates |
US20040172385A1 (en) | 2003-02-27 | 2004-09-02 | Vikram Dayal | Database query and content transmission governor |
US7194462B2 (en) * | 2003-02-27 | 2007-03-20 | Bea Systems, Inc. | Systems and methods for implementing an XML query language |
US7441046B2 (en) | 2003-03-03 | 2008-10-21 | Siemens Medical Solutions Usa, Inc. | System enabling server progressive workload reduction to support server maintenance |
US20040176996A1 (en) | 2003-03-03 | 2004-09-09 | Jason Powers | Method for monitoring a managed system |
US20040181476A1 (en) | 2003-03-13 | 2004-09-16 | Smith William R. | Dynamic network resource brokering |
JP4165747B2 (en) | 2003-03-20 | 2008-10-15 | 株式会社日立製作所 | Storage system, control device, and control device program |
US7263590B1 (en) | 2003-04-23 | 2007-08-28 | Emc Corporation | Method and apparatus for migrating data in a computer system |
US7047337B2 (en) | 2003-04-24 | 2006-05-16 | International Business Machines Corporation | Concurrent access of shared resources utilizing tracking of request reception and completion order |
CA2472887A1 (en) | 2003-06-30 | 2004-12-30 | Gravic, Inc. | Methods for ensuring referential integrity in multithreaded replication engines |
US7613822B2 (en) | 2003-06-30 | 2009-11-03 | Microsoft Corporation | Network load balancing with session information |
US7289988B2 (en) | 2003-07-08 | 2007-10-30 | Hewlett-Packard Development Company, L.P. | Method and system for managing events |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US20050033809A1 (en) | 2003-08-08 | 2005-02-10 | Teamon Systems, Inc. | Communications system providing server load balancing based upon weighted health metrics and related methods |
US7634498B2 (en) | 2003-10-24 | 2009-12-15 | Microsoft Corporation | Indexing XML datatype content system and method |
US7287023B2 (en) | 2003-11-26 | 2007-10-23 | International Business Machines Corporation | Index structure for supporting structural XML queries |
US7984021B2 (en) | 2003-12-05 | 2011-07-19 | International Business Machines Corporation | Optimal use of triggers for detecting database events |
US7506215B1 (en) | 2003-12-09 | 2009-03-17 | Unisys Corporation | Method for health monitoring with predictive health service in a multiprocessor system |
US7418456B2 (en) | 2004-01-16 | 2008-08-26 | International Business Machines Corporation | Method for defining a metadata schema to facilitate passing data between an extensible markup language document and a hierarchical database |
US8346909B2 (en) | 2004-01-22 | 2013-01-01 | International Business Machines Corporation | Method for supporting transaction and parallel application workloads across multiple domains based on service level agreements |
US7340678B2 (en) | 2004-02-12 | 2008-03-04 | Fuji Xerox Co., Ltd. | Systems and methods for creating an interactive 3D visualization of indexed media |
US8688634B2 (en) | 2004-02-27 | 2014-04-01 | International Business Machines Corporation | Asynchronous peer-to-peer data replication |
US7877366B2 (en) | 2004-03-12 | 2011-01-25 | Oracle International Corporation | Streaming XML data retrieval using XPath |
US7533138B1 (en) | 2004-04-07 | 2009-05-12 | Sun Microsystems, Inc. | Practical lock-free doubly-linked list |
US7398265B2 (en) | 2004-04-09 | 2008-07-08 | Oracle International Corporation | Efficient query processing of XML data using XML index |
US7366735B2 (en) * | 2004-04-09 | 2008-04-29 | Oracle International Corporation | Efficient extraction of XML content stored in a LOB |
US7499915B2 (en) | 2004-04-09 | 2009-03-03 | Oracle International Corporation | Index for accessing XML data |
US7739418B2 (en) | 2004-04-12 | 2010-06-15 | Hewlett-Packard Development Company, L.P. | Resource management system |
US20050262205A1 (en) | 2004-04-30 | 2005-11-24 | Nikolov Radoslav I | Delivering messages in an enterprise messaging system using message selector hierarchy |
US20050267965A1 (en) | 2004-05-13 | 2005-12-01 | Ixi Mobile (R&D) Ltd. | Mobile router graceful shutdown system and method |
US20050289175A1 (en) * | 2004-06-23 | 2005-12-29 | Oracle International Corporation | Providing XML node identity based operations in a value based SQL system |
US7885980B2 (en) | 2004-07-02 | 2011-02-08 | Oracle International Corporation | Mechanism for improving performance on XML over XML data using path subsetting |
US7587400B2 (en) | 2004-08-12 | 2009-09-08 | Oracle International Corporation | Suspending a result set and continuing from a suspended result set for transparent session migration |
US7660719B1 (en) | 2004-08-19 | 2010-02-09 | Bevocal Llc | Configurable information collection system, method and computer program product utilizing speech recognition |
US20060047646A1 (en) | 2004-09-01 | 2006-03-02 | Maluf David A | Query-based document composition |
US7734582B2 (en) | 2004-11-16 | 2010-06-08 | International Business Machines Corporation | Apparatus, system, and method for cache synchronization |
US7203624B2 (en) | 2004-11-23 | 2007-04-10 | Dba Infopower, Inc. | Real-time database performance and availability change root cause analysis method and system |
US7617257B2 (en) | 2004-12-03 | 2009-11-10 | Oracle International Corporation | System for persistent caching of LDAP metadata in a cluster LDAP server topology |
WO2006076315A1 (en) | 2005-01-14 | 2006-07-20 | Delta Design, Inc. | Heat sink pedestal with interface medium chamber |
US7672958B2 (en) | 2005-01-14 | 2010-03-02 | Im2, Inc. | Method and system to identify records that relate to a pre-defined context in a data set |
US7370061B2 (en) | 2005-01-27 | 2008-05-06 | Siemens Corporate Research, Inc. | Method for querying XML documents using a weighted navigational index |
US20060173865A1 (en) * | 2005-02-03 | 2006-08-03 | Fong Joseph S | System and method of translating a relational database into an XML document and vice versa |
US8024353B2 (en) * | 2005-02-11 | 2011-09-20 | Fujitsu Limited | Method and system for sequentially accessing compiled schema |
US7685203B2 (en) | 2005-03-21 | 2010-03-23 | Oracle International Corporation | Mechanism for multi-domain indexes on XML documents |
US7734631B2 (en) | 2005-04-25 | 2010-06-08 | Microsoft Corporation | Associating information with an electronic document |
US7225103B2 (en) * | 2005-06-30 | 2007-05-29 | Oracle International Corporation | Automatic determination of high significance alert thresholds for system performance metrics using an exponentially tailed model |
US7359910B2 (en) * | 2005-06-30 | 2008-04-15 | Microsoft Corporation | Scalable transformation and tree based query language node—set selection |
US7496589B1 (en) | 2005-07-09 | 2009-02-24 | Google Inc. | Highly compressed randomly accessed storage of large tables with arbitrary columns |
US8762410B2 (en) | 2005-07-18 | 2014-06-24 | Oracle International Corporation | Document level indexes for efficient processing in multiple tiers of a computer system |
US20070016605A1 (en) | 2005-07-18 | 2007-01-18 | Ravi Murthy | Mechanism for computing structural summaries of XML document collections in a database system |
US7424396B2 (en) | 2005-09-26 | 2008-09-09 | Intel Corporation | Method and apparatus to monitor stress conditions in a system |
US7512610B1 (en) | 2005-09-30 | 2009-03-31 | Miosoft Corporation | Processing data records |
US8280867B2 (en) | 2005-10-20 | 2012-10-02 | Teradata Us, Inc. | Identifying database request sources |
US8117505B2 (en) | 2005-11-07 | 2012-02-14 | Microsoft Corporation | Resource exhaustion prediction, detection, diagnosis and correction |
US7904759B2 (en) | 2006-01-11 | 2011-03-08 | Amazon Technologies, Inc. | System and method for service availability management |
EP1974305A4 (en) * | 2006-01-11 | 2011-11-09 | Carmel Haifa University Economic Corp Ltd | Uav decision and control system |
US20070174309A1 (en) | 2006-01-18 | 2007-07-26 | Pettovello Primo M | Mtreeini: intermediate nodes and indexes |
US20070198479A1 (en) | 2006-02-16 | 2007-08-23 | International Business Machines Corporation | Streaming XPath algorithm for XPath expressions with predicates |
CN100418092C (en) * | 2006-02-20 | 2008-09-10 | 南京联创科技股份有限公司 | Grid and T-tree index method for rapid positioning in main memory database |
US9367647B2 (en) | 2006-02-21 | 2016-06-14 | Hewlett Packard Enterprise Development Lp | Method of providing system design |
US8452981B1 (en) | 2006-03-01 | 2013-05-28 | Nvidia Corporation | Method for author verification and software authorization |
US7624130B2 (en) | 2006-03-30 | 2009-11-24 | Microsoft Corporation | System and method for exploring a semantic file network |
US20070234199A1 (en) | 2006-03-31 | 2007-10-04 | Astigeyevich Yevgeniy M | Apparatus and method for compact representation of XML documents |
US8555274B1 (en) | 2006-03-31 | 2013-10-08 | Vmware, Inc. | Virtualized desktop allocation system using virtual infrastructure |
US8156156B2 (en) | 2006-04-06 | 2012-04-10 | Universita Di Pisa | Method of structuring and compressing labeled trees of arbitrary degree and shape |
US8429526B2 (en) | 2006-04-10 | 2013-04-23 | Oracle International Corporation | Efficient evaluation for diff of XML documents |
CN101055578A (en) | 2006-04-12 | 2007-10-17 | 龙搜(北京)科技有限公司 | File content dredger based on rule |
EP1847923A1 (en) | 2006-04-21 | 2007-10-24 | Microsoft Corporation | Localising unstructured resources |
US7870117B1 (en) | 2006-06-01 | 2011-01-11 | Monster Worldwide, Inc. | Constructing a search query to execute a contextual personalized search of a knowledge base |
US7680764B2 (en) | 2006-06-21 | 2010-03-16 | Oracle International Corporation | Parallel population of an XML index |
US7849069B2 (en) | 2006-06-21 | 2010-12-07 | International Business Machines Corporation | Method and system for federated resource discovery service in distributed systems |
JP4189416B2 (en) | 2006-08-28 | 2008-12-03 | 株式会社東芝 | Structured document management system and program |
US8108765B2 (en) | 2006-10-11 | 2012-01-31 | International Business Machines Corporation | Identifying and annotating shared hierarchical markup document trees |
US7797310B2 (en) | 2006-10-16 | 2010-09-14 | Oracle International Corporation | Technique to estimate the cost of streaming evaluation of XPaths |
US8326819B2 (en) | 2006-11-13 | 2012-12-04 | Exegy Incorporated | Method and system for high performance data metatagging and data indexing using coprocessors |
US20080155641A1 (en) | 2006-12-20 | 2008-06-26 | International Business Machines Corporation | Method and system managing a database system using a policy framework |
US7552119B2 (en) | 2006-12-20 | 2009-06-23 | International Business Machines Corporation | Apparatus and method for skipping XML index scans with common ancestors of a previously failed predicate |
US8125950B2 (en) | 2007-01-31 | 2012-02-28 | Broadcom Corporation | Apparatus for wirelessly managing resources |
US7627618B2 (en) | 2007-02-21 | 2009-12-01 | At&T Knowledge Ventures, L.P. | System for managing data collection processes |
EP1965354A1 (en) * | 2007-03-02 | 2008-09-03 | Gemmo S.p.A. | Service management system and method |
US7917515B1 (en) | 2007-03-26 | 2011-03-29 | Lsi Corporation | System and method of accelerating processing of streaming data |
US8117182B2 (en) | 2007-04-23 | 2012-02-14 | International Business Machines Corporation | Apparatus and method for optimizing descendant path evaluation in xpath/xquery |
US20080301129A1 (en) | 2007-06-04 | 2008-12-04 | Milward David R | Extracting and displaying compact and sorted results from queries over unstructured or semi-structured text |
US7761411B2 (en) | 2007-07-20 | 2010-07-20 | Oracle International Corporation | Delta operations on a large object in a database |
US20090112809A1 (en) | 2007-10-24 | 2009-04-30 | Caterpillar Inc. | Systems and methods for monitoring health of computing systems |
US20090113350A1 (en) | 2007-10-26 | 2009-04-30 | Stacie Lynn Hibino | System and method for visually summarizing and interactively browsing hierarchically structured digital objects |
US8090731B2 (en) | 2007-10-29 | 2012-01-03 | Oracle International Corporation | Document fidelity with binary XML storage |
US8180791B2 (en) | 2007-11-08 | 2012-05-15 | Oracle International Corporation | Combining streaming and navigation for evaluating XML queries |
US9842090B2 (en) | 2007-12-05 | 2017-12-12 | Oracle International Corporation | Efficient streaming evaluation of XPaths on binary-encoded XML schema-based documents |
US7870124B2 (en) * | 2007-12-13 | 2011-01-11 | Oracle International Corporation | Rewriting node reference-based XQuery using SQL/SML |
JP4968117B2 (en) | 2008-03-05 | 2012-07-04 | 富士通株式会社 | Route calculation apparatus and route calculation system |
US8230269B2 (en) | 2008-06-17 | 2012-07-24 | Microsoft Corporation | Monitoring data categorization and module-based health correlations |
AU2010276462B1 (en) | 2010-12-27 | 2012-01-12 | Limelight Networks, Inc. | Partial object caching |
US8527238B2 (en) | 2008-09-30 | 2013-09-03 | Microsoft Corporation | Storage input/output utilization associated with a software application |
US8244984B1 (en) | 2008-12-08 | 2012-08-14 | Nvidia Corporation | System and method for cleaning dirty data in an intermediate cache using a data class dependent eviction policy |
US8762367B2 (en) | 2008-12-08 | 2014-06-24 | Teradata Us, Inc. | Accurate and timely enforcement of system resource allocation rules |
US8126932B2 (en) | 2008-12-30 | 2012-02-28 | Oracle International Corporation | Indexing strategy with improved DML performance and space usage for node-aware full-text search over XML |
US9911212B2 (en) | 2009-02-24 | 2018-03-06 | International Business Machines Corporation | Resetting of dynamically grown accelerated data structure |
US8255394B2 (en) | 2009-06-01 | 2012-08-28 | International Business Machines Corporation | Apparatus, system, and method for efficient content indexing of streaming XML document content |
US8713426B2 (en) | 2009-06-25 | 2014-04-29 | Oracle International Corporation | Technique for skipping irrelevant portions of documents during streaming XPath evaluation |
US9292702B2 (en) * | 2009-08-20 | 2016-03-22 | International Business Machines Corporation | Dynamic switching of security configurations |
US8266151B2 (en) | 2009-10-30 | 2012-09-11 | Oracle International Corporationn | Efficient XML tree indexing structure over XML content |
US8832142B2 (en) | 2010-08-30 | 2014-09-09 | Oracle International Corporation | Query and exadata support for hybrid columnar compressed data |
US8756215B2 (en) * | 2009-12-02 | 2014-06-17 | International Business Machines Corporation | Indexing documents |
US9298846B2 (en) * | 2009-12-23 | 2016-03-29 | Citrix Systems, Inc. | Systems and methods for efficient Xpath processing |
US9165086B2 (en) | 2010-01-20 | 2015-10-20 | Oracle International Corporation | Hybrid binary XML storage model for efficient XML processing |
US8346813B2 (en) | 2010-01-20 | 2013-01-01 | Oracle International Corporation | Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments |
US20110208730A1 (en) | 2010-02-23 | 2011-08-25 | Microsoft Corporation | Context-aware searching |
US20110289118A1 (en) | 2010-05-20 | 2011-11-24 | Microsoft Corporation | Mapping documents to a relational database table with a document position column |
US8953444B2 (en) * | 2010-06-25 | 2015-02-10 | Qualcomm Incorporated | Load balancing |
US8458530B2 (en) | 2010-09-21 | 2013-06-04 | Oracle International Corporation | Continuous system health indicator for managing computer system alerts |
-
2010
- 2010-12-06 US US12/961,394 patent/US9165086B2/en active Active
-
2011
- 2011-12-05 EP EP11805686.0A patent/EP2652643B1/en active Active
- 2011-12-05 WO PCT/US2011/063310 patent/WO2012078518A2/en active Application Filing
- 2011-12-05 CN CN201180064212.0A patent/CN103493043B/en active Active
-
2015
- 2015-10-17 US US14/886,032 patent/US10191656B2/en active Active
- 2015-10-17 US US14/886,031 patent/US10055128B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1618066A (en) * | 2001-11-23 | 2005-05-18 | 捷讯研究有限公司 | System and method for processing extensible markup language (xml) documents |
CN101010674A (en) * | 2004-06-16 | 2007-08-01 | 甲骨文国际公司 | Efficient extraction of XML content stored in a LOB |
US7840590B2 (en) * | 2006-12-18 | 2010-11-23 | Oracle International Corporation | Querying and fragment extraction within resources in a hierarchical repository |
WO2008118537A1 (en) * | 2007-03-26 | 2008-10-02 | Oracle International Corporation | Automatically determining a database representation for an abstract datatype |
Non-Patent Citations (2)
Title |
---|
JAN-MARCO BREMER ET AL.: "Integrating document and data retrieval based on XML", 《THE VLDB JOURNAL》 * |
SHANKAR PAL ET AL.: "Indexing XML data stored in a relational database", 《PROCEEDING VLDB 04 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON VERY LARGE DATA BASES》 * |
Also Published As
Publication number | Publication date |
---|---|
CN103493043B (en) | 2017-02-08 |
EP2652643A2 (en) | 2013-10-23 |
US10055128B2 (en) | 2018-08-21 |
US20120143919A1 (en) | 2012-06-07 |
US20160042086A1 (en) | 2016-02-11 |
EP2652643B1 (en) | 2018-03-07 |
US9165086B2 (en) | 2015-10-20 |
WO2012078518A3 (en) | 2013-09-26 |
US20160041763A1 (en) | 2016-02-11 |
WO2012078518A2 (en) | 2012-06-14 |
US10191656B2 (en) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103493043A (en) | A hybrid binary xml storage model for efficient xml processing | |
US20210109967A1 (en) | Evaluating XML Full Text Search | |
US7353222B2 (en) | System and method for the storage, indexing and retrieval of XML documents using relational databases | |
CN105849726B (en) | For efficiently supporting the general index of the extemporaneous inquiry by demixing marking data | |
Luk et al. | A survey in indexing and searching XML documents | |
US7305414B2 (en) | Techniques for efficient integration of text searching with queries over XML data | |
US8346813B2 (en) | Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments | |
US7499915B2 (en) | Index for accessing XML data | |
US7290012B2 (en) | Apparatus, system, and method for passing data between an extensible markup language document and a hierarchical database | |
US7644066B2 (en) | Techniques of efficient XML meta-data query using XML table index | |
US7668806B2 (en) | Processing queries against one or more markup language sources | |
US9330124B2 (en) | Efficiently registering a relational schema | |
US8566343B2 (en) | Searching backward to speed up query | |
US20110106811A1 (en) | Efficient XML Tree Indexing Structure Over XML Content | |
US20040073541A1 (en) | Parent-child query indexing for XML databases | |
US20040103105A1 (en) | Subtree-structured XML database | |
CA2485554A1 (en) | Searching structured, semi-structured, and unstructured content | |
US20140067819A1 (en) | Efficient xml tree indexing structure over xml content | |
CN101025748A (en) | Apparatus and method for structured document management | |
CN103026631A (en) | A method and system for compressing xml documents | |
Dyreson et al. | Capturing and querying multiple aspects of semistructured data | |
CA2561734C (en) | Index for accessing xml data | |
Yang et al. | Efficient mining of frequent XML query patterns with repeating-siblings | |
US20080147615A1 (en) | Xpath based evaluation for content stored in a hierarchical database repository using xmlindex |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |