System uses filter tree and feed handler for updating objects in a client from a server object list
First Claim
1. A client/server object-based computing system, the computing system comprising:
- a server, the server including a server object list, the server object list being arranged to include objects that are to be updated, the objects having data and functionality, wherein the objects that are to be updated include a first object, the server further including a filter tree, the filter tree being arranged to identify the objects in which the client has interest;
a client, the client being in communication with the server over a low-bandwidth link, the client including a client object list, the client object list including an object in which the client has interest, the object in which the client has interest being the first object, wherein the server is arranged to send a message to the client indicating that the object in which the client has interest should be updated on the client, the client further being arranged to update the object in which the client has interest using a handler associated with the client;
a feed handler, the feed handler being in communication with the handler and the server, the feed handler being arranged to queue messages from the handler the messages being intended for the server;
an observer, the observer being in communication with the client, wherein the client is arranged to notify the observer when the object in which the client has interest is updated; and
a data file, the data file being arranged to store a copy of the server object list.
5 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for maintaining updated information on client/server object-oriented computing systems are disclosed. In accordance with one aspect of the present invention, a client/server object-based computing system includes a server which has a server object list that is arranged to include objects that are to be updated. The system also includes a client which has a client object list that contains an object in which the client has interest. The objects that are to be updated include the object in which the client has interest, and the server is arranged to send a message to the client that indicates that the object in which the client has interested should be updated on the client. In one embodiment, the client and the server are in communication over a low-bandwidth link.
139 Citations
22 Claims
-
1. A client/server object-based computing system, the computing system comprising:
-
a server, the server including a server object list, the server object list being arranged to include objects that are to be updated, the objects having data and functionality, wherein the objects that are to be updated include a first object, the server further including a filter tree, the filter tree being arranged to identify the objects in which the client has interest;
a client, the client being in communication with the server over a low-bandwidth link, the client including a client object list, the client object list including an object in which the client has interest, the object in which the client has interest being the first object, wherein the server is arranged to send a message to the client indicating that the object in which the client has interest should be updated on the client, the client further being arranged to update the object in which the client has interest using a handler associated with the client;
a feed handler, the feed handler being in communication with the handler and the server, the feed handler being arranged to queue messages from the handler the messages being intended for the server;
an observer, the observer being in communication with the client, wherein the client is arranged to notify the observer when the object in which the client has interest is updated; and
a data file, the data file being arranged to store a copy of the server object list. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A client/server object-based computing environment comprising:
-
a server, the server including a server object list, the server object list being arranged to include an object that is to be updated, the object having data and functionality, wherein the server object list is further arranged to be copied into a data file that is associated with the server, the server further including a filter tree;
a client, the client including a client object list, the client object list including at least one object that is of interest to the client, the at least one object being the object that is to be updated, the client being arranged to be in communication with the server via a client thread, the client thread being a part of the server, the client being arranged to send a request to the server through the client thread, the server being arranged to receive the request from the client through the client thread, the request being a request to update the server object, wherein the client thread is arranged to reference the server object list, and wherein the filter tree is referenced by the client thread, the filter tree being arranged to determine whether the object that is to be updated is a representation of the object that is of interest to the client, the client including a handler that is associated with the object that is of interest to the client; and
a feed handler, the feed handler being arranged to queue messages from the handler, the feed handler further being arranged to send the messages to the server. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method for updating a first object on a client, the client being arranged to be a part of a client/server object-based computing environment, the method comprising:
-
determining whether the first object is in existence on the client;
obtaining a class name for a handler that is associated with the first object when it is determined that the first object is not in existence on the client;
creating an instance of the handler, wherein the instance of the handler is associated with first object;
determining whether there is a second object that is referenced by the first object when the first object is in existence on the client;
determining whether the client is in communication with a server, the server being a part of the client/server object-based computing environment, wherein the client is in communication with the server over a low-bandwidth communications link;
opening a transaction with a data file when the client is not in communication with the server, the data file being associated with the client;
sending an update message to the handler that is associated with the first object when the first object is in existence on the client when the client is in communication with the server, the handler being a part of the client;
storing the update message in the data file;
closing the transaction with the data file;
adding a reference that identifies the second object to the first object when it is determined that the second object is referenced by the first object, the reference being a resolved reference; and
sending a notification message to the handler that is arranged to indicate the existence of the second object when it is determined that the second object is referenced by the first object and when the client is in communication with the server. - View Dependent Claims (16, 17, 18, 19, 20, 21)
determining whether a reference to the first object has been requested by a third object; and
notifying the third object of the existence of the first object when it is determined that the first object has been requested by the third object.
-
-
18. A method as recited in claim 15 wherein creating an instance of the handler includes creating a graphical component for the handler.
-
19. A method as recited in claim 15 further including:
-
determining whether the handler is in existence on an overall client machine, the client machine including the client; and
obtaining the handler using an object request broker when it is determined that the handler is not in existence on the overall client machine, wherein the object request broker is a part of the client/server object-based computing environment, the object request broker further being in communication with the client.
-
-
20. A method as recited in claim 15 wherein the low-bandwidth communications link is a RF link.
-
21. A method as recited in claim 15 wherein adding the first object to an object list includes:
-
obtaining a lock for the object list;
writing the first object to the object list; and
releasing the lock.
-
-
22. A computer program product arranged to update a first object on a client, the client being arranged to be a part of a client/server object-based computing environment, the computer program product comprising:
-
computer code for determining whether the first object is in existence on the client;
computer code for obtaining a class name for a handler that is associated with the first object when it is determined that the first object is not in existence on the client;
computer code for creating an instance of the handler, wherein the instance of the handler is associated with first object;
computer code for determining whether there is a second object that is referenced by the first object when the first object is in existence on the client;
computer code for determining whether the client is in communication with a server, the server being a part of the client/server object-based computing environment, wherein the client is in communication with the server over a low-bandwidth communications link;
computer code for opening a transaction with a data file when the client is not in communication with the server, the data file being associated with the client;
computer code for sending an update message to the handler that is associated with the first object when the first object is in existence on the client when the client is in communication with the server, the handler being a part of the client;
computer code for storing the update message in the data file;
computer code for closing the transaction with the data file;
computer code for adding a reference that identifies the second object to the first object when it is determined that the second object is referenced by the first object, the reference being a resolved reference;
computer code for sending a notification message to the handler that is arranged to indicate the existence of the second object when it is determined that the second object is referenced by the first object and when the client is in communication with the server; and
a computer-readable medium that stores the computer codes.
-
Specification