KR20150096660A - 콘텐트 획득 소스 선택 및 관리 기법 - Google Patents

콘텐트 획득 소스 선택 및 관리 기법 Download PDF

Info

Publication number
KR20150096660A
KR20150096660A KR1020157015714A KR20157015714A KR20150096660A KR 20150096660 A KR20150096660 A KR 20150096660A KR 1020157015714 A KR1020157015714 A KR 1020157015714A KR 20157015714 A KR20157015714 A KR 20157015714A KR 20150096660 A KR20150096660 A KR 20150096660A
Authority
KR
South Korea
Prior art keywords
peer
computer
digital content
content item
network
Prior art date
Application number
KR1020157015714A
Other languages
English (en)
Other versions
KR102204100B1 (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 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20150096660A publication Critical patent/KR20150096660A/ko
Application granted granted Critical
Publication of KR102204100B1 publication Critical patent/KR102204100B1/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • 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/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • H04L67/32
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

방법은 복수의 단편을 포함하는 디지털 콘텐트 아이템의 부분을 저장하는 복수의 소스들을 식별하는 단계를 포함한다. 복수의 소스들은 컴퓨터의 하나 이상의 로컬 저장 머신 및 피어 투 피어 네트워크의 하나 이상의 피어 컴퓨터를 포함한다. 방법은 디지털 콘텐트 아이템의 복수의 단편 중 각 단편에 대해, 소스로부터 해당 단편을 다운로드하는 단계 - 소스는 하나 이상의 다운로드 메트릭에 따라 복수의 소스들로부터 선택됨 - 와, 디지털 콘텐트 아이템으로서 컴퓨터 상에서의 설치를 위해 복수의 단편을 편제하는 단계를 더 포함한다.

Description

콘텐트 획득 소스 선택 및 관리 기법{CONTENT-ACQUISITION SOURCE SELECTION AND MANAGEMENT}
피어 투 피어(peer-to-peer: P2P) 네트워크에서, 각 피어 컴퓨터(peer computer)는 P2P 네트워크 내 다른 피어 컴퓨터에 대한 클라이언트 또는 서버로서의 역할을 할 수 있는바, 데이터가 중앙 서버 컴퓨터를 거치게 할 필요 없이 피어 컴퓨터들 간에 직접적으로 디지털 콘텐트 아이템과 같은 다양한 리소스에 대한 공유된 액세스를 가능하게 한다. 예를 들어, 피어 컴퓨터는 디지털 콘텐트 아이템의 가용성(availability)에 대해 P2P 네트워크 내 다른 피어 컴퓨터에 질의하고서, 그 질의에 응답하는 일정한 피어 컴퓨터에게 디지털 콘텐트 아이템을 요청할 수 있다. 전형적으로, 피어 컴퓨터는 질의에 응답하는 첫 번째 피어 컴퓨터 또는 디지털 콘텐트 아이템을 제공하는 데 즉시 이용가능한 피어 컴퓨터에게 디지털 콘텐트 아이템을 해당 피어 컴퓨터의 위치(location), 대역폭(bandwidth), 처리율(throughput), 연결 유형(connection type) 또는 다른 특성과 같은 해당 피어 컴퓨터의 상태에 상관없이 요청할 수 있다. 디지털 콘텐트 아이템을 제공하기 위한 콘텐트 소스(content source)의 그러한 무정보 선택(uninformed selection)은 최적의 다운로드 경험(download experience)보다 못한 것을 초래할 수 있다. 다시 말해, 피어 컴퓨터는 디지털 콘텐트 아이템을 요청하는 경우 콘텐트 소스의 선택에 대하여 무정보 판정(uninformed decision)을 행할 수 있다. 전통적인 P2P 네트워크에서, 피어 컴퓨터는 P2P 네트워크 내의 모든 다른 피어 컴퓨터에 대한 정보 또는 양호한 다운로드 경험을 제공하도록 콘텐트 소스를 선택하기 위해 그러한 정보를 분석하는 메커니즘을 갖지 않는다.
이 개요는 상세한 설명에서 추가로 후술되는 개념들 중 선택된 것을 단순화된 형태로 소개하기 위하여 제공된다. 이 개요는 청구된 대상(claimed subject matter)의 중요 특징 또는 필수적 특징을 식별하도록 의도된 것이 아니고, 청구된 대상의 범주를 한정하기 위하여 사용되도록 의도된 것도 아니다. 나아가, 청구된 대상은 이 개시의 어느 부분에서든 언급된 임의의 또는 모든 난점을 해결하는 구현에 한정되지 않는다.
디지털 콘텐트 아이템을 분배하는 것 및 피어 투 피어 네트워크를 관리하는 것에 관련된 실시예들이 개시된다. 예를 들어, 하나의 실시예에서, 복수의 단편(a plurality of pieces)을 포함하는 디지털 콘텐트 아이템(digital content item)의 부분을 저장하는 복수의 소스(a plurality of sources)가 식별된다. 복수의 소스는 컴퓨터의 하나 이상의 로컬 저장 머신(local storage machine) 및 피어 투 피어 네트워크의 하나 이상의 피어 컴퓨터를 포함한다. 디지털 콘텐트 아이템의 복수의 단편 중 각 단편에 대하여, 해당 단편은 소스로부터 다운로드된다. 그 소스는 하나 이상의 다운로드 메트릭(download metric)에 따라 복수의 소스로부터 선택된다. 복수의 단편은 디지털 콘텐트 아이템으로서 컴퓨터 상에서의 설치(installation)를 위해 편제된다(organized).
도 1은 본 개시의 일 실시예에 따른 콘텐트 분배 컴퓨팅 시스템(content distribution computing system)을 도시한다.
도 2는 본 개시의 일 실시예에 따른 디지털 콘텐트 아이템을 도시한다.
도 3은 본 개시의 일 실시예에 따른 집중화된 관리 서비스(Centralized Management Service: CMS) 컴퓨터 아키텍처를 도시한다.
도 4 및 도 5는 본 개시의 일 실시예에 따라 디지털 콘텐트 아이템을 획득하기 위한 방법을 도시한다.
도 6 및 도 7은 본 개시의 일 실시예에 따라 P2P 네트워크에서 자발적으로 동작을 수행하는 것 및 의무적으로 동작을 수행하는 것을 위한 방법을 도시한다.
도 8은 본 개시의 일 실시예에 따라 콘텐트 소스로서 피어 컴퓨터를 선택하기 위한 방법을 도시한다.
도 9는 본 개시의 다른 실시예에 따라 콘텐트 소스로서 피어 컴퓨터를 선택하기 위한 방법을 도시한다.
도 10은 본 개시의 일 실시예에 따라 P2P 네트워크를 관리하기 위한 방법을 도시한다.
도 11은 본 개시의 일 실시예에 따라 콘텐트를 다운로드하기 위한 방법을 도시한다.
도 12 및 도 13은 본 개시의 일 실시예에 따라 P2P 네트워크를 관리하기 위한 방법을 도시한다.
도 14는 본 개시의 일 실시예에 따라 콘텐트를 분배하기 위한 방법을 도시한다.
도 15는 본 개시의 일 실시예에 따라 사용자에게 디스플레이가능한(displayable) 보상 인터페이스(reward interface)를 도시한다.
도 16은 본 개시의 일 실시예에 따른 컴퓨터 시스템을 도시한다.
본 개시는 일반적으로 피어 투 피어(peer-to-peer: P2P) 네트워크에서 디지털 콘텐트(digital content)를 분배하는 시스템 및 방법에 관련된다. 더욱 구체적으로, 본 개시는 집중화된 관리 서비스(Centralized Management Service: CMS) 컴퓨터를 통해 P2P 네트워크의 다양한 측면을 관리하는 시스템 및 방법에 관련된다. 예를 들어, CMS 컴퓨터는 P2P 네트워크의 각 피어 컴퓨터의 동작을 모니터(monitor)할 수 있고 원격측정(telemetry) 데이터의 형태로 각 피어 컴퓨터로부터 정보를 수신할 수 있다. 원격측정 데이터는 피어 컴퓨터의 상태의 개별적인 표시(indication)를 제공할 수 있다. 나아가, CMS 컴퓨터는 P2P 네트워크의 상태의 전체적인(holistic) 표시를 제공하기 위해 P2P 네트워크의 모든 피어 컴퓨터로부터 원격측정 데이터를 종합(aggregate)할 수 있다.
CMS 컴퓨터는 P2P 네트워크의 피어 컴퓨터에 동작상의 지침(operational guidance)을 제공하기 위해 상이한 메트릭을 계산하는 데에 종합된 원격측정 데이터를 사용할 수 있다. 예를 들어, CMS 컴퓨터는 종합된 원격측정 데이터로부터 도출될 수 있는 하나 이상의 메트릭에 기반하여 디지털 콘텐트 아이템을 획득하기 위한 콘텐트 소스 선택을 조정(coordinate)할 수 있다. 몇몇 경우에, CMS 컴퓨터는 그러한 지침이 일정한 피어(peer)의 디지털 콘텐트 획득 경험을 최적화하는 것을 지향하게 할 수 있다. 몇몇 경우에, CMS는 그러한 지침으로 하여금 전체적으로 P2P 네트워크의 동작을 최적화하는 것을 지향하게 할 수 있다. 몇몇 경우에, 그러한 지침을 제공하는 경우 CMS 컴퓨터는 개별적인 피어의 요구를 P2P 네트워크의 전반적인 양호성(health)과 가늠할 수 있다. P2P 네트워크 내의 모든 피어 컴퓨터에 대한 원격측정 데이터를 CMS 컴퓨터로 종합함으로써, 전체 P2P 네트워크의 전체적인 뷰(view)뿐만 아니라 각 피어 컴퓨터의 개별적인 뷰가 실현될 수 있다. 또한, 이 정보는 전체 P2P 네트워크뿐만 아니라 각 피어 컴퓨터의 효율을 증가시키는 지침을 제공하는 데에 이용될(leveraged) 수 있다.
도 1은 본 개시의 일 실시예에 따른 콘텐트 분배 시스템(100)을 도시한다. 콘텐트 분배 시스템(100)은 복수의 피어 컴퓨터(가령, 피어 A(PEER A) - 피어 N+N(PEER N+N))를 포함하는 P2P 네트워크(102)를 포함한다. P2P 네트워크(102)의 피어 컴퓨터(101)는 로컬 처리(local processing) 리소스, 로컬로 저장된(locally-stored) 파일, 로컬로 연결된(locally-connected) 주변 머신 등과 같은 다양한 로컬 리소스에 대한 액세스(access)를 가질 수 있다. P2P 네트워크(102)의 각 피어 컴퓨터는 하나 이상의 컴퓨터 네트워크(104)를 통해 P2P 네트워크의 각각의 다른 피어 컴퓨터와 직접 통신하도록 구성될 수 있다. 더욱 구체적으로, 각각의 피어 컴퓨터는 P2P 네트워크의 다른 피어 컴퓨터에 대한 클라이언트 또는 서버로서의 역할을 할 수 있어, 각 피어 컴퓨터의 다양한 로컬 리소스에 대한 공유된 액세스를 가능하게 한다. 임의의 적합한 리소스가 P2P 네트워크의 피어 컴퓨터들 간에 전송되거나 공유될 수 있음이 인식될 것이나, 이 설명의 맥락에서, 논의는 디지털 콘텐트 아이템을 전송하는 것을 특히 향하게 될 수 있다.
예를 들어, 피어 컴퓨터(101)는 P2P 네트워크의 임의의 다른 피어 컴퓨터에게 디지털 콘텐트 아이템을 요청하도록 구성될 수 있다. 또한, 그 피어 컴퓨터는 컴퓨터 네트워크를 통해 한 피어 컴퓨터로부터 디지털 콘텐트 아이템을 다운로드하도록 구성될 수 있다(리칭(leeching)이라고도 알려짐). 더욱이, 그 피어 컴퓨터는 디지털 콘텐트 아이템을 제공하라는 P2P 네트워크의 임의의 다른 피어 컴퓨터로부터의 요청에 응답하도록 구성될 수 있다. 또한, 그 피어 컴퓨터는 컴퓨터 네트워크를 통해 해당 피어 컴퓨터에 디지털 콘텐트 아이템을 업로드하도록 구성될 수 있다(시딩(seeding)이라고도 알려짐).
컴퓨터 네트워크(104)는 컴퓨터 간 리소스 및 데이터의 공유를 가능하게 하는 하나 이상의 통신 채널을 포함할 수 있다. 컴퓨터 네트워크(104)는 컴퓨터 간에 데이터를 전송하기 위한 임의의 적합한 전송 매체(transport medium), 통신 프로토콜(communications protocol) 및 편제상의 계층구조(organizational hierarchy)를 포함할 수 있다. 예시된 실시예에서, 단순함을 위해, 컴퓨터 네트워크는 피어 컴퓨터(101)로의 복수의 연결에 의해 나타내어지나, 컴퓨터 네트워크는 콘텐트 분배 시스템(100)의 컴퓨터 중 임의의 것 또는 전부 간 통신을 가능하게 할 수 있다는 점이 인식될 것이다.
컴퓨터 네트워크(104)의 편제(organization)의 일부로서, P2P 네트워크(102)의 피어 컴퓨터는 인터넷 서비스 제공자(Internet Service Provider: ISP)(106)와 연관될 수 있다. 예를 들어, ISP는 연관된 피어 컴퓨터를 다른 컴퓨터와의 통신을 위해 인터넷에 연결할 수 있다. 몇몇 실시예에서, P2P 네트워크의 피어 컴퓨터는 상이한 ISP들과 연관될 수 있다. 예시된 예에서, PEER A, PEER B, PEER N 및 PEER N+1은 ISP A와 연관될 수 있고, PEER N+N은 ISP B와 연관될 수 있다. 나아가, P2P 네트워크에 포함되지 않은 추가적인 비가입(unaffiliated) 컴퓨터가 ISP A 또는 ISP B와 연관될 수 있다는 점이 인식될 것이다.
몇몇 경우에, 피어 컴퓨터가 상이한 ISP와 연관된 피어 컴퓨터보다는 동일한 ISP와 연관된 컴퓨터에게 또는 이로부터 디지털 콘텐트 아이템을 전송하는 것이 유익할 수 있다. 예를 들어, 동일한 ISP 내의 피어 컴퓨터 간에 디지털 콘텐트 아이템을 전송하는 것은 상이한 ISP와 연관된 피어 컴퓨터 간에 디지털 콘텐트 아이템을 전송하는 것에 비해 처리율을 증가시키고 대역폭 비용을 감소시킬 수 있다. 다른 예로서, 동일한 ISP 내의 피어 컴퓨터 간에 디지털 콘텐트 아이템을 전송하는 것은 피어 컴퓨터에 대한 비용을 줄일 수 있는 피어 컴퓨터 데이터 전송 배정(peer computer data transfer allotment)에 가산되지 않을 수 있다.
몇몇 실시예에서, 컴퓨터 네트워크(104)의 편제의 일부로서, P2P 네트워크(102)의 복수의 피어 컴퓨터는 인트라넷 네트워크(108)에 연결될 수 있다. 인트라넷 네트워크에 연결된 피어 컴퓨터는 인터넷과 같은 외부 네트워크와 인터페이스하지 않고 인트라넷 네트워크에 연결된 다른 피어 컴퓨터에 디지털 콘텐트 아이템을 전송할 수 있다.
몇몇 경우에, 피어 컴퓨터가 인트라넷 네트워크에 연결되지 않거나 인트라 네트워크 외부에 위치된 피어 컴퓨터에 디지털 콘텐트 아이템을 전송하는 것보다는 인트라넷 네트워크에 연결된 피어 컴퓨터에 또는 이로부터 디지털 콘텐트 아이템을 전송하는 것이 유익할 수 있다. 예를 들어, 인트라넷 네트워크에 연결된 피어 컴퓨터 간에 디지털 콘텐트 아이템을 전송하는 것은 인트라넷 네트워크 외부의 피어 컴퓨터에 디지털 콘텐트 아이템을 전송하는 것에 비해 처리율을 증가시키고 대역폭 비용을 감소시킬 수 있는데 외부의 피어 컴퓨터에 전송되는 데이터는 외부에 위치된 피어 컴퓨터에 도달하기 위해 게이트웨이(gateway) 또는 다른 인터페이스를 통해 유동(flow)해야 할 것이기 때문이다.
콘텐트 분배 시스템(100)은 P2P 네트워크(102)의 동작을 P2P 네트워크의 피어 컴퓨터로부터 종합된 원격측정 데이터에 기반하여 관리하도록 구성된 CMS 컴퓨터(110)를 포함할 수 있다. 예를 들어, 원격측정 데이터는 디지털 콘텐트 아이템의 전송에 관련되는 것과 같이 P2P 네트워크의 피어 컴퓨터 간 상호작용에 관한 것일 수 있다.
CMS 컴퓨터(110)는 P2P 네트워크(102) 내 피어 컴퓨터를 추적하도록(track) 구성된 추적기 서비스 컴퓨터(tracker service computer)(112)를 선택적으로 포함할 수 있다. 특히, 피어 컴퓨터는 추적기 서비스 컴퓨터에 원격측정 데이터의 형태로 정보를 보고할 수 있고, 대신 피어 컴퓨터는 그것이 연결될 수 있는 다른 피어 컴퓨터에 대한 정보를 수신할 수 있다. 예를 들어, 피어 컴퓨터(101)는 컴퓨터 네트워크(104)를 통해 추적기 서비스 컴퓨터(112)에 디지털 콘텐트 아이템의 전송에 관련된 원격측정 데이터를 송신할 수 있다. 예를 들어, 피어 컴퓨터는 디지털 콘텐트 아이템을 전송하려고 의도하는 경우, 디지털 콘텐트 아이템을 전송하거나 디지털 콘텐트 아이템을 전송하고자 시도한 후, 원격측정 데이터를 송신할 수 있다. 피어 컴퓨터가 임의의 적합한 시간에 추적기 서비스기 또는 CMS 컴퓨터에 원격측정 데이터를 송신할 수 있다는 점이 인식될 것이다. 더욱이, 원격측정 데이터를 송신하는 동작은 디지털 콘텐트 아이템의 실제적인 전송과 분리될(decoupled) 수 있다. 하나의 예에서, CMS 컴퓨터는 P2P 네트워크의 피어 컴퓨터로부터 실시간으로 또는 실시간에 가깝게 추적기 서비스 컴퓨터를 통해 원격측정 데이터를 종합하도록 구성될 수 있다.
몇몇 실시예에서, 추적기 서비스 컴퓨터(112)는 P2P 네트워크(102)의 상이한 피어 컴퓨터들에 대한 원격측정 데이터를 추적할 수 있는 복수의 추적기 서비스 컴퓨터를 포함할 수 있다. 예를 들어, 상이한 추적기 서비스 컴퓨터들은 P2P 네트워크의 상이한 영역들(가령, 지리적 영역들) 내의 피어 컴퓨터들, 상이한 ISP들에 속한 피어 컴퓨터들 또는 유사한 것을 추적할 수 있다. 복수의 추적기 서비스 컴퓨터 각각은 종합(aggregation)을 위해 CMS 컴퓨터에 원격측정 데이터를 송신할 수 있다.
복수의 추적기 서비스 컴퓨터는 P2P 네트워크 내 피어 컴퓨터를 추적하기 위한 중복성(redundancy) 및 융통성(flexibility)을 제공할 수 있다. 몇몇 실시예에서, CMS 컴퓨터(110)는 P2P 네트워크에 걸쳐 피어 컴퓨터를 효율적으로 추적하기 위해 로드 밸런싱(load balancing) 능력을 제공하기 위해 어느 추적기 서비스 컴퓨터가 어느 피어 컴퓨터를 추적하는지 조절하도록 구성될 수 있다. 예를 들어, P2P 네트워크의 제2 영역 내 피어 컴퓨터의 상당수가 디지털 콘텐트 아이템을 전송하고 있어 제2 영역의 추적기 서비스 컴퓨터에 송신되는 원격측정 데이터의 처리율이 감소하게 되나, P2P 네트워크의 제1 영역 내 피어 컴퓨터의 상당수가 유휴(idle)인 채 있다면, CMS 컴퓨터는 처리율의 그러한 감소를 식별하고 제2 영역의 원격측정 데이터의 처리율을 증가시키기 위해 제2 영역의 피어 컴퓨터를 추적하도록 제1 영역에 할당된 추적기 서비스 컴퓨터의 리소스를 응답으로서 전이(shift)하도록 구성될 수 있다. 예시된 실시예에서, 단순함을 위해, 추적기 서비스 컴퓨터(112)는 피어 컴퓨터(101)에 연결되나, 추적기 서비스 컴퓨터가 P2P 네트워크(102)의 임의의 또는 모든 피어 컴퓨터에 연결될 수 있다는 점이 인식될 것이다. 몇몇 실시예에서, 추적기 서비스 컴퓨터는 CMS 컴퓨터와 통합될(integrated) 수 있다. 몇몇 실시예에서, 원격측정 데이터는 추적기 서비스를 우회할(bypass) 수 있고, 직접 CMS 컴퓨터에 주어질 수 있다. 이 경우, 추적기 서비스는 이후 푸시될(pushed) 수 있거나, 아니면 CMS 컴퓨터로부터 원격측정 데이터를 풀(pull)할 수 있다. 몇몇 실시예에서, 추적기 서비스는 생략될 수 있다.
CMS 컴퓨터(110)는 P2P 네트워크(102)의 일부 또는 전체의 동작을 모니터하기 위해서뿐만 아니라 각 피어 컴퓨터의 동작을 모니터하는 데에 종합된 원격측정 데이터의 피드백(feedback)을 사용하도록 구성될 수 있다. 또한, CMS 컴퓨터는 피어 컴퓨터의 동작의 상태 또는 P2P 네트워크의 동작의 상태를 종합된 원격측정 데이터로부터 수량화(quantify)하기 위해 다양한 메트릭을 계산하거나 도출하도록 구성될 수 있다. CMS 컴퓨터는 동작의 효율성을 증가시키거나 그렇지 않으면 피어 컴퓨터 또는 P2P 네트워크의 양호성을 개선하기 위해 그러한 메트릭에 기반하여 다양한 관리 동작을 수행하도록 구성될 수 있다. 관리 동작의 비한정적(non-limiting) 예는 피어 컴퓨터를 위한 콘텐트 전달 소스(content-delivery source)를 선택하는 것, 디지털 콘텐트 아이템의 전송을 위해 피어 컴퓨터들을 매칭하는(matching) 것, 디지털 콘텐트 아이템의 전송을 수정하는 완화(mitigation) 동작을 수행하는 것, 디지털 콘텐트 아이템을 전송하는 것으로부터 피어 컴퓨터를 격리하는 것, P2P 네트워크에의 참여에 대해 피어 컴퓨터에 보상하는 것, P2P 네트워크의 피어 컴퓨터들 간 디지털 콘텐트 아이템의 의무적인(obligatory) 전송을 명령하는 것, 디지털 콘텐트 아이템을 발행하는(publishing) 것 및 디지털 콘텐트 아이템을 유효화하는(validating) 것을 포함한다. CMS 컴퓨터에 의해 수행되는 관리 동작은 도 3을 참조하여 이하에서 더 상세히 논의될 것이다.
몇몇 실시예에서, 콘텐트 분배 시스템(100)은 P2P 네트워크(102)를 지원하고/하거나 보충하기 위해 데이터 소스(data source)로서의 역할을 할 수 있는 콘텐트 전달 네트워크(Content-Delivery Network: CDN) 컴퓨터(114)를 포함할 수 있다. CDN 컴퓨터는 P2P 네트워크의 피어 컴퓨터 상의 전송을 위해 이용가능한 디지털 콘텐트 아이템 중 몇몇 또는 전부를 저장하도록 구성될 수 있다. 다시 말해, CDN 컴퓨터는 P2P 네트워크에 대한 미러(mirror) 또는 백업(backup)으로서 역할을 할 수 있다. 예시된 실시예에서, 단순함을 위해, CDN 컴퓨터(114)는 피어 컴퓨터(101)에 연결되나, CDN 컴퓨터가 P2P 네트워크(102)의 임의의 또는 모든 피어 컴퓨터에 연결될 수 있다는 점이 인식될 것이다.
몇몇 경우에, CDN 컴퓨터(114)는 디지털 콘텐트 아이템을 시드(seed)하는 추가적인 소스일 수 있다. 예를 들어, P2P 네트워크는 흔히 콘텐트를 공유하는 많은 수의 피어 컴퓨터로 인해 높은 콘텐트 획득 속도를 제공할 수 있다. 그러나, 디지털 콘텐트 아이템이 P2P 네트워크 내에서 드물다면, 콘텐트 획득 시간은 상당히 증가할 수 있다. CDN 컴퓨터는 P2P 네트워크 내 디지털 콘텐트 아이템의 콘텐트 획득 시간을 줄이기 위해 그러한 드문 디지털 콘텐트 아이템을 제공할 수 있다. 더욱이, 몇몇 경우에, CDN 컴퓨터는 P2P 네트워크 내에 미러링된(mirrored) 모든 디지털 콘텐트 아이템이 시더(seeder)로서의 피어 참여(peer participation)에 관계없이 이용가능하다는 보장을 제공할 수 있다.
나아가, 몇몇 경우에, CDN 컴퓨터(114)는 P2P 네트워크 상의 전송을 위해 아직 이용가능하지 않은 디지털 콘텐트 아이템의 소스일 수 있다. 예를 들어, 새 디지털 콘텐트 아이템이 생성된 경우, 해당 디지털 콘텐트 아이템은 CDN 컴퓨터에 의해 P2P 네트워크에 처음 전해질(introduced) 수 있다.
몇몇 실시예에서, CDN 컴퓨터(114)는 P2P 네트워크(102)의 상이한 피어 컴퓨터들에 디지털 콘텐트 아이템을 제공할 수 있는 복수의 서버 컴퓨터를 포함할 수 있다. 예를 들어, 상이한 CDN 서버 컴퓨터는 P2P 네트워크의 상이한 영역(가령, 지리적 영역) 내 피어 컴퓨터, 상이한 ISP에 속한 피어 컴퓨터 또는 유사한 것에 디지털 콘텐트 아이템을 제공할 수 있다. 몇몇 실시예에서, CDN 컴퓨터는 CMS 컴퓨터와 통합될 수 있다.
CMS 컴퓨터(110)는 종합된 원격측정 데이터로부터 도출되는 하나 이상의 메트릭에 기반하여 피어 컴퓨터 또는 CDN 컴퓨터 중 어느 하나와 같은 추천 콘텐트 소스(recommended content source)로부터 P2P 네트워크(102)의 피어 컴퓨터가 디지털 콘텐트 아이템을 획득할 것을 추천하도록 구성될 수 있다. 몇몇 경우에, CMS 컴퓨터는 전달되고 있는 콘텐트의 유형에 기반하여 콘텐트 전달을 위한 소스를 선택하도록 구성될 수 있다. 예를 들어, 디지털 콘텐트 아이템은 P2P 공유에 대한 여지가 있지 않을 수 있고, CMS 컴퓨터는 피어 컴퓨터가 아니라 CDN 컴퓨터로부터 직접 해당 디지털 콘텐트 아이템을 획득할 것을 피어 컴퓨터들에게 지시할 수 있다. 하나의 특정한 예에서, P2P 네트워크 내의 일정한 디지털 콘텐트 아이템이 절충되면(compromised), CMS 컴퓨터는 오직 CDN 컴퓨터가 그 일정한 디지털 콘텐트 아이템을 위한 수용가능한 콘텐트 전달 소스라고 모든 피어 컴퓨터에게 전하도록 구성될 수 있다. 콘텐트 가용성의 가능성을 증가시킬 수 있는 CDN 컴퓨터를 구현하는 것 및 피어 컴퓨터로 하여금 많은 콘텐트 전달 소스로부터 이득을 볼 수 있게 하는 P2P 네트워크를 오버레이하는(overlaying) 것에 의해, CDN 비용은 완화될 수 있고, 디지털 콘텐트 아이템 획득 경험은 보장된 것에 더 가까워지게 될 수 있으며, 피어 처리율은 증가될 수 있다.
몇몇 실시예에서, P2P 네트워크(102)의 각 피어 컴퓨터는 디지털 콘텐트 아이템을 획득하는 경우 우선순위 프로토콜(priority protocol)을 따르도록 구성될 수 있다. 예를 들어, 피어 컴퓨터는 먼저 컴퓨터 네트워크(104)를 통해 CMS 컴퓨터(110)에 콘텐트 획득 요청(content-acquisition request)을 송신할 수 있다. 콘텐트 획득 요청은 디지털 콘텐트 아이템을 제공할 하나 이상의 추천된 콘텐트 리소스에 대해 CMS 컴퓨터에 질의할 수 있다. 피어 컴퓨터가 적합한 기간 내에 CMS 컴퓨터로부터 콘텐트 획득 요청에 대한 응답을 수신하지 않으면, 피어 컴퓨터는 디지털 콘텐트 아이템을 다운로드하라는 대비책 요청(fallback request)을 컴퓨터 네트워크를 통해 CDN 컴퓨터에 자동적으로 송신하도록 구성될 수 있다. 몇몇 실시예에서, 피어 컴퓨터는 언제 대비책 요청을 할 것인지 판정하는 논리(logic)를 포함할 수 있다. 예를 들어, 대비책 요청은 콘텐트 획득 요청에 대한 응답이 수신되지 않고 조건이 만족되면 CDN 컴퓨터에 자동적으로 송신될 수 있다. 예를 들어, 그 조건은 지정된 응답 시간 한도 내에 콘텐트 획득 요청에 대한 응답을 수신하지 않은 것, 지정된 다운로드 개시 시간 한도 내에 디지털 콘텐트 아이템을 다운로드하기 시작하지 않은 것, 지정된 다운로드 완료 시간 한도 내에 디지털 콘텐트 아이템의 다운로드를 완료하지 않은 것, 임계 처리율을 넘어 디지털 콘텐트 아이템을 다운로드하지 않은 것 또는 다운로드 시험 기간 중에 임계 처리율을 넘어 디지털 콘텐트 아이템을 다운로드하지 않은 것을 포함할 수 있다. 만약 CDN이 그 요청에 응답하지 않으면, 피어 컴퓨터는 반드시 가장 좋은 매치(best match)는 아닐 수 있거나 임의적으로 선택될 수 있는 일정한 피어에 요청을 송신하도록 구성될 수 있다. 전술된 통신 프로토콜을 따름으로써, P2P 네트워크의 피어 컴퓨터는 CMS 컴퓨터가 콘텐트 전달 소스에 대한 지능적인 추천을 제공하는 데에 이용가능하지 않더라도 수용가능한 콘텐트 획득 경험을 제공받을 수 있다.
몇몇 실시예에서, 피어 컴퓨터(101)는 디지털 콘텐트 아이템을 확득하고자 시도하는 경우 로컬(local) 및 원격(remote) 소스들을 포함하는 소스 선택 프로토콜(source selection protocol)을 따를 수 있다. 예를 들어, 그 피어 컴퓨터는 복수의 단편을 갖는 디지털 콘텐트 아이템의 부분들을 저장하는 복수의 소스를 식별하도록 구성될 수 있다. 소스들은 로컬 저장 머신(가령, 광학 디스크(optical disc), 정상상태 스토리지(steady-state storage), 로컬 네트워크 스토리지(local network storage) 등) 및 P2P 네트워크의 다른 피어 컴퓨터를 포함할 수 있다. 로컬 저장 머신에 대해, 그 피어 컴퓨터는 디지털 콘텐트 아이템의 부분을 찾아 각 로컬 저장 머신을 스캔(scan)할 수 있다. 다른 피어 컴퓨터에 대해, 그 피어 컴퓨터는 디지털 콘텐트 아이템의 부분을 갖는 피어 컴퓨터를 식별하기 위해 CMS 컴퓨터에 질의할 수 있다. 또한, 그 피어 컴퓨터는 디지털 콘텐트 아이템의 각 단편에 대해 하나 이상의 다운로드 메트릭에 기반하여 소스를 선택하고 선택된 소스로부터 해당 단편을 다운로드하도록 구성될 수 있다. 예를 들어, 다운로드 메트릭은 가장 빠른 다운로드 속도(fastest download speed), 최저 획득 비용(lowest acquisition cost), 최저 리소스 사용 레벨(lowest resource usage level), 최저 에너지 사용 레벨(lowest energy usage level), 최저 사용자 경험 차질 레벨(lowest user experience disruption level), 리소스의 가용성, 임의의 다른 적합한 제한 및/또는 다른 적합한 메트릭을 포함할 수 있다. 또한, 몇몇 경우에, 다운로드 메트릭은 디지털 콘텐트 아이템의 단편을 다운로드하는 것이 가능한 경우 P2P 네트워크보다 하나 이상의 로컬 저장 머신을 선택할 수 있다. 그 피어 컴퓨터는 디지털 콘텐트 아이템으로서 그 피어 컴퓨터 상에서의 설치를 위해 그 다운로드된 단편을 편제하도록 구성될 수 있다.
몇몇 실시예에서, CMS 컴퓨터(110)는 P2P 네트워크(102)의 피어 컴퓨터에게 분배를 위한 특정한 디지털 콘텐트 아이템을 획득하는 분배 허브 또는 가상 CDN으로서의 역할을 할 것을 명령할 수 있다. 예를 들어, CMS 컴퓨터는 피어 컴퓨터에게 디지털 콘텐트 아이템을 획득할 것을 명령하고, 이후 디지털 콘텐트 아이템을 획득하기 위해 해당 피어 컴퓨터로 다른 피어 컴퓨터를 지향시키도록 구성될 수 있다. 또한, CMS 컴퓨터는 그 피어 컴퓨터에게 디지털 콘텐트 아이템을 삭제할 것을 명령하도록 구성될 수 있다. 몇몇 실시예에서, CMS 컴퓨터는 P2P 네트워크(102)에 걸쳐 (가령, 상이한 영역들에서) 분배 허브로서 셋업된(setup) 복수의 피어 컴퓨터를, P2P 네트워크에 걸쳐 신속히 획득될 수 있는 디지털 콘텐트 아이템의 가용성을 촉진하기 위해 제어하도록 구성될 수 있다.
몇몇 실시예에서, 분배 허브로서 셋업된 피어 컴퓨터는 사용자 제어형(user-controlled) 부분 및 서비스 제어형(service-controlled) 부분으로 파티션된(partitioned) 로컬 저장 머신을 포함할 수 있다. 자발적으로(또는 능동적으로) 획득될 수 있는 디지털 콘텐트 아이템은 로컬 저장 머신의 사용자 제어형 부분 내에 저장될 수 있다. CMS 컴퓨터로부터의 명령에 기반하여 의무적으로(또는 수동적으로) 획득되는 디지털 콘텐트 아이템은 로컬 저장 머신의 서비스 제어형 부분 내에 저장될 수 있다. 일반적으로, P2P 네트워크의 피어 컴퓨터는 디지털 콘텐트 아이템을 공유하기 위한 풀 전략(PULL strategy)에 따라 동작할 수 있다. 특히, 피어 컴퓨터는 해당 피어 컴퓨터가 디지털 콘텐트 아이템을 수신하도록 디지털 콘텐트 아이템을 제공할 것을 소스에 요청한다. 풀 전략에 따르면, CMS 컴퓨터는 피어 컴퓨터에게, 디지털 콘텐트 아이템을 제공하도록 가상 분배 허브(virtual distribution hub)로서의 역할을 하는 피어 컴퓨터에 요청을 송신할 것(디지털 콘텐트 아이템이 그 요청 피어 컴퓨터(requesting peer computer)에게 분배되기 위해서임)을 명령할 수 있다. 마찬가지로, CMS 컴퓨터는 가상 분배 허브로서의 역할을 하는 피어 컴퓨터에게, 다른 피어 컴퓨터에 디지털 콘텐트 아이템을 제공하라는 요청을 송신할 것(가상 분배 허브로서의 역할을 하는 피어 컴퓨터가 디지털 콘텐트 아이템을 수신하기 위해서임)을 명령할 수 있다. 나아가, 몇몇 실시예에서, 피어 컴퓨터는 디지털 콘텐트 아이템을 공유하기 위한 푸시 전략(PUSH strategy)에 따라 또한 동작할 수 있다. 예를 들어, CMS 컴퓨터는 피어 컴퓨터에게 디지털 콘텐트 아이템을 분배하기 위해 다른 지정된 피어 컴퓨터에 디지털 콘텐트 아이템을 업로드할 것을 명령할 수 있다.
몇몇 실시예에서, P2P 네트워크(102)는 피어 컴퓨터에 의한 참여가 CMS 컴퓨터(110)에 의해 수행되는 인증(authentication), 멤버십(membership) 또는 가입(affiliation) 프로세스를 통해 제어될 수 있는 사설(private) 또는 제한된(restricted) P2P 네트워크일 수 있다. 또한, 사설 P2P 네트워크의 피어 컴퓨터는 사설 P2P 네트워크와 연관된 정선된(curated) 디지털 콘텐트 아이템을 저장하고 전송할 수 있다. 정선된 디지털 콘텐트 아이템은 사설 P2P 네트워크를 통한 분배를 위해 적합한 것으로서 CMS 컴퓨터에 의해 확인되는 디지털 콘텐트 아이템일 수 있다. 예를 들어, 정선된 디지털 콘텐트 아이템은 호환가능한 포맷을 갖거나 사설 P2P 네트워크의 규칙의 세트(set)를 준수하는 것으로서 CMS 컴퓨터에 의해 확인될 수 있다. 하나의 예에서, CMS 컴퓨터는 주어진 디지털 콘텐트 아이템의 고유한 식별자(unique identifier)를 정선된 디지털 콘텐트 아이템의 고유한 식별자의 보증된 기록(certified record)과 비교함으로써 정선된 디지털 콘텐트 아이템을 확인한다. 몇몇 실시예에서, 정선된 디지털 콘텐트 아이템은 그 디지털 콘텐트 아이템이 단지 사설 P2P 네트워크의 적절한 복호화 키로써 활용될 수 있거나 단지 사설 P2P 네트워크의 피어 컴퓨터에 의해 액세스될 수 있도록 디지털로 암호화될 수 있다.
몇몇 실시예에서, 사설 P2P 네트워크(102)는 특정한 유형의 컴퓨터와 연관될 수 있다. 예를 들어, 사설 P2P 네트워크는 게임 콘솔(game console)과 연관될 수 있고, 사설 P2P 네트워크로의 액세스는 단지 그 게임 콘솔을 통해서 이용가능할 수 있다. 이 유형의 제한은 콘텐트 획득 속도를 게임 콘솔의 연결 속도로 한정할 수 있다. 이 예에서, 정선된 디지털 콘텐트는 게임, 게임 업데이트, 다운로드가능한 콘텐트 또는 게임 콘솔과 연관된 운영체제(operating system) 업데이트를 포함할 수 있다. 그러한 정선된 콘텐트는 게임 콘솔의 제조자 또는 제3자에 의해 사설 P2P 네트워크를 통한 분배를 위해 발행될 수 있다.
몇몇 경우에, 정선된 디지털 콘텐트 아이템은 CDN 컴퓨터(114) 또는 다른 외부 또는 비가입(unaffiliated) 컴퓨터로부터 그 정선된 디지털 콘텐트 아이템을 자발적으로 획득하는 피어 컴퓨터를 통해 사설 P2P 네트워크(102)에 진입할 수 있다. 몇몇 경우에, 정선된 디지털 콘텐트 아이템은 사설 P2P 네트워크를 통한 (가령 정선된 디지털 콘텐트 아이템을 다른 피어 컴퓨터에 의무적으로 시드하는 피어 컴퓨터로의 의도적이고 제어된 롤아웃(rollout)을 통한) 분배를 위해 CMS 컴퓨터에 의해 발행될 수 있다. 몇몇 조건 하에서는, 정선된 디지털 콘텐트 아이템을 사설 P2P 네트워크 내에 신속히 시드하는 것이 시간 및 비용 측면에서 곤란할 수 있다. 예를 들어, 정선된 디지털 콘텐트 아이템을 요청하는 피어 컴퓨터가 큐(queue)에서 대기하지 않고 그것을 획득할 수 있게 그 정선된 디지털 콘텐트 아이템의 가용성이 충분히 높도록 충분한 피어 컴퓨터에 의해 그 정선된 디지털 콘텐트 아이템이 다운로드되는 데에는 상당한 양의 시간이 걸릴 수 있다. 더욱이, CMS 컴퓨터에 의해 조정되는 의도적인 시딩은 P2P 네트워크의 리소스를 사용할 수 있다.
따라서, 몇몇 실시예에서, CMS 컴퓨터(110)는 사설 P2P 네트워크(102)에서의 사용을 위해 의도된 정선된 디지털 콘텐트 아이템을 공용(public) P2P 네트워크(116)에 발행하도록 구성될 수 있다. 공용 P2P 네트워크는 공용 P2P 네트워크의 다른 피어 컴퓨터에 직접 디지털 콘텐트 아이템을 전송하도록 구성된 복수의 피어 컴퓨터를 포함할 수 있다. 공용 P2P 네트워크는 피어 컴퓨터가 인증, 멤버십 또는 가입 프로세스 없이 공용 P2P 네트워크에 참여할 수 있다는 점에서 사설 P2P 네트워크와 상이할 수 있다. 전형적으로, 공용 P2P 네트워크는 사설 P2P 네트워크보다 더 크고 더 다채로울(가령, 상이한 유형의 컴퓨터) 수 있다. 하지만, 사설 P2P 네트워크 및 공용 P2P 네트워크가 임의의 적합한 개수의 피어 컴퓨터를 포함할 수 있다는 점이 인식될 것이다. 나아가, 공용 P2P 네트워크의 피어 컴퓨터는 정선된 디지털 콘텐트 아이템에 더하여 CMS 컴퓨터에 의해 정선되지 않은 디지털 콘텐트 아이템을 전송할 수 있다. 정선되지 않은 디지털 콘텐트 아이템은 유효화(validation) 없이 피어 컴퓨터들 간에 전송될 수 있다.
정선된 디지털 콘텐트 아이템은 공용 P2P 네트워크(116)를 통해 피어 컴퓨터에 자발적으로 분배될 수 있다. 공용 P2P 네트워크에의 참여에 대한 제한이 없으므로, 사설 P2P 네트워크(102)의 피어 컴퓨터는 정선된 디지털 콘텐트 아이템을 공용 P2P 컴퓨터의 피어 컴퓨터로부터 획득할 수 있다. 정선된 디지털 콘텐트 아이템을 획득하는 것에 응답하여, 사설 P2P 네트워크의 피어 컴퓨터는 피어 컴퓨터가 정선된 디지털 콘텐트 아이템을 획득하였음을 나타내는 보고를 CMS 컴퓨터(110)에 송신하고, CMS 컴퓨터는 정선된 디지털 콘텐트 아이템을 유효화할 수 있다. CNS 컴퓨터에 의한 정선된 디지털 콘텐트 아이템의 성공적인 유효화에 응답하여, 정선된 디지털 콘텐트 아이템은 사설 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) 모두의 멤버로서 도시된다. 그러나 공용 P2P 네트워크의 모든 피어 컴퓨터가 사설 P2P 네트워크의 모든 피어 컴퓨터와 직접 연결될 필요는 없다는 점이 인식될 것이다. 나아가, 도시되지는 않았으나, 다른 피어 컴퓨터가 공용 P2P 네트워크(116) 및 사설 P2P 네트워크(102) 모두의 멤버일 수 있다는 점이 인식될 것이다.
도 2는 본 개시의 일 실시예에 따른 디지털 콘텐트 아이템(200)을 도시한다. 디지털 콘텐트 아이템(200)은 콘텐트 데이터(202) 및 콘텐트 데이터(202)를 식별하는 고유한 콘텐트 식별자(204)를 포함할 수 있다.
몇몇 실시예에서, 고유한 콘텐트 식별자(204)는 디지털 암호화 코드와 같은 디지털 권리 관리 보호 메커니즘(digital rights management protection mechanism)을 포함할 수 있다. 또한, 콘텐트 분배 시스템 내의 상이한 컴퓨터들은 콘텐트 데이터(202)를 액세스하기 위한 적절한 복호화 키를 가질 수 있다. 하나의 예에서, 사설 P2P 네트워크의 피어 컴퓨터는 디지털 콘텐트 아이템을 액세스하거나 사용하기 위한 적절한 복호화 키를 보유할 수 있고, 비가입 피어 컴퓨터는 적절한 복호화 키를 보유하지 않을 수 있어서, 디지털 콘텐트 아이템을 액세스할 수 없다. 다른 예에서, CMS 컴퓨터는 디지털 콘텐트 아이템을 액세스하기 위한 적절한 복호화 키를 보유할 수 있고, 가상 분배 허브로 지정된 피어 컴퓨터는 적절한 복호화 키를 보유하지 않을 수 있어서, 디지털 콘텐트 아이템을 액세스할 수 없다. 임의의 적합한 디지털 권리 보호 패러다임(digital rights protection paradigm)이 본 개시의 범주로부터 벗어나지 않고 디지털 콘텐트 아이템에 대한 액세스를 보호하도록 구현될 수 있다는 점은 이해될 것이다.
몇몇 경우에, 디지털 콘텐트 아이템(200)은 복수의 단편(200A-200D)을 포함할 수 있다. 도시된 예에서, 각 단편은 콘텐트 데이터 및 고유한 식별자를 포함할 수 있다. 콘텐트 데이터(202)는 콘텐트 데이터 단편(202A-202D)를 포함할 수 있다. 각 단편은 디지털 콘텐트 아이템을 전체로서 식별하는 식별자에 대한 보충으로서 해당 특정 단편을 추가로 식별하는 식별자(가령, 고유한 콘텐트 식별자(204A-204D)를 선택적으로 포함할 수 있는 고유한 콘텐트 식별자로써 선택적으로 패키지될(packaged) 수 있다. 다른 예로서, 각 단편은 별개의 고유한 식별자를 가질 수 있다.
디지털 콘텐트 아이템(200)의 단편 중 임의의 것 또는 전부는 P2P 네트워크의 피어 컴퓨터 (또는 다른 소스) 간 전송을 위해 이용가능할 수 있다. 다시 말해, 특정한 콘텐트 아이템을 다운로드하는 경우, 피어 컴퓨터는 디지털 콘텐트 아이템의 상이한 단편을 상이한 소스로부터 수신할 수 있다. 디지털 콘텐트 아이템(200)은 동일한 또는 상이한 콘텐트 소스로부터 병렬 및/또는 직렬로 별개의 단편들로서 다운로드될 수 있다. 단편들(200A-200D)은 집합적으로 콘텐트 데이터(202)를 구성하며 디지털 콘텐트 아이템(200)을 형성하기 위해 다운로드 중 및/또는 후에 재집결될(reassembled) 수 있다. 보여진 예에서는 4개의 단편이 도시되었으나, 디지털 콘텐트 아이템의 콘텐트 데이터가 갖가지 상이한 제한에 따라 임의의 개수의 부분(portion)으로 파싱될(parsed) 수 있다는 점이 이해될 것이다. 몇몇 예에서, 각 부분은 동일한 크기일 수 있으나, 다른 예에서 몇몇 부분은 다른 부분과 상이한 크기를 갖게 될 수 있다. 어느 경우에서든, 각 단편은 해당 단편의 크기를 자기 보고(self report)하는 자기 식별 요소(self-identifying element)로써 패키지될 수 있다. 그러한 자기 식별 요소는 몇몇 실시예에서 콘텐트 식별자 내에 선택적으로 포함될 수 있다.
본 문서에서 사용된 바와 같은 "디지털 콘텐트 아이템"이라는 용어는 디지털 콘텐트 아이템의 임의의 단일 단편, 디지털 콘텐트 아이템의 부분을 구성하나 그 전부를 구성하지는 않는 디지털 콘텐트 아이템의 복수의 단편 또는 그 전체로서의 디지털 콘텐트 아이템을 나타낼 수 있다는 점이 인식될 것이다. 예를 들어, 디지털 콘텐트 아이템을 전송하는 것은 디지털 콘텐트 아이템의 단편만을 전송하는 것 또는 디지털 콘텐트 아이템을 그 전체로 전송하는 것을 나타낼 수 있다.
도 3은 본 개시의 일 실시예에 따른 CMS 컴퓨터(300)의 소프트웨어 아키텍처 다이어그램(software architecture diagram)을 도시한다. 예를 들어, CMS 컴퓨터(300)는 도 1에 도시된 콘텐트 분배 시스템(100) 내의 CMS 컴퓨터(110)로서 활용될 수 있다. CMS 컴퓨터(300)는 P2P 네트워크의 복수의 피어 컴퓨터로부터의 종합된 원격측정 데이터(302), 종합된 원격측정 데이터로부터 도출되는 복수의 메트릭(304) 및 복수의 메트릭 중 하나 이상에 따라 수행될 수 있는 복수의 관리 동작(314)을 포함할 수 있다.
종합된 원격측정 데이터(302)는 P2P 네트워크의 개별 피어 컴퓨터에 대한 정보를 제공할 수 있다. 예를 들어, 피어 컴퓨터는 피어 컴퓨터의 식별자, 인트라넷 네트워크 식별자, 연관된 ISP, 연관된 위치 또는 영역, 네트워크 유형은 물론 피어 컴퓨터의 위치 및 연결에 관한 다른 정보를 포함하여 원격측정 데이터를 CMS 컴퓨터(300)에 보고할 수 있다. 더욱 구체적으로, 종합된 원격측정 데이터는 P2P 네트워크의 피어 컴퓨터 또는 다른 비가입 피어 컴퓨터의 ISP의 정책에 관한 정보(가령, 가령 다운로드 및 업로드를 위한 대역폭 범위, 비트 상한(bit-cap), 운영 국가 등)를 포함할 수 있다. 또한, 피어 컴퓨터의 원격측정 데이터는 로컬로 액세스가능한(locally-accessible) 처리 리소스, 로컬로 액세스가능한 주변 머신, 로컬로 액세스가능한 저장 머신, 로컬로 호스팅되는(locally-hosted) 디지털 콘텐트 아이템의 리스트 및 피어 컴퓨터의 다른 식별 정보(identifying information)를 포함할 수 있다.
더욱이, 원격측정 데이터는 피어 컴퓨터의 액션에 관한 정보를 제공할 수 있다. 예를 들어, 피어 컴퓨터는 디지털 콘텐트 아이템을 전송하거나 디지털 콘텐트 아이템을 전송하고자 시도한 후 CMS 컴퓨터에 원격측정 데이터를 보고할 수 있다. 다운로드하기와 관련된 원격측정 데이터는 어떤 디지털 콘텐트 아이템이 다운로드되었는지 또는 다운로드하는 중인지, 그리고 어느 소스로부터인지를 포함할 수 있다. 업로드하기와 관련된 원격측정 데이터는 어느 디지털 콘텐트 아이템이 업로드되었는지 또는 업로드되는 중인지, 그리고 어느 수신측(recipient)으로인지를 포함할 수 있다. 원격측정 데이터는 시작 및 중단 시간, 현재 처리율, 현재 대역폭, 현재 지연시간(latency), 현재 가용성, 현재 혼잡률(congestion rate), 전송 에러 및 피어 컴퓨터의 현재 액션을 서술하는 다른 정보를 포함하는 그러한 이벤트의 타임스탬프를 더 포함할 수 있다. 몇몇 실시예에서 원격측정 데이터는 리칭 및 시딩을 추적하는 참여 통계(participation statistics)를 포함할 수 있다. 몇몇 실시예에서, 참여 통계는 콘텐트 카테고리(가령, 콘텐트 유형, 타이틀, 장르 등)에 따라 추적될 수 있다.
추가적으로, 피어 컴퓨터는 다른 피어 컴퓨터에 대한 정보를 CMS 컴퓨터(300)에 보고할 수 있다. 그 정보는 다른 피어 컴퓨터와의 상호작용으로부터 생성될 수 있다. 예를 들어, 피어 컴퓨터는 CMS 컴퓨터에 다른 피어 컴퓨터의 가용성 또는 다른 피어 컴퓨터가 무반응(unresponsive)임을 보고할 수 있다. 또한, 피어 컴퓨터는 CMS 컴퓨터에 다른 피어 컴퓨터의 업로드 처리율 또는 전송률(transfer rate)을 보고할 수 있다. 다른 예로서, 피어 컴퓨터는 요청된 디지털 콘텐트 아이템의 고유한 식별자 또는 디지털 시그니처(digital signature)와 매칭되지 않는 디지털 콘텐트의 단편을 한 피어 컴퓨터가 반환하였음을 CMS 컴퓨터에 보고할 수 있다. 또 다른 예로서, 피어 컴퓨터는 디지털 콘텐트 아이템의 전송 중에 다른 피어 컴퓨터가 반복적으로 연결해제(disconnect)됨을 CMS 컴퓨터에 보고할 수 있다.
CMS 컴퓨터는 피어 컴퓨터에 대한 이력적 데이터(historical data)를 작성하기(formulate) 위해 시간에 걸쳐 P2P 컴퓨터에 대한 원격측정 데이터를 종합할 수 있다. 예를 들어 종합된 원격측정 데이터는 이력적 사용 패턴, 이력적 가용성, 이력적 처리율, 이력적 대역폭, 이력적 지연시간, 이력적 혼잡률, 이력적 전송 에러 및 피어 컴퓨터의 이전 액션을 서술하는 다른 정보를 포함할 수 있다. 몇몇 경우에, 이력적 데이터는 피어 컴퓨터의 장래 액션을 예측하기 위해 CMS 컴퓨터에 의해 사용될 수 있다.
나아가, 종합된 원격측정 데이터(302)는 P2P 네트워크의 일부 또는 전부에 대한 정보를 제공할 수 있다. 예를 들어, 종합된 원격측정 데이터는 어느 피어 컴퓨터가 어느 디지털 콘텐트 아이템을 가지는지를 나타내는 리스트, 각 디지털 콘텐트 아이템의 가용성(가령, 가장 희귀함, 가장 덜 희귀함), 각 디지털 콘텐트 아이템의 다운로드 빈도(가령, 가장 많이 다운로드됨), P2P 네트워크의 일부 또는 전부의 현재 처리율, P2P 네트워크의 일부 또는 전부의 현재 대역폭, P2P 네트워크의 일부 또는 전부의 현재 지연시간, 영역 내 피어의 현재 가용성, 그리고 P2P 네트워크의 일부 또는 전부에 대한 다른 전역적(global) 정보를 포함할 수 있다.
CMS 컴퓨터는 P2P 네트워크에 대한 이력적 데이터를 작성하기 위해 시간에 걸쳐 P2P 네트워크에 대한 원격측정 데이터를 종합할 수 있다. 예를 들어 종합된 원격측정 데이터는 P2P 네트워크의 일부 또는 전부의 이력적 사용 패턴, P2P 네트워크의 일부 또는 전부의 이력적 가용성, P2P 네트워크의 일부 또는 전부의 이력적 처리율, P2P 네트워크의 일부 또는 전부의 이력적 대역폭, P2P 네트워크의 일부 또는 전부의 이력적 지연시간, P2P 네트워크의 일부 또는 전부의 이력적 혼잡률, P2P 네트워크의 일부 또는 전부의 이력적 전송 에러, 그리고 P2P 네트워크의 일부 또는 전부의 이전 액션을 서술하는 다른 정보를 포함할 수 있다.
CMS 컴퓨터(300)는 종합된 원격측정 데이터(302)로부터 도출될 수 있는 복수의 메트릭(304)을 포함할 수 있다. 복수의 메트릭(304) 중 각각은 피어 컴퓨터의 동작의 상태 또는 P2P 네트워크의 일부 또는 전부의 동작의 상태를 수량화할 수 있다. CMS 컴퓨터는 관리 동작(314)을 수행할 것인지를 평가하기 위해 메트릭 중 하나 이상을 사용할 수 있다. 몇몇 경우에, CMS 컴퓨터는 관리 동작을 수행할 것인지 여부를 판정하기 위해 또는 어느 관리 동작을 수행할 것인지 판정하기 위해 하나 이상의 메트릭을 하나 이상의 다른 메트릭에 비해 가중화(weight)할 수 있다. 메트릭으로 판정을 행하는 데 사용되는 원격측정 데이터 전부가 보고될 필요가 있는 것은 아님이 이해될 것이다. 몇몇 경우에, 원격측정 데이터는 보고된 원격측정 데이터로부터 도출되거나 보고하기와는 무관하게 획득될 수 있다. 복수의 메트릭(304)은 선택 메트릭(306), 양호성 메트릭(308), 참여 메트릭(310) 및 안정성 메트릭(312)을 포함할 수 있다.
CMS 컴퓨터(300)는 디지털 콘텐트 아이템의 전송을 위해 피어 컴퓨터들을 매칭하기 위해 하나 이상의 선택 메트릭(306)을 적용하도록 구성될 수 있다. 다시 말해, CMS 컴퓨터는 하나 이상의 선택 메트릭에 따라 P2P 네트워크의 피어 컴퓨터를 추천 콘텐트 소스로서 식별하도록 구성될 수 있다. 나아가, CMS 컴퓨터(300)는 선택 메트릭에 따라 CDN 컴퓨터를 추천 콘텐트 소스로서 선택하도록 구성될 수 있다. CMS 컴퓨터는 콘텐트 획득 요청에 응답하는 경우 임의의 적합한 개수의 소스를 추천 콘텐트 소스로서 선택할 수 있음이 인식될 것이다. 예를 들어, CMS 컴퓨터는 요청 피어 컴퓨터 또는 P2P 네트워크의 매칭 기준에 따라 정렬된(ordered) 복수의 추천된 소스를 포함하는 응답을 송신할 수 있다. 복수의 추천된 소스 중 각각은 디지털 콘텐트 아이템의 일부 또는 전부를 가질 수 있다. 몇몇 경우에, 소스들이 추천된 순서는 해당 소스가 디지털 콘텐트 아이템 중 어느 부분 또는 어느 정도를 가질 수 있는지에 의존할 수 있다.
몇몇 경우에, 선택 메트릭은 피어 컴퓨터의 이익 또는 양호성을 향하게 될 수 있다. 예를 들어, 선택 메트릭은 어느 이용가능한 피어 컴퓨터가 가장 적은 비용이 드는 방식으로 디지털 콘텐트 아이템을 제공할 수 있는지 정할 수 있다. 그 비용은 금전, 시간, 리소스, 에너지 소모, 사용자 경험 등의 측면에서 계산될 수 있다. 몇몇 실시예에서, 그러한 상이한 유형의 비용은 선택 메트릭의 일부로서 사용자 선호(user preference)에 따라 순위화될(ranked) 수 있다. 몇몇 실시예에서, 선택 메트릭은 가장 적합한 피어 컴퓨터를 추천 콘텐트 소스로서 식별하는 선택 함수(selection function)에서 가중화된 복수의 비용 인자를 고려할 수 있다. 다른 예로서, 선택 메트릭은 이하에서 더욱 상세히 기술되는 안정성 메트릭에 기반하여 가장 신뢰할 수 있는 방식으로 어느 이용가능한 피어 컴퓨터가 디지털 콘텐트 아이템을 제공할 수 있는지 정할 수 있다.
몇몇 경우에, 선택 메트릭은 P2P 네트워크의 일부 또는 전부의 이익 또는 양호성을 향하게 될 수 있다. 예를 들어, 선택 메트릭은 P2P 네트워크의 일부에서 처리율을 관리하기 위해 (가령, P2P 네트워크 내 핫스팟을 줄이기 위해) 피어 컴퓨터를 추천 콘텐트 소스로서 선택할 수 있다. 추가적인 선택 메트릭은 이하에서 더욱 상세히 기술되는 양호성 메트릭을 포함할 수 있다.
선택 메트릭의 다양한 예가 여기에서 기술된다. 몇몇 실시예에서, 피어 선택 메트릭은 이용가능한 피어 컴퓨터의 현재 대역폭에 기반하여 추천 콘텐트 소스로서 디지털 콘텐트 아이템을 갖는 피어 컴퓨터를 선택할 수 있다. 예를 들어, 디지털 콘텐트 아이템을 업로드하기 위해 현재 이용가능한 것이며 이용가능한 피어 컴퓨터의 최고의 현재 대역폭을 갖는 피어 컴퓨터는 추천 콘텐트 소스로서 식별될 수 있다.
몇몇 실시예에서, 피어 선택 메트릭은 이용가능한 피어 컴퓨터의 현재 지연시간에 기반하여 추천 콘텐트 소스로서 디지털 콘텐트 아이템을 갖는 피어 컴퓨터를 선택한다. 예를 들어, 디지털 콘텐트 아이템을 업로드하기 위해 현재 이용가능한 것이며 이용가능한 피어 컴퓨터의 최저의 현재 지연시간을 갖는 피어 컴퓨터는 추천 콘텐트 소스로서 식별될 수 있다.
몇몇 실시예에서, 피어 선택 메트릭은 이력적 대역폭에 기반하여 추천 콘텐트 소스로서 디지털 콘텐트 아이템을 갖는 피어 컴퓨터를 선택한다. 예를 들어, 디지털 콘텐트 아이템을 업로드하기 위해 현재 이용가능한 것이며 이용가능한 피어 컴퓨터의 최고의 이력적 대역폭을 갖는 피어 컴퓨터는 추천 콘텐트 소스로서 식별될 수 있다.
몇몇 실시예에서, 피어 선택 메트릭은 이력적 지연시간에 기반하여 추천 콘텐트 소스로서 디지털 콘텐트 아이템을 갖는 피어 컴퓨터를 선택한다. 예를 들어, 디지털 콘텐트 아이템을 업로드하기 위해 현재 이용가능한 것이며 이용가능한 피어 컴퓨터의 최저의 이력적 지연시간을 갖는 피어 컴퓨터는 추천 콘텐트 소스로서 식별될 수 있다.
몇몇 실시예에서, 피어 선택 메트릭은 이력적 사용 패턴에 기반하여 추천 콘텐트 소스로서 디지털 콘텐트 아이템을 갖는 피어 컴퓨터를 선택한다. 예를 들어, 디지털 콘텐트 아이템을 업로드하기 위해 현재 이용가능한 것이며 피어 컴퓨터가 제1 디지털 콘텐트 아이템을 업로드하기 위해 이용가능함을 나타내는 이력적 사용 패턴을 갖는 피어 컴퓨터는 추천 콘텐트 소스로서 식별될 수 있다.
몇몇 실시예에서, 피어 선택 메트릭은 ISP에 기반하여 추천 콘텐트 소스로서 디지털 콘텐트 아이템을 갖는 피어 컴퓨터를 선택한다. 예를 들어, 요청 피어 컴퓨터와 ISP를 공유하는 피어 컴퓨터는 추천 콘텐트 소스로서 식별될 수 있다.
몇몇 실시예에서, 피어 선택 메트릭은 인트라넷 네트워크에 기반하여 추천 콘텐트 소스로서 디지털 콘텐트 아이템을 갖는 피어 컴퓨터를 선택한다. 예를 들어, 요청 피어 컴퓨터가 연결된 인트라넷 네트워크에 연결된 피어 컴퓨터는 추천 콘텐트 소스로서 식별될 수 있다.
몇몇 실시예에서, 다양한 선택 메트릭 또는 매칭 기준은 디지털 콘텐트 아이템의 일부 또는 전부를 제공할 하나 이상의 추천되는 소스를 식별하기 위한 선택 공식(selection formula)에서 가중화될 수 있다. 더욱이, 임의의 적합한 개수의 소스가 선택 공식에 따라 가중화되어 요청 피어 컴퓨터에 추천될 수 있다. 임의의 적합한 공식, 알고리즘, 어림법(heuristics), 퍼지(fuzzy) 또는 다른 논리(logic)가 디지털 콘텐트 아이템을 제공할 하나 이상의 추천되는 소스를 선택하기 위한 정보 입각 판정(informed decision)을 행하기 위해 적용될 수 있음이 이해될 것이다.
CMS 컴퓨터(300)는 피어 컴퓨터 또는 P2P 네트워크의 일부 또는 전부의 효율성, 안정성 또는 일반적인 양호성을 증가시키기 위해 P2P 네트워크의 피어 컴퓨터들 간 디지털 콘텐트 아이템의 전송을 수정하는 완화 동작을 수행할지 판정하기 위해 하나 이상의 양호성 메트릭(308)을 적용하도록 구성될 수 있다. 나아가, 양호성 메트릭은 피어 매칭을 위한 선택 프로세스의 일부로서 적용될 수 있다.
선택 메트릭 및 대응하는 완화 동작의 다양한 예가 여기에서 기술된다. 몇몇 실시예에서, 양호성 메트릭은 지정된 피어 컴퓨터에게 디지털 콘텐트 아이템을 요청하는 피어 컴퓨터의 임계 개수를 포함할 수 있고, 완화 동작은 지정된 피어 컴퓨터에게 디지털 콘텐트 아이템을 요청하는 하나 이상의 피어 컴퓨터를, 지정된 피어 컴퓨터의 요청 피어 컴퓨터의 개수를 임계 개수 아래로 줄이기 위해 상이한 피어 컴퓨터에게 디지털 콘텐트 아이템을 요청하도록 재지향시키는(redirecting) 것을 포함할 수 있다.
몇몇 실시예에서, 양호성 메트릭은 P2P 네트워크의 영역의 임계 처리율을 포함할 수 있고, 완화 동작은 그 영역 내 하나 이상의 피어 컴퓨터에게 디지털 콘텐트 아이템을 요청하는 하나 이상의 피어 컴퓨터를, 그 영역의 처리율을 임계 처리율 위로 증가시키기 위해 그 영역 외부의 상이한 피어 컴퓨터에게 디지털 콘텐트 아이템을 요청하도록 재지향시키는 것을 포함할 수 있다.
몇몇 실시예에서, 양호성 메트릭은 P2P 네트워크의 피어 컴퓨터의 업로드의 수 및 다운로드의 수 간 임계 차이를 포함할 수 있고, 완화 동작은 피어 컴퓨터의 업로드의 수 및 다운로드의 수 간 차이를 임계 차이 위로 증가시키기 위해 다운로드의 수를 감소시키는 것을 포함할 수 있다.
몇몇 실시예에서, 양호성 메트릭은 디지털 콘텐트 아이템의 임계 가용성을 포함할 수 있고 완화 동작은 디지털 콘텐트 아이템의 가용성을 임계 가용성보다 위로 증가시키기 위해 디지털 콘텐트 아이템을 갖는 하나 이상의 피어 컴퓨터에 디지털 콘텐트 아이템을 P2P 네트워크 내 하나 이상의 다른 피어 컴퓨터에 업로드할 것을 명령하는 것을 포함할 수 있다. 풀(PULL) 전송 전략을 활용하는 실시예에서, CMS 컴퓨터는 디지털 콘텐트 아이템의 가용성을 증가시키기 위해 요청 피어 컴퓨터에 디지털 콘텐트 아이템을 제공하라는 요청을 디지털 콘텐트 아이템을 갖는 피어 컴퓨터에 송신할 것을 피어 컴퓨터에 명령할 수 있다.
몇몇 실시예에서, CMS 컴퓨터는 악의적(malicious)일 수 있거나 아니면 P2P 네트워크의 동작을 저해하고 있는 피어 컴퓨터를 식별하기 위해 양호성 메트릭을 사용할 수 있는바, CMS 컴퓨터는 악의적인 피어 컴퓨터를 디지털 콘텐트 아이템을 전송하는 것으로부터 격리시키는 것과 같은, 악의적인 피어 컴퓨터를 다루기 위한 완화 동작을 수행할 수 있다.
격리(quarantine)를 초래하는 양호성 메트릭의 다양한 예가 여기에서 기술된다. 몇몇 실시예에서, 양호성 메트릭은 P2P 네트워크 내에서 디지털 콘텐트 아이템을 전송하는 데에 이용불가능한 피어 컴퓨터를 포함할 수 있고, CMS 컴퓨터는 지정된 피어 컴퓨터를 이용불가능함으로 인해 격리한다.
몇몇 실시예에서, 양호성 메트릭은 임계 데이터 업로드율(upload rate)을 포함할 수 있고, CMS 컴퓨터는 지정된 피어 컴퓨터를 임계 데이터 업로드율보다 낮은 데이터 업로드율을 가짐으로 인해 격리한다.
몇몇 실시예에서, 양호성 메트릭은 요청되는 디지털 콘텐트 아이템의 디지털 시그니처가 수신된 디지털 콘텐트 아이템의 디지털 시그니처와 매칭되는 것을 포함할 수 있고, CMS 컴퓨터는 지정된 피어 컴퓨터를 요청된 디지털 콘텐트 아이템의 디지털 시그니처와 매칭되지 않는 디지털 시그니처를 갖는 디지털 콘텐트 아이템을 업로드함으로 인해 격리한다.
몇몇 실시예에서, 양호성 메트릭은 디지털 콘텐트 아이템을 업로드하는 동안 피어 컴퓨터가 연결해제되는 임계 횟수를 포함할 수 있고, CMS 컴퓨터는 지정된 피어 컴퓨터를 디지털 콘텐트 아이템을 업로드하는 동안 임계 횟수보다 많은 횟수로 연결해제됨으로 인해 격리한다.
CMS 컴퓨터(300)는 P2P 네트워크 내 피어 컴퓨터의 참여의 레벨을 판정하기 위해 하나 이상의 참여 메트릭(310)을 적용하도록 구성될 수 있다. 참여 메트릭은 P2P 네트워크에의 참여를 장려하기 위해 피어 컴퓨터에 보상(reward)을 제공하는 데에 사용될 수 있다. 보상은 사용자를 유인하여 디지털 콘텐트 아이템을, 그가 디지털 콘텐트 아이템을 획득하고 난 후에도, 또한 가능하게는 소모 이후(post consumption)도, 계속해서 공유하도록 하는 데에 사용될 수 있다. 예를 들어, 참여 메트릭은 피어 컴퓨터에 의해 P2P 네트워크 내 다른 피어 컴퓨터에 업로드된 디지털 콘텐트 아이템의 단편의 개수, 피어 컴퓨터에 의해 P2P 네트워크 내 다른 피어 컴퓨터에 업로드된 바이트(byte)의 수, 피어 컴퓨터에 의해 P2P 네트워크 내 다른 피어 컴퓨터에 업로드하는 데에 걸린 시간의 총량(total amount), 피어 컴퓨터에 의해 P2P네트워크 내 다른 피어 컴퓨터에 업로드하는 데 쓰인 가장 긴 세션(longest session), 피어 투 피어 네트워크 내 다른 피어 컴퓨터에 업로드하기 위해 이용가능하여 소요된 시간의 최장량(longest amount), 피어 투 피어 네트워크 내 다른 피어 컴퓨터에 업로드하기 위해 이용가능하여 소요된 시간의 총량, 디지털 콘텐트 아이템의 단편이 피어 컴퓨터에 의해 P2P 네트워크 내 다른 피어 컴퓨터에 업로드되는 횟수, 전체 디지털 콘텐트 아이템이 피어 컴퓨터에 의해 P2P 네트워크 내 다른 피어 컴퓨터에 업로드되는 횟수 및/또는 다른 적합한 메트릭을 추적할 수 있다.
CMS 컴퓨터(300)는 피어 컴퓨터가 디지털 콘텐트 아이템을 적절히 전송하기에 충분히 안정적인지 판정하기 위해 하나 이상의 안정성 메트릭(312)을 적용하도록 구성될 수 있다. 몇몇 경우에, CMS 컴퓨터는 피어 컴퓨터 선택 프로세스의 일부로서 안정성 메트릭을 적용할 수 있다. 몇몇 경우에, CMS 컴퓨터는 현재 콘텐트 소스가 가장 적합한 콘텐트 소스인지 동적으로 판정하기 위해 디지털 콘텐트 아이템의 전송 중에 안정성 메트릭을 적용할 수 있다. 예를 들어, 안정성 메트릭은 임계 다운로드 속도, 임계 리소스 레벨, 연결성 중단의 임계 개수, 임계 비용, 임계 사용자 경험 차질 레벨, 임계 대역폭 및/또는 다른 적합한 메트릭을 포함할 수 있다. 추가적인 안정성 메트릭은 피어 컴퓨터가 요청된 디지털 콘텐트 아이템을 갖지 않는 것, 피어 컴퓨터가 더 이상 이용가능하지 않은 것(가령, 그 디바이스는 셧다운(shutdown)됨), 피어 컴퓨터가 더 이상 P2P 네트워크에 참여하지 않는 것, 그리고 피어 컴퓨터가 요청 피어 컴퓨터와의 연결을 받아들이기를 거부하는 것을 포함할 수 있다.
CMS 컴퓨터(300)는 전술된 메트릭에 따라 하나 이상의 관리 동작(316)을 수행하도록 구성될 수 있다. 선택 메트릭(306)과 연관된 관리 동작의 비한정적 예는 피어를 콘텐트 소스로서 추천하는 것 및 피어 컴퓨터가 아닌 소스를 콘텐트 소스로서 추천하는 것(가령, CDN 컴퓨터)을 포함할 수 있다. 양호성 메트릭(308)과 연관된 관리 동작의 비한정적 예는 전술된 완화 동작을 포함할 수 있다. 참여 메트릭(310)과 연관된 관리 동작의 비한정적 예는 보상을 제공하는 것 및 P2P 네트워크의 피어 컴퓨터의 참여 순위(participation rank)를 제공하는 것을 포함할 수 있다. 안정성 메트릭(312)과 연관된 관리 동작의 비한정적 예는 가장 안정적인 콘텐트 소스를 추천하는 것 및 안정성의 업데이트된 평가에 기반하여 더욱 안정적인 상이한 콘텐트 소스를 동적으로 추천하는 것을 포함할 수 있다.
피어 컴퓨터 또는 P2P 네트워크의 일부 또는 전부의 현재 상태를 재평가하기 위해 CMS 컴퓨터가 앞서 기술된 메트릭 중 하나 이상을 계속해서 적용하도록 구성될 수 있음이 인식될 것이다. 몇몇 경우에, 재평가 프로세스는 피어 컴퓨터로부터 종합된 업데이트된 원격측정 데이터로부터의 피드백에 기반할 수 있다. 또한, 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 컴퓨터에 송신하는 것을 포함할 수 있다. (가령, 도 4의 406에서의 "아니요" 분기에 의해 예시된 바와 같이) 콘텐트 획득 요청에 대한 응답이 CMS 컴퓨터로부터 수신되고, CDN 컴퓨터를 추천 콘텐트 소스로서 식별하면, CMS 컴퓨터는 CDN 컴퓨터를 전술한 바와 같은 하나 이상의 메트릭에 기반하여 디지털 콘텐트 아이템을 제공하기 위해 가장 적합한 소스로서 식별한 것이다. (도 4의 404에서의 "아니요" 분기에 의해 예시된 바와 같이) 콘텐트 획득 요청에 대한 응답이 CMS 컴퓨터로부터 수신되지 않으면, 그 요청은 자동적으로 송신되는 제1 대비책 요청일 수 있다. 다시 말해, CDN 컴퓨터는 CMS 컴퓨터가 추천 콘텐트 소스를 제공하는 데에 이용가능하지 않은 경우 백업(backup) 또는 디폴트(default) 소스로서의 역할을 할 수 있다. 몇몇 실시예에서, 그 대비책 요청은 조건이 만족되는 경우에 자동적으로 송신될 수 있다.
418에서, 방법(400)은 디지털 콘텐트 아이템이 CDN 컴퓨터로부터 다운로드되었는지 판정하는 것을 포함할 수 있다. 디지털 콘텐트 아이템이 CDN 컴퓨터로부터 다운로드되었다면, 방법(400)은 420으로 진행한다. 그렇지 않으면, 방법(400)은 422로 진행한다.
420에서, 방법(400)은 CDN 컴퓨터가 디지털 콘텐트 아이템을 다운로드하라는 요청에 응답하였고, 디지털 콘텐트 아이템이 성공적으로 다운로드되었음을 나타내는 보고를 컴퓨터 네트워크를 통해 CMS 컴퓨터에 송신하는 것을 포함할 수 있다. 그 보고는 CDN 컴퓨터와 연관된 원격측정 데이터뿐만 아니라 요청 피어 컴퓨터와 연관된 원격측정 데이터를 포함할 수 있다.
422에서, 방법(400)은 CDN 컴퓨터가 디지털 콘텐트 아이템을 다운로드하라는 요청에 응답하지 않았음을 나타내는 보고를 컴퓨터 네트워크를 통해 CMS 컴퓨터에 송신하는 것을 포함할 수 있다. 그 보고는 요청 피어 컴퓨터 및 CDN 컴퓨터와 연관된 원격측정 데이터를 포함할 수 있다(가령, CDN 컴퓨터가 요청에 응답하지 않았다는 표시).
424에서, 방법(400)은 디지털 콘텐트 아이템을 다운로드하라는 제2 대비책 요청을 컴퓨터 네트워크를 통해 P2P 네트워크의 피어 컴퓨터에 자동적으로 송신하는 것을 포함할 수 있다. 그 대비책 요청은 최적화되지 않은(non-optimized) 피어 컴퓨터 또는 CMS 컴퓨터에 의해 추천되지 않은 피어 컴퓨터에 송신될 수 있다. 그 대비책 요청은 디지털 콘텐트 아이템을 획득하기 위한 디폴트 조치(default measure)일 수 있다. 몇몇 실시예에서, 그 대비책 요청은 조건이 만족되는 경우 자동적으로 송신될 수 있다.
디지털 콘텐트 아이템을 제공하는 소스에 대해 CMS 컴퓨터에 초기에 질의하는 것에 의해, 피어 컴퓨터는 디지털 콘텐트 아이템을 제공할 피어 컴퓨터와 매칭될 수 있거나 가장 잘 맞을 수 있는 피어 컴퓨터에 대한 추천을 수신할 수 있다. 나아가, 제1 대비책으로서 CDN 컴퓨터에게 디지털 콘텐트 아이템을 자동적으로 요청하는 것에 의해, 피어 컴퓨터는 CMS 컴퓨터가 이용불가능한 경우에도 디지털 콘텐트 아이템을 획득하는 것이 가능할 수 있다.
도 6 및 도 7은 본 개시의 일 실시예에 따라 P2P 네트워크에서 자발적으로 동작을 수행하거나 의무적으로 동작을 수행하는 방법(600)을 도시한다. 예를 들어, 방법(600)은 도 1에 도시된 P2P 네트워크(102)의 피어 컴퓨터(101)와 같은, P2P 네트워크의 피어 컴퓨터에 의해 수행될 수 있다.
이하에 기술되는 방법에서, CMS 컴퓨터에 의해 관리되는 P2P 네트워크의 피어 컴퓨터는 사용자 제어형 부분 및 서비스 제어형 부분을 포함하는 로컬 저장 머신을 포함할 수 있다. 피어 컴퓨터는 디지털 콘텐트 아이템을 사용자 제어형 부분에 자발적으로 다운로드하고 사용자 제어형 부분 또는 서비스 제어형 부분 어느 한쪽으로부터 디지털 콘텐트 아이템을 자발적으로 업로드할 수 있다. 또한, 피어 컴퓨터는 의무적으로 디지털 콘텐트 아이템을 서비스 제어형 부분에 다운로드하기, 디지털 콘텐트 아이템을 서비스 제어형 부분으로부터 업로드하기, 그리고 서비스 제어형 부분으로부터 디지털 콘텐트 아이템을 삭제하기(CMS 컴퓨터로부터 수신된 명령에 기반함)가 가능하다. 풀(PULL) 전송 전략을 활용하는 실시예에서, 서비스 제어형 부분으로부터의 명령된 업로드는 디지털 콘텐트 아이템을 서비스 제어형 부분으로부터 요청 피어 컴퓨터에 제공하라는 요청을 가상 분배 허브로서의 역할을 하는 피어 컴퓨터에 송신할 것을 CMS 컴퓨터가 다른 피어 컴퓨터에 명령하는 형태를 취할 수 있다. 다시 말해, 피어 컴퓨터는 CMS 컴퓨터에 의해 제어되는 가상 분배 허브 및 P2P 네트워크의 단독형(stand-alone) 피어 모두로서의 역할을 할 수 있다. 몇몇 실시예에서, 서비스 제어형 부분은 피어가 CMS 컴퓨터에 의해 제어되는 가상 분배 허브로서 참여하기로 한 경우에 단지 형성되어 활용될 수 있다. 몇몇 실시예에서, 그 피어는 로컬 저장 머신의 서비스 제어형 부분, 전용(dedicated) 대역폭 및/또는 다른 적합한 리소스의 사용에 대해 보상받을(가령, 디지털 콘텐트에 대한 승인된 액세스, 우선적 다운로딩, 금전적(monetary) 아이템, 상환가능(redeemable) 아이템 등) 수 있다. 몇몇 실시예에서, 그 피어는 그러한 리소스의 사용됨과의 교환으로 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)은 로컬 저장 머신의 사용자 제어형 부분으로부터 제2 피어 컴퓨터로 컴퓨터 네트워크를 통해 제1 디지털 콘텐트 아이템을 의무적으로 업로드하는 것을 포함할 수 있다.
620에서, 방법(600)은 제2 디지털 콘텐트 아이템을 제공하라는 의무적 요청을 컴퓨터 네트워크를 통해 제2 피어 컴퓨터로부터 수신하는 것을 포함할 수 있다. 그 요청은 CMS 컴퓨터로부터 명령을 수신하는 것에 응답하여 제2 피어 컴퓨터에 의해 송신될 수 있기 때문에 그 요청은 의무적일 수 있다.
622에서, 방법(600)은 로컬 저장 머신의 서비스 제어형 부분으로부터 제2 피어 컴퓨터로 컴퓨터 네트워크를 통해 제2 디지털 콘텐트 아이템을 의무적으로 업로드하는 것을 포함할 수 있다. CMS 컴퓨터는 사용자 제어형 부분 또는 서비스 제어형 부분 어느 한쪽에든 저장될 수 있는 디지털 콘텐트 아이템의 전송을 명령할 수 있다는 점이 인식될 것이다.
624에서, 방법(600)은 제2 디지털 콘텐트 아이템을 제공하라는 자발적 요청을 컴퓨터 네트워크를 통해 제3 피어 컴퓨터로부터 수신하는 것을 포함할 수 있다. 그 요청은 CMS 컴퓨터에 의해 명령받지 않고 제3 피어 컴퓨터에 의해 송신될 수 있기 때문에 그 요청은 자발적일 수 있다.
626에서, 방법(600)은 로컬 저장 머신의 서비스 제어형 부분으로부터 제3 피어 컴퓨터로 컴퓨터 네트워크를 통해 제2 디지털 콘텐트 아이템을 자발적으로 업로드하는 것을 포함할 수 있다.
628에서, 방법(600)은 제2 디지털 콘텐트 아이템을 삭제하라는 명령을 컴퓨터 네트워크를 통해 CMS 컴퓨터로부터 수신하는 것을 포함할 수 있다.
630에서, 방법(600)은 로컬 저장 머신의 서비스 제어형 부분으로부터 제2 디지털 콘텐트 아이템을 의무적으로 삭제하는 것을 포함할 수 있다.
도 8은 본 개시의 일 실시예에 따라 콘텐트 소스로서 피어 컴퓨터를 선택하는 방법(800)을 도시한다. 예를 들어, 방법(800)은 도 1에 도시된 P2P 네트워크(102)의 피어 컴퓨터(101)와 같은, P2P 네트워크의 피어 컴퓨터에 의해 수행될 수 있다. 802에서, 방법(800)은 컴퓨터 네트워크를 통해 CMS 컴퓨터에 콘텐트 획득 요청을 송신하는 것을 포함할 수 있다. 콘텐트 획득 요청은 디지털 콘텐트 아이템을 갖는 P2P 네트워크의 현재 이용가능한 피어 컴퓨터에 대해 CMS 컴퓨터에 질의할 수 있다.
804에서, 방법(800)은 복수의 피어 컴퓨터를 식별하는 콘텐트 획득 요청에 대한 응답을 컴퓨터 네트워크를 통해 CMS 컴퓨터로부터 수신하는 것을 포함할 수 있다. 예를 들어, 복수의 피어 컴퓨터는 본 문서에서 기술된 선택 메트릭에 기반하여 선택되거나, 우선순위화되거나(prioritized), 정렬할 수 있다.
806에서, 방법(800)은 디지털 콘텐트 아이템을 다운로드하라는 요청을 컴퓨터 네트워크를 통해 복수의 피어 컴퓨터 중 공통 ISP를 갖는 피어 컴퓨터에 송신하는 것을 포함할 수 있다.
808에서, 방법(800)은 복수의 피어 컴퓨터 중에서 둘 이상의 피어 컴퓨터가 공통 ISP를 갖는지 판정하는 것을 포함할 수 있다. 복수의 피어 컴퓨터 중 둘 이상의 피어 컴퓨터가 공통 ISP를 가지면, 방법(800)은 810으로 진행한다. 그렇지 않으면, 방법(800)은 812로 진행한다.
810에서, 방법(800)은 디지털 콘텐트 아이템을 다운로드하라는 요청을 컴퓨터 네트워크를 통해 복수의 피어 컴퓨터 중 공통 ISP를 가지며 최고의 대역폭 또는 최저의 지연시간을 갖는 피어 컴퓨터에 송신하는 것을 포함할 수 있다. 몇몇 경우에, 최고 대역폭 또는 최적 지연시간은 최고의 현재 대역폭 또는 최저의 현재 지연시간일 수 있다. 몇몇 경우에, 최고 대역폭 또는 최저 지연시간은 최고의 이력적 대역폭 또는 최저의 이력적 지연시간일 수 있다. 몇몇 경우에, 최고의 현재 대역폭, 최저의 현재 지연시간, 최고의 이력적 대역폭 또는 최저의 이력적 지연시간 중 하나 이상을 갖고, 인트라넷 네트워크에 연결되고 복수의 피어 컴퓨터 중 공통 ISP를 갖는 피어 컴퓨터에는 제1 디지털 콘텐트 아이템을 다운로드하라는 요청이 컴퓨터 네트워크를 통해 송신된다. 이 기준은 그 요청을 송신하기 위해 피어를 선택하는 것에 대해 정보 입각 판정을 행하기 위한 임의의 적합한 방식으로 혼합되거나 매칭되거나 고려될 수 있음이 인식될 것이다.
812에서, 방법(800)은 피어 컴퓨터로부터 디지털 콘텐트 아이템을 다운로드하는 것을 포함할 수 있다.
814에서, 방법(800)은 피어 컴퓨터로부터 디지털 콘텐트 아이템을 다운로드하는 동안, 컴퓨터 네트워크를 통해 CMS 컴퓨터에 업데이트된 원격측정 데이터를 송신하는 것을 포함할 수 있다. 몇몇 경우에, 피어 컴퓨터는 디지털 콘텐트 아이템의 전송 중 이외에 원격측정 데이터를 CMS 컴퓨터에 송신할 수 있다. 원격측정 데이터를 송신하는 시기(timing)는 디지털 콘텐트 아이템을 전송하는 시기에 결부될 필요는 없음이 이해될 것이다.
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 컴퓨터에 자동적으로 송신하는 것을 포함할 수 있다. 몇몇 실시예에서, 대비책 요청은 조건이 만족되는 경우 자동적으로 송신될 수 있다. 예를 들어, 그 조건은 지정된 응답 시간 한도 내에 콘텐트 획득 요청에 대한 응답을 수신하지 않은 것, 지정된 다운로드 개시 시간 한도 내에 디지털 콘텐트 아이템을 다운로드하기 시작하지 않은 것, 지정된 다운로드 완료 시간 한도 내에 디지털 콘텐트 아이템의 다운로드를 완료하지 않은 것, 임계 처리율을 넘어 디지털 콘텐트 아이템을 다운로드하지 않은 것 또는 다운로드 시험 기간 중에 임계 처리율을 넘어 디지털 콘텐트 아이템을 다운로드하지 않은 것을 포함할 수 있다. 본 개시의 범주로부터 벗어나지 않고 디지털 콘텐트 아이템을 제공하기 위해 네트워크 또는 단체의(corporate) 리소스(가령, CDN 컴퓨터)를 사용할지 여부 또는 언제 사용할지에 대해 정보 입각 판정을 행하기 위해 임의의 적합한 알고리즘 또는 논리가 구현될 수 있음이 인식될 것이다.
인트라넷 네트워크에 연결되지 않은 피어 컴퓨터를 두고 인트라넷 네트워크에 연결된 피어 컴퓨터를 콘텐트 소스로서 선택하는 것에 의해, 디지털 콘텐트 아이템은 인터넷과 같은 외부의 컴퓨터 네트워크를 액세스하지 않고 전송될 수 있다. 따라서, 디지털 콘텐트 아이템을 전송하기 위한 비용은 감소될 수 있고, 디지털 콘텐트 아이템은 P2P 네트워크의 리소스를 덜 사용하여 전송될 수 있다.
도 10은 본 개시의 일 실시예에 따라 디지털 콘텐트 아이템을 제공하기 위해 하나 이상의 콘텐트 소스를 선택하는 방법(1000)을 도시한다. 예를 들어, 방법(1000)은 도 1에 도시된 P2P 네트워크(102)의 피어 컴퓨터(101)와 같은, P2P 네트워크의 피어 컴퓨터에 의해 수행될 수 있다. 1002에서, 방법(1000)은 복수의 단편을 포함하는 디지털 콘텐트 아이템의 부분을 저장하는 복수의 소스를 식별하는 것을 포함한다. 몇몇 경우에, 디지털 콘텐트 아이템의 한 부분은 디지털 콘텐트 아이템의 한 단편을 포함할 수 있다. 몇몇 경우에, 디지털 콘텐트 아이템의 한 부분은 디지털 콘텐트 아이템의 몇몇 단편을 포함할 수 있다. 몇몇 경우에, 디지털 콘텐트 아이템의 한 부분은 디지털 콘텐트 아이템의 전부를 포함할 수 있다. 복수의 소스는 컴퓨터(가령, 피어 컴퓨터(101))의 하나 이상의 로컬 저장 머신 및 P2P 네트워크(가령, P2P 네트워크(102))의 하나 이상의 피어 컴퓨터를 포함할 수 있다.
1004에서, 방법(1000)은 디지털 콘텐트 아이템의 복수의 단편 중 각 단편에 대해 하나 이상의 다운로드 메트릭에 따라 복수의 소스로부터 소스를 선택하는 것을 포함할 수 있다. 예를 들어, 다운로드 메트릭은 가장 빠른 다운로드 속도, 최저 획득 비용, 최저 리소스 사용 레벨, 최저 에너지 사용 레벨, 최저 사용자 경험 차질 레벨, 리소스의 가용성 및/또는 임의의 다른 적합한 메트릭을 포함할 수 있다. 또한, 몇몇 경우에, 다운로드 메트릭은 디지털 콘텐트 아이템의 단편을 다운로드하는 것이 가능한 경우 P2P 네트워크보다 하나 이상의 로컬 저장 머신을 선택할 수 있다.
하나의 예에서, 기본적인 형태로, 획득 소스의 선택은 단일한 다운로드 메트릭에 기반할 수 있다. 예를 들어, 다운로드 메트릭은 가능한 한 신속히 그 부분을 얻는 것일 수 있는데, 이 경우에 획득 비용과 같은 다른 인자는 소스를 선택할 때 고려되지 않을 것이다.
다른 예에서, 더욱 정교한 형태로, 획득 소스의 선택은 복수의 경쟁하는(competing) (또는 가능하게는 상충하는(conflicting)) 다운로드 메트릭 간에 균형을 이룰 수 있다. 예를 들어, 복수의 다운로드 메트릭은 획득 비용과 연관된 30% 가중치 및 획득 속도와 연관된 70% 가중치를 포함할 수 있다. 이 개시의 범주를 벗어나지 않고 임의의 적합한 어림법이 사용될 수 있다.
몇몇 실시예에서, 다운로드 메트릭은 또한 디지털 콘텐트 아이템의 어느 단편이 어느 소스에 의해 다운로드될 것인지 지정할 수 있다. 예를 들어, 복수의 다운로드 메트릭은 디지털 콘텐트 아이템 중 30%가 CDN 컴퓨터와 같이 비용이 더 많이 드는 빠르고 신뢰할 수 있는 소스로부터 다운로드될 것이고, 디지털 콘텐트 아이템 중 70%가 공용 P2P 네트워크 상의 피어 컴퓨터와 같이 더 느리고, 덜 믿을 만하며, 비용이 덜 드는 컴퓨터로부터 다운로드될 것임을 지정할 수 있다.
몇몇 실시예에서, 다운로드 메트릭은 다운로드 프로세스 중에 동적으로 변할 수 있다(우선순위가 변하는 것). 예를 들어, 다운로드 메트릭이 획득 비용에 비해 획득 속도를 우선시하는 디지털 콘텐트 아이템의 다운로드 중에, 조건은 바뀔 수 있고(가령, 돈을 다 써버림) 다운로드 메트릭은 획득 비용이 획득 속도에 비해 우선시될 수 있도록 동적으로 조절될 수 있다. 몇몇 경우에, 다운로드 메트릭에서의 변화에 기반하여 상이한 소스가 동적으로 선택될 수 있다.
1006에서, 방법(1000)은 디지털 콘텐트 아이템의 복수의 단편 중 각 단편에 대해, 선택된 소스로부터 해당 단편을 다운로드하는 것을 포함할 수 있다. 몇몇 경우에, 다운로드하는 것은 하나의 로컬 저장 머신으로부터 다른 로컬 저장 머신으로 데이터를 전송하는 것(가령, 탈착가능한(removable) 매체로부터 하드 드라이브(hard drive) 또는 고체 상태 메모리(solid state memory)로 콘텐트를 로딩하는 것)을 포함할 수 있다. 몇몇 경우에, 다운로드하는 것은 컴퓨터 네트워크를 통해 원격 컴퓨터로부터 데이터를 전송하는 것을 포함할 수 있다. 몇몇 경우에, 디지털 콘텐트 아이템의 상이한 단편들은 상이한 소스들로부터 병렬로 다운로드될 수 있다. 또한, 몇몇 경우에, 디지털 콘텐트 아이템의 적어도 몇몇 단편은 하나 이상의 로컬 저장 머신으로부터 다운로드될 수 있고 디지털 콘텐트 아이템의 적어도 몇몇 단편은 컴퓨터 네트워크를 통해 P2P 네트워크의 하나 이상의 피어 컴퓨터로부터 다운로드될 수 있다. 다시 말해, 디지털 콘텐트 아이템의 부분들은 로컬로 또한 원격으로 다운로드될 수 있다.
1008에서, 방법(1000)은 디지털 콘텐트 아이템으로서 컴퓨터 상에서의 설치를 위해 복수의 단편을 편제하는 것을 포함할 수 있다. 예를 들어, 편제하는 것은 다운로드된 단편의 고유한 식별자를 요청된 단편의 고유한 식별자에 대해 비교함으로써 단편을 유효화하는 것을 포함할 수 있다. 몇몇 경우에, 상이한 단편들은 상이한 프로토콜을 갖는 상이한 소스들로부터 다운로드될 수 있다. 따라서, 편제하는 것은 디지털 콘텐트 아이템의 모든 단편을 균일한 포맷으로 바꾸는 것을 포함할 수 있다. 또한, 편제하는 것은 다운로드된 단편들을 디지털 콘텐트 아이템을 형성하기 위해 지정된 순서로 배열하는 것을 포함할 수 있다.
1010에서, 방법(1000)은 하나 이상의 로컬 저장 머신으로부터 다운로드된 디지털 콘텐트 아이템의 단편이 P2P 네트워크의 임계 가용성 미만의 가용성을 가지는지 판정하는 것을 포함할 수 있다. 몇몇 경우에, 임계 가용성은 디지털 콘텐트 아이템의 단편이 P2P 네트워크의 임의의 피어 컴퓨터 상에서 이용가능하지 않는 것을 포함할 수 있다. 몇몇 경우에, 임계 가용성은 (그렇지 않은 경우에는 디지털 콘텐트 아이템을 제공하기 위해 이용가능한) P2P 네트워크의 임의의 이용가능한 피어 컴퓨터 상에서 디지털 콘텐트 아이템의 단편이 이용가능하지 않는 것을 포함할 수 있다. 그 단편이 임계 가용성 미만의 가용성을 갖는 경우, 방법(1000)은 1012로 진행한다. 그렇지 않으면, 방법(1000)은 1016으로 진행한다.
1012에서, 방법(1000)은 하나 이상의 로컬 저장 머신으로부터 다운로드된 디지털 콘텐트 아이템의 단편의 소유를 나타내는 통지를 컴퓨터 네트워크를 통해 CMS 컴퓨터에 송신하는 것을 포함할 수 있다. 그 통지는 그 단편의 가용성이 P2P 네트워크의 임계 가용성보다 낮기 때문에 송신될 수 있다.
1014에서, 방법(1000)은 디지털 콘텐트 아이템의 단편을 제공하기 위한 요청을 컴퓨터 네트워크를 통해 피어 투 피어 네트워크의 피어 컴퓨터로부터 수신하는 것에 응답하여 디지털 콘텐트 아이템의 단편을 컴퓨터 네트워크를 통해 P2P 네트워크의 피어 컴퓨터에 업로드하는 것을 포함할 수 있다. 몇몇 경우에, 그 요청은 피어 컴퓨터에 의해 자발적으로 송신될 수 있다. 몇몇 경우에, 그 요청은 디지털 콘텐트 아이템의 단편을 검색(retrieve)하기 위해 CMS 컴퓨터로부터 명령을 수신하는 것에 응답하여 피어 컴퓨터에 의해 의무적으로 송신될 수 있다. 어느 경우에서든, 디지털 콘텐트 아이템의 단편은 P2P 네트워크에서 단편의 가용성을 증가시키기 위해 P2P 네트워크에 분배될 수 있다.
1016에서, 방법(1000)은 디지털 콘텐트 아이템의 지정된 단편을 다운로드하는 동안 소스가 안정적인지 판정하는 것을 포함할 수 있다. 예를 들어, 소스는 하나 이상의 안정성 메트릭에 따라 안정적인지 또는 불안정한지 판정될 수 있다. 소스가 불안정하다고 판정되면, 방법(1000)은 1018로 진행한다. 그렇지 않으면, 방법(1000)은 1020으로 진행한다.
1018에서, 그 방법은 지정된 단편을 상이한 소스로부터 다운로드하는 것을 포함할 수 있다. 상이한 소스는 하나 이상의 다운로드 메트릭에 따라 복수의 소스로부터 선택될 수 있다.
몇몇 실시예에서, 디지털 콘텐트 아이템의 부분은 디지털 콘텐트 아이템의 전부가 다운로드되기 전에 설치되거나 실행될 수 있다. 예를 들어, 게임의 상이한 부분들은 게임을 거치며 사용자의 진행(가령 위치, 맵, 레벨, 방향 등과 같은 것)에 기반하여 다운로드될 수 있다. 따라서, 1020에서, 그 방법은 디지털 콘텐트 아이템과의 사용자 상호작용에 기반하여 디지털 콘텐트 아이템의 어느 단편을 다운로드할 것인지 판정하는 것을 포함할 수 있다. 예를 들어, 사용자의 현재 위치에 가까운 게임 세계 내 위치를 나타내는 단편은 사용자의 현재 위치로부터 더욱 떨어진 게임 세계 내 위치 전에 다운로드될 수 있다.
1022에서, 방법(1000)은 디지털 콘텐트 아이템과의 사용자 상호작용에 기반하여 디지털 콘텐트 아이템의 단편을 위한 소스를 선택하는 것을 포함할 수 있다. 예를 들어, 가까운 장래에 설치되거나 소비될 가능성이 더 많은 디지털 콘텐트 아이템의 단편은 더 빠르고 더 비싼 소스로부터 다운로드될 수 있고 가까운 장래에 설치되거나 소비될 가능성이 더 적은 단편은 더 느리고 덜 비싼 소스로부터 다운로드될 수 있다.
전술된 방법은 P2P 네트워크의 양호성을 잠재적으로 증가시키는 효율적인 방식으로 하나 이상의 소스로부터 디지털 콘텐트 아이템을 다운로드하기 위해 피어 컴퓨터에 의해 수행될 수 있다. 특히, 로컬 소스 및 P2P 네트워크의 소스 간 상호작용을 도입함으로써, 모든 소스는 중복 단편 획득을 제거하고 로컬 소스로 몇몇 단편의 전송을 떠넘기기(offloading)에 의해 P2P 네트워크의 양호성을 증가시키면서 유리한 순서로 디지털 콘텐트 아이템의 단편을 얻기 위해 협력하여 작업할 수 있다.
도 11은 본 개시의 일 실시예에 따라 콘텐트를 다운로드하는 방법(1100)을 도시한다. 예를 들어, 방법(1100)은 도 1에 도시된 P2P 네트워크(102)의 피어 컴퓨터(101)와 같은, P2P 네트워크의 피어 컴퓨터에 의해 수행될 수 있다.
1102에서, 방법(1100)은 컴퓨터의 하나 이상의 로컬 저장 머신으로부터 디지털 콘텐트 아이템의 하나 이상의 단편을 다운로드하는 것을 포함할 수 있다.
1104에서, 방법(1100)은 임계 차질 레벨을 넘는 사용자 경험의 차질을 유발하는 컴퓨터의 동작에서의 변화가 발생하는지 판정하는 것을 포함할 수 있다. 예를 들어, 임계 차질 레벨은 컴퓨터의 리소스 사용 레벨이 임계 레벨보다 큰 것을 포함할 수 있다. 하나의 특정한 예에서, 동작에서의 변화는 사용자가 프로그램을 수행하는 것, 게임을 하는 것, 비디오를 보는 것 등(리소스를 소비함)을 포함할 수 있다. 동작에서의 그러한 변화는 게임 또는 비디오가 더듬대거나(stutter) 건너뛰거나(skip) 버퍼링되거나 멈출 수 있는 레벨과 같은 임계 레벨보다 리소스 사용 레벨이 더 커지게 할 수 있다. 이는 단지 하나의 예이고 사용자 경험의 다른 차질이 본 개시의 범주를 벗어나지 않고 고려될 수 있음에 유의하시오. 임계 차질 레벨을 넘는 사용자 경험의 차질을 유발하는 변화가 발생하면, 방법(1100)은 1106으로 진행한다. 그렇지 않으면, 방법(1100)은 다른 동작으로 되돌아간다.
1106에서, 방법(1100)은 임계 차질 레벨을 넘는 사용자 경험의 차질을 유발하는 컴퓨터의 동작에서의 변화에 응답하여 디지털 콘텐트 아이템의 하나 이상의 단편을 컴퓨터의 하나 이상의 로컬 저장 머신으로부터 다운로드하기를 중단하는 것을 포함할 수 있다.
1108에서, 방법(1100)은 하나 이상의 저장 머신으로부터의 다운로드를 중단하는 것에 반응하여 디지털 콘텐트 아이템의 하나 이상의 단편을 컴퓨터 네트워크를 통해 소스로부터 다운로드하기를 자동적으로 시작하는 것을 포함한다. 그 소스는 하나 이상의 다운로드 메트릭에 따라 복수의 소스로부터 선택될 수 있다. 예를 들어, 하나 이상의 다운로드 메트릭은 가장 빠른 다운로드 속도, 최저 획득 비용, 최저 리소스 사용 레벨, 최저 에너지 사용 레벨, 최저 사용자 경험 차질 레벨 및/또는 다른 적합한 메트릭을 포함할 수 있다. 하나의 예에서, 복수의 소스는 P2P 네트워크의 하나 이상의 피어 컴퓨터 및 CDN 컴퓨터를 포함할 수 있다.
로컬 소스로부터의 디지털 콘텐트 아이템의 다운로드를 동적으로 중단하는 것 및 사용자 차질과 맞닥뜨리는 것에 응답하여 컴퓨터 네트워크를 통해 원격 소스로부터 디지털 콘텐트 아이템을 자동적으로 다운로드하는 것에 의해, 사용자 경험이 디지털 콘텐트 아이템의 획득에 비해 우선시될 수 있되, 디지털 콘텐트 아이템은 여전히 획득될 수 있다.
도 12 및 도 13은 본 개시의 일 실시예에 따라 P2P 네트워크를 관리하는 방법(1200)을 도시한다. 예를 들어, 방법(1200)은 도 1에 도시된 P2P 네트워크(102)의 CMS 컴퓨터(110)과 같은, P2P 네트워크의 CMS 컴퓨터에 의해 수행될 수 있다. 1202에서, 방법(800)은 컴퓨터 네트워크를 통해 P2P 네트워크 내 복수의 피어 컴퓨터로부터 원격측정 데이터를 종합하는 것을 포함할 수 있다.
1204에서, 방법(1200)은 제1 디지털 콘텐트 아이템을 제공할 추천 콘텐트 소스에 대해 질의하는 콘텐트 획득 요청을 컴퓨터 네트워크를 통해 P2P 네트워크의 제1 피어 컴퓨터로부터 수신하는 것을 포함할 수 있다.
1206에서, 방법(1200)은 종합된 원격측정 데이터로부터 도출되는 선택 메트릭에 기반하여 제1 피어 컴퓨터에 제1 디지털 콘텐트 아이템을 제공하기 위한 소스를 선택하는 것을 포함할 수 있다. 예를 들어 그 판정은 제1 디지털 콘텐트 아이템이 P2P 네트워크의 임의의 피어 컴퓨터로부터의 업로드를 위해 이용가능함을 복수의 피어 컴퓨터로부터 종합된 원격측정 데이터가 나타내는지를 고려할 수 있다. 몇몇 실시예에서, 그 판정은 또한 하나 이상의 선택 메트릭에 기반하여 디지털 콘텐트 아이템을 갖는 피어 컴퓨터가 제1 피어 컴퓨터에 대해 가장 잘 맞는 것(best fit)인지 고려할 수 있다. 몇몇 경우에, 그 판정은 또한 추천 콘텐트 소스를 선택하는 경우 요청되는 콘텐트의 유형을 고려할 수 있다.
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)은 지정된 피어 컴퓨터가 격리되는 것에 응답하여 격리된 그 지정된 피어 컴퓨터에게 디지털 콘텐트 아이템을 요청하는 피어 컴퓨터를 그 디지털 콘텐트 아이템을 갖는 대체(alternate) 피어 컴퓨터로 재지향시키는 것을 포함할 수 있다.
1224에서, 방법(1200)은 격리된 그 지정된 피어 컴퓨터로 하여금 그 지정된 피어 컴퓨터가 교정적인(corrective) 액션을 수행하는 것에 응답하여 격리된 후에 P2P 네트워크 내에서 디지털 콘텐트 아이템을 전송하는 것을 허용하는 것을 포함할 수 있다. 다시 말해, 지정된 피어 컴퓨터의 격리를 해제하는(lifting) 것이다. 교정적인 액션의 비한정적인 예는 대역폭을 증가시키는 것, 가용성을 증가시키는 것, 안정성을 증가시키는 것, 절충된 디지털 콘텐트 아이템을 제거하는 것 등을 포함할 수 있다.
몇몇 실시예에서, 완화 동작은 디지털 콘텐트 아이템을 제공할 상이한 소스를 동적으로 추천하는 것, 피어 컴퓨터를 격리시키는 것 및 피어 컴퓨터의 격리를 해제하는 것은 물론 본 문서에서 논의된 다른 적합한 동작을 포함할 수 있음에 유의하시오.
1226에서, 방법(1200)은 제2 디지털 콘텐트 아이템의 가용성이 P2P 네트워크의 임계 가용성 미만인지 판정하는 것을 포함할 수 있다. 제2 디지털 콘텐트 아이템이 임계 가용성 미만이면, 방법(1200)은 1228로 진행한다. 그렇지 않으면, 방법(1200)은 1238로 진행한다.
1228에서, 방법(1200)은 제2 디지털 콘텐트 아이템을 갖는 P2P 네트워크의 피어 컴퓨터를 식별하는 것을 포함할 수 있다. 몇몇 경우에, 제2 디지털 아이템은 피어 컴퓨터에 의해 자발적으로 다운로드되어 해당 피어 컴퓨터의 로컬 저장 머신의 사용자 제어형 부분 내에 세이브되었을 수 있다. 몇몇 경우에, 제2 디지털 콘텐트 아이템은 CMS 컴퓨터로부터의 명령에 기반하여 피어 컴퓨터에 의해 의무적으로 다운로드되어 해당 피어 컴퓨터의 로컬 저장 머신의 서비스 제어형 부분 내에 세이브되었을 수 있다.
1230에서, 그 방법은 제2 디지털 콘텐트 아이템을 소스로부터 다운로드하라는 명령을 컴퓨터 네트워크를 통해 제1 피어 컴퓨터에 송신하는 것을 포함할 수 있다(가령, 제1 디지털 콘텐트 아이템을 갖는 것으로 식별된 피어 컴퓨터). 소스는 하나 이상의 선택 메트릭에 따라 선택될 수 있다. 제2 디지털 콘텐트 아이템은 제1 피어 컴퓨터의 로컬 저장 머신의 사용자 제어형 부분 내에 세이브될 수 있다. 몇몇 실시예에서, 그 방법은 제1 피어 컴퓨터로 제2 디지털 콘텐트 아이템을 업로드하라는 명령을 컴퓨터 네트워크를 통해 제2 디지털 콘텐트 아이템을 갖는 것으로 식별된 P2P 네트워크의 피어 컴퓨터에 송신하는 것을 포함할 수 있다. 다시 말해, CMS 컴퓨터는 콘텐트 분배 시스템의 구성에 따라 디지털 콘텐트 아이템의 업로드하기 또는 다운로드하기를 명령하도록 구성될 수 있다.
몇몇 실시예에서, 그 방법은 제2 디지털 콘텐트 아이템의 가용성이 임계 가용성을 넘을 때까지 제2 디지털 콘텐트 아이템을 다운로드하라는 명령을 제2 디지털 콘텐트 아이템을 갖지 않는 P2P 네트워크의 피어 컴퓨터에 송신하는 것을 포함할 수 있다.
1232에서, 방법(1200)은 제1 피어 컴퓨터가 제2 디지털 콘텐트 아이템을 소스로부터 다운로드하였음을 나타내는 보고를 컴퓨터 네트워크를 통해 제1 피어 컴퓨터로부터 수신하는 것을 포함할 수 있다. 제2 디지털 콘텐트 아이템은 제1 피어 컴퓨터에 의해 의무적으로 다운로드되어 제1 피어 컴퓨터의 로컬 저장 머신의 서비스 제어형 부분 내에 세이브될 수 있다.
1234에서, 방법(1200)은 제1 피어 컴퓨터로부터 제2 디지털 콘텐트 아이템을 다운로드하라는 명령을 컴퓨터 네트워크를 통해 P2P 네트워크의 제3 피어 컴퓨터에 송신하는 것을 포함할 수 있다. 그 명령은 P2P네트워크 내 제2 디지털 콘텐트 아이템의 가용성을 증가시키기 위해 관리 동작의 일부로서 송신될 수 있다.
1236에서, 방법(1200)은 제1 피어 컴퓨터의 로컬 저장 머신의 서비스 제어형 부분으로부터 제1 피어 컴퓨터로부터의 제2 디지털 콘텐트 아이템을 삭제하라는 명령을 컴퓨터 네트워크를 통해 제1 피어 컴퓨터에 송신하는 것을 포함할 수 있다.
1238에서, 방법(1200)은 복수의 피어 컴퓨터로부터 종합된 원격측정 데이터로부터 도출되는 P2P 네트워크의 하나 이상의 참여 메트릭에 따라 P2P 네트워크의 하나 이상의 피어 컴퓨터에 보상을 제공하는 것을 포함할 수 있다.
하나의 예에서, 그 보상은 참여 순위를 피어에 할당하는 것을 포함할 수 있다.
따라서, 1240에서, 방법(1200)은 P2P 네트워크의 피어 컴퓨터의 참여 순위를 제공하는 것을 포함할 수 있다. 예를 들어 제공하는 것은 각 피어 컴퓨터의 참여 순위에 의해 정렬된 P2P 네트워크의 피어 컴퓨터의 리스트를 디스플레이하는 것을 포함할 수 있다. 그 리스트의 예가 도 15에 도시되며 이하에서 더욱 상세히 기술된다. 그 리스트는 피어 컴퓨터가 그것의 순위를 증가시키기 위해 P2P 네트워크를 통해 콘텐트를 전송하는 데에 참여할 인센티브(incentive)를 제공할 수 있다. 반면, P2P 네트워크의 양호성은 디지털 콘텐트 아이템의 가용성의 증가를 통해 개선될 수 있다. 다른 예에서, 피어 컴퓨터의 참여 순위는 테이블(table), 계층적 디스플레이(hierarchical display)(가령 영역별로(by region)) 또는 유사한 것으로 제공될 수 있다. 피어 컴퓨터의 참여 순위는 본 개시의 범주를 벗어나지 않고 임의의 적합한 방식으로 제공될 수 있다는 점이 인식될 것이다.
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)은 정선된 디지털 콘텐트 아이템이 사전결정된 기간(predetermined period) 동안 공용 P2P 네트워크에 발행된 후, 정선된 디지털 콘텐트 아이템을 컴퓨터 네트워크를 통해 사설 P2P 네트워크에 분배를 위해 발행하는 것을 포함할 수 있다.
정선된 디지털 콘텐트를 공용 P2P 네트워크에 발행함으로써, 공용 P2P 네트워크의 리소스는 정선된 디지털 콘텐트 아이템의 가용성을 분배하고 그렇지 않으면 증가시키기 위해 이용될(leveraged) 수 있다. 또한, 정선된 디지털 콘텐트 아이템이 사설 P2P 네트워크에 전해지는 경우, 정선된 디지털 콘텐트 아이템은 그것이 사설 P2P 네트워크 내 분배에 적합하게 하기 위해 유효화될 수 있다. 따라서, 정선된 콘텐트의 가용성은 사설 P2P 네트워크 상의 부하를 감소시키면서 신속히 증가될 수 있다.
앞서 기술된 방법의 다양한 액션, 동작 또는 기능이 예시된 차례로 또는 병렬로 수행되거나 몇몇 경우 생략될 수 있음은 이해될 것이다. 나아가, 전술된 방법은 임의의 적합한 방식으로 조합될 수 있다. 마찬가지로, 처리의 순서는 반드시 본 문서에서 기술된 예시적 실시예의 특징 및 이점을 달성할 것이 요구되지는 않으나, 예시 및 서술의 용이함을 위해 제공된다. 예시된 액션, 기능 또는 동작 중 하나 이상은 사용되는 특정한 전략에 따라 반복적으로 수행될 수 있다.
도 15는 본 개시의 일 실시예에 따라 사용자에게 디스플레이가능한 보상 인터페이스(1500)를 도시한다. 몇몇 실시예에서, 보상 인터페이스는 도 1에 도시된 CMS 컴퓨터(110)에 의해 생성될 수 있다. 몇몇 실시예에서, 보상 인터페이스는 도 1에 도시된 피어 컴퓨터(101)에 의해 생성될 수 있다. 몇몇 실시예에서, 보상 인터페이스는 피어 보상 정보에 대한 액세스를 구비한 제3자에 의해 렌더링될(rendered) 수 있다. 보상 인터페이스(1500)는 P2P 네트워크에의 참여는 물론 P2P 네트워크에의 참여에 기반하여 누적된 보상에 관련된 정보를 디스플레이하는 그래픽 사용자 인터페이스(graphical user interface)일 수 있다.
보상 인터페이스(1500)는 피어 컴퓨터가 P2P 네트워크 내에서 상호작용함에 따라 시간에 걸쳐 수집될 수 있는 피어 컴퓨터 참여 통계(1502)를 포함할 수 있다. 참여 통계는 시딩 통계(seeding statistics) 및 리칭 통계(leeching statistics)를 포함할 수 있다. 참여 통계의 다른 비한정적 예는 시드된 콘텐트의 단편, 리치된 콘텐트의 단편, 시드된 바이트의 수, 리치된 바이트의 수, 시드된 총 분(total minutes), 리치된 총 분, 피어와의 최장 비중단(uninterrupted) 시딩 세션, 시드된 파일의 최대 단편, 단독으로 시드된 파일의 수, 게임의 시드된 단편의 수, 게임이 완전히 시드된 횟수 등을 포함할 수 있다. 몇몇 실시예에서, 피어 컴퓨터 참여 통계는 콘텐트 카테고리(가령, 콘텐트 유형, 타이틀, 장르 및/또는 군(family))별 참여에 따라 열거될 수 있다.
보상 인터페이스(1500)는 피어 사용자 참여 통계(1504)를 포함할 수 있다. 피어 사용자 참여 통계는 그것이 복수의 상이한 피어 컴퓨터를 사용할 수 있는 사용자에 결부될 수 있다는 점을 제외하고 피어 컴퓨터 참여 통계와 유사할 수 있다.
보상 인터페이스(1500)는 P2P 네트워크 내 각 피어 컴퓨터의 참여 순위에 따라 피어 컴퓨터를 열거하는 참여 리스트 또는 리더 보드(leader board)(1506)를 포함할 수 있다. 참여 순위는 원격측정 데이터로부터 도출되는 하나 이상의 참여 메트릭에 따라 할당될 수 있다. 몇몇 실시예에서, 리더 보드는 강조하는 특정한 참여 통계를 포함하여 높게 순위화된 피어 컴퓨터를 기술할 수 있다.
보상 인터페이스(1500)는 피어 참여 통계의 비교(1508)를 포함할 수 있다. 그 비교는 사용자로 하여금 그 참여 레벨을 P2P 네트워크의 다른 피어 컴퓨터와 비교하여 측정(gauge)하게 할 수 있다.
보상 인터페이스(1500)는 피어 컴퓨터에 제공되는 보상을 포함할 수 있다. 예를 들어, 보상 인터페이스(1500)는 피어 컴퓨터가 최다 업로드, 최장 업로드 세션 및 최장 비중단 세션과 같은, P2P 네트워크에의 참여를 통해 올린 공적(1510)을 포함할 수 있다. 공적(1510)은 피어 컴퓨터가 더 큰 공적으로 보상받음에 따라 계속해서 더 어렵거나 달라질 수 있다. 보상 인터페이스(1500)는 상환가능한 보상(1512)을 포함할 수 있다. 예를 들어, 상환가능한 보상은 상환가능한 아이템, 쿠폰, 포인트 또는 금전적 보상을 포함할 수 있다. 보상은 또한 명망(prestige)(가령, 타이틀, 랭킹 등) 또는 임의의 다른 적합한 상(prize)을 포함할 수 있다.
보상 인터페이스 및 관련된 보상 메커니즘은 궁극적으로 P2P 네트워크의 시드 개체수(population)를 증가시키는 디지털 콘텐트 아이템을 시드하기 위한 P2P 네트워크의 참여자들 간의 경쟁적 환경을 생성할 수 있다. 이 방식으로, 피어 간의 우호적인 경쟁은 전체적으로 더 양호한 P2P 네트워크로 이어질 수 있다.
몇몇 실시예에서, 본 문서에서 기술된 방법 및 프로세스는 하나 이상의 컴퓨팅 디바이스의 컴퓨팅 시스템에 결부될 수 있다. 특히, 그러한 방법 및 프로세스는 컴퓨터 애플리케이션(computer-application) 프로그램 또는 서비스, 애플리케이션 프로그래밍 인터페이스(Application-Programming Interface: API), 라이브러리(library) 및/또는 다른 컴퓨터 프로그램 제품(computer-program product)으로서 구현될 수 있다.
도 16은 전술된 방법 및 프로세스 중 하나 이상을 시행할 수 있는 컴퓨팅 시스템의 비한정적 실시예를 개략적으로 도시한다.
컴퓨팅 시스템(1600)은 단순화된 형태로 도시된다. 컴퓨팅 시스템(1600)은 하나 이상의 게임 콘솔, 개인용 컴퓨터, 서버 컴퓨터, 태블릿 컴퓨터, 홈 엔터테인먼트(home-entertainment) 컴퓨터, 네트워크 컴퓨팅 디바이스, 모바일 컴퓨팅 디바이스, 모바일 통신 디바이스(가령, 스마트 폰) 및/또는 다른 컴퓨팅 디바이스의 형태를 취할 수 있다. 몇몇 실시예에서, 컴퓨팅 시스템(1600)은 도 1에 도시된 피어 컴퓨터(101)와 같은 피어 컴퓨터를 나타내는 것일 수 있다. 몇몇 실시예에서, 컴퓨팅 시스템(1600)은 도 1에 도시된 CMS 컴퓨터(110)을 나타내는 것일 수 있다. 몇몇 실시예에서, 컴퓨팅 시스템(1600)은 도 3에 도시된 CMS 컴퓨터(300)의 컴퓨터 아키텍처를 구현할 수 있다. 몇몇 실시예에서, 컴퓨팅 시스템(1600)은 도 1에 도시된 CDN 컴퓨터(114)와 같은 CDN 컴퓨터를 나타내는 것일 수 있다.
컴퓨팅 시스템(1600)은 논리 머신(logic machine)(1602) 및 저장 머신(1604)을 포함한다. 컴퓨팅 시스템(1600)은 선택적으로 디스플레이 서브시스템(1606), 입력 서브시스템(1608), 통신 서브시스템(1610) 및/또는 도 16에 도시되지 않은 다른 컴포넌트를 포함할 수 있다.
논리 머신(1602)은 명령어를 실행하도록 구성된 하나 이상의 물리적 디바이스를 포함한다. 예를 들어, 논리 머신은 하나 이상의 애플리케이션, 서비스, 프로그램, 루틴, 라이브러리, 오브젝트, 컴포넌트, 데이터 구조 또는 다른 논리적 구성체의 일부인 명령어를 실행하도록 구성될 수 있다. 그러한 명령어는 태스크(task)를 수행하거나, 데이터 유형을 구현하거나, 하나 이상의 컴포넌트의 상태를 변환하거나, 기술적 효과를 달성하거나 그렇지 않으면 원하는 결과에 이르도록 구현될 수 있다.
논리 머신은 소프트웨어 명령어를 실행하도록 구성된 하나 이상의 프로세서를 포함할 수 있다. 추가적으로 또는 대안적으로, 논리 머신은 하드웨어 또는 펌웨어 명령어를 실행하도록 구성된 하나 이상의 하드웨어 또는 펌웨어 논리 머신을 포함할 수 있다. 논리 머신의 프로세서는 단일 코어(single-core) 또는 다중 코어(multi-core)일 수 있고, 거기에서 실행되는 명령어는 순차적(sequential), 병렬(parallel) 및/또는 분산된(distributed) 처리를 위해 구성될 수 있다. 논리 머신의 개별 컴포넌트는 선택적으로 둘 이상의 별개의 디바이스(코디네이트된 처리(coordinated processing)를 위해 구성되고/되거나 원격으로 위치될 수 있음) 간에 분산될 수 있다. 논리 머신의 양태는 가상화되고, 클라우드 컴퓨팅(cloud-computing) 구성 내에 구성된 원격으로 액세스가능한 네트워크형(networked) 컴퓨팅 디바이스에 의해 실행될 수 있다.
저장 머신(1604)은 본 문서에서 기술된 방법 및 프로세스를 구현하도록 논리 머신에 의해 실행가능한 명령어를 보유하도록 구성된 하나 이상의 물리적 디바이스를 포함한다. 그러한 방법 및 프로세스가 구현되는 경우, 저장 머신(1604)의 상태는, 가령 상이한 데이터를 보유하도록, 변환될 수 있다.
저장 머신(1604)은 탈착가능한 및/또는 내장형(built-in) 디바이스를 포함할 수 있다. 저장 머신(1604)은 특히 광학 메모리(optical memory)(가령, CD, DVD, HD-DVD, 블루레이 디스크(Blu-Ray Disc) 등), 반도체 메모리(semiconductor memory)(가령, RAM, EPROM, EEPROM 등) 및/또는 자기 메모리(magnetic memory)(가령, 하드디스크 드라이브, 플로피디스크 드라이브, 테이프 드라이브, MRAM 등)를 포함할 수 있다. 저장 머신(1604)은 휘발성(volatile), 비휘발성(nonvolatile), 동적(dynamic), 정적(static), 판독/기입(read/write), 판독전용(read-only), 랜덤 액세스(random-access), 순차적 액세스(sequential-access), 위치 주소지정가능(location-addressable), 파일 주소지정가능(file-addressable) 및/또는 콘텐트 주소지정가능(content-addressable) 디바이스를 포함할 수 있다.
컴퓨터 시스템(1600)이 피어 컴퓨터를 나타내는 것일 경우에는, 저장 머신(1604)은 디지털 콘텐트 아이템의 다양한 부분을 저장할 수 있는 복수의 로컬 저장 머신을 포함할 수 있고, 컴퓨터 시스템은 하나 이상의 다운로드 메트릭에 따라 어느 로컬 저장 머신 또는 다른 피어 컴퓨터로부터 디지털 콘텐트 아이템의 단편을 다운로드할 것인지 선택하도록 구성될 수 있다. 예를 들어, 디지털 콘텐트 아이템의 단편은 P2P 네트워크의 피어 컴퓨터로부터의 다운로드를 위해 이용가능할 뿐만 아니라 광학 메모리 및 반도체 메모리를 포함하는 로컬 저장 머신 상에 저장될 수 있고, 컴퓨터 시스템(1600)은 어느 소스가 가장 빨리 디지털 콘텐트 아이템을 전달할 수 있는지와 같은 다운로드 메트릭에 기반하여 이 소스들 중 하나로부터 디지털 콘텐트 아이템을 위한 소스를 선택하도록 구성될 수 있다. 이는 단지 하나의 예이며 본 개시의 범주를 벗어나지 않고 많은 변형이 수행될 수 있음에 유의하시오.
나아가, 컴퓨터 시스템(1600)이 피어 컴퓨터를 나타내는 것일 경우에는, 저장 머신(1604)은 저장 머신(1604)의 사용자 제어형 부분(1612) 및 저장 머신(1604)의 서비스 제어형 부분(1614)을 포함할 수 있다. 사용자 제어형 부분(1612)은 피어 컴퓨터에 의해 자발적으로 다운로드되는 디지털 콘텐트 아이템을 저장하도록 구성될 수 있다. 서비스 제어형 부분(1614)은 CMS 컴퓨터의 명령에 의해서와 같이 피어 컴퓨터에 의해 의무적으로 다운로드되는 디지털 콘텐트 아이템을 저장하도록 구성될 수 있다.
몇몇 실시예에서, CMS 컴퓨터는 사용자 제어형 부분(1612) 또는 서비스 제어형 부분(1614)으로부터 디지털 콘텐트 아이템을 제공할 것을 피어 컴퓨터에 명령할 수 있다. 몇몇 실시예에서, 피어 컴퓨터는 서비스 제어형 부분(1614) 내에 저장된 디지털 콘텐트 아이템을 직접 액세스할 권한을 갖지 않도록 구성될 수 있다(가령, 데이터가 암호화되어 복호화에 인가(authorization) 및/또는 인증을 요구함). 몇몇 실시예에서, 피어 컴퓨터는 서비스 제어형 부분(1614) 내에 저장된 디지털 콘텐트 아이템에 대한 액세스를 갖고 이를 이용하도록 구성될 수 있다. 몇몇 실시예에서, 피어 컴퓨터는 디지털 콘텐트 아이템(이에 대해 그것이 의무적으로 호스팅 또는 시딩 중임)을 인지하지 않을 수 있다. 몇몇 실시예에서, 피어 컴퓨터는 P2P 네트워크에 참여하기 위해 로컬 저장 머신의 서비스 제어형 부분(1614)을 배분할 수 있다. 몇몇 실시예에서, 피어 컴퓨터는 P2P 네트워크에 참여하기 위해 의무적인 호스팅 또는 시딩에 대역폭의 부분을 배분할 수 있다. 몇몇 실시예에서, 피어는 로컬 저장 머신의 부분을 서비스 제어형 부분으로서 지정하기로 택하거나 이로부터 벗어날 수 있다. 몇몇 실시예에서, 피어는 로컬 저장 머신의 부분을 서비스 제어형 부분으로서 지정하기로 택하는 대가로 보상받을 수 있다. 몇몇 실시예에서, P2P 네트워크 내 몇몇(이나 전부 다는 아닌) 피어 컴퓨터가 서비스 제어형 부분을 가질 수 있다. 몇몇 실시예에서, P2P 네트워크의 모든 피어 컴퓨터가 서비스 제어형 부분을 가질 수 있다. 몇몇 실시예에서, 서비스 제어형 부분은 사용자 제어형 부분의 크기의 일부분(fraction)일 수 있다. 하지만 서비스 제어형 부분 및 사용자 제어형 부분은 본 개시의 범주를 벗어나지 않고 로컬 저장 머신의 임의의 적합한 부분일 수 있다는 점이 이해될 것이다.
저장 머신(1604)은 하나 이상의 물리적 디바이스를 포함함이 인식될 것이다. 그러나, 본 문서에서 기술된 명령어의 양태는 대안적으로 유한한 기간(finite duration) 동안 물리적 디바이스에 의해 보유되지 않는 통신 매체(가령, 전자기 신호(electromagnetic signal), 광학 신호(optical signal) 등)에 의해 전파될 수 있다.
논리 머신(1602) 및 저장 머신(1604)의 양태는 하나 이상의 하드웨어 논리(hardware-logic) 컴포넌트 내에 함께 통합될 수 있다. 그러한 하드웨어 논리 컴포넌트는 예를 들어 필드 프로그램가능 게이트 어레이(Field-Programmable Gate Array: FPGA), 프로그램 및 애플리케이션 특정 집적 회로(Program- and Application-Specific Integrated Circuit: PASIC/ASIC), 프로그램 및 애플리케이션 특정 표준 제품(Program- and Application-Specific Standard Product: PSSP/ASSP), 시스템 온 칩(System-On-a-Chip: SOC) 및 복합 프로그램가능 논리 디바이스(Complex Programmable Logic Device: CPLD)를 포함할 수 있다.
본 문서에서 사용된 바와 같은 "서비스"(service)는 다수의 사용자 세션에 걸쳐 실행가능한 애플리케이션 프로그램임이 인식될 것이다. 서비스는 하나 이상의 시스템 컴포넌트, 프로그램 및/또는 다른 서비스가 이용가능할 수 있다. 몇몇 구현에서, 서비스는 하나 이상의 서버 컴퓨팅 디바이스 상에서 실행될 수 있다.
디스플레이 서브시스템(1606)은 포함되는 경우 저장 머신(1604)에 의해 보유되는 데이터의 시각적 표현을 제시하는 데 사용될 수 있다. 이 시각적 표현은 그래픽 사용자 인터페이스(Graphical User Interface: GUI)의 형태를 취할 수 있다. 본 문서에서 기술된 방법 및 프로세스가 저장 머신에 의해 보유되는 데이터를 변경하여서, 저장 머신의 상태를 변환함에 따라, 디스플레이 서브시스템(1606)의 상태는 그 기반 데이터에서의 변화를 시각적으로 표현하도록 마찬가지로 변환될 수 있다. 디스플레이 서브시스템(1606)은 사실상 임의의 유형의 기술을 활용하는 하나 이상의 디스플레이 디바이스를 포함할 수 있다. 그러한 디스플레이 디바이스는 공유된 격납부(enclosure) 내에서 논리 머신(1602) 및/또는 저장 머신(1604)과 조합될 수 있거나, 그러한 디스플레이 디바이스는 주변(peripheral) 디스플레이 디바이스일 수 있다.
입력 서브시스템(1608)은 포함되는 경우 키보드(keyboard), 마우스(mouse), 터치 스크린(touch screen) 또는 게임 제어기(game controller)와 같은 하나 이상의 사용자 입력(user-input) 디바이스와 인터페이스하거나 이를 포함할 수 있다. 몇몇 실시예에서, 입력 서브시스템은 선택된 자연적 사용자 입력(Natural User Input: NUI) 구성부분(componentry)과 인터페이스하거나 이를 포함할 수 있다. 이러한 구성부분은 통합되거나 주변적일 수 있고, 입력 액션의 전환(transduction) 및/또는 처리는 온 보드(on-board) 또는 오프 보드(off-board)로 다루어질 수 있다. 예시적인 NUI 구성부분은 발화(speech) 및/또는 음성 인식(voice recognition)을 위한 마이크(microphone), 머신 비전(machine vision) 및/또는 제스처 인식(gesture recognition)을 위한 적외선(infrared), 컬러(color), 입체(stereoscopic) 및/또는 깊이(depth) 카메라, 움직임 검출(motion detection) 및/또는 의도 인식(intent recognition)을 위한 헤드 트랙커(head tracker), 아이 트랙커(eye tracker), 가속도계(accelerometer) 및/또는 자이로스코프(gyroscope)는 물론 뇌 활동(brain activity)을 액세스하기 위한 전계 감지(electric-field sensing) 구성부분을 포함할 수 있다.
통신 서브시스템(1610)은 포함되는 경우 컴퓨팅 시스템(1600)을 하나 이상의 다른 컴퓨팅 디바이스와 통신가능하게 커플링하도록 구성될 수 있다. 통신 서브시스템(1610)은 하나 이상의 상이한 통신 프로토콜과 호환가능한 유선 및/또는 무선 통신 디바이스를 포함할 수 있다. 비한정적 예로서, 통신 서브시스템은 무선 전화 네트워크 또는 유선 또는 무선의 로컬 영역 또는 광역 네트워크를 통한 통신을 위해 구성될 수 있다. 몇몇 실시예에서, 통신 서브시스템은 컴퓨팅 시스템(1600)으로 하여금 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 다른 디바이스로 및/또는 이로부터 메시지를 송신하고/하거나 수신하게 할 수 있다.
다양한 변형이 가능하므로, 본 문서에서 기술된 구성 및/또는 접근법은 본질상 예시적이며 이 특정한 실시예 또는 예는 한정적인 의미로 고려되지 않아야 한다는 점이 이해될 것이다. 본 문서에서 기술된 특정한 루틴 또는 방법은 임의의 개수의 처리 전략 중 하나 이상을 표현할 수 있다. 따라서, 예시되고/되거나 기술된 다양한 행동은 예시되고/되거나 기술된 차례로, 다른 차례로, 병렬로 수행되거나 생략될 수 있다. 마찬가지로, 전술된 프로세스의 순서는 변경될 수 있다. "제1", "제2" 및 "제3" 등의 용어는 단지 라벨로서 사용되며, 그것의 대상체에 수적(numerical), 순차적 또는 공간적 요구사항을 부과하고자 의도된 것이 아님이 이해될 것이다.
본 개시의 대상은 본 문서에 개시된 다양한 프로세스, 시스템 및 구성, 그리고 기타 특징, 기능, 행동 및/또는 성질은 물론 이들의 여하한 그리고 모든 균등물의 모든 신규하고 비자명한 조합 및 서브조합을 포함한다.

