Framework for constructing shared documents that can be collaboratively accessed by multiple users
First Claim
1. A Shared Document Framework for use by an application program executing on a computing system having a processor and a memory, the framework providing collaborative access by a plurality of caucus members to a shared document, and comprising:
- (a) means for creating a caucus service associated with the document, the caucus service including means for receiving messages from each of the plurality of caucus members and broadcast transmitting the messages to all of the plurality of caucus members in global order; and
(b) shared document class information, residing in the memory, for creating a shared document instance in the memory in response to a document open request by the application program, the shared document class information including;
first program code logic, executable on the processor, for creating a local copy of the shared document in the memory,second program code logic, executable on the processor, for causing the application program to join the caucus service as a caucus member;
third program code logic, executable on the processor, for receiving a command binding from the application program and sending a copy of the received command binding to the caucus service as a message; and
fourth program code logic, executable on the processor and responsive to a command binding broadcast by the caucus, for applying a command binding to the local copy of the shared document through a predefined document interface.
2 Assignments
0 Petitions
Accused Products
Abstract
A Shared Document Framework for use by an application program provides collaborative access to a shared document by means of a caucus service associated with the shared document. The caucus service receives messages from caucus members and broadcast transmits them to all caucus members in global order. The Framework includes shared document class information, from which a shared document instance may be created. The shared document class information includes program code logic for creating a local copy of the document being shared; program code logic for causing the application program to join the caucus service as a member; program code logic for receiving a command binding from the application program and sending it to the caucus service as a message; and program code logic, responsive to a command binding broadcast by the caucus, for applying the received command binding to the document when the application program did not send the command binding and for applying the original command binding when the application program did send the command binding.
-
Citations
25 Claims
-
1. A Shared Document Framework for use by an application program executing on a computing system having a processor and a memory, the framework providing collaborative access by a plurality of caucus members to a shared document, and comprising:
-
(a) means for creating a caucus service associated with the document, the caucus service including means for receiving messages from each of the plurality of caucus members and broadcast transmitting the messages to all of the plurality of caucus members in global order; and (b) shared document class information, residing in the memory, for creating a shared document instance in the memory in response to a document open request by the application program, the shared document class information including; first program code logic, executable on the processor, for creating a local copy of the shared document in the memory, second program code logic, executable on the processor, for causing the application program to join the caucus service as a caucus member; third program code logic, executable on the processor, for receiving a command binding from the application program and sending a copy of the received command binding to the caucus service as a message; and fourth program code logic, executable on the processor and responsive to a command binding broadcast by the caucus, for applying a command binding to the local copy of the shared document through a predefined document interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. Collaboration apparatus for use in a computing system having a processor and a memory, the apparatus providing collaborative access by a plurality of application programs to a shared document, and comprising:
-
(a) caucus means in the memory responsive to messages received from each of a plurality of caucus members for broadcast transmitting received messages to all of the plurality of caucus members in global order; and (b) means for creating a local copy of the shared document in the memory for each of the plurality of application programs; (c) means for creating a predefined document interface for each local copy of the shared document; (d) means for causing each of the plurality of application programs to join the caucus service as a caucus member; (e) means for receiving a command binding from one of the plurality of application programs and sending a copy of the received command binding to the caucus service as a message; and (f) means in each of the plurality of application programs and responsive to a command binding broadcast by the caucus, for applying a command binding to the application local copy of the shared document through the predefined document interface for the local copy. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A method for use in a computing system having a processor and a memory, the method providing collaborative access by a plurality of application programs to a shared document, and comprising the steps of:
-
(a) constructing a caucus service program in the memory, the caucus service program being responsive to messages received from each of a plurality of caucus members for broadcast transmitting received messages to all of the plurality of caucus members in global order; and (b) creating a local copy of the shared document in the memory for each of the plurality of application programs; (c) creating a predefined document interface for each local copy of the shared document; (d) causing each of the plurality of application programs to join the caucus service as a caucus member; (e) receiving a command binding from one of the plurality of application programs and sending a copy of the received command binding to the caucus service as a message; and (f) applying a command binding to the local copy of the shared document for each of the plurality of applications through the predefined document interface in response to a command binding broadcast by the caucus. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A computer program product for use by an application program executing on a computing system having a processor and a memory, the computer program product providing collaborative access by a plurality of caucus members to a shared document, and comprising a computer usable medium having computer readable program code means including:
-
(a) means for creating a caucus service associated with the document, the caucus service including means for receiving messages from each of the plurality of caucus members and broadcast transmitting the messages to all of the plurality of caucus members in global order; and (b) shared document class information for creating a shared document instance in the memory in response to a document open request by the application program, the shared document class information including; first program code logic means for creating a local copy of the shared document in the memory, second program code logic means for causing the application program to join the caucus service as a caucus member; third program code logic means for receiving a command binding from the application program and sending a copy of the received command binding to the caucus service as a message; and fourth program code logic means responsive to a command binding broadcast by the caucus, for applying a command binding to the local copy of the shared document through a predefined document interface. - View Dependent Claims (23, 24, 25)
-
Specification