System, method, and computer program product for synchronizing content between a server and a client based on state information
First Claim
Patent Images
1. A method of synchronizing a server and a client on behalf of a user, comprising the steps of:
- (1) receiving at least one synchronization request comprising information enabling the server to update the client;
(2) accessing providers using state information to retrieve content associated with the user according to at least said at least one synchronization request, wherein said state information is maintained by the server and said state information indicates content which the user wishes to transmit to the client;
(3) generating at least one instruction to update the client based on content obtained from the providers in step (2); and
(4) transmitting said at least one instruction, wherein the client is updated according to said at least one instruction.
2 Assignments
0 Petitions
Accused Products
Abstract
Described herein are systems, methods, computer program products, and combinations and sub-combinations thereof, for enabling web content (as well as other objects) to be loaded on mobile devices (as well as other types of devices), and for users of mobile devices to operate with such web content on their mobile devices in an interactive manner while in an off-line mode.
770 Citations
24 Claims
-
1. A method of synchronizing a server and a client on behalf of a user, comprising the steps of:
-
(1) receiving at least one synchronization request comprising information enabling the server to update the client;
(2) accessing providers using state information to retrieve content associated with the user according to at least said at least one synchronization request, wherein said state information is maintained by the server and said state information indicates content which the user wishes to transmit to the client;
(3) generating at least one instruction to update the client based on content obtained from the providers in step (2); and
(4) transmitting said at least one instruction, wherein the client is updated according to said at least one instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7)
(5) identifying to the client information that is of interest during synchronization sessions.
-
-
4. The method of claim 1, wherein said at least one synchronization request and said at least one instruction are transmitted using a hypertext transfer protocol (HTTP).
-
5. The method of claim 4, wherein said at least one synchronization request and said at least one instruction are formatted using an extensible markup language (XML).
-
6. The method of claim 1, wherein step (2) comprises the steps of:
-
(a) obtaining an object from a provider;
(b) hashing said object to calculate a hash result;
(c) comparing said hash result with a previous hash result, if available; and
(d) if it is determined in step (c) that said hash result corresponds to said previous hash result, then determining that no update regarding the object is needed.
-
-
7. The method of claim 6, further comprising the steps of:
-
(e) if it is determined in step (d) that said first hash result does not correspond to said first previous hash result or said first previous hash result is not available, then transforming said object into a form operable for a client;
(f) hashing said transformed object to calculate a second hash result;
(g) comparing said second hash result with a second previous hash result, if available; and
(i) if it is determined in step (g) that said second hash result corresponds to said second previous hash result, then determining that no update regarding the object is needed.
-
-
8. A computer program product comprising a computer useable medium including control logic stored therein, said control logic enabling synchronization of a server and a client on behalf of a user, said control logic comprising:
-
receiving means for enabling a processor to receive at least one synchronization request comprising information enabling the server to update the client;
accessing means for enabling a processor to access providers using state information to retrieve content associated with the user according to at least said at least one synchronization request, wherein said state information is maintained by the server and said state information indicates content which the user wishes to transmit to the client;
generating means for enabling a processor to generate at least one instruction to update the client based on content obtained from the providers; and
transmitting means for enabling a processor to transmit said at least one instruction, wherein the client is updated according to said at least one instruction. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
means for enabling a processor to identify to the client information that is of interest during synchronization sessions.
-
-
11. The computer program product of claim 8, wherein said at least one synchronization request and said at least one instruction are transmitted using a hypertext transfer protocol (HTTP).
-
12. The computer program product of claim 11, wherein said at least one synchronization request and said at least one instruction are formatted using an extensible markup language (XML).
-
13. The computer program product of claim 8, wherein accessing means comprises:
-
obtaining means for enabling a processor to obtain an object from a provider;
hashing means for enabling a processor to hash said object to calculate a hash result;
comparing means for enabling a processor to compare said hash result with a previous hash result, if available; and
determining means for enabling a processor to determine if in step (c) that said hash result corresponds to said previous hash result, then determining that no update regarding the object is needed.
-
-
14. The computer program product of claim 13, further comprising the steps of:
-
first determining means for enabling a processor to determine if in step (d) that said first hash result does not correspond to said first previous hash result or said first previous hash result is not available, then transforming said object into a form operable for a client;
hashing determining means for enabling a processor to hash said transformed object to calculate a second hash result;
comparing determining means for enabling a processor to compare said second hash result with a second previous hash result, if available; and
second determining means for enabling a processor to determine if in step (g) that said second hash result corresponds to said second previous hash result, then determining that no update regarding the object is needed.
-
-
15. The computer program product of claim 8, wherein said at least one synchronization request and said at least one instruction are transmitted using a hypertext transfer protocol (HTTP).
-
16. The computer program product of claim 15, wherein said at least one synchronization request and said at least one instruction are formatted using an extensible markup language (XML).
-
17. A method of synchronizing a server and a client on behalf of a user, comprising the steps of:
-
(1) generating at least one synchronization request comprising information enabling the server to update the client;
(2) transmitting said at least one synchronization request to the server;
(3) receiving from the server at least one instruction generated based on content retrieved by the server from providers that were accessed using state information according to at least said at least one synchronization request, wherein said state information is maintained by the server and said state information indicates content which the user wishes to transmit to the client; and
(4) updating the client according to said at least one instruction. - View Dependent Claims (18, 19, 20, 21)
(5) receiving notice of information that is of interest during synchronization sessions.
-
-
20. The method of claim 17, wherein said at least one synchronization request and said at least one instruction are transmitted using a hypertext transfer protocol (HTTP).
-
21. The method of claim 20, wherein said at least one synchronization request and said at least one instruction are formatted in an extensible markup language (XML).
-
22. A computer program product comprising a computer useable medium including control logic stored therein, said control logic enabling synchronization of a server and a client on behalf of a user, said control logic comprising:
-
generating means for enabling a processor to generate at least one synchronization request comprising information enabling the server to update the client;
transmitting means for enabling a processor to transmit said at least one synchronization request to the server;
receiving means for enabling a processor to receive from the server at least one instruction generated based on content retrieved by the server from providers that were accessed using state information according to at least said at least one synchronization request, wherein said state information is maintained by the server and said state information indicates content which the user wishes to transmit to the client; and
updating means for enabling a processor to update the client according to said at least one instruction. - View Dependent Claims (23, 24)
means for enabling a processor to receive notice of information that is of interest during synchronization sessions.
-
Specification