KR20150005701A - 파일 공유 시스템에서 피어 체류 시간의 제어 - Google Patents

파일 공유 시스템에서 피어 체류 시간의 제어 Download PDF

Info

Publication number
KR20150005701A
KR20150005701A KR1020147033939A KR20147033939A KR20150005701A KR 20150005701 A KR20150005701 A KR 20150005701A KR 1020147033939 A KR1020147033939 A KR 1020147033939A KR 20147033939 A KR20147033939 A KR 20147033939A KR 20150005701 A KR20150005701 A KR 20150005701A
Authority
KR
South Korea
Prior art keywords
swarm
peer
peers
mode
file
Prior art date
Application number
KR1020147033939A
Other languages
English (en)
Inventor
스트라티스 이오아니디스
니디 헷지
로랑 마술리에
지 주
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20150005701A publication Critical patent/KR20150005701A/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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities

Abstract

파일 공유 시스템 내 피어의 스웜에서 피어가 소비하는 평균 시간을 제어하는 방법은 먼저 피어의 스웜에서 자율 동작 모드를 수립하는 단계를 포함한다. 자율 모드에서 피어는 그 스웜 내 다른 피어와만 통신하며 원하는 파일의 피스에 액세스를 취득한다. 스웜 사이즈가 임계값 사이즈를 충족하는 경우, 파일 공유 시스템은 유니버셜 모드로 스위칭된다. 유니버셜 모드에서, 하나의 스웜으로부터 피어는 다른 스웜 내 다른 피어와 원하는 파일 피스를 교환하는 것이 허용된다. 스웜 내 피어가 보유하는 원하는 파일 피스가 임계값 수를 충족하면, 파일 공유 시스템은 자율 동작 모드로 다시 전이한다.

Description

파일 공유 시스템에서 피어 체류 시간의 제어{CONTROLLING PEER SOJOURN TIME IN FILE SHARING SYSTEMS}
관련 출원에 대한 상호 참조
본 출원은 미국 가출원 제61/687,965호(출원일: 2012년 5월 4일, 발명의 명칭: "Stable and Scalable Universal Swarms")에 대한 우선권을 주장하며, 이 문헌의 전체 내용은 모든 목적을 위하여 본 명세서에 포함되어 있다.
기술 분야
본 발명은 파일 공유 시스템의 효율적인 동작에 관한 것이다. 구체적으로, 본 발명은 피어가 파일 공유 시스템에서 소비하는 시간을 감소시키는 것에 관한 것이다.
비트토렌트(BitTorrent)는 수 백 만명의 인터넷 사용자들이 온라인에서 파일을 공유하는데 사용하는 가장 인기있는 피어-투-피어(peer-to-peer) 프로토콜 중 하나이다. 간단한 용어로, 시드(seed)라고 명명된 구별된 사용자로부터 단일 파일을 다운로드하는데 관심이 있는 피어들은 소위 스웜(swarm)을 형성한다. 이 구별된 시드 사용자는 전체 파일의 사본을 구비한다. 피어들은 구별된 시드 사용자로부터 원하는 파일의 피스(file piece)를 다운로드한다. 스웜 내 피어들은 피어들이 서로 업로드하고 다운로드하는 파일 피스(또는 청크(chunk))를 교환한다. 이에 의해 각 피어는 클라이언트 및 서버로 동작하며, 스웜의 전체 업로드 용량(upload capacity)에 기여한다.
시드의 업로드 용량이 초당 U개의 피스라고 가정하면, 스웜이 무한대로 성장함이 없이 지원될 수 있는 피어의 최대 도달 속도(λ)가 있다. 직관적으로, 매 들어오는 피어가 스웜의 전체 업로드 용량을 증가시키므로, 비트토렌트는 높은 도달 속도를 지원하는 것이 기대된다.
비트토렌트에서 안정된 영역을 결정하는 것은 오랜 시간 동안 개방된 문제였다. λ< U인 경우 및 이 경우에만, 즉, 피어의 도달 속도가 시드의 업로드 용량을 초과하지 않는 경우 및 이 경우에만 스웜이 안정적으로 유지되는 것으로 알려져 있다. 피어들이 체류자(leecher)로 동작하고 파일을 다운로드한 직후 떠나는(depart) 설정(setup)을 고려해 보자. 이때, λ> U이라면, 단일 피스는 극히 드물게 될 수 있다. 이 경우에, 모든 도달하는 피어들은 시드로부터만 획득될 수 있는 누락된 피스(missing piece)를 제외하고는 모든 피스를 신속히 다운로드한다. 피어들은 매우 긴 시간 동안 기다려야 이를 획득하여 시스템을 나갈 수 있으므로, 스웜 사이즈는 무한대로 성장할 수 있다.
이 현상은 피스 누락 증후군으로 알려져 있고 비트토렌트의 스케일가능성(scalability)을 훼손한다: 새로운 피어가 도달할 때 비트토렌트 스웜의 전체 업로드 용량이 성장하지만, 피스 누락 증후군은 이 용량을 매우 이용하지 못한다는 것을 암시한다. 사실, 이 증후군이 나타날 때, 시드의 업링크는 시스템 병목이 된다.
이를 고려하여, 비트토렌트의 안정성 영역을 증가시키는 하나의 접근법은 다수의 자율 스웜(autonomous swarm)을 유니버셜 스웜(universal swarm)으로 묶는(bundle) 것이다. 이 설정에서, 피어들은 다시 관심 있는 파일을 검색하면 떠난다. 그러나, 시스템 내에 여전히 있으면서, 이 피어들은 피스를 저장하고 이 피스를 상이한 스웜에 속하는 피어들과 교환한다.
직관적으로, 이러한 스웜간 교환은 그렇지 않은 경우 아이들 상태(idle)에 유지될 수 있는 스웜 대역폭을 사용하고: 누락된 피스를 찾을 수 없는 피어들은 자기의 이용가능한 대역폭을 사용하여 다른 스웜을 지원할 수 있다. 그리하여, 단일 시드를 갖는 유니버셜 스웜은 자율 스웜에 비해 증가된 안정성 영역을 나타낸다. 그러나, 상이한 스웜과 피스를 공유하는 것은 안정성과 평균 체류 시간, 즉, 피어들이 시스템에서 소비하는 시간 사이에 트레이드 오프를 야기할 수 있고: 피어들이 관심이 없는 피스에 자기의 대역폭의 일부분을 소비하는 것에 의해, 피어들은 자기가 원하는 파일을 검색하는데 더 긴 시간이 들 수 있다. 따라서, 유니버셜 스웜의 안정성 영역의 증가는 묶인 스웜의 총 개수로 스케일링된 지연의 증가를 야기한다. 즉, 스웜의 개수가 많으면 많을수록, 지연이 더 커진다.
본 란은 이하 상세한 설명 란에서 더 설명되는 것을 간략한 형태로 개념의 선택을 도입하기 위해 제공된 것이다. 본 란은 청구된 대상의 핵심 특징이라거나 본질적인 특징을 식별하기 위해 의도된 것이 전혀 아니며, 나아가 청구된 대상의 범위를 제한하는데 사용되도록 의도된 것이 전혀 아니다.
피스 누락 증후군을 피하기 위해 유니버셜 스웜을 수립하는데 경험이 있는 체류 시간의 증가를 해결하기 위해, 본 발명은 안정성 영역을 연장시킬 수 있고 지연에 영향을 미치지 않는 변경된 파일 공유 시스템 설계를 포함한다. 특히, 스웜의 개수가 파일의 피스의 개수 정도인 한, 피어들은 최소 체류 시간, 즉, 스웜이 묶여 있지 않은 것처럼 동일한 정도의 시간을 경험한다. 파일 피스의 개수가 일반적으로 실제로 수 천 개이므로, 이것은 개선된 안정성 및 낮은 지연을 갖는 상당한 개수의 스웜을 지원할 수 있다. 나아가, 이들은 피어들이 그 파일을 획득할 때 증가된 지연을 경험하지 않도록 설계될 수 있다.
본 발명의 일 측면에서, 시스템이 자율 모드 거동과 유니버셜 스웜 모드 거동 사이를 교번하게 하는 다수의 임계값 피스 선택 정책이 구현된다. 특히, 시스템 사이즈가 작을 때마다, 각 스웜은 자율적으로 동작한다; 시드는 업로드 용량을 상이한 스웜에 균일하게 분배하는 반면, 각 스웜 내 피어들은 동일한 스웜 내 다른 피어와만 컨택(contact)하고 피어들이 관심이 있는 피스만을 수신한다. 그러나, 시스템 사이즈가 커지면 (즉, 피스 누락 증후군이 나타나면), 시스템은 유니버셜 모드로 스위칭된다; 피어들은 다른 스웜 내 피어들과 컨택하고, 서로 및 시드로부터 파일의 임의의 피스를 수신한다. 유니버셜 모드로 스위칭하는 것은 시스템이 안정화되는 것을 보장하고, 종국적으로 자율 모드로 되돌아가는 것을 보장한다.
본 발명의 추가적인 특징과 장점은 첨부 도면을 참조하여 예시적인 실시예의 이하 상세한 설명으로부터 보다 명백해질 것이다.
본 발명의 전술한 설명 및 예시적인 실시예의 이하 상세한 설명은, 단지 예로서 포함되고, 본 발명을 제한하지 않는 첨부 도면과 함께 판독하면 더 잘 이해될 수 있을 것이다.
도 1은 본 발명에 대한 환경으로 기능하는 피어 컴퓨터의 일 실시예를 도시하는 도면;
도 2a는 자율 동작 모드의 성능을 도시하는 도면;
도 2b는 랜덤하게 하나씩(random novel: RN) 정책을 사용하여 유니버셜 동작 모드의 성능을 도시하는 도면;
도 2c는 희귀한 것 우선(rarest first: RF) 정책을 사용하여 유니버셜 동작 모드의 성능을 도시하는 도면;
도 3a는 상이한 피스 선택 정책을 위해 자율 모드에서 평균 체류 시간을 도시하는 도면;
도 3b는 각 스웜이 k-피스 파일을 요청하는 피어들을 포함하는 경우 유니버셜 모드에서 평균 체류 시간 대 스웜 사이즈를 도시하는 도면;
도 3c는 각 스웜은 k-피스 파일을 요청하는 피어들을 포함하는 경우 본 발명의 원리를 사용하여 평균 체류 시간을 도시하는 도면;
도 4는 본 발명의 측면에 따른 예시적인 사용 흐름도를 도시하는 도면;
도 5는 본 발명의 측면에 따른 예시적인 파일 시스템 스웜 추적기를 도시하는 도면.
여러 예시적인 실시예의 이하 상세한 설명에서, 본 발명의 일부를 형성하고, 예시적으로 실시할 수 있는 본 발명의 여러 실시예를 도시하는 첨부 도면을 참조한다. 다른 실시예들도 사용될 수 있고 구조적 및 기능적 변경이 본 발명의 범위를 벗어남이 없이 이루어질 수 있는 것으로 이해된다.
도 1은 본 발명을 구현하는 환경으로 기능할 수 있는 파일 공유 시스템(100)을 도시한다. 도 1은 4개의 피어들이 도시된 비트토렌트-같은 파일 공유 시스템을 도시한다. 이 기술 분야에 통상의 지식을 가진 자라면 임의의 개수의 피어 디바이스들이 상호 연결될 수 있다는 것을 인식할 수 있을 것이다. 피어 A(102)는 네트워크(130)에 연결되고 피어 B(104), 피어 C(106), 피어 D(108) 및 스웜 추적기(120)도 이 네트워크에 연결된다. 네트워크(130)는 다수의 네트워크 디바이스를 지원하는 인트라넷 또는 인터넷과 같은 임의의 형태의 사적 네트워크 또는 공중 네트워크일 수 있다. 다른 실시예에서, 네트워크(130)는 다수의 무선 디바이스를 지원하는 무선 네트워크일 수 있다. 피어 A, B, C 및 D는 정보를 네트워크(130)를 통해 다른 네트워크 디바이스들로 전달할 수 있는 예시적인 네트워크 디바이스이다. 이러한 네트워크 디바이스의 예로는 원격 단말, 개인용 데스크탑 컴퓨터, 랩탑 컴퓨터 또는 네트워크 인터페이스를 구비하는 임의의 유형의 연산 디바이스를 포함한다. 피어 A, B, C 및 D는 네트워크(130)에 유선으로 연결되거나 또는 네트워크(130)에 무선으로 연결되거나 또는 이들의 조합으로 연결될 수 있다. 스웜 추적기(120)는 구별된 사용자 또는 시드로 동작할 수 있는 네트워크로 연결된 디바이스이다. 스웜 추적기는 피어들이 스웜에 응답하는 방식에 영향을 미치는 것에 의해 시스템(100)의 동작을 결정하는 능력을 포함한다. 스웜 추적기는 시스템(100)의 성능을 모니터링하고 시스템(100)의 동작 모드를 제어하는 것에 의해 파일 공유 시스템(100)을 위한 중앙 집중식 제어를 제공한다.
도 1에서와 같은 하나의 비트토렌트-같은 시스템에서, 파일 스웜을 수집하려고 찾는 피어들은 단일 스웜을 형성한다. 이것은 자율 모드라고 불리운다. 그러나, 본 명세서에 설명된 바와 같이, 누락된 피스를 가지는 피어가 스웜을 빠져나가면, 스웜에 남아 있는 피어는 누락된 파일 피스를 취득할 수 없고 이 스웜은 제어가능하지 않게 성장할 수 있다. 다수의 스웜으로 구성된 다른 비트토렌트-같은 파일-공유 시스템에서, 각 스웜 내 피어는 동일한 파일을 다운로드하기를 원할 수 있고, 모든 파일은 단일 시드에 의해 저장된다. 상이한 스웜 내 피어는 협력하여, 유니버셜 스웜을 형성한다. 이것은 유니버셜 동작 모드라고 불리운다. 파일 피스는 모든 스웜에 걸쳐 공유된다: 각 피어는 상이한 스웜으로부터 다른 피어와 컨택하며, 운반하는 피스를 이들에 전송한다. 나아가, 시드는 피어가 명시적으로 요청하지 않는 피스를 업로드할 수 있다. 그럼에도 불구하고, 피어는 관심 있는 모든 파일 피스를 수신하면 바로 떠난다. 아래에서는, 유니버셜 모드에서 이 피어 및 시드의 거동이 상세히 설명된다.
구별된 피어, 즉 시드는 항상 존재하고 및 모든 요청된 파일의 사본을 보유한다고 상기하자. 파일은 동일한 사이즈의 피스들로 분할된다.
Figure pct00001
= {1, 2, ..., K}는 시드가 보유하는 모든 피스 세트라고 정의하자. 파일 C는
Figure pct00002
의 비어 있지 않는 서브셋(non-empty subset), 즉,
Figure pct00003
(여기서
Figure pct00004
Figure pct00005
의 멱수 세트(power set)이다)를 나타낸다. 파일 C를 다운로드하는데 관심이 있는 피어 세트를 파일 C의 스웜이라 한다. 이 스웜 내 피어는 속도(λc)로 푸아송 공정(Poisson process)에 따라 도달하고, 도달은 상이한 스웜마다 독립적이다. C는 도달 속도가 0이 아닌 파일 세트를 나타낸다, 즉,
C:= {C : C ∈
Figure pct00006
Figure pct00007
{0}, λC > 0}
Figure pct00008
은 시스템 내 총 도달 속도를 나타낸다. C 내의 세트는 해체(disjoint)될 필요가 없다; 그리하여, 우리의 모델은 도달하는 피어들이 다수의 파일에 관심이 있는 시나리오를 자연히 캡처한다.
각 피어는 캐시를 유지하고, 이 캐시 내에 피어는 다운로드하는 피스를 저장한다. 피어가 비어 있는 캐시에 도달하고, 각 피어의 캐시는
Figure pct00009
에 있는 모든 K개의 피스를 보유할만큼 충분히 크다고 가정하자. 피어는 관심 있는 모든 파일 피스를 검색하면 바로 떠난다. 피어는 (a) 피어가 속하는 스웜 및 (b) 그 캐시에 있는 피스 세트에 따라 유형으로 분할된다. 그리하여, 피스 세트(S)를 보유하는 스웜 C의 피어는 유형<C,S>으로 나타낸다. 이런 가정에 따라, 유형 <C,S> ∈ T의 피어만이 시스템에 존재하고, 여기서 T는 다음과 같이 정의된다:
T:= {<C,S>: C ∈ C,S ∈
Figure pct00010
Figure pct00011
{
Figure pct00012
}, C
Figure pct00013
S} 수식 (1)
시드를 시스템에 영구적으로 없는 일부 피스 ⊥/∈
Figure pct00014
에 대해 유형 <{⊥},
Figure pct00015
>인 것으로 설정하고,
Figure pct00016
= T ∪ {<{⊥},
Figure pct00017
>}는 시드를 포함하는 유형의 확장된 세트를 나타낸다.
n<c,s>, <C,S> ∈ T는 현재 시스템에서 유형 <C,S> 피어의 수를 나타낸다. 피어의 총 수는 이후 n :=∑ <c,s>∈ T n<c,s>로 주어진다. 시스템의 상태는,
n = (n<c,s>)<c,s> ∈ T 수식 (2)
으로 나타나고, 이 n은 각 유형에서 피어의 수의 벡터이고,
Figure pct00018
는 모든 가능한 벡터 n의 세트를 나타낸다. 나아가, ns,S ∈
Figure pct00019
Figure pct00020
{
Figure pct00021
}는 그 캐시 내에 있는 피스 세트 S를 갖는 피어의 수를 나타낸다:
ns = ∑c:c ∈ c n<c,s> 수식 (3)
시스템의 전개(evolution)는 이후 상태 공간(D)을 갖는 마르코브 공정(Markov process)
Figure pct00022
에 의해 기술된다. 이 공정의 전이 속도(transition rate)는 시드 및 피어에 의해 피스가 업로드되는 방식에 달려있다; 이들 전이 속도를 형식적으로 한정하기 전에, 우리는 먼저 피스 업로드가 일어나는 방식을 기술한다.
시드는 속도 U의 푸아송 공정의 순간(instant)에 피스를 업로드한다. 이 순간에, 시드는 (모든 스웜에 걸쳐) 시스템에 존재하는 모든 피어 중에서 랜덤하고 균일하게 선택된 피어와 컨택하고, 피스를 이 피어의
Figure pct00023
에 복제한다(replicate). 유사하게, 속도 μ > 0의 푸아송 공정에 후속하는 순간에, 각 피어는 (모든 피어 중에서 랜덤하고 균일하게 선택된) 다른 피어와 컨택하고 그 캐시로부터 피스를 복제한다.
소스(피어 또는 시드)가 수신 피어와 컨택할 때 복제된 피스는 소스의 피스 선택 정책에 의해 결정된다. 형식적으로, 유형 <C,S> ∈
Figure pct00024
에서 소스에 대한 피스 선택 정책은,
h<c,s>(i, (C',S'), n), i ∈
Figure pct00025
, <C',S'> ∈ T, n ∈ D
로 나타나고, 이는 F x T x D로부터 [0, 1]로의 함수이다. (a) 피스 수신기가 유형 <C',S')이고 및 (b) 시스템 상태는 컨택 시간에서 n으로 주어진다고 하면, 함수 h<c,s>(i,<C',S'>, n)는 복제된 피스가 i일 확률이다.
정책에 대한 다음의 자연스런 가정이 이루어진다: (a) 수신기가 소스의 캐시에 모든 피스를 소유하고 있는 경우 피스는 복제되지 않는다, 만약 그렇지 않으면 (b) 수신기의 캐시에 없는 소스의 캐시에 정확히 하나의 피스만이 복제된다. 이런 가정은 정책 h<c,s>이 다음 수식,
Figure pct00026
을 만족시켜야 한다는 것을 암시한다.
수식 4a 및 수식 4b에 의해 한정된 정책 군은 상당히 넓다는 것이 주목된다. 유형 <C,S> ∈
Figure pct00027
의 소스와, 유형 <C',S'> ∈ T의 수신기를 고려해 보자; 그러면, 다음은 이 군에 있는 정책의 예이다:
- 랜덤하게 하나씩[RN]: S
Figure pct00028
S'≠
Figure pct00029
인 경우, 소스는 세트 S
Figure pct00030
S'로부터 랜덤하고 균일하게 선택된 피스를 복제한다.
- 희귀한 것 우선[RF]: 우리는 먼저 피스 i ∈
Figure pct00031
의 이용가능성이 피스를 보유하는 피어의 수, 즉,∑ s:i∈s ns인 것으로 정의한다. 소스는 결합이 랜덤하고 균일하게 파괴된 최저 이용가능성을 가지는 S
Figure pct00032
S' 에 있는 피스를 복제한다.
- 우선순위 희귀한 것 우선[priority rarest first: PRF]: 소스는 다음과 같이 수신기의 스웜 내 피스를 우선시한다. (S
Figure pct00033
S') ∩ C'≠
Figure pct00034
인 경우, 이것은 최저 이용가능성을 가지는 (S
Figure pct00035
S') ∩ C'에 피스를 복제한다. (S
Figure pct00036
S') ∩ C'이 비어 있으나, S
Figure pct00037
S'은 비어 있지 않은 경우, 소스는 희귀한 것 우선으로 복귀한다.
- 우선순위 랜덤하게 하나씩[priority random novel: PRN]은 유사한 방식으로 정의될 수 있다.
동일한 유형의 소스가 동일한 정책에 적용된다고 가정하자. 시스템의 피스 선택 정책은 각 <C,S> ∈
Figure pct00038
에 의해 색인된 h<c,s>의 투플(tuple)로 표시되고, 여기서 유형 <C,S>에서 모든 소스는 투플 내 정책 h<c,s>에 적용된다. 상이한 정책 h은 여러 유형에 걸쳐 공존할 수 있고: 예를 들어, 시드는 랜덤하게 하나씩 정책을 구현할 수 있는 반면, 피어는 우선순위 희귀한 것 우선 정책을 구현한다. 랜덤하게 하나씩 정책 것과는 달리, RF 및 PRF 정책은 시스템 상태 n에 좌우되고, 글로벌 재산(global property)의 지식(즉, S
Figure pct00039
S'에서 피스의 이용가능성)을 요구하며; 그리하여, 이들은 분산된 방식으로 구현하기 곤란하다. 대부분 존재하는 비트토렌트 구현을 포함하는 중앙집중화된 설정에서, 이용가능성은 스웜 추적기라고 불리는 구별된 피어에 의해 모니터링된다. 대안적으로, 가십(gossiping)이나 또는 샘플링과 같은 분산 기술은 이용가능성의 추정을 획득하는데 사용될 수 있다. 본 발명의 주요 안정성 결과는 시드가 랜덤하게 하나씩[RN] 정책을 적용하는 반면, 유형 <C,S> 피어는 수식 4a 및 수식 4b를 만족시키는 임의의 피스 선택 정책 h<c,s>을 선택할 수 있는 것으로 가정한다.
n(t) ∈ D는 시간 t에서 시스템의 상태를 나타내고 및
Figure pct00040
는 마르코브 공정인 것을 상기하자. 피스 선택 정책에 대한 상기 표기를 사용하여, 그 전이 속도는 다음과 같이 형식적으로 한정될 수 있다. 시드는 랜덤하게 하나씩 피스 선택 정책을 구현할 수 있는 반면, 임의의 <C,S> ∈ T에 대해, 유형 <C,S>의 피어는 수식 4a 및 수식 4b를 만족시키는 임의의 정책 h<c,s>을 구현하는 것으로 가정된다. 상태 n가 주어진 경우, Tc(n)는 스웜 C에서 새로운 피어의 도달로부터 초래되는 새로운 상태라고 하자. i
Figure pct00041
S인
Figure pct00042
가 주어지고, n<c,s> ≥ 1인 상태 n가 주어질 때, T<c,s>,i(n)은 피스 i를 다운로드하는 유형 <C,S> 피어로부터 초래되는 새로운 상태를 나타낸다고 하자. 생성기 매트릭스
Figure pct00043
의 양의 엔트리는 다음 수식으로 주어진다:
Figure pct00044
마르코브 공정으로 모델링된 시스템에서 안정성 및 불안정성의 다음 표준 정의를 사용한다. 시스템이 과도적(transient)이고 및 피어의 수가 확률 1로 무한대에 수렴하는 경우 시스템은 불안정하고; 시스템이 양의 회귀적(positive recurrent)이고 및 피어의 유한 평균 수를 구비하는 경우 시스템은 안정적이다.
상기 시스템에서, 단일 자율 스웜의 경우에, 즉, 모든 피어가 파일 C =
Figure pct00045
를 다운로드하는데 관심이 있는 시스템이 알려져 있다. 이러한 시스템의 안정성 영역은 랜덤하게 하나씩[RN] 정책 하에서 결정된다:
공리(theorem) 1. 시드 및 피어가 랜덤하게 하나씩 피스 선택 정책을 따르는 모든 피스를
Figure pct00046
에서 요청하는 피어들 갖는 단일 스웜을 고려해 보자. 시스템은,
Figure pct00047
인 경우 안정적하고,
Figure pct00048
인 경우 불안정하다.
이것은
Figure pct00049
일 때 소위 피스 누락 증후군이 불안정한 이유인 것으로도 알려져 있다. 전술한 바와 같이, 이 증후군은 하나의 누락된 피스(모든 피어가 동일한 피스를 누락함)를 제외하고
Figure pct00050
에서 모든 피스를 저장하는 시스템에 다수의 피어가 있을 때 발생한다. 하나의-클럽(club)이라고 명명되는 이 피어 세트가 충분히 클 때, 시스템에 도달하는 새로운 피어들의 대부분의 컨택이 이 피어들과 있을 수 있다. 새로운 피어는 그리하여 누락된 피스를 제외하고는 모든 피스를 신속히 검색하여, 하나의-클럽 세트에 가입한다. 누락된 피스를 보유하는 피어들은 거의 없으므로, 하나의-클럽으로부터 떠나는 것은 대부분 시드에 의해 업로드한 것으로 인한 것이어서; 하나의-클럽을 떠나는 속도는 시드의 업로드 속도 U에 근접한다.
Figure pct00051
이므로, 하나의-클럽에서 피어의 성장 속도는 양이고, 이 세트의 사이즈는 무한대로 증가하여 불안정을 초래한다.
상기 공리 1은 다중-스웜 시스템의 경우에 즉시 추론(corollary)을 가진다. 구체적으로, 각 스웜은 자율 모드에서, 독립적으로 및 다른 스웜과 고립되어 동작하는 것으로 가정한다. 보다 구체적으로, 스웜
Figure pct00052
내 피어들은 동일한 스웜 내 다른 피어들과만 컨택하고 피스를 교환한다. 나아가, 시드는 상이한 스웜에 걸쳐 업로드 용량을 (가능하게는 불균일하게) 분할하고, 각각을 총 용량의 적절한 비율로 제공한다. 마지막으로, 스웜 C에 저장되고 교환된 피스는 세트 C 내 피스이다. 공리 1은 각 이러한 스웜에 직접 적용되어서, 각 개별 스웜의 안정성을 기술한다. 그리하여, 다음 추론을 검증하는 것이 용이하다:
추론 1. 자율 모드에서 동작하는 다중-스웜 시스템을 고려하고, 시드 및 피어가 랜덤하게 하나씩 정책에 따라 피스를 업로드하는 것으로 가정한다. 그러면, 시드는
Figure pct00053
인 경우 시스템이 안정적이도록 업로드 용량을 할당할 수 있다. 더욱이,
Figure pct00054
인 경우 시스템은 시드의 업로드 용량의 모든 할당에 대해 불안정하다.
달리 말하면, 자율 모드에서 동작할 때, 시스템은 일정한 도달 속도로 유한한 개수의 많은 스웜만을 지원할 수 있고: 종국적으로 시드의 업로드 용량은 고갈되고, 시스템은 불안정해진다. 추론이 시드의 속도를 각 스웜에 정적으로 할당하는 것으로 가정된다는 것이 주목된다. 본 발명자는 시뮬레이션을 통해 각 스웜의 사이즈에 비례하는 할당이 피스 누락 증후군을 방지하지 못한다는 것을 발견하였다(도 2a 참조).
다중-스웜 시스템이 피어가 스웜에 걸쳐 다른 피어와 컨택할 수 있도록 동작하는 시스템이고, 다른 피어와 파일 피스를 교환할 수 있다. 이런 유형의 시스템 동작을 단일 스웜에서만 동작하는 피어의 동작과 구별하기 위해, 다중-스웜 동작은 유니버셜 모드 또는 유니버셜 스웜에서의 동작이라고 명명된다.
본 발명자는 유니버셜 스웜이 개선된 안정성을 확실히 나타내는 것을 수식 (5)의 마르코브 공정의 안정성 영역이 나타낼 수 있다는 것을 발견하였다.
공리 2. 시드가 랜덤하게 하나씩 정책을 구현하고 및 유형 <C,S> 내 피어가 수식 4a 및 수식 4b를 만족시키는 임의의 정책 h(c,s)을 구현하는 유니버셜 스웜을 고려해 보자. 그러면, (i) 시스템은,
Figure pct00055
인 경우 불안정하고,
(ii) 시스템은,
Figure pct00056
인 경우 안정적이다.
유니버셜 스웜을 고려하는 것을 넘어, 공리 2는 공리 1을 확장하여 피어가 수식 4a 및 수식 4b 하에서 임의의 피스 선택 정책을 구현하는 경우에 적용된다. 단일 스웜 설정에 적용되는 공리 2의 즉시 추론은 공리 1의 안정성 영역이 또한 이 정책으로 확장된다는 것이다. 공리는 시드가 랜덤하게 하나씩 정책을 사용한다고 가정한다는 것이 주목된다. 본 발명자는 시드에서 희귀한 것 우선 정책을 사용하면 동일한 안정성 영역을 더 나타내는 것으로 결정하였다.
공리는 스웜을 번들로 묶는 경우 안정성 영역에 상당한 증가가 양산된다는 것을 암시한다는 것이 주목된다. 이를 알아보기 위해, 파일
Figure pct00057
이 해체될 때, 수식 (7)이
Figure pct00058
이 되는지를 관찰한다. 이것은 추론 1에서 주어지는 자율 모드에서 동작하는 시스템에 의해 달성되는 것보다 더 큰 안정성 영역을 한정한다. 구체적으로, 스웜을 묶음으로써, 본 발명자는 스웜의 수가 증가함에 따라 안정성 영역이 극한으로 스케일링되고: 단일 시드가 안정성 영역에 영향을 줌이 없이 일정한 도달 속도로 제한되지 않은 수의 스웜을 지원할 수 있다는 것을 발견하였다. 그러나, 스웜을 번들로 묶으면 지연 증가를 초래한다. 그리하여, 스웜의 수는 실제로 임의적으로 커질 수 없다.
따라서, 본 발명은 유니버셜 모드와 자율 모드 사이를 교번하는 것에 의해, 다수의 스웜에 대해 작은 지연을 보장하면서 유니버셜 스웜과 동일한 안정성 영역을 유지하는 하이브리드 시스템을 포함한다. 본 발명은 시스템이 자율 스웜 거동과 유니버셜 스웜 거동 사이를 교번할 수 있게 하는 다수의 임계값 피스 선택 정책을 구현한다. 구체적으로, 시스템 사이즈가 작을 때마다, 각 스웜은 자율적으로 동작하고: 시드는 상이한 스웜에 업로드 용량을 균일하게 분배하는 반면, 각 스웜 내 피어는 동일한 스웜 내 다른 피어와만 컨택하고 관심 있는 피스만을 수신한다. 그러나, 시스템 사이즈가 커질 때(즉, 피스 누락 증후군이 나타날 때), 우리는 유니버셜 모드로 스위칭되고: 피어는 다른 스웜 내 피어와 컨택하고, 서로 및 시드로부터 F 내 임의의 피스를 수신한다. 유니버셜 모드로 스위칭하는 것은 시스템이 안정화되는 것을 보장하고, 종국적으로 자율 모드로 되돌아가는 것을 보장한다. 본 발명자는 피스 선택 정책 중 어느 것이 피어에 구현되는지 여부(예를 들어, 랜덤하게 하나씩 정책, 희귀한 것 우선 정책 또는 우선순위 희귀한 것 우선 정책 또는 이들의 조합)에 상관없이 하이브리드 시스템의 안정성 영역이 동일하게 남아 있다는 것을 발견하였다.
하이브리드 시스템은 스웜 파라미터의 체류 시간에 종속될 뿐만 아니라 상이한 피스 선택 정책에 대한 스웜 거동을 연구한 시뮬레이션을 사용하여 유니버셜 스웜의 성능을 수행하였다. 이전과 같이, RF, RN, PRN 및 PRF라는 용어는 피스 선택 정책 희귀한 것 우선 정책, 랜덤하게 하나씩 정책, 우선순위 랜덤하게 하나씩 정책 및 우선순위 희귀한 것 우선 정책에 각각 대응한다. PRF 및 PRN은 시스템이 자율 모드에서 동작할 때 RF 및 RN으로 감소한다는 것이 주목된다.
공리 1 및 2는 상이한 3-피스 세트를 각각 요청하는 3개의 스웜을 포함하는 시스템에서 자율 모드와 유니버셜 모드에서 시스템 사이즈 n의 전개를 연구하는 것에 의해 확인될 수 있다. 시드 속도는 U = 3.1이고 및 각 스웜에서 도달 속도는 λ= 3.0이고; 공리 1 및 2는 이 구역에서 자율 모드가 불안정한 반면 유니버셜 시스템은 안정적인 것을 암시한다.
도 2a는 시드가 시드와 피어에서 상이한 정책 조합에 대해 각 스웜에 업로드 속도를 1/3씩 정적으로 할당할 때 자율 모드에서 시스템 사이즈를 전개한 것을 도시한다. 모든 시뮬레이션은 비어 있는 시스템으로부터 시작한다. 시드 및 피어에서 희귀한 것 우선 정책을 적용하면 약간 더 작은 시스템 사이즈를 초래할 수 있으나, 피스 누락 증후군이 모든 4개의 경우에 나타난다. 시드에 그 속도를 동적으로 할당하여 이런 실험을 반복하면, 각 스웜이 사이즈에 비례하는 속도로 피스를 수신하는 것은 불안정성이 이 설정에서도 지속되는 것을 보여주는 조 2a의 삽입 그래프를 초래한다.
이런 실험은 유니버셜 모드에서 반복되고, 이 시간은 하나의-클럽을 형성하는 8500개의 피어를 포함하는 초기의 상태로부터 시스템을 시작하며, 여기서 모든 피어는 단일 스웜에 속하고, 동일한 파일을 요청하고, 피어들이 요청하는 하나의 피스(모두 동일한 피스를 누락하고 있음)를 제외하고 그 캐시에 모두 9개의 피스를 저장한다. 도 2b는 시드가 랜덤하게 하나씩 정책을 적용할 때 시스템을 전개한 것을 도시하고; 사실 시스템은 105 시간 단위 후에 안정화되고, 공리 2를 확인한다. 시스템은 시드가 희귀한 것 우선 정책을 적용할 때 더 빠르게 (104 시간 단위 정도) 안정화되고, 도 2c에 도시된 바와 같이, 시드와 피어에서 희귀한 것 우선 정책이 가장 빠르게 (대략 3·104 시간 단위로) 시스템을 안정화시킨다. 흥미로운 것은, (PRN 또는 PRF를 통해) 피어에 있는 피스를 우선시하면 더 느린 안정화를 초래하고: 이것은 이들 정책은 시스템 내 피스의 다양성을 감소시키기 때문에 정확하다.
U = 2.9의 시드 속도로 상기와 같은 실험을 고려해 보자. 각 스웜에서 도달 속도는 λ= 3이므로, 공리 2는 시드가 랜덤하게 하나씩 정책을 적용할 때 시스템은 불안정하다고 규정한다. 하나의 질문은 이 경우에, 시드 또는 피어에 사용된 피스 선택 정책이 어느 것인지에 따라 피스 누락 증후군이 얼마나 신속히 나타나는지이다. 다음 실험은 랜덤하게 하나씩(RN) 정책 또는 희귀한 것 우선(RF) 정책을 적용하는 시드에 대해 수행되었다. 시뮬레이션은 초기의 시스템 사이즈 n0로 시작하고, 여기서 초기의 상태는 (즉, 하나를 제외한 모든 피스를 저장하는) 하나의 클럽을 형성하는 모든 피어를 포함한다. 시뮬레이션은 먼저 일어나는 것이면 무엇이든지 시스템 사이즈가 최대 임계값(2000 + n0, 2n0)에 도달할 때 종료되거나 또는 시뮬레이션 시간이 107 시간 단위에 도달할 때 종료된다. 피어에서 4개의 정책(RN, RF, PRN, PRF) 각각에 대해, 이 실험은 비어 있는 초기의 상태 n0 = 0에서 먼저 수행되었고; 이 실험은 107 단위에서 임계값에 도달하지 않으면, n0이 100만큼 증가되고 이후 실험이 반복된다. 이런 방식으로, 임계의(critical) 하나의-클럽 사이즈가 식별된다. 시스템이 이 사이즈의 하나의 클럽을 갖는 상태에 도달하면, 이 시스템은 불안정해진다.
시드가 RN 정책을 사용하는 경우에 대한 시뮬레이션 결과는 표 1의 상부 절반부에 요약되어 있다. 피스 누락 증후군은 사실 임계 초기의 상태에서 나타나고, 하나의-클럽은 종료 시간에 90%를 초과하는 피어 식재(feer population)를 포함한다. 피어가 RF 정책이 아닌 임의의 정책을 사용할 때, 임계의 하나의 클럽 사이즈는 0이다. 그에 반해, 피어가 RF 정책을 사용하면, 증후군은 n0 = 500일 때에만 나타나고; 사실, 희귀한 것 우선 정책을 사용하면 시스템에서 피스의 다양성을 개선시켜, 임계의 하나의-클럽 사이즈에 도달하는 것을 더 곤란하게 할 수 있다. 이러한 거동은 시드가 RN 정책이 아닌 RF 정책을 사용할 때 훨씬 더 스트라이킹이 되고: 표 1의 하부 절반부에 도시된 바와 같이, 시드에 RF 정책을 사용하면 피스의 다양성이 높아져 임계의 하나의-클럽 사이즈가 2 내지 8천 개의 피어들이 있을 수 있는 것을 보장한다.
결정적으로, 초기의 사이즈로부터 시작하여 임계 값 미만으로 모든 시뮬레이션에서 다음 매우 흥미로운 거동이 관찰된다: 시스템 사이즈는 실제로 200 미만의 사이즈로 감소하고 및 전체 107 시간 단위에 대해 이 값 부근에 머무른다. 이것은, 시스템이 표 1에 있는 것들 중 어느 것에서 명확히 안정하지 않다 하더라도, RF 정책을 시드 또는 피어에 적용하면 메타-안정성을 양산한다는 것을 암시한다. 임계의 하나의-클럽 사이즈가 존재하지만, 그 값은 높아서 시스템이 대부분의 시간 동안 동작하는 "일반적인" 사이즈(시뮬레이션에서 대략 200개의 피어)로부터 도달하는 것이 매우 곤란하다.
Figure pct00059
체류 시간은 파일 공유 시스템이 원하는 파일을 획득하는데 피어가 소비하는 시간이다. 각각 3개의 피스를 구비하는 3개의 스웜을 포함하는 유니버셜 시스템에 대한 평균 체류 시간이 결정될 수 있다. 시드 업로드 속도는 U = 3.0으로 설정되고 및 도달 속도 λ는 i = 1, ..., 10에 대해 λ= U(1 - 1/2i)으로 각 스웜마다 변경될 수 있어서, 안정성 영역에 남아는 있으나, 아래로부터 U에 접근한다. 도 3a는 1/(U - λ)(더 높은 값은 U에 더 근접한 λ에 대응한다)의 함수로서 상이한 피스 선택 정책에 대해 유니버셜 모드에서 평균 체류 시간을 도시한다. λ가 U에 접근함에 따라, 시드에서 RN 정책 하에서 체류 시간이 RN-RF 경우를 제외하고, 즉, 피어가 희귀한 것 우선 정책을 사용할 때 상당히 증가한다. 시드가 RF 정책을 사용하는 모두 4개의 경우에, 체류 시간은 도달 속도가 U에 접근함에 따라 실제로 상수로 남아 있다. 이것은, 메타-안정성에 의하여, 시드가 RF 정책을 사용할 때 시스템 사이즈는 λ > U인 때에도 대부분의 시간 동안 작게 남아 있어서; 도달 속도가 아래로부터 U에 접근함에 따라 체류 시간에 급격한 증가가 없다는 사실에 부합된다.
도 3b는 각 스웜이 k ∈ {10, 30, 60}에 대해 k-피스 파일을 요청하는 피어를 포함하는 경우에 대해 유니버셜 모드에서 평균 체류 시간 대 스웜 사이즈(L)의 그래프이다. 각 시뮬레이션에서 총 피스의 수가 K = kL이라는 것이 주목된다. 제일 먼저, k의 모든 값에 걸쳐, 평균 체류 시간이 스웜의 수가 증가함에 따라 선형으로 증가하는 것이 관찰된다. 유사하게, 체류 시간은 스웜마다 피스의 수인 k에 비례하여 증가한다. 피어가 경험하는 지연은 K = kL 정도이어서, 그리하여, 스웜의 수(L)와 잘 스케일링되지 않는다. 다시 말해, 유니버셜 모드에서 스웜을 번들로 묶음으로써 제공되는 안정성이 증가하면 지연의 증가를 초래한다. 본 발명을 사용하면, 사실 유니버셜 모드와 자율 모드 사이를 교번하는 본 발명의 하이브리드 접근법을 사용하는 것에 의해 넓은 L의 값의 범위에서 지연이 억압될 수 있다.
시뮬레이션 결과를 해석하면, 메타-안정적인 스웜에서, 2개의 중요한 시스템 사이즈, 즉 대부분의 시간 동안 시스템이 체류하는 사이즈인 동작 사이즈(nop), 및 일단 달성되면, 시스템을 불안정하게 하는 하나의-클럽의 사이즈인 임계 사이즈(n0)가 있는 것이 제안된다. 2개의 사이즈가 서로 충분히 이격되어 있다면, 시스템은 메타-안정성을 나타낼 수 있다. 동작 사이즈 부근에 있을 때, 시스템이 피스 누락 증후군이 나타나는 임계 상태에 도달하는데 긴 시간이 든다.
본 발명자는 (a) 시스템이 단일 스웜으로 구성될 때, (b) 도달 속도가 λ > U일 때, 및 (c) 시드 및 피어가 RF 정책을 사용할 때 nop 및 n0의 일부 간단한 추정을 유도하였다. 구체적으로, 이러한 단일 스웜 시스템의 동작 사이즈는,
nop
Figure pct00060
λΚ/μ 수식 (8)
에 의해 추정될 수 있는 반면, 일단 달성되면 불안정을 초래하는 임계 시스템 사이즈는,
n0
Figure pct00061
λ(K -1) μ[(U(K-1)/2λ- U) - 1] 수식 (9)
에 의해 근사화될 수 있다.
이들 2개의 추정을 사용하면, 본 발명의 하이브리드 시스템은 유니버셜 스웜의 안정성 영역을 증가시키면서, 넓은 범위의 스웜 수(L)에 대해 체류 시간이 작게 남아 있는 것을 보장할 수 있는 것을 실현할 수 있다. 하이브리드 시스템은 시드의 업링크 용량의 U/L 부분을 공유하면서 스웜이 고립되어 동작하는 자율 모드와, 스웜이 번들로 묶여 있는 유니버셜 모드 사이를 교번한다. 구체적으로, k = K/L 피스의 파일을 각각 요청하는 L개의 스웜을 구비하는 다중 스웜 시스템을 고려해 보자. 이 시스템은 다음 규칙에 따라 2개의 모드 사이를 스위칭된다:
(a) 자율 모드에 있는 경우, 시스템은 임의의 단일 스웜이 nop + max(n0, 2nop)보다 더 큰 사이즈를 구비하는 경우 유니버셜 모드로 스위칭된다. 즉, 시스템은 임의의 단일 스웜이 (n0 + nop) 또는 3nop 중 어느 것보다 더 큰 사이즈를 구비하는 경우 유니버셜 모드로 스위칭된다.
(b) 유니버셜 모드에 있는 경우, 시스템은 스웜에 의해 요청된 각 피스를 스웜 내 적어도 max(nop/10, 1)개의 피어가 보유하는 경우 자율 모드로 스위칭된다. 즉, 시스템은 임의의 단일 스웜이 (nop/1O) 또는 1 중 어느 것보다 더 큰 사이즈를 구비하는 경우 자율 모드로 다시 스위칭된다.
여기서 nop, n0는 업로드 속도(U/L) 및 피스의 수(k)를 가정하여 수식 8 및 수식 9에 의하여 각각 연산된다.
직관적으로, 유니버셜 모드는 스웜 사이즈가 nop + n0보다 더 커질 때 피스 누락 증후군이 나타나는 강한 증거가 있을 때 적용된다. 시스템은 각 스웜에 충분한 다양성이 있을 때 자율 모드로 복귀한다. 즉, 각 피스가 동작 상태에서 피어 식재의 적어도 10 퍼센트(10분의 1)만큼 보유될 때이다.
이 하이브리드 시스템의 피스 선택 정책은 수식 4 및 수식 4b를 만족하여서, 유니버셜 스웜의 증가된 안정성 영역을 나타낸다. 도 3c는 스웜의 개수가 증가할 때 이 하이브리드 시스템의 체류 시간을 도시한다. 도 3b와 달리, k = 30 및 k = 60에 대해, 체류 시간은 L = 1일 때 달성되는 값(각각 대략 33 및 대략 64 시간 단위)에 근접하여 체류한다. k = 10에 대해, 체류 시간은 L = 1일 때 달성되는 값(~ 12 시간 단위)에 근접하여 체류하지만, 이 체류 시간은 L = 12 후에는 선형적으로 증가하기 시작한다.
이들 개선된 체류 시간은 시스템의 메타-안정성 때문에 정확하게 나타난다. 사실, 스웜은 다른 스웜의 개입 없이 대부분의 시간 동안 정밀하게 동작하고, 이것이 L = 1인 것처럼 동일한 지연을 경험하는 이유이다. U/L < λ이므로, 자율 모드는 불안정하다; 그러나, 피스 누락 증후군이 나타나는 일부( 및 희소한) 경우에, 스웜을 번들로 묶으면 시스템이 신속히 안정화되는 것을 보장하고 이를 동작 사이즈로 복귀하는 것을 보장한다.
도 3c의 k = 10에 대해 관찰된 곡선에 무릎(knee)이 있다는 것은 이 거동이 임의로 큰 L에 대해 유지될 수 없다는 것을 제안한다. 수식 8 및 수식 9는 L이 얼마나 클 수 있는지에 대한 대략적인 대답을 제공하는데 도움이 된다. 사실, 시스템이 메타-안정적인 경우, 임계의 하나의-클럽 사이즈는 동작 사이즈보다 상당히 더 커야 한다. n0 > 2nop인 것을 요구하면, 피스 누락 증후군이 거의 나타나지 않고, 및 K/(K - 1)
Figure pct00062
1를 취하면, L = 1: K U/λ- U > 6일 때 메타-안정성에 대한 다음 학습을 제공한다. 자율 모드에 k = K/L 피스를 각각 요청하는 L > 1 스웜을 이제 고려해 보자. 각 스웜은 자율 모드에서 U/L 업로드 속도를 취득한다. 이후, 상기 상태는,
L < U / 6(λ - U/L)k
Figure pct00063
k U/λ6으로 된다.
다시 말해, 하이브리드 시스템은, L이 각 스웜에서 피스의 수인 k 정도인 한, 작은 지연으로 다수(L)의 스웜을 지원할 수 있다. 파일에서 피스의 수는 일반적으로 수 천 개에 이르므로, 이것은 상기 시스템이 실제로 다수의 스웜에 대해 낮은 체류 시간을 지속할 수 있는 것을 암시한다.
도 4는 본 발명의 측면에 따른 예시적인 흐름도(400)를 도시한다. 공정(400)은 도 1의 스웜 추적기 장치(120)와 같은 네트워크 디바이스에 의해 모니터링되고 제어된다. 초기에, 장치는 파일 공유 시스템 구성에서 피어 네트워크 디바이스의 스웜을 수립한다. 스웜은 구별된 사용자, 시드 디바이스 또는 피어에 의해 제공되는 원하는 파일의 피스를 공유하도록 동작한다. 일 실시예에서, 시드는 스웜 추적기 장치(120)일 수 있다. 단계(405)에서 스웜은 하나 이상의 스웜이 고립되어 동작하는 자율 모드에서 동작하도록 수립된다. 피어의 스웜 내 각 피어는 자기 자신의 스웜의 피어와만 통신하며 원하는 파일의 피스를 전달할 수 있다.
단계(410)에서, 스웜 추적기는 자율 모드에 남아 있는 동안 스웜 사이즈를 모니터링하고 검출한다. 파일 공유 시스템을 모니터링하는 것은 스웜 추적기의 파일 공유 네트워크 인터페이스를 사용하여 일어날 수 있다. 일 실시예에서, 스웜 추적기는 네트워크 동작 및 트랜잭션을 모니터링하고 분석하여 스웜 사이즈를 결정할 수 있는 처리 능력을 구비한다. 단계(415)에서, 스웜 사이즈는 제1 임계값과 비교된다. 일 실시예에서, 제1 임계값은 n0 또는 2nop 중 최대 값 + nop 보다 더 큰 사이즈를 구비하는 스웜으로 정의된다. 즉, 제1 임계값은 nop + n0 또는 3 nop 중 더 큰 것으로 정의되고, 여기서 nop는 동작 사이즈이고 및 n0는 전술한 임계 사이즈이다. 스웜 사이즈가 제1 임계값 미만인 경우, 공정(400)은 단계(410)로 다시 이동하여 여기서 스웜 사이즈가 계속 모니터링된다. 스웜 사이즈가 제1 임계값을 충족하는 경우, 공정(400)은 단계(420)로 이동한다.
단계(420)에서, 시스템은 유니버셜 모드로 이동하고, 여기서 다수의 스웜이 번들로 묶이고 하나의 스웜으로부터 피어는 하나의 스웜 내 피어로부터 상이한 스웜 내 피어로 원하는 파일의 피스를 전송할 수 있다. 일 실시예에서, 유니버셜 모드로 이동하는 것은 스웜 추적기를 통해 달성되고, 이 스웜 추적기는 공정을 모니터링하고 피어가 파일 공유 시스템에서 동작하는 규칙을 제어한다. 단계(420)의 경우에, 제1 임계값이 충족되는 경우, 스웜 추적기는 피어가 상이한 스웜으로부터 원하는 파일 피스를 찾을 수 있게 한다.
단계(425)에서, 스웜 내 피어에 의해 보유되는 피스는 시스템(400)이 유니버셜 모드에서 동작되는 동안 검출된다. 파일 공유 시스템을 모니터링하는 것은 스웜 추적기의 파일 공유 네트워크 인터페이스를 사용하여 일어날 수 있다. 일 실시예에서, 스웜 추적기는 네트워크 동작 및 트랜잭션을 모니터링하고 분석하여 스웜에서 원하는 파일의 피스를 얼마나 많은 피어가 보유하는지를 검출할 수 있는 처리 능력을 구비한다. 단계(430)에서 제2 임계값이 결정된다. 제2 임계값은, 스웜에 의해 요청되는 각 원하는 파일 피스를, 큰 것이 어느 것이든지, 스웜에서 적어도 nop/10 또는 1 피어가 보유하는 것을 발견하는 경우 도달된다. 스웜에서 원하는 파일 피스를 보유하는 피어의 수가 제2 임계값 미만인 경우, 공정(400)은 단계(425)로 다시 이동하고, 여기서 스웜 내 피어가 보유하는 원하는 파일 피스를 계속 모니터링할 수 있다. 스웜 내 피어가 보유하는 원하는 파일 피스가 제2 임계값을 충족하면, 공정(400)은 단계(435)로 이동한다.
단계(435)에서, 시스템(400)은 자율 모드로 다시 전이한다. 자율 모드로 다시 스위치하는 것은 유니버셜 모드에서 동작하는 것이 더 이상 필요치 않아서 유리하다. 즉, 피스 누락 증후군을 회피하기 위해 원하는 파일 피스를 포함하는 스웜에 충분한 피어가 있을 수 있다. 이것은 자율 모드 동작이 과도한 체류 시간을 초래함이 없이 모든 피어에 성공적일 수 있게 한다. 단계(435)로부터, 시스템은 단계(410)로 다시 이동할 수 있고 여기서 스웜 사이즈를 검출하여 자율 모드에서의 동작을 모니터링한다.
도 5는 파일을 공유하는데 적절한 네트워크에서 동작하는 예시적인 장치(500)를 도시한다. 장치(500)는 파일 공유 환경을 제어하고 모니터링한다. 일 실시예에서, 장치(500)는 도 1의 스웜 추적기(120)이다. 도 5에서, 장치(500)는 일반적으로 로컬 사용자 인터페이스(510)를 포함할 수 있다. 로컬 사용자 인터페이스는 사용자가 프로그래밍 및 장치 동작 제어를 수행하기 위한 키보드, 마우스, 디스플레이, USB 연결 등과 같은 이 기술 분야에 통상의 지식을 가진 자에 잘 알려진 사람 및 전자 인터페이스를 포함할 수 있다. 장치(500)는 이 기술 분야에 알려진 바와 같이 내부 버스(515)와 같은 디바이스의 내부 회로에 사용자 인터페이스(510)를 연결하는 인터페이스 회로(520)를 포함할 수 있다. 프로세서(525)는 장치(500)를 위한 여러 인터페이스 및 자원을 제어하는 것을 지원한다. 이들 자원은 프로그램 및/또는 데이터 저장매체 및 네트워크 인터페이스(530)에 사용되는 로컬 메모리(535)를 포함한다. 네트워크 인터페이스(530)는 장치(500)와 네트워크 통신할 수 있는데 사용된다. 네트워크를 통해 장치(500)는 파일 공유 시스템 내 피어와 데이터를 교환할 수 있다. 예를 들어, 네트워크 인터페이스(530)는 도 1의 피어 디바이스 A 내지 D에 대해 설명된 기능을 위한 유선 또는 무선 인터페이스일 수 있다. 장치(500)는 프로세서(525), 메모리(535) 및 네트워크 인터페이스(530)를 사용하여 도 4의 예시적인 흐름도에 설명된 파일 공유 네트워크를 모니터링하고 제어할 수 있다.
특정 아키텍처가 도 1 및 도 5에서 스웜 추적기를 구현하기 위해 도시되어 있으나, 이 기술 분야에 통상의 지식을 가진 자라면 컴포넌트의 분배 기능, 컴포넌트의 통합, 및 피어 디바이스와 스웜 추적기 사이에 분배 프로그래밍의 사용과 같은 구현 옵션이 존재한다는 것을 인식할 수 있을 것이다. 이러한 옵션은 도시되고 설명된 배열의 기능과 구조와 균등한 것일 수 있다.

Claims (10)

  1. 파일 공유 시스템 내 피어(peer)의 스웜(swarm)에서 피어가 소비하는 평균 시간을 제어하는 방법으로서, 상기 방법은,
    상기 스웜에서 자율 동작 모드를 수립하는 단계;
    제1 임계값에서 상기 자율 모드로부터 유니버셜 동작 모드로 변경하는 단계; 및
    제2 임계값에서 상기 유니버셜 모드로부터 상기 자율 모드로 다시 변경하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 자율 모드는 피어의 스웜 내 피어들 간에 파일을 공유하는 것을 포함하는 것인 방법.
  3. 제1항에 있어서, 상기 유니버셜 모드는 상이한 스웜의 번들(bundle) 간에 피어가 파일을 공유하는 것을 포함하는 것인 방법.
  4. 제1항에 있어서, 상기 제1 임계값은 상기 스웜이 임계값 사이즈로 증가하는 것을 포함하는 것인 방법.
  5. 제4항에 있어서, 상기 제1 임계값 사이즈는 정상 동작 사이즈의 3배를 포함하는 것인 방법.
  6. 제4항에 있어서, 상기 제1 임계값 사이즈는 정상 동작 사이즈와 임계 사이즈의 합계를 포함하는 것인 방법.
  7. 제1항에 있어서, 상기 제2 임계값은 누락된 파일 피스를 상기 스웜 내 피어의 적어도 10%가 보유하는 상태를 포함하는 것인 방법.
  8. 파일 공유 시스템을 모니터링하고 제어하는 장치로서, 상기 장치는,
    상기 파일 공유 시스템 내 하나 이상의 피어 디바이스와 통신하는 네트워크 인터페이스;
    프로그램을 실행하여 피어의 스웜의 사이즈 및 상기 스웜에 의해 요청된 파일 피스를 구비하는 피어의 수를 결정하는 프로세서; 및
    상기 프로세서에 이용가능하고 상기 프로그램을 저장하는 메모리를 포함하되,
    상기 프로그램이 상기 프로세서에 의해 실행될 때, 상기 프로그램은 상기 스웜에서 자율 동작 모드를 수립하고 제1 임계값에서 자율 모드로부터 유니버셜 모드로 변경하며, 이후 제2 임계값에서 상기 유니버셜 모드로부터 상기 자율 모드로 다시 변경하는 것인 장치.
  9. 제8항에 있어서, 상기 프로세서는 상기 스웜의 사이즈가 상기 제1 임계값을 충족할 때 상기 자율 모드로부터 상기 유니버셜 모드로 변경하는 것인 장치.
  10. 제8항에 있어서, 상기 프로세서는 상기 스웜에 의해 요청된 파일 피스를 구비하는 피어의 수가 상기 제2 임계값을 충족할 때 상기 유니버셜 모드로부터 상기 자율 모드로 다시 변경하는 것인 장치.
KR1020147033939A 2012-05-04 2012-12-27 파일 공유 시스템에서 피어 체류 시간의 제어 KR20150005701A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261687965P 2012-05-04 2012-05-04
US61/687,965 2012-05-04
PCT/US2012/071698 WO2013165472A1 (en) 2012-05-04 2012-12-27 Controlling peer sojourn time in file sharing systems

Publications (1)

Publication Number Publication Date
KR20150005701A true KR20150005701A (ko) 2015-01-14

Family

ID=47553476

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147033939A KR20150005701A (ko) 2012-05-04 2012-12-27 파일 공유 시스템에서 피어 체류 시간의 제어

Country Status (5)

Country Link
US (1) US20150088992A1 (ko)
EP (1) EP2845370A1 (ko)
JP (1) JP2015517698A (ko)
KR (1) KR20150005701A (ko)
WO (1) WO2013165472A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9998534B2 (en) * 2016-08-24 2018-06-12 International Business Machines Corporation Peer-to-peer seed assurance protocol
US11386233B2 (en) 2019-04-30 2022-07-12 JFrog, Ltd. Data bundle generation and deployment
US11886390B2 (en) 2019-04-30 2024-01-30 JFrog Ltd. Data file partition and replication
US11340894B2 (en) 2019-04-30 2022-05-24 JFrog, Ltd. Data file partition and replication
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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7379967B2 (en) * 2005-01-28 2008-05-27 Grid Solutions, Inc. Download method for file by bit torrent protocol
US9386089B2 (en) * 2008-11-11 2016-07-05 Nbcuniversal Media, Llc Early detection of high volume peer-to-peer swarms

Also Published As

Publication number Publication date
US20150088992A1 (en) 2015-03-26
WO2013165472A1 (en) 2013-11-07
JP2015517698A (ja) 2015-06-22
EP2845370A1 (en) 2015-03-11

Similar Documents

Publication Publication Date Title
KR20150005701A (ko) 파일 공유 시스템에서 피어 체류 시간의 제어
Sherwood et al. Slurpie: A cooperative bulk data transfer protocol
CN111464661B (zh) 负载均衡方法、装置、代理设备、缓存设备及服务节点
Roussopoulos et al. Practical load balancing for content requests in peer-to-peer networks
Michiardi et al. Peer-assisted content distribution on a budget
Li et al. ASCAR: Automating contention management for high-performance storage systems
JP2019016042A (ja) データ取得プログラム、装置、及び方法
Nakai et al. On the use of resource reservation for web services load balancing
Dykes et al. Taxonomy and design analysis for distributed web caching
Yu et al. Granary: A sharing oriented distributed storage system
JP5536742B2 (ja) P2p基盤のストリーミングサービスのサーバ使用量を調整するシステムおよび方法
Chaabouni et al. Reducing costs in the personal cloud: Is bittorrent a better bet?
Hecht et al. B-tracker: Improving load balancing and efficiency in distributed p2p trackers
Braun et al. Network coding enhanced browser based Peer-to-Peer streaming
Maia et al. Dataflasks: epidemic store for massive scale systems
Weissman et al. The Virtual Service Grid: an architecture for delivering high‐end network services
Nakai et al. Improving the QoS of web services via client-based load distribution
Oğuz et al. Stable, scalable, decentralized P2P file sharing with non-altruistic peers
Zhu et al. Stable and scalable universal swarms
US20080288447A1 (en) Methods and apparatus for improving peer efficiency
Zhu et al. Stable and scalable universal swarms
Fischer et al. Opportunistic data locality for end user data analysis
Song Segment-based proxy caching for distributed cooperative media content servers
KR101448586B1 (ko) 클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템
Huang et al. Improved grid information service using the idea of file-parted replication

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid