IP Library Granted Patent US 9,591,058
Granted Patent B2
US 9,591,058 · App. 14/038,240 · Granted Mar 7, 2017

Rapid recovery method for incomplete file transfer from sender to recipient

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 9,591,058
App. No.
14/038,240
Granted
Mar 7, 2017
Kind
B2
Abstract

Recovery of an incomplete transfer of a file from a sender to at least one recipient connected to the sender via a network is disclosed. In an example embodiment, the at least one recipient receives one or more packets of the file sent by the sender via the network. The at least one recipient sets a bit in a bitmap, for each received packet, to efficiently keep track of and request for retransmission of missing packets. Thus, after the file is sent by the sender, the at least one recipient requests from the sender a retransmission of any packet corresponding to a bit that has not been set. The sender then sends packets including the missing packets via unicast to the at least one recipient which has sent a request for retransmission.

Claims (61)

1. A method for transfer of a file from a sender to at least one recipient connected to the sender via a computer network, the method comprising:

creating, by the at least one recipient, a bitmap including a plurality of bits, wherein each of the bits in the bitmap is initially set to a value of 1;

receiving, by the at least one recipient, one or more packets of the file sent by the sender via the computer network;

determining, by the at least one recipient, for each of the one or more received packets, whether a received packet is a close packet by analyzing a packet type included in the received packet;

clearing, by the at least one recipient, in a case the received packet is not a close packet, a bit in the bitmap to a value of 0, for the received packet; and

in a case the received packet is a close packet,

a) scanning, by the at least one recipient, the bitmap to check a setting of each bit of the bitmap,

b) creating, by the at least one recipient, a list of packet numbers corresponding to one or more bits in the bitmap that are set to a value of 1, in accordance with the scanning, and

c) requesting from the sender, by the at least one recipient, a retransmission of one or more packets corresponding to the list of packet numbers, wherein the one or more packets requested to be retransmitted make up less than the entirety of the file.

2. The method according to claim 1 , wherein the request by the at least one recipient includes a request that the sender re-send a specific packet associated with the one or more bits in the bitmap that are set to a value of 1.

3. The method according to claim 1 , wherein the request by the at least one recipient includes a request that the sender re-send a range of packets which includes a packet associated with the one or more bits in the bitmap that are set to a value of 1.

4. The method according to claim 1 , wherein at least two recipients receive the one or more packets sent by the sender via broadcast,

wherein each recipient of the at least two recipients clears a bit in a bitmap to a value of 0, for each received packet, and

wherein each recipient of the at least two recipients requests from the sender a retransmission of any packet corresponding to a bit that is set to a value of 1, the retransmission to be sent to each recipient via unicast.

5. The method according to claim 4 , wherein the sender retransmits in response to each request sent by each recipient, on a first-come, first-served basis.

6. A recipient connected to a sender via a computer network, the recipient comprising:

a processor and a memory that cooperate to:

create a bitmap including a plurality of bits, wherein each of the bits in the bitmap is initially set to a value of 1,

receive one or more packets of a file sent by the sender via the computer network,

determine, for each of the one or more received packets, whether a received packet is a close packet by analyzing a packet type included in the received packet,

clear, in a case the received packet is not a close packet, a bit in the bitmap to a value of 0, for the received packet, and

in a case the received packet is a close packet,

(a) scan the bitmap to check a setting of each bit of the bitmap,

(b) create a list of packet numbers corresponding to one or more bits in the bitmap that are set to a value of 1, in accordance with the scanning, and

(c) request from the sender a retransmission of one or more packets corresponding to the list of packet numbers, wherein the one or more packets requested to be retransmitted make up less than the entirety of the file.

7. The recipient according to claim 6 , wherein the request includes a request that the sender re-send a specific packet associated with the one or more bits that are set to a value of 1.

8. The recipient according to claim 6 , wherein the request includes a request that the sender re-send a range of packets which includes a packet associated with the one or more bits that are set to a value of 1.

9. The recipient according to claim 6 , wherein the recipient and at least one other recipient receive the one or more packets sent by the sender via broadcast,

wherein the recipient and at least one other recipient each clear a bit in a bitmap to a value of 0, for each received packet, and

wherein the recipient and at least one other recipient each request from the sender a retransmission of any packet corresponding to a bit that is set to a value of 1, the retransmission to be sent to each recipient via unicast.

10. The recipient according to claim 9 , wherein the sender retransmits in response to each request sent by each of the recipient and at least one other recipient, on a first-come, first-served basis.

11. A system including a sender and at least one recipient connected to the sender via a computer network,

the sender comprising:

a processor arranged to send one or more packets of a file to the at least one recipient via the computer network, and

the at least one recipient comprising:

a processor and a memory that cooperate to:

create a bitmap including a plurality of bits, wherein each of the bits in the bitmap is initially set to a value of 1,

