Scalable architecture for media-on demand servers
First Claim
1. A media server for use in retrieving stored data streams from a storage system, the media server comprising:
- a plurality of stream pumping engines, each of the stream pumping engines connected directly to a distinct storage device of the storage system and directly to a system bus of the media server, wherein each of the stream pumping engines is operative to retrieve data, stored on the distinct storage device to which it is connected, and reconstitute a requested data stream from said data, and to deliver the requested data stream to an appropriate client; and
a server processor coupled to the stream pumping engines via the system bus, wherein the server processor is operative to receive retrieval requests from clients and to direct the operations of the plurality of stream pumping engines in accordance with the retrieval requests.
0 Assignments
0 Petitions
Accused Products
Abstract
A scalable server architecture for use in implementing scaled media servers capable of simultaneous real-time data stream retrieval for large numbers of subscribers. A scalable server includes a plurality of stream pumping engines each accessing a particular storage device of a storage subsystem, and a server processor which receives retrieval requests from subscribers and directs the stream pumping engines to retrieve the requested data streams. Each of the stream pumping engines may include a storage controller coupled to its corresponding storage device for directing retrieval of the requested stream therefrom, a network controller for supplying the retrieved stream to a client network, and a processor for directing the operation of the storage and network controllers. Each of the stream pumping engines may also include a shared memory accessible by the corresponding stream pumping engine processor and the server processor. The shared memory facilitates communication with other stream pumping engines via the server processor and server system bus. A scaled media server may be implemented by cross-connecting several scalable servers with a plurality of stream multiplexers. Each of the stream multiplexers can include a separate packet input unit for processing the packets of each media stream such that two distinct levels of transmission priority are provided and quality of server restrictions are satisfied for all streams.
196 Citations
12 Claims
-
1. A media server for use in retrieving stored data streams from a storage system, the media server comprising:
-
a plurality of stream pumping engines, each of the stream pumping engines connected directly to a distinct storage device of the storage system and directly to a system bus of the media server, wherein each of the stream pumping engines is operative to retrieve data, stored on the distinct storage device to which it is connected, and reconstitute a requested data stream from said data, and to deliver the requested data stream to an appropriate client; and
a server processor coupled to the stream pumping engines via the system bus, wherein the server processor is operative to receive retrieval requests from clients and to direct the operations of the plurality of stream pumping engines in accordance with the retrieval requests. - View Dependent Claims (2, 3, 4, 5, 6)
a storage controller coupled to the distinct storage device associated with the given stream pumping engine and operative to retrieve a data stream therefrom in response to particular ones of the retrieval requests;
a network controller coupled to the storage controller and operative to receive therefrom the retrieved data stream and to supply the retrieved data stream to a network accessible by the appropriate client; and
a stream pumping engine processor coupled to the storage controller and network controller and operative to direct the operations thereof.
-
-
3. The media server of claim 2 wherein the given stream pumping engine further includes a shared memory accessible by the stream pumping engine processor and the server processor.
-
4. The media server of claim 1 wherein the server processor is operative to direct communication between at least two of the plurality of stream pumping engines.
-
5. The media server of claim 1 further including a storage controller coupled to the system bus and operative to retrieve control instructions from a control storage device.
-
6. The media server of claim 1 further including an upstream controller coupled to the system bus and operative to receive the retrieval requests from client networks and to supply the requests to the server processor via the system bus.
-
7. A method for use in a media server for retrieving stored data streams from a storage system, the method comprising the steps of:
-
connecting each of a plurality of stream pumping engines directly to a distinct storage device of the storage system and directly to a system bus of the media server, each of the stream pumping engines retrieving data stored on the distinct storage device to which it is connected, reconstitute a requested data stream from said data, and delivering the requested data stream to an appropriate client;
receiving retrieval requests from clients in a server processor coupled to each of the stream pumping engines via the system bus, the server processor directing the operations of the plurality of stream pumping engines in accordance with the retrieval requests. - View Dependent Claims (8)
-
-
9. A media server for use in retrieving stored data streams from a storage system, the media server comprising:
-
a plurality of scalable media server hosts, each including a plurality of stream pumping engines operative to retrieve data from corresponding storage devices of a storage system, and reconstitute a requested data stream from said data;
an output corresponding to each of the stream pumping engines;
a plurality of stream multiplexers having inputs cross-connected to at least one of the retrieved data stream outputs of each of the scalable media server hosts, and operative to deliver the retrieved data streams in accordance with quality of service restrictions;
a plurality of stream pumping engines, each of the stream pumping engines connected directly to a distinct storage device of the storage system and directly to a system bus of the media server, wherein each of the stream pumping engines is operative to retrieve data stored on the distinct storage device to which it is connected, and reconstitute a requested data stream from said data and to deliver the requested data stream to an appropriate client; and
a server processor coupled to the stream pumping engines via the system bus, wherein the processor is operative to receive retrieval requests from clients and to direct the operations of the plurality of stream pumping engines in accordance with the retrieval requests. - View Dependent Claims (10, 11, 12)
a storage controller coupled to the distinct storage device associated with the given stream pumping engine and operative to retrieve a data stream therefrom in response to particular ones of the retrieval requests;
a network controller coupled to the storage controller and operative to receive therefrom the retrieved data stream and to supply the retrieved data stream to a network accessible by the appropriate client; and
a stream pumping engine processor coupled to the storage controller and network controller and operative to direct the operations thereof.
-
-
11. The media server of claim 10 wherein the given stream pumping engine further includes a shared memory accessible by the stream pumping engine processor and the server processor.
-
12. The media server of claim 9 wherein the server processor is operative to direct communication between at least two of the plurality of stream pumping engines.
Specification