KR101590099B1 - Apparatus and method for selecting neighbor peers - Google Patents
Apparatus and method for selecting neighbor peers Download PDFInfo
- Publication number
- KR101590099B1 KR101590099B1 KR1020150012931A KR20150012931A KR101590099B1 KR 101590099 B1 KR101590099 B1 KR 101590099B1 KR 1020150012931 A KR1020150012931 A KR 1020150012931A KR 20150012931 A KR20150012931 A KR 20150012931A KR 101590099 B1 KR101590099 B1 KR 101590099B1
- Authority
- KR
- South Korea
- Prior art keywords
- peers
- peer
- neighboring
- candidate
- selecting
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H04L65/4069—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
본 발명은 이웃피어 선정 장치 및 방법에 관한 것으로, 보다 상세하게는 P2P 라이브 스트리밍(peer to peer live streaming) 시스템에서 재생 시점 이동을 요청한 피어에 대한 이웃 피어(neighbor peer)를 선정하기 위한 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for selecting a neighboring peer, and more particularly, to an apparatus and method for selecting a neighboring peer for a peer requesting movement of a playback point in a peer to peer live streaming system .
최근 네트워크의 발전과 방송 컨텐츠의 디지털화에 따라 통신서비스와 방송서비스를 융합한 IPTV(internet protocol television) 서비스가 활발히 제공되고 있다. 기존에는 비디오 스트리밍 서비스를 인터넷에서 제공하기 위해서 CDN(Content Distribution Network) 기반의 서버-클라이언트 구조를 사용하였다. 하지만 사용자가 급증함에 따라 확장성이 높고 저비용으로 인프라를 구성할 수 있는 P2P 방식의 스트리밍 기술에 대한 연구가 활발하게 진행되고 있다.2. Description of the Related Art [0002] With the recent development of networks and digitalization of broadcasting contents, IPTV (internet protocol television) services that combine communication services and broadcasting services are actively being provided. In the past, a server-client structure based on CDN (Content Distribution Network) was used to provide video streaming service on the Internet. However, research on P2P streaming technology that can configure the infrastructure with high scalability and low cost as the number of users has surged has been actively researched.
P2P 스트리밍 기술로서, 효율적인 VCR(video cassette recorder) 기능을 지원하기 위해 VMesh, BulletMedia, PONDER 등이 제안되었다. 이 기법들은 P2P VOD(video on demand) 스트리밍 시스템을 위해 개발되었다. 이러한 VOD 시스템에서는 피어들이 해당 비디오 파일 전체를 이미 저장하고 있기 때문에 재생에 필요한 데이터를 미리 요청만 하면 원하는 양의 데이터를 쉽게 확보할 수 있다. 정상 속도 재생뿐만 아니라 빨리 감기, 되감기 등의 VCR 기능이 수행되어 재생 속도가 변경되더라도 필요한 데이터를 미리 예측할 수 있기 때문에 버퍼링을 쉽고 효과적으로 수행할 수 있다.As a P2P streaming technology, VMesh, BulletMedia, and PONDER have been proposed to support an efficient video cassette recorder (VCR) function. These techniques were developed for P2P video on demand (VOD) streaming systems. In this VOD system, because the peers have already stored the entire video file, the user can easily obtain the desired amount of data by simply requesting the data required for the playback. The VCR function such as fast forwarding and rewinding is performed in addition to the normal speed reproduction, so that even if the reproduction speed is changed, necessary data can be predicted in advance, so buffering can be performed easily and effectively.
반면, 라이브 방송 데이터를 전송하는 P2P 라이브 스트리밍 시스템은 실시간 방송을 시청하는 것을 목적으로 하기 때문에 라이브 방송 시점 전후의 원활한 재생을 위한 최소한의 데이터만을 메인 메모리에 버퍼링한다. 현재까지 P2P 라이브 스트리밍 구조에서는 주로 초기 재생 지연 시간을 줄이거나 재생 연속성을 증가시키기 위해 효과적인 오버레이 구조를 개발하는데 집중되어 왔고, VCR 기능을 지원하는 것에 관한 연구는 현재까지 거의 진행되지 않았다.On the other hand, the P2P live streaming system for transmitting live broadcast data aims to view live broadcasts, so that only a minimum amount of data for smooth reproduction before and after the live broadcast time is buffered in the main memory. Up to now, P2P live streaming has been mainly focused on developing an effective overlay structure to reduce initial playback delay time or increase playback continuity, and studies on supporting VCR function have not been conducted until now.
P2P 스트리밍 방식은 크게 트리(tree) 기반과 메시(mesh) 기반으로 발전되어 왔다. 트리 기반 구조에서는 일단 트리가 생성되면 전송 지연 시간이 짧지만 각 피어가 가입하거나 탈퇴할 때마다 트리를 새롭게 구성해야 하는 문제점이 존재한다. 특히 루트(root)에 가까운 피어가 이탈하는 경우 트리를 재구성하는 시간이 상당히 길어지게 된다. 이러한 트리 기반 구조의 문제점으로 인해 최근에는 메시 기반 구조에 대한 연구가 활발하다. 이 구조는 각 피어가 자신이 저장하고 있는 데이터를 버퍼맵(buffer map)을 통해 다른 피어와 서로 공유함으로서 필요한 데이터를 확보한다.P2P streaming has been largely tree based and mesh based. In the tree-based structure, once the tree is generated, the transmission delay time is short, but there is a problem that a tree needs to be newly formed every time each peer joins or leaves. In particular, when a peer close to the root leaves, the reconstruction time of the tree becomes considerably long. Due to the problems of the tree-based structure, researches on the mesh-based structure have been actively conducted recently. This structure ensures that each peer shares necessary data by sharing its stored data with other peers through a buffer map.
메시 구조는 트리 기반 구조에 비해 피어들의 접속 및 이탈로 인한 지연 시간이 적고, 피어 수가 늘어날수록 성능이 향상되는 장점이 있다. 하지만, 다른 피어들이 저장하고 있는 데이터를 풀(pull) 방식으로 전송받기 때문에 소스 서버와의 재생 시간차(playback lag time)가 증가하는 단점이 있다. 즉, 많은 피어들이 라이브 시점에서 재생하고 있다고 하더라도 채널을 전환한 시점에 따라 소스 서버와 비교해서 실제 재생하고 있는 시점들은 피어 간에 상당한 차이가 있게 된다.The mesh structure is advantageous in that the delay time due to connection and disconnection of the peers is smaller than that of the tree-based structure, and the performance is improved as the number of peers increases. However, there is a disadvantage in that the playback lag time with the source server increases because the data stored in other peers is transmitted in a pull manner. In other words, even if many peers are playing at the live view point, there is a considerable difference between peers when the channel is switched according to the time point when the channel is switched, compared with the source server.
한편, P2P 라이브 스트리밍 시스템에서 효율적인 이웃 피어 선정 기법에 대한 연구도 진행되어 왔다. 주로 피어들의 지역성을 이용하여 가까운 피어들을 이웃 피어로 선정하여 네트워크 지연 시간을 줄이는 기법들이 제안되었다. 메시 구조에서 모든 비디오는 청크 단위로 분할되어 피어 간에 전송된다. 데이터 전송을 위해, 각 피어는 해당 비디오의 각 청크에 대해 자신이 그 청크를 저장하고 있는지를 나타내는 버퍼맵(buffermap)을 주기적으로 이웃 피어들에게 전송한다. 버퍼맵을 전송받은 이웃 피어는 자신에게 필요한 데이터를 확인하여 상대 피어가 그 데이터를 가지고 있다면 전송을 요청한다. 이때 P2P 스트리밍을 위해 사용되는 각 피어의 업로드 용량에 제한이 있기 때문에 각 피어가 연결할 수 있는 최대 이웃 피어 수는 미리 결정되어 있다.On the other hand, efficient neighboring peer selection techniques have been studied in P2P live streaming systems. Techniques have been proposed to reduce network latency by selecting nearby peers as neighbors using mainly the locality of peers. In the mesh structure, all video is divided into chunks and transmitted between peers. For data transfer, each peer periodically sends a buffer map to neighboring peers for each chunk of the video to indicate whether it is storing the chunk. After receiving the buffer map, the neighboring peer checks the data needed by the neighboring peer and requests transmission if the peer has the data. At this time, since the uploading capacity of each peer used for P2P streaming is limited, the maximum number of neighboring peers to which each peer can connect is predetermined.
종래의 기법들에서는 최대 연결 가능한 이웃 피어 수가 이미 최대가 된 피어들은 이웃 피어 선정 시 제외된다. 즉, 기존 연구들은 라이브 스트리밍 기능에 대한 성능을 향상시키기 위해 현재 연결 가능한 피어들 중에서 최적의 이웃 피어를 선정하는데 집중하였고, VCR 기능을 지원할 때 원하는 시점으로 보다 정확히 이동하기 위한 이웃 피어 선정 방법은 고려하지 않았다. 특히 라이브 시점과 같이, 재생하고 있는 피어 수가 많은 라이브 구간에서 소스 서버의 재생 시점과 가장 가까운 시점에서 재생하고 있는 피어들은 이미 최대 연결 가능 수만큼 이웃 피어들과 연결되어 있을 가능성이 높기 때문에, 이 시점으로 새로 이동하려고 하는 대부분의 피어들은 원하는 라이브 재생 시점과 멀리 떨어진 시점으로 이동해야 할 수밖에 없으며, 새로 접속한 대부분의 피어는 가장 최근에 접속한 피어들을 이웃피어로 선정할 수밖에 없다.In conventional techniques, peers with the maximum number of neighborable neighboring peers already being excluded are excluded when neighboring peers are selected. In other words, previous researches focused on selecting the optimal neighboring peer among the currently connectable peers to improve the performance of the live streaming function, and considering neighboring peer selection method to move more precisely to a desired point when supporting the VCR function Did not do it. In particular, since the peers playing at the closest point to the playback time of the source server in the live section having a large number of playing peers are likely to be connected to the neighboring peers as many times as the maximum number of connectable peers, , Most peers attempting to move to a new location will have to move to a point far away from the desired live playback point and most newly connected peers will have to select the most recently accessed peers as neighboring peers.
도 1 및 도 2는 기존의 이웃피어 선정 방식을 설명하기 위한 도면이다. 도 1 및 도 2에서 피어는 원 모양으로 표시되어 있으며, 원모양 안에 피어의 번호가 표시되어 있다. 도 1에서 피어 19는 현재 재생 시점에서 서버(S)의 재생 시점과 가장 가까운 라이브 시점으로 이동하려는 피어이다. 각 피어의 최대 연결 가능 이웃 피어 수는 4인 것으로 가정한다. 라이브 재생 시점에는 많은 피어들이 집중되어 있어서 피어 16, 17, 18을 제외한 모든 피어가 최대 연결 가능 수만큼 다른 피어들과 이미 연결되어 있다. 따라서, 피어 19는 도 2와 같이 연결이 가능한 이웃 피어 수가 남아 있는 피어 16, 17, 18을 이웃 피어로 선정할 수밖에 없다.1 and 2 are views for explaining a conventional neighboring peer selection method. In Fig. 1 and Fig. 2, the peers are displayed in a circular shape, and the numbers of the peers are displayed in a circular shape. In FIG. 1, the
피어 16, 17, 18은 라이브 구간에서 서버와의 재생 시간 차이가 가장 큰 피어들이기 때문에 피어 19는 원하는 이동 시점과 가장 차이가 많이 나는 시점으로 이동하게 된다. 피어들이 라이브 시점을 재생하고 있다고 생각하고 있지만, 실제로는 서버와의 재생 시간차가 최대 50초이고(라이브 구간의 폭이 50초인 경우), 특정 피어가 서버와의 재생 시간차가 10초인 재생 시점에서 4배 속도로 되감기하여 40초 구간을 이동한 다음(되감기 시간은 10초 소요), 다시 라이브 재생 시점으로 이동하려고 하는 경우에 있어, 해당 피어와 연결 가능한 이웃 피어 수가 남아 있는 피어들을 찾다가 서버와의 재생 시간차가 약 30초가 되는 시점으로 이동했을 경우, 그 피어는 자신이 이전에 시청했던 구간보다 오히려 더 오래된 재생 시점으로 이동하게 되는 것이다. 따라서, 라이브 시점으로 돌아왔지만 이전에 라이브 시점에서 시청했던 장면을 약 10초 후에 다시 보게 되는 심각한 문제가 발생하게 된다.Since
본 발명은 타임시프트(time-shift) 기능을 지원하는 P2P 라이브 스트리밍(peer to peer live streaming) 시스템에서 피어가 원하는 재생 시점으로 이동할 수 있도록 하는 이웃피어 선정 장치 및 방법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a neighboring peer selecting apparatus and method for allowing a peer to move to a desired playback point in a peer to peer live streaming system supporting a time-shift function.
본 발명이 해결하고자 하는 다른 과제는 P2P 라이브 스트리밍 시스템에서 재생 시점 이동의 정확성이 높고, 재생 시점 이동시의 재생 지연 시간을 줄일 수 있는 이웃피어 선정 장치 및 방법을 제공하는 것에 있다.Another object of the present invention is to provide an apparatus and method for selecting neighboring peers capable of reducing the playback delay time at the time of moving the playback point, while achieving high accuracy in moving the playback point in the P2P live streaming system.
본 발명이 해결하고자 하는 과제는 이상에서 언급된 과제로 제한되지 않는다. 언급되지 않은 다른 기술적 과제들은 이하의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problems. Other technical subjects not mentioned will be apparent to those skilled in the art from the description below.
본 발명의 일 측면에 따른 이웃피어 선정 장치는 P2P 스트리밍 시스템에서 재생 시점 이동을 요청한 제1 피어의 이웃 피어를 선정하기 위한 장치로서, 상기 제1 피어가 이동을 요청한 재생 시점과 상대적으로 가까운 시점에서 재생 중인 모든 후보 피어들이 미리 결정된 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는 경우, 상기 후보 피어들 중에서 소정의 연결 교체 조건을 만족하는 제2 피어들을 상기 이웃 피어로 선정하는 이웃피어 선정부를 포함한다.A neighboring peer selecting apparatus according to an aspect of the present invention is an apparatus for selecting a neighboring peer of a first peer requesting movement of a playback point in a P2P streaming system, And a neighboring peer selecting unit that selects, as the neighboring peers, second peers satisfying a predetermined connection replacement condition among the candidate peers when all the candidate peers being reproduced are connected to other peers as many as the predetermined maximum neighboring peers .
본 발명의 일 실시 예에서, 상기 이웃피어 선정부는 상기 후보 피어들 중에서 상호 간에 연결되어 있는 동시에, 각각의 버퍼링 양이 미리 설정된 임계값 이상인 제2 피어를 상기 이웃 피어로 선정할 수 있다.In an embodiment of the present invention, the neighboring peer selecting unit may select a second peer that is connected to each other among the candidate peers and whose buffering amount is equal to or greater than a predetermined threshold value as the neighboring peer.
본 발명의 일 실시 예에서, 상기 이웃피어 선정부는, 현재 P2P 시스템에 접속 중인 피어들의 재생 시점 정보를 수집 및 관리하는 재생정보 관리부; 상기 피어들 중에서 상기 제1 피어가 이동을 요청한 재생 시점과 상대적으로 가까운 시점에서 재생 중인 후보 피어들을 선정하는 후보피어 선정부; 상기 후보 피어들 중에서 다른 피어와 상기 최대 이웃 피어 수 미만으로 연결된 후보 피어가 존재하는지를 판단하는 판단부; 모든 후보 피어들이 상기 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는 경우, 상기 후보 피어들과 상기 후보 피어들에 연결된 다른 후보 피어들의 버퍼링 양을 임계값과 비교하고, 상기 후보 피어들 중에서 버퍼링 양이 상기 임계값 이상인 후보 피어를 상기 이웃 피어로 선정하는 이웃피어 결정부를 포함할 수 있다.In one embodiment of the present invention, the neighboring peer selecting unit includes: a playback information managing unit for collecting and managing playback time information of peers currently connected to the P2P system; A candidate peer selecting unit that selects, from among the peers, the candidate peers being reproduced at a time point at which the first peer is relatively close to a reproduction time point at which the first peer requests movement; A determination unit for determining whether there is a candidate peer connected to another peer among the candidate peers less than the maximum neighboring peer number; Comparing the amount of buffering of the candidate peers with other candidate peers connected to the candidate peers to a threshold value when all candidate peers are connected to other peers by the maximum number of neighboring peers, And a neighboring peer determining unit that selects a candidate peer having the threshold value or more as the neighboring peer.
본 발명의 일 실시 예에서, 상기 이웃피어 선정부는 상기 제2 피어들 간의 연결을 해제하고, 상기 제1 피어를 상기 제2 피어들과 연결할 수 있다.In an embodiment of the present invention, the neighboring peer selection unit may disconnect the connection between the second peers and connect the first peer with the second peers.
본 발명의 다른 일 측면에 따르면, P2P 스트리밍 시스템에서 재생 시점 이동을 요청한 제1 피어의 이웃 피어를 선정하기 위한 방법으로서, 상기 제1 피어가 이동을 요청한 재생 시점과 상대적으로 가까운 시점에서 재생 중인 모든 후보 피어들이 미리 결정된 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는지를 판단하는 단계; 및 모든 후보 피어들이 상기 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는 경우, 상기 후보 피어들 중에서 소정의 연결 교체 조건을 만족하는 제2 피어들을 상기 이웃 피어로 선정하는 단계를 포함하는 이웃피어 선정 방법이 제공된다.According to another aspect of the present invention, there is provided a method for selecting a neighboring peer of a first peer requesting movement of a playback point in a P2P streaming system, the method comprising: Determining if candidate peers are associated with another peer by a predetermined maximum number of neighboring peers; And selecting, as the neighboring peers, second peers satisfying a predetermined connection replacement condition among the candidate peers when all the candidate peers are connected to other peers as many as the maximum neighboring peers / RTI >
본 발명의 일 실시 예에서, 상기 제2 피어들을 선정하는 단계는 상기 후보 피어들 중에서 상호 간에 연결되어 있는 동시에, 각각의 버퍼링 양이 미리 설정된 임계값 이상인 제2 피어를 상기 이웃 피어로 선정할 수 있다.In one embodiment of the present invention, the step of selecting the second peers may select a second peer that is connected to each other among the candidate peers and whose buffering amount is equal to or greater than a preset threshold value as the neighboring peer have.
본 발명의 일 실시 예에서, 상기 모든 후보 피어들이 상기 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는지를 판단하는 단계는, 현재 P2P 시스템에 접속 중인 피어들의 재생 시점 정보를 수집 및 관리하는 단계; 상기 피어들 중에서 상기 제1 피어가 이동을 요청한 재생 시점과 상대적으로 가까운 시점에서 재생 중인 후보 피어들을 선정하는 단계; 및 상기 후보 피어들 중에서 다른 피어와 상기 최대 이웃 피어 수 미만으로 연결된 후보 피어가 존재하는지를 판단하는 단계를 포함하고, 상기 제2 피어들을 선정하는 단계는, 모든 후보 피어들이 상기 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는 경우, 상기 후보 피어들과 상기 후보 피어들에 연결된 다른 후보 피어들의 버퍼링 양을 임계값과 비교하는 단계; 및 상기 후보 피어들 중에서 버퍼링 양이 상기 임계값 이상인 제2 피어를 상기 이웃 피어로 선정하는 단계를 포함할 수 있다.In one embodiment of the present invention, the step of determining whether all of the candidate peers are connected to another peer by the maximum number of neighboring peers comprises: collecting and managing the playback time information of the peers currently connected to the P2P system; Selecting candidate peers to be reproduced at a time point at which the first peer is relatively close to a reproduction time point at which the first peer requests movement; And determining whether there is a candidate peer that is connected to another of the candidate peers less than the maximum number of neighboring peers with another peer, wherein the step of selecting the second peers comprises: selecting all of the candidate peers as different from the maximum neighboring peers Comparing the amount of buffering of the candidate peers and other candidate peers connected to the candidate peers to a threshold value if the candidate peers are connected to the peer; And selecting a second peer whose buffering amount is equal to or greater than the threshold value among the candidate peers as the neighboring peer.
본 발명의 일 실시 예에서, 상기 이웃피어 선정 방법은 상기 제2 피어들 간의 연결을 해제하는 단계; 및 상기 제1 피어를 상기 제2 피어들과 연결하는 단계를 더 포함할 수 있다.In one embodiment of the present invention, the neighboring peer selection method includes: releasing a connection between the second peers; And coupling the first peer with the second peer.
본 발명의 또 다른 일 측면에 따르면, 상기 이웃피어 선정 방법을 실행하기 위한 프로그램을 기록한 기록 매체가 제공된다.According to another aspect of the present invention, there is provided a recording medium on which a program for executing the neighboring peer selection method is recorded.
본 발명의 실시 예에 의하면, 본 발명은 타임시프트(time-shift) 기능을 지원하는 P2P 라이브 스트리밍(peer to peer live streaming) 시스템에서, 피어가 원하는 재생 시점에서 재생 중인 피어들이 이미 최대 연결 가능 수만큼 이웃 피어들과 연결되어 있더라도, 피어가 원하는 재생 시점으로 이동할 수 있도록 하는 이웃피어 선정 장치 및 방법이 제공된다.According to an embodiment of the present invention, in a peer to peer live streaming system supporting a time-shift function, peers that are playing at a desired playback point of the peer are already able to connect to the maximum connectable number There is provided a neighboring peer selecting apparatus and method for allowing a peer to move to a desired reproduction point even if the neighboring peer is connected to the neighboring peer.
또한, 본 발명의 실시 예에 의하면, P2P 라이브 스트리밍 시스템에서 피어의 재생 시점 이동시, 재생 시점 이동의 정확성을 높이고, 재생 지연 시간을 줄일 수 있다.In addition, according to the embodiment of the present invention, in the P2P live streaming system, when moving the playback point of the peer, the accuracy of moving the playback point can be improved and the playback delay time can be reduced.
본 발명의 효과는 상술한 효과들로 제한되지 않는다. 언급되지 않은 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects described above. Unless stated, the effects will be apparent to those skilled in the art from the description and the accompanying drawings.
도 1 및 도 2는 기존의 이웃피어 선정 방식을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 이웃피어 선정 장치의 구성도이다.
도 4는 본 발명의 일 실시 예에 따른 이웃피어 선정 방법의 흐름도이다.
도 5는 본 발명의 실시 예에 따른 이웃피어 선정 방법을 설명하기 위한 개념도이다.1 and 2 are views for explaining a conventional neighboring peer selection method.
3 is a block diagram of a neighboring peer selecting apparatus according to an embodiment of the present invention.
4 is a flowchart of a neighboring peer selection method according to an embodiment of the present invention.
5 is a conceptual diagram for explaining a neighboring peer selecting method according to an embodiment of the present invention.
본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술하는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되지 않으며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 갖는다. 공지된 구성에 대한 일반적인 설명은 본 발명의 요지를 흐리지 않기 위해 생략될 수 있다. 본 발명의 도면에서 동일하거나 상응하는 구성에 대하여는 가급적 동일한 도면부호가 사용된다. 본 발명의 이해를 돕기 위하여, 도면에서 일부 구성은 다소 과장되거나 축소되어 도시될 수 있다.Other advantages and features of the present invention and methods of achieving them will be apparent by referring to the embodiments described hereinafter in detail with reference to the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, and the present invention is only defined by the scope of the claims. Although not defined, all terms (including technical or scientific terms) used herein have the same meaning as commonly accepted by the generic art in the prior art to which this invention belongs. A general description of known configurations may be omitted so as not to obscure the gist of the present invention. In the drawings of the present invention, the same reference numerals are used as many as possible for the same or corresponding configurations. To facilitate understanding of the present invention, some configurations in the figures may be shown somewhat exaggerated or reduced.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다", "가지다" 또는 "구비하다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises", "having", or "having" are intended to specify the presence of stated features, integers, steps, operations, components, Steps, operations, elements, parts, or combinations thereof, whether or not explicitly described or implied by the accompanying claims.
본 명세서 전체에서 사용되는 '~부'는 적어도 하나의 기능이나 동작을 처리하는 단위로서, 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부'가 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.Used throughout this specification may refer to a hardware component such as, for example, software, FPGA or ASIC, as a unit for processing at least one function or operation. However, "to" is not meant to be limited to software or hardware. &Quot; to " may be configured to reside on an addressable storage medium and may be configured to play one or more processors.
일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함할 수 있다. 구성요소와 '~부'에서 제공하는 기능은 복수의 구성요소 및 '~부'들에 의해 분리되어 수행될 수도 있고, 다른 추가적인 구성요소와 통합될 수도 있다.As an example, the term '~' includes 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, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functions provided by the components and components may be performed separately from the plurality of components and components, or may be integrated with other additional components.
본 발명의 실시 예에 따른 이웃피어 선정 장치는 P2P 스트리밍 시스템에서 재생 시점 이동을 요청한 제1 피어의 이웃 피어를 선정하기 위하여 제공된다. 본 발명의 실시 예는 피어가 원하는 재생 시점에 있는 기존의 피어들 간의 연결을 해제하고, 재생 시점의 이동을 원하는 피어를 해제된 피어들과 연결함으로써, 피어가 원하는 재생 시점과 최대한 가까운 시점으로 피어의 재생 시점을 이동할 수 있도록 한다.The neighboring peer selection apparatus according to an embodiment of the present invention is provided to select a neighboring peer of a first peer requesting movement of a reproduction point in a P2P streaming system. The embodiment of the present invention disassociates existing peers at a desired playback point of the peer and associates the peer who wants to move the playback point with the released peers so that the peer can move to the nearest point So as to move the reproduction point of time.
P2P 라이브 스트리밍 시스템에서, 각 피어가 재생 시점 이동, 빨리감기, 되감기 등의 타임시프트 기능을 사용할 수 있도록, 트래커 서버(tracker server)는 주기적으로 현재 접속 중인 피어들의 재생 시점 정보를 수집하고, 각 피어의 재생 시점 정보를 관리한다. 각 피어가 타임시프트 기능을 사용하여 피어가 원하는 시점으로 이동하고자 할 때, 자신이 저장하고 있는 이동 시점에 가까운 시점에서 재생 중인 피어들 중에서 연결이 가능한 피어들이 이웃 피어로 선정된다. 이와 같이 피어들의 시점에 따른 검색을 신속하게 수행하기 위해 재생 시점별로 피어들의 리스트를 관리할 수 있는 스킵리스트(skip list) 구조가 사용될 수 있다.In a P2P live streaming system, a tracker server periodically collects playback time information of currently connected peers so that each of the peers can use a time shift function such as playback time shift, fast forward and rewind, And the like. When each peer tries to move to a desired time point using the time shift function, peers that are connectable among the playing peers at a time close to the moving time stored by the peer are selected as neighboring peers. A skip list structure capable of managing a list of peers at each reproduction time point can be used to quickly perform searching according to a time point of peers.
본 발명의 실시 예에 따른 이웃피어 선정 장치는 제1 피어가 이동을 요청한 재생 시점과 상대적으로 가까운 시점에서 재생 중인 모든 후보 피어들이 미리 결정된 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는 경우, 후보 피어들 중에서 소정의 연결 교체 조건을 만족하는 제2 피어들을 이웃 피어로 선정한다. 이웃피어 선정부는 상기 후보 피어들 중에서 상호 간에 연결되어 있는 동시에, 각각의 버퍼링 양이 미리 설정된 임계값 이상인 제2 피어들을 상기 제1 피어에 대한 이웃 피어로 선정할 수 있다.The neighboring peer selecting apparatus according to the embodiment of the present invention may be configured such that when all the candidate peers being reproduced at a time when the first peer is relatively close to the reproduction time point at which the first peer is requested to move are connected to other peers by the predetermined maximum number of neighboring peers, The second peer satisfying a predetermined connection switching condition is selected as a neighboring peer. The neighboring peer selecting unit may select the second peers whose neighboring peers are connected to each other among the candidate peers and whose buffering amount is equal to or greater than a preset threshold value as neighboring peers for the first peer.
이에 따라, 제1 피어의 재생 시점 이동 요청시에 제1 피어에 대한 이웃 피어를 선정할 때, 제1 피어가 원하는 재생 시점에서 재생 중인 모든 후보 피어들이 이미 최대 이웃 피어 수만큼 연결되어 있는 경우에도, 피어 연결 교체를 통하여 제1 피어에 대한 이웃 피어를 선정할 수 있다. 즉, 제1 피어가 원하는 재생 시점에 있는 기존의 후보 피어들 간의 연결을 해제하고 제1 피어를 해제된 피어들 간에 연결함으로써, 제1 피어가 원하는 재생 시점과 최대한 가까운 시점으로 제1 피어의 재생 시점을 이동할 수 있다.Accordingly, when a neighboring peer for a first peer is selected at the time of requesting movement of a reproduction point of a first peer, even if all the candidate peers currently playing at a desired reproduction point of the first peer are already connected by the maximum number of neighboring peers , A neighboring peer for the first peer can be selected through replacement of the peer connection. That is, by releasing the connection between the existing candidate peers at the desired playback point of the first peer and connecting the first peer to the released peers, the first peer can play back the first peer at a point nearest to the desired playback point You can move the viewpoint.
다시 말해, 상기 후보 피어들 중에서 교체 조건을 만족하는 피어를 선정하고, 선정된 피어와 연결된 이웃 피어 중의 적어도 하나의 피어를 추가로 선정한 다음, 이 두 피어(제2 피어들) 간의 연결을 해제한 후, 이동 연산을 수행한 피어(제1 피어와 제2 피어들을 연결시키는 방식으로 연결 교체가 수행될 수 있다.In other words, among the candidate peers, a peer satisfying a replacement condition is selected, and at least one of the neighboring peers connected to the selected peer is additionally selected, and the connection between the two peers (second peers) is released Then, a connection exchange may be performed in such a manner that the first peer and the second peer are connected to the peer that has performed the movement operation.
선정된 제2 피어들의 연결을 해제한 후 제2 피어와 다시 연결되는 시간 동안, 제2 피어들은 데이터를 전송받을 수 없게 된다. 이로 인해 연결 교체되는 제2 피어들이 재생 끊김을 경험할 수 있다. 따라서, 연결 교체의 대상이 되는 후보 피어들의 재생 연속성이 감소하는 것을 방지하기 위해, 충분한 데이터를 버퍼링하고 있는 후보 피어들(제2 피어들)을 교체 대상 피어로 우선적으로 선정하여 연결을 해제한다.The second peers will not be able to receive the data for a period of time that is reconnected to the second peer after disconnecting the selected second peers. As a result, the second peers that are connected and connected can experience the playback interruption. Therefore, in order to prevent the regeneration continuity of the candidate peers to be subjected to the connection change from decreasing, the candidate peers (second peers) buffering the sufficient data are preferentially selected as the replacement peers and the connection is released.
도 3은 본 발명의 일 실시 예에 따른 이웃피어 선정 장치(100)의 구성도이다. 도 3을 참조하면, 본 발명의 일 실시 예에 따른 이웃피어 선정 장치(100)는 이웃피어 선정부(120)를 포함한다. 일 실시 예로, 이웃피어 선정부(120)는 P2P 라이브 스트리밍 시스템을 구성하는 서버 단말, 예를 들어 트래커 서버 측에 제공될 수 있으나, 이에 제한되지는 않는다.3 is a block diagram of a neighboring
이웃피어 선정부(120)는 P2P 스트리밍 시스템에 접속 중인 제1 피어가 재생 시점의 이동을 요청시 제1 피어의 이웃 피어를 선정하는 기능을 수행한다. 이웃피어 선정부(120)는 제1 피어가 이동을 요청한 재생 시점과 상대적으로 가까운 시점에서 재생 중인 모든 후보 피어들이 미리 결정된 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는 경우, 후보 피어들 중에서 소정의 연결 교체 조건을 만족하는 제2 피어들을 이웃 피어로 선정한다.The neighboring
본 발명의 일 실시 예에서, 이웃피어 선정부(120)는 후보 피어들 중에서 상호 간에 연결되어 있는 동시에, 각각의 버퍼링 양이 미리 설정된 임계값 이상인 제2 피어를 제1 피어에 대한 이웃 피어로 선정할 수 있다. 본 발명의 일 실시 예에서, 이웃피어 선정부(120)는 제2 피어들 간의 연결을 해제하고, 제1 피어를 연결 해제된 제2 피어들과 연결할 수 있다.In an embodiment of the present invention, the neighboring
본 발명의 일 실시 예에서, 이웃피어 선정부(120)는 재생정보 관리부(122), 후보피어 선정부(124), 판단부(126) 및 이웃피어 결정부(128)를 포함할 수 있다. 재생정보 관리부(122)는 현재 P2P 시스템에 접속 중인 피어들의 재생 시점 정보를 수집 및 관리한다. 후보피어 선정부(124)는 피어들 중에서 제1 피어가 이동을 요청한 재생 시점과 상대적으로 가까운 시점에서 재생 중인 후보 피어들을 선정한다. 판단부(126)는 후보 피어들 중에서 다른 피어와 최대 이웃 피어 수 미만으로 연결된 후보 피어가 존재하는지를 판단한다. 이웃피어 결정부(128)는 모든 후보 피어들이 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는 경우, 후보 피어들과 후보 피어들에 연결된 다른 후보 피어들의 버퍼링 양을 임계값과 비교하고, 후보 피어들 중에서 버퍼링 양이 임계값 이상인 후보 피어를 이웃 피어로 선정한다.The neighboring
도 4는 본 발명의 일 실시 예에 따른 이웃피어 선정 방법의 흐름도이다. 도 3 및 도 4를 참조하면, 우선 재생정보 관리부(122)는 현재 P2P 시스템에 접속 중인 피어들의 재생 시점 정보를 수집 및 관리한다(S10). 피어들 중에서 제1 피어가 재생 시점의 이동을 요청시, 후보피어 선정부(124)는 제1 피어가 이동을 요청한 재생 시점과 상대적으로 가까운 시점에서 재생 중인 후보 피어들을 찾는다(S20).4 is a flowchart of a neighboring peer selection method according to an embodiment of the present invention. Referring to FIGS. 3 and 4, the playback
판단부(126)는 후보 피어들 중에서 다른 피어와 최대 이웃 피어 수 미만으로 연결된 후보 피어가 존재하는지를 판단한다(S30). 만약, 최대 이웃 피어 수보다 적은 개수의 피어와 연결되어 있는 후보 피어가 존재하는 경우, 해당 후보 피어에 제1 피어를 연결한다(S40). 이에 따라, 제1 피어는 후보 피어와 연결되어, 원하는 재생 시점으로 이동할 수 있다.The
만약, 단계 S30에서 모든 후보 피어들이 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는 경우, 이웃피어 결정부(128)는 후보 피어들과 후보 피어들에 연결된 다른 후보 피어들의 버퍼링 양을 임계값과 비교하고, 후보 피어들 중에서 버퍼링 양이 임계값 이상인 제2 피어들을 이웃 피어로 선정한다(S50,S60). 이웃 피어가 선정되면, 이웃피어 선정부(120)는 선정된 제2 피어들 간의 연결을 해제하고, 제1 피어를 제2 피어들과 연결시킨다(S70,S80). 아래의 표 1은 연결 교체를 통해 재생 시점 이동을 원하는 피어에 대한 이웃 피어를 선정하기 위한 알고리즘을 나타낸다.If all the candidate peers are connected to other peers by the maximum number of neighboring peers at step S30, the neighboring-
트래커 서버는 재생 시점을 기준으로 정렬된 리스트에서 해당 시점에 가장 가까운 지점에서 재생하고 있는 피어를 지정;
while(1)
{
if(지정된 피어의 현재 연결된 이웃 피어 수
< 최대 연결 가능 피어수)
{
이웃피어로 선정함;
}
else
{
if(지정된 피어의 버퍼링 양 > 임계값)
{
for(지정된 피어의 이웃 피어)
{
if(해당 이웃 피어의 버퍼링 양 > 임계값 &&
해당 피어의 각 이웃 피어들의 버퍼링 양 > 임계값)
지정된 피어와 해당 이웃 피어의 연결 해제
후 이동 요청 피어와 연결;
}
if(이동 요청 피어의 현재 연결된 이웃 피어 수
>= 최대 연결 가능 피어 수)
break;
재생 시점 기준으로 리스트에서 현재 지정된 피어
의 다음 순서의 피어를 지정;
}A specific peer sends a move operation request message at the tracker server;
The tracker server specifies the peer playing at the nearest point in the sorted list based on the playback point;
while (1)
{
if (number of currently connected neighbors of the specified peer
<Maximum number of connectable peers)
{
Selected as neighboring peers;
}
else
{
if (buffered amount of specified peer> threshold)
{
for (the neighboring peer of the specified peer)
{
if (Buffering amount of the neighboring peer> Threshold &&
Buffering amount of each neighboring peer of the peer> threshold value)
Disconnect the specified peer from its neighboring peer
Connect with peer after request to move;
}
if (number of currently connected neighbors of the mobile requesting peer
> = Maximum connectable peers)
break;
The peer currently specified in the list based on the playback time
Specifies the peer of the next sequence of;
}
일 실시 예로, 특정 피어가 이동 연산을 요청하면, 해당 시점에 가장 가까운 지점에서 재생하고 있는 피어들을 순서대로 검색하여 이웃 피어로 선정할 수 있다. 먼저, 재생 시점을 기준으로 원하는 시점에서 가장 가까운 순서로 후보 피어를 지정하고, 후보 피어에 현재 연결된 이웃 피어들의 수가 최대 연결 가능 피어 수보다 작다면 즉시 이웃 피어로 선정한다. 이 조건을 만족하지 못한다면 후보 피어들 중에서 재생 연속성이 감소되지 않으면서 연결 교체가 가능한 피어를 검사한다. 즉, 후보 피어의 버퍼링 양이 미리 정해진 임계값보다 많은지 검사한다. 만일 그렇다면, 후보 피어와 연결된 이웃 피어들 중에서 후보 피어와 쌍으로 함께 교체할 후보 피어를 찾는다.In one embodiment, when a particular peer requests a move operation, the neighboring peers can be searched in order to search for the peers playing at the closest point. First, a candidate peer is designated in the order closest to the desired point of view based on the reproduction time point. If the number of neighboring peers currently connected to the candidate peer is smaller than the maximum connectable number of peers, the neighboring peer is immediately selected as the neighboring peer. If this condition is not satisfied, the peer that can exchange the connection is checked without reducing the continuity of reproduction among the candidate peers. That is, it is checked whether the amount of buffering of the candidate peer is greater than a predetermined threshold value. If so, find a candidate peer to pair with the candidate peer among the neighboring peers associated with the candidate peer.
후보 피어의 버퍼링 양이 임계값보다 크고, 후보 피어의 각 이웃 피어의 버퍼링 양이 모두 임계값보다 큰 경우, 후보 피어와 해당 이웃 피어 간의 연결을 해제하고, 재생 시점 이동을 요청한 피어를 해제된 피어들과 연결하게 된다. 이와 같이, 본 발명의 실시 예에 의하면, 원하는 재생 시점의 피어들이 이미 최대 연결 가능한 수만큼 이웃 피어들과 연결되어 있더라도, 연결 교체를 통해 원하는 시점과 최대한 가까운 피어들을 이웃 피어로 선정할 수 있다. 이때, 각 피어들의 현재 버퍼링 상태를 고려하여 연결 교체 대상 피어를 선정함으로써, 연결 교체되는 동안 대상 피어들의 재생 연속성이 감소되지 않도록 할 수 있다. 만약 연결 교체의 조건을 만족하는 피어가 없을 경우 기존의 이웃 피어 선정 방식과 동일한 방식으로 피어 연결이 이루어지게 되며, 추가적인 재생연속성의 감소는 발생하지 않는다.If the amount of buffering of the candidate peer is greater than the threshold and the amount of buffering of each neighboring peer of the candidate peer is greater than the threshold value, the connection between the candidate peer and the neighboring peer is released, . As described above, according to the embodiment of the present invention, peers closest to a desired point in time can be selected as neighboring peers through connection replacement even if peers at a desired reproduction time are already connected to the neighboring peers as many as possible. In this case, by selecting the peers to be connected in consideration of the current buffering state of each of the peers, the regeneration continuity of the target peers can be prevented from being decreased during the connection change. If there is no peer satisfying the condition of connection change, the peer connection is made in the same manner as the conventional neighboring peer selection method, and no further reduction of the reproduction continuity occurs.
도 5는 본 발명의 실시 예에 따른 이웃피어 선정 방법을 설명하기 위한 개념도이다. 도 5에서 원모양의 기호는 피어를 나타내고, 원모양 안에 피어의 번호가 표시되어 있다. 도 5에서 피어 19는 서버 재생 시점으로 재생 시점 이동 연산을 요청한 피어이다. 도 5를 참조하면, 피어 1은 이미 연결 가능한 피어 수가 이미 최대이지만, 버퍼링 조건을 만족하는 피어 3과의 연결을 해제하고 피어 19에 연결된다. 마찬가지로 피어 5와 10도 연결 교체를 통해 피어 19의 이웃 피어가 된다. 도 2에서 피어 19가 이동을 원하는 재생 시점과 멀리 떨어진 시점에서 재생 중인 피어 16, 17, 18이 피어 19의 이웃 피어가 된 것과 달리, 본 발명의 실시 예에 의하면, 피어 19가 이동을 원하는 재생 시점과 최대한 가까운 시점에서 재생하고 있는 피어 1, 3, 5, 10을 피어 19의 이웃 피어로 선정할 수 있다.5 is a conceptual diagram for explaining a neighboring peer selecting method according to an embodiment of the present invention. In Fig. 5, a circle symbol represents a peer, and a number of a peer is displayed in a circular shape. In FIG. 5, the
라이브 시점과 같이 많은 피어들이 집중되어 있는 구간에서는 이미 최대 연결 가능 수만큼 이웃 피어들과 연결되어 있는 피어들이 많을 확률이 높다. 따라서 기존의 이웃피어 선정 방식의 경우 피어들이 시점이 이동해야 할 확률이 높아진다. 반면, 본 발명의 실시 예에 따른 이웃피어 선정 방법의 경우, 피어가 이미 최대 연결 가능 수만큼 이웃 피어들이 연결되어 있더라도 연결 교체를 통해 원하는 시점과 가까운 피어들을 연결할 수 있기 때문에 재생 시점 이동의 정확성이 훨씬 높아지게 된다.In the section where many peers are concentrated as in the live point, there is a high probability that there are many peers connected to the neighbor peers as many as the maximum number of connections. Therefore, in the case of the existing neighboring peer selection method, the probability that the peers move the viewpoint increases. On the other hand, in the case of the neighboring peer selecting method according to the embodiment of the present invention, even if neighboring peers are already connected to the maximum number of connectable peers, it is possible to connect peers close to a desired point through connection replacement, Much higher.
본 발명의 실시 예에 따라 라이브 시점으로 이동하는 피어들은 연결 교체를 통해 기존의 방식보다 서버의 재생 시점에 더 가까운 피어들을 이웃 피어로 선정할 수 있기 때문에 서버와의 재생 시간차가 기존 방식보다 작다. 이에 따라, 본 발명의 실시 예에 의하면, 피어들이 원하는 라이브 재생 구간에서 피어들의 재생 시점 분포가 더 밀집될 수 있고, 그 결과 다른 피어들과 재생 구간이 중복되는 정도가 커지게 되므로, 재생에 필요한 데이터를 더 빠르게 전송받을 수 있게 된다. 또한, 연결 교체되는 대상 피어는 임계값 이상의 버퍼링 양을 보유하고 있으므로, 초기에 필요한 데이터를 빠르게 받을 수 있는 가능성이 높아진다.According to the embodiment of the present invention, since the peers moving to the live viewpoint can select neighboring peers closer to the playback point of the server than the conventional method through connection replacement, the playback time difference with the server is smaller than in the conventional method. Thus, according to the embodiment of the present invention, the reproduction time point distribution of the peers in the desired live reproduction interval can be further densified, and as a result, the degree of overlapping of the other peers with the reproduction interval becomes large, Data can be transmitted more quickly. In addition, since the target peer to be connected and replaced has a buffering amount exceeding the threshold value, there is a high possibility that it is possible to quickly receive necessary data at an early stage.
본 발명의 실시 예에 따른 이웃피어 선정 방법은 연결 교체 대상 피어를 지정할 때 임계값 이상의 버퍼링 양을 보유하고 있는 피어를 선택하여, 연결 교체 시간 동안 데이터를 전송받지 못하더라도 재생 끊김이 발생하는 가능성을 최소한으로 줄일 수 있다. 따라서, 본 발명의 실시 예에 따른 이웃피어 선정 방법은 피어의 연결교체 동작으로 인해 재생 연속성은 거의 감소하지 않으면서 재생 시점 이동의 정확성을 높이고, 이동 연산 후 재생 지연 시간을 감소시킬 수 있다.The neighboring peer selection method according to the embodiment of the present invention selects a peer having a buffering amount equal to or greater than a threshold value when designating a connection replacement target peer and selects a possibility that playback is interrupted even if data is not received during the connection replacement time Can be reduced to a minimum. Therefore, in the neighboring peer selecting method according to the embodiment of the present invention, the reproduction continuity is not substantially reduced due to the connection replacement operation of the peer, the accuracy of the reproduction time point movement can be improved, and the reproduction delay time after the movement calculation can be reduced.
이상 살펴본 바와 같이, 본 발명의 실시 예는 P2P 라이브 스트리밍 시스템에서 피어가 재생 시점 이동 연산을 수행할 때 원하는 시점에 최대한 가까운 시점으로 이동할 수 있도록 이웃 피어를 선정하는 방법을 제시한다. 본 발명의 실시 예에서는 원하는 이동 시점에서 재생 중인 피어들이 모두 연결 가능한 이웃 피어 수가 이미 최대인 경우에도 기존의 피어 간의 연결을 해제하고 새로운 피어와 연결 교체를 통해 원하는 시점과 최대한 가까운 시점으로 이동할 수 있게 한다. 또한, 연결 교체 대상 피어의 재생 연속성이 감소하지 않도록 충분한 데이터를 버퍼링하고 있는 피어를 우선적으로 고려한다. 따라서, 본 발명의 실시 예에 의하면, 연결 교체를 통해 이웃 피어를 선정하여, 기존의 방식에 비해 이동 시점의 정확도가 향상될 뿐만 아니라, 이동 연산 후 재생 지연 시간도 향상된다.As described above, the embodiment of the present invention proposes a method of selecting a neighboring peer so that the peer can move to a point nearest to a desired point in time when a peer performs a playback-point shift operation in a P2P live streaming system. In the embodiment of the present invention, even if the number of neighboring peers to which all of the peers being reproduced at a desired movement time is already the maximum, the connection between the existing peers can be released and the neighboring peers can be moved to a point closest to the desired point do. In addition, the peer that is buffering sufficient data is preferentially considered so that the renewal continuity of the peer to be replaced is not reduced. Therefore, according to the embodiment of the present invention, neighboring peers are selected through connection replacement, and the accuracy of the moving time is improved as compared with the conventional method, and the playback delay time after the moving operation is also improved.
본 발명의 실시 예에 따른 이웃피어 선정 방법은 예를 들어 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 컴퓨터로 읽을 수 있는 기록매체는 SRAM(Static RAM), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM) 등과 같은 휘발성 메모리, ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Electrically Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), 플래시 메모리 장치, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM)과 같은 불휘발성 메모리, 플로피 디스크, 하드 디스크 또는 광학적 판독 매체 예를 들어 시디롬, 디브이디 등과 같은 형태의 저장매체일 수 있으나, 이에 제한되지는 않는다.The neighboring peer selection method according to an embodiment of the present invention can be implemented in a general-purpose digital computer that can be created as a program that can be executed in a computer and operates the program using a computer-readable recording medium. The computer readable recording medium may be a volatile memory such as SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM), ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM) Non-volatile memory such as EEPROM (Electrically Erasable and Programmable ROM), flash memory device, Phase-change RAM (PRAM), Magnetic RAM (MRAM), Resistive RAM (RRAM), Ferroelectric RAM But are not limited to, optical storage media such as CD ROMs, DVDs, and the like.
이상의 실시 예들은 본 발명의 이해를 돕기 위하여 제시된 것으로, 본 발명의 범위를 제한하지 않으며, 이로부터 다양한 변형 가능한 실시 예들도 본 발명의 범위에 속하는 것임을 이해하여야 한다. 본 발명의 기술적 보호범위는 특허청구범위의 기술적 사상에 의해 정해져야 할 것이며, 본 발명의 기술적 보호범위는 특허청구범위의 문언적 기재 그 자체로 한정되는 것이 아니라 실질적으로는 기술적 가치가 균등한 범주의 발명에 대하여까지 미치는 것임을 이해하여야 한다.It is to be understood that the above-described embodiments are provided to facilitate understanding of the present invention, and do not limit the scope of the present invention, and it is to be understood that various modifications are possible within the scope of the present invention. It is to be understood that the technical scope of the present invention should be determined by the technical idea of the claims and the technical scope of protection of the present invention is not limited to the literary description of the claims, To the invention of the invention.
100: 이웃피어 선정 장치
120: 이웃피어 선정부
122: 재생정보 관리부
124: 후보피어 선정부
126: 판단부
128: 이웃피어 결정부100: Neighboring peer selection device
120: Neighboring peer line
122: playback information manager
124: candidate peer selection unit
126:
128: Neighboring peer determination unit
Claims (9)
상기 제1 피어가 이동을 요청한 재생 시점을 기준으로 선정된 모든 후보 피어들이 미리 결정된 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는 경우, 상기 후보 피어들 중에서 소정의 연결 교체 조건을 만족하는 제2 피어들을 상기 이웃 피어로 선정하는 이웃피어 선정부를 포함하는 이웃피어 선정 장치.An apparatus for selecting a neighboring peer of a first peer requesting movement of a playback point in a P2P streaming system,
When all the candidate peers selected based on the reproduction time point at which the first peer requests movement are connected to other peers by a predetermined maximum number of neighboring peers, a second peer that satisfies a predetermined connection replacement condition among the candidate peers And a neighboring peer selecting unit for selecting the neighboring peers as the neighboring peers.
상기 이웃피어 선정부는 상기 후보 피어들 중에서 상호 간에 연결되어 있는 동시에, 각각의 버퍼링 양이 미리 설정된 임계값 이상인 제2 피어를 상기 이웃 피어로 선정하는 이웃피어 선정 장치.The method according to claim 1,
Wherein the neighboring peer selecting unit selects the second peer as the neighboring peer, the neighboring peer being connected to each other among the candidate peers and each having a buffering amount equal to or greater than a preset threshold value.
상기 이웃피어 선정부는,
현재 P2P 시스템에 접속 중인 피어들의 재생 시점 정보를 수집 및 관리하는 재생정보 관리부;
상기 피어들 중에서 상기 제1 피어가 이동을 요청한 재생 시점을 기준으로 상기 후보 피어들을 선정하는 후보피어 선정부;
상기 후보 피어들 중에서 다른 피어와 상기 최대 이웃 피어 수 미만으로 연결된 후보 피어가 존재하는지를 판단하는 판단부;
상기 모든 후보 피어들이 상기 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는 경우, 상기 후보 피어들과 상기 후보 피어들에 연결된 다른 후보 피어들의 버퍼링 양을 임계값과 비교하고, 상기 후보 피어들 중에서 버퍼링 양이 상기 임계값 이상인 후보 피어를 상기 이웃 피어로 선정하는 이웃피어 결정부를 포함하는 이웃피어 선정 장치.The method according to claim 1,
The neighboring-
A playback information management unit for collecting and managing playback time information of peers currently connected to the P2P system;
A candidate peer selecting unit for selecting the candidate peers based on a reproduction time point at which the first peer requests movement among the peers;
A determination unit for determining whether there is a candidate peer connected to another peer among the candidate peers less than the maximum neighboring peer number;
Comparing the amount of buffering of the candidate peers with other candidate peers connected to the candidate peers to a threshold value when all of the candidate peers are connected to other peers by the maximum number of neighboring peers, And a neighboring peer determining unit that selects a candidate peer having the threshold value or more as the neighboring peer.
상기 이웃피어 선정부는 상기 제2 피어들 간의 연결을 해제하고, 상기 제1 피어를 상기 제2 피어들과 연결하는 이웃피어 선정 장치.The method according to claim 1,
Wherein the neighboring peer selecting unit releases the connection between the second peers and connects the first peer to the second peers.
상기 제1 피어가 이동을 요청한 재생 시점을 기준으로 선정된 모든 후보 피어들이 미리 결정된 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는지를 판단하는 단계; 및
상기 모든 후보 피어들이 상기 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는 경우, 상기 후보 피어들 중에서 소정의 연결 교체 조건을 만족하는 제2 피어들을 상기 이웃 피어로 선정하는 단계를 포함하는 이웃피어 선정 방법.A method for selecting a neighboring peer of a first peer requesting a playback point shift in a P2P streaming system,
Determining whether all candidate peers selected based on a reproduction time point at which the first peer requests movement are connected to other peers by a predetermined maximum number of neighboring peers; And
Selecting neighboring peers as second peers satisfying a predetermined connection replacement condition among the candidate peers when all the candidate peers are connected to other peers as many as the maximum number of neighboring peers .
상기 제2 피어들을 선정하는 단계는 상기 후보 피어들 중에서 상호 간에 연결되어 있는 동시에, 각각의 버퍼링 양이 미리 설정된 임계값 이상인 제2 피어를 상기 이웃 피어로 선정하는 이웃피어 선정 방법.6. The method of claim 5,
Wherein the selecting of the second peers comprises selecting a second peer as the neighboring peer, the second peer being connected to each other among the candidate peers and each having a buffering amount equal to or greater than a preset threshold value.
상기 모든 후보 피어들이 상기 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는지를 판단하는 단계는,
현재 P2P 시스템에 접속 중인 피어들의 재생 시점 정보를 수집 및 관리하는 단계;
상기 피어들 중에서 상기 제1 피어가 이동을 요청한 재생 시점을 기준으로 상기 후보 피어들을 선정하는 단계; 및
상기 후보 피어들 중에서 다른 피어와 상기 최대 이웃 피어 수 미만으로 연결된 후보 피어가 존재하는지를 판단하는 단계를 포함하고,
상기 제2 피어들을 선정하는 단계는,
상기 모든 후보 피어들이 상기 최대 이웃 피어 수만큼 다른 피어와 연결되어 있는 경우, 상기 후보 피어들과 상기 후보 피어들에 연결된 다른 후보 피어들의 버퍼링 양을 임계값과 비교하는 단계; 및
상기 후보 피어들 중에서 버퍼링 양이 상기 임계값 이상인 제2 피어를 상기 이웃 피어로 선정하는 단계를 포함하는 이웃피어 선정 방법.6. The method of claim 5,
Wherein the step of determining whether all of the candidate peers are connected to other peers by the maximum number of neighboring peers comprises:
Collecting and managing playback time information of peers currently connected to the P2P system;
Selecting the candidate peers based on a playback time point at which the first peer requests movement among the peers; And
Determining whether there is a candidate peer that is connected to another of the candidate peers less than the maximum neighboring peer number with another peer,
Wherein the selecting of the second peers comprises:
Comparing the amount of buffering of the candidate peers and other candidate peers connected to the candidate peers to a threshold if all of the candidate peers are connected to another peer by the maximum number of neighboring peers; And
And selecting a second peer whose buffering amount is greater than or equal to the threshold value among the candidate peers as the neighboring peer.
상기 제2 피어들 간의 연결을 해제하는 단계; 및
상기 제1 피어를 상기 제2 피어들과 연결하는 단계를 더 포함하는 이웃피어 선정 방법.6. The method of claim 5,
Releasing a connection between the second peers; And
Further comprising: associating the first peer with the second peers.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150012931A KR101590099B1 (en) | 2015-01-27 | 2015-01-27 | Apparatus and method for selecting neighbor peers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150012931A KR101590099B1 (en) | 2015-01-27 | 2015-01-27 | Apparatus and method for selecting neighbor peers |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101590099B1 true KR101590099B1 (en) | 2016-01-29 |
Family
ID=55310313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150012931A KR101590099B1 (en) | 2015-01-27 | 2015-01-27 | Apparatus and method for selecting neighbor peers |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101590099B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110012220A (en) * | 2009-07-30 | 2011-02-09 | 주식회사 케이티 | Apparatus and system for playing streaming contents having continuous-play information sharing function |
KR20110026215A (en) * | 2009-09-07 | 2011-03-15 | 삼성전자주식회사 | Terminal, seed server and tracker server for reducing delay in streaming service |
KR20120037023A (en) * | 2001-12-05 | 2012-04-18 | 소니 주식회사 | Method and arrangement for power control |
-
2015
- 2015-01-27 KR KR1020150012931A patent/KR101590099B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120037023A (en) * | 2001-12-05 | 2012-04-18 | 소니 주식회사 | Method and arrangement for power control |
KR20110012220A (en) * | 2009-07-30 | 2011-02-09 | 주식회사 케이티 | Apparatus and system for playing streaming contents having continuous-play information sharing function |
KR20110026215A (en) * | 2009-09-07 | 2011-03-15 | 삼성전자주식회사 | Terminal, seed server and tracker server for reducing delay in streaming service |
Non-Patent Citations (1)
Title |
---|
[논문] 김태영, 김은삼, "P2P 라이브 스트리밍 시스템을 위한 적응적 버퍼링 기법," 한국디지털콘텐츠학회논문지, 13.4, 567-574 (2012) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9781486B2 (en) | RS-DVR systems and methods for unavailable bitrate signaling and edge recording | |
US9118814B2 (en) | Set-top box peer-assisted video-on-demand | |
US9521496B2 (en) | Media content playback system and method | |
US9049484B2 (en) | Efficient assignment of program copies in a network digital video recorder | |
JP5505009B2 (en) | COMMUNICATION TERMINAL DEVICE, COMPUTER PROGRAM, AND CONTENT SEARCH METHOD | |
Vratonjić et al. | Enabling DVD-like features in P2P video-on-demand systems | |
US9497035B2 (en) | Method, device, and system for playing media based on P2P | |
US9794618B2 (en) | Media content playback system and method | |
Janardhan et al. | Peer assisted VoD for set-top box based IP network | |
US20090172179A1 (en) | Networked Transmission System And Method For Stream Data | |
WO2009079948A1 (en) | A content buffering, querying method and point-to-point media transmitting system | |
US20110209184A1 (en) | Content distribution method, system, device and media server | |
EP2252057B1 (en) | Method and system for storing and distributing electronic content | |
US20100191825A1 (en) | Content acquisition apparatus, program, content acquisition method and content acquisition system | |
CN101459678B (en) | Fusion implementation method for digital media ordering and digital resource downloading | |
KR101590098B1 (en) | Apparatus and method for buffering | |
KR101590099B1 (en) | Apparatus and method for selecting neighbor peers | |
CN110933447B (en) | Distributed video service architecture based on small front-end ring | |
Liu et al. | Distributed delivery system for time-shifted streaming systems | |
KR101773955B1 (en) | Server, terminal, cooperative buffering method and and recording medium | |
KR101655258B1 (en) | Server, terminal, data play management method and recording medium | |
KR101883282B1 (en) | P2p vod system, server and hibrid buffering method of the same | |
Zhang et al. | Video on-demand streaming on the internet—a survey | |
KR101369073B1 (en) | Terminal device for receving contents streaming service via peer to peer network and method for controlling the same | |
KR101369105B1 (en) | Terminal device for receving contents streaming service via peer to peer network and method for controlling the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |