Remote document updating system using XML and DOM
First Claim
1. In a system comprising a local processing device having a processor, a memory for maintaining a local document, a transmission link to a remote processing device, and a remote processing device having a processor and storage within which a remote document is maintained, a method for updating at least a portion of data elements of said remote document in accordance with mutations made to a local document comprising the steps of:
- loading at least a portion of the structure of said remote document into a local processing device as an XML document;
creating a logical document object model (DOM) having a plurality of nodes arranged in a logical hierarchical structure such that each said node corresponds to an XML tag and data element in said XML document;
mutating said XML document by adding, deleting, or modifying one or more of said data elements;
updating said DOM to conform to said mutations to said XML document;
creating an entry in a first event table corresponding to each said mutation to said XML document, each said entry comprising at least a path to a node in said DOM affected by said mutation and an event type;
processing said first event table to create a second event table that will contain the smallest number of mutation events necessary to update said remote document such that, following the updating of said remote document, mutated data elements in said modified XML document will have corresponding data elements of the same value in said remote document;
transmitting said second event table and related data from said local device to said remote device; and
mutating said remote document in accordance with events in said second event table and related data such that said remote document will have corresponding data elements of the same value as mutated data elements in said modified XML document.
5 Assignments
0 Petitions
Accused Products
Abstract
In a system comprising a local processing device, a transmission link to a remote processing device, and a remote processing device, a method for updating a remote document in accordance with mutations made to a portion of the remote document maintained on the local processing device comprising the steps of loading at least a portion of the remote document into the local processing device as a local XML document, creating a logical document object model (DOM) having a plurality of nodes arranged in a logical hierarchical structure such that each node corresponds to an XML tag and data element in the XML document, mutating the XML document by adding, deleting, or modifying one or more of its data elements, updating the DOM to conform to the mutations to the XML document, creating a first event table that contains events corresponding to each mutation to the XML document where each entry comprises a path to a node in the DOM affected by the mutation and an event type, processing the first event table to create a second event table that contains the smallest number of events necessary to update the remote document to conform to the local XML document, transmitting the second event table and related data from the local device to the remote device, and mutating the remote document in accordance with events in said second event table and related data such that said remote document will have corresponding data elements of the same value as mutated data elements in the modified local XML document.
-
Citations
21 Claims
-
1. In a system comprising a local processing device having a processor, a memory for maintaining a local document, a transmission link to a remote processing device, and a remote processing device having a processor and storage within which a remote document is maintained, a method for updating at least a portion of data elements of said remote document in accordance with mutations made to a local document comprising the steps of:
-
loading at least a portion of the structure of said remote document into a local processing device as an XML document;
creating a logical document object model (DOM) having a plurality of nodes arranged in a logical hierarchical structure such that each said node corresponds to an XML tag and data element in said XML document;
mutating said XML document by adding, deleting, or modifying one or more of said data elements;
updating said DOM to conform to said mutations to said XML document;
creating an entry in a first event table corresponding to each said mutation to said XML document, each said entry comprising at least a path to a node in said DOM affected by said mutation and an event type;
processing said first event table to create a second event table that will contain the smallest number of mutation events necessary to update said remote document such that, following the updating of said remote document, mutated data elements in said modified XML document will have corresponding data elements of the same value in said remote document;
transmitting said second event table and related data from said local device to said remote device; and
mutating said remote document in accordance with events in said second event table and related data such that said remote document will have corresponding data elements of the same value as mutated data elements in said modified XML document. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for updating a remote document on a remote processing device from a local processing device comprising the steps of:
-
copying at least a relevant portion of said remote document onto said local processing device;
formatting said relevant portion of said remote document on said local device as an XML document;
creating a DOM corresponding to said XML document;
mutating to said XML document by adding, deleting, or modifying data elements in said XML document;
recording the type of each said mutation to said XML document in a first list together with information corresponding to the location in said DOM of said mutation;
processing said first list to determine the smallest number of mutations required to update said remote document such that, following said update, there is a data element in said remote document corresponding to each data element in said XML document;
creating a second list in which each entry corresponds to a mutation determined to be one of said smallest number of mutations required to update said remote document;
transmitting said second list and related data to said remote processing device such that said remote document may be updated in accordance with the entries in said second list. - View Dependent Claims (11, 12, 13, 15, 16, 17, 18, 19, 20, 21)
-
-
14. Apparatus for updating a remote document comprising:
-
a remote processing device comprising a remote machine readable storage for storing a remote document;
a local processing device connected to said remote device by a transmission link, said local device comprising a local machine readable storage having stored thereon a local document, said local document comprising at least a portion of said remote document;
said local machine readable storage maintaining said local document as an XML document, said XML document having XML tags, each XML tag corresponding to one of said data elements;
processor means for creating a DOM to be maintained in said local machine readable storage, said DOM having an interface with said XML document such that each said XML tag corresponds to a node in said DOM and each said node has the same value as the data element corresponding to said XML tag;
processor means for updating said DOM to correspond to mutations made to said XML document such that additions, deletions or modifications to said data elements in said XML document cause corresponding additions, deletions or modifications to nodes of said DOM;
a keypad for entering mutations to said XML document;
storage means for recording said mutations as events in an event table, such that each event in said event table comprises a path to the node of said DOM corresponding to said event and an identifier of said event as an addition, deletion, or modification;
processor means for parsing said event table to create a second event list comprising the smallest number of events that will update said remote database;
a transmission link to said remote device;
remote processor means for updating said remote database in accordance with events contained in said second event list.
-
Specification