This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2012-250622 filed on Nov. 14, 2012, the entire contents of which are incorporated herein by reference.
The embodiment discussed herein is directed to a parameter setting support program, a parameter setting support device, and a parameter setting support method.
In recent years, cloud systems have been utilized in which the server or network virtualization technology is used so that multiple computing resources on a network can be used as the user's computing resource. Such a cloud system has become bigger and more complicated, and its system is changed on a daily basis. For example, devices are additionally installed, new parameters associated with the system design are added, and the design principles are changed.
The system is designed in response to the request for the system change. For the system design, the designer creates the design rules and design procedure. Here, the design rule refers to the rule for setting the parameter related to the designing, and the design procedure is obtained by arranging the design rules in the order they are executed. In accordance with the created design rule and design procedure, a parameter related to the system to be changed is generated by a device that automatically generates parameters.
Furthermore, there is a technology for automatically configuring the system in response to the request for the system change. By way of example, when a server configuration support device receives a system requirement, the server configuration support device applies it to the variable defined by the skeleton information on the system configuration parameter used for configuring each application program, thereby generating the system configuration parameter for each server. The server configuration support device delivers and applies the generated system configuration parameter to a target server, thereby achieving the system configuration. The skeleton information on the system configuration parameter used by the server configuration support device is manually created in advance.
By way of another example, there is a known technology for achieving the system configuration on the basis of the item definition information that contains items defined corresponding to the pattern of the configuration system and the configuration flow definition information that defines, corresponding to the pattern, the process to input the value to an item and the order of processes. With this technology, on the basis of the item definition information and the configuration flow corresponding to the pattern of the designated system, the system configuration device receives an input of the value for the item corresponding to the process and, after the item is set, generates system definition information and configuration script for setting the environment of a configuration target server of the system. The system configuration device delivers an agent program that executes the configuration script to the system configuration target server and causes it to execute the configuration script. The item definition information and the configuration flow definition information used by the system configuration device are manually created in advance.
Patent Literature 1: Japanese Laid-open Patent Publication No. 2006-72772
Patent Literature 2: Japanese Laid-open Patent Publication No. 2010-55499
However, a large-scale system, such as a cloud system, has a problem in that it is difficult to manually design the system. Specifically, in such a system, the system is changed on a daily basis, the relationship between parameters is complicated, and the design principle depends on the system to be designed. Therefore, it is difficult for a designer to create design rules and design procedures for the system design each time the system is changed.
Even with the technology for automatically configuring the system, it is difficult for a designer to create the skeleton information on a system configuration parameter for a large-scale system. Furthermore, it is also difficult for a designer to create the item definition information and the configuration flow definition information. Therefore, in the case of a large-scale system, it is difficult to manually design the system.
According to an aspect of an embodiment, a non-transitory computer-readable recording medium stores a parameter setting support program. The parameter setting support program causes a computer to execute a process. The process includes storing in a storage unit, for each design target that has been previously designed, related information on a plurality of devices included in a design target and information on a setting of a parameter that has been used for designing. The process includes generating, by using the related information stored in the storage unit, multiple rules with respect to a parameter that is common to the design targets, the rules indicating conditions and definitions that are used for a setting of the parameter. The process includes generating a procedure to execute the rules in accordance with a manually input value of a parameter and the generated rules.
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.
Preferred embodiments of the present invention will be explained with reference to accompanying drawings The present invention is not limited to the embodiment.
Configuration of Parameter Setting Support Device
As illustrated in
The storage unit 11 corresponds to a storage device, such as a non-volatile semiconductor memory device, for example, flash memory or ferroelectric random access memory (FRAM) (registered trademark). The storage unit 11 includes the teaching data 21, a setting order list 22, and manually input parameters 23. The teaching data 21 is the parameter setting information of a similar system that has the similar configuration to that of the target system 2. The teaching data 21 is stored in the storage unit 11 by a clustering unit 121 that will be explained later. An example of the data structure of the teaching data 21 will be explained later. The setting order list 22 is the list that indicates the order in which the parameters are set and the order in which the design rules are executed, and it corresponds to the design procedure. The setting order list 22 is stored in the storage unit 11 by the design-procedure generating unit 13 that will be explained later. The manually input parameter 23 is a parameter whose value is set by a manual input. The manually input parameter 23 is stored in the storage unit 11 by a parameter determining unit 122 and the design-procedure generating unit 13 that will be explained later.
Here, an explanation is given, with reference to
The server A1, the server A2, the server A3, and the server A4 are the names of the servers installed in the similar system. Here, the four servers are installed; however, there is no limitation on this example. Five servers or three servers may be installed. Any number of servers may be provided if they are installed in the similar system.
The parameters are used for the system design. Here, the parameters include “Role”, “nameserver”, “LANG”, “UTC”, and “IP”. The “Role” indicates the role of a server. The “nameserver” indicates the IP address of Domain Name Service (DNS). The “LANG” indicates the language used by a server. The “UTC” indicates whether the universal time coordinated is to be used. For example, if “true”, it means that the universal time coordinated is to be used and, if “false”, it means that the universal time coordinated is not to be used. The “IP” indicates whether the assignment of an IP address is dynamic or static. For example, if “dhcp”, it means that it is dynamic and, if “static”, it means that it is static.
The values of the above parameters are set for each of the servers. For example, in the case of the server A1, “admin” is set to the parameter “Role”, and “192.168.1.1” is set to the parameter “nameserver”. Furthermore, “jp” is set to the parameter “LANG”, “false” is set to the parameter “UTC”, and “dhcp” is set to the parameter “IP”.
With reference back to
The clustering unit 121 generates multiple design rules by using the teaching data 21. A design rule generated is synonymous with a “cluster”, which will be used below. For example, the clustering unit 121 uses a clustering technique so as to identify, from the teaching data 21, the common part on the basis of a design unit. The clustering unit 121 then generates a design rule from the clustering result. Here, a design unit refers to, for example, a data center as a unit, a location as a unit, or a server as a unit. Any clustering technique may be used as the above clustering technique.
Here, an explanation is given, with reference to
In the teaching data 21 of each of the data centers A, B, C, and D, as illustrated in the upper section of
The clustering unit 121 then generates design rules from the clustering result. Here, a design rule is generated such that, if the parameter “Role” is “admin”, the parameter “Lang” is set to “Japanese”. Furthermore, a design rule is generated such that, if the parameter “Role” is other than “admin”, the parameter “Lang” is set to “English”. Specifically, the design rules (clusters) generated by the clustering unit 121 are represented by the following <1> and <2>.
A design rule includes its condition and definition. For example, as for <1>, the condition of the design rule is “IF Role=“admin””, and the definition of the design rule is “THEN LANG=Japanese”.
With reference back to
Here, an explanation is given, with reference to
In the teaching data 21 of each of the data centers A, B, C, and D, as illustrated in the upper and lower sections of
In the teaching data 21 of each of the data centers A, B, C, and D, as illustrated in the upper and lower sections of
With reference back to
Here, an explanation is given, with reference to
As illustrated in
As illustrated in
With reference back to
After the clustering operation has been performed again, the design-procedure generating unit 13 identifies the design rule whose condition is satisfied by the value of the manually input parameter and the definition of the previously identified design rule. If the design rule has been identified, the design-procedure generating unit 13 adds the design rule to the setting order list 22 as the design procedure. Conversely, if the design rule has not been identified, the design-procedure generating unit 13 determines that the parameter included in the definition of the design rule that has not been identified is a manually input parameter and stores it as the manually input parameter 23 in the storage unit 11. As described above, the process to generate a design procedure by recursively performing the clustering operation is referred to as the “recursive clustering algorithm”.
Here, an explanation is given, with reference to
As illustrated in the upper section of
As illustrated in the lower section of
With reference back to
Next, an explanation is given, with reference to
As illustrated in
If a design unit is a server as a unit instead of a data center as a unit, a different parameter is determined to be a manually input parameter.
The design-procedure generating unit 13 identifies the design rule whose condition is satisfied by the manual input and adds the identified design rule to the setting order list 22. Here, the design rules (1) and (2) of the parameter “LANG” are identified because the conditions of the design rules (1) and (2) are satisfied by the manually input parameter “Role” and the manually input value. The design rules (1) and (2) of the parameter “LANG” are added to the setting order list 22.
The design-procedure generating unit 13 then identifies the design rule whose condition is satisfied by the manual input and the definition of the previously identified design rule and adds the identified design rule to the setting order list 22. Here, the design rule (3) of the parameter “UTC” is identified because the condition of the design rule (3) is satisfied by the definition “LANG=jp” of the previously identified design rule (1). Similarly, the design rule (4) of the parameter “UTC” is identified because the condition of the design rule (4) is satisfied by the definition “LANG=jp” of the previously identified design rule (2). The design rules (3) and (4) of the parameter “UTC” are then added to the setting order list 22.
Furthermore, the design rule (5) of the parameter “IP” is identified because the condition of the design rule (5) is satisfied by the definition “UTC=false” of the previously identified design rule (3). Similarly, the design rule (6) of the parameter “IP” is identified because the condition of the design rule (6) is satisfied by the definition “UTC=true” of the previously identified design rule (4). The design rules (5) and (6) of the parameter “IP” are then added to the setting order list 22. Thus, the design-procedure generating unit 13 repeatedly performs the operation to generate the procedure in which the design rules are executed until there is no more design rules to be checked. As a result, the design-procedure generating unit 13 can add the design rules to the setting order list 22 in the following order: (1)→(2)→(3)→(4)→(5)→(6). Thus, the design-procedure generating unit 13 can generate the design procedure.
In some cases, however, it is difficult to identify a design rule whose condition is satisfied even if, for example, a parameter input is used. An explanation is given of such a case with reference to
If there are design rules whose conditions are not satisfied by the manual input, the design-procedure generating unit 13 detects two design rules between which a circular reference is formed. Here, the definition “LANG=jp” of the design rule (1) refers to the condition of the design rule (3), and the definition “UTC=false” of the design rule (3) refers to the condition of the design rule (1); therefore, the design rules (1) and (3) are detected as the design rules between which a circular reference is formed.
Next, the design-procedure generating unit 13 eliminates, from the teaching data 21, any one of the parameters that are defined by the two circular-reference design rules and then causes the clustering unit 121 to perform the clustering operation again on the other one of the parameters. Here, the design-procedure generating unit 13 eliminates the parameter “UTC” that is defined by the design rule (3) among the two circular-reference design rules (1) and (3). The design-procedure generating unit 13 then causes the clustering unit 121 to perform the clustering operation again on the other one of the parameters, i.e., the parameter “LANG”.
As a result, a new design rule is generated by the clustering unit 121 with regard to the parameter “LANG”. As illustrated in
Next, an explanation is given, with reference to
As illustrated in the upper section of
As illustrated in the middle section of
As illustrated in the lower section of
Thus, when the new data center D is added, the parameter generating unit 14 can generate the parameters in accordance with the design procedure and can set them in the target system 2.
Next, an explanation is given, with reference to
As illustrated in the upper section of
As illustrated in the middle section of
As illustrated in the lower section of
As illustrated in the upper section of
As illustrated in the lower section of
Thus, when the new server D5 is added to the data center D, the parameter generating unit 14 can generate the values of the parameters in accordance with the design procedure and can set them to the new server D5.
Next, an explanation is given, with reference to
As illustrated in
As illustrated in the upper section of
As illustrated in the lower section of
Thus, even if the design principle is changed, the parameter generating unit 14 can generate the values of the parameters in accordance with the design procedure and can set them to the target system 2 for which the design principle is changed.
Next, an explanation is given, with reference to
As illustrated in the upper section of
As illustrated in the middle section of
As illustrated in the lower section of
Thus, even when a new parameter is added, the parameter generating unit 14 can generate the values of the parameters in accordance with the design procedure and can set the parameters including the new parameter to the target system 2.
Steps of Operation by Design-Rule Generating Unit
An explanation is given, with reference to
The clustering unit 121 of the design-rule generating unit 12 performs clustering on the teaching data 21 and generates a cluster (design rule) (Step S11). Specifically, the clustering unit 121 uses the clustering technique so as to identify, from the teaching data 21, the common part on the basis of a design unit, here a data center as a unit, and then generates a design rule from the clustering result.
The parameter determining unit 122 of the design-rule generating unit 12 extracts, from all the parameters included in the teaching data 21, the parameter that has a unique value within a design unit, here within a data center as a unit, and determines that it is a manual input (Step S12). The parameter determining unit 122 extracts, from all the parameters included in the teaching data 21, the parameter that has a unique value among the design units, here among the data centers as units, and determines that it is a manual input (Step S13).
The parameter determining unit 122 of the design-rule generating unit 12 then outputs the manually input parameters and the cluster (design rule) to the design-procedure generating unit 13 (Step S14).
Steps of Operation by the Design-Procedure Generating Unit
Next, an explanation is given, with reference to
The design-procedure generating unit 13 identifies, among all the clusters received from the parameter determining unit 122, the cluster (design rule) whose condition is satisfied by only the manual input (Step S21). The design-procedure generating unit 13 then determines whether it has identified one or more clusters whose conditions are satisfied (Step S22). If it is determined that one or more clusters whose conditions are satisfied have been identified (Step S22; Yes), the design-procedure generating unit 13 registers, in the setting order list 22, the conditions and definitions of the identified clusters (Step S23). In the subsequent checking, the design-procedure generating unit 13 uses the definition of the identified cluster as already-known information.
The design-procedure generating unit 13 then eliminates the identified cluster from the targets for the subsequent checking (Step S24). This is because, as the identified cluster has been registered in the setting order list 22, it has been already added to the order. The design-procedure generating unit 13 then determines whether there is a cluster to be checked (Step S25). If it is determined that there is a cluster to be checked (Step S25; Yes), the design-procedure generating unit 13 identifies the cluster whose condition is satisfied by only the already-known definition and the manual input (Step S26) and proceeds to Step S22.
If it is determined at Step S22 that none of the clusters whose conditions are satisfied are identified (Step S22; No), the design-procedure generating unit 13 performs the recursive clustering algorithm (Step S27). In accordance with the result of the operation by the recursive clustering algorithm, the design-procedure generating unit 13 determines whether the to-be-checked cluster needs the manual input (Step S28). If it is determined that the cluster needs the manual input (Step S28; Yes), the design-procedure generating unit 13 proceeds to Step S26 so as to request the manual input for the cluster. Conversely, if it is determined that the cluster does not need the manual input (Step S28; No), the design-procedure generating unit 13 proceeds to Step S23 so as to register the cluster. The steps of the operation by the recursive clustering algorithm will be explained later with reference to
If it is determined at Step S25 that there is no cluster to be checked (Step S25; No), the design-procedure generating unit 13 arranges the conditions and definitions of the clusters in the order they are registered in the setting order list 22 and then outputs them as the design procedure (Step S29). Subsequently, the process shifts to the design-procedure generating unit 13.
Steps of Operation by Recursive Clustering Algorithm
Next, an explanation is given, with reference to
The design-procedure generating unit 13 determines whether there are circular-reference clusters among the to-be-checked clusters (design rules) (Step S31). For example, the design-procedure generating unit 13 extracts a set of clusters whose conditions are satisfied by one more. The design-procedure generating unit 13 then tries to detect, from the set of clusters, any two clusters whose definitions are included in each other's condition.
If it is determined that there are circular-reference clusters among the to-be-checked clusters (Step S31; Yes), the design-procedure generating unit 13 masks one of the circular-reference clusters and causes the clustering to be performed again on the remaining data (Step S32). For example, the design-procedure generating unit 13 eliminates, from the teaching data 21, any one of the parameters that are defined by the two circular-reference clusters. The design-procedure generating unit 13 then causes the clustering unit 121 to perform the clustering operation again on the other one of the parameters by using the parameters except for the eliminated parameter. The design-procedure generating unit 13 then proceeds to Step S31.
Conversely, if it is determined that there are no circular-reference clusters among the to-be-checked clusters (Step S31; No), the design-procedure generating unit 13 determines whether the condition of the to-be-checked cluster is satisfied by the already-known information (Step S33). Here, the already-known information means the definition of the already identified cluster, the manually input parameter, and its input value. If it is determined that the condition of the to-be-checked cluster is satisfied by the already-known information (Step S33; Yes), it is determined that the to-be-checked cluster does not need the manual input, and the process returns to the previous operation. Conversely, if it is determined that the condition of the to-be-checked cluster is not satisfied by the already-known information (Step S33; No), the design-procedure generating unit 13 determines that the parameter that is indicated by the definition of the to-be-checked cluster is a manual input (Step S34). That is, the design-procedure generating unit 13 determines that the to-be-checked cluster needs a manual input and then returns to the previous operation.
Steps of Operation by Parameter Generating Unit
Next, an explanation is given, with reference to
The parameter generating unit 14 sets, by using manually input data, the value of the parameter that is stored as the manually input parameter 23 (Step S41). The parameter generating unit 14 then sequentially performs the design procedure stored in the setting order list 22 and identifies the setting area that meets the condition (Step S42).
The parameter generating unit 14 then determines whether the value has been already input to the identified setting area (Step S43). If it is determined that the value has been already input to the identified setting area (Step S43; Yes), the parameter generating unit 14 skips the identified setting area and proceeds to the next step (Step S44). The parameter generating unit 14 proceeds to Step S46.
Conversely, if it is determined that the value has not been input to the identified setting area yet (Step S43; No), the parameter generating unit 14 sets the definition of the cluster to the setting area and then proceeds to the next step (Step S45). The parameter generating unit 14 proceeds to Step S46.
At Step S46, the parameter generating unit 14 determines whether there is the next step (Step S46). If it is determined that there is the next step (Step S46; Yes), the parameter generating unit 14 proceeds to Step S42 so as to perform the operation at the next step. Conversely, if it is determined that there is not the next step (Step S46; No), the parameter generating unit 14 proceeds to a termination check.
Steps of Operation for Termination Check
Next, an explanation is given, with reference to
The parameter generating unit 14 determines whether there is an area that has not been set yet (Step S51). If it is determined that there is an area that has not been set yet (Step S51; Yes), the parameter generating unit 14 requests the administrator to make a manual input for the area corresponding to the parameter that comes first in the order among the areas that have not been set (Step S52). The parameter generating unit 14 then proceeds to Step S41.
Conversely, if it is determined that there is no area that has not been set yet (Step S51; No), the parameter generating unit 14 terminates the process.
According to the above-described embodiment, the parameter setting support device 1 stores, in the storage unit 11 and for each target system 2 that is the design target that has been previously designed, related information on multiple devices included in the target system 2 and information on the setting of the parameter used for designing. The parameter setting support device 1 then uses the related information stored in the storage unit 11 so as to generate, with respect to the parameter that is common to the target systems 2, multiple design rules that indicate the condition and definition used for the setting of the parameter. The parameter setting support device 1 then generates a design procedure to execute the generated design rules in accordance with the value of the manually input parameter and the design rules. With this configuration, the parameter setting support device 1 automatically generates the design rules and the design procedure; therefore, the appropriate value can be set to the parameter in the new target system 2 by using the generated design procedure. That is, the parameter setting support device 1 can automatically design the new target system 2.
Furthermore, according to the above-described embodiment, the parameter setting support device 1 identifies the design rule whose condition is satisfied by the manually input parameter and the value input to the parameter. The parameter setting support device 1 then generates a design procedure by using the identified design rule. The parameter setting support device 1 repeatedly identifies the design rule whose condition is satisfied by the definition of the identified design rule and then generates the design procedure by using the identified design rule. With this configuration, the parameter setting support device 1 repeatedly identifies the design rule whose condition is satisfied by the definition of the design rule, thereby easily generating the design procedure in which the design rules are executed.
Furthermore, according to the above-described embodiment, the parameter setting support device 1 extracts multiple design rules whose conditions are not satisfied by the manually input parameter, the value input to the parameter, and/or the definition of the identified design rule. The parameter setting support device 1 then detects any two design rules from the extracted design rules, the definitions of the design rules being included in each other's condition. The parameter setting support device 1 eliminates the parameter that is included in the definition of any one of the two detected design rules and then performs the operation to generate a design rule again on the parameter included in the definition of the other one of them. The parameter setting support device 1 then generates a design procedure by using the design rule that is obtained at the performing. With this configuration, even if there is a design rule whose condition is not satisfied, the parameter setting support device 1 eliminates the parameter that is included in the definition of any one of the design rules, the definitions of the design rules being included in each other's condition, and then re-generates a design rule with respect to the parameter that is included in the definition of the other one of them. As a result, the parameter setting support device 1 can generate a design procedure from the re-generated design rules.
Moreover, according to the above-described embodiment, the parameter setting support device 1 sets, by using the generated design procedure, the parameters used for designing the target system 2 that is a new design target. With this configuration, the parameter setting support device 1 can automatically set the parameters used for designing the target system 2 that is a new design target. As a result, the parameter setting support device 1 can reduce the workload of the system builder for designing the target system 2.
Others
The parameter setting support device 1 can be implemented by installing the functions of the above-described design-rule generating unit 12, the above-described design-procedure generating unit 13, and the like, in a known information processing apparatus, such as a personal computer or workstation.
Each component of the device illustrated does not necessarily need to be physically configured as illustrated in the drawings. Specifically, specific forms of separation and combination of the device are not limited to those depicted in the drawings. A configuration may be such that all or part of the device is functionally or physically separated or combined in an arbitrary unit depending on various types of loads or usage. For example, the clustering unit 121 and the parameter determining unit 122 may be combined as a single unit. Furthermore, the design-procedure generating unit 13 may be separated into a processing unit for a case where the condition is satisfied by the definition of the design rule and a processing unit for a case where the condition is not satisfied by the definition of the design rule. Moreover, the storage unit 11 may be stored in an external device of the parameter setting support device 1. The external device in which the storage unit 11 is stored may be connected to the parameter setting support device 1 via a network.
The various processes that have been described in the embodiment may be performed if prepared programs are performed by a computer, such as a personal computer or workstation. In the following, an explanation is given of an example of a computer that performs a parameter setting support program that performs the same functionality as that of the parameter setting support device 1 illustrated in
As illustrated in
The drive device 213 is, for example, a device for a removable disk 211. The HDD 205 stores therein a parameter setting support program 205a and parameter setting support related information 205b.
The CPU 203 reads the parameter setting support program 205a, loads it to the memory 201, and performs it as a process. This process corresponds to each functional unit of the parameter setting support device 1. The parameter setting support related information 205b corresponds to the teaching data 21, the setting order list 22, and the manually input parameters 23. For example, the removable disk 211 stores therein various types of information, such as the teaching data 21.
The parameter setting support program 205a does not always need to be initially stored in the HDD 205. For example, the parameter setting support program 205a is stored in a “portable physical medium”, such as a flexible disk (FD), CD-ROM, DVD disk, magnet-optical disk, or IC card, which is inserted into the computer 200. The computer 200 reads the parameter setting support program 205a from the above and executes it.
According to an aspect of the parameter setting support program disclosed in the present application, it is possible to automatically design the system.
All examples and conditional language recited herein are intended for pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations 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 embodiment of the present invention has 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.
Number | Date | Country | Kind |
---|---|---|---|
2012-250622 | Nov 2012 | JP | national |