KR101682651B1 - Method and apparatus of providing data streaming service - Google Patents

Method and apparatus of providing data streaming service Download PDF

Info

Publication number
KR101682651B1
KR101682651B1 KR1020100117709A KR20100117709A KR101682651B1 KR 101682651 B1 KR101682651 B1 KR 101682651B1 KR 1020100117709 A KR1020100117709 A KR 1020100117709A KR 20100117709 A KR20100117709 A KR 20100117709A KR 101682651 B1 KR101682651 B1 KR 101682651B1
Authority
KR
South Korea
Prior art keywords
peer
data
file fragment
file
peers
Prior art date
Application number
KR1020100117709A
Other languages
Korean (ko)
Other versions
KR20120056139A (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 KR1020100117709A priority Critical patent/KR101682651B1/en
Publication of KR20120056139A publication Critical patent/KR20120056139A/en
Application granted granted Critical
Publication of KR101682651B1 publication Critical patent/KR101682651B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems

Abstract

본 발명은 멀티미디어 데이터 스트리밍 서비스를 효율적으로 수행하기 위한 피투피(P2P) 기반 스트리밍 서비스 제공 방법 및 장치에 관한 것으로서, 본 발명의 데이터 스트리밍 서비스 제공 장치는, 오버레이 네트워크 내에 참여한 각 피어간의 통신을 통해 상호 버퍼맵 정보를 교환하는 통신부, 각 피어가 보유하고 있는 파일조각 묶음 및 파일조각 들에 대한 정보를 토대로 버퍼맵을 생성하고 상기 통신부를 통해서 수신된 각 피어의 버퍼맵 정보와 비교하여 자신이 보유하지 않은 파일 조각 정보를 도출하는 버퍼맵계산부, 상기 버퍼맵 계산부를 통해서 도출된 파일 조각 정보를 참조하여 해당 피어에게 파일 조각묶음 또는 파일 조각 데이터를 수신하는 데이터 전송부, 및 데이터를 수신하는 동안 각 피어간 전송속도를 확인하는 피어간 전송속도 확인부를 포함한다.The present invention relates to a method and apparatus for providing a peer-to-peer (P2P) -based streaming service for efficiently performing a multimedia data streaming service, and an apparatus for providing a data streaming service, A communication unit for exchanging map information, a buffer map on the basis of information on file fragment groups and file fragments held by each of the peers, compares the buffer map information with the buffer map information of each of the peers received through the communication unit, A buffer map calculating unit for deriving the file fragment information, a data transmitting unit for receiving the file fragment set or file fragment data to the corresponding peer with reference to the file fragment information derived through the buffer map calculating unit, Determine the baud rate between peers to determine the baud rate It includes.

Description

데이터 스트리밍 서비스 제공 방법 및 장치 {METHOD AND APPARATUS OF PROVIDING DATA STREAMING SERVICE}[0001] METHOD AND APPARATUS OF PROVIDING DATA STREAMING SERVICE [0002]

본 발명은 데이터 스트리밍 서비스 제공 방법 및 장치에 관한 것으로서, 멀티미디어 데이터 스트리밍 서비스를 보다 효율적으로 수행하기 위한 피투피(P2P) 기반 스트리밍 서비스 제공 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for providing a data streaming service, and more particularly, to a method and apparatus for providing a peer-to-peer (P2P) -based streaming service for efficiently performing a multimedia data streaming service.

스트리밍(streaming)은 인터넷 상에서 음성이나 동영상 등을 실시간으로 재생하는 기술로서, 전송되는 데이터를 마치 끊임없고 지속적인 물흐름처럼 처리할 수 있는 기술을 의미한다. 스트리밍 기술은 인터넷의 성장과 함께 더욱더 중요해지고 있는데, 그 이유는 일반적으로 음성이나 영상을 재생할 때에는 파일 전체를 하드디스크에 다운로드해야 하는데 이럴 경우 다운로드가 완료될 때까지 기다려야 하고 하드 디스크 내에 저장 공간도 확보되어 있어야 하기 때문이다. 스트리밍 기술은 데이터를 수신하고 있는 클라이언트 측은 데이터를 모으고, 그 데이터를 처리하여 사운드나 그림으로 변환해주는 응용프로그램에 마치 끊임없는 흐름처럼 보내준다. 스트리밍 기술을 이용하면 컴퓨터의 주기억 장치와 주변 장치 사이에서 데이터를 주고받을 때 정보를 임시로 기억해 두고 사용할 수 있는 버퍼(Buffer)를 이용해 재생하게 되므로 기다릴 필요가 없고 비디오, 오디오 자료처럼 데이터 용량이 큰 것도 제약을 받지 않고 보거나 들을 수 있다. 현재 방송사나 신문사, 인터넷 방송 등에서 VDO, ADO 정보를 제공하는 수단으로 스트리밍 기술이 많이 이용되고 있다.Streaming refers to a technique for real-time playback of voice or video on the Internet, which means that the transmitted data can be processed as if it were a continuous stream of water. Streaming technology is becoming more and more important with the growth of the Internet because, in general, when you play audio or video, you have to download the entire file to your hard disk, which means you have to wait until the download is complete and you have enough storage space on your hard disk. . Streaming technology, on the client side receiving the data, collects the data, processes it and sends it to the application that converts it to sound or picture like a continuous flow. When streaming technology is used, data is exchanged between the main memory of the computer and the peripheral device. When the data is temporarily stored, the buffer is used to reproduce the data. Therefore, there is no need to wait, You can see or hear without restriction. Currently, streaming technology is widely used as means of providing VDO and ADO information in broadcasting companies, newspapers, and Internet broadcasting.

그러나 현재 멀티미디어 데이터의 스트리밍은 서버/클라이언트 방식으로서, 대부분의 스트리밍 데이터를 서비스 제공 사업자의 미디어 서버로부터 받아오고 있는 방식을 사용하고 있기 때문에 서버의 부하 문제와 서비스 안전성의 문제가 발생되고 있다. 또한, 많은 사용자를 동시에 수용하지 못하는 경우가 발생하므로, 이를 해결하기 위해서 더 많은 네트웍 장비를 구축하는 등의 비용투자가 필요한 문제점이 발생하고 있다. However, since streaming of multimedia data is a server / client method, most of the streaming data is received from a media server of a service provider, which causes problems of server load and service security. In addition, since a large number of users can not be accommodated at the same time, there is a problem that cost investment such as building more network equipment is required to solve the problem.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, P2P(Peer to Peer) 기반 스트리밍 서비스 방식에 있어서 파일 조각의 크기를 서비스 종류, 단말 상황 및 네트워크 상황 등에 따라서 적응적으로 조절하는 방법 및 장치를 제공하는 것을 목적으로 한다. SUMMARY OF THE INVENTION The present invention provides a method and apparatus for adaptively adjusting the size of a file fragment in a P2P (Peer to Peer) based streaming service scheme according to a service type, a terminal status, and a network status .

상기와 같은 목적을 달성하기 위한 본 발명의 일실시예에 따른 데이터 스트리밍 서비스 제공 장치는, 네트워크를 통해서 다수의 피어들과 스트리밍 데이터를 송수신하는 장치에 있어서, 특정 오버레이 네트워크 내에 참여한 피어들의 목록을 유지하고 있는 트래커 서버(tracker server)와 통신하여 피어 목록을 수령하는 트래커 서버 통신부; 상기 트래커 서버 통신부를 통해서 수신된 피어 목록을 관리하여 각 피어들 간의 연결, 각 피어들의 우선순위 및 각 피어들의 버퍼맵 정보를 관리하는 피어목록관리부; 각 피어간의 통신을 통해 상호 버퍼맵 정보를 교환하는 통신부; 각 피어가 보유하고 있는 파일조각 묶음 및 파일조각 들에 대한 정보를 토대로 버퍼맵을 생성하고 상기 통신부를 통해서 수신된 각 피어의 버퍼맵 정보와 비교하여 자신이 필요한 파일 조각 번호를 도출하는 버퍼맵계산부; 상기 버퍼맵 계산부를 통해서 도출된 파일 조각 번호를 참조하여 해당 피어에게 파일 조각묶음 또는 파일 조각 데이터를 송수신하는 데이터 전송부; 및 각 피어간 전송속도를 확인하는 피어간 전송속도 확인부를 포함한다.According to another aspect of the present invention, there is provided an apparatus for providing streaming data to a plurality of peers through a network, the apparatus comprising: A tracker server communication unit communicating with a tracker server that receives the peer list and receiving a list of peers; A peer list management unit managing the peer list received through the tracker server communication unit, managing a connection among the peers, a priority of each peer, and buffer map information of each of the peers; A communication unit for exchanging mutual buffer map information through communication between the peers; A buffer map is generated based on information on file fragment sets and file fragments held by each of the peers, and compared with buffer map information of each of the peers received through the communication unit, thereby calculating a buffer map calculation part; A data transmission unit for transmitting / receiving a file fragment bundle or file fragment data to the corresponding peer with reference to a file fragment number derived through the buffer map calculation unit; And a inter-peer transmission rate confirmation unit for confirming a transmission rate between each of the peers.

바람직하게는 상기 장치에 있어서, 상기 피어간 전송속도 확인부를 통해서 현재 파일 조각묶음을 수신하는 피어와의 데이터 전달 속도가 느리다고 판단되는 경우, 해당 피어와의 연결을 종료하고 다른 피어와 연결을 수행하여 파일 조각묶음 또는 파일 조각을 수신하는 것을 특징으로 한다.Preferably, in the apparatus, if it is determined that the data transfer rate with the peer receiving the current file fragment bundle is slow through the peer-to-peer transmission rate confirmation unit, the connection with the corresponding peer is terminated and connection with another peer is performed A file fragment bundle or a file fragment is received.

바람직하게는 상기 장치에 있어서, 상기 피어간 전송속도 확인부를 통해서 현재 파일 조각묶음을 수신하는 피어와의 데이터 전달 속도가 느리다고 판단되는 경우, 해당 피어로부터 수신하는 파일조각묶음을 해체하고 파일 조각 단위로 데이터를 수신하는 것을 특징으로 한다.Preferably, in the apparatus, when it is determined that the data transfer rate with the peer receiving the current file fragment bundle is slow through the inter-peer transmission rate confirmation unit, the file fragment bundle received from the corresponding peer is disassembled, And receives the data.

바람직하게는 상기 장치에 있어서, 상기 버퍼맵 정보는, 시작 조각 번호(Start Fragment Index), 파일 조각묶음 정보(Fragment Bundle Information), 버퍼맵 길이 및 버퍼맵을 포함하며, 상기 버퍼맵은 파일 조각묶음 및 파일 조각묶음에 포함되지 않은 조각들에 대해서 자신이 보유하고 있는지 여부를 비트맵으로 표현하는 정보인 것을 특징으로 한다.Preferably, in the apparatus, the buffer map information includes a Start Fragment Index, Fragment Bundle Information, a buffer map length, and a buffer map, and the buffer map includes a file fragment bundle And a piece of information indicating whether or not the pieces are not included in the file fragment bundle.

상기와 같은 목적을 달성하기 위한 본 발명의 일실시예에 따른 데이터 스트리밍 서비스 제공 방법은, 네트워크를 통해서 다수의 피어들과 스트리밍 데이터를 송수신하는 방법에 있어서, 특정 오버레이 네트워크 내에 참여한 피어들의 목록을 서버로부터 수신하는 단계; 상기 수신된 피어 목록을 참조하여 TCP connection 생성 및 자신이 수신받기를 원하는 조각의 시작점에 대한 인덱스 정보를 제1 피어 및 제2 피어로 송신하는 단계; 상기 제1 피어 및 제2 피어로부터 버퍼맵 정보를 수신하는 단계; 상기 버퍼맵 정보를 참조하여 자신이 보유하고 있는 파일 조각과 보유하고 있지 않은 파일 조각 정보를 파악하는 단계; 상기 파악을 통해서 자신이 보유하고 있지 않은 파일 조각을 보유한 제1 피어 또는 제2 피어에게 파일 조각 전송을 요청하는 단계; 및 상기 제1 피어 또는 제2 피어로부터 해당 파일 조각을 수신하는 단계를 포함하며, 상기 제1 피어는 파일 조각묶음을 전송하며, 상기 제2 피어는 파일 조각을 전송하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a method of transmitting and receiving streaming data to and from a plurality of peers through a network, the method comprising: ; Generating a TCP connection by referring to the received list of peers and transmitting index information about a starting point of a piece desired to be received by the first peer and the second peer; Receiving buffer map information from the first and second peers; Recognizing a file fragment held by itself and file fragment information not held by referring to the buffer map information; Requesting transmission of a file fragment to a first peer or a second peer having a file fragment that is not possessed by the user, through the grasp; And receiving the file fragment from the first or second peer, wherein the first peer transmits a file fragment bundle, and the second peer transmits a file fragment.

바람직하게는 상기 방법에 있어서, 상기 버퍼맵 정보는 시작 조각 번호(Start Fragment Index), 파일 조각묶음 정보(Fragment Bundle Information), 버퍼맵 길이 및 버퍼맵을 포함하는 것을 특징으로 하며, 상기 버퍼맵은 파일 조각묶음 및 파일 조각묶음에 포함되지 않은 조각들에 대해서 자신이 보유하고 있는지 여부를 비트맵으로 표현하는 정보인 것을 특징으로 한다.Preferably, the buffer map information includes a Start Fragment Index, Fragment Bundle Information, a buffer map length, and a buffer map, And information indicating whether or not the file fragments are included in the file fragments and the fragments not included in the file fragments are expressed by a bitmap.

바람직하게는 상기 방법에 있어서, 상기 파일 조각 정보를 파악하는 단계는, 파일 조각묶음을 보유하고 있는지 여부를 판단하여 해당 조각묶음을 가지고 있지 않는 경우는 해당 조각묶음 전체를 요청하고, 해당 조각묶음의 일부를 가지고 있는 경우는 가지고 있지 않은 파일 조각만을 요청하는 것을 특징으로 한다.Preferably, the step of grasping the file fragment information may include determining whether the file fragment bundle is retained, requesting the entire fragment bundle if the file fragment bundle does not exist, And only a file fragment that does not exist is requested.

바람직하게는 상기 방법에 있어서, 상기 피어간 전송속도 확인단계; 및 상기 전송속도 확인 결과 상기 제1 피어와의 데이터 전달 속도가 느리다고 판단되는 경우, 해당 피어로부터 수신하는 파일 조각묶음을 해체하고 파일 조각 단위로 데이터를 수신하는 단계를 더 포함한다.Preferably, the method further comprises: checking the inter-peer transmission rate; And a step of, when it is determined that the data transmission rate with the first peer is slow as a result of checking the transmission rate, disassembling the file fragment bundle received from the corresponding peer and receiving data in units of file fragments.

본 발명에 따르면 P2P(Peer to Peer) 기반 스트리밍 서비스 방식에 있어서 파일 조각의 크기를 서비스 종류, 단말 상황 및 네트웍 상황 등에 따라서 적응적으로 조절하여 스트리밍 서비스를 제공함으로써 전반적인 서비스 성능 및 안전성을 높일 수 있는 효과가 발생한다.According to the present invention, in a peer-to-peer (P2P) based streaming service scheme, a size of a file fragment is adaptively adjusted according to a service type, a terminal status, and a network situation to provide a streaming service, Effect occurs.

도 1은 본 발명의 일실시예에 따른 P2P 데이터 스트리밍 서비스 네트워크를 개략적으로 도시한 블록도이다.
도 2는 파일 조각 전송 구간을 파일 배포의 신속성이 요구되는 구간과 부하 및 자원절약이 요구되는 구간으로 분류하여 P2P 네트워크를 통해서 파일 배포를 수행하는 일실시예를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 데이터 스트리밍 서비스 제공 장치를 개략적으로 도시한 블록도이다.
도 4는 본 발명의 일실시예에 따른 P2P 스트리밍 데이터 교환 과정을 개략적으로 도시한 구성도이다.
도 5는 파일조각 묶음 단위로 스트리밍 데이터 전송 중 해당 피어와 속도가 원활하지 않은 경우의 파일 전송 과정을 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 피어의 동작을 순차적으로 도시한 순서도이다.
1 is a block diagram schematically illustrating a P2P data streaming service network according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating an embodiment of performing file distribution through a P2P network by classifying a file fragment transmission interval into a section requiring fast file distribution and a section requiring load and resource saving.
3 is a block diagram schematically showing an apparatus for providing a data streaming service according to an embodiment of the present invention.
4 is a block diagram schematically illustrating a P2P streaming data exchange process according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating a file transfer process in the case where the corresponding peer and the speed are not smooth during the transmission of the streaming data in units of bundles of file fragments.
FIG. 6 is a flowchart sequentially illustrating operations of a peer according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to like or similar elements throughout the several views, and redundant description thereof will be omitted. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. It is to be noted that the accompanying drawings are only for the purpose of facilitating understanding of the present invention, and should not be construed as limiting the scope of the present invention with reference to the accompanying drawings.

앞서 배경기술에서 설명한 멀티미디어 데이터의 스트리밍 중 서버/클라이언트 방식의 문제점을 해결하기 위하여, 사용자 컴퓨터의 저장공간과 네트워크를 활용하는 P2P(Peer to Peer) 방식의 멀티미디어 스트리밍 서비스가 제공되고 있다. In order to solve the problem of the server / client method during the streaming of the multimedia data described in the background art, a P2P (Peer to Peer) multimedia streaming service utilizing a storage space and a network of a user computer is provided.

P2P 방식은 파일을 일정 크기의 조각으로 나누어 여러 컴퓨터로부터 각 조각을 동시에 나누어서 받아옴으로써 전체적인 성능을 향상시키는 방법으로서, 어느 정도 서버의 도움을 얻어서 개인간 접속을 실현하는 방식과, 클라이언트 상호간에 미리 주소(IP address) 등의 개인 정보를 공유하여 서버 없이 직접 연결하는 방식이 가능하다.The P2P method divides a file into pieces of a certain size and divides each piece from several computers at the same time to improve the overall performance. There are a method of realizing an inter-personal connection with the help of a server to some extent, (IP address), etc., and directly connect without a server.

P2P 기반 스트리밍 서비스 방식은 크게 두 가지로 나누어 볼 수 있다.P2P-based streaming service can be divided into two types.

하나는 일종의 가상 트리를 구성하여 해당 트리로부터 멀티미디어 데이터 스트림을 받아오는 방식이며, 또 다른 하나는 메쉬(mesh) 형태의 네트워크를 구성하여 Parent-Child 개념 없이 다른 피어(클라이언트)로부터 파일 조각을 받아오는 방식이다.One is a method of constructing a kind of virtual tree to receive a multimedia data stream from the tree and the other is a mesh type network to receive a piece of a file from another peer (client) without a parent-child concept Method.

그러나, 이러한 방식들은 타 피어들로부터 받아오는 조각의 크기가 최초에 정해진 값에 의해서만 동작하므로 서비스의 상황, 네트워크의 상황에 관계없이 항상 동일한 크기만을 가지고 있기 때문에 상황의 변화에 능동적으로 대처하지 못한다. 예를 들면, 특정 파일 조각을 한 노드로부터 받아오고자 하나 이 피어와의 네트워크 상황이 느리고 조각의 크기가 클 경우 해당 조각을 받는데 많은 시간이 소모되게 된다. 이는 스트리밍 서비스의 특성상 서비스의 품질이 떨어지는 요소로써 작용하게 된다. 만일 조각의 크기를 작게할 경우 많은 피어들과의 연동에 따른 부하 부담이 발생되게 되며 교환되는 버퍼맵의 크기가 증가하게 된다.However, these schemes do not actively cope with the change of the situation because the size of the pieces received from the peers only operate by the initially set values, and therefore they are always the same size regardless of the service situation or the network situation. For example, if you want to retrieve a specific file fragment from a node, but the network situation with the peer is slow and the fragment size is large, it takes a lot of time to receive the fragment. This is due to the nature of the streaming service, which serves as a factor of poor quality of service. If the size of the fragment is made small, the burden due to interworking with many peers occurs, and the size of the buffer map to be exchanged increases.

여기서 버퍼맵(Buffermap)이란 상대 피어에게 어떤 조각을 가지고 있는지를 bitmap으로 표현(일반적으로, 있으면 1, 없으면 0을 사용함)하여 전달하는 것을 의미하며, P2P 클라이언트는 자신이 받고자 하는 일정 버퍼구간을 일정 크기로 분할하여 다른 피어들과 동시에 해당 데이터를 송수신할 수 있다.Here, a buffer map is a bitmap representing a piece of a relative peer (usually 1 if there is one, and 0 if there is no), and the P2P client sends a schedule buffer section It is possible to transmit and receive corresponding data simultaneously with other peers.

본 발명에서는 P2P 기반 데이터 스트리밍 서비스 제공시 전반적인 성능과 서비스 안정성을 높일 수 있도록 적응형 조각 크기 조절하는 방법을 제안한다.The present invention proposes an adaptive fragment size adjustment method to improve overall performance and service stability in providing P2P-based data streaming service.

도 1은 본 발명의 일실시예에 따른 P2P 데이터 스트리밍 서비스 네트워크를 개략적으로 도시한 블록도이다.1 is a block diagram schematically illustrating a P2P data streaming service network according to an embodiment of the present invention.

도 1에서 P는 피어(Peer), 클라이언트 또는 노드를 의미하는 것으로서 이하에서는 피어라 칭한다. 1, P denotes a peer, a client or a node, and is hereinafter referred to as a peer.

스트리밍 서비스의 특성상 새로운 스트리밍 생성 속도는 한정되어 있기 때문에 신규로 생성된 파일 조각들에 대해서는 다른 피어들이 가지고 있을 확률이 그 이전 조각들에 비해 상대적으로 낮으며, 이 조각들은 실시간 재생을 위하여 최대한 빨리 네트워크를 통해 다른 피어들에게 배포되어야 한다. 따라서, 새로이 생성된 스트리밍 데이터의 빠른 교환을 위하여 새로이 생성된 스트리밍 데이터의 파일 조각 크기를 최소화하는 것이 필요하다.Due to the nature of the streaming service, the rate of new streaming is limited, so that the probability that other peers have new peers will be relatively low compared to the previous peers, To other peers. Therefore, it is necessary to minimize the file fragment size of newly generated streaming data for quick exchange of newly generated streaming data.

도시된 바와 같이, P0는 P2P 네트워크를 통해서 다수의 피어들(P1, P2, P3 ...)로부터 파일 조각(Fragment)들을 수신함과 동시에 P2P 네트워크로 자신이 보유한 파일 조각들을 공유할 수 있다. As shown, P0 can receive file fragments from a plurality of peers (P1, P2, P3, ...) through a P2P network and simultaneously share file fragments held by the P2P network.

이때, 이미 피어들에게 배포된 스트리밍 데이터의 경우 많은 피어들이 해당 데이터를 보유하고 있기 때문에 조각들을 하나의 묶음(Fragment Bundle)으로 묶어서 교환할 수 있다. 이를 통해서 TCP connection 자원을 효율적으로 사용하여 실시간성 데이터의 교환에 좀더 해당 자원을 할당하도록 할 수 있다.At this time, in case of streaming data already distributed to the peers, since many peers have the corresponding data, the fragments can be bundled and exchanged into one bundle (Fragment Bundle). This makes it possible to allocate more resources to the exchange of real-time data by efficiently using TCP connection resources.

이와 같은 파일 조각 또는 파일 조각 묶음 교환 과정에서 파일조각 묶음(FB)이 포함하고 있는 조각들의 정보는 타 피어들과 일치해야 하므로, 시작 인덱스(start index)를 기준으로 특정 modular 값을 가지는 지점부터 묶음을 묶도록 해야한다.In the process of exchanging file fragments or file fragment bundles, information of fragments included in a file fragment bundle (FB) must match with other peers. Therefore, when a fragment having a specific modular value from a start index .

그러나, 앞서 설명한 바와 같이 조각의 크기를 작게 할 경우 많은 피어들과의 연동에 따른 부하 부담이 발생하게 되며 교환되는 버퍼맵의 크기가 증가하게 되는 문제점도 발생하므로, 파일 교환의 신속성과 네트워크 부하 등을 모두 고려하여 파일 조각의 전송 구간을 구분할 수도 있다.However, as described above, when the size of the fragment is made small, load due to interworking with many peers occurs, and the size of the buffer map to be exchanged is increased. Therefore, It is possible to classify the transmission period of the file fragment.

도 2는 파일 조각 전송 구간을 파일 배포의 신속성이 요구되는 구간과 부하 및 자원절약이 요구되는 구간으로 분류하여 P2P 네트워크를 통해서 파일 배포를 수행하는 일실시예를 도시한 도면이다.FIG. 2 is a diagram illustrating an embodiment of performing file distribution through a P2P network by classifying a file fragment transmission interval into a section requiring fast file distribution and a section requiring load and resource saving.

도시된 바와 같이, 피어들 간의 배포되는 파일 조각 중 신속한 배포가 요구되는 파일들에 대해서는 파일조각 묶음 보다는 최소화된 파일 조각을 이용하여 다수의 피어로부터 각각 우선적으로 배포받을 수 있으며, 중요도가 낮은 파일조각에 대해서는 파일조각 묶음을 통해서 FB 단위로 송수신함으로써 부하를 낮추고 자원절약을 도모할 수 있다. 이때, 파일 조각묶음(FB)이 포함하고 있는 조각들의 정보는 타 피어들과 일치하여야 하므로, 앞서 설명한 바와 같이, 시작 인덱스를 기준으로 특정 modular 값을 가지는 지점부터 묶음(Bundle)을 묶도록 하는 것이 바람직하다.As shown in the figure, files that are distributed among peers that are required to be distributed quickly can be preferentially distributed from a plurality of peers using a minimized file fragment rather than a file fragment bundle, It is possible to reduce the load and conserve resources by transmitting and receiving in FB units through a bundle of file fragments. At this time, the information of the pieces included in the file fragment bundle (FB) must match the other peers. Thus, as described above, bundling the bundles from a point having a specific modular value based on the start index desirable.

도 3은 본 발명의 일실시예에 따른 데이터 스트리밍 서비스 제공 장치를 개략적으로 도시한 블록도이다.3 is a block diagram schematically showing an apparatus for providing a data streaming service according to an embodiment of the present invention.

본 발명의 장치(100)는 트래커(tracker) 서버 통신부(101), 피어목록 관리부(103), 피어간 통신부(105), 버퍼맵 계산부(107), 데이터 및 버퍼 관리부(109), 데이터 전송부(111) 및 피어간 전송속도 확인부(113)를 포함한다.The apparatus 100 of the present invention includes a tracker server communication unit 101, a peer list management unit 103, a peer communication unit 105, a buffer map calculation unit 107, a data and buffer management unit 109, (111) and a inter-peer transmission rate confirmation unit (113).

트래커 서버 통신부(101)는 특정 오버레이 네트워크 내에 참여한 피어들의 목록을 유지하고 있는 트래커 서버(tracker server)와 통신하여 피어 목록을 수령하는 역할을 한다.The tracker server communication unit 101 communicates with a tracker server that maintains a list of participating peers in a specific overlay network to receive a list of peers.

피어목록관리부(103)는 트래커 서버로부터 받아온 피어들의 목록을 관리하여 각 피어들의 connectivity, rank, 각 피어들의 버퍼맵 정보 등을 유지한다.The peer list management unit 103 manages the list of peers received from the tracker server to maintain the connectivity, rank, and buffer map information of each peer.

피어간통신부(105)는 피어간 통신을 통해 상호간의 버퍼맵 정보를 교환하고 버퍼맵 묶음을 생성, 해제하는 등의 통신규약이 적용되는 구간이다.The inter-peer communication unit 105 is a section to which communication protocols such as exchanging buffer map information with each other through peer-to-peer communication and generating and releasing a buffer map group are applied.

버퍼맵계산부(107)는 이 피어가 보유하고 있는 데이터 및 조각들에 대한 정보를 토대로 버퍼맵을 생성하고 다른 피어로부터 수신한 버퍼맵 정보와 비교하여 자신이 필요한 조각번호를 도출하는 역할을 한다.The buffer map calculator 107 generates a buffer map based on the information on the pieces of data and pieces held by the peer, and compares the generated buffer map with the buffer map information received from other peers, thereby deriving a necessary piece number .

데이터 및 버퍼 관리부(109)는 실제 데이터에 대한 저장/인출 등의 기능을 담당한다.The data and buffer management unit 109 takes charge of storage / retrieval of actual data.

데이터 전송부(111)는 조각 데이터를 전송하고 수신받는 역할을 수행한다.The data transmission unit 111 performs transmission and reception of fragment data.

피어간 전송속도 확인부(113)는 각 피어간의 전송속도를 주기적으로 확인하여 다른 기능부에 알려주는 역할을 한다.The inter-peer transmission rate confirmation unit 113 periodically checks the transmission rate between each of the peers and informs the other functional units of the transmission rate.

도 4는 본 발명의 일실시예에 따른 P2P 스트리밍 데이터 교환 과정을 개략적으로 도시한 구성도이다.4 is a block diagram schematically illustrating a P2P streaming data exchange process according to an embodiment of the present invention.

도시된 바와 같이, P0는 P1에게 TCP connection을 생성함과 동시에 자신이 원하는 조각의 시작점에 대한 인덱스 정보를 보낸다(S401).As shown in the figure, P0 creates a TCP connection to P1 and sends index information about a starting point of a desired piece to the P1 (S401).

P1은 P0의 TCP connection 생성 및 인덱스 정보를 수신하여 자신의 버퍼맵 정보를 P0에게 송신한다(S403). 상기 버퍼맵 정보는 도시된 바와 같이 시작조각 인덱스(start fragment index), 조각묶음 정보(fragment bundle info), 버퍼맵 길이(buffermap length), 및 버퍼맵(buffermap)을 포함한다.P1 receives TCP connection creation and index information of P0 and transmits its buffer map information to P0 (S403). The buffer map information includes a start fragment index, a fragment bundle info, a buffer map length, and a buffer map, as shown in FIG.

버퍼맵 정보 중 조각묶음 정보는 묶음내 포함된 조각의 개수와 조각묶음 번호를 포함한다. 또한, 버퍼맵 길이는 조각 묶음 개수 및 조각묶음에 포함되지 않은 조각의 개수 정보를 포함한다. The piece bundle information in the buffer map information includes the number of pieces included in the bundle and the piece bundle number. In addition, the buffer map length includes the number of pieces of pieces and the number of pieces of pieces not included in the pieces of pieces.

한편 버퍼맵은 조각묶음과 조각묶음에 포함되지 않은 조각들에 대한 버퍼맵으로서 해당 조각을 가지고 있으면 비트정보 1, 가지고 있지 않으면 비트정보 0으로 표현될 수 있다.On the other hand, the buffer map can be expressed as bit map information 1 if the fragment map is a buffer map for pieces not included in the fragment map and the fragment map, and bit map information 0 if not.

P0는 다른 피어들인 P2 및 P3과도 동일하게 S401 및 S403 단계를 수행하여 파일조각 수신을 위한 TCP connection 생성 및 버퍼맵 정보를 수신한다.P0 performs steps S401 and S403 for other peers P2 and P3 to receive TCP connection creation and buffer map information for file fragment reception.

각 피어들의 버퍼맵을 살펴보면, P1은 "111000111", P2는 "111100000", P3는 "111100111"의 값을 가지고 있다. 이때, 앞 세자리는 조각 묶음에 대한 보유정보를 나타내며 나머지 자리수는 조각묶음에 포함되지 않은 조각들에 대한 보유정보를 포함하고 있다. 상기 버퍼맵 값들은 각 피어들의 버퍼 상태에 따라서 달라질 수 있으며, 버퍼맵 정보 필드에 기술된 값에 따라 다르게 된다.If we look at the buffer map of each of the peers, P1 has a value of "111000111", P2 has a value of "111100000", and P3 has a value of "111100111". At this time, the first three digits represent the holding information for the sculpture bundle, and the remaining digits contain the holding information for the sculptures that are not included in the sculpture bundle. The buffer map values may vary according to the buffer state of each of the peers, and differ depending on the value described in the buffer map information field.

각 피어들로부터 버퍼맵 정보를 수신한 P0는 내부적으로 묶음정보를 해체하여 실제 자신이 가지고 있는 조각과 가지고 있지 않은 조각 정보를 파악한다(S405).P0, which receives the buffer map information from each of the peers, internally decouples the bundle information internally and grasps the piece information of the actual self and the piece information that is not possessed (S405).

파악 결과 해당 조각묶음을 가지고 있지 않으면, 해당 묶음에 대한 전달을 요청한다(S407). If they do not have the fragment bundle as a result of the determination, the delivery of the bundle is requested (S407).

만약 해당묶음의 일부를 가지고 있는 경우에는 가지고 있지 않은 조각만을 요청할 수도 있다(S409).If the user has a part of the bundle, the user may request only a piece not included (S409).

도시된 바와 같이, P0는 P3로부터 파일조각 F1을 수신하고(S411), P2로부터 파일조각묶음 FB#1을 수신하고(S413), P1으로부터는 파일조각묶음 FB#0를 수신한다(S415).As shown in the figure, P0 receives the file fragment F1 from P3 (S411), receives the file fragment bundle FB # 1 from P2 (S413), and receives the file fragment bundle FB # 0 from P1 (S415).

도 5는 파일조각 묶음 단위로 스트리밍 데이터 전송 중 해당 피어와 속도가 원활하지 않은 경우의 파일 전송 과정을 도시한 도면이다.FIG. 5 is a diagram illustrating a file transfer process in the case where the corresponding peer and the speed are not smooth during the transmission of the streaming data in units of bundles of file fragments.

앞서 도 4를 참조하여 설명한 바와 마찬가지로 P0는 P1 및 P2로부터 파일조각 수신을 위한 TCP connection 생성 및 버퍼맵 정보를 수신한다.As described above with reference to FIG. 4, P0 receives TCP connection creation and buffer map information for file fragment reception from P1 and P2.

이때, 도시된 바와 같이, P0는 P1으로부터 파일조각 묶음 FB#0를 수신한다고 가정할 때, FB#0 수신중 전달속도가 느리다고 판단될 경우, 해당 파일조각 묶음을 해체하는 메시지(SPLIT FB#0)를 P1에 전송하고 조각 단위로 파일 전달을 요청한다.At this time, if it is determined that the transfer speed is low during reception of the FB # 0, it is assumed that the file fragment bundle FB # 0 is received from P 1 as shown in FIG. ) To P1 and requests file transfer in units of fragments.

이와 동시에 해당 파일조각 묶음의 나머지 조각들은 다른 피어를 통해서 받을 수 있으며, 따라서 상황에 따른 적응적 파일 조각 전송이 가능하다.At the same time, the remaining pieces of the file fragment bundle can be received through different peers, so adaptive file fragment transmission according to the situation is possible.

이외에도, 도시되지는 않았지만, 파일조각 묶음 단위로 수신 중 전달속도가 느리다고 판다될 경우 해당 피어와의 연결을 종료하고 다른 피어에게 연결하여 해당 파일조각 묶음을 수신할 수도 있다.In addition, although not shown, if the transmission speed is low during reception in units of bundles of file fragments, the connection with the corresponding peer may be terminated and connected to another peer to receive the bundle of fragments of the file.

도 6은 본 발명의 일실시예에 따른 피어의 동작을 순차적으로 도시한 순서도 이다.FIG. 6 is a flowchart sequentially illustrating operations of a peer according to an embodiment of the present invention.

우선 타 피어들의 주소 목록을 수신한다(S601).First, the address list of the peer is received (S601).

모든 N개의 피어 주소 목록을 수신하면, 각 피어와 연결하여 피어들 각각의 버퍼맵 정보를 수신한다(S603).Upon receipt of all N peer address lists, buffer map information of each of the peers is received in connection with each of the peers (S603).

피어들 각각의 버퍼맵 정보를 수신하여 실시간 구간의 버퍼맵에 필요한 파일 조각이 존재하는지 판단한다(S605).The buffer map information of each of the peers is received and it is determined whether a file fragment necessary for the buffer map of the real-time section exists (S605).

해당 파일 조각이 존재하는 경우, 해당 조각을 보유한 피어에게 파일조각 전송을 요청하고(S607), 해당 피어로부터 파일조각을 수신한다(S609).If the file fragment exists, the file fragment transmission request is sent to the peer having the fragment (S607), and the file fragment is received from the corresponding peer (S609).

해당 파일 조각이 존재하지 않는 경우는, 자신의 버퍼맵과 비교하여 해당 파일조각 묶음(FB) 전체를 수신하여야 하는지 판단한다(S611).If the corresponding file fragment does not exist, it is determined whether the entire file fragment bundle FB should be received (S611).

판단결과, 해당조각 묶음 전체를 수신하여야 하는 경우는 해당 조각묶음 전체를 요청하고(S613), 전체 조각묶음에서 한 조각 크기만큼 파일을 수신한다(S615). 이후, 만족할 만한 수준의 성능을 제공하고 있는지 판단하여(S617), 그렇지 않은 경우는 조각묶음 해제 및 다음 조각을 요청하여(S619), 다음 조각을 수신하고(S621) 앞서 S605 단계로 되돌아간다.If it is determined that the entire fragment bundle should be received, the whole bundle bundle is requested (S613), and the file is received by one piece size in the whole bundle bundle (S615). Then, it is determined whether or not a satisfactory level of performance is provided (S617). Otherwise, a piece bundle release and a next fragment are requested (S619), the next piece is received (S621), and the process returns to the step S605.

만일 만족할 만한 수준의 성능을 제공하고 있는지 판단하여(S617), 그런 경우에는 전체 조각묶음에서 다음 한 조각 크기만큼 파일을 수신(S615)하여 해당 전체 조각묶음 수신을 계속 수행한다.If it is judged that a satisfactory level of performance is provided (S617), in that case, the file is received by the next one piece size in the whole fragment bundle (S615), and the whole fragment bundle reception is continued.

S611 단계에서, 해당조각 묶음 전체를 수신할 필요가 없는 경우에는, 필요한 조각만 요청하고(S625), 해당 조각을 수신한 후(S627) 다시 S605 단계로 피드백하여 해당 조각을 모두 수신할 때까지 이후 단계를 반복 수행한다.If it is not necessary to receive the entire fragment bundle in step S611, only a necessary fragment is requested (S625). After receiving the fragment (S627), the flow returns to step S605 to receive all the fragments Repeat the steps.

또한, 각 피어는 자신이 받은 조각 및 조각 묶음들을 다른 피어에게 제공하기 위하여 내부적으로 수신된 데이터의 개수가 일정 수량이상 넘어갈 경우 오래된 데이터들에 대해 우선적으로 조각묶음을 생성한다. 즉, 오래된 조각들 순으로 묶음을 생성하고 최신 데이터는 조각의 형태를 그대로 유지한다. 또한, 조각묶음에 포함되어 있는 조각에 대해 다른 피어가 직접 요청할 경우에도 정상적으로 해당 요청을 처리할 수 있어야 한다.In addition, each peer creates a fragment bundle preferentially for old data when the number of internally received data exceeds a certain number in order to provide pieces and pieces of fragments received to other peers. That is, it creates a bundle in the order of old pieces, and the latest data retains the shape of the piece. In addition, even if another peer directly requests a fragment included in the fragment bundle, it should be able to handle the request normally.

이상 설명한 바와 같이, 본 발명에서는 빠른 배포가 필요한 실시간성 파일조각 전송 구간과 빠른 배포가 필요하지 않은 파일조각 전송 구간을 나누어 파일 조각을 배포하기 때문에 단말의 자원과 네트워크 자원을 효율적으로 분배하여 동작하도록 함으로써 보다 안정적인 수준의 서비스를 제공할 수 있다. 또한, 조각의 크기를 서비스가 진행중인 상태에서도 조절할 수 있기 때문에 네트워크의 환경과 피어간 네트워크 특성을 반영하여 동작할 수 있다.As described above, according to the present invention, since a file fragment is distributed by dividing a real-time file fragment transmission interval requiring fast distribution and a file fragment transmission interval not requiring fast distribution, efficient allocation and resource allocation of terminal resources and network resources Thereby providing a more stable level of service. Also, since the size of the fragment can be adjusted even when the service is in progress, it is possible to operate reflecting the characteristics of the network environment and the peer network.

또한, 컨텐츠를 생성하는 컨텐츠 제공자의 입장에서도 별도의 조각 크기를 정하는 등의 작업 없이 P2P 엔진(또는 P2P 에이전트, P2P 네트워크)에 데이터 스트리밍만 전달하면 자동적으로 내부에서 조각화(Fragmentation) 및 조각묶음등의 작업이 진행되므로 사용자의 편의성을 보다 향상시킬 수 있다.Also, from the viewpoint of content providers who generate contents, if data streaming is delivered only to a P2P engine (or a P2P agent or a P2P network) without specifying a separate fragment size or the like, As the work progresses, the convenience of the user can be further improved.

여기까지 설명된 본 발명에 따른 방법은 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 본 발명에 따른 방법은 저장 매체(예를 들어, 이동 단말기 내부 메모리, 플래쉬 메모리, 하드 디스크, 기타 등등)에 저장될 수 있고, 프로세서(예를 들어, 이동 단말기 내부 마이크로 프로세서)에 의해서 실행될 수 있는 소프트웨어 프로그램 내에 코드들 또는 명령어들로 구현될 수 있다.The method according to the present invention described so far can be implemented in software, hardware, or a combination thereof. For example, a method in accordance with the present invention may be stored in a storage medium (e.g., mobile terminal internal memory, flash memory, hard disk, etc.) ≪ / RTI > in a software program that can be executed by a computer.

이상, 본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the scope of the present invention . Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

Claims (10)

네트워크를 통해서 다수의 피어들과 스트리밍 데이터를 송수신하는 데이터 스트리밍 서비스 제공 장치에 있어서,
오버레이 네트워크 내에 참여한 각 피어간의 통신을 통해 상호 버퍼맵 정보를 교환하는 통신부;
각 피어가 보유하고 있는 파일조각 묶음 및 파일조각 들에 대한 정보를 토대로 버퍼맵을 생성하고 상기 통신부를 통해서 수신된 각 피어의 버퍼맵 정보와 비교하여 자신이 보유하지 않은 파일 조각 정보를 도출하는 버퍼맵계산부;
상기 버퍼맵 계산부를 통해서 도출된 파일 조각 정보를 참조하여 해당 피어에게 파일 조각묶음 또는 파일 조각 데이터를 수신하는 데이터 전송부; 및
데이터를 수신하는 동안 각 피어간 전송속도를 확인하는 피어간 전송속도 확인부
를 포함하는 데이터 스트리밍 서비스 제공 장치.
1. A data streaming service providing apparatus for transmitting and receiving streaming data to and from a plurality of peers through a network,
A communication unit for exchanging mutual buffer map information through communication between the participating peers in the overlay network;
A buffer for generating a buffer map on the basis of information on file fragments and file fragments held by each of the peers and comparing the information with buffer map information of each of the peers received through the communication unit to derive file fragment information A map calculation unit;
A data transfer unit for receiving a file fragment group or file fragment data to the corresponding peer by referring to the file fragment information derived through the buffer map calculation unit; And
A peer-to-peer transmission rate confirmation unit for confirming a transmission rate between each of the peers while receiving the data,
The data streaming service providing apparatus comprising:
청구항 1에 있어서,
상기 데이터 전송부는,
상기 피어간 전송속도 확인부를 통해 확인된 현재 파일 조각묶음을 수신하는 피어와의 데이터 전달 속도가 느리다고 판단되는 경우, 해당 피어로부터 수신하는 파일 조각묶음을 해체하고 파일 조각 단위로 데이터를 수신하는 것을 특징으로 하는 데이터 스트리밍 서비스 제공 장치.
The method according to claim 1,
Wherein the data transfer unit comprises:
When it is determined that the data transfer rate with the peer that receives the current file fragment set confirmed through the inter-peer transmission rate confirmation unit is slow, the file fragment set received from the corresponding peer is disassembled and the data is received in units of file fragments To the data streaming service providing apparatus.
청구항 1에 있어서,
상기 데이터 전송부는,
상기 피어간 전송속도 확인부를 통해서 현재 파일 조각묶음을 수신하는 피어와의 데이터 전달 속도가 느리다고 판단되는 경우, 해당 피어와의 연결을 종료하고 다른 피어로부터 파일 조각묶음 또는 파일 조각 데이터를 수신하는 것을 특징으로 하는 데이터 스트리밍 서비스 제공 장치.
The method according to claim 1,
Wherein the data transfer unit comprises:
When it is determined that the data transfer rate with the peer receiving the current file fragment bundle is slow through the inter-peer transmission rate confirmation unit, the connection with the corresponding peer is terminated and the file fragment bundle or file fragment data is received from another peer To the data streaming service providing apparatus.
청구항 1에 있어서,
상기 버퍼맵 정보는,
시작 조각 인덱스(Start Fragment Index), 파일 조각묶음 정보(Fragment Bundle Information), 버퍼맵 길이(buffermap length) 및 버퍼맵 중 적어도 하나를 포함하고,
상기 버퍼맵은,
파일 조각묶음 및 파일 조각묶음에 포함되지 않은 파일 조각들에 대한 보유 여부를 나타내는 비트 정보인 것을 특징으로 하는 데이터 스트리밍 서비스 제공 장치.
The method according to claim 1,
The buffer map information includes:
A start fragment index, a fragment fragment information, a buffer map length, and a buffer map,
The buffer map includes:
Wherein the bit stream information is bit information indicative of whether or not to hold file fragments and file fragments not included in the file fragment bundle.
청구항 1에 있어서,
오버레이 네트워크 내에 참여한 피어들의 목록을 유지하고 있는 트래커 서버(tracker server)와 통신하여 피어 목록을 수령하는 트래커 서버 통신부; 및
상기 트래커 서버 통신부를 통해서 수신된 피어 목록을 관리하여 각 피어들 간의 연결, 각 피어들의 우선순위 및 각 피어들의 버퍼맵 정보를 관리하는 피어목록관리부를 더 포함하는 것을 특징으로 하는 데이터 스트리밍 서비스 제공 장치.
The method according to claim 1,
A tracker server communication unit communicating with a tracker server that maintains a list of participating peers in the overlay network to receive a list of peers; And
Further comprising a peer list management unit managing the peer list received through the tracker server communication unit and managing connection between each of the peers, priority of each peer, and buffer map information of each of the peers. .
네트워크를 통해서 다수의 피어들과 스트리밍 데이터를 송수신하는 데이터 스트리밍 서비스 장치에서의 데이터 스트리밍 서비스 제공 방법에 있어서,
오버레이 네트워크 내에 참여한 피어들로부터 버퍼맵 정보를 수신하는 단계;
상기 버퍼맵 정보를 참조하여 자신이 보유하고 있는 파일 조각과 보유하고 있지 않은 파일 조각 정보를 파악하는 단계;
자신이 보유하고 있지 않은 파일 조각을 보유한 피어에게 파일 조각묶음 또는 파일 조각 데이터의 전송을 요청하는 단계;
해당 피어로부터 파일 조각묶음 또는 파일 조각 데이터를 수신하는 단계; 및
데이터를 수신하는 동안 각 피어간 데이터의 전송속도를 확인하는 단계
를 포함하는 것을 특징으로 하는 데이터 스트리밍 서비스 제공 방법.
A method for providing a data streaming service in a data streaming service apparatus that transmits and receives streaming data to and from a plurality of peers through a network,
Receiving buffer map information from participating peers in an overlay network;
Recognizing a file fragment held by itself and file fragment information not held by referring to the buffer map information;
Requesting a peer having a file fragment that it does not hold to transfer a file fragment bundle or file fragment data;
Receiving a file fragment set or file fragment data from the corresponding peer; And
Checking the transmission rate of data between each of the peers while receiving the data;
The method of claim 1,
청구항 6에 있어서,
상기 요청하는 단계는,
파일 조각묶음을 가지고 있지 않는 경우 해당 파일 조각묶음 전체를 해당 피어에게 요청하고, 해당 파일 조각묶음의 일부를 가지고 있는 경우에는 보유하고 있지 않은 파일 조각을 요청하는 것을 특징으로 하는 데이터 스트리밍 서비스 제공 방법.
The method of claim 6,
Wherein the requesting step comprises:
Requesting the entire file fragment bundle to the corresponding peer if the file fragment bundle does not exist, and requesting a file fragment that is not held if the file fragment bundle has a part of the file fragment bundle.
청구항 6에 있어서,
상기 각 피어간 데이터의 전송속도 확인단계의 확인 결과, 해당 피어와의 데이터 전달 속도가 느리다고 판단되는 경우, 해당 피어로부터 수신하는 파일 조각묶음을 해체하고 파일 조각 단위로 데이터를 수신하는 단계를 더 포함하는 것을 특징으로 하는 데이터 스트리밍 서비스 제공 방법.
The method of claim 6,
If it is determined that the data transfer rate with the corresponding peer is slow as a result of checking the transmission rate of each inter-peer data, disassembling the file fragment bundle received from the corresponding peer and receiving data in units of file fragments The data streaming service providing method comprising:
청구항 6에 있어서,
상기 각 피어간 데이터의 전송속도 확인단계의 확인 결과, 해당 피어와의 데이터 전달 속도가 느리다고 판단되는 경우, 해당 피어와의 연결을 종료하고 다른 피어로부터 파일 조각묶음 또는 파일 조각 데이터를 수신하는 단계를 더 포함하는 것을 특징으로 하는 데이터 스트리밍 서비스 제공 방법.
The method of claim 6,
If it is determined that the data transmission rate with the corresponding peer is slow as a result of checking the transmission rate of each inter-peer data, terminating the connection with the corresponding peer and receiving the file fragment data or the fragment data from another peer The method of claim 1, further comprising:
청구항 6에 있어서,
상기 버퍼맵 정보를 수신하는 단계 이전에,
오버레이 네트워크 내에 참여한 피어들의 목록을 트래커 서버(tracker server)로부터 수신하는 단계;
상기 수신된 피어들의 목록을 참조하여 적어도 하나의 피어와 TCP 연결(connection)을 생성하는 단계; 및
파일 조각의 시작점에 대한 인덱스 정보를 TCP 연결된 피어로 송신하는 단계를 더 포함하는 것을 특징으로 하는 데이터 스트리밍 서비스 제공 방법.
The method of claim 6,
Prior to the step of receiving the buffer map information,
Receiving a list of participating peers in the overlay network from a tracker server;
Generating a TCP connection with at least one peer by referring to the list of received peers; And
And transmitting index information about a starting point of the file fragment to a TCP-connected peer.
KR1020100117709A 2010-11-24 2010-11-24 Method and apparatus of providing data streaming service KR101682651B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100117709A KR101682651B1 (en) 2010-11-24 2010-11-24 Method and apparatus of providing data streaming service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100117709A KR101682651B1 (en) 2010-11-24 2010-11-24 Method and apparatus of providing data streaming service

Publications (2)

Publication Number Publication Date
KR20120056139A KR20120056139A (en) 2012-06-01
KR101682651B1 true KR101682651B1 (en) 2016-12-05

Family

ID=46608378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100117709A KR101682651B1 (en) 2010-11-24 2010-11-24 Method and apparatus of providing data streaming service

Country Status (1)

Country Link
KR (1) KR101682651B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102233473B1 (en) * 2015-01-06 2021-03-29 한국전자통신연구원 Method of acquiring contents exchange information among peers in P2P networks
KR102190235B1 (en) * 2017-06-19 2020-12-11 한국전자통신연구원 Peer and operating mehtod of thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100062865A (en) * 2008-12-01 2010-06-10 한국전자통신연구원 System for redistribution of contents based on peer-to-peer networks, contents management terminal and contents distribution method the same

Also Published As

Publication number Publication date
KR20120056139A (en) 2012-06-01

Similar Documents

Publication Publication Date Title
US8090790B2 (en) Method and system for splicing remote direct memory access (RDMA) transactions in an RDMA-aware system
US8719889B2 (en) Live time-shift system based on P2P technology and method thereof
US7379967B2 (en) Download method for file by bit torrent protocol
EP2618539B1 (en) Method, system, and proxy node for P2P streaming media data distribution
US20090172157A1 (en) Method and Device for Content Transmission on P2P Network
US20130219441A1 (en) Method, server and terminal for audio and video on demand
US8250171B2 (en) Content delivery apparatus, content delivery method, and content delivery program
US20060069778A1 (en) Content distribution system
JP2006074781A (en) System and method for erasure coding of streaming media
KR20130088774A (en) System and method for delivering segmented content
CN103597471A (en) Methods and systems for caching data communications over computer networks
WO2009021374A1 (en) An integrating video service peer to peer networks system
CN103581230A (en) File transmission system and method, receiving end and sending end
WO2012142844A1 (en) P2p-based file distribution system and slicing method
CN101588287B (en) Method, device and system for scheduling and downloading peer-to-peer network data
CN110430274A (en) A kind of document down loading method and system based on cloud storage
CN102137163A (en) Multimedia file sharing system and method
WO2016095149A1 (en) Data compression and storage method and device, and distributed file system
JP2004531824A (en) File transmission method in network environment
US20100191756A1 (en) Content delivery apparatus, content delivery method, and content delivery program
CN103685332B (en) File uploading method, client, server and system
KR20100060715A (en) System and method for multimedia streaming of distributed contents using optimal way of acquiring segments
KR100823730B1 (en) Method and apparatus for providing streaming service based on P2P, and streaming service system using the same
CN102209019A (en) Load balancing method and load balancing equipment based on message payload
EP2252057A1 (en) Method and system for storing and distributing electronic content

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
FPAY Annual fee payment

Payment date: 20191028

Year of fee payment: 4