System and method for delivery of Video-on-Demand
AssigneeAT&T Intellectual Property II, L.P.
InventorsKadangode Ramakrishnan, Vijay Gopalakrishnan
Life of this patent
Estimating the term…
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.
Claims12
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.
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.
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.
Dependencies are inferred from the claim text.