KR101980129B1 - 관리 기능이 부여된 피투피 네트워크 시스템 - Google Patents

관리 기능이 부여된 피투피 네트워크 시스템 Download PDF

Info

Publication number
KR101980129B1
KR101980129B1 KR1020120075042A KR20120075042A KR101980129B1 KR 101980129 B1 KR101980129 B1 KR 101980129B1 KR 1020120075042 A KR1020120075042 A KR 1020120075042A KR 20120075042 A KR20120075042 A KR 20120075042A KR 101980129 B1 KR101980129 B1 KR 101980129B1
Authority
KR
South Korea
Prior art keywords
peer
information
server
network
overlay
Prior art date
Application number
KR1020120075042A
Other languages
English (en)
Other versions
KR20140008065A (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 KR1020120075042A priority Critical patent/KR101980129B1/ko
Priority to US13/894,529 priority patent/US9344495B2/en
Publication of KR20140008065A publication Critical patent/KR20140008065A/ko
Application granted granted Critical
Publication of KR101980129B1 publication Critical patent/KR101980129B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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/562Brokering proxy services
    • 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
    • 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/1063Discovery through centralising entities

Abstract

본 발명은, 적어도 하나의 피어를 포함하는 피투피 네트워크 시스템에 관한 것으로서, 상기 적어도 하나의 피어를 포함하는 피투피 네트워크 시스템은, 상기 적어도 하나의 피어의 상태에 대한 정보; 기반 네트워크의 상태에 대한 정보; 서비스 측면의 사용자에 대한 정보 중 적어도 하나를 활용하여 상기 적어도 하나의 피어에게 피투피 네트워크 구성을 최적화하기 위한 피투피 네트워크의 구성을 위한 정보들을 제공하고 서비스 제공자로 하여금 적어도 하나의 피어에게 서비스를 안정적으로 제공할 수 있고 제공되는 서비스를 제어하기 위한 관리 기능이 부여된 피투피 네트워크 시스템에 관한 것이다.

Description

관리 기능이 부여된 피투피 네트워크 시스템{PEER-TO-PEER NETWORK SYSTEM WITH MANAGEABILITY}
본 발명은 피투피(Peer-to-Peer) 네트워크 시스템에 관한 것으로서, 특히, 관리 기능을 부가하여 피투피 네트워크 기반 서비스의 품질을 향상시키고 서비스 제공자에게 서비스 관리 기능을 제공할 수 있는 피투피 네트워크 시스템에 관한 것이다.
본 발명은 지식경제부의 지원을 받은 상황인지형 콘텐츠 전달기술 표준개발 사업의 연구 결과로 수행되었음[과제번호 : 2012-PM10-16].
복수의 수신자에게 콘텐츠를 제공하기 위한 콘텐츠 서비스에서 피투피(Peer-to-Peer) 네트워크는 피어로 일컫는 복수개의 개별 참여자들이 특정 서버로부터 콘텐츠를 수신하는 것이 아니라 피어간에 직접적으로 연결을 맺어 서로 콘텐츠를 송수신할 수 있는 분산형 네트워크를 말한다. 이에 따라, 하나의 피어가 콘텐츠를 수신하는 클라이언트로서 기능도 하지만 때에 따라 콘텐츠를 제공하는 서버로서도 동작할 수 있다. 또한, 피투피 네트워크는 특정 서버를 중심으로 구성되지 않고 공유되는 콘텐츠를 중심으로 구성 알고리즘에 따라서 형성되기 때문에 피어간 연결이 유동적이고 네트워크의 크기도 유동적일 수 있다.
한편, 콘텐츠 서비스에서 피투피 네트워크는 콘텐츠를 송신하는 피어를 선택하는데 있어서 기반 네트워크(Underlying physical network)의 상태와 피투피 네트워크를 구성하는 피어의 정보를 고려하지 않으므로 피투피 네트워크의 구성에 있어서 효율성이 떨어지고, 부하가 특정 네트워크 또는 특정 피어에 집중되는 문제점이 있다. 또한, 서비스 측면에서 서비스의 품질이 균일하지 않고 불법적 콘텐츠의 배포를 방지하기가 어렵다.
본 발명은 상술한 문제점을 해결하기 위하여 기반 네트워크의 상태, 피어의 상태 등을 종합적으로 고려할 수 있도록 관리 측면의 기능이 부여된 피투피 네트워크 시스템을 제공하는 것을 목적으로 한다.
본 발명에 따른 적어도 하나의 피어를 포함하는 피투피 네트워크 시스템은, 상기 적어도 하나의 피어의 상태에 대한 정보; 기반 네트워크의 상태에 대한 정보; 서비스 측면의 사용자에 대한 정보 중 적어도 하나를 활용하여 상기 적어도 하나의 피어에게 피투피 네트워크 구성을 최적화하기 위한 피투피 네트워크의 구성에 대한 정보들을 제공하고 서비스 제공자로 하여금 적어도 하나의 피어에게 서비스를 안정적으로 제공하도록 하고 제공되는 서비스를 제어하기 위한 관리 기능이 부여된 피투피 네트워크 시스템이다.
본 발명에 따르면, 임의의 서비스를 제공하기 위한 피투피 네트워크 시스템의 관리적 측면의 기능성을 향상시킴으로써 서비스 품질을 향상시킬 수 있다.
도 1은 본 발명의 일 실시 예에 따른 피투피 네트워크에 대한 도메인 관점의 시스템 구성도이다.
도 2는 본 발명의 일 실시예에 따른 피투피 네트워크 시스템을 구성하는 엔티티들의 개략적인 구조를 나타낸다.
도 3은 본 발명의 일 실시예에 따라 피투피 네트워크 시스템을 구성하는 사용자 정보 관리 서버 및 관련 엔티티와의 동작 관계를 나타낸다.
도 4는 본 발명의 일 실시예에 따라 피투피 네트워크 시스템을 구성하는 피어 상태 관리 서버의 구성 및 관련 엔티티와의 동작 관계를 나타낸다.
도 5는 본 발명의 일 실시예에 따라 피투피 네트워크 시스템을 구성하는 오버레이 관리 서버 및 관련 엔티티와의 동작 관계를 나타낸다.
도 6은 본 발명의 일 실시예에 따라 피투피 네트워크 시스템을 구성하는 네트워크 정보 서버 및 관련 엔티티와의 동작 관계를 나타낸다.
도 7은 본 발명의 일 실시예에 따라 피투피 네트워크를 구성하는 피어 및 관련 엔티티와의 동작 관계를 나타낸다.
도 8은 본 발명의 일 실시예에 따라 피투피 네트워크 시스템을 구성하는 인덱스 서버 및 관련 엔티티와의 동작 관계를 나타낸다.
도 9는 본 발명의 일 실시예에 따라 피투피 네트워크 시스템을 구성하는 캐시 서버 및 관련 엔티티와의 동작 관계를 나타낸다.
도 10은 본 발명의 일 실시예에 따라 피투피 네트워크 시스템을 구성하는 릴레이 서버 및 관련 엔티티와의 동작 관계를 나타낸다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 1은 본 발명의 일 실시 예에 따른 피투피 네트워크를 도메인 관점에서 나타낸 시스템 구성도이다. 도 1을 참조하면, 본발명의 일 실시예에 따라 관리 기능이 부여된 피투피 네트워크 시스템은, P2PSP 도메인, ISP 도메인 및 User 도메인으로 구성될 수 있다.
P2PSP(P2P Service Provider) 도메인은, 본발명에 따라 관리 기능이 부여된 피투피(Managed P2P) 기반의 서비스를 제어하고 서포트하는 도메인으로서, 후술하는 오버레이 관리 서버(140), 사용자 정보 관리 서버(110), 피어 상태 관리 서버(120) 및 인덱스 서버(130)와 같은 여러 서버와 상호 협력하여 서비스를 제어할 수 있다. 또한, P2PSP 도메인은 캐시 서버(160) 및 릴레이 서버(170)를 통하여 서비스를 지원할 수 있다. 또한, P2PSP 는 ISP(Internet Service Provider) 와 상호 협력하여 기반 네트워크 효율성의 측면에서 본 발명에 따른 관리 기능이 부여된 P2P 기반 서비스를 향상시킬 수 있다.
ISP 도메인은 기반 네트워크의 정보, 예컨대 용량(Capacity), 정책, 네트워크 거리를 P2PSP 또는 사용자 도메인(User domain)과 같은 다른 도메인에게 제공할 수 있고, 그런 정보를 제공하기 위한 엔티티로서 네트워크 정보 서버(UNIS)를 포함할 수 있다.
User 도메인은 본 발명의 일 실시예에 따른 관리 기능이 부가된 피투피 기반 서비스를 소비하기 위한 도메인이다. User 도메인은 적어도 하나의 피어들로 구성되고, 피어들은 다른 피어 또는 P2PSP 도메인의 엔티티로부터 서비스를 받을 수 있다. 또한, 피어는 네트워크 정책 또는 필요에 따라 캐시 서버(160) 또는 릴레이 서버(170)로서도 기능할 수 있다.
도 1에서 도시하는 바와 같이, 본 발명에 따른 관리 기능이 부여된 피투피 네트워크 시스템은, 피어들로 구성된 사용자 도메인뿐만 아니라, 관리 기능을 위한 P2PSP 도메인 및 ISP 도메인을 추가로 포함함으로써 기존 피투피 네트워크의 문제점을 해결하고 네트워크 서비스의 품질 및 서비스 제공자의 관리성을 더욱 향상시킬 수 있다. 또한, 도 1에서 도시하는 각 도메인은 피어 또는 다양한 서버로 구성될 수 있고, 본 명세서에서 예시되는 서버 또는 피어는 엔티티(entity)로 통칭될 수 있다. 이하에서는 본 발명의 일 실시예에 따른 엔티티의 기능 및 엔티티 간 상호 동작에 대해 자세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 피투피 네트워크 시스템을 구성하는 엔티티들의 개략적인 구조를 나타낸다. 도 2를 참조하면, 본 발명의 일 실시예에 따른 피투피 네트워크 시스템은, 피투피 네트워크에 참여하여 콘텐츠를 송수신할 수 있는 적어도 하나의 피어(200) 및 복수의 서버(110, 120, 130, 140, 150, 160 및 170)를 포함할 수 있다. 복수의 서버는 기능에 따라 사용자 정보 관리 서버(User Management Server; 110), 피어 상태 관리 서버(Peer Activity Management Server; 120), 인덱스 서버(Index Server; 130), 오버레이 관리 서버(Overlay Management Server; 140), 네트워크 정보 서버(Underlying Network Information Server; 150), 캐시 서버(Cache Server; 160) 및 릴레이 서버(Relay Server; 170)를 포함할 수 있다.
사용자 정보 관리 서버(110)는 서비스 측면에서 후술하는 정보들을 활용하여 서비스 사용에 대한 과금과 같은 서비스 측면의 기능을 위해서 사용자 정보, 예컨대, 사용자 이름, 아이디, 개인 정보 또는 서비스 사용 현황 등을 관리하고 다른 엔티티들에게 제공할 수 있다. 사용자 정보 관리 서버(110)는, 사용자 정보를 관리하기 위하여 피투피 사용자 프로파일을 형성하고, 사용자 프로파일이 필요한 요청자, 예컨대, 후술하는 오버레이 관리 서버 등에게 사용자 프로파일을 제공하거나 업데이트할 수 있다. 이로 인하여 각 사용자에 대한 프로파일은 사용자 정보 관리 서버 내에서 유지될 수 있다. 사용자 프로파일 내의 사용자 정보로서 사용자 아이디(identification), 네트워크 정보, 사용자 평판(reputation) 등이 포함될 수 있다. 또한, 사용자 정보 관리 서버(110)는 해당 기능을 수행하기 위하여 사용자 정보 관리 기능부(User Information Management Functions)를 포함할 수 있다.
피어 상태 관리 서버(120)는 피투피 네트워크를 효율적으로 구성하기 위해서 후술하는 피어의 정보를 관리한다. 피어 상태 관리 서버(120)는, 피어의 상태 정보(status information)를 생성, 수집 또는 관리하고, 이를 분석하여 오버레이 관리 서버(140)에게 정보를 제공할 수 있다. 피어 상태 관리 서버(120)가 수집하는 정보들로서, 피어의 다이나믹한 상태 정보(dynamic status information) 및 정적 상태 정보(static status information)가 포함될 수 있다. 또한, 피어 상태 관리 서버(120)는 상술한 기능을 수행하기 위하여 피어 활동 정보 관리 기능부(Peer Activity Information Management Functions)를 기능부로서 포함할 수 있다.
인덱스 서버(130)는 사용자가 서비스를 제공받기 위해서 필요한 콘텐츠의 메타 정보를 제공 및 관리한다. 인덱스 서버(130)는, 콘텐츠의 메타 정보(meta information) 및 콘텐츠와 오버레이 네트워크 간의 매핑 정보를 관리할 수 있다. 인덱스 서버(130)는 사용자에게 필요한 메타 정보를 제공하고, 또한, 서비스가 필요한 피어에게 서비스를 제공받기 위해 접속하여야 할 오버레이 관리 서버의 정보를 제공할 수 있다. 또는, 인덱스 서버(130)는 콘텐츠의 메타 정보만을 제공할 수 있지만, 피어가 접속해야 하는 오버레이 관리 서버(140)의 정보가 메타 정보에 포함되어 있을 수도 있다. 인덱스 서버(130)는 해당 기능을 수행하기 위하여 콘텐츠 정보 관리 기능부(Contents Information Management Functions)를 포함할 수 있다.
오버레이 관리 서버(140)는 피어들이 피투피 네트워크를 구성할 수 있도록 피투피 네트워크에 대한 정보를 제공 및 관리한다, 오버레이 관리 서버(140)는 서비스 측면의 사용자 정보, P2P 네트워크에 대한 기반 네트워크의 상태 정보 및 상기 피어 상태 정보를 기반으로 상기 콘텐츠를 제공하기 위해서 구성되는 피투피 네트워크에 대한 정보를 생성하고 관리할 수 있다. 또한, 오버레이 관리 서버(140)는 각 오버레이 네트워크에 참여한 피어들의 목록(list)을 관리하고, 새로운 피어들이 해당 오버레이 네트워크에 참여하면서 피어 리스트(peer list)를 요청할 때 피어 상태 관리 서버(120) 및 네트워크 정보 서버(150)와 연동하여 요청 피어에게 최적의 피어 리스트를 생성, 전달할 수 있다. 오버레이 관리 서버(140)는, 오버레이 네트워크를 관리하는 오버레이 네트워크 관리 기능부(Overlay Network Management Functions) 및 오버레이 네트워크 내 리소스를 관리하고 상태 정보를 추적하여 유지하는 오버레이 리소스 관리 기능부(Overlay Resource Management Functions)로 구성될 수 있다.
네트워크 정보 서버(150)는 기반 네트워크의 정보를 반영한 피투피 네트워크를 구성하기 위해서 기반 네트워크의 정보를 관리하고 다른 엔티티에게 정보를 제공한다, 네트워크 정보 서버(150)는, ISP(Internet Service Provider) 도메인 상에 존재하고, 기반 네트워크(underlying network)의 정보 및 네트워크 관리 정책 등의 정보를 P2PSP(P2P Service Provider) 도메인 또는 사용자 도메인과 같은 다른 도메인에 존재하는 피어 및 서버에게 제공하기 위한 전용의 기능을 수행할 수 있다. 네트워크 정보 서버(150)는 피투피 네트워크 상의 피어들 간의 네트워크 거리 정보를 제공할 수 있다. 네트워크 정보 서버(150)는 피어 및 오버레이 관리 서버(140)와 상호 작용할 수 있다. 구체적으로, 네트워크 정보 서버(150)는 해당 기능을 수행하기 위하여 네트워크 정보 관리 기능부(Network Information Management Functions)로 구성되고, 네트워크 정보 관리 기능부는 기반 네트워크 정보를 오버레이 관리 서버(140)에게 제공하기 위하여 오버레이 관리 서버(140)와 상호 작용할 수 있다. 기반 네트워크 정보는 피어에게 선택적으로 제공될 수 있다.
캐시 서버(160)는, 자원이 풍족하지 않거나 부족한 피어를 대신하여 콘텐츠 다운로드 및 콘텐츠 배포를 대행할 수 있다. 즉, 캐시 서버(160)는 피투피 기반 서비스의 안정적인 제공을 위하여 피어를 대신하여 콘텐츠를 일시적으로 캐시(또는 저장)할 수 있다. 캐시 서버(160)는 해당 기능을 수행하기 위하여 P2PSP 에서 제공하는 전용의 서버로 구성될 수 있고, 콘텐츠 제공 피어가 자발적으로 해당 기능을 제공하는 임시의 디바이스로 구성될 수 있다. 캐시 서버(160)가 전용 서버로 구성된 경우에는 보통 P2PSP 에 의해 제어되는 신뢰된 장치(trusted device)이므로, 어떠한 문제가 발생했을 경우 오버레이 관리 서버(140)에게 보고하는 것이 요구된다. 한편, 캐시 서버(160)가 임시적 캐시 디바이스로 구성된 경우에는 전용의 캐시 서버에 비해 책임감이 결여된 사용자 장치인 경우가 일반적이므로, 문제가 발생할 경우 오버레이 관리 서버(140)에 대한 보고는 권장 사양이다.
캐시 서버(160)는 해당 기능을 수행하기 위한 기능부로서, 캐시 서버 리소스 관리 기능부(Cache Server Resource Management Functions), 메타 정보 관리 기능부(Meta Information Management Functions), 리소스 가상화 기능부(Resource Virtualization Functions), 오버레이 네트워크 관리 피어 기능부(Overlay Network Management Peer Functions) 및 피어 활동 관리 기능부(Peer Activity Management Functions)를 포함할 수 있다. 상술한 기능부들은 피어 간의 연결, 특정 서비스의 등록 및 보고될 활동 정보(activity information)를 관리할 수 있다.
또한, 캐시 서버(160)는 해당 기능을 수행하기 위한 데이터 관리부로서, 데이터 교환 기능부(Data Exchange Functions) 및 버퍼맵 관리 기능부(Buffermap Management Functions)를 포함할 수 있다. 데이터 관리부는 로컬 버퍼 및 다른 피어(또는 캐시 서버, 릴레이 서버) 간 데이터 교환을 관리할 수 있다.
릴레이 서버(170)는, 네트워크의 상태에 따라 피투피 네트워크에 방화벽 등의 이유로 참여하지 못한 피어의 네트워크 참여를 도와주기 위하여 콘텐츠를 중계하는 기능을 수행한다. 예컨대, 릴레이 서버(170)는, NAT/firewall 뒤에 존재하는 특정 피어와의 접속을 유지하여 해당 피어가 안정적으로 접속하는데 도움을 준다. 이에 따라 릴레이 서버(170)는 피투피 오버레이 네트워크에 능동적으로 참여하는 서버가 아닌, 피어의 네트워크 접속률, 접속 품질을 향상시키기 위한 서버이다. 릴레이 서버(170)는, 해당 기능을 수행하기 위하여 P2PSP 에서 제공하는 전용의 서버로 구성될 수 있고, 콘텐츠 제공 피어가 자발적으로 해당 기능을 제공하는 임시의 디바이스로 구성될 수 있다. 릴레이 서버(170)가 전용 서버로 구성된 경우에는 보통 P2PSP 에 의해 제어되는 신뢰된 장치(trusted device)이므로, 어떠한 문제가 발생했을 경우 오버레이 관리 서버(140)에게 보고하는 것은 필요 사양이다. 한편, 릴레이 서버(170)가 임시적 릴레이 디바이스로 구성된 경우에는 보통은 전용의 릴레이 서버에 비해 책임감이 결여된 사용자 장치이므로, 문제가 발생할 경우 오버레이 관리 서버(140)에 대한 보고는 권장 사양이다.
릴레이 서버(170)는 해당 기능을 수행하기 위한 기능부로서 릴레이 서버 리소스 관리 기능부(Relay Server Resource Management Functions) 및 피어 활동 관리 기능부(Peer Activity Management Functions)를 포함하고, 기능부는 피어간 접속, 특정 서비스의 등록, 릴레이 정보 및 활동 정보로서 보고될 활동 상태를 관리한다.
또한, 릴레이 서버(170)는 해당 기능을 수행하기 위한 데이터 관리부로서, 데이터 릴레이 기능부(Data Relay Functions)를 포함할 수 있고, 데이터 관리부는 로컬 버퍼 및 다른 피어(또는 캐시 서버, 릴레이 서버) 간 데이터 교환을 관리할 수 있다
도 3은 본 발명의 일 실시예에 따른 피투피 네트워크 시스템을 구성하는 사용자 정보 관리 서버 및 관련 엔티티와의 동작 관계를 나타낸다. 도 3을 참조하면, 사용자 정보 관리 서버(110)는 사용자 프로파일 정보를 관리하는 사용자 정보 관리 기능부로 구성될 수 있다.
사용자 정보 관리 기능부는, 사용자의 프로파일 정보 및 사용자의 활동에 관련되는 정보를 관리하고 제어하여 서비스 측면에서의 사용자 정보를 오버레이 관리 서버(140) 등에게 제공할 수 있다.
사용자 정보 관리 기능부는, 사용자의 프로파일 정보를 관리하는데 있어서, 비-자동식으로(non-automatic) 데이터를 관리할 수 있고, 예컨대, 사용자의 아이디 생성, 삭제, 정보의 변경과 같은 동작을 사용자 주도적인 방식(user-driven)으로 수행할 수 있다.
사용자 프로파일 정보는, 예컨대, 사용자 우선권, 사용자 기호, 사용자 지위(state), 기여 상태(contribution status) 및 서비스 사용량 등을 포함할 수 있다.
한편, 사용자 정보 관리 기능부는, 사용자 프로파일을 위한 정보로서 유지, 관리하다가, 피어 프로파일 정보로 판단되는 경우에는 해당 정보를 피어 프로파일 정보로서 변경, 유지할 수 있다. 피어 프로파일 정보는 예컨대, 네트워크 위치, 피어의 접속 종류, 예컨대, ADSL, Cable, FTTH 와 같은 통신 방법, 피어를 구성하는 디바이스의 타입을 포함할 수 있다. 사용자 정보 관리 기능부에서 유지되는 피어 프로파일 정보는 피어 상태 관리 서버(120)로 전달되어 관리되도록 할 수 있다.
한편, 사용자의 활동과 관련되는 정보는, 사용자가 서비스를 사용하는 기록 또는 서비스를 제공하는 기록에 대한 정보를 포함할 수 있다. 사용자의 활동에 관련되는 정보는 피어 상태 관리 서버(120)로부터 수신되고 사용자에 대한 인센티브 제도에 활용될 수 있다.
사용자 관리 서버(110)는, 도 3에서 도시하는 바와 같이, 오버레이 관리 서버(140)와 통신하여 사용자 프로파일 정보를 생성하고, 피어 상태 관리 서버(120)와 통신하여 특정 피어의 활동 정보를 획득할 수 있다. 또한, 외부 엔티티의 요청이 있는 경우, 사용자 관리 서버(110)는 관리중인 사용자 프로파일 정보 또는 활동과 관련되는 정보를 제공, 업데이트할 수 있다.
즉, 본 발명의 일 실시예에 따른 피투피 네트워크 시스템은, 사용자 관리 서버(110)에서 관리, 제공되는 정보를 통하여 서비스 측면의 사용자 정보를 활용한 관리 기능을 부가하여 네트워크의 신뢰성을 보장하고, 서비스의 안정성 또는 차별성을 부가할 수도 있다.
도 4는 본 발명의 일 실시예에 따른 피투피 네트워크 시스템을 구성하는 피어 상태 관리 서버 및 관련 엔티티 간의 동작 관계를 나타낸다. 도 3을 참조하면, 피어 상태 관리 서버(120)는 피어 활동 정보 관리 기능부(Peer Activity Information Management Functions)로 구성되어 피어의 활동 정보를 관리할 수 있다. 피어 상태 관리 서버(120)는 피어들로부터 정보를 수신하고 이를 기반으로 피어 상태 정보를 생성, 관리하며 다른 서버 또는 피어의 요청에 의해 피어 상태 정보를 전송하도록 한다.
피어 상태 관리 서버(120)에서 관리하는 피어 상태 정보는 피어의 활동 상태와 관련되는 동적 상태 정보(dynamic status information) 및 네트워크의 구성 및 네트워크 서비스 정책과 같은 피어 프로파일 정보를 포함하는 정적 상태 정보(static status information)를 포함할 수 있다. 피어 활동 상태 정보는 피어들로부터 수집되며, 수집된 정보는 분석, 가공되어 저장될 수 있다.
피어 상태 관리 서버(120)가 관리하는 피어 활동에 관한 정보는 피어 동적 상태 정보를 포함한다. 피어 동적 상태 정보는 시간에 따라 변화되기 때문에, 소정 주기에 따라, 또는 기 설정한 이벤트의 발생시, 또는 네트워크 서비스 정책과 같은 소정 조건에 따라 삭제되거나, 변경되어 유지될 수 있다.
피어 동적 상태 정보는, 예컨대, 물리적 네트워크 상태 정보(physical network status information), 오버레이 네트워크 상태 정보(overlay network status information) 및 시스템 상태 정보(system status information) 등을 포함할 수 있다.
물리적 네트워크 상태 정보(physical network status information)는, 인커밍 대역폭 및 아웃고잉 대역폭을 포함할 수 있고, 피어의 현재 물리적 네트워크 상태에 대한 스냅샷 정보를 의미할 수 있다.
오버레이 네트워크 상태 정보(overlay network status information)는, 피어의 현재 오버레이 네트워크에 대한 스냅샷 정보로써, 연결된 피어, 특정 피어에게 전달된 데이터의 양, 수신한 데이터의 양 등에 관련된 정보를 포함할 수 있다.
시스템 상태 정보(system status information)는 피어의 현재 물리적 시스템 상태 정보로서, 시스템 로드 및 스토리지 상태를 포함할 수 있다.
한편, 동적 상태 정보는 피어들로부터 보고되어 수집된다. 동적 상태 정보들은 주기적 또는 비주기적으로 전달되므로 어떠한 지배를 받지 않는다. 피어 상태 관리 서버(120)는 피어에게 해당 정보를 직접적으로 요청하지 않고 피어로부터 전달된 정보만을 수집하여 관리하는 수동 모드로 동작할 수 있다.
피어가 피어 상태 관리 서버(120)에게 주기적으로 리포트하는 자신의 상태 정보는, 예컨대, 피어가 다른 피어들로부터 전달받은 데이터 양, 보낸 데이터 양, 데이터 송수신 히스토리와 같은 동작 히스토리와 관련되는 정보를 포함할 수 있다. 피어가 피어 상태 관리 서버(120)에게 비주기적으로 수행하는 보고는, 기 설정한 이벤트가 발생하였을 경우 이에 관한 정보로서, 예컨대, 피어가 다른 피어에 대해 접근하는 과정에서 문제가 발생하는 경우에 즉각적으로 보내지는 에러 리포트를 포함할 수 있다.
또한, 피어 상태 관리 서버(120)는, 피어의 프로파일 정보를 관리할 수 있다. 피어의 프로파일 정보란, 각 피어가 피투피 네트워크에서 피어로서 동작하기 위해서 응용에서 설정한 정보를 의미할 수 있다. 예컨대, 피어 프로파일 정보는 최대 상향 용량(maximum upload capacity)을 x Mbps로 제한하거나 최대 하향 용량(maximum download capacity)을 y Mbps로 제한하고 동시에 허용되는 다른 피어와 최대 연결 수를 n 개로 설정하는 등의 정보를 포함할 수 있다. 피어 프로파일 정보는 피어의 초기 설정에 따르므로 정적 상태 정보(static status information)이라고 할 수는 있지만, 설정의 변경은 가능하다. 피어의 프로파일 정보라도, 네트워크 정책의 변화 또는 네트워크 상태의 변화 등에 따라 변경의 필요가 생긴 경우에는 변경될 여지가 있다.
피어 프로파일 정보는 P2P 행동 정책(P2P behavior policy)에 관한 정보들로 분류될 수 있다. P2P 행동 정책은, 최대 피어 연결 수(Maximum number of peer connection), 하나의 오버레이 네트워크에서의 최대 피어 연결 개수(Maximum number of peer connection per overlay network), 최대 상향 용량(Maximum upload capacity) 및 최대 하향 용량(maximum download capacity)로 분류될 수 있다.
한편, 각 피어들이 자신의 프로파일 정보를 피어 상태 관리 서버(120)에 제공하고, 이 경우 이용되는 피어 상태 관리 서버(120)의 접속 정보, 예컨대 주소 정보는 각 피어가 오버레이 네트워크에 참여하는 시점에 오버레이 관리 서버로부터 피어 정적 상태 정보가 요청, 수신될 수 있다.
피어에 의한 피어의 정적 상태 정보는 자발적으로 제공될 수 있고, 제공되는 정보는 피어 인센티브 정책에 이용될 수 있다. 또한, 피어 상태 관리 서버(120)는 피어에게 해당 정보를 직접적으로 요청하지 않고 피어로부터 전달된 정보만을 수집하여 관리하는 수동 모드로 동작할 수 있다.
또한, 피어 상태 관리 서버(120)는, 피어들로부터 수집된 피어의 동적 상태 정보 및 정적 상태 정보를 분석하거나 가공하는 동작을 수행할 수 있다. 분석된 피어 상태 정보는 그 종류에 따라 동적 상태 정보 또는 정적 상태 정보로 분리, 유지될 수 있다.
한편, 피어 상태 관리 서버(120)가, 오버레이 관리 서버(140)에게 피어 상태 정보를 전송해야 하는 경우, 필요한 정보를 추출, 분석하여 전송하기에 적합한 포맷으로 가공한 후 오버레이 관리 서버(140)에게 전달되도록 할 수 있다.
한편, 오버레이 관리 서버(140)는 자신이 관리하는 오버레이 네트워크의 상태를 최신의 상태로 유지하기 위해, 오버레이 네트워크 상태 정보를 업데이트할 수 있다. 구체적으로, 오버레이 관리 서버(140)는 피어 상태 관리 서버(120)에게 오버레이 네트워크에 참여하는 피어들의 상태 정보를 요청한다. 요청된 정보는 피어들 모두에 대한 상태 정보일 수 있고, 일부 피어의 상태 정보일 수 있다. 피어 상태 관리 서버(120)는 자신이 보유하는 정보를 기반으로 요청에 응답할 수 있다. 피어 상태 관리 서버(120)로부터 오버레이 관리 서버(140)로 정보가 전달되는 경우는 오버레이 관리 서버(140)의 요청에 의한 경우, 및 피어 상태 관리 서버(120)로부터의 통지(notification) 에 의한 경우를 포함한다. 오버레이 관리 서버(140)의 요청에 의한 경우에는 오버레이 관리 서버(140) 및 피어 상태 관리 서버(120) 에 있는 인터페이스가 이용될 수 있다. 피어 상태 관리 서버(120)로부터의 통지(notification)의 경우, 오버레이 관리 서버(140) 및 피어 상태 관리 서버(120) 간에는 통지의 전달을 위한 채널을 확립할 필요가 있으므로, 이를 위한 두 서버(120, 140) 간 서브스크립션(subscription)이 선행적으로 수행될 수 있다. 구체적으로, 서브스크립션은 양 서버(120, 140)의 인터페이스에 의해 수행된다. 서브스크립션 과정에서 송수신되는 정보는 피어 상태 관리 서버(120) 내에서 분석, 가공 처리가 가해질 수 있다.
도 4에서 도시하는 바와 같이, 피어 상태 관리 서버(120)는 피어(200)로부터 수집된 정보를 분석, 가공하여 피어 상태 정보로서 유지하다가, 오버레이 관리 서버(140)의 요청에 의해 피어 상태 정보 등을 제공할 수 있고, 사용자 정보 관리 서버(110)가 피어의 활동 정보를 요청하는 경우에도 요청된 활동 정보를 제공할 수 있다.
도 5는 본 발명의 일 실시예에 따른 피투피 네트워크 시스템을 구성하는 오버레이 관리 서버 및 관련 엔티티간의 동작 관계를 나타낸다. 도 5를 참조하면, 오버레이 관리 서버(140)는, 오버레이 네트워크를 관리하는 오버레이 네트워크 관리 기능부(Overlay Network Management Functions; 141) 및 오버레이 네트워크 내 리소스를 관리하고 상태 정보를 추적하여 유지하는 오버레이 리소스 관리 기능부(Overlay Resource Management Functions; 142)로 구성될 수 있다.
오버레이 네트워크 관리 기능부(141)는, 오버레이 네트워크를 관리하기 위하여, 오버레이 정보를 관리하고, 피투피 네트워크 상의 오버레이 네트워크를 최적으로 구성하기 위하여, 피투피 네트워크의 구성을 위한 정보, 예컨대 피어의 리스트를 관리할 수 있다. 또한, 오버레이 네트워크 관리 기능부(141)는 피투피 네트워크의 구성을 위한 정보를 피투피 네트워크 시스템 내의 다른 엔티티에게 제공할 수 있다.
오버레이 네트워크 관리 기능부(141)는, 오버레이 네트워크를 관리하기 위하여, 복수의 오버레이 네트워크에 대한 정보 및 각 오버레이 네트워크에 참여한 피어 정보를 유지하며, 주로 데이터베이스의 형태로 구성될 수 있다. 오버레이 네트워크 관리 기능부(141)가 유지하는 오버레이 네트워크 자체에 대한 정보는 오버레이 네트워크 아이디를 비롯한 시더(Seeder), 리처(Leacher), 릴레이 서버, 캐시 서버, 유효 시간 등과 같은 오버레이 네트워크의 특성을 나타내는 정보일 수 있다. 오버레이 네트워크 관리 기능부(141)는 오버레이 네트워크 별로 해당 네트워크에 참여한 피어들의 정보, 예컨대, IP, 포트, 피어 아이디 등을 유지할 수 있다.
오버레이 네트워크 관리 기능부(141)는 피어의 오버레이 네트워크 참여 및 탈퇴 와 같은 요청을 처리할 수 있다. 예컨대, 피어가 오버레이 네트워크의 참여를 오버레이 관리 서버(140)에 요청하는 경우, 오버레이 네트워크 관리 기능부 (141)는 사용자 정보 관리 서버(110)에게 필요한 정보를 요구하여 오버레이 네트워크의 참여를 요구한 피어가 해당 오버레이 네트워크에 참여할 수 있는 자격이 있는지 확인할 수 있다.
오버레이 네트워크 관리 기능부(141)는, 네트워크를 최적으로 구성하기 위한 정보로서 피어 리스트를 관리할 수 있다. 예컨대, 오버레이 네트워크 관리 기능부(141)는, 특정 피어로부터 오버레이 네트워크 내의 피어 리스트의 요청이 있는 경우, 요청 피어가 참여한 네트워크와 다른 피어들의 상태를 고려하여 최적의 피어 리스트를 생성, 제공할 수 있다. 오버레이 네트워크 관리 기능부(141)는, 피어 리스트를 구성하는데 있어서, 네트워크 정보 서버(150)로부터 기반 네트워크 정보를 수신하고, 피어 상태 관리 서버(120)로부터 피어 상태 정보를 수신할 수 있다.
오버레이 네트워크 관리 기능부(141)는, 피어 상태 관리 서버(120)로부터 피어 상태에 대한 정보를 가져올 수 있다. 이와 관련하여, 오버레이 관리 서버(140) 및 피어 상태 관리 서버(120) 간에는 보안 채널을 확보하기 위한 인증 과정이 선행될 수 있다.
오버레이 네트워크 관리 기능부(141)는, 기반 네트워크의 정보를 가져오기 위하여 네트워크 정보 서버(150)와 통신하여 요청 피어의 정보 및 오버레이 네트워크 내의 피어 리스트 정보를 네트워크 정보 서버(150)에게 전달할 수 있다. 네트워크 정보 서버(150)는, 요청 피어 및 피어 리스트 내 피어들 간의 비용 정보를 이용하여 피어 리스트의 피어들을 정렬시키고, 정렬된 피어 리스트를 오버레이 관리 서버(140)에게 전달할 수 있다.
오버레이 네트워크 관리 기능부(141)는 피어와 연동하여 네트워크 참여/탈퇴와 같은 피어의 요청에 의한 응답을 처리할 수 있다. 이 과정에서 오버레이 관리 서버(140)는 오버레이 네트워크와 관련되는 피어 상태 관리 서버(120) 및 캐시 서버(160) 및 릴레이 서버(170)의 정보를 전달할 수 있다.
오버레이 리소스 관리 기능부(142)는, 피투피 네트워크를 구성하는 리소스 정보, 즉, P2PSP가 관리하는 캐시 서버(160) 및 릴레이 서버(170)의 자원 정보를 관리한다. 구체적으로, 오버레이 리소스 관리 기능부(142)는, 캐시 서버(160) 및 릴레이 서버(170) 별로 리소스 이용 상태 정보를 유지하기 위하여, 각 리소스가 어떠한 오버레이 네트워크에 할당되어 있는지 또는 어느 정도 활용되고 있는 지에 대한 정보를 유지한다.
한편, 사용자는 오버레이 관리 서버(140)에게 캐시 서버(160) 및 릴레이 서버(170)의 자원을 요청할 수 있다. 구체적으로, 콘텐츠 소유자가 콘텐츠의 배포를 위해 오버레이 네트워크를 구성할 때, 서비스 제공자가 오버레이 네트워크를 구성할 때, 또는, 일반 사용자가 캐시 서버(160)에게 콘텐츠의 수신 대행을 요청하는 경우일 수 있다. 이 경우, 오버레이 관리 서버(140)가 자원에 대한 전반적인 제어를 수행하게 되므로, 일반 피어가 캐시 서버(160) 및 릴레이 서버(170)의 자원에 직접 접근할 수는 없다.
한편, 캐시 서버(160) 및 릴레이 서버(170)의 자원은 P2PSP 에서 직접 운영하는 자원일 수 있으나, 일반 피어가 캐시 서버(160) 또는 릴레이 서버(170)로 동작하는 경우에는 일반 피어로부터 해당 자원이 제공될 수 있다. 후자의 경우에는, 피어가 오버레이 관리 서버(140)에 접근할 때 자신의 동작 모드를 지정하여 등록할 수 있다.
오버레이 리소스 관리 기능부(142)는, 오버레이 리소스 정보를 관리할 수 있는데, 구체적으로, 오버레이 관리 서버(140)가 관리하는 캐시 서버(160) 및 릴레이 서버(170)의 자원에 관련된 정보를 관리한다. 예컨대, 캐시 서버(160) 및 릴레이 서버(170)의 자원 가용 현황, 사용 현황 등에 대한 정보를 유지할 수 있다.
오버레이 리소스 관리 기능부(142)는, 오버레이 리소스 정보를 제어할 수 있는데, 예컨대, 캐시 서버(160) 및 릴레이 서버(170) 에 대해 해당 자원의 예약을 수행한다. 이 경우, 캐시 서버(160)에 대해 특정 오버레이 네트워크에 참여하여 서비스를 제공하도록 제어하고, 캐시 서버(160)의 할당 자원을 지정할 수 있다. 캐시 서버(160)의 할당 자원에 대한 속성으로는, uplink bandwidth, downlink bandwidth 및 최대 동접자수(동시 접속자수)를 포함할 수 있다. 캐시 서버(160)는 가상 피어로서 동작하기 때문에 피어 구성의 서브셋으로도 표현 가능하다.
오버레이 리소스 관리 기능부(142)는, 릴레이 서버(170)에 대해 특정 오버레이 네트워크에 참여하여 서비스를 제공하도록 제어하고, 릴레이 서버(170)의 할당 자원을 지정할 수 있다. 릴레이 서버(170)의 할당 자원에 대한 속성으로는, uplink bandwidth, downlink bandwidth, 최대 동접자수(최대 동시 접속자수) 및 할당된 오버레이 네트워크 정보를 포함할 수 있다. 릴레이 서버(170)는 데이터를 저장하지 않고, 수신하여 전달하기 때문에 캐시 서버(160)와는 달리 가상 피어로서 동작하지 않는다.
한편, 도 5에서는 오버레이 관리 서버(140)와 연동하는 엔티티로서 캐시 서버(160) 및 릴레이 서버(170)가 도시되어 있지 않지만, 리소스의 제어 및 관리를 위하여 캐시 서버(160) 및 릴레이 서버(170)와 연동될 수 있음은 물론이다.
도 6은 피투피 네트워크 시스템을 구성하는 네트워크 정보 서버(150) 및 관련 엔티티간의 동작 관계를 나타낸다. 도 6을 참조하면, 네트워크 정보 서버(160)는 네트워크 정보 관리 기능부(Network Information Management Functions)로 구성되고, 현재 자신이 속한 네트워크에 대한 정보를 관리하고, 정책에 따라 네트워크를 제어할 수 있고, 네트워크를 구성하는 피어간 거리를 계산할 수 있으며, 외부 엔티티의 요청에 의해 네트워크에 대한 정보 또는 피어간 거리 등에 대한 정보를 제공할 수 있다.
네트워크 정보 서버(150)는 트래픽 로컬리티(traffic locality)를 증가시킬 수 있고 ISP 가 피어 선택 과정에 영향을 주도록 한다. 네트워크 정보 서버(150) 및 오버레이 관리 서버(140)가 연동하여 최적의 피어 리스트를 제공하는 방법은, 정렬되지 않은 피어 리스트를 네트워크 정보 서버(150)가 최적화하여 오버레이 관리 서버(140)에게 전달하거나, 또는, 피어간 거리를 네트워크 정보 서버(150)가 소정 공식에 따라 계산하여 전달하면 오버레이 관리 서버(140)가 최적화하는 방법이 있을 수 있다.
한편, 네트워크 정보 서버(150)는, 피어간 거리를 계산하는데 있어서, 오버레이 관리 서버(140) 또는 다른 피어(200)의 요청이 있는 경우, 네트워크 상황 또는 정책을 이용하여 피어간 거리를 제공할 수 있다. 한편, 피어가 캐시 서버(160)로서 기능하는 경우에는 네트워크 정보 서버(150)는 캐시 서버(160)와도 연동할 수 있다.

도 7은 본 발명의 일 실시예에 따라 피투피 네트워크를 구성하는 피어 및 관련 엔티티간의 동작 관계를 나타낸다. 도 7을 참조하면, 피어(200)는, 기능부로서 피어 리소스 관리 기능부(Peer Resource Management Functions; 210), 메타 정보 관리 기능부(Meta Information Management Functions; 220), 로컬 프로파일 관리 기능부(Local Profile Management Functions; 230), 오버레이 네트워크 관리 피어 기능부(Overlay Network Management Peer Functions; 240) 및 피어 활동 관리 기능부(Peer Activity Management Functions; 250)를 포함할 수 있다. 또한, 피어(200)는, 데이터부로서 데이터 교환 기능부(Data Exchange Functions; 260) 및 버퍼맵 관리 기능부(Buffermap Management Functions; 270)를 포함할 수 있다.
피어 리소스 관리 기능부(210)는 피어의 가용 자원을 관리한다. 자원으로서, 물리적 저장 공간, 네트워크 리소스 또는 피투피 네트워크를 통하여 배포될 콘텐츠 등을 포함할 수 있다. 피어 리소스 관리 기능부(210)는 피어 자신의 자원을 관리하는 기능을 수행하기 위하여, 스토리지, 네트워크 및 콘텐츠 등의 자원에 대한 정보를 관리할 수 있다. 각 자원에 대한 정보는 자원의 활용에 대한 정책, 자원의 사용량과 같은 통계 정보를 포함할 수 있다. 피어 리소스 관리 기능부(210)에서 관리하는 정보는 다른 엔티티의 요청이 있는 경우, 참조될 수 있고, 이 경우, 피어 리소스 관리 기능부(210)는 자신의 가용 자원을 확인할 수 있고, 리소스의 공유에 대한 허가 여부를 결정할 수 있다.
메타 정보 관리 기능부(Meta Information Management Functions; 220)는, 콘텐츠를 네트워크에서 공유하거나, 송수신하기 위하여 콘텐츠의 메타 정보를 관리하기 위한 기능부이다.
메타 정보 관리 기능부(220)는, 메타 정보를 관리하기 위하여 인덱스 서버(130)에서 메타 정보가 등록되도록 하거나 인덱스 서버(130)로부터 메타 정보를 가져올 수 있다. 메타 정보는, 콘텐츠 자체에 대한 상세한 정보, 콘텐츠를 구성하는 파일들에 대한 정보, 파일의 조각에 대한 정보, 메타 정보에 포함된 파일의 조각에 대한 정보는, 예컨대, 파일의 크기 대 무결성(Integrity) 체크를 위한 해시값일 수 있다. 파일 조각에 대한 정보는 피어(200) 내에서 조각의 무결성이 확인될 수 있도록 할 수 있다. 한편, 피어에서 조각단위로 수신된 콘텐츠 정보는 피어 내에서 재조합, 재생될 수 있다.
또한, 메타 정보는 오버레이 네트워크에 대한 메타 정보를 포함할 수 있고, 해당 콘텐츠에 대한 오버레이 네트워크 정보가 저장될 오버레이 관리 서버(140)의 주소 정보 및 오버레이 네트워크를 구별하기 위한 오버레이 네트워크 ID가 포함될 수 있다. 오버레이 네트워크 ID 는 콘텐츠 정보에 대한 해시값일 수 있다.
한편, 메타 정보 관리 기능부(220)는 실시예에 따라 콘텐츠의 메타 정보 이외에 더욱 확장하여, 오버레이 네트워크 전반의 자원을 관리하기 위하여, 오버레이 네트워크에 대한 메타 정보를 관리할 수도 있다.
메타 정보 관리 기능부(220)는, 인덱스 서버(130)와의 통신 기능을 수행한다. 구체적으로, 피어는, 인덱스 서버(130)와 통신함으로써, 메타 정보 관리 기능부(220)에서 생성된 메타 정보를 인덱스 서버(130)에 등록하도록 할 수 있고, 인덱스 서버(130)로부터 메타 정보를 수신하여 메타 정보 관리 기능부(220)에 전달하도록 할 수 있다.
로컬 프로파일 관리 기능부(Local Profile Management Functions; 230)는, 사용자 프로파일 및 피어 프로파일을 설정하고 관리하기 위한 기능부이다.
사용자 프로파일로서, 사용자의 ID, 비밀번호, 이메일 등이 포함될 수 있다.
로컬 프로파일 관리 기능부(230)는, 오버레이 네트워크에서 피어로서 동작하기 위한 피어 프로파일을 설정하고 관리할 수 있다. 피어 프로파일은, 서비스의 종류에 따라 달라질 수 있고, upload bandwidth policy, download bandwidth policy, 동시 지원 가능한 최대 피어 개수(maximum concurrently supportable peer) 등을 포함할 수 있다. 설정된 정보는 피어 상태 관리 서버(120)로 전달될 수 있다.
오버레이 네트워크 관리 피어 기능부(Overlay Network Management Peer Functions; 240)는 피어가 참여하고 있는 오버레이 네트워크 및 자신이 알게된 피어들에 대한 정보를 관리하기 위한 기능부이다.
오버레이 네트워크 관리 피어 기능부(240)는, 피어가 참여하는 오버레이 네트워크들에 대한 정보, 구체적으로, 오버레이 네트워크 ID, 오버레이 네트워크의 정보를 가진 오버레이 관리 서버들에 대한 정보 등을 유지할 수 있다. 한편, 오버레이 네트워크의 정보는 오버레이 관리 서버(140)로부터 수신될 수 있다.
또한, 오버레이 네트워크 관리 피어 기능부(240)는, 자신이 참여하고 있는 오버레이 네트워크 상의 다른 피어들에 대한 정보를 관리한다. 다른 피어들에 대한 정보는 오버레이 관리 서버(140)로부터 수신되거나, 다른 피어들로부터 수신될 수 있다. 오버레이 관리 서버(140)으로부터 수신한 피어 정보는 다른 피어들로부터 수신된 피어 정보와 다르게, 오버레이 관리 서버(140) 및 네트워크 정보 서버(150) 가 연동하여 최적화된 정보이므로 상기 두 종류의 정보들은 서로 개별적으로 관리될 수 있다.
한편, 오버레이 네트워크 관리 피어 기능부(240)는 피어 정보를 업데이트하기 위하여 네트워크 정보 서버(150)와 통신할 수 있다. 오버레이 네트워크 관리 피어 기능부(240)에서 관리되는 피어 정보는, 피어들 간에 통신을 위해 활용될 수 있고, 오버레이 네트워크 별로 다르게 관리될 수 있고, 피어 ID, IP 주소, 포트 번호 및 두 피어 간의 비용 정보를 포함할 수 있다.
피어 활동 관리 기능부(Peer Activity Management Functions; 250)는, 피투피 네트워크 내 다른 기능 엔티티들과 연동하기 위한 기능 엔티티로서, 오버레이 네트워크상의 피어의 참여 및 탈퇴, 자원 예약, 피어 상태 보고, 피어간 연동을 위해 다른 엔티티들과 통신하기 위한 기능을 수행한다.
피어 활동 관리 기능부(250)는 상대방 피어로부터의 메시지를 처리하는 기능을 수행한다. 예컨대, 다른 피어로부터의 접속 요청이 있는 경우, 피어 활동 관리 기능부(250), 피어 리소스 관리 기능부(210) 내의 리소스 상태 정보를 참조하여 그 허가 여부를 판단하여 응답할 수 있다. 다른 예로, 상대방 피어로부터의 요청에 다른 피어들에 대한 정보가 포함되어 있는 경우, 오버레이 네트워크 관리 피어 기능부(240)에 상기 다른 피어들에 대한 정보를 전달할 수 있고, 상대방 피어로부터 버퍼맵 정보를 수신하는 경우에는 해당 버퍼맵 정보를 버퍼맵 관리 기능부(270)로 전달하여 관리하도록 할 수 있다.
또한, 피어 활동 관리 기능부(250)가 다른 피어의 피어 통신 클라이언트 기능 엔티티로부터 조각 전송 요청을 수신하는 경우, 버퍼맵 관리 기능부(270)와 연동하여 자신의 조각 보유 상황을 확인하고 이상이 없는 경우 데이터 교환 기능부(260)에 해당 조각의 전송을 요청할 수 있다.
또한, 피어 활동 관리 기능부(250)는 피어 프로토콜을 이용하여 피어간 통신을 담당하고, 이 경우, 피어간 메시지 교환을 통하여 데이터 교환을 위한 버퍼맵 교환, 서로 알고 있는 다른 피어들의 정보 등을 교환할 수 있다.
또한, 피어간 콘텐츠 이외의 다른 리소스의 교환이 있는 경우, 자원 공유를 위한 데이터 교환 및 자신이 알고 있는 다른 피어 정보를 교환할 수 있다. 수신된 피어 정보는 오버레이 네트워크 관리 피어 기능부(240)에 전달될 수 있다.
또한, 피어 활동 관리 기능부(250)는 다른 피어에게 메시지를 송신하는 경우 해당 피어의 정보를 오버레이 네트워크 관리 피어 기능부(240)를 통하여 얻을 수 있다. 또한, 또한, 피어 활동 관리 기능부(250)는 다른 피어에게 자신의 버퍼맵 정보를 전달하는 경우에는 버퍼맵 관리 기능부(270)에서 버퍼맵 정보를 받을 수 있다.
또한, 다른 피어로부터 데이터의 조각 요청이 있는 경우, 또한, 피어 활동 관리 기능부(250)는 버퍼맵 관리 기능부(270)와 연동하여, 자신에게 필요한 조각 정보를 추출하고 해당 조각을 가진 피어에게 요청할 수 있다.
한편, 피어 활동 관리 기능부(250)는 다른 엔티티 중 오버레이 관리 서버(140)와 통신하여 오버레이 네트워크에 참여한 피어의 동작을 제어한다. 구체적으로, 피어 활동 관리 기능부(250)는 오버레이 네트워크에의 참여 및 탈퇴와 같은 피어 동작을 제어하고, 피어의 일시중단(pause) 및 재개(resume)와 같은 서비스 차원의 오버레이 네트워크 제어를 수행할 수 있다.
또한, 피어 활동 관리 기능부(250)는 메타 정보 관리 기능부(220)로부터 받은 오버레이 네트워크 정보를 기반으로 해당 오버레이 네트워크에 참여할 수 있다. 또한, 피어 활동 관리 기능부(250)는 해당 오버레이 네트워크의 참여 후 오버레이 네트워크에 대한 정보를 관리하기 위하여 해당 오버레이 네트워크에 대한 정보를 오버레이 네트워크 정보 관리 피어 기능부(240)에 전달할 수 있다. 또한, 해당 오버레이 관리 서버(140)로부터 수신한 피어 리스트는 오버레이 네트워크 정보 관리 피어 기능부(240)에 전달할 수 있다.
한편, 피어 활동 관리 기능부(250)는, 피어 상태 관리 서버(120)와 연동하여 피어의 활동 및 상태와 관련되는 피어 정보를 피어 상태 관리 서버(120)에게 보고하기 위한 기능을 수행한다. 피어 정보는, 피어 상태 관리 서버(120)의 요청에 의해 보고될 수 있고, 또는, 주기적으로 또는 이벤트 발생 시에 피어에 의해 보고될 수 있다. 후자의 경우 보고의 주기 및 이벤트 설정 등은, P2PSP 를 관리하는 서비스 제공자의 정책에 기초할 수 있다. 서비스 제공자의 정책에 대한 정보는 오버레이 네트워크 가입 시에 오버레이 관리 서버(140)으로부터 획득된다.
데이터 교환 기능부(260)는, 피어간 데이터를 교환하기 위한 기능부로서, 데이터의 송신, 수신 및 수신한 콘텐츠를 복원할 수 있다.
먼저, 데이터 교환 기능부(260)는 다른 피어에게 콘텐츠의 데이터 조각을 송신하는 기능을 수행한다. 데이터 교환 기능부(260)는 피어 활동 관리 기능부(250)로부터 송신할 조각 정보와 수신할 피어의 정보를 전달받아 해당 조각을 피어에게 전달할 수 있다. 또한, 데이터 교환 기능부(260)는, 데이터의 전송 이후 이에 대한 송신 정보를 피어 상태 관리 서버(120)에게 주기적으로 보고할 수 있다. 한편, 피어가 콘텐츠 이외의 다른 정보, 예컨대, 오버레이 네트워크에 대한 정보 및 기타 자원에 대한 정보를 송신하는 경우, 데이터 교환 기능부(260)는 해당하는 데이터를 다른 피어에게 송신하는 기능을 수행한다.
또한, 데이터 교환 기능부(260)는, 콘텐츠의 데이터 조각을 다른 피어로부터 수신하는 기능을 수행한다. 이때 수신한 데이터 조각에 대한 무결성을 확인할 수 있다. 이를 위하여 조각의 해시 정보를 메타 정보 관리 기능부(220)로부터 가져올 수 있다. 이에 대한 자세한 내용은 메타 정보 관리 기능부(220)에서 설명된 바가 있어 생략한다. 데이터 교환 기능부(260) 가 데이터의 조각을 수신하는 경우에는, 조각 정보를 버퍼맵 관리 기능부(270)에 전달할 수 있다.
또한, 데이터 교환 기능부(260)는, 피어가 수신한 데이터의 조각들을 조합하여 원래의 콘텐츠로 복원하기 위한 기능을 수행한다. 이를 위해서, 콘텐츠에 대한 메타 정보를 메타 정보 관리 기능부(220)로부터 가져올 수 있다. 데이터 복원이 완료되면 캐시 서버(160)에 보고한다.
버퍼맵 관리 기능부(270)는, 콘텐츠의 전달 어플리케이션을 위한 기능을 수행하기 위하여 피어 간 조각 교환을 위한 버퍼 관리와 관련되는 동작을 수행한다.
먼저, 버퍼맵 관리 기능부(270)는, 피어의 버퍼맵 정보를 생성하고 갱신하는 등의 관리를 수행한다. 구체적으로, 피어가 데이터의 조각을 수신할 때마다 버퍼맵 관리 기능부(270)에게 보고됨으로써 엔티티 내 버퍼맵 정보는 갱신될 수 있다.
또한, 피어 간에 버퍼맵 교환이 필요한 경우 피어 활동 관리 기능부(250)는 버퍼맵 관리 기능부(270)에게 버퍼맵 정보를 요청하고, 이에 따라 다른 피어들에게 버퍼맵 정보가 전송될 수 있다. 한편, 다른 피어로부터의 조각 요청을 받은 경우, 피어 활동 관리 기능부(250)는 버퍼맵 관리 기능부(270)에서 해당 조각의 보유 상황을 확인하고, 이상이 없는 경우 데이터 교환 기능부(260)를 통하여 조각을 전달할 수 있다.
또한, 버퍼맵 관리 기능부 (270)는, 다른 피어로부터 버퍼맵 정보를 수신하는 경우 이 버퍼맵 정보를 관리, 갱신할 수 있다. 이때 관리되는 버퍼맵 정보는, 각 피어의 ID 및 해당 피어로부터 수신한 버퍼맵 정보를 포함할 수 있다.
또한, 버퍼맵 관리 기능부(270)는 피어 활동 관리 기능부(250)의 요청에 의하여, 로컬 버퍼맵 정보 및 다른 피어들의 버퍼맵 정보를 비교할 수 있다. 구체적으로, 데이터 조각의 수신이 필요한 경우, 피어 활동 관리 기능부(250)는 버퍼맵 관리 기능부(270)에게 요청하여, 자신의 로컬 버퍼맵 정보를 다른 피어들의 버퍼맵 정보와 비교하여 자신이 필요한 조각에 대한 인덱스 번호를 추출하여 피어 활동 관리 기능부(250)에게 전달할 수 있다. 피어 활동 관리 기능부(250)는 이 정보를 이용하여 해당 조각을 가진 피어에게 조각을 요청할 수 있다.
도 8은 본 발명의 일 실시예에 따라 피투피 네트워크 시스템을 구성하는 인덱스 서버 및 관련 엔티티의 동작 관계를 나타낸다. 도 8을 참조하면, 인덱스 서버(130)는 콘텐츠 정보 관리 기능부(Contents Information Management Functions)로 구성될 수 있다.
콘텐츠 정보 관리 기능부가 콘텐츠의 메타 정보를 관리하는데 있어서, 먼저, 콘텐츠 제공자 또는 서비스 제공자가 메타 정보를 생성하여 인덱스 서버(130)에 등록한다. 메타 정보를 등록하는 과정에서 콘텐츠 제공자는 메타 정보 외에 콘텐츠에 대한 서비스 레벨의 정보, 예컨대, 콘텐츠의 종류, 이름 등을 입력할 수 있다. 구체적으로, 콘텐츠 제공자가 콘텐츠의 메타 정보를 생성하고 오버레이 네트워크를 관리할 오버레이 관리 서버(140)의 주소를 메타 정보에 기재한다. 콘텐츠 제공자가 생성한 메타 정보에는 메타 정보의 내용을 토대로 해시 함수를 사용하여 생성된 해시 값이 포함되어 있으며, 이 해시 값은 해당 콘텐츠에 대한 오버레이 네트워크를 구분하기 위한 오버레이 ID로서 사용될 수 있다. 콘텐츠 제공자는 피어 또는 캐시 서버일 수 있다. 다음에, 콘텐츠 제공자는, 오버레이 관리 서버에 접속하여 오버레이 네트워크를 생성, 참여한다.
콘텐츠 정보 관리 기능부는, 콘텐츠의 메타 정보를 저장, 유지 및 인출할 수 있다. 피어들은 서비스 레벨의 콘텐츠 정보, 예컨대, 콘텐츠의 이름 등을 검색하여 원하는 콘텐츠에 대한 메타 정보를 얻을 수 있다. 한편, 캐시 서버(160)가 피어로서 동작할 때는 캐시 서버(160)도 피어와 마찬가지로 콘텐츠에 대한 정보를 얻을 수 있다. 콘텐츠의 메타 정보는 등록될 때, 콘텐츠 제공자에 의해 타임 아웃값이 설정될 수 있다. 타임아웃값에 해당하는 시간이 경과하면 콘텐츠의 메타 정보는 삭제될 수 있다.
도 9는 본 발명의 일 실시예에 따라 피투피 네트워크 시스템을 구성하는 캐시 서버 및 관련 엔티티간의 동작 관계를 나타낸다. 도 9를 참조하면, 캐시 서버(160)는, 캐시 서버 리소스 관리 기능부(Cache Server Resource Management Functions; 161), 메타 정보 관리 기능부(Meta Information Management Functions; 162), 리소스 가상화 기능부(Resource Virtualization Functions; 163), 오버레이 네트워크 관리 피어 기능부(Overlay Network Management Peer Functions; 164), 피어 활동 관리 기능부(Peer Activity Management Functions; 165), 데이터 교환 기능부(Data Exchange Functions; 166) 및 버퍼맵 관리 기능부(Buffermap Management Functions; 167)를 포함할 수 있다.
캐시 서버(160)는 피어가 수행하는 콘텐츠의 배포 또는 다운로드를 대행한다.
캐시 서버(160)가 콘텐츠의 배포를 대행하는 동작은 다음과 같다. 먼저, 콘텐츠 제공자가 콘텐츠의 오버레이 관리 서버(140)에 콘텐츠의 배포 대행을 요청한다. 콘텐츠의 배포 대행은 오버레이 네트워크의 생성 시에 요청될 수 있다. 이 때, 콘텐츠 사용자는 캐시 서버의 동작과 관련되는 정책 정보를 함께 전달할 수 있다. 오버레이 관리 서버는 콘텐츠의 배포를 위한 캐시 서버(160)의 리소스를 예약하고, 해당 정보를 콘텐츠 제공자에게 전달한다. 콘텐츠 제공자가 오버레이 관리 서버(140)로부터 수신한 정보를 이용하여 캐시 서버(160)에게 콘텐츠를 보냄으로써, 캐시 서버(160)가 콘텐츠의 배포를 대행하도록 한다. 여기서, 캐시 서버(160)의 동작과 관련되는 서비스 정책 정보는, 예컨대, 캐시 서버(160)의 자원을 유지하기 위한 네트워크 상의 시더(seeder) 최대 개수일 수 있다. 즉, 오버레이 네트워크의 시더의 개수가 소정 개수를 초과하는 경우에는 일정한 콘텐츠의 배포가 보장될 수 있으므로 자원을 철회할 수 있고, 소정 개수 미만인 경우에는 자원을 유지하도록 한다. 콘텐츠의 배포를 위임하는 콘텐츠 제공자는 오버레이 네트워크 내의 피어일 수 있으나, 오버레이 네트워크 외부에 존재하는 콘텐츠 제공 서버, 모바일 단말 등일 수 있다.
또한, 캐시 서버(160)는 콘텐츠의 다운로드를 대행할 수 있다. 다운로드의 대행은, 상술한 콘텐츠의 배포의 대행의 경우와 유사하고, 다만, 자원의 예약이 완료된 이후의 다운로드 위임자, 캐시 서버 및 콘텐츠 배포자간의 연동이 상이하다.
캐시 서버 리소스 관리 기능부(Cache Server Resource Management Functions; 161)는, 캐시 서버(160)의 자원 할당 요청, 자원 제어 및 관리를 위한 기능을 수행한다.
캐시 서버 리소스 관리 기능부(161)는, 오버레이 관리 서버(140)로부터 수신한 자원 할당 요청을 처리한다. 오버레이 관리 서버(140)가 리소스의 할당을 요청하면, 캐시 서버 리소스 관리 기능부(161)는 리소스의 상태에 이상이 없는 경우 자원을 할당하고 리소스 상태 정보를 갱신할 수 있다. 또한, 자원이 할당된 후, 오버레이 관리 서버(140)로부터 수신한 리소스의 서비스에 관한 정책 정보를 리소스 가상화 기능부(163)에게 전달하여 가상 피어로서의 프로파일 정보를 설정하도록 할 수 있다. 한편, 캐시 서버 리소스 관리 기능부(161)는,메타 정보 관리 기능부(162)와 연동하여 오버레이 네트워크에 대한 메타 정보를 요청할 수 있다. 메타 정보 관리 기능부(162)는 인덱스 서버(130)로부터 해당 오버레이 네트워크의 메타 정보를 가져올 수 있다. 이에 대해서는 피어의 메타 정보 관리 기능부(220)에서 설명한 바가 있다. 캐시 서버(160)는 오버레이 네트워크의 메타 정보를 이용하여 오버레이 네트워크에 참여할 수 있다.
한편, 리소스 서비스에 관한 정책 정보를 기반으로 리소스의 사용이 완료된 경우, 리소스 가상화 기능부(163)는 캐시 서버 리소스 관리 기능부(161)에게 이를 통보하고, 캐시 서버 리소스 관리 기능부(161)는 할당된 자원을 해제하고 해당 오버레이 네트워크에서 탈퇴한다.
또한, 캐시 서버 리소스 관리 기능부(161)는, 리소스의 사용량 정보를 오버레이 관리 서버(140)에게 통보한다. 오버레이 관리 서버(140)는 통보된 리소스 사용량 정보를 기반으로 오버레이 네트워크 상의 리소스의 현황을 파악하여 피어들로부터의 리소스 사용 요청에 응답할 수 있다.
캐시 서버 리소스 관리 기능부(161)는, 캐시 서버(160)의 자원, 예컨대, 스토리지, 네트워크 또는 콘텐츠 등의 전체 용량 및 사용량과 같은 리소스 상태를 관리한다. 캐시 서버 리소스 관리 기능부(161)는, 오버레이 관리 서버(140)의 요청에 따라 가용 자원을 알려준다. 기타 캐시 서버 리소스 관리 기능부(161)의 기능은 피어(200)에 구비된 피어 리소스 관리 기능부(210)의 동작을 포함하므로 설명을 생략한다.
또한, 캐시 서버 리소스 관리 기능부(161)는, 캐시 서버의 자원 사용량 정보를 관리하기 위해, 캐시 서버의 리소스 사용량 정보를 오버레이 관리 서버(140)에게 전달할 수 있고, 이 정보는 사용자 관리 서버(110)로 전달될 수 있다.
메타 정보 관리 기능부(Meta Information Management Functions; 162)는 피어의 메타 정보 관리 기능부(220)의 동작을 모두 수행할 수 있다.
한편, 메타 정보 관리 기능부(162)는 캐시 서버(160)만의 고유 기능을 가질 수 있다. 상술한 바와 같이 메타 정보 관리 기능부(162)는 특정 오버레이 네트워크에 대한 메타 정보를 인덱스 서버(130)로부터 가져와서 해당 오버레이 네트워크에 참여하도록 할 수 있다.
이외에 메타 정보 관리 기능부(162)에 대한 동작은 상술한 피어의 메타 정보 관리 기능부(220)의 동작을 포함하고 있어 이에 대한 설명을 생략한다.
리소스 가상화 기능부(Resource Virtualization Functions; 163)는, 캐시 서버의 다양한 동작과 관련된 피어 프로파일을 설정하고 이와 관련되는 정보를 관리한다. 구체적으로 캐시 서버(160)는, 피어의 요청에 따라 여러 오버레이 네트워크에 참여하여 콘텐츠 배포자 또는 수신자로서 동작하기 때문에 각 오버레이 네트워크에서 수행하는 역할이 다르게 설정될 수 있다. 이로 인하여 리소스 가상화 기능부(163)는 서비스 관점에서의 피어 프로파일의 설정 등을 수행하여 캐시 서버의 동작이 제어될 수 있도록 한다.
리소스 가상화 기능부(163)는 캐시 서버 리소스 관리 기능부(161)으로부터의 요청에 따라 오버레이 네트워크에서 동작하는 피어로서의 프로파일을 설정하는 기능을 수행하고, 해당 기능은 상술한 피어 내의 로컬 프로파일 관리 기능부(230)에서 수행하는 동작과 동일하다.
또한, 리소스 가상화 기능부(163)는 오버레이 네트워크 상의 피어로서 동작하기 위한 피어 프로파일 이외에, 서비스 관점의 정보를 관리할 수 있다. 예컨대, 서비스 관점의 정보는 캐시 서버의 서비스 제공 및 중단에 관련되는 서비스 제공자의 서비스 정책 정보를 포함할 수 있다. 즉, 서비스 제공자는 서비스 관점의 정보를 통하여 서비스의 시작, 종료 및 동작과 관련되는 여러 가지 조건을 명시할 수 있다. 예컨대, 서비스의 정책 등의 이유로 서비스가 종료되어야 하는 경우, 캐시 서버 리소스 관리 기능부(161)에게 알려서 해당 서비스에 대해 할당되었던 자원의 해제를 요청할 수 있다.
즉, 리소스 가상화 기능부(163)를 통하여 캐시 서버(160)는 리소스의 할당 과정에서의 가상의 피어 프로파일과 서비스 정책 정보를 관리할 수 있다.
또한, 리소스 가상화 기능부(163)는 피어가 콘텐츠의 수신이 완료된 경우에는 이에 대한 통보를 받을 수 있다. 이 경우 리소스 가상화 기능부(163)는 피어 프로파일 정보를 갱신하고 필요한 경우에 자원의 해제를 요청할 수 있다.
오버레이 네트워크 관리 피어 기능부(Overlay Network Management Peer Functions; 164)는, 피어가 참여하고 있는 오버레이 네트워크 및 자신이 알게 된 피어들에 대한 정보를 관리하기 위한 기능부이고, 상술한 피어의 오버레이 네트워크 관리 피어 기능부(240)의 동작과 동일하므로 설명을 생략한다.
마찬가지로, 캐시 서버(160)를 구성하는 피어 활동 관리 기능부(165), 데이터 교환 기능부(166) 및 버퍼맵 관리 기능부(167)의 동작도 피어를 구성하는 기능부의 동작을 포함하므로 설명을 생략한다.
도 10은 본 발명의 일 실시예에 따라 피투피 네트워크 시스템을 구성하는 릴레이 서버의 구성을 나타내는 블록도이다. 도 10을 참조하면 릴레이 서버(170)는 릴레이 서버 리소스 관리 기능부(Relay Server Resource Management Functions; 171), 피어 활동 관리 기능부(Peer Activity Management Functions; 172) 및 데이터 릴레이 기능부(Data Relay Functions; 173)를 포함할 수 있다.
릴레이 서버(170)는 피투피 오버레이 네트워크에 능동적으로 참여하는 서버가 아닌, 피어의 네트워크 접속률, 접속 품질을 향상시키기 위한 서버이다. 한편, 릴레이 서버로부터 서비스가 제공되는 방법은 여러 가지가 있을 수 있다.
일 방법으로서, 방화벽 뒤에 위치하여 네트워크에 참여하지 못한 피어가 오버레이 관리 서버(140)에게 네트워크의 참여를 요청하면, 오버레이 관리 서버(140)는 해당 피어와 릴레이 서버의 자원 정보를 피어에게 제공한다. 또한, 오버레이 관리 서버(140)는 해당 피어와 접근성이 높은 릴레이 서버(170)의 리소스를 할당하기 위해 네트워크 정보 서버(150)와 연동할 수 있다. 리소스의 할당이 완료되면, 오버레이 관리 서버(140)는 할당된 릴레이 서버(170)에게 해당 피어의 정보를 제공할 수 있다. 피어는 릴레이 서버(170)에 접근하여 데이터 릴레이를 위한 트랜스포트 매핑을 생성한다. 리소스를 제공받은 피어는 다른 피어와의 연동시 릴레이 서버(170)를 통해 데이터의 중계를 수행하지만, 피어 활동 정보는 릴레이 서버(170)를 경유하지 않고 피어 상태 관리 서버(120)에게 보고한다.
다른 방법으로서, 릴레이 서버(170)가 피어의 기능을 포함하는 경우, 일반적인 피어가 릴레이 서버(170)로서 동작할 수 있다. 먼저, 오버레이 관리 서버(140)가 네트워크에 참여하는 피어에게 피어 리스트를 제공할 때, 각 엔티티에 대해 릴레이 서버(170)로서의 동작 가능 여부도 함께 제공한다. 피어는 피어 프로토콜을 사용하여 피어간 데이터 송수신을 하는데 있어서, 릴레이 서버(170)의 중계가 필요한 경우에는, 피어 프로토콜의 일부 메시지에 릴레이 서버(170)로서 동작 가능한 피어의 주소를 포함시켜 메시지를 전달할 수 있다. 예컨대, 피어 프로토콜의 헤더의 INT에 릴레이 서버로 기능하는 피어의 주소를 명기하면, 데이터는 해당 피어에게 수신되고, 그 피어는 도착지의 피어에게 데이터를 전달해줌으로써 릴레이 기능을 수행할 수 있다. 이 경우, 해당 피어는 릴레이 서버(170)로서 기여한 활동 정보를 피어 활동 정보로서 피어 상태 관리 서버(120)에 보고한다. 즉, 릴레이 서버로서 기능하는 피어의 모든 활동 정보가 피어 활동 정보의 보고 대상이 된다.
즉, 릴레이 서버(170)에 의해 제공되는 리소스는 오버레이 관리 서버(140)의 제어 및 오버레이 네트워크 내에 존재하는 리소스의 상태에 따라, 할당된 릴레이 서버(170)에 의해 제공될 수 있고, 피어의 선택에 의해 릴레이 기능이 가능한 피어(200)로부터 제공될 수도 있다.
릴레이 서버 리소스 관리 기능부(171)는, 오버레이 관리 서버(140)의 요청에 따라 릴레의 서버의 자원 할당 요청을 처리하고 이에 대한 리소스의 제어 및 리소스 정보의 관리를 위한 기능을 수행한다.
릴레이 서버 리소스 관리 기능부(171)는, 오버레이 관리 서버(140)에서 수신한 자원 할당 요청을 처리한다. 오버레이 관리 서버(140)가 리소스의 할당을 요청하면, 릴레이 서버 리소스 관리 기능부(171)는 자원 상태를 확인하고 이상이 없는 경우 자원을 할당하고 중계를 위해서 제공된 리소스 정보를 갱신할 수 있다.
릴레이 서버 리소스 관리 기능부(171)는 오버레이 네트워크 상에 자신이 제공하는 릴레이 서버(170)의 리소스 정보, 예컨대, 스토리지, 네트워크 또는 콘텐츠 등의 전체 용량 및 사용량과 같은 리소스 상태를 제공 상황 등을 기반으로 관리 또는 갱신함으로써 유지한다.
릴레이 서버 리소스 관리 기능부(171)는 릴레이 서버(170)의 자원 사용량 정보를 관리한다. 리소스 사용량 정보는 오버레이 관리 서버(140)에게 전달되고, 이후, 사용자 관리 서버(110)로 전달될 수 있다.
릴레이 서버 리소스 관리 기능부(171)의 기능은 피어(200)에 구비된 피어 리소스 관리 기능부(210)의 동작을 포함하므로 이와 관련하는 설명을 생략한다.
즉, 본 발명의 일 실시예에 따라, 릴레이 서버(170)는, 오버레이 관리 서버(140)의 리소스 할당 요청에 따라 오버레이 네트워크에 참여하고 있는 특정 피어에게 콘텐츠를 중계하고 중계를 위해서 제공된 리소스 정보를 갱신 또는 유지함으로써, 피어의 네트워크 접속률, 접속 품질을 향상시킬 수 있다.
피어 활동 관리 기능부(172)는, 피어간 통신을 위한 기능부로서, 피어간 데이터를 공유하기 위하여 사전 버퍼맵 교환, 조각 요청 등을 수행하며 피어 프로토콜을 포함한다. 한편, 릴레이 서버(170)의 피어 활동 관리 기능부(172)는 피어간 통신을 하는데 있어서, 피어 프로토콜의 일부, 예컨대, 메시지 헤더에 있는 SRC, DST 및 INT 필드만을 이용하여 릴레이 기능을 수행할 수 있다. 상술한 바와 같이, 피어가 릴레이 서버(170)로 동작하는 경우에는 피어 프로토콜의 헤더 메시지를 참조하여 피어 자신이 릴레이 서버(170)로서 콘텐츠를 도착지의 피어에게 중계하도록 할 수 있다.
이외의 피어 활동 관리 기능부(172)의 기능은, 피어의 피어 활동 관리 기능부(250)가 수행하는 동작을 포함하므로 설명을 생략한다.
데이터 릴레이 기능부(173)는, 피어 활동 관리 기능부(172)의 제어 하에 피어간 데이터를 중계해주는 기능을 수행한다.
이상, 본 발명의 일 실시예에 따른 피투피 네트워크 시스템에 대해 설명하였다. 본 발명의 범위는 본 명세서에서 설명되는 실시예에 한정하지 않고, 추가 또는 변경될 수 있다. 또한, 본 명세서에서 예시되는 서버의 동작 및 명칭, 서버를 구성하는 기능부의 동작 및 명칭에 의해 본 발명의 범위가 한정되지 않으며, 서버, 서버를 구성하는 기능부는 실시예에 따라 추가, 삭제 또는 변경될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 설명하였다. 그러나, 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것으로, 본 발명의 범위가 상기의 실시예에 한정되는 것은 아니며, 여러 가지 다른 형태로 변형이 가능함은 물론이다.

Claims (25)

  1. 적어도 하나의 피어; 및
    상기 적어도 하나의 피어의 상태에 대한 정보, 기반 네트워크의 상태에 대한 정보, 및 서비스 측면의 사용자에 대한 정보 중 적어도 하나를 활용하여 상기 적어도 하나의 피어에게 피투피 네트워크의 구성을 위한 정보들을 제공하는 오버레이 관리서버
    를 포함하고,
    상기 오버레이 관리서버는 캐시 서버의 자원을 관리하고, 상기 캐시 서버의 자원을 예약하며, 상기 피투피 네트워크에 참여할 것을 상기 캐시 서버에게 요청하고,
    상기 캐시 서버는 컨텐츠를 다운로드 또는 배포하기 위해 자원이 부족한 피어 대신에 상기 피투피 네트워크에 참여하는,
    관리 기능이 부여된 피투피 네트워크 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 제1항에 있어서,
    상기 캐시 서버는 상기 자원이 부족한 피어 대신에 상기 피투피 네트워크에서 피어로 동작하여 상기 컨텐츠를 다운로드 또는 배포하고, 가상 피어 프로파일 정보 및 서비스 정책 정보를 관리하는,
    관리 기능이 부여된 피투피 네트워크 시스템.
  20. 제1항에 있어서,
    상기 적어도 하나의 피어의 상태에 대한 정보는 최대 업로드 용량, 최대 다운로드 용량, 피어 연결들의 최대 개수, 부하 상태, 및 스토리지 상태 중 적어도 하나를 포함하는,
    관리 기능이 부여된 피투피 네트워크 시스템.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
KR1020120075042A 2012-07-10 2012-07-10 관리 기능이 부여된 피투피 네트워크 시스템 KR101980129B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120075042A KR101980129B1 (ko) 2012-07-10 2012-07-10 관리 기능이 부여된 피투피 네트워크 시스템
US13/894,529 US9344495B2 (en) 2012-07-10 2013-05-15 Peer-to-peer network system with manageability

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120075042A KR101980129B1 (ko) 2012-07-10 2012-07-10 관리 기능이 부여된 피투피 네트워크 시스템

Publications (2)

Publication Number Publication Date
KR20140008065A KR20140008065A (ko) 2014-01-21
KR101980129B1 true KR101980129B1 (ko) 2019-05-20

Family

ID=49914934

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120075042A KR101980129B1 (ko) 2012-07-10 2012-07-10 관리 기능이 부여된 피투피 네트워크 시스템

Country Status (2)

Country Link
US (1) US9344495B2 (ko)
KR (1) KR101980129B1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102017711B1 (ko) * 2012-12-12 2019-09-03 한국전자통신연구원 피투피 네트워크에서 피어의 상태 정보를 관리하거나 공유하는 방법 및 장치
KR101535085B1 (ko) * 2014-03-11 2015-07-08 에스케이텔레콤 주식회사 피투피 통신 제어 방법 및 장치
WO2016111246A1 (ja) * 2015-01-08 2016-07-14 日本電気株式会社 無線端末
US10194275B2 (en) * 2015-03-06 2019-01-29 Omnitracs, Llc Inter-network messaging for mobile computing platforms
WO2017023860A1 (en) * 2015-07-31 2017-02-09 Modulus Technology Solutions Corp. Estimating wireless network load and adjusting applications to minimize network overload probability and maximize successful application operation
KR102346689B1 (ko) 2015-08-28 2022-01-04 한국전자통신연구원 P2p 네트워크 관리 시스템의 동작 방법 및 p2p 네트워크 관리 시스템
KR102365755B1 (ko) * 2015-11-11 2022-02-22 한국전자통신연구원 네트워크 관리 서버의 자원 관리 방법 및 네트워크 관리 서버를 포함하는 피투피 시스템
US10339198B2 (en) * 2015-12-18 2019-07-02 Bitly, Inc. Systems and methods for benchmarking online activity via encoded links
KR102292909B1 (ko) * 2016-05-27 2021-08-25 한국전자통신연구원 오버레이 관리 서버 및 이의 자원 할당 방법
US20170346888A1 (en) * 2016-05-27 2017-11-30 Electronics And Telecommunications Research Institute Overlay management server and resource allocation method thereof
US10382355B2 (en) 2016-06-02 2019-08-13 Electronics And Telecommunications Research Institute Overlay management server and operating method thereof
KR102315837B1 (ko) * 2016-06-02 2021-10-22 한국전자통신연구원 오버레이 관리 서버 및 이의 동작 방법
JP6987530B2 (ja) * 2017-05-19 2022-01-05 キヤノン株式会社 画像形成装置、情報処理方法及びプログラム
US10667016B2 (en) 2017-06-19 2020-05-26 Electronics And Telecommunications Research Institute Peer and method for adjusting starting point of the peer
KR20190045792A (ko) 2017-10-24 2019-05-03 한국전자통신연구원 다수 디스플레이 기기에 동일 미디어 표출을 위한 변경된 재생 미디어의 배포 방법
KR102207560B1 (ko) * 2019-02-07 2021-01-26 넷마블 주식회사 파일 공유 서비스를 제공하는 컴퓨팅 장치
KR20220089532A (ko) 2020-12-21 2022-06-28 한국전자통신연구원 강화 학습을 이용한 ttl 기반 캐쉬 관리 방법 및 장치

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249888A1 (en) * 2003-06-04 2004-12-09 Sony Computer Entertainment Inc. Command and control of arbitrary resources in a peer-to-peer network
US20050135341A1 (en) * 2003-12-18 2005-06-23 Samsung Electronics Co., Ltd. Apparatus and method for coordinately managing media content
US20070038578A1 (en) * 2005-08-10 2007-02-15 Huizhuo Liu Method and system for digital content distribution
US20070064702A1 (en) * 2005-09-20 2007-03-22 Anthony Bates Modifying operation of peer-to-peer networks based on integrating network routing information
US20090254654A1 (en) * 2006-06-13 2009-10-08 Michal Jakob Computer network
US20090265473A1 (en) * 2006-02-21 2009-10-22 Aamer Hydrie Topology Management in Peer-to-Peer Content Distribution Clouds
US20110055347A1 (en) * 2009-09-03 2011-03-03 At&T Intellectual Property I, L.P. Real-Time and Secured Picture/Video Upload via a Content Delivery Network
US7925592B1 (en) * 2006-09-27 2011-04-12 Qurio Holdings, Inc. System and method of using a proxy server to manage lazy content distribution in a social network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844549B2 (en) * 2005-03-14 2010-11-30 Mark Strickland File sharing methods and systems
US20060271638A1 (en) * 2005-05-27 2006-11-30 Beigi Mandis S Method and apparatus for improving data transfers in peer-to-peer networks
KR100810759B1 (ko) 2006-02-17 2008-03-07 엔에이치엔(주) P2p 파일 전송 시스템 및 방법
KR101430237B1 (ko) 2008-03-10 2014-08-18 주식회사 케이티 피어 투 피어 통신에서의 피어 선정 방법 및 그 시스템
KR101485610B1 (ko) 2008-11-27 2015-01-22 주식회사 케이티 네트워크 구조를 고려한 분산형 컨텐트 전달 시스템 및 그 방법
WO2011009241A1 (zh) * 2009-07-24 2011-01-27 华为技术有限公司 处理网络映射标识的方法、装置及系统和选择对等点的方法
US20130007186A1 (en) * 2011-06-30 2013-01-03 Interdigital Patent Holdings, Inc. Controlling content caching and retrieval

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249888A1 (en) * 2003-06-04 2004-12-09 Sony Computer Entertainment Inc. Command and control of arbitrary resources in a peer-to-peer network
US20050135341A1 (en) * 2003-12-18 2005-06-23 Samsung Electronics Co., Ltd. Apparatus and method for coordinately managing media content
US20070038578A1 (en) * 2005-08-10 2007-02-15 Huizhuo Liu Method and system for digital content distribution
US20070064702A1 (en) * 2005-09-20 2007-03-22 Anthony Bates Modifying operation of peer-to-peer networks based on integrating network routing information
US20090265473A1 (en) * 2006-02-21 2009-10-22 Aamer Hydrie Topology Management in Peer-to-Peer Content Distribution Clouds
US20090254654A1 (en) * 2006-06-13 2009-10-08 Michal Jakob Computer network
US8244857B2 (en) * 2006-06-13 2012-08-14 British Telecommunications Plc Computer network
US7925592B1 (en) * 2006-09-27 2011-04-12 Qurio Holdings, Inc. System and method of using a proxy server to manage lazy content distribution in a social network
US20110055347A1 (en) * 2009-09-03 2011-03-03 At&T Intellectual Property I, L.P. Real-Time and Secured Picture/Video Upload via a Content Delivery Network

Also Published As

Publication number Publication date
US20140019543A1 (en) 2014-01-16
US9344495B2 (en) 2016-05-17
KR20140008065A (ko) 2014-01-21

Similar Documents

Publication Publication Date Title
KR101980129B1 (ko) 관리 기능이 부여된 피투피 네트워크 시스템
JP5590580B2 (ja) オーバーレイネットワークで通信ピアの選択をサポートする方法およびシステム
US9635107B2 (en) System and method for managing data delivery in a peer-to-peer network
US20070094279A1 (en) Service provision in peer-to-peer networking environment
US20090100128A1 (en) Accelerating peer-to-peer content distribution
CN112470156A (zh) 用于在去中心化网络上进行安全的实时多媒体串流的系统和方法
EP3242463B1 (en) Content distribution method and system for mobile terminal application
US20090182815A1 (en) Accelerating peer-to-peer content distribution
KR101485610B1 (ko) 네트워크 구조를 고려한 분산형 컨텐트 전달 시스템 및 그 방법
US20130007253A1 (en) Method, system and corresponding device for load balancing
KR101602760B1 (ko) p2p 연결을 이용한 클라우드 서비스 트래픽의 절감 방법 및 그 장치
CN102546820B (zh) 传输优化方法、映射信息的存储方法、装置及系统
KR20110002808A (ko) 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법
CN103986741A (zh) 云数据系统、云数据中心及其资源管理方法
KR20120038187A (ko) 컨텐츠 중심 네트워킹 환경에서 그룹 변경에 관한 정보를 이용한 컨텐츠 공유 방법 및 장치
US20110087775A1 (en) Peer-to-peer control device and transmission overlay management method
Wakeman et al. The fans united will always be connected: building a practical DTN in a football stadium
JP5272731B2 (ja) P2pデータ配信システム、p2pデータ配信方法、及びp2pデータ配信プログラム
CN101989918A (zh) 对等网络管理系统及其实现管理的方法
JP5394704B2 (ja) 情報通信システム、及びソフトウェア更新方法
KR101418570B1 (ko) P2p 제어 장치 및 전송 오버레이 제어 방법
KR20120052444A (ko) 모바일 메시징 서비스에서의 파일 전송을 지원하는 파일 전송 관리 시스템 및 파일 전송 관리 방법
CN102017568A (zh) 用于递送自主播放的内容的系统
CN103026690A (zh) 借助于拓扑服务器对分布于通信结构上的节点网络的机密或受保护访问
US20080288447A1 (en) Methods and apparatus for improving peer efficiency

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
GRNT Written decision to grant