Caching techniques for streaming media
First Claim
1. A method of managing a cache in a computer network environment comprising at least one client computer resident as a node on a first network, a proxy server communicably linked to the first network and to a second network, and at least one server computer resident as a node on the second network, the method comprising:
- receiving at the proxy server a request from a requesting one of the at least one client computers to a serving one of the at least one server computers for selected content associated with a selected resource identifier, wherein caching of the selected content would require the use of additional network resources in addition to those required for serving the content to the requesting client computer;
computing a count value associated with a number of times that the selected content has been requested by any of the at least one client computers; and
as a function of the determined count value, determining whether to store the selected content in the cache whereby while the selected content remains in the cache, future requests for the selected content by any of the at least one client computers will be served from the cache rather than from the serving one of the at least one server computers.
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.
99 Citations
24 Claims
-
1. A method of managing a cache in a computer network environment comprising at least one client computer resident as a node on a first network, a proxy server communicably linked to the first network and to a second network, and at least one server computer resident as a node on the second network, the method comprising:
-
receiving at the proxy server a request from a requesting one of the at least one client computers to a serving one of the at least one server computers for selected content associated with a selected resource identifier, wherein caching of the selected content would require the use of additional network resources in addition to those required for serving the content to the requesting client computer;
computing a count value associated with a number of times that the selected content has been requested by any of the at least one client computers; and
as a function of the determined count value, determining whether to store the selected content in the cache whereby while the selected content remains in the cache, future requests for the selected content by any of the at least one client computers will be served from the cache rather than from the serving one of the at least one server computers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-readable medium having stored thereon a data structure comprising:
-
a URL data field for storing a value identifying at least one URL;
a request count data field associated with the URL data field for storing a request count value for each of the at least one URLs, wherein the request count value is derived from the number of times that streaming media content associated with the at least one URL has been requested; and
a request rate data field associated with the URL data field for storing a request rate value for the at least one URL, wherein the request rate value is derived from the time elapsed during the receipt of a predetermined number of requests for streaming media content associated with the at least one URL. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method of caching streaming media content at a proxy server comprising:
-
analyzing a current request for an item of streaming media to determine whether the item of streaming media has been requested more than a predetermined number of times; and
determining that the item of streaming media is cachable if the item of streaming media has been requested more than the predetermined number of times. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A proxy server for communicating between a local area network and a wide area network comprising:
-
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
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 cache, wherein the cache manager determines whether to add a current requested item to the cache based on a calculated request count derived from the number of requests made for the current item and a calculated request rate derived substantially from an inverse of an average period of time elapsed between each set of two temporally adjacent requests for the current item.
-
-
23. A method for retrieving an item of streaming media at a network client computer from a network server computer via a network intermediary computer comprising:
-
transmitting a request from the client computer to the intermediary computer for the item of streaming media, wherein the intended recipient of the request is the server computer;
receiving at the client computer from the intermediary computer the item of streaming media, wherein the item of streaming media was obtained by the intermediary computer from a streaming media cache maintained at the intermediary computer, and wherein the contents of the streaming media cache comprise a plurality of cache items of streaming media which are established and maintained as cache content as a function of a respective number of requests and frequency of requests received by the intermediary computer for each such cache item. - View Dependent Claims (24)
-
Specification