Wire protocol for a media server system
First Claim
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 the steps of:
- 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 is configured to;
receive one or more request messages from the client, each request message including a unique identifier, which serves as a basis for identifying each request; and
provide a response message to each of the one or more request messages by using the unique identifier as a mechanism to match the response message with one of the one or more request messages.
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
24 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 the steps of:
- 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 is configured to; receive one or more request messages from the client, each request message including a unique identifier, which serves as a basis for identifying each request; and provide a response message to each of the one or more request messages by using the unique identifier as a mechanism to match the response message with one of the one or more request messages. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- providing a wire protocol that facilitates creation of connections between the media server and the client;
-
10. 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 the steps of:
-
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 transferred 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 is configured to; receive one or more request messages from the client, each request message including a unique identifier, which serves as a basis for identifying each request; and provide a response message to each of the one or more request messages by using the unique identifier as a mechanism to match the response message with one of the one or more request messages. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. 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 and a data connection for passing data between the media server and the client, a method comprising the steps of:
-
sending a read request message from the client to the media server over the control connection wherein said read request message requests that data in a file of multiple media data stored at the media server be read and input to the client, sending a read request acknowledgment message from the media server to the client over the control connection to acknowledge the read request message; and forwarding the requested data from the media server to the client over the data connection at a rate that is substantially equal to the rate at which the client consumes the data, wherein the media server is configured to; match the read request acknowledgment message with the read request message sent by the client by using a unique identifier, the unique identifier serving as a basis for identifying the read request message. - View Dependent Claims (18, 19, 20)
-
-
21. 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; and 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, wherein the media server is configured to; receive one or more request messages from the client, each request message including a unique identifier, which serves as a basis for identifying each request; and provide a response message to each of the one or more request messages by using the unique identifier as a mechanism to match the response message with one of the one or more request messages. - View Dependent Claims (22, 23, 24)
-
Specification