KR20060068418A - Method for controlling overlay multicast system - Google Patents
Method for controlling overlay multicast system Download PDFInfo
- Publication number
- KR20060068418A KR20060068418A KR1020040107107A KR20040107107A KR20060068418A KR 20060068418 A KR20060068418 A KR 20060068418A KR 1020040107107 A KR1020040107107 A KR 1020040107107A KR 20040107107 A KR20040107107 A KR 20040107107A KR 20060068418 A KR20060068418 A KR 20060068418A
- Authority
- KR
- South Korea
- Prior art keywords
- multicast
- agent
- agents
- multicast agent
- root
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1859—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 오버레이 멀티캐스트 시스템의 제어방법에 관한 발명이다. 특히, 다수의 송신자와 다수의 수신자가 존재하는 다자간 통신을 위하여 효율적인 오버레이 멀티캐스트 제어 트리를 구성하고 관리할 수 있는 오버레이 멀티캐스트 시트템의 제어 방법에 관한 발명이다. The present invention relates to a control method of an overlay multicast system. In particular, the present invention relates to a method for controlling an overlay multicast system capable of constructing and managing an efficient overlay multicast control tree for multi-party communication in which a plurality of senders and a plurality of receivers exist.
본 발명은 복수의 멀티캐스트 에이전트를 포함하는 오버레이 멀티캐스트 시스템의 제어방법에 있어서, (a) 상기 복수의 멀티캐스트 에이전트 중 하나를 루트 멀티캐스트 에이전트로 설정하여 제어 트리를 구축하는 단계, (b) 상기 복수의 멀티캐스트 에이전트 중 상기 루트 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 제어 메시지를 전달하며, 상기 복수의 멀티캐스트 에이전트 중 제 1 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 데이터를 전달하는 단계, 및 (c) 상기 복수의 멀티캐스트 에이전트 중 상기 루트 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 제어 메시지를 전달하며, 상기 복수의 멀티캐스트 에이전트 중 제 1 멀티캐스트 에이전트를 제외한 어느 한 멀티캐스트 에이전트인 제 2 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 데이터를 송신하는 단계를 포함하는 오버레이 멀티캐스트 시스템의 제어방법을 제공한다.The present invention provides a method of controlling an overlay multicast system including a plurality of multicast agents, the method comprising: (a) setting one of the plurality of multicast agents as a root multicast agent to construct a control tree, and (b) A control message is transmitted from the root multicast agent of the plurality of multicast agents to the remaining multicast agents along the tree, and from the first multicast agent of the plurality of multicast agents to the remaining multicast agents along the tree. Forwarding data, and (c) forwarding a control message from the root multicast agent of the plurality of multicast agents to the remaining multicast agents along the tree, wherein the first multicast agent is one of the plurality of multicast agents. excluding A method of controlling an overlay multicast system comprising transmitting data from a second multicast agent, which is a multicast agent, to another multicast agent along the tree.
Description
도 1은 본 발명의 일실시예에 의한 오버레이 멀티캐스트 시스템 및 그 제어 데이터 흐름을 나타내는 도면이다. 1 is a diagram illustrating an overlay multicast system and a control data flow thereof according to an embodiment of the present invention.
도 2는 도 1의 오버레이 멀티캐스트 시스템에 사용된 멀티캐스트 에이전트의 일례를 나타내는 도면이다. FIG. 2 is a diagram illustrating an example of a multicast agent used in the overlay multicast system of FIG. 1.
도 3은 A를 루트 멀티캐스트 에이전트로 하는 제어 트리에서 송신 멀티캐스트 에이전트가 A에서 B로 변경되었을 경우 데이터 및 제어 메시지의 흐름을 나타내는 도면이다. FIG. 3 is a diagram illustrating a flow of data and control messages when a transmitting multicast agent is changed from A to B in a control tree having A as a root multicast agent.
도 4는 생성된 제어 트리에서 루트 멀티캐스트 에이전트가 트리를 탈퇴할 경우 제어 트리를 유연하게 복구하고 유지하는 절차를 설명하기 위한 도면이다. FIG. 4 is a diagram for explaining a procedure of flexibly restoring and maintaining a control tree when the root multicast agent leaves the tree in the generated control tree.
도 5는 도 4의 루트 멀티캐스트 에이전트(Root SMA)의 동작을 순서도로 표현한 것이다. FIG. 5 is a flowchart illustrating the operation of the root multicast agent (Root SMA) of FIG. 4.
본 발명은 오버레이 멀티캐스트 시스템의 제어방법에 관한 발명이다. 특히, 다수의 송신자와 다수의 수신자가 존재하는 다자간 통신을 위하여 효율적인 오버레이 멀티캐스트 제어 트리를 구성하고 관리할 수 있는 오버레이 멀티캐스트 시트템의 제어 방법에 관한 발명이다. The present invention relates to a control method of an overlay multicast system. In particular, the present invention relates to a method for controlling an overlay multicast system capable of constructing and managing an efficient overlay multicast control tree for multi-party communication in which a plurality of senders and a plurality of receivers exist.
다자간 통신 서비스는 다수의 수신자에게 동시에 정보를 전달하는 서비스를 일컫는 것으로써 일 대 다 또는 다 대 다 간의 통신이 있을 수 있다. 기존의 인터넷 멀티캐스트(multicast)가 이러한 서비스를 제공하기 위하여 연구되어 왔다. 그러나, 이러한 전통적인 멀티캐스트 네트워크는 십 여년간 지속적인 연구에도 불구하고 망의 확산이 원활하지 않음에 따라 대안적인 방법이 연구되어 왔다. 이러한 대안적 방법 중 대표적인 오버레이 멀티캐스트(Overlay Multicast)는 네이티브(native) 멀티캐스트 망이 지원되지 않더라도 그룹 통신을 지원하기 위하여 세션 내 참가된 멀티캐스트 에이전트들을 메쉬(mesh) 구조나 트리(tree) 구조로 연결하고, 연결된 구조를 통하여 멀티캐스트 에이전트들 간의 데이터를 전송한다.Multi-party communication service refers to a service that delivers information to multiple recipients simultaneously. There may be one-to-many or many-to-many communication. Existing Internet multicast has been studied to provide such a service. However, such a traditional multicast network has been studied for alternative methods as the network is not spread well despite continuous research for decades. One of the alternative methods, overlay multicast, is a mesh or tree structure of multicast agents in session to support group communication even if native multicast networks are not supported. And transmits data between multicast agents through the connected structure.
이러한 오버레이 멀티캐스트 전송 기술을 통하여 별도의 멀티캐스트 망을 구축하지 않고 현재의 유니캐스트 인터넷 망에서 인터넷 생방송, 원격교육, 화상회의 등 다자간 통신을 지원할 수 있다. 이러한 응용 서비스는 하나의 그룹 내에 하나의 송신 멀티캐스트 에이전트만 존재하여 다수의 멀티캐스트 에이전트에게 데이터를 전송하는 1:N 전송과 하나의 그룹 내에 다수의 송신 멀티캐스트 에이전트가 존재하 여 다수의 멀티캐스트 에이전트에게 데이터를 전송하는 경우로 나눌 수 있다. 현재 인터넷 생방송이나 원격 교육과 같은 1:N 전송 응용 서비스가 널리 확산되고 있고 이 경우 하나의 송신 멀티캐스트 에이전트 중심의 제어 트리를 통하여 손쉽게 오버레이 멀티캐스트 전송을 구축할 수 있다. Such overlay multicast transmission technology can support multi-party communication such as live internet broadcasting, distance education, and video conferencing in the current unicast internet network without establishing a separate multicast network. These application services include 1: N transmission in which only one outgoing multicast agent exists in one group to transmit data to multiple multicast agents, and many outgoing multicast agents exist in one group. It can be divided into the case of sending data to the agent. Currently, 1: N transmission application services such as internet live broadcasting and distance education are spreading widely. In this case, overlay multicast transmission can be easily constructed through a control tree centered on one transmission multicast agent.
그러나, 인터넷 게임이나 화상 회의와 같이 N:N 전송을 제공해야 하는 경우 기존의 방법들은 하나의 제어 트리 위에 전체 참여 멀티캐스트 에이전트를 연결하는 메쉬 구조를 채택함으로써 오버레이 멀티캐스트 전송을 위하여 복잡한 제어 정보를 유지해야 하고, 제어 트리의 변경에 있어서도 메쉬 구조로의 반영을 위하여 추가적인 절차를 거쳐야 한다는 문제점이 있다. However, when it is necessary to provide N: N transmission, such as Internet games or video conferencing, existing methods adopt a mesh structure that connects all participating multicast agents on one control tree to provide complex control information for overlay multicast transmission. There is a problem in that it must be maintained, and an additional procedure is required to reflect the mesh structure even when the control tree is changed.
따라서, 본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은 제어 정보의 복잡도를 감소시키며, 1:N과 N:N을 동시에 지원할 수 있는 유연하고 간편한 오버레이 멀티캐스트 시스템의 제어방법을 제공하는데 있다.
Accordingly, an object of the present invention is to solve the above-described problem, and an object of the present invention is to reduce the complexity of control information, and to provide a flexible and simple method of controlling an overlay multicast system that can simultaneously support 1: N and N: N. To provide.
상술한 목적을 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은 복수의 멀티캐스트 에이전트를 포함하는 오버레이 멀티캐스트 시스템의 제어방법에 있어서, (a) 상기 복수의 멀티캐스트 에이전트 중 하나를 루트 멀티캐스트 에이전트로 설정하여 제어 트리를 구축하는 단계, (b) 상기 복수의 멀티캐스트 에이전트 중 상기 루트 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 제어 메시지를 전달하며, 상기 복수의 멀티캐스트 에이전트 중 제 1 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 데이터를 전달하는 단계, 및 (c) 상기 복수의 멀티캐스트 에이전트 중 상기 루트 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 제어 메시지를 전달하며, 상기 복수의 멀티캐스트 에이전트 중 제 1 멀티캐스트 에이전트를 제외한 어느 한 멀티캐스트 에이전트인 제 2 멀티캐스트 에이전트로부터 상기 트리를 따라 나머지 멀티캐스트 에이전트로 데이터를 송신하는 단계를 포함하는 오버레이 멀티캐스트 시스템의 제어방법을 제공한다.As a technical means for achieving the above object, a first aspect of the present invention is a control method of an overlay multicast system comprising a plurality of multicast agents, (a) one of the plurality of multicast agents to route multi- Establishing a control tree by setting as a cast agent; (b) transmitting a control message from the root multicast agent to the remaining multicast agents along the tree among the plurality of multicast agents, and among the plurality of multicast agents. Forwarding data from the first multicast agent to the remaining multicast agents along the tree; and (c) sending a control message from the root multicast agent to the remaining multicast agents along the tree from among the plurality of multicast agents. Conveying, the plurality A method for controlling an overlay multicast system comprising transmitting data from a second multicast agent which is one of the multicast agents except the first multicast agent to the other multicast agents along the tree. .
이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 그러나, 본 발명의 실시예들은 여러가지 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 상술하는 실시예들로 인하여 한정되는 식으로 해석되어 져서는 안된다. 본 발명의 실시예들은 당업계에서 평균적 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해 제공되는 것이다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, embodiments of the present invention may be modified in various forms, and the scope of the present invention should not be construed as being limited by the embodiments described below. Embodiments of the present invention are provided to more fully explain the present invention to those skilled in the art.
도 1은 본 발명의 일실시예에 의한 오버레이 멀티캐스트 시스템 및 그 제어 데이터 흐름을 나타내는 도면이다. 1 is a diagram illustrating an overlay multicast system and a control data flow thereof according to an embodiment of the present invention.
도 1을 참조하면, 오버레이 멀티캐스트 시스템은 세션 관리자(10) 및 멀티캐스트 에이전트들(20 내지 80)을 포함한다. 멀티캐스트 에이전트들(20 내지 80) 중 하나는 루트 멀티캐스트 에이전트(20)로 설정된다. Referring to FIG. 1, the overlay multicast system includes a session manager 10 and multicast agents 20 through 80. One of the multicast agents 20 to 80 is set up as the root multicast agent 20.
제어 메시지는 루트 멀티캐스트 에이전트(20)로부터 트리를 따라 나머지 멀티캐스트 에이전트(30 내지 80)에게로 전달된다. The control message is passed from the root multicast agent 20 to the remaining multicast agents 30 through 80 along the tree.
데이터 메시지는 멀티캐스트 에이전트들(20 내지 80) 중에서 송신 멀티캐스트 에이전트로부터 트리를 따라 나머지 멀티캐스트 에이전트로 전달된다. N:N 기반의 통신을 위하여 각 멀티캐스트 에이전트(20 내지 80)가 송신 멀티캐스트 에이전트가 될 수 있다. 각 멀티캐스트 에이전트들(20 내지 80)은 데이터를 최종 수신하는 종단 멀티캐스트 에이전트가 될 수도 있으며, 종단 멀티캐스트 에이전트와 분리되어 네트워크의 중간에서 데이터 전달만 제공하는 개체가 될 수도 있다. The data message is passed from the transmitting multicast agent among the multicast agents 20 to 80 along the tree to the remaining multicast agents. Each multicast agent 20 to 80 may be a transmitting multicast agent for N: N based communication. Each multicast agent 20 to 80 may be an end multicast agent that finally receives data, or may be an entity that separates from the end multicast agent and provides only data transfer in the middle of the network.
세션 관리자(10)는 멀티캐스트 에이전트들(20 내지 80)과 세션 가입 제어 메시지를 주고 받으며, 이 메세지를 통하여 멀티캐스트 에이전트들(20 내지 80)의 세션 등록 및 이들에 대한 정보 제공 등의 기능을 수행한다.The session manager 10 exchanges a session subscription control message with the multicast agents 20 through 80, and through this message, registers sessions of the multicast agents 20 through 80 and provides information about them. Perform.
먼저 오버레이 멀티캐스트 세션에 참여하기 위하여 미리 지정된 대표 멀티캐스트 에이전트가 세션 관리자(10)에 등록하면서 오버레이 멀티캐스트 전송계층 제어 트리의 루트 멀티캐스트 에이전트(20)가 되며 제어 트리 구축을 시작한다. 각 멀티캐스트 에이젼트(30 내지 80)들 역시 세션 관리자(10)에게 등록하는 과정을 거치고, 이 때 세션 관리자(10)로부터 얻은 정보를 통하여 루트 멀티캐스트 에이전트(20)를 중심으로 제어 트리를 구축한다. 이와 같은 방식으로 오버레이 멀티캐스트 시스템이 형성된다. First, in order to participate in the overlay multicast session, a predetermined representative multicast agent registers with the session manager 10 and becomes the root multicast agent 20 of the overlay multicast transport layer control tree and starts building the control tree. Each multicast agent 30 to 80 also registers with the session manager 10, and at this time, builds a control tree around the root multicast agent 20 through information obtained from the session manager 10. . In this way, an overlay multicast system is formed.
도 2는 도 1의 오버레이 멀티캐스트 시스템에 사용된 멀티캐스트 에이전트의 일례를 나타내는 도면이다. FIG. 2 is a diagram illustrating an example of a multicast agent used in the overlay multicast system of FIG. 1.
도 2를 참조하면, 멀티캐스트 에이전트(90)는 오버레이 멀티캐스트 에이전트 컨트롤러(91) 및 복수의 소켓(94)을 포함한다. Referring to FIG. 2, the
오버레이 멀티캐스트 에이전트 컨트롤러(91)는 트리 컨트롤 모듈(92) 및 데이터 컨트롤 모듈(93)을 포함한다. 트리 컨트롤 모듈(92)은 소켓들(94)을 통하여 타 멀티캐스트 에이전트들과 트리 구성 및 관리를 위한 제어 메시지를 주고 받는다. 데이터 컨트롤 모듈(93)은 소켓들(94)을 통하여 타 멀티캐스트 에이전트들과 데이터를 주고 받는다.The overlay
이와 같이 동작하여, 멀티캐스트 에이전트(90)는 자신의 부모 멀티캐스트 에이전트와 자식 멀티캐스트 에이전트들과 소켓 연결을 유지하며 트리 구성 및 관리를 위한 제어 메시지 및 데이터를 교환한다. 각 소켓(94)은 TCP 연결을 통하여 양방향 연결을 보장하며 신뢰 전송을 보장한다. 이로써, 자신이 송신 멀티캐스트 에이전트일 경우는 입력된 제어 메시지에 대한 응답을 상대방에 전달하면서 부모 멀티캐스트 에이전트 및 자식 멀티캐스트 에이전트에게 데이터 송신을 수행하며, 자신이 송신 멀티캐스트 에이전트가 아닌 경우는 제어 메시지에 대한 응답을 상대방에 전달하면서 입력된 데이터를 자신과 연결된 부모 멀티캐스트 에이전트 및 자식 멀티캐스트 에이전트 중 데이터를 입력한 멀티캐스트 에이전트을 제외한 멀티캐스트 에이전트에 전송한다.In this manner, the
도 3은 A를 루트 멀티캐스트 에이전트로 하는 제어 트리에서 송신 멀티캐스트 에이전트가 A에서 B로 변경되었을 경우 데이터 및 제어 메시지의 흐름을 나타내는 도면이다. 도 3에 표현된 제어 트리 구축에 있어서, 본 발명은 다음과 같은 두 개의 규칙을 가진다. 첫번째 규칙은 제어 트리 구축을 위한 제어 메시지 교환이 TCP 채널로 이루어 지는 것이다. 이렇게 함으로써 트리 상의 모든 멀티캐스트 에이전트들은 양방향 통신 채널을 확보하게 된다. 두 번째 규칙은 트리 구성 시 자신의 최대 허용 자식 멀티캐스트 에이전트 수 만큼 받아들이지 않고 항상 예약된 공간을 비워놓는다. 이 때 예약된 공간의 최소값은 1이 될 수 있다. 이것은 자신이 송신 멀티캐스트 에이전트가 될 때, 자신의 자식 멀티캐스트 에이전트 뿐만 아니라 부모 멀티캐스트 에이전트를 포함하여야 하기 때문이다. 다만, 루트 멀티캐스트 에이전트의 경우에는 자신의 최대 허용 자식 멀티캐스트 에이전트 수 만큼 자식 멀티캐스트 에이전트들을 받아들일 수 있다. 도 3은 최대 허용 자식 멀티캐스트 에이전트가 4라고 지정되었을 때 생성될 수 있는 제어 트리의 예시가 될 수 있다.FIG. 3 is a diagram illustrating a flow of data and control messages when a transmitting multicast agent is changed from A to B in a control tree having A as a root multicast agent. In constructing the control tree represented in Fig. 3, the present invention has the following two rules. The first rule is that the control message exchange for building the control tree takes place over a TCP channel. This ensures that all multicast agents on the tree have bidirectional communication channels. The second rule does not accept as many as its maximum allowed child multicast agents when constructing the tree and always leaves the space reserved. At this time, the minimum value of the reserved space may be 1. This is because when it becomes a sending multicast agent, it must include not only its child multicast agent but also its parent multicast agent. However, the root multicast agent can accept as many child multicast agents as its maximum allowed number of child multicast agents. 3 may be an example of a control tree that may be generated when the maximum allowed child multicast agent is designated as 4. FIG.
도 3(a)는 A 멀티캐스트 에이전트가 루트 멀티캐스트 에이전트이면서 동시에 송신 멀티캐스트 에이전트인 경우의 데이터 및 제어 메시지의 흐름을 나타내는 도면이다. 도 3(a)를 참조하면, 제어 메시지는 제어 트리를 따라 업스트림(upstream) 또는 다운스트림(downstream)으로 전달된다. 일예로 루트 멀티캐스트 에이전트인 A 멀티캐스트 에이전트가 트리의 동기화 정보를 위하여 하위로 전달하는 메시지는 자신의 자식 노드인 B와 C 멀티캐스트 에이전트로 전달된다. 일례로 루트 멀티캐스트 에이전트인 A 멀티캐스트 에이전트가 트리의 동기화 정보를 위하여 하위로 전달하 는 메시지는 자신의 자식 노드인 B와 C로 전달된다. B 멀티캐스트 에이전트로 전달된 제어 메시지는 자신의 자식 멀티캐스트 에이전트인 D, E, F 멀티캐스트 에이전트로 전달된다. 또한, C 멀티캐스트 에이전트로 전달된 제어 메시지는 자신의 자식 멀티캐스트 에이전트인 G, H 멀티캐스트 에이전트로 전달된다. 이러한 제어 메시지는 일례로 루트 경로 정보를 포함한다. A 멀티캐스트 에이전트에서 B 및 C로 전달되는 루트 경로 정보는 'A'에 해당하는 정보가 되고, B에서 D 내지 F로 전달되는 루트 경로 정보는 'A->B'에 해당하는 정보가 될 수 있다. 한편 도 3(a)에서 루트 멀티캐스트 에이전트는 현재 시점의 송신 멀티캐스트 에이전트와 동일하므로, 데이터는 제어 트리의 계층 구조를 따라 다운스트림 방향으로 각 멀티캐스트 에이전트에 전달된다. FIG. 3 (a) is a diagram illustrating the flow of data and control messages when the A multicast agent is both a root multicast agent and a transmitting multicast agent. Referring to Figure 3 (a), the control message is delivered upstream (downstream) or downstream (downstream) along the control tree. For example, a message transmitted by a multicast agent, a root multicast agent, to a tree for synchronization information is transmitted to its child nodes B and C multicast agents. For example, A multicast agent, the root multicast agent, forwards messages for tree synchronization information to its child nodes B and C. Control messages sent to the B multicast agent are forwarded to their child multicast agents D, E, and F multicast agents. In addition, the control message sent to the C multicast agent is delivered to its child multicast agent, G, H multicast agent. This control message includes, for example, route path information. Root path information delivered from A multicast agent to B and C becomes information corresponding to 'A', and root path information delivered from B to D to F may be information corresponding to 'A-> B'. have. Meanwhile, since the root multicast agent in FIG. 3 (a) is the same as the transmission multicast agent at the present time, data is delivered to each multicast agent in the downstream direction along the hierarchical structure of the control tree.
도 3(b)는 A 멀티캐스트 에이전트가 루트 멀티캐스트 에이전트이고 B 멀티캐스트 에이전트가 송신 멀티캐스트 에이전트인 경우의 데이터 및 제어 메시지의 흐름을 나타내는 도면이다. 도 3(b)를 참조하면, 제어 메시지는 도 3(a)와 동일한 경로를 따라 전달된다. 이에 반하여, 데이터는 송신 멀티캐스트 에이전트인 B 멀티캐스트 에이전트로부터 A, D, E, F 멀티캐스트 에이전트로 전달된다. A 멀티캐스트 에이전트는 자신에게 전달된 데이터를 자신의 부모 및 자식 멀티캐스트 에이전트 중에서 데이터를 전달한 멀티캐스트 에이전트인 B 멀티캐스트 에이전트를 제외한 나머지 멀티캐스트 에이전트 즉 C 멀티캐스트 에이전트로 전달한다. 또한, C 멀티캐스트 에이전트는 자신에게 전달된 데이터를 자신의 부모 및 자식 멀티캐스트 에이전트 중에서 데이터를 전달한 멀티캐스트 에이전트인 A 멀티캐스트 에이전트를 제외한 나머지 멀티캐스트 에이전트 즉 G, H 멀티캐스트 에이전트로 전달한다.FIG. 3B is a diagram illustrating the flow of data and control messages when the A multicast agent is a root multicast agent and the B multicast agent is a transmitting multicast agent. Referring to FIG. 3B, the control message is transmitted along the same path as that of FIG. 3A. In contrast, data is transferred from a B multicast agent, which is a transmitting multicast agent, to an A, D, E, F multicast agent. The A multicast agent delivers the data delivered to itself to the remaining multicast agents, namely the C multicast agent, except for the B multicast agent, which is a multicast agent that has transmitted data among its parent and child multicast agents. In addition, the C multicast agent delivers the data delivered to itself to other multicast agents, namely, G and H multicast agents, except for the A multicast agent, which is a multicast agent that transmits data among its parent and child multicast agents.
도 3(b)에서 보여지는 것처럼 B가 송신 멀티캐스트 에이전트가 되었을 경우, 자신이 송신을 담당할 때 제어 트리 상에서 자신과 연결을 맺은 모든 멀티캐스트 에이전트들에게 데이터를 전송한다. 즉, B 멀티캐스트 에이전트가 트리 상의 중간 멀티캐스트 에이전트일 경우 자신의 부모 멀티캐스트 에이전트와 자식 멀티캐스트 에이전트들에게 데이터를 전송한다. 제어 트리 구성 시 자신의 최대 허용 자식 멀티캐스트 에이전트 수에서 예약 공간을 비워놓은 이유가 여기에 있다. 즉, B 멀티캐스트 에이전트가 송신 멀티캐스트 에이전트가 될 경우 3개의 B의 자식 멀티캐스트 에이전트뿐 아니라 제어 트리 상의 B의 부모 멀티캐스트 에이전트인 A도 B가 피딩(feeding)할 멀티캐스트 에이전트에 포함되어지기 때문이다. 만일 송신 멀티캐스트 에이전트가 D 멀티캐스트 에이전트과 같은 종단 멀티캐스트 에이전트였다면 자신과 연결을 맺고 있는 자신의 부모 멀티캐스트 에이전트에게 데이터를 전송한다. 데이터를 수신한 멀티캐스트 에이전트들은 데이터를 전달한 멀티캐스트 에이전트을 제외한 자신과 연결된 멀티캐스트 에이전트들에게 이 데이터를 전달한다. 이러한 방식으로 제어 트리에 데이터가 전달됨으로써 다수의 송신 가능 멀티캐스트 에이전트가 존재하더라도 유연하고 단순하게 데이터를 전송할 수 있다. As shown in Fig. 3 (b), when B becomes a transmitting multicast agent, it transmits data to all multicast agents that have connected with it on the control tree when they are in charge of transmission. That is, when the B multicast agent is an intermediate multicast agent on the tree, it transmits data to its parent multicast agent and child multicast agents. This is why the space reserved for the maximum allowed number of child multicast agents is freed when the control tree is configured. That is, if a B multicast agent becomes an outgoing multicast agent, not only three child multicast agents of B but also A, B's parent multicast agent on the control tree, are included in the multicast agent for B to feed. Because. If the sending multicast agent was an end multicast agent, such as a D multicast agent, it transmits data to its parent multicast agent that is connecting to it. The multicast agents receiving the data deliver this data to the multicast agents connected to them except the multicast agent that delivered the data. In this way, data is delivered to the control tree, which allows for flexible and simple data transmission even when there are multiple transmittable multicast agents.
도 4는 생성된 제어 트리에서 루트 멀티캐스트 에이전트가 트리를 탈퇴할 경우 제어 트리를 유연하게 복구하고 유지하는 절차를 설명하기 위한 도면이다. FIG. 4 is a diagram for explaining a procedure of flexibly restoring and maintaining a control tree when the root multicast agent leaves the tree in the generated control tree.
도 4를 참조하면, 제 1 단계(S11)에서 루트 멀티캐스트 에이전트(Root SMA) 의 응용(App)은 루트 멀티캐스트 에이전트(Root SMA)에게 'MA_SessLeave.req'와 같은 메시지를 전달하여 트리를 탈퇴할 것을 요청한다. Referring to FIG. 4, in the first step S11, an application of the root multicast agent Root SMA leaves the tree by delivering a message such as 'MA_SessLeave.req' to the root multicast agent Root SMA. Ask to do.
제 2 단계(S12)에서, 기존의 루트 멀티캐스트 에이전트(Root SMA)는 나머지 멀티캐스트 에이전트들 중 일부 또는 전부에게 'SeekNewRoot.REQ'와 같이 루트 멀티캐스트 에이전트가 되어 줄 것을 요청하는 제어 메시지를 전송한다. 일부의 멀티캐스트 에이전트(SMA1, SMA2)만이 송신 멀티캐스트 에이전트가 될 수 있는 경우에는 루트 멀티캐스트 에이전트(Root SMA)는 세션 제공자에게 송신 가능 멀티캐스트 에이전트 리스트를 확보할 수 있으며, 자신이 전송 계층 제어 트리를 떠나려 할 때 'SeekNewRoot.REQ'를 송신 가능 멀티캐스트 에이전트 리스트에 포함된 멀티캐스트 에이전트들(SMA1, SMA2)로 전송한다. 만일, 모든 참여 멀티캐스트 에이전트가 송신 가능 멀티캐스트 에이전트가 될 수 있는 세션에서는 제어 트리의 계층 구조를 따라 'SeekNewRoot.REQ'를 전송한다. 이 때 트리의 급격한 변화를 피하기 위하여 자신의 직접 자식 노드에게만 먼저 이 제어 메시지를 전송한다. 자신의 직접 자식 노드 중 새로운 루트 멀티캐스트 에이전트를 선발하지 못하였을 경우 이 제어 메시지를 하위로 전달하도록 요청하며 다시 이 메시지를 전송한다 이 제어 메시지를 수신한 각 송신 가능 멀티캐스트 에이전트들(SMA1, SMA2)은 자신의 '트리 레벨'과 '가용한 자식 멀티캐스트 에이전트 수'를 실어 응답한다. 트리 레벨은 트리에서 루트 멀티캐스트 에이전트에 가까울수로 큰 값을 가지며, 가용한 자식 멀티캐스트 에이전트 수는 추가할 수 있는 자식 멀티캐스트 에이전트의 수를 의미한다. In the second step S12, the existing root multicast agent (Root SMA) transmits a control message requesting some or all of the remaining multicast agents to become a root multicast agent, such as 'SeekNewRoot.REQ'. do. If only some of the multicast agents (SMA1, SMA2) can be outgoing multicast agents, the root multicast agent (Root SMA) can obtain a list of outgoing multicast agents from the session provider and control the transport layer. When leaving the tree, send 'SeekNewRoot.REQ' to the multicast agents SMA1 and SMA2 included in the sendable multicast agent list. In the session where all participating multicast agents can be sendable multicast agents, 'SeekNewRoot.REQ' is transmitted along the hierarchical structure of the control tree. In order to avoid the drastic change of the tree, this control message is transmitted only to its own direct child nodes. If it fails to select a new root multicast agent among its own direct child nodes, it requests to forward this control message and sends this message again. Each sendable multicast agent that received this control message (SMA1, SMA2) ) Responds with its 'tree level' and 'number of child multicast agents available'. The tree level has a large value as close to the root multicast agent in the tree, and the number of child multicast agents available means the number of child multicast agents that can be added.
제 3 단계(S13)에서, 기존의 루트 멀티캐스트 에이전트(Root SMA)는 트리 레 벨이 가장 높은 멀티캐스트 에이전트 중 가용한 자식 멀티캐스트 에이전트 수가 가장 많은 멀티캐스트 에이전트를 선발하여 'TakeNewRoot.REQ' 같은 새로운 루트 멀티캐스트 에이전트로 임명됨을 알리는 제어 패킷을 해당 멀티캐스트 에이전트(SMA2)에게 전송한다. 트리 레벨이 가장 높은 멀티캐스트 에이전트를 선발하는 이유는 이렇게 함으로써 제어 트리의 지나친 변형을 방지할 수 있기 때문이며, 가용한 자식 멀티캐스트 에이전트 수가 가장 많은 멀티캐스트 에이전트를 선발하는 이유는 자신의 자식 멀티캐스트 에이전트들을 받아들여 줄 수 있는 멀티캐스트 에이전트를 찾기 위함이다. 'TakeNewRoot.Req' 메시지를 수신한 멀티캐스트 에이전트(SMA2)는 'TakeNewRoot.ANS'와 같은 응답 메시지를 기존의 루트 멀티캐스트 에이전트(Root SMA)로 전송한다. In the third step (S13), the existing root multicast agent (Root SMA) selects the multicast agent with the highest number of child multicast agents available among the multicast agents with the highest tree level, such as 'TakeNewRoot.REQ'. The control packet notifying that the new root multicast agent is appointed is transmitted to the multicast agent SMA2. The reason for selecting the highest multicast agent at the tree level is because this prevents excessive modification of the control tree, and the reason for selecting the multicast agent with the highest number of child multicast agents available is its child multicast agent. To find a multicast agent that can accept them. Upon receiving the 'TakeNewRoot.Req' message, the multicast agent (SMA2) sends a response message such as 'TakeNewRoot.ANS' to the existing root multicast agent (Root SMA).
제 4 단계(S14)에서, 이제 트리를 떠나려는 기존의 루트 멀티캐스트 에이전트(Root SMA)는 'ChangeParent.REQ' 같은 메시지를 통하여 자신의 자식 멀티캐스트 에이전트들(CMA1, CMA2)에게 자신의 탈퇴를 알리고, 새로운 루트 멀티캐스트 에이전트 정보를 제공하고, 자식 멀티캐스트 에이전트들(CMA1, CMA2)은 'ChangeParent.ANS'와 같은 응답 메시지를 기존의 루트 멀티캐스트 에이전트(Root SMA)에게 전송한다.In the fourth step (S14), the existing root multicast agent (Root SMA), which now wants to leave the tree, makes its own exit to its child multicast agents CMA1 and CMA2 via a message such as 'ChangeParent.REQ'. Informs, provides new root multicast agent information, and child multicast agents CMA1 and CMA2 send a response message such as 'ChangeParent.ANS' to the existing root multicast agent (Root SMA).
제 5 단계에서, 자식 멀티캐스트 에이전트들(CMA1, CMA2)은 새로운 루트 멀티캐스트 에이전트(SMA2)로 조인(join)하고 새로운 루트 멀티캐스트 에이전트(SMA2)는 자신이 새로운 루트 멀티캐스트 에이전트가 되었음을 하위 멀티캐스트 에이전트들에게 알린다. 또한, 기존의 루트 멀티캐스트 에이전트(Root SMA)는 응용 계층(App)에 세션 종료를 알린다. In the fifth step, the child multicast agents CMA1 and CMA2 join to the new root multicast agent SMA2 and the new root multicast agent SMA2 indicates that it has become a new root multicast agent. Notify cast agents. In addition, the existing root multicast agent (Root SMA) informs the application layer (App) of the end of the session.
도 5는 도 4의 루트 멀티캐스트 에이전트(Root SMA)의 동작을 순서도로 표현한 것이다. FIG. 5 is a flowchart illustrating the operation of the root multicast agent (Root SMA) of FIG. 4.
도 5를 참조하면, 응용으로부터 세션의 탈퇴 요청이 있으면(S21), 루트 멀티캐스트 에이전트는 그룹내 송신 가능 멀티캐스트 에이전트 리스트에 포함된 멀티캐스트 에이전트에 'SeekNewRoot.REQ' 같은 루트 멀티캐스트 에이전트가 되어 줄 것을 요청하는 제어 메시지를 전송한다(S22). 루트 멀티캐스트 에이전트는 송신 가능 멀티캐스트 에이전트들로부터 그들의 '트리 레벨'과 '가용한 자식 멀티캐스트 에이전트 수' 등이 실린 'SeekNewRoot.ANS'를 수신한다(S23)Referring to FIG. 5, when there is a request to withdraw a session from an application (S21), the root multicast agent becomes a root multicast agent such as 'SeekNewRoot.REQ' to the multicast agent included in the intra-group sendable multicast agent list. The control message requesting to give is transmitted (S22). The root multicast agent receives 'SeekNewRoot.ANS' including 'tree level' and 'number of child multicast agents available' from the transmittable multicast agents (S23).
만일 'SeekNewRoot.REQ'를 수신한 어떤 송신 가능 멀티캐스트 에이전트로부터도 응답이 없거나 거절 응답이 올 경우(S24), 루트 멀티캐스트 에이전트는 세션 관리자에게 세션 종료를 알리고(S32), 자신의 자식 멀티캐스트 에이전트들에게 루트 멀티캐스트 에이전트의 세션 탈퇴로 인한 세션 종료가 이루어짐을 공지한다(S33). 이 메시지를 받은 자식 멀티캐스트 에이전트들은 응답 메시지를 보낸 뒤 자신의 자식 멀티캐스트 에이전트들에게 이 메시지를 전달한다(S34). 이 과정은 트리의 종단 멀티캐스트 에이전트에 이를 때까지 이루어 진다.If there is no response from any sendable multicast agent that has received 'SeekNewRoot.REQ' or a rejection response (S24), then the root multicast agent notifies the session manager of the session termination (S32) and its child multicast. The agent notifies that the session is terminated due to the withdrawal of the session of the root multicast agent (S33). After receiving this message, the child multicast agents send a response message and deliver this message to their child multicast agents (S34). This process is done until the end-of-tree multicast agent is reached.
만일, 'SeekNewRoot.REQ'를 수신한 송신 가능 멀티캐스트 에이전트로부터 받아들인다는 응답이 올 경우(S24), 루트 멀티캐스트 에이전트는 받아들인다는 응답을 한 송신 가능 멀티캐스트 에이전트들의 트리 레벨과 가용한 자식 멀티캐스트 에 이전트 수를 비교한다(S25). 받아들인다는 응답을 한 송신 가능한 멀티캐스트 에이전트들 중에서 트리 레벨이 가장 높고 가용한 자식 멀티캐스트 에이전트 수가 가장 많은 멀티캐스트 에이전트를 선발하여(S26) 'TakeNewRoot.REQ' 같은 새로운 루트 멀티캐스트 에이전트로 임명됨을 알리는 제어 패킷을 해당 멀티캐스트 에이전트에게 전송한다(S27). 기존의 루트 멀티캐스트 에이전트는 새로운 루트 멀티캐스트 에이전트로부터 'TakeNewRoot.ANS'을 수신하고(S28), 'ChangeParent.REQ' 같은 메시지를 통하여 자신의 자식 멀티캐스트 에이전트들에게 자신의 탈퇴를 알리고, 새로운 루트 멀티캐스트 에이전트 정보를 제공하고(S29), 자식 멀티캐스트 에이전트들로부터 'ChangeParent.ANS'와 같은 응답 메시지를 수신받는다(S30). 그 후, 기존의 루트 멀티캐스트 에이전트는 응용에게 세션 종료를 알린다(S31).If a response is received from the sendable multicast agent that has received 'SeekNewRoot.REQ' (S24), the tree level and available children of the sendable multicast agents that responded that the root multicast agent accepts it are accepted. The number of multicast agents is compared (S25). Among the sendable multicast agents that responded to accepting, the multicast agent with the highest tree level and the highest number of available child multicast agents is selected (S26) and appointed as a new root multicast agent such as 'TakeNewRoot.REQ'. The control packet is transmitted to the corresponding multicast agent (S27). The existing root multicast agent receives 'TakeNewRoot.ANS' from the new root multicast agent (S28), informs its child multicast agents of its withdrawal through a message such as 'ChangeParent.REQ', and sends the new root. The multicast agent information is provided (S29), and a response message such as 'ChangeParent.ANS' is received from the child multicast agents (S30). Thereafter, the existing root multicast agent notifies the application of the end of the session (S31).
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 변형예가 가능함을 이해할 수 있을 것이다.Although the technical spirit of the present invention has been described in detail according to the above preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, it will be understood by those skilled in the art that various modifications are possible within the scope of the technical idea of the present invention.
본 발명에 의한 오버레이 멀티캐스트 시스템은 제어 정보의 복잡도를 감소시키며, 1:N과 N:N을 동시에 지원할 수 있는 효과가 있다. The overlay multicast system according to the present invention reduces the complexity of control information and has the effect of supporting 1: N and N: N simultaneously.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040107107A KR100622020B1 (en) | 2004-12-16 | 2004-12-16 | Method for controlling overlay multicast system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040107107A KR100622020B1 (en) | 2004-12-16 | 2004-12-16 | Method for controlling overlay multicast system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060068418A true KR20060068418A (en) | 2006-06-21 |
KR100622020B1 KR100622020B1 (en) | 2006-09-19 |
Family
ID=37162733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040107107A KR100622020B1 (en) | 2004-12-16 | 2004-12-16 | Method for controlling overlay multicast system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100622020B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100933338B1 (en) * | 2008-05-29 | 2009-12-22 | 경기대학교 산학협력단 | Hierarchical Multiparty Communication Method |
KR101049959B1 (en) * | 2009-05-19 | 2011-07-15 | 경기대학교 산학협력단 | Hierarchical Multilateral Communication Method and Terminal |
KR101383353B1 (en) * | 2010-11-15 | 2014-04-10 | 한국전자통신연구원 | Method of sharing, subscription and leaving of session, based on RMCP |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10334660B2 (en) | 2011-08-10 | 2019-06-25 | Nokia Solutions And Networks Oy | Signalling about on-going and starting broadcast-service sessions on other frequency carriers |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100334905B1 (en) * | 1999-10-29 | 2002-05-04 | 오길록 | A tree configuration method for reliability in transport layer |
-
2004
- 2004-12-16 KR KR1020040107107A patent/KR100622020B1/en not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100933338B1 (en) * | 2008-05-29 | 2009-12-22 | 경기대학교 산학협력단 | Hierarchical Multiparty Communication Method |
KR101049959B1 (en) * | 2009-05-19 | 2011-07-15 | 경기대학교 산학협력단 | Hierarchical Multilateral Communication Method and Terminal |
KR101383353B1 (en) * | 2010-11-15 | 2014-04-10 | 한국전자통신연구원 | Method of sharing, subscription and leaving of session, based on RMCP |
Also Published As
Publication number | Publication date |
---|---|
KR100622020B1 (en) | 2006-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5431570B2 (en) | Method and apparatus for efficient transmission of multimedia streams for teleconferencing | |
JP3187006B2 (en) | Method for joining a multicast connection initiated from a source node distributing multicast information | |
EP1865661B1 (en) | A method of fast-multicast and a system thereof | |
US20070097955A1 (en) | Method and apparatus for ip multicast relay of live tv streaming traffic in a tv-over-ip environment | |
US20110158233A1 (en) | Group communication system using media server having distributed structure and method thereof | |
CN101047531B (en) | Distributed conference system | |
KR100934088B1 (en) | Methods and apparatus for creation and transport of multimedia content flows to a distribution network | |
CN111131759B (en) | Real-time multimedia transmission system and use method thereof | |
US8238337B1 (en) | Hybrid multicast switch employing network-layer routing | |
KR100622020B1 (en) | Method for controlling overlay multicast system | |
KR100592874B1 (en) | Multicast IP broadcast method and system | |
KR100453221B1 (en) | Method and system transmitting group cast by using unicast network | |
KR20070048021A (en) | System and method for transmitting media stream using automatic tree rmcp | |
JP4502721B2 (en) | Video conference terminal device and system and method | |
JP2007251707A (en) | Multicast repeating apparatus | |
KR20010083840A (en) | Serverless casting mechanism for realtime multimedia presentation, and a technique for duplex communication | |
CN115550326B (en) | Method and system for realizing multi-party conference cascade by using virtual conference | |
Ha et al. | Topology and architecture design for peer to peer video live streaming system on mobile broadcasting social media | |
Rios et al. | Peer-to-Peer Multimedia Conferencing System Based on SIP Signaling | |
JP2005094608A (en) | Ip multicast transfer device and ip multicast communication information management device | |
JP4689438B2 (en) | Information distribution system | |
KR100776791B1 (en) | System and method for providing many-to-many communication service | |
KR100296138B1 (en) | Method for multimedia conference service using dynamic multicast tree | |
JP2010191746A (en) | User terminal, user terminal program, and connection switching method for distribution tree | |
Kim et al. | A Hybrid Overlay Multicast Scheme based on Host Group Model for Subnet-Dense Receivers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20110831 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20120831 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |