KR20130033253A - Overlay multicast system and its method to provide multiple content distribution in distributed content nodes - Google Patents

Overlay multicast system and its method to provide multiple content distribution in distributed content nodes Download PDF

Info

Publication number
KR20130033253A
KR20130033253A KR1020110110563A KR20110110563A KR20130033253A KR 20130033253 A KR20130033253 A KR 20130033253A KR 1020110110563 A KR1020110110563 A KR 1020110110563A KR 20110110563 A KR20110110563 A KR 20110110563A KR 20130033253 A KR20130033253 A KR 20130033253A
Authority
KR
South Korea
Prior art keywords
block
multicast
context information
content delivery
group
Prior art date
Application number
KR1020110110563A
Other languages
Korean (ko)
Other versions
KR101830760B1 (en
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 주식회사 케이티
Publication of KR20130033253A publication Critical patent/KR20130033253A/en
Application granted granted Critical
Publication of KR101830760B1 publication Critical patent/KR101830760B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1836Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
    • H04L12/184Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture with heterogeneous receivers, e.g. layered multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

PURPOSE: An overlay multicast system for distributing multiple contents in a regional distributed content node and a method thereof are provided to reduce network traffics and to improve the transmission speed and stability when distributing multiple contents through the content nodes distributed and arranged in the region. CONSTITUTION: An overlay management block provides resource context data to a context data management block by monitoring the dynamic data of the nodes(401). A service requester requests a service routing block 1 to create a multicast group(402). The service routing block 1 generates a group ID and selects a root node for a corresponding group(403). The service routing block 1 requests a content transmission block 1 to perform multicasting(412). The content transmission block 1 requests an identity management block to renew a multicast DB(413). The content transmission block 1 transmits multicast contents to a content transmission block 2(414). The service requestor requests the service routing block 1 to release the multicast group(415). The service routing block 1 requests the identity management block to release the multicast group(416). The identity management block deletes a corresponding group DB(417). [Reference numerals] (400) Requesting and receiving network context information; (401) Requesting and receiving resource context information; (402,404) Requesting to create a multicast group; (403) Generating a group ID and selecting a root node; (405) Generating a group DB; (406) Requesting to join or leave the multicast group; (407) Delivering the request for joining or leaving the multicast group; (408) Updating the group DB; (409) Requesting and receiving context information; (410) Requesting multicast channel setting; (411) Delivering the request for setting a multicast channel; (412) Requesting a multicast; (413) Requesting the update of a multicast DB; (414) Transmitting a multicast content; (415,416) Requesting the release of the multicast group; (417) Deleting the group DB; (AA) Service requester; (BB) Service routing block 1; (CC) Identity management block; (DD) Content delivery block 1; (EE) Service policy determination block; (FF) Context information management list; (GG) Overlay management block; (HH) Service routing block 2; (II) Content delivery block 2;

Description

지역 분산된 콘텐츠 노드에서 다중 콘텐츠 분배를 위한 오버레이 멀티캐스트 시스템 및 그 방법{Overlay multicast system and its method to provide multiple content distribution in distributed content nodes}Overlay multicast system and its method to provide multiple content distribution in distributed content nodes

본 발명은 오버레이 멀티캐스트 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는 분산되어 지역에 배치된 콘텐츠 노드들을 통해 콘텐츠 프리-포지션(pre-position), 분산 캐시 업데이트(update), 소프트웨어 업데이트(SW update), 즉시(instant) 메시지 전송, 그룹 스트리밍 등과 같이 동시에 여러 노드로 데이터를 전송할 때 네트워크 트래픽을 절감하고 전송속도 및 안정성을 향상시키기 위한 오버레이 멀티캐스트 시스템 및 그 방법에 관한 것이다.
The present invention relates to an overlay multicast system and method thereof, and more particularly to content pre-position, distributed cache update, software update (SW update) via distributed and locally located content nodes. The present invention relates to an overlay multicast system and method for reducing network traffic and improving transmission speed and stability when transmitting data to multiple nodes at the same time, such as instant message transmission and group streaming.

종래 기술을 살펴보면, 콘텐츠를 동시에 하나의 소스 노드에서 여러 서비스 노드로 전송하기 위해서는 일반적으로 IP(Internet Protocol) 멀티캐스트 기술을 이용하고 있다. 일예로, 대표적인 다중 전송 서비스인 IPTV(Internet Protocol Television) 서비스에 IP 멀티캐스트 기술이 적용되고 있다. IP 멀티캐스트 기술은 효과적인 멀티캐스트 기술로 알려져 있으나, 현재 기술적, 정책적 한계로 인하여 광범위한 실용화가 지체되고 있다.In the prior art, in order to simultaneously transmit content from one source node to several service nodes, IP (Internet Protocol) multicast technology is generally used. For example, IP multicast technology is applied to IPTV (Internet Protocol Television) service, which is a representative multicast service. Although IP multicast technology is known as an effective multicast technology, widespread practical use is delayed due to technical and policy limitations.

따라서 상용 인터넷상에서 IP 멀티캐스트 기술을 이용하여 보편적인 서비스를 제공하지 못하고 있는 상황으로, 이에 대한 대안으로 응용계층 멀티캐스트(application layer multicast) 기술이 연구되고 있다.Therefore, a situation in which a universal service is not provided by using IP multicast technology on a commercial Internet, and an application layer multicast technology has been studied as an alternative.

응용계층 멀티캐스트 기법에서는 각 참가자인 종단 시스템들이 유니캐스트 연결을 이용하여 가상 네트워크를 구성하고, 가상 네트워크상에 위치한 종단 시스템들이 데이터 전송 트리를 설정한다. 데이터 전송 트리에서 종단 시스템은 패킷을 수신하면 자신의 해당 응용 프로그램에게 전달할 뿐만 아니라 패킷을 전송 트리의 자식 노드에 해당하는 종단 시스템들에게 전달한다. 이렇게 함으로써, 네트워크단에서 일반적인 유니캐스트를 이용하여 멀티캐스팅의 효과를 볼 수 있다.
In the application layer multicast scheme, each participant's end systems form a virtual network using a unicast connection, and end systems located on the virtual network configure a data transmission tree. When an end system receives a packet in the data transmission tree, the end system not only forwards the packet to its own application program, but also forwards the packet to end systems corresponding to child nodes of the transmission tree. In this way, the effect of multicasting can be seen using unicast at the network end.

멀티캐스트 기술을 응용계층으로 구현한 응용계층 멀티캐스트는 주로 멀티캐스트 트리를 구성하여 사용하는 데, 응용계층 멀티캐스트도 IP 멀티캐스트와 유사하게 데이터 전송을 위하여 소스 노드와 전체 수신자(수신 단말기)들 사이에 소스 노드가 루트 노드가 되는 스패닝 트리를 구성하는 것이 일반적이다. 그러나 이러한 트리 구조는 크게 하기와 같은 몇 가지 단점을 가진다.Application layer multicast, which implements multicast technology as an application layer, mainly uses a multicast tree. Application layer multicast, similar to IP multicast, uses source nodes and entire receivers (receiving terminals) for data transmission. It is common to form a spanning tree between which the source node becomes the root node. However, this tree structure has some disadvantages as follows.

첫째, 트리의 중간 노드 중 네트워크 환경이나 컴퓨팅 성능이 안 좋은 노드에 의해 그 하위 노드들이 체감하는 처리율(throughput)이 떨어질 수 있다.First, the throughput felt by lower nodes may be degraded by the network environment or nodes having poor computing performance among the middle nodes of the tree.

둘째, 각 수신자(수신 단말기)는 단 하나의 부모 노드로부터 데이터를 받아야 하기 때문에 이 부모 노드의 장애(Failure)는 자식 노드들에게 데이터 전송 실패, 지연 등 직접적이고 연쇄적인 영향을 미치게 된다.Second, since each receiver (receiving terminal) needs to receive data from only one parent node, the failure of the parent node has a direct and chain effect on the child nodes such as data transmission failure and delay.

이와 같이 응용계층 멀티캐스트의 전송 성능은 주로 멀티캐스트 트리의 토폴로지와 송신 서버의 부하 등에 의해 좌우되는 데, 응용계층은 네트워크 계층의 정보를 전혀 모르기 때문에 전송경로 상에서 발생할 수 있는 트래픽 폭주, 노드 장애, 전송 지연, 링크 장애 등의 네트워크 문제에 대해 효과적으로 대처할 수 없으며, 전송 품질을 보장할 수 없는 문제점이 있다.As described above, the transmission performance of application layer multicast depends mainly on the topology of the multicast tree and the load of the sending server. Since the application layer has no knowledge of the network layer information, traffic congestion, node failure, There is a problem that can not effectively cope with network problems such as transmission delay, link failure, and can not guarantee the transmission quality.

또한, 종래 기술은 트리구조상에서 최상위 노드로부터 계층적으로 각 노드에서 파일을 수신 완료한 후 자신의 하위 노드로 송신하는 구조로서 전송하고자 하는 콘텐츠의 용량이 큰 경우는 파일 전송 오류로 인한 재전송에 의한 전송 지연 증가, 각 계층별 순차적 전송에 위한 오버레이망 전체의 E2E(end-to-end) 전송 지연이 증가하는 문제점이 있다.In addition, the related art is a structure in which each node receives a file hierarchically from a top node in a tree structure and transmits the file to its own lower node. There is a problem that the transmission delay increases, and the E2E (end-to-end) transmission delay of the entire overlay network for sequential transmission for each layer increases.

따라서 전술한 바와 같은 종래 기술의 문제점을 해결하고자 하는 것이 본 발명의 과제이다.Therefore, it is a problem of the present invention to solve the problems of the prior art as described above.

따라서 본 발명은 분산되어 지역에 배치된 콘텐츠 노드들을 통해 다중 콘텐츠를 분배할 때 네트워크 트래픽을 절감하고 전송속도 및 안정성을 향상시키기 위한 오버레이 멀티캐스트 시스템 및 그 방법을 제공하는 데 그 목적이 있다.Accordingly, an object of the present invention is to provide an overlay multicast system and method for reducing network traffic and improving transmission speed and stability when distributing multiple contents through distributed content nodes arranged in a local area.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시 예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention which are not mentioned can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. It will also be readily apparent that the objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.

상기 목적을 달성하기 위한 본 발명의 시스템은, 오버레이 멀티캐스트 시스템에 있어서, 하위 네트워크 및 노드를 모니터링하여 콘텍스트 정보를 콘텍스트 정보 관리 블록으로 전달하기 위한 서비스 정책 결정 블록(SPD FE); 상기 서비스 정책 결정 블록으로부터 전달받은 콘텍스트 정보를 서비스 라우팅 블록으로 전달하기 위한 상기 콘텍스트 정보 관리 블록(CIM FE); 상기 콘텍스트 정보 관리 블록으로부터 전달받은 콘텍스트 정보를 콘텐츠 전달 블록으로 전달하고, 콘텐츠 전달 요청을 상기 콘텐츠 전달 블록으로 전달하기 위한 상기 서비스 라우팅 블록(SR FE); 및 상기 서비스 라우팅 블록으로부터 전달받은 콘텍스트 정보를 이용하여 멀티캐스트 채널을 설정하고, 상기 서비스 라우팅 블록으로부터의 콘텐츠 전달 요청에 따라 해당 콘텐츠를 상기 설정된 멀티캐스트 채널을 통하여 전달하기 위한 상기 콘텐츠 전달 블록(CD FE)을 포함한다.In order to achieve the above object, the present invention provides an overlay multicast system, comprising: a service policy decision block (SPD FE) for monitoring a lower network and a node to convey context information to a context information management block; The context information management block (CIM FE) for transferring the context information received from the service policy decision block to a service routing block; The service routing block (SR FE) for delivering the context information received from the context information management block to a content delivery block and for delivering a content delivery request to the content delivery block; And a content delivery block (CD) for establishing a multicast channel using the context information received from the service routing block, and delivering the corresponding content through the set multicast channel according to a content delivery request from the service routing block. FE).

여기서, 상기 콘텐츠 전달 블록은, 노드 장애가 발생하거나 멀티캐스트 그룹 참가 또는 탈퇴 발생 시에, 상기 서비스 라우팅 블록으로부터 콘텍스트 정보를 획득하여 멀티캐스트 채널을 재설정하는 기능을 더 수행한다.Here, the content delivery block further performs a function of resetting a multicast channel by obtaining context information from the service routing block when a node failure occurs or a multicast group joins or leaves a party.

그리고 상기 콘텐츠 전달 블록은, 멀티캐스트 그룹 멤버를 관리하기 위한 그룹 DB(Database); 및 멀티캐스트 요청 정보를 관리하기 위한 멀티캐스트 DB를 포함한다.The content delivery block includes a group DB (Database) for managing multicast group members; And a multicast DB for managing the multicast request information.

그리고 상기 콘텐츠 전달 블록은, 상기 해당 콘텐츠를 청크 단위로 분할한 청크 파일의 순서 번호를 나타내는 시퀀스(Sequence) 번호를 관리한다.
The content delivery block manages a sequence number indicating a sequence number of the chunk file obtained by dividing the corresponding content into chunks.

한편, 상기 목적을 달성하기 위한 본 발명의 방법은, 오버레이 멀티캐스트 방법에 있어서, 서비스 정책 결정 블록이 하위 네트워크 및 노드를 모니터링하여 콘텍스트 정보를 콘텍스트 정보 관리 블록으로 전달하는 단계; 상기 콘텍스트 정보 관리 블록이 상기 서비스 정책 결정 블록으로부터 전달받은 콘텍스트 정보를 서비스 라우팅 블록으로 전달하는 단계; 상기 서비스 라우팅 블록이 상기 콘텍스트 정보 관리 블록으로부터 전달받은 콘텍스트 정보를 콘텐츠 전달 블록으로 전달하는 단계; 상기 콘텐츠 전달 블록이 상기 서비스 라우팅 블록으로부터 전달받은 콘텍스트 정보를 이용하여 멀티캐스트 채널을 설정하는 단계; 상기 서비스 라우팅 블록이 콘텐츠 전달 요청을 상기 콘텐츠 전달 블록으로 전달하는 단계; 및 상기 콘텐츠 전달 블록이 상기 서비스 라우팅 블록으로부터의 콘텐츠 전달 요청에 따라 해당 콘텐츠를 상기 설정된 멀티캐스트 채널을 통하여 전달하는 단계를 포함한다.On the other hand, the method of the present invention for achieving the above object, the overlay multicast method, the service policy decision block to monitor the lower network and the node to transfer the context information to the context information management block; Transmitting, by the context information management block, context information received from the service policy determination block to a service routing block; Delivering, by the service routing block, context information received from the context information management block to a content delivery block; Establishing, by the content delivery block, a multicast channel using the context information received from the service routing block; The service routing block forwarding a content delivery request to the content delivery block; And delivering, by the content delivery block, the corresponding content through the established multicast channel according to a content delivery request from the service routing block.

또한, 상기 본 발명의 방법은, 노드 장애가 발생하거나 멀티캐스트 그룹 참가 또는 탈퇴 발생 시에, 상기 콘텐츠 전달 블록이 상기 서비스 라우팅 블록으로부터 콘텍스트 정보를 획득하여 멀티캐스트 채널을 재설정하는 단계를 더 포함한다.
In addition, the method of the present invention further includes the step of reestablishing a multicast channel by the content delivery block obtaining context information from the service routing block in the event of a node failure or multicast group join or leave.

한편, 상기 목적을 달성하기 위한 본 발명의 다른 시스템은, 오버레이 멀티캐스트 시스템에 있어서, 서비스 정책 결정 블록에게 콘텍스트 정보를 요청하여 획득하기 위한 콘텍스트 정보 관리 블록(CIM FE); 상기 콘텍스트 정보 관리 블록으로부터 콘텍스트 정보를 획득하여 콘텐츠 전달 블록에게 전달하고, 멀티캐스트 그룹 생성 요청에 따라 그룹 ID 생성 및 루트 노드를 선정하고, 멀티캐스트 그룹 생성을 상기 콘텐츠 전달 블록에게 요청하기 위한 서비스 라우팅 블록(SR FE); 상기 서비스 라우팅 블록으로부터의 멀티캐스트 그룹 생성 요청에 따라 그룹 DB를 생성하고 멀티캐스트 그룹 참여 또는 탈퇴 요청에 따라 상기 그룹 DB를 갱신하며, 상기 서비스 라우팅 블록으로부터의 콘텍스트 정보를 이용하여 멀티캐스트 채널을 설정하고, 상기 서비스 라우팅 블록으로부터의 멀티캐스트 콘텐츠 전송 요청에 따라 멀티캐스트 요청 정보를 이용하여 멀티캐스트 DB를 갱신하고 하위의 콘텐츠 전달 블록에게 상기 설정된 멀티캐스트 채널을 통해 콘텐츠를 전송하기 위한 상기 콘텐츠 전달 블록(CD FE)을 포함한다.On the other hand, another system of the present invention for achieving the above object is an overlay multicast system, the context information management block (CIM FE) for requesting and obtaining the context information from the service policy decision block; Service routing for acquiring context information from the context information management block and delivering it to a content delivery block, selecting a group ID and a root node according to a multicast group creation request, and requesting the content delivery block to generate a multicast group. Block SR FE; Create a group DB according to a multicast group creation request from the service routing block, update the group DB according to a multicast group join or leave request, and set up a multicast channel using context information from the service routing block. And updating the multicast DB using the multicast request information according to the multicast content transmission request from the service routing block, and transmitting the content to a lower content delivery block through the set multicast channel. (CD FE).

