KR101072966B1 - 파일 데이터 분배 방법, 디바이스, 및 시스템 - Google Patents

파일 데이터 분배 방법, 디바이스, 및 시스템 Download PDF

Info

Publication number
KR101072966B1
KR101072966B1 KR1020097012923A KR20097012923A KR101072966B1 KR 101072966 B1 KR101072966 B1 KR 101072966B1 KR 1020097012923 A KR1020097012923 A KR 1020097012923A KR 20097012923 A KR20097012923 A KR 20097012923A KR 101072966 B1 KR101072966 B1 KR 101072966B1
Authority
KR
South Korea
Prior art keywords
file
client
management module
request message
address
Prior art date
Application number
KR1020097012923A
Other languages
English (en)
Other versions
KR20090094292A (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 KR20090094292A publication Critical patent/KR20090094292A/ko
Application granted granted Critical
Publication of KR101072966B1 publication Critical patent/KR101072966B1/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/126Shortest path evaluation minimising geographical or physical path length
    • 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/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • 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/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/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1072Discovery involving ranked list compilation of candidate peers

Abstract

파일 데이터를 분배하는 방법은, 제1 파일을 다운로드 하기 위한, 제1 클라이언트의 제1 요청 메시지를 얻고 제1 클라이언트가 위치한 AS(autonomous system)을 결정하는 단계; P2P를 지원하는 에지 서버들(ES-P들)의 AS를 찾고, 상기 제1 파일을 저장하고 있는 적어도 하나의 ES-P의 어드레스를 상기 제1 클라이언트에게 회신하는 단계; 및 상기 ES-P에 의해 회신 되는 상기 클라이언트의 정보에 따라서, 상기 ES-P에 저장되어 있는 상기 제1 파일을 상기 제1 클라이언트에게 송신하는 단계를 포함한다. 본 발명은 파일 데이터 분배의 속도를 높이고, ES의 고정된 대역폭에 기인한 파일 데이터 분배의 제약을 감소시키며, P2P 데이터 스트림이 AS 내에 모이도록 해서 중추 네트워크의 충격을 줄인다.
파일 분배, P2P, 클라이언트, EU-포탈, ES, RRS

Description

파일 데이터 분배 방법, 디바이스, 및 시스템{METHOD, DEVICE AND SYSTEM FOR DISTRIBUTING FILE DATA}
본 발명은 네트워크 정보 기술에 관한 것으로, 그 중에서도 컨텐트 분배 기술(content distribution technology)에 대한 것이다. 상세하게, 본 발명은 컨텐트 또는 미디어 분배 네트워크에서의 컨텐트 분배에 관한 방법, 디바이스, 및 시스템에 관한 것이다.
관련 출원
본 출원은 2007년 5월 21에 제출된 중국 특허출원 200710102100.5호의 우선권을 주장한 2008년 1월 22일에 제출된 국제 출원 PCT/CN2008/070159호의 계속이며, 상기 출원들은 참조에 의해 본 명세서에 포함된다.
멀티미디어 통신(multimedia communication)의 발전과 대중화에 의해, 인터넷 컨텐트 및 어플리케이션(application)에 대한 수요가 증가하고 있다. 컨텐트 분배 네트워크(CDN) 또는 미디어 분배 네트워크(MDN) 기술은 기존의 네트워크에서의 낮은 인터넷 접속 속도 문제를 해결하기 위해 나타났다.
CDN은 컨텐트 분배 기술에 기반한 네트워크 구조(network architecture) 및 통합 시스템(integrated system)이다. 컨텐트 분배 기술은 트래픽 관리(traffic management), 부하 분산(load balancing), 및 분배 기술에 기반한 분배 캐시 기술(distribution cache technology)이다. 이는 캐시 서버(cache server)를 인터넷의 에지 노드(edge node)에 놓고, 소스 노드(source node)로부터 사용자에게 가장 가까운 네트워크의 에지로, 파일 컨텐트를 부하 분산을 통해서 분배한다. 따라서, 근접한 리소스(resource)를 할당하고 액세스(access)하며 멀티미디어 정보에 빠르게 응답하게 된다.
도 1은 종래 기술의 CDN 또는 MDN의 구조를 나타낸다. CDN 또는 MDN 구조는:
사용자가 컨텐트 또는 미디어에 액세스하게 해주는데 적합하고, 사용자가 포탈(portal)에 로그인하는 것을 통하여 개인 속성(personal attributes)을 추가, 삭제, 질문, 또는 수정하는 것이 가능한 경우, 로그인 인증과 컨텐트 또는 미디어 소개를 포함하는 EU-포탈(end user portal);
사용자 요구 및 미디어 분배 네트워크의 스케줄링 센터(scheduling center)에 대해 포탈로서 기능하고, 각각의 컨텐트 캐시(cache) 사이트에 부하 분배하고, 사용자 요구에 따라 최상의 접근 사이트를 선택하고, 사이트의 유용성을 증가시키는데 적당한 RRS(request routing system)(컨텐트 루트(route)는 네트워크 토폴로지(network topology), 네트워크 딜레이, 및 서버 로드와 규칙에 따라 정해진다. 최상의 사이트는 특정 컨텐트 요구에 따라 서비스를 제공하도록 구체화 된다. 컨텐트 전달 시스템은 사이트와 사용자의 근접도, 컨텐트 유용성, 네트워크 부하, 및 디바이스 상태를 포함하는 다양한 요소들에 따라 루트를 설정한다); 및
스트리밍(streaming) 서비스를 사용자에게 제공하고. 스트리밍 프록시(streaming proxy)로서 동작하고, 사용자의 로그인/로그아웃을 모니터하고, 사용자의 실제 소비 기록을 가진 사용 매개자(UM)를 제공하는데 적합한 ES(edge server)
를 포함한다.
도 1에 나타난 네트워크 구조와 같이, 사용자의 컨텐트 또는 미디어 요청을 얻은 후에, RRS는 일련의 정책에 따라서 적어도 하나의 적절한 ES를 결정한다; 사용자는 결정된 ES에 컨텐트 또는 미디어 요청을 한다; 그 요청된 컨텐트가 ES에 존재하면, ES는 사용자에게 컨텐트를 회신한다; 요청된 컨텐트가 존재하지 않으면, ES의 컨텐트 캐시는 기존의 서버로부터 로컬 위치로 요청된 컨텐트를 끌어오고, 그 후 사용자가 요청한 컨텐트를 회신한다.
종래 기술의 실행 중에는, 사용자에게 제공되는 파일 데이터의 ES의 대역폭이 고정되어 있어서, 오직 제한된 숫자의 사용자만이 동시에 파일 데이터를 제공받을 수 있다. 사용자들의 요구를 충족시키기 위해서는, 에지 노드의 능력이 사용자 수의 증가에 근접하게 증가 되어야 한다. 그러나, 이는 에지 노드에의 막대한 투자를 요구한다.
본 발명의 실시예는, ES의 대역폭이 고정된 것에서 기인한, 파일 데이터 분배의 제약을 줄이기 위한 파일 데이터 분배 방법을 제공한다. 본 발명의 다른 실시에는 파일 데이터 분배 방법에 관련된 디바이스를 제공한다.
본 발명의 실시예에 따른 방법은, 제1 파일의 다운로드에 대한 제1 클라이언트의 제3 요청을 획득하는 단계;
상기 제1 클라이언트의 자율 시스템(AS: autonomous system) 내의 상기 제1 파일을 다운로드 하고 있는 다른 클라이언트들의 정보를, 상기 제1 파일의 다운로드에 대한 상기 제1 클라이언트의 상기 제3 요청, 및 상기 다른 클라이언트들과, P2P를 지원하는 에지 서버(ES-P: Edge Server that supports peer-to-peer)에 기록된 상기 제1 파일 사이의 맵핑(mapping)에 관한 정보에 따라서 획득하는 단계; 및
상기 다른 클라이언트들의 정보를, 상기 제1 파일을 획득하고자 하는 상기 제1 클라이언트에게 회신하는 단계를 포함하는, 파일 데이터를 분배하는 방법이다.
삭제
삭제
삭제
삭제
삭제
본 발명의 실시예에 따른 요청 전달 시스템(RRS)은,
외부 인터페이스와의 데이터 상호작용(data interactions)을 관리하는 제1 접속 관리 모듈; 파일 정보를 저장하는 파일 관리 모듈; 및 사용자 스케줄러를 포함하고,
상기 데이터 상호작용은 제1 파일 다운로드를 위한, 제1 클라이언트의 제1 요청 메시지를 얻는 것, 및 상기 사용자 스케줄러에 의해 얻어진, P2P를 지원하는 에지 서버(ES-P)의 어드레스를 상기 제1 클라이언트에게 회신하는 것을 포함하고,
상기 파일 관리 모듈은 파일 ID와 AS(autonomous system) 내의 상기 ES-P의 상기 어드레스 사이의 맵핑을 포함하고,
상기 사용자 스케줄러는 상기 파일 관리 모듈에 저장되어 있는 상기 파일 정보에 따라서 상기 ES-P의 어드레스를 할당하고, 상기 할당은 상기 제1 요청 메시지에 의해 운반되는 상기 제1 파일의 ID를 얻는 것 및 상기 제1 파일의 상기 ID에 따라서 상기 제1 클라이언트의 상기 AS 내에 상기 제1 파일을 저장하고 있는 상기 ES-P의 상기 어드레스를 찾는 것을 포함하는, 요청 전달 시스템(RRS)이다.
본 발명의 실시예에 따른 에지 서버(ES)는, 외부 인터페이스와의 데이터 상호작용을 관리하는 제2 접속 관리 모듈; 저장 모듈; 및 세션 관리 모듈을 포함하고,
상기 데이터 상호작용은, 제1 파일 다운로드를 위한, 제1 클라이언트의 제3 요청 메시지를 수신하는 것, 및 상기 제1 파일을 다운로드 하는 클라이언트들의 정보를 회신하는 것을 포함하고,
상기 저장 모듈은 상기 제1 파일을 다운로드 하는 클라이언트들의 정보와 상기 클라이언트가 위치한 AS 내의 상기 제1 파일의 ID 사이의 맵핑을 기록하고,
상기 세션 관리 모듈은 상기 제3 요청 메시지에 의해 운반된 상기 제1 파일의 상기 ID를 얻고, 상기 제1 파일의 상기 ID에 따라서 상기 제1 파일을 다운로드 하는 클라이언트들의 상기 정보의 상기 저장 모듈을 찾는, 에지 서버(ES)이다.
본 발명의 실시예에 따른 클라이언트(client)는, 제3 접속 관리 모듈; 클라이언트 관리 모듈; 제2 캐시 관리 모듈; 및 다운로드 관리 모듈을 포함하고,
상기 제3 접속 관리 모듈은 외부 인터페이스와의 데이터 상호작용을 관리하고, 제1 파일 다운로드를 위한 제1 요청 메시지를 P2P를 지원하는 요청 전달 시스템(RRS-P)에 송신하고, 상기 RRS-P로부터 P2P를 지원하는 에지 서버(ES-P)의 어드레스를 얻고, 상기 제1 파일 다운로드를 위한 제2 요청 메시지를 상기 ES-P에 송신하고, ES-P로부터 회신 되는, 제1 파일을 다운로드 하는 다른 디바이스에 대한 정보를 얻고, 그리고 상기 제1 파일의 데이터를 얻고 상기 데이터를 상기 제2 캐시 관리 모듈에 저장하기 위해, 상기 클라이언트 관리 모듈에 의해 통신 된 후에, 다른 디바이스들과 상호작용하고,
상기 클라이언트 관리 모듈은 상기 디바이스 정보를 저장하며 상기 클라이언트 또는 ES의 정보를 포함하고,
상기 제2 캐시 관리 모듈은 상기 제3 접속 관리 모듈에 의하여 얻어진 상기 제1 파일의 상기 데이터를 캐시하고,
상기 다운로드 관리 모듈은 상기 제2 캐시 관리 모듈로부터 저장 디바이스로 상기 제1 파일의 상기 데이터를 쓰는, 클라이언트(client)이다.
본 발명의 실시예에 따른 파일 데이터를 분배하는 시스템은, P2P를 지원하는 요청 전달 시스템(RRS-P), 및 P2P를 지원하는 에지 서버(ES-P)를 포함하고,
상기 RRS-P는, 제1 파일을 다운로드 하기 위한, 제1 클라이언트의 제1 요청 메시지를 얻고, 상기 제1 클라이언트가 위치한 AS를 결정하고, 상기 AS 내에 상기 제1 파일을 저장하고 있는 상기 ES-P를 찾고, 그리고 상기 제1 파일을 저장하고 있는 적어도 하나의 ES-P의 상기 어드레스를 상기 제1 클라이언트에 송신하며,
상기 ES-P는, 상기 제1 파일을 다운로드 하고 있는 다른 클라이언트들의 정보를 상기 클라이언트의 요청 및 상기 클라이언트와 상기 ES-P에 기록된 상기 제1 파일 사이의 맵핑에 관한 정보에 따라서 상기 클라이언트에게 회신하는, 파일 데이터를 분배하는 시스템이다.
본 발명의 실시예에 따른 기술적 해결은, P2P(peer-to-peer) 형식에서 파일을 분배하기 위해, 종래 기술의 MDN 구조를 이용한다. 이는 클라이언트의 능력을 이용하고, 파일 데이터 분배의 속도를 높이며, ES의 고정된 대역폭에서 기인한 파일 데이터 분배의 제약을 감소시킨다. 더하여, P2P 다운로드 요구를 따르는 모든 디바이스들 중에서, 파일 다운로드 요청을 한 클라이언트가 위치한 POP(point of presence)의 디바이스가 우선 선택된다. 따라서, P2P 데이터 스트림은 AS에 모인다.(불규칙한(disordered) 스트림이 효과적으로 한곳에 모여서, 중추 네트워크에 가해진 P2P 불규칙 스트림에 의한 충격이 없다.)
도 1은 종래 기술의 CDN 또는 MDN의 구조를 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 RRS-P의 구조를 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른, RRS-P로 P2P 클라이언트의 파일 다운로드 요청을 처리하는 프로세스를 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른, RRS-P로 ES-P의 파일 다운로드 요청을 처 리하는 프로세스를 나타내는 도면이다.
도 5는 본 발명의 실시예에 따른 ES-P의 구조를 나타내는 도면이다.
도 6은 본 발명의 실시예에 따른, ES-P의 동작 원리를 설명하는 순서도(flowchart)이다.
도 7은 본 발명의 실시예에 따른 P2P 클라이언트의 구조를 나타내는 도면이다.
도 8은 본 발명의 실시예에 따른, P2P 클라이언트의 동작 원리를 설명하는 순서도이다.
도 9는 본 발명의 실시예에 따른 정규 다운로드 프로세스의 도식적인 다이어그램이다.
도 10a 및 도 10b는 본 발명의 실시예에 따른 교차-POP(cross-POP) 다운로드 프로세스의 도식적인 다이어그램이다.
도 11a 및 도 11b는 본 발명의 실시예에 따른 BT 호환성 다운로드 프로세스의 도식적인 다이어그램이다.
본 발명의 실시예에 포함되는 시스템 구조를 이하에서 설명한다. AS의 개념은 본 발명의 실시에 포함되어 있다. AS는 독립적인 전달 정책들(routing policies)과 고유의 내부 게이트웨이 전달 프로토콜(routing protocol)을 포함하는 네트워크 관리 영역(network manegement area)이다. 당업자는 AS들을 특정한 네트워크 구조 및 서비스 요구에 기초한 특징들에 의해 분류하는 것이 가능할 것이다. 예를 들면, AS는 POP에 기초하여 설정된다. POP로의 가까운 거리, 라인 신호의 작은 손실, 및 더 넓은 대역폭은 사용자가 즐길 수 있도록 보장한다. 본원 발명은 AS들의 설정 및 분류 방법을 고의적으로 제한하지 않는다. 다음에 설명된 본 발명의 실시예는 AS가 POP에 기반하여 설정되었다는 것을 가정한다.
이 실시예는 RRS, ES, 및 클라이언트가 P2P 기술을 지원할 때의 RRS, ES, 클라이언트와 관련이 있다. P2P 기술을 지원하는 RRS, ES, 및 클라이언트는 RRS-P(request routing system-peer), ES-P(edge server-peer), 및 P2P 클라이언트로 정의된다.
RRS-P는 시스템의 스케줄링 서버(scheduling server)이고, P2P 요청을 스케줄링하고, 토폴로지 관계(topology relation)들을 생성하고 유지하며, 피어 노드들(peer nodes)의 리스트를 P2P 클라이언트에게 제공하고, 또한 부하 분산에 기초하여 ES-P 그룹의 스케줄링 정책을 실행하는 것을 담당한다.
도 2는 본 발명의 실시예에 따른 RRS-P의 구조를 나타낸다. 도 2에 나타난 바와 같이, RRS-P(20)는 제1 접속 관리 모듈(21), 파일 관리 모듈(22), 부하 분산기(23), 및 사용자 스케줄러(24)를 포함한다.
제1 접속 관리 모듈(first connection managing module)(21)은 RRS-P의 외부 인터페이스를 관리하는데 적합하고, 적어도
본 실시예의 요청 메시지가 요청된 파일의 해쉬 값(hash value)을 운반하고 응답 메시지가 ES의 IP 어드레스 및 포트 넘버(port number)를 운반하는 경우, P2P 클라이언트와 RRS-P 사이에서 다운로드 요청 메시지 및 응답 메시지를 송신하는데 적합한, P2P 클라이언트와 RRS-P 사이의 메시지 인터페이스(massage interface); 및
요청 메시지가 요청된 파일의 해쉬 값을 운반하고, 응답 메시지가 두 개의 키워드(요청된 파일이 존재하는지 여부를 지시하는 ID 및 요청된 파일을 저장하고 있는 ES-P의 정보)를 운반하는 경우, ES-P와 RRS-P 사이에서 다운로드 요청 메시지 및 응답 메시지를 송신하는데 적합한, ES-P 와 RRS-P 사이의 메시지 인터페이스
를 포함한다.
파일 관리 모듈(file managing module)(22)은 파일 정보를 저장하고 업데이트하며, 각각의 POP에 ES-P 각각의 정보를 저장하는 것을 담당한다. ES-P의 파일 정보가 변하면, RRS-P의 파일 정보가 따라서 변한다. 테이블 1은 실시예에서 사용되는 저장 포맷(storage format)을 나타낸다. 저장 포맷은, 파일의 메타데이터(metadata) 정보가 각 파일 단편의 길이 및 각 파일 단편의 해쉬 값을 저장하는 경우에, 파일의 메타데이터 정보의 해쉬 값인 파일 ID; 파일이 위치한 POP를 식별하는 POP ID; 파일이 위치한 ES-P를 식별하는 ES-P ID; 저장 기록이 추가되는 때의 시간을 지시하는 시간스탬프(timestamp); 및 파일의 모든 데이터가 ES-P에 저장되었는지 여부를 지시하는 완결 ID(completeness ID)를 포함한다.
테이블 1
파일의 해쉬 값
(Hash Value of a File)
POP ID ES ID 시간스탬프
(Timestamp)
완결 ID
(Completeness
ID)
본 실시예에 따른 파일 정보를 저장하는 포맷은 파일 ID, POP ID, ES-P ID, 시간스탬프,및 완결 ID를 포함한다. 당업자라면 전술된 저장 포맷을 확장하거나 변경할 수 있다. 그러나, 파일 ID와 파일이 위치한 POP 사이의 맵핑(mapping)과 파일 ID와 파일이 위치한 ES-P 사이의 맵핑은 이 실시예에 따른 저장 포맷에 반드시 반영되어야 한다.
부하 분산기(load balancer)(23)는 AS의 ES-P의 부하를 계산하고 분산하는데 적합하다.
사용자 스케줄러(user scheduler)(24)는 파일 관리 모듈을 가진 인터페이스를 유지하고(API 인터페이스는 사용자 스케줄러와 파일 관리 모듈 사이에서 사용될 수 있다), 파일 관리 모듈과 통신하여 파일 ID에 따라서 클라이언트에 의해 요청된 파일이 위치한 ES-P를 찾고, 부하 분산기를 가진 인터페이스를 유지하고, 그리고 부하 분산기와 통신하여 최소의 부하를 가진 ES-P를 선택하는데 적합하다.
전술된 RRS-P의 구조를 기초로 하고, 도 3 및 도 4를 참조하여, RRS-P의 작동 원리를 여기서부터 상세하게 설명한다.
도 3은 RRS-P로 P2P 클라이언트의 파일 다운로드 요청을 처리하는 프로세스를 나타낸다. 이 프로세스는 다음과 같은 단계들을 포함한다.
스텝 31: P2P 클라이언트와 RRS-P 사이의 메시지 인터페이스를 통해 P2P 클라이언트의 파일 다운로드 요청 메시지(즉, 제1 요청 메시지)를 얻는 단계. 요청 메시지는 요청된 파일의 해쉬 값을 운반한다.
스텝 32: P2P 클라이언트의 IP 어드레스에 따라서 P2P 클라이언트의 POP를 결정하는 단계.
스텝 33: 클라이언트의 제1 요청 메시지의 구문을 분석하는 단계. 사용자 스케줄러(24)는 P2P 클라이언트로부터 요청된 파일(즉, 제1 파일)의 해쉬 값을 얻는다.
스텝 34: 사용자 스케줄러는 제1 파일이 P2P 클라이언트의 POP에 있는지 여부를, 파일 관리 모듈과 통신하여 체크한다. 있다면, 프로세스는 스텝 35로 속행하고, 그렇지 않으면 프로세스는 스텝 36으로 속행한다.
스텝 35: 응답 메시지를 P2P 클라이언트와 RRS-P 사이의 메시지 인터페이스를 통해서 P2P 클라이언트에게 송신하는 단계. 응답 메시지는 POP의 파일 관리 모듈이 찾은 제1 파일을 저장하고 있는 ES-P의 정보를 운반한다(예를 들면, ES-P의 IP 어드레스와 포트 넘버).
스텝 36: 사용자 스케줄러는, P2P 클라이언트의 POP 내의 최소의 부하를 가진 ES-P를 선택하기 위하여, 부하 분산기와 통신한다.
스텝 37: 파일 관리 모듈은, 미리 설정된(preset) 저장 포맷에 따라서, 제1 파일의 해쉬 값, P2P 클라이언트의 POP의 ID, 및 부하 분산기에 의해 선택된 ES-P의 ID를 포함하는 기록 정보를 추가한다.
스텝 38: 부하 분산기에 의해 선택된 ES-P의 정보(ES-P의 IP 정보 및 포트 넘버)를 포함하고 있는 관련 정보를, P2P 클라이언트와 RRS-P 사이의 메시지 인터페이스를 통해서, P2P 클라이언트에게 회신하는 단계.
도 4는 RRS-P로 ES-P의 파일 다운로드 요청을 처리하는 프로세스를 나타낸다. 프로세스는 다음의 단계들을 포함한다.
스텝 41: ES-P의 파일 다운로드 요청 메시지(즉, 제2 요청 메시지)를 ES-P와 RRS-P 사이의 메시지 인터페이스를 통해서 얻는 단계. 요청 메시지는 요청된 파일의 해쉬 값을 운반한다.
스텝 42: ES-P의 IP 어드레스에 따라서 ES-P의 POP를 결정하는 단계.
스텝 43: ES-P의 제2 요청 메시지의 구문을 분석하는 단계. 사용자 스케줄러는 ES-P에 의해 요청된 파일(즉, 제1 파일)의 해쉬 값을 얻는다.
스텝 44: 사용자 스케줄러는 ES-P에 의해 요청된 파일이 다른 POP에 존재하는지 여부를 파일 관리 모듈과 통신하여 체크한다. 만약 존재한다면, 프로세스는 스텝 45로 속행하고, 그렇지 않으면, 프로세스는 스텝 46으로 속행한다.
스텝 45: 응답 메시지를, 파일 다운로드 요청을 ES-P와 RRS-P 사의 메시지 인터페이스를 통해서, 파일 다운로드 요청을 한 ES-P에 회신하는 단계. 응답 메시지는 파일 관리 모듈에 의해 다른 POP에서 찾아진 ES-P의 정보(즉, ES-P의 IP 어드레스 및 포트 넘버)를 운반한다.
스텝 46: 요청된 파일이 존재하지 않는다는 응답 메시지를, ES-P와 RRS-P 사이의 메시지 인터페이스 통신을 통해서, 파일 다운로드 요청을 한 ES-P에 회신하는 단계.
전술된 RRS-P의 실시예에서, 제1 파일이 P2P 클라이언트의 POP에 존재하지 않는다면, 부하 분산기는 POP 내의 최소의 부하를 가진 ES-P를 선택하도록 요청받는다. 그러나, 본 발명을 실시할 때 P2P 클라이언트의 POP 내의 ES-P를 선택하기 위한 다른 정책들이 사용될 수 있다. 예를 들면, ES-P는 서버 성능, 네트워크 트 래픽 상태, 또는 P2P 클라이언트가 위치한 네트워크에 따라서 선택될 수 있다. 따라서, 전술된 실시예의 부하 분산기는 다른 모듈로 대체될 수 있다.
전술된 RRS-P의 구조에 기초하여, RRS-P는
CS-P가 P2P 기술을 지원하는 CS(center server)이고 각 ES에 원래의 데이터 소스(original data source)를 제공하는데 적합한 경우, 접속된 ES-P와 CS-P의 실패를 탐지하고 ES-P와 CS-P 사이의 토폴로지 관계를 기록하는데 적합한 ES/CS 관리 모듈(25);
P2P 클라이언트들 사이와 AS의 ES-P들 사이의 토폴로지 정보를 사용자 스케줄러에 의한 스케줄 결과에 따라서 유지하는데 적합하고, P2P 클라이언트들과 ES-P들을 서브하는데 적합한 제1 토폴로지 관리 모듈(26);
리소스 임대 모드(resource leasing mode)를 지원하고, 제1 토폴로지 관리 모듈에 저장된 토폴로지 정보에 따라서 오퍼레이터(operator)가 차지한 리소스를 기록하고, 오퍼레이터가 차지한 리소스의 수가 미리 설정된 상한선을 초과하는지 여부를 체크하는데 적합한 자원 관리 모듈(27);
생방송 채널의 기본 정보를 얻고 기록하며, 생방송 채널을 추가하거나 삭제하고, 처리 결과를 제1 토폴로지 관리 모듈에 송신하는데 적합한 제1 채널 관리 모듈(28); 및
활동중인 RRS-P와 대기 RRS-P를 동시에 업데이트 하기 위해, 대기 RRS-P와 통신하는데 적합한 데이터 싱커(data syncer)(29)
를 더 포함할 수 있다.
도 5는 본 발명의 실시예에 다른 ES-P의 구조를 나타낸다. 도 5에 나타난 바와 같이, ES-P(50)는 제2 접속 관리 모듈(51), 저장 모듈(52), 파서(parser)(53), 세션 관리 모듈(54), 및 제1 캐시 관리 모듈(55)을 포함한다.
제2 접속 관리 모듈(second connection managing module)(51)은 ES-P의 외부 인터페이스를 관리하는데 적합하고, 데이터 접속 및 시그널링(signaling) 접속 채널을 설정하고, 관리하고, 또한 제거하는 것을 담당한다. 외부 인터페이스는
요청 메시지가 파일의 해쉬 값을 운반하고 응답 매시지가 두 개의 키워드(파일 다운로드 요청을 받아들일지 여부와 같은 파일을 다운로드 하는 다른 클라이언트들의 정보)를 운반하는 경우, P2P 클라이언트와 ES-P 사이에서 다운로드 요청과 응답 메시지를 송신하는데 적합한, P2P 클라이언트와 ES-P 사이의 제1 메시지 인터페이스(first message interface);
다운로드 요청 메시지가 요청된 파일의 해쉬 값을 운반하고 응답 메시지가 키워드(요청을 받아들일지 여부)를 운반하는 경우, 다운로드 요청과 응답 메시지를 송신하는데 적합한, ES-P들 사이의 인터페이스;
ES-P와 RRS-P 사이의 메시지 인터페이스(RRS-P의 새로운 인터페이스 설명 참조);
관련된 P2P 전송 프로토콜을 따르고, ES-P와 다른 P2P 클라이언트 사이에서 P2P 전송 프로토콜을 통해 파일 데이터를 전송하는데 적합한, 예를 들어 파일 데이터가 ES-P와 P2P 클라이언트 사이를 BT(Bit Torrent) 프로토콜을 통해서 전송된다고 가정하면, ES-P와 BT 클라이언트 사이의 인터페이스인, ES-P와 P2P 클라이언트 사이의 제2 메시지 인터페이스(second message interface); 및
관련된 P2P 전송 프로토콜을 따르는, ES-P와 P2P 보조적 서버(즉, BT tacker) 사이의 메시지 인터페이스
를 포함한다.
저장 모듈(storage module)(52)은 파일을 다운로드 하는 모든 P2P 클라이언트들의 정보를 ES-P의 POP에 기록하고 업데이트 하는데 적합하고, 파일 다운로드 요청을 한 P2P 클라이언트에게 그 파일을 다운로드 하고 있는 다른 클라이언트들에 대한 정보를 제공하는데 접합하다. 테이블 2는 저장 모듈(52)의 정보 저장 포맷을 나타낸다. 그 포맷은 파일의 메타데이터 정보가 각 파일 단편의 길이 및 각 파일 단편의 해쉬 값을 포함할 때, 파일의 메타데이터 정보의 해쉬 값을 사용하는 파일 ID; 및 POP에 파일을 다운로딩하는 P2P 클라이언트들의 리스트를 포함하는 클라이언트 정보를 포함한다. P2P 클라이언트들의 상세정보를 위해 특정 P2P 전송 프로토콜이 참조 될 수 있다.
테이블 2
파일의 해쉬 값
(Hash Value of a File)
클라이언트 정보
(Client Information)
파서(parser)(53)는 P2P 클라이언트에 의해 송신되고 제2 접속 관리 모듈에 의해서 얻어진 P2P 프로토콜 시드 파일(P2P protocol seed file)을 구문 분석(parse)하는데 적합하고, P2P 프로토콜의 시드 파일의 구문 분석 결과에 따라서, P2P 클라이언트로서, P2P 전송 프로토콜을 통해 제2 접속 관리 모듈과 통신하여 파일 데이터를 얻는데 적합하다. 예를 들면, BT 프로토콜이 사용된다.
세션 관리 모듈(session managing module)(54)은 저장 모듈과 통신하여 파일을 다운로드 하는 P2P 클라이언트의 정보를 찾는데 접합하고, 파서와 통신하여 P2P 프로토콜 시드 파일을 구문 분석하는데 적합하다. API 인터페이스는 세션 관리 모듈과 저장 모듈 사이 및 세션 관리 모듈과 파서 사이에서 사용될 수 있다.
제1 캐시 관리 모듈(first cache managing module)(55)은 제2 접속 관리 모듈에 의해서 얻어진 제1 파일의 데이터를 캐시(cache)하고 관리하는데 적합하다.
ES-P의 작동 원리를 전술된 ES-P의 구조를 기초로 하고 도 6을 참조하여 이하에서 상세하게 설명한다.
스텝 61: ES-P는 P2P 클라이언트의 파일 다운로드 요청 메시지(즉, 제3 요청 메시지)를 P2P 클라이언트와 ES-P 사이의 제1 메시지 인터페이스를 통해서 얻는다. 요청 메시지는 요청된 파일의 해쉬 값을 운반한다.
스텝 62: ES-P로 부터 요청된 파일(즉, 제1 파일)의 해쉬 값을 얻고, 얻은 해쉬 값을 세션 관리 모듈에 보내기 위해서, 클라이언트의 제3 요청 메시지를 구문 분석하는 단계.
스텝 63: 세션 관리 모듈이, 제1 파일이 기록되어 있는지 여부를 체크하기 위해 저장 모듈과 통신한다. 기록되어 있다면, 프로세스는 스텝 64로 속행하고; 그렇지 않으면 프로세스는 스텝 66으로 속행한다.
스텝 64: 저장 모듈이 파일 다운로드 요청을 한 P2P 클라이언트의 정보를 파일 정보에 추가한다. 그리고, 프로세스는 스텝 65로 속행한다.
스텝 65: 응답 메시지를 파일 다운로드 요청을 한 P2P 클라이언트에게, P2P 클라이언트와 ES-P 사이의 제1 메시지 인터페이스를 통해서, 회신하는 단계. 응답 메시지는 그 파일을 다운로드 하는 다른 P2P 클라이언트들의 정보를 운반한다. 그리고, 프로세스는 스텝 615로 속행한다.
스텝 66: 제1 파일 다운로드를 위한 제2 요청을, ES-P와 RRS-P 사이의 메시지 인터페이스를 통해서, RRS-P로 송신하는 단계.
스텝 67: RRS-P가 제1 파일을 저장하고 있는 ES-P의 정보를, ES-P와 RRS-P 사이의 메시지 인터페이스를 통해서, 회신했는지 여부를 판단하는 단계. 만약 회신했다면, 프로세스는 스텝 68로 속행하고, 그렇지 않으면 프로세스는 스텝 610으로 속행한다.
스텝 68: 제1 파일의 다운로드 요청을, ES-P들 사이의 인터페이스를 통해서, RRS-P로부터 회신받은 ES-P로 송신하고, ES-P로부터 제1 파일의 데이터를 얻는 단계. 요청은 요청된 파일의 해쉬 값을 운반한다. 그리고, 프로세스는 스텝 69로 속행한다.
스텝 69: 저장 모듈이 파일 다운로드 요청을 발생시킨 P2P 클라이언트의 정보를 파일 정보에 더한다. 그리고 프로세스는 스텝 615로 속행한다.
스텝 610: 파일 다운로드 요청을 한 P2P 클라이언트에게, P2P 클라이언트와 ES-P 사이의 제1 메시지 인터페이스를 통해서, P2P 프로토콜 시드 파일의 업로드를 통지하는 단계. 본 실시예에서, BT 프로토콜이 지원되는 것으로 가정하면, 이 단계는, 구체적으로, 파일 다운로드 요청을 한 P2P 클라이언트에게 BT 시드 파일(BT seed file)의 업로드를 통지하는 것이 된다.
스텝 611: 세션 관리 모듈은, P2P 클라이언트에 의하여 업로드된 BT 시드 파일을 구문 분석하기 위해 파서와 통신한다. BT 프로토콜을 따르면, BT 트랙커(BT tracker)는 동시에 그 파일을 다운로드 하고 있는 다른 BT 클라이언트를 기록하고, BT 클라이언트는 이 기록된 BT 클라이언트의 전부 또는 일부에 접속한다. 따라서, BT 트랙커는 BT 클라이언트들의 상호 접속을 용이하게 한다.
스텝 612: ES-P와 BT 트랙커(BT tracker) 사이의 메시지 인터페이스를 통해서, 요청을 BT 트랙커에 전송하고 제1 파일을 다운로드 하고 있는 다른 BT 클라이언트들의 정보를 얻는 단계.
스텝 613: ES-P는, ES-P와 P2P 클라이언트 사이의 제2 메시지 인터페이스를 통해서, BT 클라이언트들로부터 제1 파일을 다운로드 한다. 그리고 프로세스는 스텝 614로 속행한다.
스텝 614: 저장 모듈을 파일 다운로드 요청을 한 P2P 클라이언트의 정보를 파일 정보에 추가한다. 그리고, 프로세스는 스텝 615로 속행한다.
스텝 615: 파일 다운로드 요청을 한 P2P 클라이언트에게 제1 파일의 데이터를 제공하는 단계.
전술한 ES-P의 구조에 기초하여, ES-P는
ES-P 부하를 수집하고, ES-P 부하를 측정하고, 또한 RRS-P에게 보고하는데 적합한 부하 리포터(load reporter)(56);
생방송 채널의 기본 정보를 얻고 기록하는데 적합하고, 생방송 채널을 추가하고 삭제하는데 적합한 채널 관리 모듈(channel managing module)(57); 및
접속된 P2P 클라이언트를 인증하고 요금을 부과하는데 적합한 인증 및 회계 모듈(authentication and accounting module)
을 더 포함할 수 있다.(상세하게는, 중국특허공개공보 200710089600.X호 참조)
전술한 실시예에서, RRS-P가 다른 AS들의 제1 파일을 저장하고 있는 ES-P의 어드레스(address)를 회신하는 것을 실패하면, ES-P는 파일 다운로드 요청을 한 P2P 클라이언트에게 P2P 프로토콜 시드 파일 업로드를 통지한다. 세션 관리 모듈이 P2P 클라이언트에 의해 업로드된 P2P 프로토콜 시드 파일(예를 들면, BT 시드 파일)을 구문 분석하기 위해 파서와 통신한다.
RRS-P가 다른 AS들의 제1 파일을 저장하고 있는 ES-P의 어드레스를 회신하는 것에는 실패하나 제1 파일을 저장하고 있는 컨텐트 서버의 어드레스가 파일 다운로드 요청을 한 P2P 클라이언트에 저장되어 있을 때, ES-P는 또한 P2P 클라이언트에 의해 업로드된 컨텐트 서버의 어드레스를, 제2 접속 관리 모듈을 통해서, 얻을 수 있다. 이 경우에, 세션 관리 모듈은 컨텐트 서버로부터 제1 파일을 얻기 위해 제2 접속 관리 모듈과 통신한다.
도 7은 본 발명의 실시예에 따른 P2P 클라이언트의 구조를 나타낸다. 도 7에 나타난 바와 같이, P2P 클라이언트(70)는 제3 접속 관리 모듈(71), 클라이언트 관리 모듈(72), 제2 캐시 관리 모듈(73), 및 다운로드 관리 모듈(74)을 포함한다.
제3 접속 관리 모듈(third connection managing module)(71)은 P2P 클라이언트의 외부 인터페이스를 관리하기에 적합하고, 적어도 P2P 클라이언트와 ES-P 사이 의 제1 메시지 인터페이스, P2P 클라이언트와 RSS-P 사이의 메시지 인터페이스, 및 관련된 P2P 전송 프로토콜을 따르는, P2P 클라이언트들 사이의 메시지 인터페이스를 포함한다. 제3 접속 관리 모듈(71)은 데이터 접속 및 신호 접속 채널을 설정하고, 유지하고, 제거하는 것; NAT(network address translation) 순회 메시지(traversal message)를 전송하는 것; ES-P들, RRS-P들, 및 P2P 클라이언트들의 ID들과 어드레스들 사이의 맵핍(mapping)을 관리하는 것; 및 전송 서비스의 기본 데이터를 제공하는 것을 담당한다.
클라이언트 관리 모듈(client managing module)(72)은 적어도 클라이언트 또는 ES-P의 정보를 포함하고, P2P 클라이언트의 데이터 상호 작용을 가진, 디바이스의 정보를 저장하는데 적합하다. 클라이언트 관리 모듈은 테이블 2에 나타난 포맷의 데이터를 저장할 수 있다. 클라이언트 관리 모듈은 다른 P2P 클라이언트들과 상호 작용하기 위해 제3 접속 관리 모듈과 통신한다.
제2 캐시 관리 모듈(second cache managing module)(73)은 제3 접속 관리 모듈에 의해서 얻어진 파일 데이터를 캐시하기에 접합하다.
다운로드 관리 모듈(download managing module)(74)은, 제2 캐쉬 관리 모듈의 파일 데이터를 저장 모듈에 쓰기 위해, 제2 캐쉬 관리 모듈과 통신하기에 적합하다. API 인터페이스는 다운로드 관리 모듈과 제2 캐쉬 관리 모듈 사이에서 사용될 수 있다.
P2P 클라이언트의 작동 원리를, 전술한 P2P 클라이언트의 구조에 기초하고 도 8을 참조하여, 여기서부터 상세하게 설명한다.
스텝 81: P2P 클라이언트는, 일반적으로 페이지(page)인 EU-포탈을 통해서, 파일의 메타데이터를 얻는다.
스텝 82: 파일 다운로드를 위한 제1 요청을, P2P 클라이언트와 RRS-P 사이의 메시지 인터페이스를 통해서, RRS-P에 송신하는 단계.
스텝 83: RRS-P로부터 회신 된 ES-P 정보를, P2P 클라이언트와 RRS-P 사이의 메시지 인터페이스를 통해서, 수신하는 단계.
스텝 84: 파일 다운로드 요청을, P2P 클라이언트와 ES-P 사이의 제1 메시지 인터페이스를 통해서, ES-P에 송신하는 단계.
스텝 85: ES-P가 P2P 클라이언트의 정보를, P2P 클라이언트와 ES-P 사이의 제1 메시지 인터페이스를 통해서, 회신하는지 여부를 판단하는 단계. 회신한다면, 프로세스는 스텝 86으로 속행하고, 그렇지 않으면 프로세스는 스텝 87로 속행한다.
스텝 86: 파일 다운로드 요청을 ES-P로부터 회신받은 P2P 클라이언트에 송신하고, 파일 다운로드를 시작하는 단계.
스텝 87: 시드 파일을, P2P 클라이언트와 ES-P사이의 제1 메시지 인터페이스를 통해서, ES-P에 업로드하는 단계.
전술된 P2P 클라이언트의 구조에 기초하여, P2P 클라이언트는
얻은 조각 데이터(slice data)를 번역하고(decode) 원래의 패킷을 회복하는 디코더(decoder)(75);
다른 네트워크 노드와 P2P 접속 상태를 모니터하고 조절하는데 적합한 제2 토폴로지 관리 모듈(second topology managing module)(76); 및
미디어 재생기(media player)에 스트리밍 데이터를 전송하는데 적합한 미디어 서버(media sever)(77)
를 더 포함할 수 있다. (상세하게는, 중국특허공개공보 200710089600.X호 참조)
전술한 실시예에 따른 방법 및 디바이스를 사용한 실시예를 다음부터 설명한다.
도 9는 정규 다운로드 프로세스(normal download process)의 도식적인 다이어그램이다. 프로세스는 다음의 단계들을 포함한다.
스텝 91: 사용자가 파일 다운로드를 클릭한다.
스텝 92: 사용자는 EU-포탈로부터 파일의 메타데이터 정보를 얻는다.
스텝 93: P2P 클라이언트 프로그램의 트리거링(triggering).
스텝 94: P2P 클라이언트가 메타데이터의 합 계산을 수행하고, 파일의 해쉬 값을 얻는다.
스텝 95: P2P 클라이언트가 파일 다운로드 요청을 RRS-P로 송신한다. 요청은 파일의 해쉬 값을 운반한다.
스텝 96: RRS-P는 P2P 클라이언트의 POP를 P2P 클라이언트의 IP 어드레스에 따라 결정한다.
스텝 97: RRS-P는 파일이 P2P 클라이언트의 POP에 존재하는지 여부를 체크한다.
스텝 98: RRS-P는 파일을 저장하고 있는 ES-P의 어드레스를 클라이언트에게 회신한다. 만약 파일이 POP에 존재하지 않으면, 프로세스는 도 10a 및 도10b의 교차-POP(cross-POP) 다운로드 프로세스와 동일하다.
스텝 99: P2P 클라이언트는 파일 다운로드 요청을 ES-P에 송신한다. 요청은 파일의 해쉬 값을 운반한다.
스텝 910: ES-P는 P2P 클라이언트의 정보를 같은 파일을 다운로드 하는 클라이언트들의 리스트에 추가한다.
스텝 911: ES-P는 그 파일을 다운로드 하고 있는 다른 P2P 클라이언트들의 정보를 P2P 클라이언트에게 회신한다.
스텝 912: P2P 클라이언트는 파일 다운로드 요청을 그 파일을 다운로드 하고 있는 다른 P2P 클라이언트들에게 송신한다.
스텝 913: P2P 클라이언트는 그 파일을 다운로드 하고 있는 다른 P2P 클라이언트들로부터 파일 데이터를 얻는다.
도 10a 및 도 10b는 본 발명의 실시예에 따른 교차-POP(cross-POP) 다운로드 프로세스의 도식적인 다이어그램이다.
스텝 101: 사용자가 파일 다운로드를 클릭한다.
스텝 102: 사용자는 EU-포탈로부터 파일의 메타데이터 정보를 얻는다.
스텝 103: 클라이언트 프로그램이 트리거링(triggering)
스텝 104: P2P 클라이언트는 메타데이터의 합 계산을 수행하고, 파일의 해쉬 값을 얻는다.
스텝 105: P2P 클라이언트는 RRS에 파일 다운로드 요청을 송신한다. 요청은 파일의 해쉬 값을 포함한다.
스텝 106: RRS-P는 클라이언트의 IP 어드레스에 따라 클라이언트의 POP를 결정한다.
스텝 107: RRS-P는 파일이 클라이언트의 POP에 존재하는지 여부를 체크한다.
스텝 108: 파일이 POP에 존재하지 않는다면, RRS-P는 POP의 ES-P의 부하를 계산하고 최소의 부하를 가진 ES-P를 선택한다.
스텝 109: RRS는 최소의 부하를 가진 ES-P를 파일의 ES-P 정보에 추가한다.
스텝 110: ES-P 정보를 P2P 클라이언트에 회신한다.
스텝 111: 클라이언트는 ES-P에 파일 다운로드 요청을 송신한다. 요청은 파일의 해쉬 값을 운반한다. ES-P는 파일이 국부적으로(locally) 저장되어 있는지 여부를 체크한다. 그렇다면, 프로세스는 정규 다운로드 프로세스와 동일하다.
스텝 112: 파일이 국부적으로 저장되어 있지 않다면, ES-P는 파일 다운로드 요청을 RRS-P로 송신한다.
스텝 113: RRS-P는 파일이 다른 POP들에 존재하는지 여부를 체크한다.
스텝 114: RRS-P는 다른 POP들의 ES-P들의 정보를 ES-P에 회신한다.
스텝 115: ES는 파일 다운로드 요청을 다른 POP들의 ES-P들에 송신한다. 요청은 파일의 해쉬 값을 운반한다.
스텝 116: 다른 POP들의 ES-P들은 파일 데이터를 요청한 ES-P에 전송한다.
스텝 117: P2P 클라이언트의 정보를 그 파일을 다운로드 하는 클라이언트들의 리스트에 추가한다.
스텝 118: 다운로드 서비스를 P2P 클라이언트에게 제공한다.
도 11a 및 도 11b는 본 발명의 실시예에 따른 BT 호환성(BT compatible) 다운로드 프로세스의 도식적인 다이어그램이다. 이 실시예는 BT 프로토콜이 지원되는 것으로 가정한다.
스텝 A01: 사용자는 BT 포탈로부터 BT 시드 파일을 얻는다.
스텝 A02: 사용자는 다운로드를 위해 시드 파일과 관련된 파일을 선택한다.
스텝 A03: P2P 클라이언트 프로그램의 트리거링(triggering).
스텝 A04: P2P 클라이언트는 시드 파일을 구문 분석하고, 파일의 해쉬 값을 얻는다.
스텝 A05: P2P 클라이언트는 파일 다운로드 요청을 RRS-P에 송신한다. 요청은 파일의 해쉬 값을 운반한다.
스텝 A06: RRS-P는 P2P 클라이언트의 POP를 P2P 클라이언트의 IP 어드레스에 따라서 결정한다.
스텝 A07: RRS-P는 P2P 클라이언트의 POP에 그 파일이 존재하는지 여부를 체크한다.
스텝 A08: 만약 POP에 파일이 존재하지 않는다면, RRS-P는 POP의 ES-P의 부하를 계산하고, 최소의 부하를 가진 ES-P를 선택한다.
스텝 A09: RRS-P는 ES-P를 파일의 ES 정보에 추가한다.
스텝 A10: P2P 클라이언트에게 ES-P 정보를 회신한다.
스텝 A11: P2P 클라이언트는 파일 다운로드 요청을 ES로 송신한다. 요청은 파일의 해쉬 값을 운반한다.
스텝 A12: ES는 파일이 국부적으로 저장되어 있는지 체크한다. 국부적으로 저장되어 있다면, 프로세스는 정규 다운로드 프로세스와 동일하다.
스텝 A13: 파일이 국부적으로 저장되어 있지 않으면, ES-P는 파일 다운로드 요청을 RRS-P에 송신한다.
스텝 A14: RRS-P는 다른 POP들에 파일이 저장되어 있는지 여부를 체크한다. 저장되어 있다면, 프로세스는 도 10a 및 도 10b의 교차-POP 다운로드 프로세스와 동일하다.
스텝 A15: 모든 POP 내에 그 파일이 부존재 함을 ES-P에 통지한다.
스텝 A16: ES-P는 P2P 클라이언트에게 시드 파일의 업로드를 요청한다.
스텝 A17: P2P 클라이언트는 시드 파일을 ES-P로 업로드한다.
스텝 A18: ES-P는 시드 파일을 구문 분석하고, BT 트랙커(BT tracker)의 정보를 얻는다.
스텝 A19: BT 트랙커로부터 BT 클라이언트의 정보를 요청한다.
스텝 A20: BT 트랙커가 그 파일을 다운로드 하고 있는 BT 클라이언트의 정보를 ES로 회신한다.
스텝 A21: ES-P는 파일 다운로드 요청을 BT 클라이언트에게 송신한다.
스텝 A22: BT 클라이언트는 파일 데이터를 ES-P로 전송한다.
스텝 A23: P2P 클라이언트의 정보를 그 파일을 다운로드하는 클라이언트들의 리스트에 추가한다.
스텝 A24: ES-P가 P2P 클라이언트에게 다운로드 서비스를 제공한다.
전술한 실시예의 스텝 A15에서, RRS-P가 모든 POP들 내에 그 파일이 부존재 함을 ES-P에 통지할 때, ES-P는 P2P 클라이언트에 의해 업로드 된 시드 파일을 얻고, 스텝 A16 내지 A22의 시드 파일의 구문 분석 후에, P2P 클라이언트로부터 P2P 전송 프로토콜을 통하여 파일을 얻는다. 전술한 실시예에서, BT 프로토콜이 사용되면, P2P 프로토콜은 BT 프로토콜이고 P2P 클라이언트는 BT 클라이언트이다.
전술한 실시예에 더하여, RRS-P가 스텝 A15에서 ES-P에 모든 POP들 내에 파일의 부존재를 ES-P에 통지한 경우, 만약 제1 파일을 저장하고 있는 컨텐트 서버의 어드레스가 파일 다운로드 요청을 한 P2P 클라이언트에 저장되어 있으며, ES-P는 P2P 클라이언트에 의해 업로드 된 컨텐트 서버의 주소를 얻을 수 있고, 컨텐트 서버로부터 파일을 얻을 수 있다.
전술한 방법에서, 파일이 P2P 클라이언트의 POP 내에 존재하지 않으면, RRS-P는 POP 내의 ES-PS의 부하를 계산하고, 최소 부하를 가진 ES를 선택한다. 본 발명을 실시하면서, P2P 클라이언트의 POP 내의 ES-P를 선택하기 위해 다른 정책들이 사용될 수 있다. 예를 들면, 더 낳은 서버 성능을 가진 ES-P가 서버 성능에 따라서 선택될 수 있고, 작은 네트워크 트래픽 양을 가진 ES-P가 현재 네트워크 트래픽 상태에 따라서 선택될 수 있고, 또는 P2P 클라이언트에 가장 가까운 ES-P가 P2P 클라이언트가 위치한 네트워크 위치에 따라 선택될 수 있다. 본 발명은 구체적은 선택 정책을 제한하지 않는다.
본 발명의 실시예에 따르면, 종래 기술의 MDN의 구조는 다음과 같이 사용된 다. RRS-P는 클라이언트의 다운로드 요청을 POP의 ES-P에 스케줄한다. ES-P는 POP 내의 같은 파일의 다운로드 하고 있는 클라이언트들의 정보를 기록한다. 클라이언트의 다운로드 요청을 받은 후에, ES는 파일 다운로드 서비스와 그 파일을 다운로드 하고 있는 다른 클라이언트의 정보를 클라이언트에게 제공한다. 이것은 기본 네트워크에의 충격 없이 클라이언트들 사이의 데이터 스트림을 하나의 POP로 제한한다. 본 발명의 다른 실시예에서는, ES-P는 트랙커로부터 다른 P2P 클라이언트들의 정보를 얻기 위해 P2P로 동작할 수 있고, 다른 P2P 클라이언트로부터 파일을 다운로드 할 수 있다. 그리고, ES-P는 POP의 클라이언트에게 다운로드 서비스를 제공한다. 이는 클라이언트와 BT 클라이언트들 사이의 데이터 전송을 피한다. 따라서, 무질서한 스트림을 한곳에 모이게 한다.
전술된 실시예인 방법의 전부 또는 일부의 단계들은 프로그램으로부터 지시받는 하드웨어에 의해 실행될 수 있다는 것을 이 기술분야의 당업자라면 충분히 이해할 수 있다. 프로그램은, 예를 들어 ROM, RAM, 자기 디스크, 및 컴팩트 디스크인, 컴퓨터로 재생가능한 저장 장치에 저장될 수 있다. 실행되면, 프로그램은 다음과 같은 단계들을 포함한다. 사용자는, 제1 파일을 다운로드 하기 위해, 제1 요청 메시지를 얻는 것을 RRS에 요청하고 제 클라이언트의 AS를 결정한다. RRS는 제1 파일을 저장한 ES의 AS를 찾고, 제1 파일을 저장한 적어도 하나의 ES의 어드레스를 회신한다. 그리고 ES는 제1 파일을 다운로드 하기 위해 제1 클라이언트의 요청을 얻고, 제1 클라이언트의 정보와 제1 파일 사이의 맵핑을 기록하고, 그리고 제1 파일을 다운로드 하는 다른 클라이언트의 정보를 ES의 기록에 따라서 제1 클라이언 트에게 회신한다.
본 발명의 실시예의 파일 데이터 분배 방법 및 디바이스에 대해 서술하였다. 구체적인 예들은 본 발명의 원리와 실시 형태를 설명하면서 주어졌다. 이 실시예들은 본 발명의 실시 형태의 이해를 돕기 위해서만 확장될 수 있고, 본 발명을 제한하도록 확장되어서는 안 된다. 이 기술의 당업자가 본 발명의 범위에서 벗어나는 일 없이, 본 발명을 다양하게 변경, 변화시킬 수 있는 것은 명백하다.

Claims (20)

  1. 파일 데이터를 분배하는 방법으로서,
    제1 파일의 다운로드에 대한 제1 클라이언트의 제3 요청을 획득하는 단계;
    상기 제1 클라이언트의 자율 시스템(AS: autonomous system) 내에서 상기 제1 파일을 다운로드 하고 있는 다른 클라이언트들의 정보를, 상기 제3 요청 및 맵핑(mapping) 정보에 따라서 획득하는 단계; 및
    상기 다른 클라이언트들의 정보를, 상기 제1 파일을 획득하고자 하는 상기 제1 클라이언트에게 회신하는 단계
    를 포함하고,
    상기 맵핑 정보는, P2P를 지원하는 에지 서버(ES-P: Edge Server that supports peer-to-peer)에 기록된 상기 제1 파일과 상기 다른 클라이언트들 사이의 맵핑에 관한 정보인,
    파일 데이터를 분배하는 방법.
  2. 제1항에 있어서,
    상기 제1 클라이언트의 제1 요청 메시지를 획득하고, 상기 제1 클라이언트의 어드레스에 따라서 상기 제1 클라이언트가 위치한 상기 자율 시스템을 결정하는 단계; 및
    상기 제1 클라이언트의 상기 자율 시스템 내의 ES-P가 상기 제1 파일을 저장하고 있는지 여부를 판단하고, 저장하고 있다면 상기 제1 파일을 저장하고 있는 적어도 하나의 ES-P의 어드레스를 상기 제1 클라이언트에게 회신하고, 상기 제1 파일의 다운로드에 대한 상기 제1 클라이언트의 상기 제3 요청을 획득하는 단계로 속행하는 단계
    를 더 포함하는, 파일 데이터를 분배하는 방법.
  3. 제2항에 있어서,
    상기 제1 클라이언트의 상기 자율 시스템 내에 상기 제1 파일을 저장하고 있는 ES-P가 없다면, 상기 제1 클라이언트의 상기 자율 시스템 내의 ES-P를 미리 설정된 규칙에 따라 선택하는 단계;
    상기 ES-P의 어드레스를 상기 제1 클라이언트에게 회신하는 단계;
    선택된 상기 ES-P로부터 송신되는 제2 요청 메시지를 수신하는 단계;
    상기 제2 요청 메시지를 전송한 상기 ES-P와 상기 제1 파일 사이의 맵핑을 기록하고, 다른 자율 시스템들 내에서 상기 제1 파일을 저장하고 있는 ES-P의 어드레스를 상기 제2 요청 메시지를 전송한 상기 ES-P에 회신하는 단계; 및
    다른 자율 시스템들 내에서 상기 제1 파일을 저장하고 있는 ES-P로부터 상기 제1 파일을 획득하고, 상기 제1 파일을 상기 제1 클라이언트에게 송신하는 단계
    를 더 포함하는, 파일 데이터를 분배하는 방법.
  4. 제3항에 있어서,
    상기 제1파일을 다운로드 하기 위한, 선택된 상기 ES-P로부터 송신되는 제2 요청 메시지를 수신한 후에,
    다른 자율 시스템들 내에서 상기 제1 파일을 저장하고 있는 ES-P가 발견되지 않으면, 상기 제2 요청 메시지를 송신한 상기 ES-P가, 상기 제1 클라이언트가 송신한 시드 파일(seed file)에 따라서 상기 제1 파일을 P2P(peer-to-peer) 전송 프로토콜을 통하여 다운로드 하고, 상기 제1 파일을 상기 제1 클라이언트에게 송신하는 단계
    를 더 포함하는, 파일 데이터를 분배하는 방법.
  5. 제3항에 있어서,
    상기 제1파일을 다운로드 하기 위한, 선택된 상기 ES-P로부터 송신되는 상기 제2 요청 메시지를 수신한 후에,
    다른 자율 시스템들 내에 상기 제1 파일을 저장하고 있는 ES-P가 발견되지 않으면, 상기 제2 요청 메시지를 송신한 상기 ES-P가 상기 제1 클라이언트가 송신하는 컨텐트 서버(content server)의 어드레스에 따라서 상기 제1 파일을 상기 제1 파일을 저장하고 있는 상기 컨텐트 서버로부터 다운로드 하고, 상기 제1 파일을 상기 제1 클라이언트에게 송신하는 단계를 더 포함하는, 파일 데이터를 분배하는 방법.
  6. 제3항에 있어서,
    상기 제1 클라이언트의 상기 자율 시스템들 내에서의 ES-P의 선택은 미리 설정된 규칙에 따라서 이루어지는, 파일 데이터를 분배하는 방법.
  7. 요청 전달 시스템(RRS)으로서,
    외부 인터페이스와의 데이터 상호작용(data interactions)을 관리하는 제1 접속 관리 모듈;
    파일 정보를 저장하는 파일 관리 모듈; 및
    사용자 스케줄러
    를 포함하고,
    상기 데이터 상호작용은 제1 파일의 다운로드에 대한 제1 클라이언트의 제1 요청 메시지를 획득하는 과정, 및 상기 사용자 스케줄러에 의해 획득되는 P2P를 지원하는 에지 서버(ES-P: Edge Server that supports peer-to-peer)의 어드레스를 상기 제1 클라이언트에게 회신하는 과정을 포함하고,
    상기 파일 관리 모듈은 파일 ID와 자율 시스템(AS: autonomous system) 내의 상기 ES-P의 어드레스 사이의 맵핑을 포함하고,
    상기 사용자 스케줄러는 상기 파일 관리 모듈에 저장되어 있는 상기 파일 정보에 따라서 상기 ES-P의 어드레스를 할당하고, 상기 할당은, 상기 제1 요청 메시지에 의해 운반되는 상기 제1 파일의 ID를 획득하는 과정 및 상기 제1 파일의 상기 ID에 따라서 상기 제1 클라이언트의 상기 자율 시스템 내에서 상기 제1 파일을 저장하고 있는 ES-P의 어드레스를 찾는 과정을 포함하는,
    요청 전달 시스템(RRS).
  8. 제7항에 있어서,
    데이터를 운영하는 얻어진 ES-P에 따라서 부하를 균형있게 조절하기 위해 ES-P의 부하를 계산하는 부하 밸런서(load balancer)를 더 포함하고,
    상기 사용자 스케줄러는, 상기 제1 클라이언트의 상기 자율 시스템 내에서 상기 제1 파일을 저장하는 ES-P가 없는 경우, ES-P의 부하에 따라서 상기 제1 클라이언트의 상기 자율 시스템 내에서 ES-P를 선택하기 위해, 부하 밸런서와 통신하며, 선택된 상기 ES-P에 의해서 송신되는, 상기 제1 파일을 다운로드 하기 위한 제2 요청 메시지가 운반하는 상기 제1 파일의 상기 ID에 따라서 다른 자율 시스템들 내에서 상기 제1 파일을 저장하고 있는 ES-P의 어드레스를 찾기 위해 상기 파일 관리 모듈과 통신하고,
    상기 제1 접속 관리 모듈이 관리하는 상기 데이터 상호작용은, 상기 제1 파일의 다운로드를 위한, 선택된 상기 ES-P부터 송신되는 상기 제2 요청 메시지를 수신하는 과정, 및 다른 자율 시스템들 내의 상기 ES-P의 어드레스를 선택된 상기 ES-P에 회신하는 과정을 포함하는,
    요청 전달 시스템(RRS).
  9. 제8항에 있어서,
    상기 파일 관리 모듈은 또한 상기 제1 파일의 상기 ID를 기록하고, 선택된 상기 ES-P의 어드레스와 상기 자율 시스템 사이의 맵핑을 기록하는, 요청 전달 시스템(RRS).
  10. 제8항에 있어서,
    상기 사용자 스케줄러는, 상기 제1 파일을 저장하는 ES-P를 포함하는 자율 시스템이 발견되지 않는 경우, 상기 제2 요청 메시지에 의해서 운반되는 상기 제1 파일의 상기 ID에 따라서 통지 메시지를 다운로드를 요청한 상기 ES-P에 회신하도록 상기 제1 접속 관리 모듈을 트리거(trigger)하는, 요청 전달 시스템(RRS).
  11. 에지 서버(ES)로서,
    외부 인터페이스와의 데이터 상호작용을 관리하는 제2 접속 관리 모듈;
    저장 모듈; 및
    세션 관리 모듈
    을 포함하고,
    상기 데이터 상호작용은, 제1 파일의 다운로드에 대한 제1 클라이언트의 제3 요청 메시지를 수신하는 과정, 및 상기 제1 파일을 다운로드 하는 클라이언트들의 정보를 회신하는 과정을 포함하고,
    상기 저장 모듈은 상기 제1 파일을 다운로드 하는 클라이언트들의 정보와 상기 클라이언트가 위치한 자율 시스템 내의 상기 제1 파일의 ID 사이의 맵핑을 기록하고,
    상기 세션 관리 모듈은 상기 제3 요청 메시지에 의해 운반된 상기 제1 파일의 ID를 얻고, 상기 제1 파일의 ID에 따라서 상기 제1 파일을 다운로드 하는 클라이언트들의 정보의 상기 저장 모듈을 찾는,
    에지 서버(ES).
  12. 제11항에 있어서,
    제1 캐시 관리 모듈(first cache managing module)을 더 포함하고,
    상기 세션 관리 모듈은, 상기 자율 시스템 내에서 상기 제1 파일을 다운로드 하는 클라이언트를 상기 세션 관리 모듈이 발견하지 못한 경우, 상기 제1 파일을 다운로드 하기 위한 제2 요청 메시지를, P2P를 지원하는 요청 전달 시스템(RRS-P: Request Routing System that supports peer-to-peer)에 송신하도록 상기 제2 접속 관리 모듈을 트리거(trigger)하고,
    상기 제2 접속 관리 모듈에 의해 관리되는 상기 데이터 상호작용은, 상기 RRS-P에 의해 회신 되는, 다른 자율 시스템들 내의 P2P를 지원하는 에지 서버(ES-P)의 어드레스를 획득하는 과정, 상기 ES-P로부터 상기 제1 파일을 획득하는 과정, 및 상기 제1 캐시 관리 모듈로 캐시 되는 상기 제1 파일의 상기 데이터를 상기 제1 클라이언트에 송신하는 과정을 더 포함하고,
    상기 제1 캐시 관리 모듈은 상기 제2 접속 관리 모듈에 의해 얻어진 상기 제1 파일의 상기 데이터를 캐시(cache)하고 관리하며,
    상기 저장 모듈은 상기 제1 클라이언트의 정보와 상기 제1 파일의 상기 ID 사이의 맵핑을 더 기록하는,
    에지 서버(ES).
  13. 제12항에 있어서,
    상기 제2 접속 관리 모듈은, 상기 요청 전달 시스템이 다른 자율 시스템들 내에서 상기 제1 파일을 저장하고 있는 ES-P의 어드레스를 회신하지 못하는 경우, 상기 제1 클라이언트로부터 송신되는 P2P 프로토콜 시드 파일을 획득하여 상기 제1 파일을 획득하고,
    상기 시스템은 파서(parser)를 더 포함하고,
    상기 파서는 상기 제2 접속 관리 모듈로부터 얻는 상기 P2P 프로토콜 시드 파일을 구문 분석(parse)하고, 구문 분석 결과에 따라 상기 P2P 프로토콜을 통해서 상기 제1 파일을 획득하도록 상기 제2 접속 관리 모듈에 요청하는,
    에지 서버(ES).
  14. 제12항에 있어서,
    상기 제2 접속 관리 모듈은, 상기 요청 전달 시스템이 다른 자율 시스템들 내에서 상기 제1 파일을 저장하고 있는 ES-P의 어드레스를 회신하지 못하면, 상기 제1 클라이언트에 의해 송신되는 상기 제1 파일을 저장하고 있는 컨텐트 서버의 어드레스를 획득하고, 상기 세션 관리 모듈에 의해 호출된 후에, 상기 컨텐트 서버의 어드레스로부터 상기 제1 파일을 획득하는, 에지 서버(ES).
  15. 제11항에 있어서,
    부하 데이터를 수집하고 수집한 부하 데이터를 P2P를 지원하는 요청 전달 시스템에 보고하는 부하 리포터(load reporter)를 더 포함하는, 에지 서버(ES).
  16. 클라이언트(client)로서,
    제3 접속 관리 모듈; 클라이언트 관리 모듈; 제2 캐시 관리 모듈; 및 다운로드 관리 모듈을 포함하고,
    상기 제3 접속 관리 모듈은 외부 인터페이스와의 데이터 상호작용을 관리하고, 제1 파일 다운로드를 위한 제1 요청 메시지를 P2P를 지원하는 요청 전달 시스템(RRS-P)에 송신하고, 상기 RRS-P로부터 P2P를 지원하는 에지 서버(ES-P)의 어드레스를 획득하고, 상기 제1 파일 다운로드를 위한 제2 요청 메시지를 상기 ES-P에 송신하고, ES-P로부터 회신 되는, 제1 파일을 다운로드 하는 다른 디바이스에 대한 정보를 획득하고, 그리고 상기 제1 파일의 데이터를 획득하고 상기 데이터를 상기 제2 캐시 관리 모듈에 저장하기 위해, 상기 클라이언트 관리 모듈에 의해 호출된 후에 다른 디바이스들과 상호작용하고,
    상기 클라이언트 관리 모듈은 상기 디바이스 정보를 저장하며 상기 클라이언트 또는 에지 서버의 정보를 포함하고,
    상기 제2 캐시 관리 모듈은 상기 제3 접속 관리 모듈에 의하여 얻어진 상기 제1 파일의 상기 데이터를 캐시하고,
    상기 다운로드 관리 모듈은 상기 제2 캐시 관리 모듈로부터 저장 디바이스로 상기 제1 파일의 상기 데이터를 쓰는,
    클라이언트(client).
  17. 파일 데이터를 분배하는 시스템으로서,
    P2P를 지원하는 요청 전달 시스템(RRS-P), 및 P2P를 지원하는 에지 서버(ES-P)를 포함하고,
    상기 RRS-P는, 제1 파일을 다운로드 하기 위한 제1 클라이언트의 제1 요청 메시지를 획득하고, 상기 제1 클라이언트가 위치한 자율 시스템(AS: autonomous system)을 결정하고, 상기 자율 시스템 내에 상기 제1 파일을 저장하고 있는 ES-P를 찾고, 그리고 상기 제1 파일을 저장하고 있는 적어도 하나의 ES-P의 어드레스를 상기 제1 클라이언트에 회신하며,
    상기 ES-P는, 상기 제1 파일을 다운로드 하고 있는 다른 클라이언트들의 정보를 상기 클라이언트의 요청 및 상기 클라이언트와 상기 ES-P에 기록된 상기 제1 파일 사이의 맵핑에 관한 정보에 따라서 상기 클라이언트에게 회신하는,
    파일 데이터를 분배하는 시스템.
  18. 제17항에 있어서,
    상기 제1 클라이언트의 상기 자율 시스템 내에서 상기 제1 파일을 저장하는 ES-P가 없는 경우, 상기 RRS-P는 상기 제1 클라이언트의 상기 자율 시스템 내에서 ES-P를 미리 설정된 규칙에 따라서 선택하고, 상기 ES-P의 어드레스를 상기 제1 클라이언트에게 회신하고, 상기 ES-P로부터 송신되는 제2 요청 메시지를 획득하고, 상기 제2 요청 메시지를 송신하는 ES-P와 상기 제1 파일 사이의 맵핑을 기록하고, 그리고 다른 자율 시스템들 내에서 상기 제1 파일을 저장한 ES-P의 어드레스를 상기 제2 요청 메시지를 송신한 상기 ES-P에 회신하고;
    상기 ES-P는 상기 제1 파일을 다운로드 하기 위한 상기 제2 요청 메시지를 상기 제1 파일을 다운로드 하기 위한 상기 제1 클라이언트의 제3 요청 메시지에 따라 발생시키고, 상기 제1 파일을 상기 RRS-P로부터 회신 되는 상기 제1 파일을 저장하고 있는 상기 ES-P로부터 획득하고, 그리고 상기 제1 파일을 상기 제1 클라이언트에게 송신하는,
    파일 데이터를 분배하는 시스템.
  19. 제18항에 있어서,
    다른 자율 시스템들 내에서 상기 제1 파일을 저장하는 ES-P가 발견되지 않은 경우, 상기 RRS-P는 상기 제2 요청 메시지를 송신한 상기 ES-P에게 통지하고;
    상기 ES-P는 상기 제1 파일을, P2P 전송 프로토콜을 통하여, 상기 제1 클라이언트로부터 송신되는 시드 파일에 따라서 다운로드 하거나, 또는 상기 제1 파일을, 상기 제1 파일을 저장하는 컨텐트 서버로부터, 상기 제1 클라이언트에 의해 송신되는 상기 컨텐트 서버의 상기 어드레스에 따라서 다운로드 하는,
    파일 데이터를 분배하는 시스템.
  20. 컴퓨터로 판독 가능한 저장 매체로서,
    실행되는 경우, 제1항 내지 제6항 중 어느 한 항의 방법을 실행하는 컴퓨터 프로그램 코드가 저장된,
    컴퓨터로 판독 가능한 저장 매체.
KR1020097012923A 2007-05-21 2008-01-22 파일 데이터 분배 방법, 디바이스, 및 시스템 KR101072966B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNB2007101021005A CN100484069C (zh) 2007-05-21 2007-05-21 一种文件数据分发方法及相关设备
CN200710102100.5 2007-05-21

Publications (2)

Publication Number Publication Date
KR20090094292A KR20090094292A (ko) 2009-09-04
KR101072966B1 true KR101072966B1 (ko) 2011-10-12

Family

ID=38783181

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097012923A KR101072966B1 (ko) 2007-05-21 2008-01-22 파일 데이터 분배 방법, 디바이스, 및 시스템

Country Status (5)

Country Link
US (1) US8756296B2 (ko)
EP (1) EP2088719B1 (ko)
KR (1) KR101072966B1 (ko)
CN (1) CN100484069C (ko)
WO (1) WO2008141538A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103702178A (zh) * 2013-12-13 2014-04-02 乐视网信息技术(北京)股份有限公司 一种播放方法及电子设备

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11080138B1 (en) * 2010-04-26 2021-08-03 Pure Storage, Inc. Storing integrity information in a vast storage system
US11340988B2 (en) 2005-09-30 2022-05-24 Pure Storage, Inc. Generating integrity information in a vast storage system
CN100484069C (zh) 2007-05-21 2009-04-29 华为技术有限公司 一种文件数据分发方法及相关设备
CN101471855B (zh) * 2007-12-29 2012-12-12 华为终端有限公司 一种通信设备及其应用方法、系统
CN101588468B (zh) * 2008-05-20 2013-08-07 华为技术有限公司 一种基于p2p的媒体播放方法、装置和系统
CN101610162A (zh) * 2008-06-16 2009-12-23 华为技术有限公司 一种基于对等存储网络提供内容的方法、系统和设备
CN101764829A (zh) * 2008-11-13 2010-06-30 北京搜狗科技发展有限公司 浏览器获得网络资源的方法及浏览器
CN101483604B (zh) * 2009-02-16 2011-09-14 华为技术有限公司 资源列表发送方法、装置和系统
CN101540884B (zh) * 2009-04-23 2010-12-08 南京大学 一种基于跳图的对等化VoD系统构建方法
CN101610165B (zh) * 2009-07-29 2012-08-29 腾讯科技(深圳)有限公司 一种自动扩散资源的方法和装置
CN101645928B (zh) * 2009-08-26 2012-07-25 成都市华为赛门铁克科技有限公司 内容资源缓存方法、装置及系统
CN101997891B (zh) * 2009-08-28 2013-12-04 华为技术有限公司 一种p2p媒体流分发的方法、装置及系统
CN101997901B (zh) * 2009-08-28 2014-04-30 国际商业机器公司 P2p文件传输管理方法与系统
US8474038B1 (en) 2009-09-30 2013-06-25 Emc Corporation Software inventory derivation
US8655844B1 (en) 2009-09-30 2014-02-18 Emc Corporation File version tracking via signature indices
US8701193B1 (en) 2009-09-30 2014-04-15 Emc Corporation Malware detection via signature indices
US20110202646A1 (en) * 2010-02-14 2011-08-18 Bhatia Randeep S Policy controlled traffic offload via content smart-loading
CN101783816B (zh) * 2010-03-22 2013-04-17 杭州华三通信技术有限公司 一种下载流量控制方法和设备
CN101917488B (zh) * 2010-08-20 2013-09-11 华为数字技术(成都)有限公司 一种bt下载方法、装置及系统
CN102164160B (zh) * 2010-12-31 2015-06-17 青岛海信传媒网络技术有限公司 支持大并发量文件下载的方法、装置及系统
US20120215880A1 (en) * 2011-02-23 2012-08-23 Vikas Lamba Forwarding data from server to device
US9172708B2 (en) 2011-06-23 2015-10-27 Microsoft Technology Licensing, Llc Computing system for managing data
CN102882699B (zh) * 2011-07-14 2015-07-29 华为技术有限公司 边缘节点的分配方法和装置及边缘节点控制器
KR101220671B1 (ko) * 2011-08-05 2013-01-09 (주)네오위즈게임즈 파일 다운로드를 위한 네트워크 제어 장치 및 방법
CN102497402B (zh) * 2011-12-01 2014-11-26 深圳市同洲电子股份有限公司 一种内容注入方法及系统、内容分发方法及系统
WO2013086707A1 (zh) * 2011-12-14 2013-06-20 华为技术有限公司 内容分发网络cdn路由方法、设备和系统
CN102594921A (zh) * 2012-03-22 2012-07-18 网宿科技股份有限公司 基于内容分发网络的同步文件的访问方法和系统
CN103516606B (zh) * 2012-06-25 2017-08-11 中兴通讯股份有限公司 一种cdn路由实现方法和系统
JP5918642B2 (ja) * 2012-06-29 2016-05-18 Kddi株式会社 Webコンテンツの配信装置
CN102868935A (zh) * 2012-08-24 2013-01-09 乐视网信息技术(北京)股份有限公司 在内容分发网络中响应多源的调度方法
CN103841156A (zh) * 2012-11-26 2014-06-04 腾讯科技(深圳)有限公司 一种基于端对端协议的文件下载保护方法、装置,及系统
US9614907B2 (en) * 2013-01-04 2017-04-04 Bittorrent, Inc. Expediting content retrieval using peer-to-peer networks
CN103024081B (zh) * 2013-01-04 2016-01-20 福建星网锐捷通讯股份有限公司 适用于有时效保证通讯系统的点对点通讯的终端调度方法
CN103024082B (zh) * 2013-01-04 2016-05-18 福建星网锐捷通讯股份有限公司 一种用于数字媒体分发的点对点通信方法
CN103139301B (zh) * 2013-02-05 2015-08-26 华南师范大学 应用于内容分发网络系统中的互联网访问加速方法及装置
CN103106105A (zh) * 2013-02-20 2013-05-15 东莞宇龙通信科技有限公司 网络设备任务处理方法和系统
CN103312716B (zh) * 2013-06-20 2016-08-10 北京蓝汛通信技术有限责任公司 一种访问互联网信息的方法及系统
CN103747273A (zh) * 2013-12-23 2014-04-23 乐视网信息技术(北京)股份有限公司 一种视频请求方法、设备及系统
CN103731511B (zh) * 2014-01-26 2017-02-22 飞狐信息技术(天津)有限公司 一种p2p系统中数据获取方法和装置
US9614724B2 (en) 2014-04-21 2017-04-04 Microsoft Technology Licensing, Llc Session-based device configuration
US10111099B2 (en) 2014-05-12 2018-10-23 Microsoft Technology Licensing, Llc Distributing content in managed wireless distribution networks
US9384334B2 (en) 2014-05-12 2016-07-05 Microsoft Technology Licensing, Llc Content discovery in managed wireless distribution networks
US9384335B2 (en) 2014-05-12 2016-07-05 Microsoft Technology Licensing, Llc Content delivery prioritization in managed wireless distribution networks
US9430667B2 (en) 2014-05-12 2016-08-30 Microsoft Technology Licensing, Llc Managed wireless distribution network
US9874914B2 (en) 2014-05-19 2018-01-23 Microsoft Technology Licensing, Llc Power management contracts for accessory devices
US10037202B2 (en) 2014-06-03 2018-07-31 Microsoft Technology Licensing, Llc Techniques to isolating a portion of an online computing service
US9367490B2 (en) 2014-06-13 2016-06-14 Microsoft Technology Licensing, Llc Reversible connector for accessory devices
CN104092776A (zh) * 2014-07-25 2014-10-08 北京赛科世纪数码科技有限公司 一种信息存取方法和系统
CN105376218B (zh) * 2015-10-21 2020-11-13 上海思华科技股份有限公司 一种快速响应用户请求的流媒体系统和方法
CN105871972A (zh) * 2015-11-13 2016-08-17 乐视云计算有限公司 一种视频资源的分布式缓存方法、装置及系统
CN105872044A (zh) * 2016-03-30 2016-08-17 华南理工大学 基于WebRTC的流媒体多级缓存网络加速系统和方法
CN107172186B (zh) * 2017-06-12 2019-06-14 中国联合网络通信集团有限公司 内容获取方法及系统
CN109992542B (zh) * 2017-12-29 2021-11-30 深圳云天励飞技术有限公司 一种数据搬运方法、相关产品及计算机存储介质
US10817274B2 (en) * 2018-01-31 2020-10-27 Salesforce.Com, Inc. Techniques for distributing software packages
CN108881034B (zh) * 2018-07-03 2021-07-09 网宿科技股份有限公司 一种应用于bt系统的请求响应方法、设备及系统
CN109600453B (zh) * 2019-02-18 2021-10-08 广州卓远虚拟现实科技有限公司 一种分布式虚拟现实内容分发方法和系统
CN110471897B (zh) * 2019-08-22 2021-10-01 湖南快乐阳光互动娱乐传媒有限公司 文件管理方法及装置
KR102297766B1 (ko) * 2020-06-19 2021-09-06 주식회사 크레스프리 엣지 컴퓨팅 시스템에서 영상 데이터를 처리하는 ai 카메라 장치 및 엣지 디바이스
CN112882651A (zh) * 2021-01-07 2021-06-01 浙江大华技术股份有限公司 一种数据处理方法、设备及计算机可读存储介质
CN113783731A (zh) * 2021-09-15 2021-12-10 云茂互联智能科技(厦门)有限公司 边缘服务器的控制方法、装置、存储介质及电子装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007039576A1 (en) 2005-09-30 2007-04-12 Nokia Siemens Networks Gmbh & Co. Kg A content distribution system and a user request redirection method thereof

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1388073B1 (en) 2001-03-01 2018-01-10 Akamai Technologies, Inc. Optimal route selection in a content delivery network
US7379428B2 (en) 2002-10-31 2008-05-27 Hewlett-Packard Development Company, L.P. Autonomous system topology based auxiliary network for peer-to-peer overlay network
US7783777B1 (en) * 2003-09-09 2010-08-24 Oracle America, Inc. Peer-to-peer content sharing/distribution networks
EP1617591A1 (fr) 2004-07-15 2006-01-18 France Telecom Procédé et serveur de référencement de diffusion poste à poste de fichiers demandés par téléchargement à ce serveur
JP4613627B2 (ja) * 2005-02-08 2011-01-19 株式会社日立製作所 コンテンツ配信システム
US20060184688A1 (en) 2005-02-17 2006-08-17 Nec Laboratories America, Inc. System and Method for Parallel Indirect Streaming of Stored Media from Multiple Sources
US7647424B2 (en) * 2005-06-15 2010-01-12 Hostway Corporation Multi-level redirection system
US7920572B2 (en) 2005-09-20 2011-04-05 Cisco Technology, Inc. Modifying operation of peer-to-peer networks based on integrating network routing information
CN101005369A (zh) 2006-01-19 2007-07-25 深圳市瑞福特信息技术有限公司 一种分布式内容分发网及分布式内容分发和上传的方法
CN100421433C (zh) * 2006-05-29 2008-09-24 中国移动通信集团公司 内容信息的分发方法
CN100405773C (zh) 2006-07-14 2008-07-23 北京时越网络技术有限公司 一种基于内容分发网络系统的点对点内容再分发方法
CN100505696C (zh) 2006-07-19 2009-06-24 华为技术有限公司 在媒体分发网络中实现视频直播的系统、方法和客户端
CA2667696A1 (en) * 2006-09-06 2008-05-15 Akamai Technologies, Inc. Hybrid content delivery network (cdn) and peer-to-peer (p2p) network
US8751605B1 (en) * 2006-11-15 2014-06-10 Conviva Inc. Accounting for network traffic
CN100484069C (zh) * 2007-05-21 2009-04-29 华为技术有限公司 一种文件数据分发方法及相关设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007039576A1 (en) 2005-09-30 2007-04-12 Nokia Siemens Networks Gmbh & Co. Kg A content distribution system and a user request redirection method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103702178A (zh) * 2013-12-13 2014-04-02 乐视网信息技术(北京)股份有限公司 一种播放方法及电子设备

Also Published As

Publication number Publication date
KR20090094292A (ko) 2009-09-04
EP2088719B1 (en) 2014-10-08
WO2008141538A1 (fr) 2008-11-27
US8756296B2 (en) 2014-06-17
EP2088719A1 (en) 2009-08-12
CN100484069C (zh) 2009-04-29
CN101051980A (zh) 2007-10-10
US20090259667A1 (en) 2009-10-15
EP2088719A4 (en) 2010-09-01

Similar Documents

Publication Publication Date Title
KR101072966B1 (ko) 파일 데이터 분배 방법, 디바이스, 및 시스템
US9608957B2 (en) Request routing using network computing components
US10264062B2 (en) Request routing using a popularity identifier to identify a cache component
US7558854B2 (en) Access relaying apparatus
US9444759B2 (en) Service provider registration by a content broker
US8788671B2 (en) Managing content delivery network service providers by a content broker
US8521851B1 (en) DNS query processing using resource identifiers specifying an application broker
US20140059158A1 (en) Method, device and system for processing content
US20030065703A1 (en) Automated server replication
KR101301004B1 (ko) 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
US20110067074A1 (en) Method, device, and system for playing media based on p2p
US8812718B2 (en) System and method of streaming data over a distributed infrastructure
WO2009021374A1 (fr) Système de réseau de pair à pair de service vidéo intégré
CN107211035B (zh) 用于在内容递送网络中监测服务的方法和网络节点
KR100450605B1 (ko) 웹-어플리케이션 서버 및 그의 동적 컨텐츠 제공 방법
Meng et al. Elastic caching solutions for content dissemination services elastic caching solutions for content dissemination services of ip-based internet technologies prospective

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
FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150917

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160921

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170920

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180920

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190917

Year of fee payment: 9