Wire protocol for a media server system
First Claim
1. In a computer network with a client and a media server operatively communicating via the network, a message communications method comprising:
- sending a control-link request message to the media server that requests establishment of communication between the client and media server via a control link;
establishing a control link between the client and the media server;
sending a funnel request message via the control link to the media server that requests establishment of communication between the client and media server via a data funnel, wherein the funnel request message comprises a block-maximum-size field specifying a maximum size of a block of data;
establishing a data funnel, wherein the data funnel is configured to facilitate transmission of data between the client and the media server using network datagrams.
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.
24 Citations
37 Claims
-
1. In a computer network with a client and a media server operatively communicating via the network, a message communications method comprising:
-
sending a control-link request message to the media server that requests establishment of communication between the client and media server via a control link; establishing a control link between the client and the media server; sending a funnel request message via the control link to the media server that requests establishment of communication between the client and media server via a data funnel, wherein the funnel request message comprises a block-maximum-size field specifying a maximum size of a block of data; establishing a data funnel, wherein the data funnel is configured to facilitate transmission of data between the client and the media server using network datagrams. - View Dependent Claims (2, 3)
-
-
4. In a computer network with a client and a media server operatively communicating via the network, a message communications method comprising:
-
receiving a control-link request message at the media server, wherein the control-link request message requests establishment of communication between a client and the media server via a control link; establishing a control link between the client and the media server; returning a control-link response message to the client from the media server that notifies the client of establishment of the control link; receiving a funnel request message via the control link that requests establishment of communication between the client and media server via a data funnel; establishing a data funnel, wherein the data funnel is configured to facilitate transmission of data between the client and the media server using network datagrams; returning a funnel response message to the client from the server that notifies the client of establishment of the data funnel; and transmitting blocks of data from the media server to the client, wherein the funnel request message comprises a block-maximum-size field specifying a maximum size of a block of data. - View Dependent Claims (5, 6, 7, 8, 9)
-
-
10. A message manager for use in a network having a client, wherein the network is configured to facilitate communication via a control link and via a data funnel, wherein the data funnel is configured to facilitate transmission of data using network datagrams, the manager comprising:
-
a media server for communicating to a client over the network using the control link and the data funnel, wherein the media server is further configured to transmit blocks of data to the client; the media server being configured to receive a control-link request message, to return a control-link response message to the client that notifies the client of establishment of the control link, to receive a funnel request message, and to return a funnel response message to the client that notifies the client of establishment of the data funnel, wherein the funnel request message comprises a maximum-block-size field that indicates a maximum size of a block of data. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A message receiver for use in a network having a media server, wherein the network is configured to facilitate communication via a control link and via a data funnel, wherein the data funnel is configured to facilitate transmission of data using network datagrams, the receiver comprising:
-
a client for communicating to a client over the network using the control link and the data funnel; the client being configured to send a control-link request message to the media server that requests establishment of communication between the client and media server via a control link and to send a funnel request message via the control link to the media server that requests establishment of communications between the client and media server via a data funnel, wherein the funnel request message comprises a maximum-block-size field that indicates a maximum size of a block of data.
-
-
16. In a computer network with a client and a media server operatively communicating via the network, a message communications method comprising:
-
requesting a control link between the client and the media server; establishing such a control link; requesting a data funnel between the client and the media server; establishing such a data funnel; selecting a media file stored on media server; requesting delivery of the media file to the client by sending a deliver-file request message to media server, wherein the deliver-file request message comprises a position field that specifies a beginning position in the file from which delivery will begin. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. In a computer network with a client and a media server operatively communicating via the network, a message communications method comprising:
-
receiving a request for a control link between the client and the media server; establishing such a control link; receiving a request for a data funnel between the client and the media server; establishing such a data funnel; opening a media file; receiving a request for delivery of the media file to the client by receiving a deliver-file request message to the media server, wherein the deliver-file request message comprises a position field that specifies a beginning position in the file from which delivery will begin; delivering the file to the client via the data funnel, wherein the file is divided into blocks of data. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A computer-readable storage medium having instructions that are executable by a computer, in a computer network with a client and a media server operatively communicating via the network, to perform steps comprising:
-
requesting a control link between the client and the media server; establishing such a control link; requesting a data funnel between the client and the media server; establishing such a data funnel; selecting a media file stored on media server; requesting delivery of the media file to the client; and transmitting blocks of data from the media server to the client, wherein the requesting a data funnel includes a block-maximum-size field specifying a maximum size of a block of data.
-
-
37. A computer-readable storage medium having instructions that are executable by a computer, in a computer network with a client and a media server operatively communicating via the network, to perform steps comprising:
-
receiving a request for a control link between the client and the media server; establishing such a control link; receiving a request for a data funnel between the client and the media server; establishing such a data funnel; opening a media file; receiving a request for delivery of the media file to the client by receiving a deliver-file request message to the media server, wherein the deliver-file request message comprises a position field that specifies a beginning position in the file from which delivery will begin; delivering the file to the client via the data funnel, wherein the file is divided into blocks of data.
-
Specification