Wire protocol for a media server system
First Claim
1. One or more computer-readable media having computer-executable instructions that, when executed by a computer, perform a method in a computer network having a client on a first computer and a media server for storing data on a second computer, the method comprising the acts 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, the control connection utilizing a first transport protocol; 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 based upon a rate at which the client consumes the data, the data connection using a second transport protocol distinct from the first transport protocol.
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
20 Claims
-
1. One or more computer-readable media having computer-executable instructions that, when executed by a computer, perform a method in a computer network having a client on a first computer and a media server for storing data on a second computer, the method comprising the acts 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, the control connection utilizing a first transport protocol; 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 based upon a rate at which the client consumes the data, the data connection using a second transport protocol distinct from the first transport protocol. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more computer-readable media having computer-executable instructions that, when executed by a computer, perform a method of interconnecting the media server and the client 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, the method comprising the acts of:
-
creating a control connection for enabling control information to pass between the media server and the client, the control connection utilizing a first transport protocol; and
creating a data funnel connection between the media server and the client for transferring data between the media server and the client at a rate based upon a rate at which the client consumes data, the data funnel connection using a second transport protocol distinct from the first transport protocol. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. One or more computer-readable media having computer-executable instructions that, when executed by a computer, perform a method 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, the method comprising the acts of:
-
sending a 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 to provide multiple media output specified by the first request to the client and returning an acknowledgment to the client that includes the first identifier to specify that servicing of the first request has begun; and
at the media server, asynchronously servicing the second request to provide multiple media output specified by the second request to the client concurrently with providing multiple media output specified by the first request and returning an acknowledgment to the client that includes the second identifier to specify that processing of the second request has begun, such that, for a period of time, the media server is providing multiple media output as specified by both the first and second requests.
-
Specification