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 PDFInfo
- 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
Links
- 238000004891 communication Methods 0.000 title claims description 29
- 238000000034 method Methods 0.000 title claims description 20
- 230000003247 decreasing effect Effects 0.000 claims 1
- 239000002699 waste material Substances 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 7
- 230000007423 decrease Effects 0.000 description 3
- 239000004255 Butylated hydroxyanisole Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization 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
도 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
상기 클러스터 솔루션은 각각의 노드(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,
상기 R쓰레드(202a, 202b)는 다른 노드의 S쓰레드에서 멀티캐스트하는 상태 정보를 수신하는 쓰레드이다. The
상기 E쓰레드(204a, 204b)는 자신의 상태 정보를 갱신하는 쓰레드이다. The
상기 S 쓰레드(206a, 206b)는 자신의 상태 정보를 다른 노드의 R 쓰레드에 전송하는 역할을 한다.The
상기 R 쓰레드(202a, 202b)와 S 쓰레드(206a, 206b)는 해당 네트워크 라인에서 각각 하나의 소켓(201)을 생성한다. 따라서, 네트워크 카드가 다수일 경우 네트워크 카드의 수에 비례하여 쓰레드와 소켓이 생성됨을 알 수 있다. The
상기 R 쓰레드(202a, 202b), S 쓰레드(206a, 206b), E 쓰레드(204a, 204b) 각각에 대한 설명은 도 4내지 도 6을 참조하기로 한다. Description of each of the
도 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쓰레드(310)는 다른 노드가 멀티캐스트한 노드 상태 정보를 수신하여 상태 정보 테이블의 해당 영역에 기록한다. The
상기 S 쓰레드(330)는 노드 자신의 상태 정보를 다른 노드에 멀티캐스트한다. The
상기 E 쓰레드(320)는 노드 자신의 상태 정보를 갱신하는 역할을 수행한다. The
도 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,
상기 RQ쓰레드(702a, 702b)는 다른 노드의 RS쓰레드에게 상태 정보를 요청하고, 상기 RS쓰레드(704)는 자신의 상태 정보를 다른 노드의 RQ쓰레드에 전송하는 역할을 한다.The
여기서, 상기 RQ쓰레드(702a, 702b)는 네트워크라인 수에 비례하고, 상기 RS쓰레드(704)는 각 노드에 대하여 하나이다. Here, the
그리고 상기 RQ쓰레드(702a, 702b)와 RS쓰레드(704)는 통신을 위하여 하나의 소켓(701a, 701b)을 생성한다.The
상기 RQ쓰레드(702a, 702b)의 소켓(701a, 701b)은 해당 네트워크 라인의 로컬 주소에 바인드하여 노드 상태 정보 요청 패킷을 다른 노드에 멀티캐스트한다. The
상기 RS쓰레드(704)의 소켓은 특정 포트에 바인드하여 다른 노드에서 멀티캐스트한 노드 상태 정보 요청 패킷을 수신하고 응답 패킷을 생성하여 처리한다. The socket of the
상기 RS쓰레드(702a, 702b)와 RQ쓰레드(704)에 대한 상세한 설명은 도 9와 도 10을 참조하기로 한다. The
도 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 쓰레드(810)는 네트워크 라인에서 다른 노드와의 연결 상태 정보를 파악하기 위하여 노드 상태 정보 요청 패킷을 다른 노드의 RS쓰레드에게 멀티캐스트한다. 또한, 상기 RQ쓰레드(810)는 각 노드로부터 전송된 유니캐스트 응답 패킷을 수신 및 분석하여 그 결과를 상태 정보 테이블에 저장한다. The
상기 RS쓰레드(820)는 네트워크 라인에 무관하게 하나의 쓰레드로 동작하며 다른 노드의 RQ쓰레드에서 멀티캐스트한 상태 정보 요청 패킷이 수신되면, 상기 상태 정보 요청 패킷이 수신된 네트워크 라인을 통하여 응답 패킷을 유니캐스트한다.The
여기서, RQ 쓰레드(810)와 RS쓰레드(820)의 상태 정보 테이블에 대한 액세스 패턴을 관찰하면 다수의 쓰레드가 동일 영역에 동시에 쓰기연산을 수행하지 않음을 알 수 있다. Here, when the access patterns of the state information tables of the
도 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)
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)
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 |
-
2003
- 2003-12-30 KR KR1020030099586A patent/KR100614313B1/en active IP Right Grant
Patent Citations (4)
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 |