Apparatus and method for allowing computer systems with different input/output devices to collaboratively edit data
First Claim
1. Collaboration apparatus for allowing a first user of a first application program operating on a first computer system with a first display device for displaying data in a first format and a second user of a second application program operating on a second computer system with a second display device that displays data in a second format different from the first format to concurrently process and display a first copy and a second copy of the same data in response to a device event signal, the collaboration apparatus comprising:
- (a) a first model object comprising methods for updating the first data copy, the first model object being responsive to a data change command for generating a first notification command indicating data changes;
(b) a second model object comprising methods for updating the second data copy, the second model object being responsive to a data change command for generating a second notification command indicating data changes;
(c) means, responsive to a first device event signal from the first user, for distributing a first data change command to the first model object and the second model object, the first and the second model objects making the same changes to the first and the second data copies;
(d) a first view object comprising means for generating a first view of the first data copy and means responsive to the first notification commands for updating the first view to reflect the data changes in the first format; and
(e) a second view object comprising means for generating a second view of the first data copy and means responsive to the second notification commands for updating the second view to reflect the data changes in the second format.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for an innovative object oriented framework system. The system uses an innovative framework architecture to provide concurrent access to a framework application by multiple users. The users can collaborate over the application and jointly produce a finished product. Model tracking is used to track commands and apply them in a consistent manner throughout the system.
-
Citations
58 Claims
-
1. Collaboration apparatus for allowing a first user of a first application program operating on a first computer system with a first display device for displaying data in a first format and a second user of a second application program operating on a second computer system with a second display device that displays data in a second format different from the first format to concurrently process and display a first copy and a second copy of the same data in response to a device event signal, the collaboration apparatus comprising:
-
(a) a first model object comprising methods for updating the first data copy, the first model object being responsive to a data change command for generating a first notification command indicating data changes; (b) a second model object comprising methods for updating the second data copy, the second model object being responsive to a data change command for generating a second notification command indicating data changes; (c) means, responsive to a first device event signal from the first user, for distributing a first data change command to the first model object and the second model object, the first and the second model objects making the same changes to the first and the second data copies; (d) a first view object comprising means for generating a first view of the first data copy and means responsive to the first notification commands for updating the first view to reflect the data changes in the first format; and (e) a second view object comprising means for generating a second view of the first data copy and means responsive to the second notification commands for updating the second view to reflect the data changes in the second format. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for allowing a first user of a first application program operating on a first computer system with a first display device for displaying data in a first format and a second user of a second application program operating on a second computer system with a second display device that displays data in a second format different from the first format to concurrently process and display a first copy and a second copy of the same data in response to a device event signal, the method comprising the steps of:
-
(a) creating a first model object comprising methods for updating the first data copy, the first model object being responsive to a data change command for generating a first notification command indicating data changes; (b) creating a second model object comprising methods for updating the second data copy, the second model object being responsive to a data change command for generating a second notification command indicating data changes; (c) generating a first data change command from the device event signal and distributing the first data change command to the first model object and the second model object, the first and the second model objects making the same changes to the first and the second data copies; (d) creating a first view object comprising means for generating a first view of the first data copy and means responsive to the first notification commands for updating the first view to reflect the data changes in the first format; and (e) creating a second view object comprising means for generating a second view of the first data copy and means responsive to the second notification commands for updating the second view to reflect the data changes in the second format. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. Collaboration apparatus for synchronizing a first view displayed in a first format on a first display device and a second view displayed in a second format different than the first format on a second display device, the first and second views being generated by an application program which processes data in response to device event signals, the apparatus comprising:
-
(a) first means responsive to notification commands for updating the first view to display changes in the first format; (b) second means responsive to the same notification commands for updating the second view to display changes in the second format; and (c) a model object created by the application program and containing the data in a format which is independent of any specific view, the model object being responsive to the device event signals for generating the notification commands indicating data changes and forwarding the notification commands to the first and second updating means. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A method for synchronizing a first view displayed in a first format on a first display device and a second view displayed in a second format different than the first format on a second display device, the first and second views being generated by an application program which processes data in response to device event signals, the method comprising the steps of:
-
(a) creating a model object containing the data in a format which is independent of any specific view; (b) applying the device event signals to the model object to cause the model object to generate notification commands indicating data changes; (c) updating the first view in response to the notification commands to display changes in the first format; and (d) updating the second view in response to the same notification commands to display changes in the second format. - View Dependent Claims (28, 29, 30, 31)
-
-
32. Collaboration apparatus for synchronizing a first view displayed in a first format on a first display device and a second view displayed in a second format different than the first format on a second display device, the first and second views being generated by an application program which processes data in response to device event signals, the apparatus comprising:
-
(a) a first view object created by the application program from characteristics of the first display device and comprising first means responsive to notification commands for updating the first view to display changes in the first format; (b) a second view object created by the application program from characteristics of the second display device and comprising second means responsive to the notification commands for updating the second view to display changes in the second format; and (c) a model object created by the application program and containing the data in a format which is independent of any specific view, the model object being responsive to the device event signals for generating the notification commands and forwarding the notification commands to the first and second updating means. - View Dependent Claims (33, 34, 35, 36)
-
-
37. A method for synchronizing a first view displayed on a first display device which displays graphic data and a second view displayed on a second display device which displays text data, the first and second views being generated by an application program which processes data in response to user commands, the method comprising the steps of:
-
(a) creating a first view object which generates the first view the first view object being created from characteristics of the first display device; (b) creating a second view object which generates the second view, the second view object being created from characteristics of the second display device; (c) creating a model object containing the data in a format which is independent of the first view and the second view; (d) applying the user commands to the model object to generate data change notification commands; (e) forwarding the data change notification commands to the first and second view objects; (f) updating the first view in response to the data change notification commands to display changed graphic data; and (g) updating the second view in response to the data change notification commands to display changed text data. - View Dependent Claims (38, 39, 40, 41)
-
-
42. Collaboration apparatus for allowing a first user of a first application program operating in a first computer system with a first display device which displays data in a first data format and a second user of a second application program operating in a second computer system with a second display device which displays data in a second data format that is not compatible with the first data format to concurrently process and display a first copy and a second copy of the same data in response to a user command, the collaboration apparatus comprising:
-
(a) a first model object comprising methods for updating the first data copy, the first model object being responsive to a user command for generating a first notification command indicating data changes; (b) a second model object comprising methods for updating the second data copy, the second model object being responsive to a user command for generating a second notification command indicating data changes; (c) a model server comprising a list of users who have authority to make changes to the first and second data copies and means responsive to an user command incoming from an authorized user for distributing the incoming user command to the first model object and the second model object; (d) a first command dispatcher responsive to a first user command from the first user for forwarding the first user command to the model server for processing; (e) a first view object comprising means for generating a first view of the first data copy and means responsive to the first notification commands for updating the first view to reflect the data changes in accordance with the first data format; and (f) a second view object comprising means for generating a second view of the second data copy and means responsive to the second notification commands for updating the second view to reflect the data changes in accordance with the second data format and in a manner different from the first data format. - View Dependent Claims (43, 44, 45, 46)
-
-
47. A method for allowing a first user of a first application program operating in a first computer system with a first display device which displays data in a first data format and a second user of a second application program operating in a second computer system with a second display device which displays data in a second data format that is not compatible with the first data format to concurrently process and display a first copy and a second copy of the same data in response to a user command, the method comprising the steps of:
-
(a) creating a first model object comprising methods for updating the first data copy, the first model object being responsive to a user command for generating a first notification command indicating data changes; (b) creating a second model object comprising methods for updating the second data copy, the second model object being responsive to a user command for generating a second notification command indicating data changes; (c) creating a model server comprising a list of users who have authority to make changes to the first and second data copies; (d) forwarding a first user command generated by the first user to the model server for processing, the model server distributing the incoming first user command to the first model object and the second model object; (e) generating a first display of the first data copy in accordance with the first data format; (f) updating the first display to reflect the data changes in response to the first notification commands in accordance with the first data format; (g) generating a second display of the second data copy in accordance with the second data format; and (h) updating the second display to reflect the data changes in response to the second notification commands in accordance with the second data format and in a manner different from the first data format. - View Dependent Claims (48)
-
-
49. A computer program product for allowing a first user of a first application program operating on a first computer system with a first memory and a first display device for displaying data in a first format and a second user of a second application program operating on a second computer system with a second memory and a second display device that displays data in a second format different from the first format to concurrently process and display a first copy and a second copy of the same data in response to a device event signal, the computer program product comprising a computer usable medium having computer readable program code thereon, including:
-
(a) program code for creating a first model object in the first memory, the first model object comprising methods for updating the first data copy, the first model object being responsive to a data change command for generating a first notification command indicating data changes; (b) program code for creating a second model object in the second memory, the second model object comprising methods for updating the second data copy, the second model object being responsive to a data change command for generating a second notification command indicating data changes; (c) program code responsive to a first device event signal from the first user, for distributing a first data change command to the first model object and the second model object, the first and the second model objects making the same changes to the first and the second data copies; (d) program code for creating a first view object in the first memory, the first view object comprising methods for generating a first view of the first data copy and methods responsive to the first notification commands for updating the first view to reflect the data changes in the first format; and (e) program code for creating a second view object in the second memory, the second view object comprising methods for generating a second view of the first data copy and methods responsive to the second notification commands for updating the second view to reflect the data changes in the second format. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57, 58)
-
Specification