여기서, 상기 콘텐츠 전달 블록은, 노드 장애가 발생하거나 멀티캐스트 그룹 참가 또는 탈퇴 발생 시에, 상기 서비스 라우팅 블록으로부터 콘텍스트 정보를 획득하여 멀티캐스트 채널을 재설정하는 기능을 더 수행한다.Here, the content delivery block further performs a function of resetting a multicast channel by obtaining context information from the service routing block when a node failure occurs or a multicast group joins or leaves a party.

또한, 상기 콘텐츠 전달 블록은, 상기 서비스 라우팅 블록으로부터의 멀티캐스트 그룹 해제 요청에 따라 상기 그룹 DB를 삭제하는 기능을 더 수행한다.The content delivery block further performs a function of deleting the group DB according to a multicast group release request from the service routing block.

또한, 상기 콘텐츠 전달 블록은, 상기 콘텐츠를 청크 단위로 분할하여 동일 클러스터 내의 콘텐츠 전달 블록들에게 분할 배포하고, 청크 파일별 위치(각 청크 파일이 전달된 각 노드)를 나타내는 콘텐츠 메타데이터를 갱신하여 관리하며, 상기 동일 클러스터 내의 콘텐츠 전달 블록들은, 상기 콘텐츠 메타데이터를 이용하여 청크 파일의 위치를 확인하여 다중 노드를 이용하여 서로 간에 청크 파일을 교환한다.
The content delivery block divides the content into chunks and divides the content into content delivery blocks in the same cluster, and updates content metadata indicating a location per chunk file (each node to which each chunk file is delivered). The content delivery blocks in the same cluster identify the location of the chunk file using the content metadata and exchange chunk files with each other using multiple nodes.

한편, 상기 목적을 달성하기 위한 본 발명의 다른 방법은, 오버레이 멀티캐스트 방법에 있어서, 콘텍스트 정보 관리 블록이 서비스 정책 결정 블록으로부터 콘텍스트 정보를 획득하는 단계; 서비스 라우팅 블록이 멀티캐스트 그룹 생성 요청에 따라 그룹 ID 생성 및 루트 노드를 선정하고, 멀티캐스트 그룹 생성을 콘텐츠 전달 블록에게 요청하는 단계; 상기 콘텐츠 전달 블록이 그룹 DB를 생성하고, 상기 서비스 라우팅 블록으로부터의 멀티캐스트 그룹 참여 또는 탈퇴 요청에 따라 상기 그룹 DB를 갱신하는 단계; 상기 서비스 라우팅 블록이 상기 콘텍스트 정보 관리 블록으로부터 콘텍스트 정보를 획득하여 상기 콘텐츠 전달 블록에게 전달하는 단계; 상기 콘텐츠 전달 블록이 콘텍스트 정보를 이용하여 멀티캐스트 채널을 설정하는 단계; 및 상기 콘텐츠 전달 블록이 상기 서비스 라우팅 블록으로부터의 멀티캐스트 콘텐츠 전송 요청에 따라 멀티캐스트 요청 정보를 이용하여 멀티캐스트 DB를 갱신하고, 하위의 콘텐츠 전달 블록에게 상기 설정된 멀티캐스트 채널을 통해 콘텐츠를 전송하는 단계를 포함한다.On the other hand, another method of the present invention for achieving the above object, the overlay multicast method, the context information management block to obtain the context information from the service policy decision block; The service routing block selecting a group ID and a root node according to the multicast group creation request and requesting the content delivery block to generate the multicast group; Generating, by the content delivery block, a group DB and updating the group DB according to a request for joining or leaving a multicast group from the service routing block; Obtaining, by the service routing block, context information from the context information management block and delivering the context information to the content delivery block; Establishing, by the content delivery block, a multicast channel using context information; And updating the multicast DB using the multicast request information according to the multicast content transmission request from the service routing block, and transmitting the content to the lower content delivery block through the set multicast channel. Steps.

또한, 상기 본 발명의 다른 방법은, 노드 장애가 발생하거나 멀티캐스트 그룹 참가 또는 탈퇴 발생 시에, 상기 콘텐츠 전달 블록이 상기 서비스 라우팅 블록으로부터 콘텍스트 정보를 획득하여 멀티캐스트 채널을 재설정하는 단계를 더 포함한다.In addition, the other method of the present invention further includes the step of resetting the multicast channel by obtaining the context information from the service routing block by the content delivery block when a node failure occurs or a multicast group joining or leaving a group occurs. .

또한, 상기 본 발명의 다른 방법은, 상기 콘텐츠 전달 블록이 상기 서비스 라우팅 블록으로부터의 멀티캐스트 그룹 해제 요청에 따라 상기 그룹 DB를 삭제하는 단계를 더 포함한다.
Further, the other method of the present invention further includes the content delivery block deleting the group DB according to a multicast group release request from the service routing block.

이처럼, 본 발명은 지역 분산된 콘텐츠 노드상에서 다수의 멤버에게 동일한 콘텐츠를 전송할 때, 효율적이고 빠른 전송 품질을 제공하기 위한 응용계층 멀티캐스트 기술에 관한 것으로, 기존 응용계층 멀티캐스트 기술에서 문제되는 각 노드의 부하, 장애, 네트워크 전송 품질에 의한 하위 노드 전송에 대한 영향도를 줄여 전송 속도 및 안정도를 높일 수 있다. 또한, 최상위 루트 노드에서부터 최하위 노드까지 전체 E2E(End-to-End) 전송 지연을 단축하기 위해 파일을 청크 단위로 관리하고 다중 소스로부터 파일을 교환하는 기법을 사용한다.
As such, the present invention relates to an application layer multicast technology for providing efficient and fast transmission quality when transmitting the same content to a plurality of members on a geographically distributed content node, and each node that is a problem in the existing application layer multicast technology. It is possible to increase the transmission speed and stability by reducing the influence of subordinate node transmission due to the load, failure, and network transmission quality. In addition, to reduce the overall end-to-end transmission delay from the top root node to the bottom node, a file management method is used in chunks and files are exchanged from multiple sources.

상기와 같은 본 발명은, 분산된 콘텐츠 노드상에서 IP 네트워크 계층 상위에서 오버레이망으로 구현된 다중 전송을 지원하는 멀티캐스트 기능을 구현하고, 이러한 오버레이 멀티캐스트 전송 성능을 향상시키기 위해 멀티캐스트 트리 선정을 하기 위한 토폴로지(topology), 노드 부하 정보를 이용하는 멀티캐스트 트리 선정기법, 단대단 전송 지연을 줄이기 위한 청크 단위 파일 전송 및 클러스터 간 파일 교환, 노드 장애나 과부하 등으로 인한 트리 재선정 방안을 제시한다.As described above, the present invention implements a multicast function that supports multiple transmissions implemented as an overlay network on an IP network layer on a distributed content node, and performs multicast tree selection to improve such overlay multicast transmission performance. This paper proposes a topology, multicast tree selection method using node load information, file transfer per chunk to reduce end-to-end transmission delay, file exchange between clusters, and tree reselection due to node failure or overload.

이를 통해 IP 멀티캐스트가 보편적 네트워크 서비스를 제공하지 못하는 상황에서, 보편적인 콘텐츠 노드를 이용하여 다중 전송을 효율적으로 지원하는 응용계층 멀티캐스트 기능을 구현하고, 기존 멀티캐스트의 단점인 네트워크단의 전송 품질 문제, 노드 부하 상황, 그룹 전체 전송 지연을 개선할 수 있으며, 네트워크 및 노드 장애에 대해서 안정적으로 다중 전송을 지원할 수 있는 효과가 있다.This enables the application layer multicast function to efficiently support multiple transmissions using universal content nodes in the situation that IP multicast cannot provide universal network service, and the transmission quality of the network side, which is a disadvantage of the existing multicast. It can improve the problem, node load situation, group-wide transmission delay, and can reliably support multiple transmissions for network and node failures.

즉, 본 발명에서는 청크(chunk) 그룹을 수신한 노드가 해당 클러스터 내의 타 노드와 청크 파일을 교환하여 E2E 지연 속도를 줄일 수 있으며, 주 노드(main node)에서 여러 개의 지역 노드로 동시에 파일을 전송할 때 부하 증가로 인한 전송 품질 저하를 개선할 수 있는 효과가 있다.
That is, in the present invention, a node receiving a chunk group can reduce the E2E delay rate by exchanging a chunk file with another node in the cluster, and simultaneously transmits a file from a main node to several local nodes. When the load is increased, there is an effect to improve the transmission quality degradation.

도 1은 본 발명에 따른 오버레이 멀티캐스트 기능 및 절차에 대한 일실시예 설명도,
도 2는 본 발명에 따른 오버레이 멀티캐스트 시스템의 일실시예 기능 블록도,
도 3은 본 발명에 따른 오버레이 멀티캐스트 연동 프로토콜에 대한 일실시예 설명도,
도 4는 본 발명에 따른 오버레이 멀티캐스트 기본 흐름을 나타내는 일실시예 도면,
도 5는 본 발명에 따른 오버레이 멀티캐스트 파일 분배 및 교환 방식을 설명하기 위한 일실시예 도면,
도 6은 본 발명에 따른 오버레이 멀티캐스트 파일 분배 및 교환 과정에 대한 일실시예 흐름도,
도 7은 본 발명에 따른 네트워크 콘텍스트(Network Context) 정보와 리소스 콘텍스트(Resource Context) 정보를 이용한 멀티캐스트 트리 선정 과정에 대한 일실시예 설명도,
도 8은 본 발명에 따른 네트워크 콘텍스트(Network Context) 정보와 리소스 콘텍스트(Resource Context) 정보를 이용한 멀티캐스트 트리 선정 과정에 대한 일실시예 흐름도,
도 9는 본 발명에 따른 노도 과부하 시 신규 노드 추가에 대한 일예시도,
도 10은 본 발명에 따른 노드 장애, 과부하 시 멀티캐스트 트리 재구성에 대한 일예시도,
도 11은 본 발명의 다른 실시예에 따른 오버레이 멀티캐스트를 위한 전체 시스템의 기능 블록도,
도 12는 본 발명의 다른 실시예에 따른 오버레이 멀티캐스트 연동 프로토콜에 대한 설명도,
도 13은 본 발명의 다른 실시예에 따른 오버레이 멀티캐스트 기본 흐름을 나타내는 도면,
도 14는 본 발명의 다른 실시예에 따른 오버레이 멀티캐스트 파일 분배 및 교환 과정에 대한 흐름도,
도 15는 본 발명의 다른 실시예에 따른 네트워크 콘텍스트(Network Context) 정보와 리소스 콘텍스트(Resource Context) 정보를 이용한 멀티캐스트 트리 선정 과정에 대한 흐름도이다.
1 is a diagram illustrating an embodiment of an overlay multicast function and procedure according to the present invention;
2 is a functional block diagram of an embodiment of an overlay multicast system according to the present invention;
3 is a diagram illustrating an embodiment of an overlay multicast interworking protocol according to the present invention;
4 is an embodiment diagram illustrating an overlay multicast basic flow according to the present invention;
5 is a diagram for describing an overlay multicast file distribution and exchange method according to the present invention;
6 is a flowchart illustrating an embodiment of an overlay multicast file distribution and exchange process according to the present invention;
FIG. 7 is a diagram for explaining a multicast tree selection process using network context information and resource context information according to an embodiment of the present invention; FIG.
8 is a flowchart illustrating a multicast tree selection process using network context information and resource context information according to the present invention;
9 is an exemplary view illustrating the addition of a new node when overloading the road according to the present invention;
10 is an exemplary diagram for multicast tree reconstruction during node failure and overload according to the present invention;
11 is a functional block diagram of an entire system for overlay multicast according to another embodiment of the present invention;
12 is an explanatory diagram of an overlay multicast interworking protocol according to another embodiment of the present invention;
13 is a diagram illustrating an overlay multicast basic flow according to another embodiment of the present invention;
14 is a flowchart of an overlay multicast file distribution and exchange process according to another embodiment of the present invention;
15 is a flowchart illustrating a multicast tree selection process using network context information and resource context information according to another embodiment of the present invention.

상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings, It can be easily carried out. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

그리고 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때 이는 "직접적으로 연결"되어 있는 경우뿐만 아니라 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함" 또는 "구비"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함하거나 구비할 수 있는 것을 의미한다.
And throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between. Also, when a component is referred to as " comprising "or" comprising ", it does not exclude other components unless specifically stated to the contrary .

일반적으로, 일대 다 스트리밍, 일대 다 파일전송 등의 응용에서 송신자의 데이터 전송 부하 및 네트워크의 대역폭 사용량을 줄이기 위해서 멀티캐스트 기술을 사용한다.In general, multicast technology is used to reduce the sender's data transmission load and network bandwidth usage in applications such as one-to-many streaming and one-to-many file transfer.

IP 멀티캐스트 기술이 가장 효율적으로 네트워크 자원을 활용하여 멀티캐스트를 지원하는 방법으로 알려져 있지만, 현재 여러 가지 장애 요인으로 인해 실제 네트워크에 보편적으로 사용되고 있지 않다.Although IP multicast technology is known as the most efficient way to support multicast by utilizing network resources, it is currently not widely used in real networks due to various obstacles.

따라서 본 발명에서는 IP 멀티캐스트 기능이 적용되지 않는 범용의 콘텐츠 노드에서 IP 멀티캐스트 기술을 사용하지 않고 지역적으로 분산 배치된 콘텐츠 노드들 상에 구현된 오버레이망 기술로서 일대 다 콘텐츠 전송을 효율적으로 하기 위한 응용계층 멀티캐스트 시스템 및 그 방법을 제공한다.Therefore, in the present invention, as an overlay network technology implemented on locally distributed content nodes without using IP multicast technology in a general-purpose content node to which the IP multicast function is not applied, for efficient one-to-many content transmission An application layer multicast system and a method thereof are provided.

콘텐츠 노드는 콘텐츠를 가입자망(Access 망) 측에 가까운 근접 노드로 분산 배치되어 고객에게 고품질 콘텐츠를 지연이나 끊김 없이 제공하기 위한 분산된 노드로서, 본 발명은 콘텐츠 노드의 IP 네트워크 계층 위에서 오버레이 방식으로 멀티캐스트 기능을 구현하여 오버레이 멀티캐스트의 전송 성능 및 안정성을 향상시킬 수 있다.The content node is a distributed node for distributing content to neighboring nodes close to the subscriber network (access network) to provide high quality content to customers without delay or interruption. The present invention provides an overlay method on an IP network layer of the content node. By implementing the multicast function, the transmission performance and stability of overlay multicast can be improved.

즉, 본 발명은 지역 분산된 콘텐츠 노드들상에서 동일한 흥미(interest)를 가진 그룹을 관리하여 그룹에게 전달할 메시지(파일, 콘텐츠)를 효율적이고 고품질로 전달하기 위한 방법 및 장치에 관한 것이다.That is, the present invention relates to a method and apparatus for managing a group having the same interest on locally distributed content nodes to efficiently and high-quality delivering a message (file, content) to be delivered to the group.

콘텐츠 노드는 대용량 고품질 멀티미디어 콘텐츠를 가입자망(Access 망) 측에 가깝게 분산 배치하여 콘텐츠를 미리 프리-포지션(pre-position)하거나 캐싱하여 고객에게 끊김이나 지연 없이 고품질로 전달하기 위한 콘텐츠 전달(Content Delivery) 서비스 노드이다. 콘텐츠 노드는 다량의 콘텐츠를 유연하고 확장성 있고 자율적으로 관리하기 위한 콘텐츠 분산 관리 구조를 가진다. 각 콘텐츠 노드는 고유의 노드ID를 가지며, 노드ID별로 자신이 관리해야 할 키(Key) 값들을 가진다. 각 노드가 관리해야 할 키 값의 범위를 키 관리 범위(Key Range)라고 한다. 만약, 노드ID가 6비트(bit)인 4개의 노드가 각각 13, 27, 43, 57의 ID를 가질 때 각 노드가 관리해야 할 키 값의 범위는 하기의 [표 1]과 같다.
The content node distributes large amounts of high-quality multimedia content close to the access network side, pre-positions or caches the content in advance, and delivers the content to customers in high quality without interruption or delay. ) Service node. The content node has a content distribution management structure for managing a large amount of content in a flexible, scalable and autonomous manner. Each content node has a unique node ID and has key values to be managed for each node ID. The range of key values that each node must manage is called the key range. If four nodes having a node ID of 6 bits have IDs of 13, 27, 43, and 57, respectively, the range of key values to be managed by each node is shown in Table 1 below.

노드 IDNode ID 노드의 키 관리 범위(Key Range)Node Key Management Range 13(001101)13 (001101) [13] ~ [26][13] to [26] 27(011011)27 (011011) [27] ~ [42][27] to [42] 43(101011)43 (101011) [43] ~ [56][43] to [56] 57(111001)57 (111001) [57] ~[63], [0]~ [12][57]-[63], [0]-[12]

콘텐츠 노드의 응용계층에 멀티캐스트 기능을 구현하기 위해서 콘텐츠 노드는 동일한 흥미(interest)를 가진 그룹에 대한 그룹 생성, 그룹 가입, 그룹 탈퇴, 그룹 해제, 그룹 메시지전송 등과 같은 기능을 지원한다.In order to implement the multicast function in the application layer of the content node, the content node supports functions such as group creation, group join, group leave, group release, group message transmission, and the like for groups having the same interest.

그룹을 생성하기 위해서, 생성을 요청하는 노드는 동일한 흥미(interest)를 가진 그룹에 대해 고유한 GroupID를 해쉬(Hash) 함수(예 : SHA256())를 사용하여 생성하고, 생성된 GroupID 값(k)을 자신의 키 관리 범위(Key Range)에 포함하는 노드를 그룹의 루트 노드(root node)로 선정하고, 선정된 루트 노드(root node)에 그룹 생성을 요청한다. 그룹 생성을 요청받은 루트 노드는 그룹의 멤버 정보를 그룹 DB(Database)로 관리한다.To create a group, the node requesting creation creates a unique GroupID for a group with the same interest using a hash function (e.g. SHA256 ()), and creates a GroupID value (k ) Is selected as a root node of the group, and a group creation request is made to the selected root node. The root node that is requested to create a group manages the member information of the group through a group DB (Database).

그룹 DB의 관리 정보는 하기의 [표 2]와 같다.
Management information of the group DB is shown in Table 2 below.

관리항목Management topics 값(예시)Value (example) 그룹ID Group ID 28(011100)28 (011100) Member 1 (노드 ID)Member 1 (Node ID) 12(001100)12 (001100) Member 2 (노드 ID)Member 2 (Node ID) 38(100110)38 (100110)

그룹에 새롭게 가입하거나, 탈퇴하고자 하는 노드는 그룹의 루트 노드에게 그룹 가입 또는 그룹 탈퇴를 요청한다. 루트 노드는 그룹 DB에 해당 노드를 추가하거나, 그룹 DB에서 해당 노드를 삭제하여 가입 또는 탈퇴 처리를 한다.A node newly joining or leaving the group requests the group's root node to join or leave the group. The root node adds the node to the group DB or deletes the node from the group DB to join or leave the group.

그룹에 메시지(파일)를 보내고자 하는 노드는 루트 노드에게 메시지 전송을 요청한다. 루트 노드는 멀티캐스트(Multicast) DB에 메시지를 저장하고, 메시지에 콘텐츠 전달 시퀀스(Sequence) 번호(특정 멀티캐스트 그룹이나 사용자에게 전송할 콘텐츠의 순차 번호)를 부여한다. 메시지에 콘텐츠 전달 시퀀스(Sequence) 번호를 부여함으로써, 그룹에서 전송해야 할 메시지를 시간 순서대로 전송할 수 있게 된다.The node that wants to send a message (file) to the group requests the root node to send the message. The root node stores the message in a multicast DB and gives the message a content delivery sequence number (sequential number of content to be sent to a particular multicast group or user). By assigning a content delivery sequence number to a message, messages to be transmitted in a group can be transmitted in chronological order.

루트 노드에서 관리하는 멀티캐스트 DB의 관리 정보는 하기의 [표 3]과 같다.
Management information of the multicast DB managed by the root node is shown in Table 3 below.

관리항목Management topics 값(예시)Value (example) 그룹ID Group ID 28(011100)28 (011100) 콘텐츠 전달 시퀀스 번호(Sequence No.)Content Delivery Sequence Number 22 송신자 ID (노드 ID)Sender ID (Node ID) 6(000110)6 (000110) 파일 IDFile ID 33(100001)33 (100001)

도 1은 본 발명에 따른 오버레이 멀티캐스트 기능 및 절차에 대한 일실시예 설명도이다.1 is a diagram illustrating an embodiment of an overlay multicast function and procedure according to the present invention.

도 1에 도시된 바와 같이, 오버레이 멀티캐스트 기능 구현을 위해서는 오버레이 멀티캐스트 시스템이 그룹 생성, 그룹 가입/탈퇴, 멀티캐스트(Multicast) 메시지 전송, 그룹 해제의 기능을 포함한다.As shown in FIG. 1, in order to implement the overlay multicast function, the overlay multicast system includes functions of group creation, group join / leave, multicast message transmission, and group release.

이와 같은 기능을 구현하기 위해서 오버레이 멀티캐스트 시스템은 몇 가지 기능 블록(Functional Entity)을 포함하며, 각 기능 블록의 역할은 도 2에 도시된 바와 같다.In order to implement such a function, the overlay multicast system includes several functional entities, and the role of each functional block is illustrated in FIG. 2.

도 2는 본 발명에 따른 오버레이 멀티캐스트 시스템의 일실시예 기능 블록도로서, 이러한 각 블록의 주요 기능은 하기 [표 4]의 오버레이 멀티캐스트 시스템 기능 블록 정의와 같다.
FIG. 2 is an exemplary functional block diagram of an overlay multicast system according to the present invention. The main functions of each block are as defined in the overlay multicast system functional block of Table 4 below.