Claims (10)

  1. 복수의 단편(a plurality of pieces)을 포함하는 디지털 콘텐트 아이템(digital content item)의 부분을 저장하는 복수의 소스(a plurality of sources)를 식별하는 단계 - 상기 복수의 소스는 컴퓨터의 하나 이상의 로컬 저장 머신 및 피어 투 피어 네트워크(peer-to-peer network)의 하나 이상의 피어 컴퓨터를 포함함 - 와,
    상기 디지털 콘텐트 아이템의 상기 복수의 단편 중 각 단편에 대해, 소스로부터 해당 단편을 다운로드하는 단계 - 상기 소스는 하나 이상의 다운로드 메트릭에 따라 상기 복수의 소스로부터 선택됨 - 와,
    상기 디지털 콘텐트 아이템으로서 상기 컴퓨터 상에서의 설치(installation)를 위해 상기 복수의 단편을 편제(organizing)하는 단계를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 하나 이상의 저장 머신으로부터 다운로드된 상기 디지털 콘텐트 아이템의 단편이 상기 피어 투 피어 네트워크의 임계 가용성(threshold availability) 미만의 가용성을 갖는 경우, 상기 디지털 콘텐트 아이템의 상기 단편의 소유를 나타내는 통지를 집중화된 관리 서비스(centralized management service) 컴퓨터에 컴퓨터 네트워크를 통해 송신하는 단계와,
    상기 디지털 콘텐트 아이템의 상기 단편을 제공하라는 요청을 수신하는 것에 응답하여 상기 컴퓨터 네트워크를 통해 상기 피어 투 피어 네트워크의 피어 컴퓨터에 상기 디지털 콘텐트 아이템의 상기 단편을 업로드하는 단계를 더 포함하는
    방법.
  3. 제1항에 있어서,
    제1 소스로부터 상기 디지털 콘텐트 아이템의 지정된(designated) 단편을 다운로드하되, 하나 이상의 안정성 메트릭에 따라 상기 제1 소스가 불안정하게 되는 것에 응답하여, 제2 소스로부터 상기 지정된 단편을 다운로드하는 단계 - 상기 제2 소스는 상기 하나 이상의 다운로드 메트릭에 따라 상기 복수의 소스로부터 선택됨 - 를 더 포함하는
    방법.
  4. 제3항에 있어서,
    상기 하나 이상의 안정성 메트릭은 임계 다운로드 속도(threshold download speed), 임계 리소스 레벨(threshold resource level), 연결성 중단(connectivity interruption)의 임계 개수(threshold number), 임계 비용(threshold cost), 임계 사용자 경험 차질 레벨(threshold user experience disruption level) 및 임계 대역폭(threshold bandwidth) 중 하나 이상을 포함하는,
    방법.
  5. 제1항에 있어서,
    상기 하나 이상의 다운로드 메트릭은 가장 빠른 다운로드 속도, 최저 획득 비용, 최저 리소스 사용 레벨, 최저 에너지 사용 레벨, 최저 사용자 경험 차질 레벨 및 상기 디지털 콘텐트 아이템의 단편을 다운로드하는 것이 가능한 경우 상기 피어 투 피어 네트워크보다 상기 하나 이상의 로컬 저장 머신을 선택하는 것 중 하나 이상을 포함하는,
    방법.
  6. 제1항에 있어서,
    상기 디지털 콘텐트 아이템의 상이한 단편들은 상이한 소스들로부터 병렬로(in parallel) 다운로드되는,
    방법.

  7. 제1항에 있어서,
    상기 디지털 콘텐트 아이템의 적어도 몇몇 단편은 상기 하나 이상의 로컬 저장 머신으로부터 다운로드되고 상기 디지털 콘텐트 아이템의 적어도 몇몇 단편은 컴퓨터 네트워크를 통해 상기 피어 투 피어 네트워크의 피어 컴퓨터로부터 다운로드되는,
    방법.
  8. 제1항에 있어서,
    상기 컴퓨터는 게임 콘솔(game console)이고, 상기 디지털 콘텐트 아이템은 게임(game), 게임 타이틀 업데이트(game title update) 또는 운영체제 업데이트(operating system update)인,
    방법.
  9. 제1항에 있어서,
    상기 디지털 콘텐트 아이템의 부분은 상기 디지털 콘텐트 아이템의 전부가 다운로드되기 전에 설치되고, 상기 방법은
    상기 디지털 콘텐트 아이템과의 사용자 상호작용(user interaction)에 기반하여 상기 디지털 콘텐트 아이템의 어느 단편을 다운로드할 것인지 판정하는 단계와,
    상기 디지털 콘텐트 아이템과의 사용자 상호작용에 기반하여 상기 디지털 콘텐트 아이템의 단편을 위해 상기 소스를 선택하는 단계를 더 포함하는,
    방법.
  10. 복수의 단편을 포함하는 디지털 콘텐트 아이템의 부분을 저장하는 복수의 소스를 식별 - 상기 복수의 소스는 컴퓨터의 하나 이상의 로컬 저장 머신 및 피어 투 피어 네트워크의 하나 이상의 피어 컴퓨터를 포함함 - 하고,
    상기 디지털 콘텐트 아이템의 상기 복수의 단편 중 각 단편에 대해, 하나 이상의 다운로드 메트릭에 따라 상기 복수의 소스로부터 선택된 소스로부터 해당 단편을 다운로드하며,
    상기 디지털 콘텐트 아이템으로서 상기 컴퓨터 상에서의 설치를 위해 상기 복수의 단편을 편제하도록
    논리 머신에 의해 실행가능한 명령어를 보유하는 저장 머신.
KR1020157015714A 2012-12-14 2013-12-12 콘텐트 획득 소스 선택 및 관리 기법 KR102204100B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/715,834 US9413846B2 (en) 2012-12-14 2012-12-14 Content-acquisition source selection and management
US13/715,834 2012-12-14
PCT/US2013/074806 WO2014093705A1 (en) 2012-12-14 2013-12-12 Content-acquisition source selection and management

Publications (2)

Publication Number Publication Date
KR20150096660A true KR20150096660A (ko) 2015-08-25
KR102204100B1 KR102204100B1 (ko) 2021-01-18

Family

ID=49887333

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157015714A KR102204100B1 (ko) 2012-12-14 2013-12-12 콘텐트 획득 소스 선택 및 관리 기법

Country Status (11)

Country Link
US (4) US9413846B2 (ko)
EP (1) EP2932688B1 (ko)
JP (1) JP6320409B2 (ko)
KR (1) KR102204100B1 (ko)
CN (1) CN104904183B (ko)
AU (1) AU2013359194B2 (ko)
BR (1) BR112015011692B1 (ko)
CA (1) CA2889628C (ko)
MX (1) MX352439B (ko)
RU (1) RU2656794C2 (ko)
WO (1) WO2014093705A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170004996A (ko) * 2014-05-12 2017-01-11 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 관리된 무선 분산 네트워크

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
US9628346B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Devices and methods supporting content delivery with reducer services
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US20140337472A1 (en) 2012-12-13 2014-11-13 Level 3 Communications, Llc Beacon Services in a Content Delivery Framework
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US10391387B2 (en) 2012-12-14 2019-08-27 Microsoft Technology Licensing, Llc Presenting digital content item with tiered functionality
US9716749B2 (en) 2012-12-14 2017-07-25 Microsoft Technology Licensing, Llc Centralized management of a P2P network
US9413823B2 (en) * 2013-03-15 2016-08-09 Hive Streaming Ab Method and device for peer arrangement in multiple substream upload P2P overlay networks
US9906597B2 (en) * 2015-04-07 2018-02-27 Microsoft Technology Licensing, Llc Collaboration data proxy system in cloud computing platforms
CN105898388B (zh) * 2016-04-05 2019-07-23 合一网络技术(北京)有限公司 一种节点下载调度方法和装置
US20170293500A1 (en) * 2016-04-06 2017-10-12 Affirmed Networks Communications Technologies, Inc. Method for optimal vm selection for multi data center virtual network function deployment
US9998534B2 (en) 2016-08-24 2018-06-12 International Business Machines Corporation Peer-to-peer seed assurance protocol
US10587496B2 (en) 2017-02-10 2020-03-10 Microsoft Technology Licensing, Llc Localizing traffic using network topology
CN106973037B (zh) * 2017-02-16 2018-09-04 咪咕视讯科技有限公司 一种控制数据传输的方法及系统
CN106911511B (zh) * 2017-03-10 2019-09-13 网宿科技股份有限公司 一种cdn客户源站的防护方法和系统
US11018883B2 (en) * 2017-04-28 2021-05-25 Telenav, Inc. Communication system with communication mechanism and method of operation thereof
CN106993054B (zh) * 2017-05-05 2022-06-03 腾讯科技(深圳)有限公司 文件分发方法、节点及系统
US11405329B1 (en) * 2018-02-20 2022-08-02 Amazon Technologies, Inc. Cloud resource placement
CN108900427B (zh) * 2018-06-13 2019-04-23 盐城师范学院 数字内容投送系统
US11340894B2 (en) 2019-04-30 2022-05-24 JFrog, Ltd. Data file partition and replication
US11386233B2 (en) 2019-04-30 2022-07-12 JFrog, Ltd. Data bundle generation and deployment
US11106554B2 (en) 2019-04-30 2021-08-31 JFrog, Ltd. Active-active environment control
US11886390B2 (en) 2019-04-30 2024-01-30 JFrog Ltd. Data file partition and replication
CN113906405A (zh) * 2019-06-14 2022-01-07 惠普发展公司,有限责任合伙企业 修改数据项
US10771524B1 (en) * 2019-07-31 2020-09-08 Theta Labs, Inc. Methods and systems for a decentralized data streaming and delivery network
RU2722464C1 (ru) * 2019-11-15 2020-06-01 Общество с ограниченной ответственностью "СДН-видео" (ООО "СДН-видео") Способ расширения сети CDN с помощью одноранговой сети
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
US11848990B2 (en) * 2021-10-15 2023-12-19 Siden, Inc. Method and system for distributing and storing content using local clouds and network clouds

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070005543A (ko) * 2004-02-12 2007-01-10 고나미 가부시끼가이샤 통신회선을 이용한 게임의 관리방법
KR20070104178A (ko) * 2006-04-22 2007-10-25 임민철 웹서버를 이용한 문서관리 시스템
KR20080103535A (ko) * 2006-02-21 2008-11-27 마이크로소프트 코포레이션 피어-대-피어 콘텐트 분배 클라우드들에서의 토폴로지 관리방법, 트랙커 노드, 피어-대-피어 콘텐트 분배 클라우드 및 컴퓨터 프로그램

Family Cites Families (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7236637B2 (en) * 1999-11-24 2007-06-26 Ge Medical Systems Information Technologies, Inc. Method and apparatus for transmission and display of a compressed digitized image
US7055095B1 (en) 2000-04-14 2006-05-30 Picsel Research Limited Systems and methods for digital document processing
US6669564B1 (en) 2000-06-27 2003-12-30 Electronic Arts Inc. Episodic delivery of content
US9047609B2 (en) 2000-11-29 2015-06-02 Noatak Software Llc Method and system for dynamically incorporating advertising content into multimedia environments
US20020162109A1 (en) * 2001-04-26 2002-10-31 Koninklijke Philips Electronics N.V. Distributed storage on a P2P network architecture
KR20010088742A (ko) 2001-08-28 2001-09-28 문의선 분산처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보전송 병렬화 방법
US7133368B2 (en) 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7653689B1 (en) 2002-05-17 2010-01-26 Abacast, Inc. Intelligent virtual content distribution network system and method
US7376749B2 (en) 2002-08-12 2008-05-20 Sandvine Incorporated Heuristics-based peer to peer message routing
US20040148424A1 (en) 2003-01-24 2004-07-29 Aaron Berkson Digital media distribution system with expiring advertisements
US20070174471A1 (en) 2003-04-30 2007-07-26 Cedric Van Rossum Secure, continous, proxy-optimized, device-to-device data download reception system and method of use
US20040248637A1 (en) 2003-06-06 2004-12-09 Liebenberg Dawid J. Interactive networked game
US7783777B1 (en) 2003-09-09 2010-08-24 Oracle America, Inc. Peer-to-peer content sharing/distribution networks
US7610402B2 (en) * 2003-10-20 2009-10-27 Sony Computer Entertainment America Inc. Spectators in a peer-to-peer relay network
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
US8040903B2 (en) 2005-02-01 2011-10-18 Hewlett-Packard Development Company, L.P. Automated configuration of point-to-point load balancing between teamed network resources of peer devices
US8099511B1 (en) * 2005-06-11 2012-01-17 Vudu, Inc. Instantaneous media-on-demand
US20070002119A1 (en) * 2005-06-30 2007-01-04 Abrott Timothy J Digital workflow processes
US20070021196A1 (en) * 2005-07-19 2007-01-25 Campbell Steven M Watermarking downloadable game content in a gaming system
US7788701B1 (en) * 2005-07-26 2010-08-31 Advanced Micro Devices, Inc. Content transfer restriction system for personal internet communicator
US20070026945A1 (en) 2005-07-29 2007-02-01 Microsoft Corporation Enhancing the game console experience through the PC
EP1783635A1 (en) * 2005-11-07 2007-05-09 Thomson Licensing S.A. Method and system for distributing multimedia content
US20070136268A1 (en) 2005-12-09 2007-06-14 Microsoft Corporation Just in time loading list
US8086722B2 (en) 2005-12-21 2011-12-27 Rovi Solutions Corporation Techniques for measuring peer-to-peer (P2P) networks
US9047310B2 (en) 2006-02-22 2015-06-02 Microsoft Technology Licensing, Llc Reliable, efficient peer-to-peer storage
CN100471169C (zh) 2006-04-14 2009-03-18 清华大学 基于对等网络的视频直播应用中节点选择与检测方法
WO2007127401A2 (en) * 2006-04-26 2007-11-08 Bittorrent, Inc. Peer-to-peer download and seed policy management
US8676882B2 (en) * 2007-02-27 2014-03-18 Sony Corporation System and method for preloading content segments to client devices in an electronic network
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
US9003056B2 (en) 2006-07-11 2015-04-07 Napo Enterprises, Llc Maintaining a minimum level of real time media recommendations in the absence of online friends
US8059646B2 (en) 2006-07-11 2011-11-15 Napo Enterprises, Llc System and method for identifying music content in a P2P real time recommendation network
GB2440774B (en) * 2006-08-11 2011-07-27 Cachelogic Ltd Content Delivery System For Digital Object
US8043156B2 (en) 2006-08-11 2011-10-25 Disney Enterprises, Inc. Interactive installation for interactive gaming
KR101486431B1 (ko) 2006-09-06 2015-01-26 아카마이 테크놀로지스, 인크. 하이브리드 콘텐츠 전송 네트워크(cdn) 및 피어-투-피어(p2p) 네트워크
US20080066181A1 (en) * 2006-09-07 2008-03-13 Microsoft Corporation DRM aspects of peer-to-peer digital content distribution
EP2084881B1 (en) 2006-09-28 2012-03-28 Rayv Inc. System and methods for Peer-to-Peer Media Streaming
US20080098123A1 (en) 2006-10-24 2008-04-24 Microsoft Corporation Hybrid Peer-to-Peer Streaming with Server Assistance
US20080133767A1 (en) 2006-11-22 2008-06-05 Metis Enterprise Technologies Llc Real-time multicast peer-to-peer video streaming platform
US20080167127A1 (en) 2007-01-05 2008-07-10 Microsoft Corporation Integration of Media on Gaming Consoles
CN101267379B (zh) 2007-03-14 2011-07-27 中国电信股份有限公司 基于p2p和cdn的统一内容承载和调度系统
US7640224B2 (en) 2007-03-26 2009-12-29 International Business Machines Corporation Active sampling collaborative prediction method for end-to-end performance prediction
US20080306818A1 (en) 2007-06-08 2008-12-11 Qurio Holdings, Inc. Multi-client streamer with late binding of ad content
US8238237B2 (en) 2007-06-18 2012-08-07 Sony Computer Entertainment Inc. Load balancing distribution of data to multiple recipients on a peer-to-peer network
KR101367798B1 (ko) 2007-06-29 2014-02-28 삼성전자주식회사 광대역 무선통신 시스템에서 피투피 통신 설정 장치 및방법
CN101345628B (zh) * 2007-07-13 2011-06-22 中兴通讯股份有限公司 源节点选择方法
US8180720B1 (en) 2007-07-19 2012-05-15 Akamai Technologies, Inc. Content delivery network (CDN) cold content handling
CN101123565B (zh) 2007-07-30 2011-07-13 中兴通讯股份有限公司 P2p系统及用于该系统的资源查询方法
US20090062007A1 (en) 2007-08-31 2009-03-05 Big Fish Games, Inc. Injecting Content into Episodic Video Games
CN100558042C (zh) 2007-09-29 2009-11-04 华中科技大学 一种基于超级节点的p2p直播方法
JP5119844B2 (ja) 2007-10-09 2013-01-16 沖電気工業株式会社 ファイル転送システム、ファイル転送方法、ファイル転送プログラム及びインデックスサーバ
US20090100128A1 (en) 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
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 华中科技大学 混杂式对等网络环境下的通用资源管理方法
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US20090234967A1 (en) * 2008-03-17 2009-09-17 Nokia Corporation Method, system, and apparatus for transferring P2P file distribution tasks between devices
JP5580302B2 (ja) 2008-05-14 2014-08-27 株式会社ソニー・コンピュータエンタテインメント ピアツーピアネットワークのための放送シーディング
CN101272404B (zh) 2008-05-15 2011-10-19 中国科学院计算技术研究所 一种p2p视频直播系统数据调度中的链路选择方法
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
US20090320144A1 (en) * 2008-06-24 2009-12-24 Broadcom Corporation Method and system for transferring protected content
CN101304382B (zh) * 2008-07-03 2010-10-20 中国移动通信集团设计院有限公司 P2p网络中文件传输路径的选择方法、系统及设备
CN101631092A (zh) * 2008-07-18 2010-01-20 株式会社日立制作所 数据分发系统及方法
US8918391B2 (en) 2009-12-02 2014-12-23 Gartner, Inc. Interactive peer directory with question router
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
US20110302275A1 (en) 2010-06-04 2011-12-08 Rich Prodan Method and System for Matching Content Consumption Preference Via a Broadband Gateway
US8151199B2 (en) 2009-02-09 2012-04-03 AltEgo, LLC Computational delivery system for avatar and background game content
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
US20100257403A1 (en) 2009-04-03 2010-10-07 Microsoft Corporation Restoration of a system from a set of full and partial delta system snapshots across a distributed system
US8656284B2 (en) 2009-04-17 2014-02-18 Empirix Inc. Method for determining a quality of user experience while performing activities in IP networks
US8769055B2 (en) 2009-04-24 2014-07-01 Microsoft Corporation Distributed backup and versioning
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
CN101902346A (zh) 2009-05-31 2010-12-01 国际商业机器公司 P2p内容缓存系统和方法
US8661075B2 (en) 2009-06-04 2014-02-25 Qualcomm Incorporated Method and apparatus for serving episodic secondary content
US9191219B2 (en) 2009-06-16 2015-11-17 Adobe Systems Incorporated Network multicast peer discovery methods
CN101621538A (zh) 2009-08-07 2010-01-06 中兴通讯股份有限公司 一种对等网络中媒体源节点的选择方法和系统
KR101562974B1 (ko) 2009-09-07 2015-10-30 삼성전자 주식회사 스트리밍 서비스의 지연 감소를 위한 단말기, 시드 서버 및 트랙커 서버
US20110078230A1 (en) 2009-09-25 2011-03-31 Emilio Sepulveda Method and system for providing a cdn with granular quality of service
US8805932B2 (en) 2009-11-03 2014-08-12 Telecom Italia S.P.A. Sharing of digital contents in P2P networks exploiting localization data
WO2011054376A1 (en) 2009-11-03 2011-05-12 Telecom Italia S.P.A. Improved caching of digital contents in p2p networks
US20110119615A1 (en) 2009-11-16 2011-05-19 Apple Inc. Adaptive Data Loader
US8949436B2 (en) 2009-12-18 2015-02-03 Alcatel Lucent System and method for controlling peer-to-peer connections
GB2476487A (en) 2009-12-23 2011-06-29 Key Criteria Technology Ltd A multi-device multimedia system
US9009299B2 (en) 2010-01-07 2015-04-14 Polytechnic Institute Of New York University Method and apparatus for identifying members of a peer-to-peer botnet
CN101841556B (zh) 2010-02-23 2013-01-30 中国科学院计算技术研究所 Cdn-p2p网络中放置资源副本的方法及系统
US20110246658A1 (en) 2010-04-05 2011-10-06 International Business Machines Coporation Data exchange optimization in a peer-to-peer network
US8341263B2 (en) 2010-04-20 2012-12-25 International Business Machines Corporation Peer to peer monitoring framework for transaction tracking
US8446411B2 (en) 2010-06-11 2013-05-21 Microsoft Corporation Adaptive image rendering and use of imposter
US20120122570A1 (en) 2010-11-16 2012-05-17 David Michael Baronoff Augmented reality gaming experience
CN102006234A (zh) 2010-12-09 2011-04-06 工业和信息化部电信传输研究所 一种用于优化p2p网络流量的方法和装置
US9178805B2 (en) 2010-12-28 2015-11-03 Citrix Systems, Inc. Systems and methods for policy based routing for multiple next hops
US8738725B2 (en) 2011-01-03 2014-05-27 Planetary Data LLC Community internet drive
US20120185595A1 (en) 2011-01-17 2012-07-19 Alcatel-Lucent Usa Inc. Traffic Localization Mechanism For Distributed Hash Table Based Peer-To-Peer Networks
US20120201158A1 (en) 2011-02-03 2012-08-09 Qualcomm Incorporated Peer-to-peer / wan association control and resource coordination for mobile entities using aggregate neighborhood utility metrics
US8806049B2 (en) 2011-02-15 2014-08-12 Peerialism AB P2P-engine
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広告配信方法およびシステム
US8443086B2 (en) 2011-06-22 2013-05-14 National Chiao Tung University Decentralized structured peer-to-peer network and load balancing methods thereof
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
US8556715B2 (en) 2011-09-27 2013-10-15 U4iA GAMES INC. Personalized client-side visualization in a multiplayer network video game
US20130151937A1 (en) 2011-12-08 2013-06-13 Google Inc. Selective image loading in mobile browsers
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
US9219782B2 (en) * 2012-12-11 2015-12-22 Microsoft Technology Licensing, Llc Identifying seed computing devices using estimates in peer-to-peer networks
US9716749B2 (en) 2012-12-14 2017-07-25 Microsoft Technology Licensing, Llc Centralized management of a P2P network
US9374420B2 (en) 2012-12-14 2016-06-21 Microsoft Technology Licensing, Llc Content source selection in a P2P network
US10391387B2 (en) 2012-12-14 2019-08-27 Microsoft Technology Licensing, Llc Presenting digital content item with tiered functionality
US9294580B2 (en) 2012-12-14 2016-03-22 Microsoft Technology Licensing, Llc Managed P2P network with content-delivery network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070005543A (ko) * 2004-02-12 2007-01-10 고나미 가부시끼가이샤 통신회선을 이용한 게임의 관리방법
KR20080103535A (ko) * 2006-02-21 2008-11-27 마이크로소프트 코포레이션 피어-대-피어 콘텐트 분배 클라우드들에서의 토폴로지 관리방법, 트랙커 노드, 피어-대-피어 콘텐트 분배 클라우드 및 컴퓨터 프로그램
KR20070104178A (ko) * 2006-04-22 2007-10-25 임민철 웹서버를 이용한 문서관리 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김종태, 김동근. "P2P 기반의 분산 문서관리를 위한 모니터링 시스템." 한국정보과학회 학술발표논문집, Vol. 39, No. 2A, pp.166-168 (2012.11.) 1부.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170004996A (ko) * 2014-05-12 2017-01-11 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 관리된 무선 분산 네트워크

Also Published As

Publication number Publication date
CA2889628C (en) 2020-11-03
RU2656794C2 (ru) 2018-06-06
AU2013359194A1 (en) 2015-05-14
MX2015007561A (es) 2016-03-21
EP2932688A1 (en) 2015-10-21
US20140173024A1 (en) 2014-06-19
CN104904183B (zh) 2018-05-25
JP6320409B2 (ja) 2018-05-09
EP2932688B1 (en) 2016-08-17
CA2889628A1 (en) 2014-06-19
AU2013359194B2 (en) 2016-12-08
US9413846B2 (en) 2016-08-09
BR112015011692A2 (pt) 2017-07-11
US10284641B2 (en) 2019-05-07
JP2016508253A (ja) 2016-03-17
WO2014093705A1 (en) 2014-06-19
US9661072B2 (en) 2017-05-23
RU2015122687A (ru) 2017-01-10
US10681124B2 (en) 2020-06-09
US20160344805A1 (en) 2016-11-24
US20170230450A1 (en) 2017-08-10
US20190245913A1 (en) 2019-08-08
BR112015011692B1 (pt) 2023-01-17
CN104904183A (zh) 2015-09-09
MX352439B (es) 2017-11-24
KR102204100B1 (ko) 2021-01-18

Similar Documents

Publication Publication Date Title
US10681124B2 (en) Content distribution storage management
US9596306B2 (en) Managed P2P network with content-delivery network
US9781056B2 (en) Content source selection in a P2P network
US10129334B2 (en) Centralized management of a P2P network
US9384335B2 (en) Content delivery prioritization in managed wireless distribution networks
US9430667B2 (en) Managed wireless distribution network

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant