[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20170134192A - Oeverlay management server and resource allcatiom method of thereof - Google Patents

Oeverlay management server and resource allcatiom method of thereof Download PDF

Info

Publication number
KR20170134192A
KR20170134192A KR1020170038997A KR20170038997A KR20170134192A KR 20170134192 A KR20170134192 A KR 20170134192A KR 1020170038997 A KR1020170038997 A KR 1020170038997A KR 20170038997 A KR20170038997 A KR 20170038997A KR 20170134192 A KR20170134192 A KR 20170134192A
Authority
KR
South Korea
Prior art keywords
peer
cache server
list
server
cache
Prior art date
Application number
KR1020170038997A
Other languages
Korean (ko)
Other versions
KR102292909B1 (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 US15/596,247 priority Critical patent/US20170346888A1/en
Publication of KR20170134192A publication Critical patent/KR20170134192A/en
Application granted granted Critical
Publication of KR102292909B1 publication Critical patent/KR102292909B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • H04L65/4084
    • H04L65/608
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

오버레이 관리 서버의 자원 할당 방법이 개시된다. 일 실시예는 피어들 각각과 캐시 서버 사이의 네트워크 거리(network distance)를 기초로 결정된 원격 피어 리스트(remote peer list)를 상기 캐시 서버로 전송하고, 상기 캐시 서버로부터 컨텐츠를 수신하는 피어의 식별자가 상기 원격 피어 리스트 내에 있는 경우, 상기 피어의 식별자를 포함하는 피어 리스트를 상기 캐시 서버로부터 수신하며, 상기 피어 리스트를 수신하는 경우, 상기 피어를 위한 다른 캐시 서버를 선택하는 단계를 포함한다.A resource allocation method of an overlay management server is disclosed. One embodiment transmits a remote peer list determined based on the network distance between each of the peers and the cache server to the cache server and identifies the peer receiving the content from the cache server Receiving, from the cache server, a peer list including an identifier of the peer if it is in the remote peer list; and selecting another cache server for the peer when receiving the peer list.

Description

오버레이 관리 서버 및 이의 자원 할당 방법{OEVERLAY MANAGEMENT SERVER AND RESOURCE ALLCATIOM METHOD OF THEREOF}[0001] DESCRIPTION [0002] OVERLAY MANAGEMENT SERVER AND RESOURCE ALLCATIOM METHOD OF THEREOF [

아래 실시예들은 오버레이 관리 서버 및 이의 자원 할당 방법에 관한 것이다.The embodiments described below relate to an overlay management server and a resource allocation method thereof.

피투피(Peer-to-Peer, P2P) 네트워크는 피어와 피어가 직접 연결되어 피어가 서버가 아닌 다른 피어와 컨텐츠를 송수신할 수 있는 분산형 네트워크이다. 이에 따라, 피어는 컨텐츠를 수신하는 클라이언트가 될 수 있고, 컨텐츠를 제공하는 서버가 될 수 있다. 또한, P2P 네트워크는 특정 서버를 중심으로 형성되지 않고 공유되는 컨텐츠를 중심으로 형성될 수 있다. 이로 인해, P2P 네트워크에서 피어간 연결 및 네트워크의 크기가 유동적이다.A peer-to-peer (P2P) network is a distributed network where peers can directly communicate with peers other than the server. Accordingly, the peer can be a client that receives content, and can be a server that provides content. In addition, a P2P network can be formed around contents that are not formed around a specific server but are shared. As a result, peer-to-peer connections and the size of networks in a P2P network are flexible.

P2P 네트워크 관련 선행기술로, 한국 공개특허공보 제10-2014-0008065호(발명의 명칭: 관리 기능이 부여된 피투피 네트워크 시스템, 출원인: 한국전자통신연구원)가 있다. 해당 공개특허공보에는 적어도 하나의 피어의 상태에 대한 정보, 기반 네트워크의 상태에 대한 정보, 서비스 측면의 사용자에 대한 정보 중 적어도 하나를 활용하여 상기 적어도 하나의 피어에게 P2P 네트워크의 구성을 위한 정보들을 제공하고 서비스 제공자로 하여금 적어도 하나의 피어에게 서비스를 안정적으로 제공할 수 있고 제공되는 서비스를 제어하기 위한 관리 기능이 부여된 P2P 네트워크 시스템이 개시되어 있다.As a prior art related to the P2P network, Korean Patent Laid-Open No. 10-2014-0008065 entitled " Peer-to-peer network system with management function, Applicant: Korea Electronics and Telecommunications Research Institute " The disclosure discloses to the at least one peer at least one of the information on the state of the at least one peer, the information about the state of the base network, and the information about the user in terms of the service, A P2P network system is provided in which a service provider can stably provide a service to at least one peer and is given a management function for controlling the provided service.

이러한 P2P 네트워크를 이용하여 스트리밍 서비스가 제공될 수 있다. 다시 말해, P2P 기반 스트리밍 서비스가 제공될 수 있다. 이 때, P2P 네트워크에는 유휴 자원이 있음에도 컨텐츠 제공자가 유휴 자원의 사용을 요청하지 않으면, 피어들은 해당 컨텐츠 제공자와만 연결을 맺으려 한다. 이 경우, 컨텐츠 제공자는 피어들에게 컨텐츠를 배포하는데 어려움이 발생할 수 있다.A streaming service can be provided using such a P2P network. In other words, a P2P-based streaming service can be provided. At this time, if there is an idle resource in the P2P network but the content provider does not request the use of the idle resource, the peer tries to make a connection with only that content provider. In this case, the content provider may have difficulty distributing the content to the peers.

일 측에 따른 오버레이 관리 서버의 자원 할당 방법은 오버레이 네트워크 내의 피어들 각각과 캐시 서버 사이의 네트워크 거리(network distance)를 기초로 결정된 원격 피어 리스트(remote peer list)를 상기 캐시 서버로 전송하는 단계; 상기 원격 피어 리스트를 전송한 후, 상기 캐시 서버와 인터랙팅하는 피어의 식별자를 포함하는 피어 리스트를 상기 캐시 서버로부터 수신하는 단계; 및 상기 오버레이 네트워크에 추가할 다른 캐시 서버를 상기 피어 리스트를 이용하여 선택하는 단계를 포함한다.According to one aspect of the present invention, there is provided a resource allocation method of an overlay management server, including: transmitting a remote peer list determined based on a network distance between each of peers in a overlay network and a cache server to the cache server; Receiving, from the cache server, a peer list including an identifier of a peer interacting with the cache server after transmitting the remote peer list; And selecting another cache server to be added to the overlay network using the peer list.

상기 다른 캐시 서버를 선택하는 단계는, 상기 피어 리스트를 수신하는 경우, 캐시 서버들 각각과 상기 피어 사이의 네트워크 거리를 기초로 결정된 캐시 서버 리스트를 획득하는 단계; 및 상기 캐시 서버 리스트를 기초로 상기 캐시 서버들 중에서 상기 다른 캐시 서버를 선택하는 단계를 포함할 수 있다.Wherein selecting the other cache server comprises: obtaining a list of cache servers determined based on a network distance between each of the cache servers and the peer when receiving the peer list; And selecting the other cache server among the cache servers based on the cache server list.

상기 자원 할당 방법은 상기 캐시 서버로부터 자원 활용 상태(resource utilization status) 정보를 수신하는 단계; 및 상기 자원 활용 상태 정보를 기초로 상기 캐시 서버의 자원을 해제할 것인지 여부를 결정하는 단계를 더 포함할 수 있다.The resource allocation method comprising: receiving resource utilization status information from the cache server; And determining whether to release resources of the cache server based on the resource utilization status information.

상기 자원 활용 상태 정보는, 상기 캐시 서버의 자원 활용 상태 체크의 시작 시간(start time)을 나타내는 시작 타임 스탬프(start timestamp); 상기 캐시 서버의 자원 활용 상태 체크의 종료 시간(end time)을 나타내는 종료 타임 스탬프(end timestamp); 상기 캐시 서버의 저장 용량에 대한 사용량(storage usage); 상기 캐시 서버의 업로드 트래픽; 상기 캐시 서버의 다운로드 트래픽; 상기 캐시 서버의 업링크 대역폭; 상기 캐시 서버의 다운링크 대역폭; 상기 캐시 서버가 트래픽을 업로드할 때 사용되는 피어 연결의 개수; 및 상기 캐시 서버가 트래픽을 다운로드할 때 사용되는 피어 연결의 개수를 포함할 수 있다.Wherein the resource utilization status information includes a start timestamp indicating a start time of the resource utilization status check of the cache server; An end timestamp indicating an end time of the resource utilization status check of the cache server; Storage usage of the cache server with respect to storage capacity; Upload traffic of the cache server; Download traffic of the cache server; An uplink bandwidth of the cache server; The downlink bandwidth of the cache server; The number of peer connections used when the cache server uploads traffic; And the number of peer connections used when the cache server downloads traffic.

상기 자원 할당 방법은 상기 다른 캐시 서버의 자원을 예약하기 위해 상기 다른 캐시 서버에게 요청 메시지를 전송하는 단계; 및 상기 다른 캐시 서버로부터 응답 메시지를 수신하는 단계를 더 포함할 수 있다.The resource allocation method comprising: transmitting a request message to the another cache server to reserve resources of the other cache server; And receiving a response message from the other cache server.

상기 응답 메시지는, 예약되는 자원의 식별자, 상기 다른 캐시 서버의 가상 피어의 식별자, 및 상기 예약되는 자원이 할당되는 최대 시간 중 적어도 하나를 포함할 수 있다.The response message may include at least one of an identifier of a reserved resource, an identifier of a virtual peer of the other cache server, and a maximum time in which the reserved resource is allocated.

상기 캐시 서버는, 상기 원격 피어 리스트를 수신하는 경우, 상기 피어가 상기 원격 피어 리스트 내에 있는지 체크하고, 상기 피어가 상기 원격 피어 리스트에 있는 경우, 상기 오버레이 관리 서버로 전송할 피어 리스트에 상기 피어를 추가할 수 있다.Wherein the cache server, when receiving the remote peer list, checks whether the peer is in the remote peer list and adds the peer to the peer list to be transmitted to the overlay management server if the peer is in the remote peer list can do.

일 측에 따른 오버레이 관리 서버는 통신 인터페이스; 및 오버레이 네트워크 내의 피어들 각각과 캐시 서버 사이의 네트워크 거리(network distance)를 기초로 결정된 원격 피어 리스트(remote peer list)를 상기 통신 인터페이스를 통해 상기 캐시 서버로 전송하고, 상기 원격 피어 리스트를 전송한 후, 상기 캐시 서버와 인터랙팅하는 피어의 식별자를 포함하는 피어 리스트를 상기 통신 인터페이스를 통해 상기 캐시 서버로부터 수신하며, 상기 오버레이 네트워크에 추가할 다른 캐시 서버를 상기 피어 리스트를 이용하여 선택하는 컨트롤러를 포함한다.The overlay management server according to one side comprises a communication interface; And a remote peer list determined based on a network distance between each of the peers in the overlay network and the cache server to the cache server via the communication interface, A controller that receives a peer list including an identifier of a peer interacting with the cache server from the cache server via the communication interface and selects another cache server to be added to the overlay network using the peer list .

상기 컨트롤러는, 상기 피어 리스트를 수신하는 경우, 캐시 서버들 각각과 상기 피어 사이의 네트워크 거리를 기초로 결정된 캐시 서버 리스트를 획득하고, 상기 캐시 서버 리스트를 기초로 상기 캐시 서버들 중에서 상기 다른 캐시 서버를 선택할 수 있다.Wherein the controller, when receiving the peer list, obtains a cache server list determined based on a network distance between each of the cache servers and the peer, and, based on the cache server list, Can be selected.

상기 컨트롤러는, 상기 캐시 서버로부터 상기 통신 인터페이스를 통해 자원 활용 상태(resource utilization status) 정보를 수신하고, 상기 자원 활용 상태 정보를 기초로 상기 캐시 서버의 자원을 해제할 것인지 여부를 결정할 수 있다.The controller may receive resource utilization status information from the cache server via the communication interface and determine whether to release resources of the cache server based on the resource utilization status information.

상기 자원 활용 상태 정보는, 상기 캐시 서버의 자원 활용 상태 체크의 시작 시간(start time)을 나타내는 시작 타임 스탬프(start timestamp); 상기 캐시 서버의 자원 활용 상태 체크의 종료 시간(end time)을 나타내는 종료 타임 스탬프(end timestamp); 상기 캐시 서버의 저장 용량에 대한 사용량(storage usage); 상기 캐시 서버의 업로드 트래픽; 상기 캐시 서버의 다운로드 트래픽; 상기 캐시 서버의 업링크 대역폭; 상기 캐시 서버의 다운링크 대역폭; 상기 캐시 서버가 트래픽을 업로드할 때 사용되는 피어 연결의 개수; 및 상기 캐시 서버가 트래픽을 다운로드할 때 사용되는 피어 연결의 개수를 포함할 수 있다.Wherein the resource utilization status information includes a start timestamp indicating a start time of the resource utilization status check of the cache server; An end timestamp indicating an end time of the resource utilization status check of the cache server; Storage usage of the cache server with respect to storage capacity; Upload traffic of the cache server; Download traffic of the cache server; An uplink bandwidth of the cache server; The downlink bandwidth of the cache server; The number of peer connections used when the cache server uploads traffic; And the number of peer connections used when the cache server downloads traffic.

상기 컨트롤러는, 상기 다른 캐시 서버의 자원을 예약하기 위해 상기 다른 캐시 서버에게 요청 메시지를 상기 통신 인터페이스를 통해 전송하고, 상기 다른 캐시 서버로부터 상기 통신 인터페이스를 통해 응답 메시지를 수신할 수 있다.The controller may send a request message to the other cache server via the communication interface to reserve resources of the other cache server and receive a response message from the other cache server via the communication interface.

상기 응답 메시지는, 예약되는 자원의 식별자, 상기 다른 캐시 서버의 가상 피어의 식별자, 및 상기 예약되는 자원이 할당되는 최대 시간 중 적어도 하나를 포함할 수 있다.The response message may include at least one of an identifier of a reserved resource, an identifier of a virtual peer of the other cache server, and a maximum time in which the reserved resource is allocated.

상기 캐시 서버는, 상기 원격 피어 리스트를 수신하는 경우, 상기 피어가 상기 원격 피어 리스트 내에 있는지 체크하고, 상기 피어가 상기 원격 피어 리스트에 있는 경우, 상기 오버레이 관리 서버로 전송할 피어 리스트에 상기 피어를 추가할 수 있다.Wherein the cache server, when receiving the remote peer list, checks whether the peer is in the remote peer list and adds the peer to the peer list to be transmitted to the overlay management server if the peer is in the remote peer list can do.

일 측에 따른 관리형 피어투피어 네트워크 시스템은 캐시 서버; 및 피어들 각각과 상기 캐시 서버 사이의 네트워크 거리(network distance)를 기초로 결정된 원격 피어 리스트(remote peer list)를 상기 캐시 서버로 전송하고, 상기 원격 피어 리스트를 전송한 후, 상기 캐시 서버와 인터랙팅하는 피어의 식별자를 포함하는 피어 리스트를 상기 캐시 서버로부터 수신하고, 상기 오버레이 네트워크에 추가할 다른 캐시 서버를 상기 피어 리스트를 이용하여 선택하는 오버레이 관리 서버를 포함한다.A managed peer-to-peer network system according to one aspect includes a cache server; And a remote peer list determined based on a network distance between each of the peers and the cache server to the cache server, and after transmitting the remote peer list, And an overlay management server for receiving from the cache server a peer list including an identifier of a peer to be added, and selecting another cache server to be added to the overlay network using the peer list.

상기 오버레이 관리 서버는, 상기 피어 리스트를 수신하는 경우, 캐시 서버들 각각과 상기 피어 사이의 네트워크 거리를 기초로 결정된 캐시 서버 리스트를 획득하고, 상기 캐시 서버 리스트를 기초로 상기 캐시 서버들 중에서 상기 다른 캐시 서버를 선택할 수 있다.Wherein the overlay management server, when receiving the peer list, obtains a cache server list determined based on a network distance between each of the cache servers and the peer, and, based on the cache server list, You can choose a cache server.

상기 오버레이 관리 서버는, 상기 캐시 서버로부터 자원 활용 상태(resource utilization status) 정보를 수신하고, 상기 자원 활용 상태 정보를 기초로 상기 캐시 서버의 자원을 해제할 것인지 여부를 결정할 수 있다.The overlay management server may receive resource utilization status information from the cache server and may determine whether to release resources of the cache server based on the resource utilization status information.

상기 자원 활용 상태 정보는, 상기 캐시 서버의 자원 활용 상태 체크의 시작 시간(start time)을 나타내는 시작 타임 스탬프(start timestamp); 상기 캐시 서버의 자원 활용 상태 체크의 종료 시간(end time)을 나타내는 종료 타임 스탬프(end timestamp); 상기 캐시 서버의 저장 용량에 대한 사용량(storage usage); 상기 캐시 서버의 업로드 트래픽; 상기 캐시 서버의 다운로드 트래픽; 상기 캐시 서버의 업링크 대역폭; 상기 캐시 서버의 다운링크 대역폭; 상기 캐시 서버가 트래픽을 업로드할 때 사용되는 피어 연결의 개수; 및 상기 캐시 서버가 트래픽을 다운로드할 때 사용되는 피어 연결의 개수를 포함할 수 있다.Wherein the resource utilization status information includes a start timestamp indicating a start time of the resource utilization status check of the cache server; An end timestamp indicating an end time of the resource utilization status check of the cache server; Storage usage of the cache server with respect to storage capacity; Upload traffic of the cache server; Download traffic of the cache server; An uplink bandwidth of the cache server; The downlink bandwidth of the cache server; The number of peer connections used when the cache server uploads traffic; And the number of peer connections used when the cache server downloads traffic.

실시예들은 피어가 컨텐츠를 수신하기 어려운 상황이 발생하였을 때, 피어의 상태 정보 및 캐시 서버의 상태 정보를 파악하여 적절한 캐시 서버를 할당할 수 있다. Embodiments can allocate an appropriate cache server by grasping status information of the peer and status information of the cache server when a situation where it is difficult for the peer to receive the content occurs.

또한, 실시예들은 컨텐츠를 수신하는 하나 이상의 피어와 네크워크 거리상으로 적절한 캐시 서버를 할당하여 스트리밍 컨텐츠를 효율적으로 배포할 수 있다. 또한, 실시예들은 동적으로 오버레이 네트워크에 가입 또는 탈퇴하는 피어들 때문에 필요한 캐시 서버의 개수를 정확히 알 수 없는 상황에서, 적절한 개수의 캐시 서버를 할당함으로써 스트리밍 컨텐츠를 효율적으로 배포할 수 있다. In addition, embodiments may efficiently distribute streaming content by allocating a suitable cache server on the network distance with one or more peers receiving the content. Embodiments can also efficiently distribute streaming content by allocating an appropriate number of cache servers in a situation where the number of cache servers required due to peers joining or leaving the overlay network dynamically can not be accurately known.

또한, 실시예들은 할당된 캐시 서버가 더 이상 활용되지 않으면, 할당된 캐시 서버를 해제할 수 있다.In addition, the embodiments may release the allocated cache server if the allocated cache server is no longer utilized.

도 1은 일 실시예에 따른 관리형 P2P 네트워크 시스템을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 관리형 P2P 네트워크 시스템에서 캐시 서버가 캐시 서버 자신이 서빙하는 피어들 중 원격에 있는 피어에 대한 피어 리스트를 보고하는 것을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 관리형 P2P 네트워크 시스템에서 오버레이 관리 서버가 캐시 서버를 선택하는 것을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 관리형 P2P 네트워크 시스템에서 캐시 서버의 자원 활용 상태 보고를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 관리형 P2P 네트워크 시스템에서 오버레이 관리 서버의 자원 할당 방법을 설명하기 위한 순서도이다.
도 6은 일 실시예에 따른 관리형 P2P 네트워크 시스템어서 오버레이 네트워크를 설명하기 위한 블록도이다.
1 is a diagram for explaining a management type P2P network system according to an embodiment.
FIG. 2 is a diagram for explaining that in a managed P2P network system according to an embodiment, a cache server reports a list of peers for a remote peer among the peers served by the cache server itself.
3 is a diagram for explaining how an overlay management server selects a cache server in a managed P2P network system according to an exemplary embodiment.
4 is a view for explaining a resource utilization status report of a cache server in a management type P2P network system according to an embodiment.
5 is a flowchart illustrating a resource allocation method of an overlay management server in a managed P2P network system according to an exemplary embodiment.
FIG. 6 is a block diagram illustrating a management P2P network system overlay network according to an exemplary embodiment of the present invention. Referring to FIG.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Various modifications may be made to the embodiments described below. It is to be understood that the embodiments described below are not intended to limit the embodiments, but include all modifications, equivalents, and alternatives to them.

실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used only to illustrate specific embodiments and are not intended to limit the embodiments. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this embodiment belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as ideal or overly formal in the sense of the art unless explicitly defined herein Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.

실시예들을 설명하기 앞서, 용어들을 간략히 설명한다.Prior to describing the embodiments, the terms are briefly described.

오버레이 관리 서버(Overlay management server, OMS): OMS는 관리형 P2P(managed P2P, MP2P) 네트워크를 관리하고 MP2P 네트워크에 참여하는 피어들을 도울 수 있다. UNIS와의 상호 작용을 통해, OMS는 최적 MP2P 네트워크를 구성하기 위해 최적 피어 리스트를 제공할 수 있다.Overlay management server (OMS): OMS can manage managed P2P (MP2P) networks and help peers participate in MP2P networks. Through interaction with UNIS, the OMS can provide an optimal peer list to construct an optimal MP2P network.

기반 네트워크 정보 서버(Underlying network information server, UNIS): UNIS는 관리형 P2P 네트워크에서 피어들 간의 네트워크 거리 정보를 제공하는 서버를 나타낼 수 있다. UNIS는 피어들 및 OMS와 상호 작용(interact with)할 수 있다.Underlying network information server (UNIS): UNIS can represent a server that provides network distance information between peers in a managed P2P network. UNIS can interact with peers and OMS.

오버레이 네트워크(overlay network): 오버레이 네트워크는 다른 네트워크(another network)의 위에서 구동되는 가상 네트워크이다. 오버레이 네트워크는 노드들의 셋 및 해당 노드들 사이의 링크들을 포함한다. 이러한 링크들은 논리적인 것이어서, 기반 네트워크(underlying network)의 물리적 링크들과 대응될 수 있다.Overlay network: An overlay network is a virtual network running on top of another network. The overlay network includes a set of nodes and links between the nodes. These links are logical and can correspond to the physical links of the underlying network.

캐시 서버(cache server, CS): 캐시 서버는 관리형 P2P 네트워크에서 특정 목적(certain purpose)을 달성하기 위해 컨텐츠의 일부 또는 컨텐츠 전부를 캐싱하는 전용 서버(dedicated server)를 나타낸다. 캐시 서버는 하나 이상의 가상 피어를 갖는다.Cache server (CS): A cache server represents a dedicated server that caches all or a portion of content to achieve a certain purpose in a managed P2P network. The cache server has one or more virtual peers.

오버레이 자원(overlay resource): 오버레이 자원은 오버레이 네트워크의 안정성(stability) 및 성능(performance)을 향상시키기 위해 해당 오버레이 네트워크에 대한 전용 자원(dedicated resource)을 나타낸다. 오버레이 자원은 캐시 서버의 하나 이상의 가상 피어와 릴레이 서버의 하나 이상의 릴레이 인스턴스(relay instance)를 포함한다. Overlay resource: An overlay resource represents a dedicated resource for the overlay network to improve the stability and performance of the overlay network. The overlay resource includes one or more virtual peers of the cache server and one or more relay instances of the relay server.

릴레이 인스턴스(relay instance): 릴레이 인스턴스는 트래픽을 릴레이하는 인스턴스를 나타낸다. 릴레이 인스턴스는 NAT/FW(network address translation/firewall) 뒤에 있는 특정 피어(specific peer)를 위해 트래픽 릴레이를 수행한다. 릴레이 서버에서 구동되는 모든 릴레이 인스턴스는 유니크하게 식별된다. 다시 말해, 릴레이 인스턴스에는 고유 식별자가 할당될 수 있다.Relay instance: A relay instance represents an instance that relays traffic. The relay instance performs a traffic relay for a specific peer behind a NAT / FW (network address translation / firewall). All relay instances running on the relay server are uniquely identified. In other words, the relay instance may be assigned a unique identifier.

릴레이 서버(relay server): 릴레이 서버는 관리형 P2P 네트워크에서 NAT/FW 뒤에 있는 하나 이상의 피어에게 트래픽을 릴레이하거나 NAT/FW 뒤에 있는 하나 이상의 피어로부터 트래픽을 릴레이받는 전용 서버(dedicated server)를 나타낸다. 릴레이 서버는 하나 이상의 릴레이 인스턴스를 갖는다.Relay server: A relay server represents a dedicated server that relays traffic to one or more peers behind a NAT / FW in a managed P2P network or relays traffic from one or more peers behind a NAT / FW. A relay server has one or more relay instances.

가상 피어(virtual peer): 가상 피어는 캐시 서버에서 구동되는 피어로서 동작하는 인스턴스를 나타낸다. 피어로서 동작하는 가상 피어는 하나 이상의 오버레이 네트워크에 참여하고, 다른 피어들과 조각을 교환한다. 여기서, 조각은 컨텐츠의 일부를 의미한다. 캐시 서버에서 구동되는 가상 피어는 유니크하게 식별된다. 다시 말해, 가상 피어에 고유 식별자가 할당될 수 있다.Virtual peer: A virtual peer represents an instance that acts as a peer running on a cache server. A virtual peer that acts as a peer participates in one or more overlay networks and exchanges fragments with other peers. Here, the fragment means a part of the content. Virtual peers running on the cache server are uniquely identified. In other words, a unique identifier may be assigned to the virtual peer.

도 1은 일 실시예에 따른 관리형 P2P 네트워크 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining a management type P2P network system according to an embodiment.

도 1을 참조하면, 일 실시예에 따른 관리형 P2P(managed peer to peer, MP2P) 네트워크 시스템은 서버(110) 및 피어들(120 내지 140)을 포함한다. Referring to FIG. 1, a managed peer to peer (MP2P) network system according to an embodiment includes a server 110 and peers 120-140.

서버(110)는 피어 활동 관리 서버(Peer Activity Management Server, PAMS)(111) 및 오버레이 관리 서버(112)를 포함할 수 있다. The server 110 may include a peer activity management server (PAMS) 111 and an overlay management server 112.

PAMS(111) 및 OMS(112)는 물리적으로 구분될 수 있다. 구현에 따라, PAMS(111) 및 OMS(112)는 하나의 서버(110) 내에서 논리적으로 구분될 수 있다.PAMS 111 and OMS 112 may be physically separated. Depending on the implementation, the PAMS 111 and the OMS 112 may be logically separated within one server 110.

도 1에 도시되지 않았으나, MP2P 네트워크 시스템은 CS, RS, 및 UNIS 중 적어도 하나를 더 포함할 수 있다.Although not shown in FIG. 1, the MP2P network system may further include at least one of CS, RS, and UNIS.

PAMS(111)는 피어들(120 내지 140) 각각의 정보를 관리할 수 있다. 예를 들어, PAMS(111)는 피어들(120 내지 140) 각각의 상태 정보(status information)를 수집 또는 관리할 수 있다. 일 실시예에 있어서, 상태 정보는 정적 정보를 포함할 수 있다. 아래 표 1은 정적 정보의 일례를 보여준다. The PAMS 111 can manage the information of each of the peers 120 to 140. [ For example, the PAMS 111 may collect or manage the status information of each of the peers 120-140. In one embodiment, the status information may include static information. Table 1 below shows an example of static information.

정보 종류Type of information 정보명Information name 의미meaning 정적silence Maximum download BWMaximum download BW 최대 다운로드 대역폭Maximum download bandwidth 정적silence Maximum download BW per overlay network(BWmax)Maximum download BW per overlay network (BW max ) 피어의 오버레이 네트워크 당 최대 다운로드 대역폭Maximum download bandwidth per peer overlay network 정적silence Maximum upload BWMaximum upload BW 최대 업로드 대역폭Maximum upload bandwidth 정적silence Maximum upload BW per overlay networkMaximum upload BW per overlay network 오버레이 네트워크 당 최대 업로드 대역폭Maximum Upload Bandwidth per Overlay Network 정적silence Maximum number of connections for upload per overlay network(CONNECTIONmax)Maximum number of connections for upload per network (CONNECTION max ) 피어의 오버레이 네트워크 당 최대 연결수Maximum number of connections per peer overlay network

또한, 상태 정보는 동적 정보를 포함할 수 있다. 동적 정보는 피어들(120 내지 140)의 활동(activity)과 관련된 정보일 수 있다. 피어들(120 내지 140)은 보고 주기(report period)마다 동적 정보를 PAMS(111)에게 보고할 수 있다. 아래 표 2는 동적 정보의 일례를 보여준다.In addition, the status information may include dynamic information. The dynamic information may be information related to the activity of the peers 120-140. Peers 120-140 may report dynamic information to PAMS 111 every report period. Table 2 below shows an example of dynamic information.

정보 종류Type of information 정보명Information name 의미meaning 동적dynamic OVERLAY_IDOVERLAY_ID 피어가 참여하고 있는 오버레이 네트워크의 IDThe ID of the overlay network that the peer is participating in 동적dynamic OverlayEventOverlayEvent 오버레이 네트워크 참여의 상태를 나타내는 것으로, 피어가 전체 컨텐츠(entire contents)를 수신하면 "COMPLETED"로 설정되고, 피어가 다른 피어와 데이터 교환을 중지하면 "STOPPED"로 설정되며, COMPLETED와 STOPPED 이외의 상태이면, STARTED로 설정됨.It is set to "COMPLETED" when the peer receives the entire contents, and is set to "STOPPED" when the peer stops exchanging data with the other peer. The status other than COMPLETED and STOPPED , It is set to STARTED. 동적dynamic DownloadedDownloaded 피어가 이전 동적 정보를 보고한 후 다운로드한 총량(KB단위)The total amount (in KB) downloaded by the peer after reporting previous dynamic information. 동적dynamic UploadedUploaded 피어가 이전 동적 정보를 보고한 후, 업로드한 총량(KB단위)The total amount uploaded (in kilobytes) after the peer reported previous dynamic information. 동적dynamic LeftLeft 다운로드 완료를 위해서 추가로 다운로드 해야 하는 양(KB단위)Amount of additional download (KB) to complete the download 동적dynamic Connections_for_upConnections_for_up 현재 업로드를 위해서 유지하고 있는 연결 수The number of connections you are currently maintaining for uploads. 동적dynamic Connections_for_dnConnections_for_dn 현재 다운로드를 위해서 유지하고 있는 연결 수The number of connections you are currently maintaining for download

일 실시예에 있어서, 피어(120)가 현재 컨텐츠 제공자(Contents Provider)로 동작한다고 하자. 다시 말해, 피어(120)가 피어(130) 및 피어(140)에게 컨텐츠를 배포한다고 하자. 여기서, 피어(120)에게 자원이 충분하지 않다고 할 때, 피어(120)는 피어(130) 및 피어(140)에게 컨텐츠를 배포하는데 어려움이 있을 수 있다. 이 경우, OMS(112)는 컨텐츠 제공자(즉, 피어(120))의 부하 상태와 피어(130) 및 피어(140) 각각의 컨텐츠 수신 상태를 확인함으로써 CS(즉, 캐시 서버)를 할당해야 할 지 여부를 결정할 수 있다. 이하, OMS(112)가 피어(120)의 부하 상태를 어떻게 확인하는 지와 피어(130) 및 피어(140) 각각의 컨텐츠 수신 상태를 어떻게 확인하는지에 대해 설명한다.In one embodiment, assume that the peer 120 is currently acting as a content provider. In other words, let's say that peer 120 distributes content to peer 130 and peer 140. Here, when the peer 120 does not have enough resources, the peer 120 may have difficulty distributing the content to the peer 130 and the peer 140. In this case, the OMS 112 must allocate a CS (i.e., a cache server) by checking the load status of the content provider (i.e., peer 120) and the content reception status of each of peer 130 and peer 140 Can be determined. Hereinafter, how the OMS 112 confirms the load state of the peer 120 and how to confirm the content reception state of each of the peer 130 and the peer 140 will be described.

먼저, OMS(112)가 컨텐츠 제공자, 즉, 피어(120)의 부하 상태를 확인하는 방법이다.First, the OMS 112 confirms the load of the content provider, that is, the peer 120.

OMS(112)는 PAMS(111)로부터 피어(120)의 상태 정보를 수신할 수 있고, 피어(120)의 상태 정보를 기초로 피어(120)의 부하 상태를 확인할 수 있다. 일례로, OMS(112)는 피어(120)의 동적 정보 중 Uploaded 정보가 피어(120)의 정적 정보 중 BWmax 정보에 근접하면 즉, 대역폭 임계치(BWTHRESHOLD)안에 들어오면, 피어(120)에 부하가 발생한다고 결정할 수 있다. 다른 일례로, OMS(112)는 피어(120)의 동적 정보 중 Connections_for_up 정보가 피어(120)의 정적 정보 중 CONNECTIONmax 정보에 근접하면 즉, 연결수의 임계치(CONNECTIONTHRESHOLD)안에 들어오면, 피어(120)에 부하가 발생한다고 결정할 수 있다.The OMS 112 may receive the status information of the peer 120 from the PAMS 111 and may check the load status of the peer 120 based on the status information of the peer 120. [ For example, when the uploaded information of the dynamic information of the peer 120 is close to the BW max information of the static information of the peer 120, that is, when the OMS 112 enters the bandwidth threshold BW THRESHOLD , It can be determined that a load occurs. In another example, when the Connections_for_up information of the dynamic information of the peer 120 is close to the CONNECTION max information of the static information of the peer 120, that is, when the OMS 112 enters the threshold of the number of connections (CONNECTION THRESHOLD ) 120 can be determined to have a load.

다음으로, OMS(112)가 피어(130) 및 피어(140) 각각의 컨텐츠 수신 상태를 확인하는 방법이다.Next, the OMS 112 confirms the content reception state of each of the peer 130 and the peer 140.

OMS(112)는 PAMS(111)로부터 피어(130) 및 피어(140) 각각의 상태 정보를 수신할 수 있고, 피어(130) 및 피어(140) 각각의 상태 정보를 기초로 피어(130) 및 피어(140) 각각의 컨텐츠 수신 상태를 확인할 수 있다. 일례로, OMS(112)는 아래 수학식 1에 따라 피어(130) 및 피어(140) 각각의 현재 다운로드 속도를 계산할 수 있다.The OMS 112 may receive status information of each of the peer 130 and the peer 140 from the PAMS 111 and may receive the status information of the peer 130 and the peer 140 based on the status information of the peer 130 and the peer 140, It is possible to confirm the contents reception state of each of the peers 140. In one example, the OMS 112 may calculate the current download speed of each of the peer 130 and the peer 140 according to Equation 1 below.

Figure pat00001
Figure pat00001

수학식 1에서, DCUR은 피어(130) 및 피어(140) 각각의 현재 다운로드 속도를 나타낸다. 또한, 수학식 1에서 DIFFDOWNLOADED는 t 시점에 보고된 동적 정보 중 Downloaded 정보와 (t-1) 시점에 보고된 동적 정보 중 Downloaded 정보 사이의 차이를 나타낸 것으로, 아래 수학식 2로 표현될 수 있다. 또한, 수학식 1에서 PERIOD는 동적 정보의 보고 주기를 나타낸다.In Equation (1), D CUR represents the current download speed of each of the peer 130 and the peer 140. In Equation (1), DIFF DOWNLOADED represents the difference between Downloaded information of dynamic information reported at time t and Downloaded information of dynamic information reported at time t (t-1), which can be expressed by Equation 2 below . In Equation (1), PERIOD denotes a reporting period of dynamic information.

Figure pat00002
Figure pat00002

OMS(112)는 피어(130) 및 피어(140) 각각의 DCUR를 계산하면, 최대 다운로드 속도 DMAX와 피어(130) 및 피어(140) 각각의 DCUR 사이의 비교 결과를 기초로 피어(130) 및 피어(140) 각각의 컨텐츠 수신 상태를 확인할 수 있다. 여기서, DMAX와 피어(130)의 DCUR 사이의 차이가 DTHRESHOLD보다 높으면, OMS(112)는 피어(130)의 컨텐츠 수신 상태가 좋지 않다고 결정할 수 있고, DMAX와 피어(140)의 DCUR 사이의 차이가 DTHRESHOLD보다 높으면, OMS(112)는 피어(140)의 컨텐츠 수신 상태가 좋지 않다고 결정할 수 있다.The OMS 112 calculates the D CUR of each of the peer 130 and the peer 140 based on the comparison result between the maximum download rate D MAX and the D CUR of the peer 130 and the peer 140, 130 and the peer 140 can be checked. Here, D MAX and peer 130 is higher than the D THRESHOLD difference between D CUR, OMS (112) may determine not good, the contents reception status of the peer (130), D of the D MAX and peer 140 If the difference between the CURs is higher than D THRESHOLD , the OMS 112 may determine that the content reception state of the peer 140 is not good.

다른 일례로, 컨텐츠 제공자, 즉, 피어(120)가 컨텐츠를 생성하는 속도에 해당하는 Frate와 피어(130) 및 피어(140) 각각의 DCUR 사이의 차이가 임계값 이상일 경우, OMS(112)는 피어(130) 및 피어(140) 각각의 컨텐츠 수신 상태가 좋지 않다고 결정할 수 있다.In another example, if the difference between the F rate corresponding to the rate at which the content provider, that is, the peer 120 generates content, and the D CUR of each of the peer 130 and the peer 140 is greater than or equal to the threshold value, May determine that the content reception state of each of the peer 130 and the peer 140 is not good.

OMS(112)는 컨텐츠 제공자인 피어(120)의 부하 상태와 컨텐츠 수신자들인 피어(130) 및 피어(140) 각각의 컨텐츠 수신 상태를 고려함으로써 CS를 할당할지 여부를 결정할 수 있다.The OMS 112 may determine whether to allocate a CS by considering the load status of the content provider peer 120 and the content receiving status of each of the content recipients peer 130 and peer 140. [

구현에 따라, OMS(112)는 컨텐츠 제공자인 피어(120)의 부하 상태만을 고려하여 CS를 할당할지 여부를 결정하거나 컨텐츠 수신자들인 피어(130) 및 피어(140) 각각의 컨텐츠 수신 상태만을 고려하여 CS를 할당할지 여부를 결정할 수 있다.According to the implementation, the OMS 112 determines whether to allocate the CS in consideration of the load status of the peer 120, which is the content provider, or only considers the content reception state of each of the content recipients, that is, the peer 130 and the peer 140 CS < / RTI >

일 실시예에 있어서, 피어(120)에 부하가 발생한다고 결정되고 피어(130) 및 피어(140) 각각의 컨텐츠 수신 상태가 좋지 않다고 결정되면, OMS(112)는 CS를 할당할 것으로 결정할 수 있다. 만약 오버레이 네트워크에 둘 이상 유휴 CS들이 있다면, OMS(112)는 아래 기준들 중 어느 하나에 따라 하나 이상의 CS를 선택할 수 있고 선택된 CS를 할당할 수 있다.In one embodiment, if it is determined that a load has occurred on the peer 120 and the content reception state of each of the peer 130 and peer 140 is determined to be poor, then the OMS 112 may decide to allocate a CS . If there are more than two idle CSs in the overlay network, OMS 112 may select one or more CSs according to any of the following criteria and assign the selected CSs.

- 제1 기준: 컨텐츠 제공자(120)와 네트워크 거리가 가까운 CS를 할당- first criterion: assigns a CS near the network distance to the content provider 120

오버레이 네트워크에서 할당되어 있는 CS의 개수가 적고 컨텐츠 제공자(즉, 피어(120))의 부하 상태가 확인되는 경우, OMS(112)는 제1 기준에 따라 CS를 할당할 수 있다. 여기서, 피어(120)의 동적 정보 중 "Connections_for_up"와 오버레이 네트워크에 이미 할당되어 있는 CS의 개수 사이의 차이가 미리 정해진 기준 이상이면, OMS(112)는 할당되어 있는 CS의 개수가 적다고 결정할 수 있다. When the number of allocated CSs in the overlay network is small and the load status of the content provider (i.e., peer 120) is identified, the OMS 112 may allocate the CS according to the first criteria. Here, if the difference between the "Connections_for_up" of the dynamic information of the peer 120 and the number of CSs already allocated to the overlay network is greater than a predetermined reference, then the OMS 112 may determine that the number of allocated CSs is small have.

예를 들어, 오버레이 네트워크에서 할당되어 있는 CS의 개수가 적고 피어(120)에 부하가 발생된다고 결정되면, OMS(112)는 UNIS에게 피어(120)에 대한 정보와 CS 리스트를 제공할 수 있다. UNIS는 CS들 각각과 피어(120) 사이의 네트워크 거리를 기초로 CS 리스트를 정렬(order)할 수 있다. 여기서, 피어(120)로부터의 네트워크 거리가 가까운 순서대로 CS 리스트가 정렬되거나 피어(120)로부터의 네트워크 거리가 먼 순서대로 CS 리스트가 정렬될 수 있다. UNIS는 정렬된 CS 리스트를 OMS(112)로 제공할 수 있다. OMS(112)는 정렬된 CS 리스트에서 자원이 여유로운 CS를 선택하고, 선택된 CS를 할당할 수 있다.For example, if it is determined that the number of CSs allocated in the overlay network is small and the peer 120 is burdened, the OMS 112 may provide the UNIS with information about the peer 120 and a CS list. UNIS may order the CS list based on the network distance between each of the CSs and the peer 120. Here, the CS lists may be sorted in order of closest network distances from the peers 120, or the CS lists may be sorted in descending order of network distances from the peers 120. The UNIS may provide an ordered CS list to the OMS 112. The OMS 112 may select a CS with a resource in the sorted CS list and allocate the selected CS.

- 제2 기준: 컨텐츠를 제대로 수신하지 못하는 피어들이 모여 있는 지역에 위치한 CS를 할당- Second criterion: Allocate a CS located in an area where peers that do not receive the content properly gather

오버레이 네트워크에서 할당되어 있는 CS의 개수가 많으나 특정 지역의 피어들(130 및 140)이 컨텐츠를 제대로 수신하지 못하는 경우, OMS(112)는 제2 기준에 따라 CS를 할당할 수 있다. 예를 들어, OMS(112)는 UNIS에게 특정 지역의 피어들(130 및 140)에 대한 정보와 CS 리스트를 제공할 수 있고, UNIS는 CS들 각각과 피어들(130 및 140) 각각 사이의 네트워크 거리를 기초로 CS 리스트를 정렬할 수 있다. UNIS는 정렬된 CS 리스트를 OMS(112)로 제공할 수 있다. OMS(112)는 정렬된 CS 리스트에서 자원이 여유로운 CS를 선택하고, 선택된 CS를 할당할 수 있다.If the number of CSs allocated in the overlay network is large but the peers 130 and 140 in a specific area can not properly receive the content, the OMS 112 may allocate the CS according to the second criterion. For example, the OMS 112 may provide the UNIS with information about a particular geographical peer 130 and 140 and a CS list, and the UNIS may provide a CS list for each of the CSs and each of the peers 130 and 140 You can sort CS lists based on distance. The UNIS may provide an ordered CS list to the OMS 112. The OMS 112 may select a CS with a resource in the sorted CS list and allocate the selected CS.

CS는 피어(130 및 140)에게 피어(120) 대신에 컨텐츠를 배포할 수 있다. 이로써, 컨텐츠가 효율적으로 배포될 수 있다. The CS may distribute the content to the peers 130 and 140 instead of the peer 120. Thus, the content can be efficiently distributed.

일 실시예에 있어서, CS와 원격(remote)에 있는 피어는 CS로부터 컨텐츠를 잘 수신할 수 없다. 이 경우, OMS(112)는 다른 CS를 할당할 수 있다. 이하, 도 2 및 도 3을 참조하면서, 다른 CS의 할당에 대해 설명한다.In one embodiment, the peer at the remote location with the CS can not receive content well from the CS. In this case, the OMS 112 may assign another CS. Hereinafter, the allocation of other CSs will be described with reference to FIG. 2 and FIG.

도 2는 일 실시예에 따른 관리형 P2P 네트워크 시스템에서 캐시 서버가 캐시 서버 자신이 서빙하는 피어들 중 원격에 있는 피어에 대한 피어 리스트를 보고하는 것을 설명하기 위한 도면이다. FIG. 2 is a diagram for explaining that, in a managed P2P network system according to an embodiment, a cache server reports a list of peers for a remote peer among the peers served by the cache server itself.

도 2를 참조하면, CS는 OMS에게 피어 리스트를 요청한다(210). Referring to FIG. 2, the CS requests the OMS for a peer list (210).

OMS는 정렬된 피어 리스트(ordered peer list)를 획득한다(211). 여기서, 정렬된 피어 리스트는 피어들 각각과 CS 사이의 네트워크 거리를 기초로 정렬된 피어 리스트를 나타낼 수 있다. 예를 들어, 피어 A가 CS와 가장 가깝고, 피어 C가 CS와 가장 멀다면, 피어 C, 피어 B, 및 피어 A 순서대로 피어 리스트가 정렬될 수 있고, OMS는 피어 C, 피어 B, 및 피어 A 순서로 정렬된 피어 리스트를 획득할 수 있다. 구현에 따라, OMS는 피어 A, 피어 B, 및 피어 C 순서로 정렬된 피어 리스트를 획득할 수 있다.The OMS acquires an ordered peer list (211). Here, the aligned peer list may represent an ordered list of peers based on the network distance between each of the peers and the CS. For example, if Peer A is closest to CS and Peer C is farthest from CS, the peer list can be sorted in order of Peer C, Peer B, and Peer A, and the OMS can be arranged in order of Peer C, Peer B, A list of peers ordered in A can be obtained. Depending on the implementation, the OMS may obtain Peer A, Peer B, and Peer C ordered peer lists.

일 실시예에 있어서, OMS는 UNIS와 인터페이싱함으로써, 정렬된 피어 리스트를 획득할 수 있다. 다시 말해, OMS는 정렬된 피어 리스트를 획득하기 위해 UNIS와 인터페이싱할 수 있다. In one embodiment, the OMS may obtain an ordered list of peers by interfacing with the UNIS. In other words, the OMS can interface with the UNIS to obtain an ordered list of peers.

OMS는 원격 피어 리스트(remote peer list)를 CS에게 전송한다(212). 일 실시예에 있어서, OMS는 정렬된 피어 리스트를 획득하면, 피어들 각각과 CS 사이의 네트워크 거리 및 임계 거리를 비교함으로써 원격 피어 리스트를 결정할 수 있다. 도 2에 도시된 예에서, 피어 A와 CS 사이의 네트워크 거리가 임계 거리 미만이고 피어 B와 CS 사이의 네트워크 거리 및 피어 C와 CS 사이의 네트워크 거리가 임계 거리 이상이면, OMS는 피어 B 및 피어 C 각각의 식별자를 포함하는 원격 피어 리스트를 결정하고, 해당 원격 피어 리스트를 CS에 전송할 수 있다. 다시 말해, OMS는 "(원격) 피어 리스트={피어 B, 피어 C}"를 CS에 전송할 수 있다.The OMS sends a remote peer list to the CS (212). In one embodiment, the OMS obtains an ordered peer list and can determine the remote peer list by comparing the network distance and the critical distance between each of the peers and the CS. 2, if the network distance between peers A and CS is less than the threshold distance and the network distance between peers B and CS and the network distance between peers C and CS is greater than the threshold distance, C < / RTI > list containing the respective identifiers, and send the corresponding remote peer list to the CS. In other words, the OMS can send a "(remote) peer list = {peer B, peer C}" to the CS.

CS는 원격 피어 리스트를 저장한다(213). CS는 원격 피어 리스트를 수신하면, 자신과 멀리 떨어져 있는 하나 이상의 피어를 알 수 있다. 도 2에 도시된 예에서, CS는 "(원격) 피어 리스트={피어 B, 피어 C}"를 OMS로부터 수신하는 경우, 피어 B 및 피어 C가 자신과 멀리 떨어져 있음을 알 수 있다.The CS stores the remote peer list (213). When the CS receives the list of remote peers, it can know one or more peers that are far from it. In the example shown in FIG. 2, if the CS receives a "(remote) peer list = {Peer B, Peer C}" from the OMS, it can be seen that Peer B and Peer C are far from themselves.

CS가 피어 A에게 컨텐츠를 전송하고(214), 피어 B에게 컨텐츠를 전송한다고 하자(215). 달리 표현하면, CS는 현재 피어 A 및 피어 B를 서빙하거나 서비스를 제공한다고 하자.Let CS send content to peer A (214) and send content to peer B (215). In other words, let's assume that the CS is now serving or serving Peer A and Peer B.

CS는 통지 원격 피어 리스트(notify remote peer list)를 결정한다(216). 여기서, 통지 원격 피어 리스트는 CS가 OMS에게 통지할 피어 리스트를 나타낼 수 있다. 일 실시예에 있어서, CS는 자신이 현재 서빙하고 있는 피어가 원격 피어 리스트에 있는지 체크할 수 있고, CS 자신이 서빙하고 있는 피어가 원격 피어 리스트에 있으면, OMS에 통지할 피어 리스트(즉, 통지 원격 피어 리스트)에 해당 피어를 추가할 수 있다. 도 2에 도시된 예에서, CS는 현재 피어 A 및 피어 B를 서빙하고 있고, 서빙하고 있는 피어들 중에서 피어 B가 원격 피어 리스트에 있으므로, CS는 피어 B를 OMS에 통지할 피어 리스트에 추가할 수 있다. 이로써, CS는 "(통지 원격) 피어 리스트={피어 B}"를 결정할 수 있다.The CS determines a notify remote peer list (216). Here, the notification remote peer list may indicate the list of peers to which the CS will notify the OMS. In one embodiment, the CS can check that the peer it is currently serving is in the remote peer list, and if the peer that it is serving is on the remote peer list, the peer list to notify the OMS (i.e., The remote peer list). In the example shown in FIG. 2, since the CS is currently serving Peer A and Peer B and Peer B is in the remote peer list among the serving peers, the CS adds Peer B to the peer list to notify OMS . Thus, the CS can determine "(notification remote) peer list = {peer B} ".

CS는 통지 원격 피어 리스트를 OMS에 전송한다(217). 달리 표현하면, CS는 자신이 서빙하는 피어들 중 원격에 있는 피어의 식별자를 포함하는 피어 리스트를 OMS에 보고할 수 있다. 다시 말해, CS는 자신이 서빙하는 피어들 중 원격에 있는 피어에 대한 정보를 OMS에 전송할 수 있다. 도 2에 도시된 예에서, CS는 "(통지 원격) 피어 리스트={피어 B}"를 OMS에 전송할 수 있다. 이로써, OMS는 CS가 현재 CS와 멀리 떨어져 있는 피어(즉, 원격 피어)에게 컨텐츠를 전송하고 있음을 알 수 있다.The CS sends the notification remote peer list to the OMS (217). In other words, the CS may report to the OMS a peer list containing identifiers of remote peers among the serving peers. In other words, the CS may send information to the OMS about the remote peer among the serving peers. In the example shown in FIG. 2, the CS may send a "(notification remote) peer list = {peer B}" to the OMS. As a result, the OMS can know that the CS is transmitting content to a peer (i.e., a remote peer) that is far from the current CS.

CS는 통지 원격 피어 리스트를 초기화한다(218).The CS initializes the notification remote peer list (218).

OMS는 통지 원격 피어 리스트를 CS로부터 수신하면, CS가 원격 피어에게 컨텐츠를 전송하고 있음을 알 수 있다. 원격 피어는 CS와 멀리 떨어져 있으므로, CS로부터 컨텐츠를 잘 수신할 수 없다. 이 경우, OMS는 원격 피어를 위해 하나 이상의 다른 CS를 선택할 수 있고, 선택된 하나 이상의 다른 CS를 원격 피어에 할당할 수 있다. 이하, 도 3을 참조하면서, OMS가 다른 CS를 어떻게 선택하는지에 대해 설명한다.When the OMS receives the notification remote peer list from the CS, it can know that the CS is transmitting content to the remote peer. Since the remote peer is far from the CS, it can not receive the content from the CS well. In this case, the OMS can select one or more other CSs for the remote peer and assign the selected one or more other CSs to the remote peer. Hereinafter, referring to FIG. 3, how the OMS selects another CS will be described.

도 3은 일 실시예에 따른 관리형 P2P 네트워크 시스템에서 오버레이 관리 서버가 캐시 서버를 선택하는 것을 설명하기 위한 도면이다.3 is a diagram for explaining how an overlay management server selects a cache server in a managed P2P network system according to an exemplary embodiment.

도 3을 참조하면, CS 1은 OMS에게 통지 원격 피어 리스트를 전송한다(310). 도 3에 도시된 예에서, CS 1은 "(통지 원격) 피어 리스트={피어 B, 피어 C}"를 전송한다고 하자. 다시 말해, CS 1은 피어 B 및 피어 C가 먼 위치(distant location)에서 서비스 받고 있음을 OMS에게 알릴 수 있다.Referring to FIG. 3, CS 1 sends a notification remote peer list to the OMS (310). In the example shown in FIG. 3, assume that CS 1 transmits a "(notification remote) peer list = {Peer B, Peer C}". In other words, CS 1 can inform OMS that peer B and peer C are being served in a distant location.

OMS는 피어 B와 피어 C 모두를 서비스하는데 적절한(adequate) CS를 찾기 위해 UNIS와 상호 작용할 수 있다. 일 실시예에 있어서, OMS는 정렬된 CS 리스트(ordered CS list)를 획득한다(311). 여기서, 정렬된 CS 리스트는 CS 1을 제외한 CS들 각각과 통지 원격 피어 리스트 내의 하나 이상의 피어 사이의 네트워크 거리를 기초로 정렬된 CS 리스트를 나타낼 수 있다. 도 3에 도시된 예의 경우, OMS는 UNIS와 연동함으로써, 피어 B 및 피어 C 각각과 CS 1을 제외한 CS들 각각 사이의 네트워크 거리를 기초로 CS 리스트를 정렬할 수 있다. OMS는 정렬된 CS 리스트를 참조하여 하나 이상의 CS를 선택할 수 있다. 여기서, CS를 선택할 때 거리상 가까운 CS가 존재하여도, 상기 CS가 피어 B 혹은 피어 C를 지원할 수 없는 상황이면, 상기 CS는 제외된다. OMS는 거리 기준과 자원의 상태(예를 들어, 후술할 CS의 자원 활용 상태 정보) 등을 고려하여 하나 이상의 적절한 CS를 찾을 수 있다. 일례로, CS 2 및 CS 3이 거리 기준에는 만족하나(즉, CS 2 및 CS 3이 피어 B 및 피어 C 모두에게 네트워크 거리 상으로 가까울 때) CS 3의 자원 활용 상태 정보를 통해 CS 3이 유휴하지 않다고 결정되면, OMS는 CS 3을 선택하지 않을 수 있다. The OMS can interact with UNIS to find an adequate CS to service both Peer B and Peer C. In one embodiment, the OMS acquires an ordered CS list (311). Here, the sorted CS list may represent a CS list sorted based on the network distances between each of the CSs other than CS 1 and one or more peers in the notification remote peer list. In the example shown in FIG. 3, the OMS can align CS lists based on the network distances between each of the peers B and C and CSs other than CS 1, by interworking with UNIS. The OMS can select one or more CSs by referring to the sorted CS list. Here, when CS is selected, even if there is a close CS, the CS is excluded if the CS can not support Peer B or Peer C. The OMS can find one or more appropriate CSs considering the distance criteria and the state of the resource (e.g., the resource utilization status information of the CS to be described later). For example, when CS 2 and CS 3 satisfy the distance criteria (i.e., CS 2 and CS 3 are close to the network distance to both Peer B and Peer C), CS 3 is idle through the resource utilization status information of CS 3 If not, the OMS may not choose CS 3.

도 3에 도시된 예에서, OMS는 CS 2를 선택하였다고 하자. In the example shown in FIG. 3, let OMS select CS 2.

OMS는 CS 2에게 자원을 예약하기 위한 요청 메시지를 전송한다(312).The OMS sends a request message to reserve CS 2 resources (312).

CS 2는 오버레이 네트워크에 참여하고(313), OMS에게 요청 메시지에 대한 응답 메시지를 전송한다(314). 여기서, 응답 메시지는 예약되는 자원의 식별자, 선택된 CS의 가상 피어의 식별자, 및 예약되는 자원이 할당되는 최대 시간 중 적어도 하나를 포함할 수 있다. 예를 들어, 응답 메시지는 CS 2의 가상 피어의 식별자 "vp_abcd1235" 및 최대 시간 "1024 minutes"를 포함할 수 있다.CS 2 participates in the overlay network (313), and transmits a response message to the OMS in response to the request message (314). Here, the response message may include at least one of the identifier of the resource to be reserved, the identifier of the virtual peer of the selected CS, and the maximum time to which the reserved resource is allocated. For example, the response message may include the identifier "vp_abcd1235" of the virtual peer of CS 2 and the maximum time "1024 minutes ".

CS 2는 피어 B에게 컨텐츠를 전송하고(315), 피어 C에게 컨텐츠를 전송한다(316). 피어 B 및 피어 C에 가장 적절한 CS 2가 CS 1 대신에 컨텐츠를 피어 B 및 피어 C 각각으로 전송함으로써, 컨텐츠가 효율적으로 배포될 수 있다. 다시 말해, 효율적인 스트리밍 서비스가 가능할 수 있다. CS 2 sends the content to peer B (315) and transmits the content to peer C (316). The content can be efficiently distributed by transmitting the content to the peer B and the peer C, respectively, instead of the CS 2 most suitable for the peer B and the peer C, instead of the CS 1. In other words, an efficient streaming service may be possible.

도 4는 일 실시예에 따른 관리형 P2P 네트워크 시스템에서 캐시 서버의 자원 활용 상태 보고를 설명하기 위한 도면이다.4 is a view for explaining a resource utilization status report of a cache server in a management type P2P network system according to an embodiment.

도 4를 참조하면, CS는 자원 활용 상태(resource utilization status) 정보를 수집한다(410). CS는 자원 활용 상태 정보를 OMS로 보고한다(411). 달리 표현하면, CS는 자원 활용 상태 정보를 ORCP_USAGE_REPORT 메시지를 이용하여 OMS에게 전송할 수 있다. Referring to FIG. 4, the CS collects resource utilization status information (410). The CS reports the resource utilization status information to the OMS (411). In other words, the CS can transmit resource utilization status information to the OMS using the ORCP_USAGE_REPORT message.

자원 활용 상태 정보는, 예를 들어, CS의 자원 활용 상태 체크의 시작 시간(start time)을 나타내는 시작 타임 스탬프(start timestamp), CS의 자원 활용 상태 체크의 종료 시간(end time)을 나타내는 종료 타임 스탬프(end timestamp), CS의 저장 용량에 대한 사용량(storage usage), CS의 업로드 트래픽, CS의 다운로드 트래픽, CS의 업링크 대역폭, CS의 다운링크 대역폭, CS가 트래픽을 업로드할 때 사용되는 피어 연결의 개수, 및 CS가 트래픽을 다운로드할 때 사용되는 피어 연결의 개수 중 어느 하나 또는 이들의 조합을 포함할 수 있다.The resource utilization status information includes, for example, a start timestamp indicating a start time of the CS resource utilization status check, an end time indicating an end time of the CS resource utilization status check, A storage usage of the CS, upload traffic of the CS, download traffic of the CS, uplink bandwidth of the CS, downlink bandwidth of the CS, a peer used when the CS uploads the traffic, The number of connections, and the number of peer connections used when the CS downloads the traffic, or a combination thereof.

OMS는 자원 활용 상태 정보를 기초로 CS의 자원 활용을 체크한다(412). 달리 표현하면, OMS는 자원 활용 상태 정보를 분석하여 오버레이 자원을 해제(releasing)할 것인지 또는 할당할 것인지를 결정할 수 있다. 여기서, OMS는 오버레이 자원(즉, 새로운 가상 피어)을 할당할 것으로 결정하면, 적절한 CS를 선택하기 위해 피어들로부터의 네트워크 거리, 소스 피어로부터의 네트워크 거리와 같은 요소를 고려할 수 있다. 여기서, 소스 피어는 도 1을 통해 설명한 컨텐츠 제공자를 나타낼 수 있다.The OMS checks the resource utilization of the CS based on the resource utilization status information (412). In other words, the OMS can analyze resource utilization status information to determine whether to release or allocate overlay resources. Here, if the OMS decides to allocate an overlay resource (i.e., a new virtual peer), it may consider factors such as the network distance from the peers, the network distance from the source peer to select the appropriate CS. Here, the source peer may represent the content provider described with reference to FIG.

OMS는 CS로부터 자원 활용 상태 정보를 보고 받음으로써 CS의 자원 활용 상태 또는 자원 사용 상태를 정확히 알 수 있다. OMS can know the resource utilization status or resource usage status of CS by receiving and reporting the resource utilization status information from the CS.

일 실시예에 있어서, OMS는 CS의 자원 활용 상태 정보를 기초로 CS가 유휴한지 여부를 결정할 수 있다. 예를 들어, OMS는 도 2를 통해 설명한 CS의 자원 활용 상태 정보를 기초로 CS가 유휴한지 결정할 수 있다. 또한, OMS는 도 3을 통해 설명한 CS 2의 자원 활용 상태 정보를 기초로 CS 2가 유휴한지 결정할 수 있다.In one embodiment, the OMS may determine whether the CS is idle based on the resource utilization status information of the CS. For example, the OMS can determine whether the CS is idle based on the resource utilization status information of the CS described in FIG. In addition, the OMS can determine whether CS 2 is idle based on the resource utilization state information of CS 2 described with reference to FIG.

OMS는 CS가 유휴하면, CS의 자원을 해제 또는 반납할 수 있다. 이로써, 자원 활용성이 보다 향상될 수 있다.The OMS can release or return the resources of the CS when the CS is idle. As a result, resource utilization can be further improved.

도 5는 일 실시예에 따른 관리형 P2P 네트워크 시스템에서 오버레이 관리 서버의 자원 할당 방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating a resource allocation method of an overlay management server in a managed P2P network system according to an exemplary embodiment.

도 5를 참조하면, OMS는 원격 피어 리스트를 CS로 전송한다(510). 여기서, 원격 피어 리스트는 피어들 각각과 CS 사이의 네트워크 거리를 기초로 결정될 수 있다.Referring to FIG. 5, the OMS sends the remote peer list to the CS (510). Here, the remote peer list can be determined based on the network distance between each of the peers and the CS.

OMS는 원격 피어 리스트를 전송한 후, 캐시 서버와 인터랙팅하는 피어의 식별자를 포함하는 피어 리스트를 CS로부터 수신한다(520). 예를 들어, CS로부터 컨텐츠를 수신하는 피어의 식별자가 원격 피어 리스트 내에 있는 경우, OMS는 상기 피어의 식별자를 포함하는 피어 리스트를 CS로부터 수신할 수 있다. 다시 말해, CS는 원격 피어 리스트 내의 피어들 및 컨텐츠 수신 피어들 사이에 공통되는 피어를 OMS에 알려줄 수 있다.After transmitting the remote peer list, the OMS receives 520 a peer list containing the identifier of the peer interacting with the cache server from the CS. For example, if the identifier of the peer receiving content from the CS is in the remote peer list, the OMS may receive a peer list containing the peer's identifier from the CS. In other words, the CS may inform the OMS of peers that are common between the peers in the remote peer list and the content receiving peers.

OMS는 오버레이 네트워크에 추가할 다른 CS를 피어 리스트를 이용하여 선택한다(530). 예를 들어, OMS는 CS로부터 "(통지 원격) 피어 리스트={피어 B, 피어 C}"를 수신하는 경우, 피어 B 및 피어 C 둘 다를 서빙할 수 있는 가장 적절한 CS를 찾기 위해 UNIS와 상호 작용할 수 있다. 다시 말해, OMS는 UNIS와 상호 작용하여 캐시 서버들 각각과 피어 B 사이의 네트워크 거리 및 캐시 서버들 각각과 피어 C 사이의 네트워크 거리를 기초로 캐시 서버 리스트를 정렬할 수 있고, 정렬된 캐시 서버 리스트에서 피어 B 및 피어 C 둘 다를 서빙하는데 가장 적절한 CS를 선택할 수 있다.The OMS selects another CS to add to the overlay network using the peer list (530). For example, if the OMS receives a "(Notification Remote) peer list = {Peer B, Peer C}" from the CS, it will interact with the UNIS to find the most appropriate CS to serve both Peer B and Peer C. . In other words, the OMS can interact with the UNIS to sort the cache server list based on the network distance between each of the cache servers and peer B and the network distance between each of the cache servers and peer C, The most suitable CS for serving both peer B and peer C can be selected.

도 1 내지 도 4를 통해 기술된 사항들은 도 5를 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.1 through 4 can be applied to the matters described with reference to FIG. 5, so that a detailed description will be omitted.

도 6은 일 실시예에 따른 관리형 P2P 네트워크 시스템에서 오버레이 관리 서버를 설명하기 위한 블록도이다.6 is a block diagram for explaining an overlay management server in a managed P2P network system according to an embodiment.

도 6을 참조하면, 오버레이 관리 서버(600)는 통신 인터페이스(610) 및 컨트롤러(620)를 포함한다.Referring to FIG. 6, the overlay management server 600 includes a communication interface 610 and a controller 620.

컨트롤러(620)는 피어들 각각과 캐시 서버 사이의 네트워크 거리를 기초로 결정된 원격 피어 리스트를 통신 인터페이스(610)를 통해 CS로 전송한다.The controller 620 transmits the remote peer list determined based on the network distance between each of the peers and the cache server to the CS via the communication interface 610. [

컨트롤러(620)는 원격 피어 리스트를 전송한 후, CS와 인터랙팅하는 피어의 식별자를 포함하는 피어 리스트를 통신 인터페이스(610)를 통해 CS로부터 컨텐츠를 수신한다.After sending the remote peer list, the controller 620 receives the content from the CS via the communication interface 610 with the peer list containing the identifier of the peer interacting with the CS.

컨트롤러(620)는 오버레이 네트워크에 추가할 다른 CS를 피어 리스트를 이용하여 선택한다.The controller 620 selects another CS to be added to the overlay network using the peer list.

도 1 내지 도 4를 통해 기술된 사항들은 도 6을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.1 through 4 can be applied to the matters described with reference to FIG. 6, so that a detailed description will be omitted.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

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

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (18)

오버레이 네트워크 내의 피어들 각각과 캐시 서버 사이의 네트워크 거리(network distance)를 기초로 결정된 원격 피어 리스트(remote peer list)를 상기 캐시 서버로 전송하는 단계;
상기 원격 피어 리스트를 전송한 후, 상기 캐시 서버와 인터랙팅하는 피어의 식별자를 포함하는 피어 리스트를 상기 캐시 서버로부터 수신하는 단계; 및
상기 오버레이 네트워크에 추가할 다른 캐시 서버를 상기 피어 리스트를 이용하여 선택하는 단계
를 포함하는,
오버레이 관리 서버의 자원 할당 방법.
Sending a remote peer list to the cache server based on a network distance between each of the peers in the overlay network and the cache server;
Receiving, from the cache server, a peer list including an identifier of a peer interacting with the cache server after transmitting the remote peer list; And
Selecting another cache server to be added to the overlay network using the peer list
/ RTI >
A method of resource allocation of an overlay management server.
제1항에 있어서,
상기 다른 캐시 서버를 선택하는 단계는,
캐시 서버들 각각과 상기 피어 사이의 네트워크 거리를 기초로 결정된 캐시 서버 리스트를 획득하는 단계; 및
상기 캐시 서버 리스트에서 상기 다른 캐시 서버를 선택하는 단계
를 포함하는,
오버레이 관리 서버의 자원 할당 방법.
The method according to claim 1,
Wherein the selecting the different cache server comprises:
Obtaining a cache server list determined based on a network distance between each of the cache servers and the peer; And
Selecting the other cache server from the cache server list
/ RTI >
A method of resource allocation of an overlay management server.
제1항에 있어서,
상기 캐시 서버로부터 자원 활용 상태(resource utilization status) 정보를 수신하는 단계; 및
상기 자원 활용 상태 정보를 기초로 상기 캐시 서버의 자원을 해제할 것인지 여부를 결정하는 단계
를 더 포함하는,
오버레이 관리 서버의 자원 할당 방법.
The method according to claim 1,
Receiving resource utilization status information from the cache server; And
Determining whether to release resources of the cache server based on the resource utilization state information
≪ / RTI >
A method of resource allocation of an overlay management server.
제3항에 있어서,
상기 자원 활용 상태 정보는,
상기 캐시 서버의 자원 활용 상태 체크의 시작 시간(start time)을 나타내는 시작 타임 스탬프(start timestamp);
상기 캐시 서버의 자원 활용 상태 체크의 종료 시간(end time)을 나타내는 종료 타임 스탬프(end timestamp);
상기 캐시 서버의 저장 용량에 대한 사용량(storage usage);
상기 캐시 서버의 업로드 트래픽;
상기 캐시 서버의 다운로드 트래픽;
상기 캐시 서버의 업링크 대역폭;
상기 캐시 서버의 다운링크 대역폭;
상기 캐시 서버가 트래픽을 업로드할 때 사용되는 피어 연결의 개수; 및
상기 캐시 서버가 트래픽을 다운로드할 때 사용되는 피어 연결의 개수
를 포함하는,
오버레이 관리 서버의 자원 할당 방법.
The method of claim 3,
Wherein the resource utilization status information comprises:
A start timestamp indicating a start time of resource utilization status check of the cache server;
An end timestamp indicating an end time of the resource utilization status check of the cache server;
Storage usage of the cache server with respect to storage capacity;
Upload traffic of the cache server;
Download traffic of the cache server;
An uplink bandwidth of the cache server;
The downlink bandwidth of the cache server;
The number of peer connections used when the cache server uploads traffic; And
The number of peer connections used when the cache server downloads traffic
/ RTI >
A method of resource allocation of an overlay management server.
제1항에 있어서,
상기 다른 캐시 서버의 자원을 예약하기 위해 상기 다른 캐시 서버에게 요청 메시지를 전송하는 단계; 및
상기 다른 캐시 서버로부터 응답 메시지를 수신하는 단계
를 더 포함하는,
오버레이 관리 서버의 자원 할당 방법.
The method according to claim 1,
Sending a request message to the other cache server to reserve resources of the other cache server; And
Receiving a response message from the other cache server
≪ / RTI >
A method of resource allocation of an overlay management server.
제5항에 있어서,
상기 응답 메시지는,
예약되는 자원의 식별자, 상기 다른 캐시 서버의 가상 피어의 식별자, 및 상기 예약되는 자원이 할당되는 최대 시간 중 적어도 하나를 포함하는,
오버레이 관리 서버의 자원 할당 방법.
6. The method of claim 5,
The response message includes:
The identifier of the resource to be reserved, the identifier of the resource to be reserved, the identifier of the virtual peer of the other cache server, and the maximum time to which the reserved resource is allocated.
A method of resource allocation of an overlay management server.
제1항에 있어서,
상기 캐시 서버는,
상기 원격 피어 리스트를 수신하는 경우, 상기 피어가 상기 원격 피어 리스트 내에 있는지 체크하고, 상기 피어가 상기 원격 피어 리스트에 있는 경우, 상기 오버레이 관리 서버로 전송할 피어 리스트에 상기 피어를 추가하는,
오버레이 관리 서버의 자원 할당 방법.
The method according to claim 1,
The cache server,
Further comprising: if the remote peer list is received, checking whether the peer is in the remote peer list and adding the peer to the peer list to send to the overlay management server if the peer is in the remote peer list,
A method of resource allocation of an overlay management server.
통신 인터페이스; 및
오버레이 네트워크 내의 피어들 각각과 캐시 서버 사이의 네트워크 거리(network distance)를 기초로 결정된 원격 피어 리스트(remote peer list)를 상기 통신 인터페이스를 통해 상기 캐시 서버로 전송하고, 상기 원격 피어 리스트를 전송한 후, 상기 캐시 서버와 인터랙팅하는 피어의 식별자를 포함하는 피어 리스트를 상기 통신 인터페이스를 통해 상기 캐시 서버로부터 수신하며, 상기 오버레이 네트워크에 추가할 다른 캐시 서버를 상기 피어 리스트를 이용하여 선택하는 컨트롤러
를 포함하는
오버레이 관리 서버.
Communication interface; And
Transmitting a remote peer list determined based on a network distance between each of the peers in the overlay network and the cache server to the cache server via the communication interface and transmitting the remote peer list A controller that receives a peer list including an identifier of a peer interacting with the cache server from the cache server via the communication interface and selects another cache server to be added to the overlay network using the peer list,
Containing
Overlay management server.
제8항에 있어서,
상기 컨트롤러는,
캐시 서버들 각각과 상기 피어 사이의 네트워크 거리를 기초로 결정된 캐시 서버 리스트를 획득하고, 상기 캐시 서버 리스트를 기초로 상기 캐시 서버들 중에서 상기 다른 캐시 서버를 선택하는,
오버레이 관리 서버.
9. The method of claim 8,
The controller comprising:
Obtaining a cache server list determined based on a network distance between each of the cache servers and the peer, and selecting the other cache server among the cache servers based on the cache server list,
Overlay management server.
제8항에 있어서,
상기 컨트롤러는,
상기 캐시 서버로부터 상기 통신 인터페이스를 통해 자원 활용 상태(resource utilization status) 정보를 수신하고, 상기 자원 활용 상태 정보를 기초로 상기 캐시 서버의 자원을 해제할 것인지 여부를 결정하는,
오버레이 관리 서버.
9. The method of claim 8,
The controller comprising:
Receiving resource utilization status information from the cache server via the communication interface and determining whether to release resources of the cache server based on the resource utilization status information;
Overlay management server.
제10항에 있어서,
상기 자원 활용 상태 정보는,
상기 캐시 서버의 자원 활용 상태 체크의 시작 시간(start time)을 나타내는 시작 타임 스탬프(start timestamp);
상기 캐시 서버의 자원 활용 상태 체크의 종료 시간(end time)을 나타내는 종료 타임 스탬프(end timestamp);
상기 캐시 서버의 저장 용량에 대한 사용량(storage usage);
상기 캐시 서버의 업로드 트래픽;
상기 캐시 서버의 다운로드 트래픽;
상기 캐시 서버의 업링크 대역폭;
상기 캐시 서버의 다운링크 대역폭;
상기 캐시 서버가 트래픽을 업로드할 때 사용되는 피어 연결의 개수; 및
상기 캐시 서버가 트래픽을 다운로드할 때 사용되는 피어 연결의 개수
를 포함하는,
오버레이 관리 서버.
11. The method of claim 10,
Wherein the resource utilization status information comprises:
A start timestamp indicating a start time of resource utilization status check of the cache server;
An end timestamp indicating an end time of the resource utilization status check of the cache server;
Storage usage of the cache server with respect to storage capacity;
Upload traffic of the cache server;
Download traffic of the cache server;
An uplink bandwidth of the cache server;
The downlink bandwidth of the cache server;
The number of peer connections used when the cache server uploads traffic; And
The number of peer connections used when the cache server downloads traffic
/ RTI >
Overlay management server.
제8항에 있어서,
상기 컨트롤러는,
상기 다른 캐시 서버의 자원을 예약하기 위해 상기 다른 캐시 서버에게 요청 메시지를 상기 통신 인터페이스를 통해 전송하고, 상기 다른 캐시 서버로부터 상기 통신 인터페이스를 통해 응답 메시지를 수신하는,
오버레이 관리 서버.
9. The method of claim 8,
The controller comprising:
Transmitting a request message to the other cache server via the communication interface to reserve resources of the other cache server and receiving a response message from the other cache server via the communication interface;
Overlay management server.
제12항에 있어서,
상기 응답 메시지는,
예약되는 자원의 식별자, 상기 다른 캐시 서버의 가상 피어의 식별자, 및 상기 예약되는 자원이 할당되는 최대 시간 중 적어도 하나를 포함하는,
오버레이 관리 서버.
13. The method of claim 12,
The response message includes:
The identifier of the resource to be reserved, the identifier of the resource to be reserved, the identifier of the virtual peer of the other cache server, and the maximum time to which the reserved resource is allocated.
Overlay management server.
제8항에 있어서,
상기 캐시 서버는,
상기 원격 피어 리스트를 수신하는 경우, 상기 피어가 상기 원격 피어 리스트 내에 있는지 체크하고, 상기 피어가 상기 원격 피어 리스트에 있는 경우, 상기 오버레이 관리 서버로 전송할 피어 리스트에 상기 피어를 추가하는,
오버레이 관리 서버.
9. The method of claim 8,
The cache server,
Further comprising: if the remote peer list is received, checking whether the peer is in the remote peer list and adding the peer to the peer list to send to the overlay management server if the peer is in the remote peer list,
Overlay management server.
캐시 서버; 및
피어들 각각과 상기 캐시 서버 사이의 네트워크 거리(network distance)를 기초로 결정된 원격 피어 리스트(remote peer list)를 상기 캐시 서버로 전송하고, 상기 캐시 서버로부터 컨텐츠를 수신하는 피어의 식별자가 상기 원격 피어 리스트 내에 있는 경우, 상기 피어의 식별자를 포함하는 피어 리스트를 상기 캐시 서버로부터 수신하며, 상기 피어 리스트를 수신하는 경우, 상기 피어를 위한 다른 캐시 서버를 선택하는 오버레이 관리 서버
를 포함하는
관리형 피어투피어 네트워크 시스템.
Cache server; And
The method comprising: transmitting a remote peer list determined based on a network distance between each of the peers and the cache server to the cache server, List, a list of peers including an identifier of the peer is received from the cache server, and when receiving the peer list, an overlay management server for selecting another cache server for the peer
Containing
Managed peer - to - peer network system.
제15항에 있어서,
상기 오버레이 관리 서버는,
캐시 서버들 각각과 상기 피어 사이의 네트워크 거리를 기초로 결정된 캐시 서버 리스트를 획득하고, 상기 캐시 서버 리스트를 기초로 상기 캐시 서버들 중에서 상기 다른 캐시 서버를 선택하는,
관리형 피어투피어 네트워크 시스템.
16. The method of claim 15,
The overlay management server,
Obtaining a cache server list determined based on a network distance between each of the cache servers and the peer, and selecting the other cache server among the cache servers based on the cache server list,
Managed peer - to - peer network system.
제15항에 있어서,
상기 오버레이 관리 서버는,
상기 캐시 서버로부터 자원 활용 상태(resource utilization status) 정보를 수신하고, 상기 자원 활용 상태 정보를 기초로 상기 캐시 서버의 자원을 해제할 것인지 여부를 결정하는,
관리형 피어투피어 네트워크 시스템.
16. The method of claim 15,
The overlay management server,
Receiving resource utilization status information from the cache server and determining whether to release resources of the cache server based on the resource utilization status information;
Managed peer - to - peer network system.
제17항에 있어서,
상기 자원 활용 상태 정보는,
상기 캐시 서버의 자원 활용 상태 체크의 시작 시간(start time)을 나타내는 시작 타임 스탬프(start timestamp);
상기 캐시 서버의 자원 활용 상태 체크의 종료 시간(end time)을 나타내는 종료 타임 스탬프(end timestamp);
상기 캐시 서버의 저장 용량에 대한 사용량(storage usage);
상기 캐시 서버의 업로드 트래픽;
상기 캐시 서버의 다운로드 트래픽;
상기 캐시 서버의 업링크 대역폭;
상기 캐시 서버의 다운링크 대역폭;
상기 캐시 서버가 트래픽을 업로드할 때 사용되는 피어 연결의 개수; 및
상기 캐시 서버가 트래픽을 다운로드할 때 사용되는 피어 연결의 개수
를 포함하는,
관리형 피어투피어 네트워크 시스템.
18. The method of claim 17,
Wherein the resource utilization status information comprises:
A start timestamp indicating a start time of resource utilization status check of the cache server;
An end timestamp indicating an end time of the resource utilization status check of the cache server;
Storage usage of the cache server with respect to storage capacity;
Upload traffic of the cache server;
Download traffic of the cache server;
An uplink bandwidth of the cache server;
The downlink bandwidth of the cache server;
The number of peer connections used when the cache server uploads traffic; And
The number of peer connections used when the cache server downloads traffic
/ RTI >
Managed peer - to - peer network system.
KR1020170038997A 2016-05-27 2017-03-28 Oeverlay management server and resource allcatiom method of thereof KR102292909B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/596,247 US20170346888A1 (en) 2016-05-27 2017-05-16 Overlay management server and resource allocation method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160065255 2016-05-27
KR1020160065255 2016-05-27

Publications (2)

Publication Number Publication Date
KR20170134192A true KR20170134192A (en) 2017-12-06
KR102292909B1 KR102292909B1 (en) 2021-08-25

Family

ID=60922723

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170038997A KR102292909B1 (en) 2016-05-27 2017-03-28 Oeverlay management server and resource allcatiom method of thereof

Country Status (1)

Country Link
KR (1) KR102292909B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209053A1 (en) * 2007-02-28 2008-08-28 Microsoft Corporation HTTP-Based Peer-to-Peer Framework
US20130007186A1 (en) * 2011-06-30 2013-01-03 Interdigital Patent Holdings, Inc. Controlling content caching and retrieval
KR20140008065A (en) * 2012-07-10 2014-01-21 한국전자통신연구원 Peer-to-peer network system with manageability

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209053A1 (en) * 2007-02-28 2008-08-28 Microsoft Corporation HTTP-Based Peer-to-Peer Framework
US20130007186A1 (en) * 2011-06-30 2013-01-03 Interdigital Patent Holdings, Inc. Controlling content caching and retrieval
KR20140008065A (en) * 2012-07-10 2014-01-21 한국전자통신연구원 Peer-to-peer network system with manageability

Also Published As

Publication number Publication date
KR102292909B1 (en) 2021-08-25

Similar Documents

Publication Publication Date Title
CN112136294B (en) Message and system for influencing service route by application function
US11445039B2 (en) Method and apparatus for providing edge computing services
EP2104287B1 (en) A method for client node network topology construction and a system for stream media delivery
CN108023812B (en) Content distribution method and device, computing node and system of cloud computing system
KR101914488B1 (en) Server cluster and method for push notification service
CN108632063B (en) Method, device and system for managing network slice instances
EP3496432A1 (en) Communication method and device
JP2010504668A (en) Resource delivery method, system, and edge server
CN104202264A (en) Carrying resource allocation method for clouded data center network, device and system
WO2012075970A1 (en) Method, device and system for obtaining media content
EP3228047B1 (en) Methods and network nodes for monitoring services in a content delivery network
US20230126039A1 (en) Method for delivering an audio and/or video content in a mobile network infrastructure
CN110069210A (en) A kind of storage system, the distribution method of storage resource and device
CN112532674A (en) Method, device and medium for establishing network edge computing system
CN103650441A (en) Time-based business process method and device
US20170123941A1 (en) Distributed processing system
CN107332814A (en) A kind of request message transmission method and device
CN105656978B (en) A kind of resource share method and device
KR20170055174A (en) Method of managing resource and peer-to-peer system including network management server
CN106790354B (en) Communication method and device for preventing data congestion
KR101830760B1 (en) Overlay multicast system and its method to provide multiple content distribution in distributed content nodes
US20180013860A1 (en) Method and apparatus for determining to-be-uploaded nsd
US20140317272A1 (en) Method of collecting information, content network management system, and node apparatus using management interface in content network based on information-centric networking
KR101883671B1 (en) Method and management server for dtitributing node
KR102292909B1 (en) Oeverlay management server and resource allcatiom method of thereof

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20170328

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20200121

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20170328

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20201116

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20210528

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20210818

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20210819

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20240724

Start annual number: 4

End annual number: 4