External system integration into automated attribute discovery
First Claim
1. A process to build self-consistent data blocks for a CMDB system or any other external system using a data block maximum size, comprising:
- A) dividing a graph of entity types into independent groups, each group including entity types related to other entity types by parent-child relationships;
B) computing the cardinality of each relationship;
C) computing a connectivity metric for each entity type;
D) sorting the entity types into decreasing order of connectivity metric;
E) loading related instances of related entity types into one or more data blocks so as to not substantially exceed a maximum data size for each block starting with the entity type of highest connectivity metric and working downward on the sorted list of entity types generated in step D;
F) loading into said one or more data blocks any instances of entity types not related to any other entity types;
G) marking each instance which has been loaded into a data block as done; and
H) repeating steps E, F and G until all instances of all entity types of all independent groups have been loaded into one or more data blocks.
0 Assignments
0 Petitions
Accused Products
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. A heuristic method to create self-consistent data blocks without exceeding a maximum size limit involves loading instances of entity types and all related instances in the order of decreasing connectivity metric.
-
Citations
18 Claims
-
1. A process to build self-consistent data blocks for a CMDB system or any other external system using a data block maximum size, comprising:
-
A) dividing a graph of entity types into independent groups, each group including entity types related to other entity types by parent-child relationships; B) computing the cardinality of each relationship; C) computing a connectivity metric for each entity type; D) sorting the entity types into decreasing order of connectivity metric; E) loading related instances of related entity types into one or more data blocks so as to not substantially exceed a maximum data size for each block starting with the entity type of highest connectivity metric and working downward on the sorted list of entity types generated in step D; F) loading into said one or more data blocks any instances of entity types not related to any other entity types; G) marking each instance which has been loaded into a data block as done; and H) repeating steps E, F and G until all instances of all entity types of all independent groups have been loaded into one or more data blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable medium which bears instructions which, when executed by a computer causes said computer to carry out a process to build self-consistent data blocks for a CMDB system or any other external system using a data block maximum size, said process comprising:
-
A) dividing a graph of entity types into independent groups, each group including entity types related to other entity types by parent-child relationships; B) computing the cardinality of each relationship; C) computing a connectivity metric for each entity type; D) sorting the entity types into decreasing order of connectivity metric; E) loading related instances of related entity types into one or more data blocks so as to not substantially exceed a maximum data size for each block starting with the entity type of highest connectivity metric and working downward on the sorted list of entity types generated in step D; F) loading into said one or more data blocks any instances of entity types not related to any other entity types; G) marking each instance which has been loaded into a data block as done; and H) repeating steps E, F and G until all instances of all entity types of all independent groups have been loaded into one or more data blocks. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus comprising a computer programmed with an operating system and one or more application programs which interact with said computer and said operating system so as to control said computer to carry out the following process:
-
A) dividing a graph of entity types into independent groups, each group including entity types related to other entity types by parent-child relationships; B) computing the cardinality of each relationship; C) computing a connectivity metric for each entity type; D) sorting the entity types into decreasing order of connectivity metric; E) loading related instances of related entity types into one or more data blocks so as to not substantially exceed a maximum data size for each block starting with the entity type of highest connectivity metric and working downward on the sorted list of entity types generated in step D; F) loading into said one or more data blocks any instances of entity types not related to any other entity types; G) marking each instance which has been loaded into a data block as done; and H) repeating steps E, F and G until all instances of all entity types of all independent groups have been loaded into one or more data blocks.
-
-
18. An apparatus comprising a computer programmed with an operating system and one or more application programs which interact with said computer and said operating system so as to control said computer to carry out the following process on a collection of data objects which can be represented by a graph of entity types which has been divided into independent groups, each group including entity types related to other entity types by parent-child relationships, each entity type representing one or more instances of the entity, each instance represented by a data object which, if said instance has any parent or child relationship, has data recording at least some of its relationship(s) with one or more instances of another type, said process comprising
A) computing the cardinality of each relationship; -
B) computing a connectivity metric for each entity type; C) sorting the entity types into decreasing order of connectivity metric; D) loading related instances of related entity types into one or more data blocks so as to not substantially exceed a maximum data size for each block starting with the entity type of highest connectivity metric and working downward on the sorted list of entity types generated in step C; E) loading into said one or more data blocks any instances of entity types not related to any other entity types; F) marking each instance which has been loaded into a data block as done; and G) repeating steps D, E and F until all instances of all entity types of all independent groups have been loaded into one or more data blocks.
-
Specification