KR102017719B1 - 멀티캐스트 장치 및 그 방법 - Google Patents

멀티캐스트 장치 및 그 방법 Download PDF

Info

Publication number
KR102017719B1
KR102017719B1 KR1020130058260A KR20130058260A KR102017719B1 KR 102017719 B1 KR102017719 B1 KR 102017719B1 KR 1020130058260 A KR1020130058260 A KR 1020130058260A KR 20130058260 A KR20130058260 A KR 20130058260A KR 102017719 B1 KR102017719 B1 KR 102017719B1
Authority
KR
South Korea
Prior art keywords
message
multicast
communication object
response
transmitting
Prior art date
Application number
KR1020130058260A
Other languages
English (en)
Other versions
KR20140137585A (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 KR1020130058260A priority Critical patent/KR102017719B1/ko
Priority to US14/253,136 priority patent/US9385840B2/en
Publication of KR20140137585A publication Critical patent/KR20140137585A/ko
Application granted granted Critical
Publication of KR102017719B1 publication Critical patent/KR102017719B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1685Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2201/00Algorithms used for the adjustment of time-domain equalizers
    • H04L2201/08Algorithms not covered by groups H04L2201/02 - H04L2201/06

Abstract

멀티캐스트 방법은 분산 네트워크 환경에서 멀티캐스트 장치가 적어도 하나의 통신객체를 검색하는 단계, 적어도 하나의 통신 객체 중에서 송신자 측면의 통신객체로부터 멀티캐스트 데이터를 수신하는 단계, 멀티캐스트 데이터를 송신한 통신객체로부터 폴링 메시지를 수신하는 단계, 폴링 메시지에 대응하는 응답 메시지를 전송하는 단계 및 응답 메시지를 전송한 결과를 토대로 통신객체 간의 전송에러 발생 여부를 판단하고, 판단한 결과를 토대로 멀티캐스트를 수행하는 단계를 포함한다.

Description

멀티캐스트 장치 및 그 방법{APPARATUS AND METHOD FOR MULTICAST}
본 발명은 멀티캐스트 장치 및 그 방법에 관한 것으로, 특히 분산 네트워크 환경에서 신뢰성을 보장하는 멀티캐스트 장치 및 그 방법에 관한 것이다.
IT 자원의 고성능화, 소형화, 저가격화가 진전됨에 따라 기존 IT 산업의 임베디드 SW 영역뿐만 아니라 자동차, 조선, 교통, 건설, 전력, 환경 등과 같은 거의 모든 전통 산업 영역에서도 컴퓨팅, 제어, 통신 등 IT 자원의 임베디드화가 급격히 진행되고 있다. 이와 같이 전 산업 영역에 걸쳐 IT 자원의 임베디드화에 따른 기존 산업, 제품과는 완전히 다른 양상을 가지는 산업 및 제품이 출현하고 있다. 이와 같이 전체 시스템을 구성하는 요소에 해당하는 개체의 수가 예전 네트워크의 경우와는 비교할 수 없을 정도로 급격히 증가하여, 점 대 점(Point-to-Point) 방식의 통신 방식을 이용하는 것은 응용 입장에서 불가능하다.
따라서, 효율적인 데이터 전송방법 중 하나인 멀티캐스트를 이용하여 전송 받고자 하는 특정한 다수를 대상으로 하여 데이터를 전송하는 일 대 다수(one-to-many) 형태의 통신방식이 필요하다.
하지만, 대규모 분산네트워크환경에서 멀티캐스트 서비스를 실제 적용하기 위해서는 통신개체의 수가 많아져도 신뢰성있는 서비스를 제공해야 하는 문제가 발생한다.
이는 대규모 통신개체가 한꺼번에 데이터를 송수신하면서도 특정 통신개체에 대해 전송실패 및 오류를 검지를 할 수 있어야 하며 이를 실시간으로 복구해야 한다. 하지만 통신개체 수, 데이터 메시지 수, 오류를 검출을 하기 위한 제어 메시지 수, 오류 복구를 위한 재전송 메시지 수가 네트워크에 폭주하면서 이를 어렵게 한다.
예를 들어, 한국 공개특허 제10-2010-0070361호 " 무선 근거리 네트워크들에서의 신뢰 가능한 멀티캐스트를 위해 병합된 자동 반복 요청으로 적응 순방향 에러 정정을 하기 위한 방법 및 장치"는 신뢰성이 필요한 멀티캐스트 응용에서 FEC(순방향 에러 정정) 과 ARQ(자동 반복 에러정정)을 이용하여 복수의 층을 만들고 수신된 패킷의 종류를 파악하여 해당하는 에러정정방법을 선택하는 기술에 관하여만 기재하고 있다.
이와 같이, 대규모 분산 네트워크 환경에서는 멀티캐스트 서비스를 실제 적용하기 위하여 새로운 멀티캐스트 방법이 필요하다. 이러한 멀티캐스트 서비스를 지원하기 위해서는 통신개체수가 많아짐에도 불구하고 네트워크에 폭주하는 메시지들을 제어하여 메시지 개수를 크게 줄임으로써 특정 통신개체에 대해 전송실패 및 오류를 검지하고 이를 실시간으로 복구하는 메카니즘을 제공해야 한다.
본 발명의 목적은 분산 네트워크 환경에서 신뢰성을 보장하는 멀티캐스트 장치 및 그 방법을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 멀티캐스트 방법은
분산 네트워크 환경에서 멀티캐스트 장치가 적어도 하나의 통신객체를 검색하는 단계; 상기 적어도 하나의 통신 객체 중에서 송신자 측면의 통신객체로부터 멀티캐스트 데이터를 수신하는 단계; 상기 멀티캐스트 데이터를 송신한 통신객체로부터 폴링 메시지를 수신하는 단계; 상기 폴링 메시지에 대응하는 응답 메시지를 전송하는 단계; 및 상기 응답 메시지를 전송한 결과를 토대로 통신객체 간의 전송에러 발생 여부를 판단하고, 판단한 결과를 토대로 멀티캐스트를 수행하는 단계를 포함한다.
이 때, 상기 응답 메시지를 전송하는 단계는 상기 폴링 메시지를 수신한 경우에 확인 메시지를 전송하거나 상기 폴링 메시지를 수신하지 않은 경우에 미확인 메시지를 전송하는 것을 특징으로 한다.
이 때, 상기 멀티캐스트를 수행하는 단계는 상기 미확인 메시지를 전송한 경우에는 멀티캐스트 데이터를 재수신하여 에러를 복구하는 것을 특징으로 한다.
이 때, 상기 폴링 메시지를 수신하는 단계는 상기 멀티캐스트 데이터를 송신한 통신객체에서 에퍽을 이용하여 스케줄링한 폴링 메시지를 수신하는 것을 특징으로 한다.
이 때, 상기 응답 메시지를 전송하는 단계는 피드백 스케줄링을 이용하여 응답 메시지를 전송하는 것을 특징으로 한다.
또한, 본 발명의 일실시예에 따른 멀티캐스트 장치는
분산 네트워크 환경에서 적어도 하나의 통신객체를 검색하고, 검색한 결과를 토대로 멀티캐스트 그룹을 형성하는 검색부; 및 상기 적어도 하나의 통신 객체 중에서 송신자 측면의 통신객체로부터 멀티캐스트 데이터와 폴링 메시지를 수신하고, 수신한 폴링 메시지에 대응하는 응답 메시지를 전송한 결과를 토대로 통신객체간의 전송에러 발생 여부를 판단하여, 판단한 결과를 토대로 멀티캐스트를 수행하는 피드백 에어 제어부를 포함한다.
이 때, 상기 피드백 에어 제어부는
상기 멀티캐스트 그룹 내 통신객체로부터 멀티캐스트 데이터를 수신하는 멀티캐스트 데이터 수신부; 상기 멀티캐스트 데이터를 송신한 통신객체로부터 상기 폴링 메시지를 수신하는 폴링 메시지 수신부; 상기 폴링 메시지를 수신한 것에 대응하는 확인 메시지 또는 미확인 메시지를 전달하는 응답 전달부; 및 상기 미확인 메시지를 전달하는 경우 상기 송신자 측면의 통신객체로부터 멀티캐스트 데이터를 재수신하여 에러를 복구하는 에러 복구부를 포함한다.
이 때, 상기 폴링 메시지 수신부는 상기 멀티캐스트 데이터를 송신한 통신객체에서 에퍽을 이용하여 스케줄링한 폴링 메시지를 수신하는 것을 특징으로 한다.
본 발명에 따르면, 멀티캐스트 장치 및 그 방법은 분산 네트워크 환경에서 신뢰성을 보장할 수 있다.
도 1은 본 발명의 실시예에 따른 멀티캐스트 장치를 개략적으로 나타내는 구성도이다.
도 2는 본 발명의 실시예에 따른 송신자 측면의 피드백 에러 제어부를 나타내는 구성도이다.
도 3은 본 발명의 실시예에 따른 수신자 측면의 피드백 에러 제어부를 나타내는 구성도이다.
도 4는 본 발명의 실시예에 따른 멀티캐스트 방법을 나타내는 흐름도이다.
도 5는 본 발명의 실시예에 따른 에퍽을 이용하여 폴링메시지를 스케줄링하는 방법을 나타내는 도면이다.
도 6은 본 발명의 실시예에 따른 에퍽에 수신할 수 있는 응답 메시지의 개수를 제한하는 것을 나타내는 도면이다.
도 7은 본 발명의 실시예에 따른 피드백 스케줄링을 이용하여 응답 메시지를 전달하는 방법을 나타내는 도면이다.
도 8은 본 발명의 실시예에 따른 멀티캐스트 장치에서 에러를 복구하는 방법을 나타내는 도면이다.
도 9는 본 발명의 실시예에 따라 상태천이에 대한 흐름을 나타내는 도면이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예 따른 멀티캐스트 장치 및 그 방법에 대하여 첨부한 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 멀티캐스트 장치를 개략적으로 나타내는 구성도이다.
먼저, 다수의 통신개체들 사이에 신뢰성 있는 데이터 전송이 요구되는 분산 네트워크에서 데이터를 효율적으로 전송하기 위해서는 새로운 멀티캐스트 프레임워크를 설계해야 한다. 이를 위하여, 멀티캐스트 장치는 도 1과 같이 구성된다.
도 1을 참고하면, 멀티캐스트 장치는 검색부(100) 및 피드백 에러 제어부(200)를 포함한다. 멀티캐스트 장치는 해당 통신 객체에 적용된다.
검색부(100)는 분산 네트워크 환경에서 통신객체를 검색하고, 검색한 결과를 토대로 멀티캐스트 그룹을 형성한다.
구체적으로, 검색부(100)는 검색한 통신객체를 멀티캐스트 그룹에 참여(Join) 또는 틸퇴(Leave)시킬지를 결정하여, 결정한 결과를 토대로 세션을 맺거나(Join) 종료(Leave)한다.
피드백 에러 제어부(200)는 송신자측 통신객체에서 형성된 멀티캐스트 그룹을 토대로 에퍽(Epoch)을 이용하여 폴링 메시지를 스케줄링하도록 제어하고, 수신자측 통신객체에서 피드백 스케줄링을 이용하여 ACK 또는 NACK를 응답하고, 응답결과에 따라 에러 복구의 수행여부를 결정하도록 제어한다.
즉, 본 발명의 실시예에 따른, 피드백 에어 제어부(200)는 검색부(100)에서 멀티캐스트 그룹을 형성하면, 피드백 에러 제어를 수행함으로써, 신뢰성 있는 멀티캐스트를 전송할 수 있다.
다음, 멀티캐스트 장치에서 피드백 에어 제어부(200)를 도 2 및 도 3을 참조하여 상세하게 설명한다.
도 2는 본 발명의 실시예에 따른 송신자 측면의 피드백 에러 제어부를 나타내는 구성도이다.
도 2를 참고하면, 송신자 측면의 피드백 에어 제어부(200)는 멀티캐스트 데이터 송신부(211), 폴링 메시지 송신부(212), 응답 통합부(213) 및 재전송부(214)를 포함한다.
멀티캐스트 데이터 송신부(211)는 멀티캐스트 그룹 내 적어도 하나의 통신객체로 멀티캐스트 데이터를 송신한다.
폴링 메시지 송신부(212)는 폴링 메시지(Polling Message)를 주기적으로 전송함으로써, 수신자 측면의 통신객체의 메시지 수신상태를 점검한다.
응답 통합부(213)는 폴링 메시지를 수신한 통신 객체의 수신 상태를 통합한다.
재전송부(214)는 응답 통합부(213)에서 통합한 통신 객체의 수신 상태 중 에러가 발생한 경우에 멀티캐스트 데이터를 재전송한다. 이와 같이, 재전송부(214)는 멀티캐스트 데이터를 재전송함으로써 에러를 복구할 수 있다. 여기서, 본 발명은 통신 객체의 수가 많아짐에도 불구하고 네트워크에 폭주하는 메시지들을 제어하여 메시지 개수를 크게 줄임으로써, 신뢰성을 보장하는 효율적인 멀티캐스트 방법을 제공할 수 있다.
도 3은 본 발명의 실시예에 따른 수신자 측면의 피드백 에러 제어부를 나타내는 구성도이다.
도 3을 참고하면, 수신자 측면의 피드백 에어 제어부(200)는 멀티캐스트 데이터 수신부(221), 폴링 메시지 수신부(222), 응답 전달부(223) 및 에러 복구부(224)를 포함한다.
멀티캐스트 데이터 수신부(221)는 멀티캐스트 그룹 내 통신객체로부터 멀티캐스트 데이터를 수신한다.
폴링 메시지 수신부(222)는 멀티 캐스트 데이터를 송신한 통신객체로부터 폴링 메시지(Polling Message)를 수신한다.
응답 전달부(223)는 폴링 메시지를 수신한 것에 대응하는 응답 메시지 예를 들어, 확인 메시지(Aknowledge, ACK) 또는 미확인 메시지(Negative Acknowledge, NACK)를 전달한다.
에러 복구부(224)는 확인 메시지를 전달하지 않은 경우 통신객체로부터 멀티캐스트 데이터를 재수신하여 에러를 복구한다. 에러 복구부(224)에서 에러를 복구하는 방법은 도 7을 참고하여 설명한다.
다음, 멀티캐스트 방법을 도 4를 참조하여 상세하게 설명한다.
도 4는 본 발명의 실시예에 따른 멀티캐스트 방법을 나타내는 흐름도이다.
도 4를 참고하면, 본 발명의 실시예에 따른 멀티캐스트 방법을 수행하는 멀티캐스트 장치가 적용되는 환경은 송신자(410) 측면의 통신객체와 수신자(420)측면의 통신객체를 포함한다. 즉, 통신객체 각각에는 멀티캐스트 장치가 적용됨으로써, 다수의 통신개체들 사이에 신뢰성 있는 데이터 전송이 요구되는 분산 네트워크에서 데이터를 효율적으로 전송될 수 있다.
이하, 도 4에서는 수신자(420)측면의 통신객체에 적용되어 있는 멀티캐스트 장치를 기준으로 설명한다.
먼저, 멀티캐스트 장치는 분산 네트워크 환경에서 통신객체를 검색하고(S401, S402), 검색한 결과를 토대로 멀티캐스트 그룹을 형성한다. 이때, 통신객체를 검색하는 멀티캐스트 장치는 송신자(410)측면의 통신객체와 수신자(420)측면의 통신객체 각각에 위치 할 수 있다.
멀티캐스트 장치는 송신자(410)측면의 통신객체로부터 멀티캐스트 데이터를 수신한다(S403). 또한, 멀티캐스트 장치는 멀티 캐스트 데이터를 송신한 통신객체로부터 폴링 메시지를 수신한다(S404).
멀티캐스트 장치는 폴링 메시지를 수신한 것에 대응하는 응답 메시지 예를 들어, 확인 메시지(Aknowledge, ACK) 또는 미확인 메시지(Negative Acknowledge, NACK)를 송신자(410)측면의 통신객체로 전달한다(S405).
송신자(410)측면의 통신객체는 확인 메시지(ACK)를 수신하였는지를 판단한다(S406). 또한, 멀티캐스트 장치는 폴링 메시지를 수신한 것에 대응하는 확인메시지(ACK)를 제대로 전달하였는지 판단한다(S407).
송신자(410)측면의 통신객체는 미확인 메시지(NACK)를 수신하지 못한 경우, 멀티캐스트 데이터를 재전송한다(S408).
멀티캐스트 장치는 멀티캐스트 데이터를 재수신하여 에러를 복구한다(S409).
S409 단계와 같이, 멀티캐스트 장치에서 에러를 복구하는 방법을 도 8을 참고하여 설명한다.
다음, 멀티캐스트 장치는 에러를 복구함으로써, 멀티캐스트를 수행할 수 있다.
다음, 송신자(410) 측면의 멀티캐스트 장치가 에퍽(Epoch)을 이용하여 폴링메시지를 스케줄링하는 방법을 도 5를 참조하여 상세하게 설명한다.
도 5는 본 발명의 실시예에 따른 에퍽을 이용하여 폴링메시지를 스케줄링하는 방법을 나타내는 도면이다.
에퍽(Epoch)은 시간 간격(interval)을 나눈 단위에 해당하는 것으로, 기본값을 예를 들어 10ms으로 설정할 수 있다. 이러한 에퍽(Epoch)은 시퀀스넘버를 가지고 있으며, 순차적으로 증가한다.
도 5를 참고하면, 멀티캐스트 그룹에 해당하는 통신객체는 1개의 송신자와 3개의 수신자(R1, R2, R3)를 포함한다. 이때, 송신자는 에퍽(Epoch)을 8개로 나누었으며, 에퍽(Epoch)이 n, n+1,n+3 ~ n+7로 증가됨을 확인할 수 있다.
송신자는 n번째 에퍽에서 폴링 메시지(도 5의 Poll)를 전송한다. 수신자 중 R1 및 R2은 n번째 에퍽에서 전송한 폴링 메시지를 수신하고, 수신한 결과에 대응하는 응답(Response)으로 확인 메시지(Aknowledge, ACK) 또는 미확인 메시지(Negative Acknowledge, NACK)를 송신자로 전송한다. 그러면, 송신자는 n+3 및 n+4 번째 에퍽에서 각각 확인 메시지(Aknowledge, ACK) 또는 미확인 메시지(Negative Acknowledge, NACK)를 수신한다.
또한, 송신자가 n+1번째 에퍽에서 폴링 메시지를 전송한다. 수신자 중 R3는 n+4 번째 에퍽에서 전송한 폴링 메시지를 수신하고, 수신한 결과에 대응하는 응답(Response)으로 확인 메시지(Aknowledge, ACK) 또는 미확인 메시지(Negative Acknowledge, NACK)를 송신자로 전송한다. 그러면, 송신자는 n+4번째 에퍽에서 확인 메시지(Aknowledge, ACK) 또는 미확인 메시지(Negative Acknowledge, NACK)를 수신한다.
도 5와 같이, 송신자(410) 측면의 멀티캐스트 장치가 에퍽(Epoch)을 이용하여 폴링메시지를 스케줄링함으로써, 해당 에퍽안에서 받을 수 있는 응답 메시지(ACKNACK) 수를 제한할 수 있다.
다음, 에퍽(Epoch)에 수신할 수 있는 응답 메시지(ACKNACK)의 개수를 제한하는 실시예를 도 6을 참조하여 상세하게 설명한다.
도 6은 본 발명의 실시예에 따른 에퍽(Epoch)에 수신할 수 있는 응답 메시지(ACKNACK)의 개수를 제한하는 것을 나타내는 도면이다.
도 6을 참고하면, 송신측 멀티캐스트 장치가 에퍽을 수신할 수 있는 응답 메시지(ACKNACK)의 개수(Response Quota, RQ)를 "3"으로 제한한다고 가정한다.
예를 들어, 도 6에서는 에퍽이 10ms로 구분되어 있으며, 클럭 카운터(Clock Counter, CLK)는 1ms로 증가한다. 따라서, 하나의 에퍽 구간 안에는 10개의 클럭 카운터가 존재할 수 있다
클럭 카운터(Clock Counter, CLK)의 값이 1002인 경우(CLK =1002), 100번 째 에퍽(E100)에서 전송한 폴링메시지에 대한 응답 메시지는 103번째 에퍽(E1003)에서 수신할 예정이지만, 응답 메시지(ACKNACK)의 개수(RQ)가 "3"으로 제한되어 있으므로, 104번째 에퍽(E1004)에서 응답 메시지(ACKNACK)를 수신해야 한다.
이를 위하여, 송신자는 클럭 카운터의 값이 1005일 때 폴링 메시지를 전송함으로써, 응답 메시지(ACKNACK)의 수신 제한값을 초과하지 않고, 104번째 에퍽(E1004)에서 응답 메시지(ACKNACK)를 수신할 수 있다. 여기서, 클럭 카운터의 값이 1005인 것은 추정값에 해당하는 것으로, 기존의 RTRi(Round Trip Time)를 이용하여 계산할 수 있다.
다음, 수신자(420) 측면의 멀티캐스트 장치가 피드백 스케줄링을 이용하여 응답 메시지를 전달하는 방법을 도 7을 참조하여 상세하게 설명한다.
도 7은 본 발명의 실시예에 따른 피드백 스케줄링을 이용하여 응답 메시지를 전달하는 방법을 나타내는 도면이다.
도 7을 참고하면, 멀티캐스트 그룹에 해당하는 통신객체는 1개의 송신자와 3개의 수신자(R1, R2, R3)를 포함한다. 이와 같은 환경에서, 하나의 송신자가 전송한 폴링 메시지에 대하 각 수신자들(R1, R2, R3)이 응답 메시지(ACKNACK)로 각각 응답하는 피드백 스케줄링을 이하에서 설명한다.
먼저, 최대 응답 간격(Response Period max, RPmax)는 수신자가 연속되는 데이터를 성공적으로 수신하였을 경우 지금까지 받은 데이터에 대해 한꺼번에 응답 메시지(ACKNACK)를 보내는 인터벌을 의미하며, 예를 들어,"5"로 설정할 수 있다. 또한, RPmax는 네트워크 상황에 따라 가변적일 수 있다.
수신자 R1의 경우에는 응답 메시지(ACKNACK)를 2번 전송(ACKNACK=(2))한 다음에, 연속된 데이터를 성공적으로 수신하였으므로 "RPmax+1=6" 인터벌 후에 응답 메시지를 8번 전송하고, 이후에도 RPmax+2 및 RPmax+3 인터벌 후에 응답 메시지를 각각 15(ACKNACK=(15))번, 23(ACKNACK=(23))번 전송하고 있다.
또한, 각 수신자는 응답 메시지(ACKNACK)를 최초로 보내는 시점을 달라지게 할 수 있다. 예를 들어, 수신자 R1의 경우에는 2번 응답 메시지를 수신한 후, 수신자 R2 및 R3의 경우에는 각각 3번, 5번 응답 메시지를 수신한 후에 각각 응답 메시지를 보내는 모습을 나타내고 있다. 이는 수신자 아이피 주소(IP Address) 또는 논리적인 아이디값에 따라 초기에 설정할 수 있다.
수신자가 연속되는 데이터를 성공적으로 수신하였을 경우 위의 방법으로 확인 메시지(Aknowledge, ACK)를 전달하지만, 네트워크 오류 또는 이상상황이 발생하여 해당 메시지를 수신하지 못했을 경우에는 즉시, 미확인 메시지(Negative Acknowledge, NACK)를 전송하여 오류가 발생하였음을 송신자에게 보고한다.
만약, 수신자가 데이터 오류가 발생했을 때 미확인 메시지(Negative Acknowledge, NACK)를 보내고 재전송된 메시지를 수신하여 오류를 복구한 후 연속된 데이터를 성공적으로 수신하였을 경우에는 지금까지 받은 데이터에 대해 한꺼번에 응답 메시지를 보내는 인터벌(RCi_rand(Response Constance))을 설정할 수 있다. 응답 메시지를 보내는 인터벌(RCi_rand)은 수신자 마다 다르게 설정된다.
도 7에서는 응답 메시지를 보내는 인터벌(RCi_rand)을 수신자 R1, R2, R3 각각은 2, 3, 4로 각각 설정하고 있다(RC1_rand = 2, RC2_rand=3, RC3_rand=4). 이와 같이, 응답 메시지를 보내는 인터벌은 수신자 수신자 아이피 주소(IP Address) 또는 논리적인 아이디값에 따라 설정될 수 있다. 예를 들어, 수신자가 응답 메시지를 보내고, 재전송된 메시지를 수신하지 못한 경우에는 응답 메시지를 반복적으로 보낼 수 있다.
다음, 멀티캐스트 장치에서 에러를 복구하는 방법을 도 8을 참조하여 상세하게 설명한다.
도 8은 본 발명의 실시예에 따른 멀티캐스트 장치에서 에러를 복구하는 방법을 나타내는 도면이다.
먼저, 송신자가 멀티캐스트 데이터를 멀티캐스트 장치로 전송하고, 멀티캐스트 장치가 이를 성공적으로 발생하지 못한 경우에 에러가 발생한다. 여기서, 멀티캐스트 장치는 수신자 측면의 통신객체에 해당한다.
에러가 발생한 경우, 멀티캐스트 장치는 송신자에게 이를 보고하기 위하여 응답 메시지(ACKNACK)를 송신자에게 전송한다.
송신자는 전송한 멀티캐스트 데이터의 시퀀스 넘버를 이용하여 수신자들의 상태를 모니터링 하면서 에러를 복구하기 위하여 폴링 메시지를 재전송한다. 이때, 폴링 메시지를 효율적으로 재전송하는 방법은 도 8과 같다.
도 8을 참고하면, Status(seq)는 송신자가 전송한 폴링 메시지의 시퀀스넘버(seq)마다 수신자가 메시지를 잘 받았는지 못 받았는지를 확인 및 관리하는 상태정보를 의미한다. 여기서, 상태정보는 미전송(Unsent), 전송중(Underway), 수신자 상태 수집중(In_Colleciton), 전송확인(Acknowledged), 재전송중(Retransmitted)을 포함한다.
다음, 송신자가 전송한 폴링 메시지에 따라 상태를 천이하는 방법을 도 9를 참조하여 상세하게 설명한다.
도 9는 본 발명의 실시예에 따라 상태천이에 대한 흐름을 나타내는 도면이다.
도 9를 참고하면, 송신자는 초기값에 해당하는 초기 멀티캐스트 데이터를 전송하였는지 여부를 판단한다(S901).
송신자는 S901 단계에서 초기값을 전송한 경우, 상태 정보를 미전송(Unsent) 상태로 설정한다(S902). 여기서, 미전송(Unsent) 상태는 송진자가 초기값을 아직 전송하지 않은 상태이다.
송신자는 미전송 상태에서 멀티캐스트 데이터를 전송한다(S903).
S901 단계에서 초기값을 전송하지 않은 경우, 송신자는 상태정보를 전송 미확인(Unacknowledged) 상태로 천이한다(S904). 다음, 송신자는 다음 멀티캐스트 데이터가 전송되는지를 판단하고, 다음 멀티캐스트 데이터가 전송되지 않은 경우 메시지 요청을 한다(S906).
송신자는 멀티캐스트 데이터를 전송(도 8에서의 multicast(seq)에 해당)하면 상태정보가 전송중(Underway) 상태로 천이된다(S907).
상태정보가 전송중(Underway) 상태에서 송신자는 폴링 메시지를 수신한 것에 대응하는 응답 메시지 중 확인 메시지(Aknowledge, ACK)를 수신하였는지 판단한다(S908).
상태정보가 전송중(Underway) 상태에서 송신자는 미확인 메시지(Negative Acknowledge, NACK)를 보낸 수신자 리스트(naked(seq))가 존재하는 경우, 상태 정보가 수신자상태 수집중 상태로 천이된다(S909). 여기서, 수신자 리스트는 폴링 메시지에 대하여 메시지 오류가 발생하여 미확인 메시지를 전송한 수신자의 아이피 주소 또는 논리적인 아이디를 포함하는 리스트이다.
상태 정보가 수신자상태 수집중 상태인 경우, 송신자는 수신자 리스트의 개수가 MTR(Multicast Threshold Rate)을 초과하게 되면, 해당 시퀀스 번호를 재전송하고, 상태 정보를 재전송중 상태로 천이한다(S910). 여기서, MTR(Multicast Threshold Rate)은 멀티캐스트 데이터를 수신하지 못한 수신자들의 최대 허용수치에 해당한다.
송신자는 수신자 리스트의 개수가 MTR(Multicast Threshold Rate)을 초과하지 않는 경우, 참조되거나 폴링했던 수신자들의 개수가 전체 수신자들의 수와 같아질 때까지 기달린 후에, 유니캐스트 방법으로 오류가 난 데이터를 재전송한다. 만약, 송신자는 데이터를 재전송한 후 즉, 상태 정보가 재전송중(Retransmitted)일 때 다시 미확인 메시지(Negative Acknowledge, NACK)를 수신한 경우, 유니캐스트 방법으로 데이터를 재전송한다. 본 발명의 실시예에 따른, MTR은 네트워크 상황에 따라 변경될 수 있으며, 이에 한정되지 않는다.
상태정보가 전송중(Underway) 상태에서 송신자는 확인 메시지(Acknowledge, ACK)를 수신한 경우, 상태정보가 전송확인(Acknowledged)로 천이된다(S911).
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100; 검색부 200; 피드백 에러 제어부
211; 멀티캐스트 데이터 송신부 212; 폴링 메시지 송신부
213; 응답 통합부 214; 재전송부
221; 멀티캐스트 데이터 수신부 222; 폴링 메시지 수신부
223; 응답 전달부 224; 에러 복구부

Claims (8)

  1. 분산 네트워크 환경에서 멀티캐스트 장치가 적어도 하나의 통신객체를 검색하는 단계;
    상기 적어도 하나의 통신 객체 중에서 송신자 측면의 통신객체로부터 멀티캐스트 데이터를 수신하는 단계;
    상기 멀티캐스트 데이터를 송신한 통신객체로부터 폴링 메시지를 수신하는 단계;
    상기 폴링 메시지에 대응하는 응답 메시지를 전송하는 단계; 및
    상기 응답 메시지를 전송한 결과를 토대로 통신객체 간의 전송에러 발생 여부를 판단하고, 판단한 결과를 토대로 멀티캐스트를 수행하는 단계
    를 포함하고,
    상기 폴링 메시지를 수신하는 단계는
    상기 멀티캐스트 데이터를 송신한 통신객체에서 에퍽을 이용하여 스케줄링한 폴링 메시지를 수신하고,
    상기 에퍽 안에서 받을 수 있는 상기 응답 메시지의 개수를 설정하고,
    상기 응답메시지를 전송하는 단계는
    상기 멀티캐스트 장치가, 상기 응답 메시지를 전송하기 위한 최대 응답 간격을 고려한 인터벌을 설정하고, 상기 인터벌 후에 상기 응답 메시지를 전송하고,
    상기 인터벌은 상기 멀티캐스트 장치의 아이피 주소 및 식별자 값에 중 어느 하나에 기반하여 설정되는 것을 특징으로 하는 멀티캐스트 방법.
  2. 청구항 1에 있어서,
    상기 응답 메시지를 전송하는 단계는
    상기 폴링 메시지를 수신한 경우에 확인 메시지를 전송하거나 상기 폴링 메시지를 수신하지 않은 경우에 미확인 메시지를 전송하는 것을 특징으로 하는 멀티캐스트 방법.
  3. 청구항 2에 있어서,
    상기 멀티캐스트를 수행하는 단계는
    상기 미확인 메시지를 전송한 경우에는 멀티캐스트 데이터를 재수신하여 에러를 복구하는 것을 특징으로 하는 멀티캐스트 방법.
  4. 삭제
  5. 청구항 1에 있어서,
    상기 응답 메시지를 전송하는 단계는
    피드백 스케줄링을 이용하여 응답 메시지를 전송하는 것을 특징으로 하는 멀티캐스트 방법.
  6. 분산 네트워크 환경에서 적어도 하나의 통신객체를 검색하고, 검색한 결과를 토대로 멀티캐스트 그룹을 형성하는 검색부; 및
    상기 적어도 하나의 통신 객체 중에서 송신자 측면의 통신객체로부터 멀티캐스트 데이터와 폴링 메시지를 수신하고, 수신한 폴링 메시지에 대응하는 응답 메시지를 전송한 결과를 토대로 통신객체간의 전송에러 발생 여부를 판단하여, 판단한 결과를 토대로 멀티캐스트를 수행하는 피드백 에어 제어부
    를 포함하고,
    상기 피드백 에어 제어부는
    상기 멀티캐스트 그룹 내 통신객체로부터 멀티캐스트 데이터를 수신하는 멀티캐스트 데이터 수신부;
    상기 멀티캐스트 데이터를 송신한 통신객체로부터 상기 폴링 메시지를 수신하는 폴링 메시지 수신부;
    상기 폴링 메시지를 수신한 것에 대응하는 확인 메시지 또는 미확인 메시지를 전달하는 응답 전달부; 및
    상기 미확인 메시지를 전달하는 경우 상기 송신자 측면의 통신객체로부터 멀티캐스트 데이터를 재수신하여 에러를 복구하는 에러 복구부
    를 포함하고,
    상기 폴링 메시지 수신부는
    상기 멀티캐스트 데이터를 송신한 통신객체에서 에퍽을 이용하여 스케줄링한 폴링 메시지를 수신하고,
    상기 에퍽 안에서 받을 수 있는 상기 응답 메시지의 개수를 설정하고,
    상기 응답 전달부는
    멀티캐스트 장치가, 상기 응답 메시지를 전송하기 위한 최대 응답 간격을 고려한 인터벌을 설정하고, 상기 인터벌 후에 상기 응답 메시지를 전송하고,
    상기 인터벌은 상기 멀티캐스트 장치의 아이피 주소 및 식별자 값에 중 어느 하나에 기반하여 설정되는 것을 특징으로 하는 멀티캐스트 장치.
  7. 삭제
  8. 삭제
KR1020130058260A 2013-05-23 2013-05-23 멀티캐스트 장치 및 그 방법 KR102017719B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130058260A KR102017719B1 (ko) 2013-05-23 2013-05-23 멀티캐스트 장치 및 그 방법
US14/253,136 US9385840B2 (en) 2013-05-23 2014-04-15 Multicast apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130058260A KR102017719B1 (ko) 2013-05-23 2013-05-23 멀티캐스트 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20140137585A KR20140137585A (ko) 2014-12-03
KR102017719B1 true KR102017719B1 (ko) 2019-10-21

Family

ID=51936245

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130058260A KR102017719B1 (ko) 2013-05-23 2013-05-23 멀티캐스트 장치 및 그 방법

Country Status (2)

Country Link
US (1) US9385840B2 (ko)
KR (1) KR102017719B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10171288B2 (en) * 2015-12-18 2019-01-01 International Business Machines Corporation Diagnosing faults in stateless distributed computing platforms

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
KR100349420B1 (ko) 1999-08-10 2002-08-19 정보통신연구진흥원 신뢰적 멀티캐스트를 위한 적응적 트리 기반 복구방법
KR100334905B1 (ko) 1999-10-29 2002-05-04 오길록 멀티캐스트 응용 서비스의 데이터 전송 신뢰성 제공을 위한 수송계층에서의 트리 구성 방법
US6990098B1 (en) 2000-09-11 2006-01-24 Sun Microsystems, Inc. Reliable multicast using merged acknowledgements
WO2004002048A1 (en) 2002-06-21 2003-12-31 British Telecommunications Public Limited Company Timer-based feedback in multicast communication
KR20080112144A (ko) * 2007-06-20 2008-12-24 한국전자통신연구원 멀티미디어 방송 멀티캐스트 서비스 시스템에서의 데이터전송/수신방법 및 그 장치
CN101861709B (zh) 2007-10-23 2014-06-11 汤姆森特许公司 用于具有合并的自动重复请求的自适应前向纠错以在无线局域网中进行可靠多播的方法和装置
KR100919052B1 (ko) 2007-11-27 2009-09-24 한국전자통신연구원 멀티캐스트 구성원 노드의 네트워크 코딩 시스템
KR101074777B1 (ko) 2008-12-10 2011-10-19 한국전자통신연구원 오버레이 멀티캐스트 네트워크에서 신뢰성 데이터 전송 방법
KR20120028190A (ko) * 2010-09-14 2012-03-22 삼성전자주식회사 통신 시스템에서 멀티캐스트 서비스 제공 방법과 장치 및 시스템
US9015555B2 (en) * 2011-11-18 2015-04-21 Cisco Technology, Inc. System and method for multicast error recovery using sampled feedback

Also Published As

Publication number Publication date
US9385840B2 (en) 2016-07-05
US20140351666A1 (en) 2014-11-27
KR20140137585A (ko) 2014-12-03

Similar Documents

Publication Publication Date Title
TWI259674B (en) Method and apparatus for reducing transmission errors in a third generation cellular system
CN101056194B (zh) 一种简单网络管理协议消息传送方法及装置
EP2175582B2 (en) A method for triggering status report of automatic repeat request
JP4859987B2 (ja) 適応的でスケーラブルなパケット誤り訂正装置及び方法
DE69930992D1 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen
US8976814B2 (en) Method of transporting data from sending node to destination node
EP2978171A1 (en) Communication method, communication device, and communication program
CN101980468A (zh) 网络热备数据传输方法
CN104780028A (zh) 一种实现tcp数据报文重传的方法及设备
CN103780363A (zh) 消息再传输装置及方法
WO2015180418A1 (zh) 组播传输方法、装置及系统
CN101507318B (zh) 移动通信系统中使用的无线通信装置及方法
CN103546917A (zh) 数据传输方法和装置
CN104104608A (zh) 接收报文的方法及装置
CN102315923B (zh) 一种3g卫星通信系统无线链路控制方法
CN101064589B (zh) 一种自动重传请求的状态报告方法
CN103368689A (zh) 一种数据传输方法及系统
KR102017719B1 (ko) 멀티캐스트 장치 및 그 방법
JP5157638B2 (ja) パケット通信システム、該パケット通信システムに用いられるパケット連送方法及びパケット連送プログラム
JP2016174211A (ja) 通信システム
CN105391518B (zh) 一种面向深空网络的文件传输方法
CN104869543A (zh) 基站和用户终端信息传递方法与装置
CN104243107A (zh) 数据传输方法、装置、终端、服务器及系统
JP5202376B2 (ja) 通信装置、通信システムおよび通信制御方法
US8051200B1 (en) Forming multi-user packet based groups using response behavior

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