+

WO2014076765A1 - Data processing device, data processing method, and program - Google Patents

Data processing device, data processing method, and program Download PDF

Info

Publication number
WO2014076765A1
WO2014076765A1 PCT/JP2012/079395 JP2012079395W WO2014076765A1 WO 2014076765 A1 WO2014076765 A1 WO 2014076765A1 JP 2012079395 W JP2012079395 W JP 2012079395W WO 2014076765 A1 WO2014076765 A1 WO 2014076765A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
asynchronous
data processing
target data
generated
Prior art date
Application number
PCT/JP2012/079395
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/JP2012/079395 priority Critical patent/WO2014076765A1/en
Publication of WO2014076765A1 publication Critical patent/WO2014076765A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2066Optimisation of the communication load
    • 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2076Synchronous techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Definitions

  • the present invention relates to a replication technique in a data processing system having a redundant configuration.
  • synchronous replication for example, Non-Patent Document 1 for determining synchronization timing according to processing contents such as VM disk and network I / O (Input / Out), and VM processing
  • asynchronous replication for example, Non-Patent Document 2 in which synchronization is performed in a fixed time without depending on the contents.
  • synchronous replication when data is transmitted from the active system to the standby system, the processing of the active system is temporarily stopped, data is transmitted from the active system to the standby system, and data is received from the standby system. This is a method of restarting the active process when notified.
  • Synchronous replication is highly reliable because the data in the active system is reliably reflected in the standby system, but it takes a long time for the processing in the active system to resume.
  • asynchronous replication is a method in which the active data is unilaterally transmitted to the standby system without stopping the active process.
  • Asynchronous replication is high in processing efficiency because it can continue processing in the active system, but is less reliable than synchronous replication because the data in the active system may not reach the standby system.
  • Such a synchronization method is frequently used for redundancy in a database.
  • synchronous replication is used in Patent Document 1
  • asynchronous replication is used in Patent Document 2.
  • database redundancy since the frequency of database updates is lower than the frequency of CPU register and memory updates in VMs, synchronous replication is widely used.
  • VM redundancy since the frequency of updating the CPU register and memory of the VM is high, if the synchronous replication is applied, the processing of the active system is temporarily stopped, which has a fatal effect on the operation of the VM. For this reason, in the redundancy of VMs, asynchronous replication with high performance has been used at the expense of some reliability.
  • JP 2011-039733 A International Publication 2011-111131
  • This invention mainly aims to solve the above-described problems, and mainly aims to realize high reliability while suppressing standby time due to replication.
  • the data processing apparatus Operates as an active system in a redundant data processing system, Synchronous replication that temporarily stops data processing and transmits data to the standby data processing device of the redundant data processing system, and transmits data to the standby data processing device while continuing the data processing
  • a data processing apparatus that performs asynchronous replication A transmission timing determination unit that determines whether or not to defer transmission of the generated asynchronous target data to the standby data processing device when the asynchronous target data to be subjected to the asynchronous replication is generated;
  • a hold data storage unit that stores asynchronous target data determined to hold transmission to the standby data processing device by the transmission timing determination unit;
  • FIG. 1 is a diagram illustrating a configuration example of a data processing system according to Embodiment 1.
  • FIG. 3 is a diagram illustrating a configuration example of a synchronization processing unit according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example of an active VM execution unit according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example of a working synchronization processing unit according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example of a working synchronization processing unit according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example of a working synchronization processing unit according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example of an active VM execution unit according to the first embodiment.
  • FIG. 3 is a flowchart showing an active VM execution unit according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example of a standby synchronization processing unit according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example of a standby synchronization processing unit according to the first embodiment.
  • FIG. 3 is a diagram illustrating a hardware configuration example of the data processing device according to the first embodiment.
  • Embodiment 1 a data processing system that uses both synchronous replication and asynchronous replication will be described.
  • the update data of the I / O device is transmitted from the active data processing apparatus to the standby data processing apparatus by synchronous replication.
  • Update data of CPU registers and memories other than I / O devices is transmitted from the active data processing device to the standby data processing device by asynchronous replication.
  • Data targeted for synchronous replication is also referred to as synchronization target data
  • data targeted for asynchronous replication is also referred to as asynchronous target data.
  • Asynchronous target data to be subjected to asynchronous replication is data in the CPU register and memory, and is therefore frequently updated. As a result, asynchronous replication frequently occurs.
  • asynchronous replication occurs frequently, a situation may occur in which transmission of asynchronous target data is not completed when data update of an I / O device occurs. In this case, data transmission by synchronous replication is not started unless transmission of asynchronous target data waiting for transmission is completed. As described above, if asynchronous replication occurs frequently, the start of synchronous replication is delayed, and as a result, it takes a long time to complete synchronous replication, which causes the user to wait for a long time.
  • transmission of asynchronous target data that meets a predetermined condition is reserved, and asynchronous target data whose transmission is suspended is transmitted together with synchronization target data by synchronous replication.
  • the frequency of execution of asynchronous replication and the amount of asynchronous target data to be transmitted in one asynchronous replication can be suppressed, and the transmission of asynchronous target data is not completed when synchronous target data occurs. It can be avoided.
  • delay in starting synchronous replication can be avoided, and standby time due to replication can be suppressed.
  • FIG. 1 shows a configuration example of a redundant data processing system according to the present embodiment.
  • the redundant data processing system includes an active data processing device 11 and a standby data processing device 12.
  • the active data processing apparatus 11 is also referred to as the active system 11
  • the standby data processing apparatus 12 is also referred to as the standby system 12.
  • the active physical computer 1001 and the standby physical computer 1002 are connected by a LAN (Local Area Network) 141.
  • the active data processing device 11 and the standby data processing device 12 have the same configuration. In the following, the configuration of the active data processing apparatus 11 will be described as a representative.
  • the physical computer 1001 includes hardware such as a physical CPU 101, a physical memory 102, a physical disk 103, and a physical NIC (Network Interface Card) 104.
  • a virtual machine 2001 operates on the physical machine 1001.
  • the virtual computer 2001 includes a virtual CPU 105, a virtual memory 106, a virtual disk 107, and a virtual NIC 108 as virtual devices.
  • the virtual CPU 105, virtual memory 106, virtual disk 107, and virtual NIC 108 are realized by programs that emulate the physical CPU 101, physical memory 102, physical disk 103, and physical NIC 104, respectively.
  • the virtual machine 2001 includes a VM execution unit 201 and a synchronization processing unit 211 as processing / control means.
  • the VM execution unit 201 and the synchronization processing unit 211 are realized by a virtual machine monitor, for example.
  • the virtual machine 2001 includes an application program and an OS (Operating System).
  • the application program is also called an application. In the present embodiment, it is not necessary to distinguish between the OS and the application, and therefore, they are collectively referred to as OS / application 221.
  • FIG. 2 shows a configuration example of the synchronization processing unit 211 and the synchronization processing unit 212.
  • the failure detection unit 301 detects a failure of the other data processing apparatus.
  • the transmission timing determination unit 302 determines the transmission timing of the asynchronous target data. Specifically, in the active data processing apparatus 11, when the asynchronous target data is generated by the OS / application 221, the transmission timing determination unit 302 transmits the generated asynchronous target data to the standby system 12. It is decided whether to hold or immediately send to the standby system 12 by asynchronous replication.
  • the data transmission unit 303 transmits synchronization target data and asynchronous target data. Specifically, in the active data processing apparatus 11, the data transmission unit 303 transmits synchronization target data and asynchronous target data to the standby system 12. Transmission of synchronization target data and asynchronous target data to the standby system 12 is performed via the physical NIC 104 and the LAN 141.
  • the control unit 304 performs operations other than the operations of the transmission timing determination unit 302 and the data transmission unit 303.
  • the update data holding area 311 temporarily holds update data.
  • the synchronization history holding area 321 holds the attribute (specifically, address) of the asynchronous target data generated together with the synchronization target data.
  • the transmission timing determination unit 302 described above is asynchronous when the address of the generated asynchronous target data (the address of the virtual CPU register or the address of the virtual memory 106) matches the address held in the synchronization history holding area 321. Suspend transmission of the target data.
  • the synchronization history holding area 321 corresponds to an example of an attribute storage unit.
  • the transmission hold area 331 temporarily holds asynchronous target data whose transmission is held by the transmission timing determination unit 302.
  • the transmission hold area 331 corresponds to an example of a hold data storage unit.
  • the VM execution unit 201 inputs update data from the OS / application 221 to an arbitrary virtual device.
  • the VM execution unit 201 determines whether the input update data includes update data for the virtual I / O device (virtual disk 107 or virtual NIC 108).
  • the VM execution unit 201 attaches a synchronization request flag to the update data and adds a synchronization request flag in S505.
  • the updated data is stored in the update data holding area 311.
  • a synchronization request flag is attached to all the update data and stored in the update data holding area 311.
  • the VM execution unit 201 suspends the processing of the OS / application 221 in S ⁇ b> 506 and also suspends the processing of itself (the VM execution unit 201). .
  • the VM execution unit 201 is ready to input an operation resumption notification described later from the synchronization processing unit 211.
  • the VM execution unit 201 holds all the update data in S502. Store in area 311. When all the update data has been stored in the update data holding area 311, the VM execution unit 201 updates the state of the virtual device according to the update data in S ⁇ b> 503. Thereafter, in S504, the VM execution unit 201 continues the operation of the VM including the OS / application 221.
  • the transmission timing determination unit 302 of the synchronization processing unit 211 detects storage of the update data in the update data holding area 311 in step S601.
  • the transmission timing determination unit 302 extracts one update data from the update data holding area 311 in S602.
  • the transmission timing determination unit 302 determines whether or not a synchronization request flag is attached to the extracted update data.
  • the transmission timing determination unit 302 determines whether the synchronization history holding area 321 includes the address targeted by the update data in S604. When the address targeted for the update data is included in the synchronization history holding area 321 (YES in S604), the transmission timing determination unit 302 stores the update data in the transmission hold area 331 in S606. On the other hand, if the address targeted for the update data is not included in the synchronization history holding area 321 (NO in S604), the data transmission unit 303 transmits the update data to the standby system 12 in S605.
  • the transmission in S605 is transmission by asynchronous replication. Note that, when any of the processes of S605 and S606 is performed, the process returns to the detection process of storing update data in the update data holding area 311 in S601 as soon as the process is completed.
  • the transmission timing determination unit 302 includes the address targeted for the update data in S607 in the synchronization history holding area 321. It is determined whether or not. If the address targeted for the update data is included in the synchronization history holding area 321 (YES in S607), the data transmission unit 303 transmits the update data to the standby system 12 in S609. On the other hand, if the address targeted for the update data is not included in the synchronization history holding area 321 (NO in S607), the transmission timing determination unit 302 sets the address targeted for the update data in the synchronization history holding area 321 in S608. In addition, the data transmission unit 303 transmits the update data to the standby system 12 in S609. Note that the transmission of update data in S609 is transmission in synchronous replication.
  • the transmission timing determination unit 302 confirms whether update data exists in the update data holding area 311 in S610. If the update data exists in the update data holding area 311 (YES in S610), the process returns to S602. If there is no update data in the update data holding area 311 (NO in S610), the data transmission unit 303 confirms whether there is update data in the transmission suspension area 331 in S611.
  • the data transmission unit 303 extracts the update data from the transmission suspension area 331 in S612. In step S613, the data transmission unit 303 determines whether update data overlapping with the update data extracted in step S612 has been transmitted to the standby system 12. For example, when transmitting update data in S609, the data transmission unit 303 stores the address of the update data to be transmitted in a predetermined storage area, and the same address as the update data address extracted in S612 is stored in the storage area. If stored, it can be determined that duplicate update data (update data of a later generation) has already been transmitted to the standby system 12.
  • the process returns to S611.
  • the data transmission unit 303 transmits the update data extracted in S612 to the standby system 12. Then, the data transmission unit 303 transmits all the update data in the transmission suspension area 331 to the standby system 12 by repeating S611 to S614.
  • the data transmission unit 303 transmits a synchronization execution command to the standby system in S613.
  • the control unit 304 temporarily stops the processing of the synchronization processing unit 211 in S614.
  • the synchronization processing unit 211 is in a state in which a synchronization completion notification from the standby system 12 can be input.
  • a series of operations of the synchronization processing unit 211 during synchronization execution in the active system 11 is completed.
  • the update data for which YES is determined in S604 is not transmitted to the standby system 12, but is stored in the transmission suspension area 331, thereby reducing the frequency of transmission by asynchronous replication (S605).
  • the update data that becomes NO in S603 is update data of the virtual CPU register and the virtual memory, and is asynchronous target data that is a target of asynchronous replication.
  • the virtual CPU register and virtual memory update data address generated together with the virtual I / O device update data are also held (S 608). ). If the address of the update data that is NO in S603 is included in the synchronization history holding area 321 (YES in S604), the update data of the previous generation of this update data (update data generated in the past update) ) Is generated together with the update data of the virtual I / O device.
  • update data of a later generation of update data that has become YES in S604 (update data generated at a later update) is generated together with update data of the virtual I / O device.
  • update data (generation 0) for address 100 in the virtual memory is generated at 0:00
  • the generation of the update data (generation 0) and the generation of update data for the virtual I / O device are at the same timing.
  • the virtual memory address 100 is added to the synchronization history holding area 321.
  • the update data (generation 0) and the virtual I / O device update data are transmitted to the standby system 12 in step S609.
  • update data (generation 1) is generated at 0:01 for address 100 of the virtual memory without synchronizing with the update data of the virtual I / O device
  • the update data (generation 1) is determined in step S606.
  • update data (generation 0) for address 100 in the virtual memory is generated at 0:02, and the generation of this update data (generation 2) and the generation of update data for the virtual I / O device are at the same timing.
  • the update data (generation 2) and the update data of the virtual I / O device are transmitted to the standby system 12 in S609.
  • the update data (generation 1) in the transmission suspension area 331 is not transmitted to the standby system 12 because it is overlapped with the transmitted update data (generation 2) (NO in S612).
  • generation 1 transmission of asynchronous target data is suspended, and the frequency of transmission by asynchronous replication (S605) is reduced.
  • the control unit 304 of the synchronization processing unit 211 when receiving the synchronization completion notification from the standby system 12 in S700, the control unit 304 of the synchronization processing unit 211 outputs an operation resumption notification to the VM execution unit 201 in S701. Thereafter, the transmission timing determination unit 302 starts detection of storage of update data in the update data holding area 311 in S702.
  • the VM execution unit 201 when the VM execution unit 201 receives an operation resumption notification from the synchronization processing unit 211 in S703, the VM execution unit 201 updates the state of the virtual device according to the update data before stopping the VM processing in S704. When the update is completed, the VM operation is restarted in S705.
  • the control unit 304 receives data from the active system 11 in S800, and determines in S801 whether the received data is virtual device update data. If the received data is update data (YES in S801), the control unit 304 stores the update data in the update data holding area 311 in S808, and resumes data reception processing from the active system 11 in S809. To do.
  • the control unit 304 determines in S802 whether the received data is a synchronous execution command. If the received data is not a synchronous execution command (NO in S802), the control unit 304 executes processing according to the command content in S803. On the other hand, if the received data is a synchronization execution command (YES in S802), the data transmission unit 303 transmits a synchronization completion notification to the active system 11 in S804. Next, the control unit 304 extracts the update data from the update data holding area 311 in S805, and applies the update to the virtual device in S806 according to the update data.
  • step S807 the control unit 304 determines whether update data exists in the update data holding area 311. If the update data exists, the control unit 304 returns to step S805 to transfer all the update data included in the update data holding area 311 to virtual devices. The process is repeated until the application of is completed. When the application of all the update data in the update data holding area 311 is completed, the data reception process from the active system 11 is resumed in S809, and a series of processes at the time of synchronization execution is completed.
  • the failure detection unit 301 detects a failure of the active system 11 in S900. If a failure is detected, the control unit 304 discards the update data in the update data holding area 311 in S901, and transmits an operation resumption notification to the VM execution unit 202 in S902. When the above processing is completed, the control unit 304 ends all the synchronization processing in S903.
  • the VM execution unit updates the state of the virtual device by the OS or application on the VM by the synchronization processing unit having the update data holding area and the synchronization history holding area separately from the VM execution unit.
  • update data transmission processing and update data transmission suspension processing to the standby system are possible.
  • update data is transmitted in advance to shorten the synchronous processing time, thereby compensating for the decrease in VM processing performance due to an increase in the stop time, which is a drawback of synchronous replication. It is possible to make use of system switching without loss of information when a failure occurs, which is an advantage of replication.
  • the I / O performance required by the user is realized by reducing the time to wait for the VM user in synchronous replication, and restoration is performed without loss of data when a failure occurs. Therefore, higher reliability can be achieved compared to the asynchronous type.
  • An active physical computer that operates a synchronization source VM in VM synchronization, and a standby physical computer that operates a synchronization destination VM in VM synchronization;
  • the VM includes a VM execution unit that executes processing of an OS and an application operating on the VM, and a synchronization processing unit that executes VM synchronization processing,
  • An update data holding area that temporarily holds update data transmitted and received for VM synchronization, a synchronization history holding area that holds a history of update data application locations at the time of past update requests, and update data
  • the transmission hold area that holds the update data that has been determined to be held pending by matching the update application location described in the synchronization history holding area for the update data added to the holding area, and the active physical computer or standby physical Provided with a fault detection unit that detects faults in the computer,
  • the synchronization source VM sends update data for VM synchronization by executing an OS or application
  • the update data is stored in the history by referring to and
  • the memory synchronization system including the synchronization processing unit that reduces the time for stopping the synchronization source VM for synchronization by reducing the amount of update data to be transmitted after synchronization execution has been described.
  • FIG. 10 is a diagram illustrating an example of hardware resources of the active data processing device 11 and the standby data processing device 12 according to the present embodiment.
  • the configuration in FIG. 10 is merely an example of the hardware configuration of the active data processing device 11 and the standby data processing device 12, and the active data processing device 11 and the standby data processing device.
  • the hardware configuration of 12 is not limited to the configuration illustrated in FIG. 10, and may be another configuration.
  • the active data processing apparatus 11 and the standby data processing apparatus 12 include a CPU 911 (also referred to as a processor, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, or a microcomputer) that executes a program.
  • the CPU 911 corresponds to the physical CPU 101 and the physical CPU 121 in FIG.
  • the CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM 914, a NIC 915, a display device 901, a keyboard 902, a mouse 903, a magnetic disk device 920, and a scanner device 907 via a bus 912, and these hardware devices.
  • ROM Read Only Memory
  • the RAM 914 corresponds to the physical memory 102 and the physical memory 122 of FIG.
  • the magnetic disk device 920 corresponds to the physical disk 103 and the physical disk 123 of FIG.
  • the NIC 915 corresponds to the physical NIC 104 and the physical NIC 124 in FIG.
  • the CPU 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), and a printer device 906.
  • FDD 904 Flexible Disk Drive
  • CDD compact disk device
  • SSD Solid State Drive
  • the RAM 914 is an example of a volatile memory.
  • the storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device.
  • the NIC 915, the keyboard 902, the mouse 903, the FDD 904, the scanner device 907, and the like are examples of input devices.
  • the NIC 915, the display device 901, the printer device 906, and the like are examples of output devices.
  • the NIC 915 is connected to the LAN.
  • the NIC 915 can be connected to, for example, the Internet, a WAN (Wide Area Network), or the like via a LAN.
  • WAN Wide Area Network
  • the magnetic disk device 920 stores a virtual machine monitor 921, a host OS 922, a program group 923, and a file group 924. Also, the OS / application 221 and the OS / application 222 in FIG. 1 are included in the program group 923. The virtual machine monitor 921, the host OS 922, and the program group 923 are executed by the CPU 911.
  • the file group 924 includes “determination”, “determination”, “determination”, “change of”, “input of”, and “output” in the description of this embodiment. ”,“ Receiving ”,“ Transmission ”, etc.
  • Information, data, signal values, variable values, and parameters that indicate the results of the processing are displayed as“ ⁇ File ”and“ ⁇ Database ”items. It is remembered.
  • the “ ⁇ file” and “ ⁇ database” are stored in a recording medium such as a disk or a memory.
  • Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated.
  • Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
  • the arrows in the flowchart described in this embodiment mainly indicate input / output of data and signals, and the data and signal values are the RAM 914 memory, the FDD904 flexible disk, the CDD905 compact disk, and the magnetic disk device. 920 magnetic disks, other optical disks, Blu-ray (registered trademark) disks, DVDs, and other recording media. Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.
  • the active data processing device 11 and the standby data processing device 12 shown in the present embodiment are output devices such as a CPU as a processing device, a memory as a storage device, a magnetic disk, a keyboard as an input device, a mouse, a NIC, and the like.
  • a computer including a display device, a NIC, and the like, and implements the functions in the virtual computer 2001 and the virtual computer 2002 using these processing devices, storage devices, input devices, and output devices.
  • the data processing method according to the present invention can be realized by the operations of the active data processing apparatus 11 and the standby data processing apparatus 12 described in the present embodiment.
  • 11 active data processing device, 12 standby data processing device, 101 physical CPU, 102 physical memory, 103 physical disk, 104 physical NIC, 105 virtual CPU, 106 virtual memory, 107 virtual disk, 108 virtual NIC, 121 physical CPU, 122 physical memory, 123 physical disk, 124 physical NIC, 125 virtual CPU, 126 virtual memory, 127 virtual disk, 128 virtual NIC, 141 LAN, 201 VM execution unit, 202 VM execution unit, 211 synchronization processing unit, 212 synchronization Processing unit, 301 failure detection unit, 302 transmission timing determination unit, 303 data transmission unit, 311 update data holding area, 321 synchronization history holding area, 331 transmission hold area, 1001 physical computer, 1002 Management computer, 2001 virtual machine, 2002 virtual machine.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

When asynchronous target data which is to be asynchronously replicated is generated, a synchronization processing unit (211) of a data processing device (11) of a system currently in use determines whether to defer the transmission, to a data processing device (12) of a standby system, of the asynchronous target data that has been generated, and stores asynchronous target data the transmission of which to the data processing device (12) of the standby system has been deferred. When synchronous target data which is to be synchronously replicated is generated, the synchronous processing unit (211) of the data processing device (11) of the system currently in use transmits the synchronous target data that has been generated, and the asynchronous target data, the transmission of which has been deferred, to the data processing device (12) of the standby system by means of synchronous replication.

Description

データ処理装置及びデータ処理方法及びプログラムData processing apparatus, data processing method, and program
 本発明は、冗長構成のデータ処理システムにおけるレプリケーション技術に関する。 The present invention relates to a replication technique in a data processing system having a redundant configuration.
 従来のデータ処理システムでは、ハードウェアを現用系と待機系という二重構成にし、各系で動作する仮想計算機(VM)のCPUレジスタやメモリ、ディスクの内容を同期することでフォールトトレラントを達成していた。
 このようなVMの同期方式として、VMのディスクやネットワークのI/O(Input/Out)といった処理内容に応じて同期タイミングを決定する同期式レプリケーション(例えば、非特許文献1)や、VMの処理内容に依存せず、一定時間で同期を行う非同期式レプリケーション(例えば、非特許文献2)がある。
