KR101343310B1 - 피어 투 피어 트래픽의 국소화 - Google Patents

피어 투 피어 트래픽의 국소화 Download PDF

Info

Publication number
KR101343310B1
KR101343310B1 KR1020127018116A KR20127018116A KR101343310B1 KR 101343310 B1 KR101343310 B1 KR 101343310B1 KR 1020127018116 A KR1020127018116 A KR 1020127018116A KR 20127018116 A KR20127018116 A KR 20127018116A KR 101343310 B1 KR101343310 B1 KR 101343310B1
Authority
KR
South Korea
Prior art keywords
peer
isp
peers
content
requester
Prior art date
Application number
KR1020127018116A
Other languages
English (en)
Other versions
KR20120104330A (ko
Inventor
모리츠 엠. 스테이너
이비카 리막
볼커 힐트
Original Assignee
알까뗄 루슨트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알까뗄 루슨트 filed Critical 알까뗄 루슨트
Publication of KR20120104330A publication Critical patent/KR20120104330A/ko
Application granted granted Critical
Publication of KR101343310B1 publication Critical patent/KR101343310B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

피어-투-피어 요청들을 처리하는 방법이 제공된다. 상기 방법은: 네트워크 요소(45)에서, 복수의 피어들(40, 42, 44)의 각각의 피어(40, 42, 44)에 대한 데이터베이스(52)에 피어 정보를 저장하는 단계(S106)로서, 상기 피어 정보는 상기 피어(40, 42, 44)와 연관되는 적어도 하나의 ISP(24, 26) 및 상기 피어(40, 42, 44)에 의해 포함된 콘텐트를 나타내는, 상기 저장 단계(S106), 요청자로부터 콘텐트에 대한 요청을 수신하는 단계(S112), 및 상기 요청자(40d)가 연관되는 상기 ISP(24) 및 상기 저장된 피어 정보에 기초하여 상기 콘텐트 요청자(40d)에게 응답을 전송하는 단계(S118, S128, S134)를 포함할 수 있다.

Description

피어 투 피어 트래픽의 국소화{LOCALIZATION OF PEER TO PEER TRAFFIC}
본 발명은 피어-투-피어 파일 공유 네트워크들 및 피어-투-피어 트래픽을 국소화하기 위한 방법에 관한 것이다.
몇몇 버전들의 피어-투-피어 파일 공유 네트워크들은 상기 네트워크에서 이용가능한 콘텐트의 모두를 리스트하기 위해 중앙 집중형 컴퓨터 또는 네트워크 요소들의 네트워크에 의존한다. 다른 피어-투-피어 파일 공유 네트워크들은 네트워크상에서 이용가능한 콘텐트의 모두를 리스트하기 위해 중앙 집중형 구성요소들에 의존하지 않는다. 오히려, 디렉토리는 상기 콘텐트 자체가 분배되는 것처럼 분배된다. 모든 참여 클라이언트들에 대한 디렉토리 데이터베이스를 분배하기 위해 사용된 기술은 때때로 분배된 해시 테이블(distributed hash table; DHT)로서 불리운다.
상기 네트워크가 중앙 집중형 네트워크인지 또는 DHT를 사용한 네트워크인지에 상관없이, 피어들은 콘텐트가 공유되는 피어의 구역성을 고려하지 않고 하나의 피어로부터 또 다른 피어로 콘텐트를 다운로드한다. 그 결과, 피어가 또 다른 피어의 컴퓨터상에 포함된 파일을 요청한다면, 상기 파일을 포함한 컴퓨터는 파일 전송 지연들뿐만 아니라, 상기 피어들 간의 링크가 하나 이상의 인터넷 서비스 제공자들(ISP들)을 통과해야 하기 때문에 증가된 비용 또한 초래하는 상기 파일을 요청한 피어로부터 멀리 떨어져 위치될 수 있다. 따라서, 이러한 피어-투-피어 유형의 접속들은 ISP들을 함께 링크하는 수송 링크들 상에 대량의 트래픽을 생성할 수 있고, 그에 의해 네트워크 운영자들에 대한 비용들을 증가시킬 수 있다.
예를 들면, 인기있는 콘텐트 파일이 존재하며 컴퓨터 상에 이러한 파일을 가지는 10,000명의 사용자들이 전세계에 존재한다고 가정하자. 이들 10,000명의 사용자들 중 50명이 주어진 ISP "A" 내에 위치될 수 있다고 가정하자. ISP "A" 내의 피어가 상기 인기있는 파일에 관심이 있고 상기 파일을 다운로드하기 위해 50개의 랜덤 피어들을 위한 중앙 집중형 또는 DHT 유형 디렉토리인, 상기 디렉토리를 요청한다고 가정하자. 이러한 경우, ISP "A" 내에서 단일 피어를 발견하는 0.5%의 가능성이 존재한다. 상기 파일을 가진 50개의 피어들이 상기 요청 피어에 대해 랜덤하게 식별된다면, 제로에 가까운 가능성이 존재하며, 상기 모든 50개의 피어들은 ISP "A" 내에 있을 것이다.
이러한 시나리오에서, 상기 파일을 요청하는 피어와 동일한 ISP 내에 충분한 양의 피어들이 존재하는 동안, 상기 가능성들은 상기 피어가 상기 요청 피어의 ISP 밖에 위치되는 피어로부터 상기 파일을 결국 수신할 것이라는 것이다. 이것은 ISP들 사이의 수송 링크 상에 불필요한 트래픽을 요구한다.
본 발명의 실시예들은 피어-투-피어 요청들을 처리하기 위한 방법들 및 장치들에 관한 것이다.
일 실시예에서, 상기 방법은: 네트워크 요소에서, 복수의 피어들의 각각의 피어에 대한 데이터베이스에 피어 정보를 저장하는 단계를 포함한다. 상기 피어 정보는 상기 피어와 연관된 적어도 하나의 ISP 및 상기 피어에 의해 포함된 콘텐트를 나타낸다. 상기 방법은 요청자로부터 콘텐트에 대한 요청을 수신하는 단계, 및 상기 요청자가 연관되는 상기 ISP 및 상기 저장된 피어 정보에 기초하여 상기 콘텐트 요청자에게 응답을 전송하는 단계를 더 포함한다.
또 다른 실시예는 마이크로프로세서, 상기 마이크로프로세서에 동작가능하게 접속된 데이터 베이스, 및 상기 마이크로프로세서 및 데이터베이스를 상기 인터넷에 동작가능하게 접속하도록 구성된 인터넷으로의 접속을 가진 컴퓨터를 포함한다. 또한, 상기 컴퓨터는 복수의 피어들의 각각의 피어에 대한 데이터베이스에 피어 정보를 저장하도록 구성된다. 상기 피어 정보는 상기 피어와 연관된 적어도 하나의 ISP 및 상기 피어에 의해 포함된 콘텐트를 나타낸다. 상기 컴퓨터는 또한 요청자로부터 콘텐트에 대한 요청을 수신하며, 상기 요청자가 연관되는 상기 ISP 및 상기 저장된 피어 정보에 기초하여 상기 콘텐트 요청자에게 응답을 전송하도록 구성된다.
또 다른 실시예는 콘텐트에 대한 요청을 검출하는 단계를 포함한 피어-투-피어 요청들을 처리하는 방법을 포함한다. 상기 방법은 요청자와 연관된 ISP를 결정하는 단계, 상기 요청자와 연관된 ISP가 관심 ISP인지 여부를 결정하는 단계, 상기 요청자와 연관된 ISP가 관심 ISP가 아니라면 관심 ISP와 연관된 피어들로의 상기 요청을 차단하는 단계를 더 포함한다. 상기 방법은 상기 요청된 콘텐트를 가지며 상기 요청자와 연관된 ISP가 관심 ISP가 아니라면 관심 ISP와 연관되지 않은 피어들에 관한 정보를 전송함으로써 상기 요청에 응답하는 단계를 더 포함한다.
본 발명은 단지 예시를 위해 제공되며, 따라서 본 발명을 제한하지 않는, 이하에 제공된 상세한 설명 및 첨부한 도면들로부터 보다 완전히 이해될 것이다.
도 1은 본 발명의 일 실시예에 따른 중앙 집중형 구성요소들을 가진 피어-투-피어 파일 공유 네트워크의 개략도.
도 2는 본 발명의 일 실시예에 따른 DHT를 이용한 피어-투-피어 파일 공유 네트워크의 개략도.
도 3은 파일 공유 네트워크와 통신하는 컴퓨터의 다양한 구성요소들을 도시하는 본 발명의 일 실시예에 따른 상기 파일 공유 네트워크의 개략도.
도 4는 일 실시예에 따라 네트워크에서의 피어에 의해 콘텐트의 발표에 응답하여 데이터베이스의 피어 정보를 수집하기 위한 방법의 흐름도.
도 5는 일 실시예에 따라 콘텐트에 대한 요청을 처리하는 방법의 흐름도.
도 6은 파일 공유 네트워크에서의 피어들에 의한 콘텐트의 발표들 및 요청들을 나타내는 개략도.
이제 다양한 예시적인 실시예들이 몇몇 예시적인 실시예들이 도시되는 첨부한 도면들을 참조하여 보다 완전히 설명될 것이다.
예시적인 실시예들을 보다 상세히 논의하기 전에, 몇몇 예시적인 실시예들은 흐름도들로서 서술된 프로세스들 또는 방법들로서 설명된다는 것이 주의되어야 한다. 상기 흐름도들이 순차적인 프로세스들로서 동작을 설명하지만, 많은 상기 동작들이 병렬로, 동시 발생적으로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재배열될 수 있다. 상기 프로세스들은 그것들의 동작들이 완료될 때 종료될 수 있지만, 또한 상기 도면에 포함되지 않는 부가적인 단계들을 가질 수 있다. 상기 프로세스들은 방법들, 함수들, 프로시저들, 서브루틴들, 서브프로그램들 등에 대응할 수 있다.
그 일부가 흐름도들에 의해 도시되는 이하에 논의된 방법들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어들, 또는 그것들의 임의의 조합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현될 때, 필요한 작업들을 수행하기 위해 프로그램 코드 또는 코드 세그먼트들이 저장 매체와 같은 기계 또는 컴퓨터 판독가능한 매체에 저장될 수 있다. 프로세서(들)는 상기 필요한 작업들을 수행할 수 있다.
여기에 개시된 특정의 구조적 및 기능적 세부사항들은 단지 본 발명의 예시적인 실시예들을 설명하기 위해 나타낸다. 그러나, 본 발명은 많은 대안적인 형태들로 구체화될 수 있으며, 단지 여기에 개진된 실시예들에 제한되는 것으로서 해석되어서는 안된다.
따라서, 본 발명의 예시적인 실시예들이 다양한 변경들 및 대안적인 형태들을 할 수 있는 데 반하여, 그 실시예들은 도면들에서 예로서 도시되며 여기에 상세히 설명될 것이다. 그러나, 그것은 개시된 특정 형태들로 본 발명의 예시적인 실시예들을 제한하기 위한 의도가 아니며, 반대로, 본 발명의 예시적인 실시예들은 본 발명의 범위 내에 속하는 모든 변경들, 등가물들, 및 대안들을 커버하는 것이다. 여기에 사용된 바와 같이, 용어 "및/또는"은 연관된 열거된 아이템들 중 하나 이상의 임의의 및 모든 조합들을 포함한다.
여기에 사용된 용어는 특정 실시예들만을 설명하기 위한 것이며 본 발명의 예시적인 실시예들을 제한하기 위해 의도되지 않는다. 여기에 사용된 바와 같이, 단수 형태들("a", "an" 및 "the")은 문맥이 달리 명확하게 표시하지 않는다면, 복수의 형태들을 또한 포함하도록 의도된다. 상기 용어들 "포함하다", "포함하는", "포함시키다" 및/또는 "포함시키는"은 여기에 사용될 때, 서술된 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 구성요소들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 구성요소들 및/또는 그것의 그룹들의 존재 또는 부가를 배제하지 않는다는 것이 또한 이해될 것이다.
몇몇 대안적인 구현들에서, 논의된 상기 기능들/동작들은 상기 도면들에서 논의된 순서 밖으로 발생할 수 있다는 것이 또한 주의되어야 한다. 예를 들면, 연속하여 도시된 두 개의 도면들은 사실상 실질적으로 동시에 실행될 수 있거나 또는 때때로 수반된 기능/동작들에 의존하여, 역순으로 실행될 수 있다.
달리 정의되지 않는다면, 여기에 사용된 모든 용어들(기술적 및 과학적 용어들을 포함하는)은 예시적인 실시예들이 속하는 이 기술분야의 숙련자에 의해 흔히 이해되는 것과 동일한 의미를 가진다. 그것은 또한 용어들, 예로서 흔히 사용되는 사전들에서 정의된 것들이 관련 기술의 문맥에서 그것들의 의미와 일관되는 의미를 가지는 것으로서 해석되어야 하며 여기에 명시적으로 그렇게 정의되지 않는다면, 이상화된 또는 매우 공식적인 의미로 해석되지 않을 것임이 또한 이해될 것이다.
본 발명의 일부들 및 대응하는 상세한 설명은 소프트웨어, 또는 컴퓨터 메모리 내에서의 데이터 비트들 상의 동작에 대한 알고리즘들 및 심볼 표현들에 관하여 제공된다. 이들 설명들 및 표현들은 이 기술분야의 숙련자들이 이 기술분야의 다른 숙련자들에게 그것들의 작업의 요지를 효과적으로 전달하는 것들이다. 상기 용어가 여기에서 사용된 바와 같이, 그리고 일반적으로 사용되는 바와 같이, 알고리즘은 원하는 결과를 이끄는 단계들의 일관성 있는 시퀀스인 것으로 인식된다. 단계들은 물리적 양들의 물리적 조작들을 요구하는 것이다. 보통, 필수적인 것은 아니지만, 이들 양들은 저장되고, 전송되고, 조합되고, 비교되며, 그 외 조작될 수 있는 광, 전기, 또는 자기 신호들의 형태를 취한다. 원칙적으로 공통 사용의 이유들을 위해, 때때로, 이들 신호들을 비트들, 값들, 요소들, 심볼들, 캐릭터들, 용어들, 숫자들 등으로서 나타내는 것이 편리하다는 것이 증명되었다.
다음 설명에서, 예시적인 실시예들은 동작들을 참조하여 설명될 것이며, 프로그램 모듈들 또는 기능적 프로세스들로서 구현될 수 있는 동작들의 심볼 표현들은 특정 작업들을 수행하거나 또는 특정 추상 데이터 유형들을 실행하며 기존의 네트워크 요소들 또는 제어 노드들(예로서, 기지국 또는 노드 B에 위치된 스케줄러)에서의 기존의 하드웨어를 사용하여 구현될 수 있는 루틴들, 프로그램들, 오브젝트들, 구성요소들, 데이터 구조들 등을 포함한다. 이러한 기존의 하드웨어는 하나 이상의 중앙 처리 유닛들(CPU들), 디지털 신호 프로세서들(DSP들), 애플리케이션-특정-집적-회로들, 필드 프로그램가능한 게이트 어레이들(FPGA들) 컴퓨터들 등을 포함할 수 있다.
그런, 이들 및 유사한 용어들 모두는 적절한 물리 양들과 연관되는 것이며 단지 이들 양들에 적용된 편리한 라벨들임을 명심해야 한다. 달리 특정하게 서술되지 않는다면 또는 상기 논의로부터 명백한 바와 같이, "처리하는" 또는 "계산하는" 또는 "산출하는" 또는 "디스플레이"하는 것을 "결정하는" 등과 같은 용어들은 상기 컴퓨터 시스템들의 레지스터들 및 메모리들 내에 물리적, 전자적 양들로서 표현된 데이터를 상기 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장장치, 송신 또는 디스플레이 디바이스들 내의 물리적 양들로서 유사하게 표현된 다른 데이터로 조작 및 변형하는 컴퓨터 시스템의 동작들 및 프로세스들, 또한 유사한 전자 컴퓨팅 디바이스를 나타낸다.
예시적인 실시예들은 이제 전체에 걸쳐 유사한 부분들을 참조하는 유사한 번호들을 갖고 설명될 것이다.
도 1은 중앙 집중형 피어-투-피어 시스템(10)의 개략도를 도시한다. 상기 중앙 집중형 피어-투-피어 시스템(10)은 피어들(12) 및 중앙 컴퓨터(14)로서 또한 불리우는 컴퓨터들(12)을 포함한다. 상기 피어들(12)은 접속들(16)을 통해 상기 중앙 컴퓨터(14)에 접속된다. 상기 접속들(16)은 무선 접속, 인터넷 접속, 이더넷 접속과 같은 임의의 적절한 접속 또는 임의의 적절한 접속 하드웨어 또는 방법들의 조합일 수 있다. 여러 개의 예들이 열거되지만, 본 발명에 따른 실시예들은 상기 열거된 이들 예에 제한되지 않는다.
상기 피어-투-피어 시스템(10)은 단지 4개의 피어들(12) 및 단일 중앙 컴퓨터(14)만을 보여주지만, 피어-투-피어 시스템은 도시된 피어들(12) 및 단일 중앙 컴퓨터(14)의 중앙 네트워크 구성요소의 수에 제한되지 않는다. 사실상, 상기 피어-투-피어 시스템(10)은 더 많은 피어들(12) 및 많은 컴퓨터들을 포함할 수 있으며, 서버들 또는 다른 구성요소들이 도시된 상기 중앙 컴퓨터(14)의 태스크들을 달성할 수 있다.
도 1에 도시된 바와 같이 중앙 집중형 피어-투-피어 시스템(10)에서, 피어(12)가 콘텐트 또는 파일을 요청할 때, 상기 요청은 상기 접속(16)을 통해 상기 중앙 집중형 컴퓨터(14)에 전송된다. 요청들을 전송하는 것은 피어-투-피어 네트워크들에 잘 알려져 있다. 상기 요청의 전송은 임의의 적절한 방식으로 본 발명에 따라 행해질 수 있다.
상기 중앙 집중형 컴퓨터(14)는 어떤 피어들(12)이 상기 요청된 콘텐트를 가지는지를 결정하며 어떤 피어들(12)이 상기 요청된 콘텐트를 가지는지에 대한 정보로 상기 요청에 응답할 수 있다. 상기 중앙 집중형 컴퓨터(14)는 상기 요청된 콘텐트를 가진 여러 개의 피어들(12)을 식별할 수 있으며 다수의 식별된 피어들(12)에 관한 정보로 응답할 수 있다. 일단 피어(12) 또는 피어들(12)이 식별된다면, 상기 요청 피어는 그 후 상기 식별된 피어들 중 하나로부터 상기 요청된 파일을 수신할 수 있다.
본 발명의 몇몇 실시예들에 따르면, 상기 중앙 집중형 컴퓨터(14)는 수송 링크들을 통해 송신되는 대량의 데이터를 감소시키기 위해 상기 요청된 콘텐트를 포함할 수 있는 많은 피어들(12) 중 어떤 피어들(12)이 상기 요청 피어에 대해 식별되어야 하는지에 대해 결정할 수 있다. 이들 결정들은 피어 투 피어 트래픽을 국소화하기 위해 이루어질 수 있다. 이러한 결정은 이하에서 나중에 보다 상세히 설명될 것이다.
도 2는 본 발명의 또 다른 실시예에 따른 피어-투-피어 네트워크(18)의 개략도이다. 도 2에 도시된 상기 피어-투-피어 네트워크(18)에서는, 중앙 컴퓨터(14)가 존재하지 않는다. 도시되지 않았지만, 피어들(40)은 접속들에 의해 서로에 접속된다는 것이 이해되어야 한다.
도 2는 피어-투-피어 파일 공유 네트워크(18)를 도시한다. 도 2의 상기 네트워크(18)는 상기 네트워크 콘텐트들을 열거하기 위해 중앙 집중형 컴퓨터들(14)에 의존하지 않지만, 오히려 모든 참여 클라이언트들로 디렉토리 데이터베이스를 분배하기 위해 분배된 해시 테이블(DHT)(19)을 사용한다. 상기 DHT(19)는 상기 네트워크(18)의 모든 양상들을 함께 접속하는 파선으로서 도 2에 표현된다. 상기 파일 공유 네트워크(18)는 제 1 인터넷 서비스 제공자(ISP)(24) 및 제 2 ISP(26)를 포함한다.
또한 피어들 또는 사용자들(40)로서 불리울 수 있는 다양한 클라이언트들이 상기 ISP(24) 내에 있다. 상기 다양한 클라이언트들, 피어들 또는 사용자들은 참조 번호 뒤에 글자를 부가함으로써 동일한 ISP 상에서의 다른 피어들 가운데 구별될 것이다. 다양한 피어들(42)을 갖는 제 2 ISP(26)가 또한 도시된다. 상기 제 1 ISP(24) 및 상기 제 2 ISP(26)는 피어링 링크(28)를 통해 함께 접속될 수 있다. ISP(24) 및 ISP(26)는 종종 서로 통신하며, 그러므로 상기 피어링 링크(28)는 보다 높은 용량을 가질 수 있거나 또는 합의 또는 특별한 접속이 존재하지 않는 ISP와 상기 ISP(24)를 링크한 일반적인 수송 링크보다 낮은 비용으로 동작할 수 있다. 예를 들면, 두 개의 ISP들은 선호되는 처리를 서로에게 제공하고 선호된 ISP들로서 서로 인식하는 합의에 돌입할 수 있다. 이러한 합의는 서로 통신하는 상기 ISP들의 각각으로부터 피어들과 연관된 감소된 비용들을 허용할 수 있다.
상기 일반 인터넷(22)은 도 2에 도시된다. ISP(24)는 수송 링크(30)에 의해 일반 인터넷(22)에 접속될 수 있다. 수송 링크(30)는 또한 ISP(26)를 상기 일반 인터넷(22)에 접속할 수 있다. 상기 일반 인터넷(22) 상에 위치된 피어들은 참조 번호(44)로 식별된다. 상기 피어들(40, 42)과 같이, 일반 인터넷(22) 상의 상기 피어들(44)은 적어도 하나의 ISP와 연관된다. 그러나, 상기 일반 인터넷(22) 상의 상기 피어들(44)과 연관된 상기 ISP들은 도시되지 않는다.
상이한 ISP들(24, 26)과 연관된 피어들(40, 42, 44) 간의 파일들을 공유하기 위해 요구된 리소스들(예로서, 피어링 링크들(28) 또는 수송 링크들(30))의 양으로 인해, 가능할 때마다, 상이한 ISP들 상에 위치된 피어들 간에 파일들을 공유하기보다는 서로 특정 ISP 공유 파일들 내에 피어들을 가지는 것이 선호될 수 있다.
화살표들(32)은 상기 피어들(40a, 40b, 40d)이 서로 간에 파일들을 공유하는 파일 공유의 선호된 방식을 도시한다. 상기 피어들(40a, 40b, 40d)의 모두는 상기 ISP(24) 상에 위치된다. ISP(24) 내에 위치된 피어(40)가 또한 ISP(24) 상에 위치된 임의의 피어에 의해 포함되지 않는 파일을 요청하는 경우가 생기는 몇몇 상황들이 존재할 수 있다. 그러므로, 상기 요청된 콘텐트를 획득하기 위해, 상기 피어(40)는 ISP(26) 또는 상기 일반 인터넷(22) 중 하나에 위치된 사용자로부터 콘텐트를 획득해야 한다. ISP(24) 및 ISP(26)는 그것들을 접속하는 피어링 링크(28)를 가진다. 상기 피어링 링크(28)는 동작하기에 덜 비쌀 수 있고 및/또는 ISP(24) 및 ISP(26)의 운영자들 사이에 합의가 존재할 수 있다. 그러므로, 일반 인터넷(22) 상에 위치된 피어(44)로부터 콘텐트를 수신하는 것과 비교하여 피어(40d)가 그 자신의 ISP(24) 상에서 피어(40a 또는 40b)로부터 상기 콘텐트를 수신하지 않을 때 상기 ISP(24) 상에 위치된 상기 피어(40d)가 ISP(26) 상에 위치된 피어(42)로부터 콘텐트를 수신하게 하는 것이 바람직할 수 있다. 화살표(34)는 ISP(26) 상에 위치된 피어(42)로부터 콘텐트를 수신하는 상기 피어(42d)를 도시한다.
최소의 선호 상황에서, 피어(40d)는 ISP(24) 또는 ISP(26)에 위치된 임의의 사용자 또는 피어에 이용가능하지 않은 콘텐트를 요청한다. 그러므로, 콘텐트에 대한 이러한 요청을 충족시키기 위해, 상기 수송 링크(30)는 상기 일반 인터넷(22) 상에 위치된 사용자들(44)로부터 상기 콘텐트를 획득하기 위해 이용된다. 상기 화살표들(36)은 상기 피어(40d)가 상기 일반 인터넷(22) 상의 상기 피어들(44)로부터 상기 수송 링크를 통해 콘텐트를 획득하는 이러한 최소의 선호 상황을 도시한다.
도 3은 다양한 ISP들(24, 26), 일반 인터넷(22), 및 네트워크 구성요소들(또한 컴퓨터들 또는 네트워크 요소들로서 불리울 수 있다)을 도시한 개략도이다. 상기 네트워크 요소들(45)은 도 1에 대하여 상기에 도시되고 논의된 바와 같이 중앙집중식 구성요소(14)의 일부일 수 있다. 다른 피어-투-피어 파일 공유 네트워크들에서, 중앙 집중형 컴퓨터(14)를 가지기보다는, 오히려 DHT(19), 상기 컴퓨터 또는 컴퓨터 요소들(45)을 사용하는 이러한 파일 공유 네트워크(18)가 상기 파일 공유 네트워크 전체에 걸쳐 분배될 수 있다. 대안적으로, 상기 네트워크 요소들(45)은 단지 접속들(46)을 통해 다양한 ISP들(24, 26), 및 상기 일반 인터넷(22)과 접속될 수 있다.
본 발명에 따른 몇몇 실시예들에서, 상기 네트워크 요소들(45)은 하나 또는 다양한 위치들에서 컴퓨터 형태들로 수집된다. 도 3에 도시된 바와 같이, 상기 네트워크 요소들(45)은 접속들(50)을 통해 데이터베이스(52)에 접속된 하나 이상의 마이크로프로세서들(48)을 포함할 수 있다. 딥 패킷 검사(Deep Packet Inspection; DPI)를 통해 피어-투-피어 통신을 모니터링하도록 구성된 시스템들에서, 상기 네트워크 요소들(45)은 (DPI) 하드웨어(60)를 포함할 수 있다. 상기 DPI 하드웨어(60)는 DPI를 수행하기 위한 임의의 알려지고 이용가능한 하드웨어일 수 있다. 상기 네트워크 요소들(45)은 또한 접속들(55)을 통해 또 다른 데이터베이스(53)에 동작적으로 접속될 수 있다. 상기 데이터베이스(53)는 이하에 나중에 보다 상세히 설명된 바와 같이 어떤 ISP가 주어진 피어와 연관되는지와 같은 정보를 탐색가능하고 상기 네트워크 요소들(45)에 제공할 수 있다.
본 발명의 몇몇 실시예들에서, 상기 네트워크 요소들(45)은 상기 네트워크에 접속된 이미 존재하는 시스템 구성요소들일 수 있다. 기존의 네트워크 요소들(45)은 여기에 설명된 기능들을 수행하도록 프로그램될 수 있다. 예를 들면, 중앙 집중형 컴퓨터(14)를 가진 네트워크(10)(도 1에 도시된 바와 같이)는 여기에 설명된 상기 기능들을 수행하도록 프로그램될 수 있다. 또한 중앙 집중형 컴퓨터(14)를 사용하지 않는 다른 네트워크들(18)이 또한 여기에 설명된 기능을 수행하도록 프로그램된 기존의 네트워크 구성요소들을 가질 수 있다. 다른 실시예들에서, 상기 네트워크 요소들(45)은 상기 네트워크(기존의 네트워크 구성요소들이라기보다는)에 부가될 수 있으며 여기에 설명된 기능들을 수행하도록 구성될 수 있다.
본 발명의 실시예들에 따라 상기 네트워크들의 다양한 구성요소들에 의해 수행된 기능들 및 단계들이 이제 도 4 및 도 5에 도시된 흐름도들을 참조하여 설명될 것이다.
도 4는 일 실시예에 따른 데이터베이스에 피어 정보를 수집하기 위한 방법의 흐름도를 도시한다. 단계(S102)에서, 상기 네트워크 요소들(45)은 ISP들(24, 26) 또는 일반 인터넷(44)과 연관된 피어들(40, 42, 또는 44)에 의해 만들어진 콘텐트의 발표를 검출한다. 콘텐트 발표는 피어-투-피어 파일 공유 네트워크에서 공지도어 있다. 예를 들면, 피어는 상기 피어가 포함하고 공유하기를 원하는 콘텐트의 네트워크에 메시지를 주기적으로 전송하도록 구성될 수 있다. 상기 피어가 전송할 수 있는 정보는 상기 피어의 ID 또는 어드레스를 포함할 수 있다.
상기 네트워크 요소들(45)(도 3 참조)이 정보를 수집하고 콘텐트를 위한 상기 발표들 및 요청들을 모니터링할 수 있는 하나의 방법은 상기 요청된 콘텐트를 갖는 상기 피어들에 관한 메시지들의 DPI를 통하는 것이다. 또한, 상기 네트워크 운영자들은 또한 논리적 DPI를 사용할 수 있다. 논리적 DPI의 일 예는 다음 논문들에 설명된다: 2008년 유레컴 및 만하임 대학교, Moritz Steiner의 박사 논문인, 피어-투-피어 협력을 위한 구조들 및 알고리즘들(Structures and Algorithms for Peer-to-Peer Cooperation), 및 Steiner, En-Najjary, 및 Biersack의 2007년 10월, 컴퓨터 통신 리뷰, 37(5), 페이지 65 내지 69, KAD를 이용하는 방법: 가능한 사용들 및 오용들(Exploiting KAD: Possible Uses and Misuses). 이들 논문들은 그 전체가 참조들로서 여기에 포함된다.
상기 논리적 DPI는 상기 송신 또는 수신 클라이언트들(피어들(40, 42, 및 44))이 인터넷을 액세스하는 방법과 상관없이, 상기 네트워크 요소들(45)이 상기 DHT에서의 모든 메시지들을 보고 가로채도록 허용할 것이다. 상기 기술은 상기 네트워크 요소들(45)이 국소화된 트래픽을 가진 상기 ISP에서 물리적으로 존재할 필요없이 상기 네트워크에 접속된 임의의 ISP에 대한 트래픽을 (선호된 ISP들을 가진 피어들을 위한 정보를 제공함으로써) 국소화하도록 허용할 수 있다.
단계(S104)에서, 발표 피어가 연관되는 ISP가 결정된다. 상기 언급된 바와 같이, 콘텐트의 발표는 피어의 ID 또는 어드레스를 포함할 것이다. 피어의 상기 ID 또는 어드레스가 알려진다면, 상기 피어 ID 또는 어드레스와 연관된 상기 ISP는 쉽게 알려질 수 있다. 어떤 ISP가 주어진 피어 ID 또는 어드레스와 연관되는지를 나타낼 탐색가능한 상업적 데이터베이스들이 이용가능하다. 이러한 데이터베이스(53)(도 3에 도시된 바와 같이)는 어떤 ISP가 주어진 피어와 연관되는지를 검출하기 위해 이용될 수 있다.
일단 상기 발표 피어(announcing peer)의 ISP가 결정된다면, 상기 네트워크 요소들(45)은 단계(S105)에서 상기 발표 피어의 ISP가 관심 ISP인지 여부를 결정한다. 관심 ISP는 네트워크 운영자들에게 특별한 관심 ISP이다. 관심 ISP는 네트워크 운영자들에 의해 선택될 수 있다. 네트워크 운영자들은 관심 ISP들 가운데 있도록 하나 이상의 ISP를 선택할 수 있다. 예를 들면, 상기 네트워크 운영자들은 다양한 ISP들 사이의 특정 링크들의 사용, 특정 ISP들에 머무르기 위한 바이어스 트래픽을 감소시키기 위해, 또는 특정 ISP들 내에 또는 그 밖의 트래픽을 감소시키기를 원할 수 있다. 네트워크 운영자가 트래픽을 조작하기를 원할 수 있는 ISP는 관심 ISP로 고려될 수 있다.
발표자(announcer)가 관심 ISP와 연관되는지 여부를 결정하기 위해, 상기 네트워크 요소들은 상기 발표자의 식별된 ISP를 별개의 데이터베이스에 저장될 수 있거나 또는 네트워크 운영자들에 의해 프로그램된 규칙들의 세트에 의해 결정될 수 있는 관심 ISP들의 리스트와 비교할 수 있다.
상기 발표 피어의 ISP가 관심 ISP가 아니라면, 상기 네트워크 요소들(45)은 단계(S106)에서 상기 데이터베이스(52)에 상기 발표 피어에 관한 데이터를 저장한다. 단계(S106)에서, 상기 피어의 어드레스, 발표되는 콘텐트 및 상기 피어와 연관된 상기 ISP와 같은 정보가 저장될 수 있다.
예를 들면, 상기 데이터베이스(52)는 표 1에서 이하에 도시된 바와 같이 조직될 수 있다. 여기에서 이루어진 상기 설명은 예로서 이루어진다는 것이 이해되어야 한다. 상기 데이터베이스는 본 발명에 따른 임의의 수의 상이한 기술들에 의해 조직될 수 있다.
피어 어드레스 피어 어드레스와 연관된 ISP 피어 어드레스와 연관된 콘텐트 ISP가 관심 ISP인지 여부
상기 데이터베이스에서의 각각의 엔트리는 상이한 피어와 연관될 수 있다. 제 1 필드는 피어와 연관된 어드레스이다. 다음 필드는 상기 피어 어드레스와 연관된 ISP를 열거한다. 피어와 연관된 하나 이상의 ISP가 존재한다면, 상기 ISP들의 모두가 열거될 수 있다. 다음 필드는 상기 피어 어드레스와 연관된 콘텐트를 열거한다. 주어진 피어와 연관된 여러 개의 상이한 콘텐트 아이템들이 존재할 수 있다. 상기 피어의 콘텐트는 주기적으로 업데이트될 수 있다. 상기 피어 정보 엔트리는 상기 피어의 ISP가 관심 ISP인지 여부를 나타내는 마지막 필드를 포함할 수 있다.
상기 데이터베이스(52)가 상기 피어 어드레스에 의해 표시된 바와 같이 피어에 대한 엔트리를 포함한다면, 상기 엔트리는 발표 메시지에 기초하여 업데이트될 수 있다. 그렇지 않다면, 새로운 엔트리가 생성될 수 있다.
상기 네트워크 요소들(45)이 콘텐트를 발표하는 피어의 ISP가 관심 ISP임을 결정한다면, 단계(S108)에서, 상기 네트워크 요소들(45)은 상기 발표가 다른 피어들에게 분배되는 것을 차단한다. 상기 차단 기능은 상기 DPI 하드웨어(60)에 의해 관습적으로 행해질 수 있다. 논리적 DPI를 사용한 시스템들에서, 상기 발표가 다른 피어들에게 분배되는 것을 차단하는 하나의 예시적인 방법은 상기 인용된 논문(KAD 이용: 가능한 사용들 및 오용들)에서 논의된다. 상기 콘텐트의 발표를 차단하는 것 외에, 상기 콘텐트를 발표하는 피어의 ISP가 관심 ISP인 경우, 상기 네트워크 요소들(45)은 상술된 바와 같이 단계(S106)에서 상기 발표 피어에 관한 정보를 저장할 것이다.
도 5는 일 실시예에 따라 콘텐트 요청을 처리하는 방법의 흐름도를 도시한다. 단계(S112)에서, 네트워크 요소들(45)은 상기 네트워크상의 피어로부터 콘텐트에 대한 요청을 모니터링하고 검출한다. 콘텐트를 요청하는 것은 DHT를 사용한 피어-투-피어 파일 공유 네트워크들에 잘 알려져 있다. 예를 들면, 요청 피어는 요청을 콘텐트를 위한 또 다른 피어에 전송할 것이다. 수신 피어가 상기 요청된 콘텐트를 갖는다면, 상기 수신 피어는 상기 수신 피어가 상기 콘텐트를 포함한다는 것을 나타내기 위해 상기 요청을 업데이트할 것이며, 상기 수신 피어는 업데이트된 상기 요청을 또 다른 피어에 포워딩할 것이다. 상기 수신 피어가 상기 요청된 콘텐트를 가지고 있지 않다면, 상기 수신 피어는 상기 요청을 또 다른 피어로 포워딩할 것이다. 상기 요청은 상기 요청이 특정된 수의 피어들에 관한 정보를 포함할 때까지 포워딩될 수 있다. 상기 특정된 수는 상기 요청자, 네트워크 운영자, 또는 다른 엔티티에 의해 선택될 수 있다. 현재 피어-투-피어 시스템들에서, 이러한 숫자는 종종 50이다. 일단 상기 특정된 수의 피어들에 관한 정보가 도달된다면, 이러한 정보는 상기 요청자로 되돌려 보내어진다. 그 후 상기 요청자는 상기 요청된 콘텐트를 위해 상기 피어들을 직접 접촉할 수 있다.
상기 요청이 모니터링될 수 있는 하나의 방법은 상기 요청된 콘텐트를 가진 상기 피어들에 관한 메시지들의 DPI를 통하는 것이다. 또한, 상기 네트워크 운영자들은 또한 상기 인용된 논문들에 설명된 바와 같이 논리적 DPI를 사용할 수 있다. 일단 요청이 검출된다면, 단계(S114)에서 네트워크 요소(45)는 상기 요청 피어와 연관된 상기 ISP를 결정한다. 이것은 상기 단계(S104)에서 설명된 상기 발표 피어와 연관된 상기 ISP를 결정하는 것과 유사한 방식으로 행해질 수 있다.
상기 요청 피어와 연관된 상기 ISP가 식별된다면, 상기 네트워크 요소들(45)은 단계(S116)에서 상기 요청자의 ISP가 관심 ISP인지를 결정할 수 있다. 이것은 도 4의 단계(S104)에 대하여 상술된 것과 유사한 방식으로 성취될 수 있다.
상기 요청 피어가 관심 ISP와 연관되지 않는다면, 단계(S117)에서, 상기 요청은 관심 ISP들과 연관된 피어들로부터 차단된다. DPI를 위한 하드웨어(60)를 사용한 시스템들에서, 이러한 차단은 상기 ISP의 가장자리에서 상기 하드웨어(60)에 의해 임의의 적절한 방식으로 또는 관습적으로 행해질 수 있다. 논리적 DPI를 사용한 시스템들에서, 상기 요청은 상기 인용된 논문들에서 설명된 바와 같이 차단될 수 있다.
상기 요청자의 ISP가 관심 ISP가 아닌 경우, 상기 네트워크 요소들(45)은 상기 요청된 콘텐트를 가진 피어들을 위해 상기 데이터베이스(52)를 검색함으로써 응답할 수 있지만, 관심 ISP와 연관되지 않는다. 상기 네트워크 요소들(45)은 그 후 단계(S118)에서 임의의 ISP가 식별된다면, 관심 ISP들과 연관되지 않은 피어들에 관한 정보로 상기 요청에 응답한다. 그 후 상기 프로세스는 종료한다.
상기 요청 피어가 관심 ISP와 연관된다면, 상기 네트워크 구성요소들 또는 네트워크 요소들(45)은 단계(S120)에서 상기 요청된 콘텐트를 가지며 관심 ISP와 연관되는 피어들을 위해 상기 데이터베이스(52)를 탐색할 것이다.
선택적으로, 단계(S122)에서, 상기 네트워크 요소들(45)은 상기 요청된 콘텐트를 가지며 관심 ISP와 연관되는 것으로서 식별된 피어들을 우선적으로 처리할 수 있다. 상기 ISP의 우선 순위는 상기 요청 피어의 ISP를 원하는 순서의 우선순위와 비교함으로써 결정될 수 있다. 예를 들면, 상기 요청 피어와 연관된 상기 ISP는 제 1 선호 ISP로 고려될 수 있으며 그 후 다른 ISP들이 상기 요청 피어의 ISP에 대하여 상이한 레벨들의 우선순위를 제공받을 수 있다. 예를 들면, 도 2에 도시된 바와 같이, 상기 요청자가 피어(40d)이면, 동일한 ISP(24)상의 피어들은 높은 우선 순위를 가질 것이다. 피어 ISP(26) 상의 피어들은 보다 낮은 우선 순위를 가질 것이다. 다른 실시예들에서, 특정 ISP는 상기 요청 피어와 연관된 상기 ISP에 상관없이 제 1 우선순위를 제공받을 수 있다. ISP들의 우선순위화는 시스템 운영자의 개별 요구들 및 요건들에 따라 시스템 운영자에 의해 설정될 수 있다.
본 발명에 따른 실시예들은 하나 또는 두 개의 선호된 ISP들에 제한되지 않지만, 비용들, 리소스들, 사용, 트래픽, 또는 ISP들 간의 링크들과 연관된 임의의 다른 인자들 또는 하나의 ISP가 또 다른 ISP보다 선호되게 할 수 있는 임의의 다른 인자에 의존하여 다양한 레벨들의 우선순위를 갖는 다수의 ISP들을 가질 수 있다. 이러한 우선순위 정보는 데이터베이스에 저장될 수 있거나 또는 규칙들의 세트를 통해 수립될 수 있다.
단계(S126)에서, 상기 요청된 콘텐트를 갖는 것으로서 식별되고 관심 ISP와 연관된 피어들의 수가 고려된다. 요청자가 콘텐트를 다운로드할 피어를 선택할 수 있게 하기 위해 상기 요청자에게 요청된 콘텐트를 가진 다수의 피어들을 식별하는 것이 바람직할 수 있다. 또한, 다수의 피어들을 제공하는 것은 상기 요청자가 특정 피어로부터 상기 요청된 콘텐트를 수신할 수 없는 경우에 상기 요청자가 줄어든 옵션들을 갖도록 허용할 것이다. 몇몇 실시예들에서, 임의의 하나의 요청에 응답하여 식별된 피어들의 최소 문턱 값이 존재할 수 있다. 요청자에게 식별된 피어들의 최소 수는 상기 요청자, 상기 ISP 운영자 또는 다른 시스템 운영자에 의해 선택될 수 있다. 몇몇 실시예들에서, 응답에 있어 식별된 피어들의 최소 수는 50이다. 상기 네트워크 요소 또는 컴퓨터(45)는 단지 상기 문턱 값을 충족시킬 뿐인 다수의 피어들을 상기 요청자에 대해 식별만 할 수 있다.
상기 네트워크 요소(45)는 단계(S126)에서 도시된 바와 같이 상기 요청된 콘텐트를 갖는 것으로 식별되고 관심 ISP와 연관된 피어들의 양이 문턱 값을 충족시키거나 또는 초과하는지 여부를 결정할 수 있다. 상기 요청된 콘텐트를 갖는 것으로서 식별되고 관심 ISP와 연관된 피어들의 수가 상기 문턱 값 아래이면, 상기 요청은 차단되지 않고 통상적인 피어-투-피어 요청들에 따라 전파할 것이다.
상기 요청을 만족시키기 위해 상기 요청이 유포되고 요구된 피어들의 수에 따라 상기 요청된 콘텐트를 가진 피어들에 관한 축적된 데이터를 갖는다면, 이들 피어들에 대한 정보를 포함한 응답이 상기 요청자에 전송될 것이다. 이러한 응답은 상기 네트워크 요소들(45)이 관심 ISP와 연관된 충분한 피어들을 식별하고 상기 요청을 만족시키기 위해 상기 요청된 콘텐트를 가질 수 없기 때문에 상기 일반 인터넷(22) 상의 피어(44)에 의해 전송될 것이다. 단계(S128)에서, 상기 네트워크 요소들(45)은 이러한 응답을 가로채고, 상기 응답을 변경하며 상기 변경된 응답을 전송할 것이다. 상기 응답은 관심 ISP와 연관되고 요청된 콘텐트를 갖는 피어들에 관한 정보를 부가하기 위해 변경될 수 있다. 상기 일반 인터넷(22)으로부터 대응하는 수의 피어들(44)에 관한 정보(달리 말하면, 관심 ISP와 연관되지 않은)가 상기 응답으로부터 제거될 것이다. 상기 응답을 변경하는 것은 상기 요청자가 사실상 관심 ISP와 연관된 피어로부터 상기 요청된 콘텐트를 획득할 확률을 증가시킬 것이다. 상기 응답의 변경은 상기 DPI 하드웨어(60)에 의해 성취될 수 있다. 논리적 DPI를 사용한 시스템들에서, 상기 응답은 상기 인용된 논문들에서 설명된 바와 같이 변경될 수 있다. 이러한 변경된 응답은 단계(S130)에서 전송된다.
단계(S126)로 되돌아가서, 상기 요청된 콘텐트를 가진 피어들의 양이 문턱 값을 초과한다면, 단계(S132)에서, 상기 네트워크 요소들(45)은 그것의 의도된 목적지로부터 상기 요청을 차단할 것이다. 상기 요청은 상기 네트워크 요소들(45)이 상기 요청에 응답하기에 충분한 정보를 가지기 때문에 차단된다. 상기 차단은 상기 DPI 하드웨어(60)에 의해 달성될 수 있다. 논리적 DPI를 사용한 시스템에서, 상기 요청은 상기 인용된 논문들에서 설명된 바와 같이 차단될 수 있다.
단계(S134)에서, 상기 네트워크 요소들(45)은 단지 상기 요청된 콘텐트를 가지며 관심 ISP와 연관된 피어들에 관한 정보만을 전송할 것이다. 몇몇 실시예들에서, 상기 문턱 값을 넘버링하는 것보다 많지 않은 피어들이 상기 요청자에게 식별될 것이다. 상기 식별된 피어들은 단계(S122)에서 수립된 우선순위에 의해 오더링되며, 보다 낮은 우선순위를 가진 식별된 피어들은 상기 식별된 보다 높은 우선순위 피어들의 수가 상기 문턱 값을 초과한다면 상기 요청자에게 전송되지 않을 수 있다. 이것은 네트워크 운영자들이 상기 요청자로 하여금 상기 요청된 콘텐트를 수신하기를 가장 좋아할 피어들이 상기 요청자에게 전송되는 것을 보장하도록 돕는다.
도 6은 피어들(40, 44)이 본 발명에 따라 어떻게 (1) 피어들에 의한 콘텐트의 발표들 및 (2) 피어들에 의한 콘텐트에 대한 요청들에 응답할 수 있는지에 대한 예들을 도시한다. (도 2에 도시된) 네트워크 요소들(45)은 게이트 유지 기능(56)을 수행하고 상기 네트워크(18)에 접속된 임의의 피어에 의한 콘텐트의 요청들 또는 그것에 대한 요청들 모두를 모니터링할 수 있다. 상기 네트워크 요소들(45)은 또한 어떤 ISP 또는 ISP들(하나 이상이 존재한다면)이 발표 또는 요청 피어와 연관되는지를 결정할 수 있다.
이루어진 콘텐트에 대한 요청들이 많을수록, 그리고 발표들이 많을수록, 상기 데이터베이스(52)는 상기 피어들이 그것들이 포함하는 어떤 콘텐트를 발표하는지, 및 이들 피어들이 어떤 ISP들과 연관되는지에 관한 데이터로 점차 가득찰 것이다. 시간이 지남에 따라, 상기 네트워크 요소들(45)은 상기 게이트 유지 기능(56)을 수행하기에 더욱 양호해질 것이다.
설명을 위해, 도 6에 도시된 다음 예들이 설명될 것이다. 상기 피어들(40a, 40b, 40c, 및 40d)이 모두 ISP(24)에 위치된다. ISP(24)는 관심 ISP이다. 일반 인터넷(22)은 여러 개의 피어들(44), 특히 피어(44e)를 포함한다. 상기 일반 인터넷(22) 상의 피어들은 관심 ISP와 연관되지 않는다. 피어들(40a, 40b)은 그것들이 콘텐트(x)를 가진다고 발표한다. 네트워크 요소들(45)(도 3에 도시된)에 의해 수행된 상기 게이트 유지 기능(56)은 상기 일반 인터넷(22)으로의 콘텐트(x)의 발표를 차단한다.
피어들(40a, 40b)에 의한 콘텐트의 발표의 차단은 상기 일반 인터넷(22) 상에 위치된 피어들(44)로 하여금 ISP(24) 상에 위치된 피어들(40a, 40b)이 콘텐트(x)를 가진다는 것을 알게 되는 것을 회피한다. 그러므로, 피어(44e)는 상기 콘텐트(x)가 수송 링크(30)를 통해 전송된다는 것을 피어들(40a, 40b)로부터 요청하지 않을 것이다(도 2에 도시된 바와 같이). 게이트 유지 기능(56)에 의해 피어들(40a, 40b)에 의해 콘텐트(x)의 발표를 차단하는 것은 상기 수송 링크(30)의 사용을 보존할 수 있다.
도 6에 도시된 바와 같이, ISP(24) 상에 위치된 피어(40c)는 콘텐트(y)를 요청한다. ISP(24) 상의 피어들(40) 중 어떤 것도 상기 콘텐트(y)를 포함하지 않기 때문에, 상기 게이트 유지 기능(56)은 콘텐트(y)에 대한 요청이 일반 인터넷(22)에 전달되도록 허용한다. 피어들(44f, 44g, 44h, 44i)(도시되지 않음)이 종래의 피어-투-피어 시스템에서와 같이 상기 콘텐트(y)를 갖는 것으로 식별되며 상기 게이트 유지 기능(56)은 피어들(44f, 44h, 44i)에 관한 정보가 상기 요청에 응답하여 피어(40c)에 전송되도록 허용한다. 피어(40c)는 그 후 상기 수송 링크(30)(도 2에 도시된)를 통해 피어들(44f, 44g, 44h) 중 하나 이상으로부터 상기 요청된 콘텐트를 다운로드한다.
도 6에 도시된 또 다른 예에서, 피어(40d)는 상기 콘텐트(x)를 요청한다. 상술된 바와 같이, 피어(40a, 40b)는 상기 콘텐트(x)를 포함한다. 그러나, ISP(24) 상에 위치된 단지 두 개의 피어들(40a, 40b)만이 상기 콘텐트(x)를 가진다. 두 개의 피어들은 상기 콘텐트를 신뢰성 있게 다운로드하거나 또는 상기 요청을 만족시키기에 충분하지 않은 것으로 간주될 수 있다. (도 6에 도시된 예를 위해, 상기 요청은 정보가 네 개의 피어들로부터 이용가능한 경우 만족된다. 다른 애플리케이션들에서, 요청은 네 개보다 더 많은 피어들에 관한 정보를 요구할 가능성이 높을 것이다.) 그러므로, 상기 게이트 유지 기능(45)은 상기 요청을 일반 인터넷(22)으로 전달하도록 허용한다. 피어들(44j, 44k, 44l, 44m)은 상기 요청된 콘텐트를 갖는 것으로서 식별되며, 정보는 통상적인 피어-투-피어 네트워크에 따라 피어(40d)로부터 콘텐트(x)를 위한 요청에 응답하여 전송된다.
그러나, ISP(24)(상기 요청 피어(40d)와 동일한 ISP)의 피어(40a 또는 40b)로부터 콘텐트(x)를 획득하는 것이 바람직할 수 있다. 그러므로, 상기 게이트 유지 기능(56)은 상기 요청 피어(40d)에 전송된 응답을 변경한다. 상기 게이트 유지 기능(56)은 상기 피어들 중 두 개(이 경우, 44j 및 44k)를 제거하며 그것들을 피어(40d)가 그 자신의 ISP(24) 내에 위치된 피어로부터 자신의 요청된 콘텐트(x)를 획득하는 확률을 증가시키기 위해 상기 요청된 콘텐트를 갖는 것으로 식별되고 ISP(24) 상에 위치된 피어들(40a, 40b)로 대체한다.
그러나, 상기 콘텐트(x)에 포함된 상기 ISP(24) 내에 위치된 충분한 피어들(40)을 가진다면, 상기 게이트 유지 기능(56)은 상기 ISP(24) 내에 위치된 피어들(40)에만 관한 정보를 가진 피어(40d)로부터 콘텐트(x)에 대한 요청에 응답할 수 있다.
본 발명에 따른 몇몇 실시예들에서, 임의의 하나의 요청에 응답하여 식별될 피어들의 최소 문턱 값이 존재할 수 있다. 상기 최소치는 상기 요청자, 상기 ISP 운영자 또는 다른 시스템 운영자에 의해 선택될 수 있다. 상기 게이트 유지 기능(56)은 그것이 상기 ISP(24) 상의 상기 요청된 콘텐트를 가진 피어들(40)을 소진할 때까지 피어들의 상기 최소 문턱 값을 식별하기 위해 상기 요청된 콘텐트를 가지며 ISP(24) 상에 위치된 피어들을 가진 콘텐트에 대한 요청에 대한 응답들을 채울 수 있다. 이 점에 대해서, 상기 게이트 유지 기능(56)은 그 후 상기 요청된 콘텐트를 가지며 상기 일반 인터넷(22) 상에 위치된 상기 피어들(44)을 이용할 수 있다. 대안적으로, 일단 상기 게이트 유지 기능(56)이 상기 요청자(40c)의 상기 ISP 상에 상기 요청된 콘텐트를 가지는 피어들을 소진한다면, 상기 게이트 유지 기능(56)은 그 후 상기 요청된 콘텐트 및 연관된 ISP(26)(도 2에 도시된 바와 같이)를 가진 피어들(42)로 상기 요청에 대한 응답을 채울 수 있다.
도 6에 도시된 바와 같이, 상기 일반 인터넷으로부터의 피어(44e)는 콘텐트(x)를 요청한다. 콘텐트(x)는 피어들(40a, 40b) 상에 포함되지만, 상기 네트워크 요소들(45)은 관심 있는 상기 ISP(24) 상에 피어들(40)로부터의 요청을 차단하기 위해 게이트 유지 기능(56)을 수행한다. 상기 네트워크 요소들(45)은 상기 관심 ISP(24) 상에 피어들(40)을 배제하는 응답을 갖고 상기 요청에 응답한다. 상기 네트워크 요소들(45)은 상기 관심 ISP와 연관되지 않는 피어들에 관한 정보로 응답한다. 이 경우에, 상기 네트워크 요소들(45)은 피어들(44j, 44k, 44l, 44m)에 관한 정보를 제공함으로써 응답한다.
따라서, 상기 예시적인 실시예들이 설명된 바와 같이, 동일한 것이 많은 방법들로 변경될 수 있다는 것이 명백할 것이다. 이러한 변형들은 개시된 주제로부터 벗어난 것으로 간주되지 않으며, 모든 이러한 변경들은 개시된 주제의 범위 내에 포함되는 것으로 의도된다.
10: 중앙 집중형 피어-투-피어 시스템 12 : 피어
14: 중앙 컴퓨터 16 : 접속
18: 피어-투-피어 네트워크 19 : 분배된 해시 테이블
22: 인터넷 24: 제 1 인터넷 서비스 제공자
26: 제 2 인터넷 서비스 제공자 30 : 수송 링크
32, 34, 36: 화살표 40a, 40b, 40c, 40d: 피어
42, 44: 피어 45: 네트워크 요소
46: 접속 48: 마이크로프로세서
50: 접속 52: 데이터베이스
55: 접속 56: 게이트 유지 기능
60: DPI 하드웨어

Claims (10)

  1. 피어-투-피어 요청들을 처리하는 방법에 있어서,
    발표 피어(announcing peer)로부터 발표 메시지(announce message)를 수신하는 단계로서, 상기 발표 메시지는 상기 발표 피어의 어드레스 및 상기 발표 피어에 의해 포함된 콘텐트를 포함하는, 상기 발표 메시지 수신 단계;
    제 1 데이터베이스를 이용하여 상기 발표 피어의 어드레스와 연관되는 인터넷 서비스 제공자(ISP)를 결정하는 단계로서, 상기 제 1 데이터베이스는 어드레스들 및 ISP들과 연관되는, 상기 인터넷 서비스 제공자 결정 단계;
    네트워크 요소에서, 제 2 데이터베이스에 피어 정보를 저장하는 단계로서, 상기 피어 정보는 상기 발표 피어와 연관되는 상기 ISP 및 상기 발표 피어에 의해 포함된 상기 콘텐트를 나타내는, 상기 피어 정보 저장 단계;
    요청자로부터 콘텐트에 대한 요청을 수신하는 단계로서, 상기 콘텐트에 대한 요청은 상기 요청자의 어드레스 및 상기 요청자에 의해 요청되는 콘텐트를 포함하는, 상기 콘텐트에 대한 요청 수신 단계;
    상기 제 1 데이터베이스를 이용하여 상기 요청자의 상기 어드레스와 연관되는 ISP를 결정하는 단계;
    상기 제 2 데이터베이스에 의해 나타내어지는 상기 요청된 콘텐트를 갖는 상기 결정된 ISP 내의 피어들의 수, 상기 요청된 콘텐트, 및 상기 요청자의 상기 어드레스와 연관되는 상기 결정된 ISP에 기초하여 상기 요청자에 대한 응답을 형성하는 단계; 및
    상기 요청자에게 상기 응답을 전송하는 단계를 포함하는, 피어-투-피어 요청들을 처리하는 방법.
  2. 제 1 항에 있어서,
    상기 제 2 데이터베이스에서 피어가 상기 요청된 콘텐트를 포함하는 것으로 발견된다면, 상기 응답의 일부로서, 상기 네트워크 요소는 상기 요청자에 대한 피어를 식별하고, 상기 식별된 피어는 상기 요청자와 연관되는 ISP와 동일한 ISP인 ISP와 연관되는, 피어-투-피어 요청들을 처리하는 방법.
  3. 제 2 항에 있어서,
    상기 제 2 데이터베이스에서 피어가 상기 요청된 콘텐트를 포함하는 것으로 발견되고 상기 요청자와 연관되는 상기 ISP와 동일한 ISP를 가진 식별된 피어들의 수가 문턱 값 아래이면, 상기 응답의 일부로서, 상기 네트워크 요소는 상기 요청자와 연관되는 상기 ISP와는 상이한 ISP인 ISP와 연관되는 피어를 상기 요청자에 대해 식별하며, 상기 식별된 피어와 연관되는 ISP 및 상기 요청자와 연관되는 ISP는 유리한 관계를 가지는, 피어-투-피어 요청들을 처리하는 방법.
  4. 제 1 항에 있어서,
    관심 ISP와 연관되는 피어에 의해 콘텐트의 발표를 차단하는 단계를 더 포함하는, 피어-투-피어 요청들을 처리하는 방법.
  5. 제 1 항에 있어서,
    상기 발표 피어가 어떤 콘텐트를 포함하는지에 관해 피어로부터의 발표를 모니터링하는 단계; 및
    상기 발표 피어, 상기 콘텐트, 및 상기 발표 피어의 ISP에 관한 데이터를 상기 제 2 데이터베이스에 저장하는 단계를 더 포함하는, 피어-투-피어 요청들을 처리하는 방법.
  6. 피어-투-피어 요청들을 처리하는 방법에 있어서,
    요청자로부터의 콘텐트에 대한 요청을 검출하는 단계로서, 상기 요청은 상기 요청자의 어드레스 및 상기 요청된 콘텐트를 포함하는, 상기 콘텐트에 대한 요청 검출 단계;
    제 1 데이터베이스를 이용하여 상기 요청자의 어드레스와 연관되는 인터넷 서비스 제공자(ISP)를 결정하는 단계로서, 상기 제 1 데이터베이스는 어드레스들 및 ISP들과 연관되는, 상기 인터넷 서비스 제공자 결정 단계;
    어드레스에서 이용가능한 콘텐트를 나타내는 제 2 데이터베이스에 액세스함으로써 상기 요청자와 연관되는 상기 ISP가 관심 ISP인지 여부 및 상기 어드레스와 연관되는 상기 ISP가 관심 있는 것인지 여부를 결정하는 단계;
    상기 요청자와 연관되는 상기 ISP가 관심 ISP가 아니라면, 상기 제 2 데이터베이스에 액세스함으로써 상기 요청된 콘텐트를 가지며 상기 관심 ISP가 아닌 IPS들을 결정하는 단계;
    상기 요청자와 연관되는 상기 ISP가 관심 ISP가 아니라면, 상기 제 2 데이터베이스에 의해 나타내어지는 관심 ISP와 연관되는 피어들에 대한 상기 요청을 차단하는 단계; 및
    상기 요청자와 연관되는 상기 ISP가 관심 ISP가 아니라면, 상기 제 2 데이터베이스에 액세스하여 상기 요청된 콘텐트를 가지며 관심 ISP와 연관되지 않은 피어들에 관한 정보를 전송함으로써 상기 요청에 응답하는 단계를 포함하는, 피어-투-피어 요청들을 처리하는 방법.
  7. 제 6 항에 있어서,
    상기 요청자와 연관되는 상기 ISP가 관심 ISP이면,
    상기 요청된 콘텐트를 가지며 관심 ISP와 연관되는 피어들을 상기 제 2 데이터베이스에서 식별하는 단계;
    상기 식별 단계에서 식별된 피어들의 수가 문턱 값 이상인지를 결정하는 단계;
    상기 식별 단계에서 식별된 피어들의 수가 문턱 값 이상이면 의도된 목적지로부터 상기 요청을 차단하는 단계; 및
    상기 식별 단계에서 식별된 피어들에 관한 정보로 응답하는 단계를 더 포함하는, 피어-투-피어 요청들을 처리하는 방법.
  8. 제 7 항에 있어서,
    상기 식별 단계에서 식별된 피어들의 우선순위를 정하는 단계를 더 포함하는, 피어-투-피어 요청들을 처리하는 방법.
  9. 제 8 항에 있어서,
    상기 식별 단계에서 식별된 피어들의 수가 상기 문턱 값을 초과한다면 상기 식별 단계에서 식별된 가장 높은 우선순위 피어들의 문턱 값에 관한 정보를 전송하는 단계를 더 포함하는, 피어-투-피어 요청들을 처리하는 방법.
  10. 제 7 항에 있어서,
    상기 식별 단계에서 식별된 피어들의 수가 상기 문턱 값 미만이면,
    상기 요청에 대한 응답을 가로채는 단계;
    상기 식별 단계에서 식별된 피어들에 관한 정보를 부가함으로써 상기 응답을 변경하는 단계, 및 관심 ISP와 연관되지 않은 피어들에 관한 응답으로부터의 정보를 제거하는 단계; 및
    상기 변경된 응답을 전송하는 단계를 더 포함하는, 피어-투-피어 요청들을 처리하는 방법.
KR1020127018116A 2009-12-17 2010-12-01 피어 투 피어 트래픽의 국소화 KR101343310B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/640,833 US8504682B2 (en) 2009-12-17 2009-12-17 Localization of peer to peer traffic
US12/640,833 2009-12-17
PCT/US2010/058492 WO2011075312A1 (en) 2009-12-17 2010-12-01 Localization of peer to peer traffic

Publications (2)

Publication Number Publication Date
KR20120104330A KR20120104330A (ko) 2012-09-20
KR101343310B1 true KR101343310B1 (ko) 2013-12-20

Family

ID=43466374

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127018116A KR101343310B1 (ko) 2009-12-17 2010-12-01 피어 투 피어 트래픽의 국소화

Country Status (6)

Country Link
US (2) US8504682B2 (ko)
EP (1) EP2514173B1 (ko)
JP (1) JP5536900B2 (ko)
KR (1) KR101343310B1 (ko)
CN (1) CN102668512B (ko)
WO (1) WO2011075312A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352604B2 (en) * 2010-10-28 2013-01-08 Symbol Technologies, Inc. Distributed propagation of data in a wireless communication network
US20120185595A1 (en) * 2011-01-17 2012-07-19 Alcatel-Lucent Usa Inc. Traffic Localization Mechanism For Distributed Hash Table Based Peer-To-Peer Networks
US20130073671A1 (en) * 2011-09-15 2013-03-21 Vinayak Nagpal Offloading traffic to device-to-device communications
US9635102B2 (en) * 2013-03-12 2017-04-25 Google Inc. Broker module for managing and monitoring resources between internet service providers
US9723027B2 (en) 2015-11-10 2017-08-01 Sonicwall Inc. Firewall informed by web server security policy identifying authorized resources and hosts
US9860259B2 (en) * 2015-12-10 2018-01-02 Sonicwall Us Holdings Inc. Reassembly free deep packet inspection for peer to peer networks
US10587496B2 (en) 2017-02-10 2020-03-10 Microsoft Technology Licensing, Llc Localizing traffic using network topology

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070064702A1 (en) * 2005-09-20 2007-03-22 Anthony Bates Modifying operation of peer-to-peer networks based on integrating network routing information

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5898839A (en) * 1997-03-17 1999-04-27 Geonet Limited, L.P. System using signaling channel to transmit internet connection request to internet service provider server for initiating and internet session
US7398301B2 (en) * 2001-08-04 2008-07-08 Kontiki, Inc. Method and apparatus for facilitating distributed delivery of content across a computer network
US20040203751A1 (en) * 2002-10-21 2004-10-14 Excino Technologies Inc. Peer-to-peer (P2P) collaborative system for service aggregation, rapid service provisioning and service roaming
US20090083414A1 (en) * 2005-06-06 2009-03-26 Netbarrage Ltd. Method and System for Monitoring and Analyzing Peer-to-Peer Users' Activities over a Data Network
EP1802079B1 (en) * 2005-12-22 2010-03-31 Microsoft Corporation Connection management in peer-to-peer content distribution clouds
DE602006013405D1 (de) * 2006-02-21 2010-05-20 Microsoft Corp Topologieverwaltung in Peer-to-peer Datenverteilungswolken
WO2008057509A2 (en) * 2006-11-07 2008-05-15 Tiversa, Inc. System and method for enhanced experience with a peer to peer network
WO2008109166A1 (en) 2007-03-06 2008-09-12 Redback Networks Inc. Peer-to-peer, gaming, and application traffic detection & treatment
EP2086206A1 (en) 2008-01-31 2009-08-05 Alcatel Lucent System for operating a peer-to-peer network taking into account access network subscriber information
US8015281B2 (en) * 2008-04-21 2011-09-06 Microsoft Corporation Dynamic server flow control in a hybrid peer-to-peer network
US20110282945A1 (en) * 2009-02-06 2011-11-17 Telefonaktiebolaget L M Ericsson (Publ) Network aware peer to peer
TWI408936B (zh) * 2009-09-02 2013-09-11 Ind Tech Res Inst 網路穿透方法及網路通訊系統

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070064702A1 (en) * 2005-09-20 2007-03-22 Anthony Bates Modifying operation of peer-to-peer networks based on integrating network routing information

Also Published As

Publication number Publication date
WO2011075312A1 (en) 2011-06-23
CN102668512B (zh) 2015-09-30
KR20120104330A (ko) 2012-09-20
EP2514173A1 (en) 2012-10-24
EP2514173B1 (en) 2019-07-24
US20110153802A1 (en) 2011-06-23
JP2013514734A (ja) 2013-04-25
CN102668512A (zh) 2012-09-12
US8504682B2 (en) 2013-08-06
US8645534B2 (en) 2014-02-04
US20130166739A1 (en) 2013-06-27
JP5536900B2 (ja) 2014-07-02

Similar Documents

Publication Publication Date Title
KR101343310B1 (ko) 피어 투 피어 트래픽의 국소화
EP2813060B1 (en) A method for collaborative caching for content-oriented networks
EP1468541B1 (en) Method and system for peer to peer communication in a network environment
US8549180B2 (en) Optimizing access to federation infrastructure-based resources
EP1530859B1 (en) Heuristics-based routing of a query message in peer to peer networks
US8073978B2 (en) Proximity guided data discovery
US20140185446A1 (en) Synchronizing state among load balancer components
EP3041198B1 (en) Finding services in a service-oriented architecture (soa) network
US9503358B2 (en) Distance-based routing in an information-centric network
US20040246911A1 (en) Network location management system
KR101474233B1 (ko) 분산된 해시 테이블의 콘텐트에 대한 피어-투-피어 트래픽 국부화
CN104380289B (zh) 服务感知分布式散列表路由
CN107105013B (zh) 文件的处理方法、服务器、终端和系统
Nordström et al. Haggle: Opportunistic mobile content sharing using search
KR101966430B1 (ko) 로컬 네트워크 환경에서 포그 서버 개수 및 배치 위치 결정을 위한 장치 및 방법
CN109873855A (zh) 一种基于区块链网络的资源获取方法和系统
JP5871908B2 (ja) ネットワーク内部のデータ通信を制御するための方法およびシステム
JP2007013804A (ja) 属性指定通信方法および通信装置
US20140181307A1 (en) Routing apparatus and method
US20130227066A1 (en) Data transfer apparatus and data transfer method
US9667535B2 (en) Multi-peer routing in a network
Kimmatkar et al. Applications sharing using binding server for distributed environment
JP2012146113A (ja) 情報通知ノード、情報配信システム、情報通知方法、及び、プログラム
Garcia-Luna-Aceves System and Method for Discovering Information Objects and Information Object Repositories in Computer Networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee