WO2012127598A1 - Synchronization device, synchronization method for synchronization device and synchronization program - Google Patents

Synchronization device, synchronization method for synchronization device and synchronization program Download PDF

Info

Publication number
WO2012127598A1
WO2012127598A1 PCT/JP2011/056668 JP2011056668W WO2012127598A1 WO 2012127598 A1 WO2012127598 A1 WO 2012127598A1 JP 2011056668 W JP2011056668 W JP 2011056668W WO 2012127598 A1 WO2012127598 A1 WO 2012127598A1
Authority
WO
WIPO (PCT)
Prior art keywords
synchronization
unit
data
time
cycle
Prior art date
Application number
PCT/JP2011/056668
Other languages
French (fr)
Japanese (ja)
Inventor
聖 金城
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2011/056668 priority Critical patent/WO2012127598A1/en
Publication of WO2012127598A1 publication Critical patent/WO2012127598A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2097Error 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 maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Definitions

  • the present invention relates to, for example, a synchronization device that synchronizes an active system state and a standby system state, a synchronization method of the synchronization device, and a synchronization program.
  • a technology that applies virtualization technology, and realizes FT (fault tolerant) in software with a redundant configuration in which the execution state of a virtual machine is synchronized between physical servers hereinafter referred to as software FT). There is.
  • Non-Patent Document 1 performs synchronization at a fixed period. That is, the value of the synchronization period is specified for Remus before the start of the synchronization process, and thereafter, the synchronization process is performed with the specified synchronization period.
  • FIG. 8 is a diagram illustrating a configuration example of a system in which Remus is introduced.
  • Xen reference numerals 003 and 010
  • Remus 004 of the host OS 002 acquires the dirty page 005 (memory difference information) of the synchronization source virtual machine (guest OS 001) as the execution state of the virtual machine.
  • Remus 004 transmits the dirty page 005 to the host OS 007, and Remus 008 of the host OS 007 reflects the dirty page 005 to the synchronization destination virtual machine (guest OS 009). Thereby, the execution state of the virtual machine is synchronized.
  • the buffering mechanism 006 is used to output the network I / O output of the synchronization source virtual machine.
  • the blocked network I / O is processed as having been successfully output.
  • the blocked network I / O is sent when the operation of the synchronization source virtual machine is resumed.
  • FIG. 9 is a diagram illustrating a processing time when the synchronization processing is not performed.
  • FIG. 10 and FIG. 11 are diagrams showing a problem when performing the synchronization process.
  • the time at which the “memory access process”, the “data transmission process”, the “data reception process”, and the “idle process” end when the synchronization process is not performed is “t”.
  • the memory access process is a process for accessing the memory
  • the data transmission process is a process for transmitting data according to the result of the memory access process
  • the data reception process is a process for receiving response data for the transmission data
  • an idle process Is a process of waiting until response data is received.
  • An object of the present invention is to set an appropriate synchronization cycle, for example, and to reduce processing time delay.
  • the synchronization device executes predetermined operation processing and synchronizes data used in the operation processing with a predetermined standby device.
  • the synchronization device includes: A synchronization cycle storage unit that stores a synchronization cycle synchronized with the standby device; A state data storage unit for storing data used in the operation process as state data; An operation unit that executes the operation process using the state data stored in the state data storage unit; An operation stop unit that stops the operation of the operation unit every time the synchronization cycle stored in the synchronization cycle storage unit elapses; When the operation of the operation unit is stopped by the operation stop unit, a synchronization data transmission unit that transmits at least any data included in the state data to the standby device as synchronization data; When the synchronization data is transmitted by the synchronization data transmission unit, an operation start unit that starts operation of the operation unit; A specific time including a first time required to transmit the synchronization data to the standby device, and a specific time at which the ratio of the remaining time after subtracting the first time
  • an appropriate synchronization cycle can be set to reduce the delay in operation processing.
  • FIG. 1 is a diagram illustrating an example of a configuration of an operation processing system 100 according to Embodiment 1.
  • FIG. FIG. 3 is a functional configuration diagram of an active physical server 200 in the first embodiment.
  • FIG. 3 is a functional configuration diagram of a standby physical server 300 in the first embodiment.
  • FIG. 3 is a schematic diagram of synchronization processing in the first embodiment.
  • 5 is a flowchart showing a synchronization method of the active physical server 200 in the first embodiment.
  • 4 is a flowchart showing a method for dynamically controlling the synchronization period in the first embodiment.
  • 3 is a diagram illustrating an example of hardware resources of an active physical server 200 and a standby physical server 300 according to Embodiment 1.
  • FIG. The figure which shows the structural example of the system which introduced Remus.
  • FIG. 6 is a functional configuration diagram of an active physical server 200 according to Embodiment 2.
  • 9 is a flowchart showing a synchronization method of the active physical server 200 in the second embodiment.
  • Embodiment 1 A system configuration for synchronizing the state of the active computer and the state of the standby computer while dynamically updating the synchronization period will be described.
  • FIG. 1 is a diagram illustrating an example of a configuration of an operation processing system 100 according to the first embodiment. A configuration example of the operation processing system 100 according to the first embodiment will be described with reference to FIG.
  • the operation processing system 100 (an example of an information processing system and a synchronization system) includes an active physical server 200 (an example of a synchronization device), a standby physical server 300 (an example of a standby device), and terminal devices 110a-c (an example of a communication device). ).
  • the active physical server 200 and each of the terminal devices 110a-c are connected to the LAN 102 (an example of a network), communicate via the LAN 102, and perform specific operation processing.
  • the active physical server 200 and the standby physical server 300 are connected to the LAN 101 (an example of a network), and the memory image of the active physical server 200 is transmitted to the standby physical server 300 at each dynamically changing synchronization period. Synchronize memory images.
  • a memory image is data stored in a memory.
  • the memory image means all (or a part) of data stored in a storage area allocated to a virtual machine to be described later.
  • the standby physical server 300 is connected to the LAN 102, and continues operation processing for each terminal device 110a-c instead of the active physical server 200 when a failure occurs in the active physical server 200.
  • the operational physical server 200 includes hardware 210, a virtual machine monitor unit 220, a host OS unit 230, and a guest OS unit 240.
  • the virtual machine monitor unit 220 executes a virtual machine monitor using the hardware 210, constructs (generates) a first virtual machine and a second virtual machine, and performs the first virtual machine and the second virtual machine And control.
  • the virtual machine monitor is software that emulates a computer and constructs (generates) a virtual computer on an actual computer (physical computer). This virtual computer is called a “virtual machine”.
  • the host OS unit 230 executes an OS (operating system) as a first virtual machine
  • the guest OS unit 240 executes the OS as a second virtual machine.
  • the OS of the first virtual machine is referred to as “host OS”
  • guest OS the OS of the second virtual machine
  • the host OS unit 230 controls the guest OS unit 240 and transmits the memory image of the guest OS unit 240 to the standby physical server 300.
  • the guest OS unit 240 executes operation processing.
  • the guest OS unit 240 is referred to as “synchronization source computer 249”.
  • the standby physical server 300 includes hardware 310, a virtual machine monitor unit 320, a host OS unit 330 (third virtual machine), and a guest OS unit 340 (fourth virtual machine).
  • the guest OS unit 340 is referred to as “synchronization destination computer 349”.
  • the host OS unit 330 controls the guest OS unit 340 (synchronization destination computer 349). For example, the host OS unit 330 receives the memory image of the synchronization source computer 249 (guest OS unit 240) from the active physical server 200, and uses the received memory image to store the memory of the synchronization destination computer 349 (guest OS unit 340). Update the image. As a result, the memory image of the synchronization source computer 249 and the memory image of the synchronization destination computer 349 are synchronized. When a failure occurs in the synchronization source computer 249, the guest OS unit 240 executes an operation process as the synchronization destination computer 349.
  • guest OS unit 240 executes an operation process as the synchronization destination computer 349.
  • FIG. 2 is a functional configuration diagram of the active physical server 200 in the first embodiment. The functional configuration of the active physical server 200 in the first embodiment will be described with reference to FIG.
  • the active physical server 200 executes an operation process including a process of transmitting communication data to a specific terminal device 110 (an example of a communication apparatus), and transmits data used in the operation process to a standby system. Synchronizes with the physical server 300 (an example of a standby device).
  • the operational physical server 200 includes hardware 210, a virtual machine monitor unit 220, a host OS unit 230, and a guest OS unit 240.
  • the operational physical server 200 includes a CPU (Central Processing Unit), a memory, a communication device, a communication buffer, and the like as the hardware 210.
  • a CPU Central Processing Unit
  • the hardware 210 includes a CPU (Central Processing Unit), a memory, a communication device, a communication buffer, and the like as the hardware 210.
  • the virtual machine monitor unit 220 controls the host OS unit 230 as a first virtual machine, and controls the guest OS unit 240 as a second virtual machine. For example, the virtual machine monitor unit 220 allocates CPU usage time to the host OS unit 230 and the guest OS unit 240 based on a control table stored in advance in the memory.
  • the CPU usage time is the time per unit time in which the CPU is used (also referred to as CPU usage rate). Further, the virtual machine monitor unit 220 allocates memory storage areas to the host OS unit 230 and the guest OS unit 240 based on the control table.
  • the control table is data in which virtual machine control information is set. For example, the CPU usage time ratio and the storage area address are set in the control table so as to correspond to the host OS unit 230 and the guest OS unit 240, respectively.
  • a storage area allocated to the host OS unit 230 is referred to as a “host OS area”, and a storage area allocated to the guest OS unit 240 is referred to as a “guest OS area (an example of a state data storage unit)”.
  • a storage area used by the virtual machine monitor unit 220 is referred to as a “monitor area (an example of an operation information storage unit)”.
  • the monitor area stores a synchronous communication speed (Wc described later), a data communication speed (Wd described later), an update rate (Rr described later), and a generation rate (Gr described later).
  • the synchronous communication speed is a communication speed when communicating with the standby physical server 300.
  • the data communication speed is a communication speed when communicating with the terminal device 110.
  • the update rate represents the size of data updated per unit time among data included in the memory image (an example of state data) of the guest OS area.
  • the generation rate represents the size of communication data generated per unit time.
  • the guest OS unit 240 is a synchronization source computer 249 provided with an operation unit 241.
  • the operation unit 241 uses the memory image of the guest OS area (an example of state data) to execute operation processing.
  • the host OS unit 230 includes an operation information acquisition unit 231, a synchronization cycle calculation unit 232, a synchronization cycle storage unit 233, a synchronization start instruction unit 234, and a synchronization engine unit 235.
  • the synchronization cycle storage unit 233 (an example of the synchronization cycle storage unit) is a part of the host OS area.
  • the synchronization period storage unit 233 stores a synchronization period for synchronizing the synchronization source computer 249 (guest OS unit 240) and the synchronization destination computer 349 (guest OS unit 340).
  • the synchronization engine unit 235 (an example of an operation stop unit, a synchronization data transmission unit, and an operation start unit) performs the following synchronization processing.
  • the synchronization engine unit 235 stops the operation of the operation unit 241 every time the synchronization period stored in the synchronization period storage unit 233 elapses (operation stop process).
  • the synchronization engine unit 235 transmits at least one data included in the memory image to the standby physical server 300 as synchronization data (synchronous data transmission processing).
  • the synchronization engine unit 235 transmits, to the standby physical server 300, the data (dirty page to be described later) updated when the operation unit 241 is operating among the data included in the memory image as the synchronization data.
  • the synchronization engine unit 235 transmits the entire memory image to the standby physical server 300 as synchronization data.
  • the synchronization engine unit 235 starts the operation of the operation unit 241 when the synchronization data is transmitted (operation start process).
  • the synchronization cycle calculation unit 232 updates the synchronization cycle ( ⁇ t described later) as follows (synchronization cycle update processing).
  • the synchronization period calculation unit 232 newly sets a specific time at which a ratio (Pvm, which will be described later) of a remaining time obtained by subtracting a synchronization processing time (to be described later) and an I / O processing delay (Tio, which will be described later) becomes a predetermined ratio. Calculated as the synchronization period.
  • the synchronization cycle calculation unit 232 updates the synchronization cycle stored in the synchronization cycle storage unit 233 with a new synchronization cycle.
  • the synchronization processing time (an example of the first time) is a time required for transmitting the synchronization data to the standby physical server 300.
  • the I / O processing delay (an example of the second time) is a time required for transmitting communication data to the terminal device 110.
  • the synchronization cycle calculation unit 232 calculates, as a new synchronization time, a specific time at which the ratio of the remaining time obtained by subtracting the synchronization processing time and the I / O processing delay is maximized.
  • the synchronization processing time is a time including a dirty page transmission time (synchronization data transmission time) obtained by dividing the data size of the synchronization data by the synchronization communication speed (Wc).
  • the I / O processing delay is a time including a time (communication data transmission time) obtained by dividing the data size of the communication data by the data communication speed (Wd).
  • the data size of the synchronous data is a data size obtained by multiplying the update rate (Rr) by a specific time.
  • the data size of the communication data is a data size obtained by multiplying the generation rate (Gr) by a specific time.
  • the operation information acquisition unit 231 acquires operation information of the guest OS unit 240 from the monitor area via the virtual machine monitor unit 220.
  • the synchronous communication speed (Wc), the data communication speed (Wd), the update rate (Rr), and the generation rate (Gr) are examples of operation information.
  • the synchronization start instruction unit 234 instructs the synchronization engine unit 235 to execute the synchronization process every time the synchronization period elapses.
  • FIG. 3 is a functional configuration diagram of the standby physical server 300 according to the first embodiment.
  • the functional configuration of the standby physical server 300 in the first embodiment will be described with reference to FIG.
  • the standby physical server 300 (an example of a standby device) includes hardware 310, a virtual machine monitor unit 320, a host OS unit 330, and a guest OS unit 340, like the active physical server 200 (see FIG. 2).
  • the standby physical server 300 includes a CPU and a memory as the hardware 310.
  • the virtual machine monitor unit 320 controls the host OS unit 330 as a third virtual machine, and controls the guest OS unit 340 as a fourth virtual machine.
  • a storage area allocated to the host OS unit 330 is referred to as a “host OS area”
  • a storage area allocated to the guest OS unit 340 is referred to as a “guest OS area”
  • a storage area used by the virtual machine monitor unit 320 is referred to as a “host OS area”. This is called “monitor area”.
  • the guest OS unit 340 is a synchronization destination computer 349 including an operation unit 341.
  • the operation unit 341 executes operation processing instead of the operation unit 241 when a failure occurs in the operation unit 241 (see FIG. 2) of the synchronization source computer 249.
  • the host OS unit 330 includes a synchronization server unit 331.
  • the synchronization server unit 331 receives the synchronization data transmitted from the active physical server 200, and updates the memory image of the guest OS unit 340 (the memory image of the guest OS area) using the received synchronization data.
  • FIG. 4 is a schematic diagram of synchronization processing in the first embodiment. An overview of the synchronization processing in the first embodiment will be described with reference to FIG.
  • the synchronization engine unit 235 of the host OS unit 230 temporarily stops the synchronization source computer 249 (guest OS unit 240) for each synchronization period.
  • the synchronization period is the time from when the synchronization source computer 249 is temporarily stopped until the next temporary stop.
  • the synchronization engine unit 235 suspends the synchronization source computer 249 and then acquires an updated page among the pages included in the memory image of the synchronization source computer 249.
  • the updated page is referred to as a “dirty page”.
  • the synchronization engine unit 235 transmits the acquired dirty page to the standby physical server 300.
  • the synchronization server unit 331 of the host OS unit 330 receives the dirty page, and uses the received dirty page to correspond to the dirty page in the memory image of the synchronization target computer 349 (guest OS unit 340). Refresh the page.
  • the synchronization engine unit 235 restarts the synchronization source computer 249 after transmitting the dirty page. However, the synchronization engine unit 235 buffers the transmission data output from the synchronization source computer 249 when the synchronization source computer 249 is restarted. The transmission data of the synchronization source computer 249 is accumulated in the communication buffer by buffering. Hereinafter, buffering the transmission data of the synchronization source computer 249 is referred to as “I / O blocking”.
  • the restarted synchronization source computer 249 executes operation processing, generates transmission data to be transmitted to the terminal device 110, and outputs the generated transmission data to the communication buffer.
  • the communication device of the hardware 210 transmits the transmission data stored in the communication buffer in the previous synchronization cycle, and stores the transmission data generated in the current synchronization cycle in the communication buffer.
  • FIG. 5 is a flowchart showing a synchronization method of the active physical server 200 in the first embodiment. A method of synchronizing the active physical server 200 in the first embodiment will be described with reference to FIG.
  • the synchronization engine unit 235 executes the following process.
  • the synchronization engine unit 235 starts synchronization processing (S120), stops the I / O blocking of the synchronization source computer 249 (S121), and temporarily stops the synchronization source computer 249 (S122).
  • the synchronization engine unit 235 acquires the dirty page of the synchronization source computer 249 (S130), and transmits the acquired dirty page to the synchronization destination computer 349 (S131).
  • the synchronization engine unit 235 restarts the synchronization source computer 249 (S140), starts I / O blocking of the synchronization source computer 249 (S141), and ends the synchronization process (S142).
  • the synchronization start instruction unit 234 refers to the synchronization period stored in the synchronization period storage unit 233 (S150), and starts a synchronization period timer that notifies the elapse of the synchronization period (S151).
  • the synchronization start instruction unit 234 of the host OS unit 230 waits until the synchronization cycle timer started in the previous S151 times out.
  • the synchronization start instruction unit 234 detects a timeout of the synchronization cycle timer, instructs the synchronization engine unit 235 to execute the synchronization process.
  • the synchronization start instruction unit 234 calls the synchronization engine unit 235. After instructing the synchronization engine unit 235 to execute the synchronization process, the process proceeds to S120.
  • the synchronization engine unit 235 of the host OS unit 230 receives the execution instruction of the synchronization process from the synchronization start instruction unit 234, and starts executing the synchronization process (S121-S141) described below. Further, the synchronization engine unit 235 starts measuring the processing time required for the synchronization processing. It progresses to S121 after S120.
  • the synchronization engine unit 235 stops the I / O blocking of the synchronization source computer 249 (guest OS unit 240) started in the previous S141 as the “transmission control unit”. At this time, the synchronization engine unit 235 requests the virtual machine monitor unit 220 to stop the I / O blocking, and the virtual machine monitor unit 220 controls the communication buffer allocated to the communication device or the synchronization source computer 249 to control the synchronization source computer 249. Stop I / O blocking.
  • the I / O blocking of the synchronization source computer 249 is a process or function for storing the transmission data generated by the synchronization source computer 249 in the communication buffer without transmitting it. It progresses to S122 after S121.
  • the synchronization engine unit 235 temporarily stops the synchronization source computer 249.
  • the synchronization engine unit 235 requests the virtual machine monitor unit 220 to temporarily stop the synchronization source computer 249, and the virtual machine monitor unit 220 temporarily stops the synchronization source computer 249.
  • the virtual machine monitor unit 220 temporarily stops the allocation of the CPU usage time to the synchronization source computer 249. Thereafter, the execution of the operation process by the operation unit 241 is stopped until the synchronization source computer 249 is restarted. It progresses to S130 after S122.
  • S121 and S122 may be reversed. Further, S121 may be executed in S140.
  • the synchronization engine unit 235 acquires the dirty page of the synchronization source computer 249.
  • the synchronization engine unit 235 requests the virtual machine monitor unit 220 to acquire a dirty page
  • the virtual machine monitor unit 220 acquires the dirty page from the memory image of the synchronization source computer 249, and acquires the acquired dirty page as the synchronization engine unit.
  • the memory image of the synchronization source computer 249 is data stored in the storage area allocated to the synchronization source computer 249.
  • the memory image includes a plurality of pages.
  • a dirty page is a page that has been updated since the last acquisition of the dirty page among the pages included in the memory image. Dirty pages are also called update pages.
  • the dirty page is managed by the OS of the active physical server 200 or the virtual machine monitor unit 220 (an example of the update data management unit) using a management table for managing the storage area. It progresses to S131 after S130.
  • the synchronization engine unit 235 transmits the dirty page of the synchronization source computer 249 to the synchronization destination computer 349.
  • the synchronization engine unit 235 generates data (communication packet) including a dirty page and is transmitted to the standby physical server 300 as synchronization data, and stores the data in the communication buffer allocated to the host OS unit 230. Set the synchronization data.
  • the communication device transmits the synchronization data set in the communication buffer.
  • the synchronization server unit 331 of the standby physical server 300 receives the synchronization data, and acquires the dirty page of the synchronization source computer 249 from the received synchronization data.
  • the synchronization server unit 331 updates the page corresponding to the acquired dirty page among the pages included in the memory image of the synchronization destination computer 349 (guest OS unit 340) using the acquired dirty page. At this time, the synchronization server unit 331 requests the virtual machine monitor unit 320 to update the memory image of the synchronization destination computer 349, and the virtual machine monitor unit 320 uses the dirty page of the synchronization source computer 249 to store the memory image of the synchronization destination computer 349. Update. After S131, the process proceeds to S140.
  • the synchronization engine unit 235 requests the virtual machine monitor unit 220 to restart the synchronization source computer 249, and the virtual machine monitor unit 220 restarts the synchronization source computer 249.
  • the virtual machine monitor unit 220 controls the communication buffer of the communication device or the synchronization source computer 249 to transmit the transmission data buffered in the previous synchronization cycle to the terminal device 110.
  • the transmission data buffered in the previous synchronization cycle may be transmitted by the communication device when S121 is executed.
  • the virtual machine monitor unit 220 resumes the allocation of the CPU usage time to the synchronization source computer 249.
  • operation processing is executed by the operation unit 241 until the synchronization source computer 249 is temporarily stopped. It progresses to S141 after S140.
  • the synchronization engine unit 235 starts I / O blocking of the guest OS unit 240 as a “transmission control unit”. At this time, the synchronization engine unit 235 requests the virtual machine monitor unit 220 to start I / O blocking, and the virtual machine monitor unit 220 controls the communication buffer allocated to the communication device or the synchronization source computer 249 to control the synchronization source computer 249. Start I / O blocking. Thereafter, transmission data generated by the synchronization source computer 249 is accumulated in the communication buffer until the I / O blocking is stopped. It progresses to S142 after S141.
  • S140 and S141 may be reversed.
  • the synchronization engine unit 235 ends the execution of the synchronization process (S121-S141). Also, the synchronization engine unit 235 ends the measurement of the processing time required for the synchronization process. It progresses to S150 after S142.
  • the synchronization start instruction unit 234 refers to the synchronization cycle storage unit 233 and acquires the synchronization cycle stored in the synchronization cycle storage unit 233. After S150, the process proceeds to S151.
  • the synchronization start instruction unit 234 subtracts the processing time of the synchronization process measured from S120 to S142 from the synchronization period.
  • the time obtained by subtracting the processing time of the synchronization process from the synchronization period is referred to as “the remaining time of the synchronization period”.
  • the synchronization start instruction unit 234 sets the remaining time of the synchronization period in the timer, and starts the timer in which the remaining time of the synchronization period is set.
  • the timer in which the remaining time of the synchronization period is set is referred to as “synchronization period timer”.
  • the synchronization cycle timer is a function that times out when the remaining time of the synchronization cycle elapses and notifies the synchronization start instruction unit 234 of the timeout. After S151, the process returns to S110.
  • the synchronization cycle timer times out every time the synchronization cycle elapses (S110), and the synchronization processing (S120-S142) is executed for each synchronization cycle.
  • FIG. 6 is a flowchart illustrating a synchronization cycle dynamic control method according to the first embodiment. A method for dynamically controlling the synchronization period in the first embodiment will be described with reference to FIG.
  • the operation information acquisition unit 231 acquires operation information of the synchronization source computer 249 (S210).
  • the synchronization cycle calculation unit 232 calculates a new synchronization cycle based on the operation information of the synchronization source computer 249 (S220).
  • the synchronization cycle calculation unit 232 updates the synchronization cycle stored in the synchronization cycle storage unit 233 to a new synchronization cycle (S230).
  • S210 to S230 are executed at every predetermined update timing (S240).
  • the operation information acquisition unit 231 acquires operation information of the synchronization source computer 249 (guest OS unit 240). At this time, the operation information acquisition unit 231 requests the virtual machine monitor unit 220 for operation information of the synchronization source computer 249. The virtual machine monitor unit 220 acquires the operation information of the synchronization source computer 249 from the memory of the hardware 210, and returns the acquired operation information of the synchronization source computer 249 to the operation information acquisition unit 231.
  • the operation information acquisition unit 231 includes “CPU resource amount” “Dirty page generation rate” “Dirty page acquisition rate” “Synchronization preparation time” “Dirty page communication bandwidth” “Transmission data generation rate” “Transmission data” ”Is acquired as operation information of the synchronization source computer 249.
  • a table in which operation information of the synchronization source computer 249 is set is referred to as an “operation information table”.
  • “Dirty page generation rate” is the size of a page updated per unit time among pages included in the memory image of the synchronization source computer 249.
  • the unit is “KB / s” or “page / s” (KB: kilobyte, s: second).
  • “Dirty page acquisition rate” is the time required to acquire a unit amount of dirty pages from the memory image of the synchronization source computer 249.
  • the unit is “s / KB” or “s / page”.
  • Synchronization preparation time is the total time of the time required to temporarily stop the synchronization source computer 249 and the time required to restart the synchronization source computer 249. For example, the unit is “s”.
  • the “dirty page communication bandwidth” is the communication speed of the LAN 101 used when a dirty page (synchronized data) is transmitted from the active physical server 200 to the standby physical server 300.
  • the unit is “KB / s”.
  • the transmission data generation rate is the size of transmission data generated by the synchronization source computer 249 per unit time. For example, the unit is “KB / s”.
  • Communication band of transmission data is a communication speed of the LAN 102 used when transmission data is transmitted from the active physical server 200 to the terminal device 110.
  • the unit is “KB / s”.
  • the synchronization cycle calculation unit 232 calculates a new synchronization cycle based on the operation information of the synchronization source computer 249 acquired in S210.
  • the synchronization cycle calculation unit 232 calculates, as a new synchronization cycle, a synchronization cycle in which the effective operating rate of the synchronization source computer 249 is maximized.
  • the synchronization cycle calculation unit 232 may calculate a synchronization cycle other than the synchronization cycle that maximizes the execution availability as a new synchronization cycle.
  • the synchronization cycle calculation unit 232 may calculate a synchronization cycle in which the execution operation rate becomes a predetermined operation rate as a new synchronization cycle.
  • the effective operating rate of the synchronization source computer 249 is the ratio of the actual VM operation time to the synchronization period, and the actual VM operation time is the time for the operation unit 241 to actually execute the operation processing (with an I / O processing delay) VM operating time). Equation (1) representing the effective operating rate of the synchronization source computer 249 is shown below.
  • equation (2) representing the synchronization processing time
  • equation (3) representing the VM operation time
  • equation representing the I / O processing delay ( 4) and Expression (5) representing the actual VM operation time are shown.
  • the “synchronization processing time” corresponds to the time required for the synchronization processing (S120 to S142 in FIG. 5).
  • “Dirty page acquisition time” is the time required to acquire a dirty page.
  • “Dirty page size” (synchronization data size) is the size of a page (dirty page) that is updated per synchronization period among pages included in the memory image of the synchronization source computer 249.
  • the “dirty page transmission time” is the time from when the active physical server 200 transmits a dirty page until the standby physical server 300 receives the dirty page.
  • any one of “dirty page acquisition time”, “dirty page transmission time”, and “synchronization preparation time”, or any two total time may be used as the synchronization processing time.
  • VM operation time (operation unit operation time) is the time during which the synchronization source computer 249 (operation unit 241) operates in the synchronization period.
  • the synchronization cycle calculation unit 232 updates the current synchronization cycle stored in the synchronization cycle storage unit 233 with the new synchronization cycle calculated in S220. It progresses to S240 after S230.
  • the synchronization cycle calculation unit 232 determines whether or not a predetermined update timing has come. For example, the synchronization cycle calculation unit 232 activates an update timer that sets a predetermined update time, and determines that the update timing has come when the update timer times out. When the update timer times out, the synchronization cycle calculation unit 232 newly starts the update timer. Further, the synchronization cycle calculation unit 232 may determine that the update timing has come each time the synchronization cycle timer (see S151 in FIG. 5) times out by a predetermined number of synchronizations. If the update timing is reached, the process returns to S210.
  • the operation information of the synchronization source computer 249 may be a fixed value or a variable value.
  • the virtual machine monitor unit 220 manages the operation information of the synchronization source computer 249 as an “operation information management unit”.
  • the host OS unit 230 may have the function of “operation information management unit”.
  • the virtual machine monitor unit 220 stores the past synchronization cycle and the past dirty page size in the memory, and generates a new “dirty page generation rate based on the past synchronization cycle and the past dirty page size stored in the memory. May be calculated. For example, the virtual machine monitor unit 220 calculates a new “dirty page generation rate” based on the previous synchronization cycle and the previous dirty page size. Further, the virtual machine monitor unit 220 stores the past “dirty page generation rate” in the memory, and calculates the average value of the past “dirty page generation rate” as a new “dirty page generation rate”. Also good.
  • the virtual machine monitor unit 220 stores the past synchronization cycle and the past transmission data size in the memory, and generates a new “transmission data” based on the past synchronization cycle and the past transmission data size stored in the memory.
  • the “generation rate” may be calculated. For example, the virtual machine monitor unit 220 calculates a new “transmission data generation rate” based on the previous synchronization period and the previous transmission data size. Further, the virtual machine monitor unit 220 stores the past “transmission data generation rate” in the memory, and calculates an average value of the past “transmission data generation rate” as a new “transmission data generation rate”. Also good.
  • FIG. 7 is a diagram illustrating an example of hardware resources of the active physical server 200 and the standby physical server 300 according to the first embodiment.
  • the active physical server 200 and the standby physical server 300 include a CPU 901 (Central Processing Unit).
  • the CPU 901 is connected to a ROM 903, a RAM 904, a communication board 905 (an example of a communication device), a display device 911, a keyboard 912, a mouse 913, a drive device 914, and a magnetic disk device 920 via a bus 902, and these hardware devices are connected.
  • Control The drive device 914 is a device that reads and writes a storage medium such as an FD (Flexible Disk Drive), a CD (Compact Disc), and a DVD (Digital Versatile Disc).
  • FD Flexible Disk Drive
  • CD Compact Disc
  • DVD Digital Versatile Disc
  • the communication board 905 is wired or wirelessly connected to a communication network such as a LAN (Local Area Network), the Internet, or a telephone line.
  • a communication network such as a LAN (Local Area Network), the Internet, or a telephone line.
  • the magnetic disk device 920 stores an OS 921 (operating system), a program group 922, and a file group 923.
  • OS 921 operating system
  • program group 922 program group 922
  • file group 923 file group 923
  • the program group 922 includes a program for executing a function described as “unit” in the embodiment.
  • the program is read and executed by the CPU 901. That is, the program causes the computer to function as “ ⁇ part”, and causes the computer to execute the procedures and methods of “ ⁇ part”.
  • the file group 923 includes various data (input, output, determination result, calculation result, processing result, etc.) used in “ ⁇ part” described in the embodiment.
  • arrows included in the configuration diagrams and flowcharts mainly indicate input and output of data and signals.
  • what is described as “to part” may be “to circuit”, “to apparatus”, and “to device”, and “to step”, “to procedure”, and “to processing”. May be. That is, what is described as “ ⁇ unit” may be implemented by any of firmware, software, hardware, or a combination thereof.
  • the active physical server 200 includes a synchronization source virtual machine (synchronization source computer 249) on which the first guest OS operates and a virtual machine on which a first host OS (host OS unit 230) that manages the synchronization source virtual machine operates.
  • the standby physical server 300 includes a synchronization destination virtual machine (synchronization destination computer 349) on which the second guest OS operates and a virtual machine on which a second host OS (host OS unit 330) that manages the synchronization destination virtual machine operates.
  • the first host OS synchronizes the execution state of the synchronization source virtual machine operating on the active physical server 200 and the execution state of the synchronization destination virtual machine on the standby physical server 300 by periodic control.
  • the first host OS includes an operation information acquisition unit 231, a synchronization cycle calculation unit 232, and a synchronization cycle storage unit 233, and dynamically changes the synchronization cycle.
  • the operation information acquisition unit 231 acquires operation information (CPU resource amount, dirty page size, data transmission amount) of the synchronization source virtual machine during the execution of the synchronization process.
  • the synchronization cycle calculation unit 232 calculates the synchronization cycle using the motion information acquired by the motion information acquisition unit 231 and the evaluation formula.
  • the synchronization cycle storage unit 233 is a shared data area that stores the synchronization cycle calculated by the synchronization cycle calculation unit 232.
  • Generated by synchronous commit processing by calculating the synchronization period using the operation information (CPU resource amount, dirty page size, data transmission amount) of the synchronization source virtual machine and the evaluation formula, and dynamically controlling the synchronization period Overhead (operation processing delay time) can be reduced.
  • not the dirty page but the entire memory image may be transmitted from the active physical server 200 to the standby physical server 300.
  • the host OS unit (reference numerals 230 and 330) and the guest OS part (reference numerals 240 and 340) may not be virtual machines.
  • a plurality of CPUs may be provided, a specific CPU may be assigned to the host OS unit, and another CPU may be assigned to the guest OS unit.
  • Embodiment 2 FIG. A description will be given of a mode in which the CPU usage time allocated to the guest OS unit 240 is allocated to the host OS unit 230 when executing the synchronization process.
  • items different from the first embodiment will be mainly described. Matters whose description is omitted are the same as those in the first embodiment.
  • FIG. 12 is a functional configuration diagram of the active physical server 200 according to the second embodiment. The functional configuration of the active physical server 200 in the second embodiment will be described with reference to FIG.
  • the host OS unit 230 of the active physical server 200 includes a CPU allocation unit 236 in addition to the configuration described in the first embodiment (see FIG. 2).
  • the CPU allocation unit 236 allocates the CPU usage time allocated to the operation unit 241 to the synchronization engine unit 235 when the operation of the operation unit 241 is stopped.
  • FIG. 13 is a flowchart showing a synchronization method of the active physical server 200 in the second embodiment. A method of synchronizing the active physical server 200 in the second embodiment will be described with reference to FIG.
  • the synchronization source computer 249 is in an idle state in which the CPU usage time is not allocated because it is temporarily stopped in S122. Therefore, the CPU allocation unit 236 requests the virtual machine monitor unit 220 to add the allocation, and the virtual machine monitor unit 220 additionally allocates the CPU usage time allocated to the synchronization source computer 249 to the host OS unit 230.
  • the synchronization engine unit 235 executes S130 and S131 using the CPU based on the CPU usage time originally allocated to the host OS unit 230 and the CPU usage time allocated additionally. Thereby, the processing time of S130 and S131 can be shortened. After S131, the process proceeds to S132.
  • the synchronization source computer 249 requests the virtual machine monitor unit 220 to cancel the allocation, and the virtual machine monitor unit 220 reallocates the CPU usage time added and allocated to the host OS unit 230 to the synchronization source computer 249 again. It progresses to S140 after S132.
  • the synchronous cycle dynamic control method is the same as that of the first embodiment (see FIG. 6). However, since the CPU usage time allocated to the synchronization source computer 249 is allocated to the host OS unit 230, the “CPU resource amount” (see equation (2)) for calculating the synchronization processing time increases. As a result, the synchronization processing time is shortened compared to the first embodiment, the effective operating rate of the synchronization source computer 249 is increased, and the synchronization cycle is changed.
  • the first host OS (host OS unit 230) of the active physical server 200 includes a CPU allocation unit 236.
  • the CPU allocation unit 236 acquires the execution state of the synchronization source virtual machine (synchronization source computer 249) on which the first guest OS operates, the unused CPU core (or CPU usage) of the active physical server 200 is acquired. Time) is allocated to the first host OS.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

The objective of the present invention is to set a suitable synchronization cycle in order to be able to reduce delay in processing time. A guest OS unit (240) of an operational system physical server (200) carries out predetermined operational processing and performs communication with each terminal device (110). A host OS unit (230) transmits dirty pages of a memory image of the guest OS unit (240) to a standby system physical server (300) for each time that the synchronization cycle elapses. The host OS unit (330) of the standby system physical server (300) receives the dirty pages of the guest OS unit (240), and updates the memory image of the guest OS unit (340) using the received dirty pages. In this regard, the host OS unit (230) updates the synchronization cycle on the basis of operation information (amount of CPU resources, sizes of the dirty pages, and the like) of the guest OS unit (240).

Description

同期装置、同期装置の同期方法および同期プログラムSynchronization device, synchronization method of synchronization device, and synchronization program
 本発明は、例えば、運用系の状態と待機系の状態とを同期させる同期装置、同期装置の同期方法および同期プログラムに関するものである。 The present invention relates to, for example, a synchronization device that synchronizes an active system state and a standby system state, a synchronization method of the synchronization device, and a synchronization program.
 仮想化技術を応用した技術であり、仮想マシンの実行状態を物理サーバ間で同期させた冗長な構成により、ソフトウェア的にFT(fault tolerant:耐障害性)を実現する技術(以下、ソフトウェアFT)がある。 A technology that applies virtualization technology, and realizes FT (fault tolerant) in software with a redundant configuration in which the execution state of a virtual machine is synchronized between physical servers (hereinafter referred to as software FT). There is.
 従来のソフトウェアFTでは、仮想マシンの同期の契機として、非特許文献1のように固定周期による同期制御が提案されている。
 非特許文献1のRemusは固定周期で同期を実施している。つまり、同期処理の開始前にRemusに対して同期周期の値を指定し、以後、指定された同期周期で同期処理を実施する。
In the conventional software FT, as a trigger for synchronization of virtual machines, synchronization control with a fixed period is proposed as in Non-Patent Document 1.
Remus in Non-Patent Document 1 performs synchronization at a fixed period. That is, the value of the synchronization period is specified for Remus before the start of the synchronization process, and thereafter, the synchronization process is performed with the specified synchronization period.
 図8は、Remusを導入したシステムの構成例を示す図である。
 図8では、仮想マシンモニタとしてXen(符号003、010)を用いている。
 ホストOS002のRemus004は、仮想マシンの実行状態として同期元仮想マシン(ゲストOS001)のダーティページ005(メモリの差分情報)を取得している。そして、Remus004はダーティページ005をホストOS007に送信し、ホストOS007のRemus008はダーティページ005を同期先仮想マシン(ゲストOS009)に反映する。これにより、仮想マシンの実行状態が同期する。Remus004はダーティページ005を取得するときに、同期元仮想マシンの動作を一時的に停止している。
 また、同期元仮想マシンと同期先仮想マシンとのネットワークに対する入出力(以下、ネットワークI/O)の整合性を確保するため、同期元仮想マシンのネットワークI/Oの出力をバッファリング機構006を用いてブロッキングしている。このとき、同期元仮想マシンでは、ブロッキングされたネットワークI/Oは出力に成功したものとして処理される。ブロッキングされたネットワークI/Oは、同期元仮想マシンの動作が再開したときに送出される。
FIG. 8 is a diagram illustrating a configuration example of a system in which Remus is introduced.
In FIG. 8, Xen (reference numerals 003 and 010) is used as a virtual machine monitor.
Remus 004 of the host OS 002 acquires the dirty page 005 (memory difference information) of the synchronization source virtual machine (guest OS 001) as the execution state of the virtual machine. Remus 004 transmits the dirty page 005 to the host OS 007, and Remus 008 of the host OS 007 reflects the dirty page 005 to the synchronization destination virtual machine (guest OS 009). Thereby, the execution state of the virtual machine is synchronized. When Remus 004 acquires the dirty page 005, the operation of the synchronization source virtual machine is temporarily stopped.
In addition, in order to ensure the consistency of input / output (hereinafter referred to as network I / O) between the synchronization source virtual machine and the synchronization destination virtual machine, the buffering mechanism 006 is used to output the network I / O output of the synchronization source virtual machine. Use blocking. At this time, in the synchronization source virtual machine, the blocked network I / O is processed as having been successfully output. The blocked network I / O is sent when the operation of the synchronization source virtual machine is resumed.
特開2009-080695号公報JP 2009-080695 A 特開2009-211517号公報JP 2009-2111517 A
 図9は、同期処理を行わない場合の処理時間を示す図である。
 図10と図11とは、同期処理を行う場合の課題を示す図である。
FIG. 9 is a diagram illustrating a processing time when the synchronization processing is not performed.
FIG. 10 and FIG. 11 are diagrams showing a problem when performing the synchronization process.
 図9において、同期処理を行わない場合に「メモリアクセス処理」と「データ送信処理」と「データ受信処理」と「アイドル処理」とが終了する時刻を「t」とする。
 メモリアクセス処理はメモリにアクセスする処理であり、データ送信処理はメモリアクセス処理の結果に応じてデータを送信する処理であり、データ受信処理は送信データに対する応答データを受信する処理であり、アイドル処理は応答データを受信するまで待機する処理である。
In FIG. 9, the time at which the “memory access process”, the “data transmission process”, the “data reception process”, and the “idle process” end when the synchronization process is not performed is “t”.
The memory access process is a process for accessing the memory, the data transmission process is a process for transmitting data according to the result of the memory access process, the data reception process is a process for receiving response data for the transmission data, and an idle process Is a process of waiting until response data is received.
 図10に示すように、短い同期周期を設定した場合、頻繁な同期処理(同期コミット処理)によって「処理時間の遅延」が発生する。 As shown in FIG. 10, when a short synchronization cycle is set, a “processing time delay” occurs due to frequent synchronization processing (synchronization commit processing).
 図11に示すように、長い同期周期を設定した場合、データ送信を伴わないメモリアクセス処理の処理時間は短くなる。
 但し、運用系と待機系とでデータ送信処理の整合性をとるために、同期処理が完了するまでデータ送信処理がブロックされる。
 このため、最悪の場合、同期周期の分だけデータ送信処理が遅延し、「処理時間の遅延」が発生する。
As shown in FIG. 11, when a long synchronization cycle is set, the processing time of the memory access process without data transmission is shortened.
However, in order to ensure consistency in data transmission processing between the active system and the standby system, the data transmission processing is blocked until the synchronization processing is completed.
For this reason, in the worst case, the data transmission process is delayed by the amount corresponding to the synchronization period, and a “processing time delay” occurs.
 また、同期処理の開始後、同期元仮想マシンでメモリの書き換えが頻繁に発生する場合、同期元仮想マシンのダーティページサイズが増加し、ダーティページの取得に時間がかかり、同期処理にかかる時間が増加する。 In addition, if memory rewriting occurs frequently in the synchronization source virtual machine after the start of synchronization processing, the dirty page size of the synchronization source virtual machine increases, it takes time to acquire dirty pages, and time required for synchronization processing To increase.
 本発明は、例えば、適切な同期周期を設定し、処理時間の遅延を低減できるようにすることを目的とする。 An object of the present invention is to set an appropriate synchronization cycle, for example, and to reduce processing time delay.
 本発明の同期装置は、所定の運用処理を実行すると共に、前記運用処理で使用するデータを所定の待機装置と同期させる。
 前記同期装置は、
 前記待機装置と同期する同期周期を記憶する同期周期記憶部と、
 前記運用処理で使用するデータを状態データとして記憶する状態データ記憶部と、
 前記状態データ記憶部に記憶された状態データを使用して前記運用処理を実行する運用部と、
 前記同期周期記憶部に記憶された同期周期が経過する毎に前記運用部の動作を停止させる運用停止部と、
 前記運用停止部により前記運用部の動作が停止された場合、前記状態データに含まれる少なくともいずれかのデータを同期データとして前記待機装置へ送信する同期データ送信部と、
 前記同期データ送信部により前記同期データが送信された場合、前記運用部の動作を開始させる運用開始部と、
 前記同期データを前記待機装置へ送信するために要する第1の時間を含んだ特定時間であって、前記第1の時間を差し引いた残り時間の割合が所定の割合になる特定時間を新たな同期周期として算出し、前記同期周期記憶部に記憶された同期周期を前記新たな同期周期で更新する同期周期更新部とを備える。
The synchronization device according to the present invention executes predetermined operation processing and synchronizes data used in the operation processing with a predetermined standby device.
The synchronization device includes:
A synchronization cycle storage unit that stores a synchronization cycle synchronized with the standby device;
A state data storage unit for storing data used in the operation process as state data;
An operation unit that executes the operation process using the state data stored in the state data storage unit;
An operation stop unit that stops the operation of the operation unit every time the synchronization cycle stored in the synchronization cycle storage unit elapses;
When the operation of the operation unit is stopped by the operation stop unit, a synchronization data transmission unit that transmits at least any data included in the state data to the standby device as synchronization data;
When the synchronization data is transmitted by the synchronization data transmission unit, an operation start unit that starts operation of the operation unit;
A specific time including a first time required to transmit the synchronization data to the standby device, and a specific time at which the ratio of the remaining time after subtracting the first time becomes a predetermined ratio is newly synchronized. A synchronization cycle update unit that calculates the cycle and updates the synchronization cycle stored in the synchronization cycle storage unit with the new synchronization cycle.
 本発明によれば、例えば、適切な同期周期を設定し、運用処理の遅延を低減することができる。 According to the present invention, for example, an appropriate synchronization cycle can be set to reduce the delay in operation processing.
実施の形態1における運用処理システム100の構成の一例を示す図。1 is a diagram illustrating an example of a configuration of an operation processing system 100 according to Embodiment 1. FIG. 実施の形態1における運用系物理サーバ200の機能構成図。FIG. 3 is a functional configuration diagram of an active physical server 200 in the first embodiment. 実施の形態1における待機系物理サーバ300の機能構成図。FIG. 3 is a functional configuration diagram of a standby physical server 300 in the first embodiment. 実施の形態1における同期処理の概要図。FIG. 3 is a schematic diagram of synchronization processing in the first embodiment. 実施の形態1における運用系物理サーバ200の同期方法を示すフローチャート。5 is a flowchart showing a synchronization method of the active physical server 200 in the first embodiment. 実施の形態1における同期周期の動的制御方法を示すフローチャート。4 is a flowchart showing a method for dynamically controlling the synchronization period in the first embodiment. 実施の形態1における運用系物理サーバ200と待機系物理サーバ300とのハードウェア資源の一例を示す図。3 is a diagram illustrating an example of hardware resources of an active physical server 200 and a standby physical server 300 according to Embodiment 1. FIG. Remusを導入したシステムの構成例を示す図。The figure which shows the structural example of the system which introduced Remus. 同期処理を行わない場合の処理時間を示す図。The figure which shows the processing time when not performing a synchronous process. 同期処理を行う場合の課題を示す図。The figure which shows the subject in the case of performing a synchronous process. 同期処理を行う場合の課題を示す図。The figure which shows the subject in the case of performing a synchronous process. 実施の形態2における運用系物理サーバ200の機能構成図。FIG. 6 is a functional configuration diagram of an active physical server 200 according to Embodiment 2. 実施の形態2における運用系物理サーバ200の同期方法を示すフローチャート。9 is a flowchart showing a synchronization method of the active physical server 200 in the second embodiment.
 実施の形態1.
 同期周期を動的に更新しながら運用系計算機の状態と待機系計算機の状態とを同期させるシステムの形態について説明する。
Embodiment 1 FIG.
A system configuration for synchronizing the state of the active computer and the state of the standby computer while dynamically updating the synchronization period will be described.
 図1は、実施の形態1における運用処理システム100の構成の一例を示す図である。
 実施の形態1における運用処理システム100の構成例について、図1に基づいて説明する。
FIG. 1 is a diagram illustrating an example of a configuration of an operation processing system 100 according to the first embodiment.
A configuration example of the operation processing system 100 according to the first embodiment will be described with reference to FIG.
 運用処理システム100(情報処理システム、同期システムの一例)は、運用系物理サーバ200(同期装置の一例)、待機系物理サーバ300(待機装置の一例)および端末装置110a-c(通信装置の一例)を備える。 The operation processing system 100 (an example of an information processing system and a synchronization system) includes an active physical server 200 (an example of a synchronization device), a standby physical server 300 (an example of a standby device), and terminal devices 110a-c (an example of a communication device). ).
 運用系物理サーバ200と各端末装置110a-cとは、LAN102(ネットワークの一例)に接続し、LAN102を介して通信し、特定の運用処理を行う。 The active physical server 200 and each of the terminal devices 110a-c are connected to the LAN 102 (an example of a network), communicate via the LAN 102, and perform specific operation processing.
 運用系物理サーバ200と待機系物理サーバ300とはLAN101(ネットワークの一例)に接続し、動的に変化する同期周期毎に運用系物理サーバ200のメモリイメージを待機系物理サーバ300へ送信し、メモリイメージを同期させる。 The active physical server 200 and the standby physical server 300 are connected to the LAN 101 (an example of a network), and the memory image of the active physical server 200 is transmitted to the standby physical server 300 at each dynamically changing synchronization period. Synchronize memory images.
 メモリイメージとはメモリに記憶されたデータである。
 例えば、メモリイメージは、後述する仮想マシンに割り当てられた記憶領域に記憶されている全て(または一部)のデータを意味する。
A memory image is data stored in a memory.
For example, the memory image means all (or a part) of data stored in a storage area allocated to a virtual machine to be described later.
 待機系物理サーバ300は、LAN102に接続し、運用系物理サーバ200に障害が発生した際に運用系物理サーバ200の代わりに各端末装置110a-cに対する運用処理を継続する。 The standby physical server 300 is connected to the LAN 102, and continues operation processing for each terminal device 110a-c instead of the active physical server 200 when a failure occurs in the active physical server 200.
 運用系物理サーバ200は、ハードウェア210と仮想マシンモニタ部220とホストOS部230とゲストOS部240とを備える。 The operational physical server 200 includes hardware 210, a virtual machine monitor unit 220, a host OS unit 230, and a guest OS unit 240.
 仮想マシンモニタ部220は、ハードウェア210を用いて仮想マシンモニタを実行し、第1の仮想マシンと第2の仮想マシンとを構築(生成)し、第1の仮想マシンと第2の仮想マシンとを制御する。
 仮想マシンモニタは、計算機をエミュレートして実際の計算機(物理的な計算機)に仮想的な計算機を構築(生成)するソフトウェアである。この仮想的な計算機を「仮想マシン」と呼ぶ。
The virtual machine monitor unit 220 executes a virtual machine monitor using the hardware 210, constructs (generates) a first virtual machine and a second virtual machine, and performs the first virtual machine and the second virtual machine And control.
The virtual machine monitor is software that emulates a computer and constructs (generates) a virtual computer on an actual computer (physical computer). This virtual computer is called a “virtual machine”.
 ホストOS部230は第1の仮想マシンとしてOS(オペレーティングシステム)を実行し、ゲストOS部240は第2の仮想マシンとしてOSを実行する。
 以下、第1の仮想マシンのOSを「ホストOS」と呼び、第2の仮想マシンのOSを「ゲストOS」と呼ぶ。
The host OS unit 230 executes an OS (operating system) as a first virtual machine, and the guest OS unit 240 executes the OS as a second virtual machine.
Hereinafter, the OS of the first virtual machine is referred to as “host OS”, and the OS of the second virtual machine is referred to as “guest OS”.
 ホストOS部230はゲストOS部240を制御し、ゲストOS部240のメモリイメージを待機系物理サーバ300に送信する。
 ゲストOS部240は運用処理を実行する。以下、ゲストOS部240を「同期元計算機249」と呼ぶ。
The host OS unit 230 controls the guest OS unit 240 and transmits the memory image of the guest OS unit 240 to the standby physical server 300.
The guest OS unit 240 executes operation processing. Hereinafter, the guest OS unit 240 is referred to as “synchronization source computer 249”.
 同様に、待機系物理サーバ300は、ハードウェア310と仮想マシンモニタ部320とホストOS部330(第3の仮想マシン)とゲストOS部340(第4の仮想マシン)とを備える。
 以下、ゲストOS部340を「同期先計算機349」と呼ぶ。
Similarly, the standby physical server 300 includes hardware 310, a virtual machine monitor unit 320, a host OS unit 330 (third virtual machine), and a guest OS unit 340 (fourth virtual machine).
Hereinafter, the guest OS unit 340 is referred to as “synchronization destination computer 349”.
 ホストOS部330はゲストOS部340(同期先計算機349)を制御する。例えば、ホストOS部330は、運用系物理サーバ200から同期元計算機249(ゲストOS部240)のメモリイメージを受信し、受信したメモリイメージを用いて同期先計算機349(ゲストOS部340)のメモリイメージを更新する。これにより、同期元計算機249のメモリイメージと同期先計算機349のメモリイメージとが同期する。
 ゲストOS部240は、同期元計算機249に障害が発生した場合、同期先計算機349として運用処理を実行する。
The host OS unit 330 controls the guest OS unit 340 (synchronization destination computer 349). For example, the host OS unit 330 receives the memory image of the synchronization source computer 249 (guest OS unit 240) from the active physical server 200, and uses the received memory image to store the memory of the synchronization destination computer 349 (guest OS unit 340). Update the image. As a result, the memory image of the synchronization source computer 249 and the memory image of the synchronization destination computer 349 are synchronized.
When a failure occurs in the synchronization source computer 249, the guest OS unit 240 executes an operation process as the synchronization destination computer 349.
 図2は、実施の形態1における運用系物理サーバ200の機能構成図である。
 実施の形態1における運用系物理サーバ200の機能構成について、図2に基づいて説明する。
FIG. 2 is a functional configuration diagram of the active physical server 200 in the first embodiment.
The functional configuration of the active physical server 200 in the first embodiment will be described with reference to FIG.
 運用系物理サーバ200(同期装置の一例)は、通信データを特定の端末装置110(通信装置の一例)へ送信する処理を含んだ運用処理を実行すると共に、運用処理で使用するデータを待機系物理サーバ300(待機装置の一例)と同期する。 The active physical server 200 (an example of a synchronization device) executes an operation process including a process of transmitting communication data to a specific terminal device 110 (an example of a communication apparatus), and transmits data used in the operation process to a standby system. Synchronizes with the physical server 300 (an example of a standby device).
 運用系物理サーバ200は、ハードウェア210と仮想マシンモニタ部220とホストOS部230とゲストOS部240とを備える。 The operational physical server 200 includes hardware 210, a virtual machine monitor unit 220, a host OS unit 230, and a guest OS unit 240.
 例えば、運用系物理サーバ200は、ハードウェア210としてCPU(Central Processing Unit)、メモリ、通信装置、通信バッファなどを備える。 For example, the operational physical server 200 includes a CPU (Central Processing Unit), a memory, a communication device, a communication buffer, and the like as the hardware 210.
 仮想マシンモニタ部220は、ホストOS部230を第1の仮想マシンとして制御し、ゲストOS部240を第2の仮想マシンとして制御する。
 例えば、仮想マシンモニタ部220は、メモリに予め記憶される制御テーブルに基づいてホストOS部230とゲストOS部240とにCPUの使用時間を割り当てる。CPUの使用時間とは、CPUを使用する単位時間当たりの時間である(CPU使用率ともいう)。
 また、仮想マシンモニタ部220は、制御テーブルに基づいてホストOS部230とゲストOS部240とにメモリの記憶領域を割り当てる。
 制御テーブルは、仮想マシンの制御情報を設定したデータである。例えば、制御テーブルには、ホストOS部230とゲストOS部240とのそれぞれに対応させてCPUの使用時間の割合や記憶領域のアドレスを設定しておく。
The virtual machine monitor unit 220 controls the host OS unit 230 as a first virtual machine, and controls the guest OS unit 240 as a second virtual machine.
For example, the virtual machine monitor unit 220 allocates CPU usage time to the host OS unit 230 and the guest OS unit 240 based on a control table stored in advance in the memory. The CPU usage time is the time per unit time in which the CPU is used (also referred to as CPU usage rate).
Further, the virtual machine monitor unit 220 allocates memory storage areas to the host OS unit 230 and the guest OS unit 240 based on the control table.
The control table is data in which virtual machine control information is set. For example, the CPU usage time ratio and the storage area address are set in the control table so as to correspond to the host OS unit 230 and the guest OS unit 240, respectively.
 以下、ホストOS部230に割り当てた記憶領域を「ホストOS領域」といい、ゲストOS部240に割り当てた記憶領域を「ゲストOS領域(状態データ記憶部の一例)」という。
 また、仮想マシンモニタ部220が使用する記憶領域を「モニタ領域(動作情報記憶部の一例)」という。
Hereinafter, a storage area allocated to the host OS unit 230 is referred to as a “host OS area”, and a storage area allocated to the guest OS unit 240 is referred to as a “guest OS area (an example of a state data storage unit)”.
A storage area used by the virtual machine monitor unit 220 is referred to as a “monitor area (an example of an operation information storage unit)”.
 例えば、モニタ領域は、同期通信速度(後述するWc)とデータ通信速度(後述するWd)と更新レート(後述するRr)と生成レート(後述するGr)とを記憶する。
 同期通信速度は、待機系物理サーバ300と通信するときの通信速度である。
 データ通信速度は、端末装置110と通信するときの通信速度である。
 更新レートは、ゲストOS領域のメモリイメージ(状態データの一例)に含まれるデータのうち単位時間に更新されるデータのサイズを表す。
 生成レートは、単位時間に生成される通信データのサイズを表す。
For example, the monitor area stores a synchronous communication speed (Wc described later), a data communication speed (Wd described later), an update rate (Rr described later), and a generation rate (Gr described later).
The synchronous communication speed is a communication speed when communicating with the standby physical server 300.
The data communication speed is a communication speed when communicating with the terminal device 110.
The update rate represents the size of data updated per unit time among data included in the memory image (an example of state data) of the guest OS area.
The generation rate represents the size of communication data generated per unit time.
 ゲストOS部240は、運用部241を備えた同期元計算機249である。 The guest OS unit 240 is a synchronization source computer 249 provided with an operation unit 241.
 運用部241は、ゲストOS領域のメモリイメージ(状態データの一例)を使用して運用処理を実行する。 The operation unit 241 uses the memory image of the guest OS area (an example of state data) to execute operation processing.
 ホストOS部230は、動作情報取得部231、同期周期算出部232、同期周期保存部233、同期開始指示部234および同期エンジン部235を備える。 The host OS unit 230 includes an operation information acquisition unit 231, a synchronization cycle calculation unit 232, a synchronization cycle storage unit 233, a synchronization start instruction unit 234, and a synchronization engine unit 235.
 同期周期保存部233(同期周期記憶部の一例)は、ホストOS領域の一部である。
 同期周期保存部233は、同期元計算機249(ゲストOS部240)と同期先計算機349(ゲストOS部340)とを同期させる同期周期を記憶する。
The synchronization cycle storage unit 233 (an example of the synchronization cycle storage unit) is a part of the host OS area.
The synchronization period storage unit 233 stores a synchronization period for synchronizing the synchronization source computer 249 (guest OS unit 240) and the synchronization destination computer 349 (guest OS unit 340).
 同期エンジン部235(運用停止部、同期データ送信部、運用開始部の一例)は、以下のような同期処理を実行する。 The synchronization engine unit 235 (an example of an operation stop unit, a synchronization data transmission unit, and an operation start unit) performs the following synchronization processing.
 同期エンジン部235は、同期周期保存部233に記憶された同期周期が経過する毎に運用部241の動作を停止させる(運用停止処理)。
 同期エンジン部235は、運用部241の動作を停止させた場合、メモリイメージに含まれる少なくともいずれかのデータを同期データとして待機系物理サーバ300へ送信する(同期データ送信処理)。例えば、同期エンジン部235は、メモリイメージに含まれるデータのうち運用部241が動作していたときに更新されたデータ(後述するダーティページ)を同期データとして待機系物理サーバ300へ送信する。また例えば、同期エンジン部235は、メモリイメージ全体を同期データとして待機系物理サーバ300へ送信する。
 同期エンジン部235は、同期データを送信した場合、運用部241の動作を開始させる(運用開始処理)。
The synchronization engine unit 235 stops the operation of the operation unit 241 every time the synchronization period stored in the synchronization period storage unit 233 elapses (operation stop process).
When the operation of the operation unit 241 is stopped, the synchronization engine unit 235 transmits at least one data included in the memory image to the standby physical server 300 as synchronization data (synchronous data transmission processing). For example, the synchronization engine unit 235 transmits, to the standby physical server 300, the data (dirty page to be described later) updated when the operation unit 241 is operating among the data included in the memory image as the synchronization data. Further, for example, the synchronization engine unit 235 transmits the entire memory image to the standby physical server 300 as synchronization data.
The synchronization engine unit 235 starts the operation of the operation unit 241 when the synchronization data is transmitted (operation start process).
 同期周期算出部232(同期周期更新部の一例)は、以下のように同期周期(後述するΔt)を更新する(同期周期更新処理)。
 同期周期算出部232は、同期処理時間(後述するTstop)とI/O処理遅延(後述するTio)とを差し引いた残り時間の割合(後述するPvm)が所定の割合になる特定時間を新たな同期周期として算出する。
 同期周期算出部232は、同期周期保存部233に記憶された同期周期を新たな同期周期で更新する。
The synchronization cycle calculation unit 232 (an example of the synchronization cycle update unit) updates the synchronization cycle (Δt described later) as follows (synchronization cycle update processing).
The synchronization period calculation unit 232 newly sets a specific time at which a ratio (Pvm, which will be described later) of a remaining time obtained by subtracting a synchronization processing time (to be described later) and an I / O processing delay (Tio, which will be described later) becomes a predetermined ratio. Calculated as the synchronization period.
The synchronization cycle calculation unit 232 updates the synchronization cycle stored in the synchronization cycle storage unit 233 with a new synchronization cycle.
 同期処理時間(第1の時間の一例)は、同期データを待機系物理サーバ300へ送信するために要する時間である。
 I/O処理遅延(第2の時間の一例)は、通信データを端末装置110へ送信するために要する時間である。
The synchronization processing time (an example of the first time) is a time required for transmitting the synchronization data to the standby physical server 300.
The I / O processing delay (an example of the second time) is a time required for transmitting communication data to the terminal device 110.
 例えば、同期周期算出部232は、同期処理時間とI/O処理遅延とを差し引いた残り時間の割合が最大になる特定時間を新たな同期時間として算出する。 For example, the synchronization cycle calculation unit 232 calculates, as a new synchronization time, a specific time at which the ratio of the remaining time obtained by subtracting the synchronization processing time and the I / O processing delay is maximized.
 例えば、同期処理時間は、同期データのデータサイズを同期通信速度(Wc)で除算して得られるダーティページ送信時間(同期データ送信時間)を含んだ時間である。
 また、I/O処理遅延は、通信データのデータサイズをデータ通信速度(Wd)で除算して得られる時間(通信データ送信時間)を含んだ時間である。
For example, the synchronization processing time is a time including a dirty page transmission time (synchronization data transmission time) obtained by dividing the data size of the synchronization data by the synchronization communication speed (Wc).
The I / O processing delay is a time including a time (communication data transmission time) obtained by dividing the data size of the communication data by the data communication speed (Wd).
 例えば、同期データのデータサイズは、更新レート(Rr)に特定時間を乗算して得られるデータサイズである。
 また、通信データのデータサイズは、生成レート(Gr)に特定時間を乗算して得られるデータサイズである。
For example, the data size of the synchronous data is a data size obtained by multiplying the update rate (Rr) by a specific time.
The data size of the communication data is a data size obtained by multiplying the generation rate (Gr) by a specific time.
 動作情報取得部231は、仮想マシンモニタ部220を介してモニタ領域からゲストOS部240の動作情報を取得する。
 例えば、同期通信速度(Wc)、データ通信速度(Wd)、更新レート(Rr)、生成レート(Gr)は動作情報の一例である。
The operation information acquisition unit 231 acquires operation information of the guest OS unit 240 from the monitor area via the virtual machine monitor unit 220.
For example, the synchronous communication speed (Wc), the data communication speed (Wd), the update rate (Rr), and the generation rate (Gr) are examples of operation information.
 同期開始指示部234は、同期周期が経過する毎に同期エンジン部235に同期処理の実行を指示する。 The synchronization start instruction unit 234 instructs the synchronization engine unit 235 to execute the synchronization process every time the synchronization period elapses.
 図3は、実施の形態1における待機系物理サーバ300の機能構成図である。
 実施の形態1における待機系物理サーバ300の機能構成について、図3に基づいて説明する。
FIG. 3 is a functional configuration diagram of the standby physical server 300 according to the first embodiment.
The functional configuration of the standby physical server 300 in the first embodiment will be described with reference to FIG.
 待機系物理サーバ300(待機装置の一例)は、運用系物理サーバ200(図2参照)と同様に、ハードウェア310と仮想マシンモニタ部320とホストOS部330とゲストOS部340とを備える。 The standby physical server 300 (an example of a standby device) includes hardware 310, a virtual machine monitor unit 320, a host OS unit 330, and a guest OS unit 340, like the active physical server 200 (see FIG. 2).
 例えば、待機系物理サーバ300は、ハードウェア310としてCPUやメモリを備える。 For example, the standby physical server 300 includes a CPU and a memory as the hardware 310.
 仮想マシンモニタ部320は、ホストOS部330を第3の仮想マシンとして制御し、ゲストOS部340を第4の仮想マシンとして制御する。 The virtual machine monitor unit 320 controls the host OS unit 330 as a third virtual machine, and controls the guest OS unit 340 as a fourth virtual machine.
 以下、ホストOS部330に割り当てた記憶領域を「ホストOS領域」といい、ゲストOS部340に割り当てられた記憶領域を「ゲストOS領域」といい、仮想マシンモニタ部320が使用する記憶領域を「モニタ領域」という。 Hereinafter, a storage area allocated to the host OS unit 330 is referred to as a “host OS area”, a storage area allocated to the guest OS unit 340 is referred to as a “guest OS area”, and a storage area used by the virtual machine monitor unit 320 is referred to as a “host OS area”. This is called “monitor area”.
 ゲストOS部340は、運用部341を備えた同期先計算機349である。
 運用部341は、同期元計算機249の運用部241(図2参照)に障害が発生した場合、運用部241の代わりに運用処理を実行する。
The guest OS unit 340 is a synchronization destination computer 349 including an operation unit 341.
The operation unit 341 executes operation processing instead of the operation unit 241 when a failure occurs in the operation unit 241 (see FIG. 2) of the synchronization source computer 249.
 ホストOS部330は、同期サーバ部331を備える。
 同期サーバ部331は、運用系物理サーバ200から送信された同期データを受信し、受信した同期データを用いてゲストOS部340のメモリイメージ(ゲストOS領域のメモリイメージ)を更新する。
The host OS unit 330 includes a synchronization server unit 331.
The synchronization server unit 331 receives the synchronization data transmitted from the active physical server 200, and updates the memory image of the guest OS unit 340 (the memory image of the guest OS area) using the received synchronization data.
 次に、同期周期毎に実行する同期方法と、同期周期を更新する同期周期の動的制御方法とについて説明する。 Next, a synchronization method executed for each synchronization cycle and a synchronization cycle dynamic control method for updating the synchronization cycle will be described.
 図4は、実施の形態1における同期処理の概要図である。
 実施の形態1における同期処理の概要について、図4に基づいて説明する。
FIG. 4 is a schematic diagram of synchronization processing in the first embodiment.
An overview of the synchronization processing in the first embodiment will be described with reference to FIG.
 運用系物理サーバ200において、ホストOS部230の同期エンジン部235は、同期周期毎に同期元計算機249(ゲストOS部240)を一時停止させる。
 同期周期は、同期元計算機249が一時停止してから次に一時停止するまでの時間である。
In the active physical server 200, the synchronization engine unit 235 of the host OS unit 230 temporarily stops the synchronization source computer 249 (guest OS unit 240) for each synchronization period.
The synchronization period is the time from when the synchronization source computer 249 is temporarily stopped until the next temporary stop.
 同期エンジン部235は、同期元計算機249を一時停止した後、同期元計算機249のメモリイメージに含まれるページのうち更新されたページを取得する。以下、更新されたページを「ダーティページ」という。
 同期エンジン部235は、取得したダーティページを待機系物理サーバ300へ送信する。
 待機系物理サーバ300において、ホストOS部330の同期サーバ部331はダーティページを受信し、受信したダーティページを用いて同期先計算機349(ゲストOS部340)のメモリイメージのうちダーティページに対応するページを更新する。
The synchronization engine unit 235 suspends the synchronization source computer 249 and then acquires an updated page among the pages included in the memory image of the synchronization source computer 249. Hereinafter, the updated page is referred to as a “dirty page”.
The synchronization engine unit 235 transmits the acquired dirty page to the standby physical server 300.
In the standby physical server 300, the synchronization server unit 331 of the host OS unit 330 receives the dirty page, and uses the received dirty page to correspond to the dirty page in the memory image of the synchronization target computer 349 (guest OS unit 340). Refresh the page.
 同期エンジン部235は、ダーティページを送信した後、同期元計算機249を再開させる。
 但し、同期エンジン部235は、同期元計算機249を再開させる際、同期元計算機249から出力された送信データをバッファリングする。バッファリングにより、同期元計算機249の送信データは通信バッファに蓄積される。
 以下、同期元計算機249の送信データをバッファリングすることを「I/Oブロッキング」という。
The synchronization engine unit 235 restarts the synchronization source computer 249 after transmitting the dirty page.
However, the synchronization engine unit 235 buffers the transmission data output from the synchronization source computer 249 when the synchronization source computer 249 is restarted. The transmission data of the synchronization source computer 249 is accumulated in the communication buffer by buffering.
Hereinafter, buffering the transmission data of the synchronization source computer 249 is referred to as “I / O blocking”.
 再開した同期元計算機249は、運用処理を実行し、端末装置110に送信する送信データを生成し、生成した送信データを通信バッファに出力する。
 ハードウェア210の通信装置は、前回の同期周期で通信バッファに蓄積した送信データを送信し、今回の同期周期で生成された送信データを通信バッファに蓄積する。
The restarted synchronization source computer 249 executes operation processing, generates transmission data to be transmitted to the terminal device 110, and outputs the generated transmission data to the communication buffer.
The communication device of the hardware 210 transmits the transmission data stored in the communication buffer in the previous synchronization cycle, and stores the transmission data generated in the current synchronization cycle in the communication buffer.
 図5は、実施の形態1における運用系物理サーバ200の同期方法を示すフローチャートである。
 実施の形態1における運用系物理サーバ200の同期方法について、図5に基づいて説明する。
FIG. 5 is a flowchart showing a synchronization method of the active physical server 200 in the first embodiment.
A method of synchronizing the active physical server 200 in the first embodiment will be described with reference to FIG.
 まず、運用系物理サーバ200の同期方法の概要について説明する。 First, an overview of the synchronization method of the active physical server 200 will be described.
 同期周期が経過したとき(S110)、同期エンジン部235は以下のような処理を実行する。 When the synchronization period has elapsed (S110), the synchronization engine unit 235 executes the following process.
 同期エンジン部235は同期処理を開始し(S120)、同期元計算機249のI/Oブロッキングを停止し(S121)、同期元計算機249を一時停止させる(S122)。
 同期エンジン部235は、同期元計算機249のダーティページを取得し(S130)、取得したダーティページを同期先計算機349へ送信する(S131)。
 同期エンジン部235は、同期元計算機249を再開し(S140)、同期元計算機249のI/Oブロッキングを開始し(S141)、同期処理を終了する(S142)。
The synchronization engine unit 235 starts synchronization processing (S120), stops the I / O blocking of the synchronization source computer 249 (S121), and temporarily stops the synchronization source computer 249 (S122).
The synchronization engine unit 235 acquires the dirty page of the synchronization source computer 249 (S130), and transmits the acquired dirty page to the synchronization destination computer 349 (S131).
The synchronization engine unit 235 restarts the synchronization source computer 249 (S140), starts I / O blocking of the synchronization source computer 249 (S141), and ends the synchronization process (S142).
 同期開始指示部234は、同期周期保存部233に記憶されている同期周期を参照し(S150)、同期周期の経過を通知する同期周期タイマを起動する(S151)。 The synchronization start instruction unit 234 refers to the synchronization period stored in the synchronization period storage unit 233 (S150), and starts a synchronization period timer that notifies the elapse of the synchronization period (S151).
 次に、運用系物理サーバ200の同期方法の詳細について説明する。 Next, details of the synchronization method of the active physical server 200 will be described.
 S110において、ホストOS部230の同期開始指示部234は、前回のS151で起動した同期周期タイマがタイムアウトするまで待つ。
 同期開始指示部234は、同期周期タイマのタイムアウトを検出した場合、同期エンジン部235に同期処理の実行を指示する。例えば、同期開始指示部234は同期エンジン部235を呼び出す。
 同期エンジン部235に同期処理の実行を指示した後、S120に進む。
In S110, the synchronization start instruction unit 234 of the host OS unit 230 waits until the synchronization cycle timer started in the previous S151 times out.
When the synchronization start instruction unit 234 detects a timeout of the synchronization cycle timer, the synchronization start instruction unit 234 instructs the synchronization engine unit 235 to execute the synchronization process. For example, the synchronization start instruction unit 234 calls the synchronization engine unit 235.
After instructing the synchronization engine unit 235 to execute the synchronization process, the process proceeds to S120.
 S120において、ホストOS部230の同期エンジン部235は、同期開始指示部234から同期処理の実行指示を受け、以下に説明する同期処理(S121-S141)の実行を開始する。
 また、同期エンジン部235は、同期処理に要する処理時間の計測を開始する。
 S120の後、S121に進む。
In S120, the synchronization engine unit 235 of the host OS unit 230 receives the execution instruction of the synchronization process from the synchronization start instruction unit 234, and starts executing the synchronization process (S121-S141) described below.
Further, the synchronization engine unit 235 starts measuring the processing time required for the synchronization processing.
It progresses to S121 after S120.
 S121において、同期エンジン部235は、「送信制御部」として、前回のS141で開始した同期元計算機249(ゲストOS部240)のI/Oブロッキングを停止する。
 このとき、同期エンジン部235はI/Oブロッキングの停止を仮想マシンモニタ部220に要求し、仮想マシンモニタ部220は通信装置または同期元計算機249に割り当てた通信バッファを制御して同期元計算機249のI/Oブロッキングを停止する。
 同期元計算機249のI/Oブロッキングとは、同期元計算機249により生成された送信データを送信せずに通信バッファに蓄積する処理または機能である。
 S121の後、S122に進む。
In S121, the synchronization engine unit 235 stops the I / O blocking of the synchronization source computer 249 (guest OS unit 240) started in the previous S141 as the “transmission control unit”.
At this time, the synchronization engine unit 235 requests the virtual machine monitor unit 220 to stop the I / O blocking, and the virtual machine monitor unit 220 controls the communication buffer allocated to the communication device or the synchronization source computer 249 to control the synchronization source computer 249. Stop I / O blocking.
The I / O blocking of the synchronization source computer 249 is a process or function for storing the transmission data generated by the synchronization source computer 249 in the communication buffer without transmitting it.
It progresses to S122 after S121.
 S122において、同期エンジン部235は、同期元計算機249を一時停止させる。
 このとき、同期エンジン部235は同期元計算機249の一時停止を仮想マシンモニタ部220に要求し、仮想マシンモニタ部220は同期元計算機249を一時停止させる。
 例えば、仮想マシンモニタ部220は同期元計算機249に対するCPUの使用時間の割り当てを一時停止する。
 以後、同期元計算機249が再開されるまで、運用部241による運用処理の実行が停止する。
 S122の後、S130に進む。
In S122, the synchronization engine unit 235 temporarily stops the synchronization source computer 249.
At this time, the synchronization engine unit 235 requests the virtual machine monitor unit 220 to temporarily stop the synchronization source computer 249, and the virtual machine monitor unit 220 temporarily stops the synchronization source computer 249.
For example, the virtual machine monitor unit 220 temporarily stops the allocation of the CPU usage time to the synchronization source computer 249.
Thereafter, the execution of the operation process by the operation unit 241 is stopped until the synchronization source computer 249 is restarted.
It progresses to S130 after S122.
 S121とS122との順序は逆であってもよい。また、S121はS140で実行しても構わない。 The order of S121 and S122 may be reversed. Further, S121 may be executed in S140.
 S130において、同期エンジン部235は、同期元計算機249のダーティページを取得する。
 このとき、同期エンジン部235はダーティページの取得を仮想マシンモニタ部220に要求し、仮想マシンモニタ部220は同期元計算機249のメモリイメージからダーティページを取得し、取得したダーティページを同期エンジン部235に応答する。
 同期元計算機249のメモリイメージとは、同期元計算機249に割り当てられた記憶領域に記憶されたデータである。メモリイメージは複数のページを含む。
 ダーティページとは、メモリイメージに含まれるページのうちダーティページの前回の取得後に更新されたページである。ダーティページは更新ページともいう。
 ダーティページは、運用系物理サーバ200のOSまたは仮想マシンモニタ部220(更新データ管理部の一例)によって、記憶領域を管理するための管理テーブルを用いて管理される。
 S130の後、S131に進む。
In S130, the synchronization engine unit 235 acquires the dirty page of the synchronization source computer 249.
At this time, the synchronization engine unit 235 requests the virtual machine monitor unit 220 to acquire a dirty page, the virtual machine monitor unit 220 acquires the dirty page from the memory image of the synchronization source computer 249, and acquires the acquired dirty page as the synchronization engine unit. In response to H.235.
The memory image of the synchronization source computer 249 is data stored in the storage area allocated to the synchronization source computer 249. The memory image includes a plurality of pages.
A dirty page is a page that has been updated since the last acquisition of the dirty page among the pages included in the memory image. Dirty pages are also called update pages.
The dirty page is managed by the OS of the active physical server 200 or the virtual machine monitor unit 220 (an example of the update data management unit) using a management table for managing the storage area.
It progresses to S131 after S130.
 S131において、同期エンジン部235は、同期元計算機249のダーティページを同期先計算機349へ送信する。
 このとき、同期エンジン部235はダーティページを含んだデータ(通信パケット)であって待機系物理サーバ300を送信先とするデータを同期データとして生成し、ホストOS部230に割り当てられた通信バッファに同期データを設定する。
 通信装置は通信バッファに設定された同期データを送信する。
 待機系物理サーバ300の同期サーバ部331は同期データを受信し、受信した同期データから同期元計算機249のダーティページを取得する。同期サーバ部331は、同期先計算機349(ゲストOS部340)のメモリイメージに含まれるページのうち、取得したダーティページに対応するページを取得したダーティページを用いて更新する。このとき、同期サーバ部331は同期先計算機349のメモリイメージの更新を仮想マシンモニタ部320に要求し、仮想マシンモニタ部320は同期元計算機249のダーティページを用いて同期先計算機349のメモリイメージを更新する。
 S131の後、S140に進む。
In S131, the synchronization engine unit 235 transmits the dirty page of the synchronization source computer 249 to the synchronization destination computer 349.
At this time, the synchronization engine unit 235 generates data (communication packet) including a dirty page and is transmitted to the standby physical server 300 as synchronization data, and stores the data in the communication buffer allocated to the host OS unit 230. Set the synchronization data.
The communication device transmits the synchronization data set in the communication buffer.
The synchronization server unit 331 of the standby physical server 300 receives the synchronization data, and acquires the dirty page of the synchronization source computer 249 from the received synchronization data. The synchronization server unit 331 updates the page corresponding to the acquired dirty page among the pages included in the memory image of the synchronization destination computer 349 (guest OS unit 340) using the acquired dirty page. At this time, the synchronization server unit 331 requests the virtual machine monitor unit 320 to update the memory image of the synchronization destination computer 349, and the virtual machine monitor unit 320 uses the dirty page of the synchronization source computer 249 to store the memory image of the synchronization destination computer 349. Update.
After S131, the process proceeds to S140.
 S140において、同期エンジン部235は同期元計算機249の再開を仮想マシンモニタ部220に要求し、仮想マシンモニタ部220は同期元計算機249を再開させる。
 このとき、仮想マシンモニタ部220は通信装置または同期元計算機249の通信バッファを制御し、前回の同期周期でバッファリングされた送信データを端末装置110へ送信させる。但し、前回の同期周期でバッファリングされた送信データはS121が実行されたときに通信装置によって送信されてもよい。
 その後、仮想マシンモニタ部220は同期元計算機249に対するCPUの使用時間の割り当てを再開する。
 以後、同期元計算機249が一時停止されるまで、運用部241によって運用処理が実行される。
 S140の後、S141に進む。
In S140, the synchronization engine unit 235 requests the virtual machine monitor unit 220 to restart the synchronization source computer 249, and the virtual machine monitor unit 220 restarts the synchronization source computer 249.
At this time, the virtual machine monitor unit 220 controls the communication buffer of the communication device or the synchronization source computer 249 to transmit the transmission data buffered in the previous synchronization cycle to the terminal device 110. However, the transmission data buffered in the previous synchronization cycle may be transmitted by the communication device when S121 is executed.
Thereafter, the virtual machine monitor unit 220 resumes the allocation of the CPU usage time to the synchronization source computer 249.
Thereafter, operation processing is executed by the operation unit 241 until the synchronization source computer 249 is temporarily stopped.
It progresses to S141 after S140.
 S141において、同期エンジン部235は、「送信制御部」として、ゲストOS部240のI/Oブロッキングを開始する。
 このとき、同期エンジン部235はI/Oブロッキングの開始を仮想マシンモニタ部220に要求し、仮想マシンモニタ部220は通信装置または同期元計算機249に割り当てた通信バッファを制御して同期元計算機249のI/Oブロッキングを開始する。
 以後、同期元計算機249により生成された送信データは、I/Oブロッキングが停止されるまで通信バッファに蓄積される。
 S141の後、S142に進む。
In S141, the synchronization engine unit 235 starts I / O blocking of the guest OS unit 240 as a “transmission control unit”.
At this time, the synchronization engine unit 235 requests the virtual machine monitor unit 220 to start I / O blocking, and the virtual machine monitor unit 220 controls the communication buffer allocated to the communication device or the synchronization source computer 249 to control the synchronization source computer 249. Start I / O blocking.
Thereafter, transmission data generated by the synchronization source computer 249 is accumulated in the communication buffer until the I / O blocking is stopped.
It progresses to S142 after S141.
 S140とS141との順序は逆であってもよい。 The order of S140 and S141 may be reversed.
 S142において、同期エンジン部235は上記の同期処理(S121-S141)の実行を終了する。
 また、同期エンジン部235は、同期処理に要する処理時間の計測を終了する。
 S142の後、S150に進む。
In S142, the synchronization engine unit 235 ends the execution of the synchronization process (S121-S141).
Also, the synchronization engine unit 235 ends the measurement of the processing time required for the synchronization process.
It progresses to S150 after S142.
 S150において、同期開始指示部234は、同期周期保存部233を参照し、同期周期保存部233に記憶されている同期周期を取得する。
 S150の後、S151に進む。
In S <b> 150, the synchronization start instruction unit 234 refers to the synchronization cycle storage unit 233 and acquires the synchronization cycle stored in the synchronization cycle storage unit 233.
After S150, the process proceeds to S151.
 S151において、同期開始指示部234は、S120からS142まで計測された同期処理の処理時間を同期周期から減算する。以下、同期処理の処理時間を同期周期から減算した時間を「同期周期の残り時間」という。
 同期開始指示部234は、同期周期の残り時間をタイマに設定し、同期周期の残り時間を設定したタイマを起動する。実施の形態において同期周期の残り時間を設定したタイマを「同期周期タイマ」という。
 同期周期タイマは、同期周期の残り時間が経過したときにタイムアウトし、タイムアウトを同期開始指示部234に通知する機能である。
 S151の後、S110に戻る。
In S151, the synchronization start instruction unit 234 subtracts the processing time of the synchronization process measured from S120 to S142 from the synchronization period. Hereinafter, the time obtained by subtracting the processing time of the synchronization process from the synchronization period is referred to as “the remaining time of the synchronization period”.
The synchronization start instruction unit 234 sets the remaining time of the synchronization period in the timer, and starts the timer in which the remaining time of the synchronization period is set. In the embodiment, the timer in which the remaining time of the synchronization period is set is referred to as “synchronization period timer”.
The synchronization cycle timer is a function that times out when the remaining time of the synchronization cycle elapses and notifies the synchronization start instruction unit 234 of the timeout.
After S151, the process returns to S110.
 つまり、同期周期タイマは同期周期が経過する毎にタイムアウトし(S110)、同期処理(S120-S142)は同期周期毎に実行される。 That is, the synchronization cycle timer times out every time the synchronization cycle elapses (S110), and the synchronization processing (S120-S142) is executed for each synchronization cycle.
 図6は、実施の形態1における同期周期の動的制御方法を示すフローチャートである。
 実施の形態1における同期周期の動的制御方法について、図6に基づいて説明する。
FIG. 6 is a flowchart illustrating a synchronization cycle dynamic control method according to the first embodiment.
A method for dynamically controlling the synchronization period in the first embodiment will be described with reference to FIG.
 まず、同期周期の動的制御方法の概要について説明する。 First, the outline of the dynamic control method of the synchronization cycle will be described.
 動作情報取得部231は、同期元計算機249の動作情報を取得する(S210)。
 同期周期算出部232は、同期元計算機249の動作情報に基づいて新たな同期周期を算出する(S220)。
 同期周期算出部232は、同期周期保存部233に記憶されている同期周期を新たな同期周期に更新する(S230)。
 S210からS230は、所定の更新タイミング毎に実行される(S240)。
The operation information acquisition unit 231 acquires operation information of the synchronization source computer 249 (S210).
The synchronization cycle calculation unit 232 calculates a new synchronization cycle based on the operation information of the synchronization source computer 249 (S220).
The synchronization cycle calculation unit 232 updates the synchronization cycle stored in the synchronization cycle storage unit 233 to a new synchronization cycle (S230).
S210 to S230 are executed at every predetermined update timing (S240).
 次に、同期周期の動的制御方法の詳細について説明する。 Next, the details of the synchronous cycle dynamic control method will be described.
 S210において、動作情報取得部231は、同期元計算機249(ゲストOS部240)の動作情報を取得する。
 このとき、動作情報取得部231は、同期元計算機249の動作情報を仮想マシンモニタ部220に要求する。仮想マシンモニタ部220は同期元計算機249の動作情報をハードウェア210のメモリから取得し、取得した同期元計算機249の動作情報を動作情報取得部231に応答する。
In S210, the operation information acquisition unit 231 acquires operation information of the synchronization source computer 249 (guest OS unit 240).
At this time, the operation information acquisition unit 231 requests the virtual machine monitor unit 220 for operation information of the synchronization source computer 249. The virtual machine monitor unit 220 acquires the operation information of the synchronization source computer 249 from the memory of the hardware 210, and returns the acquired operation information of the synchronization source computer 249 to the operation information acquisition unit 231.
 例えば、動作情報取得部231は、「CPUリソース量」「ダーティページの発生レート」「ダーティページの取得レート」「同期準備時間」「ダーティページの通信帯域」「送信データの発生レート」「送信データの通信帯域」を同期元計算機249の動作情報として取得する。
 例えば、同期元計算機249の動作情報を設定したテーブルを「動作情報テーブル」とする。
For example, the operation information acquisition unit 231 includes “CPU resource amount” “Dirty page generation rate” “Dirty page acquisition rate” “Synchronization preparation time” “Dirty page communication bandwidth” “Transmission data generation rate” “Transmission data” ”Is acquired as operation information of the synchronization source computer 249.
For example, a table in which operation information of the synchronization source computer 249 is set is referred to as an “operation information table”.
 「CPUリソース量」は、同期元計算機249に割り当てられるCPUの使用時間の割合である。例えば、同期元計算機249のCPUの使用時間として30パーセントの時間が割り当てられる場合、CPUリソース量は「0.3(=30/100)」である。 “CPU resource amount” is the percentage of CPU usage time allocated to the synchronization source computer 249. For example, when 30% of time is allocated as the CPU usage time of the synchronization source computer 249, the CPU resource amount is “0.3 (= 30/100)”.
 「ダーティページの発生レート」は、同期元計算機249のメモリイメージに含まれるページのうち単位時間当たりに更新されるページのサイズである。例えば、単位は「KB/s」または「ページ/s」である(KB:キロバイト、s:秒)。 “Dirty page generation rate” is the size of a page updated per unit time among pages included in the memory image of the synchronization source computer 249. For example, the unit is “KB / s” or “page / s” (KB: kilobyte, s: second).
 「ダーティページの取得レート」は、同期元計算機249のメモリイメージから単位量のダーティページを取得するときに要する時間である。例えば、単位は「s/KB」または「s/ページ」である。 “Dirty page acquisition rate” is the time required to acquire a unit amount of dirty pages from the memory image of the synchronization source computer 249. For example, the unit is “s / KB” or “s / page”.
 「同期準備時間」は、同期元計算機249の一時停止に要する時間と同期元計算機249の再開に要する時間とを合計した時間である。例えば、単位は「s」である。 “Synchronization preparation time” is the total time of the time required to temporarily stop the synchronization source computer 249 and the time required to restart the synchronization source computer 249. For example, the unit is “s”.
 「ダーティページの通信帯域」は、運用系物理サーバ200から待機系物理サーバ300へダーティページ(同期データ)を送信するときに用いるLAN101の通信速度である。例えば、単位は「KB/s」である。 The “dirty page communication bandwidth” is the communication speed of the LAN 101 used when a dirty page (synchronized data) is transmitted from the active physical server 200 to the standby physical server 300. For example, the unit is “KB / s”.
 「送信データの発生レート」は、同期元計算機249によって単位時間当たりに生成される送信データのサイズである。例えば、単位は「KB/s」である。 “The transmission data generation rate” is the size of transmission data generated by the synchronization source computer 249 per unit time. For example, the unit is “KB / s”.
 「送信データの通信帯域」は、運用系物理サーバ200から端末装置110へ送信データを送信するときに用いるLAN102の通信速度である。例えば、単位は「KB/s」である。 “Communication band of transmission data” is a communication speed of the LAN 102 used when transmission data is transmitted from the active physical server 200 to the terminal device 110. For example, the unit is “KB / s”.
 S210の後、S220に進む。 After S210, the process proceeds to S220.
 S220において、同期周期算出部232は、S210で取得された同期元計算機249の動作情報に基づいて新たな同期周期を算出する。 In S220, the synchronization cycle calculation unit 232 calculates a new synchronization cycle based on the operation information of the synchronization source computer 249 acquired in S210.
 このとき、同期周期算出部232は、同期元計算機249の実効稼働率が最大になる同期周期を新たな同期周期として算出する。但し、同期周期算出部232は、実行稼働率が最大になる同期周期以外の同期周期を新たな同期周期として算出しても構わない。例えば、同期周期算出部232は、実行稼働率が所定の稼働率になる同期周期を新たな同期周期として算出しても構わない。
 同期元計算機249の実効稼働率は同期周期に対する実際のVM動作時間の割合であり、実際のVM動作時間は運用部241が運用処理を実際に実行する時間である(I/O処理遅延を伴う場合のVM動作時間)。
 以下に、同期元計算機249の実効稼働率を表す式(1)を示す。
At this time, the synchronization cycle calculation unit 232 calculates, as a new synchronization cycle, a synchronization cycle in which the effective operating rate of the synchronization source computer 249 is maximized. However, the synchronization cycle calculation unit 232 may calculate a synchronization cycle other than the synchronization cycle that maximizes the execution availability as a new synchronization cycle. For example, the synchronization cycle calculation unit 232 may calculate a synchronization cycle in which the execution operation rate becomes a predetermined operation rate as a new synchronization cycle.
The effective operating rate of the synchronization source computer 249 is the ratio of the actual VM operation time to the synchronization period, and the actual VM operation time is the time for the operation unit 241 to actually execute the operation processing (with an I / O processing delay) VM operating time).
Equation (1) representing the effective operating rate of the synchronization source computer 249 is shown below.
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 次に、同期元計算機249の実効稼働率を算出するための式として、同期処理時間を表す式(2)と、VM動作時間を表す式(3)と、I/O処理遅延を表す式(4)と、実際のVM動作時間を表す式(5)とを示す。 Next, as equations for calculating the effective operating rate of the synchronization source computer 249, equation (2) representing the synchronization processing time, equation (3) representing the VM operation time, and equation representing the I / O processing delay ( 4) and Expression (5) representing the actual VM operation time are shown.
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002
 上記式(2)において、「同期処理時間」は同期処理(図5のS120-S142)に要する時間に相当する。
 「ダーティページの取得時間」は、ダーティページの取得に要する時間である。
 「ダーティページサイズ」(同期データサイズ)は、同期元計算機249のメモリイメージに含まれるページのうち同期周期当たりに更新されるページ(ダーティページ)のサイズである。
 「ダーティページの送信時間」は、運用系物理サーバ200がダーティページを送信してから待機系物理サーバ300がダーティページを受信するまでの時間である。
 但し、「ダーティページの取得時間」と「ダーティページの送信時間」と「同期準備時間」とのいずれかの時間又はいずれか2つの合計時間を同期処理時間としても構わない。
In the above equation (2), the “synchronization processing time” corresponds to the time required for the synchronization processing (S120 to S142 in FIG. 5).
“Dirty page acquisition time” is the time required to acquire a dirty page.
“Dirty page size” (synchronization data size) is the size of a page (dirty page) that is updated per synchronization period among pages included in the memory image of the synchronization source computer 249.
The “dirty page transmission time” is the time from when the active physical server 200 transmits a dirty page until the standby physical server 300 receives the dirty page.
However, any one of “dirty page acquisition time”, “dirty page transmission time”, and “synchronization preparation time”, or any two total time may be used as the synchronization processing time.
 上記式(3)において、「VM動作時間」(運用部の動作時間)は同期周期のうち同期元計算機249(運用部241)が動作する時間である。 In the above equation (3), “VM operation time” (operation unit operation time) is the time during which the synchronization source computer 249 (operation unit 241) operates in the synchronization period.
 上記式(4)において、「I/O処理遅延」(通信データの送信時間)は送信データの送信に要する時間である。
 「送信データサイズ」(通信データサイズ)は、同期周期当たりに生成される送信データのサイズである。
In the above formula (4), “I / O processing delay” (communication data transmission time) is the time required for transmission data transmission.
“Transmission data size” (communication data size) is the size of transmission data generated per synchronization cycle.
 但し、「I/O処理遅延」を無視しても構わない。つまり、同期元計算機249の実効稼働率を以下の式(6)で表しても構わない。 However, “I / O processing delay” may be ignored. That is, the effective operating rate of the synchronization source computer 249 may be expressed by the following equation (6).
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003
 S220の後、S230に進む。 After S220, the process proceeds to S230.
 S230において、同期周期算出部232は、同期周期保存部233に記憶されている現在の同期周期をS220で算出した新たな同期周期に更新する。
 S230の後、S240に進む。
In S230, the synchronization cycle calculation unit 232 updates the current synchronization cycle stored in the synchronization cycle storage unit 233 with the new synchronization cycle calculated in S220.
It progresses to S240 after S230.
 S240において、同期周期算出部232は、所定の更新タイミングになったか否かを判定する。
 例えば、同期周期算出部232は、所定の更新時間を設定した更新タイマを起動し、更新タイマがタイムアウトした場合に更新タイミングになったと判定する。更新タイマがタイムアウトした場合、同期周期算出部232は新たに更新タイマを起動する。
 また、同期周期算出部232は、同期周期タイマ(図5のS151参照)が所定の同期回数だけタイムアウトする毎に更新タイミングになったと判定してもよい。
 更新タイミングになった場合、S210に戻る。
In S240, the synchronization cycle calculation unit 232 determines whether or not a predetermined update timing has come.
For example, the synchronization cycle calculation unit 232 activates an update timer that sets a predetermined update time, and determines that the update timing has come when the update timer times out. When the update timer times out, the synchronization cycle calculation unit 232 newly starts the update timer.
Further, the synchronization cycle calculation unit 232 may determine that the update timing has come each time the synchronization cycle timer (see S151 in FIG. 5) times out by a predetermined number of synchronizations.
If the update timing is reached, the process returns to S210.
 同期元計算機249の動作情報は固定値であってもよいし、変数値であってもよい。同期元計算機249の動作情報を変数値にする場合、仮想マシンモニタ部220は、「動作情報管理部」として同期元計算機249の動作情報を管理する。
 但し、ホストOS部230が「動作情報管理部」の機能を備えても構わない。
The operation information of the synchronization source computer 249 may be a fixed value or a variable value. When the operation information of the synchronization source computer 249 is set to a variable value, the virtual machine monitor unit 220 manages the operation information of the synchronization source computer 249 as an “operation information management unit”.
However, the host OS unit 230 may have the function of “operation information management unit”.
 仮想マシンモニタ部220は、過去の同期周期と過去のダーティページサイズとをメモリに記憶し、メモリに記憶した過去の同期周期と過去のダーティページサイズとに基づいて新たな「ダーティページの発生レート」を算出してもよい。
 例えば、仮想マシンモニタ部220は、前回の同期周期と前回のダーティページサイズとに基づいて新たな「ダーティページの発生レート」を算出する。
 また、仮想マシンモニタ部220は、過去の「ダーティページの発生レート」をメモリに記憶し、過去の「ダーティページの発生レート」の平均値を新たな「ダーティページの発生レート」として算出してもよい。
The virtual machine monitor unit 220 stores the past synchronization cycle and the past dirty page size in the memory, and generates a new “dirty page generation rate based on the past synchronization cycle and the past dirty page size stored in the memory. May be calculated.
For example, the virtual machine monitor unit 220 calculates a new “dirty page generation rate” based on the previous synchronization cycle and the previous dirty page size.
Further, the virtual machine monitor unit 220 stores the past “dirty page generation rate” in the memory, and calculates the average value of the past “dirty page generation rate” as a new “dirty page generation rate”. Also good.
 仮想マシンモニタ部220は、過去の同期周期と過去の送信データのサイズとをメモリに記憶し、メモリに記憶した過去の同期周期と過去の送信データのサイズとに基づいて新たな「送信データの発生レート」を算出してもよい。
 例えば、仮想マシンモニタ部220は、前回の同期周期と前回の送信データのサイズとに基づいて新たな「送信データの発生レート」を算出する。
 また、仮想マシンモニタ部220は、過去の「送信データの発生レート」をメモリに記憶し、過去の「送信データの発生レート」の平均値を新たな「送信データの発生レート」として算出してもよい。
The virtual machine monitor unit 220 stores the past synchronization cycle and the past transmission data size in the memory, and generates a new “transmission data” based on the past synchronization cycle and the past transmission data size stored in the memory. The “generation rate” may be calculated.
For example, the virtual machine monitor unit 220 calculates a new “transmission data generation rate” based on the previous synchronization period and the previous transmission data size.
Further, the virtual machine monitor unit 220 stores the past “transmission data generation rate” in the memory, and calculates an average value of the past “transmission data generation rate” as a new “transmission data generation rate”. Also good.
 図7は、実施の形態1における運用系物理サーバ200と待機系物理サーバ300とのハードウェア資源の一例を示す図である。
 図7において、運用系物理サーバ200と待機系物理サーバ300とは、CPU901(Central Processing Unit)を備えている。CPU901は、バス902を介してROM903、RAM904、通信ボード905(通信装置の一例)、ディスプレイ装置911、キーボード912、マウス913、ドライブ装置914、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。ドライブ装置914は、FD(Flexible Disk Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記憶媒体を読み書きする装置である。
FIG. 7 is a diagram illustrating an example of hardware resources of the active physical server 200 and the standby physical server 300 according to the first embodiment.
In FIG. 7, the active physical server 200 and the standby physical server 300 include a CPU 901 (Central Processing Unit). The CPU 901 is connected to a ROM 903, a RAM 904, a communication board 905 (an example of a communication device), a display device 911, a keyboard 912, a mouse 913, a drive device 914, and a magnetic disk device 920 via a bus 902, and these hardware devices are connected. Control. The drive device 914 is a device that reads and writes a storage medium such as an FD (Flexible Disk Drive), a CD (Compact Disc), and a DVD (Digital Versatile Disc).
 通信ボード905は、有線または無線で、LAN(Local Area Network)、インターネット、電話回線などの通信網に接続している。 The communication board 905 is wired or wirelessly connected to a communication network such as a LAN (Local Area Network), the Internet, or a telephone line.
 磁気ディスク装置920には、OS921(オペレーティングシステム)、プログラム群922、ファイル群923が記憶されている。 The magnetic disk device 920 stores an OS 921 (operating system), a program group 922, and a file group 923.
 プログラム群922には、実施の形態において「~部」として説明する機能を実行するプログラムが含まれる。プログラムは、CPU901により読み出され実行される。すなわち、プログラムは、「~部」としてコンピュータを機能させるものであり、また「~部」の手順や方法をコンピュータに実行させるものである。 The program group 922 includes a program for executing a function described as “unit” in the embodiment. The program is read and executed by the CPU 901. That is, the program causes the computer to function as “˜part”, and causes the computer to execute the procedures and methods of “˜part”.
 ファイル群923には、実施の形態において説明する「~部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。 The file group 923 includes various data (input, output, determination result, calculation result, processing result, etc.) used in “˜part” described in the embodiment.
 実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。 In the embodiment, arrows included in the configuration diagrams and flowcharts mainly indicate input and output of data and signals.
 実施の形態において「~部」として説明するものは「~回路」、「~装置」、「~機器」であってもよく、また「~ステップ」、「~手順」、「~処理」であってもよい。すなわち、「~部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。 In the embodiment, what is described as “to part” may be “to circuit”, “to apparatus”, and “to device”, and “to step”, “to procedure”, and “to processing”. May be. That is, what is described as “˜unit” may be implemented by any of firmware, software, hardware, or a combination thereof.
 実施の形態1において、例えば、以下のような同期周期の動的制御方法について説明した。
 運用系物理サーバ200は、第1のゲストOSが動作する同期元仮想マシン(同期元計算機249)と、同期元仮想マシンを管理する第1のホストOS(ホストOS部230)が動作する仮想マシンとを備える。
 待機系物理サーバ300は、第2のゲストOSが動作する同期先仮想マシン(同期先計算機349)と、同期先仮想マシンを管理する第2のホストOS(ホストOS部330)が動作する仮想マシンとを備える。
 第1のホストOSは、周期制御によって運用系物理サーバ200で動作する同期元仮想マシンの実行状態と、待機系物理サーバ300で同期先仮想マシンの実行状態とを同期する。
 第1のホストOSは、動作情報取得部231と同期周期算出部232と同期周期保存部233とを備え、同期周期を動的に変動させる。
 動作情報取得部231は、同期処理の実施中に同期元仮想マシンの動作情報(CPUリソース量、ダーティページサイズ、データ送信量)を取得する。
 同期周期算出部232は、動作情報取得部231が取得した動作情報と評価式とを用いて同期周期を算出する。
 同期周期保存部233は、同期周期算出部232によって算出された同期周期を保存する共有データ領域である。
In the first embodiment, for example, the following synchronous cycle dynamic control method has been described.
The active physical server 200 includes a synchronization source virtual machine (synchronization source computer 249) on which the first guest OS operates and a virtual machine on which a first host OS (host OS unit 230) that manages the synchronization source virtual machine operates. With.
The standby physical server 300 includes a synchronization destination virtual machine (synchronization destination computer 349) on which the second guest OS operates and a virtual machine on which a second host OS (host OS unit 330) that manages the synchronization destination virtual machine operates. With.
The first host OS synchronizes the execution state of the synchronization source virtual machine operating on the active physical server 200 and the execution state of the synchronization destination virtual machine on the standby physical server 300 by periodic control.
The first host OS includes an operation information acquisition unit 231, a synchronization cycle calculation unit 232, and a synchronization cycle storage unit 233, and dynamically changes the synchronization cycle.
The operation information acquisition unit 231 acquires operation information (CPU resource amount, dirty page size, data transmission amount) of the synchronization source virtual machine during the execution of the synchronization process.
The synchronization cycle calculation unit 232 calculates the synchronization cycle using the motion information acquired by the motion information acquisition unit 231 and the evaluation formula.
The synchronization cycle storage unit 233 is a shared data area that stores the synchronization cycle calculated by the synchronization cycle calculation unit 232.
 同期元仮想マシンの動作情報(CPUリソース量、ダーティページサイズ、データ送信量)と評価式とを利用して同期周期を算出し、同期周期を動的に制御することにより、同期コミット処理によって発生するオーバヘッド(運用処理の遅延時間)を削減することができる。 Generated by synchronous commit processing by calculating the synchronization period using the operation information (CPU resource amount, dirty page size, data transmission amount) of the synchronization source virtual machine and the evaluation formula, and dynamically controlling the synchronization period Overhead (operation processing delay time) can be reduced.
 実施の形態1において、ダーティページではなくメモリイメージ全体を運用系物理サーバ200から待機系物理サーバ300へ送信しても構わない。
 ホストOS部(符号230、330)とゲストOS部(符号240、340)とは仮想マシンでなくても構わない。
 複数のCPUを備え、特定のCPUをホストOS部に割り当て、別のCPUをゲストOS部に割り当てても構わない。
In the first embodiment, not the dirty page but the entire memory image may be transmitted from the active physical server 200 to the standby physical server 300.
The host OS unit (reference numerals 230 and 330) and the guest OS part (reference numerals 240 and 340) may not be virtual machines.
A plurality of CPUs may be provided, a specific CPU may be assigned to the host OS unit, and another CPU may be assigned to the guest OS unit.
 実施の形態2.
 同期処理を実行する場合、ゲストOS部240に割り当てられていたCPUの使用時間をホストOS部230に割り当てる形態について説明する。
 以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項については実施の形態1と同様である。
Embodiment 2. FIG.
A description will be given of a mode in which the CPU usage time allocated to the guest OS unit 240 is allocated to the host OS unit 230 when executing the synchronization process.
Hereinafter, items different from the first embodiment will be mainly described. Matters whose description is omitted are the same as those in the first embodiment.
 図12は、実施の形態2における運用系物理サーバ200の機能構成図である。
 実施の形態2における運用系物理サーバ200の機能構成について、図12に基づいて説明する。
FIG. 12 is a functional configuration diagram of the active physical server 200 according to the second embodiment.
The functional configuration of the active physical server 200 in the second embodiment will be described with reference to FIG.
 運用系物理サーバ200のホストOS部230は、実施の形態1で説明した構成(図2参照)に加えて、CPU割り当て部236を備える。 The host OS unit 230 of the active physical server 200 includes a CPU allocation unit 236 in addition to the configuration described in the first embodiment (see FIG. 2).
 CPU割り当て部236は、運用部241の動作が停止された場合、運用部241に割り当てられていたCPUの使用時間を同期エンジン部235に割り当てる。 The CPU allocation unit 236 allocates the CPU usage time allocated to the operation unit 241 to the synchronization engine unit 235 when the operation of the operation unit 241 is stopped.
 図13は、実施の形態2における運用系物理サーバ200の同期方法を示すフローチャートである。
 実施の形態2における運用系物理サーバ200の同期方法について、図13に基づいて説明する。
FIG. 13 is a flowchart showing a synchronization method of the active physical server 200 in the second embodiment.
A method of synchronizing the active physical server 200 in the second embodiment will be described with reference to FIG.
 実施の形態1で説明した処理(図5参照)に加えて、S123とS132とを実行する。
 以下、S123とS132とのについて説明する。
In addition to the processing described in the first embodiment (see FIG. 5), S123 and S132 are executed.
Hereinafter, S123 and S132 will be described.
 S123において、同期元計算機249は、S122で一時停止されているため、CPUの使用時間が割り当てられていないアイドル状態である。
 そこで、CPU割り当て部236は割り当ての追加を仮想マシンモニタ部220に要求し、仮想マシンモニタ部220は同期元計算機249に割り当てていたCPUの使用時間をホストOS部230に追加で割り当てる。
In S123, the synchronization source computer 249 is in an idle state in which the CPU usage time is not allocated because it is temporarily stopped in S122.
Therefore, the CPU allocation unit 236 requests the virtual machine monitor unit 220 to add the allocation, and the virtual machine monitor unit 220 additionally allocates the CPU usage time allocated to the synchronization source computer 249 to the host OS unit 230.
 S123の後、同期エンジン部235は、ホストOS部230に元々割り当てられていたCPUの使用時間と追加して割り当てられたCPUの使用時間とでCPUを使用してS130とS131とを実行する。
 これにより、S130とS131との処理時間を短縮することができる。
 S131の後、S132に進む。
After S123, the synchronization engine unit 235 executes S130 and S131 using the CPU based on the CPU usage time originally allocated to the host OS unit 230 and the CPU usage time allocated additionally.
Thereby, the processing time of S130 and S131 can be shortened.
After S131, the process proceeds to S132.
 S132において、同期元計算機249は割り当ての解除を仮想マシンモニタ部220に要求し、仮想マシンモニタ部220はホストOS部230に追加して割り当てたCPUの使用時間を同期元計算機249に再び割り当てる。
 S132の後、S140に進む。
In S <b> 132, the synchronization source computer 249 requests the virtual machine monitor unit 220 to cancel the allocation, and the virtual machine monitor unit 220 reallocates the CPU usage time added and allocated to the host OS unit 230 to the synchronization source computer 249 again.
It progresses to S140 after S132.
 同期周期の動的制御方法は、実施の形態1(図6参照)と同様である。
 但し、同期元計算機249に割り当てられていたCPUの使用時間がホストOS部230に割り当てられるため、同期処理時間を算出するための「CPUリソース量」(式(2)参照)が増加する。
 これにより、実施の形態1に対して同期処理時間が短縮され、同期元計算機249の実効稼働率が増加し、同期周期が変化する。
The synchronous cycle dynamic control method is the same as that of the first embodiment (see FIG. 6).
However, since the CPU usage time allocated to the synchronization source computer 249 is allocated to the host OS unit 230, the “CPU resource amount” (see equation (2)) for calculating the synchronization processing time increases.
As a result, the synchronization processing time is shortened compared to the first embodiment, the effective operating rate of the synchronization source computer 249 is increased, and the synchronization cycle is changed.
 実施の形態2において、例えば、以下のような同期周期の動的制御方法について説明した。
 運用系物理サーバ200の第1のホストOS(ホストOS部230)は、CPU割り当て部236を備える。
 CPU割り当て部236は、第1のゲストOSが動作する同期元仮想マシン(同期元計算機249)の実行状態を取得する際に、運用系物理サーバ200が有する未使用のCPUコア(またはCPUの使用時間)を第1のホストOSに対して割り当てる。
In the second embodiment, for example, the following synchronous cycle dynamic control method has been described.
The first host OS (host OS unit 230) of the active physical server 200 includes a CPU allocation unit 236.
When the CPU allocation unit 236 acquires the execution state of the synchronization source virtual machine (synchronization source computer 249) on which the first guest OS operates, the unused CPU core (or CPU usage) of the active physical server 200 is acquired. Time) is allocated to the first host OS.
 同期処理中の管理ホスト(第1のホストOS)に対して未使用のCPUリソース(CPUの使用時間)を割り当てることにより、同期処理の処理時間を短縮することができる。 By allocating unused CPU resources (CPU usage time) to the management host (first host OS) that is performing the synchronization processing, the processing time of the synchronization processing can be shortened.
 001 ゲストOS、002 ホストOS、003 Xen、004 Remus、005 ダーティページ、006 バッファリング機構、007 ホストOS、008 Remus、009 ゲストOS、010 Xen、100 運用処理システム、101,102 LAN、110 端末装置、200 運用系物理サーバ、210 ハードウェア、220 仮想マシンモニタ部、230 ホストOS部、231 動作情報取得部、232 同期周期算出部、233 同期周期保存部、234 同期開始指示部、235 同期エンジン部、236 CPU割り当て部、240 ゲストOS部、241 運用部、249 同期元計算機、300 待機系物理サーバ、310 ハードウェア、320 仮想マシンモニタ部、330 ホストOS部、331 同期サーバ部、340 ゲストOS部、341 運用部、349 同期先計算機、901 CPU、902 バス、903 ROM、904 RAM、905 通信ボード、911 ディスプレイ装置、912 キーボード、913 マウス、914 ドライブ装置、920 磁気ディスク装置、921 OS、922 プログラム群、923 ファイル群。 001 guest OS, 002 host OS, 003 Xen, 004 Remus, 005 dirty page, 006 buffering mechanism, 007 host OS, 008 Remus, 009 guest OS, 010 Xen, 100 operation processing system, 101, 102 LAN, 110 terminal device , 200 operational physical server, 210 hardware, 220 virtual machine monitor unit, 230 host OS unit, 231 operation information acquisition unit, 232 synchronization cycle calculation unit, 233 synchronization cycle storage unit, 234 synchronization start instruction unit, 235 synchronization engine unit 236 CPU allocation unit, 240 guest OS unit, 241 operation unit, 249 synchronization source computer, 300 standby physical server, 310 hardware, 320 virtual machine monitor unit, 330 host OS section, 331 synchronization server section, 340 guest OS section, 341 operation section, 349 synchronization destination computer, 901 CPU, 902 bus, 903 ROM, 904 RAM, 905 communication board, 911 display device, 912 keyboard, 913 mouse, 914 drive Device, 920 magnetic disk device, 921 OS, 922 program group, 923 file group.

Claims (11)

  1.  所定の運用処理を実行すると共に、前記運用処理で使用するデータを所定の待機装置と同期させる同期装置において、
     前記待機装置と同期する同期周期を記憶する同期周期記憶部と、
     前記運用処理で使用するデータを状態データとして記憶する状態データ記憶部と、
     前記状態データ記憶部に記憶された状態データを使用して前記運用処理を実行する運用部と、
     前記同期周期記憶部に記憶された同期周期が経過する毎に前記運用部の動作を停止させる運用停止部と、
     前記運用停止部により前記運用部の動作が停止された場合、前記状態データに含まれる少なくともいずれかのデータを同期データとして前記待機装置へ送信する同期データ送信部と、
     前記同期データ送信部により前記同期データが送信された場合、前記運用部の動作を開始させる運用開始部と、
     前記同期データを前記待機装置へ送信するために要する第1の時間を含んだ特定時間であって、前記第1の時間を差し引いた残り時間の割合が所定の割合になる特定時間を新たな同期周期として算出し、前記同期周期記憶部に記憶された同期周期を前記新たな同期周期で更新する同期周期更新部と
    を備えたことを特徴とする同期装置。
    In a synchronization device that executes predetermined operation processing and synchronizes data used in the operation processing with a predetermined standby device,
    A synchronization cycle storage unit that stores a synchronization cycle synchronized with the standby device;
    A state data storage unit for storing data used in the operation process as state data;
    An operation unit that executes the operation process using the state data stored in the state data storage unit;
    An operation stop unit that stops the operation of the operation unit every time the synchronization cycle stored in the synchronization cycle storage unit elapses;
    When the operation of the operation unit is stopped by the operation stop unit, a synchronization data transmission unit that transmits at least any data included in the state data to the standby device as synchronization data;
    When the synchronization data is transmitted by the synchronization data transmission unit, an operation start unit that starts operation of the operation unit;
    A specific time including a first time required to transmit the synchronization data to the standby device, and a specific time at which the ratio of the remaining time after subtracting the first time becomes a predetermined ratio is newly synchronized. A synchronization apparatus comprising: a synchronization cycle update unit that calculates a cycle and updates a synchronization cycle stored in the synchronization cycle storage unit with the new synchronization cycle.
  2.  前記同期周期更新部は、前記残り時間の割合が最大になる特定時間を前記新たな同期時間として算出する
    ことを特徴とする請求項1記載の同期装置。
    The synchronization apparatus according to claim 1, wherein the synchronization period update unit calculates a specific time at which the ratio of the remaining time is maximized as the new synchronization time.
  3.  前記同期装置は、さらに、
     前記待機装置と通信するときの通信速度を同期通信速度として記憶する動作情報記憶部を備え、
     前記第1の時間は、前記同期データのデータサイズを前記同期通信速度で除算して得られる同期データ送信時間を含んだ時間である
    ことを特徴とする請求項2記載の同期装置。
    The synchronization device further includes:
    An operation information storage unit that stores a communication speed when communicating with the standby device as a synchronous communication speed;
    3. The synchronization device according to claim 2, wherein the first time is a time including a synchronous data transmission time obtained by dividing a data size of the synchronous data by the synchronous communication speed.
  4.  前記動作情報記憶部は、前記状態データに含まれるデータのうち単位時間に更新されるデータのサイズを更新レートとして記憶し、
     前記同期データのデータサイズは、前記更新レートに前記特定時間を乗算して得られるデータサイズである
    ことを特徴とする請求項3記載の同期装置。
    The operation information storage unit stores, as an update rate, the size of data updated in unit time among the data included in the state data,
    4. The synchronization device according to claim 3, wherein the data size of the synchronization data is a data size obtained by multiplying the update rate by the specific time.
  5.  前記運用処理は、通信データを特定の通信装置へ送信する処理を含み、
     前記同期周期更新部は、前記第1の時間と前記通信データを前記通信装置へ送信するために要する第2の時間とを差し引いた残り時間の割合が前記所定の割合になる特定時間を前記新たな同期周期として算出する
    ことを特徴とする請求項4記載の同期装置。
    The operation process includes a process of transmitting communication data to a specific communication device,
    The synchronization period update unit sets the specific time at which the ratio of the remaining time obtained by subtracting the first time and the second time required to transmit the communication data to the communication device is the predetermined ratio. 5. The synchronization device according to claim 4, wherein the synchronization device is calculated as a stable synchronization cycle.
  6.  前記動作情報記憶部は、前記通信装置と通信するときの通信速度をデータ通信速度として記憶し、
     前記第2の時間は、前記通信データのデータサイズを前記データ通信速度で除算して得られる通信データ送信時間を含んだ時間である
    ことを特徴とする請求項5記載の同期装置。
    The operation information storage unit stores a communication speed when communicating with the communication device as a data communication speed,
    6. The synchronization apparatus according to claim 5, wherein the second time is a time including a communication data transmission time obtained by dividing the data size of the communication data by the data communication speed.
  7.  前記動作情報記憶部は、単位時間に生成される通信データのサイズを生成レートとして記憶し、
     前記通信データのデータサイズは、前記生成レートに前記特定時間を乗算して得られるデータサイズである
    ことを特徴とする請求項6記載の同期装置。
    The operation information storage unit stores the size of communication data generated per unit time as a generation rate,
    The synchronization apparatus according to claim 6, wherein the data size of the communication data is a data size obtained by multiplying the generation rate by the specific time.
  8.  前記同期装置は、さらに、
     前記運用部の動作が停止された場合、前記運用部に割り当てられていたCPU(Central Processing Unit)の使用時間を前記同期データ送信部に割り当てるCPU割り当て部を備える
    ことを特徴とする請求項1記載の同期装置。
    The synchronization device further includes:
    2. The CPU allocation unit for allocating a usage time of a CPU (Central Processing Unit) allocated to the operation unit to the synchronous data transmission unit when the operation of the operation unit is stopped. Synchronization device.
  9.  前記同期装置は、さらに、第1の仮想マシンと第2の仮想マシンとを生成する仮想マシンモニタ部を備え、
     前記運用部は、前記第1の仮想マシンで動作し、
     前記運用停止部と前記同期データ送信部と前記運用開始部と前記同期周期更新部とは、前記第2の仮想マシンで動作する
    ことを特徴とする請求項1記載の同期装置。
    The synchronization device further includes a virtual machine monitor unit that generates a first virtual machine and a second virtual machine,
    The operation unit operates on the first virtual machine,
    The synchronization apparatus according to claim 1, wherein the operation stop unit, the synchronization data transmission unit, the operation start unit, and the synchronization cycle update unit operate in the second virtual machine.
  10.  所定の運用処理を実行すると共に、前記運用処理で使用するデータを所定の待機装置と同期させる同期装置であって、前記待機装置と同期する同期周期を記憶する同期周期記憶部と、前記運用処理で使用するデータを状態データとして記憶する状態データ記憶部とを備える同期装置の同期方法において、
     運用部が、前記状態データ記憶部に記憶された状態データを使用して前記運用処理を実行し、
     運用停止部が、前記同期周期記憶部に記憶された同期周期が経過する毎に前記運用部の動作を停止させ、
     同期データ送信部が、前記運用停止部により前記運用部の動作が停止された場合、前記状態データに含まれる少なくともいずれかのデータを同期データとして前記待機装置へ送信し、
     運用開始部が、前記同期データ送信部により前記同期データが送信された場合、前記運用部の動作を開始させ、
     同期周期更新部が、前記同期データを前記待機装置へ送信するために要する第1の時間を含んだ特定時間であって、前記第1の時間を差し引いた残り時間の割合が所定の割合になる特定時間を新たな同期周期として算出し、前記同期周期記憶部に記憶された同期周期を前記新たな同期周期で更新する
    ことを特徴とする同期装置の同期方法。
    A synchronization device that executes predetermined operation processing and synchronizes data used in the operation processing with a predetermined standby device, the synchronization cycle storage unit storing a synchronization cycle synchronized with the standby device, and the operation processing In a synchronization method of a synchronization device comprising a state data storage unit that stores data used in the state data as state data,
    The operation unit executes the operation process using the state data stored in the state data storage unit,
    The operation stop unit stops the operation of the operation unit every time the synchronization cycle stored in the synchronization cycle storage unit elapses,
    When the operation of the operation unit is stopped by the operation stop unit, the synchronization data transmission unit transmits at least any data included in the state data to the standby device as synchronization data,
    When the operation start unit transmits the synchronization data by the synchronization data transmission unit, the operation start unit starts the operation of the operation unit,
    The specific period including the first time required for the synchronization period updating unit to transmit the synchronization data to the standby device, and the ratio of the remaining time after subtracting the first time is a predetermined ratio A synchronization method for a synchronization apparatus, comprising: calculating a specific time as a new synchronization period, and updating the synchronization period stored in the synchronization period storage unit with the new synchronization period.
  11.  所定の運用処理を実行すると共に、前記運用処理で使用するデータを所定の待機装置と同期させる同期装置であって、前記待機装置と同期する同期周期を記憶する同期周期記憶部と、前記運用処理で使用するデータを状態データとして記憶する状態データ記憶部とを備える同期装置を機能させる同期プログラムにおいて、
     前記状態データ記憶部に記憶された状態データを使用して前記運用処理を実行する運用部と、
     前記同期周期記憶部に記憶された同期周期が経過する毎に前記運用部の動作を停止させる運用停止部と、
     前記運用停止部により前記運用部の動作が停止された場合、前記状態データに含まれる少なくともいずれかのデータを同期データとして前記待機装置へ送信する同期データ送信部と、
     前記同期データ送信部により前記同期データが送信された場合、前記運用部の動作を開始させる運用開始部と、
     前記同期データを前記待機装置へ送信するために要する第1の時間を含んだ特定時間であって、前記第1の時間を差し引いた残り時間の割合が所定の割合になる特定時間を新たな同期周期として算出し、前記同期周期記憶部に記憶された同期周期を前記新たな同期周期で更新する同期周期更新部として
    前記同期装置を機能させることを特徴とする同期プログラム。
    A synchronization device that executes predetermined operation processing and synchronizes data used in the operation processing with a predetermined standby device, the synchronization cycle storage unit storing a synchronization cycle synchronized with the standby device, and the operation processing In a synchronization program for functioning a synchronization device comprising a state data storage unit for storing data used in the state data as state data,
    An operation unit that executes the operation process using the state data stored in the state data storage unit;
    An operation stop unit that stops the operation of the operation unit every time the synchronization cycle stored in the synchronization cycle storage unit elapses;
    When the operation of the operation unit is stopped by the operation stop unit, a synchronization data transmission unit that transmits at least any data included in the state data to the standby device as synchronization data;
    When the synchronization data is transmitted by the synchronization data transmission unit, an operation start unit that starts operation of the operation unit;
    A specific time including a first time required to transmit the synchronization data to the standby device, and a specific time at which the ratio of the remaining time after subtracting the first time becomes a predetermined ratio is newly synchronized. A synchronization program that causes the synchronization device to function as a synchronization cycle update unit that calculates a cycle and updates a synchronization cycle stored in the synchronization cycle storage unit with the new synchronization cycle.
PCT/JP2011/056668 2011-03-21 2011-03-21 Synchronization device, synchronization method for synchronization device and synchronization program WO2012127598A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/056668 WO2012127598A1 (en) 2011-03-21 2011-03-21 Synchronization device, synchronization method for synchronization device and synchronization program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/056668 WO2012127598A1 (en) 2011-03-21 2011-03-21 Synchronization device, synchronization method for synchronization device and synchronization program

Publications (1)

Publication Number Publication Date
WO2012127598A1 true WO2012127598A1 (en) 2012-09-27

Family

ID=46878795

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/056668 WO2012127598A1 (en) 2011-03-21 2011-03-21 Synchronization device, synchronization method for synchronization device and synchronization program

Country Status (1)

Country Link
WO (1) WO2012127598A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016130947A (en) * 2015-01-14 2016-07-21 富士電機株式会社 Control system and control device
WO2017094235A1 (en) * 2015-11-30 2017-06-08 日本電気株式会社 Redundancy processing device, information processing device, redundancy system, method, and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225698A (en) * 1993-12-15 1995-08-22 Toshiba Corp Standby redundant multiplex processing system and changing method for check point cycle used therefor
JP2002099445A (en) * 2000-09-22 2002-04-05 Toshiba Corp System for complex computer and its data equivalence method
JP2010160660A (en) * 2009-01-07 2010-07-22 Nec Corp Network interface, computer system, operation method therefor, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225698A (en) * 1993-12-15 1995-08-22 Toshiba Corp Standby redundant multiplex processing system and changing method for check point cycle used therefor
JP2002099445A (en) * 2000-09-22 2002-04-05 Toshiba Corp System for complex computer and its data equivalence method
JP2010160660A (en) * 2009-01-07 2010-07-22 Nec Corp Network interface, computer system, operation method therefor, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016130947A (en) * 2015-01-14 2016-07-21 富士電機株式会社 Control system and control device
WO2017094235A1 (en) * 2015-11-30 2017-06-08 日本電気株式会社 Redundancy processing device, information processing device, redundancy system, method, and storage medium

Similar Documents

Publication Publication Date Title
US20190205155A1 (en) Adaptive cpu numa scheduling
EP3985504B1 (en) Virtual machine migration
EP4050477B1 (en) Virtual machine migration techniques
US9317314B2 (en) Techniques for migrating a virtual machine using shared storage
US9778997B2 (en) Server backup method and backup system using the method
Deshpande et al. Scatter-gather live migration of virtual machines
CN108958880B (en) Data processing method and data processing system
JP6123626B2 (en) Process resumption method, process resumption program, and information processing system
JP2008165637A (en) System switching method in server virturalizing environment and computer system
US20110107344A1 (en) Multi-core apparatus and load balancing method thereof
JP2009217608A (en) Virtual computer system and control method therefor
WO2019028682A1 (en) Multi-system shared memory management method and device
JP5561334B2 (en) Data transfer device
CN104239120A (en) State information synchronization method, state information synchronization device and state information synchronization system for virtual machine
US10565135B2 (en) Information processing device, information processing method, main processor core, program, information processing method, and sub processor core
CN107870877B (en) Method and system for managing data access in a storage system
US20180336106A1 (en) Checkpoint method for a highly available computer system
WO2012127598A1 (en) Synchronization device, synchronization method for synchronization device and synchronization program
US20170041191A1 (en) Parallel computing system and migration method
JP5549189B2 (en) Virtual machine management apparatus, virtual machine management method, and virtual machine management program
JP2009181249A (en) Virtual machine server, virtual machine system, virtual machine distribution method and program for use in the same
WO2012144012A1 (en) Thread processing method and thread processing system
EP4109255A1 (en) Scheduling in a container orchestration system utilizing hardware topology hints
CN108932149B (en) Data transmission method and device
WO2017067402A1 (en) Computing device and computing device memory component management method and system

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: 11861822

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11861822

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP