KR100614313B1 - Communication structure of node for preserving situation data in network and node and thereof method - Google Patents

Communication structure of node for preserving situation data in network and node and thereof method 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
Korean (ko)
Other versions
KR20050070274A (en
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/en
Publication of KR20050070274A publication Critical patent/KR20050070274A/en
Application granted granted Critical
Publication of KR100614313B1 publication Critical patent/KR100614313B1/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/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쓰레드, 네트워크와 노드간의 가용성 상태 정보를 저장하는 상태 정보 테이블, 네트워크 접속을 위한 네트워크 카드로 구성된 것으로서, 생성되는 쓰레드와 소켓의 수가 감소하므로 시스템 자원 낭비를 줄일 수 있다. The present invention has a number corresponding to the number of network lines for each node, the RQ thread for multicasting the node's status information request packet to the other node, the status information transmitted from the RQ thread because there is one for each node When the request packet is received, it consists of a RS thread that generates a response packet containing its own state information and unicasts to the corresponding RQ thread, a state information table storing availability state information between the network and the node, and a network card for network connection. By reducing the number of threads and sockets created, you can reduce system resource waste.

노드, RQ쓰레드, RS쓰레드, 상태 정보Node, RQ Thread, RS Thread, Status Information

Description

네트워크와 노드의 상태 정보 유지를 위한 노드의 통신 구조와 그 방법{Communication structure of node for preserving situation data in network and node and thereof method} Communication structure of node for preserving situation data in network and node and explanation method             

도 1은 일반적인 클러스터 솔루션의 구성을 나타낸 도면. 1 is a diagram showing the configuration of a general cluster solution.

도 2는 종래의 노드의 통신 구조를 나타낸 도면. 2 is a diagram showing a communication structure of a conventional node.

도 3은 종래의 네트워크 노드의 상태 정보 테이블을 나타낸 도면.3 is a diagram showing a state information table of a conventional network node.

도 4는 종래의 R 쓰레드의 동작을 나타낸 흐름도. 4 is a flowchart illustrating the operation of a conventional R thread.

도 5는 종래의 S쓰레드의 동작을 나타낸 흐름도. 5 is a flowchart showing the operation of a conventional S thread.

도 6은 종래의 E쓰레드의 동작을 나타낸 흐름도.6 is a flowchart showing the operation of a conventional E thread.

도 7은 본 발명의 바람직한 일 실시예에 따른 노드의 통신 구조를 나타낸 도면. 7 illustrates a communication structure of a node according to an embodiment of the present invention.

도 8은 본 발명의 바람직한 일 실시예에 따른 상태 정보 테이블을 나타낸 도면.8 is a view showing a state information table according to an embodiment of the present invention.

도 9는 본 발명의 바람직한 일 실시예에 따른 RQ쓰레드의 동작을 나타낸 흐름도.9 is a flowchart illustrating the operation of an RQ thread according to an embodiment of the present invention.

도 10은 본 발명의 바람직한 일 실시예에 따른 RS 쓰레드의 동작을 나타낸 흐름도. 10 is a flowchart illustrating operation of an RS thread according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

700 : 노드 702, 810 : RQ쓰레드700: node 702, 810: RQ thread

704, 820 : RS쓰레드 701 : 소켓704, 820: RS thread 701: socket

706 : 네트워크 카드 800 : 상태 정보 테이블706: network card 800: status information table

본 발명은 다중 네트워크, 다중 노드로 구성된 클러스터 환경에서 네트워크와 노드의 가용성 상태 정보를 실시간으로 유지하려고 할때, 시스템 자원의 사용을 최소화하기 위한 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신 구조와 그 방법에 관한 것이다. The present invention relates to a communication structure of a node for maintaining network and node state information for minimizing the use of system resources when attempting to maintain network and node availability state information in real time in a multi-network, multi-node cluster environment. It is about how.

일반적으로 정보통신 시스템은 2대 이상의 다중 프로세스 시스템, 공유 디스크, 허트비트 네크워크와 정보 통신 소프트웨어로 구성된다. 상기 정보통신 소프트웨어는 시스템의 상태를 분석하여 다른 노드에 그 정보를 전달하고 노드에 장애가발생하면 그 노드에서 수행하던 서비스를 다른 노드로 인계하는 역할을 수행하는 중요한 구성요소이다. Telecommunication systems typically consist of two or more multi-process systems, shared disks, a heartbeat network and telecommunications software. The information communication software is an important component that analyzes the state of the system, delivers the information to other nodes, and takes over the service performed by the node to another node when a node fails.

그리고 상기 정보통신 시스템은 서비스를 제공하는 어떤 시스템에서 하드웨 어나 소프트웨어 장애가 발생하여 서비스를 제공할 수 없을때, 그 장애를 인지하고 장애가 발생한 시스템의 서비스를 인계하여 서비스의 연속성을 보장하는 시스템이다. The information and communication system is a system that recognizes the failure and takes over the service of the failed system and guarantees the continuity of the service when a hardware or software failure occurs in the system providing the service.

최근 정보 기술이 발전하면서 하드웨어의 성능과 안전성은 급격히 향상되고 있지만, 소프트웨어의 복잡도가 상대적으로 증가함으로써 소프트웨어는 많은 장애의 원인을 제공하고 있다. Recently, with the development of information technology, the performance and safety of hardware have been rapidly improved, but the software has caused a lot of failures due to the relatively increased complexity of the software.

따라서, 정보통신 시스템에서 소프트웨어 장애를 감시하고 극복하는 기능은 점점 그 중요성이 커지고 있다고 할 수 있다. Thus, the ability to monitor and overcome software failures in information and communication systems is becoming increasingly important.

도 1은 일반적인 클러스터 솔루션의 구성을 나타낸 도면이다. 1 is a diagram illustrating a configuration of a general cluster solution.

도 1을 참조하면, 클러스터 솔루션은 네트워크와 노드의 장애 여부를 판단하고 클러스터 제어 및 상태 정보를 전달하는 역할을 한다. Referring to FIG. 1, the cluster solution determines whether a network and a node have failed and transmits cluster control and status information.

상기와 같은 클러스터는 복수의 노드(100a, 100b, 100c, 이하 100이라 칭함), 상기 노드(100)를 서로 감시하고 정보를 교환하기 위한 허트비트 네트워크(120), 허브(130), 공중 네트워크(110)로 구성된다. Such a cluster includes a plurality of nodes (100a, 100b, 100c, hereinafter 100), a heartbeat network 120, a hub 130, and a public network for monitoring and exchanging information with each other. 110).

