This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2015-002145, filed on Jan. 8, 2015, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to a method for control procedure, a recording medium, and an apparatus for control procedure.
There is an information processing system formed by multiple tiers in accordance with the service requirements of a client, for example, three tiers such as a web server tier, an application (APP) server tier, and a database (DB) server tier. The web server tier and the APP server tier are each formed by a plurality of devices. In such an information system, at the time of maintenance of a device or when a failure occurs in the device, the state of the device is switched between a standby state and an active state so that the system as a whole does not stop.
As an example of such a system, there is a system that automatically updates an active module and a standby module without stopping normal operations in a duplexer (for example, Patent Document 1).
In a control procedure creation method according to an aspect of the present invention, a computer performs the following process. The computer acquires changed contents of a state of an information processing system including a plurality of devices. By use of state information on the plurality of devices that is stored in a storage and the received changed contents, the computer creates state information on the information processing system for each state transition on the basis of possible states of each of the plurality of devices during a transition, in accordance with the changed contents, until the information processing system reaches a changed state. The computer extracts, from the created state information on the information processing system for each state transition, a candidate procedure for controlling the plurality of devices until the information processing system reaches the changed state, on the basis of a set of state transition rules stored in the storage. The computer identifies, from among the candidate control procedures, a control procedure that includes the fewest steps.
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. The computer extracts
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.
When performing a process of updating a function (an application program) of a certain tier in such a multi-tier information processing system, it is possible to update the function while considering non-disruptive operations of the system.
An update of a function may affect a function of another tier, so the order of updating the functions that may be affected also has to be considered. For example, if an information processing system has a fixed configuration, it is possible to create an update procedure in advance.
However, a fixed update procedure is useless because a system configuration changes depending on the usage, and when performing a process of updating a certain function, various current conditions need to be considered in order to create a procedure for updating a function. But it is not possible to dynamically create an update procedure because it is difficult to know characteristics of a function or a relationship for each function.
In one aspect, an object of the present invention is to provide an optimal procedure for controlling an information processing system until the information processing system reaches a changed state when there is a change in the state of the information processing system.
For an information processing system, a standby system and an active system are often used in combination by use of a switching device such as a load balancer (LB). As an example of switching between a standby system and an active system, the following case is assumed.
For example, it is assumed that there is an information processing system that includes one load balancer, two APP servers, and one DB server. Here, one of the two APP servers is used as a standby system and another is used as an active system. When installing a new version of a program in the information processing system, first, an application program (hereinafter referred to as “application”) that runs on the standby APP server is updated to version 2. Next, the setting of the load balancer is changed, and switching is performed between the standby system and the active system. Then, a DB schema is updated to version 2.
In this way, a non-disruptive system in which the system as a whole does not stop is realized.
Regarding such an information processing system, a change in system configuration according to the service requirement of a client has been often made in recent years.
However, it is difficult to determine an update procedure (a command sequence or a sequence of tasks described in natural language) because an update of part of a system affects the operations of the other parts. For example, in a system in which there are a plurality of components of the system such as an APP server, an order of updating servers affects whether the service stops or does not stop when updating these components.
For example, when updating an active application, the time period during which it is not possible to respond to a user occurs. Further, there is a loss of data that is being calculated by the application. In order to avoid such a situation, the setting of a load balancer is changed first, so as to perform switching between a standby system and an active system.
Further, for example, when updating a DB schema without updating an application, there is a possibility that an information processing system does not operate normally because an inconsistency in data format occurs when data is accessed.
Furthermore, an update procedure is different for each system configuration, so an update procedure needs to be determined (and verified) according to the change in system configuration. The reasons for this are that there is a relationship of an order to be satisfied in the update procedure, and also that the way of confirming a current state or the way of updating a server differs according to the type of server (a load balancer, a web server, an APP server, or a DB server).
Therefore, in embodiments of the present invention, a procedure creation technology that determines an operation procedure to be performed at the time of migration of the information processing system having a system configuration that is dynamically changed will be described.
The acquisition unit 2 acquires changed contents of a state of an information processing system that includes a plurality of devices. A CPU 42 (S14 of
The storage unit 3 stores therein state information on the plurality of devices and a set of state transition rules. A storage 47 described below is an example of the storage unit 3. Initial state information 33 described below is an example of the state information on the plurality of devices. A set of transition rules 14 described below is an example of the set of state transition rules.
By use of the state information on the plurality of devices and the received changed contents, the creation unit 4 creates state information on the information processing system for each state transition on the basis of possible states of each of the plurality of devices during a transition, in accordance with the changed contents, until the information processing system reaches a changed state. The CPU 42 that performs the process of S14-4 (
The extraction unit 5 extracts, from the created state information on the information processing system for each state transition, a candidate procedure for controlling the plurality of devices until the information processing system reaches the changed state, on the basis of the set of state transition rules. The CPU 42 that performs the process of S14-6 (
The identification unit 6 identifies, from among the candidate control procedures, a control procedure that includes the fewest steps. The CPU 42 that performs the process of S15 (
Such a configuration permits providing of an optimal procedure for controlling an information processing system until the information processing system reaches a changed state when there is a change in the state of the information processing system.
The creation unit 4 acquires two pieces of state information from the state information on the information processing system and compares attribute values that are included in the pieces of state information and whose attributes correspond to each other. As a result of the comparison, the creation unit 4 associates, as state information before and after transition, pieces of state information in pairs that have one different attribute value.
Such a configuration permits a mutual association of pieces of state information in pairs that have an adjacent relationship from among all the possible pieces of state information of the information processing system.
A set of transition rules includes the following three rules. A first transition rule prohibits, from among transitions between associated two pieces of state information, a transition in which a program is downgraded. A second transition rule prohibits, from among the transitions between associated two pieces of state information, a transition when a device whose state has been changed is operating. A third transition rule prohibits, from among the transitions between associated two pieces of state information, a transition when the change in state occurs in a combination of certain versions of programs for which an operation has not been verified between a plurality of devices.
Such a configuration permits selecting of a candidate control procedure by use of a set of transition rules in which the conditions for non-disruptively performing a system migration are formalized for a state transition between two states.
The control procedure creation apparatus 1 further includes an output unit 7. By use of control contents of each of the plurality of devices when a state has been changed, the control contents being stored in a storage, the output unit 7 outputs control procedure information in which each step included in the identified control procedure is associated with control contents of a device corresponding to each of the steps. The CPU 42 that performs the process of S16 (
Such a configuration permits providing of a specific control procedure to a user according to the change in the state of an information processing system.
For example, in the system configuration A, one LB is connected to two APP servers (APP01 and APP02). Further, switching is performed in the LB so that APP01 is enable as an active system. On the other hand, APP02 is enable as a standby system.
For example, in the system configuration B, one load balancer LB is connected to two APP servers (APP01 and APP02). The two APP servers (APP01 and APP02) are connected to a DB server. Further, switching is performed in the LB so that APP01 and the DB server are enable as an active system. On the other hand, APP02 is enable as a standby system.
Further, for example, in a multi-tier system partitioned by use of an LB (for example, a three tier of web-APP-DB), the number of web servers and the number of APP servers may be two or more each. In this case, the number of web servers and the number of APP servers in the respective tiers may increase to three or more each for load sharing. For example, in the system configuration C, one load balancer LB is connected to two web servers (WEB01 and WEB02). The two web servers are connected to the respective APP servers (APP01 and APP02). The two APP servers (APP01 and APP02) are connected to a DB server. Further, switching is performed in the LB so that WEB01, APP01, and the DB server are enable as an active system. On the other hand, WEB02 and APP02 are enable as a standby system.
In the embodiments, an item that is set to each device, such as a version of a program or DB schema in each server that configures a target system, and a device that is switched to by an LB, is referred to as “attribute”. Further, regarding the item set to each device, a set value or a possible value is referred to as “attribute value”.
A procedure creation apparatus 12 creates a task for a device when performing a non-disruptive system migration. The procedure creation apparatus 12 treats sets of attribute values of all the devices that configure a target system 11 as a state of the system. Further, it is assumed that the task for a device changes (transitions) the target system from a certain state to another state. In this case, an initial state that is a state before migration and a terminated state that is a state after migration are provided. Specifically, the procedure creation apparatus 12 acquires, from the target system 11, an attribute value before migration of each device that is set at present, as initial state information 15. Further, the procedure creation apparatus 12 acquires an attribute value after migration of each device that is input by a user, as terminated state information 16.
In this case, migration refers to a replacement of an old version of a program such as an operating system (OS) or an application that has been installed in a computer with a new version.
Using the initial state information 15 and the terminated state information 16, the procedure creation apparatus 12 creates all the possible states of the target system from the initial state to the terminated state as a system state table 13. Using the set of transition rules 14, the procedure creation apparatus 12 determines, from the system state table 13, an optimal state transition that connects between the initial state and the terminated state, and sequentially outputs the tasks for the devices in the system that are needed for the state transition. This permits determining of a procedure to be performed during migration.
In this case, a task for a server refers to, for example, each operation such as downloading an application, arranging and installing it in a designated location, starting it, and verifying its operation. Further, a procedure refers to a procedure in which the tasks described above are put in a specified order.
A set of transition rules will be described. In order for a system to remain non-disruptive when migration is performed, a checking mechanism to ensure non-disruption is needed in addition to putting tasks for a server in order. For this purpose, the set of transition rules (described below) 14 in which the conditions for a non-disruptive system migration are formalized for a state transition between two states is defined in the embodiments.
Using the set of transition rules 14, the procedure creation apparatus 12 compares specific attribute values before and after transitions from among the states before and after transitions, and determines, to be a prohibited transition, a combination of set values (attribute values) that does not satisfy the set of transition rules 14.
In the embodiments, the procedure creation apparatus 12 manages, for example, a combination of the following set values (i) to (iii) in each device as system state information.
(i) LD: a transfer destination server
(ii) Web server, APP server: a version of an application in a server
(iii) DB server: a version of a DB schema
Further, the following three restrictions to be satisfied in which the conditions for a non-disruptive system migration are formalized are set as the set of transition rules 14.
<Restriction 1> Downgrades of an application and a DB schema are prohibited (if migration is performed, a value indicating a version is larger.). For example, the procedure creation apparatus 12 respectively compares set values (ii) before and after a state transition and set values (iii) before and after the state transition, and determines it to be a prohibited transition when the set value after the transition is smaller.
<Restriction 2> An active server is not updated. In other words, when a version of an application (ii) has been changed before and after a state transition, the transition is prohibited if the server in which the application has been installed is operating. Here, confirming the set value of an LB before the server permits determining whether the server is operating. For example, a cloud management mechanism holds connection relationships between all servers, so an LB before a certain server can be identified by inquiring for that information.
<Restriction 3> In a state after transition, aversion of an APP program of an APP server ((ii)) and a version of a schema of a DB server ((iii)) correspond to each other.
For example, for a combination of an old version of an APP program and a new version of a DB schema, the APP program accesses the DB in a wrong data format, which is an abnormal operation. Thus, when a version of an application in an active APP server ((ii)) and a version of a DB schema ((iii)) do not correspond to each other, the transition is prohibited. This will be described with reference to
On the other hand, there is a possibility that an application does not operate normally when the combination is “an old version of an application and a new version of a DB schema”. For example, when a change is made to the column name of a table as a change in DB schema, the application v1 does not operate normally because it makes a DB access using the column name before the change.
Thus, restriction 3 described above prohibits a transition when a version of an application of an active APP server ((ii)) and a version of a DB schema ((iii)) do not correspond to each other.
In
The procedure creation apparatus 12 calculates all the possible states of a target system from the beginning to the termination of a migration (combinations of (i), (ii), and (iii)) on the basis of the initial state information 15 and the terminated state information 16, so as to create a system state table 13 (S1). This will be described by use of
The item “STATE NO.” is information that is provided to uniquely distinguish each state of the target system 11. “ATTRIBUTE VALUE” represents the possible item states of each device in the process of migration. In
There are two attribute values “APP 01” and “APP 02” as an attribute value of an LB. There are two attribute values “v1” and “v2” as an attribute value of APP 01. There are two attribute values “v1” and “v2” as an attribute value of APP 02. Thus, there are 2×2×2=8 combinations of attribute values of the LB, APP 01, and APP 02. In
Next, the procedure creation apparatus 12 sequentially picks up two states from among the states registered in the system state table 13 and compares the two states. On the basis of a result of the comparison, the procedure creation apparatus 12 extracts an adjacent relationship in which there is one different attribute value from among the attribute values configuring the system state, so as to create a state transition graph (before a set of transition rules is applied) (S2). This will be described by use of
The procedure creation apparatus 12 acquires state 0 and state 2 from the system state table 13, and compares the attribute values of state 0 and the attribute values of state 2. The only difference between the attribute values of state 0 and the attribute values of state 2 is in the attribute value of an APP server 01 (“VERSION OF APP SERVER 01”), which corresponds to an adjacent relationship in which there is one different attribute value. Then, as illustrated in
The procedure creation apparatus 12 acquires state 0 and state 3 from the system state table 13, and compares the attribute values of state 0 and the attribute values of state 3. The differences between the attribute values of state 0 and the attribute values of state 3 are in the attribute value of an APP server 01 (“VERSION OF APP SERVER 01”) and the attribute value of an APP server 02 (“VERSION OF APP SERVER 02”), which does not correspond to an adjacent relationship in which there is one different attribute value. In this case, as illustrated in
This process of determining an adjacent relationship is performed on all the combinations of two states from among the states registered in the system state table 13. This permits obtaining of the state transition graph of
Next, the procedure creation apparatus creates a state transition graph (after the set of transition rules is applied) of
Transition rule 2 specifies that, when the attribute value of a server of an APP tier has been changed before and after transition and when the server after the transition is operating, the transition is prohibited.
Transition rule 3 specifies that, when the attribute value of an active APP server and the attribute value of a DB server do not correspond to each other, the transition is prohibited.
For example, when the transition from state 1 to state 0 is performed, the version of an APP server 02 is downgraded. In this case, the procedure creation apparatus 12 deletes the transition from the state transition graph of
Further, for example, when the transition from state 4 to state 5 is performed, the attribute value of an APP server 02 has been changed before and after the transition, and the APP server 02 after the transition is operating. In this case, the procedure creation apparatus 12 deletes the transition from the state transition graph of
In this way, the state transition graph of
Next, as illustrated in
The procedure creation apparatus 12 associates a transition “state 0→state 1” with procedure 1, a transition “state 1→state 5” with procedure 2, and a transition “state 5→state 7” with procedure 3.
According to the embodiments, a non-disruptive migration procedure can be automatically created in a multiplex system of a combination of an LB, a web server, an APP server, and a DB server, using transition rules in which the conditions for non-disruption are formalized.
Further, when there are a plurality of procedures for non-disruption, a shortest procedure can be output. For example, when the initial state=0 and the terminated state=7 are provided, as illustrated in
When transition rule 1 “downgrading is prohibited” is replaced with “upgrading is prohibited”, a procedure for non-disruptive downgrade can be created, as illustrated in
Next, examples of the embodiments of the present invention will be described in detail.
The target system 25 includes, for example, an LB, a web server, an APP server, and a DB server, and performs a system migration non-disruptively. In the first embodiment, the system configuration A described in
The cloud management mechanism 23 includes, for example, a management server that manages the target system 25. A storage 24 in the cloud management mechanism 23 stores therein device connection information 31, device list information 32, and initial state information 33.
The device connection information 31 is information that represents a connection relationship between devices included in the target system 25. The device list information 32 is list information on devices that are included in the target system 25. The initial state information 33 is information on a set value (attribute value) presently set to a device (an LB, a web server, an APP server, or a DB server) included in the target system 25, that is, an initial state.
When performing a migration on the target system 25, the procedure creation apparatus 22 is an information processing apparatus that creates a migration procedure. The procedure creation apparatus 22 may be placed outside the cloud system 21.
The user terminal 26 is an information processing terminal that is operated by a user when migration is performed on the target system 25.
The cloud management mechanism 23 acquires, from the target system 25, a set value presently set to a device included in the target system 25 and stores it in the storage 24 as initial state information 33 (S11).
When creating an operational procedure for performing migration on the target system 25, a user refers to the device connection information 31, the device list information 32, and the initial state information 33 stored in the storage 24 in the cloud management mechanism 23 as needed, using the user terminal 26 (S12). The user creates terminated state information 34 using the device connection information 31, the device list information 32, and the initial state information 33 that were referred to as needed when creating the operational procedure. The terminated state information 34 is information on a set value of each device included in the target system 25 after migration. Using the user terminal 26, the user transmits, to the procedure creation apparatus 22, an operational procedure creation request that includes the terminated state information 34 (S13).
When receiving the operational procedure creation request, the procedure creation apparatus 22 creates a state transition graph 37 using the device connection information 31, the device list information 32, the initial state information 33, and the terminated state information 34 (S14).
The procedure creation apparatus 22 searches in the state transition graph 37 for the shortest route for the transition from an initial state to a terminated state, and creates a transition list 38 (S15).
The procedure creation apparatus 22 creates a procedure list 39 in which each transition is associated with an operational procedure, using the transition list 38 (S16). The procedure creation apparatus 22 responds to the user terminal 26 with the created procedure list 39 (S17).
The attribute of an LB is represented by the name of a subsequent server that is its transfer destination, and may be omitted when there is no change in the attribute of the LB.
The state transition graph 37 is transition information obtained by excluding a transition prohibited by the set of rules from the state transition graph 36 before a set of transition rules is applied. The state transition graph 37 corresponds to the state transition graph of
Both state transition graphs 36 and 37 hold a state No. before transition and a state No. after transition in pairs.
Next, the processes of S14 to S17 performed by the procedure creation apparatus 22 will be described in detail with reference to
When creating the system state table 35 using the device connection information 31, the device list information 32, the initial state information 33, and the terminated state information 34, first, the procedure creation apparatus 22 performs the following process. The procedure creation apparatus 22 determines whether the attribute value of an LB is included in the terminated state information 34, that is, whether the number of devices in the terminated state information 34 is smaller than that in the initial state information 33 (S14-1). When the attribute value of an LB is included in the terminated state information 34 (“NO” in S14-1), the process moves on to S14-4.
When the attribute value of an LB is not included in the terminated state information 34, that is, when the number of devices in the terminated state information 34 is smaller than that in the initial state information 33 (“YES” in S14-1), the procedure creation apparatus 22 performs the following process. The procedure creation apparatus 22 determines, on the basis of the device list information 32, whether the role of an omitted device is an LB (S14-2). When the role of the omitted device is not an LB (“NO” in S14-2), this flow ends.
When the role of the omitted device is an LB (“YES” in S14-2), the procedure creation apparatus 22 identifies all the servers that are connected to the LB using the device connection information 31. The procedure creation apparatus 22 acquires the names of the identified servers as possible values of the device that serves as an LB (S14-3).
The procedure creation apparatus 22 outputs, to the system state table 35, all the combinations of possible attribute values (system state information) for each device included in the initial state information 33 and the terminated state information 34 (S14-4).
The procedure creation apparatus 22 selects two states from the system state table 35 and compares corresponding attributes. When there is one different attribute value, the procedure creation apparatus 22 determines that the states have an adjacent relationship and registers in the state transition graph 36 before a set of transition rules is applied (S14-5). The process of S14-5 is performed on all the combinations.
Next, the procedure creation apparatus 22 performs a non-disruption-procedure determination process (s14-6). The procedure creation apparatus 22 determines whether each state transition included in the state transition graph 36 before a set of transition rules is applied satisfies transition rules 1 to 3. In this case, transition rules 1 to 3 are similar to the rules described in
First, the procedure creation apparatus 22 reads one entry (state transition) from the state transition graph 36 before a set of transition rules is applied. Here, the state before transition is defined as “state A” and the state after transition is defined as “state B” from among the read state transitions (S14-6-11).
By use of the device list information 32 and the system state table 35, the procedure creation apparatus 22 determines which device the read state transition corresponds to (S14-6-12). When the read state transition is a state transition of an LB, the procedure creation apparatus 22 returns “true” (S14-6-14).
When the read state transition is a state transition of a web server, an APP server, or a DB server, the procedure creation apparatus 22 compares the versions of the web server, the APP server, or the DB server whose state has been changed. As a result of the comparison, the procedure creation apparatus 22 determines whether the attribute value of state A is greater than the attribute value of state B (S14-6-13).
When the attribute value of state A is greater than the attribute value of state B (“YES” in S14-6-13), the procedure creation apparatus 22 returns “false” (S14-6-15). On the other hand, when the attribute value of state A is not greater than the attribute value of state B (“NO” in S14-6-13), the procedure creation apparatus 22 returns “true” (S14-6-14).
The process of this flowchart is repeated for all the entries in the state transition graph 36 before a set of transition rules is applied.
First, the procedure creation apparatus 22 reads one entry (state transition (the state before transition: state A, and the state after transition: state B)) from the state transition graph 36 before a set of transition rules is applied (S14-6-21).
By use of the device connection information 31, the device list information 32, and the system state table 35, the procedure creation apparatus 22 determines which device the read state transition corresponds to (S14-6-22). When the read state transition is a state transition of an LB, the procedure creation apparatus 22 returns “true” (S14-6-24).
When the read state transition is a state transition of a web server or an APP server, the procedure creation apparatus 22 determines whether the transfer destination device of an LB is a device whose state has been changed before and after the transition (S14-6-23).
When the transfer destination device of an LB is a device whose state has been changed before and after the transition (“YES” in S14-6-23), the procedure creation apparatus 22 returns “false” (S14-6-25). On the other hand, when the transfer destination device of an LB is not a device whose state has been changed before and after the transition (“NO” in S14-6-23), the procedure creation apparatus 22 returns “true” (S14-6-24).
The process of this flowchart is repeated for all the entries in the state transition graph 36 before a set of transition rules is applied.
First, the procedure creation apparatus 22 reads one entry (state transition (the state before transition: state A, and the state after transition: state B)) from the state transition graph 36 before a set of transition rules is applied (S14-6-31).
By use of the device connection information 31, the device list information 32, and the system state table 35, the procedure creation apparatus 22 determines which device the read state transition corresponds to (S14-6-32). When the read state transition is a state transition of a device other than an LB and a DB server, the procedure creation apparatus 22 returns “true” (S14-6-34).
When the read state transition is a state transition of an LB or a DB server, the procedure creation apparatus 22 performs the following process. The procedure creation apparatus 22 determines whether the version of an application of the transfer destination device of an LB is a version in an initial state and the version of a DB schema is a version in a terminated state after the transition, on the basis of the initial state information 33 and terminated state information 34 (S14-6-33).
When the version of an application of the transfer destination device of an LB is a version in an initial state and the version of a DB schema is a version in a terminated state after the transition (“YES” in S14-6-33), the procedure creation apparatus 22 returns “false” (S14-6-35). On the other hand, when the version of an application of the transfer destination device of an LB is not a version in an initial state after the transition, or the version of a DB schema is not a version in a terminated state after the transition (“NO” in S14-6-33), the procedure creation apparatus 22 returns “true” (S14-6-34).
The process of this flowchart is repeated for all the entries in the state transition graph 36 before a set of transition rules is applied.
When the shortest route has been found (“YES” in S15-2), the procedure creation apparatus 22 outputs the found route as a transition list 38 (S15-3). When the shortest route has not been found (“NO” in S15-2), an exceptional process occurs (S15-4).
First, the procedure creation apparatus 22 initializes the procedure list 39 (S16-1). The procedure creation apparatus 22 reads the transition list 38 (S16-2).
The procedure creation apparatus 22 reads two states before and after a transition with one step from the transition list 38. The procedure creation apparatus 22 acquires, from the system state table 35, a device name, an attribute name, and an attribute value of a changed portion of the read two states (S16-3).
The procedure creation apparatus 22 determines a role of a device acquired in S16-3, on the basis of the device list information 32 (S16-4).
When the role of the device is an “LB”, the procedure creation apparatus 22 adds, to the procedure list 39, a procedure “switch the transfer destination of an LB to the LB value in the state of a transition destination” (S16-5).
When the role of the device is a “web server” or a “APP server”, the procedure creation apparatus 22 adds, to the procedure list 39, a procedure “arrange, to the changed server, the version in the state of a transition destination” (S16-6).
When the role of the device is a “DB server”, the procedure creation apparatus 22 adds, to the procedure list 39, a procedure “arrange, to the changed DB server, the version of a schema in the state of a transition destination” (S16-7).
When the role of the device is not an “LB”, a “web server”, an “APP server”, or a “DB server”, an exceptional process occurs (S16-8).
The procedure creation apparatus 22 repeats the processes of S16-3 to S16-8 for all the steps of the state transitions in the transition list 38, and outputs the procedure list 39.
A second embodiment of the present invention uses the system configuration B of
In the terminated state, an active system is an APP02 server (the version of an application: v2) and a DB server (the version of a schema: v2). A standby system is an APP01 server (the version of an application: v1).
When the system configuration is as described in
A third embodiment of the present invention uses the system configuration C of
In the terminated state, an active system is a web02 server (the version of an application: v2), an APP02 server (the version of an application: v2), and a DB server (the version of a schema: v2). A standby system is a web01 server (the version of an application: v1) and an APP01 server (the version of an application: v1).
When the system configuration is as described in
Here, CPU indicates a central processing unit. ROM indicates a read only memory. RAM indicates a random access memory. I/F indicates an interface. The CPU 42, the ROM 43, the RAM 46, the communication I/F 44, the storage 47, the output I/F 41, the input I/F 45, and the reader 48 are connected to the bus 49. The reader 48 reads a portable recording medium. The output device 51 is connected to the output I/F 41. The input device 52 is connected with to the input I/F 45.
As the storage 47, storages in various forms such as a hard disk, a flash memory, and a magnetic disk can be used. The storage 47 or the ROM 43 stores thereon a program according to the embodiments of the present invention that allows the CPU 42 to function as the acquisition unit 2, the storage unit 3, the creation unit 4, the extraction unit 5, the identification unit 6, and the output unit 7. Further, the storage 47 stores therein, for example, device connection information 31, device list information 32, initial state information 33, terminated state information 34, a system state table 35, state transition graphs 36 and 37, a transition list 38, a procedure list 39, and transition rules 1 to 3 (14). The RAM 46 temporarily stores therein information.
As the procedure creation apparatus 22, the CPU 42 reads the program according to the embodiments of the present invention from the storage 47 or the ROM 43, so as to execute the program.
The program that realizes the processes described in the above embodiments may be stored on, for example, the storage 47 by a provider of the program through a communication network 50 and the communication I/F 44. Further, the program that realizes the processes described in the above embodiments may be stored in a portable recording medium that is commercially available and distributed. In this case, the portable recording medium may be set to the reader 48 so that the program is read and executed by the CPU 42. As a portable recording medium, recording media in various forms such as a CD-ROM, a flexible disk, an optical disk, a magneto-optical disk, an IC card, and a USB memory can be used. The program stored on such a recording medium is read by the reader 48.
Further, for example, a keyboard, a mouse, an electronic camera, a web camera, a microphone, a scanner, a sensor, and a tablet can be used as the input device 52. Furthermore, for example, a display, a printer, and a speaker can be used as the output device 51. Moreover, the network 50 may be communication networks such as the Internet, a LAN, a WAN, an exclusive line, a fixed line, and a wireless.
An aspect of the present invention permits providing of an optimal procedure for controlling an information processing system until the information processing system reaches a changed state when there is a change in the state of the information processing system.
Embodiments of the present invention are not limited to the above mentioned embodiments but are amenable to various configurations or embodiments without departing from the scope of the invention.
All examples and conditional language provided herein are intended for the 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 one or more 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.
Number | Date | Country | Kind |
---|---|---|---|
2015-002145 | Jan 2015 | JP | national |