A method and system are provided for caching data in a manner that
substantially maintains a desired level of system performance. A cache
server receives data requests on behalf of a data server. When new data on
the data server is generated or stored that replaces or changes data
cached on the cache server, the corresponding data on the cache server is
invalidated. A subsequent request for the new data may be forwarded to the
data server or may be served with the invalid data on the cache server.
Determining how to serve the request may depend on a possible impact on
system performance and/or one or more characteristics or parameters
associated with the requested data. The impact on system performance may
be determined by examining actual and/or desired operating conditions
(e.g., rate or number of requests, load on the data server, response time
to requests, number of open connections, throughput). The data parameters
that may be considered may include the popularity of the data; frequency
of access to the data; number of accesses; age, size, or type of the data;
whether or when a version of the data on the cache server is invalid; how
severely invalid the cache server version is; the cost of retrieving the
data from the data server; etc. One request received for the new data may
be forwarded to the data server in order to receive the new data, cache it
and return in to the requester. In order to promote performance, however,
any number of requests for new data that is to replace cached data (even a
first request received after the cached data is invalidated) may be served
with cache data that is responsive but invalid.
Un método y un sistema se proporcionan para los datos que depositan de una manera que mantenga substancialmente un nivel deseado del funcionamiento del sistema. Un servidor del escondrijo recibe peticiones de los datos a nombre de un servidor de los datos. Cuando los nuevos datos sobre el servidor de los datos se generan o se almacenan que substituye o cambia los datos depositados en el servidor del escondrijo, los datos correspondientes sobre el servidor del escondrijo se invalidan. Una petición subsecuente los nuevos datos se puede remitir al servidor de los datos o se puede servir con los datos inválidos sobre el servidor del escondrijo. La determinación de cómo servir la petición puede depender de un impacto posible en funcionamiento del sistema y/o unas o más características o de parámetros asociados a los datos solicitados. El impacto en funcionamiento del sistema puede ser determinado examinando condiciones de funcionamiento reales y/o deseadas (e.g., índice o número de peticiones, carga en el servidor de los datos, tiempo de reacción a las peticiones, número de conexiones abiertas, rendimiento de procesamiento). Los parámetros de los datos que pueden ser considerados pueden incluir el renombre de los datos; frecuencia del acceso a los datos; número de accesos; edad, tamaño, o tipo de los datos; si o cuando una versión de los datos sobre el servidor del escondrijo es inválida; cómo seriamente es inválido es la versión del servidor del escondrijo; el coste de recuperar los datos del servidor de los datos; etc. Una petición recibida para los nuevos datos se puede remitir al servidor de los datos para recibir los nuevos datos, depositarlos y volver adentro al solicitante. Para promover funcionamiento, sin embargo, cualquier número de las peticiones los nuevos datos que son substituir los datos depositados (incluso una primera petición recibida después de que se invaliden los datos depositados) se puede servir con los datos del escondrijo que son responsivos solamente el invalid.