KR100582551B1 - 효율적인 그룹 통신 서비스를 제공하는 릴레이 멀티캐스트시스템 및 그 방법 - Google Patents

효율적인 그룹 통신 서비스를 제공하는 릴레이 멀티캐스트시스템 및 그 방법 Download PDF

Info

Publication number
KR100582551B1
KR100582551B1 KR1020040026641A KR20040026641A KR100582551B1 KR 100582551 B1 KR100582551 B1 KR 100582551B1 KR 1020040026641 A KR1020040026641 A KR 1020040026641A KR 20040026641 A KR20040026641 A KR 20040026641A KR 100582551 B1 KR100582551 B1 KR 100582551B1
Authority
KR
South Korea
Prior art keywords
multicast
feeder
session
feeders
peer
Prior art date
Application number
KR1020040026641A
Other languages
English (en)
Other versions
KR20050066937A (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 US10/933,656 priority Critical patent/US7457288B2/en
Publication of KR20050066937A publication Critical patent/KR20050066937A/ko
Application granted granted Critical
Publication of KR100582551B1 publication Critical patent/KR100582551B1/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/17Interaction among intermediate nodes, e.g. hop by hop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing

Abstract

효율적인 그룹 통신 서비스를 제공하는 릴레이 멀티캐스트 시스템 및 그 방법이 개시된다. 상기 릴레이 멀티캐스트 시스템에서는, 릴레이 그룹의 데이터 전달 경로를 효율적으로 구성하기 위하여, 각 릴레이 멀티캐스트 피더들의 서비스 제공 가능 자원을 인자로 최적의 멀티캐스트 피더를 선정하여 등급별로 피어링을 맺을 수 있다. 또한, 상기 릴레이 멀티캐스트 시스템은 릴레이 채널을 구성하기 위하여, 하나의 세션 혹은 그룹에서 단일화된 데이터 전달 채널을 사용하지 않고, 홉간 가장 적절한 채널을 협상하여 사용한다. 또한, 어떤 특정 그룹에 데이터를 전달하기 위하여, 그 그룹 멀티캐스트 멤버들이 속해 있는 LAN 혹은 사내망과 같이 소규모적으로 멀티캐스트 혹은 브로드캐스트가 가능한 로컬 멀티캐스트 도메인들을, 기존 1:1 유니캐스트 기반의 인터넷 인프라 구조 변경 없이 서로 연결시킨다.

Description

효율적인 그룹 통신 서비스를 제공하는 릴레이 멀티캐스트 시스템 및 그 방법{Relay multicast system and method providing efficient group communications service}
도 1은 본 발명에 따라 구축된 릴레이 멀티캐스트 시스템의 블록도이다.
도 2a 및 도 2b는 도 1의 릴레이 멀티캐스트 시스템에서 고려된 효율적인 데이터 경로 설정 방식을 설명하기 위한 도면이다.
도 3은 도 1의 릴레이 멀티캐스트 시스템의 동작 설명을 위한 흐름도이다.
도 4는 도 1의 세션 매니저를 나타내는 구체적인 블록도이다.
도 5는 도 1의 릴레이 멀티캐스트 시스템을 좀더 구체적으로 나타낸 블록도이다.
도 6은 세션 매니저의 동작 설명을 위한 흐름도이다.
도 7a 및 도 7b는 세션 시작 단계에서 멀티캐스트 피더의 동작 설명을 위한 흐름도이다.
도 8a 및 도 8b는 세션 시작 이후 단계에서 멀티캐스트 피더의 동작 설명을 위한 흐름도이다.
도 9는 로컬 멀티캐스트 도메인에서 단 하나의 유일한 멀티캐스트 피더를 보장하기 위한 메커니즘을 나타내는 도면이다.
도 10은 멀티캐스트 피더가 세션에 가입할 때, 이웃 멀티캐스트 피더들에 대한 정보를 얻기 위한 메커니즘을 나타내는 도면이다.
도 11은 어떤 멀티캐스트 피더가 새로운 멀티캐스트 피더와 피어를 맺기 위한 메커니즘을 나타내는 도면이다.
도 12는 멀티캐스트 피더가 세션을 떠날 경우의 메커니즘을 나타내는 도면이다.
<도면의 주요 부호에 대한 설명>
110:멀티캐스트 피더 120:로컬 서브넷
130:세션 매니저
본 발명은 그룹 통신 시스템에 관한 것으로, 특히, 릴레이 멀티캐스트 시스템(relay multicast system) 및 그 방법에 관한 것이다.
최근 인터넷 생방송이나 네트워크 게임 등 각종 그룹 통신 응용이 발달하고 있다. 현재 인터넷을 통하여 이러한 그룹 통신을 제공하기 위해서는 하나의 송신자가 다수의 수신자들에게 일일이 동일한 데이터를 중복적으로 전달해야 한다. 따라서, 네트워크 자원(resource)의 낭비는 물론, 송신 서버의 부하가 많이 증가하게 된다.
이러한 문제를 해결하기 위하여, IP(Internet Protocol) 멀티캐스트 기술이 제안된 바 있으나, 현재의 인터넷에서 데이터 전달을 수행하는 모든 라우터를 멀티캐스트 라우터로 교체해야 하는 등의 각종 문제점들이 있기 때문에, 아직까지 IP 멀티캐스트가 널리 사용되지는 못하고, 대신 캠퍼스 네트워크, 회사 네트워크, 또는 시험적인 네트워크 단위의 부분적인 인프라만이 구성되는 실정이다. 이와 같이, 멀티캐스트 통신을 완전하게 지원하지 못하는 이유는, 현재 인터넷 망에 있는 모든 라우터를 멀티캐스트가 가능한 라우터로 교체하기 위해 소요되는 비용 문제, IP 멀티 캐스트 주소 할당 문제, 및 멀티캐스트 라우팅 프로토콜과 하드웨어 상태 관리 메커니즘 등에 관한 기술적인 문제 등을 들 수 있다. 멀티캐스트의 수용을 저해하는 주요한 기술적인 문제의 하나로써 라우터의 부하 문제를 꼽을 수 있다. 현재의 멀티캐스트 백본(backbone) 라우터는, 수시로 그룹에 가입/탈퇴하는 멤버들로 인한 잦은 라우팅 테이블 변경 사항을 관리하기 위해 많은 자원을 소모한다. 이런 부하의 주된 원인은 IP 유니캐스트 메커니즘과는 다른 방식의 주소 체계를 사용함에 기인하는데, IP 유니캐스트 환경에서는 시스템의 NIC(Network Interface Card) 마다 자신이 속한 망의 주소(네트워크 주소) 블록에 속하는 정적인 주소를 사용함으로써 결국 계층적(hierarchical) IP 주소 체계를 구성할 수 있지만, IP 멀티캐스트의 경우 하나의 NIC을 갖는 시스템이라 할지라도, 응용의 시작과 종료에 따라 하나 혹은 그 이상의 주소를 수시로 갖거나 변경할 수 있는 동적이면서도 평면적(non-hierarchical)인 IP 주소 체계를 갖는다. 따라서 IP 유니캐스트 환경에서는 데이터 경로를 응용 프로그램의 시작과는 무관하게 라우터 간에 그 경로를 설정할 수 있지만, IP 멀티캐스트 환경에서 데이터 경로를 구성하기 위해서는 우선 응용 프로그램 이 그룹에 가입하여 IP 멀티캐스트 라우터 간 데이터 경로가 설정된 이후에서야 비로소 해당 데이터의 송수신 경로가 생성되기 때문이다.
최근에는 인터넷 장비의 교체 없이, 응용 계층의 프로그램을 이용하여 멀티캐스트를 가능하게 하는 기술들이 개발되고 있다. 이 방식에서는 멀티캐스트 백본에 직접 멀티캐스트 라우터가 연결되어 있지 않은 비 멀티캐스트 지역에 대하여, 가상 멀티캐스트 라우터를 통하여 터널링(tunneling)으로 연결시킴으로써, 송신자와 수신자들간에 IP 멀티캐스트를 가능하게 한다. 이 방법을 사용할 경우, 일반 PC(personal computer) 사용자들은 가상 멀티캐스트 라우터에 접속하여 IP 멀티캐스트를 사용할 수는 있지만, IP 멀티캐스트의 주소 충돌 문제나 각각의 멀티캐스트 디바이스에서 멀티캐스트 라우팅 상태 정보를 관리하기 위한 부하 문제를 근본적으로 해결할 수 없다는 문제점이 있다. 또한, 비 멀티캐스트 지역을 연결시키는 터널링 기법에 있어서, 단지 근거리 홉(hop)과의 터널링만을 고려하기 때문에, 터널링을 연결하는 중간 노드에 의한 병목 현상(bottleneck)이 발생할 수 있다는 문제점이 있다. 이와 같이 IP 멀티캐스트 라우터의 도움 없이 송신자로부터 다수의 수신자들까지의 데이터 전달을, 해당 통신에 참가하는 종단 호스트가 담당하게 하는, 오버레이(overlay) 혹은 응용 계층 멀티캐스트 메커니즘에서는, 중간 데이터 전달 경로가 라우터와 같은 네트워크 장비가 아닌 일반 PC나 워크스테이션(workstation) 등의 종단 호스트를 사용하기 때문에, 데이터 전달 경로의 설정이나 노드의 중단 등 각종 오류 발생 등에 효율적으로 대처할 수 있는 메커니즘이 반드시 필요하다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로서, 본 발명이 이루고자 하는 기술적 과제는, 송신자가 다수의 수신자들에게 동시에 동일한 데이터를 전송할 때, 송신 노드의 자원과 대역을 모두 효율적으로 사용할 수 있는 멀티캐스트 네트워크에서, 현재의 1:1 유니캐스트 방식의 기존 인터넷 인프라 구조를 변경하지 않고서도 오버레이 멀티캐스트 통신을 가능하게 하고, 그룹 데이터 경로를 네트워크 계층이 아닌 다른 하위 계층에서 수행하여야 할 경우에 보다 빠르고 오류에 강한 효율적인 멀티캐스트 트리를 구성하는 릴레이 멀티캐스트 시스템 및 그 방법을 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 릴레이 멀티캐스트 시스템은, 멀티캐스트 피더들, 로컬 서브넷들, 및 세션 매니저를 구비하는 것을 특징으로 한다. 상기 멀티캐스트 피더들은 세션 가입 요청 신호를 발생시키고, 동급 피어 리스트 정보를 수신하여 멀티캐스트 데이터 송수신을 릴레이한다. 상기 로컬 서브넷들 각각은, 자신의 로컬 멀티캐스트 도메인에서, 해당 멀티캐스트 피더와 통신한다. 상기 세션 매니저는 상기 멀티캐스트 피더들에 관한 세션 정보를 관리하고, 상기 세션 가입 요청 신호에 응답하여 상기 동급 피어 리스트 정보를 생성한다.
상기 세션 매니저는 상기 세션 정보를 이용하여 상기 멀티캐스트 피더들의 세션 가입 허가를 결정하고, 상기 멀티캐스트 피더들은 상기 동급 피어 리스트 정보를 이용하여 각각의 릴레이 경로를 설정하는 것을 특징으로 한다. 상기 세션 매니저는 상기 세션 가입 허가 결정에 있어서, 상기 세션 정보에 포함된 인증 정책에 따라 그 인증에 성공한 멀티캐스트 피더에 허가 결정하는 것을 특징으로 한다. 상기 세션 매니저는 상기 세션 가입 허가 결정에 있어서, 세션에 가입하려는 멀티캐스트 피더들에 대하여 인증 없이 모두 허가 결정하는 것을 특징으로 한다.
상기 멀티캐스트 피더들은 세션에 가입할 때, 상기 동급 피어 리스트 정보를 수신하면, 자신이 로컬 멀티캐스트 도메인에서 유일한 피더인지를 확인하는 절차를 갖는다. 만일 자신이 로컬 멀티캐스트 도메인에서 유일한 피더일 경우 상기 동급 피어 리스트 정보에서 최적의 피어 멀티캐스트 피더를 선정하여, 선정된 피어 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 통신하는 것을 특징으로 한다. 상기 멀티캐스트 피더들은 세션에 가입 한 후, 상기 선정된 최적 피어 멀티캐스트 피더의 자원이 고갈된 경우에, 다른 멀티캐스트 피더들 중에서 통신할 최적 피어 멀티캐스트 피더를 재선정하여, 재선정된 피어 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 재 통신하는 것을 특징으로 한다. 상기 멀티캐스트 피더들은 다른 멀티캐스트 피더로부터 피어링 요청을 받는 경우에, 가용 자원이 있을 때 허가하여, 피어링 요청한 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 통신하는 것을 특징으로 한다. 상기 멀티캐스트 피더들은 세션에 가입한 멀티캐스트 피더를 통한 유저의 피어 멀티캐스트 피더 변경요청을 받아, 다른 멀티캐스트 피더들 중에서 통신할 최적 피어 멀티캐스트 피더를 재선정하여, 재선정된 피어 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 통신하는 것을 특징으로 한다. 상기 멀티캐스트 피더들 각각은 수신된 릴레이 데이터를 전송 받을 다른 멀티캐스트 피더와의 채널 협상에 따라서, 상기 수신된 릴레이 데이터를 상기 전송 받을 다른 멀티캐스트 피더의 통신 프로토콜에 해당 하는 데이터로 변경하여, 멀티캐스트 데이터 송수신을 릴레이하는 것을 특징으로 한다.
상기 세션 정보는 세션 정의, 세션 가입 조건, 릴레이 가능한 멀티캐스트 피더들 리스트, 멀티캐스트 피더들 및 세션의 상태 정보, 및 사용자 정의 정보를 포함하는 것을 특징으로 한다. 상기 동급 피어 리스트 정보는 세션에 가입하려는 멀티캐스트 피더와 동급의 성능을 가지는 멀티캐스트 피더들에 관한 리스트 정보인 것을 특징으로 한다.
상기 다른 기술적 과제를 달성하기 위한 본 발명에 따른 릴레이 멀티캐스트 통신 방법은, 멀티캐스트 피더들에서, 세션 가입 요청 신호를 발생시키는 단계; 세션 매니저에서, 상기 세션 가입 요청 신호에 응답하여 동급 피어 리스트 정보를 생성하는 단계; 및 상기 멀티캐스트 피더들에서, 상기 동급 피어 리스트 정보를 수신하여 멀티캐스트 데이터 송수신을 릴레이하는 단계를 구비하는 것을 특징으로 한다. 상기 세션 정보는 상기 멀티캐스트 피더들의 세션 가입 허가 결정에 이용되고, 상기 멀티캐스트 피더들은 상기 동급 피어 리스트 정보를 이용하여 각각의 릴레이 경로를 설정하는 것을 특징으로 한다. 상기 세션 가입 허가 결정에 있어서, 상기 세션 정보에 포함된 인증 정책에 따라 그 인증에 성공한 멀티캐스트 피더에 허가가 결정되는 것을 특징으로 한다. 또는, 상기 세션 가입 허가 결정에 있어서, 세션에 가입하려는 불특정 다수의 멀티캐스트 피더들에 대하여 인증 없이 모두 허가 결정할 수 있는 것을 특징으로 한다.
상기 멀티캐스트 피더들은 세션에 가입할 때, 상기 동급 피어 리스트 정보를 수신하면, 로컬 멀티캐스트 도메인에서 유일함을 확인하고, 가입하려는 자신 멀티캐스트 피더 이외의 다른 멀티캐스트 피더들 중에서 통신할 최적 피어 멀티캐스트 피더를 선정하여, 선정된 피어 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 통신하는 것을 특징으로 한다. 상기 멀티캐스트 피더들은 세션에 가입 한 후, 상기 선정된 최적 피어 멀티캐스트 피더의 자원이 고갈된 경우에, 다른 멀티캐스트 피더들 중에서 통신할 최적 피어 멀티캐스트 피더를 재선정하여, 재선정된 피어 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 재 통신하는 것을 특징으로 한다. 상기 멀티캐스트 피더들은 다른 멀티캐스트 피더로부터 피어링을 요청 받는 경우에, 가용 자원이 있을 때 허가하여, 피어링을 요청한 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 통신하는 것을 특징으로 한다. 상기 멀티캐스트 피더들은 세션에 가입한 멀티캐스트 피더를 통한 유저의 피어 멀티캐스트 피더 변경요청을 받아, 다른 멀티캐스트 피더들 중에서 통신할 최적 피어 멀티캐스트 피더를 재선정하여, 재선정된 피어 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 통신하는 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 릴레이 멀티캐스트 시스템(relay multicast system:이하 "RMS"라 약칭함)(100)을 나타내는 블록도이다. 도 1을 참조하면, 상기 RMS(100)는 멀티캐스트 피더들(multicast feeders)(110), 로컬 서브넷들(local subnets)(120), 및 세션 매니저(session manager)(130)를 구비한다.
상기 RMS(100)에서는, 현재의 인터넷 등의 통신 네트워크 기반의 인프라 구조를 변경하지 않은 환경에서, 단지 사용자의 개인용 멀티캐스트 피더들(110), 예를 들어, PC(personal computer)에 소프트웨어 형태 혹은 변형된 하드웨어 방식으로 본 발명에 따른 기능 블록들을 설치하고, 상기 세션 매니저(130)가 상기 멀티캐스트 피더들(110)의 상태를 관리함으로써, 모든 네트워크 통신 환경에서 효율적으로 멀티캐스트 데이터 릴레이 서비스가 제공되도록 제안되었다.
상기 멀티캐스트 피더들(110)은 특정 그룹 데이터를 수신하길 원하는 사용자들이 속해 있는 각 로컬 멀티캐스트 도메인(domain)에 존재하는, 데스크 톱 PC, 서버, 또는 다른 하드웨어 형태에 해당한다. 상기 로컬 서브넷들(120) 각각은 자신의 로컬 멀티캐스트 도메인에서, 해당 멀티캐스트 피더(110)와 통신한다. 상기 멀티캐스트 피더들(110)은 송신측의 어떤 멀티캐스트 피더(110)로부터의 그룹 데이터를 수신측의 어떤 멀티캐스트 피더(110)에게 릴레이한다. 상기 세션 매니저(130)는 상기 멀티캐스트 피더들(110)의 상태 관리와 상기 멀티캐스트 피더들(110) 간의 릴레이 경로가 설정되도록 정보를 제공해 준다. 기존 멀티캐스트 메커니즘에서, 송신측 사용자는 임의의 그룹 주소로 데이터를 보낼 수 있기 때문에, IP(internet protocol) 멀티캐스트 주소 충돌 문제가 발생할 수 있다. 이러한 문제를 해결하기 위하여, 상기 RMS(100)는 어떤 특정 그룹에 속하는 사용자들, 또는 응용들(applications), 즉, 멀티캐스트 피더들(110)의 대화를 세션(session)이라는 용어로 지칭하며, 이는 인터넷 등 네트워크 전역에 고유한 세션 아이디(session ID)로 구분될 수 있다.
도 2a 및 도 2b는 도 1의 RMS(100)에서 고려된 효율적인 데이터 경로 설정 방식을 설명하기 위한 도면이다. 상기 RMS(100)에서는 송신측 멀티캐스트 피더(110)의 그룹 데이터가 유니캐스트(unicast) 망을 통과하여 종단 수신측 멀티캐스트 피더들(110)에게 전달 될 수 있도록, 중간의 멀티캐스트 피더들(110)로 이루어진 최적 경로를 구성한다. 경로에 속하는 멀티캐스트 피더들(110) 간에 데이터가 실제로 전달되는 경로는 홉-바이-홉(hop by hop) 단위로 구성되는 채널이다. 따라서, 일단 송수신측 간의 데이터 전달 경로가 설정되면, 그 데이터는 멀티캐스트 피더들(110) 간의 홉-바이-홉 채널을 통해 전송된다. 그런데, 기존 유사 기술의 경우 전송 경로를 설정하기 위하여, 채널이 구성되는 노드쌍의 선택이 단순히 가장가까운 거리에 기반하는 것이 전부였다. 그러나, 이와 같은 기존 방식은 도 2a에 보인 바와 같이, 시스템의 자원이나 전송 능력에 의해 병목 현상을 초래시킬 수 있다. 따라서, 본 발명에서는, 기존 방식과는 달리, 병목현상이 발생하지 않도록 하기 위하여, 등급(class)별로 멀티캐스트 피더들(111~113)을 구분하여 각 등급별 전송 경로가 구성되도록 하였다. 이와 같은 기술에 대하여 아래에서 자세히 기술된다.
도 3은 도 1의 RMS(100)의 동작 설명을 위한 흐름도이다. 상기 RMS(100)의 대략적인 동작은 다음과 같다. 도 3을 참조하면, 먼저, 멀티캐스트 응용을 위한 시 스템, 즉, 로컬 멀티캐스트 도메인에 하나의 멀티캐스트 피더(MF S)를 설치하여 데이터를 송신하는 어느 하나의 송신자 혹은 세션 시작자가, 세션 매니저(130)에 그룹에 관한 세션정보를 등록한다(S0, S1). 다음에, 세션 정보를 웹(web)이나 이-메일, 혹은 특별히 RMS(100)를 위해 고안된 세션 공지 프로그램에 의해 모든 수신자 멀티캐스트 피더들(MF S, MF A, MF B)에게 공지한다(S2). 공지된 그룹 통신에 가입하려는 수신자는 자신의 PC에 설치되어 있거나, 동일한 로컬 멀티캐스트 도메인에서 로컬 서브넷(120)과 통신하는 멀티캐스트 피더(MF A)를 구동시켜, 세션 가입 요청 신호를 발생시킨다(S3a). 수신자측 멀티캐스트 피더(MF A)는 세션 매니저(130)로부터 세션 가입 요청 신호에 대한 승인을 얻고(S4a), 세션 매니저(130)로부터 세션 가입 승인의 결과로써 자신이 피어로 맺을 수 있는 가능성 있는 피어(peer) 멀티캐스트 피더들에 대한 피어 리스트 정보를 받는다(S5a). 이후 상기 멀티캐스트 피더(MF A)는 로컬 멀티캐스트 도메인에서 유일한 멀티캐스트 피더(Head MF)임을 확인하고(S6a), 최적의 피어 멀티캐스트 피더를 검색한다(S7a). 피어 멀티캐스트 피더를 선택하면, 상기 멀티캐스트 피더(MF A)는 피어로 선택된 멀티캐스트 피더와의 피어링(peering)을 요청한 후(S8a), 피어 멀티캐스트 피더와 데이터 릴레이를 시작한다(S9a). 추가적인 다른 멀티캐스트 피더(MF B)도 역시 위의 같은 과정(S3b~S9b)에 따라, 선택된 피어 멀티캐스트 피더와 데이터 릴레이한다.
도 4는 도 1의 세션 매니저(130)를 나타내는 구체적인 블록도이다. 도 4를 참조하면, 세션 매니저(130)는 하나 혹은 그 이상의 세션들(131~133)을 관리할 수 있다. 위에서 기술한 바와 같이, 세션은 어떤 특정 그룹에 속하는 사용자들, 또는 응용들(applications), 즉, 멀티캐스트 피더들(110)의 대화를 지칭한다. 상기 세션 매니저(130)는 각 그룹 통신에 관한 세션 정보를 데이터베이스(134,135)에 관리하고, 멀티캐스트 피더들(110)이 데이터 전달 경로를 설정할 수 있도록 피어 리스트 정보를 제공한다. 상기 세션 정보는 세션 프로토콜 등 세션 정의, 세션 가입 조건, 릴레이 가능한 멀티캐스트 피더들(110) 리스트, 멀티캐스트 피더들(110) 및 세션의 상태 정보, 및 사용자 정의 정보를 포함한다. 특히, 멀티캐스트 피더들(110)이 데이터 릴레이 경로를 설정하기 위한 세션 가입 요청 신호를 발생시킬 때, 세션 매니저(130)는 가입 승인 시에 멀티캐스트 피더들(110)에 동급의 피어 리스트 정보를 제공한다. 동급 피어 리스트 정보는 세션에 가입하려는 멀티캐스트 피더와 동급의 성능을 가지는 멀티캐스트 피더들에 관한 리스트 정보이다.
도 5는 도 1의 RMS(100)을 좀더 구체적으로 나타낸 블록도이다. 도 5를 참조하면, 멀티캐스트 피더들(110) 각각은 콘트롤 모듈(115) 및 데이터 송수신 모듈(116)을 구비한다. 콘트롤 모듈(115)에서의 그룹 통신을 위한 멀티캐스트 제어에 따라, 데이터 송수신 모듈(116)은 다른 멀티캐스트 피더들(110)과 데이터 릴레이한다. 멀티캐스트 피더들(110) 간의 그룹 통신에서, 로컬 멀티캐스트 도메인에서 유일한 멀티캐스트 피더(Head MF)는, 회사 네트워크와 같이 소정 라우터를 통하여 로컬 서브넷(120)으로 연결된 소정 단말들(예를 들어, PC)과 통신할 수 있다. 또한, 멀티캐스트 피더들(110) 각각은 이동통신 네트워크와 같이, 소정 억세스 포인트, 즉 기지국을 통하여 무선 로컬 서브넷(120)으로 연결된 다른 소정 단말들(예를 들어, 이동통신 단말)과 통신할 수 있다.
즉, 멀티캐스트 피더(110)는 개인용 PC 혹은 다른 디바이스 형태로 구현될 수 있고, 응용 프로그램과의 관계에서도 역시 동일한 시스템에 구현되거나 별도의 다른 시스템으로 구현될 수 있다. 멀티캐스트 피더(110)는 각 로컬 멀티캐스트 도메인에서 "Head MF"로서 RMS(100) 세션당 하나씩 존재하여 송신자로부터의 그룹 데이터를 종단 수신자까지 릴레이한다. 멀티캐스트 피더(110)는 직접 송신자로부터 데이터를 수신하여, 로컬 서브셋(120)에 연결된 소정 단말들과 피어링 관계를 맺어 수신된 동일 데이터가 로컬 멀티캐스트 도메인 내의 단말들에 대해서도 동일하게 릴레이되도록 하므로, 멀티캐스트 피더들(110)의 추가에 의하여 망의 부하가 늘어나지 않는다. 로컬 멀티캐스트 도메인 내에서 피어링 관계에 있는 멀티캐스트 피더들(110)은, 자신이 수신한 데이터를 인접 피어 멀티캐스트 피더들(110)에 릴레이하거나, 자신이 속한 로컬 멀티캐스트 도메인 내의 수신자 단말들에 데이터를 전달한다. 멀티캐스트 피더(110)는 로컬 멀티캐스트 도메인에서 중복된 데이터가 발생하는 것을 방지하고, 효율적인 데이터 전달 경로를 설정하기 위하여, 멀티캐스트 도메인 당 하나의 유일한 멀티캐스트 피더(Head MF)로서 존재하고, 그 유일한 멀티캐스트 피더(Head MF)만이 다른 멀티캐스트 도메인들에서 유일한 다른 멀티캐스트 피더들(110)과 통신한다. 즉, 로컬 멀티캐스트 도메인에서 로컬 서브넷(120)으로 연결된 단말들은 그 도메인에서 유일한 멀티캐스트 피더(Head MF)와 피어링 관계를 맺고 통신한다. 또한, 멀티캐스트 피더(110)는 세션 매니저(130)와 다른 멀티캐스트 피더들(110)로부터, 가용한 멀티캐스트 피더들(110)에 관련된 정보(동급 피어 리스트 정보)를 수집하여, 최적 피어 멀티캐스트 피더를 선정하여, 선정된 피어 멀 티캐스트 피더와 홉-바이-홉 채널 협상하여 통신한다
한편, 위에서 기술한 바와 같이, 세션 매니저(130)는 어느 하나의 RMS(100) 세션을 위해 동작하는 멀티캐스트 피더들(110)의 리스트를 관리하고, 멀티캐스트 피더(110)의 세션 가입을 허가하거나, 멀티캐스트 피더들(110) 간의 데이터 전달 경로를 설정하기 위해 사용된다. 세션 매니저(130)는 소프트웨어 형태로 구현될 수 있으며, 시스템의 성능에 따라 하나 혹은 여러 개의 RMS(100) 세션을 관리할 수 있지만 데이터 전달과정이나 데이터 전송 경로를 구성하는 과정에는 직접적인 관여를 하지 않는다. 이와 같은, 세션 매니저(130)의 동작은 다음과 같다. 도 6은 세션 매니저(130)의 동작 설명을 위한 흐름도이다. 도 6을 참조하면, 먼저, 세션 매니저(130)는, 로컬 멀티캐스트 도메인에 하나의 멀티캐스트 피더(110)를 설치하여 데이터를 송신하는 어느 하나의 송신자 혹은 세션 시작자로부터, 그룹 통신에 관한 세션정보를 입력받아 등록한다(S610). 세션 매니저(130)는 위에서 기술한 바와 같이 다수의 세션을 동시에 관리할 수 있는데, 이와 같이 세션의 시작자로부터 세션에 대한 정보를 받아들임으로써, 세션을 초기화하고 시작한다(S620). 일단 세션이 시작된 이후, 세션 매니저(130)는 크게 세 종류의 이벤트에 의해 동작한다.
첫째로, 타이머의 인터럽트에 대하여는, 세션 매니저(130)가 내부에 구비된 소정 타이머에 정의된 함수에 따라 동작하여, 주기적 또는 비주기적으로 다른 인터럽트를 체크한다(S631).
두 번째로, 세션 매니저(130)가 사용자 인터럽트에 대하여 다음과 같이 동작한다(S640). 사용자의 주요 요청은 세션 종료 여부와 RMS(100) 세션 정보를 수집하 는 것을 들 수 있다(S641~644). 사용자가 어느 특정 멀티캐스트 피더(110), 또는 RMS(100) 세션 전체의 멀티캐스트 피더들(110)의 상태(데이터 전송률, 오류율 등 사용자가 요구하는 각종 파라미터)를 보고하는 것을 요청하거나, RMS(100) 세션에 현재 참여하고 있는 모든 멀티캐스트 피더들(110), 또는 수신자들에 대한 리스트를 요청할 경우, 세션 매니저(130)는 해당 정보를 수집하여 사용자에게 리포트한다(S642~S644).
마지막으로, 세션 매니저(130)를 구동시키는 이벤트는 네트워크 인터럽트에 의한 이벤트이다(S650). 이 이벤트는 멀티캐스트 피더(110)로부터 RMS(100) 세션 가입 요청을 받아 이를 처리하는 절차를 주로 담당한다(S651). 이 과정에 있어서, 먼저 RMS(100) 세션은 불특정 다수가 참여할 수 있는 개방형 세션과 어느 승인된 특정 멤버들만 참여 가능한 폐쇄형 세션으로 나눌 수 있다.
따라서, 세션 매니저(130)는 멀티캐스트 피더(110)로부터 세션 가입 요청 신호가 들어오면, 이에 응답하여 가입 요건을 만족하면, 동급 피어 리스트 정보를 생성한다(S652~S653). 세션 매니저(130)는 가입 요건이 만족되지 않을 때에는 해당 멀티캐스트 피더(110)에 가입 불가 오류를 리포트한다(S654). 세션 매니저(130)는 가입 요건 판단에 있어서, 만일 개방형 세션일 경우에는, 모든 멀티캐스트 피더들(110)의 세션 가입 요청에 대하여 허가하지만, 폐쇄형 RMS(100) 세션일 경우에는, 각각의 멀티캐스트 피더들(110)의 가입 요청 시, 세션 정보에 포함되는 로긴(login), 기타 인증 방법으로 부여한 인증키, 또는 세션 생성 당시 부여된 각종 정책(예: 가입하려는 멀티캐스트 피더가 릴레이 기능을 제공하는지 여부, 멀티 캐스트 피더의 하드웨어 조건 등)에 따라, 해당 RMS(100) 세션으로의 가입 허가 여부를 결정한다(S652).
만일, 멀티캐스트 피더(110)의 가입을 허가할 경우, 세션 매니저(130)는 멀티캐스트 피더(110)에게 멀티캐스트 피더들(110) 간 데이터 전달 경로를 설정할 수 있도록 어떤 정보(동급 피어 리스트 정보)를 알려준다. 그런데, 세션 매니저(130)는 데이터 전송 경로에 직접 참여하지 않을 뿐만 아니라, 망의 구성을 알 수 없기 때문에 멀티캐스트 피더들(110) 간의 가장 최적화된 경로에 대한 정보를 제공할 수 없다. 따라서, 최적화된 데이터 전송 경로는 멀티캐스트 피더(110)가 스스로 검색해야 하는데, 이를 위하여 세션 매니저(130)는 멀티캐스트 피더들(110)에게 특성에 따라 차별화된 동급 피어 리스트 정보를 제공한다(S653, S655). 이 차별화된 동급의 멀티캐스트 피더들(110)에 관한 피어 리스트 정보는 RMS(100) 세션이 서비스 품질(QoS:Quality of Service)을 향상시킬 세션인지에 따라, 그 등급이 나뉘게 된다(S658). 세션 매니저(130)는 차별화된 동급 피어 리스트 정보를 발견하지 못하고 서비스 품질을 고려하는 경우에는, 해당 멀티캐스트 피더에 가입 불가 오류를 리포트한다(S659). 세션 매니저(130)는 차별화된 동급 피어 리스트 정보를 발견한 경우, 또는 발견하지 못하였지만 서비스 품질을 고려하지 않는 경우에는, 해당 멀티캐스트 피더에 동급 피어 리스트 정보를 제공한다(S656). 이에 따라, 세션 매니저(130)는 피어 리스트 정보를 제공받은 멀티캐스트 피더(110)에 관한 정보를 데이터베이스(134,135)에 업데이트시킨다(S657). 서비스 품질을 고려하지 않을 경우의 예로써, 광대역 링크에 저대역, 저성능의 멀티캐스트 피더(110)가 삽입될 경우 그 멀티캐스트 피더(110)로 인해 전체적인 성능이 떨어질 수도 있다. 특히 전달 기능은 수행하지 못하고 수신 기능만을 수행하는 리프(Leaf) 멀티캐스트 피더가 코어(core) 부분에 삽입될 경우, 데이터 전달 경로의 확장성을 방해할 수 있고, 데이터 수신자는 물론 세션 전체에 악영향을 끼칠 수 있다. 따라서, 이 이벤트에서는 멀티캐스트 피더(110)의 가입 요구와 그 성능에 따라 등급별로 관리된 동급의 멀티캐스트 피더에 관한 피어 리스트를 LIFO(Last-in First-out) 방식으로 알려주는 방식을 취한다.
위에서 기술한 바와 같이, 멀티캐스트 피더들(110)은 멀티캐스트 응용 프로그램이나 디바이스를 통하여 송신자로부터의 데이터를 수신할 수 있도록, 그들이 위치하는 로컬 멀티캐스트 도메인들간을 연결해준다. 멀티캐스트 피더(110)의 동작은, 세션을 시작할 때의 과정과 세션이 시작된 이후 데이터 전달에 관한 과정으로 나누어진다.
도 7a 및 도 7b는 세션 시작 단계에서 멀티캐스트 피더(110)의 동작 설명을 위한 흐름도이다. 도 7a에서, 먼저, RMS(100) 세션에 가입하기 위하여, 사용자가 수신 응용 프로그램을 통하여 멀티캐스트 피더(110)를 구동시키거나, 멀티캐스트 피더(110)가 항상 동작하도록 로컬 멀티캐스트 도메인 관리자가 설정해 놓는다. 멀티캐스트 피더(110)는 RMS(100) 세션에 가입하기 위하여, 자신의 시스템 자원을 검색하여 해당 자격 조건에 관한 정보를 세션 매니저(130)에게 알려줌과 동시에, 세션 가입 요청 신호를 발생시켜 세션 가입 허락을 요청한다(S711, S712). 멀티캐스트 피더(110)의 자격 조건이라 함은, 세션에 가입하기 위한 인증 정보와 멀티캐스 트 피더(110) 자신이 지원할 수 있는 하드웨어 성능 등 각종 고려할 수 있는 파라미터들을 의미한다. 최적의 효율적인 데이터 전달 경로를 설정하기 위해서는, 즉, 세션 매니저(130)가 관리하는 등급별 데이터 경로에 가입하기 위해선, 자신과 동일 등급에 속하는 멀티캐스트 피더들(110)에 관한 피어 리스트가 필요하다. 따라서, 멀티캐스트 피더(110)는 자신이 처리할 수 있는 성능에 대한 정보를 세션 매니저(130)에게 제공하여, 세션 매니저(130)로부터 동급의 멀티캐스트 피더(110)에 관한 피어 리스트를 수집하여 저장한다(S713, S714).
세션 매니저(130)로부터 가입 허가를 받은 후, 멀티캐스트 피더(110)는 자신이 로컬 멀티캐스트 도메인에서 유일한 멀티캐스트 피더(Head MF)임을 설정하는 과정이 필요하다(S715). 도 9는 로컬 멀티캐스트 도메인에서 단 하나의 유일한 멀티캐스트 피더(Head MF)를 보장하기 위한 메커니즘을 나타내는 도면이다. 세션 매니저(130)로부터 가입 허가를 받은 새로운 멀티캐스트 피더(118)는 기존 멀티캐스트 피더(119)의 주기적인 "Head MF" 선언(S910)에 대하여, 자신(118)이 "Head MF"로 되기 위하여 기존 멀티캐스트 피더(119)에 요청할 수 있고(S920), 기존 멀티캐스트 피더(119)는 서로의 자원을 비교하여 성능이 낮으면 유일한 멀티캐스트 피더(Head MF)임을 포기한다(S940). 더 성능이 우수한 쪽이 다시 유일한 멀티캐스트 피더(Head MF)임을 선언한다(S950). 유일한 멀티캐스트 피더(Head MF) 설정 과정이 필요한 이유는, 만일 로컬 멀티캐스트 도메인 내에 동일 세션에 가입된 멀티캐스트 피더(110)가 2개 이상 존재할 때, 중복된 데이터를 피딩(feeding)받는 경우가 생기므로 이를 방지하기 위한 기능이다.
세션 매니저(130)로부터 가입 허가를 받은 멀티캐스트 피더(110)가, 도 9와 같은 과정에 의하여 로컬 멀티캐스트 도메인 내의 유일한 멀티캐스트 피더(Head MF)로 선정되지 못하면, 로컬 멀티캐스트 도메인 내에 이미 존재하는 유일한 멀티캐스트 피더(Head MF)에게 피어링 관계를 맺고 연결하여 데이터 릴레이 상태로 동작한다(S717~S719).
도 7b에서, 도 9와 같은 과정으로 선정된 로컬 멀티캐스트 도메인 내의 유일한 멀티캐스트 피더(Head MF)는, 세션 매니저(130)로부터 수집한 피어 리스트를 통해 자신이 가장 효율적으로 데이터를 전달받을 수 있다고 판단되는 최적 피어 멀티캐스트 피더를 검색한다(S716, S720). 도 10은 멀티캐스트 피더(110)가 세션에 가입할 때, 이웃 멀티캐스트 피더들(110)에 대한 정보를 얻기 위한 메커니즘을 나타내는 도면이다. 도 10에서, 로컬 멀티캐스트 도메인 내에서 선정된 유일한 멀티캐스트 피더(NEW MF)는, 세션 매니저(130)로부터 수집한 피어 리스트(A, B)와 A, B를 통해 다시 수집한 C, D, N 중에서, 최적 피어 멀티캐스트 피더를 선정한다(S1010~S1070). 로컬 멀티캐스트 도메인 내에서 선정된 유일한 멀티캐스트 피더(NEW MF)는, 최적 피어를 선정한 이후, 피어 멀티캐스트 피더와의 홉-바이-홉 채널을 협상하여 채널을 연결시킨다(S1080~S1092).
이와 같이, 최적의 피어 멀티캐스트 피더가 검색되었을 경우, 그 멀티캐스트 피더와 피어 관계를 맺기를 시도한다(S721~S725). 피어링 관계를 맺길 원하는 요청에 대해서, 피어 멀티캐스트 피더는 피어링의 성공 여부와 더불어 그 피어 멀티캐스트 피더가 가지고 있는 피어 멀티캐스트 피더들의 리스트 정보를 알려준다(S722~S724). 이 정보는 멀티캐스트 피더(110)가 세션에 속한 멀티캐스트 피더들(110)에 대한 정보를 확장하기 위해 사용하는 방법으로써, 만일 피어 관계를 시도한 업스트림(upstream) 멀티캐스트 피더의 자원이 고갈되어 피어 관계를 맺을 수 없는 경우에, 멀티캐스트 피더(110)는 지속적으로 가용한 피어 멀티캐스트 피더들을 재 검색하여 최적의 피어를 검색한다. 최적 피어를 선정한 이후, 피어 멀티캐스트 피더와의 홉-바이-홉 채널을 협상한다(S726~S728). 이 채널은 송신자로부터의 그룹 통신 데이터를 수신자까지 전달하기 위해 사용하는 데이터 전달 경로 채널로써, 네트워크 환경과 각 멀티캐스트 피더(110)의 자원에 따라 동적으로 선정하여 사용할 수 있다. 현재, IPIP(IP-within-IP), UDP(user datagram protocol), TCP(transmission control protocol), SCTP(stream control transmission protocol) 등의 프로토콜을 이용한 터널링 방법이 인터넷에서 광범위하게 사용되고 있다. RMS(100)에서 멀티캐스트 데이터의 터널링은 획일된 메커니즘을 사용하지 않고, 홉-바이-홉 단위의 터널링 협상 메커니즘을 사용한다. 예를 들어, 대부분의 멀티캐스트 피더들(110)이 IPIP 터널링으로 연결되었지만, 어느 특정 구간에 설치된 NAT(network address translator)나 인터넷 방화벽으로 말미암아 업스트림(upstream) 멀티캐스트 피더로부터의 데이터를 수신하지 못할 때 TCP 등 타 멀티캐스트 피더들(110)과 다른 터널링 방식을 협상하여 선택할 수 있다. 채널 협상에 성공하면, 최적 피어 멀티캐스트 피더에게 피어링 관계를 맺고 연결하여 데이터 릴레이 상태로 동작한다(S719).
한편, 도 8a 및 도 8b는 세션 시작 이후 단계에서 멀티캐스트 피더(110)의 동작 설명을 위한 흐름도이다. 세션에 가입하고 데이터 전달 채널이 완성된 이후, 멀티캐스트 피더들(110)은 유니캐스트 환경에서 송신자로부터 멀티캐스트 그룹 통신 데이터를 업스트림(upstream) 멀티캐스트 피더로부터 받아 다운스트림(downstream) 멀티캐스트 피더, 또는 다른 로컬 멀티캐스트 도메인으로 릴레이하는 기능을 수행한다. 도 8a에서, 멀티캐스트 피더(110)는 다른 멀티캐스트 피더(110)로부터 피어링 요청을 수신하는 이벤트(S810), 타 멀티캐스트 피더(110)로부터의 자원 검색(probe) 요청을 수신하는 이벤트(S820), 사용자의 요청 이벤트(S830), 유일한 멀티캐스트 피더(Head MF) 선출 이벤트(S840), 및 데이터 릴레이 요청 이벤트(S850)를 처리한다.
먼저, 다른 멀티캐스트 피더(110)로부터 피어링 요청을 수신하는 이벤트에서는, 다른 멀티캐스트 피더(110)로부터 피어링을 요청 받았을 경우에, 자신이 그 요청에 대해 충분히 제공해 줄 가용 자원이 있는지를 판단한 후, 만일 가용자원이 있을 경우 허가하여, 피어링 요청한 멀티캐스트 피더(110)와 홉-바이-홉 채널 협상하여 통신한다(S810~S815). 다음에, 타 멀티캐스트 피더(110)로부터의 자원 검색(probe) 요청을 수신하는 이벤트에서는, 자신의 시스템 자원을 검색하여 자원 상황을 알려준다(S820~S822).
사용자의 요청 이벤트에서는, 멀티캐스트 피더(110)의 종료, 또는 사용자 요청에 대한 처리를 하게 된다(S830~S834). 만일, 자신이 현재 맺고 있는 피어 멀티캐스트 피더와의 관계보다 더 성능 좋은 멀티캐스트 피더(110)를 검색하여, 이러한 멀티캐스트 피더로 자신의 피어 관계를 변경시키기 위해서 도 11과 같은 과정을 수 행한다(S832). 도 11은 어떤 멀티캐스트 피더(110)가 새로운 멀티캐스트 피더(110)와 피어를 맺기 위한 메커니즘을 나타내는 도면이다. 도 11에서, 새로운 멀티캐스트 피더(F)에게 피어 요청을 한 후, 이것이 성공할 경우 기존의 멀티캐스트 피더(E)에게 피어 관계를 끊도록 요청한다(S1110~S1180). 도 12는 멀티캐스트 피더(110)가 세션을 떠날 경우의 메커니즘을 나타내는 도면이다. 도 12에서, 피어 관계를 탈퇴하는 멀티캐스트 피더(G)와의 피어 관계가 종료될 것을 요청하는 경우에는, 멀티캐스트 피더(G)는 자신과 피어링을 맺은 멀티캐스트 피더들(H, F)에게 세션을 종료할 것을 요청하는 메시지를 주고받는다(S1210~S1240). 이와 같이, 유저는 피어 멀티캐스트 피더 변경요청을 할 수 있고, 요청 받은 멀티캐스트 피더는 다른 멀티캐스트 피더들 중에서 통신할 최적 피어 멀티캐스트 피더를 재선정하여, 재선정된 피어 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 통신한다.
위에서 기술한 바와 같이, 멀티캐스트 피더(110)는 로컬 멀티캐스트 도메인을 대표하기 위한 하나의 유일한 멀티캐스트 피더(Head MF)이어야 한다. 따라서, 도 8b에서, 유일한 멀티캐스트 피더(Head MF) 선출 이벤트에서는, 새로 세션에 가입하려는 멀티캐스트 피더(110)로부터 발생하는 "Head MF" 선출 요청에 대하여, 항상 유일한 멀티캐스트 피더(Head MF) 자신이 "Head MF"임을 알려주도록 하며, 아울러 새롭게 시작하는 멀티캐스트 피더(110)에 관한 정보를 업데이트시킨다(S840~S845).
데이터 릴레이 요청 이벤트에서는, 멀티캐스트 피더(110)는 수신한 데이터를 자신과 피어 관계에 있는 멀티캐스트 피더들(110), 또는 자신의 로컬 멀티캐스트 도메인에 전달하는 일을 담당한다(S850~S856). 피어 멀티캐스트 피더들에게 데이터를 전달할 경우에, 채널의 협상에 따라서 터널링 프로토콜의 변경 과정을 수행할 수도 있다. 즉, 릴레이 데이터는 TCP로 수신하였지만, 다른 피어들과 IPIP로 채널을 설정하였을 경우, 이를 IPIP 터널링에 맞도록 변경하여 전달하여준다. 데이터 전달 후, 세션 매니저(130)의 상태 보고 요청에 응답할 수 있도록 데이터 절달 상태 기록을 저장한다(S853).
위에서 기술한 바와 같이, 본 발명의 일실시예에 따른 RMS(100)은, 릴레이 그룹의 데이터 전달 경로를 효율적으로 구성하기 위하여, 각 릴레이 멀티캐스트 피더들(110)의 서비스 제공 가능 자원을 인자로 최적의 멀티캐스트 피더를 선정하여 등급별로 피어링을 맺을 수 있다. 또한, 상기 RMS(100)는 릴레이 채널을 구성하기 위하여, 하나의 세션 혹은 그룹에서 단일화된 데이터 전달 채널을 사용하지 않고, 홉간 가장 적절한 채널을 협상하여 사용한다. 또한, 어떤 특정 그룹에 데이터를 전달하기 위하여, 그 그룹 멀티캐스트 멤버들이 속해 있는 LAN(local area network) 혹은 사내망과 같이 소규모적으로 멀티캐스트 혹은 브로드캐스트가 가능한 로컬 멀티캐스트 도메인들을, 기존 1:1 유니캐스트 기반의 인터넷 인프라 구조 변경 없이 서로 연결시킨다.
본 명세서에서 개시된 장치 및 방법에서 사용되는 기능은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예 로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명에 따른 릴레이 멀티캐스트 시스템은, 현재의 인터넷 인프라 구조의 아무런 변경 없이, 단지 개인용 PC에 소프트웨어를 설치하는 것만으로도 최근 각광 받고 있는 각종 그룹 통신 서비스에서 보다 효과적이고 높은 서비스 품질을 제공할 수 있다. 아울러 서버 기반의 중앙 집중형 네트워크 게임 등에 적용되는 경우에 동시 참가자의 한계를 없앨 것으로 기대된다.
또한, 데이터의 릴레이 과정에 있어서도 채널 특성을 고려하지 않고 단순히 데이터 전달 경로를 설정하는 것과는 달리, 데이터 릴레이를 해 줄 수 있는 노드들 의 특성에 따라 등급별 경로를 선정하므로 데이터 전달 과정 중 발생할 수 있는 병목현상을 배제할 수 있다. 따라서, 인터넷 방송 등에 본 발명 메커니즘이 사용될 경우, 수신 응용에서는 보다 높은 화질을 나타낼 수 있다.
그리고, 본 발명은 사용 채널(혹은 터널링 방식)을 세션에 공지하여 통일되게 사용할 수 있을 뿐만 아니라, 홉간 최적의 채널을 협상하여 사용할 수 있기 때문에, 신뢰성 있는 실시간 데이터 전달, 방화벽 통과 등의 문제를 보다 쉽게 해결할 수 있다. 채널 방식 또한 단방향성 혹은 양방향성 통신을 협상할 수 있기 때문에, 인터넷 생방송과 같은 1:N 실시간 데이터 전송을 필요로 하는 응용은 물론, 네트워크 게임과 같은 N:N 신뢰성 있는 데이터 전송을 필요로 하는 응용에도 사용될 수 있다.

Claims (24)

  1. 세션 가입 요청 신호를 발생시키고, 동급 피어 리스트 정보를 수신하여 멀티캐스트 데이터 송수신을 릴레이하는 멀티캐스트 피더들;
    상기 멀티캐스트 피더들에 관한 세션 정보를 관리하고, 상기 세션 가입 요청 신호에 응답하여 상기 동급 피어 리스트 정보를 생성하는 세션 매니저를 구비하는 것을 특징으로 하는 릴레이 멀티캐스트 시스템.
  2. 제 1항에 있어서, 상기 세션 매니저는,
    상기 세션 정보를 이용하여 상기 멀티캐스트 피더들의 세션 가입 허가를 결 정하고, 상기 멀티캐스트 피더들은 상기 동급 피어 리스트 정보를 이용하여 각각의 릴레이 경로를 설정하는 것을 특징으로 하는 릴레이 멀티캐스트 시스템.
  3. 제 2항에 있어서, 상기 세션 매니저는,
    상기 세션 가입 허가 결정에 있어서, 상기 세션 정보에 포함된 인증 정책에 따라 그 인증에 성공한 멀티캐스트 피더에 허가 결정하는 것을 특징으로 하는 릴레이 멀티캐스트 시스템.
  4. 제 2항에 있어서, 상기 세션 매니저는,
    상기 세션 가입 허가 결정에 있어서, 세션에 가입하려는 멀티캐스트 피더들에 대하여 인증 없이 모두 허가 결정하는 것을 특징으로 하는 릴레이 멀티캐스트 시스템.
  5. 제 1항에 있어서, 상기 멀티캐스트 피더들은,
    세션에 가입할 때, 상기 동급 피어 리스트 정보를 수신하면, 로컬 멀티캐스트 도메인에서 유일함을 확인하고, 가입하려는 자신 멀티캐스트 피더 이외의 다른 멀티캐스트 피더들 중에서 통신할 최적 피어 멀티캐스트 피더를 선정하여, 선정된 피어 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 통신하는 것을 특징으로 하는 릴레이 멀티캐스트 시스템.
  6. 제 5항에 있어서, 상기 멀티캐스트 피더들은,
    세션에 가입 한 후, 상기 선정된 최적 피어 멀티캐스트 피더의 자원이 고갈된 경우에, 다른 멀티캐스트 피더들 중에서 통신할 최적 피어 멀티캐스트 피더를 재선정하여, 재선정된 피어 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 재 통신하는 것을 특징으로 하는 릴레이 멀티캐스트 시스템.
  7. 제 5항에 있어서, 상기 멀티캐스트 피더들은,
    다른 멀티캐스트 피더로부터 피어링 요청을 받는 경우에, 가용 자원이 있을 때 허가하여, 피어링 요청한 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 통신하는 것을 특징으로 하는 릴레이 멀티캐스트 시스템.
  8. 제 5항에 있어서, 상기 멀티캐스트 피더들은,
    세션에 가입한 멀티캐스트 피더를 통한 유저의 피어 멀티캐스트 피더 변경요청을 받아, 다른 멀티캐스트 피더들 중에서 통신할 최적 피어 멀티캐스트 피더를 재선정하여, 재선정된 피어 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 통신하는 것을 특징으로 하는 릴레이 멀티캐스트 시스템.
  9. 제 1항에 있어서, 상기 릴레이 멀티캐스트 시스템은,
    자신의 로컬 멀티캐스트 도메인에서, 로컬 서브넷들 각각이 해당 멀티캐스트 피더와 통신하는 로컬 서브넷들을 더 구비하는 것을 특징으로 하는 릴레이 멀티캐 스트 시스템.
  10. 제 1항에 있어서, 상기 멀티캐스트 피더들 각각은,
    수신된 릴레이 데이터를 전송 받을 다른 멀티캐스트 피더와의 채널 협상에 따라서, 상기 수신된 릴레이 데이터를 상기 전송 받을 다른 멀티캐스트 피더의 통신 프로토콜에 해당하는 데이터로 변경하여, 멀티캐스트 데이터 송수신을 릴레이하는 것을 특징으로 하는 릴레이 멀티캐스트 시스템.
  11. 제 1항에 있어서, 상기 세션 정보는,
    세션 정의, 세션 가입 조건, 릴레이 가능한 멀티캐스트 피더들 리스트, 멀티캐스트 피더들 및 세션의 상태 정보, 및 사용자 정의 정보를 포함하는 것을 특징으로 하는 릴레이 멀티캐스트 시스템.
  12. 제 1항에 있어서, 상기 동급 피어 리스트 정보는,
    세션에 가입하려는 멀티캐스트 피더와 동급의 성능을 가지는 멀티캐스트 피더들에 관한 리스트 정보인 것을 특징으로 하는 릴레이 멀티캐스트 시스템.
  13. 멀티캐스트 피더들에서, 세션 가입 요청 신호를 발생시키는 단계;
    세션 매니저에서, 상기 세션 가입 요청 신호에 응답하여 동급 피어 리스트 정보를 생성하는 단계; 및
    상기 멀티캐스트 피더들에서, 상기 동급 피어 리스트 정보를 수신하여 멀티캐스트 데이터 송수신을 릴레이하는 단계를 구비하는 것을 특징으로 하는 릴레이 멀티캐스트 통신 방법.
  14. 제 13항에 있어서, 상기 세션 정보가,
    상기 멀티캐스트 피더들의 세션 가입 허가 결정에 이용되고, 상기 멀티캐스트 피더들은 상기 동급 피어 리스트 정보를 이용하여 각각의 릴레이 경로를 설정하는 것을 특징으로 하는 릴레이 멀티캐스트 통신 방법.
  15. 제 14항에 있어서, 상기 세션 가입 허가 결정에 있어서,
    상기 세션 정보에 포함된 인증 정책에 따라 그 인증에 성공한 멀티캐스트 피더에 허가가 결정되는 것을 특징으로 하는 릴레이 멀티캐스트 통신 방법.
  16. 제 14항에 있어서, 상기 세션 가입 허가 결정에 있어서,
    세션에 가입하려는 멀티캐스트 피더들에 대하여 인증 없이 모두 허가 결정하는 것을 특징으로 하는 릴레이 멀티캐스트 통신 방법.
  17. 제 13항에 있어서, 상기 멀티캐스트 피더들은,
    세션에 가입할 때, 상기 동급 피어 리스트 정보를 수신하면, 로컬 멀티캐스트 도메인에서 유일함을 확인하고, 가입하려는 자신 멀티캐스트 피더 이외의 다른 멀티캐스트 피더들 중에서 통신할 최적 피어 멀티캐스트 피더를 선정하여, 선정된 피어 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 통신하는 것을 특징으로 하는 릴레이 멀티캐스트 통신 방법.
  18. 제 17항에 있어서, 상기 멀티캐스트 피더들은,
    세션에 가입 한 후, 상기 선정된 최적 피어 멀티캐스트 피더의 자원이 고갈된 경우에, 다른 멀티캐스트 피더들 중에서 통신할 최적 피어 멀티캐스트 피더를 재선정하여, 재선정된 피어 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 재 통신하는 것을 특징으로 하는 릴레이 멀티캐스트 통신 방법.
  19. 제 17항에 있어서, 상기 멀티캐스트 피더들은,
    다른 멀티캐스트 피더로부터 피어링 요청을 받는 경우에, 가용 자원이 있을 때 허가하여, 피어링 요청한 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 통신하는 것을 특징으로 하는 릴레이 멀티캐스트 통신 방법.
  20. 제 17항에 있어서, 상기 멀티캐스트 피더들은,
    세션에 가입한 멀티캐스트 피더를 통한 유저의 피어 멀티캐스트 피더 변경요청을 받아, 다른 멀티캐스트 피더들 중에서 통신할 최적 피어 멀티캐스트 피더를 재선정하여, 재선정된 피어 멀티캐스트 피더와 홉-바이-홉 채널 협상하여 통신하는 것을 특징으로 하는 릴레이 멀티캐스트 통신 방법.
  21. 제 13항에 있어서, 상기 릴레이 멀티캐스트 통신 방법은,
    로컬 서브넷들 각각의 로컬 멀티캐스트 도메인에서, 상기 로컬 서브넷들 각각이 해당 멀티캐스트 피더와 통신하는 단계를 더 구비하는 것을 특징으로 하는 릴레이 멀티캐스트 통신 방법.
  22. 제 13항에 있어서, 상기 멀티캐스트 피더들 각각은,
    수신된 릴레이 데이터를 전송 받을 다른 멀티캐스트 피더와의 채널 협상에 따라서, 상기 수신된 릴레이 데이터를 상기 전송 받을 다른 멀티캐스트 피더의 통신 프로토콜에 해당하는 데이터로 변경하여, 멀티캐스트 데이터 송수신을 릴레이하는 것을 특징으로 하는 릴레이 멀티캐스트 통신 방법.
  23. 제 13항에 있어서, 상기 세션 정보는,
    세션 정의, 세션 가입 조건, 릴레이 가능한 멀티캐스트 피더들 리스트, 멀티캐스트 피더들 및 세션의 상태 정보, 및 사용자 정의 정보를 포함하는 것을 특징으로 하는 릴레이 멀티캐스트 통신 방법.
  24. 제 13항에 있어서, 상기 동급 피어 리스트 정보는,
    세션에 가입하려는 멀티캐스트 피더와 동급의 성능을 가지는 멀티캐스트 피더들에 관한 리스트 정보인 것을 특징으로 하는 릴레이 멀티캐스트 통신 방법.
KR1020040026641A 2003-12-26 2004-04-19 효율적인 그룹 통신 서비스를 제공하는 릴레이 멀티캐스트시스템 및 그 방법 KR100582551B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/933,656 US7457288B2 (en) 2003-12-26 2004-09-02 Relay multicast system and method for providing efficient group communication service

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020030097176 2003-12-26
KR20030097176 2003-12-26

Publications (2)

Publication Number Publication Date
KR20050066937A KR20050066937A (ko) 2005-06-30
KR100582551B1 true KR100582551B1 (ko) 2006-05-22

Family

ID=37257928

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040026641A KR100582551B1 (ko) 2003-12-26 2004-04-19 효율적인 그룹 통신 서비스를 제공하는 릴레이 멀티캐스트시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100582551B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101772496B1 (ko) * 2011-02-16 2017-09-13 에스케이텔레콤 주식회사 이종의 네트워크에서 경로 보호를 위한 시스템, 이를 위한 장치 및 이를 위한 방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100682852B1 (ko) * 2005-09-29 2007-02-15 한국전자통신연구원 유피엔피와 가상랜 멀티캐스트를 이용한 홈네트워크 연결관리 시스템
US7869433B2 (en) 2005-09-29 2011-01-11 Electronics And Telecommunications Research Institute Home network connection management system using UPnP and VLAN multicast
KR100755709B1 (ko) * 2006-02-20 2007-09-05 삼성전자주식회사 Mpr 셋 정보를 활용한 멀티캐스트 전송 방법
KR100872176B1 (ko) * 2006-12-01 2008-12-09 한국전자통신연구원 다대다 통신 서비스를 제공하기 위한 데이터 전송 경로구성 방법 및 시스템
KR100953507B1 (ko) * 2007-01-08 2010-04-20 (주)해든브릿지 분산 구조의 미디어 서버를 이용한 그룹통신 시스템 및 그방법
KR101498056B1 (ko) * 2008-09-07 2015-03-03 엘지전자 주식회사 릴레이를 지원하는 무선접속 시스템에서 멀티캐스트 및 방송서비스 제공방법
KR101383353B1 (ko) * 2010-11-15 2014-04-10 한국전자통신연구원 오버레이 멀티캐스트 네트워크에서의 세션 공유, 가입 및 탈퇴 방법
KR101338696B1 (ko) * 2011-01-10 2013-12-06 명지대학교 산학협력단 피투피 네트워크에 있어서 등급별 차별화된 컨텐츠 서비스 제공 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020023596A (ko) * 2000-09-23 2002-03-29 이중철 최인묵 인터넷 방송 시스템 및 인터넷 방송 시스템에 있어서의데이터 전송방법
KR20030009727A (ko) * 2001-07-23 2003-02-05 주식회사 다빛테크놀로지 인터넷 상에서 특정 다수의 클라이언트를 대상으로 한동일 데이터 전송 그룹별 데이터 전송 및 중계 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020023596A (ko) * 2000-09-23 2002-03-29 이중철 최인묵 인터넷 방송 시스템 및 인터넷 방송 시스템에 있어서의데이터 전송방법
KR20030009727A (ko) * 2001-07-23 2003-02-05 주식회사 다빛테크놀로지 인터넷 상에서 특정 다수의 클라이언트를 대상으로 한동일 데이터 전송 그룹별 데이터 전송 및 중계 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101772496B1 (ko) * 2011-02-16 2017-09-13 에스케이텔레콤 주식회사 이종의 네트워크에서 경로 보호를 위한 시스템, 이를 위한 장치 및 이를 위한 방법

Also Published As

Publication number Publication date
KR20050066937A (ko) 2005-06-30

Similar Documents

Publication Publication Date Title
US10623312B2 (en) Wireless home network routing protocol
Holbrook et al. IP multicast channels: EXPRESS support for large-scale single-source applications
US7403980B2 (en) Methods and apparatus for scalable, distributed management of virtual private networks
JP4308027B2 (ja) パケットホッピング無線バックボーンを有する無線ローカルエリアネットワークを有するデータ網
US7457288B2 (en) Relay multicast system and method for providing efficient group communication service
JP5518202B2 (ja) エンドツーエンドコールの実現方法、エンドツーエンドコール端末及びシステム
KR20100087213A (ko) 접속을 확립하는 방법
US20080222277A1 (en) Method and Apparatus for Configuring and Managing a Robust Overlay Multicast Tree
KR100582551B1 (ko) 효율적인 그룹 통신 서비스를 제공하는 릴레이 멀티캐스트시스템 및 그 방법
Mukherjee et al. Achieving scalable push multicast services using global name resolution
US20100085892A1 (en) Overlay network coordination redundancy
Keshav et al. Centralized multicast
JP2007243803A (ja) 無線lan経路制御方式、無線lan管理装置、無線lanアクセス端末および無線lan経路制御方法
EP1440529B1 (en) System and method for information object routing in computer networks
Mayr et al. Optimal route reflection topology design
JP3991001B2 (ja) データ中継装置、配信経路管理装置、配信経路管理システム及び配信経路管理方法
KR20070048021A (ko) 미디어 스트림 전송 시스템 및 방법
Wei et al. Architecture of ubiquitous mobile Internet
Asaeda et al. Architecture for IP multicast deployment: Challenges and practice
Kim et al. Service-aware split point selection for user-centric mobility enhancement in SDN
Lavi et al. MaGMA: mobility and group management architecture for real‐time collaborative applications
Al-Oqily et al. A self-organizing composition towards autonomic overlay networks
Yu et al. A sip-based multicast framework in manet
Janarthanan et al. Quality of Service Routing Issues in Mobile Ad Hoc Network-Review
Yates et al. Postcards from the Edge

Legal Events

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

Payment date: 20110511

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee