Wire protocol for a media server system
First Claim
1. One or more computer-readable media having computer-executable instructions thereon that, when executed by a computer, perform acts within the context of a communications network having a client on a first computer and a media server for storing data on a second computer, the acts comprising:
- providing a wire protocol that facilitates creation of connections between the media server and the client;
using the wire protocol to create a control connection between the media server and the client to facilitate exchange of control information between the media server and the client; and
using the wire protocol to create a data connection between the media server and the client to facilitate the exchange of data between the media server and the client at a rate substantially equal to the rate at which the client consumes the data;
wherein the media server includes multiple data servers and wherein the step of using the wire protocol to create the data connection includes creating a multipoint-to-point connection between the data servers and the client.
1 Assignment
0 Petitions
Accused Products
Abstract
A wire protocol provides message formats for creating multiple network connections between a media server and a client. These multiple network connections may include a control link connection for passing control information and a data funnel connection for passing data of multiple media. The data funnel connection may be a multipoint-to-point connection that connects multiple data servers with the client. The protocol facilitates multiple requests being concurrently outstanding and asynchronous processing of requests. The protocol is designed to exist on top of a transport protocol layer.
-
Citations
8 Claims
-
1. One or more computer-readable media having computer-executable instructions thereon that, when executed by a computer, perform acts within the context of a communications network having a client on a first computer and a media server for storing data on a second computer, the acts comprising:
-
providing a wire protocol that facilitates creation of connections between the media server and the client; using the wire protocol to create a control connection between the media server and the client to facilitate exchange of control information between the media server and the client; and using the wire protocol to create a data connection between the media server and the client to facilitate the exchange of data between the media server and the client at a rate substantially equal to the rate at which the client consumes the data; wherein the media server includes multiple data servers and wherein the step of using the wire protocol to create the data connection includes creating a multipoint-to-point connection between the data servers and the client.
-
-
2. One or more computer-readable media having computer-executable instructions thereon that, when executed by a computer, perform acts within the context of a communications network having a client on a first computer and a media server for storing data on a second computer, the acts comprising:
-
providing a wire protocol that facilitates creation of connections between the media server and the client; using the wire protocol to create a control connection between the media server and the client to facilitate exchange of control information between the media server and the client; and using the wire protocol to create a data connection between the media server and the client to facilitate the exchange of data between the media server and the client at a rate substantially equal to the rate at which the client consumes the data; wherein the media server includes storage and wherein the method further comprises the step of using the wire protocol to cause data from the client to be passed over the data connection to the media server to be written on the storage at the media server.
-
-
3. One or more computer-readable media having computer-executable instructions thereon that, when executed by a computer, perform acts of interconnecting a media server and a client within the context of a distributed network having the media server on a first computer for supplying media output and the client on a second computer for requesting the media output from the media server, the acts comprising:
-
creating a control connection for enabling control information to pass between the media server and the client; and creating a data funnel connection between the media server and the client for data to transfer between the media server and the client at a rate substantially equal to a rate at which the client consumes data; wherein the media server includes multiple data servers and wherein the data funnel connection is a multipoint-to-point connection that connects at least some of the data servers with the client.
-
-
4. One or more computer-readable media having computer-executable instructions thereon that, when executed by a computer, perform acts of interconnecting a media server and a client within the context of a distributed system having the media server on a first computer for supplying media output and the client on a second computer for requesting the media output from the media server, the acts comprising:
-
creating a control connection for enabling control information to pass between the media server and the client; creating a data funnel connection between the media server and the client for data to transfer between the media server and the client at a rate substantially equal to a rate at which the client consumes data; sending multiple requests for service from the client over the control connection to the media server such that the multiple requests are concurrently outstanding; and asynchronously servicing the multiple requests for service at the media server.
-
-
5. In a communications network having a client on a first computer and a media server for storing data on a second computer, a system comprising means for performing functions comprising:
-
providing a wire protocol that facilitates creation of connections between the media server and the client; using the wire protocol to create a control connection between the media server and the client to facilitate exchange of control information between the media server and the client; and using the wire protocol to create a data connection between the media server and the client to facilitate the exchange of data between the media server and the client at a rate substantially equal to the rate at which the client consumes the data; wherein the media server includes multiple data servers and wherein the step of using the wire protocol to create the data connection includes creating a multipoint-to-point connection between the data servers and the client.
-
-
6. In a communications network having a client on a first computer and a media server for storing data on a second computer, a system comprising means for performing functions comprising:
-
providing a wire protocol that facilitates creation of connections between the media server and the client; using the wire protocol to create a control connection between the media server and the client to facilitate exchange of control information between the media server and the client; and using the wire protocol to create a data connection between the media server and the client to facilitate the exchange of data between the media server and the client at a rate substantially equal to the rate at which the client consumes the data; wherein the media server includes storage and wherein the method further comprises the step of using the wire protocol to cause data from the client to be passed over the data connection to the media server to be written on the storage at the media server.
-
-
7. In a distributed network having a media server on a first computer for supplying media output and a client on a second computer for requesting the media output from the media server, a system comprising means for performing functions comprising:
-
creating a control connection for enabling control information to pass between the media server and the client; and creating a data funnel connection between the media server and the client for data to transfer between the media server and the client at a rate substantially equal to a rate at which the client consumes data; wherein the media server includes multiple data servers and wherein the data funnel connection is a multipoint-to-point connection that connects at least some of the data servers with the client.
-
-
8. In a distributed system having the media server on a first computer for supplying media output and the client on a second computer for requesting the media output from the media server, a system comprising means for performing functions comprising:
-
creating a control connection for enabling control information to pass between the media server and the client; creating a data funnel connection between the media server and the client for data to transfer between the media server and the client at a rate substantially equal to a rate at which the client consumes data; sending multiple requests for service from the client over the control connection to the media server such that the multiple requests are concurrently outstanding; and asynchronously servicing the multiple requests for service at the media server.
-
Specification