Patent ID: 8805950

Claim:
A method for caching data in a distributed web cache environment including a web cache computer, a central server computer, one or more client systems, and one or more data sources, the method being performed by the central server computer and comprising: receiving a data request from a client system, the data request requesting data stored at a data source; and in response to receiving the data request from the client system: retrieving the requested data from the data source; identifying data other than the requested data based on a likelihood of the other data being requested in the future by the client system; retrieving the other data that has a likelihood of being requested in the future by the client system from the one or more data sources; selecting the web cache computer from among a plurality of available web cache computers such that the distance between the client system and the web cache computer is less than the distance between the web cache computer and the central server computer; sending, to the client system, the requested data; sending, to the web cache computer, the other data that has a likelihood of being requested in the future by the client system; generating a one-time executable script instructing the web cache computer to cache all protected user data of a specified type retrieved from the central server; and sending the generated executable script from the central server computer to the web cache computer, wherein the web cache computer is intermediate the central server computer and the client system and is remote from the central server computer and from the client system, and the executable script is configured to cause the web cache computer to cache the protected user data of a specified type retrieved from the central server for access by the client system, the specified type comprising at least one of email, calendar data, and address book data.