WO2014006728A1 - 処理装置、処理システム、及びプログラム - Google Patents
処理装置、処理システム、及びプログラム Download PDFInfo
- Publication number
- WO2014006728A1 WO2014006728A1 PCT/JP2012/067230 JP2012067230W WO2014006728A1 WO 2014006728 A1 WO2014006728 A1 WO 2014006728A1 JP 2012067230 W JP2012067230 W JP 2012067230W WO 2014006728 A1 WO2014006728 A1 WO 2014006728A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- processing
- alternative
- server
- unit
- processing device
- 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/203—Failover techniques using migration
-
- 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
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
-
- 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/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- 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/2046—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 where the redundant components share persistent storage
Definitions
- the present invention relates to a processing device, a processing system, and a program.
- an object of the present invention is to reduce resource waste.
- a sign detection unit that detects whether or not an event indicating a sign that the process executed by the processing unit cannot be performed has occurred, and an event that indicates the sign is generated by the sign detection unit Is detected, a request is made to an alternative processing device capable of performing the alternative processing of the processing performed in the processing device so that the alternative processing can be started, and the startable state is set.
- a control unit that requests the alternative processing device to end a state in which the alternative processing can be started when a setting condition is satisfied.
- 1 is a system configuration example of a processing system 1 according to a first embodiment of the present invention.
- 2 is a hardware configuration example of a server 10 and a server 100. It is a figure which shows the state which arises as a result of an alternative process preparation request being made. It is an example of the flowchart which shows the flow of the process performed by the server 10 as a result of performing an execution state confirmation command. It is a figure which shows the state by which the alternative process was started. It is a figure which shows a mode that 10 A of job management parts are recovered
- FIG. 1 is a system configuration example of a processing system 1 according to the first embodiment of the present invention.
- the processing system 1 includes a server 10 and a server 100.
- the server 10 performs spontaneous processing according to a schedule, such as automatic operation processing of the system.
- the server 10 may be connected to a client computer via a LAN, perform processing according to a request from the client computer, and provide the processing result to the client computer. Further, the server 10 may perform processing in response to a request input to an input / output unit (not shown) by an operator or the like.
- the server 10 and the server 100 are connected by a network 50 such as the Internet.
- the server 100 provides a cloud service to the server 10 and other devices connected to the network 50.
- FIG. 2 is a hardware configuration example of the server 10 and the server 100.
- the server 10 and the server 100 include, for example, a CPU (Central Processing Unit) A, a drive device B, an auxiliary storage device D, a memory device E, an interface device F, an input device G, and a display device H. Prepare. These components are connected via a bus, a serial line, or the like. Further, the server 10 and the server 100 may include a timer, a DMA (Direct Memory Access) controller, an interrupt controller, etc., not shown. In FIG. 1, the auxiliary storage device and the memory device are not distinguished from each other and are simply expressed as the storage devices 11 and 110.
- a CPU Central Processing Unit
- DMA Direct Memory Access
- the CPUA is, for example, a processor having a program counter, an instruction decoder, various arithmetic units, an LSU (Load Store Unit), a general-purpose register, and the like.
- the drive device B is a device that can read programs and data from the storage medium C. When the storage medium C on which the program is recorded is loaded into the drive device B, the program is installed from the storage medium C to the auxiliary storage device D via the drive device B.
- the storage medium C is a portable storage medium such as a CD (Compact Disc), a DVD (Digital Versatile Disc), or a USB (Universal Serial Bus) memory.
- the auxiliary storage device D is, for example, an HDD (Hard Disk Drive) or a flash memory.
- the program can be installed by the interface device F being downloaded from another computer via the network and installed in the auxiliary storage device D.
- the network is the Internet, a LAN (Local Area Network), a wireless network, or the like.
- the program may be stored in advance in the auxiliary storage device D, ROM (Read Only Memory), or the like when the server 10 or the server 100 is shipped.
- the information processing apparatus shown in FIG. 2 can function as the server 10 or the server 100 of this embodiment.
- the memory device E is, for example, a RAM (Random Access Memory) or an EEPROM (Electrically Erasable and Programmable Read Only Memory).
- the interface device F controls connection with the network.
- the input device G is, for example, a keyboard, a mouse, a button, a touch pad, a touch panel, a microphone, or the like.
- the display device H is a display device such as an LCD (Liquid Crystal Display) or a CRT (Cathode Ray Tube).
- the server 10 and the server 100 may include other types of output devices such as a printer and a speaker.
- server 10 and the server 100 do not have to have the same hardware configuration, and each of them may be obtained by deleting some elements from the hardware shown in FIG. 2 or replacing them with other elements. You may add the element.
- the server 10 includes a job management unit 10A, a sign detection unit 10B, a virtual server setting processing unit 10C, and a progress information transmission unit 10D as functional units that function when the CPU executes a program.
- the server 10 includes a storage device 11 that functions as the auxiliary storage device D or the memory device E in FIG.
- the storage device 11 stores job information 11A.
- the server 100 includes a schedule management unit 100A and a job execution management unit 100B as functional units that function when the CPU executes a program.
- the server 100 also includes a storage device 110 that functions as the auxiliary storage device D or the memory device E in FIG.
- the functional blocks provided in the servers 10 and 100 do not need to be realized by a clearly separated program, and may be called by other programs as subroutines or functions. Moreover, a part of the functional block may be hardware means such as LSI (Large Scale Integrated circuit), IC (Integrated Circuit), FPGA (Field Programmable Gate Array), and the like.
- LSI Large Scale Integrated circuit
- IC Integrated Circuit
- FPGA Field Programmable Gate Array
- the job management unit 10A performs various information processing as described above, for example.
- the processing performed by the job management unit 10A is performed in units of job nets JN in which jobs JB including application programs AP are collected, for example.
- the job JB is an object including an application program AP for processing business, and includes a batch file / shell script, a command, and the like.
- the job net JN is a set of one or more jobs JB having a series of flows.
- the job management unit 10A is not limited to performing information processing, and may perform processing for data management, for example.
- the sign detection unit 10B detects whether or not an event indicating a sign of occurrence of failover has occurred, in which the process executed by the job management unit 10A cannot be executed.
- the “event indicating a sign that a failover will occur” is, for example, any one or combination of the events listed below.
- the sign detection unit 10B checks whether such an event has occurred, for example, at regular intervals. Note that the sign detection unit 10B may set a different confirmation interval for each event.
- FIG. 3 is a diagram illustrating a state in which an alternative process preparation request has been made.
- the substitute process preparation request is made, for example, by transmitting data according to a predetermined format from the virtual server setting processing unit 10C to the server 100.
- the virtual server setting processing unit 10C transfers the job information 11A stored in the storage device 11 to the storage device 110 of the server 100 when making a substitute processing preparation request.
- the job information 11A includes, for example, the name and IP address of the server 10, a job name, a job number (job ID), an application program and a batch file constituting the job, job status, schedule information, job execution history (processing result) )including.
- the virtual server setting processing unit 10C transmits “execution state check tool TL”, which is software for checking the execution state of the job management unit 10A, to the server 100 when making a substitute processing preparation request.
- the schedule management unit 100A and the job execution management unit 100B of the server 100 set the virtual server 100C based on the job information 110A transferred to the storage device 110.
- the job status, schedule information, and job execution history transferred to the storage device 110 are input as processing parameters to the schedule management unit 100A and the job execution management unit 100B.
- the virtual server 100C is in a state where processing equivalent to the job management unit 10A, that is, alternative processing can be started.
- the progress information transmitting unit 10D transmits progress information that changes according to the job execution progress by the job management unit 10A to the server 100 at a predetermined cycle, for example.
- the progress information transmitted by the progress information transmitting unit 10D is, for example, the job status, schedule information, and job execution history, and the information transferred to the storage device 110 is rewritten to the latest information by these information.
- the virtual server 100C refreshes without acquiring status information again even when the job management unit 10A executes job execution and the job status changes after an alternative processing preparation request is made.
- the alternative process can be started using the state information.
- the virtual server 100C can grasp where to start the process when actually starting the alternative process. Therefore, the virtual server 100C can maintain a state in which the alternative process can be started after the alternative process preparation request is made.
- the execution state confirmation unit 100D transmits an execution state confirmation command (checkprocess) to the server 10 in a predetermined cycle, for example, in order to confirm the execution state of the job management unit 10A.
- FIG. 4 is an example of a flowchart showing a flow of processing performed by the server 10 as a result of executing the execution state confirmation command.
- the server 10 checks whether or not the “main process” necessary for the operation of the job management unit 10A exists in the job management unit 10A (S400).
- the server 10 checks whether the job net JN operating on the job management unit 10A is being executed as scheduled (S402). ).
- the server 10 When the “main process” exists and the job net JN is executed as scheduled, the server 10 returns a return value 1 to the server 100 (S404).
- the server 10 returns a return value ⁇ 1 to the server 100 (S406).
- the execution state confirmation unit 100D determines that a failover has occurred that makes the process executed by the job management unit 10A unexecutable, and causes the virtual server 100C to start a substitute process. For example, the execution state confirmation unit 100D notifies the schedule management unit 100A that a failover has occurred. The schedule management unit 100A notifies the job execution management unit 100B that a failover has occurred. Then, the job execution management unit 100B causes the virtual server 100C to start executing the application program. For example, the virtual server 100C acquires input information input to the job management unit 10A from the server 10, performs processing equivalent to that of the job management unit 10A, and stores the processing result in the storage device 110. The processing result is added to a part of the job information 110A, for example.
- FIG. 5 is a diagram illustrating a state in which substitution processing is started.
- the execution state confirmation unit 100D transmits an execution state confirmation command to the server 10 at a predetermined cycle, for example, even after the substitution process is started.
- the execution state confirmation unit 100D notifies, for example, the schedule management unit 100A that the job management unit 10A can be restored.
- the schedule management unit 100A notifies the job execution management unit 100B that the job management unit 10A can be restored.
- the job execution management unit 100B causes the virtual server 100C to stop executing the application program.
- the virtual server 100C transfers the job information 110A including the processing result of the virtual server 100C stored in the storage device 110 to the storage device 11 of the server 10.
- the virtual server 100C stops the execution of the application program according to the recovery, it is possible to suppress waste of resources due to unnecessary operation of the virtual server even after the start of the alternative process.
- FIG. 6 is a diagram illustrating how the job management unit 10A recovers from the state illustrated in FIG.
- the virtual server setting processing unit 10C requests the server 100 to finish the state in which the substitute process can be started.
- such a request is referred to as an “alternative process preparation end request”.
- the virtual server setting processing unit 10C requests the server 100 to end the state where the alternative processing can be started when the setting condition is satisfied after making the alternative processing preparation request.
- the setting condition is, for example, that a predetermined period has elapsed without a failover occurring in the job management unit 10A from the time when the substitute process preparation request is made.
- the virtual server setting processing unit 10C starts time measurement by a timer, for example, when an alternative process preparation request is made, and makes an alternative process preparation end request when a predetermined time (for example, about 30 [min]) elapses.
- the predetermined period may be set as a default value in advance and can be changed by the user.
- the content of the substitute process preparation end request may include a request to stop the virtual server 100C, or may request the server 100 to delete the virtual server 100C, the execution state confirmation unit 100D, and the job information 110A.
- FIG. 7 is a diagram illustrating a state in which a predetermined period has elapsed without failover occurring in the job management unit 10A.
- the server 10 can suppress consumption of resources necessary to maintain a state in which alternative processing can be started.
- the server 100 is a server that provides a cloud service
- the server 100 is charged according to the set time of the virtual server 100C. Therefore, the server 10 continues the virtual server 100C as it is (stopped state is also stopped) by requesting the virtual server 100C to be deleted when a predetermined period has passed without fail-over after making a substitute processing preparation request.
- the amount of billing can be reduced compared to what is included.
- the server 10 can reduce the memory capacity and power consumption in the server 100. The cost can be reduced.
- the server 100C when the virtual server 100C is set not when “an event indicating a sign” is detected but when “failover occurs”, the cost can be further reduced as compared with the present embodiment. However, in this case, the server 100 may not be able to start the substitute process quickly. In order to transfer processing from the server 10 to the server 100 in the cloud environment, processing for copying the job information 11A to the server 100 side and processing for generating the virtual server 100C based on the job information 110A are required. Such processing may take a relatively long time depending on the cloud environment, and if the job net executed by the job management unit 10A is highly real-time, the practicality may be impaired by the time required for the migration processing. is there. Therefore, by setting the virtual server 100C when “an event indicating a sign” is detected as in the present embodiment, the server 100 can start the substitution process quickly.
- FIG. 8 is an example of a flowchart showing a flow of processing executed by the virtual server setting processing unit 10C of the server 10 according to the first embodiment. This flowchart is repeatedly executed, for example, periodically.
- the virtual server setting processing unit 10C waits until the sign detection unit 10B detects that an event indicating a sign of occurrence of failover has occurred (S500).
- the virtual server setting processing unit 10C transmits data for a substitute process preparation request to the server 100 (S502).
- the virtual server setting processing unit 10C determines whether or not a return value ⁇ 1 is returned to the server 100 as a response to the execution state confirmation command (S504).
- the virtual server setting processing unit 10C determines whether or not a predetermined period has elapsed since the data for the substitute processing preparation request was transmitted. Is determined (S506). When the predetermined period has not elapsed since the data for the substitute process preparation request was transmitted, the virtual server setting processing unit 10C returns to S504 and performs determination.
- the virtual server setting processing unit 10C transmits data for the substitute process preparation end request to the server 100 (S508), and ends one routine of this flowchart. .
- the virtual server setting processing unit 10C causes the job management unit 10A to perform a recovery process (S510), and executes one routine of this flowchart. finish.
- FIG. 9 is an example of a flowchart showing a flow of processing executed by the server 100 according to the first embodiment. This flowchart is repeatedly executed, for example, periodically.
- the server 100 waits until receiving data for an alternative process preparation request (S550).
- the server 100 Upon receiving the data for the alternative process preparation request, the server 100 sets the virtual server 100C and the execution state confirmation unit 100D (S552).
- the execution state confirmation unit 100D of the server 100 determines whether or not a failover has occurred in the job management unit 10A (S554).
- the server 100 determines whether or not the data for the substitute processing preparation end request has been received (S556). If the data for the substitute process preparation end request has not been received, the server 100 returns to S554 and performs the determination by the execution state confirmation unit 100D.
- the server 100 When receiving the data for the alternative process preparation end request, the server 100 deletes the virtual server 100C, the execution state confirmation unit 100D, and the job information 110A (S558), and ends one routine of this flowchart.
- the server 100 starts an alternative process (S560).
- the execution state confirmation unit 100D of the server 100 determines whether or not the job management unit 10A can be restored (S562). As described above, this determination is performed with reference to the return value of the execution state confirmation command. If the job management unit 10A is not recoverable, the execution state confirmation unit 100D periodically and repeatedly executes the determination in S562.
- the virtual server 100C of the server 100 transfers the job information 110A to the storage device 11 of the server 10 (S564).
- the server 100 waits until a deletion request is received from the server 10 (S566).
- the server 100C deletes the virtual server 100C, the execution state confirmation unit 100D, and the job information 110A (S568).
- One routine of the flowchart ends.
- an alternative processing preparation end request is issued when a predetermined period has elapsed without failing over from the time when the alternative processing preparation request was made. Therefore, it is possible to reduce waste of resources.
- the processing apparatus processing system, and program according to the first embodiment of the present invention, after making a substitute processing preparation request, the progress information that changes according to the execution progress of the job is transmitted. It is possible to maintain a state where can be started.
- processing unit in claim 1 corresponds to, for example, the job management unit 10A
- control unit corresponds to, for example, the virtual server setting processing unit 10C
- processing device corresponds to, for example, the server 10.
- Alternative processing device corresponds to the server 100, for example.
- FIG. 10 is a system configuration example of the processing system 2 according to the second embodiment of the present invention.
- the processing system 2 includes servers 20, 22, 25 and a server 200.
- the servers 20 and 22 perform spontaneous processing according to a schedule, such as automatic operation processing of the system, for example. Further, the present invention is not limited thereto, and the servers 20 and 22 may be connected to the client computer via the LAN, perform processing according to a request from the client computer, and provide the processing result to the client computer. Further, the servers 20 and 22 may perform processing according to a request input to an input / output unit (not shown) by an operator or the like.
- the server 20 and the server 22 are connected by a communication line 27, for example.
- the server 25 is connected to the communication line 27 and monitors the servers 20 and 22 as will be described later.
- the number of servers monitored by the server 25 is not limited to two as shown in FIG. 10, and may be any number.
- the servers 20, 22, 25 and the server 200 are connected by a network 50 such as the Internet.
- the server 200 provides a cloud service to the servers 20, 22, 25, and other devices connected to the network 50.
- the hardware configurations of the servers 20, 22, 25 and the server 200 are the same as those of the server 10 according to the first embodiment, so that the description will be omitted with reference to FIG.
- the server 20 includes a job management unit 20A, a virtual server setting processing unit 20C, and a progress information transmission unit 20D as functional units that function when the CPU executes a program.
- the server 22 includes a job management unit 22A, a virtual server setting processing unit 22C, and a progress information transmission unit 22D as functional units that function when the CPU executes a program.
- the server 25 includes a sign detection unit 25B and an execution state confirmation unit 25D as functional units that function when the CPU executes the program.
- the server 20 includes a storage device 21 that functions as an auxiliary storage device or a memory device.
- the storage device 21 stores job information 21A.
- the server 22 includes a storage device 23 that functions as an auxiliary storage device or a memory device.
- the storage device 23 stores job information 23A.
- the server 200 includes a schedule management unit 200A and a job execution management unit 200B as functional units that function when the CPU executes a program.
- the server 200 also includes a storage device 210 that functions as an auxiliary storage device or a memory device.
- the functional blocks provided in the servers 20, 22, 25, and 200 do not need to be realized by a clearly separated program, and may be called by another program as a subroutine or function. Further, a part of the functional blocks may be hardware means such as LSI, IC, FPGA or the like.
- the job management units 20A and 22A perform various information processing as described above, for example.
- the processing performed by the job management units 20A and 22A is performed in units of job nets JN in which jobs JB including application programs AP are collected, for example.
- the job JB is an object including an application program AP for processing business, and includes a batch file / shell script, a command, and the like.
- the job net JN is a set of one or more jobs JB having a series of flows.
- the job management unit 10A is not limited to performing information processing, and may perform processing for data management, for example.
- the server 25 of this embodiment monitors failover for the servers 20 and 22.
- the sign detection unit 25B of the server 25 detects whether or not an event indicating a sign of occurrence of failover has occurred in the job management units 20A and 22A.
- the “event indicating a sign of the occurrence of failover” is the same as in the first embodiment, and a description thereof will be omitted.
- the sign detection unit 25B checks, for example, at regular intervals whether or not an event indicating a sign of occurrence of failover has occurred.
- the sign detection unit 25B may set a different confirmation interval for each event.
- the sign detection unit 25 ⁇ / b> B When the sign detection unit 25 ⁇ / b> B detects an event indicating a sign of the occurrence of failover with respect to the server 20, the sign detection unit 25 ⁇ / b> B transmits a sign detection signal for notifying the fact to the server 20. In addition, when the sign detection unit 25 ⁇ / b> B detects an event indicating a sign that a failover will occur with respect to the server 22, the sign detection unit 25 ⁇ / b> B transmits a sign detection signal for notifying the fact to the server 22.
- server A monitors server B
- server B uses server C. Monitoring may be performed, and cyclic monitoring in which the server C monitors the server A may be performed. Further, the processing system according to the present embodiment may perform mutual monitoring in which a pair of servers monitor each other.
- FIG. 11 is a diagram illustrating a state in which an alternative process preparation request has been made from the virtual server setting processing units 20C and 22C.
- the substitute process preparation request is made, for example, by transmitting data according to a predetermined format from the virtual server setting processing units 20C and 20D to the server 200.
- the virtual server setting processing unit 20C transfers the job information 21A stored in the storage device 21 to the storage device 210 of the server 200 when making a substitute processing preparation request.
- the job information 21A includes, for example, the server 20 name and IP address, job name, job number (job ID), application program and batch file constituting the job, job status, schedule information, job execution history (processing result) )including.
- the virtual server setting processing unit 22C transfers the job information 23A stored in the storage device 23 to the storage device 210 of the server 200 when making a substitute processing preparation request.
- the job information 23A includes, for example, the server 22 name and IP address, job name, job number (job ID), job status, schedule information, job execution history (processing) Results).
- the schedule management unit 200A and the job execution management unit 200B of the server 200 set a virtual server for each server that has made an alternative process preparation request. That is, the schedule management unit 200A and the job execution management unit 200B of the server 200 set the virtual server 200Ca based on the job information 210Aa transferred to the storage device 210 by the virtual server setting processing unit 20C. Similarly, the schedule management unit 200A and the job execution management unit 200B of the server 200 set the virtual server 200Cb based on the job information 210Ab transferred to the storage device 210 by the virtual server setting processing unit 22C.
- the job status, schedule information, and job execution history transferred to the storage device 210 are input as processing parameters to the schedule management unit 200A and the job execution management unit 200B.
- the virtual servers 200Ca and 200Cb are in a state where processing equivalent to the job management units 20A and 22A, that is, alternative processing can be started.
- the progress information transmission unit 20D transmits progress information that changes according to the job execution progress by the job management unit 20A to the server 200 at a predetermined cycle, for example.
- the progress information transmitted by the progress information transmitting unit 20D is, for example, job status, schedule information, and job execution history, and the information transferred to the storage device 210 is rewritten by these information.
- the progress information transmitting unit 22D sends progress information that changes according to the job execution progress by the job management unit 22A to the server 200 at a predetermined cycle, for example. Send.
- the progress information transmitted by the progress information transmitting unit 22D is, for example, job status, schedule information, and job execution history, and the information transferred to the storage device 210 is rewritten by these information.
- the virtual server 200Ca refreshes without acquiring the status information again even when the job management unit 20A executes the job and the job status changes after the substitute processing preparation request is made.
- the alternative process can be started using the state information.
- the virtual server 200Cb refreshes without acquiring the status information again even when the job management unit 22A executes the job and changes the job status after the substitute processing preparation request is made.
- the alternative process can be started using the state information. That is, the virtual servers 200Ca and 200Cb can grasp where to start the process when actually starting the alternative process. Therefore, the virtual servers 200Ca and 200Cb can maintain a state in which the alternative process can be started after the alternative process preparation request is made.
- the execution state confirmation unit 25D of the server 25 transmits an execution state confirmation command (checkprocess) to the servers 20 and 22, for example, at a predetermined cycle in order to confirm the execution state of the job management units 20A and 22B.
- the execution status confirmation command is transmitted to the server in which an event indicating a sign of failover is detected.
- the server 20 or 22 executes the instruction described in the execution state confirmation command. Since the flow of processing performed as a result of executing the execution state confirmation command is the same as that described with reference to FIG. 4 in the first embodiment, description thereof is omitted.
- the return value of the execution state confirmation command is returned to the execution state confirmation unit 25D of the server 25.
- the execution state confirmation unit 25D receives the return value ⁇ 1 from the server 20 or 22, the execution state confirmation unit 25D determines that a failover has occurred that makes it impossible to execute the processing executed by the job management unit 20A or 20B, and starts substitution processing on the server 200.
- the execution state confirmation unit 25D transmits a failover occurrence notification indicating that failover has occurred in the corresponding server to the schedule management unit 200A.
- the schedule management unit 200A notifies the job execution management unit 200B that a failover has occurred to the job management unit 22A of the server 22.
- the job execution management unit 200B causes the virtual server 200Cb to start executing the application program.
- the virtual server 200Cb acquires input information input to the job management unit 22A from the server 22, performs processing equivalent to that of the job management unit 22A, and stores the processing result in the storage device 210.
- the processing result is added to a part of the job information 210Ab, for example.
- FIG. 12 is a diagram illustrating a state where the substitution process of the job management unit 22A is started.
- the execution state confirmation unit 25D transmits an execution state confirmation command to the servers 20 and 22 at a predetermined cycle, for example, even after the substitution process is started. Then, when the execution status confirmation unit 25D receives the return value 1 from the server on which the substitution process is started, the execution state confirmation unit 25D transmits a recoverable notification indicating that the job management unit of the server can be recovered, for example, to the schedule management unit 200A. To do. Hereinafter, only the server 22 will be described, but the same processing is performed for the server 20 as well.
- the schedule management unit 200A that has received the recoverability notification for the job management unit 22A notifies the job execution management unit 200B that the job management unit 22A can be recovered.
- the job execution management unit 200B causes the virtual server 200Cb to stop executing the application program.
- the virtual server 200Cb transfers the job information 210Ab including the processing result of the virtual server 200Cb stored in the storage device 210 to the storage device 23 of the server 22.
- the virtual server setting processing unit 22C of the server requests the server 200 to delete the virtual server 200Cb and the job information 210Ab.
- a “deletion request” is referred to as a “deletion request”.
- FIG. 13 is a diagram illustrating how the job management unit 22A recovers from the state illustrated in FIG.
- the virtual server setting processing unit 20C requests the server 200 to end the state where the alternative processing can be started when the setting condition is satisfied after making the alternative processing preparation request.
- the setting condition is, for example, that a predetermined period has elapsed without a failover occurring in the job management unit 20A from the time when the substitute process preparation request is made.
- the virtual server setting processing unit 20C starts time measurement by a timer when an alternative process preparation request is made, and makes an alternative process preparation end request when the time counted by the timer elapses for a predetermined period (for example, about 30 [min]).
- the predetermined period may be set as a default value in advance and can be changed by the user.
- the virtual server setting processing unit 22C requests the server 200 to end a state where the substitute process can be started when a setting condition is satisfied.
- the setting condition is, for example, that a predetermined period has elapsed without a failover occurring in the job management unit 22A from the time when the substitute process preparation request is made.
- the virtual server setting processing unit 22C starts time measurement by a timer when an alternative process preparation request is made, and makes an alternative process preparation end request when a predetermined time period (for example, about 30 [min]) elapses.
- the predetermined period may be set as a default value in advance and can be changed by the user.
- the content of the substitute process preparation end request by the virtual server setting processing unit 20C includes requesting the server 200 to delete the virtual server 200Ca and the job information 210Aa.
- the contents of the substitute process preparation end request by the virtual server setting processing unit 22C include requesting the server 200 to delete the virtual server 200Cb and the job information 210Ab.
- FIG. 14 is a diagram illustrating a state in which a predetermined period has elapsed without failover occurring in the job management unit 20A.
- FIG. 14 shows a state where failover has occurred in the job management unit 22A and substitution processing has started.
- the servers 20 and 22 can reduce operational costs. Since the server 200 is a server that provides a cloud service, the server 200 is generally charged according to the set time of each virtual server. Therefore, the servers 20 and 22 make the virtual server continue to exist by requesting the corresponding virtual server to be deleted when a predetermined period has passed without failing over from the time when the substitute processing preparation request was made. Compared with, the billing amount can be reduced. Further, even when the server 200 provides a service free of charge or is operated by the same company as the servers 20 and 22, the memory capacity and power consumption of the server 200 can be reduced. Can reduce operational costs.
- FIG. 15 is an example of a flowchart illustrating a flow of processing executed by the virtual server setting processing units 20C and 22C of the servers 20 and 22 according to the second embodiment. This flowchart is repeatedly executed, for example, periodically. 15 and 16 are described as related to the server 20, but the same processing is performed for the server 22.
- the virtual server setting processing unit 20C waits until it receives a sign detection signal from the sign detection unit 25B (S600).
- the virtual server setting processing unit 20C Upon receiving the sign detection signal from the sign detection unit 25B, the virtual server setting processing unit 20C transmits data for an alternative process preparation request to the server 200 (S602).
- the virtual server setting processing unit 20C determines whether or not a return value-1 is returned to the server 200 as a response to the execution state confirmation command (S604).
- the virtual server setting processing unit 20C determines whether or not a predetermined period has elapsed since the data for the substitute processing preparation request was transmitted. Is determined (S606). When the predetermined period has not elapsed since the data for the substitute process preparation request has been transmitted, the virtual server setting processing unit 20C returns to S604 and makes a determination.
- the virtual server setting processing unit 20C transmits a substitute process preparation end request to the server 200 (S608), and ends one routine of this flowchart. .
- the virtual server setting processing unit 20C causes the job management unit 20A to perform a recovery process (S610), and executes one routine of this flowchart. finish.
- FIG. 16 is an example of a flowchart showing a flow of processing executed by the server 200 according to the second embodiment. This flowchart is repeatedly executed, for example, periodically.
- the server 200 waits until receiving data for an alternative process preparation request from the server 20 (S650).
- the server 200 sets the virtual server 200Ca (S652).
- the server 200 determines whether or not a failover occurrence notification is received from the execution state confirmation unit 25D (S654).
- the server 200 determines whether or not the data for the substitute process preparation end request has been received from the server 20 (S656). When the data for the alternative process preparation end request has not been received from the server 20, the server 200 returns to S654 and makes a determination.
- the server 200 Upon receipt of the data for the substitute processing preparation end request, the server 200 deletes the virtual server 200Ca and the job information 210Aa (S658), and ends one routine of this flowchart.
- the server 200 starts an alternative process (S660).
- the OS (not shown) of the server 200 waits until it receives a recoverability notification indicating that the job management unit 20A can be recovered from the execution state confirmation unit 25D (S662).
- the virtual server 200Ca of the server 200 transfers the job information 210Aa to the storage device 21 of the server 20 (S664).
- the server 200 waits until a deletion request is received from the server 20 (S666).
- the deletion request is received from the server 20
- the virtual server 200Ca and the job information 210Aa are deleted (S668). End the routine.
- an alternative process preparation end request is issued when a predetermined period has elapsed without failing over from the time when the alternative process preparation request was made. Therefore, it is possible to reduce waste of resources.
- the progress information that changes according to the job execution progress is transmitted. It is possible to maintain a state where can be started.
- the server 25 includes the execution state confirmation unit 25D and confirms whether or not a failover has occurred.
- one of the servers 20, 22, 25 is in the execution state.
- the confirmation tool TL may be transmitted to the server 200 to perform execution state confirmation.
- the “processing unit” in claim 1 corresponds to, for example, the job management units 20A and 22A
- the “control unit” corresponds to, for example, the virtual server setting processing units 20C and 22C
- the “processing device” includes, for example, a server
- the “alternative processing device” corresponds to the server 200, for example.
- execution state confirmation unit corresponds to the execution state confirmation unit 25D, for example.
- FIG. 17 is a system configuration example of the processing system 3 according to the third embodiment of the present invention.
- the processing system 3 includes a server 30, a server 32, and a shared memory 35.
- the server 30 performs voluntary processing according to a schedule, for example, automatic operation processing of the system.
- the server 30 may be connected to a client computer via a LAN, perform processing according to a request from the client computer, and provide a processing result to the client computer. Further, the server 30 may perform processing in response to a request input to an input / output means (not shown) by an operator or the like.
- the server 30 and the server 32 are connected by a communication line 37, for example.
- the server 32 functions as an alternative processing device for the server 30.
- the servers 30 and 32 can access the shared memory 35 by, for example, the memory bus 38.
- the hardware configuration of the servers 30 and 32 is the same as that of the server 10 and the like according to the first embodiment, so that FIG. 2 is referred to and description thereof is omitted.
- the server 30 includes a job management unit 30A, a sign detection unit 30B, and an activation control unit 30C as functional units that function when the CPU executes a program stored in an auxiliary storage device (not shown).
- the server 32 includes a job management unit 32A and an execution state confirmation unit 32D as functional units that function when the CPU executes a program stored in an auxiliary storage device (not shown).
- the functional blocks provided in the servers 30 and 32 do not need to be realized by a clearly separated program, and may be called by another program as a subroutine or function. Further, a part of the functional blocks may be hardware means such as LSI, IC, FPGA or the like.
- the shared memory 35 is, for example, an auxiliary storage device or a memory device, and stores job information 35A.
- the job management unit 30A performs various information processing as described above, for example.
- the processing performed by the job management unit 30A is performed in units of job nets JN in which jobs JB including application programs AP are collected.
- the job JB is an object including an application program AP for processing business, and includes a batch file / shell script, a command, and the like.
- the job net JN is a set of one or more jobs JB having a series of flows.
- the job management unit 30A is not limited to information processing, and may perform processing for data management, for example.
- the history and the like are stored in the shared memory 35 as job information 35A.
- the job information 35A includes, for example, a job name, a job number (job ID), a job status, schedule information, and a job execution history (processing result).
- job ID job number
- job status job status
- schedule information schedule information
- job execution history processing result
- the application program executed by the job management unit 30A, the batch file, and the like are held by the server 32 functioning as an alternative processing apparatus, and therefore need not necessarily be included in the job information 35A.
- the sign detection unit 30B detects whether or not an event indicating a sign of occurrence of failover has occurred, in which the process executed by the job management unit 30A is not executable.
- the “event indicating a sign of the occurrence of failover” is the same as in the first embodiment, and a description thereof will be omitted.
- the sign detection unit 30B checks, for example, at regular intervals whether an event indicating a sign of occurrence of failover has occurred.
- the sign detection unit 30B may set a different confirmation interval for each event.
- the sign detection unit 30B When the sign detection unit 30B detects an event indicating a sign of the occurrence of a failover in the job management unit 30A, the sign detection unit 30B outputs that fact to the activation control unit 30C.
- start control unit 30C instructs a power supply circuit (not shown), an OS, and the like to start the server 32.
- the server 32 stores in advance an auxiliary storage device or the like a program for causing the job management unit 32A to perform processing equivalent to that of the server 30, that is, alternative processing, by referring to the job information 35A. Therefore, when the server 32 is activated by the activation control unit 30C, the server 32 is activated, the job management unit 32A is operable, and the job management unit 30A can start substitution processing.
- FIG. 18 is a diagram illustrating how the server 32 is activated.
- the execution state confirmation unit 32D of the server 32 transmits an execution state confirmation command (checkprocess) to the server 30 in a predetermined cycle, for example, in order to confirm the execution state of the job management unit 30A.
- the server 30 executes the command described in the execution state confirmation command. Since the flow of processing performed as a result of executing the execution state confirmation command is the same as that described with reference to FIG. 4 in the first embodiment, description thereof is omitted.
- the return value of the execution state confirmation command is returned to the execution state confirmation unit 32D of the server 32.
- the execution state confirmation unit 32D determines that a failover has occurred that makes the process executed by the job management unit 30A unexecutable, and causes the job management unit 32A to start a substitution process.
- the job management unit 32A acquires input information input to the job management unit 30A from the server 30, performs processing equivalent to the job management unit 30A, and stores the processing result in the shared memory 35. The processing result is added to a part of the job information 35A, for example.
- FIG. 19 is a diagram illustrating a state in which substitution processing is started by the job management unit 30A.
- the execution state confirmation unit 32D transmits an execution state confirmation command to the server 30 at a predetermined cycle, for example, even after the substitution process is started.
- the execution status confirmation unit 32D receives the return value 1 from the server 30, the job management unit 32A stops the alternative process, shuts down the server 30, and turns off the server 30.
- the activation control unit 30C performs control to shut down the server 32 and turn off the server 32 when the setting condition is satisfied after the server 32 is activated.
- the setting condition is, for example, that a predetermined period of time has elapsed from the time when the server 32 is activated (or from the time when the main process of the job management unit 32A is activated) without causing failover in the job management unit 30A.
- the activation control unit 30C starts timing by the timer, and when the time counted by the timer elapses for a predetermined period (for example, about 30 [min]), the server 32 is shut down and the server 32 is turned off.
- the predetermined period may be set as a default value in advance and can be changed by the user.
- FIG. 20 is a diagram illustrating a state in which a predetermined period has elapsed without failover occurring in the job management unit 30A.
- the servers 30 and 32 can reduce operational costs. Since the server 32 is activated and can enter the alternative process, the server 32 is shut down after a predetermined period without actually failing over, so that power consumption can be reduced. Further, by storing job execution results and the like in the shared memory 35 accessible by both the servers 30 and 32, the server 32 can maintain a state in which alternative processing can be started. As a result, the servers 30 and 32 can quickly transfer processing between the servers.
- FIG. 21 is an example of a flowchart showing a flow of processing executed by the activation control unit 30C of the server 30 according to the third embodiment. This flowchart is repeatedly executed, for example, periodically.
- the activation control unit 30C determines whether or not the sign detection unit 30B has detected that an event indicating a sign of a failover occurring has occurred (S700).
- the activation control unit 30C activates the server 32 (S702).
- the activation control unit 30C determines whether or not a return value-1 is returned to the server 32 as a response to the execution state confirmation command (S704).
- the activation control unit 30C causes the job management unit 30A to perform recovery processing (S706).
- FIG. 22 is an example of a flowchart showing a flow of processing executed by the execution state confirmation unit 32D of the server 32 according to the third embodiment. This flowchart is started when the server 32 is activated.
- the execution state confirmation unit 32D activates a main process for causing the job management unit 32A to function (S750).
- the execution state confirmation unit 32D determines whether or not the return value-1 is received from the server 30 (S752).
- the execution state confirmation unit 32D causes the job management unit 32A to start the substitution process of the job management unit 30A (S754).
- the execution state confirmation unit 32D waits until the return value 1 is received from the server 30 (S756).
- the execution state confirmation unit 32D causes the job management unit 32A to stop the substitution process, shuts down the server 32, and turns off the server 32 (S758).
- the execution state confirmation unit 32D determines whether or not a predetermined period has elapsed since the start of the server 32 (S760). If the predetermined period has not elapsed since the start of the server 32, the execution state confirmation unit 32D returns to S752 and performs determination.
- the execution state confirmation unit 32D shuts down the server 32 and turns off the server 32 (S762).
- the server 32 is shut down if a predetermined period elapses without actually failing over after the server 32 is started. Therefore, power consumption can be reduced.
- the processing apparatus and the like according to the third embodiment of the present invention can reduce waste of resources. Further, by storing job execution results and the like in the shared memory 35 accessible by both the servers 30 and 32, the server 32 can maintain a state in which alternative processing can be started. As a result, the servers 30 and 32 can quickly transfer processing between the servers.
- the “processing unit” in claim 13 corresponds to, for example, the job management unit 30A
- the “control unit” corresponds to, for example, the activation control unit 30C
- the “processing device” corresponds to, for example, the server 30
- the “alternative processing device” corresponds to the server 32, for example.
- both the “processing device” and the “alternative processing device” in the claims may be a device that provides a cloud service.
- the present invention can be used in the computer manufacturing industry, computer software industry, computer service providing industry, data management service providing industry, and the like.
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)
- Debugging And Monitoring (AREA)
Abstract
処理部により実行される処理が実行不能となる予兆を示す事象が生じたか否かを検知する予兆検知部と、前記予兆検知部により前記予兆を示す事象が生じたことが検知されたとき、前記処理装置において行われる処理の代替処理を行うことが可能な代替処理装置に、該代替処理を開始可能な状態となるように依頼し、該開始可能な状態となるように依頼した後、設定条件が成立したときに前記代替処理を開始可能な状態を終了するように前記代替処理装置に依頼する制御部と、を備える処理装置。
Description
本発明は、処理装置、処理システム、及びプログラムに関する。
従来、複数の記憶装置のうち、将来的に故障すると予測された記憶装置に格納されているデータを、複数の記憶装置が全て同一の記憶容量を有していないことから生じる余剰記憶領域にコピーするディスクアレイコントローラが知られている。このディスクアレイコントローラのCPU部は、予測された記憶装置が故障した場合において、予測された記憶装置に対するリード又はライトアクセスがあったときに、余剰記憶領域にコピーしたデータによりリード又はライトアクセスを実行する。
しかしながら、上記従来のディスクアレイコントローラでは、将来的に故障すると予測された記憶装置に格納されているデータを余剰記憶領域にコピーした後、故障の予測がはずれることに対する配慮がなく、リソースを無駄に消費する問題がある。
一つの側面では、本発明は、リソースの浪費の抑制を図ることを目的とする。
本発明の一態様は、処理部により実行される処理が実行不能となる予兆を示す事象が生じたか否かを検知する予兆検知部と、前記予兆検知部により前記予兆を示す事象が生じたことが検知されたとき、前記処理装置において行われる処理の代替処理を行うことが可能な代替処理装置に、該代替処理を開始可能な状態となるように依頼し、該開始可能な状態となるように依頼した後、設定条件が成立したときに前記代替処理を開始可能な状態を終了するように前記代替処理装置に依頼する制御部と、を備える処理装置である。
一実施態様によれば、リソースの浪費の抑制を図ることができる。
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
<第1実施例>
以下、図面を参照し、本発明の第1実施例に係る処理装置、処理システム、及びプログラムについて説明する。
以下、図面を参照し、本発明の第1実施例に係る処理装置、処理システム、及びプログラムについて説明する。
[全体構成]
図1は、本発明の第1実施例に係る処理システム1のシステム構成例である。処理システム1は、サーバ10と、サーバ100とを備える。
図1は、本発明の第1実施例に係る処理システム1のシステム構成例である。処理システム1は、サーバ10と、サーバ100とを備える。
サーバ10は、例えばシステムの自動運転処理等、スケジュールに従った自発的な処理を行う。また、これに限らず、サーバ10は、LANを介してクライアントコンピュータに接続され、クライアントコンピュータからの要求に応じた処理を行い、処理結果をクライアントコンピュータに提供するものであってもよい。また、サーバ10は、オペレータ等により図示しない入出力手段に対して入力された要求に応じた処理を行ってもよい。
サーバ10とサーバ100は、例えばインターネット等のネットワーク50によって接続されている。サーバ100は、サーバ10その他のネットワーク50に接続された装置に対して、クラウドサービスを提供する。
図2は、サーバ10及びサーバ100のハードウェア構成例である。サーバ10及びサーバ100は、例えば、CPU(Central Processing Unit)Aと、ドライブ装置Bと、補助記憶装置Dと、メモリ装置Eと、インターフェース装置Fと、入力装置Gと、表示装置Hと、を備える。これらの構成要素は、バスやシリアル回線等を介して接続されている。また、サーバ10及びサーバ100は、図示しないタイマやDMA(Direct Memory Access)コントローラ、割り込みコントローラ等を備えてよい。なお、図1では、補助記憶装置とメモリ装置を区別せず、単に記憶装置11、110と表現している。
CPUAは、例えば、プログラムカウンタや命令デコーダ、各種演算器、LSU(Load Store Unit)、汎用レジスタ等を有するプロセッサである。ドライブ装置Bは、記憶媒体Cからプログラムやデータを読み込み可能な装置である。プログラムを記録した記憶媒体Cがドライブ装置Bに装着されると、プログラムが記憶媒体Cからドライブ装置Bを介して補助記憶装置Dにインストールされる。記憶媒体Cは、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ等の可搬型の記憶媒体である。また、補助記憶装置Dは、例えば、HDD(Hard Disk Drive)やフラッシュメモリである。
プログラムのインストールは、上記のように記憶媒体Cを用いる他、インターフェース装置Fがネットワークを介して他のコンピュータよりダウンロードし、補助記憶装置Dにインストールすることによって行うこともできる。ネットワークは、インターネット、LAN(Local Area Network)、無線ネットワーク等である。また、プログラムは、サーバ10又はサーバ100の出荷時に、予め補助記憶装置DやROM(Read Only Memory)等に格納されていてもよい。
このようにしてインストール又は予め格納されたプログラムをCPUAが実行することにより、図2に示す態様の情報処理装置が、本実施例のサーバ10又はサーバ100として機能することができる。
メモリ装置Eは、例えば、RAM(Random Access Memory)やEEPROM(Electrically Erasable and Programmable Read Only Memory)である。インターフェース装置Fは、上記ネットワークとの接続等を制御する。
入力装置Gは、例えば、キーボード、マウス、ボタン、タッチパッド、タッチパネル、マイク等である。また、表示装置Hは、例えば、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)等の表示装置である。サーバ10及びサーバ100は、表示装置Hの他、プリンタ、スピーカ等の他の種類の出力装置を備えてもよい。
なお、サーバ10及びサーバ100が同じハードウェア構成を有する必要はなく、それぞれが、図2に示すハードウェアから一部の要素を削除、又は他の要素に置換したものであってよく、他の要素を付加したものであっても構わない。
サーバ10は、CPUがプログラムを実行することにより機能する機能部として、ジョブ管理部10Aと、予兆検知部10Bと、仮想サーバ設定処理部10Cと、経過情報送信部10Dとを備える。
また、サーバ10は、図2における補助記憶装置D或いはメモリ装置Eとして機能する記憶装置11を備える。記憶装置11には、ジョブ情報11Aが格納される。
サーバ100は、CPUがプログラムを実行することにより機能する機能部として、スケジュール管理部100Aと、ジョブ実行管理部100Bとを備える。また、サーバ100は、図2における補助記憶装置D或いはメモリ装置Eとして機能する記憶装置110を備える。
サーバ10、100が備える機能ブロックは、明確に分離したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。また、機能ブロックの一部が、LSI(Large Scale Integrated circuit)、IC(Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェア手段であっても構わない。
ジョブ管理部10Aは、例えば上記のように、種々の情報処理等を行う。ジョブ管理部10Aが行う処理は、例えばアプリケーションプログラムAPを包含するジョブJBが集合したジョブネットJN単位で行われる。ジョブJBは、業務を処理するためのアプリケーションプログラムAPを包含しているオブジェクトであり、バッチファイル/シェルスクリプト、コマンドなどを含む。また、ジョブネットJNは、一連の流れを有する一以上のジョブJBの集合である。ジョブ管理部10Aは、情報処理を行うのに限らず、例えばデータ管理のための処理を行うものであってもよい。
[予兆検知]
予兆検知部10Bは、ジョブ管理部10Aが実行する処理が実行不能となる、フェールオーバが発生する予兆を示す事象が生じたか否かを検知する。「フェールオーバが発生する予兆を示す事象」は、例えば以下に列挙する事象のいずれか又は組み合わせである。予兆検知部10Bは、このような事象が生じているかどうかを、例えば一定間隔で確認する。なお、予兆検知部10Bは、事象毎に異なる確認間隔を設定してもよい。
(ハードウェアに関する事象)
・CPUを冷却する冷却ファンに異常が発生した
・CPUの縮退運転が発生した
・サーバ10の電源ユニットに障害が発生した
・ネットワーク50との通信インターフェースであるNIC(Network Interface Card)、或いはクライアントコンピュータとの通信を行うローカルLANやネットワーク50に異常が発生した
・ネットワーク50やサーバ10、或いは上記ローカルLAN等が高負荷状態となった
・ディスク異常(ディスクI/Oのハングアップなど)が生じた
(ソフトウェアに関する事象)
・常駐プロセスが停止し、その後再起動された
・CPU使用率が、長時間、閾値を超えた
・メモリ不足が生じた
・アプリケーションプログラムがハングアップした、或いはアプリケーションのレスポンス異常が検出された
[代替処理準備依頼]
予兆検知部10Bが上記のような事象を検知すると、仮想サーバ設定処理部10Cは、サーバ100上に仮想サーバ100Cを設定し、ジョブ管理部10Aと同等の処理すなわち代替処理を開始可能な状態となるように、サーバ100に依頼する。以下、係る依頼を「代替処理準備依頼」と称する。図3は、代替処理準備依頼がなされた状態を示す図である。代替処理準備依頼は、例えば仮想サーバ設定処理部10Cからサーバ100に対して所定のフォーマットに従ったデータを送信することによって行われる。
予兆検知部10Bは、ジョブ管理部10Aが実行する処理が実行不能となる、フェールオーバが発生する予兆を示す事象が生じたか否かを検知する。「フェールオーバが発生する予兆を示す事象」は、例えば以下に列挙する事象のいずれか又は組み合わせである。予兆検知部10Bは、このような事象が生じているかどうかを、例えば一定間隔で確認する。なお、予兆検知部10Bは、事象毎に異なる確認間隔を設定してもよい。
(ハードウェアに関する事象)
・CPUを冷却する冷却ファンに異常が発生した
・CPUの縮退運転が発生した
・サーバ10の電源ユニットに障害が発生した
・ネットワーク50との通信インターフェースであるNIC(Network Interface Card)、或いはクライアントコンピュータとの通信を行うローカルLANやネットワーク50に異常が発生した
・ネットワーク50やサーバ10、或いは上記ローカルLAN等が高負荷状態となった
・ディスク異常(ディスクI/Oのハングアップなど)が生じた
(ソフトウェアに関する事象)
・常駐プロセスが停止し、その後再起動された
・CPU使用率が、長時間、閾値を超えた
・メモリ不足が生じた
・アプリケーションプログラムがハングアップした、或いはアプリケーションのレスポンス異常が検出された
[代替処理準備依頼]
予兆検知部10Bが上記のような事象を検知すると、仮想サーバ設定処理部10Cは、サーバ100上に仮想サーバ100Cを設定し、ジョブ管理部10Aと同等の処理すなわち代替処理を開始可能な状態となるように、サーバ100に依頼する。以下、係る依頼を「代替処理準備依頼」と称する。図3は、代替処理準備依頼がなされた状態を示す図である。代替処理準備依頼は、例えば仮想サーバ設定処理部10Cからサーバ100に対して所定のフォーマットに従ったデータを送信することによって行われる。
仮想サーバ設定処理部10Cは、代替処理準備依頼を行う際に、記憶装置11に格納されたジョブ情報11Aを、サーバ100の記憶装置110に転送する。ジョブ情報11Aは、例えば、サーバ10の名称及びIPアドレス、ジョブ名、ジョブ番号(ジョブID)、ジョブを構成するアプリケーションプログラムやバッチファイル等、ジョブの状態、スケジュール情報、ジョブの実行履歴(処理結果)を含む。
また、仮想サーバ設定処理部10Cは、代替処理準備依頼を行う際に、ジョブ管理部10Aの実行状態を確認するためのソフトウェアである「実行状態確認ツールTL」をサーバ100に送信する。
サーバ100のスケジュール管理部100A及びジョブ実行管理部100Bは、記憶装置110に転送されたジョブ情報110Aに基づいて仮想サーバ100Cを設定する。また、記憶装置110に転送されたジョブの状態、スケジュール情報、ジョブの実行履歴は、スケジュール管理部100A及びジョブ実行管理部100Bに処理パラメータとして入力される。これによって、仮想サーバ100Cは、ジョブ管理部10Aと同等の処理すなわち代替処理が開始可能な状態となる。
[経過情報送信]
経過情報送信部10Dは、仮想サーバ設定処理部10Cが代替処理準備依頼を行うと、ジョブ管理部10Aによるジョブの実行経過に応じて変化する経過情報を、例えば所定周期でサーバ100に送信する。経過情報送信部10Dが送信する経過情報は、例えばジョブの状態、スケジュール情報、ジョブの実行履歴であり、これらの情報によって記憶装置110に転送された情報が、最新の情報に書き換えられる。
経過情報送信部10Dは、仮想サーバ設定処理部10Cが代替処理準備依頼を行うと、ジョブ管理部10Aによるジョブの実行経過に応じて変化する経過情報を、例えば所定周期でサーバ100に送信する。経過情報送信部10Dが送信する経過情報は、例えばジョブの状態、スケジュール情報、ジョブの実行履歴であり、これらの情報によって記憶装置110に転送された情報が、最新の情報に書き換えられる。
係る処理によって仮想サーバ100Cは、代替処理準備依頼がなされた後、ジョブ管理部10Aによりジョブの実行が進行しジョブの状態等が変化した場合であっても、改めて状態情報を取得せずにフレッシュな状態情報を用いて代替処理を開始することができる。すなわち、仮想サーバ100Cは、実際に代替処理を開始する際に、どこから処理を開始すれば良いのかを把握することができる。従って、仮想サーバ100Cは、代替処理準備依頼がなされた後、代替処理が開始可能な状態を維持することができる。
[実行状態確認]
サーバ100の例えばOS(オペレーティングシステム)は、サーバ10から受信した実行状態確認ツールTLを実行して実行状態確認部100Dを機能させる。
サーバ100の例えばOS(オペレーティングシステム)は、サーバ10から受信した実行状態確認ツールTLを実行して実行状態確認部100Dを機能させる。
実行状態確認部100Dは、ジョブ管理部10Aの実行状態を確認するために、サーバ10に対して実行状態確認コマンド(checkprocess)を、例えば所定周期で送信する。
サーバ10は、実行状態確認コマンドを受信すると、実行状態確認コマンドに記述された命令を実行する。図4は、実行状態確認コマンドを実行した結果、サーバ10により行われる処理の流れを示すフローチャートの一例である。
サーバ10は、ジョブ管理部10A中に、ジョブ管理部10Aの稼働に必要な「メインプロセス」が存在するか否かを確認する(S400)。
ジョブ管理部10Aの稼働に必要な「メインプロセス」が存在する場合、サーバ10は、ジョブ管理部10A上で動作しているジョブネットJNがスケジュール通りに実行されているか否かを確認する(S402)。
「メインプロセス」が存在し、且つジョブネットJNがスケジュール通りに実行されている場合、サーバ10は、復帰値1をサーバ100に返信する(S404)。
一方、「メインプロセス」が存在しない場合、或いはジョブネットがスケジュール通りに実行されていない場合、サーバ10は、復帰値-1をサーバ100に返信する(S406)。
(代替処理開始)
実行状態確認部100Dは、サーバ10から復帰値-1を受信すると、ジョブ管理部10Aが実行する処理が実行不能となるフェールオーバが発生したと判断し、仮想サーバ100Cに代替処理を開始させる。実行状態確認部100Dは、例えばスケジュール管理部100Aに、フェールオーバが発生したことを通知する。スケジュール管理部100Aは、ジョブ実行管理部100Bにフェールオーバが発生したことを通知する。そして、ジョブ実行管理部100Bは、仮想サーバ100Cにアプリケーションプログラムの実行を開始させる。仮想サーバ100Cは、例えば、ジョブ管理部10Aに入力される入力情報をサーバ10から取得し、ジョブ管理部10Aと同等の処理を行い、処理結果を記憶装置110に格納する。処理結果は、例えばジョブ情報110Aの一部に追加される。図5は、代替処理が開始された状態を示す図である。
実行状態確認部100Dは、サーバ10から復帰値-1を受信すると、ジョブ管理部10Aが実行する処理が実行不能となるフェールオーバが発生したと判断し、仮想サーバ100Cに代替処理を開始させる。実行状態確認部100Dは、例えばスケジュール管理部100Aに、フェールオーバが発生したことを通知する。スケジュール管理部100Aは、ジョブ実行管理部100Bにフェールオーバが発生したことを通知する。そして、ジョブ実行管理部100Bは、仮想サーバ100Cにアプリケーションプログラムの実行を開始させる。仮想サーバ100Cは、例えば、ジョブ管理部10Aに入力される入力情報をサーバ10から取得し、ジョブ管理部10Aと同等の処理を行い、処理結果を記憶装置110に格納する。処理結果は、例えばジョブ情報110Aの一部に追加される。図5は、代替処理が開始された状態を示す図である。
(復旧処理)
実行状態確認部100Dは、代替処理が開始された後も、サーバ10に対して実行状態確認コマンドを、例えば所定周期で送信する。そして、実行状態確認部100Dは、サーバ10から復帰値1を受信すると、例えばスケジュール管理部100Aに、ジョブ管理部10Aが復旧可能であることを通知する。スケジュール管理部100Aは、ジョブ実行管理部100Bにジョブ管理部10Aが復旧可能であることを通知する。そして、ジョブ実行管理部100Bは、仮想サーバ100Cにアプリケーションプログラムの実行を停止させる。係る実行停止指示に応じて仮想サーバ100Cは、記憶装置110に格納された、仮想サーバ100Cの処理結果を含むジョブ情報110Aを、サーバ10の記憶装置11に転送する。このように、復旧に応じて仮想サーバ100Cにアプリケーションプログラムの実行を停止させるため、代替処理開始後においても、不要な仮想サーバの稼働によるリソースの浪費を抑制することができる。
実行状態確認部100Dは、代替処理が開始された後も、サーバ10に対して実行状態確認コマンドを、例えば所定周期で送信する。そして、実行状態確認部100Dは、サーバ10から復帰値1を受信すると、例えばスケジュール管理部100Aに、ジョブ管理部10Aが復旧可能であることを通知する。スケジュール管理部100Aは、ジョブ実行管理部100Bにジョブ管理部10Aが復旧可能であることを通知する。そして、ジョブ実行管理部100Bは、仮想サーバ100Cにアプリケーションプログラムの実行を停止させる。係る実行停止指示に応じて仮想サーバ100Cは、記憶装置110に格納された、仮想サーバ100Cの処理結果を含むジョブ情報110Aを、サーバ10の記憶装置11に転送する。このように、復旧に応じて仮想サーバ100Cにアプリケーションプログラムの実行を停止させるため、代替処理開始後においても、不要な仮想サーバの稼働によるリソースの浪費を抑制することができる。
以上の処理が完了すると、例えばサーバ10の仮想サーバ設定処理部10Cは、仮想サーバ100C、実行状態確認部110D、及びジョブ情報110Aを削除するようにサーバ100に依頼する。以下、係る依頼を「削除依頼」と称する。図6は、図5に示す状態からジョブ管理部10Aが復旧する様子を示す図である。
[代替処理準備終了依頼]
上記のように、代替処理の準備依頼後、実際にフェールオーバが発生した場合には、仮想サーバ100Cにより代替処理が開始され、代替処理が開始された後に、復旧が可能であることが検出されると、仮想サーバ100Cのアプリケーションプログラムの実行が停止される。
上記のように、代替処理の準備依頼後、実際にフェールオーバが発生した場合には、仮想サーバ100Cにより代替処理が開始され、代替処理が開始された後に、復旧が可能であることが検出されると、仮想サーバ100Cのアプリケーションプログラムの実行が停止される。
ここでは、代替処理の準備依頼後、実際にはフェールオーバが発生しなかった場合について説明する。代替処理の準備依頼後、フェールオーバが発生しなかった場合、仮想サーバ設定処理部10Cは、代替処理を開始可能な状態を終了するようにサーバ100に依頼する。以下、係る依頼を「代替処理準備終了依頼」と称する。
仮想サーバ設定処理部10Cは、代替処理準備依頼をした後、設定条件が成立したときに、代替処理を開始可能な状態を終了するように、サーバ100に依頼する。設定条件は、例えば、代替処理準備依頼をした時点から、ジョブ管理部10Aにフェールオーバが発生せずに所定期間が経過したことである。仮想サーバ設定処理部10Cは、例えば代替処理準備依頼するとタイマによる計時を開始し、タイマの計時する時間が所定期間(例えば30[min]程度)経過すると、代替処理準備終了依頼を行う。所定期間は、予めデフォルト値として設定され、ユーザによって変更可能としてよい。
代替処理準備終了依頼の内容は、仮想サーバ100Cの停止依頼を含んでもよいし、仮想サーバ100C、実行状態確認部100D、及びジョブ情報110Aを削除するようにサーバ100に依頼することを含んでもよい。図7は、ジョブ管理部10Aにフェールオーバが発生せずに、所定期間が経過した状態を示す図である。
係る処理によって、サーバ10は、代替処理を開始可能な状態を維持するために必要なリソースの消費を抑制することができる。
また、サーバ100は、クラウドサービスを提供するサーバであるため、一般的に、仮想サーバ100Cが設定されている時間に応じて課金する仕組みとなっている。従って、サーバ10は、代替処理準備依頼をした後、フェールオーバが発生せずに所定期間が経過した場合に仮想サーバ100Cを削除するように依頼することによって、そのまま仮想サーバ100Cを存続(停止状態も含む)させるものに比して、課金額を低減することができる。また、サーバ100が無償でサービスを提供し、或いはサーバ10と同事業者によって運営される場合であっても、サーバ100におけるメモリ容量や電力消費を低減することができるため、サーバ10は、運用上のコストを低減することができる。
なお、「予兆を示す事象を検知したとき」ではなく、「フェールオーバが発生したとき」に仮想サーバ100Cを設定する場合、本実施例に比して更にコストを低減できるとも考えられる。しかしながら、この場合、サーバ100は、迅速に代替処理を開始することができない場合がある。サーバ10からクラウド環境下のサーバ100に処理を移行させるには、ジョブ情報11Aをサーバ100側にコピーする処理と、仮想サーバ100Cをジョブ情報110Aに基づいて生成する処理が必要となる。係る処理は、クラウド環境によっては比較的長い時間を要する場合があり、ジョブ管理部10Aが実行するジョブネットがリアルタイム性の高いものであれば、移行処理に要する時間によって実用性が損なわれる場合がある。従って、本実施例のように「予兆を示す事象を検知したとき」に仮想サーバ100Cを設定させることによって、サーバ100が、代替処理を迅速に開始することができる。
[フローチャート]
図8は、第1実施例に係るサーバ10の仮想サーバ設定処理部10Cにより実行される処理の流れを示すフローチャートの一例である。本フローチャートは、例えば周期的に繰り返し実行される。
図8は、第1実施例に係るサーバ10の仮想サーバ設定処理部10Cにより実行される処理の流れを示すフローチャートの一例である。本フローチャートは、例えば周期的に繰り返し実行される。
まず、仮想サーバ設定処理部10Cは、予兆検知部10Bが、フェールオーバが発生する予兆を示す事象が生じたことを検知するまで待機する(S500)。
予兆検知部10Bが、フェールオーバが発生する予兆を示す事象が生じたことを検知すると、仮想サーバ設定処理部10Cは、代替処理準備依頼のためのデータをサーバ100に送信する(S502)。
次に、仮想サーバ設定処理部10Cは、実行状態確認コマンドに対する応答としてサーバ100に復帰値-1が返信されたか否かを判定する(S504)。
実行状態確認コマンドに対する応答としてサーバ100に復帰値-1が返信されなかった場合、仮想サーバ設定処理部10Cは、代替処理準備依頼のためのデータを送信してから所定期間が経過したか否かを判定する(S506)。代替処理準備依頼のためのデータを送信してから所定期間が経過していない場合、仮想サーバ設定処理部10Cは、S504に戻り、判定を行う。
代替処理準備依頼を送信してから所定期間が経過すると、仮想サーバ設定処理部10Cは、代替処理準備終了依頼のためのデータをサーバ100に送信し(S508)、本フローチャートの1ルーチンを終了する。
一方、実行状態確認コマンドに対する応答としてサーバ100に復帰値-1が返信された場合、仮想サーバ設定処理部10Cは、ジョブ管理部10Aに復旧処理を行わせ(S510)、本フローチャートの1ルーチンを終了する。
図9は、第1実施例に係るサーバ100により実行される処理の流れを示すフローチャートの一例である。本フローチャートは、例えば周期的に繰り返し実行される。
まず、サーバ100は、代替処理準備依頼のためのデータを受信するまで待機する(S550)。
代替処理準備依頼のためのデータを受信すると、サーバ100は、仮想サーバ100Cと実行状態確認部100Dを設定する(S552)。
次に、サーバ100の実行状態確認部100Dは、ジョブ管理部10Aにフェールオーバが発生したか否かを判定する(S554)。
ジョブ管理部10Aにフェールオーバが発生していない場合、サーバ100は、代替処理準備終了依頼のためのデータを受信したか否かを判定する(S556)。代替処理準備終了依頼のためのデータを受信していない場合、サーバ100は、S554に戻り、実行状態確認部100Dによる判定を行う。
代替処理準備終了依頼のためのデータを受信すると、サーバ100は、仮想サーバ100C、実行状態確認部100D、及びジョブ情報110Aを削除し(S558)、本フローチャートの1ルーチンを終了する。
一方、ジョブ管理部10Aにフェールオーバが発生した場合、サーバ100は、代替処理を開始する(S560)。
代替処理を開始すると、サーバ100の実行状態確認部100Dは、ジョブ管理部10Aが復旧可能であるか否かを判定する(S562)。本判定は、前述のように、実行状態確認コマンドの復帰値を参照して行われる。ジョブ管理部10Aが復旧可能でない場合、実行状態確認部100Dは、S562の判定を周期的に繰り返し実行する。
実行状態確認部100Dによりジョブ管理部10Aが復旧可能であると判定されると、サーバ100の仮想サーバ100Cは、ジョブ情報110Aをサーバ10の記憶装置11に転送する(S564)。
次に、サーバ100は、サーバ10から削除依頼を受信するまで待機し(S566)、削除依頼を受信すると、仮想サーバ100C、実行状態確認部100D、及びジョブ情報110Aを削除し(S568)、本フローチャートの1ルーチンを終了する。
[まとめ]
以上説明した本発明の第1実施例に係る処理装置、処理システム、及びプログラムによれば、代替処理準備依頼をした時点からフェールオーバが発生せずに所定期間が経過した場合に代替処理準備終了依頼を行うため、リソースの浪費の抑制を図ることができる。
以上説明した本発明の第1実施例に係る処理装置、処理システム、及びプログラムによれば、代替処理準備依頼をした時点からフェールオーバが発生せずに所定期間が経過した場合に代替処理準備終了依頼を行うため、リソースの浪費の抑制を図ることができる。
また、本発明の第1実施例に係る処理装置、処理システム、及びプログラムによれば、代替処理準備依頼を行った後、ジョブの実行経過に応じて変化する経過情報を送信するため、代替処理が開始可能な状態を維持することができる。
なお、請求項1における「処理部」は、例えばジョブ管理部10Aに対応し、「制御部」は、例えば仮想サーバ設定処理部10Cに対応し、「処理装置」は、例えばサーバ10に対応し、「代替処理装置」は、例えばサーバ100に対応する。
<第2実施例>
以下、図面を参照し、本発明の第2実施例に係る処理装置、処理システム、及びプログラムについて説明する。
以下、図面を参照し、本発明の第2実施例に係る処理装置、処理システム、及びプログラムについて説明する。
[全体構成]
図10は、本発明の第2実施例に係る処理システム2のシステム構成例である。処理システム2は、サーバ20、22、25と、サーバ200とを備える。
図10は、本発明の第2実施例に係る処理システム2のシステム構成例である。処理システム2は、サーバ20、22、25と、サーバ200とを備える。
サーバ20、22は、例えばシステムの自動運転処理等、スケジュールに従った自発的な処理を行う。また、これに限らず、サーバ20、22は、LANを介してクライアントコンピュータに接続され、クライアントコンピュータからの要求に応じた処理を行い、処理結果をクライアントコンピュータに提供するものであってもよい。また、サーバ20、22は、オペレータ等により図示しない入出力手段に対して入力された要求に応じた処理を行ってもよい。
サーバ20とサーバ22は、例えば通信線27によって接続されている。サーバ25は、通信線27に接続され、後述するようにサーバ20、22の監視を行う。
サーバ25が監視するサーバの数は、図10に示す二個に限らず、如何なる数であってもよい。
また、サーバ20、22、25とサーバ200は、例えばインターネット等のネットワーク50によって接続されている。サーバ200は、サーバ20、22、25その他のネットワーク50に接続された装置に対して、クラウドサービスを提供する。
本実施例では、サーバ20、22、25及びサーバ200のハードウェア構成については、第1実施例に係るサーバ10等と同様であるため、図2を参照することとし、説明を省略する。
サーバ20は、CPUがプログラムを実行することにより機能する機能部として、ジョブ管理部20Aと、仮想サーバ設定処理部20Cと、経過情報送信部20Dとを備える。同様に、サーバ22は、CPUがプログラムを実行することにより機能する機能部として、ジョブ管理部22Aと、仮想サーバ設定処理部22Cと、経過情報送信部22Dとを備える。
サーバ25は、CPUがプログラムを実行することにより機能する機能部として、予兆検知部25Bと、実行状態確認部25Dとを備える。
また、サーバ20は、補助記憶装置或いはメモリ装置として機能する記憶装置21を備える。記憶装置21には、ジョブ情報21Aが格納される。また、サーバ22は、補助記憶装置或いはメモリ装置として機能する記憶装置23を備える。記憶装置23には、ジョブ情報23Aが格納される。
サーバ200は、CPUがプログラムを実行することにより機能する機能部として、スケジュール管理部200Aと、ジョブ実行管理部200Bとを備える。また、サーバ200は、補助記憶装置或いはメモリ装置として機能する記憶装置210を備える。
サーバ20、22、25、200が備える機能ブロックは、明確に分離したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。また、機能ブロックの一部が、LSI、ICやFPGA等のハードウェア手段であっても構わない。
ジョブ管理部20A、22Aは、例えば上記のように、種々の情報処理を行う。ジョブ管理部20A、22Aが行う処理は、例えばアプリケーションプログラムAPを包含するジョブJBが集合したジョブネットJN単位で行われる。ジョブJBは、業務を処理するためのアプリケーションプログラムAPを包含しているオブジェクトであり、バッチファイル/シェルスクリプト、コマンドなどを含む。また、ジョブネットJNは、一連の流れを有する一以上のジョブJBの集合である。ジョブ管理部10Aは、情報処理を行うのに限らず、例えばデータ管理のための処理を行うものであってもよい。
[予兆検知]
本実施例のサーバ25は、サーバ20、22に関してフェールオーバの監視を行う。サーバ25の予兆検知部25Bは、ジョブ管理部20A、22Aにフェールオーバが発生する予兆を示す事象が生じたか否かを検知する。「フェールオーバが発生する予兆を示す事象」については、第1実施例と同様であるため、説明を省略する。予兆検知部25Bは、フェールオーバが発生する予兆を示す事象が生じているかどうかを、例えば一定間隔で確認する。なお、予兆検知部25Bは、事象毎に異なる確認間隔を設定してもよい。
本実施例のサーバ25は、サーバ20、22に関してフェールオーバの監視を行う。サーバ25の予兆検知部25Bは、ジョブ管理部20A、22Aにフェールオーバが発生する予兆を示す事象が生じたか否かを検知する。「フェールオーバが発生する予兆を示す事象」については、第1実施例と同様であるため、説明を省略する。予兆検知部25Bは、フェールオーバが発生する予兆を示す事象が生じているかどうかを、例えば一定間隔で確認する。なお、予兆検知部25Bは、事象毎に異なる確認間隔を設定してもよい。
予兆検知部25Bは、サーバ20に関してフェールオーバが発生する予兆を示す事象を検知すると、その旨を通知するための予兆検知信号をサーバ20に送信する。また、予兆検知部25Bは、サーバ22に関してフェールオーバが発生する予兆を示す事象を検知すると、その旨を通知するための予兆検知信号をサーバ22に送信する。
なお、このような一括監視はあくまで一例であり、本実施例の処理システムは、例えばサーバA、B、Cが存在する場合に、サーバAがサーバBの監視を行い、サーバBがサーバCの監視を行い、サーバCがサーバAの監視を行う循環的な監視を行ってもよい。また、本実施例の処理システムは、一対のサーバが互いに監視を行う相互的な監視を行ってもよい。
[代替処理準備依頼]
サーバ20の仮想サーバ設定処理部20Cは、予兆検知信号を受信すると、サーバ200上に仮想サーバ200Caを設定し、ジョブ管理部20Aと同等の処理すなわち代替処理を開始可能な状態となるように、サーバ200に依頼する。
サーバ20の仮想サーバ設定処理部20Cは、予兆検知信号を受信すると、サーバ200上に仮想サーバ200Caを設定し、ジョブ管理部20Aと同等の処理すなわち代替処理を開始可能な状態となるように、サーバ200に依頼する。
また、サーバ22の仮想サーバ設定処理部22Cは、予兆検知信号を受信すると、サーバ200上に仮想サーバ200Cbを設定し、ジョブ管理部22Aと同等の処理すなわち代替処理を開始可能な状態となるように、サーバ200に依頼する。以下、これらの処理を「代替処理準備依頼」と称する。図11は、仮想サーバ設定処理部20C、22Cから代替処理準備依頼がなされた状態を示す図である。代替処理準備依頼は、例えば仮想サーバ設定処理部20C、20Dからサーバ200に対して所定のフォーマットに従ったデータを送信することによって行われる。
仮想サーバ設定処理部20Cは、代替処理準備依頼を行う際に、記憶装置21に格納されたジョブ情報21Aを、サーバ200の記憶装置210に転送する。ジョブ情報21Aは、例えば、サーバ20の名称及びIPアドレス、ジョブ名、ジョブ番号(ジョブID)、ジョブを構成するアプリケーションプログラムやバッチファイル等、ジョブの状態、スケジュール情報、ジョブの実行履歴(処理結果)を含む。
同様に、仮想サーバ設定処理部22Cは、代替処理準備依頼を行う際に、記憶装置23に格納されたジョブ情報23Aを、サーバ200の記憶装置210に転送する。ジョブ情報23Aには、例えば、サーバ22の名称及びIPアドレス、ジョブ名、ジョブ番号(ジョブID)、ジョブを構成するアプリケーションプログラムやバッチファイル等、ジョブの状態、スケジュール情報、ジョブの実行履歴(処理結果)が含まれる。
サーバ200のスケジュール管理部200A及びジョブ実行管理部200Bは、代替処理準備依頼を行ったサーバ毎に、仮想サーバを設定する。すなわち、サーバ200のスケジュール管理部200A及びジョブ実行管理部200Bは、仮想サーバ設定処理部20Cによって記憶装置210に転送されたジョブ情報210Aaに基づいて仮想サーバ200Caを設定する。同様に、サーバ200のスケジュール管理部200A及びジョブ実行管理部200Bは、仮想サーバ設定処理部22Cによって記憶装置210に転送されたジョブ情報210Abに基づいて仮想サーバ200Cbを設定する。また、記憶装置210に転送されたジョブの状態、スケジュール情報、ジョブの実行履歴は、スケジュール管理部200A及びジョブ実行管理部200Bに処理パラメータとして入力される。これによって、仮想サーバ200Ca、200Cbは、ジョブ管理部20A、22Aと同等の処理すなわち代替処理が開始可能な状態となる。
[経過情報送信]
経過情報送信部20Dは、仮想サーバ設定処理部20Cが代替処理準備依頼を行うと、ジョブ管理部20Aによるジョブの実行経過に応じて変化する経過情報を、例えば所定周期でサーバ200に送信する。経過情報送信部20Dが送信する経過情報は、例えばジョブの状態、スケジュール情報、ジョブの実行履歴であり、これらの情報によって記憶装置210に転送された情報が書き換えられる。
経過情報送信部20Dは、仮想サーバ設定処理部20Cが代替処理準備依頼を行うと、ジョブ管理部20Aによるジョブの実行経過に応じて変化する経過情報を、例えば所定周期でサーバ200に送信する。経過情報送信部20Dが送信する経過情報は、例えばジョブの状態、スケジュール情報、ジョブの実行履歴であり、これらの情報によって記憶装置210に転送された情報が書き換えられる。
同様に、経過情報送信部22Dは、仮想サーバ設定処理部22Cが代替処理準備依頼を行うと、ジョブ管理部22Aによるジョブの実行経過に応じて変化する経過情報を、例えば所定周期でサーバ200に送信する。経過情報送信部22Dが送信する経過情報は、例えばジョブの状態、スケジュール情報、ジョブの実行履歴であり、これらの情報によって記憶装置210に転送された情報が書き換えられる。
係る処理によって仮想サーバ200Caは、代替処理準備依頼がなされた後、ジョブ管理部20Aによりジョブの実行が進行しジョブの状態等が変化した場合であっても、改めて状態情報を取得せずにフレッシュな状態情報を用いて代替処理を開始することができる。同様に、仮想サーバ200Cbは、代替処理準備依頼がなされた後、ジョブ管理部22Aによりジョブの実行が進行しジョブの状態等が変化した場合であっても、改めて状態情報を取得せずにフレッシュな状態情報を用いて代替処理を開始することができる。すなわち、仮想サーバ200Ca、200Cbは、実際に代替処理を開始する際に、どこから処理を開始すれば良いのかを把握することができる。従って、仮想サーバ200Ca、200Cbは、代替処理準備依頼がなされた後、代替処理が開始可能な状態を維持することができる。
[実行状態確認]
サーバ25の実行状態確認部25Dは、ジョブ管理部20A、22Bの実行状態を確認するために、サーバ20、22に対して実行状態確認コマンド(checkprocess)を、例えば所定周期で送信する。実行状態確認コマンドの送信は、フェールオーバが発生する予兆を示す事象が検知されたサーバに対して行われる。
サーバ25の実行状態確認部25Dは、ジョブ管理部20A、22Bの実行状態を確認するために、サーバ20、22に対して実行状態確認コマンド(checkprocess)を、例えば所定周期で送信する。実行状態確認コマンドの送信は、フェールオーバが発生する予兆を示す事象が検知されたサーバに対して行われる。
サーバ20、22は、実行状態確認コマンドを受信すると、実行状態確認コマンドに記述された命令を実行する。実行状態確認コマンドを実行した結果として行われる処理の流れについては、第1実施例で図4を用いて説明したものと同様であるため、説明を省略する。実行状態確認コマンドの復帰値は、サーバ25の実行状態確認部25Dに返信される。
(代替処理開始)
実行状態確認部25Dは、サーバ20又は22から復帰値-1を受信すると、ジョブ管理部20A又は20Bが実行する処理が実行不能となるフェールオーバが発生したと判断し、サーバ200に代替処理を開始させる。実行状態確認部25Dは、例えばスケジュール管理部200Aに、該当するサーバにフェールオーバが発生したことを示すフェールオーバ発生通知を送信する。以下の説明では、サーバ22のジョブ管理部22Aにフェールオーバが発生したものとして説明するが、サーバ20に関しても同様である。スケジュール管理部200Aは、ジョブ実行管理部200Bに、サーバ22のジョブ管理部22Aにフェールオーバが発生したことを通知する。ジョブ実行管理部200Bは、仮想サーバ200Cbにアプリケーションプログラムの実行を開始させる。仮想サーバ200Cbは、例えば、ジョブ管理部22Aに入力される入力情報をサーバ22から取得し、ジョブ管理部22Aと同等の処理を行い、処理結果を記憶装置210に格納する。処理結果は、例えばジョブ情報210Abの一部に追加される。図12は、ジョブ管理部22Aの代替処理が開始された状態を示す図である。
実行状態確認部25Dは、サーバ20又は22から復帰値-1を受信すると、ジョブ管理部20A又は20Bが実行する処理が実行不能となるフェールオーバが発生したと判断し、サーバ200に代替処理を開始させる。実行状態確認部25Dは、例えばスケジュール管理部200Aに、該当するサーバにフェールオーバが発生したことを示すフェールオーバ発生通知を送信する。以下の説明では、サーバ22のジョブ管理部22Aにフェールオーバが発生したものとして説明するが、サーバ20に関しても同様である。スケジュール管理部200Aは、ジョブ実行管理部200Bに、サーバ22のジョブ管理部22Aにフェールオーバが発生したことを通知する。ジョブ実行管理部200Bは、仮想サーバ200Cbにアプリケーションプログラムの実行を開始させる。仮想サーバ200Cbは、例えば、ジョブ管理部22Aに入力される入力情報をサーバ22から取得し、ジョブ管理部22Aと同等の処理を行い、処理結果を記憶装置210に格納する。処理結果は、例えばジョブ情報210Abの一部に追加される。図12は、ジョブ管理部22Aの代替処理が開始された状態を示す図である。
(復旧処理)
実行状態確認部25Dは、代替処理が開始された後も、サーバ20、22に対して実行状態確認コマンドを、例えば所定周期で送信する。そして、実行状態確認部25Dは、代替処理が開始されたサーバから復帰値1を受信すると、例えばスケジュール管理部200Aに、当該サーバのジョブ管理部が復旧可能であることを示す復旧可能通知を送信する。以下、サーバ22に関してのみ説明するが、サーバ20についても同様の処理が行われる。ジョブ管理部22Aについての復旧可能通知を受信したスケジュール管理部200Aは、ジョブ実行管理部200Bに、ジョブ管理部22Aが復旧可能であることを通知する。そして、ジョブ実行管理部200Bは、仮想サーバ200Cbにアプリケーションプログラムの実行を停止させる。係る停止指示に応じて仮想サーバ200Cbは、記憶装置210に格納された、仮想サーバ200Cbの処理結果を含むジョブ情報210Abを、サーバ22の記憶装置23に転送する。以上の処理が完了すると、サーバの仮想サーバ設定処理部22Cは、仮想サーバ200Cb、及びジョブ情報210Abを削除するようにサーバ200に依頼する。以下、係る依頼を「削除依頼」と称する。図13は、図12に示す状態からジョブ管理部22Aが復旧する様子を示す図である。
実行状態確認部25Dは、代替処理が開始された後も、サーバ20、22に対して実行状態確認コマンドを、例えば所定周期で送信する。そして、実行状態確認部25Dは、代替処理が開始されたサーバから復帰値1を受信すると、例えばスケジュール管理部200Aに、当該サーバのジョブ管理部が復旧可能であることを示す復旧可能通知を送信する。以下、サーバ22に関してのみ説明するが、サーバ20についても同様の処理が行われる。ジョブ管理部22Aについての復旧可能通知を受信したスケジュール管理部200Aは、ジョブ実行管理部200Bに、ジョブ管理部22Aが復旧可能であることを通知する。そして、ジョブ実行管理部200Bは、仮想サーバ200Cbにアプリケーションプログラムの実行を停止させる。係る停止指示に応じて仮想サーバ200Cbは、記憶装置210に格納された、仮想サーバ200Cbの処理結果を含むジョブ情報210Abを、サーバ22の記憶装置23に転送する。以上の処理が完了すると、サーバの仮想サーバ設定処理部22Cは、仮想サーバ200Cb、及びジョブ情報210Abを削除するようにサーバ200に依頼する。以下、係る依頼を「削除依頼」と称する。図13は、図12に示す状態からジョブ管理部22Aが復旧する様子を示す図である。
[代替処理準備終了依頼]
上記のように、実際にフェールオーバが発生した場合には、仮想サーバにより代替処理が開始されるが、フェールオーバが発生しなかった場合には、仮想サーバ設定処理部20C、22Cが、代替処理を開始可能な状態を終了するようにサーバ200に依頼する。以下、係る依頼を「代替処理準備終了依頼」と称する。
上記のように、実際にフェールオーバが発生した場合には、仮想サーバにより代替処理が開始されるが、フェールオーバが発生しなかった場合には、仮想サーバ設定処理部20C、22Cが、代替処理を開始可能な状態を終了するようにサーバ200に依頼する。以下、係る依頼を「代替処理準備終了依頼」と称する。
仮想サーバ設定処理部20Cは、代替処理準備依頼をした後、設定条件が成立したときに、代替処理を開始可能な状態を終了するように、サーバ200に依頼する。設定条件は、例えば、代替処理準備依頼をした時点から、ジョブ管理部20Aにフェールオーバが発生せずに所定期間が経過したことである。仮想サーバ設定処理部20Cは、代替処理準備依頼するとタイマによる計時を開始し、タイマの計時する時間が所定期間(例えば30[min]程度)経過すると、代替処理準備終了依頼を行う。所定期間は、予めデフォルト値として設定され、ユーザによって変更可能としてよい。
同様に、仮想サーバ設定処理部22Cは、代替処理準備依頼をした後、設定条件が成立したときに、代替処理を開始可能な状態を終了するように、サーバ200に依頼する。設定条件は、例えば、代替処理準備依頼をした時点から、ジョブ管理部22Aにフェールオーバが発生せずに所定期間が経過したことである。仮想サーバ設定処理部22Cは、代替処理準備依頼するとタイマによる計時を開始し、タイマの計時する時間が所定期間(例えば30[min]程度)経過すると、代替処理準備終了依頼を行う。所定期間は、予めデフォルト値として設定され、ユーザによって変更可能としてよい。
仮想サーバ設定処理部20Cによる代替処理準備終了依頼の内容は、仮想サーバ200Ca、及びジョブ情報210Aaを削除するようにサーバ200に依頼することを含む。仮想サーバ設定処理部22Cによる代替処理準備終了依頼の内容は、仮想サーバ200Cb、及びジョブ情報210Abを削除するようにサーバ200に依頼することを含む。図14は、ジョブ管理部20Aにフェールオーバが発生せずに、所定期間が経過した状態を示す図である。なお、図14は、ジョブ管理部22Aにはフェールオーバが発生し、代替処理が開始されている状態を示している。
係る処理によって、サーバ20、22は、運用上のコストを低減することができる。サーバ200は、クラウドサービスを提供するサーバであるため、一般的に、各仮想サーバが設定されている時間に応じて課金する仕組みとなっている。従って、サーバ20、22は、代替処理準備依頼をした時点からフェールオーバが発生せずに所定期間が経過した場合に該当する仮想サーバを削除するように依頼することによって、そのまま仮想サーバを存続させるものに比して、課金額を低減することができる。また、サーバ200が無償でサービスを提供し、或いはサーバ20、22と同事業者によって運営される場合であっても、サーバ200におけるメモリ容量や電力消費を低減することができるため、サーバ20、22は、運用上のコストを低減することができる。
[フローチャート]
図15は、第2実施例に係るサーバ20、22の仮想サーバ設定処理部20C、22Cにより実行される処理の流れを示すフローチャートの一例である。本フローチャートは、例えば周期的に繰り返し実行される。なお、図15及び図16は、サーバ20に関するものとして説明するが、サーバ22に関しても同様の処理が行われる。
図15は、第2実施例に係るサーバ20、22の仮想サーバ設定処理部20C、22Cにより実行される処理の流れを示すフローチャートの一例である。本フローチャートは、例えば周期的に繰り返し実行される。なお、図15及び図16は、サーバ20に関するものとして説明するが、サーバ22に関しても同様の処理が行われる。
まず、仮想サーバ設定処理部20Cは、予兆検知部25Bから予兆検知信号を受信するまで待機する(S600)。
予兆検知部25Bから予兆検知信号を受信すると、仮想サーバ設定処理部20Cは、代替処理準備依頼のためのデータをサーバ200に送信する(S602)。
次に、仮想サーバ設定処理部20Cは、実行状態確認コマンドに対する応答としてサーバ200に復帰値-1が返信したか否かを判定する(S604)。
実行状態確認コマンドに対する応答としてサーバ200に復帰値-1が返信されなかった場合、仮想サーバ設定処理部20Cは、代替処理準備依頼のためのデータを送信してから所定期間が経過したか否かを判定する(S606)。代替処理準備依頼のためのデータを送信してから所定期間が経過していない場合、仮想サーバ設定処理部20Cは、S604に戻り、判定を行う。
代替処理準備依頼のためのデータを送信してから所定期間が経過すると、仮想サーバ設定処理部20Cは、代替処理準備終了依頼をサーバ200に送信し(S608)、本フローチャートの1ルーチンを終了する。
一方、実行状態確認コマンドに対する応答としてサーバ200に復帰値-1が返信された場合、仮想サーバ設定処理部20Cは、ジョブ管理部20Aに復旧処理を行わせ(S610)、本フローチャートの1ルーチンを終了する。
図16は、第2実施例に係るサーバ200により実行される処理の流れを示すフローチャートの一例である。本フローチャートは、例えば周期的に繰り返し実行される。
まず、サーバ200は、サーバ20から代替処理準備依頼のためのデータを受信するまで待機する(S650)。
サーバ20から代替処理準備依頼のためのデータを受信すると、サーバ200は、仮想サーバ200Caを設定する(S652)。
次に、サーバ200は、実行状態確認部25Dからフェールオーバ発生通知を受信したか否かを判定する(S654)。
実行状態確認部25Dからフェールオーバ発生通知を受信しなかった場合、サーバ200は、サーバ20から代替処理準備終了依頼のためのデータを受信したか否かを判定する(S656)。サーバ20から代替処理準備終了依頼のためのデータを受信していない場合、サーバ200は、S654に戻り、判定を行う。
代替処理準備終了依頼のためのデータを受信すると、サーバ200は、仮想サーバ200Ca、及びジョブ情報210Aaを削除し(S658)、本フローチャートの1ルーチンを終了する。
一方、実行状態確認部25Dからフェールオーバ発生通知を受信した場合、サーバ200は、代替処理を開始する(S660)。
代替処理を開始すると、サーバ200の図示しないOSは、実行状態確認部25Dからジョブ管理部20Aが復旧可能であることを示す復旧可能通知を受信するまで待機する(S662)。
ジョブ管理部20Aが復旧可能であることを示す復旧可能通知を受信すると、サーバ200の仮想サーバ200Caは、ジョブ情報210Aaをサーバ20の記憶装置21に転送する(S664)。
次に、サーバ200は、サーバ20から削除依頼を受信するまで待機し(S666)、サーバ20から削除依頼を受信すると、仮想サーバ200Ca、及びジョブ情報210Aaを削除し(S668)、本フローチャートの1ルーチンを終了する。
[まとめ]
以上説明した本発明の第2実施例に係る処理装置、処理システム、及びプログラムによれば、代替処理準備依頼をした時点からフェールオーバが発生せずに所定期間が経過した場合に代替処理準備終了依頼を行うため、リソースの浪費の抑制を図ることができる。
以上説明した本発明の第2実施例に係る処理装置、処理システム、及びプログラムによれば、代替処理準備依頼をした時点からフェールオーバが発生せずに所定期間が経過した場合に代替処理準備終了依頼を行うため、リソースの浪費の抑制を図ることができる。
また、本発明の第2実施例に係る処理装置、処理システム、及びプログラムによれば、代替処理準備依頼を行った後、ジョブの実行経過に応じて変化する経過情報を送信するため、代替処理が開始可能な状態を維持することができる。
本実施例では、サーバ25が実行状態確認部25Dを備え、フェールオーバが生じたか否かを確認するものとしたが、第1実施例と同様に、サーバ20、22、25のいずれかが実行状態確認ツールTLをサーバ200に送信して実行状態確認を行わせてもよい。
なお、請求項1の「処理部」は、例えばジョブ管理部20A、22Aに対応し、「制御部」は、例えば仮想サーバ設定処理部20C、22Cに対応し、「処理装置」は、例えばサーバ20、22に対応し、「代替処理装置」は、例えばサーバ200に対応する。
また、請求項5の「実行状態確認部」は、例えば実行状態確認部25Dに対応する。
<第3実施例>
以下、図面を参照し、本発明の第3実施例に係る処理装置、処理システム、及びプログラムについて説明する。
以下、図面を参照し、本発明の第3実施例に係る処理装置、処理システム、及びプログラムについて説明する。
[全体構成]
図17は、本発明の第3実施例に係る処理システム3のシステム構成例である。処理システム3は、サーバ30と、サーバ32と、共有メモリ35とを備える。
図17は、本発明の第3実施例に係る処理システム3のシステム構成例である。処理システム3は、サーバ30と、サーバ32と、共有メモリ35とを備える。
サーバ30は、例えばシステムの自動運転処理等、スケジュールに従った自発的な処理を行う。また、これに限らず、サーバ30は、LANを介してクライアントコンピュータに接続され、クライアントコンピュータからの要求に応じた処理を行い、処理結果をクライアントコンピュータに提供するものであってもよい。また、サーバ30は、オペレータ等により図示しない入出力手段に対して入力された要求に応じた処理を行ってもよい。
サーバ30とサーバ32は、例えば通信線37によって接続されている。サーバ32は、サーバ30の代替処理装置として機能する。また、サーバ30、32は、例えばメモリバス38によって共有メモリ35にアクセス可能となっている。
本実施例では、サーバ30、32のハードウェア構成については、第1実施例に係るサーバ10等と同様であるため、図2を参照することとし、説明を省略する。
サーバ30は、CPUが図示しない補助記憶装置に格納されたプログラムを実行することにより機能する機能部として、ジョブ管理部30Aと、予兆検知部30Bと、起動制御部30Cとを備える。同様に、サーバ32は、CPUが図示しない補助記憶装置に格納されたプログラムを実行することにより機能する機能部として、ジョブ管理部32Aと、実行状態確認部32Dと、を備える。
サーバ30、32が備える機能ブロックは、明確に分離したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。また、機能ブロックの一部が、LSI、ICやFPGA等のハードウェア手段であっても構わない。
共有メモリ35は、例えば補助記憶装置やメモリ装置であり、ジョブ情報35Aが格納される。
ジョブ管理部30Aは、例えば上記のように、種々の情報処理を行う。ジョブ管理部30Aが行う処理は、アプリケーションプログラムAPを包含するジョブJBが集合したジョブネットJN単位で行われる。ジョブJBは、業務を処理するためのアプリケーションプログラムAPを包含しているオブジェクトであり、バッチファイル/シェルスクリプト、コマンドなどを含む。また、ジョブネットJNは、一連の流れを有する一以上のジョブJBの集合である。ジョブ管理部30Aは、情報処理を行うのに限らず、例えばデータ管理のための処理を行うものであってもよい。ジョブ管理部30Aが行った処理の結果、履歴等は、共有メモリ35にジョブ情報35Aとして格納される。
ジョブ情報35Aは、例えば、ジョブ名、ジョブ番号(ジョブID)、ジョブの状態、スケジュール情報、ジョブの実行履歴(処理結果)を含む。本実施例において、ジョブ管理部30Aが実行するアプリケーションプログラムやバッチファイル等は、代替処理装置として機能するサーバ32が保持しているため、必ずしもジョブ情報35Aに含まれる必要はない。
[予兆検知]
予兆検知部30Bは、ジョブ管理部30Aが実行する処理が実行不能となる、フェールオーバが発生する予兆を示す事象が生じたか否かを検知する。「フェールオーバが発生する予兆を示す事象」については、第1実施例と同様であるため、説明を省略する。予兆検知部30Bは、フェールオーバが発生する予兆を示す事象が生じているかどうかを、例えば一定間隔で確認する。なお、予兆検知部30Bは、事象毎に異なる確認間隔を設定してもよい。
予兆検知部30Bは、ジョブ管理部30Aが実行する処理が実行不能となる、フェールオーバが発生する予兆を示す事象が生じたか否かを検知する。「フェールオーバが発生する予兆を示す事象」については、第1実施例と同様であるため、説明を省略する。予兆検知部30Bは、フェールオーバが発生する予兆を示す事象が生じているかどうかを、例えば一定間隔で確認する。なお、予兆検知部30Bは、事象毎に異なる確認間隔を設定してもよい。
予兆検知部30Bは、ジョブ管理部30Aについてフェールオーバが発生する予兆を示す事象を検知すると、その旨を起動制御部30Cに出力する。
[サーバ32の起動]
起動制御部30Cは、予兆検知部30Bが予兆を示す事象を検知すると、サーバ32の図示しない電源回路及びOS等に指示し、サーバ32を起動状態にする。
起動制御部30Cは、予兆検知部30Bが予兆を示す事象を検知すると、サーバ32の図示しない電源回路及びOS等に指示し、サーバ32を起動状態にする。
サーバ32は、ジョブ情報35Aを参照すればサーバ30と同等の処理すなわち代替処理を行うジョブ管理部32Aを機能させるためのプログラムを、予め補助記憶装置等に保持している。従って、サーバ32は、起動制御部30Cによって起動されると、メインプロセスを起動させてジョブ管理部32Aが動作可能な状態となり、ジョブ管理部30Aの代替処理を開始可能な状態となる。図18は、サーバ32が起動される様子を示す図である。
[実行状態確認]
サーバ32の実行状態確認部32Dは、ジョブ管理部30Aの実行状態を確認するために、サーバ30に対して実行状態確認コマンド(checkprocess)を、例えば所定周期で送信する。
サーバ32の実行状態確認部32Dは、ジョブ管理部30Aの実行状態を確認するために、サーバ30に対して実行状態確認コマンド(checkprocess)を、例えば所定周期で送信する。
サーバ30は、実行状態確認コマンドを受信すると、実行状態確認コマンドに記述された命令を実行する。実行状態確認コマンドを実行した結果として行われる処理の流れについては、第1実施例で図4を用いて説明したものと同様であるため、説明を省略する。実行状態確認コマンドの復帰値は、サーバ32の実行状態確認部32Dに返信される。
(代替処理開始)
実行状態確認部32Dは、サーバ30から復帰値-1を受信すると、ジョブ管理部30Aが実行する処理が実行不能となるフェールオーバが発生したと判断し、ジョブ管理部32Aに代替処理を開始させる。ジョブ管理部32Aは、例えば、ジョブ管理部30Aに入力される入力情報をサーバ30から取得し、ジョブ管理部30Aと同等の処理を行い、処理結果を共有メモリ35に格納する。処理結果は、例えばジョブ情報35Aの一部に追加される。図19は、ジョブ管理部30Aにより代替処理が開始された状態を示す図である。
実行状態確認部32Dは、サーバ30から復帰値-1を受信すると、ジョブ管理部30Aが実行する処理が実行不能となるフェールオーバが発生したと判断し、ジョブ管理部32Aに代替処理を開始させる。ジョブ管理部32Aは、例えば、ジョブ管理部30Aに入力される入力情報をサーバ30から取得し、ジョブ管理部30Aと同等の処理を行い、処理結果を共有メモリ35に格納する。処理結果は、例えばジョブ情報35Aの一部に追加される。図19は、ジョブ管理部30Aにより代替処理が開始された状態を示す図である。
(復旧処理)
実行状態確認部32Dは、代替処理が開始された後も、サーバ30に対して実行状態確認コマンドを、例えば所定周期で送信する。そして、実行状態確認部32Dは、サーバ30から復帰値1を受信すると、ジョブ管理部32Aに代替処理を停止させ、サーバ30をシャットダウンしてサーバ30の電源をオフにする。
実行状態確認部32Dは、代替処理が開始された後も、サーバ30に対して実行状態確認コマンドを、例えば所定周期で送信する。そして、実行状態確認部32Dは、サーバ30から復帰値1を受信すると、ジョブ管理部32Aに代替処理を停止させ、サーバ30をシャットダウンしてサーバ30の電源をオフにする。
[代替処理準備終了]
上記のように、実際にフェールオーバが発生した場合には、ジョブ管理部32Aにより代替処理が開始されるが、フェールオーバが発生しなかった場合には、起動制御部30Cが、サーバ32をシャットダウンしてサーバ32の電源をオフにする制御を行う。
上記のように、実際にフェールオーバが発生した場合には、ジョブ管理部32Aにより代替処理が開始されるが、フェールオーバが発生しなかった場合には、起動制御部30Cが、サーバ32をシャットダウンしてサーバ32の電源をオフにする制御を行う。
起動制御部30Cは、サーバ32を起動させた後、設定条件が成立したときに、サーバ32をシャットダウンしてサーバ32の電源をオフにする制御を行う。設定条件は、例えば、サーバ32を起動した時点から(或いはジョブ管理部32Aのメインプロセスを起動した時点から)、ジョブ管理部30Aにフェールオーバが発生せずに所定期間が経過したことである。起動制御部30Cは、サーバ32を起動するとタイマによる計時を開始し、タイマの計時する時間が所定期間(例えば30[min]程度)経過すると、サーバ32をシャットダウンしてサーバ32の電源をオフにする。所定期間は、予めデフォルト値として設定され、ユーザによって変更可能としてよい。図20は、ジョブ管理部30Aにフェールオーバが発生せずに、所定期間が経過した状態を示す図である。
係る処理によって、サーバ30、32は、運用上のコストを低減することができる。サーバ32は、起動されて代替処理を開始可能な状態となってから、実際にフェールオーバが発生せずに所定期間経過すればシャットダウンされるため、電力消費を低減することができる。また、サーバ30、32の双方がアクセス可能な共有メモリ35にジョブの実行結果等を格納することにより、サーバ32は代替処理を開始可能な状態を維持することができる。この結果、サーバ30、32は、サーバ間の処理の受け渡しを迅速に行うことができる。
[フローチャート]
図21は、第3実施例に係るサーバ30の起動制御部30Cにより実行される処理の流れを示すフローチャートの一例である。本フローチャートは、例えば周期的に繰り返し実行される。
図21は、第3実施例に係るサーバ30の起動制御部30Cにより実行される処理の流れを示すフローチャートの一例である。本フローチャートは、例えば周期的に繰り返し実行される。
まず、起動制御部30Cは、予兆検知部30Bが、フェールオーバが発生する予兆を示す事象が生じたことを検知したか否かを判定する(S700)。
予兆検知部30Bが、フェールオーバが発生する予兆を示す事象が生じたことを検知すると、起動制御部30Cは、サーバ32を起動させる(S702)。
次に、起動制御部30Cは、実行状態確認コマンドに対する応答としてサーバ32に復帰値-1が返信されたか否かを判定する(S704)。
実行状態確認コマンドに対する応答としてサーバ32に復帰値-1が返信された場合、起動制御部30Cは、ジョブ管理部30Aに復旧処理を行わせる(S706)。
図22は、第3実施例に係るサーバ32の実行状態確認部32Dにより実行される処理の流れを示すフローチャートの一例である。本フローチャートは、サーバ32が起動されたときに開始される。
まず、実行状態確認部32Dは、ジョブ管理部32Aを機能させるためのメインプロセスを起動させる(S750)。
次に、実行状態確認部32Dは、サーバ30から復帰値-1を受信したか否かを判定する(S752)。
サーバ30から復帰値-1を受信した場合、実行状態確認部32Dは、ジョブ管理部32Aにジョブ管理部30Aの代替処理を開始させる(S754)。
次に、実行状態確認部32Dは、サーバ30から復帰値1を受信するまで待機する(S756)。サーバ30から復帰値1を受信すると、実行状態確認部32Dは、ジョブ管理部32Aに代替処理を停止させ、サーバ32をシャットダウンしてサーバ32の電源をオフにする(S758)。
一方、S752においてサーバ30から復帰値-1を受信しなかったと判定された場合、実行状態確認部32Dは、サーバ32の起動から所定期間が経過したか否かを判定する(S760)。サーバ32の起動から所定期間が経過していない場合、実行状態確認部32Dは、S752に戻り、判定を行う。
サーバ32の起動から所定期間が経過した場合、実行状態確認部32Dは、サーバ32をシャットダウンしてサーバ32の電源をオフにする(S762)。
[まとめ]
以上説明した本発明の第3実施例に係る処理装置、処理システム、及びプログラムによれば、サーバ32が起動された後、実際にフェールオーバが発生せずに所定期間経過すればサーバ32がシャットダウンされるため、電力消費を低減することができる。また、本発明の第3実施例に係る処理装置等は、リソースの浪費の抑制を図ることができる。また、サーバ30、32の双方がアクセス可能な共有メモリ35にジョブの実行結果等を格納することにより、サーバ32は、代替処理を開始可能な状態を維持することができる。この結果、サーバ30、32は、サーバ間の処理の受け渡しを迅速に行うことができる。
以上説明した本発明の第3実施例に係る処理装置、処理システム、及びプログラムによれば、サーバ32が起動された後、実際にフェールオーバが発生せずに所定期間経過すればサーバ32がシャットダウンされるため、電力消費を低減することができる。また、本発明の第3実施例に係る処理装置等は、リソースの浪費の抑制を図ることができる。また、サーバ30、32の双方がアクセス可能な共有メモリ35にジョブの実行結果等を格納することにより、サーバ32は、代替処理を開始可能な状態を維持することができる。この結果、サーバ30、32は、サーバ間の処理の受け渡しを迅速に行うことができる。
なお、請求項13における「処理部」は、例えばジョブ管理部30Aに対応し、「制御部」は、例えば起動制御部30Cに対応し、「処理装置」は、例えばサーバ30に対応し、「代替処理装置」は、例えばサーバ32に対応する。
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、上記実施例とは異なり、特許請求の範囲における「処理装置」と「代替処理装置」の双方がクラウドサービスを提供する装置であってもよい。
本発明は、コンピュータ製造業、コンピュータ・ソフトウェア産業、コンピュータサービス提供産業、データ管理サービス提供産業等に利用することができる。
1、2、3 処理システム
10、20、22、25、30、32、100、200 サーバ
10A、20A、22A、30A、32A ジョブ管理部
10B、25B 予兆検知部
10C、20C、22C 仮想サーバ設定処理部
10D、20D、22D 経過情報送信部
11、21、23、110、210 記憶装置
11A、21A、23A、35A、110A、210Aa、210Ab ジョブ情報
25D、32D、100D 実行状態確認部
30C 起動制御部
35 共有メモリ
100A、200A スケジュール管理部
100B、200B ジョブ実行管理部
100C、200Ca、200Cb 仮想サーバ
10、20、22、25、30、32、100、200 サーバ
10A、20A、22A、30A、32A ジョブ管理部
10B、25B 予兆検知部
10C、20C、22C 仮想サーバ設定処理部
10D、20D、22D 経過情報送信部
11、21、23、110、210 記憶装置
11A、21A、23A、35A、110A、210Aa、210Ab ジョブ情報
25D、32D、100D 実行状態確認部
30C 起動制御部
35 共有メモリ
100A、200A スケジュール管理部
100B、200B ジョブ実行管理部
100C、200Ca、200Cb 仮想サーバ
Claims (22)
- 処理部により実行される処理が実行不能となる予兆を示す事象が生じたか否かを検知する予兆検知部と、
前記予兆検知部により前記予兆を示す事象が生じたことが検知されたとき、前記処理部により実行される処理の代替処理を行うことが可能な代替処理装置に、該代替処理を開始可能な状態となるように依頼し、該開始可能な状態となるように依頼した後、設定条件が成立したときに前記代替処理を開始可能な状態を終了するように前記代替処理装置に依頼する制御部と、
を備える処理装置。 - 前記制御部が、前記代替処理を開始可能な状態となるように前記代替処理装置に依頼した後、前記処理部により実行される処理の経過に応じて変化する情報を前記代替処理装置に送信する経過情報送信部を備える、
請求項1記載の処理装置。 - 前記代替処理装置は、クラウドサービスを提供する装置であり、
前記制御部は、前記代替処理を開始可能な状態となるように前記代替処理装置に依頼する際に、前記代替処理を実行するためのプログラムを前記代替処理装置に送信する、
請求項2記載の処理装置。 - 前記制御部は、前記代替処理を開始可能な状態となるように前記代替処理装置に依頼する際に、前記処理部により実行される処理の実行状態を確認するためのプログラムを前記代替処理装置に送信し、該プログラムが実行されることにより、前記処理部により実行される処理が実行不能となったことが確認された場合に前記代替処理を開始するように、前記代替処理装置に依頼する、
請求項1ないし3のいずれか1記載の処理装置。 - 前記制御部が、前記代替処理を開始可能な状態となるように前記代替処理装置に依頼した後、前記処理部により実行される処理が実行不能となったか否かを確認し、前記処理部により実行される処理が実行不能となったときに、前記代替処理を開始するように前記代替処理装置に依頼する実行状態確認部を備える、
請求項1又は2記載の処理装置。 - 前記設定条件は、前記処理部により実行される処理が実行不能となることなく所定期間が経過したことである、
請求項1ないし5のいずれか1項記載の処理装置。 - 処理装置に、
処理部により実行される処理が実行不能となる予兆を示す事象が生じたか否かを検知させ、
前記予兆を示す事象が生じたことが検知されたとき、前記処理部により実行される処理の代替処理を行うことが可能な代替処理装置に、該代替処理を開始可能な状態となるように依頼させ、
前記代替処理を開始可能な状態となるように依頼させた後、設定条件が成立したときに前記代替処理を開始可能な状態を終了するように前記代替処理装置に依頼させる、
プログラム。 - 前記処理装置に、
前記代替処理を開始可能な状態となるように前記代替処理装置に依頼させた後、前記処理部により実行される処理の経過に応じて変化する情報を前記代替処理装置に送信させる、
請求項7記載のプログラム。 - 前記代替処理装置は、クラウドサービスを提供する装置であり、
前記処理装置に、
前記代替処理を開始可能な状態となるように前記代替処理装置に依頼させる際に、前記代替処理を実行するためのプログラムを前記代替処理装置に送信させる、
請求項8記載のプログラム。 - 前記処理装置に、
前記代替処理を開始可能な状態となるように前記代替処理装置に依頼させる際に、前記処理部により実行される処理の実行状態を確認するためのプログラムを前記代替処理装置に送信させ、該プログラムが実行されることにより、前記処理部により実行される処理が実行不能となったことが確認された場合に前記代替処理を開始するように、前記代替処理装置に依頼させる、
請求項9記載のプログラム。 - 前記処理装置に、
前記代替処理を開始可能な状態となるように前記代替処理装置に依頼させた後、前記処理部により実行される処理が実行不能となったか否かを確認させ、
前記処理部により実行される処理が実行不能となったときに、前記代替処理を開始するように前記代替処理装置に依頼させる、
請求項7又は8記載のプログラム。 - 前記設定条件は、前記処理部により実行される処理が実行不能となることなく所定期間が経過したことである、
請求項7ないし11のいずれか1項記載のプログラム。 - 処理部により実行される処理が実行不能となる予兆を示す事象が生じたか否かを検知する予兆検知部、及び前記予兆検知部により前記予兆を示す事象が生じたことが検知されたとき、前記処理部により実行される処理の代替処理を行うことが可能な代替処理装置が前記代替処理を開始可能な状態となるように制御する制御部を備える処理装置と、
前記代替処理を開始可能な状態となるように依頼された後、設定条件が成立したときに前記開始可能な状態を終了する前記代替処理装置と、
を備える処理システム。 - 前記処理装置は、前記制御部が、前記代替処理を開始可能な状態となるように前記代替処理装置に依頼した後、前記処理部により実行される処理の経過に応じて変化する情報を、前記代替処理装置がアクセス可能な記憶装置に格納する、
請求項13記載の処理システム。 - 前記代替処理装置は、前記代替処理を開始可能な状態となるように依頼された後、前記処理部により実行される処理が実行不能となったか否かを確認する実行状態確認部を備え、
該実行状態確認部により前記処理部により実行される処理が実行不能となったことが確認されたときに、前記代替処理を開始する、
請求項13又は14記載の処理システム。 - 前記設定条件は、前記処理部により実行される処理が実行不能となることなく所定期間が経過したことである、
請求項13ないし15のいずれか1項記載の処理システム。 - 処理装置と、該処理装置において行われる処理の代替処理を行うことが可能な代替処理装置とを備える処理システムに、
前記処理装置において行われる処理が実行不能となる予兆を示す事象が生じたか否かを検知させ、
前記予兆を示す事象が生じたことが検知されたとき、前記代替処理装置が前記代替処理を開始可能な状態となるよう制御させ、
前記代替処理を開始可能な状態となるように制御させた後、設定条件が成立したときに、前記代替処理装置に前記代替処理を開始可能な状態を終了させる、
プログラム。 - 前記処理装置に、
前記代替処理を開始可能な状態となるように前記代替処理装置に依頼させた後、前記処理部により実行される処理の経過に応じて変化する情報を、前記代替処理装置がアクセス可能な記憶装置に記憶させる、
請求項17記載のプログラム。 - 前記代替処理装置に、
前記代替処理を開始可能な状態となるように依頼された後、前記処理部により実行される処理が実行不能となったか否かを確認させ、
前記処理部により実行される処理が実行不能となったことが確認されたときに、前記代替処理を開始させる、
請求項17又は18記載のプログラム。 - 前記設定条件は、前記処理部により実行される処理が実行不能となることなく所定期間が経過したことである、
請求項17ないし19のいずれか1項記載のプログラム。 - 処理装置が、
処理部により実行される処理が実行不能となる予兆を示す事象が生じたか否かを検知し、
前記予兆を示す事象が生じたことが検知されたとき、前記処理部により実行される処理の代替処理を行うことが可能な代替処理装置に、該代替処理を開始可能な状態となるように依頼し、
前記代替処理を開始可能な状態となるように依頼させた後、設定条件が成立したときに前記代替処理を開始可能な状態を終了するように前記代替処理装置に依頼する、
処理方法。 - 処理装置と、該処理装置において行われる処理の代替処理を行うことが可能な代替処理装置とを備える処理システムが、
前記処理装置において行われる処理が実行不能となる予兆を示す事象が生じたか否かを検知し、
前記予兆を示す事象が生じたことが検知されたとき、前記代替処理装置が前記代替処理を開始可能な状態となるよう制御し、
前記代替処理を開始可能な状態となるように制御させた後、設定条件が成立したときに、前記代替処理装置が前記代替処理を開始可能な状態を終了する、
処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014523504A JP5983746B2 (ja) | 2012-07-05 | 2012-07-05 | 処理装置、処理システム、及びプログラム |
PCT/JP2012/067230 WO2014006728A1 (ja) | 2012-07-05 | 2012-07-05 | 処理装置、処理システム、及びプログラム |
US14/580,429 US9772914B2 (en) | 2012-07-05 | 2014-12-23 | Processing apparatus, process system, and non-transitory computer-readable recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/067230 WO2014006728A1 (ja) | 2012-07-05 | 2012-07-05 | 処理装置、処理システム、及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/580,429 Continuation US9772914B2 (en) | 2012-07-05 | 2014-12-23 | Processing apparatus, process system, and non-transitory computer-readable recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014006728A1 true WO2014006728A1 (ja) | 2014-01-09 |
Family
ID=49881518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/067230 WO2014006728A1 (ja) | 2012-07-05 | 2012-07-05 | 処理装置、処理システム、及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9772914B2 (ja) |
JP (1) | JP5983746B2 (ja) |
WO (1) | WO2014006728A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016067391A1 (ja) * | 2014-10-29 | 2016-05-06 | 株式会社 東芝 | 電子機器、システムおよび方法 |
JP2018107537A (ja) * | 2016-12-22 | 2018-07-05 | 富士ゼロックス株式会社 | 機器制御システム、画像形成装置、制御装置、および、プログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10778600B2 (en) * | 2016-03-30 | 2020-09-15 | Intel Corporation | Adaptive workload distribution for network of video processors |
US10365864B2 (en) * | 2016-06-01 | 2019-07-30 | Hitachi, Ltd. | Information processing system and operation redundantizing method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004030363A (ja) * | 2002-06-27 | 2004-01-29 | Hitachi Ltd | 論理計算機システム、論理計算機システムの構成制御方法および論理計算機システムの構成制御プログラム |
JP2005301442A (ja) * | 2004-04-07 | 2005-10-27 | Hitachi Ltd | ストレージ装置 |
JP2008152594A (ja) * | 2006-12-19 | 2008-07-03 | Hitachi Ltd | マルチコアプロセッサ計算機の高信頼化方法 |
JP2011128967A (ja) * | 2009-12-18 | 2011-06-30 | Hitachi Ltd | 仮想計算機の移動方法、仮想計算機システム及びプログラム |
JP2011248735A (ja) * | 2010-05-28 | 2011-12-08 | Hitachi Ltd | サーバ計算機の切替方法、管理計算機及びプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01195544A (ja) | 1988-01-29 | 1989-08-07 | Nec Corp | デュプレックス構成システムのダウン監視方式 |
JP3639613B2 (ja) * | 1994-04-20 | 2005-04-20 | キヤノン株式会社 | 情報処理方法及び装置及びシステム |
JPH09251443A (ja) * | 1996-03-18 | 1997-09-22 | Hitachi Ltd | 情報処理システムのプロセッサ障害回復処理方法 |
US6543028B1 (en) * | 2000-03-31 | 2003-04-01 | Intel Corporation | Silent data corruption prevention due to instruction corruption by soft errors |
GB2381713A (en) * | 2001-11-01 | 2003-05-07 | 3Com Corp | Failover mechanism involving blocking of access of a malfunctioning server and continuing monitoring to enable unblocking of access if server recovers |
US7137042B2 (en) * | 2004-03-17 | 2006-11-14 | Hitachi, Ltd. | Heartbeat apparatus via remote mirroring link on multi-site and method of using same |
JP4456552B2 (ja) * | 2005-03-31 | 2010-04-28 | 富士通株式会社 | 動的代替機能を持つ論理集積回路、これを用いた情報処理装置及び論理集積回路の動的代替方法 |
US8375247B2 (en) * | 2005-08-29 | 2013-02-12 | The Invention Science Fund I, Llc | Handling processor computational errors |
JP5011073B2 (ja) * | 2007-11-22 | 2012-08-29 | 株式会社日立製作所 | サーバ切り替え方法、およびサーバシステム |
JP2009223582A (ja) * | 2008-03-14 | 2009-10-01 | Fujitsu Ltd | 情報処理装置、情報処理装置の制御方法および制御プログラム |
JP5052376B2 (ja) * | 2008-03-21 | 2012-10-17 | 株式会社日立製作所 | ストレージシステム及びストレージシステムにおける論理ユニットの引継方法 |
JP5311211B2 (ja) | 2009-01-07 | 2013-10-09 | 日本電気株式会社 | ディスクアレイコントローラ及びディスクアレイの冗長化方法 |
US8037366B2 (en) * | 2009-03-24 | 2011-10-11 | International Business Machines Corporation | Issuing instructions in-order in an out-of-order processor using false dependencies |
US8418000B1 (en) * | 2012-03-13 | 2013-04-09 | True Metrics LLC | System and methods for automated testing of functionally complex systems |
-
2012
- 2012-07-05 JP JP2014523504A patent/JP5983746B2/ja active Active
- 2012-07-05 WO PCT/JP2012/067230 patent/WO2014006728A1/ja active Application Filing
-
2014
- 2014-12-23 US US14/580,429 patent/US9772914B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004030363A (ja) * | 2002-06-27 | 2004-01-29 | Hitachi Ltd | 論理計算機システム、論理計算機システムの構成制御方法および論理計算機システムの構成制御プログラム |
JP2005301442A (ja) * | 2004-04-07 | 2005-10-27 | Hitachi Ltd | ストレージ装置 |
JP2008152594A (ja) * | 2006-12-19 | 2008-07-03 | Hitachi Ltd | マルチコアプロセッサ計算機の高信頼化方法 |
JP2011128967A (ja) * | 2009-12-18 | 2011-06-30 | Hitachi Ltd | 仮想計算機の移動方法、仮想計算機システム及びプログラム |
JP2011248735A (ja) * | 2010-05-28 | 2011-12-08 | Hitachi Ltd | サーバ計算機の切替方法、管理計算機及びプログラム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016067391A1 (ja) * | 2014-10-29 | 2016-05-06 | 株式会社 東芝 | 電子機器、システムおよび方法 |
US10565636B2 (en) | 2014-10-29 | 2020-02-18 | Toshiba Client Solutions CO., LTD. | Electronic device, system, and method |
JP2018107537A (ja) * | 2016-12-22 | 2018-07-05 | 富士ゼロックス株式会社 | 機器制御システム、画像形成装置、制御装置、および、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5983746B2 (ja) | 2016-09-06 |
JPWO2014006728A1 (ja) | 2016-06-02 |
US20150113320A1 (en) | 2015-04-23 |
US9772914B2 (en) | 2017-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5251002B2 (ja) | 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム | |
US9335998B2 (en) | Multi-core processor system, monitoring control method, and computer product | |
JP5834939B2 (ja) | プログラム、仮想マシン制御方法、情報処理装置および情報処理システム | |
JP5259714B2 (ja) | 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置 | |
JP4811830B1 (ja) | コンピュータリソース制御システム | |
WO2014073046A1 (ja) | 情報処理装置、プログラムおよび仮想マシン移動方法 | |
JP2004355233A (ja) | 耐障害システム、プログラム並列実行方法、耐障害システムの障害検出装置およびプログラム | |
JP5983746B2 (ja) | 処理装置、処理システム、及びプログラム | |
JP5726340B2 (ja) | プロセッサシステム | |
JP6123626B2 (ja) | 処理再開方法、処理再開プログラムおよび情報処理システム | |
JP2007156618A (ja) | 情報処理システムおよび情報処理装置の割当管理方法 | |
JP5657062B2 (ja) | 画像形成装置、画像形成装置の制御方法、およびプログラム | |
Kiertscher et al. | Cherub: Power consumption aware cluster resource management | |
JP5332257B2 (ja) | サーバシステム、サーバ管理方法、およびそのプログラム | |
US11829603B2 (en) | Information processing system and image forming apparatus capable of accurately predicting lifetime of semiconductor device, and control method therefor | |
JP2010231295A (ja) | 解析システム | |
JP2020177489A (ja) | 制御方法、制御プログラム、および情報処理装置 | |
CN112912848A (zh) | 一种丛集作业过程中的电源请求管理方法 | |
JP2019168845A (ja) | 情報処理装置とその制御方法 | |
JP7570829B2 (ja) | 情報処理システム、画像形成装置、情報処理システムの制御方法、画像形成装置の制御方法、及びプログラム | |
JP2013258511A (ja) | 画像形成装置、バックアップレストア方法及びプログラム | |
JP6112205B2 (ja) | 情報処理システム、装置、方法及びプログラム | |
JP4723686B2 (ja) | 情報処理システムおよび情報処理装置の割当管理方法 | |
JP2012089109A (ja) | コンピュータリソース制御システム | |
JP2010258498A (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: 12880611 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014523504 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12880611 Country of ref document: EP Kind code of ref document: A1 |