1. Technical Field
The present invention relates generally to accessing objects available across the Internet; and more particularly to a system and method for caching such objects within an Intranet that couples to the Internet.
2. Related Art
The construction and operation of the publicly available Internet is generally known. Further, the construction and operation of Intranets that service a plurality of web clients are also generally known. As contrasted to the Internet which is available to the general public, Intranets service only a plurality of designated Intranet web clients and are typically established by businesses, universities or other entities. The Intranets service communications within the entities for the exchange of data, programs, work products, news and other information among the designated Intranet web clients.
With the great popularity and availability of the Internet, Intranet web clients require access to Internet resources as well. However, Intranets must be maintained and managed so that may support their primary intended communication purposes. Connections to the Internet jeopardize the integrity of the Intranets that may be caused by unauthorized entry, the introduction of viruses from the Internet and other attacks that come from the Internet. One methodology for protecting the Intranets is to limit access to the Intranets using Firewalls, which attempt to preclude unauthorized entry. Further, in the operation of most Intranets, Internet access by Intranet web clients is monitored in a further attempt to prevent problems. To perform this monitoring, Internet accesses are generally serviced via a proxy server or other interface between the Internet and Intranet.
Internet accesses require usage of external data links, the owners of such data links charging for the Internet accesses. In order to recapture the costs associated with these operations, administrators of the Intranets attempt to modify web client behavior to reduce the number of Internet accesses. However, establishing policies to reduce Internet accesses by the web clients typically fail. Web clients (on the Intranet) require the valuable resources available on the Internet and are not easily dissuaded.
Thus, in order to limit the volume of Internet accesses from the Intranet, some Intranets include Web Cache Servers (WCSs) which are implemented in conjunction with network proxies that reside between the Intranet and the Internet. Each web proxy services an associated set of web clients. When a web client requests that the object be accessed, the web client sends a request to the WCS, the WCS accesses the object, stores a copy of the object internally and sends a copy to the web client. On subsequent accesses of the object by any of an associated set of web clients, the cached object is returned to the web client and no Internet access is required.
By providing the WCS at the network proxy, the volume of external accesses (to the Internet) decreases and assessed costs also decrease. Further a reduction in external accesses decreases security risks, decreases load on the Internet, decreases load on the external web servers (coupled to the Internet that store the object), improves response times to the web clients and reduces the load on the Intranet Firewall.
Unfortunately, each network proxy can only service a limited number of web clients. Thus, each Intranet requires multiple network proxies, each network proxy associated with a relatively small set of web clients. Further, since web clients on an Intranet generally access the same objects, each WCS may cache the same objects as are cached in other WCSs. In such case, the burden of installing and servicing the WCSs may exceed any benefit obtained through their operation.
Thus, there is a need in the art for a system that reduces Internet object accesses from an Intranet such that redundancies are minimized, resources are efficiently used and the benefits provided by such a system outweigh any burdens created therefrom.
Thus, to overcome the shortcomings of the prior systems, among other shortcomings, an object caching system serving an Intranet constructed according to the present invention includes a cache name server and a plurality of web cache servers. Each of the plurality of web cache servers couples to the Intranet and to the Internet and stores a respective plurality of Internet objects that have been previously retrieved from the Internet. The cache name server couples to the Intranet, receives a request for an Internet object from a web client coupled to the Intranet, and directs the web client to a serving web cache server of the plurality of web cache servers based upon the request. If the serving web cache server possesses a copy of the Internet object, it returns a copy of the Internet object to the web client. However, if the serving web cache server does not possess a copy of the Internet object, it retrieves a copy of the Internet object from the Internet and returns a copy of the Internet object to the web client.
Dynamically binding web clients to web cache servers based upon the Internet object being requested provides many important advantages. No longer is each web client bound to a particular web cache server. Thus, loading may be distributed among the web cache servers. Further, multiple copies of Internet objects need not be cached by the web cache servers. Thus, the system of the present invention is more efficient and dynamic than the prior systems.
The cache name server includes a database that stores an identifier for each Internet object stored by the plurality of web cache servers. The cache name server also stores the identity of a serving web cache server for each Internet object stored by the plurality of web cache servers. The cache name server database may also store a time stamp for each Internet object.
Each web cache server also includes a database that stores a copy of each Internet object stored by the respective web cache server. Each web cache server may also store in its database a time stamp for each Internet object stored by the respective web cache server.
In Internet object parsing operations, the web cache server may remove a reference to an Internet object stored by a web cache server and direct the web cache server to remove the Internet object. Each web cache server may also perform such parsing operation, removing a stored Internet object and directing the cache name server to remove its reference to the Internet object. In these parsing operations, performed either by the cache name server or by the web cache servers, the Internet objects are removed based upon at least one deletion criterion. The deletion criterion may be the frequency at which web clients request the Internet object such that infrequently requested Internet objects are parsed. According to another deletion criterion, the Internet objects are deleted based upon their age.
When Internet objects are frequently requested, multiple copies of an Internet object may be cached in the web cache servers. By making multiple copies, loading on each web cache server corresponding to the object will be reduced.
Moreover, other aspects of the present invention will become apparent with further reference to the drawings and specification which follow.