KR20060089632A - 컴퓨팅 장치상에서 다수의 특성을 포함하는 어플리케이션을사용하기 위한 사용 라이센스를 획득하는 방법 및 그러한어플리케이션과 사용 라이센스 - Google Patents

컴퓨팅 장치상에서 다수의 특성을 포함하는 어플리케이션을사용하기 위한 사용 라이센스를 획득하는 방법 및 그러한어플리케이션과 사용 라이센스 Download PDF

Info

Publication number
KR20060089632A
KR20060089632A KR1020060008223A KR20060008223A KR20060089632A KR 20060089632 A KR20060089632 A KR 20060089632A KR 1020060008223 A KR1020060008223 A KR 1020060008223A KR 20060008223 A KR20060008223 A KR 20060008223A KR 20060089632 A KR20060089632 A KR 20060089632A
Authority
KR
South Korea
Prior art keywords
license
application
computing device
user
product
Prior art date
Application number
KR1020060008223A
Other languages
English (en)
Other versions
KR101219819B1 (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 KR20060089632A publication Critical patent/KR20060089632A/ko
Application granted granted Critical
Publication of KR101219819B1 publication Critical patent/KR101219819B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06CLADDERS
    • E06C7/00Component parts, supporting parts, or accessories
    • E06C7/12Lifts or other hoisting devices on ladders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66DCAPSTANS; WINCHES; TACKLES, e.g. PULLEY BLOCKS; HOISTS
    • B66D1/00Rope, cable, or chain winding mechanisms; Capstans
    • B66D1/28Other constructional details
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66DCAPSTANS; WINCHES; TACKLES, e.g. PULLEY BLOCKS; HOISTS
    • B66D1/00Rope, cable, or chain winding mechanisms; Capstans
    • B66D1/60Rope, cable, or chain winding mechanisms; Capstans adapted for special purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Mechanical Engineering (AREA)
  • Technology Law (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

어플리케이션은 다수의 특성을 포함한다. 어플리케이션에 대응하는 제품 라이센스를 획득하기 위하여 판매자와의 트랜잭션이 발생된다. 제품 라이센스는 이용될 수 있는 어플리케이션의 적어도 하나의 특성을 정의한다. 어플리케이션의 기본 사본이 배포자로부터 획득되어 작동된다. 작동된 어플리케이션이 사용자, 컴퓨팅 장치, 및 컴퓨팅 장치상에서 동작하는 신뢰된 컴포넌트 중 적어도 하나의 식별과 함께 제품 라이센스를 라이센서에게 전송함으로써, 제품 라이센스에 대응하는 사용 라이센스가 라이센서로부터 획득되고, 사용 라이센스는 제품 라이센스에 정의된 각 특성을 이용하기 위한 권한을 부여하는 특성 정책을 포함한다.
사용 라이센스, 제품 라이센스, 어플리케이션, 권한, 특성 정책

Description

컴퓨팅 장치상에서 다수의 특성을 포함하는 어플리케이션을 사용하기 위한 사용 라이센스를 획득하는 방법 및 그러한 어플리케이션과 사용 라이센스{Flexible Licensing Architecture for Licensing Digital Application}
도 1은 본 발명이 구현될 수 있는 제한을 가하지 않는 예시적인 컴퓨팅 환경을 나타내는 블럭도.
도 2는 본 발명이 구현될 수 있는 다양한 컴퓨팅 장치를 갖는 예시적인 네트워크 환경을 나타내는 블럭도.
도 3은 본 발명의 일 실시예에 따른 디지털 라이센스를 포함하는 신뢰-기반 시스템의 예의 시행 아키텍처를 도시하는 블럭도.
도 4는 본 발명의 일 실시예에 따라 도 3의 어플리케이션의 에디션을 이용하기 위한 사용 라이센스를 발행하기 위한 라이센싱 아키텍처를 도시하는 블럭도.
도 5는 본 발명의 일 실시예에 따라 도 3 및 도 4의 사용 라이센스를 획득하는 동안 수행된 주요 단계들을 보여주는 흐름도.
도 6은 본 발명의 일 실시예에 따라 도 3의 어플리케이션을 사용하기 위해 도 3 및 도 4의 사용 라이센스를 획득할 때 수행된 주요 단계들을 보여주는 흐름도.
도 7은 본 발명의 일 실시예에 따라 도 3 및 도 4의 사용 라이센스를 리턴 또는 전달할 때 수행된 주요 단계들을 보여주는 흐름도.
<도면의 주요부분에 대한 부호의 설명>
33: 어플리케이션 패키지
34: 사용자의 컴퓨팅 장치
36: 제품 라이센스, 사용 라이센스
44: 프로그래머/발행자
46: 라이센서
50: 라이센싱 아키텍처
52: 판매자
54: 배포자
본 발명은 컴퓨팅 장치 등에서 디지털 어플리케이션을 동작시키기 위해 라이센스를 제공하기 위한 라이센싱 아키텍처에 관한 것이다. 보다 상세하게는, 본 발명은 디지털 어플리케이션의 하나의 버전만이 여러 이용가능한 특성을 갖추어 릴리즈되면 되고, 특정 사용자에게 발행된 특정 라이센스가 그 사용자에 의해 어떤 이용가능한 특성이 이용될 수 있는지를 지정하는 라이센싱 아키텍처에 관한 것이다. 따라서, 어플리케이션의 발행자는 동일한 어플리케이션의 여러 버전을 릴리즈할 필요가 없고, 라이센스 획득 시 사용자는 여러 이용가능한 특성들 중 어떤 것을 라이 센스받을지 선택할 수 있다.
권한 관리 및 시행은 한 명 이상의 사용자에게 배포될 디지털 어플리케이션 등과 같은 디지털 컨텐츠와 관련하여 매우 바람직하다. 배포의 전형적인 모드는 자기 (플로피) 디스크, 자기 테이프, 광 (컴팩트) 디스크(CD) 등과 같은 유형 장치, 및 전자 게시판, 전자 네트워크, 인트넷 등과 같은 무형 매체를 포함한다. 컴퓨팅 장치에서 사용자에 의해 수신되면, 그러한 사용자는 컴퓨팅 장치상에서 적합한 운영 시스템의 도움으로 어플리케이션을 활성화할 수 있다.
전형적으로, 어플리케이션의 프로그래머 및/또는 발행자는 라이센스료 또는 소정의 다른 대가를 지불하여 그러한 어플리케이션을 여러 사용자 또는 수신자 각각에게 배포하기를 원한다. 그리고, 그러한 상황에서, 어플리케이션은 워드 프로세싱 어플리케이션, 스프레드시트 어플리케이션, 브라우저 어플리케이션, 게임 어플리케이션, 미디어 플레이어 어플리케이션, 그들의 조합 등일 수 있다. 선택권을 부여받으면, 그러한 프로그래머/발행자 또는 기타 유사한 엔터티(이하, "발행자")는 그러한 발행된 어플리케이션을 이용하여 각 사용자가 할 수 있는 것을 제약하기를 원할 가능성이 있을 것이다. 예를 들어, 발행자는 사용자가 적어도 제2 사용자로부터의 라이센스료를 발행자에게 주지 않고서 그러한 어플리케이션을 제2 사용자에게 복사 및 재배포하는 것을 제약하기를 원할 것이다.
그러나, 발행된 후, 그러한 발행자는 그 어플리케이션에 대한 어떠한 실제적인 제어를 전혀 또는 거의 갖지 않는다. 이것은 그러한 어플리케이션의 정확한 디 지털 복사를 행하고, 그러한 정확한 디지털 사본을 기록가능한 자기 또는 광 디스크에 다운로드하거나 인터넷과 같은 네트워크를 통해 임의의 대상에게 그러한 정확한 디지털 사본을 전송하는 데에 필요한 소프트웨어 및 하드웨어를 사실상 모든 개인용 컴퓨터가 포함한다는 사실의 관점에서 특히 문제이다.
물론, 어플리케이션이 배포되는 트랜잭션의 일부로서, 발행자는 어플리케이션의 사용자/수신자가 바람직하지 않은 방식으로 어플리케이션을 재배포하지 않을 것을 약속할 것을 요구할 수 있다. 그러나, 그러한 약속은 쉽게 행해지고 쉽게 파기된다. 발행자는 대개 암호화 및 복호를 수반하는 여러 공지된 보안 장치 중 임의의 것을 통해 그러한 재배포를 예방하려 시도할 수 있다. 그러나, 조심스럽게 결심한 사용자가 암호화된 어플리케이션을 복호하고, 그러한 어플리케이션을 암호화되지 않은 형태로 저장하며, 그 후 그것을 재배포하는 것을 방지할 가능성은 거의 없다.
또한, 발행자는 어플리케이션의 다른 타입 또는 에디션을 구매할 유연성을 사용자에게 제공하기를 원할 수 있다. 예를 들어, 발행자는 고가의 완전한 기능을 갖춘 에디션과 저가의 기본 에디션을 제공하기를 원할 수 있다. 마찬가지로, 발행자는 비지니스 에디션과 홈 에디션, 학생 에디션과 교사 에디션 등을 제공하기를 원할 수 있다. 그렇지만, 종래 기술에서, 어플리케이션의 그러한 각 에디션은 발행자가 개별적인 집합의 운영 코드를 배포할 것을 필요로 할 것이라는 점을 유의해야 한다. 따라서, 동일한 어플리케이션의 여러 에디션을 제공하는 것은 발행자가 상당한 비용으로 그러한 에디션 각각을 개별적으로 유지, 패키지화, 및 판매할 것 을 필요로 한다는 점을 이해해야 한다. 게다가, 그러한 각 에디션은 아마도 훨씬 더 상당한 비용으로 개별적으로 지원되고, 개별적으로 업데이트되며, 개별적으로 디버깅된다. 또한, 어플리케이션의 에러 또는 버그가 발견되면, 그러한 에디션 각각이 개별적으로 검토 및 정정되어야 하며, 사실상 그러한 에디션 모두에 에러가 존재한다면, 다시 한번 상당한 비용이 든다.
어플리케이션의 다른 에디션을 구매할 유연성을 사용자에게 제공하기 위하여, 발행자는 실제로 구매된 임의의 타입의 라이센스의 조건을 사용자가 따르게 하면서, 상이한 라이센스료로 상이한 타입의 사용 라이센스를 제공할 수 있다. 예를 들어, 어플리케이션이 여러 이용가능한 특성을 포함하는 경우에, 발행자는 사용자에게 라이센스받을 이용가능한 특성/에디션의 메뉴를 제공하기를 원하거나, 라이센스될 이용가능한 특성들 중 특정 특성들을 사용자가 선택하도록 하기를 원할 수도 있다. 따라서, 그러한 라이센스 구매 시 사용자는 라이센스에 의해 인에이블되는 어플리케이션의 이용가능한 특성을 이용할 수 있을 것이며, 라이센스에 의해 인에이블되지 않는 어플리케이션의 이용가능한 특성들을 이용하는 것이 금지될 것이다. 아마도, 라이센스료는 그것에 의해 인에이블되는 이용가능한 특성들에 따라 다를 것이다.
중요하게, 어플리케이션에 대해 여러 타입의 라이센스를 제공함으로써, 또는 어플리케이션에 대해 맞춤화된 라이센스를 제공함으로써, 발행자는 이용가능한 특성들의 특정 집합에 각각 맞춤화된 어플리케이션의 여러 다른 에디션을 배포해야 하는 것을 피할 수 있다. 대신, 발행자는 이용가능한 모든 특성들을 갖춘 어플리 케이션의 단일 기본 사본만을 배포하고, 그 후 그러한 모든 이용가능한 특성들의 특정 부분집합만을 인에이블하는 라이센스를 제공할 것만을 필요로 한다. 잘 알 수 있는 바와 같이, 어플리케이션의 단일 기본 사본이 유효한 라이센스없이는 어플리케이션이 실행될 수 없는 형태로 배포된다면, 그러한 어플리케이션은 자유롭게 배포 및 재배포될 수 있지만, 발행자 또는 그의 에이전트로부터 라이센스를 획득한 사용자에 의해서만 동작될 수 있다.
권한 관리(Rights Management, RM) 및 시행 아키텍처 및 방법은 임의의 형태의 디지털 어플리케이션의 동작 제어를 허용하기 위하여 이전에 제공되었으며, 그러한 제어는 유연하고 그러한 어플리케이션의 발행자에 의해 정의가능하다. 전형적으로, 디지털 라이센스는 어플리케이션을 실행하기 위하여 제공되며, 그러한 라이센스없이는 의미있는 방식으로 어플리케이션이 작동될 수 없다. 예를 들어, 적어도 어플리케이션의 일부가 암호화되고, 그러한 암호화된 부분을 복호하기 위한 복호 키를 라이센스가 포함하는 경우가 있을 수 있다. 또한, 사용자 또는 그의 컴퓨팅 장치에 라이센스가 결합되고, 그러한 컴퓨팅 장치는 라이센스의 조건들이 이행됨을 보장하는 보안 특성을 포함하는 경우가 있을 수 있다.
그러나, 그러한 RM 아키텍처는, 특정 사용자에게 발행된 특정 라이센스가 그 사용자에 의해 어떠한 이용가능한 특성/에디션이 이용될 수 있는지를 지정하도록 여러 이용가능한 특성 또는 에디션을 갖춘 디지털 어플리케이션의 단 하나의 사본만이 릴리즈되면 되는 라이센싱 아키텍처를 달성하는 데에는 아직까지 이용되지 않았다. 따라서, 어플리케이션의 발행자가 동일한 어플리케이션의 여러 에디션을 릴 리즈할 필요가 없게 하고 라이센스 획득 시 여러 이용가능한 특성/에디션 중 어떤 것이 라이센스받을 것인지를 사용자가 선택할 수 있게 하는 그러한 라이센싱 아키텍처가 필요하다.
상술된 요구들은 컴퓨팅 장치상에서 여러 특성을 포함하는 어플리케이션을 사용하기 위한 사용 라이센스를 획득하기 위한 방법이 제공되는 본 발명에 의해 적어도 부분적으로 충족된다. 본 방법에서, 어플리케이션에 대응하는 제품 라이센스를 판매자로부터 획득하기 위하여 판매자와의 트랜잭션이 관여되고, 제품 라이센스는 그러한 제품 라이센스에 기초하여 이용될 수 있는 어플리케이션의 적어도 하나의 특성을 정의한다. 또한, 어플리케이션의 기본 사본은 배포자로부터 획득되어 작동된다. 사용 라이센스는 제품 라이센스에 대응하고, 작동된 어플리케이션이 사용자, 컴퓨팅 장치, 및 컴퓨팅 장치상에서 실행되는 신뢰된 컴포넌트 중 적어도 하나의 식별과 함께 라이센서에게 제품 라이센스를 전송함으로써 라이센서로부터 획득되며, 사용 라이센스는 제품 라이센스에 정의된 각 특성을 이용하기 위한 권한을 부여하는 특성 정책(feature policy)을 포함한다.
전술한 요약뿐 아니라 후술되는 본 발명의 실시예들의 상세한 설명은 첨부된 도면들과 함께 읽혀질 때 더욱 잘 이해될 것이다. 본 발명을 설명하기 위하여, 현재 바람직한 실시예들이 도면에 도시된다. 그러나, 본 발명이 도시된 정확한 배치 및 수단에 제한되지는 않음을 이해해야 한다.
컴퓨터 환경
도 1은 본 발명이 구현될 수 있는 적합한 컴퓨팅 환경에 대한 간략하고 일반적인 설명을 제공하기 위한 것이다. 그러나, 모든 종류 중 포켓형, 휴대형, 및 기타 컴퓨팅 장치들이 본 발명과 관련한 사용을 위해 고려됨을 이해해야 한다. 범용 컴퓨터가 하기에 기술되지만, 이것은 단지 하나의 예일 뿐이며, 본 발명은 네트워크 서버 상호동작성 및 상호작용을 갖춘 씬 클라이언트(thin client)만을 필요로 한다. 따라서, 본 발명은 매우 적거나 최소의 클라이언트 자원이 관련될 수 있는 네트워킹된 호스트 서비스의 환경, 예를 들어, 클라이언트 장치가 단지 월드 와이드 웹에 대한 브라우저 또는 인터페이스로서 동작하는 네트워크 환경에서 구현될 수 있다.
요구되지는 않지만, 본 발명은 개발자에 의한 사용을 위한 어플리케이션 프로그래밍 인터페이스(API)를 통해 구현될 수 있고/거나, 클라이언트 워크스테이션, 서버, 또는 기타 장치들과 같은 하나 이상의 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터-실행가능한 명령어들의 일반적인 문맥으로 기술될 네트워크 브라우징 소프트웨어 내에 포함될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 전형적으로, 프로그램 모듈의 기능은 다양한 실시예에서 원하는 대로 결합 또는 분산될 수 있다. 게다가, 본 분야에서 숙련된 기술을 가진 자들은 본 발명이 다른 컴퓨터 시스템 구성에서 실행될 수 있음을 잘 알 것이다. 본 발명의 사용에 적합할 수 있는 기타 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성은 개인용 컴퓨터(PC), 자동 입출금기, 서버 컴퓨터, 포켓형 또는 랩 탑 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 시스템, 프로그래밍가능한 가전기기, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하지만 이들로 제한되지는 않는다. 본 발명은 또한 통신 네트워크 또는 기타 데이터 전송 매체를 통해 링크되는 원격 프로세싱 장치에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서도 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체 둘 다에 저장될 수 있다.
따라서 도 1은 본 발명이 구현될 수 있는 적합한 컴퓨팅 시스템 환경(100)의 예를 도시하며, 상기에서 명백해졌지만, 컴퓨팅 시스템 환경(100)은 단지 적합한 컴퓨팅 환경의 하나의 예일 뿐이며, 본 발명의 사용 또는 기능의 범위에 어떠한 제한도 가하기 위한 것이 아니다. 컴퓨팅 환경(100)은 예시적인 운영 환경(100)에 도시된 컴포넌트들 중 임의의 것 또는 그들의 조합에 관해 어떠한 의존성이나 요구사항도 가지는 것으로 해석되어서는 안 된다.
도 1을 참조하면, 본 발명을 구현하기 위한 예시적인 시스템은 컴퓨터(110)의 형태로 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들은 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트들을 프로세싱 유닛(120)에 연결하는 시스템 버스(121)를 포함할 수 있지만, 이들로 제한되지는 않는다. 시스템 버스(121)는 메모리 버스 또는 메모리 제어기, 주변 버스, 및 다양한 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스를 포함하는 여러 타입의 버스 구조 중 임의의 것일 수 있다. 제한을 가하지 않는 예로서, 그러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, 강화된 ISA(EISA) 버스, 비디오 전자 표준 협회(VESA) 로컬 버스, 및 주변 컴포넌트 인터커넥트(PCI) 버스(Mezzanine 버스로도 알려짐)를 포함한다.
컴퓨터(110)는 전형적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체 둘 모두 포함한다. 제한을 가하지 않는 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체 둘 모두 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CDROM, DVD 또는 기타 광 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨터(110)에 의해 액세스될 수 있는 임의의 기타 매체를 포함하지만 이들로 제한되지는 않는다. 통신 매체는 전형적으로 반송파 또는 기타 전송 메커니즘과 같이 변조된 데이터 신호로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 구체화하고, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호의 정보를 인코딩하기 위한 방식으로 설정 또는 변경된 하나 이상의 특성을 갖는 신호를 의미한다. 제한을 가하지 않는 예로서, 통신 매체는 유선 네트워크 또는 직접-유선 연결과 같은 유선 매체, 및 음향, 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, 디지털 비디오 테이프, 고체 상태 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)는 상이한 번호를 부여받는다. 사용자는 키보드(162)와 같은 입력 장치, 및 일반적으로 마우스, 트랙볼 또는 터치 패드라 불리는 포인팅 장치(161)를 통해 컴퓨터(110)에 명령어 및 정보를 입력할 수 있다. 기타 입력 장치(도시되지 않음)는 마이크, 조이스틱, 게임 패드, 위성 디쉬, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스(121)에 연결되는 사용자 인터페이스(160)를 통해 프로세싱 유닛(120)에 연결되지만, 병렬 포트, 게임 포트 또는 USB와 같은 기타 인터페이스 및 버스 구조에 의해 연결될 수 있다.
모니터(191) 또는 다른 타입의 디스플레이 장치 또한 비디오 인터페이스(190)와 같은 인터페이스를 통해 시스템 버스(121)에 연결된다. Northbridge와 같 은 그래픽 인터페이스(182) 또한 시스템 버스(121)에 연결될 수 있다. Northbridge는 CPU 또는 호스트 프로세싱 유닛(120)과 통신하고, 가속 그래픽 포트(AGP) 통신에 대한 책임을 가정하는 칩셋이다. 하나 이상의 그래픽 프로세싱 유닛(GPU)(184)이 그래픽 인터페이스(182)와 통신할 수 있다. 이러한 점에서, GPU(184)는 일반적으로 레지스터 저장장치와 같은 온-칩 메모리 저장장치를 포함하며, GPU(184)는 비디오 메모리(186)와 통신한다. 그러나, GPU(184)는 보조프로세서의 한 예일 뿐이며, 따라서 다양한 보조프로세싱 장치가 컴퓨터(110)에 포함될 수 있다. 모니터(191) 또는 다른 타입의 디스플레이 장치 또한 비디오 인터페이스(190)와 같은 인터페이스를 통해 시스템 버스(121)에 연결되며, 차례로 비디오 메모리(186)와 통신할 수 있다. 모니터(191) 이외에, 컴퓨터는 또한 출력 주변 인터페이스(195)를 통해 연결될 수 있는 스피커(197) 및 프린터(196)와 같은 기타 주변 출력 장치를 포함할 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터에의 논리적 연결을 사용하는 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 일반적인 네트워크 노드일 수 있으며, 도 1에는 메모리 저장 장치(181)만이 도시되었지만 전형적으로 컴퓨터(110)에 관련하여 상기 기술된 구성요소들 중 다수 또는 모두를 포함한다. 도 1에 도시된 논리적 연결은 근거리 통신망(LAN)(171) 및 광역 통신망(WAN)(173)을 포함하지만, 다른 네트워크도 포함할 수 있다. 그러한 네트워크 환경은 사무실, 기업-규모 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적인 것이다.
LAN 네트워크 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 연결된다. WAN 네트워크 환경에서 사용될 때, 컴퓨터(110)는 전형적으로 인터넷과 같은 WAN(173)을 통한 통신을 구축하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장 또는 외장일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적합한 메커니즘을 통해 시스템 버스(121)에 연결될 수 있다. 네트워크 환경에서, 컴퓨터(110)에 관련되어 기술된 프로그램 모듈, 또는 그들의 일부는 원격 메모리 저장 장치에 저장될 수 있다. 제한을 가하지 않는 예로서, 도 1은 원격 어플리케이션 프로그램(185)을 메모리 장치(181)에 상주하는 것으로서 도시한다. 도시된 네트워크 연결은 예시적인 것이며, 컴퓨터들 사이에 통신 링크를 구축하는 기타 수단이 사용될 수 있음을 잘 알 것이다.
본 분야에서 숙련된 기술을 가진 자들은 컴퓨터(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는 "전송 제어 프로토콜/인터페이스 프로그램(Transport Control Protocol/Interface Program)"에 대한 약어이다. 인터넷은 사용자가 네트워크를 통해 정보를 상호작용 및 공유하도록 하는 네트워킹 프로토콜을 실행하는 컴퓨터에 의해 상호연결된 지리적으로 분산된 원격 컴퓨터 네트워크의 시스템으로서 기술될 수 있다. 따라서, 널리 퍼져 있는 그러한 정보의 공유로 인해, 인터넷과 같은 원격 네트워크는 일반적으로 지금까지 개발자가 특수화된 동작 또는 서비스를 수행하기 위한 소프트웨어 어플리케이션을 본질적으로 제약없이 설계할 수 있는 오픈 시스템으로 발달해 왔다.
따라서, 네트워크 기반구조는 클라이언트/서버, 피어-투-피어, 또는 복합 아키텍처와 같은 네트워크 위상의 호스트를 가능하게 한다. "클라이언트"는 관련되지 않는 또다른 클래스 또는 그룹의 서비스를 사용하는 클래스 또는 그룹의 멤버이다. 따라서, 컴퓨팅에서, 클라이언트는 또다른 프로그램에 의해 제공된 서비스를 요청하는 프로세스, 즉, 대략적으로, 명령어 또는 태스크의 집합이다. 클라이언트 프로세스는 다른 프로그램 또는 서비스 자체에 대한 어떠한 동작 세부사항도 "알" 필요없이 요청된 서비스를 이용한다. 클라이언트/서버 아키텍처, 특히 네트워크 시스템에서, 클라이언트는 보통 서버와 같은 또다른 컴퓨터에 의해 제공된 공유 네 트워크 자원을 액세스하는 컴퓨터이다. 도 2의 예에서, 컴퓨터(110a, 110b 등)는 클라이언트로 여겨질 수 있고, 컴퓨터(10a, 10b 등)는 서버로 여겨질 수 있으며, 서버(10a, 10b 등)는 데이터를 유지하고, 그 데이터는 그 후 클라이언트 컴퓨터(110a, 110b 등)에 복제된다.
서버는 전형적으로 인터넷과 같은 원격 네트워크를 통해 액세스가능한 원격 컴퓨터 시스템이다. 클라이언트 프로세스는 제1 컴퓨터 시스템에서 활성일 수 있고, 서버 프로세스는 제2 컴퓨터 시스템에서 활성일 수 있으며, 통신 매체를 통해 서로 통신하고, 따라서 분산 기능을 제공하고, 여러 클라이언트가 서버의 정보 수집 기능을 이용하도록 한다.
클라이언트 및 서버는 프로토콜 계층에 의해 제공된 기능을 이용하여 서로 통신한다. 예를 들어, 하이퍼텍스트-전송 프로토콜(HTTP)은 월드 와이드 웹(WWW)과 관련하여 사용되는 일반적인 프로토콜이다. 전형적으로, 서버 또는 클라이언트 컴퓨터가 서로를 식별하기 위하여 URL(Universal Resource Locator) 또는 인터넷 프로토콜(IP) 주소와 같은 컴퓨터 네트워크 주소가 사용된다. 네트워크 주소는 URL 주소라 불릴 수 있다. 예를 들어, 통신은 통신 매체를 통해 제공될 수 있다. 특히, 클라이언트 및 서버는 대용량 통신을 위해 TCP/IP 연결을 통해 서로에게 연결될 수 있다.
따라서, 도 2는 본 발명이 이용될 수 있는, 네트워크/버스를 통해 클라이언트 컴퓨터와 통신하는 서버를 갖는 예시적인 네트워크 또는 분산 환경을 도시한다. 보다 상세하게, 여러 서버(10a, 10b 등)는 통신 네트워크/버스(14)를 통해 상호연 결되고, 그것은 본 발명에 따라 휴대용 컴퓨터, 포켓형 컴퓨터, 씬 클라이언트, 네트워크 기기, 또는 VCR, TV, 오븐, 전등, 히터 등과 같은 기타 장치와 같은 여러 클라이언트 또는 원격 컴퓨팅 장치(110a, 110b, 110c, 110d, 110e 등)를 갖춘 LAN, WAN, 인트라넷, 인터넷 등일 수 있다. 따라서, 본 발명은 신뢰된 소스로부터의 컨텐츠를 안전하게 프로세싱, 저장 또는 제공하는 것이 바람직하다는 것과 관련하여 임의의 컴퓨팅 장치에 적용할 수 있는 것으로 여겨진다.
통신 네트워크/버스(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)를 갖는 컴퓨터 네트워크 환경에서 이용될 수 있다.
권한 관리( RM ) 개요
알려진 바와 같이, 그리고 이제 도 3을 참조하면, 사용자에게 배포될 디지털 어플리케이션(32)과 관련하여 권한 관리(RM) 및 시행이 매우 바람직하다. 사용자에 의해 수신되면, 사용자는 적합한 컴퓨팅 장치(34) 등의 도움으로 어플리케이션(32)을 인스턴스화한다.
전형적으로, 그러한 디지털 어플리케이션(32)을 배포하는 어플리케이션 프로그래머 또는 발행자(이하 '발행자')(44)는 사용자가 그러한 배포된 어플리케이션(32)을 이용하여 할 수 있는 것을 제약하기를 원한다. 예를 들어, 발행자(44)는 사용자가 제2 사용자에게 그러한 어플리케이션(32)을 복사 및 재배포하는 것을 제약하기를 원할 수 있고, 또는 배포된 어플리케이션(32)이 제한된 횟수만큼만, 특정한 총 시간동안만, 특정 타입의 기계에서만, 특정 타입의 렌더링 플랫폼에서만, 특정 타입의 사용자에 의해서만 작동되도록 하기를 원할 수 있다.
그러나, 배포된 후, 발행자(44)는 어플리케이션(32)에 대한 제어를 전혀 또는 거의 갖지 못한다. 그래서, RM 시스템(300)은 어플리케이션(32) 작동에 대한 제어를 허용하며, 그러한 제어는 유연하고 그러한 어플리케이션(32)의 발행자(44)에 의해 정의가능하다. 전형적으로, 어플리케이션(32)은 임의의 적합한 배포 채널에 의해 패키지(33)의 형태로 사용자에게 배포된다. 분산된 패키지(33)는 대칭적 암호화/복호 키(KD)(즉, (KD(AP)))를 이용하여 암호화된 어플리케이션(32) 또는 그 일부뿐만 아니라 어플리케이션(32)을 식별하는 기타 정보, 그러한 어플리케이션 (32)에 대한 라이센스를 획득하는 방법 등을 포함할 수 있다.
신뢰-기반 RM 시스템(30)은 그러한 어플리케이션(32)이 사용자의 컴퓨팅 장치(34)에서 작동되도록 허용되기 전에 충족되어야 하는 라이센스 규칙을 어플리케이션(32)의 발행자(44)가 지정하도록 한다. 그러한 라이센스 규칙은 전술된 시간적 요구사항을 포함할 수 있고, 사용자/사용자의 컴퓨팅 장치(34)(환경이 다르게 요구하지 않으면 상호교환하여 사용할 수 있는 용어들임)가 발행자(44) 또는 그들의 에이전트로부터 획득해야 하는 디지털 라이센스 또는 사용 문서(이하 '라이센스')(36) 내에 포함될 수 있다. 그러한 라이센스(36)는 또한 어플리케이션(32)의 암호화된 부분을 복호하기 위한 복호 키(KD)를 포함하며, 그것은 아마도 사용자의 컴퓨팅 장치(34)에 의해 복호가능한 키에 따라 암호화되어 있을 것이다. 도 3에 나타난 바와 같이, 그러한 암호화 키는 사용자의 컴퓨팅 장치(34)의 공개 키(PU-BB)일 수 있으며, 사용자의 컴퓨팅 장치(34)는 아마도 (PU-BB(KD))가 복호될 수 있게 하는 대응하는 비밀 키(PR-BB)를 갖는다.
어플리케이션(32)에 대한 발행자(44)는 사용자의 컴퓨팅 장치(34)가 그러한 발행자(44)에 의해 라이센스(36)에 지정된 규칙 및 요구사항을 준수할 것임을, 즉, 라이센스(36) 내의 규칙 및 요구사항이 충족되지 않으면 어플리케이션(32)이 작동되지 않을 것임을 신뢰해야 한다. 바람직하게는, 그 후 사용자의 컴퓨팅 장치(34)는 어플리케이션(32)에 관련되고 사용자에 의해 획득된 라이센스(36)에 포함된 라이센스 규칙에 따르는 경우를 제외하고는 어플리케이션(32)을 작동시키지 않을 신뢰된 컴포넌트 또는 메커니즘(38)을 제공받는다.
신뢰된 컴포넌트(38)는 전형적으로 라이센스(36)가 유효한지를 판정하고, 그러한 유효한 라이센스(36) 내의 라이센스 규칙 및 요구사항을 검토하며, 검토된 라이센스 규칙 및 요구사항에 기초하여, 요청하는 사용자가 특히 추구된 방식으로 대응하는 어플리케이션(32)을 작동시킬 권한을 갖는지를 판정하는 라이센스 평가자(40)를 갖는다. 라이센스 평가자(40)는 라이센스(36) 내의 규칙 및 요구사항에 따라 어플리케이션(32)의 발행자(44)의 의도를 수행하는 것으로 RM 시스템(30)에서 신뢰되고, 사용자는 악의가 있든지 그렇지 않든지 어떠한 목적으로도 그러한 신뢰된 구성요소를 쉽게 변경할 수 있어서는 안 된다는 점이 이해되어야 한다.
라이센스(36) 내의 규칙 및 요구사항은 사용자가 누구인지, 사용자가 어디에 위치하고 있는지, 사용자가 어떤 타입의 컴퓨팅 장치(34)를 사용하고 있는지, 어떤 운영 시스템이 RM 시스템(30)을 호출하고 있는지, 날짜, 시각 등을 포함하는 여러 요소 중 임의의 요소에 기초하여 사용자가 어플리케이션(32)을 작동시킬 권한을 갖는지를 지정할 수 있다. 또한, 라이센스(36)의 규칙 및 요구사항은 예를 들어 미리 결정된 횟수의 작동, 또는 미리 결정된 동작 시간으로 라이센스(36)를 제한할 수 있다. 따라서, 신뢰된 컴포넌트(38)는 컴퓨팅 장치(34)상의 클럭(42)을 참조할 필요가 있을 수 있다.
규칙 및 요구사항은 임의의 적합한 언어 및 신택스에 따라 라이센스(36)에 지정될 수 있다. 예를 들어, 언어는 단순히 충족되어야 하는 속성 및 값을 지정할 수 있고(예를 들어, DATE must be later than X), 또는 지정된 스크립트에 따라 기능의 수행을 요구할 수 있다(예를 들어, IF DATE greater than X, THEN DO ...).
라이센스(36)가 유효하고, 사용자가 라이센스 내의 규칙 및 요구사항을 충족시킨다고 라이센스 평가자(40)가 판정하면, 어플리케이션(32)이 작동될 수 있다. 특히, 어플리케이션(32)을 작동시키기 위하여, 복호 키(KD)가 라이센스(36)로부터 획득되고, 패키지(33)로부터 (KD(AP))에 적용되어 실제 어플리케이션(32)을 야기하며, 그 후 실제 어플리케이션(32)이 라이센스(36)에 실제로 언급된 방식으로 작동된다.
상기 언급된 바와 같이, 실제로 (PU-BB(KD))를 갖는 라이센스(36)는 (PR-BB)를 소유한 엔터티가 (KD)를 액세스하도록 허가하고, 이에 의해 그러한 (KD)에 따라 암호화된 어플리케이션(32)을 액세스하며, 이것은 물론 엔터티가 라이센스(36)에 언급된 모든 조건을 준수함을 가정한다. 그렇지만, 다른 타입의 라이센스(36)가 RM 시스템(30) 내에 존재할 수 있음을 잘 알아야 한다.
예를 들어, 한 시나리오에서, 어플리케이션(32)의 발행자(44)가 라이센서(46)에게 발행 라이센스(36p)를 제공함으로써 하나 이상의 특정 라이센서(46)가 어플리케이션(32)에 대한 라이센스(36)를 발행하도록 허가할 수 있음을 잘 알 수 있다. 알 수 있는 바와 같이, 그러한 발행 라이센스(36p)가 여기서는 라이센서(46)의 공개 키(PU-BB)에 따라 암호화된, 어플리케이션(32)을 복호하기 위한 복호 키(KD)를 포함할 것이라는 점에서, 발행 라이센스(36p)는 라이센스(36)와 유사하다. 마찬가지로, 발행 라이센스(36p)는 아마도 컨텐츠(32)를 렌더링하기 위한 규칙 및 요구사항을 포함한다. 그러나, 여기서, 그러한 규칙 및 요구사항은 라이센서(46)에 의해 발행된 것으로서 라이센스(36)에 삽입될 것이며, 특히 그러한 라이센스 (46)에는 적용가능하지 않다.
그러나, 발행 라이센스(36p)는 실제로 라이센서(46)에게 적용가능한 기타 규칙 및 요구사항을 실제로 포함할 수 있다는 점을 유의해야 한다. 따라서, 라이센서(46)는 사용자의 컴퓨팅 장치(34)와 유사한 방식으로 라이센스 평가자(40)를 갖는 신뢰된 컴포넌트(38)를 포함해야 한다. 중요하게, 제공된 라이센스(36, 36p 등)(이하 '라이센스(36)')의 각 타입은 전형적으로 인증/확인 목적으로 디지털 서명을 포함하고, 각 디지털 서명은 라이센스(36)가 이행되기 전에 신뢰된 컴포넌트(38)에 의해 확인된다. 물론, 임의의 확인이 실패하는 경우, 프로세스는 종료되고, 라이센스(36)는 이행되지 않는다.
디지털 어플리케이션 라이센싱을 위한 유연한 라이센싱 아키텍처
상기 언급된 바와 같이, 발행자(44)는 어플리케이션(32)의 다른 타입 또는 에디션을 구매할 유연성을 사용자에게 제공하기를 원할 수 있다. 예를 들어, 다시, 발행자(44)는 완전한 기능을 갖춘 에디션, 기본 에디션, 비지니스 에디션, 홈 에디션 등을 제공하기를 원할 수 있다. 그러나, 종래 기술에 따르면, 어플리케이션(32)의 그러한 각 에디션은 코드 집합(예를 들어, 컴퓨터 파일 또는 그러한 파일들의 시리즈 등)으로서 개별적으로 발행될 것이다. 개별적으로 발행된 그러한 각 코드 집합을 지원, 유지, 홍보 및 배포하는 것은 특히 공통적으로 발행된 단일 코드 집합에 관하여 그러한 일을 수행하는 것에 비교할 때 상당히 복잡할 수 있음은 명백하다.
따라서, 본 발명의 일 실시예에서, 사실상 발행자는 어플리케이션(32)에 대 한 공통 코드 집합을 발행하지만, 다른 대응하는 RM 라이센스(36)를 발행함으로써 어플리케이션(32)의 에디션들 사이를 차별화한다. 중요하게, 공통 코드 집합 내에 언급된 어플리케이션(32)은 다수의 특성 등을 갖는 것으로 정의되며, 각 라이센스(36)는 정의된 특성들 중 특정한 것들을 인에이블하고/거나 정의된 특성들 중 특정한 것들을 디스에이블하는 것으로 정의된다. RM 아키텍처(30) 내의 어플리케이션(32)에 대한 그러한 라이센스(36)를 구성 및 이용하는 것은 당업자들이 잘 알고 있거나 쉽게 이해할 수 있으므로, 본원에서 상세히 언급될 필요가 없다. 따라서, 그러한 라이센스(36)를 구성 및 이용하는 임의의 그러한 방법은 취지로부터 벗어나지 않고서 사용될 수 있고, 본 발명과 관련하여 언급될 수 있다.
예를 들어, 어플리케이션(32)이 컴퓨팅 장치(34)상에 그 어플리케이션을 인스턴스화하는 인스턴스화 부분을 가지고, 그러한 인스턴스화 부분은 암호화되며 라이센스(36)로부터의 키(KD)에 따라 복호될 수 있는 경우가 있을 수 있다. 따라서, 사용자 등으로부터 적합한 명령어 수신 시, 신뢰된 컴포넌트(38)는 라이센스(36)가 허용하는 경우 라이센스(36)로부터 그러한 키(KD)를 검색하고, 그 후 검색된 (KD)를 이용하여 인스턴스화 부분을 복호하며, 복호된 인스턴스화 부분이 그 후 어플리케이션(32)을 인스턴스화하기 위하여 이용된다.
유사하게, 어플리케이션(32)이 각각 하나의 특성에 대응하는 여러 특성 부분을 가지는 것으로 정의되고, 각 특성 부분은 그 사용에 대한 선결 조건으로서, 라이센스(36)가 그 사용을 허용했음을 신뢰된 컴포넌트(38)가 확인할 것을 요구하는 경우가 있을 수 있다. 따라서, 어플리케이션(36)이 특성 A, B 및 C를 가지는 경 우, 어플리케이션(32)의 제1 에디션에 대응하는 제1 라이센스(36)는 특성 A의 사용만을 허용할 수 있고, 어플리케이션(32)의 제2 에디션에 대응하는 제2 라이센스(36)는 특성 B 및 C의 사용만을 허용할 수 있으며, 어플리케이션(32)의 제3 에디션에 대응하는 제3 라이센스(36)는 특성 A, B 및 C 모두의 사용을 허용할 수 있음 등을 잘 알아야 한다. 여기서 에디션은 대응하는 라이센스(36)의 특정 타입만을 제공함으로써 발행자(44)에 의해 정의될 수 있고, 또는 사실상 발행자가 그러한 맞춤화된 라이센스(36)를 제공한다는 것을 가정하면서 특정 라이센스(36)를 획득하는 과정에서 사용자에 의해 맞춤화될 수 있음을 유의해야 한다. 특정 타입의 라이센스(36) 획득 시, 사용자는 라이센스(36)에 의해 인에이블되는 어플리케이션(32)의 이용가능한 특성들을 이용할 수 있고, 라이센스(36)에 의해 인에이블되지 않는 어플리케이션(32)의 이용가능한 특성들을 이용하는 것이 제한된다. 아마도, 요금에 기초한 구매로서 라이센스(36)가 획득되는 경우에, 그러한 요금은 어플리케이션(32)의 인에이블된 이용가능한 특성들에 따라 다를 것이다.
중요하게, 어플리케이션(32)이 더 많지는 않더라도 상기 언급된 바와 같이 적어도 3개의 에디션으로 제공될 수 있지만, 3개의 에디션 모두 이용가능한 특성들 모두를 내부에 포함하고 있는 어플리케이션(32)의 단일 기본 사본에 기초할 수 있다. 라이센스가 그러한 특성을 인에이블하거나, 그러한 특성을 디스에이블하지 않는 경우, 각 특성은 특정 라이센스(36)를 갖는 특정 사용자에게 이용가능함을 잘 알아야 한다. 게다가, 어플리케이션(32)의 사용이 정당하게 획득된 라이센스(36)만을 이용하여 발생할 수 있는 한, 단일 기본 사본은 부당한 사용을 두려워하지 않 고서 널리 배포 및 재배포될 수 있다.
특히, 본 발명의 일 실시예에서 어플리케이션에 대한 그러한 라이센스(36)의 발행을 달성하기 위하여, 도 4에 도시된 바와 같은 라이센싱 아키텍처(50)가 제공된다. 도 4에서 나타난 바와 같이, 라이센싱 아키텍처(50)는 도 3의 발행자(44) 및 라이센서(46)를 포함하고, 또한 어플리케이션(32)을 사용자에게 판매하는 판매자(52)를 포함할 수 있다. 물론, 발행자(44)는 또한 본 발명의 취지 및 범위를 벗어나지 않고서 판매자(52)를 포함할 수 있다.
아마도, 그러한 판매자(52)는 어플리케이션(32)을 획득하고/거나 그에 대응하는 라이센스(36)를 획득하기 위해 사용자와의 판매 트랜잭션을 수행하는 판매 위치이다. 그러한 일을 수행할 때, 판매자(52)는 어플리케이션(32) 자체를 획득하기 위해 배포 사이트 등을 운영하는 배포자(54) 등에게 사용자를 보낼 것이고/거나 라이센스(36) 자체에 대한 라이센서(46)에게 사용자를 보낼 것이다. 아마도, 필수적이지는 않더라도, 판매자(52), 라이센서(46) 및 배포자(54)는 모두 인터넷과 같은 네트워크에 의해 함께 네트워킹되고, 그러한 네트워크에 의해 사용자는 판매자(52)를 방문하여 배포자(54)로부터 어플리케이션(32)을, 그리고 라이센서(46)로부터 라이센스(36)(이하, '사용 라이센스(36)')를 획득한다.
본 발명의 일 실시예에서, 도 4에 나타난 바와 같이, 발행자(44)에 의해 제공된 어플리케이션(32)은 자신이 인스턴스화 및 이용되는 실행가능한 코드를 포함한다. 중요하게, 발행자(44)에 의해 제공된 그러한 어플리케이션(32)은 또한 정의 라이센스(36), 초기 라이센스(36), 및 비-네트워크 라이센스(36)를 포함하는 여러 특수 라이센스(36)를 포함하며, 그러한 특수 라이센스(36)는 지금까지 참조된 사용 라이센스(36)와 다르다.
다시, 정의 라이센스(36)는 그 자체가 어플리케이션(32)을 이용하기 위해 라이센서(46)로부터 획득될 수 있는 사용 라이센스(36)는 아니지만, 대신 적합한 사용 라이센스(36)에 의해 어플리케이션(32)의 이용가능한 특성들 모두를 정의하는 특수 라이센스(36)이다. 그러한 정의 라이센스(36)는 어플리케이션(32)의 특성들 모두를 이용가능한 권한으로서 언급하지만, 실제로 그러한 권한 중 어떠한 것도 부여하지 않는다. 대신, 특정 특성의 인에이블 시 획득된 사용 라이센스(36)가 대응하는 권한을 부여한다.
따라서, 상기의 예를 계속하면, 어플리케이션(32)이 3개의 정의된 특성 A, B 및 C를 포함한 경우, 정의 라이센스(36)는 그러한 각 특성 A, B 및 C를 그에 관련된 적절한 정보와 함께 언급할 것이다. 그러한 적절한 특성은 예를 들어 어플리케이션(32)의 특성에 대한 참조, 설명, 및 아마도 그러한 특성을 포함하는 어플리케이션(32)의 에디션에 관한 에디션 정보를 포함할 수 있다. 따라서, 그러한 특성을 인에이블하는 사용 라이센스(36)는 예를 들어 사용자가 그러한 특성을 이용하도록 하기 위해 그러한 정보를 이용할 수 있다. 마찬가지로, 사용 라이센스(36)가 그러한 특성을 인에이블하지 않는 경우, 그럼에도 불구하고 그러한 특성의 이용가능성을 사용자에게 알리기 위하여 그러한 정보가 이용될 수 있으며, 아마도 그러한 특성을 인에이블하는 또다른 사용 라이센스(36)를 획득하도록 사용자를 라이센서(46)에게 보내기 위해서도 그러한 정보가 이용될 수 있다.
정의 라이센스(36)와 달리, 초기 라이센스(36)는 자체가 어플리케이션(32)을 이용하기 위해 사용될 수 있는 사용 라이센스(36)와 유사하다. 그러나, 그러한 초기 라이센스(36)는 예를 들어 정의된 양 또는 길이의 시간 동안 어플리케이션(32)을 사용자가 시험해보도록 하는 것과 같은 초기 방식으로만 이용될 수 있다는 점에서, 초기 라이센스(36)는 특수 라이센스(36)이다. 여기서 초기 라이센스(36)는 사용자, 또는 그의 컴퓨팅 장치(34)에 결합되지 않는다는 점을 유의해야 한다.
초기 라이센스(36)는 발행자(44)가 그러한 초기 라이센스(36)를 어떻게 구성하였는지에 따라 정의 라이센스(36) 내에 언급된 어플리케이션(32)의 특성 모두에 대한 권한을 부여할 수도 하지 않을 수도 있다. 일반적으로, 초기 라이센스(36)는 앞으로의 사용자가 사용 라이센스(36)를 구매하지 않고서 특정 기간의 시간동안 어플리케이션(32)을 시험해보게 하도록, 사용자가 사용 라이센스(36)를 획득할 필요 없이 어플리케이션(32)의 기본 에디션에 자유롭게 액세스하게 하도록 등을 위해 제공될 수 있다. 전자의 경우에, 초기 라이센스(36)는 모든 특성에 권한을 부여할 수 있지만 상대적으로 짧은 기간의 시간 동안인 반면, 후자의 경우에는, 초기 라이센스는 몇몇 특성들에 권한을 부여할 수 있지만 상대적으로 긴 기간의 시간 동안이다. 따라서, 사용자는 그러한 사용자가 사용 라이센스(36)를 획득하기로, 또는 그 어플리케이션을 더 이용하지 않기로 결정할 때까지 임시로 초기 라이센스(36)를 이용할 수 있고, 또는 그러한 경우가 존재할 수 있을 때 어플리케이션(32)의 기본 형태를 사용하기 위해 초기 라이센스(36)를 이용할 수 있다.
초기 라이센스(36)와 같이, 비-네트워크 라이센스(36)는 어플리케이션(32)을 이용하기 위해 사용될 수 있는 사용 라이센스(36) 자체와 유사하다. 그러나, 그러한 비-네트워크 라이센스(36)는 사용자가 라이센서(46)에 대한 네트워크 액세스를 갖지 않지만 여전히 그 어플리케이션(32)을 사용하기를 원하는 경우의 특수 라이센스(36)이다. 전형적으로, 그러한 경우에, 예를 들어 전화 또는 메일과 같은 확인 코드(confirmation code)를 사용자가 획득하지 않으면 비-네트워크 라이센스(36)는 이용될 수 없고, 그러한 확인 코드는 비용을 지불하여 획득될 수 있다. 따라서, 그러한 확인 코드를 이용하여, 비-네트워크 라이센스(36)는 마치 사용자가 라이센서(46)로부터 소정 종류의 사용 라이센스(36)를 획득한 것처럼 어플리케이션(32)이 이용되도록 인에이블한다. 여기서도, 확인 코드를 획득하는 과정에서 사용자가 그것을 식별한다는 것을 가정할 때, 확인 코드를 획득하는 것이 비-네트워크 라이센스(36)를 적어도 간접적으로 사용자에게 결합시키지만, 비-네트워크 라이센스(36)는 사용자 또는 그의 컴퓨팅 장치(34)에 적어도 직접적으로는 결합되지 않는다.
초기 라이센스(36)에서와 같이, 비-네트워크 라이센스(36)는 발행자(44)가 그러한 비-네트워크 라이센스(36)를 어떻게 구성하였는지에 따라 정의 라이센스(36) 내에 언급된 어플리케이션(32)의 모든 특성에 대한 권한을 부여할 수도 하지 않을 수도 있다. 비-네트워크 라이센스(36)가 어플리케이션(32)의 모든 특성에 대한 권한을 부여할 수 있지만, 사용자는 획득된 특수 코드를 다른 사람들에게 전달할 수 있고, 그러면 그 사람들은 어플리케이션(32)의 모든 특성을 액세스할 수 있으므로, 그렇게 하는 것은 현명하지 않을 수 있다는 점에 유의해야 한다.
전형적으로, 판매자(52)는 직접적으로든지 전술된 배포자(54)에 의해서든지 전술된 특수 라이센스(36)를 갖는 어플리케이션(32)을 사용자에게 제공할 수 있다. 그러나, 사용자는 본 발명의 취지 및 범위로부터 벗어나지 않고서 발행자(44)로부터 또는 임의의 다른 소스로부터 그러한 어플리케이션(32)을 획득할 수도 있다는 점을 유의해야 한다. 사실상, 하기에 보다 상세히 언급된 바와 같이, 사용자가 아는 사람 또는 제3자로부터 어플리케이션(32)을 획득하고 그 후 판매자(52)에 의해 사용 라이센스(36)를 획득할 수 있다.
본 발명의 일 실시예에서 어떠한 경우에든지, 사용자에게 배포된 어플리케이션(32)은 부가적으로 특정 판매자(52)의 식별을 포함하는 추천 정보(referral information)와 함께 패키지화될 수 있다. 따라서, 사용자가 판매자(52) 이외의 소스로부터 어플리케이션(32)을 획득하는 경우에, 그러한 추천 정보는 어플리케이션(32)의 특정 에디션에 대한 사용 라이센스(36)를 획득하기 위한 트랜잭션을 달성하기 위해 사용자에게 그러한 판매자(52)를 참조하도록 한다. 또한, 사용자가 사용 라이센스(36)를 획득한 후에도, 사용 라이센스(36)를 리턴하기 위해, 또는 어플리케이션(32)의 또다른 에디션에 대한 다른 사용 라이센스(36)를 획득하기 위해 사용자가 판매자(52)에게 돌아가기를 원한다면 그러한 추천 정보가 이용될 수 있다.
상기 언급된 바와 같이, 어플리케이션(32)의 단일 기본 사본을 소유한 사용자는 어플리케이션(32)의 특정 대응하는 에디션을 이용하기 위해 소정 종류의 사용 라이센스(36)를 필요로 하며, 물론 이것은 사용자가 전술된 초기 라이센스(36) 또는 비-네트워크 라이센스(36)를 이용하지 않는 경우이다. 그러나, 그러한 사용 라이센스(36)는 어플리케이션(32)의 암호화된 부분을 액세스하기 위한 복호 키(KD)를 포함하고, 사용자 또는 그의 컴퓨팅 장치(34)에 결합되며, 따라서 정상적으로는 어플리케이션(32)을 따라다니지 않음을 잘 알아야 한다.
본 발명의 일 실시예에서, 그리고 어플리케이션(32)이 상기 언급된 정의 라이센스(36)를 포함함을 상기하면, 그러한 사용 라이센스(36)를 획득하는 과정에서 사용자는 먼저 판매자(52) 등으로부터 정의 라이센스(36)에 언급된 특성들 중 적어도 몇몇을 지정하는 제품 라이센스(36)를 획득한다. 그러한 실시예에서, 제품 라이센스(36)는 어플리케이션(32)을 이용하기 위해 사용될 수 있는 사용 라이센스(36) 자체는 아니다. 대신, 판매자(52) 등에 의해 제공된 제품 라이센스(36)는 사용자가 어플리케이션(32)의 어떤 에디션을 획득하였는지, 또는 정의 라이센스(36)에 언급된 사용자가 요청한 특성들을 정의하며, 따라서 그러한 사용자가 어플리케이션(32)의 특정 에디션에 대한 대응하는 사용 라이센스(36)를 받을 자격이 있음을 라이센서(46)에게 알리기 위해, 사용 라이센스 요청 트랜잭션의 과정 동안 사용자가 라이센서(46)에게 제공하는 토큰 또는 허가이다.
더욱 간단히 말하면, 사용자는 사용 라이센스(36)에 대한 권한을 획득하기 위하여 판매자(52)와 상호작용하지만 사실상 그러한 판매자(52)로부터 사용 라이센스(36)를 수신하지 않는다. 대신, 사용자는 라이센서(46)에게 제공되는 토큰으로서 제품 라이센스(36)를 수신하고, 응답으로 라이센서(46)는 사실상 사용자가 어플리케이션(32)의 대응하는 에디션을 이용하기 위하여 사실상 사용할 수 있는 대응하는 사용 라이센스(36)를 사용자에게 발행한다. 사용 라이센스(36)에 부여되어 있는 권한이 제품 라이센스(36)에 언급된 에디션 또는 특성들에 대응한다는 점에서, 발행된 사용 라이센스(36)는 제품 라이센스(36)에 대응한다.
잘 알 수 있는 바와 같이, 라이센서(46)와의 직접적인 트랜잭션의 과정에서 사용자가 사용 라이센스(36)를 획득함으로써 제품 라이센스(36)가 없어도 되었지만, 라이센서(46)는 그러한 직접적인 트랜잭션의 판매 양상을 다루지 않는 것을 선호할 수 있다. 게다가, 본원에 언급된 방식으로 제품 라이센스(36)를 이용함으로써, 사용자와의 판매 트랜잭션을 달성하기 위하여 여전히 하나 또는 소수의 라이센서(46)만을 가지면서 여러 판매자(52)가 이용될 수 있으며, 각 라이센서(46)는 임의의 판매자(52)와의 트랜잭션과 관련하여 사용 라이센스(36)를 발행할 수 있다. 결국, 라이센서(46)에 의한 사용 라이센스(36)의 발행을 판매자(52)와의 판매 트랜잭션과 분리함으로써, 발행자(44)가 그러한 발행에 대한 제어를 더욱 행사할 수 있고, 또한 더 나은 보안을 달성할 수 있다.
아마도, 판매자(52)에 의해 사용자에게 제공된 제품 라이센스(36)는 그러한 제품 라이센스(36)에 대응하는 사용 라이센스(36)를 발행하기 위해 사용자가 라이센서(46)를 찾을 수 있는 적합한 정보를 포함한다. 또한, 본 발명의 일 실시예에서, 판매자(52)에 의해 사용자에게 제공된 제품 라이센스(36)는 어플리케이션(32)이 획득될 수 있는 배포자(54)에 대한 식별을 포함하는 추천 정보와 함께 패키지화될 수 있다. 따라서, 사용자가 어플리케이션(32) 이전에 제품 라이센스(36)를 획득하는 경우에, 그러한 추천 정보는 어플리케이션(32)의 기본 사본을 획득하기 위하여 사용자가 그러한 배포자(54)를 참조하게 한다. 또한, 사용자가 어플리케이션(32)을 획득한 후에도, 그러한 어플리케이션(32)의 기본 사본의 또다른 사본을 위 해, 또는 그러한 어플리케이션(32)의 기본 사본의 새로운 또는 업데이트된 버전을 위해서도 사용자가 배포자(54)에게 돌아가길 원하는 경우 그러한 추천 정보가 이용될 수 있다.
요약하면, 사용자는 어플리케이션에 대한 제품 라이센스(36) 이전 또는 이후에 어플리케이션(32)을 획득할 수 있다. 이전에 획득하는 경우, 사용자가 사용 라이센스(36)를 획득할 수 있는 특정 판매자(52)를 찾기 위해 어플리케이션(32)과 패키지화된 추천 정보가 이용된다. 이후에 획득하는 경우, 사용자가 어플리케이션(32)의 기본 사본을 획득할 수 있는 특정 배포자(54)를 찾기 위해 제품 라이센스(36)와 함께 패키지화된 추천 정보가 이용된다.
한 전형적인 시나리오에서, 이제 도 5를 참조하여, 어플리케이션(32) 및 대응하는 사용 라이센스(36)를 구매 또는 획득하는 사용자는 그것에 대한 판매자(52)를 방문하여, 어플리케이션(32), 또는 어플리케이션(32)의 특정 에디션에서 원하는 특정 특성들을 선택하는 트랜잭션에 관여할 것이다(단계(501)). 그러한 트랜잭션의 일부로서, 사용자는 판매자(52)에게 요금을 제공할 수 있다. 전형적으로, 필수적인 것은 아니지만, 판매자(52)는 트랜잭션을 제어하고, 정보의 표현, 어플리케이션(32)에 관한 옵션, 및 용인되는 형태의 지불을 결정하고, 사용자로부터 수락 시, 트랜잭션을 실행한다.
또한 트랜잭션의 일부로서, 판매자(52)는 사용자 선택에 대응하는 적합한 제품 라이센스(36)를 구성 또는 획득하는 데에 필수적인 정보를 사용자로부터 수집하고, 사실상 그러한 제품 라이센스(36)를 구성 또는 획득한다(단계(503)). 상기 언 급된 바와 같이, 그러한 제품 라이센스(36)는 어플리케이션(32)의 기본 사본이 획득될 수 있는 특정 배포자(54)를 포함하는 추천 정보와 함께 패키지화될 수 있다. 여하튼, 그러한 제품 라이센스(36)가 판매자(52)로부터 사용자에게 전달된다(단계(505)). 또한, 판매자(52)는 트랜잭션을 확인하는 트랜잭션 확인 메시지를 사용자에게 전송할 수 있다. 전송하는 경우, 메시지는 제품 라이센스(36)가 사용자에게 자동으로 전송되지 않는 경우 그러한 제품 라이센스(36)가 획득될 수 있는 위치를 포함할 수 있다.
판매자(52)로부터 제품 라이센스(36) 수신 시, 사용자는 그것을 설치할 수 있고(단계(507)), 또는 나중의 검색 및 설치를 위해 제품 라이센스(36)를 저장할 수 있다. 일반적으로, 그리고 하기에 보다 상세히 언급될 것과 같이, 설치는 서명을 포함하는 발행 라이센스(36)의 유효성을 확인하는 것, 및 사용자의 컴퓨팅 장치(34)에 그것을 저장하는 것을 포함한다. 이 때에 제품 라이센스(36)에 대응하는 사용 라이센스(36)가 획득될 수 있더라도, 대신에 먼저 대응하는 어플리케이션(32)이 설치되었음을 확실히 하는 것이 현명할 수 있다. 나중의 검색을 위해 제품 라이센스(36)가 저장되는 경우, 특히 제품 라이센스(36)가 또다른 사용자에 의해 획득 및 이용될 수 있는 경우에 그러한 제품 라이센스(36)는 암호화된 형태로 저장되어야 함을 유의해야 한다.
제품 라이센스(36)가 수신되면, 사용자의 컴퓨팅 장치(34)는 대응하는 어플리케이션(32)이 설치되었는지를 판정한다(단계(509)). 그러한 검사는 예를 들어 컴퓨팅 장치(34)상의 레지스트리가 적합한 값을 갖는지를 검사함으로써 달성될 수 있다. 이미 설치되었다면, 그 후 사용 라이센스(36)를 획득하는 프로세스를 완료하도록 어플리케이션(32)이 작동될 수 있다(단계(511)). 설치되지 않은 경우, 어플리케이션(32)은 제품 라이센스(36)와 함께 포함된 추천 정보에 언급된 배포자(54)로부터 획득되거나, 컴퓨팅 장치(34)에게 이용가능한 저장 매체로부터 획득되며, 획득된 어플리케이션(32)은 그러한 컴퓨팅 장치(34)에 설치되고(단계(513)), 그 후 설치된 어플리케이션(32)은 단계(511)에서와 같이 작동된다.
이때, 컴퓨팅 장치(34)상에 획득된 또다른 사용 라이센스(36)가 이미 있을 수 있음을 유의해야 하며, 그러한 경우에 획득될 사용 라이센스(36)는 부가적인 사용 라이센스(34)이다. 여하튼, 설치된 어플리케이션(32)이 작동되면, 그리고 제품 라이센스(36)의 존재에 기초하여, 컴퓨팅 장치(34)는 대응하는 사용 라이센스(36)를 획득한다(단계(515)). 특히, 제품 라이센스(36), 및 아마도 어플리케이션(32)로부터의 정의 라이센스(36)가 사용자 및/또는 그의 컴퓨팅 장치(34) 및/또는 그의 신뢰된 컴포넌트(38) 등의 식별과 함께 제품 라이센스(36) 내에서 식별된 라이센서(46)에게 전송된다(단계(517)).
라이센서(46)는 모든 라이센스(36) 및 식별의 유효성을 확인하고, 그러한 유효성 확인이 성공하였다는 가정하에, 라이센서(46)는 그것에 기초하여 적합한 사용 라이센스(36)를 구성하며, 요청한 사용자에게 그것을 리턴한다(단계(521)). 특히, 사용 라이센스(36)를 구성할 때에, 라이센서(46)는 식별들 중 적어도 하나로부터 사용자의 공개 키(PU)와 같은 암호화 키를 획득하여, 그러한 (PU)를 이용하여 전술된 어플리케이션(32)에 대한 복호 키(KD)를 암호화하여 그 결과 (PU(KD))를 생성하 며, 구성 및 리턴된 사용 라이센스(36)에 그러한 (PU(KD))를 포함시킨다. 또한, 특히, 식별은 사용자의 컴퓨팅 장치(34)에 대응하는 하드웨어 ID(HWID)를 포함하며, 그러한 HWID도 구성 및 리턴된 사용 라이센스(36)에 포함될 수 있다. 또한, 특히, 라이센서(46)는 제품 라이센스(36)가 제출되었고, 대응하는 사용 라이센스(36)가 발행되었음을 적합한 데이터베이스에 기록할 수 있고, 또한 그러한 것에 관하여 판매자에게 알릴 수 있다.
사용자의 컴퓨팅 장치(34)는 리턴된 사용 라이센스(36)를 라이센스 스토어와 같은 적합한 위치에 저장할 수 있고, 그러한 저장된 사용 라이센스(36)는 그 후 어플리케이션의 특정 특성들을 사용하기 위해 이용될 수 있다. 특히, 이제 도 6을 참조하면, 어플리케이션(32)의 특정 특성을 사용하기 위한 요청 시(단계(601)), 어플리케이션(32)의 그러한 특성은 사실상 컴퓨팅 장치(34)상의 사용 라이센스(36)가 그러한 특성의 사용을 허가하는지를 신뢰된 컴포넌트(38)가 판정할 것을 요청할 수 있다(단계(603)). 응답으로, 신뢰된 컴포넌트(38)는 획득된 사용 라이센스(36)를 라이센스 스토어에서 찾아내어(단계(605)), 그것의 유효성을 확인하고(단계(607)), 그러한 유효성 확인된 사용 라이센스(36)가 특성의 사용을 허가하는지를 판정할 수 있다(단계(609)).
유효성 확인된 사용 라이센스(36)가 사실상 특성의 사용을 허가한다고 가정하면, 그러한 신뢰된 컴포넌트(38)는 그 후 그러한 사용 라이센스(36)로부터 (PU(KD))를 검색하고, 대응하는 개인 키(PR)를 그것에 적용하여 복호 키(KD)를 드러내며(단계(611)), 그 후 그러한 복호 키(KD)는 적합한 방식으로 적용되어 어플리 케이션(32)의 적합한 부분을 복호할 수 있다(단계(613)). 그 후, 요청된 특성이 사용될 수 있다(단계(615)).
잘 알 수 있는 바와 같이, 사용 라이센스(36)를 획득한 후의 소정 시점에 여러 이유 중 임의의 이유로 사용자는 사용 라이센스를 리턴하기로 결정할 수 있다. 중요하게, 사용자가 그러한 사용 라이센스(36)를 리턴하도록 허가되는 경우, 그러한 사용자가 사용 라이센스(36)의 사본을 보유하도록 허용되어서는 안 된다. 따라서, 본 발명의 일 실시예에서, 이제 도 7을 참조하면, 그러한 리턴은 판매자(52)에 의해 제공된 대응하는 제품 라이센스(36)를 포함하는 요청을 판매자(52)에게 전송함으로써 달성된다(단계(701)). 응답으로, 판매자(52)는 실행파일(executable) 또는 명령어를 사용자의 컴퓨팅 장치(34)에 리턴하고(단계(703)), 사실상 실행파일/명령어는 사용자의 컴퓨팅 장치로부터 사용 라이센스(36)를 신뢰된 방식으로 삭제한다. 특히, 그러한 컴퓨팅 장치(34)상의 신뢰된 컴포넌트는 실행파일/명령어를 실행하여 해당 사용 라이센스(36)를 삭제하며(단계(705)), 그 후 삭제가 성공적이라는 메시지를 판매자(52)에게 전송한다(단계(707)). 그 후, 판매자(52)는 대응하는 제품 라이센스(36)가 유효하지 않음을 라이센서(46)에게 알리고(단계(709)), 라이센서(46)는 데이터베이스에 그것을 기록하여, 그러한 제품 라이센스(36)에 기초한 사용자 라이센스(36)에 대한 나중의 임의의 요청이 시행되지 않도록 한다.
또한 알 수 있는 바와 같이, 그리고 그러한 사용 라이센서(36)에 컴퓨팅 장치(34)의 HWID를 포함시킴으로써 사용 라이센스(36)가 특정 컴퓨팅 장치(34)에 결합됨을 상기하면, 또한 다양한 이유 중 임의의 이유로, 사용자가 또다른 컴퓨팅 장 치(34)에 다른 HWID와 함께 사용 라이센스(36)를 전달하기를 원할 수 있음을 인지할 것이다. 이전과 유사하게, 사용자가 제1 장치(34)로부터 제2 장치(34)에 그러한 사용 라이센스(36)를 전달하도록 허용되는 경우, 그러한 사용자는 제1 장치(34)에 결합된 그러한 사용 라이센스(36)의 사본을 보유하도록 허용되어서는 안 된다. 따라서, 본 발명의 일 실시예에서, 다시 도 7로 돌아가면, 그러한 전달은 리턴과 유사한 방식으로 달성된다. 특히, 그러한 전달은 판매자(52)에 의해 제공된 대응하는 제품 라이센스(36)를 포함하는 요청을 라이센서(46)에 전송함으로써 달성된다(단계(701)). 응답으로, 라이센서(46)는 실행파일 또는 명령어를 사용자의 컴퓨팅 장치(34)에 리턴하고(단계(703)), 실행파일/명령어는 사실상 사용자의 컴퓨팅 장치(34)로부터 사용 라이센스(36)를 신뢰된 방식으로 삭제한다. 또한, 그러한 컴퓨팅 장치(34) 상의 신뢰된 컴포넌트(38)는 실행파일/명령어를 실행하여 해당 사용 라이센스(36)를 삭제하고(단계(705)), 그 후 삭제가 성공적이라는 메시지를 라이센서(46)에게 전송한다(단계(707)).
중요하게, 전달의 문맥에서, 라이센서(46)는 제품 라이센스(36)에 대응하는, 이 경우에는 사용자의 다른 컴퓨팅 장치(34)에 대응하는 또다른 사용 라이센스(36)를 발행할 수 있어야 한다. 따라서, 전달의 문맥에서, 라이센서(46)는 대응하는 제품 라이센스(36)가 다시 이용될 수 있음을 기록하고(단계(709)), 그러한 제품 라이센스(36)에 기초한 사용 라이센스(36)에 대한 나중의 임의의 요청이 사실상 시행된다.
본 발명의 일 실시예에서, 발행자(44)는 라이센스 파일 등에 의해 라이센스 (36)를 정의할 수 있고, 그 후 판매를 위해 판매자(52)에게 라이센스 파일을 제공할 수 있다. 또한, 발행자(44)는 어플리케이션(32)의 기본 사본을 생성하여 그것을 배포자(54)에 제공할 수 있다. 그 후 판매자(52)는 사용자에게 라이센스(36)를 판매할 수 있고, 웹 페이지 등을 운영하는 라이센서(46)에 의해 그것을 전달할 수 있다. 라이센스(36)는 사용자가 배포자로부터 어플리케이션(32)을 획득할 필요가 있는 경우 사용자에게 배포자(54)를 가리켜주는 정보와 함께 패키지화될 수 있다. 어플리케이션(32)은 사용자가 라이센서로부터 라이센스(36)를 획득할 필요가 있는 경우 사용자에게 라이센서(46)를 가리켜주는 정보와 함께 패키지화될 수 있다. 따라서, 어플리케이션(32)을 소유한 사용자는 라이센서(46)를 찾아 라이센스(36)를 획득할 수 있고, 라이센스(36)를 소유한 사용자는 배포자(54)를 찾아 어플리케이션(32)을 획득할 수 있다.
결론
본 발명과 관련하여 수행된 프로세스를 달성하는 데에 필수적인 프로그래밍은 비교적 수월하며, 관련 프로그래밍 대중에게 명백함에 틀림없다. 따라서, 그러한 프로그래밍은 본원에 첨부되지 않는다. 게다가, 본 발명을 달성하기 위해 본 발명의 취지 및 범위에서 벗어나지 않고서 임의의 특정 프로그래밍이 이용될 수 있다.
본 발명에서, 여러 이용가능한 특성 또는 에디션을 갖는 디지털 어플리케이션(32)의 단 하나의 사본만이 릴리즈되면 되고, 따라서 사용자에 의해 어떤 이용가능한 특성/에디션이 이용될 수 있는지를 특정 사용자에게 발행된 특정 사용 라이센 스(36)가 지정하는 라이센싱 아키텍처(50)를 달성하기 위하여 RM 아키텍처(30)가 이용된다. 따라서, 어플리케이션(32)의 발행자(44)는 동일한 어플리케이션(32)의 여러 에디션을 릴리즈할 필요가 없으며, 사용 라이센스(36)를 획득 시 사용자는 여러 이용가능한 특성/에디션 중 어떤 것을 라이센스받을지 선택할 수 있다.
본 발명의 개념으로부터 벗어나지 않는 변경이 상기 기술된 실시예들에 행해질 수 있음을 잘 알아야 한다. 그러므로 본 발명은 개시된 특정 실시예들에 제한되지 않으며, 첨부되는 특허청구범위에 의해 정의된 본 발명의 취지 및 범위 내의 변경들을 포함하는 것으로 의도됨을 이해하여야 한다.
어플리케이션의 발행자가 동일한 어플리케이션의 여러 에디션을 릴리즈할 필요가 없게 하고 라이센스 획득 시 여러 이용가능한 특성/에디션 중 어떤 것이 라이센스받을 것인지를 사용자가 선택할 수 있게 하는 라이센싱 아키텍처가 제공된다.

Claims (12)

  1. 컴퓨팅 장치상에서 다수의 특성(feature)을 포함하는 어플리케이션을 사용하기 위한 사용 라이센스를 획득하는 방법으로서,
    판매자로부터 상기 어플리케이션에 대응하는 제품 라이센스를 획득하기 위하여 상기 판매자와의 트랜잭션에 관여하는 단계 - 상기 제품 라이센스는 상기 제품 라이센스에 기초하여 이용될 수 있는 상기 어플리케이션의 적어도 하나의 특성을 정의함 - ,
    배포자로부터 상기 어플리케이션의 기본 사본(base copy)을 획득하여 상기 어플리케이션을 실행시키는 단계, 및
    상기 작동된 어플리케이션이 사용자, 상기 컴퓨팅 장치, 및 상기 컴퓨팅 장치상에서 동작하는 신뢰된 컴포넌트 중 적어도 하나의 식별정보와 함께 상기 제품 라이센스를 라이센서(licensor)에게 전송함으로써, 상기 라이센서로부터 상기 제품 라이센스에 대응하는 사용 라이센스를 획득하는 단계 - 상기 사용 라이센스는 상기 제품 라이센스에 정의된 각 특성을 이용하기 위한 권한을 부여하는 특성 정책(feature policy)을 포함함 -
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 판매자에 의해 제공된 대로 상기 어플리케이션의 적어도 하나의 특성을 정의하고 상기 어플리케이션의 이용가능한 에디션을 나타내는 제품 라이센스를 획득하기 위해, 상기 판매자와의 트랜잭션에 관여하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    제품 라이센스의 획득자에 의해 선택된 대로 상기 어플리케이션의 적어도 하나의 특성을 정의하는 제품 라이센스를 획득하기 위해, 상기 판매자와의 트랜잭션에 관여하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 어플리케이션의 기본 사본을 제공하는 특정 배포자를 포함하는 추천 정보(referral information)와 함께 패키지화된 제품 라이센스를 획득하기 위해, 상기 판매자와의 트랜잭션에 관여하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 어플리케이션의 적어도 한 부분은 암호화되고 키(KD)에 따라 복호가능하며,
    상기 방법은, 상기 키(KD)를 암호화하는, 상기 식별정보로부터의 암호화 키(cryptographic key)를 포함하는 사용 라이센스를 획득하는 단계를 포함하고,
    이에 의해 상기 신뢰된 컴포넌트는 상기 키(KD)를 검색하여, 상기 어플리케이션의 상기 적어도 한 부분을 복호하기 위해 상기 키(KD)를 이용할 수 있는 방법.
  6. 제1항에 있어서,
    상기 컴퓨팅 장치는 상기 컴퓨팅 장치에 대응하는 하드웨어 ID(HWID)를 포함하고,
    상기 방법은, 상기 HWID를 포함하는 사용 라이센스를 획득하는 단계를 포함하고,
    이에 의해 상기 신뢰된 컴포넌트는 상기 HWID를 검색하고, 상기 HWID를 이용하여 상기 라이센스가 그 HWID를 갖는 상기 컴퓨팅 장치상에서 이용되기 위한 것인지를 판정하는 방법.
  7. 제1항에 있어서,
    상기 어플리케이션의 각 특성의 적어도 한 부분은 암호화되고 키(KD)에 따라 복호가능하며,
    상기 방법은, 상기 키(KD)를 암호화하는, 상기 식별정보로부터의 암호화 키를 포함하는 사용 라이센스를 획득하는 단계를 포함하며,
    상기 방법은, 또한,
    상기 어플리케이션의 특정 특성을 사용하기 위한 요청을 수신하는 단계,
    상기 획득된 사용 라이센스를 찾아내는 단계,
    상기 찾아낸 사용 라이센스의 특성 정책이 상기 특정 특성의 요청된 사용을 허가하는지를 판정하는 단계,
    상기 찾아낸 사용 라이센스로부터 상기 암호화된 키(KD)를 검색하는 단계,
    상기 암호화된 키(KD)를 복호하고, 그것을 이용하여 상기 어플리케이션의 특정 특성의 상기 적어도 한 부분을 복호하는 단계, 및
    상기 어플리케이션의 상기 특정 특성을 사용하는 단계
    를 더 포함하는 방법.
  8. 제7항에 있어서,
    상기 찾아낸 사용 라이센스의 유효성을 확인하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서,
    상기 사용 라이센스를 획득한 후, 상기 제품 라이센스가 획득되게 한 트랜잭션을 취소(reverse)하기 위하여 상기 사용 라이센스를 리턴하는 단계를 더 포함하며,
    상기 사용 라이센스를 리턴하는 단계는,
    판매자에 의해 제공된 대로의 상기 대응하는 제품 라이센스를 포함하는 리턴 요청을 상기 판매자에게 전송하는 단계,
    상기 사용 라이센스를 상기 컴퓨팅 장치로부터 신뢰된 방식으로 삭제하는 실행파일 및 명령어 중 하나를 상기 판매자로부터 수신하는 단계,
    상기 실행파일 또는 명령어를 실행하여 상기 사용 라이센스를 삭제하고 상기 사용 라이센스의 삭제가 성공적이라는 메시지를 상기 판매자에게 전송하는 단계 - 이에 의해 상기 판매자는 상기 라이센서에게 상기 제품 라이센스가 유효하지 않음을 알리고, 상기 라이센서는 자신의 데이터베이스에 그것을 기록하여 상기 제품 라이센스에 기초한 사용 라이센스에 대한 추후의 어떠한 요청도 시행되지 않게 함 -
    를 포함하는 방법.
  10. 제1항에 있어서,
    상기 획득된 사용 라이센스는 상기 컴퓨팅 장치에 결합되고,
    상기 방법은,
    상기 사용 라이센스를 획득한 후 또다른 컴퓨팅 장치에 결합된 또다른 사용 라이센스를 획득하기 위해 상기 사용 라이센스를 리턴하는 단계를 더 포함하며,
    상기 사용 라이센스를 리턴하는 단계는,
    상기 판매자에 의해 제공된 대로의 상기 대응하는 제품 라이센스를 포함하는 전달 요청(transfer request)을 상기 라이센서에게 전송하는 단계,
    상기 사용 라이센스를 상기 컴퓨팅 장치로부터 신뢰된 방식으로 삭제하는 실행파일 및 명령어 중 하나를 상기 라이센서로부터 수신하는 단계,
    상기 실행파일 또는 명령어를 실행하여 상기 사용 라이센스를 삭제하고, 상기 사용 라이센스의 삭제가 성공적이라는 메시지를 상기 라이센서에게 전송하는 단계 - 이에 의해 상기 제품 라이센스는 여전히 유효하고, 상기 라이센서는 또다른 컴퓨팅 장치에 결합된 또다른 사용 라이센스를 획득하기 위해 상기 제품 라이센스가 다시 이용될 수 있음을 기록함 -
    를 포함하는 방법.
  11. 다수의 특성을 가지며 컴퓨팅 장치상에서 사용되기 위한 어플리케이션, 및 상기 어플리케이션을 사용하기 위한 사용 라이센스로서,
    상기 어플리케이션은,
    상기 컴퓨팅 장치상에서 상기 어플리케이션을 인스턴스화하기 위한 인스턴스화 부분 - 상기 인스턴스화 부분은 암호화되고 키(KD)에 따라 복호가능함 - , 및
    각각이 하나의 특성에 대응하는 다수의 특성 부분을 포함하고,
    상기 사용 라이센스는,
    상기 인스턴스화 부분이 상기 어플리케이션을 인스턴스화하기 위해 이용될 수 있는지를 판정하기 위한 인스턴스화 정책,
    상기 어플리케이션의 각 특성이 이용될 수 있는지를 판정하기 위한 특성 정책, 및
    암호화되고, 상기 컴퓨팅 장치의 신뢰된 컴포넌트에 이용가능한 키에 따라 복호가능한 키(KD)를 포함하며,
    이에 의해 상기 사용 라이센스의 인스턴스화 정책이 상기 인스턴스화 부분이 상기 어플리케이션을 인스턴스화하기 위해 실제로 이용될 수 있다고 판정하는 경우, 상기 신뢰된 컴포넌트는 상기 사용 라이센스로부터 상기 키(KD)를 검색하며, 상기 검색된 키(KD)를 이용하여 상기 인스턴스화 부분을 복호하고, 상기 복호된 인스턴스화 부분은 상기 어플리케이션을 인스턴스화하기 위해 이용되며,
    이에 의해 각 특성 부분은 그것의 사용에 대한 선결 조건으로서, 상기 신뢰된 컴포넌트가 상기 사용 라이센스의 특성 정책이 상기 특성 부분의 사용을 허용한다고 판정할 것을 필요로 하는 어플리케이션 및 사용 라이센스.
  12. 제11항에 있어서,
    상기 컴퓨팅 장치는 상기 컴퓨팅 장치에 대응하는 하드웨어 ID(HWID)를 포함하고, 상기 사용 라이센스는 상기 HWID를 포함하며, 이에 의해 상기 신뢰된 컴포넌트가 상기 HWID를 검색하고, 상기 HWID를 이용하여 상기 라이센스가 상기 HWID를 갖는 컴퓨팅 장치상에서 이용되기 위한 것임을 판정하는 어플리케이션 및 사용 라이센스.
KR1020060008223A 2005-02-04 2006-01-26 디지털 어플리케이션을 라이센싱하기 위한 유연한 라이센싱 아키텍처 KR101219819B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/051,162 US7890428B2 (en) 2005-02-04 2005-02-04 Flexible licensing architecture for licensing digital application
US11/051,162 2005-02-04

Publications (2)

Publication Number Publication Date
KR20060089632A true KR20060089632A (ko) 2006-08-09
KR101219819B1 KR101219819B1 (ko) 2013-01-08

Family

ID=36441231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060008223A KR101219819B1 (ko) 2005-02-04 2006-01-26 디지털 어플리케이션을 라이센싱하기 위한 유연한 라이센싱 아키텍처

Country Status (17)

Country Link
US (1) US7890428B2 (ko)
EP (1) EP1688855A3 (ko)
JP (1) JP4974534B2 (ko)
KR (1) KR101219819B1 (ko)
CN (1) CN1825329A (ko)
AU (1) AU2006200154B2 (ko)
BR (1) BRPI0600193A (ko)
CA (1) CA2533076C (ko)
CO (1) CO5780158A1 (ko)
IL (1) IL173431A0 (ko)
MY (1) MY152920A (ko)
NO (1) NO20060070L (ko)
NZ (1) NZ544802A (ko)
RU (1) RU2402809C2 (ko)
SG (1) SG125172A1 (ko)
TW (1) TWI413908B (ko)
ZA (1) ZA200600474B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130114593A (ko) * 2010-05-19 2013-10-17 구글 인코포레이티드 전자 라이센스 관리

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156488B2 (en) * 2004-10-20 2012-04-10 Nokia Corporation Terminal, method and computer program product for validating a software application
US8091142B2 (en) * 2005-04-26 2012-01-03 Microsoft Corporation Supplementary trust model for software licensing/commercial digital distribution policy
US20080270310A1 (en) * 2006-06-27 2008-10-30 Intuit Inc. Facilitating dynamic configuration of software products
US9471756B2 (en) * 2006-06-27 2016-10-18 Intuit Inc. Method and apparatus for authorizing a software product to be used on a computer system
US20080109367A1 (en) * 2006-11-02 2008-05-08 General Electric Company Method and apparatus for self-licensing data
US20080183591A1 (en) * 2007-01-31 2008-07-31 Microsoft Corporation System for partner engagement in commercial distribution of digital porducts
US8117094B2 (en) * 2007-06-29 2012-02-14 Microsoft Corporation Distribution channels and monetizing
US8528109B2 (en) * 2007-10-09 2013-09-03 Microsoft Corporation Optimizing amount of data passed during software license activation
US20090132422A1 (en) * 2007-11-21 2009-05-21 Microsoft Corporation Machine-readable and enforceable license
US20090132435A1 (en) * 2007-11-21 2009-05-21 Microsoft Corporation Popularity based licensing of user generated content
US20090132403A1 (en) * 2007-11-21 2009-05-21 Microsoft Corporation Licensing interface for user generated content
US20090210333A1 (en) * 2008-02-14 2009-08-20 Microsoft Corporation Micro-licensing of composite content
JP5121542B2 (ja) 2008-04-09 2013-01-16 キヤノン株式会社 アプリケーションパッケジング装置、その制御方法、プログラム
US20090259591A1 (en) * 2008-04-11 2009-10-15 Microsoft Corporation Information Rights Management
JP5173563B2 (ja) * 2008-05-02 2013-04-03 キヤノン株式会社 ライセンス管理装置及び方法
US8914310B2 (en) * 2009-01-29 2014-12-16 A Major Difference, Inc. Multi-functional control unit for an ionic foot bath system
US20100293103A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Interaction model to migrate states and data
US9424399B2 (en) * 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments
US20100293536A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
CN102474412A (zh) * 2009-07-17 2012-05-23 上海贝尔股份有限公司 Sem内的drm方法和设备以及提供drm服务的方法
US8850607B2 (en) * 2009-09-22 2014-09-30 Flexera Software Llc System and method for capacity licensing
JP5499642B2 (ja) * 2009-11-04 2014-05-21 株式会社リコー ライセンス管理システム、販売管理装置、ライセンス管理装置、ライセンス管理方法、及びプログラム
US20110196793A1 (en) * 2010-02-05 2011-08-11 General Instrument Corporation Generic feature licensing framework
WO2012001232A2 (en) * 2010-06-30 2012-01-05 Nokia Corporation Method and apparatus for in-application purchasing
JP2012033096A (ja) * 2010-08-02 2012-02-16 Nomura Research Institute Ltd ライセンスチェックシステムおよびリソースプール管理システム
BR112013006560A2 (pt) 2010-09-21 2016-06-07 Gen Instrument Corp sistema de fornecimento de licença de recurso de grande volume seguro
US8332631B2 (en) * 2010-11-22 2012-12-11 Intel Corporation Secure software licensing and provisioning using hardware based security engine
US9135610B2 (en) * 2011-03-29 2015-09-15 Microsoft Technology Licensing, Llc Software application license roaming
US9524378B2 (en) * 2011-05-31 2016-12-20 Qualcomm Incorporated Apparatus and method of in-application licensing
US20130110675A1 (en) * 2011-10-31 2013-05-02 Microsoft Corporation Marketplace for Composite Application and Data Solutions
JP5847552B2 (ja) * 2011-11-17 2016-01-27 キヤノン株式会社 管理装置、情報処理システムおよび管理方法
US9165332B2 (en) 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing
CN104205139A (zh) * 2012-03-02 2014-12-10 统一有限责任两合公司 用于在通信系统的升级过程中自动化许可效率属性的方法和许可系统
US9477821B2 (en) 2012-11-19 2016-10-25 Google Technology Holdings LLC Generic feature-licensing framework
US9971592B2 (en) * 2013-02-27 2018-05-15 Adobe Systems Incorporated Method and apparatus for a workflow-based software purchase
TWI499932B (zh) * 2013-07-17 2015-09-11 Ind Tech Res Inst 應用程式管理方法、應用程式管理系統與使用者裝置
US20150336005A1 (en) * 2014-05-20 2015-11-26 Cadillac Jack Electronic gaming system with central game licensing
CN106209734B (zh) * 2015-04-30 2019-07-19 阿里巴巴集团控股有限公司 进程的身份认证方法和装置
US10402178B2 (en) 2018-01-26 2019-09-03 Accenture Global Solutions Limited Cross platform content management and distribution system
WO2019159689A1 (ja) * 2018-02-13 2019-08-22 ソニー株式会社 電子機器、情報処理装置、情報処理方法、プログラム、及び、情報処理システム
JP2022012813A (ja) * 2020-07-02 2022-01-17 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
TWI774081B (zh) * 2020-10-12 2022-08-11 瑞昱半導體股份有限公司 具有多工處理的晶片
EP4114050A1 (de) * 2021-06-30 2023-01-04 Siemens Aktiengesellschaft Überprüfung einer lizenz für die nutzung mindestens eines leistungsmerkmals in einem internet der dinge (iot)-gerät

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3718906A (en) * 1971-06-01 1973-02-27 R Lightner Vending system for remotely accessible stored information
FR2448825A1 (fr) * 1979-02-06 1980-09-05 Telediffusion Fse Systeme de transmission d'information entre un centre d'emission et des postes recepteurs, ce systeme etant muni d'un moyen de controle de l'acces a l'information transmise
FR2523745B1 (fr) * 1982-03-18 1987-06-26 Bull Sa Procede et dispositif de protection d'un logiciel livre par un fournisseur a un utilisateur
US4528643A (en) * 1983-01-10 1985-07-09 Fpdc, Inc. System for reproducing information in material objects at a point of sale location
US4658093A (en) * 1983-07-11 1987-04-14 Hellman Martin E Software distribution system
US5103392A (en) * 1983-10-05 1992-04-07 Fujitsu Limited System for storing history of use of programs including user credit data and having access by the proprietor
US4827508A (en) * 1986-10-14 1989-05-02 Personal Library Software, Inc. Database usage metering and protection system and method
US4977594A (en) * 1986-10-14 1990-12-11 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US5050213A (en) * 1986-10-14 1991-09-17 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US5117457A (en) * 1986-11-05 1992-05-26 International Business Machines Corp. Tamper resistant packaging for information protection in electronic circuitry
US4916738A (en) * 1986-11-05 1990-04-10 International Business Machines Corp. Remote access terminal security
US5109413A (en) * 1986-11-05 1992-04-28 International Business Machines Corporation Manipulating rights-to-execute in connection with a software copy protection mechanism
US4926479A (en) * 1988-04-29 1990-05-15 Massachusetts Institute Of Technology Multiprover interactive verification system
US4953209A (en) * 1988-10-31 1990-08-28 International Business Machines Corp. Self-verifying receipt and acceptance system for electronically delivered data objects
US5222134A (en) * 1990-11-07 1993-06-22 Tau Systems Corporation Secure system for activating personal computer software at remote locations
US5103476A (en) * 1990-11-07 1992-04-07 Waite David P Secure system for activating personal computer software at remote locations
WO1992020021A1 (en) * 1991-05-08 1992-11-12 Digital Equipment Corporation License management system
US5940504A (en) 1991-07-01 1999-08-17 Infologic Software, Inc. Licensing management system and method in which datagrams including an address of a licensee and indicative of use of a licensed product are sent from the licensee's site
US5956505A (en) * 1991-12-24 1999-09-21 Pitney Bowes Inc. Remote activation of software features in a data processing device
US5261002A (en) * 1992-03-13 1993-11-09 Digital Equipment Corporation Method of issuance and revocation of certificates of authenticity used in public key networks and other systems
US5193573A (en) * 1992-06-15 1993-03-16 Chronister Clyde H Ball valve having replaceable seals under full service pressure
IL107044A0 (en) * 1992-09-21 1993-12-28 Uniloc Singapore Private Ltd System for software registration
US5319705A (en) * 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
US5509070A (en) * 1992-12-15 1996-04-16 Softlock Services Inc. Method for encouraging purchase of executable and non-executable software
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
US5473692A (en) * 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
JPH08101867A (ja) * 1994-09-30 1996-04-16 Fujitsu Ltd ソフトウェア利用許可システム
US5715314A (en) 1994-10-24 1998-02-03 Open Market, Inc. Network sales 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
US5629980A (en) * 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
US5634012A (en) * 1994-11-23 1997-05-27 Xerox Corporation System for controlling the distribution and use of digital works having a fee reporting mechanism
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US5638443A (en) 1994-11-23 1997-06-10 Xerox Corporation System for controlling the distribution and use of composite digital works
JPH08185444A (ja) * 1994-12-28 1996-07-16 Fujitsu Ltd ソフトウエア販売管理方法及びシステム
SE504085C2 (sv) * 1995-02-01 1996-11-04 Greg Benson Sätt och system för att hantera dataobjekt i enlighet med förutbestämda villkor för användare
CN1912885B (zh) * 1995-02-13 2010-12-22 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
JPH08263437A (ja) * 1995-02-13 1996-10-11 Shiyuuki Koreeda 承認システム及び承認方法
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5809144A (en) * 1995-08-24 1998-09-15 Carnegie Mellon University Method and apparatus for purchasing and delivering digital goods over a network
US5710887A (en) * 1995-08-29 1998-01-20 Broadvision Computer system and method for electronic commerce
US5765152A (en) * 1995-10-13 1998-06-09 Trustees Of Dartmouth College System and method for managing copyrighted electronic media
AU1690597A (en) 1996-01-11 1997-08-01 Mitre Corporation, The System for controlling access and distribution of digital property
JP3486043B2 (ja) * 1996-03-11 2004-01-13 株式会社東芝 ソフトウエア流通システムの動作方法及びソフトウエアシステム
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
US5933646A (en) * 1996-05-10 1999-08-03 Apple Computer, Inc. Software manager for administration of a computer operating system
ATE359562T1 (de) 1996-05-15 2007-05-15 Intertrust Tech Corp Verfahren und vorrichtung zum zugriff auf dvd- inhalte
US6125352A (en) 1996-06-28 2000-09-26 Microsoft Corporation System and method for conducting commerce over a distributed network
JP2000516743A (ja) 1996-09-04 2000-12-12 インタートラスト テクノロージーズ コーポレイション 信用インフラストラクチャストラクチャ支援システム、安全な電子交易、電子商取引、交易プロセス制御及び自動化のための方法及び技術、分散コンピューテーション及び権利管理
US5953420A (en) * 1996-10-25 1999-09-14 International Business Machines Corporation Method and apparatus for establishing an authenticated shared secret value between a pair of users
US6523119B2 (en) * 1996-12-04 2003-02-18 Rainbow Technologies, Inc. Software protection device and method
US5917913A (en) * 1996-12-04 1999-06-29 Wang; Ynjiun Paul Portable electronic authorization devices and methods therefor
US6073124A (en) * 1997-01-29 2000-06-06 Shopnow.Com Inc. Method and system for securely incorporating electronic information into an online purchasing application
US5920861A (en) 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US5984508A (en) * 1997-06-18 1999-11-16 Aveo, Inc. System, method and article of manufacture for product return of software and other information
US6233567B1 (en) * 1997-08-29 2001-05-15 Intel Corporation Method and apparatus for software licensing electronically distributed programs
US6681017B1 (en) * 1997-09-03 2004-01-20 Lucent Technologies Inc. Simplified secure shared key establishment and data delivery protocols for electronic commerce
IL121876A0 (en) * 1997-09-30 1998-02-20 Aliroo Ltd Electronic publishing
US6289452B1 (en) * 1997-11-07 2001-09-11 Cybersource Corporation Method and system for delivering digital products electronically
US6078909A (en) * 1997-11-19 2000-06-20 International Business Machines Corporation Method and apparatus for licensing computer programs using a DSA signature
US6094487A (en) * 1998-03-04 2000-07-25 At&T Corporation Apparatus and method for encryption key generation
US6189146B1 (en) * 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
US7483859B2 (en) 2000-02-05 2009-01-27 Diebold, Incorporated System and method for dispensing digital information from an automated transaction machine
US6118873A (en) * 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
US6219652B1 (en) * 1998-06-01 2001-04-17 Novell, Inc. Network license authentication
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6299889B1 (en) 1998-09-10 2001-10-09 Avon Products, Inc. Stable ascorbic acid preparation for topical use
JP4527882B2 (ja) * 1998-10-07 2010-08-18 アドビ・システムズ・インコーポレーテッド データ項目に対するアクセスを配布する方法及びシステム
US6330670B1 (en) * 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6343280B2 (en) * 1998-12-15 2002-01-29 Jonathan Clark Distributed execution software license server
WO2000044119A1 (en) * 1999-01-26 2000-07-27 Infolio, Inc. Universal mobile id system and method for digital rights management
GB2346989A (en) * 1999-02-19 2000-08-23 Ibm Software licence management system uses clustered licence servers
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
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
JP2001005877A (ja) * 1999-06-25 2001-01-12 M Ken Co Ltd コンテンツ流通システムおよびそのための端末装置、コンテンツ流通方法、記録媒体
EP1076279A1 (en) 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
WO2001041027A1 (en) 1999-12-03 2001-06-07 Davor Runje System and method for secure electronic digital rights management, secure transaction management and content distribution
JP4120125B2 (ja) * 2000-02-01 2008-07-16 富士ゼロックス株式会社 利用許可証発行装置および方法
KR100382668B1 (ko) 2000-02-14 2003-05-09 차희장 지적재산권 분할거래 시스템 및 방법
WO2001077795A2 (en) 2000-04-07 2001-10-18 Viatech Technologies Inc. System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files
US7149721B1 (en) * 2000-09-05 2006-12-12 Adobe Systems Incorporated Electronic content rights with and-or expression
US20040193545A1 (en) * 2000-10-30 2004-09-30 Gady Shlasky Method and system for digital licensing distribution
AU2002255774A1 (en) * 2001-03-14 2002-09-24 United Parcel Service Of America, Inc. Systems and methods for initiating returns over a network
US6993664B2 (en) * 2001-03-27 2006-01-31 Microsoft Corporation Method and system for licensing a software product
EP1248190B1 (en) 2001-04-02 2007-06-06 Motorola, Inc. Enabling and disabling software features
JP2002318630A (ja) * 2001-04-19 2002-10-31 Ryoichi Mori ソフトウェア処理装置、方法、及びプログラム
US7152243B2 (en) 2002-06-27 2006-12-19 Microsoft Corporation Providing a secure hardware identifier (HWID) for use in connection with digital rights management (DRM) system
AU2003262857A1 (en) 2002-08-24 2004-03-11 Ingrian Networks, Inc. Selective feature activation
US7698225B2 (en) * 2002-08-30 2010-04-13 Avaya Inc. License modes in call processing
US20040088541A1 (en) * 2002-11-01 2004-05-06 Thomas Messerges Digital-rights management system
KR20040038456A (ko) 2002-11-01 2004-05-08 한국전자통신연구원 홈 서버 컨텐츠 공유가 가능한 디알엠 장치 및 방법
JP3889004B2 (ja) 2003-01-27 2007-03-07 松下電器産業株式会社 デジタルコンテンツ配信システム
JP2004295846A (ja) * 2003-03-28 2004-10-21 Dainippon Printing Co Ltd ライセンス管理システム、ライセンス管理サーバ、ライセンス管理方法、プログラム、及び、記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130114593A (ko) * 2010-05-19 2013-10-17 구글 인코포레이티드 전자 라이센스 관리
KR20170019476A (ko) * 2010-05-19 2017-02-21 구글 인코포레이티드 전자 라이센스 관리
US10007960B2 (en) 2010-05-19 2018-06-26 Google Llc Electronic license management

Also Published As

Publication number Publication date
IL173431A0 (en) 2006-06-11
MY152920A (en) 2014-12-15
JP2006216041A (ja) 2006-08-17
US20060179002A1 (en) 2006-08-10
RU2006102524A (ru) 2007-08-10
NZ544802A (en) 2007-06-29
KR101219819B1 (ko) 2013-01-08
CN1825329A (zh) 2006-08-30
AU2006200154A1 (en) 2006-08-24
US7890428B2 (en) 2011-02-15
TW200632690A (en) 2006-09-16
CO5780158A1 (es) 2007-07-31
ZA200600474B (en) 2008-04-30
CA2533076C (en) 2014-07-29
CA2533076A1 (en) 2006-08-04
TWI413908B (zh) 2013-11-01
EP1688855A2 (en) 2006-08-09
RU2402809C2 (ru) 2010-10-27
JP4974534B2 (ja) 2012-07-11
EP1688855A3 (en) 2010-09-22
BRPI0600193A (pt) 2006-09-19
NO20060070L (no) 2006-08-07
SG125172A1 (en) 2006-09-29
AU2006200154B2 (en) 2011-02-10

Similar Documents

Publication Publication Date Title
KR101219819B1 (ko) 디지털 어플리케이션을 라이센싱하기 위한 유연한 라이센싱 아키텍처
KR101219839B1 (ko) 콘텐츠 저작권 관리 시스템에서의 유연한 라이센싱아키텍처
JP4912406B2 (ja) 第1プラットフォームから第2プラットフォームへのディジタルライセンスの移送
US7747533B2 (en) Digital application operating according to aggregation of plurality of licenses
RU2331917C2 (ru) Выдача лицензий на использование средства публикации в автономном режиме в системе управления правами на цифровое содержимое drm
JP4486321B2 (ja) デジタル権利管理(drm)システムを使用するソフトウェアアプリケーションの保護のための方法および媒体
US20060069653A1 (en) First computer process and second computer process proxy-executing code on behalf of first process
JP2004062890A (ja) デジタル権利管理サービスを提供するシステムおよび方法
US7383537B2 (en) Debugging an application that employs rights-managed content
US20050222960A1 (en) First computer process and second computer process proxy-executing code from third computer process on behalf of first process
KR100716719B1 (ko) 디.알.엠 기반의 패키지 컨텐츠 제공 방법 및 그 장치
US20050081050A1 (en) First computer process and second computer process proxy-executing code on behalf thereof
JP2002245012A (ja) オブジェクト実行方法及びシステム及びオブジェクト実行プログラム及びオブジェクト実行プログラムを格納した記憶媒体及びオブジェクト及びオブジェクトを格納した記憶媒体
MXPA06001113A (es) Arquitectura de licencia flexible para la obtencion de una licencia de aplicacion digital
KR20110111988A (ko) 휴대용 단말기에 설치된 애플리케이션 실행 제어 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 8