IP Library Granted Patent US 8,688,852
Granted Patent B2
US 8,688,852 · App. 12/227,961 · Granted Apr 1, 2014

Support for interactive playback devices for performance aware peer-to-peer content-on-demand

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,688,852
App. No.
12/227,961
Granted
Apr 1, 2014
Kind
B2
Abstract

A method and apparatus are described comprising detecting a playback operation, determining a target playback point for the playback operation and detecting a sub-clip type into which the target playback point falls. The method and apparatus also receive a streamed leading sub-clip, determine a set of needed sub-clips, locate one of the set of needed sub-clips and download the located sub-clip.

Claims (105)

1. A method for supporting video playback operations for a peer-to-peer content-on-demand service, said method comprising:

detecting a playback operation;

determining a target playback point for said playback operation;

detecting a sub-clip type into which said target playback point falls, wherein said target playback point is a new intended playback point upon receipt of said playback operation, and wherein said sub-clip type includes an empty sub-clip, a downloaded sub-clip, a streamed sub-clip, and a downloading-in-process sub-clip;

receiving a streamed leading sub-clip from a server;

determining a set of needed sub-clips;

locating one of said set of needed sub-clips;

downloading said located sub-clip;

preparing a missing data vector as a playback deadline approaches;

transmitting said missing data vector to a server; and

receiving by complementary streaming missing data specified in said missing data vector from said server as said playback deadline approaches, wherein said peer-to-peer content-on-demand service is performance aware.

2. The method according to claim 1 , wherein said playback operation is one of jump forward and further comprising:

determining a maximum number of sub-clips to stream;

determining an actual number of sub-clips to stream;

streaming a sub-clip containing said target playback point;

calculating sub-clip deadlines;

starting playback;

downloading sub-clips following said streamed sub-clip.

3. The method according to claim 1 , wherein said playback operation is one of jump backward and further comprising:

determining a maximum number of sub-clips to stream;

determining an actual number of sub-clips to stream;

streaming a sub-clip containing a target playback point;

starting playback at a sub-clip containing a target playback point;

calculating sub-clip deadlines; and

downloading sub-clips following said streamed sub-clip.

4. The method according to claim 1 , wherein said playback operation is one of pause and further comprising:

stopping playback;

stopping sub-clip streaming;

stopping sub-clip downloading; and

setting sub-clip deadlines to infinity.

5. The method according to claim 4 , wherein said playback operation is one of resume and further comprising:

calculating new sub-clip deadlines;

resuming sub-clip streaming, if sub-clips were being streamed;

starting playback; and

resuming sub-clip downloading of any sub-clips that were being downloaded when said pause operation was invoked.

6. The method according to claim 1 , wherein said playback operation is one of fast forward and further comprising:

calculating a sped-up playback rate;

determining a maximum number of sub-clips to stream;

determining an actual number of sub-clips to stream;

streaming sub-clips;

calculating sub-clip deadlines;

starting playback;

downloading sub-clips following said streamed sub-clip.

7. The method according to claim 1 , wherein said playback operation is one of fast reverse and further comprising:

calculating a sped-up playback rate;

determining a maximum number of sub-clips to stream;

determining an actual number of sub-clips to stream;

streaming sub-clips;

starting playback;

calculating sub-clip deadlines; and

downloading sub-clips preceding said streamed sub-clip.

8. An apparatus for supporting video playback operations for a peer-to-peer content-on-demand service, comprising:

a memory for storing sub-clip types;

a control module for directing an operation module; and

an operation module which, when invoked by the control module:

detects a playback operation;

determines a target playback point for said playback operation wherein said target playback point is a new intended playback point upon receipt of said playback operation, and wherein said sub-clip type includes an empty sub-clip, a downloaded sub-clip, a streamed sub-clip, and a downloading-in-process sub-clip;

detects a sub-clip type into which said target playback point falls;

receives a streamed leading sub-clip from a server;

determines a set of needed sub-clips;

locates one of said set of needed sub-clips;

downloads said located sub-clip;

prepares a missing data vector as a playback deadline approaches;

transmits said missing data vector to a server; and

receives by complementary streaming missing data specified in said missing data vector from said server as said playback deadline approaches, wherein said peer-to-peer content-on-demand service is performance aware.

9. The apparatus according to claim 8 , wherein said playback operation is one of jump forward and the operation module:

determines a maximum number of sub-clips to stream;

determines an actual number of sub-clips to stream;

streams a sub-clip containing said target playback point;

calculates sub-clip deadlines;

starts playback;

downloads sub-clips following said streamed sub-clip.

10. The apparatus according to claim 8 , wherein said playback operation is one of jump backward and the operation module:

determining a maximum number of sub-clips to stream;

determining an actual number of sub-clips to stream;

streaming a sub-clip containing a target playback point;

starting playback at a sub-clip containing a target playback point;

calculating sub-clip deadlines; and

downloading sub-clips following said streamed sub-clip.

11. The apparatus according to claim 8 , wherein said playback operation is one of pause and the operation module:

stops playback;

stops sub-clip streaming;

stops sub-clip downloading; and

sets sub-clip deadlines to infinity.

12. The apparatus according to claim 11 , wherein said playback operation is one of resume and the operation module:

calculates new sub-clip deadlines;

resumes sub-clip streaming, if sub-clips were being streamed;

starts playback; and

resumes sub-clip downloading of any sub-clips that were being downloaded when said pause operation was invoked.

13. The apparatus according to claim 8 , wherein said playback operation is one of fast forward and the operation module:

calculates a sped-up playback rate;

determines a maximum number of sub-clips to stream;

determines an actual number of sub-clips to stream;

streams sub-clips;

calculates sub-clip deadlines;

starts playback;

downloads sub-clips following said streamed sub-clip.

14. The apparatus according to claim 8 , wherein said playback operation is one of fast reverse and the operation module:

calculates a sped-up playback rate;

determines a maximum number of sub-clips to stream;

determines an actual number of sub-clips to stream;

streams sub-clips;

starts playback;

calculates sub-clip deadlines; and

downloads sub-clips preceding said streamed sub-clip.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2020
From: THOMSON LICENSING S.A.S.
To: MAGNOLIA LICENSING LLC
Reel/Frame 053570/0237 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2008
From: GUO, YANG; MATHUR, SAURABH; RAMASWAMY, KUMAR
To: THOMSON LICENSING
Reel/Frame 021958/0651 →