Method and system for managing data while sharing application programs
First Claim
1. A method for maintaining a consistent z-ordering for objects displayed when sharing an application program among a plurality of computer systems, each computer system executing an instance of the application program, each computer system having a connection to each other computer system, having a unique identification, and having an object management system, the method comprising:
- under control of the object management system at each computer system, when the instance of the application program requests that a new object be displayed, assigning a sequence number to the new object based on a last sequence number of an object that was last displayed at the computer system; and
broadcasting to each other computer system an indication of the object, the assigned sequence number, and the unique identification of that computer system; and
upon receiving the broadcast, under control of the object management system at each other computer system, when an object that has already been displayed has the same sequence number as the received sequence number, setting the z-order of the received object relative to the z-order of the displayed object with the same sequence number based on the received unique identification of the computer system that broadcast the received object; and
when no object that has already been displayed has the same sequence number as the received sequence number, setting the z-order of the received object based on the received sequence number so that each computer system can maintain a consistent z-ordering.
9 Assignments
0 Petitions
Accused Products
Abstract
A method and system for managing data (i.e., objects) that are shared by multiple instances of a shared application program. A shared application program is an application program that is executing simultaneously on multiple computers and that has a copy of data that is being shared by each instance of the application program. In particular, each computer maintains a copy of the shared data. When an instance of the application program modifies the shared data, the modifications are sent to the other computers. Each of these other computers stores the data in its copy of the shared data, and each instance of the application program updates its user interface to reflect the modifications to the shared data. Thus, the users of the shared application program can cooperatively modify and view the shared data. For example, multiple users can be executing a word processing program on their computer and sharing a common document. As one user changes the document, the word processing program updates its copy of the shared data. The changes are then transmitted to the other computers so that their copy of the shared data can be updated. In particular, an object management (OM) system is provided that enables shared application programs to manage their copy of the shared data. Each computer has a copy of the OM system. The OM system, under the direction of the shared application program, manages the adding, deleting, and modifying of the shared data. The OM system also controls the transmitting of modifications to the copy of the shared data to the other computers.
-
Citations
18 Claims
-
1. A method for maintaining a consistent z-ordering for objects displayed when sharing an application program among a plurality of computer systems, each computer system executing an instance of the application program, each computer system having a connection to each other computer system, having a unique identification, and having an object management system, the method comprising:
-
under control of the object management system at each computer system, when the instance of the application program requests that a new object be displayed, assigning a sequence number to the new object based on a last sequence number of an object that was last displayed at the computer system; and
broadcasting to each other computer system an indication of the object, the assigned sequence number, and the unique identification of that computer system; and
upon receiving the broadcast, under control of the object management system at each other computer system, when an object that has already been displayed has the same sequence number as the received sequence number, setting the z-order of the received object relative to the z-order of the displayed object with the same sequence number based on the received unique identification of the computer system that broadcast the received object; and
when no object that has already been displayed has the same sequence number as the received sequence number, setting the z-order of the received object based on the received sequence number so that each computer system can maintain a consistent z-ordering. - View Dependent Claims (2)
-
-
3. A method for maintaining a consistent display ordering for objects displayed when sharing an application program among a plurality of computer systems, each computer system having an identification, the method comprising:
-
when an instance of the application program executing on a computer system requests that an object be displayed, assigning a sequence number to the object based on a last sequence number of an object that was last displayed at that computer system; and
sending to other computer systems an indication of the object, the assigned sequence number, and the identification of that computer system so that a computer system receiving sent indications of objects, assigned sequence numbers, and identifications of computer systems from other computer systems can display the objects in the same order as the other computer system, the ordering of the objects being based on an ordering of the identifications of the computer systems that sent the indication of the object, when the sent sequence numbers received from different computer systems are the same. - View Dependent Claims (4, 5)
upon receiving the sent indication of the object, the assigned sequence number, and the identification of a computer system, when no object that has already been displayed has the same sequence number as the received sequence number, setting the ordering of the received objects based on the received sequence number. -
5. The method of claim 3 wherein the indicated object has a region identifier indicating a placement of the object in a front region, middle region, or back region and wherein the objects are displayed in an order based upon the region specified by the region identifier.
-
-
6. A method for maintaining a consistent display ordering for objects displayed when sharing an application program among a plurality of computer systems, each computer system having an identification, the method comprising:
-
when an instance of the application program executing on a computer system requests that an object be displayed, assigning a sequence number to the object based on a last sequence number of an object that was last displayed at that computer system;
sending to other computer systems an indication of the object, the assigned sequence number, and the identification of that computer system so that a computer system receiving sent indications of objects, assigned sequence numbers, and identifications of computer systems from other computer systems can display the objects in the same order as the other computer system; and
upon receiving the sent indication of the object, the assigned sequence number, and the identification of a computer system, when an object that has already been displayed has the same sequence number as the received sequence number, setting the ordering of the objects based on the identifications of the computer systems that sent the same sequence numbers. - View Dependent Claims (7)
upon receiving the sent indication of the object, the assigned sequence number, and the identification of a computer system, when no object that has already been displayed has the same sequence number as the received sequence number, setting the ordering of the received objects based on the received sequence number.
-
-
8. A computer-readable medium containing instructions for causing computer systems to maintain a consistent ordering for objects processed when sharing an application program among the computer systems, each computer system having an identification, by:
-
when an application program executing on a computer system indicates that an object is to be processed, assigning a sequence number to the object based on a sequence number of an object that was previously processed at that computer system; and
sending to the other computer systems an indication of the object to be processed, the assigned sequence number, and the identification of that computer system, the ordering of objects being based on the identifications of the computer systems that sent the indication of the object, when the sent sequence numbers received from different computer systems are the same. - View Dependent Claims (9, 10, 11, 12, 13)
upon receiving the sent indication of the object, the assigned sequence number, and the identification of a computer system, when an object that has already been processed has the same sequence number as the received sequence number, setting the ordering of the objects based on the identifications of the computer systems that sent the sequence numbers. -
11. The computer-readable medium of claim 10 including
upon receiving the sent indication of the object, the assigned sequence number, and the identification of a computer system, when no object that has already been processed has the same sequence number as the received sequence number, setting the ordering of the received objects based on the received sequence number. -
12. The computer-readable medium of claim 8 including
upon receiving the sent indication of the object, the assigned sequence number, and the identification of a computer system, when no object that has already been processed has the same sequence number as the received sequence number, setting the ordering of the received objects based on the received sequence number. -
13. The computer-readable medium of claim 8 wherein the indicated object has a region identifier indicating a placement of the object in a front region, middle region, or back region and wherein the objects are processed in an order based upon the region specified by the region identifier.
-
-
14. A computer-readable medium containing a data structure comprising:
-
an indication of an object to be displayed by a plurality of computer systems that are sharing an application program, one of the computer systems generating the indication;
a sequence number assigned to the indicated object, the sequence number being based on a sequence number of an object previously displayed by the computer system; and
an identification of the computer system that generated the indication so that a computer system can use the indication of the object, the assigned sequence number, and the identification of the computer system to display objects in the same order as the other computer system, the ordering of objects being based on the identification of the computer system that generated the indication of the object, when the sent sequence numbers received from different computer systems are the same. - View Dependent Claims (15)
-
-
16. A computer-readable medium containing instructions for causing a computer system to maintain a consistent Bordering for objects displayed when sharing an application program among a plurality of computer systems, each computer system executing an instance of the application program and having an identification, the method comprising:
-
when the instance of the application program at a computer system requests an object to be displayed, assigning a sequence number to the object based on a sequence number of an object that was previously displayed at the computer system; and
broadcasting to each other computer system an indication of the object, the assigned sequence number, and the identification of that computer system; and
upon receiving the broadcast, when the same sequence number has already been received, setting the z-order of the object relative to an object with the same sequence number based on the received identification of the computer system. - View Dependent Claims (17, 18)
-
Specification