IP Library Granted Patent US 9,137,780
Granted Patent B1
US 9,137,780 · App. 12/979,987 · Granted Sep 15, 2015

Synchronizing multicast data distribution on a computing device

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,137,780
App. No.
12/979,987
Granted
Sep 15, 2015
Kind
B1
Abstract

A computing device that is configured for synchronizing multicast data distribution is described. The computing device includes a processor and instructions stored in memory. The computing device reads a block of data and sends the block of data via multicast. It is determined whether a packet in the block of data requires a new mapped file view. This determination is based on the capacity of a current mapped file view on a target node. The computing device delays sending more data if the new mapped file view is required.

Claims (49)

1. A computing device that is configured for synchronizing multicast data distribution, comprising:

a processor;

memory in electronic communication with the processor;

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

read a first block of data;

send the first block of data via multicast, wherein the first block of data comprises software files for an application or program;

send a message to a target node that specifies a capacity of a current mapped file view for the target node, wherein the current mapped file view comprises a first portion of the memory that is mapped to a first portion of computing device storage corresponding to a first portion of a file, wherein the file is one of the software files;

determine whether the first block of data requires a new mapped file view by determining the difference between the capacity of the current mapped file view sent in the message and the size of the first block of data, wherein the new mapped file view is required when the size of the first block of data exceeds the capacity of the current mapped file view, and wherein the new mapped file view comprises a second portion of the memory that is mapped to a second portion of computing device storage corresponding to a second portion of the file, wherein the file is one of the software files; and

delay sending a second block of data based on whether the first block of data requires a new mapped file view.

2. The computing device of claim 1 , wherein delaying sending the second block of data allows one or more target nodes to map a new mapped file view.

3. The computing device of claim 1 , wherein delaying sending a second block of data comprises suspending sending the second block of data.

4. The computing device of claim 1 , wherein delaying sending a second block of data comprises maintaining a network bandwidth usage in a certain range.

5. The computing device of claim 1 , wherein the capacity of the current mapped file view is based on a number of packets.

6. The computing device of claim 1 , wherein the capacity of the current mapped file view is determined by measuring past system performance.

7. The computing device of claim 6 , wherein the past system performance is measured by a measurement selected from the group consisting of: a number of retransmission requests, a number of dropped packets and a time used to complete a multicast operation.

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

receive a message from a target node, wherein the message specifies a processor speed, a memory write speed and a total memory capacity from the target node; and

determine the capacity of the current mapped file view based on the processor speed, memory write speed and total memory capacity.

9. The computing device of claim 8 , wherein the instructions are further executable to:

receive the message from a plurality of target nodes; and

determine a delay based on the determined capacity of the current mapped file view and a slowest target node, wherein the slowest target node is the target node that requires the longest amount of time to map the new mapped file view.

10. The computing device of claim 1 , wherein the instructions are further executable to receive a message from a target node requesting a specified delay and wherein delaying sending the second block of data is based on the specified delay.

11. The computing device of claim 1 , wherein sending the second block of data is delayed until a message is received from a target node indicating that the target node has finished mapping the new mapped file view.

12. A method for synchronizing multicast data distribution on a computing device, comprising:

reading a first block of data;

sending the first block of data via multicast from the computing device, wherein the first block of data comprises software files for an application or program;

sending a message to a target node that specifies a capacity of a current mapped file view for the target node, wherein the current mapped file view comprises a first portion of the memory that is mapped to a first portion of computing device storage corresponding to a first portion of a file, wherein the file is one of the software files;

determining, on the computing device, whether the first block of data requires a new mapped file view, by determining the difference between the capacity of the current mapped file view sent in the message and the size of the first block of data, wherein the new mapped file view is required when the size of the first block of data exceeds the capacity of the current mapped file view, and wherein the new mapped file view comprises a second portion of a memory that is mapped to a second portion of computing device storage corresponding to a second portion of the file, wherein the file is one of the software files; and

delaying sending a second block of data from the computing device based on whether the first block of data requires a new mapped file view.

13. The method of claim 12 , wherein delaying sending the second block of data allows one or more target nodes to map a new mapped file view.

14. The method of claim 12 , wherein delaying sending a second block of data comprises suspending sending the second block of data.

15. The method of claim 12 , wherein delaying sending a second block of data comprises maintaining a network bandwidth usage in a certain range.

16. The method of claim 12 , wherein the capacity of the current mapped file view is based on a number of packets.

17. The method of claim 12 , wherein the capacity of the current mapped file view is determined by measuring past system performance.

18. The method of claim 17 , wherein the past system performance is measured by a measurement selected from the group consisting of: a number of retransmission requests, a number of dropped packets and a time used to complete a multicast operation.

19. The method of claim 12 , further comprising:

receiving a message from a target node, wherein the message specifies a processor speed, a memory write speed and a total memory capacity from the target node; and

determining the capacity of the current mapped file view based on the processor speed, memory write speed and total memory capacity.

20. The method of claim 19 , further comprising:

receiving the message from a plurality of target nodes; and

determining a delay based on the determined capacity of the current mapped file view and a slowest target node, wherein the slowest target node is the target node that requires the longest amount of time to map the new mapped file view.

21. The method of claim 12 , further comprising receiving a message from a target node requesting a specified delay and wherein delaying sending the second block of data is based on the specified delay.

22. The method of claim 12 , wherein sending the second block of data is delayed until the computing device receives a message from a target node indicating that the target node has finished mapping the new mapped file view.

23. A non-transitory computer-readable medium for synchronizing multicast data distribution on a computing device comprising executable instructions for:

reading a first block of data;

sending the first block of data via multicast, wherein the first block of data comprises software files for an application or program;

sending a message to a target node that specifies a capacity of a current mapped file view for the target node, wherein the current mapped file view comprises a first portion of the memory that is mapped to a first portion of computing device storage corresponding to a first portion of a file, wherein the file is one of the software files;

determining whether the first block of data requires a new mapped file view, by determining the difference between the capacity of the current mapped file view sent in the message and the size of the first block of data, wherein the new mapped file view is required when the size of the first block of data exceeds the capacity of the current mapped file view, and wherein the new mapped file view comprises a second portion of a memory that is mapped to a second portion of computing device storage corresponding to a second portion of the file, wherein the file is one of the software files; and

delaying sending a second block of data based on whether the first block of data requires a new mapped file view.

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 →