KR101409991B1 - P2p 통신 환경에서의 데이터 전송 방법 및 장치 - Google Patents

P2p 통신 환경에서의 데이터 전송 방법 및 장치 Download PDF

Info

Publication number
KR101409991B1
KR101409991B1 KR1020070037103A KR20070037103A KR101409991B1 KR 101409991 B1 KR101409991 B1 KR 101409991B1 KR 1020070037103 A KR1020070037103 A KR 1020070037103A KR 20070037103 A KR20070037103 A KR 20070037103A KR 101409991 B1 KR101409991 B1 KR 101409991B1
Authority
KR
South Korea
Prior art keywords
client
independent network
independent
network
delete delete
Prior art date
Application number
KR1020070037103A
Other languages
English (en)
Other versions
KR20080093313A (ko
Inventor
이상권
최혁승
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020070037103A priority Critical patent/KR101409991B1/ko
Priority to US11/865,585 priority patent/US8180853B2/en
Publication of KR20080093313A publication Critical patent/KR20080093313A/ko
Priority to US13/453,859 priority patent/US8984096B2/en
Application granted granted Critical
Publication of KR101409991B1 publication Critical patent/KR101409991B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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
    • 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
    • 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/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers
    • H04L67/107Discovery involving direct consultation or announcement among potential requesting and potential source peers with limitation or expansion of the discovery scope
    • 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/1072Discovery involving ranked list compilation of candidate peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 P2P 통신 환경에서 데이터 전송 속도를 향상시킬 수 있는 데이터 전송 방법 및 장치에 관한 것이다.
본 발명의 실시예에 따른 데이터 전송 장치는, P2P 서비스에 참여하고 있는 클라이어트들의 네트워크 토폴로지 정보를 관리하는 관리부, 및 제1 클라이언트로부터 컨텐츠를 요청받는 경우, 상기 네트워크 토폴로지 정보에 근거하여, 상기 제1 클라이언트와 네트워크 거리가 최소인 클라이언트의 정보를 포함하는 피어 리스트를 상기 제1 클라이언트로 제공하는 인터페이스부를 포함한다.
P2P(peer to peer), 컨텐츠, 다운로드, 속도

Description

P2P 통신 환경에서의 데이터 전송 방법 및 장치{Method and apparatus for data transfer in peer-to-peer network}
도 1은 종래 P2P 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 P2P 시스템의 구성을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 서버의 구성을 도시한 도면이다.
도 4는 본 발명의 실시예에 따른 네트워크 거리 계산 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 클라이언트의 구성을 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 컨텐츠 다운로드 과정을 도시한 흐름도이다.
도 7은 도 6의 피어 리스트 생성 단계 S630을 보다 상세히 도시한 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른 서버의 구성을 도시한 도면이다.
도 9는 본 발명의 실시예에 적용된 네트워크 토폴로지 정보를 예시한 도면이다.
도 10은 본 발명의 실시예에 따른 핑 테이블을 예시한 도면이다.
도 11은 본 발명의 다른 실시예에 따른 클라이언트의 구성을 도시한 도면이 다.
도 12는 본 발명의 다른 실시예에 따른 컨텐츠 다운로드 과정을 도시한 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
300, 800: 서버 310, 810: 관리부
320, 820: 피어 리스트 생성부 330, 830: 인터페이스부
500, 900: 클라이언트 510, 910: 입력부
520, 920: 인터페이스부 530, 930: 제어부
540, 940: 저장부 550, 950: 디스플레이부
10: 핑 테이블
본 발명은 데이터 전송 방법 및 장치에 관한 것으로, 보다 상세하게는 P2P 통신 환경에서 컨텐츠의 다운로드 속도를 향상시킬 수 있는 데이터 전송 방법 및 장치에 관한 것이다.
P2P(peer-to-peer)란, 인터넷에서 개인과 개인이 직접 연결되어 파일을 공유하는 것을 말하는 것으로서, 기존의 서버와 클라이언트 개념이나 공급자와 소비자 개념에서 벗어나 개인 컴퓨터끼리 직접 연결하고 검색함으로써 모든 참여자가 공급자인 동시에 수요자가 되는 형태를 일컫는다.
P2P는 크게 2가지 방식이 있는데, 하나는 어느 정도 서버의 도움을 얻어서 개인간 접속을 실현하는 방식이고, 다른 하나는 클라이언트 상호간에 미리 주소(IP address) 등의 개인 정보를 공유하여 서버 없이 직접 연결하는 방식이다. 첫번째 방식에서도 접속 및 검색 단계 이후에는 두 번째 방식과 동일하게 개인끼리 직접 정보를 공유하고 교환하게 된다.
도 1은 종래 P2P 방식에 근거하여 멀티미디어 컨텐츠를 다운로드할 수 있는 시스템의 구성을 도시한 것이다.
도시된 바와 같이, P2P 제공 시스템은 웹 서버(100), P2P 서버(200), 및 다수의 P2P 클라이언트(250)를 포함할 수 있다.
웹 서버(100)는 사용자가 원하는 컨텐츠를 검색할 수 있도록 검색 기능을 제공할 수 있다. 이를 위해 웹 서버(100)는 P2P를 통해 공유되는 컨텐츠에 대한 메타 데이터를 유지할 수 있다.
P2P 서버(200)는 P2P 클라이언트들(250)이 컨텐츠를 다운로드할 수 있도록 도와주는 역할을 한다. 이를 위해 P2P 서버(200)는 특정 파일을 공유하고 있는 P2P 클라이언트들(250)을 관리할 수 있다.
P2P 클라이언트(250)는 P2P 서버(200)가 제공하는 정보를 이용하여 다른 P2P 클라이언트(250)로부터 컨텐츠를 다운로드할 수 있다. 이를 위해, P2P 클라이언트(250)는 웹 서버(100)에 접속한 다음, 다운로드하려는 컨텐츠를 검색한다. 그 다음, P2P 클라이언트(250)는 검색된 컨텐츠의 메타데이터로부터 P2P 서버(200)의 URL 주소를 획득하여, 해당 P2P 서버(200)로 접속한다. 이 후, P2P 클라이언 트(250)는 다운로드하려는 컨텐츠를 공유하고 있는 다른 P2P 클라이언트들(250)의 목록(peer list: 이하, 피어 리스트)을 P2P 서버(200)로부터 제공받는다. 이 후, P2P 클라이언트(250)는 피어 리스트에 포함되는 P2P 클라이언트들(250)에 접속하여 원하는 컨텐츠를 다운로드할 수 있다.
그런데 종래의 P2P 서버(200)는 각 P2P 클라이언트들(250) 간의 네트워크 상황이나 라우팅 정보를 고려하지 않고, 무작위로 P2P 클라이언트(250)를 추출하여 피어 리스트를 생성한다. 때문에 피어 리스트에 포함된 P2P 클라이언트들(250) 간의 네트워크 환경이 나쁘거나, 거리가 먼 경우, 컨텐츠 다운로드 속도가 저하되는 문제가 있다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로 P2P 통신 환경에서 컨텐츠의 다운로드 속도를 향상시킬 수 있는 데이터 전송 방법 및 장치를 제공하는데 목적이 있다.
그러나 본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여 본 발명의 일 실시예에 따른 데이터 전송 장치는, P2P 서비스에 참여하고 있는 클라이어트들의 네트워크 토폴로지 정보를 관리하는 관리부, 및 제1 클라이언트로부터 컨텐츠를 요청받는 경우, 상기 네트워크 토폴 로지 정보에 근거하여, 상기 제1 클라이언트와 네트워크 거리가 최소인 클라이언트의 정보를 포함하는 피어 리스트를 상기 제1 클라이언트로 제공하는 인터페이스부를 포함한다.
상기 목적을 달성하기 위하여 본 발명의 다른 실시예에 따른 데이터 전송 장치는, P2P 서비스에 참여하고 있는 클라이언트들의 네트워크 토폴로지 정보를 상기 클라이언트가 속하는 독립망에 따라 관리하는 관리부, 제1 독립망에 속하며 컨텐츠를 요청한 제1 클라이언트와, 제2 독립망에 속하며 상기 컨텐츠를 공유한 제2 클라이언트 간의 최단 경로를 데이터 전송 속도 측정 결과를 참조하여 검색하는 경로 검색부, 및 상기 최단 경로를 포함하는 피어 리스트를 상기 제1 클라이언트로 제공하는 인터페이스부를 포함한다.
상기 목적을 달성하기 위하여 본 발명의 일 실시예에 따른 데이터 전송 방법은, P2P 서비스에 참여하고 있는 클라이어트들의 네트워크 토폴로지 정보를 관리하는 단계, 및 제1 클라이언트로부터 컨텐츠를 요청받는 경우, 상기 네트워크 토폴로지 정보에 근거하여, 상기 제1 클라이언트와 네트워크 거리가 최소인 클라이언트의 정보를 포함하는 피어 리스트를 상기 제1 클라이언트로 제공하는 단계를 포함한다.
상기 목적을 달성하기 위하여 본 발명의 다른 실시예에 따른 데이터 전송 방법은, P2P 서비스에 참여하고 있는 클라이언트들의 네트워크 토폴로지 정보를 상기 클라이언트가 속하는 독립망에 따라 관리하는 단계, 제1 독립망에 속하며 컨텐츠를 요청한 제1 클라이언트와, 제2 독립망에 속하며 상기 컨텐츠를 공유한 제2 클라이언트 간의 최단 경로를 데이터 전송 속도 측정 결과를 참조하여 검색하는 단계, 및 상기 최단 경로를 포함하는 피어 리스트를 상기 제1 클라이언트로 제공하는 단계를 포함한다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다
이하, 본 발명의 실시예에 의한 P2P 통신 환경에서의 데이터 전송 방법 및 장치를 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 2는 본 발명의 실시예에 따른 P2P 시스템을 도시한 도면이다.
도시된 바와 같이, 본 발명의 실시예에 따른 P2P 시스템은 서버, 및 클라이언트(peer)를 포함할 수 있다.
서버(300)는 독립된 망(Atonomous System: 이하, 독립망이라 한다) 간의 네트워크 토폴로지 정보(network topology information)를 관리할 수 있다. 또한, 서버(300)는 P2P 서비스에 참여하고 있는 모든 클라이언트(500)에 대한 정보를 관리할 수 있다. 이 때, 서버(300)는 각 클라이언트(500)에 대한 정보를 독립망 별로 구분하여 관리할 수 있다. 이러한 서버(300)는 특정 클라이언트(500)가 컨텐츠를 요청한 경우, 현재 P2P 서비스에 참여하고 있는 클라이언트들(500) 중에서 상기 컨텐츠를 요청한 클라이언트(500)와 네트워크 거리가 최소인 클라이언트들(500)의 정보를 포함하는 목록(이하, 피어 리스트라 한다)을 생성하여, 상기 컨텐츠를 요청한 클라이언트(500)로 제공할 수 있다. 서버(300)에 대한 보다 상세한 설명은 도 3 및 도 4를 참조하여 후술하기로 한다.
클라이언트(500)는 서버(300)에 접속하여 컨텐츠를 요청할 수 있으며, 상기 서버(300)로부터 피어 리스트를 제공받을 수 있다. 서버(300)로부터 피어 리스트가 제공되면, 클라이언트(500)는 피어 리스트에 포함되어 있는 클라이언트들(500)에 접속해서 필요한 컨텐츠를 획득할 수 있다. 상기 클라이언트(500)에 대한 보다 상세한 설명은 도 5를 참조하여 후술하기로 한다.
도 3은 본 발명의 일 실시예에 따른 서버(300)의 구성을 나타낸 도면이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 서버(300)는 관리부(310), 피어 리스트 생성부(320), 및 인터페이스부(330)를 포함할 수 있다.
관리부(310)는 현재 P2P 서비스에 참여하고 있는 모든 클라이언트들(500)의 정보, 및 독립망 간의 네트워크 토폴로지 정보를 관리할 수 있다. 여기서, 네트워크 토폴로지 정보란, 인터넷 상의 독립망들 간의 연결 구조 정보를 의미한다.
도 4는 다수의 독립망 간의 연결 구조를 예시한 도면이다. 도 4를 참조하 면, 독립망 A는 독립망 B, C와 각각 연결되어 있고, 독립망 B는 독립망 A, D와 각각 연결되어 있음을 알 수 있다. 그리고 독립망 C는 독립망 A, D와 각각 연결되어 있으며, 독립망 D는 독립망 B, C, E와 각각 연결되어 있음을 알 수 있다. 또한, 독립망 E는 독립망 D, F와 각각 연결되어 있고, 독립망 F는 독립망 E와 연결되어 있음을 알 수 있다. 이와 같은 네트워크 토폴로지 정보는 RIB(Routing Information Base) 정보를 제공하는 서버로부터 제공될 수도 있다.
다시 도 3을 참조하면, 피어 리스트 생성부(320)는 특정 클라이언트가 컨텐츠를 요청하는 경우, 상기 컨텐츠를 요청한 클라이언트로 제공할 피어 리스트를 생성할 수 있다. 이를 위해 피어 리스트 생성부(320)는 기 저장된 네트워크 토폴로지 정보를 참조할 수 있다.
구체적으로, 피어 리스트 생성부(320)는 우선, 서버(300)가 관리하는 독립망들 중에서, 컨텐츠를 요청한 클라이언트가 포함된 독립망과 네트워크 거리가 가장 가까운 독립망을 검색할 수 있다. 상기 네트워크 거리는 독립망 간의 홉 카운트(hop count)로 정의될 수 있다. 예를 들어, 도 4의 경우, 독립망 A와 독립망 B 사이의 홉 카운트는 1이고, 독립망 A와 독립망 D 사이의 홉 카운트는 2라고 할 수 있다. 마찬가지로, 독립망 A와 독립망 F 사이의 홉 카운트는 4라고 할 수 있다. 도 4에 도시된 바와 같이, 독립망 간의 홉 카운트가 낮을수록 네트워크 거리가 가까운 것으로 볼 수 있다. 만약, 독립망 간의 홉 카운트가 동일하다면, 독립망 간의 네트워크 거리는 동일한 것으로 볼 수 있다.
한편, 컨텐츠를 요청한 클라이언트가 포함된 독립망과 네트워크 거리가 최소 인 독립망을 검색한 결과, 복수개의 독립망이 검색될 수도 있다. 예를 들어, 도 4와 같이, 컨텐츠를 요청한 클라이언트가 독립망 A에 포함된다면, 독립망 A와 네트워크 거리가 가장 가까운 독립망으로서, 독립망 B, 독립망 C 및 독립망 G가 검색될 수 있다. 왜냐하면 독립망 A, B 사이의 홉 카운트와, 독립망 A, C 사이의 홉 카운트, 그리고 독립망 A, G 사이의 홉카운트는 1로써 동일하기 때문이다. 이와 같이, 검색된 독립망의 개수가 복수개인 경우, 피어 리스트 생성부(320)는 검색된 독립망 중에서 임의의 독립망을 선택할 수 있다.
이 후, 피어 리스트 생성부(320)는 선택된 독립망 중에서 요청된 컨텐츠를 공유하고 있는 클라이언트를 검색할 수 있다.
선택된 독립망 내의 클라이언트를 검색한 결과, 요청된 컨텐츠를 공유하고 있는 클라이언트가 존재하지 않는 경우, 피어 리스트 생성부(320)는 컨텐츠를 요청한 클라이언트가 포함된 독립망과 네트워크 거리가 다음으로 가까운 독립망을 선택할 수 있다. 예를 들어, 도 4에서 독립망 B, C, G 중에서 독립망 G가 선택된 경우라면, 요청된 컨텐츠를 공유하고 있는 클라이언트가 존재하지 않는다. 이 경우, 피어 리스트 생성부(320)는 독립망 B 및 C 중에서 어느 하나를 선택할 수 있다.
선택된 독립망 내의 클라이언트를 검색한 결과, 요청된 컨텐츠를 공유하고 있는 클라이언트가 존재하는 경우, 피어 리스트 생성부(320)는 요청된 컨텐츠를 공유하고 있는 클라이언트를 피어 리스트에 추가할 수 있다. 예를 들어, 도 4에서 독립망 B, C, G 중에서 독립망 B가 선택된 상태라면, 피어 리스트 생성부(320)는 독립망 B에 포함되는 클라이언트들 중 클라이언트 b1을 피어 리스트에 추가할 수 있다.
이 후, 피어 리스트 생성부(320)는 현재 피어 리스트에 포함된 클라이언트의 개수가 사전 지정된 개수와 동일한지를 판단할 수 있다. 판단 결과, 현재 피어 리스트에 포함된 클라이언트의 개수가 사전 지정된 개수와 동일하지 않다면(즉, 현재 피어 리스트에 포함된 클라이언트의 개수가 사전 지정된 개수 미만이라면), 피어 리스트 생성부(320)는 선택된 독립망 중에서 해당 컨텐츠를 공유하고 있는 다른 클라이언트가 존재하는지를 판단할 수 있다.
판단 결과, 선택된 독립망 중에 컨텐츠를 공유한 또 다른 클라이언트가 존재하지 않는다면, 피어 리스트 생성부(320)는 컨텐츠를 요청한 클라이언트를 포함하는 독립망과 네트워크 거리가 다음으로 가까운 독립망을 선택할 수 있다. 예를 들어, 도 4에서 독립망 B의 클라이언트 b1이 피어 리스트에 추가된 상태라고 하자. 이 경우, 독립망 B에는 요청된 컨텐츠를 공유한 클라이언트가 더 이상 존재하지 않는다. 따라서, 피어 리스트 생성부(320)는 독립망 C를 선택할 수 있다.
판단 결과, 선택된 독립망 중에 요청된 컨텐츠를 공유한 또 다른 클라이언트가 존재한다면, 피어 리스트 생성부(320)는 해당 클라이언트를 피어 리스트에 추가할 수 있다. 예를 들어, 도 4에서 독립망 C의 클라이언트 c1만이 피어 리스트에 추가된 상태라고 하자. 이 경우, 독립망 C에는 컨텐츠를 공유한 클라이언트가 아직 존재한다. 따라서, 피어 리스트 생성부(320)는 클라이언트 c2 또는 c3 중 어느 하나를 피어 리스트에 추가할 수 있다.
한편, 현재 피어 리스트에 포함된 클라이언트의 개수가 사전 지정된 개수와 동일하다면, 피어 리스트 생성부(320)는 컨텐츠를 요청한 클라이언트로 피어 리스트를 제공할 수 있다.
다시 도 3을 참조하면, 인터페이스부(330)는 클라이언트(500)와 데이터 교환을 수행할 수 있다. 예를 들면, 인터페이스부(330)는 클라이언트(500)로부터 컨텐츠 요청 신호를 수신할 수 있으며, 상기 신호에 대한 응답으로서, 피어 리스트 생성부(320)에 의해 생성된 피어 리스트를 컨텐츠를 요청한 클라이언트(500)로 송신할 수 있다.
도 5는 본 발명의 일 실시예에 따른 클라이언트(500)의 구성을 도시한 도면이다. 도시된 바와 같이, 클라이언트(500)는 입력부(510), 인터페이스부(520), 제어부(530), 저장부(540), 및 디스플레이부(550)를 포함할 수 있다.
입력부(510)는 사용자로부터 컨텐츠를 다운로드하기 위한 명령을 입력받을 수 있다. 이를 위해 입력부(510)는 다수의 키를 구비할 수 있으며, 상기 키는 하드웨어적으로 구현되거나 소프트웨어적으로 구현될 수도 있다.
인터페이스부(520)는 서버(300)와 데이터 교환을 수행할 수 있다. 예를 들면, 인터페이스부(520)는 컨텐츠 요청 신호를 서버(300)로 전송할 수 있고, 상기 신호에 대한 응답으로서, 상기 서버(300)로부터 피어 리스트를 수신할 수 있다. 상기 피어 리스트는 상기 컨텐츠를 공유하고 있는 클라이언트들 중에서 상기 컨텐츠를 요청한 클라이언트와 네트워크 거리가 가까운 클라이언트들의 정보를 포함할 수 있다.
제어부(530)는 상기 피어 리스트에 포함된 클라이언트들에 접속할 수 있도록 인터페이스부(520)를 제어할 수 있다. 피어 리스트에 포함된 클라이언트와 접속이 이루어지면, 제어부(530)는 접속된 각 클라이언트로부터, 요청한 컨텐츠의 조각들을 획득할 수 있다.
저장부(540)는 서버(300)로부터 수신한 피어 리스트나, 다른 클라이언트들로부터 획득한 컨텐츠를 저장할 수 있다. 상기 저장부(540)는 캐쉬(Cache), ROM(Read Only Memory), PROM(Programable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자, 또는 RAM(Random Access Memory)과 같은 휘발성 메모리 소자, 또는 하드디스크 드라이브(Hard Disk Drive; HDD)와 같은 저장 매체 중 적어도 하나로 구현될 수 있으나 이에 한정되지는 않는다.
디스플레이부(550)는 명령 처리 결과를 디스프레이할 수 있다. 예를 들면, 디스플레이부(550)는 피어 리스트에 포함된 클라이언트들의 정보나, 컨텐츠의 다운로드 상태 등을 디스플레이할 수 있다.
도 6은 본 발명의 일 실시예에 따른 컨텐츠 다운로드 과정을 도시한 흐름도이다.
먼저, 서버는 P2P 서비스에 참여하고 있는 모든 클라이언트들의 정보를 클라이언트가 속하는 독립망 별로 관리한다(S610).
이 후, 특정 클라이언트(500)가 서버(300)에 접속하여 컨텐츠를 요청하면(S620), 서버(300)는 요청된 컨텐츠를 공유하고 있는 클라이언트들 중에서 컨텐츠를 요청한 클라이언트(500)와 네트워크 거리가 가까운 클라이언트들의 정보를 포 함하는 피어 리스트를 생성한다(S630). 상기 피어 리스트를 생성하는 단계 S630에 대한 보다 상세한 설명은 도 7을 참조하여 후술하기로 한다.
피어 리스트가 생성되면, 서버(300)는 컨텐츠를 요청한 클라이언트(500)로 상기 피어 리스트를 제공한다(S640).
상기 피어 리스트를 수신한 클라이언트(500)는 피어 리스트에 포함된 클라이언트에 접속하여 요청한 컨텐츠의 조각들을 획득할 수 있다(S650).
도 7은 도 6의 피어 리스트를 생성하는 단계 S630을 보다 상세하게 도시한 흐름도이다. 이하의 설명에서는 설명의 편의를 위해 네트워크 토폴로지 정보가 도 4와 같으며, 클라이언트 a1가 서버(300)에 접속하여 컨텐츠를 요청한 경우를 예로 들어 설명하기로 한다.
먼저, 서버(300)의 피어 리스트 생성부(320)는 피어 리스트에 포함될 수 있는 클라이언트의 개수를 0으로 초기화한다(S631).
그 다음, 피어 리스트 생성부(320)는 기 저장된 네트워크 토폴로지 정보를 참조하여, 서버(300)가 관리하는 독립망들 중에서, 클라이언트 a1이 포함된 독립망 A와 네트워크 거리가 가장 가까운 독립망을 검색한다(S632). 상기 검색 결과, 독립망 B, C, G가 검색될 수 있다. 이와 같이, 복수개의 독립망이 검색되는 경우(S633, 예), 피어 리스트 생성부(320)는 검색된 독립망 중에서 임의의 독립망을 선택할 수 있다. 이하의 설명에서는 독립망 G가 선택된 경우를 예로 들어 설명하기로 한다.
이 후, 피어 리스트 생성부(320)는 독립망 G에 포함되는 클라이언트들 중에 서 요청된 컨텐츠를 공유하고 있는 클라이언트를 검색한다(S635).
독립망 G의 경우, 요청된 컨텐츠를 공유하고 있는 클라이언트가 존재하지 않는다(S635, 아니오). 이 경우, 피어 리스트 생성부(320)는 상기 S631 내지 S634 단계를 반복하여, 독립망 A와 네트워크 거리가 가까운 다른 독립망을 선택한다. 이하의 설명에서는 독립망 B가 선택된 경우를 예로 들어 설명하기로 한다.
독립망 B에 포함되는 클라이언트 중에서 요청된 컨텐츠를 공유하고 있는 클라이언트가 검색되면(S635, 예), 피어 리스트 생성부(320)는 검색된 클라이언트를 피어 리스트에 추가한다(S636). 예를 들어, 독립망 B의 경우, 클라이언트(500) b1이 요청된 컨텐츠를 공유하고 있으므로, 피어 리스트 생성부(320)는 클라이언트 b1의 정보를 피어 리스트에 추가할 수 있다.
이 후, 피어 리스트 생성부(320)는 현재 피어 리스트에 포함된 클라이언트(500)의 개수가 사전 지정된 임계값 예를 들면, 5와 동일한지를 판단한다(S637).
판단 결과, 현재 피어 리스트에 포함된 클라이언트(500)의 개수는 1 이므로, 임계값인 5와 같지 않다(S637, 아니오). 그러므로, 피어 리스트 생성부(320)는 독립망 B 내에 요청된 컨텐츠를 공유하는 다른 클라이언트(500)가 존재하는지를 판단한다(S638).
독립망 B의 경우, 요청된 컨텐츠를 공유하는 다른 클라이언트(500)가 존재하지 않는다(S638, 아니오). 따라서, 피어 리스트 생성부(320)는 전술한 S631 내지 S634 단계를 반복하여, 독립망 A와 네트워크 거리가 가까운 다른 독립망 예를 들면, 독립망 C를 선택한다.
독립망 C가 선택되면, 피어 리스트 생성부(320)는 상기 S635 내지 S638 단계를 반복한다.
만약, 상기 S637 단계에서, 피어 리스트에 현재 포함되어 있는 클라이언트(500)의 개수가 5와 동일한 경우(S637, 예), 피어 리스트 생성부(320)는 인터페이스부(330)를 제어하여 상기 피어 리스트가 클라이언트 a1으로 제공될 수 있도록 한다(S639).
이상으로 클라이언트(500)가 속한 독립망 간의 네트워크 거리에 근거하여, 컨텐츠 다운로드에 필요한 피어 리스트를 생성하는 서버(300), 및 상기 피어 리스트에 근거하여 컨텐츠를 획득하는 클라이언트(500)에 대하여 설명하였다. 이하의 설명에서는 이와는 다른 실시예로서, 독립망 간의 데이터 전송 속도에 근거하여, 컨텐츠 다운 로드에 필요한 피어 리스트를 생성하는 서버, 및 클라이언트를 도 8 내지 도 11을 참조하여 설명하기로 한다.
도 8은 본 발명의 다른 실시예에 따른 서버(800)의 구성을 도시한 도면이다. 도시된 바와 같이, 본 발명의 다른 실시예에 따른 서버(800)는 관리부(810), 제어부(840), 경로 검색부(850), 피어 리스트 생성부(820), 및 인터페이스부(830)를 포함할 수 있다.
관리부(810)는 독립망 간의 네트워크 토폴로지 정보, 및 현재 P2P 서비스에 참여하고 있는 모든 클라이언트들의 정보를 관리할 수 있다. 이 때, 관리부(810)는 클라이언트가 포함되는 독립망 별로 각 클라이언트들의 정보를 분류하여 관리할 수 있다. 즉, 클라이언트(도 11의 식별번호 900 참조)가 서버(800)에 접속되면, 클라이언트의 IP 주소를 획득할 수 있는데, 관리부(810)는 상기 IP 주소로부터 해당 클라이언트가 속한 독립망의 종류를 판별함으로써, 현재 P2P 서비스에 참여하고 있는 클라이언트들의 정보를 독립망 별로 관리할 수 있다. 이외에도, 관리부(810)는 핑 테이블(10)을 관리할 수도 있다. 상기 핑 테이블(10)은 서로 다른 독립망에 포함되는 클라이언트들 간의 핑 수행 결과를 포함할 수 있다. 상기 핑 테이블(10)은 서로 연결되어 있는 두 독립망 간의 네트워크 상태 즉, 데이터 전송 속도를 체크하는데 사용될 수 있다. 이와 같이, 독립망 간의 네트워크 상태를 체크하는 이유는, 동일한 독립망 내의 클라이언트 간의 데이터 전송 시에 발생하는 통신 지연에 비하여, 독립망과 독립망 간의 데이터 전송 시에 발생하는 통신 지연이 더 크기 때문이다. 독립망 간의 네트워크 토폴로지 정보가 도 9와 같은 경우에 생성될 수 있는 핑 테이블(10)을 예시하면 도 10과 같다.
상기 도 10의 핑 테이블(10)을 생성하기 위해서는 먼저, 각 독립망에서 하나의 클라이언트가 선택되어야 한다. 이 때, 클라이언트의 선택은 제어부(840)에 의해 이루어질 수 있는데, 제어부(840)는 각 독립망에서 임의의 클라이언트 하나를 선택할 수 있다. 예를 들어, 서버(800)가 관리하는 네트워크 토폴로지 정보가 도 9와 같은 경우, 독립망 A와 독립망 B 간의 전송 속도를 측정하기 위해 제어부(840)는, 독립망 A와 독립망 B에서 각각 임의의 클라이언트를 하나씩 선택한 다음, 선택된 클라이언트들에게 선택 사실을 알릴 수 있다. 그러면, 선택된 클라이언트들은 서로 핑을 수행하여, 그 결과 즉, 핑 응답 속도를 서버(800)로 전송할 수 있다. 예를 들어, 독립망 A와 독립망 B에서 각각 클라이언트 a1와 클라이언트 b1이 선택 되었다면, 클라이언트 a1과 클라이언트 b1은 서로 핑을 수행하고, 그 결과(예를 들면, 15ms)를 서버(800)로 제공할 수 있다. 이와 같이, 클라이언트로부터 수신된 핑 수행 결과는 핑 테이블(10)에 기록될 수 있다. 제어부(840)는 서버(800)가 관리하는 모든 독립망을 대상으로 클라이언트를 선택함으로써, 도 10의 핑 테이블(10)이 생성되게 할 수 있다.
제어부(840)는 클라이언트의 선택을 주기적으로 예를 들면, 10분 간격으로 반복함으로써, 핑 테이블(10)의 갱신이 이루어지게 할 수 있다. 다른 예로써, 제어부(840)는 새로운 클라이언트가 서버(800)에 접속되는 경우에도 핑 테이블(10)의 갱신이 이루어지게 할 수 있다. 구체적으로, 새로운 클라이언트가 서버(800)에 접속되었을 때, 새로이 접속된 클라이언트가 현재 서버(800)가 관리하고 있는 독립망에 포함된다면, 제어부(840)는 핑 수행을 위한 클라이언트를 수행하지 않을 수 있다. 만약, 새로이 접속된 클라이언트가 기존의 독립망이 아닌, 새로운 독립망을 통해 접속된 것이라면, 제어부(840)는 새로이 접속된 클라이언트의 정보를 저장한 다음, 핑 수행을 위한 클라이언트를 선택할 수 있다.
경로 검색부(850)는, 특정 클라이언트가 공유된 컨텐츠를 요청하는 경우, 요청된 컨텐츠의 다운로드 시간을 최소화할 수 있는 경로를 검색할 수 있다. 이를 위해 경로 검색부(850)는 우선, 컨텐츠를 공유한 클라이언트가 속하는 독립망을 검색할 수 있다. 예를 들어, 도 9에서 클라이언트 a1이 요청한 컨텐츠를 클라이언트 d1이 공유하고 있다고 하자. 이 경우, 검색 결과로서, 독립망 D가 검색될 수 있다(이하의 설명에서는, 설명의 편의를 위해, 컨텐츠를 요청한 클라이언트를 '제1 클라이언트'라 하고, 요청된 컨텐츠를 공유하고 있는 클라이언트를 '제2 클라이언트'라 칭하기로 한다).
그 다음, 경로 검색부(850)는 네트워크 토폴로지 정보를 참조하여, 제1 클라이언트가 속하는 독립망과 검색된 독립망을 연결하는 경로를 검색할 수 있다. 예를 들어, 경로 검색부(850)는 클라이언트 a1이 속하는 독립망 A와 클라이언트 d1이 속하는 독립망 D를 연결하는 모든 경로를 검색할 수 있다. 이 때, 독립망 A와 독립망 D를 연결하는 경로로서, 독립망A-독립망B-독립망D를 포함하는 제1 경로, 독립망A-독립망C-독립망D를 포함하는 제2 경로, 및 독립망A-독립망B-독립망E-독립망D를 포함하는 제3 경로가 검색될 수 있다.
이 후, 경로 검색부(850)는 기 저장된 핑 테이블(10)을 참조하여, 검색된 경로 중 통신 지연이 최소인 최단 경로를 선정할 수 있다. 다시 말해, 경로 검색부(850)는 소정 경로 상에 존재하는 각 독립망 간의 통신 지연을 합하여, 그 결과 값이 최소가 되는 경로를 최단 경로로 선택할 수 있다. 예를 들어, 핑 테이블(10)이 도 10과 같은 경우, 제1, 제2, 및 제3 경로 중에서 최단 경로로서, 제1 경로가 선정될 수 있다. 왜냐하면, 제2 및 제3 경로의 경우, 해당 경로 상에 있는 각 독립망 간의 통신 지연을 합산한 결과는 각각 17(=10+7) 및 22(=15+2+5)이지만, 제1 경로의 경우, 각 독립망 간의 통신 지연을 합산한 결과는 16(=15+1)으로 최소이기 때문이다.
최단 경로가 선택되면, 경로 검색부(850)는 최단 경로 상에 존재하는 독립망들 중, 제1 클라이언트가 포함되는 독립망과, 제2 클라이언트가 포함되는 독립망을 제외한 독립망 중에서 각각 하나의 클라이언트를 선택할 수 있다. 예를 들어, 제1 경로가 최단 경로인 경우, 독립망 A 및 독립망 D를 제외한 독립망 B에서 하나의 클라이언트를 임의로 선택할 수 있다(도 10은 독립망 B에서 클라이언트 b1이 선택된 경우를 보여주고 있다). 그리고, 경로 검색부(850)는 상기 독립망 B에서 선택된 클라이언트로 명령을 전송하여, 상기 독립망 B에서 선택된 클라이언트가 제1 클라이언트 및 제2 클라이언트 사이에서 데이터를 전달할 수 있게 한다.
다시 도 8을 참조하면, 피어 리스트 생성부(820)는, 최단 경로에 대한 정보를 포함하는 피어 리스트를 생성할 수 있다.
인터페이스부(830)는 클라이언트와의 데이터를 교환할 수 있다. 예를 들면, 인터페이스부(830)는 제1 클라이언트로부터 컨텐츠 요청 신호를 수신하거나, 최단 경로에 대한 정보를 포함하는 피어 리스트를 제1 클라이어트로 송신할 수 있다.
도 11은 본 발명의 다른 실시예에 따른 클라이언트(900)의 구성을 도시한 도면이다.
본 발명의 다른 실시예에 따른 클라이언트(900)는 도시된 바와 같이, 입력부(910), 인터페이스부(920), 제어부(930), 저장부(940), 및 디스플레이부(950)를 포함할 수 있다. 도 11에서 입력부(910) 및 디스플레이부(950)는 도 5에 도시된 입력부(510), 저장부(540) 및 디스플레이부(550)와 마찬가지이므로, 중복된 설명은 생략하기로 하고, 제어부(930) 및 인터페이스부(920)를 중심으로 설명하기로 한다.
제어부(930)는 서버(800)에 의해 선택된 다른 클라이언트와 핑을 수행할 수 있다. 만약, 해당 클라이언트가 제1 클라이언트와 제2 클라이언트 간의 데이터 전 달을 위한 경유지로 선정된 경우라면, 제어부(930)는 제1 클라이언트에서 전송된 데이터가 제2 클라이언트로 전달되도록 하거나, 제2 클라이언트에서 전송된 데이터가 제1 클라이언트로 전달되도록 할 수 있다.
인터페이스부(920)는 서버(800)와 데이터 교환을 수행할 수 있다. 예를 들면, 핑 수행 결과를 서버(800)로 제공할 수 있다. 또한, 인터페이스부(920)는 사용자의 명령에 따라 컨텐츠 요청 신호를 서버(800)로 전송할 수 있으며, 상기 신호에 대한 응답으로서, 피어 리스트를 수신할 수 있다. 이 때, 상기 피어 리스트는 상기 컨텐츠를 제공받을 수 있는 최단 경로에 대한 정보를 포함할 수 있다. 상기 수신된 최단 경로 정보는 저장부(940)에 저장될 수 있다.
도 12는 본 발명의 다른 실시예에 따른 컨텐츠 다운로드 과정을 도시한 흐름도이다.
먼저, 서버(800)의 관리부(810)는 현재 P2P 서비스에 참여하고 있는 모든 클라이언트들의 정보를 저장 및 관리한다(S21).
이 후, 서버(800)의 제어부(840)는 핑 수행을 위한 클라이언트를 선택한다(S22). 즉, 제어부(840)는 기 저장된 네트워크 토폴로지 정보를 참조하여, 현재 P2P 서비스에 참여하고 있는 클라이언트들이 속한 독립망에서 각각 하나의 클라이언트를 임의로 선택하고, 이를 선택된 클라이언트에게 알린다(S23).
서버(800)에 의해 선택된 클라이언트들은 서로 핑을 수행하고(S24), 핑 응답 속도를 서버(800)로 제공한다(S25).
서버(800)는 각 클라이언트들로부터 수신한 핑 응답 속도를 핑 테이블(10)이 기록하여 관리한다(S26). 이 때, 핑 수행을 위한 클라이언트의 선택은 주기적으로 수행될 수 있으며, 서버(800)에 새로이 접속된 클라이언트가 서버(800)가 관리하는 기존의 독립망이 아닌, 새로운 독립망을 통해 접속되는 경우에도 수행될 수 있다.
한편, 특정 클라이언트(900)가 서버(800)에 접속하여 컨텐츠를 요청하면(S31), 서버(800)는 컨텐츠를 요청한 클라이언트 즉, 제1 클라이언트가 속하는 독립망과, 요청된 클라이언트를 공유하고 있는 제2 클라이어트가 속하는 독립망 간의 최단 경로를 검색한다(S32). 상기 최단 경로를 검색하는 단계는 제1 클라이언트가 속하는 독립망과 제2 클라이언트가 속하는 독립망을 연결하는 모든 경로를 검색하는 단계와, 검색된 경로 별로 해당 경로 상에 존재하는 독립망 간의 핑 응답 속도를 합산하는 단계와, 합산 결과 중 최소값을 갖는 경로를 최단 경로로 선택하는 단계를 포함할 수 있다.
최단 경로가 검색되면, 서버(800)는 최단 경로 상에 존재하는 독립망 중에서 제1 클라이언트가 속하는 독립망과 제2 클라이언트가 속하는 독립망을 제외한 독립망 중에서 임의의 클라이언트 하나를 선택하고(S33), 이를 제1 클라이언트와 제2 클라이언트 간의 데이터 교환에 필요한 경유지로 설정한다.
그리고, 서버(800)는 최단 경로에 대한 정보를 포함하는 피어 리스트를 생성하여(S34), 제1 클라이언트로 제공한다(S35).
서버(800)로부터 피어 리스트를 수신한 제1 클라이언트는 피어 리트스에 포함된 클라이언트에 접속하여, 요청한 컨텐츠를 얻을 수 있다(S36).
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명의 실시예에 따른 P2P 통신 환경에서의 데이터 전송 방법 및 장치에 의하면 다음과 같은 효과가 있다.
네트워크 거리 또는 통신 딜레이가 최소인 피어(peer)를 통해 컨텐츠를 제공받을 수 있으므로, 컨텐츠 다운로드 속도를 향상시킬 수 있다.

Claims (34)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. P2P 서비스에 참여하고 있는 클라이언트들의 네트워크 토폴로지 정보를 상기 클라이언트가 속하는 독립망에 따라 관리하는 관리부;
    제1 독립망에 속하며 컨텐츠를 요청한 제1 클라이언트와, 제2 독립망에 속하며 상기 컨텐츠를 공유한 제2 클라이언트 간의 최단 경로를 데이터 전송 속도 측정 결과를 참조하여 검색하는 경로 검색부; 및
    상기 최단 경로를 포함하는 피어 리스트를 상기 제1 클라이언트로 제공하는 인터페이스부를 포함하는 데이터 전송 장치.
  10. 제 9 항에 있어서,
    상기 경로 검색부는, 상기 제1 독립망과 상기 제2 독립망을 연결하는 모든 경로 중에서, 각 경로 상에 존재하는 독립망 간의 데이터 전송 속도 측정 결과를 합한 값이 최소인 경로를 상기 최단 경로로 선정하는 데이터 전송 장치.
  11. 제 9 항에 있어서,
    상기 데이터 전송 속도 측정을 위해 서로 다른 독립망에 포함되는 클라이언트를 선택하는 제어부를 더 포함하는 데이터 전송 장치.
  12. 제 11 항에 있어서,
    상기 데이터 전송 속도는, 상기 선택된 클라이언트 간의 핑 응답 시간인 데이터 전송 장치.
  13. 제 11 항에 있어서,
    상기 제어부는, 상기 P2P 서비스에 새롭게 참여한 클라이언트가 기존의 독립망에 속하지 않는 경우, 상기 데이터 전송 속도 측정을 위해 서로 다른 독립망에 포함되는 클라이언트를 선택하는 데이터 전송 장치.
  14. 제 11 항에 있어서,
    상기 제어부는, 상기 데이터 전송 속도 측정을 위해 사전 지정된 주기에 따라 서로 다른 독립망에 포함되는 클라이언트를 선택하는 데이터 전송 장치.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. P2P 서비스에 참여하고 있는 클라이언트들의 네트워크 토폴로지 정보를 상기 클라이언트가 속하는 독립망에 따라 관리하는 단계;
    제1 독립망에 속하며 컨텐츠를 요청한 제1 클라이언트와, 제2 독립망에 속하며 상기 컨텐츠를 공유한 제2 클라이언트 간의 최단 경로를 데이터 전송 속도 측정 결과를 참조하여 검색하는 단계; 및
    상기 최단 경로를 포함하는 피어 리스트를 상기 제1 클라이언트로 제공하는 단계를 포함하는 데이터 전송 방법.
  27. 제 26 항에 있어서,
    상기 검색하는 단계는, 상기 제1 독립망과 상기 제2 독립망을 연결하는 모든 경로 중에서, 각 경로 상에 존재하는 독립망 간의 데이터 전송 속도 측정 결과를 합한 값이 최소인 경로를 상기 최단 경로로 선정하는 단계를 포함하는 데이터 전송 방법.
  28. 제 26 항에 있어서,
    상기 데이터 전송 속도 측정을 위해 서로 다른 독립망에 포함되는 클라이언트를 선택하는 단계를 더 포함하는 데이터 전송 방법.
  29. 제 28 항에 있어서,
    상기 데이터 전송 속도는, 상기 선택된 클라이언트 간의 핑 응답 시간인 데이터 전송 방법.
  30. 제 28 항에 있어서,
    상기 서로 다른 독립망에 포함되는 클라이언트를 선택하는 단계는, 상기 P2P 서비스에 새롭게 참여한 클라이언트가 기존의 독립망에 속하지 않는 경우, 상기 데이터 전송 속도 측정을 위해 서로 다른 독립망에 포함되는 클라이언트를 선택하는 단계를 포함하는 데이터 전송 방법.
  31. 제 28 항에 있어서,
    상기 서로 다른 독립망에 포함되는 클라이언트를 선택하는 단계는, 상기 데이터 전송 속도 측정을 위해 사전 지정된 주기에 따라 서로 다른 독립망에 포함되는 클라이언트를 선택하는 단계를 포함하는 데이터 전송 방법.
  32. 삭제
  33. 삭제
  34. 삭제
KR1020070037103A 2007-04-16 2007-04-16 P2p 통신 환경에서의 데이터 전송 방법 및 장치 KR101409991B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070037103A KR101409991B1 (ko) 2007-04-16 2007-04-16 P2p 통신 환경에서의 데이터 전송 방법 및 장치
US11/865,585 US8180853B2 (en) 2007-04-16 2007-10-01 Method and apparatus for transmitting data in a peer-to-peer network
US13/453,859 US8984096B2 (en) 2007-04-16 2012-04-23 Method and apparatus for transmitting data in a peer-to-peer network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070037103A KR101409991B1 (ko) 2007-04-16 2007-04-16 P2p 통신 환경에서의 데이터 전송 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20080093313A KR20080093313A (ko) 2008-10-21
KR101409991B1 true KR101409991B1 (ko) 2014-06-20

Family

ID=39854739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070037103A KR101409991B1 (ko) 2007-04-16 2007-04-16 P2p 통신 환경에서의 데이터 전송 방법 및 장치

Country Status (2)

Country Link
US (2) US8180853B2 (ko)
KR (1) KR101409991B1 (ko)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101305352A (zh) * 2006-05-25 2008-11-12 Duaxes株式会社 通信管理系统、通信管理方法及通信控制装置
US8312449B2 (en) * 2006-10-31 2012-11-13 International Business Machines Corporation Viral installation of operating systems in a network
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8219706B2 (en) * 2008-11-14 2012-07-10 At&T Intellectual Property I, Lp Interdomain network aware peer-to-peer protocol
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8014318B2 (en) * 2009-02-10 2011-09-06 Cisco Technology, Inc. Routing-based proximity for communication networks to routing-based proximity for overlay networks
KR20100104314A (ko) * 2009-03-17 2010-09-29 삼성전자주식회사 컨텐츠 거래 방법 및 시스템
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8135912B2 (en) 2009-05-18 2012-03-13 Hola Networks, Ltd. System and method of increasing cache size
US8179801B2 (en) * 2009-06-09 2012-05-15 Cisco Technology, Inc. Routing-based proximity for communication networks
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
CN101938509B (zh) * 2009-06-29 2015-11-25 日电(中国)有限公司 为p2p网络提供节点信息的服务器、方法及系统
WO2011006531A1 (en) * 2009-07-14 2011-01-20 Telefonica, S.A. Method of monitoring a bittorrent network and measuring download speeds
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
KR101562974B1 (ko) 2009-09-07 2015-10-30 삼성전자 주식회사 스트리밍 서비스의 지연 감소를 위한 단말기, 시드 서버 및 트랙커 서버
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US9495338B1 (en) * 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8756272B1 (en) 2010-08-26 2014-06-17 Amazon Technologies, Inc. Processing encoded content
US10187509B2 (en) * 2010-09-14 2019-01-22 At&T Intellectual Property I, L.P. Enhanced video sharing
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US8626854B2 (en) * 2011-01-17 2014-01-07 Alcatel Lucent Traffic localization in peer-to-peer networks
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US20130144755A1 (en) * 2011-12-01 2013-06-06 Microsoft Corporation Application licensing authentication
KR101889851B1 (ko) * 2012-01-06 2018-08-20 엘지전자 주식회사 콘텐츠 출력 장치 및 콘텐츠 제공 서버
US8725650B2 (en) * 2012-01-26 2014-05-13 Microsoft Corporation Document template licensing
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9961494B2 (en) 2012-08-14 2018-05-01 Google Llc Sharing content with nearby devices
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
KR101871514B1 (ko) * 2012-09-28 2018-06-26 삼성전자주식회사 디바이스 사이의 연결 수행 방법 및 장치
US9549024B2 (en) 2012-12-07 2017-01-17 Remote Media, Llc Routing and synchronization system, method, and manager
US9143568B2 (en) 2012-12-18 2015-09-22 Microsoft Technology Licensing, Llc. Peer-to-peer sharing of cloud-based content
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
KR101528613B1 (ko) * 2013-05-24 2015-06-17 주식회사 인터렉티브비전 중계 서버, 멀티미디어 디바이스 및 피투피 그리드 서비스 중계 방법
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
CN104348647B (zh) * 2013-07-31 2019-04-12 腾讯科技(深圳)有限公司 多源带宽调度方法、装置及系统
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
LT3767495T (lt) 2017-08-28 2023-05-25 Bright Data Ltd. Būdas pagerinti turinio parsisiuntimą, pasirenkant tunelinius įrenginius
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
KR102120929B1 (ko) * 2018-10-24 2020-06-17 테크온미디어(주) P2p 기반의 콘텐츠 유통 방법과 이를 수행하기 위한 컴퓨팅 장치 및 시스템
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
KR102175199B1 (ko) * 2018-11-20 2020-11-09 계명대학교 산학협력단 블록체인 네트워크에서의 토폴로지 조사 시스템 및 방법
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
EP3780557B1 (en) 2019-02-25 2023-02-15 Bright Data Ltd. System and method for url fetching retry mechanism
WO2020202135A2 (en) 2019-04-02 2020-10-08 Luminati Networks Ltd. System and method for managing non-direct url fetching service

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009587A1 (en) * 2001-07-06 2003-01-09 Intel Corporation Method and apparatus for peer-to-peer services
US20050060406A1 (en) * 2003-09-15 2005-03-17 Microsoft Corporation Measurement-based construction of locality-aware overlay networks
KR20060067842A (ko) * 2004-12-14 2006-06-20 마이크로소프트 코포레이션 업데이트들을 다운로드하기 위한 방법 및 시스템

Family Cites Families (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ504100A0 (en) * 2000-01-11 2000-02-03 Notron (No. 325) Pty Limited A method for distribution of streamed data packets on a switched network utilising an intelligent distribution network
US5195181A (en) * 1992-01-10 1993-03-16 Digital Equipment Corporation Message processing system having separate message receiving and transmitting processors with message processing being distributed between the separate processors
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US5870557A (en) * 1996-07-15 1999-02-09 At&T Corp Method for determining and reporting a level of network activity on a communications network using a routing analyzer and advisor
US6122753A (en) * 1997-04-09 2000-09-19 Nec Corporation Fault recovery system and transmission path autonomic switching system
US6192408B1 (en) * 1997-09-26 2001-02-20 Emc Corporation Network file server sharing local caches of file access information in data processors assigned to respective file systems
SE9704784L (sv) * 1997-12-19 1999-06-20 Ericsson Telefon Ab L M Förfarande och anordning i ett paketförmedlingsnät
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6665271B1 (en) * 1998-03-17 2003-12-16 Transnexus, Llc System for real-time prediction of quality for internet-based multimedia communications
US6012096A (en) * 1998-04-23 2000-01-04 Microsoft Corporation Method and system for peer-to-peer network latency measurement
US6646989B1 (en) * 1998-06-29 2003-11-11 Lucent Technologies Inc. Hop-by-hop routing with node-dependent topology information
US6542964B1 (en) * 1999-06-02 2003-04-01 Blue Coat Systems Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server
US6711125B1 (en) * 1999-08-02 2004-03-23 Extreme Networks Provisioning networks for reliable quality of service
US6618389B2 (en) * 1999-11-22 2003-09-09 Worldcom, Inc. Validation of call processing network performance
US7096263B2 (en) * 2000-05-26 2006-08-22 Akamai Technologies, Inc. Method for predicting file download time from mirrored data centers in a global computer network
US7020698B2 (en) * 2000-05-31 2006-03-28 Lucent Technologies Inc. System and method for locating a closest server in response to a client domain name request
US20020049760A1 (en) * 2000-06-16 2002-04-25 Flycode, Inc. Technique for accessing information in a peer-to-peer network
US6938095B2 (en) * 2000-06-28 2005-08-30 Pluris, Inc. Method and apparatus for establishing and sharing a virtual change notification list among a plurality of peer nodes
FI112148B (fi) * 2000-07-24 2003-10-31 Stonesoft Oyj Tietoliikenteen ohjausmenetelmä
US7035907B1 (en) * 2000-09-13 2006-04-25 Jibe Networks, Inc. Manipulating content objects to control their display
KR100514681B1 (ko) * 2000-09-22 2005-09-13 주식회사 케이티 비동기 전송 모드 통신망에서의 라우팅 방법 및 장치
US6976087B1 (en) * 2000-11-24 2005-12-13 Redback Networks Inc. Service provisioning methods and apparatus
US7242669B2 (en) * 2000-12-04 2007-07-10 E*Trade Financial Corporation Method and system for multi-path routing of electronic orders for securities
US20020073204A1 (en) * 2000-12-07 2002-06-13 Rabindranath Dutta Method and system for exchange of node characteristics for DATA sharing in peer-to-peer DATA networks
US7333482B2 (en) * 2000-12-22 2008-02-19 Interactive People Unplugged Ab Route optimization technique for mobile IP
US20020184128A1 (en) * 2001-01-11 2002-12-05 Matt Holtsinger System and method for providing music management and investment opportunities
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
WO2002076003A2 (en) * 2001-03-19 2002-09-26 Imesh Ltd. System and method for peer-to-peer file exchange mechanism from multiple sources
US7269157B2 (en) * 2001-04-10 2007-09-11 Internap Network Services Corporation System and method to assure network service levels with intelligent routing
US7797375B2 (en) * 2001-05-07 2010-09-14 International Business Machines Corporat System and method for responding to resource requests in distributed computer networks
US20030065774A1 (en) * 2001-05-24 2003-04-03 Donald Steiner Peer-to-peer based distributed search architecture in a networked environment
US7356487B2 (en) * 2001-06-14 2008-04-08 Qurio Holdings, Inc. Efficient transportation of digital files in a peer-to-peer file delivery network
US7315900B1 (en) * 2001-06-20 2008-01-01 Juniper Networks, Inc. Multi-link routing
US20030028610A1 (en) * 2001-08-03 2003-02-06 Pearson Christopher Joel Peer-to-peer file sharing system and method using user datagram protocol
CA2408766A1 (en) * 2001-10-17 2003-04-17 Telecommunications Research Laboratory Content delivery network bypass system
US7330435B2 (en) * 2001-11-29 2008-02-12 Iptivia, Inc. Method and system for topology construction and path identification in a routing domain operated according to a link state routing protocol
US7117264B2 (en) * 2002-01-10 2006-10-03 International Business Machines Corporation Method and system for peer to peer communication in a network environment
JP2003223378A (ja) 2002-01-29 2003-08-08 Fujitsu Ltd コンテンツデリバリネットワークサービス方法及びシステム
US9167036B2 (en) * 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
JP2003281140A (ja) * 2002-03-20 2003-10-03 Hitachi Ltd コンテンツ配信方法および配信システム
US6928513B2 (en) * 2002-03-26 2005-08-09 Hewlett-Packard Development Company, L.P. System and method for managing data logging memory in a storage area network
US7174382B2 (en) * 2002-04-09 2007-02-06 Hewlett-Packard Development Company, L.P. Interest-based connections in peer-to-peer networks
US7571251B2 (en) * 2002-05-06 2009-08-04 Sandvine Incorporated Ulc Path optimizer for peer to peer networks
TWI265697B (en) * 2002-06-06 2006-11-01 Ibm Digital contents distribution system, digital contents distribution method, computer readable recording medium storing the program therein, and server and client therefor
US20030233455A1 (en) * 2002-06-14 2003-12-18 Mike Leber Distributed file sharing system
EP1429500B1 (en) * 2002-12-11 2006-03-01 Nippon Telegraph and Telephone Corporation Method and device for multicast communication path calculation
US7953858B2 (en) * 2003-01-17 2011-05-31 Hewlett-Packard Development Company, L.P. Method and apparatus for mapping peers to an overlay network
US7500014B1 (en) * 2003-05-07 2009-03-03 Packeteer, Inc. Network link state mirroring
KR100757976B1 (ko) 2003-05-27 2007-09-11 노키아 코포레이션 P2p환경에서의 사용자 대화를 위한 시스템 및 방법
US7706282B2 (en) * 2003-06-25 2010-04-27 Leping Huang Bluetooth personal area network routing protocol optimization using connectivity metric
US20040264372A1 (en) * 2003-06-27 2004-12-30 Nokia Corporation Quality of service (QoS) routing for Bluetooth personal area network (PAN) with inter-layer optimization
KR100565168B1 (ko) 2003-06-30 2006-03-30 주식회사 나우콤 피투피 데이터 통신을 위한 최적 노드 검색 장치 및 방법,그리고 이 방법을 실행하는 프로그램을 기록한 컴퓨터로읽을 수 있는 기록매체
AU2003903967A0 (en) * 2003-07-30 2003-08-14 Canon Kabushiki Kaisha Distributed data caching in hybrid peer-to-peer systems
US7386606B2 (en) * 2003-09-12 2008-06-10 Microsoft Corporation Self-organizing overlay networks
US7336623B2 (en) * 2003-10-30 2008-02-26 Microsoft Corporation Peer-to-peer cloud-split detection and repair methods
US7774461B2 (en) * 2004-02-18 2010-08-10 Fortinet, Inc. Mechanism for determining a congestion metric for a path in a network
TWI250407B (en) * 2004-06-10 2006-03-01 Acer Inc Electronic system capable of using universal plug and play (UPNP) protocol to update software program and method thereof
KR100488595B1 (ko) * 2004-07-29 2005-05-11 엔에이치엔(주) 동영상 공동 관람 서비스 제공 방법 및 시스템
US7656804B2 (en) * 2004-08-16 2010-02-02 Motorola, Inc. Method and apparatus for operating an AD-HOC communication system
US7555532B2 (en) * 2004-09-23 2009-06-30 Orbital Data Corporation Advanced content and data distribution techniques
KR100736030B1 (ko) * 2004-11-02 2007-07-06 삼성전자주식회사 A/v 네트워크 상의 컨텐츠를 수집하고 그 실행을제어하는 장치 및 방법
JP4312698B2 (ja) * 2004-11-08 2009-08-12 富士通株式会社 波長多重伝送システムを適用した光伝送ネットワーク設計方法
KR100716986B1 (ko) * 2004-11-11 2007-05-10 삼성전자주식회사 RR(Return Routability)과정을이용한 경로 선택 방법 및 장치
US8346843B2 (en) * 2004-12-10 2013-01-01 Google Inc. System and method for scalable data distribution
WO2006080083A1 (ja) * 2005-01-28 2006-08-03 Argo-Notes, Inc. BitTorrentプロトコルによるファイルのダウンロード方法
US7562125B2 (en) * 2005-02-02 2009-07-14 Cisco Technology, Inc. Techniques for locating distributed objects on a network based on physical communication costs
US7457835B2 (en) * 2005-03-08 2008-11-25 Cisco Technology, Inc. Movement of data in a distributed database system to a storage location closest to a center of activity for the data
US20060224757A1 (en) * 2005-03-15 2006-10-05 Han Fang System and method for streaming service replication a in peer-to-peer network
US20060230107A1 (en) * 2005-03-15 2006-10-12 1000 Oaks Hu Lian Technology Development Co., Ltd. Method and computer-readable medium for multimedia playback and recording in a peer-to-peer network
US20060258463A1 (en) * 2005-05-13 2006-11-16 Professional Interactive Entertainment, Inc. System and method for network interactive game match-up and server selection
US7483387B2 (en) * 2005-05-23 2009-01-27 Cisco Technology, Inc. Hierarchical label distribution for inter-area summarization of edge-device addresses
JP4707477B2 (ja) * 2005-06-23 2011-06-22 富士通株式会社 ファイル共有プログラムおよびファイル共有装置
US7512943B2 (en) * 2005-08-30 2009-03-31 Microsoft Corporation Distributed caching of files in a network
US7978611B2 (en) * 2005-09-06 2011-07-12 At&T Intellectual Property I, L.P. Systems and methods to determine network routes based on transmission medium length
US7920572B2 (en) * 2005-09-20 2011-04-05 Cisco Technology, Inc. Modifying operation of peer-to-peer networks based on integrating network routing information
US20070140140A1 (en) * 2005-11-22 2007-06-21 Turntv Incorporated System and apparatus for distributing data over a network
KR100823730B1 (ko) * 2005-12-07 2008-04-21 한국전자통신연구원 피투피 기반의 스트리밍 서비스 제공 방법 및 장치, 이를이용한 스트리밍 서비스 시스템
US20070147255A1 (en) * 2005-12-23 2007-06-28 Ozgur Oyman Routing in wireless mesh networks
US9137043B2 (en) * 2006-06-27 2015-09-15 International Business Machines Corporation System, method and program for determining a network path by which to send a message
GB2440759A (en) * 2006-08-11 2008-02-13 Cachelogic Ltd Selecting a download cache for digital data
WO2008038280A2 (en) * 2006-09-28 2008-04-03 Rayv Inc. System and methods for peer-to-peer media streaming
US9094416B2 (en) * 2006-11-29 2015-07-28 Thomson Licensing Contribution aware peer-to-peer live streaming service
US7953083B1 (en) * 2006-12-12 2011-05-31 Qurio Holdings, Inc. Multicast query propagation scheme for a peer-to-peer (P2P) network
US7961603B2 (en) * 2006-12-14 2011-06-14 Telefonaktiebolaget L M Ericsson (Publ) Path management for enhanced protection
US8279753B2 (en) * 2007-01-11 2012-10-02 Oracle International Corporation Efficient determination of fast routes when voluminous data is to be sent from a single node to many destination nodes via other intermediate nodes
US9026628B2 (en) * 2007-01-22 2015-05-05 Xerox Corporation Two-level structured overlay design for cluster management in a peer-to-peer network
US20080235331A1 (en) * 2007-01-26 2008-09-25 Sharon Melamed Scheduling synchronized demand for p2p networks
US8429406B2 (en) * 2007-06-04 2013-04-23 Qualcomm Atheros, Inc. Authorizing customer premise equipment into a network
US8189489B2 (en) * 2007-09-26 2012-05-29 Microsoft Corporation Characterization of network path quality for network applications and services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009587A1 (en) * 2001-07-06 2003-01-09 Intel Corporation Method and apparatus for peer-to-peer services
US20050060406A1 (en) * 2003-09-15 2005-03-17 Microsoft Corporation Measurement-based construction of locality-aware overlay networks
KR20060067842A (ko) * 2004-12-14 2006-06-20 마이크로소프트 코포레이션 업데이트들을 다운로드하기 위한 방법 및 시스템

Also Published As

Publication number Publication date
KR20080093313A (ko) 2008-10-21
US20080256175A1 (en) 2008-10-16
US8984096B2 (en) 2015-03-17
US20120209915A1 (en) 2012-08-16
US8180853B2 (en) 2012-05-15

Similar Documents

Publication Publication Date Title
KR101409991B1 (ko) P2p 통신 환경에서의 데이터 전송 방법 및 장치
US8924460B2 (en) Method and system of administrating a peer-to-peer file sharing network
CN101681331B (zh) 混合型内容分发网络(cdn)和对等(p2p)网络
JP2008516528A (ja) ネットワークのサービスノードの特定
US8266316B2 (en) Client apparatus and method of streaming content, and computer readable recording medium storing program for performing the method
KR102154653B1 (ko) 토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치
US20100293294A1 (en) Peer-to-peer communication optimization
KR101215993B1 (ko) 피어―투―피어 라이브 스트리밍을 위한 콘텐츠 분산 네트워크
US7965655B2 (en) Distributed network distance determination using a distributed hash table overlay network
JP4473942B2 (ja) コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム
TW201618497A (zh) 估計網路中之頻寬
US11706471B2 (en) Scheduling method, server, first peer node and computer-readable storage medium
EP1719331B1 (en) Determining location information for a node in a network using at least one local landmark node
CN110402567A (zh) 信息为中心的网络中基于中心性的缓存
CN101645919A (zh) 一种基于流行度的副本等级计算方法及其副本放置方法
JP2010533328A (ja) 他のペアの近傍にあるペアグループを決定する方法、関連するサーバ及び解析装置
KR100929031B1 (ko) 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
CN115004665B (zh) 文件分享方法、装置及系统
KR101310769B1 (ko) 스마트 라우터 및 그 제어방법, 및 이를 이용한 스마트 네트워크 서비스 제공 시스템 및 방법
Rodrigues On the optimization of BitTorrent-like protocols for interactive on-demand streaming systems
Picone et al. Combining geo‐referencing and network coding for distributed large‐scale information management
JP4586710B2 (ja) 計測端末及びネットワーク輻輳区間推定システム
Heck et al. A Decentralized Resilient Short-Term Cache for Messaging
KR20110124554A (ko) 네트워크 토폴로지를 이용한 p2p 접속자 정보 제공 장치 및 그 방법
JP2009218728A (ja) 情報転送装置、情報転送方法およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180530

Year of fee payment: 5