KR100614313B1 - 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신구조와 그 방법 - Google Patents

네트워크와 노드의 상태 정보 유지를 위한 노드의 통신구조와 그 방법 Download PDF

Info

Publication number
KR100614313B1
KR100614313B1 KR1020030099586A KR20030099586A KR100614313B1 KR 100614313 B1 KR100614313 B1 KR 100614313B1 KR 1020030099586 A KR1020030099586 A KR 1020030099586A KR 20030099586 A KR20030099586 A KR 20030099586A KR 100614313 B1 KR100614313 B1 KR 100614313B1
Authority
KR
South Korea
Prior art keywords
node
thread
state information
network
status information
Prior art date
Application number
KR1020030099586A
Other languages
English (en)
Other versions
KR20050070274A (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 KR1020030099586A priority Critical patent/KR100614313B1/ko
Publication of KR20050070274A publication Critical patent/KR20050070274A/ko
Application granted granted Critical
Publication of KR100614313B1 publication Critical patent/KR100614313B1/ko

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/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 각 노드에 대하여 네트워크 라인 수에 상응한 수만큼 존재하여, 노드의 상태 정보 요청 패킷을 다른 노드에 멀티캐스트하는 RQ 쓰레드, 각 노드에 대하여 1개가 존재하여 상기 RQ쓰레드로부터 전송된 상태 정보 요청 패킷이 수신되면, 자신의 상태 정보를 포함하는 응답 패킷을 생성하여 해당 RQ 쓰레드에 유니캐스트하는 RS쓰레드, 네트워크와 노드간의 가용성 상태 정보를 저장하는 상태 정보 테이블, 네트워크 접속을 위한 네트워크 카드로 구성된 것으로서, 생성되는 쓰레드와 소켓의 수가 감소하므로 시스템 자원 낭비를 줄일 수 있다.
노드, RQ쓰레드, RS쓰레드, 상태 정보

Description

네트워크와 노드의 상태 정보 유지를 위한 노드의 통신 구조와 그 방법{Communication structure of node for preserving situation data in network and node and thereof method}
도 1은 일반적인 클러스터 솔루션의 구성을 나타낸 도면.
도 2는 종래의 노드의 통신 구조를 나타낸 도면.
도 3은 종래의 네트워크 노드의 상태 정보 테이블을 나타낸 도면.
도 4는 종래의 R 쓰레드의 동작을 나타낸 흐름도.
도 5는 종래의 S쓰레드의 동작을 나타낸 흐름도.
도 6은 종래의 E쓰레드의 동작을 나타낸 흐름도.
도 7은 본 발명의 바람직한 일 실시예에 따른 노드의 통신 구조를 나타낸 도면.
도 8은 본 발명의 바람직한 일 실시예에 따른 상태 정보 테이블을 나타낸 도면.
도 9는 본 발명의 바람직한 일 실시예에 따른 RQ쓰레드의 동작을 나타낸 흐름도.
도 10은 본 발명의 바람직한 일 실시예에 따른 RS 쓰레드의 동작을 나타낸 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
700 : 노드 702, 810 : RQ쓰레드
704, 820 : RS쓰레드 701 : 소켓
706 : 네트워크 카드 800 : 상태 정보 테이블
본 발명은 다중 네트워크, 다중 노드로 구성된 클러스터 환경에서 네트워크와 노드의 가용성 상태 정보를 실시간으로 유지하려고 할때, 시스템 자원의 사용을 최소화하기 위한 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신 구조와 그 방법에 관한 것이다.
일반적으로 정보통신 시스템은 2대 이상의 다중 프로세스 시스템, 공유 디스크, 허트비트 네크워크와 정보 통신 소프트웨어로 구성된다. 상기 정보통신 소프트웨어는 시스템의 상태를 분석하여 다른 노드에 그 정보를 전달하고 노드에 장애가발생하면 그 노드에서 수행하던 서비스를 다른 노드로 인계하는 역할을 수행하는 중요한 구성요소이다.
그리고 상기 정보통신 시스템은 서비스를 제공하는 어떤 시스템에서 하드웨 어나 소프트웨어 장애가 발생하여 서비스를 제공할 수 없을때, 그 장애를 인지하고 장애가 발생한 시스템의 서비스를 인계하여 서비스의 연속성을 보장하는 시스템이다.
최근 정보 기술이 발전하면서 하드웨어의 성능과 안전성은 급격히 향상되고 있지만, 소프트웨어의 복잡도가 상대적으로 증가함으로써 소프트웨어는 많은 장애의 원인을 제공하고 있다.
따라서, 정보통신 시스템에서 소프트웨어 장애를 감시하고 극복하는 기능은 점점 그 중요성이 커지고 있다고 할 수 있다.
도 1은 일반적인 클러스터 솔루션의 구성을 나타낸 도면이다.
도 1을 참조하면, 클러스터 솔루션은 네트워크와 노드의 장애 여부를 판단하고 클러스터 제어 및 상태 정보를 전달하는 역할을 한다.
상기와 같은 클러스터는 복수의 노드(100a, 100b, 100c, 이하 100이라 칭함), 상기 노드(100)를 서로 감시하고 정보를 교환하기 위한 허트비트 네트워크(120), 허브(130), 공중 네트워크(110)로 구성된다.
상기 클러스터 솔루션은 각각의 노드(100)에 저장된 상태 정보를 이용하여 가용한 네트워크와 노드(100)를 선택함으로써 최적화된 통신과 장애 판단을 구현한다.
상기 노드(100)에 대한 상세한 설명은 도 2를 참조한다.
도 2는 종래의 노드의 통신 구조를 나타낸 도면이다.
도 2를 참조하면, 노드(200)는 R 쓰레드(202a, 202b), S 쓰레드(206a, 206b), E 쓰레드(204a, 204b), 네트워크 카드(208a, 208b), 상태 정보 테이블(미도시)을 포함한다.
상기 R쓰레드(202a, 202b)는 다른 노드의 S쓰레드에서 멀티캐스트하는 상태 정보를 수신하는 쓰레드이다.
상기 E쓰레드(204a, 204b)는 자신의 상태 정보를 갱신하는 쓰레드이다.
상기 S 쓰레드(206a, 206b)는 자신의 상태 정보를 다른 노드의 R 쓰레드에 전송하는 역할을 한다.
상기 R 쓰레드(202a, 202b)와 S 쓰레드(206a, 206b)는 해당 네트워크 라인에서 각각 하나의 소켓(201)을 생성한다. 따라서, 네트워크 카드가 다수일 경우 네트워크 카드의 수에 비례하여 쓰레드와 소켓이 생성됨을 알 수 있다.
상기 R 쓰레드(202a, 202b), S 쓰레드(206a, 206b), E 쓰레드(204a, 204b) 각각에 대한 설명은 도 4내지 도 6을 참조하기로 한다.
도 3은 종래의 노드의 상태 정보 테이블을 나타낸 도면이다.
도 3을 참조하며, 상태 정보 테이블(300)은 네트워크와 노드간의 가용성 상태 정보를 저장하는 테이블이다. 따라서, 상기 상태 정보 테이블(300)은 해당 노드에 대하여 연결된 네트워크 라인을 통하여 전송된 각 노드의 상태 정보와 자신의 상태 정보를 저장한다.
또한, 상기 상태 정보 테이블(300)의 값은 저장 가능한 최대, 최소 값을 가지도록 설정되어있으며, 최소값은 해당 네트워크를 통하여 노드와의 통신이 불가능한 상태를 표현한다.
각 노드의 R쓰레드(310), S쓰레드(330), E 쓰레드(320)는 네트워크 라인을 통하여 노드들간의 가용성 상태 정보를 파악한다.
R쓰레드(310)는 다른 노드가 멀티캐스트한 노드 상태 정보를 수신하여 상태 정보 테이블의 해당 영역에 기록한다.
상기 S 쓰레드(330)는 노드 자신의 상태 정보를 다른 노드에 멀티캐스트한다.
상기 E 쓰레드(320)는 노드 자신의 상태 정보를 갱신하는 역할을 수행한다.
도 4는 종래의 R 쓰레드의 동작을 나타낸 흐름도이다.
도 4를 참조하면, R쓰레드는 통신을 위한 소켓을 생성하고 특정 포트에 바인드한다(S400). 그런다음 상기 R쓰레드는 다른 노드의 S쓰레드에서 멀티캐스트하는 노드 상태 정보가 수신되기를 대기하여(S402), 노드 상태 정보가 수신되는지의 여부를 판단한다(S404).
단계 S404의 판단결과 노드 상태 정보가 수신되면, 상기 R쓰레드는 상기 수신된 상태 정보를 분석하여 상태 정보 테이블에 해당 노드의 가용상태를 표시한다(S406). 즉, 상기 R쓰레드는 상태 정보가 수신되면, 해당 노드가 가용상태라고 판단하고 상기 상태 정보 테이블의 해당 영역의 값을 증가시킨다.
만약, 단계 S404의 판단결과 노드 상태 정보가 수신되지 않으면, 상기 R쓰레드는 상태 정보가 미리 정해진 일정 시간이 경과되었는지의 여부를 판단한다(S408).
단계 S408의 판단결과 상태 정보가 미리 정해진 일정 시간내에 수신되지 않으면, 상기 R쓰레드는 상기 상태 정보 테이블에 해당 노드의 불가용 상태를 표시한다(S410). 즉, 상기 R쓰레드는 미리 정해진 일정 시간내에 상태 정보가 수신되지 않은 노드는 정상이 아닌것으로 판단하여 상기 상태 정보 테이블의 해당 노드에 불가용 상태를 표시한다.
만약, 단계 S408의 판단결과 상기 상태 정보가 미리 정해진 일정 시간이내에 수신되면, 상기 R 쓰레드는 단계 S406을 수행한다.
도 5는 종래의 S쓰레드의 동작을 나타낸 흐름도이다.
도 5를 참조하면, S쓰레드는 통신을 하기 위한 소켓을 생성하고 해당 네트워크 라인을 바인드한다(S500). 상기 네트워크라인은 해당 네트워크 라인의 로컬 주소를 말한다.
단계 S500의 수행후, 상기 S쓰레드는 상태 정보 테이블에서 해당 네트워크 라인에 해당하는 노드 정보를 수집하여 다른 노드의 R쓰레드에 멀티캐스트한다(S502).
단계 S502의 수행후, 상기 S쓰레드는 일정 시간동안 동작을 정지한 후(S504), 단계 S502를 반복 수행한다.
도 6은 종래의 E쓰레드의 동작을 나타낸 흐름도이다.
도 6을 참조하면, E쓰레드는 상태 정보 테이블에 해당 네트워크 라인상의 다른 노드의 상태 정보를 연산하여 해당 노드의 상태 정보값을 구한다(S600). 여기서, 상기 연산은 or 연산일 수 있다. 즉, 상기 E쓰레드는 상기 상태 정보 테이블에 해당 네트워크 라인상의 다른 노드중에서 하나의 노드라도 가용상태이면, 자신의 노드가 가용상태라고 판단하여 해당 노드의 상태 정보값을 구할 수 있다.
단계 S600의 수행후, 상기 E쓰레드는 상기 구해진 상태 정보값을 상기 상태 정보 테이블에 저장하고(S602), 상기 상태 정보 테이블에서 해당 네트워크 라인상의 모든 노드 상태 정보값을 감소한다(S604). 상기 해당 네트워크 라인상의 모든 노드 상태 정보값을 감소시켜서 장애가 발생한 네트워크와 노드를 검출할 수 있다.
그런다음 상기 E쓰레드는 일정 시간동안 동작을 중지하고(S606), 단계 S600부터 반복 수행한다.
그러나 상기와 같이 종래에는 생성되는 쓰레드와 소켓의 수가 네트워크 카드 수에 비례하여 증가하기 때문에 시스템 자원이 많이 사용되는 문제점이 있다.
또한, R, E 쓰레드는 공유변수인 상태 정보 테이블의 동일 영역에 동시에 쓰기를 수행하며 그것은 동기화 메커니즘을 사용하여 제어해야 하므로 알고리즘 자체가 복잡해질 뿐만 아니라 알고리즘 수행중 추가적인 부하가 발생하는 문제점이 있다.
또한, 사용하는 멀티캐스트 통신 방법은 흐름제어를 제공하지 않는 UDP방식으로 안정성이 부족한다.
따라서, 본 발명의 목적은 시스템 자원의 사용을 최소화하면서 실시간으로 네트워크와 노드의 가용성 상태 정보를 유지할 수 있는 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신 구조와 그 방법을 제공하는데 있다.
상기 목적들을 달성하기 위하여 본 발명의 일 측면에 따르면, 각 노드에 대하여 네트워크 라인 수에 상응한 수만큼 존재하여, 노드의 상태 정보 요청 패킷을 다른 노드에 멀티캐스트하는 RQ 쓰레드, 각 노드에 대하여 1개가 존재하여 상기 RQ쓰레드로부터 전송된 상태 정보 요청 패킷이 수신되면, 자신의 상태 정보를 포함하는 응답 패킷을 생성하여 해당 RQ 쓰레드에 유니캐스트하는 RS쓰레드, 네트워크와 노드간의 가용성 상태 정보를 저장하는 상태 정보 테이블, 네트워크 접속을 위한 네트워크 카드를 포함하는 것을 특징으로 하는 노드의 통신 구조가 제공된다.
상기 RQ 쓰레드 또는 상기 RS쓰레드는 각각 통신을 위하여 하나의 소켓을 생성한다.
상기 상태 정보 테이블은 네트워크 라인을 통하여 전송된 각 노드의 상태 정보와 자신의 상태 정보를 저장한다.
본 발명의 다른 측면에 따르면, 네트워크와 노드의 상태 정보를 유지하기 위한 RQ쓰레드의 동작에 있어서, 통신을 수행하기 위한 소켓을 생성하고 해당 네트워크 라인에 바인드하고, 응답 패킷을 저장할 임시 변수를 초기화하고, 상태 정보 요청 패킷을 다른 노드의 RS쓰레드에 멀티캐스트하고, 다른 노드의 RS쓰레드로부터 상태 정보 응답 패킷이 수신되면, 상기 상태 정보를 상기 임시 변수에 저장하고, 미리 정해진 일정 시간이 경과되면, 상기 임시 변수에 저장된 상태 정보를 상태 정보 테이블에 반영하는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법 이 제공된다.
상기 다른 노드의 RS 쓰레드로부터 미리 정해진 일정 회수내에 상태 정보 응답 패킷이 수신되지 않으면, 해당 노드에 장애가 발생한 것으로 판단하여 상기 상태 정보 테이블에 불가용 상태를 표시한다.
상기 RQ쓰레드는 다른 노드의 RS쓰레드로부터 상태 응답 패킷을 수신하기 위해서 상기 생성된 소켓에서 기다린다.
상기 임시 변수에 저장된 상태 정보를 상태 정보 테이블에 반영하는 단계는 응답 패킷이 수신된 노드에 대해서는 상기 상태 정보 테이블에 해당 영역의 값을 증가시키고, 나머지 노드는 값을 감소시킨다.
본 발명의 또 다른 측면에 따르면, 네트워크와 노드의 상태 정보를 유지하기 위한 RS쓰레드의 동작에 있어서, 통신을 위한 소켓을 생성하고 특정 포트에 바인드하고, 노드 상태 정보 요청 패킷이 수신되면, 해당 상대방의 주소와 포트를 저장하고, 자신의 노드 상태 정보를 해당 상대방에게 유니캐스트하는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법이 제공된다.
상기 RS쓰레드는 다른 노드의 RQ쓰레드가 멀티캐스트한 상태 정보 요청 패킷을 수신하기 위해서 상기 생성된 소켓에서 기다린다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 7은 본 발명의 바람직한 일 실시예에 따른 노드의 통신 구조를 나타낸 도 면이다.
도 7을 참조하면, 노드(700)는 RQ쓰레드(702a, 702b), RS쓰레드(704), 네트워크 카드(706a, 706b), 상태 정보 테이블(미도시)을 포함한다.
상기 RQ쓰레드(702a, 702b)는 다른 노드의 RS쓰레드에게 상태 정보를 요청하고, 상기 RS쓰레드(704)는 자신의 상태 정보를 다른 노드의 RQ쓰레드에 전송하는 역할을 한다.
여기서, 상기 RQ쓰레드(702a, 702b)는 네트워크라인 수에 비례하고, 상기 RS쓰레드(704)는 각 노드에 대하여 하나이다.
그리고 상기 RQ쓰레드(702a, 702b)와 RS쓰레드(704)는 통신을 위하여 하나의 소켓(701a, 701b)을 생성한다.
상기 RQ쓰레드(702a, 702b)의 소켓(701a, 701b)은 해당 네트워크 라인의 로컬 주소에 바인드하여 노드 상태 정보 요청 패킷을 다른 노드에 멀티캐스트한다.
상기 RS쓰레드(704)의 소켓은 특정 포트에 바인드하여 다른 노드에서 멀티캐스트한 노드 상태 정보 요청 패킷을 수신하고 응답 패킷을 생성하여 처리한다.
상기 RS쓰레드(702a, 702b)와 RQ쓰레드(704)에 대한 상세한 설명은 도 9와 도 10을 참조하기로 한다.
도 8은 본 발명의 바람직한 일 실시예에 따른 상태 정보 테이블을 나타낸 도면이다.
도 8을 참조하면, 상태 정보 테이블(800)은 네트워크와 노드간의 가용성 상태 정보를 저장하는 테이블이다. 따라서, 상기 상태 정보 테이블(800)은 해당 노드 에 대하여 연결된 네트워크 라인을 통하여 전송된 각 노드의 상태 정보와 자신의 상태 정보를 저장한다.
또한, 상기 상태 정보 테이블(800)의 값은 저장 가능한 최대, 최소 값을 가지도록 설정되어있으며, 최소값은 해당 네트워크를 통하여 노드와의 통신이 불가능한 상태를 표현한다.
각 노드의 RQ쓰레드(810), RS쓰레드(820)는 네트워크 라인을 통하여 노드들간의 가용성 상태 정보를 파악한다.
상기 RQ 쓰레드(810)는 네트워크 라인에서 다른 노드와의 연결 상태 정보를 파악하기 위하여 노드 상태 정보 요청 패킷을 다른 노드의 RS쓰레드에게 멀티캐스트한다. 또한, 상기 RQ쓰레드(810)는 각 노드로부터 전송된 유니캐스트 응답 패킷을 수신 및 분석하여 그 결과를 상태 정보 테이블에 저장한다.
상기 RS쓰레드(820)는 네트워크 라인에 무관하게 하나의 쓰레드로 동작하며 다른 노드의 RQ쓰레드에서 멀티캐스트한 상태 정보 요청 패킷이 수신되면, 상기 상태 정보 요청 패킷이 수신된 네트워크 라인을 통하여 응답 패킷을 유니캐스트한다.
여기서, RQ 쓰레드(810)와 RS쓰레드(820)의 상태 정보 테이블에 대한 액세스 패턴을 관찰하면 다수의 쓰레드가 동일 영역에 동시에 쓰기연산을 수행하지 않음을 알 수 있다.
도 9는 본 발명의 바람직한 일 실시예에 따른 RQ쓰레드의 동작을 나타낸 흐름도이다.
도 9를 참조하면, RQ쓰레드는 통신을 수행하기 위한 소켓을 생성하고 해당 네트워크 라인에 바인드한다(S900). 그런다음 상기 RQ 쓰레드는 응답 패킷을 저장할 임시 변수를 초기화하고(S902), 상태 정보 요청 패킷을 다른 노드의 RS 쓰레드에 멀티캐스트한다(S904).
그런다음 상기 RQ 쓰레드는 다른 노드의 RS 쓰레드로부터 상태 정보가 수신되는지의 여부를 판단한다(S906). 즉, 상기 RQ 쓰레드는 RS 쓰레드가 유니캐스트한 노드 상태 정보 응답 패킷을 수신하기 위해서 소켓에서 기다린다.
단계 S906의 판단결과 다른 노드의 RS 쓰레드로부터 상태 정보가 수신되면, 상기 RQ 쓰레드는 상기 수신된 상태 정보를 임시 변수에 저장하고(S908), 미리 정해진 일정 시간이 경과되었는지의 여부를 판단한다(S910).
단계 S910의 판단결과 미리 정해진 일정 시간이 경과되었으면, 상기 RQ 쓰레드는 상기 임시 변수에 저장된 값을 상태 정보 테이블에 반영한다(S912). 즉, 상기 RQ 쓰레드는 응답패킷을 수신한 노드에 대해서는 상태 정보 테이블의 해당 영역의 값을 증가시키고 나머지 노드에 대해서는 값을 감소시킨다.
만약, 단계 S906의 판단결과 다른 노드의 RS 쓰레드로부터 상태 정보가 수신되지 않으면, 상기 RQ 쓰레드는 미리 정해진 일정 회수내에 상태 정보가 수신되는지의 여부를 판단한다(S914).
단계 S914의 판단결과 미리 정해진 일정 회수내에 상태 정보가 수신되면, 상기 RQ 쓰레드는 단계 S908을 수행한다.
만약, 단계 S914의 판단결과 미리 정해진 일정 회수내에 상태 정보가 수신되지 않으면, 상기 RQ 쓰레드는 상기 상태 정보 테이블에 해당 노드의 불가용 상태를 표시한다(S916).
도 10은 본 발명의 바람직한 일 실시예에 따른 RS 쓰레드의 동작을 나타낸 흐름도이다.
도 10을 참조하면, RS 쓰레드는 소켓을 생성하고 특정 포트에 바인드한다(S1000). 상기 RS 쓰레드는 모든 네트워크 라인으로부터 멀티캐스트 요청을 수신하기 위해서 특정 주소에 바인드해서는 안된다.
단계 S1000의 수행후, 상기 RS 쓰레드는 노드 상태 정보 요청 패킷이 수신되는지의 여부를 판단한다(S1002). 즉, 상기 RS 쓰레드는 RQ 쓰레드가 멀티캐스트한 노드 상태 정보 요청 패킷을 수신하기 위해서 소켓에서 기다린다.
단계 S1002의 판단결과 노드 상태 정보 요청 패킷이 수신되면, 상기 RS 쓰레드는 해당 상대방의 주소와 포트를 저장하고(S1004), 자신의 노드 상태 정보를 해당 상대방에게 유니캐스트한다(S1006).
본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.
상술한 바와 같이 본 발명에 따르면, 생성되는 쓰레드와 소켓의 수가 감소하므로 시스템 자원 낭비를 줄일 수 있는 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신 구조와 그 방법을 제공할 수 있다.
또한, 본 발명에 따르면, 각각의 쓰레드가 공유변수인 상태 정보 테이블의 동일 영역에 동시에 쓰기연산을 수행하지 않으므로 동기화 메커니즘을 사용하지 않고, 동기화 메커니즘을 사용하지 않으므로 상태 정보 유지 알고리즘을 단순화하고 동기화에 따른 부하를 제거할 수 있는 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신 구조와 그 방법을 제공할 수 있다.
또한, 본 발명에 따르면, 노드 상태 정보 송수신을 위하여 요청 및 응답 구조의 흐름 제어 방식을 사용하여 UDP기반의 통신 방식의 단점을 보완하고 상태 정보 전송의 신뢰성을 향상시키는 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신 구조와 그 방법을 제공할 수 있다.

Claims (9)

  1. 네트워크와 노드의 상태 정보를 유지하기 위한 노드의 통신 구조에 있어서,
    각 노드에 대하여 네트워크 라인 수에 상응한 수만큼 존재하여, 노드의 상태 정보 요청 패킷을 다른 노드에 멀티캐스트하는 RQ 쓰레드;
    각 노드에 대하여 1개가 존재하여 RQ쓰레드에서 멀티캐스트된 상태 정보 요청 패킷이 수신되면, 자신의 상태 정보를 포함하는 응답 패킷을 생성하여 해당 RQ 쓰레드에 유니캐스트하는 RS쓰레드;
    네트워크와 노드간의 가용성 상태 정보를 저장하는 상태 정보 테이블;및
    네트워크 접속을 위한 네트워크 카드
    를 포함하는 것을 특징으로 하는 노드의 통신 구조.
  2. 제1항에 있어서,
    상기 RQ 쓰레드 또는 상기 RS쓰레드는 각각 통신을 위하여 하나의 소켓을 생성하는 것을 특징으로 하는 노드의 통신 구조.
  3. 제1항에 있어서,
    상기 상태 정보 테이블은 네트워크 라인을 통하여 전송된 각 노드의 상태 정보와 자신의 상태 정보를 저장하는 것을 특징으로 하는 노드의 통신 구조.
  4. 네트워크와 노드의 상태 정보를 유지하기 위한 RQ쓰레드의 동작에 있어서,
    통신을 수행하기 위한 소켓을 생성하고 해당 네트워크 라인에 바인드하는 단계;
    응답 패킷을 저장할 임시 변수를 초기화하고, 상태 정보 요청 패킷을 다른 노드의 RS쓰레드에 멀티캐스트하는 단계;
    다른 노드의 RS쓰레드로부터 상태 정보 응답 패킷이 수신되면, 상기 상태 정보를 상기 임시 변수에 저장하는 단계;
    미리 정해진 일정 시간이 경과되면, 상기 임시 변수에 저장된 상태 정보를 상태 정보 테이블에 반영하는 단계
    를 포함하는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법.
  5. 제4항에 있어서,
    상기 다른 노드의 RS 쓰레드로부터 미리 정해진 일정 회수내에 상태 정보 응답 패킷이 수신되지 않으면, 해당 노드에 장애가 발생한 것으로 판단하여 상기 상태 정보 테이블에 불가용 상태를 표시하는 단계를 더 포함하는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법.
  6. 제4항에 있어서,
    상기 RQ쓰레드는 다른 노드의 RS쓰레드로부터 상태 응답 패킷을 수신하기 위해서 상기 생성된 소켓에서 기다리는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법.
  7. 제4항에 있어서,
    상기 임시 변수에 저장된 상태 정보를 상태 정보 테이블에 반영하는 단계는 응답 패킷이 수신된 노드에 대해서는 상기 상태 정보 테이블에 해당 영역의 값을 증가시키고, 나머지 노드는 값을 감소시키는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법.
  8. 네트워크와 노드의 상태 정보를 유지하기 위한 RS쓰레드의 동작에 있어서,
    통신을 위한 소켓을 생성하고 특정 포트에 바인드하는 단계;
    노드 상태 정보 요청 패킷이 수신되면, 해당 상대방의 주소와 포트를 저장하는 단계;
    자신의 노드 상태 정보를 해당 상대방에게 유니캐스트하는 단계
    를 포함하는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법.
  9. 제8항에 있어서,
    상기 RS쓰레드는 다른 노드의 RQ쓰레드가 멀티캐스트한 상태 정보 요청 패킷을 수신하기 위해서 상기 생성된 소켓에서 기다리는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법.
KR1020030099586A 2003-12-30 2003-12-30 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신구조와 그 방법 KR100614313B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030099586A KR100614313B1 (ko) 2003-12-30 2003-12-30 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신구조와 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030099586A KR100614313B1 (ko) 2003-12-30 2003-12-30 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신구조와 그 방법

Publications (2)

Publication Number Publication Date
KR20050070274A KR20050070274A (ko) 2005-07-07
KR100614313B1 true KR100614313B1 (ko) 2006-08-18

Family

ID=37260378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030099586A KR100614313B1 (ko) 2003-12-30 2003-12-30 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신구조와 그 방법

Country Status (1)

Country Link
KR (1) KR100614313B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990082631A (ko) * 1996-12-16 1999-11-25 윤종용 망으로 형성된 가입자 유닛 등의 사이에서 메시지를 전송하는방법
JP2001244976A (ja) 2000-02-28 2001-09-07 Nec Corp マルチキャストパケット転送装置、マルチキャストパケット転送システム及び記憶媒体
KR20030059215A (ko) * 2000-10-27 2003-07-07 텔레폰악티에볼라겟엘엠에릭슨(펍) 멀티홉 네트워크에서 전송하는 방법
KR20040090222A (ko) * 2003-04-16 2004-10-22 삼성전자주식회사 개별적으로 존재하는 네트워크를 연결하는 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990082631A (ko) * 1996-12-16 1999-11-25 윤종용 망으로 형성된 가입자 유닛 등의 사이에서 메시지를 전송하는방법
JP2001244976A (ja) 2000-02-28 2001-09-07 Nec Corp マルチキャストパケット転送装置、マルチキャストパケット転送システム及び記憶媒体
KR20030059215A (ko) * 2000-10-27 2003-07-07 텔레폰악티에볼라겟엘엠에릭슨(펍) 멀티홉 네트워크에서 전송하는 방법
KR20040090222A (ko) * 2003-04-16 2004-10-22 삼성전자주식회사 개별적으로 존재하는 네트워크를 연결하는 장치 및 방법

Also Published As

Publication number Publication date
KR20050070274A (ko) 2005-07-07

Similar Documents

Publication Publication Date Title
EP1376361B1 (en) Server duplexing method and duplexed server system
US9124666B2 (en) Reliability and availability of distributed servers
US7137040B2 (en) Scalable method of continuous monitoring the remotely accessible resources against the node failures for very large clusters
US7526549B2 (en) Cluster data port services for clustered computer system
US6839752B1 (en) Group data sharing during membership change in clustered computer system
US7619965B2 (en) Storage network management server, storage network managing method, storage network managing program, and storage network management system
US8687503B2 (en) Technique for identifying a failed network interface card within a team of network interface cards
US20030005350A1 (en) Failover management system
JP2004519024A (ja) 多数のノードを含むクラスタを管理するためのシステム及び方法
TW201824823A (zh) 虛擬互聯網協定位址的切換方法及裝置
US20030233473A1 (en) Method for configuring logical connections to a router in a data communication system
JP2006114040A (ja) コンピュータクラスタのノードのフェールオーバー範囲
US7545741B1 (en) Technique for identifying a failed network interface card within a team of network interface cards
JP3924247B2 (ja) 単一のlanを使用するソフトウェアベースのフォールトトレラントネットワーク
US6535991B1 (en) Method and apparatus for providing reliable communications in an intelligent network
CN109815065A (zh) 双机的主备切换方法、装置、电子设备
KR100614313B1 (ko) 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신구조와 그 방법
CN110351122B (zh) 容灾方法、装置、***与电子设备
US20060274646A1 (en) Method and apparatus for managing network connection
CN104702693B (zh) 两节点***分区的处理方法和节点
CN111211927A (zh) 一种资源同步方法及装置
KR0136507B1 (ko) 공통선(No.7) 신호망의 신호교환기와 관리시스템간의 통신이상 검출방법
CN114826887B (zh) 私网连接通信方法和***
CN118250153A (zh) 业务容灾网络配置方法、装置、设备及存储介质
KR20010090635A (ko) 다중화 서버 시스템을 위한 통신 시스템 및 방법

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140102

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141218

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160114

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20161227

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190708

Year of fee payment: 14