Distributed cache—adaptive multicast architecture for bandwidth reduction
First Claim
1. A computerized method for maximizing use of communication bandwidth on an ISP communication system connecting at least one remote location to an Internet Service Provider (ISP), said ISP communication system having a maximum total downstream bandwidth available to transmit objects downstream from said ISP to said at least one remote location, said at least one remote location having a remote cache, said computerized method comprising:
- monitoring downstream unicast communication traffic on said ISP communication system;
determining an estimated downstream unicast reply bandwidth based on said monitored downstream unicast communication traffic, said estimated downstream unicast reply bandwidth being an estimated portion of said maximum total downstream bandwidth utilized to deliver unicast replies containing requested objects downstream from said ISP to said at least one remote location in response to requests for said requested objects transmitted upstream from said at least one remote location to said ISP;
placing said requested objects contained in said downstream unicast replies monitored in said downstream communication traffic into a pool of cacheable objects;
determining an available downstream multicast bandwidth based on said maximum total downstream bandwidth and said estimated downstream unicast reply bandwidth;
determining a bandwidth savings from remote caching for each requested object in said pool of cacheable objects as a function of a delivery cost/size of each requested object, a Time To Live (TTL)/expiry time of each requested object, and a frequency of request for each requested object;
prioritizing said requested objects in said pool of cacheable objects based on said determined bandwidth savings for each requested object in said pool of cacheable objects;
determining a sub-group of said requested objects in said pool of cacheable objects to place in a queue of multicast cacheable objects to multicast to said remote cache at said at least one remote location based on said prioritized pool of cacheable objects and said available downstream multicast bandwidth;
delivering objects in said queue of multicast cacheable objects to said remote cache at said at least one remote location via multicast transmissions downstream from said ISP to said remote location;
intercepting requests sent upstream from said at least one remote location for objects contained in said remote cache at said remote cache; and
responding to said intercepted requests by said remote cache at said at least one remote location with replies containing said requested objects contained in said remote cache such that upstream and downstream bandwidth on said ISP communication system is saved by excluding upstream requests for, and downstream replies containing, said requested objects contained in said remote cache.
6 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a method and system for maximizing the use of available bandwidth on an ISP communication system between an Internet Service Provider (ISP) and remote locations where at least one of the remote locations has a remote cache. An embodiment may monitor downstream unicast traffic, estimate the downstream unicast bandwidth used by unicast replies to the remote locations, and determine a remaining multicast bandwidth available to send multicast messages to the remote caches. An embodiment may create a pool of the cacheable objects being sent to the remote locations from the downstream traffic. An embodiment may determine bandwidth savings for each object in the pool of cacheable objects that would be achieved by remotely caching each object and prioritize the pool of cacheable objects based on the determined bandwidth savings for each object. An embodiment may create a queue of objects to multicast to the remote caches based on the pool of cacheable objects and the remaining multicast bandwidth and then multicast the queue to the remote caches. The remote caches may intercept and reply to requests for objects held in the remote cache without accessing the ISP communication system, thus, saving bandwidth on the ISP communication system.
45 Citations
31 Claims
-
1. A computerized method for maximizing use of communication bandwidth on an ISP communication system connecting at least one remote location to an Internet Service Provider (ISP), said ISP communication system having a maximum total downstream bandwidth available to transmit objects downstream from said ISP to said at least one remote location, said at least one remote location having a remote cache, said computerized method comprising:
-
monitoring downstream unicast communication traffic on said ISP communication system; determining an estimated downstream unicast reply bandwidth based on said monitored downstream unicast communication traffic, said estimated downstream unicast reply bandwidth being an estimated portion of said maximum total downstream bandwidth utilized to deliver unicast replies containing requested objects downstream from said ISP to said at least one remote location in response to requests for said requested objects transmitted upstream from said at least one remote location to said ISP; placing said requested objects contained in said downstream unicast replies monitored in said downstream communication traffic into a pool of cacheable objects; determining an available downstream multicast bandwidth based on said maximum total downstream bandwidth and said estimated downstream unicast reply bandwidth; determining a bandwidth savings from remote caching for each requested object in said pool of cacheable objects as a function of a delivery cost/size of each requested object, a Time To Live (TTL)/expiry time of each requested object, and a frequency of request for each requested object; prioritizing said requested objects in said pool of cacheable objects based on said determined bandwidth savings for each requested object in said pool of cacheable objects; determining a sub-group of said requested objects in said pool of cacheable objects to place in a queue of multicast cacheable objects to multicast to said remote cache at said at least one remote location based on said prioritized pool of cacheable objects and said available downstream multicast bandwidth; delivering objects in said queue of multicast cacheable objects to said remote cache at said at least one remote location via multicast transmissions downstream from said ISP to said remote location; intercepting requests sent upstream from said at least one remote location for objects contained in said remote cache at said remote cache; and responding to said intercepted requests by said remote cache at said at least one remote location with replies containing said requested objects contained in said remote cache such that upstream and downstream bandwidth on said ISP communication system is saved by excluding upstream requests for, and downstream replies containing, said requested objects contained in said remote cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A distributed cache adaptive multicast system for maximizing use of communication bandwidth on an ISP communication system connecting at least one remote location to an Internet Service Provider (ISP), said ISP communication system having a maximum total downstream bandwidth available to transmit objects downstream from said ISP to said at least one remote location, said at least one remote location having a remote cache, said distributed cache adaptive multicast system comprising:
-
a listener subsystem that monitors downstream unicast communication traffic on said ISP communication system; a downstream unicast reply bandwidth estimator subsystem that determines an estimated downstream unicast reply bandwidth based on said monitored downstream unicast communication traffic, said estimated downstream unicast reply bandwidth being an estimated portion of said maximum total downstream bandwidth utilized to deliver unicast replies containing requested objects downstream from said ISP to said at least one remote location in response to requests for said requested objects transmitted upstream from said at least one remote location to said ISP; a pool of cacheable objects subsystem that places said requested objects contained in said downstream replies monitored by said listener subsystem into a pool of cacheable objects; an available multicast estimator subsystem that determines an available downstream multicast bandwidth based on said maximum total downstream bandwidth and said estimated downstream unicast reply bandwidth; a prioritizer subsystem that determines a bandwidth savings from remote caching for each requested object in said pool of cacheable objects as a function of a delivery cost/size of each requested object, a Time To Live (TTL)/expiry time of each requested object, and a frequency of request for each requested object, and that prioritizes said requested objects in said pool of cacheable objects based on said determined bandwidth savings for each requested object in said pool of cacheable objects; a multicast queue subsystem that determines a sub-group of said requested objects in said pool of cacheable objects to place in a queue of multicast cacheable objects to multicast to said remote cache at said at least one remote location based on said prioritized pool of cacheable objects and said available downstream multicast bandwidth; and a multicast delivery subsystem that delivers objects in said queue of multicast cacheable objects to said remote cache at said at least one remote location via multicast transmissions downstream from said ISP to said remote location in order to permit said at least one remote cache to intercept requests sent upstream from said at least one remote location for objects contained in said remote cache at said remote cache, and to respond to said intercepted requests by said remote cache at said at least one remote location with replies containing said requested objects contained in said remote cache such that upstream and downstream bandwidth on said ISP communication system is saved by excluding upstream requests for and downstream replies containing said requested objects contained in said remote cache. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A distributed cache adaptive multicast system for maximizing use of communication bandwidth on an ISP communication system connecting at least one remote location to an Internet Service Provider (ISP), said ISP communication system having a maximum total downstream bandwidth available to transmit objects downstream from said ISP to said at least one remote location, said at least one remote location having a remote cache, said distributed cache adaptive multicast system comprising:
-
means for monitoring downstream unicast communication traffic on said ISP communication system; means for determining an estimated downstream unicast reply bandwidth based on said monitored downstream unicast communication traffic, said estimated downstream unicast reply bandwidth being an estimated portion of said maximum total downstream bandwidth utilized to deliver replies containing requested objects downstream from said ISP to said at least one remote location in response to requests for said requested objects transmitted upstream from said at least one remote location to said ISP; means for placing said requested objects contained in said downstream unicast replies monitored in said downstream communication traffic into a pool of cacheable objects; means for determining an available downstream multicast bandwidth based on said maximum total downstream bandwidth and said estimated downstream unicast reply bandwidth; means for determining a bandwidth savings from remote caching for each requested object in said pool of cacheable objects as a function of a delivery cost/size of each requested object, a Time To Live (TTL)/expiry time of each requested object, and a frequency of request for each requested object; means for prioritizing said requested objects in said pool of cacheable objects based on said determined bandwidth savings for each requested object in said pool of cacheable objects; means for determining a sub-group of said requested objects in said pool of cacheable objects to place in a queue of multicast cacheable objects to multicast to said remote cache at said at least one remote location based on said prioritized pool of cacheable objects and said available downstream multicast bandwidth; means for delivering objects in said queue of multicast cacheable objects to said remote cache at said at least one remote location via multicast transmissions downstream from said ISP to said remote location; means for intercepting requests sent upstream from said at least one remote location for objects contained in said remote cache at said remote cache; and means for responding to said intercepted requests by said remote cache at said at least one remote location with replies containing said requested objects contained in said remote cache such that upstream and downstream bandwidth on said ISP communication system is saved by excluding upstream requests for, and downstream replies containing, said requested objects contained in said remote cache.
-
Specification