IP Library Granted Patent US 10,534,577
Granted Patent B2
US 10,534,577 · App. 14/851,899 · Granted Jan 14, 2020

System and method for resource reconciliation in an enterprise management system

Inventors: Narayan Kumar (Santa Clara, CA); Douglas Mueller (Palo Alto, CA); Richard Mayfield (Pleasanton, CA)
Assignee: BMC Software, Inc.
G06F7/32G06F7/14G06F7/16G06F7/20G06F7/36G06F16/22G06F16/24578H04L41/0893H04L41/12H04L41/0233
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,534,577
App. No.
14/851,899
Granted
Jan 14, 2020
Kind
B2
Abstract

A method to reconcile multiple instances of a single computer resource identified by resource discovery operations includes: (1) accessing information describing one or more resources; (2) identifying, via the accessed information, at least one resource that has been detected or discovered by at least two of the discovery operations; and (3) merging attributes associated with the identified resource from each of the at least two discovery operations into a single, reconciled resource object. Illustrative “resources” include, but are not limited to, computer systems, components of computer systems, data storage systems, switches, routers, memory, software applications (e.g., accounting and database applications), operating systems and business services (e.g., order entry or change management and tracking services).

Claims (47)

1. A resource management computer system comprising:

a database including a plurality of datasets, the plurality of datasets including a first dataset and a second dataset;

an application programming interface (API) configured to receive data about computer objects in a computer network, and to store the data in at least one of the plurality of datasets, the computer objects representing components of the computer network; and

a reconciliation engine configured to:

select a first computer object from the first dataset;

query the database to determine whether the second dataset includes a second computer object that matches the first computer object according to one or more of a plurality of identification rules, at least one of the plurality of identification rules specifying a combination of attributes that are considered when determining a match in the database, the plurality of identification rules being associated with priority information such that a first identification rule having a priority higher than a second identification rule is applied before the second identification rule;

assign a reconciliation identifier to the first computer object, the first and second computer objects having a same reconciliation identifier;

determine that the first computer object is associated with a first sub-object;

determine that the second dataset includes a second sub-object that matches the first sub-object;

assign a reconciliation identifier to the first sub-object, the first and second sub-objects having a same reconciliation identifier;

merge the first and second computer objects into a single merged computer object, including selecting one or more first attributes from the first computer object, selecting one or more second attributes from the second computer object, and including the first and second attributes in the single merged computer object; and

merge the first and second sub-objects into a single merged sub-object.

2. The resource management computer system of claim 1 , wherein the plurality of datasets includes a reconciled dataset, and the reconciliation engine is configured to store the single merged computer object and the single merged sub-object in the reconciled.

3. The resource management computer system of claim 1 , wherein the reconciliation engine is configured to merge the first attributes of the first computer object with the second attributes of the second computer object according to an attribute value selection algorithm in which the first and second attributes are assigned weight values and one or more of the first attributes and one or more of the second attributes are selected based on the assigned weight values.

4. The resource management computer system of claim 1 , wherein the components of the computer network include memory, one or more servers, one or more software applications, and an operating system.

5. A method to reconcile multiple instances of a single computer resource identified by one or more of a plurality of discovery operations, the method comprising:

executing a discovery operation;

receiving, via an application programming interface (API), data about computer objects in a computer network in response to the execution of the discovery operation, the computer objects representing components of the computer network;

storing, by the API, the data in at least one of a plurality of datasets of a database, the plurality of datasets including a first dataset and a second dataset;

selecting, by a reconciliation engine, a first computer object from the first dataset;

querying, by the reconciliation engine, the database to determine whether the second dataset includes a second computer object that matches the first computer object according to one or more of a plurality of identification rules, at least one of the plurality of identification rules identifying a combination of attributes that are used when determining a match in the database, the plurality of identification rules being associated with priority information such that a first identification rule having a priority higher than a second identification rule is applied before the second identification rule;

assigning, by the reconciliation engine, a reconciliation identifier to the first computer object, the first and second computer objects having a same reconciliation identifier;

determining, by the reconciliation engine, that the first computer object is associated with a first sub-object;

determining, by the reconciliation engine, that the second dataset includes a second sub-object that matches the first sub-object;

assigning, by the reconciliation engine, a reconciliation identifier to the first sub-object, the first and second computer sub-objects having a same reconciliation identifier;

merging, by the reconciliation engine, the first and second computer objects into a single merged computer object, wherein the merging selecting one or more first attributes from the first computer object, selecting one or more second attributes from the second computer object, and including the first and second attributes in the single merged computer object; and

merging the first and second sub-objects into a single merged sub-object.

6. The method of claim 5 , wherein the first attributes include name of the first computer object, and the second attributes include Internet protocol (IP) number of the second computer object.

7. The method of claim 5 , wherein the discovery operation is automated.

8. The method of claim 5 , wherein the discovery operation is initiated manually.

9. A non-transitory computer-readable medium storing executable instructions that when executed by at least one processor is configured to cause the at least one processor to:

execute a discovery operation;

receive, via a database application programming interface (API), data about computer objects in a computer network in response to the execution of the discovery operation, the computer objects representing components of the computer network;

store, by the API, the data in at least one of a plurality of datasets of a database, the plurality of datasets including a first dataset and a second dataset;

select, by a reconciliation engine, a first computer object from the first dataset;

query, by the reconciliation engine, the database to determine whether the second dataset includes a second computer object that matches the first computer object according to one or more of a plurality of identification rules, at least one of the plurality of identification rules identifying a combination of attributes that are used when determining a match in the database, the plurality of identification rules being associated with priority information such that a first identification rule having a priority higher than a second identification rule is applied before the second identification rule;

assign, by the reconciliation engine, a reconciliation identifier to the first computer object, the first and second computer objects having a same reconciliation identifier;

determine, by the reconciliation engine, that the first computer object is associated with a first sub-object;

determine, by the reconciliation engine, that the second dataset includes a second sub-object that matches the first sub-object;

assign, by the reconciliation engine, a reconciliation identifier to the sub-object, the first and second computer sub-objects having a same reconciliation identifier;

merge, by the reconciliation engine, the first and second computer objects into a single merged computer object, including selecting one or more first attributes from the first computer object, selecting one or more second attributes from the second computer object, and including the first and second attributes in the single merged computer object; and

merge the first and second sub-objects into a single merged sub-object.

10. The non-transitory computer-readable medium of claim 9 , wherein the plurality of datasets includes a reconciled dataset, further comprising:

store the single merged computer object and the single merged sub-object in the reconciled dataset.

11. The non-transitory computer-readable medium of claim 9 , wherein the merge operation includes:

apply one or more merge rules to associate weight values to the first and second attributes; and

select one or more of the first attributes and one or more of the second attributes based on the weight values.

Assignments (14)
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 (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 →
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 →
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 INTEREST Recorded Jul 27, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043351/0189 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2017
From: MAYFIELD, RICHARD; MUELLER, DOUGLAS; KUMAR, NARAYAN
To: BMC SOFTWARE, INC.
Reel/Frame 042522/0232 →