KR20120121202A - Method for protecting DDS network overload - Google Patents

Method for protecting DDS network overload Download PDF

Info

Publication number
KR20120121202A
KR20120121202A KR1020110039039A KR20110039039A KR20120121202A KR 20120121202 A KR20120121202 A KR 20120121202A KR 1020110039039 A KR1020110039039 A KR 1020110039039A KR 20110039039 A KR20110039039 A KR 20110039039A KR 20120121202 A KR20120121202 A KR 20120121202A
Authority
KR
South Korea
Prior art keywords
dds
ping
test
application
node
Prior art date
Application number
KR1020110039039A
Other languages
Korean (ko)
Other versions
KR101207219B1 (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 KR1020110039039A priority Critical patent/KR101207219B1/en
Publication of KR20120121202A publication Critical patent/KR20120121202A/en
Application granted granted Critical
Publication of KR101207219B1 publication Critical patent/KR101207219B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)

Abstract

PURPOSE: A DDS(data distribution service) network overload prevention method is provided to prevent network overload generated by processing a heartbeat message between a server and a subscription node in a DDS environment. CONSTITUTION: A subscription executes a first ping test(S21). If the first ping test fails, the subscription node executes a DDS application(S22). When a ping test period is arranged, the subscription node recognizes the ping test period using a timer(S23). The subscription node periodically executes a second ping test(S24). When the second ping test succeeds, the subscription node terminates the execution of the DDS application(S25). [Reference numerals] (20) Ping period DB; (AA) Start; (BB) Yes; (CC) End; (S21) First ping test?; (S22) DDS application execution; (S23) Approching a ping test period?; (S24) Second ping test?; (S25) Ending DDS application

Description

데이터 분산 서비스 네트워크 과부하 방지 방법{Method for protecting DDS network overload}Data Distribution Services Network Overload Prevention Method {Method for protecting DDS network overload}

본 발명은 데이터 분산 서비스 환경에서 네트워크 과부하를 방지하는 방법에 관한 것으로서, 서버와 가입 노드 간의 하트비트 메시지 처리에 의한 네트워크 부하를 방지하는 방법에 관한 것이다.The present invention relates to a method for preventing network overload in a data distributed service environment and to a method for preventing network load by processing heartbeat messages between a server and a subscription node.

국내에서 개발되는 해군 전투 체계 시스템은 대부분 RTI사의 DDS(Data Distribution Service) 통신 미들웨어를 사용한다. 각 모듈간에 동적으로 세션유지를 위한 모듈파악(discovery)을 위하여 DDS는 내부적으로 200hz의 하트비트 메시지(HeartBeat message)를 사용한다. 소프트웨어 개발자 혹은 소프트웨어 사용자가 모듈간 통신을 위해 메시지를 전송하지 않더라도, 서버가 가입 노드의 존재 유무를 파악하기 위해 하트비트 메시지(HeartBeat Message)를 송신한다.Most naval combat system systems developed in Korea use RTI's Data Distribution Service (DDS) communication middleware. DDS internally uses a HeartBeat message of 200 hz for module discovery to dynamically maintain sessions between modules. Even if the software developer or software user does not send a message for intermodule communication, the server sends a heartbeat message to determine whether or not there is a subscription node.

그런데, 개발하는 가입 노드가 사내망에 물려 있어 200hz의 하트비트 메시지에 따른 응답 메시지를 서버에 송신하게 되면, 이러한 200hz의 하트비트 메시지(HeartBeat Message)의 응답 메시지는 서버에 상당한 부담이 된다.However, if the subscribing node is developed in the company network and transmits a response message according to the heartbeat message of 200 hz to the server, the response message of the heartbeat message of 200 hz is a considerable burden on the server.

가입 노드 내의 DDS 어플리케이션 개발만을 필요로 하는 경우, 서버와 가입 노드 간의 접속에 의한 하트비트 메시지 및 응답 메시지 교환은 불필요하다. 따라서 데이터 분산 서비스(DDS;Data Distribution Service)를 사용하여 해군 전투체계 시스템을 개발 또는 사용할 때에는, 사내망에 물려있는 네트워크 케이블인 랜선(LAN cable)을 물리적으로 제거하고 사용한다. 즉, 개발자(사용자)는 매번 DDS를 사용할 때마다 가입 노드인 자신의 PC에 랜선을 물리적으로 제거하고 난 후, DDS 사용을 중지한 후에 다시 랜선을 물려 인터넷을 사용한다.If only DDS application development is required in the subscribing node, the exchange of heartbeat and response messages by the connection between the server and the subscribing node is unnecessary. Therefore, when developing or using a naval combat system system using a data distribution service (DDS), the LAN cable, which is a network cable in the company network, is physically removed and used. That is, every time the user (user) uses the DDS, he physically removes the LAN line from his PC as a subscription node, stops using the DDS, and uses the LAN line again to use the Internet.

상기와 같이 DDS를 사용할 때마다 랜선을 제거하고, DDS를 사용하지 않을 때는 다시 랜선을 연결하면 서버에 과도한 트래픽을 전송하지 않아 문제가 되지 않는다. 그런데 개발자 혹은 사용자가 위의 과정들을 반복하다 보면 실수로 랜선을 제거하지 않고 DDS 어플리케이션을 사용하게 되는 경우가 발생하는데, 사용자가 인지하지 못하는 시간 동안 서버는 과도한 200hz의 하트비트 메시지(HeartBeat Message) 및 응답 메시지를 처리해야 하므로, 전체적인 네트워크 성능에 부담이 된다. 이러한 실수를 여러 명의 개발자(사용자)가 동시에 범하게 되면 서버는 마치 분산 서비스 거부 공격(DDos;Distributed Denial of Service attack)을 받는 것과 같이 되며, 결국, 서버가 다운되는 문제가 발생한다.As described above, if the LAN line is removed every time the DDS is used, and the LAN line is connected again when the DDS is not used, excessive traffic is not transmitted to the server, which is not a problem. However, if the developer or the user repeats the above steps, they may accidentally use the DDS application without removing the LAN line. During the time when the user does not recognize the server, the server may receive an excessive 200hz heartbeat message and Since the response message must be processed, the overall network performance is a burden. If multiple developers (users) make this mistake at the same time, the server will be as if under a distributed denial of service attack (DDos), resulting in a server crash.

본 발명의 기술적 과제는 DDS 환경에서 네트워크 과부하를 방지하는데 있다. 또한 본 발명의 기술적 과제는 서버와 가입 노드 간의 하트비트 메시지 처리에 의한 네트워크 부하를 방지하는데 있다. 또한 본 발명의 기술적 과제는 DDS 네트워크 이용시에 사용자의 실수에 의한 피해를 방지하는데 있다. 또한 본 발명의 기술적 과제는 DDS 네트워크 개발을 하려는 사용자에게 네트워크가 연결되어 있음을 인지시키도록 하는데 있다. 또한 본 발명의 기술적 과제는 가입 노드의 핑 테스트 신호 발생에 의한 부하를 최소화하는데 있다.The technical problem of the present invention is to prevent network overload in a DDS environment. In addition, the technical problem of the present invention is to prevent the network load by the heartbeat message processing between the server and the subscription node. In addition, the technical problem of the present invention is to prevent damage caused by a user error when using the DDS network. In addition, the technical problem of the present invention is to make the user to the DDS network development to recognize that the network is connected. In addition, the technical problem of the present invention is to minimize the load caused by the ping test signal generation of the subscription node.

본 발명의 실시 형태는 데이터 분산 서비스(DDS)의 가입 노드가 자신이 가입한 서버와의 접속 상태를 확인하는 핑 제1테스트를 수행하는 과정과, 상기 핑 제1테스트가 성공인 경우 상기 가입 노드 내에서 DDS 어플리케이션을 실행하지 않으며, 상기 핑 제1테스트가 실패인 경우 상기 가입 노드 내에서 DDS 어플리케이션을 실행하는 과정과, 상기 DDS 어플리케이션 실행 동안에, 핑 제2테스트를 주기적으로 수행하는 과정과, 상기 핑 제2테스트가 성공인 경우 실행 중인 DDS 어플리케이션을 종료하며, 상기 핑 제2테스트가 실패인 경우 상기 DDS 어플리케이션의 실행을 유지하는 과정을 포함한다.According to an embodiment of the present invention, a process of performing a ping first test by a subscribing node of a data distribution service (DDS) to check a connection state with a server to which the subscribing node is subscribed, and, if the ping first test is successful, the subscribing node. Executing a DDS application in the subscription node if the first ping test fails, and periodically performing a second ping test during the execution of the DDS application, and If the ping second test is successful, the running DDS application is terminated. If the ping second test fails, the process includes maintaining the execution of the DDS application.

상기 핑 제2테스트는, 실행되는 DDS 어플리케이션의 종류별로 핑 테스트 주기를 달리한다. 실행되는 DDS 어플리케이션의 종류별로 핑 테스트 주기를 달리하여 설정한 데이터베이스를 구축한다.In the ping second test, the ping test cycle is different for each type of DDS application to be executed. Construct a database configured with different ping test cycles for each type of DDS application to be executed.

핑 제2테스트가 성공인 경우 상기 DDS 어플리케이션 실행을 종료하는 것은, 상기 핑 제2테스트 성공한 가입 노드의 DDS 어플리케이션을 종료하는 과정과, 상기 가입 노드의 그룹에 속한 다른 가입 노드에게 DDS 어플리케이션 종료를 요청하는 과정과, 상기 다른 가입 노드 내에서 실행하고 있는 DDS 어플리케이션을 종료하는 과정을 포함한다.If the second ping test is successful, terminating the execution of the DDS application includes terminating the DDS application of the ping second successful test node and requesting the other subscriber node belonging to the group of the joining node to terminate the DDS application. And terminating the DDS application running in the other subscribing node.

본 발명의 실시 형태에 따르면 DDS 환경에서 서버와 가입 노드 간의 하트비트 메시지 처리에 의한 네트워크 과부하를 방지할 수 있다. 또한 본 발명의 실시 형태에 따르면 가입 노드의 DDS 어플리케이션 개발 시에 개발자의 실수로 인한 네트워크 과부하를 방지할 수 있다. 또한 본 발명의 실시 형태에 따르면 DDS 어플리케이션 개발시에 사용자가 네트워크 연결 상태를 확인하여, 적절한 조치를 취할 수 있다. 또한 본 발명의 실시 형태에 따르면 DDS 네트워크에서의 서버 과부하를 방지함으로써, 예기지 못한 서버 다운으로 인한 피해를 예방할 수 있다.According to an embodiment of the present invention, network overload due to heartbeat message processing between a server and a subscription node in a DDS environment can be prevented. In addition, according to the embodiment of the present invention, it is possible to prevent network overload due to a developer's mistake in developing a DDS application of a subscription node. In addition, according to the embodiment of the present invention, when the user develops the DDS application, the user can check the network connection state and take appropriate measures. In addition, according to the embodiment of the present invention, by preventing the server overload in the DDS network, it is possible to prevent damage due to unexpected server down.

도 1은 일반적인 데이터 발간/구독을 통한 데이터 교환을 실행하는 데이터 분산 서비스(DDS)의 구성 모듈을 도시한 그림이다.
도 2는 본 발명의 실시예에 따른 DDS에서의 네트워크 과부하 방지 과정을 도시한 플로차트이다.
도 3은 가입 노드에서 DDS 어플리케이션이 구동될 때의 가입 노드의 표시창에 디스플레이되는 DDS 어플리케이션 실행창을 도시한 그림이다.
도 4는 DDS 어플리케이션이 프로세스 영역에 표시되어 있는 창을 도시한 그림이다.
도 5는 DDS 어플리케이션이 종료되었음을 사용자에게 통보하는 화면을 도시한 그림이다.
도 6은 본 발명의 실시예에 따라 가입 노드의 그룹핑별로 DDS에서의 네트워크 과부하 방지 과정을 도시한 플로차트이다.
도 7은 본 발명의 실시예에 따라 가입 노드가 그룹핑되어 있는 모습을 도시한 그림이다.
1 is a diagram illustrating a configuration module of a data distribution service (DDS) that performs data exchange through general data publishing / subscription.
2 is a flowchart illustrating a process of preventing network overload in a DDS according to an embodiment of the present invention.
3 is a diagram illustrating a DDS application execution window displayed on a display window of a subscription node when a DDS application is driven in a subscription node.
4 is a diagram illustrating a window in which a DDS application is displayed in a process area.
5 is a diagram illustrating a screen for notifying a user that a DDS application is terminated.
6 is a flowchart illustrating a process of preventing network overload in DDS for each grouping of subscription nodes according to an embodiment of the present invention.
7 is a diagram illustrating a state in which subscription nodes are grouped according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 더욱 상세히 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 도면상에서 동일 부호는 동일한 요소를 지칭한다. Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention in more detail. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms, and only the embodiments are intended to complete the disclosure of the present invention and to those skilled in the art to fully understand the scope of the invention. It is provided to inform you. Wherein like reference numerals refer to like elements throughout.

도 1은 일반적인 데이터 발간/구독을 통한 데이터 교환을 실행하는 데이터 분산 서비스(DDS)의 구성 모듈을 도시한 그림이다.1 is a diagram illustrating a configuration module of a data distribution service (DDS) that performs data exchange through general data publishing / subscription.

