IP Library Granted Patent US 8,341,622
Granted Patent B1
US 8,341,622 · App. 11/304,035 · Granted Dec 25, 2012

Systems and methods for efficiently using network bandwidth to deploy dependencies of a software package

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 8,341,622
App. No.
11/304,035
Granted
Dec 25, 2012
Kind
B1
Abstract

A package deployment manager on an administrative system deploys a dependent software package to a plurality of target nodes. The package deployment manager also identifies one or more dependencies of the dependent software package. For each dependency that is identified, the package deployment manager determines which of the plurality of target nodes already have the dependency installed, and deploys the dependency only to the target nodes that do not already have the dependency installed.

Claims (44)

1. A computer-implemented method for efficiently using network bandwidth to deploy dependencies of a software package to a plurality of target nodes, comprising:

deploying a dependent software package to the plurality of target nodes;

identifying one or more dependencies of the dependent software package; and

for each dependency that is identified:

determining which of the plurality of target nodes already have the dependency installed, wherein determining which of the plurality of target nodes already have the one or more dependencies installed comprises:

sending a detection file to the plurality of target nodes, wherein the detection file identifies the one or more dependencies of the dependent software package and comprises instructions to search for one or more indicators of the one or more dependencies, wherein the detection file is sent from management software running on a computer system external to the target nodes, wherein the instructions to search comprise instructions to search for a particular registry key; and

receiving at the management software notification from the plurality of target nodes about whether the one or more dependencies are already installed; and

deploying the dependency only to the target nodes that do not already have the dependency installed,

wherein the detection file is a vulnerability definition file that is defined by an XML (Extensible Markup Language) document, wherein the XML document comprises an uninstall information element that indicates whether an uninstallation can be performed and whether an original patch element is required, a patches element and a registration keys element that includes the following as child elements: an uninstall information element, a patch element, and a vulnerability element.

2. The method of claim 1 , wherein the dependent software package and the one or more dependencies are deployed using multicast technology.

3. The method of claim 1 , wherein identifying the one or more dependencies comprises accessing dependency information in the dependent software package.

4. The method of claim 1 , wherein the dependent software package is deployed to the plurality of target nodes when the detection file is sent to the plurality of target nodes.

5. The method of claim 1 , wherein the dependent software package is deployed to the plurality of target nodes when the one or more dependencies are being deployed to the plurality of target nodes.

6. The method of claim 1 , further comprising building one or more target lists that indicate where the one or more dependencies are going to be deployed.

7. The method of claim 1 , wherein the plurality of target nodes are located in a same network segment.

8. The method of claim 1 , wherein at least some of the plurality of target nodes are located in different network segments.

9. The method of claim 1 , wherein at least one wide area network link exists between a system on which the dependent software package is stored and at least some of the plurality of target nodes.

10. The method of claim 1 , wherein the method is implemented by an administrative system.

11. The method of claim 1 , further comprising:

initiating installation of the dependent software package on the plurality of target nodes; and

for each dependency, initiating installation of the dependency on any of the plurality of target nodes to which the dependency has been deployed.

12. A computer system that is configured for efficiently using network bandwidth to deploy dependencies of a software package to a plurality of target nodes, the computer system comprising:

a processor;

memory in electronic communication with the processor;

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

deploy a dependent software package to the plurality of target nodes;

identify one or more dependencies of the dependent software package; and

for each dependency that is identified:

determine which of the plurality of target nodes already have the dependency installed, wherein the executable instructions to determine which of the plurality of target nodes already have the one or more dependencies installed comprise instructions executable to:

send a detection file to the plurality of target nodes, wherein the detection file identifies the one or more dependencies of the dependent software package and comprises instructions to search for one or more indicators of the one or more dependencies, wherein the detection file is sent from management software running on the computer system, the computer system being external to the target nodes, wherein the instructions to search comprise instructions to search for a particular registry key; and

receive at the management software notification from the plurality of target nodes about whether the one or more dependencies are already installed; and

deploy the dependency only to the target nodes that do not already have the dependency installed,

wherein the detection file is a vulnerability definition file that is defined by an XML (Extensible Markup Language) document, wherein the XML document comprises an uninstall information element that indicates whether the dependency can be an uninstallation can be performed and whether an original patch element is required, a patches element and a registration keys element that includes the following as child elements: an uninstall information element, a patch element, and a vulnerability element.

13. The computer system of claim 12 , wherein the instructions are executable to deploy the dependent software package and the one or more dependencies using multicast technology.

14. A non-transitory computer-readable medium comprising executable instructions for efficiently using network bandwidth to deploy dependencies of a software package to a plurality of target nodes, the instructions being executable to:

deploy a dependent software package to the plurality of target nodes;

identify one or more dependencies of the dependent software package; and

for each dependency that is identified:

determine which of the plurality of target nodes already have the dependency installed, wherein the executable instructions to determine which of the plurality of target nodes already have the one or more dependencies installed comprise instructions executable to:

send a detection file to the plurality of target nodes, wherein the detection file identifies the one or more dependencies of the dependent software package and comprises instructions to search for one or more indicators of the one or more dependencies, wherein the detection file is sent from management software running on a computer system external to the target nodes, wherein the instructions to search comprise instructions to search for a particular registry key; and

receive notification at the management software from the plurality of target nodes about whether the one or more dependencies are already installed; and

deploy the dependency only to the target nodes that do not already have the dependency installed,

wherein the detection file is a vulnerability definition file that is defined by an XML (Extensible Markup Language) document, wherein the XML document comprises an uninstall information element that indicates whether an uninstallation can be performed and whether an original patch element is required, a patches element and a registration keys element that includes the following as child elements: an uninstall information element, a patch element, and a vulnerability element.

15. The non-transitory computer-readable medium of claim 14 , wherein the instructions are executable to deploy the dependent software package and the one or more dependencies using multicast technology.

Assignments (34)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2025
From: IVANTI SECURITY HOLDINGS LLC
To: IVANTI, INC.
Reel/Frame 071958/0203 →
2025-1 SECOND LIEN SECURITY AGREEMENT Recorded May 5, 2025
From: IVANTI SECURITY INTERMEDIATE HOLDINGS LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0498 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2025
From: IVANTI, INC.
To: IVANTI SECURITY HOLDINGS LLC
Reel/Frame 071180/0690 →
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 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded May 5, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; CHERWELL SOFTWARE, LLC
Reel/Frame 071176/0289 →
SECURITY INTEREST Recorded May 3, 2025
From: IVANTI SECURITY HOLDINGS LLC
To: ALTER DOMUS (US) LLC
Reel/Frame 071165/0164 →
RELEASE OF SECURITY INTEREST Recorded May 2, 2025
From: ALTER DOMUS (US) LLC
To: IVANTI SECURITY HOLDINGS LLC
Reel/Frame 071162/0130 →
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 →
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 032333/0637 Recorded Sep 28, 2016
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 040171/0037 →
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 →
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 Dec 15, 2005
From: EATOUGH, DAVID A.
To: LANDESK SOFTWARE LIMITED
Reel/Frame 017371/0144 →