KR101219637B1 - Message oriented middleware device for message communication processing using numeralized topic - Google Patents

Message oriented middleware device for message communication processing using numeralized topic Download PDF

Info

Publication number
KR101219637B1
KR101219637B1 KR1020120012865A KR20120012865A KR101219637B1 KR 101219637 B1 KR101219637 B1 KR 101219637B1 KR 1020120012865 A KR1020120012865 A KR 1020120012865A KR 20120012865 A KR20120012865 A KR 20120012865A KR 101219637 B1 KR101219637 B1 KR 101219637B1
Authority
KR
South Korea
Prior art keywords
message
terminal
communication
topic
name
Prior art date
Application number
KR1020120012865A
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 KR1020120012865A priority Critical patent/KR101219637B1/en
Application granted granted Critical
Publication of KR101219637B1 publication Critical patent/KR101219637B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

PURPOSE: A message based middleware device for performing message communication by using a numbered topic is provided to perform message communication between client terminals and processors executed in the client terminals, thereby increasing communication speed. CONSTITUTION: An execution means executes a message exchange queue program. The message exchange queue program generates a new second name corresponding to a first name requested by a client terminal(20). Server terminals are connected by a chain structure. A monitoring terminal sets up a message exchange server terminal(10) executing the message exchange queue program and monitors an operation of the server terminal. The message exchange server terminal numbers the first name. The message exchange server terminal generates and transmits the second name. [Reference numerals] (10) Server terminal; (20) Client terminal publication; (21,22) Client terminal subscription

Description

숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치{Message Oriented Middleware Device for message communication processing using numeralized topic}Message-oriented middleware device for message communication processing using numeralized topic}

본 발명은 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치에 관한 것이다.
The present invention relates to a message based middleware device for performing message communication using digitized topics.

여러 프로세서간에 데이터를 주고 받는 방식에는 Unix의 IPC 혹은 소켓(socket)방식을 이용하게 된다. 그러나, 운영체계(OS)에서 제공하는 방법은 경우에 따라 요구 조건에 부합하지 않는 경우가 있을 수 있으며, 대부분의 경우에는 상황에 맞는 여러 가지 방법을 조합하여 사용하게 된다.Data is sent and received between different processors using Unix's IPC or socket. However, the method provided by the operating system (OS) may not meet the requirements in some cases, and in most cases, a combination of methods appropriate to the situation is used.

이와 같이 여러 가지 방법을 조합하여 만들어진 프로그램은 요건이 변경되거나 통신의 주체들이 추가되는 경우에 프로그램을 수정하거나 인터페이스 방식을 변경해야 하는 경우도 발생할 수 있다.A program created by combining these methods may require modification of the program or change of interface in case of changing requirements or adding communication subjects.

일반적으로, 메시지 기반 미들웨어(Message Oriented Middleware, 이하, MOM이라 한다)는 다양한 요건 및 통신 주체의 변경과 인터페이스의 방식을 분리하여 유지보수의 편리성, 통신 프로그램의 일관성을 제공한다. 이러한 기능을 구현하기 위하여, MOM은 발행/인용(publish/subscribe) 이라는 방식을 사용하는데, 이는 발사후 망각(fire and forgot) 방식으로 동작하는 비동기 통신을 의미한다. 그러나, 이러한 방식은 일반적으로 데이터 전달을 보장하지는 않는다. In general, message-based middleware (hereinafter referred to as MOM) separates various requirements and changes of communication subjects and methods of interface to provide convenience of maintenance and consistency of communication programs. To implement this functionality, MOM uses a method called publish / subscribe, which means asynchronous communication that operates in a fire and forgot manner. However, this approach generally does not guarantee data delivery.

이러한 일반적인 MOM은 하나의 프로그램에 해당되는 것이므로, 시스템 사용율 100%, 네트워크의 리소스(resource) 부족 등과 같은 상황은 극복할 수 없다는 문제점이 있다. 따라서, 이러한 상황에서의 데이터 유실을 회피하기 위해 파일/메모리(file/memory)를 이용한 메시지 큐잉(message queuing), 보장된 메시지 전달 (Guaranteed message delivery), 라운드-로빈(Round-Robin) 및 서버간 시스템 대체 작동(fail-over) 등의 기능을 제공할 필요가 있다.
Since such a general MOM corresponds to one program, there is a problem in that a situation such as 100% system utilization and a lack of resources of a network cannot be overcome. Thus, message queuing using file / memory, guaranteed message delivery, round-robin, and server-to-server to avoid data loss in these situations. It is necessary to provide functions such as fail-over.

본 발명의 일 실시예는 클라이언트 단말기간, 상기 클라이언트 단말기에서 실행되는 프로세서간의 메시지 통신을 수행하는 메시지 교환 프로그램을 이용하여 통신 속도를 향상시킬 수 있는 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치를 제공한다.
An embodiment of the present invention provides a message for performing message communication using a digitized topic that can improve communication speed by using a message exchange program that performs message communication between client terminals and processors executed in the client terminal. It provides a base middleware device.

본 발명의 일 실시예에 의한 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치는 적어도 하나 이상의 클라이언트 단말기에 의하여 전송 요청된 제1 이름에 대응하는 새로운 제2 이름을 생성하는 메시지 교환 큐 프로그램(mxque)을 실행하는 수단, 각각 체인구조로 연결되는 적어도 두 개 이상의 서버 단말기를 포함하며, 상기 클라이언트 단말기들간의, 그리고 상기 클라이언트 단말기에서 실행되는 적어도 하나 이상의 프로세서들간의 메시지 통신을 수행하고, 상기 적어도 두 개 이상의 서버 단말기는 상기 메시지 교환 큐 프로그램을 실행시키는 어느 하나의 서버 단말기를 설정하고, 상기 설정된 서버 단말기의 동작을 모니터링하는 mx모니터링 단말기, 상기 클라이언트 단말기들간의, 그리고 상기 프로세서들간의 연결모듈로서, 상기 메시지 교환 큐 프로그램을 실행하여 메시지 전송 요청 서비스를 실행하되, 상기 제1 이름을 숫자화하여 상기 제2 이름을 생성 및 전송하는 mx서버 단말기를 포함하는 것을 특징으로 한다.A message-based middleware device that performs message communication using a digitized topic according to an embodiment of the present invention may generate a new second name corresponding to a first name requested by at least one client terminal. Means for executing a queue program (mxque), each comprising at least two server terminals connected in a chain structure, and performing message communication between the client terminals and at least one or more processors running on the client terminal; And at least two server terminals set any one server terminal for executing the message exchange queue program, and an mx monitoring terminal for monitoring the operation of the set server terminal, between the client terminals, and between the processors. Connection module On, but by performing the message exchange program execution queue the message transmission service request, it characterized in that it comprises a mx server device for generating and transmitting the second name numbered the first name.

상기 mx모니터링 단말기는 상기 메시지 교환 큐 프로그램을 실행하는 상기 mx서버 단말기의 동작이 비정상 종료되는 경우, 해당 mx서버 단말기를 모니터링하는 다른 서버 단말기가 상기 메시지 교환 큐 프로그램을 재실행시키도록 설정하는 것을 특징으로 한다.The mx monitoring terminal, when the operation of the mx server terminal for executing the message exchange queue program is abnormally terminated, another server terminal for monitoring the mx server terminal is configured to re-run the message exchange queue program do.

상기 제2 이름은 N:M(이때, N, M은 정수임)의 다중 통신 방식 또는 1:1 통신 방식을 정의하는 함수를 포함할 수 있는 것을 특징으로 한다.The second name may include a function defining a multiple communication method or a 1: 1 communication method of N: M (where N and M are integers).

상기 mx서버 단말기는 상기 제2 이름이 정의하는 함수에 따라 N:M 다중 통신 또는 1:1 통신을 수행할 수 있는 것을 특징으로 한다.
상기 mx서버 단말기는, 상기 클라이언트 단말기에 통신하고자 하는 프로세서가 존재하는 경우, 상기 프로세서들 간은 1: 1 방식의 통신을 수행하도록 할 수 있고, 상기 클라이언트 단말기들 간은 N:M 다중 통신을 수행하도록 할 수 있는 것을 특징으로 한다.
상기 메시지 교환 큐 프로그램은 상기 제1 이름에 대응하는 데이터를 숫자로 구성한 제2 이름을 구비하는 오브젝트 라이브러리를 포함하며, 상기 클라이언트 단말기에 의하여 전송 요청된 이름에 대응하는 이름이 상기 오브젝트 라이브러리에서 자동호출되는 것을 특징으로 한다.
The mx server terminal is capable of performing N: M multiple communication or 1: 1 communication according to the function defined by the second name.
When there is a processor to communicate with the client terminal, the mx server terminal may perform 1: 1 communication between the processors, and perform N: M multiple communication between the client terminals. It can be characterized by.
The message exchange queue program includes an object library having a second name in which data corresponding to the first name is composed of numbers, and a name corresponding to a name requested to be transmitted by the client terminal is automatically called from the object library. It is characterized by.

삭제delete

삭제delete

본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치는 동일한 메시지 교환 프로그램을 이용하여 클라이언트 단말기간, 상기 클라이언트 단말기에서 실행되는 프로세서간의 메시지 통신을 수행하도록 함으로써, 통신 속도를 향상시킬 수 있다.
The message-based middleware device that performs message communication using a digitized topic according to an embodiment of the present invention performs message communication between client terminals and processors executed in the client terminal by using the same message exchange program. Can improve the communication speed.

도 1은 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치를 간략하게 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치의 서버 단말기의 구조 및 동작을 간략하게 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치를 통하여 클라이언트 단말기간, 서버 단말기와 클라이언트 단말기와의 연결구성의 가능한 예를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치의 이벤트 함수 콜과 클라이언트 단말기와의 관계의 일 예를 나타내는 도면이다.
1 is a block diagram schematically illustrating a message-based middleware device for performing message communication using a digitized topic according to an embodiment of the present invention.
2 is a block diagram schematically illustrating a structure and an operation of a server terminal of a message-based middleware device that performs message communication using a digitized topic according to an embodiment of the present invention.
3 is a diagram illustrating a possible example of a connection configuration between a client terminal, a server terminal, and a client terminal through a message-based middleware device performing message communication using a digitized topic according to an embodiment of the present invention.
4 is a diagram illustrating an example of a relationship between an event function call and a client terminal of a message-based middleware device that performs message communication using a digitized topic according to an embodiment of the present invention.

본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로 본 발명의 바람직한 일 실시예를 첨부된 도면을 참조하여 상세하게 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention.

도 1은 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치를 간략하게 나타내는 블록도이고, 도 2는 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치의 서버 단말기의 구조 및 동작을 간략하게 나타내는 블록도이며, 도 3은 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치를 통하여 클라이언트 단말기간, 서버 단말기와 클라이언트 단말기와의 연결구성의 가능한 예를 나타내는 도면이다. 1 is a block diagram schematically illustrating a message-based middleware device for performing message communication using a digitized topic according to an embodiment of the present invention, and FIG. 2 is a digitized topic according to an embodiment of the present invention. Is a block diagram briefly illustrating a structure and an operation of a server terminal of a message-based middleware device that performs message communication using FIG. 3, and FIG. 3 illustrates message communication using a digitized topic according to an embodiment of the present invention. A diagram illustrating a possible configuration of a connection configuration between a client terminal, a server terminal, and a client terminal through a message based middleware device.

도 1 및 도 3을 참조하면, 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치는, 메시지 교환 큐 프로그램과 서버 단말기(10)를 통하여 클라이언트 단말기(20)간, 상기 클라이언트 단말기(20)에서 실행되는 프로세서간의 메시지 통신을 수행하는 장치이다.1 and 3, a message-based middleware device for performing message communication using a digitized topic according to an embodiment of the present invention may include a client terminal through a message exchange queue program and a server terminal 10. 20 is a device for performing message communication between processors executed in the client terminal 20.

보다 구체적으로는, 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치는, 메시지 교환 큐 프로그램(message exchange queue)인 하나의 실행 프로그램(1)을 실행하는 수단과 적어도 두 개 이상의 서버 단말기(10)로 구성된다. 여기서, 상기 메시지 교환 큐 프로그램(이하, mxque라 한다)은, 상기 클라이언트 단말기(20)에 의하여 전송 요청된 제1 이름에 대응하는 새로운 제2 이름을 생성한다. 상기 제1 이름은 클라이언트 단말기(20, 21, 22)들간의 통신을 위해 사용되는 토픽(topic)을 의미한다. 이러한 토픽은 개발자(programmer)가 지정하는 메시지의 주소이며 필요에 따라 임의로 만들어질 수 있다. 상기 토픽은 문자(character)로 구성되어, 소켓(socket)의 포트(port)와 IP 주소(ip address) 또는 메시지 큐(message queue)의 키(key)와 같은 역할을 한다. 예를 들면, 상기 제1 이름인 토픽은 “/abc/123”일 수 있다. 상기 토픽에 의한 메시지의 분배는 후술하는 mx서버 단말기(120)와 같은 메시지 엔진(message engine)이 담당한다. 상기 제2 이름은 상기 제1 이름을 숫자화하여 구성된 것으로서, 토픽의 역할을 한다. 예를 들면, 상기 제2 이름은 제1 이름인 “/abc/123”에 대응되도록 숫자화된 “1234567890”의 형태일 수 있다. 본 발명에 따른 메시지 기반 미들웨어 장치는 최대 256 바이트(bytes), “/”로 구분된 8개의 블럭을 토픽으로 사용할 수 있다. 이때, 토픽의 이름 중 “*”와 “?”는 임의 문자(wild character)를 의미한다. 이러한 제2 이름은 N:M(이때, N, M은 정수임)의 다중 통신 방식 또는 1:1 통신 방식을 정의하는 함수를 포함할 수 있다. 이에 따라, 상기 mx서버 단말기(120)는 상기 제2 이름이 정의하는 함수에 따라 N:M 다중 통신 또는 1:1 통신을 수행할 수 있게 된다. 예를 들면, TOPIC_HUB이면 해당 토픽을 이용하는 메시지는 허브방식으로 분배되는 것을 의미하고, TOPIC_P2P이면 피어 투 피어 방식으로 분배되는 것을 의미한다. 따라서, 본 발명에서는, 메시지 통신을 위해 등록된 토픽을 검사하여 해당 토픽으로 메시지를 전달하는 일반적인 방식과는 다르게 토픽을 숫자로 전환하여 토픽의 검색을 생략하여 메시지를 전달하도록 함으로써, 메시지의 통신 속도를 향상시킬 수 있게 된다.More specifically, a message-based middleware device for performing message communication using a digitized topic according to an embodiment of the present invention executes one execution program 1 which is a message exchange queue program. Means and at least two server terminals 10. Here, the message exchange queue program (hereinafter referred to as mxque) generates a new second name corresponding to the first name requested to be transmitted by the client terminal 20. The first name means a topic used for communication between the client terminals 20, 21, and 22. These topics are addresses of messages that the programmer specifies and can be created arbitrarily as needed. The topic is composed of characters, which serve as a port of a socket and an IP address or a key of a message queue. For example, the first topic may be “/ abc / 123”. The distribution of messages by the topic is handled by a message engine such as the mx server terminal 120 described later. The second name is formed by digitizing the first name and serves as a topic. For example, the second name may be in the form of “1234567890” that is digitized to correspond to the first name “/ abc / 123”. The message-based middleware device according to the present invention can use up to 256 blocks, 8 blocks separated by "/", as a topic. At this time, "*" and "?" In the name of the topic means a wild character. This second name may include a function defining a multiple communication scheme of N: M (where N and M are integers) or a 1: 1 communication scheme. Accordingly, the mx server terminal 120 can perform N: M multiple communication or 1: 1 communication according to the function defined by the second name. For example, if the message is TOPIC_HUB, the message using the topic is distributed in a hub manner, and if it is TOPIC_P2P, it is distributed in a peer-to-peer manner. Therefore, in the present invention, unlike the general method of inspecting a topic registered for message communication and delivering a message to the topic, by switching the topic to a number to skip the search of the topic to deliver the message, the communication speed of the message It will be possible to improve.

상기 서버 단말기(10)는 체인(chain)구조로 연결되어 하나의 서버 단말기가 비정상 종료되는 경우, 해당 서버 단말기를 모니터링(monitoring)하는 mx모니터링 단말기(110)가 재실행시키는 구조로 되어 있다. 상기 서버 단말기(10)는 적어도 두 개 이상의 서버 단말기(110, 120, 130, 140)를 포함하여 이루어진다. 구체적으로는, 상기 서버 단말기(10)는 상기 메시지 교환 큐 프로그램(1)을 실행시키는 어느 하나의 서버 단말기를 설정하고, 상기 설정된 서버 단말기의 동작을 모니터링하는 mx모니터링 단말기(110)와 상기 클라이언트 단말기(20, 21, 22)간, 및 상기 프로세서(미도시)간의 연결모듈로서, 상기 메시지 교환 큐 프로그램(1)을 실행하여 메시지 전송 요청 서비스를 실행하되, 상기 제1 이름을 숫자화하여 상기 제2 이름을 생성 및 전송하는 mx서버 단말기(120)를 포함한다. 또한, 상기 서버 단말기(10)는 서버 자원의 모니터링을 담당하는 mx 제1 모니터링 단말기(130)과, 클라이언트 테이블에 의한 시간별 클라이언트 단말기를 자동실행시키거나 이들을 모니터링하는 mx 제2 모니터링 단말기(140)을 더 포함할 수 있다. 바람직하게는, 본 발명에 사용되는 상기 서버 단말기(10)는 mx모니터링 단말기(110), mx서버 단말기(12 0), mx 제1 모니터링 단말기(130) 및 mx 제2 모니터링 단말기(140)로 이루어진 4개의 데몬 (daemon)으로 이루어질 수 있다.When the server terminal 10 is connected in a chain structure and one server terminal is abnormally terminated, the mx monitoring terminal 110 for monitoring the corresponding server terminal is re-executed. The server terminal 10 includes at least two server terminals 110, 120, 130, and 140. Specifically, the server terminal 10 sets any one server terminal for executing the message exchange queue program 1, the mx monitoring terminal 110 and the client terminal to monitor the operation of the set server terminal A connection module between (20, 21, 22) and the processor (not shown), executing the message exchange queue program 1 to execute a message transfer request service, wherein the first name is digitized 2 includes an mx server terminal 120 for generating and transmitting a name. In addition, the server terminal 10 includes the mx first monitoring terminal 130 in charge of monitoring the server resources, and the mx second monitoring terminal 140 for automatically executing or monitoring the hourly client terminal by the client table. It may further include. Preferably, the server terminal 10 used in the present invention is composed of mx monitoring terminal 110, mx server terminal 12 0, mx first monitoring terminal 130 and mx second monitoring terminal 140. It can consist of four daemons.

또한, 본 발명에 따른 메시지 기반 미들웨어 장치는 mxque(1)를 통하여 허브(HUB) 방식과 피어 투 피어(Peer to Peer) 방식을 모두 구현할 수 있다. 여기서, 상기 허브 방식은 발행/인용(Publish/subscribe) 과정에서 메시지를 해당 토픽으로 분배하는 기능을 의미하고, 상기 피어 투 피어 방식은 메시지 엔진, 즉, mx서버 단말기(120)를 거치지 않고, 클라이언트 단말기(20)와 클라이언트 단말기(21, 22)간의 직접 연결을 통해 메시지를 주고 받는 것을 의미한다. 본 발명은 메시지 기반 미들웨어 장치를 통하여 토픽의 형태를 정의하는 방식으로, 두 가지 방식을 모두 사용할 수 있다. 특히, 본 발명에 따른 메시지 기반 미들웨어 장치는 메시지 허브역할을 수행하는 서버 단말기(10)가 통합 관리하도록 하여 고속의 다중 통신(N:M)을 지원할 수 있게 된다. 예를 들면, 상술한 바와 같이, TOPIC_HUB이면 해당 토픽을 이용하는 메시지는 허브방식으로 분배되고, TOPIC_P2P이면 피어 투 피어방식으로 분배된다.In addition, the message-based middleware device according to the present invention can implement both a hub (HUB) method and a peer to peer method through mxque (1). Here, the hub method A function of distributing a message to a corresponding topic in a publish / subscribe process, and the peer-to-peer method does not go through a message engine, that is, an mx server terminal 120, and the client terminal 20 and the client. This means sending and receiving messages through a direct connection between the terminals 21 and 22. According to the present invention, a form of a topic is defined through a message-based middleware device, and both methods may be used. In particular, the message-based middleware device according to the present invention can support high-speed multi-communication (N: M) by allowing the server terminal 10 that performs the message hub to be integrated management. For example, as described above, the message using the topic is distributed in the hub manner if TOPIC_HUB, and in the peer-to-peer manner if TOPIC_P2P.

상기와 같이 구성된 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치는 도 3에서와 같은 통신 방식과 연결구조를 가질 수 있다. 이하에서는, 본 발명에 따른 메시지 기반 미들웨어 장치가 구현 가능한 통신방식을 mx서버 단말기간, 클라이언트 단말기와 mx서버 단말기간, 클라이언트 단말기간으로 나누어 설명하기로 한다.A message-based middleware device for performing message communication using a digitized topic according to an embodiment of the present invention configured as described above may have a communication scheme and a connection structure as shown in FIG. 3. Hereinafter, a communication method that can be implemented by the message-based middleware device according to the present invention between the mx server terminal, the client terminal and The description will be made between the mx server terminals and the client terminals.

mx서버 단말기간between mx server terminals

상기 메시지 기반 미들웨어 장치가 설치된 서버에서는 mx서버 단말기(121)가 메시지 엔진(message engine)의 역할을 수행하며, 상기 mx서버 단말기간(121, 122)에는 소켓(socket)이 연결된다. In the server where the message-based middleware device is installed, the mx server terminal 121 serves as a message engine, and sockets are connected between the mx server terminals 121 and 122.

클라이언트 단말기와 mx서버 단말기간 Between client terminal and mx server terminal

