The present invention relates to the technology of managing the attribute information about the resources configuring a system.
An F-CMDB (federated configuration management database) is well known as a database for managing the entire information about the components of an information system by virtually integrating different databases for managing the information about the hardware and the software configuring the system. The F-CMDB enables a plurality of virtually integrated databases including a configuration information DB, an incident information DB, a trouble information DB, a release information DB, a change information DB, and application information DB to be freely operated as illustrated in
Furthermore, as illustrated in
In addition, in response to the search request for the resources satisfying a predetermined condition by a client as illustrated in
In addition, well known as the prior art related to the present invention is a database integration support method in an integrating system among the databases of a plurality of systems for associating the attribute items in the table of a plurality of different databases, generating a mapping document based on the association, and associating the attribute values in the tag table based on the generated mapping document, thereby supporting the integration of the plurality of databases according to the association (refer to the patent document 1, for example).
As described above, the F-CMDB holds a result of the reconciliation to improve the search performance. On the other hand, it is preferable that the F-CMDB does not manage a result of the reconciliation from the viewpoint of scalability.
The present invention aims at performing a configuration management device, computer-readable, non-transitory medium storing a configuration management program, and a method for realizing both scalability and search performance.
According to an aspect of the invention, configuration management device which is able to communicate with a device that manages a plurality of configuration items of a system, and the configuration management device includes: a management unit for associating identification information about the resources included in each of the plurality of configuration items managed by the equipment unit with position information indicating the position of a configuration item including identical identification information as the identification information, and storing associated information as management information in a storage unit; a search acceptance unit for accepting a search request including a search condition; an acquisition unit for acquiring from the equipment unit the configuration item indicated by the position information in the management information when the search request is accepted by the search acceptance unit; a merge unit for merging configuration items associated with the same identification information in the management information for the configuration item acquired by the acquisition unit; a determination unit for determining whether or not a result of the merge by the merge unit satisfies the search condition accepted by the search acceptance unit; and a response unit for returning the result of the merge determined by the determination unit as satisfying the search condition as a response to the search request accepted by the search acceptance unit.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
The embodiment of the present invention is described below with reference to the attached drawings.
First, the configuration of the configuration management system according to the present embodiment is described.
As illustrated in
Described next is the configuration of the F-CMDB and the MDR according to the present embodiment.
As illustrated in
Each of the plurality of MDRs 20 includes the configuration information 202 and the information management unit 201 for managing the configuration information 202. The information management unit 201 is substantially realized by a CPU and memory, and the configuration information 202 is attribute information about the resources stored in a storage device. When the configuration information 202 is updated, the information management unit 201 issues an update request to the F-CMDB 10. The update request is an update request of the cache information 104 depending on the registration, change, or delete of the attribute information (hereinafter referred to as an entity) about the resources managed in each of the plurality of MDRs 20. The configuration information 202 includes a CI as attribute information about the resources as illustrated in
In the present embodiment, the update request is issued as “request type, name of updated entity, information about the location of the entity ‘position information’”. For example, when the CI 3 is newly registered as the configuration information 202 about MDR_A 20a, the update request from the MDR_A 20a is “registration, CI3@MDR_A”. The type of the update request is any of registration, change, and delete. A search request is issued as “type of request, search condition”. For example, when the resources whose hard disk is 500 GB is searched for, the search request is “search, HDD=500 GB”.
Described next is the operation of the request processing unit in the F-CMDB.
As illustrated in
On the other hand if the process request has not been received (NO in S101), the request processing unit 101 determines again whether or not the process request has been received (S101).
Described next is the scalability improving process.
As illustrated in
If the received process request is a searching process request (YES S201), the information management unit 201 requests the search processing unit 103 to perform the search (S202).
On the other hand, if the received process request is not a searching process request, that is, if the process request is an update process request (NO in S201), the request processing unit 101 requests the update processing unit 102 to perform the update (S203).
Described next is the operation of the updating unit.
As illustrated in
If the type of the update request is not a registration request or a change request (NO in S301), the update processing unit 102 determines whether or not the type of the update request is a delete request (managing step in S302).
If the type of the update request is not a delete request (NO in S302), the update processing unit 102 returns a error response to the MDR, among the plurality of MDRs 20, which issues an update request to the request processing unit 101 (S303).
On the other hand, when the type of the update request is a delete request (YES in S302), the update processing unit 102 performs the deleting process described later (managing step in S304).
If the type of update request is a registration request or a change request in step S301 (YES in S301), the update processing unit 102 performs the registering and adding process described later (managing step in S306).
Described next is the operation of the registering and adding process.
As illustrated in
Next, the update processing unit 102 determines whether or not there is information e to be reconciled in the cache information 104 (managing step in S402).
When there is no information e in the cache information 104, that is, when the origin information indicating an entity is to be registered (NO in S402), the update processing unit 102 generates a gid as a new identifier in the cache information 104 (S403). Furthermore, the update processing unit 102 registers the IDP of the entity in the cache information 104 (managing step in S404), and returns a response of successful registration and update to the MDR which has issued an update request (S405).
Described below is an example of the process performed when the origin information indicating the entity which has issued the update request is to be registered. As illustrated in
In addition, in step S402, when there is the information e in the cache information 104, that is, the origin information indicating the entity is to be added (YES in S402), the update processing unit 102 adds the origin information about the entity to the cache information 104 (managing step in S406), and returns a successful registration or change as a response to the MDR which has issued an update request (S405).
Described below is an example of the process performed when the origin information about the update-requested entity is to be added. As illustrated in
Described next is the operation of the deleting process.
As illustrated in
Next, the update processing unit 102 determines whether or not there is information e to be reconciled in the cache information 104 (managing step in S502).
When there is the information e (YES in S502), the update processing unit 102 deletes the origin information indicating the entity to be deleted from the origin information of the information e (managing step in S503), and determines whether or not the origin information is blank (S504).
If the origin information about the information e is not blank (NO in S504), the update processing unit 102 returns a successful deletion as a response to the MDR which has issued an update request (S506).
On the other hand, when the origin information about the information e is blank (YES in S504), the update processing unit 102 deletes the information e (S505), and returns a successful deletion as a response to the MDR which has issued an update request (S506).
If there is no information e in step S502 (NO in S502), the update processing unit 102 returns an error response to the MDR which has issued an update request (S507).
Described below is an example of the deleting process. First, an example of the deleting process performed when there are plural pieces of origin information. As illustrated in
On the other hand, when there is not plural pieces of origin information, the origin information of the gid 1 becomes blank by deleting the origin information of the CI 1 as illustrated in
As described above, the F-CMDB 10 according to the present embodiment stores the IDP and the origin information associated with the gid as the cache information 104, thereby realizing the update of the entity without performing the reconciliation.
Described next is the operation of the searching process.
First, the search processing unit 103 empties the search request R (S601), takes all information E out of the cache information 104 (S602), and determines whether or not the information E is blank (S603).
If the information is not blank (NO in S603), the search processing unit 103 takes individual cache information e out of the information E (acquiring step/merging step in S604). In this process, the individual cache information e refers to the information associated with one gid.
Next, the search processing unit 103 acquires corresponding information from the corresponding MDR according to the origin information about the information e (acquiring step/merging step in S605). For example, the corresponding information is CI 1 and CI 2 of MDR_A20a in
Next, the search processing unit 103 performs the reconciliation (merge) according to all acquired information, that is, by the CI associated in the cache information 104, and calculates the result r (merging step in S606). For example, the targets of the reconciliation are CI 1 and CI 2 in
For example, as illustrated in
On the other hand, as illustrated in
In addition, if the information E is blank in step S603 (YES in S603), the search processing unit 103 returns the search request R as a response to the client PC 30 which has issued a search request through the request processing unit 101 (response step in S609).
As described above, the F-CMDB 10 according to the present embodiment can realize the reduction of the amount of the managed information and a speedup of the reconciliation by narrowing the targets of the reconciliation (the IDP in the present embodiment) in advance. In addition, the F-CMDB 10 can suppress the degradation of the search performance by associating the entity such as the origin information in the cache information 104 in advance, and merging the CIs associated with each other in advance when a searching operation is performed.
In the embodiment 1 above, the cache information 104 is managed by the F-CMDB 10, but in the present embodiment, the information is distributed and managed using the proxy arranged between the MDR 20 and the F-CMDB 10. The configuration and operation different from those of the embodiment 1 are described below. The descriptions of the same configurations and the operations as in the embodiment 1 are omitted here. First, the configuration of the configuration management system according to the present embodiment is described.
As illustrated in
Described next are the configuration of the F-CMDB and the configuration of the proxy different from those according to the embodiment 1.
As illustrated in
In addition, each of the plurality of proxies 40 includes the cache information 402 and the information management unit 401 for managing the information. The cache information 402 is similar to the proxy information 106 according to the embodiment 1, but is different from the embodiment 1 in that it is distributed and managed. The information management unit 401 performs the process (updating process, searching process) requested by the update processing unit 102 and the search processing unit 103. The information management unit 401 basically acts as a proxy for performing the operations of the search processing unit 103 and the update processing unit 102 according to the embodiment 1.
The proxy information 106 in the F-CMDB 10 includes an “ID” as a unique identifier for a proxy, an “accessing method” indicating the address of each of the plurality of proxies 40, and the number of pieces of information as the number of pieces of information held by each of the plurality of proxies 40 as associated with one another. The number of pieces of information refers to the number of pieces of origin information in the cache information 402 of each of the plurality of proxies 40.
Described next is the operation of the arrangement determination unit.
As illustrated in
When there is a proxy which has successfully performed the search (YES in S702), the arrangement determination unit 105 defines a proxy p as the proxy which has successfully performed the search, and returns to the update processing unit 102 the proxy p as a proxy for registering or adding the origin information about the entity e (S704).
When there is no proxy which has successfully performed the search (NO in S702), the arrangement determination unit 105 performs the arrangement determining process described later (S705).
As described above, by storing in the information management unit 401 the origin information about the entity to be updated in the proxy 40 in which the information whose IDPs match one another, the origin information relating to the same resources can be associated with the same gid.
Described next is the arrangement determining process.
As illustrated in
If the information P is not blank (NO in S802), the arrangement determination unit 105 refers to the proxy information 106, and checks the number of pieces of information managed by each of all proxies 40 in the information P (S803). Next, the arrangement determination unit 105 selects the proxy indicating the minimum number of pieces of information managed by the proxy asp (S804), and determines whether or not the number of pieces of information managed by p is smaller than a threshold (for example, 1000) (S805).
If the number of pieces of information managed by p is smaller than the threshold (YES in S805), the arrangement determination unit 105 returns p as the proxy for registering the origin information about the entity (to be updated in the update request) to the update processing unit 102. (S806).
On the other hand, when the number of pieces of information managed by p is equal to or exceeds the threshold (NO in S805), the arrangement determination unit 105 activates a new proxy not registered in the proxy information 106 as p (S807), and the activated p is registered in the proxy information 106 with the number of pieces of information defined as 0 (S808). Furthermore, the arrangement determination unit 105 increments the number of pieces of information about the registered p by 1 (S809), and returns p as the proxy for registering the entity to the update processing unit 102 (S806).
The update processing unit 102 requests the proxy returned from the arrangement determination unit 105 in the processes illustrated in
As described above, by allowing the proxy having the smallest number of pieces of managed information to register an entity in the plurality of proxies 40, the entity can be evenly allocated to the plurality of proxies 40. In addition, by restricting the number of pieces of information about the cache information 402 in each of the plurality of proxies 40 using a predetermined threshold, each proxy can be prevented from excessively holding information.
The present invention can be embodied in various other modes without deviating from the gist or primary characteristics of the present invention. Therefore, the embodiments described above are only examples in all respects, and cannot be restrictively interpreted. The scope of the present invention is indicated by the scope of the claims for the patent, and is not limited by the descriptions in the specification. Furthermore, all variations, improvements, substitutes, and reforms belonging to the even scope of the claims for the patent are all included in the scope of the present invention.
The present invention can be applied in a contents system as described below.
The above-mentioned program for performing each of the above-mentioned steps in a computer system configuring the F-CMDB 10 can be provided as a configuration management program. The program can be stored in a record medium readable by a computer system, thereby directing the computer system configuring the F-CMDB 10 to execute the program. The program for performing each of the above-mentioned steps is stored in a portable record medium such as a disk 910 etc. or downloaded by the communication device 905 from a record medium 906 of another computer system. In addition, a configuration management program (configuration management software) for assigning at least a configuration managing function to the computer system 900 is input to the computer system 900 and compiled. The program operates the computer system 900 as a configuration management system having the configuration managing function. The program can also be stored in a computer readable record medium such as the disk 910 etc. A record medium readable by the computer system 900 can be an internal storage device internally implemented in the computer such as ROM, RAM, etc., a portable storage medium such as a disc 110. a flexible disk, a DVD disk, a magneto optical disk, an IC card, etc., various types of record media accessible by a computer system connected through a database having a computer program, other database and its database, a communication device such as the arrangement determination unit 105.
According to the present embodiment, the scalability and the search function can hold together.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
This application is a continuation of PCT application PCT/JP2008/072509 which was filed on Dec. 11, 2008, the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2008/072509 | Dec 2008 | US |
Child | 13153736 | US |