KR101766446B1 - Duplex system and methods for synchronizing data and restoring data - Google Patents

Duplex system and methods for synchronizing data and restoring data Download PDF

Info

Publication number
KR101766446B1
KR101766446B1 KR1020160015252A KR20160015252A KR101766446B1 KR 101766446 B1 KR101766446 B1 KR 101766446B1 KR 1020160015252 A KR1020160015252 A KR 1020160015252A KR 20160015252 A KR20160015252 A KR 20160015252A KR 101766446 B1 KR101766446 B1 KR 101766446B1
Authority
KR
South Korea
Prior art keywords
application
information
session
data
tcp session
Prior art date
Application number
KR1020160015252A
Other languages
Korean (ko)
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 KR1020160015252A priority Critical patent/KR101766446B1/en
Application granted granted Critical
Publication of KR101766446B1 publication Critical patent/KR101766446B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Abstract

The present invention relates to a duplication system and method for synchronizing and restoring data. The present invention separates and synchronizes TCP session information and application information (data snapshot), thereby collecting and synchronizing minimum application information and TCP session information, When it detects the occurrence, it can recover the TCP session using the TCP session information of the synchronized data and recover the application based on the application information.

Figure R1020160015252

Description

[0001] Duplex system and methods for synchronizing and restoring data [

To a technique for providing a seamless service to a user using a backup device even if a failure occurs in the master device in the redundant system.

A fault tolerant system is a system that can perform a function normally or partially even if a fault or failure occurs in a part of the components constituting the system.

Fault tolerance systems are used in safety-critical and mission-critical embedded systems where accidents occur that cause damage to people or property if they occur in the event of a fault. Specifically, it is used in embedded systems in various fields such as nuclear power, power generation, energy, defense, aviation, space, automobile, railroad, shipbuilding, plant,

Among the methods of restoring the fault in the fault tolerant system, the redundant system is typically operated in the following three ways.

First, a replication method is a method in which a plurality of identical systems are prepared and executed in parallel, and a result satisfying a majority is applied as a correct result.

Second, the redundancy method is a method of preparing a plurality of the same system and switching to the auxiliary system when a failure occurs.

Third, the diversity scheme is based on the precondition that a plurality of systems do not cause the same failure, and a plurality of different hardware systems are prepared in the same specification and operated as duplication.

When a duplication system using a multiplexing scheme is applied to TCP, the conventional TCP restoration method synchronizes all the TCP packets exchanged in the master device directly with the client device in the case of a failure in the master device, , There is a risk of packet loss, and it takes a long time to synchronize the session information.

Korean Patent Application No. 2010-0071885 entitled " Fault Tolerant System and Method for Session Control System "has been proposed as an example of a fault tolerance technique for recovering a conventional session. In the prior art

A fault tolerant system for a session control system is disclosed in which a first session control apparatus in an active state and a second session control apparatus in a standby state are configured in a parallel structure, and a duplication system of a session control apparatus for a VoIP service.

However, the prior art has a problem in that, in the event of a failure, the session must be restored by restoring the session in order to synchronize with the client.

Korean Patent Publication No. 2010-0071885 (published on June 29, 2010)

It is an object of the present invention to provide a redundancy system and method for synchronizing and restoring data.

Specifically, the present invention separates a TCP session and application information from a redundant system and performs synchronization to collect and synchronize the minimum application information and session information, and recover the TCP session using the session information when the failure occurs And restores the application in a short time by restoring the application based on the application information.

In order to achieve the above object, a duplication system according to an embodiment of the present invention, when an event for receiving data from a client device occurs or an event for transmitting data to the client device occurs, A master device for generating a data snapshot of the application data information, transmitting the data snapshot to the backup device to synchronize the application, and transmitting the TCP session information or the transmission packet to the backup device to synchronize the TCP session; And the backup device storing the data snapshot, the TCP session information, and the transmission packet.

At this time, the data snapshot may include at least one of information on an application running on the master device, data used by the application, status information of the application, and parameter values of the application.

At this time, when the master device receives the response packet for the transmission packet, the master device can delete the transmission packet stored in the backup device and synchronize with the backup device.

At this time, if the failure of the master device is detected, the backup device checks and restores the last TCP session, confirms the socket information of the last TCP session, checks the data snapshot corresponding to the socket information, can do.

At this time, the master device includes an Application Program (APP), an Application Synchronizing Module (APP Sync), an Application Side Wrapper Module (ASWM), a Session Synchronization Daemon (TSSD) Synchronizing Daemon) and a Session Session Handling Module (TSHM).

At this time, when an event for receiving data from the client device or an event for transmitting data to the client device occurs, the application processor processes the event and generates the data snapshot for the application data information Request the synchronization by the application synchronization unit, and request the synchronization of the TCP session or the transmission packet to the session processing unit through the application side wrapper unit.

At this time, the application synchronization unit may transmit the data snapshot to the client device and synchronize the application.

When the session processing unit manages the TCP session information or the transmission packet information and receives a synchronization request through the application side wrapper unit, the session processing unit transmits the TCP session information or the transmission packet information at the time of the synchronization request to the session synchronization daemon Can be transmitted to the backup apparatus through the backup unit and synchronized.

The master device further includes an IP side wrapper module (ISWM), and the IP side wrapper part transmits the transmission packet to the client device, and upon receiving a response packet for the transmission packet, And request the session processing unit to delete the transmission packet.

At this time, the application-side wrapper unit suspends the TCP procedure for transmitting the transmission packet to the client apparatus until the transmission packet is stored and synchronized with the backup apparatus, And may suspend the TCP procedure for transmitting a response (ACK) packet to the client device until the TCP session information is stored in the backup device and synchronized.

At this time, the backup device includes an Application Program (APP), an Application Synchronization Module (APP Sync), an Application Side Wrapper Module (ASWM), a Session Synchronization Daemon (TSSD) Synchronizing Daemon (TSHM), Session Session Handling Module (TSHM), and Session Session Repository Daemon (TSRD).

At this time, the session storage daemon unit may store the TCP session information or the transmission packet received from the master device.

The application synchronization unit may store the data snapshot received from the master device and transmit a data snapshot corresponding to the socket information to the application processing unit in response to a request from the application processing unit.

At this time, the application processing unit detects the failure of the master device, and when the failure is detected, requests the restoration of the TCP session to the session processing unit through the application side wrapper unit, Upon receipt of the socket information of the restored TCP session, the application synchronization unit may request and receive a data snapshot corresponding to the socket information, and recover the application based on the received data snapshot.

The session processing unit receives the TCP session information stored last in the session storage daemon unit through the session synchronization daemon unit to restore the TCP session when the TCP session restoration is requested, To the application processing unit via the application side wrapper unit.

At this time, the backup apparatus further includes an IP side wrapper module (ISWM), and the IP side wrapper unit, when receiving a response packet for the transmission packet from the client apparatus, As shown in FIG.

At this time, the application synchronization unit may store the last received data snapshot received from the master device, and delete the previously received data snapshot.

At this time, if there is a plurality of received TCP session information, the session storage daemon unit may store the last received TCP thin line information and delete the previously received TCP session.

A method of a duplication system according to an embodiment of the present invention is a method of processing an event when an event of receiving data from a client device in a master device or an event of transmitting data to the client device occurs, Generating a data snapshot with respect to the data; Transmitting the data snapshot from the master device to a backup device; Storing the data snapshot received by the backup device and synchronizing the application; Transmitting TCP session information or a transmission packet from the master device to the backup device; And synchronizing a TCP session by storing the TCP session information or the transmission packet in the backup device.

The step of synchronizing the application may include synchronizing the master device and the application by storing only the latest version of the data snapshot information in the backup device.

In this case, the step of synchronizing the TCP session may include synchronizing the TCP session with the master device by storing only the latest version of the TCP session information in the backup device.

At this time, the method of the redundant system includes: transmitting the transmission packet to the client device when synchronization of the TCP session is completed in the master device; Requesting the backup device to delete the transmission packet when the master device receives a response packet for the transmission packet from the client device; And deleting the transmission packet requested to be deleted from the backup device.

In this case, when the failure of the master device is detected in the backup device, the method of the duplication system restores the TCP session using the last stored TCP session information. Checking socket information of the last TCP session in the backup device; And checking the data snapshot corresponding to the socket information in the backup device and restoring the application based on the data snapshot corresponding to the socket information.

The present invention relates to a duplication system having a master device and a backup device, and is applicable to an application using a TCP connection and a routing protocol to provide a stable network environment even in the event of a failure, It is possible to reduce the storage amount of the recovery data by relatively performing the synchronization based on the snapshot, and it is possible to shorten the recovery time when the failure occurs due to the reduction of the synchronization data amount.

1 is a diagram illustrating a configuration of a duplication system according to an embodiment.
2 is a diagram illustrating a synchronization process when an event for receiving data from a client device occurs in a duplication system according to an embodiment.
3 is a diagram illustrating a synchronization process when an event for transmitting data to a client apparatus in a duplication system according to an embodiment occurs.
FIG. 4 illustrates a process of recovering from a failure in a redundant system according to an embodiment. Referring to FIG.
5 is a flowchart illustrating a synchronization process in a redundancy system according to an exemplary embodiment.
6 is a flowchart illustrating a process of recovering from a failure in a redundant system according to an embodiment.

It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are only for the purpose of illustrating embodiments of the inventive concept, But may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.

Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. However, it is not intended to limit the embodiments according to the concepts of the present invention to the specific disclosure forms, but includes changes, equivalents, or alternatives falling within the spirit and scope of the present invention.

The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.

It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Expressions that describe the relationship between components, for example, "between" and "immediately" or "directly adjacent to" should be interpreted as well.

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises ", or" having ", and the like, are used to specify one or more other features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.

Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.

Hereinafter, a redundancy system and method for synchronizing and restoring data according to an embodiment of the present invention will be described in detail with reference to FIGS. 1 to 6.

1 is a diagram illustrating a configuration of a duplication system according to an embodiment.

Referring to FIG. 1, the duplication system stores data generated during communication with the client device 110 using the master device 120 and the backup device 130, and can recover data using the stored data if a failure occurs have.

The master device 120 processes the event and generates a data snapshot of the application data information when an event occurs that receives data from the client device 110 or an event occurs that sends data to the client device 110 Transmits the data snapshot to the backup device 120 to synchronize the application, and transmits the TCP session information or the transmission packet to the backup device 120 to synchronize the TCP session. At this time, the TCP session information is all information required to recover the TCP session, and may include information such as the TCP window / sequence / ask / port of the synchronization point so that the backup device 130 can recover the TCP session information.

The data snapshot is a collection of all information for restoring the currently running application. It includes information of an application being executed in the master device 120, data being used by the application, status information of the application, and parameter values of the application can do. The data snapshot may have different information depending on the type of application being executed. For example, if the application is a Border Gateway Protocol (BGP), the data snapshot may include routing table information, hop information, etc., and if the application is a web server, The last connection page, and the like.

When the master device 120 receives a response packet to the transmission packet transmitted to the client device 110 from the backup device 120, the master device 120 transmits the transmission packet to the client device 110 from the transmission packet stored in the backup device 120 Requests to delete the transmission packet corresponding to the received response packet, and synchronizes.

The detailed configuration and operation of the master device 120 will be described below.

