WO2013038475A1 - 遠隔バックアップシステム、及び遠隔バックアップ方法 - Google Patents
遠隔バックアップシステム、及び遠隔バックアップ方法 Download PDFInfo
- Publication number
- WO2013038475A1 WO2013038475A1 PCT/JP2011/070758 JP2011070758W WO2013038475A1 WO 2013038475 A1 WO2013038475 A1 WO 2013038475A1 JP 2011070758 W JP2011070758 W JP 2011070758W WO 2013038475 A1 WO2013038475 A1 WO 2013038475A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- backup
- packet
- server
- virtual machine
- target device
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
Definitions
- the present invention relates to a backup technology using a low-quality (long delay time) network line.
- Patent Document 1 describes a backup technique for periodically snapshotting a CPU and a memory in a storage area such as an HDD.
- a method of duplicating I / O information for example, a network packet
- I / O information for example, a network packet
- another device backup device
- the processing programs of both apparatuses are the same, the internal state also matches if the information input to the apparatuses is the same.
- a packet mirroring device as described in Patent Document 2 may be installed immediately before the backup target device and connected to the backup device.
- an object of the present invention is to realize a backup system capable of highly accurate synchronization using a low-quality network line.
- a backup GW apparatus includes a network (LAN), a network (WAN), a NIC connected to a backup target communication apparatus, a packet transfer unit, a reception processing unit, and a transmission processing unit. And a comparison processing unit.
- the backup server also includes a NIC connected to a network (WAN), a reception processing unit, a transmission processing unit, a clock control unit, and a copy (virtual machine) of a backup target device. If all the processing results are backed up as in the past, data transfer takes time in a low-quality network. Therefore, in the present invention, only the minimum necessary information is backed up, and the virtual machine operates the backup target device based on this. To back up all processing results.
- the packet transfer unit copies the packet, transmits one to the backup target communication apparatus, and passes the other to the transmission processing unit.
- the transmission processing unit assigns a time stamp indicating the reception time of the packet, generates a packet addressed to the backup server (encapsulation process), and transmits the packet to the backup server via the network (WAN).
- the reception processing unit decapsulates the packet received from the network (WAN) (processing to separate and extract the packet body and other information from the packet), and extracts the time stamp and the original packet. Then, the virtual machine clock is advanced and stopped again until the virtual machine clock matches the time stamp value of the packet that has just arrived (currently).
- 6 is a flowchart of the backup GW apparatus when a transmission packet from the backup server 105 is received.
- 10 is a flowchart of the backup server 105 when an encapsulated bucket is received from the backup GW apparatus 104.
- 6 is a flowchart of the backup server 105 when a packet is transmitted from the replica 106 of the communication apparatus A. It is a figure which shows the sequence of the whole process of this invention. It is a figure which shows the correspondence of operation
- a communication device A101 and a communication device B102 are connected so that they can communicate with each other via a network 103 and a backup GW device 104, and the backup GW device 104 is installed immediately before the communication device A101 to be backed up.
- the network 103 is assumed to be a high quality network (short delay time) such as low latency, low jitter, and high throughput such as a so-called control LAN.
- the network 103 is described as an IP network, but is not limited to this.
- the signal used for communication may be, for example, any one of electricity, light, radio waves, sound, or a combination thereof.
- the backup server 105 is connected to the backup GW apparatus 104 via the network 118.
- the network 118 is assumed to be a low-quality (long delay time) network such as the Internet, such as high latency, high jitter, and low throughput.
- the backup GW apparatus 104 may be abbreviated as a GW apparatus, and the backup server 105 may be abbreviated as a BK server.
- the backup GW apparatus 104 includes a network interface (NIC) 111, a packet transfer unit 112, a transmission processing unit 113, a reception processing unit 114, a comparison processing unit 115, a NIC 116, a NIC 117, and a packet buffer 121.
- NIC network interface
- the NIC 111, NIC 116, and NIC 117 pass packets (Ethernet (registered trademark) frames) received from outside the backup GW apparatus to the internal packet transfer unit 112 and the reception processing unit 114. Further, the packet transferred from the packet transfer unit 112 or the transmission processing unit 113 is transmitted.
- packets Ethernet (registered trademark) frames
- the packet transfer unit 112 has a mirroring L2 switch function.
- the packet transfer unit 112 transfers the packets passed from the NIC 111 and the NIC 116 to the NIC 116 and the NIC 111, respectively. At the same time, the packet transfer unit 112 copies the packet.
- the packet from the communication apparatus A is passed to the comparison processing unit 115.
- the transmission processing unit 113 adds a time stamp and an identifier (GW ID) of the backup GW device to the packet passed from the packet transfer unit 113, and encapsulates (transmits) the packet to the backup server 105.
- the packet main body which is the information to be processed, and other information are combined to form a packet) and passed to the NIC 117.
- the reception processing unit 114 performs decapsulation processing (processing for separating and extracting the packet body and other information from the packet) from the packet passed from the NIC 117 and passes the packet to the comparison processing unit 115.
- decapsulation processing processing for separating and extracting the packet body and other information from the packet
- the comparison processing unit 115 compares the transmission packet from the communication apparatus A101 passed from the packet transfer unit 112 with the transmission packet from the backup server 105 passed from the reception processing unit 114. Further, the packet is read from or written to the packet buffer 121 as necessary.
- the packet buffer 121 is an area for storing packets from the backup server 105 for which the comparison processing unit 115 has not completed comparison. It is referred to when the comparison processing unit 115 compares packets, and is deleted after the comparison is completed.
- the packet buffer 121 is installed in the backup GW device 104, but it may be an external device such as an external hard disk or another server connected via a network.
- the backup server 105 includes a replica 106 of the communication apparatus A, a clock control unit 107, a reception processing unit 108, a transmission processing unit 109, a NIC 110, a GW management table 119, a clock management table 120, and a packet buffer 122.
- the replica 106 of the communication device A is a so-called virtual machine (VM), which emulates the hardware (CPU, NIC, etc.) of the communication device A101 with software, and then has exactly the same software (OS or Application etc.).
- VM virtual machine
- OS software
- the backup GW device 104 backs up only the minimum necessary information to the backup server 105, based on this.
- the virtual machine 106 in the backup server 105 emulates the operation of the backup target device and backs up all processing results.
- the minimum information necessary for the virtual machine to autonomously emulate the operation of the backup target device (without requiring external information) is sent from the backup GW device 104 as a packet.
- the minimum necessary information includes information input from the outside to the backup target device, information necessary for determining branch processing during emulation, or a result of random number generation.
- a part of data to be backed up is generated by emulation by the virtual machine in the backup server 105, and only the necessary minimum information is backed up, so the amount of data to be transferred is small and the delay time is long Backup processing can be synchronized even with a quality network.
- the clock control unit 107 controls how the clock (time) of the virtual machine operating on the backup server 105 advances. Specifically, the clock on the virtual machine is stopped at an arbitrary value, or the clock is advanced several times faster.
- the reception processing unit 108 decapsulates the packet delivered from the NIC 110, extracts the packet addressed to the virtual machine, and stores it in the packet buffer 122.
- the transmission processing unit 109 receives the transmission packet from the replica (virtual machine) 106 of the communication device A, adds the GW ID of the backup GW device 104 and the time stamp of the transmission time, and becomes a packet addressed to the backup GW device 104. Is encapsulated and passed to the NIC 110.
- the NIC 110 transmits the packet passed from the transmission processing unit 109 to the network 118. Further, the packet received from the network 118 is passed to the reception processing unit 108.
- the GW management table 119 is a table for managing the backup GW apparatus information in association with the virtual machine of the backup target apparatus (corresponding to the communication apparatus A101 in this embodiment) that the backup GW apparatus is in charge of. This table examines to which virtual machine the packet received by the reception processing unit 108 corresponds, and to which backup GW device the transmission processing unit 109 should transmit the packet passed from the virtual machine Referenced in case. A detailed table configuration will be described later.
- the clock management table 120 is a table for managing the current clock value of each virtual machine and the clock value to be stopped next. This table is referred to when the clock control unit 107 checks how far the clock of the virtual machine is advanced when the reception processing unit 108 receives a packet. A detailed table configuration will be described later.
- the packet buffer 122 is an area for storing a packet addressed to each virtual machine. A maximum of N packets are stored for each virtual machine. N is determined by calculating from the frequency of packet reception at the time of design.
- the backup server 105 receives a new packet (P K + 1 ), if the number of stored packets is zero, it is stored as it is, and if it is one or more, the oldest already stored packet (P K- ⁇ : ⁇ ⁇ 0) ) Is passed to the virtual machine to store the new packet (P K + 1 ).
- the clock control unit 107 the clock value of the most recent packet in the buffer (P K + 1): to (T K + 1 processing S K at the end of the clock) advancing a clock of the virtual machine (processing S K run), again clock Stop. Packets older than P K + 1 are passed to the virtual machine at any time when the clock of the virtual machine matches the clock value of each packet. When the clock of the virtual machine stops, only the packet (P K + 1 ) of the stopped clock is stored in the packet buffer 122. (Correspondence of operation in each of BK server and GW device) The above description is summarized as the operation in the GW apparatus and the BK server as follows.
- the packet P K + 1 to BK server shall be sent after each operation S K in the GW apparatus.
- T K was unified to "time stamp”.
- Lock is "advance the clock”, was used only in expressions such as "current / next stop clock”.
- the packet P K + 1 of the time stamp T K + 1 is transmitted to the BK server.
- the packet P K + 1 contains information (processing results, etc.) relating to processing S K.
- FIG. 13 shows the next stop clock and current clock held for each cycle in the BK server, processing executed in the virtual machine, and old / new saved packets.
- “-” is used to indicate that there is no corresponding “next stop clock” and “new saved packet”.
- the rewriting of “next stop clock” and “current clock” based on the above description is indicated by broken-line arrows.
- FIG. 13 shows the correspondence between the operations of the BK server and the GW apparatus.
- “BK time” and “GW time” are time axes of the BK server and the GW device, respectively, but the physical time is the same.
- a slanted arrow from GW time to BK time indicates that there is a delay time ⁇ during packet transfer.
- FIG. 13 shows the correspondence between the GW time (horizontal axis) and the time stamp (vertical axis) in the BK server.
- a slanted line indicates that processing is being performed (the clock is advancing), and a thick horizontal line thereafter indicates a clock stop.
- the backup server 105 includes a host CPU (Central Processing Unit) 201 that performs various processes, a host memory 202, a peripheral I / F 203, a storage device 204, a communication I / F 205, and a bus 206.
- the host CPU 201, host memory 202, peripheral I / F 310, storage device 204, and communication I / F 205 are communicably connected via a bus 206.
- the host CPU 201 executes the program.
- the host memory 202 is used as a working memory and a temporary buffer for input / output data when the host CPU 201 executes a program.
- the peripheral I / F 203 is an interface for connecting with various peripheral devices such as an input / output device such as a mouse, a keyboard, a monitor, and an external storage such as a USB (Universal Serial Bus) memory.
- an input / output device such as a mouse, a keyboard, a monitor, and an external storage such as a USB (Universal Serial Bus) memory.
- USB Universal Serial Bus
- the storage device 204 includes a magnetic disk device, a flash ROM (Read Only Memory), and the like, and is set by the OS, various drivers, various application programs, and various information used by the programs (for example, an administrator or a maintenance person). Information).
- the communication I / F 205 provides an interface when the backup server 105 communicates with the backup GW apparatus 104 via the network 118.
- the communication I / F 205 may be, for example, a NIC (Network Interface Card).
- FIG. 2 only one communication I / F 205 is shown, but two or more may be used.
- the hardware configuration of the backup GW apparatus 104 will be described with reference to FIG. 3 (see FIG. 1 as appropriate).
- the backup GW device 104 includes a host CPU (Central Processing Unit) 301 that performs various processes, a host memory 302, a peripheral I / F 303, a storage device 304, a communication I / F 305, and a bus 306.
- the host CPU 301, the host memory 302, the peripheral I / F 310, the storage device 304, and the communication I / F 305 are communicably connected via a bus 306.
- the host CPU 301 executes a program.
- the host memory 302 is used as a working memory and a temporary buffer for input / output data when the host CPU 301 executes a program.
- Peripheral I / F 303 is an interface for connecting to various peripheral devices such as an input / output device such as a mouse, a keyboard, and a monitor, and an external storage such as a USB (Universal Serial Bus) memory.
- peripheral devices such as an input / output device such as a mouse, a keyboard, and a monitor, and an external storage such as a USB (Universal Serial Bus) memory.
- an input / output device such as a mouse, a keyboard, and a monitor
- an external storage such as a USB (Universal Serial Bus) memory.
- USB Universal Serial Bus
- the storage device 304 includes a magnetic disk device, a flash ROM (Read Only Memory), and the like, and is set by the OS, various drivers, various application programs, and various information used by the programs (for example, an administrator or a maintenance person). Information).
- the communication I / Fs 305 to 307 provide an interface when the backup GW device 104 communicates with the communication device A 101, the communication device B 102, and the backup server 105 via the network 103, the network 118, and the like.
- the communication I / Fs 305 to 307 may be, for example, NIC (Network Interface Card).
- the encapsulated packet 402 is obtained by adding a packet header including a time stamp, a GW ID, and information necessary for communication between the backup GW apparatus 104 and the backup server 105 to the raw packet 401.
- a packet header for example, an Ethernet header, an IP header, a TCP header, and the like are generally considered.
- the packet header is not limited to this, and a header of a unique protocol may be used.
- the protocol management table 110 stores GW ID 501, GW IP address 502, and virtual machine ID 503.
- the information in this table may be set in advance by an administrator or maintenance person of the backup server 105, may be set by a program that exchanges protocol information with each device individually, It may be set by inquiring to a server that collectively manages information.
- the column of GW ID 501 is an area storing an ID for identifying the backup GW device.
- the column of the GW IP address 502 is an area in which the IP address of the backup GW device is stored.
- the column of the virtual machine ID 503 is an area that stores an ID for identifying a virtual machine that is a replica of the backup target that is handled by the backup GW apparatus.
- a row 504 indicates that the IP address of the backup GW apparatus having the GW ID “1” is “192.168.0.1” and the corresponding virtual machine ID is “1”.
- the clock management table 120 stores a virtual machine ID 601, a current clock 602, and a next stop clock 603.
- the virtual machine ID 601 is an area that stores an ID for identifying a virtual machine.
- the current clock 602 is an area that stores the current clock of the virtual machine.
- the next stop clock 603 is an area for storing a clock value indicating how far the virtual machine clock is advanced and stopped again.
- the time stamp T K-1 becomes the “current clock”, but when viewed from the previous cycle (the end), the time stamp T K ⁇ 1 is the “next stop clock”.
- the “current clock” is a time stamp at the start of processing
- the “next stop clock” is a time stamp at the end of the processing and a time stamp at the start of the next processing.
- a row 604 indicates that the current clock value of the virtual machine with the virtual machine ID “1” is “0x12345678” and the clock value to be stopped next is “0x123456ff”.
- the communication device B transmits a packet (P K ) to the communication device A (step 1201).
- the backup GW apparatus 104 receives the packet (P K ) addressed to the communication apparatus A (step 1202).
- the packet received in the backup GW device is duplicated (step 1203), and the duplication source packet (P K ) is transmitted to the communication device A (step 1204).
- the communication device A receives the packet (step 1205), performs internal processing (step 1206), and then transmits a response packet (Q K ) to the communication device B (step 1207).
- the backup GW apparatus receives the response packet (Q K ) from the communication apparatus A (step 1208), transmits the response packet (Q K ) to the communication apparatus B (step 1209), and the communication apparatus B transmits the response packet. (Q K ) is received (1210).
- the time stamps and contents of both responses match. If the backup server and the communication device A are not synchronized for some reason, the response content may be different, the time stamp may be shifted, or either response may not be transmitted.
- Steps 1202 to 1204 and 1208 to 1213 correspond to the processing in FIG. 7 described later
- steps 1214 to 1217 and 1220 correspond to the processing in FIG. 10 described later
- steps 1218 and 1219 correspond to the processing in FIG.
- step 1222 corresponds to the processing of FIGS. (Processing flow of backup GW device when packet addressed to communication device A is received)
- An example of the processing flow of the backup GW apparatus when a packet addressed to the communication apparatus A is received will be described with reference to FIG.
- step 701 the NIC 111 receives a packet addressed to the communication device A from the LAN 103 from the communication device B102.
- step 702 the NIC 111 passes the received packet to the packet transfer unit 112.
- step 703 the packet transfer unit 112 duplicates the received packet, and performs the same processing as the L2 switch such as MAC address rewriting on one of the packets, and then passes it to the NIC 116. Then, the NIC 116 transmits the passed packet to the communication apparatus A101. The other duplicated packet is transferred to the transmission processing unit 113 as it is.
- step 704 the transmission processing unit 113 assigns the time stamp indicating the reception time and the ID of its own backup GW device to the received packet. Then, encapsulation processing is performed, and a transmission packet addressed to the backup server 105 is generated. Note that the encapsulation processing performed here may use the TCP / IP protocol, or may use a unique communication protocol devised such as reducing the number of retransmission packets for communication on the carrier NW.
- step 705 the transmission processing unit 113 passes the encapsulated packet to the NIC 117.
- step 706 the NIC 117 transmits the encapsulated packet to the backup server 105 via the network 118.
- Process flow of backup GW apparatus 104 when receiving transmission packet from communication apparatus A Processing flow of backup GW apparatus 104 when receiving transmission packet from communication apparatus A
- step 801 the NIC 116 receives a packet from the communication apparatus A101.
- step 802 the NIC 116 passes the received packet to the packet transfer unit 112.
- step 803 the packet transfer unit 112 duplicates the received packet, and performs the same processing as the L2 switch such as MAC address rewriting on one of the packets, and then passes it to the NIC 111. Then, the NIC 111 transmits the passed packet to the network 103. The other copied packet is transferred to the comparison processing unit 115.
- step 804 the comparison processing unit 115 refers to the packet buffer 121 and checks whether there is a transmission packet from the backup server 105. In step 805, if the transmission packet is in the packet buffer 121, the process proceeds to step 806. If not, the process proceeds to step 809.
- step 806 the comparison processing unit 115 compares the transmission packet from the communication apparatus A 101 and the transmission packet from the backup server 105 (which has already been stored in the packet buffer 121).
- the comparison items include, for example, whether the time stamp is within a predetermined error range or whether the data portion (payload portion) of the packet is the same. If the time and contents do not match, the process proceeds to step 808. If they match, the process ends.
- step 808 an error is output.
- Possible error output methods include writing to the internal memory as a log or sending a message to another server.
- step 809 the comparison processing unit 115 stores the received packet from the communication device A101 in the packet buffer 121 together with the current time.
- Process flow of the backup GW apparatus 104 when receiving a transmission packet from the backup server 105 An example of the processing flow of the backup GW apparatus when a transmission packet from the backup server 105 is received will be described with reference to FIG.
- step 901 the NIC 117 receives a packet from the backup server 105 via the network 118.
- step 902 the NIC 117 passes the received packet to the reception processing unit 114.
- step 903 the reception processing unit 114 performs decapsulation processing and checks the GW ID described in the packet. If it is not its own GW ID, the packet is discarded and the process ends. If it matches with its own GW ID, the process proceeds to step 905.
- step 905 the reception processing unit 114 passes the received packet to the comparison processing unit.
- step 906 the comparison processing unit 115 refers to the packet buffer 121 and checks whether there is a transmission packet from the communication device A101. In step 907, if there is a transmission packet in the packet buffer 121, the process proceeds to step 908. If not, go to step 911.
- step 908 the comparison processing unit 115 compares the transmission packet from the communication device A 101 ((already stored in the packet buffer 121) with the transmission packet from the backup server 105.
- the comparison items include, for example, whether the time stamp is within a predetermined error range or whether the data portion (payload portion) of the packet is the same. If the time or contents do not match, go to step 910. If they match, the process ends.
- Step 910 is an error output process. Possible error output methods include writing to the internal memory as a log or sending a message to another server.
- step 911 the comparison processing unit 115 stores the received packet from the backup server 105 in the packet buffer 121 together with the time stamp added to the packet.
- Process flow of the backup server 105 when receiving an encapsulated packet from the backup GW device 104 An example of the processing flow of the backup server 105 when receiving an encapsulated packet from the backup GW device 104 will be described with reference to FIG.
- step 1001 the NIC 110 receives the encapsulated packet (P K ) from the backup GW apparatus 104 via the network 118.
- step 1002 the NIC 110 passes the received encapsulated packet (P K ) to the reception processing unit.
- Step 1003 the reception processing unit 114 performs decapsulation processing, and acquires the GW ID and time stamp (T K ) described in the packet (P K ).
- step 1004 the reception processing unit 114 refers to the GW management table and acquires a VM ID corresponding to the GW ID acquired in step 1003.
- step 1005 the reception processing unit 114 refers to the clock management table, and uses the current clock value (T K-2 ) corresponding to the VM ID acquired in step 1003 as the next stop clock value (T K ) corresponding to the same VM ID. -1 ).
- step 1006 the reception processing unit 114 rewrites the next stop clock value (T K-1 ) with the time stamp (T K ) described in the packet (P K ) acquired in step 1003.
- step 1007 the packet addressed to the communication apparatus A101 obtained by the decapsulation processing by the reception processing unit 114 is stored in the bucket buffer together with the time stamp (T K ) obtained in step 1003.
- step 1008 the VM ID acquired in step 1004 corresponding to the reception processing unit 114 is passed to the clock control unit 107.
- step 1009 the clock control unit 107 refers to the clock management table and obtains the current clock value (T K-1 ) corresponding to the passed VM ID.
- step 1010 the clock control unit 107 refers to the packet buffer, and acquires a previously received and stored packet (P K-1 ) corresponding to the VM ID acquired in step 1004.
- step 1011 the clock control unit 107 moves again the clock that the VM corresponding to the VM ID acquired in step 1004 has stopped (execution of process SK-1 ).
- the stored packet (P K-1 ) acquired from the packet buffer is delivered to the NIC virtually provided inside the copy (VM) 106 of the communication apparatus A.
- step 1012 the clock control unit 107 monitors the VM clock value, and stops the VM clock when it matches the next stop clock value (T K-1 ) acquired from the clock management table.
- T K-1 next stop clock value
- step 1101 the transmission processing unit 109 receives a transmission packet from the duplication 106 of the communication device A.
- the transmission processing unit 109 refers to the GW management table 109 and acquires the GW ID and IP address of the backup GW device 104.
- step 1103 the transmission processing unit 109 generates an encapsulated packet with a time stamp addressed to the backup GW device 104 and passes it to the NIC 110. See step 704 for the encapsulated packet generation method.
- the NIC 110 transmits the encapsulated packet to the backup GW apparatus 104 via the network 118.
- Failure occurs in the GW device during a time stamp T K ⁇ T K + 1, when the process of processing S K is found to be invalid, including information (internal information of the time point T K-1, the process S K- 2 ) is reloaded from the BK server to the GW apparatus. Then, re-run the process S K-1 at GW apparatus, returns to the time of the time stamp T K immediately before the failure occurred (the state immediately after the completion of the process S K-1).
- processing in the BK server S K-1 needs to be completed within the processing S K processing time delta K in GW device. That is, as a condition regarding the processing time (assuming that the delay time ⁇ is the same in every cycle), ⁇ K > ⁇ K ⁇ 1 is necessary.
- ( ⁇ K ⁇ d) ⁇ K ⁇ 1 or ( ⁇ K + d) ⁇ K ⁇ 1 is the clock stop time.
- (State of beginning and end of a series of processing (S 0 to S N )) As shown in FIG. 13, in the backup method of the present invention, the processing order is shifted by one cycle between the GW apparatus and the BK server. As a result, the start and end states of the series of processes (S 0 to S N ) have a correspondence relationship as shown in FIG. As can be seen from FIG.
- the backup GW device 104 and the communication device A101 are separated, but as a second embodiment, the function of the backup GW device 104 is implemented by software, and the backup GW device 104 and the communication device A101 are Both functions may be realized by the communication device A101 alone.
- any I / O (such as keyboard input) including a network packet may be targeted. That is, a function corresponding to a packet transfer unit that acquires packet input / output is provided for all I / Os, and the information is encapsulated with a time stamp and transmitted to the backup server 105.
- the portion 401 in the packet configuration in FIG. 4 is not limited to a network packet, and stores I / O input information to the communication apparatus A 101 such as keyboard key information.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
低品質なネットワーク回線を用いて高精度な同期が可能な遠隔バックアップシステム及びバックアップ装置を実現する。バックアップGW装置は、通信装置A宛のパケットを受信すると、受信時刻を付与してバックアップサーバに送信する。バックアップサーバは、受信時刻付きのパケットを受信すると、一つ前に受信したパケットの受信時刻に一致するまで通信装置Aの複製である仮想マシンによるエミュレーションのクロックを進め、一致した時点でクロックを停止させる。
Description
本発明は、低品質な(遅延時間が長い)ネットワーク回線を用いたバックアップ技術に関する。
鉄道の運行管理システムなどの制御システムでは、万が一の障害に備えて、システムを構成する重要な装置について、バックアップ処理を行っていることが多い。ここで、バックアップは、単なるハードディスク(HDD)のデータだけを対象とするのではなく、メモリやCPUのレジスタなど、装置の全ての内部状態を対象とすることが望ましい。そうすれば、処理状況をHDDではなくメモリのみに展開して処理するような装置であっても、障害発生直前の状態を正確に再現することが可能となる。例えば、特許文献1では、CPUとメモリのスナップショットを、HDDなどの記憶領域に定期的にバックアップ技術について述べている。
また、別のバックアップ方法として、バックアップ対象の装置に入力されるI/O情報(例えばネットワークパケット)を複製して、同一構成の別装置(バックアップ装置)のI/O情報として入力する方法が考えられる。両装置の処理プログラムが同一である場合、装置に入力される情報が同じであれば、内部状態も一致する。例えばI/O情報がネットワークパケットのみの場合、特許文献2で述べられているようなパケットミラーリング装置をバックアップ対象の装置の直前に設置し、バックアップ装置に接続すればよい。
一方で、局地的な停電や災害などのリスクに備え、バックアップ装置は遠隔地に設置することが望ましい。特許文献1に開示されている技術で遠隔バックアップを行う場合、バックアップ対象の装置のCPU、メモリおよびHDDのスナップショットを、定期的に遠隔地にあるバックアップ装置に送信することになる。ここで、精度の高い同期を実現するためには短い時間間隔で装置全体のスナップショットを送信する必要があるが、各スナップショットのデータ量が大きいため、長距離かつ高品質な(遅延時間が短い)ネットワーク回線が必要となり、高コストとなる。また、低コストなネットワーク回線を用いると、帯域制限によりスナップショットの時間間隔が大きくなり、同期精度が低下する。
また、特許文献2に開示されている技術で遠隔バックアップを行う場合、低品質な(遅延時間が長い)ネットワーク回線を用いた場合、バックアップ対象の装置にパケットが届くタイミングと、ミラーリング装置で複製された同一パケットがバックアップ装置に届くタイミングがずれてしまう可能性がある。その場合、例えばバックアップ対象の装置に、t=0でパケットが届き、t=1で内部のタイマー処理が実行されるケースで、帯域制限やパケットロスによるネットワークの遅延が起きて、バックアップサーバに複製パケットがt=2で到着した場合、既にタイマー処理が実行されており、両装置の状態に不一致が生じてしまう。一方、ネットワーク遅延が起きないような高品質なネットワーク回線を用いると、高コストになってしまう。
そこで、本発明は、低品質なネットワーク回線を用いて高精度な同期が可能なバックアップシステムを実現することを目的とする。
前記目的を達成するために、本発明のバックアップGW装置は、ネットワーク(LAN)、ネットワーク(WAN)およびバックアップ対象の通信装置に接続するNICと、パケット転送部と、受信処理部と、送信処理部と、比較処理部を備える。また、バックアップサーバは、ネットワーク(WAN)に接続するNICと受信処理部と、送信処理部と、クロック制御部と、バックアップ対象の装置の複製(仮想マシン)を備える。従来のように処理結果を全てバックアップすると低品質なネットワークではデータ転送に時間がかかるため、本発明では、必要最低限の情報のみをバックアップし、これに基づいて仮想マシンがバックアップ対象の装置の動作をエミュレートして処理結果の全てをバックアップする。
バックアップGW装置がネットワーク(LAN)からバックアップ対象の通信装置へのパケットを受信したら、パケット転送部はパケットを複製し、一方をバックアップ対象の通信装置に送信し、もう一方を送信処理部に渡す。送信処理部では、パケットの受信時刻を表すタイムスタンプを付与し、バックアップサーバ宛のパケットを生成(カプセル化処理)し、ネットワーク(WAN)を介してバックアップサーバに送信する。バックアップサーバでは、ネットワーク(WAN)から受信したパケットを受信処理部がデカプセル化処理(パケットから、パケット本体と、その他の情報とを分離して取り出す処理)し、タイムスタンプと元のパケットを取り出す。そして、今(現在)到着済みのパケットのタイムスタンプ値に仮想マシンのクロックが一致するまで、仮想マシンのクロックを進め再度停止する。
本発明によれば、低品質なネットワーク回線を用いて高精度な同期が可能なバックアップシステムを実現することができる。
次に、本発明を実施するための形態(以降、「本実施形態」と称す。)について、適宜図面を参照しながら詳細に説明する。
<第1実施形態>
(遠隔バックアップシステムの機能)
本実施形態における遠隔バックアップシステムの機能について、図1を用いて説明する。
<第1実施形態>
(遠隔バックアップシステムの機能)
本実施形態における遠隔バックアップシステムの機能について、図1を用いて説明する。
図1に示すように、通信装置A101と通信装置B102がネットワーク103およびバックアップGW装置104を介して通信できるように接続されており、バックアップGW装置104はバックアップ対象である通信装置A101の直前に設置されている。ネットワーク103は、いわゆる制御LANのような、低レイテンシ、低ジッタ、高スループットといった高品質な(遅延時間が短い)ネットワークを想定している。なお、ネットワーク103は、IP網として説明するが、これに限られることはない。また、通信に用いる信号は、例えば、電気、光、電波、音等のいずれかまたはそれらの組み合わせであっても構わない。
バックアップサーバ105は、ネットワーク118を介してバックアップGW装置104と接続されている。ネットワーク118は、インターネットのような、高レイテンシ、高ジッタ、低スループットといった低品質な(遅延時間が長い)ネットワークを想定している。
以下では、バックアップGW装置104をGW装置、バックアップサーバ105をBKサーバと略記することもある。
(バックアップGW装置104)
バックアップGW装置104は、ネットワークインタフェース(NIC)111、パケット転送部112、送信処理部113,受信処理部114、比較処理部115、NIC116、NIC117、パケットバッファ121を備えている。
(バックアップGW装置104)
バックアップGW装置104は、ネットワークインタフェース(NIC)111、パケット転送部112、送信処理部113,受信処理部114、比較処理部115、NIC116、NIC117、パケットバッファ121を備えている。
NIC111、NIC116、NIC117は、バックアップGW装置外から受信したパケット(Ethernet(登録商標)フレーム)を内部のパケット転送部112や受信処理部114に渡す。また、パケット転送部112や送信処理部113から渡されたパケットを送信する。
パケット転送部112は、ミラーリングL2スイッチ機能を有し、NIC111やNIC116から渡されたパケットをそれぞれNIC116およびNIC111に転送すると同時に、パケットを複製し、通信装置A宛のパケットは送信処理部113に、通信装置Aからのパケットは比較処理部115に渡す。
送信処理部113は、パケット転送部113から渡されたパケットに対し、タイムスタンプおよびバックアップGW装置の識別子(GW ID)を付加し、バックアップサーバ105宛のパケットになるようにカプセル化処理(送信すべき情報であるパケット本体とその他の情報とを結合してパケットを構成する処理)を行い、NIC117に渡す。
受信処理部114は、NIC117から渡されたパケットに対してデカプセル化処理(パケットからパケット本体と、その他の情報とを分離して取り出す処理)を行い、比較処理部115に渡す。
比較処理部115は、パケット転送部112から渡された通信装置A101からの送信パケットと、受信処理部114から渡されたバックアップサーバ105からの送信パケットを比較する。また必要に応じてパケットバッファ121へのパケットのリードもしくはライトを行う。
パケットバッファ121は、比較処理部115が比較完了していないバックアップサーバ105からのパケットを格納する領域である。比較処理部115がパケットを比較する際に参照され、比較完了後に削除される。なお、ここではパケットバッファ121はバックアップGW装置104内に設置されているが、外付けハードディスクやネットワークで接続された別サーバなど、外部装置でもよい。
(バックアップサーバ105)
バックアップサーバ105は、通信装置Aの複製106、クロック制御部107、受信処理部108、送信処理部109、NIC110、GW管理テーブル119、クロック管理テーブル120、パケットバッファ122を備えている。
(バックアップサーバ105)
バックアップサーバ105は、通信装置Aの複製106、クロック制御部107、受信処理部108、送信処理部109、NIC110、GW管理テーブル119、クロック管理テーブル120、パケットバッファ122を備えている。
通信装置Aの複製106は、いわゆる仮想マシン(VM)であり、通信装置A101のハードウェア(CPUやNIC等)をソフトウェアでエミュレートし、その上で通信装置A101と全く同一のソフトウェア(OSやアプリケーション等)をインストールしたものである。なお、ここではバックアップ対象が1つであるため仮想マシンが1つであるが、バックアップ対象数に合わせて仮想マシンが複数あってもよい。
従来のように処理結果を全てバックアップすると低品質なネットワークではデータ転送に時間がかかるため、本発明では、バックアップGW装置104は必要最低限の情報のみをバックアップサーバ105にバックアップし、これに基づいてバックアップサーバ105における仮想マシン106がバックアップ対象の装置の動作をエミュレートして処理結果の全てをバックアップする。仮想マシンがバックアップ対象の装置の動作を自立的に(外部からの情報を必要とせずに)エミュレートするための必要最低限の情報が、パケットとしてバックアップGW装置104から送られてくる。この必要最低限の情報としては、外部からバックアップ対象の装置に入力される情報、エミュレーション中の分岐処理の判定で必要となる情報、または、乱数発生の結果などがある。
即ち、本発明では、バックアップすべきデータの一部を、バックアップサーバ105における仮想マシンによるエミュレーションによって生成し、必要最低限の情報のみをバックアップするので転送すべきデータ量が少なく、遅延時間が長い低品質なネットワークを用いてもバックアップ処理の同期が可能となる。
クロック制御部107は、バックアップサーバ105上で動作する仮想マシンのクロック(時間)の進み方を制御する。具体的には、仮想マシン上のクロックを任意の値のところで停止させたり、クロックを数倍速で進めたりする。
受信処理部108は、NIC110から渡されたパケットをデカプセル化処理し、仮想マシン宛のパケットを抽出してパケットバッファ122に格納する。
送信処理部109は、通信装置Aの複製(仮想マシン)106からの送信パケットを受け取り、バックアップGW装置104のGW IDや送信時間のタイムスタンプを付加し、バックアップGW装置104宛のパケットになるようにカプセル化処理を行い、NIC110に渡す。
NIC110は、送信処理部109から渡されたパケットをネットワーク118に送信する。またネットワーク118から受信したパケットを受信処理部108に渡す。
GW管理テーブル119は、バックアップGW装置の情報と、バックアップGW装置が担当するバックアップ対象装置(本実施例では通信装置A101に相当)の仮想マシンを対応させて管理するテーブルである。本テーブルは、受信処理部108が受信したパケットがどの仮想マシンに対応するのかを調べる場合や、送信処理部109が仮想マシンから渡されたパケットをどのバックアップGW装置に送信すればいいかを調べる場合に参照される。詳細なテーブル構成については後段で説明する。
クロック管理テーブル120は、各仮想マシンの現在のクロック値と次に停止させるクロック値を管理するためのテーブルである。本テーブルは、受信処理部108がパケットを受信した際、クロック制御部107が仮想マシンのクロックをどこまで進めるかを調べる場合に参照される。詳細なテーブル構成については後段で説明する。
パケットバッファ122は、各仮想マシン宛のパケットを格納する領域である。仮想マシンごとに最大N個のパケットが格納される。Nは設計の際にパケット受信の頻度などから算出して決める。バックアップサーバ105が新しいパケット(PK+1)を受信すると、格納済みパケットが0個の場合はそのまま格納され、1個以上の場合はすでに格納済みの一番古いパケット(PK-α:α≧0)が仮想マシンに渡されて新しいパケット(PK+1)を格納する。そしてクロック制御部107が、バッファ内の一番新しいパケット(PK+1)のクロック値(TK+1:処理SK終了時のクロック)まで仮想マシンのクロックを進め(処理SK実行)、再度クロックを停止する。PK+1より古いパケットは、仮想マシンのクロックが各パケットのクロック値と一致したタイミングで随時仮想マシンに渡される。そして、仮想マシンのクロックが停止したとき、パケットバッファ122には停止したクロックのパケット(PK+1)のみが格納された状態となる。
(BKサーバ及びGW装置のそれぞれにおける動作の対応関係)
上記の記載をGW装置及びBKサーバでの動作としてまとめると下記のようになる。以下では、一連の処理S0~SNが実行され、GW装置における各処理SKの実行後にBKサーバにパケットPK+1が送信されるものとする。(以下では、TKは「タイムスタンプ」に統一した。「クロック」は「クロックを進める」、「現在/次回停止クロック」などの表現にのみ使用した。)
(1) GW装置では、タイムスタンプTK~TK+1の間で処理SKが動作した後、タイムスタンプTK+1のパケットPK+1がBKサーバに送信される。パケットPK+1には処理SKに関する情報(処理結果など)が含まれる。
(2) BKサーバでは、GW装置からパケットPK+1が送信されてから遅延時間τ後にパケットPK+1を受け取ると、PK+1を新たに保存するとともに、新しいパケットPK+1がBKサーバに送信されて来るまでにGW装置で実行されていた処理SK(処理Sk-1の処理結果を含むパケットPKを用いた、タイムスタンプTK~TK+1の間での処理)を仮想マシンで実行して、仮想マシンのクロックを処理SKの終了時のタイムスタンプTK(パケットPK+1を受け取った後で次回停止クロックとして設定されていた値)まで進め、その後仮想マシンは停止する。この時、現在のクロックはTK+1に、次回停止クロックはTK+2に設定される。即ち、パケットPK+1を受取ると1サイクル前の処理SKが実行される。
(「サイクル」は、GW装置においてパケット(PK)をBKサーバに送信してから次のパケット(PK+1)を送信するまでの期間であり、BKサーバにおいてはパケット(PK)をGW装置から受信してから次のパケット(PK+1)を受信するまでの期間である。)
上記の動作を図示すると、図13のようになる。
(BKサーバ及びGW装置のそれぞれにおける動作の対応関係)
上記の記載をGW装置及びBKサーバでの動作としてまとめると下記のようになる。以下では、一連の処理S0~SNが実行され、GW装置における各処理SKの実行後にBKサーバにパケットPK+1が送信されるものとする。(以下では、TKは「タイムスタンプ」に統一した。「クロック」は「クロックを進める」、「現在/次回停止クロック」などの表現にのみ使用した。)
(1) GW装置では、タイムスタンプTK~TK+1の間で処理SKが動作した後、タイムスタンプTK+1のパケットPK+1がBKサーバに送信される。パケットPK+1には処理SKに関する情報(処理結果など)が含まれる。
(2) BKサーバでは、GW装置からパケットPK+1が送信されてから遅延時間τ後にパケットPK+1を受け取ると、PK+1を新たに保存するとともに、新しいパケットPK+1がBKサーバに送信されて来るまでにGW装置で実行されていた処理SK(処理Sk-1の処理結果を含むパケットPKを用いた、タイムスタンプTK~TK+1の間での処理)を仮想マシンで実行して、仮想マシンのクロックを処理SKの終了時のタイムスタンプTK(パケットPK+1を受け取った後で次回停止クロックとして設定されていた値)まで進め、その後仮想マシンは停止する。この時、現在のクロックはTK+1に、次回停止クロックはTK+2に設定される。即ち、パケットPK+1を受取ると1サイクル前の処理SKが実行される。
(「サイクル」は、GW装置においてパケット(PK)をBKサーバに送信してから次のパケット(PK+1)を送信するまでの期間であり、BKサーバにおいてはパケット(PK)をGW装置から受信してから次のパケット(PK+1)を受信するまでの期間である。)
上記の動作を図示すると、図13のようになる。
図13の上段には、BKサーバにおいて、各サイクルごとに、保持される次回停止クロックと現在クロック、仮想マシンで実行される処理、及び旧/新の保存パケットが示されている。なお、各サイクルのうち、クロック停止期間中は、「次回停止クロック」及び「新の保存パケット」には該当するものが無い旨、「-」で表記している。また、上記の説明に基づく、「次回停止クロック」及び「現在クロック」の書き換えは、破線の矢印で示した。
図13の中段には、BKサーバとGW装置のそれぞれにおける動作の対応関係を示す。「BK時間」及び「GW時間」は、BKサーバ及びGW装置におけるそれぞれの時間軸であるが、物理的な時間は同一である。GW時間からBK時間への傾斜した矢印は、パケット転送の際に遅延時間τが存在することを示す。
図13の下段には、GW時間(横軸)とBKサーバにおけるタイムスタンプ(縦軸)との対応関係を示す。傾斜した線は、処理が実行されている(クロックが進んでいる)ことを示し、その後の太い横線は、クロック停止を示す。
GW装置における処理Skとその後に送信されるパケットPk+1を組にして時間を遡って順序づけると、Sk:第1の処理、Pk+1:第1のパケット、Sk-1:第2の処理、Pk:第2のパケット、Sk-2:第3の処理、等となる。(請求項での表記との対応)
(バックアップサーバのハードウェア構成)
次に、バックアップサーバ105のハードウェア構成について、図2を用いて説明する(適宜、図1参照)。
(バックアップサーバのハードウェア構成)
次に、バックアップサーバ105のハードウェア構成について、図2を用いて説明する(適宜、図1参照)。
バックアップサーバ105は、各種処理を行うホストCPU(Central Processing Unit)201、ホストメモリ202、周辺I/F203、記憶装置204、通信I/F205、およびバス206から構成される。そして、ホストCPU201、ホストメモリ202、周辺I/F310、記憶装置204、および通信I/F205は、バス206を介して通信可能に接続されている。
ホストCPU201は、プログラムを実行する。
ホストメモリ202は、ホストCPU201がプログラムを実行する際に、ワーキングメモリおよび入出力データの一時バッファとして用いられる。
周辺I/F203は、マウス、キーボード、モニタ等の入出力装置や、USB(Universal Serial Bus)メモリ等の外部ストレージ等の各種周辺機器、と接続するためのインタフェースである。
記憶装置204は、磁気ディスク装置、フラッシュROM(Read Only Memory)等から構成され、OS、各種ドライバ、各種アプリケーションプログラムや、プログラムで使用される各種情報(例えば、管理者または保守者によって設定される情報等)を格納している。
通信I/F205は、バックアップサーバ105がネットワーク118を介してバックアップGW装置104と通信を行う際のインタフェースを提供する。通信I/F205は、例えば、NIC(Network Interface Card)であっても良い。
なお、図2では、通信I/F205は、1つしか記載していないが、2つ以上であっても構わない。
(バックアップGW装置のハードウェア構成)
次に、バックアップGW装置104のハードウェア構成について、図3を用いて説明する(適宜、図1参照)。
(バックアップGW装置のハードウェア構成)
次に、バックアップGW装置104のハードウェア構成について、図3を用いて説明する(適宜、図1参照)。
バックアップGW装置104は、各種処理を行うホストCPU(Central Processing Unit)301、ホストメモリ302、周辺I/F303、記憶装置304、通信I/F305、およびバス306から構成される。そして、ホストCPU301、ホストメモリ302、周辺I/F310、記憶装置304、および通信I/F305は、バス306を介して通信可能に接続されている。
ホストCPU301は、プログラムを実行する。
ホストメモリ302は、ホストCPU301がプログラムを実行する際に、ワーキングメモリおよび入出力データの一時バッファとして用いられる。
周辺I/F303は、マウス、キーボード、モニタ等の入出力装置や、USB(Universal Serial Bus)メモリ等の外部ストレージ等の各種周辺機器、と接続するためのインタフェースである。
記憶装置304は、磁気ディスク装置、フラッシュROM(Read Only Memory)等から構成され、OS、各種ドライバ、各種アプリケーションプログラムや、プログラムで使用される各種情報(例えば、管理者または保守者によって設定される情報等)を格納している。
通信I/F305~307は、バックアップGW装置104がネットワーク103やネットワーク118等を介して通信装置A101、通信装置B102、バックアップサーバ105と通信を行う際のインタフェースを提供する。通信I/F305~307は、例えば、NIC(Network Interface Card)であっても良い。
なお、図3では、通信I/F305は、3つしか記載していないが、4つ以上であっても構わない。
(パケット構成)
次に、図4を用いてバックアップGW装置104とバックアップサーバ105間でやりとりされるカプセル化パケットの構成について説明する。
(パケット構成)
次に、図4を用いてバックアップGW装置104とバックアップサーバ105間でやりとりされるカプセル化パケットの構成について説明する。
401は通信装置A101が送受信する生パケット(Ethernetフレーム)である。カプセル化パケット402は、生パケット401に、タイムスタンプ、GW ID、および、バックアップGW装置104とバックアップサーバ105間で通信するために必要な情報を含んだパケットヘッダを付加したものである。パケットヘッダとして、例えば一般的にはEthernetヘッダやIPヘッダやTCPヘッダ等が考えられる、これに限定するものではなく、独自プロトコルのヘッダを用いてもよい。
(GW管理テーブル)
次に、GW管理テーブル119に格納される情報について、図5を用いて説明する(適宜、図1参照)。
(GW管理テーブル)
次に、GW管理テーブル119に格納される情報について、図5を用いて説明する(適宜、図1参照)。
プロトコル管理テーブル110は、GW ID501、GW IPアドレス502、仮想マシンID503を格納している。なお、本テーブルの情報は、バックアップサーバ105の管理者または保守者等によって予め設定されてもよいし、各装置と個別にプロトコル情報をやりとりするプログラムによって設定されてもよいし、全装置のプロトコル情報をまとめて管理しているサーバに問い合わせて設定してもよい。
GW ID501の列は、バックアップGW装置を識別するIDを格納している領域である。GW IPアドレス502の列は、バックアップGW装置のIPアドレスを格納している領域である。仮想マシンID503の列は、バックアップGW装置が担当しているバックアップ対象の複製である仮想マシンを識別するIDを格納している領域である。
図5において、例えば行504は、GW IDが「1」のバックアップGW装置のIPアドレスは「192.168.0.1」であり、対応する仮想マシンIDは「1」であることを表している。
(クロック管理テーブル)
次に、クロック管理テーブル120に格納される情報について、図6を用いて説明する(適宜、図1参照)。
(クロック管理テーブル)
次に、クロック管理テーブル120に格納される情報について、図6を用いて説明する(適宜、図1参照)。
クロック管理テーブル120は、仮想マシンID601、現在クロック602、次回停止クロック603を格納している。
仮想マシンID601は、仮想マシンを識別するIDを格納している領域である。現在クロック602は、仮想マシンの現在クロックを格納している領域である。次回停止クロック603は、仮想マシンのクロックを進める際に、どこまで進めて再度停止させるかを示すクロック値を格納する領域である。BKサーバにおいて、パケットPKを受取った時点(サイクルの始め)では、タイムスタンプTK-1が「現在クロック」となるが、1つ前のサイクル(の終わり)から見ると、タイムスタンプTK-1は「次回停止クロック」となる。また、「現在クロック」は処理開始時のタイムスタンプであるのに対し、「次回停止クロック」はその処理の終了時のタイムスタンプであり、かつ、次の処理の開始時におけるタイムスタンプである。
図6において、例えば行604は、仮想マシンIDが「1」の仮想マシンの現在クロック値が「0x12345678」であり、次に停止させるクロック値が「0x123456ff」であることを表している。
(全体処理のシーケンス)
通信装置B102から通信装置A101にパケットを送信する場合のシステム全体の処理シーケンスについて、図12を例に説明する。
(全体処理のシーケンス)
通信装置B102から通信装置A101にパケットを送信する場合のシステム全体の処理シーケンスについて、図12を例に説明する。
通信装置Bが通信装置A宛にパケット(PK)を送信する(ステップ1201)。
バックアップGW装置104では、上記通信装置A宛のパケット(PK)を受信する(ステップ1202)。バックアップGW装置内で受信したパケットを複製し(ステップ1203)、複製元のパケット(PK)を通信装置Aにパケットを送信する(ステップ1204)。通信装置Aでは、パケットを受信し(ステップ1205)、内部処理を行った後(ステップ1206)、通信装置Bへ応答パケット(QK)を送信する(ステップ1207)。
バックアップGW装置では、通信装置Aからの応答パケット(QK)を受信し(ステップ1208)、通信装置B宛に応答パケット(QK)を送信し(ステップ1209)、通信装置Bにて応答パケット(QK)を受信する(1210)。
また、バックアップGW装置では、後でバックアップサーバ105からの応答パケットと比較するために、通信装置B宛の応答パケット(QK)を、バックアップGW装置の現在内部時刻(t=TS2)とともに内部バッファに格納する(1211)。
一方、バックアップGW装置は、ステップ1203にて複製した複製パケット(PK’)に対し、現在のバックアップGW装置内の時刻(t=TS1)をタイムスタンプとして付加し(ステップ1212)、バックアップサーバ宛に送信する(ステップ1213)。
バックアップサーバでは、タイムスタンプ付パケット(t=TS1、PK’)を受信し(ステップ1214)、現在停止中の仮想マシン106の内部時刻が、付加されていたタイムスタンプ(t=TS1)に一致するまでクロックを進める。クロックが進むことにより、仮想マシン内の処理が進み、ひとつ前に受信したパケット(PK-1)の受信処理が行われる(ステップ1216)。そして、内部処理(仮想マシンによるエミュレーション)を行った後(ステップ1217)、処理したパケット(PK-1)に対応する応答パケット(QK-1’)に、仮想マシンの現在内部時刻(t=TS3)をタイムスタンプとして付加し(ステップ1218)、バックアップGW装置に送信する(ステップ1219)。そして、仮想マシンの内部時刻がt=TS1に一致した時点で、仮想マシンのクロックを停止する(ステップ1220)。
バックアップGW装置では、タイムスタンプ付応答パケット(t=TS3、QK-1’)を受信し(ステップ1221)、すでにバッファに格納されているはずの、通信装置Aからの応答パケット(QK-1)と比較する(ステップ1222)。ここで、通信装置Aとバックアップサーバが正常に同期している場合は、両応答のタイムスタンプや内容が一致する。もしバックアップサーバと通信装置Aが何らかの原因で同期できていない場合は、応答の内容が異なっていたり、タイムスタンプがずれていたり、どちらかの応答が送信されてこなかったりする。
上記のステップ1202~1204、及び1208~1213は後述の図7の処理に対応し、ステップ1214~1217、及び1220は後述の図10の処理に対応し、ステップ1218及び1219は後述の図11の処理に対応し、ステップ1222は後述の図8及び9の処理に対応する。
(通信装置A宛のパケットを受信した場合のバックアップGW装置の処理フロー)
通信装置A宛のパケットを受信した場合のバックアップGW装置の処理フロー例について、図7を用いて説明する。
(通信装置A宛のパケットを受信した場合のバックアップGW装置の処理フロー)
通信装置A宛のパケットを受信した場合のバックアップGW装置の処理フロー例について、図7を用いて説明する。
ステップ701では、NIC111がLAN103から通信装置A宛のパケットを通信装置B102から受信する。
ステップ702では、NIC111がパケット転送部112に受信パケットを渡す。
ステップ703では、パケット転送部112が受信パケットを複製し、一方のパケットについてはMACアドレス書換え等のL2スイッチと同様の処理を行った後、NIC116に渡す。そして、NIC116は渡されたパケットを通信装置A101に送信する。複製したもう一方のパケットについては、そのまま送信処理部113に渡す。
ステップ704では、送信処理部113が受信パケットに対し、受信時間を表すタイムスタンプと、自身のバックアップGW装置のIDを付与する。そして、カプセル化処理を行い、バックアップサーバ105宛の送信パケットを生成する。なお、ここで行うカプセル化処理は、TCP/IPプロトコルを用いても良いし、キャリアNWでの通信用に再送パケットを減らすなど工夫した、独自の通信プロトコルを用いても良い。
ステップ705では、送信処理部113がNIC117にカプセル化パケットを渡す。
ステップ706では、NIC117がネットワーク118経由でバックアップサーバ105にカプセル化パケットを送信する。
(通信装置Aからの送信パケットを受信した場合のバックアップGW装置104の処理フロー)
次に、通信装置Aからの送信パケットを受信した場合のバックアップGW装置の処理フロー例について、図8を用いて説明する。
(通信装置Aからの送信パケットを受信した場合のバックアップGW装置104の処理フロー)
次に、通信装置Aからの送信パケットを受信した場合のバックアップGW装置の処理フロー例について、図8を用いて説明する。
ステップ801では、NIC116が通信装置A101からパケットを受信する。
ステップ802では、NIC116がパケット転送部112に受信パケットを渡す。
ステップ803では、パケット転送部112が受信パケットを複製し、一方のパケットについてはMACアドレス書換え等のL2スイッチと同様の処理を行った後、NIC111に渡す。そして、NIC111は渡されたパケットをネットワーク103に送信する。複製したもう一方のパケットについては、比較処理部115に渡す。
ステップ804では、比較処理部115がパケットバッファ121を参照し、バックアップサーバ105からの送信パケットの有無をチェックする。ステップ805では、もし送信パケットがパケットバッファ121に有った場合、ステップ806へ進む。無かった場合、ステップ809へ進む。
ステップ806では、比較処理部115が通信装置A101 からの送信パケットと、(既にパケットバッファ121に格納されていた)バックアップサーバ105からの送信パケットを比較する。比較項目としては、例えば、タイムスタンプがあらかじめ定めてある一定の誤差範囲内に収まっているか、パケットのデータ部分(ペイロード部分)が同一であるか、などがある。もし時刻および内容が一致していなければステップ808へ進む。一致していれば、終了する。
ステップ808では、エラー出力する。エラー出力方法としては、ログとして内部メモリに書き出したり、別のサーバにメッセージを送信するなどが考えられる。
ステップ809では、比較処理部115が通信装置A101 からの受信パケットを現在時刻とともにパケットバッファ121に格納する。
(バックアップサーバ105からの送信パケットを受信した場合のバックアップGW装置104の処理フロー)
バックアップサーバ105からの送信パケットを受信した場合のバックアップGW装置の処理フロー例について、図9を用いて説明する。
(バックアップサーバ105からの送信パケットを受信した場合のバックアップGW装置104の処理フロー)
バックアップサーバ105からの送信パケットを受信した場合のバックアップGW装置の処理フロー例について、図9を用いて説明する。
ステップ901では、NIC117がネットワーク118経由でバックアップサーバ105からパケットを受信する。
ステップ902では、NIC117が受信処理部114に受信パケットを渡す処理である。
ステップ903では、受信処理部114がデカプセル処理を行い、パケットに記載されているGW IDをチェックする。もし自身のGW IDで無ければパケットを破棄して終了する。自身のGW IDと一致する場合は、ステップ905へ進む。
ステップ905では、受信処理部114が受信パケットを比較処理部に渡す。
ステップ906では、比較処理部115がパケットバッファ121を参照し、通信装置A101からの送信パケットの有無をチェックする。ステップ907では、もし送信パケットがパケットバッファ121に有る場合は、ステップ908へ進む。無い場合は、ステップ911へ進む。
ステップ908では、比較処理部115が(既にパケットバッファ121に格納されていた)通信装置A101 からの送信パケットと、バックアップサーバ105からの送信パケットを比較する。比較項目としては、例えば、タイムスタンプがあらかじめ定めてある一定の誤差範囲内に収まっているか、パケットのデータ部分(ペイロード部分)が同一であるか、などがある。もし時刻あるいは内容が一致しなければ、ステップ910へ進む。一致していれば、終了する。
ステップ910では、エラー出力する処理である。エラー出力方法としては、ログとして内部メモリに書き出したり、別のサーバにメッセージを送信するなどが考えられる。
ステップ911では、比較処理部115がバックアップサーバ105からの受信パケットをパケットに付与されていたタイムスタンプとともにパケットバッファ121に格納する処理である。
(バックアップGW装置104からのカプセル化パケットを受信した場合のバックアップサーバ105の処理フロー)
バックアップGW装置104からのカプセル化パケットを受信した場合のバックアップサーバ105の処理フロー例について、図10を用いて説明する。
(バックアップGW装置104からのカプセル化パケットを受信した場合のバックアップサーバ105の処理フロー)
バックアップGW装置104からのカプセル化パケットを受信した場合のバックアップサーバ105の処理フロー例について、図10を用いて説明する。
ステップ1001では、NIC110がネットワーク118経由でバックアップGW装置104からカプセル化パケット(PK)を受信する。
ステップ1002では、NIC110が受信処理部108に受信したカプセル化パケット(PK)を渡す。
ステップ1003では、受信処理部114がデカプセル処理を行い、パケット(PK)に記載されているGW IDおよびタイムスタンプ(TK)を取得する。
ステップ1004では、受信処理部114がGW管理テーブルを参照し、ステップ1003で取得したGW IDに対応するVM IDを取得する処理である。
ステップ1005では、受信処理部114がクロック管理テーブルを参照し、ステップ1003で取得したVM IDに対応する現在クロック値(TK-2)を、同じVM IDに対応する次回停止クロック値(TK-1)で書き換える。
ステップ1006では、受信処理部114が次回停止クロック値(TK-1)を、ステップ1003で取得した、パケット(PK)に記載のタイムスタンプ(TK)で書き換える。
ステップ1007では、受信処理部114がデカプセル化処理することで取得した、通信装置A101宛のパケットを、ステップ1003で取得したタイムスタンプ(TK)と共にバケットバッファに格納する。
ステップ1008では、受信処理部114が対応するステップ1004で取得したVM IDをクロック制御部107に渡す。
ステップ1009では、クロック制御部107がクロック管理テーブルを参照し、渡されたVM IDに対応する現在クロック値(TK-1)を取得する。
ステップ1010では、クロック制御部107がパケットバッファを参照し、ステップ1004で取得したVM IDに対応する、以前に受信して格納済みのパケット(PK-1)を取得する。
ステップ1011では、クロック制御部107がステップ1004で取得したVM IDに対応するVMの停止していたクロックを再び動かす(処理SK-1実行)。そしてそれと同時に、パケットバッファから取得した格納済みパケット(PK-1)を通信装置Aの複製(VM)106の内部に仮想的に設けられたNICに渡す。
ステップ1012では、クロック制御部107がVMのクロック値を監視し、クロック管理テーブルから取得した次回停止クロック値(TK-1)に一致したところで、VMのクロックを停止する。
(通信装置Aの複製106からパケットを送信する場合のバックアップサーバ105の処理フロー)
通信装置Aの複製106からパケットを送信する場合のバックアップサーバ105の処理フロー例について、図11を用いて説明する。
(通信装置Aの複製106からパケットを送信する場合のバックアップサーバ105の処理フロー)
通信装置Aの複製106からパケットを送信する場合のバックアップサーバ105の処理フロー例について、図11を用いて説明する。
ステップ1101では、送信処理部109が通信装置Aの複製106からの送信パケットを受信する。
ステップ1102では、送信処理部109がGW管理テーブル109を参照し、バックアップGW装置104のGW IDおよびIPアドレスを取得する。
ステップ1103では、送信処理部109がバックアップGW装置104宛のタイムスタンプ付カプセル化パケットを生成し、NIC110に渡す。カプセル化パケット生成方法については、ステップ704を参照。
ステップ1104では、NIC110がネットワーク118を介してバックアップGW装置104にカプセル化パケットを送信する。
(GW装置における障害発生時の対応処理)
タイムスタンプTK~TK+1の間にGW装置で障害が発生し、処理SKの処理が無効であることが判明したら、TK-1の時点の情報(内部情報を含む、処理SK-2の処理結果)をBKサーバからGW装置にリロードする。その後、GW装置で処理SK-1を再実行すると、障害発生の直前のタイムスタンプTKの時点(処理SK-1の終了直後の状態)に戻る。
(GW装置における障害発生時の対応処理)
タイムスタンプTK~TK+1の間にGW装置で障害が発生し、処理SKの処理が無効であることが判明したら、TK-1の時点の情報(内部情報を含む、処理SK-2の処理結果)をBKサーバからGW装置にリロードする。その後、GW装置で処理SK-1を再実行すると、障害発生の直前のタイムスタンプTKの時点(処理SK-1の終了直後の状態)に戻る。
タイムスタンプTK~TK+1の間にGW装置で処理SK実行中に障害が発生した場合、そのサイクルに対応する時間帯では、BKサーバ(仮想マシン)はまだ処理SK-1の実行中(もしくは処理完了してクロック停止中)であるため、GW装置で障害が発生した処理SKは勿論のこと、処理SK-1の処理結果さえも処理が未完であるため、処理SK及びSK-1の処理結果をGW装置にリロードできない。従って、BKサーバ(仮想マシン)で処理済みである、処理SK-1よりも1つ手前の処理SK-2の処理結果をGW装置にリロードする。
(GW装置とBKサーバにおける処理時間の比較)
処理SKのGW装置における処理時間ΔKは、BKサーバにおける処理時間δKよりも長い。即ち、BKサーバにおける仮想マシンによる処理SKの実行はエミュレーションであるので、GW装置におけるようなI/O待ち時間が無いため、ΔK>δKである。また、GW装置では、パケットPKをBKサーバに送信した後に処理時間ΔKで処理SKを行なった後でパケットPK+1をBKサーバに送信する場合、タイムスタンプ間の時間間隔TK+1-TK=DKは処理SKの処理時間ΔKに等しい。この場合、BKサーバにおける処理SK-1が、GW装置での処理SKの処理時間ΔK内に終了する必要がある。即ち、(どのサイクルでも遅延時間τが同じと仮定した場合)処理時間に関する条件として、ΔK>δK-1が必要である。
(GW装置とBKサーバにおける処理時間の比較)
処理SKのGW装置における処理時間ΔKは、BKサーバにおける処理時間δKよりも長い。即ち、BKサーバにおける仮想マシンによる処理SKの実行はエミュレーションであるので、GW装置におけるようなI/O待ち時間が無いため、ΔK>δKである。また、GW装置では、パケットPKをBKサーバに送信した後に処理時間ΔKで処理SKを行なった後でパケットPK+1をBKサーバに送信する場合、タイムスタンプ間の時間間隔TK+1-TK=DKは処理SKの処理時間ΔKに等しい。この場合、BKサーバにおける処理SK-1が、GW装置での処理SKの処理時間ΔK内に終了する必要がある。即ち、(どのサイクルでも遅延時間τが同じと仮定した場合)処理時間に関する条件として、ΔK>δK-1が必要である。
上記では、どのサイクルでも遅延時間τが同じと仮定したが、各サイクルごとに遅延時間τが異なる場合の、GW装置とBKサーバにおける処理時間の関係を図15(a)及び(b)に示す。
(a) パケットPKをBKサーバに送信した時の遅延時間をτ、パケットPK+1をBKサーバに送信した時の遅延時間をτ-d(遅延時間が前回よりもdだけ短い)とした場合、上記の処理時間に関する条件は、ΔK-d>δK-1となり、BKサーバにおける処理SK-1の処理時間に関する条件が厳しくなる。
(b) 一方、パケットPK+1をBKサーバに送信した時の遅延時間をτ+d(遅延時間が前回よりもdだけ長い)とした場合、上記の処理時間に関する条件は、ΔK+d>δK-1となり、BKサーバにおける処理SK-1の処理時間に関する条件は緩くなる。
上記の条件を満たした場合、(ΔK-d)-δK-1、あるいは(ΔK+d)-δK-1が、クロック停止の時間である。
(一連の処理(S0~SN)の始めと終わりの状態)
図13に示したように、本発明のバックアップ方法では、GW装置とBKサーバとでは処理の順序が1サイクル分ずれる。その結果、一連の処理(S0~SN)の始めと終わりの状態は図14に示すような対応関係となる。図14からわかるように、BKサーバ側で最後の処理SNの終了のためのタイムスタンプTN+1 に対応するパケットPXの送出が無いため、ダミー処理(SN+1)を実行して、ダミーのパケット(PX)を送出する必要がある。
(他の実施例)
また、上記実施形態では、バックアップGW装置104と通信装置A101を分離していたが、第2の実施形態として、バックアップGW装置104の機能をソフトウェアで実装し、バックアップGW装置104と通信装置A101の両方の機能を、通信装置A101単体で実現しても良い。
(一連の処理(S0~SN)の始めと終わりの状態)
図13に示したように、本発明のバックアップ方法では、GW装置とBKサーバとでは処理の順序が1サイクル分ずれる。その結果、一連の処理(S0~SN)の始めと終わりの状態は図14に示すような対応関係となる。図14からわかるように、BKサーバ側で最後の処理SNの終了のためのタイムスタンプTN+1 に対応するパケットPXの送出が無いため、ダミー処理(SN+1)を実行して、ダミーのパケット(PX)を送出する必要がある。
(他の実施例)
また、上記実施形態では、バックアップGW装置104と通信装置A101を分離していたが、第2の実施形態として、バックアップGW装置104の機能をソフトウェアで実装し、バックアップGW装置104と通信装置A101の両方の機能を、通信装置A101単体で実現しても良い。
また、第3の実施形態として、ネットワークパケットを含めたあらゆるI/O(キーボード入力など)を対象としても良い。すなわち、パケットの入出力を取得するパケット転送部に相当する機能が、全てのI/Oに対して備わり、その情報をタイムスタンプ付きでカプセル化してバックアップサーバ105に送信する。その場合、図4のパケット構成の401の部分は、ネットワークパケットに限らず、キーボードのキー情報などの通信装置A101へのI/Oの入力情報が格納される。
101:通信装置A
102:通信装置B
103:ネットワーク
104:バックアップGW装置
105:バックアップサーバ
106:通信装置Aの複製(仮想マシン)
107:クロック制御部
108、114:受信処理部
109、113:送信処理部
110,111、116,117:NIC
112:パケット転送部
115:比較処理部
118:ネットワーク(WAN)
119:GW管理テーブル
120:クロック管理テーブル
121、122:パケットバッファ
201、301:ホストCPU
202、302:ホストメモリ
203、303:周辺I/F
204、304:記憶装置
205、305、306、307:通信I/F
206、308:バス
401:通信装置A宛のEthernetパケット
402:バックアップGW装置からバックアップサーバへの送信パケット
102:通信装置B
103:ネットワーク
104:バックアップGW装置
105:バックアップサーバ
106:通信装置Aの複製(仮想マシン)
107:クロック制御部
108、114:受信処理部
109、113:送信処理部
110,111、116,117:NIC
112:パケット転送部
115:比較処理部
118:ネットワーク(WAN)
119:GW管理テーブル
120:クロック管理テーブル
121、122:パケットバッファ
201、301:ホストCPU
202、302:ホストメモリ
203、303:周辺I/F
204、304:記憶装置
205、305、306、307:通信I/F
206、308:バス
401:通信装置A宛のEthernetパケット
402:バックアップGW装置からバックアップサーバへの送信パケット
Claims (13)
- 自装置のバックアップを行うバックアップ装置と通信を行う通信装置であって、自身に入力される全てのI/O情報に対して、入力された時間を付与し、バックアップ装置宛の送信パケットを作成し、パケットを送信することを特徴とする通信装置。
- パケットに記載のタイムスタンプに応じてVMのクロックを制御することを特徴とするバックアップサーバ。
- 自装置のバックアップを行うバックアップ装置と通信を行う通信装置であって、受信した全ての通信パケットに対して、受信した時間を付与し、バックアップ装置宛の送信パケットを作成し、パケットを送信することを特徴とする通信装置。
- 高品質ネットワークに接続されたバックアップ対象装置と、
前記高品質ネットワークと前記バックアップ対象装置との間にあって、前記高品質ネットワークと前記バックアップ対象装置との間で送受信されるパケットを複製するバックアップGW装置と、
低品質ネットワークを介して前記バックアップGW装置に接続されたバックアップサーバとを含む遠隔バックアップシステムであって、
前記バックアップGW装置は、前記パケットの複製にタイムスタンプを付して、前記バックアップサーバに転送し、
前記バックアップサーバは、前記バックアップGW装置から受信した前記パケットの複製に基づいて、前記バックアップ対象装置の動作をエミュレートする仮想マシンを動作させてバックアップデータを生成して、記憶装置に保持することを特徴とする遠隔バックアップシステム。 - 前記バックアップGW装置は、前記バックアップ対象装置での第1の処理が終了した後、前記第1の処理の処理結果を含む、前記第1の処理に関する情報を含む第1のパケットを前記バックアップサーバに送信し、
前記バックアップサーバは、前記第1のパケットを前記バックアップGW装置から受信すると、前記受信した第1のパケットを保存するとともに、クロックを起動して前記仮想マシンを動作させて、前記第1のパケットの受信よりも前に受信して保存されていた第2のパケットに含まれている、前記第1の処理よりも前に前記バックアップ対象装置で実行された第2の処理に関する情報に基づいて、前記第1の処理を実行して処理結果を保存した後で、前記クロックを停止して前記仮想マシンの動作を停止する、ことを特徴とする請求項4記載の遠隔バックアップシステム。 - 前記バックアップGW装置において、前記バックアップ対象装置による前記第1の処理の実行中に障害が発生したことを検出した場合、
前記バックアップサーバは、前記第2の処理の実行開始前に前記仮想マシンによる処理が終了している第3の処理の処理結果を含む情報を前記バックアップサーバにリロードし、
前記バックアップGW装置は、前記リロードした情報に基づいて、前記バックアップ対象装置で前記第2の処理を再実行し、前記第2の処理が終了した直後の状態に戻す、ことを特徴とする請求項5記載の遠隔バックアップシステム。 - 前記バックアップサーバにおける前記仮想マシンによる前記第2の処理の処理時間は、前記バックアップ対象装置による前記第1の処理の処理時間よりも短い、ことを特徴とする請求項5記載の遠隔バックアップシステム。
- 高品質ネットワークに接続されたバックアップ対象装置と、
前記高品質ネットワークと前記バックアップ対象装置との間にあって、前記高品質ネットワークと前記バックアップ対象装置との間で送受信されるパケットを複製するバックアップGW装置と、
低品質ネットワークを介して前記バックアップGW装置に接続されたバックアップサーバとを含むシステムにおける遠隔バックアップ方法は、
前記バックアップGW装置は、前記パケットの複製にタイムスタンプを付して、前記バックアップサーバに転送し、
前記バックアップサーバは、前記バックアップGW装置から受信した前記パケットの複製に基づいて、前記バックアップ対象装置の動作をエミュレートする仮想マシンを動作させてバックアップデータを生成して、記憶装置に保持することを特徴とする遠隔バックアップ方法。 - 前記バックアップGW装置は、前記バックアップ対象装置での第1の処理が終了した後、前記第1の処理の処理結果を含む、前記第1の処理に関する情報を含む第1のパケットを前記バックアップサーバに送信し、
前記バックアップサーバは、前記第1のパケットを前記バックアップGW装置から受信すると、前記受信した第1のパケットを保存するとともに、クロックを起動して前記仮想マシンを動作させて、前記第1のパケットの受信よりも前に受信して保存されていた第2のパケットに含まれている、前記第1の処理よりも前に前記バックアップ対象装置で実行された第2の処理に関する情報に基づいて、前記第1の処理を実行して処理結果を保存した後で、前記クロックを停止して前記仮想マシンの動作を停止する、ことを特徴とする請求項8記載の遠隔バックアップ方法。 - 前記バックアップGW装置において、前記バックアップ対象装置による前記第1の処理の実行中に障害が発生したことを検出した場合、
前記バックアップサーバは、前記第2の処理の実行開始前に前記仮想マシンによる処理が終了している第3の処理の処理結果を含む情報を前記バックアップサーバにリロードし、
前記バックアップGW装置は、前記リロードした情報に基づいて、前記バックアップ対象装置で前記第2の処理を再実行し、前記第2の処理が終了した直後の状態に戻す、ことを特徴とする請求項9記載の遠隔バックアップ方法。 - 高品質ネットワークに接続され、前記高品質ネットワークと自装置との間で送受信されるパケットを複製する手段を有するバックアップ対象装置と、
低品質ネットワークを介して前記バックアップ対象装置に接続されたバックアップサーバとを含む遠隔バックアップシステムであって、
前記バックアップ対象装置は、前記パケットの複製にタイムスタンプを付して、前記バックアップサーバに転送し、
前記バックアップサーバは、前記バックアップ対象装置から受信した前記パケットの複製に基づいて、前記バックアップ対象装置の動作をエミュレートする仮想マシンを動作させてバックアップデータを生成して、記憶装置に保持することを特徴とする遠隔バックアップシステム。 - 前記バックアップGW装置は、
前記バックアップ対象装置に送信した前記パケットに対する前記バックアップ対象からの第1の応答を受信し、
前記バックアップサーバに送信した前記パケットの複製に対する前記バックアップサーバからの第2の応答を受信し、
前記第1の応答の内容と、前記第2の応答の内容とを比較することで、前記バックアップ対象装置と前記バックアップサーバとの同期の有無をチェックすることを特徴とする請求項4記載の遠隔バックアップシステム。 - 前記バックアップGW装置は、
前記バックアップ対象装置に送信した前記パケットに対する前記バックアップ対象からの第1の応答を受信し、
前記バックアップサーバに送信した前記パケットの複製に対する前記バックアップサーバからの第2の応答を受信し、
前記第1の応答の内容と、前記第2の応答の内容とを比較することで、前記バックアップ対象装置と前記バックアップサーバとの同期の有無をチェックすることを特徴とする請求項8記載の遠隔バックアップ方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/070758 WO2013038475A1 (ja) | 2011-09-12 | 2011-09-12 | 遠隔バックアップシステム、及び遠隔バックアップ方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/070758 WO2013038475A1 (ja) | 2011-09-12 | 2011-09-12 | 遠隔バックアップシステム、及び遠隔バックアップ方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013038475A1 true WO2013038475A1 (ja) | 2013-03-21 |
Family
ID=47882743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/070758 WO2013038475A1 (ja) | 2011-09-12 | 2011-09-12 | 遠隔バックアップシステム、及び遠隔バックアップ方法 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2013038475A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH118647A (ja) * | 1997-06-18 | 1999-01-12 | Fujitsu Ten Ltd | ゲートウェイ |
JP2001211190A (ja) * | 2000-01-25 | 2001-08-03 | Hitachi Ltd | 通信管理装置及び通信管理方法 |
JP2001306349A (ja) * | 2000-04-27 | 2001-11-02 | Mitsubishi Electric Corp | バックアップ装置及びバックアップ方法 |
JP2005250839A (ja) * | 2004-03-04 | 2005-09-15 | Nomura Research Institute Ltd | 耐障害性システム |
JP2011028578A (ja) * | 2009-07-27 | 2011-02-10 | Hitachi Ltd | 縮退業務支援システム、縮退業務支援方法、およびバックアップサーバ |
-
2011
- 2011-09-12 WO PCT/JP2011/070758 patent/WO2013038475A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH118647A (ja) * | 1997-06-18 | 1999-01-12 | Fujitsu Ten Ltd | ゲートウェイ |
JP2001211190A (ja) * | 2000-01-25 | 2001-08-03 | Hitachi Ltd | 通信管理装置及び通信管理方法 |
JP2001306349A (ja) * | 2000-04-27 | 2001-11-02 | Mitsubishi Electric Corp | バックアップ装置及びバックアップ方法 |
JP2005250839A (ja) * | 2004-03-04 | 2005-09-15 | Nomura Research Institute Ltd | 耐障害性システム |
JP2011028578A (ja) * | 2009-07-27 | 2011-02-10 | Hitachi Ltd | 縮退業務支援システム、縮退業務支援方法、およびバックアップサーバ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2490357B1 (en) | A method of time synchronization of free running nodes in an avionics network | |
KR101091460B1 (ko) | 네트워크에서의 복원을 촉진하는 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
TWI435202B (zh) | 回應於主要時間伺服器的時間碼接收器之失效,將主要時間伺服器維持為目前的時間伺服器 | |
KR101109980B1 (ko) | 조정된 타이밍 네트워크 내의 서버 동기화 촉진 | |
KR101109897B1 (ko) | 메시지 교환 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
JP2021509797A (ja) | 時間情報決定方法、装置及びデバイス | |
JP5127482B2 (ja) | タイミング同期方法、同期装置、同期システム及び同期プログラム | |
US20080077686A1 (en) | System and Method for Replication of Network State for Transparent Recovery of Network Connections | |
JP5548829B2 (ja) | 計算機システム、データ管理方法及びデータ管理プログラム | |
US20110225382A1 (en) | Incremental replication using snapshots | |
WO2008148319A1 (fr) | Procédé de récupération d'image, équipement de stockage et système réseau | |
US20200293220A1 (en) | Log processing method, and related device and system | |
CN104281631A (zh) | 分布式数据库系统及其数据同步方法和节点 | |
US7533289B1 (en) | System, method, and computer program product for performing live cloning | |
JP5154648B2 (ja) | ネットワークにおいて、分散型方式からマスタ/スレーブ型方式へ切換える方法。 | |
JP4550867B2 (ja) | Tcpセッション切替装置および方法、プログラムおよび記録媒体 | |
CN113190620A (zh) | Redis集群之间数据的同步方法、装置、设备及存储介质 | |
WO2016101409A1 (zh) | 数据倒换的方法、设备及系统 | |
WO2013038475A1 (ja) | 遠隔バックアップシステム、及び遠隔バックアップ方法 | |
BR112017005333B1 (pt) | Método para ajuste de sincronização de pilha para comunicações seriais, dispositivo usb com ajuste de sincronização de pilha, e, sistema de comunicações com ajuste de sincronização de pilha para comunicações seriais | |
JP6805938B2 (ja) | 仮想lanの時刻同期方法 | |
Boulanger et al. | A time synchronization protocol for A664-P7 | |
KR20120048126A (ko) | 이더넷 파워링크에서의 마스터 이중화 방법 | |
KR20140140973A (ko) | 가상 머신 기반의 무중단 시스템 및 상기 시스템에서의 패킷 중재 방법 | |
JP2019110410A (ja) | ネットワーク機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11872450 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: 11872450 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |