KR101262622B1 - System and method for controlling server usage in streaming service based on peer to peer - Google Patents

System and method for controlling server usage in streaming service based on peer to peer Download PDF

Info

Publication number
KR101262622B1
KR101262622B1 KR1020120077359A KR20120077359A KR101262622B1 KR 101262622 B1 KR101262622 B1 KR 101262622B1 KR 1020120077359 A KR1020120077359 A KR 1020120077359A KR 20120077359 A KR20120077359 A KR 20120077359A KR 101262622 B1 KR101262622 B1 KR 101262622B1
Authority
KR
South Korea
Prior art keywords
server
concurrent users
usage
peer
traffic
Prior art date
Application number
KR1020120077359A
Other languages
Korean (ko)
Other versions
KR20120095822A (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 KR1020120077359A priority Critical patent/KR101262622B1/en
Publication of KR20120095822A publication Critical patent/KR20120095822A/en
Application granted granted Critical
Publication of KR101262622B1 publication Critical patent/KR101262622B1/en

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

P2P 기반의 스트리밍 서비스에서 서버 사용량을 조절하는 시스템 및 방법이 개시된다. P2P 기반의 스트리밍 서비스에서 서버 사용량을 조절하는 시스템은, 현재 동시 접속자수를 제공하는 현재 동시 접속자수 제공부 및 동시 접속자의 유입률을 이용하여 결정되는 상수의 상기 현재 동시 접속자수에 대한 비율에 기초하여 상기 서버 사용량을 조절하는 서버 사용량 조절부를 포함한다.Disclosed are a system and method for controlling server usage in a P2P based streaming service. In a P2P based streaming service, a system for adjusting server usage is based on a ratio of the constant to the current number of concurrent users, which is determined using a current number of concurrent users providing a current number of concurrent users and an inflow rate of concurrent users. It includes a server usage control unit for adjusting the server usage.

Description

P2P 기반의 스트리밍 서비스에서 서버 사용량을 조절하는 시스템 및 방법 {SYSTEM AND METHOD FOR CONTROLLING SERVER USAGE IN STREAMING SERVICE BASED ON PEER TO PEER}System and method for controlling server usage in P2 based streaming service {SYSTEM AND METHOD FOR CONTROLLING SERVER USAGE IN STREAMING SERVICE BASED ON PEER TO PEER}

본 발명의 실시예들은 P2P 기반의 스트리밍 서비스에서 서버 사용량을 조절하는 시스템 및 방법에 관한 것이다.Embodiments of the present invention relate to a system and method for controlling server usage in a P2P based streaming service.

P2P 서비스(Peer to Peer Service)는 인터넷상의 정보를 검색엔진을 거쳐 찾아야 하는 기존 방식과는 달리 인터넷에 연결된 모든 개인 컴퓨터로부터 직접 정보를 제공받는 서비스를 말한다.Peer to Peer Service (P2P) is a service that receives information directly from all personal computers connected to the Internet, unlike the conventional method of searching for information on the Internet through a search engine.

또한, 일반적으로 '스트리밍'이란 네트워크를 통해 파일을 실시간으로 전송받아 재생시키는 기술을 말하며, 가장 흔히 쓰는 기술로는 프로그레시브 스트리밍(progressive streaming)이 있다.In addition, 'streaming' generally refers to a technology of receiving and playing a file in real time through a network, and the most commonly used technique is progressive streaming.

이러한 스트리밍 기술을 P2P 기술에 이용할 경우 서버 및 서비스측의 부하를 줄일 수 있기 때문에 비용 절감의 효과를 얻게 된다. 이를 구현하기 위해 P2P 기반의 스트리밍 서비스를 이용하는 클라이언트는 멀티미디어 파일과 같은 컨텐츠를 재생시키는 전용 플레이어에 P2P 기반의 스트리밍 서비스를 이용하는데 필요한 기능을 포함시켜 P2P 기반의 스트리밍을 서비스하는 서버와 통신하며 P2P 기반의 스트리밍 서비스를 실현시킨다. 보다 구체적으로 설명하자면, 서버가 웹페이지를 통해 제공 가능한 컨텐츠 목록을 사용자에게 제공하고, 클라이언트는 이 목록 중에서 서비스 받을 컨텐츠를 클릭하여 선택한다. 이후, 서비스 받을 컨텐츠가 선택되면 클라이언트에 설치되어 있는 전용 플레이어가 실행되어 선택된 컨텐츠를 재생시킨다. 이때, 전용 플레이어는 P2P 기술을 이용하여 선택된 컨텐츠를 서버와 다른 피어(Peer)로부터 전송받아 재생시킨다.Using this streaming technology for P2P technology can reduce the load on the server and service side, resulting in cost savings. To implement this, a client using P2P based streaming service communicates with P2P based streaming server by including the necessary functions to use P2P based streaming service in a dedicated player that plays contents such as multimedia files. To realize streaming services. More specifically, the server provides the user with a list of contents that can be provided through a web page, and the client clicks on the content to be serviced from the list to select it. Then, when the content to be serviced is selected, a dedicated player installed in the client is executed to play the selected content. At this time, the dedicated player receives and plays the selected content from a peer different from the server using P2P technology.

P2P 기반의 스트리밍 서비스를 이용하고자 하는 유저 클라이언트가 서버에 접속된 후 유저 클라이언트로부터 컨텐츠를 선택 받으면, 선택된 컨텐츠를 보유하고 있는 피어를 검색하여 유저 클라이언트에게 컨텐츠를 제공할 수 있게 연결시켜 준다. 즉, 유저 클라이언트의 전용 플레이어는 선택된 컨텐츠의 파일 조각들을 서버 또는 컨텐츠를 보유하고 있는 다른 피어들로부터 전송받아 재생시키게 된다.When the user client who wants to use the P2P based streaming service is connected to the server and receives content from the user client, the user client searches for a peer that has the selected content and connects the content to the user client. That is, the dedicated player of the user client receives and plays the file pieces of the selected content from the server or other peers having the content.

이때, 종래기술에 따른 P2P 기반의 스트리밍 서비스에서는 예상 동시 접속자수에 맞춰 최대 공유율을 계산하여 서버 사용량을 미리 결정한다. 그러나, 동시 접속자수의 피크에 비해 오히려 초반에 서버 사용량이 매우 높다. 이때, 네트워크 비용은 서버 사용량의 피크에 따라 결정되기 때문에 초반의 높은 서버 사용량에 의해 서비스 제공자가 많은 네트워크 비용을 지불해야 하는 문제점이 있다. 뿐만 아니라, 동시 접속자수를 미리 예상하기 어렵다는 문제점이 있다.At this time, in the P2P-based streaming service according to the prior art, the server usage is determined in advance by calculating the maximum share rate according to the expected number of concurrent users. However, server usage is very high in the early stages compared to the peak number of concurrent users. At this time, since the network cost is determined according to the peak of the server usage, there is a problem that the service provider has to pay a large network cost by the initial high server usage. In addition, there is a problem that it is difficult to predict the number of concurrent users in advance.

본 명세서에서는 효과적으로 서버 사용량을 결정할 수 있는 시스템 및 방법이 제공된다.Provided herein are systems and methods that can effectively determine server usage.

동시 접속자의 유입률과 현재 동시 접속자수에 따라 적응적으로 서버 사용량을 조절할 수 있는 시스템 및 방법이 제공된다.Provided are a system and method for adaptively adjusting server usage according to the inflow rate of concurrent users and the current number of concurrent users.

동시 접속자의 유입률에 기초하여 결정되는 상수의 현재 동시 접속자수에 대한 비율을 통해 서버 사용량을 조절함으로써, 동시 접속자수에 관계없이 항상 낮은 서버 트래픽을 유지할 수 있는 시스템 및 방법이 제공된다.A system and method are provided that can maintain low server traffic at all times, regardless of the number of concurrent users, by adjusting server usage through a ratio of current concurrent connections to a constant determined based on the inflow rate of concurrent users.

현재 동시 접속자수를 제공하는 현재 동시 접속자수 제공부 및 동시 접속자의 유입률을 이용하여 결정되는 상수의 현재 동시 접속자수에 대한 비율에 기초하여 서버 사용량을 조절하는 서버 사용량 조절부를 포함하는, P2P 기반의 스트리밍 서비스에서 서버 사용량을 조절하는 시스템이 제공된다.P2P-based, including a server usage control unit for adjusting the server usage based on the ratio of the current number of concurrent users determined by using the current number of concurrent users providing the current number of concurrent users, and the inflow rate of the concurrent users A system for controlling server usage in a streaming service is provided.

인코더로부터 데이터 스트림을 수신하여 피스로 인덱싱하는 패킷타이징 서버, 패킷타이징 서버로부터 피스를 수신하고, 클라이언트의 요청에 따라 피스를 클라이언트로 전송하는 딜리버리 서버 및 클라이언트의 목록을 유지하고, 검색 서비스를 제공하는 인덱스 서버를 포함하고, 동시 접속자의 유입률을 이용하여 결정되는 상수의 현재 동시 접속자수에 대한 비율에 따라 서버 사용량이 조절되는, 서버 사용량 조절 시스템이 제공된다.A packetizing server that receives data streams from the encoder and indexes them into pieces, maintains a list of delivery servers and clients that receive pieces from the packetizing server and sends the pieces to the client according to the client's request. Provided is a server usage control system including an index server, wherein the server usage is adjusted according to a ratio of the constant number of concurrent users, which is determined using the inflow rate of concurrent users.

현재 동시 접속자수를 제공하는 단계 및 동시 접속자의 유입률을 이용하여 결정되는 상수의 현재 동시 접속자수에 대한 비율에 기초하여 서버 사용량을 조절하는 단계를 포함하는, P2P 기반의 스트리밍 서비스에서 서버 사용량을 조절하는 방법이 제공된다.Adjusting server usage in a P2P-based streaming service, comprising providing a current number of concurrent users and adjusting server usage based on a ratio of the current concurrent number of constants determined using the inflow rate of concurrent users. A method is provided.

클라이언트의 목록을 유지하고, 검색 서비스를 제공하는 단계, 인코더로부터 데이터 스트림을 수신하여 피스로 인덱싱하는 단계 및 클라이언트의 요청에 따라 피스를 클라이언트로 전송하는 단계를 포함하고, 동시 접속자의 유입률을 이용하여 결정되는 상수의 현재 동시 접속자수에 대한 비율에 따라 서버 사용량이 조절되는, 서버 사용량 조절 방법이 제공된다.Maintaining a list of clients, providing a search service, receiving a data stream from an encoder and indexing the piece as a piece, and sending the piece to the client as requested by the client, A server usage adjustment method is provided in which server usage is adjusted according to the ratio of the determined constant to the number of concurrent users.

동시 접속자의 유입률과 현재 동시 접속자수에 따라 적응적으로 서버 사용량을 조절할 수 있다.Server usage can be adjusted adaptively according to the inflow rate of concurrent users and the current number of concurrent users.

동시 접속자의 유입률에 기초하여 결정되는 상수의 현재 동시 접속자수에 대한 비율을 통해 서버 사용량을 결정함으로써, 동시 접속자수에 관계없이 항상 낮은 서버 트래픽을 유지할 수 있다.By determining server usage through a ratio of the constant number of concurrent users, based on the inflow rate of concurrent users, it is possible to maintain low server traffic at all times regardless of the number of concurrent users.

도 1은 본 발명의 일실시예에 있어서, P2P 기반의 스트리밍 서비스를 제공하는 시스템의 논리적 구성을 나타낸 도면이다.
도 2는 본 발명의 일실시예에 있어서, P2P 기반의 스트리밍 서비스를 제공하는 시스템의 물리적 구성을 나타낸 도면이다.
도 3은 본 발명의 일실시예에 있어서, 패킷타이징 서버의 이중화를 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예에 있어서, 딜리버리 서버의 이중화를 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 인덱스 서버의 이중화를 설명하기 위한 도면이다.
도 6은 본 발명의 일실시예에 있어서, 피어 관리 시스템을 도시한 도면이다.
도 7은 본 발명의 일실시예에 있어서, 피어에서 이용 가능한 버퍼를 설명하기 위한 도면이다.
도 8은 본 발명의 일실시예에 있어서, P2P 기반의 스트리밍 서비스에서 서버 사용량을 조절하는 방법을 도시한 흐름도이다.
도 9는 본 발명의 일실시예에 있어서, P2P 기반의 스트리밍 서비스에서 서버 사용량을 조절하는 방법을 도시한 흐름도이다.
1 is a diagram illustrating a logical configuration of a system for providing a P2P based streaming service according to an embodiment of the present invention.
2 is a diagram illustrating a physical configuration of a system for providing a P2P based streaming service according to an embodiment of the present invention.
3 is a diagram for describing the duplication of a packetizing server according to one embodiment of the present invention.
4 is a diagram for explaining redundancy of a delivery server in an embodiment of the present invention.
5 is a diagram for describing redundancy of an index server according to an embodiment of the present invention.
6 illustrates a peer management system according to an embodiment of the present invention.
FIG. 7 is a diagram for describing a buffer available in a peer according to one embodiment of the present invention. FIG.
8 is a flowchart illustrating a method of controlling server usage in a P2P based streaming service according to an embodiment of the present invention.
9 is a flowchart illustrating a method of controlling server usage in a P2P based streaming service according to an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 있어서, P2P 기반의 스트리밍 서비스를 제공하는 시스템의 논리적 구성을 나타낸 도면이다. 도 1은 미디어 소스(110), 패킷타이징 서버(120), 딜리버리 서버 그룹(130), 클라이언트(140) 및 복수의 피어(150)를 도시하고 있다.1 is a diagram illustrating a logical configuration of a system for providing a P2P based streaming service according to an embodiment of the present invention. 1 shows a media source 110, a packetizing server 120, a delivery server group 130, a client 140, and a plurality of peers 150.

여기서, 미디어 소스(110)는 스트림을 제공하는 인코더를 의미할 수 있다. 패킷타이징 서버(120)는 이러한 미디어 소스(110)로부터 데이터 스트림을 수신하여 피스로 인덱싱할 수 있다. 스트림을 P2P 서비스를 통해 제공하기 위해 피스로 인덱싱하는 방법은 이미 알려진 다양한 방법 중 하나의 방법이 이용될 수 있다. 패킷타이징 서버(120)는 미디어 소스(110)마다 하나씩 존재할 수 있다. 예를 들어, 프로야구 중계 시, 4개의 경기가 진행되는 경우, 4개의 경기에 대해 4개의 미디어 소스(110)가 존재한다면, 패킷타이징 서버(120) 역시 4개가 이용될 수 있다. 이러한 패킷타이징 서버(120)에 대해서는 이후 도 3을 통해 더욱 자세히 설명한다.Here, the media source 110 may mean an encoder that provides a stream. The packetizing server 120 may receive the data stream from this media source 110 and index it into pieces. As a method of indexing a piece to provide a stream through a P2P service, one of various known methods may be used. One packetizing server 120 may exist for each media source 110. For example, if four games are played during a professional baseball relay, and four media sources 110 exist for four matches, four packetizing servers 120 may also be used. The packetizing server 120 will be described in more detail later with reference to FIG. 3.

딜리버리 서버 그룹(130)은 적어도 하나의 딜리버리 서버(131)로 구성될 수 있다. 이때, 딜리버리 서버 그룹(130)에서 동작하는 딜리버리 서버(131)의 수는 동시 접속자수에 따라 조절될 수 있다. 딜리버리 서버(131)는 패킷타이징 서버(120)로부터 인덱싱된 피스를 수신하고, 이를 버퍼링할 수 있다. 이때, 클라이언트(140)의 요청에 따라 피스를 클라이언트(140)로 전송할 수 있다.The delivery server group 130 may be configured with at least one delivery server 131. In this case, the number of delivery servers 131 operating in the delivery server group 130 may be adjusted according to the number of simultaneous users. The delivery server 131 may receive the indexed piece from the packetizing server 120 and buffer it. In this case, the piece may be transmitted to the client 140 at the request of the client 140.

여기서, 클라이언트(140)는 PC와 같은 사용자 단말기를 의미할 수 있고, 도 1에 도시된 바와 같이 피어(141)와 플레이어(142)를 포함할 수 있다. 피어(141)는 딜리버리 서버(131)와 복수의 피어(150) 중 적어도 하나로부터 피스를 수신하여 플레이어(142)에 데이터 스트림을 전송할 수 있다. 일례로, 피어(141)는 클라이언트(140)에 설치되어 동작하는 프로그램일 수 있다. 복수의 피어(150) 역시 각각 복수의 클라이언트에 설치되어 동작될 수 있다.Here, the client 140 may mean a user terminal such as a PC, and may include a peer 141 and a player 142 as shown in FIG. 1. Peer 141 may receive a piece from at least one of delivery server 131 and a plurality of peers 150 and transmit a data stream to player 142. For example, the peer 141 may be a program installed and operated in the client 140. The plurality of peers 150 may also be installed and operated in a plurality of clients, respectively.

즉, 패킷타이징 서버(120)에서 피스로 변환된 데이터 스트림은 딜리버리 서버 그룹(130)을 통해 전체 클라이언트들 중 적어도 일부에게 전송될 수 있고, 하나의 클라이언트(140) 입장에서는 딜리버리 서버(131)와 다른 클라이언트들로부터 피스들을 수신하여 데이터 스트림을 플레이어(142)로 전송함으로써, 사용자가 P2P 기반의 스트리밍 서비스를 제공받게 된다.That is, the data stream converted from the packetizing server 120 to the piece may be transmitted to at least some of the entire clients through the delivery server group 130, and the delivery server 131 may be viewed from one client 140. By receiving pieces from and other clients and transmitting the data stream to the player 142, the user is provided with a P2P based streaming service.

이때, 본 발명의 일실시예에 따른 서버 사용량 조절 시스템은 도 1을 통해 설명한 시스템 자체를 의미할 수도 있고, 필요에 따라 도 1을 통해 설명한 시스템에 포함되거나 연계될 수 있다. 서버 사용량 조절 시스템은 동시 접속자수를 고려하여 적응적으로 서버 사용량을 조절함으로써, 동시 접속자수에 관계없이 항상 낮은 서버 트래픽이 유지되도록 할 수 있다. 이때, 서버 사용량은 동시 접속자의 유입률을 이용하여 결정되는 상수의 현재 동시 접속자수에 대한 비율에 기초하여 조절될 수 있다. 일례로, 서버 사용량을 아래 수학식 1과 같이 계산될 수 있다.In this case, the server usage adjustment system according to an embodiment of the present invention may mean the system itself described with reference to FIG. 1, or may be included in or associated with the system described with reference to FIG. 1 as necessary. The server usage control system adaptively adjusts the server usage in consideration of the number of concurrent users, so that low server traffic is always maintained regardless of the number of concurrent users. In this case, the server usage may be adjusted based on the ratio of the constant number of concurrent users determined by using the inflow rate of concurrent users. For example, server usage may be calculated as in Equation 1 below.

Figure 112012056718712-pat00001
Figure 112012056718712-pat00001

여기서, 'c'는 동시 접속자의 유입률을 이용하여 결정되는 상수를, 'n'은 현재 동시 접속자수를 각각 의미할 수 있다. 이때, 'c'는 경험적 테스트를 통해 관리자나 시스템에 의해 결정될 수 있는 상수로서 기본적으로는 동시 접속자의 유입률이 높을수록 상대적으로 큰 값으로 결정될 수 있고, 유입률이 낮을수록 상대적으로 작은 값으로 결정될 수 있다. 이러한 수학식 1은 'c'명에 대한 트래픽으로 'n'명의 사용자를 커버함을 의미할 수 있다. 예를 들어, 'c'가 6이면, 6명에게 제공하기 위한 트래픽으로, 'n'명(현재 동시 접속자) 모두를 커버하고자 함을 의미할 수 있다.Here, 'c' may be a constant determined using the inflow rate of simultaneous accessors, and 'n' may mean a current concurrent accessor number, respectively. At this time, 'c' is a constant that can be determined by the administrator or the system through empirical test. Basically, the higher the inflow rate of concurrent users can be determined as a relatively large value, and the lower the inflow rate can be determined as a relatively small value. have. Equation 1 may indicate that 'n' users are covered by traffic for 'c' persons. For example, if 'c' is 6, it may mean that traffic to be provided to six people is intended to cover all 'n' people (current concurrent users).

즉, 동시 접속자의 유입률이 높아져 현재 동시 접속자수가 늘어나더라도, 상수인 'c'는 고정된 반면, 'n'이 증가하기 때문에 서버 사용량은 점점 감소하게 된다. 따라서, 동시 접속자수에 관계없이 항상 낮은 서버 사용량을 유지할 수 있다.In other words, even if the inflow rate of concurrent users increases, the number of concurrent users increases, but the constant 'c' is fixed, whereas 'n' increases, so server usage decreases. Therefore, low server usage can be maintained at all times regardless of the number of concurrent users.

이를 위해, 서버 사용량 조절 시스템은 현재 동시 접속자수를 제공하는 현재 동시 접속자수 제공부(미도시) 및 동시 접속자의 유입률을 이용하여 결정되는 상수의 상기 현재 동시 접속자수에 대한 비율에 기초하여 상기 서버 사용량을 조절하는 서버 사용량 조절부(미도시)를 포함할 수 있다.To this end, the server usage control system is based on the ratio of the current number of concurrent users determined by using the current number of concurrent users providing unit (not shown) that provides the current number of concurrent users and the inflow rate of the concurrent users of the server It may include a server usage controller (not shown) for adjusting the usage.

도 2는 본 발명의 일실시예에 있어서, P2P 기반의 스트리밍 서비스를 제공하는 시스템의 물리적 구성을 나타낸 도면이다. 도 2는 P2P 기반의 스트리밍 서비스를 위한 장비를 제공하는 외부 IDC(210)와 데이터 스트림을 제공하는 인코더 업체(220) 그리고 외부 IDC(210)가 클라이언트(240)에게 스트림 데이터를 제공하는 과정을 관리하기 위한 내부 IDC(230)를 도시하고 있다.2 is a diagram illustrating a physical configuration of a system for providing a P2P-based streaming service in an embodiment of the present invention. 2 is a diagram illustrating an external IDC 210 that provides equipment for a P2P based streaming service, an encoder company 220 that provides a data stream, and an external IDC 210 that manages a process of providing stream data to a client 240. An internal IDC 230 is shown.

외부 IDC(210)는 패킷타이징 서버(211), 메인 넷체커(213), 서브 넷체커(214), 딜리버리 서버(212) 및 인덱스 서버(215) 그리고 복수의 스위치(216)를 포함할 수 있다. 여기서, 패킷타이징 서버(211), 딜리버리 서버(212), 메인 넷체커(213), 서브 넷체커(214) 및 인덱스 서버(215) 각각은 하나의 서버가 아닌 복수의 서버로 구성될 수 있고, 복수의 스위치(216) 각각은 복수의 서버 중 해당 서버로 데이터를 전송하거나 해당 서버로부터 데이터를 수신하는데 이용될 수 있다. 복수의 스위치(216) 각각으로, 일례로, L4 스위치가 이용될 수 있다.The external IDC 210 may include a packetizing server 211, a main netchecker 213, a sub netchecker 214, a delivery server 212 and an index server 215, and a plurality of switches 216. have. Here, each of the packetizing server 211, the delivery server 212, the main net checker 213, the sub net checker 214 and the index server 215 may be composed of a plurality of servers instead of one server. Each of the plurality of switches 216 may be used to transmit data to or receive data from the server. As each of the plurality of switches 216, for example, an L4 switch may be used.

패킷타이징 서버(211)는 인코더 업체(220)의 미디어 인코더(221)로부터 데이터 스트림을 수신하고, 수신된 데이터 스트림을 시스템에서 사용하기 위한 데이터로 가공한다. 즉, 패킷타이징 서버(211)는 데이터 스트림을 복수의 피스로 변환할 수 있다. 이미 설명한 바와 같이, 미디어 인코더(221)마다 하나씩의 패킷타이징 서버(211)가 실행될 수 있다.The packetizing server 211 receives a data stream from the media encoder 221 of the encoder company 220 and processes the received data stream into data for use in the system. That is, the packetizing server 211 may convert the data stream into a plurality of pieces. As described above, one packetizing server 211 may be executed for each media encoder 221.

딜리버리 서버(212)는 패킷타이징 서버(211)로부터 수신한 피스를 클라이언트(240)의 요청에 따라 클라이언트(240)에게 전달한다. 또한, 인덱스 서버(215)는 클라이언트(240) 목록을 유지하고, 검색 서비스를 제공한다. 여기서, 메인 넷체커(213)와 서브 넷체커(214)는 피어간 연결을 중계하는 중계서버를 의미할 수 있다.The delivery server 212 transfers the piece received from the packetizing server 211 to the client 240 at the request of the client 240. In addition, the index server 215 maintains a list of clients 240 and provides a search service. Here, the main net checker 213 and the sub net checker 214 may refer to a relay server for relaying connections between peers.

아래 표 1은 동시 접속자수가 15만 명이고, 컨텐츠 비트레이트가 500kbps, 공유율(sharing rate)이 80% 일 때, 필요한 서버의 수를 나타내고 있다.Table 1 below shows the number of servers required when the number of concurrent users is 150,000, the content bit rate is 500kbps, and the sharing rate is 80%.

Figure 112012056718712-pat00002
Figure 112012056718712-pat00002

내부 IDC(230)가 포함하는 LMS(231)는 피어 관리 시스템을 의미할 수 있다. 이러한 LMS(231)는 패킷타이징 서버(211), 딜리버리 서버(212) 및 인덱스 서버(215)를 관리하는 서버로서, 서버의 업로드 다운로드 상태나 트래픽, 쿼리 수, 리소스(CPU, 메모리), 공유율 등을 모니터링할 수 있다. 또한, LMS(231)는 동시 접속자수, 유니크 방문자 수, 공유율, 사용자 속도 분포, 평균 시청 시간 및 시청 채널수 등에 대한 통계 데이터를 생성하여 DB(232)에 저장할 수 있다. 즉, DB(232)는 통계 데이터를 저장하는 서버를 의미할 수 있다.The LMS 231 included in the internal IDC 230 may refer to a peer management system. The LMS 231 manages the packetizing server 211, the delivery server 212, and the index server 215. The LMS 231 is an upload download state, traffic, number of queries, resources (CPU, memory), and sharing of the server. Rate, etc. can be monitored. In addition, the LMS 231 may generate and store statistical data on the number of concurrent users, the number of unique visitors, the share rate, the user speed distribution, the average viewing time, and the number of viewing channels in the DB 232. That is, the DB 232 may refer to a server that stores statistical data.

이때, 상술한 바와 같이 본 발명의 일실시예에 따른 시스템은 동시 접속자수를 고려하여 적응적으로 서버 사용량을 조절함으로써, 동시 접속자수에 관계없이 항상 낮은 서버 트래픽이 유지되도록 할 수 있다. 이때, 서버 사용량은 동시 접속자의 유입률을 이용하여 결정되는 상수의 현재 동시 접속자수에 대한 비율에 기초하여 조절될 수 있다. 일례로, 서버 사용량을 상술한 수학식 1과 같이 계산될 수 있고, 이러한 서버 사용량은 도 2를 통해 설명한 딜리버리 서버(212)의 트래픽을 의미할 수 있다. 또한, 도 1을 통해 설명한 서버 사용량 조절 시스템은 도 2를 통해 설명한 시스템 자체를 의미할 수도 있고, 상술한 LMS(231)에 포함될 수도 있다.In this case, as described above, the system according to an embodiment of the present invention may adaptively adjust the server usage in consideration of the number of concurrent users, so that low server traffic is always maintained regardless of the number of concurrent users. In this case, the server usage may be adjusted based on the ratio of the constant number of concurrent users determined by using the inflow rate of concurrent users. For example, the server usage may be calculated as in Equation 1 above, and the server usage may refer to traffic of the delivery server 212 described with reference to FIG. 2. In addition, the server usage adjustment system described with reference to FIG. 1 may mean the system described with reference to FIG. 2 or may be included in the LMS 231 described above.

도 3은 본 발명의 일실시예에 있어서, 패킷타이징 서버의 이중화를 설명하기 위한 도면이다. 도 3은 4개의 인코더(310 내지 340)을 통해 데이터 스트림이 제공되는 경우, 주 패킷타이징 서버군(350)에서 4개의 패킷타이징 서버가 동작할 수 있음을 나타내고 있다. 즉, 'PS-1', 'PS-2', 'PS-3' 및 'PS-4'는 상술한 4개의 패킷타이징 서버를 의미할 수 있다.3 is a diagram for describing the duplication of a packetizing server according to one embodiment of the present invention. 3 illustrates that four packetizing servers can operate in the main packetizing server group 350 when data streams are provided through four encoders 310 to 340. That is, 'PS-1', 'PS-2', 'PS-3' and 'PS-4' may refer to the above four packetizing servers.

이때, 4개의 패킷타이징 서버는 4개의 인코더(310 내지 340)에서 수신되는 데이터 스트림을 P2P에서 사용될 수 있는 형태의 데이터인 피스로 변환하고, 모든 딜리버리 서버로 변환된 데이터를 전송할 수 있다. 이때, 4개의 패킷타이징 서버와 모든 딜리버리 서버는 스위치(370)를 이용하여 데이터를 송수신할 수 있다.In this case, the four packetizing servers may convert the data streams received from the four encoders 310 to 340 into pieces, which are data in a form that can be used in P2P, and transmit the converted data to all delivery servers. In this case, four packetizing servers and all delivery servers may transmit and receive data using the switch 370.

이러한 패킷타이징 서버는 CPU나 트래픽 등의 리소스의 사용량이 많지 않다. 예를 들어, 20대의 딜리버리 서버(동시 접속자수 15만 명 기준)가 접속한 경우, 1Mbps 크기의 컨텐츠에 대해 20Mbps의 트래픽만을 사용한다.The packetizing server does not use much resources such as CPU or traffic. For example, if 20 delivery servers (based on 150,000 concurrent users) are connected, only 20Mbps traffic is used for 1Mbps content.

또한, 패킷타이징 서버마다 4개의 인코더(310 내지 340)로부터 서로 다른 데이터 스트림이 전송될 수 있기 때문에 도 3에 도시된 바와 같이, 피스는 주 패킷타이징 서버군(350)과 부 패킷타이징 서버군(360) 중 하나의 서버군에서만 생성되어야 한다. 따라서, 주 패킷타이징 서버군(350)과 부 패킷타이징 서버군(360)은 액티브/스탠바이의 형태로 동작할 수 있다. 부 패킷타이징 서버군(360)은 주 패킷타이징 서버군(350)의 장애에 대응하기 위해 이용될 수 있다.In addition, since different data streams may be transmitted from four encoders 310 to 340 for each packetizing server, as shown in FIG. 3, the piece may have a primary packetizing server group 350 and secondary packetizing. It should be created only in one server group of the server group 360. Accordingly, the primary packetizing server group 350 and the secondary packetizing server group 360 may operate in an active / standby mode. The secondary packetizing server group 360 may be used to respond to the failure of the primary packetizing server group 350.

도 4는 본 발명의 일실시예에 있어서, 딜리버리 서버의 이중화를 설명하기 위한 도면이다. 패킷타이징 서버군(410)에서 변환된 데이터인 피스들은 딜리버리 서버군(420)으로 전송된다. 이때, 'DS-n'은 'n' 번째 딜리버리 서버를 의미하는 것으로, 딜리버리 서버군(420)내에 'n'개의 딜리버리 서버가 존재함을 의미할 수 있다.4 is a diagram for describing redundancy of a delivery server according to one embodiment of the present invention. Pieces that are data converted in the packetizing server group 410 are transmitted to the delivery server group 420. In this case, 'DS-n' refers to the 'n' delivery server and may mean that 'n' delivery servers exist in the delivery server group 420.

각각의 딜리버리 서버는 패킷타이징 서버로부터 피스를 전달받아 일정 개수만큼 버퍼링을 수행하고, 클라이언트들인 피어(peer)들의 요청에 따라 해당 피스를 피어들에게 전송한다. 이때, 딜리버리 서버군(420)의 딜리버리 서버들 역시 스위치(430)로 바인딩될 수 있고, 동시 접속자수의 증가에 따라 딜리버리 서버를 증가시킴으로써, 트래픽을 조절할 수 있다.Each delivery server receives the pieces from the packetizing server, buffers a certain number of pieces, and transmits the pieces to the peers at the request of peers. At this time, the delivery servers of the delivery server group 420 may also be bound to the switch 430, and traffic may be controlled by increasing the delivery server according to the increase in the number of concurrent users.

도 5는 본 발명의 일실시예에 있어서, 인덱스 서버의 이중화를 설명하기 위한 도면이다. 인덱스 서버군(510)은 복수의 인덱스 서버를 포함할 수 있고, 'IS-n'은 'n' 번째 인덱스 서버를 의미하는 것으로, 인덱스 서버군(520)내에 'n'개의 인덱스 서버가 존재함을 의미할 수 있다.5 is a diagram for describing redundancy of an index server according to an embodiment of the present invention. The index server group 510 may include a plurality of index servers, and 'IS-n' means 'n' index servers, and 'n' index servers exist in the index server group 520. It may mean.

이때, 복수의 인덱스 서버 각각은 클라이언트인 피어들을 관리한다. 보다 자세하게는, 클라이언트들에 설치된 피어를 관리하고, 피어의 요청에 따른 검색 결과를 전달한다. 또한, 인덱스 서버는 메시지 전달을 수행할 수 있고, 피어와 지속적인 연결을 유지할 수 있다. 이러한 인덱스 서버 각각은 스위치(520)와 바인딩될 수 있고, 동시 접속자수에 따라 인덱스 서버를 증가시킬 수 있다.In this case, each of the plurality of index servers manages peers as clients. More specifically, it manages peers installed on clients and delivers search results based on peer requests. In addition, the index server can perform message delivery and maintain a persistent connection with the peer. Each of these index servers may be bound to the switch 520 and increase the index server according to the number of concurrent users.

도 6은 본 발명의 일실시예에 있어서, 피어 관리 시스템을 도시한 도면이다. 도 6에 도시된 LMS(610)는 피어 관리 시스템을, IS(620)는 인덱스 서버를, PS(630)는 패킷타이징 서버를, DS(640)는 딜리버리 서버를 각각 의미할 수 있다. 이때, 피어 관리 시스템은 인덱스 서버, 패킷타이징 서버 및 딜리버리 서버에 대한 관리, 배포, 갱신 및 모니터링 기능을 수행할 수 있고, 피어(피어)에 대한 통계 수집 및 분석 기능을 수행할 수 있다. 예를 들어, 피어 관리 시스템은 CPU나 메모리의 사용량 또는 트래픽과 같이 상술한 서버들의 상태를 모니터링하고, 장애 상황에 대한 이벤트 알림 기능(SMS, e-mail)을 제공할 수 있다.6 illustrates a peer management system according to an embodiment of the present invention. The LMS 610 illustrated in FIG. 6 may refer to a peer management system, the IS 620 may refer to an index server, the PS 630 may refer to a packetizing server, and the DS 640 may refer to a delivery server. In this case, the peer management system may perform management, distribution, update, and monitoring functions for the index server, the packetizing server, and the delivery server, and perform statistics collection and analysis function for the peer (peer). For example, the peer management system may monitor the state of the above-described servers, such as CPU or memory usage or traffic, and provide an event notification function (SMS, e-mail) for a failure situation.

도 7은 본 발명의 일실시예에 있어서, 피어에서 이용 가능한 버퍼를 설명하기 위한 도면이다. 피어는 상술한 바와 같이 클라이언트에 설치되어 동작할 수 있는 소프트웨어로서 어느 피스를 어디로부터 수신할 것인가를 결정한다. 아래 표 2는 피어에서의 피스 선택 방법과 수신 가능한 소스를 나타내고 있다.7 is a diagram for explaining a buffer available in a peer according to an embodiment of the present invention. A peer is software that can be installed and operated on a client as described above to determine which piece to receive from where. Table 2 below shows how to select a piece at a peer and the source that can be received.

Figure 112012056718712-pat00003
Figure 112012056718712-pat00003

표 2에서 'Rarest First'는 네트워크 상에서 가장 드문(rare) 피스를 먼저 수신하는 피스 선택 방법을 의미하고, 'Progressive'는 앞에서부터 순차적으로 피스를 수신하는 피스 선택 방법을 의미한다. 이때, 피스는 딜리버리 서버를 통해 수신하거나 다른 피어로부터 수신할 수 있다.In Table 2, 'Rarest First' means a piece selection method for receiving the rarest pieces first on the network, and 'Progressive' means a piece selection method for receiving pieces sequentially from the front. In this case, the piece may be received through a delivery server or received from another peer.

이때, 피어는 재생을 원활하게 하고, 공유효율을 높이기 위해 수신된 피스를 저장하는 버퍼를 이용할 수 있다. 도 7은 제1 버퍼(710) 내지 제3 버퍼(730)를 도시하고 있다.At this time, the peer may use a buffer to store the received piece in order to facilitate playback and increase sharing efficiency. FIG. 7 shows the first buffer 710 to the third buffer 730. FIG.

우선, 제1 버퍼(710)는 'Progressive'를 통해 수신된 피스를 저장하기 위한 제1 범위(711)와 'Rarest First'를 통해 수신된 피스를 저장하기 위한 제2 범위(712)로 나뉠 수 있다. 동시에, 제1 버퍼(710)는 딜리버리 서버를 통해 수신된 피스를 저장하기 위한 제3 범위(713)와 다른 피어를 통해 수신된 피스를 저장하기 위한 제4 범위(714)로 나뉠 수 있다.First, the first buffer 710 may be divided into a first range 711 for storing a piece received through 'Progressive' and a second range 712 for storing a piece received through 'Rarest First'. have. At the same time, the first buffer 710 may be divided into a third range 713 for storing a piece received via the delivery server and a fourth range 714 for storing a piece received via another peer.

제2 버퍼(720)는 실제로 나뉘어진 버퍼의 영역들을 나타내고 있다. 즉, 제2 버퍼(720)는 딜리버리 서버를 통해 'Progressive'로 수신된 피스를 저장하기 위한 제1 영역(721), 다른 피어를 통해 'Progressive'로 수신된 피스를 저장하기 위한 제2 영역(722) 및 다른 피어를 통해 'Rarest First'로 수신된 피스를 저장하기 위한 제3 영역(723)으로 구분될 수 있다.The second buffer 720 actually shows regions of the divided buffer. That is, the second buffer 720 includes a first region 721 for storing pieces received in a 'progressive' manner via a delivery server, a second region 721 for storing pieces received in a 'progressive' manner via another peer 722) and a third area 723 for storing pieces received as 'Rarest First' through other peers.

제3 버퍼(730)는 나뉘어진 영역의 크기가 서로 다를 수 있음을 나타내고 있다. 즉, 제3 버퍼(730)는 영역 A(731), 영역 B(732) 및 영역 C(733)가 각각 서로 다른 크기 비율로 구성된 일례를 나타낸다. 일례로, 영역 A(731), 영역 B(732), 영역 C(733)의 크기 비율은 1:4:16의 비율을 가질 수 있다. 이러한 비율은 필요에 따라 조절될 수 있다. 또한, 필요에 따라 영역 B(732)와 영역 C(733)에도 일정 부분의 피스가 딜리버리 서버로부터 수신되어 저장될 수 있다. The third buffer 730 indicates that the divided regions may have different sizes. That is, the third buffer 730 represents an example in which the region A 731, the region B 732, and the region C 733 have different size ratios. For example, the size ratio of the region A 731, the region B 732, and the region C 733 may have a ratio of 1: 4: 16. This ratio can be adjusted as needed. In addition, a portion of the piece may be received from the delivery server and stored in the area B 732 and the area C 733 as needed.

도 8은 본 발명의 일실시예에 있어서, P2P 기반의 스트리밍 서비스에서 서버 사용량을 조절하는 방법을 도시한 흐름도이다. 본 실시예에 따른 서버 사용량을 조절하는 방법은 도 1 및 도 2를 통해 설명한 서버 사용량 조절 시스템을 통해 수행될 수 있다.8 is a flowchart illustrating a method of controlling server usage in a P2P based streaming service according to an embodiment of the present invention. The method for adjusting server usage according to the present embodiment may be performed through the server usage adjusting system described with reference to FIGS. 1 and 2.

단계(810)에서 서버 사용량 조절 시스템은 현재 동시 접속자수를 제공한다. 상술한 바와 같이, 라이브 캐스트 관리 시스템은 동시 접속자수를 관리하고, 서버 사용량 조절 시스템은 라이브 캐스트 관리 시스템에서 관리되는 동시 접속자수를 수신하여 제공할 수 있다.In step 810, the server usage adjustment system provides the current number of concurrent users. As described above, the live cast management system manages the number of concurrent users, and the server usage adjustment system may receive and provide the number of concurrent users managed by the live cast management system.

단계(820)에서 서버 사용량 조절 시스템은 동시 접속자의 유입률을 이용하여 결정되는 상수의 현재 동시 접속자수에 대한 비율에 기초하여 서버 사용량을 조절한다. 이때, 동시 접속자의 유입률을 이용하여 결정되는 상수는 유입률이 높을수록 상대적으로 큰 값으로 결정되고, 유입률이 낮을수록 상대적으로 작은 값으로 결정될 수 있다.In step 820, the server usage control system adjusts the server usage based on the ratio of the constant number of concurrent users determined by using the inflow rate of the concurrent users. In this case, the constant determined using the inflow rate of the simultaneous accessor may be determined as a relatively large value as the inflow rate is high, and a relatively small value as the inflow rate is low.

또한, 서버 사용량에 기초하여 데이터 스트림에 대한 피스를 클라이언트로 전송하는 딜리버리 서버의 수가 결정될 수 있다. 이 경우, 클라이언트는 피스를 임시로 저장하는 버퍼를 포함하고, 버퍼는 순차적으로 피스를 수신하기 위한 피스 선택 방법인 프로그레시브를 이용하여 딜리버리 서버를 통해 수신한 피스를 저장하기 위한 제1 영역, 프로그레시브를 이용하여 다른 클라이언트를 통해 수신한 피스를 저장하기 위한 제2 영역 및 네트워크 상에서 가장 드문(rare) 피스를 먼저 수신하기 위한 피스 선택 방법인 레어리스트 퍼스트(rarest first)를 이용하여 다른 클라이언트를 통해 수신한 피스를 저장하기 위한 제3 영역을 포함할 수 있다.In addition, the number of delivery servers that transmit pieces of the data stream to the client may be determined based on server usage. In this case, the client includes a buffer for temporarily storing the piece, and the buffer includes a first area for progressively storing the piece received through the delivery server, progressive using a piece selection method for sequentially receiving the piece. A second area for storing pieces received through another client, and a Rare first, which is a piece selection method for first receiving the rarest piece on the network. It may include a third area for storing the piece.

도 9는 본 발명의 일실시예에 있어서, P2P 기반의 스트리밍 서비스에서 서버 사용량을 조절하는 방법을 도시한 흐름도이다. 본 실시예에 따른 서버 사용량을 조절하는 방법은 도 1 및 도 2를 통해 설명한 서버 사용량 조절 시스템을 통해 수행될 수 있다.9 is a flowchart illustrating a method of controlling server usage in a P2P based streaming service according to an embodiment of the present invention. The method for adjusting server usage according to the present embodiment may be performed through the server usage adjusting system described with reference to FIGS. 1 and 2.

서버 사용량 조절 시스템은 단계(910)에서 클라이언트의 목록을 유지하고, 검색 서비스를 제공하고, 단계(920)에서 인코더로부터 데이터 스트림을 수신하여 피스로 인덱싱한다. 또한, 서버 사용량 조절 시스템은 단계(930)에서 클라이언트의 요청에 따라 피스를 클라이언트로 전송하고, 단계(940)에서 동시 접속자수, 공유율, 사용자 속도 분포, 평균 시청 시간 및 시청 채널수 중 적어도 하나에 대한 정보를 생성한다. 이때, 동시 접속자의 유입률을 이용하여 결정되는 상수의 현재 동시 접속자수에 대한 비율에 따라 서버 사용량이 조절될 수 있다. 이 경우, 상기 상수는 유입률이 높을수록 상대적으로 큰 값으로 결정되고, 유입률이 낮을수록 상대적으로 작은 값으로 결정될 수 있다.The server usage control system maintains a list of clients at step 910, provides a search service, and receives a data stream from an encoder at 920 and indexes the pieces. In addition, the server usage control system transmits the piece to the client according to the client's request in step 930, and at step 940, at least one of the number of concurrent users, share rate, user speed distribution, average viewing time and viewing channel number Generates information about At this time, the server usage may be adjusted according to the ratio of the constant number of concurrent users determined by using the inflow rate of the concurrent users. In this case, the constant may be determined as a relatively large value as the inflow rate is high, and a relatively small value as the inflow rate is low.

또한, 서버 사용량에 기초하여 데이터 스트림에 대한 피스를 클라이언트로 전송하는 딜리버리 서버의 수가 결정될 수 있다. 이때, 클라이언트는 피스를 임시로 저장하는 버퍼를 포함하고, 버퍼는 순차적으로 피스를 수신하기 위한 피스 선택 방법인 프로그레시브를 이용하여 딜리버리 서버를 통해 수신한 피스를 저장하기 위한 제1 영역, 프로그레시브를 이용하여 다른 클라이언트를 통해 수신한 피스를 저장하기 위한 제2 영역 및 네트워크 상에서 가장 드문(rare) 피스를 먼저 수신하기 위한 피스 선택 방법인 레어리스트 퍼스트(rarest first)를 이용하여 다른 클라이언트를 통해 수신한 피스를 저장하기 위한 제3 영역을 포함할 수 있다.In addition, the number of delivery servers that transmit pieces of the data stream to the client may be determined based on server usage. At this time, the client includes a buffer for temporarily storing the piece, the buffer using the first area, progressive for storing the piece received through the delivery server using progressive, a piece selection method for sequentially receiving the piece Received through other clients using a second area for storing pieces received through other clients and a rare first, a piece selection method for first receiving the rarest pieces on the network It may include a third area for storing the.

이와 같이, 본 발명의 실시예들에 따른 시스템 및 방법을 이용하면, 동시 접속자의 유입률과 현재 동시 접속자수에 따라 적응적으로 서버 사용량을 조절할 수 있고, 동시 접속자의 유입률에 기초하여 결정되는 상수의 현재 동시 접속자수에 대한 비율을 통해 서버 사용량을 결정함으로써, 동시 접속자수에 관계없이 항상 낮은 서버 트래픽을 유지할 수 있다.As such, by using the system and the method according to the embodiments of the present invention, it is possible to adaptively adjust the server usage according to the inflow rate of the concurrent users and the current number of concurrent users, and to determine a constant determined based on the inflow rate of the concurrent users. By determining server usage based on the current number of concurrent users, you can always maintain low server traffic regardless of the number of concurrent users.

본 발명의 실시예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 또한, 상술한 파일 시스템은 컴퓨터 판독이 가능한 기록 매체에 기록될 수 있다.Methods according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. In addition, the above-described file system can be recorded in a computer-readable recording medium.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

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

120: 패킷타이징 서버
130: 딜리버리 서버 그룹
131: 딜리버리 서버
140: 클라이언트
141: 피어
142: 플레이어
150: 복수의 피어
120: packetizing server
130: delivery server group
131: delivery server
140: client
141: peer
142: player
150: multiple peers

Claims (5)

서버의 트래픽 사용량을 조절하는 시스템에 있어서,
현재 동시 접속자수를 제공하는 현재 동시 접속자수 제공부; 및
동시 접속자수를 이용하여 결정되는 상수의 상기 현재 동시 접속자수에 대한 비율에 기초하여 상기 현재 동시 접속자수가 증가할수록 서버의 트래픽 사용량이 감소하도록 조절하는 서버 사용량 조절부
를 포함하고,
P2P기반의 피어와 상기 서버간 트래픽의 피크치는 상기 상수 이하가 되고, 상기 서버로부터 감소된 트래픽은 상기 현재 동시 접속자수가 증가함에 따라 증가한 피어들에 의해 커버되는, 서버 사용량 조절 시스템.
In the system to control the traffic usage of the server,
A current simultaneous access number providing unit providing a current concurrent access number; And
A server usage controller that adjusts the traffic usage of the server to decrease as the number of concurrent users increases based on a ratio of the constant to the current concurrent users, which is determined using the number of concurrent users.
Including,
The peak value of P2P-based peer-to-server traffic is below the constant, and the reduced traffic from the server is covered by the increased peers as the current number of concurrent users increases.
제1항에 있어서,
상기 서버 사용량에 기초하여 데이터 스트림에 대한 피스를 클라이언트로 전송하는 딜리버리 서버의 수가 결정되는, 서버 사용량 조절 시스템.
The method of claim 1,
And the number of delivery servers that transmit pieces of data streams to clients based on the server usage is determined.
서버의 트래픽 사용량을 조절하는 방법에 있어서,
현재 동시 접속자수를 제공하는 단계; 및
동시 접속자수를 이용하여 결정되는 상수의 상기 현재 동시 접속자수에 대한 비율에 기초하여 상기 현재 동시 접속자수가 증가할수록 서버의 트래픽 사용량이 감소하도록 조절하는 단계
를 포함하고,
P2P 기반의 피어와 상기 서버간 트래픽의 피크치는 상기 상수 이하가 되고, 상기 서버로부터 감소된 트래픽은 상기 현재 동시 접속자수가 증가함에 따라 증가한 피어들에 의해 커버되는, 서버 사용량 조절 방법.
In the method of adjusting the traffic usage of the server,
Providing a current number of concurrent users; And
Adjusting the traffic usage of the server to decrease as the number of concurrent users increases based on a ratio of the constant to the number of concurrent users, which is determined using the number of concurrent users.
Including,
The peak value of the P2P based peer-to-server traffic is below the constant, and the traffic reduced from the server is covered by the increased peers as the current number of concurrent users increases.
제3항에 있어서,
상기 서버 사용량에 기초하여 데이터 스트림에 대한 피스를 클라이언트로 전송하는 딜리버리 서버의 수가 결정되는, 서버 사용량 조절 방법.
The method of claim 3,
And determining the number of delivery servers that transmit pieces of data streams to the client based on the server usage.
제3항 또는 제4항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for performing the method of claim 3.
KR1020120077359A 2012-07-16 2012-07-16 System and method for controlling server usage in streaming service based on peer to peer KR101262622B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120077359A KR101262622B1 (en) 2012-07-16 2012-07-16 System and method for controlling server usage in streaming service based on peer to peer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120077359A KR101262622B1 (en) 2012-07-16 2012-07-16 System and method for controlling server usage in streaming service based on peer to peer

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020100118066A Division KR101212366B1 (en) 2010-11-25 2010-11-25 System and method for controlling server usage in streaming service based on peer to peer

Publications (2)

Publication Number Publication Date
KR20120095822A KR20120095822A (en) 2012-08-29
KR101262622B1 true KR101262622B1 (en) 2013-05-08

Family

ID=46886161

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120077359A KR101262622B1 (en) 2012-07-16 2012-07-16 System and method for controlling server usage in streaming service based on peer to peer

Country Status (1)

Country Link
KR (1) KR101262622B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200005269A (en) * 2018-07-06 2020-01-15 주식회사 핀샷 E-commerce and e-auction system using live streaming service for live-commerce

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200005269A (en) * 2018-07-06 2020-01-15 주식회사 핀샷 E-commerce and e-auction system using live streaming service for live-commerce
KR102212407B1 (en) * 2018-07-06 2021-02-04 주식회사 핀샷 E-commerce and e-auction system using live streaming service for live-commerce

Also Published As

Publication number Publication date
KR20120095822A (en) 2012-08-29

Similar Documents

Publication Publication Date Title
US9497035B2 (en) Method, device, and system for playing media based on P2P
JP5529177B2 (en) System and method for buffering with P2P-based streaming service, and system for distributing an application that processes buffering on a client
US8745262B2 (en) Adaptive network content delivery system
US10666522B2 (en) Server side content delivery network quality of service
US20170149871A1 (en) Selective access of multi-rate data from a server and/or peer
CN101242430B (en) Fixed data pre-access method in peer network order system
WO2010060106A1 (en) Adaptive network content delivery system
WO2013174301A1 (en) Information dissemination system based on convergence of broadcast network and internet
WO2017125017A1 (en) Method for adjusting cache content, device, and system
KR101212366B1 (en) System and method for controlling server usage in streaming service based on peer to peer
KR101262622B1 (en) System and method for controlling server usage in streaming service based on peer to peer
US9386056B1 (en) System, method and computer readable medium for providing media stream fragments
Tian et al. A novel caching mechanism for peer-to-peer based media-on-demand streaming
KR101242830B1 (en) System and method for executing buffering in streaming service based on peer to peer and system for distributing applicaiotn processing buffering
KR101914105B1 (en) System and method for executing buffering in streaming service based on peer to peer and system for distributing applicaiotn processing buffering
KR101695910B1 (en) System and method for packetizing data stream in streaming service based on peer to peer
KR101649562B1 (en) System and method for packetizing data stream in streaming service based on peer to peer
CN101436946B (en) Method for scheduling data request in peer-to-peer sharing network
KR101417890B1 (en) System and method for packetizing data stream in streaming service based on peer to peer
KR100797389B1 (en) The cluster based streaming system and method using multiple description coding
KR20120116378A (en) System and method for executing buffering in streaming service based on peer to peer and system for distributing applicaiotn processing buffering
Pelayo Bandwidth prediction for adaptive video streaming
Czyrnek et al. CDN for live and on-demand video services over IP
Guo Insights into access patterns of internet media systems: measurements, analysis, and system design
Hareesh et al. Performance Analysis of Peer to Peer Video on Demand System using V-Chaining Mechanism

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160329

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 5