Systems and methods for distributing video on demand
First Claim
Patent Images
1. A method comprising:
- receiving, by a system comprising a processor, a plurality of requests from requesting media processors for a plurality of chunks, each chunk of the plurality of chunks including a portion of video content, each request of the plurality of requests including a deadline for delivery;
identifying, by the system, a first chunk, requested by a first requesting media processor, with a scheduled delivery via a multicast channel that meets a first deadline;
identifying, by the system, a second chunk, requested by a second requesting media processor, not scheduled for delivery or with a scheduled delivery that fails to meet a second deadline;
rescheduling, by the system, delivery of the second chunk, wherein the rescheduling comprises;
identifying a first gap and a second gap in a delivery schedule for the multicast channel, the first gap between the first deadline and a scheduled start of delivery of the first chunk, the second gap between a scheduled end of delivery of the first chunk and a scheduled start of delivery of a succeeding chunk, wherein a sum of the first gap and the second gap exceeds a time required for delivery of the second chunk;
rescheduling delivery of the first chunk to accommodate delivery of the second chunk;
delivering, by the system, the second chunk via the channel based on the rescheduling; and
providing, by the system, information to the second requesting media processor regarding joining a multicast group to receive the second chunk,wherein the plurality of chunks are delivered via the multicast channel responsive to determining that a number of the requests exceeds a predetermined threshold.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of receiving content includes joining an in-progress multicast stream to receive a first portion of a content. The method further includes sending a request to a peer for a catch-up portion of the content, the request including a deadline for delivery of the content, and receiving the catch-up portion of the content from the peer prior to the deadline.
-
Citations
13 Claims
-
1. A method comprising:
-
receiving, by a system comprising a processor, a plurality of requests from requesting media processors for a plurality of chunks, each chunk of the plurality of chunks including a portion of video content, each request of the plurality of requests including a deadline for delivery; identifying, by the system, a first chunk, requested by a first requesting media processor, with a scheduled delivery via a multicast channel that meets a first deadline; identifying, by the system, a second chunk, requested by a second requesting media processor, not scheduled for delivery or with a scheduled delivery that fails to meet a second deadline; rescheduling, by the system, delivery of the second chunk, wherein the rescheduling comprises; identifying a first gap and a second gap in a delivery schedule for the multicast channel, the first gap between the first deadline and a scheduled start of delivery of the first chunk, the second gap between a scheduled end of delivery of the first chunk and a scheduled start of delivery of a succeeding chunk, wherein a sum of the first gap and the second gap exceeds a time required for delivery of the second chunk; rescheduling delivery of the first chunk to accommodate delivery of the second chunk; delivering, by the system, the second chunk via the channel based on the rescheduling; and providing, by the system, information to the second requesting media processor regarding joining a multicast group to receive the second chunk, wherein the plurality of chunks are delivered via the multicast channel responsive to determining that a number of the requests exceeds a predetermined threshold. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A content server comprising:
-
a memory to store a plurality of chunks and instructions; and a processor coupled to the memory, wherein responsive to executing the instructions, the processor performs operations comprising; receiving requests for a first chunk and a second chunk of the plurality of chunks, the request for the first chunk including a first deadline for delivery and the request for the second chunk including a second deadline for delivery, the first chunk having a scheduled delivery via a multicast channel that meets the first deadline, the second chunk not having a scheduled delivery that meets the second deadline; rescheduling delivery of the second chunk to meet the second deadline, wherein the rescheduling comprises; identifying a first gap and a second gap in a delivery schedule for the multicast channel, the first gap between the first deadline and a scheduled start of delivery of the first chunk, the second gap between a scheduled end of delivery of the first chunk and a scheduled start of delivery of a succeeding chunk, wherein a sum of the first gap and the second gap exceeds a time required for delivery of the second chunk; rescheduling delivery of the first chunk to accommodate delivery of the second chunk while still meeting the first deadline; delivering the second chunk via the multicast channel based on the rescheduled delivery of the second chunk, wherein the delivering is performed via the multicast channel responsive to a number of requests for the second chunk exceeding a predetermined number; and providing information to a media processor regarding joining a multicast group to receive the second chunk. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
Specification