EP1629352A2

Methods and systems for enabling collaborative authoring of hierarchical documents

Abstract

This record has no abstract on file.

Term

Term ended

Projected expiry passed 14 May 2024, 2.4 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

267 claims: 21 independent, 246 dependent

  1. 1
    Claims of equivalent WO 2004104752 A2 CLAIMS We claim:1. A method in a client computing device for enabling authors to work on a hierarchical document, comprising: retrieving a local copy of the hierarchical document from a server computing device;receiving an indication of a requested mutation from a user;sending a message to the server computing device containing the requested mutation;when the requested mutation is successfully applied by the server computing device to the hierarchical document, receiving a message from the server computing device acknowledging a successful mutation to the hierarchical document;and when the requested mutation is not successfully applied by the server computing device to the hierarchical document, receiving a message from the server computing device containing an indication to revert the local copy of the hierarchical document to a current form of the hierarchical document on the server computing device.
  2. 13
    A system in a client computing device for enabling authors to work on a hierarchical document, comprising:a component that retrieves from a server computing device the hierarchical document and making a local copy of the retrieved hierarchical document;a component that receives from a user an indication of a requested mutation to the local copy of the hierarchical document;a component that sends to the server computing device a message containing the requested mutation;and a component that receives from the server computing device a message indicating whether the requested mutation was successfully applied to the hierarchical document.
  3. 26
    A method in a server computing device for enabling authors to work on a hierarchical document, comprising:for each author, providing to a client computing device a copy of the hierarchical document;receiving from the client computing device an indication of a mutation request;attempting to apply the received mutation request to the hierarchical document;when the mutation cannot be applied to the hierarchical document, sending to the client computing device a message containing an indication to revert the client copy of the hierarchical document to a current form of the hierarchical document;and when the mutation can be applied to the hierarchical document, sending to the client computing device a message containing an indication of an applied mutation.
  4. 30
    A method in a distributed computer system for sharing a hierarchical document, comprising:receiving at a server computer system a hierarchical document from a document source client computer system;distributing to a client computer system other than the document source client computer system the hierarchical document;receiving from a client computer system a mutation request to be applied to the hierarchical document;sending to the client computer system from which the request was received a response message containing an answer;and sending to a connected client computer system other than the client computer system from which the mutation request was received a broadcast message.
  5. 37
    A method performed by a computing device for enabling authors to work on a hierarchical document, comprising:retrieving the hierarchical document from another computing device;modifying the retrieved hierarchical document;sending an indication of the modification to the other computing device;and when the sent modification cannot be applied to the hierarchical document on the other computing device, reverting the hierarchical document to a current form of the hierarchical document on the other computing device.
  6. 53
    A system for enabling authors to work on a hierarchical document, comprising:a component that exchanges messages with a client computing device;a component that loads a hierarchical document;and a component that receives a message relating to a mutation request from the client computing device, determines whether the mutation request can be applied to the hierarchical document, applies the mutation to the hierarchical document, and sends an indication message of an applied mutation to the client computing device.
  7. 66
    A method in a distributed document object model environment for sharing a hierarchical document, comprising:generating a unique identification for a node of the hierarchical document;associating the generated unique identification with the node;receiving from a client computing device an indication of a requested mutation, the indication containing the unique identification;and determining that the requested mutation is to be applied to the node based on the unique identification.
  8. 79
    A method in a distributed document object model environment for sharing a hierarchical document, comprising:loading the hierarchical document;determining whether a node of the hierarchical document has an associated attribute indicating that the distributed document object model environment previously accessed the hierarchical document, the attribute indicating a unique identification;and when the node does not have an associated attribute indicating that the distributed document object model environment previously accessed the hierarchical document, associating the attribute indicating that the distributed document object model environment has accessed the hierarchical document, the attribute indicating a unique identification.
  9. 93
    A system for assigning unique node identities to a hierarchical document in a distributed computing environment, the hierarchical document having a root node and descendant nodes, comprising:a component that determines whether the root node has an associated attribute indicating a previously used node identification and when it does not, associates with the root node an attribute indicating the previously used node identification;and a component that determines whether each descendant node has an associated attribute indicating an unique identification, and when it does not, associates with the descendant node an attribute indicating the unique identification based on the previously used node identification.
  10. 96
    A computer-readable medium for enabling sharing of a hierarchical document in a distributed computer system, comprising:a frame, wherein the frame comprises an identifier for a first message in the frame;an identifier for a last message in the frame;an indication of a number of messages in the frame;and a message comprising a header and a payload, wherein the message comprises a node identified by an unique identification.
  11. 104
    A system for sharing a hierarchical document, the hierarchical document having a node, comprising:a component that receives an indication of a privilege for the node, the privilege indicating access rights for the node, the indication including a holder of the privilege;a component that receives an access request to the node from a requestor;and a component that handles the received access request, wherein the handling includes determining whether the requestor is a holder of a privilege that is appropriate for the received access request.
  12. 135
    A method in a distributed computing environment for sharing a hierarchical document, the hierarchical document having a node, comprising:receiving an indication of a privilege for the node, the privilege indicating access rights for the node, the indication including a holder of the privilege;receiving an access request to the node from a requestor;and handling the received access request, wherein the handling includes determining whether the requestor is a holder of an appropriate privilege for the received access request.
  13. 171
    A method in a distributed computer system for enabling authors to work on a shared hierarchical document, the hierarchical document having a node, comprising:receiving an indication of the node;receiving an indication to lock the node, the indication identifying an owner of the lock;receiving an indication of a request to mutate the node;determining whether the request is from a user other than the owner of the lock;and when the user is not the owner of the lock, denying the request.
  14. 195
    A system for locking nodes of a shared hierarchical document, the hierarchical document having a node, comprising:a component that places a lock on the node;a component that adds an indication of the locked node to a group of indications of locked nodes;and a component that applies a lock characteristic to the group.
  15. 213
    A computer-readable medium storing a data structure, comprising:a hierarchical document, the hierarchical document having a node;an indication of whether the node is locked;and an indication of an owner of a lock.
  16. 219
    A method in a computer system for loading a version of a hierarchical document, comprising:creating a snapshot of the hierarchical document;storing a modification made to the hierarchical document;receiving a request for a version of the hierarchical document;locating a snapshot near the requested version of the hierarchical document;loading the located snapshot;and using the stored modification to re-create the requested version.
  17. 226
    A computer-readable medium for creating a version of a hierarchical document, the hierarchical document having a node, comprising:a snapshot of the hierarchical document, wherein the snapshot includes the node and any attributes relating to the node;and an indication of a mutation applied to the node, wherein the indication includes a time the mutation was applied.
  18. 228
    A system for loading a version of a hierarchical document, the hierarchical document having a node, comprising:a component that stores a snapshot of the hierarchical document, the snapshot including the node;a component that stores a mutation applied to the node;and a component that loads a version of the hierarchical document.
  19. 231
    A system for loading a version of a hierarchical document, comprising:a component that creates a snapshot of the hierarchical document;a component that stores a modification made to the hierarchical document;a component that receives a request for a version of the hierarchical document;a component that locates a snapshot near the requested version of the hierarchical document;a component that loads the located snapshot;and a component that uses the stored modification to re-create the requested version.
  20. 238
    A method in a distributed document object model system for associating business logic, comprising:receiving a registration request from a business logic event handler for an event of the distributed document object model;registering the business logic event handler;and when an event occurs, notifying the business logic event handler;receiving an indication from the business logic event handler;and performing a function relating to the received indication.
  21. 253
    A distributed document object model system for associating business logic, comprising:a component that receives a registration request from a business logic event handler for an event of the distributed document object model;a component that registers the business logic event handler;a component that notifies the business logic event handler when an event occurs;a component that receives an indication from the business logic event handler;and a component that performs a function relating to the received indication.
Independent claims21