IP Library Granted Patent US 7,536,622
Granted Patent B2
US 7,536,622 · App. 10/813,343 · Granted May 19, 2009

Data repair enhancements for multicast/broadcast data distribution

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,536,622
App. No.
10/813,343
Granted
May 19, 2009
Kind
B2
Abstract

A method, system, device, and computer code product is disclosed in which a sender transmits data to a plurality of receivers via a point-to-multipoint session. The receiver sends data repair requests to the sender requesting data expected but not received and the sender retransmits the expected but not received data via the point-to-multipoint session. The sender can also schedule point-to-point data repair sessions with individual receivers if the retransmission via the point-to-multipoint session does not correct all errors. The sender can be configured to delay point-to-point repair sessions using a randomization mechanism based on the number of receivers using the point-to-multipoint session.

Claims (79)

1. A method for data repair in a point-to-multipoint communications system, the method comprising:

transmitting data from a sender to a plurality of receivers via a point-to-multipoint session;

determining if any expected data was not received;

if some expected data was not received, sending a data repair request to the sender requesting that the expected-but-not-received data be resent;

retransmitting from the sender all of the requested expected-but-not-received data via the point-to-multipoint session;

after the sender retransmits the requested expected-but-not-received data, if some data was still not received, scheduling point-to-point repair sessions for specific receivers that expected data that was not received; and

sending data still not received to the specific receivers via point-to-point sessions according to the point-to-point repair session schedule.

2. The method of claim 1 , wherein scheduling point-to-point repair sessions further comprises specifying a randomization mechanism to randomize point-to-point data repair over a certain time period after the sender has retransmitted the requested expected-but-not-received data.

3. The method of claim 2 , wherein the randomization mechanism is configured to take into account the number of receivers included in the plurality of receivers.

4. The method of claim 3 , further comprising:

determining the number of receivers in the plurality of receivers; and

computing the randomization values for the randomization mechanism based on the determined number of receivers.

5. The method of claim 4 , wherein computing the randomization values further comprises looking up the randomization values up in a look-up table based on the determined number of receivers.

6. The method of claim 1 , wherein scheduling point-to-point repair sessions further comprises:

if point-to-multipoint repair is possible for a receiver, then

uniformly randomizing data repair requests over a time period X staffing from the end of the initial transmitting of data from the sender to the receivers via the point-to-multipoint session;

else

waiting until a certain time Y after the initial transmitting of data from the sender to the receivers via the point-to-multipoint session and then randomizing the data repair requests over a time period Z.

7. The method of claim 1 , wherein scheduling point-to-point repair sessions comprises sending a point-to-point repair token from the sender to the plurality of receivers to announce when point-to-point repair will begin.

8. A point-to-multipoint communication system for repairing data, the system comprising:

a sender device for transmitting data via point-to-multipoint communications;

a plurality of receivers for receiving data from the sender device;

wherein the sender device is configured to transmit data to the plurality of receivers via a point-to-multipoint session;

the plurality of receivers are configured to receive data transmitted by the sender device, determine if any expected data was not received, and, if so, send a data repair request back to the sender device requesting that the expected-but-not-received data be resent; and

the sender device is configured to receive data repair requests from the plurality of receivers and to retransmit all of the requested expected-but-not-received data via the point-to-multipoint session;

wherein the sender device is further configured to schedule point-to-point data repair sessions with the plurality of receivers after retransmission of the requested expected-but-not-received data and the sender is configured to send expected-but-not-received data to the plurality of receivers via point-to-point sessions.

9. The system of claim 8 wherein the sender device is further configured to specify a randomization mechanism to delay point-to-point data repair.

10. The system of claim 9 wherein the sender is capable of determining the number of receivers on the point-to-multipoint session and is capable of computing a randomization mechanism that is based on the determined number of receivers.

11. The system of claim 8 wherein the sender is configured to send a point-to-point repair token to the plurality of receives to announce when point-to-point repair will begin.

12. The system of claim 8 further comprising a look-up table for determining the point-to-point repair schedule.

13. A computer code product embodied on a computer readable storage medium, the computer code product comprising: computer code that, when executed by a processor, causes a computer to perform the following:

transmit data from a sender to a plurality of receivers via a point-to-multipoint session;

determine if expected data was not received at any of the plurality of receivers;

make a data repair request if any expected data was not received at any of the plurality of receivers; and

retransmit all of the requested expected-but-not-received data to the plurality of receivers via the point-to-multipoint session;

wherein the computer code is further configured to schedule point-to-point data repair sessions after retransmission of the requested expected-but-not-received data.

14. A computer code product embodied on a computer storage readable medium, the computer code product comprising: computer code that, when executed, causes a computer to perform the following:

transmit data from a sender to a plurality of receivers via a point-to-multipoint session;

determine if expected data was not received at any of the plurality of receivers;

make a data repair request if any expected data was not received at any of the plurality of receivers; and

retransmit all of the requested expected-but-not-received data to the plurality of receivers via the point-to-multipoint session;

wherein the computer code is further configured to determine the number of receivers on the point-to-multipoint session and schedule the point-to-point data repair sessions based on the determined number of receivers.

15. A sender device for use in a point-to-multipoint communication system, the sender device comprising:

means for transmitting data to a plurality of receivers via a point-to-multipoint session;

means for receiving data repair requests from the plurality of receivers requesting expected-but-not-received data;

means for retransmitting all of the requested expected-but-not-received data via a point-to-multipoint session; and

means for scheduling point-to-point data repair sessions with the plurality of receivers after retransmitting the requested expected-but-not-received data.

16. A sender device for use in a point-to-multipoint communication system, the sender device comprising:

means for transmitting data to a plurality of receivers via a point-to-multipoint session;

means for receiving data repair requests from the plurality of receivers requesting expected-but-not-received data;

means for retransmitting all of the requested expected-but-not-received data via a point-to-multipoint session;

wherein the sender device farther comprises means for determining the number of receivers using the point-to-multipoint session wherein the sender is configured to schedule the point-to-point data repair sessions based on the determined number of receivers.

17. A method for data repair in a point-to-multipoint communication system, the method comprising:

transmitting data from a sender to a plurality of receivers via a point-to-multipoint session;

determining if any of the plurality of receivers expected data that was not received;

determining the number of receivers using the point-to-multipoint session;

computing randomization values for a randomization mechanism based on the determined number of receivers;

scheduling point-to-point repair sessions with any of the plurality of receivers that expected data that was not received; and

delaying the point-to-point data repair sessions based on the computed randomization values.

18. A computer code product embodied on a computer readable storage medium, the computer code product comprising: computer code that, when executed, causes a computer to perform the following:

transmit data from a sender to a plurality of receivers via a point-to-multipoint session;

determine if expected data was not received at any of the plurality of receivers;

make a data repair request if any data was not received at any of the plurality of receivers;

determine the number of receivers on the point-to-multipoint session;

schedule point-to-point data repair sessions for each receiver that did not receive all expected data; and

delaying the point-to-point data repair session based on the number of determined receivers.

19. A sender device for use in a point-to-multipoint communication system, the sender device comprising:

means for transmitting data to a plurality of receivers via a point-to-multipoint session;

means for receiving data repair requests from the plurality of receivers requesting expected-but-not-received data;

means for determining the number of receivers using the point-to-multipoint session;

wherein the sender device is configured to schedule point-to-point data repair sessions with receivers that did not receive all expected data; and

delaying the point-to-point data repair session based on the determined number of receivers.

20. A point-to-multipoint communication system for repairing data, the system comprising:

a sender device for transmitting data via point-to-multipoint communications;

a plurality of receivers for receiving data from the sender device;

wherein the sender is configured to transmit data to the plurality of receivers via a point-to-multipoint session;

the plurality of receivers being configured to receive data transmitted by the sender device, determine if any expected data was not received, and if so, send a data repair request back to the sender device requesting that the expected-but-not-received data be resent;

the sender being configured to determine the number of receivers on the point-to-multipoint session and to determine a randomization mechanism based on the determined number of receivers;

the sender being configured to schedule point-to-point repair sessions with receivers that expected data that was not received, the point-to-point repair sessions being delayed based on the randomization mechanism.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035280/0871 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2004
From: LEON, DAVID; CURCIO, IGOR DANILO DIEGO
To: NOKIA CORPORATION
Reel/Frame 015673/0567 →