As will be described in detail below, the embodiments of the present invention introduce techniques for managing a CMDB utilizing composite CIs as fundamental units for change history management of elements of the CMDB.
Referring initially to
Composite CIs are represented as a graph of supporting elements, which may be composite or atomic CIs. The graph is constructed by navigating relationships based on the definition of what composed the CI. The definition will be for the maximal graph that can make up the composite. Not all possible supporting elements are required in the composite CI in order to have a valid composition; only the root element is required.
Referring now to
CIs can be composed by aggregating relationships to a main or root atomic CI. For example, a server has a root computer system object, which is related to hardware, operating system, software and networking elements. Further, an application has a root software system object that is related to underlying software components, which are in turn related to operating systems, software installations, software products, software updates, etc.
The identity of a composite CI is determined by the identity of its root atomic CI. Therefore, a root atomic CI must contain all the attributes necessary to identify the composite CI, even if some of those attributes are “derived” from supporting elements. Root CIs may be linked to other root CIs via “uses” or “contains” relationships.
A composite CI can exist as long as its root atomic CI can be uniquely identified. The supporting elements can be added to, removed from, or updated in the composition over time. Thus, for example a server composite may be created with only a computer system element. The operating system, hardware and networking elements may be added at any time, without changing the identity of the server CI itself.
Change propagation rules are externalized to a propagation registry that uses policies and/or rules. The change propagator uses the registry for propagation and exploits composite CIs to generate notifications and record change histories of configuration items. A composite CI is utilized as a fundamental unit of granularity for configuration management, which includes, for example, audits and reporting, change management, and security authorization management.
Referring now to
Referring now to
Whenever a configuration item is changed, a change report is created with the changes, such as, for example, attributes or relationships. The change record is stored in the CMDB. In block 410, a change record is created indicating a change occurred in a CI and/or a root CI. In block 412, a composite change record is constructed aggregating change records associated with a composite CI. Since a composite CI is constructed via a definition in a template for the composite CI, the change records for and about CI and attributes that are not in the template but are inherently defined in the containment model are ignored. In block 414, the composite change record is reviewed against system objectives to form audit results.
Referring now to
As shown, the computer system may be implemented in accordance with a processor 510, a memory 512, I/O devices 514, and a network interface 516, coupled via a computer bus 518 or alternate connection arrangement.
It is to be appreciated that the term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a CPU (central processing unit) and/or other processing circuitry. It is also to be understood that the term “processor” may refer to more than one processing device and that various elements associated with a processing device may be shared by other processing devices.
The term “memory” as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, a fixed memory device (e.g., hard drive), a removable memory device (e.g., diskette), flash memory, etc.
In addition, the phrase “input/output devices” or “I/O devices” as used herein is intended to include, for example, one or more input devices (e.g., keyboard, mouse, scanner, etc.) for entering data to the processing unit, and/or one or more output devices (e.g., speaker, display, printer, etc.) for presenting results associated with the processing unit.
Still further, the phrase “network interface” as used herein is intended to include, for example, one or more transceivers to permit the computer system to communicate with another computer system via an appropriate communications protocol.
Software components including instructions or code for performing the methodologies described herein may be stored in one or more of the associated memory devices (e.g., ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (e.g., into RAM) and executed by a CPU.
Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other changes and modifications may be made by one skilled in the art without departing from the scope or spirit of the invention.
This application is related to: the U.S. patent Application Attorney Docket No. YOR920060467US1, entitled “Methods and Apparatus for Composite Configuration Item Management in Configuration Management Database;” the U.S. patent Application Attorney Docket No. YOR920060468US1, entitled “Methods and Apparatus for Global Service Management of Configuration Management Databases;” the U.S. patent Application Attorney Docket No. YOR920060469US1, entitled “Methods and Apparatus for Automatically Creating Composite Configuration Items in Configuration Management Database;” the U.S. patent Application Attorney Docket No. YOR920060477US1, entitled “Methods and Apparatus for Scoped Role-Based Access Control” which are filed concurrently herewith and incorporated by reference herein.