Abstract:
Methods and apparatus of automatically creating composite configuration items in a configuration management database are provided. A plurality of configuration items and a corresponding plurality of configuration item relationships are provided to the configuration management database. One or more composite configuration items are created from one or more of the plurality of configuration items in accordance with one or more types of the plurality of configuration items.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS  
       [0001]    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. YOR920060477US1, entitled “Methods and Apparatus for Scoped Role-Based Access Control;” and the U.S. Patent Application Attorney Docket No. YOR920060478US1, entitled “Methods and Apparatus for Managing Configuration Management Database via Composite Configuration Item Change History” which are filed concurrently herewith and incorporated by reference herein. 
     
     FIELD OF THE INVENTION  
       [0002]    The present invention relates to information technology (IT) systems and, more particularly, methods and apparatus for automatically creating composite configuration items (CI) in a configuration management database (CMDB). 
       BACKGROUND OF THE INVENTION  
       [0003]    Large and complex IT service management environments that provide multiple services to a plurality of customers can create an unmanageable number of entities. CMDB CIs represent an extensive range of logical and physical entities and their complex relationships. A typical implementation of a CMDB may contain more than  800  abstract object classes, with implicit and explicit relationships between them that may be extended in an open-ended fashion. Organizing entities into dependency trees or graphs for a high-level view of the topology eases system management. A CMDB is broad and semantically rich enough that it may apply to higher layers such as, for example, a business process or a distributed application. A CMDB is also granular enough to represent, for example, tables in a database or enterprise Java beans (EJBs) used in an enterprise application. In real-world enterprise systems, there may be tens of thousands or more entities with complex relationships between them. Compositions are ideally suited to multi-layered topologies. 
         [0004]    The more levels in a CMDB, the more information there is to be handled. This results in larger and more complex CMDB elements. The fewer levels in a CMDB, the less control and information there are about the IT infrastructure. If the CMDB scope is too narrow, important parts of the infrastructure are not easily checked. If the CMDB scope is too wide, the cumbersome database will be an obstacle that slows down all service and management processes. If there are too many levels, attributes, and relationships, it will take processes a great effort to maintain the CMDB. Too little detail can mean recording insufficient information about the CI&#39;s and related incidents, problems, symptoms and requests for comments (RFC). 
         [0005]    Composition is a method for realization of virtualization of CMDB for extensibility and manageability of CIs in IT service management. Compositions are user defined higher order CIs. Although instances of composite CIs can be created manually, it is a tedious and laborious process to create them. Typically, a data center manages approximately 100,000 CIs in a single instance of CMDB. With such a volume of CIs, explicitly creating composite CIs also results in great expense. 
       SUMMARY OF THE INVENTION  
       [0006]    In accordance with the aforementioned and other objectives, the embodiments of the present invention are directed towards methods and apparatus for CMDB management through the automatic creation of composite CIs. 
         [0007]    For example, in one aspect of the present invention a method of automatically creating composite configuration items in a configuration management database is provided. A plurality of configuration items and a corresponding plurality of configuration item relationships are provided to the configuration management database. One or more composite configuration items are created from one or more of the plurality of configuration items in accordance with one or more types of the plurality of configuration items. 
         [0008]    In additional embodiments of the present invention, the plurality of configuration items are discovered and loaded into the configuration management database. One or more types of the plurality of configuration items are determined. One or more of the plurality of configuration items are retrieved from the configuration management database of a given type of the one or more types of the plurality of configuration items. A composite is created from the one or more of the plurality of configuration items. The retrieval and creation steps may be repeated for each of the one or more types of the plurality of configuration items. 
         [0009]    These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings. 
     
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0010]      FIG. 1  is a diagram illustrating composite CIs, according to an embodiment of the present invention; 
           [0011]      FIG. 2  is a diagram illustrating template-based composite CIs, according to an embodiment of the present invention; 
           [0012]      FIG. 3  is a diagram illustrating a CMDB and composite CI creation components, according to an embodiment of the present invention; 
           [0013]      FIG. 4  is a flow diagram illustrating composite CI automatic creation methodology, according to an embodiment of the present invention; and 
           [0014]      FIG. 5  is a diagram illustrating an illustrative hardware implementation of a computing system in accordance with which one or more components/methodologies of the present invention may be implemented, according to an embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0015]    As will be described in detail below, the embodiments of the present invention introduce techniques for automatically creating composite CIs for management of a CMDB. 
         [0016]    Referring initially to  FIG. 1 , a diagram illustrates composite CIs, according to an embodiment of the present invention. A user, at user interface  102 , views a composite CI  104  from composite API layer  106  no differently than an atomic CI  108  from data layer  110 . As a result, composite CIs  104  are modeled in the same way as atomic CIs  108 . However, composite CIs  104  exist as distinct elements in the CMDB database. 
         [0017]    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. 
         [0018]    Referring now to  FIG. 2 , a diagram illustrates template-based composite CIs, according to an embodiment of the present invention. An example of a CI that is a composition of smaller entities, some of which are CIs themselves, is a server composite  202 . A server composite  202  is made up of hardware  204 , an operating system, installed and running software components, etc. An application composite  206  is also shown, and made up of software components and server composite  202  on which they run. 
         [0019]    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. 
         [0020]    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. 
         [0021]    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. 
         [0022]    Referring now to  FIG. 3 , a diagram illustrates a CMDB and composite CI creation components, according to an embodiment of the present invention. A bulk loader  302  and/or discovery sensors  304  discover CIs  306  and load them into a CMDB  308 . CIs  306  are loaded with their corresponding relationships to other CIs  306 . Bulk loader  302  and/or discovery sensors  304  invoke a composite creation agent  310  once CIs  306  are fully loaded into CMDB  308 . Composite creation agent  310  communicates with a registry  312  to determine CI types that should be scanned for in CMDB  308 . Composite creation agent  310  scans for instances of a specific CI type in CMDB  308 , and creates a composite CI  314  for all CIs  306  discovered in the scan. Composite creation agent  310  continues scanning and creating composite CIs for all CI types in registry  312 . 
         [0023]    Referring now to  FIG. 4 , a flow diagram illustrates a composite CI automatic creation methodology, according to an embodiment of the present invention. The methodology begins at block  402 , where a plurality of CIs is discovered. In block  404 , the plurality of CIs and their corresponding relationships with each other are loaded into a CMDB. In block  406 , CI types of the CIs are determined. In block  408 , CIs having a given CI type are retrieved from the CMDB. In block  410 , a composite CI is created from the retrieved CIs. In block  412  it is determined if all determined CI types have been used to retrieve CIs. If all CI types have been used the methodology terminates in block  414 . If all CI types have not been used, the methodology returns to block  408  to retrieve CIs having a next given CI type from the CMDB. 
         [0024]    Referring now to  FIG. 5 , a block diagram illustrates an exemplary hardware implementation of a computing system in accordance with which one or more components/methodologies of the invention (e.g., components/methodologies described in the context of  FIGS. 1-4 ) may be implemented, according to an embodiment of the present invention. 
         [0025]    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. 
         [0026]    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. 
         [0027]    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. 
         [0028]    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. 
         [0029]    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. 
         [0030]    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. 
         [0031]    The automatic creation of composite CIs allows a customer to focus on creating the virtual composition templates of CIs and not the individual composite CI instances. CI types may be managed via externalized policies and rules in the registry. Once a CI type is registered, the composite instances may be created automatically. 
         [0032]    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.