Wire protocol for a media server system
First Claim
Patent Images
1. In a computer network having a client on a first computer and a media server for storing data on a second computer, a method 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 a 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. In a computer network having a client on a first computer and a media server for storing data on a second computer, a method 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 a 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. In a computer network having a client on a first computer and a media server for storing data on a second computer, a method 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 sever and the client; and
using the wire protocol to create a data connection between the media sever 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 sewer 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. In a distributed system 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 method of interconnecting the media server and the client 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 sever 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. In a distributed system having a media server on a first computer for supplying media ouput and a client on a second computer for requesting the media output from the media server, a method of interconnecting the media server and the client 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 distributed environment that includes a media server for providing
multiple media output to a client wherein said client is connected to the media server via a network connection, a method comprising the steps of: -
sending the first request for service from the client to the media server wherein said first request includes a first identifier that uniquely identifies the first request;
sending a second request for service from the client to the media server wherein said second request includes a second identifier that uniquely identifies the second request and wherein the second identifier differs from the first identifier;
at the media server, asynchronously servicing the first request and returning an acknowledgment to the client that includes the first identifier; and
at the media server, asynchronously servicing the second request and returning an acknowledgment to the client that includes the second identifier.
-
-
6. In a distributed system having a media server for storing files holding data of multiple media, a client for requesting service from the media server, a control connection between the media server and the client for passing control information between the media server and the client and a data connection for passing data between the media server and the client, a method comprising the steps of:
-
sending a write request message from the client to the media server over the control connection, said write request message requesting that data from the client be written into a file at the media server;
sending a write request acknowledgment message from the media server to the client over the control connection to acknowledge the write request message;
forwarding the data to be written from the client to the media server over the data connection; and
writing die forwarded data into the file at the media server.
-
-
7. In a distributed system having a media server storing files holding data of multiple media, a computer system comprising:
-
a control connection generator for creating a bidirectional control connection between the media server and the computer system to enable control information to be passed between the media server and the computer system;
a data connection generator for creating a bidirectional data connection between the media server and the computer system to enable data to be passed between the media server and the computer system; and
a request generator for generating request for service from the media server that are passed over the control connection wherein each request includes a unique identifier, the request generator further comprising a write generator for generating requests to write data from the computer system to the media server so that the data written is forwarded over the data connection to the media server and written into a file at the media server.
-
-
8. In a distributed system having a media server storing files holding data of multiple media, a computer comprising:
-
a control connection generator for creating a bidirectional control connection between the media server and the computer system to enable control information to be passed between the media server and the computer system;
a data connection generator for creating a bidirectional data connection between the media server and the computer system to enable data to be passed between the media server and the computer system; and
a message generator for generating a message that holds multiple messages for transmission over the control connection to the media server.
-
Specification