상기 mx서버 단말기(121)와 클라이언트 단말기(21, 22)가 동일한 노드(node #1)에 존재하는 경우, IPC(Inter-Process Communication)로 연결되고, 필요한 경우, 소켓으로 연결된다. 또한, 상기 mx서버 단말기(121)와 클라이언트 단말기(즉, 원거리 클라이언트 단말기)(25, 26)가 다른 노드(node #1, node #4)에 존재하는 경우, 소켓으로 연결된다. 또한, 상기 mx서버 단말기(121)와 클라이언트 단말기(21, 22)의 연결이 비정상 종료되는 경우, 클라이언트의 어댑터 쓰레드(adapter thread)는 mx서버 단말기로 자동 재연결을 한다.When the mx server terminal 121 and the client terminals 21 and 22 exist in the same node (node # 1), the mx server terminal 121 and the client terminal (21) 22 is connected by IPC (Inter-Process Communication), if necessary, is connected to the socket. In addition, when the mx server terminal 121 and the client terminal (that is, the remote client terminal) 25, 26 are present in other nodes (node # 1, node # 4), it is connected to the socket. In addition, when the connection between the mx server terminal 121 and the client terminals 21 and 22 is abnormally terminated, the adapter thread of the client automatically reconnects to the mx server terminal.

클라이언트 단말기간Between client terminals

상기 클라이언트 단말기간(23, 24, 26)의 연결에 있어서, 토픽(TOPIC)의 종류 및 위치에 따라 통신 수단이 변경된다. 즉, 동일한 서버(node #2)에 존재하는 두 클라이언트 단말기(23, 24)간을 TOPIC_IPC로 연결하는 경우의 통신 방식은 IPC가 되며, TOPIC_P2P로 하는 경우엔, 소켓을 이용한다. 다만, 두개의 클라이언트 단말기(25, 26)가 각각 다른 서버(node #2, node #3)에 존재한다면, IPC는 사용할 수 없으며 소켓을 이용한다.
In the connection between the client terminals 23, 24 and 26, the communication means is changed according to the type and position of the TOPIC. That is, the communication method in the case of connecting TOPIC_IPC between two client terminals 23 and 24 in the same server (node # 2) is IPC, and in the case of TOPIC_P2P, a socket is used. However, if two client terminals 25 and 26 exist in different servers (node # 2 and node # 3), IPC cannot be used and sockets are used.

한편, 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치에 의하면, 프로세서간, 서버간의 낮은 지연속도(Low Latency)의 데이터 통신을 지원할 수 있고, 보다 구체적으로는 메시지 엔진을 통한 다중 통신 및 프로세서간 1:1 (제한적인 N:M 통신)통신을 하나의 응용 프로그래밍 인터페이스(Application Programming Interface, API)를 이용하여 구현할 수 있으며, 동기, 비동기 통신방식을 결정할 수 있다. 나아가, 본 발명에 따른 메시지 기반 미들웨어 장치는 파일 시스템(File system)을 개방/폐쇄/판독/기록 (open/close/read/write)하는 방식과 동일한 구조의 API를 사용하고 있기 때문에, 통신 프로그램 제작 기간의 단축, 유지보수 용이성 및 통신 방식의 다양성을 제공할 수 있을 뿐만 아니라, 후술하는 바와 같이, 사용자로 하여금 라운드 로빈 (Round-Robin), 보장된 전달(Guaranteed delivery), 메시지 큐잉(Message Queuin -g)을 손쉽게 사용할 수 있도록 한다. 이하에서는, 이러한 효과를 제공하는 본 발명에 따른 메시지 기반 미들웨어 장치의 특징 및 기능에 대하여 구체적으로 설명하기로 한다.
On the other hand, according to the message-based middleware device for performing a message communication using a digitized topic according to an embodiment of the present invention, it is possible to support low latency data communication between processors, between servers, Specifically, multiple communication through the message engine and 1: 1 (limited N: M communication) communication between processors can be implemented using one application programming interface (API). You can decide. Furthermore, since the message-based middleware device according to the present invention uses an API having the same structure as a method of opening / closing / reading / writing a file system, a communication program is produced. Not only can provide shorter periods of time, ease of maintenance and variety of communication methods, but also allows users to round-robin, guaranteed delivery, message queuing, as described below. Make g) easy to use. Hereinafter, the features and functions of the message-based middleware device according to the present invention for providing such an effect will be described in detail.

본 발명에 따른 메시지 기반 미들웨어 장치의 특징Features of Message-Based Middleware Device According to the Present Invention

본 발명에 따른 메시지 기반 미들웨어 장치는 토픽(Topic) 형식에 따른 다양한 성격의 발행/인용(publish/subscribe)을 구현할 수 있다. 예를 들면, TOPIC_HUB는 일반적인 발행/인용(publish/subscribe) 기능을, TOPIC_P2P는 피어 투 피어를 위한 토픽을, TOPIC_MQ는 메시지 큐잉(message queuing)을, TOPIC_IPC는 동일 서버내의 고속 피어 투 피어 통신을, 또한 TOPIC_GD는 보장된 전달(Guaranteed delive -ry)을 위한 토픽을 정의하게 된다. The message-based middleware device according to the present invention may implement publish / subscribe of various characteristics according to a topic type. For example, TOPIC_HUB is a general publish / subscribe feature, TOPIC_P2P is a topic for peer-to-peer, TOPIC_MQ is message queuing, TOPIC_IPC is high-speed peer-to-peer communication on the same server, TOPIC_GD also defines the topic for Guaranteed Delive-ry.

또한, 본 발명에 따른 메시지 기반 미들웨어 장치는 메시지 전달(message delivery) 방식에 따른 발행/인용(publsh/subscribe)을 구현할 수 있다. 예를 들면, 요청/응답(Request/Reply), 메시지 큐잉에 의한 누적 데이터 전송, 인용자 (subscriber)로부터 승인(ack)을 수신하는 발행(publish), 다수의 인용자/노드 (subscriber/node)를 대상으로 하는 라운드-로빈(round-robin), 다수의 토픽을 동시에 인용(subscribe), 임의 문자(wild character)에 의한 다중 발행/인용(publis -h/subscribe) 기능을 수행할 수 있다. In addition, the message-based middleware device according to the present invention may implement a publish / subscribe (publsh / subscribe) according to the message delivery (message delivery) method. For example, Request / Reply, cumulative data transfer by message queuing, publish to receive an ack from a subscriber, multiple subscribers / nodes It is possible to round-robin for multiple topics, subscribe to multiple topics at the same time, and publish / publish by multiple characters (publis -h / subscribe).

또한, 본 발명에 따른 메시지 기반 미들웨어 장치는 CPU 친화성(親和性, affinity)[리눅스 버젼(linux version)]을 구현할 수 있다. 예를 들면, 메시지 엔진으로 사용되는 4개의 데몬(daemon, 즉, 서버 단말기)과 클라이언트별 CPU 할당, 운영하는 서버의 환경에 적합한 실행 형태를 설정, CPU 캐쉬(cache)의 최적화 사용 환경을 제공할 수 있다. In addition, the message-based middleware device according to the present invention can implement CPU affinity (linux version). For example, four daemons (ie server terminals) that are used as message engines, CPU allocation for each client, and the execution type suitable for the operating server environment can be provided to provide an optimized usage environment of the CPU cache. Can be.

또한, 본 발명에 따른 메시지 기반 미들웨어 장치는 시스템 대체 작동(fail -over) 기능을 제공할 수 있다. 예를 들면, 두 서버에서 각각 실행 중인 클라이언트간의 시스템 대체 작동(failover), 클라이언트의 연결서버 장애 시의 자동서버 전환기능, 노드(node)의 마스터(master)/슬래이브(slave) 전환 기능 및 슬래이브 노드(slave node)의 클라이언트 홀드(client hold)기능, 보장된 전달(Guaranteed delivery)에 의한 메시지 누락 방지 기능을 제공할 수 있다.
In addition, the message-based middleware device according to the present invention may provide a fail-over function. For example, system failover between clients running on each of the two servers, automatic server switching in the event of a client's connection server failure, node master / slave switching, and slab A client hold function of a slave node and a message drop prevention function by guaranteed delivery can be provided.

본 발명에 따른 메시지 기반 미들웨어 장치의 기능Function of message-based middleware device according to the present invention

본 발명에 따른 메시지 기반 미들웨어 장치는 mx서버 단말기와 같은 메시지 엔진을 통하여 발행/인용(publish/subscribe)을 수행하게 되는데, 구체적으로는 발행/인용(publish/subscribe), 라운드-로빈(round-robin), 승인(ack)을 수신하는 발행(publish), 메시지 큐잉(message queuing), 요청/응답(Request/Reply) 및 보장된 전달(Guaranteed delivery)을 구현할 수 있다. 또한, 클라이언트간의 직접 통신을 통하여 발행/인용(publish/subscribe)을 수행하게 되는데, 구체적으로는 발행/인용(publish/subscribe), 라운드-로빈(round-robin), 승인(ack)을 수신하는 발행(p -ublish) 기능을 구현할 수 있다.The message-based middleware device according to the present invention performs publish / subscribe through a message engine such as an mx server terminal. Specifically, publish / subscribe and round-robin ), Publish, receive ack, message queuing, Request / Reply, and Guaranteed delivery. In addition, publication / subscribe is performed through direct communication between clients. More specifically, publication / subscribe, round-robin, and approval to receive an ack. You can implement the (p -ublish) function.

또한, 시스템 대체 작동(Failover) 기능으로서, 발행/인용(publish/subscri -be), 마스터 노드(master node), 발행(publish) 클라이언트의 비정상 종료를 수행하게 된다.In addition, as a failover function, abnormal termination of a publish / subscribe-be, a master node, and a publish client is performed.

도 4는 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치의 이벤트 함수 콜과 클라이언트 단말기와의 관계의 일 예를 나타내는 도면이다.4 is a diagram illustrating an example of a relationship between an event function call and a client terminal of a message-based middleware device that performs message communication using a digitized topic according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치는, 인용(Subscribe)측에서 메시지의 도착, 요청(request)에 대한 응답 등과 같이 대기(wait) 상황이 발생하게 되는 경우, 기다리는 토픽에 메시지가 도착하며 등록한 함수가 실행되는 구조로 프로그램할 수 있다. 이때, 개발자는 토픽과 호출될 함수를 정의하여 사용할 수 있는데, 이 경우, 호출되는 함수는 독립된 별도의 쓰레드(thread)가 실행하는 구조로 되어 있다. 이와 같이, 사용자 정의에 의한 토픽 및 함수 콜 이외에 마스터 (master)/슬래이브(slave) 전환, 자동 재접속, 연결(connection), 폐쇄(close) 등과 같은 이벤트(event)는 각각의 이벤트 발생 시에도 함수를 정의했다면, 해당 함수는 자동으로 호출된다. 즉, 클라이언트 단말기는 mx서버 단말기(120)와 연결(con -nection)된 이후, 어댑터 쓰레드(adapter thread)가 자동 생성되며 mx서버 단말기와 통신하게 된다. Referring to FIG. 4, a message-based middleware device performing message communication using a digitized topic according to an embodiment of the present invention may include a message arriving at a subscribe side, a response to a request, and the like. If a wait condition occurs as well, a message arrives at the waiting topic and the program can be programmed to execute the registered function. At this time, the developer can define and use the topic and the function to be called. In this case, the called function is structured to be executed by a separate thread. As such, in addition to user-defined topics and function calls, events such as master / slave switching, automatic reconnection, connection, close, and so on, may occur when each event occurs. If you define, the function is called automatically. That is, after the client terminal is connected (con -nection) to the mx server terminal 120, an adapter thread is automatically generated and communicates with the mx server terminal.

또한, 본 발명에 따른 메시지 기반 미들웨어 장치는 하나의 프로그램에서 독립된 쓰레드(thread)를 이용할 경우, 여러 컴퓨터에서 실행 중인 메시지 기반 미들웨어 장치로의 연결이 가능하다. 이를 통하여 작업의 부하 분산 효과를 얻을 수 있으며, 주요 업무에 대한 실행을 보장받을 수 있다.In addition, when the message-based middleware device according to the present invention uses an independent thread in one program, the message-based middleware device can be connected to the message-based middleware device running on several computers. Through this, the load balancing effect of the work can be obtained and the execution of the main work can be guaranteed.

한편, 본 발명의 일 실시예에 따른 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치에서 사용되는 API와 프로그램의 구성에 관해 설명하자면, 메시지 기반 미들웨어 장치의 클라이언트 단말기에서 사용하는 API용 라이브러리(library)는 공유 객체(shared object)와 고정 객체(static object)의 두가지의 형태로 제공되며, 이에 필요한 헤더 파일(header file)을 포함한다.Meanwhile, to describe the configuration of an API and a program used in a message-based middleware device for performing message communication using a digitized topic according to an embodiment of the present invention, an API used in a client terminal of a message-based middleware device The library is provided in two forms, a shared object and a static object, and includes a header file required for this.

아래의 [표 1]은 메시지 기반 미들웨어 장치의 설치 후, 만들어지는 디렉토리(directory)이다.Table 1 below is a directory created after the installation of the message-based middleware device.

디렉토리Directory 내용Contents ~/bin~ / bin 실행 프로그램 및 4개의 서버 단말기Executor and four server terminals ~/clilog~ / clilog 본 발명에 따른 메시지 기반 미들웨어 장치가 설치된 유저의 클라이언트 로그 파일Client log file of a user with a message-based middleware device according to the present invention ~/env~ / env 본 발명에 따른 메시지 기반 미들웨어 장치의 실행환경 파일Execution environment file of message-based middleware device according to the present invention ~/inc~ / inc 클라이언트 프로그램 개발용 헤더 파일(header file)Header file for client program development ~/lib~ / lib 공유 객체 라이브 러리(shared object library)Shared object library ~/libs~ / libs 고정 객체 라이브러리(static object library)Static object library ~/license~ / license 라이센스 파일(license file)License file ~/log~ / log 서버 단말기의 로그 파일Log file on the server terminal ~/queue~ / queue 메시지 큐(message queue)용 파일File for message queue ~/table~ / table 에러 코드 테이블(errcode table) , CPU 테이블, 클라이언트 테이블Errcode table, CPU table, client table ~/tutorial~ / tutorial 튜토리얼(Tutorial) 설명서의 예제 프로그램Example Program in the Tutorial Manual ~/GD~ / GD Guaranteed delivery용 보관 파일Archive for Guaranteed Delivery

또한, 아래 [표 2]는 클라이언트 프로그램의 일 예로서, 임의의 데이터를 발행(publish)하는 프로그램이다.
In addition, Table 2 below is an example of a client program, which is a program that publishes arbitrary data.

6 #include "mxqapi.h"
7
8 int main()
9 {
10 int rtn, id, deliverytype = 0;
11 int i, sndsize, size = 256;
12 int waitsec = 0, waitmsec = 0;
13 char topicname[256];
14 unsigned char data[1024];
15
16 rtn = MXconnect ( NULL ,0, NULL , NULL ,5, NULL );
17 if (rtn < 0)
18 {
19 printf("ERROR:%s\n", MXgetErrMsg());
20 exit(0);
21 }
22 strcpy(topicname, "/sample/topic");
23 id = MXopenTopic ( TOPIC _ HUB , topicname , 0);
24 if (id < 0)
25 {
26 printf("ERROR:%s\n", MXgetErrMsg());
27 exit(0);
28 }
29 memset(data, 'a', 1024);
30 size = 1024;
31 for (i = 0; i < 10; i++)
32 {
33 sndsize = MXpubMsg ( id , deliverytype , data , size , waitsec , waitmsec );
34 if (sndsize < 0)
35 {
36 printf("ERROR:%s\n", MXgetErrMsg());
37 exit(0);
38 }
39 printf("PUB:%d:%.50s..\n", sndsize, data);
40 sleep(1);
41 }
42 MXcloseTopic ( id );
43 MXdisconnect (0);
44 exit(0);
45 }
6 #include "mxqapi.h"
7
8 int main ()
9 {
10 int rtn, id, deliverytype = 0;
11 int i, sndsize, size = 256;
12 int waitsec = 0, waitmsec = 0;
13 char topicname [256];
14 unsigned char data [1024];
15
16 rtn = MXconnect ( NULL , 0, NULL , NULL , 5, NULL );
17 if (rtn <0)
18 {
19 printf ("ERROR:% s \ n", MXgetErrMsg ());
20 exit (0);
21}
22 strcpy (topicname, "/ sample / topic");
23 id = MXopenTopic ( TOPIC _ HUB , topicname , 0);
24 if (id <0)
25 {
26 printf ("ERROR:% s \ n", MXgetErrMsg ());
27 exit (0);
28}
29 memset (data, 'a', 1024);
30 size = 1024;
31 for (i = 0; i <10; i ++)
32 {
33 sndsize = MXpubMsg ( id , deliverytype , data , size , waitsec , waitmsec );
34 if (sndsize <0)
35 {
36 printf ("ERROR:% s \ n", MXgetErrMsg ());
37 exit (0);
38}
39 printf ("PUB:% d:%. 50s .. \ n", sndsize, data);
40 sleep (1);
41}
42 MXcloseTopic ( id );
43 MXdisconnect (0);
44 exit (0);
45}

[표 2]에 대하여 사용된 API를 기준으로 간략하게 설명하자면, MXconnect()는 client(즉, 클라이언트 단말기)와 mxserver(즉, mx서버 단말기)간에 연결하는 것을 나타내고, MXopenTopic()는 사용할 토픽의 이름을 이용하여 mxserver로 토픽 개방(open)을 요청하여 향후 사용할 토픽 id를 얻기 위함이다. 또한, MXpubMsg()는 MXopenTopic()에서 얻은 토픽 id를 대상으로 임의의 데이터를 전송하고, MXcloseTopic()는 사용이 완료된 토픽을 닫으며, MXdisconnect()는 mx서버 단말기와의 연결을 종료함을 나타낸다. 이와 같이, 토픽의 사용은 유닉스 스트림(unix stream) 사용 방식과 동일한 구조를 가질 수 있다.Briefly based on the API used for [Table 2], MXconnect () indicates connection between client (i.e. client terminal) and mxserver (i.e. mxserver terminal), and MXopenTopic () indicates the topic to use. This is to request a topic open by using mxserver to get a topic id for future use. In addition, MXpubMsg () sends arbitrary data to the topic id obtained from MXopenTopic (), MXcloseTopic () closes the used topic, and MXdisconnect () terminates the connection with the mx server terminal. . In this way, the use of a topic may have the same structure as that of a Unix stream.

이상에서 설명한 것은 본 발명에 의한 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치를 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이, 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
What has been described above is only one embodiment for implementing a message-based middleware device for performing message communication using the digitized topics according to the present invention, the present invention is not limited to the above embodiment, the following patents As claimed in the claims, any person of ordinary skill in the art without departing from the gist of the present invention will have the technical spirit of the present invention to the extent that various modifications can be made.

1: mxque 10: 서버 단말기
20: 클라이언트 단말기 110: mx모니터링 단말기
120: mx서버 단말기 130: mx 제1 모니터링 단말기
140: mx 제2 모니터링 단말기
1: mxque 10: server terminal
20: client terminal 110: mx monitoring terminal
120: mx server terminal 130: mx first monitoring terminal
140: mx 2nd monitoring terminal

Claims (6)

적어도 하나 이상의 클라이언트 단말기에 의하여 전송 요청된 제1 이름에 대응하는 새로운 제2 이름을 생성하는 메시지 교환 큐 프로그램(mxque)을 실행하는 수단; 및
각각 체인구조로 연결되는 적어도 두 개 이상의 서버 단말기;
를 포함하며, 상기 클라이언트 단말기들간의, 그리고 상기 클라이언트 단말기에서 실행되는 적어도 하나 이상의 프로세서들간의 메시지 통신을 수행하고,
상기 적어도 두 개 이상의 서버 단말기는,
상기 메시지 교환 큐 프로그램을 실행시키는 어느 하나의 서버 단말기를 설정하고, 상기 설정된 서버 단말기의 동작을 모니터링하는 mx모니터링 단말기; 및
상기 클라이언트 단말기들간의, 그리고 상기 프로세서들간의 연결모듈로서, 상기 메시지 교환 큐 프로그램을 실행하여 메시지 전송 요청 서비스를 실행하되, 상기 제1 이름을 숫자화하여 상기 제2 이름을 생성 및 전송하는 mx서버 단말기를 포함하는 것을 특징으로 하는 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치.
Means for executing a message exchange queue program (mxque) for generating a new second name corresponding to the first name requested to be transmitted by at least one or more client terminals; And
At least two server terminals each connected in a chain structure;
A message communication between the client terminals and at least one or more processors running on the client terminal;
The at least two server terminals,
An mx monitoring terminal configured to set any one server terminal for executing the message exchange queue program and to monitor an operation of the set server terminal; And
An mx server, which is a connection module between the client terminals and between the processors, executes the message exchange queue program to execute a message transfer request service, and generates and transmits the second name by digitizing the first name. Message-based middleware device for performing a message communication using a digitized topic, characterized in that it comprises a terminal.
제1항에 있어서,
상기 mx모니터링 단말기는 상기 메시지 교환 큐 프로그램을 실행하는 상기 mx서버 단말기의 동작이 비정상 종료되는 경우, 해당 mx서버 단말기를 모니터링하는 다른 서버 단말기가 상기 메시지 교환 큐 프로그램을 재실행시키도록 설정하는 것을 특징으로 하는 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치.
The method of claim 1,
The mx monitoring terminal, when the operation of the mx server terminal for executing the message exchange queue program is abnormally terminated, another server terminal for monitoring the mx server terminal is configured to re-run the message exchange queue program Message-based middleware device for performing a message communication using a digitized topic.
제1항에 있어서,
상기 제2 이름은 N:M(이때, N, M은 정수임)의 다중 통신 방식 또는 1:1 통신 방식을 정의하는 함수를 포함할 수 있는 것을 특징으로 하는 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치.
The method of claim 1,
The second name may be a message communication using a digitized topic, characterized in that it may include a function for defining a multiple communication scheme of N: M (where N, M is an integer) or 1: 1 communication scheme Message-based middleware device that performs.
제3항에 있어서,
상기 mx서버 단말기는 상기 제2 이름이 정의하는 함수에 따라 N:M 다중 통신 또는 1:1 통신을 수행할 수 있는 것을 특징으로 하는 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치.
The method of claim 3,
The mx server terminal is a message-based middleware device for performing a message communication using the digitized topic, characterized in that the N: M multiple communication or 1: 1 communication according to the function defined by the second name. .
제4항에 있어서,
상기 mx서버 단말기는,
상기 클라이언트 단말기에 통신하고자 하는 프로세서가 존재하는 경우, 상기 프로세서들 간은 1: 1 방식의 통신을 수행하도록 할 수 있고, 상기 클라이언트 단말기들 간은 N:M 다중 통신을 수행하도록 할 수 있는 것을 특징으로 하는 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치.
5. The method of claim 4,
The mx server terminal,
When there is a processor to be communicated with the client terminal, the processors may perform a 1: 1 communication, and the client terminals may perform N: M multiple communication. Message-based middleware device for performing a message communication using a digitized topic.
제1항에 있어서,
상기 메시지 교환 큐 프로그램은 상기 제1 이름에 대응하는 데이터를 숫자로 구성한 제2 이름을 구비하는 오브젝트 라이브러리를 포함하며,
상기 클라이언트 단말기에 의하여 전송 요청된 이름에 대응하는 이름이 상기 오브젝트 라이브러리에서 자동호출되는 것을 특징으로 하는 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치.

The method of claim 1,
The message exchange queue program includes an object library having a second name consisting of numbers of data corresponding to the first name.
And a message corresponding to a name requested to be transmitted by the client terminal is automatically called from the object library.

KR1020120012865A 2012-02-08 2012-02-08 Message oriented middleware device for message communication processing using numeralized topic KR101219637B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120012865A KR101219637B1 (en) 2012-02-08 2012-02-08 Message oriented middleware device for message communication processing using numeralized topic

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120012865A KR101219637B1 (en) 2012-02-08 2012-02-08 Message oriented middleware device for message communication processing using numeralized topic

Publications (1)

Publication Number Publication Date
KR101219637B1 true KR101219637B1 (en) 2013-01-09

Family

ID=47841392

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120012865A KR101219637B1 (en) 2012-02-08 2012-02-08 Message oriented middleware device for message communication processing using numeralized topic

Country Status (1)

Country Link
KR (1) KR101219637B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040240462A1 (en) 2003-05-27 2004-12-02 Sun Microsystems, Inc. Hashing based messaging approach to a cluster
US7093261B1 (en) 2000-07-28 2006-08-15 Fair Isaac Corporation Message integration framework for multi-application systems
US20090157836A1 (en) 2000-07-07 2009-06-18 Softwired Ag Messaging Proxy System
US7912896B2 (en) 2003-04-17 2011-03-22 Visto Corporation Data access, replication or communication system comprising a distributed software application

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090157836A1 (en) 2000-07-07 2009-06-18 Softwired Ag Messaging Proxy System
US7093261B1 (en) 2000-07-28 2006-08-15 Fair Isaac Corporation Message integration framework for multi-application systems
US7912896B2 (en) 2003-04-17 2011-03-22 Visto Corporation Data access, replication or communication system comprising a distributed software application
US20040240462A1 (en) 2003-05-27 2004-12-02 Sun Microsystems, Inc. Hashing based messaging approach to a cluster

Similar Documents

Publication Publication Date Title
US11509611B2 (en) Method and system for providing high efficiency, bidirectional messaging for low latency applications
US9495392B2 (en) System and method for parallel multiplexing between servers in a cluster
CN107590072B (en) Application development and test method and device
US7805407B1 (en) System and method for dynamic configuration of replicated database servers
US9817657B2 (en) Integrated software development and deployment architecture and high availability client-server systems generated using the architecture
US9185054B2 (en) System and method for providing zero buffer copying in a middleware machine environment
JP4422606B2 (en) Distributed application server and method for implementing distributed functions
US9438668B2 (en) System and method for managing message queues in a peer-to-peer communication network
US20100138540A1 (en) Method of managing organization of a computer system, computer system, and program for managing organization
US20150312377A1 (en) System and method for updating service information for across-domain messaging in a transactional middleware machine environment
CN103562882A (en) System and method for providing a messaging application program interface
US10826977B2 (en) System and method for supporting asynchronous request/response in a network environment
JP2012510651A (en) Service load balancing
US9569224B2 (en) System and method for adaptively integrating a database state notification service with a distributed transactional middleware machine
Aditya et al. A high availability (HA) MariaDB Galera Cluster across data center with optimized WRR scheduling algorithm of LVS-TUN
CN110247971B (en) Method and system for reducing number of message middleware connections
JP5945543B2 (en) System including middleware machine environment
US11595471B1 (en) Method and system for electing a master in a cloud based distributed system using a serverless framework
US9967163B2 (en) Message system for avoiding processing-performance decline
KR101219637B1 (en) Message oriented middleware device for message communication processing using numeralized topic
Rosa et al. DerechoDDS: Efficiently leveraging RDMA for fast and consistent data distribution
Byun et al. DynaGrid: A dynamic service deployment and resource migration framework for WSRF-compliant applications
Wickramarachchi et al. Andes: A highly scalable persistent messaging system
US20200293386A1 (en) Messaging abstraction layer for integration with message oriented middleware platforms
Yang et al. DZMQ: A decentralized distributed messaging system for realtime Web applications and services

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151027

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161103

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191202

Year of fee payment: 8