KR101520519B1 - 디지털 데이터 전달 방법 및 장치와, 데이터 소스 선택 방법 및 장치와, 현물 시장 트레이딩 디바이스 - Google Patents

디지털 데이터 전달 방법 및 장치와, 데이터 소스 선택 방법 및 장치와, 현물 시장 트레이딩 디바이스 Download PDF

Info

Publication number
KR101520519B1
KR101520519B1 KR1020107014801A KR20107014801A KR101520519B1 KR 101520519 B1 KR101520519 B1 KR 101520519B1 KR 1020107014801 A KR1020107014801 A KR 1020107014801A KR 20107014801 A KR20107014801 A KR 20107014801A KR 101520519 B1 KR101520519 B1 KR 101520519B1
Authority
KR
South Korea
Prior art keywords
digital data
data
delete delete
end user
cache
Prior art date
Application number
KR1020107014801A
Other languages
English (en)
Other versions
KR20100113504A (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
Priority claimed from US11/949,297 external-priority patent/US7908362B2/en
Priority claimed from GB0723664A external-priority patent/GB2455301A/en
Application filed by 벨로식스 리미티드 filed Critical 벨로식스 리미티드
Publication of KR20100113504A publication Critical patent/KR20100113504A/ko
Application granted granted Critical
Publication of KR101520519B1 publication Critical patent/KR101520519B1/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/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/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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1085Resource delivery mechanisms involving dynamic management of active down- or uploading connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

적어도 2개의 상이한 데이터 소스(912a, 912b)를 포함하는 네트워크(900)로부터 최종 사용자(902)로의 디지털 데이터 전달 방법이 개시된다. 상기 적어도 2개의 상이한 데이터 소스(912a, 912b) 각각은 적어도 1개의 파라미터를 가지며, 그에 의해 상기 적어도 2개의 데이터 소스(912a, 912b)는 상기 디지털 데이터의 실질적으로 동일한 카피를 갖고 상기 최종 사용자(902)에게 접속된다. 상기 방법은, 상기 적어도 2개의 데이터 소스(912a, 912b)의 서브 세트의 리스트를 수신하는 단계(1011)와, 상기 리스트에 기초하여 상기 적어도 2개의 데이터 소스(912a, 912b)의 상기 서브 세트 중 하나 이상의 데이터 소스를 선택하는 단계(1102)를 포함한다. 상기 적어도 2개의 데이터 소스(912a, 912b) 중 상기 선택된 서브 세트로부터 상기 디지털 데이터의 적어도 일부분은 상기 최종 사용자(902)에게로 전달된다. 상기 최종 사용자(902)에게로의 상기 디지털 데이터의 전달을 위한 파라미터가 모니터링되고, 상기 모니터링된 적어도 하나의 파라미터에 기초하여, 상기 적어도 2개의 데이터 소스(912a, 912b) 중 상기 선택된 데이터 소스의 구성(913)의 결합 구성이 사양(905)과 매칭되도록 상기 적어도 2개의 데이터 소스(912a, 912b) 중 상기 선택된 데이터 소스의 구성(913)을 조절하는 단계를 포함한다.

Description

디지털 데이터 전달 방법 및 장치와, 데이터 소스 선택 방법 및 장치와, 현물 시장 트레이딩 디바이스{A METHOD AND APPARATUS FOR THE DELIVERY OF DIGITAL DATA}
본 발명은, 구체적으로는 피어-투-피어 네트워크에서, 다중 데이터 소스로부터의 디지털 데이터 공급을 위한 방법 및 네트워크와, 디지털 데이터의 공급을 위한 현물 시장(spot market)에 관한 것이다.
현재 인터넷 시스템에서, 인터넷 서비스 제공자(ISP)는 인터넷 커넥션을 고객 또는 가입자에게 제공한다. ISP는 일반적으로 다른 회사에 의해 운영되는 백본에 의해 다른 ISP에 접속된다. 인터넷에 접속하기 위해, ISP는 다양한 ISP들 사이 또한 데이터 소스들 사이에서 데이터를 배포하는 인터넷 백본 중 하나의 백본 상의 대역폭을 구매할 것이다. 싱가포르의 ISP는, 예를 들어 싱가포르와 미국 사이의 태평향 횡단 케이블 또한 유럽과 오스트리아와 싱가포르 사이의 케이블 상의 대역폭을 구매할 것이다. 구입된 대역폭은 대칭적이다. 그러나, 아시아-태평양 지역의 많은 ISP는, 예를 들어 디지털 데이터의 최종 사용자-즉, 그 지역의 ISP의 고객-가 인터넷으로의 데이터 제공자이라기보다는 그들의 영역 외부에서 생성되는 데이터의 더 많은 활성 상태 "고객"이기 때문에 대역폭의 네트 다운로더이다. ISP가 또한 백본 시스템에서 투자자인 것도 가능하다.
따라서, 아시아-태평양 지역 내의 ISP는 인터넷으로부터 데이터의 네트 다운로더이다. 그러나, ISP는 인터넷 백본 상의 대칭적 커패시티를 구매하고 있다. 구매된 커패시티는 ISP 고객에 의해 요청되는 데이터에 대해 요구되는 다운로드 속도를 도모하기에 충분하다. 그러나, ISP로부터 인터넷으로 데이터를 업로드하기 위한 실질적인 과잉능력이 존재한다. 그 결과, 아시아-태평양 ISP로부터 나머지 인터넷으로의 데이터의 업로드는 추가 비용이 거의 들지 않을 것이다. 스위치와 같은 하드웨어의 대부분은 대칭적이며, 그에 따라 네트워크로 데이터를 업로드 하기 위해서 인스톨된 비용이 거의 증가하지 않을 것이다.
콘텐츠 전송 네트워크(CDN)는 (비디오 및 오디오 파일을 포함하는 대용량 매체 콘텐츠와 같은) 콘텐츠 형태로 디지털 데이터를 최종 사용자에게 전송하도록 협력하는 인터넷에 걸쳐서 함께 네트워킹된 컴퓨터들의 시스템이다. 이러한 콘텐츠 기반 CDN의 실례는 샌드파이퍼 및 스카이캐시 뿐 아니라 아카마이 및 디지털 아일랜드 및 출원인 소유의 벨로시스 네트워크를 포함한다. 아카마이 CDN은, 예를 들어 많은 커넥션을 단일 소스로부터의 많은 사용자에게 공급한다.
CDN은 콘텐츠가 저장되는 하나 이상의 서버를 구비하고 있다. 이들 CDN 서버는 일반적으로 다중 로케이션에 배치되며, 흔히 다중 백본을 통해 ISP로부터 도달할 수 있다. 이들 CDN 서버는 ISP 고객과 같은 최종 사용자에 의해 콘텐츠 요청을 충족시키도록 서로 협력할 것이다. 종래 기술의 시스템에서, CDN 서버는 최종 사용자에게로의 디지털 데이터 전송 프로세스를 최적화하도록 콘텐츠를 장면 뒤에 이동시킬 것이다. 전송 프로세스의 최적화는 대역폭 비용을 감소시키고 및/또는 최종 사용자 성능을 개선하는 형태를 취할 수 있다.
CDN 내의 CDN 서버의 수는 CDN의 아키텍처에 따라 변화한다. CDN 중 몇몇은 서버 중 수만 개의 서버를 갖는 수천의 노드를 갖는다. 사용자가 콘텐츠를 다운로드하기 원할 때, 일반적으로 콘텐츠(디지털 데이터)의 요청은 최종 사용자로부터 CDN으로 전송된다. 이들 콘텐츠 요청은 최상의 서비스를 제공할 수 있는 CDN 서버 중 하나에게 지시되다. 서비스를 최적화할 때, 요청된 콘텐츠를 최종 사용자에게 가장 신속하게 서비스할 수 있는 지리적 로케이션 내에 위치한 CDN 서버는 일반적으로 콘텐츠 요청을 서비스하도록 선택될 것이다. 이러한 CDN 서버의 선택은 디지털 데이터를 요청하는 최종 사용자(요청자라 명명됨)로부터 최소의 홉 또는 최소 수의 네트워크 초(network seconds)인 지리적 로케이션을 선택하는 원리에 의해 관리될 수 있다. 대안으로, 종래기술 분야에 알려져 있는 CDN은 로컬 네트워크에 걸쳐서 디지털 데이터의 전달을 최적화하도록 CDN 서버를 선택할 것이다. 비용을 최적화할 때, 서비스할 비용이 적게 드는 지리적 로케이션에 위치하는 CDN 서버는 콘텐츠 요청을 서비스하도록 선택될 수 있다. 흔히, 이러한 두 가지 목적은, CDN 서버가 최종 사용자와 동일한 네트워크 내에 위치하기 때문에, 최종 사용자에게 가까운 CDN 서버가 종래기술의 시스템에서 서비스 비용 면의 이점을 가질 때, 정렬하기 쉽다.
동시 계류중인 영국 특허 출원 번호 제 GB061596.3호(및 미국 특허 출원 번호 제 11/598,115호)는 서버측의 데이터 모니터링 장치가 디지털 데이터의 전달을 위한 적어도 하나의 서비스 품질(QoS) 파라미터를 모니터링하는 콘텐츠 분배 네트워크를 개시한다. 이 특허 출원은 QoS 파라미터들 중 하나는 디지털 데이터의 전달 비용일 수 있음을 개시한다.
영국 캠브리지의 캐시로직 엘티티에 양도된 동시 계류중인 영국 특허 출원 번호 제 GB0615962.8호(및 미국 특허 출원 번호 제 11/598,114호)는 다운로드할 디지털 데이터가 획득되는 캐시의 선택이 적어도 부분적으로 디지털 데이터를 선택하는 사용자의 위치에 근거하는 콘텐츠 분배 네트워크를 개시한다. 미국 캘리포니아주 마운틴 뷰의 세레나데 시스템에 양도된 미국 특허 출원 제 US2004/0148344 호는 인터넷을 사용한 콘텐츠 분배 네트워크를 개시한다. 세레나데 시스템은 피어 그룹이 연관되고 효율적인 파일 분배를 위해 유지되는 피어 투 피어 네트워크를 개시한다. 이 출원에서의 캐시는 이용가능성 및 비용에 근거하여 우선순위가 주어진다. 네트워크는 이용가능한 또는 최대 희망 서빙 대역폭을 이용하지 않는 임의의 피어는 콘텐츠를 피어 투 피어 네트워크로 밀어내기 시작하도록 구성될 수 있다. 앞서 언급한 바와 같이, 영국 캠브리지의 캐시로직 엘티디는 현재 클라이언트가 할당된 전달 속도 및/또는 고정된 비용으로 비디오 같은 디지털 데이터를 전달할 수 있도록 해주는 벨로시엑스 비디오 전달 시스템을 공급하고 있다. 이것은 예를 들어 비디오의 수신을 위해 프리미엄 가격을 지불하는 최종 사용자가 네트워크 상황에 의존하는 완전한 디지털 데이터의 도착을 대기하기 보다, 보장된 기간 내에 그 비디오를 수신할 수 있도록 해준다. 벨로시엑스 비디오 전달 시스템은 http://www.cachelogic.com/home/pages/video/index.php [2007년 6월 17일 다운로드됨]에 개시되어 있다.
디지털 데이터의 분배를 위한 네트워크 대역폭 용량의 제공하기 위해 시장 기반 리소스 할당 시스템을 생성하려는 지난 과거의 노력은 알려져 있다. 예를 들어, 인비저블 핸드 네트워크에 양도된 국제 특허 출원 번호 제 WO 01/88811호는 대역폭 및/또는 버퍼 공간의 구매를 위한 현물 시장 시스템의 생성을 개시한다.
본 발명은 연관된 적어도 하나의 파라미터를 갖는 적어도 두 개의 상이한 데이터 소스를 포함하는 네트워크로부터 디지털 데이터를 최종 사용자에 전달하는 방법을 제공한다. 적어도 두 개의 데이터 소스는 최종 사용자에 연결된 부분을 포함하는 디지털 데이터의 실질적으로 동일한 복사본을 갖는다. 이 방법은 연관된 파라미터를 갖는 적어도 두 개의 데이터 소스의 서브세트의 적어도 하나의 리스트를 수신하는 단계와, 적어도 두 개의 데이터 소스 중 선택된 데이터 소스의 구성이 디지털 데이터를 최종 사용자에게 전달하기 위한 사양에 부합하도록 적어도 두 개의 데이터 소스의 하나 이상의 서브세트를 상기 리스트에 기초하여 선택하는 단계를 포함한다. 디지털 데이터의 적어도 일부는 적어도 두 개의 데이터 소스 중 선택된 소스로부터 최종 사용자로 전달된다. 디지털 데이터를 최종 사용자에게 전달하기 위한 파라미터가 모니터링되고 적어도 두 개의 데이터 소스 중 선택된 데이터 소스의 구성은 모니터링된 파라미터에 기초하여 조정되어 적어도 두 개의 데이터 소스 중 선택된 데이터 소스의 구성이 상기 사양에 부합하도록 한다.
본 발명은 네트워크 내에서 최종 사용자에게 디지털 데이터를 공급하기 위한 데이터 소스의 선택이 최적화되도록 한다. 디지털 데이터의 전달을 위한 데이터 소스가 동적으로 선택되게 함으로써 디지털 데이터의 전달 동안, 캐시로부터 최종 사용자로의 네트워크 경로 상의 계약된 대역폭이 최소의 가능 비용 또는 최소의 혼잡에서 만족될 수 있게 된다는 의미에서 데이터 소스의 선택은 최적화된다. 데이터 소스로부터 최종 사용자로의 계약된 대역폭이 예를 들어 최소의 비용 또는 요구되는 전달 속도에서 만족되도록, 이전에 선택된 다른 데이터 소스와 함께 데이터 소스가 선택되는 한, 데이터 소스가 최종 사용자에 대해 위치하는 네트워크 내에서 그것은 중요하지 않다.
본 발명은 데이터 소스로부터 최종 사용자로의 전달 비용 및 목표 전달 속도 중 어느 하나 또는 양자 모두와 관련하여 데이터 소스의 선택에 편차를 두는 것을 가능하게 한다. 따라서, 서비스의 품질(이 경우, 전달 속도)을 데이터 소스의 사용(usage)의 분배와 결합할 수 있는데, 그 이유는 미사용 데이터 소스는 디지털 데이터를 보다 낮은 파라미터(전달 비용)로 제공하는 경향이 있기 때문이다.
일 측면에 따르면, 본 발명은 데이터 소스가 디지털 데이터의 일부를 최종 사용자에게 전달하는 방식을 독립적으로 결정하도록 함으로써 네트워크 내에서 대역폭의 최적의 선택을 가능하게 한다. 따라서, 최종 사용자의 사생활 관심사가 만족스럽게 해결될 수 있도록 하는 중앙 제어기가 존재하지 않는다.
본 발명은 디지털 데이터가 복수의 부분(portions)을 포함하는, 최종 사용자로의 디지털 데이터의 전달을 위한 장치를 제공한다. 본 발명의 장치는 일 파라미터에서 디지털 데이터의 부분들을 최종 사용자에게 공급하는 적어도 두 개의 데이터 소스로 구성된 네트워크를 포함한다. 적어도 두 개의 상이한 데이터 소스는 최종 사용자에게 연결되고 트래커(tracker)는 적어도 두 개의 데이터 소스의 리스트를 제공한다. 장치는 적어도 두 개의 데이터 소스 중 선택된 데이터 소스의 구성이 디지털 데이터를 최종 사용자에게 전달하기 위한 사양에 부합하도록, 디지털 데이터의 부분들의 적어도 일부를 최종 사용자에게 공급하는 두 개의 데이터 소스 중 하나 이상의 데이터 소스를 상기 리스트에 기초하여 선택하는 선택 장치를 포함한다. 디지털 데이터를 최종 사용자에게 전달하기 위한 파라미터를 모니터링하는 모니터링 장치가 조정 장치와 함께 상기 장치에 포함되는데, 이 조정 장치는 적어도 두 개의 데이터 소스 중 선택된 데이터 소스의 구성들의 결합된 구성이 상기 사양에 부합하도록 적어도 두 개의 데이터 소스 중 선택된 데이터 소스의 적어도 하나의 구성을 모니터링된 파라미터에 기초하여 조정한다.
본 발명의 또 다른 측면에서, 데이터 소스로부터 디지털 데이터를 최종 사용자에게 전달하기 위한 데이터 소스를 선택하는 방법은 네트워크에 접속된 적어도 두 개의 데이터 소스로부터 디지털 데이터를 최종 사용자로 전달하기 위한 제안(proposals)을 수신하는 단계를 포함한다. 이 제안은 디지털 데이터의 전달을 위한 적어도 두 개의 데이터 소스로부터 최종 사용자로의 접속에 대한 대역폭을 일 파라미터에서 제공한다. 이 파라미터는 예를 들어 디지털 데이터의 전달 비용 또는 전달 속도이다.
본 발명은 더 나아가 또 다른 측면에서 데이터 소스로부터 디지털 데이터를 최종 사용자에게 전달하기 위한 데이터 소스를 선택하는 장치를 포함하는데, 이 장치는 네트워크에 접속된 적어도 두 개의 데이터 소스로부터 최종 사용자로의 접속에 대한 제안을 수신하고 디지털 데이터의 전달을 위한 일 파라미터에서 네트워크 경로 상의 대역폭을 제공하는 수신 장치를 포함한다. 이 선택 장치는 선택된 데이터 소스의 구성이 최종 사용자에게 디지털 데이터를 최종하기 위한 사양에 부합하도록 적어도 두 개의 데이터 소스로부터의 파라미터에 기초하여 제안을 선택하고 제안들 중 선택된 하나의 제안에 대응하는 데이터 소스를 선택한다.
도 1은 종래 기술에서 알려져 있는 피어 투 피어 네트워크를 나타내는 도면,
도 2는 디지털 데이터의 다운로드 요청을 나타내는 도면,
도 3은 본 발명에 따른 네트워크의 개요를 나타내는 도면,
도 4는 콘텐츠의 분배에 대한 개요를 나타내는 도면,
도 5는 콘텐츠 분배 네트워크의 지리적 구현을 나타내는 도면,
도 6은 서비스 상호접속 위치(service point of presence)에 대한 개요를 나타내는 도면,
도 7은 데이터 상호접속 위치에 대한 개요를 나타내는 도면,
도 8은 데이터 전달 제어기 및 모니터에 대한 개요를 나타내는 도면,
도 9는 디지털 데이터의 전달을 위한 네트워크의 개요를 나타내는 도면,
도 10은 디지털 데이터의 전달을 위한 방법에 대한 흐름도,
도 11은 디지털 데이터의 전달을 위한 대역폭의 할당에 대한 네트워크의 개요를 나타내는 도면,
도 12는 디지털 데이터의 전달을 위한 대역폭의 할당에 대한 흐름도를 나타내는 도면,
도 13은 데이터 소스가 디지털 데이터 전달하려 하는 전달 목표 속도를 나타내는 도면.
피어 투 피어(P2P로도 지칭됨) 컴퓨터 네트워크는 비교적 적은 수의 서버에서의 계산 성능 및 대역폭에 집중하기보다는, 컴퓨터 네트워크 내의 참여자의 계산 성능 및 대역폭에 주로 의존하는 네트워크이다. P2P 컴퓨터 네트워크는 전형적으로 컴퓨터 네트워크의 노드들을 주로 애드 혹(ad hoc) 접속을 통해 연결하는데 사용된다. P2P 컴퓨터 네트워크는 여러 용도에 유용하다. 예를 들어, 오디오, 비디오 및 데이터를 포함하는 콘텐츠 파일을 공유하는 것이 매우 일반적이다. 전화 통화와 같은 실시간 데이터도 P2P 네트워크를 사용하여 전달된다.
순수 P2P 네트워크는 클라이언트 또는 서버의 개념을 가지지 않으며, 오직 동등한 노드들이 네트워크 상에서 다른 노드에 대해"클라이언트" 및 "서버" 모두의 기능을 동시에 수행한다. 이러한 네트워크 구성의 모델은 대개 중앙 서버로 또한 그로부터 통신이 이루어지는 클라이언트-서버 모델과는 다르다. 비 P2P 파일 전송에 대한 전형적인 예는 클라이언트 및 서버 프로그램이 꽤 구별되는 FTP 서버이다. FTP 서버 클라이언트는 다운로드/업로드를 개시하고 서버는 그에 반응하여 클라이언트로부터의 이들 요청을 충족시켜준다.
Napster, OpenNAP, 또는 IRC@find와 같은 일부 네트워크 및 채널은 일부 작업(예를 들어, 탐색)을 위해 클라이언트-서버 구조를 사용하고 다른 작업에 대해서는 P2P 구조를 사용한다. Gnutella 또는 Freenet와 같은 네트워크는 모든 목적에 대해 P2P 구조를 사용하고, 때때로 진정한 P2P 네트워크로 지칭되지만, Gnutella는 다른 피어의 네트워크 어드레스를 피어에게 알려주는 디렉토리 서버에 의해 매우 쉽게 촉진된다.
P2P 네트워크에서 사용되는 가장 인기 있는 파일 분배 프로그램들 중 하나는 현재 Bram Cohen에 의해 개발된 BitTorrent이다. BitTorrent는 고가의 서버 및 대역폭 리소스의 대응하는 소비없이 대량의 데이터를 널리 분배하도록 설계된다. BitTorrent를 통해 파일 또는 파일 그룹을 공유하기 위해, 클라이언트는 먼저 "torrent file"을 생성한다. 이것은 공유될 파일에 대한 및 파일 분배를 조정하는 호스트("트래커")에 대한 메타-정보를 포함하는 작은 파일이다. Torrent 파일은 트래커의 URL을 지정하는 "공지(announce)" 섹션과, 파일에 대해 (제시된) 이름, 이들의 길이, 사용되는 조각 길이, 클라이언트가 수신하는 데이터의 무결성을 검증하기 위해 클라이언트가 사용해야 하는 각 조각에 대한 SHA-1 해시 코드를 포함하는 "정보(info)"를 포함한다.
트래커는 어떤 씨드(seeds)(즉, 완전한 파일 또는 파일 그룹) 및 피어(즉, 아직 완전한 파일 또는 파일 그룹을 구비하지 않은 노드)가 무리(swarm) 내에 있는지를 추적하는 서버이다(씨드 및 피어 모드에 대한 표현은 단일 파일 또는 파일 그룹의 분배에 포함됨). 노드는 정보를 트래커에 주기적으로 보고하고 이들이 접속할 수 없는 다른 노드에 대한 정보를 때때로 요청 및 수신한다. 트래커는 데이터 전송에 직접 관여하지 않고 파일의 복사본을 구비할 필요도 없다. 파일의 다운로드를 완료한 노드는 또한 씨드로서 동작할 것을 선택하는데, 즉 노드는 파일의 완전한 복사본을 제공한다. torrent 파일이 생성된 이후, torrent 파일로의 링크는 웹사이트 또는 그 밖의 다른 장소에 배치되고, 그것은 대개 트래커에 등록된다. BitTorrent 트래커는 각 torrent에 현재 참여하고 있는 노드들의 리스트를 유지한다. 파일의 초기 복사본을 구비한 컴퓨터는 초기 씨더(seeder)로 지칭된다.
웹 브라우저를 사용하여, 사용자는 torrent를 나열하는 사이트를 네비게이팅하고, torrent를 다운로드하며, 다른 로컬 머신 상에 저장된 BitTorrent 클라이언트 내의 torrent를 연다(open). torrent를 열기 한 후, BitTorrent 클라이언트는 트래커에 접속되는데, 이 트래커는 파일 또는 파일들을 현재 다운로드하는 클라이언트의 리스트를 BitTorrent 클라이언트에 제공한다.
초기에, 무리 내에는 다른 피어가 존재하지 않을 수 있는데, 이 경우, 클라이언트는 초기 시더에 직접 접속하고 조각을 요청하기 시작한다. BitTorrent 프로토콜은 다수의 보다 작은(전형적으로, 1/4 메가바이트(256KB) 크기의) 조각으로 파일을 쪼갠다. 보다 큰 파일 크기는 전형적으로 보다 큰 조각을 갖는다. 예를 들어, 4.37 GB 파일은 4MB(4096KB)의 조각 크기를 가질 수 있다. 조각들에 에러가 없도록 보장하기 위해 이들 조각들은 해시 알고리즘을 사용하여 BitTorrent 클라이언트에 의해 수신된 것처럼 체크된다.
표준 BitTorrent 프로토콜에서, 피어들 중 어떠한 피어들로부터도 전달 속도에 대한 정보는 존재하지 않는다. BitTorrent 클라이언트는 파일의 조각에 대한 네 개의 소스를 무리 내의 피어에게 제공할 것이다. 그것은 피어에게 세 개의 최상의 씨드 및 적어도 하나의 랜덤 씨드에 대한 세부사항을 제공할 것이다. 이러한 이유는 BitTorrent 클라이언트는 이하에서 자세히 설명되는 바와 같이 그 자신의 데이터량을 최대화하려 시도하기 때문이다.
추가의 피어가 무리 내에 진입함에 따라, 모든 피어는 초기 씨더로부터 직접 다운로드하는 대신, 조각들을 서로 공유하기 시작한다. 클라이언트는 그들의 다운로드 및 업로드 속도를 최적화하는 메커니즘을 포함한다. 피어는 조각들을 무작위 순서로 다운로드할 수 있고 데이터 교환의 기회를 늘리기 위해 피어들 중 가장 드문 조각을 다운로드하는 것을 선호할 수 있다. 데이터의 교환은 오직 두 개의 피어가 파일의 상이한 서브세트를 가지고 있는 경우에만 가능하다. 예를 들어, 무리 내에 초기에 합류하는 피어는 다른 피어가 다운로드할 수 있는 상기 피어가 구비한 디지털 데이터의 조각들의 초기 세트를 나타내는 BitField 메시지를 무리의 다른 멤버에게 전송할 것이라는 것이 BitTorrent 프로토콜에 알려져 있다. 추가의 조각들을 수신하게 되면, 피어는 추가의 조각들이 다운로드가능하다는 것을 나타내는 Have 메시지를 다른 피어에게 전송할 것이다.
도 1은 본 발명의 다양한 실시예가 실시될 수 있는 환경을 나타내는 블록도이다. 도 1은 피어 투 피어(P2P) 네트워크(100)를 포함한다. P2P 네트워크(100)는 서로 접속되어 있는 피어(102a,102b,102c,102d,102e,102f)(이하에서는, 피어(102)로 지칭됨)와 같은 복수의 피어를 포함한다. P2P 네트워크(100)는 근거리망(LAN), 원거리망(WAN), 도시지역망(MAN), 무선 네트워크 등일 수 있다. P2P 네트워크(100) 내에 존재하는 피어(102)는 저장된 디지털 데이터를 포함한다. 디지털 데이터의 다양한 예는 애플리케이션 파일, 비디오 파일, 음악 파일 등을 포함하나, 여기에 국한되지는 않는다. P2P 네트워크(100)에서, 디지털 데이터는 피어(102) 간에 공유된다. 피어(102)는 디지털 데이터의 다수의 복사본을 저장할 수 있다.
도 2는 본 발명의 일 실시예에 따라 피어(102a)를 통해 디지털 데이터의 다운로드 요청을 전송하는 사용자(202)를 나타내는 블록도이다. 도 2는 피어(102a), 사용자(202), 서버(204) 및 트래커 서버(206)를 포함한다. 본 발명의 실시예에서, 서버(204)는 하나 이상의 torrent 파일, 예를 들어 torrent 파일(208a,208b,208c)(이하에서는, torrent 파일(208)로 지칭됨)을 포함한다. 본 발명은 예시적인 실시예로서 BitTorrent 프로토콜과 관련하여 설명되었다. 본 발명은 모든 P2P 프로토콜에 적용될 수 있음을 당업자라면 이해될 것이다.
사용자(202)는 피어(102a)에서 디지털 데이터를 다운로드할 것을 요청한다. 피어(102a)는 다운로드될 디지털 데이터에 대한 정보를 서버(204)에 제공한다. 이어서, 서버(204)는 피어(102a)에 의해 다운로드 요청된 디지털 데이터에 관련된 torrent 파일 중 하나, 예를 들어, torrent 파일(208a)을 발견한다. 본 발명의 다양한 실시예에서, torrent 파일(208)은 조각의 이름, 크기, 개수 및 피어(102a)에 의해 다운로드될 디지털 데이터에 대한 체크 섬 에러에 관련된 정보를 포함한다.
이어서, 본 발명의 다양한 실시예에서, 트래커 서버(206)는 다운로드될 디지털 데이터의 조각을 P2P 네트워크(100) 내에 존재하는 피어(102)의 리스트에 제공한다. 이 후, 피어(102a)는 관련 디지털 데이터를 다운로드할 수 있는 피어(102)의 리스트와 통신한다. 피어(102a)는 피어(102a)가 구비한 디지털 데이터의 조각들의 비트필드를 전송함으로써 피어(102)와 통신한다. 피어(102a)가 피어(102)로부터 모든 비트필드를 수신한 이후, 피어(102a)는 메시지를 피어(102)에 전송하고, 피어(102)는 관련 데이터를 발견하고 요청된 디지털 데이터의 조각들을 전송하기 시작한다.
도 3은 본 발명의 일 실시예에 따라, 캐시 위치 서버(CLS)(302)와 통신하는 피어(102a)를 나타내는 블록도이다. 도 3은 피어(102a), CLS(302), 데이터베이스(304), 인터넷 서비스 공급자 도메인 명칭 서버(ISP DNS)(306), 중앙 도메인 이름 서버(중앙 DNS)(308), 캐시 DNS(310) 및 캐시(312a,312b,312c)(이하에서는 캐시(312)로 지칭됨)와 같은 하나 이상의 캐시를 포함한다.
피어(102a)는 CLS(302)와 통신한다. 본 발명의 일 실시예에서, 피어(102a)에 의해 CLS(302)로 전송된 정보는 또한 피어(102a)의 IP 어드레스를 포함할 수 있다. 수신된 정보에 기초하여, CLS(302)는 피어(102a)에 위치 스트링을 전달한다. 본 발명의 일 실시예에서, CLS(302)는 데이터베이스(304)로부터 위치 스트링을 취득할 수 있다. 데이터베이스(304)는 피어(102)에 대하여 특정 위치 스트링을 생성하기 위해 국가, ISP, 지역, 도시 등의 IP 어드레스 범위에 대한 정보를 저장한다.
피어(102a)는 Torrent 파일(208)로부터의 위치 스트링 및 정보를 사용하여 ISP DNS(306)과 통신한다.
본 발명의 다양한 실시예에서, 피어(102a)에 의해 ISP DNS(306)으로 전송된 정보는 다음과 같은 수 있다.
Protocol - TruncatedHash . Protocol - Publisher - LocationString . Find - Cache . com
CLS(302)에 의해 피어(102a)로 전송된 정보의 예는 다음과 같을 수 있다.
bt -1234. bt - bigcorp - bigispnyc . fmd - cache . com
여기서, 'bt'는 피어(102a)에 의해 사용되는 BitTorrent 프로토콜을 나타내고, '1234'는 피어(102a)에 의해 다운로드될 디지털 데이터와 연관된 특정 해시 값을 나타내며, 'bigcorp'는 다운로드될 디지털 데이터의 발행자(소설 "대형 회사")를 나타내고, 'bigispnyc'는 피어(102a)에 대한 위치 스트링(소설 "대형 ISP"에 대한 뉴욕 상호접속 위치)을 나타낸다.
이 통신에 기초하여, ISP DNS(306)는 요청을 중앙 DNS(308)(통신에 포함된 도메인에 대한 이름 서버임)로 다시 방향 지정한다. 이후, 중앙 DNS(308)는 캐시 DNS(310)의 어드레스를 ISP DNS(306)에 제공한다. 따라서, 캐시 DNS(310)는 다운로드될 디지털 데이터에 대한 ISP DNS(306)으로부터의 DNS 요청을 수신한다. 이어서, 캐시 DNS(310)는 캐시(312)들 중 하나, 예를 들어 캐시(312a)를 할당한다. 본 발명의 다양한 실시예에서, 캐시 DNS(310)는 각 캐시에 대한 부하, 이용가능성 및 콘텐츠에 기초하여 캐시(312) 중 하나를 할당할 수 있다. 캐시 DNS(310)는 이 정보를 ISP DNS(306)에 전달하고, 이 ISP DNS(306)는 이 정보를 피어(102a)에 전달한다. 이 후, 피어(102a)는 디지털 데이터를 다운로드하기 위해 캐시(312a)와 통신한다. 피어(102a)와 캐시(312a) 간의 통신은 도 4에 보다 자세히 기술된다.
도 4는 P2P 네트워크(100)에서 콘텐츠 분배를 위한 시스템(400)을 나타내는 블록도이다. 시스템(400)은 피어(102a,102b,102c), 캐시(312a,312b), 제 1 콘텐츠 서버(402), 제 2 콘텐츠 서버(403), 개인적 트래커(404), 공중 트래커(406), 사업 로직 유닛(408), 중앙 데이터베이스 서버(410) 및 사용자 인터페이스 유닛(412)을 포함한다.
피어(102a)는 디지털 데이터를 다운로드하기 위한 요청을 캐시(312a)에 전송한다. 캐시(312a)는 제 1 콘텐츠 서버(402) 및/또는 제 2 콘텐츠 서버(403) 및 개인적인 트래커(404)에 접속된다. 본 발명의 다양한 실시예에서, 제 1 콘텐츠 서버(402) 및 제 2 콘텐츠 서버(403)는 P2P 네트워크(100) 내에서 복수의 저장된 디지털 데이터의 완전한 복사본을 모두 포함한다. 본 발명의 일 측면에 따르면, 제 1 콘텐츠 서버(402) 및/또는 제 2 콘텐츠 서버(403)는 발행자의 컴퓨터 네트워크에 접속된다. 제 1 콘텐츠 서버(402) 및 제 2 콘텐츠 서버(403)는 분배될 디지털 데이터를 발행자의 컴퓨터 네트워크로부터 수신한다. 예를 들어, P2P 네트워크(100)에서 비디오 파일을 분배하기를 희망하는 발행자는 먼저 비디오 파일을 제 1 콘텐츠 서버(402) 또는 제 2 콘텐츠 서버(403)에 업로드할 수 있다. 이후, 비디오 파일은 이어서 피어(102)에 의해 제 1 콘텐츠 서버(402) 또는 제 2 콘텐츠 서버(403)로부터 다운로드될 수 있다.
본 발명의 일 측면에 따르면, 발행자가 제 1 콘텐츠 서버(402) 또는 제 2 콘텐츠 서버(403) 상에 디지털 데이터의 조각을 업로드하자마자, 디지털 데이터는 피어(102)에 의해 다운로드될 수 있다. 따라서, 발행자가 디지털 데이터의 후속 조각을 계속해서 업로드하게 되면 피어(102)는 업로드된 조각을 동시에 다운로드할 수 있다. 따라서, 제 1 콘텐츠 서버(402) 또는 제 2 콘텐츠 서버(403)로의 디지털 데이터의 동시적인 업로드 및 그로부터의 다운로드를 실행하는 시스템(400)의 능력은 P2P 네트워크(100)에서 디지털 데이터의 효율적인 실시간 이용가능성을 보장한다.
캐시(312a)는 피어(102a)로부터의 요청에 기초하여, 제 1 콘텐츠 서버(402) 또는 제 2 콘텐츠 서버(403) 또는 캐시(312b)로부터 디지털 데이터를 다운로드한다. 개인적인 트래커(404)는 캐시(312)와 제 1 콘텐츠 서버(402) 및 제 2 콘텐츠 서버(403) 중 어느 것 상에서 어떤 디지털 데이터가 이용가능한지를 알고 있으며, 이 정보를 캐시(312a)에 제공한다. 피어(102a)에 의해 요청된 디지털 데이터가 캐시(312a) 상에서 이용가능한 경우, 피어(102a)는 캐시(312a)로부터 디지털 데이터를 다운로드한다. 디지털 데이터가 캐시(312a) 상에서 이용가능하지 않은 경우, 캐시(312a)는 요청된 디지털 데이터를 제 1 콘텐츠 서버(402) 및/또는 제 2 콘텐츠 서버(403) 및/또는 캐시(312b)로부터 다운로드한다. 이후, 캐시(312a)는 디지털 데이터가 피어(102a)에 의해 다운로드될 수 있도록 한다. 본 발명의 일 측면에 따르면, 피어(102a)는 또한 P2P 네트워크(100)에서 이용가능한 다른 피어(102), 예를 들어 피어(102b) 및 피어(102c)로부터 관련 디지털 데이터를 다운로드할 수 있다.
본 발명의 또 다른 측면에 따르면, 캐시(312a)는 P2P 네트워크(100)에서 이용가능한 피어(102)로부터 디지털 데이터를 업로드할 수 있다. 이러한 경우, 캐시(312a)는 피어(102) 중 하나로서 동작한다.
전술한 바와 같이, 개인적인 트래커(404)는 제 1 콘텐츠 서버(402) 및 제 2 콘텐츠 서버(403)와 캐시(312) 상에서 이용가능한 모든 데이터의 트랙을 유지한다. 공중 트래커(406)는 P2P 네트워크(100)에서 모든 캐시(312) 및 모든 피어(102)에 접속된다. 공중 트래커(406)는 캐시(312) 및 피어(102) 간에 전송된 모든 디지털 데이터의 트랙을 유지한다. 특히, 공중 트래커(406)는 P2P 네트워크(100)에서 이용가능한 디지털 데이터의 복사본을 보유하는 모든 피어(102) 및 캐시(312)의 리스트를 유지한다.
사업 로직 유닛(408)은 모든 캐시(312) 및 개인적인 트래커(404)에 접속된다. 사업 로직 유닛(408)은 피어(102)가 임의의 디지털 데이터를 업로드하는 것을 허용하기 전에 이 피어(102)를 인증한다. 더 나아가, 사업 로직 유닛(408)은 중앙 데이터베이스 서버(410)에 접속된다. 사업 로직 유닛(408)은 P2P 네트워크(100)와 중앙 데이터베이스 서버(410) 간의 인터페이스로서 동작한다. 중앙 데이터베이스 서버(410)는 캐시(312)와 제 1 콘텐츠 서버(402) 및 제 2 콘텐츠 서버(403)로 및 그로부터 전송되는 모든 데이터에 대해, 사업 로직 유닛(408)을 통해 개인적인 트래커(404) 및 캐시(312)로부터 기록 보고(log report)를 획득한다. 기록 보고 같은, 사업 로깅 유닛(408)을 통해 얻어진 중앙 데이터베이스 서버(410)로부터의 정보를 사용함으로써 요금청구 목적 및 보고서 작성을 위한 필요한 정보를 제공한다.
본 발명의 일 실시예에서, 중앙 데이터베이스 서버(410)는 공중 트래커(406)에 접속될 수 있다. 본 발명의 또 다른 실시예에서, 공중 트래커(406)는 개인적인 트래커(404)에 접속될 수 있다.
도 5는 본 발명의 다양한 측면에 따라, 캐시 분배 네트워크(500)의 예시적인 지리적 구현을 나타내는 블록도이다. 캐시 분배 네트워크(500)는 하나 이상의 서비스 상호접속 지점, 예를 들어 서비스 상호접속 지점(502a,502b)(이하에서는, 서비스 상호접속 지점(POP)(502)으로 지칭됨)을 포함한다. 캐시 분배 네트워크(500)는 하나 이상의 데이터 상호접속 지점, 예를 들어 데이터 상호접속 지점(504a,504b,504c,504d))(이하에서는, 데이터 상호접속 지점(POP)(504)으로 지칭됨)을 포함한다. 서비스 POP(502)는 예를 들어 런던, 산호세 등과 같은 멀리 떨어져 있는 지리적 위치에 위치한다. 서비스 POP(502) 위치의 개수는 변동가능하고 네트워크 트래픽의 증가와 함께 증가될 수 있다. 서비스 POP(502a,502b)와 같은 서비스 POP(502)는 서로 연결된다. 서비스 POP(502)간의 접속은 모든 서비스 POP(502) 간에 실시간 데이터 및 정보 전송을 가능하게 한다.
데이터 POP(504)는 또한 전역에 걸쳐 멀리 떨어져 있는 지리적 위치, 예를 들어, 뉴욕, 프랑크푸르트 등에 위치한다. 데이터 POP(504) 위치의 개수는 변동가능하고 네트워크 트래픽 및 P2P 네트워크(100)에서 이용가능한 디지털 데이터의 증가와 함께 증가될 수 있다. 데이터 POP(504a,504b)와 같은 데이터 POP(504)는 P2P 네트워크(100) 내의 모든 이용가능한 서비스 POP(502)와 연결된다. 디지털 데이터 POP(504)와 서비스 POP(502)간의 접속은 서비스 POP(502)로부터 데이터 POP(504) 간에 실시간 데이터 업데이트 및 정보 전송을 가능하게 한다.
본 발명의 일 실시예에서, 지리적 위치는 서비스 POP(502a) 및 데이터 POP(504a) 모두를 포함할 수 있다.
도 6은 본 발명의 실시예에 따른 서비스 POP(502a)의 콤포넌트의 장치(600)를 예시하는 블록도이다. 서비스 POP(502a)에 대한 장치(600)는 캐시 로케이션 서버(302), 중앙 도메인명 서버(308), 콘텐츠 또는 콘텐츠 서버(403), 사설 트래커(404) 및 중앙 데이터베이스 서버(410)를 포함한다. 또한, 본 발명의 실시예에서, 서비스 POP(502a)에 대한 장치(600)는 캐시(312a, 312b)와 같은 캐시(312)를 포함할 수 있다. 또한, 본 발명의 실시예에서, 서비스 POP(502a)에 대한 장치(600)는 공공 트래커(406), 비즈니스 로직 유닛(408) 및 사용자 인터페이스 유닛(412)을 포함한다.
본 발명의 다양한 실시예에서, 중앙 데이터베이스 서버(410)는 각각의 서비스 POP(502) 내에 위치한다. 각 서비스 POP(502)의 중앙 데이터 서버(410)는 서로 접속되며, 중앙 데이터베이스 유닛으로서 동작한다.
서버 POP(502a)에 대한 장치(600)에 예시된 콤포넌트는 스케일링가능하며, P2P 네트워크(100)에서 이용가능한 디지털 데이터 및 네트워크 트래픽에 기초하여 증가할 수도 있다.
도 7은 본 발명의 양상에 따라 데이터 POP(504a)의 콤포넌트의 장치(700)를 예시하는 블록도이다. 데이터 POP(504a)에 대한 장치(700)는 캐시(312a, 312b, 312c, 312d)와 같은 캐시(312) 및 캐시 DNS(310)를 포함한다. 단일 캐시 DNS(310)만이 간소성을 위해 도 7에 도시된다. 그러나, 데이터 POP(504a)는 단일 캐시 DNS(310) 중 2개 이상의 캐시 DNS를 포함할 수 있다. 데이터 POP(504a)는 P2P 네트워크(100) 내의 피어(102)에 디지털 데이터를 제공한다. 데이터 POP(504)는 서비스 POP(502)로부터 데이터를 다운로드한다.
당업자라면, 데이터 POP(504a)에 대한 장치(700)에 예시된 콤포넌트가 스케일링가능하고, P2P 네트워크(100)에서 이용가능한 디지털 데이터 및 네트워크 트래픽에 기초하여 증가할 수 있다는 것을 이해할 것이다.
도 4와 관련하여 전술한 바와 같이, 피어(102a)는 캐시(312a)로부터 또한 P2P 네트워크(100)에서 이용가능한 다른 피어(102)로부터 다운로드된다. 디지털 데이터 조각을 표현하는 디지털 데이터의 전달 레이트는, 디지털 데이터를 제공할 시의 품질 및 비용에 따라, 다중 소스로부터 변화한다. 예를 들어, 피어(102)로부터의 디지털 데이터는 (필수적으로) 고품질인 것은 아니며, 디지털 데이터의 전달 레이트는 (필수적인 것은 아니지만) 느릴 수 있다. 한편, 캐시(312)로부터의 디지털 데이터 전달 레이트는 - 특히, 캐시(312)로부터 피어(102a)로의 커넥션이 높은 대역폭을 갖는다면 - 매우 높을 수 있다. 디지털 데이터의 품질도 높다. 예를 들어 디지털 데이터는 많은 에러를 포함하지 않는다. 그러나, 캐시(312)로부터의 디지털 데이터 전달 비용은 피어(102)로부터의 디지털 데이터 전달 비용보다 크다.
캐시(312)에 따른 추가 문제가 있다. 피어(102a)로부터 캐시(312)로의 커넥션의 비용은 일반적으로 캐시(312)에 의해 제공되는 최대 처리량과 관련된다. 그 결과, 예를 들어, 주간 동안에 캐시(312)는 매우 바쁠 수 있지만, 야간에 캐시(312)는 그렇게 바쁘지 않을 수 있다. 캐시(312)(또한, 피어(102a)로부터 캐시(312)로의 커넥션)는 야간 동안 지불된 캐시(312)에 대해 이용가능한 용량을 가질 것이다. 이에 따라, 주간 동안의 캐시(312)로부터의 디지털 데이터 전달 비용 증가는 주간 동안의 서버(312)로부터의 디지털 데이터 전달 비용 증가보다 훨씬 적다.
따라서, 피어(102a)로의 디지털 데이터 전달 레이트는 다른 피어(102) 및 캐시(312)로부터의 디지털 데이터 전달 레이트들의 조합이다. 디지털 데이터의 전달 비용은 다중 소스(즉, 피어(102) 및/또는 캐시(312)) 중 어떤 소스가 디지털 데이터를 공급하는가에 따라 변화한다. 디지털 데이터가, 주로, 피어(102a)가 접속되는 다른 피어(102)로부터 공급된다면, 디지털 데이터의 전달 비용은 작을 것이다. 구체적으로, 다른 피어(102)가 동일한 ISP에 의해 서비스된다면, 비용은 매우 적을 것이다.
허용불능 서비스 품질은 피어(102a)가 충분한 속도에서 디지털 데이터를 수신하지 않거나 수신된 디지털 데이터가 너무 많은 에러를 포함하고 있을 때이다. 허용불능 서비스 품질의 한 가지 실례는 피어(102a)에서의 사용자(202)가 비디오를 시청하기 원할 때 발생할 수 있다. 비디오는 비디오 데이터 형태의 디지털 데이터로서 저장된다. 소정량의 디지털 데이터는, 피어(102a)가 비디오를 시청하도록 디지털 데이터가 비디오 버퍼에 저장되는 고정된 기간 내에 피어(102)에 도달해야 한다. 디지털 데이터의 조각을 표현하는 디지털 데이터가 피어(102a)에서의 충분한 전달 레이트에서 수신되지 않는다면, 사용자(202)는 비디오의 전송 시에 인터럽션을 경험할 것이다. 이것은 도 13과 관련하여 보다 상세히 설명될 것이다.
디지털 데이터 조각은 캐시(312) 및 피어(102)로부터 다운로드될 수 있다. 캐시(312)로부터의 디지털 데이터 다운로드는, 대역폭이 보다 넓고, 디지털 데이터가 임대 회선(leased lines)을 통과해야 하지만 디지털 데이터의 전달 속도가 훨씬 더 높기 때문에, 더욱 비싸다. 피어(102a)는 캐시(312)로부터 충분한 것보다 더 많은 디지털 데이터를 얻어, 사용자(202)가 비디오를 보게 할 수 있으며, 데이터의 품질은 높을 것이다.
데이터 전달의 이 조합을 수행하기 위해, 캐시(312)에는 도 8에 도시한 바와 같이, 데이터 전달 모니터(800a, 800b)가 제공된다. 도 8은 데이터 전달 모니터(800a, 800b) 뿐 아니라 피어(102a)에 디지털 데이터를 공급하는 다른 피어들 중 2개의 피어(102b, 102c) 및 피어(102a)에 디지털 데이터를 공급하는 캐시(312a, 312b)도 예시하고 있다. 실질적으로, 피어(102a)는 다수의 다른 피어(102)에 접속될 것이며, 가능하다면 2개 이상의 캐시(312)에 접속될 것이다.
데이터 전달 모니터(800)에는 사전결정된 서비스 품질(QoS) 파라미터가 제공된다. 디지털 데이터 중 상이한 디지털 데이터는 상이한 사전결정된 서비스 품질 파라미터를 가질 것이다. 데이터 전달 모니터(800)는 캐시(312)로부터 피어(102a)로의 디지털 데이터 전달 레이트를 모니터링한다. 모니터링된 실시간 서비스 품질은 사전결정된 서비스 품질 파라미터와 비교된다. 사전결정된 서비스 품질 파라미터는 디지털 전달 모니터(800) 내에 사전프로그래밍될 수 있고, 및/또는 애플리케이션 프로그래밍 인터페이스를 이용하여 조절될 수 있다. 피어(102a)로의 디지털 데이터 전달 레이트는 후술될 비교에 기초하여 조절될 수 있다. 각각의 캐시(312)에 부착된 데이터 전달 모니터(800)는 서로에게 독립적으로 동작한다.
서비스 품질 파라미터는, 피어(102a)로의 디지털 데이터 전달의 수신 레이트, 디지털 데이터의 전달 비용, 및 수신된 디지털 데이터의 에러 레이트를 포함하되, 이러한 것으로 제한되는 것은 아니다. 예를 들어, 사전결정된 서비스 품질 파라미터는, 디지털 데이터가 초당 1Mb와 1.2Mb 사이의 레이트에서 수신되어 피어(102a)에서 사용자(202)에 의한 비디오 시청을 허용한다는 요건을 포함할 수 있다. 사전결정된 서비스 품질 파라미터는 또한 디지털 데이터의 총 전달 비용이, 예컨대 기가바이트당 30c를 초과하지 않을 것을 요구할 수 있다.
캐시(312)는 또한 데이터 전달 제어기(810a, 810b)를 포함하는 것이 바람직하다. 데이터 전달 제어기(810)의 기능은, 데이터 전달 모니터(800)로부터 QoS 정보를 수신하고 캐시(312)로부터 디지털 데이터의 전달 레이트를 조절하는 것이다. 데이터 전달 모니터(800) 각각은 각각의 다른 데이터 전달 모니터(800)와는 독립적으로 동작한다.
본 발명의 일 양상에 있어서 데이터 전달 모니터(800)는, 피어(102)에 의해 전송되는 BitTorrent 프로토콜 내의 Have 메시지 및 BitField와 같은 콘텐츠 이용가능 메시지를 모니터링함으로써 디지털 데이터의 수신을 모니터링한다. 동등한 기술 및 메시지가 다른 P2P 프로토콜에 존재한다.
본 발명의 양상에 있어서, 피어(102)는 전술한 바와 같이 충분히 이용되지 않았거나 값이 싼 캐시(312)로부터 디지털 데이터를 우선적으로 소싱(sourcing)하도록 선택될 수 있다. 도 5를 이용하여 실례를 취하기 위해, 독일에서 피어(102a)에 대한 디지털 데이터의 가장 가까운 캐시(312)는, 예를 들어 프랑크푸르트에 위치한다. 그것은 디지털 데이터 전달을 위해 프랑크푸르트의 캐시(312)를 이용하기에 최적인 로케이션 관점으로부터일 것이다. 한편, 피어(102a)가 모니터링 시에 디지털 데이터를 액세스하고 있다면, 산호세의 캐시(312)는 프랑크푸르트의 캐시(312)가 그것의 최대 처리량 또는 그에 가까운 처리량으로 동작하는 동안에 상이한 시간 구역 때문에 충분히 이용되지 않는다는 것을 예상할 수 있다. 최소 증가 비용에서 이용가능한 산호세 캐시(312)로부터 이용가능한 대역폭이 있을 수 있다. 그 결과, 피어(102)는 비용을 최소화하기 위해 산호세 캐시(312)로부터 디지털 데이터를 우선적으로 수신하고자 할 것이다. 대안으로, 콘텐츠 서버(402, 403)가 보다 낮은 비용을 갖는 로케이션에 존재하는 것이 가능하다.
이것은 제 1 캐시(912a) 및 제 2 캐시(912b)로부터 최종 사용자(902)로의 디지털 데이터 전달을 위한 네트워크(900)의 본 발명의 양상을 도시하는 도 9와 관련하여 보다 상세히 예시될 수 있다. 최종 사용자(902)는 적어도 2개의 상이한 네트워크 경로에 의해 제 1 캐시(912a) 및 제 2 캐시(912b)에 각각 접속된다. 제 1 캐시(912a) 및 제 2 캐시(912b)는 각각 주어진 파라미터에서 디지털 데이터의 일부분을 최종 사용자(902)에게 공급한다. 제 1 캐시(912a) 및 제 2 캐시(912b) 양측은 실질적으로 동일한 디지털 데이터 카피를 포함한다. 본 발명의 일 양상에서, 이 주어진 파라미터는 디지털 데이터의 전달 레이트이지만 주어진 파라미터는 또한 디지털 데이터의 전달 비용을 나타낼 수도 있고 또는 다른 파라미터일 수 있다. 사양(905)은 주어진 파라미터에 대한 값의 범위를 포함한다. 예를 들어, 사양(905)은, 최종 사용자(902)로의 디지털 데이터의 전달을 위한 계약된 최소 대역폭 및 디지털 데이터의 비용을 포함하지만 이러한 것으로 제한되는 것은 아니다. 계약된 최소 대역폭은 일반적으로 네트워크(900)의 운영자와 추후 설명되는 디지털 데이터의 콘텐츠 제공자 사이의 협상 결과이다. 콘텐츠 제공자는, 콘텐츠 제공자가 계약된 대역폭에서 디지털 데이터를 전달하도록 최종 사용자(902)와의 계약에 의해 속박될 때, 계약된 대역폭에서 네트워크(900)의 운영자에 의해 배포되는 그들의 콘텐츠, 예를 들어 디지털 데이터를 갖는다. 계약된 대역폭은, 예를 들어 최종 사용자(902)가 콘텐츠 제공자에게 대금을 지불하여 비디오 형태의 디지털 데이터를 수신하고 그 후 전파 방해(jamming) 및 인터럽션 없이 네트워크(900)에 걸쳐서 비디오의 평탄한 스트리밍을 즐기기를 기대하는 경우에는 관계있을 수 있다.
제 1 캐시(912a) 및 제 2 캐시(912b)의 소유주가 상이할 가능성이 있고, 또한 제 1 캐시(912a) 및/또는 제 2 캐시(912b)와 최종 사용자(902) 사이의 네트워크 경로가 상이한 개체에 의해 소유될 수 있다는 것에 유의해야 할 것이다. 제 1 캐시(912a) 및 제 2 캐시(912b)의 소유주뿐 아니라 네트워크 경로의 공급자와, 최종 사용자(902)가 접속된 ISP 사이에는 계약상의 장치가 있어, 제 1 캐시(912a) 및/또는 제 2 캐시(912b)와 최종 사용자(902) 사이의 네트워크 경로의 이용을 허용하게 한다.
제 1 캐시(912a) 및 제 2 캐시(912b) 중 각각의 것들은 디지털 데이터의 타깃 전달 레이트를 나타내는 구성(913a, 913b)을 갖는다. 타깃 전달 레이트는 제 1 캐시(912a) 또는 제 2 캐시(912b) 중 어느 하나가 각각 디지털 데이터의 일부분을 최종 사용자(92)에게 전달할 수 있는 전달 레이트이다. 일반적으로 제 1 캐시(912a) 및 제 2 캐시(912b)는 상이한 구성(913a, 913b)을 갖지만, 항상 그러한 것은 아니다.
네트워크는 트래커(915)를 더 포함한다. 트래커(915)는 제 1 캐시(912a) 및 제 2 캐시(912b)의 리스트(916) 뿐 아니라 네트워크(900) 내에서 디지털 데이터의 일부분을 공급할 수 있는 다른 캐시 및 피어를 최종 사용자(902)에게 제공한다. 예를 들어, 리스트는 제 1 캐시(912a) 및 제 2 캐시(912b)를 지시하는 URL과 같은 레퍼런스를 제공한다. 최종 사용자(902)는 일반적으로 리스트(916)에 주어진 데이터의 모든 소스에 접속할 것이다. 따라서, 최종 사용자(902)는 이 실례에서 제 1 캐시(912a) 및 제 2 캐시(912b) 양측 뿐 아니라 디지털 데이터의 관련 부분을 공급할 수 있는 임의의 피어(102)에 접속될 것이다.
네트워크(900)는 또한 제 1 캐시(912a)에는 제 1 모니터링 디바이스(906a)를 포함하고, 제 2 캐시(912b)에는 제 2 모니터링 디바이스(906b)를 포함한다. 제 1 모니터링 디바이스(906a)는 전술한 바와 같이 제 1 캐시(912a)로부터 최종 사용자(912)로의 일부 디지털 객체 전달을 모니터링한다. 유사하게, 제 1 캐시(912a)는 제 1 캐시(912a)의 구성을 조절하기 위한 제 1 조절 디바이스(907a)를 포함한다. 제 2 모니터링 디바이스(906b) 및 제 2 조절 디바이스(907b)는 제 2 캐시(912b)에 대해 유사한 기능을 수행한다. 제 1 조절 디바이스(907a) 및 제 2 조절 디바이스(907b)는 제 1 모니터링 디바이스(906a) 및 제 2 모니터링 디바이스(906b)에 의해 모니터링된 전달에 기초하여 최종 사용자(902)에 의해 수신되는 디지털 데이터의 수신 속도가 사양(905)과 매칭되는가를 조절한다. 제 1 조절 디바이스(907a) 및 제 2 조절 디바이스(907b)에 의한 조절은 결합 구성, 즉 제 1 캐시(912a) 및 제 2 캐시(912b)로부터의 디지털 데이터 전달의 조합된 속도 뿐 아니라 임의의 피어가 사양(905)과 매칭되는 것을 보증하도록 하는 방식으로 이루어진다. 예를 들어, 제 1 캐시(912a) 및 제 2 캐시(912b) 중 선택된 캐시들의 하나의 캐시의 구성이 0.5 MB/s이고 다른 하나의 캐시가 0.4 MB/s이면, 결합 구성은 총합이 0.9 MB/s에 이를 것이다. 따라서, 0.4 MB/s 구성을 0.1 MB/s에 의해 0.5 MB/s로 증가시킴으로써1.0 MB/s의 결합 구성을 증가시킬 수 있다.
본 발명의 일 양상에 따르면, 제 1 캐시(912a) 및 제 2 캐시(912b) 중 선택된 캐시들은 최종 사용자(902)로부터 최종 사용자(902)가 제 1 캐시(912a) 및 제 2 캐시(912b) 중 선택된 캐시들 중 어떤 캐시들로부터 디지털 데이터의 어떤 부분을 수신했는가에 관한 "소유 메시지(have messages)"를 수신한다. "소유 메시지"의 결과는 최종 사용자(902)에서 디지털 객체의 수신 속도를 나타낸다.
제 1 캐시(912a) 및 제 2 캐시(912b)는 실질적으로 서로 독립적으로 동작하며, 서로와는 무관하게 그들의 구성(913)을 증가시키거나 감소시킨다. 따라서, 제 1 캐시(912a) 및 제 2 캐시(912b) 중 고가의 캐시는, 충분한 디지털 데이터가 다른 소스로부터 최종 사용자(902)에게 공급되고 있었는지를 그 고가의 캐시가 검출한다면, 디지털 데이터의 전달을 감소시킬 수 있다.
따라서, 네트워크(900) 내의 캐시(912)는 다운로드 동안의 실질적으로 모든 시간에 디지털 데이터가 적어도 계약된 대역폭에서 적어도 가능한 비용으로 최종 사용자(902)로 전달되는 것을 보증하도록 최종 사용자(902)로의 그들의 디지털 데이터 전달을 동적으로 조절한다.
도 13은 네트워크(900) 내에서 최종 사용자(902)로의 디지털 데이터 전달을 위한 시나리오를 도시하고 있다.
제 1 캐시(912a) 및 제 2 캐시(912b)는, 도 13에 도시된 바와 같이, 다운로드 동안의 다양한 지점에서 얼마나 많은 바이트의 디지털 데이터가 수신되었어야 하는지를 진술하는 타깃 프로파일을 갖는다. Y축은 전달된 바이트의 수를 도시하고, X축은 시간을 도시한다. 명백히, 0 시간에, 제 1 캐시(912a) 및 제 2 캐시(912b) 중 어느 쪽도 전혀 전달될 수 없지만, 제 1 캐시(912a) 및 제 2 캐시(912b) 양측은 도달할 타깃을 갖는다. 캐시(912a)에 대한 라인은 캐시(912a)에 대한 전달 비용이 캐시(912b)에 대한 전달 비용보다 작기 때문에 캐시(912b)에 대한 라인보다 실질적으로 더 높다. 최종 사용자(902)에서 디지털 객체의 타깃 수신 레이트는 보다 낮은 연속 라인에 도시된다.
그래프 상의 윈도우 커브는 최종 사용자(902)에 의해 디지털 데이터의 실제 수신을 도시한다. 그래프의 제 1 부분에서, 제 1 캐시(912a) 및 제 2 캐시(912b)는 디지털 데이터의 일부분에 기여한다. 일단 커브가 제 1 캐시(912a)에 대한 전달 레이트를 통과하면, 최종 사용자(902)가 보다 덜 비싼 캐시(912b)로부터 적절히 공급되고 있기 때문에, 제 1 캐시(912a)가 더 이상의 부분을 최종 사용자(902)에게 전달할 필요가 없다. 따라서, 제 1 캐시(912a)는 더 이상 디지털 데이터의 일부분을 최종 사용자(902)로 공급하지 않으며, 디지털 데이터의 일부분은 단지 보다 덜 비싼 제 2 캐시(912b) 및 임의의 피어(102)로부터 공급된다. 유사하게, 일단 커브가 제 2 캐시(912b)에 대한 라인 위에 있다면, 제 2 캐시(912b)는 네트워크(900) 내의 피어(102)가 적절한 전달 레이트에서 디지털 데이터의 일부분을 공급하기 때문에 더 이상 디지털 데이터의 일부분을 공급할 필요가 없다. 이것은 커브가 제 2 캐시(912b)가 다시 스위칭할 수 있는 지점에서 요구되는 레이트 아래로 떨어질 때까지 계속된다.
디지털 데이터가 즉시 요구되는 것이 아니면, 제 1 캐시(912a) 및 제 2 캐시(912b) 중 어느 하나도 디지털 데이터의 일부분으로 초기에 공급하지 않는 것이 가능하다. 최종 사용자(902)는 피어(102)가 적절한 데이터를 공급하는가를 알기 위해 기다린다.
본 발명의 일 실례에서, 디지털 데이터의 타깃 수신 레이트는 비디오 버퍼가 충진되고 있는 동안에 처음에는 높다. 일단 비디오 버퍼가 충진되면, 타깃 레이트는 떨어진다.
제 1 캐시(912a) 또는 제 2 캐시(912b)에 대한 프로파일은 직선일 필요가 없으며, 인터셉트(라인이 Y축과 교차하는 지점)는 포지티브일 필요가 없다. 커브의 범위는, 가능하다면, 다운로드가 오로지 피어 소스만을 이용하여 완료되는 것이 바람직한 경우인 긴 다운로드에 대해 이용될 수 있다. 그러한 커브는 예상 전달 시간의 절반까지 X 축 상에 있을 수 있다.
이제 본 발명의 방법은 도 10에 도시된 바와 같은 흐름도에 의해 설명될 것이다.
단계(1011)에서, 제 1 캐시(912a) 및 제 2 캐시(912b)의 리스트, 및 피어(102) 중 디지털 데이터를 공급할 수 있는 몇몇 피어가 트래커(915)로부터 수신된다.
단계(1012)에서, 최종 사용자(902)는 디지털 데이터의 일부분을 수신하도록 피어(102), 제 1 캐시(912a) 및 제 2 캐시(912b)에 접속한다.
단계(1013)에서, 제 1 캐시(912a) 또는 제 2 캐시(912b) 중의 접속된 캐시들 또는 단계(1012)에서 접속된 피어로부터의 디지털 데이터의 일부분 중 적어도 하나의 디지털 데이터 부분이 최종 사용자(902)로 전달된다.
단계(1014)에서, 디지털 데이터의 어떤 부분을 최종 사용자(902)가 수신했는지를 나타내는 메시지가 최종 사용자(902)로부터 제 1 캐시(912a) 및 제 2 캐시(912b) 중의 접속된 캐시에 전송된다. 이것은 단계(1015)에서 사양(905)과 비교되고, 단계(1016)에서, 필요하다면, 제 1 캐시(912a) 및 제 2 캐시(912b) 중 선택된 캐시들의 구성(913a 또는 913b)이 조절된다. 이 조절은 결합 구성이 사양(905)과 매칭되도록 하는 방법으로 이루어진다. 조합 구성은 전술한 바와 같이 제 1 캐시(912a) 및 제 2 캐시(912b) 중 선택된 캐시들 각각의 구성(913a, 913b)으로부터 도출된다.
본 발명은 네트워크(900) 및 디지털 데이터 전달용 대역폭 할당 방법에서 이용될 수 있다. 콘텐츠 제공자로부터의 디지털 데이터 전달을 위한 하나의 가격결정(pricing) 모델에서, 콘텐츠 제공자는 콘텐츠 배포 네트워크의 운영자와 계약하여 디지털 데이터를 특정 가격으로 배포한다. 따라서, 가장 저렴한 가격으로 디지털 데이터를 배포하는 것이 CDN 운영자의 관심사이다. 그 결과, CDN 운영자는 가장 저렴한 서버(예컨대, 제 1 캐시(912a) 또는 제 2 캐시(912b)) 또는 디지털 데이터가 제공되는 서버 팜을 발견하는 데 관심이 있다. 전달 속도에 대한 요건이 최종 사용자(902)에서 충족되는 한, 그 부분이 콘텐츠 배포 서버(예컨대 제 1 캐시(912a) 또는 제 2 캐시(912b))에 의해 제공되는가의 여부 또는 그 부분이 네트워크(900) 내의 피어(도시하지 않음)에 의해 제공되는가의 여부는 중요하지 않다. 따라서, CDN 운영자는 계약된 전달 속도를 충족시키기 위해 보다 고속의 서버에서 스위칭할 수 있다.
콘텐츠(예컨대, 제 1 캐시(912a) 또는 제 2 캐시(912b)) 서버의 운영자는 그들의 캐시의 이용을 최적화하는 데 관심이 있다. 전술한 바와 같이, 몇몇 ISP는 상당한 인입 데이터를 갖지만 인출 데이터는 거의 갖지 않으며, 디지털 데이터의 대칭적 다운로드 및 업로드를 위한 인프라구조를 갖는다. 그 결과, ISP 네트워크 상의 업로드 채널은 충분히 이용되지 못한다. 이용도를 증가시키기 위해, ISP는 CDN 운영자에게 충분히 이용되지 못한 업로드 채널 상의 대역폭을 제공할 수 있다. 제공된 대역폭의 가격은 ISP 자신의 가입자에 의해 인터넷으로 업로드되는 현재 데이터량에 따라 변할 수 있다. ISP 고객이 더욱 활성 상태인 주간 동안, 업로드 채널은 ISP 고객에 의해 더 많이 이용된다. ISP는 ISP 고객이 아닌 최종 사용자에게로의 공급을 위해 디지털 데이터를 업로드하는 많은 용량을 갖지 않는다. 따라서, 대역폭의 가격은 ISP가 동작하고 있는 시간 구역 내의 슬리핑 시간 동안의 것보다 더 높을 수 있다. 야간 시간 동안에는, 예를 들어 트래픽이 거의 업로드되지 않으며, 대역폭의 가격은 디지털 데이터의 배포를 위해 CDN 운영자를 조장하여 ISP를 이용하도록 감소할 수 있다. ISP는 충분히 이용되지 않은 장소에 인프라구조를 갖는다-유일한 증가분의 비용은 인보이싱(invoicing) 구조일 것이다.
콘텐츠 제공자는 그것의 캐시가 어떤 캐시(예컨대, 제 1 캐시(912a) 또는 제 2 캐시(912b))로부터 배포되고 있는가를 알 필요가 없다. 그것은 그것의 비즈니스 모델과 관계없다. CDN 운영자만이 최상의 가능한 가격을 획득하도록 서버 팜의 소유주 및 ISP와 비즈니스 장치를 협상할 필요가 있다.
이상적인 장치에서, 2 이상의 ISP는 ISP 가입자에 의한 업로드 채널의 현재 이용도에 따른 상이한 가격으로 캐시로부터 최종 사용자캐시로부터 최종 사용자 내지 CDN 운영자로 대역폭을 제공할 수 있다. 따라서, CDN 운영자는 2 이상의 ISP에 의해 제공되는 가장 경제적이고 및/또는 가장 빠른 전달 대역폭을 선택할 수 있다. 이것은 ISP가 특정 가격에 대해 보장된 최소 전달 속도에서 캐시로부터 대역폭 용량을 제공하는 현물 시장의 발전을 허용한다. CDN 운영자는 이 오퍼를 승낙하거나 오퍼에 대한 옵션을 적어도 구매-또는 오퍼를 거절하는 것을 선택할 수 있다. 일단 오퍼가 승낙되면, 그것은 매우 짧은 시간 프레임 내에서 CDN운영자에게 할당된다.
도 11은 본 발명의 이 양상의 실례를 도시하고 있다. 네트워크(1100)는 제 1 캐시(1112a)(도 9의 912a 및 도 4의 402와 동등함) 및 제 2 캐시(1112b)(도 9의 912b 및 도 4의 403과 동등함)로부터 각각 제 1 계획안(1111a) 및 제 2 계획안(1111b)을 수신하는 수신 디바이스(1106)를 포함한다. 제 1 캐시(1112a) 및 제 2 캐시(1112b)는 제 1 계획안(1111a) 및 제 2 계획안(1111b)을 오퍼 선택 디바이스(1104)에게 전송함으로써 디지털 데이터 전달에 대한 파라미터에서 CDN 운영자에게 대역폭을 제공한다. 계획안 선택 디바이스(1104)는 디지털 데이터의 전달을 위한 사양(1105)에 대응하는 제 1 캐시(1112a) 또는 제 2 캐시(1112b)로부터 계획안(1111a, 1111b) 중 하나를 선택한다. 사양(1105)은 디지털 데이터를 최종 사용자(1102)로 전달하기 위해 콘텐츠 제공자와 CDN 운영자 사이에서 협상되는 디지털 데이터 전달을 위한 계획된 최소 대역폭 및/또는 디지털 데이터 전달을 위한 계획된 가격을 포함한다. 그러나, 사양은 다른 인자를 포함할 수 있다.
계획안 선택 디바이스(1104)는 사양(1105)에 대응하는 제 1 계획안(1111a) 및 제 2 계획안(1111b) 중으로부터 파라미터에 대한 바람직한 값, 예컨대 대역폭의 비용에 대한 가장 저렴한 가격 또는 디지털 데이터의 공급을 갖는 계획안(또는 대안으로 그러한 계획안들)을 선택할 것이다.
계획안 선택 디바이스(1104)가 선택을 내린 후, 디지털 데이터의 전달에 이용가능한 제 1 캐시(1112a) 및 제 2 캐시(1112b) 중 이용가능한 캐시들의 정보는 전술한 바와 같이 트래커(915)가 최종 사용자(902)에게 리스트를 공급할 수 있도록 트래커(915)에 공급된다.
본 발명의 일 양상의 실시예에서, 상이한 계획안 사이의 차이점은 네트워크 경로 및/또는 제 1 캐시(1112a) 및 제 2 캐시(1112b)의 동작에 대한 상이한 비용 모델에 기초한다. 본 발명에 의해 고려되는 그러한 비용 모델에 대한 한 가지 가능성은 전술한 바와 같이 제 1 캐시(1112a) 또는 제 2 캐시(1112b)에서 네트워크 경로 상의 업로드 용량의 이용가능성이다.
본 발명의 일 양상은 대역폭 트레이딩을 위한 현물 시장을 포함한다. 본 발명의 이 양상에 있어서, 계획안 선택 디바이스(1104)는 (제 1 캐시(1112a) 및 제 2 캐시(1112b)일 수 있거나 다른 저장 디바이스일 수 있는) 디지털 데이터의 다수 공급자로부터 다수의 계획안, 예컨대 제 1 계획안(1111a) 및 제 2 계획안(1111b)을 수신한다. 계획안 선택 디바이스(1104)는 계획안을 계속해서 -또는 적어도 규칙적으로- 모니터링하고, 이용가능한 최상의 계획안을 선택한다. 트래커(1103)는 디지털 데이터의 전달을 위해 최상의 이용가능한 조건(예컨대, 가격)을 제공하는 다수의 공급자들 중 하나의 공급자들을 최종 사용자(902)에게 공급한다. 이 선택은 실질적으로는 실시간으로 또는 보다 긴 시간 프레임 동안에 일어날 수 있다.
계획안(1111a 또는 1111b)이 반드시 캐시(1112a, 1112b)로부터 수신되어야 하는 것은 아니라는 점에 주목하라. 그들은 캐시(1112a 또는 1112b)가 인스톨링되는 네트워크와 동일한 네트워크 내의 다른 디바이스로부터 수신될 수 있다.
본 발명의 이 양상은 도 12에 도시한 바와 같은 흐름도에 의해 더 설명될 것이다. 단계(1211)에서, 계획안(1111a, 1111b)은 네트워크(900)에서 접속되고 디지털 데이터의 전달을 위한 주어진 파라미터로 최종 사용자로부터 제 1 캐시(1112a) 및/또는 제 2 캐시(1112b)로 네트워크 경로를 따라 대역폭을 제공하는 디지털 데이터의 다수 공급자로부터 수신된다. 주어진 파라미터는, 본 발명의 이 양상에서, 대역폭의 가격을 포함한다. 디지털 데이터의 전달을 위해 사양에 대응하는 수신된 계획안(1111a 또는 1111b) 중 적어도 하나가 단계(1212)에서 선택된다. 사양은 일반적으로 디지털 데이터의 전달을 위한 계약된 최소 대역폭 및/또는 디지털 데이터의 전달을 위한 계약된 가격을 포함할 것이다.
마지막으로, 단계(1213)에서, 트래커(915)는 디지털 데이터를 최종 사용자(902)에게 공급할 수 있는 제 1 캐시(1112a) 및/또는 제 2 캐시(1112b)의 리스트(916)를 공급받을 것이다.
추가 단계(1214)에서, 추가 계획안이 요청되고, 그것들이 다음의 것이라면, 선택 프로세스가 계속된다. 이상적인 시장에서, 2 이상의 CDN 운영자는 대역폭 및/또는 서버 팜의 2 이상의 공급자로부터의 대역폭을 구할 것이다. 또한, 대역폭을 요구하는 데이터의 다른 배포자도 시장에서 활성 상태일 것이다.
본 발명의 일 양상에서, 파라미터는 콘텐츠 전달 네트워크의 제어기에 의해 변경될 수 있고, 이것을 하는 데 애플리케이션 프로그래밍 인터페이스가 이용 가능하다.
본 발명은 예시적 실례와 관련하여 설명되고 있다. 당업자라면, 본 발명이 첨부된 특허청구범위의 사상 및 범주 내에서 수정과 함께 구현될 수 있음을 인지할 것이다. 적어도, 본 발명이 본 발명의 상세한 설명 및/또는 실례로 제한되지 않는다는 점에 유의해야 한다. 본 발명이 적어도 부분적으로 하드웨어 및/또는 소프트웨어로 구현될 수 있으며, 여러 물리적 디바이스나 제품으로 전사될 수 있음은 당업자에게 명백하다. 본 발명은 적어도 하나의 컴퓨터 프로그램 제품에 전사될 수 있다. 또한, 본 발명은 여러 디바이스로 구현될 수 있다.

Claims (55)

  1. 적어도 2개의 상이한 데이터 소스(912a, 912b)를 포함하는 네트워크(900)로부터 최종 사용자(902)로의 디지털 데이터 전달 방법 - 상기 적어도 2개의 상이한 데이터 소스(912a, 912b) 각각은 적어도 하나의 파라미터를 가지며, 그에 의해 상기 적어도 2개의 데이터 소스(912a, 912b)는 부분을 포함하는 상기 디지털 데이터의 실질적으로 동일한 카피를 갖고 상기 최종 사용자(902)에게 접속됨 - 으로서, 상기 방법은,
    - 상기 적어도 2개의 데이터 소스(912a, 912b)의 서브 세트의 리스트를 수신하는 단계(1011)와,
    - 상기 리스트에 기초하여 상기 적어도 2개의 데이터 소스(912a, 912b)의 상기 서브 세트 중 하나 이상의 데이터 소스를 선택하는 단계(1012)와,
    - 상기 적어도 2개의 데이터 소스(912a, 912b) 중 상기 선택된 데이터 소스로부터 상기 디지털 데이터의 적어도 일부분을 상기 최종 사용자(902)에게로 전달하는 단계(1013)와,
    - 상기 최종 사용자(902)에게로의 상기 디지털 데이터의 전달을 위한 상기 적어도 하나의 파라미터를 모니터링하는 단계(1014)와,
    - 상기 모니터링된 적어도 하나의 파라미터에 기초하여, 상기 적어도 2개의 데이터 소스(912a, 912b) 중 상기 선택된 데이터 소스의 구성(913)의 결합 구성이 사양(905)과 매칭되도록 상기 적어도 2개의 데이터 소스(912a, 912b) 중 상기 선택된 데이터 소스의 구성(913)을 조절하는 단계(1015)와,
    - 상기 결합 구성이 상기 사양과 매칭되지 않는 경우에 상기 적어도 2개의 데이터 소스(912a, 912b) 중 다른 데이터 소스를 선택하여(1012), 상기 데이터 소스(912a, 912b) 중 선택된 상기 다른 데이터 소스의 구성(913)이 상기 사양(905)과 매칭되도록 하는 단계를 포함하는
    디지털 데이터 전달 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 최종 사용자(902)에 의한 상기 디지털 데이터의 상기 적어도 일부분의 수신과 관련된 메시지를 상기 최종 사용자(902)로부터 수신하는 단계를 더 포함하는
    디지털 데이터 전달 방법.
  4. 제 3 항에 있어서,
    상기 적어도 2개의 데이터 소스(912a, 912b) 중 상기 선택된 데이터 소스의 상기 구성(913)을 조절하는 단계는 상기 메시지에 더 기초하는
    디지털 데이터 전달 방법.
  5. 제 1 항, 제 3 항 또는 제 4 항 중 어느 한 항에 있어서,
    상기 적어도 2개의 데이터 소스(912a, 912b) 중에서 상기 선택된 데이터 소스 중 임의의 데이터 소스의 구성(913)은 상기 적어도 2개의 데이터 소스(912a, 912b) 중에서 상기 선택된 데이터 소스 중 하나의 데이터 소스로부터 상기 최종 사용자(902)로의 상기 디지털 데이터의 타깃 전달 레이트를 포함하는
    디지털 데이터 전달 방법.
  6. 제 1 항, 제 3 항 또는 제 4 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 파라미터는 상기 최종 사용자(902)로의 상기 디지털 데이터의 전달 비용을 포함하는
    디지털 데이터 전달 방법.
  7. 제 1 항, 제 3 항 또는 제 4 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 파라미터는 상기 최종 사용자(902)로의 상기 디지털 데이터의 전달 레이트를 포함하는
    디지털 데이터 전달 방법.
  8. 제 1 항, 제 3 항 또는 제 4 항 중 어느 한 항에 있어서,
    상기 적어도 2개의 데이터 소스(912a, 912b) 중에서 상기 선택된 데이터 소스는 상기 적어도 하나의 파라미터가 계약된 최소 대역폭을 초과하거나 그와 동일하다면 사양(1105)과 매칭되는
    디지털 데이터 전달 방법.
  9. 제 1 항, 제 3 항 또는 제 4 항 중 어느 한 항에 있어서,
    상기 적어도 2개의 데이터 소스(912a, 912b) 중 상기 선택된 데이터 소스는 상기 적어도 하나의 파라미터가 최소 비용을 나타낸다면 사양(1105)과 매칭되는
    디지털 데이터 전달 방법.
  10. 최종 사용자(902)로의 디지털 데이터의 전달 장치로서,
    상기 디지털 데이터는 복수의 부분을 포함하되,
    상기 장치는,
    - 상기 디지털 데이터의 부분을 적어도 하나의 파라미터로 상기 최종 사용자(902)에게 공급하는 적어도 2개의 데이터 소스(912a, 912b)를 갖는 네트워크(900)와,
    - 상기 적어도 2개의 데이터 소스(912a, 912b)의 서브 세트의 리스트를 제공하는 트래커(915)와,
    - 상기 리스트에 기초하여 상기 디지털 데이터의 상기 부분 중 적어도 일부분을 상기 최종 사용자(902)에게 공급하도록 상기 적어도 2개의 데이터 소스(912a, 912b) 중 하나 이상의 데이터 소스를 선택하여, 상기 적어도 2개의 데이터 소스(912a, 912b) 중 상기 선택된 데이터 소스의 구성(913)이 상기 최종 사용자(902)로의 상기 디지털 데이터의 전달에 대한 사양(905)과 매칭되도록 하는 선택 디바이스(904)와,
    - 상기 최종 사용자(902)로의 상기 디지털 데이터의 전달에 대한 적어도 하나의 파라미터를 모니터링하는 모니터링 디바이스(906)와,
    - 상기 모니터링된 적어도 하나의 파라미터에 기초하여, 상기 적어도 2개의 데이터 소스(912a, 912b) 중 상기 선택된 데이터 소스의 구성(913)의 결합 구성이 사양(905)과 매칭되도록 상기 적어도 2개의 데이터 소스(912a, 912b) 중 상기 선택된 데이터 소스 중 적어도 하나의 데이터 소스의 구성(913)을 조절하는 조절 디바이스(907)을 포함하되,
    상기 선택 디바이스(904)는 상기 결합 구성이 상기 사양(905)과 매칭되지 않는 경우에 상기 적어도 2개의 데이터 소스(912a, 912b) 중 다른 데이터 소스를 더 선택하는
    디지털 데이터 전달 장치.
  11. 삭제
  12. 제 10 항에 있어서,
    상기 최종 사용자(902)에 의한 상기 디지털 데이터의 상기 적어도 일부분의 수신과 관련된 메시지를 상기 최종 사용자(902)로부터 수신하는 수신 디바이스(907a)를 더 포함하는
    디지털 데이터 전달 장치.
  13. 제 12 항에 있어서,
    상기 조절 디바이스(907)는 상기 메시지에 기초하여 상기 적어도 2개의 데이터 소스(912a, 912b) 중 상기 선택된 데이터 소스의 구성(913)을 더 조절하는
    디지털 데이터 전달 장치.
  14. 제 10 항, 제 12 항 및 제 13 항 중 어느 한 항에 있어서,
    상기 모니터링 디바이스(906)는 상기 적어도 2개의 데이터 소스(912a, 912b)에 위치하는
    디지털 데이터 전달 장치.
  15. 제 10 항, 제 12 항 및 제 13 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 파라미터는 상기 최종 사용자(902)로의 상기 디지털 데이터의 전달 비용을 포함하는
    디지털 데이터 전달 장치.
  16. 제 10 항, 제 12 항 및 제 13 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 파라미터는 상기 최종 사용자(902)로의 상기 디지털 데이터의 전달 레이트를 포함하는
    디지털 데이터 전달 장치.
  17. 제 10 항, 제 12 항 및 제 13 항 중 어느 한 항에 있어서,
    상기 적어도 2개의 데이터 소스(912a, 912b) 중에서 상기 선택된 데이터 소스 중 임의의 데이터 소스의 구성(913)은 상기 적어도 2개의 데이터 소스(912a, 912b) 중에서 상기 선택된 데이터 소스 중 하나의 데이터 소스로부터 상기 최종 사용자(902)로의 상기 디지털 데이터의 타깃 전달 레이트를 포함하는
    디지털 데이터 전달 장치.
  18. 제 10 항, 제 12 항 및 제 13 항 중 어느 한 항에 있어서,
    상기 적어도 2개의 데이터 소스(912a, 912b) 중에서 상기 선택된 데이터 소스의 결합 구성은 상기 적어도 하나의 파라미터가 계약된 최소 대역폭을 초과하거나 그와 동일하다면 사양(1105)과 매칭되는
    디지털 데이터 전달 장치.
  19. 제 10 항, 제 12 항 및 제 13 항 중 어느 한 항에 있어서,
    상기 적어도 2개의 데이터 소스(912a, 912b) 중에서 상기 선택된 데이터 소스의 결합 구성은 상기 적어도 하나의 파라미터가 최소 비용을 나타낸다면 사양(1105)과 매칭되는
    디지털 데이터 전달 장치.
  20. 제 10 항, 제 12 항 및 제 13 항 중 어느 한 항에 있어서,
    상기 적어도 2개의 데이터 소스(912a, 912b)는 복수 형태의 데이터 소스를 포함하는
    디지털 데이터 전달 장치.
  21. 제 10 항, 제 12 항 및 제 13 항 중 어느 한 항에 있어서,
    상기 적어도 2개의 데이터 소스(912a, 912b)는 적어도 2개의 캐시를 포함하는
    디지털 데이터 전달 장치.
  22. 제 10 항, 제 12 항 및 제 13 항 중 어느 한 항에 있어서,
    상기 네트워크(900)는 콘텐츠 전달 네트워크(CDN)인
    디지털 데이터 전달 장치.
  23. 제 10 항, 제 12 항 및 제 13 항 중 어느 한 항에 있어서,
    상기 네트워크(900)는 피어-투-피어 네트워크이고,
    상기 적어도 2개의 데이터 소스(912a, 912b)는 네트워크 경로에 접속된 적어도 하나의 피어를 포함하는
    디지털 데이터 전달 장치.
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
KR1020107014801A 2007-12-03 2008-12-03 디지털 데이터 전달 방법 및 장치와, 데이터 소스 선택 방법 및 장치와, 현물 시장 트레이딩 디바이스 KR101520519B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB0723664.9 2007-12-03
US11/949,297 US7908362B2 (en) 2007-12-03 2007-12-03 Method and apparatus for the delivery of digital data
GB0723664A GB2455301A (en) 2007-12-03 2007-12-03 Dynamic adjustment of the delivery of digital data from multiple data sources
US11/949,297 2007-12-03
PCT/EP2008/066675 WO2009071566A2 (en) 2007-12-03 2008-12-03 A method and apparatus for the delivery of digital data

