WO2012169021A1 - 制御方法、及び制御システム、並びにプログラム - Google Patents
制御方法、及び制御システム、並びにプログラム Download PDFInfo
- Publication number
- WO2012169021A1 WO2012169021A1 PCT/JP2011/063118 JP2011063118W WO2012169021A1 WO 2012169021 A1 WO2012169021 A1 WO 2012169021A1 JP 2011063118 W JP2011063118 W JP 2011063118W WO 2012169021 A1 WO2012169021 A1 WO 2012169021A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- response
- processing result
- request
- host computer
- processor
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2025—Failover techniques using centralised failover control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
Definitions
- the present invention relates to a control method, a control system, and a program, for example, a technique for controlling input / output of a request from a client computer and a response from a host computer.
- Patent Document 1 discloses a technique for performing system switching in different environments, ie, a production environment and a test environment. More specifically, the systems in both environments share a physical resource, and when accessing the physical resource, the system is accessed by using the logical resource name and managed by associating the logical resource name with each other. The system is switched between the environment and the test environment.
- Patent Document 2 discloses a technique for shifting from a current system to a new system. More specifically, the current system and the new system are operated simultaneously, and a request having the same contents as the current system is input to the new system. The operational status of the new system is verified by comparing the database reflecting the processing content (update) in the new system with the database reflecting the processing result in the current system.
- Patent Document 3 discloses a migration test support means for performing a test at the time of migration of hardware and software in an online system operated for 24 hours. Specifically, by distributing the data from the terminal to the system that has the current host and current file and the system that has the migration host test file, the test is performed on the migration host while the current host system is running. To do.
- Patent Document 4 discloses a technique for automatically executing and verifying various cases such as processing timing conflicts that may occur at the time of system transition (switching). Specifically, the input message is input to the current system and the new system, and the updated part of the database is compared and verified.
- Patent Document 1 does not consider a method that does not interrupt processing in progress. For this reason, if a switch is made while processing is in progress, an error will occur at the client, and the request must be re-injected.
- Patent Documents 2 to 4 only report the results of comparing system responses, and do not disclose a technique for switching between systems during operation of the production system.
- the present invention has been made in view of such a situation, and is intended to switch to a modified system without interrupting a process in progress and causing a problem while ensuring the availability of the system. Provide technology.
- a control system that performs input / output management of a request and a response transmits the request having the same contents to the first and second host computers, and The first processing result that is a response from the first host computer to the request is transmitted to the client computer that is the request dropping source. Further, the control system determines whether the second processing result that is a response from the second host computer to the request includes all of the first processing results. When the second processing result includes all the first processing results, the control system transmits only the processing result from the second host computer to the client computer in response to the subsequent request.
- FIG. 1 is a diagram illustrating a schematic configuration example of an online system 100 according to an embodiment of the present invention.
- 5 is a diagram illustrating a configuration example of configuration management information 1336.
- FIG. 6 is a diagram illustrating a configuration example of session management information 1337.
- FIG. It is a figure which shows the structural example of the response management information 1338. It is a figure which shows the pattern (example) of the response which does not correspond completely at the time of a switching request
- FIG. 6A and B It is a figure which shows the specific example in case the state of FIG. 6A and B coexists. It is a figure which shows the example of the state in which the response from the migration source system 140 ahead of the response from the migration destination system 150 and the response of the migration destination system 150 which is behind are mixed.
- 5 is a flowchart for explaining details of processing executed when a request is received in the input / output management system 130; 10 is a flowchart for explaining details of processing executed when receiving a response from the migration source system 140 and the migration destination system 150 in the input / output management system 130.
- 10 is a flowchart for explaining processing for receiving a system switching request, comparing responses from a migration source system 140 and a migration destination system 150 according to response comparison method 1, and switching the system after matching.
- FIG. 10 is a flowchart for explaining processing for switching a system at an arbitrary timing after responses from a migration source system 140 and a migration destination system 150 match.
- the embodiment of the present invention may be implemented by software running on a general-purpose computer, or may be implemented by dedicated hardware or a combination of software and hardware.
- each information of the present invention will be described in a “table” format.
- the information does not necessarily have to be expressed in a data structure by a table, such as a data structure such as a list, a DB, a queue, or the like. It may be expressed as Therefore, “table”, “list”, “DB”, “queue”, etc. may be simply referred to as “information” to indicate that they do not depend on the data structure.
- program as a subject (operation subject).
- a program is executed by a processor and a process determined by a memory and a communication port (communication control device). Since it is performed while being used, the description may be made with the processor as the subject.
- the processing disclosed with the program as the subject may be processing performed by a computer or an information processing apparatus. Part or all of the program may be realized by dedicated hardware, or may be modularized.
- Various programs may be installed in each computer by a program distribution server or a storage medium.
- FIG. 1 is a diagram showing an outline of a procedure for system migration (switching from a current system to a new system (modified system)) according to an embodiment of the present invention. In FIG. 1, only the host server portion is shown.
- a request from a client is input to the migration source system via a gateway computer such as a load balancer or router, and the processing corresponding to the request is performed in the migration source system. Once executed, the response is returned to the client via the gateway computer (FIG. 1A).
- a gateway computer such as a load balancer or router
- the migration destination system is constructed by copying resource information from the migration source system as described above.
- a method of copying from the migration source system to the migration destination system a method of providing an FT server in the migration destination system for each server of the migration source system, or copying the contents of the migration source system disk and memory in advance.
- the system is improved by improving UP (User Program) and the like (FIG. 1C).
- UP User Program
- FIG. 1C For example, when UP is updated, the service is updated without stopping the service using rolling update data or the like.
- the response transmission side can be switched from the migration source system to the migration destination system (FIG. 1E). By doing so, the system can be switched without substantially stopping the host server and without being noticed by the user of the client computer 110.
- FIG. 2 is a diagram illustrating a schematic configuration example of an online system (also referred to as a computer system or an IT system) 100 according to an embodiment of the present invention. Note that FIG. 2 shows a configuration in which both the migration source system and the migration destination system are operating.
- the online system 100 includes one or more client computers 110, a network 120, an input / output management system (also referred to as a gateway computer) 130 such as a load balancer, a migration source system 140, and a migration destination system 150. is doing.
- the client computer 110 and the input / output management system 130 are connected via the network 120.
- the input / output management system 130 includes a port 131 for connecting to the network 120, a CPU 132 for reading and executing various programs and various information from the memory, and various programs and various information.
- a memory to be stored an operation device 134 for an administrator (system operator) to register a system configuration and input a system switching instruction, and a connection between a migration source system and a migration destination system Ports 135 and 136.
- an output device such as a display device or a printer for outputting the status of the system migration process may be included, or the operation device 134 may be provided with the function of the output device. good.
- the memory 133 is a communication control program 1331 for controlling communication of requests from clients and responses from the system in cooperation with the CPU 132, and a configuration management program for managing communication destinations and sessions in cooperation with the CPU 132. 1332, a request management program 1333 for managing requests from clients in cooperation with the CPU 132, a response management program 1334 for managing communication of responses from the system in cooperation with the CPU 132, and from which system Priority system ID 1335 that is information indicating whether to return the response to the client computer 110, configuration management information 1336 that is information for managing the response drop destination system, and session management information 133 for managing the session Response management information 1338 that is information for managing responses from the operating system, and response conversion rules 1339 that describe the difference between the response from the migration source system and the response from the migration destination system as a rule, ,have.
- response management program 1334 cooperates with the CPU 132 to convert responses from the migration source system or the migration destination system in accordance with the response comparison program 13341 and the response conversion rules 1339 in order to compare responses from the operating system.
- the migration source system 140 has a memory 141, a CPU 142, and a disk device 143.
- an AP (application) server 1441 configured by a virtual server (VM) and a DB (Database) server 1412 configured by a virtual server (VM) are created on a hypervisor (not shown), Information for operating as the virtual server is stored in the memory 141.
- a plurality of AP servers 1441 and DB servers 1412 may be set.
- the configuration of the migration destination system 150 may be different from the configuration of the UP on the AP server, it is the same as the configuration of the migration source system, and the description thereof is omitted.
- FIG. 2 shows an example in which the migration source system and the migration destination system are configured as physically different computers and the virtual server operates on each system.
- the virtual servers in one computer are Alternatively, two physical servers that do not have virtual servers may be used.
- the online system 100 as shown in FIG. 2 operates as follows. Details of processing before and after switching from the migration source system to the migration destination system will be described later with reference to FIGS.
- the administrator (system operator) registers the IP address and system ID of the AP server 1511 belonging to the system and the priority system ID 13321 when the migration destination system 150 is created.
- the operation device 134 when the system operator issues a system switching request using the operation device 134 (instructing system switching), the operation device 134 notifies the configuration management program 1332 of the system switching. Further, the system operator registers a response conversion rule using the operation device 134.
- the UP in the migration source system 140 and the UP in the migration destination system 150 may not be the same due to the modification of the UP. In that case, there may be differences in the response contents from each system. Therefore, in order to compare the response contents and verify whether they are the same, it is necessary to describe rules for differences that appear in the responses. If it is a UP modifier, since the difference appears in the response, the rule is registered using the operation device 134.
- the communication control program 1331 communicates a request and a response message (also called a response body or a response message) between each port.
- the communication control program 1331 receives a request from the client computer 110 and passes the request to the request management program 1333.
- the response management program 1334 that has received the response message passes the response message to the communication control program 1331 after executing processing described later.
- the communication control program 1331 that acquired the response message transmits the response message to the client computer 110.
- the priority system ID 1335 manages from which system the response is returned to the client. Responses from systems other than those specified here are not returned to the client computer 110.
- the request management program 1333 When the request management program 1333 receives a request from the client computer 110, the request management program 1333 distributes the request to the system specified by the priority system ID 1335. If the session ID of the request sent from the client exists in the session management information (table) 1337, it is distributed to the corresponding IP address. In other words, in the case of the first session, it is not registered as session management information 1337, but when the second or subsequent communication occurs for the same session, it is registered as session management information 1337. Requests will be distributed to registered systems.
- the request management program 1333 also refers to the session management information (table) 1337 for the migration destination system 150 and distributes the request to the AP server having the corresponding session ID. At this time, the request management program 1333 transmits a request with the IP address and session ID in the request replaced. When the session ID does not exist in the session management information 1337, the request management program 1333 distributes to any AP server (when a plurality of AP servers are set) constituting each system. However, for the same session after the second time, the request is sent to the same AP server (IP address) that dropped the previous request.
- AP server IP address
- the response management program 1334 When the response management program 1334 receives a response from each of the systems 140 and 150, the response management program 1334 stores it in the response management information (table) 1338. At this time, the response management program 1334 assembles the packet and manages it as a response message. That is, a response is sent from each system in units of packets. Since the packet length is dynamically variable, it cannot be compared as it is, and it is necessary to compare a certain amount of information. Therefore, a response from the start to the end is once assembled (for example, data for one page of Web content). Since the header size of the received information includes the data size from the start end to the end, it is possible to know the end of data to be assembled using this information.
- Response comparison program 13341 executes processing for comparing responses from both systems. As a result of comparing the responses, if they match, the response management program 1334 deletes the matched session and response from the response management information (table) 1338. If the responses from both systems do not match, the response management program 1334 cannot switch to the migration destination environment. However, for example, when the layout of the Web screen is changed, the response message from the modified migration destination system 150 does not always completely match the response from the migration source system 140. Therefore, when comparing responses, a rule for converting a response message is provided.
- the response conversion program 13342 delivers the converted response result to the response comparison program 13341 in accordance with the response conversion rule 1339.
- the response comparison program 13341 performs comparison processing using the converted response. As described above, this response conversion rule is registered before the system operator creates the migration destination system. However, only the response from the system specified by the priority system ID 1335 is transmitted to the client computer 110.
- the response from the migration source system 140 and the response from the migration destination system 150 are returned to the client computer 110 in duplicate, or the consistency is not returned. Need to take. Processing for achieving this consistency will be described later, including a response comparison method (there are three methods).
- FIG. 3 is a diagram illustrating a configuration example of the configuration management information 1336.
- the configuration management information 1336 is information for managing the connection destination system controlled by the input / output management system 130, includes the system ID, and includes the migration source system information 301 and the migration destination system information 302 as configuration items. Have.
- the migration source system information 301 indicates the IP address of the AP server (virtual server) 1411 in the migration source system 140.
- the migration destination system information 302 indicates the IP address of the AP server (virtual server) 1511 in the migration destination system 150. In this example, the IP address of the virtual server is registered, but the IP address of the physical server may be used.
- FIG. 4 is a diagram illustrating a configuration example of the session management information 1337.
- the session management information 1337 is information for managing the session corresponding to the request and the AP server to which the request is dropped.
- the underline attached to the session ID 401 of the migration source system indicates the session ID used by the client computer 110.
- the migration source system session ID 401 is information for uniquely identifying and identifying a session processed in the migration source system.
- a session ID is given when a response is returned to the client computer 110.
- the migration source system 140 and the migration destination system 150 there is a possibility that different session IDs may be assigned even in the same request, and thus session IDs are associated with each other.
- the IP address 402 of the migration source system is information indicating the installation location of the AP server set in the migration source system 140.
- session ID 403 and the IP address 404 of the migration destination system are the same as the session ID 401 and the IP address 402 of the migration source system, description thereof is omitted.
- the request is distributed to an arbitrary AP server.
- the session ID fields 401 and 403 of the session management information 1337 are blank, and only the IP addresses 402 and 404 of the distribution destination are registered.
- the AP server that has accepted the request assigns a session ID, and session IDs 401 and 403 are registered in the session management information (table) 1337 when a response is returned to the client computer 110.
- FIG. 5 is a diagram illustrating a configuration example of the response management information 1338.
- the response management information 1338 is provided in order to compare the response from the migration source system 140 with the response from the migration destination system 150.
- the session ID 501 and response 502 of the migration source system, the session ID 503 of the migration destination system, and Response 504 is included as a configuration item.
- the session ID 501 of the migration source system and the session ID 503 of the migration destination system correspond to the session IDs 401 and 403 of the session management information 1337, and are information for uniquely identifying and identifying a session in the migration destination system and the migration source system. .
- the response 502 of the migration source system is information indicating the content of the response from the migration source system 140 assembled up to a certain point in time.
- the response 504 of the migration destination system is information indicating the content of the response from the migration destination system 150 assembled up to a certain point in time.
- the session 11111 it is understood that responses from the migration source system and the migration destination system are received at the same time, and both are the same.
- the response from the migration destination system precedes, and the response of the migration destination system includes the response of the migration source system.
- the session 11113 is preceded by a response from the migration source system.
- Such a different result is returned, for example, when an error that cannot be recovered in the migration destination system 150 has occurred.
- the created migration destination system 150 is discarded, a new migration destination system is recreated, and responses are compared again.
- ⁇ Contents of response comparison process> 6B and C are prevented from occurring, and the state of FIG. 6A is prevented, so that the response time of the migration destination system 150 is shortened by scaling out or scaling up the migration destination system 150.
- the response from the migration source system 140 is delayed by delaying the request transmission to the migration source system 140 by a certain time.
- an outline of the response comparison process will be described.
- Response comparison method 1 is a method of returning a response from the migration source system 140 to the client computer 110 upon arrival. According to the comparison method 1, a response can be returned to the client computer 110 without being affected by the test environment even during the test of the migration destination system 150.
- all responses from the migration destination system 150 include responses from the migration source system 140.
- the system can be migrated.
- the migration destination system 150 transmits a result corresponding to the non-response part (the above difference) to the client computer 110.
- the request transmission of the migration source system 140 is delayed for a certain time, or the migration destination system 150 is scaled out or scaled up to improve the response performance of the migration destination system 150, and the response comparison process for a while.
- the system is shifted after securing the state of FIG. 6A.
- the response from the migration source system 140 is slower than the response from the migration destination system 150 for only some responses. This is a case where the states of FIGS. 6A and 6B are mixed, and a specific example is shown in FIG. In FIG. 9, the response indicated by italic characters is the one that has been responded to the client computer 110.
- the amount of delay time can be set to, for example, a time for receiving a response difference.
- the amount of time corresponds to the amount of delay time. Note that the session 11112 is not used for calculating the delay time amount because there is a possibility that a bottleneck has occurred in the migration source system 140.
- next session for example, session 11114
- the timing of dropping the request to the migration source system 140 is delayed.
- the comparison process is continued until the response from the migration destination system 150 includes the response from the migration source system 140.
- the same delay amount may be set for all sessions, or a different delay time amount may be set for each session.
- Response comparison method 2 is a method of returning a response to the client computer 110 after the response message from the migration source system 140 and the response message from the migration destination system 150 are complete.
- FIG. 10 shows an example of a state in which the response from the migration source system 140 preceding the response from the migration destination system 150 and the response of the delayed migration destination system 150 are mixed, as in FIG. .
- the response shown in italics is already responded to the client computer 110.
- Response comparison method 2 is a method for returning a response to the client computer 110 after confirming that the responses from the migration source system 140 and the migration destination system 150 match. Since the process is dragged to the system with the slower response, it will be affected by the test environment during the test (response comparison process), but the system operator inputs a switch request after confirming that the response matches. Then, the system can be switched at an arbitrary timing.
- the response comparison method 3 is a hybrid method of the response comparison method 1 and the response comparison method 2.
- the switching method 1 is used during the test of the migration destination system 150, and the response comparison method 2 is used after the switching request.
- the response comparison method 3 is a hybrid method of the response comparison method 1 and the response comparison method 2.
- the switching method 1 is used during the test of the migration destination system 150, and the response comparison method 2 is used after the switching request.
- the response comparison method 1 is adopted until the response match is confirmed (there is a switching request), and the response comparison method 2 is adopted when the system can be switched.
- FIG. 11 is a flowchart for explaining details of processing executed when a request is received in the input / output management system 130.
- the request reception process it is assumed that the migration destination system 150 has already been created and is operating.
- the request management program 1333 inquires of the configuration management program 1332 whether a session (session ID) corresponding to the session management information 1337 is registered. If there is a reply from the configuration management program 1332 that the corresponding session ID is registered (Yes in S1102), the process proceeds to S1103. If there is a reply that the corresponding session ID is not registered (No in S1102), the process proceeds to S1105. If the request is issued for the first time from the client computer 110, the session ID is not given to the request, so that it is not registered in the session management information 1337.
- the request management program 1333 distributes the request to the host (AP server) indicated by the IP address of the migration source system 140 corresponding to the corresponding session ID in the session management information (table) 1337 (see FIG. 4).
- the request management program 1333 is registered in the session management information 1337, rewrites the header part information of the corresponding request to the session ID and host IP address of the transfer destination system 150 corresponding to the request, and moves to the transfer destination.
- the request is also distributed to the corresponding host of the system 150.
- the client computer 110 is set to receive a response from the migration source system 140, that is, when the migration source system 140 is registered in the priority system ID 1335, the session ID and host IP address included in the request are This is information on the corresponding host of the migration source system 140. Therefore, the request cannot be distributed to the host of the migration destination system 150 as it is.
- the request management program 1333 refers to the configuration management information (table) 1336, and acquires the IP address of any host (AP server) in the system (migration source system 140) registered in the priority system ID 1335.
- the IP address information is registered in the session management information 1337 as a distribution destination. Further, the request management program 1333 writes the acquired IP address of the distribution destination in the header part of the request.
- the request management program 1333 refers to the configuration management information 1336, and sets the IP address of the distribution destination included in the header portion of the request written in S1105 to the IP address of any host in the migration destination system 150. Rewrite and distribute the request to the migration destination system 150 as well.
- the request management program 1333 instructs the communication control program 1331 to drop a request to the acquired destination IP address of the source and destination systems. In accordance with the instruction, the communication control program 1331 drops the request to the migration source system 140 and the migration destination system 150.
- FIG. 12 is a flowchart for explaining details of processing executed when receiving a response from the migration source system 140 and the migration destination system 150 in the input / output management system 130.
- a predetermined process is executed in response to the request processed in the request reception process (FIG. 11), and the result of the process is used as a response. Is output.
- the communication control program 1331 receives responses from the migration source system 140 and the migration destination system 150 and passes them to the response management program 1334.
- the response management program 1334 when the response management program 1334 receives a response from the system (migration source system) registered in the priority system ID 1335, the response management program 1334 transmits the response to the client computer 110. Even if a response is received from a system not registered as a priority system (migration destination system), it is not transmitted to the client computer 110 at this stage.
- the response management program 1334 registers the session ID in the session management information 1337. This is because the session ID is assigned at the host (AP server) and is processed by each system and cannot be acquired unless a response is received. Since the session ID given by the migration source system 140 and the session ID given by the migration destination system 150 may be different, they are registered in the session management information 1337 in association with each other. However, when the session ID is already registered in the session management information 1337 (when the corresponding request is the second or later request, it is already registered), the session management information 1337 is not updated.
- the response management program 1334 refers to the response management information (table) 1338 and determines whether the session ID included in the response is registered. If the session ID is not registered (No in S1204), the process proceeds to S1205. In this case, it can be said that the received response corresponds to the first packet (example). On the other hand, if the session ID is registered (Yes in S1204), the process proceeds to S1206.
- the response management program 1334 registers the received session ID and response (information included in the first packet) in the response management information 1338, and the subsequent packet reception processing is executed. In this case, since the corresponding session ID is already registered in the response management information 1338, it is determined Yes in S1204, and the processing from S1206 onward is executed.
- the response management program 1334 adds to the response column (responses 502 and 504) corresponding to the corresponding session ID of the response management information 1338. That is, the received response (packet) is connected to the end data. This processing is called response assembly processing.
- the response management program 1334 determines whether the assembly process of the response up to the end data has been completed. If the response assembly process has not been completed (No in S1207), the response reception process is continued. On the other hand, if the response assembly process is completed (Yes in S1207), the process proceeds to S1208.
- the response management program 1334 uses the response conversion program 13342 to convert the response from the migration source system 140 or the response from the migration destination system 150 based on the response conversion rule 1339.
- the response management program 1334 uses the response comparison program 13341 to determine whether the responses processed in S1208 match. If the responses match (Yes in S1209), the process proceeds to S1210. On the other hand, if the responses do not match (No in S1209), the process proceeds to S1211.
- the response management program 1334 deletes the row corresponding to the response from the response management information 1338. This is because it is not necessary to store the corresponding session in the response management information 1338 because it is confirmed that the responses from the migration source system 140 and the migration destination system 150 match.
- the response reception process is in a standby state until a response related to another session is received.
- the response management program 1334 determines that the system cannot be switched.
- the response management program 1334 terminates the current migration destination system 150 and discards it, and creates a new migration destination system.
- FIG. 13 is a flowchart for explaining processing for receiving a system switching request, comparing responses from the migration source system 140 and the migration destination system 150 according to the response comparison method 1, and switching the system after matching. Even when the processing shown in FIG. 12 is executed and the matching of responses from the migration source system 140 and the migration destination system 150 can be confirmed for a certain session, the responses of other sessions may not match. Accordingly, whether or not switching is possible when the system operator (administrator) issues a system switching request is performed by executing the response comparison process, and all responses from the migration destination system 150 are transferred from the migration source system 140. If all the responses are matched or included, it is determined that switching is possible.
- the response management program 1334 uses the response comparison program 13341 to determine whether all responses from the migration destination system 150 match or include all responses from the migration source system 140. Judge whether there is. In the inclusion relationship, the response from the migration destination system 150 is ahead of the response from the migration source system 140 (corresponding to the case of FIG. 6A). If the responses are in a coincidence relationship or if the response from the migration destination system 150 includes the response from the migration source system (Yes in S1301), the process moves to S1302. On the other hand, when the response from the migration destination system does not include the response from the migration source system 140 (No in S1301), that is, the response from the migration source system 140 is more than the response from the migration destination system 150. If precedent, the process proceeds to S1304.
- the response management program 1334 changes the priority system ID 1335 from the migration source system 140 to the migration destination system 150. After the priority system ID 1335 is changed, a response from the migration destination system 150 is transmitted to the client computer 110.
- the response management program 1334 transmits a shortage of responses to the client computer 110. That is, the client computer 110 has received the response from the migration source system 140 until then, but has switched to the migration destination system 150 and the response from the migration destination system 150 is ahead, so the client computer 110 There is a deficiency in the response received. Therefore, in the processing of S1303, the shortage (response from the migration destination system—response from the migration source system) is transmitted to the client computer 110, and the shortage is compensated.
- the response management program 1334 transfers the response from the migration destination system 150 by delaying the time for dropping the request only to the migration source system 140 or by scaling out or scaling up the migration destination system 150.
- the response from the original system 140 is matched or included.
- the request delay time amount is calculated as described above.
- the response management program 1334 executes processing (FIG. 12) when receiving responses from the migration source system 140 and the migration destination system 150. After the process of FIG. 12 is completed, the process moves again to S1301.
- FIG. 14 is a flowchart for explaining processing for comparing responses from the migration source system 140 and the migration destination system 150 according to the response comparison method 2 and confirming whether the responses match.
- the communication control program 1331 receives responses from the migration source system 140 and the migration destination system 150 and passes them to the response management program 1334.
- the response management program 1334 registers the session ID in the session management information 1337. This is because the session ID is assigned at the host (AP server) and is processed by each system and cannot be acquired unless a response is received. Since the session ID given by the migration source system 140 and the session ID given by the migration destination system 150 may be different, they are registered in the session management information 1337 in association with each other. However, when the session ID is already registered in the session management information 1337 (when the corresponding request is the second or later request, it is already registered), the session management information 1337 is not updated.
- the response management program 1334 refers to the response management information (table) 1338 and determines whether the session ID included in the response is registered. If the session ID is not registered (No in S1403), the process proceeds to S1404. In this case, it can be said that the received response corresponds to the first packet (example). On the other hand, if the session ID is registered (Yes in S1403), the process proceeds to S1405.
- the response management program 1334 registers the received session ID and response (information included in the first packet) in the response management information 1338, and the subsequent packet reception processing is executed. In this case, since the corresponding session ID is already registered in the response management information 1338, it is determined Yes in S1403, and the processing from S1405 onward is executed.
- the response management program 1334 adds to the response column (responses 502 and 504) corresponding to the corresponding session ID of the response management information 1338. That is, the received response (packet) is connected to the end data. This processing is called response assembly processing.
- the response management program 1334 determines whether the response assembly process up to the end data has been completed. If the response assembly process has not been completed (No in S1406), the response reception process is continued. On the other hand, if the response assembly process is completed (Yes in S1406), the process proceeds to S1407.
- the response management program 1334 uses the response conversion program 13342 to convert the response from the migration source system 140 or the response from the migration destination system 150 based on the response conversion rule 1339.
- the response management program 1334 uses the response comparison program 13341 to determine whether the responses processed in S1407 match. If the responses match (Yes in S1408), the process proceeds to S1409. On the other hand, if the responses do not match (No in S1408), the process proceeds to S1211.
- the response management program 1334 transmits the received response to the client computer 110.
- the response is transmitted to the client computer 110 when the responses from the migration source system 140 and the migration destination system 150 are completed. However, since the migration source system 140 is still registered in the priority system ID 1335, the response from the migration source system 140 is actually transmitted to the client computer 110.
- the response management program 1334 deletes the row corresponding to the response from the response management information 1338. This is because it is not necessary to store the corresponding session in the response management information 1338 because it is confirmed that the responses from the migration source system 140 and the migration destination system 150 match.
- the response reception process is in a standby state until a response regarding another session is received.
- the response management program 1334 determines that the system cannot be switched.
- the response management program 1334 terminates and discards the currently operating migration destination system 150, and creates a new migration destination system.
- FIG. 15 is a flowchart for explaining processing for switching the system at an arbitrary timing after the responses from the migration source system 140 and the migration destination system 150 match.
- the configuration management program 1332 changes the priority system ID 1335 from the migration source system 140 to the migration destination system 150.
- the response management program 1334 transmits the shortage for the session in which the response received from the migration source system 140 by the client computer 110 is short, and compensates for it.
- the input / output management system (also referred to as load balancer or gateway computer) is connected to the first host server (migration source system) and the second host server. A request having the same content is transmitted to the (migration destination system).
- the input / output management system transmits only the response from the migration source system (assumed to be registered as the priority system ID) to the client computer. . Then, the input / output management system determines whether the response from the migration destination system to the request includes all of the responses from the migration source system, and if so, changes the priority system ID to the migration destination system.
- the response providing system is switched, and only the response from the migration destination system to the subsequent request is transmitted to the client computer.
- the migration source and migration destination systems may be virtual servers as host servers. By doing so, it is possible to move to a new system provided by modifying UP (User Program) without stopping the operating system (host server), and the client computer can switch the system. Not known. Therefore, the availability of the system can be ensured, and it is possible to switch to a modified system without interrupting the process in progress in the migration source system and without causing a problem.
- the request transmission to the migration source system is delayed compared to the transmission to the migration destination system.
- the system can be switched. That is, when the response from the migration source system precedes the migration destination system, the response reception timing can be matched.
- the system switching timing can be increased. Therefore, an administrator (system operator) can flexibly execute system switching.
- the migration destination system is scaled out and / or scaled up. Thereby, the request response time from the migration destination system can be accelerated. In this case, there is no delay between the client computer sending the request and obtaining the response, and the convenience of the system by the user can be improved.
- the response from the migration destination system may be converted based on the response conversion rule, and the converted response may be compared with the response from the migration source system to determine whether the above-described inclusion relationship exists.
- the response comparison process can be performed appropriately.
- an error occurs in either system and the response content is different from the original one, it can be clearly distinguished from the difference due to the UP modification, and the response can be compared appropriately.
- the client computer can acquire necessary information without excess or deficiency, and can naturally shift to the new system.
- the present invention can also be realized by a program code of software that realizes the functions of the embodiment.
- a storage medium in which the program code is recorded is provided to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus reads the program code stored in the storage medium.
- the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing the program code constitute the present invention.
- a storage medium for supplying such program code for example, a flexible disk, CD-ROM, DVD-ROM, hard disk, optical disk, magneto-optical disk, CD-R, magnetic tape, nonvolatile memory card, ROM Etc. are used.
- an OS operating system
- the computer CPU or the like performs part or all of the actual processing based on the instruction of the program code.
- the program code is stored in a storage means such as a hard disk or memory of a system or apparatus or a storage medium such as a CD-RW or CD-R
- the computer (or CPU or MPU) of the system or apparatus may read and execute the program code stored in the storage means or the storage medium when used.
- control lines and information lines indicate what is considered necessary for the explanation, and not all control lines and information lines on the product are necessarily shown. All the components may be connected to each other.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
システムの可用性を確保しつつ、仕掛かり中の処理を中断させず、かつ不具合を生じさせることなく、改変されたシステムに切り替えるための技術を提供する。本発明では、リクエスト及びレスポンスの入出力管理を実行する制御システムは、第1及び第2のホスト計算機に同一の内容を有するリクエストを送信し、当該リクエストに対する第1のホスト計算機からのレスポンスである第1の処理結果を、リクエスト投下元であるクライアント計算機に送信する。また、制御システムは、上記リクエストに対する第2のホスト計算機からのレスポンスである第2の処理結果が、第1の処理結果の全てを包含するか判定する。そして、第2の処理結果が第1の処理結果を全て包含する場合、制御システムは、後続するリクエストに対して、第2のホスト計算機からの処理結果のみクライアント計算機に送信する。
Description
本発明は、制御方法、及び制御システム、並びにプログラムに関し、例えば、クライアント計算機からのリクエストとホスト計算機からのレスポンスの入出力を制御するための技術に関する。
近年クラウド事業が盛んになってきており、クラウドサービスの競争が激化している。これに伴って、仮想マシン(VM)の価格も下落してきており、今後大量のVMを使用したシステムが増加すると考えられる。また、クラウド上のシステムは容易にスケールアウト可能なことから、最初は小規模なシステムでスタートして、その後の頻繁に改変するようなシステムの増加が予想される。
従来、システム改変の際には、改変前の本番システム稼働中のサービスを一時停止してUAP(User Application Program)やパッチを適用させるのが一般的であったが、サービスの停止時間が発生するため、システムを複数用意して切り替える方法も存在する。例えば、特許文献1には、本番環境とテスト環境という異なる環境で、システム切替えを実行する技術が開示されている。より具体的には、両環境のシステムは、物理資源を共有し、その物理資源にアクセスする際、論理資源名を使用してアクセスを行い、論理資源名を対応付けて管理することで、本番環境とテスト環境とでシステムの切替えを行うようになっている。
また、複数システムを切り替える方法において、システムを移行する場合には、移行して問題ないかどうかの判断が必要となる。これについては、複数のシステムに同一のリクエストを投入し、両システムからのレスポンスを比較することで、システムが正常に稼動しているかどうかを検証する技術がある。例えば、特許文献2には、現行システムから新規システムに移行する際の技術が開示されている。より具体的には、現行システムと、新規システムとを同時に稼動し、現行システムと同内容の要求を新規システムに投入する。新規システムでの処理内容(更新)を反映させたデータベースと、現行システムでの処理結果を反映したデータベースとを比較することで、新規システムの稼動状況を検証する。
また、特許文献3には、24時間運用のオンラインシステムにおいて、ハードウェア及びソフトウェアの移行時のテストを行う移行テスト支援手段が開示されている。具体的には、現行ホスト・現用ファイルを持つシステムと、移行ホスト・テスト用ファイルを持つシステムに対して端末からのデータを分配することで、現用ホストのシステム稼働中に移行ホストでテストを実施する。
さらに、特許文献4には、システム移行時(切替え時)に発生しうる処理タイミングの競合等の多様なケースのテストを自動的に実施し、検証する技術が開示されている。具体的には、入力メッセージを現行システムと新規システムに投入し、データベースの更新された部分を比較し検証するものである。
VMware Fault Tolerance http://www.vmware.com/jp/products/fault-tolerance/ (5/17/2011現在)
本番稼働中のサービスが稼動しているシステムから、別のシステムに切り替える場合、切り替えるタイミングで仕掛かかっている処理を如何に取り扱うかが重要な課題である。つまり、仕掛かり中の処理が在る状態でシステムを切り替えた場合、仕掛かり中の処理が中断されてしまうため、クライアントではリクエストがエラーとなる。
しかし、クライアントは、どこでエラーが発生したかは不明なため、そのリクエストが正常に終了したかどうかを調査した上で、必要に応じてリクエストを再投入する必要がある。
この点、特許文献1では、仕掛かり中の処理を中断させない方法については考慮されていない。そのため処理が仕掛り中に切替えを行うと、クライアントではエラーとなってしまい、リクエストを再投入しなければならない。また、特許文献2乃至4では、システムのレスポンスを比較した結果をレポートするだけであり、本番システム稼動中にシステムを切り替える技術については示されていない。
例えば、同時に同じリクエストを投入する複数のシステムを用意し、切り替え時にはリクエストをキューイングし、仕掛かり中の処理の完了を待ってから切り替える方法も考えられるが、仕掛かり中の処理の完了までに時間がかかってしまった場合には、キューイングしているリクエストがタイムアウトし、クライアントではエラーとなってしまう。
また、移行元システムにおいて、リクエストの受付けを一旦停止し、仕掛かり中の処理を終了させてから移行先システムに移行することも考えられるが、この場合、サービスを一定時間停止しなければならない。近年のサービスのグローバル化、及びインターネットの普及に伴って、24時間365日ノンストップのシステムが求められており、システムの可用性確保も重要な課題である。
本発明はこのような状況に鑑みてなされたものであり、システムの可用性を確保しつつ、仕掛かり中の処理を中断させず、かつ不具合を生じさせることなく、改変されたシステムに切り替えるための技術を提供するものである。
上記課題を解決するために、本発明の一側面では、リクエスト及びレスポンスの入出力管理を実行する制御システムは、第1及び第2のホスト計算機に同一の内容を有する前記リクエストを送信し、当該リクエストに対する第1のホスト計算機からのレスポンスである第1の処理結果を、リクエスト投下元であるクライアント計算機に送信する。また、制御システムは、上記リクエストに対する第2のホスト計算機からのレスポンスである第2の処理結果が、第1の処理結果の全てを包含するか判定する。そして、第2の処理結果が第1の処理結果を全て包含する場合、制御システムは、後続するリクエストに対して、第2のホスト計算機からの処理結果のみクライアント計算機に送信する。
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される請求の範囲の様態により達成され実現される。
本明細書の記述は典型的な例示に過ぎず、本発明の請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
本発明によれば、システムの可用性を確保しつつ、仕掛かり中の処理を中断させず、かつ不具合を生じさせることなく、改変されたシステムに切り替えることができるようになる。
以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。
なお、以後の説明では「テーブル」形式によって本発明の各情報について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、DB、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等について単に「情報」と呼ぶことがある。
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
以下では「プログラム」を主語(動作主体)として本発明の実施形態における各処理について説明を行うが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
<システム移行の手順概要>
図1は、本発明の実施形態によるシステム移行(現行システムから新システム(改変システム)への切替え)の手順の概要を示す図である。図1では、ホストサーバの部分のみ示されている。
図1は、本発明の実施形態によるシステム移行(現行システムから新システム(改変システム)への切替え)の手順の概要を示す図である。図1では、ホストサーバの部分のみ示されている。
現行システム(移行元システム)稼働中の状態では、クライアントからのリクエストが、ロードバランサやルータ等のゲートウェイ計算機を介し、移行元システムに対して投入され、そのリクエストに対応した処理が移行元システムで実行され、レスポンスがゲートウェイ計算機を介してクライアントに返される(図1A)。
システムを切り替えたい場合、まず、現行システム稼働中に、当該現行システム全体の完全なるミラーを作成することにより、後に移行先システムとなる独立したシステムが作成され、それが稼働する(図1B)。図1Bに示されるように、移行先システムについても、現行システムに投下されるリクエストと同一のリクエストが投下されるが、移行先システムからのレスポンスはクライアントには返されない。移行元システムと移行先システムが共に仮想サーバで構成される場合、上述のように、移行元システムからリソース情報をコピーすることにより移行先システムを構築する。移行元システムから移行先システムにコピーする方法としては、移行元システムの各サーバに対して、移行先システムにFTサーバを設ける方法や、移行元システムのディスク、及びメモリ内容をあらかじめコピーしておき、移行元システムを一時停止した後(クライアントからは停止したことが認識できないほどの短い時間の停止)、差分情報のみコピーすることで同期をとる方法がある。なお、現行システム稼働中にミラーを作成する方法の詳細については、非特許文献1や特許文献5及び6に述べられている。
そして、作成された移行先システムでは、UP(User Program)等を改良することにより、システムの改修が行われる(図1C)。例えば、UPのアップデートを行う場合には、ローリングアップデータ等を用いてサービスを停止せずにアップデートされる。
続いて、移行元システムと移行先システムに対して同一のリクエストが投下され、それらからのレスポンスが比較される(図1D)。これにより、切替え可否に関するテストを含め、システムのトータルテストが自動的に実行することができる。
移行先システムからのレスポンスに問題がなければ、レスポンス送信側を移行元システムから移行先システムに切り替えることができるようになる(図1E)。このようにすることにより、ホストサーバを実質的に停止することなく、クライアント計算機110のユーザに気づかれること無く、システムの切替えを実行することができるようになる。
<オンラインシステムの構成>
図2は、本発明の実施形態によるオンラインシステム(計算機システム、ITシステムとも言う)100の概略構成例を示す図である。なお、図2では、移行元システムと移行先システムの両方が稼働している状態の構成が示されている。
図2は、本発明の実施形態によるオンラインシステム(計算機システム、ITシステムとも言う)100の概略構成例を示す図である。なお、図2では、移行元システムと移行先システムの両方が稼働している状態の構成が示されている。
オンラインシステム100は、1つまたは複数のクライアント計算機110と、ネットワーク120と、ロードバランサ等の入出力管理システム(ゲートウェイ計算機とも言う)130と、移行元システム140と、移行先システム150と、を有している。クライアント計算機110と、入出力管理システム130とは、ネットワーク120を介して接続されている。
入出力管理システム130は、ネットワーク120と接続するためのポート131と、各種プログラムや各種情報をメモリから読み出して実行するCPU(Central Processor Unit:単にプロセッサとも言う)132と、各種プログラム及び各種情報を格納するメモリと、管理者(システム運用者)がシステムの構成を登録したり、システムの切替えの指示を入力したりするための操作デバイス134と、移行元システムや移行先システムを接続するためのポート135及び136と、を有している。なお、図示されていないが、システム移行処理の状態を出力するための表示装置やプリンタ等の出力デバイスを有していても良いし、操作デバイス134に当該出力デバイスの機能が設けられていても良い。
メモリ133は、CPU132と協働してクライアントからのリクエストやシステムからのレスポンスの通信を制御するための通信制御プログラム1331と、CPU132と協働して通信先及びセッションを管理するための構成管理プログラム1332と、CPU132と協働してクライアントからのリクエストを管理するためのリクエスト管理プログラム1333と、CPU132と協働してシステムからのレスポンスの通信を管理するためのレスポンス管理プログラム1334と、どのシステムからのレスポンスをクライアント計算機110に返すかを示す情報である優先システムID1335と、レスポンス投下先のシステムを管理する情報である構成管理情報1336と、セッションを管理するためのセッション管理情報1337と、稼働中のシステムからのレスポンスを管理するための情報であるレスポンス管理情報1338と、移行元システムからのレスポンスと移行先システムからのレスポンスとの相違点をルールとして記述するレスポンス変換規則1339と、を有している。また、レスポンス管理プログラム1334は、CPU132と協働して、稼働中のシステムからのレスポンスを比較するためレスポンス比較プログラム13341と、レスポンス変換規則1339に従って、移行元或いは移行先のシステムからのレスポンスを変換するためのレスポンス変換プログラム13342と、を有している。
移行元システム140は、メモリ141と、CPU142と、ディスク装置143と、を有している。移行元システム140では、例えば、仮想サーバ(VM)で構成されるAP(アプリケーション)サーバ1441と、仮想サーバ(VM)で構成されるDB(Database)サーバ1412とが図示しないハイパバイザ上に作成され、その仮想サーバとして動作させるための情報がメモリ141に格納されている。APサーバ1441やDBサーバ1412はそれぞれ複数個設定されていても良い。移行先システム150の構成は、APサーバ上のUPの構成が異なることはあるが、移行元システムの構成と同様なので、その説明については省略する。なお、図2では、移行元システムと移行先システムは物理的に異なる計算機として構成し、それぞれのシステム上で仮想サーバが動作する例が示されているが、1つの計算機内における、仮想サーバ同士であっても良いし、仮想サーバを持たない2つの物理的なサーバであっても良い。
<オンラインシステムの動作概要>
図2のようなオンラインシステム100は、以下のように動作する。なお、移行元システムから移行先システムへの切替え前後の処理の詳細については図11乃至15を参照して後述する。
図2のようなオンラインシステム100は、以下のように動作する。なお、移行元システムから移行先システムへの切替え前後の処理の詳細については図11乃至15を参照して後述する。
管理者(システム運用者)は、移行先システム150作成時に、そのシステムに属するAPサーバ1511のIPアドレス及びシステムIDと、優先システムID13321を登録する。
また、システム運用者が操作デバイス134を用いて、システム切替え要求を出す(システム切替えを指示する)と、操作デバイス134は、構成管理プログラム1332にシステム切替えを通知する。また、システム運用者は、操作デバイス134を用いて、レスポンス変換規則を登録する。移行元システム140におけるUPと、移行先システム150におけるUPは、UPの改変により同一でなくなる場合がある。その場合、それぞれのシステムからのレスポンス内容にも差異が出てくることもある。このため、レスポンス内容を比較して同一であるか検証するために、レスポンスに現れる相違点についてのルールを記述しておく必要がある。UP改変者であれば、レスポンスにどのような差異が現れるか分かっているため、操作デバイス134を用いてその規則を登録することになる。
通信制御プログラム1331は、各ポート間でリクエストとレスポンス電文(レスポンスボディ、或いはレスポンスメッセージとも言う)の通信を行う。また、通信制御プログラム1331は、クライアント計算機110からリクエストを受け取り、リクエスト管理プログラム1333に対してリクエストを渡す。そして、通信制御プログラム1331は、リクエスト管理プログラム1333によって後述の処理がされたリクエストを受け取り、移行元システム140及び/又は移行先システム150にリクエストを振り分ける。さらに、通信制御プログラム1331は、各システムからレスポンスを受け取ると、レスポンス管理プログラム1334にレスポンス電文を受け渡す。レスポンス電文を受け取ったレスポンス管理プログラム1334は、後述の処理を実行した後、レスポンス電文を通信制御プログラム1331に渡す。レスポンス電文を取得した通信制御プログラム1331は、そのレスポンス電文をクライアント計算機110に送信する。
上述のように、優先システムID1335は、どのシステムからのレスポンスをクライアントに返すかを管理している。ここで指定されたシステム以外からのレスポンスはクライアント計算機110には返されない。
リクエスト管理プログラム1333は、クライアント計算機110からのリクエストを受け付けると、優先システムID1335で指定されたシステムにリクエストを振り分ける。クライアントから送られてきたリクエストのセッションIDがセッション管理情報(テーブル)1337に存在していれば、該当のIPアドレスに振り分ける。つまり、初めてのセッションの場合にはセッション管理情報1337として登録されていないが、同一のセッションについて2回目以降の通信が発生した場合には、セッション管理情報1337として登録しているため、当該情報に登録されたシステムにリクエストが振り分けられることになる。
また、リクエスト管理プログラム1333は、移行先システム150に対しても、セッション管理情報(テーブル)1337を参照し、対応するセッションIDのAPサーバにリクエストを振り分ける。このとき、リクエスト管理プログラム1333は、リクエスト内のIPアドレスやセッションIDは置換したリクエストを送信する。セッション管理情報1337にセッションIDが存在していない場合は、リクエスト管理プログラム1333は、各システムを構成するいずれかのAPサーバ(複数のAPサーバが設定されている場合)に振り分ける。ただし、2回目以降の同一セッションについては前回リクエストを投下した同一のAPサーバ(IPアドレス)にリクエストが送られることになる。
レスポンス管理プログラム1334は、システム140及び150のそれぞれからのレスポンスを受信すると、レスポンス管理情報(テーブル)1338に格納する。このとき、レスポンス管理プログラム1334は、パケットを組み立ててレスポンス電文として管理する。つまり、各システムからはパケット単位でレスポンスが送られてくる。パケット長は動的に可変であるため、そのままでは比較できず、ある程度の固まりの情報同士を比較する必要がある。そこで、始端から終端までのレスポンスを一旦組み立てる(例えば、Webコンテンツの1ページ分のデータ)。受け取る情報のヘッダ部分に始端から終端までのデータサイズが含まれているので、この情報を用いて組み立てるべきデータの終端を知ることができる。
レスポンス比較プログラム13341は、両システムからのレスポンスを比較する処理を実行する。レスポンスを比較した結果、一致していれば、レスポンス管理プログラム1334は、レスポンス管理情報(テーブル)1338から当該一致したセッションとレスポンスを削除する。両システムからのレスポンスが一致しない場合は、レスポンス管理プログラム1334は、移行先環境への切替えはできない。しかし、例えば、Web画面のレイアウトを変更した場合など、改変した移行先システム150からのレスポンス電文は、移行元システム140からのレスポンスと完全に一致するとは限らない。そこで、レスポンスを比較する際には、レスポンス電文を変換する規則を設けている。
そして、レスポンス変換プログラム13342は、レスポンス変換規則1339に従って、変換したレスポンスの結果をレスポンス比較プログラム13341に受け渡す。レスポンス比較プログラム13341は、当該変換されたレスポンスを用いて比較処理を行う。このレスポンス変換規則は、上述のように、システム運用者が移行先システムを作成する前に登録される。ただし、優先システムID1335で指定されているシステムからのレスポンスのみクライアント計算機110に送信されることになる。
なお、システムを切り替える際には、移行元システム140からのレスポンスと移行先システム150からのレスポンスを重複してクライアント計算機110に返したり、または、いずれも返さなかったりすることがないように整合性を取る必要がある。この整合性を取るための処理については、レスポンス比較方式(3つの方式がある)を含め、後述する。
<各種情報の構成例>
以下、本実施形態で用いる各種情報について説明する。なお、各情報の構成例では、テーブル形式を採用しているが、各項目の対応関係が管理できればテーブル形式に限られるものではない。
以下、本実施形態で用いる各種情報について説明する。なお、各情報の構成例では、テーブル形式を採用しているが、各項目の対応関係が管理できればテーブル形式に限られるものではない。
(i)構成管理情報(テーブル)
図3は、構成管理情報1336の構成例を示す図である。構成管理情報1336は、入出力管理システム130が制御する接続先のシステムを管理するための情報であり、システムIDを含み、移行元システム情報301と、移行先システム情報302と、を構成項目として有している。移行元システム情報301は、移行元システム140におけるAPサーバ(仮想サーバ)1411のIPアドレスを示している。また、移行先システム情報302は、移行先システム150におけるAPサーバ(仮想サーバ)1511のIPアドレスを示している。ここでは、仮想サーバのIPアドレスが登録される例が示されているが、物理サーバのIPアドレスであっても良い。
図3は、構成管理情報1336の構成例を示す図である。構成管理情報1336は、入出力管理システム130が制御する接続先のシステムを管理するための情報であり、システムIDを含み、移行元システム情報301と、移行先システム情報302と、を構成項目として有している。移行元システム情報301は、移行元システム140におけるAPサーバ(仮想サーバ)1411のIPアドレスを示している。また、移行先システム情報302は、移行先システム150におけるAPサーバ(仮想サーバ)1511のIPアドレスを示している。ここでは、仮想サーバのIPアドレスが登録される例が示されているが、物理サーバのIPアドレスであっても良い。
(ii)セッション管理情報(テーブル)
図4は、セッション管理情報1337の構成例を示す図である。セッション管理情報1337は、リクエストに対応するセッションと当該リクエストが投下されたAPサーバを管理する情報であり、移行元システムのセッションID401及びIPアドレス402と、移行先システムのセッションID403及びIPアドレス404と、を構成項目として有している。移行元システムのセッションID401に付けられている下線は、クライアント計算機110が使用しているセッションIDを示すものである。
図4は、セッション管理情報1337の構成例を示す図である。セッション管理情報1337は、リクエストに対応するセッションと当該リクエストが投下されたAPサーバを管理する情報であり、移行元システムのセッションID401及びIPアドレス402と、移行先システムのセッションID403及びIPアドレス404と、を構成項目として有している。移行元システムのセッションID401に付けられている下線は、クライアント計算機110が使用しているセッションIDを示すものである。
移行元システムのセッションID401は、移行元システムで処理されたセッションを一意に特定・識別するための情報である。対応するAPサーバに初めてリクエストが投下された場合には、レスポンスがクライアント計算機110に返されたときにセッションIDが付与される。移行元システム140と移行先システム150では、同じリクエストでも異なるセッションIDが割り当てられる可能性があるため、両システム間でのセッションIDの対応付けがなされている。
移行元システムのIPアドレス402は、移行元システム140に設定されたAPサーバの設置場所を示す情報である。
移行先システムのセッションID403及びIPアドレス404は、移行元システムのセッションID401及びIPアドレス402と同様であるので、説明は省略する。
クライアント計算機110からのリクエストを受け付けた際、リクエストが初回のものであるためまだセッションIDが付与されていない場合には、任意のAPサーバにリクエストが振り分けられる。この場合、セッション管理情報1337のセッションID401及び403の欄は空欄であり、振り分け先のIPアドレス402及び404のみ登録される。そして、リクエストを受け付けたAPサーバがセッションIDを割り当て、クライアント計算機110にレスポンスが返される際にセッションID401及び403がセッション管理情報(テーブル)1337に登録される。
(iii)レスポンス管理情報(テーブル)
図5は、レスポンス管理情報1338の構成例を示す図である。レスポンス管理情報1338は、移行元システム140からのレスポンスと移行先システム150からのレスポンスとを比較するために設けられており、移行元システムのセッションID501及びレスポンス502と、移行先システムのセッションID503及びレスポンス504と、を構成項目として有している。
図5は、レスポンス管理情報1338の構成例を示す図である。レスポンス管理情報1338は、移行元システム140からのレスポンスと移行先システム150からのレスポンスとを比較するために設けられており、移行元システムのセッションID501及びレスポンス502と、移行先システムのセッションID503及びレスポンス504と、を構成項目として有している。
移行元システムのセッションID501及び移行先システムのセッションID503は、セッション管理情報1337のセッションID401及び403に対応し、移行先システム及び移行元システムでのセッションを一意に特定・識別するための情報である。
移行元システムのレスポンス502は、ある時点までに組み立てられた、移行元システム140からのレスポンスの内容を示す情報である。
移行先システムのレスポンス504は、ある時点までに組み立てられた、移行先システム150からのレスポンスの内容を示す情報である。
図5において、例えば、セッション11111については、移行元システム及び移行先システムからのレスポンスは同時に受信され、両者同一であることが分かる。セッション11112については、移行先システムからのレスポンスが先行しており、移行先システムのレスポンスが移行元システムのレスポンスを包含していることが分かる。また、セッション11113については、移行元システムからのレスポンスが先行していることが分かる。
<レスポンスのパターン>
移行元システム140及び移行先システム150からのレスポンスは、同時に得られるとは限らないため、システム運用者が切替えを要求した時点で、レスポンス管理情報1338として記憶しているレスポンスが完全には一致しないことがある。切替え要求時点で完全には一致しないレスポンスのパターンとして、次の3パターンが考えられる。
移行元システム140及び移行先システム150からのレスポンスは、同時に得られるとは限らないため、システム運用者が切替えを要求した時点で、レスポンス管理情報1338として記憶しているレスポンスが完全には一致しないことがある。切替え要求時点で完全には一致しないレスポンスのパターンとして、次の3パターンが考えられる。
(i)移行元システム140からのレスポンスが、移行先システム150からのレスポンスよりも遅いか、一致している場合(図6Aの場合)
移行先システム150からの全てのレスポンスが、対応する、移行元システム140からの全てのレスポンスを包含、または一致している場合、システムを切り替えてもレスポンスの整合性は保証できる。それはシステムを切り替えた後、レスポンスの差分(「移行先システムからのレスポンス-移行元システムからのレスポンス」の差分)をクライアント計算機110に送信することで、追いつくことができるためである。
移行先システム150からの全てのレスポンスが、対応する、移行元システム140からの全てのレスポンスを包含、または一致している場合、システムを切り替えてもレスポンスの整合性は保証できる。それはシステムを切り替えた後、レスポンスの差分(「移行先システムからのレスポンス-移行元システムからのレスポンス」の差分)をクライアント計算機110に送信することで、追いつくことができるためである。
(ii)移行元システム140からのレスポンスが,移行先システム150からのレスポンスよりも早い場合(図6Bの場合)
移行元システム140からのレスポンスが移行先システム150からのを包含している場合、システムを切り替えることができない。システムを切り替えた後、移行先システム150からのレスポンスが既にクライアントに応答したレスポンスとは異なる結果(図6における601の部分)を返す可能性があるためである。異なる結果601が無い場合、移行先システムの処理が移行元システムの処理に追いつけばシステムを切り替えられる。この場合、移行元システムの処理を遅らせる方法と、移行先システムの処理を早くする方法が考えられる。
移行元システム140からのレスポンスが移行先システム150からのを包含している場合、システムを切り替えることができない。システムを切り替えた後、移行先システム150からのレスポンスが既にクライアントに応答したレスポンスとは異なる結果(図6における601の部分)を返す可能性があるためである。異なる結果601が無い場合、移行先システムの処理が移行元システムの処理に追いつけばシステムを切り替えられる。この場合、移行元システムの処理を遅らせる方法と、移行先システムの処理を早くする方法が考えられる。
(iii)その他((i)と(ii)との組み合わせ:図6Cの場合)
移行元システム140と移行先システム150から異なる応答(変換規則に基づいて変換した後も内容が異なる)が返ってくる場合、上記(ii)の異なる結果601が返ってくる場合と同様、システムの切り替えはできない。
移行元システム140と移行先システム150から異なる応答(変換規則に基づいて変換した後も内容が異なる)が返ってくる場合、上記(ii)の異なる結果601が返ってくる場合と同様、システムの切り替えはできない。
このように異なる結果が返ってくるのは、例えば、移行先システム150で回復不可能な何らかのエラーが生じてしまった場合である。このときには、作成した移行先システム150を破棄し、新たな移行先システムを作り直し、再度レスポンスを比較するようにする。
<レスポンス比較処理の内容>
図6B及びCのような状態が発生することを防止し、図6Aの状態とするため、移行先システム150をスケールアウト或いはスケールアップさせることにより、移行先システム150のレスポンス時間を短縮する。或いは、移行元システム140へのリクエスト送信を一定の時間だけ遅らせることにより、移行元システム140からのレスポンスを遅らせる。以下、レスポンス比較処理の概要について説明する。
図6B及びCのような状態が発生することを防止し、図6Aの状態とするため、移行先システム150をスケールアウト或いはスケールアップさせることにより、移行先システム150のレスポンス時間を短縮する。或いは、移行元システム140へのリクエスト送信を一定の時間だけ遅らせることにより、移行元システム140からのレスポンスを遅らせる。以下、レスポンス比較処理の概要について説明する。
(1)レスポンス比較方式1
レスポンス比較方式1は、移行元システム140からのレスポンスを、到着したと同時にクライアント計算機110に返す方法である。比較方式1によると、移行先システム150のテスト中でもテスト環境からの影響を一切受けずにクライアント計算機110に応答を返すことができる。
レスポンス比較方式1は、移行元システム140からのレスポンスを、到着したと同時にクライアント計算機110に返す方法である。比較方式1によると、移行先システム150のテスト中でもテスト環境からの影響を一切受けずにクライアント計算機110に応答を返すことができる。
(i)移行元システム140からのレスポンスが移行先システム150からのレスポンスよりも遅いか、一致している場合
これは図6Aの状態に相当するものであり、具体例を図7に示す。なお、図7において、斜体文字で示されるレスポンスはクライアント計算機110に応答済のものである。
これは図6Aの状態に相当するものであり、具体例を図7に示す。なお、図7において、斜体文字で示されるレスポンスはクライアント計算機110に応答済のものである。
図7に示されるように、移行先システム150からの全てのレスポンスは、移行元システム140からのレスポンスを包含している。この場合、システムを移行することが可能である。システム移行(切替え)後、移行元システム140が応答していない部分については、移行先システム150から未応答の部分(上記差分)に相当する結果がクライアント計算機110に送信されるようにする。
(ii)移行元システム140からのレスポンスが移行先システム150からのレスポンスよりも早い場合
これは図6Bの状態に相当するものであり、具体例を図8に示す。なお、図8において、斜体文字で示されるレスポンスはクライアント計算機110に応答済のものである。
これは図6Bの状態に相当するものであり、具体例を図8に示す。なお、図8において、斜体文字で示されるレスポンスはクライアント計算機110に応答済のものである。
レスポンス管理情報1338が図8に示す状態のときにシステム移行し、かつ、移行先システムが移行元システムと異なる結果だったとすると、レスポンスの整合性が失われることになる。従って、この状態のときに、システムを移行することは危険であるためできない。
そこで、この場合は、移行元システム140のリクエスト送信を一定時間遅延させるか、あるいは、移行先システム150でスケールアウトやスケールアップして移行先システム150のレスポンス性能を向上させ、暫くレスポンスの比較処理を実行することにより、図6Aの状態を確保してからシステムを移行することになる。
(iii)一部のレスポンスのみ移行元システム140からのレスポンスが移行先システム150からのレスポンスよりも遅い場合
これは図6A及びBの状態が混在する場合であり、具体例を図9に示す。なお、図9において、斜体文字で示されるレスポンスはクライアント計算機110に応答済のものである。
これは図6A及びBの状態が混在する場合であり、具体例を図9に示す。なお、図9において、斜体文字で示されるレスポンスはクライアント計算機110に応答済のものである。
この場合、移行先システム150に対してのみリクエストを投下するタイミングを遅らせる。遅延時間量は、例えば、レスポンスの差分を受け取るための時間分に設定することができる。セッション11111で考えると、移行元システム140からのレスポンスは、「fgh」だけ先行しているので、その分(差分)の時間量が当該遅延時間量に相当することになる。なお、セッション11112については、移行元システム140でボトルネックが発生している可能性があるため、遅延時間量を算出するためには用いないようにする。
また、移行元システム140にリクエスト投下するタイミングを遅延させるのは、次のセッション(例えば、セッション11114)からである。そして、移行先システム150からのレスポンスが移行元システム140からのレスポンスを包含するまで比較処理を継続させるようにする。
なお、上述したように、全てのセッションについて同一の遅延量を設定しても良いし、セッションごとに異なる遅延時間量を設定しても良い。
(2)レスポンス比較方式2
レスポンス比較方式2は、移行元システム140からのレスポンス電文と移行先システム150からのレスポンス電文とが揃ってからクライアント計算機110にレスポンスを返す方法である。
レスポンス比較方式2は、移行元システム140からのレスポンス電文と移行先システム150からのレスポンス電文とが揃ってからクライアント計算機110にレスポンスを返す方法である。
図10は、図9と同様、移行先システム150からのレスポンスよりも先行している移行元システム140からのレスポンスと、遅れている移行先システム150のレスポンスが混在する状態の例を示している。図10において、斜体文字で示されるレスポンスはクライアント計算機110に応答済のものである。
レスポンス比較方式2は、移行元システム140及び移行先システム150からのレスポンスが一致したことを確認してからクライアント計算機110にレスポンスを返すようにする方式である。レスポンスが遅い方のシステムに処理が引きずられるため、テスト(レスポンス比較処理)中もテスト環境からの影響を受けることになるが、レスポンスの一致が確認された後、システム運用者が切替え要求を入力すると、任意のタイミングでシステムを切り替えることが可能となる。
(3)レスポンス比較方式3
レスポンス比較方式3は、レスポンス比較方式1とレスポンス比較方式2のハイブリッド方式である。移行先システム150のテスト実施中は切替え方式1を使用し,切替え要求後はレスポンス比較方式2を使用する。これにより、テスト中はレスポンス遅延時間が無く、切替え時も移行元システム140の方が先行しているレスポンスのみ待ち合わせればよいため、レスポンス遅延時間を最小限に抑えることができる。
レスポンス比較方式3は、レスポンス比較方式1とレスポンス比較方式2のハイブリッド方式である。移行先システム150のテスト実施中は切替え方式1を使用し,切替え要求後はレスポンス比較方式2を使用する。これにより、テスト中はレスポンス遅延時間が無く、切替え時も移行元システム140の方が先行しているレスポンスのみ待ち合わせればよいため、レスポンス遅延時間を最小限に抑えることができる。
つまり、レスポンスの一致が確認される(切替え要求がある)まではレスポンス比較方式1を採用し、システム切替えをしても良い状態になったときにはレスポンス比較方式2を採用する。
<リクエスト受信時の処理>
図11は、入出力管理システム130における、リクエスト受信時に実行される処理の詳細を説明するためのフローチャートである。当該リクエスト受信処理を実行するときには、移行先システム150が既に作成され、動作している状態となっているものとする。
図11は、入出力管理システム130における、リクエスト受信時に実行される処理の詳細を説明するためのフローチャートである。当該リクエスト受信処理を実行するときには、移行先システム150が既に作成され、動作している状態となっているものとする。
S1101において、通信制御プログラム1331は、クライアント計算機110からリクエストを受信すると、それをリクエスト管理プログラム1333に受け渡す。
S1102において、リクエスト管理プログラム1333は、構成管理プログラム1332に対して、セッション管理情報1337に該当するセッション(セッションID)が登録されているか問い合わせる。構成管理プログラム1332から、該当するセッションIDが登録されているとの回答があれば(S1102でYesの場合)、処理はS1103に移行する。該当するセッションIDが登録されていないとの回答があれば(S1102でNoの場合)、処理はS1105に移行する。リクエストがクライアント計算機110から初めて出されたものである場合には、当該リクエストにはセッションIDは付与されていないため、セッション管理情報1337には登録されていない。
S1103において、リクエスト管理プログラム1333は、セッション管理情報(テーブル)1337(図4参照)において該当セッションIDに対応する、移行元システム140のIPアドレスで示されるホスト(APサーバ)にリクエストを振り分ける。
S1104において、リクエスト管理プログラム1333は、セッション管理情報1337に登録されて、該当リクエストに対応する移行先システム150のセッションIDとホストのIPアドレスに、該当リクエストのヘッダ部分の情報を書き換えて、移行先システム150の該当ホストにも当該リクエストを振り分ける。クライアント計算機110が移行元システム140からレスポンスを受信するように設定されている場合、つまり、優先システムID1335に移行元システム140が登録されている場合、リクエストに含まれるセッションIDとホストのIPアドレスは移行元システム140の該当ホストの情報となっている。このため、そのままでは移行先システム150のホストにリクエストを振り分けられないからである。
S1105において、リクエスト管理プログラム1333は、構成管理情報(テーブル)1336を参照して、優先システムID1335に登録されているシステム(移行元システム140)における何れかのホスト(APサーバ)のIPアドレスを取得し、そのIPアドレスの情報を振り分け先として、セッション管理情報1337に登録する。また、リクエスト管理プログラム1333は、当該リクエストのヘッダ部分に上記取得した振り分け先のIPアドレスを書き込む。
S1106において、リクエスト管理プログラム1333は、構成管理情報1336を参照し、S1105で書き込まれた、リクエストのヘッダ部分に含まれる振り分け先のIPアドレスを、移行先システム150の何れかのホストのIPアドレスに書き換えて、移行先システム150にも当該リクエストを振り分ける。
なお、リクエスト管理プログラム1333は、取得した移行元及び移行先システムの振り分け先IPアドレスにリクエストを投下するように、通信制御プログラム1331に指示する。その指示に従って、通信制御プログラム1331は、リクエストを移行元システム140及び移行先システム150に投下する。
<レスポンス受信時の処理>
図12は、入出力管理システム130において、移行元システム140及び移行先システム150からレスポンスを受信する時に実行される処理の詳細を説明するためのフローチャートである。
図12は、入出力管理システム130において、移行元システム140及び移行先システム150からレスポンスを受信する時に実行される処理の詳細を説明するためのフローチャートである。
移行元システム140及び移行先システム150のAPサーバ(ホスト)では、リクエスト受信時の処理(図11)で処理されたリクエストに応答して、所定の処理が実行され、その処理の結果がレスポンスとして出力される。
S1201において、通信制御プログラム1331は、移行元システム140及び移行先システム150からのレスポンスを受信し、レスポンス管理プログラム1334に受け渡す。
S1202において、レスポンス管理プログラム1334は、優先システムID1335に登録されているシステム(移行元システム)からレスポンスを受信した場合には、そのレスポンスをクライアント計算機110に送信する。優先システムとして登録されていないシステム(移行先システム)からのレスポンスを受信しても、この段階ではクライアント計算機110に送信されない。
S1203において、レスポンス管理プログラム1334は、セッション管理情報1337にセッションIDを登録する。セッションIDはホスト(APサーバ)において付与されるものであるため、各システムで処理され、レスポンスを受け取らないと取得できないからである。移行元システム140で付与されるセッションIDと移行先システム150で付与されるセッションIDは異なることがあるので、それぞれ対応付けてセッション管理情報1337に登録されることになる。ただし、既にセッションIDがセッション管理情報1337に登録されている場合(対応するリクエストが2回目以降のものであるときは登録済である)には、セッション管理情報1337は更新されない。
S1204において、レスポンス管理プログラム1334は、レスポンス管理情報(テーブル)1338を参照し、レスポンスに含まれるセッションIDが登録されているか判断する。当該セッションIDが登録されていなければ(S1204でNoの場合)、処理はS1205に移行する。この場合、受信したレスポンスは最初のパケット(例)に相当するものであると言える。一方、当該セッションIDが登録されていれば(S1204でYesの場合)、処理はS1206に移行する。
S1205において、レスポンス管理プログラム1334は、レスポンス管理情報1338に、受信したセッションIDとレスポンス(最初のパケットに含まれる情報)を登録し、次以降のパケットの受信の処理が実行される。この場合、該当するセッションIDはレスポンス管理情報1338に既に登録されているので、S1204においてYesと判断され、S1206以降の処理が実行されることになる。
S1206において、レスポンス管理プログラム1334は、レスポンス管理情報1338の該当セッションIDに対応するレスポンス欄(レスポンス502及び504)に追加する。つまり、受信したレスポンス(パケット)を終端データまでつなげていく。この処理をレスポンスの組立処理というものとする。
S1207において、レスポンス管理プログラム1334は、終端データまでのレスポンスの組立処理が完了しているか判断する。レスポンス組立処理が完了していなければ(S1207でNoの場合)、レスポンス受信処理が継続される。一方、レスポンスの組立処理が完了した場合(S1207でYesの場合)、処理はS1208に移行する。
S1208において、レスポンス管理プログラム1334は、レスポンス変換プログラム13342を用いて、移行元システム140からのレスポンス、或いは移行先システム150からのレスポンスを、レスポンス変換規則1339に基づいて変換する。
S1209において、レスポンス管理プログラム1334は、レスポンス比較プログラム13341を用いて、S1208で処理後のレスポンス同士が一致するか判断する。レスポンス同士が一致する場合(S1209でYesの場合)、処理はS1210に移行する。一方、レスポンス同士が一致しない場合(S1209でNoの場合)、処理はS1211に移行する。
S1210において、レスポンス管理プログラム1334は、当該レスポンスに該当する行をレスポンス管理情報1338から削除する。該当するセッションについては、移行元システム140及び移行先システム150からのレスポンスが一致することが確認できたため、レスポンス管理情報1338に保持しておく必要はないからである。S1210の処理が終了すると、別のセッションに関するレスポンスを受信するまで、レスポンス受信処理は待機状態となる。
S1211において、レスポンス管理プログラム1334は、システム切替え不可能であると判断する。
S1212において、レスポンス管理プログラム1334は、現在稼働している移行先システム150を終了させて破棄し、新たな移行先システムを作成する。
<レスポンス比較処理(比較方式1)及びシステム切替え処理>
図13は、システム切替え要求を受信し、レスポンス比較方式1に従って移行元システム140及び移行先システム150からのレスポンスを比較し、一致後にシステムを切り替える処理を説明するためのフローチャートである。なお、図12で示される処理を実行し、あるセッションについて移行元システム140及び移行先システム150からのレスポンスの一致が確認できている場合でも他のセッションのレスポンスは一致していないこともある。従って、システム運用者(管理者)がシステム切替え要求を出した時点で切り替え可能か否かは、当該レスポンス比較処理を実行した上で、移行先システム150からの全てのレスポンスが移行元システム140からの全てのレスポンスと一致するか、或いはそれを包含する場合に切り替え可能と判断するようにしている。
図13は、システム切替え要求を受信し、レスポンス比較方式1に従って移行元システム140及び移行先システム150からのレスポンスを比較し、一致後にシステムを切り替える処理を説明するためのフローチャートである。なお、図12で示される処理を実行し、あるセッションについて移行元システム140及び移行先システム150からのレスポンスの一致が確認できている場合でも他のセッションのレスポンスは一致していないこともある。従って、システム運用者(管理者)がシステム切替え要求を出した時点で切り替え可能か否かは、当該レスポンス比較処理を実行した上で、移行先システム150からの全てのレスポンスが移行元システム140からの全てのレスポンスと一致するか、或いはそれを包含する場合に切り替え可能と判断するようにしている。
S1301において、レスポンス管理プログラム1334は、レスポンス比較プログラム13341を用いて、移行先システム150からの全てのレスポンスが移行元システム140からの全てのレスポンスと一致する関係にあるか、或いはそれを包含する関係にあるか判断する。包含関係にある場合、移行先システム150からのレスポンスが移行元システム140からのレスポンスよりも先行している状態となっている(図6Aの場合に相当)。レスポンスが一致関係にあるか、又は移行先システム150からのレスポンスが移行元システムからのレスポンスを包含する関係にある場合(S1301でYesの場合)、処理はS1302に移行する。一方、移行先システムからのレスポンスが移行元システム140からのレスポンスを包含する関係にない場合(S1301でNoの場合)、つまり、移行元システム140からのレスポンスが移行先システム150からのレスポンスよりも先行している場合、処理はS1304に移行する。
S1302において、レスポンス管理プログラム1334は、優先システムID1335を、移行元システム140から移行先システム150に変更する。優先システムID1335が変更された後は、移行先システム150からのレスポンスがクライアント計算機110に送信されることになる。
S1303において、レスポンス管理プログラム1334は、クライアント計算機110に不足分のレスポンスを送信する。つまり、クライアント計算機110は、それまで移行元システム140からのレスポンスを受信しているが、移行先システム150に切り替えられ、移行先システム150からのレスポンスの方が先行しているため、クライアント計算機110が受け取ったレスポンスには不足分が生じている。そこで、S1303の処理では、不足分(移行先システムからのレスポンス-移行元システムからのレスポンス)がクライアント計算機110に送信され、当該不足分が補填される。
S1304において、レスポンス管理プログラム1334は、移行元システム140に対してのみリクエストを投下する時間を遅延させるか、移行先システム150をスケールアウト或いはスケールアップさせることにより、移行先システム150からのレスポンスが移行元システム140からのレスポンスと一致するか、或いはそれを包含する関係になるようにする。なお、リクエストの遅延時間量は、前述のように算出される。
S1305において、レスポンス管理プログラム1334は、移行元システム140及び移行先システム150からレスポンスを受信するときの処理(図12)を実行する。図12の処理終了後、処理は再度S1301に移行する。
<レスポンス比較処理(比較方式2)>
図14は、レスポンス比較方式2に従って移行元システム140及び移行先システム150からのレスポンスを比較してレスポンスが一致するか確認する処理を説明するためのフローチャートである。
図14は、レスポンス比較方式2に従って移行元システム140及び移行先システム150からのレスポンスを比較してレスポンスが一致するか確認する処理を説明するためのフローチャートである。
S1401において、通信制御プログラム1331は、移行元システム140及び移行先システム150からのレスポンスを受信し、レスポンス管理プログラム1334に受け渡す。
S1402において、レスポンス管理プログラム1334は、セッション管理情報1337にセッションIDを登録する。セッションIDはホスト(APサーバ)において付与されるものであるため、各システムで処理され、レスポンスを受け取らないと取得できないからである。移行元システム140で付与されるセッションIDと移行先システム150で付与されるセッションIDは異なることがあるので、それぞれ対応付けてセッション管理情報1337に登録されることになる。ただし、既にセッションIDがセッション管理情報1337に登録されている場合(対応するリクエストが2回目以降のものであるときは登録済である)には、セッション管理情報1337は更新されない。
S1403において、レスポンス管理プログラム1334は、レスポンス管理情報(テーブル)1338を参照し、レスポンスに含まれるセッションIDが登録されているか判断する。当該セッションIDが登録されていなければ(S1403でNoの場合)、処理はS1404に移行する。この場合、受信したレスポンスは最初のパケット(例)に相当するものであると言える。一方、当該セッションIDが登録されていれば(S1403でYesの場合)、処理はS1405に移行する。
S1404において、レスポンス管理プログラム1334は、レスポンス管理情報1338に、受信したセッションIDとレスポンス(最初のパケットに含まれる情報)を登録し、次以降のパケットの受信の処理が実行される。この場合、該当するセッションIDはレスポンス管理情報1338に既に登録されているので、S1403においてYesと判断され、S1405以降の処理が実行されることになる。
S1405において、レスポンス管理プログラム1334は、レスポンス管理情報1338の該当セッションIDに対応するレスポンス欄(レスポンス502及び504)に追加する。つまり、受信したレスポンス(パケット)を終端データまでつなげていく。この処理をレスポンスの組立処理というものとする。
S1406において、レスポンス管理プログラム1334は、終端データまでのレスポンスの組立処理が完了しているか判断する。レスポンス組立処理が完了していなければ(S1406でNoの場合)、レスポンス受信処理が継続される。一方、レスポンスの組立処理が完了した場合(S1406でYesの場合)、処理はS1407に移行する。
S1407において、レスポンス管理プログラム1334は、レスポンス変換プログラム13342を用いて、移行元システム140からのレスポンス、或いは移行先システム150からのレスポンスを、レスポンス変換規則1339に基づいて変換する。
S1408において、レスポンス管理プログラム1334は、レスポンス比較プログラム13341を用いて、S1407で処理後のレスポンス同士が一致するか判断する。レスポンス同士が一致する場合(S1408でYesの場合)、処理はS1409に移行する。一方、レスポンス同士が一致しない場合(S1408でNoの場合)、処理はS1211に移行する。
S1409において、レスポンス管理プログラム1334は、受信したレスポンスをクライアント計算機110に送信する。レスポンス比較方式2では、移行元システム140及び移行先システム150からのレスポンスが揃った段階でレスポンスがクライアント計算機110に送信される。ただし、優先システムID1335には移行元システム140がまだ登録されているので、実際、移行元システム140からのレスポンスがクライアント計算機110に送信されていることになる。
S1410において、レスポンス管理プログラム1334は、当該レスポンスに該当する行をレスポンス管理情報1338から削除する。該当するセッションについては、移行元システム140及び移行先システム150からのレスポンスが一致することが確認できたため、レスポンス管理情報1338に保持しておく必要はないからである。S1410の処理が終了すると、別のセッションに関するレスポンスを受信するまで、レスポンス受信処理は待機状態となる。
S1411において、レスポンス管理プログラム1334は、システム切替え不可能であると判断する。
S1412において、レスポンス管理プログラム1334は、現在稼働している移行先システム150を終了させて破棄し、新たな移行先システムを作成する。
<レスポンス比較処理(比較方式2)後の比較切替え処理>
図15は、移行元システム140及び移行先システム150からのレスポンスが一致した後の任意のタイミングでシステムを切り替える処理を説明するためのフローチャートである。
図15は、移行元システム140及び移行先システム150からのレスポンスが一致した後の任意のタイミングでシステムを切り替える処理を説明するためのフローチャートである。
S1501において、システム運用者(管理者)からの指示により、システム切替えが指示されると、構成管理プログラム1332は、優先システムID1335を、移行元システム140から移行先システム150に変更する。
S1501において、レスポンス管理プログラム1334は、クライアント計算機110が移行元システム140から受け取っていたレスポンスに不足分があるセッションについては、不足分を送信し、それを補填するようにする。
<まとめ>
本発明の実施形態では、クライアント計算機からリクエストを受信すると、入出力管理システム(ロードバランサ、ゲートウェイ計算機とも言う)は、それに接続された第1のホストサーバ(移行元システム)及び第2のホストサーバ(移行先システム)に同一の内容を有するリクエストを送信する。また、移行元及び移行先システムからレスポンス(処理結果)を受信すると、入出力管理システムは、移行元システム(優先システムIDとして登録されているものとする)からのレスポンスのみをクライアント計算機に送信する。そして、入出力管理システムは、リクエストに対する移行先システムからのレスポンスが、移行元システムからのレスポンスの全てを包含するか判定し、包含する場合には、優先システムIDを移行先システムに変更してレスポンス提供システムを切り替え、後続するリクエストに対する移行先システムからのレスポンスのみをクライアント計算機に送信する。なお、移行元及び移行先システムは、ホストサーバとして仮想サーバであっても良い。このようにすることにより、稼働するシステム(ホストサーバ)を停止することなく、UP(User Program)を改変して設けられた新システムに移行することができ、クライアント計算機において、そのシステムの切替えを知られることがない。よって、システムの可用性を確保でき、また、移行元システムで仕掛かり中の処理を中断させず、かつ不具合を生じさせることなく、改変されたシステムに切り替えることができるようになる。
本発明の実施形態では、クライアント計算機からリクエストを受信すると、入出力管理システム(ロードバランサ、ゲートウェイ計算機とも言う)は、それに接続された第1のホストサーバ(移行元システム)及び第2のホストサーバ(移行先システム)に同一の内容を有するリクエストを送信する。また、移行元及び移行先システムからレスポンス(処理結果)を受信すると、入出力管理システムは、移行元システム(優先システムIDとして登録されているものとする)からのレスポンスのみをクライアント計算機に送信する。そして、入出力管理システムは、リクエストに対する移行先システムからのレスポンスが、移行元システムからのレスポンスの全てを包含するか判定し、包含する場合には、優先システムIDを移行先システムに変更してレスポンス提供システムを切り替え、後続するリクエストに対する移行先システムからのレスポンスのみをクライアント計算機に送信する。なお、移行元及び移行先システムは、ホストサーバとして仮想サーバであっても良い。このようにすることにより、稼働するシステム(ホストサーバ)を停止することなく、UP(User Program)を改変して設けられた新システムに移行することができ、クライアント計算機において、そのシステムの切替えを知られることがない。よって、システムの可用性を確保でき、また、移行元システムで仕掛かり中の処理を中断させず、かつ不具合を生じさせることなく、改変されたシステムに切り替えることができるようになる。
上述のようなレスポンスの包含関係を実現するために、移行元システムに対するリクエスト送信を、移行先システムへの送信と比較して遅延させる。これにより、システムを切り替えられる状態にすることができるようになる。つまり、移行元システムからのレスポンスが移行先システムよりも先行している場合に、レスポンス受信のタイミングを合わせることができるようになる。また、システム切替え可能なタイミングを増やすことができる。よって、管理者(システム運用者)は、システム切替えを柔軟に実行することが可能となる。
また、上述のレスポンスの包含関係を実現するために、移行先システムをスケールアウト及び/又はスケールアップする。これにより、移行先システムからのリクエスト応答時間を加速させることができる。この場合、クライアント計算機がリクエストを送信してからレスポンスを取得するまでに遅延が生ぜず、ユーザによるシステムの利便性を向上させることができる。
さらに、移行元システムからのレスポンスと、移行先システムからのレスポンスの両方を取得したことを確認して照合し、両者が一致したことが確認できた場合に、クライアント計算機に対してレスポンスを返すようにしても良い。このようにすることにより、レスポンスの一致が確認できた後、システム切替え要求が出された場合、任意のタイミングでシステムを切り替えることができるようになる。また、システム切替え要求を受信後に、移行元システム及び移行先システムからのレスポンスを取得したことを確認し、それらを照合した後に、クライアント計算機にレスポンスを送信しても良い。このようにすることにより、クライアント計算機においてリクエストを送信してからレスポンスを取得するまでの遅延時間を最小限に抑えつつ、切替えが可能なタイミングを増やすことができるようになる。
移行先システムからのレスポンスをレスポンス変換規則に基づいて変換し、変換後のレスポンスと、移行元システムからのレスポンスとを比較して、上述の包含関係が存在するか判断しても良い。これにより、UPの変更(改変)により移行先システムからのレスポンスが移行元システムからのレスポンスと異なっていても、レスポンスの比較処理を適切に行うことができるようになる。特に、どちらかのシステムにエラーが発生し、レスポンス内容が本来の物と異なったとしても、UP改変による相違点と明確に区別することができ、レスポンスを適切に比較することができる。
また、レスポンス提供元を移行元システムから移行先システムに切り替えた場合、移行先システムからのレスポンスと移行元システムからのレスポンスとの差分を、クライアント計算機に送信し、クライアント計算機における受信データの不足分を補填するようにしても良い。これにより、クライアント計算機は、過不足なく必要な情報を取得できると共に、自然に新システムに移行することが可能となる。
本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或いは装置に提供し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
加えて、本技術分野の通常の知識を有する者には、本発明のその他の実装がここに開示された本発明の明細書及び実施形態の考察から明らかになる。記述された実施形態の多様な態様及び/又はコンポーネントは、データを管理する機能を有するコンピュータ化ストレージシステムに於いて、単独又は如何なる組み合わせでも使用することが出来る。明細書と具体例は典型的なものに過ぎず、本発明の範囲と精神は後続する請求範囲で示される。
100 オンラインシステム(計算機システム)
110 クライアント計算機
120 ネットワーク
130 入出力管理システム
131 ポート
132 CPU
133 メモリ
134 操作デバイス
135 ポート
136 ポート
140 移行元システム
141 メモリ
142 CPU
143 ディスク装置
150 移行先システム
151 メモリ
152 CPU
153 ディスク装置
1331 通信制御プログラム
1332 構成管理プログラム
1333 リクエスト管理プログラム
1334 レスポンス管理プログラム
1335 優先システムID
1336 構成管理情報
1337 セッション管理情報
1338 レスポンス管理情報
1339 レスポンス変換規則
13341 レスポンス比較プログラム
13342 レスポンス変換プログラム
110 クライアント計算機
120 ネットワーク
130 入出力管理システム
131 ポート
132 CPU
133 メモリ
134 操作デバイス
135 ポート
136 ポート
140 移行元システム
141 メモリ
142 CPU
143 ディスク装置
150 移行先システム
151 メモリ
152 CPU
153 ディスク装置
1331 通信制御プログラム
1332 構成管理プログラム
1333 リクエスト管理プログラム
1334 レスポンス管理プログラム
1335 優先システムID
1336 構成管理情報
1337 セッション管理情報
1338 レスポンス管理情報
1339 レスポンス変換規則
13341 レスポンス比較プログラム
13342 レスポンス変換プログラム
Claims (14)
- プロセッサ及びメモリを有する制御システムを用いて、クライアント計算機からのリクエスト、及びホスト計算機からの前記リクエストに対する処理結果の入出力を管理する制御方法であって、
前記プロセッサが、前記制御システムに接続された第1及び第2のホスト計算機に同一の内容を有する前記リクエストを送信するステップと、
前記プロセッサが、前記リクエストに対する前記第1のホスト計算機からのレスポンスである第1の処理結果を前記クライアント計算機に送信するステップと、
前記プロセッサが、前記リクエストに対する前記第2のホスト計算機からのレスポンスである第2の処理結果が、前記第1の処理結果の全てを包含するか判定するステップと、
前記判定するステップにおいて、前記第2の処理結果が前記第1の処理結果を全て包含する場合、前記プロセッサが、後続するリクエストに対する前記第2のホスト計算機からの処理結果のみ前記クライアント計算機に送信するステップと、
を含むことを特徴とする制御方法。 - 請求項1において、
前記リクエストを送信するステップで、前記プロセッサが、前記第1のホスト計算機へのリクエスト送信を遅延させることを特徴とする制御方法。 - 請求項1又は2において、さらに、
前記プロセッサが、前記第2のホスト計算機をスケールアウト及び/又はスケールアップすることにより、前記第2のホスト計算機からのリクエスト応答時間を加速させるステップを含むことを特徴とする制御方法。 - 請求項1~3の何れか一項において、
前記第1の処理結果を前記クライアント計算機に送信するステップにおいて、前記プロセッサは、前記第1のホスト計算機からの前記第1の処理結果と、前記第2のホスト計算機からの前記第2の処理結果とを取得したことを確認し、照合した後に、前記クライアント計算機に処理結果を送信するステップを含むことを特徴とする制御方法。 - 請求項1~4の何れか一項において、さらに、
前記プロセッサが、前記処理結果を受信するホスト計算機の切替え要求を受信し、当該切替え要求に応答して、前記第1のホスト計算機からの前記第1の処理結果と、前記第2のホスト計算機からの前記第2の処理結果とを取得したことを確認し、照合した後に、前記クライアント計算機に処理結果を送信するステップを含むことを特徴とする制御方法。 - 請求項1~5の何れか一項において、
前記第1及び第2のホスト計算機は、仮想計算機として構成されていることを特徴とする制御方法。 - 請求項1~6の何れか一項において、さらに、
前記プロセッサが、前記第2の処理結果をレスポンス変換規則に基づいて変換し、前記第2の処理結果として変換後の処理結果を生成するステップを含み、
前記判定するステップにおいて、前記プロセッサは、前記変換後の処理結果が前記第1の処理結果を包含するか判定し、
前記レスポンス変換規則は、前記第1の処理結果に対する前記第2の処理結果の変更内容を示す情報であることを特徴とする制御方法。 - 請求項1から7の何れか一項において、さらに、
前記プロセッサが、処理結果の提供元を前記第1のホスト計算機から前記第2のホスト計算機に切り替え、前記第2のホスト計算機からの処理結果と前記第1のホスト計算機からの処理結果との差分情報を、前記クライアント計算機に送信し、前記クライアント計算機における受信データの不足分を補填するステップを含むことを特徴とする制御方法。 - クライアント計算機からのリクエスト、及びホスト計算機からの前記リクエストに対する処理結果の入出力を管理する制御システムであって、
前記リクエスト及び前記処理結果を管理するための管理情報を格納するメモリと、
前記メモリに格納された前記管理情報に基づいて、前記クライアント計算機及び前記ホスト計算機に対する、前記リクエスト及び前記処理結果の入出力を制御するプロセッサと、を有し、
前記プロセッサは、
前記制御システムに接続された第1及び第2のホスト計算機に同一の内容を有する前記リクエストを送信するリクエスト送信処理と、
前記リクエストに対する前記第1のホスト計算機からのレスポンスである第1の処理結果を前記クライアント計算機に送信する処理結果応答処理と、
前記リクエストに対する前記第2のホスト計算機からのレスポンスである第2の処理結果が、前記第1の処理結果の全てを包含するか判定する判定処理と、
前記判定処理によって前記第2の処理結果が前記第1の処理結果を全て包含すると判定した場合に、後続するリクエストに対する前記第2のホスト計算機からの処理結果のみ前記クライアント計算機に送信するホスト切替え処理と、
を実行することを特徴とする制御システム。 - 請求項9において、
前記プロセッサは、前記リクエスト送信処理で、前記第1のホスト計算機へのリクエスト送信を遅延させることを特徴とする制御システム。 - 請求項9又は10において、
前記プロセッサは、さらに、前記第2のホスト計算機をスケールアウト及び/又はスケールアップすることにより、前記第2のホスト計算機からのリクエスト応答時間を加速させる応答時間加速処理を実行することを特徴とする制御システム。 - 請求項9~11の何れか一項において、
前記プロセッサは、前記処理結果応答処理において、前記第1のホスト計算機からの前記第1の処理結果と、前記第2のホスト計算機からの前記第2の処理結果とを取得したことを確認し、照合した後に、前記クライアント計算機に処理結果を送信することを特徴とする制御システム。 - 請求項9~12の何れか一項において、
前記プロセッサは、さらに、前記処理結果を受信するホスト計算機の切替え要求を受信し、当該切替え要求に応答して、前記第1のホスト計算機からの前記第1の処理結果と、前記第2のホスト計算機からの前記第2の処理結果とを取得したことを確認し、照合した後に、前記クライアント計算機に処理結果を送信する処理を実行することを特徴とする制御システム。 - メモリ及びプロセッサを有する計算機を、クライアント計算機及びホスト計算機に対する、リクエスト及び処理結果の入出力を管理する制御システムとして動作させるためのプログラムであって、
前記プロセッサに、
前記制御システムに接続された第1及び第2のホスト計算機に同一の内容を有するリクエストを送信するリクエスト送信処理と、
前記リクエストに対する前記第1のホスト計算機からのレスポンスである第1の処理結果を前記クライアント計算機に送信する処理結果応答処理と、
前記リクエストに対する前記第2のホスト計算機からのレスポンスである第2の処理結果が、前記第1の処理結果の全てを包含するか判定する判定処理と、
前記判定処理によって前記第2の処理結果が前記第1の処理結果を全て包含すると判定した場合に、後続するリクエストに対する前記第2のホスト計算機からの処理結果のみ前記クライアント計算機に送信するホスト切替え処理と、
を実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/063118 WO2012169021A1 (ja) | 2011-06-08 | 2011-06-08 | 制御方法、及び制御システム、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/063118 WO2012169021A1 (ja) | 2011-06-08 | 2011-06-08 | 制御方法、及び制御システム、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012169021A1 true WO2012169021A1 (ja) | 2012-12-13 |
Family
ID=47295628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/063118 WO2012169021A1 (ja) | 2011-06-08 | 2011-06-08 | 制御方法、及び制御システム、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2012169021A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014170467A (ja) * | 2013-03-05 | 2014-09-18 | Nec Corp | テスト支援システムおよびテスト支援方法 |
CN107291731A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 计算业务的处理方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07261814A (ja) * | 1994-03-16 | 1995-10-13 | Yaskawa Electric Corp | Pcのデュアルシステムにおける割込み同期方法 |
JPH086800A (ja) * | 1994-06-16 | 1996-01-12 | Toshiba Corp | データ処理装置及びマイクロプロセッサ |
JPH08249279A (ja) * | 1995-03-13 | 1996-09-27 | Hitachi Ltd | オンラインシステム |
JP2000305603A (ja) * | 1999-04-19 | 2000-11-02 | Mitsubishi Electric Corp | 自己監視機能付き車載用電子制御装置 |
JP2007257588A (ja) * | 2006-03-27 | 2007-10-04 | Hitachi Ltd | 検証システム |
JP2009245383A (ja) * | 2008-03-31 | 2009-10-22 | Nomura Research Institute Ltd | 情報処理装置およびプログラム解析方法 |
JP2010134710A (ja) * | 2008-12-04 | 2010-06-17 | Ntt Data Corp | 仮想マシンの移行方法、サーバ、及び、プログラム |
JP2010262432A (ja) * | 2009-05-01 | 2010-11-18 | Mitsubishi Electric Corp | 安全制御装置 |
JP2011028685A (ja) * | 2009-07-29 | 2011-02-10 | Nippon Signal Co Ltd:The | 二重化データ処理回路 |
-
2011
- 2011-06-08 WO PCT/JP2011/063118 patent/WO2012169021A1/ja active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07261814A (ja) * | 1994-03-16 | 1995-10-13 | Yaskawa Electric Corp | Pcのデュアルシステムにおける割込み同期方法 |
JPH086800A (ja) * | 1994-06-16 | 1996-01-12 | Toshiba Corp | データ処理装置及びマイクロプロセッサ |
JPH08249279A (ja) * | 1995-03-13 | 1996-09-27 | Hitachi Ltd | オンラインシステム |
JP2000305603A (ja) * | 1999-04-19 | 2000-11-02 | Mitsubishi Electric Corp | 自己監視機能付き車載用電子制御装置 |
JP2007257588A (ja) * | 2006-03-27 | 2007-10-04 | Hitachi Ltd | 検証システム |
JP2009245383A (ja) * | 2008-03-31 | 2009-10-22 | Nomura Research Institute Ltd | 情報処理装置およびプログラム解析方法 |
JP2010134710A (ja) * | 2008-12-04 | 2010-06-17 | Ntt Data Corp | 仮想マシンの移行方法、サーバ、及び、プログラム |
JP2010262432A (ja) * | 2009-05-01 | 2010-11-18 | Mitsubishi Electric Corp | 安全制御装置 |
JP2011028685A (ja) * | 2009-07-29 | 2011-02-10 | Nippon Signal Co Ltd:The | 二重化データ処理回路 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014170467A (ja) * | 2013-03-05 | 2014-09-18 | Nec Corp | テスト支援システムおよびテスト支援方法 |
CN107291731A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 计算业务的处理方法及装置 |
CN107291731B (zh) * | 2016-03-31 | 2020-11-24 | 阿里巴巴集团控股有限公司 | 计算业务的处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10700979B2 (en) | Load balancing for a virtual networking system | |
US20210152632A1 (en) | Managing replication of computing nodes for provided computer networks | |
JP4503225B2 (ja) | 適応ディスパッチャを有する仮想ネットワーク | |
US11095716B2 (en) | Data replication for a virtual networking system | |
CN101924693A (zh) | 用于在虚拟机间迁移进程的方法和*** | |
KR20140043800A (ko) | 가상화된 네트워크에서의 패킷 손실을 최소화하기 위한 가상 머신 이전 기법 | |
CN108200018B (zh) | 云计算中的流量转发方法及设备、计算机设备及可读介质 | |
US10372633B1 (en) | Interconnection of peripheral devices on different electronic devices | |
Johansson et al. | RabbitMQ Essentials: Build distributed and scalable applications with message queuing using RabbitMQ | |
CN105049504A (zh) | 一种大数据中转传输同步及存储方法 | |
CN112698838B (zh) | 多云容器部署***及其容器部署方法 | |
CN110855488A (zh) | 一种虚拟机接入方法及装置 | |
WO2012169021A1 (ja) | 制御方法、及び制御システム、並びにプログラム | |
CN109120556B (zh) | 一种云主机访问对象存储服务器的方法及*** | |
JP2001014228A (ja) | ファイル配信システム、方法及び記録媒体 | |
CN115065630B (zh) | 虚拟路由器的迁移方法、装置、电子设备及存储介质 | |
CN117201516A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US12052171B2 (en) | Communication system and communication method | |
US20220166715A1 (en) | Communication system and communication method | |
CN116743832A (zh) | 网元业务接口创建方法、装置及相关设备 | |
CN117375915A (zh) | 一种网卡数据纳管方法、装置、设备及可读存储介质 | |
JPWO2012144462A1 (ja) | ポート番号特定システム、ポート番号特定システム制御方法およびその制御用プログラム | |
JP2017182283A (ja) | 配送システム、配送方法および配送プログラム | |
JP2015176203A (ja) | データベースシステム、データベースサーバ、データベースサーバプログラム、データベースクライアント、及びデータベースクライアントプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11867504 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11867504 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |