IP Library Granted Patent US 7,934,239
Granted Patent B1
US 7,934,239 · App. 12/271,142 · Granted Apr 26, 2011

Method and system to daisy-chain access to video resources

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 7,934,239
App. No.
12/271,142
Granted
Apr 26, 2011
Kind
B1
Abstract

A method and system to control at least one video resource daisy-chain access system. A first embodiment is a method to operate a video resource daisy-chain access system. The method includes requesting from a coordinator access instructions to receive a broadcast stream from a broadcast source; connecting to the broadcast source, or one of the re-broadcasting clients already receiving the broadcast stream, as instructed by the coordinator; optionally registering with the coordinator as a potential re-broadcasting source for new clients; optionally accepting connection requests from new clients for re-broadcasting of the received broadcast stream; and playing back on the client the received broadcast stream. A second embodiment is a video resource daisy-chain access system. The system includes a coordinator; a broadcasting source having a communication link with the coordinator; a first client having a communication link with the coordinator and a communication link with the broadcasting source; and a second client having a communication link with the coordinator and a communication link with the first client. These embodiments can be applied in several wired and wireless communication applications, even combinations of wired and wireless technologies including, but not limited to, IEEE 802.16 wireless applications, and equivalent technologies.

Claims (100)

1. A method to operate a video resource daisy-chain access system, comprising:

requesting from a coordinator access instructions for a client to receive a broadcast stream from a broadcast source;

connecting to the broadcast source, or connecting to a re-broadcasting client already receiving the broadcast stream, as instructed by the coordinator;

playing back on the client the received broadcast stream;

periodically sending to the coordinator the last played back time stamp of the received broadcast stream;

periodically receiving at a client, from the coordinator, the time stamp of the most delayed client received by the coordinator from all clients;

receiving a playback time stamp from the one or more clients, and adding half of the round trip time to the time stamp and storing the time stamp in a time stamp store;

incrementing each stored time stamp at a periodic interval;

periodically selecting the most delayed time stamp among all the stored time stamps;

adding half of the round trip time of the one or more clients to the most delayed time stamp and sending the resulting time stamp to the one or more clients; and

testing to determine if the difference between the most delayed time stamp and the last played back time stamp of the received broadcast stream is bigger than an acceptable threshold, wherein

if the difference of the test is not bigger than the acceptable threshold, then no playback adjustment is made to the received broadcast stream,

if the difference of the test is bigger than the acceptable threshold, then pausing playback of the received broadcast stream of the client until the time stamp of the most delayed client is within the acceptable threshold.

2. The method of claim 1 , further comprising:

registering with the coordinator as a potential re-broadcasting client for broadcasting to one or more new clients; and

accepting connection requests from one or more new clients for re-broadcasting of the received broadcast stream.

3. The method of claim 1 , further comprising:

sending information to the coordinator concerning the effective downlink bandwidth for one or more clients; and

adjusting the data compression bit-rate of a re-broadcasting client to accommodate the slowest downlink bandwidth of a client of the one or more clients.

4. The method of claim 1 , further comprising:

detecting the unavailability of a re-broadcasting client needed by at least one client; and

sending reconnecting information to the at least one client to receive a broadcast stream from another re-broadcasting client or the broadcast source.

5. A method to operate a video resource daisy-chain access system, comprising:

requesting from a coordinator access instructions for a client to receive a broadcast stream from a broadcast source;

connecting to the broadcast source, or connecting to a re-broadcasting client already receiving the broadcast stream, as instructed by the coordinator;

playing back on the client the received broadcast stream;

periodically sending one or more probes by the coordinator to one or more clients to calculate a round trip time;

receiving a playback time stamp from the one or more clients, and adding half of the round trip time to the time stamp and storing the time stamp in a time stamp store;

incrementing each stored time stamp at a periodic interval;

periodically selecting the most delayed time stamp among all the stored time stamps;

adding half of the round trip time of the one or more clients to the most delayed time stamp and sending the resulting time stamp to the one or more clients; and

testing to determine if the difference between the most delayed time stamp and the last played back time stamp of the received broadcast stream is bigger than an acceptable threshold, wherein

if the difference of the test is not bigger than the acceptable threshold, and if the playback of the received broadcast stream hasn't started yet or was paused, then playback of the received broadcast stream is started or resumed,

if the difference of the test is not bigger than the acceptable threshold and the playback of the received broadcast stream was in progress, then no playback adjustment is made to the received broadcast stream, or

if the difference of the test is bigger than the acceptable threshold, then pausing playback of the received broadcast stream of the client until the time stamp of the most delayed client is within the acceptable threshold.

6. A method to operate a video resource daisy-chain access system, comprising:

requesting from a coordinator access instructions for a client to receive a broadcast stream from a broadcast source;

connecting the client to the broadcast source, or a re-broadcasting client already receiving the broadcast stream, as instructed by the coordinator;

playing back on the client the received broadcast stream;

periodically sending to the coordinator the last played back time stamp of the received broadcast stream;

periodically receiving at a client, from the coordinator, the time stamp of the most delayed client received by the coordinator from all clients; and

testing to determine if the difference between the most delayed time stamp and the last played back time stamp of the received broadcast stream is bigger than an acceptable threshold, wherein

if the difference of the test is not bigger than the acceptable threshold, then no playback adjustment is made to the received broadcast stream,

if the difference of the test is bigger than the acceptable threshold, then pausing playback of the received broadcast stream of the client until the time stamp of the most delayed client is within the acceptable threshold.

7. The method of claim 6 , further comprising:

periodically sending one or more probes by the coordinator to one or more clients to calculate a round trip time;

receiving a playback time stamp from the one or more clients, and half of the round trip time to the time stamp and storing the time stamp in a time stamp store;

incrementing each stored time stamp at a periodic interval;

periodically selecting the most delayed time stamp among all the stored time stamps; and

adding half of the round trip time of the one or more clients to the most delayed time stamp and sending the resulting time stamp to the one or more clients.

8. The method of claim 6 wherein the operation of registering with the coordinator as a potential re-broadcasting client for new clients includes announcing an available uplink bandwidth to the coordinator for a future reference.

9. The method of claim 6 , further comprising:

registering with the coordinator as a potential re-broadcasting client for new clients; and

accepting connection requests from new clients for re-broadcasting of the received broadcast stream.

10. The method of claim 6 , further comprising:

sending information to the coordinator concerning the effective downlink bandwidth for at least one client; and

adjusting the data compression bit-rate of a re-broadcasting client to accommodate the slowest downlink bandwidth to a plurality of clients.

11. The method of claim 6 , further comprising:

detecting the unavailability of a re-broadcasting client needed by at least one client; and

sending reconnecting information to the at least one client to receive a broadcast stream from another re-broadcasting client or the broadcast source.

12. The method of claim 6 wherein adjusting the playback of a client includes adjusting the playback of a broadcast stream from a buffer in the client.

13. The method of claim 6 wherein adjusting the playback of a client includes changing the re-broadcasting client for the client to a second re-broadcasting client or the broadcast source.

14. A video resource daisy-chain access system, comprising:

a coordinator for organizing a daisy-chain video resource access system and synchronizing video playback between the clients;

a broadcasting source having a communication link with the coordinator;

a first client having a communication link with the coordinator and a communication link with the broadcasting source;

a second client having a communication link with the coordinator and a communication link with the first client;

means for periodically sending one or more probes by the coordinator to one or more clients to calculate a round trip time;

means for receiving a playback time stamp from the one or more clients, and adding half of the round trip time to the time stamp and storing the time stamp in a time stamp store;

means for incrementing each stored time stamp at a periodic interval;

means for periodically selecting the most delayed time stamp among all the stored time stamps;

means for adding half of the round trip time of the one or more clients to the most delayed time stamp and sending the resulting time stamp to the one or more clients; and

means for testing to determine if the difference between the most delayed time stamp and the last played back time stamp of the received broadcast stream is bigger than an acceptable threshold, wherein

if the difference of the test is not bigger than the acceptable threshold, then no playback adjustment is made to the received broadcast stream,

if the difference of the test is bigger than the acceptable threshold, then pausing playback of the received broadcast stream of the client until the time stamp of the most delayed client is within the acceptable threshold.

15. The system of claim 14 , further comprising:

a third client having a communication link with the coordinator and a communication link with the second client.

16. The system of claim 14 , further comprising:

a module in a client to register with the coordinator as a potential re-broadcasting client for new clients; and

a module in the client to accept connection requests from one or more new clients for re-broadcasting of the received broadcast stream.

17. The system of claim 14 , further comprising:

a module in a client to send information to the coordinator concerning the effective downlink bandwidth for the client; and

a module in a re-broadcasting client to adjust the data compression bit-rate of the re-broadcasting client to accommodate the slowest downlink bandwidth to a plurality of clients.

18. The system of claim 14 , further comprising:

a module in the coordinator to detect the unavailability of a re-broadcasting client needed by at least one client; and

a module in the coordinator to send reconnecting information to the at least one client to receive a broadcast stream from another re-broadcasting client or the broadcast source.

19. A video resource daisy-chain access system, comprising:

a coordinator for organizing a daisy-chain video resource access system and synchronizing video playback between the clients;

a broadcasting source having a communication link with the coordinator;

a first client having a communication link with the coordinator and a communication link with the broadcasting source;

a second client having a communication link with the coordinator and a communication link with the first client;

a module to periodically send one or more probes by the coordinator to one or more clients to calculate a round trip time;

a module to receive a playback time stamp from the one or more clients, and add half of the round trip time to the time stamp and store the time stamp in a time stamp store;

means for incrementing each stored time stamp at a periodic interval;

means for periodically selecting the most delayed time stamp among all the stored time stamps;

means for adding half of the round trip time of the one or more clients to the most delayed time stamp and sending the resulting time stamp to the one or more clients; and

means for testing to determine if the difference between the most delayed time stamp and the last played back time stamp of the received broadcast stream is bigger than an acceptable threshold, wherein

if the difference of the test is not bigger than the acceptable threshold, and if the playback of the received broadcast stream hasn't started yet or was paused, then playback of the received broadcast stream is started or resumed,

if the difference of the test is not bigger than the acceptable threshold and the playback of the received broadcast stream was in progress, then no playback adjustment is made to the received broadcast stream, or

if the difference of the test is bigger than the acceptable threshold, then pausing playback of the received broadcast stream of the client until the time stamp of the most delayed client is within the acceptable threshold.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2016
From: MARTON DISTRIBUTION PRIVATE LIMITED
To: CLYP ENGINES PRIVATE LIMITED
Reel/Frame 038664/0804 →
DECLARATION OF INVALID SECURITY INTEREST Recorded May 10, 2016
From: JAIN, PRABHAT
To: CLYP ENGINES PRIVATE LIMITED
Reel/Frame 038700/0853 →
SECURITY INTEREST Recorded Feb 11, 2015
From: MARTON DISTRIBUTION PRIVATE LTD., INDIA
To: KANZATEC LLC
Reel/Frame 034957/0955 →
RELEASE OF SECURITY INTEREST Recorded Sep 2, 2014
From: MARTON DISTRIBUTION PRIVATE LTD.
To: MARTON DISTRIBUTION PRIVATE LTD.
Reel/Frame 033787/0036 →
SECURITY INTEREST Recorded Jun 18, 2014
From: MARTON DISTRIBUTION PRIVATE LTD.
To: KANZATEC LLC
Reel/Frame 033198/0862 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2014
From: MONSOON MULTIMEDIA INDIA LIMITED
To: MARTON DISTRIBUTION PRIVATE LTD.
Reel/Frame 032850/0671 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR, LISTED AS PRABHAT JAIN, AND THE ASSIGNEE, LISTED AS MONSOON MULTIMEDIA, INC. PREVIOUSLY RECORDED ON REEL 029923 FRAME 0548. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT ASSIGNOR IS MONSOON MULTIMEDIA, INC., AND THE CORRECT ASSIGNEE IS MONSOON MULTIMEDIA INDIA LIMITED. Recorded Jun 3, 2013
From: MONSOON MULTIMEDIA, INC.
To: MONSOON MULTIMEDIA INDIA LIMITED
Reel/Frame 030537/0377 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2013
From: JAIN, PRABHAT
To: MONSOON MULTIMEDIA, INC.
Reel/Frame 029923/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2008
From: DAGMAN, VADIM
To: MONSOON MULTIMEDIA
Reel/Frame 021839/0897 →