응용 프로그램 간의 직접적인 데이터 교환을 구현하는데 따른 응용프로그램 개발자의 부담을 줄이기 위해서는 표준화된 통신 기법과 데이터 교환을 전담하여 대행하는 통신 미들웨어가 필요하며, 이를 위해 CORBA(Common Object Request Broker Architecture)나 JMS(Java Message System)과 같은 통신 미들웨어가 제공된다.To reduce the burden on application developers in implementing direct data exchange between applications, standardized communication techniques and communication middleware dedicated to exchanging data are required.For this purpose, CORBA (Common Object Request Broker Architecture) or JMS (Java) is required. Communication middleware such as Message System.

그러나, 통신 장비들이 동적으로 도메인을 형성하고 동일한 타입의 데이터를 빈번하게 주고받는 환경에서는 COBRA나 JMS보다는 데이터 중심의 발간-구독(Publisher-Subscriber) 방식이 적합하다. 이러한 발간-구독(Publisher-Subscriber) 방식에 적합한 통신 미들웨어의 표준 규격으로 OMG(Object Management Group)의 DDS(Data Distribution Service)가 제안되었는데, 이러한 DDS는 응용프로그램 및 하부 통신 네트워킹 기능과의 인터페이스를 정의한다.However, in an environment in which communication devices dynamically form domains and frequently exchange data of the same type, a data-centric publish-subscriber method is preferable to COBRA or JMS. As a standard specification of communication middleware suitable for such a publisher-subscriber method, the data distribution service (DDS) of the object management group (OMG) has been proposed, and this DDS defines an interface with an application and a lower communication networking function. do.

항공 관제 시스템이나 함정 전투 체계(combat system)과 같이 다양한 장비로 구성되는 분산시스템에서는 여러 제작사에서 제공되는 각종 센서와 무장들을 다수의 다기능 콘솔들에 연동하여 운영해야 하며 통신 네트워크에 대한 의존도가 높기 때문에 통신 노드들의 환경 차이에 따른 상호 운용성 문제, 신뢰성 문제 등을 해결하기 위한 표준 통신 미들웨어로서 상기 DDS(Data Distribution Service)가 사용된다.In a distributed system composed of various equipments such as air control systems and combat systems, various sensors and weapons provided by various manufacturers must be operated in conjunction with multiple multifunction consoles, and the dependency on communication networks is high. The data distribution service (DDS) is used as a standard communication middleware for solving interoperability problems, reliability problems, etc. according to environmental differences of communication nodes.

예를 들어, 함정 전투 체계에서의 정보처리는 센서로부터 수집한 데이터에 의하거나 또는 운용자의 명령에 의해 촉발되기 때문에 데이터 중심의 통신 특성이 강하고 여러 노드들에게 동시에 전파되는 경우가 많다. 이러한 함정 전투체계에 적합한 미들웨어 규격으로 DDS가 사용되는데 응용프로그램/하부 통신 네트워킹 기능과의 인터페이스 및 미들웨어 기능 요구사항이 정의된다.For example, information processing in a naval battle system is triggered by data collected from sensors or by operator's command, so the data-oriented communication characteristics are strong and often propagate to multiple nodes simultaneously. DDS is used as the middleware standard suitable for this naval battle system, and the interface with the application / sub-communication networking function and the middleware function requirements are defined.

데이터 분산 서비스(DDS;Data Distribution Service)는 데이터 중심의 실시간 데이터 분배를 목적으로 OMG에서 정의되었다. 도메인에 속한 불특정 다수에게 데이터를 발간 및 구독이 가능하다.Data Distribution Service (DDS) is defined in OMG for the purpose of data-driven real-time data distribution. Data can be published and subscribed to an unspecified number of domains.

도메인(domain) 내의 노드들이 동일한 타입의 데이터를 빈번하게 교환할 경우에는 데이터 중심 통신(data centric communication) 기법이 적합하다. 또한 도메인에 참여하는 노드들의 수가 많고, 동적으로 등록과 등록 해제가 이루어지는 경우에는 응용 프로그램에서 데이터를 교환할 상대를 찾고 연결을 맺는 서버/클라이언트 방식의 데이터 교환보다는 상대에 대한 인지없이 자신이 원하는 데이터를 발간(publish)/구독(subscribe)하는 방식의 데이터 교환이 더 효과적이다. 데이터를 발간하는 발간 노드(Publisher)들과 데이터를 구독하는 구독 노드(Subscriber)들이 모여서 하나의 도메인을 설정하고 서로 약속한 타입의 데이터 샘플을 멀티캐스트 방식으로 분배한다.Data centric communication is appropriate when nodes in a domain frequently exchange data of the same type. In addition, if the number of nodes participating in the domain is large and dynamic registration and deregistration is performed, the data that the user wants without knowing the partner rather than server / client data exchange where the application finds and connects to the data exchange partner. Data exchange in the form of publishing / subscribing is more effective. The publishers publishing the data and the subscribers subscribing the data gather together to set up one domain and distribute data samples of the promised type in a multicast manner.

데이터 분산 서비스(DDS)에서의 데이터 발간/구독 세부 과정은 도 1과 같다. 도메인에는 발간 노드(Publisher;서버)와 구독 노드(Subscriber)가 존재하며 미리 약속된 데이터 타입인 Topic의 샘플을 교환하게 된다.Detailed process of publishing / subscribing data in the data distribution service (DDS) is shown in FIG. 1. In the domain, there is a publishing node (server) and a subscriber node (subscriber), which exchange samples of Topic, which is a data type that has been promised.

데이터 분산 서비스(DDS)를 구성하는 주요 모듈은 다음과 같다.The major modules that make up Data Distribution Service (DDS) are as follows:

-도메인(Domain): 발간 노드(publisher;서버)와 구독 노드(subscriber)의 모임Domain: a group of publishing nodes (servers) and subscriber nodes (subscribers)

-토픽(Topic): 도메인 내에서 교환하는 데이터 타입Topic: data types exchanged within the domain

-데이터 송신기(DataWriter): 응용으로부터 송신할 데이터를 받아서 토픽(Topic) 샘플을 생성하고 도메인으로 데이터를 전송하는 기능 실행Data Writer (DataWriter): Receives data to be sent from an application, generates a topic sample, and sends data to a domain.

-데이터 수신기(DataReader):도메인으로부터 수신된 Topic 샘플을 응용 프로그램이 사용 가능한 메시지로 변환하여 응용에게 전달하는 기능 실행
Data Reader (DataReader): executes the function of converting the Topic sample received from the domain into a message usable by the application and delivering it to the application.

도 2는 본 발명의 실시예에 따른 DDS에서의 네트워크 과부하 방지 과정을 도시한 플로차트이다.2 is a flowchart illustrating a process of preventing network overload in a DDS according to an embodiment of the present invention.

이하, 설명에서는 데이터 분산 서비스(DDS;Data Distribution Service)의 도메인 내에서 데이터를 발간하는 발간 노드를 서버로 부르기로 하며, DDS의 도메인 내에서 데이터를 구독하는 구독 노드를 가입 노드라 부르기로 한다.In the following description, a publishing node that publishes data in a domain of a data distribution service (DDS) is called a server, and a subscription node that subscribes to data in a domain of the DDS is called a subscription node.

발간 노드인 서버로부터 데이터를 구독하는 각 가입 노드는, 서버에 접속하기 위해서는 가입 노드 내에 설치된 DDS 어플리케이션을 실행해야 한다. 상기 DDS 어플리케이션은 DDS(Data Distribution Service) 통신 미들웨어를 제공하는 어플리케이션으로서, DDS 프로토콜을 처리하는 기능을 수행한다. 각 가입 노드는 DDS 어플리케이션을 구비하는데, DDS 서비스 도메인 내의 각 가입 노드는 다수개의 DDS 어플리케이션을 구비할 수 있다.Each subscribing node that subscribes to data from the server, which is the publishing node, must run the DDS application installed in the subscribing node to access the server. The DDS application is an application that provides a data distribution service (DDS) communication middleware and performs a function of processing a DDS protocol. Each subscription node has a DDS application, and each subscription node in the DDS service domain may have a plurality of DDS applications.

우선, 개발자가 가입 노드 내의 DDS 어플리케이션 실행을 요청하면, 가입 노드는, DDS 어플리케이션을 초기에 구동하기 전에 가입 노드와 서버가 서로 비접속되어 있는지를 확인한다.First, when a developer requests execution of a DDS application in a subscription node, the subscription node checks whether the subscription node and the server are disconnected from each other before initially running the DDS application.

DDS 어플리케이션이 구동되면 빠른 주기(예컨대,200hz)로 하트비트 메시지(HeartBeat Message)가 가입 노드로 전송되기 때문에, DDS 환경에 놓인다 하더라도 서버와 가입 노드 간의 데이터 교환이 필요없이 가입 노드만의 DDS 어플리케이션을 개발하는 환경의 경우에는, DDS 서버로의 하트비트 메시지 전송은 서버 부하로 작용한다. 따라서, DDS 어플리케이션 초기 구동 전에 가입 노드와 서버와의 비접속을 확인하고자 위함이다.When the DDS application is started, a HeartBeat Message is sent to the subscribing node in a fast cycle (for example, 200 hz). In a developing environment, sending heartbeat messages to the DDS server is a server load. Therefore, this is to confirm the non-connection between the subscription node and the server before the DDS application is initially started.

참고로, 상기 하트비트 메시지(HeartBeat Message)는 서버의 관리를 받는 가입 노드의 상태가 정상 동작하는지 확인하기 위한 서버에서 송신되는 상태 확인 메시지로서, 200hz와 같이 빠른 주기로서 지속적으로 가입 노드들에게 전송되는 메시지이다. 상기 하트비트 메시지를 수신한 가입 노드는 응답 메시지를 서버로 전송하게 되고, 이러한 응답 메시지를 수신한 서버는 상기 응답 메시지를 송신한 가입 노드의 응용이 정상 상태라고 판단한다.
For reference, the heartbeat message is a status check message transmitted from a server for checking whether a state of a subscription node managed by the server is operating normally. The heartbeat message is continuously transmitted to the subscription nodes in a fast cycle such as 200 hz. Message. The subscribing node receiving the heartbeat message transmits a response message to the server, and the server receiving the response message determines that the application of the subscribing node sending the response message is normal.

가입 노드는, DDS 어플리케이션을 초기에 구동하기 전에, 가입 노드와 서버가 서로 비접속되어 있는지를 확인하는데, 이러한 확인 과정은, 가입 노드에서 생성하는 핑(Ping) 테스트(이하, '핑 제1테스트'라 함)를 이용한다(S21).The subscription node checks whether the subscription node and the server are disconnected from each other before initially running the DDS application. This verification process is performed by a ping test generated by the subscription node (hereinafter referred to as a 'ping first test'). ') (S21).

상기 핑(Ping)은 네트워크에 연결된 특정 시스템이 정상적으로 연결되었는지를 확인하기 위해서 이용하는 통신프로그램이다. 핑(Ping)을 실행하는 프로그램은 ICMP echo request라는 메시지를 원격 호스트로 보내 응답하는가를 기다린다. 즉, 송신한 ICMP echo reqest를 받은 호스트가 동작 중이면 응답할 것이고 호스트가 동작하지 않으면 않을 것이기 때문이다. 이와 같이 ICMP echo reply가 돌아오는 지의 여부에 따라 원격 호스트가 동작 중인지 아닌 지를 검사할 수 있다.The ping is a communication program used to check whether a specific system connected to a network is normally connected. The pinging program sends an ICMP echo request message to the remote host to wait for a response. That is, if the host that received the sent ICMP echo reqest is running, it will respond and the host will not run. In this way, depending on whether the ICMP echo reply returns, you can check whether the remote host is running or not.

따라서 가입 노드는 핑(Ping) 신호를 생성하여 서버 노드로 송신하고, 이러한 핑에 대한 서버의 핑 응답 메시지가 올바르게 수신되는지를 확인하는 핑 테스트 성공 여부를 판단한다. 핑 테스트의 결과는 성공(true) 또는 실패(false)로 판정된다. 핑 테스트 성공(true)이라 함은, 가입 노드에서 송신한 핑에 대하여, 서버가 핑 응답 메시지를 보내오는 경우로서, 이는 서버와 가입 노드가 네트워크에 의해 정상적으로 연결되어 있음을 의미한다. 반면에, 핑 테스트 실패(false)라 함은, 가입 노드에서 송신한 핑에 대하여, 서버가 핑 응답 메시지를 보내오지 않은 경우로서, 이는 서버와 가입 노드가 네트워크에 의해 연결되지 않고 단절되어 있음을 의미한다Therefore, the subscribing node generates a ping signal and transmits it to the server node, and determines whether the ping test succeeds whether the ping response message of the server is correctly received. The result of the ping test is determined to be true or false. Ping test success (true) is a case in which the server sends a ping response message to the ping sent by the subscribing node, which means that the server and the subscribing node are normally connected by the network. On the other hand, a ping test false is a case in which the server did not send a ping response message to the ping sent by the subscribing node, indicating that the server and the subscribing node are disconnected without being connected by the network. it means

따라서 핑 제1테스트(S21)의 결과, 테스트 결과가 성공(true)으로 판단되면(S21a), 서버와 가입 노드가 정상적으로 네트워크 연결되어 있다고 판정할 수 있다. 상기와 같이, 핑 서버와 가입 노드가 상호 간에 네트워크 연결되어 있는 경우, DDS 어플리케이션 구동으로 인해 하트비트 메시지 및 그에 따른 응답 메시지 교환으로 인해 서버에 부하가 걸릴 수 있기 때문에, DDS 어플리케이션을 구동시키지 않고 모든 과정을 종료한다.Therefore, when the test result is determined to be true (S21a) as a result of the ping first test S21, it may be determined that the server and the subscribing node are normally connected to the network. As described above, when the ping server and the subscribing node are networked to each other, the server may be overloaded due to the heartbeat message and the response message exchange due to the DDS application running. End the process.

반면에, 상기 핑 제1테스트 결과, 테스트 결과가 실패(false)로 판단되면(S21b), 서버와 가입 노드가 상호 간에 네트워크 단절되어 있다고 판정할 수 있다. 상기와 같이, 핑 서버와 가입 노드가 상호 간에 네트워크 단절되어 있는 경우(S21b), DDS 어플리케이션 구동으로 인해 하트비트 메시지 및 그에 따른 응답 메시지 교환이 이루어지지 않기 때문에, 서버에 부하가 걸리지 않는다. 따라서 핑 테스트 실패로 판정되면 DDS 어플리케이션을 실행(S22)함으로써, 개발자가 DDS 어플리케이션 개발 업무를 실행한다. 참고로, 도 3은 가입 노드에서 DDS 어플리케이션이 구동될 때의 가입 노드의 표시창에 디스플레이되는 DDS 어플리케이션 실행창을 도시한 그림이다.
On the other hand, if the ping first test result determines that the test result is false (S21b), it may be determined that the server and the subscribing node are disconnected from each other. As described above, when the ping server and the subscribing node are disconnected from each other (S21b), since the heartbeat message and the corresponding response message are not exchanged due to the DDS application, the server is not overloaded. Therefore, if it is determined that the ping test fails, the developer executes the DDS application development task by executing the DDS application (S22). For reference, FIG. 3 is a diagram illustrating a DDS application execution window displayed on a display window of a subscription node when a DDS application is driven in a subscription node.

한편, DDS 어플리케이션이 실행(S22)되는 동안 도 3과 같이 DDS 어플리케이션 실행 창이 가입 노드의 표시창에 디스플레이되기 때문에, 개발자는 DDS 어플리케이션이 구동되고 있음을 인지할 수 있다. 그러나 DDS 어플리케이션이 실행 중이지만, 우연치 않게 도 3과 같은 DDS 어플리케이션 실행 창이 사용자의 화면에는 나타나지 않는 경우가 있다. 다만, DDS 어플리케이션 실행 창이 없어졌다고 해도 도 4와 같이 프로세스 영역에 여전히 남아 있는 경우가 있다. 즉, 화면이 다른 화면에 겹치거나 ShowWindow 속성이 숨김(hide)로 설정되어 있는 경우 화면에 DDS 어플리케이션이 나타나지 않을 수 있다. 참고로, 도 3 및 도 4에서는, DDS 어플리케이션의 실행 파일명이 "Comm.exe"이다.Meanwhile, since the DDS application execution window is displayed on the display window of the subscription node as shown in FIG. 3 while the DDS application is running (S22), the developer may recognize that the DDS application is running. However, while the DDS application is running, the DDS application execution window as shown in FIG. 3 may not appear on the user's screen by chance. However, even if the DDS application execution window disappears, there may be a case where it still remains in the process area as shown in FIG. 4. That is, when the screen overlaps another screen or when the ShowWindow property is set to hide, the DDS application may not appear on the screen. For reference, in FIG. 3 and FIG. 4, the executable file name of the DDS application is "Comm.exe".

결국, DDS 어플리케이션이 여전히 실행되고 있음에도 불구하고 개발자가 DDS 어플리케이션 실행을 인지못하는 경우가 발생할 수 있다. As a result, although the DDS application is still running, the developer may not be aware of the DDS application execution.

DDS 어플리케이션이 실행 중인 상태임에도, 화면 상에서 DDS 애플리케이션 창이 보이지 않는다는 이유로 개발자는 DDS 어플리케이션이 종료되었다고 오판하고 네트워크 랜선을 가입 노드에 연결할 수 있다. 상기와 같이 DDS 어플리케이션이 실행 중인 상태에서 서버와 가입 노드가 네트워크 연결되면, 하트비트 및 이에 따른 응답 메시지 교환으로 인해, 해당 트래픽이 그대로 서버에 전송된다. DDS 어플리케이션이 실행되지 않고 있다고 오판한 개발자가 네트워크를 차단할 생각을 하지 못하기 때문에 서버로 과도한 트래픽이 장시간 전송되어, 서버 부하 문제가 발생할 수 있다.Even though the DDS application is running, the developer may misjudge that the DDS application is terminated because the DDS application window is not displayed on the screen, and connect the network LAN to the subscribing node. When the server and the subscribing node are networked while the DDS application is running as described above, due to the heartbeat and the exchange of response messages, the corresponding traffic is transmitted to the server as it is. Developers who misjudge that a DDS application is not running don't think about blocking the network, so excessive traffic can be sent to the server for a long time, causing server load problems.

따라서 이러한 문제를 방지하기 위하여, 어플리케이션이 구동되어 실행된 후에도, 핑 테스트 주기가 도래할 때마다 주기적으로 핑 테스트(이하, '핑 제2테스트'라 함)를 수행한다. 즉, 미리 설정된 주기가 도래(S23)하면 타이머(미도시)의 의해 해당 주기를 인지하고 핑 제2테스트를 수행한다(S24). Therefore, in order to prevent such a problem, the ping test (hereinafter referred to as 'ping second test') is periodically performed whenever the ping test cycle arrives even after the application is driven and executed. That is, when a predetermined cycle arrives (S23), the timer recognizes the cycle by a timer (not shown) and performs a ping second test (S24).

핑 제2테스트(S24)의 결과, 네트워크 연결 실패를 나타내는 핑 테스트 실패(false)로 판정되면, 서버와 가입 노드 간의 네트워크가 여전히 단절된 상태를 의미하기 때문에 DDS 어플리케이션 실행(S22)을 계속 수행하여 연구 개발을 계속한다.As a result of the ping second test (S24), if it is determined that the ping test failed (false) indicating a network connection failure, since the network between the server and the subscribing node is still disconnected, the DDS application execution (S22) continues to be performed. Continue development.

반대로, 핑 테스트 결과, 네트워크 연결 정상인 핑 테스트 성공(true)으로 판정되면, 서버와 가입 노드 간의 네트워크 연결된 상태를 의미하므로, DDS 어플리케이션의 실행을 종료시킨다(S25). 종료와 함께 DDS 어플리케이션이 종료되었음을 사용자(개발자)에게 통보하여, 사용자(개발자)가 DDS 어플리케이션의 종료 여부를 알 수 있도록 한다. 사용자(개발자)는, DDS 어플리케이션 종료 사실을 알게 되고, 이를 통해 가입 노드와 서버가 서로 네트워크 접속되어 있다는 사실을 알고, 랜선 단절 등의 조치를 취할 수 있게 된다. 참고로, 도 5는 DDS 어플리케이션이 종료되었음을 사용자에게 통보하는 화면을 도시한 그림으로서, 화면에 종료 알림 창을 디스플레이하여 사용자가 이를 알 수 있도록 한다. 또는, 유무선 통신망을 통하여 SMS, MMS 메시지 형태로 사용자에게 통보할 수 있다.
On the contrary, if it is determined that the ping test succeeds (true) that the network connection is normal, it means the network connection state between the server and the subscribing node, and thus the execution of the DDS application is terminated (S25). Upon termination, the user (developer) is notified that the DDS application is terminated, so that the user (developer) can know whether the DDS application is terminated. The user (developer) knows that the DDS application is terminated, and through this, the subscriber node and the server know that the network is connected to each other, and can take measures such as disconnection of a LAN. For reference, FIG. 5 is a diagram illustrating a screen for notifying the user that the DDS application is terminated, and displaying a termination notification window on the screen so that the user can know it. Alternatively, the user may be notified in the form of an SMS or MMS message through a wired or wireless communication network.

한편, 상기 핑 제2테스트(S23)의 주기는 핑 제2테스트가 실행되는 주기로서, 해당 주기는 실행되는 DDS 어플리케이션의 종류별로 핑 테스트 주기를 달리하여 미리 설정되며, 이렇게 달리 설정된 핑 테스트 주기는 핑 주기 DB(20)에 저장되어 있다. On the other hand, the period of the ping second test (S23) is a period in which the ping second test is executed, the period is set in advance by varying the ping test period for each type of DDS application to be executed, the ping test period is set differently It is stored in the ping period DB 20.

상기 핑 제2테스트 주기는 DDS 어플리케이션의 실행 부하에 비례하여 핑 테스트 주기를 길게 한다. 예를 들어, 가입 노드의 DDS 제1어플리케이션 실행 시에 가입 노드의 부하가 미리 설정된 임계치 이상 많이 걸리는 경우는, 핑 제2테스트 주기를 최대한 길게 잡아서 핑 테스트에 의한 가입 노드의 부하가 최소화 되도록 한다. 잦은 핑 테스트 시도는 가입 노드에 추가적인 부하를 발생시키기 때문이다. 따라서 DDS 어플리케이션 실행으로 인한 부하가 많이 걸리는 DDS 어플리케이션의 경우 핑 테스트 주기를 길게 설정함으로써, 핑 테스트로 인한 부하가 최소로 발생되도록 한다.The ping second test period lengthens the ping test period in proportion to the execution load of the DDS application. For example, when the load of the subscription node takes more than a preset threshold when the DDS first application of the subscription node is executed, the load of the subscription node by the ping test is minimized by holding the second ping test period as long as possible. This is because frequent ping test attempts create additional load on the joining node. Therefore, by setting a long ping test period in the case of a DDS application that is heavily loaded due to the execution of the DDS application, the load due to the ping test is minimized.

반대로, DDS 어플리케이션 실행되는 경우, 가입 노드의 부하가 임계치 미만으로 적게 걸리는 경우는, 부하 걱정없이 핑 테스트 주기를 짧게 하여, 빈번하게 서버와 가입 노드 간의 네트워크 접속을 확인한다.
Conversely, when the DDS application is running, if the load of the subscription node is less than the threshold, the ping test cycle is shortened without worrying about the load, and frequently the network connection between the server and the subscription node is checked.

한편, 핑 테스트 주기가 도래할 때마다 핑 테스트 신호를 발생시키는 것은, 마찬가지로 서버에 부하로서 작용할 수 있다. 핑 테스트 신호를 받은 서버는, 수신한 데이터의 정상 도착 패킷, 미도착 패킷 등을 파악하여 메시지에 포함시켜, 핑 응답 메시지로서 핑 테스트를 송신한 가입 노드로 전송해야 하기 때문이다. 따라서 다수의 가입 노드에서 핑 테스트를 잦은 주기로 서버로 각각 전송하는 경우, 마찬가지로 서버 부하 문제가 발생할 수 있다. 이러한 문제를 고려하여 그룹핑별 DDS 어플리케이션 종료 처리를 수행한다. 도 6 및 도 7과 함께 상술한다.On the other hand, generating a ping test signal each time a ping test period arrives can likewise act as a load on the server. This is because the server, which has received the ping test signal, should grasp the normal arrival packet, the non-arrival packet, etc. of the received data and include it in the message and transmit it to the subscribing node that has sent the ping test as a ping response message. Therefore, if a plurality of subscribing nodes transmit ping tests to the server at frequent intervals, server load problems may occur. In consideration of this problem, the DDS application termination processing for each grouping is performed. A detailed description will be given with reference to FIGS. 6 and 7.

도 6은 본 발명의 실시예에 따라 가입 노드의 그룹핑별로 DDS에서의 네트워크 과부하 방지 과정을 도시한 플로차트이다.6 is a flowchart illustrating a process of preventing network overload in DDS for each grouping of subscription nodes according to an embodiment of the present invention.

상기에서 설명한 도 2와 같이, 본 발명의 실시예는 DDS 어플리케이션을 구동하기 전에 핑 제1테스트를 수행(S21)하며, 핑 테스트 결과 실패(false)로 판정된 경우, DDS 어플리케이션을 실행시킨다(S22). 그 후, DDS 어플리케이션이 실행되는 동안 주기적(S23)으로 핑 제2테스트(S24)를 수행하여, 핑 테스트 실패일 때는 계속하여 DDS 어플리케이션을 실행(S22)하며, 핑 테스트 성공일 때는 DDS 어플리케이션의 실행을 종료(S25)시킨다.As described above with reference to FIG. 2, the embodiment of the present invention performs a ping first test before driving the DDS application (S21), and if it is determined that the ping test result is false, the DDS application is executed (S22). ). Thereafter, during the execution of the DDS application, the second test S24 is periodically performed (S23). If the ping test fails, the DDS application is continuously executed (S22), and if the ping test is successful, the DDS application is executed. End (S25).

그런데 본 발명의 다른 실시예는 상기 DDS 어플리케이션을 종료(S25)가 가입 노드의 그룹핑별로 이루어지도록 한다. 이를 위하여, 도 7에 도시한 바와 같이 서버(70)로부터 데이터를 구독하는 다수의 가입 노드들은 일정 개수의 가입 노드끼리 그룹핑(80a,80b,,,,,80n)되어 있어야 한다. 상기 그룹핑은 가입 노드간의 네트워크 속성에 따라 결정될 수 있는데, 예를 들어, 각각 다른 게이트웨이에 의해 연결되는 가입 노드들이 있는 경우, 동일한 게이트웨이에 연결된 가입 노드들을 동일 그룹으로 그룹핑할 수 있다.However, according to another embodiment of the present invention, the DDS application is terminated (S25) for each grouping of the joining nodes. To this end, as shown in FIG. 7, a plurality of subscribing nodes that subscribe to data from the server 70 should be grouped with a certain number of subscribing nodes 80a, 80b,. The grouping may be determined according to network attributes between the joining nodes. For example, when there are joining nodes connected by different gateways, joining nodes connected to the same gateway may be grouped into the same group.

그룹 중에서 그룹원인 가입 노드가 하나라도 핑 테스트 성공으로 판단된 경우, 핑 테스트 성공으로 판단된 가입 노드가 속한 그룹 전체의 가입 노드에서 동작되는 각각의 DDS 어플리케이션을 모두 종료하는 것이다.If at least one member joining the group is determined to be a successful ping test, all of the DDS applications operated in the joining nodes of the entire group to which the joining node determined to be successful in the ping test belong.

하나의 가입 노드에서만 핑 테스트를 시도하여 그 결과에 따라서 동일 그룹 내 다른 그룹원 가입 노드들 내에서 동작하는 DDS 어플리케이션을 종료할 수 있음으로써, 각 가입 노드의 잦은 핑 테스트를 시도하지 않아도 되어 서버 부하를 최소화할 수 있다.You can try to ping only one joining node and terminate the DDS application running in other joining nodes in the same group according to the result, so you don't have to try frequent pinging of each joining node. Can be minimized.

이를 위하여 본 발명의 실시예는, 도 6에 도시한 바와 같이 DDS 어플리케이션 실행 중에 주기 도래 시에 핑 제2테스트(S24)를 한 결과 핑 테스트 성공(true)으로 판단되면, 그룹별 종료 모드로 설정되어 있는지를 판단한다(S26). 그룹별 종료 모드로 설정되어 있는 경우에는 핑 테스트 성공한 가입 노드가 속해 있는 그룹 내의 모든 가입 노드들의 DDS 어플리케이션을 종료시킨다(S27). 예를 들어, 도 7에 도시한 제1그룹(80a)에 속한 제2가입 노드(82)에서 실행한 핑 테스트가 성공(true)으로 판단된 경우, 제2가입 노드(82)가 속해 있는 제1그룹(80a)내 그룹원인 제1~10 가입 노드에서 동작하는 모든 DDS 어플리케이션을 종료시킨다(S27). 이때, 핑 테스트 성공한 가입 노드가 속하지 않은 제2그룹(80b)~제N그룹(80n) 내 가입 노드의 DDS 어플리케이션의 종료 여부에는 영향을 미치지 않는다.To this end, according to an embodiment of the present invention, if it is determined that the ping test succeeds (true) when the ping second test (S24) is performed during the execution of the DDS application as shown in FIG. It is determined whether or not (S26). If the group-specific termination mode is set, the DDS application of all the subscription nodes in the group to which the ping test successful subscription node belongs is terminated (S27). For example, if it is determined that the ping test executed by the second subscribing node 82 belonging to the first group 80a shown in FIG. 7 is true, the second subscribing node 82 belongs to All DDS applications operating in the first to the tenth joining nodes in the group 80a are terminated (S27). At this time, it does not affect whether the DDS application of the subscribing nodes in the second group 80b to the N-th group 80n to which the subscribing node to which the ping test succeeds belongs does not belong.

참고로, 핑 테스트 성공이 이루어지면 성공한 가입 노드는 자신의 노드에서 동작하는 DDS 어플리케이션을 종료시키며, 아울러 다른 그룹핑된 가입 노드들에게 DDS 어플리케이션의 종료를 요청하는 메시지를 전송한다. 이러한 DDS 어플리케이션 종료 메시지를 수신한 가입 노드는 자신에서 동작하는 DDS 어플리케이션을 종료시킨다.For reference, if the ping test succeeds, the successful subscribing node terminates the DDS application operating in its own node and transmits a message requesting the termination of the DDS application to other grouped subscribing nodes. The subscribing node receiving the DDS application termination message terminates the DDS application operating in its own.

한편, 그룹별 종료 모드로 설정되어 있는지를 판정(S26)한 결과, 그룹별 종료 모드로 설정되어 있지 않은 경우, 핑 테스트 성공한 가입 노드만 DDS 어플리케이션을 종료(S28)시키고 동일/다른 그룹에 속해 있는 다른 가입 노드들의 DDS 어플리케이션은 계속 실행된다.On the other hand, as a result of determining whether it is set to the end mode for each group (S26), if it is not set to the end mode for each group, only the joining nodes that have successfully pinged the test terminate the DDS application (S28) and belong to the same / other group. The DDS application of the other subscribing nodes continues to run.

본 발명을 첨부 도면과 전술된 바람직한 실시예를 참조하여 설명하였으나, 본 발명은 그에 한정되지 않으며, 후술되는 특허청구범위에 의해 한정된다. 따라서, 본 기술분야의 통상의 지식을 가진 자라면 후술되는 특허청구범위의 기술적 사상에서 벗어나지 않는 범위 내에서 본 발명을 다양하게 변형 및 수정할 수 있다.Although the present invention has been described with reference to the accompanying drawings and the preferred embodiments described above, the present invention is not limited thereto but is limited by the following claims. Accordingly, those skilled in the art will appreciate that various modifications and changes may be made thereto without departing from the spirit of the following claims.

S21: 핑 제1테스트 S22: DDS 어플리케이션 실행
S23: 핑 테스트 주기 도래 S24: 핑 제2테스트
S25: DDS 어플리케이션 종료
S21: Ping First Test S22: Running DDS Application
S23: Ping test cycle arrives S24: Ping second test
S25: DDS Application Termination

Claims (9)

데이터 분산 서비스(DDS)의 가입 노드가 자신이 가입한 서버와의 접속 상태를 확인하는 핑 제1테스트를 수행하는 과정;
상기 핑 제1테스트가 성공인 경우 상기 가입 노드 내에서 DDS 어플리케이션을 실행하지 않으며, 상기 핑 제1테스트가 실패인 경우 상기 가입 노드 내에서 DDS 어플리케이션을 실행하는 과정;
상기 DDS 어플리케이션 실행 동안에, 핑 제2테스트를 주기적으로 수행하는 과정;
상기 핑 제2테스트가 성공인 경우 실행 중인 DDS 어플리케이션을 종료하며, 상기 핑 제2테스트가 실패인 경우 상기 DDS 어플리케이션의 실행을 유지하는 과정;
을 포함하는 DDS 네트워크 과부하 방지 방법.
Performing a ping first test by the subscribing node of the data distribution service (DDS) to check a connection status with a server to which the subscribing node subscribes;
Not executing a DDS application in the subscribing node if the ping first test is successful, and executing a DDS application in the subscribing node if the ping first test fails;
Periodically performing a ping second test during execution of the DDS application;
Terminating a running DDS application if the second ping test is successful, and maintaining execution of the DDS application if the ping second test fails;
DDS network overload prevention method comprising a.
청구항 1에 있어서, 상기 핑 제2테스트는, 실행되는 DDS 어플리케이션의 종류별로 핑 테스트 주기를 달리하는 DDS 네트워크 과부하 방지 방법.The method of claim 1, wherein the second ping test comprises changing a ping test period for each type of DDS application to be executed. 청구항 2에 있어서, 실행되는 DDS 어플리케이션의 종류별로 핑 테스트 주기를 달리하여 설정한 데이터베이스를 구축하고 있는 DDS 네트워크 과부하 방지 방법.The DDS network overload prevention method according to claim 2, wherein a database configured by setting a ping test cycle for each type of DDS application to be executed is constructed. 청구항 2에 있어서, 상기 핑 테스트 주기는 DDS 어플리케이션의 실행 부하에 비례하여 핑 테스트 주기를 길게 하는 DDS 네트워크 과부하 방지 방법.The method according to claim 2, wherein the ping test period increases the ping test period in proportion to the execution load of the DDS application. 청구항 1에 있어서, 상기 핑 제2테스트가 성공하여 DDS 어플리케이션 실행을 종료하는 경우, DDS 어플리케이션 종료 사실을 사용자에게 통보하는 DDS 네트워크 과부하 방지 방법.The method according to claim 1, wherein if the second ping test succeeds and terminates execution of the DDS application, the DDS network overload prevention method is notified to the user of the termination of the DDS application. 청구항 1에 있어서, 서버에 다수의 가입 노드들이 가입되어 DDS 통신을 수행하는 DDS 네트워크 과부하 방지 방법.The method of claim 1, wherein a plurality of subscribing nodes are subscribed to a server to perform DDS communication. 청구항 6에 있어서, 상기 서버에 가입된 가입 노드들은 다수개의 그룹으로 그룹핑되어 있는 DDS 네트워크 과부하 방지 방법.The method of claim 6, wherein the subscribing nodes subscribed to the server are grouped into a plurality of groups. 청구항 7에 있어서, 상기 핑 제2테스트가 성공인 경우, 상기 핑 제2테스트 성공한 가입 노드의 그룹에 속한 다른 가입 노드에서 동작하는 DDS 어플리케이션 실행을 종료하는 DDS 네트워크 과부하 방지 방법.The method according to claim 7, wherein if the second ping test is successful, the DDS network overload prevention method which terminates execution of a DDS application operating in another subscription node belonging to the group of the ping second successful test subscription node. 청구항 8에 있어서, 상기 핑 제2테스트가 성공인 경우 상기 DDS 어플리케이션 실행을 종료하는 것은,
상기 핑 제2테스트 성공한 가입 노드의 DDS 어플리케이션을 종료하는 과정;
상기 가입 노드의 그룹에 속한 다른 가입 노드에게 DDS 어플리케이션 종료를 요청하는 과정;
상기 다른 가입 노드 내에서 실행하고 있는 DDS 어플리케이션을 종료하는 과정;
을 포함하는 DDS 네트워크 과부하 방지 방법.
The method of claim 8, wherein the execution of the DDS application is terminated when the ping second test is successful.
Terminating the DDS application of the subscribing node that has successfully completed the ping second test;
Requesting termination of a DDS application from another subscription node belonging to the group of the subscription node;
Terminating a DDS application running in the other subscribing node;
DDS network overload prevention method comprising a.
KR1020110039039A 2011-04-26 2011-04-26 Method for protecting DDS network overload KR101207219B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110039039A KR101207219B1 (en) 2011-04-26 2011-04-26 Method for protecting DDS network overload

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110039039A KR101207219B1 (en) 2011-04-26 2011-04-26 Method for protecting DDS network overload

Publications (2)

Publication Number Publication Date
KR20120121202A true KR20120121202A (en) 2012-11-05
KR101207219B1 KR101207219B1 (en) 2012-12-03

Family

ID=47507693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110039039A KR101207219B1 (en) 2011-04-26 2011-04-26 Method for protecting DDS network overload

Country Status (1)

Country Link
KR (1) KR101207219B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218421A (en) * 2018-09-11 2019-01-15 南京臻融软件科技有限公司 A kind of DDS discovery protocol extension method and system
KR20190030116A (en) * 2017-09-13 2019-03-21 한전케이디엔주식회사 Micro grid energy management system using dds middleware
KR20190136722A (en) 2018-05-31 2019-12-10 한전케이디엔주식회사 Data distribution service engine test device supporting development and maintenance of dds communication middleware

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190030116A (en) * 2017-09-13 2019-03-21 한전케이디엔주식회사 Micro grid energy management system using dds middleware
KR20190136722A (en) 2018-05-31 2019-12-10 한전케이디엔주식회사 Data distribution service engine test device supporting development and maintenance of dds communication middleware
CN109218421A (en) * 2018-09-11 2019-01-15 南京臻融软件科技有限公司 A kind of DDS discovery protocol extension method and system
CN109218421B (en) * 2018-09-11 2020-12-15 南京臻融软件科技有限公司 DDS discovery protocol extension method and system

Also Published As

Publication number Publication date
KR101207219B1 (en) 2012-12-03

Similar Documents

Publication Publication Date Title
US11140135B2 (en) Scalable proxy clusters
TW201944236A (en) Task processing method, apparatus, and system
KR100935782B1 (en) System, method, and computer program product for centralized management of an infiniband distributed system area network
US20150312802A1 (en) Method and system for sideband communication architecture for supporting manageability over wireless lan (wlan)
US8015279B2 (en) Network analysis
CN102906730A (en) Shared heartbeat service for managed devices
US20050066218A1 (en) Method and apparatus for alert failover
EP2577946A1 (en) Keep-alive hiatus declaration
US20130227022A1 (en) Peer discovery and secure communication in failover schemes
EP1697843A2 (en) System and method for managing protocol network failures in a cluster system
CN111262839A (en) Vulnerability scanning method, management equipment, node and storage medium
CN104144124B (en) Data forwarding method, Apparatus and system
KR101139836B1 (en) Method and system for two-phase mechanism for discovering web services based management service
CN109412890B (en) DDS-based joint test platform middleware node state detection method
KR101207219B1 (en) Method for protecting DDS network overload
JP2010198491A (en) Virtual machine server, and virtual machine network monitoring system using the same
CN110809262A (en) Internet of things equipment operation and maintenance management method based on COAP protocol
JP2009238098A (en) Session management method, storage device, and computer system
CN104954187B (en) A kind of method and apparatus of determining user side equipment state
JP5736346B2 (en) Virtualization device, virtualization control method, virtualization device control program
US20040199579A1 (en) Collaboration bus apparatus and method
CN103001832A (en) Detection method and device for nodes in distributed file system
CN114328216A (en) Vulnerability mining method and device
CN114025005A (en) Data communication method, system, electronic equipment and storage medium
US20170155680A1 (en) Inject probe transmission to determine network address conflict

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151102

Year of fee payment: 4