KR20080007328A - 디지털 라이선스 요건의 전달 방법 및 그 컴퓨터 판독가능매체 - Google Patents

디지털 라이선스 요건의 전달 방법 및 그 컴퓨터 판독가능매체 Download PDF

Info

Publication number
KR20080007328A
KR20080007328A KR1020077023975A KR20077023975A KR20080007328A KR 20080007328 A KR20080007328 A KR 20080007328A KR 1020077023975 A KR1020077023975 A KR 1020077023975A KR 20077023975 A KR20077023975 A KR 20077023975A KR 20080007328 A KR20080007328 A KR 20080007328A
Authority
KR
South Korea
Prior art keywords
license
requirements
default
receiver
computing device
Prior art date
Application number
KR1020077023975A
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 KR20080007328A publication Critical patent/KR20080007328A/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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/165Centralised control of user terminal ; Registering at central

Abstract

수신기가 콘텐츠에 동조하고 초기에는 대응하는 라이선스를 위한 요건들에 관한 정보를 찾지 않으며, 따라서, 디폴트 요건들을 포함하는 디폴트 메시지를 구성하고, 그렇게 구성된 디폴트 요건들을 갖는 디폴트 메시지를 콘텐츠를 렌더링하는 컴퓨팅 장치로 보낸다. 컴퓨팅 장치는 보내진 디폴트 요건들을 갖는 디폴트 메시지를 수신할 때 그렇게 수신된 디폴트 요건들에 기반해서 디폴트 버전의 라이선스를 구성하고, 그렇게 구성된 디폴트 버전의 라이선스를 그러한 컴퓨팅 장치의 라이선스 저장소에 저장하며, 그 후 콘텐츠 디폴트 버전의 라이선스에 일치해서만 렌더링한다.
스트림, 암호화, 데이터, 수신기, 비디오, 배포

Description

디지털 라이선스 요건의 전달 방법 및 그 컴퓨터 판독가능 매체{RIGHTS MANAGEMENT SYSTEM FOR STREAMED MULTIMEDIA CONTENT}
본 발명은 스트리밍된 디지털 콘텐츠에 대한 접근이 대응하는 디지털 라이선스에 일치해서만 제공되게 하는 권리 관리(RM: rights management) 시스템에 관한 것이다. 좀더 자세하게는, 본 발명은 그러한 RM 시스템이 스트리밍된 콘텐츠를 취급하는데 채용되는 시스템 및 방법에 관한 것이다.
디지털 오디오, 디지털 비디오, 디지털 텍스트, 디지털 데이터, 디지털 멀티미디어 등과 같은 디지털 콘텐츠와 관련해서, 그러한 디지털 콘텐츠가 한 명 이상의 사용자들에게 배포되는 경우에 권리 관리(RM) 및 단속(enforcement)이 매우 바람직하다. 디지털 콘텐츠는 예를 들어 텍스트 문서 등과 같이 정적일 수 있고, 또는 그것은 멀티미디어 프레젠테이션의 스트리밍된 오디오 및 비디오 등과 같이 스트리밍될 수도 있다. 그러한 스트리밍된 콘텐츠의 통상적 배포 방식은 광 디스크, 케이블 접근 공급, 인터넷 등과 같은 전자 네트워크로부터의 공급, 무선 방송으로부터의 공급 등과 같은 유형(tangible) 및 무형(intangible)의 형태를 포함한다. 사용자가 그 적절한 컴퓨팅 장치에서 수신할 때, 그 사용자는 컴퓨팅 장치, 적절한 렌더링 소프트웨어, 및 스피커, 비디오 모니터 등과 같은 적절한 출력 장치의 도움 에 의해 스트리밍된 디지털 콘텐츠를 렌더링한다.
한 시나리오에서, 스트리밍된 콘텐츠는 배포자에 의해 예를 들어 디지털 텔레비전 서비스 등과 같은 회원제 서비스의 일부로서 배포되며, 배포되는 스트리밍된 콘텐츠는 예를 들어 암호화 되는 것 등에 의해 보호되거나 또는 비보호된다. 스트리밍된 콘텐츠가 실제로 비보호된 형태로 배포되는 실정이라면, 배포자는 근본적으로는 스트리밍된 콘텐츠가 곧바로 소비되어 렌더링되며 어떤 의미 있는 검색 가능한 형태로든 저장되지 않을 것을 의도했을 수 있다. 예를 들어, 스트리밍된 콘텐츠는 디지털 케이블 셋톱 박스에 의해 수신되어 곧바로 렌더링되고 앞서 설명한 적절한 출력 장치로 전달될 디지털 케이블 텔레비전 신호에 있는 콘텐츠의 많은 스트림들 중 하나일 수 있다.
그러나, 스트리밍된 콘텐츠를 나중에 렌더링하거나 다른 컴퓨팅 장치들에 재배포하기 위해 실제로 저장할 수 있는 저장 시스템이 존재하거나 개발되고 있음을 인식해야 한다. 그러한 저장 시스템들을 감안한다면, 비보호된 스트리밍된 콘텐츠의 배포자는 필요하다면 그러한 재배포를 제한할 어떤 기능을 갖추지 않는 한 비보호된 형태로 그러한 비보호된 콘텐츠를 저장하지 않아야 할 것이다. 특히, 배포자 등은 사용자가 그러한 스트리밍된 콘텐츠를 다른 저장 시스템 등에 복사하는 것을 금지하기를 원할 수 있고, 사용자가 시간(temporal) 및/또는 횟수(count) 제한에 따라 복사할 수 있도록 하는 것을 원할 수 있다. 알다시피, 스트리밍된 콘텐츠의 무제한적 복사를 금지함으로써, 배포자는 스트리밍된 콘텐츠의 초기의 디지털 사본들의 통제되지 않은 살포-그러한 통제되지 않은 살포는 다른 사용자들이 그러한 배 포자에 의해 제공되는 회원제 서비스를 약정하기를 단념하도록 부추길 수 있음-를 회피할 수 있다.
또한, 배포자는 다양한 사용자에게 상이한 렌더링 권한을 부여하기를 원할 수 있다. 예를 들어, 배포자는 더 상위 계층들에 대해서는 그에 대응하여 더 많은 회원제 요금을 요구하고 특정한 계층에 약정한 사용자는 비보호된 형태의 더 높은 계층에 있는 스트리밍된 콘텐츠에 접근하는 것이 허용되지 않는 상이한 서비스 계층들을 제공할 수도 있다.
그럴지라도, 스트리밍된 콘텐츠가 배포된 후에, 배포자는 스트리밍된 콘텐츠에 대해 실질적인 통제를 한다손치더라도 아주 조금 밖에 할 수 없음을 주목해야 한다. 이 것은 대부분의 퍼스널 컴퓨터가 그러한 스트리밍된 콘텐츠의 정확한 디지털 사본을 만들고, 그러한 정확한 디지털 사본을 광 디스크 등과 같은 재배포 매체로 다운로드하거나 또는 그러한 정확한 디지털 사본을 인터넷 등과 같은 네트워크를 통해 어떠한 수신지로든 보내기 위해 필요한 소프트웨어 및 하드웨어를 포함한다는 사실에 비추어 볼 때 특히 문제가 있는 것이다.
물론, 스트리밍된 콘텐츠가 약정된 거래의 일부로서, 배포자는 스트리밍된 콘텐츠의 사용자/수신자에게 허용되지 않은 방식으로 그러한 콘텐츠를 재배포하지 않을 것을 약속할 것을 요구할 수도 있다. 그러나, 그러한 약속은 쉽게 이루어지며 쉽게 깨진다. 배포자는 흔히 암호화 및 복호화를 포함하는 몇 개의 알려진 보안 장치들 중 어느 것을 통해 그러한 재배포를 방지하고자 할 수도 있다. 그러나, 보안장치가 너무 단순한 경우에는, 그러한 보안장치가, 암호화된 콘텐츠를 복호화 하고, 그러한 콘텐츠를 암호화되지 않은 형태로 저장한 후 이를 재배포하려고 가볍게 결심하는 사용자에게는 거의 문제되지 않는다.
그래서, 스트리밍된 콘텐츠를 포함하는 임의의 형태의 디지털 콘텐츠의 렌더링 제어-그러한 제어는 유연하고 그러한 디지털 콘텐츠의 배포자 등이 정의할 수 있음-을 허용하고자 RM 및 단속 아키텍처 및 방법이 제공되었다. 그러한 아키텍처들은 앞서 설명한 시나리오로 그러한 렌더링 제어를 허용하고 수월하게 한다.
한 특정한 체계(arrangement)에서는, 스트리밍된 콘텐츠가 결합된 신호로서 수신기에 제공되는 그러한 콘텐츠의 다수의 스트림들 중 하나이다. 수신기는 미디어 시스템으로부터의 명령시에 스트림들 중 특정한 하나를 선택하고, 선택된 스트림을 그러한 미디어 시스템에 제공하여 더 처리되게 한다. 명백하게, 수신기에 제공되는 선택된 스트림은 비보호되었지만, 미디어 시스템에 제공되기 전에, 선택된 스트림은 특정한 RM 암호화 시스템에 따라 수신기에 의해 사실상 보호된다.
통상적으로, RM 암호화 시스템에서, 콘텐츠는 콘텐츠 키(CK: content key)에 따라 암호화됨으로써 보호된다. 대칭적 암호화 및 복호화가 비대칭적 암호화 및 복호화보다 더 쉽고 빠르고 저렴하므로, 그러한 콘텐츠 키(CK)는 통상적으로 대칭적이다. 또한 통상적으로, 콘텐츠 키(CK)는 수신기 등과 같은 암호화기에 의해 그러한 콘텐츠가 복호화기/미디어 시스템에 의해 복호화되어 렌더링되는 것이 허용되기 전에 충족되어야 하는 라이선스 룰을 규정하는 디지털 라이선스 등의 일부로서 암호화된 형태로 미디어 시스템 등과 같은 복호화기에 제공된다.
스트리밍된 콘텐츠가 미디어 시스템의 명령에 따라 수신기에 의해 사실상 동 조될 수 있는 다수의 디지털 텔레비전 신호들 중 하나인 경우에, 특히 미디어 시스템의 사용자가 몇 개의 신호들을 사실상 훑어보기 즉 ‘서핑’하고 있다면,수신기가 미디어 시스템으로부터 상이한 디지털 신호들에 동조하라는 명령을 상당히 규칙적으로, 아마 이분의 일초 당 한번 정도로 자주 수신할 수 있을 것이라는 것을 인식해야 한다. 그러나, 각각의 새롭게 동조된 신호는 수신기로부터 새로운 라이선스를 요구함을 생각할 때, 그러한 새로운 라이선스를 구성하고 그 것을 수신기로부터 미디어 시스템으로 보내는 것은 아주 부담이 될 수 있고, 특히 라이선스가 상세하거나 암호화된 요소를 포함하거나 디지털 서명을 포함하는 등의 경우에는 더욱 그렇다는 것을 인식해야 한다. 그래서, 미디어 시스템이 그러한 수신기에게 상이한 디지털 신호에 동조할 것을 명령할 때마다 수신기가 새로운 라이선스를 완전하게 생성한다는 것은 아마 기대할 수 없을 것이며, 특히 그러한 명령들의 빈도가 초단위 정도인 경우에는 더 그렇다.
그리고, 수신기가 디지털 신호에 새롭게 동조할 때마다 새로운 라이선스를 실제로 완전하게 생성해야 하는 부담을 겪을 필요가 없도록 그러한 새로운 라이선스가 될 수 있는 단축 버전의 요건을 생성하기 위한 시스템 및 방법에 대한 요구가 있다. 특히, 사용자가 매초에 한번 정도로 변경을 명령하고 있을지라도, 수신기가 디지털 신호에 새롭게 동조할 때마다 신속하게 생성되어 미디어 시스템으로 보내질 수 있는 단축 버전의 요건에 대한 요구가 있다. 또한, 간결하지만, 동조된 디지털 신호에 대한 모든 라이선스 요건들을 최소 공간에 기술하는 단축 버전의 요건들에 대한 요구가 있다. 마지막으로, 수신기가 아닌 다른 소스로부터 미디어 시스템에 제공되는 스트리밍된 디지털 콘텐츠와 관련하여 채용될 수 있는 단축 버전의 요건들에 대한 요구가 있다.
또한 각각의 새롭게 동조된 신호가 상이한 콘텐츠 키(CK)에 따라 수신기에 의해 암호화될 수 있음을 생각하면, 새로운 라이선스에 그러한 콘텐츠 키(CK)를 배치하여 그것을 수신기로부터 미디어 시스템으로 보냄으로써 미디어 시스템에 그러한 콘텐츠 키(CK)를 알려주는 것도 마찬가지로 아주 부담이 되는 것임을 인식해야 한다. 다시 말해서, 미디어 시스템이 수신기에게 상이한 디지털 신호에 동조하라고 명령할 때마다 수신기가 새로운 콘텐츠 키(CK)를 갖는 새로운 라이선스를 완전하게 생성할 수 있다고 기대할 수 없으며, 특히 그러한 명령의 빈도가 초단위일 정도인 경우에는 더 그렇다.
그리고, 수신기와 미디어 시스템 사이에 각각의 새로운 콘텐츠 키(CK)를, 각각의 그러한 콘텐츠 키(CK)를 갖는 실제 라이선스를 생성할 필요 없이 공유하는 시스템 및 방법에 대한 요구가 있다. 특히, 수신기 및 미디어 시스템이 초기 콘텐츠 키를 교환할 수 있고 초기 콘텐츠 키에 기반하여 콘텐츠 키들을 순환시키는 방법에 대한 요구가 있다. 또한, 수신기 및 미디어 시스템이 키들을 조화롭게 순환시키는 방법에 대한 요구가 있다.
새롭게 동조된 신호에 대응하는 요건들이 신호에서 주기적으로 찾아질 수 있지만 그러한 주기성이 상당히 긴 주기의 시간일 수 있음을 생각할 때, 그러한 요건들이 그러한 신호에서 실제로 찾아지기까지 미디어 시스템이 그러한 비교적 긴 주기의 시간을 대기하게 하는 것은 불합리할 수 있음을 인식해야 한다. 특히, 수신 기가 상이한 디지털 신호들에 아마 이분의 일초마다 한 번 정도로 자주 상당히 규칙적으로 동조하고 있는 상황에서는, 요건들을 새롭게 동조된 신호에서 찾기 위해 수신기가 비교적 긴 주기의 시간을 대기할 수 있을 것으로 기대할 수 없을 수 있다.
그리고, 수신기가 디폴트 세트의 요건들을 예비적으로 보내고나서, 실제 세트의 요건들을 실제로 찾아졌을 때 보내는 시스템 및 방법에 대한 요구가 있다. 특히, 수신기가 실제 요건들이 보내지기까지 미디어 시스템에 의해 채용될 그러한 디폴트 요건들을 보낼 수 있는 방법에 대한 요구가 있다. 또한, 미디어 시스템이 그러한 디폴트 요건들과 그러한 대응하는 실제 요건들을 서로 구별할 수 있고, 대응하는 실제 요건들의 수신시에 디폴트 요건들을 실제 요건들로 교체할 수 있게 하는 방법에 대한 요구가 있다.
마지막으로, 미디어 시스템이 새롭게 동조된 신호들에 대응하는 비교적 대량의 라이선스들을 저장할 것이지만, 대부분은 아닐지라도 많은 그러한 라이선스들이 그다지 오랫동안 필요하지 않을 것임을 생각할 때, 그러한 라이선스들은 대부분이 일시적으로만 저장되어야 함을 인식해야 한다. 다시 한번 말하자면, 수신기가 상당히 규칙적으로 아마 이분의 일초당 한번 정도로 상이한 디지털 신호들에 동조하고 있는 상황에서는, 미디어 시스템에 의해 생성되어 저장되는 모든 대응하는 라이선스들이 영구적으로 이용 가능하게 만들어져야 하거나 만들어질 수 있다고 기대할 수 없을 수 있다.
그리고, 미디어 시스템이 동조된 신호들에 대응하는 적어도 일부의 라이선스 들을 일시적으로만 저장하는 시스템 및 방법에 대한 요구가 있다. 특히, 미디어 시스템이 어떤 라이선스들을 일시적으로만 저장할 필요가 있는지를 인식할 수 있는 방법에 대한 요구가 있다. 또한, 미디어 시스템이 그러한 일시적으로 저장된 라이선스들을 삭제하게 하는 방법에 대한 요구가 있다.
앞서 설명한 요구들은 디지털 라이선스를 위한 요건들을 대응하는 디지털 콘텐츠의 수신기로부터 디지털 콘텐츠가 렌더링될 컴퓨팅 장치로 전달하기 위한 방법이 제공되는 본 발명에 의해 적어도 부분적으로 충족된다. 본 발명의 방법에서, 수신기는 콘텐츠에 동조하고 초기에는 라이선스를 위한 요건들에 관한 정보를 찾지 않으며, 따라서 디폴트 요건들을 포함하는 디폴트 메시지를 구성하고, 그렇게 구성된 디폴트 요건들을 갖는 디폴트 메시지를 컴퓨팅 장치로 보낸다. 보내진 디폴트 요건들을 갖는 디폴트 메시지의 수신에 대해 컴퓨팅 장치는 그렇게 수신된 디폴트 요건들에 기반해서 디폴트 버전의 라이선스를 구성하고, 그렇게 구성된 디폴트 버전의 라이선스를 그 컴퓨팅 장치의 라이선스 저장소에 저장하며, 그 후에 디폴트 버전의 라이선스에 일치해서만 콘텐츠를 렌더링한다.
수신기는 그 다음에 라이선스를 위한 요건들에 관한 정보를 실제로 찾고, 따라서, 찾아진 정보로부터 실제 요건들을 갖는 실제 메시지를 구성하며, 그렇게 구성된 실제 요건들을 갖는 실제 메시지를 컴퓨팅 장치로 보낸다. 보내진 실제 요건들을 갖는 실제 메시지를 수신함에 의해 컴퓨팅 장치는 그렇게 수신된 실제 요건들에 기반한 실제 버전의 라이선스를 구성하고, 그렇게 구성된 실제 버전의 라이선스를 디폴트 버전의 라이선스의 대신에 그러한 컴퓨팅 장치의 라이선스 저장소에 저장하며, 그 후에 실제 버전의 라이선스에 일치해서만 콘텐츠를 렌더링한다. 그래서, 수신기는 라이선스를 위한 요건들에 관한 정보가 찾아지기까지 컴퓨팅 장치에 의한 콘텐츠의 렌더링을 지연할 필요가 없다.
앞서의 개요 및 아래의 본 발명의 실시예들에 대한 상세한 설명은 첨부된 도면들과 관련해서 읽으면 더 잘 이해될 것이다. 본 발명을 예시할 목적으로, 도면에는 본 발명의 바람직한 실시예들이 도시되어 있다. 그러나, 알 수 있듯이, 본 발명은 도시된 정확한 배열 및 수단으로 제한되지 않는다.
도 1은 본 발명이 구현될 수 있는 예시적 비제한적인 컴퓨팅 환경을 표현하는 블록 다이어그램이다.
도 2는 본 발명이 구현될 수 있는 다양한 컴퓨팅 장치들을 갖는 예시적 네트워크 환경을 표현하는 블록 다이어그램이다.
도 3은 본 발명의 다양한 실시예에 따라 대응하는 디지털 콘텐츠를 렌더링하기 위한 디지털 라이선스를 포함하는 신뢰 기반 시스템의 한 예의 단속 아키텍처를 도시한 블록 다이어그램이다.
도 4는 도 3의 신뢰 기반 시스템의 한 예를 도시하는 블록 다이어그램이며, 특히 본 발명의 다양한 실시예에 따라 콘텐츠의 암호화된 스트림을 미디어 시스템으로 전달하여 렌더링하기 위한 수신기를 도시한다.
도 5는 본 발명의 한 실시예에 따라 도 4의 암호화된 콘텐츠에 관련하여 도 4의 수신기에 의해 도 4의 미디어 시스템으로 보내지는 단축 버전의 요건들을 도시하는 블록 다이어그램이다.
도 6-9는 본 발명의 다양한 실시예에 따른 도 4의 수신기 및 미디어 시스템에 의해 수행되는 주요 단계들을 도시하는 플로우 다이어그램으로서, 수신기가 도 5의 요건들을 미디어 시스템으로 보내는 단계(도 6), 수신기 및 미디어 시스템이 새롭게 동조된 스트림을 위한 콘텐츠 키(CK)를 각각 파생시키는 단계(도 7), 수신기가 실제 요건들이 구성될 수 있는 스트림에 있는 정보와 마주치기 전에 새롭게 동조된 스트림을 위해 디폴트 요건들을 갖는 디폴트 파생 메시지를 미디어 시스템으로 보내는 단계(도 8) 및 미디어 시스템이 일시적 라이선스 저장소를 채용하고 정리작업 기능에 의해 그 것으로부터 마크된 라이선스들을 삭제하는 단계(도 9)를 포함한다.
컴퓨터 환경
도 1 및 아래의 설명은 본 발명이 구현될 수 있는 적절한 컴퓨팅 환경을 간략하게 일반적으로 기술하려는 것이다. 그러나, 핸드헬드, 휴대형 및 기타 모든 종류의 컴퓨팅 장치들이 본 발명과 관련한 용도로 고려됨을 이해하여야 한다. 범용 컴퓨터가 아래에 기술되어 있지만, 이것은 한 예일 뿐이며, 본 발명은 네트워크 서버 상호운용성 및 상호작용을 갖는 신 클라이언트(thin client)를 요구할 뿐이다. 그래서, 본 발명은 아주 작거나 최소의 클라이언트 자원만이 관련되는 네트워크 호스팅되는 서비스의 환경에서 예를 들어, 클라이언트 장치가 단지 월드와이드 웹에 대한 브라우저 또는 인터페이스로서의 역할만 하는 네트워크 환경에서 구현될 수 있다.
필수적이진 않지만, 본 발명은 애플리케이션 프로그래밍 인터페이스(API)에 의해 개발자에 의한 사용을 위해 구현될 수 있고/있거나, 클라이언트 워크스테이션, 서버 또는 기타의 장치 등과 같은 하나 이상의 컴퓨터에 의해 실행되는 프로그램 모듈 등과 같은 컴퓨터 실행 가능한 명령어들의 일반적 문맥으로 기술될 네트워크 브라우징 소프트웨어 내에 포함될 수도 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 개체, 컴포넌트, 데이터 구조 등을 포함한다. 통상적으로, 프로그램 모듈들의 기능은 다양한 실시예에서 원하는 대로 결합되거나 분산될 수 있다. 또한, 이 기술분야에서 숙련된 자는 본 발명이 다른 컴퓨터 시스템 구성으로 실시될 수도 있음을 인식할 것이다. 본 발명에 이용하기에 적절할 수 있는 기타의 공지된 컴퓨팅 시스템, 환경 및/또는 구성들은, 제한적인 것은 아니지만, 퍼스널 컴퓨터(PC), 자동 입출금기, 서버 컴퓨터, 핸드헬드 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 프로그램 가능한 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시될 수 도 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 비롯한 로컬 및 원격 컴퓨터 저장 매체 둘다에 위치할 수 있다.
그래서 도 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 standard association) 로컬 버스, 그리고 메자닌 버스(mezzanine bus)로도 알려진 PCI(peripheral component interconnect) 버스 등을 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터(110)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다.
시스템 메모리(130)는 판독 전용 메모리(ROM)(131) 및 랜덤 액세스 메모리(RAM)(132)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에, 컴퓨터(110) 내의 구성요소들 사이의 정보 전송 을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(133)은 통상적으로 ROM(131)에 저장되어 있다. RAM(132)은 통상적으로 처리 장치(120)가 즉시 액세스 할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 1은 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장매체를 포함한다. 단지 예로서, 도 1은 비이동식?비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(141), 이동식?비휘발성 자기 디스크(152)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(151), CD-ROM 또는 기타 광 매체 등의 이동식?비휘발성 광 디스크(156)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(155)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 기억 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) 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)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다. 사용자는 키보드(162), 마이크(163) 및 마우스, 트랙볼(trackball) 또는 터치 패드와 같은 포인팅 장치(161) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(110)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스(121)에 결합된 사용자 입력 인터페이스(160)를 통해 처리 장치(120)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다.
모니터(191) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속될 수 있다. 또한, 노스브리지(Northbridge) 등과 같은 그래픽 인터페이스(182)가 시스템 버스(121)에 접속될 수도 있다. 노스브리지는 CPU 또는 호스트 처리 장치(120)와 통신하는 칩셋이고, 가속 그래픽 포트(AGP) 통신을 담당한다. 하나 이상의 GPU(graphics processing unit)(184)가 그래픽 인터페이스(182)와 통신할 수 있다. 이와 관련하여, GPU(184)는 일반적으로 레지스터 저장 등과 같은 온칩(on-chip) 메모리 저장을 포함하고, GPU(184)는 비디오 메모리(186)와 통신한다. 그러나, GPU(184)는 코프로세서의 단지 하나의 예일 뿐이고, 다양한 코프로세싱 장치들이 컴퓨터(110)에 포함될 수 있다. 또한, 모니터(191) 또는 다른 종류의 표시 장치가 비디오 메모리(186)와 통신할 수 있는 비디오 인터페이스(190) 등과 같은 인터페이스에 의해 시스템 버스(121)에 접속된다. 모니터(191) 외에, 컴퓨터는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터페이스(195)를 통해 접속될 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워킹된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 또 하나의 퍼스널 컴퓨터, 핸드-헬드 장치, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 통상적으로 컴퓨터(110)와 관련하여 상술된 구성요소들의 대부분 또는 그 전부를 포함한다. 도 1에 도시된 논리적 접속으로는 LAN(171) 및 WAN(173)이 있지만, 기타 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴 퓨터(110)는 통상적으로 인터넷과 같은 WAN(173)을 통해 통신을 설정하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121)에 접속된다. 네트워킹된 환경에서, 컴퓨터(110) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 1은 원격 애플리케이션 프로그램(185)이 원격 컴퓨터(180)에 있는 것으로 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다.
이 기술분야에서 통상의 지식을 가진 자는 컴퓨터(110) 또는 기타의 클라이언트 장치가 컴퓨터 네트워크의 일부로서 배치될 수 있음을 알 수 있다. 이와 관련하여, 본 발명은 임의 개수의 메모리 또는 저장 장치 및 어떤 수의 저장 장치 또는 볼륨들에 걸쳐 일어나는 임의 개수의 애플리케이션 및 프로세스들을 갖는 어떤 컴퓨터 시스템에 관한 것이다. 본 발명은 원격 또는 로컬 저장 장치를 갖고 네트워크 환경에 배치되는 서버 컴퓨터 및 클라이언트 컴퓨터들을 갖는 환경에 적용할 수 있다. 본 발명은 또한 프로그래밍 언어 기능성, 해석 및 실행 능력을 갖는 독립적인 컴퓨팅 장치에 적용할 수 있다.
분산 컴퓨팅은 컴퓨팅 장치 및 시스템들 사이의 직접 교환에 의해 컴퓨터 자원 및 서비스의 공유를 용이하게 한다. 이러한 자원 및 서비스는 정보 교환, 캐시 저장 및 파일의 디스크 저장을 포함한다. 분산 컴퓨팅은 네트워크 접속성의 이점 을 취하며, 그것은 클라이언트들이 회사 전체를 이롭게 하기 위해 그들의 집합적인 능력을 투입할 수 있게 한다. 이와 관련하여, 다양한 장치들이 신뢰 그래픽 파이프라인들을 위해 본 발명의 인증 기법들과 관련하여 상호작용할 수 있는 애플리케이션, 개체 또는 자원들을 가질 수 있다.
도 2는 예시적 네트워크 연결, 즉 분산 컴퓨팅 환경의 개략적 다이어그램을 도시한다. 분산 컴퓨팅 환경은 컴퓨팅 개체(10a,10b 등) 및 컴퓨팅 개체 또는 장치(110a,110b,110c 등)를 포함한다. 이러한 개체들은 프로그램, 메소드, 데이터 저장소, 프로그램 가능한 로직 등을 포함할 수 있다. 개체들은 PDA, 텔레비전, MP3 플레이어, 텔레비전, 퍼스널 컴퓨터 등과 같은 동일한 또는 상이한 장치들의 부분들을 포함할 수 있다. 각각의 개체는 네트워크(14)에 의해 다른 개체와 통신할 수 있다. 이 네트워크 자체는 도 2의 시스템에 대해 서비스를 제공하는 다른 컴퓨팅 개체 및 컴퓨팅 장치들을 포함할 수 있다. 본 발명의 한 양태에 따르면, 각각의 개체(10 또는 110)가 신뢰된 그래픽 파이프라인들을 위해 본 발명의 인증 기법을 요청할 수 있는 애플리케이션을 가질 수 있다.
또한, 개체(110c) 등과 같은 개체가 다른 컴퓨팅 장치(10 또는 110)에서 호스트될 수 있음을 알 수 있다. 그래서, 도시된 물리적 환경이 접속된 장치들을 컴퓨터로서 도시할 수 있을지라도, 그러한 도시는 단지 예시적일 뿐이며, PDA, 텔레비전, MP3 플레이어 등과 같은 다양한 디지털 장치 및 인터페이스, COM 개체 등과 같은 소프트웨어 개체를 포함하는 물리적 환경이 대안적으로 도시되거나 기술될 수 있다.
분산 컴퓨팅 환경을 지원하는 다양한 시스템, 컴포넌트 및 네트워크 구성이 있다. 예를 들어, 컴퓨팅 시스템들은 유선 또는 무선 시스템에 의하고 근거리 네트워크 또는 광역 분산 네트워크에 의해 서로 접속될 수 있다. 현재, 다수의 네트워크들이 인터넷에 연결되어 있으며, 그것은 광역 분산 컴퓨팅을 위한 기반 구조를 제공하고 다수의 상이한 네트워크들을 포함한다.
홈 네트워킹 환경에서는, 전력선, 데이터(무선 및 유선), 음성(예를 들어, 전화) 및 엔터테인먼트 미디어 등과 같은 고유 프로토콜을 각각 지원할 수 있는 적어도 4종의 이종 네트워크 전송 미디어가 있다. 광 스위치 및 기기 등과 같은 대부분의 홈 제어 장치들은 접속성을 위해 전력선을 이용할 수 있다. 데이터 서비스들은 광대역(예를 들어, DSL 또는 케이블 모뎀)으로서 가정에 들어갈 수 있고, 무선(예를 들어, HomeRF 또는 802.11b) 또는 유선(예를 들어, Home PNA, Cat 5, 심지어 전력선) 접속성을 이용하여 가정 내에 접근할 수 있다. 음성 트래픽은 유선(예를 들어, Cat 3) 또는 무선(예를 들어, 이동전화)로서 가정에 들어갈 수도 있고 Cat 3 배선을 이용하여 가정 내에서 분산될 수도 있다. 엔터테인먼트 미디어는 위성 또는 케이블을 통해 가정에 들어갈 수 있고, 통상적으로 동축 케이블을 이용하여 가정에서 분산된다. 또한, IEEE 1394 및 DVI는 미디어 장치의 클러스터들을 위한 디지털 상호접속으로 출현하고 있다. 프로토콜 표준으로 출현할 수 있는 모든 상기 네트워크 환경 및 다른 네트워크 환경을 상호 접속하여 인터넷에 의해 바깥 세상에 접속될 수 있는 인트라넷을 형성할 수 있다. 요약하자면, 데이터의 저장 및 전송을 위한 다양한 이종 소스가 존재하게 되므로, 컴퓨팅 장치들이 데이터 처 리 파이프라인의 모든 부분들에서 콘텐츠를 보호하는 방법을 필요로 하게 되는 방향으로 진행할 것이다.
'인터넷'은 흔히 컴퓨터 네트워킹 기술 분야에서 공지된 TCP/IP 프로토콜 스위트를 이용하는 네트워크 및 게이트웨이들의 집합이라고 지칭된다. TCP/IP는 "전송 제어 프로토콜/인터페이스 프로그램(Transfer Control Protocol/Interface Program)"의 두문자어이다. 인터넷은 사용자가 네트워크를 통한 상호작용 및 정보공유를 할 수 있도록 하는 네트워킹 프로토콜을 실행하는 컴퓨터들로 상호 접속된 지리적으로 분산된 원격 컴퓨터 네트워크들의 시스템인 것으로 기술될 수 있다. 지금까지, 그러한 광범위한 정보 공유로 인해, 일반적으로 인터넷 등과 같은 원격 네트워크들은 개발자들이 전문적 운영 또는 서비스를 본질적으로 제한 없이 수행하기 위한 소프트웨어 애플리케이션들을 설계할 수 있는 개방 시스템으로 진화되어 왔다.
그래서, 그 네트워크 기반구조는 클라이언트/서버, P2P(peer-to-peer), 또는 혼성 아키텍처 등과 같은 다수의 네트워크의 형태들을 가능하게 한다. "클라이언트"는 무관한 다른 클래스 또는 그룹의 서비스들을 이용하는 어떤 클래스 또는 그룹의 일원이다. 그래서, 컴퓨팅에서, 클라이언트는 다른 프로그램에 의해 제공되는 서비스를 요구하는 프로세스, 즉, 대략적으로 한 세트의 명령어 또는 작업이다. 클라이언트 프로세스는 기타의 프로그램 또는 서비스 자체에 관한 어떠한 작업 상세사항을 “알” 필요 없이 요청된 서비스를 이용한다. 클라이언트/서버 아키텍처, 자세하게는, 네트워크가 연결된 시스템에서, 통상적으로 클라이언트는 예를 들 어, 서버 등의 다른 컴퓨터에 의해 제공되는 공유된 네트워크 자원들에 접근하는 일종의 컴퓨터이다. 도 2의 예에서는, 컴퓨터(110a,110b 등)들이 클라이언트인 것으로 생각될 수 있고, 컴퓨터(10a,10b 등)들은 서버인 것으로 생각될 수 있으며, 서버(10a,10b 등)는 나중에 클라이언트 컴퓨터(110a,110b 등)에서 복제되는 데이터를 유지한다.
서버는 통상적으로 인터넷 등과 같은 원격 네트워크를 통해 접근할 수 있는 원격 컴퓨터 시스템이다. 클라이언트 프로세스는 제1 컴퓨터 시스템에서 활성화 될 수 있고, 서버 프로세스는 제2 컴퓨터 시스템에서 활성화 될 수 있고, 통신 매체를 통해 서로 통신하여 분산 기능성을 제공하고 다수의 클라이언트들이 서버의 정보수집 능력을 이용할 수 있도록 한다.
클라이언트 및 서버는 프로토콜 계층에 의해 제공된 기능성을 이용하여 서로 통신한다. 예를 들어, 하이퍼텍스트 전송 프로토콜(HTTP)은 월드와이드웹(WWW)과 관련해서 이용되는 보편적인 프로토콜이다. 통상적으로, 유니버설 리소스 로케이터(URL) 또는 인터넷 프로토콜(IP) 어드레스 등과 같은 컴퓨터 네트워크 어드레스가 서버 또는 클라이언트 컴퓨터들을 서로 식별하기 위해 이용된다. 네트워크 어드레스는 유니버설 리소스 로케이터 어드레스로 지칭될 수 있다. 예를 들어, 통신은 통신 매체를 통해 이루어질 수 있다. 특히, 클라이언트와 서버는 대용량 통신을 위해 TCP/IP 접속에 의해 서로 연결될 수 있다.
그래서, 도 2는 서버가 네트워크/버스에 의해 클라이언트 컴퓨터들과 통신하고 있는 본 발명이 채용될 수 있는 예시적 네트워크 연결, 즉 분산 환경을 도시한 다. 좀더 자세하게는, 다수의 서버(10a,10b 등)들이 본 발명에 따라 휴대형 컴퓨터, 핸드헬드 컴퓨터, 신 클라이언트, 네트워크 연결된 기기, 또는 VCR, TV, 오븐, 발광체, 히터 등 다른 장치 등과 같은 다수의 클라이언트 또는 원격 컴퓨팅 장치(110a,110b,110c,110d,110e 등)를 갖는 LAN, WAN, 인트라넷, 인터넷 등일 수 있는 네트워크/버스(14)에 의해 상호접속된다. 그래서 본 발명은 신뢰 소스로부터의 콘텐츠를 처리하고 저장하며 렌더링하는 것이 바람직한 어떠한 컴퓨팅 장치에든 적용할 수 있을 것으로 생각된다.
네트워크/버스(14)가 예를 들어 인터넷인 네트워크 환경에서, 서버(10)는 클라이언트(110a,110b,110c,110d,110e 등)가 HTTP 등과 같은 다수의 알려진 프로토콜들 중의 어느 것에 의해 통신하는 웹 서버들일 수 있다. 서버(10)는, 아마도 분산 컴퓨팅 환경의 특징으로서, 클라이언트(110)의 역할을 할 수도 있다. 통신은 경우에 따라 유선 또는 무선일 수 있다. 클라이언트 장치(110)는 네트워크/버스(14)에 의해 통신할 수도 있고 안 할 수도 있으며, 그것으로부터 독립적인 통신을 할 수도 있다. 예를 들어, TV 또는 VCR의 경우에, 그 제어부에 대해 네트워크 연결된 양태일 수도 있고 아닐 수도 있다. 각각의 클라이언트 컴퓨터(110) 및 서버 컴퓨터(10)는 다양한 애플리케이션 프로그램 모듈 또는 개체(135)들을 가질 수 있고, 파일들이 저장되거나 또는 파일들의 부분들이 다운로드되거나 이동할 수 있는 다양한 종류의 저장 요소 또는 개체들에 접속 또는 접근할 수 있다. 그래서, 본 발명은 컴퓨터 네트워크/버스(14)에 접근하거나 상호작용할 수 있는 클라이언트 컴퓨터(110a,110b 등) 및, 클라이언트 컴퓨터(110a,110b 등)와 기타의 장치(111) 및 데 이터베이스(20)들과 상호작용할 수 있는 서버 컴퓨터(10a,10b 등)를 갖는 컴퓨터 네트워크 환경에서 이용될 수 있다.
권리 관리( RM ) 개요
알려진 바와 같이, 도 3을 보면, 권리 관리(RM) 및 단속은 디지털 오디오, 디지털 비디오, 디지털 텍스트, 디지털 데이터, 디지털 멀티미디어 등과 같은 사용자에게 배포되거나 재배포될 디지털 콘텐츠(32)와 관련해서 매우 바람직하다. 사용자의 수신시, 그 사용자는 미디어 플레이어, 텍스트 디스플레이어 등과 같은 적절한 렌더링 장치의 도움으로 퍼스널 컴퓨터(34) 등에서 디지털 콘텐츠(32)를 렌더링한다.
통상적으로, 콘텐츠 소유자나 개발자 또는 그러한 디지털 콘텐츠(32)를 배포하는 배포자(이하, '배포자')는 그렇게 배포된 디지털 콘텐츠(32)를 사용자가 처리할 수 있는 것을 제한하거나 또는 적어도 콘텐츠(32)가 원하지 않는 방식으로 재배포되지 않는다는 것을 보장하기를 원한다. 예를 들어, 콘텐츠 배포자는 사용자가 그러한 콘텐츠(32)를 복사하여 제2 사용자에게 재배포하는 것을 제한하기를 원할 수도 있고, 또는 배포된 디지털 콘텐츠(32)를 제한적 횟수로만, 제한적 총시간 동안만, 특정한 종류의 기계로만, 특정한 종류의 렌더링 플랫폼으로만, 특정한 종류의 사용자에 의해서만 등으로 렌더링할 수 있도록 하는 것을 원할 수도 있다.
그러나, 앞서 설명했듯이, 배포가 이루어진 후에는, 그러한 배포자는 디지털 콘텐츠(32)에 대한 제어를 하더라도 아주 미미하게 밖에 할 수 없다. 그 후에는, RM 시스템(30)이 임의의 형태들의 디지털 콘텐츠(32)의 통제된 렌더링을 허용하며, 그러한 통제는 유연하고 그러한 디지털 콘텐츠의 콘텐츠 배포자에 의해 정의될 수 있다. 통상적으로, 콘텐츠(32)를 보호하기 위해, 그러한 콘텐츠(32)는 대칭적 암호화/복호화 키(KD)(즉, (KD(콘텐츠)))로 암호화되며, 콘텐츠(32)에 관한 다른 정보와 함께 패키지(33)로 패키지된다.
신뢰 기반 RM 시스템(30)은 디지털 콘텐츠(32)의 배포자가 그러한 디지털 콘텐츠(32)가 사용자의 컴퓨팅 장치(34)에 의해 렌더링되는 것이 허용되기 전에 충족되어야 할 라이선스 룰들 중 적어도 일부를 정하는 것을 허용한다. 그러한 라이선스 룰은 앞서 설명한 시간적 요건을 포함할 수 있고, 사용자/사용자의 컴퓨팅 장치(34)(이하, 그러한 용어들은 달리 지정되지 않는 한 호환 가능함)가 소지하고 있어야 할 디지털 라이선스 또는 사용자 문서(이하, '라이선스')(36) 내에서 구현될 수 있다. 그러한 라이선스(36)는 또한 디지털 콘텐츠(32)-아마도 사용자의 컴퓨팅 장치(34)에 의해 복호화 할 수 있는 키에 따라 암호화됨-를 복호화하는 복호화 키(KD)를 포함한다. 도 3에서 알 수 있듯이, 그러한 암호화 키는 사용자의 컴퓨팅 장치(34)의 공개키(PU-C)이고, 사용자의 컴퓨팅 장치(34)는 (PU-C(KD))를 복호화할 수 있는 대응하는 개인키(PR-C)를 갖는다고 추정할 수 있다.
하나의 디지털 콘텐츠(32)의 콘텐츠 배포자는 사용자의 컴퓨팅 장치(34)가 그러한 콘텐츠 소유자가 라이선스(36)에서 정한 룰 및 요건들을 준수할 것이라는 것, 즉 라이선스(36) 내의 룰 및 요건들이 충족되지 않는 한, 디지털 콘텐츠(32)가 렌더링되지 않을 것이라는 것을 신뢰해야만 한다. 그리고, 양호하게는, 사용자의 컴퓨팅 장치(34)에, 디지털 콘텐츠(32)와 관련해서 사용자가 확보한 라이선스(36) 에 구현된 라이선스 룰에 따르는 것을 제외하고는 디지털 콘텐츠(32)를 렌더링하지 않을, 신뢰 컴포넌트 또는 메커니즘(38)이 구비된다.
신뢰 컴포넌트(38)는 통상적으로 라이선스(36)가 유효한지 판단하고, 그러한 유효한 라이선스(36)에 있는 라이선스 룰 및 요건들을 검토하며, 검토된 라이선스 룰 및 요건들에 기반하여 요청한 사용자가 요청된 디지털 콘텐츠(32)를, 특히, 추구하는 방식으로 렌더링할 권한을 갖는지를 판단하는 라이선스 평가기(40)를 갖는다. 알 수 있듯이, 라이선스 평가기(40)는 디지털 콘텐츠(32)의 소유자의 요청을 라이선스(36)의 룰 및 요건에 따라 수행하기 위해 RM 시스템(30)을 신뢰하게 되며, 사용자는 그러한 신뢰 요소를 사악하거나 또는 다른 어떤 목적으로도 용이하게 변경할 수 없어야 한다.
알 수 있듯이, 라이선스(36)의 룰 및 요건은 사용자가 누구인지, 사용자가 어디에 있는지, 사용자가 어떤 종류의 컴퓨팅 장치를 사용하고 있는지, 어떤 렌더링 애플리케이션이 RM 시스템(30)을 호출하고 있는지, 일자, 시간 등을 포함하는 몇 개의 인자들 중 어느 것에 기반하여 사용자가 디지털 콘텐츠(32)를 렌더링할 권한을 갖는지를 정할 것이다. 또한, 라이선스(36)의 룰 및 요건은 예를 들어 렌더링의 예정된 횟수 또는 예정된 렌더링 시간으로 라이선스(36)를 제한할 수 있다. 그래서, 신뢰 컴포넌트(38)는 컴퓨팅 장치(34)의 시계(42)를 조회할 필요가 있을 수 있다. 그러한 시계(42)가 제공된다면, 그러한 시계(42)는 라이선스(36)의 시간적 제한을 극복하기 위한 노력으로 사용자가 변경할 수 없는 보안 시계(42)일 수 있다.
룰 및 요건들은 적절한 어떤 언어 및 신택스(syntax)에 따라 라이선스(36)에 정해질 수 있다. 예를 들어, 언어는 단순히 충족되어야 할 속성 및 값(예를 들어, 일자가 특정일 이후여야 한다는 것(DATE must be later than X))만을 정할 수도 있고, 또는 정해진 스크립트에 따른 기능의 수행(예를 들어, 일자가 특정수보다 크면, ...을 하라(IF DATE greater than X, THEN DO ...))을 요구할 수도 있다.
라이선스 평가기(40)가 라이선스(36)가 유효한지 및 사용자가 그 룰 및 요건들을 충족하는 것으로 판단하면, 디지털 콘텐츠(32)가 렌더링될 수 있다. 특히, 콘텐츠(32)를 렌더링하기 위해, 복호화 키(KD)가 라이선스(36)로부터 얻어지고 콘텐츠 패키지(33)로부터의 (KD(콘텐츠))에 적용되어 실제 콘텐츠(32)를 산출하고 실제 콘텐츠(32)가 실제로 렌더링된다. 앞서 말했듯이, 물론, 라이선스(36)에 개시된 모든 조건을 그 엔티티가 준수한다고 가정하면, (PU-C(KD))를 갖는 라이선스(36)는 (PR-C)를 소지하고 있는 엔티티를 사실상 인증하여 (KD)에 접근함으로써 그러한 (KD)에 따라 암호화된 콘텐츠(32)에 접근하도록 한다.
라이선스(36)는 통상적으로 인증/확인을 위한 디지털 서명을 포함한다는 것을 주목하자. 마찬가지로, 하나의 디지털 콘텐츠(32) 등과 같은 다른 형태의 디지털 구성체들도 그러한 인증/확인을 위한 디지털 서명을 가질 수도 있다. 알려진 바와 같이, 그러한 디지털 서명은 예를 들어 한 쌍의 비대칭적 키 또는 대칭적 무결성 키(integrity key)로부터의 제1 키에 기반하여 서명이 첨부된 기초 데이터에 대해 어떤 종류의 해시(hash)를 수행하고나서 그 해시를 키로 암호화함으로써 구성될 수 있다. 그 후, 그 한 쌍의 비대칭적 키 또는 무결성 키로부터의 제2 키를 적 용함으로써, 다시 예를 들어 암호화된 해시를 복호화하고 복호화된 해시를 서명이 첨부된 기초 데이터의 다른 하나의 해시와 비교함으로써, 서명이 확인된다. 해시들이 일치하면, 기초 데이터가 변경되지 않았다고 추정할 수 있고, 그러므로 기초 구성체를 인증할 수 있다. 통상적으로, RM 시스템(30)은 인증되지 않는 라이선스(36) 등은 받아들이지 않을 것이다.
스트리밍된 멀티미디어 콘텐츠(32)를 수신하고 처리하는 시스템
도 4를 보면, 멀티미디어 콘텐츠(32)를 수신하고 처리하는 시스템(44)이 도시되어 있다. 명백하듯이, 그러한 시스템(44)은 예를 들어 다중 채널 배포자로부터의 텔레비전 신호 등과 같은 멀티미디어 콘텐츠(32)의 다중 스트림을 포함하는 입력 신호를 처리하기에 특히 적합하다. 그러나, 그러한 시스템(44)은 본 발명의 정신 및 범위를 벗어남이 없이 다른 입력 신호들을 처리하기도 할 것이다.
시스템(44)에서, 배포자에 의해 제공된 앞서 설명한 입력 신호는 본 발명의 정신 및 범위를 벗어남이 없는 적절한 어떤 수신기-물론, 그러한 수신기가 여기에서 설명한 기능들을 수행할 수 있다고 가정-일 수 있는 수신기(46)에 적용된다. 예를 들어, 수신기(46)는 디지털 케이블 텔레비전 신호를 수신하여 그 신호를 콘텐츠(32)의 렌더링을 포함하는 추후 디지털 처리를 위해 전달하도록 개발된 것 등과 같은 단방향 케이블 수신기(Uni-Directional Cable Receiver; UDCR)일 수 있다. 알다시피, 수신기(46)는 명령을 받으면 입력 신호로부터의 멀티미디어 콘텐츠(32)의 다중 스트림들 중 하나에 동조하고 그 것을 추후 처리를 위해 전달한다. 또한, 수신기(46)는 콘텐츠(32)의 동조된 스트림을 전달하기 전에, 필요하다면, 그러한 스트림(32)을 원래의 포맷으로부터 그러한 추후 처리에 더 적합한 포맷으로 변환할 수 있다.
예상되듯이, 입력 신호의 멀티미디어 콘텐츠(32)의 다중 스트림들의 각각은 암호화되거나 되지 않을 수 있다. 입력 신호 내의 콘텐츠(32)의 특정 스트림에 동조할 때, 수신기(46)는 아래에서 좀더 자세하게 설명할 방식으로 그러한 스트림이 암호화되었으면 복호화하여 재암호화하거나, 또는 암호화되어 있지 않으면 아래에서 좀더 자세하게 설명할 방식으로 암호화하기만 하면 된다. 앞서 암시했듯이, 수신기(46)는 스트림이 RM-보호되는 것에 대한 보장의 일부로서 콘텐츠(32)의 스트림을 암호화한다. 그래서, 콘텐츠(32)의 스트림은 비보호된 형태로 재배포될 수 없다.
또한 도 4에 도시된 바와 같이, 수신기(46)로부터 콘텐츠(32)의 암호화된 스트림을 수신하여 그것의 추후 처리를 행하기 위한 미디어 시스템(48)이 제공된다. 아마도 사용자로부터 그러한 대응하는 명령을 수신할 때, 미디어 시스템(48)이 수신기(46)에게 입력 신호 내의 콘텐츠(32)의 특정 스트림에 동조하라고 명령했다고 추정되지만, 본 발명의 정신 및 범위로부터 벗어남이 없이 다른 소스들에 의해 명령이 개시될 수 있음을 인식할 수 있을 것이다. 하여튼, 수신기(46)로부터 콘텐츠(32)의 스트림을 수신할 때, 미디어 시스템(48)은 그것을 검색에 적당한 저장 장치(50)에 저장하고 즉시 또는 소정 시간 지연 후에 렌더링한다. 스트림(32)을 렌더링할 때, 미디어 시스템(48)은 하나 이상의 모니터(52), 스피커(54), 기타의 디스플레이(56) 등과 같은 하나 이상의 출력 장치로 적절한 신호를 전달한다.
저장된 스트림(32)이 RM-보호된 형태인 한, 미디어 시스템(48)은 도 3의 신뢰 컴포넌트(38), 라이선스 평가기(40) 및 시계(42) 등과 같은 RM 컴포넌트들을 포함한다. 그래서, 특정 스트림(32)을 검색할 때, 미디어 시스템(38)은 아래에서 좀더 자세하게 설명하듯이 대응하는 라이선스(36)에 일치해서만 그것을 렌더링한다. 따라서, 암호화된 스트림(32)은 그러한 라이선스(36)가 그렇게 허용하는 경우에만 라이선스(36)에 설명된 콘텐츠 키(CK)로 복호화되어 렌더링된다. 암호화된 스트림(32)이 (제1) 미디어 시스템(48)에 적어도 일시적으로 저장되는 한, 이론상 그 사용자는 그 스트림을 다른(제2) 미디어 시스템(48)에 복사하여 렌더링할 수 있다는 것에 주목하자. 그러나, 라이선스(36)에 일치해서만 스트림을 암호화하고 복호화할 수 있다면, 그리고 라이선스(36)가 제1 미디어 시스템(48)에만 제한되어 있다면, 그러한 라이선스(36)는 제2 미디어 시스템(48)에 의해 채용될 수 없다.
그러나, 제1 미디어 시스템(48)이 실제로 그렇게 할 수 있고 라이선스(36)가 그렇게 허용한다고 가정하면, 제1 미디어 시스템(48)이 복사된 스트림(32)을 위한 서브라이선스(36)를 제2 미디어 시스템(48)에 발행할 수 있는 경우가 있을 수 있다는 것을 이해해야 한다. 그렇다면, 아래에서 좀더 자세하게 설명하듯이, 제2 미디어 시스템(48)에만 제한된 서브라이선스(36)가 실제로 제2 미디어 시스템(48)에 의해 채용되어 스트림(32)을 렌더링할 수 있다.
수신기(46)로부터 미디어 시스템(48)으로의 라이선스 요건의 전달
앞서 말했듯이, 특히 미디어 시스템(48)의 사용자가 몇 개의 스트림(32)들을 사실상 훑어보기 즉 ‘서핑’하고 있는 경우에는 수신기(46)가 미디어 시스템(48) 으로부터 명령을 수신하여 아마 이분의 일초 당 한번 정도로 상당히 규칙적으로 입력 신호로부터의 상이한 디지털 스트림(32)에 동조할 수 있음이 예상된다는 것을 이해해야 한다. 그러나, 각각의 새롭게 동조된 스트림(32)은 새로운 콘텐츠 키(CK)를 갖는 새로운 대응하는 라이선스(36)를 요구한다. 통상적으로, 그러한 라이선스(36)는 수신기(46)에 의해 구성되고 동조된 스트림(32)을 전달하기 직전에 수신기(46)로부터 미디어 시스템(48)으로 전달될 것이다.
그러나, 특히 라이선스(36)가 상세하고 암호화된 요소들을 포함하며 디지털 서명을 포함하는 등의 경우에는 그러한 새로운 라이선스(36)를 구성하고 그것을 수신기(46)로부터 미디어 시스템(48)으로 보내는 것은 매우 부담이 되는 것일 수 있음을 인식해야 한다. 그래서, 미디어 시스템이 그러한 수신기에게 그러한 스트림(32)에 실제로 동조하라고 명령할 때마다 수신기(46)가 새롭게 동조된 스트림(32)을 위해 새로운 라이선스(36)를 완전하게 구성할 수 있을 것으로 생각되지는 않는다. 이것은 앞서 설명한 서핑 상황에 대한 경우에서처럼 그러한 명령의 빈도가 초단위 정도인 경우에 특히 더 그렇다. 이것은 또한, 그러한 라이선스(36)를 신속하게 구성할 필요가 있을 수 있으므로, 수신기(46)에 특히 중요한 컴퓨팅 능력이 구비되어 있지 않으면 특히 더 그렇다. 하여튼, 새로운 스트림(32)이 동조되어야 한다고 명령하는 통상의 사용자는 명령이 발생된 후 1초 또는 2초 이내에 그러한 새로운 스트림(32)이 렌더링되고 주어지기를 기대할 것이다.
그리고 분명하게, 수신기(46)는 스트림(32)이 새롭게 동조될 때마다 새로운 라이선스(36)를 보낼 수는 없을 것이다. 대신에 본 발명의 한 실시예에서는, 수신 기(46)가 그러한 새로운 라이선스(36)가 될 수 있는 단축 버전의 요건(47)을 생성하여 보내며, 미디어 시스템(48)이 그러한 요건(47)을 수신하면 수신기(46)가 신뢰하게 되므로, 생각컨대, 수신기(46)가 이용 가능한 것 이상의 컴퓨팅 능력의 도움으로, 시스템(48)은 수신기(46) 대신에 그러한 새로운 라이선스(36)를 구성한다.
생각컨대, 수신기(46)는 스트림(32) 자체 내의 정보(49)로부터 스트림(32)을 위한 요건(47)을 판단한다. 스트림(32)의 정보(49)로부터 그러한 요건(47)을 판단하는 것은 관계자들에게 알려진 것이거나 또는 자명하다 할 것이므로 여기에서 자세하게 설명할 필요는 없고, 따라서 스트림(32)으로부터 그러한 요건(47)을 판단하는 방법은 본 발명의 정신 및 범위로부터 벗어남이 없이 채용될 수 있다. 예를 들어, 배포되는 스트림(32)에 알려진 간격 및 위치로 주기적으로 정보(49)가 제공되는 경우가 있을 수 있다.
특정 스트림(32)을 위해 수신기(46)에 의해 정해진 요건(47)은 물론 본 발명의 정신 및 범위로부터 벗어남이 없이 어느 요건(47)이라도 된다. 그러나, 통상적으로, 요건(47)은, 적어도 부분적으로, 제1 미디어 시스템(48)의 저장 장치(50)에 저장되고 그러한 제1 미디어 시스템(48)에 대해 라이선스된 스트림(32)이 실제로 제2 미디어 시스템(48)에 복사되고 서브라이선스될 수 있는지를 규정한다. 예를 들어, 그러한 복제권은 무제한 복사(CF: copy freely), 1회 복사가능(CO: copy once) 또는 복사 금지(CN: copy never) 등의 상태일 수 있다.
그래서, 본 발명에 의하면, 수신기(46)는 그러한 수신기(46)가 특정 스트림(32)에 새롭게 동조할 때마다 그러한 새로운 라이선스(36)를 실제로 구성해야 하 는 부담을 가질 필요가 없고, 사용자가 매초 당 한번 정도로 변경을 명령하고 있을지라도 수신기가 스트림(32)에 새롭게 동조할 때마다 그러한 라이선스(36)의 요건(47)의 단축 버전이 신속하게 생성되어 미디어 시스템(48)으로 보내진다.
또한, 알다시피, 라이선스(36) 자체가 아니라 요건(47)만을 보냄으로써, 수신기(46)는 라이선스(36) 자체의 어떤 특정한 포맷에 따른 부담을 가질 필요가 없다. 그래서, 어떤 시점에서 라이선스(36)를 위한 새로운 포맷이 정해지면, 그러한 포맷은 수신기(46)는 아니고 미디어 시스템(48)으로의 전달만이 필요하다.
도 4를 보면, 수신기(46)로부터 스트림(32)을 수신하는 것 외에, 미디어 시스템(48)은 다른 소스들로부터 직접적으로든 간접적으로든 스트림(32)을 부가적으로 수신할 수도 있음을 알 수 있다. 그러한 기타의 소스들은 예를 들어 NTSC 입력 신호, ATSC 입력 신호 등을 포함할 수 있다. 알고 있듯이, 직접적으로 수신되는 적어도 일부의 입력 신호들의 각각에 대해서는, 미디어 시스템(48)이 수신된 입력 신호 내의 스트림(32)을 미디어 시스템(48)에 더 적합한 암호화된 포맷으로 전환하고, 또한 미디어 시스템(48)에 의해 생성된 새로운 라이선스(36)가 될 수 있는 스트림(32)을 위한 단축 버전의 요건(47)을 생성하여 보내기 위한 수신기(46)처럼 작동하는 하드웨어 또는 소프트웨어 게이트웨이(58)를 포함하는 경우가 있을 수 있다. 여기에서, 게이트웨이(58)는 스트림(32) 자체 내의 정보(49)로부터 스트림(32)을 위한 요건(47)을 판단할 수 있거나, 또는 그러한 스트림(32)으로부터 이용 가능하지 않으면 디폴트 요건(47)을 작성할 것이다.
본 발명의 한 실시예에서는, 어떤 특정한 소스로부터의 어떤 특정 스트 림(32)을 위해 제공되는 요건(47)이 보편적인 포맷으로 설명되어 있다. 따라서, 미디어 시스템(48)은 상이한 소스에 대응하는 다수의 포맷들과 관련될 필요가 없다. 본 발명의 한 실시예에서는, 요건(47)이 미디어 시스템(48)에 또는 내에서 신속하고 용이하게 전송될 수 있고 미디어 시스템(48)도 마찬가지로 그로부터 라이선스(36)를 신속하게 구성할 수 있도록 보편적인 포맷이 비교적 단축된 특성을 갖는다.
예를 들어, 도 5를 보면, 본 발명의 한 실시예에서는, 보편적인 포맷이 다수의 예정된 필드로 구분된 32 비트를 갖는다. 필드들의 정의는 아래와 같다.
-복사 방지 방법 입력(Input Copy Protection Method) - 이 필드는 예정된 방식으로 대응하는 스트림(32)의 특정한 콘텐츠 보호 방법에 대응하는 8 비트 값을 정한다. 그러한 콘텐츠 보호 방법은 제한적인 것은 아니지만 아래와 같은 것을 포함할 수 있다.
없음(None) - 스트림(32)에 대해 아무런 복사 방지도 정해져 있지 않으며, 어떤 RM 기반 제한도 부여되지 않아야 한다.
하드웨어 매크로비전(Hardware Macrovision) - 스트림(32)이 매크로비전(파형) 보호된다.
CGMS-A - 스트림(32)이 IEC 61880 또는 EIA-608-B에 의해 정해진 CGMS-A 콘텐츠 보호를 포함한다.
WSS - 스트림(32)이 ITU-R BT 1119-1에 의해 정해진 WSS 보호를 포함한다.
케이블 랩스 디지털 케이블(Cable Labs Digital Cable) - 스트림(32)이 케이블 랩스 UDCR 수신기(46)로 전달되었다.
ATSC - 스트림(32)이 ATSC(Advanced Television Systems Committee) 포맷으로 전달되었다.
-내성 룰을 충족하는 입력 장치(Input Device Meets Robustness Rules) - 입력 장치(예를 들어, 수신기(46)로서의 동조기 카드)가 복사 방지 방법 입력에 의해 정의된 내성 룰을 충족하면, 이 1비트 필드는 1로 설정된다.
-복사 디폴트(Copy Default) - 복사 방지 요건(47)이 스트림(32)으로부터 아직 알려져 있지 않고 디폴트 복사 방지를 적용하려는 것이라면, 이 1비트 필드는 1로 설정된다.
-방송 플래그/제한된 콘텐츠 - 스트림(32)이 재배포 제어된 것이면, 이 1비트 필드는 ATSC에 고유한 것이고 1로 설정된다.
-CIT - 제한된 이미지가 트리거되었으면 이 1 비트 필드는 케이블 랩스 디지털 케이블이고 1로 설정된다.
-APS - 이 2 비트 필드는 특정한 매크로비전 포맷에 고유한 아날로그 보호 시스템 요건(47)을 표현한다.
-복사 제어값 - 이 2 비트 필드는 미디어 시스템(48)으로부터 다른 하나의 미디어 시스템(48)으로 스트림(32)이 복사될(서브라이선스될) 수 있는 방법-무제한 복사(CF), 1회 복사가능(CO) 또는 복사 금지(CN) 등-을 표현한다.
특히, 도 5에 도시된 한 실시예에서는, 32 비트 중 16 비트가 나중에 이용하 기 위해 예약된다. 따라서, 현 종류의 복사 방지에 이미 존재하는 추가적인 특징들에서와 같이, 새로운 종류의 복사 방지에 고유한 특징들은 예약된 비트 내에서 구현될 수 있다. 또한 특히, 특정한 비트들은 특정 종류의 복사 방지와 관련해서만 사용하고 다른 종류의 복사 방지와 관련해서는 사용되지 않도록 현재 예약되어 있지만, 상이한 목적을 위한 그러한 다른 종류의 복사 방지와 관련하여 채용될 수 있다.
이제 알 수 있듯이, 보편적인 포맷을 채용하여 특정 스트림(32)에 대응하는 라이선스(36)를 위한 요건(47)을 표현함으로써, 그러한 요건(47)이 배포되는 그러한 스트림(32)의 어떤 특정한 포맷에 대해 불가지론적(agnostic)인 보편적인 방식으로 정해질 수 있다. 요건(47)은 임의의 특정 소스 콘텐츠 보호 메커니즘에도 특유하지 않은 방식으로 간결하게 정해지며, 수신기(46) 또는 게이트웨이(58)(이하, 달리 지정되지 않는 한, '수신기(46)') 등과 같은 비교적 단순한 장치가 임의의 특정 포맷의 요건(47)을 파생할 수 있고, 그 요건을 보편적인 포맷으로 변환할 수 있다.
도 6을 보면, 특정 스트림(32)에 동조하라는 명령에 응답하여 수신기(46)에 의해 채용되는 방법이 도시되어 있음을 알 수 있다. 알다시피, 그러한 명령은 통상적으로 초기에 사용자에 의해 미디어 시스템(48)에 대해 내려지고(단계 601), 그 후 미디어 시스템(48)으로부터 수신기(46)에 내려지는(단계 603) 것이지만, 본 발명의 정신 및 범위로부터 벗어남이 없이, 대안적으로, 사용자로부터의 촉구 없이 미디어 시스템이 그러한 동조 명령을 내릴 수도 있다. 하여튼, 동조 명령에 응답 하여, 수신기(46)는 실제로 당해 스트림(32)에 동조한다(단계 605). 그러한 동조는 일반적으로 알려진 것이거나 또는 관계자들에게 자명하다고 해야 할 것이므로, 여기에서 자세히 설명할 필요는 없다. 따라서, 그러한 동조는 본 발명의 정신 및 범위로부터 벗어남이 없는 적절한 어떤 방식으로든 수행될 수 있다.
동조되면, 수신기(46)는 필요하다면 스트림(32)을 복호화하고(단계 607), 미디어 시스템(48)과 공유하고 있는 대칭적 콘텐츠 키(CK)에 따라 그것을 재암호화한다(단계 609). 그러한 콘텐츠 키(CK)를 미디어 시스템(48)과 공유하는 한 방법을 아래에서 설명하지만, 그러한 임의의 방법의 대부분은 본 발명의 정신 및 범위로부터 벗어남이 없이 채용할 수 있음을 이해해야 한다.
또한, 복호화된 스트림(32)으로부터, 수신기(46)는 스트림(32)에 대응하는 라이선스(36)를 위한 요건(47)과 관련하여 앞서 설명한 정보(49)를 찾는다. 앞서 말했듯이, 그러한 요건(47)과 함께 그러한 정보(49)가 알려진 간격 및 위치로 스트림(32) 내에 주기적으로 공급될 수 있다. 예를 들어, 그러한 알려진 간격은 매 20초당 한번 정도일 수 있으며, 위치는 스트림(32)이 디지털이면 특수하게 식별된 패킷이거나, 스트림(32)이 아날로그이면 특정한 비디오 블랭킹 인터벌(video blanking interval)일 수 있다. 아래에 좀더 자세하게 설명하듯이, 수신기(46)가 스트림(32)의 그러한 정보(49)와 아직 마주치지 않은 경우 및 그러한 정보(49)를 대기하는 것이 가능하지 않은 경우, 수신기(46)는 어떤 디폴트 세트의 정보(49)에 기반하여 요건(47)을 보냄으로써 진행될 수 있고, 나중에 실제 정보(49)가 수신될 때 실제 요건(47)을 보낸다.
하여튼, 찾아낸 정보(49)를 이용해서, 수신기(46)는 스트림(32)에 대응하는 한 세트의 요건(47)을 구성하며(단계 613), 그러한 요건(47)은 앞서 설명한 보편적인 포맷으로 표현될 수 있고, 그러한 요건(47)을 미디어 시스템(48)으로 보내며(단계 615), 특히, 미디어 시스템(48)의 신뢰 컴포넌트(38)로 보낸다. 그 후, 미디어 시스템(48)은 요건(47)에 기반하여 라이선스(36)를 구성하고(단계 617), 그렇게 구성된 라이선스(36)를 그 라이선스 저장소(60) 등에 저장한다(단계 619).
그러한 요건(47)으로부터 그러한 라이선스(36)를 구성하는 것은 일반적으로 알려진 것이거나 또는 관계자에게 자명하다고 할 것이므로 여기에 자세히 설명하지 않는다. 따라서, 그러한 라이선스(36)의 그러한 구성은 본 발명의 정신 및 범위로부터 벗어남이 없는 적절한 어떤 방식으로든 수행될 수 있다. 예를 들어, 요건(47)이 앞서 설명된 32 비트 보편적인 포맷 등에 따라 표현되는 경우에, 미디어 시스템(48)은 각각의 비트 필드를 예정된 매핑 룰에 따라 라이선스(36)로 매핑하는 매핑 알고리즘을 채용할 수 있다.
라이선스(36)를 구성할 때, 미디어 시스템(48)은 그러한 미디어 시스템(48)의 공개키(PU-MS) 등과 같은 다른 하나의 키에 따라 암호화된 라이선스(36) 내에, 아래에 설명된 방식으로 얻어질 수 있는 스트림을 위한 콘텐츠 키(CK)를 저장하여, (PU-MS(CK))를 생성한다는 것에 주목하자. 그래서, 미디어 시스템(48)만이 (PU-MS)에 대응하는 개인키(PR-MS)에 의해 라이선스(36)로부터의 (PU-MS(CK))로부터의 (CK)에 접근할 수 있다. 결과적으로, 그러한 라이선스(36)는 그러한 미디어 시스템(48)에만 제한되는 것이라고 말할 수 있고 다른 어떤 미디어 시스템(48) 또는 다 른 장치에 채용될 수 없다. 라이선스(36)는 미디어 시스템(48)에게 다른 하나의 미디어 시스템(48)이 예를 들어 무제한 복사(CF) 또는 1회 복사가능(CO) 등과 같은 복제권을 지정함으로써 스트림(32)을 렌더링하게 하는 서브라이선스(36)를 발행할 권한을 주며, 그러한 미디어 시스템(48)은 서브라이선스(36)를 생성함에 있어서 우선 (CK)를 검색하기 위해 (PU-MS(CK))에 (PR-MS)를 적용하고나서 다른 하나의 미디어 시스템(48)의 (PU-MS)에 따라 (CK)를 암호화해야 하며, 그러한 새로운 (PU-MS(CK))를 서브라이선스(36)에 삽입할 수 있다.
미디어 시스템(48)은 특정 스트림(32)을 위한 대응하는 라이선스(36)를 구성하기 전에 특정 스트림(32)을 위한 콘텐츠 키(CK)를 소유하고 있을 것이며, 따라서 그러한 콘텐츠 키(CK)를 채용하여 수신기(46)로부터 보내진 암호화된 스트림을 복호화하고 그러한 복호화된 스트림(32)을 렌더링한다(단계 621). 그러므로, 어떤 사람은 미디어 시스템이 단계 617 및 619에서처럼 라이선스를 구성하여 저장할 필요성에 이의를 제기할 수도 있을 것이다. 그러나, 미디어 시스템(48)이 리셋 등의 과정에서 콘텐츠 키(CK)를 어느 정도 상실한 경우 등과 같이 콘텐츠 키(CK)를 검색할 필요가 있으면 미디어 시스템(48)이 저장된 라이선스(36)를 사용할 수 있음을 인식해야 한다. 마찬가지로, 미디어 시스템(48)이 저장 장치(50)로부터의 스트림(32)을 지연적으로 재생하면, 라이선스(36)는 그러한 CK가 저장된 위치에만 있을 수 있다. 또한, 라이선스(36)는 장래의 어떤 포인트에서 조회될 것이 필요할 수 있는 스트림(32)에 관한 어떤 복제권 및 스트림(32)에 대응하는 다른 요건(47)을 저장하고 검색할 필요가 있다.
어떤 특정 스트림(32)에 있어서, 그에 관한 정보(49)가 한번 이상 변경될 수 있는 경우가 있을 수 있음을 주목하자. 그렇다면, 알다시피, 수신기(46)는 단계 613 및 615에서 미디어 시스템(48)에 대해 새로운 요건(47)을 줄 수 있고 미디어 시스템은 단계 617 및 619에서 새로운 라이선스(36)를 구성하고 저장해야 한다. 그래서, 수신기(46)는 스트림(32) 내의 정보(49)의 각각의 세트를 인식해야 하고, 언제 그러한 정보(49)의 세트가 스트림(32) 내에서 변경되었는지를 주목해야 한다.
수신기(46)와 미디어 시스템(48) 사이의 콘텐츠 키의 공유
앞서 말했듯이, 수신기(46)가 상이한 스트림(32)에 동조할 때마다, 수신기는 상이한 콘텐츠 키(CK)에 따라 암호화된 새롭게 동조된 스트림(32)을 보내고, 또한 한 세트의 대응하는 요건(47)을 보낸다. 그래서, 수신기(46)와 미디어 시스템(48)은 콘텐츠 키(CK)들을 어느 정도 공유해야 하고, 특히 미디어 시스템(48)은 수신기(46)가 어떤 콘텐츠 키(CK)를 채용해서 특정 스트림(32)을 암호화했는지를 알아야 한다.
그러나, 현재로서는 수신기(46)가 예를 들어 요건(47)의 일부로서 또는 통상적 RM 라이선스(36) 내에서 각각의 특정 스트림(32)을 위한 각각의 콘텐츠 키(CK)를 미디어 시스템(48)으로 전송할 것으로 예상되지 않는다는 것이 중요하다. 앞서 말했듯이, 그러한 라이선스(36)를 구성하는 것은 매우 노동집약적이기 때문에, 그리고 새롭게 동조된 스트림(32)이 매초 당 한번 정도로 자주 명령될 수 있기 때문에, 수신기(46)가 각각의 새롭게 동조된 스트림(32)을 위해 그러한 통상적 RM 라이선스(36)를 구성하여 보낼 것으로 기대할 수 없다. 그래서, 수신기(46)와 미디어 시스템(48)은 상이한 방법의 통신을 통해 그러한 콘텐츠 키(CK)를 어느 정도 공유해야 한다.
따라서, 본 발명의 한 실시예에서는, 수신기(46)와 미디어 시스템(48)은 초기화의 일부로서 다소 통상적인 RM 라이선스(36)에 의해 초기 콘텐츠 키(CKO)를 공유하고, 수신기(46)와 미디어 시스템(48)의 각각은 (CK(O))로부터 새로운 콘텐츠 키(CKx)를 직접적으로든 또는 간접적으로든, 요구에 따라 그리고 조정된 방식으로 파생한다. 초기화 RM 라이선스(36)는 다른 하나의 초기화가 필요할 때까지 단 한번만 요구되며, 따라서 그러한 RM 라이선스(36)의 노동집약적 양상들은 다른 하나의 초기화가 필요할 때까지 단 한번만 겪게 된다는 것이 중요하다. 그러한 초기화는 본 발명의 정신 및 범위로부터 벗어남이 없는 적절한 어떤 간격으로 수행될 수 있음을 주목하자. 예를 들어, 초기화는 몇시간 또는 며칠마다 한번만 수행될 수 있고, 또는 미디어 시스템(48)이 시작되거나 리셋될 때마다 한번 수행될 수도 있다.
본 발명의 한 실시예에서는, 도 7을 보면, 초기화 이벤트 시에, 미디어 시스템(48)은 초기화 요청을 수신기(46)로 보내며(단계 701), 그러한 초기화 요청은 수신기(46)가 신뢰하는 어떤 기관(authority) 또는 연쇄적 기관에 의해 미디어 시스템(48)에 주어진 기계 인증서(machine certificate) 등을 포함한다. 보내진 기계 인증서는 미디어 시스템의 공개키(PU-MS)를 포함하고, 미디어 시스템은 대응하는 개인키(PR-MS)를 소유하고 있다는 것이 중요하다.
그 후, 수신기(46)는 보내진 기계 인증서에 기반하여 미디어 시스템(48)을 신뢰할 수 있음을 자신에게 확인시키고 초기화 RM 라이선스(36)를 구성하며(단계 703), 초기화 라이선스(36)를 미디어 시스템(48)으로 보낸다(단계 705). 초기화 라이선스(36)가 수신기(46)에 의해 결정된 초기 콘텐츠 키(CKO)를 포함한다는 것이 중요하고, 그러한 초기 콘텐츠 키(CKO)가 기계 인증서로부터의 공개키(PU-MS)에 따라 암호화되어 (PU-MS(CKO))를 산출한다. 그래서, 미디어 시스템(48)은 초기화 라이선스(36)를 수신하고 그것을 라이선스 저장소(60)에 저장할 때 그로부터 그러한 (PU-MS(CKO))를 검색하고 거기에 (PR-MS)를 적용하여 (CKO)를 산출하며(단계 707), 그러한 (CKO)를 여기에서는 제로(zero)로 설정되는 카운트와 함께 적절한 안전한 위치에 저장한다(단계 709). 알다시피, 수신기(46)는 또한 그러한 (CKO)를 동일한 제로 카운트와 함께 적절한 안전한 위치에 저장한다.
초기화 라이선스(36)는 수신기(46)에 의해 서명될 수 있으며, 그러한 경우에 수신기는 대칭적 무결성 키(IK)를 채용함으로써 MAC 등과 같은 대칭적 서명 프로토콜에 기반하여 그러한 초기화 라이선스(36)를 사실상 서명할 수 있음을 주목하자. 그렇다면, 본 발명의 한 실시예에서는, 초기 콘텐츠 키(CKO) 및 초기 무결성 키(IKO)로서의 무결성 키(IK)가 모두 기계 인증서로부터의 공개키(PU-MS)에 따라 암호화되어 (PU-MS(CKO, IKO))를 산출한다. 그리고, 여기에서, 미디어 시스템(48)은 단계 707에서처럼 초기화 라이선스(36)를 수신할 때 그로부터 그러한 (PU-MS(CKO, IKO))를 검색하고, 거기에 (PR-MS)를 적용하여 (CKO) 및 (IKO)를 산출하고, 그러한 (CKO)와 (IKO) 및 제로 카운트를 단계 709에서처럼 적절한 안전한 위치에 저장한다. 또한, 미디어 시스템(48)은 그러한 초기 무결성 키(IKO)를 채용하여 그러한 초기화 라이선스(36)의 서명을 검증한다.
요컨대, 수신기(46)와 미디어 시스템(48)은 안전한 위치에 초기 콘텐츠 키(CKO), 초기 무결성 키(IKO) 및 제로로 설정된 카운트를 저장했다. 그러나, 수신기는 어떤 콘텐츠 키(CK) 또는 어떤 대응하는 요건(47)에 따라 암호화된 스트림(32)을 미디어 시스템(48)으로 보내는 것을 아직 시작하지 않았다. 그러나, 미디어 시스템(48)은 도 6의 단계 603에서처럼 어떤 시점에서 그러한 상황의 제1 사례를 명령할 것이다. 따라서, 수신기는 도 6의 단계들에 의해 그러한 수신기가 단계 609에서처럼 제1 스트림(32)을 암호화하기 위해 (CK1)일 수 있는 제1 새로운 대칭적 콘텐츠 키(CKx)를 요청하는 시점으로 진행한다.
여기 본 발명의 한 실시예에서는, 수신기(46)가 카운트를 증분(단계 711)하고, 초기 콘텐츠 키(CKO)로부터 (CKx)/(CK1)를 파생(단계 713)시킴으로써 그러한 콘텐츠 키(CKx)/(CK1)를 생성한다. 또한, 그러한 초기 콘텐츠 키(CK(O))로부터 그러한 콘텐츠 키(CKx)를 파생시킬 때, 수신기(46)는 또한 초기 무결성 키(IKO)로부터 대응하는 무결성 키(IKx)/(IK1)를 파생시킨다(단계 715).
본 발명의 한 실시예에서는, 콘텐츠 키(CKx)와 무결성 키(IKx) 모두 초기 값 (CK(O)) 또는 (IK(O))을 새로운 카운트 값과 함께 함수, 즉, 값(x)=함수(값(O), 카운트)에 적용함으로써 (CK(O)) 및 (IK(O))로부터 각각 파생된다. 예를 들어, 그러한 함수는 아마도 필요에 따라 적절히 트렁케이션(truncation) 또는 렝쓰닝(lengthening)을 행한 SHA 함수 등과 같은 일방향 해시 함수일 수 있다. 그래서, 그러한 콘텐츠 키(CKx)에 의해 수신기(46)는 단계 609에서처럼 스트림(32)을 암호화할 수 있다.
본 발명의 한 실시예에서는, 도 6의 단계 613 및 615에서처럼 수신기(46)가 스트림(32)에 대응하는 요건(47)의 세트를 구성하여 그러한 요건(47)을 미디어 시스템(48)으로 보낼 때 그러한 키(CKx, IKx)의 파생 또는 순환 및 새로운 카운트를 미디어 시스템(48)으로 전달한다. 특히, 본 발명의 한 실시예에서는, 수신기(46)가 그러한 단계 613 및 615를 수행할 때 단계 705에서처럼 보내진 초기화 라이선스(36)에서의 값들에 기반한 값들로 파생 메시지(62)를 실제로 구성한다.
특히 예를 들어 카운트=1에 대응하는 제1 스트림(32) 등과 같은 특정한 카운트 x에 대응하는 어떤 특정 스트림(32)의 경우, 수신기(46)가 그러한 스트림(32)을 위한 요건, 카운트 x 및 무결성 키(IKx)에 기반한 서명을 포함하는 파생 메시지(62)를 구성하며(단계 717), 구성된 파생 메시지(62)를 미디어 시스템(48)으로 보낸다(단계 719). 서명이 대칭적 키에 기반하는 한, 그러한 파생 메시지(62)를 구성하는 것은 서명이 비대칭적 키에 기반하는 것에 비해 수신기(46)에게 그다지 부담이 되는 것이 아님을 주목하자.
하여튼, 스트림(32) 및 대응하는 파생 메시지(62)를 수신할 때, 미디어 시스템(48) 자체가 그 수신된 파생 메시지(62)로부터의 카운트, (CK(O)), (IK(O)) 및 단계 715에서 이용된 함수에 관한 지식에 기반하여 대응하는 콘텐츠 키(CKx) 및 무결성 키(IKx)를 파생시킬 수 있다. 특히, 수신기(46)에서처럼, 미디어 시스템(48)은 (CK(O)) 및 (IK(O))의 각각을 찾고(단계 721), 수신기(46)와 동일한 함수 및 현재의 카운트 x를 채용하여 (CKx) 및 (IKx)를 파생시키며(단계 723), 그러한 파생 (CKx) 및 (IKx)를 대응하는 적절한 카운트와 함께 저장한다(단계 725). 또한, 미디어 시스템(48)은 그러한 무결성 키(IKx)를 채용하여 대응하는 파생 메시지(62)의 서명을 검증한다(단계 727). 가장 중요하게, 콘텐츠 키(CKx)가 스트림(32)에 대응하며, 대응하는 파생 메시지(62)가 검증하고 허용하는 것을 가정하면, 미디어 시스템(48)은 렌더링 및/또는 부가적 처리를 위해 스트림(32)을 복호화할 수 있다(단계 729).
미디어 시스템(48)이 수신기(46)로부터 수신한 파생 메시지(62)는 도 6의 단계 617 및 619에서처럼 미디어 시스템(48)에 의해 구성되어 라이선스 저장소(60)에 저장된 라이선스(36)가 아님을 주목해야 한다. 그 대신에, 알 수 있듯이, 파생 메시지(62)는 그러한 단계 617 및 619의 라이선스(36)를 구성하기 위해 채용된 요건(47)을 포함한다.
여기에 설명된 본 발명에 의하면, 수신기(46)는 새롭게 동조된 스트림(32)마다 미디어 시스템(48)으로 콘텐츠 키(CKx) 또는 무결성 키(IKx)를 명시적으로 전달할 필요가 없다. 그 대신에, 수신기(46)는 미디어 시스템(48)에 대해 그러한 키의 초기 값(CKO, IKO)들을 설정하기만 하면 되고, 수신기(46)와 미디어 시스템(48)의 각각은 (CK(O)), (IK(O)) 및 파생 함수에 대한 사전 지식에 기반하여 각각의 새로운 스트림(32)마다 새로운 값(CKx, IKx)을 독립적으로 파생시킬 수 있다. 그래서, 수신기(46)는 (CKx)가 비대칭적으로 암호화되며 RM 라이선스가 비대칭적으로 서명됨으로 인해, 각각의 새로운 스트림(32)마다 통상적 RM 라이선스(36)를 구성해야 하는 상당한 부담을 받을 필요가 없다. 그 대신에, 수신기(46)는 미디어 시스 템(48)에서 초기화 할 때 그러한 통상적 RM 라이선스(36)를 구성하기만 하면 되고, 그 후 (CKx)를 암호화하고 대칭적으로 서명할 필요 없이 각각의 새로운 스트림(32)마다 덜 부담이 되는 파생 메시지(62)를 구성할 수 있다.
본 발명의 다른 실시예에서는, (CK(O)) 및 (IK(O))로부터 (CKx) 및 (IKx)를 각각 파생시키기보다는, 그러한 (CKx) 및 (IKx)가 (CK(x-1)) 및 (IK(x-1))로부터 각각 파생될 수 있음을 주목하자. 알 수 있듯이, 그렇게 하는 것은, (CK(x)) 및 (IK(x))가 알다시피 (CK(x+1)) 및 (IK(x+1))를 파생하기 위해 저장되고 검색되어야 하는 것을 제외하고, (CK(O)) 및 (IK(O))로부터 (CKx) 및 (IKx)를 파생시키는 것과 대부분 유사하다.
수신기(46)와 미디어 시스템(48) 사이에 콘텐츠 키를 공유함에 있어서, 그러한 요소들은 예를 들어 인증 등과 같은 안전한 방법을 이용하여 서로 통신할 수 있음을 주목하자. 대안적으로, 상황이 보장된다면, 안전하지 않은 방법들이 채용될 수도 있다.
디폴트 파생 메시지(62)
앞서 설명되거나 언급된 바와 같이, 새롭게 동조된 특정 스트림(32)에 대응하는 파생 메시지(62)를 구성함에 있어서, 수신기(46)는 단계 611에서처럼 스트림(32)으로부터 파생 메시지(62)를 위한 요건(47)에 관한 정보(49)를 찾으며, 그러한 요건(47)과 함께 그러한 정보(49)가 알려진 간격 및 위치로 스트림(32) 내에 주기적으로 제공될 수 있다. 그러한 알려진 간격은 20초 또는 그 이상마다 한번 정도일 수 있고, 따라서 수신기(46)는, 아주 흔하게, 상당히 긴 시간을 기다리지 않 고는 스트림(32)에서 그러한 정보(49)와 마주치지 않을 것이다. 그러나, 그러한 기다림은 적절하지 않으며, 특히 수신기(46)가 스트림(32)에 동조하라는 명령이 있은 후 1초 정도의 시간 프레임 내에 그러한 정보(49)에 기반한 요건(47)과 함께 그러한 파생 메시지(62)를 보낼 것으로 기대되면 더 그렇다.
따라서, 본 발명의 한 실시예에서는, 수신기(46)가 도 7의 단계 715 및 717에서처럼, 수신기(46)가 새롭게 동조된 스트림(32)으로부터의 정보(49)를, 그에 기반하여 요건(47)을 구성하고, 그것을 대응하는 파생 메시지(62)에 배치하며, 파생 메시지(62)를 적시에 보내기에 알맞은 시간에, 소유하고 있지 않으면, 수신기(46)는 그 대신에 디폴트 파생 메시지(62)를 구성하여 보낸다. 알다시피, 그러한 디폴트 파생 메시지(62)는 예를 들어 복사 금지(CN: copy never) 등과 같이 본질적으로 가장 제한적인 요건(47)을 포함한다. 그 후, 수신기(46)가 새롭게 동조된 스트림(32)으로부터의 정보(49)를 실제로 소유하고 있으면, 수신기(46)는 실제 파생 메시지(62)를 구성하여 보낸다. 알다시피, 그러한 실제 파생 메시지(62)는 실제로 그렇게 소유된 정보(49)에 기반하고 있고, 대응하는 디폴트 파생 메시지(62)로부터의 요건(47)을 교체할 예정인 요건(47)을 포함한다.
특히, 도 8을 보면, 새롭게 명령된 스트림(32)에 동조할 때(단계 801), 수신기(46)는 카운트를 증분하며 단계 709-713에서와 같이 스트림을 위한 (CKx) 및 (IKx)를 파생시킨다(단계 803). 그러나, 요건(47)에 속하는 앞서 설명한 정보(49)가 아직 적시에 새롭게 동조된 스트림(32)과 마주치지 않았다고 가정하면, 수신기(46)는 예를 들어 복사 금지(CN) 등과 같은 본질적으로 가장 제한적인 디폴트 요 건(47)을 포함하는 디폴트 파생 메시지(62)를 구성하여 보낸다(단계 805). 그 후, 수신기(46)는 새롭게 동조된 스트림(32)으로부터의 정보(49)가 실제로 마주쳐질 때까지 대기하며(단계 807), 그러한 대기는 어떤 경우에는 20초 또는 심지어 몇 분 정도로 지속될 수 있다.
스트림(32)에 있는 정보(49)와 실제로 마주칠 때, 수신기(46)는 그렇게 마주친 정보(49)에 실제로 기반하는 실제 요건을 포함하는(47) 실제 파생 메시지(62)를 구성하여 보내며(단계 815), 실제 파생 메시지(62)에 있는 그러한 실제 요건(47)은 대응하는 디폴트 파생 메시지(62)로부터의 디폴트 요건(47)을 대체할 예정이다. 본 발명의 한 실시예에서는, 단계 815에서처럼 실제 파생 메시지(62)를 구성하여 보내는 수신기(46)는 카운트를 증분하지 않고(단계 813), 따라서 디폴트 파생 메시지(62) 및 대응하는 실제 파생 메시지(62)에는 동일한 카운트가 기재되는 것이 중요하다.
이제 알 수 있듯이, 디폴트 파생 메시지(62)를 수신할 때, 전과 같이, 미디어 시스템(48)은 도 7의 단계 721 및 723에서와 같이 대응하는 콘텐츠 키(CKx) 및 무결성 키(IKx)를 파생시키고, 그러한 무결성 키(IKx)를 채용하여 단계 725에서처럼 그러한 디폴트 파생 메시지(62)의 서명을 검증하며, 콘텐츠 키(CKx)에 의해 미디어 시스템(48)이 단계 727에서처럼 스트림(32)을 복호화할 수 있다(단계 809). 그러한 디폴트 파생 메시지(62)가 본질적으로 가장 제한적인 디폴트 요건(47)을 갖는 한, 미디어 시스템도 도 6의 단계 617 및 619에서처럼 그러한 디폴트 요건(47)에 기반하고 결과적으로 중요한 사항에서 매우 제한적인 디폴트 버전의 라이선 스(36)를 구성하여 라이선스 저장소(60)에 저장한다(단계 811).
그러나, 나중에 실제 파생 메시지(62)를 수신할 때, 특히 그러한 실제 파생 메시지(62)에서의 카운트 값이 디폴트 파생 메시지(62)의 카운트 값으로부터 변화되지 않았음을 알 때, 본 발명의 한 실시예에서 미디어 시스템(48)은 변화되지 않은 카운트 값이 실제 파생 메시지(62)가 디폴트 파생 메시지로(62)부터 디폴트 요건(47)을 대체하려는 실제 요건(47)을 포함한다는 것을 의미함을 이해한다(단계 817). 대안적으로, 미디어 시스템(48)은 디폴트 파생 메시지(62)에서의 요건(47)에 있는 복사 디폴트 필드로부터 그러한 메시지(62)가 실제로 본질적으로 디폴트이고 대응하는 실제 파생 메시지(62)를 대기하고 있음을 알 수 있다.
따라서, 미디어 시스템(48)은, 도 7의 단계 721 및 723에서처럼 대응하는 콘텐츠 키(CKx) 및 무결성 키(IKx)를 파생시킬 필요가 없지만, 그러한 미디어 시스템(48)이 디폴트 파생 메시지(62)와 관련하여 파생된 무결성 키(IKx)를 채용하여 단계 725에서처럼 실제 파생 메시지(62)의 서명을 검증하고, 디폴트 파생 메시지(62)와 관련하여 파생된 콘텐츠 키(CKx)를 채용하여 단계 727에서처럼 스트림(32)을 복호화하는 것을 계속한다(단계 819). 특히, 실제 파생 메시지(62)가 본질적으로 덜 제한적일 수 있는 실제 요건(47)을 갖는 한, 미디어 시스템(48)도 도 6의 단계 617 및 619에서처럼 그러한 실제 요건(47)에 기반하고 디폴트 요건(47)에 기반하여 대응하는 디폴트 버전 라이선스(36)를 교체하려는 실제 버전 라이선스(36)를 구성하여 라이선스 저장소(60)에 저장한다(단계 821).
스트림(32)이 디폴트 요건(47)에 기반하여 디폴트 버전 라이선스(36)에 따라 렌더링될 수 있는 시간의 양에 대해, 사용자는 복사하기 등의 성질을 갖고 있는 그러한 스트림(32)에 대해 아마 아무 것도 할 수 없을 것임을 주목하자. 그러나, 디폴트 파생 메시지(62) 후에 최대로 약 20초 내지 수분만에 대응하는 실제 파생 메시지(62)가 미디어 시스템(48)에 의해 수신되어야 하며, 그러한 시간에 실제 요건(47)에 기반한 실제 버전 라이선스(36)가 디폴트 요건(47)에 기반한 디폴트 버전 라이선스(36)를 대체하는 한, 그러한 스트림(32)이 그렇게 제한적으로 제어되는 시간 프레임은 중요하지 않은 시점에 대해 비교적 작다.
하여튼, 실제 파생 메시지(62)를 제공할 수 있는 실제 요건(47)을 찾기 전에 미디어 시스템(48)에 대해 디폴트 파생 메시지(62)를 제공함으로써 수신기(46)는 적어도 미디어 시스템(48)이, 그러한 미디어 시스템(48)의 사용자가 바람직스럽지 못한 정도의 지연이 없이 신속하게 렌더링되는 스트림(32)을 경험할 수 있도록, 대응하는 스트림(32)을 신속하게 렌더링하게 한다. 실제 파생 메시지(62)가 결국 미디어 시스템(48)에 제공되면, 그러한 미디어 시스템은 실제 요건(47)에 기반하여 대응하는 실제 버전 라이선스(36)를 구성할 수 있고 어떤 실제적 손실도 없이 디폴트 요건(47)에 기반하여 디폴트 버전 라이선스(36)를 대체할 수 있다.
일시적 라이선스 저장소(60)
통상적 RM 아키텍처에서, 콘텐츠(32)를 이용할 수 있는 한, 하나의 콘텐츠(32)에 대응해서 생성되는 라이선스(36)도 이용할 수 있어야 한다. 그래서, 콘텐츠(32)가 예를 들어 10년 동안 존재할 것으로 기대되는 문서이면, 대응하는 라이선스(36)도 동일한 10년 동안 라이선스 저장소(60)에 존재해야 한다. 대응적으로, 콘텐츠(32)가 예를 들어 매우 짧은 시간 동안 존재할 것으로 기대되는 스트림(32) 등과 같은 임시 신호이면, 대응하는 라이선스(36)도 이상적으로는 동일하게 매우 짧은 시간 동안 라이선스 저장소(60)에 존재해야 한다.
그래서, 수신기(46)가 아마도 매초 당 한번 정도로 빨리 많은 스트림(32)들에 동조할 것으로 기대할 수 있는 도 4의 시나리오에서는, 미디어 시스템(48)에 의해 라이선스 저장소(60)에 저장된 대응하는 라이선스(36)는 대부분이 거의 이용되지 않으며 한번 이용되면 더 이상 다시 이용되지 않는다는 것을 이해해야 한다. 또한, 미디어 시스템(48)에 의해 라이선스 저장소(60)에 저장된 대량의 그러한 라이선스(36)는 급속하게 거대량에 도달할 수 있다. 또한, 매우 많은 라이선스(36)들을 그러한 라이선스 저장소(60)에 저장함으로써, 비교적 장시간 동안 실제로 필요한 소량의 라이선스(36)들을 검색해서 찾는 것은 거추장스럽고 느릴 수 있다.
그래서, 본 발명의 한 실시예에서는, 미디어 시스템(48)에 의해 라이선스 저장소(60)에 저장된 라이선스(36)는 비교적 짧게 생존하는 라이선스(36)들과 비교적 길게 생존하는 라이선스(36)들에 따라 격리된다. 또한, 그러한 실시예에서, 비교적 짧게 생존하는 라이선스(36)들은 미디어 시스템(48)의 더 일시적이고 휘발성인 라이선스 저장소(60)에 저장되고, 비교적 길게 생존하는 라이선스(36)들은 미디어 시스템(48)의 더 영구적이고 비휘발성인 라이선스 저장소(60)에 저장된다. 예를 들어, 일시적인 라이선스 저장소(60)는 미디어 시스템(48)의 RAM 메모리에 배치될 수 있는 한편, 영구적인 라이선스 저장소(60)는 미디어 시스템(48)의 고정식 드라이브 메모리에 배치될 수 있지만, 본 발명의 정신 및 범위로부터 벗어남이 없이 다 른 종류의 그러한 메모리가 채용될 수 있다.
본 발명의 한 실시예에서는, 사용자 등이 미디어 시스템(48)으로 하여금 나중에 재생하거나 다른 하나의 미디어 시스템(48) 등에 복사하기 위해 저장 장치(50)에 저장할 것을 지시한 길게 생존하는 스트림(32)들에 대응하는 라이선스(36)들을 영구적 라이선스 저장소(60)에 배치한다. 그래서, 생각컨대 짧게 생존하는 더 임시의 스트림(32)들일 수 있는 모든 다른 라이선스(36)들은 미디어 시스템(48)에 의해 일시적 라이선스 저장소(60)에 배치될 것이다. 알다시피, 영구적 라이선스 저장소(60)가 비휘발성일 때, 저장소(60)에 있는 라이선스(36)들은 미디어 시스템(48)이 꺼지거나 리셋될 때마다 삭제되지 않으므로, 대응하는 길게 생존하는 스트림(32)들을 무제한적으로 렌더링하는 데 채용될 수 있다. 그러나, 더 이상 필요하지 않을 때에는 라이선스(36)들이 영구적 라이선스 저장소(60)로부터 삭제될 수 있고 삭제되어야 한다는 것을 주목하자.
그러나, 일시적 라이선스 저장소(60)가 휘발성일 때는, 저장소(60)에 있는 라이선스(36)들은 미디어 시스템(48)이 꺼지거나 리셋될 때는 언제나 삭제된다. 그러나, 그러한 삭제는 암시적인 것이고, 미디어 시스템(48)이 그러한 일시적 라이선스 저장소가 꽉 채워지거나 작동정지될 수 있는 비교적 긴 시간 동안 실행되는 경우에는 좀더 명시적인 삭제 방법도 필요할 것임을 인식해야 한다.
그래서, 본 발명의 한 실시예에서는, 그러한 미디어 시스템(48)이 그러한 라이선스(36)가 더 이상 필요 없는 것으로 간주하는 특정한 시기에는 미디어 시스템(48)이 일시적 라이선스 저장소(60)에 있는 라이선스(36)의 삭제를 명시적으로 명령한다. 그러한 특정한 시기들은 본 발명의 정신 및 범위로부터 벗어남이 없는 적절한 어떤 시기일 수 있다. 예를 들어, 수신기(46)가 미디어 시스템(48)에 의해 다른 하나의 스트림(32)에 동조하라는 명령을 받을 때 등과 같이 대응하는 스트림(32)이 더 이상 수신기(46)에 의해 동조되지 않을 때는 미디어 시스템(48)이 라이선스(36)를 삭제하라고 명령할 경우가 있을 수 있다.
그러나, 실제로 그러한 라이선스(36)를 그토록 신속하게 삭제하는 것이 시기상조일 수도 있음을 인식해야 한다. 예를 들어, 그렇게 삭제될 라이선스(36)에 있는 정보가 여전히 필요한 것일 수도 있으며, 또는 정보에 대응하는 스트림(32)이 짧은 기간 내에 다시 동조될 수도 있다. 마찬가지로, 미디어 시스템(48)의 한 프로세스가 더 이상 라이선스(36)를 요청하지 않고 그러한 라이선스(36)의 삭제를 명령했을지라도, 다른 하나의 프로세스가 여전히 그것을 요청할 수 있는 경우가 있을 수도 있다.
따라서, 본 발명의 한 실시예에서, 도 9를 보면, 일시적 라이선스 저장소(60)로부터 라이선스(36)를 삭제하려는 미디어 시스템(48)의 어떤 프로세스는 그 것을 실제로 삭제함으로써가 아니라, 그 대신에 플래그 등과 같이 적절한 마크로 그러한 라이선스(36)를 마킹함으로써 삭제를 행한다(단계 901). 알다시피, 그러한 플래그는 그러한 사용을 위해 적절하게 설정된 라이선스(36)에서 예약된 비트에 의해 표현될 수 있고, 일시적 라이선스 저장소(60) 등에 의해 유지되는 참조표에 있는 유사한 비트일 수도 있다. 그래서, 마크된 바와 같이, 그러한 라이선스(36)는 곧바로 삭제되지 않으며 그것을 요청하는 미디어 시스템(48)의 다른 어떤 프로세스 에 의해 채용될 수도 있다.
라이선스(36)가 삭제를 위해 실제로 마크된 후 나중에, 미디어 시스템의 다른 어떤 프로세스가 그러한 마크된 라이선스(36)의 사용을 요청할 수 있을 것으로 추정해서 충분히 나중에, 미디어 시스템(48)은 정리작업 프로세스 등을 작동시킴으로써 실제로 그러한 마크된 라이선스(36)를 실제로 삭제한다(단계 903). 특히, 알다시피, 미디어 시스템(48)의 그러한 정리작업 프로세스는 주기적으로 작동됨으로써 일시적 라이선스 저장소(60)에 있는 각각의 라이선스(36)를 검사하고(단계 905), 라이선스(36)가 삭제를 위해 실제로 마크되었는지를 판단하며(단계 907), 만일 그렇다면, 그러한 마크된 라이선스(36)를 일시적 라이선스 저장소(60)로부터 실제로 삭제한다(단계 909).
본 발명에 의하면, 비교적 긴 시간 동안 요구되지 않은 라이선스(36)들은 본질적으로 휘발성인 일시적 라이선스 저장소(60)에 저장됨으로써 다른 라이선스(36)들로부터 격리된다. 또한, 일시적 라이선스 저장소(60)가 너무 많은 그러한 라이선스(36)들로 채워지는 것을 방지하기 위해, 그러한 라이선스(36)들은 더 이상 필요하지 않을 때는 삭제하도록 마크되며, 정리작업 프로세스가 그러한 마크된 라이선스(36)들을 일시적 라이선스 저장소(60)로부터 주기적으로 실제로 삭제한다.
결론
본 발명과 관련하여 수행되는 프로세스들을 실행시키기 위해 필요한 프로그래밍은 비교적 훤히 보이는 것이고 관련 프로그래밍 관계자에게는 명백하다고 해야 할 것이다. 따라서, 그러한 프로그래밍은 여기에 첨부되지 않는다. 특정한 어떤 프로그래밍이 본 발명의 정신 및 범위로부터 벗어남이 없이, 본 발명을 실행하기 위해 채용될 수도 있다.
본 발명에서, 수신기(46)가 스트림(32)에 새롭게 동조할 때마다 수신기(46)가 새로운 라이선스(36)를 실제로 완전하게 생성하는 부담을 가질 필요가 없도록 수신기(46)가 라이선스(36)를 구성하기 위해 채용되어야 할 단축 버전의 요건(47)을 생성하는 시스템 및 방법이 제공된다. 사용자가 매초 당 한번 정도로 자주 변경을 명령하고 있을지라도, 수신기(46)가 스트림(32)에 새롭게 동조할 때마다 단축 버전의 그러한 요건(47)이 신속하게 생성되어 미디어 시스템(48)으로 보내질 수 있다. 또한, 단축 버전의 그러한 요건(47)은 간결하고, 최소량의 공간에 동조된 스트림(32)을 위한 모든 라이선스 요건들을 기술한다. 그러한 요건(47)의 포맷은 수신기(46)기가 아닌 소스들로부터 미디어 시스템(48)에 제공되는 스트림(32)들과 관련해서 채용될 수 있다.
또한 본 발명에서는, 각각의 콘텐츠 키(CK)를 갖는 실제 라이선스(36)를 생성할 필요 없이 수신기(46)와 미디어 시스템(48) 사이에 각각의 새로운 콘텐츠 키(CK)를 공유하는 시스템 및 방법이 제공된다. 수신기(46)와 미디어 시스템(48)은 초기 콘텐츠 키(CKO)를 교환하고 조정된 방식으로 초기 콘텐츠 키(CKO)에 기반하여 콘텐츠 키(CKx)를 순환시킨다.
또한, 본 발명에서는, 수신기(46)가 디폴트 세트의 요건(47)을 예비적으로 보내고, 실제로 찾아졌을 때 실제 세트의 요건(47)을 보내는 시스템 및 방법이 제공된다. 그러한 디폴트 요건(47)은 실제 요건(47)이 보내질 때까지 미디어 시스 템(48)에 의해 채용되며, 미디어 시스템(48)은 그러한 디폴트 요건(47)과 그러한 대응하는 실제 요건(47)을 서로 구별할 수 있고, 실제 요건(47)의 수신시에 디폴트 요건(47)을 대응하는 실제 요건(47)으로 대체할 수 있다.
마지막으로, 본 발명에서는, 미디어 시스템(48)이 동조된 스트림(32)들에 대응하는 적어도 일부의 라이선스(36)들을 일시적으로만 저장하는 시스템 및 방법이 제공된다. 미디어 시스템(48)은 어떤 라이선스(36)들이 일시적으로만 저장될 필요가 있는지를 알 수 있어, 미디어 시스템은 더 이상 필요 없을 때는 그러한 일시적으로 저장된 라이선스들을 삭제한다.
본 발명의 개념으로부터 벗어남이 없이 위에 기술된 실시예들에 대한 변화가 이루어질 수 있음을 인식해야 한다. 그러므로, 본 발명은 개시된 특정한 실시예들로 제한되지 않으며, 첨부된 청구범위에 정의된 본 발명의 정신 및 범위 내에 드는 변경을 커버할 것을 의도한다는 것을 이해해야 한다.

Claims (16)

  1. 디지털 라이선스를 위한 요건들을 대응하는 디지털 콘텐츠의 수신기로부터 상기 디지털 콘텐츠가 렌더링될 컴퓨팅 장치로 전달하는 방법에 있어서,
    상기 수신기가 콘텐츠에 동조하는 단계;
    상기 수신기가 초기에는 라이선스를 위한 상기 요건들에 관한 정보를 찾지 않고, 따라서 디폴트 요건들을 포함하는 디폴트 메시지를 구성하고 상기 디폴트 요건들을 갖는 그렇게 구성된 상기 디폴트 메시지를 컴퓨팅 장치로 보내는 단계;
    상기 컴퓨팅 장치가 상기 디폴트 요건들을 갖는 상기 보내진 디폴트 메시지를 수신할 때 상기 수신된 디폴트 요건들에 기반해서 디폴트 버전의 상기 라이선스를 구성하고, 상기 구성된 디폴트 버전의 라이선스를 상기 컴퓨팅 장치의 라이선스 저장소에 저장하며, 그 후 상기 콘텐츠를 상기 디폴트 버전의 라이선스에 일치해서만 렌더링하는 단계;
    상기 수신기가 그 다음에 상기 라이선스를 위한 요건들에 관한 정보를 실제로 찾고, 따라서, 상기 찾아진 정보로부터 실제 요건들을 갖는 실제 메시지를 구성하며, 상기 실제 요건들을 갖는 상기 구성된 실제 메시지를 상기 컴퓨팅 장치로 보내는 단계; 및
    상기 컴퓨팅 장치가 상기 실제 요건들을 갖는 상기 보내진 실제 메시지를 수신할 때, 상기 수신된 실제 요건들에 기반하여 실제 버전의 상기 라이선스를 구성하고, 상기 구성된 실제 버전의 라이선스를 상기 디폴트 버전의 라이선스의 대신에 상기 컴퓨팅 장치의 라이선스 저장소에 저장하며, 그 후 상기 콘텐츠를 상기 실제 버전의 라이선스에 일치해서만 렌더링하는 단계
    를 포함하고,
    상기 수신기는 상기 라이선스의 요건들에 관한 상기 정보가 찾아질 때까지 상기 컴퓨팅 장치에 의한 상기 콘텐츠의 렌더링을 지연할 필요가 없는 방법.
  2. 제1항에 있어서,
    상기 디지털 콘텐츠는 다수의 스트림들을 갖는 신호로부터의 디지털 콘텐츠의 스트림이고, 상기 수신기가 상기 신호로부터의 스트림에 동조하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    상기 수신기가 초기에는 상기 라이선스를 위한 요건들에 관한 정보를 찾지 않고, 따라서 상기 콘텐츠가 복사되어 다른 하나의 컴퓨팅 장치에 렌더링되는 것을 허용하지 않는 디폴트 요건들을 포함하는 디폴트 메시지를 구성하는 단계를 포함하는 방법.
  4. 제1항에 있어서,
    상기 수신기가 상기 콘텐츠 내의 알려진 간격 및 위치에서 상기 요건들에 관한 상기 정보를 찾는 방법.
  5. 제1항에 있어서,
    상기 컴퓨팅 장치는 상기 요건들의 각각의 필드를 예정된 매핑 룰에 따라 상기 라이선스에 매핑하는 매핑 알고리즘을 채용함으로써 상기 수신된 요건들에 기반하여 상기 라이선스를 구성하는 방법.
  6. 제1항에 있어서,
    상기 수신기가 초기에는 상기 라이선스를 위한 상기 요건들에 관한 정보를 찾지 않고, 따라서, 카운트 x를 증분하며, 상기 디폴트 요건들 및 카운트 x를 포함하는 디폴트 메시지를 구성하고, 상기 디폴트 요건들 및 카운트 x를 갖는 상기 구성된 디폴트 메시지를 상기 컴퓨팅 장치로 보내는 단계; 및
    상기 수신기가 그 다음에, 상기 라이선스를 위한 상기 요건들에 관한 정보를 실제로 찾고, 따라서, 카운트 x를 증분하지 않지만, 그 대신에 상기 실제 요건들 및 상기 카운트 x를 갖는 실제 메시지를 구성하며, 상기 실제 요건들 및 카운트 x를 갖는 상기 구성된 실제 메시지를 상기 컴퓨팅 장치로 보내는 단계를 포함하고,
    상기 컴퓨팅 장치는 상기 실제 메시지의 증분되지 않은 카운트 x가 의미하는 것이 상기 구성된 실제 버전의 라이선스가 상기 디폴트 버전의 라이선스의 대신에 상기 라이선스 저장소에 저장되어야 한다는 것임을 이해하는 방법.
  7. 제1항에 있어서,
    상기 수신기가 초기에는 상기 라이선스를 위한 상기 요건들에 관한 정보를 찾지 않고, 따라서, 본질적으로 가장 제한적인 디폴트 요건들을 포함하는 디폴트 메시지를 구성하며 상기 디폴트 요건들을 갖는 상기 구성된 디폴트 메시지를 상기 컴퓨팅 장치로 보내는 단계를 포함하는 방법.
  8. 제1항에 있어서,
    상기 콘텐츠 내에서 상기 라이선스를 위한 상기 요건들에 관한 정보를 찾는 단계를 포함하는 방법.
  9. 디지털 라이선스를 위한 요건들을 대응하는 디지털 콘텐츠의 수신기로부터 상기 디지털 콘텐츠가 렌더링될 컴퓨팅 장치로 전달하는 방법을 구현하는 컴퓨터 실행 가능한 명령들이 저장된 컴퓨터 판독가능 매체에 있어서,
    상기 방법이,
    상기 수신기가 콘텐츠에 동조하는 단계;
    상기 수신기가 초기에는 라이선스를 위한 상기 요건들에 관한 정보를 찾지 않고, 따라서, 디폴트 요건들을 포함하는 디폴트 메시지를 구성하고 상기 디폴트 요건들을 갖는 그렇게 구성된 상기 디폴트 메시지를 컴퓨팅 장치로 보내는 단계;
    상기 컴퓨팅 장치가 상기 디폴트 요건들을 갖는 상기 보내진 디폴트 메시지를 수신할 때 상기 수신된 디폴트 요건들에 기반해서 디폴트 버전의 상기 라이선스를 구성하고, 상기 구성된 디폴트 버전의 라이선스를 상기 컴퓨팅 장치의 라이선스 저장소에 저장하며, 그 후 상기 콘텐츠를 상기 디폴트 버전의 라이선스에 일치해서만 렌더링하는 단계;
    상기 수신기가 그 다음에 상기 라이선스를 위한 요건들에 관한 정보를 실제로 찾고, 따라서, 상기 찾아진 정보로부터 실제 요건들을 갖는 실제 메시지를 구성하며, 상기 실제 요건들을 갖는 상기 구성된 실제 메시지를 상기 컴퓨팅 장치로 보내는 단계; 및
    상기 컴퓨팅 장치가 상기 실제 요건들을 갖는 상기 보내진 실제 메시지를 수신할 때, 상기 수신된 실제 요건들에 기반하여 실제 버전의 상기 라이선스를 구성하고, 상기 구성된 실제 버전의 라이선스를 상기 디폴트 버전의 라이선스의 대신에 상기 컴퓨팅 장치의 라이선스 저장소에 저장하며, 그 후 상기 콘텐츠를 상기 실제 버전의 라이선스에 일치해서만 렌더링하는 단계
    를 포함하고,
    상기 수신기는 상기 라이선스의 요건들에 관한 상기 정보가 찾아질 때까지 상기 컴퓨팅 장치에 의한 상기 콘텐츠의 렌더링을 지연할 필요가 없는 컴퓨터 판독가능 매체.
  10. 제9항에 있어서,
    상기 디지털 콘텐츠는 다수의 스트림들을 갖는 신호로부터의 디지털 콘텐츠의 스트림이고, 상기 방법이 상기 수신기가 상기 신호로부터의 스트림에 동조하는 단계를 포함하는 컴퓨터 판독가능 매체.
  11. 제9항에 있어서,
    상기 방법이 상기 수신기가 초기에는 상기 라이선스를 위한 요건들에 관한 정보를 찾지 않고, 따라서, 상기 콘텐츠가 복사되어 다른 하나의 컴퓨팅 장치에 렌더링되는 것을 허용하지 않는 디폴트 요건들을 포함하는 디폴트 메시지를 구성하는 단계를 포함하는 컴퓨터 판독가능 매체.
  12. 제9항에 있어서,
    상기 수신기는 상기 콘텐츠 내의 알려진 간격 및 위치에서 상기 요건들에 관한 상기 정보를 찾는 컴퓨터 판독가능 매체.
  13. 제9항에 있어서,
    상기 컴퓨팅 장치는 상기 요건들의 각각의 필드를 예정된 매핑 룰에 따라 상기 라이선스에 매핑하는 매핑 알고리즘을 채용함으로써 상기 수신된 요건들에 기반하여 상기 라이선스를 구성하는 컴퓨터 판독가능 매체.
  14. 제9항에 있어서,
    상기 방법이,
    상기 수신기가 초기에는 상기 라이선스를 위한 상기 요건들에 관한 정보를 찾지 않고, 따라서, 카운트 x를 증분하며, 상기 디폴트 요건들 및 카운트 x를 포함 하는 디폴트 메시지를 구성하고, 상기 디폴트 요건들 및 카운트 x를 갖는 상기 구성된 디폴트 메시지를 상기 컴퓨팅 장치로 보내는 단계; 및
    상기 수신기가 그 다음에, 상기 라이선스를 위한 상기 요건들에 관한 정보를 실제로 찾고, 따라서, 카운트 x를 증분하지 않지만, 그 대신에 상기 실제 요건들 및 상기 카운트 x를 갖는 실제 메시지를 구성하며, 상기 실제 요건들 및 카운트 x를 갖는 상기 구성된 실제 메시지를 상기 컴퓨팅 장치로 보내는 단계를 포함하고,
    상기 컴퓨팅 장치는 상기 실제 메시지의 증분되지 않은 카운트 x가 의미하는 것이 상기 구성된 실제 버전의 라이선스가 상기 디폴트 버전의 라이선스의 대신에 상기 라이선스 저장소에 저장되어야 한다는 것임을 이해하는 컴퓨터 판독가능 매체.
  15. 제9항에 있어서,
    상기 방법이 상기 수신기가 초기에는 상기 라이선스를 위한 상기 요건들에 관한 정보를 찾지 않고, 따라서, 본질적으로 가장 제한적인 디폴트 요건들을 포함하는 디폴트 메시지를 구성하며 상기 디폴트 요건들을 갖는 상기 구성된 디폴트 메시지를 상기 컴퓨팅 장치로 보내는 단계를 포함하는 컴퓨터 판독가능 매체.
  16. 제9항에 있어서,
    상기 방법이 상기 콘텐츠 내에서 상기 라이선스를 위한 상기 요건들에 관한 정보를 찾는 단계를 포함하는 컴퓨터 판독가능 매체.
KR1020077023975A 2005-04-22 2006-03-16 디지털 라이선스 요건의 전달 방법 및 그 컴퓨터 판독가능매체 KR20080007328A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/113,215 US20060242079A1 (en) 2005-04-22 2005-04-22 Rights management system for streamed multimedia content
US11/113,215 2005-04-22

Publications (1)

Publication Number Publication Date
KR20080007328A true KR20080007328A (ko) 2008-01-18

Family

ID=37188241

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077023975A KR20080007328A (ko) 2005-04-22 2006-03-16 디지털 라이선스 요건의 전달 방법 및 그 컴퓨터 판독가능매체

Country Status (6)

Country Link
US (1) US20060242079A1 (ko)
EP (1) EP1872348A2 (ko)
JP (1) JP2008538633A (ko)
KR (1) KR20080007328A (ko)
CN (1) CN101501724A (ko)
WO (1) WO2006115608A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7581255B2 (en) * 2003-01-21 2009-08-25 Microsoft Corporation Systems and methods for licensing one or more data streams from an encoded digital media file
US9507919B2 (en) * 2005-04-22 2016-11-29 Microsoft Technology Licensing, Llc Rights management system for streamed multimedia content
US7684566B2 (en) 2005-05-27 2010-03-23 Microsoft Corporation Encryption scheme for streamed multimedia content protected by rights management system
US8321690B2 (en) 2005-08-11 2012-11-27 Microsoft Corporation Protecting digital media of various content types
US9270944B2 (en) * 2007-02-14 2016-02-23 Time Warner Cable Enterprises Llc Methods and apparatus for content delivery notification and management
US20080256646A1 (en) * 2007-04-12 2008-10-16 Microsoft Corporation Managing Digital Rights in a Member-Based Domain Architecture
US8539543B2 (en) * 2007-04-12 2013-09-17 Microsoft Corporation Managing digital rights for multiple assets in an envelope
US9805374B2 (en) 2007-04-12 2017-10-31 Microsoft Technology Licensing, Llc Content preview
US10911794B2 (en) 2016-11-09 2021-02-02 Charter Communications Operating, Llc Apparatus and methods for selective secondary content insertion in a digital network

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209892B1 (en) * 1998-12-24 2007-04-24 Universal Music Group, Inc. Electronic music/media distribution system
JP4524480B2 (ja) * 2000-11-24 2010-08-18 三洋電機株式会社 データ端末装置
US7099849B1 (en) * 2000-12-28 2006-08-29 Rightsline, Inc. Integrated media management and rights distribution apparatus
SG99387A1 (en) * 2001-02-02 2003-10-27 Matsushita Electric Ind Co Ltd Content usage management system and content usage management method
JP2002342518A (ja) * 2001-02-02 2002-11-29 Matsushita Electric Ind Co Ltd コンテンツ利用管理システム及びコンテンツ利用管理方法
JP2002268949A (ja) * 2001-03-12 2002-09-20 Pioneer Electronic Corp 複製管理方法、複製管理装置、記録媒体およびプログラム
US7249107B2 (en) * 2001-07-20 2007-07-24 Microsoft Corporation Redistribution of rights-managed content
US7366915B2 (en) * 2002-04-30 2008-04-29 Microsoft Corporation Digital license with referral information

Also Published As

Publication number Publication date
WO2006115608A3 (en) 2009-04-23
JP2008538633A (ja) 2008-10-30
EP1872348A2 (en) 2008-01-02
CN101501724A (zh) 2009-08-05
WO2006115608A2 (en) 2006-11-02
US20060242079A1 (en) 2006-10-26

Similar Documents

Publication Publication Date Title
KR101247026B1 (ko) 디지털 라이선스 요건의 전달 방법 및 그 컴퓨터 판독가능매체
US8290874B2 (en) Rights management system for streamed multimedia content
US7693280B2 (en) Rights management system for streamed multimedia content
US7684566B2 (en) Encryption scheme for streamed multimedia content protected by rights management system
CA2428953C (en) Secure media path methods, systems, and architecture
US7574747B2 (en) Proximity detection employed in connection with rights management system or the like
JP4912406B2 (ja) 第1プラットフォームから第2プラットフォームへのディジタルライセンスの移送
KR100513297B1 (ko) 인트라넷에서의 멀티미디어 컨텐츠 관리 시스템 및 방법
KR20080007328A (ko) 디지털 라이선스 요건의 전달 방법 및 그 컴퓨터 판독가능매체
JP2006222951A (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