상기 클러스터 솔루션은 각각의 노드(100)에 저장된 상태 정보를 이용하여 가용한 네트워크와 노드(100)를 선택함으로써 최적화된 통신과 장애 판단을 구현한다.The cluster solution implements optimized communication and failure determination by selecting an available network and node 100 using the state information stored in each node 100.

상기 노드(100)에 대한 상세한 설명은 도 2를 참조한다. Detailed description of the node 100 is shown in FIG. 2.

도 2는 종래의 노드의 통신 구조를 나타낸 도면이다. 2 is a diagram illustrating a communication structure of a conventional node.

도 2를 참조하면, 노드(200)는 R 쓰레드(202a, 202b), S 쓰레드(206a, 206b), E 쓰레드(204a, 204b), 네트워크 카드(208a, 208b), 상태 정보 테이블(미도시)을 포함한다.Referring to FIG. 2, node 200 includes R threads 202a and 202b, S threads 206a and 206b, E threads 204a and 204b, network cards 208a and 208b, and a state information table (not shown). It includes.

상기 R쓰레드(202a, 202b)는 다른 노드의 S쓰레드에서 멀티캐스트하는 상태 정보를 수신하는 쓰레드이다. The R threads 202a and 202b are threads that receive state information multicasted by the S threads of other nodes.

상기 E쓰레드(204a, 204b)는 자신의 상태 정보를 갱신하는 쓰레드이다. The E threads 204a and 204b are threads for updating their own state information.

상기 S 쓰레드(206a, 206b)는 자신의 상태 정보를 다른 노드의 R 쓰레드에 전송하는 역할을 한다.The S threads 206a and 206b transmit their state information to the R thread of another node.

상기 R 쓰레드(202a, 202b)와 S 쓰레드(206a, 206b)는 해당 네트워크 라인에서 각각 하나의 소켓(201)을 생성한다. 따라서, 네트워크 카드가 다수일 경우 네트워크 카드의 수에 비례하여 쓰레드와 소켓이 생성됨을 알 수 있다. The R threads 202a and 202b and the S threads 206a and 206b each create one socket 201 in the corresponding network line. Therefore, it can be seen that when there are a plurality of network cards, threads and sockets are created in proportion to the number of network cards.

상기 R 쓰레드(202a, 202b), S 쓰레드(206a, 206b), E 쓰레드(204a, 204b) 각각에 대한 설명은 도 4내지 도 6을 참조하기로 한다. Description of each of the R threads 202a and 202b, the S threads 206a and 206b, and the E threads 204a and 204b will be described with reference to FIGS. 4 to 6.

도 3은 종래의 노드의 상태 정보 테이블을 나타낸 도면이다.3 is a view showing a state information table of a conventional node.

도 3을 참조하며, 상태 정보 테이블(300)은 네트워크와 노드간의 가용성 상태 정보를 저장하는 테이블이다. 따라서, 상기 상태 정보 테이블(300)은 해당 노드에 대하여 연결된 네트워크 라인을 통하여 전송된 각 노드의 상태 정보와 자신의 상태 정보를 저장한다. Referring to FIG. 3, the state information table 300 is a table that stores availability state information between a network and a node. Therefore, the state information table 300 stores state information of each node and its own state information transmitted through a network line connected to the corresponding node.

또한, 상기 상태 정보 테이블(300)의 값은 저장 가능한 최대, 최소 값을 가지도록 설정되어있으며, 최소값은 해당 네트워크를 통하여 노드와의 통신이 불가능한 상태를 표현한다.In addition, the value of the state information table 300 is set to have a maximum and minimum values that can be stored, and the minimum value represents a state in which communication with the node is not possible through the corresponding network.

각 노드의 R쓰레드(310), S쓰레드(330), E 쓰레드(320)는 네트워크 라인을 통하여 노드들간의 가용성 상태 정보를 파악한다.The R thread 310, the S thread 330, and the E thread 320 of each node grasp availability status information between nodes through a network line.

R쓰레드(310)는 다른 노드가 멀티캐스트한 노드 상태 정보를 수신하여 상태 정보 테이블의 해당 영역에 기록한다. The R thread 310 receives the node state information multicasted by another node and records it in the corresponding area of the state information table.

상기 S 쓰레드(330)는 노드 자신의 상태 정보를 다른 노드에 멀티캐스트한다. The S thread 330 multicasts node state information to another node.

상기 E 쓰레드(320)는 노드 자신의 상태 정보를 갱신하는 역할을 수행한다. The thread E 320 updates the node's own state information.

도 4는 종래의 R 쓰레드의 동작을 나타낸 흐름도이다. 4 is a flowchart illustrating the operation of a conventional R thread.

도 4를 참조하면, R쓰레드는 통신을 위한 소켓을 생성하고 특정 포트에 바인드한다(S400). 그런다음 상기 R쓰레드는 다른 노드의 S쓰레드에서 멀티캐스트하는 노드 상태 정보가 수신되기를 대기하여(S402), 노드 상태 정보가 수신되는지의 여부를 판단한다(S404). Referring to FIG. 4, the R thread creates a socket for communication and binds to a specific port (S400). Then, the R thread waits for receiving node state information multicasted by the S thread of another node (S402), and determines whether node state information is received (S404).

단계 S404의 판단결과 노드 상태 정보가 수신되면, 상기 R쓰레드는 상기 수신된 상태 정보를 분석하여 상태 정보 테이블에 해당 노드의 가용상태를 표시한다(S406). 즉, 상기 R쓰레드는 상태 정보가 수신되면, 해당 노드가 가용상태라고 판단하고 상기 상태 정보 테이블의 해당 영역의 값을 증가시킨다. When the node state information is received as a result of the determination in step S404, the R thread analyzes the received state information and displays an available state of the corresponding node in the state information table (S406). That is, when state information is received, the R thread determines that the node is in an available state and increases the value of the corresponding area of the state information table.

만약, 단계 S404의 판단결과 노드 상태 정보가 수신되지 않으면, 상기 R쓰레드는 상태 정보가 미리 정해진 일정 시간이 경과되었는지의 여부를 판단한다(S408). If the node state information is not received as a result of the determination in step S404, the R thread determines whether or not the predetermined state of the state information has elapsed (S408).

단계 S408의 판단결과 상태 정보가 미리 정해진 일정 시간내에 수신되지 않으면, 상기 R쓰레드는 상기 상태 정보 테이블에 해당 노드의 불가용 상태를 표시한다(S410). 즉, 상기 R쓰레드는 미리 정해진 일정 시간내에 상태 정보가 수신되지 않은 노드는 정상이 아닌것으로 판단하여 상기 상태 정보 테이블의 해당 노드에 불가용 상태를 표시한다. If the state information is not received within a predetermined time period as a result of the determination of step S408, the R thread displays the unavailable state of the corresponding node in the state information table (S410). That is, the R thread determines that a node that has not received state information within a predetermined time period is not normal, and displays an unavailable state on the corresponding node of the state information table.

만약, 단계 S408의 판단결과 상기 상태 정보가 미리 정해진 일정 시간이내에 수신되면, 상기 R 쓰레드는 단계 S406을 수행한다. If the state information is received within a predetermined time as a result of the determination in step S408, the R thread performs step S406.

도 5는 종래의 S쓰레드의 동작을 나타낸 흐름도이다. 5 is a flowchart illustrating the operation of a conventional S thread.

도 5를 참조하면, S쓰레드는 통신을 하기 위한 소켓을 생성하고 해당 네트워크 라인을 바인드한다(S500). 상기 네트워크라인은 해당 네트워크 라인의 로컬 주소를 말한다. Referring to FIG. 5, the S thread creates a socket for communicating and binds a corresponding network line (S500). The network line refers to a local address of the corresponding network line.

단계 S500의 수행후, 상기 S쓰레드는 상태 정보 테이블에서 해당 네트워크 라인에 해당하는 노드 정보를 수집하여 다른 노드의 R쓰레드에 멀티캐스트한다(S502). After performing step S500, the S thread collects node information corresponding to the corresponding network line from the state information table and multicasts it to an R thread of another node (S502).

단계 S502의 수행후, 상기 S쓰레드는 일정 시간동안 동작을 정지한 후(S504), 단계 S502를 반복 수행한다. After performing step S502, the thread S stops operation for a predetermined time (S504), and then repeats step S502.

도 6은 종래의 E쓰레드의 동작을 나타낸 흐름도이다.6 is a flowchart illustrating the operation of a conventional E thread.

도 6을 참조하면, E쓰레드는 상태 정보 테이블에 해당 네트워크 라인상의 다른 노드의 상태 정보를 연산하여 해당 노드의 상태 정보값을 구한다(S600). 여기서, 상기 연산은 or 연산일 수 있다. 즉, 상기 E쓰레드는 상기 상태 정보 테이블에 해당 네트워크 라인상의 다른 노드중에서 하나의 노드라도 가용상태이면, 자신의 노드가 가용상태라고 판단하여 해당 노드의 상태 정보값을 구할 수 있다. Referring to FIG. 6, the E thread calculates state information of another node on a corresponding network line in a state information table to obtain state information of the corresponding node (S600). Here, the operation may be an or operation. That is, the E thread may determine that its own node is in an available state if one of the other nodes on the network line is available in the state information table, and obtain a state information value of the corresponding node.

단계 S600의 수행후, 상기 E쓰레드는 상기 구해진 상태 정보값을 상기 상태 정보 테이블에 저장하고(S602), 상기 상태 정보 테이블에서 해당 네트워크 라인상의 모든 노드 상태 정보값을 감소한다(S604). 상기 해당 네트워크 라인상의 모든 노드 상태 정보값을 감소시켜서 장애가 발생한 네트워크와 노드를 검출할 수 있다.After performing step S600, the E thread stores the obtained state information value in the state information table (S602), and decreases all node state information values on the corresponding network line in the state information table (S604). By reducing all node state information values on the corresponding network line, a failed network and a node can be detected.

그런다음 상기 E쓰레드는 일정 시간동안 동작을 중지하고(S606), 단계 S600부터 반복 수행한다. Then, the E thread stops the operation for a predetermined time (S606), and repeats from step S600.

그러나 상기와 같이 종래에는 생성되는 쓰레드와 소켓의 수가 네트워크 카드 수에 비례하여 증가하기 때문에 시스템 자원이 많이 사용되는 문제점이 있다. However, as described above, since the number of threads and sockets generated in the related art increases in proportion to the number of network cards, system resources are frequently used.

또한, R, E 쓰레드는 공유변수인 상태 정보 테이블의 동일 영역에 동시에 쓰기를 수행하며 그것은 동기화 메커니즘을 사용하여 제어해야 하므로 알고리즘 자체가 복잡해질 뿐만 아니라 알고리즘 수행중 추가적인 부하가 발생하는 문제점이 있다. In addition, the R and E threads simultaneously write to the same area of the state information table, which is a shared variable, which must be controlled by using a synchronization mechanism, which not only complicates the algorithm itself but also causes additional load during algorithm execution.

또한, 사용하는 멀티캐스트 통신 방법은 흐름제어를 제공하지 않는 UDP방식으로 안정성이 부족한다. In addition, the multicast communication method used is a UDP method that does not provide flow control, and thus lacks stability.

따라서, 본 발명의 목적은 시스템 자원의 사용을 최소화하면서 실시간으로 네트워크와 노드의 가용성 상태 정보를 유지할 수 있는 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신 구조와 그 방법을 제공하는데 있다.
Accordingly, an object of the present invention is to provide a node communication structure and method for maintaining state information of a network and a node capable of maintaining network and node availability state information in real time while minimizing the use of system resources.

상기 목적들을 달성하기 위하여 본 발명의 일 측면에 따르면, 각 노드에 대하여 네트워크 라인 수에 상응한 수만큼 존재하여, 노드의 상태 정보 요청 패킷을 다른 노드에 멀티캐스트하는 RQ 쓰레드, 각 노드에 대하여 1개가 존재하여 상기 RQ쓰레드로부터 전송된 상태 정보 요청 패킷이 수신되면, 자신의 상태 정보를 포함하는 응답 패킷을 생성하여 해당 RQ 쓰레드에 유니캐스트하는 RS쓰레드, 네트워크와 노드간의 가용성 상태 정보를 저장하는 상태 정보 테이블, 네트워크 접속을 위한 네트워크 카드를 포함하는 것을 특징으로 하는 노드의 통신 구조가 제공된다. According to an aspect of the present invention to achieve the above objects, there is a number corresponding to the number of network lines for each node, RQ thread for multicasting the node's status information request packet to another node, 1 for each node When there is a dog and a status information request packet transmitted from the RQ thread is received, a RS packet unicast to the corresponding RQ thread by generating a response packet including its own status information and storing availability status information between the network and the node. A communication structure of a node is provided which comprises an information table and a network card for network connection.

상기 RQ 쓰레드 또는 상기 RS쓰레드는 각각 통신을 위하여 하나의 소켓을 생성한다. The RQ thread or the RS thread each creates one socket for communication.

상기 상태 정보 테이블은 네트워크 라인을 통하여 전송된 각 노드의 상태 정보와 자신의 상태 정보를 저장한다. The state information table stores state information of each node and its own state information transmitted through a network line.

본 발명의 다른 측면에 따르면, 네트워크와 노드의 상태 정보를 유지하기 위한 RQ쓰레드의 동작에 있어서, 통신을 수행하기 위한 소켓을 생성하고 해당 네트워크 라인에 바인드하고, 응답 패킷을 저장할 임시 변수를 초기화하고, 상태 정보 요청 패킷을 다른 노드의 RS쓰레드에 멀티캐스트하고, 다른 노드의 RS쓰레드로부터 상태 정보 응답 패킷이 수신되면, 상기 상태 정보를 상기 임시 변수에 저장하고, 미리 정해진 일정 시간이 경과되면, 상기 임시 변수에 저장된 상태 정보를 상태 정보 테이블에 반영하는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법 이 제공된다. According to another aspect of the present invention, in the operation of the RQ thread to maintain state information of the network and the node, create a socket for performing communication and bind to the corresponding network line, initialize a temporary variable to store the response packet Multicasting the status information request packet to the RS thread of another node, and receiving the status information response packet from the RS thread of the other node, storing the status information in the temporary variable, and when a predetermined time elapses, A method of maintaining state information of a network and a node is provided, wherein the state information stored in a temporary variable is reflected in a state information table.

상기 다른 노드의 RS 쓰레드로부터 미리 정해진 일정 회수내에 상태 정보 응답 패킷이 수신되지 않으면, 해당 노드에 장애가 발생한 것으로 판단하여 상기 상태 정보 테이블에 불가용 상태를 표시한다. If a status information response packet is not received within a predetermined number of times from an RS thread of another node, it is determined that a failure has occurred in the corresponding node, and an unavailable status is displayed in the status information table.

상기 RQ쓰레드는 다른 노드의 RS쓰레드로부터 상태 응답 패킷을 수신하기 위해서 상기 생성된 소켓에서 기다린다. The RQ thread waits on the created socket to receive a status response packet from the RS thread of another node.

상기 임시 변수에 저장된 상태 정보를 상태 정보 테이블에 반영하는 단계는 응답 패킷이 수신된 노드에 대해서는 상기 상태 정보 테이블에 해당 영역의 값을 증가시키고, 나머지 노드는 값을 감소시킨다. Reflecting the state information stored in the temporary variable in the state information table increases the value of the corresponding region in the state information table for the node where the response packet is received, and decreases the value of the remaining nodes.

본 발명의 또 다른 측면에 따르면, 네트워크와 노드의 상태 정보를 유지하기 위한 RS쓰레드의 동작에 있어서, 통신을 위한 소켓을 생성하고 특정 포트에 바인드하고, 노드 상태 정보 요청 패킷이 수신되면, 해당 상대방의 주소와 포트를 저장하고, 자신의 노드 상태 정보를 해당 상대방에게 유니캐스트하는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법이 제공된다.According to another aspect of the present invention, in the operation of the RS thread for maintaining the state information of the network and the node, create a socket for communication and bind to a specific port, when the node state information request packet is received, the counterpart A method of maintaining network and node state information is provided, which stores an address and a port and unicasts its own node state information to a corresponding counterpart.

상기 RS쓰레드는 다른 노드의 RQ쓰레드가 멀티캐스트한 상태 정보 요청 패킷을 수신하기 위해서 상기 생성된 소켓에서 기다린다. The RS thread waits on the created socket to receive a state information request packet multicasted by an RQ thread of another node.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 7은 본 발명의 바람직한 일 실시예에 따른 노드의 통신 구조를 나타낸 도 면이다. 7 is a diagram showing a communication structure of a node according to an embodiment of the present invention.

도 7을 참조하면, 노드(700)는 RQ쓰레드(702a, 702b), RS쓰레드(704), 네트워크 카드(706a, 706b), 상태 정보 테이블(미도시)을 포함한다.Referring to FIG. 7, node 700 includes RQ threads 702a and 702b, RS thread 704, network cards 706a and 706b, and a state information table (not shown).

상기 RQ쓰레드(702a, 702b)는 다른 노드의 RS쓰레드에게 상태 정보를 요청하고, 상기 RS쓰레드(704)는 자신의 상태 정보를 다른 노드의 RQ쓰레드에 전송하는 역할을 한다.The RQ threads 702a and 702b request status information from an RS thread of another node, and the RS thread 704 transmits its status information to the RQ thread of another node.

여기서, 상기 RQ쓰레드(702a, 702b)는 네트워크라인 수에 비례하고, 상기 RS쓰레드(704)는 각 노드에 대하여 하나이다. Here, the RQ threads 702a and 702b are proportional to the number of network lines, and the RS thread 704 is one for each node.

그리고 상기 RQ쓰레드(702a, 702b)와 RS쓰레드(704)는 통신을 위하여 하나의 소켓(701a, 701b)을 생성한다.The RQ threads 702a and 702b and the RS thread 704 create one socket 701a and 701b for communication.

상기 RQ쓰레드(702a, 702b)의 소켓(701a, 701b)은 해당 네트워크 라인의 로컬 주소에 바인드하여 노드 상태 정보 요청 패킷을 다른 노드에 멀티캐스트한다. The sockets 701a and 701b of the RQ threads 702a and 702b bind to the local address of the corresponding network line and multicast the node state information request packet to another node.

상기 RS쓰레드(704)의 소켓은 특정 포트에 바인드하여 다른 노드에서 멀티캐스트한 노드 상태 정보 요청 패킷을 수신하고 응답 패킷을 생성하여 처리한다. The socket of the RS thread 704 binds to a specific port, receives a node state information request packet multicasted by another node, and generates and processes a response packet.

상기 RS쓰레드(702a, 702b)와 RQ쓰레드(704)에 대한 상세한 설명은 도 9와 도 10을 참조하기로 한다. The RS threads 702a and 702b and the RQ thread 704 will be described in detail with reference to FIGS. 9 and 10.

도 8은 본 발명의 바람직한 일 실시예에 따른 상태 정보 테이블을 나타낸 도면이다.8 is a diagram illustrating a state information table according to an embodiment of the present invention.

도 8을 참조하면, 상태 정보 테이블(800)은 네트워크와 노드간의 가용성 상태 정보를 저장하는 테이블이다. 따라서, 상기 상태 정보 테이블(800)은 해당 노드 에 대하여 연결된 네트워크 라인을 통하여 전송된 각 노드의 상태 정보와 자신의 상태 정보를 저장한다. Referring to FIG. 8, the state information table 800 is a table that stores availability state information between a network and a node. Therefore, the state information table 800 stores state information of each node and its own state information transmitted through a network line connected to the corresponding node.

또한, 상기 상태 정보 테이블(800)의 값은 저장 가능한 최대, 최소 값을 가지도록 설정되어있으며, 최소값은 해당 네트워크를 통하여 노드와의 통신이 불가능한 상태를 표현한다.In addition, the value of the state information table 800 is set to have a maximum and minimum values that can be stored, and the minimum value represents a state in which communication with a node is not possible through a corresponding network.

각 노드의 RQ쓰레드(810), RS쓰레드(820)는 네트워크 라인을 통하여 노드들간의 가용성 상태 정보를 파악한다.The RQ thread 810 and the RS thread 820 of each node grasp availability status information between nodes through a network line.

상기 RQ 쓰레드(810)는 네트워크 라인에서 다른 노드와의 연결 상태 정보를 파악하기 위하여 노드 상태 정보 요청 패킷을 다른 노드의 RS쓰레드에게 멀티캐스트한다. 또한, 상기 RQ쓰레드(810)는 각 노드로부터 전송된 유니캐스트 응답 패킷을 수신 및 분석하여 그 결과를 상태 정보 테이블에 저장한다. The RQ thread 810 multicasts a node status information request packet to an RS thread of another node to grasp connection status information with another node on a network line. In addition, the RQ thread 810 receives and analyzes a unicast response packet transmitted from each node and stores the result in a state information table.

상기 RS쓰레드(820)는 네트워크 라인에 무관하게 하나의 쓰레드로 동작하며 다른 노드의 RQ쓰레드에서 멀티캐스트한 상태 정보 요청 패킷이 수신되면, 상기 상태 정보 요청 패킷이 수신된 네트워크 라인을 통하여 응답 패킷을 유니캐스트한다.The RS thread 820 operates as one thread regardless of a network line, and when a status information request packet multicasted by an RQ thread of another node is received, the RS thread 820 sends a response packet through the received network line. Unicast

여기서, RQ 쓰레드(810)와 RS쓰레드(820)의 상태 정보 테이블에 대한 액세스 패턴을 관찰하면 다수의 쓰레드가 동일 영역에 동시에 쓰기연산을 수행하지 않음을 알 수 있다. Here, when the access patterns of the state information tables of the RQ thread 810 and the RS thread 820 are observed, it can be seen that a plurality of threads do not simultaneously write to the same area.

도 9는 본 발명의 바람직한 일 실시예에 따른 RQ쓰레드의 동작을 나타낸 흐름도이다.9 is a flowchart illustrating the operation of an RQ thread according to an embodiment of the present invention.

도 9를 참조하면, RQ쓰레드는 통신을 수행하기 위한 소켓을 생성하고 해당 네트워크 라인에 바인드한다(S900). 그런다음 상기 RQ 쓰레드는 응답 패킷을 저장할 임시 변수를 초기화하고(S902), 상태 정보 요청 패킷을 다른 노드의 RS 쓰레드에 멀티캐스트한다(S904).9, the RQ thread creates a socket for performing communication and binds to a corresponding network line (S900). Then, the RQ thread initializes a temporary variable to store the response packet (S902), and multicasts the status information request packet to the RS thread of another node (S904).

그런다음 상기 RQ 쓰레드는 다른 노드의 RS 쓰레드로부터 상태 정보가 수신되는지의 여부를 판단한다(S906). 즉, 상기 RQ 쓰레드는 RS 쓰레드가 유니캐스트한 노드 상태 정보 응답 패킷을 수신하기 위해서 소켓에서 기다린다. Then, the RQ thread determines whether state information is received from the RS thread of another node (S906). That is, the RQ thread waits on a socket to receive a node status information response packet unicast by the RS thread.

단계 S906의 판단결과 다른 노드의 RS 쓰레드로부터 상태 정보가 수신되면, 상기 RQ 쓰레드는 상기 수신된 상태 정보를 임시 변수에 저장하고(S908), 미리 정해진 일정 시간이 경과되었는지의 여부를 판단한다(S910).As a result of the determination of step S906, when state information is received from the RS thread of another node, the RQ thread stores the received state information in a temporary variable (S908), and determines whether a predetermined predetermined time has elapsed (S910). ).

단계 S910의 판단결과 미리 정해진 일정 시간이 경과되었으면, 상기 RQ 쓰레드는 상기 임시 변수에 저장된 값을 상태 정보 테이블에 반영한다(S912). 즉, 상기 RQ 쓰레드는 응답패킷을 수신한 노드에 대해서는 상태 정보 테이블의 해당 영역의 값을 증가시키고 나머지 노드에 대해서는 값을 감소시킨다. If a predetermined time elapses as a result of the determination in step S910, the RQ thread reflects the value stored in the temporary variable in the state information table (S912). That is, the RQ thread increases the value of the corresponding region of the state information table for the node that receives the response packet and decreases the value for the remaining nodes.

만약, 단계 S906의 판단결과 다른 노드의 RS 쓰레드로부터 상태 정보가 수신되지 않으면, 상기 RQ 쓰레드는 미리 정해진 일정 회수내에 상태 정보가 수신되는지의 여부를 판단한다(S914).If the state information is not received from the RS thread of another node as a result of the determination of step S906, the RQ thread determines whether the state information is received within a predetermined number of times (S914).

단계 S914의 판단결과 미리 정해진 일정 회수내에 상태 정보가 수신되면, 상기 RQ 쓰레드는 단계 S908을 수행한다. If the state information is received within a predetermined number of times as a result of the determination of step S914, the RQ thread performs step S908.

만약, 단계 S914의 판단결과 미리 정해진 일정 회수내에 상태 정보가 수신되지 않으면, 상기 RQ 쓰레드는 상기 상태 정보 테이블에 해당 노드의 불가용 상태를 표시한다(S916).If the state information is not received within a predetermined number of times as a result of the determination of step S914, the RQ thread displays the unavailable state of the corresponding node in the state information table (S916).

도 10은 본 발명의 바람직한 일 실시예에 따른 RS 쓰레드의 동작을 나타낸 흐름도이다. 10 is a flowchart illustrating the operation of an RS thread according to an embodiment of the present invention.

도 10을 참조하면, RS 쓰레드는 소켓을 생성하고 특정 포트에 바인드한다(S1000). 상기 RS 쓰레드는 모든 네트워크 라인으로부터 멀티캐스트 요청을 수신하기 위해서 특정 주소에 바인드해서는 안된다. Referring to FIG. 10, the RS thread creates a socket and binds to a specific port (S1000). The RS thread must not bind to a specific address in order to receive multicast requests from all network lines.

단계 S1000의 수행후, 상기 RS 쓰레드는 노드 상태 정보 요청 패킷이 수신되는지의 여부를 판단한다(S1002). 즉, 상기 RS 쓰레드는 RQ 쓰레드가 멀티캐스트한 노드 상태 정보 요청 패킷을 수신하기 위해서 소켓에서 기다린다. After performing step S1000, the RS thread determines whether a node status information request packet is received (S1002). That is, the RS thread waits on a socket to receive a node state information request packet multicasted by the RQ thread.

단계 S1002의 판단결과 노드 상태 정보 요청 패킷이 수신되면, 상기 RS 쓰레드는 해당 상대방의 주소와 포트를 저장하고(S1004), 자신의 노드 상태 정보를 해당 상대방에게 유니캐스트한다(S1006).As a result of the determination of step S1002, when the node status information request packet is received, the RS thread stores the address and port of the counterpart (S1004), and unicasts its node state information to the counterpart (S1006).

본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.The present invention is not limited to the above embodiments, and many variations are possible by those skilled in the art within the spirit of the present invention.

상술한 바와 같이 본 발명에 따르면, 생성되는 쓰레드와 소켓의 수가 감소하므로 시스템 자원 낭비를 줄일 수 있는 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신 구조와 그 방법을 제공할 수 있다.As described above, according to the present invention, since the number of generated threads and sockets is reduced, it is possible to provide a communication structure and a method of a node for maintaining state information of a network and a node, which can reduce system resource waste.

또한, 본 발명에 따르면, 각각의 쓰레드가 공유변수인 상태 정보 테이블의 동일 영역에 동시에 쓰기연산을 수행하지 않으므로 동기화 메커니즘을 사용하지 않고, 동기화 메커니즘을 사용하지 않으므로 상태 정보 유지 알고리즘을 단순화하고 동기화에 따른 부하를 제거할 수 있는 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신 구조와 그 방법을 제공할 수 있다. In addition, according to the present invention, since each thread does not simultaneously perform a write operation on the same area of the state information table, which is a shared variable, it does not use a synchronization mechanism and does not use a synchronization mechanism, thereby simplifying a state information maintenance algorithm and It is possible to provide a communication structure and a method of a node for maintaining the state information of the network and the node can remove the load.

또한, 본 발명에 따르면, 노드 상태 정보 송수신을 위하여 요청 및 응답 구조의 흐름 제어 방식을 사용하여 UDP기반의 통신 방식의 단점을 보완하고 상태 정보 전송의 신뢰성을 향상시키는 네트워크와 노드의 상태 정보 유지를 위한 노드의 통신 구조와 그 방법을 제공할 수 있다. In addition, according to the present invention, by using the flow control method of the request and response structure for transmitting and receiving the node status information, it is possible to maintain the status information of the network and the node to compensate for the disadvantages of the UDP-based communication scheme and improve the reliability of the status information transmission. It is possible to provide a communication structure of a node and a method thereof.

Claims (9)

네트워크와 노드의 상태 정보를 유지하기 위한 노드의 통신 구조에 있어서, In the communication structure of a node for maintaining network and node state information, 각 노드에 대하여 네트워크 라인 수에 상응한 수만큼 존재하여, 노드의 상태 정보 요청 패킷을 다른 노드에 멀티캐스트하는 RQ 쓰레드;An RQ thread for each node corresponding to the number of network lines and multicasting a node's status information request packet to another node; 각 노드에 대하여 1개가 존재하여 RQ쓰레드에서 멀티캐스트된 상태 정보 요청 패킷이 수신되면, 자신의 상태 정보를 포함하는 응답 패킷을 생성하여 해당 RQ 쓰레드에 유니캐스트하는 RS쓰레드;When there is one for each node and receives the multicast status information request packet from the RQ thread, the RS thread generates a response packet including its own status information and unicasts to the corresponding RQ thread; 네트워크와 노드간의 가용성 상태 정보를 저장하는 상태 정보 테이블;및A status information table for storing availability status information between the network and the nodes; and 네트워크 접속을 위한 네트워크 카드Network card for network access 를 포함하는 것을 특징으로 하는 노드의 통신 구조.Communication structure of the node comprising a. 제1항에 있어서, The method of claim 1, 상기 RQ 쓰레드 또는 상기 RS쓰레드는 각각 통신을 위하여 하나의 소켓을 생성하는 것을 특징으로 하는 노드의 통신 구조.The RQ thread or the RS thread each creates a socket for communication. 제1항에 있어서,The method of claim 1, 상기 상태 정보 테이블은 네트워크 라인을 통하여 전송된 각 노드의 상태 정보와 자신의 상태 정보를 저장하는 것을 특징으로 하는 노드의 통신 구조.The state information table stores the state information of each node and its own state information transmitted through a network line. 네트워크와 노드의 상태 정보를 유지하기 위한 RQ쓰레드의 동작에 있어서, In the operation of RQ threads to maintain network and node state information, 통신을 수행하기 위한 소켓을 생성하고 해당 네트워크 라인에 바인드하는 단계;Creating a socket for performing communication and binding to a corresponding network line; 응답 패킷을 저장할 임시 변수를 초기화하고, 상태 정보 요청 패킷을 다른 노드의 RS쓰레드에 멀티캐스트하는 단계;Initializing a temporary variable to store a response packet, and multicasting a status information request packet to an RS thread of another node; 다른 노드의 RS쓰레드로부터 상태 정보 응답 패킷이 수신되면, 상기 상태 정보를 상기 임시 변수에 저장하는 단계;If the status information response packet is received from an RS thread of another node, storing the status information in the temporary variable; 미리 정해진 일정 시간이 경과되면, 상기 임시 변수에 저장된 상태 정보를 상태 정보 테이블에 반영하는 단계Reflecting state information stored in the temporary variable in a state information table when a predetermined predetermined time elapses 를 포함하는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법.Method of maintaining state information of the network and the node comprising a. 제4항에 있어서, The method of claim 4, wherein 상기 다른 노드의 RS 쓰레드로부터 미리 정해진 일정 회수내에 상태 정보 응답 패킷이 수신되지 않으면, 해당 노드에 장애가 발생한 것으로 판단하여 상기 상태 정보 테이블에 불가용 상태를 표시하는 단계를 더 포함하는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법.If the status information response packet is not received within a predetermined number of times from the RS thread of the other node, determining that a failure has occurred in the corresponding node, and displaying an unavailable state in the status information table. To maintain state information for nodes and nodes. 제4항에 있어서, The method of claim 4, wherein 상기 RQ쓰레드는 다른 노드의 RS쓰레드로부터 상태 응답 패킷을 수신하기 위해서 상기 생성된 소켓에서 기다리는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법.And the RQ thread waits on the created socket to receive a status response packet from an RS thread of another node. 제4항에 있어서, The method of claim 4, wherein 상기 임시 변수에 저장된 상태 정보를 상태 정보 테이블에 반영하는 단계는 응답 패킷이 수신된 노드에 대해서는 상기 상태 정보 테이블에 해당 영역의 값을 증가시키고, 나머지 노드는 값을 감소시키는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법.Reflecting the state information stored in the temporary variable in the state information table includes increasing the value of the corresponding region in the state information table for the node where the response packet is received, and decreasing the value of the remaining nodes. How to maintain state information for a node. 네트워크와 노드의 상태 정보를 유지하기 위한 RS쓰레드의 동작에 있어서, In the operation of RS threads to maintain network and node state information, 통신을 위한 소켓을 생성하고 특정 포트에 바인드하는 단계;Creating a socket for communication and binding to a specific port; 노드 상태 정보 요청 패킷이 수신되면, 해당 상대방의 주소와 포트를 저장하는 단계;When the node status information request packet is received, storing an address and a port of the corresponding counterpart; 자신의 노드 상태 정보를 해당 상대방에게 유니캐스트하는 단계Unicasting its node state information to its counterpart 를 포함하는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법.Method of maintaining state information of the network and the node comprising a. 제8항에 있어서, The method of claim 8, 상기 RS쓰레드는 다른 노드의 RQ쓰레드가 멀티캐스트한 상태 정보 요청 패킷을 수신하기 위해서 상기 생성된 소켓에서 기다리는 것을 특징으로 하는 네트워크와 노드의 상태 정보 유지 방법.And the RS thread waits on the created socket to receive a state information request packet multicasted by an RQ thread of another node.
KR1020030099586A 2003-12-30 2003-12-30 Communication structure of node for preserving situation data in network and node and thereof method KR100614313B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030099586A KR100614313B1 (en) 2003-12-30 2003-12-30 Communication structure of node for preserving situation data in network and node and thereof method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030099586A KR100614313B1 (en) 2003-12-30 2003-12-30 Communication structure of node for preserving situation data in network and node and thereof method

Publications (2)

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

Family

ID=37260378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030099586A KR100614313B1 (en) 2003-12-30 2003-12-30 Communication structure of node for preserving situation data in network and node and thereof method

Country Status (1)

Country Link
KR (1) KR100614313B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990082631A (en) * 1996-12-16 1999-11-25 윤종용 Method of transmitting message between subscriber units formed in network
JP2001244976A (en) 2000-02-28 2001-09-07 Nec Corp Device and system for multicast packet transfer and storage medium
KR20030059215A (en) * 2000-10-27 2003-07-07 텔레폰악티에볼라겟엘엠에릭슨(펍) Method for forwarding in multihop networks
KR20040090222A (en) * 2003-04-16 2004-10-22 삼성전자주식회사 Device and method of connecting network being separately

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990082631A (en) * 1996-12-16 1999-11-25 윤종용 Method of transmitting message between subscriber units formed in network
JP2001244976A (en) 2000-02-28 2001-09-07 Nec Corp Device and system for multicast packet transfer and storage medium
KR20030059215A (en) * 2000-10-27 2003-07-07 텔레폰악티에볼라겟엘엠에릭슨(펍) Method for forwarding in multihop networks
KR20040090222A (en) * 2003-04-16 2004-10-22 삼성전자주식회사 Device and method of connecting network being separately

Also Published As

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

Similar Documents

Publication Publication Date Title
US7818408B1 (en) Automated virtual interface failover in a mass storage cluster
US5923854A (en) Virtual internet protocol (IP) addressing
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
JP5031218B2 (en) Failover scope of computer cluster nodes
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 (en) System and method for managing a cluster containing multiple nodes
TW201824823A (en) Methods and devices for switching a virtual internet protocol address
US20030233473A1 (en) Method for configuring logical connections to a router in a data communication system
US7545741B1 (en) Technique for identifying a failed network interface card within a team of network interface cards
JP3924247B2 (en) Software-based fault-tolerant network using a single LAN
CN112564983B (en) Data transmission method, device, computer system and medium
US6535991B1 (en) Method and apparatus for providing reliable communications in an intelligent network
KR100614313B1 (en) Communication structure of node for preserving situation data in network and node and thereof method
CN110351122B (en) Disaster recovery method, device, system and electronic equipment
US20060274646A1 (en) Method and apparatus for managing network connection
CN109815065A (en) Main/standby switching method, device, the electronic equipment of two-shipper
US9436653B2 (en) Shared-bandwidth multiple target remote copy
KR0136507B1 (en) Communication error detection method between signal exchange and management system of common line (No.7) signal network
CN111211927A (en) Resource synchronization method and device

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