The master device 120 includes an application processing unit (APP) 121, an application synchronization unit (APP Sync) 122, an application side wrapper module (ASWM) 123, (TCP) 124, an IP Side Wrapper Module (ISWM) 125, a TCP Session Handling Module (TSHM) 126, a Session Synchronization Daemon (TSSD) The client device 110 can communicate with the backup device 120 using the client device 127 and perform synchronization with the backup device 120. [

The APP 121 processes an event and generates a data snapshot of the application data information when an event occurs that receives data from the client device 110 or an event occurs that sends data to the client device 110 Requests synchronization to the APP Sync 122, and requests synchronization of the TCP session or the transmission packet to the TSHM 126 via the ASWM 123.

The APP Sync 122 sends the data snapshot to the APP Sync 132 of the backup device 130 to synchronize the application.

The TSHM 126 operates in the kernel layer and manages TCP session information or transmission packet information. When the synchronization is requested through the ASWM 123, the TSHM 126 transmits the TCP session information or transmission packet information at the time of the synchronization request to the TSSD 127 To the backup device 120 for synchronization.

The TSSD 127 is responsible for delivering the TCP session information received from the TSHM 126 to be stored in the TSRD 140. That is, the TSSD 127 may serve as an interface for connecting the TSHM 126 and the TSRD 140 of the backup device 130.

The ISWM 125 operates in the kernel layer and is located between the TCP layer and the IP and transmits a transmission packet to the client device 110. When the ISWM 125 detects reception of a response packet for a transmission packet for synchronization, And requests to delete the transmission packet.

The ASWM 123 operates in the kernel layer and is located between the TCP 124 and the APP 121. The ASWM 123 provides an API (Application Program Interface) for processing TCP sockets.

The ASWM 123 may then suspend the TCP procedure for sending a transmission packet to the client device 110 until the transmission packet is stored in the backup device 120 and synchronized. The ASWM 123 also transmits a response (ACK) packet to the client device 110 until the TCP session information generated by the event of receiving data from the client device 110 is stored in the backup device 120 and synchronized The TCP procedure for retransmission may be suspended.

On the other hand, when the failure of the master device 120 is detected, the backup device 120 checks and restores the last TCP session, confirms the socket information of the last TCP session, checks the data snapshot corresponding to the socket information, Restore.

The detailed configuration and operation of the backup device 130 will be described below.

The backup device 130 includes an application processing unit (APP) 131, an application synchronization unit (APP Sync) 132, an application side wrapper (ASWM) unit 133, (TCP) 134, an IP Side Wrapper Module (ISWM) 135, a TCP Session Handling Module (TSHM) 136, a TCP Session Synchronization Daemon (TSSD) The master device 120 synchronizes the data transmitted from the master device 120 by using the session control module 137 and the TCP session repository daemon (TSRD) 140, Can be restored.

The TSRD 140 stores the TCP session information or the transmission packet received from the master device 120, and can provide the stored TCP session information or the transmission packet according to the request. The TSRD 140 may store the last received TCP thin line information if the received TCP session information is plural, and manage the TCP session information to be the latest version by deleting the previously received TCP session information.

1, the TSRD 140 is included in the backup device 130. However, the TSRD 140 may be configured as a separate external device to communicate with the master device 120 and the backup device 130 .

The APP Sync 132 stores and synchronizes data snapshots received from the master device 120 and transmits a data snapshot corresponding to the socket information to the APP 131 upon request of the APP 131 in the event of a failure.

The APP Sync 132 may store the last received data snapshot received from the master device 120 and may manage the data snapshot to be the latest version by deleting previously stored data snapshot.

The APP 131 detects the failure of the master device 120 and requests the restoration of the TCP session to the TSHM 136 via the ASWM 133 when the failure is detected and transmits the restoration of the TCP session from the TSHM 136 via the ASWM 133 Upon receipt of the socket information of the restored TCP session, the APP Sync 132 requests and receives a data snapshot corresponding to the socket information, and restores the application based on the received data snapshot. At this time, the data snapshot corresponding to the socket information may indicate a data snapshot corresponding to the IP and port information of the remote host of the socket.

After the application is restored, the APP 131 resumes communication with the client device 110 using the received socket information, so that the client device 110 can communicate with the master device 120 in a state in which the client device 110 can not detect an abnormality with respect to the master device 120 .

APP 131 can detect a failure through various methods. For example, when the heartbeat signal transmitted from the master device 120 at a predetermined interval is broken, the heartbeat signal is detected as a failure or the heartbeat signal transmitted from the backup device 110 to the master device 120 Heart Beat Signal) is not received. At this time, the APP 131 may transmit or receive a beep signal and sense a failure, but it may be realized through another configuration of the duplication system, or through a separate internal device or external device.

The TSHM 136 receives the TCP session information stored last in the TSRD 140 via the TSSD 137 and restores the TCP session. When the TCP session is restored from the socket 131, And transmits the information to the APP 131 via the ASWM 133. [

The TSSD 137 transmits the TCP session information requested by the TSHM 136 to the TSRD 140. That is, the TSSD 137 can serve as an interface for connecting the TSHM 136 and the TSRD 140.

The ISWM 135 operates in the kernel layer and is located between the TCP layer and the IP layer. Upon receiving the response packet for the transmission packet from the client device 110, the ISWM 135 requests the TSHM 136 to delete the transmission packet.

When the master device 120 fails, the APP 131, the APP Sync 132, the ASWM 133, the ISWM 135, the TSHM 136, and the TSSD 137 of the backup device 130 each fail After the recovery, the master device 120 can perform the same operation as the device of the same name included in the master device 120 until the master device 120 recovers from the failure.

Meanwhile, the backup device 130 includes an APP 131, an APP Sync 132, an ASWM 133, a TCP 134, an ISWM 133, and an ISWM 132, which are all included in the backup device 130 for synchronization with the master device 120. (TSHM 136, TSSD 137, and TSRD 140), but may only drive the minimum configuration for synchronization. For example, only the APP Sync 132 and TSRD 140 of the backup device 130 can operate and synchronize with the master device 120.

Hereinafter, a method of synchronizing and restoring data in the redundant system according to the present invention will be described with reference to the drawings.

2 is a diagram illustrating a synchronization process when an event for receiving data from a client device occurs in a duplication system according to an embodiment.

2, when the TCP layer 128 of the master device 120 receives the TCP data requesting a read from the client device 110 in step 210, the TCP layer 128 reads the TCP data from the client device 110, And transmits an event related to the request to APP 121 (212).

The APP 121 of the master device 120 processes 214 a read event and generates a data snapshot 216 and sends the generated data snapshot to the APP Sync 122 at 218. [ . At this time, the data snapshot collects all the information for restoring the currently running application and includes information of the application being executed in the master device 120, data being used by the application, status information of the application, can do.

The APP Sync 122 of the master device 120 sends a data snapshot received from the APP 121 to the APP Sync 132 of the backup device 130 to request synchronization (220).

When the APP Sync 132 of the backup device 130 receives a data snapshot from the APP Sync 122 of the master device 120, the APP Sync 132 stores (updates) the received data snapshot to update the master device 120 and the application Synchronize (222). At this time, the APP Sync 132 can manage the data snapshot to keep the latest version.

When the APP 121 of the master device 120 requests the TCP layer 128 to synchronize the TCP session 224, the TCP layer 128 of the master device 120 generates TCP session information, To the TCP layer 138 of the base station 130 (226).

Upon receiving the TCP session information, the TCP layer 138 of the backup device 130 stores and synchronizes the TCP session (228). At this time, the TCP layer 138 can manage the TCP session information to keep the latest version.

Thereafter, the TCP layer 128 of the master device 120 transmits a response (ask) to the TCP data in step 210 to the client device 110 (230). In step 230, the TCP layer 128 of the master device 120 transmits a transmission packet to the client device 110 when a send packet to be transmitted to the client device 110 exists.

Operation in each configuration of the redundant system when a transmission packet occurs will be described later with reference to FIG.

3 is a diagram illustrating a synchronization process when an event for transmitting data to a client apparatus in a duplication system according to an embodiment occurs.

Referring to FIG. 3, when the APP 121 of the master device 120 detects the occurrence of a send event, it processes 310 a transmission event, generates a data snapshot 312, And sends the snapshot to the APP Sync 122 (314). At this time, the data snapshot collects all the information for restoring the currently running application and includes information of the application being executed in the master device 120, data being used by the application, status information of the application, can do.

The APP Sync 122 of the master device 120 sends the data snapshot received from the APP 121 to the APP Sync 132 of the backup device 130 to request synchronization (316).

When the APP Sync 132 of the backup device 130 receives a data snapshot from the APP Sync 122 of the master device 120, the APP Sync 132 stores (updates) the received data snapshot to update the master device 120 and the application And synchronizes (318). At this time, the APP Sync 132 can manage the data snapshot to keep the latest version.

Thereafter, the APP 121 of the master device 120 transmits a transmission request for synchronizing the transmission packet and the TCP session generated in the event processing to the TCP layer 128 (320).

The TCP layer 128 of the master device 120 generates the TCP session information and transmits the transmission packet and the TCP session information to the TCP layer 138 of the backup device 130 (322).

Upon receiving the transmission packet and the TCP session information, the TCP layer 138 of the backup device 130 stores and synchronizes the TCP session (324). At this time, the TCP layer 138 can manage the TCP session information to keep the latest version, and can manage the received transmission packet until receiving the deletion request.

Then, the TCP layer 128 of the master device 120 transmits the transmission packet to the client device 110 (326). On the other hand, when the TCP layer 128 of the master device 120 receives the response packet for the transmission packet from the client device 110, the TCP layer 128 of the master device 120 transmits a transmission packet corresponding to the response packet to the TCP layer 138 of the backup device 130 The user may request the deletion.

FIG. 4 illustrates a process of recovering from a failure in a redundant system according to an exemplary embodiment of the present invention. Referring to FIG.

4, when a failure occurs in the master device 120, the APP 121 of the backup device 130 detects a failure of the master device 120 (412) The TCP layer 138 requests recovery of the TCP session (414).

When the TCP layer 138 of the backup device 130 receives the request to recover the TCP session from the APP 121, the TCP layer 138 restores the TCP session (step 416), and transmits the socket information of the recovered TCP session to the APP 121 (418).

The APP 121 of the backup device 130 requests the APP Sync 122 of the backup device 130 for synchronization data corresponding to the socket information (420).

When the APP Sync 122 of the backup device 130 receives a request for synchronization data from the APP 121, it transmits a data snapshot corresponding to the socket information to the APP 121 (422).

When the APP 121 of the backup device 130 receives the data snapshot from the APP Sync 122, it restores the application using the data snapshot (424).

Then, the APP 121 of the backup device 130 can communicate with the client device 110 through the TCP layer 138 to transmit and receive TCP data (426).

Meanwhile, in the description of the present invention, the message may be implemented in a form that does not receive a response after transmitting a message (data) between devices constituting the redundant system, or may be implemented in a form of receiving a response (ask) . In the figure, the transmission of the response (ask) is omitted, but the reply (ask) can be transmitted after receiving the message.

5 is a flowchart illustrating a synchronization process in a redundancy system according to an exemplary embodiment.

Referring to FIG. 5, when the master device 120 of the duplication system detects the occurrence of an event (510), it processes the generated event (512). At this time, the event may be an event for receiving data from the client device 110 or an event for transmitting data to the client device 110.

Then, the master device 120 generates a data snapshot of the application data information (514).

Then, the master device 120 transmits the data snapshot to the backup device 130 of the duplication system (516).

The backup device 130 stores the received data snapshot and synchronizes the application with the master device 120 (518). At this time, the backup device 130 may store only the latest version of the data snapshot information and may synchronize the application with the master device 120. [

Then, the master device 120 transmits the TCP session information or the transmission packet to the backup device 130 (520).

The backup device 130 stores the TCP session information or the transmission packet and synchronizes the TCP session with the master device 120 (522). At this time, the backup device 130 may store only the latest version of the TCP session information, and may synchronize the TCP session with the master device 120. Then, the backup device 130 stores and manages the transmission packet that does not receive the corresponding response packet.

The reason why the master device 120 transmits the transmission packet to the backup device 130 and synchronizes is because the transmission packet must be retransmitted when the response packet is not received.

Then, after synchronization of the TCP session is completed, the master device 120 transmits a response packet or a transmission packet to the client device 110 when a response packet or a transmission packet to be transmitted to the client device 110 exists (524) .

Thereafter, the master device 120 receives a response packet for the transmission packet transmitted in step 526 from the client device 110 (step 528), and deletes the transmission packet corresponding to the response packet stored and synchronized in step 522 with the backup And requests it to the device 130 (530).

Then, the backup device 130 deletes the transmission packet requested to be deleted (532).

6 is a flowchart illustrating a process of recovering from a failure in a redundant system according to an embodiment.

Referring to FIG. 6, the backup apparatus 130 of the duplication system detects if a failure occurs in the master apparatus 120 (610).

If it is determined in step 610 that a failure is detected in the master device 120, the backup device 130

 The TCP session is restored using the last stored TCP session information (612).

Then, the backup device 130 confirms the socket information of the TCP session used for restoration (614).

Then, the backup device 130 confirms a data snapshot corresponding to the socket information (616).

Then, the backup device 130 restores the application based on the data snapshot corresponding to the socket information (618).

The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be embodyed temporarily. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

Therefore, other implementations, other embodiments and equivalents to the claims are within the scope of the following claims.

110; Client device
120; Master device
121; An application processing unit (APP)
122; An application synchronization unit (APP Sync)
123; Application Side Wrapper Module (ASWM)
124; The TCP processor
125; IP Side Wrapper Module (ISWM)
126; A Session Handling Module (TSHM)
127; The Session Synchronization Daemon (TSSD)
130; Backup device
131; An application processing unit (APP)
132; An application synchronization unit (APP Sync)
133; Application Side Wrapper Module (ASWM)
134; The TCP processor
135; IP Side Wrapper Module (ISWM)
136; A Session Handling Module (TSHM)
137; The Session Synchronization Daemon (TSSD)
140; Session Session Repository Daemon (TSRD)

Claims (17)

Processing an event and generating a data snapshot of the application data information when an event is received from the client device or an event occurs that sends data to the client device; A master device for transmitting and synchronizing an application and transmitting TCP session information or a transmission packet to the backup device to synchronize a TCP session; And
Wherein the controller is configured to store the data snapshot, the TCP session information, and the transmission packet, and when a failure of the master device is detected, a last TCP session is confirmed and restored, socket information of the last TCP session is confirmed, The backup device for restoring an application by checking a data snapshot
Lt; / RTI >
The data snapshot includes:
Wherein the information is information necessary for restoring an application running at the time of processing the event, the information including information of an application running on the master device, data being used by the application, status information of the application,
Redundant system.
The method according to claim 1,
The data snapshot includes:
Characterized in that information to be stored is different depending on the type of the application being driven,
If the type of the application is an application BGP (Border Gateway Protocol), the data snapshot includes routing table information and hop information,
If the type of the application is a web server, the data snapshot includes the last access page
Redundant system.
The method according to claim 1,
The master device comprises:
Upon receipt of a response packet for the transmission packet, deletes the transmission packet stored in the backup device and synchronizes with the backup device
Redundant system.
delete The method according to claim 1,
The master device comprises:
An Application Synchronizing Module (APP Synchronization Module), an Application Side Wrapper Module (ASWM), a Session Synchronization Daemon (TSSD), and a Session Processor TSHM (TCP Session Handling Module)
The application processing unit,
When an event for receiving data from the client device occurs or an event for transmitting data to the client device occurs, an event is generated and the data snapshot is generated for the application data information, Requests the session processor to synchronize the TCP session or the transmission packet through the application side wrapper unit,
Wherein the application synchronization unit comprises:
Sending the data snapshot to the client device to synchronize the application,
The session processing unit,
When receiving synchronization request through the application side wrapper unit, the TCP session information or the transmission packet at the time of requesting synchronization is transmitted to the backup device through the session synchronization daemon unit, doing
Redundant system.
6. The method of claim 5,
The master device comprises:
Further comprising an IP Side Wrapper Module (ISWM)
Side wrapper portion,
Transmits the transmission packet to the client apparatus, and upon receiving a response packet for the transmission packet, requests the session processing unit to delete the transmission packet
Redundant system.
6. The method of claim 5,
Side wrapper unit,
Suspending a TCP procedure for transmitting the transmission packet to the client device until the transmission packet is stored and synchronized with the backup device,
(TCP) procedure to send a response (ACK) packet to the client device until the TCP session information generated by the event receiving data from the client device is stored and synchronized in the backup device
Redundant system.
The method according to claim 1,
The backup device comprising:
An Application Synchronizing Module (APP Sync), an Application Side Wrapper Module (ASWM), a TCP Session Synchronizing Daemon (TSSD), a Session Processing Unit TSHM (TCP Session Handling Module) and TSRD (TCP Session Repository Daemon)
The session storage daemon unit,
Storing the TCP session information or the transmission packet received from the master device,
Wherein the application synchronization unit comprises:
Storing the data snapshot received from the master device, transmitting a data snapshot corresponding to the socket information to the application processor in response to a request from the application processor,
The application processing unit,
Wherein the application processor detects a failure of the master device and requests the session processor to restore the TCP session through the application side wrapper unit when the failure is detected, Requesting and receiving a data snapshot corresponding to the socket information by the application synchronization unit, restoring an application based on the received data snapshot,
The session processing unit,
Receiving the TCP session information stored last in the session storage daemon through the session synchronization daemon, restoring the TCP session, and transmitting the socket information of the restored TCP session to the application Side wrapper unit to the application processing unit
Redundant system.
9. The method of claim 8,
The backup device comprising:
Further comprising an IP Side Wrapper Module (ISWM)
Side wrapper portion,
Upon receiving a response packet for the transmission packet from the client apparatus, requests the session processing unit to delete the transmission packet
Redundant system.
9. The method of claim 8,
Wherein the application synchronization unit comprises:
Storing the last received data snapshot received from the master device and deleting the previously received data snapshot
Redundant system.
9. The method of claim 8,
The session storage daemon unit,
If there is more than one received TCP session information, the last received TCP thin line information is stored, and the previously received TCP session is deleted
Redundant system.
Processing an event and generating a data snapshot of the application data information when an event occurs in the master device to receive data from the client device or when an event occurs to transmit data to the client device;
Transmitting the data snapshot from the master device to a backup device;
Storing the data snapshot received by the backup device and synchronizing the application;
Transmitting TCP session information or a transmission packet from the master device to the backup device;
Storing the TCP session information or the transmission packet in the backup device and synchronizing a TCP session;
Recovering a TCP session using the last stored TCP session information when the backup device detects a failure of the master device;
Checking socket information of the last stored TCP session in the backup device; And
Checking a data snapshot corresponding to the socket information in the backup device and restoring an application based on a data snapshot corresponding to the socket information,
The data snapshot includes:
Wherein the information is information necessary for restoring an application running at the time of processing the event, the information including information of an application running on the master device, data being used by the application, status information of the application,
Method of redundant system.
13. The method of claim 12,
Wherein synchronizing the application comprises:
Storing only the latest version of the data snapshot in the backup device and synchronizing the master device and the application
≪ / RTI >
13. The method of claim 12,
Wherein synchronizing the TCP session comprises:
Storing only the latest version of the TCP session information in the backup device and synchronizing the TCP session with the master device
≪ / RTI >
13. The method of claim 12,
Transmitting the transmission packet to the client device when synchronization of the TCP session is completed in the master device;
Requesting the backup device to delete the transmission packet when the master device receives a response packet for the transmission packet from the client device; And
Deleting the transmission packet requested to be deleted from the backup device
≪ / RTI >
delete A computer-readable recording medium having recorded thereon a program for executing the method according to any one of claims 12 to 15.
KR1020160015252A 2016-02-05 2016-02-05 Duplex system and methods for synchronizing data and restoring data KR101766446B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160015252A KR101766446B1 (en) 2016-02-05 2016-02-05 Duplex system and methods for synchronizing data and restoring data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160015252A KR101766446B1 (en) 2016-02-05 2016-02-05 Duplex system and methods for synchronizing data and restoring data

Publications (1)

Publication Number Publication Date
KR101766446B1 true KR101766446B1 (en) 2017-08-23

Family

ID=59759087

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160015252A KR101766446B1 (en) 2016-02-05 2016-02-05 Duplex system and methods for synchronizing data and restoring data

Country Status (1)

Country Link
KR (1) KR101766446B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011767A (en) * 2019-04-17 2019-07-12 北京百度网讯科技有限公司 Method and apparatus for TCP connection backup
CN111055885A (en) * 2018-10-17 2020-04-24 株洲中车时代电气股份有限公司 Method, system and equipment for restoring accumulated data of vehicle-mounted network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111055885A (en) * 2018-10-17 2020-04-24 株洲中车时代电气股份有限公司 Method, system and equipment for restoring accumulated data of vehicle-mounted network
CN110011767A (en) * 2019-04-17 2019-07-12 北京百度网讯科技有限公司 Method and apparatus for TCP connection backup
CN110011767B (en) * 2019-04-17 2022-09-27 北京百度网讯科技有限公司 Method and apparatus for TCP connection backup

Similar Documents

Publication Publication Date Title
JP4668763B2 (en) Storage device restore method and storage device
US7694177B2 (en) Method and system for resynchronizing data between a primary and mirror data storage system
US7793060B2 (en) System method and circuit for differential mirroring of data
US10895996B2 (en) Data synchronization method, system, and apparatus using a work log for synchronizing data greater than a threshold value
CN104486319B (en) Suitable for the configuration file real-time synchronization method and its system of high-availability system
CN103226502B (en) A kind of data calamity is for control system and data reconstruction method
US7600087B2 (en) Distributed remote copy system
CN100483357C (en) Routing system and method for transparently recovering routing states after a failover or during a software upgrade
US20070008890A1 (en) Method and apparatus for non-stop multi-node system synchronization
JP2004032224A (en) Server takeover system and method thereof
CN103077242A (en) Method for hot standby of dual database servers
US7797571B2 (en) System, method and circuit for mirroring data
CN110032478B (en) Method, device and system for real-time synchronization of data of main and standby centers and storage medium
EP3210367A1 (en) System and method for disaster recovery of cloud applications
KR101766446B1 (en) Duplex system and methods for synchronizing data and restoring data
JP2003337717A (en) Fault recovery synchronizing system of online transaction process
CN111858143A (en) Method, apparatus, and computer-readable storage medium for managing storage system
CN114035969A (en) Method, system and equipment for realizing distributed block storage multi-path ISCSI lock
CN112783694B (en) Long-distance disaster recovery method for high-availability Redis
KR101641799B1 (en) Failover system and method for restoring a TCP session
CN103391324B (en) A kind of heat backup method based on tftp agreement
CN112306644A (en) CDP method based on Azure cloud environment
CN112948484A (en) Distributed database system and data disaster recovery drilling method
KR20180099143A (en) Apparatus and method for recovering tcp-session
KR101596140B1 (en) Apparatus and method for toleranting fault in tcp based on dual structure

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant