IP Library Patent Application 18423123
Patent Application
App. No. 18/423,123

SOFTWARE DISTRIBUTION PACKAGE PARSER

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 None
App. No.
18/423,123
Abstract

A method of unsupported product update data conversion includes receiving an initial software distribution package including rules to detect a product update status and to install a product update on an endpoint. The product update is not supported by a third-party update network. The method includes identifying elements of a rule. The method includes parsing the elements of the rule, which includes adding parent components representative of the elements to an expression tree and detecting functions for the elements. The functions are configured to implement the elements in the third-party update network. The method includes aggregating the functions for the parsed elements into a script file. The method includes converting the expression tree into a final command to perform the script file. The method includes generating a compatible update package based on the final command and distributing it to the third-party update network to deploy the product update.

Claims (98)

1 . A method of conversion of unsupported product update data for deployment via a third-party update network, the method comprising:

receiving an initial software distribution package including one or more rules executed to detect a product update status associated with a product at an endpoint of a managed network and to install a product update associated with the product on the endpoint, wherein the product is not supported by a third-party update network implemented to managed product updates on the endpoint;

identifying one or more elements of a first rule of the one or more rules of the initial software distribution package;

parsing the one or more elements of the first rule, the parsing including:

adding parent components representative of the one or more elements to an expression tree associated with the initial software distribution package; and

detecting one or more functions for the one or more elements, wherein the one or more functions are configured to implement or control implementation of at least a portion of at least one element of the one or more elements in the third-party update network;

aggregating the functions for the parsed elements into a script file;

converting the expression tree into a final command to perform the script file;

generating a compatible update package based on the final command; and

distributing the compatible update package to the third-party update network to deploy the product update to the endpoint.

2 . The method of claim 1 , wherein the parsing further includes:

determining whether a first element of the one or more elements includes a compound rule;

responsive to the first element including the compound rule:

identifying a first child element and a second child element of the first element;

adding child components representative of the first child element and the second child element to the expression tree; and

detecting one or more additional functions for the first child element and the second child element.

3 . The method of claim 2 , wherein:

the aggregating the functions for the parsed elements into the script file includes aggregating the additional functions into the script file; and

the converting the expression tree includes conversion of the first child element and the second child element.

4 . The method of claim 2 , wherein the parsing further includes:

determining whether the first child element and the second child element include an additional compound rule;

responsive to the first child element including the additional compound rule:

identifying a first additional child element and a second additional child element of the first child element;

adding additional child components representative of the first additional child element and the second additional child element to the expression tree; and

detecting one or more additional functions for the first additional child element and the additional second child element.

5 . The method of claim 2 , wherein:

the compound rule includes:

an “AND” operator,

an “OR” operator, or

an “NOT” operator;

the initial software distribution package includes an extensible markup language (XML) file; and

the XML file is included as update catalog entry for the product in an update catalog that aggregates a plurality of product update packages.

6 . The method of claim 1 , wherein:

the one or more functions include shell functions that access management functions of an operating system of the third-party update network;

the one or more functions include a PowerShell® cmdlet; and

the third-party update network includes Microsoft Intune®.

7 . The method of claim 1 , wherein the detecting the one or more functions is based on at least partially on a library that dynamically links the one or more elements to commands of a shell application of the third-party update network.

8 . The method of claim 1 , further comprising:

receiving update data related to a second product update for a second product, the update data not including a detection rule executed to detect a second product update status associated with the second product at the endpoint, wherein the second product is not supported by the third-party update network;

identifying an assessment element related to the update data, the assessment element being configured to implement or control implementation of an operation to detect the second product update status at the endpoint by the third-party update network;

parsing the assessment element to identify assessment functions that correlate to the assessment element;

generating an assessment script for the second product update, the assessment script including the assessment functions;

aggregating the assessment functions into an assessment script file;

generating a compatible assessment product update package based on the assessment script file; and

distributing the compatible assessment product update package to the third-party update network for deployment to the endpoint.

9 . The method of claim 8 , wherein:

update data related to a second product update is formatted according to a non-XML programming language; and

the assessment functions include shell functions that access management functions of an operating system of the third-party update network.

10 . The method of claim 9 , wherein the compatible assessment product update package further includes an instruction to install the second product update at the endpoint responsive to the second product update status indicating an unpatched state exists at the endpoint relative to the second product.

11 . A non-transitory computer-readable medium having encoded therein programming code executable by one or more processors to perform or control performance of operations to convert unsupported product update data for deployment via a third-party update network, the operations comprising:

receiving an initial software distribution package including one or more rules executed to detect a product update status associated with a product at an endpoint of a managed network and to install a product update associated with the product on the endpoint, wherein the product is not supported by a third-party update network implemented to managed product updates on the endpoint;

identifying one or more elements of a first rule of the one or more rules of the initial software distribution package;

parsing the one or more elements of the first rule, the parsing including:

adding parent components representative of the one or more elements to an expression tree associated with the initial software distribution package; and

detecting one or more functions for the one or more elements, wherein the one or more functions are configured to implement or control implementation of at least a portion of at least one element of the one or more elements in the third-party update network;

aggregating the functions for the parsed elements into a script file;

converting the expression tree into a final command to perform the script file;

generating a compatible update package based on the final command; and

distributing the compatible update package to the third-party update network to deploy the product update to the endpoint.

12 . The non-transitory computer-readable medium of claim 11 , wherein the parsing further includes:

determining whether a first element of the one or more elements includes a compound rule;

responsive to the first element including the compound rule:

identifying a first child element and a second child element of the first element;

adding child components representative of the first child element and the second child element to the expression tree; and

detecting one or more additional functions for the first child element and the second child element.

13 . The non-transitory computer-readable medium of claim 12 , wherein:

the aggregating the functions for the parsed elements into the script file includes aggregating the additional functions into the script file; and

the converting the expression tree includes conversion of the first child element and the second child element.

14 . The non-transitory computer-readable medium of claim 12 , wherein the parsing further includes:

determining whether the first child element and the second child element include an additional compound rule;

responsive to the first child element including the additional compound rule:

identifying a first additional child element and a second additional child element of the first child element;

adding additional child components representative of the first additional child element and the second additional child element to the expression tree; and

detecting one or more additional functions for the first additional child element and the additional second child element.

15 . The non-transitory computer-readable medium of claim 12 , wherein:

the compound rule includes:

an “AND” operator,

an “OR” operator, or

an “NOT” operator;

the initial software distribution package includes an extensible markup language (XML) file; and

the XML file is included as update catalog entry for the product in an update catalog that aggregates a plurality of product update packages.

16 . The non-transitory computer-readable medium of claim 11 , wherein:

the one or more functions include shell functions that access management functions of an operating system of the third-party update network;

the one or more functions include a PowerShell® cmdlet; and

the third-party update network includes Microsoft Intune®.

17 . The non-transitory computer-readable medium of claim 11 , wherein the detecting the one or more functions is based on at least partially on a library that dynamically links the one or more elements to commands of a shell application of the third-party update network.

18 . The non-transitory computer-readable medium of claim 11 , wherein the operations further comprise:

receiving update data related to a second product update for a second product, the update data not including a detection rule executed to detect a second product update status associated with the second product at the endpoint, wherein the second product is not supported by the third-party update network;

identifying an assessment element related to the update data, the assessment element being configured to implement or control implementation of an operation to detect the second product update status at the endpoint by the third-party update network;

parsing the assessment element to identify assessment functions that correlate to the assessment element;

generating an assessment script for the second product update, the assessment script including the assessment functions;

aggregating the assessment functions into an assessment script file;

generating a compatible assessment product update package based on the assessment script file; and

distributing the compatible assessment product update package to the third-party update network for deployment to the endpoint.

19 . The non-transitory computer-readable medium of claim 18 , wherein:

update data related to a second product update is formatted according to a non-XML programming language; and

the assessment functions include shell functions that access management functions of an operating system of the third-party update network.

20 . The non-transitory computer-readable medium of claim 19 , wherein the compatible assessment product update package further includes an instruction to install the second product update at the endpoint responsive to the second product update status indicating an unpatched state exists at the endpoint relative to the second product.

Assignments (12)
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 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded May 5, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: IVANTI, INC.; IVANTI US LLC; CHERWELL SOFTWARE, LLC; PULSE SECURE, LLC
Reel/Frame 071176/0289 →
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 →
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 →
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 067457/0497 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071124/0331 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2024
From: PORT, GARLAND MICHAEL KRUEGER; LARSON, ETHAN
To: IVANTI, INC.
Reel/Frame 068602/0189 →
FIRST LIEN INTELLECTUAL PROPERTY AGREEMENT SUPPLEMENT Recorded May 19, 2024
From: IVANTI, INC.; PULSE SECURE, LLC; MOBILEIRON, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 067457/0472 →
SECOND LIEN INTELLECTUAL PROPERTY AGREEMENT SUPPLEMENT Recorded May 19, 2024
From: IVANTI, INC.; PULSE SECURE, LLC; MOBILEIRON, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 067457/0497 →