The invention provides a method and system for operating multiple
communicating caches. Between caches, unnecessary transmission of repeated
information is substantially reduced. Each cache maintains information to
improve the collective operation of the system of multiple communicating
caches. This can include information about the likely contents of each
other cache, or about the behavior of client devices or server devices
coupled to other caches in the system. Pairs of communicating caches
substantially compress transmitted information. This includes both
reliable compression, in which the receiving cache can reliably identify
the compressed information in response to the message, and unreliable
compression, in which the receiving cache will sometimes be unable to
identify the compressed information. A first cache refrains from
unnecessarily transmitting the same information to a second cache when
each already has a copy. This includes both maintaining a record at a
first cache of information likely to be stored at a second cache, and
transmitting a relatively short identifier for that information in place
of the information itself. A set of caches are disposed in a directed
graph structure, with a set of root caches disposed for coupling to server
devices and a set of leaf caches disposed for coupling to client devices.
Both root caches and leaf caches maintain non-cacheable objects beyond
their initial use, along with digests of the non-cacheable objects. When a
server device returns identical information to a root cache, root caches
can transmit only associated digests to leaf caches, avoiding
re-transmitting the entire non-cacheable object.
L'invention fournit une méthode et un système pour actionner les cachettes communiquantes multiples. Entre les cachettes, la transmission inutile d'information répétée est sensiblement réduite. Chaque cachette maintient l'information pour améliorer l'opération collective du système des cachettes communiquantes multiples. Ceci peut inclure des informations au sujet des teneurs probables de l'un l'autre cachette, ou sur le comportement des dispositifs de client ou des dispositifs de serveur couplés à d'autres cachettes dans le système. Les paires de la compresse communiquante de cachettes sensiblement ont transmis l'information. Ceci inclut la compression fiable, dans laquelle la cachette de réception peut sûrement identifier l'information comprimée en réponse au message, et la compression incertaine, dans laquelle la cachette de réception ne pourra pas parfois identifier l'information comprimée. Une première cachette s'abstient à transmettre inutilement la même information à une deuxième cachette quand chacune a déjà une copie. Ceci inclut tous les deux qui maintiennent probablement un disque à une première cachette d'information à stocker à une deuxième cachette, et qui transmettent une marque relativement courte pour cette information au lieu de l'information elle-même. Un ensemble de cachettes sont disposés dans une structure de graphique dirigée, avec un ensemble de cachettes de racine disposées pour coupler aux dispositifs de serveur et un ensemble de cachettes de feuille disposées pour coupler aux dispositifs de client. Les cachettes de racine et les cachettes de feuille maintiennent les objets non-cacheable au delà de leur utilisation initiale, avec des sommaires des objets non-cacheable. Quand un dispositif de serveur renvoie l'information identique à une cachette de racine, les cachettes de racine peuvent transmettre seulement les sommaires associés aux cachettes de feuille, évitant retransmettant l'objet non-cacheable entier.