KR101405533B1 - Message transport system for high available multicast - Google Patents
Message transport system for high available multicast Download PDFInfo
- Publication number
- KR101405533B1 KR101405533B1 KR1020100128367A KR20100128367A KR101405533B1 KR 101405533 B1 KR101405533 B1 KR 101405533B1 KR 1020100128367 A KR1020100128367 A KR 1020100128367A KR 20100128367 A KR20100128367 A KR 20100128367A KR 101405533 B1 KR101405533 B1 KR 101405533B1
- Authority
- KR
- South Korea
- Prior art keywords
- message
- transmission
- sender
- module
- transmitted
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0859—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
- H04L41/0863—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions by rolling back to previous configuration versions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
이중화 시스템과 같은 고가용성 시스템에서 신뢰성 있는 멀티캐스트 전송을 이용하는 메시지 전송 시스템이 제공된다. 메시지 전송 시스템은, 응용 프로그램에 메시지 전송과 관련된 API를 제공하는 API 모듈과, 신뢰성 있는 멀티캐스트 전송을 수행하는 RMT 모듈과, API 모듈을 통해서 응용 프로그램으로부터 전달된 메시지를 RMT 모듈로 전송하고, 허용 가능한 전송 오류 횟수를 초과하여 전달된 메시지에 대한 전송이 실패할 경우 전송 실패 사실을 메시지를 전송한 송신자의 메시지 ID를 이용하여 송신자로 보고하고, 응용 프로그램으로부터 전달된 메시지의 형태가 지역적 메시지인 경우 지역 식별자를 추가하여 RMT 모듈로 전송하고, 핸드오버시 송신자 메시지 ID를 스탠바이 송신자의 메시지 ID로 변경하는 메시지 전송 관리 모듈을 포함한다. There is provided a message transmission system using reliable multicast transmission in a high availability system such as a redundancy system. The message transmission system includes an API module for providing an API related to message transmission to an application program, an RMT module for performing reliable multicast transmission, and a module for transmitting a message transferred from the application program to the RMT module through the API module, If transmission of a message exceeds the number of transmission errors possible, the transmission failure is reported to the sender using the message ID of the sender who transmitted the message. If the type of the message transmitted from the application program is a local message And a message transmission management module for adding the area identifier to the RMT module and changing the sender message ID to the message ID of the standby sender upon handover.
Description
본 발명은 메시지 전송 시스템에 관한 것으로, 특히 이중화 시스템이나 이동성 지원 시스템과 같은 고가용성 시스템에서 신뢰성 있는 멀티캐스트 전송을 이용하는 메시지 전송 시스템에 관한 것이다. The present invention relates to a message transmission system, and more particularly, to a message transmission system that utilizes reliable multicast transmission in a high availability system such as a redundancy system or a mobility support system.
동일한 메시지를 여러 개의 노드 혹은 노드 내에서 여러 응용 프로그램에 전송하기 위하여 특정 수신자에게만 데이터를 전송하는 유니캐스트 방식보다는, 송신자가 여러 수신자에게 데이터를 동시에 또는 한번에 전달가능한 멀티캐스트 방식을 이용하여 네트워크 자원의 낭비를 막을 수 있다. 이러한 멀티캐스트 전송 방식은 그룹 통신이 필요한 네트워크 서비스에 적합한 전송방식이다. 따라서 멀티캐스트 전송 방식은 그룹 통신이 필요한 IPTV(Internet Protocol Television), 뉴스 피드(News Feed), 인터넷 화상회의, 온라인 게임, 주문형 비디오 서비스, 디지털 비디오 방송 등에서 널리 사용되고 있다. In order to transmit the same message to multiple application programs in multiple nodes or nodes, it is necessary to use a multicast method in which a sender can transmit data to multiple recipients at the same time or at a time, rather than a unicast method in which data is transmitted only to a specific recipient. Waste can be prevented. This multicast transmission scheme is suitable for network services requiring group communication. Therefore, the multicast transmission method is widely used in IPTV (Internet Protocol Television), news feed, Internet video conferencing, online game, video-on-demand service, digital video broadcasting and the like which require group communication.
그러나, 기본적인 멀티캐스트 전송 방법은 한 번의 전송으로 종료되며, 네트워크나 수신자 측에서 수신이 불가능해지는 오류가 발생하기도 한다. 이 때문에, 신뢰성있는 멀티캐스트 전송에 대한 요구가 대두되었으며, 기본적인 멀티캐스트 전송 기능에 대하여 신뢰성 있는 멀티캐스트 전송을 구현하기 위한 프로토콜로서 RMTP(Reliable Multicast Transport Protocol)가 제안되었다. However, the basic multicast transmission method terminates in a single transmission, and sometimes an error occurs that reception becomes impossible on the network or the receiver side. Therefore, there has been a demand for reliable multicast transmission, and RMTP (Reliable Multicast Transport Protocol) has been proposed as a protocol for realizing reliable multicast transmission with respect to basic multicast transmission function.
RMTP에서는 응답 메시지(ACKnowledged:ACK라 함)를 이용하여 데이터 전송의 신뢰성을 제공한다. 즉, 송신자는 각 수신자들에게 데이터를 전송한 뒤, 각 수신자들로부터 ACK 메시지를 수신하여 전송 데이터의 손실 여부를 확인한다. 그리고 데이터의 손실이 발생하였을 경우 송신자는 해당 데이터를 재전송해 준다.In RMTP, a response message (ACKnowledged: ACK) is used to provide reliability of data transmission. That is, the sender transmits data to each of the receivers, receives an ACK message from each of the receivers, and confirms whether the transmitted data is lost or not. If a loss of data occurs, the sender retransmits the data.
이러한 멀티캐스트의 장점과 함께 신뢰성까지 갖춘 RMTP 제품들은 그 규모나 응용에 맞게 다양하게 발전하고 있다. 이러한 다양한 RMTP 중에서 현재 상황에 맞는 RMTP를 사용하여 메시지 전송 시스템을 구현할 경우, 메시지 전송 시스템에서 이용되는 응용 프로그램이 해당 RMTP에서 제공하는 API만을 가지고 작성되게 된다. 이 경우, 사용된 RMTP에 종속적인 시스템이 되어 버려, 비용이나 확장성, 성능 등의 이유로 RMTP를 교체하고자 할 경우에, RMTP뿐만 아니라 응용 프로그램의 변경을 포함한 막대한 개발 비용과 유지 보수 비용이 발생하게 된다. With the advantages of multicast and reliability, RMTP products are evolving to suit the size and application. When a message transmission system is implemented using RMTP according to the current situation among the various RMTPs, an application program used in the message transmission system is created using only the API provided by the corresponding RMTP. In this case, it becomes a system which is dependent on the used RMTP, and when the RMTP is changed due to cost, scalability, performance, etc., there is a huge development cost and maintenance cost including the change of the application program do.
이에 본 발명의 목적은 RMTP의 의존성을 가능한 최소화하여 RMTP의 교체가 비교적 쉽게 이루어질 수 있도록 하며, 이중화 시스템이나 이동성 지원 시스템 등의 고가용성 시스템에서 요구하는 추가 기능을 지원하는 고가용성 메시지 전송 시스템을 제공하는데 있다. Accordingly, it is an object of the present invention to provide a high availability message transmission system that can replace RMTP relatively easily by minimizing the dependence of RMTP, and to support additional functions required in a high availability system such as a redundancy system or a mobility support system .
일 측면에 따른 메시지 전송 시스템은, 응용 프로그램에 메시지 전송과 관련된 API를 제공하는 API 모듈과, 신뢰성 있는 멀티캐스트 전송을 수행하는 RMT 모듈과, API 모듈을 통해서 응용 프로그램으로부터 전달된 메시지를 RMT 모듈로 전송하고, 허용 가능한 전송 오류 횟수를 초과하여 전달된 메시지에 대한 전송이 실패할 경우 전송 실패 사실을 메시지를 전송한 송신자의 메시지 ID를 이용하여 송신자로 보고하고, 응용 프로그램으로부터 전달된 메시지의 형태가 지역적 메시지인 경우 지역 식별자를 추가하여 RMT 모듈로 전송하고, 핸드오버시 송신자 메시지 ID를 스탠바이 송신자의 메시지 ID로 변경하는 메시지 전송 관리 모듈을 포함한다. The message transmission system according to one aspect includes an API module for providing an API related to message transmission to an application program, an RMT module for performing reliable multicast transmission, and a RMT module for transmitting a message transmitted from the application program through an API module. And if transmission of the message exceeds the allowable number of transmission errors, transmission failure is reported to the sender using the message ID of the sender who has transmitted the message, and if the type of the message transmitted from the application program is And a message transmission management module for adding a local identifier to the RMT module when the message is a local message, and changing the sender message ID to the message ID of the standby sender upon handover.
본 발명에 따르면, 신뢰성 있는 멀티캐스트 전송 프로그램을 기반으로 하는 메시지 전송 시스템에서 사용자 API와 RMT간의 기능 확장을 위한 메시지 전송 관리 모듈을 구비하여 메시지 전송 실패 알림, 시스템 재시작시 필요한 정보를 신속하게 인접 노드로부터 전송받아 시스템 복구하는 기능 등을 지원해 줌으로써, 단순히 신뢰성 있는 단순 기능의 RMT만을 사용하면서도 고가용성 시스템에서 요구하는 기능을 제공해 줄 수 있는 이점이 있다.According to the present invention, a message transmission management module for expanding a function between a user API and an RMT in a message transmission system based on a reliable multicast transmission program is provided to notify a message transmission failure, It is possible to provide functions required in a high availability system while using only RMT having a simple and reliable function.
아울러 본 발명은 시스템 장애로 인한 재복구시에도 인접 노드로부터 메시지 목록 정보를 수신하여 시스템 복구 가능하기 때문에 성능 향상을 도모할 수 있으며, RMT에 대한 요구사항이 최소로 제한됨으로써 RMT에 상관없이 메시지 전송 시스템을 자유롭게 구성할 수 있는 이점이 있다.In addition, according to the present invention, the system can recover the message list information from the adjacent node even when the system is re-recovered due to the system failure. Therefore, the performance can be improved and the requirements for the RMT are minimized, There is an advantage that the system can be freely configured.
도 1은 본 발명의 실시예에 따른 메시지 전송 시스템의 구성을 나타내는 도면이다.
도 2는 도 1의 메시지 전송 시스템의 메시지 전송 관리 모듈에서 실행되는 메시지 전송 처리를 나타내는 흐름도이다. 1 is a block diagram of a message transmission system according to an embodiment of the present invention.
2 is a flowchart showing a message transmission process executed in the message transmission management module of the message transmission system of FIG.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세하게 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. In addition, the terms described below are defined in consideration of the functions of the present invention, which may vary depending on the intention of the user, the operator, or the like. Therefore, the definition should be based on the contents throughout this specification.
도 1은 본 발명의 실시예에 따른 메시지 전송 시스템의 구성을 나타내는 도면이다. 1 is a block diagram of a message transmission system according to an embodiment of the present invention.
메시지 전송 시스템(100)은 제어부(110) 및 전송부(120)를 포함할 수 있다. 전송부(120)는 API(Application Programming Interface) 모듈(110)과, 메시지 전송 관리 모듈(124) 및 신뢰성 있는 멀티캐스트 전송(이하 RMT라 함) 모듈(126)을 포함한다. The
메시지 전송 시스템(100)은 복수의 라인 카드를 탑재하여, 메시지가 복수의 라인 카드로 멀티캐스트될 수 있는 라우팅 시스템으로 구현될 수 있다. 또한, 메시지 전송 시스템(100)은 다양한 형태의 휴대 단말과 같은 사용자 단말 등으로 구현될 수 있다. The
제어부(110)는 메시지 전송 시스템(100) 전반의 동작을 제어하고, 운영 체제 및 다양한 응용 프로그램을 포함하고, 운영 체제 및 응용 프로그램들을 실행하도록 구성될 수 있다. 제어부(110)는 응용 프로그램의 실행에 따라서 전송부(120)가 신뢰성 있는 멀티캐스트 전송을 하도록 요청할 수 있다. The
전송부(120)는 API 모듈(122), 메시지 전송 관리 모듈(124) 및 RMT 모듈(126)을 포함할 수 있다. The
API 모듈(122)은 응용 프로그램과 후술할 메시지 전송 관리 모듈(124) 간의 적응 계층(adpatation layer)으로서 동작하여, 응용 프로그램으로부터 수신되는 정보를 메시지 전송 관리 모듈(124)에 전달하고, 메시지 전송 관리 모듈(124)로부터 수신되는 정보를 API 모듈(122)로 제공한다. 이러한 API 모듈(122)은 후술할 RMT 모듈(126)이 변경되더라도, 변경되지 않는 응용 프로그램에서 신뢰성 있는 멀티캐스트 전송이 필요할 때 사용하는 API를 응용 프로그램으로 제공할 수 있다. 예를 들어, API 모듈(122)은 가입(Join)/탈퇴(Leave) 또는 구독(Subscribe)/삭제(Unsubscribe), 포스트(post), 또는 전송(send)와 같은 API를 제공할 수 있다. The
메시지 전송 관리 모듈(124)은 응용 프로그램과 같은 상위 계층에서 전달된 메시지의 형태가 지역적 메시지인지 전역적 메시지인지를 검사할 수 있다. 지역적 메시지는 해당 노드내 즉, 메시지 전송 시스템(100)내에서 전달되는 메시지를 나타내고, 전역적 메시지는 다른 노드, 예를 들어, 메시지 전송 시스템(200)를 포함한 전체 노드로 전달되는 메시지를 나타낸다. The message
전달된 메시지의 형태가 지역적 메시지인지 전역적 메시지인지는 응용 프로그램이 이용한 API 내에서 구별될 수 있으며, 또는 메시지를 검사하여 확인될 수 있다. 메시지 전송 관리 모듈(124)은 메시지의 이름, 혹은 특정 메시지 필드에 부가된 정보를 통해 검사할 수 있다. 예를 들어, 메시지의 헤더 부분의 최상위 비트 또는 최하위 비트가 1인 경우, 지역적 메시지로 구분될 수 있다. 이러한 검사방법은 구현 시스템에 따라 다양하게 변형될 수 있다. Whether the type of the delivered message is a local message or a global message can be distinguished within the API used by the application, or can be verified by examining the message. The message
검사결과 응용 프로그램과 같은 상위 계층으로부터 전달된 메시지가 지역적 메시지라면, 메시지 전송 관리 모듈(124)은 메시지 구조체에 사전 정의된 필드(예를 들어, 메시지의 헤더의 일부 필드)에 지역 식별자를 추가한 후 RMT 모듈(126)로 전송할 수 있다. 지역 식별자는 노드별로 해당 노드를 지칭하는 유일한 값(또는 식별자)을 나타내며, 하나의 노드 즉, 메시지 전송 시스템(100)내에서 동일한 값을 가진다. 다만, 어떤 메시지가 해당 노드에서 지역적으로 사용되는지를 다른 노드에 알리기 위하여, 지역 식별자를 포함한 헤더 정보만을 다른 노드로 전달할 수 있다. If the message delivered from an upper layer such as an application program is a local message, the message
메시지 전송 관리 모듈(124)은 응용 프로그램으로부터 전달된 메시지를 후술할 RMT 모듈(126)에 전달할 수 있다. 메시지 전송 관리 모듈(124)은, 메시지 전송에 대한 허용 가능한 전송 오류 횟수(이하에서, 임계 횟수)를 설정할 수 있다. 메시지 전송 관리 모듈(124)은 적정한 임계 횟수를 설정할 수 있다. The message
RMT 모듈(126) 자체에도 수신된 메시지에 대한 전송이 실패한 경우에 일정 횟수 재전송을 허용하는 재전송 횟수가 설정될 수 있다. 예를 들어, 메시지 전송 관리 모듈(124)가 임계 횟수를 10이라고 설정하고, RMT 모듈(126)에 설정된 재전송 횟수가 2인 경우, 메시지 전송 관리 모듈(124)은 메시지 전송이 실패한 경우, RMT 모듈(126)에 5번까지 메시지 재전송을 요청하여, 임계 횟수만큼 메시지를 재전송할 수 있다. 이와 같은 방식으로, RMT 모듈(126)이 다른 RMT 모듈로 변경되는 경우에도, 메시지 전송 관리 모듈(124)은 메시지 재전송을 위한 임계 횟수를 일정하게 조정할 수 있다. The RMT
또한, 메시지 전송 관리 모듈(124)은 기 설정된 메시지 전송에 대한 임계 횟수를 초과하여 해당 메시지에 대한 전송이 실패할 경우, 전송 실패에 따른 전송 실패 메시지를 송신자로 전송하는 역할을 수행한다. 여기에서, 송신자는 메시지 전송을 요청한 응용 프로그램일 수 있다. 전송 실패 메시지를 송신자로 전송하기 위하여, 메시지 전송 관리 모듈(124)은 전송 실패 메시지를 전송할 송신자의 주소와 같은 송신자 메시지 ID를 관리할 수 있다. 송신자 메시지 ID는 RMT 모듈(126)을 통해 전송될 메시지별로 할당될 수 있으며, 예를 들어, 메시지 전송을 요청한 응용 프로그램이 전송 실패 여부를 확인하기 위하여 액세스하는 메모리의 특정 주소일 수 있다. In addition, the message
또한, 메시지 전송 관리 모듈(124)은 메시지 목록을 생성하고 관리할 수 있다. 응용 프로그램이 API 모듈(122)이 제공한 특정 API를 호출하면, 해당 응용 프로그램이 전달한 메시지에 대한 메시지 목록이 생성될 수 있다. The message
메시지 목록을 생성하기 위해 필요한 정보는 멀티캐스트 주소, 메시지 이름, 수신자(subscribe) 리스트와 송신자 메시지 ID 등의 송신자(publisher) 정보를 포함할 수 있다. 이러한 메시지 목록은 이중화된 시스템에서 핸드오버(handover)가 일어날 경우 이전 커넥션(connection)을 복구하기 위한 정보로 활용될 수 있다. The information needed to create the message list may include publisher information such as a multicast address, a message name, a list of subscribers, and a sender message ID. Such a message list can be utilized as information for restoring a previous connection when a handover occurs in a redundant system.
또한, 메시지 전송 관리 모듈(124)은 메시지 전송 시스템(100)의 시스템 장애로 인해 시스템 재시작이 일어나는 경우, 재시작시 다른 노드(또는 인접 노드)의 메시지 전송 시스템(예를 들어, 메시지 전송 시스템(200))으로 메시지 목록의 전송을 요청할 수 있다. 메시지 전송 관리 모듈(124)은 다른 메시지 전송 시스템으로부터 요청에 응답하여 메시지 목록을 수신하고, 메시지 목록을 활용하여 시스템 재시작 이전에 연결되어 있는 커넥션을 신속히 복구할 수도 있다. 또한, 메시지 전송 관리 모듈(124)은 메시지 목록을 다른 노드의 메시지 전송 시스템(200)으로 전송하여 다른 노드가 시스템 장애로 인해 시스템을 재시작해야 할 경우를 대비할 수 있다. In addition, when the system restarts due to a system failure of the
더 나아가 시스템의 안정성을 확보하기 위한 방안으로 시스템이 이중화되어 있다면, 메시지 전송 관리 모듈(124)은 동일한 정보의 재전송을 막기 위하여 시스템 핸드오버시 메시지 목록에 포함된 현재의 액티브 송신자 메시지 ID를 대기중인 스탠바이 송신자 또는 이동 지역의 갱신된 송신자의 메시지 ID로 변경한다. 이로써 재전송 요구나 오류 발생시 스탠바이 송신자가 적절한 조치를 취할 수 있다.If the system is duplicated in order to secure the stability of the system, the message
RMT 모듈(126)은 메시지 전송 관리 모듈(124)로부터 전달되는 메시지를 신뢰 전송 프로토콜(RMPT)에 따라 신뢰 전송 멀티캐스트 패킷으로 변환하여 전송하는 역할을 수행한다.The
상술한 메시지 전송 시스템(100)에서 API 모듈(122)은 라이브러리 형태로, 메시지 전송 관리 모듈(124)은 라이브러리 혹은 데몬 형태로, RMT 모듈(126)은 데몬 형태로 구현 가능하다. In the above-described
이하 상술한 모듈들을 포함하는 메시지 전송 시스템(100)의 동작을 이하 도 2를 참조하여 보다 구체적으로 설명한다. Hereinafter, the operation of the
도 2는 도 1의 메시지 전송 시스템(100)의 메시지 전송 관리 모듈(124)에서 실행되는 메시지 전송 처리를 나타내는 흐름도이다.2 is a flow diagram illustrating a message transfer process executed by the message
도 2를 참조하면, 우선 응용 프로그램은 메시지 전송을 해야 할 경우 본 발명의 실시예에 따른 메시지 전송 시스템(100)의 API 모듈(122)을 통해 메시지를 전달하고, 메시지 전송 관리 모듈(124)은 API 모듈(122)을 통해 전송할 메시지를 수신한다(210). 2, when an application program needs to transmit a message, the application program delivers a message through the
메시지 전송 관리 모듈(124)은 상위 계층에서 전달된 메시지의 형태가 지역적 메시지인지를 검사한다(220). The message
검사결과 상위 계층으로부터 전달된 메시지가 지역적 메시지라면(220), 메시지 전송 관리 모듈(124)은 메시지 구조체에 사전 정의된 필드에 지역 식별자를 추가한 후(230), RMT 모듈(126)로 전송한다(240). 지역 식별자가 추가된 메시지 혹은 전역으로 전파되어야 할 메시지는 이후 RMT 모듈(126)로 전송되어(240), 지역 내부 혹은 전역 시스템 그룹으로 전송된다.If the message transmitted from the upper layer is a local message (220), the message transmission management module (124) adds the local identifier to the predefined field in the message structure (230) and transmits the local identifier to the RMT module (240). The message to which the local identifier is added or the message to be propagated to the global area is then transmitted (240) to the
RMT 모듈(126)을 통한 전송이 실패하면(250), 메시지 전송 관리 모듈(124)은 메시지 전송 실패 횟수를 카운트한다(260). If the transmission through the
메시지 전송 실패 횟수가 메시지 전송에 대한 허용 가능한 전송 오류 횟수인 임계 횟수에 도달하지 않으면(270), 메시지 전송 관리 모듈(124)은 메시지 RMT 모듈(126)로 메시지를 다시 전송하여 메시지 재전송을 요청할 수 있다(240). 이러한 경우 메시지 전송 관리 모듈(124)은 RMT 모듈(126)의 임계 횟수를 초과하는 전송 오류가 발생할 경우의 재전송 요구에 응답하기 위하여 순차 번호 기반의 NACK 재전송 기법을 활용할 수 있다. If the number of message transmission failures does not reach the threshold number of acceptable transmission errors for the message transmission (270), the message
메시지 전송 실패 횟수가 메시지 전송에 대한 허용 가능한 전송 오류 횟수인 임계 횟수에 도달하면(270), 즉, 임계 횟수만큼의 재전송에도 오류가 발생하면(270), 메시지 전송 관리 모듈(124)은 송신자 메시지 ID를 이용하여 송신자에게 전송 실패 메시지를 전송하여 송신자의 메시지 송신에 문제가 있음을 통지한다(280). 이와 같이 메시지 전송 관리 모듈(124)이 송신자로 메시지 전송 실패 사실을 전송하면, 송신자는 메시지의 전송 실패 사실을 인지하고 필요한 경우 다시 재전송을 지시할 수 있다. 이와 같이, 임계 횟수 이상의 전송 오류가 발생한 경우, 메시지 전송이 불가능한 경우로 결정하고 송신자에게 전송 오류를 통지하고 메시지 전송을 중단할 수 있으므로, 계속적인 전송 오류에도 시스템 자원을 계속하여 누적적으로 이용함으로써 시스템에 처리 부하를 가중시키는 것을 방지할 수 있다. If the number of message transmission failures reaches a threshold number of times (270) that is the allowable number of transmission errors for the message transmission, that is, if an error occurs in retransmission of a threshold number of times (270), the message transmission management module The transmission failure message is transmitted to the sender using the ID to notify the sender of the problem of the message transmission (280). If the message
RMT 모듈(126)을 통해 메시지 전송이 성공한 경우(250), 동작이 종료된다. If the message transmission is successful (250) via the
이상의 실시예에서 설명한 것처럼 본 발명은 신뢰성 있는 멀티캐스트 전송 프로그램(RMT)을 기반으로 하는 메시지 전송 시스템에서 사용자 API와 RMT간의 기능 확장을 위한 메시지 전송 관리 모듈을 구비하여 메시지 전송 실패 알림, 시스템 재시작시 필요한 정보를 신속하게 인접 노드로부터 전송받아 시스템 복구하는 기능, 이중화 시스템에서 핸드오버시 송신자 메시지 ID 변경기능 등을 지원해 줌으로써, 단순히 신뢰성 있는 멀티캐스트 전송 기능만을 가지는 RMT만을 사용하면서도 고가용성 시스템에서 요구하는 여러 기능들을 효율적으로 제공해 줄 수 있다.As described in the above embodiments, the present invention provides a message transmission management module for expanding functions between a user API and an RMT in a message transmission system based on a reliable multicast transmission program (RMT) It supports the function to recover the system by receiving the necessary information from the neighboring node quickly and the function of changing the sender message ID at the time of handover in the redundant system. By using only the RMT having only the reliable multicast transmission function, It can provide various functions efficiently.
본 발명의 일 양상은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있다. 상기의 프로그램을 구현하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 디스크 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.One aspect of the present invention may be embodied as computer readable code on a computer readable recording medium. The code and code segments implementing the above program can be easily deduced by a computer programmer in the field. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical disk, and the like. The computer-readable recording medium may also be distributed over a networked computer system and stored and executed in computer readable code in a distributed manner.
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다. 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 invention. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be construed to include various embodiments within the scope of the claims.
Claims (10)
상기 송신자가 전달한 메시지에 대하여 메시지 송신자의 멀티캐스트 주소, 메시지 이름, 수신자 리스트와 각 송신자의 메시지 ID를 포함하는 메시지 목록을 생성하는 단계;
상기 수신된 메시지를 전달할 전송범위를 분석하는 단계;
상기 분석된 전송범위에 따라 상기 메시지의 사전 정의된 필드에 소정의 식별자를 추가한 후 이를 전송하는 단계; 및
상기 전송이 실패하면, 메시지의 재전송을 시도하고, 재전송횟수가 기설정된 임계횟수를 초과하면, 전송실패메시지를 상기 송신자에게 보고하는 단계를 포함하는 것을 특징으로 하는 메시지 전송 방법.
A method for multicast transmission of a message received from a sender on a network,
Generating a message list including a multicast address of a message sender, a message name, a list of recipients, and a message ID of each sender with respect to the message transmitted by the sender;
Analyzing a transmission range for transmitting the received message;
Adding a predetermined identifier to a predefined field of the message according to the analyzed transmission range, and transmitting the identifier; And
And attempting retransmission of the message if the transmission fails, and reporting a transmission failure message to the sender when the number of retransmissions exceeds a predetermined threshold number.
상기 재전송횟수가 기설정된 임계횟수를 초과하면, 전송될 메시지별로 할당된 송신자메시지 ID를 이용하여 상기 전송실패메시지를 송신자로 보고하는 것을 특징으로 하는 메시지 전송 방법.
The method of claim 1,
And reporting the transmission failure message to the sender using the sender message ID allocated to each message to be transmitted if the number of retransmissions exceeds a predetermined threshold number.
상기 네트워크에 장애가 발생한 경우, 상기 생성된 메시지 목록을 이용하여, 장애 이전상태의 상기 네트워크의 커넥션를 유지하는 것을 특징으로 하는 메시지 전송 방법.
2. The method of claim 1, wherein the transmitting
And when a failure occurs in the network, the connection of the network in the pre-failure state is maintained using the generated message list.
상기 수신된 메시지를 전달할 전송범위를 분석하고, 상기 수신된 메시지를 전달할 전송범위로 전송하며, 상기 전송의 실패횟수가 기설정된 임계횟수를 초과하면, 전송실패메시지를 상기 송신자에게 보고하는 전송부;
상기 전송부에 신뢰성 있는 멀티캐스트 요청을 하고, 운영체제 및 응용프로그램이 실행되도록 구성되는 제어부; 를 포함하는 것을 특징으로 하는 메시지 전송장치.
An apparatus for multicasting a message received from a sender over a network,
A transmission unit for analyzing a transmission range to which the received message is to be transmitted and transmitting the received message to a transmission range to which the received message is to be transmitted and reporting a transmission failure message to the sender when the number of failed transmission exceeds a predetermined threshold number;
A control unit configured to make a reliable multicast request to the transmission unit and configured to execute an operating system and an application program; Wherein the message transmission device comprises:
수신한 메시지를 상기 메시지 전송장치가 존재하는 네트워크 내에 전송하는 지역적 메시지, 상기 메시지 전송장치를 포함한 전체 네트워크로 전송하는 전역적 메시지로 구분하고,
상기 구분된 메시지의 사전 정의된 필드에 소정의 식별자를 추가하여 전송하는 것을 특징으로 하는 하는 메시지 전송장치.
6. The apparatus of claim 5,
A local message for transmitting the received message in a network in which the message transmission apparatus exists, and a global message for transmitting the message to the entire network including the message transmission apparatus,
Wherein the message is transmitted by adding a predetermined identifier to a predefined field of the separated message.
송신자가 전달한 메시지에 대하여 메시지 송신자의 멀티캐스트 주소, 메시지 이름, 수신자 리스트와 각 송신자의 메시지 ID를 포함하는 메시지 목록을 생성하고,
상기 생성된 메시지 목록을 인접한 메시지 전송 장치로 전송하는 것을 특징으로 하는 메시지 전송 장치.
6. The apparatus of claim 5,
A message list including a multicast address of a message sender, a message name, a recipient list, and a message ID of each sender with respect to a message delivered by the sender,
And transmits the generated message list to an adjacent message transmission device.
상기 기설정된 임계횟수를 초과하면, 전송될 메시지별로 할당된 송신자메시지 ID를 이용하여 상기 전송실패메시지를 송신자로 전송하는 것을 특징으로 하는 메시지 전송 장치.
6. The apparatus of claim 5,
And transmits the transmission failure message to the sender using the sender message ID allocated for each message to be transmitted if the predetermined threshold number is exceeded.
상기 네트워크의 장애발생 또는 이중화(Non-Stop Forwarding)되어 있는 네트워크에서 핸드오버시, 인접한 메시지 전송 장치로부터 상기 메시지 목록의 전송을 요청하고, 그에 응답하여 수신된 메시지 목록의 정보를 활용하여 이전 네트워크 커넥션을 유지함을 특징으로 하는 메시지 전송 장치.
8. The apparatus of claim 7, wherein the transmitting unit
When a handover occurs in a network where a failure or duplication of the network occurs, the transmission of the message list is requested from an adjacent message transmission apparatus, and in response to the message list, The message transmission apparatus comprising:
핸드오버시, 상기 메시지 목록의 송신자메시지 ID를 스탠바이 송신자 또는 이동 지역의 갱신된 송신자의 메시지 ID로 변경함을 특징으로 하는 메시지 전송 장치.8. The apparatus of claim 7, wherein the transmitting unit
And changes the sender's message ID of the message list to the message ID of the sender of the standby sender or the updated sender of the move area upon handover.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100128367A KR101405533B1 (en) | 2010-12-15 | 2010-12-15 | Message transport system for high available multicast |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100128367A KR101405533B1 (en) | 2010-12-15 | 2010-12-15 | Message transport system for high available multicast |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120066988A KR20120066988A (en) | 2012-06-25 |
KR101405533B1 true KR101405533B1 (en) | 2014-06-11 |
Family
ID=46686165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100128367A KR101405533B1 (en) | 2010-12-15 | 2010-12-15 | Message transport system for high available multicast |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101405533B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102464860B1 (en) * | 2018-07-10 | 2022-11-07 | 현대자동차주식회사 | Method and apparatus for managing notification failture in m2m system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100248080B1 (en) | 1997-10-06 | 2000-03-15 | 정선종 | Method of error control for multiparty multimedia communications |
US20050135401A1 (en) | 2003-12-18 | 2005-06-23 | Michael Schmidt | Multicast message routing systems and methods |
KR20060101639A (en) * | 2005-03-21 | 2006-09-26 | 삼성전자주식회사 | Method and apparatus for performing multicast service in mobile communication system |
KR20080012124A (en) * | 2006-08-01 | 2008-02-11 | 삼성전자주식회사 | Wireless communication network system and method of transmitting multicast packet over the wireless communication network |
-
2010
- 2010-12-15 KR KR1020100128367A patent/KR101405533B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100248080B1 (en) | 1997-10-06 | 2000-03-15 | 정선종 | Method of error control for multiparty multimedia communications |
US20050135401A1 (en) | 2003-12-18 | 2005-06-23 | Michael Schmidt | Multicast message routing systems and methods |
KR20060101639A (en) * | 2005-03-21 | 2006-09-26 | 삼성전자주식회사 | Method and apparatus for performing multicast service in mobile communication system |
KR20080012124A (en) * | 2006-08-01 | 2008-02-11 | 삼성전자주식회사 | Wireless communication network system and method of transmitting multicast packet over the wireless communication network |
Also Published As
Publication number | Publication date |
---|---|
KR20120066988A (en) | 2012-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1411688B1 (en) | Method and apparatus for multicast data retransmission | |
Whetten et al. | Reliable multicast transport building blocks for one-to-many bulk-data transfer | |
CA2553069C (en) | Identification and re-transmission of missing parts | |
EP1747644B1 (en) | Method and apparatus for group communication with end-to-end reliability | |
US8711854B2 (en) | Monitoring and correcting upstream packet loss | |
US8261148B2 (en) | Internet protocol multicast with internet protocol unicast/multicast error correction | |
Hofmann | Enabling group communication in global networks | |
US20030031175A1 (en) | Method of multicasting | |
US7801165B2 (en) | Multicast data transfer | |
US20080219151A1 (en) | System and method for using a peer to peer mechanism to repair broadcast data in wireless digital broadcast networks | |
CN101473571A (en) | Retransmission-based stream repair and stream join | |
JP5857135B2 (en) | Apparatus and method for transmitting a message to a plurality of receivers | |
US20050188107A1 (en) | Redundant pipelined file transfer | |
JP5550198B2 (en) | Protocol booster for SCTP in multicast networks | |
KR100883576B1 (en) | Data repair enhancements for multicast/broadcast data distribution | |
KR100240645B1 (en) | Packet error controller of multicast communication and method thereof | |
JP2010213150A (en) | Transmitter, file distribution system, file distribution control method and file distribution control program in system | |
KR101405533B1 (en) | Message transport system for high available multicast | |
KR100792153B1 (en) | Method for Transmission Data for Multicast Based Network, Method for Processing Data and Data Transmission System | |
JP2009212796A (en) | Transmitter, data transfer system, data transfer method, and data transfer program | |
JP2004201111A (en) | Multicast packet distributing system, method, and program | |
Whetten et al. | TRACK Architecture: A Scalable Real-time Reliable Multicast Protocol | |
KR102160818B1 (en) | System and method for ensuring the reliability in multiple multicast network | |
KR20090060891A (en) | Event transport system using a reliable multicast transport | |
US7870183B1 (en) | Multicast enabled mail |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |