System and method for delivery of Video-on-Demand
First Claim
Patent Images
1. A method of providing video-on-demand content, comprising:
- storing, by a system comprising a processor, a plurality of beginning portions of a plurality of video-on-demand content;
receiving, by the system, a request from a set-top box for selected content of the plurality of video-on-demand content;
streaming, by the system, to the set-top box a beginning portion of the selected content from the plurality of beginning portions of the plurality of video-on-demand content;
determining, by the system, that a remaining portion of the selected content of the plurality of video-on-demand content is not stored locally;
identifying, by the system, a plurality of peers that are likely to have the remaining portion of the selected content by checking a plurality of bloom filters responsive to determining that the remaining portion is not stored locally, wherein the plurality of bloom filters indicate the plurality of video-on-demand content that is stored at the plurality of peers;
selecting, by the system, a first peer of the plurality of peers that are identified, wherein the first peer stores a copy of the selected content according to a source policy that is received from a directory server based on factors that affect transmission of the selected content, and wherein the first peer is selected from the plurality of peers according to a hash of a content identifier associated with the selected content;
receiving, by the system, the remaining portion of the selected content from the first peer that is selected; and
streaming, by the system, to the set-top box the received remaining portion of the selected content.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of providing video-on-demand content includes receiving a request from a set-top box, and determining the video-on-demand content is not stored locally. The request includes a content identifier for the video-on-demand content. The method further includes identifying a peer likely to have the video-on-demand content, receiving at least a first portion of the video-on-demand content from the peer, and providing the video-on-demand content to the set-top box.
26 Citations
12 Claims
-
1. A method of providing video-on-demand content, comprising:
-
storing, by a system comprising a processor, a plurality of beginning portions of a plurality of video-on-demand content; receiving, by the system, a request from a set-top box for selected content of the plurality of video-on-demand content; streaming, by the system, to the set-top box a beginning portion of the selected content from the plurality of beginning portions of the plurality of video-on-demand content; determining, by the system, that a remaining portion of the selected content of the plurality of video-on-demand content is not stored locally; identifying, by the system, a plurality of peers that are likely to have the remaining portion of the selected content by checking a plurality of bloom filters responsive to determining that the remaining portion is not stored locally, wherein the plurality of bloom filters indicate the plurality of video-on-demand content that is stored at the plurality of peers; selecting, by the system, a first peer of the plurality of peers that are identified, wherein the first peer stores a copy of the selected content according to a source policy that is received from a directory server based on factors that affect transmission of the selected content, and wherein the first peer is selected from the plurality of peers according to a hash of a content identifier associated with the selected content; receiving, by the system, the remaining portion of the selected content from the first peer that is selected; and streaming, by the system, to the set-top box the received remaining portion of the selected content. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A server comprising:
-
a storage configured to store video-on-demand content; a memory to store executable instructions; and a processor couple to the storage and the memory, wherein the executable instructions, when executed by the processor facilitate performance of operations comprising; storing a plurality of beginning portions of a plurality of video-on-demand content; receiving a request from a set-top box for selected content of the plurality of video-on-demand content; providing to the set-top box a beginning portion of the selected content from the plurality of beginning portions of the plurality of video-on-demand content; determining that a remaining portion of the selected content is not in the storage; determining a plurality of peers that have the remaining portion of the selected content according to a plurality of bloom filters responsive to determining that the remaining portion is not in the storage, wherein the plurality of bloom filters indicate the plurality of video-on-demand content that is stored at the plurality of peers; identifying a first peer of the plurality of peers that are determined, wherein the first peer stores a copy of the selected content according to a source policy of a directory server based on transmission of the selected content, and wherein the first peer is identified from the plurality of peers according to a hash of a content identifier associated with the selected content; receiving the remaining portion of the selected content from the first peer that is identified; and providing the received remaining portion of the selected content to the set-top box. - View Dependent Claims (9)
-
-
10. A server for providing video-on-demand content, comprising:
-
a memory to store executable instructions; and a processor communicatively coupled to the memory, wherein the executable instructions, when executed by the processor, facilitate performance of operations comprising; storing a plurality of beginning portions of a plurality of video-on-demand content; receiving a request from a set-top box for selected content of the plurality of video-on-demand content; providing to the set-top box a beginning portion of the selected content from the plurality of beginning portions of the plurality of video-on-demand content; identifying a plurality of peers that are likely to have a remaining portion of the selected content according to a bloom filter, wherein the bloom filter indicates the plurality of video-on-demand content that is stored at the plurality of peers; selecting a first peer of the plurality of peers that are identified, wherein the first peer stores a copy of the selected content according to a source policy of a directory server according to transmission factors for the selected content, and wherein the first peer is selected from the plurality of peers according to a hash of a content identifier associated with the selected content; receiving the remaining portion of the selected content from the first peer; storing the received remaining portion of the selected content; and streaming the received remaining portion of the selected content to the set-top box. - View Dependent Claims (11, 12)
-
Specification