KR101547532B1 - Network monitoring tool having topic division and multi direction listening structure - Google Patents

Network monitoring tool having topic division and multi direction listening structure Download PDF

Info

Publication number
KR101547532B1
KR101547532B1 KR1020140071318A KR20140071318A KR101547532B1 KR 101547532 B1 KR101547532 B1 KR 101547532B1 KR 1020140071318 A KR1020140071318 A KR 1020140071318A KR 20140071318 A KR20140071318 A KR 20140071318A KR 101547532 B1 KR101547532 B1 KR 101547532B1
Authority
KR
South Korea
Prior art keywords
information
module
dds
topic
monitoring tool
Prior art date
Application number
KR1020140071318A
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 KR1020140071318A priority Critical patent/KR101547532B1/en
Application granted granted Critical
Publication of KR101547532B1 publication Critical patent/KR101547532B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to a network monitoring tool having a topic division structure and a multi-directional listening structure. The network monitoring tool includes: one or more requestor modules providing an interface between a user and a DDS application program; one or more collector modules which use DDS middleware used by the real-time monitoring tool to define the topics for monitoring the DDS application program and process the role of date publication and subscription in the network via the DDS middleware; and an administrator module which is arranged between the requestor modules and the collector modules to manage the data and communication log messages published and subscribed within the real-time monitoring tool. The administrator module divides the topics into information object units to manage the topics. The present invention can recognize the topic information and obtain data when the heterogeneous DDS middleware is used. The present invention also enables the individual development of each module to provide an efficient integrated development support environment.

Description

토픽 분할 구조 및 다방향 리스닝 구조를 갖는 네트워크 모니터링 도구{NETWORK MONITORING TOOL HAVING TOPIC DIVISION AND MULTI DIRECTION LISTENING STRUCTURE}[0001] NETWORK MONITORING TOOL HAVING TOPIC DIVISION AND MULTI DIRECTION LISTENING STRUCTURE [0002]

본 발명은 실시간 모니터링 도구에 토픽 분할 구조와 다방향 리스닝 구조를 적용하여, 이종의 DDS 미들웨어를 이용하는 응용프로그램의 데이터라도 모니터링 이 가능하고 일괄적으로 개발하던 모듈들을 각각 개발할 수 있어 모니터링 도구의 개발에 소요되는 시간과 비용을 절감할 수 있는 기술에 관한 것이다.
The present invention applies a topic segmentation structure and a multi-directional listening structure to a real-time monitoring tool, and can monitor data of an application program using a heterogeneous DDS middleware. And a technique capable of reducing the time and cost required.

최근 서버/클라이언트(server/client)와 같은 중앙집중식 통신 방법에서 다수의 노드들이 직접 동적인 통신을 진행하는 발간/구독(publish/subscribe) 방식이 널리 사용되고 있다.Recently, in a centralized communication method such as a server / client, a publish / subscribe method in which a plurality of nodes directly perform dynamic communication is widely used.

이러한 발간/구독 통신 방식을 사용하는 통신 미들웨어 중에 DDS(Data Distribution Service)가 있다. DDS는 OMG(Obejct Management Group)에서 제안한 분산 통신 미들웨어 표준으로서 토픽(Topic)을 중심으로 데이터에 대한 발간/구독(Publish/Subscribe)을 수행하는 것으로서, 토픽(topic)을 이용한 실시간 발간/구독 방식을 이용하여 다수의 정보처리 노드들 간의 실시간 데이터 분배를 가능하게 한다. 또한 QoS(Quality of Service)를 이용한 신뢰성 /비신뢰성(Reliable/Best-Effort) 통신 방법을 제공하며, 통신 디바이스를 찾는 디스커버리(Discovery) 과정을 통하여 통신 디바이스의 동적인 참여/탈퇴를 지원한다.DDS (Data Distribution Service) is a communication middleware using such a publishing / subscribing communication method. DDS is a distributed communication middleware standard proposed by Obejct Management Group (OMG), which publishes / subscribes data based on Topic. It is a real-time publication / subscription method using topics. To enable real-time data distribution among a plurality of information processing nodes. In addition, it provides a reliable / best-effort communication method using Quality of Service (QoS), and supports dynamic participation / withdrawal of communication devices through a discovery process for searching for communication devices.

DDS는 국방분야에서 많이 이용되었으나, 최근에는 무인기 데이터 전송, 병원 전산망 데이터 전송 등 다양한 민수분야에서 DDS를 이용하려는 움직임이 점차 증가하고 있다. DDS를 이용하기 위해서는 각 상황에 맞는 응용프로그램들을 직접 개발해야 하므로 시간과 비용이 소비된다. 따라서 응용프로그램의 개발 및 유지보수를 지원하는 DDS 통합개발지원환경이 필요하다.DDS has been widely used in the defense field, but recently, there has been an increasing tendency to use DDS in various civil fields such as UAV data transmission and hospital network data transmission. In order to use DDS, time and money are consumed because it is necessary to develop application programs for each situation. Therefore, we need DDS integrated development support environment to support development and maintenance of application programs.

DDS 통합개발지원환경 내에서 DDS 응용프로그램의 동작 상태 및 데이터 전송 등의 내용을 파악하는 기능을 수행하는 것이 DDS 모니터링 도구이다. 종래 모니터링 도구의 경우 특정 제조사의 DDS 미들웨어에만 적용되는 모니터링 토픽을 정의하여 사용하기 때문에 이종의 DDS 미들웨어를 이용하는 경우 토픽 정보를 인지하지 못하거나 얻어올 수 있는 데이터에 제약이 있는 한계가 있다.It is the DDS monitoring tool to perform the function to grasp the contents of the operation status and data transmission of the DDS application program in the DDS integrated development support environment. In the case of the conventional monitoring tool, since a monitoring topic that is applied only to a DDS middleware of a specific manufacturer is defined and used, there is a limitation in that the user can not recognize the topic information or restrict the data that can be obtained when using the heterogeneous DDS middleware.