receive the one or more packets of the file sent by the sender via the computer network,

determine, for each of the one or more received packets, whether a received packet is a close packet by analyzing a packet type included in the received packet;

clear, in a case the received packet is not a close packet, a bit in the bitmap to a value of 0, for the received packet, and

in a case the received packet is a close packet,

(a) scan the bitmap to check a setting of each bit of the bitmap,

(b) create a list of packet numbers corresponding to one or more bits in the bitmap that are set to a value of 1, in accordance with the scanning, and

(c) request from the sender a retransmission of one or more packets corresponding to the list of packet numbers, wherein the one or more packets requested to be retransmitted make up less than the entirety of the file.

12. The system according to claim 11 , wherein the processor of the sender is further arranged to retransmit, based on the request from the at least one recipient, any packet corresponding to a bit that is set to a value of 1.

13. The system according to claim 12 , wherein the request includes a request that the sender re-send a specific packet associated with the bit that is set to a value of 1.

14. The system according to claim 12 , wherein the request includes a request that the sender re-send a range of packets which includes a packet associated with the bit that is set to a value of 1.

15. The system according to claim 12 , wherein the sender sends the one or more packets to at least two recipients via broadcast,

wherein each recipient of the at least two recipients clears a bit in a bitmap to a value of 0, for each received packet, and

wherein the sender retransmits, based on a request received from one of the at least two recipients, via unicast to the one recipient of the at least two recipients any packet corresponding to a bit that is set to a value of 1.

16. The system according to claim 15 , wherein the sender retransmits in response to each request sent by each recipient of the at least two recipients, on a first-come, first-served basis.

17. A non-transitory computer-readable storage medium on which is stored computer-executable process steps for causing a recipient to perform the following:

create a bitmap including a plurality of bits, wherein each of the bits in the bitmap is initially set to a value of 1;

receive one or more packets of a file sent by a sender via a computer network;

determine, for each of the one or more received packets, whether a received packet is a close packet by analyzing a packet type included in the received packet;

clear, in a case the received packet is not a close packet, a bit in the bitmap to a value of 0, for the received packet; and

in a case the received packet is a close packet,

(a) scan the bitmap to check a setting of each bit of the bitmap,

(b) create a list of packet numbers corresponding to one or more bits in the bitmap that are set to a value of 1, in accordance with the scanning, and

(c) request a retransmission of one or more packets corresponding to the list of packet numbers, wherein the one or more packets requested to be retransmitted make up less than the entirety of the file.

18. A non-transitory computer-readable storage medium on which is stored computer-executable process steps for causing the processor of the sender according to claim 11 to send one or more packets of a file to the at least one recipient via the computer network.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2018
From: CERBERUS BUSINESS FINANCE, LLC
To: CORIANT OPERATIONS, INC. (FORMERLY KNOWN AS TELLABS OPERATIONS, INC.); WICHORUS, LLC (FORMERLY KNOWN AS WICHORUS, INC.)
Reel/Frame 047725/0653 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION NUMBER 10/075,623 PREVIOUSLY RECORDED AT REEL: 034484 FRAME: 0740. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT FOR SECURITY --- PATENTS. Recorded Jun 14, 2017
From: CORIANT OPERATIONS, INC.; TELLABS RESTON, LLC (FORMERLY KNOWN AS TELLABS RESTON, INC.); WICHORUS, LLC (FORMERLY KNOWN AS WICHORUS, INC.)
To: TELECOM HOLDING PARENT LLC
Reel/Frame 042980/0834 →
MERGER AND CHANGE OF NAME Recorded Jan 18, 2017
From: TELLABS OPERATIONS, INC.; CORIANT OPERATIONS, INC.
To: CORIANT OPERATIONS, INC.
Reel/Frame 041391/0921 →
SECURITY INTEREST Recorded Nov 26, 2014
From: CORIANT OPERATIONS, INC. (FORMERLY KNOWN AS TELLABS OPERATIONS, INC.); WICHORUS, LLC (FORMERLY KNOWN AS WICHORUS, INC.)
To: CERBERUS BUSINESS FINANCE, LLC, AS THE COLLATERAL AGENT
Reel/Frame 034268/0946 →
ASSIGNMENT FOR SECURITY - - PATENTS Recorded Nov 26, 2014
From: CORIANT OPERATIONS, INC.; TELLABS RESTON, LLC (FORMERLY KNOWN AS TELLABS RESTON, INC.); WICHORUS, LLC (FORMERLY KNOWN AS WICHORUS, INC.)
To: TELECOM HOLDING PARENT LLC
Reel/Frame 034484/0740 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2014
From: PAJAK, ARTHUR M; PIGULA, ZBIGNIEW; O'BRIEN, CHRIS
To: TELLABS OPERATIONS, INC.
Reel/Frame 032197/0213 →