In the conventional data processing system, fault tolerance is achieved by making the hardware a dual configuration of active and standby systems, and synchronizing the contents of the CPU registers, memory, and disk of the virtual machine (VM) running on each system. It was.
As such a VM synchronization method, synchronous replication (for example, Non-Patent Document 1) for determining synchronization timing according to processing contents such as VM disk and network I / O (Input / Out), and VM processing There is asynchronous replication (for example, Non-Patent Document 2) in which synchronization is performed in a fixed time without depending on the contents.
 同期式レプリケーションは、現用系から待機系にデータを送信する際に、現用系の処理を一時的に停止してから現用系から待機系にデータを送信し、待機系からデータを受信した旨の通知があったときに現用系の処理を再開するという方式である。
 同期式レプリケーションは、現用系のデータが待機系に確実に反映されるので信頼性は高いが、現用系の処理が再開するまでに長時間を要する。
 一方、非同期式レプリケーションは、現用系の処理を停止することなく、現用系のデータを一方的に待機系に送信するという方式である。
 非同期式レプリケーションは、現用系の処理を継続させることができるので処理効率は高いが、現用系のデータが待機系に届いていない可能性があるため、同期式レプリケーションに比べると信頼性が低い。
In synchronous replication, when data is transmitted from the active system to the standby system, the processing of the active system is temporarily stopped, data is transmitted from the active system to the standby system, and data is received from the standby system. This is a method of restarting the active process when notified.
Synchronous replication is highly reliable because the data in the active system is reliably reflected in the standby system, but it takes a long time for the processing in the active system to resume.
On the other hand, asynchronous replication is a method in which the active data is unilaterally transmitted to the standby system without stopping the active process.
Asynchronous replication is high in processing efficiency because it can continue processing in the active system, but is less reliable than synchronous replication because the data in the active system may not reach the standby system.
 このような同期方式は、データベースにおける冗長化において頻繁に利用されている。
 例えば、同期式レプリケーションは特許文献1で利用されており、非同期式レプリケーションは特許文献2で利用されている。
 データベースにおける冗長化では、データベースの更新の頻度はVMにおけるCPUレジスタやメモリの更新の頻度に比べて低いため、同期式レプリケーションが広く用いられている。
 一方、VMの冗長化では、VMのCPUレジスタやメモリの更新頻度が高いため、同期式レプリケーションを適用すると現用系の処理が一時停止するため、VMの動作に致命的な影響を与えてしまう。
 このため、VMの冗長化では、信頼性を多少犠牲にするが性能の高い非同期式レプリケーションが用いられてきた。
Such a synchronization method is frequently used for redundancy in a database.
For example, synchronous replication is used in Patent Document 1, and asynchronous replication is used in Patent Document 2.
In database redundancy, since the frequency of database updates is lower than the frequency of CPU register and memory updates in VMs, synchronous replication is widely used.
On the other hand, in the VM redundancy, since the frequency of updating the CPU register and memory of the VM is high, if the synchronous replication is applied, the processing of the active system is temporarily stopped, which has a fatal effect on the operation of the VM.
For this reason, in the redundancy of VMs, asynchronous replication with high performance has been used at the expense of some reliability.
特開2011-039733号公報JP 2011-039733 A 国際公開2011-111131International Publication 2011-111131
 従来のVMのCPUレジスタやメモリ、ディスクの同期に同期式レプリケーションを用いる場合は、I/O処理を契機に同期を実行するため、I/O処理が完了するまで(つまり同期が完了するまで)の長い間VMのユーザを待たせることになる。
 これを回避するために、非同期式レプリケーションを用いた同期が利用されてきたが、同期式レプリケーションに比べ信頼性が低く、障害発生時に正確にデータを復元できない可能性がある。
When using synchronous replication to synchronize the CPU registers, memory, and disks of a conventional VM, synchronization is executed in response to I / O processing, so until I / O processing is completed (that is, until synchronization is completed). This makes the VM user wait for a long time.
In order to avoid this, synchronization using asynchronous replication has been used, but the reliability is lower than that of synchronous replication, and there is a possibility that data cannot be accurately restored when a failure occurs.
 この発明は、上記のような課題を解決することを主な目的としており、レプリケーションによる待機時間を抑制しながら、高い信頼性を実現することを主な目的とする。 This invention mainly aims to solve the above-described problems, and mainly aims to realize high reliability while suppressing standby time due to replication.
 本発明に係るデータ処理装置は、
 冗長構成のデータ処理システムで現用系として動作し、
 データ処理を一時停止して前記冗長構成のデータ処理システムの待機系のデータ処理装置にデータを送信する同期式レプリケーションと、データ処理を継続させたまま前記待機系のデータ処理装置にデータを送信する非同期式レプリケーションとを行うデータ処理装置であって、
 前記非同期式レプリケーションの対象となる非同期対象データが生成された際に、生成された非同期対象データの前記待機系のデータ処理装置への送信を保留するか否かを決定する送信タイミング決定部と、
 前記送信タイミング決定部により前記待機系のデータ処理装置への送信を保留すると決定された非同期対象データを記憶する保留データ記憶部と、
 前記同期式レプリケーションの対象となる同期対象データが生成された際に、生成された同期対象データと、前記保留データ記憶部に記憶されている非同期対象データとを、前記同期式レプリケーションによって前記待機系のデータ処理装置に送信するデータ送信部とを有することを特徴とする。
The data processing apparatus according to the present invention
Operates as an active system in a redundant data processing system,
Synchronous replication that temporarily stops data processing and transmits data to the standby data processing device of the redundant data processing system, and transmits data to the standby data processing device while continuing the data processing A data processing apparatus that performs asynchronous replication,
A transmission timing determination unit that determines whether or not to defer transmission of the generated asynchronous target data to the standby data processing device when the asynchronous target data to be subjected to the asynchronous replication is generated;
A hold data storage unit that stores asynchronous target data determined to hold transmission to the standby data processing device by the transmission timing determination unit;
When the synchronization target data that is the target of the synchronous replication is generated, the generated synchronization target data and the asynchronous target data stored in the reserved data storage unit are converted into the standby system by the synchronous replication. And a data transmission unit for transmission to the data processing apparatus.
 本発明では、同期式レプリケーションを行うことにより高い信頼性を実現することができる。
 また、非同期対象データの送信を保留し、送信を保留した非同期対象データを同期対象データとともに同期式レプリケーションによって送信するため、非同期式レプリケーションによって生じる同期式レプリケーションの開始の遅延を回避することができ、レプリケーションによる待機時間を抑えることができる。
In the present invention, high reliability can be realized by performing synchronous replication.
In addition, because the asynchronous target data is suspended and the asynchronous target data that has been suspended is transmitted together with the synchronous target data by synchronous replication, the delay in starting synchronous replication caused by asynchronous replication can be avoided. The waiting time due to replication can be reduced.
実施の形態1に係るデータ処理システムの構成例を示す図。1 is a diagram illustrating a configuration example of a data processing system according to Embodiment 1. FIG. 実施の形態1に係る同期処理部の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a synchronization processing unit according to the first embodiment. 実施の形態1に係る現用系のVM実行部の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of an active VM execution unit according to the first embodiment. 実施の形態1に係る現用系の同期処理部の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of a working synchronization processing unit according to the first embodiment. 実施の形態1に係る現用系の同期処理部の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of a working synchronization processing unit according to the first embodiment. 実施の形態1に係る現用系の同期処理部の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of a working synchronization processing unit according to the first embodiment. 実施の形態1に係る現用系のVM実行部の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of an active VM execution unit according to the first embodiment. 実施の形態1に係る待機系の同期処理部の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of a standby synchronization processing unit according to the first embodiment. 実施の形態1に係る待機系の同期処理部の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of a standby synchronization processing unit according to the first embodiment. 実施の形態1に係るデータ処理装置のハードウェア構成例を示す図。FIG. 3 is a diagram illustrating a hardware configuration example of the data processing device according to the first embodiment.
 実施の形態1.
 本実施の形態では、同期式レプリケーションと非同期式レプリケーションを併用するデータ処理システムを説明する。
 本実施の形態では、I/Oデバイスの更新データは同期式レプリケーションにより現用系のデータ処理装置から待機系のデータ処理装置に送信する。
 I/Oデバイス以外のCPUレジスタやメモリの更新データは非同期式レプリケーションにより現用系のデータ処理装置から待機系のデータ処理装置に送信する。
 同期式レプリケーションの対象となるデータを同期対象データともいい、非同期式レプリケーションの対象となるデータを非同期対象データともいう。
 非同期式レプリケーションの対象となる非同期対象データは、CPUレジスタのデータやメモリのデータであるため、頻繁に更新され、このため、非同期式レプリケーションが頻発する。
 非同期式レプリケーションが頻発すると、I/Oデバイスのデータ更新が発生した際に非同期対象データの送信が完了していないという事態が生じ得る。
 この場合は、送信待ちとなっている非同期対象データの送信が完了しないと同期式レプリケーションによるデータ送信は開始されない。
 このように、非同期式レプリケーションが頻発すると、同期式レプリケーションの開始が遅延し、この結果、同期式レプリケーションが完了するまでに長時間を要し、ユーザを長時間待たせることになる。
Embodiment 1 FIG.
In this embodiment, a data processing system that uses both synchronous replication and asynchronous replication will be described.
In this embodiment, the update data of the I / O device is transmitted from the active data processing apparatus to the standby data processing apparatus by synchronous replication.
Update data of CPU registers and memories other than I / O devices is transmitted from the active data processing device to the standby data processing device by asynchronous replication.
Data targeted for synchronous replication is also referred to as synchronization target data, and data targeted for asynchronous replication is also referred to as asynchronous target data.
Asynchronous target data to be subjected to asynchronous replication is data in the CPU register and memory, and is therefore frequently updated. As a result, asynchronous replication frequently occurs.
If asynchronous replication occurs frequently, a situation may occur in which transmission of asynchronous target data is not completed when data update of an I / O device occurs.
In this case, data transmission by synchronous replication is not started unless transmission of asynchronous target data waiting for transmission is completed.
As described above, if asynchronous replication occurs frequently, the start of synchronous replication is delayed, and as a result, it takes a long time to complete synchronous replication, which causes the user to wait for a long time.
 本実施の形態では、所定の条件に合致する非同期対象データの送信を留保し、送信を保留した非同期対象データを同期対象データとともに同期式レプリケーションによって送信する。
 これにより、非同期式レプリケーションの実行頻度及び1回の非同期式レプリケーションで送信する非同期対象データのデータ量を抑えることができ、同期対象データが発生した際に非同期対象データの送信が完了しないという事態を回避することができる。
 この結果、同期式レプリケーションの開始の遅延を回避することができ、レプリケーションによる待機時間を抑えることができる。
In the present embodiment, transmission of asynchronous target data that meets a predetermined condition is reserved, and asynchronous target data whose transmission is suspended is transmitted together with synchronization target data by synchronous replication.
As a result, the frequency of execution of asynchronous replication and the amount of asynchronous target data to be transmitted in one asynchronous replication can be suppressed, and the transmission of asynchronous target data is not completed when synchronous target data occurs. It can be avoided.
As a result, delay in starting synchronous replication can be avoided, and standby time due to replication can be suppressed.
 図1は、本実施の形態に係る冗長構成のデータ処理システムの構成例を示す。 FIG. 1 shows a configuration example of a redundant data processing system according to the present embodiment.
 図1に示すように、本実施の形態に係る冗長構成のデータ処理システムは、現用系のデータ処理装置11と待機系のデータ処理装置12で構成される。
 なお、以下では、現用系のデータ処理装置11を現用系11とも表記し、待機系のデータ処理装置12を待機系12とも表記する。
 現用系の物理計算機1001と待機系の物理計算機1002はLAN(Local Area Network)141によって接続されている。
 現用系のデータ処理装置11と待機系のデータ処理装置12は、同一の構成である。
 以下では、代表して現用系のデータ処理装置11の構成を説明する。
As shown in FIG. 1, the redundant data processing system according to the present embodiment includes an active data processing device 11 and a standby data processing device 12.
In the following description, the active data processing apparatus 11 is also referred to as the active system 11, and the standby data processing apparatus 12 is also referred to as the standby system 12.
The active physical computer 1001 and the standby physical computer 1002 are connected by a LAN (Local Area Network) 141.
The active data processing device 11 and the standby data processing device 12 have the same configuration.
In the following, the configuration of the active data processing apparatus 11 will be described as a representative.
 物理計算機1001は、物理CPU101、物理メモリ102、物理ディスク103、物理NIC(Network Interface Card)104といったハードウェアで構成される。
 物理計算機1001上で仮想計算機2001が動作する。
 仮想計算機2001は、仮想デバイスとして仮想CPU105、仮想メモリ106、仮想ディスク107、仮想NIC108を有している。
 これら仮想CPU105、仮想メモリ106、仮想ディスク107、仮想NIC108は、それぞれ物理CPU101、物理メモリ102、物理ディスク103、物理NIC104をエミュレートするプログラムで実現されている。
 また、仮想計算機2001は、処理・制御手段としてVM実行部201と同期処理部211を有している。
 VM実行部201と同期処理部211は、例えば、仮想マシンモニタにより実現される。
 また、仮想計算機2001には、アプリケーションプログラム及びOS(Operating System)が含まれる。
 なお、アプリケーションプログラムは、アプリケーションともいう。
 なお、本実施の形態では、OSとアプリケーションを区別する必要がないので、両者を合わせてOS/アプリケーション221と表記する。
The physical computer 1001 includes hardware such as a physical CPU 101, a physical memory 102, a physical disk 103, and a physical NIC (Network Interface Card) 104.
A virtual machine 2001 operates on the physical machine 1001.
The virtual computer 2001 includes a virtual CPU 105, a virtual memory 106, a virtual disk 107, and a virtual NIC 108 as virtual devices.
The virtual CPU 105, virtual memory 106, virtual disk 107, and virtual NIC 108 are realized by programs that emulate the physical CPU 101, physical memory 102, physical disk 103, and physical NIC 104, respectively.
Further, the virtual machine 2001 includes a VM execution unit 201 and a synchronization processing unit 211 as processing / control means.
The VM execution unit 201 and the synchronization processing unit 211 are realized by a virtual machine monitor, for example.
In addition, the virtual machine 2001 includes an application program and an OS (Operating System).
The application program is also called an application.
In the present embodiment, it is not necessary to distinguish between the OS and the application, and therefore, they are collectively referred to as OS / application 221.
 図2は、同期処理部211及び同期処理部212の構成例を示す。 FIG. 2 shows a configuration example of the synchronization processing unit 211 and the synchronization processing unit 212.
 障害検出部301は、他方のデータ処理装置の障害を検出する。 The failure detection unit 301 detects a failure of the other data processing apparatus.
 送信タイミング決定部302は、非同期対象データの送信タイミングを決定する。
 具体的には、現用系のデータ処理装置11において、OS/アプリケーション221により非同期対象データが生成された際に、送信タイミング決定部302が、生成された非同期対象データの待機系12への送信を保留するか、即座に非同期式レプリケーションにより待機系12に送信するかを決定する。
The transmission timing determination unit 302 determines the transmission timing of the asynchronous target data.
Specifically, in the active data processing apparatus 11, when the asynchronous target data is generated by the OS / application 221, the transmission timing determination unit 302 transmits the generated asynchronous target data to the standby system 12. It is decided whether to hold or immediately send to the standby system 12 by asynchronous replication.
 データ送信部303は、同期対象データ及び非同期対象データを送信する。
 具体的には、現用系のデータ処理装置11において、データ送信部303が同期対象データ及び非同期対象データを待機系12に送信する。
 同期対象データ及び非同期対象データの待機系12への送信は、物理NIC104とLAN141とを介して行われる。
The data transmission unit 303 transmits synchronization target data and asynchronous target data.
Specifically, in the active data processing apparatus 11, the data transmission unit 303 transmits synchronization target data and asynchronous target data to the standby system 12.
Transmission of synchronization target data and asynchronous target data to the standby system 12 is performed via the physical NIC 104 and the LAN 141.
 制御部304は、送信タイミング決定部302及びデータ送信部303の動作以外の動作を行う。 The control unit 304 performs operations other than the operations of the transmission timing determination unit 302 and the data transmission unit 303.
 更新データ保持領域311は、更新データを一時的に保持する。 The update data holding area 311 temporarily holds update data.
 同期履歴保持領域321は、同期対象データとともに生成された非同期対象データの属性(具体的にはアドレス)を保持する。
 前述の送信タイミング決定部302は、生成された非同期対象データのアドレス(仮想CPUレジスタのアドレスや仮想メモリ106のアドレス)が、同期履歴保持領域321に保持されているアドレスと一致する場合に、非同期対象データの送信を保留する。
 なお、同期履歴保持領域321は、属性記憶部の例に相当する。
The synchronization history holding area 321 holds the attribute (specifically, address) of the asynchronous target data generated together with the synchronization target data.
The transmission timing determination unit 302 described above is asynchronous when the address of the generated asynchronous target data (the address of the virtual CPU register or the address of the virtual memory 106) matches the address held in the synchronization history holding area 321. Suspend transmission of the target data.
The synchronization history holding area 321 corresponds to an example of an attribute storage unit.
 送信保留領域331は、送信タイミング決定部302により送信が保留された非同期対象データを一時的に保持する。
 送信保留領域331は、保留データ記憶部の例に相当する。
The transmission hold area 331 temporarily holds asynchronous target data whose transmission is held by the transmission timing determination unit 302.
The transmission hold area 331 corresponds to an example of a hold data storage unit.
 次に、本実施の形態に係る現用系のデータ処理装置11及び待機系のデータ処理装置12の動作を説明する。
 以下では、同期実行時における現用系11のVM実行部201の動作、現用系11の同期処理部211の動作、待機系12の同期処理部212の動作を、それぞれ説明する。
Next, operations of the active data processing apparatus 11 and the standby data processing apparatus 12 according to the present embodiment will be described.
Hereinafter, the operation of the VM execution unit 201 of the active system 11, the operation of the synchronization processing unit 211 of the active system 11, and the operation of the synchronization processing unit 212 of the standby system 12 at the time of synchronization execution will be described.
 はじめに、同期実行時における現用系11のVM実行部201の動作について説明する(図3)。 First, the operation of the VM execution unit 201 of the active system 11 during synchronous execution will be described (FIG. 3).
 現用系11では、S500において、VM実行部201が、OS/アプリケーション221から任意の仮想デバイスへの更新データを入力する。
 VM実行部201は、S501において、入力した更新データに仮想I/Oデバイス(仮想ディスク107又は仮想NIC108)への更新データが含まれるかを判断する。
In the active system 11, in S500, the VM execution unit 201 inputs update data from the OS / application 221 to an arbitrary virtual device.
In S501, the VM execution unit 201 determines whether the input update data includes update data for the virtual I / O device (virtual disk 107 or virtual NIC 108).
 入力した更新データに仮想I/Oデバイスへの更新データが含まれる場合(S501でYES)は、VM実行部201は、S505において、更新データに同期要求フラグを付帯し、同期要求フラグが付帯された更新データを更新データ保持領域311に格納する。
 S500において複数の更新データを入力している場合は、すべての更新データに同期要求フラグを付帯し、更新データ保持領域311に格納する。
 すべての更新データが更新データ保持領域311に格納されたら、VM実行部201は、S506において、OS/アプリケーション221の処理を一時停止し、また、自身(VM実行部201)の処理も一時停止する。
 但し、VM実行部201は、同期処理部211から、後述する動作再開通知は入力できる状態にはなっている。
If the input update data includes update data for the virtual I / O device (YES in S501), the VM execution unit 201 attaches a synchronization request flag to the update data and adds a synchronization request flag in S505. The updated data is stored in the update data holding area 311.
When a plurality of update data are input in S500, a synchronization request flag is attached to all the update data and stored in the update data holding area 311.
When all the update data is stored in the update data holding area 311, the VM execution unit 201 suspends the processing of the OS / application 221 in S <b> 506 and also suspends the processing of itself (the VM execution unit 201). .
However, the VM execution unit 201 is ready to input an operation resumption notification described later from the synchronization processing unit 211.
 一方、S501の判断において、入力した更新データに仮想I/Oデバイスへの更新データが含まれない場合(S501でNO)は、VM実行部201は、S502にてすべての更新データを更新データ保持領域311に格納する。
 そして、すべての更新データを更新データ保持領域311に格納し終えたなら、VM実行部201は、S503において仮想デバイスの状態を更新データの通りに更新する。
 その後、S504によってVM実行部201は、OS/アプリケーション221を含むVMの動作を継続させる。
On the other hand, if it is determined in S501 that the input update data does not include update data for the virtual I / O device (NO in S501), the VM execution unit 201 holds all the update data in S502. Store in area 311.
When all the update data has been stored in the update data holding area 311, the VM execution unit 201 updates the state of the virtual device according to the update data in S <b> 503.
Thereafter, in S504, the VM execution unit 201 continues the operation of the VM including the OS / application 221.
 次に、同期実行時における現用系11の同期処理部211の動作について説明する(図4、図5)。 Next, the operation of the synchronization processing unit 211 of the active system 11 during synchronization execution will be described (FIGS. 4 and 5).
 OS/アプリケーション221が仮想デバイスの更新データを発行すると、同期処理部211の送信タイミング決定部302が、S601にて更新データ保持領域311への更新データの格納を検知する。
 送信タイミング決定部302は、S602にて更新データ保持領域311から更新データを1つ取り出す。
 次に、送信タイミング決定部302は、S603にて、取り出した更新データに同期要求フラグが付帯されているか否かを判定する。
When the OS / application 221 issues virtual device update data, the transmission timing determination unit 302 of the synchronization processing unit 211 detects storage of the update data in the update data holding area 311 in step S601.
The transmission timing determination unit 302 extracts one update data from the update data holding area 311 in S602.
Next, in S603, the transmission timing determination unit 302 determines whether or not a synchronization request flag is attached to the extracted update data.
 更新データに同期要求フラグが付帯されていないのであれば(S603でNO)、送信タイミング決定部302は、S604において更新データが対象とするアドレスが同期履歴保持領域321に含まれているか判定する。
 更新データが対象とするアドレスが同期履歴保持領域321に含まれている場合(S604でYES)は、送信タイミング決定部302は、S606にて送信保留領域331に更新データを格納する。
 一方で、更新データが対象とするアドレスが同期履歴保持領域321に含まれていなければ(S604でNO)、S605にて、データ送信部303が、更新データを待機系12に送信する。
 S605の送信は、非同期式レプリケーションによる送信である。
 なお、S605及びS606のいずれの処理が行われた場合も、処理が完了次第、S601における更新データ保持領域311への更新データの格納の検知処理に戻る。
If the synchronization request flag is not attached to the update data (NO in S603), the transmission timing determination unit 302 determines whether the synchronization history holding area 321 includes the address targeted by the update data in S604.
When the address targeted for the update data is included in the synchronization history holding area 321 (YES in S604), the transmission timing determination unit 302 stores the update data in the transmission hold area 331 in S606.
On the other hand, if the address targeted for the update data is not included in the synchronization history holding area 321 (NO in S604), the data transmission unit 303 transmits the update data to the standby system 12 in S605.
The transmission in S605 is transmission by asynchronous replication.
Note that, when any of the processes of S605 and S606 is performed, the process returns to the detection process of storing update data in the update data holding area 311 in S601 as soon as the process is completed.
 一方、S603の判定においてYESの場合、つまり、更新データに同期要求フラグが付帯されていれば、送信タイミング決定部302は、S607において更新データが対象とするアドレスが同期履歴保持領域321に含まれているか否かを判定する。
 更新データが対象とするアドレスが同期履歴保持領域321に含まれていれば(S607でYES)、データ送信部303が、S609において更新データを待機系12に送信する。
 一方、更新データが対象とするアドレスが同期履歴保持領域321に含まれていなければ(S607でNO)、送信タイミング決定部302がS608にて更新データが対象とするアドレスを同期履歴保持領域321に追記し、データ送信部303がS609で更新データを待機系12に送信する。
 なお、S609での更新データの送信は、同期式レプリケーションにおける送信である。
On the other hand, if YES in the determination of S603, that is, if a synchronization request flag is attached to the update data, the transmission timing determination unit 302 includes the address targeted for the update data in S607 in the synchronization history holding area 321. It is determined whether or not.
If the address targeted for the update data is included in the synchronization history holding area 321 (YES in S607), the data transmission unit 303 transmits the update data to the standby system 12 in S609.
On the other hand, if the address targeted for the update data is not included in the synchronization history holding area 321 (NO in S607), the transmission timing determination unit 302 sets the address targeted for the update data in the synchronization history holding area 321 in S608. In addition, the data transmission unit 303 transmits the update data to the standby system 12 in S609.
Note that the transmission of update data in S609 is transmission in synchronous replication.
 S609における更新データの送信の後、送信タイミング決定部302が、S610にて更新データ保持領域311に更新データが存在するか確認する。
 更新データが更新データ保持領域311に存在するのであれば(S610でYES)、S602の処理に戻る。
 更新データ保持領域311に更新データが存在しない場合(S610でNO)は、データ送信部303が、S611にて送信保留領域331に更新データがあるか確認する。
After transmission of the update data in S609, the transmission timing determination unit 302 confirms whether update data exists in the update data holding area 311 in S610.
If the update data exists in the update data holding area 311 (YES in S610), the process returns to S602.
If there is no update data in the update data holding area 311 (NO in S610), the data transmission unit 303 confirms whether there is update data in the transmission suspension area 331 in S611.
 送信保留領域331に更新データがあれば(S611でYES)、データ送信部303は、S612にて更新データを送信保留領域331から取り出す。
 そして、データ送信部303は、S613にて、S612で取り出した更新データと重複する更新データを待機系12に送信済みかどうかを判定する。
 例えば、S609で更新データを送信する際に、データ送信部303は送信する更新データのアドレスを所定の記憶領域に記憶しておき、S612で取り出した更新データのアドレスと同じアドレスが前記記憶領域に記憶されていれば、重複した更新データ(より後の世代の更新データ)が既に待機系12に送信されていると判断することができる。
 S612で取り出した更新データと重複する更新データが待機系12に送信済みであれば(S613でYES)、処理をS611に戻す。
 一方、S612で取り出した更新データと重複する更新データの送信実績がない場合(S613でNO)は、データ送信部303が、S612で取り出した更新データを待機系12に送信する。
 そして、データ送信部303は、S611~S614を繰り返すことで送信保留領域331のすべての更新データを待機系12に送信する。
If there is update data in the transmission suspension area 331 (YES in S611), the data transmission unit 303 extracts the update data from the transmission suspension area 331 in S612.
In step S613, the data transmission unit 303 determines whether update data overlapping with the update data extracted in step S612 has been transmitted to the standby system 12.
For example, when transmitting update data in S609, the data transmission unit 303 stores the address of the update data to be transmitted in a predetermined storage area, and the same address as the update data address extracted in S612 is stored in the storage area. If stored, it can be determined that duplicate update data (update data of a later generation) has already been transmitted to the standby system 12.
If update data overlapping with the update data extracted in S612 has been transmitted to the standby system 12 (YES in S613), the process returns to S611.
On the other hand, when there is no transmission record of update data that overlaps the update data extracted in S612 (NO in S613), the data transmission unit 303 transmits the update data extracted in S612 to the standby system 12.
Then, the data transmission unit 303 transmits all the update data in the transmission suspension area 331 to the standby system 12 by repeating S611 to S614.
 送信保留領域331に更新データがなくなったら(S611でNO)、データ送信部303は、S613にて同期実行命令を待機系に送信する。
 同期実行命令の送信が完了したら、S614にて、制御部304が、同期処理部211の処理を一時停止する。
 但し、同期処理部211は、待機系12からの同期完了通知を入力できる状態にはなっている。
 以上にて現用系11における同期実行時の同期処理部211の一連の動作が完了する。
When there is no update data in the transmission suspension area 331 (NO in S611), the data transmission unit 303 transmits a synchronization execution command to the standby system in S613.
When the transmission of the synchronization execution command is completed, the control unit 304 temporarily stops the processing of the synchronization processing unit 211 in S614.
However, the synchronization processing unit 211 is in a state in which a synchronization completion notification from the standby system 12 can be input.
Thus, a series of operations of the synchronization processing unit 211 during synchronization execution in the active system 11 is completed.
 本実施の形態では、S604でYESとなった更新データは待機系12に送信せずに、送信保留領域331に格納することで、非同期式レプリケーションによる送信(S605)の頻度を低減している。 In the present embodiment, the update data for which YES is determined in S604 is not transmitted to the standby system 12, but is stored in the transmission suspension area 331, thereby reducing the frequency of transmission by asynchronous replication (S605).
 S603でNOとなった更新データは、仮想CPUレジスタや仮想メモリの更新データであり、非同期式レプリケーションの対象となる非同期対象データである。
 同期履歴保持領域321には、仮想I/Oデバイスの更新データのアドレスの他、仮想I/Oデバイスの更新データとともに生成された仮想CPUレジスタや仮想メモリの更新データのアドレスも保持される(S608)。
 S603でNOとなった更新データのアドレスが同期履歴保持領域321に含まれていれば(S604でYES)、この更新データの前の世代の更新データ(過去の更新の際に生成された更新データ)が仮想I/Oデバイスの更新データとともに生成されていることを意味する。
 このため、S604でYESとなった更新データの後の世代の更新データ(より後の更新の際に生成される更新データ)が、仮想I/Oデバイスの更新データとともに生成される可能性が高い。
 例えば、仮想メモリの100番地についての更新データ(世代0)が0時00分に生成され、この更新データ(世代0)の生成と仮想I/Oデバイスの更新データの生成が同タイミングである場合は、仮想メモリの100番地がS608で同期履歴保持領域321に追加され、この更新データ(世代0)と仮想I/Oデバイスの更新データがS609で待機系12に送信される。
 次に、仮想I/Oデバイスの更新データと同期せずに、仮想メモリの100番地について更新データ(世代1)が0時01分に生成された場合は、更新データ(世代1)はS606で送信保留領域331に格納される。
 その後、仮想メモリの100番地についての更新データ(世代0)が0時02分に生成され、この更新データ(世代2)の生成と仮想I/Oデバイスの更新データの生成が同タイミングである場合は、この更新データ(世代2)と仮想I/Oデバイスの更新データがS609で待機系12に送信される。
 一方、送信保留領域331内の更新データ(世代1)は、送信済みの更新データ(世代2)と重複しているので、待機系12に送信されない(S612でNO)。
 本実施の形態では、このように、非同期対象データの送信を保留して、非同期式レプリケーションによる送信(S605)の頻度を低減している。
The update data that becomes NO in S603 is update data of the virtual CPU register and the virtual memory, and is asynchronous target data that is a target of asynchronous replication.
In the synchronization history holding area 321, in addition to the virtual I / O device update data address, the virtual CPU register and virtual memory update data address generated together with the virtual I / O device update data are also held (S 608). ).
If the address of the update data that is NO in S603 is included in the synchronization history holding area 321 (YES in S604), the update data of the previous generation of this update data (update data generated in the past update) ) Is generated together with the update data of the virtual I / O device.
For this reason, there is a high possibility that update data of a later generation of update data that has become YES in S604 (update data generated at a later update) is generated together with update data of the virtual I / O device. .
For example, when update data (generation 0) for address 100 in the virtual memory is generated at 0:00, the generation of the update data (generation 0) and the generation of update data for the virtual I / O device are at the same timing. In step S608, the virtual memory address 100 is added to the synchronization history holding area 321. The update data (generation 0) and the virtual I / O device update data are transmitted to the standby system 12 in step S609.
Next, when update data (generation 1) is generated at 0:01 for address 100 of the virtual memory without synchronizing with the update data of the virtual I / O device, the update data (generation 1) is determined in step S606. Stored in the transmission suspension area 331.
Thereafter, update data (generation 0) for address 100 in the virtual memory is generated at 0:02, and the generation of this update data (generation 2) and the generation of update data for the virtual I / O device are at the same timing. The update data (generation 2) and the update data of the virtual I / O device are transmitted to the standby system 12 in S609.
On the other hand, the update data (generation 1) in the transmission suspension area 331 is not transmitted to the standby system 12 because it is overlapped with the transmitted update data (generation 2) (NO in S612).
In this embodiment, as described above, transmission of asynchronous target data is suspended, and the frequency of transmission by asynchronous replication (S605) is reduced.
 次に、同期完了通知到着時における現用系11のVM実行部201および同期処理部211の動作について説明する(図6、図7)。 Next, the operations of the VM execution unit 201 and the synchronization processing unit 211 of the active system 11 when the synchronization completion notification arrives will be described (FIGS. 6 and 7).
 同期処理部211の制御部304は、図6に示すように、S700において待機系12から同期完了通知を受信すると、S701にてVM実行部201に動作再開通知を出力する。
 その後、送信タイミング決定部302が、S702にて更新データ保持領域311への更新データの格納の検出を開始する。
As illustrated in FIG. 6, when receiving the synchronization completion notification from the standby system 12 in S700, the control unit 304 of the synchronization processing unit 211 outputs an operation resumption notification to the VM execution unit 201 in S701.
Thereafter, the transmission timing determination unit 302 starts detection of storage of update data in the update data holding area 311 in S702.
 VM実行部201は、図7に示すように、S703において同期処理部211から動作再開通知を入力すると、S704にてVMの処理停止前の更新データに従い、仮想デバイスの状態を更新する。
 更新が完了したら、S705にてVMの動作を再開する。
As illustrated in FIG. 7, when the VM execution unit 201 receives an operation resumption notification from the synchronization processing unit 211 in S703, the VM execution unit 201 updates the state of the virtual device according to the update data before stopping the VM processing in S704.
When the update is completed, the VM operation is restarted in S705.
 次に、待機系12の同期実行時における同期処理部212の動作について説明する(図8)。 Next, the operation of the synchronization processing unit 212 during the synchronization execution of the standby system 12 will be described (FIG. 8).
 待機系12の同期処理部212では、S800において制御部304が現用系11からのデータを受信し、S801において受信データが仮想デバイスの更新データであるか判定する。
 受信データが更新データであるならば(S801でYES)、制御部304は、S808にて更新データを更新データ保持領域311に格納して、S809にて現用系11からのデータの受信処理を再開する。
In the synchronization processing unit 212 of the standby system 12, the control unit 304 receives data from the active system 11 in S800, and determines in S801 whether the received data is virtual device update data.
If the received data is update data (YES in S801), the control unit 304 stores the update data in the update data holding area 311 in S808, and resumes data reception processing from the active system 11 in S809. To do.
 S801における判定にて受信データが更新データでないならば(S801でNO)、制御部304は、S802において受信データが同期実行命令であるか判別する。
 受信データが同期実行命令でないならば(S802でNO)、制御部304は、S803にて命令内容に従い処理を実行する。
 一方、受信データが同期実行命令であるならば(S802でYES)、データ送信部303が、S804にて現用系11に同期完了通知を送信する。
 次に、制御部304は、S805にて更新データを更新データ保持領域311から取り出し、更新データに従い、S806にて仮想デバイスに更新を適用する。
 次に、制御部304は、S807にて更新データ保持領域311に更新データが存在するか判別し、存在するならばS805に戻り、更新データ保持領域311に含まれるすべての更新データの仮想デバイスへの適用が完了するまで処理を繰り返す。
 更新データ保持領域311にあるすべての更新データの適用が完了したならば、S809により現用系11からのデータ受信処理を再開して、同期実行時の一連の処理が完了する。
If the received data is not update data in the determination in S801 (NO in S801), the control unit 304 determines in S802 whether the received data is a synchronous execution command.
If the received data is not a synchronous execution command (NO in S802), the control unit 304 executes processing according to the command content in S803.
On the other hand, if the received data is a synchronization execution command (YES in S802), the data transmission unit 303 transmits a synchronization completion notification to the active system 11 in S804.
Next, the control unit 304 extracts the update data from the update data holding area 311 in S805, and applies the update to the virtual device in S806 according to the update data.
Next, in step S807, the control unit 304 determines whether update data exists in the update data holding area 311. If the update data exists, the control unit 304 returns to step S805 to transfer all the update data included in the update data holding area 311 to virtual devices. The process is repeated until the application of is completed.
When the application of all the update data in the update data holding area 311 is completed, the data reception process from the active system 11 is resumed in S809, and a series of processes at the time of synchronization execution is completed.
 最後に、系切替時における待機系12の同期処理部212の動作について説明する(図9)。 Finally, the operation of the synchronization processing unit 212 of the standby system 12 at the time of system switching will be described (FIG. 9).
 待機系12の同期処理部212では、S900において障害検出部301が現用系11の障害を検出する。
 障害を検出したならば、S901にて制御部304が、更新データ保持領域311にある更新データを破棄し、S902にてVM実行部202に動作再開通知を送信する。
 以上の処理が完了したら、制御部304は、S903にて同期処理をすべて終了する。
In the synchronization processing unit 212 of the standby system 12, the failure detection unit 301 detects a failure of the active system 11 in S900.
If a failure is detected, the control unit 304 discards the update data in the update data holding area 311 in S901, and transmits an operation resumption notification to the VM execution unit 202 in S902.
When the above processing is completed, the control unit 304 ends all the synchronization processing in S903.
 このように、本実施の形態では、VM実行部とは別に、更新データ保持領域と同期履歴保持領域をもつ同期処理部により、VM実行部がVM上のOSやアプリケーションにより仮想デバイスの状態を更新するのと並行して、待機系へ更新データの送信処理や更新データの送信保留処理が可能となる。
 同期実行時にVMを停止させる前に、予め更新データを送信することで、同期処理時間を短縮することにより、同期式レプリケーションの欠点である停止時間の増大によるVM処理性能の低下を補い、同期式レプリケーションの利点である障害発生時における情報損失のない系切替を活かすことができる。
 そして、本実施の形態によれば、同期式レプリケーションにおけるVMのユーザを待たせる時間を削減することでユーザが求めるI/O性能を実現するとともに、障害発生時にデータの損失なく復元を実施することで、非同期式に比べ高い信頼性を実現することができる。
As described above, in this embodiment, the VM execution unit updates the state of the virtual device by the OS or application on the VM by the synchronization processing unit having the update data holding area and the synchronization history holding area separately from the VM execution unit. In parallel with this, update data transmission processing and update data transmission suspension processing to the standby system are possible.
Before stopping the VM at the time of synchronous execution, update data is transmitted in advance to shorten the synchronous processing time, thereby compensating for the decrease in VM processing performance due to an increase in the stop time, which is a drawback of synchronous replication. It is possible to make use of system switching without loss of information when a failure occurs, which is an advantage of replication.
According to the present embodiment, the I / O performance required by the user is realized by reducing the time to wait for the VM user in synchronous replication, and restoration is performed without loss of data when a failure occurs. Therefore, higher reliability can be achieved compared to the asynchronous type.
 以上、本実施の形態では、
 VM同期における同期元のVMが動作する現用系物理計算機、およびVM同期における同期先のVMが動作する待機系物理計算機を備え、
 VM内部にVM上で動作するOSおよびアプリケーションの処理を実行するVM実行部、およびVM同期の処理を実行する同期処理部を備え、
 同期処理部の内部にVM同期のために送受信する更新データを一時的に保持する更新データ保持領域、および過去の更新要求時の更新データ適用箇所の履歴を保持する同期履歴保持領域、および更新データ保持領域に追加された更新データについて同期履歴保持領域に記載された更新適用箇所と一致することで送信の保留が決定された更新データを保持する送信保留領域、および現用系物理計算機または待機系物理計算機における障害を検出する障害検出部を備え、
 同期元のVMがOSやアプリケーションの実行によりVM同期のための更新データを送信する際に、過去の同期実行時の更新データ適用箇所の履歴を参照・更新することによって、更新データが履歴中の適用箇所に合致するのであれば同期実行まで送信を保留し、合致しなければすぐに待機系に更新データを送信することによって、
 同期実行後に送信する更新データの量を削減することで同期のために同期元VMを停止させる時間を削減する同期処理部からなるメモリ同期システムを説明した。
As described above, in the present embodiment,
An active physical computer that operates a synchronization source VM in VM synchronization, and a standby physical computer that operates a synchronization destination VM in VM synchronization;
The VM includes a VM execution unit that executes processing of an OS and an application operating on the VM, and a synchronization processing unit that executes VM synchronization processing,
An update data holding area that temporarily holds update data transmitted and received for VM synchronization, a synchronization history holding area that holds a history of update data application locations at the time of past update requests, and update data The transmission hold area that holds the update data that has been determined to be held pending by matching the update application location described in the synchronization history holding area for the update data added to the holding area, and the active physical computer or standby physical Provided with a fault detection unit that detects faults in the computer,
When the synchronization source VM sends update data for VM synchronization by executing an OS or application, the update data is stored in the history by referring to and updating the history of the update data application location at the time of past synchronization execution. If it matches the application location, the transmission is suspended until synchronous execution, and if it does not match, immediately send the update data to the standby system,
The memory synchronization system including the synchronization processing unit that reduces the time for stopping the synchronization source VM for synchronization by reducing the amount of update data to be transmitted after synchronization execution has been described.
 次に、本実施の形態に示した現用系のデータ処理装置11及び待機系のデータ処理装置12のハードウェア構成例について説明する。
 図10は、本実施の形態に示す現用系のデータ処理装置11及び待機系のデータ処理装置12のハードウェア資源の一例を示す図である。
 なお、図10の構成は、あくまでも現用系のデータ処理装置11及び待機系のデータ処理装置12のハードウェア構成の一例を示すものであり、現用系のデータ処理装置11及び待機系のデータ処理装置12のハードウェア構成は図10に記載の構成に限らず、他の構成であってもよい。
Next, a hardware configuration example of the active data processing device 11 and the standby data processing device 12 shown in the present embodiment will be described.
FIG. 10 is a diagram illustrating an example of hardware resources of the active data processing device 11 and the standby data processing device 12 according to the present embodiment.
The configuration in FIG. 10 is merely an example of the hardware configuration of the active data processing device 11 and the standby data processing device 12, and the active data processing device 11 and the standby data processing device. The hardware configuration of 12 is not limited to the configuration illustrated in FIG. 10, and may be another configuration.
 図10において、現用系のデータ処理装置11及び待機系のデータ処理装置12は、プログラムを実行するCPU911(プロセッサ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータともいう)を備えている。
 CPU911は図1の物理CPU101及び物理CPU121に対応する。
 CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM914、NIC915、表示装置901、キーボード902、マウス903、磁気ディスク装置920、スキャナ装置907と接続され、これらのハードウェアデバイスを制御する。
 RAM914は図1の物理メモリ102及び物理メモリ122に対応する。
 また、磁気ディスク装置920は、図1の物理ディスク103及び物理ディスク123に対応する。
 また、NIC915は、図1の物理NIC104及び物理NIC124に対応する。
In FIG. 10, the active data processing apparatus 11 and the standby data processing apparatus 12 include a CPU 911 (also referred to as a processor, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, or a microcomputer) that executes a program. Yes.
The CPU 911 corresponds to the physical CPU 101 and the physical CPU 121 in FIG.
The CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM 914, a NIC 915, a display device 901, a keyboard 902, a mouse 903, a magnetic disk device 920, and a scanner device 907 via a bus 912, and these hardware devices. To control.
The RAM 914 corresponds to the physical memory 102 and the physical memory 122 of FIG.
The magnetic disk device 920 corresponds to the physical disk 103 and the physical disk 123 of FIG.
The NIC 915 corresponds to the physical NIC 104 and the physical NIC 124 in FIG.
 更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906と接続していてもよい。
 また、磁気ディスク装置920の代わりに、SSD(Solid State Drive)を用いてもよい。
 RAM914は、揮発性メモリの一例である。
 ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。
 これらは、記憶装置の一例である。
 NIC915、キーボード902、マウス903、FDD904、スキャナ装置907などは、入力装置の一例である。
 また、NIC915、表示装置901、プリンタ装置906などは、出力装置の一例である。
Further, the CPU 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), and a printer device 906.
Further, instead of the magnetic disk device 920, an SSD (Solid State Drive) may be used.
The RAM 914 is an example of a volatile memory.
The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory.
These are examples of the storage device.
The NIC 915, the keyboard 902, the mouse 903, the FDD 904, the scanner device 907, and the like are examples of input devices.
Further, the NIC 915, the display device 901, the printer device 906, and the like are examples of output devices.
 NIC915は、LANに接続される。
 NIC915は、LANを介して、例えば、インターネット、WAN(Wide Area Network)などに接続することが可能である。
The NIC 915 is connected to the LAN.
The NIC 915 can be connected to, for example, the Internet, a WAN (Wide Area Network), or the like via a LAN.
 磁気ディスク装置920には、仮想マシンモニタ921、ホストOS922、プログラム群923、ファイル群924が記憶されている。
 また、図1のOS/アプリケーション221、OS/アプリケーション222は、プログラム群923に含まれる。
 仮想マシンモニタ921、ホストOS922、プログラム群923は、CPU911により実行される。
The magnetic disk device 920 stores a virtual machine monitor 921, a host OS 922, a program group 923, and a file group 924.
Also, the OS / application 221 and the OS / application 222 in FIG. 1 are included in the program group 923.
The virtual machine monitor 921, the host OS 922, and the program group 923 are executed by the CPU 911.
 更に、ファイル群924には、本実施の形態の説明において、「~の判断」、「~の判定」、「~の決定」、「~の変更」、「~の入力」、「~の出力」、「~の受信」、「~の送信」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「~ファイル」や「~データベース」の各項目として記憶されている。
 「~ファイル」や「~データベース」は、ディスクやメモリなどの記録媒体に記憶される。
 ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
 抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
 また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ブルーレイ(登録商標)ディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
Further, the file group 924 includes “determination”, “determination”, “determination”, “change of”, “input of”, and “output” in the description of this embodiment. ”,“ Receiving ”,“ Transmission ”, etc. Information, data, signal values, variable values, and parameters that indicate the results of the processing are displayed as“ ˜File ”and“ ˜Database ”items. It is remembered.
The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory.
Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, editing, output, printing, and display.
Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
Also, the arrows in the flowchart described in this embodiment mainly indicate input / output of data and signals, and the data and signal values are the RAM 914 memory, the FDD904 flexible disk, the CDD905 compact disk, and the magnetic disk device. 920 magnetic disks, other optical disks, Blu-ray (registered trademark) disks, DVDs, and other recording media. Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.
 本実施の形態に示す現用系のデータ処理装置11及び待機系のデータ処理装置12は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、NIC等、出力装置たる表示装置、NIC等を備えるコンピュータであり、仮想計算機2001内及び仮想計算機2002内の機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。 The active data processing device 11 and the standby data processing device 12 shown in the present embodiment are output devices such as a CPU as a processing device, a memory as a storage device, a magnetic disk, a keyboard as an input device, a mouse, a NIC, and the like. A computer including a display device, a NIC, and the like, and implements the functions in the virtual computer 2001 and the virtual computer 2002 using these processing devices, storage devices, input devices, and output devices.
 また、本実施の形態で説明した現用系のデータ処理装置11及び待機系のデータ処理装置12の動作により本発明に係るデータ処理方法も実現可能である。 Further, the data processing method according to the present invention can be realized by the operations of the active data processing apparatus 11 and the standby data processing apparatus 12 described in the present embodiment.
 なお、以上では、冗長構成の仮想計算機システムにおけるレプリケーションの方法について説明したが、冗長構成のデータ処理システムであれば、仮想計算機システムでなくても、本実施の形態に示した手順を適用可能である。 Although the replication method in the redundant configuration virtual machine system has been described above, the procedure shown in the present embodiment can be applied to a redundant configuration data processing system without using the virtual machine system. is there.
 11 現用系のデータ処理装置、12 待機系のデータ処理装置、101 物理CPU、102 物理メモリ、103 物理ディスク、104 物理NIC、105 仮想CPU、106 仮想メモリ、107 仮想ディスク、108 仮想NIC、121 物理CPU、122 物理メモリ、123 物理ディスク、124 物理NIC、125 仮想CPU、126 仮想メモリ、127 仮想ディスク、128 仮想NIC、141 LAN、201 VM実行部、202 VM実行部、211 同期処理部、212 同期処理部、301 障害検出部、302 送信タイミング決定部、303 データ送信部、311 更新データ保持領域、321 同期履歴保持領域、331 送信保留領域、1001 物理計算機、1002 物理計算機、2001 仮想計算機、2002 仮想計算機。 11 active data processing device, 12 standby data processing device, 101 physical CPU, 102 physical memory, 103 physical disk, 104 physical NIC, 105 virtual CPU, 106 virtual memory, 107 virtual disk, 108 virtual NIC, 121 physical CPU, 122 physical memory, 123 physical disk, 124 physical NIC, 125 virtual CPU, 126 virtual memory, 127 virtual disk, 128 virtual NIC, 141 LAN, 201 VM execution unit, 202 VM execution unit, 211 synchronization processing unit, 212 synchronization Processing unit, 301 failure detection unit, 302 transmission timing determination unit, 303 data transmission unit, 311 update data holding area, 321 synchronization history holding area, 331 transmission hold area, 1001 physical computer, 1002 Management computer, 2001 virtual machine, 2002 virtual machine.

Claims (9)

  1.  冗長構成のデータ処理システムで現用系として動作し、
     データ処理を一時停止して前記冗長構成のデータ処理システムの待機系のデータ処理装置にデータを送信する同期式レプリケーションと、データ処理を継続させたまま前記待機系のデータ処理装置にデータを送信する非同期式レプリケーションとを行うデータ処理装置であって、
     前記非同期式レプリケーションの対象となる非同期対象データが生成された際に、生成された非同期対象データの前記待機系のデータ処理装置への送信を保留するか否かを決定する送信タイミング決定部と、
     前記送信タイミング決定部により前記待機系のデータ処理装置への送信を保留すると決定された非同期対象データを記憶する保留データ記憶部と、
     前記同期式レプリケーションの対象となる同期対象データが生成された際に、生成された同期対象データと、前記保留データ記憶部に記憶されている非同期対象データとを、前記同期式レプリケーションによって前記待機系のデータ処理装置に送信するデータ送信部とを有することを特徴とするデータ処理装置。
    Operates as an active system in a redundant data processing system,
    Synchronous replication that temporarily stops data processing and transmits data to the standby data processing device of the redundant data processing system, and transmits data to the standby data processing device while continuing the data processing A data processing apparatus that performs asynchronous replication,
    A transmission timing determination unit that determines whether or not to defer transmission of the generated asynchronous target data to the standby data processing device when the asynchronous target data to be subjected to the asynchronous replication is generated;
    A hold data storage unit that stores asynchronous target data determined to hold transmission to the standby data processing device by the transmission timing determination unit;
    When the synchronization target data that is the target of the synchronous replication is generated, the generated synchronization target data and the asynchronous target data stored in the reserved data storage unit are converted into the standby system by the synchronous replication. And a data transmission unit that transmits the data to the data processing apparatus.
  2.  前記データ送信部は、
     同期対象データとともに非同期対象データが生成された場合に、
     前記保留データ記憶部に記憶されている非同期対象データから、前記同期対象データとともに生成された非同期対象データと重複する非同期対象データを除外し、
     前記同期対象データと、前記同期対象データとともに生成された非同期対象データと、重複する非同期対象データを除外した後の前記保留データ記憶部の非同期対象データとを、前記同期式レプリケーションによって前記待機系のデータ処理装置に送信することを特徴とする請求項1に記載のデータ処理装置。
    The data transmitter is
    When asynchronous target data is generated along with synchronous target data,
    From the asynchronous target data stored in the pending data storage unit, exclude the asynchronous target data that overlaps with the asynchronous target data generated together with the synchronous target data,
    The synchronous target data, the asynchronous target data generated together with the synchronous target data, and the asynchronous target data of the pending data storage unit after excluding duplicate asynchronous target data are transferred to the standby system by the synchronous replication. The data processing apparatus according to claim 1, wherein the data processing apparatus transmits the data to the data processing apparatus.
  3.  前記データ処理装置は、
     同期対象データとともに非同期対象データが生成された場合に、同期対象データとともに生成された非同期対象データの属性を記憶する属性記憶部を有し、
     前記送信タイミング決定部は、
     非同期対象データのみが生成された際に、生成された非同期対象データの属性が前記属性記憶部に記憶されている属性と一致するか否かを判断し、生成された非同期対象データの属性が前記属性記憶部に記憶されている属性と一致する場合に、生成された非同期対象データの前記待機系のデータ処理装置への送信を保留すると決定することを特徴とする請求項1又は2に記載のデータ処理装置。
    The data processing device includes:
    When the asynchronous target data is generated together with the synchronization target data, the attribute storage unit stores the attribute of the asynchronous target data generated together with the synchronization target data.
    The transmission timing determination unit
    When only the asynchronous target data is generated, it is determined whether the attribute of the generated asynchronous target data matches the attribute stored in the attribute storage unit. 3. The method according to claim 1, wherein when the attribute stored in the attribute storage unit matches the attribute, it is determined to suspend transmission of the generated asynchronous target data to the standby data processing apparatus. Data processing device.
  4.  前記属性記憶部は、
     非同期対象データの属性として、同期対象データとともに生成された非同期対象データのアドレスを記憶し、
     前記送信タイミング決定部は、
     非同期対象データのみが生成された際に、生成された非同期対象データのアドレスが前記属性記憶部に記憶されているアドレスと一致するか否かを判断し、生成された非同期対象データのアドレスが前記属性記憶部に記憶されているアドレスと一致する場合に、生成された非同期対象データの前記待機系のデータ処理装置への送信を保留すると決定することを特徴とする請求項3に記載のデータ処理装置。
    The attribute storage unit
    Store the address of the asynchronous target data generated with the synchronous target data as an attribute of the asynchronous target data,
    The transmission timing determination unit
    When only the asynchronous target data is generated, it is determined whether the address of the generated asynchronous target data matches the address stored in the attribute storage unit, and the address of the generated asynchronous target data is 4. The data processing according to claim 3, wherein when the address stored in the attribute storage unit matches, the data processing unit determines to suspend transmission of the generated asynchronous target data to the standby data processing device. 5. apparatus.
  5.  前記データ送信部は、
     同期対象データとともに非同期対象データが生成された場合に、
     前記保留データ記憶部に記憶されている非同期対象データから、前記同期対象データとともに生成された非同期対象データとアドレスが共通する、重複する非同期対象データを除外し、
     前記同期対象データと、前記同期対象データとともに生成された非同期対象データと、重複する非同期対象データを除外した後の前記保留データ記憶部の非同期対象データとを、前記同期式レプリケーションによって前記待機系のデータ処理装置に送信することを特徴とする請求項4に記載のデータ処理装置。
    The data transmitter is
    When asynchronous target data is generated along with synchronous target data,
    From the asynchronous target data stored in the pending data storage unit, exclude the asynchronous asynchronous target data that has the same address as the asynchronous target data generated together with the synchronous target data,
    The synchronous target data, the asynchronous target data generated together with the synchronous target data, and the asynchronous target data of the pending data storage unit after excluding duplicate asynchronous target data are transferred to the standby system by the synchronous replication. The data processing apparatus according to claim 4, wherein the data processing apparatus transmits the data to the data processing apparatus.
  6.  前記データ送信部は、
     前記送信タイミング決定部により前記待機系のデータ処理装置への送信を保留しないと決定された非同期対象データを、前記非同期式レプリケーションにより前記待機系のデータ処理装置に送信することを特徴とする請求項1~5のいずれかに記載のデータ処理装置。
    The data transmitter is
    The asynchronous target data determined not to be suspended from being transmitted to the standby data processing device by the transmission timing determination unit is transmitted to the standby data processing device by the asynchronous replication. The data processing device according to any one of 1 to 5.
  7.  前記データ処理装置は、
     仮想I/O(Input/Output)デバイスを含む複数の仮想デバイスが用いられる仮想計算機が実装されており、
     前記仮想I/Oデバイスに対するデータを前記同期式レプリケーションの対象とし、前記仮想I/Oデバイス以外の仮想デバイスに対するデータを前記非同期式レプリケーションの対象とすることを特徴とする請求項1~6のいずれかに記載のデータ処理装置。
    The data processing device includes:
    A virtual computer using a plurality of virtual devices including a virtual I / O (Input / Output) device is implemented,
    7. The data for the virtual I / O device is a target for the synchronous replication, and the data for a virtual device other than the virtual I / O device is a target for the asynchronous replication. A data processing device according to any one of the above.
  8.  冗長構成のデータ処理システムで現用系として動作し、
     データ処理を一時停止して前記冗長構成のデータ処理システムの待機系のデータ処理装置にデータを送信する同期式レプリケーションと、データ処理を継続させたまま前記待機系のデータ処理装置にデータを送信する非同期式レプリケーションとを行うコンピュータであるデータ処理装置が行うデータ処理方法であって、
     前記非同期式レプリケーションの対象となる非同期対象データが生成された際に、前記データ処理装置が、生成された非同期対象データの前記待機系のデータ処理装置への送信を保留するか否かを決定し、
     前記待機系のデータ処理装置への送信を保留すると決定された非同期対象データを前記データ処理装置が記憶し、
     前記同期式レプリケーションの対象となる同期対象データが生成された際に、前記データ処理装置が、生成された同期対象データと、記憶されている非同期対象データとを、前記同期式レプリケーションによって前記待機系のデータ処理装置に送信することを特徴とするデータ処理方法。
    Operates as an active system in a redundant data processing system,
    Synchronous replication that temporarily stops data processing and transmits data to the standby data processing device of the redundant data processing system, and transmits data to the standby data processing device while continuing the data processing A data processing method performed by a data processing apparatus, which is a computer that performs asynchronous replication,
    When the asynchronous target data to be subjected to the asynchronous replication is generated, the data processing device determines whether to defer transmission of the generated asynchronous target data to the standby data processing device. ,
    The data processing device stores the asynchronous target data determined to be suspended from transmission to the standby data processing device,
    When the synchronization target data that is the target of the synchronous replication is generated, the data processing device converts the generated synchronization target data and the stored asynchronous target data into the standby system by the synchronous replication. A data processing method comprising: transmitting to a data processing apparatus.
  9.  コンピュータを、請求項1に記載されたデータ処理装置として機能させることを特徴とするプログラム。 A program for causing a computer to function as the data processing apparatus according to claim 1.
PCT/JP2012/079395 2012-11-13 2012-11-13 Data processing device, data processing method, and program WO2014076765A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/079395 WO2014076765A1 (en) 2012-11-13 2012-11-13 Data processing device, data processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/079395 WO2014076765A1 (en) 2012-11-13 2012-11-13 Data processing device, data processing method, and program

Publications (1)

Publication Number Publication Date
WO2014076765A1 true WO2014076765A1 (en) 2014-05-22

Family

ID=50730709

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/079395 WO2014076765A1 (en) 2012-11-13 2012-11-13 Data processing device, data processing method, and program

Country Status (1)

Country Link
WO (1) WO2014076765A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337939A (en) * 2000-05-25 2001-12-07 Hitachi Ltd Data multiplexing method and data multiplexing system
JP2005018510A (en) * 2003-06-27 2005-01-20 Hitachi Ltd Data center system and control method thereof
JP2005267301A (en) * 2004-03-19 2005-09-29 Hitachi Ltd Recovery method and apparatus by log synchronous DB data asynchronous transfer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337939A (en) * 2000-05-25 2001-12-07 Hitachi Ltd Data multiplexing method and data multiplexing system
JP2005018510A (en) * 2003-06-27 2005-01-20 Hitachi Ltd Data center system and control method thereof
JP2005267301A (en) * 2004-03-19 2005-09-29 Hitachi Ltd Recovery method and apparatus by log synchronous DB data asynchronous transfer

Similar Documents

Publication Publication Date Title
US11507477B2 (en) Virtual machine fault tolerance
US10678655B2 (en) Using RDMA for fast system recovery in virtualized environments
US9575785B2 (en) Cluster system and method for providing service availability in cluster system
US9983935B2 (en) Storage checkpointing in a mirrored virtual machine system
US20140201574A1 (en) System and Method for Writing Checkpointing Data
US20210374155A1 (en) Synchronizing changes to stale components of a distributed object using synchronization bitmaps
US10402264B2 (en) Packet-aware fault-tolerance method and system of virtual machines applied to cloud service, computer readable record medium and computer program product
US20230029074A1 (en) Shadow live migration over a smart network interface card
US8090907B2 (en) Method for migration of synchronous remote copy service to a virtualization appliance
JP5561334B2 (en) Data transfer device
US9043283B2 (en) Opportunistic database duplex operations
US10341177B2 (en) Parallel computing system and migration method
WO2014076765A1 (en) Data processing device, data processing method, and program
JP6056408B2 (en) Fault tolerant system
US11669516B2 (en) Fault tolerance for transaction mirroring
KR102472878B1 (en) Block commit method of virtual machine environment and, virtual system for performing the method
WO2023030013A1 (en) Data processing method and apparatus
JP5335150B2 (en) Computer apparatus and program
JP5880608B2 (en) Fault tolerant server
US10642788B1 (en) Sand timer algorithm for tracking in-flight data storage requests for data replication
JP2018022328A (en) Processing control method and calculator

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载