Method and system for managing objects in networked computer system with action performed in the server and object updated in the client
First Claim
1. A method for managing data in a networked computer system, the computer system including at least one client and at least one server, the data being persistently stored in the server in the form of an object, each object including at least one attribute and at least one method, each attribute having a value, each object being accessible to a plurality of clients, an object being instantiated and materialized in a client when the client takes an action in connection with the object;
- the method comprising the steps of;
when a window in a client that references an object in the client desires to take an action in connection with the object, sending a request to perform a particular action in connection with the object from the client to the server;
completing the requested action in connection with the object in the server;
after completing the requested action, sending an updated object from the server to the client;
updating the object in the client;
storing an object id together with a pointer to the object in the client in an object id dictionary if the object has not been previously received from the server and stored in the client;
merging an existing object in the client and the updated object from the server and notifying windows in the client of changes to the object in the client, including replacing values of attributes of the existing object with corresponding values of attributes of the updated object;
determining whether there are any attributes in the updated object that are not in the existing object and storing any additional attributes in the existing object;
notifying the window in the client that desired to take the action in connection with the object of changes to the object, andrefreshing the window to display the values of the attributes of the updated object.
4 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method and system for managing objects in a networked computer system. The networked computer system includes a client and a server. Data is persistently stored in the server in the form of an object. Each object includes attributes and methods and is accessible to a plurality of clients. An object is instantiated and materialized in a client when the client accesses the object. When a client desires to take an action in connection with an object, the server sends an updated object to the client. After receiving the updated object from the server, the client determines whether an existing object has been previously received from the server and stored in the client. If an existing object has not been previously received from the server and stored in the client, the client stores a pointer to the updated object in the client. In either case, the client then merges the existing object and the updated object and notifies windows in the client of changes to the existing object. Thus, the method and system of the present invention enable objects to be efficiently stored and maintained in the client.
172 Citations
25 Claims
-
1. A method for managing data in a networked computer system, the computer system including at least one client and at least one server, the data being persistently stored in the server in the form of an object, each object including at least one attribute and at least one method, each attribute having a value, each object being accessible to a plurality of clients, an object being instantiated and materialized in a client when the client takes an action in connection with the object;
- the method comprising the steps of;
when a window in a client that references an object in the client desires to take an action in connection with the object, sending a request to perform a particular action in connection with the object from the client to the server; completing the requested action in connection with the object in the server; after completing the requested action, sending an updated object from the server to the client; updating the object in the client; storing an object id together with a pointer to the object in the client in an object id dictionary if the object has not been previously received from the server and stored in the client; merging an existing object in the client and the updated object from the server and notifying windows in the client of changes to the object in the client, including replacing values of attributes of the existing object with corresponding values of attributes of the updated object; determining whether there are any attributes in the updated object that are not in the existing object and storing any additional attributes in the existing object; notifying the window in the client that desired to take the action in connection with the object of changes to the object, and refreshing the window to display the values of the attributes of the updated object.
- the method comprising the steps of;
-
2. A method for managing data in a networked computer system, the computer system including at least one client and at least one server, the data being persistently stored in the server in the form of an object, each object including at least one attribute and at least one method, each attribute having a value, each object being accessible to a plurality of clients, an object being instantiated and materialized in a client when the client takes an action in connection with the object, the method comprising the steps of:
-
when a window in a client that references an object in the client desires to take an action in connection with the object, sending a request to perform a particular action in connection with the object from the client to the server; completing the requested action in connection with the object in the server; after completing the requested action, sending an updated object from the server to the client; updating the object in the client. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for managing data in a networked computer system, the computer system including at least one client and at least one server, the data being persistently stored in the server in the form of an object, each object including at least one attribute and at least one method, each attribute having a value, each object being accessible to a plurality of clients, an object being instantiated and materialized in a client when the client takes an action in connection with the object, the method comprising the steps of:
-
when a window in a client that references an object in the client desires to take an action in connection with the object, sending a request to perform a particular action in connection with the object from the client to the server; completing the requested action in connection with the object in the server; after completing the requested action, sending an updated object from the server to the client; merging the existing object in the client and the updated object from the server; and notifying windows in the client of changes to the object in the client. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for managing data in a networked computer system, the computer system including at least one client and at least one server, the data being persistently stored in the server in the form of an object, each object including at least one attribute and at least on method, each attribute having a value, each object being accessible to a plurality of clients, an object being instantiated or materialized in a client when the client takes an action in connection with the object, the system comprising:
-
a server having a communication layer and an application program stored in the server, the communication layer receiving a request to perform a particular action in connection with a particular object from a client, the application program completing the requested action in connection with the specified object in the server, and the communication layer sending an updated object to the client; and a client having a data/communication layer stored in the client, the data/communication layer receiving the updated object from the server, merging the existing object in the client and the updated object from the server, and notifying windows in the client of changes to the object in the client, a global instance table stored in the client in which the objects in the client are stored; and an object id dictionary stored in the client in which pointers to the objects in the global instance table are stored.
-
-
20. A method for managing data in a networked computer system, the computer system including at least one client and at least one server, the data being stored in the server in the form of a persistent object, each object including at least one attribute and at least one method, each attribute having a value, each object being accessible to a plurality of clients, an object being initiated and materialized in a client when the client takes an action in connection with the object, the method comprising the steps of:
-
when a window in a client desires to create or open a version of a persistent object in the client, storing a partial object in the client and storing a reference to the partial object in the client in an instance list associated with the window; wherein the partial object only includes the attributes of the persistent object required by the window, wherein the attributes of the partial object in the client are a subset of the attributes of the persistent object in the server.
-
-
21. A computer program product for use in a networked computer system, the computer system including at least one client and at least one server, the data being persistently stored in the server in the form of an object, each object including at least one attribute and at least one method, each attribute having a value, each object being accessible to a plurality of clients, an object being instantiated and materialized in a client when the client takes an action in connection with the object, the computer program product comprising:
-
a computer usable medium having computer readable program code means embodied in the medium for managing data in a networked computer system, the computer readable program code means including; computer readable program code means for, when a window in a client that references an object in the client desires to take an action in connection with the object, sending a request to perform a particular action in connection with the object from the client to the server; computer readable program code means for completing the requested action in connection with the object in the server; computer readable program code means for, after completing the requested action, sending an updated object from the server to the client; computer readable program code means for merging the existing object in the client and the updated object from the server; and computer readable program code means for notifying windows in the client of changes to the object in the client. - View Dependent Claims (22, 23, 24, 25)
-
Specification