IP Library Granted Patent US 9,083,541
Granted Patent B1
US 9,083,541 · App. 12/979,725 · Granted Jul 14, 2015

Retransmitting lost packets for multicast 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 9,083,541
App. No.
12/979,725
Granted
Jul 14, 2015
Kind
B1
Abstract

A computing device configured for retransmitting lost packets for multicast is described. It includes a processor and instructions in memory. It identifies data, which it begins sending via multicast. No data is resent until all the data has been sent. The computing device requests missed packet lists and waits. It adds missed packets to a map if there are replies. It determines whether there are any missed packets and resends any missed packets. Another computing device for retransmitting lost packets for multicast is described. It includes a processor and instructions in memory. It identifies data for distribution, which it begins sending via multicast. It waits to resend any data until all of the data has been sent. A missed packet indication is requested and received. The computing device updates lists of complete and incomplete target nodes. It determines and sends a peer download instruction.

Claims (108)

1. A computing device that is configured for retransmitting lost packets for multicast data distribution from a computing device, comprising:

a processor;

memory in electronic communication with the processor;

instructions stored in the memory, the instructions being executable to:

identify data for distribution to be distributed via a computer network to a plurality of computing devices, wherein the data for distribution comprises software files including an operating system update;

begin sending the data for distribution via multicast;

wait to resend any part of the data for distribution until all of the data for distribution has been sent;

send a request for missed packet lists;

wait for replies to the request for the missed packet lists;

add missed packets to a map if there are replies to the request for missed packet lists;

determine whether there are any missed packets;

resend the missed packets if there are any missed packets;

determine whether to repeat operation if there are any missed packets; and

return to send requests for missed packet lists if it is determined to repeat operation.

2. The computing device of claim 1 , wherein the instructions are further executable to:

request one or more status messages if there are no missed packets;

wait to receive one or more status messages if there are no missed packets; and

send the status messages if there are no missed packets.

3. The computing device of claim 1 , wherein the instructions are further executable to return to send a request for missed packet lists after resending the missed packets.

4. The computing device of claim 1 , wherein determining whether to repeat operation is based on a fixed number of repeats.

5. The computing device of claim 1 , wherein determining whether to repeat operation is based on a time limit.

6. The computing device of claim 1 , wherein the instructions are further executable to:

request one or more status messages if it is determined to not repeat operation;

wait to receive one or more status messages if it is determined not to repeat operation; and

send the status messages if it is determined not to repeat operation.

7. The computing device of claim 1 , wherein determining whether there are any missed packets is based on whether at least one missed packet list is received by the computing device.

8. A computing device that is configured for retransmitting lost packets for multicast data distribution from a computing device, comprising:

a processor;

memory in electronic communication with the processor;

instructions stored in the memory, the instructions being executable to:

identify data for distribution to be distributed via a computer network to a plurality of computing devices, wherein the data for distribution comprises software files including an operating system update;

begin sending the data for distribution via multicast;

wait to resend any part of the data for distribution until all of the data for distribution has been sent;

request a missed packet indication;

receive a missed packet indication;

determine whether to continue based on a number of same missed packet indications;

update a list of complete target nodes;

update a list of incomplete target nodes;

determine a peer download instruction; and

send a peer download instruction.

9. The computing device of claim 8 , wherein the peer download instruction comprises an instruction for an incomplete target node to connect to a designated complete target node to obtain at least one missing packet.

10. The computing device of claim 8 , wherein the peer download instruction comprises an address of a designated complete target node.

11. The computing device of claim 8 , wherein the missed packet indication comprises a number of missed packets.

12. The computing device of claim 8 , wherein updating the list of complete target nodes comprises adding a target node to the list corresponding to a missed packet indication of zero packets.

13. The computing device of claim 8 , wherein updating the list of incomplete target nodes comprises adding a target node to the list corresponding to a missed packet indication of one or more packets.

14. The computing device of claim 8 , wherein updating the list of incomplete target nodes comprises removing a target node from the list corresponding to a missed packet indication of zero packets.

15. A method for retransmitting lost packets for multicast data distribution from a computing device, comprising:

identifying data for distribution to be distributed via a computer network to a plurality of computing devices, wherein the data for distribution comprises software files including an operating system update;

beginning to send the data for distribution from a computing device via multicast;

waiting, on the computing device, to resend any part of the data for distribution until all of the data for distribution has been sent;

sending a request for missed packet lists;

waiting for replies to the request for the missed packet lists;

adding, on the computing device, missed packets to a map if there are replies to the request for missed packet lists;

determining, on the computing device, whether there are any missed packets;

resending the missed packets if there are any missed packets;

determining whether to repeat operation if there are any missed packets; and

returning to send requests for missed packet lists if it is determined to repeat operation.

16. The method of claim 15 , further comprising:

requesting one or more status messages if there are no missed packets;

waiting to receive one or more status messages if there are no missed packets; and

sending the status messages if there are no missed packets.

17. The method of claim 15 , further comprising returning to send a request for missed packet lists after resending the missed packets.

18. The method of claim 15 , wherein determining whether to repeat operation is based on a fixed number of repeats.

19. The method of claim 15 , wherein determining whether to repeat operation is based on a time limit.

20. The method of claim 15 , further comprising:

requesting one or more status messages if it is determined to not repeat operation;

waiting to receive one or more status messages if it is determined not to repeat operation; and

sending the status messages if it is determined not to repeat operation.

21. The method of claim 15 , wherein determining whether there are any missed packets is based on whether at least one missed packet list is received by the computing device.

22. A method that is configured for retransmitting lost packets for multicast data distribution from a computing device, comprising:

identifying data for distribution to be distributed via a computer network to a plurality of computing devices, wherein the data for distribution comprises software files including an operating system update;

