Patent ID: 8880635

Claim:
A method performed by data processing apparatus, the method comprising: transmitting, by a user device, a resource request for a resource hosted by a first server at a first domain; determining, by the user device, whether the first server at the first domain provided response data in response to the resource request; in response to determining that the first server provided response data: determining, based on the response data, whether a cache request condition has occurred; in response to determining that a cache request condition has occurred: transmitting, by the user device, a request for a cached version of the resource to a cache server at a second domain that is different from the first domain and different from the user device, wherein the cached version of the resource comprises a copy of the resource captured at an earlier point in time from the first domain; and receiving cache data that causes the user device to display the cached version of the resource and a cache indicator that includes a message specifying that the resource is currently unavailable at the first domain; and in response to determining that the first server did not provide response data: transmitting, by the user device, a request for a cached version of the resource to the cache server at the second domain, wherein the cached version of the resource comprises a copy of the resource captured at an earlier point in time; and receiving cache data that causes the user device to display the cached version of the resource and a cache indicator that includes a message specifying that the resource is currently unavailable at the first domain.