Publications (2)

Publication Number Publication Date
KR20100113504A KR20100113504A (ko) 2010-10-21
KR101520519B1 true KR101520519B1 (ko) 2015-05-14

Family

ID=40718256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107014801A KR101520519B1 (ko) 2007-12-03 2008-12-03 디지털 데이터 전달 방법 및 장치와, 데이터 소스 선택 방법 및 장치와, 현물 시장 트레이딩 디바이스

Country Status (5)

Country Link
EP (1) EP2235907B1 (ko)
JP (2) JP2011508916A (ko)
KR (1) KR101520519B1 (ko)
CN (1) CN101933308A (ko)
WO (1) WO2009071566A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7908362B2 (en) 2007-12-03 2011-03-15 Velocix Ltd. Method and apparatus for the delivery of digital data
US8433814B2 (en) * 2009-07-16 2013-04-30 Netflix, Inc. Digital content distribution system and method
TWI489889B (zh) 2012-12-28 2015-06-21 Ind Tech Res Inst 內容遞送網路及同儕網路之流量控制方法及系統
CN105593837B8 (zh) * 2013-07-03 2020-07-07 爱立信股份有限公司 用于在内容递送网络中递送内容的系统和方法
CN107396136A (zh) * 2017-08-22 2017-11-24 深圳创维-Rgb电子有限公司 一种视频数据获取方法、装置、服务器及介质
JP7183762B2 (ja) * 2018-12-19 2022-12-06 日本電信電話株式会社 サーバ選択装置、サーバ選択方法及びプログラム
CN114915559B (zh) * 2021-02-08 2024-01-23 北京金山云网络技术有限公司 Cdn节点带宽规划方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US20040172476A1 (en) * 2003-02-28 2004-09-02 Chapweske Justin F. Parallel data transfer over multiple channels with data order prioritization

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3401478B2 (ja) * 2000-06-20 2003-04-28 日本電信電話株式会社 拠点選択装置、拠点選択システムおよび記録媒体
KR100485974B1 (ko) * 2002-10-10 2005-05-03 엔에이치엔(주) 컨텐츠 제공 방법 및 시스템
JP2004246790A (ja) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信方法、トポロジ制御装置、クライアント装置、並びにそのプログラム及び記録媒体
JP4146373B2 (ja) * 2004-03-08 2008-09-10 日本電信電話株式会社 動的なネットワークにおけるサービス選択方法およびサービス選択システム
US7593333B2 (en) * 2004-07-07 2009-09-22 Microsoft Corporation Efficient one-to-many content distribution in a peer-to-peer computer network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US20040172476A1 (en) * 2003-02-28 2004-09-02 Chapweske Justin F. Parallel data transfer over multiple channels with data order prioritization

