KR101084768B1 - 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법 및 컴퓨터 판독가능 기록 매체 - Google Patents

사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법 및 컴퓨터 판독가능 기록 매체 Download PDF

Info

Publication number
KR101084768B1
KR101084768B1 KR1020040013103A KR20040013103A KR101084768B1 KR 101084768 B1 KR101084768 B1 KR 101084768B1 KR 1020040013103 A KR1020040013103 A KR 1020040013103A KR 20040013103 A KR20040013103 A KR 20040013103A KR 101084768 B1 KR101084768 B1 KR 101084768B1
Authority
KR
South Korea
Prior art keywords
group
forest
user
directory
query entity
Prior art date
Application number
KR1020040013103A
Other languages
English (en)
Other versions
KR20040076830A (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 KR20040076830A publication Critical patent/KR20040076830A/ko
Application granted granted Critical
Publication of KR101084768B1 publication Critical patent/KR101084768B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

조직체는 적어도 포리스트 A 및 포리스트 B를 포함하는 컴퓨터 네트워크를 보유하고, 포리스트 A가 디렉토리 A 및 디렉토리 A에 질의(query)할 수 있는 질의 엔티티 A를 가지며, 포리스트 B는 디렉토리 B 및 디렉토리 B에 질의할 수 있는 질의 엔티티 B를 갖는다. 질의 엔티티 A는 상기 사용자로부터 요청을 수신하고, 상기 사용자가 상기 그룹의 구성원인지에 적어도 일부 기초하여 상기 요청을 들어줄 지를 결정한다. 또한, 질의 엔티티 A는 상기 그룹에 대한 정보를 반환하기 위해 포리스트 A의 디렉토리 A에 질의하고, 포리스트 B로 향하게 되며, 질의 엔티티 B에 접촉하고, 상기 사용자가 상기 그룹의 구성원인지에 관하여 디렉토리 B에 질의하도록 질의 엔티티 B에게 요청하고, 응답을 수신하며, 상기 사용자가 상기 그룹의 구성원인지에 적어도 일부 기초하여 상기 사용자로부터의 상기 요청을 들어준다.
Figure R1020040013103
디지털 저작권 관리(DRM), 포리스트, 질의 엔티티, DRM 서버, 포인터 오브젝트, 레코드 오브젝트

Description

사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법 및 컴퓨터 판독가능 기록 매체{ISSUING A DIGITAL RIGHTS MANAGEMENT(DRM) LICENSE FOR CONTENT BASED ON CROSS-FOREST DIRECTORY INFORMATION}
도 1은 본 발명이 구현될 수 있는 예시적인 비제한 컴퓨팅 환경(non-limiting computing environment)을 나타내는 블록도.
도 2는 본 발명이 구현될 수 있는 여러가지 컴퓨팅 장치를 갖는 예시적인 네트워크 환경을 나타내는 블록도.
도 3은 디지털 컨텐트를 출판하기 위한 본 발명에 따른 시스템 및 방법의 양호한 실시예의 기능 블록도.
도 4는 저작권 관리된 디지털 컨텐트(rights managed digital content)를 출판하기 위한 본 발명에 따른 방법의 양호한 실시예의 플로우차트.
도 4a는 도 4의 방법에 의해 생성된 것과 같은 서명된 저작권 레이블(signed rights label)의 구조를 도시한 블록도.
도 5는 저작권 관리된 디지털 컨텐트를 라이센싱하기 위한 본 발명에 따른 시스템 및 방법의 양호한 실시예의 블록도.
도 6a 및 도 6b는 저작권 관리된 디지털 컨텐트를 라이센싱하기 위한 본 발명에 따른 방법의 양호한 실시예의 플로우차트.
도 7은 본 발명의 한 실시예에 따라, 요청자에 의해 라이센서(licensor)에게 보내진 인증서 및 저작권 레이블과, 조직 디렉토리를 참조하는 라이센서를 도시한 블록도.
도 8은 본 발명의 한 실시예에 따라, 각각의 포리스트가 적어도 하나의 DRM 서버 및 디렉토리를 갖는, 다수의 디비전(division) 또는 포리스트(forest)들로 이루어진 조직을 도시한 블록도.
도 9는 정의된 그룹 맴버쉽(memberships)을 통해 관련된 다양한 엔티티(entity)들을 도시한 블록도.
도 10은 도 9에 도시된 엔티티들을 위한 도 8의 디렉토리 내의 디렉토리 엔트리(entry)들을 도시한 블록도.
도 11은 신뢰 기반 시스템(trust-based system)의 한 예의 시행 아키텍처를 도시한 블록도.
도 12는 사용자가 DRM 서버의 포리스트에 속하는 그룹의 구성원인지를 판정할 때 도 8의 DRM 서버에 의해 실행되는 중요 단계들을 도시한 흐름도.
도 13은 본 발명의 한 실시예에 따라, 사용자가 DRM 서버의 포리스트에 속하지 않은 그룹의 구성원인지를 판정할 때 도 8의 DRM 서버에 의해 실행되는 중요 단계들을 도시한 흐름도.
도 14는 본 발명의 한 실시예에 따른 캐시 내의 엔트리들을 도시한 블록도.
도 15 및 도 16은 본 발명의 한 실시예에 따라 도 14의 캐시를 사용하는 캐시 아키텍처의 변화(variations)를 도시한 블록도.
도 17a 및 도 17b는 본 발명의 한 실시예에 따라, 사용자가 그룹의 구성원인 지를 판정하기 위해 도 15 및 도 16의 캐시 아키텍처들과 관련하여 도 8의 라이센싱 DRM 서버에 의해 사용된 알고리즘에 의해 실행되는 중요 단계들을 도시한 플로우차트.
<도면의 주요 부분에 대한 부호의 설명>
100 : 컴퓨팅 시스템 환경
120 : 프로세싱 유닛
130 : 시스템 메모리
121 : 시스템 버스
302 : 컨텐트 준비 어플리케이션
304 : 암호화된 디지털 컨텐트
306 : DRM 클라이언트 API
308 : 서명된 저작권 레이블(SRL)
310 : 저작권 관리된 디지털 컨텐트
320 : DRM 서버
330 : 통신 네트워크
1202 : 인증서
1204 : 식별자
1206 : 디렉토리
1402 : 엔트리
1404 : 캐시
이하의 미국 특허 출원들은 본원 출원의 요지와 관련된 주제를 개시하고 있으며, 그 전체가 본원 발명을 위해 본원 명세서의 일부로서 참조된다:
"디지털 저작권 관리(DRM) 시스템에서, 디지털 컨텐트를 위한 서명된 저작권 레이블(SRL:Signed Rights Label)을 획득하고 상기 SRL에 기초하여 컨텐트에 대응하는 디지털 라이센스를 획득하는 방법"이라는 제목으로, 2002년 6월 28일에 출원된 미국 특허 출원 제10/185,527호 (attorney docket number MSFT-1330);
"디지털 저작권 관리(DRM) 시스템에서, 디지털 컨텐트를 위한 서명된 저작권 레이블(SRL)을 획득하기 위하여 저작권 템플릿을 사용하는 방법"이라는 제목으로, 2002년 6월 28일에 출원된 미국 특허 출원 제10/185,278호 (attorney docket number MSFT-1333);
"디지털 컨텐트 및 서비스를 위해 사용 라이센스를 발행하기 위한 시스템 및 방법"이라는 제목으로, 2002년 6월 28일에 출원된 미국 특허 출원 제10/185,511호 (attorney docket number MSFT-1343);
"디지털 저작권 관리(DRM) 시스템에 따른 조직 내에서 디지털 컨텐트를 출판하는 방법"이라는 제목으로, 200년 월 일에 출원된 미국 특허 출원 제10/,호 (attorney docket number MSFT-1498);
"디지털 저작권 관리(DRM) 시스템에 따른 조직 내에서 디지털 컨텐트를 출판하는 방법"이라는 제목으로, 200년 월 일에 출원된 미국 특허 출원 제10/,호 (attorney docket number MSFT-1569);
"컨텐트용 디지털 저작권 관리(DRM) 라이센스의 발행과 관련한 캐시된 사용자-그룹 정보의 검토 방법"이라는 제목으로, 2003년 2월 26일에 출원된 미국 특허 출원 제10/374,324호 (attorney docket number MSFT-1674);
본 발명은 디지털 저작권 관리(DRM) 시스템에 관한 것이다. 구체적으로, 본 발명은 조직 내의 컨텐트의 렌더링(rendering) 및 사용이 대응하는 사용 또는 라이센스 기간에 따라 제한될 수 있도록 사무실 또는 회사 등과 같은 조직 내에서 디지털 컨텐트를 출판하기 위해 DRM 시스템을 이용하는 것에 관한 것이다. 더욱 구체적으로, 본 발명은 또 다른 포리스트의 디렉토리로부터 획득된 그룹 정보에 기초하여 대응하는 디지털 컨텐트에 대한 디지털 라이센스를 발행하는 것에 관한 것이다.
디지털 저작권 관리 및 시행은 디지털 오디오, 디지털 비디오, 디지털 텍스트, 디지털 데이터, 디지털 멀티미디어 등과 같은 디지털 컨텐트와 관련하여 매우 바람직한 것으로, 이러한 디지털 컨텐트는 한 사람 이상의 사용자에게 배포될 수 있다. 디지털 컨텐트는 예를 들어, 텍스트 문서와 같이 정적(static)일 수 있으며, 또는 라이브 이벤트의 스트림식(streamed) 오디오/비디오와 같이 스트림될 수 있다. 전형적인 배포 방식은 자기(플로피) 디스크, 자기 테이프, 광(컴팩트) 디스크(CD) 등과 같은 유형의 장치 및 전자 게시판, 전자 네트워크, 인터넷 등과 같은 무형의 매체를 포함한다. 사용자에 의해 수신될 때, 이러한 사용자는 퍼스널 컴퓨 터 상의 미디어 플레이어 등과 같은 적절한 렌더링 장치의 도움으로 디지털 컨텐트를 렌더링하거나 '플레이'한다.
하나의 시나리오에 있어서, 저자, 발행자, 방송자 등과 같은 컨텐트 소유자 또는 저작권 소유자는 이러한 디지털 컨텐트를 라이센스 요금이나 소정의 다른 대가와 교환하여 많은 사용자들 또는 수신인들 각각에게 배포하기를 원한다. 이러한 시나리오에서, 컨텐트는 노래, 노래 앨범, 영화 등이 될 수 있으며, 배포 목적은 라이센스 요금을 발생시키기 위한 것이다. 이러한 컨텐트 소유자는, 선택권이 주어진다면, 사용자가 이러한 배포된 디지털 컨텐트를 가지고 할 수 있는 것을 제한하고자 할 것이다. 예를 들어 컨텐트 소유자는, 적어도 제2 사용자로부터의 라이센스 요금을 컨텐트 소유자에게 주지않는 방식으로 사용자가 제2 사용자에게 이러한 컨텐트를 복사 및 재배포하는 것을 제한하고자 할 것이다.
또한, 컨텐트 소유자는 사용자에게 실제로 구매되는 모든 종류의 라이센스의 기간을 지키게 하는 동시에, 서로 다른 형태의 사용 라이센스를 서로 다른 라이센스 요금으로 구매하도록 사용자에게 융통성을 제공하기를 원할 수 있다. 예를 들어, 컨텐트 소유자는 배포된 디지털 컨테트가 제한된 횟수만, 소정의 총 시간동안만, 소정 종류의 기계 상에서만, 소정 종류의 미디어 플레이어 상에서만, 소정 종류의 사용자 등에 의해서만 플레이될 수 있게 하기를 원할 수 있다.
다른 시나리오에 있어서, 한 조직체 내의 종업원 또는 조직체의 구성원과 같은 컨텐트 개발자는 이러한 디지털 컨텐트를 그 조직체 내의 한 사람 이상의 다른 종업원들 또는 구성원들에게, 또는 그 조직체 외부의 다른 개인들에게 배포하고자 하지만, 그밖의 다른 사람들에게 그 컨텐트의 렌더링은 못하게 하고자 한다. 이 때, 컨텐트의 배포는 라이센스 요금 또는 소정의 다른 대가와의 교환으로 이루어지는 광역 기반의(broad-based) 배포와는 대조적으로, 비밀의 또는 제한된 방식으로 공유하는 조직 기반의(organization-based) 컨텐트에 더 가깝다.
이러한 시나리오에서, 컨텐트는 사무실 세팅 범위 내에서 교환될 수 있는 것과 같은 문서 프리젠테이션, 스프레드시트, 데이터베이스, 이메일 등이 될 수 있으며, 컨텐트 개발자는 컨텐트가 조직체 또는 사무실 세팅 범위 내에서만 유지되고, 예를 들어 경쟁자들 또는 적들과 같이 권한이 없는 개인들에게는 렌더링될 수 없게 하고자 할 것이다. 다시, 이러한 컨텐트 개발자는 수신인이 이러한 배포된 디지털 컨텐트로 할 수 있는 것을 제한하기룰 원한다. 예를 들어 컨텐트 소유자는, 최소한 컨텐트를 렌더링하도록 허용되어지는 개인들의 범위를 벗어나서 컨텐트를 노출시키는 방식으로 사용자가 제2 사용자에게 이러한 컨텐트를 복사 및 재배포하는 것을 제한하고자 할 것이다.
또한, 컨텐트 개발자는 다양한 수신인들에게 서로 다른 레벨의 렌더링 권한을 제공하고자 할 수 있다. 예를 들어, 컨텐트 개발자는 보호된 디지털 컨텐트를 한 클래스의 개인에 대해서는 볼 수는 있지만 프린트할 수 없게 하고, 다른 클래스의 개인에 대해서는 볼 수 있으면서 프린트할 수 있게 하고자 할 수 있다.
그러나, 어느 시나리오에서든, 배포가 발생된 후, 이러한 컨텐트 소유자/개발자는 디지털 컨텐트에 관한 제어를 거의 하지 않는다. 이는, 실제로 모든 퍼스 널 컴퓨터가 이러한 디지털 컨텐트의 정확한 디지털 복사를 행하여, 그 정확한 디지털 복사를 기입가능 자기 또는 광 디스크로 다운로드하거나, 그 정확한 디지털 복사를 인터넷과 같은 네트워크를 통해 소정의 목적지로 보내는데 필요한 소프트웨어 및 하드웨어를 포함한다는 사실로 보아 특히 문제가 된다.
물론, 컨텐트가 배포되는 거래의 일부로서, 컨텐트 소유자/개발자는 디지털 컨텐트의 사용자/수신인에게 이러한 디지털 컨텐트를 환영받지 못한 방식으로 재배포하지 않기로 약속할 것을 요구할 수 있다. 그러나, 이러한 약속은 쉽게 이루어지고, 쉽게 파기된다. 컨텐트 소유자/개발자는 일반적으로 암호화 및 복호화를 수반하는 소정의 몇몇 공지된 보안 장치를 통해 이러한 재배포를 방지하려고 시도할 수 있다. 그러나, 가볍게 결정된 사용자가 암호화된 디지털 컨텐트를 복호화하고, 이러한 디지털 컨텐트를 비암호화 형태로 보관한 다음, 그것을 재배포하는 것을 못하게 하는 것은 거의 불가능하다.
그러므로, 임의의 형태의 디지털 컨텐트의 제어된 렌더링 또는 플레잉을 허용하는 디지털 저작권 관리(DRM) 및 시행 아키텍처 및 방법을 제공할 필요성이 있으며, 상기 제어는 융통성이 있어서 그러한 디지털 컨텐트의 컨텐트 소유자/개발자에 의해 규정가능하다. 더욱 구체적으로, 특히 규정된 그룹의 개인들 또는 클래스의 개인들 사이에서 문서가 공유되는 사무실 또는 조직체 환경 등의 안에서, 그 제어된 렌더링을 허용하고 용이하게 하는 아키텍처가 필요하다. 더욱 더 구체적으로, 컨텐트가 조직체 내의 소정의 '디비전(division)들' 또는 '포리스트(forest)들'을 가로질러 라이센스될 수 있게 하는 아키텍처가 필요하다.
상술된 필요성은, 조직체로부터의 사용자가 조직체 내의 선정된(pre-defined) 그룹의 구성원인지를 판정하는 본 발명에 의해 적어도 일부 충족되는데, 상기 조직체는 적어도 포리스트 A 및 포리스트 B를 포함하는 컴퓨터 네트워크를 보유하고, 포리스트 A가 디렉토리 A 및 디렉토리 A에 질의(query)할 수 있는 질의 엔티티 A를 가지며, 포리스트 B는 디렉토리 B 및 디렉토리 B에 질의할 수 있는 질의 엔티티 B를 갖는다.
상기 방법에 있어서, 질의 엔티티 A는 상기 사용자로부터 요청을 수신하고, 상기 사용자가 상기 그룹의 구성원인지에 적어도 일부 기초하여 상기 요청을 들어줄 지를 결정한다. 따라서, 질의 엔티티 A는 상기 그룹에 대한 정보를 반환하기 위해 포리스트 A의 디렉토리 A에 질의하고, 응답시 포리스트 B로 향하게 될 것이다. 이어서, 질의 엔티티 A는 포리스트 B의 질의 엔티티 B에 접촉하고, 상기 사용자가 상기 그룹의 구성원인지에 관하여 디렉토리 B에 질의하도록 질의 엔티티 B에게 요청한다. 질의 엔티티 A는 상기 사용자가 실제로 상기 그룹의 구성원인지를 질의 엔티티 B로부터 응답시 수신하고, 상기 사용자가 상기 그룹의 구성원인지에 적어도 일부 기초하여 상기 사용자로부터의 상기 요청을 들어준다.
상기 설명, 및 본 발명의 실시예에 관한 다음의 상세한 설명은 첨부된 도면을 참조하면 더욱 잘 이해될 수 있을 것이다. 본 발명의 설명을 위해, 양호한 실시예가 도면에 도시된다. 그러나, 이해할 수 있는 바와 같이, 본 발명이 도시된 정밀한 배열 및 수단에 제한되는 것은 아니다.
컴퓨터 환경
도 1 및 다음 설명은 본 발명이 실현될 수 있는 적절한 컴퓨팅 환경에 관한 간단한 설명을 제공하고자 하는 것이다. 그러나, 핸드헬드, 포터블, 및 모든 종류의 다른 컴퓨팅 장치는 본 발명과 관련하여 사용이 고려될 수 있다는 것을 이해해야 한다. 범용 컴퓨터가 후술되지만, 그것은 단지 한 예이고, 본 발명은 단지 네트워크 서버 상호운용성 및 상호작용을 갖는 신 클라이언트(thin client)를 필요로 할 뿐이다. 그러므로, 본 발명은 거의 없거나 극미한 클라이언트 자원이 관련되는 네트워크화 호스티드 서비스의 환경, 즉 클라이언트 장치가 단지 월드 와이드 웹에 대한 브라우저 또는 인터페이스로서 작용하는 네트워크화 환경에서 실현될 수 있다.
요구되지는 않지만, 본 발명은 개발자에 의한 사용을 위해 응용 프로그래밍 인터페이스(API)를 통해 실현될 수 있고 또는, 클라이언트 워크스테이션들, 서버들 또는 다른 장치들과 같은 하나 이상의 컴퓨터에 의해 실행되고 있는, 프로그램 모듈과 같은 컴퓨터 실행가능 명령어의 일반적인 관점으로 기술될 수 있는 네트워크 브라우징 소프트웨어 내에 포함될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 실행하거나 특정 추상 데이터형을 실현하는 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등을 포함한다. 전형적으로, 프로그램 모듈의 기능은 여러 실시예에서 요구된 바와 같이 결합되거나 분산될 수 있다. 게다가, 본 분야에 숙련된 기술자들은 본 발명이 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 이해할 수 있을 것이다. 본 발명과 함께 사용하기에 적절한 다른 널리 공지된 컴퓨팅 시스템, 환경 및/또는 구성은, 퍼스널 컴퓨터(PC), 현금자동 입출금기(ATM), 서버 컴퓨터, 핸드-헬드 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 프로그램가능 소비자 전자제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하지만, 이들에 제한되는 것은 아니다. 본 발명은 또한 통신망 또는 다른 데이터 전송 매체를 통해 링크되는 원격 프로세싱 장치에 의해 태스크가 실행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬(local) 및 원격(remote) 컴퓨터 저장 매체 내에 위치될 수 있다.
그러므로, 도 1은 본 발명이 실현될 수 있는 적절한 컴퓨팅 시스템 환경(100)의 한 예를 도시한 것으로, 위에서 명백해지긴 했지만, 상기 컴퓨팅 시스템 환경(100)은 적절한 컴퓨팅 환경의 한 예일 뿐이며, 본 발명의 사용범위 또는 기능에 관해 임의의 제한을 제시하고자 하는 것은 아니다. 컴퓨팅 환경(100)은 예시적인 동작 환경(100)에 도시된 구성요소들 중 임의의 하나 또는 결합과 관련하여 어떠한 종속성이나 요구사항을 갖는 것으로 해석되어서는 안된다.
도 1을 참조하면, 본 발명을 구현하는 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 구성요소는 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함하는 여러가지 시스템 구성요소를 프로세싱 유닛(120)에 연결하는 시스템 버스(121)를 포함할 수 있는데, 이들에 제한되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 제어기, 주변 버스, 및 다양한 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스를 포함하는 몇몇 유형의 버스 구조들 중의 어떤 구조일 수 있다. 예를 들어(제한하는 것은 아님), 이러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 PCI(Peripheral Component Interconnect) 버스(Mezzanine 버스라고도 공지됨)를 포함한다.
컴퓨터(110)는 전형적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(110)에 의해 억세스될 수 있는 소정의 이용가능한 매체일 수 있고, 휘발성 및 비휘발성 매체, 착탈가능 및 착탈불가능 매체를 포함한다. 예로서(제한은 아님), 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 그밖의 다른 데이터와 같은 정보의 저장을 위해 소정의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 착탈 가능 및 착탈불가능 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 그밖의 다른 메모리 기술, CDROM, DVD(Digital Versatile Disks) 또는 그밖의 다른 광 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 그밖의 다른 자기 저장 장치, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨터(110)에 의해 억세스될 수 있는 소정의 다른 매체를 포함하지만, 이들에 제한되지는 않는다. 컴퓨터 매체는 전형적으로 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 반송파 또는 다른 전송 메카니즘과 같은 변조된 데이터 신호 내의 다른 데이터를 구체화하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내의 정보를 인코드하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예를 들어(제한하는 것은 아님), 통신 매체는 유선 네트워크 또는 직접-유선 접속과 같은 유선 매체와, 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 상기의 임의의 조합도 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(130)는 판독 전용 메모리(ROM)(131) 및 랜덤 억세스 메모리(RAM)(132)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 예를 들어 시동 중에 컴퓨터(110) 내의 소자들 간의 정보 전달을 돕는 기본 루틴들을 포함하는 기본 입/출력 시스템(133)(BIOS)은 전형적으로 ROM(131) 내에 저장된다. RAM(132)은 전형적으로 프로세싱 유닛(120)으로 즉시 억세스가능하거나 또는 프로세싱 유닛(120)에 의해 현재 동작되고 있는 데이터 및/또는 프로그램 모듈들을 포함한다. 예를 들어(제한되는 것은 아님), 도 1은 운영 체계(134), 응용 프로그램들(135), 다른 프로그램 모듈들(136) 및 프로그램 데이터(137)를 도시한 것이다.
컴퓨터(110)는 또한 그밖의 다른 착탈가능/착탈불가능, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 예를 들어, 도 1은 착탈불가능 비휘발성 자기 매체로부터 판독하거나 매체로 기입하는 하드 디스크 드라이브(141), 착탈가능 비휘발성 자기 디스크(152)로부터 판독하거나 디스크(152)로 기입하는 자기 디스크 드라이브(151), 및 CD ROM 또는 다른 광 매체와 같은 착탈가능 비휘발성 광 디스크(156)로부터 판독하거나 디스크(156)로 기입하는 광 디스크 드라이브(155)를 도시한 것이다. 예시적인 동작 환경에서 사용될 수 있는 그밖의 다른 착탈가능/착탈불가능, 휘발성/비휘발성 컴퓨터 저장 매체는, 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고체상태 RAM, 고체상태 ROM 등을 포함하지만, 이들에 제한되지는 않는다. 하드 디스크 드라이브(141)는 전형적으로, 인터페이스(140)와 같은 착탈불가능 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 전형적으로, 인터페이스(150)와 같은 착탈가능 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
상술되고 도 1에 도시된 드라이브 및 이와 연관된 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들 및 컴퓨터(110)의 다른 데이터의 저장을 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체계(144), 응용 프로그램들(145), 다른 프로그램 모듈들(146) 및 프로그램 데이터(147)를 저장하는 것으로 도시된다. 이들 구성요소는 운영 체계(134), 응용 프로그램들(135), 다른 프로그램 모듈들(136) 및 프로그램 데이터(137)와 동일하거나 다를 수 있음에 주의해야 한다. 운영 체계(144), 응용 프로그램들(145), 다른 프로그램 모듈들(146) 및 프로그램 데이터(147)는 여기에서 최소한 이들이 서로 다른 카피인 것을 나타내기 위해 서로 다른 번호로 주어진다. 사용자는 일반적으로 마우스, 트랙볼 또는 터치패드로 언급되는 포인팅 장치(161) 및 키보드(162)와 같은 입력 장치를 통해 컴퓨터(110)로 커맨드 및 정보를 입력시킬 수 있다. 다른 입력 장치들(도시되지 않음)은 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치는 시스템 버스(121)에 연결되는 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)에 자주 접속되지만, 병렬 포트, 게임 포트 또는 유니버셜 시리얼 버스(USB)와 같은 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다.
모니터(191) 또는 다른 형태의 디스플레이 장치는 또한 비디오 인터페이스(190)와 같은 인터페이스를 통해 시스템 버스(121)에 접속된다. 노스브리지(Northbridge)와 같은 그래픽 인터페이스(182)가 또한 시스템 버스(121)에 접속될 수 있다. 노스브리지는 CPU 또는 호스트 프로세싱 유닛(120)과 통신하는 칩셋으로서, AGP(Accelerated Graphics Port) 통신에 대한 책임을 맡고 있다. 하나 이상의 그래픽 프로세싱 유닛들(GPUs)(184)은 그래픽 인터페이스(182)와 통신할 수 있다. 이와 관련하여, GPUs(184)는 일반적으로 레지스터 저장장치와 같은 온칩 메모리 저장장치를 포함하고, GPUs(184)는 비디오 메모리(186)와 통신한다. 그러나, GPUs(184)는 코프로세서의 한 예일 뿐이므로, 다양한 코프로세싱 장치가 컴퓨터(110) 내에 포함될 수 있다. 모니터(191) 또는 다른 형태의 디스플레이 장치는 또한, 비디오 메모리(186)와 교대로 통신할 수 있는 비디오 인터페이스(190)와 같은 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터(191) 이외에, 컴퓨터는 또한 출력 주변장치 인터페이스(195)를 통해 접속될 수 있는 스피커(197) 및 프린터(196)와 같은 다른 주변 출력 장치를 포함할 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적인 접속을 사용하여 네트워크된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어(peer) 장치, 또는 다른 통상의 네트워크 노드일 수 있으며, 도 1에 메모리 저장장치(181)만이 도시되었지만, 전형적으로 컴퓨터(110)와 관련하여 상술된 다수의 또는 모든 소자들을 포함할 수 있다. 도 1에 도시된 논리적 접속은 근거리 통신망(LAN)(171) 및 광역 통신망(WAN)(173)을 포함하지만, 다른 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 기업체 전반의 컴퓨터 네트워크, 인트라넷 및 인터넷에서 통상적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 전형적으로, 모뎀(172), 또는 인터넷과 같은 WAN(173)을 통해 통신을 설정하는 다른 수단을 포함한다. 내부 또는 외부에 있을 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 다른 적절한 메카니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크된 환경에서, 컴퓨터(110)와 관련하여 묘사된 프로그램 모듈들, 또는 그것의 일부분은 원격 메모리 저장 장치 내에 저장될 수 있다. 예를 들어(제한되는 것은 아님), 도 1은 메모리 장치(181)에서 상주하는 원격 응용 프로그램들(185)을 도시하고 있다. 도시된 네트워크 접속은 예시적인 것이고, 컴퓨터들 사이의 통신 링크를 설정하는 다른 수단이 사용될 수 있다는 것을 이해할 수 있을 것이다.
본 기술분야에서 통상의 지식을 가진 자라면 컴퓨터(110) 또는 다른 클라이언트 장치는 컴퓨터 네트워크의 일부로서 전개될 수 있다는 것을 이해할 수 있다. 이와 관련하여 본 발명은, 소정 수의 메모리 또는 저장 유닛들을 가지며, 소정 수의 저장 유닛들 또는 볼륨들을 교차하여 발생하는 소정 수의 어플리케이션 및 프로세스를 갖는, 소정의 컴퓨터 시스템에 속한다. 본 발명은 원격 또는 로컬 저장 장치를 갖는 네트워크 환경에서 전개되는 서버 컴퓨터 및 클라이언트 컴퓨터를 갖는 환경에 적용할 수 있다. 본 발명은 또한 프로그래밍 언어 기능, 번역 및 실행 능력을 갖고 있는 자립형 컴퓨팅 장치에 적용할 수 있다.
분산 컴퓨팅은 컴퓨팅 장치와 시스템 간의 직접 교환에 의해 컴퓨터 자원 및 서비스의 공유를 용이하게 한다. 이들 자원 및 서비스는 정보 교환, 캐시 저장장치, 및 파일용 디스크 저장장치를 포함한다. 분산 컴퓨팅은 네트워크 상호통신능력의 장점을 취하여, 클라이언트가 전체 기업에게 이익이 되는 그들 공동의 능력을 발휘할 수 있게 한다. 이와 관련하여, 여러가지 장치는 신뢰된 그래픽 파이프라인(들)에 대하여 본 발명의 인증 기술을 관련시키도록 상호작용할 수 있는 어플리케이션들, 오브젝트들 또는 자원들을 가질 수 있다.
도 2는 예시적인 네트워크 또는 분산된 컴퓨팅 환경의 개략도를 제공한다. 분산 컴퓨팅 환경은 컴퓨팅 오브젝트들(10a, 10b 등) 및 컴퓨팅 오브젝트들 또는 장치들(110a, 110b, 110c 등)을 포함한다. 이들 오브젝트들은 프로그램, 방법, 데이터 저장, 프로그램 로직 등을 포함할 수 있다. 오브젝트들은 PDA, TV, MP3 플레이어, 퍼스널 컴퓨터 등과 같은 동일하거나 상이한 장치들의 일부를 포함할 수 있다. 각 오브젝트는 통신 네트워크(14)를 통해 다른 오브젝트와 통신할 수 있다. 이 네트워크는 도 2의 시스템에 서비스를 제공하는 다른 컴퓨팅 오브젝트들 및 컴 퓨팅 장치들을 포함할 수 있다. 본 발명의 실시 태양에 따라, 각 오브젝트(10 또는 110)는 신뢰된 그래픽 파이프라인(들)에 대한 본 발명의 인증 기술을 요청할 수 있는 어플리케이션을 포함할 수 있다.
또한, 오브젝트(110c)는 다른 컴퓨팅 장치(10 또는 110) 상에 호스팅될 수 있다는 것을 이해할 수 있다. 그러므로, 묘사된 물리적인 환경이 컴퓨터와 같은 접속된 장치들을 도시하지만, 이러한 도시는 예시적일 뿐이며, 물리적 환경은 대안으로 PDA, TV, MP3 플레이어 등과 같은 다양한 디지털 장치들, 인터페이스와 같은 소프트웨어 오브젝트들, COM 오브젝트들 등을 포함하는 것으로 묘사되거나 설명될 수 있다.
분산 컴퓨팅 환경을 지원하는 여러가지 시스템, 컴포넌트 및 네트워크 구성이 있다. 예를 들어, 컴퓨팅 시스템은 유선 또는 무선 시스템에 의해, 로컬 네트워크 또는 널리 분산된 네트워크에 의해 함께 접속될 수 있다. 현재, 다수의 네트워크들은 널리 분산된 컴퓨팅에 기반구조(infrastructure)를 제공하고 다수의 상이한 네트워크를 망라하는 인터넷에 연결된다.
홈 네트워킹 환경에는, 전원선, 데이터(무선 및 유선), 음성(예를 들어, 전화) 및 엔터테인먼트 매체와 같은 유일한 프로토콜을 각각 지원할 수 있는 최소한 4개의 이종 네트워크 전송 매체가 있다. 조명 스위치 및 전기기구와 같은 대부분의 홈 제어 장치들은 접속을 위해 전원선을 사용할 수 있다. 데이터 서비스는 광대역(예를 들어, DSL 또는 케이블 모뎀)으로 홈에 들어갈 수 있으며, 무선(예를 들어, HomeRF 또는 802.11b) 또는 유선(예를 들어, Home PNA, Cat 5, 심지어 전원선) 접속을 사용하여 홈 내에 억세스할 수 있다. 음성 트래픽은 유선(예를 들어, Cat 3) 또는 무선(예를 들어, 셀 폰)으로 홈에 들어갈 수 있으며, Cat 3 유선을 사용하여 홈 내에 분산될 수 있다. 엔터테인먼트 매체는 위성 또는 케이블을 통해 홈에 들어갈 수 있으며, 전형적으로 동축 케이블을 사용하여 홈 내에 분산된다. IEEE 1394 및 DVI도 매체 장치의 클러스터용 디지털 상호접속으로서 대두되고 있다. 이러한 모든 네트워크 환경들과 프로토콜 표준으로서 대두될 수 있는 다른 것들은, 인터넷을 통해 외부 세계에 접속될 수 있는 인트라넷을 형성하기 위해 상호접속될 수 있다. 간략하게 말하면, 여러가지 이종의 소스가 데이터의 저장 및 전송을 위해 존재하고, 결과적으로, 더 나아가, 컴퓨팅 장치는 데이터 프로세싱 파이프라인의 모든 부분에서 컨텐트를 보호하는 방식을 요구할 것이다.
'인터넷'은 일반적으로, 컴퓨터 네트워킹 분야에 널리 알려진 프로토콜의 TCP/IP 슈트(suite)를 이용하는 네트워크 및 게이트웨이의 집합을 칭한다. TCP/IP는 "Transport Control Protocol/Interface Program"의 약어이다. 인터넷은 사용자가 네트워크를 통해 상호작용할 수 있게 하고 정보를 공유할 수 있게 하는 네트워킹 프로토콜을 실행하는 컴퓨터들에 의해 상호접속된, 지리적으로 분산된 원격 컴퓨터 네트워크의 시스템으로서 설명될 수 있다. 이러한 광범위한 정보 공유 때문에, 인터넷과 같은 원격 네트워크는, 개발자들이 본질적으로 제한없이 특별화된 동작 또는 서비스를 실행하기 위한 소프트웨어 어플리케이션을 설계할 수 있는, 오픈 시스템으로 상당히 발전되었다.
그러므로, 네트워크 기반구조는 클라이언트/서버, 피어-투-피어, 또는 하이브리드 아키텍처와 같은 네트워크 형태의 호스트를 가능하게 한다. "클라이언트"는 관련되지 않은 다른 클래스 또는 그룹의 서비스를 사용하는 한 클래스 또는 그룹의 구성원이다. 그러므로, 컴퓨팅에서, 하나의 클라이언트는 하나의 프로세스, 즉 대체로 다른 프로그램에 의해 제공된 서비스를 요청하는 한 세트의 명령어 또는 태스크이다. 클라이언트 프로세스는 다른 프로그램 또는 서비스 자체에 관한 소정의 작업 상세를 알 필요없이 요청된 서비스를 사용한다. 클라이언트/서버 아키텍처, 특히 네트워크된 시스템에서, 클라이언트는 보통 다른 컴퓨터, 예를 들어 서버에 의해 제공된 공유된 네트워크 자원들을 억세스하는 컴퓨터이다. 도 2의 예에서, 컴퓨터(110a, 110b 등)는 클라이언트로 생각될 수 있고, 컴퓨터(10a, 10b 등)는 서버로 생각될 수 있으며, 서버(10a, 10b 등)는 클라이언트 컴퓨터(110a, 110b 등) 내에 복제되는 데이터를 보유한다.
서버는 전형적으로 인터넷과 같은 원격 네트워크를 통해 억세스가능한 원격 컴퓨터 시스템이다. 클라이언트 프로세스는 제1 컴퓨터 시스템 내에서 동작될 수 있고, 서버 프로세스는 제2 컴퓨터 시스템 내에서 동작될 수 있으며, 통신 매체를 통해 서로 통신함으로써, 분산된 기능을 제공하고, 다수의 클라이언트가 서버의 정보-집합 능력의 이점을 가질 수 있게 한다.
클라이언트 및 서버는 프로토콜 층에 의해 제공된 기능을 사용하여 서로 통신한다. 예를 들어, HTTP(Hypertext-Transfer Protocol)는 WWW(World Wide Web)와 함께 사용되는 공통 프로토콜이다. 전형적으로, URL(Universal Resource Locator) 또는 IP(Internet Protocol) 어드레스와 같은 컴퓨터 네트워크 어드레스는 서버 또 는 클라이언트 컴퓨터를 서로 식별하기 위해 사용된다. 네트워크 어드레스는 URL 어드레스로 언급될 수 있다. 예를 들어, 통신은 통신 매체를 통해 제공될 수 있다. 특히, 클라이언트 및 서버는 고용량 통신을 위한 TCP/IP 접속을 통해 서로 연결될 수 있다.
그러므로, 도 2는 본 발명이 사용될 수 있는, 네트워크/버스를 통해 클라이언트 컴퓨터와 통신하는 서버를 갖는 예시적인 네트워크 또는 분산된 환경을 도시한 것이다. 더욱 상세하게, 다수의 서버(10a, 10b 등)는 본 발명에 따라, LAN, WAN, 인트라넷, 인터넷 등이 될 수 있는 통신 네트워크/버스(14)를 통해, 포터블 컴퓨터, 핸드헬드 컴퓨터, 신 클라이언트, 네트워크된 전기기구, 또는 VCR, TV, 오븐, 조명, 히터 등의 다른 장치와 같은 다수의 클라이언트 또는 원격 컴퓨팅 장치(110a, 110b, 110c, 110d, 110e 등)와 상호접속된다. 그러므로, 본 발명은 신뢰된 소스로부터 안전한 컨텐트를 바람직하게 프로세스, 저장 또는 렌더링하는 것과 관련되는 임의의 컴퓨팅 장치에 적용할 수 있다.
통신 네트워크/버스(14)가 인터넷인 네트워크 환경에서, 예를 들어, 서버(10)는 HTTP와 같은 다수의 공지된 프로토콜 중의 어느 것을 통해 클라이언트들(110a, 110b, 110c, 110d, 110e 등)과 통신하는 웹 서버일 수 있다. 서버(10)는 또한 분산 컴퓨팅 환경의 특성일 수 있는 바와 같이 클라이언트(110)로서도 작용할 수 있다. 통신은 적절하게 유선 또는 무선으로 될 수 있다. 클라이언트 장치들(110)은 통신 네트워크/버스(14)를 통해 통신하거나 통신하지 않을 수 있고, 이와 연관된 독립된 통신을 할 수도 있다. 예를 들어, TV 또는 VCR인 경우에는 그 것의 제어에 대하여 네트워크된 태양일 수도 있고 아닐 수도 있다. 각 클라이언트 컴퓨터(110) 및 서버 컴퓨터(10)는 다양한 어플리케이션 프로그램 모듈들 또는 오브젝트들(135)이 구비될 수 있으며, 파일이 저장될 수 있거나 파일의 일부분(들)이 다운로드되거나 이동될 수 있는 여러가지 종류의 저장 소자 또는 오브젝트로의 접속 또는 억세스가 이루어질 수 있다. 그러므로, 본 발명은 컴퓨터 네트워크/버스(14)와 억세스 및 상호작용할 수 있는 클라이언트 컴퓨터들(110a, 110b 등), 클라이언트 컴퓨터들(110a, 110b 등)과 상호작용할 수 있는 서버 컴퓨터들(10a, 10b 등), 및 다른 장치들(111)과 데이터베이스(20)를 갖는 컴퓨터 네트워크 환경에서 사용될 수 있다.
디지털 저작권 관리(DRM) 개요
이제 도 11을 참조하면, 공지된 바와 같이, 디지털 저작권 관리(DRM) 및 시행은 디지털 오디오, 디지털 비디오, 디지털 텍스트, 디지털 데이터, 디지털 멀티미디어 등과 같은 디지털 컨텐트(12)와 관련하여 매우 바람직한 것으로, 이러한 디지털 컨텐트(12)는 사용자들에게 배포될 수 있다. 사용자에 의해 수신되는 동안, 이러한 사용자는 퍼스널 컴퓨터(14) 상의 미디어 플레이어 등과 같은 적절한 렌더링 장치의 도움으로 디지털 컨텐트를 렌더링하거나 '플레이'한다.
전형적으로, 이러한 디지털 컨텐트를 배포하는 컨텐트 소유자 또는 개발자(이후 '소유자')는 사용자가 이러한 배포된 디지털 컨텐트(12)를 가지고 할 수 있는 것을 제한하기를 원한다. 예를 들어, 컨텐트 소유자는 사용자가 제2 사용자에게 이러한 컨텐트(12)를 복사 및 재배포하는 것을 제한하기를 원하거나, 또는 배포된 디지털 컨텐트(12)가 제한된 횟수만, 소정의 총 시간동안만, 소정 종류의 기계 상에서만, 소정 종류의 미디어 플레이어 상에서만, 소정 종류의 사용자에 의해서만 플레이될 수 있게 하기를 원할 수 있다.
그러나, 배포가 발생된 후, 이러한 컨텐트 소유자는 디지털 컨텐트에 관한 제어를 거의 하지 않는다. 이후 DRM 시스템(10)은 디지털 컨텐트(12)의 임의의 형태의 제어된 렌더링 또는 플레잉을 허용하며, 이러한 제어는 융통성이 있어서 이러한 디지털 컨텐트의 컨텐트 소유자에 의해 규정가능하다. 전형적으로, 컨텐트(12)는 임의의 적절한 배포 채널을 통해 패키지(13)의 형태로 사용자에게 배포된다. 배포된 디지털 컨텐트 패키지(13)는 컨텐트, 이러한 컨텐트의 라이센스를 획득하는 방법 등을 식별하는 다른 정보뿐만 아니라, 대칭 암호화/복호화 키(KD)(즉, (KD(CONTENT))로 암호화된 디지털 컨텐트(12)를 포함할 수 있다.
신뢰-기반의 DRM 시스템(10)은, 디지털 컨텐트(12)의 소유자가 이러한 디지털 컨텐트(12)가 사용자의 컴퓨팅 장치(14) 상에 렌더링되도록 허용되기 전에 충족되어야 하는 라이센스 규칙을 지정할 수 있게 한다. 이러한 라이센스 규칙은 상술된 일시적 요구사항을 포함할 수 있으며, 사용자/사용자의 컴퓨팅 장치(14)(이후, 이러한 용어는 상황이 달리 요구하지 않으면 교체가능함)가 컨텐트 소유자 또는 그 대리인으로부터 얻어야 하는 디지털 라이센스 또는 사용 문서(이후, '라이센스')(16) 내에 구체화될 수 있다. 이러한 라이센스(16)는 또한 사용자의 컴퓨팅 장치에 의해 해독가능한 키에 따라서 아마도 암호화된 디지털 컨텐트를 해독하기 위한 암호해독 키(KD)를 포함한다.
디지털 컨텐트(12)의 일부에 대한 컨텐트 소유자는, 사용자의 컴퓨팅 장치(14)가 라이센스(16) 내에 이러한 컨텐트 소유자에 의해 지정된 규칙 및 요구사항을 지킬 것이라는 것을, 즉 라이센스(16) 내의 규칙 및 요구사항이 만족되지 않으면 디지털 컨텐트(12)가 렌더링되지 않을 것이라는 것을 신뢰해야 한다. 그 다음, 양호하게, 사용자의 컴퓨팅 장치(14)에는 디지털 컨텐트(12)와 연관되고 사용자에 의해 얻어진 라이센스(16) 내에 구체화된 라이센스 규칙에 따르는 것을 제외하고는 디지털 컨텐트(12)를 렌더링하지 않을 것이라는 신뢰된 구성요소 또는 메카니즘(18)이 제공된다.
신뢰된 구성요소(18)는 전형적으로, 라이센스(16)가 유효한 지를 판정하고, 이러한 유효한 라이센스(16) 내의 라이센스 규칙 및 요구사항을 검토하며, 검토된 라이센스 규칙 및 요구사항에 기초하여, 요청 사용자가 그 중에서도 특히 탐색된 방식으로 요청 디지털 컨텐트(12)를 렌더링할 권리를 가졌는지를 판정하는 라이센스 평가기(20)를 갖는다. 이해될 수 있는 바와 같이, 라이센스 평가기(20)는 DRM 시스템(10) 내에서 신뢰되어 라이센스(16) 내의 규칙 및 요구사항에 따라 디지털 컨텐트(12) 소유자의 희망사항을 실행하며, 사용자는 잘못되거나 다른 방법으로 소정의 목적을 위해 그러한 신뢰된 구성요소를 쉽게 변경할 수 있어서는 안된다.
이해될 수 있는 바와 같이, 라이센스(16) 내의 규칙 및 요구사항은, 사용자가 누구인지, 사용자가 어디에 위치되는지, 사용자가 어떤 종류의 컴퓨팅 장치를 사용하는지, 어떤 렌더링 어플리케이션이 DRM 시스템을 호출하고 있는지, 날짜, 시간 등을 포함하는 소정의 몇가지 요인에 기초하여, 사용자가 디지털 컨텐트(12)를 렌더링할 권리를 가졌는지의 여부를 특정할 수 있다. 또한, 라이센스(16)의 규칙 및 요구사항은 라이센스(16)를, 예를 들어 선정된 수의 플레이, 또는 선정된 플레이 시간으로 제한할 수 있다.
규칙 및 요구사항은 소정의 적절한 언어 및 구문(syntax)에 따라 라이센스(16) 내에 특정될 수 있다. 예를 들어, 언어는 만족되어야 하는 속성 및 값을 단순히 특정하거나(예를 들어, DATE는 X보다 더 늦어야 된다), 또는 특정된 스크립트(예를 들어, IF DATE greater than X, THEN DO...,)에 따른 기능의 성능을 요구할 수 있다.
라이센스(16)가 유효하며 사용자가 규칙 및 요구사항을 만족시키는지를 라이센스 평가기(20)가 판정하면, 디지털 컨텐트(12)는 렌더링될 수 있다. 특히, 컨텐트(12)를 렌더링하기 위해, 암호해독 키(KD)는 라이센스(12)로부터 얻어지고, 컨텐트 패키지(13)로부터 (KD(CONTENT))에 인가되어 실제 컨텐트(12)를 생성하고, 그 다음 실제 컨텐트(12)는 실제로 렌더링된다.
디지털 컨텐트 출판
도 3은 디지털 컨텐트를 출판하기 위한 시스템 및 방법의 기능 블록도이다. 여기에서 사용되는 "출판(publishing)"이란 용어는 한 세트의 저작권 및 조건이 누구에게 발행될 수 있는지 뿐만 아니라, 소정 엔티티가 그 컨텐트에 대해 발행할 수 있는 한 세트의 저작권 및 조건을 신뢰된 엔티티로 설정하도록 어플리케이션 또는 서비스가 뒤따르는 프로세스를 칭하는 것이다. 본 발명에 따르면, 출판 프로세스는 디지털 컨텐트를 암호화하는 단계, 및 컨텐트의 저자가 컨텐트의 가능한 모든 사용자용으로 준비한 계속적인 시행가능 저작권의 리스트를 연관시키는 단계를 포함한다. 이 프로세스는 컨텐트의 저자에 의해 의도되지 않았으면 소정의 저작권으로의 억세스 또는 컨텐트로의 억세스를 금지하는 안전한 방식으로 실행될 수 있다.
특히 3개의 엔티티가 안전한 디지털 컨텐트를 출판하기 위해 사용될 수 있다: 즉, 클라이언트(300) 상에서 실행하고 출판하기 위한 컨텐트를 준비하는 컨텐트 준비 어플리케이션(302), 또한 클라이언트 장치(300) 상에서 상주하는 디지털 저작권 관리(DRM) 어플리케이션 프로그램 인터페이스(API)(306), 및 인터넷, LAN 또는 WAN, 또는 그들의 조합과 같은 통신 네트워크(330)를 통해 클라이언트(300)에 통신으로 연결되는 DRM 서버(320).
컨텐트 준비 어플리케이션(302)은 디지털 컨텐트를 생성하는 소정의 어플리케이션일 수 있다. 예를 들어, 어플리케이션(302)은 디지털 텍스트 파일, 디지털 뮤직, 비디오 또는 다른 컨텐트를 생성하는 다른 출판자 또는 워드 프로세서일 수 있다. 컨텐트는 또한 예를 들어, 라이브 또는 테이프식 이벤트의 스트림된 오디오/비디오와 같은 스트림된 컨텐트를 포함할 수 있다. 어플리케이션(302)은 디지털 컨텐트를 암호화하는 암호 키를 구비하므로, 암호화된 디지털 컨텐트 파일(304)을 형성하고, 사용자는 디지털 컨텐트 파일(304) 내의 암호화된 컨텐트와 엄격하게 연관될 저작권 데이터를 제공한다. 저작권 데이터는 디지털 컨텐트 내의 저작권을 갖는 각각의 엔티티에 대한 각각의 신원(identity), 및 각각의 식별된 엔티티에 대한 한 세트의 저작권 및 조건을 포함한다.
이러한 엔티티는 예를 들어, 개인, 한 클래스의 개인들, 또는 장치일 수 있 다. 이러한 저작권은 디지털 컨텐트를 판독, 편집, 카피, 프린트 등을 할 권리를 포함할 수 있다. 조건은 최소한도의 시스템 요구사항, 날짜 및 시간 제한, 플레이 카운트 등을 포함할 수 있다.
클라이언트 API(306)는 암호화된 디지털 컨텐트 및 저작권 데이터를 DRM 서버(320)에 보낼 수 있다. 상세하게 후술되는 프로세스를 사용하여, DRM 서버(320)는 저작권 데이터를 시행할 수 있는 지를 판정하고, 그렇다면, DRM 서버(320)는 서명된 저작권 레이블(SRL)(308)을 형성하기 위해 저작권 데이터에 서명한다. 그러나, 일반적으로, 소정의 신뢰된 엔티티는 양호하게 DRM 서버(320)에 의해 신뢰된 키를 사용하여 저작권 데이터에 서명할 수 있다. 예를 들어, 클라이언트는 DRM 서버(320)에 의해 제공된 키를 사용하여 저작권 데이터에 서명할 수 있다.
저작권 레이블(308)은 저작권 설명, 암호화된 컨텐트 키, 및 저작권 설명과 암호화된 컨텐트 키를 통한 디지털 서명을 나타내는 데이터를 포함할 수 있다. DRM 서버가 저작권 레이블에 서명하고 있으면, 이것은 서명된 저작권 레이블(308)을 클라이언트 장치(300) 상에 저장하는 클라이언트 API(306)를 통해 서명된 저작권 레이블(308)을 클라이언트에게 다시 보낸다. 그 다음, 컨텐트 준비 어플리케이션(302)은 저작권 관리된 컨텐트 파일(310)을 형성하기 위해 예를 들어 연결에 의해, 서명된 저작권 레이블(308)을 암호화된 디지털 컨텐트 파일(304)과 연관시킨다. 그러나, SRL(308)은 컨텐트 파일(310)을 형성하기 위해 컨텐트 파일(304)에 연결된 SRL(308)에 대한 레퍼런스를 갖는 컨텐트 파일(304)로부터 분리된 알려진 위치에 저장될 수 있다는 것에 주의해야 한다.
이제 도 4를 참조하면, 저작권 관리된 디지털 컨텐트를 출판하기 위한 한 방법이 도시된다. 단계 402에서, 어플리케이션(302)은 디지털 컨텐트를 암호화하는데 사용된 컨텐트 키(CK)를 생성한다. 디지털 컨텐트를 암호화하기 위해 임의의 키가 사용될 수 있지만, 컨텐트 키(CK)는 전형적으로 대칭 키이다. 공지된 바와 같이, 대칭 키는 암호화 및 암호해독을 위한 대칭 키 알고리즘에 의해 사용된다. 따라서, (CK)는 송신자와 수신자 사이에서 공유될 때 잘 숨겨져야 된다.
단계 404에서, 어플리케이션(302)은 암호화된 디지털 컨텐트(304)(즉, (CK(content)))를 형성하기 위해 (CK)로 디지털 컨텐트를 암호화한다. 부가적으로, (CK(content))에 대응하는 저작권 데이터는 컨텐트의 발행자 또는 다른 엔티티에 의해 생성된다. 이러한 저작권 데이터는 주문형 저작권 데이터, 또는 선정된 템플릿으로부터 얻어진 저작권 데이터일 수 있다. 상술된 바와 같이, 저작권 데이터는 컨텐트를 소비할 권리가 있을 수 있는 엔티티의 리스트, 각 엔티티가 컨텐트와 관련하여 소유하는 특정 저작권, 및 특정 저작권이 부과될 수 있는 임의의 조건을 포함한다.
단계 406에서, API(306)는 컨텐트 키(CK)를 암호화하는데 사용되는 제2 암호화 키(DES1)를 생성한다. 양호하게는, (DES1)은 또한 대칭 키이다. 단계 408에서, API(306)는 (CK)를 (DES1)로 암호화하여 (DES1(CK))를 생기게 한다. 단계 410에서, API(306)는 (CK)를 버리고, 그 결과 (CK)는 이제 (DES1(CK))를 암호해독해야지만 얻어질 수 있게 된다. (CK(content))가 중앙 DRM 서버(320)에 대해 보호될 수 있게 하고, 컨텐트에 대한 모든 "라이센스 요청"이 저작권 데이터에 따라 중심 적으로 행해질 수 있게 하기 위해, API(306)는 단계 412에서, 제공된 DRM 서버(320)와 접촉하여 그것의 공개 키(PU-DRM)를 검색한다. 단계 414에서, API(306)는 (DES1)을 (PU-DRM)으로 암호화하여 (PU-DRM(DES1))을 생기게 한다. 그러므로, (CK(content))를 암호해독하기 위해 요구되는 바와 같이, DRM 서버(320)가 (CK)로의 억세스를 얻을 수 있는 유일한 엔티티가 될 수 있도록 하기 위해, (CK)는 (PU-DRM)에 대해 보호될 수 있다. 단계 416에서, API(306)는 저작권 데이터(즉, 권한부여된 엔티티의 리스트, 및 그 리스트 내의 각각의 권한부여된 엔티티와 연관된 각각의 저작권 및 조건)를 (DES1)로 암호화하여 (DES1(rightsdata))를 생기게 한다.
대안적인 실시예에서, (CK)는 (CK(rightsdata))를 생기게 하기 위해 저작권 데이터를 직접 암호화하는데 사용될 수 있고, (PU-DRM)은 (PU-DRM(CK))를 생기게 하기 위해 (CK)를 직접 암호화하는데 사용될 수 있으며, 이로 인해 (DES1)의 사용이 완전히 무시된다. 그러나, 저작권 데이터 및 (CK)를 암호화하기 위해 (DES1)을 사용하는 것은 (DES1)이 DRM 서버에 복종하게 될 수 있는 임의의 특정 알고리즘에 따를 수 있게 하는 반면에, (CK)는 DRM 서버로부터 독립된 엔티티에 의해 특정될 수 있으며, 거기에 복종하지 않을 수도 있다.
단계 418에서, 컨텐트 보호 어플리케이션(302)은 서명을 위한 저작권 레이블로서 (PU-DRM(DES1)) 및 (DES1(rightsdata))를 DRM 서버(320)에 제출할 수 있다. 대안으로, 클라이언트 자체는 후술되는 방식으로 저작권 데이터에 서명할 수 있다. 저작권 데이터가 서명을 위해 서버에 제출되어 있으면, 단계 420에서, DRM 서버(320)는 저작권 데이터를 억세스하고, 제출된 저작권 레이블 내의 저작권 및 조건을 시행할 수 있음을 검증한다. 저작권 데이터를 시행할 수 있음을 검증하기 위해, DRM 서버(320)는 (PR-DRM)에 대응하는 개인 키(PR-DRM)를 (PU-DRM(DES1))에 적용하여 (DES1)을 생기게 한 다음에, (DES1)을 (DES1(rightsdata))에 적용하여 빈곳에 저작권 데이터를 생기게 한다. 그 다음, 서버(320)는 저작권 데이터 내에 지정된 사용자, 저작권 및 조건이 서버(320)에 의해 시행된 소정의 정책 내에 있는 지를 검증하기 위해 소정의 정책 체크를 할 수 있다. 서버(320)는 (PU-DRM(DES1)) 및 (DES1(rightsdata))를 포함하는 원래 제출된 저작권 레이블에 서명하여, 서명된 저작권 레이블(SRL)(308)을 생기게 하고(여기에서, 서명은 DRM 서버(320)의 개인키(PR-DRM)에 기초한 것임), SRL(308)을 API(306)로 다시 복귀시키며, 그 다음 복귀된 SRL(308)을 클라이언트 어플리케이션(302)에 제공한다.
SRL(308)은 변경이 방지된 디지털식 서명 문서이다. 부수적으로, SRL(308)은 컨텐트를 암호화하는데 사용된 실제 키 형태 및 알고리즘에 관계없지만, 이것을 보호하고 있는 컨텐트에 대해 스트링 1-1 관계를 유지한다. 이제 도 4a를 참조하면, 본 발명의 한 실시예에서, SRL(308)은 그중에서도 특히; 컨텐트의 ID를 포함하는, SRL(308)의 기본인 컨텐트 상의 정보; (PU-DRM(DES1)), 및 DRM 서버를 네트워크 상에 위치시키기 위한 URL과 같은 참고 정보 및 URL 고장시의 대처 정보를 포함하는, SRL(308)에 서명하는 DRM 서버 상의 정보; SRL(308) 자체를 설명하는 정보; (DES1(rightsdata)):(DES1(CK)); 및 디지털 서명(S(PR-DRM))을 포함할 수 있다.
신뢰된 엔티티가 서명된 저작권 레이블(308)을 작성하기 위해 저작권 데이터 에 확실하게 서명하게 함으로써, DRM 서버(320)는 저작권 레이블(308)의 저작권 데이터 내에 설명된 바와 같이 발행자에 의해 발표된 기간에 따라 컨텐트의 라이센스를 발행할 것이라는 것을 표명하고 있다. 알 수 있는 바와 같이, 사용자는, 특히 라이센스가 컨텐트 키(CK)를 포함하기 때문에, 컨텐트를 렌더링하기 위해서 라이센스를 얻도록 요구된다. 사용자가 암호화된 컨텐트의 라이센스를 얻고 싶을 때, 사용자는 컨텐트용 SRL(308)을 포함하는 라이센스 요청, 및 사용자의 신임장(credentials)을 검증하는 증명서를 DRM 서버(320) 또는 다른 라이센스 발행 엔티티에게 제시할 수 있다. 그 다음, 라이센스 발행 엔티티는 (PU-DRM(DES1)) 및 (DES1(rightsdata))를 암호해독하여 저작권 데이터를 생성하고, (있다면) 라이센스 요청 엔티티에게 저자에 의해 승인된 모든 저작권을 리스트하며, 이들 특정된 저작권만으로 라이센스를 구성할 수 있다.
상술된 바와 같이, 어플리케이션(302)이 SRL(308)을 수신시에, 이러한 어플리케이션(302)은 서명된 저작권 레이블(308)을 대응하는 (CK(content))(304)와 연결시켜 저작권 관리된 디지털 컨텐트를 형성한다. 대안으로, 저작권 데이터는 암호화된 디지털 컨텐트가 제공된 알려진 위치에 대한 레퍼런스를 갖고 알려진 위치에 저장될 수 있다. 그러므로, DRM-인에이블되는 렌더링 어플리케이션은 렌더링 어플리케이션이 렌더링하기 위해 시도하고 있는 컨텐트의 일부를 통해 서명된 저작권 레이블(308)을 발견할 수 있다. 이 발견은 DRM 라이센싱 서버(320)에 대한 라이센스 요청을 시작하기 위해 렌더링 어플리케이션을 트리거한다. 예를 들어, 출판 어플리케이션(302)이 DRM 라이센싱 서버(320)에 대한 URL을 저장할 수 있거나, DRM 라이센싱 서버(320)가 디지털식 서명 이전에 저작권 레이블 내로 메타데이터(metadate)의 일부로서 자신의 URL을 간직할 수 있으므로, 렌더링 어플리케이션에 의해 호출된 DRM 클라이언트 API(306)는 올바른 DRM 라이센싱 서버(320)를 식별할 수 있다.
출판된 컨텐트용 라이센스 획득
이제 도 5를 참조하면, 저작권 관리된 디지털 컨텐트를 라이센싱하기 위한 시스템 및 방법이 도시된다. "라이센싱(licensing)"이라는 용어는 여기에서, 라이센스 내에 명명된 엔티티가 라이센스 내에 지정된 조건에 따라 컨텐트를 소비할 수 있게 할 수 있는 라이센스를 요청하여 수신하도록 어플리케이션 또는 서비스가 뒤따르는 프로세스를 칭하는 것이다. 라이센싱 프로세스로의 입력은 라이센스가 요청되고 있는 컨텐트와 연관된 서명된 저작권 레이블(SRL)(308), 및 라이센스가 요청되고 있는 엔티티(들)의 공개 키 증명서(들)을 포함할 수 있다. 라이센스를 요청하는 엔티티는 라이센스가 요청되고 있는 엔티티일 필요는 없다는 것에 주의해야 한다. 전형적으로, 라이센스는 SRL(308)로부터의 저작권 설명, 암호화된 컨텐트를 암호해독할 수 있는 암호화된 키, 및 합법적으로 주장하고 변경을 방지하기 위해 저작권 설명 및 암호화된 키를 통한 디지털 서명을 포함한다.
초기에, 클라이언트 API(306)는 저작권 관리된 컨텐트(310)의 서명된 저작권 레이블(308)을 통신 네트워크(330)를 통해 DRM 서버(320)로 전송한다. 상술된 바와 같이, 저작권 레이블(308)은 DRM 서버(320)(PU-DRM)의 공개 키(즉, (PU-DRM(CK)))에 따라 암호화된 컨텐트 키(CK)를 포함한다. 라이센스를 발행하는 프로 세스에서, DRM 서버(320)는 (PR-DRM)을 (PU-DRM(CK))에 적용하여 (CK)를 얻는다. 그 다음, 이것은 (CK)(즉, (PU-ENTITY(CK)))를 다시 암호화하기 위해 라이센스 요청 시에 간과된 공개키 인증서 내의 공개 키(PU-ENTITY)를 사용한다. 새로 암호화된 (PU-ENTITY(CK))는 라이센스 내로 배치된다. 그러므로, (PU-ENTITY)에 대응하는 개인 키(PR-ENTITY)의 홀더만이 (PU-ENTITY(CK))로부터 (CK)를 복구할 수 있기 때문에, 라이센스는 (CK)를 노출시킬 위험없이 호출자에게 복귀될 수 있다. 그 다음, 클라이언트 API(306)는 (CK)를 사용하여 암호화된 컨텐트를 암호해독해서, 해독된 디지털 컨텐트(312)를 형성한다. 그 다음, 클라이언트 어플리케이션(302)은 라이센스 내에 제공되는 저작권에 따라 암호해독된 디지털 컨텐트(312)를 사용할 수 있다.
대안으로, 상세하게 후술되는 바와 같이, 출판 클라이언트와 같은 클라이언트는 예를 들어, 컨텐트를 소비하기 위해 자신에게 사용 라이센스를 발행할 수 있다.
이제 도 6a 및 도 6b를 참조하면, 저작권 관리된 디지털 컨텐트를 라이센싱하기 위한 방법이 도시된다. 단계 602에서, 예를 들어 DRM 서버와 같은 라이센스 발행 엔티티는 공개 키 인증서, 또는 하나 이상의 요청된 라이센시(licensee) 각각의 신원을 포함하는 라이센스 요청을 수신한다. 생각컨대, 신원이 특정되면, DRM 서버(320)는 디렉토리, 데이터베이스 등으로부터 대응하는 공개 키 인증서를 획득할 수 있다. 라이센스가 하나의 라이센시만을 위해 요청되면, 하나의 인증서 또는 신원만이 명명된다. 라이센스가 다수의 라이센시를 위해 요청되면, 인증서 또는 신원은 각각의 잠재적 라이센시마다 명명될 수 있다. 단계 604에서, 원한다면, 요청 엔티티(즉, 라이센스 요청을 작성하는 엔티티)가 인증된다. 단계 606에서, 다시 원한다면, 엔티티가 라이센스 요청을 허가받았는지 판정된다.
단계 608에서, 공개 키 인증서가 라이센스 요청에 포함되지 않았다는 것을 발행 엔티티가 판정하면, 발행 엔티티는 적절한 공개 키 인증서에 대한 디렉토리 서비스 또는 데이터베이스 내에서의 조사를 실행하기 위해 지정된 신원을 사용한다. 단계 610에서, 인증서가 디렉토리 내에 있다는 것을 발행 엔티티가 판정하면, 단계 612에서 인증서가 검색된다. 인증서가 주어진 잠재적 라이센시에 대해 발견될 수 없으면, 요청 또는 디렉토리 내에서, 라이센스 서버는 그 잠재적 라이센시에 대한 라이센스를 생성하지 않고, 단계 614에서, 에러가 요청 엔티티로 반환된다.
DRM 서버(320)가 최소한 하나의 잠재적 라이센시에 대해 공개 키 인증서를 갖는다고 하면, 단계 616에서 이러한 DRM 서버(320)는 각각의 라이센시 인증서의 신용을 인정한다. 인정되지 않으면, DRM 서버(320)는 라이센시 인증서의 발행인이 신뢰된 발행인 리스트 내에 없다는 것을 판정하고, 그 라이센시에 대한 요청이 실패하고, 단계 614에서 에러가 발생된다. 그러므로, 신뢰된 발행인에 의해 인증서가 발행되지 않은 소정의 잠재적 라이센시는 라이센스를 수신할 수 없다.
또한, DRM 서버(320)는 양호하게, 신뢰된 발행인 인증서로부터 개인 라이센시 공개 키 인증서로 진행하는 인증서 체인 내의 모든 엔티티에 관해 디지털 서명 확인을 실행한다. 체인 내의 디지털 서명을 확인하는 프로세스는 잘 알려진 알고리즘이다. 주어진 잠재적 라이센시에 대한 공개 키 인증서가 확인되지 않거나 체 인 내의 인증서가 확인되지 않으면, 잠재적 라이센시는 신뢰받지 못하므로, 라이센스는 그 잠재적 라이센시에게 발행되지 않는다. 그렇지 않으면, 단계 618에서, 라이센스가 발행될 수 있다. 이 프로세스는 단계 620에서, 라이센스가 요청되어 있는 모든 엔티티가 프로세스될 때까지 반복된다.
도 6b에 도시된 바와 같이, DRM 서버(320)는 라이센스 요청 시에 수신되는 서명된 저작권 레이블(308)을 확인하기 위해 진행한다. 한 실시예에서, DRM 서버(320)는 그것에 의해 서명된 모든 저작권 레이블의 마스터 카피를 갖는다. 라이센스 시기에(단계 622에서), DRM 서버(320)는 마스터 저작권 레이블의 카피를 검색한다. 마스터 저작권 레이블은 라이센스 요청 시에 보내진 저작권 레이블의 카피보다 더욱 최신의 것일 수 있으므로, 요청된 라이센스를 생성하기 위해 사용된 저작권 레이블일 수 있다. 마스터 저작권 레이블이 발견되지 않으면, DRM 서버(320)는 단계 624에서, 선정된 정책에 따라, 요청 시의 저작권 레이블에 기초하여 라이센스를 발행할 것인지 판정한다. 정책이 허가하지 않으면, 단계 626에서 라이센스 요청은 실패하고, 단계 628에서 에러가 API(306)로 반환된다.
단계 630에서, DRM 서버(320)는 SRL(308), 구체적으로 그것의 디지털 서명을 확인한다. SRL(308)이 확인되지 않으면, 단계 626에서 라이센스 요청은 실패하고, 단계 628에서 에러가 API(306)에 반환된다.
모든 확인이 발생된 후에, DRM 서버는 SRL(308)에 기초하여 각각의 입증된 라이센스에 대한 라이센스를 구성한다. 단계 632에서, DRM 서버(320)는 각 라이센시에게 발행될 라이센스에 대한 각각의 저작권 설명을 생성한다. 각 라이센시마 다, DRM 서버(320)는 저작권 레이블 내의 저작권 설명 내에 명명된 신원들에 대해 그 라이센시의 공개 키 인증서 내에 명명된 신원을 검토한다. 단계 636에서, DRM 서버(320)는 SRL(308)로부터 (PU-DRM(DES1)) 및 (DES1(CK))를 획득하고, (PR-DRM)을 적용하여, (CK)를 얻는다. 그 다음, 발행 엔티티는 라이센시의 공개 키 인증서로부터 (PU-ENTITY)를 사용하여 (CK)를 다시 암호화해서, (PU-ENTITY(CK))를 생기게 한다. 단계 638에서, DRM 서버(320)는 생성된 저작권 설명을 (PU-ENTITY(CK))와 연결시켜, (PR-DRM)을 사용하는 최종 데이터 구조에 디지털 서명(즉, S(PR-DRM))한다. 그러므로, 이 서명된 데이터 구조는 이 특정 라이센시에 대한 라이센스이다.
단계 640에서, DRM 서버(320)는 특정 요청에 대해 생성하기 위한 라이센스가 더 없다는 것을 판정한다. 그 다음, 생성된 라이센스는 단계 642에서, 라이센스를 다시 신뢰되는 권한(authority)에 연결하는 적절한 인증서 체인과 함께, 요청 엔티티에 반환된다.
디렉토리를 통한 라이센싱
보호된 컨텐트에 대한 라이센스를 발행할 때, 라이센스 발행 엔티티(이후, "라이센서")는 컨텐트로부터 보내진 SRL(308)을 참고하여, 사용자/그룹/클러스터/디비전/플랫폼/등등(이후, '엔티티') 중의 어느 것에 저작권, 및 라이센스 요청자를 식별하기 위해 보내진 인증서가 제공될 지를 판정한다. 이것에 기초하여, 라이센서는 SRL(308) 내에 리스트된 것들 중의 어느 저작권이 요청자에게 발행될 지를 판정한다. 개념적으로, 라이센서는 SRL(308) 내에 리스트된 엔티티를 조사하고, 이 러한 엔티티를 요청자와 비교한다. 그러므로, 특정 그룹이 라이센스를 수신하기 위한 그룹이고, 요청자가 그러한 그룹의 구성원이라는 것을 SRL(308)이 지정하면, 요청자에게는 SRL(308) 내의 그 그룹에 대해 설명된 것과 같은 저작권이 있는 라이센스가 허가된다. 이와 마찬가지로, 특정 사용자가 라이센스를 수신하기 위한 사용자이고, 요청자가 그러한 사용자라는 것을 SRL(308)이 지정하면, 요청자에게는 SRL(308) 내의 그러한 사용자에 대해 설명된 것과 같은 저작권이 있는 라이센스가 허가된다. 알 수 있는 바와 같이, 특정 SRL(308)은 몇가지의 엔티티 및 그 저작권을 리스트할 수 있으며, 특정 요청자에게는 하나 이상의 엔티티의 구성원인 것에 기초하여 라이센스가 허가될 수 있다.
본 발명의 한 실시예에서, 도 7에서 알 수 있는 바와 같이, 요청자는 식별자(1204)를 통해 보내진 인증서(1202) 내에서 식별되는데, 식별자(1204)는 예를 들어, 요청자가 조직 디렉토리(1206) 내에서 식별되는 대체명(alias)일 수 있다. 이에 대응하여, SRL(308)은 이러한 식별자(1204)에 따라 각각의 권한-부여된 엔티티를 그 안에 리스트한다. 그러므로, 라이센스(1208)에 대한 요청 프로세싱의 일부로서, 전형적으로 DRM 서버(320)인 라이센서(1210)는 인증서(1202)로부터 요청자의 식별자(1204)를 얻어서, 얻어진 식별자(1204)를 보내진 SRL(308) 내에 리스트된 모든 식별자(1204)와 비교한다. 부합(match)이 발견되면, 라이센서(1210)는 그러한 요청자의 식별자(1204)에 대해 SRL(308) 내에 지정된 권한이 있는 요청자에게 라이센스(1208)를 발행한다.
게다가, 디렉토리(1206)가 각각의 다른 엔티티 내의 요청자의 맴버쉽(membership) 상태를 반영할 수 있는 적절한 상호-참조 정보를 포함한다고 하면, 디렉토리(1206)의 이용도(availability)로, 라이센서(1210)는 또한 요청자가 SRL(308) 내에 리스트된 소정의 다른 엔티티의 구성원인지를 판정할 수 있다. 전형적으로, 디렉토리(1206)는 각 요청자에 대해 그것의 식별자(1204)뿐만 아니라, 그 요청자가 구성원인 각각의 그룹/클러스터/디비전/플랫폼/다른 엔티티/등의 식별자(1208)를 리스트한다. 디렉토리(1206)는 메일 어드레스, 교체 메일 어드레스, ID, 교체 ID, 그룹 맴버쉽, 이력 식별자 등과 같은 식별자(1208)를 포함할 수 있다는 것에 주의해야 한다.
인증서(1202)가 식별자(1204)를 갖는 요청자로부터 수신되고, SRL(308)로부터의 저작권 데이터가 요청자로부터 수신되면, 일반적으로 말해서, 라이센서(1210)는 그중에서도 특히, 요청자가 SRL(308) 내에 리스트된 소정의 엔티티의 구성원이라는 것을 디렉토리(1206)로부터 판정할 수 있으면, 요청자에게 라이센스(1208)를 발행한다. 요청자가 구성원이고, 라이센싱하기 위한 다른 모든 조건이 만족된다고 하면, 라이센서(1210)는 SRL(308)로부터 얻어진 리스트된 엔티티에 대해 지정된 저작권 및 조건을 갖는 요청자에게 라이센스(1208)를 발행한다.
본 발명의 한 실시예에서, SRL(308) 내에 리스트된 엔티티는 하나의 그룹 또는 클러스터, 또는 그러한 그룹이 디렉토리(1206) 내에서 적절하게 표현되는 소정의 다른 개인들의 집합(이후 '그룹')을 나타낸다. 그러한 그룹은 배포 리스트 또는 메일 대체명과 같은 메일가능 그룹, 또는 네트워크 운영 체계 등과 관련하여 정의될 수 있는 것과 같은 보안 그룹을 포함할 수 있다.
특히, 한 그룹에 따른 SRL(308) 내의 저작권 지정, 및 그 그룹 맴버쉽에 따른 요청자에게의 라이센스(1208) 발행은 기업 또는 조직 세팅 시에 디지털 저작권 관리를 실행한다. 예를 들어, 문서 또는 이메일은 주어진 부서의 모든 구성원이 문서 또는 이메일을 읽을 권한을 갖도록 DRM-보호될 수 있다. 그러한 한 부서에 대한 그룹(예를 들어, 이메일 대체명)이 가장 흔한 경우인 조직의 디렉토리(1206) 내에 존재한다고 하면, 문서 또는 이메일의 저자는 개인보다는 그룹에 기초하여 저작권을 허가할 것이다. 알 수 있는 바와 같이, 그러한 그룹식 저작권 허가의 장점은 저자가 권리를 갖는 개인들의 클래스를 지정할 때 사용의 용이함을 포함한다. 또한, 그룹에 따라 저작권을 특정함으로써, 특정된 권리는 새로운 개인들이 그룹에 가입하고 기존의 개인들이 그룹을 떠날 때에 '실효(stale)'되지 않는다. 그 대신에, 그룹의 모든 현재 구성원은 그 그룹의 구성원이 조직 디렉토리(1206) 내에서 지금까지 유지되는 한, 권리를 행사할 수 있다.
요청자가 그룹의 구성원인 지의 판정
전형적으로, 디렉토리(1206)는 조직 또는 그 일부에게 중요한 유용한 정보의 저장소이다. 특히, 디렉토리(1206)는 사용자가 맴버쉽을 유지하는 모든 그룹을 포함하여, 조직 내의 각 사용자에 관한 정보의 몇가지 중요한 부분을 보유한다. 실제로, 사용자의 그러한 맴버쉽은 사용자에 따라 디렉토리(1206) 내에 리스트되어 있음으로써 최소한 부분적으로 정의될 수 있다.
조직이 필요에 따라 특별히 크거나 또는 그 반대인 상황에서, 내부의 컴퓨팅은 소정의 논리적 형식으로 다수의 디비전(division) 또는 '포리스트(forest)'로 분할 될 수 있다. 각각의 포리스트는 예를 들어, 조직이 Pennsylvania의 Wilkes-Barre에 한 사무실을 갖고 있고, Florida의 Boynton Beach에 다른 사무실을 갖고 있는 경우와 같이, 지리를 토대로 할 수 있으며, 어느 경우에나, 각 사무실에는 분리된 포리스트가 제공된다. 대안으로, 각각의 포리스트는 예를 들어, 조직이 회계 부서 및 생산 부서를 갖고 있는 경우와 같이, 기능을 토대로 할 수 있으며, 어느 경우에나, 각 부서에는 분리된 포리스트가 제공된다. 물론, 포리스트는 본 발명의 정신 및 범위를 벗어나지 않고서 소정의 다른 기준에 따라 정의될 수 있다.
중요하게, 각각의 포리스트가 자체 디렉토리(1206) 또는 디렉토리(1206)의 그룹(이후 '디렉토리')을 갖고 있고, 각각의 포리스트가 최소한 하나의 DRM 서버(320)를 갖고 있는 경우를 가정할 수 있다. 이제 도 8을 참조하면, 하나의 조직에 2개의 포리스트, 즉 포리스트 A 및 포리스트 B가 도시되는데, 포리스트 A는 디렉토리 A 및 DRM 서버 A를 갖고 있고, 포리스트 B는 디렉토리 B 및 DRM 서버 B를 갖고 있다. 이해될 수 있는 바와 같이 각각의 포리스트는, 대응하는 디렉토리 및 DRM 서버가 전개되는 보호 구역(protective enclave)으로서 작용한다. 그러므로, 포리스트 A 내의 DRM 서버 A는 최소한 보안 관점으로부터 비교적 용이하게 디렉토리 A 내의 정보를 억세스할 수 있어야 되고, 포리스트 B 내의 DRM 서버 B는 다시 최소한 보안 관점으로부터 비교적 용이하게 포리스트 A 내의 디렉토리 A 내의 정보를 긴밀히 억세스할 수 있다. 그러나, 포리스트들 사이에서 전형적으로 복제된 정보를 상호동작할 필요성을 갖는 다수의 포리스트는 그들 사이의 명백한 신뢰 관계를 설정할 수 있다는 것에 주목해야 한다.
포리스트 내의 그룹 맴버쉽 판정
조직 전체가 도 8의 포리스트 A에 의해 나타내어지고, 도 8의 포리스트 B가 존재하지 않을 때를 가정하면, 포리스트 A의 디렉토리 A는 모든 사용자, 및 사용자들이 속하는 모든 그룹을 포함하여 조직에 관련된 모든 디렉토리 정보를 보유한다는 것을 알 수 있다. 여기에서, 이러한 그룹은 실제로 여러 층의 그룹을 포함할 수 있다는 것에 유의해야 한다. 그러므로, 도 9에서 알 수 있는 바와 같이, 그룹1은 직접 구성원으로서 그룹2 및 그룹3을 갖고 있고, 그룹3은 직접 구성원으로서 사용자1을 갖고 있는 경우가 있을 수 있다. 이러한 경우에, 사용자1은 그룹3의 직접 구성원, 그룹1의 간접 구성원이고, 그룹2의 구성원이 아니다. 이때, 알 수 있는 바와 같이, SRL(308)이 그룹1 또는 3의 구성원에 대한 저작권을 리스트하면, 사용자1은 다른 모든 조건이 부합된다는 가정하에, 그러한 저작권에 기초하여 라이센스(1208)를 얻을 수 있는 반면, SRL(308)이 그룹2의 구성원에 대한 저작권만을 리스트하면, 사용자1은 라이센스(1208)를 얻을 수 없다. 더욱 일반적으로, SRL(308) 내에 명명된 그룹의 직접 또는 간접 구성원인 사용자는 그러한 그룹에 허가되는 모든 저작권 및 조건을 갖는 라이센스(1208)를 얻을 수 있다.
도 10에서 알 수 있는 바와 같이, 그룹1 내지 3 및 사용자1의 각각에 대한 디렉토리 A 내의 레코드 오브젝트/레코드가 도시된다. 전형적으로, 각 레코드는 엔티티가 하나의 그룹일 경우의 엔티티의 모든 직접 구성원, 및 엔티티가 사용자이든 또는 다른 그룹의 서브 그룹이든지 엔티티가 소유하는 모든 직접 맴버쉽을 포함하는 각각의 엔티티에 대한 리스팅의 형태로 되어 있다. 그러므로, 그룹1은 직접 구성원으로서 그룹2 및 3을 갖고, 소정의 다른 그룹의 직접 구성원은 아니며, 그룹2는 구성원을 갖지 않고, 그룹1의 직접 구성원이며, 그룹3은 직접 구성원으로서 사용자1을 갖고, 그룹1의 직접 구성원이며, 사용자1은 구성원을 갖지 않지만 그룹3의 직접 구성원이다. 물론, 도 9 및 도 10에 도시된 바와 같은 디렉토리 A는 매우 단순화된 것이므로, 실제로는 더 많은 사용자 및 그룹으로 훨씬 더 커질 수 있다. 그럼에도 불구하고, 도시된 이러한 디렉토리 A는 본 발명을 설명하기에 적절하다.
사용자1이 SRL(308)을 DRM 서버 A에 제출하는 동안에(제출된 SRL(308)은 하나 이상의 그룹 및 그것의 저작권을 리스트함), DRM 서버 A는 사용자1이 SRL(308) 내에 리스트된 소정 그룹의 직접 또는 간접 구성원인지 판정하기 위해 최소한 부분적으로 디렉토리 A를 참조함으로써 사용자1에게 라이센스(1208)를 발행할 것인지를 결정한다. 알 수 있는 바와 같이, 이러한 판정은 2가지 일반적인 방식 중 한가지 방식으로-리스트된 그룹으로부터 사용자에게로, 또는 사용자로부터 리스트된 그룹으로-실행될 수 있다.
그룹으로부터 사용자에게로의 판정의 실행은 더욱 수월한 프로세스이지만, 전형적으로 그룹은 많은 구성원을 갖기 때문에, 부합이 존재하는 지를 판정하기 위해 발견된 모든 사용자를 검토하는데 비교적 많은 시간이 소비되어야 할 것이다. 사용자로부터 그룹으로의 판정의 실행은 덜 수월한 프로세스이지만, 전형적으로 사용자는 지나치게 많은 그룹의 구성원이 아니기 때문에, 부합이 존재하는 지를 판정하기 위해 발견된 모든 사용자를 검토하는데 비교적 적은 시간이 소비될 것이다. 임의의 경우에, 사용자로부터 그룹으로의 판정 실행이 전체적으로 더욱 경제적이고 바람직하다는 것이 적어도 경험적으로 발견되었다.
도 9 및 도 10을 참조하고, 도 12를 더 참조하면, 사용자1이 그룹1의 구성원인지의 여부에 관해 그룹 맴버쉽 판정을 하기 위해, DRM 서버 A는 다음과 같이 진행한다. 처음에, DRM 서버 A는 그룹1이 존재하는 지를 디렉토리 A에게 질의한다(단계 1201). 알 수 있는 바와 같이, 이러한 질의에 대한 응답이 그룹1이 존재하지 않는다는 것을 나타내면, 프로세스는 사용자1이 존재하지 않는 그룹의 구성원이 될 수 없기 때문에 종료된다(단계 1203). 그러므로, 판정이 사용자로부터 그룹으로 실행된다는 사실에도 불구하고, 그룹이 존재하는 지를 문의하는 초기 단계는 불필요한 경우의 소정의 추가 단계를 실행하지 않도록 하기 위해 실행된다.*
물론, 도시된 바와 같이, 그룹1은 실제로 존재하므로, 응답은 사실상 예(yes)가 될 것이다. 그러므로, DRM 서버 A는 사용자1이 구성원인 모든 그룹을 디렉토리 A에게 요청하고, 디렉토리 A는 사용자1이 그룹3의 구성원이라는 정보를 반환한다(단계 1205, 1207). 물론, 그룹3은 그룹1이 아니므로, DRM 서버 A는 사용자1이 그룹1의 구성원인지 아직 판정하지 않았다(단계 1209). 그럼에도 불구하고, DRM 서버 A는 사용자1이 그룹3의 직접 구성원이고, 그룹3이 그룹1의 직접 또는 간접 구성원인 과정을 통해 그룹1의 간접 구성원이 되는 것이 나중에 발견될 수 있는 경우가 있기 때문에 계속되어야 한다.
그러므로, DRM 서버 A는 그룹3이 구성원인 모든 그룹을 디렉토리 A에게 계속 요청하고, 디렉토리 A는 그룹3이 그룹1의 구성원이라는 정보를 반환한다(단계 1211, 1213). 그 결과, DRM 서버 A는 사용자1이 실제로 그룹3의 구성원이라는 것을 통해 그룹1의 간접 구성원이라는 것을 판정했다(단계 1215).
이제 알 수 있는 바와 같이, DRM 서버 A는 사용자1이 실제로 그룹1의 구성원이라는 것을 최종적으로 판정하기 위해서, 더 많은 그룹 및 더 많은 반복을 통해 반복적인 질의를 해야 한다. 대안으로, 사용자1이 실제로 그룹1의 구성원이 아닌 경우가 있다면, DRM 서버 A는 사용자1이 그룹1의 구성원이 아니라는 것을 최종적으로 판정하기 전에 사용자1, 직접 및 간접의 모든 가능한 그룹 구성원의 전체를 통해 질의해야 할 것이다. 더욱 상세하게 후술되는 바와 같이, 이러한 질의는 비싼 비용이 들 수 있으며, 연속적인 체제로 실행될 수 있기 때문에, 이러한 탐색 결과는 하나 이상의 캐시 내에 저장될 수 있다.
포리스트를 가로질러 행하는 그룹 맴버쉽 판정
조직이 전개된 다수의 포리스트를 갖고 있고, 사용자 및 그룹 맴버쉽 정보가 포리스트 경계를 가로질러 이용될 필요가 있을 때, 특히 질의하는 DRM 서버(320)가 그 디렉토리 내의 요구된 정보를 본래 보유하고 있지 않은 포리스트 내에 있을 때, 특정 그룹에 관한 사용자의 그룹 맴버쉽을 판정하기 위한 간단한 방법은 없다. 그 대신에, DRM 서버(320)는 이러한 정보를 실제로 본래 보유하고 있는 다른 포리스트를 참고해야 한다.
특히, 도 8의 DRM 서버 A와 같은 DRM 서버(320)가, DRM 서버 A가 상주하는 포리스트 A 내에 본래 없는 그룹을 리스트하는 SRL(308)에 기초하여 사용자에게 라이센스를 발행할 것인 지를 요청받는 상황에 특별히 관심이 있다. 그 대신에, 이러한 그룹은 본래 포리스트 B에 있으므로, 포리스트 B의 디렉토리 B 내에 레코드를 갖고 있다. 그 결과, 발행시의 사용자가 발행시의 그룹 구성원인지에 관한 그룹 맴버쉽 판정은 디렉토리 B가 이러한 그룹에 대한 그룹 정보와 함께 발행시의 그룹에 대한 레코드를 갖고 있기 때문에 포리스트 B의 디렉토리 B에 관련하여 이루어져야 된다.
그러나, 중요하게, 포리스트 A의 DRM 서버 A는 전형적으로, 이러한 상호-포리스트 질의가 보안 관계상 일반적으로 제한되거나 방지되기 때문에 실질적인 디렉토리 정보를 얻기 위해 포리스트 B의 디렉토리 B를 직접 질의할 수 없다. 그 대신에, 본 발명의 한 실시예에서, DRM 서버 A는 포리스트 B의 DRM 서버 B에게 포리스트 B의 디렉토리 B에 질의하여 질의 결과를 DRM 서버 A에게 다시 보고해달라는 요청을 한다. 디렉토리 B에 대한 DRM 서버 B의 질의는 상호-포리스트 질의가 아니므로, 제한을 받지 않는다는 것에 유의해야 한다.
그러나, DRM 서버 B에게 질의를 실행하라고 요청하기 이전에 DRM 서버 A는 발행 시의 그룹이 본래 포리스트 B에 속하기 때문에 DRM 서버 B가 실제로 질의를 실행하기에 적절한 DRM 서버(320)라는 것을 실제로 알아야 한다는 것을 이해해야 한다. 더욱 간단하게, DRM 서버 A는 DRM 서버 B에게 디렉토리 B에 질의하라는 요청을 하기 이전에 발행 시의 그룹이 본래 포리스트 B에 속한다는 것을 알아야 한다. 그러나, DRM 서버 A는 디렉토리 A 만을 질의할 수 있으므로, 디렉토리 A가 이러한 정보를 갖지 않으면 발행시 그룹이 본래 포리스트에 속하는 지를 알지 못한다.
따라서, 본 발명의 한 실시예에서, 디렉토리 A는, 도 8에서 알 수 있는 바와 같이, 이러한 정보를 실제로 갖는다. 특히, 디렉토리 A는 발행시 그룹에 관한 소정의 질의 엔티티를 포리스트 B로 향하게 하는 발행시 그룹에 대한 포인터 오브젝트를 갖는다. 이러한 포인터 오브젝트는 예를 들어 질의 DRM 서버 A가 발행시 그룹에 관한 정보를 요청 시에 질의 DRM 서버 A에 반환되는 포리스트 B의 어드레스를 포함할 수 있다. 추측상, 포리스트 B의 디렉토리 B는 발행시 그룹에 대한 레코드 오브젝트를 갖는다. 그러므로, DRM 서버 A는 이러한 어드레스를 사용하여 포리스트 B를 찾아서 그곳으로 진행할 수 있다.
본 발명의 한 실시예에서, 포리스트 B의 어드레스는 특히 포리스트 B 내의 디렉토리 B의 어드레스이다. 그 다음, 이러한 어드레스를 갖는 DRM 서버 A는 이것에 기초하여 디렉토리 B를 접촉한다. 그러나, DRM 서버 A가 포리스트 A 내에 있고, 디렉토리 B가 포리스트 B 내에 있기 때문에, 위에서 언급된 바와 같이, 디렉토리 B는 통상적으로, 포리스트를 가로질러 DRM 서버 A로 어떠한 실질적인 정보도 제공하지 못한다. 그럼에도 불구하고, 디렉토리 B는 DRM 서버 A에게 DRM 서버 B의 어드레스를 제공할 수 있다.
따라서, 본 발명의 한 실시예에서, DRM 서버 A는 디렉토리 B로부터 DRM 서버 B의 어드레스를 수신하고, 이것에 기초하여 DRM 서버 B에게 DRM 서버 A를 위해 디렉토리 B에 질의하라는 요청을 한다. 특히, DRM 서버 A는 발행시 사용자가 발행시 그룹의 구성원인지 아닌지 디렉토리 B에 질의하여 그 응답을 DRM 서버 A에 보내달라고 DRM 서버 B에게 요청한다. 추측컨대, 이러한 요청은, 예를 들어 DRM 서버 B에 의해 인식될 때 신뢰되는 권한의 루트(root)로 다시 이르게 하는 인증서 체인을 갖는 식별 인증서와 같이, DRM 유니버스 내의 DRM 서버(320)와 같은 DRM 서버 A의 몇가지 종류의 식별을 포함한다. 따라서, DRM 서버 B는 식별 인증서가 검증하는 경우에만 DRM 서버 A를 위해 디렉토리 B의 질의를 실행한다.
DRM 서버 B가 도 12와 관련하여 상술된 방식으로 DRM 서버 A를 위해 디렉토리 B의 질의를 실제로 실행한다고 하면, DRM 서버 B는 결국 발행시 사용자가 발행시 그룹의 구성원지를 판정하여, 이러한 정보를 요청에 대한 응답으로서 DRM 서버 A에게 돌려보낸다.
DRM 서버 B가 발행시 사용자가 발행시 그룹의 구성원인지 디렉토리 B에게 문의할 때, 이러한 발행시 사용자는 레코드 오브젝트에 의해서는 아니더라도 최소한 포인터 오브젝트에 의해서 디렉토리 B 내에 나타날 것이라는 점에 주의해야 한다. 게다가, 이러한 포인터 오브젝트는, 상술된 바와 같이, 그룹 맴버쉽 정보가 사용자로부터 그룹으로 판정될 때 특히 이러한 구성원 정보가 참조되기 때문에 발행시 사용자가 구성원인 각 그룹에 관한 정보를 포함해야 한다.
이제 도 13을 참조하면, 재생을 위해, DRM 서버 A 및 DRM 서버 B는 DRM 서버 A를 위해 다음 단계들을 실행하여, 포리스트를 가로질러 그룹 맴버쉽을 판정한다:
초기에, DRM 서버 A는 사용자로부터 컨텐트의 일부분에 대응하는 사용 라이센스(1208)의 요청을 수신한다(단계 1301). 요청은 컨테트와 연관된 SRL(308) 및 사용자를 식별하는 인증서를 포함한다. 응답시에, SRL(308)은 그들 내의 그룹을 식별한다고 가정하고, 적절한 캐시된 정보가 존재하지 않는다고 가정하면, DRM 서버 A는 식별된 그룹에 대한 소정의 오브젝트를 반환하기 위해 디렉토리 A에 질의한다(단계 1303). 본 시나리오는, 그룹이 본래 포리스트 B에 속하므로, 이러한 그룹이 포리스트 B를 가리키는 포인터 오브젝트로서 실제로 디렉토리 A 내에서 표시되고, DRM 서버 A가 디렉토리 A로부터 포리스트 B를 가리키는 포인터 오브젝트를 수신한다고 함으로써, 그룹이 본래 포리스트 B에 속한다는 것을 나타내고(단계 1304), 포리스트 B의 어드레스를 수신된 포인터 오브젝트로부터 검색한다(단계 1305).
그후, DRM 서버 A는 검색된 어드레스를 사용하여, DRM 서버 B의 어드레스에 대한 포리스트 B 내의 디렉토리 B에 질의하고, 디렉토리 B는 이러한 어드레스를 응답시에 DRM 서버 A에 돌려보낸다(단계 1307, 1309). DRM 서버 B의 어드레스를 얻는 특정 메카니즘은 공지되어 있거나 관련 분야에서 명백하므로, 여기에서는 더이상 상세하게 설명할 필요가 없다. 그러므로, 소정의 적절한 메카니즘은 본 발명의 정신 및 범위를 벗어나지 않고서 사용될 수 있다.
DRM 서버 B의 어드레스를 가지고, DRM 서버 A는 DRM 서버 B에게 사용자가 그룹의 구성원인지 아닌지 디렉토리 B에 질의하라고 요청한다(단계 1311). 게다가, 요청을 DRM 서버 B에게 전달하기 위해 DRM 서버 A에 의해 사용된 특정 메카니즘은 공지되어 있거나 관련 분야에 명백하므로, 여기에서 더이상 상세하게 설명할 필요가 없다. 그러므로, 소정의 적절한 메카니즘은 본 발명의 정신 및 범위를 벗어나지 않고서 사용될 수 있다.
DRM 서버 A에 대해서, 다시, 적절한 캐시된 정보가 존재하지 않는다고 하면, DRM 서버 B는 식별된 그룹에 대한 소정의 오브젝트를 반환하기 위해 디렉토리 B에 질의한다(단계 1313). 본 시나리오는, 그룹이 본래 포리스트 B에 속하므로, 이러한 그룹이 레코드 오브젝트로서 실제로 디렉토리 B 내에서 표시되고, DRM 서버 B가 디렉토리 B로부터 레코드 오브젝트를 수신한다고 함으로써, 그룹이 본래 포리스트 B에 속한다는 것을 나타낸다(단계 1315). DRM 서버 B는 이때, 수신된 오브젝트 내에 설명된 그룹의 구성원을 검토하여, 사용자가 그룹의 직접 구성원이지 판정할 수 있다(단계 1317). 사용자가 직접 구성원이면, 판정은 예이고, DRM 서버 B는 이것을 DRM 서버 A에게 보고한다(단계 1319). 그렇지 않으면, DRM 서버 B는 사용자에 대한 소정의 오브젝트를 반환하기 위해 디렉토리 B에 질의하므로, 도 12와 관련하여 도시된 것과 유사한 방식으로 사용자로부터 그룹으로 디렉토리 B 내를 트래버스(traverse)하려고 시도함으로써 사용자가 그룹의 구성원인지를 판정해 간다(단계 1323). 시도된 트래버스의 종료 시에, DRM 서버 B는 사용자와 그룹 사이에 구성원 관계가 존재하는 지를 판정하여, 이것을 DRM 서버 A에 보고할 수 있다(단계 1325).
물론, 이러한 판정에 기초하여, DRM 서버 A는 단계 1301에서 수신된 사용자로부터의 요청을 받아들일 것인 지를 결정한다(단계 1327). 알 수 있는 바와 같이, 사용자가 그룹의 구성원이 아니면, 물론 사용자가 수신된 SRL(308) 내에서 식별된 다른 그룹의 구성원이라는 것이 발견되지 않는 한, 요청은 거부된다. 마찬가지로, 사용자가 그룹의 구성원이면, 요청은 받아들여지고, 이렇게 받아들이기 위한 다른 모든 조건이 부합된 것으로 간주한다.
캐시된 정보를 통한 사용자 그룹 맴버쉽 판정
상술된 바와 같이, SRL(308)에 기초하여 라이센스(1208)를 사용자에게 발행하는 동안의 DRM 서버(320)는 DRM 서버(320)의 포리스트 또는 다른 포리스트 내의 디렉토리(1206)를 참조함으로써 사용자가 SRL(308) 내에서 식별된 그룹의 구성원인지 판정할 수 있다. 그러나, 알 수 있는 바와 같이, 판정이 행해질 때마다 디렉토리(1206)를 참조하는 것은, 특히 추가적인 네트워크 트래픽, 및 디렉토리(1206)에 의해 실행되어야 하는 작업의 관점에서, 그리고 특히 행해진 판정의 수가 비교적 커진 경우에, 비교적 비용이 비싸지고 부담이 될 수 있다.
따라서, 본 발명의 한 실시예에서, 하나 이상의 디렉토리(1206)로부터 구한 사용자 그룹 정보는 DRM 서버(320)에 억세스가능한 하나 이상의 위치에 캐시된다. 또한, 본 발명의 한 실시예에서, 사용자 그룹 판정을 행할 때의 DRM 서버(320)는 디렉토리(1206)를 참조하기 이전에 최저 비용에서 최고 비용의 순서로 다수의 캐시 위치를 검토하기 위해 최저 비용의 제1 알고리즘을 사용한다. 그러므로, 보다 비싼 동작은 가능한 한 지연되고, 판정 속도는 증가되며, 네트워크 트래픽은 감소된다.
사용자 그룹 정보 캐싱
도 12와 관련하여 설명된 바와 같이, 사용자가 그룹의 구성원인지를 디렉토리(1206)로부터 판정하는 동안에, DRM 서버(320)는 사용자가 직접 또는 간접 구성원인 최소한 몇개의 다른 그룹을 잠재적으로 위치시킨다. 일단 맴버쉽 경로가 실제로 발견되기만 하면 트래버스가 중지되기 때문에, 아마도 사용자의 그룹이 모두 발견되지는 않을 것이라는 것을 알기 바란다. 예를 들어, 발행시 그룹에 대한 레코드 오브젝트를 조사할 때, 사용자가 그룹의 직접 구성원이라는 것이 발견되면, 사용자가 직접 또는 간접 구성원인 다른 그룹은 더 이상 발견되지 않는다. 마찬가지로, 사용자와 그룹 간의 맴버쉽 경로를 찾고자 시도할 때 사용자로부터 그룹으로 트래버스할 필요가 있으면, 최소한 사용자가 직접 구성원인 그룹이 발견되지만, 맴버쉽 경로가 그전에 발견되었기 때문에 몇개의 간접 그룹은 발견되지 않을 수 있다. 그럼에도 불구하고, 본 발명의 한 실시예에서, DRM 서버(320)는 사용자 및 그것의 모든 직접 또는 간접 그룹 구성원에 관해 갖고 있는 모든 지식을 장래 필요시에 참조하기 위해 하나 이상의 캐시 내에 저장한다.
이제 도 14를 참조하면, 캐시(1404)의 다수의 엔트리(1402)가 보인다. 특히, 사용자3의 경우, 이러한 사용자3이 그룹4, 6 및 7의 직접 또는 간접 구성원이고, 그룹4가 그룹6 및 7의 구성원이라는 것이 발견된다는 것을 캐시(1404) 내의 한 엔트리(1402)로부터 알 수 있다. 이와 유사하게, 사용자4의 경우, 이러한 사용자4가 그룹8만의 구성원이라는 것이 발견된다는 것을 캐시(1404) 내의 다른 엔트리(1402)로부터 알 수 있다. 이러한 사용자3 및 4, 및 그룹4가 이러한 그룹의 직접 또는 간접 구성원인지의 여부는, 이러한 정보가 필요하거나 유용한 것으로 발견된 경우에는 설명될 수 있을지라도, 중요하지 않게 여겨지고 따라서 설명되지 않는다. 중요한 것은 어떤 특정 사용자-그룹 관계가 동일하거나 상이한 사용자/그룹에 대한 사용자-그룹 관계를 설정하기 위해 나중에 언젠가 유용하게 될 수 있기 때문에 사용자/그룹에 대한 모든 그룹 맴버쉽이 캐시된다는 것이다.
알 수 있는 바와 같이, 디렉토리(1206)로부터 얻어진 캐시(1404) 내의 정보는 일정 기간 후에 '실효'될 수 있다. 즉, 시간이 지나면, 사용자는 디렉토리(1206)로부터 삭제될 수 있고, 추가 그룹 및 그룹 맴버쉽이 정해질 수 있지만, 캐시(1404)는 이러한 변경된 정보를 반영하기 위해 자동으로 갱신되지 않는다. 따라서, 도 14로부터 알 수 있는 바와 같이, 캐시(1404)의 각 엔트리(1402)는 작성 시간을 포함한다. 이러한 작성 시간에 기초하여, 캐시(1404)에 질의하는 소정의 질의 엔티티는 엔트리(1402)가 너무 오래되어 신뢰할 수 없는 지의 여부를 결정할 수 있다. 또한, 또는 대안으로, 캐시(1404)는 작성 시간에 기초하여 너무 오래된 것으로 간주되는 각각의 엔트리(1402)를 자신이 삭제할 수 있다.
이제 도 15 및 도 16을 참조하면, 도 14의 캐시(1404)가 여러가지 구성으로 실현될 수 있다는 것을 알 수 있다. 한 구성에서, 한 포리스트 내의 각각의 라이센스-발행 DRM 서버(320)는 비교적 기본적인 경량의 메모리내 캐시인 캐시(1404)를 갖고, 포리스트는 또한 비교적 확장된 중량의 메모리내 캐시인 캐시(1404)를 갖는 전용 캐시 서버(1502)(도 15)를 갖는다. 또한, 전용 캐시 서버(1502)는 데이터베이스 캐시(1404)를 사용할 수 있으며, 또는 라이센스-발행 DRM 서버(320)를 위해 디렉토리(1206) 상에서 질의를 실행할 수 있다.
다른 구성에서, 포리스트 내의 각각의 라이센스-발행 DRM 서버(320)는 비교적 확장된 중량의 메모리내 캐시인 캐시(1404)(도 16)를 갖고 있고, 디렉토리(1206) 상에서 질의를 실행한다. 데이터베이스 캐시(1404)가 포리스트 내의 모든 라이센스-발행 DRM 서버(320)들 사이에서 공유될 수 있지만, 전용 캐시 서버(1502)는 존재하지 않는다. 임의의 구성에서, 각각의 기본적인 캐시(1404)는 사용자 정보만을 갖지만, 각각의 확장된 캐시(1404)는 사용자 및 그룹 정보를 갖는다.
최저 비용의 제1 알고리즘
캐시(1404)의 구성에 상관없이, 사용자가 그룹의 구성원인지 판정하려고 하는 DRM 서버(320)는 최저 비용에서 최고 비용의 순서로 캐시(1404) 및 디렉토리(1206)를 검색하기 위해 본 발명의 최저 비용의 제1 알고리즘을 사용한다. 추측컨대, DRM 서버(320)와 연관된 캐시(1404)는 그것과 연관된 최저 비용을 갖고, 전용 캐시 서버(1502)와 연관된 캐시(1404), 및 데이터베이스 캐시(1404)는 그것과 연관된 더 높은 비용을 갖고, 디렉토리(1206)는 그것과 연관된 최고 비용을 갖는다. 물론, 비용은 주관적일 수 있으며, 소정의 비율로 특정 엔티티는 본 발명의 정신 및 범위를 벗어나지 않고서 소정의 특정 비용을 가질 수 있다.
이제 도 17a 및 도 17b를 참조하면, 알고리즘의 주요 특징은 더 낮은 비용을 갖는 것으로 생각되는 모든 동작이 소모되기 전에는 더 높은 비용을 갖는 것으로 생각되는 동작이 시도되지 않는 것이라는 것을 알 수 있다. 일반적으로, 비용이 증가하는 순서의 동작은 라이센싱 DRM 서버(320)의 메모리내 캐시(1404)에서 조사되고, 데이터베이스 캐시(1404) 또는 전용 캐시 서버(1502)의 캐시(1404)에서 조사되며, AD에서 조사된다. 알고리즘의 실행시에, 사용자 및 하나 이상의 타겟 그룹이 제출되고, 사용자가 소정의 타겟 그룹의 직접 또는 간접 구성원인지에 관해 판정이 행해진다. 기본적으로, 알고리즘은 캐시(1404) 및 디렉토리(1206)로부터 이용가능한 모든 맴버쉽 정보를 통해 사용자로부터 소정의 타겟 그룹으로 트래버스하여, 항상 더 높은 비용의 동작을 실행하기 전에 더 낮은 비용의 동작을 실행한다. 알고리즘은 사용자가 타겟 그룹 중의 한 그룹의 구성원이면 "예"를, 사용자가 소정의 타겟 그룹의 구성원이 아니면 "아니오"를, 사용자가 디렉토리(1206) 내에 없으면 "사용자 발견되지 않음"을, 디렉토리(1206) 내에서 발견된 타겟 그룹이 없으면 "발견된 타겟 그룹 없음"을 결과로서 보낸다.
도 17a에서 알 수 있는 바와 같이, 프로세스는 발행시의 사용자 및 타겟 그룹 또는 그룹들을 정의함으로써 시작된다(단계 1701). 지금 DRM 서버(320)가 로컬 캐시(1404)를 갖고 있고 원격 캐시(1404)(전용 캐시 서버(1502) 또는 데이터베이스 캐시(1404)일 수 있음) 및 디렉토리(1206)로 억세스한다고 하면, 라이센스-발행 DRM 서버(320)에 의해 사용된 알고리즘은 다음을 포함하는 다수의 빈(bin) 및 큐(queue)를 사용한다:
·타겟 그룹 또는 그룹들이 상주하는 타겟 빈(T);
·유효화된 타겟 그룹 또는 그룹들이 상주할 수 있는 유효화된 타겟 빈(V);
·검색되기를 기다리는 그룹들이 상주할 수 있는 검색 빈(S);
·로컬 캐시(1404) 내에서 검색될 그룹들이 상주할 수 있는 로컬 큐(Q1);
·로컬 캐시(1404) 내에서 검색될 그룹들이 상주할 수 있는 로컬 큐(Q2);
·디렉토리(1206) 내에서 검색될 그룹들이 상주할 수 있는 디렉토리 큐(Q3);
·이미 프로세스된 그룹들이 상주할 수 있는 폐기 빈(D).
그러므로, 알고리즘은 타겟 빈 내의 각 타겟 그룹마다, 타겟 그룹에 대한 레코드 또는 엔트리(1402)를 찾도록 검색하여 타겟 그룹 또는 그룹들의 유효성을 검사(verity)함으로써 진행된다. 기본적으로 동일한 프로세스가 각각의 저장 장치(로컬 캐시(1404)에 대응하는 S1; 원격 캐시(1404)에 대응하는 S2; 및 디렉토리(1206)에 대응하는 S3)에 관련하여 실행되기 때문에, 이러한 프로세스는 단지 일반적인 저장 장치 Sx에 관련하여 설명될 필요가 있을 뿐이다.
특히, 알고리즘은 먼저 S1, 즉 로컬 캐시(1404)를 관찰하고, 타겟 빈(T) 내의 각 타겟 그룹에 대해, 이러한 타겟 그룹이 로컬 캐시(1404) 내의 엔트리(1402)로서 발견되면, 타겟 그룹은 (T)로부터 제거되고, 타겟 그룹은 유효화된 타겟 빈(V) 내에 배치되며, 그것의 엔트리(1402)는 이 경우에 존재하지 않는 소정의 하위 레벨 캐시(1404) 내에 배치된다(단계 1703). 그후, 알고리즘은 S2, 즉 원격 캐시(1404)에 대해 단계 1703을 반복하고, (T) 내에 남아있는 각 타겟 그룹에 대해, 이러한 타겟 그룹이 원격 캐시(1404) 내의 엔트리(1402)로서 발견되면, 타겟 그룹은 (T)로부터 제거되고, 타겟 그룹은 (V) 내에 배치되며, 그것의 엔트리(1402)는 이 경우에 로컬 캐시(1404)인 소정의 하위 레벨 캐시(1404) 내에 배치된다. 마지막으로, 알고리즘은 S3, 즉 디렉토리(1206)에 대해 단계 1703을 반복하고, 아직 (T) 내에 남아있는 각 타겟 그룹에 대해, 이러한 타겟 그룹이 디렉토리(1206) 내의 레코드로서 발견되면, 타겟 그룹은 (T)로부터 제거되고, 타겟 그룹은 (V) 내에 배치되며, 그것의 엔트리(1402)는 이 경우에 로컬 및 원격 캐시(1404)인 소정의 하위 레벨 캐시(1404) 내에 배치된다.
각 저장 장치에 대해 단계 1703을 실행할 때, 유효화된 타겟 빈(V)은 캐시(1404) 또는 디렉토리(1206) 내에 존재하기 위해 발견된 모든 타겟 그룹을 포함해야 한다. 이때 타겟 빈 내에 남아있는 모든 타겟 그룹은 불량으로 또는 더 이상 존재하지 않는 것으로 간주될 수 있으므로, 무시될 수 있다. (V)가 비어있는 경우라면, 알고리즘은 유효화된 타겟 그룹이 더 이상 존재하지 않으므로 종료되고, 알고리즘은 "발견된 타겟 그룹이 없음"을 보낸다(단계 1705). 주목되는 바와 같이, 레코드 또는 엔트리(1402)를 디렉토리(1206) 또는 원격 캐시(1404)로부터 모든 하위 레벨 캐시(1404)로 카피함으로써, 이러한 하위 레벨 캐시(1404)는 사용자가 그룹이 구성원인지에 관한 장래의 판정시에 사용될 수 있는 캐시 정보로 채워진다.
그후, (V) 내에 최소한 하나의 유효화된 타겟 그룹이 존재한다고 하면, 알고리즘은 사용자의 유효성을 검사한다. 특히, 알고리즘은 먼저 S1인 로컬 캐시(1404)를, 그 다음에 S2인 원격 캐시(1404)를, 그 다음에 S3인 디렉토리를 관찰함으로써, 발행시의 사용자를 위한 레코드 또는 엔트리(1402)를 검색한다. 단계 1709의 소정의 반복 시에 사용자를 위한 레코드 또는 엔트리(1402)(이후, '아이템')를 발견하면, 알고리즘은 사용자가 구성원인 각 그룹을 검색 빈(S) 내에 배치하고(단계 1711), 또한 사용자를 위한 엔트리(1402)가 모든 하위 레벨 캐시(1404)에 상주하게 한다(단계 1713). 단계 1709의 소정의 반복으로부터 발견된 사용자용 아이템이 없으면, 알고리즘은 유효화된 사용자가 더 이상 존재하지 않으므로 종료되고, 알고리즘은 "사용자가 발견되지 않음"을 보낸다(단계 1715).
알 수 있는 바와 같이, 단계 1709는 최저 비용의 동작에서 최고 비용의 동작으로 대응하여 인식된 순서로, 이 경우에 S1, S2, S3의 순서로 반복된다. 따라서, 사용자가 일단 유효화되면, 더 높은 비용의 동작이 방지된다. 사용자는 본 발명의 정신 및 범위를 벗어나지 않고서 타겟 그룹 또는 그룹들 이전에 유효화될 수 있다는 것을 알기 바란다.
(S) 내에 있는 그룹으로 표시되는 최소한 한 그룹의 구성원인 유효화된 사용자가 발견되고, (V) 내의 대응하는 아이템에 의해 표시되는 최소한 하나의 유효화된 타겟 그룹이 발견된다고 하면, 이제 도 17b를 참조하면, 알고리즘은 (S) 내의 그룹이 (V) 내의 소정의 그룹(즉, 유효화된 타겟 그룹 또는 그룹들)에 부합되는 지를 (S) 및 (V)로부터 계속 판정한다(단계 1723). 실제로 (S) 내의 그룹이 (V) 내의 아이템에 부합되는 것으로 발견되면, 알고리즘은 부합으로 종료되고, 알고리즘은 "예"를 보낸다(단계 1725). 그렇지 않으면, 알고리즘은 (S) 내의 모든 그룹을 로컬 큐(Q1)로 계속 이동시킨다(단계 1727).
그후, 알고리즘은 사용자로부터 소정의 타겟 그룹으로의 맴버쉽 경로를 검색하기 위해 반복적인 프로세스를 실행한다. 반복적인 프로세스는 그룹 맴버쉽을 판정하기 위해 로컬 및 원격 캐시(1404) 및 디렉토리(1206) 내에서 여러번의 검색을 필요로 한다. 기본적으로 동일한 프로세스가 각각의 큐(로컬 캐시(1404)에 대응하는 Q1; 원격 캐시(1404)에 대응하는 Q2; 및 디렉토리(1206)에 대응하는 Q3)에 관련하여 실행되기 때문에, 이러한 프로세스는 단지, 도 17b에 도시된 바와 같이 일반적인 (Qx) 및 일반적인 저장장치 Sx에 관련하여 설명될 필요가 있으며, 여기에서 S1은 로컬 캐시(1404)이고; S2는 원격 캐시(1404)이며; S3은 디렉토리(1206)이다.
특히, 지금 도 17b의 (Qx) 및 Sx가 (Q1) 및 (S1)인 로컬 캐시(1404)라고 하면, 먼저 (Q1)이 비어있는 지에 관해 판정이 행해진다(단계 1729). 물론, (Q1)은 처음에 비어있지 않았을 테지만, 프로세스가 반복되기 때문에, (Q1)이 실제로 비어있는 시점이 올 수 있다. (Q1)이 처음에 비어있지 않고, 그 대신에 그룹을 갖고 있다고 하면, 이러한 그룹은 선택되어 (Q1)로부터 제거되고, 이러한 그룹이 이미 폐기 빈(D) 내에 있는 지를 판정한다(단계 1731). 물론, 초기에, 선택되어 (Q1)에서 제거된 그룹은 이미 프로세스되었기 때문에 (D) 내에 없지만, 프로세스가 반복됨에 따라, 아마 이전에 프로세스된 그룹을 포함하는 다른 그룹이 (Q1) 내에 배치될 수 있고, 각 그룹이 프로세스됨에 따라, 그룹은 실제로 (D) 내로 이동될 수 있다.
선택되어 (Q1)에서 제거된 그룹이 이미 프로세스되고 (D) 내에 있으면, 알고리즘은 단계 1729로 돌아가서, (Q1)이 비어있는지 다시 판정한다. 그러나, 선택되어 (Q1)에서 제거된 그룹이 아직 프로세스되지 않고 (D) 내에 없으면, 알고리즘은 이 경우에 로컬 캐시(1404)인 (Q1)에 대응하는 캐시(1404) 또는 디렉토리(1206) 내의 선택된 그룹에 대한 엔트리(1402)를 계속 검색한다(단계 1733).
선택된 그룹에 대한 엔트리(1402)가 로컬 캐시(1404)에서 발견되지 않으면, 프로세스는 계속하여 (Q1)로부터의 그룹을 원격 큐(Q2)로 이동시킨 다음(단계 1735), 단계 1729로 다시 돌아가서 (Q1)이 비어있는지 다시 판정한다. 그러나, 선택된 그룹에 대한 엔트리(1402)가 로컬 캐시(1404)에서 발견되면, 알고리즘은 선택된 그룹이 구성원인 각각의 새로 발견된 그룹을 검색 빈(S) 내로 배치하고, 선택된 그룹을 폐기 빈(D) 내로 이동시키며(단계 1739), 또한 선택된 그룹에 대응하는 엔트리(1402)가 모든 하위 레벨 캐시(1404)에 상주하게 한다(단계 1737). 물론, (Q1) 및 로컬 캐시(1404)에 관련하여, 이러한 하위 레벨 캐시(1404)는 존재하지 않는다는 것을 알기 바란다. 그후, 알고리즘은 계속하여 단계 1723으로 돌아가서, (S) 내의 소정 그룹(즉, 새로 발견된 그룹(s))이 (V) 내의 소정 그룹(즉, 유효화된 타겟 그룹 또는 그룹들)에 부합되는지 판정한다. 물론, 실제로 (S) 내의 그룹이 (V) 내의 아이템에 부합되는 것으로 발견되면, 알고리즘은 부합으로 종료되고, 알고리즘은 단계 1725에서 "예"를 보낸다. 그렇지 않으면, 알고리즘은 계속하여 단계 1727에서 S 내의 모든 그룹을 로컬 큐(Q1)로 이동시키고, 알고리즘은 계속된다.
그러한 실행 시에, (Q1)을 통한 알고리즘은 로컬 캐시(1404)로 할 수 있는 정도까지 사용자로부터 소정의 유효화된 타겟 그룹으로의 모든 가능한 경로를 개발한다. 이제 이해할 수 있는 바와 같이, 부합이 발견되지 않는다고 하면, (Q1)은 프로세스가 반복됨에 따라 더욱 새롭게 발견된 그룹으로 채워지고, (Q1) 내의 모든 그룹이 원격 캐시(1404)를 통해 프로세스될 폐기 빈(D) 또는 (Q2)로 로컬 캐시(1404)를 통해 프로세스될 때까지 비워진다. 그러므로, 더욱 비용이 들 것으로 추정되는 원격 캐시(1404)에서의 동작은 단계 1729에서 (Q1)이 비워지기 위해 발견될 때 발생하는 것과 같은 로컬 캐시(1404)에서의 모든 가능한 동작이 소모될 때까지 발생하지 않는다.
실제로 단계 1729에서 (Q1)이 비워지기 위해 발견될 때, 프로세싱은 (Q1)과 관련하여 발생하는 것과 유사한 방식으로 원격 큐(Q2)에 대해 실행된다. 특히, 이 제 도 17b의 (Qx) 및 Sx가 (Q2) 및 S2인 원격 캐시(1404)라고 하면, 먼저 (Q2)가 비어있는 지에 관해 판정이 행해진다(단계 1729). 여기에서, 로컬 큐(1404)가 (Q1)로부터의 모든 그룹을 스스로 프로세스할 수 있는 경우에 이벤트가 발생할 지라도, (Q2)는 아마 처음에는 비어있지 않았을 것이다. (Q2)가 처음에 비어있지 않고, 그 대신에 그룹을 갖고 있다고 하면, 이러한 그룹은 선택되어 (Q2)에서 제거되고, 이러한 그룹이 프로세스된 폐기 빈(D) 내에 벌써 있는 지를 판정한다(단계 1731).
선택되어 (Q2)에서 제거된 그룹이 이미 프로세스되고 (D) 내에 있으면, 알고리즘은 단계 1729로 돌아가서, (Q2)가 비어있는지 다시 판정한다. 그러나, 선택되어 (Q2)에서 제거된 그룹이 아직 프로세스되지 않고 (D) 내에 없으면, 알고리즘은 이 경우에 원격 캐시(1404)인 (Q2)에 대응하는 캐시(1404) 또는 디렉토리(1206) 내의 선택된 그룹에 대한 엔트리(1402)를 계속 검색한다(단계 1733).
선택된 그룹에 대한 엔트리(1402)가 원격 캐시(1404)에서 발견되지 않으면, 프로세스는 계속하여 (Q2)로부터의 그룹을 디렉토리 큐(Q3)로 이동시킨 다음(단계 1735), 단계 1729로 다시 돌아가서 (Q2)가 비어있는지 다시 판정한다. 그러나, 선택된 그룹에 대한 엔트리(1402)가 원격 캐시(1404)에서 발견되면, 알고리즘은 선택된 그룹이 구성원인 각각의 새로 발견된 그룹을 검색 빈(S) 내로 배치하고, 선택된 그룹을 폐기 빈(D) 내로 이동시키며(단계 1739), 또한 선택된 그룹에 대응하는 엔트리(1402)가 모든 하위 레벨 캐시(1404)에 상주하게 한다(단계 1737). 물론, (Q2) 및 원격 캐시(1404)에 관련하여, 로컬 캐시(1404)에만 그렇게 상주하게 될 필 요가 있다는 것을 알기 바란다. 그후, 알고리즘은 계속하여 단계 1723으로 돌아가서, (S) 내의 소정 그룹(즉, 새로 발견된 그룹(s))이 (V) 내의 소정 그룹(즉, 유효화된 타겟 그룹 또는 그룹들)에 부합되는지 판정한다. 물론, 실제로 (S) 내의 그룹이 (V) 내의 아이템에 부합되는 것으로 발견되면, 알고리즘은 부합으로 종료되고, 알고리즘은 단계 1725에서 "예"를 보낸다. 그렇지 않으면, 알고리즘은 계속하여 단계 1727에서 S 내의 모든 그룹을 로컬 큐(Q1)로 이동시키고, 알고리즘은 계속되어 다시 (Q1)이 프로세스된다.
그러한 실행 시에, (Q2)를 통한 알고리즘은 원격 캐시(1404)로 할 수 있는 정도까지 사용자로부터 소정의 유효화된 타겟 그룹으로의 모든 가능한 경로를 개발한다. 이제 이해할 수 있는 바와 같이, 부합이 발견되지 않는다고 하면, (Q2)는 프로세스가 반복됨에 따라 더욱 새롭게 발견된 그룹으로 채워지고, (Q2) 내의 모든 그룹이 디렉토리 캐시(1404)를 통해 프로세스될 폐기 빈(D) 또는 (Q3)으로 원격 캐시(1404)를 통해 프로세스될 때까지 비워진다. 그러므로, 더욱 비용이 들 것으로 추정되는 디렉토리(1206)에서의 동작은 (Q2)가 비어있을 때 발생하는 것과 같은 원격 캐시(1404)에서의 모든 가능한 동작이 소모될 때까지 발생하지 않는다.
중요하게, (Q2) 및 원격 캐시(1404)를 통해 새로 발견된 소정의 그룹은 (Q1) 및 로컬 캐시(1404)를 통해 먼저 프로세스된다. 그러므로, 더욱 비용이 들 것으로 추정되는 원격 캐시(1404)에서의 동작은 (Q1)이 비어있을 때 발생하는 것과 같은 로컬 캐시(1404)에서의 모든 가능한 동작이 소모될 때까지 새로 발견된 그룹과 관련하여 발생하지 않는다.
실제로 단계 1729에서 (Q2)가 비워지기 위해 발견될 때, 프로세싱은 (Q1) 및 (Q2)와 관련하여 발생하는 것과 유사한 방식으로 디렉토리 큐(Q3)에 대해 실행된다. 특히, 이제 도 17b의 (Qx) 및 Sx가 (Q3) 및 S3인 디렉토리(1206)라고 하면, 먼저 (Q3)이 비어있는 지에 관해 판정이 행해진다(단계 1729). 여기에서, 로컬 및 원격 큐(1404)가 (Q1) 및 (Q2)로부터의 모든 그룹을 스스로 프로세스할 수 있는 경우에 이벤트가 발생할 지라도, (Q3)은 아마 처음에는 비어있지 않았을 것이다. (Q3)이 처음에 비어있지 않고, 그 대신에 그룹을 갖고 있다고 하면, 이러한 그룹은 선택되어 (Q3)에서 제거되고, 이러한 그룹이 프로세스된 폐기 빈(D) 내에 벌써 있는 지를 판정한다(단계 1731).
선택되어 (Q3)에서 제거된 그룹이 이미 프로세스되고 (D) 내에 있으면, 알고리즘은 단계 1729로 돌아가서, (Q3)이 비어있는지 다시 판정한다. 그러나, 선택되어 (Q3)에서 제거된 그룹이 아직 프로세스되지 않고 (D) 내에 없으면, 알고리즘은 이 경우에 디렉토리(1206)인 (Q3)에 대응하는 캐시(1404) 또는 디렉토리(1206) 내의 선택된 그룹에 대한 엔트리(1402)를 계속 검색한다(단계 1733).
선택된 그룹에 대한 엔트리(1402)가 디렉토리(1206)에서 발견되지 않으면, 프로세스는 계속하여 (Q3)에서의 그룹을 (D)로 이동시킨 다음(단계 1735), 단계 1729로 다시 돌아가서, (Q3)이 비어있는지 다시 판정한다. (Q3) 이후에 그 다음의 큐가 없기 때문에, 선택된 그룹은 더 이상 프로세스될 수 없다는 것을 알기 바란다. 그러나, 선택된 그룹에 대한 엔트리(1402)가 원격 캐시(1404)에서 발견되면, 알고리즘은 선택된 그룹이 구성원인 각각의 새로 발견된 그룹을 검색 빈(S) 내로 배치하고, 선택된 그룹을 폐기 빈(D) 내로 이동시키며(단계 1739), 또한 선택된 그룹에 대응하는 엔트리(1402)가 모든 하위 레벨 캐시(1404)에 상주하게 한다(단계 1737). 물론, (Q3) 및 디렉토리(1206)에 관련하여, 로컬 및 원격 캐시(1404)가 그렇게 상주하게 될 필요가 있다는 것에 유의해야 한다. 그후, 알고리즘은 계속하여 단계 1723으로 돌아가서, (S) 내의 소정 그룹(즉, 새로 발견된 그룹(s))이 (V) 내의 소정 그룹(즉, 유효화된 타겟 그룹 또는 그룹들)에 부합되는지 판정한다. 물론, 실제로 (S) 내의 그룹이 (V) 내의 아이템에 부합되는 것으로 발견되면, 알고리즘은 부합으로 종료되고, 알고리즘은 단계 1725에서 "예"를 보낸다. 그렇지 않으면, 알고리즘은 계속하여 단계 1727에서 S 내의 모든 그룹을 로컬 큐(Q1)로 이동시키고, 알고리즘은 계속되어, 다시 (Q1)이 프로세스된다.
그러한 실행 시에, (Q3)을 통한 알고리즘은 디렉토리(1206)로 할 수 있는 정도까지 사용자로부터 소정의 유효화된 타겟 그룹으로의 모든 가능한 경로를 개발한다. 이제 이해할 수 있는 바와 같이, 부합이 발견되지 않는다고 하면, (Q3)은 프로세스가 반복됨에 따라 더욱 새롭게 발견된 그룹으로 채워지고, (Q3) 내의 모든 그룹이 디렉토리(1206)를 통해 폐기 빈(D)로 프로세스될 때까지 비워진다.
중요하게, (Q3) 및 디렉토리(1206)를 통해 새로 발견된 소정의 그룹은 (Q1) 및 로컬 캐시(1404)를 통해 먼저 프로세스된다. 그러므로, 더욱 비용이 들 것으로 추정되는 디렉토리(1206)에서의 동작은 (Q1) 및 (Q2)가 비어있을 때 발생하는 것과 같은 로컬 및 원격 캐시(1404)에서의 모든 가능한 동작이 소모될 때까지 새로 발견된 그룹과 관련하여 발생하지 않는다.
실제로 단계 1729에서 (Q3)이 비워지기 위해 발견될 때, 프로세싱은 이 특정 시나리오에서 (Q4)가 없기 때문에 더 이상 진행할 수 없으므로, 완료된다. 특히, 알고리즘은 부합이 없이 종료되고, 알고리즘은 "아니오"를 보낸다(단계 1741).
본 발명의 알고리즘은 소정의 더 높은 비용 동작을 실행하기 전에 최저 비용의 동작을 먼저 실행하도록 설계되었다는 것을 이제 이해할 수 있을 것이다. 이해할 수 있는 바와 같이, 알고리즘은 3가지 레벨의 저장 장치(즉, 로컬 및 원격 캐시(1404) 및 디렉토리(1206))의 관점에서 기술되었지만, 그 대신에 동일한 수의 큐를 정의함으로써 2, 4, 5, 6, 7 등의 소정의 다른 갯수의 레벨의 저장 장치에 적용될 수 있다. 따라서, 본 발명의 알고리즘은 본 발명의 정신 및 범위를 벗어나지 않고서 캐시된 사용자-그룹 정보의 소정의 다중 레벨 저장 장치에 적용될 수 있다.
결론
본 발명과 관련하여 실행된 프로세스를 실행하는데 필요한 프로그래밍은 비교적 간단하고, 관련 프로그래밍 분야에서 명백하다. 따라서, 이러한 프로그래밍은 여기에 첨부하지 않는다. 이때, 소정의 특정 프로그래밍은 본 발명의 정신 및 범위를 벗어나지 않고서 본 발명을 실행하는데 사용될 수 있다.
본 발명에서, 디지털 저작권 관리(DRM) 및 시행 아키텍처 및 방법은 임의의 형태의 디지털 컨텐트의 제어된 렌더링 또는 플레잉을 허용하며, 이러한 제어는 융통성이 있어서, 디지털 컨텐트의 컨텐트 소유자/개발자에 의해 규정할 수 있다. 아키텍처는 특히 규정된 개인들의 그룹 또는 개인들의 클래스 사이에서 문서가 공 유될 수 있는 사무실 또는 조직 환경 등에서 이러한 제어된 렌더링을 허용하며 용이하게 한다. 이러한 아키텍처는 포리스트들을 가로질러 획득되는 컨텐트에 대해 라이센스를 허용한다.
본 발명의 개념을 벗어나지 않고서 상술된 실시예에 변경이 이루어질 수 있다는 것을 알 수 있을 것이다. 예를 들어, 본 명세서는 사용자로부터 그룹으로의 그룹 맴버쉽 판정을 설명하고 있지만, 이러한 판정은 본 발명의 정신 및 범위를 벗어나지 않고서 대안적으로 그룹으로부터 사용자에게로 행해질 수도 있다. 그러므로, 본 발명은 개시된 특정 실시예에 의해 제한되지 않으며, 첨부된 청구범위에 의해서만 제한된다는 것을 알 수 있을 것이다.

Claims (16)

  1. 조직체(organization)로부터의 사용자가 상기 조직체 내의 선정된(pre-defined) 그룹의 구성원인지를 판정하기 위한 방법으로서,
    상기 그룹은 라이센스 서버가 확인한 디지털 라이센스들로 범위가 정해지는(delimit) 서명된 저작권 레이블(signed rights label)에서 식별되고, 각 디지털 라이센스는 저작권 세트를 특정하고, 상기 서명된 저작권 레이블은 하나 이상의 그룹을 명명하고 각 그룹에 대한 대응 저작권 세트를 특정하고,
    상기 조직체는 적어도 포리스트 A 및 포리스트 B를 포함하는 컴퓨터 네트워크를 보유하고, 포리스트 A는 디렉토리 A 및 디렉토리 A에 질의(query)하도록 구성된 질의 엔티티 A를 가지고, 포리스트 B는 디렉토리 B 및 디렉토리 B에 질의하도록 구성된 질의 엔티티 B를 가지고,
    상기 그룹은 포리스트 A 또는 포리스트 B 중 하나에 속하며(native to),
    상기 방법은
    질의 엔티티 A가, 포리스트 A 내의 디지털 컨텐트의 대응하는 부분을 렌더링하기(render) 위해 포리스트 A 내의 상기 사용자로부터 디지털 라이센스에 대한 요청을 수신하는 단계 - 상기 요청은 사용자의 신원(identification) 및 그룹의 신원을 포함함 - ;
    질의 엔티티 A가, 상기 그룹에 연관된 그 내부의 임의의 오브젝트를 반환하기 위해 포리스트 A의 디렉토리 A에 질의하는 단계 - 상기 그룹이 대신에 포리스트 B에 속하여 포리스트 B의 디렉토리 B가 상기 그룹에 대응하는 레코드 오브젝트를 그 내부에 갖고 있도록 하고, 디렉토리 B 내의 상기 그룹에 대한 상기 레코드 오브젝트는 상기 그룹의 모든 직접 구성원들을 포함하고, 포리스트 A의 디렉토리 A가 상기 그룹에 대응하는 포인터 오브젝트를 그 내부에 갖고 있는데, 디렉토리 A 내의 상기 포인터 오브젝트는 포리스트 B의 어드레스를 포함함 - ;
    질의 엔티티 A가, 응답으로, 디렉토리 A로부터 상기 그룹에 대한 포인터 오브젝트를 수신하여, 상기 그룹이 포리스트 A에 속하지 않음을 알리는(signifying) 단계;
    질의 엔티티 A가, 수신된 상기 포인터 오브젝트로부터 포리스트 B의 어드레스를 검색하는 단계;
    질의 엔티티 A가, 상기 포리스트 B의 어드레스를 활용하여(employ) 포리스트 B의 질의 엔티티 B의 어드레스를 찾기 위하여 포리스트 B의 디렉토리 B에 질의하는 단계;
    질의 엔티티 A가, 응답으로, 디렉토리 B로부터 상기 질의 엔티티 B의 어드레스를 수신하는 단계;
    질의 엔티티 A가, 상기 질의 엔티티 B의 어드레스에서 포리스트 B의 질의 엔티티 B에 접촉하고, 질의 엔티티 B에게 상기 그룹이 현재 존재하는지 여부 및 상기 그룹이 현재 존재한다면, 상기 사용자는 포리스트 B 내의 상기 그룹의 구성원인지 여부에 대하여, 디렉토리 B에 질의할 것을 요청하고, - 상기 그룹이 현재 존재하지 않는다면, 상기 사용자는 상기 그룹의 구성원이 아님 - 질의 엔티티 B가, 상기 사용자가 상기 서명된 저작권 레이블에서 명명된 하나 이상의 그룹 중의 다른 그룹의 구성원인지 여부에 대하여 디렉토리 B에 질의하는 단계;
    질의 엔티티 A가, 응답으로, 질의 엔티티 B로부터 상기 사용자가 실제로 포리스트 B 내의 상기 그룹의 구성원인지 여부를 수신하는 단계; 및
    질의 엔티티 A가, 상기 사용자가 포리스트 B 내의 상기 그룹의 구성원인지에 기초하여 포리스트 A 내의 상기 사용자로부터의 포리스트 A 내의 상기 요청을 들어주는 단계를 포함하고,
    상기 질의 엔티티 A는 디지털 저작권 관리(DRM; digital rights management) 서버인, 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법.
  2. 제1항에 있어서,
    질의 엔티티 B가, 상기 그룹에 대한 그 내부의 임의의 오브젝트를 반환하기 위해 포리스트 B의 디렉토리 B에 질의하고 - 상기 그룹은 포리스트 B의 디렉토리 B가 상기 그룹에 대응하는 레코드 오브젝트를 그 내부에 갖고 있도록 포리스트 B에 속하며, 디렉토리 B 내의 상기 그룹에 대한 상기 레코드 오브젝트는 상기 그룹의 모든 직접 구성원들을 포함함 -;
    질의 엔티티 B가, 응답으로, 디렉토리 B로부터 상기 그룹에 대한 상기 레코드 오브젝트를 수신하여, 상기 그룹이 포리스트 B에 속하는 것을 알리고,
    질의 엔티티 B가, 상기 사용자가 상기 그룹의 직접 구성원인지를 판정하기 위하여 상기 레코드 오브젝트에서 설명된 상기 그룹의 상기 직접 구성원들을 검토함으로써,
    질의 엔티티 B가, 상기 사용자가 상기 그룹의 구성원인지를 판정하기 위해 포리스트 B의 디렉토리 B에 질의하는 단계를 더 포함하는, 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한, 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법.
  3. 제2항에 있어서,
    상기 사용자는 상기 그룹의 직접 구성원이 아니라고 판정되고,
    질의 엔티티 B가, 상기 사용자에 대한 임의의 오브젝트를 반환하기 위해 디렉토리 B에 질의하여, 디렉토리 B 내에서 상기 사용자로부터 상기 그룹으로의 맴버쉽(membership) 경로를 찾는 것을 시도함으로써 상기 사용자가 상기 그룹의 간접 구성원인지를 판정하는 것으로 진행하는 단계 - 이에 의해 찾아낸 상기 사용자로부터 상기 그룹으로의 맴버쉽 경로는 상기 사용자가 실제로 상기 그룹의 구성원임을 확정함 - ; 및
    질의 엔티티 B가, 맴버쉽 경로가 발견되었는지에 기초하여 포리스트 A 내의 상기 사용자가 실제로 상기 그룹의 구성원인지 여부를 질의 엔티티 A에게 보고하는 단계를
    더 포함하는, 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법.
  4. 제2항에 있어서,
    상기 질의 엔티티 B는 DRM 서버이고,
    상기 방법은
    질의 엔티티 A가, 질의 엔티티 A의 신원이 DRM 서버임을 질의 엔티티 B에게 전송하는 단계, 및
    질의 엔티티 B가, 전송된 상기 신원에 기초하여, 질의 엔티티 A에게 상기 사용자가 상기 그룹의 구성원인지 여부에 대한 통지를 받을 자격이 부여되었다고 판정하는 단계를 더 포함하는, 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법.
  5. 제4항에 있어서,
    질의 엔티티 A가, 질의 엔티티 B에 의해 인식되는 신뢰되는 권한의 루트(a trusted root of authority)로 다시 이르게 하는 인증서 체인(certificate clain)과 함께 디지털 인증서를 질의 엔티티 B에게 전송하는 단계, 및
    질의 엔티티 B가, 상기 인증서의 유효성을 검사(verify)하는 단계를 포함하는, 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법.
  6. 조직체로부터의 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하는 방법을 실행하기 위한 컴퓨터 실행가능 명령어가 저장되어 있는 컴퓨터 판독가능 저장 매체로서,
    상기 그룹은 라이센스 서버가 확인한 디지털 라이센스들로 범위가 정해지는 서명된 저작권 레이블에서 식별되고, 각 디지털 라이센스는 저작권 세트를 특정하고, 상기 서명된 저작권 레이블은 하나 이상의 그룹을 명명하고 각 그룹에 대한 대응 저작권 세트를 특정하고,
    상기 조직체는 적어도 포리스트 A 및 포리스트 B를 포함하는 컴퓨터 네트워크를 보유하고, 포리스트 A는 디렉토리 A 및 디렉토리 A에 질의하도록 구성된 질의 엔티티 A를 가지고, 포리스트 B는 디렉토리 B 및 디렉토리 B에 질의하도록 구성된 질의 엔티티 B를 가지고,
    상기 그룹은 포리스트 A 또는 포리스트 B 중 하나에 속하며,
    상기 방법은
    질의 엔티티 A가, 포리스트 A 내의 디지털 컨텐트의 대응하는 부분을 렌더링하기 위해 포리스트 A 내의 상기 사용자로부터 디지털 라이센스에 대한 요청을 수신하는 단계 - 상기 요청은 사용자의 신원(identification) 및 그룹의 신원을 포함함 - ;
    질의 엔티티 A가, 상기 그룹에 연관된 그 내부의 임의의 오브젝트를 반환하기 위해 포리스트 A의 디렉토리 A에 질의하는 단계 - 상기 그룹이 대신에 포리스트 B에 속하여 포리스트 B의 디렉토리 B가 상기 그룹에 대응하는 레코드 오브젝트를 그 내부에 갖고 있도록 하고, 디렉토리 B 내의 상기 그룹에 대한 상기 레코드 오브젝트는 상기 그룹의 모든 직접 구성원들을 포함하고, 포리스트 A의 디렉토리 A가 상기 그룹에 대응하는 포인터 오브젝트를 그 내부에 갖고 있는데, 디렉토리 A 내의 상기 포인터 오브젝트는 포리스트 B의 어드레스를 포함함 - ;
    질의 엔티티 A가, 응답으로, 디렉토리 A로부터 상기 그룹에 대한 포인터 오브젝트를 수신하여, 상기 그룹이 포리스트 A에 속하지 않음을 알리는(signifying) 단계;
    질의 엔티티 A가, 수신된 상기 포인터 오브젝트로부터 포리스트 B의 어드레스를 검색하는 단계;
    질의 엔티티 A가, 상기 포리스트 B의 어드레스를 활용하여(employ) 포리스트 B의 질의 엔티티 B의 어드레스를 찾기 위하여 포리스트 B의 디렉토리 B에 질의하는 단계;
    질의 엔티티 A가, 응답으로, 디렉토리 B로부터 상기 질의 엔티티 B의 어드레스를 수신하는 단계;
    질의 엔티티 A가, 상기 질의 엔티티 B의 어드레스에서 포리스트 B의 질의 엔티티 B에 접촉하고, 질의 엔티티 B에게 상기 그룹이 현재 존재하는지 여부 및 상기 그룹이 현재 존재한다면, 상기 사용자는 포리스트 B 내의 상기 그룹의 구성원인지 여부에 대하여, 디렉토리 B에 질의할 것을 요청하고, - 상기 그룹이 현재 존재하지 않는다면, 상기 사용자는 상기 그룹의 구성원이 아님 - 질의 엔티티 B가, 상기 사용자가 상기 서명된 저작권 레이블에서 명명된 하나 이상의 그룹 중의 다른 그룹의 구성원인지 여부에 대하여 디렉토리 B에 질의하는 단계;
    질의 엔티티 A가, 응답으로, 질의 엔티티 B로부터 상기 사용자가 실제로 포리스트 B 내의 상기 그룹의 구성원인지 여부를 수신하는 단계; 및
    질의 엔티티 A가, 상기 사용자가 포리스트 B 내의 상기 그룹의 구성원인지에 기초하여 포리스트 A 내의 상기 사용자로부터의 포리스트 A 내의 상기 요청을 들어주는 단계를 포함하고,
    상기 질의 엔티티 A는 디지털 저작권 관리(DRM; digital rights management) 서버인 컴퓨터 판독가능 저장 매체.
  7. 제1 컴퓨터 판독가능 저장 매체 및 제2 컴퓨터 판독가능 저장 매체를 포함하는 2개 이상의 컴퓨터 판독가능 저장 매체로서,
    상기 제1 컴퓨터 판독가능 저장 매체는 제6항의 컴퓨터 판독가능 저장 매체이고,
    상기 제2 컴퓨터 판독가능 저장 매체는 방법을 실행하기 위한 컴퓨터 실행가능 명령어가 저장되어 있고,
    상기 방법은
    질의 엔티티 B가, 상기 그룹에 대한 그 내부의 임의의 오브젝트를 반환하기 위해 포리스트 B의 디렉토리 B에 질의하고 - 상기 그룹은 포리스트 B의 디렉토리 B가 상기 그룹에 대응하는 레코드 오브젝트를 그 내부에 갖고 있도록 포리스트 B에 속하고, 디렉토리 B 내의 상기 그룹에 대한 상기 레코드 오브젝트는 상기 그룹의 모든 직접 구성원들을 포함함 - ;
    질의 엔티티 B가, 응답으로, 디렉토리 B로부터 상기 그룹에 대한 상기 레코드 오브젝트를 수신하여, 상기 그룹이 포리스트 B에 속하는 것을 알리고,
    질의 엔티티 B가, 상기 사용자가 상기 그룹의 직접 구성원인지를 판정하기 위하여 상기 레코드 오브젝트에서 설명된 상기 그룹의 상기 직접 구성원들을 검토함으로써
    질의 엔티티 B가, 상기 사용자가 상기 그룹의 구성원인지를 판정하기 위해 포리스트 B의 디렉토리 B에 질의하는 단계를 포함하는, 2개 이상의 컴퓨터 판독가능 저장 매체.
  8. 제7항에 있어서,
    상기 사용자는 상기 그룹의 직접 구성원이 아니라고 판정되고,
    상기 상기 제2 컴퓨터 판독가능 저장 매체의 방법은,
    질의 엔티티 B가, 상기 사용자에 대한 임의의 오브젝트를 반환하기 위해 디렉토리 B에 질의하여, 디렉토리 B 내에서 상기 사용자로부터 상기 그룹으로의 맴버쉽(membership) 경로를 찾는 것을 시도함으로써 상기 사용자가 상기 그룹의 간접 구성원인지를 판정하는 것으로 진행하는 단계 - 이에 의해 찾아낸 상기 사용자로부터 상기 그룹으로의 맴버쉽 경로는 상기 사용자가 실제로 상기 그룹의 구성원임을 확정함 - ; 및
    질의 엔티티 B가, 맴버쉽 경로가 발견되었는지에 기초하여 포리스트 A 내의 상기 사용자가 실제로 상기 그룹의 구성원인지 여부를 질의 엔티티 A에게 보고하는 단계
    를 더 포함하는 2개 이상의 컴퓨터 판독가능 저장 매체.
  9. 제7항에 있어서,
    상기 질의 엔티티 B는 DRM 서버이고,
    상기 제1 컴퓨터 판독가능 저장 매체의 방법은, 질의 엔티티 A가, 질의 엔티티 A의 신원이 DRM 서버임을 질의 엔티티 B에게 전송하는 단계를 더 포함하고,
    상기 제2 컴퓨터 판독가능 저장 매체의 방법은, 질의 엔티티 B가, 전송된 상기 신원에 기초하여, 질의 엔티티 A에게 상기 사용자가 상기 그룹의 구성원인지 여부에 대한 통지를 받을 자격이 부여되었다고 판정하는 단계를 더 포함하는 2개 이상의 컴퓨터 판독가능 저장 매체.
  10. 제9항에 있어서,
    상기 제1 컴퓨터 판독가능 저장 매체의 방법은, 질의 엔티티 A가, 질의 엔티티 B에 의해 인식되는 신뢰되는 권한의 루트로 다시 이르게 하는 인증서 체인과 함께 디지털 인증서를 질의 엔티티 B에게 전송하는 단계를 포함하고,
    상기 제2 컴퓨터 판독가능 저장 매체의 방법은, 질의 엔티티 B가, 상기 인증서의 유효성을 검사(verify)하는 단계를 포함하는 2개 이상의 컴퓨터 판독가능 저장 매체.
  11. 제2항에 있어서,
    상기 사용자는 상기 그룹의 직접 구성원이라고 판정되고,
    상기 방법은, 질의 엔티티 B가, 상기 사용자가 실제로 상기 그룹의 구성원이라고 질의 엔티티 A에게 보고하는 단계를 더 포함하는, 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법.
  12. 제7항에 있어서,
    상기 사용자는 상기 그룹의 직접 구성원이라고 판정되고,
    상기 제2 컴퓨터 판독가능 저장 매체의 방법은, 질의 엔티티 B가, 상기 사용자가 실제로 상기 그룹의 구성원이라고 질의 엔티티 A에게 보고하는 단계를 더 포함하는, 2개 이상의 컴퓨터 판독가능 저장 매체.
  13. 조직체로부터의 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법으로서,
    상기 그룹은 하나 이상의 그룹을 명명하는 서명된 저작권 레이블에서 식별되고, 각 그룹에 대한 대응 저작권 세트를 특정하고,
    상기 조직체는 적어도 포리스트 A 및 포리스트 B를 포함하는 컴퓨터 네트워크를 보유하고, 포리스트 A는 디렉토리 A 및 디렉토리 A에 질의하도록 구성된 질의 엔티티 A를 가지고, 포리스트 B는 디렉토리 B 및 디렉토리 B에 질의하도록 구성된 질의 엔티티 B를 가지고,
    상기 그룹은 포리스트 A 또는 포리스트 B에 속하고, 상기 질의 엔티티 A 및 질의 엔티티 B는 디지털 저작권 관리(DRM; digital rights management) 서버이며,
    상기 방법은
    질의 엔티티 A가, 포리스트 A 내의 디지털 컨텐트의 대응하는 부분을 렌더링하기 위해 포리스트 A 내의 상기 사용자로부터 디지털 라이센스에 대한 요청을 수신하는 단계 - 상기 요청은 사용자의 신원 및 그룹의 신원을 포함함 - ;
    질의 엔티티 A가, 상기 그룹에 연관된 그 내부의 임의의 오브젝트를 요청하기 위해 포리스트 A의 디렉토리 A에 질의하는 단계 - 상기 그룹이 대신에 포리스트 B에 속하여 포리스트 B의 디렉토리 B가 상기 그룹에 대응하는 레코드 오브젝트를 그 내부에 갖고 있도록 하고, 디렉토리 B 내의 상기 그룹에 대한 상기 레코드 오브젝트는 상기 그룹의 모든 직접 구성원들을 포함하고, 포리스트 A의 디렉토리 A가 상기 그룹에 대응하는 포인터 오브젝트를 그 내부에 갖고 있는데, 디렉토리 A 내의 포인트된 오브젝트는 포리스트 B의 어드레스를 포함함 - ;
    질의 엔티티 A가, 디렉토리 A로의 상기 요청에 대한 응답으로, 포리스트 B의 어드레스를 포함하는 포인트된 오브젝트를 수신하여, 상기 포인터 오브젝트에 의해 상기 그룹이 포리스트 A에 속하는 것이 아니라 포리스트 B에 속하는 것임을 알리는 단계;
    질의 엔티티 A가, 수신된 상기 포인터 오브젝트로부터 포리스트 B의 어드레스를 검색하는 단계;
    질의 엔티티 A가, 상기 포리스트 B의 어드레스를 활용하여(employ) 포리스트 B의 질의 엔티티 B의 어드레스를 찾기 위하여 포리스트 B의 디렉토리 B에 질의하는 단계;
    질의 엔티티 A가, 응답으로, 디렉토리 B로부터 상기 질의 엔티티 B의 어드레스를 수신하는 단계;
    질의 엔티티 A가, 상기 질의 엔티티 B의 어드레스에서 질의 엔티티 B에 접촉하고, 질의 엔티티 B에게 상기 그룹이 현재 존재하는지 여부 및 상기 그룹이 현재 존재한다면, 상기 사용자는 포리스트 B 내의 상기 그룹의 구성원인지 여부에 대하여, 디렉토리 B에 질의할 것을 요청하는 단계 - 상기 그룹이 현재 존재하지 않는다면, 상기 사용자는 상기 그룹의 구성원이 아니고, 질의 엔티티 A로부터 질의 엔티티 B에의 상기 요청은 질의 엔티티 A의 신원이 DRM 서버라는 것이 포함됨 - ;
    질의 엔티티 B가, 상기 질의 엔티티 A의 신원에 기초하여, 질의 엔티티 A에게 상기 사용자가 상기 그룹의 구성원인지 여부에 대한 통지를 받을 자격이 부여되었다고 판정하는 단계;
    질의 엔티티 B가, 상기 그룹에 대한 그 내부의 임의의 오브젝트를 반환하기 위해 포리스트 B의 디렉토리 B에 질의하는 단계;
    질의 엔티티 B가, 응답으로, 디렉토리 B로부터 상기 그룹에 대한 디렉토리 B의 상기 레코드 오브젝트를 수신하는 단계;
    질의 엔티티 B가, 상기 사용자가 상기 그룹의 직접 구성원인지를 판정하기 위하여 상기 레코드 오브젝트에서 설명된 상기 그룹의 상기 직접 구성원들을 검토하는 단계 - 상기 사용자는 상기 그룹의 직접 구성원이 아니라고 판정됨 - ;
    질의 엔티티 B가, 상기 사용자에 대한 임의의 오브젝트를 반환하기 위해 디렉토리 B에 질의하여, 디렉토리 B 내에서 상기 사용자로부터 상기 그룹으로의 맴버쉽 경로를 찾는 것을 시도함으로써 상기 사용자가 상기 그룹의 간접 구성원인지를 판정하는 것으로 진행하는 단계 - 이에 의해 찾아낸 상기 사용자로부터 상기 그룹으로의 맴버쉽 경로는 상기 사용자가 실제로 상기 그룹의 구성원임을 확정함 - ;
    질의 엔티티 B가, 맴버쉽 경로가 발견되었는지에 기초하여 포리스트 A 내의 상기 사용자가 실제로 상기 그룹의 구성원인지 여부를 질의 엔티티 A에게 보고하는 단계
    질의 엔티티 A가, 상기 사용자가 포리스트 B 내의 상기 그룹의 구성원인지에 기초하여 포리스트 A 내의 상기 사용자로부터의 포리스트 A 내의 상기 요청을 들어주는 단계를 포함하는, 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법.
  14. 삭제
  15. 삭제
  16. 삭제
KR1020040013103A 2003-02-26 2004-02-26 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법 및 컴퓨터 판독가능 기록 매체 KR101084768B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/374,321 2003-02-26
US10/374,321 US7827156B2 (en) 2003-02-26 2003-02-26 Issuing a digital rights management (DRM) license for content based on cross-forest directory information

Publications (2)

Publication Number Publication Date
KR20040076830A KR20040076830A (ko) 2004-09-03
KR101084768B1 true KR101084768B1 (ko) 2011-11-21

Family

ID=32771442

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040013103A KR101084768B1 (ko) 2003-02-26 2004-02-26 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법 및 컴퓨터 판독가능 기록 매체

Country Status (5)

Country Link
US (1) US7827156B2 (ko)
EP (1) EP1452942A3 (ko)
JP (1) JP4486380B2 (ko)
KR (1) KR101084768B1 (ko)
CN (1) CN1550995B (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487363B2 (en) * 2001-10-18 2009-02-03 Nokia Corporation System and method for controlled copying and moving of content between devices and domains based on conditional encryption of content key depending on usage
US7577999B2 (en) * 2003-02-11 2009-08-18 Microsoft Corporation Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US7827156B2 (en) 2003-02-26 2010-11-02 Microsoft Corporation Issuing a digital rights management (DRM) license for content based on cross-forest directory information
KR100953160B1 (ko) * 2003-06-26 2010-04-20 삼성전자주식회사 네트워크 장치 및 이를 이용하는 상이한 저작권 관리방식을 갖는 네트워크 장치간의 컨텐츠 호환성 제공 방법
US7716288B2 (en) * 2003-06-27 2010-05-11 Microsoft Corporation Organization-based content rights management and systems, structures, and methods therefor
US20050102513A1 (en) * 2003-11-10 2005-05-12 Nokia Corporation Enforcing authorized domains with domain membership vouchers
JP4487607B2 (ja) * 2004-03-23 2010-06-23 ソニー株式会社 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
US20050278258A1 (en) * 2004-06-14 2005-12-15 O'donnell Michael User software for facilitating copyright licensing and compliance
WO2006041179A1 (ja) * 2004-10-15 2006-04-20 Vodafone K.K. 連係動作方法及び通信端末装置
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
JP4537882B2 (ja) * 2005-04-18 2010-09-08 株式会社東芝 情報端末装置
US11362897B2 (en) * 2005-05-19 2022-06-14 International Business Machines Corporation Site policy administrative agent
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
KR100746014B1 (ko) * 2005-11-09 2007-08-06 삼성전자주식회사 디지털 저작권 관리 방법 및 시스템
JP2007150846A (ja) * 2005-11-29 2007-06-14 Toshiba Corp コンテンツ再生システム
US7788181B2 (en) * 2005-12-27 2010-08-31 Microsoft Corporation Software licensing using certificate issued by authorized authority
CN101395597B (zh) * 2006-03-06 2011-12-28 Lg电子株式会社 继承设备注册方法、数据传送方法和继承设备认证方法
US8429300B2 (en) * 2006-03-06 2013-04-23 Lg Electronics Inc. Data transferring method
US20090133129A1 (en) 2006-03-06 2009-05-21 Lg Electronics Inc. Data transferring method
KR101346734B1 (ko) * 2006-05-12 2014-01-03 삼성전자주식회사 디지털 저작권 관리를 위한 다중 인증서 철회 목록 지원방법 및 장치
US20070269044A1 (en) * 2006-05-16 2007-11-22 Bruestle Michael A Digital library system with rights-managed access
KR20080022476A (ko) * 2006-09-06 2008-03-11 엘지전자 주식회사 논컴플라이언트 컨텐츠 처리 방법 및 디알엠 상호 호환시스템
US9922198B2 (en) * 2006-09-07 2018-03-20 Hewlett Packard Enterprise Development Lp Methods, apparatus and computer systems that enable hardware module use rights owned by one server to be claimed for use by another server in a common share group
US8918508B2 (en) * 2007-01-05 2014-12-23 Lg Electronics Inc. Method for transferring resource and method for providing information
US8266706B2 (en) * 2007-01-26 2012-09-11 Microsoft Corporation Cryptographically controlling access to documents
JP2010507864A (ja) * 2007-02-16 2010-03-11 エルジー エレクトロニクス インコーポレイティド ドメイン管理方法及びドメインデバイス並びにプログラム
KR100846101B1 (ko) * 2007-04-12 2008-07-14 삼성전자주식회사 실시간 drm 컨텐츠 정보 표시 방법 및 이를 이용하는휴대 단말기
CN101119317B (zh) * 2007-08-31 2010-07-21 华为技术有限公司 分配许可的方法、设备及系统
RU2504005C2 (ru) * 2007-12-20 2014-01-10 Конинклейке Филипс Электроникс Н.В. Устройство и способ управления цифровыми правами
US11620660B2 (en) 2009-08-19 2023-04-04 Oracle International Corporation Systems and methods for creating and inserting application media content into social media system displays
US20120011432A1 (en) 2009-08-19 2012-01-12 Vitrue, Inc. Systems and methods for associating social media systems and web pages
US9117058B1 (en) * 2010-12-23 2015-08-25 Oracle International Corporation Monitoring services and platform for multiple outlets
US10339541B2 (en) 2009-08-19 2019-07-02 Oracle International Corporation Systems and methods for creating and inserting application media content into social media system displays
US8904169B2 (en) * 2009-09-15 2014-12-02 Symantec Corporation Just in time trust establishment and propagation
US9990114B1 (en) 2010-12-23 2018-06-05 Oracle International Corporation Customizable publication via multiple outlets
US9081974B2 (en) * 2011-11-10 2015-07-14 Microsoft Technology Licensing, Llc User interface for selection of multiple accounts and connection points
US20150178059A1 (en) * 2013-12-20 2015-06-25 Amazon Technologies, Inc. Application launching
US10103890B2 (en) * 2014-08-08 2018-10-16 Haw-Minn Lu Membership query method
US10728040B1 (en) * 2014-08-08 2020-07-28 Tai Seibert Connection-based network behavioral anomaly detection system and method
US9449187B2 (en) * 2014-08-11 2016-09-20 Document Dynamics, Llc Environment-aware security tokens
FR3035241B1 (fr) * 2015-04-16 2017-12-22 Inside Secure Procede de partage d'une memoire entre au moins deux entites fonctionnelles
CN106992999B (zh) * 2017-05-26 2020-11-20 河南职业技术学院 一种跨服务器数据通讯处理方法
US20220150241A1 (en) * 2020-11-11 2022-05-12 Hewlett Packard Enterprise Development Lp Permissions for backup-related operations

Family Cites Families (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH087709B2 (ja) 1989-05-15 1996-01-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン アクセス特権制御方法及びシステム
AU649455B2 (en) * 1990-07-11 1994-05-26 American Telephone And Telegraph Company Distributed computing system
US5204897A (en) 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
US5438508A (en) 1991-06-28 1995-08-01 Digital Equipment Corporation License document interchange format for license management system
US5260999A (en) 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
US5715403A (en) 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
CN101359350B (zh) 1995-02-13 2012-10-03 英特特拉斯特技术公司 用于安全地管理在数据项上的操作的方法
US20020018491A1 (en) 1995-03-20 2002-02-14 Nicholas A. Balatoni Plug-in multiplexer
US5761669A (en) 1995-06-06 1998-06-02 Microsoft Corporation Controlling access to objects on multiple operating systems
US5758069A (en) 1996-03-15 1998-05-26 Novell, Inc. Electronic licensing system
US5864620A (en) 1996-04-24 1999-01-26 Cybersource Corporation Method and system for controlling distribution of software in a multitiered distribution chain
US6006332A (en) 1996-10-21 1999-12-21 Case Western Reserve University Rights management system for digital media
US6035402A (en) * 1996-12-20 2000-03-07 Gte Cybertrust Solutions Incorporated Virtual certificate authority
CA2228185C (en) 1997-01-31 2007-11-06 Certicom Corp. Verification protocol
US5881225A (en) * 1997-04-14 1999-03-09 Araxsys, Inc. Security monitor for controlling functional access to a computer system
US6389535B1 (en) 1997-06-30 2002-05-14 Microsoft Corporation Cryptographic protection of core data secrets
WO1999015947A1 (en) 1997-09-19 1999-04-01 Hyo Joon Park Software license control system based on independent software registration server
US6122741A (en) 1997-09-19 2000-09-19 Patterson; David M. Distributed method of and system for maintaining application program security
US6189146B1 (en) 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
US6701433B1 (en) 1998-03-23 2004-03-02 Novell, Inc. Method and apparatus for escrowing properties used for accessing executable modules
US6219652B1 (en) 1998-06-01 2001-04-17 Novell, Inc. Network license authentication
US7228437B2 (en) 1998-08-13 2007-06-05 International Business Machines Corporation Method and system for securing local database file of local content stored on end-user system
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6460141B1 (en) * 1998-10-28 2002-10-01 Rsa Security Inc. Security and access management system for web-enabled and non-web-enabled applications and content on a computer network
US7017188B1 (en) 1998-11-16 2006-03-21 Softricity, Inc. Method and apparatus for secure content delivery over broadband access networks
JP2000270007A (ja) 1999-03-12 2000-09-29 Sony Corp ネットワークシステム、ネットワークサーバ及び端末装置
US6973444B1 (en) 1999-03-27 2005-12-06 Microsoft Corporation Method for interdependently validating a digital content package and a corresponding digital license
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
US7024393B1 (en) 1999-03-27 2006-04-04 Microsoft Corporation Structural of digital rights management (DRM) system
US7103574B1 (en) 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
US20020019814A1 (en) 2001-03-01 2002-02-14 Krishnamurthy Ganesan Specifying rights in a digital rights license according to events
JP3471654B2 (ja) 1999-04-06 2003-12-02 富士通株式会社 ライセンスサーバ、著作権者システム、利用者システム、システム、記録媒体およびコンテンツ利用制御方法
JP2000293587A (ja) 1999-04-09 2000-10-20 Sony Corp 情報処理装置および方法、管理装置および方法、並びに提供媒体
KR20010052853A (ko) * 1999-04-14 2001-06-25 마츠시타 덴끼 산교 가부시키가이샤 데이터 관리장치, 데이터 관리방법, 및 데이터 관리프로그램을 기록하는 기록매체
US6557105B1 (en) 1999-04-14 2003-04-29 Tut Systems, Inc. Apparatus and method for cryptographic-based license management
US7213262B1 (en) 1999-05-10 2007-05-01 Sun Microsystems, Inc. Method and system for proving membership in a nested group using chains of credentials
GB9913165D0 (en) * 1999-06-08 1999-08-04 Secr Defence Access control in a web environment
EP1134670A4 (en) 1999-08-27 2006-04-26 Sony Corp INFORMATION TRANSMITTING SYSTEM, TRANSMITTER AND RECEIVER, INFORMATION TRANSMITTING METHOD, INFORMATION RECEIVING METHOD
US20040178076A1 (en) * 1999-10-01 2004-09-16 Stonas Walter J. Method of manufacture of colloidal rod particles as nanobarcodes
JP2001118332A (ja) 1999-10-20 2001-04-27 Sony Corp データ配信システムとその方法、データ処理装置、データ使用制御装置および配信用データが記録された機械読み取り可能な記録媒体
US6801998B1 (en) 1999-11-12 2004-10-05 Sun Microsystems, Inc. Method and apparatus for presenting anonymous group names
US6792537B1 (en) 1999-11-22 2004-09-14 Sun Microsystems, Inc. Mechanism for determining restrictions to impose on an implementation of a service
GB2357229B (en) 1999-12-08 2004-03-17 Hewlett Packard Co Security protocol
US7213005B2 (en) 1999-12-09 2007-05-01 International Business Machines Corporation Digital content distribution using web broadcasting services
US7047411B1 (en) 1999-12-17 2006-05-16 Microsoft Corporation Server for an electronic distribution system and method of operating same
JP2001175605A (ja) 1999-12-17 2001-06-29 Sony Corp データ処理装置
US6996720B1 (en) 1999-12-17 2006-02-07 Microsoft Corporation System and method for accessing protected content in a rights-management architecture
JP2001175606A (ja) 1999-12-20 2001-06-29 Sony Corp データ処理装置、データ処理機器およびその方法
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
US6662228B1 (en) * 2000-02-01 2003-12-09 Sun Microsystems, Inc. Internet server authentication client
JP2001256318A (ja) 2000-03-14 2001-09-21 Sony Corp コンテンツ取り引きシステムおよびコンテンツ取り引き方法、並びにプログラム提供媒体
US7155415B2 (en) 2000-04-07 2006-12-26 Movielink Llc Secure digital content licensing system and method
KR20010096814A (ko) * 2000-04-14 2001-11-08 홍기융 전자서명 인증기반 파일시스템 해킹방지용 보안커널 방법
US6386894B2 (en) 2000-04-28 2002-05-14 Texas Instruments Incorporated Versatile interconnection scheme for beverage quality and control sensors
US7020781B1 (en) 2000-05-03 2006-03-28 Hewlett-Packard Development Company, L.P. Digital content distribution systems
JP2001326632A (ja) * 2000-05-17 2001-11-22 Fujitsu Ltd 分散グループ管理システムおよび方法
US7509421B2 (en) * 2000-06-05 2009-03-24 Sealedmedia Limited Digital rights management
US6961858B2 (en) 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
US7017189B1 (en) 2000-06-27 2006-03-21 Microsoft Corporation System and method for activating a rendering device in a multi-level rights-management architecture
WO2002003604A2 (en) 2000-06-29 2002-01-10 Cachestream Corporation Digital rights management
US7080077B2 (en) * 2000-07-10 2006-07-18 Oracle International Corporation Localized access
JP4366845B2 (ja) 2000-07-24 2009-11-18 ソニー株式会社 データ処理装置およびデータ処理方法、並びにプログラム提供媒体
US7743259B2 (en) 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
JP4581200B2 (ja) 2000-08-31 2010-11-17 ソニー株式会社 個人認証システム、個人認証方法、および情報処理装置、並びにプログラム提供媒体
WO2002023315A2 (en) 2000-09-12 2002-03-21 Aladdin Knowledge Systems, Ltd. System for managing rights and permitting on-line playback of digital content
US7343324B2 (en) 2000-11-03 2008-03-11 Contentguard Holdings Inc. Method, system, and computer readable medium for automatically publishing content
CN1503953A (zh) 2000-12-08 2004-06-09 ���µ�����ҵ��ʽ���� 分配装置、终端装置以及其中所用的程序和方法
US7085834B2 (en) * 2000-12-22 2006-08-01 Oracle International Corporation Determining a user's groups
US20020107806A1 (en) 2001-02-02 2002-08-08 Akio Higashi Content usage management system and content usage management method
JP4191902B2 (ja) 2001-02-28 2008-12-03 株式会社日立製作所 コンテンツ配信装置
EP1307000A4 (en) * 2001-03-29 2007-07-04 Sony Corp INFORMATION PROCESSING APPARATUS
GB2374165A (en) 2001-04-02 2002-10-09 Global Knowledge Network Secure distribution of electronic media
CN100435164C (zh) 2001-05-29 2008-11-19 松下电器产业株式会社 权限管理设备
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
WO2002101490A2 (en) 2001-06-07 2002-12-19 Contentguard Holdings, Inc. Cryptographic trust zones in digital rights management
WO2002101494A2 (en) 2001-06-07 2002-12-19 Contentguard Holdings, Inc. Protected content distribution system
US7395245B2 (en) 2001-06-07 2008-07-01 Matsushita Electric Industrial Co., Ltd. Content usage management system and server used in the system
EP1407341B1 (en) 2001-07-17 2016-08-31 Panasonic Intellectual Property Corporation of America Content usage device and network system, and license information acquisition method
CN1537388A (zh) 2001-07-31 2004-10-13 ���µ�����ҵ��ʽ���� 内容发行的系统、设备与方法以及有关程序与程序记录媒体
WO2003012609A2 (en) 2001-08-01 2003-02-13 Matsushita Electric Industrial Co., Ltd. Device and method for managing content usage right
US6807542B2 (en) 2001-08-14 2004-10-19 International Business Machines Corporation Method and apparatus for selective and quantitative rights management
US7546359B2 (en) 2001-10-24 2009-06-09 Groove Networks, Inc. Method and apparatus for managing a peer-to-peer collaboration system
US7484103B2 (en) 2002-01-12 2009-01-27 Je-Hak Woo Method and system for the information protection of digital content
US7747531B2 (en) 2002-02-05 2010-06-29 Pace Anti-Piracy Method and system for delivery of secure software license information
US7376624B2 (en) 2002-02-27 2008-05-20 Imagineer Software, Inc. Secure communication and real-time watermarking using mutating identifiers
US7805371B2 (en) 2002-03-14 2010-09-28 Contentguard Holdings, Inc. Rights expression profile system and method
US7092527B2 (en) 2002-04-18 2006-08-15 International Business Machines Corporation Method, system and program product for managing a size of a key management block during content distribution
AU2003223802A1 (en) 2002-05-10 2003-11-11 Protexis Inc. System and method for multi-tiered license management and distribution using networked clearinghouses
US7549060B2 (en) 2002-06-28 2009-06-16 Microsoft Corporation Using a rights template to obtain a signed rights label (SRL) for digital content in a digital rights management system
US7891007B2 (en) 2002-06-28 2011-02-15 Microsoft Corporation Systems and methods for issuing usage licenses for digital content and services
US7174021B2 (en) 2002-06-28 2007-02-06 Microsoft Corporation Systems and methods for providing secure server key operations
US7502945B2 (en) 2002-06-28 2009-03-10 Microsoft Corporation Using a flexible rights template to obtain a signed rights label (SRL) for digital content in a rights management system
US7353402B2 (en) 2002-06-28 2008-04-01 Microsoft Corporation Obtaining a signed rights label (SRL) for digital content and obtaining a digital license corresponding to the content based on the SRL in a digital rights management system
US20040088541A1 (en) 2002-11-01 2004-05-06 Thomas Messerges Digital-rights management system
US8364951B2 (en) * 2002-12-30 2013-01-29 General Instrument Corporation System for digital rights management using distributed provisioning and authentication
US20040128546A1 (en) * 2002-12-31 2004-07-01 International Business Machines Corporation Method and system for attribute exchange in a heterogeneous federated environment
US7577999B2 (en) 2003-02-11 2009-08-18 Microsoft Corporation Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
US20040158731A1 (en) 2003-02-11 2004-08-12 Microsoft Corporation Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
US7827156B2 (en) 2003-02-26 2010-11-02 Microsoft Corporation Issuing a digital rights management (DRM) license for content based on cross-forest directory information
US6990502B2 (en) 2003-02-26 2006-01-24 Microsoft Corporation Reviewing cached user-group information in connection with issuing a digital rights management (DRM) license for content
ATE357688T1 (de) 2003-11-11 2007-04-15 Matsushita Electric Ind Co Ltd Verfahren zum beurteilen der nutzungserlaubnis für informationen und inhaltsverbreitungssystem, das dieses verfahren verwendet
US7571488B2 (en) 2004-03-31 2009-08-04 Panasonic Corporation Rights management terminal, server apparatus and usage information collection system
CN101278510B (zh) 2005-09-29 2013-03-27 康坦夹德控股股份有限公司 使用具有发放权限的先进副本和受控副本令牌的数字权限管理用的系统和方法
JP2007304849A (ja) 2006-05-11 2007-11-22 Sony Corp 管理装置、情報処理装置、管理方法および情報処理方法
US20070269044A1 (en) 2006-05-16 2007-11-22 Bruestle Michael A Digital library system with rights-managed access

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IBM Redbooks

Also Published As

Publication number Publication date
JP2004259283A (ja) 2004-09-16
CN1550995A (zh) 2004-12-01
EP1452942A2 (en) 2004-09-01
CN1550995B (zh) 2012-06-20
JP4486380B2 (ja) 2010-06-23
KR20040076830A (ko) 2004-09-03
EP1452942A3 (en) 2008-10-15
US20040168077A1 (en) 2004-08-26
US7827156B2 (en) 2010-11-02

Similar Documents

Publication Publication Date Title
KR101084768B1 (ko) 사용자가 상기 조직체 내의 선정된 그룹의 구성원인지를 판정하기 위한 방법 및 컴퓨터 판독가능 기록 매체
KR100846290B1 (ko) 컨텐트용 디지털 저작권 관리(drm) 라이센스의 발행과 관련한 캐시된 사용자-그룹 정보의 검토 방법 및 그를 위한 컴퓨터 판독가능 매체
JP4418648B2 (ja) デジタルコンテンツとサービスの使用ライセンスを発行するためのシステムおよびその方法
JP4750352B2 (ja) デジタルコンテンツに対応するデジタルライセンスを取得する方法
JP4847701B2 (ja) 著作権管理システムにおける柔軟性のある権利テンプレートを使用したデジタルコンテンツの署名済み権利ラベル(srl)の取得
KR100984440B1 (ko) 디지탈 라이센스 발행 방법 및 컴퓨터 판독 가능 기록 매체
AU2004200471B2 (en) Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
US8700535B2 (en) Issuing a publisher use license off-line in a digital rights management (DRM) system
US7549060B2 (en) Using a rights template to obtain a signed rights label (SRL) for digital content in a digital rights management system
CA2457938C (en) Enrolling/sub-enrolling a digital rights management(drm) server into a drm architecture
KR20040002771A (ko) 안전한 서버 키 동작을 제공하기 위한 시스템 및 방법

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: 20141017

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 8