KR20170111217A - Method for providing of multi path streamming service, computer readale storage medium and recording program therefor - Google Patents

Method for providing of multi path streamming service, computer readale storage medium and recording program therefor Download PDF

Info

Publication number
KR20170111217A
KR20170111217A KR1020160036198A KR20160036198A KR20170111217A KR 20170111217 A KR20170111217 A KR 20170111217A KR 1020160036198 A KR1020160036198 A KR 1020160036198A KR 20160036198 A KR20160036198 A KR 20160036198A KR 20170111217 A KR20170111217 A KR 20170111217A
Authority
KR
South Korea
Prior art keywords
mmt
signaling message
client
mpu
streaming
Prior art date
Application number
KR1020160036198A
Other languages
Korean (ko)
Other versions
KR102303777B1 (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 에스케이텔레콤 주식회사
Priority to KR1020160036198A priority Critical patent/KR102303777B1/en
Publication of KR20170111217A publication Critical patent/KR20170111217A/en
Priority to KR1020210100074A priority patent/KR102439164B1/en
Application granted granted Critical
Publication of KR102303777B1 publication Critical patent/KR102303777B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 스트리밍 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스 제공 시 단일 경로가 아닌 다중 경로를 통해 스트리밍 서비스를 제공할 수 있는 다중 경로 스트리밍 서비스 제공을 위한 시그널링 메시지 및 이를 이용한 다중 경로 스트리밍 서비스 제공 방법에 관한 것이다.
이러한 본 발명의 실시 예에 따른 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 통신 프로토콜에 따라 동작하는 복수 개의 MMT 개체로 구성되는 스트리밍 시스템에서의 다중 경로 스트리밍 서비스 제공 방법에 있어서, 상기 MMT 개체가 자신이 보유하고 있는 패키지(package)에 대한 미디어 프로세싱 유닛(MPU; Media Processing Unit) 위치 정보(location) 및 MPU 아이디(MPU_id)를 정의하는 MP 테이블(MP table)을 포함하는 시그널링 메시지를 생성하는 단계 및 상기 MMT 개체가 상기 생성된 시그널링 메시지를 이용하여 다중 경로 방식의 스트리밍 서비스 제공이 가능하도록 하나 이상의 다른 MMT 개체로 전송하는 단계를 포함하여 이뤄질 수 있다.
The present invention relates to a method of providing a streaming service, and more particularly, to a method and apparatus for providing a streaming service by providing a multi-path streaming service capable of providing a streaming service through a multi- And a method for providing a multi-path streaming service using the signaling message.
A method for providing a multi-path streaming service in a streaming system comprising a plurality of MMT objects operating according to an MPEG Media Transport (MMT) communication protocol according to an embodiment of the present invention, Generating a signaling message including an MP table defining a media processing unit (MPU) location information and an MPU ID (MPU_id) for a package that the mobile terminal holds; And transmitting the MMT entity to one or more other MMT entities such that the MMT entity can provide a multi-path streaming service using the generated signaling message.

Description

다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램{METHOD FOR PROVIDING OF MULTI PATH STREAMMING SERVICE, COMPUTER READALE STORAGE MEDIUM AND RECORDING PROGRAM THEREFOR}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multi-path streaming service providing method, a computer readable recording medium,

본 발명은 스트리밍 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스 제공 시 단일 경로가 아닌 다중 경로를 통해 스트리밍 서비스를 제공할 수 있는 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램에 관한 것이다. The present invention relates to a method of providing a streaming service, and more particularly, to a method and apparatus for providing a streaming service by providing a multi-path streaming service capable of providing a streaming service through a multi- A service providing method, a computer readable recording medium therefor, and a computer program.

이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information on the present embodiment and do not constitute the prior art.

최근의 인터넷 환경에서 다양한 동영상 서비스가 등장하면서 고화질 라이브 방송에 대한 수요가 점점 증가하고 있다. 더하여, 최근에는 라이브 스트리밍(live streaming) 서비스 방식에 따라 다양한 동영상 서비스를 제공하고자 하는 시도들이 이뤄지고 있다. Recently, various video services have appeared in the Internet environment, and demand for high definition live broadcasting is increasing. In addition, in recent years, attempts have been made to provide various video services according to a live streaming service method.

스트리밍 서비스는 인터넷과 같은 네트워크를 통해 서버에서 단말로 비디오 또는 오디오와 같은 컨텐츠를 전송하는 것을 의미한다. 전송되는 데이터가 마치 물이 흐르는 것처럼 처리된다고 해서 스트리밍이라고 한다. 서버는 비디오를 네트워크로 보낼 수 있도록 패킷으로 분리하며, 단말은 그 패킷들을 다시 모아서 원래 형태로 복원한 후에 재생한다. 이때, 재생과 패킷 수신은 동시에 일어나며, 연관된 일련의 패킷들을 스트림(stream)이라하며, 일련의 패킷들의 집합을 스트리밍 데이터라 한다. A streaming service means transmitting content such as video or audio from a server to a terminal over a network such as the Internet. The transmitted data is called streaming if it is treated as though water is flowing. The server divides the video into packets so that it can be sent to the network, and the terminal collects the packets and restores them to their original form and plays back the packets. At this time, playback and packet reception occur at the same time, a series of related packets is called a stream, and a set of packets is called streaming data.

한편, MPEG-2 TS(Transport System)는 표준화 이후 지상파 및 위성 디지털 방송, DMB, IPTV 등 다양한 산업 분야에서 미디어 전송을 위해 주로 사용되어 왔으며, 근래에는 디지털 비디오 카메라나 블루레이 장비에서의 미디어 저장을 위해 사용되는 등 그 사용 분야가 확장되고 있다. 그러나, 최근의 네트워크 환경은 급속히 변화하고 있으며, 다양한 이종망(heterogeneous network) 환경에서의 멀티미디어 전송 기술 등 새로운 요구 사항들이 필요시 되고 있다. 이에, 고도화된 여러 종류의 네트워크 환경에서 다양한 콘텐츠와 서비스를 제공하기 위한 새로운 기술의 표준이 요구되고 있으며, 이에 따라, MMT(MPEG Media Transport) 기술이 개발되고 MMT 방식의 스트리밍 서비스를 제공하려는 시도들이 이뤄지고 있다. MPEG-2 TS (Transport System) has been used for media transmission in various industrial fields such as terrestrial and satellite digital broadcasting, DMB, and IPTV since standardization. In recent years, media storage in digital video cameras and Blu- And its use is expanding. However, the recent network environment is rapidly changing, and new requirements such as multimedia transmission technology in various heterogeneous network environments are required. Accordingly, there is a need for a new technology standard for providing various contents and services in various types of network environments. Accordingly, attempts have been made to develop an MMT (MPEG Media Transport) technology and provide an MMT streaming service It is being done.

그러나 현재까지의 MMT 기술은 다중 경로(multi path) 방식의 서비스 구현을 위한 동작 방법 및 기술에 대한 가이드 라인이 존재하지 않으며, 또한, 현재의 MMT 표준은 하나의 애셋(asset)은 한 경로를 통해 모두 전달되는 것을 가정하고 있어, 네트워크 대역폭을 효율적으로 사용하지 못한다는 문제점이 있다. However, the current MMT technology does not have a guideline for an operation method and a technique for implementing a multi-path service, and the current MMT standard requires that one asset is transmitted through one path It is assumed that they are all delivered, and there is a problem that the network bandwidth can not be efficiently used.

이에, MMT 방식의 스트리밍 서비스에 있어서, 네트워크 대역폭을 보다 효율적으로 사용할 수 있는 다중 경로(multi path) 방식의 서비스 구현 및 이를 위한 메시지의 정의가 필요하다. Accordingly, in the MMT-based streaming service, it is necessary to implement a multi-path service that can use the network bandwidth more efficiently and define a message for the service.

한국공개특허 제2013-0057404호, 2013년 05월 31일 공개 (명칭: 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치)Korean Patent Laid-Open Publication No. 2013-0057404, published on May 31, 2013 (titled "Method and Apparatus for Streaming Service Providing Scalability and View Information)

본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스 제공 시 단일 경로가 아닌 다중 경로를 통해 스트리밍 서비스를 제공할 수 있는 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램을 제공하는 데 목적이 있다. SUMMARY OF THE INVENTION The present invention has been proposed in order to solve the above-mentioned problems of the prior art. In particular, it is an object of the present invention to provide a method and apparatus for providing a streaming service in an MPEG media transport (MMT) A method for providing a path streaming service, a computer readable recording medium therefor, and a computer program.

특히, 본 발명은 서버-클라이언트 방식 또는 P2P(Peer to Peer)의 네트워크 구조를 고려하여 보다 효율적으로 다중 경로 방식의 스트리밍 서비스를 제공할 수 있는 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램을 제공하는 데 그 목적이 있다. In particular, the present invention relates to a method for providing a multi-path streaming service capable of more efficiently providing a multi-path streaming service in consideration of a network structure of a server-client scheme or a peer-to-peer (P2P) And a computer program.

또한, 본 발명은 MMT 스트리밍 서비스 제공 과정에서 사용되는 시그널링 메시지를 새롭게 정의하고, 정의된 시그널링 메시지를 이용하여 다중 경로 스트리밍 서비스를 제공할 수 있는 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램을 제공하는 데 그 목적이 있다. The present invention also provides a method of providing a multi-path streaming service capable of newly defining a signaling message used in a MMT streaming service provision process and providing a multi-path streaming service using a defined signaling message, And a computer program.

그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.However, the object of the present invention is not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood from the following description.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 통신 프로토콜에 따라 동작하는 복수 개의 MMT 개체로 구성되는 스트리밍 시스템에서의 다중 경로 스트리밍 서비스 제공 방법에 있어서, 상기 MMT 개체가 자신이 보유하고 있는 패키지(package)에 대한 미디어 프로세싱 유닛(MPU; Media Processing Unit) 위치 정보(location) 및 MPU 아이디(MPU_id)를 정의하는 MP 테이블(MP table)을 포함하는 시그널링 메시지를 생성하는 단계; 및 상기 MMT 개체가 상기 생성된 시그널링 메시지를 이용하여 다중 경로 방식의 스트리밍 서비스 제공이 가능하도록 하나 이상의 다른 MMT 개체로 상기 시그널링 메시지를 전송하는 단계;를 포함하여 이뤄질 수 있다. There is provided a method of providing a multi-path streaming service in a streaming system comprising a plurality of MMT objects operating according to an MPEG Media Transport (MMT) communication protocol according to an embodiment of the present invention to achieve the above-mentioned object (MP table) defining a media processing unit (MPU) location information and an MPU ID (MPU_id) for a package that the MMT entity has in its own Generating a signaling message; And transmitting the signaling message to one or more other MMT entities such that the MMT entity can provide a multi-path streaming service using the generated signaling message.

이때, 상기 MPU 위치 정보는 애셋 위치(asset_location) 정보에 종속되어 정의되며, 상기 MPU 아이디는 상기 MP 테이블의 MMT 일반 위치 정보(MMT_general_location_info())에서 정의되는 위치 타입(location_type)에 패킷 아이디(packet_id)가 정의되는 경우에만 포함될 수 있다. At this time, the MPU location information is defined depending on the asset location information, and the MPU ID includes a packet ID (packet_id) in a location type (location_type) defined in the MMT general location information (MMT_general_location_info Lt; / RTI > is defined.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스를 제공하는 MMT 스트리밍 서버 및 스트리밍 서비스를 이용하는 클라이언트와 상기 MMT 스트리밍 서버 사이에 위치하며 MMT 통신 프로토콜에 따라 상기 MMT 스트리밍 서버가 제공하는 패키지(package)와 동일한 패키지 전부 또는 일부를 제공할 수 있는 복수 개의 MMT 중간 개체(entity)를 포함하는 스트리밍 시스템에서의 다중 경로 스트리밍 서비스 제공 방법에 있어서, 상기 복수 개의 MMT 중간 개체 각각이 시그널링 메시지를 통해 자신이 보유하고 있는 패키지와 관련된 정보를 시그널링 메시지를 통해 공유하는 단계; 상기 공유된 시그널링 메시지를 기초로 상기 복수 개의 MMT 중간 개체 중 어느 하나의 MMT 중간 개체가 조정자(coordinator) MMT 중간 개체로 설정되는 단계; 상기 설정된 조정자 MMT 중간 개체가 클라이언트의 요청에 따라 상기 MMT 스트리밍 서버로부터 상기 클라이언트로 전달되는 시그널링 메시지를 상기 공유된 시그널링 메시지를 이용하여 적어도 둘 이상의 다중 경로에 대응하는 시그널링 메시지로 각각 생성하는 단계; 및 상기 조정자 MMT 중간 개체가 상기 생성된 적어도 둘 이상의 시그널링 메시지를 상기 클라이언트로 전달하여 상기 클라이언트가 상기 시그널링 메시지에 따라 MMT 스트리밍 서비스를 요청하고 수신할 수 있도록 처리하는 단계;를 포함하여 이뤄질 수 있다. There is provided an MMT streaming server for providing an MPEG media transport (MMT) streaming service according to an embodiment of the present invention to achieve the above-mentioned object, and an MMT streaming server for providing a streaming service between a client using the streaming service and the MMT streaming server A method for providing a multi-path streaming service in a streaming system including a plurality of MMT intermediate entities which can be provided with all or a part of the same package as a package provided by the MMT streaming server according to an MMT communication protocol Wherein each of the plurality of MMT intermediate entities shares information related to a package they own via a signaling message through a signaling message; Setting an MMT intermediate entity of the plurality of MMT intermediate entities as a coordinator MMT intermediate entity based on the shared signaling message; Generating a signaling message to be transmitted from the MMT streaming server to the client according to a request of the client, the signaling message corresponding to at least two or more multipaths using the shared signaling message; And the coordinator MMT intermediate entity transmits the generated at least two signaling messages to the client so that the client can request and receive the MMT streaming service according to the signaling message.

이때, 상기 패키지와 관련된 정보는 미디어 프로세싱 유닛(MPU; Media Processing Unit) 위치 정보(location) 및 MPU 아이디(MPU_id)를 의미하며, 상기 시그널링 메시지는 상기 MPU 위치 정보 및 MPU 아이디가 정의된 MP 테이블(MP table)을 포함할 수 있다. Herein, the information related to the package refers to a media processing unit (MPU) location information and an MPU ID (MPU_id), and the signaling message includes an MP table in which the MPU location information and MPU ID are defined MP table).

또한, 상기 공유하는 단계는, 상기 복수 개의 MMT 중간 개체 각각이 자신이 보유하고 있는 패키지와 관련된 정보를 포함하는 시그널링 메시지를 상기 MMT 스트리밍 서버 상향(upwarding) 방향에 위치하는 상위 MMT 중간 개체로 전송하는 단계; 및 상기 상위 MMT 개체는 하위 MMT 중간 개체로부터 전달되는 시그널링 메시지 및 자신이 보유하고 있는 패키지와 관련된 정보를 포함하는 시그널링 메시지를 상기 MMT 스트리밍 서버 상향 방향으로 전송하는 단계;를 포함하여 이뤄질 수 있다. The sharing step may include transmitting a signaling message including information related to a package held by each of the plurality of MMT intermediate entities to an upper MMT intermediate entity located in an upward direction of the MMT streaming server step; And transmitting the signaling message including the signaling message transmitted from the lower MMT intermediate entity and the information related to the package held by the upper MMT entity in the upward direction of the MMT streaming server.

이때, 상기 조정자 MMT 중간 개체로 설정되는 단계는 상기 MMT 스트리밍 서버 상향 방향에 위치하는 개체가 MMT 스트리밍 서버인 최상위 MMT 중간 개체를 조정자 MMT 중간 개체로 설정할 수 있다. At this time, in the step of setting as the coordinator MMT intermediate entity, the entity located in the upward direction of the MMT streaming server may set the highest-level MMT intermediate entity, which is an MMT streaming server, as the coordinator MMT intermediate entity.

또한, 상기 생성하는 단계는 상기 조정자 MMT 중간 개체가 상기 공유된 시그널링 메시지를 이용하여 상기 MMT 스트리밍 서버로부터 전달되는 시그널링 메시지의 MP 테이블에 기재된 패키지와 관련된 정보 중 적어도 일부의 동일한 패키지를 보유하고 있는 MMT 중간 개체가 존재하는 것으로 판단되면, 상기 MP 테이블에서 해당 정보를 삭제한 제1 시그널링 메시지를 생성하는 단계; 및 상기 조정자 MMT 중간 개체가 상기 MMT 스트리밍 서버로부터 전달된 시그널링 메시지의 상기 MP 테이블에서 동일한 정보를 제외한 나머지를 삭제한 제2 시그널링 메시지를 생성하는 단계;를 포함하여 이뤄질 수 있다. In addition, the generating may be performed by the coordinator MMT intermediate entity, using the shared signaling message, to transmit at least some of the information related to the package described in the MP table of the signaling message transmitted from the MMT streaming server, Generating a first signaling message in which the corresponding information is deleted from the MP table if it is determined that an intermediate entity exists; And generating a second signaling message in which the coordinator MMT intermediate entity deletes the remainder excluding the same information from the MP table of the signaling message transmitted from the MMT streaming server.

이때, 상기 제2 시그널링 메시지를 생성하는 단계는 상기 조정자 MMT 중간 개체는 상기 MMT 스트리밍 서버로부터 전달된 시그널링 메시지의 상기 MP 테이블에서 동일한 정보를 제외한 나머지를 삭제한 후, 상기 시그널링 메시지의 출발지 주소(src_addr)를 상기 동일한 패키지를 보유하고 있는 MMT 중간 개체의 주소로 변경하고, 상기 시그널링 메시지의 목적지 포트(dst_port)를 다른 목적지 포트로 설정한 제2 시그널링 메시지를 생성할 수 있다. At this time, in the step of generating the second signaling message, the coordinator MMT intermediate entity deletes the remainder excluding the same information from the MP table of the signaling message transmitted from the MMT streaming server, and then transmits the source address of the signaling message src_addr ) To the address of the MMT intermediate entity having the same package, and generates a second signaling message in which the destination port (dst_port) of the signaling message is set as another destination port.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스를 제공하는 MMT 스트리밍 서버 및 복수 개의 클라이언트를 포함하는 스트리밍 시스템에서의 다중 경로 스트리밍 서비스 제공 방법에 있어서, 어느 하나의 클라이언트가 상기 MMT 스트리밍 서버로 패키지를 요청하는 단계; 상기 클라이언트가 상기 MMT 스트리밍 서버로부터 상기 패키지의 적어도 일부를 보유하고 있는 하나 이상의 다른 클라이언트에 대한 정보를 포함하는 시그널링 메시지를 수신하는 단계; 상기 클라이언트가 가용 채널 용량을 고려하여 상기 시그널링 메시지에 포함된 다른 클라이언트 중 적어도 하나 이상의 다른 클라이언트와 연결하는 단계; 및 상기 클라이언트가 연결된 다른 클라이언트로부터 스트리밍 데이터를 동시에 요청하여 수신하는 단계;를 포함하여 이뤄질 수 있다. In order to achieve the above object, there is provided an MMT streaming server for providing an MPEG media transport (MMT) streaming service according to an exemplary embodiment of the present invention and a multi- A method of providing a streaming service, the method comprising: requesting a package from one of the clients to the MMT streaming server; Receiving a signaling message from the MMT streaming server, the signaling message including information about one or more other clients holding at least a portion of the package; The client connecting with at least one of the other clients included in the signaling message considering the available channel capacity; And simultaneously requesting and receiving streaming data from another client to which the client is connected.

이때, 상기 수신되는 시그널링 메시지는 상기 클라이언트의 IP 주소, 다른 클라이언트의 IP 주소 및 상기 다른 클라이언트별 각각에 대응하는 패키지 ID, 하나 이상의 애셋 ID 및 적어도 하나 이상의 MPU ID에 대한 정보를 포함할 수 있다. At this time, the received signaling message may include information on the IP address of the client, the IP address of another client, the package ID corresponding to each of the other clients, one or more asset IDs, and at least one MPU ID.

또한, 상기 다른 클라이언트와 연결하는 단계는 상기 클라이언트가 자신의 현재 채널 사용량(current channel usage of peer) 및 최대 채널 용량(maximum channel capacity of peer)을 산출하는 단계; 및 상기 최대 채널 용량에서 상기 현재 채널 사용량을 뺀 용량이 채널 마진(channel margin for reliability) 미만이 될 때까지 상기 클라이언트가 서로 다른 클라이언트와 연결을 수행할 수 있다. In addition, the step of connecting to another client may include: calculating a current channel usage of a peer and a maximum channel capacity of a peer; And the client can perform a connection with a different client until the capacity of the maximum channel capacity minus the current channel usage is less than a channel margin for reliability.

또한, 상기 클라이언트가 다른 클라이언트와 연결을 수행하는 단계 이후에, 상기 클라이언트가 자신의 현재 채널 사용량 및 최대 채널 용량을 지속적으로 모니터링하여 현재 채널 사용량에 변화가 감지되면, 상기 현재 채널 사용량 및 최대 채널 용량을 재산출하는 단계;를 더 포함하여 이뤄질 수 있다. In addition, after the client performs a connection with another client, the client continuously monitors its current channel usage and maximum channel capacity, and if a change in the current channel usage is detected, the current channel usage and maximum channel capacity And a step of delivering the property to the customer.

추가로 본 발명은 상술한 바와 같은 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.Further, the present invention can provide a computer-readable recording medium on which a program for executing the above-described method is recorded.

추가로 본 발명은 상술한 바와 같은 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장되는 컴퓨터 프로그램을 통해 배포될 수 있다. Further, the present invention can be distributed through a computer program stored on a computer-readable recording medium which is implemented to carry out the method as described above.

본 발명의 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램에 의하면, MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스 제공 시 단일 경로가 아닌 다중 경로를 통해 스트리밍 서비스를 제공함으로써, 보다 신속한 스트리밍 서비스 제공이 가능하게 된다. According to the method of providing a multi-path streaming service of the present invention, a computer-readable recording medium and a computer program therefor, it is possible to provide a multi-path streaming service by providing a streaming service It is possible to provide a streaming service more quickly.

또한 본 발명에 의하면, 다중 경로 스트리밍 서비스 제공 시 스트리밍 서비스 제공의 단위가 애셋이 아닌 MPU 단위로 스트리밍 서비스를 제공할 수 있어, 네트워크 자원을 보다 효율적으로 사용할 수 있으며, 서버-클라이언트 방식 또는 P2P 방식과 같이 다양한 네트워크 구조를 고려하여 스트리밍 서비스 제공이 가능하게 된다. In addition, according to the present invention, a streaming service providing unit can provide a streaming service in units of MPU instead of an asset when providing a multi-path streaming service, so that network resources can be used more efficiently, Streaming service can be provided considering various network structures.

또한, 본 발명에 의하면, MMT 스트리밍 서비스 제공 과정에서 사용되는 시그널링 메시지를 새롭게 정의한 후 이를 이용함으로써, 스트리밍 서비스 제공을 위한 새로운 시스템 구현 없이 기존의 MMT 스트리밍 시스템을 활용하여 본 발명의 서비스를 제공할 수 있게 된다. In addition, according to the present invention, it is possible to provide a service of the present invention by utilizing a conventional MMT streaming system without newly implementing a system for providing a streaming service by newly defining and using a signaling message used in the MMT streaming service providing process .

아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.In addition, various effects other than the above-described effects can be directly or implicitly disclosed in the detailed description according to the embodiment of the present invention to be described later.

도 1은 본 발명의 실시 예에 따른 다중 경로 MMT 스트리밍 서비스 제공 방법이 적용된 시스템의 개략적인 예시도이다.
도 2는 본 발명의 실시 예에 따른 MMT 패킷 구조를 설명하기 위한 예시도이다.
도 3은 본 발명의 실시 예에 따른 MMT 시그널링 메시지를 설명하기 위한 도면이다.
도 4는 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 구성도이다.
도 5는 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 7은 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 구성도이다.
도 8은 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 흐름도이다.
FIG. 1 is a schematic view illustrating a system to which a multi-path MMT streaming service providing method according to an embodiment of the present invention is applied.
2 is an exemplary diagram illustrating an MMT packet structure according to an embodiment of the present invention.
3 is a view for explaining an MMT signaling message according to an embodiment of the present invention.
4 is a block diagram illustrating a method of providing a multi-path streaming service according to the first embodiment of the present invention.
5 is a flowchart illustrating a method of providing a multi-path streaming service according to the first embodiment of the present invention.
6 is a data flow chart for explaining a method of providing a multi-path streaming service according to the first embodiment of the present invention.
7 is a block diagram illustrating a method for providing a multi-path streaming service according to a second embodiment of the present invention.
FIG. 8 is a flowchart illustrating a method of providing a multi-path streaming service according to a second embodiment of the present invention.

본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다. BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the nature and advantages of the present invention, reference should be made to the following detailed description taken in conjunction with the accompanying drawings, in which:

다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.

이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms and words used in the following description and drawings are not to be construed in an ordinary sense or a dictionary, and the inventor can properly define his or her invention as a concept of a term to be described in the best way It should be construed as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention, and not all of the technical ideas of the present invention are described. Therefore, It is to be understood that equivalents and modifications are possible.

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.Also, terms including ordinal numbers such as first, second, etc. are used to describe various elements, and are used only for the purpose of distinguishing one element from another, Not used. For example, without departing from the scope of the present invention, the second component may be referred to as a first component, and similarly, the first component may also be referred to as a second component.

더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.In addition, when referring to an element as being "connected" or "connected" to another element, it means that it can be connected or connected logically or physically. In other words, it is to be understood that although an element may be directly connected or connected to another element, there may be other elements in between, or indirectly connected or connected.

또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Also, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. It is also to be understood that the terms such as " comprising "or" having ", as used herein, are intended to specify the presence of stated features, integers, It should be understood that the foregoing does not preclude the presence or addition of other features, numbers, steps, operations, elements, parts, or combinations thereof.

본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.The invention may also be practiced in distributed systems environments where both local and remote computer systems linked by a combination of wired data links, wireless data links, or wired and wireless data links over a network perform tasks. In a distributed system environment, program modules may be located in local and remote memory storage devices.

이하 본 명세서에서 기술하는 용어의 의미는 다음과 같이 정의할 수 있다. Hereinafter, the meaning of the terms described in this specification can be defined as follows.

넌 타임드 데이터(Non-timed data)는 시간을 명시하지 않고 소비되는 모든 데이터 요소를 정의한다. 넌 타임드 데이터는 그의 미디어 유닛의 디코딩 및/또는 표현을 위한 고유의 동기화 정보를 가지지 않는 데이터다.Non-timed data defines all data elements that are consumed without specifying the time. Timed data is data that does not have its own synchronization information for decoding and / or presentation of its media unit.

타임드 데이터(timed data)는 그의 미디어 유닛의 디코딩 및/또는 표현을 위한 고유의 동기화 정보를 가는 데이터로, 디코딩 및 프리젠테이션되는 특정한 시간과 연관된 데이터 요소를 정의한다.Timed data defines data elements associated with a particular time to be decoded and presented as thinning data for inherent synchronization information for decoding and / or presentation of its media unit.

MMT 개체(MMT entity)는 MMT 프로파일을 따르는 소프트웨어 또는 하드웨어의 구현이다. 이러한 MMT 개체는 시스템 내에서의 동작에 따라 MMT 송신 개체, MMT 수신 개체로 구분될 수 있다. 또한 MMT 송신 개체 및 MMT 수신 개체 사이에 위치하며 MMT 송신 및 수신 사이의 필요한 정보를 송수신하거나 처리할 수 있는 MMT 중간 개체를 포함할 수 있다. An MMT entity is an implementation of software or hardware that conforms to an MMT profile. Such an MMT entity may be classified into an MMT transmission entity and an MMT receiving entity according to an operation in the system. And an MMT intermediate entity located between the MMT transmission entity and the MMT receiving entity and capable of sending, receiving, or processing necessary information between the MMT transmission and reception.

MMT 패킷(MMT packet)은 MMT 프로토콜에 따라 생성 또는 소비되는 데이터의 형식화된 유닛(formatted unit)이다.An MMT packet is a formatted unit of data generated or consumed according to the MMT protocol.

MMT 페이로드(MMT payload)는 패키지를 나르거나 MMT 프로토콜이나 인터넷 응용 계층 전송 프로토콜(예를 들어 RTP(Real-Time Transport Protocol)가 있다)을 사용하여 메시지를 시그널링하는 데이터의 형식화된 유닛이다.The MMT payload is a formatted unit of data carrying a package or signaling messages using the MMT protocol or the Internet application layer transport protocol (e.g., RTP (Real-Time Transport Protocol)).

MMT 프로토콜은 MMT 페이로드를 IP 네트워크를 통해 전달하기 위한 응용 계층 전송 프로토콜이다.The MMT protocol is an application layer transport protocol for delivering MMT payloads over an IP network.

MMT 페이로드 포맷(MMT payload format)은 MMT 프로토콜 또는 인터넷 응용 계층 프로토콜(예를 들면, RTP)에 의해 전달될 MMT 패키지 또는 MMT 시그널링 메시지의 페이로드를 위한 포맷이다.The MMT payload format is a format for the payload of the MMT package or MMT signaling message to be delivered by the MMT protocol or the Internet application layer protocol (e.g., RTP).

이하, 본 발명의 실시 예에 따른 다중 경로 MMT 스트리밍 서비스 제공 방법에 대한 개략적인 흐름에 대해 도 1 및 도 2를 참조하여 설명하도록 한다. Hereinafter, a schematic flow of a method for providing a multi-path MMT streaming service according to an embodiment of the present invention will be described with reference to FIG. 1 and FIG.

도 1은 본 발명의 실시 예에 따른 다중 경로 MMT 스트리밍 서비스 제공 방법이 적용된 시스템의 개략적인 예시도이며, 도 2는 본 발명의 실시 예에 따른 MMT 구조를 설명하기 위한 예시도이다. FIG. 1 is a schematic view of a system to which a multi-path MMT streaming service providing method according to an embodiment of the present invention is applied, and FIG. 2 is an exemplary view illustrating an MMT structure according to an embodiment of the present invention.

먼저, 도 1을 참조하면 클라이언트(100)는 MMT 스트리밍 서버(500)로 MMT 스트리밍 데이터를 요청한다. 클라이언트(100)는 MMT 프로토콜을 처리할 수 있는 상태의 장치이며, MMT 프로토콜에 따라 MMT 스트리밍 서버(500)로 MMT 스트리밍 데이터를 요청하고 MMT 스트리밍 서버(500)로부터 제공되는 MMT 스트리밍 데이터를 수신하여 재생할 수 있는 장치이다. Referring to FIG. 1, the client 100 requests MMT streaming data to the MMT streaming server 500. The client 100 is a device capable of processing the MMT protocol and requests MMT streaming data to the MMT streaming server 500 according to the MMT protocol and receives and plays the MMT streaming data provided from the MMT streaming server 500 It is a device that can.

이를 위한 본 발명의 클라이언트(100)는 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있으며, MMT 통신 프로토콜에 따라 MMT 스트리밍 서버(500)로부터 제공되는 MMT 스트리밍 데이터를 재생하고 처리할 수 있는 장치를 의미한다. The client 100 according to the present invention may include a browser for transmitting and receiving information, a memory for storing a program and a protocol, a microprocessor for executing and controlling various programs, and the like. In accordance with the MMT communication protocol, Means an apparatus capable of reproducing and processing MMT streaming data provided from the streaming server 500.

아울러, 본 발명의 클라이언트(100)는 구현 예에 따라 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 클라이언트(100)는 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수도 있다.In addition, the client 100 of the present invention can be implemented in various forms according to an embodiment. For example, the client 100 described herein may be a mobile terminal such as a smart phone, a tablet PC, a PDA (personal digital assistant), a portable multimedia player (PMP), and an MP3 player , A smart TV, a desktop computer, etc. may be used.

이러한 본 발명의 클라이언트(100)는 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 클라이언트(100)로 적용될 수 있다. The client 100 according to the present invention can not enumerate all of the variations of the portable apparatus according to the convergence trend of the digital apparatus. However, it is also possible that the unit equivalent to the above- (100).

MMT 스트리밍 서버(500)는 클라이언트(100)로 MMT 스트리밍 데이터를 전송하는 역할을 수행하는 것으로, 일반적인 MMT 스트리밍 서비스에서는 애셋(assect) 단위로 스트리밍 서비스를 제공하게 된다. MMT 패키지(package)에서 애셋은 타임드 또는 넌 타임드 성질을 가진 오디오, 비디오 또는 웹페이지 데이터와 같은 부호화된 미디어 데이터를 캡슐화한, 패키지의 요소를 의미한다. MMT 패키지는 MMT의 논리적인 개념이며, 애셋은 MMT 패키지에서 가장 큰 논리적 데이터 단위이다. 이러한 애셋은 동일한 전달 특성으로 데이터를 포함하는 데이터 개체를 의미하며, 하나의 MMT 패키지는 복수 개의 애셋으로 구성될 수 있다. The MMT streaming server 500 transmits the MMT streaming data to the client 100, and in the general MMT streaming service, the streaming service is provided on an assert basis. In an MMT package, an asset is an element of a package that encapsulates encoded media data such as audio, video, or web page data with timed or non-timed nature. The MMT package is the logical concept of the MMT, and the asset is the largest logical unit of data in the MMT package. Such an asset means a data object including data with the same transfer characteristic, and one MMT package can be composed of a plurality of assets.

그런데 일반적인 MMT 스트리밍 서비스에서는 애셋 단위로 스트리밍 서비스를 제공함으로써 다중 경로 방식에 적용하고자 하더라도 네트워크 자원을 효율적으로 사용하지 못한다는 문제점이 있다. 다시 말해, 데이터 단위가 큰 하나의 애셋을 MMT 스트리밍 서버(500)가 클라이언트(100)로 전송하고자 할 경우, 하나의 경로만을 점유하여 전송할 수 있으므로, 다중 경로 방식에 적용하더라도 여유가 있는 다른 경로를 통해 해당 애셋을 클라이언트(100)로 전송할 방법이 없어, 자원 효율성이 떨어지게 된다. However, in the general MMT streaming service, a streaming service is provided for each of the assets, which makes it difficult to efficiently use the network resources even if it is applied to the multipath scheme. In other words, when one asset having a large data unit is to be transmitted to the client 100 by the MMT streaming server 500, only one path can be occupied and transmitted. Therefore, even if the multi- There is no way to transmit the asset to the client 100 through the network, which results in a decrease in resource efficiency.

따라서, 본 발명에서는 도 1에 도시된 바와 같이 다중 경로 방식의 MMT 스트리밍 서비스 방안을 제안하며, 특히 애셋 단위로 스트리밍 서비스를 제공하는 것이 아닌 애셋보다 보다 작은 MPU 단위로 스트리밍 서비스를 제공하고자 한다. Accordingly, the present invention proposes a multi-path MMT streaming service scheme as shown in FIG. 1, and more particularly, to provide a streaming service in a smaller MPU unit than an asset that does not provide a streaming service in units of assets.

애셋을 구성하는 MPU에 대해 먼저 도 2a를 참조하여 설명하도록 한다. 도 2a는 MMT 기능 영역에서 정의하는 데이터 모델 중 논리적으로 구조화된 가장 큰 MMT 모델인 MMT 패키지를 구성하는 애셋(600)을 도시한 것이다. The MPU constituting the asset will be described first with reference to FIG. 2A. FIG. 2A shows an asset 600 that constitutes the MMT package, which is the largest logically structured MMT model among the data models defined in the MMT functional area.

하나 이상의 애셋(600)의 집합은 MMT 패키지를 구성하며, 이러한 애셋(600)은 타임드 또는 넌 타임드 성질을 가진 오디오, 비디오 또는 웹페이지 데이터와 같은 부호화된 미디어 데이터를 캡슐화하는 패키지의 요소를 의미하는 논리적 데이터 단위를 의미한다. 특히, 애셋(600)은 동일한 전달 특성으로 데이터를 포함하는 데이터 개체를 의미한다. 예컨대, MMT 패키지(500)는 MMT 기능 영역에서 정의하는 데이터 모델 중 가장 큰 개체(entity)로서 영화 한편과 같은 하나의 독립적인 콘텐츠를 의미한다면, 애셋(600)은 오디오 데이터, 비디오 데이터, 스크립트 데이터와 같은 MMT 패키지를 구성하는 데이터 단위가 될 수 있다. The set of one or more assets 600 constitute an MMT package, which includes elements of a package encapsulating encoded media data such as audio, video or web page data with timed or non-timed nature Means a logical unit of data meaning. In particular, asset 600 refers to a data entity that contains data with the same delivery characteristics. For example, if the MMT package 500 is the largest entity among the data models defined in the MMT functional area, then the asset 600 may include audio data, video data, script data And the MMT package.

이러한 애셋(600)은 적어도 하나 이상의 MPU(660)로 구성될 수 있다. 여기서, MPU는 미디어 프로세싱 유닛(MPU; Media Processing Unit, 이하 MPU로 지칭하도록 함)의 논리적인 데이터 객체를 의미하는 것으로 하나의 애셋을 구성하는 복수의 MPU는 동일한 애셋 ID를 포함한다.Such an asset 600 may consist of at least one MPU 660. Herein, the MPU means a logical data object of a media processing unit (MPU). A plurality of MPUs constituting one asset include the same asset ID.

또한 MPU(660)는 MMT 패킷 형태로 패킷화하여 전송된다. 예컨대 HD급 영상이 10Mbps(1.25MB), FHD급 영상이 20Mbps(2.5MB)라고 가정하고 MMT packet size가 MTU size(1500KB)와 같다고 본다면 한 개의 MPU는 수십 개의 패킷에 나뉘어져 전달되게 된다. 이러한 MPU(660)를 구성하는 어느 하나의 패킷은 도 2b에 도시된 바와 같이 MMT 패킷 헤더(MMT Packet_hdr, 610) 및 MMT 패킷 페이로드 데이터(MMT Packet Payload data, 620)로 구성된다. 그리고 MMT 패킷 페이로드 데이터(620)은 MMT 페이로드 헤더(MMT payload_hdr, 630) 및 MMT 페이로드 데이터(MMT Payload Data, 640)로 구성될 수 있다. MMT 페이로드 데이터(640)에 MPU(660)나 메시지(Message, 650)가 삽입될 수 있다. The MPU 660 is packetized in the form of an MMT packet and transmitted. For example, if it is assumed that the HD-level image is 10 Mbps (1.25 MB) and the FHD-level image is 20 Mbps (2.5 MB), and the MMT packet size is equal to the MTU size (1500 KB), one MPU is divided into dozens of packets. One of the packets constituting the MPU 660 is composed of an MMT packet header 610 and MMT packet payload data 620 as shown in FIG. 2B. The MMT packet payload data 620 may include an MMT payload header 630 and an MMT payload data 640. The MPU 660 or the message (Message) 650 may be inserted into the MMT payload data 640.

이러한 MPU(660)는 어떠한 특정 미디어 코덱에도 독립된, 타임드 또는 넌 타임드 데이터에 대한 포괄적인 컨테이너일 수 있다. 이러한 MPU(660)은 완전하고 독립적으로 처리될 수 있는 부호화된 미디어 데이터로, MPU의 프로세싱은 패키지로의 인캡슐레이션 또는 전달을 위한 패킷화를 의미할 수 있다. 또한, MPU(660)는 타임드 데이터를 위한 하나 이상의 액세스 유닛들을 포함할 수 있다. 여기서 액세스 유닛(AU; Access Unit)은 시간 정보를 가질 수 있는 가장 작은 데이터 개체로, 예컨대 하나의 GOP(Group Of Picture)는 하나의 MPU가 될 수 있으며, GOP의 하나의 픽처는 MFU가 될 수 있다. This MPU 660 may be a comprehensive container for timed or non-timed data that is independent of any particular media codec. The MPU 660 may be encoded media data that can be processed completely and independently, and the processing of the MPU may mean packetization for encapsulation or delivery to a package. In addition, the MPU 660 may include one or more access units for timed data. Herein, an access unit (AU) is the smallest data entity that can have time information. For example, one GOP (Group Of Picture) may be one MPU, and one picture of a GOP may be an MFU have.

또한 MPU(660)은 넌 타임드 데이터를 위한 액세스 유닛 경계들이 없는 데이터의 부분을 포함하여 구성될 수 있다. 이러한 MPU(660)는 완전하고 독립적으로 처리될 수 있는 코드된 미디어 데이터 유닛으로, 각 MPU(660)는 MPU 헤더 및 코드된 데이터로 구성될 수 있다. 아울러, 본 발명의 MPU(660)는 미디어 프래그먼트 유닛(MFU; Media Fragment Unit)으로 더 구성될 수 있다. The MPU 660 may also be configured to include portions of data that do not have access unit boundaries for non-timed data. This MPU 660 is a coded media data unit that can be processed completely and independently, and each MPU 660 can be configured with an MPU header and coded data. In addition, the MPU 660 of the present invention may further be configured as a Media Fragment Unit (MFU).

이러한 MPU는 애셋별로 정의될 수 있으며, 따라서 비디오의 애셋으로부터는 비디오 데이터만을 포함하는 비디오의 MPU가 작성되고, 오디오의 애셋으로부터는 오디오 데이터만을 포함하는 오디오의 MPU가 작성될 수 있다. These MPUs can be defined for each of the assets, so that MPUs of video containing only video data are created from the assets of the video, and audio MPUs containing only audio data are created from the assets of audio.

본 발명은 MMT 표준을 따르는 MPU를 스트리밍 서비스의 단위로 적용함으로써 애셋 단위의 스트리밍 서비스에 비해 보다 효율적으로 한정된 네트워크 자원을 활용할 수 있다. 예를 들어, 제1 경로 및 제2 경로를 이용하여 스트리밍 서비스를 제공하고자 할 경우, 애셋 1을 전송하는 제1 경로에 대역폭의 여유가 있고 애셋 2를 전송하는 제2 경로에 대역폭이 부족한 상황이 발생되었을 때, 기존의 방식에서는 제1 경로를 활용할 방안이 없었으나, 본 발명은 애셋이 아닌 MPU 단위로 패킷을 전송함으로써, 애셋 2를 구성하는 일부 MPU를 제2 경로가 아닌 제1 경로를 통해 클라이언트(100)로 전송할 수 있어 보다 효율적인 대역폭 활용이 가능하게 된다. The present invention can utilize the limited network resources more efficiently than the streaming service of the asset unit by applying the MPU conforming to the MMT standard as a unit of the streaming service. For example, when a streaming service is provided using the first path and the second path, there is a situation where there is a bandwidth in the first path for transmitting the asset 1 and a bandwidth is insufficient for the second path for transmitting the asset 2 There has been no way to utilize the first path in the conventional method, but the present invention transmits a packet in units of MPU instead of the asset, so that some MPUs constituting the asset 2 are transmitted through the first path instead of the second path It can be transmitted to the client 100, thereby enabling more efficient bandwidth utilization.

또한, 도 1에 도시된 바와 같이 각 애셋별로 MPU의 크기를 서로 다르게 설정할 수 있으므로, 대역폭 상황에 따라 경로별로 적절한 MPU가 제공되도록 제어할 수 있다. In addition, as shown in FIG. 1, MPU sizes can be set differently for each asset, so that an appropriate MPU can be provided for each path in accordance with a bandwidth situation.

그리고 본 발명의 클라이언트(100)는 다중 경로를 통해 700, 710, 720, 730이 지시하는 바와 같이 MPU 단위로 MMT 패킷을 수신할 수 있으며, 이를 순서대로 조합하여 재생함으로써 MMT 스트리밍 데이터를 이용할 수 있게 된다. The client 100 of the present invention can receive MMT packets in units of MPU as indicated by 700, 710, 720, and 730 through multipath, and can reproduce MMT packets in order to utilize the MMT streaming data do.

이와 같이 본 발명의 실시 예에 따른 다중 경로 MMT 스트리밍 서비스 제공을 위해서는 MMT 시그널링 메시지(signaling message)에 MPU를 식별할 수 있는 서술자(descriptor)가 필요하다. 일반적인 MMT 시그널링 메시지에 있어서, MPU를 구분할 수 있는 서술자로 MPU timestamp descriptor가 존재하지만 해당 descriptor는 독립적으로 다중 패키지와 애셋을 구분하지 못한다는 문제점이 있다. 따라서, 본 발명에서는 MMT 시그널링 메시지 포맷에 MPU를 구분할 수 있는 새로운 서술자를 정의하고자 한다. In order to provide the multi-path MMT streaming service according to the embodiment of the present invention, a descriptor capable of identifying the MPU in the MMT signaling message is required. In a typical MMT signaling message, there is an MPU timestamp descriptor as a descriptor capable of identifying an MPU, but the descriptor can not independently distinguish between multiple packages and assets. Therefore, in the present invention, a new descriptor capable of distinguishing the MPU in the MMT signaling message format is defined.

먼저, 본 발명의 MMT 시그널링 메시지에 대해 설명하도록 한다. First, the MMT signaling message of the present invention will be described.

도 3은 본 발명의 실시 예에 따른 MMT 시그널링 메시지를 설명하기 위한 도면이다. 3 is a view for explaining an MMT signaling message according to an embodiment of the present invention.

도 3을 참조하면, MMT 시그널링 메시지(800)는 MMT 패키지 소비(810)와 패키지 전달(820)에 필요한 정보를 전달하는 데 사용될 수 있는 메시지로 구분될 수 있으며, 이러한 메시지는 MMT 패킷 페이로드에 포함되어 송수신될 수 있다. 3, the MMT signaling message 800 can be divided into messages that can be used to convey information needed for MMT package consumption 810 and package delivery 820, And can be transmitted and received.

본 발명의 실시 예에 따른 다중 경로 방식의 MMT 스트리밍 서비스 제공 방법에서는 패키지 소비(810)에 필요한 시그널링 메시지를 예로 들어 설명하도록 한다. MMT 표준에 정의된 패키지 소비(810) 시그널링 메시지는 접근 제어를 위한 패키지 접근(Package Access, PA) 메시지(811), 프레젠테이션 제어를 위한 미디어 프레젠테이션 정보(Media Presentation Information, MPI) 메시지(812), 패키지 정보를 위한 MMT 패키지 테이블(MMT Package Table, MPT) 메시지(813), 클록 관계 정보(Clock Relation Information, CRI) 메시지(814), 기기 능력 정보(Device Capability Information, DCI) 메시지(815) 등이 있다. In the method of providing a multi-path MMT streaming service according to an embodiment of the present invention, a signaling message necessary for the packet consumption 810 will be described as an example. The Package Consumption 810 signaling message defined in the MMT standard includes a Package Access (PA) message 811 for access control, a Media Presentation Information (MPI) message 812 for presentation control, An MMT Package Table (MPT) message 813, a Clock Relation Information (CRI) message 814, and a Device Capability Information (DCI) message 815 for information .

본 발명의 실시 예에 따른 다중 경로 방식의 MMT 스트리밍 서비스 제공 방법에서는 MPT 메시지(813)를 이용하여 본 발명의 MPU 서술자를 정의하고자 하나 반드시 MPT 메시지에 한정되는 것은 아니며, MP테이블을 포함할 수 있는 다른 MMT 시그널링 메시지를 이용하여 MPU 서술자를 정의할 수도 있다. 아울러, 계층적인 CI 전송을 사용하거나 특별히 다른 기능을 제공하는 경우가 아니라면, 최소 채널 획득 지연시간을 달성하기 위해 PA 메시지 내에 필요한 모든 시그널링 테이블을 넣어서 전송할 수도 있다. In the multi-path MMT streaming service providing method according to the embodiment of the present invention, the MPT descriptor of the present invention is defined using the MPT message 813, but it is not limited to the MPT message, An MPU descriptor may be defined using another MMT signaling message. In addition, all of the required signaling tables may be transmitted in the PA message to achieve the minimum channel acquisition delay time, unless using a hierarchical CI transmission or otherwise providing other functions.

아울러, MMT 시그널링 메시지는 각종 메시지 내용이 테이블 형식으로 삽입된다. MPT 메시지는 MP 테이블을 포함하게 되면, 본 발명의 MP 테이블은 본 발명의 실시 예를 위해 새롭게 정의된 asset_location과 상응하는 mpu_location과 이에 종속된 MMT_general_location_info를 위해 MPU_id를 포함하게 된다. 이를 통해 애셋 단위로만 전송이 가능했던 MMT에서 MPU 단위로 전송이 가능하고 보다 유연해지고 적응적으로 동작할 수 있게 된다. In addition, the MMT signaling message is inserted in a table format. When the MPT message includes the MP table, the MP table of the present invention includes MPU_location corresponding to the asset_location newly defined for the embodiment of the present invention and MPU_id for the MMT_general_location_info dependent thereon. This makes it possible to transfer data in units of MPU in the MMT, which can be transferred only in the unit of the asset, and to be more flexible and adaptive to operate.

본 발명의 실시 예에 따른 MPT 메시지에 대해 보다 더 구체적으로 설명하도록 한다. The MPT message according to an embodiment of the present invention will be described in more detail.

본 발명의 실시 예에 따른 MPT 메시지는 단일 패키지를 위한 정보를 제공한다. 계층적 구성 정보를 갖는 하나의 패키지의 계층적 전달은 복수의 계층적 MP 테이블로 구성될 수 있다. 계층-0 MP 테이블은 기본 엠펙 매체 전송 패키지 테이블이다. 이러한 MPT 메시지는 메시지 아이디(message_id), 메시지 버전(version), 메시지 길이(length)를 포함하여 정의될 수 있으며, 페이로드는 MP 테이블을 포함하여 정의된다. The MPT message according to an embodiment of the present invention provides information for a single package. The hierarchical delivery of one package with hierarchical configuration information may be composed of a plurality of hierarchical MP tables. The layer-0 MP table is a basic MPEG media transmission package table. The MPT message may be defined to include a message ID, a message version, and a message length, and the payload is defined to include an MP table.

본 발명의 실시 예에 따른 MP 테이블의 구문예(syntax)은 <표 1>에 도시된 바와 같이 정의될 수 있다. Syntax examples of the MP table according to the embodiment of the present invention can be defined as shown in Table 1.

SyntaxSyntax ValueValue No. of bitsNo. of bits MnemonicMnemonic MP_table() {
Table_id
Version
Length
Reserved
MP_table_mode
If(table_id==SUBSET_0_MPT_TABLE_ID) {
MMT_package_id {
For(i=0;i<N;i++) {
MMT_package_id_byte
}
}
}
Number_of_assets
For(i=0;i<N3;i++) {
Idenfitier_mapping()
Asset_type
Reserved
Asset_clock_relation_flag
If(asset_clock_relation_flag==1) {
Asset_clock_relation_id
Reserved
Asset_timescale_flag
If(asset_time_scale_flag==1) {
Asset_timescale
}
}
Asset_location {
Location_count
For(i=0; i<N6; i++) {
MMT_general_location_info()
MPU_location {
For(j=0; j<N6_1; j++) {
MMT_general_location_infor()
}
}
}
Asset_descriptors {
Asset_descriptors_length
For(j=0; j<N5; j++) (
Asset_descriptors_byte
}
]
}
}
MP_table () {
Table_id
Version
Length
Reserved
MP_table_mode
If (table_id == SUBSET_0_MPT_TABLE_ID) {
MMT_package_id {
For (i = 0; i &lt;N; i ++) {
MMT_package_id_byte
}
}
}
Number_of_assets
For (i = 0; i &lt;N3; i ++) {
Idenfitier_mapping ()
Asset_type
Reserved
Asset_clock_relation_flag
If (asset_clock_relation_flag == 1) {
Asset_clock_relation_id
Reserved
Asset_timescale_flag
If (asset_time_scale_flag == 1) {
Asset_timescale
}
}
Asset_location {
Location_count
For (i = 0; i &lt;N6; i ++) {
MMT_general_location_info ()
MPU_location {
For (j = 0; j &lt;N6_1; j ++) {
MMT_general_location_infor ()
}
}
}
Asset_descriptors {
Asset_descriptors_length
For (j = 0; j &lt;N5; j ++) (
Asset_descriptors_byte
}
]
}
}































N6_1































N6_1































32































32































uimsbf































uimsbf

상기 MP 테이블의 구문예에서 주요 구문 구성에 대해 설명하면, 먼저, table_id는 테이블의 아이디를 의미한다. MP 테이블은 서로 다른 테이블 식별자를 포함하며, 각 table_id 값들은 인접하게 할당될 수 있다. 예컨대 번호 0은 기본 MP 테이블을 의미하며, 번호 1 ~ 14는 향상된 MP 테이블을 의미할 수 있다. version은 MP 테이블의 버전을 의미하며, MMT_package_id는 MMT 패키지별로 글로벌하게 할당되는 고유 식별자를 의미하며, MMT_package_id_byte는 MMT_package_id 스트링에서의 하나의 바이트를 의미한다. Number_of_assets은 MP 테이블에 의해 제공되는 정보를 갖는 애셋의 개수를 의미하며, asset_clock_relation_flag는 하나의 애셋이 네트워크 시간 규악(NTP) 클럭 혹은 다른 클럭 시스템을 클럭 기준으로서 이용하는지의 여부를 나타낸다. 이 플래그가 1이라면, asset_clock_relation_id 필드는 그 다음 구문에 포함되며, 이 필드가 0이라면 네트워크 시간 규약 클럭은 상기 애셋을 위해 이용된다. asset_timescale_flag는 asset_timescale 정보가 제공되는 지의 여부를 나타내며, asset_timescale은 일초에 단위 개수로 표현된 상기 애셋을 위해 이용된 모든 타임스탬프(timestamp)들을 위한 시간 단위의 정보를 제공한다. In the syntax example of the MP table, a description of the main syntax is as follows. First, table_id denotes an ID of a table. The MP table includes different table identifiers, and each table_id value can be allocated contiguously. For example, the number 0 means a basic MP table, and the numbers 1 through 14 can mean an improved MP table. version indicates the version of the MP table, MMT_package_id indicates a unique identifier allocated globally for each MMT package, and MMT_package_id_byte indicates one byte in the MMT_package_id string. Number_of_assets indicates the number of assets having information provided by the MP table, and asset_clock_relation_flag indicates whether one asset uses a network time clock (NTP) clock or another clock system as a clock reference. If this flag is 1, the asset_clock_relation_id field is included in the next statement, and if this field is 0, the network time protocol clock is used for the asset. asset_timescale_flag indicates whether or not asset_timescale information is provided, and asset_timescale provides information in units of time for all timestamps used for the asset expressed in units of a second.

한편 MMT_general_location_info() for the asset location은 애셋의 위치 정보를 제공한다. 일반적인 MMT_general_location_infor()는 일반적인 위치 기준 정보를 이용하게 되는데, 0x00 ~ 0x06 만이 하나의 애셋 위치(asset location)에 대해 허용될 수 있다. 특히 본 발명의 실시 예에서는 상기 MMT_general_location_info()에 asset_location과 상응하는 mpu_location를 정의하고 이에 종속된 MMT_general_location_info를 위해 MPU_id를 포함하여 정의하게 된다. mpu_location은 MPU의 위치 정보를 의미하며, MPU_id는 MPU의 아이디를 의미하게 된다. MMT_general_location_info () for the asset location provides the location information of the asset. Typical MMT_general_location_infor () uses generic location reference information, where only 0x00-0x06 can be allowed for a single asset location. In particular, in the embodiment of the present invention, mpu_location corresponding to asset_location is defined in MMT_general_location_info () and MPU_id is defined for MMT_general_location_info dependent thereon. mpu_location indicates the location information of the MPU, and MPU_id indicates the ID of the MPU.

Figure pat00001
Figure pat00001

Figure pat00002
Figure pat00002

Figure pat00003
Figure pat00003

Figure pat00004
Figure pat00004

상기 <표 2>는 본 발명의 실시 예에 따라 정의된 MMT_general_location_info()의 구문예(syntax)를 도시한 것으로, 주요 구문 구성에 대해 설명하면 먼저 location_type은 위치 정보의 유형을 의미한다. 여기서 위치 정보의 유형은 0x00 ~ 0x0C 중 어느 하나가 될 수 있다. 그리고 packet_id는 asset의 id의 의미하며, 본 발명에 의해 새롭게 정의된 MPU_id는 MPU의 식별 정보를 의미한다. 특히, 본 발명의 MPU_id는 상기 location_type에 상기 packet_id가 정의되는 경우에만 포함되어 정의될 수 있다. 이러한 MPU_id는 글로벌 유니크 아이디(global unique ID)가 필요한 경우 hash 방식을 채택할 수 있고, 글로벌 유니크 아이디가 충분하는 경우 32비트로 구현될 수 있다. Table 2 shows a syntax example of MMT_general_location_info () defined according to the embodiment of the present invention. In the description of the main syntax, location_type refers to the type of location information. Here, the type of the location information may be any one of 0x00 to 0x0C. The packet_id means id of the asset, and the MPU_id newly defined by the present invention means the MPU identification information. In particular, the MPU_id of the present invention can be defined only when the packet_id is defined in the location_type. This MPU_id can adopt the hash scheme when a global unique ID is required, and can be implemented with 32 bits if the global unique ID is sufficient.

또한, ipv4_src_addr는 ipv4 발신지 주소를 의미하며, ipv4_dst_addr는 목적지 주소를 의미한다. dst_port는 목적지 포트 번호를 의미한다. ipv6_src_addr는 ipv6 발신지 주소를 의미하며, ipv6_dst_addr은 ipv6 목적지 주소를 의미한다. network_id는 방송 네트워크 식별자를 의미하며, MPEG_2_transport_stream_id는 MPEG_2 전송 스트림 식별자를 의미하고, MPEG_2_PID는 MPEG_2 패킷 식별자를 의미한다. URL_length는 하나의 웹 페이지 주소의 바이트 길이, URL_byte는 하나의 웹 페이지 주소에서의 하나의 바이트, message_id는 MMT 시그널링 메시지 식별자를 의미한다. Also, ipv4_src_addr means an ipv4 source address, and ipv4_dst_addr means a destination address. dst_port means the destination port number. ipv6_src_addr stands for ipv6 source address, and ipv6_dst_addr stands for ipv6 destination address. network_id denotes a broadcast network identifier, MPEG_2_transport_stream_id denotes an MPEG_2 transport stream identifier, and MPEG_2_PID denotes an MPEG_2 packet identifier. URL_length is a byte length of one web page address, URL_byte is one byte in one web page address, and message_id is an MMT signaling message identifier.

이와 같이 본 발명의 실시 예에 따른 다중 경로를 이용한 스트리밍 서비스 제공 방법은 MPU의 위치 정보 및 아이디를 새롭게 MP 테이블에 추가적으로 정의하고 이를 MPT 메시지를 통해 배포함으로써, 본 발명의 실시 예에 따른 다중 경로 스트리밍 서비스에 참여하는 MMT 개체(entity)들은 MPU 단위로 MMT 패킷을 서비스할 수 있어, 네트워크 자원을 보다 효율적으로 사용할 수 있게 된다.As described above, according to the method of providing a streaming service using a multipath according to the embodiment of the present invention, the location information and the ID of the MPU are additionally defined in the MP table and distributed through the MPT message, The MMT entities participating in the service can service the MMT packets on a per MPU basis, so that the network resources can be used more efficiently.

이하에서는 본 발명의 실시 예에 따라 정의된 MP 테이블 및 시그널링 메시지를 이용한 다중 경로 스트리밍 서비스 제공 방법에 대해 설명하도록 한다. Hereinafter, a method for providing a multi-path streaming service using an MP table and a signaling message defined according to an embodiment of the present invention will be described.

설명의 앞서, 본 발명의 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법은 다음의 조건에서 동작될 수 있음을 예로 들어 설명하도록 한다. 먼저, 본 발명의 다중 경로 스트리밍 서비스 제공 방법은 패키지와 동일한 서비스 범위(coverage) 내에서 동작할 수 있다. 즉, 토폴로지를 구성하는 모든 MMT 통신에 참여하는 개체(entity, MANE(Media Aware Network Element)))들이 이해하는 패키지 정보는 동일하다. Prior to description, it is assumed that a method of providing a multi-path streaming service according to an embodiment of the present invention can be operated under the following conditions. First, the method of providing a multi-path streaming service of the present invention can operate within the same coverage as a package. That is, the package information understood by the entity (MANE (Media Aware Network Element)) that all the MMT communication constituting the topology understands is the same.

또한 MMT 통신에 참여하는 모든 MMT 개체는 자신과 연결된 다른 MMT 개체로 MP 테이블이 포함된 MPT 메시지를 전송하여 자신이 보유하고 있는 MMT 패키지 혹은 패키지의 일부의 정보를 교환할 수 있다. 여기서, 본 발명의 바람직한 실시 예에서는 MPT 메시지를 이용하는 것을 예로 들어 설명하나, 반드시 MPT 메시지에 한정되는 것은 아니며 MPI와 같은 다른 시그널링 메시지를 이용할 수도 있으며, 또한 모든 정보를 포함하는 PA 메시지를 이용할 수도 있다. In addition, all MMT entities participating in the MMT communication exchange MPT messages containing MP tables with other MMT entities connected to the MMT entity, thereby exchanging information of the MMT package or a part of the package that the MMT entity owns. Herein, the MPT message is used in the preferred embodiment of the present invention. However, the present invention is not limited to the MPT message, and other signaling messages such as MPI may be used, or a PA message including all information may be used .

이와 같이 MMT 통신에 참여하는 모든 MMT 개체들이 MPU 정보가 추가된 MP 테이블을 포함하는 MPT 메시지와 자신의 네트워크 상황 정보를 포함하는 NAM(Network Abstraction for Media) 피드백 메시지(이하, 'NAMF 메시지'라 함)를 이용하여 상호 간의 정보를 교환할 수 있으며 상호 간의 정보를 교환함으로써 다중 경로에서의 스트리밍 서비스 제공 시 MPU 단위로 요청 및 처리가 가능하게 된다. As described above, all the MMT entities participating in the MMT communication include an MPT message including the MP table to which the MPU information is added and a Network Abstraction for Media (NAM) feedback message including the network status information of the MMT entity ), It is possible to exchange information with each other and exchange information with each other, so that it is possible to request and process MPU units when a streaming service is provided in a multi-path.

이러한 본 발 발명의 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법의 구현 예에 대해 설명하도록 한다. An embodiment of a method of providing a multi-path streaming service according to an embodiment of the present invention will be described.

도 4는 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 구성도이다. 4 is a block diagram illustrating a method of providing a multi-path streaming service according to the first embodiment of the present invention.

도 4에 도시된 것은 MMT 개체 중 MMT 송신 개체의 역할을 수행하는 MMT 스트리밍 서버(500)와 MMT 수신 개체의 역할을 수행하는 클라이언트(100) 그리고 상기 클라이언트(100) 및 MMT 스트리밍 서버(500) 사이에 위치하는 복수 개의 MMT 중간 개체가 트리 구조의 네트워크를 구성한 것을 도시한 것이다. 4 is a block diagram illustrating an exemplary embodiment of an MMT server 500 that performs an MMT transmission entity among a MMT entity, a client 100 that performs an MMT receiving entity, A plurality of MMT intermediate entities located in a network structure of a tree structure.

여기서, 본 발명의 MMT 중간 개체는 MMT 통신 프로토콜에 따라 MMT 패킷의 전달을 제어할 수 있는 NAME(media-aware network element)를 의미할 수 있다. 이러한 NAME는 예컨대 게이트웨이들, MCU(multipoint conference unit)들, RTP(Real-Time Transport Protocol), 번역기들(translator), RTP 믹서들, MMSC(multimedia messaging center)들, PoC(push-to-talk over cellular) 서버들, 캐시 서버들이 될 수 있다. 특히, 본 발명의 MMT 중간 개체 각각은 MMT 스트리밍 서버(500)가 보유하고 있는 패키지의 전부 또는 일부를 저장하고 있을 수 있으며, 이러한 각각의 MMT 중간 개체들은 자신이 보유한 패키지 또는 그 일부인 애셋 또는 그 일부인 MPU 정보를 포함하는 MPT 메시지 및 NAMF 메시지를 상위 MMT 중간 개체에 주기적으로 전송하여 공유하는 과정을 수행하게 된다. Here, the MMT intermediate entity of the present invention may mean a media-aware network element (NAME) capable of controlling the delivery of MMT packets according to the MMT communication protocol. These NAMEs may include, for example, gateways, multipoint conference units (MCUs), Real-Time Transport Protocol (RTP), translator, RTP mixers, multimedia messaging centers (MMSCs), push- cellular servers, and cache servers. In particular, each of the MMT intermediate objects of the present invention may store all or a portion of the packages possessed by the MMT streaming server 500, and each of these MMT intermediate objects may be an asset or a part thereof The MPT message including the MPU information and the NAMF message are periodically transmitted to the upper intermediate MMT entity for sharing.

특히, 본 발명의 MMT 중간 개체들의 시그널링 메시지 공유 과정은 상향 방향으로의 공유를 의미한다. 예컨대 MMT 중간 개체 6(360)은 자신의 MP 테이블을 포함하는 MPT 메시지 및 네트워크 상황에 대한 NAMF 메시지를 생성하여 상위 MMT 중간 개체인 MMT 중간 개체 5(350)로 전달하고, MMT 중간 개체 5(350)는 자신의 MP 테이블을 포함하는 MPT 메시지 및 네트워크 상황에 대한 NAMF 메시지를 생성하여 상위 MMT 중간 개체인 MMT 중간 개체 1(310)로 전달한다. 이때, MMT 중간 개체 5(350)는 MMT 중간 개체 6(360)으로부터 전달된 정보를 누적하여 MMT 중간 개체 1(310)로 전달할 수 있다. In particular, the signaling message sharing process of the MMT intermediate entities of the present invention means sharing in the upward direction. For example, the MMT intermediate entity 6 (360) generates an MPT message including its own MP table and a NAMF message for the network situation, forwards the message to the MMT intermediate entity 5 (350) Generates an MPT message including its own MP table and a NAMF message for a network situation and delivers it to the MMT intermediate entity 1 310, which is an upper MMT intermediate entity. At this time, the MMT intermediate entity 5 350 may accumulate the information transferred from the MMT intermediate entity 6 360 and transmit the accumulated information to the MMT 1 310.

이러한 MMT 중간 개체 간의 정보 전달 과정은 주기적으로 이뤄질 수 있으며, 클라이언트(100)의 MMT 스트리밍 서비스 요청과는 무관하게 이뤄질 수 있다. 또한 상기 과정에서 각 MMT 중간 개체들은 PA 메시지가 아닌 subset MP 테이블만을 포함하는 MPT 메시지를 통해 전달되므로, 각 MMT 중간 개체들이 이 정보를 수신하였을 때 오용될 가능성이 낮다. 또한 MP 테이블은 해당 MMT 중간 개체가 일부라도 가지고 있는 패키지의 수만큼 생성되고 상위 MMT 중간 개체로 전달되는 과정을 수행할 수 있다. The process of transmitting information between the MMT intermediate entities may be performed periodically and independently of the MMT streaming service request of the client 100. Also, since the MMT intermediate entities are transmitted through the MPT message including only the subset MP table, not the PA messages, the MMT intermediate entities are less likely to be misused when the MMT intermediate entities receive the information. In addition, the MP table can be created as many as the number of packages that the MMT intermediate object has, and can be transferred to the upper MMT intermediate object.

아울러, 하위 MMT 중간 개체가 상위 MMT 중간 개체로 MP 테이블을 포함하는 MPT 메시지 및 NAMF 메시지를 전송 시 자신의 하위 MMT 중간 개체로부터 수신된 정보를 누적하여 상위 MMT 중간 개체로 전달하게 되는데, 이러한 과정을 통해 가장 상단에 위치하는 최상위 MMT 중간 개체는 네트워크 내에 위치하는 다른 MMT 중간 개체의 정보를 확인할 수 있으며, 이를 이용하여 최상위 MMT 중간 개체는 스트리밍 서비스 제공을 위한 최적의 라우팅 경로를 설정하고 이를 클라이언트(100)로 제공할 수 있게 된다. 도면에서 도시된 MMT 중간 개체 1(310)은 다른 MMT 중간 개체 간의 최상위 MMT 중간 개체 역할을 수행하며, 하위의 모든 MMT 중간 개체에 대한 정보를 알 수 있다. 따라서, MMT 중간 개체 1(310)은 최적의 조정자(coordinator) 역할을 수행할 수 있으며, 클라이언트(100)가 요청한 MMT 스트리밍 데이터 제공을 위한 정보들을 클라이언트(100)에게 제공하고, 이를 통해 클라이언트(100)가 보다 효율적으로 다중 경로 스트리밍 서비스를 이용할 수 있게 된다. In addition, when the lower-level MMT intermediate entity transmits the MPT message and the NAMF message including the MP table to the upper-level MMT intermediate entity, the information received from the lower-level MMT intermediate entity is accumulated and transmitted to the upper-level MMT intermediate entity. The uppermost MMT intermediate object located at the uppermost position can confirm the information of other MMT intermediate objects located in the network. Using this, the uppermost MMT intermediate object sets an optimal routing path for providing a streaming service, ). &Lt; / RTI &gt; The MMT 1 310 shown in the figure plays the role of the highest MMT intermediate entity among other MMT intermediate entities and can know information about all the lower MMT intermediate entities. Accordingly, the MMT 1 310 can act as an optimal coordinator and provide information for providing the MMT streaming data requested by the client 100 to the client 100, ) Can utilize the multi-path streaming service more efficiently.

이때 최적의 조정자 역할을 수행하는 최상위 MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500)로부터 전달받은 시그널링 메시지를 최적의 서비스 제공이 가능하도록 수정하여 배포할 수 있다. 즉, 조정자 역할을 수행하는 최상위 MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500)로부터 전달받은 시그널링 메시지, 바람직하게는 PA 메시지에서 클라이언트(100)로 전달되는 메인 경로(main path)의 PA에 포함된 MP 테이블의 경우 서브 경로(sub paths)로 분해할 패키지의 일부에 대한 위치 정보를 삭제한 후 전달할 수 있으며, MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500)로부터 받은 PA 메시지를 서브 경로에 위치하는 MMT 개체에 전달함에 있어 상기 MP 테이블에서 제외된 일부에 대한 애셋 또는 MPU의 위치 정보를 포함하여 전달할 수 있다. 이때 전달되는 시그널링 메시지는 위치 타입(location_type)이 0x01 내지 0x06인 경우 출발지 주소(src_addr) 및 목적지 포트(dst_port)는 변경될 수 있다. 이때, ipv4_src_addr(ipv6_src_addr)는 서브 경로의 MMT 개체의 IP 주소로 변경되고 dst_port는 메인 경로의 dst_port와 다르게 설정되며, 다른 서브 경로와도 충돌을 막기 위해 메인 경로의 dst_port 값에 또 다른 서브 조정자(sub coordinator)의 IP 주소 중 마지막 자리를 더한 값을 기록하게 된다. At this time, the highest-level MMT intermediate entity 1 310 serving as an optimal coordinator can modify and distribute a signaling message delivered from the MMT streaming server 500 to provide an optimal service. That is, the highest-level MMT intermediate entity 1 310 serving as the coordinator transmits the signaling message received from the MMT streaming server 500, preferably a PA of the main path transmitted to the client 100 in the PA message In the case of the included MP table, the MMT intermediate object 310 can delete the location information of a part of the package to be decomposed into sub paths and transmit the PA message received from the MMT streaming server 500 to the sub- And may include the location information of the MPU or the asset for the part excluded from the MP table in the transmission to the MMT entity located in the path. The source address (src_addr) and the destination port (dst_port) may be changed when the location type (location_type) is 0x01 to 0x06. In this case, ipv4_src_addr (ipv6_src_addr) is changed to the IP address of the MMT object of the sub-path, dst_port is set differently from dst_port of the main path, and dst_port value of the main path is set to another sub- coordinator's IP address plus the last digit.

상기 과정에 대해 도 5의 흐름도 및 구체적인 예를 들어 설명하도록 한다. The above process will be described with reference to the flowchart of FIG. 5 and a concrete example.

도 5는 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 흐름도이다. 5 is a flowchart illustrating a method of providing a multi-path streaming service according to the first embodiment of the present invention.

도 4 및 도 5를 참조하면, 스트리밍 시스템을 구성하는 복수 개의 MMT 중간 개체 각각은 자신이 보유하고 있는 패키지와 관련된 정보를 전술한 바와 같이 시그널링 메시지를 통해 공유한다(S1101). 상기 공유 과정은 클라이언트(100)의 스트리밍 서비스 요청 발생 이전에, 주기적으로 이뤄질 수 있으며, 경우에 따라 클라이언트(100)의 스트리밍 서비스 요청 발생 이후에 이뤄질 수도 있다. Referring to FIGS. 4 and 5, each of a plurality of MMT intermediate objects configuring the streaming system shares information related to a package thereof with a signaling message as described above (S1101). The sharing process may be performed periodically before the streaming service request of the client 100 is generated, or may be performed after the streaming service request of the client 100 is occasionally generated.

그리고, 공유된 시그널링 메시지를 기초로 복수 개의 MMT 중간 개체 중 조정자의 역할을 수행하는 MMT 중간 개체를 설정한다(S1103). 상기 과정은 MMT 스트리밍 서버(500)에 의해 이뤄질 수 있으나, 바람직하게는 전술한 바와 같이 최상위 MMT 중간 개체가 상향 방향에 다른 MMT 중간 개체가 존재하지 않음을 확인한 후 직접 자신이 조정자 MMT 중간 개체임을 설정할 수 있다. 이러한 조정자 MMT 중간 개체는 각 MMT 중간 개체가 보유하고 있는 패키지에 따라 변동될 수도 있다. 아울러, 조정자 MMT 중간 개체는 자신이 조정자 역할을 수행함을 하위의 MMT 중간 개체 그리고 MMT 스트리밍 서버(500)로 통지할 수도 있으나, 생략할 수도 있다. 도 4에 도시된 MMT 중간 개체 1(310)이 MMT 스트리밍 서버(500) 상향 방향에 다른 MMT 중간 개체는 존재하지 않는 최상위 MMT 중간 개체이므로, 조정자 MMT 중간 개체로 설정할 수 있다. Then, the MMT intermediate entity that performs the role of the coordinator among the plurality of MMT intermediate entities is set based on the shared signaling message (S1103). Although the above process can be performed by the MMT streaming server 500, it is preferable that the uppermost MMT intermediate object confirms that there is no other MMT intermediate object in the upward direction, and then sets itself as the coordinator MMT intermediate object . These coordinator MMT intermediate entities may vary depending on the package held by each MMT intermediate entities. In addition, the coordinator MMT intermediate entity may notify the lower-level MMT intermediate entity and the MMT streaming server 500 that the coordinator MMT intermediate entity performs its role as the coordinator, but it may be omitted. Since the MMT 1 310 shown in FIG. 4 is the highest MMT intermediate entity that does not have another MMT intermediate entity in the upward direction of the MMT streaming server 500, the coordinator MMT intermediate entity can be set.

이후에, 조정자 MMT 중간 개체인 MMT 중간 개체 1(310)은 클라이언트(100)의 요청에 따라 MMT 스트리밍 서버(500)로부터 클라이언트(100)로 전달되는 시그널링 메시지를 S1101 단계에서 공유된 정보를 이용하여 둘 이상의 다중 경로에 대응하는 시그널링 메시지로 각각 생성한 후 전달하는 과정을 수행할 수 있다(S1105). 예를 들어 설명하면, MMT 스트리밍 서버(500)로부터 전달되는 시그널링 메시지, 즉 PA 메시지에 포함된 패키지 관련 정보가 MPU 1, MPU 2, MPU 3에 대한 MP 테이블인 경우, 조정자 MMT 중간 개체인 MMT 중간 개체 1(310)은 하위 MMT 중간 개체가 보유하고 있는 MPU에 대한 정보들을 이미 알고 있는 상태이므로, MPU 2는 MMT 중간 개체 2(320)가 보유하고 있음을 확인할 수 있다. 이에 MMT 중간 개체 1(310)은 상기 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 MP 테이블에서 MPU 2를 삭제한 제1 시그널링 메시지를 생성하여 전달하고, 하위 MMT 중간 개체들은 전달되는 제1 시그널링 메시지를 수정 없이 그대로 클라이언트(100)로 전달한다. 아울러, S1101 단계에서 공유되는 시그널링 메시지는 MP 테이블만을 포함하는 MPT 메시지가 될 수 있으며, S1105 단계에서 생성되고 처리되는 시그널링 메시지는 PA 메시지가 될 수 있다. Thereafter, the MMT intermediate entity 1 310, which is an intermediate entity of the coordinator MMT, transmits a signaling message, which is transmitted from the MMT streaming server 500 to the client 100 according to a request of the client 100, A signaling message corresponding to two or more multipaths may be generated and then transmitted (S1105). For example, if the signaling message transmitted from the MMT streaming server 500, that is, the package-related information included in the PA message, is the MP table for MPU 1, MPU 2, and MPU 3, Since the entity 1 310 already knows the information about the MPU held by the lower MMT intermediate entity, the MPU 2 can confirm that the MMT intermediate entity 320 holds the information. The MMT 1 310 generates and delivers a first signaling message in which the MPU 2 is deleted from the MP table of the signaling message transmitted from the MMT streaming server 500. The MMT intermediate entity 310 transmits the first signaling message And delivers the message to the client 100 without modification. In addition, the signaling message shared in step S1101 may be an MPT message including only the MP table, and the signaling message generated and processed in step S1105 may be a PA message.

그리고 조정자 MMT 중간 개체인 MMT 중간 개체 1(310)은 서브 경로를 설정하고 위해 MPU 2를 보유하고 있는 MMT 중간 개체 2(320)로 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지를 상기 MMT 중간 개체 2(320)로 전달하되, MMT 스트리밍 서버(500)로부터 받은 시그널링 메시지를 그대로 전달하는 것이 아니라, MMT 중간 개체 2(320)가 보유하고 있는 MPU 2에 대한 정보만이 포함되도록 설정한 제2 시그널링 메시지 생성한 후 전달하게 된다. The MMT intermediate object 1 310, which is an intermediate entity of the coordinator MMT, sets a sub-path and transmits a signaling message delivered from the MMT streaming server 500 to the MMT intermediate object 2 320, which holds the MPU 2, The second signaling message is set to include only the information about the MPU 2 held by the MMT intermediate entity 2 320, rather than delivering the signaling message received from the MMT streaming server 500 as it is, After the message is generated, it is delivered.

이때 MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 출발지 주소(ipv4_src_addr 또는 ipv6_src_addr)를 상기 MMT 스트리밍 서버(500)에서 상기 MMT 중간 개체 2(320)의 주소로 변경하고, 상기 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 목적지 포트(dst_port)와는 다른 목적지 포트로 설정한 제2 시그널링 메시지를 생성할 수 있다. 이때, MMT 중간 개체 1(310)은 다른 MMT 중간 개체와의 충돌을 미연에 방지하게 위해 상기 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 목적지 포트 값에 상기 MMT 중간 개체 2(320)의 IP 주소 중 마지막 자리를 더한 값을 목적지 포트로 설정할 수 있다. At this time, the MMT intermediate entity 310 changes the source address (ipv4_src_addr or ipv6_src_addr) of the signaling message transmitted from the MMT streaming server 500 from the MMT streaming server 500 to the address of the MMT intermediate entity 320 , And may generate a second signaling message set to a destination port different from the destination port (dst_port) of the signaling message transmitted from the MMT streaming server (500). At this time, in order to prevent a collision with another MMT intermediate entity, the MMT intermediate entity 1 310 adds the IP of the MMT 320 to the destination port value of the signaling message transmitted from the MMT streaming server 500, The destination port can be set to the last digit of the address.

이러한 과정을 통해 MMT 스트리밍 서버(500)는 하나의 시그널링 메시지만을 전달하였으나, 조정자 MMT 중간 개체에 의해 다중 경로에 대응하는 복수 개의 시그널링 메시지가 생성되고 이를 수신한 클라이언트(100)는 다중 경로에 대응하여 각각 생성된 시그널링 메시지를 이용하여 MMT 스트리밍 서비스를 요청하고 수신하여 이용할 수 있게 된다(S1107). 전술한 예에서, 제1 시그널링 메시지는 MPU 1 및 MPU 3에 대한 MP 테이블을 정의하고 있고, 제2 시그널링 메시지는 MPU 2에 대한 MP 테이블을 정의하고 있으므로, 클라이언트(100)는 MPU 1 및 MPU 3는 MMT 스트리밍 서버(500)에 요청하여 수신하고, MPU 2는 MMT 중간 개체 2(320)에 요청하고 수신한 후 이를 순차적으로 정렬하고 재생함으로써 MMT 스트리밍 서비스를 다중 경로 방식을 통해 이용할 수 있게 된다. Through this process, the MMT streaming server 500 has delivered only one signaling message, but a plurality of signaling messages corresponding to the multi-path are generated by the coordinator MMT intermediate entity, and the client 100 receiving the signaling message corresponding to the multi- The MMT streaming service can be requested and received using the generated signaling message (S1107). In the above example, since the first signaling message defines the MP table for MPU 1 and MPU 3, and the second signaling message defines the MP table for MPU 2, client 100 has MPU 1 and MPU 3 To the MMT streaming server 500, and the MPU 2 requests and requests the MMT intermediate entity 2 320 to sequentially order and reproduce the MMT stream, thereby enabling the MMT streaming service to be used in a multipath manner.

이러한 본 발명의 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법에 대해 도 6을 참조하여 보다 더 구체적으로 설명하도록 한다. A method of providing a multi-path streaming service according to an embodiment of the present invention will be described in more detail with reference to FIG.

도 6은 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다. 6 is a data flow chart for explaining a method of providing a multi-path streaming service according to the first embodiment of the present invention.

도 6을 참조하여 설명하기에 앞서, 설명의 편의를 위해 스트리밍 시스템을 구성하는 복수 개의 MMT 중간 개체를 MMT 중간 개체 1(310) 및 MMT 중간 개체 2(320)만을 도시하였으나 상기 개수에 한정되는 것은 아니며, MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500) 근처에 위치하는 최상위 MMT 중간 개체인 것을 가정하여 설명하도록 한다. 6, only a plurality of MMT intermediate entities constituting the streaming system are shown as the MMT intermediate entity 310 and the MMT intermediate entity 320. However, And the MMT 1 310 is the highest MMT intermediate entity located near the MMT streaming server 500.

도 6을 참조하면, 클라이언트(100)는 MMT 스트리밍 서버(500)로 MMT 스트르밍 서비스 제공을 요청한다(S101). MMT 스트리밍 서버(500)는 클라이언트(100)의 요청에 따라 자신이 보유하고 있는 패키지에 대한 정보를 포함하는 시그널링 메시지를 생성하고 자신의 바로 밑에 있는 MMT 개체, 즉 MMT 중간 개체 1(310)로 전달한다(S103). 여기서 MMT 스트리밍 서버(500)가 전송하는 시그널링 메시지는 모든 정보를 포함하는 PA 메시지가 될 수 있다. PA 메시지는 MMT 패키지, 애셋에 접근하기 위한 모든 정보를 포함하는 시그널링 메시지로, 즉 위치, 패키지를 구성하는 애셋 정보, 애셋에 대한 상세 정보를 제공하는 모든 메시지, MP 테이블에 대한 위치 등 MMT 스트리밍 서버(500)가 보유하고 있는 패키지와 관련된 모든 정보를 포함할 수 있다. Referring to FIG. 6, the client 100 requests the MMT streaming server 500 to provide an MMT streaming service (S101). The MMT streaming server 500 generates a signaling message including information on a package held by the MMT streaming server 500 at the request of the client 100 and transmits the signaling message to the MMT entity directly below the MMT entity 310, (S103). Here, the signaling message transmitted by the MMT streaming server 500 may be a PA message including all information. The PA message is a signaling message that includes all information for accessing the MMT package, the asset, i.e., the location, the asset information that constitutes the package, all messages that provide detailed information about the asset, the location of the MP table, And all information related to the package held by the device 500.

MMT 스트리밍 서버(500)가 전달하는 시그널링 메시지는 MMT 중간 개체 1(310) 및 MMT 중간 개체 2(320)를 거쳐 클라이언트(100)로 전달되고(S103 ~ S107), 이를 확인한 클라이언트(100)는 자신이 원하는 패키지를 선택할 수 있다(S109). 그리고 선택된 패키지 정보는 다시 MMT 중간 개체 2(320) 및 MMT 중간 개체 1(310)을 거쳐 MMT 스트리밍 서버(500)로 전달한다(S109 ~ S113).The signaling message delivered by the MMT streaming server 500 is transmitted to the client 100 through the MMT 1 310 and the MMT 320 320 in operation S103 through S107, The desired package can be selected (S109). Then, the selected package information is transmitted to the MMT streaming server 500 through the MMT intermediate entity 2 320 and the MMT intermediate entity 1 310 (S 109 to S 113).

그리고 MMT 스트리밍 서버(500)는 클라이언트(100)의 요청에 따라 MMT 스트리밍 데이터를 제공할 수 있는데, 이때 MMT 중간 개체 2(320)는 상방향인 MMT 중간 개체 1(310)로 자신이 보유하고 있는 MP 테이블을 포함하는 시그널링 메시지를 전송하고(S117), MMT 중간 개체 1(310)은 MMT 중간 개체 2(320)로부터 수신된 시그널링 메시지 및 자신이 보유하고 있는 MP 테이블을 포함하는 시그널링 메시지를 MMT 스트리밍 서버(500)로 전달할 수 있다. The MMT streaming server 500 may provide MMT streaming data according to a request from the client 100. At this time, the MMT intermediate entity 320 transmits the MMT streaming data to the MMT 1 310 The MMT intermediate object 1 310 transmits a signaling message including the signaling message received from the MMT intermediate object 2 320 and the MP table held by the MMT intermediate object 310 to the MMT streaming To the server (500).

그리고, 최상위 노드인 MMT 중간 개체 1(310)은 다중 경로를 제어하는 적절한 분기점의 노드로 판단하여 조정자 역할을 수행할 수 있으며, MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500)로부터 전달되는 메인 경로에 대한 시그널링 메시지가 수신되면(S123), 전술한 바와 같이, 서브 경로에 대한 시그널링 메시지로 생성하여 MMT 중간 개체 2(320)로 전달할 수 있다(S125). 즉, MMT 스트리밍 서버(500)로부터 전달되는 메인 경로에 대한 시그널링 메시지에서 MMT 중간 개체 2(320)가 보유하고 있는 패키지의 적어도 일부에 대한 정보를 제외한 나머지를 삭제한 후, 출발지 주소 정보를 MMT 중간 개체 2(320)의 주소로 변경한 후 이를 클라이언트(100)로 전송할 수 있다. The MMT intermediate entity 1 310, which is the highest node, can be regarded as a node of a suitable branch point for controlling the multipath and can act as a coordinator. The MMT intermediate entity 310 is transmitted from the MMT streaming server 500 When the signaling message for the main path is received (S123), the signaling message for the sub path can be generated and transmitted to the MMT intermediate entity 2 320 (S125) as described above. In other words, in the signaling message for the main path transmitted from the MMT streaming server 500, after excluding the information excluding at least part of the package held by the MMT intermediate entity 320, To the address of the second entity 320, and then transmits the address to the client 100.

또한, 하위 MMT 중간 개체인 MMT 중간 개체 2(320)는 주기적으로 상향 방향인 MMT 중간 개체 1(310)로 MP 테이블을 포함하는 MPT 시그널링 메시지를 전송하고, 이에 따라 MMT 중간 개체 1(310)는 패키지의 분포 현황을 확인할 수 있으며, 다중 경로를 제어하기 위한 서브 경로 시그널링 메시지인 PA 메시지를 MMT 중간 개체 2(320)로 전달하는 과정을 수행함으로써 클라이언트(100)가 요청한 스트리밍 데이터를 다중 경로를 통해 제공하는 과정을 제어할 수 있다(S129 ~ S133).In addition, the MMT intermediate entity 2 320, which is a lower MMT intermediate entity, periodically transmits an MPT signaling message including the MP table to the MMT intermediate entity 310, which is an upward direction, And transmits the PA message, which is a sub-path signaling message for controlling the multi-path, to the MMT intermediate entity 2 320. Thus, the streaming data requested by the client 100 is transmitted through the multi-path (S129 to S133).

이와 같이 본 발명의 모든 MMT 중간 개체들은 자신의 정보를 이용하여 바로 아래의 MMT 중간 개체로만 하향방향 시그널링 메시지, 즉 PA 메시지를 보내 경로를 결정할 수 있으며, 상위 MMT 중간 개체에서는 항상 최신의 하위 MMT 중간 개체의 정보를 가질 수 있도록 하기 위한 누적된 정보를 전달하는 상향 방향 시그널링 메시지, 즉 MPT 메시지를 수신할 수 있다. 이러한 과정을 짧은 주기로 계속하여 갱신될 수 있다. As described above, all MMT intermediate entities of the present invention can determine a route by sending a downward direction signaling message, that is, a PA message only to the immediately below MMT intermediate entity using their own information. In the upper MMT intermediate entity, Directional signaling message, that is, an MPT message, that conveys accumulated information to enable information of an entity to be received. This process can be continuously updated in a short cycle.

이러한 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 지원하는 조정자 MMT 중간 개체의 장치 구성에 대해 도 7을 참조하여 설명하도록 한다. An apparatus configuration of the mediator MMT intermediate entity supporting the multi-path streaming service providing method according to the first embodiment of the present invention will be described with reference to FIG.

도 7은 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 지원하는 장치의 구성을 설명하기 위한 도면이다. FIG. 7 is a diagram for explaining a configuration of an apparatus for supporting a multi-path streaming service providing method according to the first embodiment of the present invention.

전술한 바와 같이, 도 4에서 조정자 MMT 중간 개체 역할을 수행하는 MMT 중간 개체 1(310)을 예시로 들어 설명하도록 하나, 보유하고 있는 패키지에 따라 조정자 MMT 중간 개체는 변경될 수 있음에 유의해야 한다. As described above, it should be noted that the coordinator MMT intermediate entity 310 may be changed depending on the package it holds, although the example of the MMT intermediate entity 310 310 serving as the coordinator MMT intermediate entity in FIG. 4 is illustrated by way of example .

도 7에서 본 발명의 조정자 MMT 중간 개체(310)는 송신부(311), 조정자 설정부(312) 및 시그널링 메시지 처리부(313)를 포함하여 구성된다. 7, the coordinator MMT intermediate entity 310 of the present invention includes a transmitter 311, a coordinator setting unit 312, and a signaling message processor 313.

송신부(311)는 본 발명의 실시 예에 따른 필요한 정보의 송수신을 지원하는 것으로, 특히, 하위 MMT 중간 개체로부터 MPT 시그널링 메시지를 수신할 수 있으며, MMT 스트리밍 서버(500)로부터 PA 시그널링 메시지를 수신할 수 있다. 또한, 송신부(311)는 시그널링 메시지 처리부(313)를 통해 생성되는 PA 시그널링 메시지를 하위 MMT 중간 개체(310)로 전송하는 역할을 수행할 수 있다. The transmission unit 311 supports transmission and reception of necessary information according to an embodiment of the present invention. In particular, the transmission unit 311 can receive the MPT signaling message from the lower MMT intermediate entity and receive the PA signaling message from the MMT streaming server 500 . The transmitting unit 311 may transmit the PA signaling message generated through the signaling message processing unit 313 to the lower MMT intermediate entity 310.

조정자 설정부(312)는 조정자 역할을 수행할 수 있는 지 여부를 판단하게 된다. 즉 조정자 설정부(312)는 MMT 스트리밍 서버(500) 이외에 상위 MMT 개체가 존재하지 않는 것으로 판단되면, 자신이 조정자 역할을 수행할 수 있음을 결정할 수 있다. The coordinator setting unit 312 determines whether or not it can perform the role of the coordinator. That is, if the coordinator setting unit 312 determines that an upper MMT entity is not present in addition to the MMT streaming server 500, the coordinator setting unit 312 can determine that the coordinator can perform its role as an coordinator.

시그널링 메시지 처리부(313)는 조정자 설정부(312)에 의해 조정자 역할을 수행하는 것으로 설정되면, MMT 스트리밍 서버(500)로부터 전달되는 메인 경로에 대응하는 시그널링 메시지인 PA 메시지가 수신되면, 이를 각각의 서브 경로별로 시그널링 메시지를 생성하여 다중 경로에 대응하는 시그널링 메시지가 생성되도록 처리하는 역할을 수행한다. 예를 들어 설명하면, MMT 스트리밍 서버(500)로부터 전달되는 시그널링 메시지, 즉 PA 메시지에 포함된 패키지 관련 정보가 MPU 1, MPU 2, MPU 3에 대한 MP 테이블인 경우, 조정자 MMT 중간 개체인 MMT 중간 개체 1(310)은 하위 MMT 중간 개체가 보유하고 있는 MPU에 대한 정보들을 이미 알고 있는 상태이므로, MPU 2는 MMT 중간 개체 2가 보유하고 있음을 확인할 수 있다. 이에 MMT 중간 개체 1(310)은 상기 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 MP 테이블에서 MPU 2를 삭제한 메인 경로에 대응하는 제1 시그널링 메시지를 생성하여 전달하고, 하위 MMT 중간 개체들은 전달되는 제1 시그널링 메시지를 수정 없이 그대로 클라이언트(100)로 전달한다. When the signaling message processing unit 313 is set to perform the role of the coordinator by the coordinator setting unit 312, when a PA message, which is a signaling message corresponding to the main path transmitted from the MMT streaming server 500, is received, Generates a signaling message for each sub-path, and processes the signaling message corresponding to the multi-path to be generated. For example, if the signaling message transmitted from the MMT streaming server 500, that is, the package-related information included in the PA message, is the MP table for MPU 1, MPU 2, and MPU 3, Since the entity 1 310 already knows the information about the MPU held by the lower MMT intermediate entity, the MPU 2 can confirm that it holds the MMT intermediate entity 2. The MMT intermediate entity 1 310 generates and delivers a first signaling message corresponding to the main path from which the MPU 2 is deleted from the MP table of the signaling message transmitted from the MMT streaming server 500, And delivers the first signaling message to the client 100 without modification.

그리고 조정자 MMT 중간 개체인 MMT 중간 개체 1(310)은 서브 경로를 설정하고 위해 MPU 2를 보유하고 있는 MMT 중간 개체 2(320)로 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지를 상기 MMT 중간 개체 2(320)로 전달하되, MMT 스트리밍 서버(500)로부터 받은 시그널링 메시지를 그대로 전달하는 것이 아니라, MMT 중간 개체 2(320)가 보유하고 있는 MPU 2에 대한 정보만이 포함되도록 설정한 제2 시그널링 메시지 생성한 후 전달하게 된다. The MMT intermediate object 1 310, which is an intermediate entity of the coordinator MMT, sets a sub-path and transmits a signaling message delivered from the MMT streaming server 500 to the MMT intermediate object 2 320, which holds the MPU 2, The second signaling message is set to include only the information about the MPU 2 held by the MMT intermediate entity 2 320, rather than delivering the signaling message received from the MMT streaming server 500 as it is, After the message is generated, it is delivered.

이때 MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 출발지 주소(ipv4_src_addr 또는 ipv6_src_addr)를 상기 MMT 스트리밍 서버(500)에서 상기 MMT 중간 개체 2(320)의 주소로 변경하고, 상기 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 목적지 포트(dst_port)와는 다른 목적지 포트로 설정한 제2 시그널링 메시지를 생성할 수 있다. 이때, MMT 중간 개체 1(310)은 다른 MMT 중간 개체와의 충돌을 미연에 방지하게 위해 상기 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 목적지 포트 값에 상기 MMT 중간 개체 2(320)의 IP 주소 중 마지막 자리를 더한 값을 목적지 포트로 설정할 수 있다. At this time, the MMT intermediate entity 310 changes the source address (ipv4_src_addr or ipv6_src_addr) of the signaling message transmitted from the MMT streaming server 500 from the MMT streaming server 500 to the address of the MMT intermediate entity 320 , And may generate a second signaling message set to a destination port different from the destination port (dst_port) of the signaling message transmitted from the MMT streaming server (500). At this time, in order to prevent a collision with another MMT intermediate entity, the MMT intermediate entity 1 310 adds the IP of the MMT 320 to the destination port value of the signaling message transmitted from the MMT streaming server 500, The destination port can be set to the last digit of the address.

이상으로 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법에 대해 설명하였다. 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법에 있어서, 클라이언트(100) 및 MMT 스트리밍 서버(500)는 도면에는 도시하지 않았으나 접속망 및 코어망으로 구성되는 네트워크를 통해 연결될 수 있으며, 복수 개의 MMT 개체는 네트워크에 분산 배치되며 접속망의 기지국을 통해 클라이언트(100)로 정보를 제공할 수 있다. 여기서, 기지국은 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국을 포함하는 개념이 될 수 있으며, 기지국과 BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기 모두를 포함하는 개념이 될 수 있다. 또한, 기지국은 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함과 무선 유니트(Radio Unit, 이하 RU라 함)으로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU(미도시)를 집중화된 DU(미도시)와 연결하여 구성할 수도 있다.The method for providing the multi-path streaming service according to the first embodiment of the present invention has been described above. In the method for providing a multi-path streaming service according to the first embodiment of the present invention, the client 100 and the MMT streaming server 500 may be connected through a network composed of an access network and a core network The MMT objects are distributed on the network and can provide information to the client 100 through the base station of the access network. The base station may include a plurality of base stations such as a base station (BS), a base transceiver station (BTS), a NodeB, and an eNodeB. The base station may include a base station controller (BSC) And a base station controller such as a network controller. In addition, the base station divides the digital signal processing unit and the radio signal processing unit, which are integrally implemented in the base station, into digital units (hereinafter, referred to as DUs and radio units (RUs) A plurality of RUs (not shown) may be provided, and a plurality of RUs (not shown) may be connected to a centralized DU (not shown).

또한, 코어망은 접속망 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 네트워크 내에서의 패킷 흐름을 관리 및 제어할 수 있다. 또한, 코어망은 주파수간 이동성을 관리하고, 접속망 및 코어망 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망과의 연동을 위한 역할을 수행할 수도 있다. 이러한 코어망은 SGW(Serving GateWay), PGW(PDN GateWay), MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다. 아울러, MMT 스트리밍 서버(500)는 코어망과 연결되는 인터넷망을 통해 연결될 수 있으나, 코어망을 통해 연결될 수도 있다. The core network is a network system that performs main functions for mobile communication services such as mobility control and switching between access networks. The core network performs circuit switching or packet switching, Can be managed and controlled. In addition, the core network manages inter-frequency mobility, and may perform a role for interworking with the access network and the traffic in the core network and with other networks, e.g., the Internet network. The core network may further include a Serving GateWay (SGW), a PDN GateWay, a Mobile Switching Center (MSC), a Home Location Register (HLR), a Mobile Mobility Entity (MME), and a Home Subscriber Server It is possible. In addition, the MMT streaming server 500 may be connected through the Internet network connected to the core network, but may be connected through the core network.

이하 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법에 대해 설명하도록 한다. Hereinafter, a method for providing a multi-path streaming service according to a second embodiment of the present invention will be described.

도 8은 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 구성도이다. FIG. 8 is a block diagram illustrating a method for providing a multi-path streaming service according to a second embodiment of the present invention.

도 8을 참조하면, 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법은 MMT 패킷 수신 개체인 클라이언트가 직접 서버의 역할을 수행하여 패키지를 전송하는 실시 예에 적용될 수 있다. 즉, 도 8에 도시된 클라이언트 1, 2, 3, 4는 MMT 스트리밍 서버(500) 또는 복수 개의 MMT 중간 개체로부터 MMT 스트리밍 데이터를 수신할 수 있으며, 수신된 MMT 스트리밍 데이터를 다른 클라이언트로 배포할 수 있다. 이때, 네트워크를 구성하는 각각의 MMT 개체들은 서로 일대일 관계로 연결될 수 있으며, MMT 스트리밍 서버(500)는 각 클라이언트 1 내지 4가 보유하고 있는 패키지에 대한 정보를 모두 알고 있는 상황이다. Referring to FIG. 8, the method for providing a multi-path streaming service according to the second embodiment of the present invention can be applied to an embodiment in which a client, which is an MMT packet receiving entity, acts as a direct server and transmits a package. That is, the clients 1, 2, 3, and 4 shown in FIG. 8 can receive MMT streaming data from the MMT streaming server 500 or a plurality of MMT intermediate objects, and distribute the received MMT streaming data to other clients have. At this time, the MMT entities constituting the network can be connected to each other in a one-to-one relationship, and the MMT streaming server 500 knows all the information about the packages held by the clients 1 to 4.

이러한 상황에서 MMT 스트리밍 데이터를 수신하고자 하는 클라이언트 1(100_1)은 MMT 스트리밍 서버(500)로 MMT 스트리밍 서비스를 요청한다. MMT 스트리밍 서버(500)는 클라이언트1(100_1)이 요청한 MMT 스트리밍 서비스에 해당하는 패키지를 보유하고 있는 다른 클라이언트인 클라이언트 2(100_2), 클라이언트 3(100_3) 및 클라이언트 4(100_4)에 대한 정보를 포함하는 시그널링 메시지, 예컨대 PA 메시지를 클라이언트 1(100_1)로 전송한다. In this situation, the client 1 (100_1) requesting the MMT streaming service requests the MMT streaming server (500) to receive the MMT streaming data. The MMT streaming server 500 includes information on the clients 2 100_2, 100-3, and 100_4 that are the other clients holding the package corresponding to the MMT streaming service requested by the client 1 100_1 For example, a PA message to the client 1 (100_1).

이를 수신한 클라이언트 1(100_1)은 상기 PA 메시지에 따라 MPU 1은 클라이언트 3(100_3)으로부터 MPU 2 및 MPU 4는 클라이언트 2(100_2), 그리고 MPU 3 및 MPU 5는 클라이언트 3(100_3)으로부터 각각 요청하여 수신할 수 있다. 이때 클라이언트 1(100_1)은 각각의 MPU를 순차적으로 정렬하고 정렬된 MPU를 재생할 수 있게 된다. The client 1 (100_1) receives the PA message from the client 3 (100_3), the MPU 2 from the client 3 (100_3), the client 2 (100_2) from the MPU 4 and the MPU 3 and the MPU 5 from the client 3 . At this time, the client 1 (100_1) can arrange the respective MPUs sequentially and reproduce the aligned MPUs.

이러한 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법에 대해 도 9를 참조하여 보다 더 구체적으로 설명하도록 한다. A method for providing a multi-path streaming service according to a second embodiment of the present invention will be described in more detail with reference to FIG.

도 9는 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 흐름도이다. 9 is a flowchart illustrating a method of providing a multi-path streaming service according to a second embodiment of the present invention.

도 8 및 도 9를 참조하면, 클라이언트 1(100_1)은 MMT 스트리밍 서버(500)로 MMT 스트리밍 서비스를 요청한다(S201). 이를 수신한 MMT 스트리밍 서버(500)는 상기 클라이언트 1(100_1)이 요청한 MMT 스트리밍 서비스에 해당하는 패키지를 보유하고 있는 다른 클라이언트인 클라이언트 2(100_2), 클라이언트 3(100_3) 및 클라이언트 4(100_4)를 확인하고, 상기 클라이언트 2(100_2), 클라이언트 3(100_3) 및 클라이언트 4(100_4)에 대한 정보를 포함하는 시그널링 메시지, 예컨대 PA 메시지를 생성하여 클라이언트 1(100_1)로 전송한다(S203). 여기서 PA 메시지는 클라이언트1의 IP 주소(destination IP information), MMT 패킷을 제공할 하나 이상의 다른 클라이언트의 IP 주소(mid source IP information) 그리고 상기 다른 클라이언트 각각이 보유하고 있는 패키지 ID, 하나 이상의 애셋 ID 및 적어도 하나 이상의 MPU ID에 대한 정보를 포함할 수 있다. Referring to FIGS. 8 and 9, the client 1 100_1 requests the MMT streaming server 500 for an MMT streaming service (S201). The MMT streaming server 500 receives the MMT streaming service and requests the client 2 100_2, the client 3 100_3, and the client 4 100_4, which are the other clients holding the package corresponding to the MMT streaming service requested by the client 1 100_1 And generates a signaling message, for example, a PA message including information on the client 2 100_2, the client 3 100_3 and the client 4 100_4, and transmits the signaling message to the client 1 100_1 (S203). Here, the PA message includes destination IP information of the client 1, mid-source IP information of one or more other clients to provide the MMT packet, and a package ID, one or more asset IDs, And may include information on at least one MPU ID.

이를 수신한 클라이언트1(100_1)은 상기 MMT 스트리밍 서버(500)로부터 수신된 시그널링 메시지를 이용하여 다른 클라이언트와 연결을 수립하게 된다(S205). 이때, 클라이언트 1(100_1)은 가용 자원을 고려하여 다른 클라이언트와 순차적 연결을 수행하게 된다. 보다 구체적으로 설명하면 MMT 스트리밍 서버(500)로부터 클라이언트 2(100_2), 클라이언트 3(100_3) 및 클라이언트 4(100_4)에 대한 정보를 포함하는 시그널링 메시지를 수신한 경우, 클라이언트 1(100_1)은 상기 다른 클라이언트 중 먼저 어느 하나의 클라이언트, 예컨대 클라이언트 2(100_2)와 먼저 연결을 수립할 수 있다. 이때, 선택되는 다른 클라이언트는 보유하고 있는 MPU ID를 고려하여 설정될 수 있으며, 랜덤으로 선택될 수 있다. 또한, 클라이언트 1(100_1)은 공지된 다양한 근거리 무선 통신 방식으로 제2 클라이언트(100_2)와 연결될 수 있다. The client 1 (100_1) receiving the message establishes a connection with another client using the signaling message received from the MMT streaming server 500 (S205). At this time, the client 1 (100_1) performs sequential connection with another client considering the available resources. More specifically, when receiving a signaling message including information on the client 2 100_2, the client 3 100_3 and the client 4 100_4 from the MMT streaming server 500, It is possible to first establish a connection with any one of the clients, for example, the client 2 (100_2). At this time, the selected other client can be set considering the MPU ID held, and can be selected at random. In addition, the client 1 (100_1) can be connected to the second client (100_2) in a variety of known short-range wireless communication methods.

그리고 클라이언트 1(100_1)은 자신의 현재 채널 사용량(current channel usage of peer, Ccurr) 및 최대 채널 용량(maximum channel capacity of peer, Cmax)를 산출하고(S207), 산출된 정보를 NAMF 메시지를 통해 연결된 클라이언트 2(100_2)로 전송한다(S209). The client 1 100_1 calculates the current channel usage of the peer Ccurr and the maximum channel capacity of the peer Cmax in step S207 and transmits the calculated information through the NAMF message To the client 2 (100_2) (S209).

그리고 클라이언트 1(100_1)은 최대 채널 용량(Cmax)에서 현재 채널 사용량(Ccurr)을 뺀 용량이 채널 마진(channel margin for reliability, Cmargin) 미만인지 여부를 판단하여(S211), 미만이 아닌 경우, 가용한 자원이 충분한 상태이므로, 다른 클라이언트, 예컨대 클라이언트 3(100_3)과 연결을 수립하게 된다(S213). The client 1 100_1 determines whether the capacity of the maximum channel capacity Cmax minus the current channel capacity Ccurr is less than the channel margin for reliability Cmargin S211, Since one resource is in a sufficient state, a connection is established with another client, for example, the client 3 (100_3) (S213).

반면, S211 단계에서 미만인 경우, 더 이상이 연결할 수 있는 자원이 없으므로, 클라이언트 1(100_1)은 현재까지 연결된 클라이언트 각각에게 해당 클라이언트가 보유하고 있는 MPU를 동시에 요청하고 이를 수신할 수 있게 된다(S215). On the other hand, if it is less than in step S211, since there is no more resources to be connected, the client 1 (100_1) simultaneously requests the MPUs held by the clients to the clients connected so far (S215) .

아울러, 본 발명의 클라이언트 1(100_1)은 지속적으로 현재 채널 사용량(Ccurr) 및 최대 채널 용량(Cmax)을 모니터링하고(S217), 현재 채널 사용량(Ccurr)에 변화가 있는 것으로 판단되면(S219), 기존의 연결된 클라이언트와의 연결이 해제되거나 특별한 이벤트가 존재하는 것이므로, 다시 현재 채널 사용량(Ccurr) 및 최대 채널 용량(Cmax)을 산출하고, 산출된 정보를 연결된 다른 클라이언트에게 NAMF 메시지를 통해 전송할 수 있다The client 1 100_1 continuously monitors the current channel usage amount Ccurr and the maximum channel capacity Cmax in step S217. If it is determined that there is a change in the current channel usage amount Ccurr in step S219, Since the connection with the existing connected client is released or a special event exists, the current channel usage amount (Ccurr) and the maximum channel capacity (Cmax) can be calculated again, and the calculated information can be transmitted to the other connected clients through the NAMF message

이러한 과정은 클라이언트 1(100_1)이 요청한 MMT 스트리밍 데이터의 수신이 완료되면 그 동작을 종료하게 된다. This process ends when the reception of the MMT streaming data requested by the client 1 (100_1) is completed.

이하, 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 지원하는 장치인 클라이언트(100)의 주요 구성에 대해 설명하도록 한다. Hereinafter, a main configuration of a client 100 that supports a method of providing a multi-path streaming service according to a second embodiment of the present invention will be described.

도 10은 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 지원하는 장치 구성을 도시한 구성도이다. FIG. 10 is a configuration diagram of a device supporting a multi-path streaming service providing method according to a second embodiment of the present invention.

도 10을 참조하면, 본 발명의 제2 실시 예를 지원하는 클라이언트(100)는 시그널링 송수신부(110), 자원 관리부(120) 및 연결 처리부(130)를 포함하여 구성될 수 있다. Referring to FIG. 10, the client 100 supporting the second embodiment of the present invention may include a signaling transmission / reception unit 110, a resource management unit 120, and a connection processing unit 130.

먼저, 시그널링 송수신부(110)는 MMT 스트리밍 서버(500)로부터 PA 메시지를 수신하거나, 다른 클라이언트로 연결을 요청하고 NAMF 메시지를 전송하는 역할을 수행하는 것과 같이 다양한 메시지의 송수신을 지원할 수 있다. First, the signaling transmission / reception unit 110 can support transmission and reception of various messages, such as receiving a PA message from the MMT streaming server 500, requesting connection to another client, and transmitting a NAMF message.

자원 관리부(120)는 클라이언트(100)의 가용 채널 용량을 모니터랑하고 현재 채널 사용량 및 최대 채널 용량을 산출한 후 이를 기초로 채널 마진을 고려한 복수 개의 다른 클라이언트와의 다중 연결을 지원하는 역할을 수행할 수 있다. The resource management unit 120 monitors the available channel capacity of the client 100, calculates the current channel usage amount and the maximum channel capacity, and supports multiple connections with a plurality of other clients considering channel margins based on the current channel usage amount and the maximum channel capacity can do.

연결 처리부(130)는 MMT 스트리밍 서버(500)로부터 전달된 PA 메시지 및 상기 자원 관리부(120)를 통해 산출된 가용 채널 용량을 고려하여 다중 연결을 설정할 복수 개의 다른 클라이언트를 선택할 수 있으며, 선택된 다른 클라이언트와의 연결을 수립하고 연결된 다른 클라이언트로부터 MMT 패킷, 즉 MPU 단위의 MMT 패킷을 요청하고 수신하는 역할을 수행할 수 있다. The connection processing unit 130 may select a plurality of different clients to establish a multiple connection in consideration of the PA message transmitted from the MMT streaming server 500 and the available channel capacity calculated through the resource management unit 120, And to request and receive MMT packets, that is, MMT packets, in units of MPU from other connected clients.

이상으로 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법에 대해 설명하였다. The method for providing the multi-path streaming service according to the second embodiment of the present invention has been described above.

아울러, 도 10에서 본 발명의 클라이언트(100)의 주요 구성 및 동작에 대해 제2 실시 예를 기준으로 설명하였으나, 본 발명의 클라이언트(100)는 제2 실시 예 뿐 아니라 전술한 제1 실시 예에 따라 동작을 수행할 수도 있다. 다시 말해, 본 발명의 클라이언트(100)는 MMT 스트리밍 서버(500)로 스트리밍 데이터를 요청하고, MMT 스트리밍 서버(500)로부터 다른 클라이언트에 대한 정보를 포함하는 시그널링 메시지가 수신되면 제2 실시 예에 따라 동작을 수행할 수 있으며, MMT 스트리밍 서버(500) 및 복수 개의 MMT 중간 개체의 주소 정보를 포함하는 각각의 시그널링 메시지가 수신되면, 제1 실시 예에 따라 동작을 수행할 수 있다. 10, the client 100 of the present invention has been described based on the second embodiment, but the client 100 of the present invention is not limited to the second embodiment, The operation may be performed in accordance with this. In other words, the client 100 of the present invention requests streaming data to the MMT streaming server 500, and when a signaling message including information on another client is received from the MMT streaming server 500, And when the respective signaling messages including the address information of the MMT streaming server 500 and the plurality of MMT intermediate entities are received, an operation according to the first embodiment can be performed.

본 발명의 다중 경로 스트리밍 서비스 제공 방법을 실행하는 각 장치에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.A processor mounted on each device that executes the method of providing a multipath streaming service of the present invention can process program instructions for executing the method according to the present invention. In one implementation, the processor may be a single-threaded processor, and in other embodiments, the processor may be a multithreaded processor. Further, the processor is capable of processing instructions stored on a memory or storage device.

또한 본 발명의 실시 예에 따른 MMT 스트리밍 서버(500) 및 MMT 개체는 하드웨어적으로는 통상적인 웹서버(Web Server) 또는 네트워크 서버와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등과 같은 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다. In addition, the MMT streaming server 500 and the MMT entity according to the embodiment of the present invention have the same hardware configuration as a typical Web server or a network server. However, the software includes a program module implemented through a language such as C, C ++, Java, Visual Basic, Visual C, or the like.

아울러, 본 발명의 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법은 적어도 하나의 모듈에 의해 그 동작이 이뤄질 수 있다. 여기서 '~모듈'이라는 용어는 소프트웨어 구성요소를 의미하며, '~모듈'은 어떤 역할들을 수행한다. 일 예로서 '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.In addition, the method of providing a multi-path streaming service according to an embodiment of the present invention may be performed by at least one module. Here, the term '~ module' refers to a software component, and '~ module' performs certain roles. By way of example, '~ module' may include components such as software components, object-oriented software components, class components and task components, and processes, functions, attributes, procedures, Routines, segments of program code, drivers, data, databases, data structures, tables, arrays, and variables. In addition, the functions provided in the components and 'modules' may be combined into a smaller number of components and '~ modules' or further separated into additional components and 'modules'.

비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.Although the present specification and drawings describe exemplary device configurations, the functional operations and subject matter implementations described herein may be embodied in other types of digital electronic circuitry, or alternatively, of the structures disclosed herein and their structural equivalents May be embodied in computer software, firmware, or hardware, including, or in combination with, one or more of the foregoing. Implementations of the subject matter described herein may be embodied in one or more computer program products, i. E. One for computer program instructions encoded on a program storage medium of the type for &lt; RTI ID = 0.0 & And can be implemented as a module as described above. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects the machine readable propagation type signal, or a combination of one or more of the foregoing.

아울러, 본 발명의 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 본 발명의 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 구현하기 위한 기록매체에 기록되는 프로그램은 MMT 개체가 자신이 보유하고 있는 패키지(package)에 대한 미디어 프로세싱 유닛(MPU; Media Processing Unit) 위치 정보(location) 및 MPU 아이디(MPU_id)를 정의하는 MP 테이블(MP table)을 포함하는 시그널링 메시지를 생성하는 단계 및 상기 MMT 개체가 상기 생성된 시그널링 메시지를 이용하여 다중 경로 방식의 스트리밍 서비스 제공이 가능하도록 하나 이상의 다른 MMT 개체로 전송하는 단계 등을 실행할 수 있다. In addition, the method of providing a multi-path streaming service according to an exemplary embodiment of the present invention may be provided in the form of a computer-readable medium suitable for storing computer program instructions and data. A program recorded on a recording medium for implementing a multi-path streaming service providing method according to an exemplary embodiment of the present invention includes a media processing unit (MPU) position information about a package that the MMT entity holds, generating a signaling message including an MP table (MP table) defining a location and an MPU ID (MPU_id) of the MMT, and transmitting the signaling message to the MMT entity using the generated signaling message so that a multi- To one or more other MMT entities, and so forth.

이때, 기록매체에 기록된 프로그램은 컴퓨터에서 읽히어 설치되고 실행됨으로써 전술한 기능들을 실행할 수 있다. At this time, the program recorded on the recording medium can be read and installed in the computer and executed, thereby executing the above-described functions.

여기서, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 기능들을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 컴퓨터의 장치 인터페이스(Interface)를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. In order to allow a computer to read a program recorded on a recording medium and to execute functions implemented by the program, the above-mentioned program may be stored in a computer-readable medium such as C, C ++, JAVA, machine language, and the like.

이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. 또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. 또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.The code may include a function code related to a function or the like that defines the functions described above and may include an execution procedure related control code necessary for the processor of the computer to execute the functions described above according to a predetermined procedure. In addition, such code may further include memory reference related code as to what additional information or media needed to cause the processor of the computer to execute the aforementioned functions should be referenced at any location (address) of the internal or external memory of the computer . In addition, when a processor of a computer needs to communicate with any other computer or server that is remote to execute the above-described functions, the code may be stored in a memory of the computer using a communication module of the computer, It may further include a communication-related code such as how to communicate with another computer or a server, and what information or media should be transmitted or received during communication.

이러한, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. Such computer-readable media suitable for storing computer program instructions and data include, for example, magnetic media such as hard disks, floppy disks and magnetic tape, compact disk read only memory (CD-ROM) Optical media such as a DVD (Digital Video Disk), a magneto-optical medium such as a floppy disk, and a ROM (Read Only Memory), a RAM , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), and EEPROM (Electrically Erasable Programmable ROM). The processor and memory may be supplemented by, or incorporated in, special purpose logic circuits.

또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. The functional program for implementing the present invention and the related code and code segment may be implemented by programmers in the technical field of the present invention in consideration of the system environment of the computer that reads the recording medium and executes the program, Or may be easily modified or modified by the user.

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.While the specification contains a number of specific implementation details, it should be understood that they are not to be construed as limitations on the scope of any invention or claim, but rather on the description of features that may be specific to a particular embodiment of a particular invention Should be understood. Certain features described herein in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments, either individually or in any suitable subcombination. Further, although the features may operate in a particular combination and may be initially described as so claimed, one or more features from the claimed combination may in some cases be excluded from the combination, Or a variant of a subcombination.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Likewise, although the operations are depicted in the drawings in a particular order, it should be understood that such operations must be performed in that particular order or sequential order shown to achieve the desired result, or that all illustrated operations should be performed. In certain cases, multitasking and parallel processing may be advantageous. Also, the separation of the various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems will generally be integrated together into a single software product or packaged into multiple software products It should be understood.

본 발명은 스트리밍 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스 제공 시 단일 경로가 아닌 다중 경로를 통해 스트리밍 서비스를 제공할 수 있는 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램에 관한 것이다. The present invention relates to a method of providing a streaming service, and more particularly, to a method and apparatus for providing a streaming service by providing a multi-path streaming service capable of providing a streaming service through a multi- A service providing method, a computer readable recording medium therefor, and a computer program.

본 발명에 의하면, MMT 방식의 스트리밍 서비스 제공 시 단일 경로가 아닌 다중 경로를 통해 스트리밍 서비스를 제공할 수 있으며, MPU 단위로 스트리밍 서비스를 제공함으로써 한정된 네트워크 자원을 보다 효율적으로 사용할 수 있다. 이에 본 발명은 스트리밍 서비스 산업의 발전에 이바지할 수 있다.According to the present invention, a streaming service can be provided through a multipath rather than a single path when providing a streaming service of the MMT scheme. By providing a streaming service in units of MPU, limited network resources can be used more efficiently. Therefore, the present invention can contribute to the development of the streaming service industry.

더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.In addition, since the present invention is not only possible to be marketed or operated, but also can be practically and practically carried out, it is industrially applicable.

100: 클라이언트 110: 시그널링 송수신부
120: 자원 관리부 130: 연결 처리부
310: 조정자 MMT 중간 개체 311: 송신부
312: 조정자 설정부 313: 시그널링 메시지 처리부
500: MMT 스트리밍 서버 600: 애셋
610: MMT 패킷 헤더 620: MMT 패킷 페이로드 데이터
630: MMT 페이로드 헤더 640: MMT 페이로드 데이터
800: MMT 시그널링 메시지 810: 패키지 소비
820: 패키지 전달 811: PA 메시지
812: MPI 메시지 813: MPT 메시지
814: CRI 메시지 815: DCI 메시지
100: client 110: signaling transmission /
120: resource management unit 130: connection processing unit
310: Coordinator MMT intermediate entity 311: Transmitter
312: coordinator setting unit 313: signaling message processing unit
500: MMT streaming server 600: Asset
610: MMT packet header 620: MMT packet payload data
630: MMT payload header 640: MMT payload data
800: MMT signaling message 810: package consumption
820: Package Delivery 811: PA Messages
812: MPI message 813: MPT message
814: CRI message 815: DCI message

Claims (14)

MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 통신 프로토콜에 따라 동작하는 복수 개의 MMT 개체로 구성되는 스트리밍 시스템에서의 다중 경로 스트리밍 서비스 제공 방법에 있어서,
상기 MMT 개체가 자신이 보유하고 있는 패키지(package)에 대한 미디어 프로세싱 유닛(MPU; Media Processing Unit) 위치 정보(location) 및 MPU 아이디(MPU_id)를 정의하는 MP 테이블(MP table)을 포함하는 시그널링 메시지를 생성하는 단계; 및
상기 MMT 개체가 상기 생성된 시그널링 메시지를 이용하여 다중 경로 방식의 스트리밍 서비스 제공이 가능하도록 하나 이상의 다른 MMT 개체로 상기 시그널링 메시지를 전송하는 단계;
를 포함하는 것을 특징으로 하는 다중 경로 스트리밍 서비스 제공 방법.
A method for providing a multi-path streaming service in a streaming system comprising a plurality of MMT entities operating according to an MPEG Media Transport (MMT) communication protocol,
(MP table) for defining a media processing unit (MPU) location information and an MPU ID (MPU_id) for a package held by the MMT entity, and a signaling message &Lt; / RTI &gt; And
Transmitting the signaling message to one or more other MMT entities such that the MMT entity can provide a multi-path streaming service using the generated signaling message;
The method of claim 1,
제1항에 있어서,
상기 MPU 위치 정보는
애셋 위치(asset_location) 정보에 종속되어 정의되며,
상기 MPU 아이디는
상기 MP 테이블의 MMT 일반 위치 정보(MMT_general_location_info())에서 정의되는 위치 타입(location_type)에 패킷 아이디(packet_id)가 정의되는 경우에만 포함되는 것을 특징으로 하는 다중 경로 스트리밍 서비스 제공 방법.
The method according to claim 1,
The MPU location information
Dependent on the asset location (asset_location) information,
The MPU ID
Is included only when a packet ID (packet_id) is defined in a location type (location_type) defined in the MMT general location information (MMT_general_location_info ()) of the MP table.
MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스를 제공하는 MMT 스트리밍 서버 및 스트리밍 서비스를 이용하는 클라이언트와 상기 MMT 스트리밍 서버 사이에 위치하며 MMT 통신 프로토콜에 따라 상기 MMT 스트리밍 서버가 제공하는 패키지(package)와 동일한 패키지 전부 또는 일부를 제공할 수 있는 복수 개의 MMT 중간 개체(entity)를 포함하는 스트리밍 시스템에서의 다중 경로 스트리밍 서비스 제공 방법에 있어서,
상기 복수 개의 MMT 중간 개체 각각이 시그널링 메시지를 통해 자신이 보유하고 있는 패키지와 관련된 정보를 시그널링 메시지를 통해 공유하는 단계;
상기 공유된 시그널링 메시지를 기초로 상기 복수 개의 MMT 중간 개체 중 어느 하나의 MMT 중간 개체가 조정자(coordinator) MMT 중간 개체로 설정되는 단계;
상기 설정된 조정자 MMT 중간 개체가 클라이언트의 요청에 따라 상기 MMT 스트리밍 서버로부터 상기 클라이언트로 전달되는 시그널링 메시지를 상기 공유된 시그널링 메시지를 이용하여 적어도 둘 이상의 다중 경로에 대응하는 시그널링 메시지로 각각 생성하는 단계; 및
상기 조정자 MMT 중간 개체가 상기 생성된 적어도 둘 이상의 시그널링 메시지를 상기 클라이언트로 전달하여 상기 클라이언트가 상기 시그널링 메시지에 따라 MMT 스트리밍 서비스를 요청하고 수신할 수 있도록 처리하는 단계;
를 포함하는 것을 특징으로 하는 다중 경로 스트리밍 서비스 제공 방법.
An MMT streaming server for providing a streaming service of an MPEG media transport (MMT) method and a package for providing a MMT streaming server located between the client using the streaming service and the MMT streaming server and provided by the MMT streaming server according to the MMT communication protocol A method for providing a multi-path streaming service in a streaming system including a plurality of MMT intermediate entities capable of providing all or part of the same package as the MMT package,
Each of the plurality of MMT intermediate entities sharing information related to a package they own via a signaling message through a signaling message;
Setting an MMT intermediate entity of the plurality of MMT intermediate entities as a coordinator MMT intermediate entity based on the shared signaling message;
Generating a signaling message to be transmitted from the MMT streaming server to the client according to a request of the client, the signaling message corresponding to at least two or more multipaths using the shared signaling message; And
The coordinator MMT intermediate entity forwards the generated at least two signaling messages to the client so that the client can request and receive the MMT streaming service according to the signaling message;
The method of claim 1,
제3항에 있어서,
상기 패키지와 관련된 정보는
미디어 프로세싱 유닛(MPU; Media Processing Unit) 위치 정보(location) 및 MPU 아이디(MPU_id)를 의미하며,
상기 시그널링 메시지는
상기 MPU 위치 정보 및 MPU 아이디가 정의된 MP 테이블(MP table)을 포함하는 것을 특징으로 하는 다중 경로 스트리밍 서비스 제공 방법.
The method of claim 3,
The information associated with the package
Means a media processing unit (MPU) location information and an MPU ID (MPU_id)
The signaling message
(MP table) in which the MPU location information and the MPU ID are defined.
제3항에 있어서,
상기 공유하는 단계는,
상기 복수 개의 MMT 중간 개체 각각이 자신이 보유하고 있는 패키지와 관련된 정보를 포함하는 시그널링 메시지를 상기 MMT 스트리밍 서버 상향(upwarding) 방향에 위치하는 상위 MMT 중간 개체로 전송하는 단계; 및
상기 상위 MMT 개체는 하위 MMT 중간 개체로부터 전달되는 시그널링 메시지 및 자신이 보유하고 있는 패키지와 관련된 정보를 포함하는 시그널링 메시지를 상기 MMT 스트리밍 서버 상향 방향으로 전송하는 단계;
를 포함하는 것을 특징으로 하는 다중 경로 스트리밍 서비스 제공 방법.
The method of claim 3,
Wherein the sharing comprises:
Transmitting a signaling message including information related to a package held by each of the plurality of MMT intermediate entities to an upper MMT intermediate entity located in an upward direction of the MMT streaming server; And
The upper MMT entity transmits a signaling message including a signaling message transmitted from a lower-level MMT intermediate entity and information related to a package held by the higher-level MMT entity in a direction upstream of the MMT streaming server;
The method of claim 1,
제5항에 있어서,
상기 조정자 MMT 중간 개체로 설정되는 단계는
상기 MMT 스트리밍 서버 상향 방향에 위치하는 개체가 MMT 스트리밍 서버인 최상위 MMT 중간 개체를 조정자 MMT 중간 개체로 설정하는 것을 특징으로 하는 다중 경로 스트리밍 서비스 제공 방법.
6. The method of claim 5,
The step of setting the coordinator MMT intermediate entity
Wherein the entity located in the upward direction of the MMT streaming server sets the topmost MMT intermediate entity, which is an MMT streaming server, as the coordinator MMT intermediate entity.
제3항에 있어서,
상기 생성하는 단계는
상기 조정자 MMT 중간 개체가 상기 공유된 시그널링 메시지를 이용하여 상기 MMT 스트리밍 서버로부터 전달되는 시그널링 메시지의 MP 테이블에 기재된 패키지와 관련된 정보 중 적어도 일부의 동일한 패키지를 보유하고 있는 MMT 중간 개체가 존재하는 것으로 판단되면, 상기 MP 테이블에서 해당 정보를 삭제한 제1 시그널링 메시지를 생성하는 단계; 및
상기 조정자 MMT 중간 개체가 상기 MMT 스트리밍 서버로부터 전달된 시그널링 메시지의 상기 MP 테이블에서 동일한 정보를 제외한 나머지를 삭제한 제2 시그널링 메시지를 생성하는 단계;
를 포함하는 것을 특징으로 하는 다중 경로 스트리밍 서비스 제공 방법.
The method of claim 3,
The generating step
The coordinator MMT intermediate entity determines that there is an MMT intermediate entity holding at least a part of the same package of information related to the package described in the MP table of the signaling message transmitted from the MMT streaming server using the shared signaling message Generating a first signaling message in which the corresponding information is deleted from the MP table; And
Generating a second signaling message in which the coordinator MMT intermediate entity deletes the remainder of the signaling message transmitted from the MMT streaming server except for the same information in the MP table;
The method of claim 1,
제7항에 있어서,
상기 제2 시그널링 메시지를 생성하는 단계는
상기 조정자 MMT 중간 개체는 상기 MMT 스트리밍 서버로부터 전달된 시그널링 메시지의 상기 MP 테이블에서 동일한 정보를 제외한 나머지를 삭제한 후, 상기 시그널링 메시지의 출발지 주소(src_addr)를 상기 동일한 패키지를 보유하고 있는 MMT 중간 개체의 주소로 변경하고, 상기 시그널링 메시지의 목적지 포트(dst_port)를 다른 목적지 포트로 설정한 제2 시그널링 메시지를 생성하는 것을 특징으로 하는 다중 경로 스트리밍 서비스 제공 방법.
8. The method of claim 7,
Wherein the generating the second signaling message comprises:
The coordinator MMT intermediate entity deletes the remainder excluding the same information from the MP table of the signaling message transmitted from the MMT streaming server, and then transmits the source address (src_addr) of the signaling message to the MMT intermediate entity And generates a second signaling message in which a destination port (dst_port) of the signaling message is set as another destination port.
MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스를 제공하는 MMT 스트리밍 서버 및 복수 개의 클라이언트를 포함하는 스트리밍 시스템에서의 다중 경로 스트리밍 서비스 제공 방법에 있어서,
어느 하나의 클라이언트가 상기 MMT 스트리밍 서버로 패키지를 요청하는 단계;
상기 클라이언트가 상기 MMT 스트리밍 서버로부터 상기 패키지의 적어도 일부를 보유하고 있는 하나 이상의 다른 클라이언트에 대한 정보를 포함하는 시그널링 메시지를 수신하는 단계;
상기 클라이언트가 가용 채널 용량을 고려하여 상기 시그널링 메시지에 포함된 다른 클라이언트 중 적어도 하나 이상의 다른 클라이언트와 연결하는 단계; 및
상기 클라이언트가 연결된 다른 클라이언트로부터 스트리밍 데이터를 동시에 요청하여 수신하는 단계;
를 포함하는 것을 특징으로 하는 다중 경로 스트리밍 서비스 제공 방법.
A method for providing a multi-path streaming service in an MMT streaming server providing a streaming service of an MPEG media transport (MMT) scheme and a streaming system including a plurality of clients,
Wherein one of the clients requests the package to the MMT streaming server;
Receiving a signaling message from the MMT streaming server, the signaling message including information about one or more other clients holding at least a portion of the package;
The client connecting with at least one of the other clients included in the signaling message considering the available channel capacity; And
Simultaneously requesting and receiving streaming data from another client connected to the client;
The method of claim 1,
제9항에 있어서,
상기 수신되는 시그널링 메시지는
상기 클라이언트의 IP 주소, 다른 클라이언트의 IP 주소 및 상기 다른 클라이언트별 각각에 대응하는 패키지 ID, 하나 이상의 애셋 ID 및 적어도 하나 이상의 MPU ID에 대한 정보를 포함하는 것을 특징으로 하는 다중 경로 스트리밍 서비스 제공 방법.
10. The method of claim 9,
The received signaling message
Wherein the information includes at least one of an IP address of the client, an IP address of another client, a package ID corresponding to each of the other clients, one or more asset IDs, and at least one MPU ID.
제9항에 있어서,
상기 다른 클라이언트와 연결하는 단계는
상기 클라이언트가 자신의 현재 채널 사용량(current channel usage of peer) 및 최대 채널 용량(maximum channel capacity of peer)을 산출하는 단계; 및
상기 최대 채널 용량에서 상기 현재 채널 사용량을 뺀 용량이 채널 마진(channel margin for reliability) 미만이 될 때까지 상기 클라이언트가 서로 다른 클라이언트와 연결을 수행하는 단계;
를 포함하는 것을 특징으로 하는 다중 경로 스트리밍 서비스 제공 방법.
10. The method of claim 9,
The step of connecting with the other client
Calculating a current channel usage of a peer and a maximum channel capacity of the peer; And
Performing a connection between the client and another client until a capacity of the maximum channel capacity minus the current channel usage is less than a channel margin for reliability;
The method of claim 1,
제11항에 있어서,
상기 클라이언트가 다른 클라이언트와 연결을 수행하는 단계 이후에,
상기 클라이언트가 자신의 현재 채널 사용량 및 최대 채널 용량을 지속적으로 모니터링하여 현재 채널 사용량에 변화가 감지되면, 상기 현재 채널 사용량 및 최대 채널 용량을 재산출하는 단계;
를 더 포함하는 것을 특징으로 하는 다중 경로 스트리밍 서비스 제공 방법.
12. The method of claim 11,
After the client performs a connection with another client,
Continuously monitoring the current channel usage amount and the maximum channel capacity of the client and, when a change in the current channel usage amount is detected, restricting the current channel usage amount and the maximum channel capacity;
The method of claim 1, further comprising:
제1항 내지 제12항 중 어느 하나의 항에 기재된 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium storing a program for executing the method according to any one of claims 1 to 12. 제1항 내지 제12항 중 어느 하나의 항에 기재된 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.13. A computer program embodied on a computer readable recording medium which is embodied to perform the method recited in any one of claims 1 to 12.
KR1020160036198A 2016-03-25 2016-03-25 Method for providing of multi path streamming service, computer readale storage medium and recording program therefor KR102303777B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160036198A KR102303777B1 (en) 2016-03-25 2016-03-25 Method for providing of multi path streamming service, computer readale storage medium and recording program therefor
KR1020210100074A KR102439164B1 (en) 2016-03-25 2021-07-29 Method for providing of multi path streamming service, computer readale storage medium and recording program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160036198A KR102303777B1 (en) 2016-03-25 2016-03-25 Method for providing of multi path streamming service, computer readale storage medium and recording program therefor

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210100074A Division KR102439164B1 (en) 2016-03-25 2021-07-29 Method for providing of multi path streamming service, computer readale storage medium and recording program therefor

Publications (2)

Publication Number Publication Date
KR20170111217A true KR20170111217A (en) 2017-10-12
KR102303777B1 KR102303777B1 (en) 2021-09-17

Family

ID=60140377

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020160036198A KR102303777B1 (en) 2016-03-25 2016-03-25 Method for providing of multi path streamming service, computer readale storage medium and recording program therefor
KR1020210100074A KR102439164B1 (en) 2016-03-25 2021-07-29 Method for providing of multi path streamming service, computer readale storage medium and recording program therefor

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210100074A KR102439164B1 (en) 2016-03-25 2021-07-29 Method for providing of multi path streamming service, computer readale storage medium and recording program therefor

Country Status (1)

Country Link
KR (2) KR102303777B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130057404A (en) 2011-11-23 2013-05-31 한국전자통신연구원 Method and apparatus for streaming service providing scalability and view information
KR20140095445A (en) * 2013-01-24 2014-08-01 한국전자통신연구원 Method and apparatus of transmitting and receiving flexible MMT asset
KR20140099040A (en) * 2013-02-01 2014-08-11 에스케이플래닛 주식회사 Method for control transmission data based on cloud steaming, system, client terminal and service apparatus
KR20150004018A (en) * 2013-07-02 2015-01-12 삼성전자주식회사 Apparatus and method for changing between default path and direct path in wireless communication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130057404A (en) 2011-11-23 2013-05-31 한국전자통신연구원 Method and apparatus for streaming service providing scalability and view information
KR20140095445A (en) * 2013-01-24 2014-08-01 한국전자통신연구원 Method and apparatus of transmitting and receiving flexible MMT asset
KR20140099040A (en) * 2013-02-01 2014-08-11 에스케이플래닛 주식회사 Method for control transmission data based on cloud steaming, system, client terminal and service apparatus
KR20150004018A (en) * 2013-07-02 2015-01-12 삼성전자주식회사 Apparatus and method for changing between default path and direct path in wireless communication system

Also Published As

Publication number Publication date
KR102303777B1 (en) 2021-09-17
KR20210097089A (en) 2021-08-06
KR102439164B1 (en) 2022-09-02

Similar Documents

Publication Publication Date Title
JP6279621B2 (en) Internet Protocol (IP) Multimedia Subsystem (IMS) based Peer to Peer (P2P) content delivery
US9537902B2 (en) Enabling devices without native broadcast capability to access and/or receive broadcast data in an efficient manner
JP4361372B2 (en) Method and apparatus for flow processing and mapping in a multicast / broadcast service
BR112015031512B1 (en) MEDIATE DELIVERY OF CONTENT VIA ONE OR MORE SERVICES
EP3262845B1 (en) Delay compensation for broadcast adaptive bitrate streaming
JP2018515960A (en) Method and apparatus for flexible broadcast service based on multimedia broadcast multicast service
US10015235B2 (en) Distribution of media content to wireless communication devices
US10165311B2 (en) Non-transitory computer-readable recording medium having program recorded therein for providing network-adaptive content and apparatus for providing network-adaptive content
KR102439164B1 (en) Method for providing of multi path streamming service, computer readale storage medium and recording program therefor
JP2021527351A (en) Network-controlled uplink media transmission for collaborative media production in scenarios with limited network capacity
US10587569B2 (en) Streaming service providing method and device
WO2021062826A1 (en) Data transmission method and apparatus, system, and storage medium
CN113574492A (en) Information processing apparatus, information processing method, and program
KR102123414B1 (en) Method for providing of contents, node control server for the same
KR102485601B1 (en) Method of selecting optimal network node for contents delivery service and apparatus therefor
CN107438991B (en) Method and apparatus for flexible broadcast service via multimedia broadcast multicast service
KR102174360B1 (en) Method for providing of streamming service and apparatus for the same
WO2024055692A1 (en) Communication method, communication apparatus, and communication system
KR20160149811A (en) Method and apparatus for controlling media contents delivery
CN102594778A (en) Realizing method and system for stream media feedback

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant