Method, system, and computer program product for improved synchronization efficiency for mobile devices, including database hashing and caching of web access errors
First Claim
1. A method in a server for improved synchronizations with mobile devices, comprising:
- synchronizing a first mobile device, including;
(a) receiving a request for a web-based object from the first mobile device;
(b) transmitting the request for the web-based object to a provider;
(c) determining that a response to the transmitted request has not been received from the provider; and
(d) caching information indicating that the response was not received.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, apparatuses, and computer program products for improving efficiency in transfer of content to mobile devices are provided. In a first aspect, hashing is used in a synchronization server to determine whether objects have changed, and therefore need to be updated on the mobile device and/or on the mobile device server. For example, databases are hashed on a record-by-record basis. Records determined to be changed are transmitted to the mobile device and/or updated on the synchronization server. In another embodiment, errors occurring during attempts to obtain unavailable web content are cached (i.e., “negative caching”). The cached errors are accessed during subsequent attempts to obtain the unavailable web content to avoid spending time on the subsequent attempts.
129 Citations
32 Claims
-
1. A method in a server for improved synchronizations with mobile devices, comprising:
-
synchronizing a first mobile device, including;
(a) receiving a request for a web-based object from the first mobile device;
(b) transmitting the request for the web-based object to a provider;
(c) determining that a response to the transmitted request has not been received from the provider; and
(d) caching information indicating that the response was not received. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A web content caching module in a server, wherein the server performs synchronizations with mobile devices, wherein the server receives requests for web-based objects from a mobile device during a synchronization with the mobile device, and transmits the requests to providers, comprising:
-
an error caching module that caches information related a request for a web-based object transmitted to a provider if a response to the request is not received from the provider;
wherein the server transmits the cached information to the mobile device during the synchronization with the mobile device;
wherein said error caching module clears the cached information after expiration of a predetermined amount of time; and
wherein the server transmits the cached information to another mobile device during a synchronization with the another mobile device if a subsequent request for the web-based object is made by the another mobile device before expiration of the predetermined amount of time.
-
-
12. A method in a server for synchronizing the server and a mobile device, comprising:
-
(a) receiving a synchronization request from the mobile device;
(b) obtaining, responsive to the synchronization request, a database object from a provider that includes a plurality of records;
(c) hashing each record of the database object to calculate a hash result for each record;
(d) comparing the calculated hash result for each record with a corresponding previous hash result, if available;
(e) for each record, if in step (d) the calculated hash result matches the corresponding previous hash result, then determining that no update regarding that record of the database object is needed; and
(f) for each record, if in step (d) the calculated hash result does not match the corresponding previous hash result or the corresponding previous hash result is not available, then transmitting the record to the mobile device. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A system in a server for synchronizing the server and a mobile device, comprising:
-
a synchronization module that receives a synchronization request from the mobile device, and obtains channels from at least one provider due to the synchronization request, wherein an obtained channel includes a database object, wherein the database object includes a plurality of records;
a hashing module that hashes each record of the database object to calculate a hash result for each record; and
a comparator that compares the calculated hash result for each record with a corresponding previous hash result, if available;
wherein for each record, if the calculated hash result matches the corresponding previous hash result, then the synchronization module does not need to transmit an update of that record of the database object to the mobile device in a response to the synchronization request; and
wherein for each record, if the calculated hash result does not match the corresponding previous hash result or the corresponding previous hash result is not available, then the synchronization module transmits the record to the mobile device in a response to the synchronization request.
-
-
18. A computer program product comprising a computer useable medium having computer program logic recorded thereon for enabling a processor to perform synchronizations with mobile devices, comprising:
synchronizing means for enabling a processor to synchronize a first mobile device, including;
receiving means for enabling a processor to receive a request for a web-based object from the first mobile device;
transmitting means for enabling a processor to transmit the request for the web-based object to a provider;
determining means for enabling a processor to determine that a response to the transmitted request has not been received from the provider; and
caching means for enabling a processor to cache information indicating that the response was not received. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27)
-
28. A computer program product comprising a computer useable medium having computer program logic recorded thereon for enabling a processor to synchronize a server and a mobile device, comprising:
-
receiving means for enabling a processor to receive a synchronization request from the mobile device;
obtaining means for enabling a processor to obtain, responsive to the synchronization request, a database object from a provider that includes a plurality of records;
hashing means for enabling a processor to hash each record of the database object to calculate a hash result for each record;
comparing means for enabling a processor to compare the calculated hash result for each record with a corresponding previous hash result, if available;
determining means for enabling a processor to determine, for each record, that no update regarding the record of the database object is needed, if the calculated hash result matches the corresponding previous hash result for the record; and
transmitting means for enabling a processor to transmit, for each record, the record to the mobile device, if the calculated hash result does not match the corresponding previous hash result or the corresponding previous hash result is not available for the record. - View Dependent Claims (29, 30, 31, 32)
-
Specification