beginning to send the data for distribution via multicast;

waiting, on the computing device, to resend any part of the data for distribution until all of the data for distribution has been sent;

requesting a missed packet indication;

receiving a missed packet indication;

determining whether to continue based on a number of same missed packet indications;

updating, on the computing device, a list of complete target nodes;

updating, on the computing device, a list of incomplete target nodes;

determining a peer download instruction; and

sending a peer download instruction.

23. The method of claim 22 , wherein the peer download instruction comprises an instruction for an incomplete target node to connect to a designated complete target node to obtain at least one missing packet.

24. The method of claim 22 , wherein the peer download instruction comprises an address of a designated complete target node.

25. The method of claim 22 , wherein the missed packet indication comprises a number of missed packets.

26. The method of claim 22 , wherein updating the list of complete target nodes comprises adding a target node to the list corresponding to a missed packet indication of zero packets.

27. The method of claim 22 , wherein updating the list of incomplete target nodes comprises adding a target node to the list corresponding to a missed packet indication of one or more packets.

28. The method of claim 22 , wherein updating the list of incomplete target nodes comprises removing a target node from the list corresponding to a missed packet indication of zero packets.

29. A non-transitory tangible computer-readable medium for retransmitting lost packets for multicast data distribution on a computing device comprising executable instructions for:

identifying data for distribution to be distributed via a computer network to a plurality of computing devices, wherein the data for distribution comprises software files including an operating system update;

beginning to send the data for distribution via multicast;

waiting to resend any part of the data for distribution until all of the data for distribution has been sent;

sending a request for missed packet lists;

waiting for replies to the request for the missed packet lists;

adding missed packets to a map if there are replies to the request for missed packet lists;

determining whether there are any missed packets;

resending the missed packets if there are any missed packets;

determining whether to repeat operation if there are any missed packets; and

returning to send requests for missed packet lists if it is determined to repeat operation.

30. A non-transitory tangible computer-readable medium for retransmitting lost packets for multicast data distribution from a computing device, comprising executable instructions for:

identifying data for distribution to be distributed via a computer network to a plurality of computing devices, wherein the data for distribution comprises software files including an operating system update;

beginning to send the data for distribution via multicast;

waiting to resend any part of the data for distribution until all of the data for distribution has been sent;

requesting a missed packet indication;

receiving a missed packet indication;

determining whether to continue based on a number of same missed packet indications;

updating a list of complete target nodes;

updating a list of incomplete target nodes;

determining a peer download instruction; and

sending a peer download instruction.

Assignments (24)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY 14633493 WHICH WAS ENTERED INCORRECTLY AS 14633793 PREVIOUSLY RECORDED ON REEL 71176 FRAME 315. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST LIEN NEWCO SECURITY AGREEMENT. Recorded Nov 10, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 073818/0515 →
FIRST LIEN NEWCO SECURITY AGREEMENT Recorded May 5, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0315 →
SECURITY INTEREST Recorded May 2, 2025
From: IVANTI, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071164/0482 →
NOTICE OF SUCCESSION OF AGENCY FOR SECURITY INTEREST AT REEL/FRAME 054665/0873 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071123/0386 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; IVANTI, INC.; MOBILEIRON, INC.; IVANTI US LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 054665/0062 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 41052/0762 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: CRIMSON CORPORATION
Reel/Frame 054560/0857 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 41459/0387 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: CRIMSON CORPORATION
Reel/Frame 054637/0161 →
MERGER Recorded Apr 19, 2018
From: CRIMSON CORPORATION
To: IVANTI, INC.
Reel/Frame 045983/0075 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 40183/0506 Recorded Jan 23, 2017
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 041463/0457 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 40182/0345 Recorded Jan 23, 2017
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 041463/0581 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: CRIMSON CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041459/0387 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: CRIMSON CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041052/0762 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040183/0506 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040182/0345 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 031029/0849 Recorded Sep 28, 2016
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 040171/0307 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 032333/0637 Recorded Sep 28, 2016
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 040171/0037 →
SECURITY AGREEMENT Recorded Feb 25, 2014
From: LANDESK SOFTWARE, INC.; CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 032333/0637 →
SECURITY AGREEMENT Recorded Aug 16, 2013
From: LANDESK GROUP, INC.; LANDSLIDE HOLDINGS, INC.; CRIMSON ACQUISITION CORP.; LANDESKSOFTWARE, INC.; CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 031029/0849 →
RELEASE OF SECURITY INTEREST Recorded Aug 12, 2013
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: LANDESK SOFTWARE, INC.
Reel/Frame 030993/0622 →
PATENT SECURITY AGREEMENT Recorded Jul 13, 2012
From: LANDESK SOFTWARE, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 028541/0782 →
RELEASE OF SECURITY INTEREST Recorded Jun 20, 2012
From: WELLS FARGO CAPITAL FINANCE, LLC
To: LANDESK GROUP, INC.; LANDSLIDE HOLDINGS, INC.; LANDESK SOFTWARE, INC.; CRIMSON ACQUISITION CORP.; CRIMSON CORPORATION
Reel/Frame 028413/0913 →
AMENDMENT NUMBER ONE TO PATENT SECURITY AGREEMENT Recorded Mar 17, 2011
From: LANDESK SOFTWARE, INC.; CRIMSON CORPORATION
To: D.E. SHAW DIRECT CAPITAL PORTFOLIOS, L.L.C.
Reel/Frame 025970/0262 →
AMENDMENT NUMBER ONE TO PATENT SECURITY AGREEMENT Recorded Mar 15, 2011
From: LANDESK GROUP, INC.; LANDSLIDE HOLDINGS, INC.; LANDESK SOFTWARE, INC.; CRIMSON ACQUISITION CORP.; CRIMSON CORPORATION
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 025957/0284 →