Also Published As

Publication number Publication date
WO2009071566A2 (en) 2009-06-11
WO2009071566A3 (en) 2010-02-25
KR20100113504A (ko) 2010-10-21
JP2011508916A (ja) 2011-03-17
JP2014029694A (ja) 2014-02-13
EP2235907A2 (en) 2010-10-06
EP2235907B1 (en) 2019-08-28
JP6111452B2 (ja) 2017-04-12
CN101933308A (zh) 2010-12-29

Similar Documents

Publication Publication Date Title
US7908362B2 (en) Method and apparatus for the delivery of digital data
US7995473B2 (en) Content delivery system for digital object
CN101641685B (zh) 用对等模型和客户端服务器模型传送文件到客户端的方法
KR101520519B1 (ko) 디지털 데이터 전달 방법 및 장치와, 데이터 소스 선택 방법 및 장치와, 현물 시장 트레이딩 디바이스
US7818402B1 (en) Method and system for expediting peer-to-peer content delivery with improved network utilization
US10506062B2 (en) Network-optimized content delivery for high demand non-live contents
JP5050095B2 (ja) P2pコンテンツ共有のための方法、システム、及びノード
US8606846B2 (en) Accelerating peer-to-peer content distribution
US8321494B2 (en) Method and apparatus for reporting and invoicing of data downloads
US20090100128A1 (en) Accelerating peer-to-peer content distribution
Sweha et al. Angelcast: cloud-based peer-assisted live streaming using optimized multi-tree construction
IL197007A (en) Cache structure
EP2252057B1 (en) Method and system for storing and distributing electronic content
US20230119540A1 (en) Content delivery system special network device and special local area network connection, content discovery, data transfer, and control methods
WO2021015908A1 (en) Special local area network with secure data transfer
GB2455301A (en) Dynamic adjustment of the delivery of digital data from multiple data sources
Mykoniati et al. Scalable peer-to-peer streaming for live entertainment content
WO2008017504A1 (en) Content delivery system for digital object
Vyzovitis An active protocol architecture for collaborative media distribution
Jeon Optimization Strategies for QoS-Sensitive VOD Service Delivery in Cooperative Environments

Legal Events

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