Caching techniques for streaming media
First Claim
1. At a proxy server communicably linked to a first network and communicably linked to a second network, the first network including at least one client computer and the second network including at least one server computer, a method of caching streaming media content from a server computer at the proxy server to facilitate more efficient client computer access to the streaming media content, the method comprising:
- receiving a request for streaming media content from a client computers included in the first network, the request directed to a server computer in the second network, the request corresponding to a resource identifier that identifies streaming media content maintained by the server computer;
determining that the number of requests for the identified streaming media content satisfies a threshold indicative of the streaming media content being a candidate for caching at the proxy server, the determination based on analysis of the received request and on analysis of one or more previously received requests for the identified streaming media content from client computers in the first network, the one or more previously received requests being received at the proxy server prior to the received request being received at the proxy server;
in response to the threshold being satisfied, calculating a request rate for the resource identifier based on the number of ticks of an adaptive global clock that occurred between reception of the first previously received request and reception of the received request, the ticks of the adaptive global clock accruing at different rates according to the level of network activity at the network proxy;
determining that the calculated request rate is greater than the request rate for at least one resource identifier corresponding to streaming media content previously cached at the proxy server; and
caching the requested streaming media content at the proxy server.
3 Assignments
0 Petitions
Accused Products
Abstract
A streaming media caching mechanism and cache manager efficiently establish and maintain the contents of a streaming media cache for use in serving streaming media requests from cache rather than from an original data source when appropriate. The cost of caching is incurred only when the benefits of caching are likely to be experienced. The caching mechanism and cache manager evaluate the request count for each requested URL to determine whether the URL represents a cache candidate, and further analyze the URL request rate to determine whether the content associated with the URL will be cached. In an embodiment, the streaming media cache is maintained with a predetermined amount of reserve capacity rather than being filled to capacity whenever possible.
-
Citations
8 Claims
-
1. At a proxy server communicably linked to a first network and communicably linked to a second network, the first network including at least one client computer and the second network including at least one server computer, a method of caching streaming media content from a server computer at the proxy server to facilitate more efficient client computer access to the streaming media content, the method comprising:
-
receiving a request for streaming media content from a client computers included in the first network, the request directed to a server computer in the second network, the request corresponding to a resource identifier that identifies streaming media content maintained by the server computer; determining that the number of requests for the identified streaming media content satisfies a threshold indicative of the streaming media content being a candidate for caching at the proxy server, the determination based on analysis of the received request and on analysis of one or more previously received requests for the identified streaming media content from client computers in the first network, the one or more previously received requests being received at the proxy server prior to the received request being received at the proxy server; in response to the threshold being satisfied, calculating a request rate for the resource identifier based on the number of ticks of an adaptive global clock that occurred between reception of the first previously received request and reception of the received request, the ticks of the adaptive global clock accruing at different rates according to the level of network activity at the network proxy; determining that the calculated request rate is greater than the request rate for at least one resource identifier corresponding to streaming media content previously cached at the proxy server; and caching the requested streaming media content at the proxy server. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A proxy server for communicating between a local area network and a wide area network comprising:
-
one or more processors; system memory; one or more computer storage media having stored thereon a non-streaming media proxy and cache module for proxying requests for non-streaming media content from nodes of the local area network and responses thereto from nodes of the wide area network, and for establishing and maintaining a cache for retrievably storing requested non-streaming media content; and one or more computer storage media having stored thereon a streaming media proxy and cache module comprising; a proxy module for proxying requests from nodes of the local area network for streaming media content and responses thereto from nodes of the wide area network; a streaming media cache for retrievably and selectively storing requested streaming media content; and a cache manager for establishing and maintaining the contents of the streaming media content cache, wherein the cache manager determines when to add streaming media content to the cache, the cache manager configured to; determine that the number of requests for streaming media content satisfy a threshold indicative of the streaming media content being a candidate for caching at the proxy server, the determination based on analysis of received requests for the identified streaming media content from nodes in the local area network; and in response to a threshold being satisfied, calculate a request rate for a corresponding resource identifier based on the number of ticks of an adaptive global clock that occurred between reception of received requests for the streaming media content, the ticks of the adaptive global clock accruing at different rates according to the level of network activity at the proxy server such that ticks of the global adaptive clock represent different amounts of time relative a standard world clock depending on the level of network activity; determine that a calculated request rate is greater than the request rate for at least one resource identifier corresponding to streaming media content previously cached at the proxy server.
-
-
8. A computer program product for use at a proxy server communicably linked to a first network and communicably linked to a second network, the first network including at least one client computer and the second network including at least one server computer, the computer program product for implementing a method of caching streaming media content from a server computer at the proxy server to facilitate more efficient client computer access to the streaming media content, the computer program product comprising one or more computer storage media having stored thereon computer-executable instructions that, when executed by a processor, cause the proxy server to perform the following:
-
receive a request for streaming media content from a client computer included in the first network, the request directed to a server computer in the second network, the request corresponding to a resource identifier that identifies streaming media content maintained by the server computer; determine that the number of requests for the identified streaming media content satisfies a threshold indicative of the streaming media content being a candidate for caching at the proxy server, the determination based on analysis of the received request and on analysis of one or more previously received requests for the identified streaming media content from client computers in the first network, the one or more previously received requests being received at the proxy server prior to the received request being received at the proxy server; in response to the threshold being satisfied, calculate a request rate for the resource identifier based on the number of ticks of an adaptive global clock that occurred between reception of the first previously received request and reception of the received request, the ticks of the adaptive global clock accruing at different rates according to the level of network activity at the network proxy; determine that the calculated request rate is greater than the request rate for at least one resource identifier corresponding to streaming media content previously cached at the proxy server; and cache the requested streaming media content at the proxy server.
-
Specification