Method and apparatus for updating information in a low-bandwidth client/server object-oriented system
First Claim
1. A client/server object-based computing system, the client/server object-based computing system comprising:
- at least one server;
at least one client, wherein the at least one client is listening and being at least periodically in communication with the server across a low-bandwidth communications channel;
a mechanism arranged to reduce statistical information associated with the client/server object-based computing system, the mechanism including a measuring system for measuring time elapsed for a packet of data to be sent by the at least one server to the at least one client, wherein the packet of data determined by the at least one server includes data which represents an object in the client/server object-based computing system, the object been identified as an object which the at least one client has an interest in receiving updates;
a data transmission system, the data transmission system being arranged to transmit data between the at least one client and the at least one server, the data transmission system further being arranged to repeatedly attempt to transmit the data for up to a number of times determined by the mechanism; and
a reconnection system, the reconnection system being arranged to attempt to reinstate the low-bandwidth communications channel after the transmission system repeatedly attempts to transmit the data for up to the number of times determined by the mechanism.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for efficiently maintaining updated information on client/server object-oriented computing systems are disclosed. In accordance with one aspect of the present invention, a method for transmitting a packet of data from a first computing system to a second computing system in a client/server object-based computing system includes identifying the packet of data using the first computing system and attempting to send the packet of data from the first computing system to the second computing system. Once the attempt is made to send the packet of data, it is determined whether the packet of data is received by the second computing system. An acknowledgment is sent from the second computing system to the first computing system when it is determined that the packet of data is received by the second computing system. The acknowledgement indicates that the packet of data is received by the second computing system. In one embodiment, the method includes re-attempting to send the packet of data from the first computing system to the second computing system when the packet of data is not successfully received by the second computing system.
97 Citations
13 Claims
-
1. A client/server object-based computing system, the client/server object-based computing system comprising:
-
at least one server;
at least one client, wherein the at least one client is listening and being at least periodically in communication with the server across a low-bandwidth communications channel;
a mechanism arranged to reduce statistical information associated with the client/server object-based computing system, the mechanism including a measuring system for measuring time elapsed for a packet of data to be sent by the at least one server to the at least one client, wherein the packet of data determined by the at least one server includes data which represents an object in the client/server object-based computing system, the object been identified as an object which the at least one client has an interest in receiving updates;
a data transmission system, the data transmission system being arranged to transmit data between the at least one client and the at least one server, the data transmission system further being arranged to repeatedly attempt to transmit the data for up to a number of times determined by the mechanism; and
a reconnection system, the reconnection system being arranged to attempt to reinstate the low-bandwidth communications channel after the transmission system repeatedly attempts to transmit the data for up to the number of times determined by the mechanism. - View Dependent Claims (2, 3, 4)
-
-
5. A method for substantially optimizing the transmission of data between a first computing system to a second computing system, the first computing system and the second computing system being included in a client/server object-based computing system, wherein the first computing system is a server and the second computing system is a client, the data including a first packet, the method comprising:
-
a) gathering statistical information associated with the client/server object-based computing system, wherein gathering the statistical information includes measuring time used to send at least a second packet of data between the first computing system and the second computing system, wherein the second packet of data includes data which represents an object in the client/server object-based computing system;
b) attempting to send the first packet from the first computing system to the second computing system, wherein said second computing system is listening, wherein the first packet of data includes data which represents a first object in the client/server object-based computing system, the first object been identified as an object which the second computing system has an interest in receiving updates;
c) determining when the first packet is received by the second computing system;
d) determining an amount of time to elapse before attempting to re-send the first packet when it is determined that the first packet is not received by the second computing system, the amount of time being determined using the measured time used to send the at least second packet; and
e) attempting to re-send the first packet after the amount of time elapses. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
- 12. A method as recited in claim 15 wherein gathering the statistical information further includes measuring long-term and short-term packet loss rates.
Specification