또한, 종래의 경우 전체 모듈을 순차적으로 확인하여 정보의 변경을 인지하기 때문에, 모듈간 상호 의존도가 높아 모듈들의 병렬적인 개발이 어렵고 그에 따라 개발 과정중에 소요되는 시간과 비용이 높아지는 문제점이 발생하고 있다.
In addition, in the related art, since all the modules are sequentially checked to recognize the change of information, there is a problem that it is difficult to develop modules in parallel due to high interdependence among modules, thereby increasing time and cost during development .

한국공개특허 제2011-0070447호Korea Patent Publication No. 2011-0070447

본 발명의 목적은 토픽 분할 구조를 이용하여 이종의 DDS를 이용하는 경우에도 토픽 정보를 인지하거나 데이터를 얻어올 수 있도록 하는 것이다.It is an object of the present invention to recognize topic information or retrieve data even when heterogeneous DDS is used using a topic division structure.

본 발명의 다른 목적은 양방향 리스닝 구조를 적용하여 각 모듈이 독립적으로 정보가 변경되었음을 인지하고, 정보에 해당하는 동작을 진행함으로써 모듈 사이의 상호 의존도를 감소시킬 수 있고, 그에 따라 각 모듈의 독립적인 개발이 가능하고 모듈의 구성이 단순해지기 때문에 개발 과정 중에 소요되는 시간과 비용을 감소시킬 수 있도록 하는 것이다.
It is another object of the present invention to recognize that each module independently changes information by applying a bidirectional listening structure and to reduce the interdependency between modules by performing an operation corresponding to the information, It is possible to reduce the time and cost of the development process because the development is possible and the module configuration is simplified.

상기와 같은 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 사용자와 DDS 응용 프로그램 간의 인터페이스를 제공하는 적어도 하나 이상의 요청자 모듈, 실시간 모니터링 도구에서 사용하는 DDS 미들웨어를 이용하여 DDS 응용프로그램의 모니터링을 위한 토픽을 정의하고 DDS 미들웨어를 경유해 네트워크로 데이터를 발간 및 구독하는 역할을 처리하는 적어도 하나 이상의 수집자 모듈 및 상기 요청자 모듈과 수집자 모듈 간에 개재되어 실시간 모니터링 도구 내에서 발간 및 구독하는 데이터 및 통신 로그 메시지들에 대한 관리를 수행하는 관리자 모듈을 포함하되, 상기 관리자 모듈은 토픽을 정보 객체 단위로 분할하여 관리하는 것을 특징으로 하는 토픽 분할 구조 및 다방향 리스닝 구조를 갖는 네트워크 모니터링 도구가 제공된다.According to an aspect of the present invention, there is provided a method for monitoring a DDS application program using at least one requestor module providing an interface between a user and a DDS application program, and a DDS middleware used in a real- At least one collector module that handles the task of defining a topic and issuing and subscribing data to the network via the DDS middleware and data and communication within the real-time monitoring tool interposed between the requestor module and the collector module And a manager module for managing the log messages, wherein the manager module divides and manages the topics in units of information objects, and provides the network monitoring tool with the topic division structure and the multi-directional listening structure.

여기서, 상기 요청자 모듈은 각각 응용 프로그램에서 요청하는 데이터의 변경을 인지하기 위한 정보변경 인지객체를 생성하여 상기 관리자 모듈에 등록하고, 상기 수집자 모듈은 사용자 요청의 발생을 인지하기 위한 정보변경 인지객체를 생성하여 상기 관리자 모듈에 등록한다.Herein, the requestor module generates an information-modified object for recognizing a change in data requested by an application program, and registers the changed information object in the manager module. The collector module registers an information-modified object And registers it in the manager module.

그리고, 상기 관리자 모듈은 상기 정보 객체와 정보변경 인지객체 간의 연결 관계를 나타내는 연결객체를 생성 및 관리하는 것이 바람직하다.The manager module may generate and manage a connection object indicating a connection relationship between the information object and the information change-aware object.

또한, 상기 관리자 모듈은 상기 요청자 모듈로부터 응용프로그램에 의한 정보의 변경에 대한 알림정보를 수신하면 이를 상기 수집자 모듈로 전달하고, 상기 수집자 모듈로부터 DDS 미들웨어 발간 및 구독에 의한 정보 변경에 대한 알림정보를 수신하면 이를 상기 요청자 모듈로 전달하는 것이 바람직하다.In addition, when the manager module receives the notification information on the change of the information by the application program from the requestor module, the manager module transmits the notification information to the collector module, and notifies the collector module of the information change by the DDS middleware publishing and subscribing Upon receiving the information, it is preferable to transmit the information to the requestor module.

또한, 상기 요청자 모듈은 상기 관리자 모듈로부터 정보변경 인지객체가 수집하고자 하는 정보의 상태가 변경되었다는 알림신호를 수신하면 상기 정보 변경에 상응하여 응용프로그램의 내용을 업데이트하는 것이 보다 바람직하다.The requestor module preferably updates the content of the application program in response to the information change upon receiving a notification signal indicating that the status of information to be collected by the object is changed, from the manager module.

또한, 상기 수집자 모듈은 상기 관리자모듈로부터 정보변경 인지객체가 사용자 요청정보에 대한 알림정보를 수신하면 사용자 요청정보에 해당하는 토픽을 상기 DDS 미들웨어를 통해 발간하도록 할 수 있다.In addition, when the information change object receives notification information about the user request information from the manager module, the collector module may issue a topic corresponding to the user request information through the DDS middleware.

그리고, 상기 수집자 모듈은 모니터링 정보 요청 메시지를 각 DDS 미들웨어가 인식할 수 있는 토픽 데이터로 변경한 후 상기 DDS 미들웨어로 전송하는 DDS 미들웨어 연동 컴포넌트를 포함하는 것이 바람직하다.
The collector module may include a DDS middleware interworking component for converting the monitoring information request message into topic data that can be recognized by each DDS middleware, and then transmitting the topic data to the DDS middleware.

본 발명에 따르면, 이종의 DDS 미들웨어를 사용하는 경우에도 토픽 정보를 인지하거나 데이터를 얻어올 수 있고 각 모듈의 독립적인 개발이 가능하도록 함으로써 효율적인 통합개발지원환경을 제공할 수 있는 효과가 있다.
According to the present invention, even when different types of DDS middleware are used, it is possible to recognize topic information or to obtain data, and independently develop each module, thereby providing an efficient integrated development support environment.

도 1은 본 발명에 따른 토픽 분할 구조 및 다방향 리스닝 구조를 갖는 네트워크 모니터링 도구의 구성을 나타낸 블럭도이다.
도 2는 본 발명에 따른 토픽 분할 구조를 나타낸 것이다.
도 3은 본 발명에 따른 다방향 리스닝 구조를 설명하기 위한 도면이다.
도 4는 종래 방식과 다방향 리스닝 구조의 차이점을 설명하기 위한 도면이다.
도 5는 인스턴스 결합도 비교를 위한 그래프이다.
도 6은 다방향 리스닝 구조를 적용한 모니터링 도구의 구성을 나타낸 것이다.
도 7은 요청자 모듈의 양방향 리스닝 구조를 설명하기 위한 도면이다.
도 8은 수집자 모듈의 양방향 리스닝 구조를 설명하기 위한 도면이다.
도 9는 수집자 모듈의 발간 동작을 나타내는 도면이다.
1 is a block diagram showing the configuration of a network monitoring tool having a topic division structure and a multi-directional listening structure according to the present invention.
2 shows a topic division structure according to the present invention.
3 is a view for explaining a multi-directional listening structure according to the present invention.
4 is a view for explaining a difference between a conventional method and a multi-directional listening structure.
5 is a graph for comparing the degree of coupling of the instances.
FIG. 6 shows a configuration of a monitoring tool using a multi-directional listening structure.
7 is a view for explaining a bidirectional listening structure of a requestor module.
8 is a view for explaining a bidirectional listening structure of the collector module.
9 is a diagram showing a publishing operation of the collector module.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
The description of the present invention is merely an example for structural or functional explanation, and the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, the embodiments are to be construed as being variously embodied and having various forms, so that the scope of the present invention should be understood to include equivalents capable of realizing technical ideas. Also, the purpose or effect of the present invention should not be construed as limiting the scope of the present invention, since it does not mean that a specific embodiment should include all or only such effect.

도 1은 본 발명에 따른 토픽 분할 구조 및 다방향 리스닝 구조를 갖는 네트워크 모니터링 도구의 구성을 나타낸 블럭도이다.1 is a block diagram showing the configuration of a network monitoring tool having a topic division structure and a multi-directional listening structure according to the present invention.

실시간 모니터링 도구는 네트워크 도메인 내에서 실행되는 DDS 응용프로그램들을 실시간으로 분석하기 위해서 DDS의 메시지와 엔티티 구조를 분석하는 응용프로그램이다. 각 DDS 엔티티들의 QoS 데이터를 확인할 수 있으며 해당 정보를 수집하여 통계정보를 추출한다. 또한 각종 에러, 송/수신 로그를 관리하여 DDS 응용프로그램의 관리에도 이용이 가능하다.A real-time monitoring tool is an application program that analyzes DDS messages and entity structures to analyze DDS applications running in a network domain in real time. The QoS data of each DDS entity can be confirmed and the statistical information is extracted by collecting the corresponding information. It also manages various errors and transmission / reception logs and can be used for managing DDS application programs.

도 1에 도시된 바와 같이, 본 발명에 따른 실시간 모니터링 도구는 요청자 모듈(10), 수집자 모듈(20) 및 관리자 모듈(30)을 포함하여 구성된다. 각 모듈은 상호 독립적으로 수행되며 요청자 모듈-관리자 모듈, 관리자 모듈-수집자 모듈 간의 인터페이스를 통해서 데이터를 교환한다. As shown in FIG. 1, the real-time monitoring tool according to the present invention includes a requestor module 10, a collector module 20, and a manager module 30. Each module is executed independently of each other and exchanges data through the interface between the requestor module-manager module and the manager module-collector module.

요청자 모듈(10)은 사용자와 도구 기능 사이의 인터페이스 역할을 담당하는 것으로, GUI(5 : Graphic User Interface)와 관련되어 사용자의 입력 및 데이터의 변경을 인식하여 사용자에게 보여준다. 각 모듈은 정보 변경을 인식하기 위해 정보변경인지 객체를 이용한다. The requester module 10 acts as an interface between a user and a tool function, and recognizes changes of a user's input and data in relation to a GUI (Graphic User Interface) 5 and displays it to a user. Each module uses an information-modified object to recognize the information change.

요청자 모듈은 모니터링 중인 데이터의 변경을 인지하기 위해 정보변경인지 객체(Announcer)를 이용한다. 정보변경인지 객체는 사용자가 모니터링하고자 하는 데이터마다 붙여서 이용할 수 있다. 사용자가 원하는 데이터에 대한 정보변경인지 객체를 생성하고 관리자 모듈(30)에 등록한다. 이후 정보변경인지 객체는 해당 정보의 변경을 인지할 경우 해당 정보에 관련된 GUI에 업데이트를 진행한다.The requestor module uses an information change object (announcer) to recognize the change in data being monitored. The information change recognition object can be used by attaching to each data to be monitored by the user. The user creates an information change object for data desired by the user and registers the object in the manager module 30. When the information change or recognition object recognizes the change of the information, the update is performed to the GUI related to the information.

수집자 모듈(20)은 모니터링 데이터 수집을 위한 DDS 메시지의 발간/구독을 담당하는 것으로서, 실시간 모니터링 도구에서 사용하는 DDS 미들웨어(50)를 이용하여 DDS 응용프로그램의 모니터링을 위한 토픽을 정의하며 실질적으로 DDS 미들웨어(50)를 경유해 네트워크로 데이터를 발간/구독하는 역할을 담당한다. 데이터의 발간/구독에 따라 정보변경을 인지하는 경우 특정 정보의 변경을 관리자 모듈(30)에게 통지한다.The collector module 20 is responsible for publishing / subscribing a DDS message for monitoring data collection. The DDS middleware 50 used in the real-time monitoring tool defines a topic for monitoring the DDS application program, DDS middleware 50 to publish / subscribe data on the network. And informs the manager module 30 of the change of the specific information when recognizing the information change according to the publication / subscription of the data.

관리자 모듈(30)은 요청자 모듈(10)과 수집자 모듈(20) 간에 개재되어 실시간 모니터링 도구 내에서 발간 또는 구독하는 데이터 및 통신 로그 메시지들에 대한 관리를 수행한다.
The manager module 30 is interposed between the requester module 10 and the collector module 20 to manage data or communication log messages issued or subscribed in the real time monitoring tool.

도 2는 본 발명에 따른 토픽 분할 구조를 나타낸 것이다.2 shows a topic division structure according to the present invention.

본 발명에 따른 실시간 모니터링 도구의 관리자 모듈(30)에서는 DDS 응용프로그램의 모니터링을 위해 토픽을 정보 객체(Information)라는 최소 단위로 나누어서 관리한다. DDS의 토픽은 데이터 타입과 토픽의 이름으로 구성된다. 데이터 타입은 발간/구독하는 정보의 자료구조를 의미하며 정보 객체는 DDS 토픽의 자료구조를 이루고 있는 각 변수를 나타낸다. 종래 DDS 개발 제품의 경우 자신들의 제품에만 적용되는 모니터링 토픽들을 정의하였다. DDS 제품마다 토픽의 명칭은 다르지만 내부의 데이터가 같거나, 원하는 데이터가 각각 다른 토픽들에 존재할 수 있기 때문에 다른 DDS 모니터링 도구와 상호 운용이 불가능하다.In order to monitor the DDS application program, the administrator module 30 of the real-time monitoring tool according to the present invention manages the topics by dividing them into minimum units called information objects. A topic in DDS consists of the data type and the name of the topic. The data type refers to the data structure of the information to be published / subscribed, and the information object represents each variable that forms the data structure of the DDS topic. In the case of conventional DDS development products, we defined monitoring topics that apply only to their products. Each DDS product has a different topic name but can not interoperate with other DDS monitoring tools because the internal data is the same or the desired data may exist in different topics.

그에 반해, 도 2에 도시된 바와 같은 토픽 분할 구조를 이용하면 모니터링에 필요한 최소단위의 정보를 나누어 관리하기 때문에 특정 정보의 발간/구독이 하나의 토픽에 고정되지 않는다. 따라서 각각의 토픽에 이들 최소단위 정보를 매핑함으로써 다양한 DDS 응용프로그램 및 모니터링 도구와 상호운용이 가능하다.
On the other hand, using the topic division structure as shown in FIG. 2 divides and manages the minimum unit information necessary for monitoring, the publication / subscription of specific information is not fixed to one topic. Therefore, it is possible to interoperate with various DDS application programs and monitoring tools by mapping these minimum unit information to each topic.

도 3은 본 발명에 따른 다방향 리스닝 구조를 설명하기 위한 도면으로서, 도 3 내지 9에서는 양방향 리스닝 구조가 예시되어 있다.Fig. 3 is a view for explaining a multi-directional listening structure according to the present invention, and Figs. 3 to 9 illustrate a bidirectional listening structure.

양방향 리스닝 구조는 서로 다른 두 모듈(10, 20)이 하나의 관리자 모듈(30)을 통하여 각 모듈(10, 20)에서 일어나는 정보의 변경을 통지하고 인지할 수 있다.The bidirectional listening structure can notify and recognize the change of information occurring in each module 10, 20 via two manager modules 30 by two different modules 10, 20.

본 발명에서는 양방향 리스닝 구조를 정의하기 위하여 정보변경인지 객체(Announcer), 연결 객체(Link), 정보 객체(Information) 라는 개념을 설계하였다.In the present invention, to define a bidirectional listening structure, concepts such as an information change, an announcer, a link object, and an information object are designed.

정보변경인지 객체는 자바(JAVA)의 리스너(Listener)와 같은 개념으로서 분석 및 통신 모듈에서 발간 및 구독되는 정보 변경을 인지하기 위하여 사용된다. 연결 객체는 정보변경인지 객체가 어떤 정보 객체의 변화에 관심이 있는지를 나타낸다. 정보 객체는 정보변경인지 객체가 인지하고자 하는 이벤트의 종류를 나타낸다.The information change object is used as a concept similar to a listener of Java (JAVA) to recognize information changes that are published and subscribed in analysis and communication modules. A connection object indicates whether a change of information or an object is interested in a change of an information object. The information object represents the kind of event that the object wants to perceive.

각 모듈(10, 20)의 정보가 변경되었다는 알림을 인지하기 위한 정보변경인지 객체가 생성되고, 관리자 모듈(30)에 등록된다. 관리자 모듈(30)은 정보변경인지 객체와 정보 객체 사이의 연결관계를 나타내는 연결 객체를 갖는다. 관리자 모듈(30)은 다른 모듈(10, 20)들로부터 정보 객체에 대한 알림정보를 수신하면, 연결 객체를 통해 해당 정보 객체와 연결된 정보변경 인지객체를 확인하고 알림을 해당 모듈(10, 20)의 정보 객체로 전달한다. 알림을 받은 정보 객체는 등록된 동작을 수행한다.
An information modification object for recognizing the notification that the information of each module 10, 20 has been changed is created and registered in the manager module 30. The manager module 30 has a connection object that indicates a connection relationship between the information change object and the information object. When the manager module 30 receives the notification information about the information object from the other modules 10 and 20, the manager module 30 checks the information change object associated with the information object through the connection object, As the information object of FIG. The informed information object performs the registered operation.

도 4는 종래 방식과 다방향 리스닝 구조의 차이점을 설명하기 위한 도면이고, 도 5는 인스턴스 결합도 비교를 위한 그래프이다.FIG. 4 is a view for explaining the difference between a conventional method and a multi-directional listening structure, and FIG. 5 is a graph for comparing instance coupling.

양방향 리스닝 구조를 이용하게 되면 기존 방식보다 결합도(coupling)가 감소한다. 결합도는 모듈간에 상호 의존하는 정도를 나타내며, 각 모듈간의 결합도가 약할수록 독립적 모듈이 된다.Using a bidirectional listening structure reduces the coupling more than the conventional method. The degree of coupling represents the degree of interdependence between modules, and as the degree of coupling between modules decreases, they become independent modules.

도 4(a)에서 종래 방식은 하나의 모듈에서 다른 모듈이 갖고 있는 인스턴스의 정보를 순차적으로 확인하기 때문에 모듈간 결합도가 강하다. 그러나 도 4(b)와 같은 양방향 리스닝 구조를 이용하면, 각 모듈이 갖고 있는 인스턴스의 정보를 하나의 관리자 모듈에서 관리하고, 연결된 인스턴스에 해당하는 정보만 관리자 모듈에서 가져온다. 인스턴스에서 정보를 요청하면, 관리자 모듈에서 해당 요청에 대한 정보를 확인하고 확인된 정보의 동작을 진행한다. 관리자 모듈을 사용하면, 각 모듈이 독립적으로 동작하기 때문에 모듈간 결합도는 감소한다.In FIG. 4 (a), since the conventional method sequentially checks the information of the instances of the other modules in one module, the degree of coupling between the modules is strong. However, using the bidirectional listening structure shown in FIG. 4 (b), the information of the instances of each module is managed by one manager module, and only the information corresponding to the connected instance is fetched from the manager module. When requesting information from an instance, the manager module confirms the information about the request and proceeds with the operation of the confirmed information. Using the manager module, the degree of coupling between modules decreases because each module operates independently.

모듈 1이 갖고 있는 인스턴스(source instance, src)의 개수를 i라 할 때, 최소 개수를 1, 최대 개수를 M으로 가정하고, 모듈 2가 갖고 있는 인스턴스(destination instance, des)의 개수를 j라 할 때, 최소 개수를 1, 최대 개수를 N으로 가정한다.When the number of instances (source instance, src) of module 1 is i, the minimum number is 1 and the maximum number is M, and the number of instances (destination instance, des) , The minimum number is assumed to be 1, and the maximum number is assumed to be N. [

그리고 각 모듈이 갖고 있는 인스턴스 사이의 관련성, 즉 인스턴스 i와 인스턴스 j 사이의 관계대수를 eij (0 ≤ eij ≤ 1)라고 하자. Let the relation between the instances of each module, that is, the relation between instance i and instance j, be eij (0 ≤ eij ≤ 1).

도 4 (a)의 종래 방식에서 모듈 1의 인스턴스가 모듈 2의 인스턴스에 연결할 때의 결합도(Original_CPLsrc), 모듈 2의 인스턴스가 모듈 1의 인스턴스에 연결할 때의 결합도(Original_CPLdes)는 다음 수학식 1과 같다.(Original_CPLsrc) when an instance of module 1 connects to an instance of module 2 in the conventional method of FIG. 4 (a), and a coupling degree (Original_CPLdes) when an instance of module 2 connects to an instance of module 1 is expressed by the following equation 1.

Figure 112014054875480-pat00001
Figure 112014054875480-pat00001

Figure 112014054875480-pat00002
Figure 112014054875480-pat00002

종래 방식은 각 모듈의 모든 인스턴스를 서로 확인하여 원하는 정보를 얻기 때문에, 수학식 2와 같은 결합이 발생한다.Since the conventional method identifies all instances of each module to each other to obtain desired information, a combination as shown in Equation (2) occurs.

Figure 112014054875480-pat00003
Figure 112014054875480-pat00003

Figure 112014054875480-pat00004
Figure 112014054875480-pat00004

모듈 내부에 있는 모든 인스턴스의 평균 관계 대수(Average_e)를 수식으로 나타내면 수학식 3과 같다. The average relation number (Average_e) of all instances in the module can be expressed by Equation (3).

Figure 112014054875480-pat00005
Figure 112014054875480-pat00005

관계 대수는 서로 연결된 인스턴스가 하나도 존재하지 않는 경우 최소 0, 모든 인스턴스가 원하는 정보를 확인하는 경우 최대 1이 된다. 평균 관계 대수가 최대값인 1일 때, 기존 방식에서 인스턴스의 결합도는 수학식 4와 같다.Relational algebra is at least 0 if there are no instances connected to each other, and 1 if all instances are checking for the desired information. When the average relation logarithm is 1, which is the maximum value, the coupling degree of the instance in the conventional method is expressed by Equation (4).

Figure 112014054875480-pat00006
Figure 112014054875480-pat00006

도 4(b)의 양방향 리스닝 구조(Full-Duplex listening architecture, FD)를 적용하면 각 모듈의 인스턴스가 서로 직접 연관되지 않고, 하나의 관리자 모듈을 통하여 정보를 확인하고 사용한다.When the full-duplex listening architecture (FD) of FIG. 4 (b) is applied, the instances of the respective modules are not directly related to each other, but the information is confirmed and used through one manager module.

정보 요청 알림을 보내는 모듈의 인스턴스 개수를 M, 요청 받은 알림에 해당하는 정보를 갖고 있는 모듈의 인스턴스 개수를 N이라고 할 때, 관리자 모듈(Manager Module, man)에서 발생하는 인스턴스의 결합도(FD_CPLman) 는 수학식 5와 같다.(FD_CPLman) of the instance generated in the manager module (man module) when the number of instances of the module that sends the information request notification is M and the number of instances of the module that has the information corresponding to the requested notification is N, Is expressed by Equation (5).

Figure 112014054875480-pat00007
Figure 112014054875480-pat00007

양방향 리스닝 구조를 적용하면, 모듈의 각 인스턴스는 관리자 모듈을 통해서 정보를 주고받기 때문에, 각 모듈은 서로 정보를 주고받기 위해 상대 모듈의 인스턴스와 연결 또는 관리할 필요가 없다. 그래서 각 모듈 별로 모듈 내부의 인스턴스 개수만큼의 결합도가 발생한다. 모듈 1의 인스턴스와들 관리자 모듈의 결합도(FD_CPLsrc), 그리고 모듈 2의 인스턴스와 관리자 모듈의 결합도(FD_CPLdes)는 수학식 6과 같다.When a bidirectional listening structure is applied, each instance of a module sends and receives information through an administrator module, so that each module does not have to connect or manage with an instance of the other module to exchange information with each other. Therefore, the degree of coupling is generated for each module by the number of instances in the module. (FD_CPLsrc) of the instance of module 1 and the manager manager module (FD_CPLsrc), and the coupling degree (FD_CPLdes) of the manager module and the instance of module 2 are expressed by Equation (6).

Figure 112014054875480-pat00008
Figure 112014054875480-pat00008

Figure 112014054875480-pat00009
Figure 112014054875480-pat00009

양방향 리스닝 구조를 적용한 전체 구조의 결합도는 각 모듈과 관리자 모듈 사이의 결합도와 관리자 모듈에서 발생하는 각 인스턴스의 결합도를 더한 것으로, 수학식 7과 같다. The degree of coupling of the entire structure using the bidirectional listening structure is obtained by adding the coupling between each module and the manager module and the coupling of each instance generated in the manager module.

Figure 112014054875480-pat00010
Figure 112014054875480-pat00010

Figure 112014054875480-pat00011
Figure 112014054875480-pat00011

하지만 관리자 모듈 내부에서 일어나는 연결은 내부 시스템에서 관리하기 때문에, 모듈 개발자가 인스턴스 사이의 정보를 확인하는 과정을 고려할 필요가 없다. 즉, 모듈 1의 개발자는 M의 결합도만, 모듈 2의 개발자는 N의 결합도만 고려하여 각 모듈을 개발하면 된다. 그러므로 관리자 모듈에서 발생하는 인스턴스의 결합도(FD_CPLman)는 고려하지 않아도 되기 때문에, 양방향 리스닝 구조를 적용하였을 때의 전체 구조 결합도는 수학식 8과 같다. However, since the connections occurring inside the manager module are managed by the internal system, the module developer does not need to consider the process of confirming information between the instances. That is, the developer of module 1 can develop each module only considering the coupling of M, and the developer of module 2 only considering the coupling of N. Therefore, since the FD_CPLman of the instance generated in the manager module does not need to be considered, the total structure coupling when the bidirectional listening structure is applied is expressed by Equation (8).

Figure 112014054875480-pat00012
Figure 112014054875480-pat00012

각 모듈마다 인스턴스의 개수를 최소 1개에서 최대 100개로 증가시킬 때, 기존 방식과 양방향 리스닝 구조를 적용한 방식의 결합도를 비교하면 도 5와 같다.5, when the number of instances is increased from at least one to a maximum of 100 for each module, the coupling between the conventional method and the method in which the bidirectional listening structure is applied is compared.

도 5를 통해, 인스턴스 개수가 증가할수록, 기존 방식을 이용할 때와 양방향 리스닝 구조를 이용할 때의 결합도 차이가 계속 증가하는 것을 볼 수 있다. 결합도가 감소하면 각 모듈 사이의 연관성이 감소하기 때문에, 개발 과정에서 각 모듈을 독립적으로 개발하기 수월하다. 이를 통해 개발 과정 중에 소요되는 시간/비용이 감소하고, 코드를 재사용 및 수정하기가 용이하기 때문에 효율적인 개발이 가능하다.
As can be seen from FIG. 5, as the number of instances increases, the coupling between the conventional method and the bidirectional listening structure increases continuously. As the degree of coupling decreases, the associativity between the modules decreases, which makes it easier to develop each module independently during development. This reduces the time / cost involved in the development process and facilitates efficient development because it is easy to reuse and modify code.

도 6은 다방향 리스닝 구조를 적용한 모니터링 도구의 구성을 나타낸 것이다.FIG. 6 shows a configuration of a monitoring tool using a multi-directional listening structure.

도 6에 도시된 것과 같은 양방향 리스닝 구조를 이용하면 응용프로그램에서 발간/구독을 수행하는 부분과 수집된 데이터를 분석하는 부분을 독립적으로 개발할 수 있다.
By using the bidirectional listening structure as shown in FIG. 6, it is possible to independently develop the part performing the publication / subscription in the application program and the part analyzing the collected data.

도 7은 요청자 모듈의 양방향 리스닝 구조를 설명하기 위한 도면으로서, 양방향 리스닝 구조의 분석 모듈에 해당하는 요청자 모듈을 나타낸다.7 is a diagram for explaining a bidirectional listening structure of a requestor module, and shows a requestor module corresponding to an analysis module of a bidirectional listening structure.

요청자 모듈(10)은 사용자와 응용프로그램 사이의 인터페이스를 담당한다.The requestor module 10 is responsible for the interface between the user and the application program.

요청자 모듈(10)은 응용프로그램에서 요청하는 데이터의 변경을 인지하기 위한 정보변경 인지객체를 생성하고, 생성된 정보변경 인지객체를 관리자 모듈(30)에 등록한다(1). 요청자 모듈(10)은 관리자 모듈(30)로부터 정보변경인지 객체가 수집하고자 하는 정보의 상태가 변경되었다는 알림정보를 수신하면(2), 정보변경인지 객체는 응용프로그램의 내용을 업데이트한다(3).The requestor module 10 creates an information change object to recognize a change in data requested by the application program, and registers the created information change object in the manager module 30 (1). When the requestor module 10 receives notification information that the status of the information to be collected by the information change object is changed from the manager module 30 (2), the information change object updates the contents of the application program (3) .

사용자가 응용프로그램을 통해 정보를 요청하면(4), 요청자 모듈(10)은 정보 요청에 대한 알림을 관리자 모듈(30)에 전달한다(5).
When the user requests information (4) through the application program, the requestor module 10 sends a notification of the information request to the manager module 30 (5).

도 8은 수집자 모듈의 양방향 리스닝 구조를 설명하기 위한 도면으로서, 양방향 리스닝 구조의 통신 모듈에 해당하는 수집자 모듈을 나타낸다.8 is a view for explaining a bidirectional listening structure of a collector module, and shows a collector module corresponding to a communication module of a bidirectional listening structure.

수집자 모듈(20)은 DDS 미들웨어를 이용하여 데이터를 발간 또는 구독하기 위한 토픽을 정의하고 실제 데이터의 발간 또는 구독을 수행한다. The collector module 20 uses the DDS middleware to define topics for publishing or subscribing to data and to publish or subscribe to the actual data.

수집자 모듈(20)은 DDS 미들웨어를 통해 발간/구독되는 데이터의 변경을 인지하기 위한 정보변경인지 객체를 수집자 모듈(20)에 생성하고, 관리자 모듈(30)에 등록한다(1). 수집자 모듈(20)은 관리자 모듈(30)로부터 정보변경인지 객체가 사용자 요청 정보에 대한 알림정보를 수신하면(2), 사용자 요청 정보에 해당하는 토픽을 DDS 미들웨어(50)를 통해 발간한다(3). The collector module 20 generates an information change object for recognizing a change of data published / subscribed through the DDS middleware in the collector module 20 and registers the object in the collector module 20 (1). The collector module 20 publishes the information corresponding to the user request information through the DDS middleware 50 when the information modification object receives the notification information about the user request information from the manager module 30 3).

수집자 모듈(20)은 DDS 미들웨어로부터 특정 토픽에 대한 데이터를 수신하면(4), 수신한 데이터에 대한 알림 정보를 관리자 모듈(30)로 전달한다(5).
When the collector module 20 receives data for a specific topic from the DDS middleware (4), the collector module 20 transfers notification information on the received data to the manager module 30 (5).

도 9는 수집자 모듈의 발간 동작을 나타내는 도면이다.9 is a diagram showing a publishing operation of the collector module.

수집자 모듈(20)은 DDS 미들웨어 연동 컴포넌트(21)를 포함한다. DDS 미들웨어 연동 컴포넌트(21)는 원하는 데이터에 대한 모니터링을 진행하기 위해서 필요한 것이다. DDS 미들웨어(5)마다 같은 정보를 각각 다른 토픽에 저장을 하는 경우가 있기 때문에 DDS 미들웨어 연동 컴포넌트(21)는 모니터링 정보 요청 메시지를 각 DDS 미들웨어(50)가 인식할 수 있는 토픽 데이터로 변경한 후 DDS 미들웨어(50)로 전송한다.
The collector module 20 includes a DDS middleware interworking component 21. The DDS middleware interworking component 21 is necessary for monitoring the desired data. The DDS middleware interworking component 21 changes the monitoring information request message to topic data that can be recognized by each DDS middleware 50 because the same information may be stored in different topics for each DDS middleware 5 To the DDS middleware 50.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that

10 : 요청자 모듈 20 : 수집자 모듈
21 : DDS 미들웨어 연동 컴포넌트 30 : 관리자 모듈
40 : GUI 50 : DDS 미들웨어
10: requester module 20: collector module
21: Interworking with DDS middleware Component 30: Administrator module
40: GUI 50: DDS middleware

Claims (7)

사용자와 DDS 응용 프로그램 간의 인터페이스를 제공하는 적어도 하나 이상의 요청자 모듈;
실시간 모니터링 도구에서 사용하는 DDS 미들웨어를 이용하여 DDS 응용프로그램의 모니터링을 위한 토픽을 정의하고 DDS 미들웨어를 경유해 네트워크로 데이터를 발간 및 구독하는 역할을 처리하는 적어도 하나 이상의 수집자 모듈; 및
상기 요청자 모듈과 수집자 모듈 간에 개재되어 실시간 모니터링 도구 내에서 발간 및 구독하는 데이터 및 통신 로그 메시지들에 대한 관리를 수행하는 관리자 모듈을 포함하되,
상기 요청자 모듈은 각각 응용 프로그램에서 요청하는 데이터의 변경을 인지하기 위한 정보변경 인지객체를 생성하여 상기 관리자 모듈에 등록하고,
상기 수집자 모듈은 사용자 요청의 발생을 인지하기 위한 정보변경 인지객체를 생성하여 상기 관리자 모듈에 등록하며,
상기 관리자 모듈은 토픽을 정보 객체 단위로 분할하여 관리하며, 상기 정보 객체와 정보변경 인지객체 간의 연결 관계를 나타내는 연결객체를 생성 및 관리하는 것을 특징으로 하는 토픽 분할 구조 및 다방향 리스닝 구조를 갖는 네트워크 모니터링 도구.
At least one requestor module providing an interface between a user and a DDS application;
At least one collector module that defines a topic for monitoring the DDS application program using the DDS middleware used in the real-time monitoring tool and processes the task of issuing and subscribing the data to the network via the DDS middleware; And
And a manager module interposed between the requestor module and the collector module for managing data and communication log messages issued and subscribed in the real-time monitoring tool,
Wherein the requestor module creates an information change object for recognizing a change in data requested by an application program and registers the object in the manager module,
Wherein the collector module creates an information change aware object for recognizing the occurrence of a user request and registers the modified information object in the manager module,
Wherein the manager module divides and manages a topic in units of information objects and generates and manages a connection object indicating a connection relationship between the information object and the information change aware object. Monitoring tools.
삭제delete 삭제delete 제 1항에 있어서,
상기 관리자 모듈은 상기 요청자 모듈로부터 응용프로그램에 의한 정보의 변경에 대한 알림정보를 수신하면 이를 상기 수집자 모듈로 전달하고, 상기 수집자 모듈로부터 DDS 미들웨어 발간 및 구독에 의한 정보 변경에 대한 알림정보를 수신하면 이를 상기 요청자 모듈로 전달하는 것을 특징으로 하는 토픽 분할 구조 및 다방향 리스닝 구조를 갖는 네트워크 모니터링 도구.
The method according to claim 1,
The manager module, when receiving the notification information about the change of the information by the application program from the requestor module, transmits the notification information to the collector module and informs the collector module of the change information by the DDS middleware publishing and subscribing And when it is received, delivers it to the requestor module. ≪ Desc / Clms Page number 20 >
제 4 항에 있어서,
상기 요청자 모듈은 상기 관리자 모듈로부터 정보변경 인지객체가 수집하고자 하는 정보의 상태가 변경되었다는 알림신호를 수신하면 상기 정보 변경에 상응하여 응용프로그램의 내용을 업데이트하는 것을 특징으로 하는 토픽 분할 구조 및 다방향 리스닝 구조를 갖는 네트워크 모니터링 도구.
5. The method of claim 4,
Wherein the requestor module updates the content of the application program in response to the information change upon receiving a notification signal indicating that the status of information to be collected by the object is changed by the manager module. Network monitoring tool with listening structure.
제 4 항에 있어서,
상기 수집자 모듈은 상기 관리자모듈로부터 정보변경 인지객체가 사용자 요청정보에 대한 알림정보를 수신하면 사용자 요청정보에 해당하는 토픽을 상기 DDS 미들웨어를 통해 발간하는 것을 특징으로 하는 토픽 분할 구조 및 다방향 리스닝 구조를 갖는 네트워크 모니터링 도구.
5. The method of claim 4,
Wherein the collector module issues a topic corresponding to the user request information through the DDS middleware when the information change object receives notification information on the user request information from the manager module. Network monitoring tool with structure.
제 1 항에 있어서,
상기 수집자 모듈은 모니터링 정보 요청 메시지를 각 DDS 미들웨어가 인식할 수 있는 토픽 데이터로 변경한 후 상기 DDS 미들웨어로 전송하는 DDS 미들웨어 연동 컴포넌트를 포함하는 것을 특징으로 하는 토픽 분할 구조 및 다방향 리스닝 구조를 갖는 네트워크 모니터링 도구.
The method according to claim 1,
Wherein the collector module includes a DDS middleware interworking component for transmitting a monitoring information request message to topic data recognized by each DDS middleware and then transmitting the topic data to the DDS middleware. Having a network monitoring tool.
KR1020140071318A 2014-06-12 2014-06-12 Network monitoring tool having topic division and multi direction listening structure KR101547532B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140071318A KR101547532B1 (en) 2014-06-12 2014-06-12 Network monitoring tool having topic division and multi direction listening structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140071318A KR101547532B1 (en) 2014-06-12 2014-06-12 Network monitoring tool having topic division and multi direction listening structure

Publications (1)

Publication Number Publication Date
KR101547532B1 true KR101547532B1 (en) 2015-08-27

Family

ID=54061999

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140071318A KR101547532B1 (en) 2014-06-12 2014-06-12 Network monitoring tool having topic division and multi direction listening structure

Country Status (1)

Country Link
KR (1) KR101547532B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101840430B1 (en) * 2016-11-28 2018-03-20 한전케이디엔 주식회사 Remote meter reading system using publishing and subscription method
CN111200533A (en) * 2020-01-07 2020-05-26 上海航天计算机技术研究所 OpenDDS-based distributed network configuration deployment method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101840430B1 (en) * 2016-11-28 2018-03-20 한전케이디엔 주식회사 Remote meter reading system using publishing and subscription method
CN111200533A (en) * 2020-01-07 2020-05-26 上海航天计算机技术研究所 OpenDDS-based distributed network configuration deployment method

Similar Documents

Publication Publication Date Title
US10747592B2 (en) Router management by an event stream processing cluster manager
US9135093B2 (en) Event-driven approach for collecting monitoring data of messaging systems
US9800691B2 (en) Stream processing using a client-server architecture
US10423469B2 (en) Router management by an event stream processing cluster manager
CN105915633B (en) Automatic operation and maintenance system and method
CN109274730B (en) Internet of things system, MQTT message transmission optimization method and device
EP3796167B1 (en) Router management by an event stream processing cluster manager
US8141151B2 (en) Non-intrusive monitoring of services in a service-oriented architecture
CN102693235B (en) Change information notification apparatus and the method for device configuration file
Balis et al. Real-time grid monitoring based on complex event processing
CN114090366A (en) Method, device and system for monitoring data
KR101547532B1 (en) Network monitoring tool having topic division and multi direction listening structure
US11368410B2 (en) System and method for scaling analytics collection
CN111831503B (en) Monitoring method based on monitoring agent and monitoring agent device
CN109672748B (en) Processing method, processing device and processing system for self-service equipment transaction flow
KR101911359B1 (en) Bluetooth low energy apapter and data exchange system employing the same
CN115023925B (en) Metric and event infrastructure
KR101637121B1 (en) Data processing device of multi direction listening structure using thread full
CN113114612B (en) Determination method and device for distributed system call chain
KR20190070630A (en) Server topology generation method
JP5632303B2 (en) Real-time data acquisition interface system and real-time data acquisition interface program
CN116880970A (en) Application function calling method and device, terminal equipment and storage medium
CN112039996A (en) Server resource management method and device
CN113742161A (en) Buried point reporting method and device
CN115617598A (en) State change monitoring method and device, terminal equipment and computer medium

Legal Events

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

Payment date: 20180723

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190730

Year of fee payment: 5