IP Library Granted Patent US 8,949,915
Granted Patent B2
US 8,949,915 · App. 12/254,378 · Granted Feb 3, 2015

System and method for delivery of Video-on-Demand

Inventors: Kadangode Ramakrishnan (Berkeley Heights, NJ); Vijay Gopalakrishnan (Florham Park, NJ)
Assignee: AT&T Intellectual Property II, LP
H04N21/6582H04N7/17318H04N21/2225H04N21/47202H04N21/4788H04N21/632
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,949,915
App. No.
12/254,378
Granted
Feb 3, 2015
Kind
B2
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.

Claims (45)

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.

2. The method of claim 1 wherein locally is at a video hub office, a video-on-demand server, a mass storage system, or any combination thereof.

3. The method of claim 1 comprising receiving a middle portion of the selected content from a second peer.

4. The method of claim 1 comprising:

storing the received remaining portion of the selected content locally; and

notifying the directory server that the received remaining portion of the selected content is stored locally.

5. The method of claim 1 comprising receiving the plurality of bloom filters from a root server.

6. The method of claim 1 further comprising updating a local bloom filter indicating the selected content stored locally.

7. The method of claim 6 further comprising providing the local bloom filter that is updated to a root server.

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.

9. The server of claim 8 wherein the operations further comprise receiving a middle portion of the selected content from a second peer.

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.

11. The server of claim 10 wherein the operations further comprise:

identifying a second peer server having a second portion of the selected content; and

receiving the second portion of the selected content from the second peer server.

12. The server of claim 10 wherein the operations further comprise requesting a peer identifier from the directory server, wherein the peer identifier indicates a peer likely to have the selected content.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2014
From: AT&T PROPERTIES, LLC
To: AT&T INTELLECTUAL PROPERTY II, LP
Reel/Frame 034330/0557 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2014
From: AT&T CORP.
To: AT&T PROPERTIES
Reel/Frame 034330/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2008
From: RAMAKRISHNAN, KADANGODE; GOPALKRISHNAN, VIJAY
To: AT&T CORP.
Reel/Frame 021708/0083 →
Continuity (1)
Related Publication 20100100911A1 · Apr 22, 2010