Börsenguru`s - 500 Beiträge pro Seite
4 stars based on
This patent application claims the benefit of U. Provisional Patent Application Nos. The described technology relates generally to collaborative authoring, and more particularly to methods heiko siebel trading options systems for enabling collaborative authoring of hierarchical documents in a distributed computing system.
Such documents may be termed XML documents and described in a hierarchical manner. A hierarchical document may need to be manipulated to add, remove, or modify portions of the document. Using the DOM, a software program can, e. A tree representation of a hierarchical document appears in FIG. The DOM defines objects, methods, properties, and events.
The remainder of this specification assumes a baseline understanding of the current XML and DOM art beyond what is described above. These specifications are available at the W3C's web site last visited Oct. Authors sometimes work together when collaborating on a single document, heiko siebel trading options as presentation slide decks, books, or research papers.
When the authors are working simultaneously on a document, they may want to see mutations e. The W3C DOM specification does not, however, provide a mechanism for multiple people or software programs to work collaboratively on a single XML document. Methods and systems for enabling collaborative authoring of hierarchical documents are provided. These authors may work on the same or different portions of the document simultaneously or at different times.
In one scenario of use, an author opens a document on a client computer for editing. The server, upon determining that the requested document has not already been opened, opens the document by, e. The server then sends a copy or subset of the document to the client. The user of the client is able to view the document's contents and make mutations to the document. These mutations are then propagated to the server for application to the server's document.
When additional users open the same document, the server sends a copy of the document, as it presently exists on the server, to the client of each new user. Any further mutations made by any user are propagated from the user's client to the heiko siebel trading options, and then broadcast from the server to the other clients.
In this way, one heiko siebel trading options version of the document is maintained by the server, the copy of each client is updated as mutations are made, and the heiko siebel trading options can see the mutations broadcast by the server. This results in a synchronized view of the document for all users.
This synchronization between heiko siebel trading options and servers is enabled by various components of the DDOM system acting together. The DDOM is a multi-user system that stores documents and enables multiple authors to manipulate those documents using computers that may be connected by a network.
The system provides components for sending and receiving notifications and other communications relating to mutations made to documents. In one embodiment, the DDOM system is a middleware layer that routes mutation events heiko siebel trading options a central canonical hierarchical document i. The DDOM system may handle collaborative issues including, e. In such an environment, a master version of a hierarchical document is available from a server.
Multiple clients may request the server to load the document and to manipulate portions of the document. Each client may have heiko siebel trading options local copy of the document.
Multiple clients may simultaneously be working on the document. The server-side DDOM component is responsible for opening documents when requested by clients and providing a copy to the clients, manipulating a master version of the document as requested by clients, distributing heiko siebel trading options to clients so they can update their local copies, providing a locking mechanism for controlling access to portions of documents, providing a versioning mechanism so heiko siebel trading options versions of the document can be accessed as needed, and so on.
The interface allows an application program to open documents, request mutations, receive mutations from the server-side DDOM component, and so on. Alternatively, the DDOM system may function in a peer-to-peer environment.
The other peer computing devices may connect with the peer having the master version so that mutations made to a local copy of the document by a user can be sent to the peer having the master version. Software components of the DDOM system may be used in conjunction with other software components or products. As an example, a word processing software heiko siebel trading options may use the client-side DDOM components to access and manipulate documents. The DDOM components may be accessed by software components or products written in various languages including, e.
Operations initiated by a client in the DDOM system may be characterized based on at least three modes: The tree update mode specifies whether mutations are to be applied to the master version or a local copy of the document first. This mode may be used, e. The local handler mode heiko siebel trading options when handlers of the client that requests a mutation are to be executed.
A heiko siebel trading options may perform specialized processing relating to a mutation. For example, a handler may cause further mutations based on a user-initiated mutation. The local handler mode can be asynchronous or synchronous. When in an asynchronous local handler mode, local handlers are invoked after local mutations are made regardless of whether the mutations were successfully applied on the server. Asynchronous local handler heiko siebel trading options may be used, e.
When in a synchronous local handler mode, local handlers are not invoked until the mutations are successfully applied on the server. Synchronous local handler mode may be used, e.
The invocation heiko siebel trading options specifies whether requests to the server are handled asynchronously or synchronously.
When a function e. Asynchronous invocation mode may be used, e. When the function is invoked synchronously, it does not return until the server completes its processing. Synchronous invocation mode may be used, e. A local change made by a client before the change is applied on a server may need to be rolled back if the client receives a conflicting message from the server.
As an example, if a client receives a broadcast message from a server indicating a mutation that conflicts with a mutation made by a local handler operating asynchronously, the client may need to reinterpret the server's message in view of the state of the local copy of heiko siebel trading options document, which may result in the need to roll back its local mutation. Similarly, a client operating in local before server tree update mode may be instructed by the server to readjust its local tree to conform with the master version's current state if the server is unable to apply a requested mutation.
This might happen, e. The client uses a local history of mutations to roll back its local mutations. Various combinations of the above modes may be used. It may be possible to use a synchronous local handler mode with an asynchronous invocation mode, for example. The DDOM system has a node identity system that facilitates operation in a multi-user distributed environment. How nodes are identified i. Node identification systems can be placed in at least two groups: Structure-independent node schemas separate identification of a node from the structure in which the node appears.
Structure-dependent heiko siebel trading options schemas combine identification with structure. While the remainder of this specification describes the use of structure-independent node schemas, structure-dependent node schemas are equally contemplated. A node identity may be either system-unique or document-unique. When a node heiko siebel trading options is system-unique, the node identity will always refer to a specific node across all documents of a Heiko siebel trading options system.
On the other hand, when heiko siebel trading options node identity is document-unique, the node identity may be reused in documents to refer, e. A session-independent node identity is static and does not change from one session to another. A session-dependent node identity may represent one node in a session and a different node in a second session. The combination of the uniqueness and session attributes of node identities yields four possibilities for node identities: Each of these four combinations is considered below.
Such a node UID enables document persistence, system recovery, and assignment of identifiers by a client to a node created by it. To support this type of node UID, the system stores an indication of an association between nodes and identities. As an example, the client or server may generate globally unique identities. These identities may then be persisted with the document heiko siebel trading options node attributes of a DDOM namespace.
The DDOM system may either store indications of an association between nodes and identities outside the document containing the nodes or may store the indications inside. Which of the two approaches is selected may depend on a number of factors including, e.
When the indications are stored in a secondary document separate from a primary document containing the nodes, the DDOM system may either need to prevent the schema of the primary document from being modified or may need to create the secondary document anew with the assistance of the process that modified the schema.
When such node UIDs are used, a server of the system may need to create and use a log of activities relating to a document so that when the document is loaded during a new session, the node UIDs appear to be static across sessions. However, additional embodiments are contemplated using other schemes for implementing node UIDs described above. The DDOM system supports a concept of privileges.
Privileges relate to what operations and functionality a user may access on the system and, more particularly, what operations heiko siebel trading options user may perform on a node. Descendants of a node inherit an ancestor's privileges in heiko siebel trading options embodiment. Alternatively, the DDOM system may disable inheritance of privileges by children of a node. A user may have any combination of Read, Insert, Delete, and Update privileges on a node or may have no privileges whatsoever.
A user having a privilege may be referred to as an owner or holder of the privilege. When a user has the Read privilege for a node, the user can, e. When a user has the Insert privilege for a heiko siebel trading options, the user can, e. As an example, the user may be able to append children and set attributes. When a user has Insert privileges on a node, the user can also read the node. When a user only has the Insert privilege and not the Read privilegesome read operations may nonetheless be allowed.
As examples, the user may be allowed to get the name or attributes of an element. However, operations that require knowledge of the subtree may not be allowed. As examples, the user may not be allowed to call an InsertBefore method or access any attributes relating to the node's children.