KR20150097581A - P2p 네트워크에서의 콘텐츠 소스 선택 - Google Patents

P2p 네트워크에서의 콘텐츠 소스 선택 Download PDF

Info

Publication number
KR20150097581A
KR20150097581A KR1020157018114A KR20157018114A KR20150097581A KR 20150097581 A KR20150097581 A KR 20150097581A KR 1020157018114 A KR1020157018114 A KR 1020157018114A KR 20157018114 A KR20157018114 A KR 20157018114A KR 20150097581 A KR20150097581 A KR 20150097581A
Authority
KR
South Korea
Prior art keywords
peer
computer
network
digital content
content item
Prior art date
Application number
KR1020157018114A
Other languages
English (en)
Other versions
KR102293004B1 (ko
Inventor
알렉산더 버바
브랜든 헌트
매튜 완
메흐메트 아쿠르트
니마 간제
프랭크 알 3세 모리슨
이반 피 트린데브
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 KR1020217026161A priority Critical patent/KR102439947B1/ko
Publication of KR20150097581A publication Critical patent/KR20150097581A/ko
Application granted granted Critical
Publication of KR102293004B1 publication Critical patent/KR102293004B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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
    • 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/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/1021Server selection for load balancing based on client or server locations
    • 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

방법은 피어-투-피어 네트워크의 복수의 피어 컴퓨터들로부터의 원격 측정 데이터를 컴퓨터 네트워크를 통해 집계하는 단계를 포함한다. 복수의 피어 컴퓨터들 각각은 피어-투-피어 네트워크 내에서의 디지털 콘텐츠 항목의 전송에 관련된 원격 측정 데이터를 송신한다. 이 방법은 제1 디지털 콘텐츠 항목을 제공하도록 추천된 콘텐츠 소스에 대해 질의하는 콘텐츠 획득 요청을 컴퓨터 네트워크를 통해 피어-투-피어 네트워크의 제1 피어 컴퓨터로부터 수신하는 단계, 및 콘텐츠 획득 요청에 대한 응답을 컴퓨터 네트워크를 통해 제1 피어 컴퓨터로 송신하는 단계 ― 응답은 제1 디지털 콘텐츠 항목을 가지는 피어-투-피어 네트워크의 제2 피어 컴퓨터를 추천된 콘텐츠 소스로서 식별해줌 ― 를 추가로 포함한다. 제2 피어 컴퓨터는 복수의 피어 컴퓨터들로부터 집계된 원격 측정 데이터로부터 도출되는 피어 선택 메트릭에 따라 선택된다.

Description

P2P 네트워크에서의 콘텐츠 소스 선택{CONTENT SOURCE SELECTION IN A P2P NETWORK}
P2P(peer-to-peer) 네트워크에서, 각각의 피어 컴퓨터는 P2P 네트워크 내의 상대방 피어 컴퓨터들에 대해 클라이언트 또는 서버로서 역할할 수 있어, 중앙 서버 컴퓨터를 통해 데이터를 보낼 필요 없이, 피어 컴퓨터들 간에 직접, 디지털 콘텐츠 항목들과 같은 다양한 자원들에의 공유 액세스를 가능하게 한다. 예를 들어, 피어 컴퓨터는 디지털 콘텐츠 항목의 이용가능성에 대해 P2P 네트워크 내의 다른 피어 컴퓨터들에 질의할 수 있고, 이어서 질의에 응답하는 주어진 피어 컴퓨터에 디지털 콘텐츠 항목을 요청한다. 전형적으로, 피어 컴퓨터는 질의에 응답하는 제1 피어 컴퓨터 또는 그 피어 컴퓨터의 위치, 대역폭, 처리율, 연결 유형, 또는 기타 특성과 같은 그 피어 컴퓨터의 상태에 관계없이 디지털 콘텐츠 항목을 제공하는데 즉각 이용가능한 피어 컴퓨터에 디지털 콘텐츠 항목을 요청할 수 있다. 디지털 콘텐츠 항목를 제공할 콘텐츠 소스를 이와 같이 아무런 정보 없이 선택하는 것은 최적이 아닌 다운로드 경험을 가져올 수 있다. 다시 말해, 피어 컴퓨터는 디지털 콘텐츠 항목을 요청할 때 아무런 정보 없이 콘텐츠 소스의 선택에 관한 결정을 할 수 있다. 종래의 P2P 네트워크에서, 피어 컴퓨터는 P2P 네트워크 내의 모든 다른 피어 컴퓨터들에 관한 정보 또는 좋은 다운로드 경험을 제공하는 콘텐츠 소스를 선택하기 위해 이러한 정보를 분석하는 메커니즘을 가지고 있지 않다.
이 발명의 내용은 이하에서 발명을 실시하기 위한 구체적인 내용에 추가로 기술되는 개념들 중 선택된 것을 간략화된 형태로 소개하기 위해 제공되어 있다. 이 발명의 내용은 청구된 발명 요지의 핵심적인 특징들 또는 필수적인 특징들을 확인하기 위한 것이 아니며, 청구된 발명 요지의 범주를 제한하기 위해 사용되기 위한 것도 아니다. 게다가, 청구된 발명 요지가 본 개시 내용의 임의의 부분에서 살펴본 단점들의 일부 또는 전부를 해결하는 구현들로 제한되지 않는다.
디지털 콘텐츠 항목들을 배포하는 것 및 피어-투-피어 네트워크를 관리하는 것에 관련된 실시예들이 개시되어 있다. 예를 들어, 하나의 실시예에서, 피어-투-피어 네트워크의 복수의 피어 컴퓨터들로부터의 원격 측정 데이터가 컴퓨터 네트워크를 통해 집계된다. 복수의 피어 컴퓨터들 각각은 피어-투-피어 네트워크 내에서의 디지털 콘텐츠 항목의 전송에 관련된 원격 측정 데이터를 송신한다. 제1 디지털 콘텐츠 항목을 제공하도록 추천된 콘텐츠 소스에 대해 질의하는 콘텐츠 획득 요청이 컴퓨터 네트워크를 통해 피어-투-피어 네트워크의 제1 피어 컴퓨터로부터 수신된다. 콘텐츠 획득 요청에 대한 응답이 컴퓨터 네트워크를 통해 제1 피어 컴퓨터로 송신된다. 응답은 제1 디지털 콘텐츠 항목을 가지는 피어-투-피어 네트워크의 제2 피어 컴퓨터를 추천된 콘텐츠 소스로서 식별해준다. 제2 피어 컴퓨터는 복수의 피어 컴퓨터들로부터 집계된 원격 측정 데이터로부터 도출되는 피어 선택 메트릭에 따라 선택된다.
도 1은 본 개시 내용의 일 실시예에 따른, 콘텐츠 배포 컴퓨팅 시스템을 도시한 도면.
도 2는 본 개시 내용의 일 실시예에 따른, 디지털 콘텐츠 항목을 도시한 도면.
도 3은 본 개시 내용의 일 실시예에 따른, CMS(centralized management service) 컴퓨터 아키텍처를 도시한 도면.
도 4 및 도 5는 본 개시 내용의 일 실시예에 따른, 디지털 콘텐츠 항목을 획득하는 방법을 도시한 도면.
도 6 및 도 7은 본 개시 내용의 일 실시예에 따른, P2P 네트워크에서 동작들을 자발적으로 수행하고 동작들을 의무적으로 수행하는 방법을 도시한 도면.
도 8은 본 개시 내용의 일 실시예에 따른, 피어 컴퓨터를 콘텐츠 소스로서 선택하는 방법을 도시한 도면.
도 9는 본 개시 내용의 다른 실시예에 따른, 피어 컴퓨터를 콘텐츠 소스로서 선택하는 방법을 도시한 도면.
도 10은 본 개시 내용의 일 실시예에 따른, P2P 네트워크를 관리하는 방법을 도시한 도면.
도 11은 본 개시 내용의 일 실시예에 따른, 콘텐츠를 다운로드하는 방법을 도시한 도면.
도 12 및 도 13은 본 개시 내용의 일 실시예에 따른, P2P 네트워크를 관리하는 방법을 도시한 도면.
도 14는 본 개시 내용의 일 실시예에 따른, 콘텐츠를 배포하는 방법을 도시한 도면.
도 15는 본 개시 내용의 일 실시예에 따른, 사용자에게 디스플레이가능한 보상 인터페이스를 도시한 도면.
도 16은 본 개시 내용의 일 실시예에 따른, 컴퓨터 시스템을 도시한 도면.
본 개시 내용은 일반적으로 P2P(peer-to-peer) 네트워크에서 디지털 콘텐츠를 배포하는 시스템들 및 방법들에 관한 것이다. 보다 상세하게는, 본 개시 내용은 CMS(centralized management service) 컴퓨터를 통해 P2P 네트워크의 다양한 측면들을 관리하는 시스템들 및 방법들에 관한 것이다. 예를 들어, CMS 컴퓨터는 P2P 네트워크의 각각의 피어 컴퓨터의 동작들을 모니터링할 수 있고, 원격 측정 데이터의 형태로 각각의 피어 컴퓨터로부터 정보를 수신할 수 있다. 원격 측정 데이터는 피어 컴퓨터의 상태의 개별적 표시를 제공할 수 있다. 게다가, CMS 컴퓨터는, P2P 네트워크의 상태의 전체적 표시를 제공하기 위해, P2P 네트워크의 모든 피어 컴퓨터들로부터의 원격 측정 데이터를 집계할 수 있다.
CMS 컴퓨터는, P2P 네트워크의 피어 컴퓨터들에 동작 지침(operational guidance)을 제공하기 위한 상이한 메트릭들을 계산하기 위해, 집계된 원격 측정 데이터를 사용할 수 있다. 예를 들어, CMS 컴퓨터는 집계된 원격 측정 데이터로부터 도출될 수 있는 하나 이상의 메트릭들에 기초하여 디지털 콘텐츠 항목을 획득하기 위해 콘텐츠 소스 선택을 조정할 수 있다. 몇몇 경우들에 있어서, CMS 컴퓨터는 이러한 지침을 주어진 피어의 디지털 콘텐츠 획득 경험을 최적화하는 쪽으로 지향시킬 수 있다. 몇몇 경우들에 있어서, CMS는 이러한 지침을 P2P 네트워크 전체의 동작을 최적화하는 쪽으로 지향시킬 수 있다. 몇몇 경우들에 있어서, CMS 컴퓨터는 이러한 지침을 제공할 때 개별 피어의 요구를 P2P 네트워크의 전체적 상태(overall health)와 비교 검토할 수 있다. P2P 네트워크 내의 모든 피어 컴퓨터들에 대한 원격 측정 데이터를 CMS 컴퓨터로 집계하는 것에 의해, 각각의 피어 컴퓨터의 개별적 관점은 물론, P2P 네트워크 전체의 총체적 관점이 실현될 수 있다. 게다가, 이 정보는 각각의 피어 컴퓨터는 물론 P2P 네트워크 전체의 효율을 증가시키는 지침을 제공하는데 이용될 수 있다.
도 1은 본 개시 내용의 일 실시예에 따른, 콘텐츠 배포 시스템(100)을 도시한 것이다. 콘텐츠 배포 시스템(100)은 복수의 피어 컴퓨터들(예컨대, 피어 A 내지 피어 N+N)을 포함하는 P2P 네트워크(102)를 포함한다. P2P 네트워크(102)의 피어 컴퓨터(101)는 로컬 처리 자원, 로컬적으로 저장된 파일, 로컬적으로 연결된 주변 기계 등과 같은 다양한 로컬 자원들에 액세스할 수 있다. P2P 네트워크(102)의 각각의 피어 컴퓨터는 하나 이상의 컴퓨터 네트워크들(104)을 통해 P2P 네트워크의 각각의 상대방 피어 컴퓨터와 직접 통신하도록 구성될 수 있다. 보다 상세하게는, 각각의 피어 컴퓨터는 P2P 네트워크의 상대방 피어 컴퓨터들에 대해 클라이언트 또는 서버로서 역할할 수 있어, 각각의 피어 컴퓨터의 다양한 로컬 자원들에의 공유 액세스를 가능하게 한다. 이 설명과 관련하여, 임의의 적당한 자원이 P2P 네트워크의 피어 컴퓨터들 간에 전송되거나 공유될 수 있다는 것을 잘 알 것이지만, 논의는 특히 디지털 콘텐츠 항목들을 전송하는 것에 관한 것일 수 있다.
예를 들어, 피어 컴퓨터(101)는 P2P 네트워크의 임의의 다른 피어 컴퓨터에 디지털 콘텐츠 항목을 요청하도록 구성될 수 있다. 게다가, 피어 컴퓨터는 컴퓨터 네트워크를 통해 피어 컴퓨터로부터 디지털 콘텐츠 항목을 다운로드[리칭(leeching)이라고도 함]하도록 구성될 수 있다. 더욱이, 피어 컴퓨터는 디지털 콘텐츠 항목을 제공하기 위해 P2P 네트워크의 임의의 다른 피어 컴퓨터로부터의 요청에 응답하도록 구성될 수 있다. 게다가, 피어 컴퓨터는 컴퓨터 네트워크를 통해 그 피어 컴퓨터로 디지털 콘텐츠 항목을 업로드[씨딩(seeding)이라고도 함]하도록 구성될 수 있다.
컴퓨터 네트워크(104)는 컴퓨터들 간의 자원들 및 데이터의 공유를 가능하게 하는 하나 이상의 통신 채널들을 포함할 수 있다. 컴퓨터 네트워크(104)는 컴퓨터들 간에 데이터를 전송하기 위한 임의의 적당한 전송 매체, 통신 프로토콜, 및 조직적 계층구조를 포함할 수 있다. 예시된 실시예에서, 간단함을 위해, 컴퓨터 네트워크가 피어 컴퓨터(101)에의 복수의 연결들로 나타내어져 있지만, 컴퓨터 네트워크가 콘텐츠 배포 시스템(100)의 컴퓨터들 중 일부 또는 전부 사이의 통신을 용이하게 할 수 있다는 것을 잘 알 것이다.
컴퓨터 네트워크(104)의 구성의 일부로서, P2P 네트워크(102)의 피어 컴퓨터들은 ISP(internet service provider)(106)와 연관되어 있을 수 있다. 예를 들어, ISP는 연관된 피어 컴퓨터들을 다른 컴퓨터들과의 통신을 위해 인터넷에 연결시킬 수 있다. 일부 실시예들에서, P2P 네트워크의 피어 컴퓨터들이 상이한 ISP들과 연관되어 있을 수 있다. 예시된 예에서, 피어 A, 피어 B, 피어 N, 및 피어 N+1은 ISP A와 연관되어 있을 수 있고; 피어 N+N은 ISP B와 연관되어 있을 수 있다. 게다가, P2P 네트워크에 포함되지 않은 부가의 비가입 컴퓨터(unaffiliated computer)들이 ISP A 또는 ISP B와 연관되어 있을 수 있다는 것을 잘 알 것이다.
몇몇 경우들에 있어서, 피어 컴퓨터가 디지털 콘텐츠 항목을 상이한 ISP와 연관된 피어 컴퓨터보다는 동일한 ISP와 연관된 피어 컴퓨터로 또는 그로부터 전송하는 것이 유익할 수 있다. 예를 들어, 동일한 ISP 내의 피어 컴퓨터들 간에 디지털 콘텐츠 항목을 전송하는 것은, 상이한 ISP들과 연관된 피어 컴퓨터들 간에 디지털 콘텐츠 항목을 전송하는 것에 비해, 처리율을 증가시키고 대역폭 비용을 감소시킬 수 있다. 다른 예로서, 동일한 ISP 내의 피어 컴퓨터들 간에 디지털 콘텐츠 항목을 전송하는 것이 피어 컴퓨터에 대한 비용을 감소시킬 수 있는 피어 컴퓨터 데이터 전송 할당(peer computer data transfer allotment)에 이바지하지 않을 수 있다.
일부 실시예들에서, 컴퓨터 네트워크(104)의 구성의 일부로서, P2P 네트워크(102)의 복수의 피어 컴퓨터들이 인트라넷 네트워크(108)에 연결될 수 있다. 인트라넷 네트워크에 연결되어 있는 피어 컴퓨터들은, 인터넷과 같은 외부 네트워크와 인터페이스하지 않고, 디지털 콘텐츠 항목을 인트라넷 네트워크에 연결된 다른 피어 컴퓨터들로 전송할 수 있다.
몇몇 경우들에 있어서, 피어 컴퓨터가, 디지털 콘텐츠 항목을 인트라넷 네트워크에 연결되지 않거나 인트라넷 네트워크의 외부에 위치되어 있는 피어 컴퓨터로 전송하는 것보다, 디지털 콘텐츠 항목을 인트라넷 네트워크에 연결된 피어 컴퓨터로 또는 그로부터 전송하는 것이 유익할 수 있다. 예를 들어, 인트라넷 네트워크에 연결된 피어 컴퓨터들 간에 디지털 콘텐츠 항목을 전송하는 것은, 디지털 콘텐츠 항목을 인트라넷 네트워크의 외부에 있는 피어 컴퓨터로 전송하는 것에 비해, 처리율을 증가시키고 대역폭 비용을 감소시킬 수 있는데, 그 이유는 외부 피어 컴퓨터로 전송되는 데이터가 외부에 위치된 피어 컴퓨터에 도달하기 위해 게이트웨이 또는 기타 인터페이스를 통해 지나가야만 할 것이기 때문이다.
콘텐츠 배포 시스템(100)은 P2P 네트워크의 피어 컴퓨터들로부터 집계된 원격 측정 데이터에 기초하여 P2P 네트워크(102)의 동작을 관리하도록 구성된 CMS 컴퓨터(110)를 포함할 수 있다. 예를 들어, 원격 측정 데이터는, 디지털 콘텐츠 항목의 전송에 관한 것과 같은, P2P 네트워크의 피어 컴퓨터들 간의 상호작용들에 관한 것일 수 있다.
CMS 컴퓨터(110)는 P2P 네트워크(102) 내의 피어 컴퓨터들을 추적하도록 구성된 트래커 서비스 컴퓨터(tracker service compute)(112)를 선택적으로 포함할 수 있다. 상세하게는, 피어 컴퓨터들은 원격 측정 데이터 형태의 정보를 트래커 서비스 컴퓨터에 보고할 수 있고, 그와 교환으로, 피어 컴퓨터들은 그들이 연결할 수 있는 다른 피어 컴퓨터들에 관한 정보를 수신할 수 있다. 예를 들어, 피어 컴퓨터(101)는 디지털 콘텐츠 항목의 전송에 관련된 원격 측정 데이터를 컴퓨터 네트워크(104)를 통해 트래커 서비스 컴퓨터(112)로 송신할 수 있다. 예를 들어, 피어 컴퓨터는, 디지털 콘텐츠 항목을 전송하려고 의도하고 있을 때, 디지털 콘텐츠 항목을 전송하거나 디지털 콘텐츠 항목을 전송하려고 시도한 후에, 원격 측정 데이터를 송신할 수 있다. 피어 컴퓨터가 원격 측정 데이터를 임의의 적당한 때에 트래커 서비서(tracker servicer) 또는 CMS 컴퓨터로 송신할 수 있다는 것을 잘 알 것이다. 더욱이, 원격 측정 데이터를 송신하는 동작이 디지털 콘텐츠 항목의 실제 전송과 분리될 수 있다. 하나의 예에서, CMS 컴퓨터는 트래커 서비스 컴퓨터를 통해 실시간으로 또는 거의 실시간으로 P2P 네트워크의 피어 컴퓨터들로부터의 원격 측정 데이터를 집계하도록 구성될 수 있다.
일부 실시예들에서, 트래커 서비스 컴퓨터(112)는 P2P 네트워크(102)의 상이한 피어 컴퓨터들에 대한 원격 측정 데이터를 추적할 수 있는 복수의 트래커 서비스 컴퓨터들을 포함할 수 있다. 예를 들어, 상이한 트래커 서비스 컴퓨터들은 P2P 네트워크의 상이한 영역들(예컨대, 지리적 영역들) 내의 피어 컴퓨터들, 상이한 ISP들에 속하는 피어 컴퓨터들, 기타를 추적할 수 있다. 복수의 트래커 서비스 컴퓨터들 각각은 원격 측정 데이터를 집계를 위해 CMS 컴퓨터로 송신할 수 있다.
복수의 트래커 서비스 컴퓨터들은 P2P 네트워크 내의 피어 컴퓨터들을 추적하는 것에 중복성(redundancy) 및 유연성(flexibility)을 제공할 수 있다. 일부 실시예들에서, CMS 컴퓨터(110)는, 부하 분산 기능을 제공하여 P2P 네트워크에 걸쳐 있는 피어 컴퓨터들을 효율적으로 추적하기 위해, 어느 트래커 서비스 컴퓨터들이 어느 피어 컴퓨터들을 추적하는지를 조절하도록 구성될 수 있다. 예를 들어, P2P 네트워크의 제1 영역에 있는 상당한 수의 피어 컴퓨터들이 유휴 상태에 있는 반면, P2P 네트워크의 제2 영역에 있는 상당한 수의 피어 컴퓨터들이 디지털 콘텐츠 항목을 전송하고 따라서 제2 영역의 트래커 서비스 컴퓨터들로 송신되는 원격 측정 데이터의 처리율이 감소되는 경우, CMS 컴퓨터는 처리율의 감소를 식별하고 그에 응답하여 제2 영역의 원격 측정 데이터의 처리율을 증가시키기 위해 제1 영역에 할당된 트래커 서비스 컴퓨터들의 자원들을 제2 영역의 트래커 서비스 컴퓨터들로 넘기도록 구성될 수 있다. 예시된 실시예에서, 간단함을 위해, 트래커 서비스 컴퓨터(112)는 피어 컴퓨터(101)에 연결되어 있지만, 트래커 서비스 컴퓨터가 P2P 네트워크(102)의 피어 컴퓨터들 중 일부 또는 전부에 연결할 수 있다는 것을 잘 알 것이다. 일부 실시예들에서, 트래커 서비스 컴퓨터가 CMS 컴퓨터와 통합되어 있을 수 있다. 일부 실시예들에서, 원격 측정 데이터가 트래커 서비스를 우회할 수 있고, CMS 컴퓨터에 직접 피드될 수 있다. 이 경우에, 트래커 서비스는 이어서 푸시(push)될 수 있거나 CMS 컴퓨터로부터 원격 측정 데이터를 풀링(pull)할 수 있다. 일부 실시예들에서, 트래커 서비스가 생략될 수 있다.
CMS 컴퓨터(110)는, 각각의 피어 컴퓨터의 동작을 모니터링하기 위해서는 물론, P2P 네트워크(102)의 일부 또는 전체의 동작을 모니터링하기 위해, 집계된 원격 측정 데이터의 피드백을 사용하도록 구성될 수 있다. 게다가, CMS 컴퓨터는 집계된 원격 측정 데이터로부터 피어 컴퓨터의 동작의 상태 또는 P2P 네트워크의 동작의 상태를 정량화하기 위해 다양한 메트릭들을 계산하거나 도출하도록 구성될 수 있다. CMS 컴퓨터는, 동작의 효율을 증가시키기 위해 또는 피어 컴퓨터 또는 P2P 네트워크의 상태(health)를 다른 방식으로 개선시키기 위해, 메트릭들에 기초하여 다양한 관리 동작들을 수행하도록 구성될 수 있다. 관리 동작들의 비제한적인 예들은 피어 컴퓨터에 대한 콘텐츠 배달 소스(content-delivery source)를 선택하는 것, 디지털 콘텐츠 항목의 전송을 위해 피어 컴퓨터들을 정합시키는 것, 디지털 콘텐츠 항목의 전송을 수정하는 완화 동작(mitigation operation)들을 수행하는 것, 피어 컴퓨터를 디지털 콘텐츠 항목을 전송하지 못하도록 격리시키는 것, P2P 네트워크에 참여하는 것에 대해 피어 컴퓨터에 보상하는 것, P2P 네트워크의 피어 컴퓨터들 간에 디지털 콘텐츠 항목의 의무적 전송(obligatory transfer)을 명령하는 것, 디지털 콘텐츠 항목을 게시(publish)하는 것, 및 디지털 콘텐츠 항목을 유효성 확인(validate)하는 것을 포함한다. CMS 컴퓨터에 의해 수행되는 관리 동작들은 도 3을 참조하여 이하에서 더 상세히 논의될 것이다.
일부 실시예들에서, 콘텐츠 배포 시스템(100)은 P2P 네트워크(102)를 지원 및/또는 보완하기 위해 데이터 소스로서 역할할 수 있는 CDN(content-delivery network) 컴퓨터(114)를 포함할 수 있다. CDN 컴퓨터는 P2P 네트워크의 피어 컴퓨터들 상의 전송에 이용가능한 디지털 콘텐츠 항목들 중 일부 또는 전부를 저장하도록 구성될 수 있다. 다시 말해, CDN 컴퓨터는 P2P 네트워크에 대한 미러(mirror) 또는 백업(backup)으로서 역할할 수 있다. 예시된 실시예에서, 간단함을 위해, CDN 컴퓨터(114)는 피어 컴퓨터(101)에 연결되어 있지만, CDN 컴퓨터가 P2P 네트워크(102)의 피어 컴퓨터들 중 일부 또는 전부에 연결할 수 있다는 것을 잘 알 것이다.
몇몇 경우들에 있어서, CDN 컴퓨터(114)는 디지털 콘텐츠 항목을 씨딩(seed)하는 부가의 소스일 수 있다. 예를 들어, P2P 네트워크는, 콘텐츠를 공유하는 많은 수의 피어 컴퓨터들로 인해, 종종 높은 콘텐츠 획득 속도를 제공할 수 있다. 그렇지만, P2P 네트워크에 디지털 콘텐츠 항목이 드물게 있는 경우, 콘텐츠 획득 시간이 상당히 증가할 수 있다. CDN 컴퓨터는 P2P 네트워크에서 디지털 콘텐츠 항목의 콘텐츠 획득 시간을 감소시키기 위해 드물게 있는 디지털 콘텐츠 항목을 제공할 수 있다. 더욱이, 몇몇 경우들에 있어서, CDN 컴퓨터는, 씨더(seeder)로서의 피어 참여에 관계없이, P2P 네트워크에서 미러링되는 모든 디지털 콘텐츠 항목들이 이용가능하다는 보장을 제공할 수 있다.
게다가, 몇몇 경우들에 있어서, CDN 컴퓨터(114)는 P2P 네트워크에서의 전송을 위해 아직 이용가능하지 않은 디지털 콘텐츠 항목의 소스일 수 있다. 예를 들어, 새로운 디지털 콘텐츠 항목이 제작될 때, 그 디지털 콘텐츠 항목은 CDN 컴퓨터에 의해 P2P 네트워크에 최초로 유입될 수 있다.
일부 실시예들에서, CDN 컴퓨터(114)는 디지털 콘텐츠 항목을 P2P 네트워크(102)의 상이한 피어 컴퓨터들에 제공할 수 있는 복수의 서버 컴퓨터들을 포함할 수 있다. 예를 들어, 상이한 CDN 서버 컴퓨터들은 디지털 콘텐츠 항목을 P2P 네트워크의 상이한 영역들(예컨대, 지리적 영역들) 내의 피어 컴퓨터들, 상이한 ISP들에 속하는 피어 컴퓨터들, 기타에 제공할 수 있다. 일부 실시예들에서, CDN 컴퓨터가 CMS 컴퓨터와 통합되어 있을 수 있다.
CMS 컴퓨터(110)는, 집계된 원격 측정 데이터로부터 도출되는 하나 이상의 메트릭들에 기초하여, P2P 네트워크(102)의 피어 컴퓨터가 피어 컴퓨터 또는 CDN 컴퓨터 중 어느 하나와 같은, 추천된 콘텐츠 소스로부터 디지털 콘텐츠 항목을 획득할 것을 추천하도록 구성될 수 있다. 몇몇 경우들에 있어서, CMS 컴퓨터는 배달되는 콘텐츠의 유형에 기초하여 콘텐츠 배달을 위한 소스를 선택하도록 구성될 수 있다. 예를 들어, 디지털 콘텐츠 항목이 P2P 공유에 적합하지 않을 수 있고, CMS 컴퓨터는 그 디지털 콘텐츠 항목을 피어 컴퓨터가 아니라 CDN 컴퓨터로부터 직접 획득하라고 피어 컴퓨터들에 지시할 수 있다. 하나의 특정의 예에서, P2P 네트워크에 있는 주어진 디지털 콘텐츠 항목이 손상된 경우, CMS 컴퓨터는 CDN 컴퓨터만이 주어진 디지털 콘텐츠 항목에 대한 만족스러운 콘텐츠 배달 소스라는 것을 모든 피어 컴퓨터들에 지시하도록 구성될 수 있다. 콘텐츠 이용가능성의 확률을 증가시킬 수 있는 CDN 컴퓨터를 구현하는 것 및 피어 컴퓨터들이 많은 콘텐츠 배달 소스들로부터 이득을 볼 수 있게 하는 P2P 네트워크를 오버레이(overlay)하는 것에 의해, CDN 비용이 완화될 수 있고, 디지털 콘텐츠 항목 획득 경험의 보장에 더 가까워질 수 있으며, 피어 처리율이 증가될 수 있다.
일부 실시예들에서, P2P 네트워크(102)의 각각의 피어 컴퓨터는 디지털 콘텐츠 항목을 획득할 때 우선순위 프로토콜(priority protocol)을 따르도록 구성될 수 있다. 예를 들어, 피어 컴퓨터는 먼저 콘텐츠 획득 요청을 컴퓨터 네트워크(104)를 통해 CMS 컴퓨터(110)로 송신할 수 있다. 콘텐츠 획득 요청은 디지털 콘텐츠 항목을 제공할 하나 이상의 추천된 콘텐츠 소스들에 대해 CMS 컴퓨터에 질의할 수 있다. 피어 컴퓨터가 적당한 기간 내에 CMS 컴퓨터로부터 콘텐츠 획득 요청에 대한 응답을 수신하지 않는 경우, 피어 컴퓨터는 디지털 콘텐츠 항목을 다운로드하라는 폴백 요청(fallback request)을 컴퓨터 네트워크를 통해 CDN 컴퓨터로 자동으로 송신하도록 구성될 수 있다. 일부 실시예들에서, 피어 컴퓨터는 언제 폴백 요청을 해야 하는지를 결정하는 논리를 포함할 수 있다. 예를 들어, 콘텐츠 획득 요청에 대한 응답이 수신되지 않고 조건이 만족되는 경우, 폴백 요청이 CDN 컴퓨터로 자동으로 송신될 수 있다. 예를 들어, 그 조건은 지정된 응답 시한(response time limit) 내에 콘텐츠 획득 요청에 대한 응답을 수신하지 않는 것, 지정된 다운로드 시작 시한(download-commencement time limit) 내에 디지털 콘텐츠 항목을 다운로드하기 시작하지 않는 것, 지정된 다운로드 완료 시한(download-completion time limit) 내에 디지털 콘텐츠 항목의 다운로드를 완료하지 않는 것, 문턱 처리율(threshold throughput)을 초과하여 디지털 콘텐츠 항목을 다운로드하지 않는 것, 또는 다운로드 테스트 기간 동안 문턱 처리율을 초과하여 디지털 콘텐츠 항목을 다운로드하지 않는 것을 포함할 수 있다. CDN이 요청에 응답하지 않는 경우, 피어 컴퓨터는 꼭 가장 적합한 것(best match)일 필요는 없는 또는 임의로 선택될 수 있는 주어진 피어로 요청을 송신하도록 구성될 수 있다. 앞서 기술한 통신 프로토콜을 따르는 것에 의해, CMS 컴퓨터가 콘텐츠 배달 소스에 대한 지능적 추천을 제공하는데 이용가능하지 않더라도, P2P 네트워크의 피어 컴퓨터들은 만족스러운 콘텐츠 획득 경험을 제공받을 수 있다.
일부 실시예들에서, 피어 컴퓨터(101)는 디지털 콘텐츠 항목을 획득하려고 시도할 때 로컬 및 원격 소스들을 포함하는 소스 선택 프로토콜을 따를 수 있다. 예를 들어, 피어 컴퓨터는 복수의 조각들을 가지는 디지털 콘텐츠 항목의 부분들을 저장하는 복수의 소스들을 식별하도록 구성될 수 있다. 소스들은 로컬 저장 머신들[예컨대, 광 디스크, 정상 상태 저장소(steady-state storage), 로컬 네트워크 저장소 등] 및 P2P 네트워크의 다른 피어 컴퓨터들을 포함할 수 있다. 로컬 저장 머신들의 경우, 피어 컴퓨터는 디지털 콘텐츠 항목의 부분들이 있는지 각각의 로컬 저장 머신을 스캔할 수 있다. 다른 피어 컴퓨터들의 경우, 피어 컴퓨터는 디지털 콘텐츠 항목의 일부분을 가지는 피어 컴퓨터들을 식별하기 위해 CMS 컴퓨터에 질의할 수 있다. 게다가 피어 컴퓨터는, 디지털 콘텐츠 항목의 각각의 조각에 대해, 하나 이상의 다운로드 메트릭들에 기초하여 소스를 선택하고 선택된 소스로부터 그 조각을 다운로드하도록 구성될 수 있다. 예를 들어, 다운로드 메트릭들은 가장 빠른 다운로드 속도, 가장 낮은 획득 비용, 가장 낮은 자원 사용 레벨, 가장 낮은 에너지 사용 레벨, 가장 낮은 사용자 경험 혼란 레벨(user experience disruption level), 자원의 이용가능성, 임의의 다른 적당한 제약조건, 및/또는 다른 적당한 메트릭들을 포함할 수 있다. 게다가, 몇몇 경우들에 있어서, 다운로드 메트릭은 디지털 콘텐츠 항목의 조각을 다운로드하는 것이 가능할 때 P2P 네트워크 상의 하나 이상의 로컬 저장 머신들을 선택할 수 있다. 피어 컴퓨터는 디지털 콘텐츠 항목으로서 피어 컴퓨터 상에 설치하기 위해 다운로드된 조각들을 정리(organize)하도록 구성될 수 있다.
일부 실시예들에서, CMS 컴퓨터(110)는 배포를 위한 특정의 디지털 콘텐츠 항목들을 획득하는 배포 허브 또는 가상 CDN으로서 역할하라고 P2P 네트워크(102)의 피어 컴퓨터들에 명령할 수 있다. 예를 들어, CMS 컴퓨터는 디지털 콘텐츠 항목을 획득하라고 피어 컴퓨터에 명령하고 이어서 디지털 콘텐츠 항목을 획득하기 위해 다른 피어 컴퓨터들을 그 피어 컴퓨터로 보내도록 구성될 수 있다. 게다가, CMS 컴퓨터는 디지털 콘텐츠 항목을 삭제하라고 피어 컴퓨터에 명령하도록 구성될 수 있다. 일부 실시예들에서, CMS 컴퓨터는, P2P 네트워크 전체에 걸쳐 신속하게 획득될 수 있는 디지털 콘텐츠 항목들의 이용가능성을 용이하게 하기 위해, P2P 네트워크(102) 전체에 걸쳐(예컨대, 상이한 영역들에서) 배포 허브들로서 설정된 복수의 피어 컴퓨터들을 제어하도록 구성될 수 있다.
일부 실시예들에서, 배포 허브로서 설정되는 피어 컴퓨터는 사용자 제어 부분(user-controlled portion) 및 서비스 제어 부분(service-controlled portion)으로 파티셔닝되어 있는 로컬 저장 머신을 포함할 수 있다. 자발적으로(또는 능동적으로) 획득될 수 있는 디지털 콘텐츠 항목들은 로컬 저장 머신의 사용자 제어 부분에 저장될 수 있다. CMS 컴퓨터로부터의 명령에 기초하여 의무적으로(또는 수동적으로) 획득되는 디지털 콘텐츠 항목들은 로컬 저장 머신의 서비스 제어 부분에 저장될 수 있다. 일반적으로, P2P 네트워크의 피어 컴퓨터들은 디지털 콘텐츠 항목들을 공유하기 위해 PULL 전략에 따라 동작할 수 있다. 상세하게는, 피어 컴퓨터는, 그 피어 컴퓨터가 디지털 콘텐츠 항목을 수신하기 위해, 소스에 디지털 콘텐츠 항목을 제공하라고 요청한다. PULL 전략에 따르면, CMS 컴퓨터는, 디지털 콘텐츠 항목이 요청측 피어 컴퓨터로 배포되기 위해, 디지털 콘텐츠 항목을 제공하라는 요청을 가상 배포 허브로서 역할하는 피어 컴퓨터로 송신하라고 피어 컴퓨터에 명령할 수 있다. 마찬가지로, CMS 컴퓨터는, 가상 배포 허브로서 역할하는 피어 컴퓨터가 디지털 콘텐츠 항목을 수신하기 위해, 디지털 콘텐츠 항목을 제공하라는 요청을 다른 피어 컴퓨터로 송신하라고 가상 배포 허브로서 역할하는 피어 컴퓨터에 명령할 수 있다. 게다가, 일부 실시예에서, 피어 컴퓨터들은 디지털 콘텐츠 항목을 공유하기 위해 PUSH 전략에 따라 추가로 동작할 수 있다. 예를 들어, CMS 컴퓨터는 디지털 콘텐츠 항목을 배포하기 위해 디지털 콘텐츠 항목을 다른 지정된 피어 컴퓨터로 업로드하라고 피어 컴퓨터에 명령할 수 있다.
일부 실시예들에서, P2P 네트워크(102)는 피어 컴퓨터의 참여가 CMS 컴퓨터(110)에 의해 수행되는 인증, 멤버쉽, 또는 가입(affiliation) 프로세스를 통해 통제될 수 있는 사설 또는 제한된 P2P 네트워크(private or restricted P2P network)일 수 있다. 게다가, 사설 P2P 네트워크의 피어 컴퓨터들은 사설 P2P 네트워크와 연관되어 있는 큐레이션된 디지털 콘텐츠 항목(curated digital content item)들을 저장하고 전송할 수 있다. 큐레이션된 디지털 콘텐츠 항목들은 사설 P2P 네트워크 전체에 걸쳐 배포하기에 적당한 것으로 CMS 컴퓨터에 의해 검증된 디지털 콘텐츠 항목일 수 있다. 예를 들어, 큐레이션된 디지털 콘텐츠 항목은 호환 포맷을 가지는 것으로 또는 사설 P2P 네트워크의 일련의 규칙들을 준수하는 것으로 CMS 컴퓨터에 의해 검증될 수 있다. 하나의 예에서, CMS 컴퓨터는, 주어진 디지털 콘텐츠 항목의 고유 식별자를 큐레이션된 디지털 콘텐츠 항목의 고유 식별자의 인증된 기록과 비교하는 것에 의해, 큐레이션된 디지털 콘텐츠 항목을 검증한다. 일부 실시예들에서, 큐레이션된 디지털 콘텐츠 항목은, 디지털 콘텐츠 항목이 사설 P2P 네트워크의 적절한 복호화 키를 사용해서만 이용될 수 있도록 또는 사설 P2P 네트워크의 피어 컴퓨터들에 의해서만 액세스될 수 있도록, 디지털적으로 암호화될 수 있다.
일부 실시예들에서, 사설 P2P 네트워크(102)는 특정의 유형의 컴퓨터와 연관되어 있을 수 있다. 예를 들어, 사설 P2P 네트워크는 게임 콘솔과 연관되어 있을 수 있고, 사설 P2P 네트워크에의 액세스는 게임 콘솔을 통해서만 이용가능할 수 있다. 이 유형의 제약은 콘텐츠 획득 속도를 게임 콘솔의 연결 속도로 제한할 수 있다. 이 예에서, 큐레이션된 디지털 콘텐츠는 게임 콘솔과 연관된 게임, 게임 업데이트, 다운로드가능 콘텐츠, 또는 운영 체제 업데이트를 포함할 수 있다. 이러한 큐레이션된 콘텐츠는 사설 P2P 네트워크 전체에 걸쳐 배포하기 위해 게임 콘솔의 제조업체 또는 써드 파티(third-party)에 의해 게시될 수 있다.
몇몇 경우들에 있어서, 큐레이션된 디지털 콘텐츠 항목은 피어 컴퓨터가 CDN 컴퓨터(114) 또는 다른 외부 또는 비가입 컴퓨터로부터 큐레이션된 디지털 콘텐츠 항목을 자발적으로 획득하는 것을 통해 사설 P2P 네트워크에 들어갈 수 있다. 몇몇 경우들에 있어서, 큐레이션된 디지털 콘텐츠 항목은, 큐레이션된 디지털 콘텐츠 항목을 다른 피어 컴퓨터들로 의무적으로 씨딩하는 피어 컴퓨터로의 목적이 있는 제어된 롤아웃(purposeful, controlled rollout)을 통하는 등에 의해, 사설 P2P 네트워크 전체에 걸쳐 배포하기 위해 CMS 컴퓨터에 의해 게시될 수 있다. 어떤 조건들 하에서, 시간 및 비용의 면에서 큐레이션된 디지털 콘텐츠 항목을 사설 P2P 네트워크 내로 신속하게 씨딩하는 것이 어려울 수 있다. 예를 들어, 큐레이션된 디지털 콘텐츠 항목의 이용가능성이 큐레이션된 디지털 콘텐츠 항목을 요청하는 피어 컴퓨터가 큐(queue)에서 기다리는 일 없이 그를 획득할 수 있을 정도로 충분히 높도록 큐레이션된 디지털 콘텐츠 항목이 충분한 피어 컴퓨터들에 의해 다운로드되는 데 상당한 양의 시간이 걸릴 수 있다. 더욱이, CMS 컴퓨터에 의해 조정되는 목적이 있는 씨딩(purposeful seeding)은 P2P 네트워크의 자원들을 사용할 수 있다.
그에 따라, 일부 실시예들에서, CMS 컴퓨터(110)는 사설 P2P 네트워크(102)에서 사용하도록 의도되어 있는 큐레이션된 디지털 콘텐츠 항목을 공용 P2P 네트워크(public P2P network)(116)에 게시하도록 구성될 수 있다. 공용 P2P 네트워크는 디지털 콘텐츠 항목들을 공용 P2P 네트워크의 다른 피어 컴퓨터들로 직접 전송하도록 구성된 복수의 피어 컴퓨터들을 포함할 수 있다. 공용 P2P 네트워크는, 피어 컴퓨터가 인증, 멤버쉽, 또는 가입 프로세스 없이 공용 P2P 네트워크에 참여할 수 있다는 점에서, 사설 P2P 네트워크와 상이할 수 있다. 전형적으로, 공용 P2P 네트워크는 사설 P2P 네트워크보다 더 크고 더 다양(예컨대, 상이한 유형의 컴퓨터들)할 수 있다. 그렇지만, 사설 P2P 네트워크 및 공용 P2P 네트워크가 임의의 적당한 수의 피어 컴퓨터들을 포함할 수 있다는 것을 잘 알 것이다. 게다가, 공용 P2P 네트워크의 피어 컴퓨터들은, 큐레이션된 디지털 콘텐츠 항목들에 부가하여, CMS 컴퓨터에 의해 큐레이션되지 않은 디지털 콘텐츠 항목들을 전송할 수 있다. 큐레이션되지 않은 디지털 콘텐츠 항목들은 유효성 확인 없이 피어 컴퓨터들 사이에서 전송될 수 있다.
큐레이션된 디지털 콘텐츠 항목은 공용 P2P 네트워크(116)를 통해 피어 컴퓨터들에 자발적으로 배포될 수 있다. 공용 P2P 네트워크에의 참여에 대한 제약이 없기 때문에, 사설 P2P 네트워크(102)의 피어 컴퓨터는 공용 P2P 네트워크의 피어 컴퓨터로부터 큐레이션된 디지털 콘텐츠 항목을 획득할 수 있다. 큐레이션된 디지털 콘텐츠 항목을 획득한 것에 응답하여, 사설 P2P 네트워크의 피어 컴퓨터는 피어 컴퓨터가 큐레이션된 디지털 콘텐츠 항목을 획득했다는 것을 나타내는 보고를 CMS 컴퓨터(110)로 송신하고, CMS 컴퓨터는 큐레이션된 디지털 콘텐츠 항목을 유효성 확인할 수 있다. 큐레이션된 디지털 콘텐츠 항목의 CMS 컴퓨터에 의한 성공적인 유효성 확인에 응답하여, 큐레이션된 디지털 콘텐츠 항목은 사설 P2P 네트워크 내에서 전송하기 위해 CMS 컴퓨터에 의해 이용가능하게 될 수 있다.
일부 실시예들에서, CMS 컴퓨터(110)는 큐레이션된 디지털 콘텐츠 항목을 공용 P2P 네트워크(116)로부터 획득한 비가입 피어 컴퓨터를 식별하도록 구성될 수 있다. 비가입 피어 컴퓨터는 사설 P2P 네트워크에 가입되지 않은 피어 컴퓨터일 수 있다. CMS 컴퓨터는, 큐레이션된 디지털 콘텐츠 항목을 사설 P2P 네트워크 내에 추가로 씨딩하기 위해, 큐레이션된 디지털 콘텐츠를 비가입 피어 컴퓨터로부터 다운로드하라는 명령을 큐레이션된 디지털 콘텐츠 항목을 갖지 않는 사설 P2P 네트워크(102)의 피어 컴퓨터로 송신하도록 추가로 구성될 수 있다.
큐레이션된 디지털 콘텐츠 항목을 공용 P2P 네트워크에 게시하는 것에 의해, 큐레이션된 디지털 콘텐츠 항목을 씨딩하기 위해, 인증, 멤버쉽, 가입, 위치, 디바이스 등에 관계없이, 임의의 이용가능한 피어 컴퓨터가 사용될 수 있다. 이러한 방식으로, 사설 P2P 네트워크의 자원들을 사용함이 없이, 디지털 콘텐츠 항목의 이용가능성이 신속하게 증가될 수 있다. 더욱이, 공용 P2P 네트워크가 아무런 제약도 갖지 않기 때문에, 사설 P2P 네트워크의 피어 컴퓨터가 공용 P2P 네트워크의 피어 컴퓨터로부터 큐레이션된 디지털 콘텐츠 항목을 다운로드할 수 있다.
게다가, 일부 실시예에서, CMS 컴퓨터(110)는, 큐레이션된 디지털 콘텐츠 항목이 사설 P2P 네트워크(102)에 이용가능하게 되기 전에 큐레이션된 디지털 콘텐츠 항목을 공용 P2P 네트워크(116)에 게시하는 것에 의해, 큐레이션된 디지털 콘텐츠 항목을 사전 씨딩(pre-seed)하도록 구성될 수 있다. 이러한 방식으로, 큐레이션된 디지털 콘텐츠 항목의 사설 P2P 네트워크로의 롤아웃 시에 씨딩을 위해 큐레이션된 디지털 콘텐츠 항목이 보조 피어 컴퓨터들에서 이용가능할 수 있다.
예시된 실시예에서, 피어 컴퓨터(101)는 공용 P2P 네트워크(116) 및 사설 P2P 네트워크(102) 둘 다의 구성원(member)인 것으로 도시되어 있다. 그렇지만, 공용 P2P 네트워크의 모든 피어 컴퓨터들이 사설 P2P 네트워크의 모든 피어 컴퓨터들과 직접 연결할 필요가 없다는 것을 잘 알 것이다. 게다가, 비록 도시되어 있지는 않지만, 다른 피어 컴퓨터들이 공용 P2P 네트워크(116) 및 사설 P2P 네트워크(102) 둘 다의 구성원일 수 있다는 것을 잘 알 것이다.
도 2는 본 개시 내용의 일 실시예에 따른, 디지털 콘텐츠 항목(200)을 도시한 것이다. 디지털 콘텐츠 항목(200)은 콘텐츠 데이터(202) 및 콘텐츠 데이터(202)를 식별해주는 고유의 콘텐츠 식별자(204)를 포함할 수 있다.
일부 실시예들에서, 고유의 콘텐츠 식별자(204)는 디지털 암호화 코드와 같은 디지털 저작권 관리 보호 메커니즘을 포함할 수 있다. 게다가, 콘텐츠 배포 시스템에서의 상이한 컴퓨터들은 콘텐츠 데이터(202)에 액세스하기 위해 적절한 복호화 키를 가질 수 있다. 하나의 예에서, 사설 P2P 네트워크의 피어 컴퓨터들은 디지털 콘텐츠 항목에 액세스하거나 그를 사용하기 위해 적절한 복호화 키를 보유할 수 있고, 비가입 피어 컴퓨터들은 적절한 복호화 키를 보유하지 않을 수 있고, 따라서 디지털 콘텐츠 항목에 액세스할 수 없다. 다른 예에서, CMS 컴퓨터는 디지털 콘텐츠 항목에 액세스하기 위해 적절한 복호화 키를 보유할 수 있고, 가상 배포 허브로서 지정된 피어 컴퓨터들은 적절한 복호화 키를 보유하지 않을 수 있으며, 따라서 디지털 콘텐츠 항목에 액세스할 수 없다. 본 개시 내용의 범주를 벗어남이 없이 디지털 콘텐츠 항목에의 액세스를 보호하기 위해 임의의 적당한 디지털 저작권 보호 패러다임이 구현될 수 있다는 것을 잘 알 것이다.
몇몇 경우들에 있어서, 디지털 콘텐츠 항목(200)은 복수의 조각들(200A 내지 200D)을 포함할 수 있다. 도시된 예에서, 각각의 조각은 콘텐츠 데이터의 조각 및 고유 식별자를 포함할 수 있다. 콘텐츠 데이터(202)는 콘텐츠 데이터 조각들(202A 내지 202D)을 포함할 수 있다. 각각의 조각은 선택적으로 고유의 콘텐츠 식별자와 패키징될 수 있고, 고유의 콘텐츠 식별자는 선택적으로, 디지털 콘텐츠 항목을 전체로서 식별해주는 식별자에 대한 보충물로서, 그 특정의 조각을 추가로 식별해주는 식별자[예컨대, 고유의 콘텐츠 식별자들(204A 내지 204D)]를 포함할 수 있다. 다른 예로서, 각각의 조각은 개별적인 고유 식별자를 가질 수 있다.
디지털 콘텐츠 항목(200)의 조각들 중 일부 또는 전부가 P2P 네트워크의 피어 컴퓨터들(또는 다른 소스) 간의 전송을 위해 이용가능할 수 있다. 다시 말해, 특정의 콘텐츠 항목을 다운로드할 때, 피어 컴퓨터는 상이한 소스들로부터 디지털 콘텐츠 항목의 상이한 조각들을 수신할 수 있다. 디지털 콘텐츠 항목(200)은 동일한 또는 상이한 콘텐츠 소스들로부터 병렬로 및/또는 직렬로 개별적인 조각들로서 다운로드될 수 있다. 조각들(200A 내지 200D)은 모두 모여서 콘텐츠 데이터(202)를 구성하고, 디지털 콘텐츠 항목(200)을 형성하기 위해 다운로드 동안 및/또는 다운로드 후에 재조립될 수 있다. 예시된 예에서 네 개의 조각들이 도시되어 있지만, 디지털 콘텐츠 항목의 콘텐츠 데이터가 각종의 상이한 제약조건들에 따라 임의의 수의 부분들로 파싱될 수 있다는 것을 잘 알 것이다. 어떤 예들에서, 각각의 부분은 동일한 크기일 수 있는 반면, 다른 예들에서, 어떤 부분들은 다른 부분들과 상이한 크기로 되어 있을 수 있다. 어느 경우든지, 각각의 조각은 그 조각의 크기를 자체적으로 보고하는 자체 식별 요소(self-identifying element)와 패키징될 수 있다. 일부 실시예들에서, 이러한 자체 식별 요소는 선택적으로 콘텐츠 식별자에 포함될 수 있다.
용어 "디지털 콘텐츠 항목"이, 본 명세서에서 사용되는 바와 같이, 디지털 콘텐츠 항목의 임의의 단일 조각, 디지털 콘텐츠 항목의 전부가 아닌 일부분을 구성하는 디지털 콘텐츠 항목의 복수의 조각들, 또는 디지털 콘텐츠 항목 전체를 지칭할 수 있다는 것을 잘 알 것이다. 예를 들어, 디지털 콘텐츠 항목을 전송하는 것은 디지털 콘텐츠 항목의 한 조각만을 전송하는 것 또는 디지털 콘텐츠 항목 전체를 전송하는 것을 지칭할 수 있다.
도 3은 본 개시 내용의 일 실시예에 따른, CMS 컴퓨터(300)의 소프트웨어 아키텍처 다이어그램을 도시한 것이다. 예를 들어, CMS 컴퓨터(300)는 도 1에 도시된 콘텐츠 배포 시스템(100)에서의 CMS 컴퓨터(110)로서 이용될 수 있다. CMS 컴퓨터(300)는 P2P 네트워크의 복수의 피어 컴퓨터들로부터의 집계된 원격 측정 데이터(302), 집계된 원격 측정 데이터로부터 도출되는 복수의 메트릭들(304), 및 복수의 메트릭들 중 하나 이상에 따라 수행될 수 있는 복수의 관리 동작들(314)을 포함할 수 있다.
집계된 원격 측정 데이터(302)는 P2P 네트워크의 개별 피어 컴퓨터에 관한 정보를 제공할 수 있다. 예를 들어, 피어 컴퓨터는 피어 컴퓨터의 식별자, 인트라넷 네트워크 식별자, 연관된 ISP, 연관된 위치 또는 지역, 네트워크 유형은 물론, 피어 컴퓨터의 위치 및 연결에 관한 기타 정보를 포함하는 원격 측정 데이터를 CMS 컴퓨터(300)에 보고할 수 있다. 보다 상세하게는, 집계된 원격 측정 데이터는, 다운로드 및 업로드를 위한 대역폭 범위, 비트 캡(bit-cap), 동작 국가 등과 같은, P2P 네트워크의 피어 컴퓨터들 또는 다른 비가입 피어 컴퓨터들의 ISP들의 정책들에 관한 정보를 포함할 수 있다. 게다가, 피어 컴퓨터의 원격 측정 데이터는 로컬적으로 액세스가능한 처리 자원들, 로컬적으로 액세스가능한 주변 기계들, 로컬적으로 액세스가능한 저장 머신들, 로컬적으로 호스팅되는 디지털 콘텐츠 항목들의 목록, 및 피어 컴퓨터의 기타 식별 정보를 포함할 수 있다.
더욱이, 원격 측정 데이터는 피어 컴퓨터의 동작들에 관한 정보를 제공할 수 있다. 예를 들어, 피어 컴퓨터는, 디지털 콘텐츠 항목을 전송하거나 디지털 콘텐츠 항목을 전송하려고 시도한 후에, 원격 측정 데이터를 CMS 컴퓨터에 보고할 수 있다. 다운로드와 관련된 원격 측정 데이터는 어느 디지털 콘텐츠 항목들이 다운로드되었거나 다운로드되는 중인지 그리고 어느 소스로부터 다운로드되었거나 다운로드되는 중인지를 포함할 수 있다. 업로드와 관련된 원격 측정 데이터는 어느 디지털 콘텐츠 항목들이 업로드되었거나 업로드되는 중인지 그리고 어느 수신자로 업로드되었거나 업로드되는 중인지를 포함할 수 있다. 원격 측정 데이터는 시작 시간 및 중지 시간을 비롯한 이러한 이벤트들의 타임스탬프들, 현재 처리율, 현재 대역폭, 현재 레이턴시, 현재 이용가능성, 현재 혼잡도, 전송 오류, 및 피어 컴퓨터의 현재 동작들을 기술하는 기타 정보를 추가로 포함할 수 있다. 일부 실시예들에서, 원격 측정 데이터는 리칭 및 씨딩을 추적하는 참여 통계를 포함할 수 있다. 일부 실시예들에서, 참여 통계는 콘텐츠 카테고리(예컨대, 콘텐츠 유형, 제목, 장르 등)별로 추적될 수 있다.
그에 부가하여, 피어 컴퓨터는 다른 피어 컴퓨터에 관한 정보를 CMS 컴퓨터(300)에 보고할 수 있다. 그 정보는 다른 피어 컴퓨터와의 상호작용들로부터 생성될 수 있다. 예를 들어, 피어 컴퓨터는 다른 피어 컴퓨터의 이용가능성 또는 다른 피어 컴퓨터가 응답하지 않는다는 것을 CMS 컴퓨터에 보고할 수 있다. 게다가, 피어 컴퓨터는 다른 피어 컴퓨터의 업로드 처리율 또는 전송 속도를 CMS 컴퓨터에 보고할 수 있다. 다른 예로서, 피어 컴퓨터는 피어 컴퓨터가 요청된 디지털 콘텐츠 항목의 디지털 서명 또는 고유 식별자와 일치하지 않는 디지털 콘텐츠의 조각을 반환했다는 것을 CMS 컴퓨터에 보고할 수 있다. 또 다른 예로서, 피어 컴퓨터는 다른 피어 컴퓨터가 디지털 콘텐츠 항목의 전송 동안 반복하여 연결 해제(disconnect)된다는 것을 CMS 컴퓨터에 보고할 수 있다.
CMS 컴퓨터는 피어 컴퓨터에 대한 이력적(historical) 데이터를 작성(formulate)하기 위해 시간에 따라 P2P 컴퓨터에 대한 원격 측정 데이터를 집계할 수 있다. 예를 들어, 집계된 원격 측정 데이터는 이력적 사용 패턴, 이력적 이용가능성, 이력적 처리율, 이력적 대역폭, 이력적 레이턴시, 이력적 혼잡도, 이력적 전송 오류, 및 피어 컴퓨터의 이전 동작들을 기술하는 기타 정보를 포함할 수 있다. 몇몇 경우들에 있어서, 이력적 데이터는 피어 컴퓨터의 장래 동작들을 예측하기 위해 CMS 컴퓨터에 의해 사용될 수 있다.
게다가, 집계된 원격 측정 데이터(302)는 P2P 네트워크의 일부 또는 전부에 관한 정보를 제공할 수 있다. 예를 들어, 집계된 원격 측정 데이터는 어느 피어 컴퓨터들이 어느 디지털 콘텐츠 항목들을 가지고 있는지를 나타내는 목록, 각각의 디지털 콘텐츠 항목의 이용가능성[예컨대, 희귀성 최고(most rare), 희귀성 최저(least rare)], 각각의 디지털 콘텐츠 항목의 다운로드 빈도(예컨대, 가장 많이 다운로드됨) P2P 네트워크의 일부 또는 전부의 현재 처리율, P2P 네트워크의 일부 또는 전부의 현재 대역폭, P2P 네트워크의 일부 또는 전부의 현재 레이턴시, 영역 내의 피어들의 현재 이용가능성, 및 P2P 네트워크의 일부 또는 전부에 관한 기타 전반적 정보를 포함할 수 있다.
CMS 컴퓨터는 P2P 네트워크에 대한 이력적 데이터를 작성하기 위해 시간에 따라 P2P 네트워크에 대한 원격 측정 데이터를 집계할 수 있다. 예를 들어, 집계된 원격 측정 데이터는 P2P 네트워크의 일부 또는 전부의 이력적 사용 패턴, P2P 네트워크의 일부 또는 전부의 이력적 이용가능성, P2P 네트워크의 일부 또는 전부의 이력적 처리율, P2P 네트워크의 일부 또는 전부의 이력적 대역폭, P2P 네트워크의 일부 또는 전부의 이력적 레이턴시, P2P 네트워크의 일부 또는 전부의 이력적 혼잡도, P2P 네트워크의 일부 또는 전부의 이력적 전송 오류, 및 P2P 네트워크의 일부 또는 전부의 이전 동작들을 기술하는 기타 정보를 포함할 수 있다.
CMS 컴퓨터(300)는 집계된 원격 측정 데이터(302)로부터 도출될 수 있는 복수의 메트릭들(304)을 포함할 수 있다. 복수의 메트릭들(304) 각각은 피어 컴퓨터의 동작의 상태 또는 P2P 네트워크의 일부 또는 전부의 동작의 상태를 정량화할 수 있다. CMS 컴퓨터는 관리 동작들(314)을 수행할지를 평가하기 위해 메트릭들 중 하나 이상을 사용할 수 있다. 몇몇 경우들에 있어서, CMS 컴퓨터는 관리 동작을 수행할지 여부를 결정하기 위해 또는 어느 관리 동작을 수행할지를 결정하기 위해 하나 이상의 메트릭들을 하나 이상의 다른 메트릭들에 비해 가중시킬 수 있다. 메트릭에서 결정을 하는데 사용되는 원격 측정 데이터가 모두 보고될 필요가 있는 것은 아님을 잘 알 것이다. 몇몇 경우들에 있어서, 원격 측정 데이터가 보고된 원격 측정 데이터로부터 도출되거나, 보고에 관계없이 획득될 수 있다. 복수의 메트릭들(304)은 선택 메트릭들(306), 상태 메트릭(health metric)들(308), 참여 메트릭들(310), 및 안정성 메트릭들(312)을 포함할 수 있다.
CMS 컴퓨터(300)는 디지털 콘텐츠 항목의 전송을 위한 피어 컴퓨터들을 정합시키기 위해 하나 이상의 선택 메트릭들(306)을 적용하도록 구성될 수 있다. 다시 말해, CMS 컴퓨터는 하나 이상의 선택 메트릭들에 따라 P2P 네트워크의 피어 컴퓨터를 추천된 콘텐츠 소스로서 식별하도록 구성될 수 있다. 게다가, CMS 컴퓨터는 선택 메트릭들에 따라 CDN 컴퓨터를 추천된 콘텐츠 소스로서 선택하도록 구성될 수 있다. CMS 컴퓨터가 콘텐츠 획득 요청에 응답할 때 임의의 적당한 수의 소스들을 추천된 콘텐츠 소스들로서 선택할 수 있다는 것을 잘 알 것이다. 예를 들어, CMS 컴퓨터는 요청측 피어 컴퓨터 또는 P2P 네트워크의 정합 기준들에 따라 정렬되어 있는 복수의 추천된 소스들을 포함하는 응답을 송신할 수 있다. 복수의 추천된 소스들 각각은 디지털 콘텐츠 항목의 일부 또는 전부를 가질 수 있다. 몇몇 경우들에 있어서, 소스들이 추천되는 순서는 그 소스가 디지털 콘텐츠 항목의 어느 부분을 가질 수 있는지 또는 디지털 콘텐츠 항목을 얼마만큼 가질 수 있는지에 의존할 수 있다.
몇몇 경우들에 있어서, 선택 메트릭들은 피어 컴퓨터의 관심사 또는 상태에 관한 것일 수 있다. 예를 들어, 선택 메트릭들은 어느 이용가능한 피어 컴퓨터가 디지털 콘텐츠 항목을 비용이 가장 적게 드는 방식으로 제공할 수 있는지를 판정할 수 있다. 비용은 금전, 시간, 자원, 에너지 소비, 사용자 경험 등의 면에서 계산될 수 있다. 일부 실시예들에서, 이러한 상이한 유형의 비용들은 선택 메트릭의 일부로서 사용자 기본 설정에 따라 순위 부여될 수 있다. 일부 실시예들에서, 선택 메트릭은 가장 적당한 피어 컴퓨터를 추천된 콘텐츠 소스로서 식별하는 선택 함수에서 가중되는 복수의 비용 인자들을 고려할 수 있다. 다른 예로서, 선택 메트릭들은, 이하에서 더 상세히 기술되는 안정성 메트릭들에 기초하여, 어느 이용가능한 피어 컴퓨터가 디지털 콘텐츠 항목을 가장 신뢰성있는 방식으로 제공할 수 있는지를 결정할 수 있다.
몇몇 경우들에 있어서, 선택 메트릭들은 P2P 네트워크의 일부 또는 전부의 관심사 또는 상태에 관한 것일 수 있다. 예를 들어, 선택 메트릭들은 P2P 네트워크의 일부에서 처리율을 관리하기 위해(예컨대, P2P 네트워크에서 핫스팟을 감소시키기 위해) 피어 컴퓨터를 추천된 콘텐츠 소스로서 선택할 수 있다. 부가의 선택 메트릭들은 이하에서 더 상세히 기술되는 상태 메트릭들을 포함할 수 있다.
선택 메트릭들의 다양한 예들이 본 명세서에 기술되어 있다. 일부 실시예들에서, 피어 선택 메트릭은, 이용가능한 피어 컴퓨터들의 현재 대역폭들에 기초하여, 디지털 콘텐츠 항목을 가지는 피어 컴퓨터를 추천된 콘텐츠 소스로서 선택할 수 있다. 예를 들어, 디지털 콘텐츠 항목을 업로드하는데 현재 이용가능하고 이용가능한 피어 컴퓨터들 중 가장 높은 현재 대역폭을 가지는 피어 컴퓨터가 추천된 콘텐츠 소스로서 식별될 수 있다.
일부 실시예들에서, 피어 선택 메트릭은, 이용가능한 피어 컴퓨터들의 현재 레이턴시들에 기초하여, 디지털 콘텐츠 항목을 가지는 피어 컴퓨터를 추천된 콘텐츠 소스로서 선택한다. 예를 들어, 디지털 콘텐츠 항목을 업로드하는데 현재 이용가능하고 이용가능한 피어 컴퓨터들 중 가장 낮은 현재 레이턴시를 가지는 피어 컴퓨터가 추천된 콘텐츠 소스로서 식별될 수 있다.
일부 실시예들에서, 피어 선택 메트릭은, 이력적 대역폭들에 기초하여, 디지털 콘텐츠 항목을 가지는 피어 컴퓨터를 추천된 콘텐츠 소스로서 선택한다. 예를 들어, 디지털 콘텐츠 항목을 업로드하는데 현재 이용가능하고 이용가능한 피어 컴퓨터들 중 가장 높은 이력적 대역폭을 가지는 피어 컴퓨터가 추천된 콘텐츠 소스로서 식별될 수 있다.
일부 실시예들에서, 피어 선택 메트릭은, 이력적 레이턴시들에 기초하여, 디지털 콘텐츠 항목을 가지는 피어 컴퓨터를 추천된 콘텐츠 소스로서 선택한다. 예를 들어, 디지털 콘텐츠 항목을 업로드하는데 현재 이용가능하고 이용가능한 피어 컴퓨터들 중 가장 낮은 이력적 레이턴시를 가지는 피어 컴퓨터가 추천된 콘텐츠 소스로서 식별될 수 있다.
일부 실시예들에서, 피어 선택 메트릭은, 이력적 사용 패턴들에 기초하여, 디지털 콘텐츠 항목을 가지는 피어 컴퓨터를 추천된 콘텐츠 소스로서 선택한다. 예를 들어, 디지털 콘텐츠 항목을 업로드하는데 현재 이용가능하고 피어 컴퓨터가 제1 디지털 콘텐츠 항목을 업로드하는데 이용가능하다는 것을 나타내는 이력적 사용 패턴을 가지는 피어 컴퓨터가 추천된 콘텐츠 소스로서 식별될 수 있다.
일부 실시예들에서, 피어 선택 메트릭은, ISP에 기초하여, 디지털 콘텐츠 항목을 가지는 피어 컴퓨터를 추천된 콘텐츠 소스로서 선택한다. 예를 들어, 요청측 피어 컴퓨터와 ISP를 공유하는 피어 컴퓨터가 추천된 콘텐츠 소스로서 식별될 수 있다.
일부 실시예들에서, 피어 선택 메트릭은, 인트라넷 네트워크에 기초하여, 디지털 콘텐츠 항목을 가지는 피어 컴퓨터를 추천된 콘텐츠 소스로서 선택한다. 예를 들어, 요청측 피어 컴퓨터가 연결되어 있는 인트라넷 네트워크에 연결된 피어 컴퓨터가 추천된 콘텐츠 소스로서 식별될 수 있다.
일부 실시예들에서, 디지털 콘텐츠 항목의 일부 또는 전부를 제공하는 하나 이상의 추천된 소스들을 식별하기 위해 선택 수식(selection formula)에서 다양한 선택 메트릭들 또는 정합 기준들이 가중될 수 있다. 더욱이, 임의의 적당한 수의 소스들이 선택 수식에 따라 가중되어 요청측 피어 컴퓨터에 추천될 수 있다. 디지털 콘텐츠 항목을 제공하는 하나 이상의 추천된 소스들을 선택하는 결정을 정보에 기반하여 행하기 위해, 임의의 적당한 수식, 알고리즘, 휴리스틱(heuristics), 퍼지 또는 기타 논리가 적용될 수 있다는 것을 잘 알 것이다.
CMS 컴퓨터(300)는 피어 컴퓨터 또는 P2P 네트워크의 일부 또는 전부의 효율, 안정성 또는 일반 상태(general health)를 향상시키기 위해 P2P 네트워크의 피어 컴퓨터들 간의 디지털 콘텐츠 항목의 전송을 수정하는 완화 동작들을 수행할지를 결정하기 위해 하나 이상의 상태 메트릭들(308)을 적용하도록 구성될 수 있다. 게다가, 상태 메트릭들이 피어 정합을 위한 선택 프로세스의 일부로서 적용될 수 있다.
선택 메트릭들 및 대응하는 완화 동작들의 다양한 예들이 본 명세서에 기술되어 있다. 일부 실시예들에서, 상태 메트릭은 문턱 수(threshold number)의 피어 컴퓨터들이 지정된 피어 컴퓨터에 디지털 콘텐츠 항목을 요청하는 것을 포함할 수 있고, 완화 동작은, 지정된 피어 컴퓨터의 요청측 피어 컴퓨터들의 수를 문턱 수 미만으로 감소시키기 위해, 지정된 피어 컴퓨터에 디지털 콘텐츠 항목을 요청하는 하나 이상의 피어 컴퓨터들을 다른 피어 컴퓨터에 디지털 콘텐츠 항목을 요청하도록 리디렉션하는 것을 포함할 수 있다.
일부 실시예들에서, 상태 메트릭은 P2P 네트워크의 한 영역의 문턱 처리율(threshold throughput)을 포함할 수 있고, 완화 동작은, 그 영역의 처리율을 문턱 처리율 초과로 증가시키기 위해, 그 영역에 있는 하나 이상의 피어 컴퓨터들에 디지털 콘텐츠 항목을 요청하는 하나 이상의 피어 컴퓨터들을 그 영역 밖에 있는 다른 피어 컴퓨터에 디지털 콘텐츠 항목을 요청하도록 리디렉션하는 것을 포함할 수 있다.
일부 실시예들에서, 상태 메트릭은 P2P 네트워크의 피어 컴퓨터의 업로드 횟수와 다운로드 횟수의 문턱 차이(threshold difference)를 포함할 수 있고, 완화 동작은 피어 컴퓨터의 업로드 횟수와 다운로드 횟수 사이의 차이를 문턱 차이 초과로 증가시키기 위해 다운로드 횟수를 감소시키는 것을 포함할 수 있다.
일부 실시예들에서, 상태 메트릭은 디지털 콘텐츠 항목의 문턱 이용가능성(threshold availability)을 포함할 수 있고, 완화 동작은, 디지털 콘텐츠 항목의 이용가능성을 문턱 이용가능성 초과로 증가시키기 위해, 디지털 콘텐츠 항목을 가지는 하나 이상의 피어 컴퓨터들에 디지털 콘텐츠 항목을 P2P 네트워크 내의 하나 이상의 다른 피어 컴퓨터들로 업로드하라고 명령하는 것을 포함할 수 있다. PULL 전송 전략을 이용하는 실시예들에서, CMS 컴퓨터는, 디지털 콘텐츠 항목의 이용가능성을 증가시키기 위해, 디지털 콘텐츠 항목을 요청측 피어 컴퓨터에 제공하라는 요청을 디지털 콘텐츠 항목을 가지는 피어 컴퓨터로 송신하라고 피어 컴퓨터에 명령할 수 있다.
일부 실시예들에서, CMS 컴퓨터는 악의적일 수 있거나 P2P 네트워크의 동작을 다른 방식으로 방해하고 있는 피어 컴퓨터들을 식별하기 위해 상태 메트릭들을 사용할 수 있으며, 따라서 CMS 컴퓨터는, 악의적 피어 컴퓨터가 디지털 콘텐츠 항목을 전송하지 못하도록 격리시키는 것과 같은, 악의적 피어 컴퓨터를 처리하는 완화 동작들을 수행할 수 있다.
격리를 야기하는 상태 메트릭들의 다양한 예들이 본 명세서에 기술되어 있다. 일부 실시예들에서, 상태 메트릭은 피어 컴퓨터가 P2P 네트워크 내에서 디지털 콘텐츠 항목을 전송하는데 이용가능하지 않은 것을 포함할 수 있고, CMS 컴퓨터는 이용가능하지 않은 것으로 인해 지정된 피어 컴퓨터를 격리시킨다.
일부 실시예들에서, 상태 메트릭은 문턱 데이터 업로드 속도를 포함할 수 있고, CMS 컴퓨터는 문턱 데이터 업로드 속도 미만의 데이터 업로드 속도를 가지는 것으로 인해 지정된 피어 컴퓨터를 격리시킨다.
일부 실시예들에서, 상태 메트릭은 요청된 디지털 콘텐츠 항목의 디지털 서명이 수신된 디지털 콘텐츠 항목의 디지털 서명과 일치하는 것을 포함할 수 있고, CMS 컴퓨터는 요청된 디지털 콘텐츠 항목의 디지털 서명과 일치하지 않는 디지털 서명을 가지는 디지털 콘텐츠 항목을 업로드한 것으로 인해 지정된 피어 컴퓨터를 격리시킨다.
일부 실시예들에서, 상태 메트릭은 디지털 콘텐츠 항목을 업로드하는 동안 피어 컴퓨터가 연결 해제되는 문턱 횟수를 포함할 수 있고, CMS 컴퓨터는 디지털 콘텐츠 항목을 업로드하는 동안 문턱 횟수 초과의 횟수만큼 연결 해제된 것으로 인해 지정된 피어 컴퓨터를 격리시킨다.
CMS 컴퓨터(300)는 P2P 네트워크에서의 피어 컴퓨터들의 참여의 레벨을 결정하기 위해 하나 이상의 참여 메트릭들(310)을 적용하도록 구성될 수 있다. 참여 메트릭들은 P2P 네트워크에의 참여를 장려하기 위해 피어 컴퓨터들에 보상을 제공하는데 사용될 수 있다. 보상은 사용자들이 디지털 콘텐츠 항목을 획득한 후에도 그리고 어쩌면 소비 후에도 디지털 콘텐츠 항목을 계속 공유하도록 사용자들을 유인하는데 사용될 수 있다. 예를 들어, 참여 메트릭은 피어 컴퓨터에 의해 P2P 네트워크 내의 다른 피어 컴퓨터들에 업로드된 디지털 콘텐츠 항목의 조각들의 수, 피어 컴퓨터에 의해 P2P 네트워크 내의 다른 피어 컴퓨터들에 업로드된 바이트 수, 피어 컴퓨터에 의해 P2P 네트워크 내의 다른 피어 컴퓨터들에 업로드하는데 소비된 총 시간량, 피어 컴퓨터에 의해 P2P 네트워크 내의 다른 피어 컴퓨터들에 업로드하는데 소비된 가장 긴 세션, 피어-투-피어 네트워크 내의 다른 피어 컴퓨터들에 업로드하기 위해 이용가능한 가장 긴 소비 시간량, 피어-투-피어 네트워크 내의 다른 피어 컴퓨터들에 업로드하기 위해 이용가능한 총 소비 시간량, 디지털 콘텐츠 항목의 조각이 피어 컴퓨터에 의해 P2P 네트워크 내의 다른 피어 컴퓨터들에 업로드되는 횟수, 디지털 콘텐츠 항목 전체가 피어 컴퓨터에 의해 P2P 네트워크 내의 다른 피어 컴퓨터들에 업로드되는 횟수, 및/또는 다른 적당한 메트릭들을 추적할 수 있다.
CMS 컴퓨터(300)는 피어 컴퓨터가 디지털 콘텐츠 항목을 적당히 전송하기에 충분히 안정적인지를 판정하기 위해 하나 이상의 안정성 메트릭들(312)을 적용하도록 구성될 수 있다. 몇몇 경우들에 있어서, CMS 컴퓨터는 피어 컴퓨터 선택 프로세스의 일부로서 안정성 메트릭을 적용할 수 있다. 몇몇 경우들에 있어서, CMS 컴퓨터는 현재 콘텐츠 소스가 가장 적당한 콘텐츠 소스인지를 동적으로 판정하기 위해 디지털 콘텐츠 항목의 전송 동안 안정성 메트릭을 적용할 수 있다. 예를 들어, 안정성 메트릭은 문턱 다운로드 속도, 문턱 자원 레벨, 문턱 연결 중단 횟수, 문턱 비용, 문턱 사용자 경험 혼란 레벨, 문턱 대역폭, 및/또는 다른 적당한 메트릭들을 포함할 수 있다. 부가의 안정성 메트릭들은 피어 컴퓨터가 요청된 디지털 콘텐츠 항목을 갖지 않는 것, 피어 컴퓨터가 더 이상 이용가능하지 않은 것(예컨대, 디바이스가 종료됨), 피어 컴퓨터가 P2P 네트워크에 더 이상 참여하지 않는 것, 및 피어 컴퓨터가 요청측 피어 컴퓨터와의 연결의 수락을 거부하는 것을 포함할 수 있다.
CMS 컴퓨터(300)는 앞서 기술한 메트릭들에 따라 하나 이상의 관리 동작들(316)을 수행하도록 구성될 수 있다. 선택 메트릭들(306)과 연관된 관리 동작들의 비제한적인 예들은 피어를 콘텐츠 소스로서 추천하는 것 및 피어 컴퓨터 이외의 소스를 콘텐츠 소스(예컨대, CDN 컴퓨터)로서 추천하는 것을 포함할 수 있다. 상태 메트릭들(308)과 연관된 관리 동작들의 비제한적인 예들은 앞서 기술한 완화 동작들을 포함할 수 있다. 참여 메트릭들(310)과 연관된 관리 동작들의 비제한적인 예들은 보상을 제공하는 것 및 P2P 네트워크의 피어 컴퓨터들의 참여 순위를 제공하는 것을 포함할 수 있다. 안정성 메트릭들(312)과 연관된 관리 동작들의 비제한적인 예들은 가장 안정적인 콘텐츠 소스로서 추천하는 것 및 업데이트된 안정성 평가에 기초하여 더 안정적인 다른 콘텐츠 소스를 동적으로 추천하는 것을 포함할 수 있다.
CMS 컴퓨터가 피어 컴퓨터 또는 P2P 네트워크의 일부 또는 전부의 현재 상태를 재평가하기 위해 앞서 기술된 메트릭들 중 하나 이상을 연속적으로 적용하도록 구성될 수 있다는 것을 잘 알 것이다. 몇몇 경우들에 있어서, 재평가 프로세스는 피어 컴퓨터들로부터 집계되는 업데이트된 원격 측정 데이터로부터의 피드백에 기초할 수 있다. 게다가, CMS 컴퓨터는 P2P 네트워크의 동작을 연속적으로 향상시키기 위해 업데이트된 피드백에 기초하여 관리 동작들을 동적으로 수행하도록 구성될 수 있다.
앞서 기술된 구성들이 P2P 네트워크 내의 피어 컴퓨터의 동작은 물론, P2P 네트워크를 포함하는 콘텐츠 배포 시스템의 관리에 관련된 다양한 방법들을 가능하게 할 수 있다는 것을 잘 알 것이다. 그에 따라, 어떤 이러한 방법들이 상기 구성들을 계속 참조하여, 예로서, 이제부터 기술된다. 그렇지만, 전적으로 본 개시 내용의 범주 내에 속하는 이들 방법 및 다른 방법들이 다른 구성들을 통해서도 가능하게 될 수 있다는 것을 잘 알 것이다.
도 4 및 도 5는 본 개시 내용의 일 실시예에 따른, 디지털 콘텐츠 항목을 획득하는 방법(400)을 도시한 것이다. 예를 들어, 방법(400)은 도 1에 도시된 P2P 네트워크(102)의 피어 컴퓨터(101)와 같은, P2P 네트워크의 피어 컴퓨터에 의해 수행될 수 있다. 402에서, 방법(400)은 콘텐츠 획득 요청을 컴퓨터 네트워크를 통해 CMS 컴퓨터로 송신하는 단계를 포함할 수 있다. 콘텐츠 획득 요청은 디지털 콘텐츠 항목을 제공할 추천된 콘텐츠 소스에 대해 CMS 컴퓨터에 질의할 수 있다.
404에서, 방법(400)은 콘텐츠 획득 요청에 대한 응답이 컴퓨터 네트워크를 통해 CMS 컴퓨터로부터 수신되는지를 판정하는 단계를 포함할 수 있다. 응답이 수신되는 경우, 방법(400)은 406으로 이동한다. 그렇지 않은 경우, 방법(400)은 416으로 이동한다.
406에서, 방법(400)은 콘텐츠 획득 요청에 대한 응답이 P2P 네트워크의 추천된 피어 컴퓨터를 포함하는지를 판정하는 단계를 포함할 수 있다. 응답이 추천된 피어를 포함하는 경우, 방법(400)은 408로 이동한다. 그렇지 않은 경우, 방법(400)은 416으로 이동한다.
408에서, 방법(400)은 디지털 콘텐츠 항목을 다운로드하라는 요청을 컴퓨터 네트워크를 통해 추천된 피어 컴퓨터로 송신하는 단계를 포함할 수 있다.
410에서, 방법(400)은 디지털 콘텐츠 항목이 추천된 피어 컴퓨터로부터 다운로드되었는지를 판정하는 단계를 포함할 수 있다. 디지털 콘텐츠 항목이 추천된 피어 컴퓨터로부터 다운로드된 경우, 방법(400)은 412로 이동한다. 그렇지 않은 경우, 방법(400)은 414로 이동한다.
412에서, 방법(400)은 추천된 피어 컴퓨터가 디지털 콘텐츠 항목을 다운로드하라는 요청에 응답하여, 디지털 콘텐츠 항목이 성공적으로 다운로드되었다는 것을 나타내는 보고를 컴퓨터 네트워크를 통해 CMS 컴퓨터로 송신하는 단계를 포함한다. 그 보고는 요청측 피어 컴퓨터와 연관된 원격 측정 데이터는 물론, 추천된 피어 컴퓨터와 연관된 원격 측정 데이터를 포함할 수 있다.
414에서, 방법(400)은 추천된 피어 컴퓨터가 디지털 콘텐츠 항목을 다운로드하라는 요청에 응답하지 않았다는 것을 나타내는 보고를 컴퓨터 네트워크를 통해 CMS 컴퓨터로 송신하는 단계를 포함할 수 있다. 그 보고는 요청측 피어 컴퓨터 및 추천된 피어 컴퓨터와 연관된 원격 측정 데이터(예컨대, 추천된 피어가 요청에 응답하지 않았다는 표시)를 포함할 수 있다.
416에서, 방법(400)은 디지털 콘텐츠 항목을 다운로드하라는 요청을 컴퓨터 네트워크를 통해 CDN 컴퓨터로 송신하는 단계를 포함할 수 있다. 콘텐츠 획득 요청에 대한 응답이 CMS 컴퓨터로부터 수신되고(예컨대, 도 4의 406에서 "아니오" 분기로 예시되어 있음) CMS 컴퓨터를 추천된 콘텐츠 소스로서 식별하는 경우, CMS 컴퓨터는, 앞서 기술한 바와 같은 하나 이상의 메트릭들에 기초하여, CDN 컴퓨터를 디지털 콘텐츠 항목을 제공할 가장 적당한 소스로서 식별하였다. 콘텐츠 획득 요청에 대한 응답이 CMS 컴퓨터로부터 수신되지 않는 경우(예컨대, 도 4의 404에서 "아니오" 분기로 예시되어 있음), 그 요청은 자동으로 송신되는 제1 폴백 요청(fallback request)일 수 있다. 다시 말해, CMS 컴퓨터가 추천된 콘텐츠 소스를 제공하기 위해 이용가능하지 않은 경우, CDN 컴퓨터는 백업 또는 기본 소스로서 역할할 수 있다. 일부 실시예들에서, 조건이 만족되는 경우, 폴백 요청이 자동으로 송신될 수 있다.
418에서, 방법(400)은 디지털 콘텐츠 항목이 CDN 컴퓨터로부터 다운로드되었는지를 판정하는 단계를 포함할 수 있다. 디지털 콘텐츠 항목이 CDN 컴퓨터로부터 다운로드된 경우, 방법(400)은 420으로 이동한다. 그렇지 않은 경우, 방법(400)은 422로 이동한다.
420에서, 방법(400)은 CDN 컴퓨터가 디지털 콘텐츠 항목을 다운로드하라는 요청에 응답하여, 디지털 콘텐츠 항목이 성공적으로 다운로드되었다는 것을 나타내는 보고를 컴퓨터 네트워크를 통해 CMS 컴퓨터로 송신하는 단계를 포함할 수 있다. 그 보고는 요청측 피어 컴퓨터와 연관된 원격 측정 데이터는 물론, CDN 컴퓨터와 연관된 원격 측정 데이터를 포함할 수 있다.
422에서, 방법(400)은 CDN 컴퓨터가 디지털 콘텐츠 항목을 다운로드하라는 요청에 응답하지 않았다는 것을 나타내는 보고를 컴퓨터 네트워크를 통해 CMS 컴퓨터로 송신하는 단계를 포함할 수 있다. 그 보고는 요청측 피어 컴퓨터 및 CDN 컴퓨터와 연관된 원격 측정 데이터(예컨대, CDN 컴퓨터가 요청에 응답하지 않았다는 표시)를 포함할 수 있다.
424에서, 방법(400)은 디지털 콘텐츠 항목을 다운로드하라는 제2 폴백 요청을 컴퓨터 네트워크를 통해 P2P 네트워크의 피어 컴퓨터로 자동으로 송신하는 단계를 포함할 수 있다. 폴백 요청은 비최적화된 피어 컴퓨터 또는 CMS 컴퓨터에 의해 추천되지 않은 피어 컴퓨터로 송신될 수 있다. 폴백 요청은 디지털 콘텐츠 항목을 획득하기 위한 기본 척도일 수 있다. 일부 실시예들에서, 조건이 만족되는 경우, 폴백 요청이 자동으로 송신될 수 있다.
디지털 콘텐츠 항목을 제공할 소스에 대해 CMS 컴퓨터에 먼저 질의하는 것에 의해, 피어 컴퓨터는 디지털 콘텐츠 항목을 제공할 피어 컴퓨터와 정합될 수 있거나 그에 최적합일 수 있는 피어 컴퓨터에 대한 추천을 수신할 수 있다. 게다가, 제1 폴백으로서 디지털 콘텐츠 항목을 CDN 컴퓨터에 자동으로 요청하는 것에 의해, 피어 컴퓨터는 CMS 컴퓨터가 이용가능하지 않을 때에도 디지털 콘텐츠 항목을 획득할 수 있을 것이다.
도 6 및 도 7은 본 개시 내용의 일 실시예에 따른, P2P 네트워크에서 동작들을 자발적으로 수행하고 동작들을 의무적으로 수행하는 방법(600)을 도시한 것이다. 예를 들어, 방법(600)은 도 1에 도시된 P2P 네트워크(102)의 피어 컴퓨터(101)와 같은, P2P 네트워크의 피어 컴퓨터에 의해 수행될 수 있다.
이하에 기술되는 방법에서, CMS 컴퓨터에 의해 관리되는 P2P 네트워크의 피어 컴퓨터는 사용자 제어 부분 및 서비스 제어 부분을 포함하는 로컬 저장 머신을 포함할 수 있다. 피어 컴퓨터는 디지털 콘텐츠 항목을 사용자 제어 부분으로 자발적으로 다운로드할 수 있고, 디지털 콘텐츠 항목를 사용자 제어 부분 또는 서비스 제어 부분 중 어느 하나로부터 자발적으로 업로드할 수 있다. 게다가, 피어 컴퓨터는, CMS 컴퓨터로부터 수신된 명령에 기초하여, 디지털 콘텐츠 항목을 서비스 제어 부분으로 의무적으로 다운로드할 수 있고, 디지털 콘텐츠 항목을 서비스 제어 부분으로부터 업로드할 수 있으며, 디지털 콘텐츠 항목을 서비스 제어 부분으로부터 삭제할 수 있다. PULL 전송 전략을 이용하는 실시예들에서, 서비스 제어 부분으로부터의 명령된 업로드는 CMS 컴퓨터가 서비스 제어 부분으로부터의 디지털 콘텐츠 항목을 요청측 피어 컴퓨터에 제공하라는 요청을 가상 배포 허브로서 역할하는 피어 컴퓨터로 송신하라고 다른 피어 컴퓨터에 명령하는 형태를 취할 수 있다. 다시 말해, 피어 컴퓨터는 CMS 컴퓨터에 의해 제어되는 가상 배포 허브 및 P2P 네트워크의 독립형 피어(stand-alone peer) 둘 다로서 역할할 수 있다. 일부 실시예들에서, 피어가 CMS 컴퓨터에 의해 제어되는 가상 배포 허브로서 참여하기로 하는 경우에만 서비스 제어 부분이 형성되고 이용될 수 있다. 일부 실시예들에서, 피어는 로컬 저장 머신의 서비스 제어 부분, 전용 대역폭, 및/또는 다른 적당한 자원들의 사용에 대해 보상[예컨대, 디지털 콘텐츠에 대한 액세스 허용, 우선 다운로드(preferred downloading), 화폐 항목(monetary item), 상환가능 항목(redeemable item) 등]을 받을 수 있다. 일부 실시예들에서, 피어는 이러한 자원들의 사용과 교환으로 P2P 네트워크에의 참여를 허용받을 수 있다.
602에서, 방법(600)은 제1 디지털 콘텐츠 항목을 다운로드하라는 자발적 요청을 컴퓨터 네트워크를 통해 P2P 네트워크의 제1 피어 컴퓨터로 송신하는 단계를 포함할 수 있다.
604에서, 방법(600)은 제1 디지털 콘텐츠 항목을 컴퓨터 네트워크를 통해 제1 피어 컴퓨터로부터 자발적으로 다운로드하는 단계를 포함할 수 있다.
606에서, 방법(600)은 제1 디지털 콘텐츠 항목을 로컬 저장 머신의 사용자 제어 부분에 저장하는 단계를 포함할 수 있다.
608에서, 방법(600)은 제2 디지털 콘텐츠 항목을 소스로부터 다운로드하라는 명령을 컴퓨터 네트워크를 통해 CMS 컴퓨터로부터 수신하는 단계를 포함할 수 있다. 몇몇 경우들에 있어서, 소스는 다른 피어 컴퓨터일 수 있다. 몇몇 경우들에 있어서, 소스는 CDN 컴퓨터일 수 있다.
610에서, 방법(600)은 제2 디지털 콘텐츠 항목을 다운로드하라는 의무적 요청을 컴퓨터 네트워크를 통해 소스로 송신하는 단계를 포함할 수 있다.
612에서, 방법(600)은 제2 디지털 콘텐츠 항목을 컴퓨터 네트워크를 통해 소스로부터 의무적으로 다운로드하는 단계를 포함할 수 있다.
614에서, 방법(600)은 제2 디지털 콘텐츠 항목을 로컬 저장 머신의 서비스 제어 부분에 저장하는 단계를 포함할 수 있다.
616에서, 방법(600)은 제1 디지털 콘텐츠 항목을 제공하라는 의무적 요청을 컴퓨터 네트워크를 통해 제2 피어 컴퓨터로부터 수신하는 단계를 포함할 수 있다. 그 요청은 의무적일 수 있는데, 그 이유는 그 요청이 CMS 컴퓨터로부터 명령을 수신한 것에 응답하여 제2 피어 컴퓨터에 의해 송신될 수 있기 때문이다.
618에서, 방법(600)은 제1 디지털 콘텐츠 항목을 로컬 저장 머신의 사용자 제어 부분으로부터 컴퓨터 네트워크를 통해 제2 피어 컴퓨터로 의무적으로 업로드하는 단계를 포함할 수 있다.
620에서, 방법(600)은 제2 디지털 콘텐츠 항목을 제공하라는 의무적 요청을 컴퓨터 네트워크를 통해 제2 피어 컴퓨터로부터 수신하는 단계를 포함할 수 있다. 그 요청은 의무적일 수 있는데, 그 이유는 그 요청이 CMS 컴퓨터로부터 명령을 수신한 것에 응답하여 제2 피어 컴퓨터에 의해 송신될 수 있기 때문이다.
622에서, 방법(600)은 제2 디지털 콘텐츠 항목을 로컬 저장 머신의 서비스 제어 부분으로부터 컴퓨터 네트워크를 통해 제2 피어 컴퓨터로 의무적으로 업로드하는 단계를 포함할 수 있다. CMS 컴퓨터가 사용자 제어 부분 또는 서비스 제어 부분 중 어느 하나에 저장될 수 있는 디지털 콘텐츠 항목의 전송을 명령할 수 있다는 것을 잘 알 것이다.
624에서, 방법(600)은 제2 디지털 콘텐츠 항목을 제공하라는 자발적 요청을 컴퓨터 네트워크를 통해 제3 피어 컴퓨터로부터 수신하는 단계를 포함할 수 있다. 그 요청은 자발적일 수 있는데, 그 이유는 그 요청이 CMS 컴퓨터로부터 명령을 받는 일 없이 제3 피어 컴퓨터에 의해 송신될 수 있기 때문이다.
626에서, 방법(600)은 제2 디지털 콘텐츠 항목을 로컬 저장 머신의 서비스 제어 부분으로부터 컴퓨터 네트워크를 통해 제3 피어 컴퓨터로 자발적으로 업로드하는 단계를 포함할 수 있다.
628에서, 방법(600)은 제2 디지털 콘텐츠 항목을 삭제하라는 명령을 컴퓨터 네트워크를 통해 CMS 컴퓨터로부터 수신하는 단계를 포함할 수 있다.
630에서, 방법(600)은 제2 디지털 콘텐츠 항목을 로컬 저장 머신의 서비스 제어 부분으로부터 의무적으로 삭제하는 단계를 포함할 수 있다.
도 8은 본 개시 내용의 일 실시예에 따른, 피어 컴퓨터를 콘텐츠 소스로서 선택하는 방법(800)을 도시한 것이다. 예를 들어, 방법(800)은 도 1에 도시된 P2P 네트워크(102)의 피어 컴퓨터(101)와 같은, P2P 네트워크의 피어 컴퓨터에 의해 수행될 수 있다. 802에서, 방법(800)은 콘텐츠 획득 요청을 컴퓨터 네트워크를 통해 CMS 컴퓨터로 송신하는 단계를 포함할 수 있다. 콘텐츠 획득 요청은 디지털 콘텐츠 항목을 가지는 P2P 네트워크의 현재 이용가능한 피어 컴퓨터들에 대해 CMS 컴퓨터에 질의할 수 있다.
804에서, 방법(800)은 복수의 피어 컴퓨터들을 식별해주는 콘텐츠 획득 요청에 대한 응답을 컴퓨터 네트워크를 통해 CMS 컴퓨터로부터 수신하는 단계를 포함할 수 있다. 예를 들어, 복수의 피어 컴퓨터들이, 본 명세서에 기술된 선택 메트릭들에 기초하여, 선택되거나, 우선 순위를 부여 받거나, 정렬될 수 있다.
806에서, 방법(800)은 디지털 콘텐츠 항목을 다운로드하라는 요청을 컴퓨터 네트워크를 통해 복수의 피어 컴퓨터들의 공통 ISP를 가지는 피어 컴퓨터로 송신하는 단계를 포함할 수 있다.
808에서, 방법(800)은 두 개 이상의 피어 컴퓨터가 복수의 피어 컴퓨터들의 공통 ISP를 가지는지를 판정하는 단계를 포함할 수 있다. 복수의 피어 컴퓨터들 중 두 개 이상의 피어 컴퓨터가 공통 ISP를 가지는 경우, 방법(800)은 810으로 이동한다. 그렇지 않은 경우, 방법(800)은 812로 이동한다.
810에서, 방법(800)은 디지털 콘텐츠 항목을 다운로드하라는 요청을 컴퓨터 네트워크를 통해 복수의 피어 컴퓨터들 중 공통 ISP를 가지는, 가장 높은 대역폭 또는 가장 낮은 레이턴시를 갖는 피어 컴퓨터로 송신하는 단계를 포함할 수 있다. 몇몇 경우들에 있어서, 가장 높은 대역폭 또는 가장 낮은 레이턴시는 가장 높은 현재 대역폭 또는 가장 낮은 현재 레이턴시일 수 있다. 몇몇 경우들에 있어서, 가장 높은 대역폭 또는 가장 낮은 레이턴시는 가장 높은 이력적 대역폭 또는 가장 낮은 이력적 레이턴시일 수 있다. 몇몇 경우들에 있어서, 인트라넷 네트워크에 연결되어 있고 복수의 피어 컴퓨터들의 공통 ISP를 가지는, 가장 높은 현재 대역폭, 가장 낮은 현재 레이턴시, 가장 높은 이력적 대역폭, 또는 가장 낮은 이력적 레이턴시 중 하나 이상을 갖는 피어 컴퓨터는 제1 디지털 콘텐츠 항목을 다운로드하라는 요청을 컴퓨터 네트워크를 통해 송신받는다. 요청을 송신할 피어를 선택하는 것에 관한 결정을 정보에 기반하여 행하기 위해, 이 기준들이 임의의 적당한 방식으로 혼합, 정합, 또는 고려될 수 있다는 것을 잘 알 것이다.
812에서, 방법(800)은 디지털 콘텐츠 항목을 피어 컴퓨터로부터 다운로드하는 단계를 포함할 수 있다.
814에서, 방법(800)은, 디지털 콘텐츠 항목을 피어 컴퓨터로부터 다운로드하는 동안, 업데이트된 원격 측정 데이터를 컴퓨터 네트워크를 통해 CMS 컴퓨터로 송신하는 단계를 포함할 수 있다. 몇몇 경우들에 있어서, 피어 컴퓨터는, 디지털 콘텐츠 항목의 전송 동안 이외에, 원격 측정 데이터를 CMS 컴퓨터로 송신할 수 있다. 원격 측정 데이터를 송신하는 타이밍이 디지털 콘텐츠 항목를 전송하는 타이밍과 연계될 필요가 없다는 것을 잘 알 것이다.
816에서, 방법(800)은 디지털 콘텐츠 항목을 가지는 P2P 네트워크의 다른 피어 컴퓨터를 추천된 콘텐츠 소스로서 식별하는 통지를 컴퓨터 네트워크를 통해 CMS 컴퓨터로부터 수신하는 단계를 포함할 수 있다. 몇몇 경우들에 있어서, CMS 컴퓨터는 디지털 콘텐츠 항목의 전송 동안 피어 컴퓨터로부터 수신되는 업데이트된 원격 측정 데이터에 기초하여 다른 피어를 선택할 수 있다. 몇몇 경우들에 있어서, CMS 컴퓨터는 P2P 네트워크 내에서의 활동과 같은 다른 조건들에 관련된 원격 측정 데이터에 기초하여 다른 피어를 선택할 수 있다.
818에서, 방법(800)은 디지털 콘텐츠 항목을 컴퓨터 네트워크를 통해 다른 피어 컴퓨터로부터 다운로드하는 단계를 포함할 수 있다.
ISP를 공유하지 않는 다른 피어 컴퓨터들보다 ISP를 공유하는 피어 컴퓨터를 콘텐츠 소스로서 선택하는 것에 의해, 높은 처리율을 가지는 피어 컴퓨터를 콘텐츠 소스로서 선택할 확률이 증가될 수 있다. 게다가, 두 대의 피어 컴퓨터들이 동일한 ISP를 가지는 경우, 많은 경우에, 디지털 콘텐츠 항목의 전송이 피어 컴퓨터 전송 용량 또는 처리율에 이바지하지 않을 수 있다. 그에 따라, 디지털 콘텐츠 항목을 전송하는 비용이 감소될 수 있다. 게다가, 디지털 콘텐츠 항목의 전송 동안 조건들이 변함에 따라 피어 선택이 동적으로 업데이트될 수 있다.
도 9는 본 개시 내용의 다른 실시예에 따른, 피어 컴퓨터를 콘텐츠 소스로서 선택하는 방법(900)을 도시한 것이다. 예를 들어, 방법(900)은 도 1에 도시된 P2P 네트워크(102)의 피어 컴퓨터(101)와 같은, P2P 네트워크의 피어 컴퓨터에 의해 수행될 수 있다. 902에서, 방법(900)은 디지털 콘텐츠 항목을 제공하라는 요청을 인트라넷 네트워크에 연결되어 있는 것으로 식별된 복수의 피어 컴퓨터들로 송신하는 단계를 포함할 수 있다. 이러한 요청은, 예를 들어, 콘텐츠 획득 요청을 CMS로 전송하기 전에 송신될 수 있다.
904에서, 방법(900)은 요청에 대한 임의의 응답이 인트라넷 네트워크에 연결되어 있는 피어 컴퓨터로부터 수신되는지를 판정하는 단계를 포함할 수 있다. 응답이 인트라넷 네트워크에 연결되어 있는 피어 컴퓨터로부터 수신되는 경우, 방법(900)은 906으로 이동한다. 그렇지 않은 경우, 방법은 910으로 이동한다.
906에서, 방법은 임의의 응답이 피어 컴퓨터가 디지털 콘텐츠 항목을 가지고 있다는 것을 나타내는지를 판정하는 단계를 포함할 수 있다. 임의의 응답이 피어 컴퓨터가 디지털 콘텐츠 항목을 가지고 있다는 것을 나타내는 경우, 방법은 908로 이동한다. 그렇지 않은 경우, 방법(900)은 910으로 이동한다.
908에서, 방법(900)은 디지털 콘텐츠 항목을 다운로드하라는 요청을 디지털 콘텐츠 항목을 가지는 것으로 응답한 피어 컴퓨터로 송신하는 단계를 포함할 수 있다. 이러한 방식으로, 디지털 콘텐츠 항목이 순전히 인트라넷 네트워크 내에서 획득될 수 있다.
910에서, 방법(900)은 인트라넷 네트워크에 연결된 피어 컴퓨터로부터 수신된 응답이 피어 컴퓨터가 디지털 콘텐츠 항목을 가지고 있다는 것을 나타내지 않는 경우, 콘텐츠 획득 요청을 컴퓨터 네트워크를 통해 CMS 컴퓨터로 송신하는 단계를 포함할 수 있다. 콘텐츠 획득 요청은 디지털 콘텐츠 항목을 제공할 추천된 콘텐츠 소스에 대해 CMS 컴퓨터에 질의할 수 있다.
912에서, 방법(900)은 콘텐츠 획득 요청에 대한 응답이 CMS 컴퓨터로부터 수신되는지를 판정하는 단계를 포함할 수 있다. 응답이 수신되는 경우, 방법(900)은 914로 이동한다. 그렇지 않은 경우, 방법(900)은 916으로 이동한다.
914에서, 방법(900)은 콘텐츠 획득 요청에 대한 응답이 컴퓨터 네트워크를 통해 수신되고 P2P 네트워크의 추천된 피어 컴퓨터를 추천된 콘텐츠 소스로서 식별해주는 경우, 디지털 콘텐츠 항목을 다운로드하라는 요청을 컴퓨터 네트워크를 통해 추천된 피어 컴퓨터로 송신하는 단계를 포함할 수 있다. 일부 실시예들에서, CMS 컴퓨터는, 피어 컴퓨터와 공통 ISP를 가지는 것에 기초하여, 소스를 추천된 콘텐츠 소스로서 선택할 수 있다.
916에서, 방법은 콘텐츠 획득 요청에 대한 응답이 수신되지 않는 경우, 디지털 콘텐츠 항목을 다운로드하라는 폴백 요청을 컴퓨터 네트워크를 통해 CDN 컴퓨터로 자동으로 송신하는 단계를 포함할 수 있다. 일부 실시예들에서, 조건이 만족되는 경우, 폴백 요청이 자동으로 송신될 수 있다. 예를 들어, 그 조건은 지정된 응답 시한 내에 콘텐츠 획득 요청에 대한 응답을 수신하지 않는 것, 지정된 다운로드 시작 시한 내에 디지털 콘텐츠 항목을 다운로드하기 시작하지 않는 것, 지정된 다운로드 완료 시한 내에 디지털 콘텐츠 항목의 다운로드를 완료하지 않는 것, 문턱 처리율을 초과하여 디지털 콘텐츠 항목을 다운로드하지 않는 것, 또는 다운로드 테스트 기간 동안 문턱 처리율을 초과하여 디지털 콘텐츠 항목을 다운로드하지 않는 것을 포함할 수 있다. 본 개시 내용의 범주를 벗어남이 없이 디지털 콘텐츠 항목을 제공하기 위해 네트워크 또는 회사 자원(예컨대, CDN 컴퓨터)를 사용해야 하는지 또는 언제 사용해야 하는지에 관한 결정을 정보에 기반하여 행하기 위해 임의의 적당한 알고리즘 또는 논리가 구현될 수 있다는 것을 잘 알 것이다.
인트라넷 네트워크에 연결되지 않은 피어 컴퓨터들보다 인트라넷 네트워크에 연결되어 있는 피어 컴퓨터를 콘텐츠 소스로서 선택하는 것에 의해, 디지털 콘텐츠 항목이 인터넷과 같은 외부 컴퓨터 네트워크에 액세스함이 없이 전송될 수 있다. 그에 따라, 디지털 콘텐츠 항목을 전송하는 비용이 감소될 수 있고, P2P 네트워크의 더 적은 자원을 사용하여 디지털 콘텐츠 항목이 전송될 수 있다.
도 10은 본 개시 내용의 일 실시예에 따른, 디지털 콘텐츠 항목을 제공할 하나 이상의 콘텐츠 소스들을 선택하는 방법(1000)을 도시한 것이다. 예를 들어, 방법(1000)은 도 1에 도시된 P2P 네트워크(102)의 피어 컴퓨터(101)와 같은, P2P 네트워크의 피어 컴퓨터에 의해 수행될 수 있다. 1002에서, 방법(1000)은 복수의 조각들을 포함하는 디지털 콘텐츠 항목의 일부분들을 저장하는 복수의 소스들을 식별하는 단계를 포함한다. 몇몇 경우들에 있어서, 디지털 콘텐츠 항목의 일부분은 디지털 콘텐츠 항목의 한 조각을 포함할 수 있다. 몇몇 경우들에 있어서, 디지털 콘텐츠 항목의 일부분은 디지털 콘텐츠 항목의 몇개의 조각들을 포함할 수 있다. 몇몇 경우들에 있어서, 디지털 콘텐츠 항목의 일부분은 디지털 콘텐츠 항목 전체를 포함할 수 있다. 복수의 소스들은 컴퓨터[예컨대, 피어 컴퓨터(101)]의 하나 이상의 로컬 저장 머신들 및 P2P 네트워크[예컨대, P2P 네트워크(102)]의 하나 이상의 피어 컴퓨터들을 포함할 수 있다.
1004에서, 방법(1000)은, 디지털 콘텐츠 항목의 복수의 조각들의 각각의 조각에 대해, 하나 이상의 다운로드 메트릭들에 따라 복수의 소스들 중에서 소스를 선택하는 단계를 포함할 수 있다. 예를 들어, 다운로드 메트릭들은 가장 빠른 다운로드 속도, 가장 낮은 획득 비용, 가장 낮은 자원 사용 레벨, 가장 낮은 에너지 사용 레벨, 가장 낮은 사용자 경험 혼란 레벨, 자원의 이용가능성, 및/또는 임의의 다른 적당한 메트릭을 포함할 수 있다. 게다가, 몇몇 경우들에 있어서, 다운로드 메트릭은 디지털 콘텐츠 항목의 조각을 다운로드하는 것이 가능할 때 P2P 네트워크 상의 하나 이상의 로컬 저장 머신들을 선택할 수 있다.
하나의 예에서, 기본 형태에서, 획득 소스의 선택이 단일의 다운로드 메트릭에 기초할 수 있다. 예를 들어, 다운로드 메트릭은 일부분을 가능한 한 신속하게 입수하는 것일 수 있고, 이 경우에, 소스를 선택할 때, 획득 비용과 같은 다른 인자들이 고려되지 않을 것이다.
다른 예에서, 보다 정교한 형태에서, 획득 소스의 선택은 복수의 경쟁하는(또는 어쩌면 충돌하는) 다운로드 메트릭들 간에 균형을 이루게 할 수 있다. 예를 들어, 복수의 다운로드 메트릭들은 획득 비용과 연관된 30% 가중치 및 획득 속도와 연관된 70% 가중치를 포함할 수 있다. 본 개시 내용의 범주를 벗어남이 없이, 임의의 적당한 휴리스틱이 사용될 수 있다.
일부 실시예들에서, 다운로드 메트릭들은 디지털 콘텐츠 항목의 어느 조각들이 어느 소스들에 의해 다운로드되어야 하는지를 추가로 명시할 수 있다. 예를 들어, 복수의 다운로드 메트릭들은 디지털 콘텐츠 항목의 30%가, CDN 컴퓨터와 같은, 보다 비싼 빠르고 신뢰성있는 소스로부터 다운로드되어야 하고, 디지털 콘텐츠 항목의 70%가, 공용 P2P 네트워크 상의 피어 컴퓨터와 같은, 보다 느리고 신뢰성이 떨어지며 보다 저렴한 컴퓨터로부터 다운로드되어야 한다고 명시할 수 있다.
일부 실시예들에서, 다운로드 메트릭들은 다운로드 프로세스 동안 동적으로 변할 수 있고, 따라서 우선순위가 변한다. 예를 들어, 다운로드 메트릭들이 획득 비용보다 획득 속도에 우선순위를 부여하는 디지털 콘텐츠 항목의 다운로드 동안, 조건이 변할 수 있고(예컨대, 돈이 떨어짐), 획득 속도보다 획득 비용에 우선순위를 부여할 수 있도록 다운로드 메트릭들이 동적으로 조절될 수 있다. 몇몇 경우들에 있어서, 다운로드 메트릭들의 변화에 기초하여 다른 소스가 동적으로 선택될 수 있다.
1006에서, 방법(1000)은, 디지털 콘텐츠 항목의 복수의 조각들의 각각의 조각에 대해, 그 조각을 선택된 소스로부터 다운로드하는 단계를 포함할 수 있다. 몇몇 경우들에 있어서, 다운로드하는 단계는 데이터를 하나의 로컬 저장 머신로부터 다른 로컬 저장 머신로 전송하는 단계(예컨대, 콘텐츠를 이동식 매체로부터 하드 드라이브 또는 고상 메모리로 로드하는 단계)를 포함할 수 있다. 몇몇 경우들에 있어서, 다운로드하는 단계는 데이터를 원격 컴퓨터로부터 컴퓨터 네트워크를 통해 전송하는 단계를 포함할 수 있다. 몇몇 경우들에 있어서, 디지털 콘텐츠 항목의 상이한 조각들이 상이한 소스들로부터 병렬로 다운로드될 수 있다. 게다가, 몇몇 경우들에 있어서, 디지털 콘텐츠 항목의 적어도 일부 조각들이 하나 이상의 로컬 저장 머신들로부터 다운로드될 수 있고, 디지털 콘텐츠 항목의 적어도 일부 조각들이 P2P 네트워크의 하나 이상의 피어 컴퓨터들로부터 컴퓨터 네트워크를 통해 다운로드될 수 있다. 다시 말해, 디지털 콘텐츠 항목의 일부분들이 로컬적으로 및 원격적으로 다운로드될 수 있다.
1008에서, 방법(1000)은 디지털 콘텐츠 항목으로서 컴퓨터 상에 설치하기 위해 복수의 조각들을 정리하는 단계를 포함할 수 있다. 예를 들어, 정리하는 단계는 다운로드된 조각의 고유 식별자와 요청된 조각의 고유 식별자를 비교하는 것에 의해 조각들을 유효성 확인하는 단계를 포함할 수 있다. 몇몇 경우들에 있어서, 상이한 조각들이 상이한 프로토콜들을 가지는 상이한 소스들로부터 다운로드될 수 있다. 그에 따라, 정리하는 단계는 디지털 콘텐츠 항목의 모든 조각들을 균일한 포맷으로 변환하는 단계를 포함할 수 있다. 게다가, 정리하는 단계는 디지털 콘텐츠 항목을 형성하기 위해 다운로드된 조각들을 지정된 순서로 배열하는 단계를 포함할 수 있다.
1010에서, 방법(1000)은 하나 이상의 로컬 저장 머신들로부터 다운로드된 디지털 콘텐츠 항목의 조각이 P2P 네트워크의 문턱 이용가능성 미만의 이용가능성을 가지는지를 판정하는 단계를 포함할 수 있다. 몇몇 경우들에 있어서, 문턱 이용가능성은 디지털 콘텐츠 항목의 조각이 P2P 네트워크의 어느 피어 컴퓨터 상에서도 이용가능하지 않은 것을 포함할 수 있다. 몇몇 경우들에 있어서, 문턱 이용가능성은 디지털 콘텐츠 항목의 조각이 디지털 콘텐츠 항목을 제공하는데 다른 방식으로 이용가능한 P2P 네트워크의 어느 이용가능 피어 컴퓨터 상에서도 이용가능하지 않은 것을 포함할 수 있다. 조각이 문턱 이용가능성 미만의 이용가능성을 가지는 경우, 방법(1000)은 1012로 이동한다. 그렇지 않은 경우, 방법(1000)은 1016으로 이동한다.
1012에서, 방법(1000)은 하나 이상의 로컬 저장 머신들로부터 다운로드된 디지털 콘텐츠 항목의 조각의 소유권을 나타내는 통지를 컴퓨터 네트워크를 통해 CMS 컴퓨터로 송신하는 단계를 포함할 수 있다. 조각의 이용가능성이 P2P 네트워크의 문턱 이용가능성 미만이기 때문에, 그 통지가 송신될 수 있다.
1014에서, 방법(1000)은, 디지털 콘텐츠 항목의 조각을 제공하라는 요청을 피어-투-피어 네트워크의 피어 컴퓨터로부터 컴퓨터 네트워크를 통해 수신한 것에 응답하여, 디지털 콘텐츠 항목의 조각을 컴퓨터 네트워크를 통해 P2P 네트워크의 피어 컴퓨터로 업로드하는 단계를 포함할 수 있다. 몇몇 경우들에 있어서, 그 요청은 피어 컴퓨터에 의해 자발적으로 송신될 수 있다. 몇몇 경우들에 있어서, 그 요청은, 디지털 콘텐츠 항목의 조각을 검색하라는 명령을 CMS 컴퓨터로부터 수신한 것에 응답하여, 피어 컴퓨터에 의해 의무적으로 송신될 수 있다. 어느 경우든지, 디지털 콘텐츠 항목의 조각이, P2P 네트워크에서의 조각의 이용가능성을 증가시키기 위해, P2P 네트워크에 배포될 수 있다.
1016에서, 방법(1000)은 디지털 콘텐츠 항목의 지정된 조각을 다운로드하는 동안 소스가 안정적인지를 판정하는 단계를 포함할 수 있다. 예를 들어, 하나 이상의 안정성 메트릭들에 따라 소스가 안정적이거나 불안정한 것으로 판정될 수 있다. 소스가 불안정한 것으로 판정되는 경우, 방법(1000)은 1018로 이동한다. 그렇지 않은 경우, 방법(1000)은 1020으로 이동한다.
1018에서, 방법은 지정된 조각을 다른 소스로부터 다운로드하는 단계를 포함할 수 있다. 하나 이상의 다운로드 메트릭들에 따라 복수의 소스들 중에서 다른 소스가 선택될 수 있다.
일부 실시예들에서, 디지털 콘텐츠 항목 전체가 다운로드되기 전에, 디지털 콘텐츠 항목의 일부분들이 설치되거나 실행될 수 있다. 예를 들어, 위치, 지도, 레벨, 방향 등과 같은 사용자의 게임 진행에 기초하여, 게임의 상이한 부분들이 다운로드될 수 있다. 그에 따라, 1020에서, 방법은 디지털 콘텐츠 항목과의 사용자 상호작용에 기초하여 디지털 콘텐츠 항목의 어느 조각들을 다운로드할지를 결정하는 단계를 포함할 수 있다. 예를 들어, 사용자의 현재 위치에 근접해 있는 게임 세계에서의 위치를 나타내는 조각들이 사용자의 현재 위치로부터 더 멀리 떨어져 있는 게임 세계에서의 위치보다 앞서 다운로드될 수 있다.
1022에서, 방법(1000)은 디지털 콘텐츠 항목과의 사용자 상호작용에 기초하여 디지털 콘텐츠 항목의 조각에 대한 소스를 선택하는 단계를 포함할 수 있다. 예를 들어, 가까운 장래에 설치되거나 소비될 가능성이 많은 디지털 콘텐츠 항목의 조각들은 보다 빠르고 보다 비싼 소스로부터 다운로드될 수 있고, 가까운 장래에 설치되거나 소비될 가능성이 적은 조각들은 보다 느리고 보다 저렴한 소스로부터 다운로드될 수 있다.
앞서 기술한 방법은 P2P 네트워크의 상태(health)를 잠재적으로 향상시키는 효율적인 방식으로 하나 이상의 소스들로부터 디지털 콘텐츠 항목을 다운로드하기 위해 피어 컴퓨터에 의해 수행될 수 있다. 상세하게는, 로컬 소스들과 P2P 네트워크의 소스들 간의 상호작용을 도입하는 것에 의해, 중복 조각 획득을 없애고, 일부 조각들의 전송을 로컬 소스들로 오프로딩함으로써 P2P 네트워크의 상태를 향상시키면서, 디지털 콘텐츠 항목의 조각들을 적합한 순서로 입수하기 위해 모든 소스들이 협력하여 동작할 수 있다.
도 11은 본 개시 내용의 일 실시예에 따른, 콘텐츠를 다운로드하는 방법(1100)을 도시한 것이다. 예를 들어, 방법(1100)은 도 1에 도시된 P2P 네트워크(102)의 피어 컴퓨터(101)와 같은, P2P 네트워크의 피어 컴퓨터에 의해 수행될 수 있다.
1102에서, 방법(1100)은 디지털 콘텐츠 항목의 하나 이상의 조각들을 컴퓨터의 하나 이상의 로컬 저장 머신들로부터 다운로드하는 단계를 포함할 수 있다.
1104에서, 방법(1100)은 문턱 혼란 레벨을 초과하는 사용자 경험의 혼란을 야기하는 컴퓨터의 동작의 변화가 일어나는지를 판정하는 단계를 포함할 수 있다. 예를 들어, 문턱 혼란 레벨은 컴퓨터의 자원 사용 레벨이 문턱 레벨 초과인 것을 포함할 수 있다. 하나의 특정의 예에서, 동작의 변화는 자원들을 소비하는, 사용자가 프로그램을 실행시키는 것, 게임을 플레이하는 것, 비디오를 시청하는 것 등을 포함할 수 있다. 이러한 동작의 변화는 자원 사용 레벨이, 게임 또는 비디오가 버벅대거나(stutter), 건너뛰거나, 버퍼링하거나 또는 일시 중지하는 레벨과 같은, 문턱 레벨을 초과하게 할 수 있다. 주의할 점은, 이것이 하나의 예에 불과하고, 본 개시 내용의 범주를 벗어남이 없이 사용자 경험의 다른 혼란들이 고려될 수 있다는 것이다. 문턱 혼란 레벨을 초과하는 사용자 경험의 혼란을 야기하는 변화가 일어나는 경우, 방법(1100)은 1106으로 이동한다. 그렇지 않은 경우, 방법(1100)은 다른 동작들로 복귀한다.
1106에서, 방법(1100)은 문턱 혼란 레벨을 초과하는 사용자 경험의 혼란을 야기하는 컴퓨터의 동작의 변화에 응답하여, 디지털 콘텐츠 항목의 하나 이상의 조각들을 컴퓨터의 하나 이상의 로컬 저장 머신들로부터 다운로드하는 것을 중단하는 단계를 포함할 수 있다.
1108에서, 방법(1100)은, 하나 이상의 저장 머신들로부터 다운로드하는 것을 중단한 것에 응답하여, 디지털 콘텐츠 항목의 하나 이상의 조각들을 컴퓨터 네트워크를 통해 소스로부터 자동으로 다운로드하기 시작하는 단계를 포함한다. 그 소스는 하나 이상의 다운로드 메트릭들에 따라 복수의 소스들 중에서 선택될 수 있다. 예를 들어, 하나 이상의 다운로드 메트릭들은 가장 빠른 다운로드 속도, 가장 낮은 획득 비용, 가장 낮은 자원 사용 레벨, 가장 낮은 에너지 사용 레벨, 가장 낮은 사용자 경험 혼란 레벨, 및/또는 다른 적당한 메트릭들을 포함할 수 있다. 하나의 예에서, 복수의 소스들은 P2P 네트워크의 하나 이상의 피어 컴퓨터들 및 CDN 컴퓨터를 포함할 수 있다.
로컬 소스로부터 디지털 콘텐츠 항목을 다운로드하는 것을 동적으로 중단시키는 것 및 사용자 혼란에 봉착한 것에 응답하여 컴퓨터 네트워크를 통해 원격 소스로부터 디지털 콘텐츠 항목을 자동으로 다운로드하는 것에 의해, 사용자 경험이 디지털 콘텐츠 항목의 획득보다 우선순위를 부여받을 수 있고, 디지털 콘텐츠 항목이 여전히 획득될 수 있다.
도 12 및 도 13은 본 개시 내용의 일 실시예에 따른, P2P 네트워크를 관리하는 방법(1200)을 도시한 것이다. 예를 들어, 방법(1200)은 도 1에 도시된 P2P 네트워크(102)의 CMS 컴퓨터(110)와 같은, P2P 네트워크의 CMS 컴퓨터에 의해 수행될 수 있다. 1202에서, 방법(1200)은 P2P 네트워크 내의 복수의 피어 컴퓨터들로부터의 원격 측정 데이터를 컴퓨터 네트워크를 통해 집계하는 단계를 포함할 수 있다.
1204에서, 방법(1200)은 제1 디지털 콘텐츠 항목을 제공하도록 추천된 콘텐츠 소스에 대해 질의하는 콘텐츠 획득 요청을 컴퓨터 네트워크를 통해 P2P 네트워크의 제1 피어 컴퓨터로부터 수신하는 단계를 포함할 수 있다.
1206에서, 방법(1200)은 집계된 원격 측정 데이터로부터 도출되는 선택 메트릭에 기초하여 제1 디지털 콘텐츠 항목을 제1 피어 컴퓨터에 제공할 소스를 선택하는 단계를 포함할 수 있다. 예를 들어, 그 결정은 복수의 피어 컴퓨터들로부터 집계된 원격 측정 데이터가 제1 디지털 콘텐츠 항목이 P2P 네트워크의 임의의 피어 컴퓨터로부터 업로드하는데 이용가능하다는 것을 나타내는지를 고려할 수 있다. 일부 실시예들에서, 그 결정은 디지털 콘텐츠 항목을 가지는 피어 컴퓨터가 하나 이상의 선택 메트릭들에 기초하여 제1 피어 컴퓨터로서 최적합인지를 추가로 고려할 수 있다. 몇몇 경우들에 있어서, 그 결정은, 추천된 콘텐츠 소스를 선택할 때, 요청되는 콘텐츠의 유형을 추가로 고려할 수 있다.
1208에서, 방법(1200)은 하나 이상의 선택 메트릭들에 기초하여 추천된 콘텐츠 소스가 피어 컴퓨터인지 CDN 컴퓨터인지를 판정하는 단계를 포함할 수 있다. 추천된 콘텐츠 소스가 피어 컴퓨터인 경우, 방법(1200)은 1210으로 이동한다. 그렇지 않은 경우, 방법(1200)은 1212로 이동한다.
1210에서, 방법(1200)은 제1 디지털 콘텐츠 항목을 가지는 제2 피어 컴퓨터를 추천된 콘텐츠 소스로서 식별해주는 콘텐츠 획득 요청에 대한 응답을 컴퓨터 네트워크를 통해 제1 피어 컴퓨터로 송신하는 단계를 포함할 수 있다.
1212에서, 방법(1200)은 CDN 컴퓨터를 추천된 콘텐츠 소스로서 식별해주는 콘텐츠 획득 요청에 대한 응답을 컴퓨터 네트워크를 통해 제1 피어 컴퓨터로 송신하는 단계를 포함할 수 있다.
1214에서, 방법(1200)은 복수의 피어 컴퓨터들로부터 집계된 원격 측정 데이터로부터 도출되는 P2P 네트워크의 하나 이상의 상태 메트릭들에 따라 P2P 네트워크의 피어 컴퓨터들 간의 디지털 콘텐츠 항목의 전송을 수정하는 완화 동작을 수행하는 단계를 포함할 수 있다.
1216에서, 방법(1200)은, 제1 피어 컴퓨터가 제2 피어 컴퓨터로부터 제1 디지털 콘텐츠 항목을 다운로드하고 있는 동안, 제1 피어 컴퓨터, 제2 피어 컴퓨터, 또는 이들 피어 컴퓨터 둘 다로부터 업데이트된 원격 측정 데이터를 수신하는 단계를 포함할 수 있다.
1218에서, 방법(1200)은 제1 디지털 콘텐츠 항목을 가지는 P2P 네트워크의 다른 피어 컴퓨터를 추천된 콘텐츠 소스로서 식별하는 통지를 컴퓨터 네트워크를 통해 제1 피어 컴퓨터로 송신하는 단계를 포함할 수 있다. 다른 피어 컴퓨터는 업데이트된 원격 측정 데이터를 포함하는 원격 측정 데이터로부터 도출되는 피어 선택 메트릭에 따라 선택될 수 있다.
1220에서, 방법(1200)은 복수의 피어 컴퓨터들로부터 집계된 원격 측정 데이터로부터 도출되는 P2P 네트워크의 하나 이상의 상태 메트릭들에 따라 지정된 피어 컴퓨터를 P2P 네트워크 내에서 디지털 콘텐츠 항목을 전송하지 못하도록 격리시키는 단계를 포함할 수 있다.
1222에서, 방법(1200)은 격리되어 있는 지정된 피어 컴퓨터에 디지털 콘텐츠 항목을 요청하는 피어 컴퓨터를, 지정된 피어 컴퓨터가 격리되어 있다는 것에 응답하여, 그 디지털 콘텐츠 항목을 가지는 대안의 피어 컴퓨터로 리디렉션하는 단계를 포함할 수 있다.
1224에서, 방법(1200)은 격리된 후에 지정된 피어 컴퓨터가 정정 조치를 수행한 것에 응답하여, 격리되어 있는 지정된 피어 컴퓨터가 P2P 네트워크 내에서 디지털 콘텐츠 항목을 전송하도록 허용하는 단계를 포함할 수 있다. 다시 말해, 지정된 피어 컴퓨터의 격리를 해제한다. 정정 조치의 비제한적인 예는 대역폭을 증가시키는 것, 이용가능성을 증가시키는 것, 안정성을 증가시키는 것, 손상된 디지털 콘텐츠 항목을 제거하는 것 등을 포함할 수 있다.
유의할 점은, 일부 실시예들에서, 완화 동작이 디지털 콘텐츠 항목을 제공할 다른 소스를 동적으로 추천하는 것, 피어 컴퓨터를 격리시키는 것, 및 피어 컴퓨터의 격리를 해제하는 것은 물론, 본 명세서에서 논의된 다른 적당한 동작들을 포함할 수 있다.
1226에서, 방법(1200)은 제2 디지털 콘텐츠 항목의 이용가능성이 P2P 네트워크의 문턱 이용가능성 미만인지를 판정하는 단계를 포함할 수 있다. 제2 디지털 콘텐츠 항목이 문턱 이용가능성 미만인 경우, 방법(1200)은 1228로 이동한다. 그렇지 않은 경우, 방법(1200)은 1238로 이동한다.
1228에서, 방법(1200)은 제2 디지털 콘텐츠 항목을 가지는 P2P 네트워크의 피어 컴퓨터들을 식별하는 단계를 포함할 수 있다. 몇몇 경우들에 있어서, 제2 디지털 항목은 피어 컴퓨터에 의해 자발적으로 다운로드되어, 그 피어 컴퓨터의 로컬 저장 머신의 사용자 제어 부분에 저장되어 있을 수 있다. 몇몇 경우들에 있어서, 제2 디지털 콘텐츠 항목은 CMS 컴퓨터로부터의 명령에 기초하여 피어 컴퓨터에 의해 의무적으로 다운로드되어, 그 피어 컴퓨터의 로컬 저장 머신의 서비스 제어 부분에 저장되어 있을 수 있다.
1230에서, 방법은 제2 디지털 콘텐츠 항목을 소스(예컨대, 제1 디지털 콘텐츠 항목을 가지는 것으로 식별된 피어 컴퓨터)로부터 다운로드하라는 명령을 컴퓨터 네트워크를 통해 제1 피어 컴퓨터로 송신하는 단계를 포함할 수 있다. 그 소스는 하나 이상의 선택 메트릭들에 따라 선택될 수 있다. 제2 디지털 콘텐츠 항목은 제1 피어 컴퓨터의 로컬 저장 머신의 사용자 제어 부분에 저장될 수 있다. 일부 실시예들에서, 이 방법은 제2 디지털 콘텐츠 항목을 제1 피어 컴퓨터로 업로드하라는 명령을 컴퓨터 네트워크를 통해 제2 디지털 콘텐츠 항목을 가지는 것으로 식별된 P2P 네트워크의 피어 컴퓨터로 송신하는 단계를 포함할 수 있다. 다시 말해, CMS 컴퓨터는 콘텐츠 배포 시스템의 구성에 따라 디지털 콘텐츠 항목의 업로드 또는 다운로드를 명령하도록 구성될 수 있다.
일부 실시예들에서, 이 방법은 제2 디지털 콘텐츠 항목의 이용가능성이 문턱 이용가능성을 초과할 때까지 제2 디지털 콘텐츠 항목을 다운로드하라는 명령들을 제2 디지털 콘텐츠 항목을 갖지 않는 P2P 네트워크의 피어 컴퓨터들로 송신하는 단계를 포함할 수 있다.
1232에서, 방법(1200)은 제1 피어 컴퓨터가 제2 디지털 콘텐츠 항목을 소스로부터 다운로드했다는 것을 나타내는 보고를 컴퓨터 네트워크를 통해 제1 피어 컴퓨터로부터 수신하는 단계를 포함할 수 있다. 제2 디지털 콘텐츠 항목은 제1 피어 컴퓨터에 의해 의무적으로 다운로드되어, 제1 피어 컴퓨터의 로컬 저장 머신의 서비스 제어 부분에 저장될 수 있다.
1234에서, 방법(1200)은 제2 디지털 콘텐츠 항목을 제1 피어 컴퓨터로부터 다운로드하라는 명령을 컴퓨터 네트워크를 통해 P2P 네트워크의 제3 피어 컴퓨터로 송신하는 단계를 포함할 수 있다. 그 명령은, P2P 네트워크에서의 제2 디지털 콘텐츠 항목의 이용가능성을 증가시키기 위해, 관리 동작의 일부로서 송신될 수 있다.
1236에서, 방법(1200)은 제1 피어 컴퓨터로부터의 제2 디지털 콘텐츠 항목을 제1 피어 컴퓨터의 로컬 저장 머신의 서비스 제어 부분으로부터 삭제하라는 명령을 컴퓨터 네트워크를 통해 제1 피어 컴퓨터로 송신하는 단계를 포함할 수 있다.
1238에서, 방법(1200)은 복수의 피어 컴퓨터들로부터 집계된 원격 측정 데이터로부터 도출되는 P2P 네트워크의 하나 이상의 참여 메트릭들에 따라 P2P 네트워크의 하나 이상의 피어 컴퓨터들에 보상을 제공하는 단계를 포함할 수 있다.
하나의 예에서, 보상은 피어에 참여 순위를 할당하는 것을 포함할 수 있다.
그에 따라, 1240에서, 방법(1200)은 P2P 네트워크의 피어 컴퓨터들의 참여 순위를 제공하는 단계를 포함할 수 있다. 예를 들어, 제공하는 단계는 각각의 피어 컴퓨터의 참여 순위에 의해 정렬된 P2P 네트워크의 피어 컴퓨터들의 목록을 디스플레이하는 단계를 포함할 수 있다. 목록의 일례는 도 15에 도시되어 있고, 이하에서 더 상세히 기술된다. 목록은 피어 컴퓨터가 그의 순위를 증가시키기 위해 P2P 네트워크 전체에 걸쳐 콘텐츠를 전송하는 일에 참여하는 것에 대한 인센티브를 제공할 수 있다. 한편, P2P 네트워크의 상태가 디지털 콘텐츠 항목들의 이용가능성의 증가를 통해 개선될 수 있다. 다른 예들에서, 피어 컴퓨터들의 참여 순위가 표, 계층적 디스플레이(예컨대, 영역별로 되어 있음) 등에 제공될 수 있다. 피어 컴퓨터들의 참여 순위가 본 개시 내용의 범주를 벗어남이 없이 임의의 적당한 방식으로 제공될 수 있다는 것을 잘 알 것이다.
P2P 네트워크의 피어 컴퓨터들로부터의 원격 측정 데이터를 집계하는 것 및 집계된 원격 측정 데이터로부터 도출되는 메트릭들에 기초하여 동작들을 수행하는 것에 의해, 동작의 효율 및 피어 컴퓨터들은 물론 P2P 네트워크의 일부 또는 전부의 전체적인 상태가 향상될 수 있다.
도 14는 본 개시 내용의 일 실시예에 따른, 콘텐츠를 배포하는 방법(1400)을 도시한 것이다. 예를 들어, 방법(1400)은 도 1에 도시된 P2P 네트워크(102)의 CMS 컴퓨터(110)와 같은, P2P 네트워크의 CMS 컴퓨터에 의해 수행될 수 있다. 1402에서, 방법(1400)은 큐레이션된 디지털 콘텐츠 항목을 배포를 위해 컴퓨터 네트워크를 통해 공용 P2P 네트워크에 게시하는 단계를 포함할 수 있다. 몇몇 경우들에 있어서, 큐레이션된 디지털 콘텐츠 항목이 사설 P2P 네트워크의 CMS 컴퓨터에 의해 게시될 수 있다.
1404에서, 방법(1400)은 피어 컴퓨터가 공용 P2P 네트워크로부터 큐레이션된 디지털 콘텐츠 항목을 획득했다는 표시를 컴퓨터 네트워크를 통해 사설 P2P 네트워크의 피어 컴퓨터로부터 수신하는 단계를 포함할 수 있다.
1406에서, 방법(1400)은 사설 P2P 네트워크의 피어 컴퓨터에 의해 획득된 큐레이션된 디지털 콘텐츠 항목을 유효성 확인하는 단계를 포함할 수 있다.
1408에서, 방법(1400)은 공용 P2P 네트워크로부터 큐레이션된 디지털 콘텐츠 항목을 획득한 비가입 피어 컴퓨터를 식별하는 단계를 포함할 수 있다. 비가입 피어 컴퓨터는 사설 P2P 네트워크에 가입되어 있지 않을 수 있다. 몇몇 경우들에 있어서, 공용 P2P 네트워크가 어떤 가입도 필요로 하지 않을 수 있기 때문에, 비가입 피어 컴퓨터는 공용 P2P 네트워크의 구성원일 수 있다.
1410에서, 방법(1400)은 큐레이션된 디지털 콘텐츠를 비가입 피어 컴퓨터로부터 다운로드하라는 명령을 컴퓨터 네트워크를 통해 큐레이션된 디지털 콘텐츠 항목을 갖지 않는 사설 P2P 네트워크의 피어 컴퓨터로 송신하는 단계를 포함할 수 있다.
1412에서, 방법(1400)은, 큐레이션된 디지털 콘텐츠 항목이 사전 결정된 기간 동안 공용 P2P 네트워크에 게시된 후에, 큐레이션된 디지털 콘텐츠 항목을 배포를 위해 컴퓨터 네트워크를 통해 사설 P2P 네트워크에 게시하는 단계를 포함할 수 있다.
큐레이션된 디지털 콘텐츠를 공용 P2P 네트워크에 게시하는 것에 의해, 큐레이션된 디지털 콘텐츠 항목을 배포하고 그의 이용가능성을 다른 방식으로 증가시키기 위해 공용 P2P 네트워크의 자원들이 이용될 수 있다. 게다가, 큐레이션된 디지털 콘텐츠 항목이 사설 P2P 네트워크에 유입될 때, 큐레이션된 디지털 콘텐츠 항목은 사설 P2P 네트워크에서 배포하기에 적당하다는 것으로 보장하기 위해 유효성 확인될 수 있다. 그에 따라, 사설 P2P 네트워크에 대한 부하를 감소시키면서, 큐레이션된 콘텐츠의 이용가능성이 신속하게 증가될 수 있다.
앞서 기술된 방법들의 다양한 작동들, 동작들, 또는 기능들이 예시된 순서로, 병렬로 수행될 수 있거나, 몇몇 경우들에 있어서, 생략될 수 있다는 것을 잘 알 것이다. 게다가, 앞서 기술한 방법들이 임의의 적당한 방식으로 결합될 수 있다. 마찬가지로, 처리의 순서가 본 명세서에 기술된 예시적인 실시예들의 특징들 및 장점들을 달성하는데 꼭 필요한 것은 아니며, 예시 및 설명의 용이함을 위해 제공된 것이다. 예시된 작동들, 기능들, 또는 동작들 중 하나 이상이 사용되는 특정의 전략에 따라 반복하여 수행될 수 있다.
도 15는 본 개시 내용의 일 실시예에 따른, 사용자에게 디스플레이가능한 보상 인터페이스(1500)를 도시한 것이다. 일부 실시예들에서, 보상 인터페이스가 도 1에 도시된 CMS 컴퓨터(110)에 의해 생성될 수 있다. 일부 실시예들에서, 보상 인터페이스가 도 1에 도시된 피어 컴퓨터(101)에 의해 생성될 수 있다. 일부 실시예들에서, 보상 인터페이스가 피어 보상 정보에의 액세스에 의해 써드파티에 의해 렌더링될 수 있다. 보상 인터페이스(1500)는 P2P 네트워크에의 참여에 관련된 정보는 물론, P2P 네트워크에의 참여에 기초하여 받게 되는 보상을 디스플레이하는 그래픽 사용자 인터페이스일 수 있다.
보상 인터페이스(1500)는 피어 컴퓨터가 P2P 네트워크에서 상호작용할 때 시간에 따라 수집될 수 있는 피어 컴퓨터 참여 통계(1502)를 포함할 수 있다. 참여 통계는 씨딩 통계 및 리칭 통계를 포함할 수 있다. 참여 통계의 다른 비제한적인 예는 씨딩된 콘텐츠의 조각들, 리칭된 콘텐츠의 조각들, 씨딩된 바이트 수, 리칭된 바이트 수, 씨딩된 총 시간(단위: 분), 리칭된 총 시간(단위: 분), 피어와의 가장 긴 중단없는 씨딩 세션, 씨딩된 파일의 가장 많은 조각들, 단독으로 씨딩된 파일들의 수, 씨딩된 게임의 조각들의 수, 게임이 완전히 씨딩된 횟수 등을 포함할 수 있다. 일부 실시예들에서, 피어 컴퓨터 참여 통계는 콘텐츠 카테고리(예컨대, 콘텐츠 유형, 제목, 장르, 및/또는 계열)별 참여에 따라 열거될 수 있다.
보상 인터페이스(1500)는 피어 사용자 참여 통계(1504)를 포함할 수 있다. 피어 사용자 참여 통계는, 복수의 상이한 피어 컴퓨터들을 사용할 수 있는 사용자에 연계되어 있을 수 있다는 것을 제외하고는, 피어 컴퓨터 참여 통계와 유사할 수 있다.
보상 인터페이스(1500)는 P2P 네트워크 내의 각각의 피어 컴퓨터의 참여 순위에 따라 피어 컴퓨터들을 열거하는 참여 목록 또는 순위표(1506)를 포함할 수 있다. 참여 순위는 원격 측정 데이터로부터 도출되는 하나 이상의 참여 메트릭들에 따라 할당될 수 있다. 일부 실시예들에서, 순위표는 특정의 참여 통계를 하이라이트하는 것을 비롯하여 상위 순위의 피어 컴퓨터들을 나타낼 수 있다.
보상 인터페이스(1500)는 피어 참여 통계의 비교(1508)를 포함할 수 있다. 비교는 사용자가 그의 참여 레벨을 P2P 네트워크의 다른 피어 컴퓨터들과 비교하여 평가할 수 있게 할 것이다.
보상 인터페이스(1500)는 피어 컴퓨터에게 제공되는 보상을 포함할 수 있다. 예를 들어, 보상 인터페이스(1500)는 피어 컴퓨터가 P2P 네트워크에의 참여를 통해 얻은 성과(1510)(예컨대, 가장 많은 업로드, 가장 긴 업로드 세션, 및 가장 긴 중단없는 세션)를 포함할 수 있다. 피어 컴퓨터가 더 큰 성과로 보상받게 됨에 따라, 성과(1510)가 변화될 수 있거나 점진적으로 더 어려울 수 있다. 보상 인터페이스(1500)는 상환가능한 보상(1512)을 포함할 수 있다. 예를 들어, 상환가능한 보상은 상환가능 항목, 쿠폰, 포인트, 또는 금전적 보상을 포함할 수 있다. 보상은 명성(예컨대, 타이틀, 순위 등) 또는 임의의 다른 적당한 상(prize)을 추가로 포함할 수 있다.
보상 인터페이스 및 관련 보상 메커니즘들은 디지털 콘텐츠 항목을 씨딩하는 P2P 네트워크의 참여자들 간에 경쟁 환경을 조성할 수 있고, 이는 궁극적으로 P2P 네트워크의 씨드 집단(seed population)을 증가시킨다. 이러한 방식으로, 피어들 간의 선의의 경쟁은 전체적으로 더 나은 P2P 네트워크를 가져올 수 있다.
일부 실시예들에서, 본 명세서에 기술된 방법 및 프로세스는 하나 이상의 컴퓨팅 디바이스들의 컴퓨팅 시스템에 연계될 수 있다. 상세하게는, 이러한 방법들 및 프로세스들은 컴퓨터 애플리케이션 프로그램 또는 서비스, API(application-programming interface), 라이브러리, 및/또는 기타 컴퓨터 프로그램 제품으로서 구현될 수 있다.
도 16은 앞서 기술한 방법들 및 프로세스들 중 하나 이상을 수행할 수 있는 컴퓨팅 시스템(1600)의 비제한적인 실시예를 개략적으로 나타낸 것이다.
컴퓨팅 시스템(1600)은 간략화된 형태로 도시되어 있다. 컴퓨팅 시스템(1600)은 하나 이상의 게임 콘솔, 개인용 컴퓨터, 서버 컴퓨터, 태블릿 컴퓨터, 홈 엔터테인먼트 컴퓨터, 네트워크 컴퓨팅 디바이스, 모바일 컴퓨팅 디바이스, 이동 통신 디바이스(예컨대, 스마트폰), 및/또는 기타 컴퓨팅 디바이스의 형태를 취할 수 있다. 일부 실시예들에서, 컴퓨팅 시스템(1600)은, 도 1에 도시된 피어 컴퓨터(101)와 같은, 피어 컴퓨터를 나타낼 수 있다. 일부 실시예들에서, 컴퓨팅 시스템(1600)은 도 1에 도시된 CMS 컴퓨터(110)를 나타낼 수 있다. 일부 실시예들에서, 컴퓨팅 시스템(1600)은 도 3에 도시된 CMS 컴퓨터(300)의 컴퓨터 아키텍처를 구현할 수 있다. 일부 실시예들에서, 컴퓨팅 시스템(1600)은, 도 1에 도시된 CDN 컴퓨터(114)와 같은, CDN 컴퓨터를 나타낼 수 있다.
컴퓨팅 시스템(1600)은 로직 머신(logic machine)(1602) 및 저장 머신(storage machine)(1604)를 포함한다. 컴퓨팅 시스템(1600)은 디스플레이 서브시스템(1606), 입력 서브시스템(1608), 통신 서브시스템(1610), 및/또는 도 16에 도시되지 않은 기타 구성요소들을 선택적으로 포함할 수 있다.
로직 머신(1602)는 명령어들을 실행하도록 구성된 하나 이상의 물리 디바이스들을 포함할 수 있다. 예를 들어, 로직 머신은 하나 이상의 애플리케이션, 서비스, 프로그램, 루틴, 라이브러리, 객체, 구성요소, 데이터 구조, 또는 기타 논리적 구성(logical construct)의 일부인 명령어들을 실행하도록 구성될 수 있다. 이러한 명령어들은 작업을 수행하거나, 데이터 형식(data type)을 구현하거나, 하나 이상의 구성요소의 상태를 변환하거나, 기술적 효과를 달성하거나, 다른 방식으로 원하는 결과에 도달하도록 구현될 수 있다.
로직 머신은 소프트웨어 명령어들을 실행하도록 구성된 하나 이상의 프로세서들을 포함할 수 있다. 그에 부가하여 또는 다른 대안으로서, 로직 머신은 하드웨어 또는 펌웨어 명령어들을 실행하도록 구성된 하나 이상의 하드웨어 또는 펌웨어 로직 머신들을 포함할 수 있다. 로직 머신의 프로세서는 단일 코어 또는 멀티 코어일 수 있고, 그에서 실행되는 명령어들은 순차, 병렬, 및/또는 분산 처리를 하도록 구성될 수 있다. 로직 머신의 개개의 구성요소들은 선택적으로 원격지에 위치해 있을 수 있는 및/또는 협조 처리(coordinated processing)를 하도록 구성될 수 있는 2개 이상의 개별 디바이스들 간에 분산되어 있을 수 있다. 로직 머신의 측면들이 가상화되고 클라우드 컴퓨팅 구성으로 구성된, 원격적으로 액세스가능한 네트워크화된 컴퓨팅 디바이스들에 의해 실행될 수 있다.
저장 머신(1604)는 본 명세서에 기술된 방법들 및 프로세스들을 구현하기 위해 로직 머신에 의해 실행가능한 명령어들을 보유하도록 구성된 하나 이상의 물리 디바이스들을 포함한다. 이러한 방법들 및 프로세스들이 구현될 때, 저장 머신(1604)의 상태가 - 예컨대, 다른 데이터를 보유하도록 - 변환될 수 있다.
저장 머신(1604)는 이동식 및/또는 내장형 디바이스를 포함할 수 있다. 저장 머신(1604)는, 그 중에서도 특히, 광 메모리(예컨대, CD, DVD, HD-DVD, 블루레이 디스크 등), 반도체 메모리(예컨대, RAM, EPROM, EEPROM 등), 및/또는 자기 메모리(예컨대, 하드 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, MRAM 등)를 포함할 수 있다. 저장 머신(1604)는 휘발성, 비휘발성, 동적, 정적, 판독/기입, 판독 전용, 랜덤 액세스, 순차 액세스, 위치 어드레싱가능(location-addressable), 파일 어드레싱가능(file-addressable), 및/또는 내용 어드레싱가능(content-addressable) 디바이스를 포함할 수 있다.
컴퓨터 시스템(1600)이 피어 컴퓨터를 나타내는 경우에, 저장 머신(1604)는 디지털 콘텐츠 항목의 다양한 부분들을 저장할 수 있는 복수의 로컬 저장 머신들을 포함할 수 있고, 컴퓨터 시스템은 하나 이상의 다운로드 메트릭들에 따라 디지털 콘텐츠 항목의 조각들을 다운로드할 로컬 저장 머신 또는 다른 피어 컴퓨터를 선택하도록 구성될 수 있다. 예를 들어, 디지털 콘텐츠 항목의 조각이 광 메모리 및 반도체 메모리를 비롯한 로컬 저장 머신들에 저장될 수 있는 것은 물론, P2P 네트워크의 피어 컴퓨터로부터 다운로드될 수 있고, 컴퓨터 시스템(1600)은, 어느 소스가 디지털 콘텐츠 항목을 가장 빨리 배달할 수 있는지와 같은, 다운로드 메트릭에 기초하여 이들 소스 중 하나로부터 디지털 콘텐츠 항목에 대한 소스를 선택하도록 구성될 수 있다. 주의할 점은, 이것이 하나의 예에 불과하고, 본 개시 내용의 범주를 벗어남이 없이 다양한 변형들이 수행될 수 있다는 것이다.
게다가, 컴퓨터 시스템(1600)이 피어 컴퓨터를 나타내는 경우에, 저장 머신(1604)는 저장 머신(1604)의 사용자 제어 부분(1612) 및 저장 머신(1604)의 서비스 제어 부분(1614)을 포함할 수 있다. 사용자 제어 부분(1612)은 피어 컴퓨터에 의해 자발적으로 다운로드된 디지털 콘텐츠 항목들을 저장하도록 구성될 수 있다. 서비스 제어 부분(1614)은, CMS 컴퓨터의 명령 등에 의해, 피어 컴퓨터에 의해 의무적으로 다운로드된 디지털 콘텐츠 항목들을 저장하도록 구성될 수 있다.
일부 실시예들에서, CMS 컴퓨터는 사용자 제어 부분(1612) 또는 서비스 제어 부분(1614)으로부터의 디지털 콘텐츠 항목을 제공하라고 피어 컴퓨터에 명령할 수 있다. 일부 실시예들에서, 피어 컴퓨터는 서비스 제어 부분(1614)에 저장된 디지털 콘텐츠 항목들에 직접 액세스할 권한을 갖지 않도록 구성될 수 있다(예컨대, 데이터가 암호화되어 있고 복호화하기 위해 권한 부여 및/또는 인증을 필요로 함). 일부 실시예들에서, 피어 컴퓨터는 서비스 제어 부분(1614)에 저장된 디지털 콘텐츠 항목에 액세스하여 그를 사용하도록 구성될 수 있다. 일부 실시예들에서, 피어 컴퓨터는 의무적으로 호스팅하거나 씨딩하고 있는 디지털 콘텐츠 항목들을 인식하지 못할 수 있다. 일부 실시예들에서, 피어 컴퓨터는 P2P 네트워크에 참여하기 위해 로컬 저장 머신의 서비스 제어 부분(1614)을 할당할 수 있다. 일부 실시예들에서, 피어 컴퓨터는 P2P 네트워크에 참여하기 위해 대역폭의 일부분을 의무적인 호스팅 또는 씨딩에 할당할 수 있다. 일부 실시예들에서, 피어는 로컬 저장 머신의 일부분을 서비스 제어 부분으로서 지정하는 일에 참가하거나 참가하지 않을 수 있다. 일부 실시예들에서, 피어는 로컬 저장 머신의 일부분을 서비스 제어 부분으로서 지정하는 일에 참가하는 것과 교환으로 보상을 받을 수 있다. 일부 실시예들에서, P2P 네트워크 내의 피어 컴퓨터들 전부가 아닌 일부가 서비스 제어 부분을 가질 수 있다. 일부 실시예들에서, P2P 네트워크 내의 피어 컴퓨터들 전부가 서비스 제어 부분을 가질 수 있다. 일부 실시예들에서, 서비스 제어 부분은 사용자 제어 부분의 크기의 몇 분의 1일 수 있다. 그렇지만, 서비스 제어 부분 및 사용자 제어 부분이 본 개시 내용의 범주를 벗어남이 없이 로컬 저장 머신의 임의의 적당한 부분일 수 있다는 것을 잘 알 것이다.
저장 머신(1604)가 하나 이상의 물리적 디바이스들을 포함한다는 것을 잘 알 것이다. 그렇지만, 본 명세서에 기술된 명령어들의 측면들은, 다른 대안으로서, 물리 디바이스에 의해 보유되지 않는 통신 매체(예컨대, 전자기 신호, 광 신호 등)에 의해 유한한 지속기간 동안 전파될 수 있다.
로직 머신(1602) 및 저장 머신(1604)의 측면들이 하나 이상의 하드웨어 논리 구성요소들 내에 함께 통합될 수 있다. 이러한 하드웨어 논리 구성요소들은, 예를 들어, FPGA(field-programmable gate array), PASIC/ASIC(program- and application-specific integrated circuit), PSSP/ASSP(program- and application-specific standard product), SOC(system-on-a-chip), 및 CPLD(complex programmable logic device)를 포함할 수 있다.
"서비스"가, 본 명세서에서 사용되는 바와 같이, 다수의 사용자 세션들에 걸쳐 실행가능한 애플리케이션 프로그램이라는 것을 잘 알 것이다. 서비스가 하나 이상의 시스템 구성요소, 프로그램, 및/또는 다른 서비스에 이용가능할 수 있다. 일부 구현예들에서, 서비스가 하나 이상의 서버 컴퓨팅 디바이스들에서 실행될 수 있다.
포함되어 있을 때, 디스플레이 서브시스템(1606)은 저장 머신(1604)에 의해 보유된 데이터의 시각적 표현을 제시하는데 사용될 수 있다. 이 시각적 표현은 그래픽 사용자 인터페이스(GUI)의 형태를 취할 수 있다. 본 명세서에 기술된 방법들 및 프로세스들이 저장 머신에 의해 보유된 데이터를 변경하고 따라서 저장 머신의 상태를 변환하기 때문에, 디스플레이 서브시스템(1606)의 상태도 마찬가지로 기본 데이터의 변화를 시각적으로 표현하기 위해 변환될 수 있다. 디스플레이 서브시스템(1606)은 거의 모든 유형의 기술을 이용하는 하나 이상의 디스플레이 디바이스들을 포함할 수 있다. 이러한 디스플레이 디바이스들이 공유된 인클로저에서 로직 머신(1602) 및/또는 저장 머신(804)와 결합될 수 있거나, 이러한 디스플레이 디바이스들이 주변 디스플레이 디바이스일 수 있다.
포함되어 있을 때, 입력 서브시스템(1608)은 키보드, 마우스, 터치 스크린, 또는 게임 컨트롤러와 같은 하나 이상의 사용자 입력 디바이스들을 포함하거나 그와 인터페이스할 수 있다. 일부 실시예들에서, 입력 서브시스템은 선택된 NUI(natural user input) 구성요소를 포함하거나 그와 인터페이스할 수 있다. 이러한 구성요소는 일체형이거나 주변 장치일 수 있고, 입력 동작의 변환(transduction) 및/또는 처리가 온보드(on-board)로 또는 오프보드(off-board)로 처리될 수 있다. 예시적인 NUI 구성요소는 발화(speech) 및/또는 음성(voice) 인식을 위한 마이크; 기계 시각(machine vision) 및/또는 제스처 인식을 위한 적외선, 컬러, 입체, 및/또는 깊이 카메라; 움직임 검출 및/또는 의도 인식을 위한 머리 추적기, 눈 추적기, 가속도계, 및/또는 자이로스코프는 물론; 두뇌 활동을 평가하기 위한 전기장 감지 구성요소를 포함할 수 있다.
포함되어 있을 때, 통신 서브시스템(1610)은 컴퓨팅 시스템(1600)을 하나 이상의 다른 컴퓨팅 디바이스들과 통신 연결시키도록 구성될 수 있다. 통신 서브시스템(1610)은 하나 이상의 다른 통신 프로토콜들과 호환되는 유선 및/또는 무선 통신 디바이스들을 포함할 수 있다. 비제한적인 예로서, 통신 서브시스템은 무선 전화 네트워크, 또는 유선 또는 무선 LAN(local-area network) 또는 WAN(wide-area network)을 통해 통신하도록 구성될 수 있다. 일부 실시예들에서, 통신 서브시스템은 컴퓨팅 시스템(1600)이 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 메시지를 다른 디바이스들로 및/또는 그들로부터 송신 및/또는 수신할 수 있게 할 수 있다.
본 명세서에 기술된 구성들 및/또는 접근법들이 사실상 예시적인 것이라는 것과, 다양한 변형들이 가능하기 때문에, 이들 특정의 실시예 또는 예가 제한하는 의미로 생각되어서는 안된다는 것을 잘 알 것이다. 본 명세서에 기술된 구체적인 루틴들 또는 방법들은 임의의 수의 처리 전략들 중 하나 이상을 나타낼 수 있다. 그에 따라, 예시된 및/또는 기술된 다양한 동작들이 예시된 및/또는 기술된 순서로, 다른 순서로, 병렬로 수행될 수 있거나, 생략될 수 있다. 마찬가지로, 전술한 프로세스들의 순서가 변경될 수 있다. 더욱이, 용어 "제1", "제2" 및 "제3" 등이 단순히 수식어로서 사용되고, 그의 대상물들에 대한 수치적, 순서적, 또는 공간적 요구사항을 부과하기 위한 것이 아님을 잘 알 것이다.
본 개시 내용의 발명 요지는 본 명세서에 개시되어 있는 다양한 프로세스들, 시스템들 및 구성들과 기타 특징들, 기능들, 동작들 및/또는 특성들은 물론, 이들의 모든 등가물들의 모든 신규의(novel) 비자명한(nonobvious) 콤비네이션 및 서브콤비네이션을 포함한다.

Claims (10)

  1. 방법에 있어서,
    피어-투-피어(peer-to-peer) 네트워크의 복수의 피어 컴퓨터들 ― 상기 복수의 피어 컴퓨터들 각각은 상기 피어-투-피어 네트워크 내에서의 디지털 콘텐츠 항목의 전송에 관련된 원격 측정(telemetry) 데이터를 송신함 ― 로부터의 원격 측정 데이터를 컴퓨터 네트워크를 통해 집계하는(aggregate) 단계;
    제1 디지털 콘텐츠 항목을 제공하도록 추천된 콘텐츠 소스에 대해 질의하는 콘텐츠 획득 요청을 상기 컴퓨터 네트워크를 통해 상기 피어-투-피어 네트워크의 제1 피어 컴퓨터로부터 수신하는 단계; 및
    상기 콘텐츠 획득 요청에 대한 응답 ― 상기 응답은 상기 제1 디지털 콘텐츠 항목을 가지는 상기 피어-투-피어 네트워크의 제2 피어 컴퓨터를 상기 추천된 콘텐츠 소스로서 식별하고, 상기 제2 피어 컴퓨터는 상기 복수의 피어 컴퓨터들로부터 집계된 상기 원격 측정 데이터로부터 도출되는 피어 선택 메트릭에 따라 선택됨 ― 을 상기 컴퓨터 네트워크를 통해 상기 제1 피어 컴퓨터로 송신하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 피어 선택 메트릭은, 상기 디지털 콘텐츠 항목을 업로드하는데 이용가능한 피어 컴퓨터들의 현재 대역폭들에 기초하여, 상기 제1 디지털 콘텐츠 항목을 가지는 피어 컴퓨터를 상기 추천된 콘텐츠 소스로서 선택하는 것인, 방법.
  3. 제1항에 있어서,
    상기 피어 선택 메트릭은, 상기 디지털 콘텐츠 항목을 업로드하는데 이용가능한 피어 컴퓨터들의 현재 레이턴시들에 기초하여, 상기 제1 디지털 콘텐츠 항목을 가지는 피어 컴퓨터를 상기 추천된 콘텐츠 소스로서 선택하는 것인, 방법.
  4. 제1항에 있어서,
    상기 피어 선택 메트릭은, 상기 디지털 콘텐츠 항목을 업로드하는데 이용가능한 피어 컴퓨터들의 이력적(historical) 대역폭들에 기초하여, 상기 제1 디지털 콘텐츠 항목을 가지는 피어 컴퓨터를 상기 추천된 콘텐츠 소스로서 선택하는 것인, 방법.
  5. 제1항에 있어서,
    상기 피어 선택 메트릭은, 상기 디지털 콘텐츠 항목을 업로드하는데 이용가능한 피어 컴퓨터들의 이력적 레이턴시들에 기초하여, 상기 제1 디지털 콘텐츠 항목을 가지는 피어 컴퓨터를 상기 추천된 콘텐츠 소스로서 선택하는 것인, 방법.
  6. 제1항에 있어서,
    상기 피어 선택 메트릭은, 피어 컴퓨터가 상기 디지털 콘텐츠 항목을 업로드하는데 이용가능하다는 것을 표시하는 이력적 사용 패턴들에 기초하여, 상기 제1 디지털 콘텐츠 항목을 가지는 피어 컴퓨터를 상기 추천된 콘텐츠 소스로서 선택하는 것인, 방법.
  7. 제1항에 있어서,
    상기 피어 선택 메트릭은, 상기 제1 디지털 콘텐츠 항목을 가지는 피어 컴퓨터가 상기 제1 피어 컴퓨터와 인터넷 서비스 제공자를 공유하는 것에 기초하여, 상기 피어 컴퓨터를 상기 추천된 콘텐츠 소스로서 선택하는 것인, 방법.
  8. 제1항에 있어서,
    상기 피어 선택 메트릭은, 상기 제1 디지털 콘텐츠 항목을 가지는 피어 컴퓨터가 상기 제1 피어 컴퓨터가 연결되는 인트라넷 네트워크에 연결되어 있는 것에 기초하여, 상기 피어 컴퓨터를 상기 추천된 콘텐츠 소스로서 선택하는 것인, 방법.
  9. 제1항에 있어서,
    상기 제1 피어 컴퓨터가 상기 제2 피어 컴퓨터로부터 상기 제1 디지털 콘텐츠 항목을 다운로드하고 있는 동안, 상기 제1 피어 컴퓨터 및 상기 제2 피어 컴퓨터로부터 업데이트된 원격 측정 데이터를 수신하는 단계; 및
    상기 제1 디지털 콘텐츠 항목을 가지는 상기 피어-투-피어 네트워크의 다른 피어 컴퓨터 ― 상기 다른 피어 컴퓨터는 상기 업데이트된 원격 측정 데이터를 포함하는 상기 원격 측정 데이터로부터 도출되는 상기 피어 선택 메트릭에 따라 선택됨 ― 를 상기 추천된 콘텐츠 소스로서 식별하는 통지를 상기 컴퓨터 네트워크를 통해 상기 제1 피어 컴퓨터로 송신하는 단계
    를 더 포함하는, 방법.
  10. 로직 머신에 의해 실행가능한 명령어들을 보유하는 저장 머신에 있어서,
    상기 명령어들은,
    피어-투-피어 네트워크의 복수의 피어 컴퓨터들 ― 상기 복수의 피어 컴퓨터들 각각은 상기 피어-투-피어 네트워크 내에서의 디지털 콘텐츠 항목의 전송에 관련된 원격 측정 데이터를 송신함 ― 로부터의 원격 측정 데이터를 컴퓨터 네트워크를 통해 집계하고;
    제1 디지털 콘텐츠 항목을 제공하도록 추천된 콘텐츠 소스에 대해 질의하는 콘텐츠 획득 요청을 상기 컴퓨터 네트워크를 통해 상기 피어-투-피어 네트워크의 제1 피어 컴퓨터로부터 수신하며;
    상기 콘텐츠 획득 요청에 대한 응답 ― 상기 응답은 상기 제1 디지털 콘텐츠 항목을 가지는 상기 피어-투-피어 네트워크의 제2 피어 컴퓨터를 상기 추천된 콘텐츠 소스로서 식별하고, 상기 제2 피어 컴퓨터는 상기 복수의 피어 컴퓨터들로부터 집계된 상기 원격 측정 데이터로부터 도출되는 피어 선택 메트릭에 따라 선택됨 ― 을 상기 컴퓨터 네트워크를 통해 상기 제1 피어 컴퓨터로 송신하도록
    실행가능한 것인, 저장 머신.
KR1020157018114A 2012-12-14 2013-12-11 P2p 네트워크에서의 콘텐츠 소스 선택 KR102293004B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217026161A KR102439947B1 (ko) 2012-12-14 2013-12-11 P2p 네트워크에서의 콘텐츠 소스 선택

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/715,734 US9374420B2 (en) 2012-12-14 2012-12-14 Content source selection in a P2P network
US13/715,734 2012-12-14
PCT/US2013/074412 WO2014093495A1 (en) 2012-12-14 2013-12-11 Content source selection in a p2p network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217026161A Division KR102439947B1 (ko) 2012-12-14 2013-12-11 P2p 네트워크에서의 콘텐츠 소스 선택

Publications (2)

Publication Number Publication Date
KR20150097581A true KR20150097581A (ko) 2015-08-26
KR102293004B1 KR102293004B1 (ko) 2021-08-26

Family

ID=49885442

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157018114A KR102293004B1 (ko) 2012-12-14 2013-12-11 P2p 네트워크에서의 콘텐츠 소스 선택
KR1020217026161A KR102439947B1 (ko) 2012-12-14 2013-12-11 P2p 네트워크에서의 콘텐츠 소스 선택

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217026161A KR102439947B1 (ko) 2012-12-14 2013-12-11 P2p 네트워크에서의 콘텐츠 소스 선택

Country Status (6)

Country Link
US (2) US9374420B2 (ko)
EP (1) EP2932685A1 (ko)
JP (1) JP2016501416A (ko)
KR (2) KR102293004B1 (ko)
CN (1) CN104937902B (ko)
WO (1) WO2014093495A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8997001B2 (en) * 2012-06-29 2015-03-31 Infinera Corporation Digital link viewer
US9716749B2 (en) 2012-12-14 2017-07-25 Microsoft Technology Licensing, Llc Centralized management of a P2P network
US9413846B2 (en) 2012-12-14 2016-08-09 Microsoft Technology Licensing, Llc Content-acquisition source selection and management
US10391387B2 (en) 2012-12-14 2019-08-27 Microsoft Technology Licensing, Llc Presenting digital content item with tiered functionality
US9450879B2 (en) * 2014-05-09 2016-09-20 Nexgen Storage, Inc. Adaptive bandwidth throttling
US10404781B2 (en) * 2015-01-14 2019-09-03 Cisco Technology, Inc. Flow characteristic based peer-to-peer system
US10091264B2 (en) * 2015-12-26 2018-10-02 Intel Corporation Technologies for streaming device role reversal
US10798147B2 (en) 2016-06-30 2020-10-06 Microsoft Technology Licensing, Llc Constraint based controlled seeding
US10587496B2 (en) * 2017-02-10 2020-03-10 Microsoft Technology Licensing, Llc Localizing traffic using network topology
CN107453896B (zh) 2017-06-27 2020-08-04 创新先进技术有限公司 多重区块链网络数据处理方法、装置及服务器
US11340894B2 (en) 2019-04-30 2022-05-24 JFrog, Ltd. Data file partition and replication
US11886390B2 (en) 2019-04-30 2024-01-30 JFrog Ltd. Data file partition and replication
US11386233B2 (en) 2019-04-30 2022-07-12 JFrog, Ltd. Data bundle generation and deployment
US10972289B2 (en) 2019-07-19 2021-04-06 JFrog, Ltd. Software release verification
US10999314B2 (en) 2019-07-19 2021-05-04 JFrog Ltd. Software release tracking and logging
US11695829B2 (en) * 2020-01-09 2023-07-04 JFrog Ltd. Peer-to-peer (P2P) downloading
US11860680B2 (en) 2020-11-24 2024-01-02 JFrog Ltd. Software pipeline and release validation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080032183A (ko) * 2005-07-14 2008-04-14 야후! 인크. 콘텐츠 라우터
KR20080103535A (ko) * 2006-02-21 2008-11-27 마이크로소프트 코포레이션 피어-대-피어 콘텐트 분배 클라우드들에서의 토폴로지 관리방법, 트랙커 노드, 피어-대-피어 콘텐트 분배 클라우드 및 컴퓨터 프로그램

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004100010A1 (en) * 2003-04-30 2004-11-18 Iptv Systems, Llc Secure, continuous, proxy-optimized, device-to-device data download reception system and method of use
US7881235B1 (en) * 2004-06-25 2011-02-01 Apple Inc. Mixed media conferencing
US7555532B2 (en) * 2004-09-23 2009-06-30 Orbital Data Corporation Advanced content and data distribution techniques
JP2007164710A (ja) * 2005-12-16 2007-06-28 Bb Mobile Corp バナー配信システム及びバナー配信方法
CN100471169C (zh) * 2006-04-14 2009-03-18 清华大学 基于对等网络的视频直播应用中节点选择与检测方法
US7945689B2 (en) 2007-03-23 2011-05-17 Sony Corporation Method and apparatus for transferring files to clients using a peer-to-peer file transfer model and a client-server transfer model
US20080059631A1 (en) * 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
ATE551816T1 (de) * 2006-09-28 2012-04-15 Rayv Inc System und verfahren zum peer-to-peer-medien- streaming
US7640224B2 (en) * 2007-03-26 2009-12-29 International Business Machines Corporation Active sampling collaborative prediction method for end-to-end performance prediction
CN101345628B (zh) * 2007-07-13 2011-06-22 中兴通讯股份有限公司 源节点选择方法
CN101123565B (zh) * 2007-07-30 2011-07-13 中兴通讯股份有限公司 P2p系统及用于该系统的资源查询方法
CN100558042C (zh) * 2007-09-29 2009-11-04 华中科技大学 一种基于超级节点的p2p直播方法
JP5119844B2 (ja) * 2007-10-09 2013-01-16 沖電気工業株式会社 ファイル転送システム、ファイル転送方法、ファイル転送プログラム及びインデックスサーバ
US7778165B2 (en) 2007-11-08 2010-08-17 University Of Washington Information plane for determining performance metrics of paths between arbitrary end-hosts on the internet
CN100518129C (zh) * 2007-12-10 2009-07-22 华中科技大学 混杂式对等网络环境下的通用资源管理方法
FR2927183B1 (fr) * 2008-01-31 2010-02-26 Alcatel Lucent Procede de generation de donnees permettant la recherche de complements de contenus, systeme, terminal et serveur pour la mise en oeuvre du procede
US9037657B2 (en) * 2008-05-23 2015-05-19 The Trustees Of Columbia University In The City Of New York Systems and methods for peer-to-peer bandwidth allocation
US8516082B2 (en) * 2009-03-25 2013-08-20 Limelight Networks, Inc. Publishing-point management for content delivery network
US8924460B2 (en) * 2008-12-19 2014-12-30 International Business Machines Corporation Method and system of administrating a peer-to-peer file sharing network
US8285829B2 (en) * 2008-12-22 2012-10-09 At&T Intellectual Property I, L.P. Method and apparatus for providing peer selection in a network
US9900779B2 (en) 2008-12-30 2018-02-20 Qualcomm Incorporated Centralized control of peer-to-peer communication
WO2010094561A2 (en) * 2009-02-17 2010-08-26 Thomson Licensing Method for providing incentive mechanisms for out-of-order download in communication networks dedicated to the distribution of video-on-demand content
CN101562804B (zh) * 2009-05-12 2012-09-05 中兴通讯股份有限公司 一种基于移动p2p的区域管理服务器系统及其调度方法
US20100293294A1 (en) 2009-05-15 2010-11-18 Alcatel-Lucent Usa Inc. Peer-to-peer communication optimization
US9191219B2 (en) * 2009-06-16 2015-11-17 Adobe Systems Incorporated Network multicast peer discovery methods
KR102042391B1 (ko) * 2009-06-30 2019-11-07 로비 가이드스, 인크. 무선 통신 디바이스 상에 인터랙티브 미디어 안내를 제공하는 시스템 및 방법
CN101621538A (zh) * 2009-08-07 2010-01-06 中兴通讯股份有限公司 一种对等网络中媒体源节点的选择方法和系统
BR112012010503B1 (pt) * 2009-11-03 2021-11-16 Telecom Italia S.P.A. Método para permitir compartilhamento de arquivos de conteúdo entre nós de uma rede não hierárquica, e, rede não hierárquica
US8805932B2 (en) * 2009-11-03 2014-08-12 Telecom Italia S.P.A. Sharing of digital contents in P2P networks exploiting localization data
US8949436B2 (en) * 2009-12-18 2015-02-03 Alcatel Lucent System and method for controlling peer-to-peer connections
CN102006234A (zh) * 2010-12-09 2011-04-06 工业和信息化部电信传输研究所 一种用于优化p2p网络流量的方法和装置
CN103384989B (zh) * 2010-12-28 2016-06-22 思杰系统有限公司 用于对多个下一跳进行策略路由的系统和方法
US20120185595A1 (en) * 2011-01-17 2012-07-19 Alcatel-Lucent Usa Inc. Traffic Localization Mechanism For Distributed Hash Table Based Peer-To-Peer Networks
US8909747B2 (en) * 2011-02-24 2014-12-09 Alcatel Lucent Method and apparatus for localization in peer-to-peer systems
JP5608601B2 (ja) * 2011-03-31 2014-10-15 Kddi株式会社 P2p広告配信方法およびシステム
US20140258415A1 (en) * 2011-06-26 2014-09-11 Israel L'Heureux Network communications via peer network connections
US8949329B2 (en) * 2011-07-22 2015-02-03 Alcatel Lucent Content popularity extraction in distributed hash table based peer-to-peer networks
US20140095605A1 (en) * 2012-10-01 2014-04-03 Matteo Varvello Method and apparatus for increasing localization of peer-to-peer traffic for content distribution in communication network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080032183A (ko) * 2005-07-14 2008-04-14 야후! 인크. 콘텐츠 라우터
KR20080103535A (ko) * 2006-02-21 2008-11-27 마이크로소프트 코포레이션 피어-대-피어 콘텐트 분배 클라우드들에서의 토폴로지 관리방법, 트랙커 노드, 피어-대-피어 콘텐트 분배 클라우드 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
WO2014093495A1 (en) 2014-06-19
CN104937902A (zh) 2015-09-23
CN104937902B (zh) 2019-01-29
US9781056B2 (en) 2017-10-03
US20160285784A1 (en) 2016-09-29
JP2016501416A (ja) 2016-01-18
KR102293004B1 (ko) 2021-08-26
US9374420B2 (en) 2016-06-21
KR102439947B1 (ko) 2022-09-02
KR20210104936A (ko) 2021-08-25
US20140172972A1 (en) 2014-06-19
EP2932685A1 (en) 2015-10-21

Similar Documents

Publication Publication Date Title
US10681124B2 (en) Content distribution storage management
KR102439947B1 (ko) P2p 네트워크에서의 콘텐츠 소스 선택
US9596306B2 (en) Managed P2P network with content-delivery network
US10129334B2 (en) Centralized management of a P2P network

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent