CA2913019C

Methods, apparatus, and systems for providing media content over a communications network

Abstract

A system for delivering media content over a communications network. The system comprising one or more servers for delivering media content over the network for one or more media content programs where the media content comprises data packets, a control center for controlling delivery of the media content over the network via the one or more servers, and a plurality of receiving devices for receiving the media content. At least a portion of the receiving devices are configured to share resources via the network, enabling a transfer of the data packets from one receiving device to another. A first receiving device is receiving data packets for a first media content program and is enabled to switch to a second media content program by receiving data packets for the second media content program from at least one of: (a) one of said one or more servers; and (b) at least one other of the receiving devices currently receiving data packets for the second media content program.

CA2913019C, drawing sheet 1
Sheet 1 of 9

Term

0.4 yearsleft in the term

Expires 12 February 2027.

  1. Priority and filed
  2. Granted
  3. Today
  4. Expires

38 claims: 2 independent, 36 dependent

  1. 1
    A system for delivering media content over a communications network, comprising:one or more servers for delivering media content over the network for one or more media content programs, said media content comprising data packets;a control center for controlling delivery of said media content over the network via said one or more servers;and a plurality of receiving devices for receiving said media content;wherein: at least a portion of said receiving devices are configured to share resources via the network, enabling a transfer of said data packets from one receiving device to another;a first receiving device is receiving data packets for a first media content program;the control center comprises a peer service;the peer service defines a subset of said receiving devices that comprise peers on the network: a request for a program switch from the first media content program to a second media content program is communicated from said first receiving device to said peer service;said peer service provides to said first receiving device a list of available peers on the network currently receiving data packets for said second media content program;and said first receiving device is enabled to switch to the second media content program by receiving the data packets for said second media content program from one of: (a) said one or more servers and at least one of the available peers currently receiving the data packets for said second media content program;and (b) the at least one of the available peers currently receiving the data packets for said second media content program. CA 2913019 2017-04-12
  2. 2
    The system in accordance with claim 1, wherein:the media content is reconstructed at the receiving device in real time with data packets received from at least one of: (a) one of said servers;(b) one or more of the peers on the network;and (c) local memory.
  3. 3
    The system in accordance with claim 1, wherein:said data packets initially received for said second media content program comprise one or more anchor frames for said second media content program.
  4. 4
    The system in accordance with claim 3, wherein:said one or more anchor frames are received for said second media content program until said first receiving device has sufficient bandwidth to receive data packets containing additional anchor frames and other types of frames.
  5. 5
    The system in accordance with claim 1, wherein:said data packets initially received for said second media content program comprise one or more anchor frames and corresponding audio data for said second media content program.
  6. 6
    The system in accordance with claim 5, wherein:said one or more anchor frames are received for said second media content program until said first receiving device has sufficient bandwidth to receive data packets containing additional anchor frames and other types of frames.
  7. 7
    The system in accordance with claim I, wherein:said one or more servers comprise at least one of: (a) one or more dedicated broadcasting devices;and (b) one or more of said receiving devices.
  8. 8
    The system in accordance with claim 1, wherein:said first receiving device communicates a request for said data packets for said second media content program to one or more of said available peers from said list. CA 2913019 2017-04-12
  9. 9
    The system in accordance with claim 8, wherein:said request for data packets comprises a request for anchor frames from said second media content program.
  10. 10
    The system in accordance with claim 9, wherein:a number of anchor frames are stored at each receiving device for enabling said program switch.
  11. 11
    The system in accordance with claim 9, wherein:said request includes a request for an initial anchor frame closest to a display time of said receiving device.
  12. 12
    The system in accordance with claim 11, wherein:said initial anchor frame is an anchor frame with a time-stamp closest to a time t plus a current time;said time t comprises one of a positive number, a negative number, and zero.
  13. 13
    The system in accordance with claim 11, wherein:said initial anchor frame is received, decoded, and displayed regardless of a time stamp for the initial anchor frame;said first receiving device begins receiving additional anchor frames after said initial anchor frame is received;and said additional anchor frames are received from said one or more of said peers until said first receiving device has sufficient bandwidth to accept data packets containing additional anchor frames and other types of frame.
  14. 14
    The system in accordance with claim 1, wherein:CA 2913019 2017-04-12 said first receiving device communicates a stop command to the server or at least one other of said receiving devices providing said data packets for said first media content program after said program switch is processed.
  15. 15
    The system in accordance with claim 1, wherein:said one or more servers segregates said media content into groups of data packets according to priority, including at least a high priority group of data packets and a low priority group of data packets.
  16. 16
    The system in accordance with claim 15, wherein:said high priority group of data packets for said second media content program are provided to said first receiving device to enable said program switch.
  17. 17
    The system in accordance with claim 16, wherein:said high priority group of data packets comprise anchor frames and associated audio packets;and said lower priority group of data packets comprise non-anchor frames and associated audio packets.
  18. 18
    The system in accordance with claim 1, wherein:the one or more servers provide IP multicasting infonnation and tracking information for the data packets to all receiving devices requesting the media content;at least some of the receiving devices requesting the media content subscribe to the IP multicasting channel: the data packets are delivered from the one or more servers via IP multicasting of the data packets over the network;and any receiving devices that one of: (a) fail to subscribe to the IP multicasting channel: or (b) fail to receive all of the data packets for the media content over the IP multicasting channel, use the tracking information to request the data packets from other of the receiving devices that have received the data packets. CA 2913019 2017-04-12
  19. 19
    The system in accordance with claim 18, wherein:at least one of the receiving devices creates a new IP multicasting channel;and the at least one of the receiving devices transmits the data packets and tracking information received from the one or more servers to other of the receiving devices over the new IP multicasting channel.
  20. 20
    A method for delivering media content over a communications network, comprising:delivering media content provided by one or more servers over the network for one or more media content programs, said media content comprising data packets;controlling from a control center delivery of said media content over the network via said one or more servers, the control center comprising a peer service;and receiving said media content at a plurality of receiving devices;wherein: at least a portion of said receiving devices are configured to share resources via the network, enabling a transfer of said data packets from one receiving device to another;a first receiving device is receiving data packets for a first media content program;a request for a program switch from the first media content program to a second media content program is communicated from said first receiving device to said peer service;said peer service provides to said first receiving device a list of available peers on the network currently receiving data packets for said second media content program;and said first receiving device is enabled to switch to the second media content program by receiving the data packets for said second media content program from one of: (a) said one or more servers and at least one of the available peers currently receiving the data packets for said second media content program;and (b) the at least one of the available peers currently receiving the data packets for said second media content program. CA 2913019 2017-04-12
  21. 21
    The method in accordance with claim 20, wherein:the media content is reconstructed at the receiving device in real time with data packets received from at least one of: (a) one of said servers;(b) one or more of the peers on the network;and (c) local memory.
  22. 22
    The method in accordance with claim 20, wherein:said data packets initially received for said second media content program comprise one or more anchor frames for said second media content program.
  23. 23
    The method in accordance with claim 22, wherein:said one or more anchor frames are received for said second media content program until said first receiving device has sufficient bandwidth to receive data packets containing additional anchor frames and other types of frames.
  24. 24
    The method in accordance with claim 20, wherein:said data packets initially received for said second media content program comprise one or more anchor frame and corresponding audio data for said second media content program.
  25. 25
    The method in accordance with claim 24, wherein:said one or more anchor frames are received for said second media content program until said first receiving device has sufficient bandwidth to receive data packets containing additional anchor frames and other types of frames.
  26. 26
    The method in accordance with claim 20, wherein:said one or more servers comprise at least one of: (a) one or more dedicated broadcasting devices;and (b) one or more of said receiving devices.
  27. 27
    The method in accordance with claim 20, wherein:said first receiving device communicates a request for said data packets for said second media content program to one or more of said available peers from said list. CA 2913019 2017-04-12
  28. 28
    The method in accordance with claim 27, wherein:said request for data packets comprises a request for anchor frames from said second media content program.
  29. 29
    The method in accordance with claim 28, wherein:a number of anchor frames are stored at each receiving device for enabling said program switch.
  30. 30
    The method in accordance with claim 28, wherein:said request includes a request for an initial anchor frame closest to a display time of said receiving device.
  31. 31
    The method in accordance with claim 30, wherein:said initial anchor frame is an anchor frame with a time-stamp closest to a time t plus a current time;said time t comprises one of a positive number, a negative number, and zero.
  32. 32
    The method in accordance with claim 30, wherein:said initial anchor frame is received, decoded, and displayed regardless of a time stamp for the initial anchor frame;said first receiving device begins receiving additional anchor frames after said initial anchor frame is received;and said additional anchor frames are received from said one or more of said peers until said first receiving device has sufficient bandwidth to accept data packets containing additional anchor frames and other types of frame. CA 2913019 2017-04-12
  33. 33
    The method in accordance with claim 20, further comprising:communicating a stop command from said first receiving device to the server or at least one other of said receiving devices providing said data packets for said first media content program after said program switch is requested.
  34. 34
    The method in accordance with claim 20, wherein:said one or more servers segregates said media content into groups of data packets according to priority, including at least a high priority group of data packets and a low priority group of data packets.
  35. 35
    The method in accordance with claim 34, wherein:said high priority group of data packets for said second media content program are provided to said first receiving device to enable said program switch.
  36. 36
    The method in accordance with claim 35, wherein:said high priority group of data packets comprise anchor frames and associated audio packets;and said lower priority group of data packets comprise non-anchor frames and associated audio packets.
  37. 37
    The method in accordance with claim 20, wherein:the one or more servers provide IP multicasting information and tracking information for the data packets to all receiving devices requesting the media content;at least some of the receiving devices requesting the media content subscribe to the IP multicasting channel;the data packets are delivered from the one or more servers via IP multicasting of the data packets over the network;and any receiving devices that one of: (a) fail to subscribe to the IP multicasting channel;or (b) fail to receive all of the data packets for the media content over the IP multicasting channel, use the tracking information to request the data packets from other of the receiving devices that have received the data packets.
  38. 38
    The method in accordance with claim 37, wherein:at least one of the receiving devices creates a new IP multicasting channel;and the at least one of the receiving devices transmits the data packets and tracking information received from the one or more servers to other of the receiving devices over the new IP multicasting channel.
Independent claims38