Multiple multicasting of multimedia streams
First Claim
1. In a client computer coupled to a server via a network, a method for receiving data from said server, said data streamed via at least two multicast groups, said method comprising:
- receiving said data from said server via said at least two multicast groups;
selecting a first suitable multicast group from said at least two multicast groups, said selected first multicast group associated with a first base layer and a first at least one enhancement layer of said data which best matches a target bandwidth of said client computer;
joining said selected first multicast group;
detecting a change in desired bandwidth of said client computer;
selecting a second suitable multicast group from said at least two multicast groups, said selected second multicast group associated with a second base layer and a second at least one enhancement layer of said data which best matches the changed target bandwidth of said client computer;
joining said selected second multicast group; and
wherein the first multicast group and the second multicast group are joined concurrently.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of interactively providing a number of client computers with a dynamically selectable and scalable range of multimedia data over a diverse computer network including local area networks (LANs) wide area networks (WANs) such as the internet. Multimedia data is provided by a server to the client computers includes a base layer and one or more enhancement layers. Enhancement layers can be spatial and/or temporal in nature. Depending on the implementation, the server may also provide information about the multimedia data to the client computers. The server splits the multimedia data for streaming via multiple multicast group (MMG) addresses. Information about the portion of the multimedia data carried by each MMG is broadcasted to the client computers. Armed with the information about the multimedia data, client computers can intelligently join and leave MMGs as needed. In some embodiments, the client computers provide feedback about the usage and/or need for the multimedia data, enabling the server to right-size, e.g., grow and/or prune, the multimedia data for network efficiency. Enhancement layers may also be grown and/or pruned independently of the base layer, i.e., without a corresponding change in the base layer.
-
Citations
12 Claims
-
1. In a client computer coupled to a server via a network, a method for receiving data from said server, said data streamed via at least two multicast groups, said method comprising:
-
receiving said data from said server via said at least two multicast groups;
selecting a first suitable multicast group from said at least two multicast groups, said selected first multicast group associated with a first base layer and a first at least one enhancement layer of said data which best matches a target bandwidth of said client computer;
joining said selected first multicast group;
detecting a change in desired bandwidth of said client computer;
selecting a second suitable multicast group from said at least two multicast groups, said selected second multicast group associated with a second base layer and a second at least one enhancement layer of said data which best matches the changed target bandwidth of said client computer;
joining said selected second multicast group; and
wherein the first multicast group and the second multicast group are joined concurrently. - View Dependent Claims (2, 3)
-
-
4. In a client computer coupled to a server via a network, a computer readable medium having computer executable instructions for receiving data from said server, said data streamed via at least two multicast groups, said computer executable instructions comprising:
-
receiving said data from said server via said at least two multicast groups;
selecting a first suitable multicast group from said at least two multicast groups, said selected first multicast group associated with a first base layer and a first at least one enhancement layer of said data which best matches a target bandwidth of said client computer;
joining said selected first multicast group;
detecting a change in a desired bandwidth of said client computer;
selecting a second suitable multicast group from said at least two multicast groups, said selected second multicast group associated with a second base layer and a second at least one enhancement layer of said data which best matches the changed target bandwidth of said client computer; and
joining said selected second multicast group while still joined to the first multicast group. - View Dependent Claims (5, 6)
-
-
7. A method for receiving data at a client computer, comprising:
-
selecting a first multicast group from at least two multicast groups, wherein the first multicast group includes a first base layer and a first at least one enhancement layer of the data that matches a target bandwidth of the client computer;
joining the first multicast group;
detecting a change in the target bandwidth of the client computer;
selecting a second multicast group from the at least two multicast groups, wherein the second multicast group includes a second base layer and a second at least one enhancement layer of the data that matches the target bandwidth of the client computer; and
joining the second multicast group so that the first multicast group and the second multicast group are joined concurrently. - View Dependent Claims (8, 9)
-
-
10. In a client computer coupled to a server via a network, a computer readable medium having computer executable instructions comprising:
-
selecting a first multicast group from at least two multicast groups, wherein the first multicast group includes a first base layer and a first at least one enhancement layer of the data that matches a target bandwidth of the client computer;
joining the first multicast group;
detecting a change in the target bandwidth of the client computer;
selecting a second multicast group from the at least two multicast groups, wherein the second multicast group includes a second base layer and a second at least one enhancement layer of the data that matches the target bandwidth of the client computer; and
joining the second multicast group while remaining joined to the first multicast group. - View Dependent Claims (11, 12)
-
Specification