EP1589722B1

Method, system, and apparatus for enabling near real time collaboration on an electronic document

Abstract

This record has no abstract on file.

EP1589722B1, drawing sheet 1
Sheet 1 of 14

Term

Term ended

Expired 13 April 2025, 1.4 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

17 claims: 6 independent, 11 dependent

  1. 1
    A method for enabling near real time collaboration on an electronic document (40D) through a plurality of computer systems (2A, 2B, 2C, 2D, 2), the method comprising:maintaining a data structure (70A) representing the entire contents of the electronic document;receiving user input at a first of the plurality of computer systems, the user input comprising a modification to the data structure;in response to the modification of the data structure, creating a revision that identifies only the modification to the data structure;determining at the first computer system whether the first computer system is the owner of a synchronization token;in response to determining that the first computer system is not the owner of the synchronization token, requesting the synchronization token from the owner of the synchronization token, wherein requesting the synchronization token from the owner of the synchronization token further comprises: generating a request for the synchronization token, the request including data indicating the duration of time the first computer system has been waiting for the synchronization token;and transmitting the request to the computer system owning the synchronization token;and in response to determining that the first computer system is the owner of the synchronization token, transmitting the revision to each of the plurality of computer systems other than the computer system at which the input was made.
  2. 9
    A computer-readable medium having computer-executable instructions stored thereon which, when executed by a computer, will cause the computer to perform the method of one of claims 1 to 8.
  3. 10
    A computer system adapted to perform the method of one of claims 1 to 8.
  4. 11
    A method for enabling near real time collaboration on a page of an electronic document through a plurality of computer systems, the method comprising:maintaining a graph at each of the computer systems, the connected graph identifying the contents of the page of the electronic document;receiving at a first of the plurality of computer systems a change to the page, the change to the page resulting in a corresponding change to the graph;generating a revision to the graph in response to the change, the revision comprising data identifying only the change to the graph;determining whether the first of the plurality of the computer systems is the owner of a synchronization token;transmitting the revision from the first of the plurality of computer systems to each of the other computer systems only if the first computer system is the owner of the synchronization token;if the revision has been transmitted, merging the revision into the graph maintained at each of the other computer systems;and if the first computer is the owner of the synchronization token: receiving at the first computer system one or more requests for the synchronization token from the other computers, each request specifying the amount of time the computer making the request has been waiting to receive the synchronization token;in response to receiving one or more requests for the synchronization token, determining from the requests the computer that has been waiting the longest amount of time for the synchronization token;and transmitting the synchronization token to the computer that has been waiting the longest amount of time.
  5. 16
    A computer-readable medium having computer-executable instructions stored thereon which, when executed by a computer, will cause the computer to perform the method of one of claims 11 to 15.
  6. 17
    A computer system adapted to perform the method of one of claims 11 to 15.