System and metehod for highly scalable real-time and time-based data delivery using server clusters
Abstract
The present invention provides loosely-coupled cluster systems comprising a plurality of servers based on storage attached to the plurality of servers. Videos, or other assets, are automatically replicated within the server system to increase the number of concurrent play requests serviceable. The server systems can detect spikes in demand that may exceed the guaranteed number of concurrent play requests serviceable and dynamically transfer the high-in-demand or ‘hot’ asset to servers in the cluster that do not have the video. Alternatively, instead of transferring the entire asset, varying length prefixes of the asset may be transferred depending on the availability of resources. The remainder of the asset is transferred in some embodiments on demand with sufficient buffering or other storage to guarantee playback to the user or subscriber according to the required quality of service (QOS).
Claims
exact text as granted — not AI-modified1 . A server system for time-based media streaming comprising:
a plurality of servers coupled for communication and including a first server; and a computer readable storage medium at said first server storing therein information associated with an asset that is replicated in a computer readable storage medium associated with at least one other server; said first server being configured to: (i) receive a request for said asset from an external client coupled to the server system; and (ii) determine if said asset is a hot asset, and if said asset is determined to be a hot asset, then copying information associated with said asset to a second server including copying at least one of: (a) a prefix of said asset to said second server, and (b) copying the asset to the second server and streaming the prefix of the asset from the second server.
2 . A server system according to claim 1 , wherein said asset comprises an audio or a video.
3 . A server system according to claim 1 , wherein said asset information comprises metadata associated with an asset.
4 . A server system according to claim 1 , wherein said first server stores a hot asset count value and a hot asset period and is further configured to keep track of received requests for assets and to replicate part or all of the asset to another server in response to a determination that a number of received requests for the asset during a period equal in length to the hot asset period exceeds the hot asset count value.
5 . A server system according to claim 1 , wherein said first server is further configured to cause the request from the client to be sent to the second server by informing the client to send the request to the second server.
6 . A method for time-based streaming of assets, said method comprising:
receiving a request from a client for an asset at a first server; and determining if said asset is a hot asset, and if said asset is determined to be a hot asset, then copying information associated with said asset to a second server including copying at least one of: (a) a prefix of said asset to said second server, and (b) copying the asset to the second server and streaming the prefix of the asset from the second server.
7 . A computer program product for use in conjunction with a first server having at least one processor and a memory coupled to the processor, the first server being in communication with at least one second server, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
a program module that directs the first server to function in a specified manner to provide for time-based streaming of assets upon receiving a request for an asset from an external client the program module including instructions for: receiving a request from a client for an asset at a first server; and determining if said asset is a hot asset, and if said asset is determined to be a hot asset, then copying information associated with said asset to a second server including copying at least one of: (a) a prefix of said asset to said second server, and (b) copying the asset to the second server and streaming the prefix of the asset from the second server.
8 . A method for operating a time-base accurate asset streaming business, said method comprising:
operating a plurality of servers each configured to receive and service requests for assets from external clients of said business, said operating comprising: operating a first server to receive a request from a client for an asset at said first server; and operating said first server to determine if said asset is a hot asset, and if said asset is determined to be a hot asset, then copying information associated with said asset to a second server including copying at least one of: (a) a prefix of said asset to said second server, and (b) copying the asset to the second server and streaming the prefix of the asset from the second server.
9 . A method for dynamically adjusting to content delivery service demand in a real-time system, the method comprising:
detecting demand for a particular asset; and automatically and dynamically increasing a capacity for playing out a particular asset when demand for that asset increases.
10 . A method as in claim 9 , further including detecting demand for a plurality of different assets and automatically load-balancing said playing out said plurally of assets in response to said detected demands.
11 . A system for dynamically adjusting to content delivery service demand in a real-time system, the system comprising:
a plurality of servers coupled for communication; and
at least a first one of said plurality of servers including a receiver for receiving a request for an asset from an external client, and a detector for detecting demand for a particular asset based on said received requests; and
said plurality of servers being configured to automatically and dynamically increase a system capacity for playing out a particular asset when demand for that asset increases.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.