기능 블록Function block 주요 기능main function 서비스 라우팅 블록(SR FE : Service Routing Functional Entity)Service Routing Block (SR FE: Service Routing Functional Entity) 오버레이 네트워크 내에서 서비스 라우팅을 제공함
서비스 요청 수신, 대상 서비스 분석(해석), 요청을 대상 목적지로 전달함
Provides service routing within the overlay network
Receive service request, target service analysis (interpretation), forward request to target destination
아이덴티티 관리(IDM : Identity Management) 블록(FE)Identity Management (IDM) Block (FE) ID 인증과 권한을 관리함
사용자 프로파일을 관리함
멀티캐스트 그룹(Group) 정보를 관리함
Manages identity authentication and permissions
Manage user profiles
Manages multicast group information
서비스 정책 결정(SPD : Service Policy
Decision) 블록(FE)
Service Policy Decision (SPD: Service Policy
Decision Block (FE)
네트워크 상태 및 리소스 정보를 이용하여 최적의 멀티캐스트(Multicast) 경로를 설정함
네트워크 자원 상태 감시 및 정보 수집
QoS(Quality of Service) 적용
Set the optimal multicast route using network status and resource information
Monitor network resource status and gather information
Applying Quality of Service
서비스 탐색 및 협상(SDN : Service Discovery and Negotiation) 블록(FE)Service Discovery and Negotiation (SDN) Block (FE) 콘텐츠 메타정보(콘텐츠 제목, 사이즈, 공급자, 등급, 콘텐츠 위치 등)를 관리함Manage content meta information (content title, size, supplier, rating, content location, etc.) 콘텐츠 전달(CD : Content Delivery) 블록(FE)Content Delivery (CD) Block (FE) 콘텐츠 수신, 콘텐츠 통합
콘텐츠 전송 : 유니캐스트(Unicast) 또는 멀티캐스트(Multicast)를 통해 콘텐츠 어그리게이션(content Aggregation)으로부터 서비스 요청자에게 콘텐츠를 전달함
Receive content, integrate content
Content Delivery: Delivers content to service requester from content aggregation through unicast or multicast.
오버레이 관리(OM : Overlay Management) 블록(FE)Overlay Management Block (FE) 서비스 노드들의 상태(상태, 가용자원) 감시 및 정보 수집Status monitoring and information collection of service nodes 콘텍스트 정보 관리(CIM : Context Information management) 블록(FE)Context Information Management (CIM) Block (FE) 네트워크, 서비스, 노드 콘텍스트(context) 정보 수집 및 정보 관리Collect and manage network, service, and node context information

도 3은 본 발명에 따른 오버레이 멀티캐스트 연동 프로토콜에 대한 일실시예 설명도로서, 이에 대한 주요 기능은 하기 [표 5]의 오버레이 멀티캐스트 연동 프로토콜 정의와 같다.
3 is a diagram illustrating an embodiment of an overlay multicast interworking protocol according to the present invention, and a main function thereof is as defined in the overlay multicast interworking protocol of Table 5 below.

프로토콜protocol 설 명Explanation 콘텐츠 위치 갱신(Content location update)Content location update 콘텐츠 전달 블록(CD FE)이 서비스 탐색 및 협상 블록(SDN FE)으로 콘텐츠 위치 갱신을 요청한다.The content delivery block (CD FE) requests the content location update to the service discovery and negotiation block (SDN FE). 콘텐츠 탐색(Content discovery)Content discovery 콘텐츠 전달 블록(CD FE)이 서비스 탐색 및 협상 블록(SDN FE)으로 콘텐츠 위치 탐색을 요청한다.The content delivery block (CD FE) requests the content location search to the service discovery and negotiation block (SDN FE). 멀티캐스트 요청(Multicast request)Multicast request 서비스 라우팅 블록(SR FE)이 최종 사용자(end user)나 서비스로의 멀티캐스트(multicast) 전송을 콘텐츠 전달 블록(CD FE)으로 요청한다.The service routing block SR FE requests a multicast transmission to an end user or service to the content delivery block CD FE. 멀티캐스트 그룹 관리(Multicast Group Management)Multicast Group Management 서비스 라우팅 블록(SR FE)이 아이덴티티 관리 블록(IDM FE)으로 멀티캐스트 그룹(multicast group)에 대한 정보의 생성, 변경, 삭제를 요청한다.The service routing block SR FE requests the creation, change and deletion of information on a multicast group to the identity management block IDM FE. 콘텐츠 저장 및 캐시(Content storage & cache)Content storage & cache 콘텐츠 전달 블록(CD FE)은 자신의 스토리지와 캐시를 관리한다.The Content Delivery Block (CD FE) manages its storage and cache. 멀티캐스트 채널 설정(Multicast channel setup)Multicast channel setup 콘텐츠 전달 블록(CD FE)은 서비스 정책 결정 블록(SPD FE)에게 멀티캐스트 채널(multicast channel) 생성 요청을 전달한다.
서비스 정책 결정 블록(SPD FE)은 콘텐츠 전달 블록(CD FE)에게 멀티캐스트 채널 설정(multicast channel setup) 명령을 전달한다.
The content delivery block (CD FE) transmits a multicast channel creation request to the service policy decision block (SPD FE).
The service policy decision block (SPD FE) delivers a multicast channel setup command to the content delivery block (CD FE).
콘텍스트 정보 요청(Request Context Information)Request context information 서비스 라우팅 블록(SR FE)은 콘텍스트 정보 관리 블록(CIM FE)으로 콘텍스트(context) 정보를 요청한다.The service routing block SR FE requests context information from the context information management block CIM FE. 리소스 정보 요청(Request Resource Information)Request Resource Information 콘텍스트 정보 관리 블록(CIM FE)은 서비스 노드의 리소스 정보(노드 상태, 리소스 가용성 정보)를 오버레이 관리 블록(OM FE)으로 요청한다.
콘텍스트 정보 관리 블록(CIM FE)은 노드의 리소스 정보를 관리하고 다른 기능 블록(FE)이나 서비스가 요청 시에 리소스 콘텍스트 정보를 제공한다.
The context information management block CIM FE requests resource information (node state, resource availability information) of the service node to the overlay management block OM FE.
The context information management block (CIM FE) manages the resource information of the node and provides resource context information when requested by another function block (FE) or service.

도 4는 본 발명에 따른 오버레이 멀티캐스트 기본 흐름을 나타내는 일실시예 도면이다.4 is a diagram illustrating an overlay multicast basic flow according to the present invention.

먼저, 콘텍스트 정보 관리 블록(CIM FE)은 서비스 정책 결정 블록(SPD FE)에게 네트워크 콘텍스트 정보를 요청한다. 그러면, 서비스 정책 결정 블록(SPD FE)은 네트워크 정보를 모니터링함으로써 네트워크 콘텍스트 정보를 콘텍스트 정보 관리 블록(CIM FE)으로 제공한다(400). 그리고 콘텍스트 정보 관리 블록(CIM FE)은 오버레이 관리 블록(OM FE)에게 리소스 콘텍스트 정보를 요청한다. 그러면, 오버레이 관리 블록(OM FE)은 노드의 동적 정보를 모니터링함으로써 리소스 콘텍스트 정보를 콘텍스트 정보 관리 블록(CIM FE)에게 제공한다(401).First, the context information management block CIM FE requests network context information from the service policy decision block SPD FE. The service policy decision block (SPD FE) then provides the network context information to the context information management block (CIM FE) by monitoring the network information (400). The context information management block CIM FE requests the resource context information from the overlay management block OM FE. The overlay management block OM FE then provides 401 the resource context information to the context information management block CIM FE by monitoring the node's dynamic information.

이후, 서비스 요청자(Service Requester, 단말기)가 멀티캐스트 그룹 생성을 서비스 라우팅 블록(SR FE) 1에게 요청한다(402).Thereafter, the service requester (terminal) requests the service routing block (SR FE) 1 to generate a multicast group (402).

그러면, 서비스 라우팅 블록(SR FE) 1은 그룹 ID를 생성하고 해당 그룹의 루트 노드를 선정한다(403).Then, the service routing block (SR FE) 1 generates a group ID and selects a root node of the group (403).

그리고 서비스 라우팅 블록(SR FE) 1은 멀티캐스트 그룹 생성을 아이덴티티 관리 블록(IDM FE)에게 요청한다(404).The service routing block SR FE 1 requests the identity management block IDM FE to generate a multicast group (404).

그러면, 아이덴티티 관리 블록(IDM FE)은 그룹 DB(멀티캐스트 그룹 DB를 의미함)를 생성한다(405).The Identity Management Block (IDM FE) then creates a group DB (meaning a multicast group DB) (405).

한편, 서비스 라우팅 블록(SR FE) 2는 서비스 라우팅 블록(SR FE) 1에게 멀티캐스트 그룹의 참여 또는 탈퇴를 요청한다(406).Meanwhile, the service routing block (SR FE) 2 requests the service routing block (SR FE) 1 to join or leave the multicast group (406).

그러면, 서비스 라우팅 블록(SR FE) 1은 아이덴티티 관리 블록(IDM FE)에게 멀티캐스트 그룹의 참여 또는 탈퇴 요청을 전달한다(407).Then, the service routing block (SR FE) 1 forwards a request to join or leave the multicast group to the identity management block (IDM FE) (407).

그러면, 아이덴티티 관리 블록(IDM FE)은 그룹 DB를 갱신(추가 또는 삭제 등)한다(408).The Identity Management Block (IDM FE) then updates (adds or deletes, etc.) the group DB (408).

그리고 서비스 라우팅 블록(SR FE) 1은 콘텍스트 정보 관리 블록(CIM FE)에게 콘텍스트 정보를 요청한다. 그러면, 콘텍스트 정보 관리 블록(CIM FE) 1은 서비스 라우팅 블록(SR FE) 1에게 콘텍스트 정보를 제공한다(409).The service routing block SR FE 1 requests context information from the context information management block CIM FE. The context information management block CIM FE 1 then provides the context information to the service routing block SR FE 1 (409).

한편, 콘텐츠 전달 블록(CD FE) 1은 멀티캐스트 채널 설정을 서비스 정책 결정 블록(SPD FE)에게 요청한다(410).Meanwhile, the content delivery block (CD FE) 1 requests the service policy decision block (SPD FE) to establish a multicast channel (410).

그러면, 서비스 정책 결정 블록(SPD FE)은 관련된 콘텐츠 전달 블록들(CD FE 1,2)에게 멀티캐스트 채널 설정 요청을 전달한다(411). 그에 따라, 콘텐츠 전달 블록들(CD FE 1,2)은 멀티캐스트 채널을 설정한다.Then, the service policy determination block SPD FE forwards the multicast channel establishment request to the related content delivery blocks CD FE 1,2. Accordingly, the content delivery blocks CD FE 1,2 establish a multicast channel.

한편, 서비스 라우팅 블록(SR FE) 1은 콘텐츠 전달 블록(CD FE) 1에게 멀티캐스트를 요청한다(412).Meanwhile, the service routing block SR FE 1 requests the multicast to the content delivery block CD FE 1 (412).

그러면, 콘텐츠 전달 블록(CD FE) 1은 아이덴티티 관리 블록(IDM FE)에게 멀티캐스트 DB 갱신을 요청한다(413).Then, the content delivery block (CD FE) 1 requests the multicast DB update from the identity management block (IDM FE) (413).

그리고 콘텐츠 전달 블록(CD FE) 1은 콘텐츠 전달 블록(CD FE) 2에게 멀티캐스트 콘텐츠를 전송한다(414).The content delivery block (CD FE) 1 transmits the multicast content to the content delivery block (CD FE) 2 (414).

이후, 서비스 요청자(Service Requester)는 서비스 라우팅 블록(SR FE) 1에게 멀티캐스트 그룹 해제를 요청한다(415).Thereafter, the service requester requests the service routing block SR FE 1 to release the multicast group (415).

그러면, 서비스 라우팅 블록(SR FE) 1은 아이덴티티 관리 블록(IDM FE)에게 멀티캐스트 그룹 해제를 요청한다(416).Then, the service routing block (SR FE) 1 requests the multicast group release from the identity management block (IDM FE) (416).

그러면, 아이덴티티 관리 블록(IDM FE)은 해당 그룹(group) DB를 삭제한다(417).
Then, the identity management block (IDM FE) deletes the group DB (417).

도 5는 본 발명에 따른 오버레이 멀티캐스트 파일 분배 및 교환 방식을 설명하기 위한 일실시예 도면이다.5 is a diagram illustrating an overlay multicast file distribution and exchange method according to the present invention.

오버레이 멀티캐스트에서도 루트 노드가 선정되고 나면 전송 트리를 구성한다. 이때, 전송 트리는 주로 계층적으로 구성하는 데, 루트 노드, 주 노드, 지역 노드로 이루어진다. 주 노드는 전국에 주요 도시를 거점으로 하는 중간 계층의 노드이고, 지역 노드는 주 노드가 관할하는 가입자 근접 최하위 노드이다. 예를 들어, 주 노드는 서울, 부산, 대구, 대전 등 대도시에 10여개가 있을 수 있고, 지역 노드는 서울 지역별로 20여개, 부산, 대구, 대전 등도 각각 10여개 안팎으로 구성될 수 있다.In overlay multicast, after the root node is selected, the transport tree is constructed. At this time, the transmission tree is mainly hierarchically composed of a root node, a main node, and a local node. The main node is a middle tier node based in major cities throughout the country, and the local node is the lowest neighboring node close to subscribers managed by the main node. For example, there may be about 10 main nodes in large cities such as Seoul, Busan, Daegu, and Daejeon, and about 20 regional nodes may be configured in about 20 Seoul, Busan, Daegu, and Daejeon.

메시지 전송 방식은 그룹 멤버의 수에 따라 결정한다. 그룹 멤버의 수가 플러딩 기준값(flooding threshold) 이하일 때는 루트 노드가 메시지를 복제해서 일대일로 전송한다. 그러나 그룹 멤버의 수가 플러딩 기준값 이상일 때는 플러딩(flooding) 방식을 사용한다.The message transmission method is determined by the number of group members. When the number of group members is below the flooding threshold, the root node replicates the message and sends it one-to-one. However, when the number of group members is larger than the flooding threshold, the flooding method is used.

플러딩은 루트 노드로부터 계층적인 트리 구조로 전송되는 데, 이때 전송해야 할 파일 사이즈가 큰 경우 수신 노드가 파일을 모두 수신한 후 자신의 하위 노드로 전송하기 때문에 전송 지연이 길어지는 문제가 발생한다. 또한, 파일 사이즈가 큰 경우 전송 오류가 발생할 확률이 높아지며 파일 전송 오류 발생 시 특정값(재전송 시도회수 값, 예 : 3회)에 따라 재전송을 시도한다. 따라서 이러한 재전송에 의한 지연 시간도 길어지게 된다. 본 발명에서는 이를 개선하기 위해서 파일 사이즈가 임계 사이즈(예 : 200M) 이상 큰 경우 파일을 미리 정해진 사이즈(예 : 2M)의 청크(chunk) 단위로 분할하여 저장하고 청크(chunk) 단위로 전송한다. 파일을 청크(chunk) 단위로 분할할 때 파일 시퀀스 번호(Sequence No)를 부여함에 따라 수신 노드 측에서는 전체 청크(chunk) 파일을 모두 수신한 후 파일 시퀀스 번호(Sequence No)에 따라 파일을 재결합한다.Flooding is transmitted from the root node to a hierarchical tree structure. In this case, when the file size to be transmitted is large, the receiving node receives a file and transmits the file to its subordinate node, thereby causing a long transmission delay. In addition, if the file size is large, the probability of transmission error is increased. When a file transmission error occurs, retransmission is attempted according to a specific value (number of retransmission attempts, for example, 3 times). Therefore, the delay time caused by this retransmission also becomes long. In order to improve this, in the present invention, when a file size is larger than a threshold size (for example, 200M), the file is divided into chunks of a predetermined size (for example, 2M) and stored and transmitted in chunk units. When the file is divided into chunks, a file sequence number is assigned, and the receiving node receives all the chunk files and reassembles the files according to the file sequence number.

이렇게 파일을 청크 단위로 분할하여 하나의 송신 노드에서 다수의 하위 노드로 파일을 송신할 때 동시에 파일을 송신하는 병렬 처리를 함으로써, 성능을 향상시킬 수 있다. 본 발명에서는 파일 송신을 병렬로 함으로써, 전송 속도를 줄일 수 있다. 한 개의 노드에서 다수 개의 노드로 파일을 병렬로 송신할 때 성능 향상을 위해서 동일한 청크 파일을 동시에 다수 노드에 전송하는 것이 아니라 파일 입/출력(I/O) 경합을 줄이기 위해 각각 다른 청크 파일을 송신한다. 이때, 자신의 하위 노드로 동시에 청크 파일들을 전송할 때 중복되지 않게 적절하게 그룹핑(grouping)하여 전송하는 방법이 필요하다. 본 발명에서는 일예로 전체 청크의 수를 하위 노드의 수로 균일하게 나누는 방법을 사용한다.By dividing the file into chunks in this manner, performance can be improved by performing parallel processing to simultaneously transmit files when transmitting files from one transmitting node to a plurality of lower nodes. In the present invention, transmission speed can be reduced by performing file transmission in parallel. When sending files from one node to multiple nodes in parallel, instead of sending the same chunk file to multiple nodes simultaneously for better performance, send different chunk files to reduce file I / O contention. do. In this case, there is a need for a method of appropriately grouping and transmitting the chunk files so as not to overlap when simultaneously transmitting the chunk files to the subordinate nodes. In the present invention, for example, a method of uniformly dividing the total number of chunks by the number of lower nodes is used.

즉, 예를 들어 영화 하나의 파일을 100개의 청크 파일로 분할하여 전송할 경우, 주 노드가 지역 노드에게 전송할 때 주 노드가 전송해야 할 지역 노드 수가 4개인 경우 청크번호 1~25, 26~50, 51~75, 76~100으로 청크 파일을 4개 그룹으로 그룹핑(grouping)하여 일대일로 각 지역 노드로 전송한다. 이렇게 함으로써 4개의 지역 노드에게 서로 중복되지 않는 청크 파일을 전송하는 동시에 입/출력(I/O) 경합을 줄이면서 최대한 빨리 전체 청크 파일을 균형있게 전송할 수 있다.That is, for example, when a movie is divided into 100 chunk files and transmitted, when the main node transmits to the local node, when the main node has 4 local nodes to transmit, the chunk numbers 1 to 25, 26 to 50, The chunk files are grouped into four groups, 51-75 and 76-100, and transmitted to each local node one-to-one. This ensures a balanced transfer of the entire chunk file as soon as possible while reducing input / output (I / O) contention while simultaneously transmitting non-overlapping chunk files to the four local nodes.

또한, 본 발명에서는 주로 오버레이 멀티캐스트 트리 구조가 최하위 단에 수신 노드의 수가 몰리게 되는 구조임을 고려하여, 중간 노드(주 노드)에서 최하위 노드(지역 노드)로 파일을 최대한 신속하게 전송하여 전송 지연을 줄이기 위해서, 중간 노드에서 각 최하위 노드로 청크 파일을 하위 노드 수만큼 중복하여 전송하는 방식이 아니라, 클러스터 내의 각 노드에게 청크 파일을 분산하여 한번 전송하고, 클러스터 내에서 각 노드들끼리 청크 파일을 서로 교환하는 방식을 사용한다.In addition, the present invention mainly considers that the overlay multicast tree structure is a structure in which the number of receiving nodes is concentrated at the lowest level, so that files are transmitted as quickly as possible from the intermediate node (main node) to the lowest node (local node) to reduce the transmission delay. In order to reduce the number of chunk files, the chunk file is distributed to each node in the cluster, and the chunk file is distributed once to each node in the cluster, and the chunk files are transferred to each node in the cluster. Use the exchange method.

예를 들어, 하나의 주 노드에서 4개의 지역 노드(하나의 클러스터 내에 속함)로 파일을 전송할 때, 4개의 지역 노드에 모두 동일한 청크 파일을 4번 중복해서 전송하는 방식이 아니라, 청크 파일을 1/4씩 그룹핑(grouping)하여 4개의 지역 노드에 1/4씩 그룹핑(grouping)된 청크 파일을 일대일로 전송한 후, 클러스터 내의 각 지역 노드끼리 하나의 노드가 아닌 다중 노드(소스)를 이용하여 청크 파일을 교환함으로써 전송 지연을 줄일 수 있다.For example, when transferring a file from one primary node to four local nodes (which are in a cluster), the chunk file is sent as 1 rather than the same chunk file four times in all four local nodes. Group chunks by 4 to transfer chunk files grouped by 1/4 to 4 local nodes one-to-one, and then use multiple nodes (sources) instead of one node for each local node in the cluster. The exchange delay can be reduced by exchanging chunk files.

이때, 동일한 클러스터 내의 지역 노드 간에 청크 파일을 교환할 때 청크 파일 위치를 확인해야 하는 데, 주 노드에서 클러스터 내의 각 지역 노드들로 송신한 청크 파일 정보(콘텐츠 메타정보)를 관리하고 있고, 각 클러스터 내에 수신을 완료한 지역 노드들은 수신완료함을 자신의 지역 노드에 업데이트(update)함과 동시에 다른 청크 파일들의 위치를 주 노드로부터 읽어와서 자신이 받아와야 할 청크 파일과 해당 지역 노드를 확인한 후 클러스터 내 각 지역 노드들과 다중으로 파일을 교환함으로써 전체 전송 지연 시간을 줄일 수 있다.At this time, when the chunk file is exchanged between local nodes in the same cluster, the chunk file location must be checked. The main node manages the chunk file information (content meta information) transmitted from each node to each local node in the cluster. Local nodes that have completed reception within the cluster update the reception completion to their local node and read the location of other chunk files from the main node to check the chunk file and the local node that they should receive, and then cluster. By exchanging multiple files with each local node in the network, the overall transfer latency can be reduced.

전술한 실시예에서 1개 주 노드에서 4개의 지역 노드로 100개 청크 파일을 동시에 송신하는 경우의 시간을 T라고 할 때, 1개 주 노드에서 25개씩 그룹핑(grouping)된 청크 파일을 클러스터 내의 4개 지역 노드로 전송한 후 클러스터 내의 각 지역 노드가 자신을 제외한 3개의 지역 노드로부터 동시에 청크 파일을 25개씩 전달받는 방식의 전송 시간은 T/2로 감소하게 된다.In the above-described embodiment, when the time when 100 chunk files are simultaneously transmitted from one primary node to four local nodes is T, the chunk files grouped by 25 at one primary node are 4 After transmitting to the local nodes, the transmission time of each local node in the cluster receiving 25 chunk files simultaneously from three local nodes except itself is reduced to T / 2.

즉, 동일한 클러스터 내에 노드 수가 증가하게 되면 될수록 기존 방식과 비교해서 전송 속도가 증가한다. 다시 말하면, 노드 간에 청크 파일을 교환할 때는 하나의 소스 노드로부터 파일을 전송받는 게 아니라 자신을 제외한 N-1개의 다중 소스로부터 파일을 수신하게 되므로, 전송 속도는 클러스터 내 노드 수 N에 비례하여 증가하게 됨을 알 수 있다.In other words, as the number of nodes in the same cluster increases, the transmission speed increases compared with the conventional scheme. In other words, when a chunk file is exchanged between nodes, instead of receiving a file from one source node, the file is received from N-1 multiple sources except itself, so the transfer rate increases in proportion to the number of nodes N in the cluster. It can be seen that.

본 발명에서는 청크 파일 그룹을 수신한 지역 노드가 클러스터 내의 각 지역 노드와 청크 파일을 교환함으로써 E2E 전송 지연을 줄일 수 있으며, 주 노드에서 여러 개의 지역 노드로 동시에 전송할 때 부하 증가로 인하여 발생되는 전송 품질 저하를 개선할 수 있다.In the present invention, the local node receiving the chunk file group can reduce the E2E transmission delay by exchanging the chunk file with each local node in the cluster, and the transmission quality caused by the increased load when the primary node simultaneously transmits to multiple regional nodes. The degradation can be improved.

예를 들어, 영화 하나의 파일을 100개의 청크 파일로 나누어 전송할 경우, 중간 노드(주 노드)가 최종 노드(지역 노드)에게 전송할 때 중간 노드가 전송해야 할 지역 노드 수가 4개인 경우 청크 1~25, 26~50, 51~75, 76~100으로 청크 파일을 그룹핑(grouping)하여 4개의 지역 노드로 일대일로 전송한다. 그리고 하나의 클러스터 내의 4개 지역 노드들은 각자 서로 청크 파일을 주고받음으로써 전체 청크 파일을 모두 빠른 시간 내에 수신할 수 있다. 클러스터 내에 있는 4개 지역 노드는 자신을 제외한 3개의 다른 노드들로부터 동시에 파일을 수신할 수 있으므로 1개 상위 노드로부터 파일을 수신받을 때보다 3배 빠른 전송 속도를 가지게 된다. 이와 같이 동일 클러스터 내에서 청크 파일을 교환할 때는 다중 소스로부터 동시에 파일을 수신함으로써 보다 빠르게 파일을 받을 수 있게 된다. 또한, 이렇게 다른 노드들과 파일을 교환할 때는 중복되지 않고 동시에 모든 파일을 받는 방식이 중요하다. 이를 위해서 상위 노드(중간 노드)에서는 각 클러스터에 전송완료된 청크 파일과 노드ID를 관리한다.
For example, if a movie file is divided into 100 chunk files and sent, the intermediate node (main node) sends the final node (local node) when the intermediate node has 4 local nodes to send. The chunk files are grouped as 26 ~ 50, 51 ~ 75, 76 ~ 100 and transmitted one-to-one to four local nodes. And four local nodes in a cluster can receive all the chunk files in a short time by exchanging chunk files with each other. Since four local nodes in a cluster can receive files from three other nodes at the same time, they have three times faster transfer speeds than files from one parent node. In this way, when a chunk file is exchanged in the same cluster, the file can be received more quickly by simultaneously receiving the file from multiple sources. Also, when exchanging files with other nodes, it is important to receive all files at the same time without duplication. For this purpose, the upper node (intermediate node) manages the chunk file and node ID that have been transferred to each cluster.

도 6은 본 발명에 따른 오버레이 멀티캐스트 파일 분배 및 교환 과정에 대한 일실시예 흐름도이다.6 is a flowchart illustrating an embodiment of an overlay multicast file distribution and exchange process according to the present invention.

먼저, 서비스 요청자(Service Requester)가 서비스 라우팅 블록(SR FE) 1에게 멀티캐스트를 요청한다(601).First, a service requester requests a multicast to a service routing block SR FE 1 (601).

그러면, 서비스 라우팅 블록(SR FE) 1이 콘텐츠 전달 블록(CD FE) 1에게 멀티캐스트 요청을 전달한다(602).The service routing block SR FE 1 then forwards the multicast request to the content delivery block CD FE 1 (602).

그러면, 콘텐츠 전달 블록(CD FE) 1은 멀티캐스트 DB를 갱신(update)한다(603).Then, the content delivery block (CD FE) 1 updates the multicast DB (603).

그리고 콘텐츠 전달 블록(CD FE) 1은 서비스 정책 결정 블록(SPD FE)으로 멀티캐스트 채널 설정을 요청한다(604).The content delivery block (CD FE) 1 requests the multicast channel establishment to the service policy decision block (SPD FE) (604).

그러면, 서비스 정책 결정 블록(SPD FE)은 콘텐츠 전달 블록(CD FE) 1, 콘텐츠 전달 블록(CD FE) 2, …, 콘텐츠 전달 블록(CD FE) N까지 관련된 모든 콘텐츠 전달 블록(CD FE)들에게 멀티캐스트 채널 설정을 요청한다(605). 그에 따라, 각 콘텐츠 전달 블록(CD FE)은 멀티캐스트 채널을 설정한다.Then, the service policy decision block SPD FE is composed of the content delivery block CD FE 1, the content delivery block CD FE 2,. In step 605, all content delivery blocks (CD FEs) related to up to content delivery block (CD FE) N are requested. Accordingly, each content delivery block (CD FE) establishes a multicast channel.

그러면, 콘텐츠 전달 블록(CD FE) 1은 콘텐츠 전달 블록(CD FE) 2로 멀티캐스트 콘텐츠 전송을 수행한다(606).Then, the content delivery block (CD FE) 1 performs multicast content transmission to the content delivery block (CD FE) 2 (606).

그리고 콘텐츠 전달 블록(CD FE) 1은 콘텐츠 메타데이터를 갱신(update)한다(607). 즉, 청크된 콘텐츠 파일이 각각 어느 노드로 전달되었는지 청크 파일별 위치(전송된 노드 ID)를 갱신하여 관리한다.The content delivery block (CD FE) 1 updates the content metadata (607). That is, the chunked file location (transmitted node ID) is updated and managed to which node each of the chunked content files is delivered.

한편, 콘텐츠 전달 블록(CD FE) 2는 어떤 하위 노드에게 어떤 청크 파일을 분산 배포할지를 결정(할당)한다(608).Meanwhile, the content delivery block (CD FE) 2 determines (assigns) which chunk file to distribute to which subnodes (608).

그리고 콘텐츠 전달 블록(CD FE) 2는 자신의 하위 노드인 콘텐츠 전달 블록(CD FE) 5로 멀티캐스트 콘텐츠 전송을 수행한다(609). 이때, 콘텐츠 전달 블록(CD FE) 2는 콘텐츠 전달 블록(CD FE) 5로 모든 청크 파일을 전송하는 것이 아니라 콘텐츠 전달 블록(CD FE) 5로 분배 할당된 청크 파일만 전송한다.The content delivery block (CD FE) 2 performs multicast content transmission to the content delivery block (CD FE) 5 which is its subordinate node (609). At this time, the content delivery block (CD FE) 2 does not transmit all the chunk files to the content delivery block (CD FE) 5 but only the chunk files allocated and distributed to the content delivery block (CD FE) 5.

그리고 콘텐츠 전달 블록(CD FE) 2는 콘텐츠 메타데이터를 갱신(update)한다(610).The content delivery block (CD FE) 2 updates the content metadata (610).

그리고 콘텐츠 전달 블록(CD FE) 2는 클러스터 내의 모든 콘텐츠 전달 블록(CD FE)들에게 각각 분배 할당된 청크 파일을 전송한다(611).The content delivery block (CD FE) 2 transmits the allocated chunk file to all content delivery blocks (CD FEs) in the cluster, respectively (611).

그리고 콘텐츠 전달 블록(CD FE) 2는 모든 청크 파일을 분산 배포하고 각 청크 파일이 어느 노드(node)로 전송되었는지 청크 파일의 위치를 콘텐츠 메타데이터에 갱신(update)한다(612).The content delivery block (CD FE) 2 distributes and distributes all the chunk files and updates the location of the chunk file in the content metadata to which node each chunk file is transmitted (612).

한편, 동일한 클러스터 내에 속한 콘텐츠 전달 블록(CD FE)들은 자신이 모든 청크 파일을 전달받을 때까지 클러스터 내의 이웃 노드들에게 청크 파일을 요청하여 전체 청크 파일을 전달받는다(613). 즉, 동일 클러스터 내의 콘텐츠 전달 블록(CD FE)들은 다중 노드(소스)를 이용하여 서로 간에 청크 파일을 교환한다. 이때, 요청해야 할 각 청크 파일의 위치(노드 ID)를 조회하기 위해서 콘텐츠 메타데이터를 이용한다.
Meanwhile, the content delivery blocks (CD FEs) belonging to the same cluster request the chunk file from neighbor nodes in the cluster and receive the entire chunk file until they receive all the chunk files (613). That is, content delivery blocks (CD FEs) in the same cluster exchange chunk files with each other using multiple nodes (sources). At this time, the content metadata is used to inquire the location (node ID) of each chunk file to be requested.

또한, 본 발명은 멀티캐스트 트리를 전송할 때 하부 네트워크의 품질에 의한 전송 지연과 멀티캐스트 트리상의 노드의 부하 및 장애에 대한 안정성을 개선할 수 있다(후술되는 도 7 참조).In addition, the present invention can improve the stability of the transmission delay due to the quality of the lower network and the load and failure of the node on the multicast tree when transmitting the multicast tree (see FIG. 7 described later).

도 7은 본 발명에 따른 네트워크 콘텍스트(Network Context) 정보와 리소스 콘텍스트(Resource Context) 정보를 이용한 멀티캐스트 트리 선정 과정에 대한 일실시예 설명도이다.7 is a diagram illustrating an embodiment of a multicast tree selection process using network context information and resource context information according to the present invention.

응용계층에서 멀티캐스트 트리를 구성할 때 기존 방식은 응용계층에서 네트워크 정보를 알 수 없으므로 단순히 루트 노드로부터 IP 네트워크의 계층적 구조로 트리를 구성하였다. 본 발명에서는 응용계층에서 네트워크 정보를 활용할 수 있도록 각 노드의 라우팅 정보와 노드의 부하 정보를 수집하는 네트워크 프록시머티(Network Proximity) 서버(콘텍스트 정보 관리 블록의 역할을 수행함)를 활용한다.When constructing a multicast tree in the application layer, the existing scheme cannot know network information in the application layer, so the tree is simply composed of the hierarchical structure of the IP network from the root node. The present invention utilizes a network proxy server (which serves as a context information management block) that collects routing information of each node and load information of nodes so that network information can be utilized in an application layer.

네트워크 프록시머티(Network Proximity) 서버는 모든 노드의 라우팅 정보를 수집하고, 노드의 상태, 노드의 부하 정보를 수집한다. 이를 위해서 노드와 네트워크 프록시머티(Network Proximity) 서버는 상태 정보에 대해 주기적인 연동이 필요하다.The network proxy server collects routing information of all nodes and collects node status and node load information. For this purpose, the node and the network proxy server need periodic interworking with the state information.

멀티캐스트 그룹을 생성한 후 멀티캐스트 트리를 생성할 때 전송 경로 최적화를 위해서 이 네트워크 프록시머티(Network Proximity) 서버의 토폴로지(topology) 정보, 노드의 부하 정보를 종합적으로 고려하여 최적의 전송 트리를 선정하여 최적의 전송 경로를 구성할 수 있다.
When creating a multicast tree after creating a multicast group, the optimal transport tree is selected by considering the topology information of the network proxy server and the load information of the node for the optimization of the transmission path. It is possible to configure the optimal transmission path.

도 8은 본 발명에 따른 네트워크 콘텍스트(Network Context) 정보와 리소스 콘텍스트(Resource Context) 정보를 이용한 멀티캐스트 트리 선정 과정에 대한 일실시예 흐름도이다.8 is a flowchart illustrating a multicast tree selection process using network context information and resource context information according to the present invention.

먼저, 콘텍스트 정보 관리 블록(CIM FE)은 오버레이 관리 블록(OM FE)에게 리소스 콘텍스트 정보를 요청한다. 그러면, 오버레이 관리 블록(OM FE)은 리소스 정보를 모니터링 함으로써 리소스 콘텍스트 정보를 콘텍스트 정보 관리 블록(CIM FE)으로 전송해준다(801).First, the context information management block CIM FE requests resource context information from the overlay management block OM FE. Then, the overlay management block OM FE transmits the resource context information to the context information management block CIM FE by monitoring the resource information (801).

이후, 서비스 요청자(Service Requester)가 서비스 라우팅 블록(SR FE) 1에게 멀티캐스트를 요청한다(802).Thereafter, the service requester requests a multicast to the service routing block SR FE 1 (802).

그러면, 서비스 라우팅 블록(SR FE) 1은 멀티캐스트 그룹 정보(그룹 ID, 그룹 명, 멤버 등)를 아이덴티티 관리 블록(IDM FE)에게 질의한다(803).The service routing block SR FE 1 then queries the identity management block IDM FE for multicast group information (group ID, group name, member, etc.) (803).

그리고 서비스 라우팅 블록(SR FE) 1은 콘텐츠 전달 블록(CD FE) 1에게 멀티캐스트를 요청한다(804).The service routing block SR FE 1 requests the multicast to the content delivery block CD FE 1 (804).

그러면, 콘텐츠 전달 블록(CD FE) 1은 멀티캐스트 요청 정보를 이용하여 멀티캐스트 DB를 갱신(update)한다(805).Then, the content delivery block (CD FE) 1 updates the multicast DB using the multicast request information (805).

그리고 콘텐츠 전달 블록(CD FE) 1은 서비스 정책 결정 블록(SPD FE)에게 멀티캐스트 채널 설정을 요청한다(806).The content delivery block (CD FE) 1 requests the service policy decision block (SPD FE) to establish a multicast channel (806).

그러면, 서비스 정책 결정 블록(SPD FE)은 콘텍스트 정보 관리 블록(CIM FE)에게 네트워크 콘텍스트 정보를 조회한다(807).The service policy decision block SPD FE then inquires the network context information from the context information management block CIM FE (807).

그리고 서비스 정책 결정 블록(SPD FE)은 콘텍스트 정보 관리 블록(CIM FE)에게 리소스 콘텍스트 정보를 조회한다(808).The service policy decision block SPD FE queries resource context information from the context information management block CIM FE (808).

그리고 서비스 정책 결정 블록(SPD FE)은 네트워크 콘텍스트 정보와 리소스 콘텍스트 정보를 기반으로 하여 최적의 멀티캐스트 채널을 설정한다(809).The service policy decision block (SPD FE) sets an optimal multicast channel based on the network context information and the resource context information (809).

그리고 서비스 정책 결정 블록(SPD FE)은 콘텐츠 전달 블록(CD FE) 1,...,콘텐츠 전달 블록(CD FE) N까지 그룹 내의 모든 콘텐츠 전달 블록(CD FE)들에게 멀티캐스트 채널 설정을 요청한다(810). 그에 따라, 각 콘텐츠 전달 블록(CD FE)은 멀티캐스트 채널을 설정한다.The service policy decision block (SPD FE) requests the multicast channel setup to all the content delivery blocks (CD FEs) in the group up to the content delivery block (CD FE) 1, ..., the content delivery block (CD FE) N. (810) Accordingly, each content delivery block (CD FE) establishes a multicast channel.

그리고 서비스 정책 결정 블록(SPD FE)은 콘텐츠 전달 블록(CD FE) 1에게 멀티캐스트 채널 설정이 완료되었음을 응답한다(811).The service policy decision block (SPD FE) responds to the content delivery block (CD FE) 1 that the multicast channel setup is completed (811).

그러면, 콘텐츠 전달 블록(CD FE) 1은 멀티캐스트 채널을 이용하여 자신의 하위 노드인 콘텐츠 전달 블록(CD FE) 2에게 멀티캐스트 콘텐츠 전송을 한다(812).Then, the content delivery block (CD FE) 1 transmits multicast content to the content delivery block (CD FE) 2 which is its subordinate node by using the multicast channel (812).

그러면, 콘텐츠 전달 블록(CD FE) 2는 자신의 하위 노드에게 멀티캐스트 콘텐츠 전송을 한다(813). 이와 같이 가장 최하위 노드까지 모두 멀티캐스트 콘텐츠 전송을 한다.
Then, the content delivery block (CD FE) 2 performs multicast content transmission to its subordinate node (813). As such, all the lowest nodes transmit multicast content.

도 9는 본 발명에 따른 노도 과부하 시 신규 노드 추가에 대한 일예시도이고, 도 10은 본 발명에 따른 노드 장애, 과부하 시 멀티캐스트 트리 재구성에 대한 일예시도이다.9 is an exemplary view illustrating the addition of a new node when overloading the road according to the present invention, and FIG. 10 is an exemplary view illustrating reconfiguration of a multicast tree when a node failure and an overload are performed according to the present invention.

특정 노드의 장애나 과부하에 의한 성능저하가 발생했을 때 기존의 방식은 대체할 수 있는 노드를 미리 정해두는 정적인 트리 재구성 방식을 사용하나, 본 발명은 장애 시 동적으로 해당 노드를 대체할 노드를 결정할 때 노드의 토폴로지(topology) 정보, 노드의 부하 정보를 이용하여 최적의 트리를 재구성한다.When a performance degradation due to a failure or overload of a specific node occurs, the conventional method uses a static tree reconstruction method that predetermines a replaceable node. However, the present invention provides a method for dynamically replacing a node in case of failure. When determining, the optimal tree is reconstructed using the topology information of the node and the load information of the node.

또한, 기존 방식은 노드의 부하 정보와 상관없이 네트워크의 권역 정보에 의하여 새로운 노드가 추가될 때 자신의 주 노드를 선정하는 트리를 구성하였으나, 본 발명은 노드가 추가될 때 네트워크 상태(트래픽 폭주, 링크 장애 등)와 상위 노드의 부하 상태를 고려하여 전송 품질을 고려한 트리를 구성한다.
In addition, the existing scheme has constructed a tree that selects its own primary node when a new node is added according to the regional information of the network regardless of the load information of the node. However, the present invention provides a network state (traffic congestion, Considering link failure, etc.) and the load state of the upper node, a tree considering transmission quality is constructed.

이하에서는 도 11 내지 도 15를 참조하여 본 발명에 따른 다른 실시예를 살펴보면 다음과 같다. 이때, 그 구체적인 실시예는 도 1 내지 도 10을 참조하여 전술한 일실시예와 대응하는 범위에서 동일한 수 있다. 따라서 여기서는 그 기술 요지만을 간략하게 설명하기로 한다.Hereinafter, another embodiment according to the present invention will be described with reference to FIGS. 11 to 15. In this case, the specific embodiment may be the same in a range corresponding to the embodiment described above with reference to FIGS. 1 to 10. Therefore, only the technical summary will be described briefly here.

도 11은 본 발명의 다른 실시예에 따른 오버레이 멀티캐스트를 위한 전체 시스템의 기능 블록도로서, 서비스 오버레이 네트워크의 기능블록 간의 프로토콜 정의를 위한 상호관계를 나타내는 도면이다.FIG. 11 is a functional block diagram of an entire system for overlay multicast according to another embodiment of the present invention, illustrating a correlation for protocol definition between functional blocks of a service overlay network.

여기서, 도 11에 도시된 서비스 라우팅 블록, 콘텐츠 전달 블록, 서비스 정책 결정 블록, 콘텍스트 정보 관리 블록 등의 기능은 후술되는 도 2에 도시된 블록의 기능 및 그 동작과 대응되고, 도 11에 도시된 그 외의 블록들은 본 발명과 관련이 없으므로 여기서는 그 상세한 설명을 생략하기로 한다.
Here, the functions of the service routing block, the content delivery block, the service policy determination block, the context information management block, and the like shown in FIG. 11 correspond to the functions and operations of the blocks shown in FIG. Since other blocks are not related to the present invention, detailed description thereof will be omitted herein.

한편, 다중 콘텐츠 분배를 위한 오버레이 멀티캐스트를 위해 각 구성요소(기능블록) 간에 필요한 세부 프로토콜 정의는 도 12에 도시된 바와 같다.Meanwhile, detailed protocol definitions required for each component (functional block) for overlay multicast for multi-content distribution are shown in FIG. 12.

도 12는 본 발명의 다른 실시예에 따른 오버레이 멀티캐스트 시스템 및 그 방법을 위한 오버레이 멀티캐스트 연동 프로토콜에 대한 설명도이다.12 is an explanatory diagram of an overlay multicast interworking protocol for an overlay multicast system and a method according to another embodiment of the present invention.

도 12에 도시된 각 세부 프로토콜에 대한 정의는 다음과 같다.Definition of each detailed protocol shown in FIG. 12 is as follows.

1. 콘텐츠 전달 요청 과정(도 12의 콘텐츠 전달 요청 프로토콜(Content Delivery Request Protocol)과 대응됨)1. Content Delivery Request Process (corresponds to the Content Delivery Request Protocol in FIG. 12)

가) 서비스 라우팅 블록(SR FE)은 최종 사용자 또는 서비스로부터의 콘텐츠 전달 요청을 콘텐츠 전달 블록(CD FE)으로 전달한다.A) The service routing block SR FE forwards the content delivery request from the end user or service to the content delivery block CD FE.

나) 이때, 서비스 라우팅 블록(SR FE)은 사용자 정보, 서비스 정보(서비스 유형, 콘텐츠 ID), 단말 정보, QoS 파라미터들을 콘텐츠 전달 블록(CD FE)으로 전달한다.
B) At this time, the service routing block SR FE delivers user information, service information (service type, content ID), terminal information, and QoS parameters to the content delivery block (CD FE).

2. 콘텐츠 전달 채널 설정 과정(도 12의 콘텐츠 전달 채널 설정 프로토콜(Content Delivery Channel Setup Protocol)과 대응됨)2. Content Delivery Channel Setup Process (corresponds to the Content Delivery Channel Setup Protocol of FIG. 12)

가) 만약, 콘텐츠 전달 블록(CD FE)이 콘텐츠를 멀티캐스트 방식으로 전달한다면, 콘텐츠 전달 블록(CD FE)은 콘텐츠 전달 블록(CD FE)들 사이와 서비스 또는 최종 사용자들 사이의 멀티캐스트 채널을 콘텍스트 정보(네트워크 콘텍스트 정보, 리소스 콘텍스트 정보)를 이용하여 설정한다.A) If the content delivery block (CD FE) delivers content in a multicast manner, the content delivery block (CD FE) establishes a multicast channel between the content delivery blocks (CD FE) and between services or end users. It sets using the context information (network context information, resource context information).

나) 즉, 콘텐츠 전달 블록(CD FE)은 콘텍스트 정보(네트워크 콘텍스트 정보, 리소스 콘텍스트 정보)를 이용하여 최적의 멀티캐스트 채널을 설정한다.B) That is, the content delivery block CD FE sets an optimal multicast channel using context information (network context information, resource context information).

다) 콘텐츠 전달 블록(CD FE)은 멀티캐스트 전송 경로(즉, 멀티캐스트 채널)를 설정하고, 특정 노드에 장애가 발생하거나, 멀티캐스트 그룹에 참가하거나 탈퇴할 때 네트워크 콘텍스트 정보(예 : 라우팅 정보, 대역폭, 트래픽 등)와 리소스 콘텍스트 정보(예 : 노드의 CPU(Central Processing Unit), 메모리, NIC(Network Interface Card), 및 디스크의 사용량 등)를 이용하여 멀티캐스트 채널을 재설정한다.C) The Content Delivery Block (CD FE) establishes a multicast transmission path (i.e., multicast channel) and provides network context information (e.g. routing information, when a particular node fails, joins or leaves a multicast group). The multicast channel is reconfigured using the bandwidth, traffic, etc., and resource context information (e.g., the node's central processing unit (CPU), memory, network interface card (NIC), and disk usage).

라) 콘텐츠 전달 채널 설정 프로토콜의 파라미터는 다음과 같다.D) Parameters of content delivery channel setting protocol are as follows.

- 전달 방식 : 멀티캐스트(multicast), 유니캐스트(unicast)Delivery method: multicast, unicast

- 멀티캐스트 그룹 ID : 멀티캐스트 그룹의 유일한 식별자Multicast group ID: unique identifier of the multicast group

- 멀티캐스트 그룹 명칭 : 멀티캐스트 그룹의 이름-Multicast group name: name of the multicast group

- 멀티캐스트 그룹 멤버 : 멀티캐스트 그룹에 참여하거나 탈퇴하고자 하는 멤버 노드의 IDMulticast group member: ID of the member node to join or leave the multicast group.

- 멀티캐스트 그룹 계층 정보 : 특정 노드의 부모 노드 또는 자식 노드와 같은 멀티캐스트 그룹 계위 정보
Multicast group hierarchy information: Multicast group hierarchy information such as parent node or child node of a specific node

3. 콘텍스트 정보 요청 과정(도 12의 콘텍스트 정보 요청 프로토콜(Context Information Request Protocol)과 대응됨)3. Context Information Request Process (corresponds to Context Information Request Protocol in FIG. 12)

가) 서비스 라우팅 블록(SR FE)은 콘텍스트 정보 관리 블록(CIM FE)으로 콘텍스트 정보를 요청한다.A) The service routing block SR FE requests the context information to the context information management block CIM FE.

나) 콘텍스트 정보 관리 블록(CIM FE)은 네트워크 콘텍스트 정보와 리소스 콘텍스트 정보를 서비스 라우팅 블록(SR FE)으로 제공한다.B) The context information management block (CIM FE) provides network context information and resource context information to the service routing block (SR FE).

다) 서비스 라우팅 블록(SR FE)은 콘텍스트 정보(네트워크 콘텍스트 정보, 리소스 콘텍스트 정보)를 이용하여 콘텐츠를 전달하기 위해 콘텐츠 전달 블록(CD FE)으로 콘텍스트 정보를 제공한다.C) The service routing block SR FE provides the context information to the content delivery block CD FE for delivering content using the context information (network context information, resource context information).

라) 콘텍스트 정보 요청 프로토콜의 파라미터는 다음과 같다.D) The parameters of the context information request protocol are as follows.

- 네트워크 콘텍스트 정보 : 토폴로지, 대역폭, 트래픽 등Network context information: topology, bandwidth, traffic, etc.

- 리소스 콘텍스트 정보 : CPU, 메모리, NIC, 및 디스크의 사용량, 현재 세션 수
Resource context information: CPU, memory, NIC, and disk usage, current session count

4. 전송 QoS 요구사항 전달 과정(도 12의 전송 QoS 디스패치 프로토콜(Transport QoS Dispatch Protocol)과 대응됨)4. Transport QoS requirement delivery process (corresponds to the Transport QoS Dispatch Protocol in FIG. 12)

가) 서비스 정책 결정 블록(SPD FE)은 라우팅 정보, 대역폭, 트래픽, 토폴로지 등과 같은 관련된 네트워크 콘텍스트 정보를 이용하여 효율적인 콘텐츠 전달 경로를 설정할 의무가 있다.A) Service Policy Decision Block (SPD FE) is obliged to establish an efficient content delivery path using relevant network context information such as routing information, bandwidth, traffic, topology, etc.

나) 서비스 정책 결정 블록(SPD FE)은 하위 네트워크(Underlying Network)의 최적 경로에 따라 콘텐츠를 전달하기 위한 QoS 정보를 제공한다.B) The service policy decision block (SPD FE) provides QoS information for delivering content according to an optimal path of an underlying network.

다) 전송 QoS 디스패치 프로토콜의 파라미터는 다음과 같다.C) The parameters of the transmission QoS dispatch protocol are as follows.

- 라우팅 경로 : 하위 네트워크의 주 라우팅 경로 또는 대체 라우팅 경로Routing Path: The primary or alternate routing path of the subnetwork.

- 대역폭 : 서비스의 요구되는 대역폭Bandwidth: required bandwidth of service

- 트래픽 상태 : 하위 네트워크의 트래픽 상태-Traffic Status: Traffic Status of Sub Network

- CPU, 메모리, NIC, 디스크의 사용량 : 노드의 CPU, 메모리, NIC, 및 디스크의 사용량CPU, memory, NIC, disk usage: node CPU, memory, NIC, and disk usage

- 현재 세션 수 : 노드의 동시 접속 세션의 수
Current session number: The number of concurrent connection sessions of the node.

5. 전송 QoS 적용 과정(도 12의 전송 QoS 인포스먼트 프로토콜(Transport QoS Enforcement Protocol)과 대응됨)5. Transport QoS application process (corresponds to the Transport QoS Enforcement Protocol of FIG. 12)

가) 서비스 정책 결정 블록(SPD FE)은 하위 네트워크 또는 서비스 요구사항을 질의함으로써 리소스 상태를 모니터링하는 매커니즘을 제공한다.A) Service Policy Decision Block (SPD FE) provides a mechanism to monitor resource status by querying sub-network or service requirements.

나) 서비스 정책 결정 블록(SPD FE)은 NGSON(Next Generation Service Overlay Network) 노드들의 동적인 정보(예 : CPU, 메모리, NIC, 및 디스크의 사용량, 현재 세션 수 등)를 모니터링한다.B) The Service Policy Decision Block (SPD FE) monitors dynamic information (eg, CPU, memory, NIC, and disk usage, current session count, etc.) of NGSON nodes.

다) 서비스 정책 결정 블록(SPD FE)은 종단간 QoS를 제공하기 위해서 하위 네트워크의 QoS-관련 엔티티와 연동을 제공함으로써, 전송과 관련된 QOS 적용 메커니즘을 제공한다.C) Service Policy Decision Block (SPD FE) provides interworking with QoS-related entities in the underlying network to provide end-to-end QoS, thereby providing a QOS enforcement mechanism related to transmission.

라) 전송 QoS 인포스먼트 프로토콜의 파라미터는 다음과 같다.D) Parameters of transmission QoS information protocol are as follows.

- 라우팅 경로 : 하위 네트워크의 주 라우팅 경로 또는 대체 라우팅 경로Routing Path: The primary or alternate routing path of the subnetwork.

- 대역폭 : 서비스의 요구되는 대역폭Bandwidth: required bandwidth of service

- 트래픽 상태 : 하위 네트워크의 트래픽 상태-Traffic Status: Traffic Status of Sub Network

- CPU, 메모리, NIC, 디스크의 사용량 : 노드의 CPU, 메모리, NIC, 및 디스크의 사용량CPU, memory, NIC, disk usage: node CPU, memory, NIC, and disk usage

- 현재 세션 수 : 노드의 동시 접속 세션의 수
Current session number: The number of concurrent connection sessions of the node.

6. 콘텐츠 전달 과정(도 12의 콘텐츠 전달 서비스 프로토콜(Content Delivery Service Protocol)과 대응됨)6. Content delivery process (corresponds to the Content Delivery Service Protocol of FIG. 12)

가) 만약, 콘텐츠 전달 블록(CD FE)이 콘텐츠를 멀티캐스트 방식으로 전달하면, 콘텐츠 전달 블록(CD FE)은 자신의 로컬 스토리지에 멀티캐스트 그룹 멤버를 관리하기 위한 그룹 DB를 관리한다.A) If the content delivery block (CD FE) delivers the content in a multicast manner, the content delivery block (CD FE) manages a group DB for managing the multicast group members in its local storage.

나) 멀티캐스트 그룹 관리는 멀티캐스트 DB의 생성, 변경, 삭제를 포함한다.B) Multicast group management includes creation, modification and deletion of multicast DB.

다) 즉, 콘텐츠 전달 블록(CD FE)은 자신의 로컬 스토리지에 멀티캐스트 DB를 관리한다.In other words, the content delivery block (CD FE) manages the multicast DB in its local storage.

라) 멀티캐스트 DB는 멀티캐스트 요청을 기록하는 DB로서, 특정 그룹에서 멀티캐스트를 순차적으로 보낼 수 있도록 멀티캐스트 요청을 저장하기 위한 DB이다. 멀티캐스트 DB는 멀티캐스트 그룹 ID, 멀티캐스트 순차 번호(콘텐츠 전달 시퀀스 번호), 요청 노드 ID(송신자 ID), 콘텐츠 ID(파일 ID)를 포함한다.D) Multicast DB is a DB that records multicast requests. It is a DB for storing multicast requests so that multicasts can be sent sequentially in a specific group. The multicast DB includes a multicast group ID, a multicast sequence number (content delivery sequence number), a request node ID (sender ID), and a content ID (file ID).

마) 멀티캐스트를 사용하여 콘텐츠를 전달한다면, 멀티캐스트 그룹 관리는 그룹 생성, 그룹 참가, 그룹 탈퇴, 그룹 해제, 멀티캐스트 요청, 멀티캐스트 응답, 멀티캐스트 NAK와 같은 메시지 타입을 사용한다.E) If content is delivered using multicast, multicast group management uses message types such as group creation, group join, group leave, ungroup, multicast request, multicast response, and multicast NAK.

바) 멀티캐스트 그룹 정보는 멀티캐스트 메시지 타입, 그룹 ID, 그룹 명칭을 포함하며, 요청자 정보는 요청 노드 ID를 포함하며, 서비스 정보는 서비스 타입, 콘텐츠 ID, 시퀀스 번호(Sequence No)를 포함한다.F) The multicast group information includes a multicast message type, a group ID, a group name, the requestor information includes a request node ID, and the service information includes a service type, a content ID, and a sequence number.

사) 콘텐츠 전달 서비스 프로토콜의 파라미터는 다음과 같다.G) The parameters of the content delivery service protocol are as follows.

- 전달 방식 : 멀티캐스트(multicast), 유니캐스트(unicast)Delivery method: multicast, unicast

- 멀티캐스트 메시지 타입 : 그룹 생성, 참가, 탈퇴, 해제, 멀티캐스트 요청, 응답, 멀티캐스트 NAK-Multicast message type: create, join, leave, release, multicast request, reply, multicast NAK

- 멀티캐스트 그룹 ID : 멀티캐스트 그룹의 고유한 식별자Multicast Group ID: Unique identifier of the multicast group.

- 멀티캐스트 그룹 명칭 : 멀티캐스트 그룹의 이름-Multicast group name: name of the multicast group

- 멀티캐스트 그룹 멤버 : 멀티캐스트 그룹에 참가 또는 탈퇴하고자 하는 멤버 노드의 IDMulticast group member: ID of the member node to join or leave the multicast group.

- 요청 노드 ID: 서비스를 요청하는 노드의 IDRequest Node ID: ID of the node requesting the service

- 콘텐츠 전달 시퀀스 번호 : 특정 멀티캐스트 그룹이나 사용자에게 전송할 콘텐츠의 순차 번호Content Delivery Sequence Number: A sequence number of content to be sent to a specific multicast group or user.

- 콘텐츠 ID : 콘텐츠의 유일한 식별자, 이름을 해쉬(hash)한 값으로 생성함Content ID: Generates unique identifier and name of the content as hashed value.

- 시퀀스 번호(sequence no) : 청크된 콘텐츠 파일의 순서 번호
Sequence no: sequence number of the chunked content file

여기서, 도 12에 도시된 콘텐츠 탐색 프로토콜(Content Discovery Protocol), 콘텐츠 위치 갱신 프로토콜(Content Location Update Protocol), 콘텐츠 저장 및 캐시 프로토콜(Content Storage & Cache Protocol)은 본 발명의 부가 구성요소로서, 파라미터로 시퀀스 번호(sequence no, 청크된 콘텐츠 파일의 순서 번호)를 포함한다.
Here, the content discovery protocol, the content location update protocol, and the content storage and cache protocol illustrated in FIG. 12 are additional components of the present invention. A sequence number (sequence no).

도 13은 본 발명의 다른 실시예에 따른 오버레이 멀티캐스트 기본 흐름을 나타내는 도면이다.13 is a diagram illustrating an overlay multicast basic flow according to another embodiment of the present invention.

먼저, 콘텍스트 정보 관리 블록(CIM FE)은 서비스 정책 결정 블록(SPD FE)에게 네트워크 콘텍스트 정보와 리소스 콘텍스트 정보를 요청한다. 그러면, 서비스 정책 결정 블록(SPD FE)은 하위 네트워크를 모니터링하고 노드들의 동적 정보를 모니터링함으로써 네트워크 콘텍스트 정보와 리소스 콘텍스트 정보를 콘텍스트 정보 관리 블록(CIM FE)에게 제공한다(1301).First, the context information management block CIM FE requests network context information and resource context information from the service policy decision block SPD FE. The service policy decision block (SPD FE) then provides network context information and resource context information to the context information management block (CIM FE) by monitoring the underlying network and monitoring the dynamic information of the nodes (1301).

이후, 서비스 요청자(Service Requester, 단말기)가 멀티캐스트 그룹 생성을 서비스 라우팅 블록(SR FE) 1에게 요청한다(1302).Thereafter, the service requester (terminal) requests the service routing block (SR FE) 1 to generate a multicast group (1302).

그러면, 서비스 라우팅 블록(SR FE) 1은 그룹 ID를 생성하고 해당 그룹의 루트 노드(대표 노드)를 선정한다(1303).Then, the service routing block (SR FE) 1 generates a group ID and selects a root node (representative node) of the group (1303).

그리고 서비스 라우팅 블록(SR FE) 1은 멀티캐스트 그룹 생성을 콘텐츠 전달 블록(CD FE) 1에게 요청한다(1304).The service routing block SR FE 1 requests the content delivery block CD FE 1 to generate a multicast group (1304).

그러면, 콘텐츠 전달 블록(CD FE) 1은 그룹 DB(멀티캐스트 그룹 DB를 의미함)를 생성한다(1305).Then, the content delivery block (CD FE) 1 generates a group DB (meaning a multicast group DB) (1305).

한편, 서비스 라우팅 블록(SR FE) 2는 콘텐츠 전달 블록(CD FE) 1에게 멀티캐스트 그룹의 참여 또는 탈퇴를 요청한다(1306).On the other hand, the service routing block (SR FE) 2 requests the content delivery block (CD FE) 1 to join or leave the multicast group (1306).

그러면, 콘텐츠 전달 블록(CD FE) 1은 그룹 DB를 갱신(추가 또는 삭제 등)한다(1307).Then, the content delivery block (CD FE) 1 updates (adds or deletes, etc.) the group DB (1307).

한편, 서비스 라우팅 블록(SR FE) 1은 콘텍스트 정보 관리 블록(CIM FE)에게 콘텍스트 정보를 요청한다. 그러면, 콘텍스트 정보 관리 블록(CIM FE)은 서비스 라우팅 블록(SR FE) 1에게 콘텍스트 정보를 제공한다(1308). 그에 따라, 서비스 라우팅 블록(SR FE) 1은 콘텍스트 정보를 콘텐츠 전달 블록(CD FE) 1에게 제공한다.Meanwhile, the service routing block SR FE 1 requests context information from the context information management block CIM FE. The context information management block CIM FE then provides context information to the service routing block SR FE 1 (1308). Accordingly, service routing block (SR FE) 1 provides context information to content delivery block (CD FE) 1.

한편, 콘텐츠 전달 블록(CD FE) 1은 콘텍스트 정보를 활용하여 멀티캐스트 채널을 설정한다(1309).Meanwhile, the content delivery block (CD FE) 1 establishes a multicast channel using context information (1309).

그리고 콘텐츠 전달 블록(CD FE) 1은 자신의 하위 노드인 콘텐츠 전달 블록(CD FE) 2(즉, 자식 노드인 콘텐츠 전달 블록)에게 멀티캐스트 채널 설정 요청을 전달한다(1310). 그에 따라, 콘텐츠 전달 블록(CD FE) 2도 멀티캐스트 채널을 설정한다.The content delivery block (CD FE) 1 transmits a multicast channel establishment request to the content delivery block (CD FE) 2 (that is, the child node content delivery block) that is its child node (1310). Accordingly, the content delivery block (CD FE) 2 also establishes a multicast channel.

한편, 서비스 라우팅 블록(SR FE) 1은 콘텐츠 전달 블록(CD FE) 1에게 멀티캐스트 콘텐츠 전송을 요청한다(1311).Meanwhile, the service routing block SR FE 1 requests the multicast content transmission from the content delivery block CD FE 1 (1311).

그러면, 콘텐츠 전달 블록(CD FE) 1은 멀티캐스트 요청 정보를 이용하여 멀티캐스트 DB를 갱신(update)한다(1312).Then, the content delivery block (CD FE) 1 updates the multicast DB using the multicast request information (1312).

그리고 콘텐츠 전달 블록(CD FE) 1은 콘텐츠 전달 블록(CD FE) 2에게 멀티캐스트 콘텐츠를 전송한다(1313).The content delivery block (CD FE) 1 transmits the multicast content to the content delivery block (CD FE) 2 (1313).

이후, 서비스 요청자(Service Requester)는 서비스 라우팅 블록(SR FE) 1에게 멀티캐스트 그룹 해제를 요청한다(1314).Thereafter, the service requester requests the multicast group release from the service routing block SR FE 1 (1314).

그러면, 서비스 라우팅 블록(SR FE) 1은 콘텐츠 전달 블록(CD FE) 1에게 멀티캐스트 그룹 해제를 요청한다(1315).Then, the service routing block SR FE 1 requests the content delivery block CD FE 1 to release the multicast group (1315).

그러면, 콘텐츠 전달 블록(CD FE) 1은 해당 그룹(group) DB를 삭제한다(1316).
Then, the content delivery block (CD FE) 1 deletes the corresponding group DB (1316).

도 14는 본 발명의 다른 실시예에 따른 오버레이 멀티캐스트 파일 분배 및 교환 과정에 대한 흐름도이다.14 is a flowchart illustrating an overlay multicast file distribution and exchange process according to another embodiment of the present invention.

먼저, 서비스 요청자(Service Requester)가 서비스 라우팅 블록(SR FE) 1에게 멀티캐스트를 요청한다(1401).First, a service requester requests a multicast from a service routing block SR FE 1 (1401).

그러면, 서비스 라우팅 블록(SR FE) 1이 콘텐츠 전달 블록(CD FE) 1에게 멀티캐스트 요청을 전달한다(1402).The service routing block SR FE 1 then delivers the multicast request to the content delivery block CD FE 1 (1402).

그러면, 콘텐츠 전달 블록(CD FE) 1은 멀티캐스트 DB를 갱신(update)한다(1403).Then, the content delivery block (CD FE) 1 updates the multicast DB (1403).

그리고 콘텐츠 전달 블록(CD FE) 1은 멀티캐스트 계층(hierarchy) 정보(자식 노드 ID)를 설정함으로써 멀티캐스트 채널을 설정한다(1404).The content delivery block (CD FE) 1 establishes a multicast channel by setting multicast hierarchy information (child node ID) (1404).

그리고 콘텐츠 전달 블록(CD FE) 1은 자신의 자식 노드인 콘텐츠 전달 블록(CD FE) 2에게 멀티캐스트 채널 설정을 요청한다(1405). 그에 따라, 콘텐츠 전달 블록(CD FE) 2도 멀티캐스트 채널을 설정한다.The content delivery block (CD FE) 1 requests the multicast channel setup from the content delivery block (CD FE) 2 which is its child node (1405). Accordingly, the content delivery block (CD FE) 2 also establishes a multicast channel.

그리고 콘텐츠 전달 블록(CD FE) 2는 자신의 자식 노드인 콘텐츠 전달 블록(CD FE)들(콘텐츠 전달 블록(CD FE) 5, ..., 콘텐츠 전달 블록(CD FE) N)에게 멀티캐스트 채널 설정을 요청한다(1406). 그에 따라, 각 콘텐츠 전달 블록(CD FE 5, ..., CD FE N)은 멀티캐스트 채널을 설정한다.The content delivery block (CD FE) 2 is a multicast channel to the content delivery blocks (CD FEs) (content delivery block (CD FE) 5, ..., content delivery block (CD FE) N) which are child nodes thereof. Request setup (1406). Accordingly, each content delivery block (CD FE 5, ..., CD FE N) establishes a multicast channel.

그러면, 콘텐츠 전달 블록(CD FE) 1은 콘텐츠 전달 블록(CD FE) 2로 멀티캐스트 콘텐츠 전송을 수행한다(1407).Then, the content delivery block (CD FE) 1 performs multicast content transmission to the content delivery block (CD FE) 2 (1407).

그리고 콘텐츠 전달 블록(CD FE) 1은 콘텐츠 메타데이터를 갱신(update)한다(1408). 즉, 청크된 콘텐츠 파일이 각각 어느 노드로 전달되었는지 청크 파일별 위치(전송된 노드 ID)를 갱신하여 관리한다.The content delivery block CD FE 1 updates the content metadata (1408). That is, the chunked file location (transmitted node ID) is updated and managed to which node each of the chunked content files is delivered.

한편, 콘텐츠 전달 블록(CD FE) 2는 어떤 하위 노드에게 어떤 청크 파일을 분산 배포할지를 결정(할당)한다(1409).Meanwhile, the content delivery block (CD FE) 2 determines (assigns) which chunk file to distribute to which subnodes (1409).

그리고 콘텐츠 전달 블록(CD FE) 2는 자신의 하위 노드인 콘텐츠 전달 블록(CD FE) 5로 멀티캐스트 콘텐츠 전송을 수행한다(1410). 이때, 콘텐츠 전달 블록(CD FE) 2는 콘텐츠 전달 블록(CD FE) 5로 모든 청크 파일을 전송하는 것이 아니라 콘텐츠 전달 블록(CD FE) 5로 분배 할당된 청크 파일만 전송한다.The content delivery block (CD FE) 2 performs multicast content transmission to the content delivery block (CD FE) 5 that is its subordinate node (1410). At this time, the content delivery block (CD FE) 2 does not transmit all the chunk files to the content delivery block (CD FE) 5 but only the chunk files allocated and distributed to the content delivery block (CD FE) 5.

그리고 콘텐츠 전달 블록(CD FE) 2는 콘텐츠 메타데이터를 갱신(update)한다(1411).The content delivery block (CD FE) 2 updates the content metadata (1411).

그리고 콘텐츠 전달 블록(CD FE) 2는 클러스터 내의 모든 콘텐츠 전달 블록(CD FE)들에게 각각 분배 할당된 청크 파일을 전송한다(1412).The content delivery block (CD FE) 2 then transmits 1412 the allocated chunk file to all content delivery blocks (CD FEs) in the cluster.

그리고 콘텐츠 전달 블록(CD FE) 2는 모든 청크 파일을 분산 배포하고 각 청크 파일이 어느 노드(node)로 전송되었는지 청크 파일의 위치를 콘텐츠 메타데이터에 갱신(update)한다(1413).The content delivery block (CD FE) 2 distributes and distributes all the chunk files, and updates the location of the chunk file in the content metadata to which node each chunk file is transmitted (1413).

한편, 동일한 클러스터 내에 속한 콘텐츠 전달 블록(CD FE)들은 자신이 모든 청크 파일을 전달받을 때까지 클러스터 내의 이웃 노드들에게 청크 파일을 요청하여 전체 청크 파일을 전달받는다(1414). 즉, 동일 클러스터 내의 콘텐츠 전달 블록(CD FE)들은 다중 노드(소스)를 이용하여 서로 간에 청크 파일을 교환한다. 이때, 요청해야 할 각 청크 파일의 위치(노드 ID)를 조회하기 위해서 콘텐츠 메타데이터를 이용한다.
Meanwhile, the content delivery blocks (CD FEs) belonging to the same cluster request the chunk file from neighboring nodes in the cluster until they receive all the chunk files and receive the entire chunk file (1414). That is, content delivery blocks (CD FEs) in the same cluster exchange chunk files with each other using multiple nodes (sources). At this time, the content metadata is used to inquire the location (node ID) of each chunk file to be requested.

도 15는 본 발명의 다른 실시예에 따른 네트워크 콘텍스트(Network Context) 정보와 리소스 콘텍스트(Resource Context) 정보를 이용한 멀티캐스트 트리 선정 과정에 대한 흐름도이다.15 is a flowchart illustrating a multicast tree selection process using network context information and resource context information according to another embodiment of the present invention.

먼저, 서비스 정책 결정 블록(SPD FE)은 하부 네트워크의 QoS 정보(토폴로지, 대역폭, 트래픽 등)를 모니터링한다. 또한, 서비스 정책 결정 블록(SPD FE)은 NGSON 노드들의 동적 정보(노드 상태, 노드 CPU, 메모리, NIC, 및 디스크의 사용량 등)를 모니터링한다(1501).First, the service policy decision block (SPD FE) monitors QoS information (topology, bandwidth, traffic, etc.) of the underlying network. In addition, the service policy decision block (SPD FE) monitors the dynamic information of the NGSON nodes (node status, node CPU, memory, NIC, disk usage, etc.) (1501).

그리고 콘텍스트 정보 관리 블록(CIM FE)은 서비스 정책 결정 블록(SPD FE)에게 네트워크 콘텍스트 정보와 리소스 콘텍스트 정보를 요청한다. 그러면, 서비스 정책 결정 블록(SPD FE)은 하부 네트워크와 노드를 모니터링한 네트워크 콘텍스트 정보와 리소스 콘텍스트 정보를 콘텍스트 정보 관리 블록(CIM FE)에게 제공한다(1502).The context information management block CIM FE requests network context information and resource context information from the service policy decision block SPD FE. The service policy decision block SPD FE then provides the context information management block CIM FE with network context information and resource context information monitoring the underlying network and the node 1502.

이후, 서비스 요청자(Service Requester)가 서비스 라우팅 블록(SR FE) 1에게 멀티캐스트를 요청한다(1503).Thereafter, the service requester requests a multicast from the service routing block SR FE 1 (1503).

그러면, 서비스 라우팅 블록(SR FE) 1은 멀티캐스트 그룹 정보(그룹 ID, 그룹 명, 멤버 등)를 콘텐츠 전달 블록(CD FE) 1에게 질의한다(1504).The service routing block (SR FE) 1 then queries the content delivery block (CD FE) 1 for multicast group information (group ID, group name, member, etc.) (1504).

그리고 서비스 라우팅 블록(SR FE) 1이 콘텐츠 전달 블록(CD FE) 1에게 멀티캐스트를 요청한다(1505).The service routing block SR FE 1 requests the multicast to the content delivery block CD FE 1 (1505).

그러면, 콘텐츠 전달 블록(CD FE) 1은 멀티캐스트 요청 정보를 이용하여 멀티캐스트 DB를 갱신(update)한다(1506).Then, the content delivery block (CD FE) 1 updates the multicast DB using the multicast request information (1506).

그리고 서비스 라우팅 블록(SR FE) 1은 콘텍스트 정보 관리 블록(CIM FE)에게 네트워크 콘텍스트 정보와 리소스 콘텍스트 정보를 요청한다(1507).The service routing block SR FE 1 requests network context information and resource context information from the context information management block CIM FE (1507).

그리고 콘텐츠 전달 블록(CD FE) 1은 네트워크 콘텍스트 정보와 리소스 콘텍스트 정보를 기반으로 하여 최적의 멀티캐스트 채널을 설정한다(1508).The content delivery block (CD FE) 1 sets an optimal multicast channel based on the network context information and the resource context information (1508).

그리고 콘텐츠 전달 블록(CD FE) 1은 자신의 하위 노드인 콘텐츠 전달 블록(CD FE) 2에게 멀티캐스트 채널 설정을 요청한다(1509). 그러면, 콘텐츠 전달 블록(CD FE) 2는 자신의 하위 노드인 콘텐츠 전달 블록(CD FE) N에게 멀티캐스트 채널 설정을 요청한다(1510). 이와 같이 순차적으로 그룹 내의 모든 노드들에게 멀티캐스트 채널 설정을 요청한다. 멀티캐스트 채널 설정 요청을 받은 콘텐츠 전달 블록(CD FE)들은 자신의 하위 노드를 설정함으로써 멀티캐스트 채널을 설정한다.The content delivery block (CD FE) 1 requests the multicast channel setup from the content delivery block (CD FE) 2 which is its subordinate node (1509). Then, the content delivery block (CD FE) 2 requests a multicast channel setup from the content delivery block (CD FE) N, which is its lower node (1510). In this way, all nodes in the group are sequentially requested to establish a multicast channel. Content delivery blocks (CD FEs) receiving a multicast channel establishment request establish a multicast channel by configuring their subnodes.

그리고 콘텐츠 전달 블록(CD FE) 1은 설정된 멀티캐스트 채널을 이용하여 자신의 하위 노드인 콘텐츠 전달 블록(CD FE) 2에게 멀티캐스트 콘텐츠 전송을 한다(1511). 그러면, 콘텐츠 전달 블록(CD FE) 2는 자신의 하위 노드인 콘텐츠 전달 블록(CD FE) N에게 멀티캐스트 콘텐츠 전송을 한다(1512). 이와 같이 가장 최하위 노드까지 멀티캐스트 콘텐츠 전송을 한다.
The content delivery block (CD FE) 1 transmits the multicast content to the content delivery block (CD FE) 2 which is its subordinate node by using the established multicast channel (1511). Then, the content delivery block (CD FE) 2 transmits multicast content to the content delivery block (CD FE) N, which is its subordinate node (1512). As such, multicast content transmission is performed to the lowest node.

한편, 전술한 바와 같은 본 발명에 따른 오버레이 멀티캐스트 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.On the other hand, the overlay multicast method according to the present invention as described above is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. The medium may be a transmission medium such as an optical or metal line, a wave guide, or the like, including a carrier wave for transmitting a signal designating a program command, a data structure, or the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 치환, 변형 및 변경이 가능하다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, Various permutations, modifications and variations are possible without departing from the spirit of the invention.

그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Therefore, the scope of the present invention should not be construed as being limited to the embodiments described, but should be determined by the scope of the appended claims, as well as the appended claims.

Claims (18)

오버레이 멀티캐스트 시스템에 있어서,
하위 네트워크 및 노드를 모니터링하여 콘텍스트 정보를 콘텍스트 정보 관리 블록으로 전달하기 위한 서비스 정책 결정 블록(SPD FE);
상기 서비스 정책 결정 블록으로부터 전달받은 콘텍스트 정보를 서비스 라우팅 블록으로 전달하기 위한 상기 콘텍스트 정보 관리 블록(CIM FE);
상기 콘텍스트 정보 관리 블록으로부터 전달받은 콘텍스트 정보를 콘텐츠 전달 블록으로 전달하고, 콘텐츠 전달 요청을 상기 콘텐츠 전달 블록으로 전달하기 위한 상기 서비스 라우팅 블록(SR FE); 및
상기 서비스 라우팅 블록으로부터 전달받은 콘텍스트 정보를 이용하여 멀티캐스트 채널을 설정하고, 상기 서비스 라우팅 블록으로부터의 콘텐츠 전달 요청에 따라 해당 콘텐츠를 상기 설정된 멀티캐스트 채널을 통하여 전달하기 위한 상기 콘텐츠 전달 블록(CD FE)
을 포함하는 오버레이 멀티캐스트 시스템.
In an overlay multicast system,
A service policy decision block (SPD FE) for monitoring the lower network and the nodes and delivering the context information to the context information management block;
The context information management block (CIM FE) for transferring the context information received from the service policy decision block to a service routing block;
The service routing block (SR FE) for delivering the context information received from the context information management block to a content delivery block and for delivering a content delivery request to the content delivery block; And
The content delivery block (CD FE) for establishing a multicast channel using the context information received from the service routing block and delivering the corresponding content through the set multicast channel according to a content delivery request from the service routing block. )
Overlay multicast system comprising a.
제 1 항에 있어서,
상기 콘텍스트 정보는,
네트워크 콘텍스트 정보와 리소스 콘텍스트 정보를 포함하는, 오버레이 멀티캐스트 시스템.
The method of claim 1,
The context information,
An overlay multicast system comprising network context information and resource context information.
제 2 항에 있어서,
상기 네트워크 콘텍스트 정보는 라우팅 정보, 대역폭, 트래픽 중 어느 하나 이상을 포함하고,
상기 리소스 콘텍스트 정보는 상기 노드의 CPU(Central Processing Unit) 사용량, 메모리 사용량, NIC(Network Interface Card) 사용량, 디스크 사용량 중 어느 하나 이상을 포함하는, 오버레이 멀티캐스트 시스템.
The method of claim 2,
The network context information includes any one or more of routing information, bandwidth, and traffic;
The resource context information includes any one or more of the central processing unit (CPU) usage, memory usage, network interface card (NIC) usage, disk usage of the node.
제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
상기 콘텐츠 전달 블록은,
노드 장애가 발생하거나 멀티캐스트 그룹 참가 또는 탈퇴 발생 시에, 상기 서비스 라우팅 블록으로부터 콘텍스트 정보를 획득하여 멀티캐스트 채널을 재설정하는 기능을 더 수행하는, 오버레이 멀티캐스트 시스템.
The method according to any one of claims 1 to 3,
The content delivery block,
And in the event of node failure or multicast group join or leave, further performing the function of resetting the multicast channel by obtaining context information from the service routing block.
제 4 항에 있어서,
상기 콘텐츠 전달 블록은,
멀티캐스트 그룹 멤버를 관리하기 위한 그룹 DB(Database); 및
멀티캐스트 요청 정보를 관리하기 위한 멀티캐스트 DB
를 포함하는 오버레이 멀티캐스트 시스템.
The method of claim 4, wherein
The content delivery block,
A group DB (Database) for managing multicast group members; And
Multicast DB for managing multicast request information
Overlay multicast system comprising a.
제 5 항에 있어서,
상기 콘텐츠 전달 블록은,
상기 해당 콘텐츠를 청크 단위로 분할한 청크 파일의 순서 번호를 나타내는 시퀀스(Sequence) 번호를 관리하는, 오버레이 멀티캐스트 시스템.
The method of claim 5, wherein
The content delivery block,
And a sequence number indicating a sequence number of the chunk file obtained by dividing the corresponding content in chunk units.
오버레이 멀티캐스트 방법에 있어서,
서비스 정책 결정 블록이 하위 네트워크 및 노드를 모니터링하여 콘텍스트 정보를 콘텍스트 정보 관리 블록으로 전달하는 단계;
상기 콘텍스트 정보 관리 블록이 상기 서비스 정책 결정 블록으로부터 전달받은 콘텍스트 정보를 서비스 라우팅 블록으로 전달하는 단계;
상기 서비스 라우팅 블록이 상기 콘텍스트 정보 관리 블록으로부터 전달받은 콘텍스트 정보를 콘텐츠 전달 블록으로 전달하는 단계;
상기 콘텐츠 전달 블록이 상기 서비스 라우팅 블록으로부터 전달받은 콘텍스트 정보를 이용하여 멀티캐스트 채널을 설정하는 단계;
상기 서비스 라우팅 블록이 콘텐츠 전달 요청을 상기 콘텐츠 전달 블록으로 전달하는 단계; 및
상기 콘텐츠 전달 블록이 상기 서비스 라우팅 블록으로부터의 콘텐츠 전달 요청에 따라 해당 콘텐츠를 상기 설정된 멀티캐스트 채널을 통하여 전달하는 단계
를 포함하는 오버레이 멀티캐스트 방법.
In the overlay multicast method,
Monitoring, by the service policy determination block, the lower network and the node, and delivering the context information to the context information management block;
Transmitting, by the context information management block, context information received from the service policy determination block to a service routing block;
Delivering, by the service routing block, context information received from the context information management block to a content delivery block;
Establishing, by the content delivery block, a multicast channel using the context information received from the service routing block;
The service routing block forwarding a content delivery request to the content delivery block; And
Delivering, by the content delivery block, the corresponding content through the established multicast channel according to a content delivery request from the service routing block;
Overlay multicast method comprising a.
제 7 항에 있어서,
노드 장애가 발생하거나 멀티캐스트 그룹 참가 또는 탈퇴 발생 시에, 상기 콘텐츠 전달 블록이 상기 서비스 라우팅 블록으로부터 콘텍스트 정보를 획득하여 멀티캐스트 채널을 재설정하는 단계
를 더 포함하는 오버레이 멀티캐스트 방법.
The method of claim 7, wherein
Resetting the multicast channel by acquiring context information from the service routing block in the event of a node failure or joining or leaving a multicast group;
Overlay multicast method further comprising.
제 7 항 또는 제 8 항에 있어서,
상기 콘텍스트 정보는,
네트워크 콘텍스트 정보와 리소스 콘텍스트 정보를 포함하는, 오버레이 멀티캐스트 방법.
9. The method according to claim 7 or 8,
The context information,
An overlay multicast method comprising network context information and resource context information.
제 7 항 또는 제 8 항에 있어서,
상기 콘텐츠 전달 블록은,
그룹 DB를 이용하여 멀티캐스트 그룹 멤버를 관리하고, 멀티캐스트 DB를 이용하여 멀티캐스트 요청 정보를 관리하며,
상기 해당 콘텐츠를 청크 단위로 분할한 청크 파일의 순서 번호를 나타내는 시퀀스(Sequence) 번호를 관리하는, 오버레이 멀티캐스트 방법.
9. The method according to claim 7 or 8,
The content delivery block,
Manage multicast group members using group DB, manage multicast request information using multicast DB,
And managing a sequence number indicating a sequence number of the chunk file obtained by dividing the corresponding content in chunk units.
오버레이 멀티캐스트 시스템에 있어서,
서비스 정책 결정 블록에게 콘텍스트 정보를 요청하여 획득하기 위한 콘텍스트 정보 관리 블록(CIM FE);
상기 콘텍스트 정보 관리 블록으로부터 콘텍스트 정보를 획득하여 콘텐츠 전달 블록에게 전달하고, 멀티캐스트 그룹 생성 요청에 따라 그룹 ID 생성 및 루트 노드를 선정하고, 멀티캐스트 그룹 생성을 상기 콘텐츠 전달 블록에게 요청하기 위한 서비스 라우팅 블록(SR FE);
상기 서비스 라우팅 블록으로부터의 멀티캐스트 그룹 생성 요청에 따라 그룹 DB를 생성하고 멀티캐스트 그룹 참여 또는 탈퇴 요청에 따라 상기 그룹 DB를 갱신하며, 상기 서비스 라우팅 블록으로부터의 콘텍스트 정보를 이용하여 멀티캐스트 채널을 설정하고, 상기 서비스 라우팅 블록으로부터의 멀티캐스트 콘텐츠 전송 요청에 따라 멀티캐스트 요청 정보를 이용하여 멀티캐스트 DB를 갱신하고 하위의 콘텐츠 전달 블록에게 상기 설정된 멀티캐스트 채널을 통해 콘텐츠를 전송하기 위한 상기 콘텐츠 전달 블록(CD FE)
을 포함하는 오버레이 멀티캐스트 시스템.
In an overlay multicast system,
A context information management block (CIM FE) for requesting and obtaining context information from a service policy decision block;
Service routing for acquiring context information from the context information management block and delivering it to a content delivery block, selecting a group ID and a root node according to a multicast group creation request, and requesting the content delivery block to generate a multicast group. Block SR FE;
Create a group DB according to a multicast group creation request from the service routing block, update the group DB according to a multicast group join or leave request, and set up a multicast channel using context information from the service routing block. And updating the multicast DB using the multicast request information according to the multicast content transmission request from the service routing block, and transmitting the content to a lower content delivery block through the set multicast channel. (CD FE)
Overlay multicast system comprising a.
제 11 항에 있어서,
상기 콘텐츠 전달 블록은,
노드 장애가 발생하거나 멀티캐스트 그룹 참가 또는 탈퇴 발생 시에, 상기 서비스 라우팅 블록으로부터 콘텍스트 정보를 획득하여 멀티캐스트 채널을 재설정하는 기능을 더 수행하는, 오버레이 멀티캐스트 시스템.
The method of claim 11,
The content delivery block,
And in the event of node failure or multicast group join or leave, further performing the function of resetting the multicast channel by obtaining context information from the service routing block.
제 11 항 또는 제 12 항에 있어서,
상기 콘텐츠 전달 블록은,
상기 서비스 라우팅 블록으로부터의 멀티캐스트 그룹 해제 요청에 따라 상기 그룹 DB를 삭제하는 기능을 더 수행하는, 오버레이 멀티캐스트 시스템.
13. The method according to claim 11 or 12,
The content delivery block,
And deleting the group DB according to a multicast group release request from the service routing block.
제 11 항 또는 제 12 항에 있어서,
상기 콘텐츠 전달 블록은,
상기 콘텐츠를 청크 단위로 분할하여 동일 클러스터 내의 콘텐츠 전달 블록들에게 분할 배포하고, 청크 파일별 위치(각 청크 파일이 전달된 각 노드)를 나타내는 콘텐츠 메타데이터를 갱신하여 관리하며,
상기 동일 클러스터 내의 콘텐츠 전달 블록들은, 상기 콘텐츠 메타데이터를 이용하여 청크 파일의 위치를 확인하여 다중 노드를 이용하여 서로 간에 청크 파일을 교환하는, 오버레이 멀티캐스트 시스템.
13. The method according to claim 11 or 12,
The content delivery block,
The content is divided in chunks and divided and distributed to content delivery blocks in the same cluster, and the content metadata indicating the location of each chunk file (each node to which each chunk file is delivered) is updated and managed.
The content delivery blocks in the same cluster identify the location of the chunk file using the content metadata and exchange the chunk files with each other using multiple nodes.
오버레이 멀티캐스트 방법에 있어서,
콘텍스트 정보 관리 블록이 서비스 정책 결정 블록으로부터 콘텍스트 정보를 획득하는 단계;
서비스 라우팅 블록이 멀티캐스트 그룹 생성 요청에 따라 그룹 ID 생성 및 루트 노드를 선정하고, 멀티캐스트 그룹 생성을 콘텐츠 전달 블록에게 요청하는 단계;
상기 콘텐츠 전달 블록이 그룹 DB를 생성하고, 상기 서비스 라우팅 블록으로부터의 멀티캐스트 그룹 참여 또는 탈퇴 요청에 따라 상기 그룹 DB를 갱신하는 단계;
상기 서비스 라우팅 블록이 상기 콘텍스트 정보 관리 블록으로부터 콘텍스트 정보를 획득하여 상기 콘텐츠 전달 블록에게 전달하는 단계;
상기 콘텐츠 전달 블록이 콘텍스트 정보를 이용하여 멀티캐스트 채널을 설정하는 단계; 및
상기 콘텐츠 전달 블록이 상기 서비스 라우팅 블록으로부터의 멀티캐스트 콘텐츠 전송 요청에 따라 멀티캐스트 요청 정보를 이용하여 멀티캐스트 DB를 갱신하고, 하위의 콘텐츠 전달 블록에게 상기 설정된 멀티캐스트 채널을 통해 콘텐츠를 전송하는 단계
를 포함하는 오버레이 멀티캐스트 방법.
In the overlay multicast method,
Obtaining, by the context information management block, context information from the service policy decision block;
The service routing block selecting a group ID and a root node according to the multicast group creation request and requesting the content delivery block to generate the multicast group;
Generating, by the content delivery block, a group DB and updating the group DB according to a request for joining or leaving a multicast group from the service routing block;
Obtaining, by the service routing block, context information from the context information management block and delivering the context information to the content delivery block;
Establishing, by the content delivery block, a multicast channel using context information; And
Updating, by the content delivery block, a multicast DB using multicast request information according to a multicast content transmission request from the service routing block, and transmitting content to a lower content delivery block through the set multicast channel;
Overlay multicast method comprising a.
제 15 항에 있어서,
노드 장애가 발생하거나 멀티캐스트 그룹 참가 또는 탈퇴 발생 시에, 상기 콘텐츠 전달 블록이 상기 서비스 라우팅 블록으로부터 콘텍스트 정보를 획득하여 멀티캐스트 채널을 재설정하는 단계
를 더 포함하는 오버레이 멀티캐스트 방법.
The method of claim 15,
Resetting the multicast channel by acquiring context information from the service routing block in the event of a node failure or joining or leaving a multicast group;
Overlay multicast method further comprising.
제 15 항 또는 제 16 항에 있어서,
상기 콘텐츠 전달 블록이 상기 서비스 라우팅 블록으로부터의 멀티캐스트 그룹 해제 요청에 따라 상기 그룹 DB를 삭제하는 단계
를 더 포함하는 오버레이 멀티캐스트 방법.
17. The method according to claim 15 or 16,
Deleting, by the content delivery block, the group DB according to a multicast group release request from the service routing block;
Overlay multicast method further comprising.
제 15 항 또는 제 16 항에 있어서,
상기 콘텐츠 전달 블록은,
상기 콘텐츠를 청크 단위로 분할하여 동일 클러스터 내의 콘텐츠 전달 블록들에게 분할 배포하고, 청크 파일별 위치(각 청크 파일이 전달된 각 노드)를 나타내는 콘텐츠 메타데이터를 갱신하여 관리하며,
상기 동일 클러스터 내의 콘텐츠 전달 블록들은, 상기 콘텐츠 메타데이터를 이용하여 청크 파일의 위치를 확인하여 다중 노드를 이용하여 서로 간에 청크 파일을 교환하는, 오버레이 멀티캐스트 방법.
17. The method according to claim 15 or 16,
The content delivery block,
The content is divided in chunks and divided and distributed to content delivery blocks in the same cluster, and the content metadata indicating the location of each chunk file (each node to which each chunk file is delivered) is updated and managed.
And content delivery blocks within the same cluster identify the location of the chunk file using the content metadata to exchange chunk files with each other using multiple nodes.
KR1020110110563A 2011-09-26 2011-10-27 Overlay multicast system and its method to provide multiple content distribution in distributed content nodes KR101830760B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020110096806 2011-09-26
KR20110096806 2011-09-26
KR20110096827 2011-09-26
KR1020110096827 2011-09-26

Publications (2)

Publication Number Publication Date
KR20130033253A true KR20130033253A (en) 2013-04-03
KR101830760B1 KR101830760B1 (en) 2018-02-23

Family

ID=48435802

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020110107097A KR101469310B1 (en) 2011-09-26 2011-10-19 Method and system for end-to-end QoS guaranteed content delivery on service overlay network
KR1020110110563A KR101830760B1 (en) 2011-09-26 2011-10-27 Overlay multicast system and its method to provide multiple content distribution in distributed content nodes

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020110107097A KR101469310B1 (en) 2011-09-26 2011-10-19 Method and system for end-to-end QoS guaranteed content delivery on service overlay network

Country Status (1)

Country Link
KR (2) KR101469310B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016008322A1 (en) * 2014-07-18 2016-01-21 华为技术有限公司 Path connectivity test method and device
CN105684505A (en) * 2014-01-29 2016-06-15 华为技术有限公司 Communication network, device and control method
KR20200054926A (en) * 2020-05-11 2020-05-20 에스케이텔레콤 주식회사 Method for contents synchronization, device therefor

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104753828B (en) 2013-12-31 2019-10-25 华为技术有限公司 A kind of SDN controller, data center systems and routing connection method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8583919B2 (en) 2008-10-23 2013-11-12 Telefonaktiegolaget L M Ericsson (Publ) Mobility handling for multicast services
KR101038831B1 (en) * 2009-08-07 2011-06-03 삼성전기주식회사 Routing method of wpan ad-hoc network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105684505A (en) * 2014-01-29 2016-06-15 华为技术有限公司 Communication network, device and control method
CN105684505B (en) * 2014-01-29 2019-08-23 华为技术有限公司 Communication network, equipment and control method
WO2016008322A1 (en) * 2014-07-18 2016-01-21 华为技术有限公司 Path connectivity test method and device
KR20200054926A (en) * 2020-05-11 2020-05-20 에스케이텔레콤 주식회사 Method for contents synchronization, device therefor

Also Published As

Publication number Publication date
KR101469310B1 (en) 2014-12-09
KR20130033252A (en) 2013-04-03
KR101830760B1 (en) 2018-02-23

Similar Documents

Publication Publication Date Title
USRE49943E1 (en) System and method for a context layer switch
Mukerjee et al. Practical, real-time centralized control for cdn-based live video delivery
EP1334586B1 (en) Subgroup multicasting in a communications network
US8732298B2 (en) Method and apparatus for maintaining routing information
US8868747B2 (en) P2P system and a resource query method for the same
CN108540211B (en) Satellite network system based on SDN and ICN technologies
US9014051B2 (en) Updating multicast group information of a client device of a wireless mesh network
US7373394B1 (en) Method and apparatus for multicast cloud with integrated multicast and unicast channel routing in a content distribution network
WO2012065531A1 (en) Method, device, and system for implementing relay selection
JP2010529725A (en) Multicast service authorization control method, apparatus, and system
KR20230004761A (en) Confirmation of user plane functions and information provision methods, devices and media
US20120259861A1 (en) Method and apparatus for storing and searching for index information
KR101830760B1 (en) Overlay multicast system and its method to provide multiple content distribution in distributed content nodes
Liu et al. Satellite network architecture design based on SDN and ICN technology
Goh et al. A comparative study of tree-based and mesh-based overlay p2p media streaming
KR20130039652A (en) Method and apparatus for load balancing of content centric network
US10348597B2 (en) Monitoring server, resolution server, request device, and node selection method
US20140317272A1 (en) Method of collecting information, content network management system, and node apparatus using management interface in content network based on information-centric networking
Akiyama et al. Scalable pub/sub system using openflow control
JP5399276B2 (en) Content distribution system and method and program
JP2013183457A (en) Management method, management apparatus, and receiver
Lambrinos et al. An adaptive live media streaming architecture
Diallo et al. Towards extreme scale content-based networking for the next generation internet
KR101001357B1 (en) Method and Apparatus for constructing transmission tree
Singh Algorithms for Reliability in Large Scale Structured and Unstructured Peer-to-Peer Overlay Multicast Networks for Live Streaming

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