IP Library Granted Patent US 10,657,112
Granted Patent B2
US 10,657,112 · App. 15/718,140 · Granted May 19, 2020

External system integration into automated attribute discovery

Inventors: Rajendra Bhagwatisingh Panwar (Mountain View, CA); Abe Achkinazi (Sunnyvale, CA)
Assignee: BDNA Corporation
G06F16/212G06F9/54G06F16/25G06F16/254G06F16/258G06F16/288G06F16/289G06F17/30569
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,657,112
App. No.
15/718,140
Granted
May 19, 2020
Kind
B2
Abstract

Methods and apparatus to transform attribute data about assets in a source system data model into attribute data about the same assets in a target system data model. The first step is to extract the necessary attribute data from attribute data collected about inventory assets of a business entity needed to populate the attributes in objects representing those inventory assets in a target system data model. Transformation rules are written which are designed to make all conversions necessary in semantics, units of measure, etc. to transform the source system attribute data into attribute data for the target system which has the proper data format. These transformation rules are executed on a computer on the extracted attribute data and the transformed attribute data is stored in an ER model. In the preferred embodiment, the transformation rules are object-oriented in that transformation rules for subtypes can be inherited from their parent types or classes. An export adapter which is capable of invoking the application programmatic interface of the target system CMDB is then used to export the transformed attribute data stored in the ER model to the target system CMDB.

Claims (66)

1. A method for transforming attribute data models, the method comprising:

evaluating a data model of a target system to identify attribute data unique to an asset in the target system;

evaluating a data model of a source system to identify an asset in the source system that corresponds to the asset in the target system, wherein the identified asset in the source system is associated with attribute data;

identifying differences between data format, units, and semantics of the attribute data in the source system versus data format, units, and semantics of the attribute data in the target system;

generating one or more query language report programs that are executable to extract the attribute data specific to the asset from the source system;

generating one or more transformation rules that transform the data format, units, and semantics of the attribute data in the source system to the data format, units, and semantics of the target system;

generating an export adapter program executable to:

invoke an application programmatic interface (API) of the target system, and

use the API to load the attribute data from the source system into the target system;

transforming the attribute data extracted from the source system into a format of the target system,

storing the transformed attribute data in an entity-relationship (ER) model store via execution of the one or more transformation rules; and

storing the transformed attribute data stored in the ER model in the target system via execution of the export adapter program.

2. The method of claim 1 , further comprising:

organizing the transformation rules in an object-oriented format common to all subtypes stored in a parent object; and

storing the transformation rules specific to each subtype in a subtype object related to the parent object by a linking data in a data structure.

3. The method of claim 1 , wherein the first and second data models define classes of objects, object attributes, genus-species relationships of objects, and containment relationships of objects.

4. The method of claim 1 , wherein the export adapter program is further executable to track a progress of transferring the transformed attribute data to the target system.

5. The method of claim 4 , wherein the exporter adapter program is further executable to initiate a restart during a transfer of the transformed attribute data to the target system, wherein the restart is initiated responsive to identifying that the transfer has halted.

6. The method of claim 5 , wherein the restart allows the exporter adapter program to resume the transfer of the transformed attribute data to the target system from a last completed transaction.

7. The method of claim 1 , wherein the export adapter program is further executable to use different processes for storing the transformed attribute data stored in the target system based on the transformed attribute data being transferred, wherein the different processes use different drivers, data formats, or function calls for transferring the attribute data to the target system.

8. The method of claim 1 , wherein the export adapter program is further executable to:

perform a stateless transfer of the transformed attribute data for a corresponding asset that is designated as new; and

inserts the attribute data into the target system associated with the corresponding asset without finding if the corresponding asset already exists in the target system.

9. The method of claim 1 , wherein the export adapter program is further executable to perform a state-based transfer of the transformed attribute data, the state-based transfer including:

determining whether the attribute data associated with a corresponding asset already exists within the target system, and

reconciling the attribute data for the asset associated with the target system based on the determination that the corresponding asset exists within the target system.

10. A system for transforming attribute data models, the system comprising:

memory that stores extracted attribute data obtained from source systems; and

a computing device that includes a processor that executes instructions stored on the computing device that:

evaluates a data model of a target system to identify attribute data unique to an asset in the target system,

evaluates a data model of a source system to identify an asset in the source system that corresponds to the asset in the target system,

identifies differences between data format, units, and semantics of the attribute data in the source system versus data format, units, and semantics of the attribute data in the target system,

generates one or more query language report programs that are executable to extract the attribute data specific to the asset from the source system,

generates one or more transformation rules that transform the data format, units, and semantics of the attribute data in the source system to the data format, units, and semantics of the target system,

generates an export adapter program executable to:

invoke an application programmatic interface (API) of the target system, and

use the API to load the attribute data from the source system into the target system,

transforms the attribute data extracted from the source system into a format of the target system,

stores the transformed attribute data in an entity-relationship (ER) model store by executing the one or more transformation rules, and

stores the transformed attribute data stored in the ER model in the target system by executing the export adapter program.

11. The system of claim 10 , wherein the processor executes further instructions to:

organize the transformation rules in an object-oriented format common to all subtypes stored in a parent object; and

store the transformation rules specific to each subtype in a subtype object related to the parent object by a linking data in a data structure.

12. The system of claim 10 , wherein the first and second data models define classes of objects, object attributes, genus-species relationships of objects, and containment relationships of objects.

13. The system of claim 10 , wherein the exporter adapter program is further executable to track a progress of transferring the transformed attribute data to the target system.

14. The system of claim 13 , wherein the exporter adapter program is further executable to initiate a restart during a transfer of the transformed attribute data to the target system, wherein the restart initiated responsive to identifying that the transfer has halted.

15. The system of claim 14 , wherein the restart allows the exporter adapter program to resume the transfer of the transformed attribute data to the target system from a last completed transaction.

16. The system of claim 10 , wherein the export adapter program is further executable to use different processes for storing the transformed attribute data stored in the target system based on the transformed attribute data being transferred, wherein the different processes use different drivers, data formats, or function calls for transferring the attribute data to the target system.

17. The system of claim 10 , wherein the export adapter program is further executable to:

performs a stateless transfer of the transformed attribute data for a corresponding asset that is designated as new, and

inserts the attribute data into the target system associated with the corresponding asset without finding if the corresponding asset already exists in the target system.

18. The system of claim 10 , wherein the export adapter program is further executable to perform a state-based transfer of the transformed attribute information, the state-based transfer including:

determining whether the attribute data associated with a corresponding asset already exists within the target system, and

reconciling the attribute data for the asset associated with the target system based on the determination that the corresponding asset exists within the target system.

19. A non-transitory computer-readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for transforming attribute data models, the method comprising:

evaluating a data model of a target system to identify attribute data unique to an asset in the target system;

evaluating a data model of a source system to identify an asset in the source system that corresponds to the asset in the target system, wherein the identified asset in the source system is associated with attribute data;

identifying differences between data format, units, and semantics of the attribute data in the source system versus data format, units, and semantics of the attribute data in the target system;

generating one or more query language report programs that are executable to extract the attribute data specific to the asset from the source system;

generating one or more transformation rules that transform the data format, units, and semantics of the attribute data in the source system to the data format, units, and semantics of the target system;

generating an export adapter program executable to:

invoke an application programmatic interface (API) of the target system, and

use the API to load the attribute data from the source system into the target system;

transforming the attribute data extracted from the source system into a format of the target system,

storing the transformed attribute data in an entity-relationship (ER) model store via execution of the one or more transformation rules; and

storing the transformed attribute data stored in the ER model in the target system via execution of the export adapter program.

Assignments (7)
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS - REEL/FRAME 055487-0036 Recorded Aug 22, 2025
From: JEFFERIES FINANCE LLC
To: BDNA CORPORATION; FLEXERA SOFTWARE LLC; RISC NETWORKS, LLC
Reel/Frame 072527/0741 →
SECURITY INTEREST Recorded Aug 15, 2025
From: BDNA CORPORATION
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL GENT
Reel/Frame 072034/0171 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Apr 18, 2024
From: JEFFERIES FINANCE LLC
To: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
Reel/Frame 067636/0534 →
FIRST LIEN SECURITY AGREEMENT Recorded Mar 3, 2021
From: BDNA CORPORATION; FLEXERA SOFTWARE LLC; RISC NETWORKS, LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 055487/0036 →
SECOND LIEN SECURITY AGREEMENT Recorded Mar 3, 2021
From: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 055487/0354 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2020
From: ACHKINAZI, ABE
To: BDNA CORPORATION
Reel/Frame 054770/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2018
From: PANWAR, RAJENDRA BHAGWATISINGH
To: BDNA CORPORATION
Reel/Frame 045824/0881 →