Referring initially to
The data 16 in the structured document are obtained from a variety of sources 20 that can be internal or external to the system that is being managed. Suitable methods for obtaining and writing data to the structured document are known and available in the art and include manual and automatic methods. These sources 20 include managed data sources 21, for example databases of configuration information for example a configuration management database (CMDB), and scattered data sources 22 such as E-mails, documents, spreadsheets, other databases, and system resources such as nodes. In addition, data can be obtained from a variety of other sources that very in trust level and the degree of formalism. Communication with the various sources of data is facilitated through either a direct communication link or across one or more networks. Suitable networks include, but are not limited to, local area networks such as Ethernet networks, wide area networks such as the Internet, secure local and wide area networks, secure wireless networks, enterprise-wide networks, storage area networks, virtual private networks, secure virtual private networks, internet area networks, internet secure networks, personal area networks and combinations thereof.
At least one active data model 18 is provided in communication with the structured document 10 and the sources of data 20. An active data model is defined as a user exposable object that interacts with one or more data repositories, including centralized data repositories, to provide the dynamic materialization to the user or system administrator of the data required for system administration as expressed in the structured document. That is, the active data model makes data within the structured document or management data sources “active” and updated as opposed to stagnate and outdated. The data are provided to the user in a manner constrained by the active data model's defined behavior. In one embodiment, the active data model places constraints on the manner in which data is accessed and updated. For example, certain data elements are linked directly to corresponding configuration items and their attributes so that updates to the attribute result in a change to the underlying CMDB data element and vice-versa. Suitable formats for the active data model include, but are not limited to word processing documents and spreadsheets, such as the types of spreadsheets utilized for the structured document, and build sheets. Preferably, the active data model is provided as a spreadsheet with additional functionality to define the desired behavior of the active data model as described below.
In one embodiment, the active data model is in communication with one or more of the accessible data 16 within the structured document 10. Therefore, the active data model can write updates to the accessible data. As illustrated, the active data model is a separate element independent of either the structured document 10 or the various sources of data 20. Alternatively, the active data model can be incorporated into either the structured document or one or more of the source of data. For example, the accessible data 16 in the structured document 10 can be modified or constructed so as to be active elements. In addition, data from one or more of the data sources 20 can be modified so as to be active data points. Communication between the active data model and the structured document or the active data model and the various sources of data is preferably a two-way communication in that data or information can be passed in either direction among the various elements. Therefore the active data model is used to update both the structured document and the data sources, in particular the managed data sources 21 such as the CMDB.
The active data model includes at least one and preferably a plurality of active data model elements 19. The number of active data model elements contained in a given active data model is sufficient to facilitate the number of data points within the structured document that are to be updated on an ongoing basis. Therefore, the number of model elements 19 ranges from one up to the number of data points 16 within the structured document.
As shown in
As shown in
The location reference component provides details on the location of the data source, for example the reference to and location within a trusted or structured data source such as the CMDB, from which the data element is obtained. In addition to address or routing information, these details include other information such as access details including authorization and authentication data for the access to the trusted or structured data source. The synchronization rule component provides the synchronization semantics for this active data model element. Examples of the synchronization semantics include, but are not limited to, whether the synchronization is unidirectional or bidirectional, whether the synchronization will occur while the system is online or offline, the synchronization schedule, whether updates are allowed, whether there are other models or model elements that need to be synchronized and combinations thereof. The state rules component provides lifecycle state information for the active data model element. The lifecycle state of the element can be the same as or different from the lifecycle state of the active data model. The lifecycle state provides data about interaction with workflow if any is involved in this data element. The life cycle state may be used to restrict the access of the data element, for example, so that it may be modified only in particular states or used by certain administrative roles only in particular states. The entitlement rules component provides access, authentication, and entitlement information for the active data model element. The change management rules component provides details of the change management requirement for this active data model element. For example, this component provides details about whether or not the data element is under change control. Alternatively, this component provides pointers to source of this information. The composition rules component provides composition capabilities if this active data model element is derived from other active data model elements. For example, the composition rules component provides the necessary data model element references to one or more underlying elements from which this data element is derived. In addition, information about any operations among the underlying elements is also provided. The inter-element rules component 36 provides details on how this data element interacts with other active data model elements. For example, the inter-element rules may indicate preconditions for a particular active data model element based on other active data model elements.
Since the active data model provides for a two-way flow of data or information between the structured document and a data source, the active data model is used to update the data sources. In the case of trusted data sources, for example the CMDB, a level of authorization or authentication is required before the CMDB is updated. The desired level of authorization can be provided through mechanisms such as formalized request for change (RFC) mechanisms. Other levels of security or protection are provided by making certain data elements non-modifiable or read-only or by limiting change access to only certain administrators. In one embodiment, certain data elements have associated with them limited interpretation of process state. That is, there are constraints on the way that the data can be modified based on the current lifecycle. This workflow is not represented directly in the structured document; however, allowable field modifications are limited based upon a given administrator's role. In one embodiment, certain data elements have change history management or versioning requirements.
In general, the active data model itself is considered a controllable configuration item. That is, the document representing the active data model can be represented as a configuration item in a central data repository such as the CMDB. The expression of active data models within the CMBD implies that there is an awareness of these objects with respect to their use in the service delivery management (SDM).
Active data models can be either specifically created for a given structured document, that is developed by the administrator for a structured document that the administrator is currently using to manage a system, or can be developed or created from one or more existing or underlying active data models. Active data models that have been created from base models can be viewed as composed active data models or generic active data models. To illustrate, again using build sheets as the structured documents, two managed systems have resource data in their respective build sheets that overlap and resource data that are specific to one of the build sheets. For example, the first system build sheet contains server and network connectivity resource information, and the second system build sheet contains network connectivity and application security information. A composite build sheet can be constructed for the second system that leverages the structure of the first system build sheet. Referring to
By way of visualization, a spreadsheet provides for pages of mathematically interconnected cells. That is information from one cell references information from one or more other cells within the spreadsheet. Similarly, an active data model that is composed using one or more basic active data models can reference one or more model elements from the basic active data models in order to construct the new, composite active data model. Therefore, unlike an active data model that is not a composite and is created specifically for a given structured document, a composed active data model contains model elements from other models along with connection elements. Connection elements are similar in structure to model elements; however, connection elements provide a bridge between model elements that are contained in different basic models. A connection element provides referential information to the particular models that are used in the composed active data model. In particular, the connection element provides details of which model elements will be used from a particular model for the composition. The connection element also provides mapping details on how the identified model elements will be used in the composed model, e.g. to provide sub-elements similar to those of a model element. In general, composed models are preferable when the composed model is a composition of base models, and the model elements are largely independent and disjoint with few connections. For composed models where there is a deep nesting of relationships, management of the interconnections is more complex, and construction of a new active date model is preferred.
Referring to
The coordination adapter 50 includes an active data model registration section 52 for registering elements from the active data models. The coordination adapter also includes a relationship binding section 54 that binds relationships, i.e. routing relationships, between the registered elements and a source of data for each element. In particular, relationship binding involves finding a trusted source for the appropriate data. Suitable sources include centralized sources including manage data sources such as the CMDB and alternative sources such as other elements within one of the active data models or a data point from one of the structured documents. By associating an element from an active data model with a source other than a centralized source, the need for all of the active data elements to contact a single centralized source is reduced, saving time and system resources.
The result of the relationship binding is a plurality of relationship elements 56. Each relationship element represents the binding of one element from an active data model with a suitable source of data. As shown in
The location reference component provides details on the location of the data source, for example the trusted or structured data source such as the CMDB or another data element, from which the appropriate and trusted information can be obtained. In addition to address or routing information, these details include other information such as access details. The relationship synchronization rule component provides the synchronization semantics for this relationship element. Examples of the synchronization semantics include, but are not limited to, whether the synchronization is uni-directional or bidirectional, whether the synchronization will occur while the system is online or offline, the synchronization schedule, whether updates are allowed, whether there are other models or model elements that need to be synchronized and combinations thereof. The relationship state rules component provides lifecycle state information for the active data model element. The relationship entitlement rules component provides access, authentication, and entitlement information for the active data model element. The change management rules component provides details of the change management requirement for this active data model element. For example, this component provides details about whether or not the data element is under change control. Alternatively, this component provides pointers to a source of this information. The composition rules component provides composition capabilities if the active data model element is derived from other active data model elements. For example, the composition rules component provides the necessary location references to one or more underlying elements from which this data element is derived. In addition, information about any operations among the underlying elements is also provided. The inter-element rules component provides details on how this data element interacts with other active data model elements.
In general, the coordination adapter 50 manages the modification of an active data model's interconnection behavior based on the registration of a given active data model or given user to the coordination adaptor. As is shown in
The coordination adaptor brokers relationships between multiple active data models and provides a generic mechanism for accessing data value information between active data models in a systematic fashion. In addition, the coordination adapter has the potential to modify the realization of the data access behavior. Characteristics of the coordination adapter include, but are not limited to, a representation of specific relationships between externalized active data models so that reference to a particular data value in an active data model can be traced through references to other active data models. The characteristics also include a mechanism that maintains relationships and enforces rules and references within the boundaries of these relationships to enable the notion of data shortcuts that emulate data sources between externalized active data models.
In one example, portions of a spreadsheet model's data elements are the source of data for a word processor based model. The spreadsheet model manages data associated with a given business process. The word processor based model manages a separate business process that utilizes a portion of the data associated with the spreadsheet model. The coordination adaptor registers the spreadsheet active data model and binds a relationship between the elements of the spreadsheet active data model and the configuration management database (CMDB). Therefore, the spreadsheet active data model will access this centralized, managed data source directly to obtain the desired data. The coordination adapter also registers the word processor based active data model; however the relationship binding of the word processor based model is linked to the spreadsheet model. Therefore, the word processor based model will not access centralized database but instead will access the spreadsheet model to obtain the desired data. With the relationship elements in place, data can be manipulated in the spreadsheet active data model. As information is needed from the word processor based active data model, the coordination adapter manages the appropriate relationship elements and the associated location references to source these data from the spreadsheet model.
Use of the coordination adapter assures an administrator that the data obtained, even if from an alternate source represents managed and trusted data. Time and resource consuming access to a centralized managed source, e.g. the CMDB, is not necessary, as data value integrity is being maintained. Although the described example represents a rather simple and limited number of active data models, systems and methods in accordance with the present invention can be used to coordinate data sourcing for larger and more complex arrangements of structured documents and active data models including, for example a meshed relationship of active data models bound by rules and implemented by references to alter the behavior of several inter-related models.
In one embodiment, adaptive business objects (ABO) are utilized in the management of the systems. An ABO is an abstraction of a business entity with explicitly managed state. As used herein, an ABO represents a decomposition of data in a system into a business object that has a set of states. The business object transitions through these states, and the available data at any given time is a reflection of the current state of the business object. In particular, the active data models are decomposed into non-overlapping adaptive business objects in accordance with analysis of lifecycle states and data attributes. Illustratively, a build sheet may be comprised of a selection of data some of which is used to represent a server configuration, some of which is used to represent a network configuration. The build sheet may then be decomposed into a set of separable non-overlapping business objects, e.g. server and network, each of which is represented as a subset of the active data model, and these are associated with abstract business objects. As shown in
Exemplary methods in accordance with the present invention include methods for managing computing systems such as information technology systems by utilizing active data models, coordination adaptors and adaptive business objects. Structured documents, for example build sheets or spreadsheets are used by an administrator to manage or to control the organization and operation of a given information technology system. In one embodiment, each structured document is created for a particular system, for example by the system administrator. The structured documents contain data elements that contain the parameters used to manage the information technology system. The representations of these data elements contained within the structured document are synchronized with representations of these data elements contained in one or more data sources. These data sources include managed data sources, trusted data sources, scattered data sources and combinations thereof. Synchronization of the data elements representations includes wherein the step of synchronizing further comprises obtaining updated representations of the data elements from the data sources and replacing existing representations of the data elements in the structured document with the updated representations of the data elements. Similarly, representations of the data elements in the structured document are used to replace the representations of the data elements in the data source. Preferably, synchronization involves establishing a two-way exchange of the representations of the data elements between the structured document and the data sources.
Synchronization of the data elements is facilitated by using an active data model that is in communication with both the structured document and the data sources. The active data model includes one or more, and preferably a plurality of model elements. Each model element is associated with one of the data elements contained within the structured document. Therefore, the model element is an active representation of the data element that is arranged to facilitate locating, reading and updating the data element. This functionality is enabled by including in each model element information sufficient to facilitate communication of data element representations between the structured document and the data sources. The information sufficient to facilitate communication contained in each model element includes, but is not limited to, a location reference, synchronization rules, state rules, entitlement rules, change management rules, composition rules, inter-element rules and combinations thereof.
Having created the structured document containing a plurality of elements, one or more of the data elements in the structured document are identified for synchronization. Not all of the data elements within a structured document are necessarily identified for synchronization. Certain data elements may be ready only or may be calculated from other data elements within the structured document. Alternatively certain data elements may not be selected because it is neither desired nor required that these data elements be synchronized with an external data source. In one embodiment, the active data model is created to include a model element for each one of the identified data elements. The total number of model elements can be varied based upon the administrative demands of the system up to a number of model elements equal to the number of representations of data elements within the structured document that are subject to synchronizing. In one embodiment, the structure of the active data model and the model elements contained within the active data model are constructed specifically for a given information technology system and structured document. Alternatively, the active data model is created from a generic or sample active data model. For example, the generic active data model is modified in accordance with the data elements and data sources associated with management of a given information technology system.
In one embodiment, management of the information technology system includes creating a composite active data model to be used in managing the information technology system. A composite active data model is formed from existing active data models having model elements that relate to data elements that are also contained in the structured document for which the composite active data model is being created. In one embodiment, two or more existing active data models are identified. Each existing active data model includes at least one model element associated with a data element contained in a structured document. Model elements from the identified existing active data models are used to create the composite active data model. As with other active data models, the composite active data model is used to obtain updates from one or more data sources for the data elements contained in the structured document. Therefore, the composite active data model is used to synchronize representations of data elements contained in the structured document with representations of the data elements contained in data sources for the data elements using the composite active data model. The composite active data element contains one or more composite elements, i.e. elements obtained from the existing active data models, and one or more connection elements. The connection elements contain information regarding relationships between the various existing model elements in the composite model elements. Although the composite active data model utilizes existing active data models as a source for model elements, not all of the models elements have to come from existing active data models. In one embodiment, creation of the composite active data model also includes creating one or more new model elements in accordance with the requirements of the information technology system for which the structured document is arranged to manage.
In one embodiment, management of the information technology system involves creating a coordination adaptor to coordinate routing of the synchronization enacted by the active data model from the data elements in the structured documents to the data elements in the data sources. In particular, the coordination adaptor coordinates routing and sourcing of data elements from sources other than the centralized repositories for these data elements while maintaining the level or trust and integrity associated with the centralized data repositories. Sourcing trust data elements from alternative sources increases the speed of synchronization and the efficiency of system management.
As was stated, updates for data elements are obtained form a variety of data sources from scattered data sources to managed data sources. Centralized and managed data sources are generally associated with a higher level of trust, as the contents of these data sources are managed or controlled. Therefore, in one embodiment, trusted data sources are identified, and the representations of the data elements within the structured document are synchronized with the trusted data sources. In one embodiment, a register, database or list containing each one of the model elements of the active data model or composite active data model is created. For each one of the data elements associated with the registered model elements, a trusted data source is identified, and this trusted data source is associated with each one of the data elements associated with the registered model elements. Association of a trusted data source involves binding routing relationships between the data elements associated with each one of the registered model elements and the associated trusted data source. These binding routing relationships are used to find and access the associated trusted data source for purposes of synchronization or obtaining updates. Suitable associations include, but are not limited to, a centralized data source, a data element from a structured document, a model element from an active data model and combinations thereof. In one embodiment, creation of the binding routing relationships includes defining a plurality of relationship elements, where each relationship element includes an identification of a data element from a structured document, an identification of a trust data source, a relationship reference index and a relationship model.
In one embodiment, adaptive business objects are utilized in the management of the information technology system. In order to utilize adaptive business objects, the active data model is decomposed into a plurality of non-overlapping adaptive business objects. These adaptive business objects are then utilized in the management of the information technology system. Management is further facilitated by modifying each model element to include an adaptive business object reference.
Methods and systems in accordance with exemplary embodiments of the present invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software and microcode. In addition, exemplary methods and systems can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer, logical processing unit or any instruction execution system. For the purposes of this description, a computer-usable or computer-readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. Suitable computer-usable or computer readable mediums include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems (or apparatuses or devices) or propagation mediums. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk—read only memory (CD-ROM), compact disk—read/write (CD-R/W) and DVD.
Suitable data processing systems for storing and/or executing program code include, but are not limited to, at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements include local memory employed during actual execution of the program code, bulk storage, and cache memories, which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or I/O devices, including but not limited to keyboards, displays and pointing devices, can be coupled to the system either directly or through intervening I/O controllers. Exemplary embodiments of the methods and systems in accordance with the present invention also include network adapters coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Suitable currently available types of network adapters include, but are not limited to, modems, cable modems, DSL modems, Ethernet cards and combinations thereof.
In one embodiment, the present invention is directed to a machine-readable or computer-readable medium containing a machine-executable or computer-executable code that when read by a machine or computer causes the machine or computer to perform a method for the management of information technology systems in accordance with exemplary embodiments of the present invention and to the computer-executable code itself. The machine-readable or computer-readable code can be any type of code or language capable of being read and executed by the machine or computer and can be expressed in any suitable language or syntax known and available in the art including machine languages, assembler languages, higher level languages, object oriented languages and scripting languages. The computer-executable code can be stored on any suitable storage medium or database, including databases disposed within, in communication with and accessible by computer networks utilized by systems in accordance with the present invention and can be executed on any suitable hardware platform as are known and available in the art including the control systems used to control the presentations of the present invention.
While it is apparent that the illustrative embodiments of the invention disclosed herein fulfill the objectives of the present invention, it is appreciated that numerous modifications and other embodiments may be devised by those skilled in the art. Additionally, feature(s) and/or element(s) from any embodiment may be used singly or in combination with other embodiment(s) and steps or elements from methods in accordance with the present invention can be executed or performed in any suitable order. Therefore, it will be understood that the appended claims are intended to cover all such modifications and embodiments, which would come within the spirit and scope of the present invention.