×

Multicast distribution of incrementally enhanced content

  • US 9,531,774 B2
  • Filed: 12/13/2010
  • Issued: 12/27/2016
  • Est. Priority Date: 12/13/2010
  • Status: Active Grant
First Claim
Patent Images

1. A client device comprising:

  • a memory that stores instructions;

    a processor that executes the instructions to perform operations comprising;

    obtaining multicast information for a content item, the multicast information including information about joining a multicast session for a base stream and additional multicast sessions for available incremental streams;

    determining a currently used bandwidth for the client device, wherein the currently used bandwidth is determined based on first bandwidth used by a voice-over-internet protocol stream being received by the client device and second bandwidth used by a network application utilized by the client device;

    determining an available bandwidth, wherein the available bandwidth is determined based on a difference between an average total bandwidth and the currently used bandwidth;

    determining a number of streams that can be received by the client device based on the available bandwidth, wherein the number of streams is selected from a set of streams including the base stream and the available incremental streams;

    determining a number of multicast sessions including the multicast session and the additional multicast sessions that the client device is able to receive, wherein the number of multicast sessions is determined based on the available bandwidth and a maximum displayable resolution of a display of the client device;

    receiving, at the client device, information necessary to join all of the multicast sessions even when the client device is configured only to join a subset of multicast sessions corresponding to a set of allowable streams;

    joining a set of initial multicast sessions based on the available bandwidth, the number of multicast sessions, the information necessary to join all of the multicast sessions, and the number of streams, wherein the set of initial multicast sessions includes the multicast session for the base stream and at least one of the additional multicast sessions for the incremental streams, wherein the set of initial multicast sessions is further based on a set of allowable incremental streams;

    determining the set of allowable incremental streams based on a service level of the client device, wherein the service level includes the maximum displayable resolution of the display of the client device, wherein the set of allowable incremental streams corresponds to a subset of incremental streams necessary for the maximum displayable resolution;

    monitoring a network condition;

    performing actions based on the network condition, the actions comprising joining another of the additional multicast sessions and leaving one of the initial multicast sessions, wherein the actions are performed if the currently used bandwidth exceeds a threshold; and

    transmitting a notification that the content item is unavailable when the available bandwidth is not sufficient to receive the base stream.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×