KR101419579B1 - 서버 고장 상황에서 클라이언트 어플리케이션의 더 빠른 복구를 가능하게 하는 방법 - Google Patents
서버 고장 상황에서 클라이언트 어플리케이션의 더 빠른 복구를 가능하게 하는 방법 Download PDFInfo
- Publication number
- KR101419579B1 KR101419579B1 KR1020107024139A KR20107024139A KR101419579B1 KR 101419579 B1 KR101419579 B1 KR 101419579B1 KR 1020107024139 A KR1020107024139 A KR 1020107024139A KR 20107024139 A KR20107024139 A KR 20107024139A KR 101419579 B1 KR101419579 B1 KR 101419579B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- delete delete
- server
- client
- fallover
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network 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 Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
클라이언트 노드에서 실행되는 클라이언트 어플리케이션을 위해 서버로 동작하는 서버 노드의 고장(failure)을 상기 클라이언트 어플리케이션에 통지함에 의하여 멀티노드(multinode) 데이터 처리 시스템에서 폴오버 조건으로(in fallover conditions) 복구 시기(recovery times)를 개선하는 시스템 및 방법이 제공된다. 본 발명에서 이러한 통지는 서버 노드를 위한 백업으로서 동작하는 폴오버 노드에 의해서 제공된다. 클라이언트 어플리케이션이 서버로부터 오랜 시간 동안 응답 받지 못하면, 상기 클라이언트 어플리케이션은 서버에서 고장이 발생한 것으로 가정하고 재접속을 시도한다. 본 발명은 시스템 레벨 소프트웨어가 상기 서버의 고장에 관하여 주도적으로(proactively) 상기 클라이언트 어플리케이션에 통지하게 함으로서 상기 클라이언트 어플리케이션에 의해서 시도되는 재접속의 속도를 높인다(speeds-up). 이렇게 함으로서 상기 클라이언트 어플리케이션을 위한 복구를 더 신속하게 할 수 있다.
Description
본 발명은 일반적으로 멀티노드(multimode) 데이타 프로세싱 시스템 및 방법에 관한 것이다. 좀더 구체적으로, 본 발명은 서버 고장 상황에서 복구 시간을 개선 하기 위한 시스템 및 방법에 관한 것이다. 좀더 구체적으로, 본 발명은 폴오버 노드(fallover node)가 고장 통지(failure notification)를 제공하는 시스템에 관한 것이며, 이 시스템에서 고장 통지는 고장난 노드(failed node)에 의한 업무 수행이 없음에 기초한 고장 결정을 기다릴 필요가 없게 한다. 서버는 여러 개의 노드들을 포함할 수 있을지라도, 여기서는, 그리고 첨부된 청구항에서는 용어 “노드”와 “서버”는 서로 번갈아 사용된다.
HACMP(고 가용 클러스터 관리 프로그램(High Availability Cluster Management Program))와 같은 클러스터웨어(clusterware) 어플리케이션들에는, 지능적인(intelligent) 클라이언트 어플리케이션들이 많이 있는데, 이들은 기본 서버가 고장 났을 경우에 자동적으로 백업 서버에 재접속을 할 수 있을 만큼 지능적이다. 이러한 재접속은 클라이언트와의 통신에 사용하고 있는(interacting) 기본 서버의 IP(Internet Protocol)주소를 동적으로 백업 서버로 옮기므로서 가능하게 된다. 따라서, 클라이언트 어플리케이션들은 서버 고장 때문에 동작을 멈추거나(killed) 다시 시작하지 않아도 된다. 클러스터웨어의 이러한 능력을 여기서는 “폴오버(fallover)”라 한다. 그런데, 문제는, 기본 서버가 고장이 나더라도, 클라이언트와 서버 사이에 존재하는 TCP(전송 제어 프로토콜(transmission control protocol))접속은 곧 바로 종료되지 않고 종료되는데 시간이 좀 걸린다는 것이다. 이는 일차적으로 클라이언트 어플리케이션이 서버의 고장을 알지 못하기 때문에 발생하는 일이며 그래서 클라이언트 어플리케이션은 TCP 재송신(retransmit) 카운터가 만료(expire)될 때까지 계속 재송신하며, 결국 TCP 재송신(retransmit) 카운터가 만료(expire)되어야, TCP 접속이 종료된다. 이 때문에, 백업 서버로 재접속을 시도하기 전 클라이언트 어플리케이션들이 서버의 고장 발생을 인식을 하기까지 시간이 많이 소요된다. 이러한 사실로부터, 종래의 기술에는 전술한 결함들과 한계들을 극복하기 위한 필요성이 존재하였다.
전술한 지연은 서버 고장 발생을 클라이언트에 적시에(timely) 통지함으로써 피할 수 있다. 클라이언트가 서버 고장에 관하여 이러한 통지를 받으면 곧 바로 재접속을 할 수 있게 될 것이다. 본 발명의 바람직한 실시 예는, 클라이언트 어플리케이션에 의해서, 클러스터 내의 하나 혹은 그 이상의 백업 서버들로 재접속을 할 때, 그러한 재접속 프로세스의 속도를 높이기 위한 메커니즘을 제공한다. 클라이언트와 서버(아마도 고장난 노드) 사이에 존재하는 TCP접속들 모두를 신속히 종료시키기 위해서는 클라이언트가 서버 고장이 발생하자마자 해당 TCP 접속에 대한 RST 패킷(Reset Packet) 을 받는 것이 바람직하다. 이러한 RST 패킷을 생성할 것으로 기대되는 노드의 고장에도 불구하고, 본 발명의 방법은 여전히 우선적으로 이러한 RST 패킷을 생성한다. 이를 달성하기 위해서는, 폴오버가 제공되면 곧 바로 폴오버 노드(백업 서버)는 이 RST 패킷을 우선적으로(preferably) 클라이언트로 전송한다. 실제로, 폴오버 노드는 클라이언트를 위해서 고장난 노드인 것처럼 행세한다.
본 발명의 한 실시 예에 따라, 폴오버 조건으로 복구를 개선하기 위한 방법이 제공되며, 상기 방법은, 클라이언트 노드 상에서 실행 중인 클라이언트 어플리케이션을 위한 서버로 동작하는 서버 노드의 고장에 관한 통지를 상기 클라이언트 어플리케이션으로 전송하는 단계를 포함한다. 이러한 통지는 상기 서버 노드를 위한 백업으로 동작하는 상기 폴오버 노드에 의해서 제공된다.
고장에 관한 통지를 전송하기 위해서 상기 폴오버 노드는 상기 서버 노드로 가장하는 것이 바람직하다. 본 발명의 바람직한 실시 예에 따라, 데이터 패킷이 클라이언트 어플리케이션으로부터 수신된다. 이 패킷은 전송 정보를 결정하기 위해 억세스되며 전송정보는 서버 노드에 관한 고장을 클라이언트 어플리케이션에 전송하기 위해 사용된다.
본 발명의 바람직한 실시 예에 따르면, 상기 데이터 패킷은 상기 서버 노드에 대한 데이터 패킷의 오리지널 전송(original transmission)에 관한 수신확인(acknowledgement)을 클라이언트 어플리케이션이 수신하지 못했을 때 상기 클라이언트 어플리케이션에 의해 재전송된 것이다. 한 실시 예에서, 폴오버 노드는 상기 클라이언트 노드에 상기 폴오버 노드가 상기 서버 노드를 위해서 업무를 인수 했음을 알린다.
추가적인 특징들과 장점들이 본 발명의 기술을 통해서 실현될 것이다. 본 발명의 다른 실시 예들 및 특징들이 이하에서 상세히 설명될 것이며 이들은 청구항들의 일부로서 고려될 것이다.
본 발명의 다양한 실시 예들에서 반복 언급되는 바람직한 목적들은 이들 목적들 중 어느 것 혹은 모두가 개별적으로 혹은 집단으로 본 발명의 가장 일반적인 실시 예에서 혹은 본 발명의 어느 특정 실시 예들에서 필수적 특징들로 존재함을 암시하거나 제안하려는 의도는 없다.
본 발명의 바람직한 실시 예들이 지금부터 아래의 도면들을 참조하여 설명될 것이지만, 이들은 오직 하나의 예로써만 설명될 것이다.
도 1은 본 발명에서 채용된 기본 노드 구성 환경 사이의 접속들을 도시한 블록 다이어그램이며,이는 또한 본 발명의 바람직한 실시 예의 동작에서 발생하는 상황들(events)의 시퀀스를 도시한다.
도 2 는 본 발명의 바람직한 실시 예의 프로세스에서 통상적으로 발생하는 상황들의 시퀀스를 도시하는 플로우 챠트이다.
도 1은 본 발명에서 채용된 기본 노드 구성 환경 사이의 접속들을 도시한 블록 다이어그램이며,이는 또한 본 발명의 바람직한 실시 예의 동작에서 발생하는 상황들(events)의 시퀀스를 도시한다.
도 2 는 본 발명의 바람직한 실시 예의 프로세스에서 통상적으로 발생하는 상황들의 시퀀스를 도시하는 플로우 챠트이다.
전술한 바와 같이, 클라이언트는, 예를 들어 TCP 프로토콜을 사용하는 서버와 통신 중일 수 있다. 만일 서버에 고장이 발생한다 하더라도 클라이언트는 그러한 사실을 인지하지 못할 수 있다. 클라이언트가 송출하는 패킷들에 대해서 아무런 수신확인(acknowledgememt)이 없다 하더라도, 클라이언트는 TCP 재전송 카운터(retransmit counter)가 만료될 때까지 계속 재전송을 시도할 것이다. 이러한 동작은 시간이 좀 흐른 뒤에 종료될 것이다. 따라서 (이러한 상황에서는) 클라이언트와 서버 사이의 접속은 강제로 종료되어 리세트되는 것이 바람직하다. TCP 프로토콜은 RESET(RST) 선택(option)을 가지고 있다. 두 당사자들(예를 들어 클라이언트, 서버)이 통신을 하는 중일 때, 만일 제1 당사자가 다른 당사자가 통신을 중단한 사실을 인지하였다면 상기 제1 당사자는 RST를 송출하여 상기 다른 당사자가 접속을 리세트 하도록 강제할 수 있다. 그런데, 문제는 클라이언트(제1 당사자)가 문제가 발생하였다는 사실(통신 중단)을 일정 기간 동안(for quite some time) 인지하지 못할 수 있다는 것이다. 클라이언트가 문제가 발생하였다는 사실을 나중에 인지하였을 때 상기 클라이언트는 재접속을 시도하여 폴오버 노드에 접속될 것이다.
본 발명의 바람직한 실시 예에 따르면, 본 발명은 클라이언트와 통신 중인 서버 노드를 감시하는 백업(혹은 폴오버) 서버를 이용한다. 폴오버 노드는 서버 노드에 고장이 발생한 사실을 인지하면, 상기 서버 노드의 주소를 인수한다(take over). 여기에서 폴오버(백업) 서버는 인수 받은 IP 주소 상의 모든 트래픽을 살펴 보아서 그 중에서 상기 서버 노드 상에서 실행되기 위해 사용된 어플리케이션으로 향한 것(즉 주소 지정된 것)은 없는지를 알아보고, (만약에 없다면) 상기 IP 주소로 상기 백업 노드 상에서 재가동된다. 만일 그러한 것이 발견된다면, 상기 백업 서버는 상기 서버 노드 행세를 할 것이다.
그러나, 폴오버 노드는 서버 노드가 보유하는 접속들에 관한 지식을 갖고 있지 않다. 폴오버 노드는(따라서) 누가 그러한 접속들을 보유하고 있으며, 그 접속들이 어떠한 종류인지 알지 못한다. 그러므로, 폴오버 노드는 서버 노드가 누구(클라이언트)와 접속을 갖고 있는지를 추론하여 그러한 클라이언트들을 폴오버 노드에 접속하도록 촉구(encourage)할 (RST 옵션 사용하여) 필요가 있다. 당연히, 이러한 동작은 서버 노드에 재접속될 것으로 기대하는 모든 그러한 클라이언트들에게는 알려져있다(transparent).
이것이 잘되어 가려면, RST 패킷이 서버 노드로부터 왔다고하는 믿음이 클라이언트에게 있어야 한다. TCP 접속에서 모든(every) 패킷은 시퀀스 번호(sequence number)와 “ACK” 번호를 갖는데, 이는 데이터가 수신처에 전송이 끝났을 때(the end of the transmission)에 정확한 순서를 유지하고 있음(properly ordered)을 보증한다. 만일 TCP가, 어느 때던지, 정확하지 않은 시퀀스 번호 혹은 ACK 번호를 갖는 패킷을 수신했을 때는, 즉시 그 패킷을 버린다. 그래서, 어떤 어플리케이션 "A"가 다른 두 어플리케이션 "B"와 "C"사이에 존재하는 TCP 접속 상에 패킷들을 송신할 수 있으려면, 어플리케이션 "A"는 클라이언트로 송신될 TCP 시퀀스에서의 다음 패킷을 위한 시퀀스 번호, ACK 번호, 그리고 TCP 헤더 정보를 결정해야 한다.
비슷하게, 백업 서버(폴오버 노드)가 RST(Reset)패킷을 클라이언트로 송신할 수 있으려면, 그러한 RST 패킷을 위한 적절한 TCP 헤더 정보를 결정해야 한다. TCP 접속에서, 통신 중인 당사자들 중 어느 한 편이 FIN 패킷(전송의 끝을 표시하기 위해 TCP에서 사용된다.) 혹은 RST 패킷을 전송함에 의하여 접속을 종료함이 없이 동작을 중단(die)했을 때, 다른 당사자는 과거 패킷들(the old packets)을 다시 재전송하기 시작한다.
바람직한 실시 예에서, 폴오버 노드는 서버의 주소를 인수받는다. 그러므로 폴오버 노드는 고장난 노드로부터 IP 주소를 획득하면(활성화 조치에 의해서) 곧 클라이언트로부터 재전송된 패킷들의 일부를 수신한다. 백업 서버(폴오버 노드)는 클라이언트부터 막 수신된 재전송된 패킷을 사용하여 시퀀스에서 다음 패킷의 TCP 헤더 정보를 획득한다. 이 TCP 헤더 정보는 백업 서버가, 예를 들어, RST 패킷이 어떤 시퀀스 번호를 사용해야 하는지, RST 패킷이 어디로 전송되어야 하는지를 결정하는 것을 가능하게 한다.
어떤 어플리케이션이던지 가공하지 않은 IP 소켓들(raw IP sockets)을 사용하여 패킷을 작성하고(handcraft) 그것을 다른 두 어플리케이션들 사이에서 존재하는 TCP 접속 상에 전송할 수 있다. 이 새롭게 작성된 패킷은 자신과 동급의 어플리케이션(its peer application)에 의해서 송신된 것으로 간주되므로 수신처의 입장에서는(for the receiver) 진짜 패킷(genuine packet)인 것처럼 보인다. 본 발명에서, HACMP같은 클러스터웨어는 가공하지 않은 IP 소켓을 사용하여 RST 패킷을 만들고 이를 클라이언트로 전송한다. 이 RST패킷은 과거의 TCP 접속(the old TCP connection)을 즉시 중단시켜서, 그 결과 다시 클라이언트가 신속하게 재접속을 할 수 있도록 한다.
본 발명에서는, 기존의 클라이언트 어플리케이션들 혹은 TCP 스택(stack) 그 자체 어느 쪽도 변경할 필요가 없다. TCP 접속이 TCP 접속 타임 아웃(TCP connection time-out)에 의해서 종료되던지 혹은 RST 패킷에 의해서 종료되던지 상관없이, 클라이언트 어플리케이션은 그러한 종료를 갑작스런(abrupt) 종료로 보고 재접속을 시도한다.
도 1은, 본 발명의 바람직한 실시 예에 따라, 본 발명에서 이벤트들 혹은 상황들의 시퀀스를 도시한다. 특히, 원 "1"은 클라이언트 노드 (100)이 서버 노드 (200)과 통신 중인 초기 상태(initial state)를 나타낸다. 원 "2"는 서버 노드 (200)이 고장나서 폴오버 노드 (300)로 폴오버가 넘어온 상황(event)를 나타낸다. 원 "3"은 폴오버 노드 (300)이 서버 노드 (200)의 고장 사실을 클라이언트 노드 (100)에 통지하고 통신 기능을 인수하는 상황을 나타낸다. 원 "4"는 클라이언트 노드 (100)이 이제 폴오버 노드 (300)에 접속된 상태를 나타낸다. 어플리케이션 레벨 소프트웨어는 통상적으로 노드 고장들에 관하여 알지 못하므로 노드 (200)에서의 고장 표시 수신에는 많은 시간이 걸리는데, 도시된 프로세스는 클라이언트 (100) 상에서 실행 중인 어플리케이션이 노드 (200)의 고장 표시를 기다려야 하는 필요성을 피할 수 있게 한다. 폴오버 프로세스는 시스템 레벨 속도로(at system level speeds) 실행되어서, 우선순위 부여(priorities)가 더 빨리 일어나는데, 이러한 사실은 TCP 접속들의 프로토콜 구조와 함께 클라이언트 기반의 서버 어플리케이션(a client based server application)에 더 빠른 통지를 가능하게 한다.
도 2는 본 발명의 프로세스에서 일어나는 상황들의 통상적인 시퀀스를 도시한다. 이 프로세스는 서버 노드 (200)의 고장으로 시작된다(triggered)(단계 (101)). 시스템 레벨 소프트웨어는 이러한 고장을 상당히 빠르게 검출하여 폴오버(혹은 백업) 노드 (300)에 폴오버를 제공한다(단계 (102)). 그 다음에 폴오버 노드(300)은 클라이언트 노드 (100)에 통지를 한다(단계 (103)). 그 다음에 클라이언트 노드 (100)은 서버 노드 (200)에 대한 접속을 종료시킨다(단계 (104)).
본 발명은 전술한 프로세스를 수행하기 위해서 머신 판독가능 명령들의 형태로된 소프트웨어를 또한 포함한다. 또한 본 발명은 전술한 프로세스를 수행하기 위해서 해당 메모리 내에 그러한 명령들을 저장하는 데이터 처리 시스템도 포함한다.
지금까지 본 발명은 특정 바람직한 실시 예들에 따라 상세히 기술되었으나, 그러한 실시예들은 이 분야의 통상의 지식을 가진자들에 의해서 많은 수정과 변경들이 만들어질 수 있을 것이다. 따라서, 첨부된 청구항들은 그러한 수정과 변경들이 본 발명의 정신과 범위 내에 포함되도록 작성되었다.
Claims (42)
- 폴오버 조건으로(in fallover conditions) 복구를 개선하기 위한 방법에서, 상기 방법은 :
클라이언트 노드 상에서 실행되는 클라이언트 애플리케이션을 위한 서버로 동작하는 서버 노드의 고장에 관한 통지를 상기 클라이언트 애플리케이션으로 전송하는 단계 - 상기 통지는 상기 서버 노드를 위한 백업(backup)으로 동작하는 폴오버 노드(fallover node)에 의해서 제공됨 -;
상기 폴오버 노드에서 리셋 패킷(Reset packet)을 작성하는(constructing) 단계 - 상기 리셋 패킷은 상기 클라이언트 노드와 상기 서버 노드 간의 접속의 종료를 용이하게 함 -; 및
상기 리셋 패킷을 상기 클라이언트 노드 상에서 실행되는 상기 클라이언트 애플리케이션으로 전송하는 단계;를 포함하는
방법. - 제1항에 있어서,
상기 서버 노드에 대한 접속을 종료하는(terminating) 단계;를 더 포함하는
방법. - 제1항에 있어서,
상기 서버 노드로부터의 IP 주소 정보를, 상기 폴오버 노드에서 수신하는 단계;를 더 포함하는
방법. - 제3항에 있어서,
상기 클라이언트 노드로부터의 재전송된 패킷들(retransmitted packets)을, 상기 폴오버 노드에서 수신하는(receiving) 단계;를 더 포함하는
방법. - 제4항에 있어서,
TCP 헤더 정보(header information)를, 상기 폴오버 노드에서 획득하는(obtaining) 단계를 더 포함하는
방법. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 제1항에 있어서,
상기 폴오버 노드는 상기 서버 노드의 고장 사실을 상기 클라이언트 노드 상에서 실행 중인 상기 클라이언트 애플리케이션에 통지하는
방법. - 삭제
- 삭제
- 제1항에 있어서,
상기 통지는 TCP 접속을 통해서 제공되는 통지보다 더 앞서(earlier) 제공되는
방법. - 제1항에서,
상기 방법은 상기 서버 노드의 고장에 의해 시작되는
방법. - 삭제
- 적어도 3개의 노드들을 포함하는 멀티노드 데이터 처리 시스템에서,
상기 적어도 3개의 노드들은 상기 노드들을 위해 메모리에 프로그램 명령들을 보유하고, 상기 멀티노드 데이터 처리 시스템은,
상기 청구항 제1항 내지 제5항, 제13항, 제16항, 및 제17항 중 어느 한 항에 따른 방법을 수행하도록 구성된,
시스템. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 머신 판독가능 매체(machine readable medium)에서,
상기 머신 판독가능 매체는,
상기 청구항 제1항 내지 제5항, 제13항, 제16항, 및 제17항 중 어느 한 항에 따른 방법을 수행하기 위한 명령들을 포함하는,
머신 판독가능 매체. - 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/061,185 | 2008-04-02 | ||
US12/061,185 US7971099B2 (en) | 2008-04-02 | 2008-04-02 | Method for enabling faster recovery of client applications in the event of server failure |
PCT/EP2009/052803 WO2009121689A1 (en) | 2008-04-02 | 2009-03-10 | Method for enabling faster recovery of client applications in the event of server failure |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100135855A KR20100135855A (ko) | 2010-12-27 |
KR101419579B1 true KR101419579B1 (ko) | 2014-07-14 |
Family
ID=40929637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107024139A KR101419579B1 (ko) | 2008-04-02 | 2009-03-10 | 서버 고장 상황에서 클라이언트 어플리케이션의 더 빠른 복구를 가능하게 하는 방법 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7971099B2 (ko) |
EP (1) | EP2274898B1 (ko) |
JP (1) | JP5695558B2 (ko) |
KR (1) | KR101419579B1 (ko) |
CN (1) | CN102047643B (ko) |
BR (1) | BRPI0911284B1 (ko) |
CA (1) | CA2706579C (ko) |
WO (1) | WO2009121689A1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9450804B2 (en) * | 2009-09-03 | 2016-09-20 | At&T Intellectual Property I, L.P. | Anycast aware transport for content distribution networks |
US8555105B2 (en) * | 2010-04-12 | 2013-10-08 | International Business Machines Corporation | Fallover policy management in high availability systems |
US9591080B2 (en) | 2012-09-17 | 2017-03-07 | Tencent Technology (Shenzhen) Company Limited | Method of establishing a network socket with a data server |
CN103685398B (zh) * | 2012-09-17 | 2015-08-19 | 腾讯科技(深圳)有限公司 | 通信连接建立方法及通信系统 |
CN104426703B (zh) * | 2013-09-11 | 2018-08-31 | 深圳市东方博雅科技有限公司 | 一种服务器升级方法及系统 |
US20150215158A1 (en) * | 2014-01-28 | 2015-07-30 | Qualcomm Incorporated | Discriminating or prioritizing users during failover in a voip system |
JP6575318B2 (ja) | 2015-11-18 | 2019-09-18 | 富士通株式会社 | ネットワーク制御装置、クラスタシステムおよび制御プログラム |
CN105808391A (zh) * | 2016-04-05 | 2016-07-27 | 浪潮电子信息产业股份有限公司 | 一种热替换cpu节点的方法及装置 |
CN106357744A (zh) * | 2016-08-29 | 2017-01-25 | 浪潮(北京)电子信息产业有限公司 | Smb客户端重连集群的方法、系统及smb客户端 |
CN110383775B (zh) * | 2017-03-30 | 2021-03-30 | 华为技术有限公司 | 数据传输方法和通信设备 |
CN113169895A (zh) * | 2018-11-21 | 2021-07-23 | 瑞典爱立信有限公司 | 用于具有低时延故障转移的虚拟化服务的n+1冗余 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268175A1 (en) * | 2003-06-11 | 2004-12-30 | Eternal Systems, Inc. | Transparent TCP connection failover |
KR20060101466A (ko) * | 2003-10-23 | 2006-09-25 | 인터내셔널 비지네스 머신즈 코포레이션 | 네트워크에서의 동적 실시간 스트림 집합을 위한 방법,시스템 및 제조물 |
KR20060126952A (ko) * | 2003-10-10 | 2006-12-11 | 사이트릭스 시스템스, 인크. | 캡슐화 프로토콜을 이용하여 네트워크 구성 요소를 보안통과하는 지속성 및 신뢰성 세션 |
KR20070009739A (ko) * | 2004-05-13 | 2007-01-18 | 노키아 코포레이션 | 패킷 데이터 비트 레이트 조정 및 데이터 패킷 재전송 간협동 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0537903A2 (en) | 1991-10-02 | 1993-04-21 | International Business Machines Corporation | Distributed control system |
US5805785A (en) | 1996-02-27 | 1998-09-08 | International Business Machines Corporation | Method for monitoring and recovery of subsystems in a distributed/clustered system |
US6189111B1 (en) | 1997-03-28 | 2001-02-13 | Tandem Computers Incorporated | Resource harvesting in scalable, fault tolerant, single system image clusters |
US6023706A (en) | 1997-07-11 | 2000-02-08 | International Business Machines Corporation | Parallel file system and method for multiple node file access |
US5963963A (en) | 1997-07-11 | 1999-10-05 | International Business Machines Corporation | Parallel file system and buffer management arbitration |
US6223231B1 (en) * | 1998-11-12 | 2001-04-24 | Sun Microsystems, Inc. | Method and apparatus for highly-available processing of I/O requests while application processing continues |
US6523130B1 (en) | 1999-03-11 | 2003-02-18 | Microsoft Corporation | Storage system having error detection and recovery |
US6651242B1 (en) * | 1999-12-14 | 2003-11-18 | Novell, Inc. | High performance computing system for distributed applications over a computer |
US6675217B1 (en) | 2000-07-06 | 2004-01-06 | Microsoft Corporation | Recovery of cluster consistency following failover |
US6970939B2 (en) | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US6871296B2 (en) | 2000-12-29 | 2005-03-22 | International Business Machines Corporation | Highly available TCP systems with fail over connections |
US20020107966A1 (en) | 2001-02-06 | 2002-08-08 | Jacques Baudot | Method and system for maintaining connections in a network |
JP2003084996A (ja) * | 2001-09-11 | 2003-03-20 | Hitachi Ltd | ホストコンピュータの切替方法 |
US7076555B1 (en) * | 2002-01-23 | 2006-07-11 | Novell, Inc. | System and method for transparent takeover of TCP connections between servers |
JP3932994B2 (ja) * | 2002-06-25 | 2007-06-20 | 株式会社日立製作所 | サーバ引継システムおよびその方法 |
US7197660B1 (en) | 2002-06-26 | 2007-03-27 | Juniper Networks, Inc. | High availability network security systems |
US7152180B2 (en) * | 2002-12-06 | 2006-12-19 | Ntt Docomo, Inc. | Configurable reliable messaging system |
US20040153700A1 (en) * | 2003-01-02 | 2004-08-05 | Nixon Mark J. | Redundant application stations for process control systems |
US20050086342A1 (en) | 2003-09-19 | 2005-04-21 | Andrew Burt | Techniques for client-transparent TCP migration |
US7401256B2 (en) * | 2004-04-27 | 2008-07-15 | Hitachi, Ltd. | System and method for highly available data processing in cluster system |
US20050283529A1 (en) * | 2004-06-22 | 2005-12-22 | Wan-Yen Hsu | Method and apparatus for providing redundant connection services |
US8122280B2 (en) * | 2004-08-26 | 2012-02-21 | Open Invention Network, Llc | Method and system for providing high availability to computer applications |
US20060129666A1 (en) * | 2004-12-09 | 2006-06-15 | International Business Machines Corporation | Selective device reset method for device sharing with fail-over |
US7844691B2 (en) | 2004-12-30 | 2010-11-30 | Xstor Systems, Inc. | Scalable distributed storage and delivery |
JP4516439B2 (ja) * | 2005-02-01 | 2010-08-04 | 富士通株式会社 | 中継プログラム、中継方法および中継装置 |
US7668962B2 (en) * | 2005-02-07 | 2010-02-23 | Symantec Operating Corporation | System and method for connection failover using redirection |
JP2007312227A (ja) * | 2006-05-19 | 2007-11-29 | Canon Inc | 情報処理システム及びその制御方法、並びに該制御方法を実行するプログラム |
US9009327B2 (en) * | 2007-08-03 | 2015-04-14 | Citrix Systems, Inc. | Systems and methods for providing IIP address stickiness in an SSL VPN session failover environment |
-
2008
- 2008-04-02 US US12/061,185 patent/US7971099B2/en active Active
-
2009
- 2009-03-10 JP JP2011502320A patent/JP5695558B2/ja active Active
- 2009-03-10 WO PCT/EP2009/052803 patent/WO2009121689A1/en active Application Filing
- 2009-03-10 CA CA2706579A patent/CA2706579C/en active Active
- 2009-03-10 BR BRPI0911284-7A patent/BRPI0911284B1/pt active IP Right Grant
- 2009-03-10 CN CN200980120431.9A patent/CN102047643B/zh active Active
- 2009-03-10 EP EP09729022.5A patent/EP2274898B1/en active Active
- 2009-03-10 KR KR1020107024139A patent/KR101419579B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268175A1 (en) * | 2003-06-11 | 2004-12-30 | Eternal Systems, Inc. | Transparent TCP connection failover |
KR20060126952A (ko) * | 2003-10-10 | 2006-12-11 | 사이트릭스 시스템스, 인크. | 캡슐화 프로토콜을 이용하여 네트워크 구성 요소를 보안통과하는 지속성 및 신뢰성 세션 |
KR20060101466A (ko) * | 2003-10-23 | 2006-09-25 | 인터내셔널 비지네스 머신즈 코포레이션 | 네트워크에서의 동적 실시간 스트림 집합을 위한 방법,시스템 및 제조물 |
KR20070009739A (ko) * | 2004-05-13 | 2007-01-18 | 노키아 코포레이션 | 패킷 데이터 비트 레이트 조정 및 데이터 패킷 재전송 간협동 |
Also Published As
Publication number | Publication date |
---|---|
CA2706579C (en) | 2016-07-19 |
US20090254775A1 (en) | 2009-10-08 |
JP5695558B2 (ja) | 2015-04-08 |
CN102047643B (zh) | 2015-01-28 |
US7971099B2 (en) | 2011-06-28 |
EP2274898B1 (en) | 2014-04-30 |
CN102047643A (zh) | 2011-05-04 |
BRPI0911284A2 (pt) | 2016-07-26 |
BRPI0911284B1 (pt) | 2021-03-02 |
JP2011518486A (ja) | 2011-06-23 |
EP2274898A1 (en) | 2011-01-19 |
CA2706579A1 (en) | 2009-10-08 |
WO2009121689A1 (en) | 2009-10-08 |
KR20100135855A (ko) | 2010-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101419579B1 (ko) | 서버 고장 상황에서 클라이언트 어플리케이션의 더 빠른 복구를 가능하게 하는 방법 | |
JP4851585B2 (ja) | クライアント装置と複数のサーバ装置からなるシステムの通信方法、その通信プログラム、クライアント装置及びサーバ装置 | |
US20170149935A1 (en) | Stateless load balancing of connections | |
KR100990415B1 (ko) | 데이터 통신에서의 접속 상태를 동기화하는 방법 및 이를 사용하는 통신 노드 | |
EP1697843B1 (en) | System and method for managing protocol network failures in a cluster system | |
US20150222444A1 (en) | System and method for reliable multicast data transport | |
JP2004032224A (ja) | サーバ引継システムおよびその方法 | |
KR20130096297A (ko) | 중복 서버 구성에서의 클라이언트 복구 전략을 위한 방법 및 시스템 | |
WO2009023996A1 (fr) | Procédé de mise en œuvre d'une interconnexion de réseau par l'intermédiaire d'une agrégation de liaisons | |
WO2018149408A1 (en) | High availability using multiple network elements | |
US10523547B2 (en) | Methods, systems, and computer readable media for multiple bidirectional forwarding detection (BFD) session optimization | |
US8166156B2 (en) | Failure differentiation and recovery in distributed systems | |
CN111147573A (zh) | 一种数据传输的方法和装置 | |
JP2009009552A (ja) | ロードバランス型ネットワーク環境におけるインテリジェントフェイルオーバー | |
CN108270593B (zh) | 一种双机热备份方法和系统 | |
WO2012132101A1 (ja) | 情報処理装置、および障害対応プログラム | |
CN115801642A (zh) | 基于状态控制的rdma通讯管理模块、方法、设备及介质 | |
CN106230747B (zh) | 恢复tcp连接序列号的方法、装置及系统 | |
Cisco | SNASW | |
JP7120678B1 (ja) | 通信処理装置、通信処理システム、障害通知方法及び障害通知プログラム | |
CN114205405B (zh) | 一种bfd报文发送方法、装置、电子设备及存储介质 | |
Paris et al. | A high performance erlang TCP/IP stack | |
Liqing et al. | TCP optimization implementation of a small embedded system | |
CN105897450B (zh) | 用于进行Diameter连接管理的方法和装置 | |
WO2017219786A1 (zh) | 一种应用连接的构建方法、装置及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170705 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180626 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190703 Year of fee payment: 6 |