Nothing Special   »   [go: up one dir, main page]

KR102315837B1 - 오버레이 관리 서버 및 이의 동작 방법 - Google Patents

오버레이 관리 서버 및 이의 동작 방법 Download PDF

Info

Publication number
KR102315837B1
KR102315837B1 KR1020170045915A KR20170045915A KR102315837B1 KR 102315837 B1 KR102315837 B1 KR 102315837B1 KR 1020170045915 A KR1020170045915 A KR 1020170045915A KR 20170045915 A KR20170045915 A KR 20170045915A KR 102315837 B1 KR102315837 B1 KR 102315837B1
Authority
KR
South Korea
Prior art keywords
peer
cache server
overlay
server
virtual
Prior art date
Application number
KR1020170045915A
Other languages
English (en)
Other versions
KR20170136973A (ko
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/600,976 priority Critical patent/US10382355B2/en
Publication of KR20170136973A publication Critical patent/KR20170136973A/ko
Application granted granted Critical
Publication of KR102315837B1 publication Critical patent/KR102315837B1/ko

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
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1072Discovery involving ranked list compilation of candidate peers
    • H04L67/2842
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

오버레이 관리 서버의 동작 방법이 개시된다. 일 실시예는 네트워크 엔티티(network entity)와 등록 프로세스(registration process)를 수행하고, 상기 등록 프로세스를 수행한 후, 상기 네트워크 엔티티와 자원 예약 프로세스(resource reservation process)를 수행하며, 상기 자원 예약 프로세스를 수행한 후, 상기 네트워크 엔티티로부터 피어 리스트 제공 요청을 수신하고, 상기 피어 리스트 제공 요청을 수신하는 경우, 상기 네트워크 엔티티의 우선 순위 레벨(priority level)을 기초로 상기 네트워크 엔티티를 위한 오버레이 자원에 대한 정보를 포함하는 피어 리스트를 상기 네트워크 엔티티로 전송하는 단계를 포함한다.

Description

오버레이 관리 서버 및 이의 동작 방법{OVERLAY MANAGEMENT SERVER AND OPERATING METHOD THEREOF}
아래 실시예들은 오버레이 관리 서버에 관한 것이다.
피투피(Peer-to-Peer, P2P) 네트워크는 피어와 피어가 직접 연결되어 피어가 서버가 아닌 다른 피어와 컨텐츠를 송수신할 수 있는 분산형 네트워크이다. 이에 따라, 피어는 컨텐츠를 수신하는 클라이언트가 될 수 있고, 컨텐츠를 제공하는 서버가 될 수 있다. 또한, P2P 네트워크는 특정 서버를 중심으로 형성되지 않고 공유되는 컨텐츠를 중심으로 형성될 수 있다. 이로 인해, P2P 네트워크에서 피어간 연결 및 네트워크의 크기가 유동적이다.
P2P 네트워크 관련 선행기술로, 한국 공개특허공보 제10-2014-0008065호(발명의 명칭: 관리 기능이 부여된 피투피 네트워크 시스템, 출원인: 한국전자통신연구원)가 있다. 해당 공개특허공보에는 적어도 하나의 피어의 상태에 대한 정보, 기반 네트워크의 상태에 대한 정보, 서비스 측면의 사용자에 대한 정보 중 적어도 하나를 활용하여 상기 적어도 하나의 피어에게 P2P 네트워크의 구성을 위한 정보들을 제공하고 서비스 제공자로 하여금 적어도 하나의 피어에게 서비스를 안정적으로 제공할 수 있고 제공되는 서비스를 제어하기 위한 관리 기능이 부여된 P2P 네트워크 시스템이 개시되어 있다.
이러한 P2P 네트워크 시스템을 이용하여 스트리밍 서비스가 제공될 수 있다. 이 때, 안정적인 서비스가 제공될 수 있도록 캐시 서버가 활용될 수 있다. 보다 구체적으로, 캐시 서버는 소스 피어 또는 다른 캐시 서버로부터 수신한 데이터를 배포함으로써 서비스가 안정적으로 제공되도록 할 수 있다. 하지만, 일반 피어(ordinary peer)들이 소스 피어 또는 다른 캐시 서버를 선점함에 따라 캐시 서버는 소스 피어 또는 다른 캐시 서버로부터 데이터를 수신할 수 없는 상황이 발생할 수 있다. 이로 인해, 오버레이 네트워크에서 데이터가 잘 배포되지 않을 수 있다.
일 측에 따른 오버레이 관리 서버의 동작 방법은 네트워크 엔티티(network entity)와 등록 프로세스(registration process)를 수행하는 단계; 상기 등록 프로세스를 수행한 후, 상기 네트워크 엔티티와 자원 예약 프로세스(resource reservation process)를 수행하는 단계; 상기 자원 예약 프로세스를 수행한 후, 상기 네트워크 엔티티로부터 피어 리스트 제공 요청을 수신하는 단계; 및 상기 피어 리스트 제공 요청을 수신하는 경우, 상기 네트워크 엔티티의 우선 순위 레벨(priority level)을 기초로 상기 네트워크 엔티티를 위한 오버레이 자원에 대한 정보를 포함하는 피어 리스트를 상기 네트워크 엔티티로 전송하는 단계를 포함한다.
상기 피어 리스트는 컨텐츠를 푸시하는 캐시 서버의 가상 피어에 대한 정보 및 가장 최근 조각(latest fragment)을 갖는 캐시 서버의 가상 피어에 대한 정보 중 적어도 하나를 포함할 수 있다.
상기 피어 리스트는 오버레이 네트워크에 할당된 랜덤 스트링의 길이값을 포함할 수 있다.
상기 피어 리스트는 상기 네트워크 엔티티의 우선 순위 레벨이 가장 높은 경우, 오버레이 네트워크에 할당된 랜덤 스트링의 전체(full) 길이값을 포함할 수 있다.
상기 동작 방법은 상기 네트워크 엔티티가 일반 피어(ordinary peer)인 경우, 오버레이 네트워크에 할당된 랜덤 스트링의 길이값을 상기 네트워크 엔티티로 전송하지 않고, 상기 네트워크 엔티티가 캐시 서버의 가상 피어인 경우, 상기 랜덤 스트링의 전체 길이값 또는 부분(partial) 길이값을 상기 네트워크 엔티티로 전송하는 단계를 더 포함할 수 있다.
상기 등록 프로세스를 수행하는 단계는, 상기 네트워크 엔티티로부터 등록을 위한 요청 메시지를 수신하는 경우, 상기 네트워크 엔티티를 상기 오버레이 관리 서버에 등록하는 단계; 상기 네트워크 엔티티가 상기 오버레이 관리 서버에 등록되는 경우, 자원 식별자를 상기 네트워크 엔티티에 할당하는 단계; 및 상기 자원 식별자를 할당한 경우, 상기 요청 메시지에 대한 응답 메시지를 상기 네트워크 엔티티로 전송하는 단계를 포함할 수 있다.
상기 네트워크 엔티티를 등록하는 단계는, 상기 네트워크 엔티티의 활동 이력(activity history) 또는 상기 오버레이 네트워크 관리 서버의 정책(policy)를 기초로 상기 우선 순위 레벨을 설정하는 단계를 포함할 수 있다.
상기 자원 예약 프로세스를 수행하는 단계는, 상기 우선 순위 레벨을 식별하는데 사용되는 우선 순위 키로 가상 피어 인스턴스를 개시(initiate)할 것을 상기 네트워크 엔티티에게 요청하는 단계를 포함할 수 있다.
상기 자원 예약 프로세스를 수행하는 단계는, 상기 네트워크 엔티티의 자원을 예약하기 위해 요청 메시지를 상기 네트워크 엔티티에게 전송하는 단계; 및 상기 우선 순위 레벨을 기초로, 오버레이 네트워크에 할당된 랜덤 스트링의 일부 또는 전부를 상기 네트워크 엔티티에게 전송하는 단계를 더 포함할 수 있다.
일 측에 따른 오버레이 관리 서버는 통신 인터페이스; 및 네트워크 엔티티(network entity)와 등록 프로세스(registration process)를 수행하고, 상기 등록 프로세스를 수행한 후, 상기 네트워크 엔티티와 자원 예약 프로세스(resource reservation process)를 수행하며, 상기 자원 예약 프로세스를 수행한 후, 상기 네트워크 엔티티로부터 상기 통신 인터페이스를 통해 피어 리스트 제공 요청을 수신하고, 상기 피어 리스트 제공 요청을 수신하는 경우, 상기 네트워크 엔티티의 우선 순위 레벨(priority level)을 기초로 상기 네트워크 엔티티를 위한 오버레이 자원에 대한 정보를 포함하는 피어 리스트를 상기 통신 인터페이스를 통해 상기 네트워크 엔티티로 전송하는 프로세싱 장치를 포함한다.
상기 피어 리스트는 컨텐츠를 푸시하는 캐시 서버의 가상 피어에 대한 정보 및 가장 최근 조각(latest fragment)을 갖는 캐시 서버의 가상 피어에 대한 정보 중 적어도 하나를 포함할 수 있다.
상기 피어 리스트는 오버레이 네트워크에 할당된 랜덤 스트링의 길이값을 포함할 수 있다.
상기 피어 리스트는 상기 네트워크 엔티티의 우선 순위 레벨이 가장 높은 경우, 오버레이 네트워크에 할당된 랜덤 스트링의 전체 길이값을 포함할 수 있다.
상기 프로세싱 장치는, 상기 네트워크 엔티티가 일반 피어(ordinary peer)인 경우, 오버레이 네트워크에 할당된 랜덤 스트링의 길이값을 상기 네트워크 엔티티로 전송하지 않고, 상기 네트워크 엔티티가 캐시 서버의 가상 피어인 경우, 상기 랜덤 스트링의 전체 길이값 또는 부분 길이값을 상기 통신 인터페이스를 통해 상기 네트워크 엔티티로 전송할 수 있다.
상기 프로세싱 장치는, 상기 네트워크 엔티티로부터 등록을 위한 요청 메시지를 상기 통신 인터페이스를 통해 수신하는 경우, 상기 네트워크 엔티티를 상기 오버레이 관리 서버에 등록하고, 상기 네트워크 엔티티가 상기 오버레이 관리 서버에 등록되는 경우, 자원 식별자를 상기 네트워크 엔티티에 할당하며, 상기 자원 식별자를 할당한 경우, 상기 요청 메시지에 대한 응답 메시지를 상기 통신 인터페이스를 통해 상기 네트워크 엔티티로 전송할 수 있다.
상기 프로세싱 장치는, 상기 네트워크 엔티티의 활동 이력(activity history) 또는 상기 오버레이 네트워크 관리 서버의 정책(policy)를 기초로 상기 우선 순위 레벨을 설정할 수 있다.
상기 프로세싱 장치는, 상기 우선 순위 레벨을 식별하는데 사용되는 우선 순위 키를 갖는 가상 피어 인스턴스를 개시(initiate)할 것을 상기 통신 인터페이스를 통해 상기 네트워크 엔티티에게 요청할 수 있다.
상기 프로세싱 장치는, 상기 네트워크 엔티티의 자원을 예약하기 위해 요청 메시지를 상기 네트워크 엔티티에게 상기 통신 인터페이스 통해 전송하고, 상기 우선 순위 레벨을 기초로, 오버레이 네트워크에 할당된 랜덤 스트링의 일부 또는 전부를 상기 네트워크 엔티티에게 상기 통신 인터페이스를 통해 전송할 수 있다.
실시예들의 경우, 캐시 서버는 소스 피어 또는 다른 캐시 서버로부터 데이터를 일반 피어 보다 우선적으로 수신할 수 있어, 오버레이 네트워크의 배포 성능이 향상될 수 있다.
도 1은 일 실시예에 따른 관리형 P2P 시스템의 동작을 설명하기 위한 흐름도이다.
도 2는 일 실시예에 따른 등록 프로세스를 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 자원 예약 프로세스를 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 피어 리스트의 송수신을 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 피어 관계 형성을 설명하기 위한 흐름도이다.
도 6은 일 실시예에 따른 임시 VPID 생성을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 오버레이 관리 서버의 동작을 설명하기 위한 순서도이다.
도 8은 일 실시예에 따른 오버레이 관리 서버를 설명하기 위한 블록도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
실시예들을 설명하기 앞서, 용어들을 간략히 설명한다.
오버레이 관리 서버(overlay Management server, OMS): OMS는 관리형 P2P(managed P2P, MP2P) 네트워크를 관리하고 MP2P 네트워크에 참여하는 피어들을 도울 수 있다. UNIS와의 상호 작용을 통해, OMS는 최적 MP2P 네트워크를 구성하기 위해 최적 피어 리스트를 제공할 수 있다.
오버레이 네트워크(overlay network): 오버레이 네트워크는 다른 네트워크(another network)의 위에서 구동되는 가상 네트워크이다. 오버레이 네트워크는 노드들의 셋 및 해당 노드들 사이의 링크들을 포함한다. 이러한 링크들은 논리적인 것이어서, 기반 네트워크(underlying network)의 물리적 링크들과 대응될 수 있다.
캐시 서버(cache server, CS): 캐시 서버는 관리형 P2P 네트워크에서 특정 목적(certain purpose)을 달성하기 위해 컨텐츠의 일부 또는 컨텐츠 전부를 캐싱하는 전용 서버(dedicated server)를 나타낸다. 캐시 서버는 하나 이상의 가상 피어를 갖는다.
오버레이 자원(overlay resource): 오버레이 자원은 오버레이 네트워크의 안정성(stability) 및 성능(performance)을 향상시키기 위해 해당 오버레이 네트워크에 대한 전용 자원(dedicated resource)을 나타낸다. 오버레이 자원은 캐시 서버의 하나 이상의 가상 피어와 릴레이 서버의 하나 이상의 릴레이 인스턴스(relay instance)를 포함한다.
릴레이 인스턴스(relay instance): 릴레이 인스턴스는 트래픽을 릴레이하는 인스턴스를 나타낸다. 릴레이 인스턴스는 NAT/FW(network address translation/firewall) 뒤에 있는 특정 피어(specific peer)를 위해 트래픽 릴레이를 수행한다. 릴레이 서버에서 구동되는 모든 릴레이 인스턴스는 유니크하게 식별된다. 다시 말해, 릴레이 인스턴스에는 고유 식별자가 할당될 수 있다.
릴레이 서버(relay server): 릴레이 서버는 관리형 P2P 네트워크에서 NAT/FW 뒤에 있는 하나 이상의 피어에게 트래픽을 릴레이하거나 NAT/FW 뒤에 있는 하나 이상의 피어로부터 트래픽을 릴레이받는 전용 서버(dedicated server)를 나타낸다. 릴레이 서버는 하나 이상의 릴레이 인스턴스를 갖는다.
가상 피어(virtual peer): 가상 피어는 캐시 서버에서 구동되는 피어로서 동작하는 인스턴스를 나타낸다. 피어로서 동작하는 가상 피어는 하나 이상의 오버레이 네트워크에 참여하고, 다른 피어들과 조각을 교환한다. 여기서, 조각은 컨텐츠의 일부를 의미한다. 캐시 서버에서 구동되는 가상 피어는 유니크하게 식별된다. 다시 말해, 가상 피어에 고유 식별자가 할당될 수 있다.
도 1은 일 실시예에 따른 관리형 P2P 시스템의 동작을 설명하기 위한 흐름도이다.
관리형 P2P(managed P2P, MP2P) 시스템은 다양한 종류의 네트워크 엔티티들을 포함할 수 있다. 예를 들어, 도 1에 도시된 예와 같이, MP2P 관리형 시스템은 복수의 CS들, OMS, 및 피어를 포함할 수 있다. MP2P 관리형 시스템에 포함된 네트워크 엔티티들이 어떤 동작을 수행할 수 있는지에 대해 설명한다.
도 1을 참조하면, OMS는 CS 1과 등록 프로세스를 수행한다(110).
단계(110)에서, OMS는 CS 1의 우선 순위 레벨(priority level)을 설정할 수 있다. 예를 들어, OMS는 CS 1의 활동 이력(activity history) 및 OMS의 미리 정의된 정책(predefined policy)을 기초로 CS 1의 우선 순위 레벨을 내부적으로(internally) 설정할 수 있다. 여기서, CS 1이 신뢰할만한 서비스 제공자(trustable service provider)에 의해 제공되면, CS 1은 자발적 사용자(voluntary user)로부터의 CS보다 높은 우선 순위를 가질 수 있다. 다시 말해, CS 1이 서비스 제공자 도메인에 위치하면, CS 1의 우선 순위 레벨은 사용자에 의해 제공되는 CS의 우선 순위 레벨보다 높을 수 있다. 즉, 사용자가 제공하는 오버레이 자원과 사업자가 제공하는 오버레이 자원은 신뢰도에서 서로 차이가 날 수 있는데, OMS는 양 오버레이 자원에 서로 다른 우선 순위 레벨을 부여할 수 있고, 후술하겠지만, 우선 순위 키의 길이를 다르게 할 수 있다. 등록 프로세스의 자세한 사항에 대해선 도 2를 통해 후술한다.
OMS는 CS 1과 자원 예약 프로세스를 수행한다(120).
단계(120)에서, OMS는 CS 1의 우선 순위 레벨을 식별하기 위해 사용되는 우선 순위 키(priority key)로 가상 피어 인스턴스를 개시(initiate)할 것을 CS 1에게 요청할 수 있다. CS 1에서 가상 피어가 성공적으로 생성되면, CS 1은 응답 메시지를 OMS로 전송할 수 있다. 자원 예약 프로세스의 자세한 사항에 대해선 도 3을 통해 후술한다.
CS 1은 오버레이 네트워크에 참여하고, OMS로부터 피어 리스트를 리트리브(retrieve)한다(130). 달리 표현하면, CS 1은 OMS에게 피어 리스트 제공을 요청할 수 있고, OMS는 해당 요청에 대한 응답으로, 피어 리스트를 CS 1에게 전송할 수 있다.
일 실시예에 있어서, 피어 리스트는 CS 1을 위한 오버레이 자원에 대한 정보를 포함할 수 있다. 여기서, CS 1을 위한 오버레이 자원에 대한 정보는 컨텐츠를 푸시(push)하는 CS의 가상 피어에 대한 정보 및 가장 최근 조각(latest fragment)을 갖는 CS의 가상 피어에 대한 정보를 포함할 수 있다. 예를 들어, CS 1을 위한 오버레이 자원에 대한 정보는 컨텐츠를 CS 1으로 푸시할 수 있는 하나 이상의 CS의 하나 이상의 가상 피어에 대한 정보를 포함할 수 있다. 멀티미디어 스트리밍 서비스의 경우에서, CS 1을 위한 오버레이 자원에 대한 정보는 가장 최근 조각을 갖는 CS의 하나 이상의 가상 피어에 대한 정보를 포함할 수 있다.
또한, 피어 리스트는 CS 1을 위한 오버레이 자원을 갖는 CS가 보유한 우선 순위 키의 길이(length)를 포함할 수 있다. 우선 순위 키의 길이(또는, 랜덤 스트링의 길이)는 피어 리스트를 수신하는 CS의 우선 순위 레벨에 의존한다. 달리 표현하면, 우선 순위 키의 길이는 피어 리스트를 수신하는 CS의 우선 순위 레벨을 기초로 결정될 수 있다. 도 1에 도시된 예에서, CS 1의 우선 순위 레벨이 가장 높으면, 오버레이 네트워크 내의 CS가 보유한 우선 순위 키의 전체 길이(full length)가 피어 리스트에 포함될 수 있고, CS 1의 우선 순위 레벨이 낮으면, 오버레이 네트워크 내의 CS가 보유한 우선 순위 키의 일부에 대한 길이가 피어 리스트에 포함될 수 있다. 일례로, CS 2가 오버레이 네트워크 내에서 CS 1을 위한 오버레이 자원을 갖는다고 하자. CS 1의 우선 순위 레벨이 가장 높으면, CS 2가 보유한 우선 순위 키의 전체 길이가 피어 리스트에 포함될 수 있고, CS 1의 우선 순위 레벨이 낮으면, CS 2가 보유한 우선 순위 키의 일부에 대한 길이가 피어 리스트에 포함될 수 있다.
CS 1이 OMS로부터 피어 리스트를 수신하면, CS 1의 가상 피어는 피어 리스트 내의 가상 피어와 피어 관계(peer relationship)를 형성할 수 있다. 예를 들어, CS 1의 가상 피어는 자신의 우선 순위 키로 CS 2의 가상 피어와 피어 관계를 형성할 수 있다(140). 달리 표현하면, CS 1의 가상 피어는 자신의 우선 순위 키의 일부 또는 전부를 포함하는 요청 메시지를 CS 2로 전송할 수 있다. CS들 간의 피어 관계 형성에 대해선 도 5를 통해 자세히 설명한다.
또한, CS 1은 피어와 피어 관계를 형성할 수 있다(150). 여기서, 피어가 우선 순위 레벨 또는 우선 순위 정보를 갖지 않는 일반 피어(ordinary peer)라면, CS 1은 자신의 우선 순위 키를 요청 메시지에 포함시키지 않을 수 있다. CS와 피어 간의 피어 관계 형성에 대해선 도 5를 통해 자세히 설명한다.
CS 2가 피어와 연결되고 CS 2에게 현재 여유 자원이 없다고 하자. CS 2는 CS 1으로부터 요청 메시지를 수신하면, CS 2는 CS 1에게 우선적으로 데이터를 전송하기 위해 피어와의 연결을 해제(release)할 수 있다. 이에 따라, CS 1은 피어에 우선하여 데이터를 CS 2로부터 수신할 수 있고, 데이터 배포 역할을 갖는 CS 1은 데이터를 보다 빨리 배포할 수 있다. 이로써, 오버레이 네트워크의 배포 성능(distribution performance)이 향상될 수 있다.
도 2는 일 실시예에 따른 등록 프로세스를 설명하기 위한 흐름도이다.
도 2를 참조하면, CS 1은 OMS와 공유할 자원을 체크한다(210).
CS 1은 등록을 위한 요청 메시지를 OMS로 전송한다(220). 등록을 위한 요청 메시지는 공유할 자원에 대한 정보(information to be shared)를 포함할 수 있다. 공유할 자원에 대한 정보는 최대 업링크 대역폭, 최대 다운링크 대역폭 등을 포함할 수 있다.
OMS는 CS 1으로부터 수신한 "공유할 자원에 대한 정보"를 저장한다(230). 이로써, OMS는 CS 1을 OMS에 등록할 수 있다. 일 실시예에 따르면, 단계(230)에서, OMS는 CS 1의 활동 이력 또는 OMS의 미리 정의된 정책을 기초로 CS 1의 우선 순위 레벨을 설정할 수 있다. 예를 들어, OMS는 CS 1이 신뢰할만한 서비스 제공자에 의해 제공된 것이면, CS 1에 높은 우선 순위 레벨을 부여할 수 있고, CS 1이 일반 사용자에 의해 제공된 것이면, CS 1에 낮은 우선 순위 레벨을 부여할 수 있다.
OMS는 CS 1을 등록하는 경우, CS 1에 대한 자원 식별자를 할당한다(240).
OMS는 CS 1에 대한 자원 식별자를 할당하는 경우, 응답 메시지를 CS 1으로 전송한다(250). 여기서, 응답 메시지는 CS 1에 대한 자원 식별자를 포함한다.
CS 1은 자원 식별자를 저장한다(260).
일 실시예에 따르면, OMS는 피어의 자원 할당 요청 또는 자원이 필요하다는 자체 판단에 따라 CS 1에게 자원 예약을 요청할 수 있다. 이하, 도 3을 참조하면서 설명한다.
도 3은 일 실시예에 따른 자원 예약 프로세스를 설명하기 위한 흐름도이다.
도 3을 참조하면, OMS는 CS 1에게 자원을 예약하기 위한 요청 메시지를 전송한다(310). 요청 메시지는 오버레이 네트워크에서 사용하는 우선 순위 키의 전체 스트링 또는 전체 스트링의 일부를 포함할 수 있다. 예를 들어, 우선 순위 키의 전체 스트링이 "aaabacdefsgadfg"라 하자. CS 1의 우선 순위 레벨이 가장 높다면, 요청 메시지는 우선 순위 키의 전체 스트링 "aaabacdefsgadfg"을 포함할 수 있고, CS 1의 우선 순위 레벨이 상대적으로 높지 않다면, 요청 메시지는 전체 스트링의 일부 "aaabacd"를 포함할 수 있다. 여기서, "aaabacd"의 길이는 CS 1의 우선 순위 레벨과 관련될 수 있다.
단계(310)을 달리 표현하면, OMS는 CS 1의 우선 순위 레벨을 식별하는데 사용되는 우선 순위 키로 가상 피어 인스턴스를 개시할 것을 CS 1에게 요청할 수 있다.
CS 1은 가상 피어 인스턴스를 생성한다(330). 그리고, CS 1은 VPID(virtual peer id)를 생성할 수 있고, 가상 피어에 VPID를 할당할 수 있다.
CS 1은 자원을 예약하기 위한 요청 메시지에 대한 응답 메시지를 OMS로 전송한다(350). 여기서, 응답 메시지는 CS 1의 가상 피어의 VPID를 포함한다.
또한, OMS는 다른 CS, 즉, CS 3에게도 자원을 예약하기 위한 요청 메시지를 전송할 수 있다(320). 여기서, 요청 메시지는 우선 순위 키의 전체 스트링 또는 전체 스트링의 일부를 포함할 수 있다. CS 3은 요청 메시지를 수신하면, 가상 피어 인스턴스를 생성할 수 있고(340), 가상 피어에 VPID를 할당할 수 있다. CS 3은 자신의 가상 피어의 VPID를 포함하는 응답 메시지를 OMS에 전송할 수 있다(360).
일 실시예에 있어서, CS 1은 데이터(일례로, 스트리밍 데이터)를 배포하는 역할을 가질 수 있다. 이 경우, 오버레이 네트워크의 배포 성능을 향상시키기 위해 CS 1 또는 CS 1의 가상 피어는 일반 피어들보다 데이터를 먼저 확보해야 한다. 데이터를 확보하기 위해선 CS 1은 소스 피어 또는 다른 CS와 피어 관계를 형성해야 하고, 피어 관계를 형성하기 위해선 소스 피어 또는 다른 CS들의 정보를 포함하는 피어 리스트가 필요하다. 여기서, 소스 피어 또는 다른 CS들의 정보는 도 1을 통해 설명한 "컨텐츠를 푸시하는 CS의 가상 피어에 대한 정보 및 가장 최근 조각을 갖는 CS의 가상 피어에 대한 정보" 중 적어도 하나일 수 있다. 결국, CS 1이 데이터를 확보하기 위해서 피어 리스트가 필요하다. 이하, 도 4를 참조하면서, CS 1이 피어 리스트를 어떻게 확보하는지에 대해 설명한다.
도 4는 일 실시예에 따른 피어 리스트의 송수신을 설명하기 위한 흐름도이다.
도 4를 참조하면, CS 1은 OMS에게 피어 리스트 제공을 요청한다(410). CS 1은 피어 리스트 제공을 요청할 때, 자신의 가상 피어의 VPID를 OMS에게 전송할 수 있다. 달리 표현하면, CS 1은 자신의 가상 피어의 VPID를 이용하여 OMS에게 피어 리스트를 요청할 수 있다.
OMS는 CS 1의 우선 순위 레벨을 알아낼 수 있다(figure out). 예를 들어, OMS는 CS 1의 가상 피어의 VPID를 이용하여 CS 1의 우선 순위 레벨을 알아낼 수 있다.
OMS는 CS 1에게 피어 리스트를 전송한다(420). 여기서, 피어 리스트는 컨텐츠를 푸시하는 CS의 가상 피어에 대한 정보 및 가장 최근 조각을 갖는 CS의 가상 피어에 대한 정보 중 적어도 하나를 포함할 수 있다. 보다 구체적으로, 피어 리스트는 피어 ID, 네트워크 정보, 타입, 및 우선 순위 키의 길이 중 적어도 하나를 포함할 수 있다. 여기서, 네트워크 정보는 IP 주소 및/또는 포트(port) 정보를 포함할 수 있고, 타입은 일반 피어, RS, 또는 CS로 설정될 수 있으며, 우선 순위 키의 길이는 CS 1의 우선 순위 레벨을 기초로 결정된 길이값일 수 있다. 도 4에 도시된 예에서, CS 1으로 컨텐츠를 푸시하는 CS 또는 가장 최근 조각을 갖는 CS가 CS 2라 하고, 우선 순위 키의 전체 길이를 A라 하며, CS 1의 우선 순위 레벨이 가장 높다고 하자. 이 경우, 피어 리스트는 "CS 2의 가상 피어의 ID(즉, VPID), 네트워크 정보, 타입=CS, 우선 순위 키의 길이=A"를 포함할 수 있다.
CS 1이 피어 리스트를 수신하면, 피어 리스트를 통해 다른 CS 또는 피어와 피어 연결을 설정할 수 있다. 위에서 설명한 예에서, CS 1은 CS 2와 피어 연결을 설정할 수 있다. 피어 연결의 설정에 대해선 도 5를 통해 후술한다.
또한, 다른 네트워크 엔티티, 즉, CS 3가 OMS에게 피어 리스트 제공을 요청할 수 있다(430). CS 3은 피어 리스트 제공을 요청할 때, 자신의 가상 피어의 VPID를 OMS에게 전송할 수 있다.
OMS는 CS 3의 우선 순위 레벨을 알아낼 수 있다.
OMS는 CS 3에게 피어 리스트를 전송한다(440). 일례로, CS 3으로 컨텐츠를 푸시하는 CS 또는 가장 최근 조각을 갖는 CS가 CS 2라 하고, 우선 순위 키의 전체 길이를 A라 하며, CS 3의 우선 순위 레벨은 CS 1에 비해 낮다고 하자. 이 경우, 피어 리스트는 "CS 2의 가상 피어의 ID(즉, VPID), 네트워크 정보, 타입=CS, 우선 순위 키의 길이=B"를 포함할 수 있다. 여기서, B는 A보다 작다. 다시 말해, CS 3은 CS 1보다 낮은 우선 순위 레벨을 가지므로, CS 3으로 전송되는 피어 리스트에는 우선 순위 키 전체 길이에 대한 길이값 대신에 우선 순위 키의 일부분에 대한 길이값이 포함될 수 있다.
또한, 또 다른 네트워크 엔티티, 즉, 피어가 OMS에게 피어 리스트 제공을 요청할 수 있다(450).
OMS는 피어가 일반 피어에 해당하는지 또는 가상 피어에 해당하는지 알 수 있다. 예를 들어, OMS는 피어의 ID를 통해 피어가 일반 피어에 해당하는지 가상 피어에 해당하는지 알 수 있다. 도 4에 도시된 예의 피어는 일반 피어라 하자. OMS는 피어에게 "피어 ID 및 네트워크 정보"를 포함하는 피어 리스트를 전송할 수 있다(460). 즉, 일반 피어로 전송되는 피어 리스트에는 가상 피어로 전송되는 피어 리스트에 포함된 "타입 및 우선 순위 키의 길이"가 포함되지 않을 수 있다. 다시 말해, OMS는 일반 피어에게는 "타입 및 우선 순위 키의 길이"를 포함하지 않는 차별적인 피어 리스트를 제공할 수 있다.
도 4를 통해 설명한 것과 같이, 피어 리스트를 요청한 네트워크 엔티티가 CS인지 또는 일반 피어인지에 따라, 피어 리스트에 포함되는 정보의 종류가 다르다.
또한, 피어 리스트를 요청한 네트워크 엔티티가 CS인 경우, CS의 우선 순위 레벨에 따라 피어 리스트에 포함되는 정보의 종류가 다르다. 위에서 설명한 것과 같이, 높은 우선 순위 레벨을 갖는 CS로 전송되는 피어 리스트에 포함된 "우선 순위 키의 길이"는 낮은 우선 순위 레벨을 갖는 CS로 전송되는 피어 리스트에 포함된 "우선 순위 키의 길이"보다 클 수 있다. 또한, 높은 우선 순위 레벨을 갖는 CS로 전송되는 피어 리스트에는 모든 CS들의 정보가 포함될 수 있고, 낮은 우선 순위 레벨을 갖는 CS로 전송되는 피어 리스트에는 일부 CS들 또는 단일 CS의 정보가 포함될 수 있다.
이하, 도 5를 참조하면서 피어 관계 형성에 대해 설명한다.
도 5는 일 실시예에 따른 피어 관계 형성을 설명하기 위한 흐름도이다.
도 5를 참조하면, CS 1은 CS 2에게 접속 요청 메시지를 전송한다(510). 예를 들어, CS 1은 OMS로부터 수신한 피어 리스트에서 CS 2의 가상 피어를 선택할 수 있다. 도 4를 통해 설명한 것과 같이, 피어 리스트에는 길이(즉, 우선 순위 키의 길이)가 포함될 수 있고, CS 1은 자신의 가상 피어의 VPID, 자신이 보유하고 있는 우선 순위 키, 및 피어 리스트에 포함된 길이를 기초로 임시 VPID를 생성할 수 있다. 임시 VPID의 생성에 대해선 도 6을 통해 후술한다. CS 1은 임시 VPID를 접속 요청 메시지에 포함시킬 수 있다. 다시 말해, 접속 요청 메시지는 CS 1의 임시 VPID를 포함할 수 있다.
CS 2는 CS 1의 우선 순위 레벨을 확인한다(520). 예를 들어, CS 2는 CS 1의 접속 요청 메시지에 포함된 임시 VPID 내의 우선 순위 키와 CS 2 자신이 보유하고 있는 우선 순위 키가 서로 동일한지 체크할 수 있고, 이러한 체크를 기초로 CS 1의 우선 순위 레벨을 확인할 수 있다. 전술한 두 개의 우선 순위 키가 서로 동일하다면, CS 2는 CS 1의 우선 순위 레벨이 자신보다 높거나 자신과 동일한 것으로 결정할 수 있고, CS 2 자신이 보유하고 있는 우선 순위 키의 길이가 임시 VPID 내의 우선 순위 키의 길이보다 길면, CS 2는 CS 1의 우선 순위 레벨이 자신보다 낮다고 결정할 수 있다.
CS 2는 CS 1의 우선 순위 레벨을 기초로 CS 1이 자신에게 접속할 권한이 있다고 결정하거나 CS 1이 접속할 권한이 없더라도 CS 2 자신의 자원이 여유가 있으면, CS 1에게 접속 허가 메시지를 전송한다(530). 만약, CS 2가 여유 자원을 가지지 않는 상황에서 CS 1에게 접속 권한이 있다고 결정되면(즉, CS 1의 우선 순위 레벨이 자신과 동일하거나 자신 보다 높으면), CS 2는 현재 연결된 피어들 중 일반 피어 또는 권한이 낮은 피어(일례로, 우선 순위 레벨이 낮은 가상 피어)와의 연결을 해지(release)하고, CS 1과 피어 연결을 설정할 수 있다. 다시 말해, CS간의 통신의 우선 순위가 CS와 피어 사이의 통신의 우선 순위보다 높을 수 있다.
또한, 도 6에 도시된 예에서, CS 3은 CS 2에게 접속 요청 메시지를 전송한다(540). 여기서, 접속 요청 메시지는 CS 3가 생성한 임시 VPID를 포함할 수 있다.
CS 2는 CS 3의 우선 순위 레벨을 확인할 수 있다. 도 5에 도시된 예에서, CS 2가 보유하고 있는 우선 순위 키의 길이가 CS 3의 접속 요청 메시지에 포함된 임시 VPID 내의 우선 순위 키의 길이보다 길다고 하자. 다시 말해, CS 2의 우선 순위 레벨이 CS 3의 우선 순위 레벨보다 높다고 하자.
CS 2는 자신의 자원에 여유가 있는지 결정할 수 있다(550).
CS 2는 자신의 자원에 여유가 없으면, CS 3에게 접속 거절 메시지를 전송할 수 있다(560).
CS 2는 자신의 자원에 여유가 있으면, CS 3에게 접속 허가 메시지를 전송할 수 있다(570). CS 2는 CS 3과 피어 연결을 설정하고, CS 3에게 데이터를 전송할 수 있다. 만약, CS 2가 높은 우선 순위 레벨을 갖는 CS로부터 접속 요청 메시지를 수신했을 때 CS 2 자신에게 여유 자원이 없으면, CS 2는 CS 3과의 피어 연결을 해지할 수 있다.
도 6은 일 실시예에 따른 임시 VPID 생성을 설명하기 위한 도면이다.
도 6에 도시된 예에서, CS 2는 우선 순위 키(길이=A)를 보유하고, CS 4는 우선 순위 키(길이=B)를 보유하고 있다고 하자.
CS 1은 OMS로부터 수신한 피어 리스트를 통해 CS 2는 오버레이 네트워크에 할당된 전체 우선 순위 키 중 길이 A만큼 보유하고 있음을 알고 있고, CS 4는 전체 우선 순위 키 중 길이 B만큼 보유하고 있음을 알 수 있다. 위에서 설명한 것과 같이, 피어 리스트에는 CS 2의 우선 순위 키의 길이=A 및 CS 4의 우선 순위 키의 길이=B가 포함될 수 있으므로, CS 1은 CS 2 및 CS 4 각각이 보유하고 있는 우선 순위 키의 길이를 알 수 있다.
CS 1은 자신의 가상 피어의 VPID(611)에 자신이 보유하고 있는 우선 순위 키를 오버랩하되, 길이 A만큼을 VPID(611)에 오버랩할 수 있다. 달리 표현하면, CS 1은 자신이 보유하고 있는 우선 순위 키를 길이 A만큼 잘라내고(cut), 잘라낸 우선 순위 키, 즉, CS 1 자신의 우선 순위 키 중 길이 A에 해당하는 부분을 VPID(611)에 임베딩할 수 있다. 이로써, 도 6에 도시된 임시 VPID(620)가 생성될 수 있다. CS 1은 임시 VPID(620)를 포함하는 접속 요청 메시지를 CS 2로 전송할 수 있다. 즉, CS 2로 전송되는 접속 요청 메시지는 CS 1의 우선 순위 키 중 길이 A의 전부 또는 일부를 포함할 수 있다.
또한, CS 1은 자신보다 낮은 우선 순위 레벨을 갖는 CS 4에게 접속 요청 메시지를 전송할 수 있다. 여기서, CS 1은 자신의 가상 피어의 VPID(611)에 자신이 보유하고 있는 우선 순위 키를 오버랩하되, 자신이 보유하고 있는 우선 순위 키의 전체 길이 중 길이 B만큼을 VPID(611)에 오버랩할 수 있다. 이로써, 도 6에 도시된 임시 VPID(630)가 생성될 수 있고, CS 1은 임시 VPID(630)를 포함하는 접속 요청 메시지를 CS 4로 전송할 수 있다. 즉, CS 4로 전송되는 접속 요청 메시지는 CS 1의 우선 순위 키의 전부 또는 일부를 포함할 수 있다.
또한, CS 1은 일반 피어에게 접속 요청 메시지를 전송할 수 있다. 여기서, 접속 요청 메시지는 CS 1에서 생성된 VPID가 포함될 수 있다. 다시 말해, CS 1은 일반 피어로 전송할 접속 요청 메시지에 자신의 우선 순위 키를 포함시키지 않을 수 있다. 일반 피어는 신뢰도가 낮을 수 있어 CS 1의 우선 순위 키가 일반 피어로 전송되면, CS 1의 우선 순위 키가 유출될 수 있다. 하지만, 도 6에 도시된 예의 경우, CS 1의 우선 순위 키는 일반 피어에게 노출되지 않아, 유출되지 않을 수 있다.
도 7은 일 실시예에 따른 오버레이 관리 서버의 동작을 설명하기 위한 순서도이다.
도 7을 참조하면, OMS는 네트워크 엔티티와 등록 프로세스를 수행한다(710). 네트워크 엔티티는, 예를 들어, 일반 피어, CS, CS의 가상 피어, 및 RS 중 적어도 하나를 포함할 수 있다. 예를 들어, OMS는 CS로부터 등록을 위한 요청 메시지를 수신하는 경우, CS의 우선 순위 레벨을 결정할 수 있고, CS를 OMS에 등록할 수 있으며, CS가 OMS에 등록되는 경우, 자원 식별자를 CS에 할당할 수 있고, 자원 식별자를 할당한 경우, 요청 메시지에 대한 응답 메시지를 CS로 전송할 수 있다. 여기서, 응답 메시지에는 자원 식별자가 포함될 수 있다.
OMS는 등록 프로세스를 수행한 후, 네트워크 엔티티와 자원 예약 프로세스를 수행한다(720). 예를 들어, OMS는 자원 할당이 필요한 경우, CS의 자원을 예약하기 위해 요청 메시지를 CS로 전송할 수 있다. 이 때, OMS는 CS의 우선 순위 레벨을 기초로 우선 순위 키의 일부 또는 전부를 CS에게 전송할 수 있다. 일례로, CS의 우선 순위 레벨이 가장 높으면, OMS는 전체 우선 순위 키를 CS에게 전송할 수 있다.
OMS는 자원 예약 프로세스를 수행한 후, 네트워크 엔티티로부터 피어 리스트 제공 요청을 수신한다(730).
OMS는 네트워크 엔티티의 우선 순위 레벨을 기초로 네트워크 엔티티를 위한 오버레이 자원에 대한 정보를 포함하는 피어 리스트를 네트워크 엔티티로 전송한다(740).
일 실시예에 있어서, 피어 리스트는 네트워크 엔티티의 종류에 따라 오버레이 네트워크에 할당된 랜덤 스트링, 즉, 우선 순위 키의 길이값을 포함하거나 포함하지 않을 수 있다. 예를 들어, 네트워크 엔티티가 일반 피어인 경우, 피어 리스트는 오버레이 네트워크 내의 하나 이상의 CS가 보유한 우선 순위 키의 길이값을 포함하지 않을 수 있고, 네트워크 엔티티가 CS 또는 CS의 가상 피어인 경우, 피어 리스트는 하나 이상의 CS가 보유한 우선 순위 키의 길이값을 포함할 수 있다. 여기서, 네트워크 엔티티가 CS의 우선 순위 레벨에 따라 피어 리스트에 포함되는 길이값이 다를 수 있다. CS의 우선 순위 레벨이 가장 높은 경우, 피어 리스트는 하나 이상의 CS가 보유한 우선 순위 키의 전체 길이에 대한 길이값을 포함할 수 있고, CS의 우선 순위 레벨이 낮은 경우, 피어 리스트는 하나 이상의 CS가 보유한 우선 순위 키의 일부에 대한 길이값을 포함할 수 있다.
도 1 내지 도 6을 통해 기술된 사항들은 도 7을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 8은 일 실시예에 따른 오버레이 관리 서버를 설명하기 위한 블록도이다.
도 8을 참조하면, OMS(800)는 통신 인터페이스(810) 및 프로세싱 장치(820)를 포함한다.
통신 인터페이스(820)는 하나 이상의 네트워크 엔티티와 통신할 수 있다.
프로세싱 장치(820)는 네트워크 엔티티와 등록 프로세스를 수행하고, 등록 프로세스를 수행한 후, 네트워크 엔티티와 자원 예약 프로세스를 수행한다.
프로세싱 장치(820)는 자원 예약 프로세스를 수행한 후, 네트워크 엔티티로부터 통신 인터페이스(810)를 통해 피어 리스트 제공 요청을 수신한다.
프로세싱 장치(820)는 피어 리스트 제공 요청을 수신하는 경우, 네트워크 엔티티의 우선 순위 레벨을 기초로 네트워크 엔티티를 위한 오버레이 자원에 대한 정보를 포함하는 피어 리스트를 통신 인터페이스(810)를 통해 네트워크 엔티티로 전송한다.
도 1 내지 도 6을 통해 기술된 사항들은 도 8을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
P2P 시스템에서 방송을 제공하고자 하는 단말(일례로, 소스 피어)이 방화벽이나 공유기(NAT)뒤에 위치한 경우, 다른 피어들이 소스 피어에 접근할 수 없어, 콘텐츠 서비스 제공이 어렵다. 또한, 계산 능력이 모자라거나 전원 문제, 네트워크 비용 문제가 있는 모바일 단말은 자체적으로 소스 피어의 역할을 수행할 수 없다. 이를 해결 하기 위해, CS가 소스 피어를 대신해 가상 피어의 역할을 수행할 수 있다. 이러한 CS는 네트워크 사업자 또는 서비스 제공자에 의해 제공되거나 일반 사용자의 단말에 의해 자발적으로 제공될 수 있고, 소스 피어를 대신해 데이터를 배포할 수 있다. 하지만, 일반 피어들이 소스 피어와 연결되어 있으면, CS는 소스 피어와 연결을 형성하지 못할 수 있다. 이에 따라, CS는 소스 피어 또는 다른 CS로부터 데이터를 수신하지 못할 수 있다.
일 실시예에 있어서, CS간 통신 채널은 CS와 일반 피어 사이의 통신 채널에 비해 우선 순위가 높을 수 있다. 이에 따라, 소스 피어가 일반 피어들과 연결을 형성함에 따라 소스 피어의 자원에 여유가 없는 상황에서, 소스 피어가 우선 순위 레벨이 높은 CS로부터 접속 요청을 수신하면 일반 피어들 일부와 연결을 끊고, 우선 순위 레벨이 높은 CS와 연결을 형성하며, 우선 순위 레벨이 높은 CS에게 데이터를 우선적으로 전송할 수 있다. 이로써, 오버레이 네트워크의 배포 성능이 향상될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (18)

  1. 캐시 서버의 우선 순위 레벨을 식별하는데 사용되는 우선순위 키로 가상 피어 인스턴스를 개시할 것을 상기 캐시 서버에 요청하는 단계;
    상기 캐시 서버의 가상 피어가 생성된 경우 상기 캐시 서버로부터 응답 메시지를 수신하는 단계; 및
    상기 가상 피어의 피어 리스트 제공 요청이 있는 경우, 상기 가상 피어를 위한 오버레이 자원을 포함하는 피어 리스트를 상기 가상 피어로 전송하는 단계
    를 포함하고,
    상기 캐시 서버의 가상 피어는 상기 피어 리스트를 기초로 우선순위 레벨을 갖는 다른 캐시 서버의 가상 피어와 상기 우선순위 키로 피어 관계를 형성하고, 우선 순위 정보를 갖지 않는 일반 피어(ordinary peer)와 피어 관계를 형성하되 상기 일반 피어와 상기 우선순위 키 없이 피어 관계를 형성하는,
    오버레이 관리 서버의 동작 방법.
  2. 제1항에 있어서,
    상기 피어 리스트는 컨텐츠를 푸시하는 캐시 서버의 가상 피어에 대한 정보 및 가장 최근 조각(latest fragment)을 갖는 캐시 서버의 가상 피어에 대한 정보 중 적어도 하나를 포함하는,
    오버레이 관리 서버의 동작 방법.
  3. 제1항에 있어서,
    상기 피어 리스트는 오버레이 네트워크에 할당된 랜덤 스트링의 길이값을 포함하는,
    오버레이 관리 서버의 동작 방법.
  4. 제1항에 있어서,
    상기 피어 리스트는 상기 캐시 서버의 우선 순위 레벨이 가장 높은 경우, 오버레이 네트워크에 할당된 랜덤 스트링의 전체 길이(full length)값을 포함하는,
    오버레이 관리 서버의 동작 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 캐시 서버와 등록 프로세스를 수행하는 단계
    를 더 포함하고,
    상기 등록 프로세스를 수행하는 단계는,
    상기 캐시 서버로부터 등록을 위한 요청 메시지를 수신하는 경우, 상기 캐시 서버를 상기 오버레이 관리 서버에 등록하는 단계;
    상기 캐시 서버가 상기 오버레이 관리 서버에 등록되는 경우, 자원 식별자를 상기 캐시 서버에 할당하는 단계; 및
    상기 자원 식별자를 할당한 경우, 상기 요청 메시지에 대한 응답 메시지를 상기 캐시 서버로 전송하는 단계
    를 포함하는,
    오버레이 관리 서버의 동작 방법.
  7. 제6항에 있어서,
    상기 캐시 서버를 등록하는 단계는,
    상기 캐시 서버의 활동 이력(activity history) 또는 상기 오버레이 네트워크 관리 서버의 정책(policy)를 기초로 상기 우선 순위 레벨을 설정하는 단계
    를 포함하는,
    오버레이 관리 서버의 동작 방법.
  8. 삭제
  9. 제1항에 있어서,
    상기 캐시 서버와 자원 예약 프로세스를 수행하는 단계
    를 더 포함하고,
    상기 자원 예약 프로세스를 수행하는 단계는,
    상기 캐시 서버의 자원을 예약하기 위해 요청 메시지를 상기 캐시 서버에게 전송하는 단계; 및
    상기 캐시 서버의 우선 순위 레벨을 기초로, 오버레이 네트워크에 할당된 랜덤 스트링의 일부 또는 전부를 상기 캐시 서버에게 전송하는 단계
    를 더 포함하는,
    오버레이 관리 서버의 동작 방법.
  10. 통신 인터페이스; 및
    캐시 서버의 우선 순위 레벨을 식별하는데 사용되는 우선순위 키로 가상 피어 인스턴스를 개시할 것을 상기 캐시 서버에 상기 통신 인터페이스를 통해 요청하고, 상기 캐시 서버의 가상 피어가 생성된 경우 상기 캐시 서버로부터 응답 메시지를 상기 통신 인터페이스를 통해 수신하며, 상기 가상 피어의 피어 리스트 제공 요청이 있는 경우, 상기 가상 피어를 위한 오버레이 자원을 포함하는 피어 리스트를 상기 가상 피어로 상기 통신 인터페이스를 통해 전송하는 프로세싱 장치
    를 포함하고,
    상기 캐시 서버의 가상 피어는 상기 피어 리스트를 기초로 우선순위 레벨을 갖는 다른 캐시 서버의 가상 피어와 상기 우선순위 키로 피어 관계를 형성하고, 우선 순위 정보를 갖지 않는 일반 피어(ordinary peer)와 피어 관계를 형성하되 상기 일반 피어와 상기 우선순위 키 없이 피어 관계를 형성하는 ,
    오버레이 관리 서버.
  11. 제10항에 있어서,
    상기 피어 리스트는 컨텐츠를 푸시하는 캐시 서버의 가상 피어에 대한 정보 및 가장 최근 조각(latest fragment)을 갖는 캐시 서버의 가상 피어에 대한 정보 중 적어도 하나를 포함하는,
    오버레이 관리 서버.
  12. 제10항에 있어서,
    상기 피어 리스트는 오버레이 네트워크에 할당된 랜덤 스트링의 길이값을 포함하는,
    오버레이 관리 서버.
  13. 제10항에 있어서,
    상기 피어 리스트는 상기 캐시 서버의 우선 순위 레벨이 가장 높은 경우, 오버레이 네트워크에 할당된 랜덤 스트링의 전체(full) 길이값을 포함하는,
    오버레이 관리 서버.
  14. 삭제
  15. 제10항에 있어서,
    상기 프로세싱 장치는,
    상기 캐시 서버로부터 등록을 위한 요청 메시지를 상기 통신 인터페이스를 통해 수신하는 경우, 상기 캐시 서버를 상기 오버레이 관리 서버에 등록하고, 상기 캐시 서버가 상기 오버레이 관리 서버에 등록되는 경우, 자원 식별자를 상기 캐시 서버에 할당하며, 상기 자원 식별자를 할당한 경우, 상기 요청 메시지에 대한 응답 메시지를 상기 통신 인터페이스를 통해 상기 캐시 서버로 전송하는,
    오버레이 관리 서버.
  16. 제15항에 있어서,
    상기 프로세싱 장치는,
    상기 캐시 서버의 활동 이력(activity history) 또는 상기 오버레이 네트워크 관리 서버의 정책(policy)를 기초로 상기 우선 순위 레벨을 설정하는,
    오버레이 관리 서버.
  17. 삭제
  18. 제10항에 있어서,
    상기 프로세싱 장치는,
    상기 캐시 서버의 자원을 예약하기 위해 요청 메시지를 상기 캐시 서버에게 상기 통신 인터페이스를 통해 전송하고, 상기 캐시 서버의 우선 순위 레벨을 기초로, 오버레이 네트워크에 할당된 랜덤 스트링의 일부 또는 전부를 상기 캐시 서버에게 상기 통신 인터페이스를 통해 전송하는,
    오버레이 관리 서버.
KR1020170045915A 2016-06-02 2017-04-10 오버레이 관리 서버 및 이의 동작 방법 KR102315837B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/600,976 US10382355B2 (en) 2016-06-02 2017-05-22 Overlay management server and operating method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160068769 2016-06-02
KR20160068769 2016-06-02

Publications (2)

Publication Number Publication Date
KR20170136973A KR20170136973A (ko) 2017-12-12
KR102315837B1 true KR102315837B1 (ko) 2021-10-22

Family

ID=60944057

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170045915A KR102315837B1 (ko) 2016-06-02 2017-04-10 오버레이 관리 서버 및 이의 동작 방법

Country Status (1)

Country Link
KR (1) KR102315837B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1992116B1 (en) * 2006-01-11 2014-02-26 QUALCOMM Incorporated Communication methods and apparatus relating to cooperative and non-cooperative modes of operation
KR101430237B1 (ko) * 2008-03-10 2014-08-18 주식회사 케이티 피어 투 피어 통신에서의 피어 선정 방법 및 그 시스템
KR101980129B1 (ko) * 2012-07-10 2019-05-20 한국전자통신연구원 관리 기능이 부여된 피투피 네트워크 시스템

Also Published As

Publication number Publication date
KR20170136973A (ko) 2017-12-12

Similar Documents

Publication Publication Date Title
CN107690800B (zh) 管理动态ip地址分配
CN112136294B (zh) 应用功能影响业务路由的消息和系统
US10318550B2 (en) Systems and methods for autonomous resource discovery, management, and stitching
CN107209694B (zh) 用于控制按需服务供应的方法
US20150082378A1 (en) System and method for enabling scalable isolation contexts in a platform
US20150281367A1 (en) Multipath tcp techniques for distributed computing systems
US10467019B2 (en) Serving images to server groups
US10250677B1 (en) Decentralized network address control
CN105359490A (zh) 在网络节点之间分配资源以用于提供网络节点功能
US20140379928A1 (en) Method for implementing network using distributed virtual switch, apparatus for performing the same, and network system based on distributed virtual switch
US9608840B2 (en) Virtualized on-demand service delivery between data networks via secure exchange network
US20220132412A1 (en) Non-ip data delivery authorization update method and connection release method for non-ip data delivery, and device for performing the method
KR102557994B1 (ko) 분산 캐싱 시스템 및 방법
WO2017054129A1 (zh) 一种网络功能虚拟化资源处理方法及虚拟网络功能管理器
US20170163740A1 (en) Method and system for reconnecting server message block (smb) clients to persistent file handles
KR102365755B1 (ko) 네트워크 관리 서버의 자원 관리 방법 및 네트워크 관리 서버를 포함하는 피투피 시스템
KR102490698B1 (ko) 네트워크 슬라이스/서비스를 선택하는 통신 방법 및 이를 수행하는 통신 장치
EP2963880B1 (en) Data sending and processing method and router
EP2881861B1 (en) Load distribution device, information processing system, method, and program
US9860171B2 (en) Large scale message routing in a distributed network
US9736027B2 (en) Centralized enterprise image upgrades for distributed campus networks
US10382355B2 (en) Overlay management server and operating method thereof
CN102685115A (zh) 一种资源的访问方法、资源管理设备和系统
KR102315837B1 (ko) 오버레이 관리 서버 및 이의 동작 방법
JP5726302B2 (ja) トポロジサーバを用いた、通信アーキテクチャにわたって分散されたノードのネットワークに対する秘密または保護されたアクセス

Legal Events

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