Real-time synchronization of XML data between applications
First Claim
1. A computer-readable medium having computer-executable instructions for synchronizing data that is associated with a computer-generated document and that is shared across data consumers, comprising:
- storing structured data items that are associated with a document in a data store, wherein the data store is separate from the document;
initiating a change to a structured data item within the data store by a first data consumer;
determining when there are other data consumers that are interested in the change to the structured data item;
notifying the other data consumers of the change, wherein the other data consumers may perform at least one of;
accepting the change;
rejecting the change; and
initiating a side-effect change as a result of the original change; and
committing the change to the data store when the change is accepted and rolling back the data store to a state before a time when the change was initiated when the change is rejected.
2 Assignments
0 Petitions
Accused Products
Abstract
One or more data stores are maintained separately from a primary presentation storage within a document for storing, relating and for allowing use of arbitrary data that is associated with a computer-generated document between multiple data consumers. The data store exposes application programming interfaces (APIs) to the various pieces of data in the data store for allowing different data consumers to access and operate on one or more of the data pieces in real time. Multiple data consumers may access and edit the same piece of data concurrently, and any conflicting changes to a given piece of data are resolved. Each data consumer may accept or reject the change as well as make additional side-effect changes as a result of the original change. In this way, the data may be synchronized in real time across the data consumers.
155 Citations
20 Claims
-
1. A computer-readable medium having computer-executable instructions for synchronizing data that is associated with a computer-generated document and that is shared across data consumers, comprising:
-
storing structured data items that are associated with a document in a data store, wherein the data store is separate from the document;
initiating a change to a structured data item within the data store by a first data consumer;
determining when there are other data consumers that are interested in the change to the structured data item;
notifying the other data consumers of the change, wherein the other data consumers may perform at least one of;
accepting the change;
rejecting the change; and
initiating a side-effect change as a result of the original change; and
committing the change to the data store when the change is accepted and rolling back the data store to a state before a time when the change was initiated when the change is rejected. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method for sharing data that is associated with computer-generated documents between data consumers, comprising:
-
initiating a change to a structured data item that is contained within a data store and is associated with a document;
wherein the structured data item is structured according to an Extensible Markup Language (XML) and wherein the data store is separate from the document;
providing notification of the change to registered data consumers;
queuing side-effect changes that are a result of the change for later processing;
determining when a response from one of the registered data consumers is a rejection of the change, and when the response is a rejection, rolling back the change and any side-effect changes from all data consumers within the data store to a last known good state; and
determining when each of the registered data consumers accepts the change, and when each of the registered data consumers accepts the change, validating the change using an XML schema file that is provided by one of the data consumers through an API, and committing the change to the data store. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A system for synchronizing data that is associated with a computer-generated document between data consumers, comprising:
-
an internal data consumer that is configured to create and edit the document and that is configured to interact with structured data items that are associated with the document;
external data consumers that are configured to interact with the structured data items that are associated with the document; and
a data store that is configured to store the structured data items that are associated with the document separate from the document, wherein the data store comprises;
an API broker that is configured to interact with the external data consumers and the internal data consumers and that is configured to receive a proposed change and in response to the proposed change notify registered data consumers of the proposed change, commit the change to the data store when the proposed change is accepted and when the proposed change is not accepted ensuring that the data store is in a valid state, wherein the data store further includes a change store that is configured to store the proposed change and side-effect changes that are associated with the proposed change, and an undue store that is configured to roll back the data store to the valid state. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification