System for capability based multimedia streaming over a network
First Claim
1. A method of transferring data from a server computer to a client computer in accordance with client media capabilities of the client computer, the method comprising:
- determining media capabilities of said client computer to receive a transfer of media data from said server computer, wherein the client media capabilities comprise at least one of client computer processor type;
client computer processor speed, client computer multimedia decoder type or types, including client computer multimedia decoder type or types for a plurality of encodings of a media data in a first media format and client computer multimedia decoder type or types for a plurality of encodings of a media data in different media formats;
type and version of client computer operating system;
client computer memory size;
hardware and software network capabilities; and
network interfaces available;
sending the client media capabilities to the server computer, said server computer executing a media server process that receives and processes the client media capabilities and controls the media format and media format encoding of the media data;
wherein the sending of said client media capabilities to said server computer is performed a single time for multiple data transfer requests, said client media capabilities being stored and later retrieved for use in response to a later client request for a media data item without sending multiple times; and
directing transfer of the media data to the client computer responsive to the media capabilities received by the server, said determining and said sending of said media capabilities occurring separately from said directing transfer of said media data.
8 Assignments
0 Petitions
Accused Products
Abstract
The present invention is a system in which packet-switched (or general purpose network) multimedia data streaming is controlled based on the capabilities of a client and the preferences of a user. A server processor, coupled to the client processor over a packet-switched network, such as the Internet, receives client processor capabilities in association with a request for service for a multimedia type data transfer. The capabilities can be obtained by an application running on the client assessing the capabilities or through prompting of the user. The client capabilities include, for example, processor speed and multimedia encoders of the client. The server can also obtain the preferences of the user of the client processor and respond based on the preferences. Preferences include, for example, the quality of service of the transfer. The capabilities and preferences can be obtained via a query from the server to the client or can be automatically sent with each request. The data format is chosen, the data is adapted and transferred over the network by the server responsive to the capabilities and preferences and played to the user by the client.
675 Citations
52 Claims
-
1. A method of transferring data from a server computer to a client computer in accordance with client media capabilities of the client computer, the method comprising:
-
determining media capabilities of said client computer to receive a transfer of media data from said server computer, wherein the client media capabilities comprise at least one of client computer processor type;
client computer processor speed, client computer multimedia decoder type or types, including client computer multimedia decoder type or types for a plurality of encodings of a media data in a first media format and client computer multimedia decoder type or types for a plurality of encodings of a media data in different media formats;
type and version of client computer operating system;
client computer memory size;
hardware and software network capabilities; and
network interfaces available;
sending the client media capabilities to the server computer, said server computer executing a media server process that receives and processes the client media capabilities and controls the media format and media format encoding of the media data;
wherein the sending of said client media capabilities to said server computer is performed a single time for multiple data transfer requests, said client media capabilities being stored and later retrieved for use in response to a later client request for a media data item without sending multiple times; and
directing transfer of the media data to the client computer responsive to the media capabilities received by the server, said determining and said sending of said media capabilities occurring separately from said directing transfer of said media data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of transferring data from a server computer to a client computer in accordance with client media capabilities of the client computer, the method comprising:
-
determining media capabilities of said client computer to receive a transfer of media data from said server computer, wherein the client media capabilities comprise client computer processor type;
sending the client media capabilities to the server computer, said server computer executing a media server process that receives and processes the client media capabilities and controls the media format and media format encoding of the media data;
wherein the sending of said client media capabilities to said server computer is performed a single time for multiple data transfer requests, said client media capabilities being stored and later retrieved for use in response to a later client request for a media data item without sending multiple times; and
directing transfer of the media data to the client computer responsive to the media capabilities received by the server, said determining and said sending of said media capabilities occurring separately from said directing transfer of said media data.
-
-
14. A method of transferring data from a server computer to a client computer in accordance with client media capabilities of the client computer, the method comprising:
-
determining media capabilities of said client computer to receive a transfer of media data from said server computer, wherein the client media capabilities comprise client computer processor speed;
sending the client media capabilities to the server computer, said server computer executing a media server process that receives and processes the client media capabilities and controls the media format and media format encoding of the media data;
wherein the sending of said client media capabilities to said server computer is performed a single time for multiple data transfer requests, said client media capabilities being stored and later retrieved for use in response to a later client request for a media data item without sending multiple times; and
directing transfer of the media data to the client computer responsive to the media capabilities received by the server, said determining and said sending of said media capabilities occurring separately from said directing transfer of said media data.
-
-
15. A method of transferring data from a server computer to a client computer in accordance with client media capabilities of the client computer, the method comprising:
-
determining media capabilities of said client computer to receive a transfer of media data from said server computer, wherein the client media capabilities comprise client computer multimedia decoder type or types, including client computer multimedia decoder type or types for a plurality of encodings of a media data in a first media format and client computer multimedia decoder type or types for a plurality of encodings of a media data in different media formats;
sending the client media capabilities to the server computer, said server computer executing a media server process that receives and processes the client media capabilities and controls the media format and media format encoding of the media data;
wherein the sending of said client media capabilities to said server computer is performed a single time for multiple data transfer requests, said client media capabilities being stored and later retrieved for use in response to a later client request for a media data item without sending multiple times; and
directing transfer of the media data to the client computer responsive to the media capabilities received by the server, said determining and said sending of said media capabilities occurring separately from said directing transfer of said media data.
-
-
16. A method of transferring data from a server computer to a client computer in accordance with client media capabilities of the client computer, the method comprising:
-
determining media capabilities of said client computer to receive a transfer of media data from said server computer, wherein the client media capabilities comprise type and version of the client computer operating system;
sending the client media capabilities to the server computer, said server computer executing a media server process that receives and processes the client media capabilities and controls the media format and media format encoding of the media data;
wherein the sending of said client media capabilities to said server computer is performed a single time for multiple data transfer requests, said client media capabilities being stored and later retrieved for use in response to a later client request for a media data item without sending multiple times; and
directing transfer of the media data to the client computer responsive to the media capabilities received by the server, said determining and said sending of said media capabilities occurring separately from said directing transfer of said media data.
-
-
17. A method of transferring data from a server computer to a client computer in accordance with client media capabilities of the client computer, the method comprising:
-
determining media capabilities of said client computer to receive a transfer of media data from said server computer, wherein the client media capabilities comprise client computer memory size;
sending the client media capabilities to the server computer, said server computer executing a media server process that receives and processes the client media capabilities and controls the media format and media format encoding of the media data;
wherein the sending of said client media capabilities to said server computer is performed a single time for multiple data transfer requests, said client media capabilities being stored and later retrieved for use in response to a later client request for a media data item without sending multiple times; and
directing transfer of the media data to the client computer responsive to the media capabilities received by the server, said determining and said sending of said media capabilities occurring separately from said directing transfer of said media data.
-
-
18. A method of transferring data from a server computer to a client computer in accordance with client media capabilities of the client computer, the method comprising:
-
determining media capabilities of said client computer to receive a transfer of media data from said server computer, wherein the client media capabilities comprise hardware and software network capabilities;
sending the client media capabilities to the server computer, said server computer executing a media server process that receives and processes the client media capabilities and controls the media format and media format encoding of the media data;
wherein the sending of said client media capabilities to said server computer is performed a single time for multiple data transfer requests, said client media capabilities being stored and later retrieved for use in response to a later client request for a media data item without sending multiple times; and
directing transfer of the media data to the client computer responsive to the media capabilities received by the server, said determining and said sending of said media capabilities occurring separately from said directing transfer of said media data.
-
-
19. A method of transferring data from a server computer to a client computer in accordance with client media capabilities of the client computer, the method comprising:
-
determining media capabilities of said client computer to receive a transfer of media data from said server computer, wherein the client media capabilities comprise network interfaces available;
sending the client media capabilities to the server computer, said server computer executing a media server process that receives and processes the client media capabilities and controls the media format and media format encoding of the media data;
wherein the sending of said client media capabilities to said server computer is performed a single time for multiple data transfer requests, said client media capabilities being stored and later retrieved for use in response to a later client request for a media data item without sending multiple times; and
directing transfer of the media data to the client computer responsive to the media capabilities received by the server, said determining and said sending of said media capabilities occurring separately from said directing transfer of said media data.
-
-
20. A method of streaming multimedia data between a server and a client over a packet-switched network, comprising:
-
determining multimedia data streaming capabilities of a client to receive streamed multimedia data over a packet-switched network from the server, said multimedia data streaming capabilities including;
processor type, processor speed, multimedia decoder type or types, including client computer multimedia decoder type or types for a plurality of encodings of a media data in a first media format and client computer multimedia decoder type or types for a plurality of encodings of a media data in different media formats, type and version of operating system, processor memory size, hardware and software network capabilities, transport mechanism supported, and network interfaces available;
prompting a user of the client for multimedia data streaming preferences including;
transfer protocol, quality of service desired, media format, and delivery route;
sending the capabilities and the preferences to the server;
formatting the multimedia data responsive to the capabilities and preferences; and
transferring the multimedia data from the server to the client responsive to the multimedia streaming capabilities and preferences.
-
-
21. An apparatus, comprising:
-
a network;
a client coupled to said network and having client media capabilities to receive a transfer of media data, and means for sending the media capabilities, and means for sending a request for the media data; and
a server coupled to said network, receiving the request and the media capabilities from the client, and transferring the media data from said server to said client responsive to the received media capabilities and the request for media data, wherein the media capabilities comprise multimedia decoder type or types, including client computer multimedia decoder type or types for a plurality of encodings of a media data in a first media format and client computer multimedia decoder type or types for a plurality of encodings of a media data in different media formats, and one or more of;
processor type;
processor speed;
type and version of operating system;
processor a memory size;
hardware and software network capabilities; and
network interfaces available.- View Dependent Claims (22)
-
-
23. A method of transferring data from a server computer to a client computer in accordance with client media capabilities of the client computer, the method comprising:
-
determining media capabilities of said client computer to receive a transfer of media data from said server computer, wherein the client media capabilities comprise identification of supported client computer multimedia decoder type or types, including client computer multimedia decoder type or types for a plurality of encodings of a media data in a first media format and client computer multimedia decoder type or types for a plurality of encodings of a media data in different media formats;
sending the client media capabilities to the server computer, said server computer executing a media server process that receives and processes the client media capabilities and controls the media format and media format encoding of the media data; and
directing transfer of the media data to the client computer responsive to the media capabilities received by the server, said determining and said sending of said media capabilities occurring separately from said directing transfer of said media data. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
said directing transfer of the media data comprises transferring said media data to the client computer from a selected one or a plurality of media transfer processes each providing a different media encoding format and each executable within the server computer;
the particular media transfer process being selectable by said media server process the media server process and the selected media transfer process cooperate to format the media data and adapt the media data to the client media capabilities and user specifications;
said client computer receives a compatible media data transfer only by identifying its media data capabilities to said server and without other media data format or media data encoding negotiation with the server either before receiving said media data or during reception of said media data transfer;
said media data is presented to a user of the client computer as a single logical name representing a plurality of media formats and a plurality of media data encodings within each of said plurality of media formats; and
said client receives and processes said transferred media data without using any scalable coding scheme within said media data.
-
-
42. A method as recited in claim 23, wherein said client computer receives a compatible media data transfer only by identifying its media data capabilities to said server and without other media data format or media data encoding negotiation with the server either before receiving said media data or during reception of said media data transfer.
-
43. A method as recited in claim 42, wherein said media data is presented to a user of the client computer as a single logical name representing a plurality of media formats and a plurality of media data encodings within each of said plurality of media formats.
-
44. A method as recited in claim 43, wherein the third process performs said asset selection and media data adaption based on the dynamically determined client computer media capabilities.
-
45. A method as recited in claim 23, wherein said client receives and processes said transferred media data without using any scalable coding scheme within said media data.
-
46. A method as recited in claim 23, wherein said client does not decode said media data using any scalable media data coding scheme.
-
47. A method as recited in claim 23, wherein said server does not code said media data using any scalable media data coding scheme.
-
48. A method as recited in claim 23, wherein if a plurality of media assets stored on the server are suited to the client media capabilities, then selecting a media asset to be sent to the client computer from the server computer based upon client side information about hardware and software decoders and networking capabilities.
-
49. A method of transferring data from a server computer to a client computer in accordance with client media capabilities of the client computer, the method comprising:
-
determining media capabilities of said client computer to receive a transfer of media data from said server computer, wherein the client media capabilities comprise at least one of;
client computer processor type;
client computer processor speed;
client computer multimedia decoder type or types, including client computer multimedia decoder type or types for a plurality of encodings of a media data in a first media format and client computer multimedia decoder type or types for a plurality of encodings of a media data in different media formats;
type and version of client computer operating system;
client computer memory size;
hardware and software network capabilities; and
network interfaces available;
sending the client media capabilities to the server computer, said server computer executing a media server process that receives and processes the client media capabilities and controls the media format and media format encoding of the media data;
wherein the sending of client media capabilities is performed dynamically each time a data transfer request is made by the client computer and the server computer performs asset selection and media data adaption based on the dynamically determined client computer media capabilities, and wherein the media server process executing within the server computer directs a third machine to control and direct the media data transfer process by supplying the third machine with a network address and either media format and media format encoding or client media capabilities; and
directing transfer of the media data to the client computer responsive to the media capabilities received by the server, said determining and said sending of said media capabilities occurring separately from said directing transfer of said media data.
-
-
50. A method of transferring data from a server computer to a client computer in accordance with client media capabilities of the client computer, the method comprising:
-
determining media capabilities of said client computer to receive a transfer of media data from said server computer, wherein the client media capabilities comprise at least one of;
client computer processor type;
client computer processor speed;
client computer multimedia decoder type or types, including client computer multimedia decoder type or types for a plurality of encodings of a media data in a first media format and client computer multimedia decoder type or types for a plurality of encodings of a media data in different media formats;
type and version of client computer operating system;
client computer memory size;
hardware and software network capabilities; and
network interfaces available;
sending the client media capabilities to the server computer said server computer executing a media server process that receives and processes the client media capabilities and controls the media format and media format encoding of the media data;
wherein the sending of client media capabilities is performed dynamically each time a data transfer request is made by the client computer and the server computer performs asset selection and media data adaption based on the dynamically determined client computer media capabilities, anddirecting transfer of the media data to the client computer responsive to the media capabilities received by the server, said determining and said sending of said media capabilities occurring separately from said directing transfer of said media data, wherein said directing transfer of the media data comprises identifying a third process different from said media server process to control and direct the media data transfer to the client computer by supplying the third process with the network address of the client computer and the media encoding format. - View Dependent Claims (51, 52)
-
Specification