Method and software for enabling n-way collaborative work over a network of computers
First Claim
1. A method of collaboration for ensuring a sharing of common experience over a computer network comprising a plurality of workstations, comprising:
- at a first workstation of the plurality of workstations;
notifying, by a first instance of an application operable to create and edit documents in response to user actions, a collaboration module registered with the first instance of the application of one or more application-level events that occurred within the first instance of the application, the one or more application-level events including a first sequence number of a last event received by the first instance of the application and reflecting user actions performed in connection with a native document file generated by the first instance of the application, the user actions consisting of one or more of;
applying edits to the native document file, opening the native document file, closing the native document file, and navigating within the native document file;
comparing, by the collaboration module, the first sequence number with a second sequence number, the second sequence number being a last event broadcast by the collaboration module;
in response to (i) the first and second sequence number being equal, or (ii) the first and second sequence number not equal but the collaboration module determining that the first instance of the application is also a sender of the last event broadcast by the collaboration module, assigning a new sequence number to the one or more application-level events and saving the new sequence number;
queuing, by the collaboration module, the application level events received from the first instance of the application while the first instance of the application processes further user actions; and
transmitting, automatically by the collaboration module, session data regarding the one or more application-level events over the computer network; and
at a second workstation of the plurality of workstations, causing a second instance of the application to;
display a local copy of a document corresponding to the native document file,receive the session data,responsive to receiving the session data and without user intervention, mirror the user actions performed in connection with the native document file by performing one or more operations equivalent to the one or more user actions with respect to the local copy of the document, anddisplay the local copy of the document in accordance with one or more changes thereto resulting from the one or more operations.
2 Assignments
0 Petitions
Accused Products
Abstract
Method, software, and system for efficiently enabling n-way collaborative work using common software over a network of computers. In a preferred embodiment of the invention, each participant in a collaborative session starts up a common software application, which includes a collaboration component. This collaboration component is used to establish a common session that includes all interested parties. The collaboration component replicates operations performed on any one instance of said application to all other instances participating in the same session, so the effect is as if all members of the session were sharing a single instance of the application on a single computer. In one aspect, the collaboration component also supports broadcast of audio and video over a computer network, to enable session participants to see and/or hear each other, and further includes other features that support collaborative work.
62 Citations
20 Claims
-
1. A method of collaboration for ensuring a sharing of common experience over a computer network comprising a plurality of workstations, comprising:
-
at a first workstation of the plurality of workstations; notifying, by a first instance of an application operable to create and edit documents in response to user actions, a collaboration module registered with the first instance of the application of one or more application-level events that occurred within the first instance of the application, the one or more application-level events including a first sequence number of a last event received by the first instance of the application and reflecting user actions performed in connection with a native document file generated by the first instance of the application, the user actions consisting of one or more of; applying edits to the native document file, opening the native document file, closing the native document file, and navigating within the native document file; comparing, by the collaboration module, the first sequence number with a second sequence number, the second sequence number being a last event broadcast by the collaboration module; in response to (i) the first and second sequence number being equal, or (ii) the first and second sequence number not equal but the collaboration module determining that the first instance of the application is also a sender of the last event broadcast by the collaboration module, assigning a new sequence number to the one or more application-level events and saving the new sequence number; queuing, by the collaboration module, the application level events received from the first instance of the application while the first instance of the application processes further user actions; and transmitting, automatically by the collaboration module, session data regarding the one or more application-level events over the computer network; and at a second workstation of the plurality of workstations, causing a second instance of the application to; display a local copy of a document corresponding to the native document file, receive the session data, responsive to receiving the session data and without user intervention, mirror the user actions performed in connection with the native document file by performing one or more operations equivalent to the one or more user actions with respect to the local copy of the document, and display the local copy of the document in accordance with one or more changes thereto resulting from the one or more operations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A tangible, non-transitory computer-readable storage medium storing software for collaboration to ensure a sharing of common experience over a computer network comprising a plurality of workstations, comprising:
-
a first instance of an application operable to create and edit documents in response to user actions; a collaboration module to be registered with the first instance of the application to receive notifications of application-level events that occur within the first instance of the application, the application-level events including a first sequence number of a last event received by the first instance of the application and reflecting user actions that result in edits to a native document file generated by the first instance of the application; the collaboration module operable to compare the first sequence number with a second sequence number, the second sequence number being a last event broadcast by the collaboration module; in response to (i) the first and second sequence number being equal, or (ii) the first and second sequence number not equal but the collaboration module determining that the first instance of the application is also a sender of the last event broadcast by the collaboration module, assigning a new sequence number to the one or more application-level events and saving the new sequence number; the collaboration module operable to queue the application;
level events received from the first instance of the application while the first instance of the application processes further user actions, and to receive over the computer network session data regarding one or more application-level events that have occurred within one or more other separate instances of the application and that have been transmitted over the computer network from respective collaboration modules associated with the one or more other separate instances of the application, each instance of the application and its respective collaboration module located on a respective workstation of the computer network; andthe first instance of the application further operable to use the received session data to mirror user actions performed in the one or more other separate instances of the application by performing one or more operations equivalent to the one or more application-level events with respect to a local copy of document corresponding to native document file associated with the one or more other separate instances of the application, and display edits to the local copy of the document automatically, and without user intervention. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification