KR100684178B1 - 강건한 오버레이 멀티캐스트 트리 관리 방법 및 장치 - Google Patents

강건한 오버레이 멀티캐스트 트리 관리 방법 및 장치 Download PDF

Info

Publication number
KR100684178B1
KR100684178B1 KR1020050102155A KR20050102155A KR100684178B1 KR 100684178 B1 KR100684178 B1 KR 100684178B1 KR 1020050102155 A KR1020050102155 A KR 1020050102155A KR 20050102155 A KR20050102155 A KR 20050102155A KR 100684178 B1 KR100684178 B1 KR 100684178B1
Authority
KR
South Korea
Prior art keywords
information
parent
session
service
list
Prior art date
Application number
KR1020050102155A
Other languages
English (en)
Other versions
KR20060052295A (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 CN2005800375069A priority Critical patent/CN101053211B/zh
Priority to PCT/KR2005/003708 priority patent/WO2006049448A1/en
Priority to US11/577,381 priority patent/US20080222277A1/en
Publication of KR20060052295A publication Critical patent/KR20060052295A/ko
Application granted granted Critical
Publication of KR100684178B1 publication Critical patent/KR100684178B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • 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/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

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

Abstract

본 발명은 세션 관리자(Session Manager:SM)와 적어도 1개 이상의 멀티캐스트 에이전트(Multicast Agent:MA)를 포함하는 전송망에서 강건한 오버레이 멀티캐스트 데이터 전송 경로를 구성하고 관리하기 위한 방법에 관한 것이다. 본 발명에 따른 방법은, 오버레이 멀티캐스트 데이터 전송 세션에 가입하고자 하는 MA가 상기 SM으로부터 활성(active) 이웃 MA 정보를 획득하는 단계와, 상기 활성 이웃 MA 정보를 이용하여 이웃 MA의 서비스 품질 정보를 파악하는 단계와, 상기 이웃 MA의 서비스 품질 정보에 기반하여 최적의 서비스 품질을 갖는 MA를 부모 MA로 선택하는 단계와, 상기 부모 MA로 선택된 MA를 통해 세션에 가입하는 단계와, 상기 세션 가입 이후에 루트로부터 상기 MA에 이르는 경로정보를 포함하는 하트비트 정보를 주기적으로 수신하고 상기 하트비트 정보에 근거하여 부모 스위칭의 수행 여부를 결정하는 단계와, 상기 부모 스위칭 수행이 결정되면 상기 현재의 부모 MA에서 더 나은 서비스 품질을 갖는 MA로 부모 스위칭하는 단계를 포함한다.
오버레이 멀티캐스트, 세션 관리자, 멀티캐스트 에이전트

Description

강건한 오버레이 멀티캐스트 트리 관리 방법 및 장치{Method and apparatus for robust overlay multicast tree management}
도 1a 및 1b는 본 발명이 적용될 수 있는 오버레이 멀티캐스트 네트워크 환경을 도시한다.
도 2는 본 발명의 일실시예에 따라 멀티캐스트 데이터 전송 트리를 구성 및 관리하는 방법의 주요 단계들을 개략적으로 도시한 블록도이다.
도 3은 본 발명의 바람직한 실시예에 따른 MA의 부트스트래핑(Bootstrapping) 과정의 흐름도를 도시한다.
도 4는 본 발명의 바람직한 실시예에 따른 세션 관리자(SM)의 부트스트래핑 과정의 흐름도를 도시한다.
도 5는 본 발명의 일실시예에 따라 세션 관리자(SM)가 멤버쉽 관리를 위해 유지하는 멀티캐스트 에이전트(MA) 리스트 DB 구조를 도시한다.
도 6은 본 발명의 일실시예에 따라 멀티캐스트 관리자(MA)가 멤버쉽 관리를 위해 유지하는 데이터베이스(DB)의 구조를 도시한다.
도 7은 본 발명의 일실시예에 따른 맵파악 과정 흐름도를 도시한다.
도 8은 본 발명의 일실시예에 따른 부모 스위칭(PS) 과정의 흐름도를 도시한다.
도 9는 도 8의 PS 결정 단계(840)를 보다 구체적으로 설명한 흐름도를 도시한다.
도 10은 도 8의 PS 수행 단계(860)를 보다 구체적으로 설명한 흐름도를 도시한다.
도 11은 본 발명의 일실시예에 따른 세션 관리자(SM)의 트리 관리 동작개요도를 도시한다.
도 12는 본 발명의 일실시예에 따른 멀티캐스트 에이전트(MA)의 트리 관리 동작 개요도를 도시한다.
도 13은 본 발명의 일실시예에 따른 루프 오류 복구 동작 개요도를 도시한다.
도 14는 본 발명의 일실시예에 따른 루프 복구 동작을 상세히 도시한 흐름도이다.
도 15는 본 발명의 일실시예에 따른 망분할(Network partitioning) 오류 복구 동작 개요도를 도시한다.
도 16은 본 발명의 일실시예에 따른 망분할 오류 복구 동작을 상세히 도시한 흐름도이다.
본 발명은 오버레이 멀티캐스트 환경에서 1:N 데이터 전송 트리를 효과적으로 구성 및 관리하는 방법 및 장치에 관한 것으로서, 보다 구체적으로는, 1:N 그룹 데이터 전송 서비스를 위하여 종단 호스트 또는 서버를 통해 1:N 오버레이 멀티캐스트 데이터 전송 트리를 효율적으로 구성 및 관리하는 방법 및 장치에 관한 것이다.
인터넷의 전송방식을 전송에 참여하는 송신자와 수신자 관점에서 구분하면, 하나의 송신자가 다른 하나의 수신자로 데이터를 전송하는 방식인 유니 캐스트(unicast) 방식과, 하나의 송신자가 같은 서브네트워크 상의 모든 수신자에게 데이터를 전송하는 브로드캐스트(broadcast)방식과, 하나 이상의 송신자들이 각각 특정한 하나 이상의 수신자들에게 데이터를 전송하는 멀티캐스트(multicast) 방식으로 구분할 수 있다.
멀티캐스트 방식은 송신자가 다수의 수신자들에게 동시에 동일한 데이터를 전송할 때 송신 노드의 자원과 대역을 모두 효율적으로 사용할 수 있는 방식으로서, 그룹통신 방식의 응용 데이터를 전달하는데 적합한 메커니즘이지만, 인터넷 환경에서의 멀티캐스트 기술(혹은 IP 멀티캐스트)은 아직까지 테스트베드나 일부 사내망, 학교망, 혹은 시험망 등에서만 부분적으로 가능하다. 멀티캐스트를 완전하게 지원하지 않는 이유는 현재 인터넷 망에 있는 모든 라우터를 멀티캐스트가 가능한 라우터로 교체해야 하기 위한 비용문제와 주소 할당 문제, 멀티캐스트 라우팅 프로토콜과 하드웨어 상태 관리 메커니즘등에 관한 기술적인 문제 등을 들 수 있다.
IP 멀티캐스트 라우터의 부하 문제의 예로서, 현재의 IP 멀티캐스트 백본 라우터는 수시로 그룹에 가입/탈퇴하는 멤버들에 대한 라우팅 테이블을 관리하기 위하 여 많은 부하를 받고 있다. 그러나 실제적으로 IP 멀티캐스트 망은 유니캐스트 고정 IP 망과는 달리 응용의 시작과 종료에 따라 수시적으로 바뀌는 동적인 망이다. 즉, IP 멀티캐스트 네트워크내에서는 미리 공지된 세션(그룹 주소와 포트 번호, 컨텐츠의 내용 등)에 응용 프로그램이 가입하고 이에 따라 비로소 데이터의 송수신 경로가 생성된다.
따라서, 최근에는 인터넷 장비를 교체하지 않고서 응용 계층의 프로그램을 이용하여 멀티캐스트를 가능하게 하는 오버레이 멀티캐스트(overlay multicast) 전송방식이 제안되었다. 오버레이 멀티캐스트란, 현재의 유니 캐스트 기반 인터넷 망에 여러 개의 에이전트를 설치하여, 관련 송수신자 및 에이전트 시스템들을 트리 구조로 구성한 다음, 송신자가 에이전트의 중계 기능을 이용하여 여러 수신자들 간에 멀티캐스트 데이터를 전송할 수 있도록 한 것으로, 일종의 상위계층(overlay)에서의 멀티캐스트 전송 기술을 의미한다. 이 방식은 멀티캐스트 백본에 직접 멀티캐스트 라우터가 연결되지 않은 비멀티캐스트 지역을 가상 멀티캐스트 라우터를 통한 터널링으로 연결함으로써, 송신자와 수신자들간에 IP 멀티캐스트를 가능하도록 한다. 한국등록특허 제2002-68477호의 "인터넷 기반 오버레이 멀티캐스트 트리 구성 및 관리 방법"은 유니캐스트 환경에서 종단 호스트 또는 서버를 이용하여 오버레이 멀티캐스트 트리를 구성하는 방법에 대하여 개시하고 있다.
그러나, 오버레이 멀티캐스트 방식은 각각의 구성 요소들이 망 장비가 아닌 종단 호스트들의 응용 프로그램으로 이루어지기 때문에, 실제 네트워크 토폴로지에 근접한 오버레이 멀티캐스트 환경을 구축하는 것이 매우 어렵다는 단점이 있다. 오버레이 멀티캐스트 네트워크에서는 노드간 거리 측정이나 네트워크 상태 측정이 분산방식에 의해서만 가능하며, 링크가 망 장비인 라우터가 아니라 일반 종단 호스트로 이루어져 있기 때문에, 새로운 노드들의 빈번한 가입과 탈퇴에 따른 망 토폴로지의 변경이 빈번하게 이루어질 수 있다. 즉, 오버레이 멀티캐스트 환경에서 전송경로를 구성하는데 있어서 실제 네트워크 환경을 고려할 수 없기 때문에 비효율적이고, 종단 노드(호스트)의 빈번한 가입/탈퇴로 인해 빈번한 오류가 발생할 수 있는 문제점이 있다.
따라서, 본원 발명은 목적은, 전술한 문제점을 해결하기 위해, 오버레이 멀티캐스트 환경에서 멀티캐스트 데이터 전송 트리를 효율적으로 구성 및 관리하기 위한 방법 및 장치를 제공하는 것이다.
본 발명의 또다른 목적은 오버레이 멀티캐스트 환경에서 멀티캐스트 데이터 전송 트리를 구성한 후에 이를 지속적으로 관리 및 개선하고, 오류 발생시에 이를 신속하게 감지 및 복구할 수 있는 방법 및 장치를 제공하는 것이다.
전술한 목적 달성을 위해, 본 발명의 일특징에 따르면, 세션 관리자(SM)와 적어도 1개 이상의 멀티캐스트 에이전트(MA)를 포함하는 전송망에서 오버레이 멀티캐스트 데이터 전송을 수행하기 위한 방법이 제공된다. 상기 방법은, 본 발명에 따른 방법은, 오버레이 멀티캐스트 데이터 전송 세션에 가입하고자 하는 MA가 상기 SM으로부터 활성(active) 이웃 MA 정보를 획득하는 단계와, 상기 활성 이웃 MA 정 보를 이용하여 이웃 MA의 서비스 품질 정보를 파악하는 단계와, 상기 이웃 MA의 서비스 품질 정보에 기반하여 최적의 서비스 품질을 갖는 MA를 부모 MA로 선택하는 단계와, 상기 부모 MA로 선택된 MA를 통해 세션에 가입하는 단계와, 상기 세션 가입 이후에 루트로부터 상기 MA에 이르는 경로정보를 포함하는 하트비트 정보를 주기적으로 수신하고 상기 하트비트 정보에 근거하여 부모 스위칭의 수행 여부를 결정하는 단계와, 상기 부모 스위칭 수행이 결정되면 상기 현재의 부모 MA에서 더 나은 서비스 품질을 갖는 MA로 부모 스위칭하는 단계를 포함한다.
본 발명의 다른 특징에 따른 오버레이 멀티캐스트 데이터 전송 트리를 구성 및 관리하기 위한 방법은, 상기 SM에서, 상기 SM이 관리하는 세션에 가입하여 현재 정상적으로 동작중인 활성 MA의 리스트와, 상기 세션에서 정상적으로 동작하는지가 아직 확인되지 않은 예비 MA의 리스트를 저장하는 단계와, 상기 세션에 가입하고자 하는 MA로부터 가입요청메시지를 수신하는 단계와, 상기 가입요청메시지에 응답하여 상기 MA의 가입여부를 결정하는 단계와, 세션 가입을 허가하는 경우에 상기 활성 MA 리스트의 일부를 추출하여 가입응답메시지에 포함시켜 상기 MA에 전송하는 단계와, 세션 가입을 허가하지 않을 경우에는 거절 이유를 가입응답 메시지에 포함시켜 상기 MA에 전송하는 단계와, 상기 가입요청메시지를 전송한 상기 MA의 정보를 상기 예비 MA 리스트에 추가하는 단계를 포함한다.
본 발명의 또다른 특징에 따르면, 오버레이 멀티캐스트 데이터 전송 트리를 구성 및 관리하기 위한 멀티캐스트 에이전트 장치가 제공된다. 상기 멀티캐스트 에이전트 장치는, 세션 관리자로부터 활성(active) 이웃 MA 정보를 획득하기 위한 수 단과, 상기 활성 이웃 MA 정보를 이용하여 이웃 MA의 서비스 품질 정보를 파악하기 위한 수단과, 상기 이웃 MA의 서비스 품질 정보에 기반하여 최적의 서비스 품질을 갖는 MA를 부모 MA로 선택하고 상기 선택된 부모 MA를 통해 오버레이 멀티캐스트 데이터 통신 세션에 가입하기 위한 수단과, 상기 세션 가입 이후에 루트로부터 상기 MA에 이르는 경로정보를 포함하는 하트비트 정보를 주기적으로 수신하고 상기 하트비트 정보에 근거하여 부모 스위칭의 수행 여부를 결정하기 위한 수단과, 상기 부모 스위칭 수행이 결정되면 상기 현재의 부모 MA에서 더 나은 서비스 품질을 갖는 MA로 부모 스위칭하기 위한 수단을 포함한다.
본 발명의 또다른 특징에 따르면, 오버레이 멀티캐스트 데이터 전송 트리를 구성 및 관리하기 위한 세션 관리자 장치가 제공된다. 상기 세션 관리자 장치는, 자신이 관리하는 세션에 가입하여 현재 정상적으로 동작중인 활성 MA의 리스트 및 상기 세션에서 정상적으로 동작하는지가 아직 확인되지 않은 예비 MA의 리스트를 저장하고 상기 리스트들을 주기적으로 갱신하기 위한 수단과, 상기 세션에 가입하고자 하는 MA로부터 가입요청메시지를 수신하고, 상기 가입요청메시지에 응답하여 상기 MA의 가입여부를 결정하기 위한 수단과, 세션 가입을 허가하는 경우에 상기 활성 MA 리스트의 일부를 추출하여 가입응답메시지에 포함시켜 상기 MA에 전송하고, 세션 가입을 허가하지 않을 경우에는 거절 이유를 가입응답 메시지에 포함시켜 상기 MA에 전송하기 위한 수단과, 상기 가입요청메시지를 전송한 상기 MA의 정보를 상기 예비 MA 리스트에 추가하기 위한 수단을 포함한다.
이하에서, 본원 발명을 첨부된 도면에 도시된 실시예들과 관련하여 예시적으 로 상세히 설명하겠다. 그러나, 이하의 상세한 설명은 단지 예시적인 목적으로 제공되는 것이며 본 발명의 개념을 임의의 특정된 물리적 구성에 한정하는 것으로 해석되어서는 안 될 것이다.
도 1a 및 1b는 본 발명이 적용될 수 있는 오버레이 멀티캐스트 네트워크 환경을 도시한 것으로서, 구체적으로, 도 1a는 실시간성 멀티캐스트 데이터가 전송되는 네트워크 환경이고, 도 1b는 주식 데이터와 같은 신뢰적 특성을 갖는 멀티캐스트 데이터가 전송되는 네트워크 환경이다.
도 1a 및 1b에 도시된 바와 같이, 본 발명이 적용되는 오버레이 멀티캐스트 네트워크는, 멀티캐스트 데이터의 중계 전송을 수행하는 멀티캐스트 에이전트(MA, 120a, 130a, 120b, 130b)와, 세션 정보를 관리하고 멀티캐스트 에이전트의 세션 가입 요청을 처리하는 세션 관리자(Session Manager:SM,110a, 110b)를 포함한다.
멀티캐스트 에이전트(MA)는 특정 그룹 데이터를 송수신하길 원하는 사용자(노드)들이 속해있는 각 로컬 서브넷내에 존재하여 멀티캐스트 데이터를 전달하는 역할을 수행하는 장치로서, 개인용 PC, 서버 또는 다른 유형의 데이터 처리 시스템에 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다. 도 1a 및 1b에서, 송신측 멀티캐스트 에이전트(Sender-side Multicast agent: SMA, 120a, 120b)는 자신이 속한 서브넷의 특정 노드로부터 발생한 멀티캐스트 데이터를 수신측의 멀티캐스트 에이전트(130a, 130b)에 중계한다(relay). SMA(120a, 120b)와 MA(130a, 130b) 사이를 연결하는 채널은 데이터 특성에 따라 실시간성/신뢰성 유니 캐스트 홉-바이-홉 채널(140a, 140b)로 이루어질 수 있다.
세션 관리자(110a,110b)는 그룹 통신에 관한 세션 정보를 관리하며, 멀티캐스트 에이전트로부터 세션 가입 요청이 수신되면 가입 허가 여부를 결정하고, 가입 허가시에 활성 멀티캐스트 에이전트의 리스트 일부를 해당 멀티캐스트 에이전트에 알려주는 역할을 수행한다. 일실시예에서, 세션 관리자(110a,110b)는 종단 호스트 또는 별도의 시스템내에 소프트웨어, 하드웨어 또는 이들의 조합 형태로 구현될 수 있다.
도 2는 본 발명의 일실시예에 따라 멀티캐스트 데이터 전송 트리를 구성 및 관리하는 방법의 주요 단계들을 개략적으로 도시한 블록도이다.
도시된 바와 같이, 본 발명은 멀티캐스트 에이전트(MA)가 오버레이 네트워크의 세션에 가입하는 절차를 수행하는 부트스트래핑 단계(210)에서 시작된다. 부트스트래핑 단계(210)에서, MA는 세션 가입 요청 메시지를 세션 관리자(SM)에게 전송하고, 가입 요청 메시지를 수신한 SM은 MA의 가입 허가 여부를 결정하고, 가입을 허가하는 경우에는 MA에게 활성(active) MA 리스트의 일부를 전송한다. 여기서 활성 MA리스트는 세션에 참가하여 통신을 수행하고 있는 MA들의 리스트로써, 세션의 크기가 커질 수록 그 리스트에 있는 활성 MA들의 수도 커지게 된다. 따라서 세션 크기가 클 경우 SM은 MA들에게 자신 관리하는 활성 MA들의 목록을 전부 제공할 수 없다. 그렇기에 세션의 규모가 클 경우, SM은 자신이 가지고 있는 활성 MA들의 목록에서 임의로 정해 놓은 수만큼만을 축출하여 새로운 MA에게 전송한다. 이때 SM 은 자신이 관리하는 MA들 중에서 1)고성능의 서버 2) 고속의 전달 속도를 갖는 MA 3) 신규 MA의 순서로 추출할 수 있다.
세션에 가입한 MA는 이웃 MA들에 대한 정보를 확보하기 위해 맵 파악(MAP Discovery) 단계(220)를 수행한다. 맵파악 단계(220)는, 이웃 MA들에 대한 전송지연, 대역폭 등과 같은 서비스 품질을 진단하는 MA 측정 단계(222)와 이웃 MA들을 탐색하는 MA 탐색 단계(224)로 이루어진다.
그 다음에, 최적으로 판단되는 MA를 자신의 부모 MA로 설정하는 부모 결정(parent decision) 단계(230)를 수행한 후에, 정해진 부모 MA에 데이터 중계를 요청하는 트리 부착 단계(240)를 거쳐, 통신이 가능한 인_트리(IN_TREE)상태가 된다(260). 이후, 현재의 상태를 개선할 수 있는 MA를 발견하는 경우에, 현재의 부모 MA로부터 새로운 부모 MA로 전환하는 부모 스위칭(Parent Switching) 단계(250)를 수행할 수 있다. IN_TREE상태에 있는 MA들은 지속적으로 맵파악 단계(220) 및 부모 결정 단계(230)를 반복함으로써, 오버레이 네트워크를 지속적으로 개선시킨다. 부가하여, 주기적인 트리 정보의 관리 단계(270)와, 데이터 전송트리에 오류가 발생하였을 경우에 복구하는 트리 관리 단계(280)를 또한 수행할 수 있다. 이하에서는, 각 단계들에 대하여 보다 상세히 설명하도록 하겠다.
부트스트래핑(Bootstrapping, 210)
부트스트래핑은 세션에 처음 가입하는 MA들이 오버레이 멀티캐스트 네트워크에 대한 정보를 처음으로 획득하는 과정이다. 이하에서는, 멀티캐스트 에이전트(MA) 의 부트스트래핑과, 세션 관리자(SM)의 부트스트래핑으로 구분하여 설명한다.
도 3은 본 발명의 바람직한 실시예에 따른 MA의 부트스트래핑(Bootstrapping) 과정을 도시한 흐름도이다. MA의 부트스트래핑은 세션 관리자(SM)에게 가입 요청 메시지(SUBSREQ)를 전송함으로써 시작된다(310). 이 요청 메시지에 대해 SM으로부터 가입 응답 메시지(SUBSANS)를 수신하고(320), 이 메시지를 통해 MA의 세션 가입이 수락 혹은 거절됨을 판단한다(330). SM이 가입을 허락하지 않는다면, MA는 세션에 가입할 수 없게 된다(360). SM이 가입을 수락할 경우 SM은 MA에게 부트스트래핑할 수 있도록 이미 세션에 가입되어 있는 일련의 동작중인 활성 이웃 MA 정보를 가입응답 메시지(SUBSANS)에 포함시켜 전송한다. MA는 이들 정보를 추출하여 자신의 로컬 저장소에 저장하고(340), 부트스트래핑 단계를 종료한다(350).
도 4는 본 발명의 바람직한 실시예에 따른 세션 관리자(SM)의 부트스트래핑 과정을 도시한 흐름도이다. SM의 부트스래핑은 새로운 MA들로부터 가입요청을 수신하는 단계에서 시작된다(410). 이에 대한 수락제어를 통해 가입을 허가할지 아니면 거절할지를 결정한다(420). 가입을 허가할 MA의 경우 SM은 일련의 부트스트래핑 정보를 MA에게 알려주어야 하는데, 이를 위해 SM은 자신이 관리하는 멀티캐스트 에이전트 관리 데이터베이스(MA_DB)의 활성_멀티캐스트 에이전트 리스트(Active MA List:AML)로부터 일부 MA 정보를 추출한다(430). 그 후 이들 정보를 가입 응답 메시지(SUBSANS)에 실어 MA에게 가입을 허가함을 알려준다(440).
한편, 새로운 MA의 가입이 허가되지 않을 경우 가입수락을 하지 않는 거절 이유를 작성하고(450), 이를 가입응답 메시지(SUBSANS)에 포함시켜 MA에 전송한다 (460).
SM은 새로운 MA의 정보를 MA_DB내의 예비_MA_리스트(Ready_MA_List: RML)에 추가하고(470), 새로운 MA의 요청을 받아들일 수 있도록 준비한다(480).
도 5는 본 발명의 일실시예에 따라 세션 관리자(SM)가 멤버쉽 관리를 위해 유지하는 멀티캐스트 에이전트(MA) 리스트 DB 구조를 도시한다. MA 리스트 DB(500)는 세션에 가입하여 현재 정상적으로 동작하고 있는 활성 MA 리스트(AML, 510)와, 가입신청은 했지만 아직까지 세션에서 정상적으로 동작하고 있는지가 확인되지 않는 예비 MA 리스트(RML, 520)로 나뉘어 관리된다.
SM은 MA 리스트 DB 데이터의 무결성을 위해 MA 리스트들에 대해 주기적인 검증(probing)을 수행한다. SM은 일정한 AML 갱신주기마다 MA 리스트 DB내의 동작중인 MA 리스트(AML) 정보를 갱신한다. 일실시예에서, SM은 AML의 갱신시에 MA들에게 보다 나은 부트스트래핑 정보를 제공하기 위해 AML을 정렬하는 과정을 또한 포함할 수 있다. 또한, SM은 일정한 RML 갱신주기마다 예비_MA 리스트(RML) 정보를 갱신한다. 이 과정은 세션에 가입하였던 MA가 실제로 세션에서 동작하는지를 확인하는 것과 동시에, 새로운 MA들에게 부트스트래핑 정보로 전달해 주기 위해 Read_MA_list(RML)에 있는 MA를 Active_MA_list(AML)로 전이하는 것을 포함한다.
도 6은 본 발명의 일실시예에 따라 멀티캐스트 관리자(MA)가 멤버쉽 관리를 위해 유지하는 데이터베이스(DB)의 구조를 도시한다. SM과 마찬가지로 MA들도 자신의 이웃 MA들에 대한 정보를 보관하기 위해 이웃 MA 리스트 DB(Neighbor MA List DB: NLDB, 600)를 관리한다. NLDB(600)는, 자신이 속한 트리에서 루트로부터 자신 에 이르는 경로를 저장하는 루트경로정보(610), 트리에서의 상하관계를 저장하는 직계 MA(즉, 부모 MA 및 자식 MA) 정보(620), 서비스 품질이 검증된 이웃 MA 리스트(ProbedNL, 630)와, 서비스 품질이 아직 검증되지 않은 미-검증 MA 리스트(NonProbedNL, 640)를 포함할 수 있다.
맵파악(MAP Discovery, 220)
맵파악 과정은 MA가 오버레이 멀티캐스트 환경을 발굴하는 과정이다. MA는 이 과정을 통해 오버레이 네트워크 환경에서 이웃 MA들의 정보를 획득한다.
도 7은 본 발명의 일실시예에 따른 맵파악 과정 흐름도를 도시한다. 일실시예에서, MA들은 일정한 주기마다 맵파악 단계를 수행할 것이다. 맵파악을 수행하는 이유는 오버레이 네트워크 환경에서 어느 특정 MA가 알고 있는 이웃 MA들은 전체 세션에 참가한 MA들 중 일부에 불과하기 때문이다. MA는 자신이 알고 있는 이웃 MA 리스트를 확장시킴으로써, 오버레이 네트워크에서 보다 우수한 부모 MA를 선택할 수 있도록 한다. 이를 위하여, MA는 이웃 MA들과 이웃 MA 리스트 정보를 서로 교환함으로써 MA 탐색 과정을 수행한다.
맵 파악 과정은 맵 파악을 수행하는 MA가 우선 자신의 이웃 MA 리스트 DB(NLDB)로부터 검증 대상(to-be-probed) MA를 선정하는 단계(710)에서 시작한다. 검증 대상 MA는 NLDB에 저장된 미-검증 MA 리스트에 존재하는 MA이다. MA는 선정된 MA에 전송할 검증요청 메시지(ProbeReq)를 작성한다(720). 검증요청 메시지에는 맵 파악 과정을 수행하는 MA가 알고 있는 자신 이웃 MA 정보가 포함된다. 이때 전달하는 정보는 자신이 이미 검증한 MA 뿐만 아니라 그렇지 않은 MA정보도 포함한다.
MA는 검증요청 메시지(ProbeReq)를 검증대상 MA에 전송하고(730), 검증요청(ProbeReq) 메시지에 대한 응답으로서 검증응답(ProbeAns) 메시지를 수신한다(740). 이 메시지에는 상대 MA의 이웃 MA 정보를 포함하여 상대 MA가 현재 속한 트리의 상태 정보를 포함한다. 트리의 상태정보는 루트로부터의 경로 (루트로부터 해당 MA까지의 경로)와 그 MA의 부모노드와 자식노드들의 정보를 말한다.
검증응답(ProbeAns) 메시지를 수신한 MA는 자신의 NLDB를 갱신한다(750). ProbeAns를 송신한 상대 MA 정보를 검증된 이웃 MA 리스트(ProbedNL)에 저장하고, ProbeAns에 포함된 상대 MA의 이웃 MA 리스트중에서 자신의 검증된 이웃 MA 리스트(ProbedNL)에 포함되지 않은 MA 정보를 자신의 미-검증 이웃 MA 리스트(NonProbedNL)에 추가함으로써 갱신 작업을 수행한다.
부모 결정(230)
맵파악 과정(220)을 완료한 MA는 검증된 이웃 MA 리스트(ProbedNL)에 포함된 MA들중에서 부모 MA를 결정하고, 결정된 부모 MA에 데이터 중계 요청 메시지(RelayRequest)를 전송하는 트리 부착 과정을 거쳐, 부모 MA로부터 중계 요청 응답 메시지를 수신함으로써 통신이 가능한 인_트리(IN_TREE)상태가 된다. 부모 MA의 결정은 Probed NL에 포함된 MA들을 소정의 세션 정책에 따라 정렬하고 이중에서 최적의 조건을 갖는 MA를 부모로 선택함으로써 이루어질 수 있다.
부모 스위칭(Parent Swithing:PS, 250)
본 발명에 따르면, 현재의 부모 MA보다 더 나은 부모 MA가 있을 경우, 트리의 개선을 위해 MA는 부모 스위칭(PS) 동작을 수행할 수 있다. 이 때, 동일한 에지에 있는 MA들이 동시에 PS 동작을 수행할 경우에 트리 구조가 깨질 수 있기 때문에, MA가 PS 동작을 수행할 때에는 단일성을 보장해야 할 것이다.
도 8은 본 발명의 일실시예에 따른 PS 과정을 도시한 흐름도이다. 도시된 바와 같이, PS 과정은 우선 루트로부터 주기적인 하트비트(Heart Beat: HB)를 수신함으로부터 시작한다(810). HB에는 루트로부터 HB를 수신한 MA까지의 경로 정보가 포함되는데, MA는 HB를 이용하여 자신의 잠재(Possible) QoS정보(예, 지연, 대역폭 등의 정보)를 갱신한다(820). QoS 정보를 갱신하는 방법은 다음과 같다.
- 지연 정보 : HB 메시지가 경유하는 노드마다, 상위 노드가 제공한 "루트로부터의 지연"과 "자기 자신과 상위노드간의 지연"을 더함으로써 지연 정보를 갱신한다.
- 대역폭 정보 : HB 메시지가 경유하는 노드마다, 상위 노드가 제공한 "루트로부터의 최소 대역폭"과 "자기 자신과 상위노드간의 가용한 대역폭"중 작은 값을 선택함으로써, 루트로부터의 가용한 대역폭 정보를 갱신한다.
이 정보는 세션의 정책에 따라 최적 부모 MA를 결정하는데 이용될 것이다. HB를 수신한 MA는 자신이 부모 스위칭을 할 수 있음을 표시한다(830). 다음, 갱신된 잠재 QoS 정보가 현재 자신의 부모 MA에 따른 QoS보다 어느 정도 우수한지(즉, 일정 임계치보다 나은지)를 판단함으로써 부모 스위칭(PS) 동작의 수행 여부를 결정한다(840). PS 동작의 수행 여부 결정은 도 9를 참조하여 좀더 자세히 후술하기로 한다.
상기 PS 결정 단계(840)에서 PS 동작이 필요한 것으로 결정되었는지를 판단하고(850), PS 동작이 필요한 것으로 판단되면, MA는 PS 동작을 수행한다(860). PS의 세부 동작에 대해서는 도 10을 참조하여 후술하겠다.
한편, PS 동작이 필요없는 것으로 판단되거나, PS 동작을 종료한 MA는 수신된 HB 정보를 이용하여 자신의 NLDB에 저장된 루트경로정보 및 직계 MA 정보를 갱신하고(870), 자신의 자식 MA(Children MA: CMA)들에게 이를 포워딩한다(880).
도 9는 도 8의 PS 결정 단계(840)를 보다 구체적으로 설명한 흐름도를 도시한다. 도시된 바와 같이, PS 수행 여부의 결정은 자신의 검증 NL(ProbedNL)에서 현재의 PMA보다 서비스 품질이 우수한 MA가 있는지를 검색하는 단계(910)에서 시작한다. 우수한 MA를 발견하지 못했을 경우 현재의 PMA를 Wanting_PMA로 선택하고(920), PS 동작이 필요하지 않다고 표시한다(930).
한편, 우수한 MA를 발견했을 경우에, 임계값(Ps_THRESHOLD)보다 더 좋은지를 검사하고(940), 더 좋지 않을 경우에는 단계(920)로 천이한다. 그 임계값보다 우수한 MA를 발견한 경우에는 이를 Wanting_PMA로 선택하고(950), PS가 필요하다고 표시한다(960). 또한, Wanting_PMA를 갱신하기 위해 더 나은 MA가 존재하는지를 검사하고(970), 존재할 경우에 단계(910-970)를 반복 수행한다.
도 10은 도 8의 PS 수행 단계(860)를 보다 구체적으로 설명한 흐름도를 도시한 다. MA는 자신의 검증된 이웃 MA 리스트(ProbedNL)에서 최적으로 판단되는 소망 부모 MA(Wanting_PMA)를 선택한다(1010). 본 발명에 따르면, 최적의 PMA 선택은 단순히 홉간 거리가 가까운 MA를 선택하기 보다는 서비스의 요구사항에 따라 이루어질 수 있다. 예를 들어, 전송 지연에 민감한 서비스의 경우에, 홉간 거리는 루트부터의 누적된 전송 지연을 고려하며 계산되며, 대역폭에 민감한 서비스의 경우에는 루트로부터의 대역폭을 고려하여 계산된다. Wanting_PMA를 선택한 MA는 Wanting_PMA에게 중계요청 메시지(RelayRequest)를 전송함으로써 자신의 PMA로 동작해줄 것을 요청한다(1020). 다음, Wanting_PMA로부터 상기 중계요청 메시지에 대한 중계응답 메시지를 수신한다(1030). Wanting_PMA는 데이터 중계 가능성과 세션 정책을 고려하여 데이터 중계 수락 여부를 결정하고 그 결과를 중계응답 메시지(RelayAns)를 통해 전송한다. Wanting_PMA로부터 수신된 중계응답 메시지에 기반하여 PS의 성공 여부를 판단하고(1040), 성공인 경우에는 PS 동작이 완료되며(1050), 그렇지 않은 경우에는(즉, Wanting_PMA가 데이터 중계를 거부한 경우에는) PS 수행 실패를 리턴한다(1060).
주기적인 트리정보관리
일단 오버레이 멀티캐스트 세션이 시작된 이후, 세션의 서비스와 멤버쉽 관리등의 목적에 의해 주기적으로 또는 요청에 따라 세션의 상태를 관리하는 것이 필요하다. 트리 관리는 세션 관리자(SM)와 멀티캐스트 에이전트(MA)에 따라 상이한 방식으로 이루어질 수 있다.
도 11은 본 발명의 일실시예에 따른 세션 관리자(SM)의 트리 관리 동작 개요도를 도시한다. 일실시예에서, SM에 의한 트리 정보 관리는 크게 사용자의 요청에 의해 세션 상태를 측정해야 할 경우(1110), 동작중인 MA 리스트(AML)를 갱신해야 할 경우(즉, 정해진 AML 갱신 타임아웃에 도달할 때,1150)와 예비_MA 리스트(RML)를 갱신해야 할 경우(즉, 정해진 RML 갱신 타임아웃에 도달할 때, 1160)에 수행될 수 있다.
사용자로부터 트리 상태 관리 요청 메세지가 수신된 경우에(1110), 선택된 MA에 원하는 정보를 요청하는 보고요청 메시지(ReportRequest)를 전송하고(1120), 해당 MA로부터 보고응답 메시지(ReportAnswer)를 수신하고(1130), 상기 보고받은 정보를 사용자에게 전달한다(1140). 이로써, 사용자(CP, 관리자)는 세션 상태에 대한 정보를 얻을 수 있다.
도 12는 본 발명의 일실시예에 따른 멀티캐스트 에이전트(MA)의 트리 관리 동작 개요도를 도시한다. 일실시예에서, MA의 트리 관리는 트리의 지속을 위한 과정과 SM 또는 PMA으로부터의 상태보고 질의에 적절한 응답을 하는 과정으로 나눌 수 있다. 트리의 지속적인 관리를 위해 중계 시간 타임아웃마다(1210), MA는 자신의 PMA에게 중계요청(RelayRequest)을 보내고 PMA로부터 중계응답(RelayAnswer)을 주고받는 중계 리프레쉬(RelayRefresh) 과정을 수행한다(1220). 한편, PMA 또는 SM으로부터 보고요청(ReportRequest)을 수신할 경우에(1230), 해당 PMA 또는 SM에게 상태 보고 응답 메시지를 리턴한다(1240).
오류복구
종단 호스트로 이루어진 오버레이 멀티캐스트 데이터 전송 트리를 구성하고 있는 MA들은 망장비가 아닌 일반 데스크탑과 같은 PC 응용으로 이루어져 있다. 따라서, 이러한 MA들로 이루어진 데이터 전송트리는 PC 응용의 빈번한 시작과 종료, 실제 망 환경과는 다른 오버레이 네트워크를 고려하여 발생할 수 있는 각종 오류에 강건해야 한다. 오버레이 멀티캐스트 환경에서 망에 따른 심각한 오류는 루프(Loop) 발생과 망분할(network partitioning) 발생이다.
도 13은 본 발명의 일실시예에 따른 루프 오류 복구 동작의 흐름도를 도시한다. 루프 오류는 루트로부터 주기적으로 수신되는 HB를 이용하여 감지할 수 있다. 도시된 바와 같이, 루트로부터 HB를 수신하고(1310), 루트로부터 자신까지의 경로를 담은 루트경로(ROOTPATH)에 자신이나 자신의 CMA가 포함되어 있는지를 검사한다(1320). 존재한다면, 루프가 존재하는 것으로 판단하여 루프복구(Loop Recovery) 과정을 수행하며(1330), 그렇지 않은 경우에는 HB에 포함된 정보에 기반하여 QoS 정보를 갱신한다(1340). QoS 정보 갱신은 루트로부터의 거리를 계산함고 이를 반영함으로써 이루어진다.
도 14는 본 발명의 일실시예에 따른 루프 복구 동작을 상세히 도시한 흐름도이다. 루프 복구 과정은, 루프의 고리를 끊기 위해 PMA로부터 탈퇴하는 단계에서 시작한다(1410). 다음, 새로운 PMA로 전환하기 위해 PS 동작을 수행한다(1420). PS의 성공 여부를 판단하고(1430), 성공하지 못한 경우에는 루프 복구 과정이 성공하지 못한 것이므로, 새로운 맵파악 과정을 수행하여(1440), PS 동작을 재수행한다 (1450).
도 15는 본 발명의 일실시예에 따른 망분할(Network partitioning) 오류 복구 동작 개요도를 도시한다. 망분할 검출은 주기적인 HB를 선정된 시간(HB 예측 타임아웃) 이내에 수신하지 못할 경우에 망분할 오류가 발생한 것으로 판단한다(1510). HB 예측 타임아웃내에 HB를 수신하지 못한다면, N_HB_TIMEOUT를 하나씩 증가시키고, 그 값이 MAX_HB_TIMEOUT 값보다 큰지를 판단하고(1510), 그렇다면 망분할 오류 복구 동작을 수행한다(1520).
도 16은 본 발명의 일실시예에 따른 망분할 오류 복구 동작을 상세히 도시한 흐름도이다. 망분할 복구는 우선 업스트림(upstream)만이 단절되었는지 확인하기 위해 자신의 자식 MA(CMA)가 동작하는지를 검사한다(1610). CMA와도 단절되어 있는 경우에, 네트워크에서 자신만이 단절된 상태로 판단한다(1620). CMA가 동작하고 있는 경우에, 자신의 루트경로를 통해 차상위 부모 MA(PMA)들의 생존을 확인한다(1630). 차상위 PMA가 동작하지 않을 경우, 세션이 종료되었다고 판단하고(1640), 자신의 CMA들에게 탈퇴요청(LeaveRequest) 메시지를 전송하고(1650), 세션을 탈퇴한다(1660). 한편, 차상위 PMA들 중 하나라도 동작할 경우에는 PS 동작을 수행한다(1670).
이제까지 본 발명의 바람직한 실시예에 따른 오버레이 멀티캐스트 트리를 구성 및 관리를 위해 필요한 부트스트래핑, 맵파악, 부모 스위칭, 주기적인 트리정보 관리 및 오류 복구 과정들을 시스템 블록도/흐름도를 참조하여 기능별로 설명하였 다. 본 발명은 이러한 과정들의 가능한 조합으로 이루어진 방법 및/또는 시스템을 통해 오버레이멀티캐스트 트리를 효율적으로 구성 및 관리할 수 있다.
본 기술분야의 숙련자들에 의해 이해되는 바와 같이, 본 발명의 실시예들은 방법, 시스템 또는 컴퓨터 프로그램 판독가능 기록매체로서 제공될 수 있다. 따라서, 본 발명은 전체가 하드웨어 구현으로, 전체가 소프트웨어 구현으로 또는 소프트웨어 및 하드웨어 특징을 조합한 구현으로 될 수 있다. 또한, 본 발명은 내부에 컴퓨터 사용가능 프로그램 코드가 내장된 (디스크 저장장치, CD-ROM, 광 저장장치 등을 포함하는(이에 제한되는 것은 아닌)) 하나 이상의 컴퓨터 사용가능 저장 매체상에 구현되는 컴퓨터 프로그램 판독가능 기록매체의 형태를 취할 수 있다.
전술한 바와 같이, 본원 발명에서는 오버레이멀티캐스트 환경에서, 초기 MA의 부트스트래핑 과정 및 이웃 MA들의 정보를 탐색하기 위한 맵파악 과정을 통해 오버레이 멀티캐스트 데이터 전송 경로(트리)를 구성한 후에, 부모 스위칭 과정, 지속적인 트리정보 관리 및 오류 복구 과정을 수행함으로써, 실제 네트워크 토폴로지에 따라 강건하고 효율적인 데이터 전송 경로를 구성할 수 있다.
본 발명은 현재의 인터넷 인프라의 아무런 수정 없이 단지 개인용 PC에 소프트웨어를 설치하는 것만으로도 최근 각광 받고 있는 각종 그룹 통신 서비스에게 보다 효과적이고 높은 서비스 품질을 제공할 수 있다. 특히, 망환경의 변화 없이 단순히 프로그램을 설치함으로써 현재의 인터넷 망 환경에서도 동시접속자 수에 상관없는 데이터 전송 인프라를 구축할 수 있다.
이상에서, 바람직한 실시예와 관련하여 본 발명을 설명하였으나, 본 발명의 사상과 범주로부터 벗어나지 않는 범위에서, 첨부한 청구범위의 사상과 범주에 속하는 수정, 즉 형태 및 세부적인 변형이 가능함은 당업자에게 있어서 자명할 것이다. 따라서, 이러한 모든 변형들은 본 발명의 범위 내에 속할 것이며, 본 발명은 다음과 같은 청구 범위의 요지를 포함한다.

Claims (21)

  1. 세션 관리자(SM)와 적어도 1개 이상의 멀티캐스트 에이전트(MA)를 포함하는 전송망에서 오버레이 멀티캐스트 데이터 전송 트리를 구성 및 관리하기 위한 방법에 있어서, 상기 방법은, 세션에 가입하고자 하는 MA가,
    상기 SM으로부터 활성(active) 이웃 MA 정보를 획득하는 단계와,
    상기 활성 이웃 MA 정보를 이용하여 이웃 MA의 서비스 품질 정보를 파악하는 단계와,
    상기 이웃 MA의 서비스 품질 정보에 기반하여 최적의 서비스 품질을 갖는 MA를 부모 MA로 선택하는 단계와,
    상기 부모 MA로 선택된 MA를 통해 오버레이 멀티캐스트 데이터 통신 세션에 가입하는 단계와,
    상기 세션 가입 이후에 루트로부터 상기 MA에 이르는 경로정보를 포함하는 하트비트 정보를 주기적으로 수신하고 상기 하트비트 정보에 근거하여 부모 스위칭의 수행 여부를 결정하는 단계와,
    상기 부모 스위칭 수행이 결정되면 상기 현재의 부모 MA에서 더 나은 서비스 품질을 갖는 MA로 부모 스위칭하는 단계
    를 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  2. 제1항에 있어서, 상기 활성(active) 이웃 MA 정보를 획득하는 단계는,
    상기 오버레이 멀티캐스트 데이터 전송 세션에 가입하고자 하는 MA가 상기 SM에 가입요청메시지를 전송하는 단계와,
    상기 SM으로부터 상기 활성 이웃 MA 정보가 포함된 가입응답메시지를 수신하는 단계
    를 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  3. 제1항에 있어서, 상기 MA는 자신이 속한 상기 오버레이 멀티캐스트 데이터 전송 트리에서 루트로부터 자신에 이르는 경로를 저장하는 루트경로정보와, 상기 트리에서의 부모 MA 및 자식 MA 정보와, 서비스 품질이 검증된 검증 이웃의 리스트 및 서비스 품질이 아직 검증되지 않은 미검증 이웃 MA의 리스트를 저장하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  4. 제3항에 있어서, 상기 활성 이웃 MA 정보를 이용하여 이웃 MA의 서비스 품질 정보를 파악하는 상기 단계는,
    상기 활성 이웃 MA 정보를 상기 미검증 이웃 MA 리스트에 저장하는 단계와,
    상기 미검증 이웃 MA 리스트로부터 검증대상 MA를 선정하는 단계와,
    상기 선정된 검증대상 MA에 자신의 이웃 MA 정보를 포함하는 검증요청메시지를 전송하는 단계와,
    상기 검증대상 MA로부터 상기 검증대상 MA의 이웃 MA 정보를 포함하는 검증응답 메시지를 수신하는 단계와,
    상기 검증응답메시지를 전송한 상기 검증대상 MA 정보를 상기 검증 이웃 MA 리스트에 추가하는 단계와,
    상기 검증응답메시지에 포함된 상기 검증대상 MA의 이웃 MA 정보중에서 자신의 검증 이웃 MA 리스트에 포함되어 있지 않은 MA 정보를 상기 미검증 MA 리스트에 추가하는 단계
    를 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  5. 제3항에 있어서, 상기 활성 이웃 MA 정보를 이용하여 이웃 MA의 서비스 품질 정보를 파악하는 상기 단계는 주기적으로 수행되는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  6. 제1항에 있어서, 상기 최적의 부모 MA를 결정하는 단계에서, 상기 최적의 부모 MA는 서비스의 요구사항에 따라 결정되는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  7. 제1항에 있어서, 상기 부모 MA로 선택된 MA를 통해 세션에 가입하는 상기 단계는,
    i) 상기 부모 MA로 선택된 MA에 데이터 중계요청 메시지를 전송하는 단계와,
    ii) 상기 부모 MA로 선택된 MA로부터 데이터 중계의 수락 또는 거절을 포함하는 데이터 중계응답 메시지를 수신하는 단계와,
    iii) 상기 데이터 중계응답 메시지에 기반하여 데이터 중계의 수락여부를 판단하는 단계를 포함하고,
    상기 데이터 중계응답 메시지가 데이터 중계 거절을 나타내는 경우에는 차상위 서비스 품질을 갖는 MA를 선택하여 상기 i) 내지 iii) 단계를 반복하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  8. 제1항에 있어서, 상기 하트비트 정보에 근거하여 부모 스위칭의 수행 여부를 결정하는 상기 단계는,
    상기 하트비트 정보를 이용하여 잠재 서비스 품질을 계산하는 단계와,
    상기 잠재 서비스 품질과 현재 부모 MA를 통한 서비스 품질을 비교하여 상기 잠재 서비스 품질이 소정의 임계치 이상 우수한지를 판단하는 단계와,
    상기 잠재 서비스 품질이 소정의 임계치 이상 우수한 경우에는 부모 스위칭의 수행을 결정하는 단계와,
    그렇지 않은 경우에는 부모 스위칭이 필요없는 것으로 결정하는 단계
    를 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  9. 제1항에 있어서, 상기 더 나은 MA로 부모 스위칭하는 단계는,
    i) 이웃 MA중에서 최적의 서비스 품질 정보를 갖는 MA를 부모 MA로 선택하는 단계와,
    ii) 상기 부모 MA로 선택된 MA에 데이터 중계요청 메시지를 전송하는 단계와,
    iii) 상기 부모 MA로 선택된 MA로부터 데이터 중계의 수락 또는 거절을 포함하는 데이터 중계응답 메시지를 수신하는 단계와,
    iv) 상기 데이터 중계응답 메시지에 기반하여 데이터 중계의 수락여부를 판단하는 단계와,
    v) 상기 데이터 중계응답 메시지가 데이터 중계 거절을 나타내는 경우에는 차상위 서비스 품질을 갖는 MA를 선택하여 상기 ii) 내지 iv) 단계를 반복하는 단계를 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  10. 제1항에 있어서, 상기 MA는 선정된 타임아웃에 도달할 때마다 부모 MA에 중계요청 메시지를 전송하고 부모 MA로부터 중계응답 메시지를 수신하는 단계를 더 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  11. 제1항에 있어서, 상기 주기적으로 수신되는 하트비트정보에 포함된 루트로부터 상기 MA에 이르는 경로 정보에 상기 MA가 중복 존재하거나 상기 MA의 자식 MA가 존재하는 경우에 상기 세션에 루프(loop) 오류가 발생한 것으로 판단하는 단계를 더 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  12. 제11항에 있어서, 상기 루프 오류가 발생된 것으로 판단된 경우에, 상기 MA는 새로운 MA로 부모 스위칭하는 단계를 더 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  13. 제1항에 있어서, 상기 주기적으로 수신되는 하트비트 정보를 선정된 시간내에 수신하지 못할 경우에 망분할 오류가 발생한 것으로 판단하는 단계를 더 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  14. 제13항에 있어서, 상기 망분할 오류가 발생한 것으로 판단된 경우에,
    i) 자식 MA가 동작하는지 검사하는 단계와,
    ii) 상기 자식 MA가 동작하지 않는 경우에 전송망에서 단절된 것으로 판단하는 단계와,
    iii) 상기 자식 MA가 동작하는 경우에는,
    a) 차상위 부모 MA가 동작하는지를 판단하는 단계와,
    b) 상기 차상위 부모 MA가 동작하는 경우에는 상기 차상위 부모 MA로 부모 스위칭하는 단계와,
    c) 상기 차상위 부모 MA가 동작하지 않는 경우에는 세션이 종료된 것 으로 판단하고, 자식 MA에 탈퇴요청메세지를 전송하고, 세션을 탈퇴하는 단 계
    를 더 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  15. 세션 관리자(SM)와 적어도 1개 이상의 멀티캐스트 에이전트(MA)를 포함하는 전송망에서 오버레이 멀티캐스트 데이터 전송 트리를 구성 및 관리하기 위한 방법에 있어서, 상기 방법은, 상기 SM에서,
    상기 SM이 관리하는 세션에 가입하여 현재 정상적으로 동작중인 활성 MA의 리스트와, 상기 세션에서 정상적으로 동작하는지가 아직 확인되지 않은 예비 MA의 리스트를 저장하는 단계와,
    상기 세션에 가입하고자 하는 MA로부터 가입요청메시지를 수신하는 단계와,
    상기 가입요청메시지에 응답하여 상기 MA의 가입여부를 결정하는 단계와,
    세션 가입을 허가하는 경우에 상기 활성 MA 리스트의 일부를 추출하여 가입응답메시지에 포함시켜 상기 MA에 전송하는 단계와,
    세션 가입을 허가하지 않을 경우에는 거절 이유를 가입응답 메시지에 포함시켜 상기 MA에 전송하는 단계와,
    상기 가입요청메시지를 전송한 상기 MA의 정보를 상기 예비 MA 리스트에 추가하는 단계
    를 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  16. 제15항에 있어서, 상기 SM이 사용자의 요청에 응답하여 세션의 상태를 측정하는 단계를 더 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  17. 제16항에 있어서, 상기 세션 상태 측정 단계는,
    상기 SM이 사용자로부터 특정 MA에 대한 트리상태 관리 요청 메시지를 수신하는 단계와,
    상기 특정 MA에 보고요청메시지를 전송하는 단계와,
    상기 특정 MA로부터 보고요청응답메시지를 수신하는 단계와,
    상기 수신된 보고요청응답메시지를 사용자에게 전달하는 단계를 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  18. 제15항에 있어서, 상기 SM은,
    선정된 제1 타임아웃에 도달할 때마다 상기 활성 MA 리스트를 갱신하는 단계와,
    선정된 제2 타임아웃에 도달할 때마다 상기 예비 MA 리스트를 갱신하는 단계를 더 포함하는 오버레이 멀티캐스트 데이터 전송 트리 관리 방법.
  19. 제1항 내지 제18항중 어느 하나의 항에 따른 오버레이 멀티캐스트 데이터 전송 트리 구성 및 관리 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터에 의해 판독가능한 기록매체.
  20. 세션 관리자로부터 활성(active) 이웃 멀티캐스트 에이전트(MA) 정보를 획득하기 위한 수단과,
    상기 활성 이웃 MA 정보를 이용하여 이웃 MA의 서비스 품질 정보를 파악하기 위한 수단과,
    상기 이웃 MA의 서비스 품질 정보에 기반하여 최적의 서비스 품질을 갖는 MA를 부모 MA로 선택하고 상기 선택된 부모 MA를 통해 오버레이 멀티캐스트 데이터 통신 세션에 가입하기 위한 수단과,
    상기 세션 가입 이후에 루트로부터 상기 MA에 이르는 경로정보를 포함하는 하트비트 정보를 주기적으로 수신하고 상기 하트비트 정보에 근거하여 부모 스위칭의 수행 여부를 결정하기 위한 수단과,
    상기 부모 스위칭 수행이 결정되면 상기 현재의 부모 MA에서 더 나은 서비스 품질을 갖는 MA로 부모 스위칭하기 위한 수단
    을 포함하는 멀티캐스트 에이전트 장치.
  21. 자신이 관리하는 세션에 가입하여 현재 정상적으로 동작중인 활성 MA의 리스트 및 상기 세션에서 정상적으로 동작하는지가 아직 확인되지 않은 예비 MA의 리스트를 저장하고 상기 리스트들을 주기적으로 갱신하기 위한 수단과,
    상기 세션에 가입하고자 하는 MA로부터 가입요청메시지를 수신하고, 상기 가입요청메시지에 응답하여 상기 MA의 가입여부를 결정하기 위한 수단과,
    세션 가입을 허가하는 경우에 상기 활성 MA 리스트의 일부를 추출하여 가입응답메시지에 포함시켜 상기 MA에 전송하고, 세션 가입을 허가하지 않을 경우에는 거절 이유를 가입응답 메시지에 포함시켜 상기 MA에 전송하기 위한 수단과,
    상기 가입요청메시지를 전송한 상기 MA의 정보를 상기 예비 MA 리스트에 추가하기 위한 수단
    을 포함하는 세션 관리자 장치.
KR1020050102155A 2004-11-06 2005-10-28 강건한 오버레이 멀티캐스트 트리 관리 방법 및 장치 KR100684178B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2005800375069A CN101053211B (zh) 2004-11-06 2005-11-04 用于配置和管理健壮覆盖多播树的方法和设备
PCT/KR2005/003708 WO2006049448A1 (en) 2004-11-06 2005-11-04 Method and apparatus for configuring and managing a robust overlay multicast tree
US11/577,381 US20080222277A1 (en) 2004-11-06 2005-11-04 Method and Apparatus for Configuring and Managing a Robust Overlay Multicast Tree

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040090112 2004-11-06
KR20040090112 2004-11-06

Publications (2)

Publication Number Publication Date
KR20060052295A KR20060052295A (ko) 2006-05-19
KR100684178B1 true KR100684178B1 (ko) 2007-02-20

Family

ID=37150133

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050102155A KR100684178B1 (ko) 2004-11-06 2005-10-28 강건한 오버레이 멀티캐스트 트리 관리 방법 및 장치

Country Status (3)

Country Link
US (1) US20080222277A1 (ko)
KR (1) KR100684178B1 (ko)
CN (1) CN101053211B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100931406B1 (ko) 2007-10-15 2009-12-11 (주)타임네트웍스 이동 애드혹 네트워크상의 오버레이 멀티캐스트 트리에있어서의 부하 분산 및 부하 억제방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100819042B1 (ko) * 2005-12-08 2008-04-02 한국전자통신연구원 멀티캐스트 에이전트의 무선 랜 환경을 고려한 1:n오버레이 멀티캐스트 망 구성 방법 및 그 멀티캐스트에이전트
KR100774787B1 (ko) * 2006-04-05 2007-11-07 한국정보통신대학교 산학협력단 오버레이 멀티캐스트 네트워크 환경에서의 트리 구성방법
US8661080B2 (en) * 2010-07-15 2014-02-25 International Business Machines Corporation Propagating changes in topic subscription status of processes in an overlay network
WO2012095751A2 (en) * 2011-01-13 2012-07-19 Marvell World Trade, Ltd. Method and apparatus for handling multicast traffic
KR20130135489A (ko) * 2012-06-01 2013-12-11 한국전자통신연구원 중계전송 멀티캐스트 네트워크에서 멀티캐스트 에이전트에게 매개변수를 전송하는 방법 및 장치
FR3011414A1 (fr) * 2013-10-01 2015-04-03 Orange Procede d'abonnement a des flux en provenance de clients multicast
WO2016063267A1 (en) * 2014-10-24 2016-04-28 Telefonaktiebolaget L M Ericsson (Publ) Multicast traffic management in an overlay network
US11190598B2 (en) * 2018-10-31 2021-11-30 Comcast Cable Communications, Llc Methods and systems for session management
US11671653B2 (en) 2019-03-14 2023-06-06 Comcast Cable Communications, Llc Methods and systems for content delivery
US11388092B2 (en) 2019-09-30 2022-07-12 Electronics And Telecommunications Research Institute Peer and operating method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060020338A (ko) * 2004-08-31 2006-03-06 연세대학교 산학협력단 생태계 기반 최적화에 의한 오버레이 네트웍에서의 적응적파일 분배 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5331637A (en) * 1993-07-30 1994-07-19 Bell Communications Research, Inc. Multicast routing using core based trees
US6507562B1 (en) * 1998-06-30 2003-01-14 Sun Microsystems, Inc. Dynamic optimization for receivers using distance between a repair head and a member station in a repair group for receivers having a closely knit topological arrangement to locate repair heads near the member stations which they serve in tree based repair in reliable multicast protocol
US6611872B1 (en) * 1999-01-11 2003-08-26 Fastforward Networks, Inc. Performing multicast communication in computer networks by using overlay routing
US6684331B1 (en) * 1999-12-22 2004-01-27 Cisco Technology, Inc. Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure
US7035937B2 (en) * 2001-04-25 2006-04-25 Cornell Research Foundation, Inc. Independent-tree ad hoc multicast routing
US7333486B2 (en) * 2001-07-16 2008-02-19 International Business Machines Corporation Methods and arrangements for monitoring subsource addressing multicast distribution trees
US6721297B2 (en) * 2001-11-19 2004-04-13 Motorola, Inc. Method and apparatus for providing IP mobility for mobile networks
KR100462406B1 (ko) * 2002-11-06 2004-12-17 한국전자통신연구원 인터넷 기반 오버레이 멀티캐스트 트리 구성 및 관리 방법
US7155223B2 (en) * 2002-12-20 2006-12-26 Nortel Networks Limited Optimizing hand-off neighbor lists for improved system performance
US10476619B2 (en) * 2003-04-23 2019-11-12 Apple Inc. Routing quality-of-service traffic in a wireless system
US7596595B2 (en) * 2003-06-18 2009-09-29 Utah State University Efficient unicast-based multicast tree construction and maintenance for multimedia transmission
US7386606B2 (en) * 2003-09-12 2008-06-10 Microsoft Corporation Self-organizing overlay networks
US7792936B2 (en) * 2003-12-01 2010-09-07 International Business Machines Corporation Method and apparatus for virtualizing network resources
US7805142B2 (en) * 2004-04-02 2010-09-28 Alcatel-Lucent Usa Inc. Methods and device for varying a hand-off base station list based on traffic conditions
US7174385B2 (en) * 2004-09-03 2007-02-06 Microsoft Corporation System and method for receiver-driven streaming in a peer-to-peer network
US7630370B2 (en) * 2007-02-28 2009-12-08 Sharp Laboratories Of America, Inc. Overlay join latency reduction using preferred peer list

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060020338A (ko) * 2004-08-31 2006-03-06 연세대학교 산학협력단 생태계 기반 최적화에 의한 오버레이 네트웍에서의 적응적파일 분배 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100931406B1 (ko) 2007-10-15 2009-12-11 (주)타임네트웍스 이동 애드혹 네트워크상의 오버레이 멀티캐스트 트리에있어서의 부하 분산 및 부하 억제방법

Also Published As

Publication number Publication date
CN101053211A (zh) 2007-10-10
US20080222277A1 (en) 2008-09-11
KR20060052295A (ko) 2006-05-19
CN101053211B (zh) 2011-08-10

Similar Documents

Publication Publication Date Title
KR100684178B1 (ko) 강건한 오버레이 멀티캐스트 트리 관리 방법 및 장치
KR100819042B1 (ko) 멀티캐스트 에이전트의 무선 랜 환경을 고려한 1:n오버레이 멀티캐스트 망 구성 방법 및 그 멀티캐스트에이전트
US7194549B1 (en) Multicast system using client forwarding
EP0575279B1 (en) Distributed management communications network
US7630370B2 (en) Overlay join latency reduction using preferred peer list
US7200654B2 (en) Method of constructing and managing overlay multicast tree on Internet
US20070041328A1 (en) Devices and methods of using link status to determine node availability
JP4671707B2 (ja) マルチキャストルーティングプログラム、マルチキャストルーティング方法、およびマルチキャストルータ
WO2009052765A1 (fr) Procédé et dispositif de détection et de traitement de défaillance de nœud dans un réseau poste à poste
US7920532B2 (en) Method and apparatus for providing distributed service composition model for ad hoc networks
US8774130B2 (en) Access point, L2 switch and method of supporting multicast handover using the access point and L2 switch
US7457288B2 (en) Relay multicast system and method for providing efficient group communication service
KR101486418B1 (ko) 또 다른 쌍에 가깝게 위치한 쌍들의 그룹을 결정하는 방법, 연관된 서버, 및 분석 디바이스
US20100202462A1 (en) Dynamically transitioning static network addresses
JP2001034592A (ja) ネットワーク構成管理システムおよびネットワーク構成管理方法
KR100744786B1 (ko) 미디어 스트림 전송 시스템 및 방법
US8437274B2 (en) Discovery of disconnected components in a distributed communication network
WO2006049448A1 (en) Method and apparatus for configuring and managing a robust overlay multicast tree
KR19990053166A (ko) 멀티포인트 통신 시스템 및 멀티캐스트 경로 오류 제어 및경로 재배정 방법
US20060291381A1 (en) Diverse routing for switched connections
CN116567550A (zh) 一种漫游环境下的多播查询方法
Costa et al. A new path probing strategy for inter-domain multicast routing
KR101467022B1 (ko) 콘텐츠 전달에 최적화된 스마트네트워크에서 멀티 도메인 기반 오버레이 네트워크 구성 및 관리 방법과 그 시스템
CN102970756B (zh) 一种基于服务能力p2p分布化的s-cscf分配方法
Baek et al. A scalable recovery tree construction scheme considering spatial locality of packet loss

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: 20130205

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140123

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee