IP Library Granted Patent US 7,770,168
Granted Patent B1
US 7,770,168 · App. 11/137,312 · Granted Aug 3, 2010

Systems and methods for distributing software using nodes within a network group

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,770,168
App. No.
11/137,312
Granted
Aug 3, 2010
Kind
B1
Abstract

A first node within a network group determines whether other nodes within the network group have previously downloaded software from a server. The server is outside the network group. If the software was previously downloaded to a second node within the network group, the software is transferred from the second node to the first node, avoiding the need to download the software directly from the server. If the software was not previously downloaded, a node within the network group is designated to download the software from the server, and then distributes the software to at least one requesting node.

Claims (60)

1. A method of efficiently distributing software to nodes within a network group, comprising:

determining from a first node within a network group whether any other node within the network group previously downloaded, or is currently downloading, specified software from a server, the server being outside the network group, wherein a download log is maintained for each node within the network group, and wherein determining whether a particular node previously downloaded, or is currently downloading, the specified software comprises querying the download log for that node;

if the specified software was previously downloaded from the server to a second node within the network group, transferring the specified software from the second node to the first node;

if a node that previously downloaded the software cannot be identified, then:

determining whether any other node within the network group has requested the specified software, wherein a request log is maintained for each node within the network group, and wherein determining whether a particular node has requested the specified software comprises querying the request log for that node;

designating a node within the network group to download the specified software from the server, wherein any of the nodes within the network group may be selected as the designated node;

downloading the specified software from the server to the designated node; and

transferring the specified software from the designated node to the first node if the designated node is not the first node.

2. The method of claim 1 , wherein at least one of the first, second, and designated nodes comprise an end-user node.

3. The method of claim 1 , wherein the network group comprises a local area network.

4. The method of claim 1 , wherein the network group comprises at least one subnet within a larger network.

5. The method of claim 1 , wherein the specified software comprises one or more updates to an application or an operating system.

6. The method of claim 1 , further comprising:

transmitting the software from the designated node to at least one requesting node besides the first node.

7. The method of claim 1 , further comprising:

if only the first node within the network group has requested the specified software, downloading the specified software from the server to the first node.

8. A system of efficiently distributing software to nodes within a network group, comprising:

a processor;

memory in electronic communication with the processor;

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

determine from a first node within the network group whether any other node within the network group previously downloaded, or is currently downloading, specified software from a server, the server being outside the network group, wherein a download log is maintained for each node within the network group, and wherein determining whether a particular node previously downloaded, or is currently downloading, the specified software comprises querying the download log for that node;

if the specified software was previously downloaded from the server to a second node within the network group, transfer the specified software from the second node to the first node;

if a node that previously downloaded the software cannot be identified, then:

determine whether any other node within the network group has requested the specified software, wherein a request log is maintained for each node within the network group, and wherein determining whether a particular node has requested the specified software comprises querying the request log for that node;

designate a node within the network group to download the specified software from the server, wherein any of the nodes within the network group may be selected as the designated node;

download the specified software from the server to the designated node; and

transfer the specified software from the designated node to the first node if the designated node is not the first node.

9. The system of claim 8 , wherein at least one of the first, second, and designated nodes comprise an end-user node.

10. The system of claim 8 , wherein the network group comprises at least one subnet within a larger network.

11. The system of claim 8 , wherein the specified software comprises one or more updates to an application or an operating system.

12. The system of claim 8 , wherein the instructions are further executable to:

transmit the software from the designated node to at least one requesting node besides the first node.

13. The system of claim 8 , wherein the instructions are further executable to:

if only the first node within the network group has requested the specified software, download the specified software from the server to the first node.

14. A non-transitory computer-readable medium comprising executable instructions for efficiently distributing software to nodes within a network group, the instructions being executable to:

determine from a first node within a network group whether any other node within the network group previously downloaded, or is currently downloading, specified software from a server, the server being outside the network group, wherein a download log is maintained for each node within the network group, and wherein determining whether a particular node previously downloaded, or is currently downloading, the specified software comprises querying the download log for that node;

if the specified software was previously downloaded from the server to a second node within the network group, transfer the specified software from the second node to the first node;

if a node that previously downloaded the software cannot be identified, then:

determine whether any other node within the network group has requested the specified software, wherein a request log is maintained for each node within the network group, and wherein determining whether a particular node has requested the specified software comprises querying the request log for that node;

designate a node within the network group to download the specified software from the server, wherein any of the nodes within the network group may be selected as the designated node;

download the specified software from the server to the designated node; and

transfer the specified software from the designated node to the first node if the designated node is not the first node.

15. The computer-readable medium of claim 14 , wherein at least one of the first, second, and designated nodes comprise an end-user node.

16. The computer-readable medium of claim 14 , wherein the instructions are further executable to:

transmit the software from the designated node to at least one requesting node besides the first node.

17. The computer readable medium of claim 14 , wherein the instructions are further executable to:

if only the first node within the network group has requested the specified software, download the specified software from the server to the first node.

18. A method of efficiently distributing software to nodes within a network group, comprising:

determining whether any other node within the network group previously downloaded, or is currently downloading, software from a server, the server being outside the network group, wherein a download log is maintained for each node within the network group, and wherein determining whether a particular node previously downloaded, or is currently downloading, the specified software comprises querying the download log for that node; and

if a node that previously downloaded the software cannot be identified, then:

determining whether any other node within the network group has requested the specified software, wherein a request log is maintained for each node within the network group, and wherein determining whether a particular node has requested the specified software comprises querying the request log for that node;

designating a representative node within the network group to download the software from the server outside the network group, wherein any of the nodes within the network group may be selected as the representative node;

downloading the software from the server to the representative node;

determining which nodes within the network group are licensed to run the software; and

initiating transfer of the software from the representative node to at least one licensed node within the network group.

19. The method of claim 18 , wherein the representative node is an end-user node.

20. The method of claim 18 , wherein the specified software comprises one or more updates to an application or an operating system.

21. The method of claim 18 , wherein the network group is a local area network.

22. The method of claim 18 , further comprising:

passing user credentials to the representative node to enable the representative node to establish a connection with other computer systems.

Assignments (29)
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 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 →
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 →
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 →
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 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040182/0345 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040183/0506 →
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: CRIMSON CORPORATION
Reel/Frame 030993/0644 →
PATENT SECURITY AGREEMENT Recorded Jul 26, 2012
From: CRIMSON CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 028643/0847 →
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 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 29, 2012
From: D.E. SHAW DIRECT CAPITAL PORTFOLIOS, L.L.C., AS AGENT
To: LANDESK SOFTWARE, INC.; CRIMSON CORPORATION
Reel/Frame 027783/0491 →
PATENT SECURITY AGREEMENT Recorded Sep 30, 2010
From: LAN DESK SOFTWARE, INC.; CRIMSON CORPORATION
To: D. E. SHAW DIRECT CAPITAL PORTFOLIOS, L.L.C. AS AGENT
Reel/Frame 025095/0982 →
PATENT SECURITY AGREEMENT Recorded Sep 28, 2010
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 025056/0391 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2010
From: LANDESK SOFTWARE LTD.
To: CRIMSON HOLDING CORP.
Reel/Frame 024823/0641 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2010
From: LANDESK GROUP LIMITED
To: CRIMSON CORPORATION
Reel/Frame 024823/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2010
From: CRIMSON HOLDING CORP.
To: LANDESK GROUP LIMITED
Reel/Frame 024823/0649 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2005
From: HOWARTH, MARK E.; JOHNSON, PETER E.; CLAY, PHILLIP E.
To: LANDESK SOFTWARE LIMITED
Reel/Frame 016607/0394 →