KR100418562B1 - 다중전송을 위한 중계경로 생성방법 - Google Patents

다중전송을 위한 중계경로 생성방법 Download PDF

Info

Publication number
KR100418562B1
KR100418562B1 KR10-2001-0054703A KR20010054703A KR100418562B1 KR 100418562 B1 KR100418562 B1 KR 100418562B1 KR 20010054703 A KR20010054703 A KR 20010054703A KR 100418562 B1 KR100418562 B1 KR 100418562B1
Authority
KR
South Korea
Prior art keywords
participant
gateway
participants
relay path
gateways
Prior art date
Application number
KR10-2001-0054703A
Other languages
English (en)
Other versions
KR20030021428A (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 KR10-2001-0054703A priority Critical patent/KR100418562B1/ko
Priority to PCT/KR2002/001688 priority patent/WO2003021882A1/en
Priority to US10/488,375 priority patent/US7315516B2/en
Priority to EP02775574A priority patent/EP1430655A4/en
Priority to JP2003526089A priority patent/JP3836842B2/ja
Publication of KR20030021428A publication Critical patent/KR20030021428A/ko
Application granted granted Critical
Publication of KR100418562B1 publication Critical patent/KR100418562B1/ko

Links

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/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • 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]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • 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/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains

Abstract

본 발명은 다중전송을 위한 중계경로 생성방법에 관한 것으로서, 특히, 불특정 다수의 사용자들에게 소정의 데이터를 제공하기 위한 다중전송 참가자들간 중계경로 생성방법에 있어서, 다중전송에 참가하고자 하는 참가자들의 접속 경로를 분석하는 제1 과정과, 상기 각 참가자들이 속한 서브네트그룹별로 해당 서브네트그룹에 속한 참가자들간에 2진 트리 형태의 중계경로를 생성하는 제2 과정과, 상기 접속 경로에 포함된 참가자들의 통과 게이트웨이들을 데이터 서버와의 연결 경로상의 순서에 의거하여 정렬하는 제3 과정과, 상기 정렬에 의해 동일 레벨로 분류된 게이트웨이들 중 동일한 상위 게이트웨이와 연결된 게이트웨이들을 그 상위 게이트웨이의 소속집합으로 분류하는 제4 과정과, 상기 소속집합 내의 게이트웨이들이 해당 서브네트그룹까지 거치는 홉수를 계산한 후, 상대적으로 더 적은 홉수를 가지는 게이트웨이로부터 더 큰 홉수를 가지는 게이트웨이 방향으로 2진 트리 형태의 중계 경로를 생성하는 제5 과정을 포함하는 중계경로 생성방법에 관한 것이다. 따라서, 모든 참가자들이 인접한 복수의 참가자들에게 데이터를 중계함으로써, 데이터 서버의 전송 부하를 현저하게 줄이고, 새로운 참가자의 추가나 탈퇴시 다른 참가자의 중계경로 변화가 최소화될 수 있도록 함으로써, 참가자들이 안정적인 접속상태를 유지할 수 있고, 신뢰성있는 데이터 전송할 수 있도록 한다는 특징이 있다.

Description

다중전송을 위한 중계경로 생성방법{Method for generating casting path}
본 발명은 다중전송을 위한 중계경로 생성방법에 관한 것으로서, 다중전송 참가자들간에 데이터를 중계함으로써 멀티캐스팅을 구현하기 위해, 다중전송 참가자들의 초기 접속경로를 참조하여, 그 참가자들간에 2진 트리 형태의 중계경로를 생성하는 방법에 관한 것이다.
인터넷은 글로벌 네트워크로 전 세계의 수많은 네티즌들의 불특정 동시 접속의 특징을 가지고 있다. 다시 말해서, 동시에 수많은 접속자들에게 데이터를 전송할 수 있어야 한다.
이러한 인터넷의 데이터 전송 방식은 데이터 전송에 참여하는 송/수신자 관점에서 유니캐스트, 브로드캐스트, 멀티캐스트로 구분할 수 있다. 이들 중 멀티캐스트 전송방식이 다중 전송에 대한 최적의 대안으로 인식되고 있으며, 멀티캐스트 전송방식에 대한 다양한 연구가 진행되고 있는 실정이다.
멀티캐스트 전송방식은 인터넷상에서 일반적으로 사용되는 유니캐스트 전송방식(하나의 송신자가 다른 하나의 수신자에게 데이터를 전송하는 전송방식)과는 달리 전송 패킷의 헤더에 수신자의 주소 대신 수신자들이 참여하고 있는 그룹주소를 표시함으로써, 여러 수신자들에게 전송되는 데이터들이 한번에 전송되도록 하여 데이터의 중복 전송으로 인한 네트워트 자원의 낭비를 최소화한다는 특징이 있다.
또한, 이러한 멀티캐스트 전송을 위해서는 송신자는 실제의 호스트 주소가 아닌 D클래스 IP 주소에 의한 그룹주소를 사용하며, 그 그룹주소를 갖는 멀티캐스트 패킷을 전송받은 수신자는 자신이 해당 그룹에 포함되었는지의 여부를 판단하여 데이터의 수신 여부를 결정하게 된다. 따라서, 이러한 멀티캐스트 전송방식을 지원하기 위한 별도의 라우터가 필요하게 된다.
하지만, 현재 인터넷의 라우터들은 대부분 유니캐스트만을 지원하도록 구성되어 있기 때문에 현실적으로 인터넷상에 멀티캐스트 전송방식을 적용하는 것이 어렵다.
이를 극복하기 위해, 터널링(tunneling)이라는 개념을 사용하여 캡슐화(encapsulation)된 패킷을 전송하는 IP 멀티캐스트 전송방식이 이용되기도 한다.
이 때, 터널링을 이용한 멀티캐스트 전송방식은 멀티캐스트 라우터들간에 터널을 설정한 후, 그 멀티캐스트 라우터가 멀티캐스트를 위한 데이터 패킷을 라우팅할 때, 해당 패킷의 헤더 앞에, 멀티캐스트 라우터들간에 설정된 터널의 양 끝단 IP 주소를 덧붙여 라우팅하도록 한다. 즉, 이러한 멀티캐스트 데이터 패킷이 멀티캐스트를 지원하지 않는 일반 라우터들을 거칠 경우, 상기 양 끝단 IP주소에 의해 기존의 유니캐스트 패킷과 같은 방법으로 라우팅되어 최종적으로 터널의 종착지로 전송됨으로써, 현재의 인터넷 환경에서도 멀티캐스트 전송을 가능하게 한다.
하지만, 이러한 IP 멀티캐스트 전송방식도 수용가능한 동시접속자 수가 제한된다는 문제점이 있다.
이외에도 멀티캐스트를 응용한 전송기법으로 네트워크레벨(Network-level) 멀티캐스트와, 어플리케이션레벨(Application-level) 멀티캐스트가 있다.
이중 네트워크레벨 멀티캐스트 기법은 라우터에 하드웨어적인 추가 기능을 삽입하여 라우터로 하여금 분산전송을 수행하게 하는 방법으로서, 이를 인터넷에 적용하기 위해 인터넷상의 모든 라우터가 이 기능을 수행하는 라우터로 교체되어야 한다는 특징이 있다. 따라서, 네트워크레벨 멀티캐스트 기법은 현실적으로 구현이 불가능하다.
한편, 어플리케이션레벨 멀티캐스트 기법은 송신자로부터 데이터를 수신한 1차 수신자가 해당 데이터를 2차 수신자에게 재전송하도록 하는 방법으로서, 불특정 다수의 동시 접속자가 발생하여 그 들간 연결 경로가 많아지는 경우, 이를 관리하는 것이 곤란하다. 따라서, 실질적으로 동시 접속자 수에 제한을 받게 되며, 상위 수신자의 접속 이탈시, 하위에 있는 수많은 수신자의 접속상태 유지 및 데이터 전송의 신뢰성을 보장할 수 없는 심각한 문제점이 있다.
본 발명은 이러한 문제점을 해결하기 위해 안출된 것으로서, 본 발명에서는멀티캐스팅 구현을 위한 다중전송 참가자들간 데이터 중계를 위한 중계경로 생성 방법에 있어서, 모든 참가자들이 인접한 복수의 참가자들에게 데이터를 중계함으로써, 데이터 서버의 전송 부하를 현저하게 줄이고, 새로운 참가자의 추가나 탈퇴시 다른 참가자의 중계경로 변화가 최소화될 수 있도록 함으로써, 안정적인 접속상태를 유지할 수 있고, 신뢰성있는 데이터 전송이 가능하도록 하는 2진 트리 형태의 중계경로 생성방법을 제공하는 것을 목적으로 한다.
도 1은 본 발명의 일 실시예에 따른 다중전송을 위한 중계경로 생성방법에 대한 처리 흐름도,
도 1a는 본 발명의 일 실시예에 따라 서브네트그룹별 중계경로를 생성하는 과정에 대한 처리 흐름도,
도 1b는 본 발명의 일 실시예에 따라 소속집합 내 중계경로를 생성하는 과정에 대한 처리 흐름도,
도 1c는 본 발명의 일 실시예에 따라 참가자 추가에 따른 중계경로를 변경하는 과정에 대한 처리 흐름도,
도 1d는 본 발명의 일 실시예에 따라 참가자 탈퇴에 따른 중계경로를 변경하는 과정에 대한 처리 흐름도,
도 2는 본 발명의 일 실시예에 따라 서브네트그룹 내 중계경로를 생성하는 과정을 예시적으로 설명한 도면,
도 3은 본 발명의 일 실시예에 따라 다중전송 참가자들의 접속경로에 포함된 통과 게이트웨이들을 정렬한 상태를 예시적으로 나타낸 도면,
도 4는 본 발명의 일 실시예에 따라 하위 레벨의 게이트웨이 또는 소속집합으로부터 중계경로 형성에 필요한 가상 연결자를 전달받는 과정을 예시적으로 나타낸 도면,
도 5는 본 발명의 일 실시예에 따라 도 3의 예에 나타난 통과 게이트웨이 및 서브네트그룹들에 대한 중계경로를 생성한 결과를 나타낸 도면,
도 6a 내지 도 9c는 다중 전송 참가자의 추가 및 탈퇴시 본 발명의 일 실시예에 따라 중계경로를 변경하는 처리 과정 및 처리 결과에 대한 예를 나타낸 도면들.
상기 목적을 달성하기 위한 본 발명의 중계경로 생성방법은 불특정 다수의 사용자들에게 소정의 데이터를 제공하기 위한 다중전송 참가자들간 중계경로 생성방법에 있어서, 다중전송에 참가하고자 하는 참가자들의 접속 경로를 분석하는 제1 과정과, 상기 각 참가자들이 속한 서브네트그룹별로 해당 서브네트그룹에 속한 참가자들간에 2진 트리 형태의 중계경로를 생성하는 제2 과정과, 상기 접속 경로에 포함된 참가자들의 통과 게이트웨이들을 데이터 서버와의 연결 경로상의 순서에 의거하여 정렬하는 제3 과정과, 상기 정렬에 의해 동일 레벨로 분류된 게이트웨이들 중 동일한 상위 게이트웨이와 연결된 게이트웨이들을 그 상위 게이트웨이의 소속집합으로 분류하는 제4 과정과, 상기 소속집합 내의 게이트웨이들이 해당 서브네트그룹까지 거치는 홉수를 계산한 후, 상대적으로 더 적은 홉수를 가지는 게이트웨이로부터 더 큰 홉수를 가지는 게이트웨이 방향으로 2진 트리 형태의 중계 경로를 생성하는 제5 과정을 포함하는 것을 특징으로 한다.
이하, 본 발명에 따른 다중전송을 위한 중계경로 생성방법에 대한 바람직한실시예를 첨부된 도면에 의거하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 다중전송을 위한 중계경로 생성방법에 대한 처리 흐름도이다. 도 1을 참조하면, 불특정 다수의 사용자들에게 소정의 데이터를 제공하기 위한 다중전송 참가자들간 중계경로를 생성하기 위해, 해당 데이터 서버는 다중전송에 참가하고자 하는 참가자들의 접속경로를 분석한다(s100). 즉, 각 참가자들의 식별자, 해당 참가자들이 속한 서브네트그룹 및 데이터 서버에 접속하기 위해 각 참가자들이 거친 통과 게이트웨이 정보들을 분석한다.
그리고, 그 분석 정보에 의거하여, 상기 각 참가자들이 속한 서브네트그룹별로 해당 서브네트그룹에 속한 참가자들간에 2진 트리 형태의 중계경로를 생성한다(s200).
또한, 상기 접속 경로에 포함된 참가자들의 통과 게이트웨이들을 데이터 서버와의 연결 경로상의 순서에 의거하여 정렬하고(s300), 정렬에 의해 동일 레벨로 분류된 게이트웨이들 중 동일한 상위 게이트웨이와 연결된 게이트웨이들을 그 상위 게이트웨이의 소속집합으로 분류한다(s400).
그리고, 상기 소속집합 내의 게이트웨이들이 해당 서브네트그룹까지 거치는 홉수를 계산한 후, 상대적으로 더 적은 홉수를 가지는 게이트웨이로부터 더 큰 홉수를 가지는 게이트웨이 방향으로 2진 트리 형태의 중계 경로를 생성한다(s500). 이 때, 홉수를 계산하는 것은 인접 게이트웨이들간 중계경로를 생성하기 위함이다.
이와 같이 중계경로가 생성된 후, 새로운 참가자가 접속하거나(s600), 이전 참가자가 탈퇴를 하는(s800), 그 참가자의 추가 및 탈퇴에 따른 중계 경로를 변경한다(s700, s900).
도 1a는 본 발명의 일 실시예에 따라 서브네트그룹별 중계경로를 생성하는 과정에 대한 처리 흐름도로서, 도 1a를 참조하면, 서브네트그룹별 중계경로를 생성하기 위해서는 우선, 상기 각 참가자들이 속한 서브네트그룹별로 다중 전송에 참가한 참가자들의 참가 순서에 의해 참가자들을 정렬한 참가자 정보 리스트를 생성하고(s210), 상기 참가자 정보 리스트에 의해 다중 전송에 가장 먼저 참가한 복수의 참가자들을 대표참가자로 선정한다(s220).
그리고, 대표참가자들에게 중계경로 생성을 위한 복수개의 가상 연결자를 각각 부여한다(s230). 이 때, 대표참가자들에게 부여되는 가상 연결자는 해당 서브네트그룹 내부의 참가자들과 중계경로를 생성하기 위한 내부 연결자와 다른 서브네트그룹의 참가자들과 중계경로를 생성하기 위한 외부 연결자가 있다.
즉, 이들 외부 연결자를 해당 서브네트그룹의 상위 게이트웨이들 중 가상 연결자를 필요로 하는 게이트웨이들에게 순차적으로 전달함으로써, 2진 트리 형태의 중계 경로가 생성하도록 한다.
한편, 각 서브네트그룹에 포함된 참가자들 중 대표참가자로 선정된 참가자들을 제외한 나머지 참가자들간 2진 트리 형태의 중계 경로를 생성한다(s240).
이 때, 서브네트그룹에 포함된 참가자들간 중계경로는 상기 참가자 정보 리스트에서 대표참가자를 제외한 참가자들 중 n번째에 위치한 참가자로부터 2n번째에 위치한 참가자 및 (2n+1)번째에 위치한 참가자로 연결되는 중계경로를 생성하는 것을 특징으로 한다. 즉, 복수의 대표참가자를 제외한 참가자들 중 첫 번째(n=1)에위치한 참가자(실질적으로는 세 번째 참가자)의 경우 복수의 대표참가자를 제외한 참가자들 중 두 번째(2n=2)에 위치한 참가자(실질적으로는 네 번째 참가자)와 세 번째(2n+1=3)에 위치한 참가자(실질적으로는 다섯 번째 참가자)에게 데이터를 중계하도록 하는 중계경로를 생성한다.
이와 같이 대표참가자들을 제외한 나머지 참가자들간 중계경로를 형성하였으면, 그 중계경로와 대표참가자들간 서브네트그룹 내부 중계경로를 생성한다(s250). 즉, 대표참가자들을 다시 그 참가 순서에 의해 우선 대표참가자와 차선 대표참가자로 나눈 후, 우선 대표참가자의 내부 연결자에 의해 우선 대표참가자와 차선 대표참가자간 중계경로를 생성하고, 차선 대표참가자의 내부 연결자에 의해 차선 대표참가자와 2진 트리 형태의 최상위 노드에 위치한 참가자간 중계경로를 생성한다.
이러한 일련의 과정에 의해 서브네트그룹 내 중계경로를 생성하는 과정에 대한 예시도가 도 2에 나타나 있으며, 도 2를 참조하여 그 과정을 좀 더 구체적으로 설명하면 다음과 같다.
즉, 도 2의 (a)는 임의의 한 서브네트그룹(서브네트그룹 #n) 내에 속한 참가자들을 각 참가자들의 참가 순서에 의해 정렬한 참가자 정보 리스트 및 그 참가자 정보 리스트에서 선정된 대표참가자들을 나타낸다. 상기 참가자 정보 리스트에서 대표참가자로 선정된 참가자는 '참가자 #1'과 '참가자 #2'이며, 이들 중 '참가자 #1'이 우선 대표 참가자이고, '참가자 #2'가 차선 대표 참가자이다.
한편, 상기 각 참가자들의 통과 게이트웨이들간에 중계 경로 생성을 위해서, 각 게이트웨이들은 최대 2개의 가상 연결자를 가질 수 있는데, 이들 가상 연결자의근원은 대표참가자의 외부 연결자이다. 즉, 각 서브네트그룹들은 해당 서브네트그룹의 상위에 위치한 통과 게이트웨이와의 중계 경로를 생성하기 위해, 상기 대표참가자들의 외부 연결자들을 가상연결자로 가지는 가상의 게이트웨이를 생성하는데, 도 2의 (a)에 도시된 V-G(n)가 서브네트그룹 #n에 대한 가상 게이트웨이이다. 그 가상 게이트웨이(V-G(n))의 가상 연결자는 우선 대표참가자의 외부 연결자(n1)와, 차선 대표참가자의 외부 연결자(n2)로 구성되며, 상위 게이트웨이가 중계경로 생성을 위한 가상연결자를 요구할 경우, 상위 게이트웨이로 상기 가상 연결자를 전달하게 된다.
도 2의 (b)는 서브네트그룹 #n에 속한 참가자들간 중계 경로 생성 결과를 나타낸다. 이 때, 실선으로 나타난 화살표는 참가자의 내부 연결자를 상징하고, 점선으로 나타난 화살표는 참가자의 외부 연결자를 상징한다. 도 2의 (b)를 참조하면, 대표참가자인 '참가자 #1'과 '참가자 #2'를 제외한 참가자들('참가자 #3', '참가자 #4', '참가자 #5', '참가자 #6', '참가자 #7', …)간에 2진 트리 형태의 중계경로를 생성한 후, 차선 대표참가자(참가자 #2)의 내부 연결자에 의해 그 중계 경로의 최상위 노드에 위치한 참가자(참가자 #3)와 차선 대표참가자(참자가 #2)간 중계경로를 생성하고, 우선 대표참가자(참가자 #1)의 내부 연결자에 의해 우선 대표참가자(참가자 #1)와 차선 대표참가자(참가자 #2)간 중계경로를 생성한다.
도 1b는 본 발명의 일 실시예에 따라 소속집합 내 중계경로를 생성하는 과정에 대한 처리 흐름도이다.
도 1b를 참조하면, 우선 소속집합 내에 포함된 다수의 게이트웨이들을 각 게이트웨이의 홉수에 대한 오름차순으로 정렬한다(s510). 이 때, 홉수는 해당 게이트웨이로부터 서브네트그룹까지 거치는 경로를 일컫는 것으로서, 만일, 해당 소속집합(A) 내의 게이트웨이(G)가 하위에 다수의 게이트웨이(g)를 포함하는 다른 소속집합(a)을 포함할 경우, 그 하위 소속집합(a)의 각 게이트웨이(g) 경로들 중 홉수가 적은 두 경로의 평균값을 해당 게이트웨이(G)의 홉수로 계산한다.
그리고, 상기 홉수에 의해 소속집합 내의 게이트웨이들을 정렬하였으면, 소속집합에 포함된 게이트웨이들의 개수에 의거하여, 해당 소속집합의 각 게이트웨이별로 중계 경로 형성에 필요한 가상 연결자의 개수를 할당한다(s520).
이 때, 각 게이트웨이들은 2진 트리 형태의 중계 경로를 가지게 되므로, 각각 최대 2개의 가상 연결자를 사용하는 것이 가능하다. 따라서, 만일, 소속집합 내에 4개의 게이트웨이가 포함되었다면, 게이트웨이 정렬에 의한 첫 번째 게이트웨이는 두 번째와 세 번째 게이트웨이에게 중계를 하고, 두 번째 게이트웨이는 네 번째 게이트웨이에게 중계를 하여야 한다. 따라서, 첫 번째 게이트웨이는 2개의 가상 연결자가 필요하고, 두 번째 게이트웨이는 1개의 가상 연결자가 필요하게 되며, 나머지 세 번째와 네 번째 게이트웨이는 가상 연결자가 필요없는 것이다.
그런데, 만일, 해당 소속집합의 상위 게이트웨이로부터 가상 연결자를 요청받은 경우 각 게이트웨이들은 그 상위 게이트웨이의 요청을 우선적으로 처리한다. 즉, 그 소속집합 내의 게이트웨이들 중 홉수가 가장 적은 두 개의 게이트웨이는 상위 게이트웨이의 요청에 응답하기 위한 가상 연결자를 우선적으로 할당한다. 즉, 소속집합 내에 4개의 게이트웨이가 포함되어 있고, 상위 게이트웨이로부터 1개의가상 연결자를 요청받았다면, 첫 번째 게이트웨이는 두 개의 가상 연결자를 필요로 하며, 그 하나는 상위 게이트웨이에게 전달하고, 나머지 하나에 의해 두 번째 게이트웨이로 중계를 위한 중계 경로를 생성한다. 그리고, 두 번째 게이트 웨이가 세 번째 게이트웨이와 네 번째 게이트웨이로 중계를 위한 2개의 가상 연결자를 필요로 한다.
이 때, 각 게이트웨이별로 필요한 가상 연결자는 그 게이트웨이별로 하위에 연결된 게이트웨이 또는 소속집합으로 요청하여 충당하게 된다. 즉, 하위 레벨의 게이트웨이 또는 소속집합에게 자신이 필요한 개수만큼의 가상 연결자를 요청하고(s530), 그 요청에 대한 응답으로 하위 레벨에 연결된 게이트웨이 또는 소속집합으로부터 가상 연결자가 전달되면, 그 가상 연결자에 의해 소속집합 내의 게이트웨이들간 2진 트리 형태의 중계 경로를 생성한다(s540).
즉, 해당 소속집합에서 상위 게이트웨이의 요청에 응답하기 위한 가상 연결자를 할당받은 게이트웨이를 제외한 게이트웨이들 중 n번째에 위치한 게이트웨이로부터 2n번째에 위치한 게이트웨이 및 (2n+1)번째에 위치한 게이트웨이로 연결되는 중계경로를 생성한다. 만일, 소속집합에 4개의 게이트웨이를 포함하고, 그 상위 게이트웨이가 하나의 가상 연결자를 요청한 경우, 첫 번째 게이트웨이는 2개의 가상 연결자를 요청하여, 그 중 하나는 상위의 게이트웨이로 전달하고, 나머지 하나에 의해 두 번째 게이트웨이와 중계 경로를 형성하여야 하므로, 두 번째에 위치한 게이트웨이를 '1'번째 게이트웨이로 가정하여, 상기 과정을 수행한다. 즉, 두 번째 위치한 게이트웨이로부터 세 번째와 네 번째에 위치한 게이트웨이로 연결되는 중계경로를 생성하는 것이다.
도 1c는 본 발명의 일 실시예에 따라 참가자 추가에 따른 중계경로를 변경하는 과정에 대한 처리 흐름도이다. 상기 과정에 의해 일단 중계 경로가 생성된 다음에 새롭게 추가되는 참가자가 발생할 경우, 새로운 참가자의 접속경로 및 이전에 접속한 이전 참가자들의 접속 경로에 의거하여 이전 참가자들 중 새로운 참가자와 가장 인접한 이전 참가자를 검색하고, 상기 검색된 이전 참가자와 새로운 참가자간 중계 경로를 생성한다.
도 1c를 참조하면, 우선 새로운 참가자의 접속 경로를 분석하여(s720), 그 새로운 참가자가 기 등록된 서브네트그룹의 참가자인지의 여부를 판별한다(s730).
상기 판별(s720)결과, 새로운 참가자가 기 등록된 서브네트그룹의 참가자인 경우, 상기 새로운 참가자가 속하는 서브네트그룹의 참가자 정보 리스트를 갱신한다(s770). 즉, 그 참가자가 속하는 서브네트그룹의 참가자 정보 리스트의 맨 마지막 위치에 해당 참가자 정보를 추가한다. 그리고, 새로운 참가자가 추가된 위치가 참가자 정보 리스트의 대표참가자를 제외한 참가자들 중 몇 번째 위치인지를 판단한 후, 그 위치를 '2'로 나눈 정수값(k)를 취하여, 그 정수값(k)에 해당하는 위치의 참가자와 새로운 참가자간의 중계경로를 생성한다(s780).
도 2의 예에서, 새로운 참가자는 참가자 정보 리스트의 맨 마지막 위치인 8번째에 추가되며, 그 참가자 정보 리스트의 대표참가자를 제외한 참가자들 중 6번째에 위치하므로, 그 위치를 '2'로 나누면, 상기 정수값(k)은 '3'이 된다. 따라서, 대표참가자를 제외한 참가자들 중 3번째 참가자와 중계경로를 생성한다. 즉, 새로운 참가자와 5번째 참가자(참가자#5)간 중계경로를 생성한다.
한편, 상기 판별(s720)결과, 새로운 참가자가 기 등록된 서브네트그룹의 참가자가 아닌 경우, 우선 그 참가자가 속한 서브네트그룹 및 통과 게이트웨이들을 다중 전송 경로에 등록하는 일련의 과정을 수행한다.
즉, 상기 새로운 참가자에게 해당 서브네트그룹 내부의 참가자들과 중계경로를 생성하기 위한 내부 연결자 및 다른 서브네트그룹의 참가자들과 중계경로를 생성하기 위한 외부 연결자를 각각 부여한다(s730). 그리고, 새로운 참가자의 접속경로 정보에 의거하여 레벨별 소속집합을 갱신한다(s740). 즉, 새로운 참가자의 접속경로에 포함된 통과 게이트웨이들과 데이터 서버간의 연결 경로상의 순위에 의거하여 각 통과 게이트웨이들에 대한 레벨을 분류하고, 각 레벨의 소속집합에 새로운 참가자의 통과 게이트웨이가 추가되어야 하는 경우, 해당 소속집합에 새로운 참가자의 통과 게이트웨이를 추가한다. 그리고, 상기 새로운 참가자의 통과 게이트웨이가 추가된 소속집합을 각 게이트웨이들의 홉수에 대한 오름차순으로 재정렬한다(s750). 마지막으로, 상기 재정렬된 소속집합과 인접한 게이트웨이 및 소속집합의 중계경로를 변경한다(s760).
도 1d는 본 발명의 일 실시예에 따라 참가자 탈퇴에 따른 중계경로를 변경하는 과정에 대한 처리 흐름도이다. 도 1d를 참조하면, 상기 참가자들 중 다중전송을 탈퇴하고자 하는 참가자가 발생할 경우, 상기 탈퇴하고자 하는 참가자를 그 참가자가 포함된 참가자 정보 리스트에서 삭제하고, 해당 참가자 정보 리스트의 맨 마지막에 위치한 참가자 정보를 해당 참가자의 위치로 이동한다(s910). 그리고, 그 위치에 인접한 참가자들의 중계경로를 변경한다(s920). 도 2의 예에서, 만일 '참가자 #4'가 탈퇴하고자 하는 경우, 그 참가자 정보 리스트에서 '참가자 #4'를 삭제하고, 맨 마지막에 위치한 '참가자 #7'을 '참가자 #4'의 위치로 이동시킨다. 따라서, '참가자 #4'와 인접한 '참가자 #3', '참가자 #6' 및 '참가자 #7'의 중계경로만 변동될 뿐 다른 서브네트그룹의 참가자나 해당 서브네트그룹의 다른 참가자들의 중계경로는 이전 상태를 유지하게 된다. 즉, 임의의 참가자가 탈퇴하고자 할 경우 전체 중계경로 중 극히 일부분만이 변동될 뿐이다.
다만 이 때, 만일 탈퇴하고자 하는 참가자가 해당 서브네트그룹의 대표참가자인 경우(s930)는 상위 인접 게이트웨이 정보의 가상 연결자 및 그에 따른 인접 경로를 변경하는 과정을 더 수행하여야 한다(s940, s950). 이는 대표참가자 별로 부여된 외부 연결자에 의해 해당 서브네트그룹과 상위 인접 게이트웨이들간 중계 경로를 생성하기 때문이다.
도 3은 본 발명의 일 실시예에 따라 다중전송 참가자들의 접속경로에 포함된 통과 게이트웨이들을 정렬한 상태를 예시적으로 나타낸 도면이다.
도 3은 통과 게이트웨이들을 데이터 서버와의 연결경로상의 순서에 의해 정렬한 결과이다. 도 3을 참조하면, 게이트웨이 #2 내지 게이트웨이 #5(202 내지 205)는 게이트웨이#1(201)의 소속집합(201A)으로 분류되고, 게이트웨이 #7 내지 게이트웨이 #9(207 내지 209)는 게이트웨이 #3(203)의 소속집합(203A)로 분류된다.
이 때, 상기 소속집합(201A) 및 소속집합(203A)은 홉수에 의해 정렬된 상태이다. 이는 2진 트리 구조상에서 참가자의 접속 경로를 최소화함으로써 데이터의전송 효율을 높이기 위함이다.
홉수를 계산하기 위해서는 각 게이트웨이별로 해당 게이트웨이가 서브네트그룹 까지 거치는 단계들에 대한 평균값을 취하는데, 이 때 서브네트그룹까지 가는 모든 경로에 대한 홉수를 계산하는 것이 아니고, 홉수가 적은 두 개의 경로에 대한 홉수의 평균을 구한다.
예를 들어, 게이트웨이 #2(202)의 경우, 게이트웨이 #2(202)와 서브네트그룹 #1(301)간의 홉수를 '1'로 하고, 게이트웨이 #2(202)와 서브네트그룹 #2(302)간의 홉수를 '2'로 하여 평균값을 취하면, 게이트웨이 #2(202)의 홉수는 '1.5'가 된다.
이와 같은 과정에 의해 홉수를 계산한 결과, 게이트웨이 #2(202)의 홉수는 '1.5'이고, 게이트웨이 #3(203)의 홉수는 '2'이고, 게이트웨이 #4(204)와 게이트웨이 #5(205)의 홉수는 각각 '3'이 된다.
도 4는 본 발명의 일 실시예에 따라 하위 레벨의 게이트웨이 또는 소속집합으로부터 중계경로 형성에 필요한 가상 연결자를 전달받는 과정을 예시적으로 나타낸 도면이다. 즉, 도 3과 같은 형태로 정렬된 각 게이트웨이 및 서브네트그룹들간 중계 경로 형성을 위해 가상 연결자를 전달하는 과정을 설명하기 위한 도면이다.
이를 위해 우선, 각 서브네트그룹들(301 내지 307)은 그 서브네트그룹에 속한 참가자들 중 대표참가자를 각각 선정하고, 그 대표참가자들을 가상 연결자로 가지는 가상 게이트웨이를 생성하여, 상기 정렬된 경로상에 가상적으로 추가한다.
이와 같은 가상 게이트웨이가 추가된 가상 경로를 도 4와 같이 표현하였다. 도 4에서 게이트웨이 #1은 G1로, 게이트웨이 #13은 G13으로 표기하였으며, 서브네트그룹 #1의 가상 게이트웨이는 VG1로, 서브네트그룹 #n의 가상 게이트웨이는 VGn으로 표기하였다. 또한, 각 게이트웨이의 하단에는 가상 연결자를 표시하기 위한 공간을 확보하고, 각 가상 게이트웨이는 대표참가자들의 외부연결자를 가상 연결자로 가지는데, 도 4에서는 VG1의 가상 연결자는 11과 12로, VGn의 가상 연결자는 n1과 n2로 표시하였다.
도 4를 참조하면, 우선 G1(201)의 경우 해당 소속집합 내에 G1(201) 하나의 게이트웨이를 포함하므로, 해당 소속집합 내의 게이트웨이들간 중계 경로 생성을 위한 가상 연결자가 필요없다.
한편, G1(201)의 하위 소속집합은 4개의 게이트웨이들(G2(202), G3(203), G4(204), G5(205))을 포함하므로, 그들간 중계경로를 생성하여야 하는데, 우선 가장 앞에 오는 G2(202)의 경우, G2(202)와 G3(203) 및 G4(204)간 중계경로 생성을 위한 2개의 가상 연결자가 필요하고, G3(203)의 경우, G3(203)과 G5(205)간 중계경로 생성을 위한 1개의 가상 연결자가 필요하다.
따라서, G2(202)는 자신의 하위 소속집합을 구성하는 VG1(301v)과, G6(206)에게 각각 하나씩의 가상 연결자를 요청한다. 그러면, VG1(301v)는 자신이 직접 가상 연결자를 가지고 있으므로, '11'이라는 가상 연결자를 G2(202)에게 전달한다. 한편 G6(206)은 자신의 하위 레벨에 연결된 VG2(302v)로부터 '21'이라는 가상 연결자를 제공받아 상위의 G2(202)에게 전달한다.
그리고, VG2(302v)의 '21'은 VG1(301v)의 '12'로부터 데이터를 중계받는다. 즉, VG1(301v)의 '12'과 VG2(302v)의 '21'간 중계경로가 생성된다.
한편, G3(203)은 1개의 가상 연결자가 필요하므로, 자신의 하위 소속집합을 구성하는 게이트웨이들 중 가장 선두에 있는 G7(207)에게 하나의 가상 연결자를 요청한다. 한편, G3(203)의 소속집합은 3개의 게이트웨이들(G7(207), G8(208), G9(209))를 포함하므로, 그들간 중계경로를 생성하여야 하는데, G7(207)의 가상 연결자를 상위(G3(203))로 전달하여야 하므로, G7(207)는 상위로 전달할 가상 연결자 하나와 소속집합 내의 중계경로를 생성하기 위해서는 가상 연결자 하나, 즉, 2개의 가상 연결자가 필요하다. 그러므로, G7(207)은 그 하위 레벨에 연결된 VG3(303v)에게 2개의 가상 연결자를 요청하고, 그로부터 '31' 및 '32'라는 가상 연결자를 제공받아 '31'은 상위(G3(203))으로 전달하고, '32'에 의해 소속집합 내의 게이트웨이인 G8(208)과의 중계 경로를 생성한다.
이 때, G8(208)은 G9(209)와의 중계경로 생성을 위한 가상 연결자를 하위 레벨에 연결된 VG4(304v)에게 요청하여 '41'이라는 가상 연결자를 제공받으며, '41'에 의해 G8(208)과 G9(209)간 중계경로를 생성한다. 즉, '41'과 G9(209)의 하위 레벨에 연결된 VG5(305v)의 '51'간 중계경로가 생성된다.
한편, G4(204)는 G2(202)의 가상 연결자인 '21'로부터 데이터를 중계받아 하위 레벨에 연결된 VG6(306v)의 '61'로 데이터로 전달한다. 즉, '21'과 '61'간 중계 경로가 생성된다.
또한, G5(205)는 G3(203)의 가상 연결자인 '31'로부터 데이터를 중계받아 하위 레벨에 연결된 VGn(307n)의 'n1'로 데이터를 전달한다. 즉, '31'과 'n1'간 중계 경로가 생성된다.
도 5는 본 발명의 일 실시예에 따라 도 3의 예에 나타난 통과 게이트웨이 및 서브네트그룹들에 대한 중계경로를 생성한 결과를 나타낸 도면으로서, 상기 과정 수행 결과 각 서브네트그룹의 대표참가자들간 중계 경로 생성 결과를 나타낸다. 이 때, 점선은 외부 연결자를 나타내고, 실선은 내부 연결자를 나타낸다.
도 6a 내지 도 9c는 다중 전송 참가자의 추가 및 탈퇴시 본 발명의 일 실시예에 따라 중계경로를 변경하는 처리 과정 및 처리 결과에 대한 예를 나타낸 도면들로서, 도 6a 내지 도 6c는 본 발명의 실시예에 의해 최초의 한 참가자를 추가하는 과정을 나타내고, 도 7a 내지 도 7c는 참가자를 추가하는 과정을 나타내고, 도 8은 도 7c까지 수행한 결과 최종적으로 생성된 중계경로에 대한 결과를 나타내고, 도 9a 내지 도 9c는 탈퇴 참가자가 발생한 경우, 해당 참가자를 삭제하는 과정을 나타낸다.
우선, 도 6a와 같이 게이트웨이A(G-A), 게이트웨이B(G-B), 게이트웨이C(G-C)를 통과하고, 서브네트그룹a(Sub-a)에 속하는 참가자(100)가 최초로 다중 전송에 참가하는 경우, 도 6b와 같이 각 레벨별 게이트웨이 및 각 게이트웨이들의 가상 연결자 정보를 관리하는 데이터베이스를 생성한다. 도 6b의 (a) 내지 (c)는 각 레벨의 게이트웨이를 관리하기 위한 데이터베이스이고, 도 6b의 (d)는 서브네트그룹에 대한 가상 게이트웨이를 관리하기 위한 데이터베이스이고, 도 6b의 (e)는 서브네트그룹의 참가자 정보 리스트를 관리하기 위한 데이터베이스이다.
도 6b를 참조하면, 현재는 한명의 참가자(100)만이 다중 전송에 참가하였으므로, 모든 게이트웨이의 가상 연결자들은 '100'가 되며, 도 6c에 도시된 바와 같은 경로에 의해 데이터서버로부터 참가자(100)으로 직접 데이터가 전달된다.
한편, 도 7a에 나타난 바와 같이 6명의 참가자가 순차적으로 추가된 경우, 그 참가자들의 접속 경로에 포함된 통과 게이트웨이를 관리하기 위한 데이터베이스는 도 7b와 같다.
도 7b(a)내지 (c)는 각 통과 게이트웨이의 레벨별 게이트웨이를 관리하기 위한 데이터베이스이고, 도 7b(d)내지 (i)는 각 참가자들이 속한 서브네트그룹들에 대한 가상 게이트웨이를 관리하기 위한 데이터베이스이고, 도 7b(j)내지 (o)는 각 서브네트그룹별 참가자 정보 리스트를 관리하기 위한 데이터베이스이다.
이 때, 상기 레벨별 게이트웨이를 관리하기 위한 데이터베이스의 경우, 각 게이트웨이의 홉수에 의해 정렬된 결과를 관리하며, 그 정렬된 결과에 의해 첫 번째와 두 번째에 위치한 게이트웨이의 가상 연결자 중 하나의 가상 연결자가 상위 레벨의 첫 번째 게이트웨이의 가상 연결자로 전달된다.
도 7c는 각 참가자들의 통과 게이트웨이 및 가상 게이트웨이들과 서브네트그룹들의 연결 경로를 전체적으로 도시한 도면이다. 각 참가자들은 그 참가 순서와는 무관하게 해당 통과 게이트웨이들의 정렬 순서에 의해 데이터 전달 경로가 결정됨을 알 수 있다. 이는 새로운 참가자의 추가시 해당 참가자와 인접한 참가자를 검색하여, 그 참가자와의 중계 경로를 생성한 결과에 의한 것이다.
도 8은 도 7c까지 수행한 결과 최종적으로 생성된 중계경로에 대한 결과를 나타낸 것으로서, 도 8을 참조하면, 홉수가 가장 짧은 게이트웨이를 통과하는 참가자(400)가 데이터 서버로부터 데이터를 직접 전달받은 후, 그와 인접한 순서에 의해 각 참가자들에게 해당 데이터를 중계하도록 중계경로가 형성되어 있다.
도 9a 내지 도 9c는 도 7a 내지 도 7c에서 탈퇴 참가자가 발생한 경우에 대한 예시도이다. 즉, 참가자(500)이 탈퇴한 경우에 대한 예를 나타낸 것으로서, 도 9a는 참가자(500)이 탈퇴한 후 해당 참가자의 통과 게이트웨이를 삭제한 후 재정렬된 데이터베이스 상태를 나타내고, 도 9b는 참가자(500)이 탈퇴한 후, 변경된 연결 경로를 나타내고, 도 9c는 참가자(500)이 탈퇴한 후 변경된 중계 경로를 나타낸다.
이상의 설명은 하나의 실시예를 설명한 것에 불과한 것으로서, 본 발명은 상술한 실시예에 한정되지 않으며 첨부한 특허청구범위 내에서 다양하게 변경 가능하다. 예를 들어 본 발명의 실시예에 구체적으로 나타난 각 구성 요소의 형상 및 구조는 변형하여 실시할 수 있다.
본 발명은 다중 전송 참가자들의 초기 접속 분석 결과에 의거하여 2진 트리 형태의 중계경로를 생성하도록 함으로써, 불특정 다수의 동시 접속자가 발생시에도 연결 경로의 관리가 용이하며, 다중 전송 참가자들의 추가 및 탈퇴에 따른 중계 경로의 변화를 최소화할 수 있다는 장점이 있다. 따라서, 상위 참가자의 접속 이탈시에도, 그 하위에 있는 수많은 수신자들의 접속 상태 및 데이터 전송의 신뢰성을 보장할 수 있다.
즉, 다중 전송 참가자들의 동시 접속자 수에 제한을 받지 않고 그 참가자들간 데이터 중계를 용이하게 할 수 있도록 하며, 또한, 참가자들을 체계적으로 관리할 수 있다는 장점이 있다.

Claims (13)

  1. 불특정 다수의 사용자들에게 소정의 데이터를 제공하기 위한 다중전송 참가자들간 중계경로 생성방법에 있어서,
    다중전송에 참가하고자 하는 참가자들의 접속 경로를 분석하는 제1 과정과,
    상기 각 참가자들이 속한 서브네트그룹별로 해당 서브네트그룹에 속한 참가자들간에 2진 트리 형태의 중계경로를 생성하는 제2 과정과,
    상기 접속 경로에 포함된 참가자들의 통과 게이트웨이들을 데이터 서버와의 연결 경로상의 순서에 의거하여 정렬하는 제3 과정과,
    상기 정렬에 의해 동일 레벨로 분류된 게이트웨이들 중 동일한 상위 게이트웨이와 연결된 게이트웨이들을 그 상위 게이트웨이의 소속집합으로 분류하는 제4 과정과,
    상기 소속집합 내의 게이트웨이들이 해당 서브네트그룹까지 거치는 홉수를 계산한 후, 상대적으로 더 적은 홉수를 가지는 게이트웨이로부터 더 큰 홉수를 가지는 게이트웨이 방향으로 2진 트리 형태의 중계 경로를 생성하는 제5 과정을 포함하는 것을 특징으로 하는 다중전송 참가자들간 중계경로 생성방법.
  2. 제1항에 있어서, 상기 제2 과정은
    상기 각 참가자들이 속한 서브네트그룹별로 다중 전송에 참가한 참가자들의 참가 순서에 의해 참가자들을 정렬한 참가자 정보 리스트를 생성하는 제2-1 과정과,
    상기 참가자 정보 리스트에 의해 다중 전송에 가장 먼저 참가한 복수의 참가자들을 대표참가자로 선정하는 제2-2 과정과,
    그 대표참가자들에게 해당 서브네트그룹 내부의 참가자들과 중계경로를 생성하기 위한 내부 연결자 및 다른 서브네트그룹의 참가자들과 중계경로를 생성하기 위한 외부 연결자를 각각 부여하는 제2-3 과정과,
    각 서브네트그룹에 포함된 참가자들 중 대표참가자로 선정된 참가자들을 제외한 나머지 참가자들간 2진 트리 형태의 중계 경로를 생성하는 제2-4 과정과,
    상기 대표참가자들의 내부 연결자에 의해, 상기 대표참가자들 및 2진 트리 형태의 최상위 노드에 위치한 참가자간 중계 경로를 생성하는 제2-5 과정을 포함하는 것을 특징으로 하는 다중전송 참가자들간 중계경로 생성방법.
  3. 제2항에 있어서, 상기 제2-4 과정은
    상기 참가자 정보 리스트에서 대표참가자를 제외한 참가자들 중 n번째에 위치한 참가자로부터 2n번째에 위치한 참가자 및 (2n+1)번째에 위치한 참가자로 연결되는 중계경로를 생성하는 것을 특징으로 하는 다중전송 참가자들간 중계경로 생성방법.
  4. 제1항에 있어서, 상기 제5 과정은
    상기 소속집합(A) 내의 게이트웨이(G)가 하위에 다수의 게이트웨이(g)를 포함하는 다른 소속집합(a)을 포함할 경우, 그 하위 소속집합(a)의 각 게이트웨이(g) 경로들 중 홉수가 적은 두 경로의 평균값을 해당 게이트웨이(G)의 홉수로 계산하는 것을 특징으로 하는 다중전송 참가자들간 중계경로 생성방법.
  5. 제1항에 있어서, 상기 제5 과정은
    소속집합 내의 게이트웨이들을 각 게이트웨이의 홉수에 대한 오름차순으로 정렬하는 제5-1 과정과,
    소속집합에 포함된 게이트웨이들의 개수에 의거하여, 해당 소속집합의 각 게이트웨이별로 중계 경로 형성에 필요한 가상 연결자의 개수를 할당하는 제5-2 과정과,
    상기 가상 연결자의 개수가 할당된 게이트웨이들이 그 게이트웨이의 하위 레벨에 연결된 게이트웨이 또는 소속집합에게 해당 개수의 가상 연결자를 요청하는 제5-3 과정과,
    상기 요청에 대한 응답으로 하위 레벨에 연결된 게이트웨이 또는 소속집합으로부터 전달된 가상 연결자에 의해 소속집합 내의 게이트웨이들간 2진 트리 형태의 중계 경로를 생성하는 제5-4 과정을 포함하는 것을 특징으로 하는 다중전송 참가자들간 중계경로 생성방법.
  6. 제5항에 있어서, 상기 제5-2 과정은
    각 게이트웨이별로 최대 2개의 가상 연결자를 할당하는 것을 특징으로 하는다중전송 참가자들간 중계경로 생성방법.
  7. 제5항에 있어서, 상기 제5-2 과정은
    해당 소속집합의 상위 게이트웨이로부터 가상 연결자를 요청받은 경우,
    그 소속집합 내의 게이트웨이들 중 홉수가 가장 적은 두 개의 게이트웨이는 상위 게이트웨이의 요청에 응답하기 위한 가상 연결자를 우선적으로 할당하는 것을 특징으로 하는 다중전송 참가자들간 중계경로 생성방법.
  8. 제2항 또는 제5항에 있어서, 상기 제5-3 과정은
    해당 게이트웨이의 하위에 서브네트그룹이 연결된 경우, 그 서브네트그룹의 대표참가자로 설정된 참가자의 외부 연결자를 요청하는 것을 특징으로 하는 다중전송 참가자들간 중계경로 생성방법.
  9. 제5항 또는 제7항에 있어서, 상기 제5-4 과정은
    해당 소속집합에서 상위 게이트웨이의 요청에 응답하기 위한 가상 연결자를 할당받은 게이트웨이를 제외한 게이트웨이들 중 n번째에 위치한 게이트웨이로부터 2n번째에 위치한 게이트웨이 및 (2n+1)번째에 위치한 게이트웨이로 연결되는 중계경로를 생성하는 것을 특징으로 하는 다중전송 참가자들간 중계경로 생성방법.
  10. 제1항에 있어서,
    다중전송에 참가하고자 하는 새로운 참가자가 발생할 경우, 새로운 참가자의 접속경로 및 이전에 접속한 이전 참가자들의 접속 경로에 의거하여 이전 참가자들 중 새로운 참가자와 가장 인접한 이전 참가자를 검색하고, 상기 검색된 이전 참가자와 새로운 참가자간 중계 경로를 생성하는 제6 과정을 더 포함하는 것을 특징으로 하는 다중전송 참가자들간 중계경로 생성방법.
  11. 제2항 또는 제10항에 있어서, 상기 제6 과정은
    상기 새로운 참가자가 속하는 서브네트그룹의 참가자 정보 리스트 맨 마지막 위치에 해당 참가자 정보를 추가하고, 상기 새로운 참가자가 추가된 위치가 참가자 정보 리스트의 대표참가자를 제외한 참가자들 중 몇번째 위치인지를 판단한 후, 그 위치를 '2'로 나눈 정수값(k)를 취하여, 그 정수값(k)에 해당하는 위치의 참가자와 새로운 참가자간의 중계경로를 생성하는 것을 특징으로 하는 다중전송 참가자들간 중계경로 생성방법.
  12. 제2항 또는 제10항에 있어서, 상기 제6 과정은
    상기 새로운 참가자가 속하는 서브네트그룹에서 이전에 다중 전송에 참가한 사람이 없는 경우,
    상기 새로운 참가자에게 해당 서브네트그룹 내부의 참가자들과 중계경로를 생성하기 위한 내부 연결자 및 다른 서브네트그룹의 참가자들과 중계경로를 생성하기 위한 외부 연결자를 각각 부여하는 제6-1 과정과,
    새로운 참가자의 접속경로에 포함된 통과 게이트웨이들과 데이터 서버간의 연결 경로상의 순위에 의거하여 각 통과 게이트웨이들에 대한 레벨을 분류하고, 각 레벨의 소속집합에 새로운 참가자의 통과 게이트웨이가 추가되어야 하는 경우, 해당 소속집합에 새로운 참가자의 통과 게이트웨이를 추가하는 제6-2 과정과,
    상기 새로운 참가자의 통과 게이트웨이가 추가된 소속집합에 포함된 모든 게이트웨이들이 해당 서브네트그룹까지 거치는 홉수를 계산하여 각 게이트웨이들을 홉수에 대한 오름차순으로 재정렬하는 제6-3 과정과,
    상기 재정렬된 소속집합과 인접한 게이트웨이 및 소속집합의 중계경로를 변경하는 제6-4 과정을 포함하는 것을 특징으로 하는 다중전송 참가자들간 중계경로 생성방법.
  13. 제1항 또는 제2항에 있어서,
    상기 참가자들 중 다중전송을 종료하고자 하는 참가자가 발생할 경우,
    상기 다중전송을 종료하고자 하는 참가자가 속한 서브네트그룹의 참가자 정보 리스트의 맨 마지막에 위치한 참가자 정보를 해당 참가자의 위치로 이동하고, 그 위치에 인접한 참가자들의 중계 경로를 변경하는 제7 과정을 더 포함하는 것을 특징으로 하는 다중 전송 참가자들간 중계경로 생성방법.
KR10-2001-0054703A 2001-09-06 2001-09-06 다중전송을 위한 중계경로 생성방법 KR100418562B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR10-2001-0054703A KR100418562B1 (ko) 2001-09-06 2001-09-06 다중전송을 위한 중계경로 생성방법
PCT/KR2002/001688 WO2003021882A1 (en) 2001-09-06 2002-09-06 Method for generating casting path among participants for multicasting
US10/488,375 US7315516B2 (en) 2001-09-06 2002-09-06 Method for generating casting path among participants for multicasting
EP02775574A EP1430655A4 (en) 2001-09-06 2002-09-06 CREATING DIFFUSION PATHWAYS BETWEEN MULTI-BROADCAST PARTICIPANTS
JP2003526089A JP3836842B2 (ja) 2001-09-06 2002-09-06 多重伝送参加者の間の中継経路生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0054703A KR100418562B1 (ko) 2001-09-06 2001-09-06 다중전송을 위한 중계경로 생성방법

Publications (2)

Publication Number Publication Date
KR20030021428A KR20030021428A (ko) 2003-03-15
KR100418562B1 true KR100418562B1 (ko) 2004-02-14

Family

ID=19714001

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0054703A KR100418562B1 (ko) 2001-09-06 2001-09-06 다중전송을 위한 중계경로 생성방법

Country Status (5)

Country Link
US (1) US7315516B2 (ko)
EP (1) EP1430655A4 (ko)
JP (1) JP3836842B2 (ko)
KR (1) KR100418562B1 (ko)
WO (1) WO2003021882A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716586B2 (en) * 2006-02-17 2010-05-11 International Business Machines Corporation Apparatus, system, and method for progressively disclosing information in support of information technology system visualization and management
JP5260864B2 (ja) * 2006-12-07 2013-08-14 Necディスプレイソリューションズ株式会社 プロジェクター、端末、会議システム、ツリー構造切替え方法およびプログラム
KR100828125B1 (ko) * 2007-02-15 2008-05-08 재단법인서울대학교산학협력재단 논리 키 계층 구조에서 효율적인 트리구조 결정 방법 및트리구조의 성능 분석 방법
US20130305344A1 (en) * 2012-05-14 2013-11-14 Alcatel-Lucent India Limited Enterprise network services over distributed clouds

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980087398A (ko) * 1997-05-30 1998-12-05 포맨 제프리 엘 인터넷에서의 동적 경로배정 방법 및 장치
KR19990022851A (ko) * 1996-04-12 1999-03-25 리우 다다미쓰 통신 장치 및 통신 방법
JP2000115243A (ja) * 1998-10-05 2000-04-21 Hitachi Ltd パケット中継装置およびマルチキャスト高速化方式
KR20000034140A (ko) * 1998-11-27 2000-06-15 이계철 비동기 전송모드망에서의 멀티캐스트 경로설정방법
KR20020047749A (ko) * 2000-12-14 2002-06-22 오길록 Ip 멀티캐스트 전송망에서의 지역적 경로 배정 방법
KR20020052567A (ko) * 2000-12-26 2002-07-04 오길록 통신속도 향상을 위한 이기종망간 게이트웨이 및 그에따른 자원 할당방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355371A (en) * 1982-06-18 1994-10-11 International Business Machines Corp. Multicast communication tree creation and control method and apparatus
ATE210907T1 (de) 1992-11-19 2001-12-15 Ibm Funktionsverteilung im paketvermittlungsnetz
US5671222A (en) * 1994-06-06 1997-09-23 Lucent Technologies Inc. Multicast routing in self-routing multistage networks
KR100194608B1 (ko) 1996-11-20 1999-06-15 이계철 Atm 통신망에서의 멀티캐스트 경로 할당방법
US5946316A (en) * 1997-01-17 1999-08-31 Lucent Technologies, Inc. Dynamic distributed multicast routing protocol
US6078590A (en) 1997-07-14 2000-06-20 Cisco Technology, Inc. Hierarchical routing knowledge for multicast packet routing
US5926463A (en) * 1997-10-06 1999-07-20 3Com Corporation Method and apparatus for viewing and managing a configuration of a computer network
US6163807A (en) * 1997-11-03 2000-12-19 British Telecommunications Public Limited Company Packet network
US6032194A (en) 1997-12-24 2000-02-29 Cisco Technology, Inc. Method and apparatus for rapidly reconfiguring computer networks
US6061712A (en) * 1998-01-07 2000-05-09 Lucent Technologies, Inc. Method for IP routing table look-up
US6192051B1 (en) * 1999-02-26 2001-02-20 Redstone Communications, Inc. Network router search engine using compressed tree forwarding table
US6707796B1 (en) * 1999-05-07 2004-03-16 Nortel Networks Limited System device and method for reducing forwarding states in a communication system
US6697365B1 (en) * 1999-06-10 2004-02-24 Charles Hayes Messenger Method of listener transmitted broadcasting
US6618755B1 (en) * 1999-12-07 2003-09-09 Watchguard Technologies, Inc. Automatically identifying subnetworks in a network
US6606325B1 (en) * 1999-12-10 2003-08-12 Nortel Networks Limited Fast path forwarding of link state advertisements using multicast addressing
AU2612401A (en) * 1999-12-30 2001-07-16 Computer Associates Think, Inc. Method and apparatus for multi-tiered data multicasting
US7117273B1 (en) * 2000-01-25 2006-10-03 Cisco Technology, Inc. Methods and apparatus for maintaining a map of node relationships for a network
US6591285B1 (en) * 2000-06-16 2003-07-08 Shuo-Yen Robert Li Running-sum adder networks determined by recursive construction of multi-stage networks
US6914894B2 (en) * 2001-05-23 2005-07-05 Pemstar, Inc. Role-based IP multicast addressing in a wireless LAN
US7103054B2 (en) * 2001-07-16 2006-09-05 International Business Machines Corporation Methods and arrangements for building a subsource address multicast distribution tree using point to point routing records

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990022851A (ko) * 1996-04-12 1999-03-25 리우 다다미쓰 통신 장치 및 통신 방법
KR19980087398A (ko) * 1997-05-30 1998-12-05 포맨 제프리 엘 인터넷에서의 동적 경로배정 방법 및 장치
JP2000115243A (ja) * 1998-10-05 2000-04-21 Hitachi Ltd パケット中継装置およびマルチキャスト高速化方式
KR20000034140A (ko) * 1998-11-27 2000-06-15 이계철 비동기 전송모드망에서의 멀티캐스트 경로설정방법
KR20020047749A (ko) * 2000-12-14 2002-06-22 오길록 Ip 멀티캐스트 전송망에서의 지역적 경로 배정 방법
KR20020052567A (ko) * 2000-12-26 2002-07-04 오길록 통신속도 향상을 위한 이기종망간 게이트웨이 및 그에따른 자원 할당방법

Also Published As

Publication number Publication date
US20040213168A1 (en) 2004-10-28
US7315516B2 (en) 2008-01-01
EP1430655A1 (en) 2004-06-23
EP1430655A4 (en) 2007-08-01
JP2005502272A (ja) 2005-01-20
WO2003021882A1 (en) 2003-03-13
KR20030021428A (ko) 2003-03-15
JP3836842B2 (ja) 2006-10-25

Similar Documents

Publication Publication Date Title
US7886039B2 (en) Method and apparatus for providing dynamic group management for distributed interactive applications
CN102045252B (zh) 用于内容连网的自适应多接口使用
US9338079B2 (en) Method of routing multicast traffic
Levine et al. Improving internet multicast with routing labels
CN1491507B (zh) 用于多个主机任意播放路由选择的方法和系统
Estrin et al. A dynamic bootstrap mechanism for rendezvous-based multicast routing
US9948576B2 (en) Mechanism for enabling layer two host addresses to be shielded from the switches in a network
US20030026268A1 (en) Characteristic routing
US20030014391A1 (en) Data distribution
WO2010022767A1 (en) Packet forwarding in a network
US9172550B2 (en) Management of a multicast system in a software-defined network
US9385936B2 (en) Forwarding groups of multicast flows
KR100418562B1 (ko) 다중전송을 위한 중계경로 생성방법
Chang et al. Social VoD: A social feature-based P2P system
JP2002525975A (ja) 階層マルチキャスティング
CN110392090B (zh) 通讯系统及通讯传输方法
JP7091847B2 (ja) データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム
KR100375515B1 (ko) 비동기 전송 모드 망에서 그룹통신을 위한 다중멀티캐스팅 서버 할당 방법
Singh Algorithms for Reliability in Large Scale Structured and Unstructured Peer-to-Peer Overlay Multicast Networks for Live Streaming
Gagliardi A distributed caching system in DTNs
Katabi The use of IP-anycast to construct efficient multicast trees
Bikfalvi Nozzilla: A Novel Peer to Peer Architecture for Video Streaming
CN101273346A (zh) 使用多目的地路由选择并行化对等覆盖
Levine Network support for group communication
Garcia-Luna-Aceves Dean of Graduate Studies and Research

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
O035 Opposition [patent]: request for opposition
O074 Maintenance of registration after opposition [patent]: final registration of opposition
O132 Decision on opposition [patent]
FPAY Annual fee payment

Payment date: 20130131

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140117

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150703

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee