KR20080077210A - 데이터 통신에서의 접속 상태를 동기화하는 방법 및 이를 사용하는 통신 노드 - Google Patents

데이터 통신에서의 접속 상태를 동기화하는 방법 및 이를 사용하는 통신 노드 Download PDF

Info

Publication number
KR20080077210A
KR20080077210A KR1020087014824A KR20087014824A KR20080077210A KR 20080077210 A KR20080077210 A KR 20080077210A KR 1020087014824 A KR1020087014824 A KR 1020087014824A KR 20087014824 A KR20087014824 A KR 20087014824A KR 20080077210 A KR20080077210 A KR 20080077210A
Authority
KR
South Korea
Prior art keywords
node
connection
connection state
counterpart
state information
Prior art date
Application number
KR1020087014824A
Other languages
English (en)
Other versions
KR100990415B1 (ko
Inventor
주 왕
Original Assignee
항조우 에이치3씨 테크놀로지스 코., 엘티디.
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 항조우 에이치3씨 테크놀로지스 코., 엘티디. filed Critical 항조우 에이치3씨 테크놀로지스 코., 엘티디.
Publication of KR20080077210A publication Critical patent/KR20080077210A/ko
Application granted granted Critical
Publication of KR100990415B1 publication Critical patent/KR100990415B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between 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]
    • 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]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

접속 상태의 동기화 방법은, 노드가 접속된 상대측 단말 노드로부터 저속 상태 정보를 요청하는 단계와, 노드가 응답으로서 제공된 접속 상태 정보에 따라 로컬의 접속 상태를 갱신하는 단계를 포함한다. 통신 노드가 본 방법에 적용된다. 본 발명은 상대측 단말 노드에 접속된 동기화가 이루어지지 않은 노드의 접속 상태 정보에 기초하여 접속 상태 동기화를 구현한다. 접속을 유지함으로써 동기화를 재시작할 수 있다. 시스템 내에서 고가용성의 주파수 접속 상태 동기화가 필요하지 않으며, 시스템의 대역폭과 처리 능력을 보존할 수 있게 되고, 주요 및 백업 장치의 랜덤한 스위칭에 의해 최초의 접속을 재시작할 수 있다.

Description

데이터 통신에서의 접속 상태를 동기화하는 방법 및 이를 사용하는 통신 노드{A SYNCHRONIZATION METHOD OF CONNECTION STATUS IN DATA COMMUNICATIONS AND THE APPLIED COMMUNICATION NODE}
본 발명은 네트워크 및 통신 분야에 관한 것이다. 더 구체적으로 말하면, 본 발명은 데이터 통신에서의 접속 상태를 동기화하는 방법과 이러한 방법을 사용하는 통신 노드에 관한 것이다.
현재의 네트워크 분야에서 가장 일반적으로 사용되는 전송 계층 프로토콜은 전송 제어 프로토콜(TCP: Transmission Control Protocol)이다. 이 전송 제어 프로토콜은, 인터넷상에서의 두 지점 사이에서 데이터를 신뢰성 있게 전송할 수 있도록 해준다. 현재, 텔넷(Telnet), FTP(File Transfer Protocol), HTTP(Hyper Text Transfer Protocol) 등과 같은 가장 일반적으로 사용되는 프로토콜은 모두 TCP 기술에 기반을 두고 있다. TCP는 접속 지향형(connection-oriented)의 프로토콜이다. TCP 접속은 2개의 네트워크 노드 사이에서 데이터가 전송되기 전에 설정되어 있어야 하며, 현재의 TCP 접속 상태에 따라 데이터의 전송이 이루어진다.
네트워크상에서 사용되는 애플리케이션이 중요하게 됨에 따라, 다양한 핵심 네트워크 노드는 고장 시간(down time)을 감소시키기 위해 작동(active)/대 기(standby) 스위칭 모드로 작업하는 고가용성 시스템(high-availability system)을 채택하는 것이 일반적이다. 도 1에서, 노드 B는 작동 보드(active board)와 대기 보드(standby board)를 포함하는 분배형 장치이며, 노드 B와 노드 A 사이에 TCP 접속이 설정된다. 정상적인 동작 동안, 노드 A와 노드 B 사이의 논리적인 TCP 접속은 사실상 노드 A와 노드 B의 작동 보드에 의해 달성된다. 작동 보드 상에서 문제가 발생하면, 대기 보드가 작동 보드를 대신한다.
TCP 접속의 경우, 원래의 TCP 접속이 계속되기 전에, 대기 보드는, 송신측과 수신측에서 사용되고 있던 시퀀스 번호(sequence number)와 같은, 작동/대기 스위칭 동안의 접속 상태를 알고 있어야 한다. 그렇지 못하면, 대기 보드는 노드 A와 새로운 TCP 접속을 재설정하여야 한다. 그러나, TCP 접속의 재설정은 몇몇 경우에 심각한 문제를 일으킬 수 있는데, 예를 들면 노드 A와 노드 B가 2개의 라우터이고, TCP 접속이 BGP(Border Gateway Protocol)를 유지하기 위해 사용되는 경우, TCP 접속이 재설정되면, 일정한 기간 동안 경로 변동(Route Oscillation)이 생길 수 있다. 따라서, TCP 접속의 접속 상태 동기화가 이 문제의 핵심이 된다.
종래부터, TCP 접속 상태를 동기화하기 위해 일반적으로 2가지 방법이 사용되고 있다. 도 1의 노드 A와 노드 B를 예로 들면, 제1 동기화 방법은 도 2에 도시된 것으로서, TCP 메시지가 노드 A와 노드 B의 작동 보드 사이에서 전송될 때마다, 작동 보드는, 작동 보드와 대기 보드 사이에서의 TCP 동기화 메시지를 통해 각 TCP 메시지에 포함된 TCP 접속 상태 정보를 대기 보드에 통지함으로써, 대기 보드가 백업(backup) 접속 상태 정보를 통해 원래의 TCP 접속을 계속할 수 있다. 제2 동기 화 방법은 도 3에 도시된 것으로서, 노드 B의 작동 보드가 노드 A로부터 수신한 TCP 메시지를 복제해서 대기 보드에 전송하고, 마찬가지로 노드 B의 작동 보드는 노드 A에 전송한 TCP 메시지를 복제해서 대기 보드에 전송하며, 대기 보드는 작동 보드로부터 수신한 복제된 메시지에 따라 작동 보드와 동기화된 TCP 접속 상태를 유지한다.
이들 2가지 방법은, TCP 접속 상태 동기화의 문제점을 어느 정도는 해결할 수 있지만, 모든 경우에 효과적인 것은 아니다. 작동 보드는 동기화 정보를 생성하거나 메시지를 복제해서 노드 A로부터 TCP 메시지가 수신된 이후에만 대기 보드에 전송할 수 있다. 작동 보드가 TCP 메시지를 노드 A에 전송하면서 복제 메시지 또는 동기화 정보를 대기 보드에 전송하는 경우에도, 작동 보드가 과중한 서비스 부하를 동시에 처리할 필요가 있다는 것을 고려하면, 2개의 전송 처리 과정이 운영 체제의 프로세스 스케줄 메커니즘에 따라 동시에 구현되는 것을 보장하는 것은 어렵다. 다시 말해서, 노드 A 및 노드 B의 메시지 전송과 작동/대기 보드의 상태 동기화 사이에는 필연적으로 소정의 시간 차가 기본적으로 존재할 것이다. 또한, 작동 보드가 동작할 수 없는 경우, 작동/대기 스위칭이 이루어지는 시간을 제어할 수 없게 되며, 대기 보드는 어느 순간에 작동 보드를 대신할 것이다. 따라서, 대기 보드가 원래의 TCP 접속을 성공적으로 유지할 수 있는지 여부는, 상태 동기화 조건이 스위칭이 이루어질 때의 메시지 전송 조건과 일치하는지 여부에 달려있다. 2개의 조건이 일치하지 않으면, 원래의 TCP 접속 상태는 복구될 수 없으며, 노드 A와 노드 B 사이에서 TCP 접속이 재설정되어야 한다.
또한, 이들 2가지 방법은, TCP 접속의 실시간 동기화가 작동 보드와 대기 보드 사이에서 실현될 수 있어야 하기 때문에, 작동 보드와 대기 보드 사이에서 대량의 정보가 전송되는 경우에는, 작동 보드, 대기 보드, 및 CPU(Central Process Unit) 리소스 사이에서 많은 대역폭(bandwidth)이 소모될 수 있으며, 이에 따라 장치의 성능이 열화될 수 있다.
본 발명의 실시예는 데이터 통신에서 접속 상태를 동기화하는 방법과 이러한 방법을 이용하는 네트워크 노드 장치를 제공하고, 이에 따라 적절하고 신뢰성 있는 작동/대기 스위칭이 구현될 수 있으며, 네트워크 통신의 신뢰성과 보안성이 향상될 수 있다.
본 발명의 하나의 관점에서는, 데이터 통신에서 접속 상태를 동기화하기 위한 방법을 제공한다. 본 발명의 방법은 다음을 포함한다.
노드는 노드에 접속된 상대측 노드로부터 접속 상태 정보를 요청한다.
노드는 상대측 노드에 의해 응답으로서 제공된 접속 상태 정보에 따라 로컬 접속 상태를 갱신한다.
노드는 제1 통신 유닛과 적어도 하나의 제2 통신 유닛을 포함한다.
노드가 상대측 노드로부터 접속 상태 정보를 요청하기 전에, 제1 통신 유닛이 상대측 노드와의 접속에 대한 접속 파라미터(connection parameters)를 제2 통신 유닛에 통지한다.
노드가 상대측 노드로부터 접속 상태 정보를 요청하는 프로세스는, 제1 통신 유닛을 상대측 노드로 교체한 후, 제2 통신 유닛이 접속 파라미터에 기초하여 상대측 노드로부터 접속 상태 정보를 요청한다.
제2 통신 유닛은 상대측 노드로부터 응답으로서 제공된 접속 상태 정보에 따라 로컬 접속 상태를 갱신한다.
접속 파라미터에는, 소스 IP 어드레스, 목적지 IP 어드레스, 소스 포트 번호, 및 목적지 포트 번호가 포함된다.
상대측 노드로부터 접속 상태 정보를 요청하는 프로세스와, 응답으로서 제공된 접속 상태 정보에 따라 로컬 접속 상태를 갱신하는 프로세스는, 현재의 상대측 노드에 접속된 제1 통신 유닛 또는 제2 통신 유닛에 의해 수행된다.
접속 상태 정보에는, 로컬 시퀀스 번호 및 상대측 시퀀스 번호가 포함된다.
바람직하게는, 본 발명의 방법은 다음을 포함한다.
노드가 상대측 노드로부터 접속 상태 정보를 요청하는 동안 로컬 윈도우 값(local window value)을 전송한다.
상대측 노드에 의해 응답으로서 제공된 접속 상태 정보에는 상대측 노드의 윈도우 값이 포함된다.
상대측 노드에 의해 응답으로서 제공된 접속 상태 정보를 수신한 후, 노드는 상대측 노드에 대하여 접속 상태 정보를 승인(acknowledge)한다.
바람직하게는, 상대측 노드로부터 접속 상태 정보를 요청하기 위한 메시지는, TCP(Transmission Control Protocol)를 통해 설정된 접속의 제1 SYN(Synchronization) 메시지의 포맷을 가진다.
접속 상태의 동기화를 승인하기 위한 메시지는, TCP를 통해 설정된 접속의 제3 SYN 메시지의 포맷을 갖는다.
본 발명의 실시예는, 데이터 통신에서 접속 상태를 동기화하는 방법을 제공한다. 본 발명의 방법은 다음을 포함한다.
접속이 설정된 노드는 상대측 노드로부터 접속 상태 정보의 요청을 수신한다.
노드가 상대측 노드에 대해 현재의 로컬 접속 상태 정보를 응답으로서 제공한다.
바람직하게, 노드는, 상대측 노드에 대하여 접속 상태 정보를 응답으로서 제공하기 전에, 상대측 노드로부터 접속 상태 정보의 요청을 수신하면, 접속 상에서의 데이터 전송을 중지(suspend)한다.
상대측 노드로부터의 접속 상태 정보의 요청에는 상대측 노드의 윈도우 사이즈(window size)가 포함된다.
노드는 상대측 노드로부터의 접속 상태 정보의 요청에 포함된 윈도우 값에 따라 상대측의 로컬 윈도우 사이즈를 갱신한다.
상대측 노드에 응답으로서 제공된 현재의 접속 상태 정보에는, 국부적으로 기록된, 상대측 시퀀스 번호, 로컬 시퀀스 번호, 및 로컬 윈도우 사이즈가 포함된다.
바람직하게는, 현재의 접속 상태 정보가 TCP를 통해 설정된 접속의 제2 SYN 메시지의 포맷으로 상대측 노드로 응답으로서 제공되고, 승인 시퀀스 번호 필드는 국부적으로 기록된 상대측 시퀀스 번호이다.
본 발명의 다른 관점으로서, 통신 노드가 제공되는데, 통신 노드는 접속 모듈과 동기화 요청 모듈을 포함한다.
접속 모듈은 상대측 노드와의 접속을 통해 통신을 행하도록 되어 있다.
동기화 요청 모듈은, 접속 모듈을 통해 상대측 노드에 접속 상태 정보의 요청을 전송하고, 접속 모듈에 의해 상대측 노드로부터 수신한 접속 상태 정보에 따라 로컬 접속 상태를 동기화하여 갱신하도록 되어 있다.
통신 노드에서, 로컬 접속 상태 정보는 상대측 노드에 의해 응답으로서 제공된 접속 상태 정보와 동일하게 설정된다.
접속 모듈을 통해 상대측 노드에 대해 접속 상태 정보 동기화가 승인된다.
접속 상태 정보의 요청에는 로컬 윈도우 사이즈가 포함되며, 상대측 노드에 의해 응답으로서 제공된 접속 상태 정보에는, 상대측 노드에 의해 기록된, 로컬 시퀀스 번호, 상대측 시퀀스 번호, 및 상대측 윈도우 사이즈가 포함된다.
본 발명의 실시예는, 제1 통신 유닛과 적어도 하나의 제2 통신 유닛을 포함하는 통신 노드를 더 제공한다.
제1 통신 유닛은 상대측 노드와의 접속에 대한 접속 파라미터를 제2 통신 유닛에 전송한다.
제2 통신 유닛은, 접속 파라미터에 따라 상대측 노드와 접속을 설정하며, 접속 상태 정보의 요청을 상대측 노드에 전송하고, 상대측 노드로부터 수신한 접속 상태 정보에 따라 접속 상태를 갱신한다.
바람직하게는, 현재의 통신 유닛의 접속 상태 정보가 상대측 노드에 의해 응답으로서 제공된 접속 상태 정보와 동일하게 설정된다.
상대측 노드에 대하여 접속 상태 동기화가 승인된다.
상대측 노드로부터 수신한 접속 상태 정보에는, 상대측 노드에 의해 기록된, 로컬 시퀀스 번호 및 상대측 시퀀스 번호가 포함되며, 접속 파라미터에는, 소스 IP 어드레스, 목적지 IP 어드레스, 소스 포트 번호, 및 목적지 포트 번호가 포함된다.
본 발명의 실시예는 접속 모듈과 동기화 응답 모듈을 포함하는 통신 노드를 제공한다.
접속 모듈은 상대측 노드와의 접속을 통해 통신을 행하도록 되어 있다.
동기화 응답 모듈은, 접속 모듈에 의해 출력되는, 상대측 노드로부터의 접속 상태 정보의 요청을 수신하고, 접속 모듈을 통해 상대측 노드에 현재의 로컬 접속 상태 정보를 전송하도록 되어 있다.
통신 노드는, 접속 모듈이 상대측 노드로부터 접속 상태 정보의 요청을 수신하게 되면 접속 모듈의 데이터 전송을 중지하고, 접속 모듈이 상대측 노드로부터 접속 상대 동기화 승인을 수신한 후에는 접속 모듈의 데이터 통신을 계속하는 통신 제어 모듈을 더 포함한다.
현재의 로컬 접속 상태 정보에는, 국부적으로 기록된, 상대측 시퀀스 번호, 로컬 시퀀스 번호, 및 로컬 윈도우 사이즈가 포함된다.
본 발명의 실시예는, 데이터 통신에서의 접속 상태 동기화를 구현하기 위한 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램은 통신 노드에 저장되며, 통신 노드는, 통신 노드에 접속된 상대측 노드로부터 접속 상태 정보를 요청하는 단계; 및 상대측 노드로부터 응답으로서 제공된 접속 상태 정보에 따라 로컬 접속 상태를 갱신하는 단계를 수행할 수 있다.
컴퓨터 프로그램에서, 통신 노드는 작동(active) 통신 유닛과 대기(standby) 통신 유닛을 포함하며, 대기 통신 유닛은, 작동 통신 유닛에 의해 제공된 접속 파라미터에 따라 상대측 노드로부터 접속 상태 정보를 요청하고, 취득한 접속 상태 정보에 따라 로컬 접속 상태를 갱신한다.
접속 파라미터에는, 소스 IP 어드레스, 목적지 IP 어드레스, 소스 포트 번호, 및 목적지 포트 번호가 포함된다.
접속 상태 정보에는, 로컬 시퀀스 번호 및 상대측 시퀀스 번호가 포함된다.
통신 노드는 상대측 노드로부터 접속 상태 정보를 요청하는 동안 로컬 윈도우 값을 전송하고,
상대측 노드에 의해 응답으로서 제공된 접속 상태 정보에는 상대측 노드의 윈도우 값이 포함된다.
통신 노드는, 로컬 접속 상태를 갱신한 후에, 상대측 노드에 대하여 접속 상태 동기화를 승인한다.
상대측 노드로부터 접속 상태 정보를 요청하기 위한 메시지는, TCP를 통해 설정된 접속의 제1 SYN 메시지의 포맷을 가지며,
접속 상태 동기화를 승인하기 위한 메시지는, TCP를 통해 설정된 접속의 제3 SYN 메시지의 포맷을 갖는다.
본 발명의 실시예는 데이터 통신에서의 접속 상태 동기화를 구현하기 위한 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램은 통신 노드에 저장되며, 통신 노드는, 통신 노드와의 접속을 설정한 상대측 노드로부터 접속 상태 정보의 요청을 수신하는 단계; 및 상대측 노드에 현재의 로컬 접속 상태 정보를 응답으로서 제공하는 단계를 수행할 수 있다.
통신 노드는, 상대측 노드에 접속 상태 정보를 응답으로서 제공하기 전에, 상대측 노드로부터 접속 상태 정보를 수신하면, 상대측 노드와의 접속 상의 데이터 전송을 중지한다.
상대측 노드로부터의 접속 상태 정보의 요청에는 상대측 노드의 윈도우 사이즈가 포함된다.
노드는 상대측 노드로부터의 접속 상태 정보의 요청에 포함된 윈도우 값에 따라 상대측의 로컬 윈도우 사이즈를 갱신하고,
상대측 노드에 응답으로서 제공된 현재의 접속 상태 정보에는, 국부적으로 기록된, 상대측 시퀀스 번호, 로컬 시퀀스 번호, 및 로컬 윈도우 사이즈가 포함된다.
현재의 접속 상태 정보는 TCP를 통해 설정된 접속의 제2 SYN 메시지의 포맷으로 상대측 노드로 응답으로서 제공되고, 승인 시퀀스 번호 필드는 국부적으로 기록된 상대측 시퀀스 번호이다.
본 발명에서, 동기화될 수 없는 노드와, 이 노드에 접속된 상대측 노드 사이에서 접속 상태 정보를 동기화함으로써, 접속 상태 동기화의 문제를 실질적으로 해결할 수 있다. 즉, 접속 상태 동기화는, 접속이 유지되고 있는 때에만 복구될 수 있다. 또한, 본 발명에서, 고가용성 시스템 내에서 주파수 접속 상태 동기화 없이도, 적절하고 신뢰성 있는 작동/대기 스위칭이 구현될 수 있다. 따라서, 시스템의 대역폭과 처리 능력이 보존될 수 있으며, 작동/대기 스위칭이 일어나는 시점이 언제든 최초의 접속이 복구될 수 있다. 이에 따라, 네트워크 통신의 신뢰성과 보안성이 향상될 수 있다.
도 1은 고가용성 시스템의 TCP 접속을 개략적으로 나타낸 도면이다.
도 2는 종래의 접속 상태를 동기화하는 제1 방법을 개략적으로 나타낸 도면이다.
도 3은 종래의 접속 상태를 동기화하는 제2 방법을 개략적으로 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 동기화 요청 노드의 플로차트이다.
도 5는 TCP/IP 프로토콜에서의 TCP 메시지 필드의 구성을 나타내는 도면이다.
도 6은 본 발명의 일실시예에 따른 동기화 응답 노드의 플로차트이다.
도 7은 본 발명의 다른 실시예에 따른 동기화 요청 노드의 플로차트이다.
도 8은 본 발명의 실시예에 따른 접속 상태를 동기화하는 방법을 사용하는 동기화 요청 노드 및 동기화 응답 노드의 구성을 나타내는 도면이다.
도 9는 본 발명의 실시예에 따른 접속 상태를 동기화하는 방법을 사용하는 동기화 요청 노드 및 동기화 응답 노드의 구성을 나타내는 도면이다.
도 10은 본 발명에 추가된 TCP 상태 머신을 개략적으로 나타낸 도면이다.
도 11은 본 발명의 응용예에서 접속 상태 동기화를 위한 메시지의 플로차트이다.
도 12는 본 발명의 다른 응용예에서 접속 상태 동기화를 위한 메시지의 플로차트이다.
종래, 고가용성 시스템(high-availability systems)의 접속 상태 동기화(connection state synchronization)는 모두, 작동 보드(active board)와 대기 보드(standby board) 사이에서의 완전한 상태 동기화를 구현함으로써, 대기 보드가 작동 보드와 동기화된 상태를 유지할 수 있으며 스위칭이 일어날 때 상대측 노드(opposite node)와 통신을 행하기 위해 작동 보드를 성공적으로 대신하도록 하는 것을 목표로 한다. 그러나, 접속 지향형(connection-oriented) 데이터 전송에 있어서, 상대측 노드와의 접속이 작동 보드로부터 대기 보드로 스위칭될 수 있으며 데이터 전송이 계속될 수 있는 조건은, 대기 보드의 접속 상태가 작동 보드의 접속 상태와 일치되는 조건이 아니라, 대기 보드의 접속 상태가 상대측 노드와 동기를 이루는 것이다. 스위칭이 발생할 때 어떤 이유에 의해 작동 보드의 접속 상태가 상대측 노드의 접속 상태와 동기를 이루지 못한다면, 대기 보드의 접속 상태가 작동 상태의 접속 상태와 완전히 일치한다고 하더라도 접속은 계속 중단된 상태로 될 것이다. 상대측 노드의 접속 상태가 사실상 로컬 동기화의 대상이고 그 접속 상태 가 로컬의 작동/대기 스위칭에 관련되어 있지 않다고 하면, 과중한 작업 부하로 로컬 상태 백업을 수행하는 것이 아니라, 대기 보드와 상대측 노드 사이에서 접속 상태 동기화가 구현되고, 이는 스위칭이 발생하는 시간이 상대측 노드, 작동 보드, 및 대기 보드의 상태가 동기화되는 시간에 해당하는지 여부에 따라 달라진다. 따라서, 앞서 설명한 문제점을 근본적으로 해결할 수 있다.
이하, 동기화 요청 노드(synchronization request node)는, 상대측 노드와 접속 상태를 동기화하기 위해 필요로 하는 접속의 말단에 있는 노드이다. 동기화 응답 노드(synchronization response node)는, 동기화 요청 노드가 요청한 로컬 접속 상태 정보를 전송하는 상대측 노드이다. 실제의 응용에 있어서, 동기화 요청 노드는 일반적으로 고가용성 시스템이며, 예를 들면 작동 보드와 대기 보드를 포함하는 라우터, 단일의 논리적 엔티티로서 동작하는 복수 개의 서버를 포함하는 클러스터 등이 포함된다. 동기화 응답 노드는 단일의 장치로 할 수 있으며 고가용성 시스템으로도 할 수 있다.
본 발명의 원리, 특징 및 장점을 더 명백하게 하기 위해, 이하 특정의 실시예를 들어 본 발명에 대해 상세하게 설명한다.
동기화 요청 노드는 제1 통신 유닛과 적어도 하나의 제2 통신 유닛을 포함하는 고가용성 시스템이고, 제1 통신 유닛은 상대측 노드와 접속된 유닛이라고 가정한다. 소정의 제2 통신 유닛은 상대측 노드와 접속하기 위해 제1 통신 유닛을 대신하고 접속 상에서 데이터 전송을 계속해서 유지한다.
본 실시예에서의 동기화 요청 노드의 흐름을 도 4에 나타낸다. 이 흐름에는 다음과 같은 동작 단계가 포함된다.
단계 S410: 현재의 노드는 상대측 노드와 접속을 설정한다. 본 발명의 실시예에서, 접속 상태 동기화는 접속이 설정된 경우에 이루어진다.
TCP 프로토콜이 사용되는 경우, TCP 접속은 데이터 전송이 수행되기 전에 2개의 통신 노드 사이에서 설정되어야 한다. TCP 접속은, 접속을 하는 두 당사자의 전송 및 수신 애플리케이션 프로세스를 식별하기 위한 IP(인터넷 프로토콜) 어드레스와 포트 번호에 의해 고유하게 판정될 수 있다. 따라서, 소스 IP 어드레스, 목적지 IP 어드레스, 소스 포트 번호, 및 목적지 포트 번호는 일반적으로 TCP 접속에 대한 접속 파라미터가 된다.
단계 S420: 접속이 설정되고 나서 소정의 시간이 지난 후, 노드 상에서의 접속은 제1 통신 유닛과 상대측 노드 사이에 존재한다. 제1 통신 유닛이 접속에 사용되는 접속 파라미터를 제2 통신 유닛에 통지하는 것에 의해, 제2 통신 유닛은 스위칭이 발생할 때에 접속 파라미터에 의해 접속을 복구할 수 있다.
단계 S430: 제2 통신 유닛은 상대측 노드와 접속하기 위해 제1 통신 유닛을 대신한다. 이 경우, 접속 파라미터는 이미 제2 통신 유닛에 국부적으로 기록되어 있다.
제2 통신 유닛이 접속을 위해 제1 통신 유닛을 대신하는 시기는, 동기화 요청 노드의 작업 모드(working mode)와 관련되어 있으며, 제1 통신 유닛이 고장난 경우 또는 제1 통신 노드가 고장 없이 정상적으로 작업하는 때라도 부하 균등화(load equalization)를 필요로 하는 경우에 이루어질 수 있다. 제2 통신 유닛이 하나 이상 존재하는 경우, 어느 제2 통신 유닛이 접속을 위해 제1 통신 유닛을 대신하는지는, 동기화 요청 노드에서의 스위칭 설정(switching setting)에 의해 정해진다.
제2 통신 유닛은 TCP 접속을 위해 접속 파라미터에 의해 제1 통신 유닛을 대신한다. 이것은 제2 통신 유닛이 반드시 제1 통신 유닛의 IP 어드레스를 사용해야 한다는 것을 의미한다. 제1 통신 유닛이 계속해서 정상적으로 동작하는 경우, 동기화 요청 노드는, 2개의 유닛이 동일한 IP 어드레스를 사용해서 자신의 상대측 노드와 접속 지향형 통신을 각각 수행할 수 있는 것을 보장하여야 한다.
단계 S440: 제2 통신 유닛은 스위칭할 접속에 대한 접속 파라미터에 따라 상대측 노드에 대하여 접속 상태 정보의 요청을 전송한다. TCP 프로토콜의 경우, 접속 상태 정보는 로컬 시퀀스 번호와 상대측 시퀀스 번호를 포함할 뿐만 아니라, 로컬 및 상대측 윈도우 사이즈를 포함한다.
TCP/IP 메시지에서의 TCP 헤더의 필드 구성은 도 5에 도시되어 있다. 16 비트의 소스 포트 번호는 송신측의 포트 번호이고, 16 비트의 목적지 포트 번호는 수신측의 포트 번호이다. 이들 2개의 필드는 IP 헤더 내의 소스 IP 어드레스 및 목적지 IP 어드레스와 함께 TCP 접속에 대한 접속 파라미터가 된다.
송신측 및 수신측 애플리케이션은 TCP 접속을 통해 8 비트로 이루어진 바이트 스트림(byte stream)을 교환한다. TCP 접속의 각각의 말단 노드는 국부적으로 전송되고 시퀀스 번호와 승인 시퀀스 번호(acknowledge sequence number)를 통해 각각 상대측 노드로부터 수신된 바이트 스트림을 카운트한다. 32 비트의 시퀀스 번호는 메시지의 송신측이 사용하는 시퀀스 번호를 의미하며, 이 시퀀스 번호는 메시지의 제1 데이터 바이트 내에 위치한다. 32 비트의 승인 시퀀스 번호는 말단 노드에 의해 수신할 것으로 예상되는 상대측 노드, 즉 메시지의 송신측이 전송한 다음 데이터 바이트의 시퀀스 번호를 나타낸다. 데이터 바이트는 TCP 접속을 통해 전송되는 페이로드(payload) 부분이다.
16 비트의 윈도우 사이즈는, TCP 접속에 흐름 제어(flow control)를 제공하기 위한 것으로서, 메시지를 전송하는 송신측의 버퍼 사이즈, 즉 상대측 노드로부터 수신될 수 있는 데이터량을 의미한다. TCP 접속의 2개의 말단 노드는 윈도우 확장 옵션(window expansion option)을 통해 16 비트를 넘는 윈도우 사이즈로 해도 된다.
4 비트의 헤더 길이는 TCP 메시지의 전체 길이에 해당하며, 그 다음에 6 비트의 예약 필드(reserved field)가 있고, 그 다음에 6개의 플래그 비트(flag bit)가 있다. 6개의 플래그 비트 중에서, SYN(Synchronization: 동기화) 플래그 비트는 기존의 TCP에 사용되는 것으로서 접속이 초기화되었는지를 나타내기 위한 것이다. ACK(Acknowledge: 승인) 플래그 필드는 32 비트의 승인 시퀀스 번호가 유효한지를 나타낸다. 승인 메커니즘은 TCP 프로토콜 내에 제공되기 때문에, ACK 플래그 비트는 항상 세트(set)로 되어 있다.
제2 통신 유닛은, 상대측 노드와 데이터 통신을 수행하기 위해 제1 통신 유닛을 대신하기 전에 현재의 TCP 접속의 로컬 시퀀스 번호 및 상대측 시퀀스 번호를 알고 있어야 한다는 것을 알 수 있다. 이와 동시에, 접속 상태 동기화 중에 서로 의 현재의 윈도우 사이즈를 교환함으로써 흐름 제어가 수행될 수 있다. 따라서, 제2 통신 유닛은 상대측 노드에 전송된 접속 상태 정보 요청 메시지 내에 현재의 로컬 윈도우 사이즈의 정보를 포함시킬 수 있다.
제1 통신 유닛은 현재의 로컬 시퀀스 번호를 접속 상태 정보 요청 메시지에 포함시킬 수 있다. 또는, 로컬 시퀀스 번호를 포함하지 않을 수도 있으며, 이 상태로 상대측 노드에 의해 제공될 수 있다.
도 4를 다시 참조하면, 단계 S450에서, 제2 통신 유닛은 상대측 노드가 응답으로서 제공한 접속 상태 정보를 수신한다.
단계 S460: 제2 통신 유닛은 상대측 노드로부터 수신한 접속 상태 정보에 따라 로컬 접속 상태를 갱신한다. TCP 접속의 경우, 상대측 노드에 의한 응답으로서 제공된 메시지 내의 TCP 헤더의 시퀀스 번호 필드는 상대측 시퀀스 번호이며, 승인 시퀀스 번호 필드는 로컬 시퀀스 번호이고, 윈도우 사이즈 필드는 상대측 윈도우 사이즈이다.
단계 S470(선택적): 제2 통신 유닛은 접속 상태 동기화 승인을 상대측 노드에 전송한다.
접속 상태 동기화 승인은, 데이터 전송을 계속 유지할 것을 상대측 노드에 통지하도록 될 수 있으며, 접속 상태 동기화 승인이 전송되지 않은 경우에는, 동기화 요청 노드가 데이터 전송의 복구를 개시하거나, 상대측 노드가 접속 상태 정보의 전송 이후 타임아웃 메커니즘을 통해 데이터 전송을 계속할 수 있다. 또는, 이들 두 개의 노드가 필요에 따라 조합하여 사용될 수 있다.
접속 상태 동기화가 이루어진 후, 노드는 원래 접속의 데이터 전송을 상대측 노드와 계속한다.
본 실시예에서, 접속 스위칭이 달성된 후, 제2 통신 유닛은 현재의 제1 통신 유닛이 될 수 있으며, 현재의 제1 통신 유닛을 대신할 수 있는 고가용성 시스템 내의 통신 유닛은 현재의 제2 통신 유닛이 될 수 있다. 이러한 경우는 스테이지별 백업 기능(stage-by-stage backup function)을 갖는 또는 동적 부하 균등화(dynamic load equalization)를 지지하는 고가용성 시스템에 적합하다.
본 실시예에서, 동기화 응답 노드의 흐름은 도 6에 도시된 것처럼 다음과 같은 단계를 포함한다.
단계 S610: 노드는 상대측 동기화 요청 노드와 접속을 설정한다.
단계 S620: 노드는 상대측 노드로부터 접속 상태 정보 요청을 수신한다. 앞서 설명한 바와 같이, 본 실시예에서 접속 상태 동기화는 접속이 설정된 경우에 이루어진다.
단계 S630: 노드는 접속 상에서의 데이터 전송을 중지(suspend)한다. 접속 지향형 프로토콜은 일반적으로 승인 및 재전송 타임아웃 메커니즘을 사용하기 때문에, 동기화 응답 노드가 접속 상에서의 데이터 전송을 중지한 경우에는 불필요한 네트워크 흐름을 피할 수 있다.
단계 S640: 상대측 노드로부터의 접속 상태 정보의 요청에 상대측 윈도우 사이즈가 포함된 경우, 노드는 수신한 상대측 윈도우 사이즈에 따라 로컬 접속 상태 정보 내의 상대측 윈도우 사이즈를 갱신한다.
단계 S650: 노드는 접속 상태 정보 요청에 대한 응답으로서 상대측 노드에 현재의 로컬 접속 상태 정보를 전송한다.
상대측 노드에 응답으로서 제공된 현재의 TCP 접속 상태 정보는, 노드에 의해 기록되고 상대측 노드에 의해 승인된 로컬 시퀀스 번호 및 상대측 시퀀스 번호를 포함하는 것에 의해, TCP 접속의 데이터 전송이 상대측 노드가 접속 상태 정보 요청을 전송하기 전에 이루어진 바이트 스트림부터 계속될 수 있다. 그러나, 통신 당사자들의 애플리케이션의 통신 메커니즘에 따라, 이미 전송된 바이트 스트림 부분이 재전송될 수도 있다. 상대측 노드에 응답으로서 제공된 TCP 접속 상태 정보는 노드의 현재의 윈도우 사이즈를 추가로 포함할 수도 있다.
단계 S660: 노드는 상대측 노드로부터 접속 상태 동기화 승인을 수신한다. 이 단계는 또한 단계 S470과 함께 동작할 수 있는 선택적 단계이기도 하다.
단계 S670: 노드는 접속 상에서의 데이터 전송을 계속한다.
본 발명의 다른 실시예에 따른 접속 상태의 동기화를 위한 방법에 대하여 설명한다. 본 실시예에서, 동기화 요청 노드와 동기화 응답 노드는 모두 개별의 장치 또는 고가용성의 시스템이 될 수 있다. 동기화 요청 노드 내에서 상이한 접속 유닛 간의 스위칭은 고려하지 않을 것이며, 상이한 접속 유닛은 접속 상태가 동기화되지 않은 하나의 단일체로서 간주될 수 있다. 예를 들어, 동기화 요청 노드 내의 복수 개의 유닛은 동기화 응답 노드와 접속을 설정할 수 있다. 현재의 접속 유닛 상에서의 전송 과정이 어떤 이유에 의해서든 중단이 된다면, 현재의 접속 유닛이 전송 과정을 재시작한 후에는 접속이 계속해서 유효할 것이지만, 접속의 접속 상태는 분실될 것이다. 이 경우, 접속 스위칭은 이루어지지 않지만, 접속 상태 동기화는 계속해서 수행될 필요가 있다.
본 실시예와 앞서 설명한 실시예 사이의 차이점은, 동기화 요청 노드의 접속 파라미터가 국부적으로 기록된다는 점과, 접속에 대한 접속 파라미터를 접속 상태가 동기화되기 전에 취득할 필요가 없다는 점에 있다.
이러한 본 발명의 실시예에서, 동기화 요청 노드의 부분적인 흐름은 앞서 언급한 실시예와 실질적으로 일치하기 때문에, 앞서 언급한 실시예에서와 대응하는 단계에 대한 자세한 설명은 여기서는 하지 않을 것이다. 동기화 응답 노드의 흐름은 앞서 언급한 실시예에서와 동일하다.
본 발명의 실시예에서, 동기화 요청 노드의 흐름은 도 7에 도시된 것과 같다. 특히, 다음과 같은 단계들을 포함한다.
단계 S710: 노드는 상대측 노드와 접속을 설정한다.
단계 S720: 상대측 노드의 접속 상태와 동기화될 수 없거나 동기화되지 않았다는 것을 노드가 발견하면, 특히 동기화가 이루어지지 않은 것이 자체적인 이유에 의한 것인 경우에, 노드는 상대측 노드에 접속 상태 정보 요청을 전송한다. TCP 접속의 접속 상태 정보 요청을 전송하는 경우, 노드는 요청 메시지 내에 로컬 윈도우 사이즈를 포함시킨다.
단계 S730: 노드는 상대측 노드로부터 접속 상태 정보를 수신한다. TCP 접속의 상대측 노드에 의한 응답으로서 제공된 접속 상태 정보는 현재 접속의 로컬 시퀀스 번호 및 상대측 시퀀스 번호를 포함할 뿐만 아니라, 상대측 윈도우 사이즈 도 포함한다.
단계 S740: 노드는 로컬 접속 상태를 상대측 노드에 의한 응답으로서 제공된 접속 상태 정보와 일치하도록 갱신한다.
단계 S750: 노드는 상대측 노드에 접속 상태 동기화 승인을 전송한다. 마찬가지로, 이 단계는 선택적인 단계이다.
접속 상태 동기화가 달성된 후, 노드와 상대측 노드는 원래의 접속의 데이터 전송을 계속한다.
쉽게 이해할 수 있는 바와 같이, 앞서 설명한 실시예에서는, 동기화 요청 노드에 의해, 접속이 스위칭되기 전에는 제1 통신 유닛이 본 실시예의 방법을 사용하여 접속 복구(connection recovery)를 수행할 수 있으며, 접속이 스위칭된 후에는 제2 통신 유닛이 본 실시예의 방법을 사용하여 접속 복구를 수행할 수 있다.
도 8은 본 발명의 실시예에 따라 접속을 동기화하는 방법을 사용하는 동기화 요청 노드 및 동기화 응답 노드의 구성을 나타내는 도면이다. 동기화 요청 노드(810)는, 서로 접속되어 있으며, 동기화 응답 노드(820)의 접속 모듈(821)에 접속된 제1 통신 유닛(811) 및 제2 통신 유닛(812)을 포함한다. 동기화 응답 노드(820)는, 접속 모듈(821) 외에도, 접속 모듈(821)에 접속된 동기화 응답 모듈(822) 및 통신 제어 모듈(823)을 더 포함한다. 동기화 요청 노드(810) 및 동기화 응답 노드(820)는 서로 상대측 노드가 된다.
제1 통신 유닛(811)과 동기화 응답 노드(820)의 접속 모듈(821) 간에는 접속이 존재하며, 이 접속에 대한 접속 파라미터가 제2 통신 유닛(812)에 전송된다. TCP 접속에 대한 접속 파라미터는 접속의 소스 ID 어드레스, 목적지 ID 어드레스, 소스 포트 번호, 및 목적지 포트 번호를 포함한다.
제2 통신 유닛(812)은, 동기화 응답 노드(820)에 접속하기 위해 제1 통신 유닛(811)을 대신하는 경우, 제1 통신 유닛(811)으로부터 수신한 접속에 대한 접속 파라미터를 사용해서 접속 상태 정보의 요청을 동기화 응답 노드(820)에 전송하고, 현재의 제2 통신 유닛(812)의 윈도우 사이즈가 접속 상태 정보의 요청에 포함될 수 있다.
동기화 응답 노드(820)의 접속 모듈(821)과 동기화 요청 노드(810)는 이들 사이의 접속을 통해 서로 통신을 행한다. 제2 통신 유닛(812)으로부터 접속 상태 정보의 요청을 수신한 후, 접속 모듈(821)은 이 접속 상태 정보의 요청을 동기화 응답 모듈(822)에 전송한다. 동기화 응답 노드가 통신 제어 모듈(823)을 포함하면, 통신 제어 모듈(823)은 접속 모듈(821)의 데이터 전송을 중지시킬 것이다.
동기화 응답 모듈(822)은 국부적으로 기록된 현재의 접속 상태 정보를 접속 모듈(821)에 전송하고, 접속 모듈(821)은 제2 통신 유닛(821)에 응답한다. 제2 통신 유닛(812)의 윈도우 사이즈를 포함하는 접속 상태 정보의 요청에 대하여, 동기화 응답 모듈(821)은 로컬 접속 상태 내의 상대측 윈도우 사이즈를, 수신한 윈도우 사이즈와 일치하는 것으로 추가로 갱신한다. 동기화 응답 노드(820)에 의해 응답한 접속 상태 정보는, 기록한 로컬 시퀀스 번호 및 상대측 시퀀스 번호를 포함할 뿐만 아니라, 로컬 윈도우 사이즈도 포함한다.
동기화 응답 노드(820)로부터 접속 상태 정보를 수신한 후, 제2 통신 유 닛(812)은 접속 상태 정보에 따라 접속 상태 동기화를 수행한다. 제2 통신 유닛(812)은 로컬 접속 상태를, 수신된 접속 상태 정보와 일치하는 것으로 갱신한다. 다음에, 특정의 애플리케이션에 의해 요구되는 것으로서, 통신 당사자들의 노드는, 제2 통신 유닛(812)이 접속 상태 동기화 승인을 동기화 응답 노드(820)에 전송할 것인지 여부를 지정할 수 있다.
제2 통신 유닛이 접속 상태 동기화 승인을 전송하는 경우, 접속 모듈(821)이 접속 상태 동기화 승인을 수신한 후, 통신 제어 모듈(823)은 접속 모듈(821)의 데이터 전송을 복구할 수 있다.
도 9는 본 발명의 실시예에 따라 접속을 동기화하는 방법을 사용하는 동기화 요청 노드 및 동기화 응답 노드의 구성을 나타내는 도면이다. 동기화 요청 노드(830)는 서로 접속된 접속 모듈(831) 및 동기화 요청 모듈(832)을 포함한다. 접속 모듈(831)은 동기화 응답 노드(820)의 접속 모듈(821)에 접속된다. 동기화 응답 노드(820)는, 접속 모듈(821) 외에도, 접속 모듈(821)에 접속된, 동기화 응답 모듈(822) 및 통신 제어 모듈(823)을 더 포함한다. 동기화 요청 노드(830) 및 동기화 응답 노드(820)는 서로 상대측 노드가 된다.
동기화 응답 노드(820)의 접속 모듈(821)과 동기화 요청 노드(830)의 접속 모듈(831)은 이들 사이의 접속을 통해 서로 통신을 행한다. 동기화 요청 노드(830)가 동기화 응답 노드(820)의 접속 상태와 동기화될 수 없거나 동기화되지 않았다고 하면, 동기화 요청 모듈(832)은 접속 상태 정보의 요청을 접속 모듈(831)에 전송하고, 접속 모듈(831)은 접속 상태 정보의 요청을 동기화 응답 노드(820)에 전송한다. 접속 상태 정보의 요청에는, 현재의 동기화 요청 노드(830)의 윈도우 사이즈가 포함될 수 있다.
동기화 요청 노드(830)로부터 접속 상태 정보의 요청을 수신한 후, 동기화 응답 노드(820)의 접속 모듈(821)은 접속 상태 정보의 요청을 동기화 응답 모듈(822)에 전송한다. 동기화 응답 노드가 통신 제어 모듈(823)을 포함하고 있는 경우라면, 통신 제어 모듈(823)은 접속 모듈(821)의 데이터 전송을 중지시킬 것이다.
동기화 응답 모듈(822)은 국부적으로 기록된 현재의 접속 상태 정보를 접속 모듈(821)에 전송하고, 접속 모듈(821)은 동기화 요청 노드(830)에 응답한다. 동기화 요청 노드(830)의 윈도우 사이즈를 포함하는 접속 상태 정보의 요청에 대하여, 동기화 응답 모듈(822)은 로컬 접속 상태에서의 상대측 윈도우 사이즈를, 수신한 윈도우 사이즈와 일치하는 것으로 추가로 갱신한다. 동기화 응답 노드(820)가 응답한 접속 상태 정보는 기록한 로컬 시퀀스 번호 및 상대측 시퀀스 번호뿐만 아니라, 로컬 윈도우 사이즈도 포함한다.
동기화 응답 노드(820)로부터 접속 상태 정보를 수신한 후, 동기화 응답 노드(830)의 접속 모듈(831)은 접속 상태 정보를 동기화 요청 모듈(832)에 전송한다. 동기화 요청 모듈(832)은 접속 상태 정보에 따라 동기화 요청 노드(830)의 접속 상태를 동기화한다. 동기화 요청 모듈(832)은 로컬 접속 상태를, 수신한 접속 상태 정보와 일치하는 것으로 갱신한다. 다음에, 특정의 애플리케이션에 따라, 통신의 양 당사자의 노드는, 동기화 요청 모듈(832)이 접속 상태 동기화 승인을 동기화 응 답 노드(820)에 전송할 것인지 여부를 지정할 수 있다.
동기화 요청 모듈(832)이 접속 상태 동기화 승인을 전송하는 경우에, 동기화 응답 노드(820)의 접속 모듈(821)이 접속 상태 동기화 승인을 수신한 후, 통신 제어 모듈(823)은 접속 모듈(821)의 데이터 전송을 복구할 수 있다.
도 8에 도시된 동기화 요청 노드(810)의 제1 통신 유닛(811) 및 제2 통신 유닛(812)이 모두 제2 실시예에서 접속 상태를 동기화하기 위한 방법을 사용할 수 있는 경우, 제1 통신 유닛(811) 및 제2 통신 유닛(812)은, 자신들과 동기화 응답 노드(820) 사이에서의 접속을 복구하기 위한 동기화 요청 모듈 및 접속 모듈을 각각 포함할 수 있다.
접속 상태를 동기화하기 위한 방법에 관한 앞서 설명한 실시예와, 응용예에서의 동기화 요청 노드 및 동기화 응답 노드의 경우, 접속 상태 정보 요청, 접속 상태 정보 요청에 대한 응답, 및 접속 상태 동기화 승인은 모두, 접속 상에서 전송되는 메시지를 통해 구현될 필요가 있다. 또한, 접속 상태 동기화 중에 2개의 말단 노드 사이에서 교환되는 정보는 접속 설정 중에 교환되는 정보와 유사하며, 구현되는 기능도 마찬가지로 유사하게 되는데, 이는 이들 2개의 단말 노드가 이들 접속 당사자들의 상태 정보를 매칭시키고 후속하는 데이터 전송을 위해 제공되도록 구성되기 때문이다. 따라서, 본 발명의 실시예에서, 접속을 설정하기 위한 메시지 포맷은, 접속 상태를 동기화하기 위한 메시지용으로 사용되는 것이 바람직하며, 접속 상태 정보는 헤더 필드 내의 상이한 콘텐츠를 포함함으로써 교환될 수 있다.
TCP 프로토콜에서는, 2개의 통신 노드 사이에서 TCP 접속을 설정하기 위해 3 단계 핸드세이크(three-way handshake) 프로세스를 채택한다. 제1 핸드세이크에서, 접속을 초기화하는 노드는 제1 SYN 메시지를 상대측 노드에 전송한다. 제1 SYN 메시지에서, SYN 플래그 비트는 세트되고 ACK 플래그 비트는 클리어된다. 접속을 초기화하는 노드의 초기 시퀀스 번호는 시퀀스 번호 필드 내에 포함되고, 현재 노드의 윈도우 사이즈는 윈도우 사이즈 필드에 포함된다. 상대측 노드가 제1 SYN 메시지를 수신한 후에 다른 노드와 접속을 설정할 것이라면, 제2 SYN 메시지를 응답으로서 제공한다. 제2 SYN 메시지에서, SYN 플래그 비트와 ACK 플래그 비트는 세트(set)되어 있으며, 상대측 노드의 초기 시퀀스 번호는 시퀀스 번호 필드 내에 포함되고, 수신한 노드의 초기 시퀀스 번호에 1을 가산한 값이 승인 시퀀스 번호 필드 내에 포함되어 제1 SYN 메시지를 승인하게 된다. 현재의 상대측 노드의 윈도우 사이즈는 윈도우 사이즈 필드 내에 포함된다. 제2 SYN 메시지를 수신한 후, 접속을 초기화하는 노드는 제3 SYN 메시지를 상대측 노드에 전송한다. 제3 SYN 메시지에서, ACK 플래그 비트는 세트되고, 상대측 노드의 초기 시퀀스 번호에 1을 가산한 값이 승인 시퀀스 번호 필드에서 세트되어, 제2 SYN 메시지를 승인하게 된다. 현재의 노드의 윈도우 사이즈는 윈도우 사이즈 필드 내에 포함된다. TCP 접속은 상기 3개의 SYN 메시지에 의해 설정된다.
TCP 접속 동기화의 과정에서, 접속 상태 정보 요청 메시지는 제1 SYN 메시지의 포맷을 사용할 수 있으며, 여기에서 동기화 요청 노드에 의해 현재 사용되고 있는 시퀀스 번호는 시퀀스 번호 필드 내에 포함되고, 현재 사용되고 있는 시퀀스 번호를 알지 못하는 경우에는, 값 0이 승인 시퀀스 번호 필드 내에 포함되고, SYN 플 래그 비트는 세트되며, ACK 플래그 비트는 클리어된다. 동기화 요청 노드의 현재의 윈도우 사이즈는 윈도우 사이즈 필드에 포함된다.
동기화 응답 노드가 응답한 접속 상태 정보 응답 메시지는 제2 SYN 메시지의 포맷을 사용할 수 있는데, 동기화 응답 노드에 의해 현재 사용되고 있는 시퀀스 번호는 시퀀스 번호 필드 내에 포함된다. 국부적으로 기록된 동기화 요청 노드의 시퀀스 번호는 승인 시퀀스 번호 필드 내에 포함된다. SYN 플래그 비트와 ACK 플래그 비트는 세트되고, 동기화 응답 노드의 현재의 윈도우 사이즈는 윈도우 사이즈 필드 내에 포함된다.
동기화 요청 노드의 접속 상태 동기화 승인 메시지는 제3 SYN 메시지의 포맷을 사용할 수 있으며, 각 필드 내에 포함된 내용은 제3 SYN 메시지의 내용과 동일할 수도 있다.
본 발명의 실시예에서, 접속 상태 동기화는 접속이 설정되었을 경우에 이루어지는 것에 주의하여야 한다. 따라서, 양 통신 당사자들의 노드는, 메시지가 접속을 설정하기 위한 메시지인지 또는 앞서 설명한 3개의 메시지가 전송 또는 수신되었을 때 접속의 상태에 따른 접속 상태의 동기화를 위한 메시지인지 여부를 판정함으로써, 이에 대응하는 동작을 행할 수 있다. 추가로, 종래에는, 접속이 설정된 경우에서의 접속의 SYN 메시지를 수신하면, TCP 접속의 하나의 말단에서의 노드가 리셋 메시지를 사용해서 접속을 종료하는 것이 일반적이다. 그러나, 본 발명의 실시예에 의하면, 접속이 설정된 경우에 SYN 메시지를 수신하는 노드는 상대측 노드에 대해 접속 상태 정보를 응답하여야 한다.
TCP 접속이 설정된 후 접속을 동기화하기 위한 상태 머신(state machine)이 도 10에 도시되어 있다. 설정된 TCP 접속은 Established 상태(접속이 확립된 상태)이다. 접속 설정의 과정에서의 SYN RCVD 상태(즉, SYN 메시지를 수신한 상태)와 SYN SENT 상태(즉, SYN 메시지를 전송한 상태)의 구분을 위해, 접속 상태 동기화 과정에서는, 이를 각각 EST SYN RCVD 상태(즉, SYN 메시지가 설정된 접속에 의해 수신된 상태)와 EST SYN SENT 상태(즉, SYN 메시지가 설정된 접속에 의해 전송된 상태)라고 한다.
접속 상태가 동기화될 필요가 있으면, Established 상태에 있는 노드는, 접속 상태 정보 요청 메시지를 전송한 후에 EST SYN SENT 상태로 진입하고, 상대측 노드로부터 접속 상태 정보 응답 메시지를 수신한 후에 접속 상태를 동기화하며, 접속 상태 동기화 승인 메시지를 전송한 후에 Established 상태로 복귀한다. 접속 상태 정보 요청 메시지를 수신하고, 접속 상태 정보 응답 메시지를 상대측 노드에 대해 응답으로서 제공하게 되면, Established 상태에 있는 노드는 EST SYN RCVD 상태가 되고, 이어서 상대측 노드로부터 접속 상태 동기화 승인 메시지를 수신한 후에 Established 상태로 복귀한다.
본 발명의 실시예는, 데이터 통신에서의 접속 상태 동기화를 구현하기 위한 컴퓨터 프로그램을 제공한다. 컴퓨터 프로그램은 통신 노드에 저장되며, 통신 노드가 다음과 같은 단계들을 수행할 수 있다.
즉, 통신 노드와 접속된 상대측 노드로부터 접속 상태 정보를 요청하는 단계와, 상대측 노드로부터 응답으로서 제공된 접속 상태 정보에 따라 로컬 접속 상태 를 갱신하는 단계를 포함한다.
컴퓨터 프로그램에서, 관련된 통신 노드는 작동 통신 유닛과 대기 통신 유닛을 포함한다. 대기 통신 유닛은 작동 통신 유닛에 의해 제공된 접속 파라미터에 따라 상대측 노드로부터 접속 상태 정보를 요청하고, 취득한 접속 상태 정보에 따라 로컬 접속 상태를 갱신한다.
관련된 접속 파라미터는, 소스 IP 어드레스, 목적지 IP 어드레스, 소스 포트 번호, 및 목적지 포트 번호를 포함한다.
관련된 접속 상태 정보는 로컬 시퀀스 번호와 상대측 시퀀스 번호를 포함한다.
통신 노드는 상대측 노드에 로컬 윈도우 값을 전송하고 상대측 노드로부터 접속 상태 정보를 요청한다.
상대측 노드로부터 응답으로서 제공된 접속 상태 정보는 상대측 노드의 윈도우 값을 포함한다.
로컬 접속 상태를 갱신한 후, 노드는 상대측 노드에 대해 접속 상태 동기화를 승인한다.
상대측 노드로부터 접속 상태 정보를 요청하기 위한 메시지는, TCP를 통해 설정된 접속의 제1 SYN 메시지의 포맷을 사용한다.
접속 상태 동기화를 승인하기 위한 메시지는, TCP를 통해 설정된 접속의 제3 SYN 메시지의 포맷을 사용한다.
데이터 통신에서의 접속 상태 동기화를 구현하기 위해 본 발명의 실시예는 다른 컴퓨터 프로그램을 제공한다. 이 컴퓨터 프로그램은 통신 노드 내에 저장되며, 다음과 같은 단계들을 포함할 수 있다.
즉, 통신 노드와 접속을 설정한 상대측 노드로부터 접속 상태 정보를 수신하는 단계와, 현재의 로컬 접속 상태 정보를 상대측 노드에 응답으로서 제공하는 단계를 포함할 수 있다.
상대측 노드로부터 접속 상태 정보 요청을 수신하면, 통신 노드는 접속 상태 정보를 상대측 노드에 응답으로서 제공하기 전에 접속 상에서의 데이터 전송을 중지한다.
상대측 노드로부터의 접속 상태 정보 요청에는 상대측 노드의 윈도우 사이즈가 포함된다.
노드는 상대측 노드로부터의 접속 상태 정보 요청 내의 윈도우 값에 따라 상대측의 로컬 윈도우 사이즈를 갱신한다.
상대측 노드에 대한 응답으로서 제공된 현재의 접속 상태 정보에는, 국부적으로 기록된 상대측 시퀀스 번호, 로컬 시퀀스 번호, 및 로컬 윈도우 사이즈가 포함된다.
현재의 접속 상태 정보는 TCP를 통해 설정된 접속의 제2 SYN 메시지의 포맷으로 상대측 노드에 응답으로서 제공된다. 여기에서 승인 시퀀스 번호 필드는 국부적으로 기록된 상대측 시퀀스 번호이다.
본 발명에 대하여 2가지 특정 예를 들어 설명한다.
제1 응용예: 도 1에는 분산 시스템의 TCP 접속에 대하여 나타내고 있으며, 그 접속 상태 동기화의 흐름에 대해서는 도 11에 도시되어 있다. 노드 B의 작동 보드 상에서 고장이 나면, 대기 보드가 작동 보드를 대신해서 동작한다. 원래의 TCP 접속의 목적지 IP 어드레스, 소스 IP 어드레스, 목적지 포트 번호, 및 소스 포트 번호를 알고 있는 것만으로, 대기 보드는, 접속 상태 정보 요청 메시지를 노드 A에 전송하고, 노드 A로부터 접속 상태 정보 응답 메시지를 수신할 수 있다. 이어서, 대기 보드는 접속 상태 동기화 승인 메시지를 노드 A에 전송할 수 있다. 이에 따라, 접속 상태 동기화 과정이 달성될 수 있다. 계속해서, 노드 B는 노드 A와 데이터 전송을 계속할 수 있다. 이 과정은 상위 계층 애플리케이션에 대해서도 거의 동일하게 적용된다.
제2 응용예: 노드 C와 노드 D 사이에서 TCP 접속을 통해 데이터 전송이 이루어진다. 노드 C 또는 노드 C 내의 프로세스가 재시작되면, 그 접속의 목적지 IP 어드레스, 소스 IP 어드레스, 목적지 포트 번호, 및 소스 포트 번호가 계속해서 유지되는 경우, 접속 상태는, 접속 상태 정보 요청 메시지, 접속 상태 정보 응답 메시지, 및 접속 상태 동기화 승인 메시지를 노드 D와 상호작용시킴으로써 동기화될 수 있다. 이에 의해, TCP 접속이 복구될 수 있다. 다시 말해서, 노드 C에서의 단기간 내에 이루어지는 재시작 동작은 접속에 기초한 데이터 전송에 영향을 미치지 않을 것이다.
본 발명의 실시예에 의하면, 고가용성의 시스템의 어느 시점에서 또는 다양한 경우에서의 스위칭에 대해, 원래의 접속이 계속될 수 있으며, 중앙 시스템에서의 단기간의 고장에 의해 생기는 동기화가 이루어지지 않은 접속 상태에 대해서는, 복구 효과를 달성할 수 있다. 또한, 본 발명의 실시예에서, 접속에 대한 접속 파라미터는, 고가용성 시스템의 각 접속 장치들 사이에서 접속 상태의 실시간 동기화를 행하지 않고도, 백업 접속 장치로 한번 전송하면 된다. 이에 따라, 고가용성 시스템의 프로세서 및 내부 대역폭을 활용할 수 있게 되어, 시스템의 서비스 처리 성능을 보장할 수 있게 된다.
본 발명의 실시예는 본 발명의 범위를 제한하는 것으로 해석되어서는 안 된다. 본 발명의 범위와 원리 내에서의 다양한 변형, 변경, 및 개선은 본 발명의 청구 범위 내에 포함된다.

Claims (33)

  1. 데이터 통신에서 접속 상태를 동기화하는 방법으로서,
    노드가 상기 노드에 접속된 상대측 노드로부터 접속 상태 정보를 요청하는 단계; 및
    상기 노드가 상기 상대측 노드에 의해 응답으로서 제공된 접속 상태 정보에 따라 로컬의 접속 상태를 갱신하는 단계
    를 포함하는, 접속 상태의 동기화 방법.
  2. 제1항에 있어서,
    상기 노드는 제1 통신 유닛과 적어도 하나의 제2 통신 유닛을 포함하며,
    상기 노드가 상기 상대측 노드로부터 상기 접속 상태 정보를 요청하기 전에, 상기 제1 통신 유닛이 상기 상대측 노드와의 접속에 대한 접속 파라미터(connection parameters)를 상기 제2 통신 유닛에 통지하는, 접속 상태의 동기화 방법.
  3. 제2항에 있어서,
    상기 노드가 상기 상대측 노드로부터 접속 상태 정보를 요청하는 단계는, 접속이 이루어진 후, 상기 제1 통신 유닛을 상기 상대측 노드로 교체하는 단계를 포함하며,
    상기 제2 통신 유닛은 상기 접속 파라미터에 기초하여 상기 상대측 노드로부터 상기 접속 상태 정보를 요청하고,
    상기 제2 통신 유닛은 상기 상대측 노드로부터 응답으로서 제공된 상기 접속 상태 정보에 따라 상기 로컬의 접속 상태를 갱신하는, 접속 상태의 동기화 방법.
  4. 제2항 또는 제3항에 있어서,
    상기 접속 파라미터에는, 소스 IP 어드레스, 목적지 IP 어드레스, 소스 포트 번호, 및 목적지 포트 번호가 포함되는, 접속 상태의 동기화 방법.
  5. 제2항에 있어서,
    상기 상대측 노드로부터 상기 접속 상태 정보를 요청하는 단계와, 응답으로서 제공된 상기 접속 상태 정보에 따라 상기 로컬의 접속 상태를 갱신하는 단계는, 현재 상대측 노드와 접속된 상기 제1 통신 유닛 또는 상기 제2 통신 유닛에 의해 수행되는, 접속 상태의 동기화 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 접속 상태 정보에는, 로컬 시퀀스 번호 및 상대측 시퀀스 번호가 포함되는, 접속 상태의 동기화 방법.
  7. 제6항에 있어서,
    상기 노드가 상기 상대측 노드로부터 상기 접속 상태 정보를 요청하는 동안 로컬의 윈도우 값(window value)을 전송하는 단계를 더 포함하며,
    상기 상대측 노드에 의해 응답으로서 제공된 상기 접속 상태 정보에는 상기 상대측 노드의 윈도우 값이 포함되는, 접속 상태의 동기화 방법.
  8. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 상대측 노드에 의해 응답으로서 제공된 상기 접속 상태 정보를 수신한 후, 상기 노드는 상기 상대측 노드에 대하여 상기 접속 상태 정보를 승인(acknowledge)하는, 접속 상태의 동기화 방법.
  9. 제8항에 있어서,
    상기 상대측 노드로부터 상기 접속 상태 정보를 요청하기 위한 메시지는, TCP(Transmission Control Protocol)를 통해 설정된 접속의 제1 SYN(Synchronization) 메시지의 포맷을 가지며,
    상기 접속 상태의 동기화를 승인하기 위한 메시지는, TCP를 통해 설정된 접속의 제3 SYN 메시지의 포맷을 갖는, 접속 상태의 동기화 방법.
  10. 데이터 통신에서 접속 상태를 동기화하는 방법으로서,
    접속이 설정된 노드가 상대측 노드로부터 접속 상태 정보의 요청을 수신하는 단계; 및
    상기 노드가 상기 상대측 노드에 대해 현재의 로컬의 접속 상태 정보를 응답으로서 제공하는 단계
    를 포함하는 접속 상태의 동기화 방법.
  11. 제10항에 있어서,
    상기 노드는, 상기 상대측 노드에 대하여 상기 접속 상태 정보를 응답으로서 제공하기 전에, 상기 상대측 노드로부터 상기 접속 상태 정보의 요청을 수신하면, 접속 상에서의 데이터 전송을 중지(suspend)하는, 접속 상태의 동기화 방법.
  12. 제10항 또는 제11항에 있어서,
    상기 상대측 노드로부터의 상기 접속 상태 정보의 요청에는 상기 상대측 노드의 윈도우 사이즈(window size)가 포함되며,
    상기 노드는 상기 상대측 노드로부터의 상기 접속 상태 정보의 요청에 포함된 상기 윈도우 값에 따라 상대측의 로컬의 윈도우 사이즈를 갱신하고,
    상기 상대측 노드에 응답으로서 제공된 현재의 접속 상태 정보에는, 국부적으로 기록된, 상대측 시퀀스 번호, 로컬 시퀀스 번호, 및 로컬 윈도우 사이즈가 포함되는, 접속 상태의 동기화 방법.
  13. 제12항에 있어서,
    상기 현재의 접속 상태 정보는 TCP를 통해 설정된 접속의 제2 SYN 메시지의 포맷으로 상기 상대측 노드로 응답으로서 제공되고, 승인 시퀀스 번호 필드는 국부적으로 기록된 상대측 시퀀스 번호인, 접속 상태의 동기화 방법.
  14. 통신 노드에 있어서,
    상대측 노드와의 접속을 통해 통신을 행하는 접속 모듈; 및
    상기 접속 모듈을 통해 상기 상대측 노드에 접속 상태 정보의 요청을 전송하고, 상기 접속 모듈에 의해 상기 상대측 노드로부터 수신한 접속 상태 정보에 따라 로컬의 접속 상태를 동기화하여 갱신하는 동기화 요청 모듈
    을 포함하는 통신 노드.
  15. 제14항에 있어서,
    상기 로컬의 접속 상태 정보는 상기 상대측 노드에 의해 응답으로서 제공된 상기 접속 상태 정보와 동일하게 설정되며,
    상기 접속 모듈을 통해 상기 상대측 노드에 대해 접속 상태 정보 동기화가 승인되는, 통신 노드.
  16. 제14항 또는 제15항에 있어서,
    상기 접속 상태 정보의 요청에는 로컬의 윈도우 사이즈가 포함되며,
    상기 상대측 노드에 의해 응답으로서 제공된 상기 접속 상태 정보에는, 상기 상대측 노드에 의해 기록된, 로컬 시퀀스 번호, 상대측 시퀀스 번호, 및 상대측 윈 도우 사이즈가 포함되는, 통신 노드.
  17. 통신 노드에 있어서,
    제1 통신 유닛과 적어도 하나의 제2 통신 유닛을 포함하며,
    상기 제1 통신 유닛은 상대측 노드와의 접속에 대한 접속 파라미터를 상기 제2 통신 유닛에 전송하고,
    상기 제2 통신 유닛은, 상기 접속 파라미터에 따라 상기 상대측 노드와 접속을 설정하며, 접속 상태 정보의 요청을 상기 상대측 노드에 전송하고, 상기 상대측 노드로부터 수신한 상기 접속 상태 정보에 따라 접속 상태를 갱신하는, 통신 노드.
  18. 제17항에 있어서,
    현재의 통신 유닛의 접속 상태 정보는 상기 상대측 노드에 의해 응답으로서 제공된 상기 접속 상태 정보와 동일하게 설정되며,
    상기 상대측 노드에 대하여 접속 상태 동기화가 승인되는, 통신 노드.
  19. 제17항 또는 제18항에 있어서,
    상기 상대측 노드로부터 수신한 상기 접속 상태 정보에는, 상기 상대측 노드에 의해 기록된, 로컬 시퀀스 번호 및 상대측 시퀀스 번호가 포함되며,
    상기 접속 파라미터에는, 소스 IP 어드레스, 목적지 IP 어드레스, 소스 포트 번호, 및 목적지 포트 번호가 포함되는, 통신 노드.
  20. 통신 노드에 있어서,
    상대측 노드와의 접속을 통해 통신을 행하는 접속 모듈; 및
    상기 접속 모듈에 의해 출력되는, 상기 상대측 노드로부터의 접속 상태 정보의 요청을 수신하고, 상기 접속 모듈을 통해 상기 상대측 노드에 현재의 로컬의 접속 상태 정보를 전송하는 동기화 응답 모듈
    을 포함하는 통신 노드.
  21. 제20항에 있어서,
    상기 접속 모듈이 상기 상대측 노드로부터 접속 상태 정보의 요청을 수신하게 되면 상기 접속 모듈의 데이터 전송을 중지하고, 상기 접속 모듈이 상기 상대측 노드로부터 접속 상대 동기화 승인을 수신한 후에는 상기 접속 모듈의 데이터 통신을 계속하는 통신 제어 모듈을 더 포함하는, 통신 노드.
  22. 제21항에 있어서,
    상기 현재의 로컬의 접속 상태 정보에는, 국부적으로 기록된, 상대측 시퀀스 번호, 로컬 시퀀스 번호, 및 로컬 윈도우 사이즈가 포함되는, 통신 노드.
  23. 데이터 통신에서의 접속 상태 동기화를 구현하기 위한 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 프로그램은 통신 노드에 저장되며,
    상기 통신 노드는,
    상기 통신 노드에 접속된 상대측 노드로부터 접속 상태 정보를 요청하는 단계; 및
    상기 상대측 노드로부터 응답으로서 제공된 상기 접속 상태 정보에 따라 로컬의 접속 상태를 갱신하는 단계
    를 수행하는, 컴퓨터 프로그램 제품.
  24. 제23항에 있어서,
    상기 통신 노드는 작동(active) 통신 유닛과 대기(standby) 통신 유닛을 포함하며,
    상기 대기 통신 유닛은, 상기 작동 통신 유닛에 의해 제공된 접속 파라미터에 따라 상기 상대측 노드로부터 접속 상태 정보를 요청하고, 취득한 접속 상태 정보에 따라 로컬의 접속 상태를 갱신하는, 컴퓨터 프로그램 제품.
  25. 제24항에 있어서,
    상기 접속 파라미터에는, 소스 IP 어드레스, 목적지 IP 어드레스, 소스 포트 번호, 및 목적지 포트 번호가 포함되는, 컴퓨터 프로그램 제품.
  26. 제23항에 있어서,
    상기 접속 상태 정보에는, 로컬 시퀀스 번호 및 상대측 시퀀스 번호가 포함되는, 컴퓨터 프로그램 제품.
  27. 제26항에 있어서,
    상기 통신 노드는 상기 상대측 노드로부터 접속 상태 정보를 요청하는 동안 로컬의 윈도우 값을 전송하고,
    상기 상대측 노드에 의해 응답으로서 제공된 접속 상태 정보에는 상기 상대측 노드의 윈도우 값이 포함되는, 컴퓨터 프로그램 제품.
  28. 제23항에 있어서,
    상기 통신 노드는, 상기 로컬의 접속 상태를 갱신한 후에, 상기 상대측 노드에 대하여 접속 상태 동기화를 승인하는, 컴퓨터 프로그램 제품.
  29. 제23항에 있어서,
    상기 상대측 노드로부터 상기 접속 상태 정보를 요청하기 위한 메시지는, TCP를 통해 설정된 접속의 제1 SYN 메시지의 포맷을 가지며,
    상기 접속 상태 동기화를 승인하기 위한 메시지는, TCP를 통해 설정된 접속의 제3 SYN 메시지의 포맷을 갖는, 컴퓨터 프로그램 제품.
  30. 데이터 통신에서의 접속 상태 동기화를 구현하기 위한 컴퓨터 프로그램 제품 으로서,
    상기 컴퓨터 프로그램은 통신 노드에 저장되며,
    상기 통신 노드는,
    상기 통신 노드와의 접속을 설정한 상대측 노드로부터 접속 상태 정보의 요청을 수신하는 단계; 및
    상기 상대측 노드에 현재의 로컬의 접속 상태 정보를 응답으로서 제공하는 단계
    를 수행하는, 컴퓨터 프로그램 제품.
  31. 제30항에 있어서,
    상기 통신 노드는, 상기 상대측 노드에 상기 접속 상태 정보를 응답으로서 제공하기 전에, 상기 상대측 노드로부터 상기 접속 상태 정보를 수신하면, 상기 상대측 노드와의 접속 상의 데이터 전송을 중지하는, 컴퓨터 프로그램 제품.
  32. 제30항에 있어서,
    상기 상대측 노드로부터의 상기 접속 상태 정보의 요청에는 상기 상대측 노드의 윈도우 사이즈가 포함되며,
    상기 노드는 상기 상대측 노드로부터의 상기 접속 상태 정보의 요청에 포함된 상기 윈도우 값에 따라 상대측의 로컬의 윈도우 사이즈를 갱신하고,
    상기 상대측 노드에 응답으로서 제공된 현재의 접속 상태 정보에는, 국부적 으로 기록된, 상대측 시퀀스 번호, 로컬 시퀀스 번호, 및 로컬 윈도우 사이즈가 포함되는, 컴퓨터 프로그램 제품.
  33. 제30항에 있어서,
    상기 현재의 접속 상태 정보는 TCP를 통해 설정된 접속의 제2 SYN 메시지의 포맷으로 상기 상대측 노드로 응답으로서 제공되고, 승인 시퀀스 번호 필드는 국부적으로 기록된 상대측 시퀀스 번호인, 컴퓨터 프로그램 제품.
KR1020087014824A 2006-02-14 2006-06-30 데이터 통신에서의 접속 상태를 동기화하는 방법 및 이를 사용하는 통신 노드 KR100990415B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200610007491.8A CN101022451B (zh) 2006-02-14 2006-02-14 数据通信中连接状态的同步方法及其应用的通信节点
CN200610007491.8 2006-02-14

Publications (2)

Publication Number Publication Date
KR20080077210A true KR20080077210A (ko) 2008-08-21
KR100990415B1 KR100990415B1 (ko) 2010-10-29

Family

ID=38371170

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087014824A KR100990415B1 (ko) 2006-02-14 2006-06-30 데이터 통신에서의 접속 상태를 동기화하는 방법 및 이를 사용하는 통신 노드

Country Status (7)

Country Link
US (1) US7860985B2 (ko)
EP (1) EP1986337A4 (ko)
JP (1) JP2009525013A (ko)
KR (1) KR100990415B1 (ko)
CN (1) CN101022451B (ko)
AU (1) AU2006338127B2 (ko)
WO (1) WO2007093087A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132347A (zh) * 2006-08-24 2008-02-27 华为技术有限公司 一种实现tcp连接备份的系统及方法
CN101159606B (zh) * 2007-11-09 2010-07-07 华为技术有限公司 解决地址冲突的方法和网络设备
JP4479930B2 (ja) * 2007-12-21 2010-06-09 日本電気株式会社 ノードシステム、サーバ切換え方法、サーバ装置、データ引き継ぎ方法、およびプログラム
JP5088281B2 (ja) * 2008-09-19 2012-12-05 沖電気工業株式会社 パケット同期切替方法及びゲートウェイ装置
CN101938753A (zh) 2009-06-30 2011-01-05 上海贝尔股份有限公司 一种aal2路径状态同步方法及其装置
CN102204371B (zh) * 2009-10-08 2015-06-03 高通股份有限公司 用于在时分同步码分多址(td-scdma)网络中重复上行链路同步的方法和装置
US9674096B2 (en) * 2010-02-12 2017-06-06 Telefonaktiebolaget L M Ericsson Rate adaptation
CN102572063B (zh) * 2010-12-15 2014-11-05 联想(北京)有限公司 系统状态控制方法及便携终端
CN102035687B (zh) * 2011-01-06 2012-10-17 华为技术有限公司 Tcp连接的备份方法及其设备
CN102780712B (zh) * 2011-05-09 2015-04-15 华为技术有限公司 会话的切换方法及装置
US9210127B2 (en) * 2011-06-15 2015-12-08 Mcafee, Inc. System and method for limiting data leakage
CN102510408B (zh) * 2011-11-30 2015-01-14 武汉烽火网络有限责任公司 实现tcp应用主备热倒换的方法
CN103685043A (zh) * 2012-09-19 2014-03-26 国基电子(上海)有限公司 路由器、网络连接恢复系统及网络连接恢复方法
US9572120B2 (en) * 2012-09-24 2017-02-14 Apple Inc. Synchronization requests to reduce power consumption
CN104580215A (zh) * 2015-01-09 2015-04-29 烽火通信科技股份有限公司 一种tcp连接热备份的实现方法
CN106161355A (zh) * 2015-04-01 2016-11-23 中兴通讯股份有限公司 一种保活报文的处理方法及装置
US11669076B2 (en) 2018-07-27 2023-06-06 Rockwell Automation Technologies, Inc. System and method of communicating unconnected messages over high availability industrial control systems
US11327472B2 (en) 2018-07-27 2022-05-10 Rockwell Automation Technologies, Inc. System and method of connection management during synchronization of high availability industrial control systems
US11927950B2 (en) 2018-07-27 2024-03-12 Rockwell Automation Technologies, Inc. System and method of communicating safety data over high availability industrial control systems
US11221612B2 (en) * 2018-07-27 2022-01-11 Rockwell Automation Technologies, Inc. System and method of communicating data over high availability industrial control systems
CN110011767B (zh) * 2019-04-17 2022-09-27 北京百度网讯科技有限公司 用于tcp连接备份的方法和装置
US11323552B2 (en) * 2019-04-19 2022-05-03 EMC IP Holding Company LLC Automatic security configurations in disaster recovery
CN110149232B (zh) * 2019-05-23 2020-05-29 苏州浪潮智能科技有限公司 分布式存储块升级iscsi服务方法、系统、装置及存储介质
CN110380931A (zh) * 2019-07-17 2019-10-25 上海庆科信息技术有限公司 连接状态的处理方法、装置、存储介质、处理器及系统
CN110493328A (zh) * 2019-08-07 2019-11-22 苏州浪潮智能科技有限公司 一种状态信息处理方法、装置、服务器及可读存储介质
CN111510327B (zh) 2020-04-08 2022-01-21 北京字节跳动网络技术有限公司 用于共同训练模型的训练参与端的网络连接方法、装置、系统和服务器
CN112235370B (zh) * 2020-09-29 2023-04-28 卧安科技(深圳)有限公司 一种设备信息同步方法、同步装置、主设备及存储介质
WO2023219709A1 (en) * 2022-05-13 2023-11-16 Microsoft Technology Licensing, Llc Efficient state replication in sdn networks
CN115150317B (zh) * 2022-06-22 2023-09-12 杭州迪普科技股份有限公司 路由表项下发方法、装置、电子设备及计算机可读介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1013429A (ja) * 1996-06-21 1998-01-16 Nec Corp プロトコル状態同期化方法及び装置
JP3602972B2 (ja) * 1998-07-28 2004-12-15 富士通株式会社 通信性能測定装置及びその測定方法
US6219706B1 (en) * 1998-10-16 2001-04-17 Cisco Technology, Inc. Access control for networks
US6237111B1 (en) * 1998-10-29 2001-05-22 International Business Machines Corporation Method for logical connection resynchronization
US6876625B1 (en) * 2000-09-18 2005-04-05 Alcatel Canada Inc. Method and apparatus for topology database re-synchronization in communications networks having topology state routing protocols
US7490161B2 (en) * 2001-08-22 2009-02-10 Nokia Inc. Method and system for implementing OSPF redundancy
US20040078625A1 (en) * 2002-01-24 2004-04-22 Avici Systems, Inc. System and method for fault tolerant data communication
US7114096B2 (en) * 2003-04-02 2006-09-26 International Business Machines Corporation State recovery and failover of intelligent network adapters
WO2004107683A1 (ja) * 2003-05-29 2004-12-09 Nec Corporation パケット中継装置及びパケット中継方法並びにプログラム
CN100502384C (zh) * 2003-07-02 2009-06-17 西安大唐电信有限公司 一种主备用双机进行tcp连接倒换的方法
US7535827B2 (en) 2003-10-09 2009-05-19 Alcatel Lucent High availability of resources in telecommunications network using synchronized redundancy mechanism
US7058058B2 (en) * 2003-11-05 2006-06-06 Juniper Networks, Inc. Transparent optimization for transmission control protocol initial session establishment
CN100407727C (zh) * 2004-01-18 2008-07-30 中兴通讯股份有限公司 一种基于消息的处理器间通信方法
JP4008432B2 (ja) * 2004-06-02 2007-11-14 富士通株式会社 ネットワーク機器のトポロジを探索する装置および方法
US20050283529A1 (en) * 2004-06-22 2005-12-22 Wan-Yen Hsu Method and apparatus for providing redundant connection services
US7447796B2 (en) * 2004-12-17 2008-11-04 International Business Machines Corporation System, method and program product to route message packets
US7607170B2 (en) * 2004-12-22 2009-10-20 Radware Ltd. Stateful attack protection

Also Published As

Publication number Publication date
AU2006338127A1 (en) 2007-08-23
CN101022451A (zh) 2007-08-22
KR100990415B1 (ko) 2010-10-29
US20080294784A1 (en) 2008-11-27
EP1986337A4 (en) 2012-05-02
CN101022451B (zh) 2014-07-23
JP2009525013A (ja) 2009-07-02
EP1986337A1 (en) 2008-10-29
AU2006338127B2 (en) 2010-01-21
WO2007093087A1 (fr) 2007-08-23
US7860985B2 (en) 2010-12-28

Similar Documents

Publication Publication Date Title
KR100990415B1 (ko) 데이터 통신에서의 접속 상태를 동기화하는 방법 및 이를 사용하는 통신 노드
US7672223B2 (en) Method and apparatus for replicating a transport layer protocol stream
US7801135B2 (en) Transport protocol connection synchronization
US7929422B2 (en) Method of moving a transport connection among network hosts
US6049825A (en) Method and system for switching between duplicated network interface adapters for host computer communications
US7318100B2 (en) Cooperative proxy auto-discovery and connection interception
US7293107B1 (en) Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7836497B2 (en) Apparatus and method for resilient IP security/internet key exchange security gateway
US8938553B2 (en) Cooperative proxy auto-discovery and connection interception through network address translation
US6981047B2 (en) Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6871296B2 (en) Highly available TCP systems with fail over connections
Marwah et al. TCP server fault tolerance using connection migration to a backup server
US7948873B2 (en) Method for recovery of a controlled failover of a border gateway protocol speaker
US20080320154A1 (en) Cooperative proxy auto-discovery and connection interception
WO2009067865A2 (en) Method, router, line card and active master card for realizng a link state database synchronization
CN110313138B (zh) 使用多个网元实现高可用性的相关方法和装置
JP2006229399A (ja) 通信システム、中継ノード及びそれらに用いる通信方法並びにそのプログラム
JP5309350B2 (ja) 移動体通信ゲートウェイ装置及び移動体通信ゲートウェイ制御方法
US8140888B1 (en) High availability network processing system
EP1705865A1 (en) Dialog recovery in a multi-computer system
US12003586B2 (en) Distributed session owner across multiple entities
Ayari et al. T2cp-ar: A system for transparent tcp active replication
US8312117B1 (en) Dialog recovery in a distributed computer system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131007

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181015

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 10