Providing streaming media data
First Claim
1. A method for servicing a request from a client system for transferring a streaming media object, the method comprising:
- receiving, at a stream director node comprising one or more hardware processors, a request from a client system for a streaming media object;
by the stream director node, identifying a stream engine node that includes the streaming media object in a networked data storage from which the streaming media object is to be transferred;
by the stream director node, authenticating and verifying that a user of the client system is able to reserve system resources; and
responsive to successful authentication and verification that the user of the client system is able to reserve system resources;
by the stream director node, passing back a location of the streaming media object to the client system;
by the stream director node, verifying that sufficient system resources are available to service the request by testing a load of the networked data storage against a load threshold;
responsive to failed verification that sufficient system resources are available to service the request, queuing, by the stream director node, the request until sufficient system resources become available; and
responsive to successful verification that sufficient system resources are available to service the request;
by the stream director node, dequeuing the request and preparing a data transfer path comprising one or more routers and one or more switches between the networked data storage and the client system that made the request, the stream director node not being included in the data transfer path;
by the stream director node, programming the one or more routers and the one or more switches to cause the one or more routers and the one or more switches to be reserved for use in a data transfer of the streaming media object; and
transferring by the stream engine node, over the data transfer path between the client system that made the request and the networked data storage, a stream of data in packets comprising the streaming media object.
9 Assignments
0 Petitions
Accused Products
Abstract
A system for servicing streaming media requests. The system includes stream director nodes and intelligent stream engine nodes, such as permanent storage devices with network interfaces. The stream director node receives a streaming media request and enqueues the request until all resources on a path from the stream engine node having the media object being requested to the user/client system have been reserved. Once reserved, the enqueued request is then serviced by requesting the stream object from the stream engine node, which then transfers the requested stream object between the stream engine node and the user/client system over the prepared path without involving the stream director node. Upon completion, the prepared path is torn down. In one embodiment the prepared path is a Label Switched Path. A provision is made for balancing the load among the stream engine nodes by duplicating stream objects on other stream engine nodes.
-
Citations
21 Claims
-
1. A method for servicing a request from a client system for transferring a streaming media object, the method comprising:
-
receiving, at a stream director node comprising one or more hardware processors, a request from a client system for a streaming media object; by the stream director node, identifying a stream engine node that includes the streaming media object in a networked data storage from which the streaming media object is to be transferred; by the stream director node, authenticating and verifying that a user of the client system is able to reserve system resources; and responsive to successful authentication and verification that the user of the client system is able to reserve system resources; by the stream director node, passing back a location of the streaming media object to the client system; by the stream director node, verifying that sufficient system resources are available to service the request by testing a load of the networked data storage against a load threshold; responsive to failed verification that sufficient system resources are available to service the request, queuing, by the stream director node, the request until sufficient system resources become available; and responsive to successful verification that sufficient system resources are available to service the request; by the stream director node, dequeuing the request and preparing a data transfer path comprising one or more routers and one or more switches between the networked data storage and the client system that made the request, the stream director node not being included in the data transfer path; by the stream director node, programming the one or more routers and the one or more switches to cause the one or more routers and the one or more switches to be reserved for use in a data transfer of the streaming media object; and transferring by the stream engine node, over the data transfer path between the client system that made the request and the networked data storage, a stream of data in packets comprising the streaming media object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for servicing a request from a client system for a streaming media object, the system comprising:
at least one stream director node comprising a memory device and one or more hardware processors, the one or more hardware processors being configured to; receive a request from a client system for a streaming media object; identify a stream engine node that includes a streaming media object in a networked data storage from which the streaming media object is to be transferred; authenticate and verify that a user of the client system is able to reserve system resources; and in response to successful authentication and verification that the user of the client system is able to reserve system resources; pass back a location of the streaming media object to the client system; verify that sufficient system resources are available to service the request by testing a load of the networked data storage against a load threshold; in response to failed verification that sufficient system resources are available to service the request, queue the request until sufficient system resources become available; and in response to successful verification that sufficient system resources are available to service the request; dequeue the request and prepare a data transfer path comprising one or more routers and one or more switches between the networked data storage and the client system that made the request, the at least one stream director node not being included in the data transfer path; program the one or more routers and the one or more switches to cause the one or more routers and the one or more switches to be reserved for use in a data transfer of the streaming media object; and initiate a transfer, over the data transfer path between the client system that made the request and the networked data storage, a stream of data in packets comprising the streaming media object. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
21. A system for servicing a request from a client system for transferring a streaming media object, the system comprising:
-
means for receiving a request from a client system for a streaming media object; means for identifying a stream engine node that includes a streaming media object in a networked data storage from which the streaming media object is to be transferred; means for authenticating and verifying that a user of the client system is able to reserve system resources; means for passing back, responsive to successful authentication and verification that the user of the client system is able to reserve system resources, a location of the streaming media object to the client system; means for verifying that sufficient system resources are available to service the request by testing a load of the networked data storage against a load threshold; means for queuing, responsive to failed verification that sufficient system resources are available to service the request, the request until sufficient system resources become available; means for dequeuing, responsive to successful verification that sufficient system resources are available to service the request, the request; means for preparing a data transfer path comprising one or more routers and one or more switches between the networked data storage and the client system that made the request; means for programing the one or more routers and the one or more switches to cause the one or more routers and the one or more switches to be reserved for use in a data transfer of the streaming media object; and means for initiating a transfer, over the data transfer path between the client system that made the request and the networked data storage, a stream of data in packets comprising the streaming media object.
-
Specification