KR20080085846A - 콘텐츠 배포 제어 방법, 콘텐츠 수신 방법, 콘텐츠 발행방법 및 컴퓨터 프로그램 - Google Patents

콘텐츠 배포 제어 방법, 콘텐츠 수신 방법, 콘텐츠 발행방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20080085846A
KR20080085846A KR1020087014876A KR20087014876A KR20080085846A KR 20080085846 A KR20080085846 A KR 20080085846A KR 1020087014876 A KR1020087014876 A KR 1020087014876A KR 20087014876 A KR20087014876 A KR 20087014876A KR 20080085846 A KR20080085846 A KR 20080085846A
Authority
KR
South Korea
Prior art keywords
content
tracker
peer
certificate
authorization
Prior art date
Application number
KR1020087014876A
Other languages
English (en)
Inventor
크리스토스 칸트시디스
존 밀러
스튜어트 란슨
아머 하이드리
탄 씨몽
파블로 로드리구에즈 로드리구에즈
마뉴엘 코스타
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20080085846A publication Critical patent/KR20080085846A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/108Transfer of content, software, digital rights or licenses
    • G06F21/1085Content sharing, e.g. peer-to-peer [P2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 네트워크를 통한 콘텐츠 배포에 관한 것이며 그 배포를 제어하고 콘텐츠를 수신하며 콘텐츠를 발행하는 방법들을 제공한다. 네트워크를 통한 콘텐츠의 배포를 제어하는 방법은, 발행자로부터 콘텐츠의 소스에 대한 위치 정보와 콘텐츠 설명을 수신하는 단계를 포함하고, 여기서 콘텐츠 설명은 발행자에 관련된 인가 상세를 포함한다. 인가 상세의 유효성을 체크하고 유효한 것으로 발견되면, 콘텐츠 설명은 네트워크 내의 노드에 제공된다.
콘텐츠 배포, 콘텐츠 설명, 인가 상세, 발행자,

Description

콘텐츠 배포 제어 방법, 콘텐츠 수신 방법, 콘텐츠 발행 방법 및 컴퓨터 프로그램{AUTHORISATION AND AUTHENTICATION}
콘텐츠 배포 시스템은, 소프트웨어 갱신(software updates) 및 주요 패치(critical patches)와 같은 데이터를 네트워크 내의 노드들에 배포할 수 있도록 개발되어 왔다. 통상적으로, 이러한 시스템들은, 노드들이 서버들 중 하나의 서버에 직접 연결되어 필요한 파일을 다운로드하도록 네트워크에 배치된 많은 서버들을 포함하였다. 그러나, 이러한 시스템들은 서버에 대한 연결 대역폭에 의해 억제되며 시스템의 용량을 늘리려면 상당한 투자를 필요로 한다. 결국, 콘텐츠 배포 시스템은 네트워크 내의 노드들이 배포 프로세스에 참여하는 완전히 분산된 아키텍처(fully distributed architecture)에 의존하는 것으로 개발되어 왔다. 이러한 시스템을 피어-투-피어(peer-to-peer) 또는 피어-보조(peer-assisted) 콘텐츠 배포 시스템이라 칭할 수 있다. 이러한 시스템에서, 서버는 배포될 파일을 다수의 블록들로 나눌 수 있고 이러한 블록들을 네트워크 내의 노드들에게 제공할 수 있다. 노드가 하나 이상의 블록을 수신하자 마자, 이 노드는 파일의 모든 블록들을 수신할 때까지 추가 블록들을 수신하는 것과 동시에, 다른 노드들에 대한 수신된 블록들의 소스로서 기능할 수 있다.
악성 사용자들은 문제점들을 이러한 시스템들에 많은 방식들로 야기할 수 있 다. 이러한 문제점들에는 거짓(false) 콘텐츠(즉, 겉보기와 다른 콘텐츠)의 배포가 포함된다. 이 거짓 콘텐츠는 바이러스 또는 기타 유해한 프로그램을 포함할 수 있고 또는 그냥 원하지 않는 데이터를 공유하여 네트워크 리소스를 낭비할 수 있다. 악성 사용자들은 손상된 다운로드된 데이터를 배포시킬 수 있으며 이 데이터는 다시 이 데이터가 손상되어 있는 줄 모르는 다른 피어들에 의해 배포될 수 있다. 이것은 이러한 손상된 데이터의 대규모 보급을 초래할 수 있어서 데이터의 특정한 단편(piece)의 배포가 불가능하다. 다른 예에서, 악성 사용자들은, 예를 들어, 결국 중단(abort)될 수 있지만 리소스들을 소모하는 연결 시도를 반복적으로 행함으로써, 네트워크의 특정 요소들에 대하여 서비스 거부 공격(denial of service attack)을 유발시킬 수 있다. 서비스 거부 공격이 어디를 향하는지에 따라, 이러한 공격은 전체 배포 시스템이 고장나도록 야기할 수 있고 또는 단지 하나 이상의 개별 사용자들에게 영향을 끼칠 수 있다.
이 개요는 아래의 상세한 설명에서 추가로 설명되는 개념들의 집합을 간략한 형태로 도입하고자 제공된다. 이 개요는 청구 대상의 주요한/중대한 요소들을 식별하려는 것이 아니며 청구 대상의 범위를 결정하는 데 사용되려는 것도 아니다.
제1 예는 네트워크를 통한 콘텐츠의 배포를 제어하는 방법을 제공한다. 콘텐츠의 소스에 대한 위치 정보 및 콘텐츠 설명(content description)은 발행자로부터 수신되고, 여기서 콘텐츠 설명은 그 발행자의 인가 상세(authorisation details)를 포함한다. 이러한 인가 상세의 유효성이 체크되며, 유효한 것으로 판정되면 콘텐츠 설명이 네트워크 내의 노드에게 제공될 수 있다.
이점으로는, 발행자의 인가 상세를 제공함으로써, 콘텐츠 배포 시스템 내의 다른 노드들이 발행되는 콘텐츠가 자신들이 예상하는 것이라고 신뢰할 수 있다는 점이다. 또한, 인가 상세는 노드들이 발행자의 인가가 여전히 유효한지를 체크할 수 있게 한다.
위치 정보는 콘텐츠 설명 내에 포함될 수 있다. 콘텐츠 설명 내에 위치 정보가 포함되지 않는 경우, 위치 정보는 콘텐츠 설명과 동시에 또는 별도의 요구에 응답하여 네트워크 내의 노드에게 제공될 수 있다.
바람직하게, 콘텐츠 설명은 노드로부터의 요구에 응답하여 그 노드에게 제공된다.
이 방법은, 콘텐츠 설명을 노드에게 제공하기 전에 그 노드의 아이덴티티를 확인하는 단계를 더 포함할 수 있다.
바람직하게, 발행자에 관련된 인가 상세는 증명서 발행기관에 의해 발행되는 증명서의 상세를 포함하고, 인가 상세의 유효성을 체크하는 단계는, 증명서 발행기관에 의해 발행된 증명서 취소 리스트(Certificate Revocation List)에 액세스하는 단계와, 증명서가 증명서 취소 리스트에 있는지 여부를 결정하는 단계를 포함한다.
이 방법은, 증명서 취소 리스트를 저장하는 단계와, 네트워크 내의 노드로부터의 요구에 응답하여 증명서 취소 리스트를 그 노드에게 제공하는 단계를 더 포함할 수 있다.
이 방법은, 네트워크에 연결되고 콘텐츠의 적어도 일부분을 유지하는 노드들의 리스트를 유지하는 단계와, 네트워크 내의 노드로부터의 요구에 응답하여 노드들의 리스트의 적어도 일부분을 그 노드에게 제공하는 단계를 더 포함할 수 있다.
이 방법은, 노드들의 리스트의 적어도 일부분을 제공하기 전에 노드의 아이덴티티를 확인하는 단계를 더 포함할 수 있다.
제2 예는, 프로그램이 컴퓨터 상에서 실행될 때 전술한 방법들 중 임의의 방법의 모든 단계들을 수행하도록 구성된 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램을 제공한다. 이 컴퓨터 프로그램은 컴퓨터 판독가능 매체에서 구현될 수 있다.
제3 예는 네트워크를 통해 배포되는 콘텐츠를 수신하는 방법을 제공하며, 이 방법은, 콘텐츠 식별자와 트랙커 포인터를 수신하는 단계와, 트랙커 포인터로부터 식별된 제1 트랙커로부터의 콘텐츠 설명 - 이 콘텐츠 설명은 콘텐츠의 발행자에 관련된 인가 상세를 포함함 - 을 요구하는 단계와, 콘텐츠 설명을 수신하는 단계와, 인가 상세의 유효성을 체크하는 단계와, 제2 트랙커로부터 콘텐츠의 소스에 대한 정보를 수신하는 단계와, 소스로부터의 콘텐츠의 일부분을 요구하는 단계를 포함한다.
바람직하게, 제1 트랙커와 제2 트랙커는 동일하다.
제1 트랙커와 제2 트랙커가 동일한 경우, 콘텐츠 설명은 콘텐츠의 소스에 대한 정보를 더 포함할 수 있다.
콘텐츠의 소스에 대한 정보는, 콘텐츠 설명에 대한 요구에 응답하여 또는 별도의 요구에 응답하여 수신될 수 있다.
바람직하게, 콘텐츠 설명은 제2 트랙커를 식별하는 정보를 더 포함한다.
바람직하게, 발행자에 관련된 인가 상세는 증명서 발행기관에 의해 발행된 증명서의 상세를 포함하고, 인가 상세의 유효성을 체크하는 단계는, 증명서 발행기관에 의해 발행된 증명서 취소 리스트에 액세스하는 단계와, 증명서가 증명서 취소 리스트에 있는지 여부를 결정하는 단계를 포함한다.
이 방법은 콘텐츠 설명을 수신하기 전에 제1 트랙커에게 식별 정보를 제공하는 단계를 더 포함할 수 있다.
이 방법은, 소스에게 식별 정보를 제공하는 단계와, 소스로부터의 식별 정보를 요구하는 단계를 더 포함할 수 있다.
이 방법은, 소스로부터 콘텐츠의 일부분을 수신하는 단계와, 콘텐츠의 일부분의 유효성을 체크하는 단계와, 이 일부분이 유효하지 않은 경우 시간 주기 동안 소스와의 통신을 차단하는 단계를 더 포함할 수 있다.
제4 예는, 프로그램이 컴퓨터 상에서 실행될 때 전술한 방법들 중 임의의 방법의 모든 단계들을 수행하도록 구성된 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램을 제공한다. 컴퓨터 프로그램은 컴퓨터 판독가능 매체에서 구현될 수 있다.
제5 예는, 네트워크를 통한 배포를 위해 콘텐츠를 발행하는 방법을 제공하며, 이 방법은, 발행할 인가를 요구하는 단계와, 인가 상세를 수신하는 단계와, 인가 상세를 포함하는 콘텐츠 설명을 생성하는 단계와, 콘텐츠의 소스에 대한 위치 정보와 콘텐츠 설명을 트랙커 서버에게 전송하는 단계를 포함한다.
바람직하게, 인가를 요구하는 단계는 증명서 발행기관으로부터의 증명서를 요구하는 단계를 포함하고, 인가 상세는 증명서의 상세를 포함한다.
위치 정보는 콘텐츠 설명 내에 포함될 수 있다.
제6 예는 프로그램이 컴퓨터 상에서 실행될 때 전술한 방법들 중 임의의 방법의 모든 단계들을 수행하도록 구성된 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램을 제공한다. 컴퓨터 프로그램은 컴퓨터 판독가능 매체에서 구현될 수 있다.
다른 예는, 발행자가 발행 인가를 요구하고 발행자의 인가 상세를 포함하는 콘텐츠 설명을 생성하는 네트워크를 통한 콘텐츠 배포 방법을 제공한다. 콘텐츠 설명 및 발행될 콘텐츠의 소스에 대한 정보는, 발행자에 대한 인가 상세의 유효성을 체크하고 인가 상세가 유효하면 콘텐츠 설명을 네트워크의 하나 이상의 노드에게 제공하는 트랙커 서버에 전송된다.
전술한 방법들은 저장 매체 상에서 기계로 판독가능한 형태인 소프트웨어에 의해 수행될 수 있다. 이 소프트웨어는, 방법의 단계들이 임의의 적합한 순서로 또는 동시에 실행될 수 있도록 병렬 프로세서 또는 직렬 프로세서 상에서의 실행에 적합할 수 있다.
이것은 소프트웨어가 별도로 거래가능한 가치있는 상품이라는 것을 확인해 준다. 이것은 원하는 기능을 실행하도록 덤(dumb) 또는 표준 하드웨어를 실행시키거나 제어하는 소프트웨어를 포함한다. 또한, 이것은, 원하는 기능을 실행하도록 실리콘 칩을 설계하거나 유니버설 프로그래머블 칩을 구성하는 데 사용되는 것과 같은 HDL(hardware description language; 하드웨어 설명 언어) 소프트웨어와 같이 하드웨어의 구성을 설명하거나 한정하는 소프트웨어를 포함한다.
부수적 특징들 중 많은 특징들은 첨부 도면와 함께 고려되는 다음에 따르는 상세한 설명을 참조함으로써 보다 잘 이해되듯이 보다 쉽게 인식될 것이다.
본 발명은 첨부 도면을 참조하여 다음에 따르는 상세한 설명으로부터 보다 잘 이해될 것이다.
도 1은 콘텐츠 배포 시스템을 개략적으로 도시한다.
도 2는 도 1의 시스템의 동작을 도시하는 흐름도의 일례이다.
도 3은 다른 콘텐츠 배포 시스템을 개략적으로 도시한다.
유사한 참조 부호들은 첨부 도면에서 유사한 부분들을 지정하는 데 사용된다.
첨부 도면과 함께 이하의 상세한 설명은 본 예들의 설명으로서 제시되는 것이며 이 예가 생성되거나 활용될 수 있는 유일한 형태들을 나타내려는 것이 아니다. 이 설명은 이 예를 생성하고 동작시키기 위한 단계들의 시퀀스 및 이 예의 기능들을 설명한다. 그러나, 동일하거나 등가의 기능들 및 시퀀스들이 서로 다른 예들에 의해 달성될 수 있다.
본 예들은 여기서 (피어-투-피어 배포 시스템이라고도 알려져 있는) 피어 보조 배포 시스템에서 구현되는 것으로서 설명되고 예시되고 있지만, 이렇게 설명되 는 시스템은 일례로서 제공되며 이러한 예로 한정되지 않는다. 당업자라면 인식하듯이, 본 예들은 콘텐츠 배포 및/또는 콘텐츠 공유 시스템의 서로 다른 다양한 유형들의 응용에 적합하다.
도 1은 발행자(101), 인가체(authorisation body; 102), 트랙커(103), 시드(104), 2개의 피어(105)를 포함하는 콘텐츠 배포 시스템(100)을 개략적으로 도시한다. 콘텐츠 배포는 클라우드(106) 내에서 발생한다. 콘텐츠는 임의의 유형의 데이터일 수 있으며 예를 들어 인코딩된 블록들로서 배포될 수 있다. 발행자(101)는 콘텐츠를 제공하고 인가체(102)에 의해 인가되는 엔티티이다. 발행자는 사용자 또는 기업일 수 있으며 콘텐츠 배포 클라우드(106) 외부에 위치할 수 있다. 트랙커(103)는, 피어(105)가 콘텐츠의 특정한 단편(piece)의 배포에 참여하고 있는 다른 피어들을 찾는 것을 돕는 서버이다. 시드(104)는 일반적으로 항상 온(on) 상태에 있으며 발행자가 시스템 내에서의 후속 배포를 위해 콘텐츠의 단편을 두는 클라이언트이다. 시드(104)는 콘텐츠를 시스템(100) 내의 적은 수의 피어(105)들에게 업로드하지만(단일 피어에게만 업로드할 수도 있음) 동일한 콘텐츠를 시스템 내의 다른 노드들로부터 다운로드하지는 않는다. "노드"라는 용어는 여기서 시스템 내의 임의의 논리적 엔티티를 가리키도록 사용된다. 피어(105)는 시드(104)에 의해 유지되는 콘텐츠를 얻는 데 관심있는 클라이언트이다. 피어는 시스템 내의 노드들(즉, 피어 또는 시드)로부터 콘텐츠를 다운로드할 것이며, 또한 콘텐츠 중에서 자신이 수신한 부분들을 시스템 내의 다른 피어들에게 업로드할 수 있다. 피어는, 콘텐츠의 특정한 단편을 모두 수신하고 나면, 피어들로부터 콘텐츠를 더 이상 다운 로드하지 않으면서 그 콘텐츠를 시스템 내의 다른 피어들에게 업로드될 수 있게 함으로써, 일시적 또는 가상적 시드로서 기능할 수 있다. 콘텐츠는 인코딩된 포맷으로 클라우드 내에 배포될 수 있고 다르게는 인코딩되지 않을 수 있다. 도 1은 시스템(100)의 부분들 간의 일부 논리적 연결들을 도시하고 있지만, 이들은 철저하게 도시된 것이 아니며 예시일 뿐이다.
도 1에 도시한 시스템(100)의 동작의 일례는 도 2에 도시한 흐름도를 참조하여 설명될 수 있다. 발행자(101)는 인가체(102)로부터의 발행 인가를 요구한다(단계 201). 이에 응답하여, 인가체는 증명서를 발행한다(단계 202). 이 증명서는 콘텐츠의 한 단편에 대하여 특정될 수도 있고, 다르게는 콘텐츠의 임의의 특별한 단편에 관련되지 않고 임의의 콘텐츠 배포 클라우드 내에서 콘텐츠의 임의의 단편을 발행할 때 발행자에 의해 사용될 수도 있다. 발행자(101)는 이제 호스팅 트랙커(103) 및 시드 서버(104)를 선택하고(단계 203), 디지털 서명하는 보안 콘텐츠 설명(SCD; secure content description)을 생성한다(단계 204). SCD는 (전술한 단계 202에서) 발행자에게 발행된 증명서의 상세 및 다운로드된 콘텐츠의 무결성 체크를 가능하게 하는 정보를 포함한다. 이하, SCD를 더 상세히 설명한다. 이후, 발행자가 서명된 SCD를 트랙커(103) 상에 두고(단계 205) 콘텐츠를 시드 서버(104) 상에 두는(단계 206) 것에 의해 콘텐츠 배포 클라우드(106)가 확립된다. 피어(105)는 콘텐츠 식별자와 트랙커 포인터를 수신한다(단계 207). 이 정보는 웹사이트, URI(Uniform Resource Identifier)로부터, 또는 애플리케이션 경험의 일부(예를 들어, 인터액티브 미디어 플레이어(iMP)의 일부)로서 수신될 수 있다. 이 정보를 이용함으로써, 피어(105)는 식별된 트랙커(103)로부터의 SCD를 요구할 수 있고(단계 208) 이후 트랙커로부터의 피어 엔드포인트들의 상세를 요구할 수 있다(단계 209). 이러한 피어 엔드포인트들은 콘텐츠를 다운로드하기 위해 그 피어가 연결될 수 있는 하나 이상의 다른 피어의 상세이다. 또한, 피어 엔드포인트들은, 특히 클라우드 내에 피어들이 많이 존재하지 않는 클라우드(106)의 초기 단계들에서는 시드(104)의 상세를 포함할 수 있다. 이후, 피어(105)는, 식별된 피어 엔드포인트들 중 하나 이상에게 연결되고(단계 210) 콘텐츠의 블록을 다운로드한다(단계 211). 블록을 피어의 수신 블록 저장소에 추가하거나 그 블록을 다른 임의의 사람에게 포워딩하기 전에, 블록의 무결성이 검증된다(단계 212). 블록의 무결성에 의심이 가는 경우, 피어는 해를 끼치는(offending) 피어 엔드포인트를 기록하고, 콘텐츠 배포 세션의 나머지 동안 이 엔드포인트와 접촉하지 않고 또는 콘텐츠 배포 세션의 나머지 동안 이 엔드포인트로부터의 연결을 허용하지 않는다(단계 213). 대신에, 피어는 다른 피어 엔드포인트에 연결되며(단계 210) 필요하다면 우선 트랙커로부터의 피어 엔드포인트들의 추가 상세를 요구한다(단계 209). (단계 212에서) 블록의 무결성이 검증되면, 피어는 콘텐츠의 필요한 블록들을 모두 수신하였는지 여부를 결정한다(단계 214). 피어가 추가 블록들을 여전히 필요로 하면, 피어는 다른 블록을 다운로드하도록 진행한다(단계 211). 일단 피어가 콘텐츠의 필요한 블록들을 모두 다운로드하면, 피어는 파일을 디코딩하고(단계 215) 다운로드한 콘텐츠에 대하여 무결성 체크를 행한다(단계 216). 개별적인 단계들에 대한 추가 상세를 아래에 제공한다.
발행자를 인가함으로써, 콘텐츠 배포 시스템 내의 다른 노드들은 발행되고 있는 콘텐츠가 자신들이 예상하는 것이라고 신뢰할 수 있다. 이 노드들은, 원한다면, 발행자의 인가가 여전히 유효한지를 체크할 수도 있다. 게다가, 발행자가 무효한, 불법적, 공격적, 또는 기타 이의가 제기될만한 콘텐츠를 발행하고 있는 것으로 발견되면, 인가를 취소할 수 있고, 이에 따라 발행자가 추가 콘텐츠를 발행하는 것을 방지할 수 있다. 일단 발행자의 인가가 최소되면, 클라우드(106) 내의 콘텐츠의 추가 보급은 트랙커에 의해 금지될 수 있고, 일단 피어가 취소를 알게 되면, 피어는 이하에서 더 상세히 설명하는 바와 같이 클라우드 내에서의 자신의 활동을 중단할 수 있다.
발행 인가 요구(단계 201)는, Microsoft (상표)의 인증 기관과 같은 인증 기관(CA; certification authority)으로부터의 인가를 신청함으로써, 행해질 수 있다. 일부 경우에, 루트 증명서(root credential)를 갖는 CA(예를 들어, Microsoft (상표))는 발행자가 발행자들을 대리 인가(sub-authorise)하도록 인가할 수 있으며 그 대리 인가받은 부-발행자들이 다시 부-발행자(sub-publisher)들을 인가할 수도 있다. 예를 들어, CA는, 발행자(예를 들어, "발행자 1"이라 칭하는 가상 발행자)를 인가할 수 있고, 이 발행자가 조직(organization)의 부분들(예를 들어, "발행자 1-뉴스" 및 "발행자 1-코메디")을 발행자들로서 대리 인가할 수 있게 한다. 이러한 대리 인가 프로세스를 위임(delegation)이라 칭할 수도 있다.
(단계 201에서의) 요구에 응답하여 (단계 202에서) 발행된 증명서는 X.509 증명서의 형태를 취할 수 있다. X.509는 공개키 인프라스트럭처를 위한 ITU- T(International Telecommunication Union's Telecommunication Sector) 표준이다. 이 증명서는 발행자(101)에게 제공될 수 있고 또는 (도 1에는 도시하지 않은) 중앙 리파지토리(repository)에 저장될 수 있으며 상세는 발행자(101)에게 제공될 수 있다. 다른 증명서 스킴들, 공유 비밀들 및 도출된 토큰들을 포함하여 X.509 증명서 대신에 임의의 다른 적절한 인가 방법을 사용할 수 있다.
호스팅 트랙커를 선택(단계 203)하는 것은, 발행자가 자신의 고유한 트랙커 서버를 셋업하거나 제삼자 트랙커 서버의 사용 허가를 얻는 것을 포함할 수 있다. 또한, 트랙커(103)는 CA에 의해 인가되어 피어가 그 트랙커로부터 얻은 정보의 무결성을 신뢰할 수 있게 된다. (마찬가지로 단계 203에서) 선택된 시드(104)는, 임의의 애벌런시(Avalanche) 지원 프로토콜, BitTorrent 및 http(hyper text transfer protocol)를 포함하는 임의의 적절한 프로토콜을 사용하여 클라우드 내의 피어들에게 콘텐츠를 제공할 수 있지만, 이러한 프로토콜의 예로 한정되지는 않는다. 애벌런시는, 네트워크 코딩을 이용하는 Microsoft Corporation이 개발한 피어 보조 콘텐츠 배포 프로토콜(peer-assisted content distribution protocol)이다. 이것은, 시스템 내의 각 노드가 정보의 인코딩된 블록들을 생성하고 전송하며, 이렇게 새롭게 인코딩된 블록들이 그 특정 노드에 의해 현재 유지되고 있는 모든 블록들의 선형 조합이라는 것을 의미한다. 이러한 프로토콜의 이점들 중 하나는, 콘텐츠의 특정한 부분(또는 블록)이 네트워크 내에 드물거나 드물게 되는 가능성을 최소화한다는 것이다.
(단계 204에서) 발행자에 의해 생성된 보안 콘텐츠 설명(SCD)은, 콘텐츠 발 행자를 설명하며 전송 및 리어셈블링된 콘텐츠의 검증을 가능하게 하는 자기 인증(self-certifying) 구조이다. "자기 인증"이라는 용어는, 본 명세서에서 그 구조가 자신이 임의 변경(tamper)되지 않았다는 고유한 증거를 포함한다는 사실을 가리키는 데 사용되며, 예를 들어, 이 구조는 콘텐츠가 임의 변경되지 않았음을 보장하는 암호 서명을 가질 수 있다. SCD는 암호화될 필요가 없지만, 일부 예들에서는 SCD의 일부 또는 전체가 암호화될 수 있다. SCD는 다음에 따르는 것들 중 일부 또는 전체를 포함할 수 있다.
- 콘텐츠 발행자 또는 콘텐츠 발행자의 인코딩된 X.509 증명서의 공통 이름(CN; Common Name) 또는 증명서 지문(certificate thumbprint)과 같은 발행자 식별자
- 디코딩된 콘텐츠에 대한 해시 알고리즘 및 해시값
- 콘텐츠를 위한 고유 식별자(이것은 통상적으로 콘텐츠 해시값을 가짐)
- 블록들의 수 및 인코딩 알고리즘과 같은 호모모르픽(homomorphic) 해시들을 특정하는 데 필요한 전달 설정(Transfer settings)
- 호모모르픽 해시 알고리즘 명세 및 값
- 하나 이상의 시드 엔드포인트 설명
- 하나 이상의 트랙커 엔드포인트 설명
- 제안된 파일 이름, 파일 길이, 미디어 유형, 레이팅(rating), (발행자와 구별될 수 있는) 창시자(originator)를 포함하는, 콘텐츠 특성을 설명하는 메타데이터.
SCD는, 예를 들어, 유효 증명서 체인을 통해 루트 CA에 트레이싱(trace)되는 공중키에 의해 검증될 수 있는 발행자의 개인키를 이용하여 (단계 204에서) 발행자에 의해 서명된다. 증명서 체인의 일례는 다음과 같다.
마이크로소프트는 루트 증명서를 유지함.
2005년 9월 9일자로 마이크로소프트에 의해 발행된 "발행자 1" 증명서는 2006년 9월 9일 만료되며, 위임을 행할 수 있음(즉, 대리 인가 가능).
2005년 9월 10일자로 "발행자 1"에 의해 발행된 "발행자 1-뉴스" 증명서는 2006년 9월 9일 만료되며, 위임을 행할 수 없음.
서명된 SCD가 발행자에 의해 트랙커 상에 놓여질 때(단계 205), 트랙커는 발행자가 CA에 의해 여전히 인가되어 있음을 확인할 수 있다. 이것은, 발행자에게 증명서를 발행한 엔티티에 의해 발행된 증명서 취소 리스트(CRL) 상에 발행자가 있지 않음을 트랙커가 확인하는 것에 의해 달성될 수 있다. CRL은 이전에 발행되었지만 CA 또는 위임자에 의해(즉, 증명서 발행 엔티티에 의해) 후속하여 취소된 증명서들을 나열한다. 트랙커(103)는 CRL들의 카피들을 국부적으로 유지할 수 있지만, 이상적으로는 갱신된 CRL에 대하여 CA 또는 이것의 위임자를 정기적으로(예를 들어, 15 내지 30분마다) 체크하여 취약성 윈도우(window of vulnerability)를 최소화한다. 증명서 체인은, 각 인가 엔티티에 대하여 마스터 CRL이 위치하는 곳의 상세(예를 들어, URL, IP 어드레스, 또는 기타 엔드포인트 설명)를 포함할 수 있다. 증명서를 발행할 수 있는 누구라도 자신이 발행한 증명서를 취소할 수도 있으므로, CRL에 대하여 좀 더 체크할 필요가 있을 수 있다. 예를 들어, 위에서 언급 한 증명서의 예에서, CRL들은 마이크로소프트와 발행자 1 둘 다에 의해 발행되었다. 각 CRL은, CRL이 언제 마지막으로 갱신되었는지 그리고 이상적으로 CRL이 어떻게 정기적으로 반복 체크되어야 하는지(예를 들어, 2005년 10월 10일 16시 09분에 갱신됨. 2시간마다 반복 체크)의 상세를 (리스트 내에 또는 관련된 정보 내에) 포함한다. CRL들은 발행 엔티티(즉, CA 또는 이것의 위임자)가 아닌 누구에 의해서도 편집될 수 없는 방식으로 생성된다. 예를 들어, Microsoft(상표)만이 자신이 초기에 발행하였지만 후속하여 취소한 증명서들을 나열하는 자신의 CRL을 수정할 수 있고, 발행자 1만이 자신이 Microsoft의 위임자로서 초기에 발행하였지만 후속하여 취소한 증명서들을 나열하는 자신의 CRL을 수정할 수 있다.
CRL을 체크할 때, 콘텐츠의 단편의 발행자의 인가가 취소되었음을 트랙커가 식별하면, 트랙커는 (단계 208에서) SCD를 배포하고, (단계 209에서) 피어 엔드포인트들의 상세를 배포하는 것을 중단할 수 있다.
(단계 205, 206에서) 클라우드를 확립하면, 발행자(101)는 콘텐츠 배포 프로세스에서 어떠한 역할도 하지 않을 수 있다. 그러나, 발행자는, 다른 예에서, 콘텐츠가 클라우드(106) 내에서 배포되고 있는 동안 단계(204, 205)들을 반복함으로써 SCD를 갱신 및 재발행할 수 있다.
(단계 207에서 수신된) 콘텐츠 식별자 및 트랙커 포인터는, avalanche://mytracker.microsoft.com/0123456789ABCDEF0123456789ABCDEF와 같은 URI의 형태를 취할 수 있다. 다른 예에서, 콘텐츠 식별자와 트랙커 포인터 둘 다는 하나의 128비트 식별자 내에 제공될 수 있다. 또다른 예에서, 정보는, 다운로 드되고 활성화될 때, 콘텐츠 배포 클라이언트, 예를 들어, 애벌런시를 호출하는 국부적으로 등록된 유형인 작은 파일 내에 제공될 수 있다. 콘텐츠 식별자와 트랙커 포인터는 발행자에게 발행된 증명서의 상세를 포함할 수 있다.
트랙커 포인터는 IP(Internet protocol) 어드레스, DNS(Domain Name System) 엔트리에 대한 포인터일 수 있고, 또는 네트워크 엔드포인트를 특정하는 다른 임의의 방법을 사용할 수 있다. DNS 엔트리를 사용하게 되면 라우팅의 유연성 및 스케일링성(scalability)을 제공하므로 유익할 수 있다. 예를 들어, DNS 서버는, 피어를, 트랙커 포인터 내로 하드와이어링되지 않았으며 변경될 수 있는 트랙커의 IP 어드레스로 향하게 할 수 있다. 이것은 여러 개의 트랙커 서버들이 존재하고 DNS 서버가 피어들을 서로 다른 서버들로 차례대로 향하게 하여 로드를 공유하게 하는 상황에 유익하다. 게다가, DNS 엔트리를 사용함으로써, 트랙커 포인터를 변경할 필요 없이 추가 트랙커들이 추가될 수 있고 또는 필요하다면 추가 트랙커들이 유지 보수를 위해 오프라인으로 될 수 있다.
콘텐츠 식별자와 트랙커 포인터는 (단계 207에서) 피어에 의해 능동적으로 검색될 수 있고, 이것은 피어에서의 사용자 입력에 의해 또는 피어 상에서 실행되는 애플리케이션에 의해 개시될 수 있다. 일례로, 피어는, 예를 들어, 특정한 콘텐츠에 대한 권리를 구매(예를 들어, 영화 다운로드 권리를 온라인 상점으로부터 구매할 수 있음)함으로써 클라우드(106)에 참여하는 인가를 얻는 것에 응답하여 콘텐츠 식별자와 트랙커 포인터를 수신할 수 있다. 이러한 인가는 증명서, 공유 비밀, 도출된 토큰, 또는 다른 임의의 적절한 인가 방법의 형태를 취할 수 있다. 다 른 예에서, 콘텐츠 식별자와 트랙커 포인터는 피어에게, 예를 들어, 피어 상에서 실행되는 미디어 플레이어와 같은 애플리케이션에게 푸시(push)될 수 있다. 푸시는 피어로부터의 이전의 관심 표시에 응답하는 것일 수 있으며, 예를 들어, 그 피어는, 관심 대상인 뉴스 아이템, 오디오 클립, 또는 비디오 클립의 유형을 가리킬 수 있고, 이에 따라 기준에 맞는 콘텐츠가 이용가능해지면, 콘텐츠 식별자와 트랙커 포인터가 피어에게 푸시될 수 있다.
(단계 208에서) 피어(105)가 트랙커로부터의 SCD를 요구하면, 피어와 트랙커는 (이하에서 더 상세히 설명되는 바와 같이) 각각이 피어와 트랙커의 그러한 역할들을 수행하도록 인가되어 있음을 증명하기 위해 상호 인증하도록 요구될 수 있다. 그러나, 다른 예에서, SCD는 공중 정보로 고려될 수 있으며 상호 인증은 더 많은 개인 정보의 교환 전에 (단계 209에서) 추후 스테이지에서 발생할 수 있다. SCD를 수신하게 되면, 피어는 (전술한 바와 같이) 발행자의 증명서 체인에 대한 정보를 얻는다. 이 때, 피어는, 발행자가 여전히 인가되어 있음을 보장하도록, 발행자에게 증명서를 발행한 인증기관에 의해 발행된 증명서 취소 리스트(CRL)를 검색할 수도 있다. 전술한 바와 같이, CRL의 카피는 그 CRL 카피가 얼마나 최신의 것인지에 대한 상세와 함께 트랙커에 저장될 수 있다. 피어는 트랙커에 저장된 CRL을 카피를 검색할 수 있고 다르게는 리스트를 발행하는 인가체로부터의 CRL 마스터의 카피를 검색할 수 있다. CRL은 큰 파일(예를 들어, 수 메가바이트)일 가능성이 많고, 따라서 피어는 모든 연결 전에 갱신된 CRL을 반드시 다운로드하지 않고 대신에 새로운 콘텐츠 클라우드(106)에 참여할 때 새로운 CRL만을 다운로드할 수 있다. 증 명서 발행체보다는 트랙커(103)에 연결되어 CRL을 검색함으로써, 피어는 시스템에서 잠재적인 병목 현상을 피할 수 있다. 피어가, CRL을 체크할 때, 콘텐츠의 단편의 발행자의 인가가 취소되었음을 식별하게 되면, 피어는 클라우드에 참여하는 것을 종료할 수 있으며 추가 블록들을 다운로드하지 않을 수 있다. 또한, 피어는 미리 수신한 콘텐츠의 어떠한 블록들이라도 삭제할 수 있다.
(단계 208에서) 피어가 SCD를 요구하는 트랙커는, (단계 209에서) 피어가 피어 엔드포인트에 대한 정보를 요구하는 트랙커와 동일하거나 다를 수 있다. 이러한 2개의 트랙커가 서로 다르면, (단계 209에서) 피어가 피어 엔드포인트에 대한 정보를 요구하는 후자의 트랙커에 대한 정보는 전자의 트랙커에 의해 제공되는 SCD에서 식별될 수 있다(위에서의 SCD 설명을 참조하기 바람).
피어가 (단계 209에서) 트랙커로부터 콘텐츠 클라우드를 위한 피어 엔드포인트에 대한 정보를 얻을 수 있기 전에, 피어는 트랙커를 인증하거나 다르게는 트랙커와 피어 간에 상호 인증이 발생할 수 있다. 이러한 인증은 프로세스에서 더 먼저 (예를 들어, 단계 208에서) 발생할 수도 있고 또는 이 스테이지에서 발생할 수도 있다. 인증 프로세스는 CA에 의한 트랙커 인가의 상세를 공유함으로써 트랙커가 인가된 트랙커라는 것을 피어에게 확인시켜 준다. 피어는 다시 관련 CRL을 참고하는 것을 선택할 수 있다. 이것은 악한 트랙커가 클라우드 내에 확립되는 것을 방지한다. 상호 인증이 발생하면, 트랙커는 (예를 들어 고유한 호스트 식별자를 이용하여) 피어를 식별할 수도 있지만, 피어가 클라우드에 참여하는 특정한 인가를 갖는 것이 필요하지 않을 수 있다. 고유한 피어 식별 메카니즘을 사용함으로써, 피어가 피어 엔드포인트 정보에 대하여 다수의 요구를 행하고 있는지 여부를 트랙커가 결정할 수 있으며, 이것은 그 피어가 악의를 갖고 있다는 것을 가리킬 수 있다. 이러한 이유로 또는 다른 임의의 이유로 트랙커는 콘텐츠 클라우드로부터 피어를 차단하기로 결정할 수 있다. 피어 식별 정보(peer identification)는 모든 상황(예를 들어, 피어가 참여하는 모든 클라우드)에서의 사용을 위해 피어에게 할당될 수 있고, 또는 더 규칙적인 방식(예를 들어, 클라우드당, 발행자당, 네트워크 제공자당, 월당 등)으로 할당될 수 있다.
트랙커는, 랜덤하게 선택된 피어들, 로컬리티(locality) 알고리즘에 따라 선택된 피어들, 또는 임의의 다른 기준(예를 들어, 피어의 연결 속도)에 따라 선택된 피어들에 대한 (단계 209에서의) 피어 엔드포인트 정보를 피어에게 제공할 수 있다. 트랙커는, 자신이 임의의 하나의 피어에게 관련 정보를 제공할 피어들의 개수(the number of peers that it provides information on)를 제한할 수 있고, 또한 (예를 들어, 호스트 식별자를 참조한) 피어가 피어 엔드포인트 정보를 요청하는 데 이용하는 규칙성(regularity, 예를 들어, 15분마다 10개의 피어에 대한 정보 제한)을 제한할 수 있다. 이것은, 피어 엔드포인트 정보가 잠재적으로 민감하며 악성 사용자 또는 광고자에게 유용하기 때문에, 정보 개시(information disclosure)를 늦추는(mitigate) 것이다. 피어 엔드포인트 정보는,
- IP 엔드포인트 또는 URL(uniform resource locator)과 같은 하나 이상의 네트워크 엔드포인트 설명
- 엔드포인트가 참여하고 있는 콘텐츠 클라우드를 설명하는 콘텐츠 클라우드 식별자
- (바람직하게 호스트에 대하여 고유한) 호스트 식별자
를 포함할 수 있다.
피어들이 랜덤하게 선택되면, 트랙커는 시드(104)를 1/k의 확률을 갖는 피어로서 포함할 수 있고, 여기서 k는 새로운 피어를 포함하는 클라우드 내의 액티브 피어들의 개수이다.
트랙커가 콘텐츠 클라우드(106)의 부분으로서 식별한 다른 피어들 중 하나 이상의 피어(예를 들어, 피어 B)에 피어(예를 들어, 피어 A)가 연결되면, 피어(피어 A)는 다른 피어들(예를 들어, 피어 B)을 이용하여 인증을 수행할 수 있다. 피어에 대해 CRL이 반드시 등가일 필요는 없지만, 피어들은 자신들의 호스트 식별자에 의해 또는 피어가 클라우드에 참여할 수 있도록 발행된 인가에 의해 서로를 식별할 수 있다. 피어들 간의 인증은 유익하며 이에 따라 피어(피어 A)는 자신에게 무효 데이터 블록을 제공하는 피어(피어 B)를 식별할 수 있고 세션의 나머지 동안 그 피어와의 추가 통신을 차단할 수 있다(단계 212 및 213 참조). 인증은, 피어와 악성 피어 간에 다수의 취소 연결(aborted connection) 또는 느린 연결을 시도함으로써 악성 피어에 의해 피어 상에 개시되는 서비스 거부 공격을 방지하는 것을 보조할 수도 있다. 인증 프로세스를 통해, 피어는 동일한 피어가 다수의 연결 요구를 행하고 있음을 식별할 수 있으며 이후 이러한 연결들 중 일부 또는 전체를 차단할 수 있다. 피어들 간의 인증은, 예를 들어, 연결을 개시하는 피어(피어 A)가 다른 피어(피어 B)의 상세를 어디에서 얻었는지에 대한 정보, 예를 들어, 피어 엔드 포인트 정보를 제공하는 트랙커의 상세를 제공하는 것을 포함할 수도 있다. 이것은, 피어가 피어들 간의 블록들의 전달을 개시하기 전에, 그 트랙커의 인가를 체크할 수 있게 한다.
피어는 (단계 210에서) 콘텐츠의 일부들을 얻기 위해 클라우드(106) 내의 하나 이상의 다른 피어들에게 연결될 수 있다. 피어가 한번에 연결될 수 있는 피어들의 개수를 제한할 수 있다(예를 들어, 하나의 피어는 14개 이하의 다른 피어들에게 연결될 수 있다). 이러한 제한은 (단계 209에서) 트랙커에 의해 피어에게 제공되는 피어 엔드포인트 상세의 개수에 대한 제한에 의해 효과적으로 설정될 수 있고 또는 이 제한은 트랙커, 발행자, 또는 피어에 의해 독립적으로 설정될 수 있다.
전술한 바와 같이 피어들이 서로를 인증할 수 있는 가운데, (예를 들어, 단계 211에서의) 이러한 피어들 간의 전송은 반드시 암호화되지는 않는다. 피어들은, 필요하다면, 비밀을 위한 세션키를 협상할 수 있고 스트림 암호를 적용할 수 있다.
(단계 211에서) 블록을 수신하면, 피어는 예를 들어 호모모르픽 해시 함수와 같은 해시 함수를 이용하여 그 블록의 무결성을 체크할 수 있다. 콘텐츠의 개별적인 블록들 및 전체로서의 콘텐츠를 위해 사용되는 해시 함수의 상세는 전술한 바와 같이 SCD 내에서 피어에게 제공될 수 있다. 다른 예에서, 호모모르픽 해시들은 SCD로부터 독립적으로 전송될 수 있다. 해시 함수들은 큰 정보 블록(b)을 통상적으로 훨씬 더 작은 크기의 출력(h(b))으로 매핑한다. 해시 함수는, 블록(b)이 주어진 경우 동일한 해시값을 갖는 다른 블록(b')(즉, h(b) = h(b'))을 찾는 것은 계 산상 실행 불가능하다는 특성을 갖는다. 이것은, 수신된 데이터 블록의 계산된 해시 함수가 예상되는 해시 함수와 일치하는지를 체크함으로써 피어가 수신된 블록이 정확한 블록이고 이 블록이 임의 변경되지 않았음을 비교적 확신할 수 있다는 것을 의미한다. 호모모르픽 해시 함수는, 일부 입력 블록들의 선형 조합의 해시값이 입력 블록들의 해시들의 조합에 의해 효과적으로 구성될 수 있다는 추가 특성을 갖는다. 결국, 호모모르픽 해시 함수들의 사용은 애벌런시와 같이 네트워크 코딩을 사용하는 콘텐츠 배포 프로토콜에 특히 적합하다.
일단 (단계 211에서) 피어가 블록을 다운로드하게 되면, 다르게는, (단계 212에서) 그 블록의 무결성이 체크된 후에는, 트랙커는 그 피어를 클라우드 내의 액티브 피어들의 리스트에 추가하고, 이에 후속하여 클라우드에 참여하길 원하는 다른 피어들로부터 수신된 피어 엔드포인트 정보에 대한 후속 요구시 그 피어의 상세를 다른 피어들에게 제공할 수 있다. 피어가 클라우드 내의 액티브 피어들의 리스트에 추가되기 위해선, 피어는 일부 콘텐츠를 수신하였음을 식별하도록 트랙커에 등록될 필요가 있을 수 있다. 다른 예에서, 피어는 블록을 다운로드하기 전에, 예를 들어 SCD를 요구하였을 때 리스트에 추가될 수 있다.
(단계 214에서) 콘텐츠에 대하여 필요한 모든 블록들을 수신하면, (단계 215에서) 피어는 콘텐츠를 디코딩하고, 또는 콘텐츠가 인코딩되지 않는 경우에는 다른 방식으로 콘텐츠를 재구성한다. 콘텐츠를 사용하거나 콘텐츠를 제삼자에 의해 이용가능하게 하기 전에, 피어는 (단계 216에서) 전체 콘텐츠에 대하여 최종 무결성 체크를 행한다. 최종 무결성 체크는, (단계 212를 참조하여 전술한 바와 같이) 계 산된 해시가 예상되는 해시와 일치하는지를 체크하는 것을 포함할 수도 있다. 예상되는 해시의 상세, 또는 해시가 계산될 수 있게 하는 파라미터는 SCD에 제공될 수 있다.
위에서의 설명은 해시 함수들 및 호모모르픽 해시 함수들의 사용을 단지 예로서 설명한다. 다른 방안으로, 피어에 의해 다른 기술들을 채용하여, 콘텐츠의 개별적인 부분들(예를 들어, 개별적인 블록들) 및 수신된 전체 콘텐츠가 유효하다는 점과 임의 변경되지 않았다는 점을 피어가 높은 신뢰도로 결정할 수 있게 한다(즉, 단계 212와 단계 216).
도 3은, 도 1에 관하여 설명한 요소들에 더하여, 홈 네트워크(303) 상의 홈 라우터(301)와 2개의 피어(302)를 포함하는 제2 콘텐츠 배포 시스템(300)을 개략적으로 도시한다. 홈 라우터(301)는 네트워크 어드레스 번역을 수행한다. 홈 네트워크(303)는 콘텐츠 배포 클라우드(106)로의 연장(extension)을 제공하고 홈 네트워크(303) 상의 2개의 피어(302)는 이들 간에 콘텐츠를 배포시킬 수 있으며 또한 각각이 클라우드(106) 내의 피어들에 대한 별도의 연결을 유지할 수 있다. 이것은, 홈 네트워크 외부의 피어(105)들이 관련되어 있는 한 홈 네트워크 상의 피어(302)들이 동일한 IP 어드레스를 갖는 것으로 보일 수 있지만, 홈 네트워크 상의 피어들이 서로 다른 포트들을 통해 라우터에 연결되기 때문이다. 다른 예에서, 네트워크(303)는 법인 네트워크(corporate network)를 포함할 수 있다.
도 1 및 도 3의 각각은 단일 클라우드(106)를 도시한다. 그러나, 피어는 하나보다 많은 논리적으로 개별적인 클라우드에 연결될 수 있고 피어들 중 상당수 및 트랙커들은 클라우드들 간에 공통될 수 있다. 논리적으로 개별적인 클라우드의 각각은 하나의 발행자를 갖고 발행자는 여러 클라우드를 담당할 수 있다. 하나의 클라우드 내의 피어는 다른 클라우드 내의 시드로서 기능할 수 있고, 또는 심지어 트랙커 서버로서 기능할 수도 있다. "시드", "피어", "트랙커"라는 용어들은 해당 클라우드 내의 노드가 하는 역할을 정의하는 데 사용되며, 이 용어들은 하드웨어 요구 사항들을 반드시 의미하지는 않는다. 예를 들어, 시드, 피어, 트랙커 각각은 퍼스널 컴퓨터를 포함할 수 있다. 동일한 클라우드 내에선, 물리적 노드가 하나보다 많은 논리적 역할, 예를 들어, 시드 및 트랙커를 수행할 수 있다.
위에서 언급한 예들에서, 피어는 임의의 클라우드에 참여할 수 있고 또는 예를 들어 특정한 다운로드에 대한 권리를 구매함으로써 클라우드에 참여하기 위해 특정한 인가를 필요로 할 수 있다. 발행자(101) 또는 다른 엔티티는 클라우드에 참여하는 기준을 설정할 수 있다. 예를 들어, 특정 네트워크나 서비스에 대한 가입자들만이 클라우드에 참여할 적격자들일 수 있다. 다른 예에서, 클라우드는, 소정의 대역폭(예를 들어, 512 MBit/s)을 초과하는 연결을 갖는 피어들만이 클라우드에 참여할 수 있도록 최소 대역폭 요구 사항을 가질 수 있다. 또다른 예에서, 예를 들어, 클라우드에 참여할 수 있는 피어들의 전체 개수 또는 클라우드에 참여할 수 있는 느린 연결을 갖는 피어들의 최대 개수(또는 비율)를 상세화하는 일부 할당수(quota)가 클라우드에 관련되어질 수 있다.
전술한 콘텐츠는, 소프트웨어, 데이터 파일, 오디오 미디어 및 비디오 미디어를 포함하는 임의의 종류의 데이터일 수 있지만, 이러한 예로 한정되지는 않는 다.
전술한 방법들은, 제공된 콘텐츠가 예상하던 콘텐츠일 것이라는 신뢰를 제공하지만 비공중(non-public) 콘텐츠의 잘못된 사용을 방지못한다. 결국, 오디오 및 비디오 미디어에 대한 DRM(Digital Rights Management; 디지털 저작권 관리) 및 소프트웨어를 위한 라이센스 활성화 코드의 형태로 추가 보호를 제공할 수 있다.
전술한 방법들은 종래의 하드웨어에서 실행되는 소프트웨어에서 구현될 수 있다. 시드, 트랙커, 피어 프로토콜은 전용 소프트웨어에서 구현될 수 있고, 또는 통합되어 각각이 서브 프로토콜을 형성할 수 있다.
프로그램 명령어들을 저장하는 데 활용되는 저장 장치들이 네트워크 전반에 분산될 수 있다는 점을 당업자라면 인식할 것이다. 예를 들어, 원격 컴퓨터는 설명한 프로세스의 일례를 소프트웨어로서 저장할 수 있다. 로컬 또는 단말 컴퓨터는 원격 컴퓨터에 액세스할 수 있고 프로그램을 실행시키도록 소프트웨어의 부분 또는 전부를 다운로드할 수 있다. 다른 방안으로, 로컬 컴퓨터는 필요시 소프트웨어의 단편들을 다운로드할 수 있고, 또는 일부 소프트웨어 명령어들을 로컬 단말에서 그리고 일부 소프트웨어 명령어들을 원격 컴퓨터(또는 컴퓨터 네트워크)에서 실행시킬 수 있다. 또한, 당업자에게 알려져 있는 종래 기술들을 활용함으로써, 소프트웨어 명령어들의 일부분 또는 전부가 DSP, 프로그래밍가능 로직 어레이 등과 같은 전용 회로에 의해 실행될 수 있다는 점을 당업자라면 인식할 것이다.
여기서 주어진 임의의 범위나 장치 값은, 당업자에게 자명하듯이, 추구하는 효과를 잃지 않고서 연장되거나 변경될 수 있다.
여기서 설명하는 방법들의 단계들은 임의의 적절한 순서로 또는 필요하다면 동시에 실행될 수 있다.
위에서의 바람직한 실시예의 설명은 예일 뿐이며 당업자에 의해 다양한 수정들을 행할 수 있다는 점을 이해할 것이다.

Claims (20)

  1. 네트워크를 통한 콘텐츠의 배포를 제어하는 방법으로서,
    발행자(publisher)로부터 콘텐츠 설명 및 콘텐츠의 소스에 대한 위치 정보를 수신하는 단계 - 상기 콘텐츠 설명은 상기 발행자에 관련된 인가 상세(authorisation details)를 포함함 - 와,
    상기 인가 상세의 유효성을 체크하는 단계와,
    상기 인가 상세가 유효하면, 상기 콘텐츠 설명을 상기 네트워크 내의 노드에게 제공하는 단계
    를 포함하는 콘텐츠 배포 제어 방법.
  2. 제1항에 있어서,
    상기 콘텐츠 설명은 노드로부터의 요구에 응답하여 상기 노드에 제공되는 콘텐츠 배포 제어 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 콘텐츠 설명을 상기 노드에게 제공하기 전에 상기 노드의 아이덴티티를 확인하는 단계를 더 포함하는 콘텐츠 배포 제어 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 발행자에 관련된 인가 상세는 증명서 발행기관(certificate issuing entity)에 의해 발행된 증명서의 상세를 포함하고,
    상기 인가 상세의 유효성을 체크하는 단계는,
    상기 증명서 발행기관에 의해 발행된 증명서 취소 리스트(certificate revocation list)에 액세스하는 단계와,
    상기 증명서가 상기 증명서 취소 리스트에 있는지 여부를 결정하는 단계
    를 포함하는 콘텐츠 배포 제어 방법.
  5. 제4항에 있어서,
    상기 증명서 취소 리스트를 저장하는 단계와,
    상기 네트워크 내의 노드로부터의 요구에 응답하여 상기 증명서 취소 리스트를 상기 노드에게 제공하는 단계
    를 더 포함하는 콘텐츠 배포 제어 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 네트워크에 연결되고 상기 콘텐츠의 적어도 일부를 유지하는 노드들의 리스트를 유지하는 단계와,
    상기 네트워크 내의 노드로부터 요구에 응답하여 상기 노드에게 상기 노드들의 리스트의 적어도 일부분을 제공하는 단계
    를 더 포함하는 콘텐츠 배포 제어 방법.
  7. 제6항에 있어서,
    상기 노드들의 리스트의 상기 적어도 일부분을 제공하기 전에, 상기 노드의 아이덴티티를 확인하는 단계를 더 포함하는 콘텐츠 배포 제어 방법.
  8. 컴퓨터 상에서 실행될 때 제1항 내지 제7항 중 어느 한 항의 모든 단계들을 수행하도록 구성된 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램.
  9. 네트워크를 통해 배포되는 콘텐츠를 수신하는 방법으로서,
    콘텐츠 식별자와 트랙커 포인터(tracker pointer)를 수신하는 단계와,
    상기 트랙커 포인터로부터 식별된 제1 트랙커로부터의 콘텐츠 설명을 요구하는 단계 - 상기 콘텐츠 설명은 상기 콘텐츠의 발행자에 관련된 인가 상세를 포함함 - 와,
    상기 콘텐츠 설명을 수신하는 단계와,
    상기 인가 상세의 유효성을 체크하는 단계와,
    제2 트랙커로부터 상기 콘텐츠의 소스에 대한 정보를 수신하는 단계와,
    상기 소스로부터의 상기 콘텐츠의 일부분을 요구하는 단계
    를 포함하는 콘텐츠 수신 방법.
  10. 제9항에 있어서,
    상기 제1 트랙커와 상기 제2 트랙커는 동일한 콘텐츠 수신 방법.
  11. 제10항에 있어서,
    상기 콘텐츠 설명은 상기 콘텐츠의 소스에 대한 정보를 더 포함하는 콘텐츠 수신 방법.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서,
    상기 콘텐츠 설명은 상기 제2 트랙커를 식별하는 정보를 더 포함하는 콘텐츠 수신 방법.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 발행자에 관련된 인가 상세는 증명서 발행기관에 의해 발행된 증명서의 상세를 포함하고,
    상기 인가 상세의 유효성을 체크하는 단계는,
    상기 증명서 발행기관에 의해 발행된 증명서 취소 리스트에 액세스하는 단계와,
    상기 증명서가 상기 증명서 취소 리스트에 있는지 여부를 결정하는 단계
    를 포함하는 콘텐츠 수신 방법.
  14. 제9항 내지 제13항 중 어느 한 항에 있어서,
    상기 콘텐츠 설명을 수신하기 전에 상기 제1 트랙커에게 식별 정보를 제공하는 단계를 더 포함하는 콘텐츠 수신 방법.
  15. 제9항 내지 제14항 중 어느 한 항에 있어서,
    상기 소스에게 식별 정보를 제공하는 단계와,
    상기 소스로부터의 식별 정보를 요구하는 단계
    를 더 포함하는 콘텐츠 수신 방법.
  16. 제15항에 있어서,
    상기 소스로부터의 상기 콘텐츠의 일부분을 수신하는 단계와,
    상기 콘텐츠의 일부분의 유효성을 체크하는 단계와,
    상기 일부분이 유효하지 않으면, 시간 주기 동안 상기 소스와의 통신을 차단하는 단계
    를 더 포함하는 콘텐츠 수신 방법.
  17. 컴퓨터 상에서 실행될 때 제9항 내지 제16항 중 어느 한 항의 모든 단계들을 수행하도록 구성된 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램.
  18. 네트워크를 통한 배포를 위해 콘텐츠를 발행하는 방법으로서,
    발행 인가를 요구하는 단계와,
    인가 상세를 수신하는 단계와,
    상기 인가 상세를 포함하는 콘텐츠 설명을 생성하는 단계와,
    상기 콘텐츠 설명과 상기 콘텐츠의 소스에 대한 위치 정보를 트랙커 서버에 전송하는 단계
    를 포함하는 콘텐츠 발행 방법.
  19. 제18항에 있어서,
    상기 인가를 요구하는 단계는 증명서 발행기관으로부터의 증명서를 요구하는 단계를 포함하고, 상기 인가 상세는 상기 증명서의 상세를 포함하는 콘텐츠 발행 방법.
  20. 컴퓨터 상에서 실행될 때 제18항 또는 제19항의 모든 단계들을 수행하도록 구성된 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램.
KR1020087014876A 2005-12-22 2006-12-04 콘텐츠 배포 제어 방법, 콘텐츠 수신 방법, 콘텐츠 발행방법 및 컴퓨터 프로그램 KR20080085846A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05270097A EP1801720A1 (en) 2005-12-22 2005-12-22 Authorisation and authentication
EP05270097.8 2005-12-22

Publications (1)

Publication Number Publication Date
KR20080085846A true KR20080085846A (ko) 2008-09-24

Family

ID=36590808

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087014876A KR20080085846A (ko) 2005-12-22 2006-12-04 콘텐츠 배포 제어 방법, 콘텐츠 수신 방법, 콘텐츠 발행방법 및 컴퓨터 프로그램

Country Status (5)

Country Link
US (1) US20080320300A1 (ko)
EP (1) EP1801720A1 (ko)
KR (1) KR20080085846A (ko)
CN (1) CN101341691A (ko)
WO (1) WO2007075265A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1826695A1 (en) 2006-02-28 2007-08-29 Microsoft Corporation Secure content descriptions
US8407241B2 (en) * 2009-06-12 2013-03-26 Microsoft Corporation Content mesh searching
US8181019B2 (en) * 2009-06-22 2012-05-15 Citrix Systems, Inc. Systems and methods for managing CRLS for a multi-core system
US8397068B2 (en) * 2010-04-28 2013-03-12 Microsoft Corporation Generic file protection format
CN102907065B (zh) * 2010-05-20 2017-04-26 瑞典爱立信有限公司 用于管理对等网络中的数据传递的系统和方法
US9578041B2 (en) * 2010-10-25 2017-02-21 Nokia Technologies Oy Verification of peer-to-peer multimedia content
CN102307210B (zh) * 2011-01-13 2014-12-10 国云科技股份有限公司 一种数据下载系统及其数据管理和下载方法
CN102299927B (zh) * 2011-08-31 2014-04-16 四川长虹电器股份有限公司 内容安全监管系统及方法
CN102938709B (zh) * 2012-11-09 2015-09-30 北京奇虎科技有限公司 一种内容分发网络的监控方法和监控服务器
CN103106100B (zh) * 2013-02-06 2016-07-13 中电长城网际系统应用有限公司 基于虚拟化技术的应用软件数据信息的处理方法和系统
US9292537B1 (en) 2013-02-23 2016-03-22 Bryant Christopher Lee Autocompletion of filename based on text in a file to be saved
US10637836B2 (en) 2015-07-02 2020-04-28 Convida Wireless, Llc Content security at service layer
DE102016123713B4 (de) * 2016-12-07 2023-12-28 Deutsche Post Ag Fachspezifische Zugangsberechtigungsinformation
CN106790239B (zh) * 2017-01-19 2019-12-10 湖北工业大学 一种防污染攻击的车联网信息传输与分发方法及系统

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US7133846B1 (en) * 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US6658568B1 (en) * 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US6205249B1 (en) * 1998-04-02 2001-03-20 Scott A. Moskowitz Multiple transform utilization and applications for secure digital watermarking
US5892904A (en) * 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US6026430A (en) * 1997-03-24 2000-02-15 Butman; Ronald A. Dynamic client registry apparatus and method
US6128740A (en) * 1997-12-08 2000-10-03 Entrust Technologies Limited Computer security system and method with on demand publishing of certificate revocation lists
US6473800B1 (en) * 1998-07-15 2002-10-29 Microsoft Corporation Declarative permission requests in a computer system
US6268856B1 (en) * 1998-09-08 2001-07-31 Webtv Networks, Inc. System and method for controlling delivery of content over a communications network
US7073063B2 (en) * 1999-03-27 2006-07-04 Microsoft Corporation Binding a digital license to a portable device or the like in a digital rights management (DRM) system and checking out/checking in the digital license to/from the portable device or the like
GB9925227D0 (en) * 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
WO2001037134A1 (en) * 1999-11-16 2001-05-25 Searchcraft Corporation Method for searching from a plurality of data sources
GB2357225B (en) * 1999-12-08 2003-07-16 Hewlett Packard Co Electronic certificate
US6772341B1 (en) * 1999-12-14 2004-08-03 International Business Machines Corporation Method and system for presentation and manipulation of PKCS signed-data objects
US6772340B1 (en) * 2000-01-14 2004-08-03 Microsoft Corporation Digital rights management system operating on computing device and having black box tied to computing device
JP2001202338A (ja) * 2000-01-20 2001-07-27 Sony Corp コンテンツ提供システム及びコンテンツ提供方法、コンテンツ提供状況監視装置及び監視方法、並びに、コンテンツ使用装置及び使用方法
WO2002010984A2 (en) * 2000-07-21 2002-02-07 Triplehop Technologies, Inc. System and method for obtaining user preferences and providing user recommendations for unseen physical and information goods and services
US7437312B2 (en) * 2000-08-23 2008-10-14 Bizrate.Com Method for context personalized web browsing
US6931545B1 (en) * 2000-08-28 2005-08-16 Contentguard Holdings, Inc. Systems and methods for integrity certification and verification of content consumption environments
JP4586250B2 (ja) * 2000-08-31 2010-11-24 ソニー株式会社 個人識別証明書リンクシステム、情報処理装置、および情報処理方法、並びにプログラム提供媒体
KR100731491B1 (ko) * 2000-10-12 2007-06-21 주식회사 케이티 인증서 폐지목록 분산 관리 방법
US6973576B2 (en) * 2000-12-27 2005-12-06 Margent Development, Llc Digital content security system
US7134144B2 (en) * 2001-03-01 2006-11-07 Microsoft Corporation Detecting and responding to a clock rollback in a digital rights management system on a computing device
US7065507B2 (en) * 2001-03-26 2006-06-20 Microsoft Corporation Supervised license acquisition in a digital rights management system on a computing device
US6792434B2 (en) * 2001-04-20 2004-09-14 Mitsubishi Electric Research Laboratories, Inc. Content-based visualization and user-modeling for interactive browsing and retrieval in multimedia databases
US7203966B2 (en) * 2001-06-27 2007-04-10 Microsoft Corporation Enforcement architecture and method for digital rights management system for roaming a license to a plurality of user devices
US7308496B2 (en) * 2001-07-31 2007-12-11 Sun Microsystems, Inc. Representing trust in distributed peer-to-peer networks
KR20010088742A (ko) * 2001-08-28 2001-09-28 문의선 분산처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보전송 병렬화 방법
US7035933B2 (en) * 2001-09-13 2006-04-25 Network Foundation Technologies, Inc. System of distributing content data over a computer network and method of arranging nodes for distribution of data over a computer network
US7843855B2 (en) * 2001-09-13 2010-11-30 Network Foundation Technologies, Llc System and method for broadcasting content to nodes on computer networks
US7299351B2 (en) * 2001-09-19 2007-11-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
CA2411456A1 (en) * 2001-11-09 2003-05-09 1483790 Ontario Inc. System and method for distributing content
US20030115461A1 (en) * 2001-12-14 2003-06-19 O'neill Mark System and method for the signing and authentication of configuration settings using electronic signatures
US20030120928A1 (en) * 2001-12-21 2003-06-26 Miles Cato Methods for rights enabled peer-to-peer networking
FR2835986B1 (fr) * 2002-02-11 2008-05-09 Canon Europa Nv Systeme de transmission de signaux audiovisuels entre noeud(s) source et noeud(s) destinataire(s)
US7376624B2 (en) * 2002-02-27 2008-05-20 Imagineer Software, Inc. Secure communication and real-time watermarking using mutating identifiers
US7080043B2 (en) * 2002-03-26 2006-07-18 Microsoft Corporation Content revocation and license modification in a digital rights management (DRM) system on a computing device
US7272858B2 (en) * 2002-04-16 2007-09-18 Microsoft Corporation Digital rights management (DRM) encryption and data-protection for content on a relatively simple device
WO2003090125A2 (en) * 2002-04-19 2003-10-30 Computer Associates Think, Inc. Method and system for distributing data
US7051102B2 (en) * 2002-04-29 2006-05-23 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
AU2003278421A1 (en) * 2002-06-19 2004-01-06 Joseph C. Benowitz Technology enhanced communication authorization system
US20030236976A1 (en) * 2002-06-19 2003-12-25 Microsoft Corporation Efficient membership revocation by number
CA2397424A1 (en) * 2002-08-09 2004-02-09 Mohammed Lamine Kherfi Content-based image retrieval using positive and negative examples
FI20021738A0 (fi) * 2002-09-30 2002-09-30 Ssh Comm Security Oyj Menetelmä sertifikaattien hylkylistojen muodostamiseksi
US7343168B2 (en) * 2002-11-08 2008-03-11 Openwave Systems Inc. Asynchronous messaging based system for publishing and accessing content and accessing applications on a network with mobile devices
US7302254B2 (en) * 2002-11-08 2007-11-27 Openwave Systems Inc. MMS based photo album publishing system
US7395536B2 (en) * 2002-11-14 2008-07-01 Sun Microsystems, Inc. System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment
KR100427143B1 (ko) * 2003-01-17 2004-04-14 엔에이치엔(주) 스트리밍 데이터 전송 및 다운로드 방법
US20040196842A1 (en) * 2003-04-04 2004-10-07 Dobbins Kurt A. Method and system for according preferred transport based on node identification
US7058619B2 (en) * 2003-04-21 2006-06-06 International Business Machines Corporation Method, system and computer program product for facilitating digital certificate state change notification
US7477617B2 (en) * 2003-05-23 2009-01-13 Panasonic Corporation Multicast session management system
US7389273B2 (en) * 2003-09-25 2008-06-17 Scott Andrew Irwin System and method for federated rights management
US20050071328A1 (en) * 2003-09-30 2005-03-31 Lawrence Stephen R. Personalization of web search
JP3894181B2 (ja) * 2003-10-10 2007-03-14 株式会社日立製作所 公開鍵証明書検証の高速化方法、および装置
US20050203851A1 (en) * 2003-10-25 2005-09-15 Macrovision Corporation Corruption and its deterrence in swarm downloads of protected files in a file sharing network
US7552321B2 (en) * 2003-11-20 2009-06-23 The Boeing Company Method and hybrid system for authenticating communications
US7610624B1 (en) * 2004-01-12 2009-10-27 Novell, Inc. System and method for detecting and preventing attacks to a target computer system
US20050198061A1 (en) * 2004-02-17 2005-09-08 David Robinson Process and product for selectively processing data accesses
US20050210508A1 (en) * 2004-03-19 2005-09-22 Lau Vincent W System and method for managing time-go-live information of media content
US7380129B2 (en) * 2004-04-22 2008-05-27 International Business Machines Corporation Method and apparatus for detecting grid intrusions
CA2535371C (en) * 2004-05-05 2011-11-01 Research In Motion Limited System and method for sending secure messages
US7394763B2 (en) * 2004-05-21 2008-07-01 Lucent Technologies Inc. Routing for networks with content filtering
ES2279308T3 (es) * 2004-06-01 2007-08-16 France Telecom Control de acceso a una red de un terminal fuente que utiliza un tunel en modo bloqueante.
US7756051B2 (en) * 2004-07-02 2010-07-13 Microsoft Corporation Content distribution using network coding
US7991804B2 (en) * 2004-07-30 2011-08-02 Microsoft Corporation Method, system, and apparatus for exposing workbooks as data sources
US20060059548A1 (en) * 2004-09-01 2006-03-16 Hildre Eric A System and method for policy enforcement and token state monitoring
US7130998B2 (en) * 2004-10-14 2006-10-31 Palo Alto Research Center, Inc. Using a portable security token to facilitate cross-certification between certification authorities
US7434262B2 (en) * 2004-12-08 2008-10-07 At&T Intellectual Property I, L.P. Methods and systems that selectively resurrect blocked communications between devices
US20060174051A1 (en) * 2005-02-02 2006-08-03 Honeywell International Inc. Method and apparatus for a redundancy approach in a processor based controller design
US20060173811A1 (en) * 2005-02-02 2006-08-03 Honeywell International Inc. Method and apparatus for reducing memory and communication activity in a redundant process controller with change-driven memory imaging, through optimization of unchanging data
US7809943B2 (en) * 2005-09-27 2010-10-05 Rovi Solutions Corporation Method and system for establishing trust in a peer-to-peer network
US8184811B1 (en) * 2005-10-12 2012-05-22 Sprint Spectrum L.P. Mobile telephony content protection
US7904505B2 (en) * 2005-11-02 2011-03-08 At&T Intellectual Property I, L.P. Service to push author-spoken audio content with targeted audio advertising to users
US20080059631A1 (en) * 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
JP4983197B2 (ja) * 2006-10-19 2012-07-25 富士ゼロックス株式会社 認証システム、認証サービス提供装置、および認証サービス提供プログラム

Also Published As

Publication number Publication date
US20080320300A1 (en) 2008-12-25
CN101341691A (zh) 2009-01-07
WO2007075265A1 (en) 2007-07-05
EP1801720A1 (en) 2007-06-27

Similar Documents

Publication Publication Date Title
US8108362B2 (en) Secure content descriptions
US7680937B2 (en) Content publication
US20080320300A1 (en) Authorisation and Authentication
CN109845220B (zh) 用于提供区块链参与者身份绑定的方法和装置
JP6526244B2 (ja) ドメインネームサービスを介するプライベートキーの安全な委任された配信
US6732277B1 (en) Method and apparatus for dynamically accessing security credentials and related information
CN107077541B (zh) 应用于动态自适应流媒体的部分url签名系统和方法
AU2003254377B2 (en) Methods and systems for providing a secure data distribution via public networks
US9769177B2 (en) Role-based access control to computing resources in an inter-organizational community
JP5047291B2 (ja) インターネットユーザに対して認証サービスを提供するための方法およびシステム
JP6731491B2 (ja) データ転送方法、非一過性のコンピュータ読み取り可能な記憶媒体、暗号デバイス、およびデータ使用のコントロール方法
US20080140849A1 (en) System and method for distributed media streaming and sharing
MXPA04007546A (es) Metodo y sistema para proporcionar una tercera autenticacion de autorizacion.
US20110125849A1 (en) Peer-to-peer content distribution
KR20040037155A (ko) 사용자 인증을 허용하는 사용자 단말의 고유 온라인프라비젼
JP2003122724A (ja) クライアントのコンテンツ提供サーバへのアクセスをリソース・ロケータ・サーバの制御下で提供する方法
JP4280036B2 (ja) アクセス権制御システム
WO2006095726A1 (ja) 情報配信システム、ノード装置、及び解除データ発行方法等
US10263789B1 (en) Auto-generation of security certificate
WO2003098408A2 (en) Method and system for assessing a right of access to content for a user device
CN113228560A (zh) 用于发行的发行设备和方法以及用于请求数字证书的请求设备和方法
JP4797709B2 (ja) 情報配信システム、ノード装置、及び解除データ発行方法等
JP2023096089A (ja) グループ署名による匿名イベント証明
Yang et al. Protecting personal sensitive data security in the cloud with blockchain
JP2022551389A (ja) 匿名イベント認証

Legal Events

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