IP Library Granted Patent US 10,831,724
Granted Patent B2
US 10,831,724 · App. 12/570,628 · Granted Nov 10, 2020

Method of reconciling resources in the metadata hierarchy

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 10,831,724
App. No.
12/570,628
Granted
Nov 10, 2020
Kind
B2
Abstract

An enhanced resource reconciliation process is disclosed to examine the metadata hierarchy of unidentified instances of configuration objects within a particular “data partition” (sometimes called a dataset) of an enterprise configuration management database (CMDB) and perform reconciliation against a target dataset, such as a golden, i.e., production, dataset. The enhanced reconciliation process could identify against instances in the production dataset that are of the same class as the unidentified instance—as well as instances that come from any “candidate” classes. Candidate classes could consist of, e.g., classes upstream or downstream from the unidentified instance in the metadata hierarchy. By allowing the specification of one or more reconciliation properties, such as, “identify downstream,” “identify upstream,” “identify upstream and downstream,” or “identify resources of the same class only,” the enhanced resource reconciliation process could perform identification and resource reconciliation against instances of any class in the unidentified instance's metadata hierarchy.

Claims (82)

1. A computer system comprising a programmable control device programmed to perform resource reconciliation for a configuration management database (CMDB) having a plurality of data partitions stored in a memory medium, the memory medium having instructions that, when executed, cause the programmable control device to perform the resource reconciliation, comprising:

receiving a request to perform resource reconciliation by identifying one or more unidentified resources of configuration objects against previously identified resources of configuration objects of any candidate class, wherein:

the request includes criteria specifying when to perform the resource reconciliation, and

the request specifies a qualification set that restricts unidentified resource instances to unidentified resource instances that match one or more attribute values defined by the qualification set, the qualification set being reusable for subsequent requests to perform resource reconciliation;

responsive to a match of the one or more attribute values defined by the qualification set, accessing the one or more unidentified resources stored within one of the data partitions in the CMDB;

determining all candidate classes for each of the one or more unidentified resources, wherein:

all candidate classes are obtained from a class hierarchy model defining parent classes and subclasses, and

all candidate classes are selected by identifying upstream and identifying downstream to include classes upstream and classes downstream from the one or more unidentified resources;

identifying each of the one or more unidentified resources as matching previously identified resources stored within another data partition in the CMDB by:

using common properties of the candidate classes, and

applying rules from an identification rule set to instances of the previously identified resources from any of the candidate classes, including classes that are a same as the one or more unidentified resources and classes that are different from the one or more unidentified resources;

tagging matching instances between the one or more unidentified resources and the instances of the previously identified resources from the different data partition with a same reconciliation identity, wherein the reconciliation identity is an additional attribute to indicate the matching instances represent a same item;

merging each of the one or more unidentified resources with a corresponding previously identified resource having the same reconciliation identity into a merged resource; and

writing each of the one or more merged resources to a target data partition in the CMDB.

2. The computer system of claim 1 , wherein the identifying further comprises matching on only the common properties between the one or more unidentified resources and the instances of the previously identified resources from the different data partition.

3. The computer system of claim 1 , wherein the programmable control device is further programmed to perform the resource reconciliation in response to a creation of a new resource.

4. The computer system of claim 1 , wherein the programmable control device is further programmed to perform the resource reconciliation at specified intervals.

5. The computer system of claim 1 , wherein the CMDB comprises a reconciliation engine configured to initiate the resource reconciliation according to one or more specified reconciliation properties.

6. The computer system of claim 1 , wherein the one or more specified reconciliation properties comprise a selection of at least one of the following options: identify downstream, identify upstream, identify downstream and upstream, and identify resources of the same class only.

7. The computer system of claim 1 , wherein the one or more specified reconciliation properties comprise a specification of individual candidate classes during the identifying.

8. A non-transitory computer-usable memory medium having computer-readable program code embodied therein, wherein the computer-readable program code is adapted to be executed to:

receive a request to perform resource reconciliation by identifying one or more unidentified resources of configuration objects against previously identified resources of configuration objects of any candidate class, wherein:

the request includes criteria specifying when to perform the resource reconciliation, and

the request specifies a qualification set that restricts unidentified resource instances to unidentified resource instances that match one or more attribute values defined by the qualification set, the qualification set being reusable for subsequent requests to perform resource reconciliation;

responsive to a match of the one or more attribute values defined by the qualification set, access the one or more unidentified resources stored within a first data partition of a configuration management database (CMDB);

determine all candidate classes for each of the one or more unidentified resources, wherein:

all candidate classes are obtained from a class hierarchy model defining parent classes and subclasses, and

all candidate classes are selected by identifying upstream and identifying downstream to include classes upstream and classes downstream from the one or more unidentified resources;

identify each of the one or more unidentified resources as matching previously identified resources stored within a second data partition in the CMDB by:

using common properties of the candidate classes, and

applying rules from an identification rule set to instances of the previously identified resources from any of the candidate classes, including classes that are a same as the one or more unidentified resources and classes that are different from the one or more unidentified resources;

tag matching instances between the one or more unidentified resources and the instances of the previously identified resources from the different data partition with a same reconciliation identity, wherein the reconciliation identity is an additional attribute to indicate the matching instances represent a same item;

merge each of the one or more unidentified resources with a corresponding previously identified resource having the same reconciliation identity into a merged resource; and

write each of the one or more merged resources to a target data partition in the CMDB.

9. The computer usable memory medium of claim 8 , wherein the computer readable program code is further adapted to be executed in response to a creation of a new resource.

10. The computer usable memory medium of claim 8 , wherein the computer readable program code is further adapted to be executed at specified intervals.

11. The computer usable memory medium of claim 8 , wherein the resource reconciliation is initiated by one or more specified reconciliation properties, wherein the one or more reconciliation properties comprise a selection of at least one of the following options:

identify downstream, identify upstream, identify downstream and upstream, and identify resources of the same class only.

12. The computer usable memory medium of claim 8 , wherein the one or more specified reconciliation properties comprise a specification of individual candidate classes to identify the one or more unidentified resources against.

13. The computer usable memory medium of claim 8 , wherein the CMDB comprises a reconciliation engine configured to initiate the resource reconciliation according to the one or more specified reconciliation properties.

14. A resource reconciliation method for a configuration management database (CMDB) having a plurality of data partitions stored in a memory medium, the method comprising:

receiving a request to perform resource reconciliation by identifying one or more unidentified resources of configuration objects against previously identified resources of configuration objects of any candidate class, wherein:

the request includes criteria specifying when to perform the resource reconciliation, and

the request specifies a qualification set that restricts unidentified resource instances to unidentified resource instances that match one or more attribute values defined by the qualification set, the qualification set being reusable for subsequent requests to perform resource reconciliation;

responsive to a match of the one or more attribute values defined by the qualification set, accessing the one or more unidentified resources stored within one of the data partitions in the CMDB;

determining all candidate classes for each of the one or more unidentified resources, wherein:

all candidate classes are obtained from a class hierarchy model defining parent classes and subclasses, and

all candidate classes are selected by identifying upstream and identifying downstream to include classes upstream and classes downstream from the one or more unidentified resources;

identifying each of the one or more unidentified resources as matching previously identified resources stored within another data partition in a CMDB by:

using common properties of the candidate classes, and

applying rules from an identification rule set to instances of the previously identified resources from any of the candidate classes, including classes that are a same as the one or more unidentified resources and classes that are different from the one or more unidentified resources;

tagging matching instances between the one or more unidentified resources and the instances of the previously identified resources from the different data partition with a same reconciliation identity, wherein the reconciliation identity is an additional attribute to indicate the matching instances represent a same item;

merging each of the one or more unidentified resources with a corresponding previously identified resource having the same reconciliation identity into a merged resource; and

writing each of the one or more merged resources to a target data partition in the CMDB.

15. The method of claim 14 , wherein the resource reconciliation is initiated by one or more specified reconciliation properties, wherein the one or more reconciliation properties comprise a selection of at least one of the following options: identify downstream, identify upstream, identify downstream and upstream, and identify resources of the same class only.

16. The method of claim 14 , wherein the one or more specified reconciliation properties comprise a specification of individual candidate classes to identify the one or more unidentified resources against.

17. The method of claim 14 , wherein the CMDB comprises a reconciliation engine configured to initiate the resource reconciliation according to the one or more specified reconciliation properties.

18. A computer network executing a resource reconciliation method for a configuration management database (CMDB) having a plurality of data partitions stored in a memory medium, the computer network comprising:

one or more non-volatile storage devices for maintaining configuration management information; and

one or more computer systems communicatively coupled to the network, at least one of the one or more computer systems programmed to perform at least a portion of a method comprising:

receiving a request to perform resource reconciliation by identifying one or more unidentified resources of configuration objects against previously identified resources of configuration objects of any candidate class, wherein:

the request includes criteria specifying when to perform the resource reconciliation, and

the request specifies a qualification set that restricts unidentified resource instances to unidentified resource instances that match one or more attribute values defined by the qualification set, the qualification set being reusable for subsequent requests to perform resource reconciliation;

responsive to a match of the one or more attribute values defined by the qualification set, accessing the one or more unidentified resources stored within one of the data partitions in the CMDB;

determining all candidate classes for each of the one or more unidentified resources, wherein:

all candidate classes is obtained from a class hierarchy model defining parent classes and subclasses, and

all candidate classes are selected by identifying upstream and identifying downstream to include classes upstream and classes downstream from the one or more unidentified resources;

identifying each of the one or more unidentified resources as matching previously identified resources stored within another data partition in the CMDB by:

using common properties of the candidate classes, and

applying rules from an identification rule set to instances of the previously identified resources from any of the candidate classes, including classes that are a same as the one or more unidentified resources and classes that are different from the one or more unidentified resources;

tagging matching instances between the one or more unidentified resources and the instances of the previously identified resources from the different data partition with a same reconciliation identity, wherein the reconciliation identity is an additional attribute to indicate the matching instances represent a same item;

merging each of the one or more unidentified resources with a corresponding previously identified resource having the same reconciliation identity into a merged resource; and

writing each of the one or more merged resources to a target data partition in the CMDB,

wherein the entire method is performed collectively by the one or more computer systems communicatively coupled to the network.

19. The computer network of claim 18 , further comprising:

a target data partition, wherein the target data partition is associated with one or more resource objects of the another data partition in the CMDB; and

a plurality of provider data partitions, wherein each of the plurality of provider data partitions is associated with one or more resource objects.

20. The computer network of claim 18 , wherein the plurality of provider data partitions exist on a single computer system.

21. The computer network of claim 18 , wherein the plurality of provider data partitions do not all exist on a single computer system.

22. The computer network of claim 18 , further comprising a reconciliation engine, wherein the reconciliation engine is configured to initiate the resource reconciliation according to one or more specified reconciliation properties.

23. The computer network of claim 18 , wherein the resource reconciliation method is configured to be executed in response to a creation of a new resource.

24. The computer network of claim 18 , wherein the resource reconciliation method is configured to be executed at specified intervals.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →