KR101570933B1 - System and method of node discovery using dynamic bloom filters for dds - Google Patents

System and method of node discovery using dynamic bloom filters for dds Download PDF

Info

Publication number
KR101570933B1
KR101570933B1 KR1020140119012A KR20140119012A KR101570933B1 KR 101570933 B1 KR101570933 B1 KR 101570933B1 KR 1020140119012 A KR1020140119012 A KR 1020140119012A KR 20140119012 A KR20140119012 A KR 20140119012A KR 101570933 B1 KR101570933 B1 KR 101570933B1
Authority
KR
South Korea
Prior art keywords
bloom filter
node
information
dynamic
endpoint
Prior art date
Application number
KR1020140119012A
Other languages
Korean (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 KR1020140119012A priority Critical patent/KR101570933B1/en
Application granted granted Critical
Publication of KR101570933B1 publication Critical patent/KR101570933B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Abstract

The present invention relates to a node searching system using a dynamic Bloom filter (DBF) in a data distribution service (DDS) and a method thereof. More specifically, a node stores end point presence information to the DBF having the size of a table dynamically adjusted by using the topic of end points, and broadcasts the DBF information and participant information notifying the presence of the node to a network. Only the nodes matched to the topic of the end points can transmit and receive the information of the corresponding end points. Accordingly, the system and the method according to the present invention enable the node and end point information to be accurately managed and enhance the accuracy of node searches in a large-scale network system such as a battle management system which includes a large number of nodes and frequently adds and deletes the nodes and end points.

Description

데이터분산서비스에서 동적 블룸 필터를 이용한 노드 탐색 시스템 및 방법{SYSTEM AND METHOD OF NODE DISCOVERY USING DYNAMIC BLOOM FILTERS FOR DDS}TECHNICAL FIELD The present invention relates to a node search system and method using a dynamic bloom filter in a data distribution service,

본 발명은 데이터분산서비스(Data Distribution Service; DDS)에서 동적 블룸 필터(Dynamic Bloom Filters; DBF)를 이용한 노드 탐색 시스템 및 방법에 관한 것으로서, 상세하게는, 테이블의 크기를 동적으로 변경하는 동적 블룸 필터(DBF)를 기반으로 노드를 탐색하는 DDS에서 DBF를 이용한 노드 탐색 시스템 및 방법에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a node search system and method using Dynamic Bloom Filters (DBF) in a data distribution service (DDS), and more particularly, The present invention relates to a node search system and method using a DBF in a DDS for searching a node based on a DBF.

전투관리시스템(Combat Management System; CMS)은 함정에 탑재되는 무기와 각종 다양한 장비들을 컴퓨터 시스템에 의하여 통제 및 조작하는 시스템이다. 전투관리시스템은 다수의 장비들에 대한 모니터링 정보를 비롯한 다수의 메시지와 이를 조작하는 다양한 프로세스들을 관리해야 한다. 또한 전투관리시스템에서의 정보처리는 센서로부터 수집한 데이터에 의하거나 또는 운용자의 명령에 의하여 촉발되기 때문에 데이터 중심의 통신 특성이 강하고 다수의 노드들에게 동시에 전파되는 경우가 많다. 전투관리시스템에서 대규모의 실시간 메시지와 분산 환경의 감시의 일관성을 위하여 데이터분산서비스(DDS) 기반의 통신 미들웨어가 사용된다.A Combat Management System (CMS) is a system that controls and manipulates weapons and various devices mounted on traps by a computer system. The battle management system must manage multiple messages, including monitoring information for multiple devices, and various processes that manipulate them. In addition, since the information processing in the battle management system is triggered by the data collected from the sensor or by the operator's instruction, the communication characteristic of the data center is strong and it is often propagated to a plurality of nodes at the same time. In the battle management system, communication middleware based on data distribution service (DDS) is used for consistency of monitoring large-scale real-time messages and distributed environments.

DDS는 분산 응용프로그램들 간에 데이터 중심의 발행/가입(publish/subscribe) 방식의 통신을 위한 미들웨어이다. 따라서, DDS에서는 특정 토픽에 관심 있는 응용프로그램들이 토픽에 대해 참여하는 발행과 가입을 통하여 데이터를 주고 받을 수 있게 된다.DDS is a middleware for data-centric publish / subscribe communication between distributed applications. Thus, in DDS, applications interested in a particular topic can send and receive data through participating publications and subscriptions to the topic.

도 1은 일반적인 DDS에서의 데이터 통신 흐름을 보여주는 블럭도이다.1 is a block diagram showing the flow of data communication in a general DDS.

DDS는, 크게 데이터 공유 영역인 도메인(domain)(100)과 도메인 참가자(participant)로 구성된다. 도메인 참가자는 각각의 데이터에 대하여 발행자(publisher)(110)와 가입자(subscriber)(130)로 나뉘게 된다. 하나의 도메인(100)에는 다수의 발행자(110) 및 가입자(130)가 존재하며 미리 약속된 데이터 타입인 토픽(topic)의 샘플을 교환하게 된다. 각 발행자(110)는 실제로 데이터를 전송하는 다수의 데이터송신기(Data Writer)(120)를 구비할 수 있고, 각 가입자(130)는 데이터를 수신하는 다수의 데이터수신기(Data Reader)(140)를 구비할 수 있다. 따라서, 통신을 하는 발행자(110)와 가입자(120) 사이에는 같은 토픽이 사용되는 것이다. 좀더 상세히 설명하면, 토픽을 통해 서로 연결된 발행자(110)의 데이터송신기(120)와 가입자(130)의 데이터수신기(140) 사이에 데이터(메시지)가 송신 및 수신되는 것이다.The DDS is composed of a domain 100, which is a data sharing domain, and a domain participant. The domain participant is divided into a publisher 110 and a subscriber 130 for each piece of data. In one domain 100, a plurality of publishers 110 and subscribers 130 exist and exchange samples of a topic, which is a promised data type. Each of the publishers 110 may have a plurality of data writers 120 for transmitting data and each subscriber 130 may include a plurality of data readers 140 for receiving data . Accordingly, the same topic is used between the issuer 110 and the subscriber 120 communicating. More specifically, data (messages) are transmitted and received between the data transmitter 120 of the publisher 110 and the data receiver 140 of the subscriber 130, which are connected to each other through a topic.

이와 같은 DDS에서는 토픽을 통하여 데이터 통신을 할 수 있도록 하기 위하여, 통신에 참여하는 참가자들(즉, 발행자들과 가입자들)이 서로 자동으로 탐색하는 기본 탐색 방법(Simple Discovery Protocol; SDP)이 사용되고 있다. 종래 노드 탐색 방법인 기본 탐색 방법(SDP)은, 크게 두 개의 과정, 즉, 참가자 탐색 과정과 엔드포인트(데이터송신기 및 데이터수신기) 탐색 과정이 반복적으로 이루어진다. 먼저 참가자 탐색 과정이 수행된 후 엔드포인트 탐색 과정이 수행된다. In such a DDS, a Simple Discovery Protocol (SDP) is used in which participants participating in communication (i.e., issuers and subscribers) automatically search each other in order to enable data communication through a topic . The basic search method (SDP), which is a conventional node search method, is roughly divided into two processes: a participant search process and an end point search process (data sender and data receiver). After the participant search process is performed, the end point search process is performed.

종래 노드 탐색 방법인 기본 탐색 방법에 대하여 좀더 상세히 설명하면, 각 참가자는 자신과 동일한 토픽에 대하여 발행 또는 가입하고자 하는 타참가자와 그 타참가자의 엔드포인트(데이터송신기,데이터수신기)를 참가자 탐색 과정과 엔드포인트 탐색 과정을 통하여 탐색한다. 즉, 신규 참가자는 신규 참가자 자신의 정보를 네트워크에 알리고, 네트워크에 참여중인 모든 참가자는 상기 신규 참가자의 정보를 전달받아 자신들의 로컬 데이터베이스에 저장한다. 로컬 데이터베이스에는, 다른 참가자들의 리스트, 그들의 발행 정보 및 가입 정보 리스트가 저장되어 있다. 이후, 신규 참가자는 참여중인 모든 참가자와 엔드포인트 매칭을 위하여, 신규 참가자의 모든 엔드포인트 정보를 참여중인 모든 참가자에게 송신한다. 참여중인 모든 참가자는 신규 참가자로부터 전송되는 모든 엔드포인트 정보를 수신하여 매칭되는 엔드포인트가 있는지를 확인하는 것이다.The basic search method, which is a conventional node search method, will be described in more detail. Each participant searches the participant search process and the endpoint (data transmitter, data receiver) of the other participant who wants to publish or subscribe to the same topic as himself / End point search process. That is, the new participant informs the network of the new participant's own information, and all participants participating in the network receive the information of the new participant and store it in their local database. The local database stores a list of other participants, their publication information, and a list of subscription information. The new participant then sends all endpoint information of the new participant to all participating participants for endpoint matching with all participating participants. All participating participants receive all the endpoint information transmitted from the new participant and confirm whether there is an endpoint that matches.

이와 같은 종래의 노드 탐색 방법은 각 참가자들이 모든 참가자들과 그 엔드포인트들의 모든 정보를 독립적으로 모두 저장해야 하고, 참가자들이 새로 생성되거나 삭제될 때마다 그리고 현존 참가자의 엔드포인트들이 업데이트(생성 또는 삭제)될 때마다 업데이트된 정보가 나머지 모든 참가자들에게 모두 전송되므로, 네트워크에서 송수신되는 데이터의 양이 증가하여 네트워크 트래픽의 복잡도가 대폭 증가하며, 각 참가자의 메모리 사용량도 많아지는 문제점이 있다.In this conventional node search method, each participant has to independently store all the information of all the participants and their end points, and each time a participant is newly created or deleted, and an existing participant's end points are updated The updated information is transmitted to all the other participants. Therefore, the amount of data transmitted and received in the network increases, so that the complexity of the network traffic increases greatly, and the memory usage of each participant increases.

종래의 노드 탐색 방법은, 노드의 개수가 적은 소규모 네트워크에서는 적합할 수 있으나, 전투관리시스템과 같이 노드의 개수가 많은 대규모의 네트워크 시스템이나 노드의 생성률 및 제거율이 높은 대규모의 네트워크 시스템에서는 네트워크 트래픽을 더욱 증가시키는 문제점이 있으며, 또한 각 참가자의 메모리 사용량이 증가되어 노드 탐색 시간이 많이 소요되므로 시스템 신뢰도가 현저히 저하되는 문제점이 있다.
The conventional node search method may be suitable for a small-sized network having a small number of nodes. However, in a large-scale network system having a large number of nodes, such as a battle management system, or a large- There is a problem of increasing the memory usage of each participant, and the node search time is long, so that the reliability of the system is significantly reduced.

한국공개특허 제 10-2012-0048742 호 (2012. 05. 16)Korean Patent Laid-Open No. 10-2012-0048742 (2012.05.16)

본 발명은 상기 종래 기술의 문제점을 해결하기 위하여 제안된 것으로서, 본 발명의 목적은 테이블의 크기가 동적으로 변경되는 동적 블룸 필터(Dynamic Bloom Filter; DBF)를 이용하여 엔드포인트의 존재 정보를 관리하고 그 동적 블룸 필터를 기반으로 노드를 탐색함으로써, 노드 탐색이 신속하게 이루어질 뿐만 아니라 노드 탐색의 정확도가 더욱 향상되는, DDS에서 DBF를 이용한 노드 탐색 시스템 및 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems of the prior art, and an object of the present invention is to provide a method and apparatus for managing existence information of an endpoint using a dynamic bloom filter (DBF) And to provide a node search system and method using DBF in DDS in which the node search is performed quickly and the accuracy of node search is further improved by searching the node based on the dynamic bloom filter.

본 발명의 다른 목적은 테이블의 크기가 동적으로 변경되는 동적 블룸 필터에 엔드포인트의 토픽을 이용하여 엔드포인트의 존재 정보를 저장하고 노드의 존재를 알리는 참가자 정보 및 동적 블룸 필터의 정보를 노드가 네트워크에 브로드캐스팅하며 엔드포인트의 토픽이 매칭되는 노드들만이 해당 엔드포인트의 정보를 송수신함으로써 노드 탐색시 송수신되는 메시지의 개수를 감소시켜서 네트워크 트래픽의 복잡도를 감소시키는, DDS에서 DBF를 이용한 노드 탐색 시스템 및 방법을 제공하는 것이다.It is another object of the present invention to provide a dynamic bloom filter in which the size of a table is dynamically changed by storing the existence information of the end point using the topic of the end point and information of the participant information and the dynamic bloom filter, The node searching system using the DBF in the DDS, which reduces the complexity of the network traffic by reducing the number of messages transmitted and received in the node search by transmitting and receiving the information of the corresponding endpoint only by the nodes matching the topics of the endpoints Method.

본 발명의 다른 목적은 각 노드에서 엔드포인트 업데이트시 동적 블룸 필터의 용량 임계치가 초과된 상태이면 필터의 개수를 증가시켜서 동적 블룸 필터의 길이를 증가시키고 비어있는 필터가 발생하면 삭제하여 동적 블룸 필터의 길이를 축소시킴으로써, 많은 개수의 노드를 포함하며 노드 및 엔드포인트의 추가 및 삭제가 빈번한 전투관리시스템과 같은 대규모의 네트워크 시스템에서 노드 및 엔드포인트의 정보를 정확하게 관리할 수 있고 노드 탐색의 정확도를 더욱 향상시키는, DDS에서 DBF를 이용한 노드 탐색 시스템 및 방법을 제공하는 것이다.
Another object of the present invention is to increase the number of filters to increase the length of the dynamic bloom filter when the capacity threshold of the dynamic bloom filter is exceeded at the endpoint update at each node, By reducing the length, it is possible to accurately manage the information of nodes and end points in a large-scale network system such as a combat management system including a large number of nodes and frequently adding and deleting nodes and end points, And to provide a node search system and method using DBF in DDS.

상기의 목적을 달성하기 위하여 본 발명의 일 실시예에 의한 DDS에서 DBF를 이용한 노드 탐색 방법은, 노드가 동적블룸필터를 생성하고 노드 자신의 엔드포인트의 개수에 따라 동적블룸필터의 테이블의 길이를 가변하여 엔드포인트 존재 정보를 동적블룸필터에 저장하는 동적블룸필터 형성 단계와, 상기 동적블룸필터에 저장된 엔드포인트 이름 및 토픽 이름을 포함하는 동적블룸필터 정보와 참가자 정보를 네트워크에 브로드캐스팅하는 브로드캐스팅 단계와, 원격 노드로부터 브로드캐스팅된 원격 참가자 정보 및 원격 노드의 동적블룸필터 정보를 수신하면, 매칭되는 토픽을 검색하는 토픽 검색 단계, 및 매칭되는 토픽의 엔드포인트 정보를 요청하는 가입 요청 메시지를 상기 원격 노드에 송신하는 가입 요청 단계를 포함하여 이루어진다.According to another aspect of the present invention, there is provided a method of searching a node using a DBF in a DDS according to an embodiment of the present invention includes: generating a dynamic bloom filter by a node and calculating a length of a table of a dynamic bloom filter according to the number of end points of the node itself A dynamic bloom filter forming step of storing the endpoint existence information in the dynamic bloom filter by changing the dynamic bloom filter information and the dynamic bloom filter information including the end point name and the topic name stored in the dynamic bloom filter, Receiving a remote participant information broadcast from a remote node and dynamic bloom filter information of a remote node, the method comprising: a topic search step of searching for a matched topic; and a subscription request message requesting endpoint information of the matched topic To the remote node.

상기의 목적을 달성하기 위하여 본 발명의 다른 실시예에 의한 DDS에서 DBF를 이용한 노드 탐색 시스템은, 제 1 노드가 신규로 참여하거나 엔드포인트의 갱신이 있을 경우, 갱신된 엔드포인트의 정보를 반영하여 제 1 동적블룸필터를 길이 가변하여 갱신하고 갱신된 제 1 동적블룸필터 정보 및 참가자 정보를 브로드캐스팅하는 제 1 노드, 및 상기 제 1 노드의 참가자 정보 및 제 1 동적블룸필터 정보를 수신하면, 제 1 동적블룸필터 정보에 포함된 토픽 이름을 이용하여 매칭되는 토픽이 있는지를 검색하고, 매칭되는 토픽의 엔드포인트 정보를 요청하는 제 2 노드를 포함하여 이루어진다.
According to another aspect of the present invention, there is provided a node search system using a DBF in a DDS according to another embodiment of the present invention, when a first node joins a new node or updates an endpoint, A first node for updating the first dynamic bloom filter by varying the length and broadcasting the updated first dynamic bloom filter information and the participant information, and upon receiving the participant information and the first dynamic bloom filter information of the first node, And a second node for searching for a matching topic using a topic name included in one dynamic bloom filter information, and for requesting end point information of the matched topic.

본 발명은 각 노드에서 엔드포인트 업데이트시 동적 블룸 필터의 용량 임계치가 초과된 상태이면 필터의 개수를 증가시켜서 동적 블룸 필터의 길이를 증가시키고 비어있는 필터가 발생하면 삭제하여 동적 블룸 필터의 길이를 축소시키며, 동적 블룸 필터에 엔드포인트의 정보를 저장하거나 삭제할 때 카운터값을 이용함으로써, 노드 및 엔드포인트의 업데이트 상태를 실시간으로 반영하여 정확히 관리할 수 있고 블룸 필터의 오탐지(false positive) 확률을 개선하여, 많은 개수의 노드를 포함하며 노드 및 엔드포인트의 추가 및 삭제가 빈번한 전투관리시스템과 같은 대규모의 네트워크 시스템에서 노드 탐색의 정확도를 더욱 향상시키며, 이에 시스템 안정성 및 신뢰도가 더욱 향상되는 효과가 있다.The present invention increases the length of the dynamic bloom filter by increasing the number of filters when the capacity threshold of the dynamic bloom filter is exceeded at the time of updating the end point at each node, By using the counter value when storing or deleting the endpoint information in the dynamic Bloom filter, it is possible to accurately manage the update status of nodes and endpoints in real time and to improve the probability of false positives of Bloom filter Thus, the accuracy of the node search is further improved in a large scale network system such as a combat management system including a large number of nodes and frequent addition and deletion of nodes and end points, thereby improving system stability and reliability. .

본 발명은 테이블의 크기가 동적으로 변경되는 동적 블룸 필터를 이용하여 엔드포인트의 존재 정보를 관리하고 그 동적 블룸 필터를 기반으로 노드 및 엔드포인트를 탐색함으로써, 엔드포인트의 토픽 매칭 여부를 신속 정확하게 확인할 수 있고, 이에 전투관리시스템과 같이 엔드포인트 대 참가자 비율이 큰 네트워크의 경우에 상당한 계산 시간을 절약할 수 있고, 네트워크 지연시간을 감소시킬 수 있는 효과가 있으며, 모든 노드들이 아닌 엔드포인트의 토픽이 매칭되는 노드들만이 해당 엔드포인트들의 정보를 송수신하여 네트워크 상의 전송 정보량이 감소하여 네트워크 트래픽이 감소하는 효과가 있다.
The present invention manages the existence information of an end point by using a dynamic bloom filter in which the size of a table is dynamically changed and searches nodes and end points based on the dynamic bloom filter to quickly and accurately check whether topic matching is performed on the end point In the case of a network with a large endpoint-to-participant ratio, such as a combat management system, it is possible to save considerable computation time, reduce network latency, Only the matched nodes transmit and receive the information of the corresponding endpoints, thereby reducing the amount of information to be transmitted on the network, thereby reducing network traffic.

도 1은 일반적인 DDS에서의 데이터 통신 흐름을 보여주는 블럭도
도 2는 본 발명이 적용되는 전투관리시스템의 함정에 구현되는 노드의 블록 구성도
도 3은 본 발명에 의한 동적 블룸 필터(DBF)의 자료 구조를 나타내는 도면
도 4는 본 발명의 일 실시예에 의한 특정 노드 측면에서의 DBF를 이용한 DDS 노드 탐색 방법을 나타내는 흐름도
도 5는 도 4의 DBF 형성 단계(S10)의 상세한 방법을 나타내는 흐름도
도 6은 본 발명의 다른 실시예에 의한 DDS에서 DBF를 이용한 노드 탐색 시스템의 노드 탐색 방법을 나타내는 흐름도
도 7은 도 4의 노드 탐색 방법을 구현한 알고리즘을 나타내는 도면
도 8은 도 5의 DBF를 이용한 엔드포인트 존재 정보 관리 방법 중 엔드포인트의 삭제의 경우 노드의 동작 방법을 구현한 알고리즘을 나타내는 도면
1 is a block diagram showing the flow of data communication in a general DDS
2 is a block diagram of a node implemented in a trap of a combat management system to which the present invention is applied
3 is a diagram showing a data structure of a dynamic bloom filter (DBF) according to the present invention;
4 is a flowchart illustrating a method of searching a DDS node using DBFs on a specific node side according to an embodiment of the present invention.
5 is a flowchart showing a detailed method of the DBF forming step S10 of FIG. 4
6 is a flowchart illustrating a node search method of a node search system using a DBF in a DDS according to another embodiment of the present invention.
FIG. 7 is a diagram showing an algorithm implementing the node search method of FIG. 4; FIG.
FIG. 8 is a diagram showing an algorithm implementing a node operation method in the case of deletion of an end point among endpoint existence information management methods using the DBF of FIG. 5; FIG.

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

도 2는 본 발명이 적용되는 전투관리시스템의 함정에 구현되는 노드의 블록 구성도이다. 전투관리시스템에서 모든 정보는 CSDB(Combat System DataBus; 전투관리시스템 데이터버스)를 통하여 전송되고, 시스템의 서버 기능을 수행하는 IPN(Intelligence Processing Network; 지능형 처리 네트워크)(210)은 시스템을 전체적으로 제어하는 기능을 수행한다. ICU(Interface Control Units; 인터페이스 제어 유닛)(220)는 센서 및 무기를 제어한다. MFC(Multi-Function display Control; 다중 기능 디스플레이 제어부)(230)는 모니터링 기능을 수행한다.FIG. 2 is a block diagram of a node implemented in a trap of a combat management system to which the present invention is applied. In the battle management system, all information is transmitted through a Combat System DataBus (CSDB), and an Intelligent Processing Network (IPN) 210, which performs server functions of the system, Function. The ICU (Interface Control Units) 220 controls the sensors and the weapons. A multi-function display control (MFC) controller 230 performs a monitoring function.

전투관리시스템은, IPN(210)과 같은 지휘노드가 센서로부터 적의 정보를 수신하여 처리한 후 ICU(220)를 통하여 무기로 전투 명령을 전달하여 지휘 및 통제를 수행하게 된다.The battle management system is responsible for commanding and controlling by a command node, such as IPN 210, receiving and processing the enemy information from the sensor and then delivering the battle command via the ICU 220 to the weapon.

본 발명은 블룸필터의 개수를 조절하여 테이블의 크기를 동적으로 변경하는 동적 블룸 필터(Dynamic Bloom Filter; DBF)를 이용하여 노드 및 엔드포인트의 존재 정보를 관리하고 그 동적 블룸 필터를 기반으로 노드를 탐색하는 것이다.The present invention manages existence information of a node and an end point using a dynamic bloom filter (DBF) that dynamically changes the size of a table by adjusting the number of bloom filters, and based on the dynamic bloom filter, Search.

도 3은 본 발명에 의한 동적 블룸 필터(Dynamic Bloom Filter; DBF)의 자료 구조를 나타내는 도면이다.3 is a diagram showing a data structure of a dynamic bloom filter (DBF) according to the present invention.

블룸필터는 일반적으로 원소가 집합에 속하는지 여부를 검사하는 데 사용되는 확률적 자료 구조이다. 도 3의 (a)에서 보여지는 바와 같이, 일반적인 블룸필터는 m비트 크기의 비트 배열 구조를 가진다. 블룸 필터에서는 k개의 서로 다른 해시 함수를 사용하여 해쉬 결과값으로써 입력 원소가 존재하는지를 나타낸다. 테이블의 크기가 고정되어 있으므로, 필터가 수용할 수 있는 최대 키 개수가 미리 알려져 있어야 한다. 테이블이 수용할 수 있는 범위를 넘어 키가 추가되기 시작하면, 실제로는 존재하지 않는데 존재한다고 판단하는 긍정 오류 발생(false positive) 확률이 빠르게 증가하게 된다.A Bloom filter is a probabilistic data structure that is typically used to check whether an element belongs to a set. As shown in FIG. 3 (a), a typical Bloom filter has a bit array structure of m bits in size. The Bloom filter uses k different hash functions to indicate whether there is an input element as a hash result value. Since the size of the table is fixed, the maximum number of keys that the filter can accept must be known in advance. When a key begins to be added beyond the acceptable range of the table, the probability of a false positive, which is determined to be nonexistent, increases rapidly.

도 3의 (b)에서 보여지는 바와 같이, 본 발명에 의한 동적 블룸 필터는, 수용할 수 있는 용량임계치가 초과하면 블룸필터를 생성하여 추가함으로써 테이블의 크기를 증가시켜서 긍정 오류의 발생을 방지하는 것이다.
As shown in FIG. 3 (b), the dynamic bloom filter according to the present invention increases the size of the table by generating and adding a bloom filter when the acceptable capacity threshold is exceeded, thereby preventing the generation of a positive error will be.

도 4는 본 발명의 일 실시예에 의한 특정 노드 측면에서의 DBF를 이용한 DDS 노드 탐색 방법을 나타내는 흐름도이다. 본 발명의 일 실시예에 의한 특정 노드 측면에서의 DDS 노드 탐색 방법은, 동적 블룸 필터(DBF)를 생성하고 노드 자신의 엔드포인트 정보를 DBF에 저장하는 DBF 형성 단계(S10)와, 참가자 정보와 함께 DBF 정보를 네트워크에 브로드캐스팅하는 브로드캐스팅 단계(S12)와, 원격 노드로부터 원격 참가자 정보 및 원격 노드의 DBF 정보를 수신하면, 매칭되는 토픽을 검색하는 토픽 검색 단계(S14,S16)와, 매칭되는 토픽의 엔드포인트 정보를 요청하는 가입 요청 메시지를 상기 원격 노드에 송신하는 가입 요청 단계(S18,S20)를 포함하여 이루어진다.4 is a flowchart illustrating a method of searching a DDS node using a DBF on a particular node side according to an embodiment of the present invention. A method for searching a DDS node on a specific node side according to an embodiment of the present invention includes a DBF forming step (S10) of generating a dynamic bloom filter (DBF) and storing end point information of the node itself in a DBF, A topic search step (S14, S16) of searching for a matching topic when receiving the DBF information of the remote node and the remote participant information from the remote node, a broadcasting step (S12) of broadcasting the DBF information together to the network, (S18, S20) for transmitting to the remote node a join request message for requesting end point information of a topic to be transmitted to the remote node.

상기 DBF 정보는 DBF에 저장되어 있는 엔드포인트 이름과 그 엔드포인트의 토픽이름을 포함한다.The DBF information includes an endpoint name stored in the DBF and a topic name of the endpoint.

도 5는 도 4의 DBF 형성 단계(S10)의 상세한 방법을 나타내는 흐름도이다.5 is a flowchart showing a detailed method of the DBF forming step S10 of FIG.

DBF를 생성하여 액티브 블룸 필터로 설정하고, 엔드포인트 존재 정보를 액티브 블룸 필터에 저장 및 해당 카운터값을 증가시키는 단계(S31)와, 엔드포인트 추가의 경우, 액티브 블룸 필터의 용량 임계치가 초과되었으면 DBF의 테이블의 길이를 증가시켜서 엔드포인트 존재 정보를 저장하고 해당 카운터값을 증가시키고, 초과되지 않았으면 액티브 블룸 필터에 엔드포인트 존재 정보를 저장하고 해당 카운터값을 증가시키는 단계(S32)와, 엔드포인트 삭제의 경우, 액티브 블룸 필터로부터 엔드포인트 존재 정보 삭제 및 해당 카운터값을 감소시키는 단계(S34), 및 액티브 블룸 필터가 비어있는 상태이면 비어있는 블룸 필터를 삭제하여 동적 블룸 필터의 테이블 길이를 축소시키는 단계(S35)를 포함하여 이루어진다.(Step S31) of storing the endpoint existence information in the active bloom filter and increasing the corresponding counter value, and in the case of adding the end point, if the capacity threshold of the active bloom filter is exceeded, the DBF Storing the endpoint presence information and increasing the corresponding counter value, and if not, storing the endpoint presence information in the active bloom filter and increasing the corresponding counter value (S32) In the case of deletion, endpoint existence information is deleted from the active bloom filter and the counter value is decreased (S34). If the active bloom filter is empty, the empty bloom filter is deleted to reduce the table length of the dynamic bloom filter Step S35.

도 4 및 도 5에 도시된 본 발명의 일 실시예에 의한 특정 노드 측면에서의 DBF를 이용한 DDS 노드 탐색 방법은 도 2의 전투관리시스템의 노드 탐색에 적용 가능하다.The DDS node search method using the DBF on the specific node side according to the embodiment of the present invention shown in FIGS. 4 and 5 is applicable to the node search of the combat management system of FIG.

도 7은 도 4의 노드 탐색 방법을 구현한 알고리즘을 나타내는 도면이고, 도 8은 도 5의 DBF를 이용한 엔드포인트 존재 정보 관리 방법 중 엔드포인트의 삭제의 경우 노드의 동작 방법을 구현한 알고리즘을 나타내는 도면이다.FIG. 7 is a diagram illustrating an algorithm implementing the node search method of FIG. 4, and FIG. 8 is a diagram illustrating an algorithm implementing a node operation method in the case of end point deletion among the end point existence information management method using the DBF of FIG. FIG.

본 발명의 일 실시예에 의한 특정 노드 측면에서의 DBF를 이용한 DDS 노드 탐색 방법의 동작 흐름은 후술하기로 하고, 먼저, 도 5를 참조하여 특정 노드에서 엔드포인트의 추가나 삭제 등의 갱신이 있을 경우 동적 블룸 필터(DBF)를 이용하여 엔드포인트의 존재 정보를 관리하는 방법에 대하여 상세히 설명하기로 한다.The operation flow of the DDS node search method using a DBF on a particular node side according to an embodiment of the present invention will be described later. First, referring to FIG. 5, when there is an update such as addition or deletion of an end point in a specific node A method of managing presence information of an endpoint using a dynamic bloom filter (DBF) will be described in detail.

DDS가 적용된 시스템, 일례로, 전투관리시스템의 네트워크에 신규 노드가 참여될 경우에, 노드는 DBF를 생성하여 초기화한다. 노드는 도 3의 (b)에 도시된 바와 같이 용량 임계치 c를 갖는 블룸필터(BF)를 생성하여 액티브 블룸필터(S1)로 설정한다(S30).In a system to which DDS is applied, for example, when a new node participates in the battle management system's network, the node generates and initializes the DBF. The node generates a bloom filter BF having a capacitance threshold c as shown in FIG. 3 (b) and sets it as an active bloom filter S 1 (S30).

본 발명에서 노드는 자신의 엔드포인트 정보를 데이터베이스에 저장하고 엔드포인트 존재 정보를 DBF를 이용하여 관리하며, DBF를 이용하여 특정 엔드포인트가 존재하는지를 신속하고 정확하게 확인할 수 있는 것이다.In the present invention, a node stores its own endpoint information in a database, manages endpoint existence information using a DBF, and can quickly and accurately check whether a specific endpoint exists using the DBF.

노드는 엔드포인트의 토픽 이름을 키로 하는 해쉬함수 결과값을 기반으로 엔드포인트 존재 정보를 액티브 BF의 비트배열에 저장하며, 저장된 비트에 해당되는 카운터값을 1씩 증가시킨다(S31). 토픽 이름은, 네트워크 상에서 유일(unique)하도록 결정된 것이다. 엔드포인트 이름은 토픽 이름을 포함하도록 구성된다.The node stores the endpoint existence information in the bit array of the active BF based on the hash function result value using the topic name of the endpoint as a key, and increments the counter value corresponding to the stored bit by one (S31). The topic name is determined to be unique on the network. The endpoint name is configured to include the topic name.

이후, 엔드포인트의 추가가 있을 경우, 노드는 액티브 BF의 용량 임계치가 초과되었는지를 확인하고 초과되었으면, 블룸필터(BF)를 생성한다. 노드는 생성된 BF를 신규 액티브 BF(S2)로 설정하고 이전 액티브 BF(S1)에 연결함으로써 DBF의 테이블의 길이를 증가시키게 된다(S32). 노드는 추가된 엔드포인트에 대한 존재 정보를 신규 액티브 BF(S2)에 저장하고 해당 비트의 카운터값을 1씩 증가한다(S33).Thereafter, if there is an endpoint addition, the node checks if the capacity threshold of the active BF has been exceeded and, if exceeded, generates a Bloom filter (BF). The node sets the generated BF to the new active BF (S 2 ) and connects it to the previous active BF (S 1 ) to increase the length of the table of the DBF (S 32 ). The node stores the presence information for the added end point in the new active BF (S 2 ) and increments the counter value of the corresponding bit by 1 (S33).

DBF의 테이블이 수용할 수 있는 용량 임계치를 초과하여 키(key)가 추가되기 시작하면, 실제로는 존재하지 않는데 존재한다고 판단할 긍정오류(false positive) 탐지 확률이 상당히 증가하게 되어 신뢰도가 저하된다. 그러나, 본 발명은 DBF의 테이블이 수용할 수 있는 범위의 초과 여부를 확인하여 DBF의 테이블의 길이를 증가시킨 후 엔드포인트의 존재 정보를 추가함으로써 매우 많은 개수의 노드를 포함하는 대규모 네트워크에서 노드 관리 및 노드 탐색이 매우 정확하게 이루어지는 효과가 있다.If the key exceeds the acceptable capacity threshold of the DBF table and the key starts to be added, the false positive detection probability to be determined to exist does not substantially exist, which significantly increases the reliability. However, the present invention increases the length of the DBF table by confirming whether the range of the DBF table can be accommodated or not, and then adds the existence information of the endpoint so that node management is performed in a large- And node search can be performed very accurately.

한편, 엔드포인트의 삭제가 있을 경우, 노드는 삭제된 엔드포인트에 대한 해쉬 결과값을 이용하여 엔드포인트 존재 정보를 DBF로부터 삭제하며 삭제되는 해당 비트의 카운터값을 1씩 감소한다(S34).If the endpoint is deleted, the node deletes the endpoint existence information from the DBF using the hash result value of the deleted endpoint, and decrements the counter value of the corresponding bit to be deleted by 1 (S34).

노드는 엔드포인트의 존재 정보를 삭제한 후 DBF의 테이블을 구성하는 블룸필터들 중 비어있는 블룸필터가 존재하는지를 확인하고 비어 있는 블룸필터가 있으면 그 블룸필터를 삭제하여 DBF의 테이블의 길이를 축소하는 것이다(S35).The node deletes the existence information of the end point, checks whether there is an empty bloom filter among the bloom filters constituting the table of the DBF, and if there is an empty bloom filter, deletes the bloom filter to reduce the length of the table of the DBF (S35).

이와 같이 본 발명은 저장해야 할 엔드포인트의 개수 및 해쉬함수의 개수에 따라 DBF의 테이블의 길이를 가변하여 관리하므로, 많은 개수의 노드 및 엔드포인트를 포함하고 노드 및 엔드포인트의 갱신이 빈번한 시스템에서도 노드 및 엔드포인트의 정보를 정확하게 관리할 수 있는 효과가 있다.As described above, according to the present invention, since the DBF table length is managed by varying the length of the DBF table according to the number of endpoints to be stored and the number of hash functions, even in a system including a large number of nodes and endpoints, It is possible to accurately manage the information of the node and the end point.

이제, 본 발명의 일실시예에 의한 특정 노드 측면에서의 DDS 노드 탐색 방법의 동작 흐름을 도 4를 참조하여 설명하기로 한다.Now, the operation flow of the DDS node search method on the specific node side according to an embodiment of the present invention will be described with reference to FIG.

노드가 DDS를 이용하는 전투관리시스템의 네트워크에 참여하게 되면, 노드는 동적 블룸 필터(DBF)를 생성하고 노드 자신의 엔드포인트 존재 정보를 DBF에 저장한다(S10). 엔드포인트의 개수가 많아서 DBF의 현재 용량 임계치가 초과되면 DBF의 테이블의 길이를 증가시킨 후 엔드포인트 존재 정보를 저장하고 해당 비트의 카운터값을 증가시키는 것이다.When the node participates in the network of the battle management system using the DDS, the node generates a dynamic bloom filter (DBF) and stores the endpoint existence information of the node itself in the DBF (S10). If the number of endpoints is large and the current capacity threshold of the DBF is exceeded, the length of the DBF table is increased and the endpoint existence information is stored and the counter value of the corresponding bit is increased.

이와 같이 DBF가 형성되면 노드는 참가자 정보와 함께 DBF 정보를 네트워크에 브로드캐스팅하여 자신의 존재를 알린다(S12). 상기 DBF 정보는 DBF에 저장되어 있는 엔드포인트 이름과 그 엔드포인트의 토픽이름을 포함한다.When the DBF is formed, the node broadcasts the DBF information together with the participant information to the network, and notifies the presence of the DBF to the network (S12). The DBF information includes an endpoint name stored in the DBF and a topic name of the endpoint.

이후, 원격 노드로부터 원격 참가자 정보 및 원격 노드의 DBF 정보를 수신하면, 노드는 매칭되는 토픽이 있는지를 검색한다(S14,S16).Thereafter, upon receiving remote participant information and DBF information of the remote node from the remote node, the node searches for a matching topic (S14, S16).

매칭되는 토픽이 존재하면, 노드는 매칭되는 토픽의 엔드포인트 정보를 요청하는 가입 요청 메시지를 상기 원격 노드에 전송한다(S18,S20). 매칭되는 토픽이 존재하지 않으면, 노드는 원격 노드로부터 전송되는 메시지를 수신하지 않는다.If there is a matching topic, the node sends a join request message to the remote node requesting endpoint information of the matching topic (S18, S20). If there is no matching topic, the node does not receive the message sent from the remote node.

이와 같이, 본 발명은 노드가 엔드포인트의 전체 정보가 아닌, 엔드포인트 이름 및 토픽 이름을 포함하는 DBF 정보를 참가자 정보와 함께 전송함으로써, 네트워크 상에서 브로드캐스팅되는 메시지의 크기를 감소시킬 수 있다.As such, the present invention can reduce the size of a message broadcast on a network by transmitting DBF information including an endpoint name and a topic name along with participant information, rather than the entire information of the endpoint.

또한 본 발명은 노드가 참가자 정보와 함께 DBF 정보를 수신하여 서로 매칭되는 토픽을 용이하게 검색할 수 있고, 매칭되는 토픽이 존재하는 경우에만 매칭되는 토픽을 사용하는 엔드포인트의 정보를 요청하는 메시지를 원격 노드로 전송함으로써, 엔드포인트의 토픽이 매칭되는 노드들만이 해당 엔드포인트의 정보를 송수신하여 노드 탐색시 송수신되는 메시지의 개수를 감소시켜서 네트워크 트래픽의 복잡도가 감소하게 되는 것이다.
The present invention also provides a method and apparatus for receiving a message requesting information of an endpoint using a matching topic only when a node receives DBF information together with participant information to easily search for a matching topic, By transmitting to the remote node, only the nodes that match the topic of the endpoint transmit and receive the information of the corresponding endpoint, thereby reducing the number of messages transmitted and received during the node search, thereby reducing the complexity of the network traffic.

도 6은 본 발명의 다른 실시예에 의한 DDS에서 DBF를 이용한 노드 탐색 시스템의 노드 탐색 방법을 나타내는 흐름도이다. 도 6에 도시된 본 발명의 다른 실시예에 의한 DBF를 이용한 DDS 노드 탐색 시스템의 노드 탐색 방법 역시 전투관리시스템에 적용 가능하다.6 is a flowchart illustrating a node search method of a node search system using a DBF in a DDS according to another embodiment of the present invention. The node search method of the DDS node search system using the DBF according to another embodiment of the present invention shown in FIG. 6 is also applicable to the battle management system.

도 6에 도시된 바와 같이, 본 발명의 다른 실시예에 의한 DBF를 이용한 DDS 노드 탐색 시스템의 노드 탐색 방법은, 제 1 노드에 엔드포인트의 갱신이 있을 경우 갱신된 엔드포인트의 정보를 반영하여 제 1 동적 블룸 필터(DBF)를 길이 가변하여 갱신하고 갱신된 제 1 DBF 정보 및 참가자 정보를 브로드캐스팅하는 제 1 단계(S50,S52)와, 제 1 노드의 참가자 정보 및 제 1 DBF 정보를 수신한 제 2 노드가 매칭되는 토픽이 있는지를 검색하고 매칭되는 토픽의 엔드포인트 정보를 요청하는 가입 요청 메시지를 전송하는 제 2 단계(S54-S62), 및 상기 가입 요청 메시지를 수신한 제 1 노드가 제 2 노드와 연결을 설정하여 매칭되는 토픽의 엔드포인트 정보를 송수신하는 제 3 단계(S64,S66)를 포함하여 이루어진다.As shown in FIG. 6, the node search method of the DDS node search system using the DBF according to another embodiment of the present invention reflects the information of the updated end point when the end point is updated in the first node, The method includes a first step (S50, S52) of updating 1 dynamic bloom filter (DBF) by updating the first DBF information and participant information, updating the first DBF information and the participant information, receiving the participant information of the first node and the first DBF information A second step (S54-S62) of searching for a topic to which the second node matches, and transmitting a join request message requesting endpoint information of the matched topic, and a second step And a third step (S64, S66) of establishing a connection with two nodes and transmitting / receiving endpoint information of a matched topic.

상기 제 1 단계(S50,S52)는, 엔드포인트 추가의 경우, 액티브 블룸 필터의 용량 임계치가 초과되었으면 DBF의 테이블의 길이를 증가시켜서, 추가된 엔드포인트의 토픽을 이용하여 엔드포인트의 존재 정보를 저장하고 해당 카운터값을 증가시키고, 초과되지 않았으면 액티브 블룸 필터에 추가 엔드포인트의 존재 정보를 저장하고 해당 카운터값을 증가시키는 단계(S32)와, 엔드포인트 삭제의 경우, 액티브 블룸 필터로부터 삭제될 엔드포인트의 존재 정보를 삭제하고 해당 카운터값을 감소시키는 단계(S34)와, 엔드포인트의 존재 정보 삭제 후 액티브 블룸 필터가 비어있는 상태가 되면 비어있는 블룸 필터를 삭제하여 동적 블룸 필터의 테이블 길이를 축소시키는 단계(S35)를 포함하여 이루어진다.If the capacity threshold of the active bloom filter is exceeded in the case of adding an end point, the first step (S50, S52) increases the length of the table of the DBF, and the existence information of the end point Storing the existence information of the additional end point in the active bloom filter and increasing the counter value (S32) if the end point is not exceeded, and deleting the end point from the active bloom filter (S34) of deleting existence information of the endpoint and decrementing the corresponding counter value; and when the active bloom filter is empty after the existence information of the end point is deleted, the empty bloom filter is deleted to obtain the table length of the dynamic bloom filter (S35).

상기 제 1 단계(S50,S52)는, DBF를 생성하여 액티브 블룸 필터로 설정하고, 엔드포인트 존재 정보를 액티브 블룸 필터에 저장 및 해당 카운터값을 증가시키는 단계(S31)를 더 포함하여 이루어진다.The first step (S50, S52) further comprises a step of generating a DBF and setting it as an active bloom filter, storing endpoint existence information in an active bloom filter and increasing a corresponding counter value (S31).

또한, 본 발명의 다른 실시예에 의한 DDS에서 DBF를 이용한 노드 탐색 시스템의 노드 탐색 방법은, 제 1 노드가 제 1 동적 블룸 필터(DBF)에 저장되어 있는 엔드포인트의 이름 및 토픽 이름을 포함하는 제 1 DBF 정보와 함께 참가자 정보를 네트워크에 브로드캐스팅하는 제 4 단계(S40,S42), 및 제 2 노드가 제 2 동적 블룸 필터(DBF)에 저장되어 있는 엔드포인트의 이름 및 토픽 이름을 포함하는 제 2 DBF 정보와 함께 참가자 정보를 네트워크에 브로드캐스팅하는 제 5 단계(S44-S48)를 더 포함하여 이루어진다.According to another aspect of the present invention, there is provided a method of searching a node in a node search system using a DBF in a DDS, the method comprising: a first node storing a name and a topic name of an endpoint stored in a first dynamic bloom filter (DBF) A fourth step (S40, S42) of broadcasting the participant information together with the first DBF information to the network, and a fourth step (S40, S42) of storing the name and the topic name of the end point stored in the second dynamic bloom filter And a fifth step (S44-S48) of broadcasting the participant information to the network together with the second DBF information.

도 6에 도시된 본 발명의 다른 실시예에 의한 DDS에서의 노드 탐색 시스템의 DBF를 이용한 노드 탐색 방법은 DDS를 이용하는 전투관리시스템의 노드 탐색에 적용 가능하다.The node search method using the DBF of the node search system in the DDS according to another embodiment of the present invention shown in FIG. 6 is applicable to the node search of the battle management system using the DDS.

이제, 본 발명의 다른 실시예에 의한 DDS 노드 탐색 시스템의 노드 탐색 방법에 대하여 도 5 및 도 6을 참조하여 상세히 설명하기로 한다.Now, a node search method of a DDS node search system according to another embodiment of the present invention will be described in detail with reference to FIG. 5 and FIG.

DDS를 이용하는 전투관리시스템은 다수의 노드를 포함하여 구성되어 참가자 및 그의 엔드포인트를 탐색함으로써 노드 탐색을 수행한다. 다수의 노드 각각은 일정 주기로 자신의 참가자 정보 및 DBF 정보를 브로드캐스팅하여 자신의 존재를 알리게 된다. 또한, 신규로 참여하는 노드 역시 자신의 참가자 정보 및 DBF 정보를 브로드캐스팅하여 자신의 존재를 알리게 된다.A combat management system using DDS is configured to include a plurality of nodes to perform a node search by searching for a participant and its end point. Each of the plurality of nodes broadcasts its participant information and DBF information at a predetermined period to inform its existence. Also, a newly participating node broadcasts its participant information and DBF information to inform its existence.

일례로, 제 1 노드는 제 1 동적 블룸 필터(DBF)에 저장되어 있는 엔드포인트의 이름 및 토픽 이름을 포함하는 제 1 DBF 정보와 함께 참가자 정보를 네트워크에 브로드캐스팅한다(S40).For example, the first node broadcasts the participant information to the network together with the first DBF information including the name of the endpoint and the topic name stored in the first dynamic bloom filter (DBF) (S40).

제 1 노드의 참가자 정보 및 제 1 DBF 정보를 수신한 제 2 노드는 제 1 노드의 토픽과 매칭되는 토픽이 존재하는지를 검색한다. 매칭되는 토픽이 없으면 제 1 노드의 엔드포인트 탐색 절차를 수행하지 않는다(S42,S44).The second node receiving the participant information of the first node and the first DBF information retrieves whether there is a topic matching the topic of the first node. If there is no matching topic, the end node search procedure of the first node is not performed (S42, S44).

제 2 노드는 제 2 동적 블룸 필터(DBF)에 저장되어 있는 엔드포인트의 이름 및 토픽 이름을 포함하는 제 2 DBF 정보와 함께 참가자 정보를 네트워크에 브로드캐스팅한다(S46).The second node broadcasts the participant information to the network together with the second DBF information including the name of the endpoint and the topic name stored in the second dynamic bloom filter (DBF) (S46).

제 2 노드의 참가자 정보 및 제 2 DBF 정보를 수신한 제 1 노드 역시 매칭되는 토픽이 존재하는지를 검색한다(S48).The first node receiving the participant information of the second node and the second DBF information also searches for a matching topic (S48).

이후, 제 1 노드에 엔드포인트의 갱신이 있을 경우 갱신된 엔드포인트의 정보를 반영하여 제 1 동적 블룸 필터(DBF)를 길이 가변하여 갱신한다.Thereafter, when the endpoint is updated at the first node, the length of the first dynamic bloom filter DBF is updated by reflecting information of the updated endpoint.

예를 들어 설명하면, 제 1 노드에 엔드포인트 Q, R, S, T, U, V 및 W가 생성된 경우, 제 1 노드는 생성된 엔드포인트 Q, R, S, T, U, V 및 W의 존재 정보를 제 1 DBF에 저장한다(예컨대, 엔드포인트 Q의 토픽 Q를 키로 하는 해쉬 결과값인 엔드포인트 존재정보를 제 1 DBF에 저장한다). 제 1 DBF에 저장하기 전에, 제 1 DBF의 용량임계치가 초과되었는지를 확인한 후, 용량임계치가 초과되었으면 새로운 BF를 생성하여 제 1 DBF의 테이블 길이를 증가시킨 다음, 생성된 엔드포인트의 존재 정보를 저장하는 것이다. 이와 같이 생성된 모든 엔드포인트들의 존재 정보가 제 1 DBF에 저장되면, 제 1 노드는 갱신된 제 1 DBF 정보를 참가자 정보와 함께 네트워크에 브로드캐스팅한다. 제 1 DBF 정보는 제 1 DBF에 저장되어 있는 엔드포인트들의 이름 및 토픽이름들을 포함하고 있다(S52).For example, if endpoints Q, R, S, T, U, V, and W are generated at the first node, then the first node generates the endpoints Q, R, S, T, U, V, (For example, the endpoint existence information, which is a hash result value having the key Q of the end point Q as a key, is stored in the first DBF). If it is determined that the capacity threshold of the first DBF has been exceeded before storing in the first DBF, a new BF is generated to increase the table length of the first DBF. Then, . If existence information of all end points thus generated is stored in the first DBF, the first node broadcasts the updated first DBF information together with the participant information to the network. The first DBF information includes names and topic names of endpoints stored in the first DBF (S52).

제 1 노드의 참가자 정보 및 제 1 DBF 정보를 수신한 제 2 노드는, 제 1 노드의 토픽과 매칭되는 토픽이 있는지를 검색한다. 매칭되는 토픽 Q, R 및 S가 검색되면, 제 2 노드는 토픽 Q를 사용하는 엔드포인트 Q의 정보(예컨대, 엔드포인트 주소, 엔드포인트 포트 등)를 요청하는 가입 요청 메시지(Subscribe Q), 토픽 R을 사용하는 엔드포인트 R의 정보를 요청하는 가입 요청 메시지(Subscribe R), 및 토픽 S를 사용하는 엔드포인트 S의 정보를 요청하는 가입 요청 메시지(Subscribe S)를 제 1 노드로 전송한다(S54-S62).The second node receiving the participant information of the first node and the first DBF information retrieves whether there is a topic matching the topic of the first node. When the matched topics Q, R, and S are retrieved, the second node sends a subscription request message (Subscribe Q) requesting information (e.g., endpoint address, endpoint port, etc.) of the endpoint Q using the topic Q, (Subscribe R) for requesting information of the end point R using R and a subscription request message (Subscribe S) for requesting information of the end point S using the topic S to the first node (S54 -S62).

상기의 가입 요청 메시지들을 수신한 제 1 노드는 제 2 노드와 연결을 설정하여 매칭되는 토픽 Q, R 및 S의 엔드포인트 Q, R 및 S의 정보를 송신하는 것이다(S64,S66).
The first node receiving the join request messages establishes a connection with the second node and transmits information of the matching Q, R and S endpoints Q, R and S (S64, S66).

100: 데이터도메인 110: 발행자
120: 데이터송신기 130: 가입자
140: 데이터수신기 210: IPN
220: ICU 230: MFC
100: data domain 110: issuer
120: Data transmitter 130: Subscriber
140: Data receiver 210: IPN
220: ICU 230: MFC

Claims (8)

노드가 하나 이상의 블룸필터가 순차적으로 연결되어 형성되는 동적블룸필터를 생성하고 상기 노드 자신의 엔드포인트의 개수가 변경됨에 따라 블룸필터를 추가로 연결하거나 제거하여 동적블룸필터의 테이블의 길이를 가변하며, 상기 노드에 존재하는 엔드포인트들을 나타내는 엔드포인트 존재 정보를 상기 동적블룸필터에 저장하는 동적블룸필터 형성 단계와;
상기 노드가 참가자 정보, 및 엔드포인트들의 이름 및 토픽 이름을 포함하는 동적블룸필터 정보를 네트워크에 브로드캐스팅하여 노드 자신의 존재를 알리는 브로드캐스팅 단계와;
상기 노드가 원격 노드로부터 브로드캐스팅된 원격 참가자 정보 및 원격 노드의 동적블룸필터 정보를 수신하면, 상기 원격 노드의 동적블룸필터 정보에 포함된 토픽이름을 이용하여 매칭되는 토픽이 존재하는지를 검색하는 토픽 검색 단계; 및
상기 노드에 매칭되는 토픽이 존재하면, 상기 노드가 그 매칭되는 토픽에 관련된 상기 원격노드의 엔드포인트에 대한 정보를 요청하는 가입 요청 메시지를 상기 원격 노드에 송신하는 가입 요청 단계를 포함하며,
상기 블룸필터는 카운팅 블룸필터인 것을 특징으로 하는, 데이터분산서비스에서 동적블룸필터를 이용한 노드 탐색 방법.
A node generates a dynamic bloom filter in which one or more bloom filters are sequentially connected to one another, and the length of the table of the dynamic bloom filter is varied by additionally connecting or removing the bloom filter as the number of end points of the node is changed A dynamic bloom filter forming step of storing end point existence information indicating end points existing in the node in the dynamic bloom filter;
Broadcasting the dynamic bloom filter information including the participant information and the names of the end points and the topic name to the network to inform the existence of the node itself;
When the node receives the remote participant information broadcast from the remote node and the dynamic bloom filter information of the remote node, a topic search that searches for a matching topic using the topic name included in the dynamic bloom filter information of the remote node step; And
And if there is a topic matching the node, sending a join request message to the remote node, the node requesting information about the endpoint of the remote node related to the matching topic,
Wherein the Bloom filter is a counting bloom filter.
제 1 항에 있어서, 상기 동적블룸필터 형성 단계는,
블룸 필터를 생성하여 동적블룸필터의 액티브 블룸 필터로 설정하고, 상기 노드의 엔드포인트의 토픽을 키로 하는 해쉬 결과값을 기반으로 하는 엔드포인트 존재 정보를 액티브 블룸 필터에 저장 및 해당 카운터값을 증가시키는 단계; 및
엔드포인트 추가의 경우, 액티브 블룸 필터의 용량 임계치가 초과되었으면 블룸 필터를 생성 및 연결하여 동적블룸필터의 테이블의 길이를 증가시켜서, 추가된 엔드포인트의 존재 정보를 저장하고 해당 카운터값을 증가시키며, 용량 임계치가 초과되지 않았으면 액티브 블룸 필터에 엔드포인트의 존재 정보를 저장하고 해당 카운터값을 증가시키는 단계를 포함하여 이루어지는, 데이터분산서비스에서 동적블룸필터를 이용한 노드 탐색 방법.
2. The method of claim 1, wherein the dynamic bloom filter forming step comprises:
A bloom filter is set as an active bloom filter of the dynamic bloom filter, endpoint existence information based on the hash result value using the topic of the end point of the node as a key is stored in the active bloom filter, and the corresponding counter value is increased step; And
In the case of adding an end point, if the capacity threshold of the active bloom filter is exceeded, the length of the table of the dynamic bloom filter is increased by creating and connecting a bloom filter, storing the existence information of the added blob, increasing the corresponding counter value, Storing the presence information of the endpoint in the active bloom filter and increasing the corresponding counter value if the capacity threshold is not exceeded.
제 2 항에 있어서, 상기 동적블룸필터 형성 단계는,
엔드포인트 삭제의 경우, 삭제될 엔드포인트의 토픽 이름을 키로 하는 해쉬 결과값을 기반으로 한 엔드포인트 존재 정보를 액티브 블룸 필터로부터 삭제하고 삭제된 비트의 카운터값을 감소시키는 단계; 및
삭제 후 액티브 블룸 필터가 비어있는 상태가 되면 그 비어있는 블룸 필터를 삭제하여 동적 블룸 필터의 테이블 길이를 축소시키는 단계를 더 포함하여 이루어지는, 데이터분산서비스에서 동적블룸필터를 이용한 노드 탐색 방법.
3. The method of claim 2, wherein the dynamic bloom filter forming step comprises:
Removing endpoint presence information based on a hash result value using a topic name of an endpoint to be deleted as a key from the active bloom filter and decrementing a counter value of the deleted bit when the endpoint is deleted; And
And deleting the empty bloom filter to reduce the table length of the dynamic bloom filter when the active bloom filter becomes empty after the deletion, wherein the method further comprises the step of reducing the table length of the dynamic bloom filter.
제 1 노드가 신규로 참여하거나 엔드포인트의 갱신이 있을 경우, 하나 이상의 블룸 필터가 순차적으로 연결되어 형성되는 제 1 동적블룸필터를 생성하고 갱신된 엔드포인트의 정보를 반영하여 제 1 동적블룸필터를 길이 가변하여 갱신하며 엔드포인트 이름 및 토픽이름을 포함하는 제 1 동적블룸필터 정보 및 참가자 정보를 브로드캐스팅하여 노드 자신의 존재를 알리는 제 1 노드; 및
상기 제 1 노드의 참가자 정보 및 제 1 동적블룸필터 정보를 수신하면, 제 1 동적블룸필터 정보에 포함된 토픽 이름을 이용하여 매칭되는 토픽이 있는지를 검색하고, 매칭되는 토픽이 있으면 그 매칭되는 토픽에 관련된 상기 제1 노드의 엔드포인트 정보를 상기 제 1 노드에 요청하는 제 2 노드를 포함하며,
상기 블룸필터는 카운팅 블룸필터인 것을 특징으로 하는, 데이터분산서비스에서 동적블룸필터를 이용한 노드 탐색 시스템.
The first dynamic bloom filter is formed by sequentially connecting one or more bloom filters and the first dynamic bloom filter is reflected by reflecting the information of the updated end points, A first node that broadcasts first dynamic bloom filter information and participant information that is variable in length and updates and includes an endpoint name and a topic name to inform the existence of the node itself; And
Upon receipt of the participant information of the first node and the first dynamic bloom filter information, it is checked whether there is a matching topic using the topic name included in the first dynamic bloom filter information, and if there is a matched topic, And a second node requesting the first node for endpoint information of the first node related to the first node,
Wherein the Bloom filter is a counting bloom filter.
제 4 항에 있어서, 상기 제 1 노드는,
상기 엔드포인트 정보 요청을 수신하면, 상기 제 2 노드와 연결을 설정하여 매칭되는 토픽의 엔드포인트 정보를 송신하는, 데이터분산서비스에서 동적블룸필터를 이용한 노드 탐색 시스템.
5. The method of claim 4,
And upon receiving the endpoint information request, establishes a connection with the second node and transmits the endpoint information of the matched topic, in the data distribution service using the dynamic bloom filter.
제 4 항에 있어서, 상기 제 1 노드는,
엔드포인트 추가의 경우, 상기 동적블룸필터를 구성하는 액티브 블룸 필터의 용량 임계치가 초과되었는지를 확인하고,
용량 임계치가 초과되었으면 신규 생성된 블룸필터를 연결하여 상기 동적블룸필터의 테이블의 길이를 증가시켜서 추가된 엔드포인트의 존재 정보를 저장하고 해당 카운터값을 증가시키며,
용량 임계치가 초과되지 않았으면 액티브 블룸 필터에 추가된 엔드포인트의 존재 정보를 저장하고 해당 카운터값을 증가시키는, 데이터분산서비스에서 동적블룸필터를 이용한 노드 탐색 시스템.
5. The method of claim 4,
In the case of adding the end point, it is checked whether the capacity threshold value of the active bloom filter constituting the dynamic bloom filter is exceeded,
If the capacity threshold value is exceeded, the newly generated Bloom filter is connected to increase the length of the table of the dynamic Bloom filter to store the existence information of the added end point and increase the corresponding counter value,
A node search system using a dynamic Bloom filter in a data distribution service that stores presence information of an endpoint added to an active bloom filter and increases the counter value if the capacity threshold is not exceeded.
제 4 항에 있어서, 상기 제 1 노드는,
엔드포인트 삭제의 경우, 상기 동적블룸필터를 구성하는 액티브 블룸 필터로부터 해당 엔드포인트의 존재 정보를 삭제하고 삭제될 비트의 해당 카운터값을 감소시키며,
삭제 후 액티브 블룸 필터가 비어있는 상태가 되면 비어있는 블룸 필터를 삭제하여 동적 블룸 필터의 테이블 길이를 축소하는, 데이터분산서비스에서 동적블룸필터를 이용한 노드 탐색 시스템.
5. The method of claim 4,
In case of deletion of the end point, the existence information of the corresponding end point is deleted from the active bloom filter constituting the dynamic bloom filter, the corresponding counter value of the bit to be deleted is decreased,
A node search system using a dynamic Bloom filter in a data distribution service that removes an empty Bloom filter and reduces the table length of the Dynamic Bloom filter when the Active Bloom filter becomes empty after the deletion.
제 4 항에 있어서, 상기 제 2 노드는,
제 2 노드가 신규 참여하거나 엔드포인트의 갱신이 있을 경우, 갱신된 엔드포인트의 정보를 반영하여 제 2 동적블룸필터를 길이 가변하여 갱신하고,
갱신된 제 2 동적블룸필터에 저장되어 있는 엔드포인트의 이름 및 토픽 이름을 포함하는 제 2 동적블룸필터 정보를 참가자 정보와 함께 브로드캐스팅하는, 데이터분산서비스에서 동적블룸필터를 이용한 노드 탐색 시스템.
5. The method of claim 4,
When the second node newly joins or when the end point is updated, the second dynamic bloom filter is updated by changing the length of the second dynamic bloom filter by reflecting information of the updated end point,
And the second dynamic bloom filter information including the name of the endpoint and the topic name stored in the updated second dynamic bloom filter together with the participant information.
KR1020140119012A 2014-09-05 2014-09-05 System and method of node discovery using dynamic bloom filters for dds KR101570933B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140119012A KR101570933B1 (en) 2014-09-05 2014-09-05 System and method of node discovery using dynamic bloom filters for dds

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140119012A KR101570933B1 (en) 2014-09-05 2014-09-05 System and method of node discovery using dynamic bloom filters for dds

Publications (1)

Publication Number Publication Date
KR101570933B1 true KR101570933B1 (en) 2015-11-23

Family

ID=54844766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140119012A KR101570933B1 (en) 2014-09-05 2014-09-05 System and method of node discovery using dynamic bloom filters for dds

Country Status (1)

Country Link
KR (1) KR101570933B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101663994B1 (en) 2016-04-26 2016-10-12 숭실대학교산학협력단 METHOD FOR PROVIDING AN LIGHT-WEIGHT ROUTING PROTOCOL IN A IoT CAPABLE INFRA-LESS WIRELESS NETWORKS, RECORDING MEDIUM AND DEVICE FOR PERFORMING THE METHOD
CN110750897A (en) * 2019-10-17 2020-02-04 中国民航大学 DDS automatic discovery method based on threshold bloom filter
CN112328373A (en) * 2020-11-30 2021-02-05 中航机载系统共性技术有限公司 Distributed simulation-oriented data distribution service DDS automatic discovery method
CN115643301A (en) * 2022-10-24 2023-01-24 湖南大学 DDS (direct digital synthesizer) automatic discovery method and medium based on compressed cuckoo filter

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101663994B1 (en) 2016-04-26 2016-10-12 숭실대학교산학협력단 METHOD FOR PROVIDING AN LIGHT-WEIGHT ROUTING PROTOCOL IN A IoT CAPABLE INFRA-LESS WIRELESS NETWORKS, RECORDING MEDIUM AND DEVICE FOR PERFORMING THE METHOD
CN110750897A (en) * 2019-10-17 2020-02-04 中国民航大学 DDS automatic discovery method based on threshold bloom filter
CN110750897B (en) * 2019-10-17 2024-02-02 中国民航大学 DDS automatic discovery method based on threshold bloom filter
CN112328373A (en) * 2020-11-30 2021-02-05 中航机载系统共性技术有限公司 Distributed simulation-oriented data distribution service DDS automatic discovery method
CN112328373B (en) * 2020-11-30 2024-01-12 中航机载系统共性技术有限公司 Distributed simulation-oriented automatic discovery method for data distribution service DDS
CN115643301A (en) * 2022-10-24 2023-01-24 湖南大学 DDS (direct digital synthesizer) automatic discovery method and medium based on compressed cuckoo filter
CN115643301B (en) * 2022-10-24 2024-04-09 湖南大学 DDS automatic discovery method and medium based on compressed cuckoo filter

Similar Documents

Publication Publication Date Title
CN107079059B (en) Block chain storage method and device and node equipment
US7640339B1 (en) Method and apparatus for monitoring a node in a distributed system
US8972585B2 (en) Method for splitting a load of monitoring a peer to peer network
US9754002B2 (en) Method and system for providing a synchronization service
TWI392285B (en) Method and apparatus for efficiently expanding a p2p network
KR101570933B1 (en) System and method of node discovery using dynamic bloom filters for dds
JP4938074B2 (en) Resource location information request method, user node and server for the method
CN111200657B (en) Method for managing resource state information and resource downloading system
RU2008103500A (en) STRUCTURE AND METHODOLOGY OF THE PEER-MANAGED GROUP MANAGEMENT
US11677850B2 (en) Method, apparatus and system for notification
US20180013610A1 (en) File delivery method, apparatus and system
US9686353B2 (en) Method and node for locating objects in a peer-to-peer network
CN111338806B (en) Service control method and device
KR20150108749A (en) Finding services in a service-oriented architecture(soa) network
CN109522462B (en) Cloud query method, device, equipment and storage medium based on block chain
CN110866046A (en) Extensible distributed query method and device
US20140244763A1 (en) Apparatus And Method For Level-Based Self-Adjusting Peer-to-Peer Media Streaming
CN113254050A (en) Micro front-end system
US8224940B2 (en) Strategies for compressing information using bloom filters
CN109788075B (en) Private network system, data acquisition method and edge server
KR102148705B1 (en) Method and apparatus for distributed mobility management
TW201426284A (en) Data storage method, data storage system and demand node using the same
CN107347110A (en) Intelligent terminal tele-control system
KR20110070447A (en) Method of distributed discovery of communication participant in data distribution service
KR101598577B1 (en) - Method for constructing publish-subscribe network and supporting communication using hash function

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant