KR100622020B1 - 오버레이 멀티캐스트 시스템의 제어방법 - Google Patents

오버레이 멀티캐스트 시스템의 제어방법 Download PDF

Info

Publication number
KR100622020B1
KR100622020B1 KR1020040107107A KR20040107107A KR100622020B1 KR 100622020 B1 KR100622020 B1 KR 100622020B1 KR 1020040107107 A KR1020040107107 A KR 1020040107107A KR 20040107107 A KR20040107107 A KR 20040107107A KR 100622020 B1 KR100622020 B1 KR 100622020B1
Authority
KR
South Korea
Prior art keywords
multicast
agent
agents
multicast agent
root
Prior art date
Application number
KR1020040107107A
Other languages
English (en)
Other versions
KR20060068418A (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 KR1020040107107A priority Critical patent/KR100622020B1/ko
Publication of KR20060068418A publication Critical patent/KR20060068418A/ko
Application granted granted Critical
Publication of KR100622020B1 publication Critical patent/KR100622020B1/ko

Links

Images

Classifications

    • 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
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • 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
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 오버레이 멀티캐스트 시스템의 제어방법에 관한 발명이다. 특히, 다수의 송신자와 다수의 수신자가 존재하는 다자간 통신을 위하여 효율적인 오버레이 멀티캐스트 제어 트리를 구성하고 관리할 수 있는 오버레이 멀티캐스트 시트템의 제어 방법에 관한 발명이다.
본 발명은 복수의 멀티캐스트 에이전트를 포함하는 오버레이 멀티캐스트 시스템의 제어방법에 있어서, (a) 상기 복수의 멀티캐스트 에이전트 중 하나를 루트 멀티캐스트 에이전트로 설정하여 제어 트리를 구축하는 단계, (b) 상기 복수의 멀티캐스트 에이전트 중 상기 루트 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 제어 메시지를 전달하며, 상기 복수의 멀티캐스트 에이전트 중 제 1 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 데이터를 전달하는 단계, 및 (c) 상기 복수의 멀티캐스트 에이전트 중 상기 루트 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 제어 메시지를 전달하며, 상기 복수의 멀티캐스트 에이전트 중 제 1 멀티캐스트 에이전트를 제외한 어느 한 멀티캐스트 에이전트인 제 2 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 데이터를 송신하는 단계를 포함하는 오버레이 멀티캐스트 시스템의 제어방법을 제공한다.

Description

오버레이 멀티캐스트 시스템의 제어방법 {METHOD FOR CONTROLLING OVERLAY MULTICAST SYSTEM}
도 1은 본 발명의 일실시예에 의한 오버레이 멀티캐스트 시스템 및 그 제어 데이터 흐름을 나타내는 도면이다.
도 2는 도 1의 오버레이 멀티캐스트 시스템에 사용된 멀티캐스트 에이전트의 일례를 나타내는 도면이다.
도 3은 A를 루트 멀티캐스트 에이전트로 하는 제어 트리에서 송신 멀티캐스트 에이전트가 A에서 B로 변경되었을 경우 데이터 및 제어 메시지의 흐름을 나타내는 도면이다.
도 4는 생성된 제어 트리에서 루트 멀티캐스트 에이전트가 트리를 탈퇴할 경우 제어 트리를 유연하게 복구하고 유지하는 절차를 설명하기 위한 도면이다.
도 5는 도 4의 루트 멀티캐스트 에이전트(Root SMA)의 동작을 순서도로 표현한 것이다.
본 발명은 오버레이 멀티캐스트 시스템의 제어방법에 관한 발명이다. 특히, 다수의 송신자와 다수의 수신자가 존재하는 다자간 통신을 위하여 효율적인 오버레이 멀티캐스트 제어 트리를 구성하고 관리할 수 있는 오버레이 멀티캐스트 시트템의 제어 방법에 관한 발명이다.
다자간 통신 서비스는 다수의 수신자에게 동시에 정보를 전달하는 서비스를 일컫는 것으로써 일 대 다 또는 다 대 다 간의 통신이 있을 수 있다. 기존의 인터넷 멀티캐스트(multicast)가 이러한 서비스를 제공하기 위하여 연구되어 왔다. 그러나, 이러한 전통적인 멀티캐스트 네트워크는 십 여년간 지속적인 연구에도 불구하고 망의 확산이 원활하지 않음에 따라 대안적인 방법이 연구되어 왔다. 이러한 대안적 방법 중 대표적인 오버레이 멀티캐스트(Overlay Multicast)는 네이티브(native) 멀티캐스트 망이 지원되지 않더라도 그룹 통신을 지원하기 위하여 세션 내 참가된 멀티캐스트 에이전트들을 메쉬(mesh) 구조나 트리(tree) 구조로 연결하고, 연결된 구조를 통하여 멀티캐스트 에이전트들 간의 데이터를 전송한다.
이러한 오버레이 멀티캐스트 전송 기술을 통하여 별도의 멀티캐스트 망을 구축하지 않고 현재의 유니캐스트 인터넷 망에서 인터넷 생방송, 원격교육, 화상회의 등 다자간 통신을 지원할 수 있다. 이러한 응용 서비스는 하나의 그룹 내에 하나의 송신 멀티캐스트 에이전트만 존재하여 다수의 멀티캐스트 에이전트에게 데이터를 전송하는 1:N 전송과 하나의 그룹 내에 다수의 송신 멀티캐스트 에이전트가 존재하 여 다수의 멀티캐스트 에이전트에게 데이터를 전송하는 경우로 나눌 수 있다. 현재 인터넷 생방송이나 원격 교육과 같은 1:N 전송 응용 서비스가 널리 확산되고 있고 이 경우 하나의 송신 멀티캐스트 에이전트 중심의 제어 트리를 통하여 손쉽게 오버레이 멀티캐스트 전송을 구축할 수 있다.
그러나, 인터넷 게임이나 화상 회의와 같이 N:N 전송을 제공해야 하는 경우 기존의 방법들은 하나의 제어 트리 위에 전체 참여 멀티캐스트 에이전트를 연결하는 메쉬 구조를 채택함으로써 오버레이 멀티캐스트 전송을 위하여 복잡한 제어 정보를 유지해야 하고, 제어 트리의 변경에 있어서도 메쉬 구조로의 반영을 위하여 추가적인 절차를 거쳐야 한다는 문제점이 있다.
따라서, 본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은 제어 정보의 복잡도를 감소시키며, 1:N과 N:N을 동시에 지원할 수 있는 유연하고 간편한 오버레이 멀티캐스트 시스템의 제어방법을 제공하는데 있다.
상술한 목적을 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은 복수의 멀티캐스트 에이전트를 포함하는 오버레이 멀티캐스트 시스템의 제어방법에 있어서, (a) 상기 복수의 멀티캐스트 에이전트 중 하나를 루트 멀티캐스트 에이전트로 설정하여 제어 트리를 구축하는 단계, (b) 상기 복수의 멀티캐스트 에이전트 중 상기 루트 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 제어 메시지를 전달하며, 상기 복수의 멀티캐스트 에이전트 중 제 1 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 데이터를 전달하는 단계, 및 (c) 상기 복수의 멀티캐스트 에이전트 중 상기 루트 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 제어 메시지를 전달하며, 상기 복수의 멀티캐스트 에이전트 중 제 1 멀티캐스트 에이전트를 제외한 어느 한 멀티캐스트 에이전트인 제 2 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 데이터를 송신하는 단계를 포함하는 오버레이 멀티캐스트 시스템의 제어방법을 제공한다.
이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 그러나, 본 발명의 실시예들은 여러가지 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 상술하는 실시예들로 인하여 한정되는 식으로 해석되어 져서는 안된다. 본 발명의 실시예들은 당업계에서 평균적 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해 제공되는 것이다.
도 1은 본 발명의 일실시예에 의한 오버레이 멀티캐스트 시스템 및 그 제어 데이터 흐름을 나타내는 도면이다.
도 1을 참조하면, 오버레이 멀티캐스트 시스템은 세션 관리자(10) 및 멀티캐스트 에이전트들(20 내지 80)을 포함한다. 멀티캐스트 에이전트들(20 내지 80) 중 하나는 루트 멀티캐스트 에이전트(20)로 설정된다.
제어 메시지는 루트 멀티캐스트 에이전트(20)로부터 트리를 따라 나머지 멀티캐스트 에이전트(30 내지 80)에게로 전달된다.
데이터 메시지는 멀티캐스트 에이전트들(20 내지 80) 중에서 송신 멀티캐스트 에이전트로부터 트리를 따라 나머지 멀티캐스트 에이전트로 전달된다. N:N 기반의 통신을 위하여 각 멀티캐스트 에이전트(20 내지 80)가 송신 멀티캐스트 에이전트가 될 수 있다. 각 멀티캐스트 에이전트들(20 내지 80)은 데이터를 최종 수신하는 종단 멀티캐스트 에이전트가 될 수도 있으며, 종단 멀티캐스트 에이전트와 분리되어 네트워크의 중간에서 데이터 전달만 제공하는 개체가 될 수도 있다.
세션 관리자(10)는 멀티캐스트 에이전트들(20 내지 80)과 세션 가입 제어 메시지를 주고 받으며, 이 메세지를 통하여 멀티캐스트 에이전트들(20 내지 80)의 세션 등록 및 이들에 대한 정보 제공 등의 기능을 수행한다.
먼저 오버레이 멀티캐스트 세션에 참여하기 위하여 미리 지정된 대표 멀티캐스트 에이전트가 세션 관리자(10)에 등록하면서 오버레이 멀티캐스트 전송계층 제어 트리의 루트 멀티캐스트 에이전트(20)가 되며 제어 트리 구축을 시작한다. 각 멀티캐스트 에이젼트(30 내지 80)들 역시 세션 관리자(10)에게 등록하는 과정을 거치고, 이 때 세션 관리자(10)로부터 얻은 정보를 통하여 루트 멀티캐스트 에이전트(20)를 중심으로 제어 트리를 구축한다. 이와 같은 방식으로 오버레이 멀티캐스트 시스템이 형성된다.
도 2는 도 1의 오버레이 멀티캐스트 시스템에 사용된 멀티캐스트 에이전트의 일례를 나타내는 도면이다.
도 2를 참조하면, 멀티캐스트 에이전트(90)는 오버레이 멀티캐스트 에이전트 컨트롤러(91) 및 복수의 소켓(94)을 포함한다.
오버레이 멀티캐스트 에이전트 컨트롤러(91)는 트리 컨트롤 모듈(92) 및 데이터 컨트롤 모듈(93)을 포함한다. 트리 컨트롤 모듈(92)은 소켓들(94)을 통하여 타 멀티캐스트 에이전트들과 트리 구성 및 관리를 위한 제어 메시지를 주고 받는다. 데이터 컨트롤 모듈(93)은 소켓들(94)을 통하여 타 멀티캐스트 에이전트들과 데이터를 주고 받는다.
이와 같이 동작하여, 멀티캐스트 에이전트(90)는 자신의 부모 멀티캐스트 에이전트와 자식 멀티캐스트 에이전트들과 소켓 연결을 유지하며 트리 구성 및 관리를 위한 제어 메시지 및 데이터를 교환한다. 각 소켓(94)은 TCP 연결을 통하여 양방향 연결을 보장하며 신뢰 전송을 보장한다. 이로써, 자신이 송신 멀티캐스트 에이전트일 경우는 입력된 제어 메시지에 대한 응답을 상대방에 전달하면서 부모 멀티캐스트 에이전트 및 자식 멀티캐스트 에이전트에게 데이터 송신을 수행하며, 자신이 송신 멀티캐스트 에이전트가 아닌 경우는 제어 메시지에 대한 응답을 상대방에 전달하면서 입력된 데이터를 자신과 연결된 부모 멀티캐스트 에이전트 및 자식 멀티캐스트 에이전트 중 데이터를 입력한 멀티캐스트 에이전트을 제외한 멀티캐스트 에이전트에 전송한다.
도 3은 A를 루트 멀티캐스트 에이전트로 하는 제어 트리에서 송신 멀티캐스트 에이전트가 A에서 B로 변경되었을 경우 데이터 및 제어 메시지의 흐름을 나타내는 도면이다. 도 3에 표현된 제어 트리 구축에 있어서, 본 발명은 다음과 같은 두 개의 규칙을 가진다. 첫번째 규칙은 제어 트리 구축을 위한 제어 메시지 교환이 TCP 채널로 이루어 지는 것이다. 이렇게 함으로써 트리 상의 모든 멀티캐스트 에이전트들은 양방향 통신 채널을 확보하게 된다. 두 번째 규칙은 트리 구성 시 자신의 최대 허용 자식 멀티캐스트 에이전트 수 만큼 받아들이지 않고 항상 예약된 공간을 비워놓는다. 이 때 예약된 공간의 최소값은 1이 될 수 있다. 이것은 자신이 송신 멀티캐스트 에이전트가 될 때, 자신의 자식 멀티캐스트 에이전트 뿐만 아니라 부모 멀티캐스트 에이전트를 포함하여야 하기 때문이다. 다만, 루트 멀티캐스트 에이전트의 경우에는 자신의 최대 허용 자식 멀티캐스트 에이전트 수 만큼 자식 멀티캐스트 에이전트들을 받아들일 수 있다. 도 3은 최대 허용 자식 멀티캐스트 에이전트가 4라고 지정되었을 때 생성될 수 있는 제어 트리의 예시가 될 수 있다.
도 3(a)는 A 멀티캐스트 에이전트가 루트 멀티캐스트 에이전트이면서 동시에 송신 멀티캐스트 에이전트인 경우의 데이터 및 제어 메시지의 흐름을 나타내는 도면이다. 도 3(a)를 참조하면, 제어 메시지는 제어 트리를 따라 업스트림(upstream) 또는 다운스트림(downstream)으로 전달된다. 일예로 루트 멀티캐스트 에이전트인 A 멀티캐스트 에이전트가 트리의 동기화 정보를 위하여 하위로 전달하는 메시지는 자신의 자식 노드인 B와 C 멀티캐스트 에이전트로 전달된다. 일례로 루트 멀티캐스트 에이전트인 A 멀티캐스트 에이전트가 트리의 동기화 정보를 위하여 하위로 전달하 는 메시지는 자신의 자식 노드인 B와 C로 전달된다. B 멀티캐스트 에이전트로 전달된 제어 메시지는 자신의 자식 멀티캐스트 에이전트인 D, E, F 멀티캐스트 에이전트로 전달된다. 또한, C 멀티캐스트 에이전트로 전달된 제어 메시지는 자신의 자식 멀티캐스트 에이전트인 G, H 멀티캐스트 에이전트로 전달된다. 이러한 제어 메시지는 일례로 루트 경로 정보를 포함한다. A 멀티캐스트 에이전트에서 B 및 C로 전달되는 루트 경로 정보는 'A'에 해당하는 정보가 되고, B에서 D 내지 F로 전달되는 루트 경로 정보는 'A->B'에 해당하는 정보가 될 수 있다. 한편 도 3(a)에서 루트 멀티캐스트 에이전트는 현재 시점의 송신 멀티캐스트 에이전트와 동일하므로, 데이터는 제어 트리의 계층 구조를 따라 다운스트림 방향으로 각 멀티캐스트 에이전트에 전달된다.
도 3(b)는 A 멀티캐스트 에이전트가 루트 멀티캐스트 에이전트이고 B 멀티캐스트 에이전트가 송신 멀티캐스트 에이전트인 경우의 데이터 및 제어 메시지의 흐름을 나타내는 도면이다. 도 3(b)를 참조하면, 제어 메시지는 도 3(a)와 동일한 경로를 따라 전달된다. 이에 반하여, 데이터는 송신 멀티캐스트 에이전트인 B 멀티캐스트 에이전트로부터 A, D, E, F 멀티캐스트 에이전트로 전달된다. A 멀티캐스트 에이전트는 자신에게 전달된 데이터를 자신의 부모 및 자식 멀티캐스트 에이전트 중에서 데이터를 전달한 멀티캐스트 에이전트인 B 멀티캐스트 에이전트를 제외한 나머지 멀티캐스트 에이전트 즉 C 멀티캐스트 에이전트로 전달한다. 또한, C 멀티캐스트 에이전트는 자신에게 전달된 데이터를 자신의 부모 및 자식 멀티캐스트 에이전트 중에서 데이터를 전달한 멀티캐스트 에이전트인 A 멀티캐스트 에이전트를 제외한 나머지 멀티캐스트 에이전트 즉 G, H 멀티캐스트 에이전트로 전달한다.
도 3(b)에서 보여지는 것처럼 B가 송신 멀티캐스트 에이전트가 되었을 경우, 자신이 송신을 담당할 때 제어 트리 상에서 자신과 연결을 맺은 모든 멀티캐스트 에이전트들에게 데이터를 전송한다. 즉, B 멀티캐스트 에이전트가 트리 상의 중간 멀티캐스트 에이전트일 경우 자신의 부모 멀티캐스트 에이전트와 자식 멀티캐스트 에이전트들에게 데이터를 전송한다. 제어 트리 구성 시 자신의 최대 허용 자식 멀티캐스트 에이전트 수에서 예약 공간을 비워놓은 이유가 여기에 있다. 즉, B 멀티캐스트 에이전트가 송신 멀티캐스트 에이전트가 될 경우 3개의 B의 자식 멀티캐스트 에이전트뿐 아니라 제어 트리 상의 B의 부모 멀티캐스트 에이전트인 A도 B가 피딩(feeding)할 멀티캐스트 에이전트에 포함되어지기 때문이다. 만일 송신 멀티캐스트 에이전트가 D 멀티캐스트 에이전트과 같은 종단 멀티캐스트 에이전트였다면 자신과 연결을 맺고 있는 자신의 부모 멀티캐스트 에이전트에게 데이터를 전송한다. 데이터를 수신한 멀티캐스트 에이전트들은 데이터를 전달한 멀티캐스트 에이전트을 제외한 자신과 연결된 멀티캐스트 에이전트들에게 이 데이터를 전달한다. 이러한 방식으로 제어 트리에 데이터가 전달됨으로써 다수의 송신 가능 멀티캐스트 에이전트가 존재하더라도 유연하고 단순하게 데이터를 전송할 수 있다.
도 4는 생성된 제어 트리에서 루트 멀티캐스트 에이전트가 트리를 탈퇴할 경우 제어 트리를 유연하게 복구하고 유지하는 절차를 설명하기 위한 도면이다.
도 4를 참조하면, 제 1 단계(S11)에서 루트 멀티캐스트 에이전트(Root SMA) 의 응용(App)은 루트 멀티캐스트 에이전트(Root SMA)에게 'MA_SessLeave.req'와 같은 메시지를 전달하여 트리를 탈퇴할 것을 요청한다.
제 2 단계(S12)에서, 기존의 루트 멀티캐스트 에이전트(Root SMA)는 나머지 멀티캐스트 에이전트들 중 일부 또는 전부에게 'SeekNewRoot.REQ'와 같이 루트 멀티캐스트 에이전트가 되어 줄 것을 요청하는 제어 메시지를 전송한다. 일부의 멀티캐스트 에이전트(SMA1, SMA2)만이 송신 멀티캐스트 에이전트가 될 수 있는 경우에는 루트 멀티캐스트 에이전트(Root SMA)는 세션 제공자에게 송신 가능 멀티캐스트 에이전트 리스트를 확보할 수 있으며, 자신이 전송 계층 제어 트리를 떠나려 할 때 'SeekNewRoot.REQ'를 송신 가능 멀티캐스트 에이전트 리스트에 포함된 멀티캐스트 에이전트들(SMA1, SMA2)로 전송한다. 만일, 모든 참여 멀티캐스트 에이전트가 송신 가능 멀티캐스트 에이전트가 될 수 있는 세션에서는 제어 트리의 계층 구조를 따라 'SeekNewRoot.REQ'를 전송한다. 이 때 트리의 급격한 변화를 피하기 위하여 자신의 직접 자식 노드에게만 먼저 이 제어 메시지를 전송한다. 자신의 직접 자식 노드 중 새로운 루트 멀티캐스트 에이전트를 선발하지 못하였을 경우 이 제어 메시지를 하위로 전달하도록 요청하며 다시 이 메시지를 전송한다 이 제어 메시지를 수신한 각 송신 가능 멀티캐스트 에이전트들(SMA1, SMA2)은 자신의 '트리 레벨'과 '가용한 자식 멀티캐스트 에이전트 수'를 실어 응답한다. 트리 레벨은 트리에서 루트 멀티캐스트 에이전트에 가까울수로 큰 값을 가지며, 가용한 자식 멀티캐스트 에이전트 수는 추가할 수 있는 자식 멀티캐스트 에이전트의 수를 의미한다.
제 3 단계(S13)에서, 기존의 루트 멀티캐스트 에이전트(Root SMA)는 트리 레 벨이 가장 높은 멀티캐스트 에이전트 중 가용한 자식 멀티캐스트 에이전트 수가 가장 많은 멀티캐스트 에이전트를 선발하여 'TakeNewRoot.REQ' 같은 새로운 루트 멀티캐스트 에이전트로 임명됨을 알리는 제어 패킷을 해당 멀티캐스트 에이전트(SMA2)에게 전송한다. 트리 레벨이 가장 높은 멀티캐스트 에이전트를 선발하는 이유는 이렇게 함으로써 제어 트리의 지나친 변형을 방지할 수 있기 때문이며, 가용한 자식 멀티캐스트 에이전트 수가 가장 많은 멀티캐스트 에이전트를 선발하는 이유는 자신의 자식 멀티캐스트 에이전트들을 받아들여 줄 수 있는 멀티캐스트 에이전트를 찾기 위함이다. 'TakeNewRoot.Req' 메시지를 수신한 멀티캐스트 에이전트(SMA2)는 'TakeNewRoot.ANS'와 같은 응답 메시지를 기존의 루트 멀티캐스트 에이전트(Root SMA)로 전송한다.
제 4 단계(S14)에서, 이제 트리를 떠나려는 기존의 루트 멀티캐스트 에이전트(Root SMA)는 'ChangeParent.REQ' 같은 메시지를 통하여 자신의 자식 멀티캐스트 에이전트들(CMA1, CMA2)에게 자신의 탈퇴를 알리고, 새로운 루트 멀티캐스트 에이전트 정보를 제공하고, 자식 멀티캐스트 에이전트들(CMA1, CMA2)은 'ChangeParent.ANS'와 같은 응답 메시지를 기존의 루트 멀티캐스트 에이전트(Root SMA)에게 전송한다.
제 5 단계에서, 자식 멀티캐스트 에이전트들(CMA1, CMA2)은 새로운 루트 멀티캐스트 에이전트(SMA2)로 조인(join)하고 새로운 루트 멀티캐스트 에이전트(SMA2)는 자신이 새로운 루트 멀티캐스트 에이전트가 되었음을 하위 멀티캐스트 에이전트들에게 알린다. 또한, 기존의 루트 멀티캐스트 에이전트(Root SMA)는 응용 계층(App)에 세션 종료를 알린다.
도 5는 도 4의 루트 멀티캐스트 에이전트(Root SMA)의 동작을 순서도로 표현한 것이다.
도 5를 참조하면, 응용으로부터 세션의 탈퇴 요청이 있으면(S21), 루트 멀티캐스트 에이전트는 그룹내 송신 가능 멀티캐스트 에이전트 리스트에 포함된 멀티캐스트 에이전트에 'SeekNewRoot.REQ' 같은 루트 멀티캐스트 에이전트가 되어 줄 것을 요청하는 제어 메시지를 전송한다(S22). 루트 멀티캐스트 에이전트는 송신 가능 멀티캐스트 에이전트들로부터 그들의 '트리 레벨'과 '가용한 자식 멀티캐스트 에이전트 수' 등이 실린 'SeekNewRoot.ANS'를 수신한다(S23)
만일 'SeekNewRoot.REQ'를 수신한 어떤 송신 가능 멀티캐스트 에이전트로부터도 응답이 없거나 거절 응답이 올 경우(S24), 루트 멀티캐스트 에이전트는 세션 관리자에게 세션 종료를 알리고(S32), 자신의 자식 멀티캐스트 에이전트들에게 루트 멀티캐스트 에이전트의 세션 탈퇴로 인한 세션 종료가 이루어짐을 공지한다(S33). 이 메시지를 받은 자식 멀티캐스트 에이전트들은 응답 메시지를 보낸 뒤 자신의 자식 멀티캐스트 에이전트들에게 이 메시지를 전달한다(S34). 이 과정은 트리의 종단 멀티캐스트 에이전트에 이를 때까지 이루어 진다.
만일, 'SeekNewRoot.REQ'를 수신한 송신 가능 멀티캐스트 에이전트로부터 받아들인다는 응답이 올 경우(S24), 루트 멀티캐스트 에이전트는 받아들인다는 응답을 한 송신 가능 멀티캐스트 에이전트들의 트리 레벨과 가용한 자식 멀티캐스트 에 이전트 수를 비교한다(S25). 받아들인다는 응답을 한 송신 가능한 멀티캐스트 에이전트들 중에서 트리 레벨이 가장 높고 가용한 자식 멀티캐스트 에이전트 수가 가장 많은 멀티캐스트 에이전트를 선발하여(S26) 'TakeNewRoot.REQ' 같은 새로운 루트 멀티캐스트 에이전트로 임명됨을 알리는 제어 패킷을 해당 멀티캐스트 에이전트에게 전송한다(S27). 기존의 루트 멀티캐스트 에이전트는 새로운 루트 멀티캐스트 에이전트로부터 'TakeNewRoot.ANS'을 수신하고(S28), 'ChangeParent.REQ' 같은 메시지를 통하여 자신의 자식 멀티캐스트 에이전트들에게 자신의 탈퇴를 알리고, 새로운 루트 멀티캐스트 에이전트 정보를 제공하고(S29), 자식 멀티캐스트 에이전트들로부터 'ChangeParent.ANS'와 같은 응답 메시지를 수신받는다(S30). 그 후, 기존의 루트 멀티캐스트 에이전트는 응용에게 세션 종료를 알린다(S31).
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 변형예가 가능함을 이해할 수 있을 것이다.
본 발명에 의한 오버레이 멀티캐스트 시스템은 제어 정보의 복잡도를 감소시키며, 1:N과 N:N을 동시에 지원할 수 있는 효과가 있다.

Claims (7)

  1. 복수의 멀티캐스트 에이전트를 포함하는 오버레이 멀티캐스트 시스템의 제어방법에 있어서,
    (a) 상기 복수의 멀티캐스트 에이전트 중 하나를 루트 멀티캐스트 에이전트로 설정하여 제어 트리를 구축하는 단계;
    (b) 상기 복수의 멀티캐스트 에이전트 중 상기 루트 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 제어 메시지를 전달하며, 상기 복수의 멀티캐스트 에이전트 중 제 1 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 데이터를 전달하는 단계; 및
    (c) 상기 복수의 멀티캐스트 에이전트 중 상기 루트 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 제어 메시지를 전달하며, 상기 복수의 멀티캐스트 에이전트 중 제 1 멀티캐스트 에이전트를 제외한 어느 한 멀티캐스트 에이전트인 제 2 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 데이터를 송신하는 단계를 포함하는 오버레이 멀티캐스트 시스템의 제어방법.
  2. 제 1 항에 있어서,
    상기 (a) 단계에서 상기 복수의 멀티캐스트 에이전트 중 상기 루트 멀티캐스트 에이전트 이외의 멀티캐스트 에이전트들 각각의 자식 멀티캐스트 에이전트의 수 는 최대 허용 자식 멀티캐스트 에이전트의 수보다 작은 것을 특징으로 하는 오버레이 멀티캐스트 시스템의 제어방법.
  3. 제 1 항에 있어서,
    상기 제어 메시지의 전달은 TCP 채널로 이루어지는 것을 특징으로 하는 오버레이 멀티캐스트 시스템의 제어방법.
  4. 제 1 항에 있어서,
    상기 (b) 단계에서 상기 제 1 멀티캐스트 에이전트가 상기 트리 종단에 위치한 경우에는 상기 제 1 멀티캐스트 에이전트는 자신의 부모 멀티캐스트 에이전트에게 데이터를 전달하고, 상기 제 1 멀티캐스트 에이전트가 상기 트리 중간에 위치한 경우에는 상기 제 1 멀티캐스트 에이전트는 자신의 부모 멀티캐스트 에이전트 및 자식 멀티캐스트 에이전트에게 데이터를 전달하며, 상기 제 1 멀티캐스트 에이전트로부터 상기 데이터를 전달받은 멀티캐스트 에이전트는 자신과 연결된 멀티캐스트 에이전트 중 상기 제 1 멀티캐스트 에이전트를 제외한 멀티캐스트 에이전트에게 데이터를 전달하는 것을 특징으로 하는 오버레이 멀티캐스트 시스템의 제어방법.
  5. 제 1항 내지 제4 항중 어느 하나의 항에 있어서,
    (d) 기존의 상기 루트 멀티캐스트 에이전트를 멀티캐스트 시스템에서 탈퇴시키고, 상기 복수의 멀티캐스트 에이전트 중 한 멀티캐스트 에이전트를 새로운 루트 멀티캐스트 에이전트로 지정하여 트리를 구성하는 단계를 추가적으로 포함하는 오버레이 멀티캐스트 시스템의 제어방법.
  6. 제 5 항에 있어서,
    상기 (d) 단계는
    (e) 기존의 상기 루트 멀티캐스트 에이전트가 나머지 멀티캐스트 에이전트 중 적어도 하나의 멀티캐스트 에이전트로 새로운 루트 멀티캐스트 에이전트를 구하는 메시지를 전송하여 그 응답을 받는 단계;
    (f) 기존의 상기 루트 멀티캐스트 에이전트가 상기 응답을 보낸 멀티캐스트 에이전트 중에서 한 멀티캐스트 에이전트를 새로운 루트 멀티캐스트 에이전트로 선정하는 단계;
    (g) 기존의 상기 루트 멀티캐스트 에이전트가 상기 새로운 루트 멀티캐스트 에이전트에게 이 사실을 알리고 그 응답을 받는 단계;
    (h) 기존의 상기 루트 멀티캐스트 에이전트가 자신의 자식 루트 멀티캐스트 에이전트에게 새로운 루트 멀티캐스트 에이전트 정보와 부모 멀티캐스트 에이전트 변경 요청을 전달하고 그 응답을 받는 단계;
    (i) 상기 자식 루트 멀티캐스트 에이전트가 상기 새로운 루트 멀티캐스트 에이전트를 자신의 부모 멀티캐스트 에이전트로 설정하는 단계; 및
    (j) 상기 새로운 루트 멀티캐스트 에이전트는 자신이 새로운 루트 멀티캐스트 에이전트가 되었음을 상기 (e) 내지 (i) 단계에 의하여 새로이 설정된 트리를 따라 나머지 멀티캐스트 에이전트로 전달하는 단계를 포함하는 것을 특징으로 하는 오버레이 멀티캐스트 시스템의 제어방법.
  7. 제 6 항에 있어서,
    상기 (e) 단계에서 상기 응답은 트리 레벨 및 가용한 자식 멀티캐스트 에이전트 수를 포함하며,
    상기 (f) 단계에서 상기 응답을 보낸 트리 레벨이 가장 높은 멀티캐스트 에이전트 중에서 가용한 자식 멀티캐스트 에이전트 수가 가장 큰 멀티캐스트 에이전트를 새로운 루트 멀티캐스트 에이전트로 선정하는 것을 특징으로 하는 오버레이 멀티캐스트 시스템의 제어방법.
KR1020040107107A 2004-12-16 2004-12-16 오버레이 멀티캐스트 시스템의 제어방법 KR100622020B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040107107A KR100622020B1 (ko) 2004-12-16 2004-12-16 오버레이 멀티캐스트 시스템의 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040107107A KR100622020B1 (ko) 2004-12-16 2004-12-16 오버레이 멀티캐스트 시스템의 제어방법

Publications (2)

Publication Number Publication Date
KR20060068418A KR20060068418A (ko) 2006-06-21
KR100622020B1 true KR100622020B1 (ko) 2006-09-19

Family

ID=37162733

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040107107A KR100622020B1 (ko) 2004-12-16 2004-12-16 오버레이 멀티캐스트 시스템의 제어방법

Country Status (1)

Country Link
KR (1) KR100622020B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140053303A (ko) * 2011-08-10 2014-05-07 노키아 솔루션스 앤드 네트웍스 오와이 다른 주파수 캐리어들 상에서 브로드캐스트-서비스 세션들을 진행하고 시작하는 것에 대한 시그널링

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100933338B1 (ko) * 2008-05-29 2009-12-22 경기대학교 산학협력단 계층적 다자간 통신 방법
KR101049959B1 (ko) * 2009-05-19 2011-07-15 경기대학교 산학협력단 계층적 다자간 통신 방법 및 단말기
KR101383353B1 (ko) * 2010-11-15 2014-04-10 한국전자통신연구원 오버레이 멀티캐스트 네트워크에서의 세션 공유, 가입 및 탈퇴 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010039241A (ko) * 1999-10-29 2001-05-15 정선종 멀티캐스트 응용 서비스의 데이터 전송 신뢰성 제공을 위한 수송계층에서의 트리 구성 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010039241A (ko) * 1999-10-29 2001-05-15 정선종 멀티캐스트 응용 서비스의 데이터 전송 신뢰성 제공을 위한 수송계층에서의 트리 구성 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140053303A (ko) * 2011-08-10 2014-05-07 노키아 솔루션스 앤드 네트웍스 오와이 다른 주파수 캐리어들 상에서 브로드캐스트-서비스 세션들을 진행하고 시작하는 것에 대한 시그널링
KR101588273B1 (ko) * 2011-08-10 2016-01-25 노키아 솔루션스 앤드 네트웍스 오와이 다른 주파수 캐리어들 상에서 브로드캐스트-서비스 세션들을 진행하고 시작하는 것에 대한 시그널링
US10334660B2 (en) 2011-08-10 2019-06-25 Nokia Solutions And Networks Oy Signalling about on-going and starting broadcast-service sessions on other frequency carriers

Also Published As

Publication number Publication date
KR20060068418A (ko) 2006-06-21

Similar Documents

Publication Publication Date Title
JP5431570B2 (ja) 遠隔会議用のマルチメディアストリームの効率的な伝送のための方法および装置
JP3187006B2 (ja) マルチキャスト情報を分配するソースノードから開始されるマルチキャスト接続に参加する方法
EP1865661B1 (en) A method of fast-multicast and a system thereof
CN101374066B (zh) 一种组播/单播业务接纳控制的方法、装置及系统
US20070097955A1 (en) Method and apparatus for ip multicast relay of live tv streaming traffic in a tv-over-ip environment
US20110158233A1 (en) Group communication system using media server having distributed structure and method thereof
CN101047531B (zh) 分布式会议系统
CN111131759B (zh) 一种实时多媒体传输系统及其使用方法
US8238337B1 (en) Hybrid multicast switch employing network-layer routing
KR20090046959A (ko) 멀티미디어 컨텐트 플로우들을 생성하고 분산 네트워크로 전달하기 위한 방법 및 장치
KR100622020B1 (ko) 오버레이 멀티캐스트 시스템의 제어방법
KR100592874B1 (ko) 멀티캐스트 방식의 ip 방송 방법 및 시스템
US20140176666A1 (en) Method, computer program and device for managing media stream in video conferencing
KR100453221B1 (ko) 유니캐스트 망을 이용한 그룹 캐스트 전송 방법 및 시스템
JP4502721B2 (ja) 映像会議端末装置およびシステムおよび方法
Ha et al. Topology and architecture design for peer to peer video live streaming system on mobile broadcasting social media
JP2007251707A (ja) マルチキャスト中継装置
KR20010083840A (ko) 실시간 멀티미디어 프리젠테이션을 위한 서버 비의존캐스팅 기법 및 양방향통신의 구현방법
CN115550326B (zh) 一种利用虚拟会议实现多方会议级联的方法及系统
Rios et al. Peer-to-Peer Multimedia Conferencing System Based on SIP Signaling
JP2005094608A (ja) Ipマルチキャスト転送装置およびipマルチキャスト通信情報管理装置
JP4689438B2 (ja) 情報配信システム
KR100776791B1 (ko) 다대다 통신 서비스 제공 시스템 및 방법
KR100296138B1 (ko) 동적 멀티케스트 트리를 통한 멀티미디어 회의 서비스 방법
CN114760488A (zh) 一种数据传输方法、装置、终端设备和存储介质

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
FPAY Annual fee payment

Payment date: 20110831

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20120831

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee