KR20120014561A - 사용자 ⅰd에 기초한 강화된 제품 기능 - Google Patents

사용자 ⅰd에 기초한 강화된 제품 기능 Download PDF

Info

Publication number
KR20120014561A
KR20120014561A KR1020117026672A KR20117026672A KR20120014561A KR 20120014561 A KR20120014561 A KR 20120014561A KR 1020117026672 A KR1020117026672 A KR 1020117026672A KR 20117026672 A KR20117026672 A KR 20117026672A KR 20120014561 A KR20120014561 A KR 20120014561A
Authority
KR
South Korea
Prior art keywords
user
license
digital license
digital
service
Prior art date
Application number
KR1020117026672A
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 KR20120014561A publication Critical patent/KR20120014561A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Human Computer Interaction (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

소프트웨어 제품에 대한 제품 키가 획득되고 활성화 서비스가 장치에 의해 액세스되어 제품 키로 소프트웨어 제품을 활성화한다. 소프트웨어 제품과 연관된 디지털 라이센스는 활성화 서비스로부터 수신되고, 디지털 라이센스는 장치의 사용자의 사용자 식별(user-identifying) 크리덴셜의 세트에 연결된다. 디지털 라이센스의 이 애플리케이션은, 소프트웨어 제품 전부의 사용을 인에이블하거나 특성의 특정 세트를 인에이블/디스에이블하는 것과 같은 다양한 형태를 취할 수 있다. 디지털 라이센스 및 디지털 라이센스의 사용자 ID로의 연관의 표시가 원격 라이센스 관리 서비스에 저장되고, 로컬에서 캐시될 수 있고, 만료되고 시스템에서 사용할 수 없게 될 수 있다. 라이센스 관리 서비스는 이 디지털 라이센스를 수신하고 저장하며, 만료된 시간 기반 라이센스를 제거할 수 있다.

Description

사용자 ⅠD에 기초한 강화된 제품 기능{ENHANCED PRODUCT FUNCTIONALITY BASED ON USER IDENTIFICATION}
소비자가 그들의 컴퓨터와 함께 사용하기 위해 구매하는 소프트웨어 제품은 종종 연관된 제품 키 또는 유사한 소프트웨어나 하드웨어 라이센스를 갖는다. 이들 제품 키는 보통 소비자에게 판매되는 디스크 또는 박스에 인쇄되거나, 일부 온라인 구매에 있어서는 소비자에게 전자적으로 통신된다. 제품을 활성화하거나 사용하기 위해, 소비자는 자신의 컴퓨터에 제품 키를 입력하고, 컴퓨터는 제품 키를 인증하고 소프트웨어 제품을 활성화하기 위해 활성화 서버에 액세스한다. 그러면 제품 키는 활성화 요청이 수신된 소비자의 컴퓨터의 고유한 컴퓨터 하드웨어 “서명(signature)”과 연관된다. 이러한 제품 키의 사용이 소프트웨어불법복제(piracy)를 피하는데 도움을 줄 수 있지만, 문제가 없는 것은 아니다. 사용자는 결국 제품 키를 보관하기 위해 주의를 기울여야 하는 많은 디스크나 박스를 얻게 되고, 제품 키가 활성 요청이 수신된 특정 컴퓨터와 연관되므로 다른 컴퓨터로 소프트웨어 제품을 옮기는데 어려움이 있을 수 있다. 이러한 문제는 그런 소프트웨어 제품의 사용성을 낮추고 사용자의 불만을 증가시킨다.
본 개요는 아래의 상세한 설명에서 더 설명되는 개념 중 선택된 것을 단순화된 형태로 소개하기 위해 제공된다. 본 개요는 청구된 주제의 핵심 특징 또는 필수 특징을 식별하기 위한 것이 아니고, 청구된 주제의 범위를 제한하는데 사용되려는 것도 아니다.
하나 이상의 태양에 따르면, 소프트웨어 제품에 대한 제품 키가 획득되고, 제품 키를 이용하여 소프트웨어 제품을 활성화하기 위해 장치에 의해 활성화 서비스가 액세스된다. 소프트웨어 제품과 연관된 디지털 라이센스가 활성화 서비스로부터 수신되고, 디지털 라이센스는 장치 사용자의 사용자 ID에 연결된다. 디지털 라이센스와, 소프트웨어 라이센스가 사용자 ID로 연결됨의 표시가 원격 라이센스 관리 서비스에 저장된다.
하나 이상의 태양에 따르면, 라이센스 관리 서비스는 소프트웨어 제품에 대한 디지털 라이센스를 수신한다. 이 디지털 라이센스는 소프트웨어 제품이 제품 키를 이용하여 활성화된 장치로부터 수신된다. 소프트웨어 제품이 활성화되었을 때 장치의 사용자의 제 1 사용자 ID에 연결된 것으로 디지털 라이센스가 저장된다.
도면에서 동일한 숫자는 유사한 특징을 지칭하는데 사용된다.
도 1은 하나 이상의 실시형태에 따라 사용자 ID에 기초하여 강화된 제품 기능을 구현하는 예시적인 시스템을 도시한다.
도 2는 하나 이상의 실시형태에 따라 사용자 ID에 기초하여 강화된 제품 기능을 구현하는 예시적인 시스템을 도시한다.
도 3은 하나 이상의 실시형태에 따른 예시적인 디지털 라이센스를 도시한다.
도 4는 사용자가 그 또는 그녀의 ID가 디지털 라이센스에 연결될지 여부를 선택할 수 있도록 하기 위해 하나 이상의 실시형태에 따라 사용자에게 표시될 수 있는 예시적인 제품 활성화 윈도우를 도시한다.
도 5는 하나 이상의 실시형태에 따른 예시적인 라이센스 관리 시스템을 도시한다.
도 6은 하나 이상의 실시형태에 따라 디지털 라이센스를 획득 및 저장하기 위한 예시적인 프로세스를 도시하는 흐름도이다.
도 7은 하나 이상의 실시형태에 따라 소프트웨어 제품을 실행하는 예시적인 프로세스를 도시하는 흐름도이다.
도 8은 하나 이상의 실시형태에 따라 요청된 디지털 라이센스를 반환하는 예시적인 프로세스를 도시하는 흐름도이다.
도 9는 하나 이상의 실시형태에 따라 디지털 라이센스를 사용하기 위한 예시적인 프로세스를 도시하는 흐름도이다.
도 10은 하나 이상의 실시형태에 따라 시간 기반 라이센스를 자동으로 업데이트하는 예시적인 프로세스를 도시하는 흐름도이다.
도 11은 하나 이상의 실시형태에 따라 사용자 ID에 기초하여 강화된 제품 기능을 구현하도록 구성될 수 있는 예시적인 연산 장치를 도시한다.
사용자 ID(identification)에 기초하여 강화된 제품 기능이 여기서 설명된다. 일반적으로, 소프트웨어 제품은 소프트웨어 제품과 연관된 제품 키를 이용하여 장치를 통해 활성화된다. 활성화 프로세스의 일부로서, 소프트웨어 제품에 대한 디지털 라이센스가 장치에게 반환된다. 제품 키를 포함할 수 있는 이 디지털 라이센스는 장치의 사용자의 사용자 ID에 연결(bound)된다. 사용자에 대한 사용자 ID도 연결 프로세스의 일부로서 선택적으로 생성될 수 있다. 사용자 ID에 연결된 디지털 라이센스 및 제품 키는 또한 원격 라이센스 서비스에 의해 저장된다. 사용자는 후속하여 다수의 상이한 장치들이 그 또는 그녀의 사용자 ID에 연결된 제품 키 및 디지털 라이센스를 불러오도록 할 수 있고, 사용자가 디지털 라이센스를 이들 장치와 마이그레이트(migrate)하고 디지털 라이센스의 조항에 따라 이들 장치에서 소프트웨어를 사용할 수 있게 한다. 이들 상이한 장치들은 사용자의 소유이거나, 다르게는, 다른 사람의 소유인데 단순히 사용자에 의해 사용되고 있는 것일 수 있다. 후술하는 바와 같이 소프트웨어 제품 및/또는 디지털 라이센스에 대한 다양한 추가적인 정보도 원격 라이센스 서비스에 의해 유지될 수 있다.
도 1은 하나 이상의 실시형태에 따라 사용자 ID에 기초하여 강화된 제품 기능을 구현하는 예시적인 시스템(100)을 도시한다. 시스템(100)은 네트워크(106)를 통해 라이센스 서비스(104)와 통신할 있는 다수(n개) 장치(102)를 포함한다. 네트워크(106)는, 인터넷, LAN(local area network), 공공 전화 네트워크, 인트라넷, 기타 공공 및/또는 독점적(proprietary) 네트워크, 그들의 결합 등을 포함하여, 다양한 상이한 네트워크일 수 있다. 라이센스 서비스(104)는 장치(102)의 하나 이상의 사용자의 사용자 ID에 연결(bound)되거나 연관된(associated) 라이센스를 유지한다. 장치(102) 및/또는 라이센스 서비스(104)는 네트워크(106)를 통해 하나 이상(m)의 온라인 서비스(108)와 통신할 수도 있다.
각각의 장치(102)는 소프트웨어를 실행(예를 들어, 소비)할 수 있는 다양한 상이한 장치일 수 있다. 예를 들어, 장치(102)는 데스크톱 컴퓨터, 서버 컴퓨터, 이동국(mobile station), 엔터테인먼트 기기, 디스플레이 장치에 통신적으로 연결된 셋탑 박스, 무선 전화, PDA(personal digital assistanat), 게임 콘솔, 자동차(automotive) 컴퓨터 등일 수 있다. 그러므로, 장치(102)는 실질적인 메모리 및 프로세서 리소스를 갖는 풀 리소스 장치 (예를 들어, 개인 컴퓨터, 게임 콘솔)로부터 제한된 메모리 및/또는 프로세싱 리소스를 갖는 저(low) 리소스 장치(예를 들어, 종래의 셋탑 박스, 핸드헬드 게임 콘솔)까지의 범위일 수 있다.
각각의 온라인 서비스(108) 뿐만 아니라 라이센스 서비스(104)도 하나 이상의 다양한 상이한 연산 장치에 의해 구현될 수 있다. 장치(102)의 논의와 유사하게, 라이센스 서비스(104) 및 각각의 온라인 서비스(108)를 구현하는 연산 장치는 다양한 장치일 수 있는데, 실질적인 메모리 및 프로세서 리소스를 갖는 풀 리소스 장치로부터 제한된 메모리 및/또는 프로세싱 리소스를 갖는 저 리소스 장치까지의 범위일 수 있다. 또한, 서비스(104 및 108)는 상이한 연산 장치에 의해 구현될 수 있거나, 다르게는, 서비스(104와 108) 중 하나 이상이 동일한 연산 장치에 의해 구현될 수 있음을 인식할 것이다. 또한, 서비스(104와 108) 각각은 장치(102)의 사용자에게 무결절(seamless) 경험을 제공하기 위해 서로 통신하는 다수의 상이한 시스템에 의해 구현될 수도 있다.
각각의 장치(102)는 라이센스 클라이언트 모듈(112)을 포함한다. 장치(120)는 하나 이상의 온라인 서비스(108)와 통신하여 제품 키를 이용하여 장치(102) 상의 소프트웨어 제품을 활성화하고 소프트웨어 제품에 대한 디지털 라이센스를 획득한다. 여기서 사용되는 소프트웨어 제품은 장치(102) 상에서 동작하거나 실행될 수 있는 소프트웨어 프로그램을 지칭한다. 소프트웨어 프로그램은 독립 프로그램일 수 있거나, 또는 다르게는 다른 소프트웨어 프로그램과 결합하여 작동하도록 설계된 모듈 또는 컴포넌트일 수 있다. 소프트웨어 제품은 게임 프로그램, 유틸리티 프로그램, 워드 프로세싱 프로그램, 데이터베이스 프로그램, 운영 시스템(operating system), 그림 프로그램 등과 같은 다양한 유형의 소프트웨어 프로그램일 수 있다. 추가적으로, 통상은 소프트웨어 프로그램이지만, 소프트웨어 제품은 펌웨어 모듈 또는 컴포넌트 또는 기타 펌웨어 명령도 될 수 있거나 이를 포함할 수 있다.
일단 활성화되면, 사용자는 디지털 라이센스의 조항에 따라 장치(102) 상에서 소프트웨어 제품을 사용할 수 있다. 장치(102) 상의 라이센스 클라이언트 모듈(112)은 라이센스 서비스(104)와도 통신하여 장치(102)의 사용자의 사용자 ID에 연결된 디지털 라이센스를 저장한다. 라이센스 서비스(104)는 디지털 라이센스 및 사용자 ID에 연결된 제품을 저장하여, 그 사용자 ID를 갖는 사용자가 후속하여 동일하거나 다른 장치(102) 상의 디지털 라이센스를 불러올 수 있도록 한다. 이 사용자 ID는 후술하는 온라인 서비스에 대한 인증 서비스에 의해 인증되거나 및/또는 제공된다.
여기서 암호화(encryption) 및 크립토그라피(cryptography)를 언급하는데, 이는 대칭 키 암호화 및 크립토그라피 및 공개/비밀 키 쌍을 이용하는 공개 키 암호화 및 크립토그라피를 포함할 수 있다. 이러한 키 크립토그라피가 당업자에게 잘 알려져 있지만, 독자를 돕기 위해 그러한 크립토그라피에 대한 간략한 개요가 여기 포함된다. 공개 키 크립토그라피에서, 엔티티(사용자, 하드웨어 또는 소프트웨어 컴포넌트, 장치, 도메인 등)은 연관된 공개/비밀 키 쌍과 관련된다. 공개 키는 공개적으로 사용가능하게 될 수 있지만, 엔티티는 비밀 키를 비밀로 유지한다. 비밀 키가 없으면 공개 키를 이용하여 암호화된 데이터를 복호화하는 것이 연산적으로(computationally) 매우 어렵다. 그래서, 데이터는 공개 키를 이용하여 어떠한 엔티티에 의해서도 암호화될 수 있고, 대응 비밀 키를 이용해서만 엔티티에 의해 복호화될 수 있다. 또한, 데이터에 대한 디지털 서명은 데이터 및 비밀 키를 이용하여 생성될 수 있다. 비밀 키가 없으면 공개 키를 이용하여 검증(verify)될 수 있는 서명을 생성하는 것이 연산적으로 매우 어렵다. 공개 키를 갖는 여하한 엔티티도, 공개키를 이용하여 얻어진 검증 값과 원 데이터를 비교함으로써 디지털 서명을 검증하기 위해 공개 키를 사용할 수 있고, 만약 둘이 동일하면 디지털 서명된 데이터를 아무도 변경하거나 변조하지 않았음이 확인된다.
반면, 대칭 키 크립토그라피에서, 공유 키(대칭 키라고도 함)가 두 엔티티에게 알려지고 이들에 의해 비밀로 유지된다. 보통 공유 키를 갖는 어떠한 엔티티도 그 공유 키에 의해 암호화된 데이터를 복호화할 수 있다. 공유 키 없이는 공유 키로 암호화된 데이터를 복호화하는 것이 연산적으로 매우 어렵다. 그래서, 두 엔티티가 모두 공유 키를 알고 있다면, 각각은 서로에 의해 복호화될 수 있는 데이터를 암호화할 수 있지만, 다른 엔티티가 공유 키를 모른다면 데이터를 복호화할 수 없다.
도 2는 하나 이상의 실시형태에 따라 사용자 ID를 기초로 강화된 제품 기능을 구현하는 예시적인 시스템(200)을 도시한다. 시스템(200)은 도 1의 시스템(100)의 다양한 컴포넌트의 예를 하나 이상의 실시형태에 따라 더 상세하게 도시한다. 시스템(200)은 장치(202)를 포함하고, 이는 예를 들어 도 1의 장치(102)일 수 있다. 시스템(200)은 라이센스 관리 서비스(204)도 포함할 수 있고, 이는 예를 들어 도 1의 라이센스 서비스일 수 있다. 시스템(200)은 예를 들어 도 1의 온라인 서비스(108)일 수 있는 추가적인 서비스도 포함한다. 이들 추가적인 서비스는, 소프트웨어 활성화 서비스(212), 사용자 ID 인증 서비스(214), 소프트웨어 구매 서비스(216), 관계 서비스(218), 제품 검증 서비스(220), 및 제품 등록 서비스(222)를 포함한다. 시스템(200)은 라이센스 관리 서비스(204)에 의해 디지털 라이센스가 저장될 수 있는 라이센스 저장소(224)도 포함한다. 서비스(204 및 212-222)는, 이들이 장치(202)와는 다른 물리적 위치(예를 들어, 다른 방, 다른 건물, 다른 주 또는 국가 등)에 위치되는 것이 보통이므로, 원격 서비스라고 지칭할 수 있다.
장치(202)는 라이센스 클라이언트 모듈(232), 소프트웨어 보호 클라이언트 모듈(234) 및 로컬 저장소(236)를 포함한다. 로컬 저장소(236)는, 자기 디스크, 광 디스크, 고체 상태 메모리(solid state memory)(예를 들어, 플래시 메모리, RAM 등) 등과 같은, 장치(202)의 로컬 저장 장치에 구현된다. 장치(202)의 이러한 로컬 저장소 장치는 고정 또는 제거가능(removable) 저장 매체 또는 매체들일 수 있다.
사용자 ID 인증 서비스(214)는 온라인 서비스에 대한 인증 서비스이다. 온라인 서비스는 장치(202)의 사용자에게 다양한 특징 및 기능을 제공할 수 있다. 하나 이상의 실시형태에서, 이 온라인 서비스는 인터넷 서비스의 Microsoft Windows Live™ 네트워크이다. 인터넷 서비스의 Microsoft Windows Live™ 네트워크에 대한 추가적인 정보는 미국 워싱턴주 레드몬드의 마이크로소프트 코포레이션(Microsoft Corporation)으로부터 얻을 수 있다. 그러나, 다르게는 다른 온라인 서비스도 사용될 수 있음을 인식할 것이다.
사용되는 특정 온라인 서비스와 무관하게, 장치(202)의 사용자는 그 온라인 서비스에 대한 사용자 ID를 갖는다. 그 온라인 서비스에 대한 사용자 ID는 그 특정한 사용자를 식별하고 그 또는 그녀가 그 온라인 서비스의 다른 사용자로부터 구별될 수 있도록 한다. 사용자는, 그 또는 그녀의 식별 정보를 라이센스 클라이언트 모듈(232)에게 제공함으로써 온라인 서비스로 로그인 또는 사인인(sign into)할 수 있고, 그 다음 라이센스 클라이언트 모듈(232)은 식별 정보를 사용자 ID 인증 서비스(214)에게 전달한다. 이러한 식별 정보의 전달은 보통 식별 정보의 암호화에 의하는 등 보안 방식으로 이루어진다. 이 식별 정보는, 사용자 ID와 비밀번호의 조합, 지문, 특정 비밀문구(passphrase), 디지털 인증서 등과 같은 다양한 상이한 형태를 취할 수 있다. 서비스(214)는 이 식별 정보를 수신하고 수신된 정보를 이전에 서비스(214)에 의해 저장된 정보와 비교한다. 수신된 정보와 이전에 저장된 정보가 매치되면(예를 들어, 동일하면), 사용자는 인증되고 사용자 크리덴셜(credential)이 모듈(232)에게 반환된다. 수신된 정보와 이전에 저장된 정보가 매치되지 않으면(예를 들어, 동일하지 않으면), 사용자는 인증되지 않고 사용자 크리덴셜은 모듈(232)에게 반환되지 않는다.
사용자 크리덴셜은 장치(202)의 현재 사용자를 식별하고, 이는 온라인 서비스에 로그인 또는 사인인한 사용자이다. 사용자 크리덴셜은 다양한 형태를 취할 수 있다. 하나 이상의 실시형태에서, 크리덴셜은 장치(202)의 현재 사용자의 사용자 ID의 선언이고, 서비스(214)에 의해 디지털 서명된다. 이 선언은 보안 티켓 또는 토큰이라고도 지칭할 수 있고, 하나 이상의 실시형태에서 서비스(214)의 공개/비밀 키 쌍의 비밀 키를 이용하여 디지털 서명된다. 장치(202)는 사용자 크리덴셜을 다른 장치 및 서비스(예를 들어, 라이센스 관리 서비스(204))에게 전달할 수 있고, 이는 다시 사용자 크리덴셜 내의 사용자 ID를 장치(202)의 현재 사용자의 사용자 ID인 것으로 신뢰할 수 있다. 사용자 크리덴셜이 신뢰되는 자(사용자 ID 인증 서비스(214))로부터 제공되기 때문에, 이러한 다른 장치 및 서비스는 이러한 신뢰를 가질 수 있다.
소프트웨어 활성화 서비스(212)는 소프트웨어 제품을 활성화하기 위해 장치(202)에 의해 액세스된다. 소프트웨어 제품은 다양한 방식으로 장치(202)의 사용자에 의해 구매되거나 달리 획득될 수 있다. 하나 이상의 실시형태에서, 소프트웨어 제품은 소프트웨어 구매 서비스(216)로부터 온라인으로 또는 전자적으로 얻어질 수 있다. 소프트웨어 구매 서비스(216)는, 예를 들어, 소프트웨어 제품을 판매하는 온라인 또는 전자 상점일 수 있다. 또한, 소프트웨어 제품은 로컬 소프트웨어 상점(예를 들어, 실물 상점(brick and mortar business)), 장치 소매상(reseller) 또는 판매점(distributor), 다른 사용자 등과 같은 다른 소스로부터 얻어질 수 있다.
소프트웨어 제품이 획득되는 방식과 무관하게, 소프트웨 제품은 연관된 제품 키를 갖는다. 소프트웨어 제품과 연관된 제품 키는 그 소프트웨어 제품이 부당하게 복제되지 않았음을 검증하는 것을 돕는다. 제품 키는 다양한 형태를 취할 수 있다. 하나 이상의 실시형태에서, 제품 키는 문자숫자(alphanumeric) 캐릭터의 시퀀스이지만, 다른 심볼 또는 캐릭터가 대신 사용될 수 있다. 예를 들어, 제품 키는 시리얼 넘버, 다섯 개의 5-캐릭터 문자열(string)의 세트 등일 수 있다. 소프트웨어 제품과 연관된 제품 키는, 소프트웨어 제품에 대한 박스 또는 배포 매체(예를 들어, 광 디스크) 상이 인쇄되거나, 온라인 또는 전자 구매의 일부로서 사용자에게 표시되거나 전자 메일되는 등, 다양한 방식으로 획득될 수 있다.
그러나, 다른 실시형태에서, 제품 키는 다른 형태를 취할 수 있다. 예를 들어, 제품 키는, 특정 광 디스크(예를 들어, CD 또는 DVD)의 존재, 특정 고체 상태 메모리 장치(예를 들어, USB(Universal Serial Bus) 플래시 메모리 장치)의 존재, 특정 스마트카드의 존재, 동글(dongle)의 존재 등, 장치(202)에서 특정 하드웨어 장치가 존재함의 표시일 수 있다. 제품 키는 이런 하드웨어 장치 상에 저장되고 소프트웨어 보호 클라이언트 모듈(234)에 의해 획득될 수 있거나, 다르게는, 소프트웨어 보호 클라이언트 모듈(234)이 이러한 하드웨어 장치의 존재를 검출하고 제품 키(예를 들어, 모듈(234)이 특정 장치의 존재를 검출하였음을 확인하는 서명된 디지털 인증서)를 생성할 수 있다.
소프트웨어 제품과 연관된 제품 키가 주어지면, 소프트웨어 보호 클라이언트 모듈(234)은 소프트웨어 활성화 서비스(212)로 제품 키를 통신한다. 모듈(234)과 서비스(212) 사이의 이 통신은, 다양한 암호화 기술을 이용하는 등, 보안 방식으로 이루어질 수 있다. 소프트웨어 활성화 서비스(212)는 제품 키를 분석하고, 제품 키에 기초하여 소프트웨어 제품이 활성화될 수 있는지 여부를 결정한다. 이 분석은 다양한 방식으로 수행될 수 있으며, 제품 키가 진정한 것(authentic)인지 여부를 판정하는 것, 제품 키가 이전에 활성화된 바 있는지(그리고 그 이후에 비활성화되지 않았는지) 여부를 판정하는 것 등을 포함할 수 있다.
제품 키의 분석에 기초하여, 소프트웨어 활성화 서비스(212)는 소프트웨어 제품이 활성화되어야 하는지 여부를 판정한다. 서비스(212)가 소프트웨어 제품이 활성화될 것이 아니라고 결정하면, 그러한 소프트웨어 제품 활성화 거절 또는 거부의 표시가 소프트웨어 보호 클라이언트 모듈(234)로 반환된다. 그러나, 서비스(212)가 소프트웨어 제품이 활성화될 것이라고 판정하면, 서비스(212)는 디지털 라이센스의 생성을 시도한다. 서비스(212)가 디지털 라이센스를 생성할 수 있으면, 서버(212)는 소프트웨어 제품에 대한 디지털 라이센스를 모듈(234)에게 반환한다. 서비스(212)가 어떤 이유로(예를 들어, 제품 키가 이미 제품을 활성화하는데 사용되었음) 라이센스를 생성할 수 없으면, 디지털 라이센스가 모듈(234)로 반환되지 않는다. 서비스(212)는 디지털 라이센스를 생성할 수 있거나, 다르게는 다른 컴포넌트 또는 모듈이 서비스(212)를 대신하여 디지털 라이센스를 생성할 수 있다. 또한, 소프트웨어 활성 서비스(212)는 선택적으로 소프트웨어 제품이 활성화되는지 여부의 결정의 표시를 라이센스 관리 서비스(204) 및/또는 제품 검증 서비스(220)에 통신한다. 이 표시는 제품 키에 기초한 활성화의 이력이 후술하는 바와 같이 유지될 수 있도록 한다.
소프트웨어 제품이 활성화될 것이라면, 디지털 라이센스가 소프트웨어 보호 클라이언트 모듈(234)로 반환된다. 하나 이상의 실시형태에서, 디지털 라이센스는, 암호화된 통신 채널을 통하거나, 장치(202) 및/또는 소프트웨어 보호 클라이언트 모듈(234)의 공개 키로 디지털 라이센스를 암호화하는 등의 보안 방식으로 반환된다.
서비스(212)에 의해 (또는 서비스(212)를 대신하여) 생성된 디지털 라이센스는 장치(202)의 사용자가 연관 소프트웨어 제품에 대해 갖는 권리를 나타낸다. 이들 권리는 디지털 라이센스의 조항 또는 사용자가 연관 소프트웨어 제품을 사용하기 위해 갖는 허가라고도 지칭한다. 디지털 라이센스는 보통 소프트웨어 보호 클라이언트 모듈(234)로부터 수신된 제품 키도 포함한다. 프로그램을 실행할 권리, 특정 개수의 기계에 프로그램을 설치할 권리, 프로그램이 실행될 수 있는 기간(예를 들어, 한 달, 일 년 등), 프로그램의 어떤 특성이 인에이블 및/또는 디스에이블 되는지 등의 다양한 권리가 디지털 라이센스에서 나타내어 질 수 있다. 디지털 라이센스에서 표시될 특정 권리는 서비스(212) (또는 다른 컴포넌트나 모듈)에 의해, 데이터베이스 또는 제품 키와 권리를 연관시키는 기타 기록에 기초하거나 다른 규칙 또는 알고리즘에 기초하는 등 다양한 방식으로 식별될 수 있다. 또한, 보통 디지털 라이센스는 서비스(212) 또는 서비스(212)를 대신하여 디지털 라이센스를 생성하는 다른 컴포넌트 또는 모듈의 공개/비밀 키 쌍의 비밀 키를 이용하여 디지털 서명된다.
디지털 라이센스는 다양한 방식으로 구현될 수 있다. 하나 이상의 실시형태에서, 디지털 라이센스는 XrML(extensible rights Markup Language) 언어와 같은 마크업 언어로 구현된다. 다르게는, 디지털 라이센스는 다른 공개 및/또는 독점(proprietary) 언어 또는 기술을 이용하여 구현될 수 있다.
디지털 라이센스는 다양한 방식으로 생성될 수 있다. 하나 이상의 실시형태에서, 디지털 라이센스는 소프트웨어 보호 클라이언트 모듈(234)로부터의 요청에 응답하여 생성되는데, 요청은 제품 키를 포함한다. 디지털 라이센스의 생성에 대해 추가의 조건이 또한 부여될 수 있고, 및/또는 디지털 라이센스는 다른 요청에 응답하여 생성될 수 있다. 예를 들어, 전화 통화가 소프트웨어 제품 개발자의 대표자에게 이루어질 수 있고, 대표자는 디지털 라이센스을 생성하라는 사용자 요청(예를 들어, 사용자가 대표자에게 전화를 통해 사용자가 가진 제품 키를 제공한다)에 응답하여 라이센스가 생성되게 하고 소프트웨어 보호 클라이언트 모듈(234)로 전송되게 할 수 있다. 다른 예로서, 추가적인 조건은 디지털 라이센스가 생성되기 위해 사용자의 지문 스캔(예를 들어, 소프트웨어 보호 클라이언트 모듈(234)에 의해 소프트웨어 활성화 서비스(212)에 제공됨)과 같은 바이오메트릭(biometric) 정보가 검증되어야 함을 나타낼 수 있다. 또 다른 예로서, 추가적인 조건은 디지털 라이센스가 생성되기 위해 사용자의 디지털 인증서(예를 들어, 소프트웨어 보호 클라이언트 모듈(234)에 의해 소프트웨어 활성화 서비스(212)에 제공됨)가 검증되어야 함을 나타낼 수 있다.
도 3은 하나 이상의 실시형태에 따른 예시적인 디지털 라이센스(300)를 도시한다. 디지털 라이센스(300)는 라이센스(300)에 대한 다양한 정보를 포함하는 다수의 필드 또는 부분(302-340)을 포함한다. 예시적인 디지털 라이센스(300)에서 도시된 이들 필드는 단순히 예에 불과하고, 예시적인 라이센스(300)에 도시된 하나 이상의 필드가 다지털 라이센스로부터 삭제될 수 있고, 하나 이상의 다른 필드가 디지털 라이센스에 추가될 수 있으며, 하나 이상의 필드가 결합될 수 있고, 필드가 다수의 필드로 분리될 수 있는 등을 인식할 것이다. 또한, (예를 들어, 전술한 대칭 키 및/또는 공개 키 암호화를 이용하여) 디지털 라이센스(300)가 암호화될 수 있고, 및/또는 필드(302-340) 중 개개의 하나가 암호화될 수 있음을 이해할 것이다. 도 3은 도 2의 컴포넌트를 추가로 참조하여 논의된다.
활성화 일자 필드(302)는 디지털 라이센스(300)에 대응하는 제품 키(예를 들어, 후술하는 제품 키 필드(328)에 포함됨)가 소프트웨어 제품을 활성화하기 위해 최근에 사용된 일자 (및 선택적으로 시각)을 식별하는 데이터를 저장한다. 활성화 일자 필드(302)는 디지털 라이센스(300)에 대응하는 소프트웨어 제품이 활성화되는 때에 소프트웨어 활성화 서비스(212)에 의해 설정되거나, 다르게는, 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정된다.
생성 일자 필드(304)는 디지털 라이센스(300)가 생성된 일자 (및 선택적으로 시각)을 식별하는 데이터를 저장한다. 생성 일자 필드(304)는 라이센스(300)가 생성될 때 소프트웨어 활성화 서비스(212)에 의해 설정되거나, 다르게는, 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정된다.
아이템 정보 필드(306)는 디지털 라이센스(300)를 설명하는 데이터를 저장한다. 이 데이터는, 예를 들어, 디지털 라이센스(300)의 크기, 디지털 라이센스(300)에 존재하는 필드의 표시 등과 같은 디지털 라이센스의 다양한 특징을 설명하는XML(extensible Markup Language) 문서일 수 있다. 아이템 정보 필드(306)는 라이센스(300)가 생성될 때 소프트웨어 활성화 서비스(212)에 의해 설정되거나, 다르게는, 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정된다.
디지털 라이센스 ID 필드(308)는 디지털 라이센스(300)의 식별자를 저장하여, 라이센스(300)가 다른 디지털 라이센스로부터 구별될 수 있도록 한다. 하나 이상의 실시형태에서, 라이센스(300)의 식별자는 로컬에서(locally) 고유한 식별자이고, 디지털 라이센스(300)가 작은 그룹(예를 들어, 글로벌(global)보다 더 작은 단위)에서 다른 디지털 라이센스로부터 구별될 수 있도록 한다. 디지털 라이센스 ID 필드(308)는 라이센스(300)가 생성될 때 소프트웨어 활성화 서비스(212)에 의해 설정되거나, 다르게는, 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정된다.
만료 일자 필드(310)는 디지털 라이센스(300)에 대한 만료 일자 (및 선택적으로 시간)를 식별하는 데이터를 저장한다. 만료 일자는 사용자가 소프트웨어 제품에 대해 갖는 권리(디지털 라이센스(300)에서 더 식별됨)가 제한된 기간을 갖는 시간 기반 라이센스에 대해 사용된다. 사용자가 소프트웨어 제품에 대해 갖는 권리의 기간은 만료 일자 필드(310)에서 식별된다. 만료 일자 필드(310)는 소프트웨어 활성화 서비스(212)에 의해 설정되거나, 다르게는 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정되며, 선택적으로는 라이센스 관리 서비스(204) 및/또는 소프트웨어 보호 클라이언스 모듈(234)에 의해 후속적으로 업데이트될 수도 있다.
파일 필드(312)는 디지털 라이센스를 설명하는 데이터를 저장한다. 이 데이터는, 예를 들어, 상이한 장치에서 얼마나 많은 소프트웨어 제품의 사본이 동시에 실행될 수 있는지에 대한 표시, 인에이블된 소프트웨어 제품의 특정한 특징의 표시 등과 같은 디지털 라이센스로 사용자에게 주어진 상술한 권리의 세트를 포함한다. 이 데이터는 제품 키 (및 그에 따른 디지털 라이센스)와 연관된 소프트웨어 제품을 장치에게 배포하는 OEM(original equipment manufacturer)의 표시, 제품 키 (및 그에 따른 디지털 라이센스)와 연관된 소프트웨어 제품의 소매상의 표시 등과 같은 다른 정보도 포함할 수 있다. 파일 필드(312)는 소프트웨어 활성화 서비스(212) 또는 다르게는 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정되고, 선택적으로 라이센스 관리 서비스(204) 및/또는 소프트웨어 보호 클라이언트 모듈(234)에 의해 후속하여 업데이트될 수 있다.
데이터베이스 내 존재 플래그 필드(314)는 라이센스(300)가 라이센스 저장소(224)에 저장되어있는지 여부를 나타내는 플래그이다. 데이터베이스 내 존재 플래그 필드(314)는, 라이센스(300)가 라이센스 저장소(224)에 저장되어 있음을 나타내기 위해 라이센스 관리 서비스(204)에 의해 제 1 값(예를 들어 “1”)으로 설정되고, 라이센스(300)가 라이센스 저장소(224)에 저장되어 있지 않음을 나타내기 위해 서비스(204)에 의해 제 2 값(예를 들어 “0”)으로 클리어 또는 설정된다.
라이센스 설명 필드(316)는 라이센스(300)를 설명하는 데이터를 저장한다. 이 데이터는, 예를 들어, 파일 필드(312)에 식별된 권리의 일반적인 설명, 라이센스(300)를 소유하는 개인 또는 엔티티의 이름이나 기타 식별자 등일 수 있다. 라이센스 설명 필드(316)는 라이센스(300)가 생성될 때 소프트웨어 활성화 서비스(212)에 의해, 또는 다르게는, 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정되고, 선택적으로, 라이센스 관리 서비스(204) 및/또는 소프트웨어 보호 클라이언트 모듈(234)에 의해 후속하여 업데이트될 수 있다.
글로벌 소프트웨어 라이센스 ID 필드(318)는 라이센스(300)를 식별하는 데이터를 저장하여, 라이센스(300)가 다른 디지털 라이센스와 구별될 수 있도록 한다. 하나 이상의 실시형태에서, 라이센스(300)를 식별하는 데이터는 글로벌(globally) 고유 ID(GUID)일 수 있다. 글로벌 디지털 라이센스 ID 필드(318)는 글로벌 스케일로 다른 디지털 라이센스로부터 라이센스(300)를 구별하는 반면, 디지털 라이센스 ID 필드(308)는 라이센스(300)가 더 작은 스케일에서 다른 디지털 라이센스로부터 구별될 수 있도록 한다. 글로벌 디지털 라이센스 ID 필드(318)는 라이센스(300)가 생성되는 때에 소프트웨어 활성화 서비스(212)에 의해 설정되거나, 또는, 다르게는, 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정된다.
사용자 ID 필드(320)는 디지털 라이센스(300)가 생성되는 때에 장치(202)의 현재 사용자의 식별자이다. 후술하는 바와 같이, 필드(320)에서 유지되는 사용자 ID는 디지털 라이센스(300)가 특정 사용자에 연결될 수 있도록 한다. 사용자 ID 필드(320)는, 예를 들어, 상술한 사용자 ID 인증 서비스(214)로부터 수신된 크리덴셜 또는 그들 크리덴셜로부터의 사용자 ID자체를 포함할 수 있다. 사용자 ID 필드(320)는 디지털 라이센스(300)가 특정 사용자에 연결되는 때에 라이센스 관리 서비스(204) 또는 라이센스 클라이언트 모듈(232)에 의해 설정된다. 후술하는 바와 같이, 디지털 라이센스(300)가 연결되는 사용자 ID도 후속적으로 서비스(204) 및/또는 클라이언트 모듈(232)에 의해 변경될 수도 있다.
수정 일자 필드(322)는 디지털 라이센스(300)가 최근에 수정된 일자(및 선택적으로 시각)를 식별하는 데이터를 저장한다. 수정 일자 필드(322)는 라이센스(300)가 수정될 때 라이센스 관리 서비스(212) 및/또는 라이센스 클라이언트 모듈(232)에 의해 설정된다.
친근한 제품 이름(product friendly name) 필드(324)는 디지털 라이센스(300)와 연관된 소프트웨어 제품의 사용자 친화 이름을 식별하는 데이터를 저장한다. 친근한 제품 이름 필드(324)는 라이센스(300)가 생성될 때 소프트웨어 활성화 서비스(212)에 의해 설정되고, 또는 다르게는, 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정된다. 선택적으로, 친근한 제품 이름 필드(324)는, 친근한 제품 이름을 변경하라는 사용자 요청에 응답하는 등으로, 라이센스 관리 서비스(204) 및/또는 라이센스 클라이언트 모듈(232)에 의해 후속하여 변경될 수도 있다.
제품 ID 필드(326)는 디지털 라이센스(300)와 연관된 소프트웨어 제품의 식별자이다. 하나 이상의 실시형태에서, 라이센스(300)와 연관된 소프트웨어 제품을 식별하는 데이터는 GUID일 수 있다. 제품 ID 필드(326)는 라이센스(300)가 생성될 때 소프트웨어 활성화 서비스(212)에 의해 설정되거나, 다르게는, 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정된다.
제품 키 필드(328)는 소프트웨어 보호 클라이언트 모듈(232)로부터 수신되며, 소프트웨어 활성화 서비스(212)에 의해 활성화되는 소프트웨어 제품의 제품 키이다. 제품 키는 제품이 활성화되는 때에 소프트웨어 활성화 서비스(212)에 의해 라이센스에 포함되고, 또는 다르게는 다른 컴포넌트 또는 모듈(예를 들어, 라이센스 클라이언트 모듈(232))에 의해 포함될 수 있다.
제품 목록 ID 필드(330)는 소프트웨어 제품의 식별자의 목록이다. 선택적으로 라이센스(300)는 다수의 상이한 소프트웨어 제품과 연관될 수 있고, 그들 다수의 상이한 제품의 목록이 제품 목록 ID 필드(330)에 포함된다. 하나 이상의 실시형태에서, 라이센스(300)과 연관된 소프트웨어 제품의 각각을 식별하는 데이터는 GUID일 수 있다. 제품 목록 ID 필드(330)는 라이센스가 생성될 때 소프트웨어 활성화 서비스(212)에 의해 설정되거나, 또는, 다르게는, 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정된다.
제품 이름 필드(332)는 디지털 라이센스(300)와 연관된 소프트웨어 제품의 공식(official) 이름을 식별하는 데이터를 저장한다. 제품 이름 필드(332)는 라이센스(300)가 생성되는 때에 소프트웨어 활성화 서비스(212)에 의해 설정되고, 또는 다르게는, 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정된다.
구매 일자 필드(334)는 라이센스(300)와 연관된 소프트웨어 제품이 구매된 일자(및 선택적으로 시각)을 식별하는 데이터를 저장한다. 소프트웨어 제품이 구매된 일자를 소프트웨어 구매 서비스(216)로부터 수신되거나, 장치(202)의 사용자에 의해 입력되는 등 다른 방식으로 식별할 수 있다. 구매 일자 필드(304)는 라이센스(300)가 생성되는 때에 소프트웨어 활성화 서비스(212)에 의해 설정되거나, 또는 다르게는, 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정된다.
EULA (End User License Agreement) 링크 필드(336)는 라이센스(300)에 대한 최종 사용자 라이센스 계약으로의 링크이다. 최종 사용자 라이센스 계약은, 일반적으로 라이센스(300)가 사용자에게 주는 소프트웨어 제품으로의 권리의 사용자에 의해 쉽게 판독가능하도록 기록되는 설명이다. 이는 사용자가 그 또는 그녀가 라이센스(300)로 갖는 권리를 검토하고 알 수 있도록 한다. EULA 링크 필드(336)는 라이센스(300)가 생성될 때 소프트웨어 활성화 서비스(212)에 의해 설정되거나, 또는 다르게는, 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해 설정된다.
라이센스 관리 서비스(204)가 라이센스 저장소(224)에 라이센스(300)를 추가하려고 시도한 후에 업데이트 메시지 필드(338)는 성공 또는 실패를 나타내는 데이터를 저장한다. 라이센스(300)가 라이센스 저장소(224)에 성공적으로 추가하는 경우, 성공을 나타내는 메시지는 서비스(204)에 의해 업데이트 메시지 필드(338)에 저장된다. 라이센스(300)가 라이센스 저장소(224)에 성공적으로 추가되지 않는 경우, 에러를 나타내는 메시지 (그리고 선택적으로 에러가 무엇인지에 대한 설명)은 서비스(204)에 의해 업데이트 메시지 필드(338)에 저장된다.
추가 페이로드 필드(340)는 라이센스(300)에 선택적으로 포함될 수 있고 상술한 필드(302-338)에 저장되지 않은 라이센스(300)에 대한 추가적인 속성을 저장하는데 사용될 수 있는 추가 부분이다. 이들 추가적인 속성은, 라이센스(300)가 생성될 때 소프트웨어 활성화 서비스(212)에 의해, 라이센스(300)를 생성하는 다른 컴포넌트 또는 모듈에 의해, 라이센스 관리 서비스(204)에 의해, 라이센스 클라이언트 모듈(232)에 의해 등, 다양한 서비스 또는 모듈 중 하나 이상에 의해 식별되고 라이센스(300)에 저장될 수 있다.
도 2로 돌아가면, 제품이 제품 키를 이용하여 활성화되는 때에, 소프트웨어 보호 클라이언트 모듈(234)은 연관 소프트웨어 제품에 대한 디지털 라이센스를 수신한다. 상술한 바와 같이, 활성화된 제품에 대한 제품 키가 디지털 라이센스에 포함된다. 소프트웨어 제품의 활성화는 그 사용자 ID에 대한 그 소프트웨어 제품의 활성화라고 지칭될 수도 있다. 소프트웨어 보호 클라이언트 모듈(234)은 선택적으로 로컬 상점(236)에 디지털 라이센스를 저장할 수 있다.
소프트웨어 보호 클라이언트 모듈(234)은 라이센스 클라이언트 모듈(232)과도 통신하여, 모듈(232)에게 라이센스 관리 서비스(204)에 디지털 라이센스를 송신하도록 요청한다. 요청에 응답하여, 라이센스 클라이언트 모듈(232)은 디지털 라이센스 및 라이센스 관리 서비스(204)에 장치(202)의 현재 사용자의 사용자 크리덴셜을 전달한다. 이들 사용자 크리덴셜은 상술한 사용자 ID 인증 서비스(214)로부터 획득된 크리덴셜이다. 사용자가 온라인 서비스에 이미 로그인되지 않았으면, 라이센스 클라이언트 모듈(232)이 사용자에게 온라인 서비스에 로그인하도록 촉구(prompt)한다. 라이센스 클라이언트 모듈(232)과 라이센스 관리 서비스(204) 사이의 통신은 통상 암호화를 이용하는 등 보안 방식으로 수행된다.
라이센스 관리 서비스(204)는 라이센스 클라이언트 모듈(232)로부터 디지털 라이센스를 수신하고 라이센스 저장소(224)에 수신된 디지털 라이센스를 저장한다. 라이센스 저장소(224)는, 자기 디스크, 광 디스크, RAM, 플래시 메모리 등과 같이 다양한 상이한 저장 매체 중 하나 이상을 이용하여 구현될 수 있다. 라이센스 저장소(224)는 구현 서비스(204)와 동일한 장치 또는 장치들에서 구현될 수 있고, 또는, 다르게는, 서비스(204) 및 저장소(224)는 상이한 장치에 구현될 수 있다.
라이센스 클라이언트 모듈(232)로부터 수신된 디지털 라이센스는 장치(202)의 현재 사용자의 사용자 ID에 연결된다. 이 연결은 예를 들어, 상술한 사용자 ID 인증 서비스(214)로부터 수신된 크리덴셜 또는 그들 크리덴셜로부터의 사용자 ID 자체로 디지털 라이센스를 연결하는 것일 수 있다. 이 연결은 디지털 라이센스를 사용자 ID와 연관시키고, 다양한 방식으로 수행될 수 있다. 하나 이상의 실시형태에서, 디지털 라이센스 자체는 상술한 사용자 ID를 포함한다. 사용자 ID는 예를 들어 라이센스 클라이언트 모듈(232) 또는 라이센스 관리 서비스(204)에 의해 디지털 라이센스에 추가될 수 있다. 디지털 라이센스 내 이 사용자 ID는 디지털 라이센스가 연결되는 사용자 ID이다. 다른 실시형태에서. 연결은 다른 방식으로 수행될 수 있다. 예를 들어, 라이센스 관리 서비스(204)는 특정 사용자 ID에 연결된 특정 디지털 라이센스를 식별하는 표 또는 기타 기록을 유지할 수 있다. 다른 예로서, 상이한 폴더 또는 위치가 특정 사용자 ID 및, 특정 사용자 ID와 연관된 폴더 또는 위치에 저장된 특정 사용자 ID에 연결하는 디지털 라이센스와 연관될 수 있다.
추가적으로, 하나 이상의 실시형태에서, 라이센스 관리 서비스(204)는 디지털 라이센스와 사용자 ID를 연관시키는 표 또는 기타 기록을 유지한다. 별도의 표 또는 기록이 각각의 소프트웨어 제품에 대해 유지될 수 있거나, 또는, 다르게는, 표 또는 기록이 소프트웨어 제품과 사용자 ID 및 디지털 라이센스와 연관시키는 정보를 포함할 수도 있다. 이러한 표 또는 기록을 유지하는 것은 라이센스 관리 서비스(204)는 디지털 라이센스가 요청되는 때에 특정 사용자 ID에 연결된 소프트웨어 제품에 대해 디지털 라이센스를 더 빨리 식별할 수 있도록 한다.
장치(202)의 현재 사용자가 사용자 ID를 아직 갖지 않는 상황이 발생할 수도 있음을 유의하여야 한다. 이러한 상황에서, 현재 사용자에 대한 사용자 ID가 현재 사용자의 사용자 ID에 디지털 라이센스를 연결시키는 프로세스의 일부로서 생성될 수 있다. 사용자 ID 인증 서비스(214)는, 예를 들어, 사용자 ID를 생성하는 것을 돕기 위해 (예를 들어, 라이센스 클라이언트 모듈(232) 또는 라이센스 관리 서비스(204))에 의해) 유발될 수 있다.
장치(202)의 사용자가, 또는 다르게는, 다른 컴포넌트 또는 모듈이 소프트웨어 제품을 실행하라고 요청하는 때에, 소프트웨어 보호 클라이언트 모듈(234)은 그 소프트웨어 제품에 대한 디지털 라이센스가 사용가능한지 여부를 체크한다. 모듈(234)은 로컬 저장소(236) 및/또는 라이센스 클라이언트 모듈(232)과 통신함으로써 이 확인을 수행한다.
모듈(234)은 서비스(204)로부터의 디지털 라이센스의 사본을 획득하도록 모듈(232)에 요청한다. 모듈(232)은, 라이센스 관리 서비스(204)로의 실행 요청이 수신되는 소프트웨어 제품과 연관된 디지털 라이센스의 사본에 대한 요청을 전송한다. 모듈(232)은 장치(202)의 현재 사용자의 사용자 크리덴셜도 전송한다. 이들 사용자 크리덴셜은 상술한 사용자 ID 인증 서비스(214)로부터 획득된 크리덴셜이다. 사용자가 온라인 서비스에 이미 로그인되어 있으면, 라이센스 클라이언트 모듈(232)은 온라인 서비스에 사용자가 로그인하도록 촉구한다.
디지털 라이센스에 대한 요청에 응답하여, 라이센스 관리 서비스(204)는, 사용자 크리덴셜에 의해 식별되는 사용자가 요청된 소프트웨어 제품에 대한 디지털 라이센스를 갖는지 여부를 판정한다. 이 판정은, 예를 들어, 수신된 사용자 크리덴셜에서 사용자 ID와 매칭되는(예를 들어, 동일한) 사용자 ID 및 요청된 소프트웨어 제품(모듈(232)로부터 요청을 수신된)의 제품 ID에 매칭되는(예를 들어, 동일한) 제품 ID 모두와 디지털 라이센스에 대한 디지털 라이센스의 다른 기록 또는 라이센스 저장소(224)를 확인함으로써 수행될 수 있다.
추가적으로, 사용자 크리덴셜에 의해 식별되는 사용자가 요청된 제품에 대한 디지털 라이센스를 갖는다면, 라이센스 관리 서비스(204)는 디지털 라이센스의 조항에 따라 라이센스 클라이언트 모듈(232)로 디지털 라이센스를 반환할 수 있는지 여부를 결정한다. 예를 들어, 서비스(204)는 현재 일자(및/또는 시각)가 디지털 라이센스의 만료 일자를 지나지 않았음을 검증하기 위해 확인한다. 다른 예로서, 서비스(204)는 또한 장치(202)에서 발행중인(outstanding) 디지털 라이센스의 사본의 수가 문턱 수(예를 들어, 디지털 라이센스의 조항 중 하나로서 포함된 문턱 수)를 넘지 않음을 검증하기 위해 확인한다.
사용자 크리덴셜에 의해 식별된 사용자가 요청된 소프트웨어 제품에 대한 디지털 라이센으를 갖고 디지털 라이센스가 디지털 라이센스의 조항에 따라 라이센스 클라이언트 모듈(232)로 반환될 수 있으면, 서비스(204)는 모듈(232)로 그 디지털 라이센스를 반환한다. 이 디지털 라이센스는, 예를 들어, 로컬 저장소(236)에 모듈(232)에 의해 저장될 수 있다. 다르게는, 디지털 라이센스는 모듈(232)로 반환되지 않을 수 있다. 오히려, 사용자가 요청된 소프트웨어 제품에 대한 디지털 라이센스를 갖는다는 표시가 모듈(232)에게 명시적으로 또는 본질적으로 반환될 수 있다(예를 들어, 사용자가 디지털 라이센스를 가짐을 나태는 메시지가 전송될 수 있거나, 사용자가 디지털 라이센스를 가지면 소프트웨어 제품의 이미지가 장치(202)로 스트리밍될 수 있는 등). 그러나, 사용자 크리덴셜에 의해 식별되는 사용자가 요청된 소프트웨어 제품에 대해 디지털 라이센스를 갖지 않거나 디지털 라이센스가 디지털 라이센스의 조항에 따라 클라이언트 모듈(232)로 반환될 수 없으면, 실패 표시가 모듈(232)로 반환되고 요청된 소프트웨어 제품에 대한 디지털 라이센스가 모듈(232)로 반환되지 않는다.
추가적으로, 라이센스 관리 서비스(204)는 이 사용자 ID와 연결된 디지털 라이센스의 얼마나 많은 사본이 라이센스 클라이언트 모듈(232)로 반환되었는지에 대한 기록 또는 카운트를 유지한다. 이 카운트는 라이센스 관리 서비스(204)가 라이센스 클라이언트 모듈(232)로 디지털 라이센스를 반환할 때마다 증가하고, 라이센스 클라이언트 모듈이 디지털 라이센스를 설치해제(uninstall)하거나 삭제할 때마다 감소한다. 이 카운트 또는 기록을 유지하는 것은 라이센스 관리 서비스(204)가 장치(202)에서 발행 중인 디지털 라이센스의 사본의 수가 문턱 수를 초과하는지 여부를 용이하게 식별할 수 있도록 한다.
하나 이상의 실시형태에서, 모듈(234)은 디지털 라이센스가 사용가능하지 여부를 판정하기 위해 로컬 저장소(236)를 확인한다. 이 확인은 모듈(232)이 디지털 라이센스에 대해 서비스(204)를 확인하기 전 또는 후(또는 그 동안)에 수행될 수 있다. 추가적으로, 서비스(204)로의 액세스가 사용가능하지 않은 상황이 발생한다. 이러한 상황에서, 로컬 저장소(236)에 저장된 디지털 라이센스는 적어도 일시적으로 소프트웨어 제품을 실행하는데 사용될 수 있다. 로컬 저장소(236)로부터의 디지털 라이센스의 길이(예를 들어, 일 수, 액세스의 수 등)는 모듈(232)의 설정 또는 구성, 디지털 라이센스 내에 포함된 권리로부터 등과 같은 상이한 방식으로 식별될 수 있다. 이 기간 후에, 모듈(234)은 로컬 저장소(236)로부터의 디지털 라이센스가 소프트웨어 제품을 실행하는데 사용될 수 있도록 하지 않는다.
로컬 저장소(236) 내의 디지털 라이센스의 길이는 디지털 라이센스 내 권리에 반영되는 비지니스 로직 또는 비지니스 지식(intelligence)에 기초하여 달라질 수 있다. 하나 이상의 실시형태에서, 로컬 저장소(236) 내의 디지털 라이센스의 길이는 소프트웨어에 연결된 사용자 ID를 갖는 사용자가 장치(202)를 사용하고 있는 기간이다. 사용자가 장치(202)의 사용을 중지하는 시기는, 사용자가 장치(202)의 전원을 끄거나 로그아웃하라는 요청을 하는 때, 사용자가 온라인 서비스의 로그 아웃을 요청하는 때(이를 위해 사용자가 사용자 ID 인증 서비스(214)로부터 크리덴셜을 획득), 사용자가 장치(202)로부터 디지털 라이센스를 설치해제 또는 삭제하라고 요청하는 때 등과 같이 상이한 방식으로 검출될 수 있다. 디지털 라이센스는 사용자가 장치(202)의 사용을 중단하는 때에 장치(202)로부터 삭제, 설치해제 또는 기타 제거될 수 있다. 다르게는, 디지털 라이센스는 로컬 저장소(236)로부터의 디지털 라이센스의 길이가 사용자가 장치(202)의 사용을 중단하는 때에 설정되도록 함으로써 본질적으로 무효화될 수 있다.
디지털 라이센스의 기간이 사용자가 장치(202)를 사용하는 시간과 연관되게 하는 것은, 다수의 장치가 어디에 위치하는지와 상관없이 사용자가 그 또는 그녀의 사용자 ID에 연결된 디지털 장치에 기초하여 그들 다수의 장치에서 소프트웨어 제품을 사용할 수 있게 한다. 예를 들어, 그들 장치는 그 또는 그녀의 집이나 사무실에 있는 사용자 자신의 장치일 수 있고, 친구 집의 장치, 도서관 또는 인터넷 카페의 장치 등과 같은 사용자의 장치 외의 것일 수도 있다.
실행하도록 요청된 소프트웨어 제품에 대해 디지털 라이센스가 사용가능하지 않으면, 소프트웨어 보호 클라이언트 모듈(234)은 소프트웨어 제품이 실행되도록 허용하지 않는다. 그러나, 디지털 라이센스가 사용가능하면, 모듈(234)은 디지털 라이센스에서 표시된 권리 및/또는 조항에 따라 소프트웨어 제품이 실행될 수 있도록 한다. 모듈(234)은 디지털 라이센스에서 표시된 조항 및/또는 권리를 행사(enforcing)하는데 책임이 있다.
하나 이상의 실시형태에서, 소프트웨어 제품에 대한 디지털 라이센스의 소유자의 식별자는 소프트웨어 제품이 실행되는 동안 표시되거나 달리 제시된다. 이 식별자는 디지털 라이센스로부터 획득될 수 있다. 예를 들어, 소유자의 이름이 소프트웨어 제품이 실행되는 동안 표시될 수 있어서, 사용자 및 장치의 디스플레이를 보고 있는 다른 누군가가 소프트웨어 제품이 누구에게 라이센스된 것인지를 볼 수 있게 한다. 이러한 표시는, 예를 들어, 불법복제를 방지하는데 도움이 될 수 있는데, 이는 사용자가 그들에게 라이센스되지 않은 소프트웨어 제품을 실행하고 있다면 디스플레이를 보는 다른 사람이 실행되고 있는 소프트웨어 제품을 사용자가 구매하지 않았음을 알 수 있을 것이라는 점을 사용자가 알 것이기 때문이다.
추가적으로, 소프트웨어 제품은 다양한 방식으로 실행될 수 있음을 유의하여야 한다. 하나 이상의 실시형태에서, 소프트웨어 제품은 장치(202) 상에 설치되고 소프트웨어 제품에 대한 디지털 라이센스가 사용가능하면 실행된다. 다른 실시형태에서, 소프트웨어 제품의 이미지는 하나 이상의 원격 서비스에 저장될 수 있고, 그들 이미지는 장치(202)로 스트리밍되고 소프트웨어 제품에 대한 디지털 라이센스가 사용가능하면 실행될 수 있다. 이러한 실시형태에서, 소프트웨어 제품은 필요에 따라(as-needed basis) 획득될 수 있다.
라이센스 관리 서비스(204)는 특정 디지털 라이센스에 대응하는 추가 정보를 얻기 위해 하나 이상의 다른 서비스와 통신할 수도 있다. 그러한 서비스의 예는 관계 서비스(218), 제품 검증 서비스(220) 및 제품 등록 서비스(222)를 포함한다.
관계 서비스(218)는 제품 키와 연관된 다양한 엔티티 또는 측(party)을 디지털 라이센스로 관련시키는 기록을 유지한다. 이들 상이한 측은, 예를 들어, 소프트웨어 제품의 배포자(distributor), 소프트웨어 제품의 소매상, 소프트웨어 제품의 제조자 등을 포함할 수 있다. 라이센스 관리 서비스(204)는 서비스(218)로부터 이들 연관을 얻고 라이센스 저장소(224)에 디지털 라이센스와 함께 이들을 유지할 수 있다. 이들 연관의 식별은 라이센스 저장소(224) 내 디지털 라이센스에 포함될 수 있고, 또는, 다르게는, 이들 연관의 별개의 기록이 유지될 수 있다.
예로서, 특정 제품 키는 소프트웨어 제품의 특정 제조자에 의해 생성될 수 있고, OEM(original equipment manufacturer)에 주어질 수 있는데, OEM은 다시 소프트웨어 제품과 함께 장치를 소매상에게 배포한다. 이 제품 키와 이 제조자, 이 OEM 및 이 소매상의 연관은 관계 서비스(218)에 의해 유지될 수 있다. 관계 서비스(218)는, 제조자, OEM 및/또는 소매상에 의하는 등으로 다양한 방식으로 이 연관을 통지받을 수 있다. 이 제품 키를 갖는 디지털 라이센스가 라이센스 관리 서비스(204)에 의해 수신되는 때에, 서비스(204)는 제조자, OEM 및 소매상의 정체(identity)를 관계 서비스(218)로부터 획득할 수 있고 라이센스 저장소(224)에서 이들 정체를 수신된 디지털 라이센스와 연관된 것으로 유지할 수 있다.
제품 검증 서비스(220)는 각각의 디지털 라이센스의 이력의 그 디지털 라이센스에 대한 기록을 그 디지털 라이센스와 연관된 제품 키에 기초하여 유지한다. 이 이력은, 예를 들어, 디지털 라이센스에 대한 제품 키가 소프트웨어 제품을 활성화하는데 사용된 일자 및/또는 시간, 디지털 라이센스가 폐지(revoke)되었는지 여부 및 그 시기, 디지털 라이센스가 다시 인에이블(re-enable)되었는지 여부 및 그 시기 등을 포함할 수 있다. 이 이력은 또한 제품 키가 폐지 및 재활성화 되었는지 여부, 제품 키가 폐지 및 재활성화된 시기 등의 표시도 포함할 수 있다. 제품 검증 서비스(220)는 라이센스 관리 서비스(204), 소프트웨어 활성화 서비스(212) 등과 같은 다른 서비스로부터 이 이력을 획득한다. 라이센스 관리 서비스(204)는 제품 검증 서비스(220)로부터 이 이력을 획득하고 라이센스 저장소(224)에 디지털 라이센스와 함께 이력을 유지할 수 있다. 이들 이력은 라이센스 저장소(224) 내 디지털 라이센스에 포함될 수 있고, 또는, 다르게는, 이들 이력의 별도의 기록이 유지될 수 있다.
제품 등록 서비스(222)는 디지털 라이센스와 연관된 제품 키에 기초하여 디지털 라이센스에 대한 제품 등록 정보의 각 디지털 라이센스에 대한 기록을 유지한다. 이 제품 등록 정보는 사용자가 연관 소프트웨어 제품을 등록할 때 장치(202)의 사용자로부터 수집된 다양한 정보를 포함할 수 있다. 예를 들어, 이 정보는 사용자의 연령, 사용자가 살거나 일하는 지리적 위치, 사용자의 취미 및/또는 관심사 및/또는 사용자가 알려주도록(divulge) 선택한 여하한 기타 정보를 포함할 수 있다. 라이센스 관리 서비스(204)는 이 제품 등록 정보를 제품 등록 서비스(222)로부터 획득할 수 있고 라이센스 저장소(224)에 디지털 라이센스와 함께 제품 등록 정보를 유지할 수 있다. 이 제품 등록 정보는 라이센스 저장소(224) 내 디지털 라이센스에 포함될 수 있고, 또는, 다르게는, 이 제품 등록 정보의 별도 기록이 유지될 수 있다.
하나 이상의 실시형태에서, 사용자의 사용자 ID는, 사용자의 동의를 얻은 후에만 디지털 라이센스로 연결된다. 이 사용자 동의는 사전 동의(opt-in consent)일 수 있고, 이 경우 사용자는 사용자 ID가 디지털 라이센스로 연결되도록 요청하는 적극적 행동을 취한다. 다르게는, 이 사용자 동의는 사후 동의(opt-out consent)일 수 있고, 이 경우 사용자는 사용자 ID가 디지털 라이센스에 연결되지 않도록 요청하는 적극적 행동을 취한다. 사용자가 이 연결을 배제(opt-out)하도록 선택하지 않으면, 이는 연결을 수행하라는 사용자에 의한 묵시적 동의이다.
또한, 사용자 ID의 디지털 라이센스로의 연결은 라이센스 관리 서비스(204)가 상이한 사용자들을 구별하도록 허용할 수 있지만 특정 사용자를 식별하는 여하한 개인 정보를 포함할 필요는 없음을 유의하여야 한다. 예를 들어, 사용자는 사용자 ID 인증 서비스(214)를 통해 특정 사용자 ID로 온라인 서비스에 로그인할 수 있지만, 그 사용자 ID와 실제 개인 사이에는 연관이 유지될 필요가 없다. 따라서, 디지털 라이센스는 그 사용자 ID에 연결될 수 있는 한편, 동시에 서비스(204)는 그 사용자가 실제로 누구인지에 대한 지식을 갖지 않는다.
도 4는 하나 이상의 실시형태에 따라 사용자가 그 또는 그녀의 사용자 ID가 디지털 라이센스에 연결될 것인지 여부를 선택할 수 있도록 사용자에게 표시될 수 있는 예시적인 제품 활성화 윈도우(400)를 도시한다. 예시적인 윈도우(400)는 사용자가 그 또는 그녀의 소프트웨어 제품을 활성화하고 있는 때에 표시된다. 상이한 사용자 인터페이스가 대안적으로 표시될 수 있고, 사용자 인터페이스는 대안적으로 다른 시기에 표시될 수 있음을 인식할 것이다. 예를 들어, 사용자가 디지털 라이센스로의 그 또는 그녀의 사용자 ID의 연결을 선택(opt-in) 또는 배제(opt-out)할 수 있도록 하는 사용자 인터페이스는, 다른 사용자 ID로의 연결 변경 사용자 요청에 응답하거나, 도 2의 라이센스 관리 서비스(204)에 디지털 라이센스를 추가하는 사용자 요청에 응답하는 등으로 표시될 수 있다. 추가적으로, 도 4의 예에서, 제품 키는 특정 포맷(다섯 개의 5-캐릭터 문자열, 5x5 키라고도 지칭됨)을 가진다. 제품 키에 대한 이 특정한 포맷은 예이고, 제품 키는 상술한 다른 형태를 취할 수 있음을 인식할 것이다.
제품 활성화 윈도우(400)는 소프트웨어 제품을 활성화하고 소프트웨어 제품에 대한 제품 키를 등록하는 방법을 설명하는 설명(402)을 포함한다. 설명(402)은 제품 키가 어떠한지의 예를 또한 포함한다. 제품 키를 찾는 방법의 더 상세한 설명으로의 링크(404)도 표시된다. 사용자에게 사용자 ID가 이 소프트웨어 제품에 대한 라이센스에 연관되는(예를 들어, 연결되는) 이유를 설명하는 설명(406)도 표시된다. 활성화가 무엇인지에 대한 더 상세한 설명으로의 링크(408) 및 프라이버시 선언(statement)로의 링크(410) 양자 모두도 표시된다. 사용자가 링크(410)를 선택하면, 프라이버시 선언이 표시되어 사용자의 정보가 어떻게 보안으로 유지되는지를 사용자에게 설명한다.
윈도우(400)에 텍스트 입력 필드(412)도 표시되는데, 여기에 사용자가 소프트웨어 제품에 대한 제품 키를 입력할 수 있다. 추가적으로, 사용자는 사용자의 사용자 ID의 라이센스로의 연관 또는 연결을 선택하기 위해 체크 박스(414)를 선택할 수 있다. 사용자는 사용자의 사용자 ID의 라이센스로의 연관 또는 연결을 배제하기 위해 체크 박스(414)를 선택되지 않은 상태로 남겨둘 수도 있다. 제품 키가 입력되고 희망에 따라 체크 박스(414)가 선택되면, 사용자는 제품이 활성화되도록 “OK” 버튼(416)을 선택할 수 있다. 사용자는 제품 활성화 프로세스를 종료하기 위해 “Cancel” 버튼(418)을 선택할 수도 있다. 사용자가 체크 박스(414)를 선택하면, 소프트웨어 제품 활성화로부터 수신된 디지털 라이센스는 사용자의 사용자 ID와 연관된다. 사용자가 체크 박스(414)를 선택하지 않으면, 소프트웨어 제품 활성화로부터 수신된 디지털 라이센스는 장치에 저장되지만 사용자의 사용자 ID와 연관되지 않는다.
체크 박스 및 “OK”와 “Cancel” 버튼은 연결을 선택 또는 배제하기 위해 사용자에게 제시될 수 있는 사용자 인터페이스의 예에 불과하고, 다양한 다른 종래의 사용자 인터페이스 기술이 대안적으로 사용될 수 있음을 인식할 것이다. 또한 링크(408), 링크(410), 링크(404), 설명(402) 등과 같이 제품 활성화 윈도우(400)의 다양한 부분이 윈도우(400)로부터 제외될 수 있음을 인식할 것이다.
도 2로 돌아가면, 라이센스 관리 서비스(204)는 다양한 강화된 기능이 장치(202)의 사용자에게 사용가능하도록 할 수 있다. 이 기능의 예는 라이센스 저장소(224)에 새로운 디지털 라이센스를 추가하는 것, 장치(202)에 라이센스 저장소(224)로부터의 제품 키를 복구하는 것, 사용자 대신에 라이센스 저장소(224)에서 디지털 라이센스를 자동으로 갱신하는 것, 라이센스 저장소(224)로부터 디지털 라이센스를 삭제하는 것, 라이센스 저장소(224)로부터 디지털 라이센스에 관한 세부사항을 불러오는 것(예를 들어, 디지털 라이센스로부터의 또는 디지털 라이센스와 연관된 정보를 불러올 수 있다), 장치(202)로부터 제품 키를 설치해재하는 것(예를 들어, 다른 장치에서 사용될 수 있도록) 등을 포함한다.
또한, 라이센스 관리 서비스(204)는 한 사용자에서 다른 사용자로의 디지털 라이센스의 전달 기능이 장치(202)의 사용자에게 사용가능하게 할 수도 있다. 이는, 예를 들어, 사용자가 그 또는 그녀의 디지털 라이센스를 다른 사용자에게 선물하거나 팔 수 있도록 한다. 디지털 라이센스를 전달하기 위해, 사용자는 라이센스 관리 서비스(204)에 (예를 들어, 라이센스 클라이언트 모듈(232)을 통해) 디지털 라이센스를 전달하라는 요청을 제출한다. 서비스(204)는 그러면 전달된 디지털 라이센스의 수신자의 사용자 ID를 얻고 디지털 라이센스를 전달된 디지털 라이센스의 수신자의 사용자 ID에 연결된 것으로 저장한다. 서비스(204)는 다른 방식으로 사용자 ID를 얻을 수 있다. 하나 이상의 실시형태에서, 디지털 라이센스를 전달하라는 요청을 제출하는 사용자는 전달된 디지털 라이센스의 수신자의 사용자 ID도 제출한다. 다른 실시형태에서, 디지털 라이센스를 전달하라는 요청에 응답하여 서비스(204)는 소프트웨어 활성화 서비스(212)에 디지털 라이센스의 제품 키와 연관된 소프트웨어 제품이 비활성화되었음을 통지한다. 비활성화의 기록도 제품 검증 서비스(220)에 저장될 수 있다. 따라서, 전달된 디지털 라이센스의 수신자는 그 또는 그녀의 장치에 제품 키를 입력하고 상술한 바와 같이 제품 키를 이용하여 소프트웨어 제품이 활성화되도록 할 수 있다.
하나 이상의 실시형태에서, 라이센스 관리 서비스(204)는 또한 사용자가 그 또는 그녀의 사용자 ID와 연관된 디지털 라이센스를 관리할 수 있도록 한다. 활성화 이력, 사용자가 제공한 등록 정보, 만료 일자 등과 같은 디지털 라이센스에 대한 다양한 정보가 사용자에게 제공될 수 있다. 또한, 사용자가 서비스(240)에게 디지털 라이센스를 자동으로 갱신하도록 요청할 수 있도록 하거나, 라이센스를 설명하는 사용자 친화적 이름을 사용자가 입력할 수 있게 하는 등, 디지털 라이센스에 대한 다양한 정보는 사용자에 의해 수정될 수 있다.
라이센스 관리 서비스(204)는 라이센스 저장소(224) 내 디지털 라이센스를 모니터링하고 디지털 라이센스의 조항에 따르지 않음을 서비스(204)가 식별한 경우, 디지털 라이센스를 폐지할 수도 있다. 디지털 라이센스의 폐지는, 디지털 라이센스에 디지털 라이센스가 폐지되었음을 나타내는 데이터를 저장하거나, 폐지된 디지털 라이센스의 별도 기록 또는 목록을 유지하거나, 라이센스 저장소(224)로부터 디지털 라이센스를 제거하는 등 다양한 방식으로 수행될 수 있다. 라이센스 관리 서비스(204)는 다양한 방식으로 그리고 다양한 비지니스 로직 또는 비지니스 지식에 의존하여 디지털 라이센스의 규정에 대한 불복(noncompliance)을 결정할 수 있다. 예를 들어, 디지털 라이센스는 만료 일자를 포함할 수 있고 서비스(204)는 이 만료 일자가 경과할 때 디지털 라이센스의 조항에 대한 불복을 판정할 수 있다. 다른 예로서, 디지털 라이센스는 어떠한 시간에 장치에서 발행 중일 수 있는 라이센스의 사본의 수의 표시를 포함할 수 있다. 이 사본의 수가 문턱 수를 초과하면, 서비스(204)는 디지털 라이센스의 조항에 대한 불복을 판정할 수 (예를 들어, 또한 디지털 라이센스가 연결된 사용자 ID가 침해(compromised)되었다고 가정할 수) 있다.
또한, 하나 이상의 실시형태에서, 장치(202)의 사용자는 장치(202)의 사용자는 디지털 라이센스가 장치(202)로부터 설치해제되거나 제거될 것을 요청할 수 있다. 이 요청은, 디지털 라이센스가 장치(202)로부터 설치해제 또는 제거될 것을 나타내는 표시된 링크나 메뉴 아이템을 선택하는 것과 같이 명시적인 요청일 수 있다. 이 요청은 (예를 들어, 사용자 ID 인증 서비스(214))를 통한) 온라인 서비스로부터의 사용자 로그아웃에 내재된 것(inherent)과 같이 암시적인 요청일 수도 있다. 이러한 요청에 응답하여, 라이센스 클라이언트 모듈(232)은 로컬 저장소(236)에 저장된 사용자 ID에 연결된 여하한 디지털 라이센스를 삭제하거나 달리 무효화한다. 또한, 모듈(232)은 라이센스 관리 서비스(204)에게 설치해제 요청을 전송하여 서비스(204)에게 라이센스가 장치(202)로부터 설치해제되었음을 통지한다. 이는 서비스(204)가 발행 중인 디지털 라이센스의 사본의 수의 카운트 또는 기록을 업데이트할 수 있도록 한다.
디지털 라이센스를 관리하고 디지털 라이센스에 관한 다양한 기능을 사용자에게 사용가능하게 하는 것에 추가하여, 라이센스 관리 서비스(204)는 추가 제품 또는 서비스에 대한 다양한 제안(offer)이 표시되거나 달리 사용자에게 제시될 수 있도록 한다. 자주, 사용자는 사용가능한 추가 또는 업그레이드 제품 뿐만 아니라 추가 또는 업그레이드 제품을 제공받는 서비스에 대해 알지 못한다. 사용자가 (직접 또는 라이센스 클라이언트 모듈(234)을 통해) 서비스(204)에 액세스하는 때에, 서비스(204)는 사용자의 사용자 ID에 연결된 디지털 라이센스를 인식한다. 서비스(204)는 소프트웨어 제품 또는 서비스의 목록 또는 다른 기록을 액세스하고, 사용자의 사용자 ID에 연결된 디지털 라이센스에 기초하여, 사용자에게 사용가능한 하나 이상의 추가 또는 업그레이드 제품을 식별할 수 있다. 이들 다양한 제품과 제품을 구매하는 옵션이 사용자에게 제시될 수 있다.
예를 들어, 특정 사용자에 대한 사용자 ID가 사용자의 장치 상의 운영 체제에 대한 디지털 라이센스에 연결된다고 가정하자. 사용자가 장치 상에서 운영 체제를 재설치하거나 운영 체제와 연관된 디지털 라이센스에 관한 정보를 요청하는 경우, 라이센스 관리 서비스(204)는 운영 체제의 업그레이드 버전을 사용자가 구매할 수 있는지 여부를 보기 위해 확인할 수 있다. 이러한 운영 체제의 업그레이드 버전이 사용가능하면, 서비스(204)는 사용자에게 업그레이드 버전의 표시, 사용자가 업그레이드 버전으로 얻게 될 추가된 이점 및/또는 서비스의 설명 및 업그레이드 버전의 구매 옵션을 표시할 수 있다. 그러면 사용자는 업그레이드 버전을 구매하도록 선택하여, 업그레이드 버전의 추가 이점 및/또는 서비스를 획득할 수 있다. 업그레드 버전의 구매는 서비스(204)에 의해 관리될 수 있거나, 또는, 다르게는, 다른 서비스(예를 들어, 소프트웨어 구매 서비스(216))에 의해 관리될 수 있다. 또한, 이 업그레이드 버전은 상술한 바와 같이 활성화되는 업그레이드 버전을 활성화하는데 사용되는 새로운 제품 키를 가질 수 있고, 또는, 다르게는, 이미 활성화된 제품의 이전 버전으로부터의 제품 키가 제품의 업그레이드 버전에 대한 디지털 라이센스에 대해 사용될 수 있다.
도 5는 하나 이상의 실시형태에 따른 예시적인 라이센스 관리 시스템(502)을 도시한다. 하나 이상의 실시형태에서, 라이센스 관리 시스템(502)은 도 2의 라이센스 관리 시스템(204) 또는 도 1의 라이센스 서비스(104)이다. 다른 실시형태에서, 라이센스 관리 시스템(502)은 적어도 부분적으로 다른 컴포넌트, 모듈 또는 서비스에서 구현된다. 예를 들어, 라이센스 관리 시스템(502)의 적어도 일부는, 라이센스 클라이언트 모듈(232)의 일부와 같이 장치(202)에서 구현될 수 있다. 이러한 실시형태에서, 시스템(502)은 사용자 인터페이스를 제공하고 장치(202)의 사용자로부터 요청을 수신할 수 있고, 요청을 수행하기 위해 라이센스 관리 서비스(204)와 통신할 수 있다. 이러한 사용자 인터페이스는, 운영 체제 제어판(control panel) 옵션을 통하거나 시스템 또는 제품 속성 탭이나 윈도우를 통하는 등 다양한 방식으로 사용자에게 표시되거나 달리 제시될 수 있다.
라이센스 관리 서비스(502)는 라이센스 추가 모듈(504), 라이센스 복구 모듈(506), 라이센스 표시 모듈(508) 및 시간 기반 라이센스 관리 모듈(510)을 포함한다. 별도의 모듈(504, 506, 508 및 510)로서 도시되지 않지만, 모듈(504-510) 중 하나 이상의 기능은 서로 결합될 수 있음을 인식할 것이다. 또한, 모듈(504-510) 중 하나 이상의 각각의 기능은 다른 모듈들로 분리될 수 있음을 인식할 것이다.
장치(예를 들어, 도 2의 장치(202))의 사용자는 다양한 방식으로 그 또는 그녀의 라이센스를 관리하기 위한 라이센스 관리 시스템(502)으로의 요청을 입력할 수 있다. 예를 들어, 사용자는 라이센스 관리를 위한 링크를 선택할 수 있고, 라이센스 관리를 위한 메뉴 아이템 또는 버튼을 선택할 수 있고, 라이센스 관리를 위한 텍스트 명령을 입력할 수 있는 등이다. 링크 또는 기타 사용자 인터페이스 매커니즘은, 사용자가 장치를 시작하거나 로그인할 때, 사용자가 온라인 서비스에 로그인하(고, 예를 들어, 도 2의 사용자 ID 인증 서비스(214)에 의해 인증되)는 때 등에, 장치 상에서 실행중인 소프트웨어 제품에 의해 사용자에게 제시될 수 있다. 사용자의 라이센스를 관리하라는 요청이 이루어지는 방식과 무관하게, 요청에 응답하여, 라이센스 관리 시스템(502)은, 사용자가 다양한 요청을 입력하고 그 또는 그녀의 사용자 ID에 연결된 디지털 라이센스를 관리할 수 있게 하는 장치를 통해 사용자에게 사용자 인터페이스를 표시하거나 달리 제시한다.
라이센스 관리 시스템(502)은 사용자가 그 또는 그녀의 사용자 ID에 연결된 디지털 라이센스를 관리할 수 있게 한다. 따라서, 사용자의 사용자 ID는 시스템(502)에 제공된다. 시스템(502)에 제공되는 사용자 ID는 상술한 바와 같이 (예를 들어, 도 2의 사용자 ID 인증 서비스(214)로부터 획득된) 사용자에 대한 사용자 크리덴셜이다.
라이센스 추가 모듈(504)은 라이센스 저장소(예를 들어, 도 2의 저장소(224))로의 사용자의 사용자 ID에 연결된 디지털 라이센스의 추가를 관리한다. 하나 이상의 실시형태에서, 소프트웨어 제품이 활성화되는 때에, 디지털 라이센스는 사용자 ID에 연결될 수 있고 라이센스 관리 시스템(502)으로 통신될 수 있다. 라이센스 추가 모듈(504)은 사용자가 다른 시간에 그 또는 그녀의 사용자 ID에 연결된 디지털 라이센스를 갖기 위해 요청을 입력할 수 있도록 한다. 모듈(504)은 추가될 제품 키 및 사용자에 대한 사용자 크리덴셜(사용자의 사용자 ID를 모듈(504)에 제공) 모두를 입력으로서 수신한다. 제품 키는, 사용자에 의해 수동으로 입력되거나, 사용자에 의해 다른 소스로부터 복사(또는 자르기) 되어 붙여(paste)지거나, 사용자가 라이센스에 대한 소스(예를 들어, 다른 서비스)를 식별하는 등과 같이 상이한 방식으로 모듈(504)에 제공될 수 있다.
사용자가 식별하는 제품 키가 이미 소프트웨어 제품을 활성화하는데 사용된 경우, 그 제품 키에 대응하는 디지털 라이센스는 이미 사용자의 장치 상에 있다. 따라서, 모듈(504)은 장치의 로컬 저장소로부터 디지털 라이센스를 불러오기 위해 장치의 라이센스 클라이언트 모듈(예를 들어, 도 2의 모듈(232))과 통신한다. 디지털 라이센스가 이미 사용자의 사용자 ID에 연결된 것이 아니라면, 모듈(504)은 사용자의 사용자 ID에 디지털 라이센스를 연결한다.
사용자가 식별하는 제품 키가 소프트웨어 제품을 활성화하는데 사용되지 않은 경우, 소프트웨어 활성화 서비스(예를 들어 도 2의 서비스(212))는 소프트웨어 제품을 활성화하기 위해 액세스된다. 라이센스 관리 시스템(502)은 소프트웨어 제품을 활성화하기 위해 소프트웨어 활성화 서비스에 액세스할 수 있고, 또는, 다르게는, 다른 컴포넌트 또는 모듈이 소프트웨어 제품을 활성화하기 위해 소프트웨어 활성화 서비스에 액세스할 수 있다.
라이센스 추가 모듈(504)은 사용자에 의해 사용되고 있는 장치로부터, 또는, 다르게는, 소프트웨어 활성화 서비스로부터 디지털 라이센스를 수신한다. (예를 들어, 사용자 ID가 디지털 라이센스에 포함되도록 하여) 사용자의 사용자 ID에 이미 연결된 것이 아닌 경우, 모듈(504)은 사용자의 사용자 ID를 디지털 라이센스에 연결한다. 또한, 모듈(504)은 라이센스 저장소(예를 들어, 도 2의 저장소(224))에 디지털 라이센스를 저장한다.
또한 라이센스 추가 모듈(504)은 선택적으로 사용자가 디지털 라이센스에 관한 추가의 정보를 제공할 수 있도록 하고 디지털 라이센스 내에 그 추가 정보를 포함시킬 수 있다. 예를 들어, 사용자는 그 또는 그녀가 더 쉽게 이해하는 소프트웨어 제품 및/또는 라이센스의 설명(예를 들어, 친근한 이름)을 제공할 수 있다. 이러한 친근한 이름은, 예를 들어, 도 3의 친근한 제품 이름 필드(324)에 저장될 수 있다.
라이센스 복구 모듈(506)은 사용자가 그 또는 그녀의 사용자 ID에 연결되는 디지털 라이센스를 복원 또는 복구하라는 요청을 입력할 수 있도록 한다. 사용자가 그 또는 그녀의 디지털 라이센스를 복원하고자 하는 상황이 발생할 수 있다. 예를 들어, 사용자는 그 또는 그녀가 그 또는 그녀의 소프트웨어 제품을 전달하고자 하는 새로운 기계를 가질 수 있고, 사용자가 그 또는 그녀의 장치 상에 운영 체제를 재설치(또는 새로운 운영 체제를 설치)하였고 그 또는 그녀의 소프트웨어 제품을 재설치하고자 할 수 있으며, 사용자가 그 또는 그녀의 기계에서 하드웨어를 변경하였고 그 또는 그녀의 소프트웨어 제품을 재설치하고자 할 수 있는 등이다.
라이센스 관리 시스템(502)에 의해 제시되는 사용자 인터페이스는 사용자가 그 또는 그녀의 디지털 라이센스를 복원 또는 복구하라는 요청을 입력할 수 있도록 한다. 이러한 요청에 응답하여, 라이센스 복구 모듈(506)은 사용자의 사용자 ID에 연결된 라이센스 저장소(예를 들어, 도 2의 저장소(224))로부터 라이센스를 식별한다. 이들 디지털 라이센스의 목록이 사용자에게 표시되거나 달리 제시된다. 디지털 라이센스 목록은, 사용자에 의해 제공된 제품 이름 및 친근한 이름(존재한다면)의 목록에 의하거나 및/또는 디지털 라이센스로부터의 다른 정보의 목록에 의하는 등 다른 방식으로 제시될 수 있다.
그러면 사용자는 모듈(506)에 의해 제시된 목록 내 디지털 라이센스로부터 선택할 수 있다. 그 후 모듈(506)은 사용자에 의해 사용되고 있는 장치로 선택된 디지털 라이센스를 통신한다(디지털 라이센스 내 권리는 사용자가 장치에서 그들을 이용하도록 허용함을 가정). 복원 또는 복구될 디지털 라이센스가 선택되면, 선택된 디지털 라이센스를 장치로 반환하기 위한 프로세스는 (예를 들어, 후술하는 도 8의 프로세스(800)를 참조하여) 본 명세서의 다른 곳에서 설명하는 것과 동일하다.
라이센스 표시 모듈(508)은 사용자에게 라이센스 상세 정보를 표시하거나 달리 제시한다. 모듈(508)은 사용자의 사용자 ID에 연결된 디지털 라이센스의 목록을 제시할 수 있고, 사용자는 그 목록으로부터 하나 이상의 라이센스를 선택할 수 있다. 디지털 라이센스 목록은, 사용자에 의해 제시된 제품 이름 및 친근한 이름(존재한다면)의 목록 및/또는 디지털 라이센스로부터의 다른 정보의 목록에 의하는 등, 상이한 방법으로 제시될 수 있다.
일단 선택되면, 디지털 라이센스로부터의 추가 정보도 표시된다. 디지털 라이센스로부터의 모든 정보는 사용자에게 표시될 수 있거나(예를 들어, 도 3의 디지털 라이센스(300)의 모든 필드로부터의 데이터), 또는, 다르게는, 디지털 라이센스로부터의 정보의 부분집합이 표시될 수 있다.
라이센스 표시 모듈(508)은 또한 사용자가 그 또는 그녀가 사용하고 있는 장치로부터 라이센스를 설치해제할 수 있도록 한다. 사용자는 그 또는 그녀가 설치해제하고자 하는 라이센스를 식별(예를 들어, 표시된 목록으로부터 선택)하고, 모듈(508)은 장치의 로컬 저장소로부터 디지털 라이센스를 삭제 또는 제거하라는 표시를 장치의 라이센스 클라이언트 모듈(예를 들어, 도 2의 모듈(232))로 전송한다. 하나 이상의 실시형태에서, 사용자는, 그 또는 그녀가 다른 장치에서 소프트웨어 라이센스를 복원 또는 복구할 수 있도록, 그 또는 그녀가 사용하고 있는 하나의 장치로부터 라이센스를 설치해제하라고 요청한다.
라이센스 표시 모듈(508)은 또한 사용자가 그 또는 그녀의 사용자 ID로부터 라이센스의 연결을 삭제하라는 요청을 입력할 수 있도록 한다. 사용자는 그 또는 그녀가 연결을 삭제하고자 하는 라이센스를 식별(예를 들어, 표시된 목록으로부터 선택)하고, 모듈(508)은 라이센스 저장소(예를 들어, 도 2의 저장소(224))로부터 디지털 라이센스를 제거한다. 삭제 프로세스의 일부로서, 디지털 라이센스가 라이센스 관리 서비스(502)에 의해 더 이상 저장되고 관리되지 않을 것이므로, 모듈(508)은 또한 장치 상의 로컬 저장을 위해 장치의 라이센스 클라이언트 모듈(예를 들어, 도 2의 모듈(232))로 디지털 라이센스를 전송할 수 있다.
시간 기반 라이센스 관리 모듈(510)은 사용자가 시간 기반 라이센스를 관리하라는 요청을 입력할 수 있도록 한다. 모듈(508)이 사용자의 사용자 ID에 연결되는 디지털 라이센스의 목록을 제시할 수 있고, 사용자가 그 목록으로부터 하나 이상의 라이센스를 선택할 수 있다. 디지털 라이센스 목록은 사용자에 의해 제시된 제품 이름 및 친근한 이름(존재한다면)의 목록 및/또는 디지털 라이센스로부터의 다른 정보의 목록에 의하는 등, 상이한 방식으로 제시될 수 있다.
사용자는 라이센스를 식별(예를 들어, 표시된 목록으로부터 선택)하고, 그 라이센스에 대한 희망 시간량(amount of time)을 표시할 수 있다. 예를 들어, 사용자는, 한 시간, 하루 한 달 등과 같이 특정 기간 동안 라이센스를 활성화하라는 요청을 표시할 수 있다. 사용자는 또한 선택적으로 희망 기간에 대해 지불할 계좌 정보(예를 들어, 신용카드 번호)를, 이러한 정보가 이미 라이센스 관리 시스템(502)에게 사용가능하지 않은 경우에 입력할 수 있다. 요청되면, 모듈(508)은 장치 상의 로컬 저장을 위해 장치의 라이센스 클라이언트 모듈(예를 들어, 도 2의 모듈(232))로 표시된 기간과 함께 디지털 라이센스를 보낼 수 있다. 다르게는, 모듈(508)은 장치에 이미 저장된 디지털 라이센스의 만료 일자 필드를 업데이트하기 위해 라이센스 클라이언트 모듈에 표시를 전송할 수 있다.
또한 시간 기반 라이센스 관리 모듈(510)은 선택적으로 아래에 더 상세히 설명하는 바와 같이 자동 업데이트와 라이센스의 지불을 관리할 수 있다. 사용자는, 아래에서 더 논의하는 바와 같이 라이센스가 자동적으로 갱신되도록, 그 또는 그녀가 자동적으로 갱신되게 하고자 하는 라이센스를 식별(예를 들어, 표시된 목록으로부터 선택)하고 계좌(예를 들어, 신용 카드 또는 기타 계좌 번호)로의 자동 청구(billing)를 인증한다.
도 6은 하나 이상의 실시형태에 따라 디지털 라이센스를 획득하고 저장하기 위한 예시적인 프로세스(600)를 도시하는 흐름도이다. 프로세스(600)는 소프트웨어, 펌웨어, 하드웨어 또는 그 결합에서 구현될 수 있다. 도 6의 좌측에 도시된 프로세스(600)의 동작(act)은 도 2의 장치(202)와 같은 장치에 의해 수행된다. 도 6의 우측에 도시된 프로세스(600)의 동작(act)은 도 2의 라이센스 관리 서비스(204) 또는 도 5의 라이센스 관리 시스템(502)와 같은 라이센스 관리 서비스에 의해 수행된다. 프로세스(600)는 디지털 라이센스를 획득하고 저장하기 위한 예시적인 프로세스이다; 디지털 라이센스를 획득하고 저장하는 것에 대한 추가적인 논의는 다른 도면을 참조하여 본 명세서에 포함된다.
프로세스(600)에서, 소프트웨어 제품에 대한 제품 키가 획득된다(동작 602). 이 제품 키는 원격 서비스(예를 들어, 도 2의 소프트웨어 구매 서비스(216))로부터 수신되거나, 사용자 입력으로부터 수신되는 등과 같이 다양한 방식으로 획득될 수 있다.
활성화 서비스는 제품 키를 이용하여 소프트웨어 제품을 활성화하기 위해 액세스된다(동작 604). 활성화 프로세스의 일부로서, 동작 602에서 획득되는 제품 키는 활성화 서비스에게 통신된다.
일단 활성화되면, 제품 키를 포함하는 디지털 라이센스가 수신된다(동작 606). 이 디지털 라이센스는 활성화 서비스로부터 통상 수신되지만, 다르게는 활성화 서비스 대신에 또는 활성화 서비스의 요청에 따라 다른 서비스로부터 수신될 수 있다.
디지털 라이센스 및 디지털 라이센스가 연결된 사용자 ID의 표시가 라이센스 관리 서비스(동작 608)로 저장된다. 이 원격 서비스(204)는, 예를 들어, 도 2의 라이센스 관리 서비스(204) 또는 도 5의 라이센스 관리 시스템(502)이다. 디지털 라이센스와 사용자 ID의 표시는 라이센스 관리 서비스에 의해 수신되고(동작 610), 디지털 라이센스는 사용자 ID에 연결된 것으로 라이센스 저장소에 저장된다(동작 612). 디지털 라이센스를 라이센스 관리 서비스로 보내기 전에 디지털 라이센스로 사용자 ID를 추가하는 등으로, 사용자 ID는 디지털 라이센스가 라이센스 관리 서비스에게 보내지기 전에 디지털 라이센스로 연결될 수 있다. 다르게는, 사용자 ID는, 디지털 라이센스에 사용자 ID를 저장하거나 디지털 라이센스와 사용자 ID를 연관시키는 별도의 기록을 유지하는 라이센스 관리 서비스에 의해 디지털 라이센스에 연결될 수 있다.
그러면 라이센스 관리 서비스는 사용자 ID에 기초하여 다지털 라이센스에 후속하여 액세스할 수 있도록 한다(동작 614). 사용자 ID를 갖는 사용자는 라이센스 관리 서비스로부터 디지털 라이센스를 불러올 수 있고 장치(이는 소프트웨어 제품이 활성화된 장치와 동일할 수도 있고 아닐 수도 있다) 상에서 디지털 라이센스를 사용할 수 있다.
도 7은 하나 이상의 실시형태에 따라 소프트웨어 제품을 실행하기 위한 예시적인 프로세스(700)를 도시하는 흐름도이다. 프로세스(700)는 도 2의 장치(202)와 같은 하나 이상의 장치에 의해 수행되고, 소프트웨어, 펌웨어, 하드웨어 또는 그 결합에서 구현될 수 있다. 프로세스(700)는 소프트웨어 제품을 실행하기 위한 예시적인 프로세스이다; 소프트웨어 제품 실행에 대한 추가 논의는 다른 도면을 참조하여 본 명세서에 포함된다.
프로세스(700)에서, 소프트웨어 제품에 대한 액세스 요청이 수신된다(동작 702). 이 요청은 사용자 요청일 수 있고, 또는, 다르게는, 다른 모듈 또는 컴포너트로부터 수신될 수 있다.
요청에 응답하여, 소프트웨어 제품으로의 액세스를 허용하는 디지털 라이센스가 로컬에서 사용가능한지 여부에 관한 확인이 이루어진다(동작 704). 이렇게 로컬에서 사용가능한 디지털 라이센스는 프로세스(700)를 구현하는 장치의 로컬 저장소에 통상 저장된다. 소프트웨어 제품과 연관된 디지털 라이센스는 디지털 라이센스가 만료되지 않았고(예를 들어, 현재 일자 및/또는 시각이 디지털 라이센스의 만료 일자 및/또는 시각을 지나지 않았고), 디지털 라이센스의 다른 조항이 만족되면, 소프트웨어 제품으로의 액세스를 허용한다.
소프트웨어 제품으로의 액세스를 허용하는 로컬 디지털 라이센스가 사용가능하면, 소프트웨어 제품은 디지털 라이센스에 따라 액세스된다(동작 706). 이 액세스는 프로그램을 실행하는 것을 포함하고, 디지털 라이센스의 조항에 기초하여 프로그램을 실행하는데 있어서의 다양한 제한이 선택적으로 관여될 수 있다.
동작 704로 돌아가면, 소프트웨어 제품으로의 액세스를 허용하는 로컬 디지털 라이센스가 사용가능하지 않으면, 디지털 라이센스에 대한 요청이 도 2의 서비스(204) 또는 도 5의 라이센스 관리 시스템(502)과 같은 라이센스 관리 서비스로 보내어진다(동작 708). 이 요청은 프로세스(700)를 구현하는 장치의 현재 사용자의 사용자 ID에 연결되는 소프트웨어 제품에 대한 디지털 라이센스에 대한 요청이다. 이 사용자 ID는 상술한 바와 같이 온라인 서비스(인터넷 서비스의 Microsoft Windows Live™ 네트워크)에 의해 검증된다.
그러면 요청된 디지털 라이센스가 라이센스 관리 서비스로부터 수신되는지 여부에 대해 확인이 이루어진다(동작 710). 디지털 라이센스 만료, 사용자 ID에 연결된 소프트웨어 제품에 대한 디지털 라이센스가 없음 등 다양한 이유로 라이센스 관리 서비스에 의해 요청된 디지털 라이센스가 반환되지 않을 수 있다. 요청된 디지털 라이센스가 라이센스 관리 서비스로부터 수신되면, 소프트웨어 제품은 디지털 라이센스에 따라 액세스된다(동작 706). 다르게는, 디지털 라이센스를 수신하는 것이 아니라, 사용자가 소프트웨어 제품에 대한 디지털 라이센스를 갖는다는 표시가 상술한 바와 같이 수신될 수 있다. 그러나, 라이센스 관리 서비스로부터 요청된 디지털 라이센스가 수신되지 않으면, 소프트웨어 제품으로의 액세스가 거부된다(동작 712).
도 8은 하나 이상의 실시형태에 따라 요청된 디지털 라이센스를 반환하기 위한 예시적인 프로세스(800)를 도시하는 흐름도이다. 프로세스(800)는 도 2의 라이센스 관리 서비스 또는 도 5의 라이센스 관리 시스템(502)과 같은 하나 이상의 서비스에 의해 수행되고, 소프트웨어, 펌웨어, 하드웨어 또는 그 결합에서 구현될 수 있다. 프로세스(800)는 요청된 디지털 라이센스를 반환하기 위한 예시적인 프로세스이다; 요청된 디지털 라이센스의 반환에 대한 추가적인 논의는 다른 도면을 참조하여 본 명세서에 포함된다.
프로세스(800)에서, 사용자 ID에 연결되고 소프트웨어 제품과 연관되는 디지털 라이센스에 대한 요청이 수신된다(동작802). 이 요청은 도 2의 장치(202)와 같은 장치로부터 수신된다.
그러면 사용자 ID에 연결된 소프트웨어 제품에 대한 디지털 라이센스가 사용가능한지 여부에 대한 확인이 이루어진다(동작 804). 이 확인은 사용자 ID로의 디지털 라이센스의 연결이 유지되는 방식에 기초하여 다양한 형태를 취할 수 있다. 예를 들어, 이 확인은 라이센스 저장소에서 서비스가 유지하는 디지털 라이센스 내 사용자 ID를 확인하는 것, 디지털 라이센스와 사용자 ID를 연관시키는 표 또는 기타 기록을 확인하는 것 등을 포함할 수 있다. 사용가능한 디지털 라이센스는 라이센스 저장소 내에 존재하는 디지털 라이센스를 지칭한다.
사용자 ID에 연결된 소프트웨어 제품에 대한 어떠한 디지털 라이센스도 사용가능하지 않으면, 프로세스(800)를 구현하는 서비스는 요청자에게 디지털 라이센스를 반환하기를 거부한다(동작 806).
그러나, 사용자 ID에 연결된 소프트웨어 제품에 대한 디지털 라이센스가 사용가능하면, 디지털 라이센스의 규정에 따라 디지털 라이센스가 반환될 수 있는지 여부에 대한 확인이 이루어진다(동작 808). 소프트웨어 제품에 대한 디지털 라이센스가 사용자 ID에 연결되지만, 디지털 라이센스의 규정이 디지털 라이센스가 더 이상 유효하지 않음을 나타내는 상황이 일어날 수 있다. 예를 들어, 디지털 라이센스가 만료될 수 있고, 폐기되었을 수 있고, 이미 너무 많은 다른 요청자에게 반환(예를 들어, 발행 중인 디지털 라이센스의 사본의 문턱 수보다 많이 존재함)되었을 수도 있는 등이다.
디지털 라이센스의 규정이 디지털 라이센스가 요청자에게 반환될 수 있다고 표시하면, 프로세스(800)를 구현하는 서비스는 디지털 라이센스를 요청자에에게 반환한다(동작 810). 다르게는, 디지털 라이센스를 반환하기보다는, 사용자 ID를 갖는 사용자가 소프트웨어 제품에 대한 디지털 라이센스를 갖는다는 표시가 상술한 바와 같이 반환될 수 있다. 그러나, 디지털 라이센스의 규정이 디지털 라이센스가 요청자에게 반환될 수 없음을 나타내면, 프로세스(800)를 구현하는 서비스는 요청자에게 디지털 라이센스를 반환하는 것을 거부한다(동작 806).
여기서 논의된 사용자 ID에 연결된 디지털 라이센스가 사용될 수 있는 하나의 방법은, 그들 디지털 라이센스로부터 나오는 추가적인 제품 또는 서비스의 매출(revenue for sale)에 대해 상이한 당사자(party)가 인정받을 수 있도록 및/또는 당사자가 이를 받을 수 있도록 하는 것이다. OEM, 소매상 등 다양한 당사자가 상술한 바와 같이 디지털 라이센스에서 식별될 수 있다. 사용자에게 사용가능한 추가의 제품 또는 서비스에 대한 제안(offer)이 이들 다양한 당사자에 기초하여 제시될 수 있다. 예를 들어, 추가의 기능을 갖는 소프트웨어 제품의 다른 버전 또는 소프트웨어 제품의 새로운 버전으로 업그레이드하라는 제안이 사용자에게 제시될 수 있다. 다른 예로서, 소프트웨어 제품과 함께 사용될 수 있는 주변 장치를 할인된 가격에 구매하라는 제안이 사용자에게 제시될 수 있다. 이들 제안은 사용자가 온라인 서비스에 (도 2의 사용자 ID 인증 서비스(214)를 통해) 로그인할 때, 사용자가 도 2의 라이센스 관리 서비스(204) 또는 도 5의 라이센스 관리 시스템(502)를 통해 그 또는 그녀의 디지털 라이센스에 대한 정보를 검토하는 때, 디지털 라이센스가 서비스(204) 또는 시스템(502)으로부터 불러오기되는 때 등 다양한 때에 다양한 방식으로 사용자에게 제시될 수 있다.
구체적인 예로서, 사용자가 소매상 XYZ 사로부터 소프트웨어 제품을 구매한다고 하자. 사용자가 그 또는 그녀의 라이센스를 관리하는 때에, 추가 장치를 할인 가격에 구매하라는 제안이 사용자에게 제시될 수 있다. 예를 들어, 사용자는 “지난 주에 XYZ 사로부터 새로운 소프트웨어를 구매하셨습니다-이번 주에 새 소프트웨어와 함께 사용하는 디지털 카메라와 프린터를 $100 할인 받을 수 있습니다”라는 제안을 제시받을 수 있다.
디지털 라이센스에서 식별되는 다양한 당사자가 주어진 때에, 제품 또는 서비스에 대한 제안이 사용자에게 제시되고 사용자가 그 제안을 받아들이면, 디지털 라이센스에서 식별된 하나 이상의 당사자가 제안의 수용으로 인정될 수 있다. 이 수용은 통상 제품 또는 서비스의 추가적인 판매이다. 사용자는 이러한 제안을, 제품 또는 서비스를 구매하기 위한 온라인 상점으로의 링크를 선택하거나, 쿠폰을 (그 위에 디지털 라이센스의 식별자가 함께) 인쇄하고 그 쿠폰을 지역 소프트웨어 상점 (예를 들어, 실물 비지니스)에 가져가는 등과 같이 상이한 방식으로 수용할 수 있다. 따라서, 사용자는 디지털 라이센스를 갖는 소프트웨어 제품과 연관된 추가의 서비스 또는 제품의 판매 제안을 제시받을 수 있고, 디지털 라이센스에서 식별된 다양한 당사자가 그러한 판매에 대해 추가의 수입 및/또는 인정을 받을 수 있다. 이는 디지털 라이센스에서 식별된 다양한 당사자에 대한 데이터가 이러한 추가적인 수입 및/또는 인정을 받기 위해 다른 서비스 또는 장치와 병합되는 것으로 볼 수도 있다.
구체적인 예로서, 사용자가 소매상 ABC 사로부터 소프트웨어 제품이 설치된 새로운 컴퓨터를 구매한다고 가정하자. 사용자가 그 또는 그녀의 라이센스를 관리하는 때에, 사용자에게 추가 장치를 할인받아 구매하라는 제안이 제시될 수 있다. 예를 들어, 사용자는 “ABC 사로부터 새로운 컴퓨터를 구매하셨습니다-이번 주에 XYZ 사로부터 새 컴퓨터와 함께 사용하는 프린터를 50% 할인 받을 수 있습니다”라는 제안을 제시받을 수 있다. 사용자가 이 제안을 받아들이고 XYZ 사로부터 프린터를 구매하면, ABC 사(디지털 라이센스에 OEM으로 표시됨)는 프린터의 판매에 적어도 부분적으로 책임이 있는 것으로 인정될 수 있다. 그러면 ABC 사는 이 프린터의 판매에 대해 XYZ 사로부터 추가적인 수입 및/또는 다른 인정을 받을 수 있다.
도 9는 하나 이상의 실시형태에 따라 디지털 라이센스를 사용하는 예시적인 프로세스(900)를 도시하는 흐름도이다. 프로세스(900)는 도 2의 라이센스 관리 서비스(204) 또는 도 5의 라이센스 관리 시스템(502)과 같은 하나 이상의 서비스에 의해 수행되고, 소프트웨어, 펌웨어, 하드웨어 또는 그 결합에 의해 구현될 수 있다. 프로세스(900)는 디지털 라이센스를 사용하기 위한 예시적인 프로세스이다; 디지털 라이센스 사용에 대한 추가의 논의는 다른 도면을 참조하여 본 명세서에 포함된다.
프로세스(900)에서, 제품 및/또는 서비스에 대한 제안이 디지털 라이센스에 기초하여 사용자에게 통신된다(동작 902). 제안은 사용자가 그 또는 그녀의 디지털 라이센스를 관리하는 동안 그 또는 그녀에게 표시되거나, 디지털 라이센스가 라이센스 관리 서비스로부터 불러오기 되는 때에, 이메일 메시지로 등 다양한 방법으로 통신될 수 있다.
당사자가 디지털 라이센스로부터 식별된다(동작 904). 소프트웨어 제품의 제조자, 소프트웨어 제품의 소매상, 소프트웨어 제품과 장치를 공급하는 OEM 등과 같은 디지털 라이센스 내 다양한 당사자가 식별될 수 있다.
디지털 라이센스와 연관된 추가적인 판매가 이루어진 시기에 대한 판정이 이루어진다(동작 906). 이 판정은, 예를 들어, 동작 902에서 사용자에게 통신되는 제안이 사용자에 의해 받아들여지고 제안된 제품이나 서비스가 사용자에 의해 구매된 때 이루어진다.
추가적인 판매와 연관하여 당사자가 인정됨을 나타내는 표시가 생성된다(동작 908). 이 표시는 선택적으로 원격 서비스로 통신된다(동작 910). 이 표시가 사용되는 방식은 변할 수 있다. 예를 들어, 표시는 추가 판매에 대해 당사자에게 공을 돌리고 추가 판매의 수익의 적어도 일부를 당사자에게 전달하는데 사용될 수 있다.
도 2로 돌아가면, 라이센스 관리 서비스(204)(또는 도 5의 라이센스 관리 시스템(502))는 라이센스 저장소(224)의 디지털 라이센스에 기초하여 다양한 기능을 수행할 수도 있다. 하나 이상의 실시형태에서, 라이센스 관리 서비스(204)는 라이센스 저장소(224)에 저장된 시간 기반 라이센스를 모니터링한다. 서비스(204)는 시간 기반 라이센스가 만료될 때 자동으로 그들을 업데이트하도록 구성될 수 있다. 이 자동 업데이트는, 예를 들어, 라이센스를 자동으로 업데이트라하는 사용자 요청에 응답하여 이루어질 수 있다. 서비스(204)는 지불 정보(예를 들어, 신용카드 번호)로 구성될 수 있고, 또는, 다르게는, 라이센스 업데이트에 대한 지불을 얻기 위해 다른 서비스와 통신할 수 있다. 라이센스 업데이트에 대한 지불이 수신되면, 서비스(204)는 새로운 (더 늦은) 만료 일자 및/또는 시간을 반영하기 위해 라이센스의 만료 일자 및/또는 시간을 업데이트할 수 있다.
예를 들어, 장치(202)의 사용자는 한 달 동안의 소프트웨어 제품의 사용을 요청하고 요금을 지급할 수 있다. 소프트웨어 제품과 연관된 디지털 라이센스 내 만료 일자는 한 달 내에 만료됨을 나타낸다. 사용자는 서비스(204)가 자동으로 라이센스를 업데이트 할 것을 요청할 수도 있다. 이러한 요청에 응답하여, 디지털 라이센스의 만료 일자에 도달하면, 서비스(204)는 자동으로 사용자에게 추가 한 달 사용에 대하여 과금한다. 또한 서비스(204)는 만료 일자가 한 달 뒤임을 반영하도록 디지털 라이센스 내 만료 일자를 업데이트한다.
도 10은 하나 이상의 실시형태에 따라 시간 기반 라이센스를 자동으로 업데이트 하기 위한 예시적인 프로세스(1000)를 도시하는 흐름도이다. 프로세스(1000)는 도 2의 라이센스 관리 서비스(204) 또는 도 5의 라이센스 관리 시스템(502)과 같은 하나 이상의 서비스에 의해 수행되고, 소프트웨어, 펌웨어, 하드웨어 또는 그 결합에서 구현될 수 있다. 프로세스(1000)는 자동으로 시간 기반 라이센스를 업데이트하기 위한 예시적인 프로세스이다; 시간 기반 라이센스의 자동 업데이트에 대한 추가적인 논의는 다른 도면을 참조하여 본 명세서에 포함된다.
프로세스(1000)에서, 디지털 라이센스가 갱신되어야 하는지 여부에 대한 확인이 이루어진다(동작 1002). 이 확인은 예를 들어 디지털 라이센스가 시간 기반 라이센스인지 여부 및 사용자가 라이센스의 자동 갱신을 요청하였는지 여부에 기초하여 이루어진다. 프로세스(1000)는 디지털 라이센스가 갱신되어야 한다고 판정될 때까지 이 확인을 정기적 또는 비정기적 간격으로 수행한다.
디지털 라이센스가 갱신되어야 한다면, 라이센스는 선택적으로 미리 활성화(pre-activate)된다(동작 1004). 일부 상황에서, 제품에 대한 디지털 라이센스가 갱신되어야 한다면, 제품에 대한 새로운 제품 키가 획득되거나 이전의 제품 키가 유지되지만 소프트웨어 활성화 서비스(예를 들어, 도 2의 서비스(212))에 의해 재활성화되어야 할 것이다. 이러한 상황에서, 소프트웨어 활성화 서비스가 동작 1004에서 액세스되어 갱신된 디지털 라이센스에 대해 제품 키를 미리 활성화한다.
라이센스가 동작 1004에서 미리 활성화되는지 여부와 무관하게, 디지털 라이센스는 자동으로 갱신된다(동작 1006). 이 자동 갱신은 디지털 라이센스가 연결된 사용자 ID를 갖는 사용자가 현재 온라인 서비스에 (예를 들어, 도 2의 사용자 ID 인증 서비스(214)를 통해) 로그인 되어 있는지 여부와 무관하다. 오히려, 갱신은 사용자를 대신하여 자동으로 이루어진다.
새로운 만료 일자로 갱신된 라이센스가 저장된다(동작 1008). 갱신된 라이센스의 이러한 저장은, 디지털 라이센스의 이전 버전을 대체하거나, 디지털 라이센스의 이전 버전을 새로운 만료 일자를 포함하도록 수정하는 등과 같이 다양한 방식으로 수행될 수 있다.
새로운 만료 일자를 갖는 이러한 갱신된 라이센스는 장치로 전송된다(동작 1010). 하나 이상의 실시형태에서, 이러한 전송은 디지털 라이센스가 장치에 의해 요청된 다음 시점에 일어난다. 다르게는, 이 전송은, 사용자가 (예를 들어, 도 2의 사용자 ID 인증 서비스(214)를 통해) 온라인 서비스에 로그인한 다음 시점과 같이 다른 시점에 일어날 수 있다.
그러면 프로세스(1000)는 계속하여 디지털 라이센스가 갱신되어야 하는지 여부를 확인하기 위해 동작 1002로 돌아간다.
상술한 디지털 라이센스를 사용자 ID에 연결하는 것 및 라이센스 관리 시스템에서의 디지털 라이센스의 저장은 다양한 사용 시나리오를 허용함을 유의하라. 소프트웨어 제품을 구매하는 사용자 소프트웨어 제품을 사용하기 위한 권리의 세트를 구매하며, 그 권리의 세트는 디지털 라이센스의 규정에 반영된다. 사용자는 제품 키를 이용하여 소프트웨어 제품을 활성화시키고, 디지털 라이센스를 사용자의 사용자 ID에 연결시킴으로써 라이센스 관리 서비스에 의해 그 제품 키가 유지되도록 한다. 사용자가 후속하여 소프트웨어 제품을 재설치하고자 하는 경우(예를 들어, 그 또는 그녀의 장치를 수리하여 이전 설치가 삭제되었거나, 사용자가 새로운 장치를 사는 등 때문에), 그 또는 그녀는, 그 또는 그녀가 구매한 제품 키가 있는 박스나 디스크를 찾을 필요 없이 라이센스 관리 서비스로부터 (제품 키를 포함하는) 디지털 라이센스를 획득할 수 있다.
사용자는 또한 다양한 장치로부터 그 또는 그녀가 구매한 소프트웨어 제품을 액세스할 수 있다. 이는 사용자의 소프트웨어 제품 또는 디지털 라이센스가 사용자와 함께 다른 장치로 로밍(roam)하는 것을 허용하는 것으로 볼 수 있다. 예를 들어, 사용자가 그 또는 그녀의 홈 컴퓨터에서 소프트웨어 제품을 활성화하고 설치하였으며, 라이센스 관리 서비스에 저장된 그 또는 그녀의 ID에 연결된 소프트웨어 제품에 대한 디지털 라이센스를 갖는다고 하자. 사용자가 홈으로부터 멀리 이동하고 다른 컴퓨터에서 그 소프트웨어 제품을 사용하고자 하면, 사용자는 그 또는 그녀의 ID를 이용하여 온라인 서비스에 로그인하고, 그 다른 컴퓨터에서 소프트웨어 제품을 실행하기 위해 그 소프트웨어 제품에 대한 디지털 라이센스를 불러올 수 있다.
여기에서 논의된 기술을 이용하여, 소프트웨어 제품에 대한 디지털 라이센스가 특정 사용자와 그들의 사용자 ID를 통해 연관됨을 볼 수 있다. 그러므로, 특정 장치 또는 하드웨어 구성에 연결되는 것이 아니고 디지털 라이센스는 특정 사용자 ID에 연결된다.
디지털 라이센스는, 상술한 바와 같이 디지털 라이센스가 생성될 때 소프트웨어 활성화 서비스(212)에 의해 디지털 서명된다. 또한, 라이센스 클라이언트 모듈(232) 또는 서비스(204) (또는 도 5의 라이센스 관리 시스템(502))에 의해, 디지털 라이센스에 사용자 ID를 추가하거나, 라이센스의 만료 일자를 변경하는 등과 같이 다양한 변경이 디지털 라이센스에 이루어질 수 있다. 디지털 라이센스에 이러한 변경이 이루어지면, 변경된 디지털 라이센스는 서명자의 공개/비밀 키 쌍 중 비밀 키를 이용하여 디지털 서명된다. 변경하는 서비스 또는 모듈(예를 들어, 서비스(204)나 시스템(502) 또는 모듈(232))이 서명자일 수 있거나, 다르게는, 변경하는 서비스 또는 모듈은 서비스(212)가 변경된 디지털 라이센스에 서명하도록 소프트웨어 활성화 서비스(212)와 통신할 수 있다.
도 11은 하나 이상의 실시형태에 따라 사용자 ID에 기초하여 강화된 제품 기능을 구현하도록 구성될 수 있는 예시적인 연산 장치(1100)를 도시한다. 연산 장치(1100)는, 예를 들어, 도 1의 장치(102) 또는 도 2의 장치(202)일 수 있거나, 도 1의 하나 이상의 서비스(104 또는 108)나 도 2의 서비스(204 또는 212-222) 또는 도 5의 시스템(502)의 적어도 일부를 구현할 수 있다.
연산 장치(1100)는 하나 이상의 프로세서 또는 프로세싱 유닛(1102), 하나 이상의 메모리 및/또는 저장 컴포넌트(1106)를 포함할 수 있는 하나 이상의 컴퓨터 판독가능 매체(1104), 하나 이상의 입력/출력(I/O) 장치(1108) 및 다양한 컴포넌트 및 장치가 서로 통신할 수 있도록 하는 버스(1110)를 포함한다. 컴퓨터 판독가능 매체(1104) 및/또는 하나 이상의 I/O 장치(1108)는 연산 장치(1100)의 일부로 포함되거나, 다르게는, 연산 장치(1100)에 결합될 수 있다. 버스(1100)는, 다양한 버스 구조를 이용하는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 가속(accelerated) 그래픽 포트, 프로세서 또는 로컬 버스 등을 포함하는 몇 몇 유형의 버스 구조 중 하나 이상을 나타낸다. 버스(1110)는 유선 및/또는 무선 버스를 포함할 수 있다.
메모리/저장 컴포넌트(1106)는 하나 이상의 컴퓨터 저장 매체를 나타낸다. 컴포넌트(1106)는 휘발성 매체(RAM(random access memory) 등) 및/또는 비휘발성 매체(ROM(read only memory), 플래시 메모리, 광 디스크, 자기 디스크 등)을 포함할 수 있다. 컴포넌트(1106)는 고정 매체(예를 들어, RAM, ROM, 고정 하드 드라이브 등) 뿐만 아니라 제거가능 매체(예를 들어, 플래시 메모리 드라이브, 제거가능 하드 드라이브, 광 디스크 등)을 포함할 수 있다.
여기에 논의된 기술은 소프트웨어에서 구현될 수 있고, 명령은 하나 이상의 프로세싱 유닛(1102)에 의해 실행된다. 다른 명령이, 프로세싱 유닛(1102)에, 프로세싱 유닛(1102)의 다양한 캐시 메모리에, 장치(1100)의 다른 캐시 메모리(미도시)에, 다른 컴퓨터 판독가능 매체에 등과 같이 연산 장치(1100)의 다른 컴포넌트에 저장될 수 있음을 인식할 것이다. 또한, 연산 장치(1100) 내 명령이 저장되는 위치는 시간에 따라 변할 수 있음을 인식할 것이다.
하나 이상의 입력/출력 장치(1108)는 사용자가 연산 장치(1100)로 명령 및 정보를 입력할 수 있도록 하고, 또한 정보가 사용자 및/또는 기타 컴포넌트나 장치로 제시될 수 있도록 한다. 입력 장치의 예는, 키보드, 커서 제어 장치(예를 들어, 마우스), 마이크로폰, 스캐너 등을 포함한다. 출력 장치의 예는 디스플레이 장치(예를 들어, 모니터나 프로젝터), 스피커, 프린터, 네트워크 카드 등을 포함한다.
본 명세서에서 다양한 기술이 소프트웨어 또는 프로그램 모듈의 일반적인 맥락에서 설명될 수 있다. 일반적으로, 소프트웨어는 특정 태스크를 수행하거나 특정 추상(abstract) 데이터 유형을 구현하는 루틴, 프로그램, 객체(object), 컴포넌트, 데이터 구조 등을 포함한다. 이들 모듈 및 기술의 구현은 소정 형태의 컴퓨터 판독가능 매체에 저장되거나 이들 사이에서 송신될 수 있다. 컴퓨터 판독가능 매체는 연산 장치에 의해 액세스될 수 있는 여하한 가용 매체 또는 매체들일 수 있다. 제한이 아니라 예로서, 컴퓨터 판독가능 매체는 “컴퓨터 저장 매체” 및 “통신 매체”를 포함할 수 있다.
“컴퓨터 저장 매체”는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 여하한 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 제거가능 및 비-제거가능 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disks) 또는 기타 광 저장소, 자기 카셋트, 자기 테이프, 자기 디스크 저장소 또는 기타 자기 저장 장치, 또는 희망 정보를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 여하한 기타 매체를 포함하지만 이에 제한되지 않는다.
“통신 매체”는 통상 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 반송파 또는 기타 전송 매커니즘과 같은 변조된 데이터 신호 내 기타 데이터를 포함한다. 통신 매체는 여하한 정보 전달 매체도 포함한다. “변조된 데이터 신호”라는 용어는, 시그널 내에 정보를 인코딩하도록 변경된 또는 특성 세트의 하나 이상을 갖는 신호를 의미한다. 제한이 아니라 예로서, 통신 매체는 유선 네트워크 또는 직접연결(direct-wired) 접속과 같은 유선 매체 및, 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함한다. 상술한 것 중 여하한 것의 결합도 컴퓨터 판독가능 매체의 범위에 포함된다.
일반적으로, 여기에 설명된 여하한 기능 또는 기술은 소프트웨어, 펌웨어, 하드웨어(예를 들어, 고정 로직 회로(fixed logic circuitry)), 수동 처리, 또는 이들 구현의 조합을 이용하여 구현될 수 있다. 여기서 사용되는 “모듈” 및 “컴포넌트”라는 용어는 소프트웨어, 펌웨어, 하드웨어 또는 그 결합을 일반적으로 나타낸다. 소프트웨어 구현의 경우에, 모듈 또는 컴포넌트는 프로세서(예를 들어, CPU 또는 CPU등)에서 실행되는 때에 특정 태스크를 수행하는 프로그램 코드를 나타낸다. 프로그램 코드는 하나 이상의 컴퓨터 판독가능 메모리 장치에 저장될 수 있는데, 이에 대한 추가적인 설명은 도 11을 참조하여 찾을 수 있다. 여기에 설명된 사용자 ID 기술에 기초한 강화된 제품 기능의 특성은 플랫폼에 의존하는데, 이는 기술이 다양한 프로세스를 갖는 다양한 상용 연산 플랫폼에서 구현될 수 있다는 의미이다.
주제가 구조적인 특징 및/또는 방법론적 동작에 특정한 언어로 설명되었지만, 첨부된 청구범위에서 정의된 주제는 상술한 특정 특징 또는 동작으로 제한되어야 하는 것은 아님을 인식할 것이다. 오히려, 상술한 특정 특징 및 동작은 청구범위를 구현하는 예시적인 형태로서 개시된다.

Claims (15)

  1. 장치에서의 방법으로서,
    소프트웨어 제품에 대한 제품 키를 획득하는 단계(602)와,
    상기 제품 키를 이용하여 상기 소프트웨어 제품을 활성화하기 위해 활성화 서비스에 액세스하는 단계(604)와,
    상기 활성화 서비스로부터 상기 소프트웨어 제품에 연관된 디지털 라이센스를 수신하는 단계(606)와,
    상기 장치의 사용자의 사용자 ID에 상기 디지털 라이센스를 연결하는(binding) 단계(608)와,
    원격 라이센스 관리 서비스에 상기 디지털 라이센스 및 상기 디지털 라이센스가 상기 사용자 ID에 연결됨의 표시를 저장하는 단계(610)를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 사용자 ID는 상기 장치의 상기 사용자를 식별하는 크리덴셜(credential)을 포함하고,
    상기 방법은,
    상기 원격 라이센스 관리 서비스로부터 추가 소프트웨어 제품과 연관된 추가 디지털 라이센스를 획득하는 단계-상기 추가 디지털 라이센스는 상기 사용자 ID에 연결됨-와,
    상기 장치의 사용자가 상기 추가 디지털 라이센스에 따라 상기 장치에서 상기 추가 소프트웨어 제품을 사용할 수 있도록 하는 단계를 더 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 디지털 라이센스는 상기 제품 키와 상기 사용자 ID 양자(both)를 포함하고, 상기 디지털 라이센스가 상기 사용자 ID에 연결됨의 표시는 상기 디지털 라이센스 내 상기 사용자 ID를 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 디지털 라이센스를 상기 원격 라이센스 관리 서비스에 저장한 후에 상기 디지털 라이센스를 불러오기 위해 상기 원격 라이센스 관리 서비스로 요청을 보내는 단계와,
    상기 원격 라이센스 관리 서비스로부터 상기 디지털 라이센스를 받는 단계와,
    상기 사용자가 상기 장치의 이용을 중단하는 때에 상기 장치로부터 상기 디지털 라이센스를 제거하는 단계를 더 포함하는
    방법.
  5. 제 1 항에 있어서,
    상기 디지털 라이센스가 상기 장치에 로컬로(locally) 저장되지 않은 때에 상기 디지털 라이센스를 불러오기 위해 상기 원격 라이센스 관리 서비스로 요청을 보내는 단계와,
    상기 원격 라이센스 관리 서비스로부터 상기 디지털 라이센스를 받는 단계를 더 포함하는
    방법.
  6. 제 1 항에 있어서,
    상기 디지털 라이센스를 상기 원격 라이센스 관리 서비스로 저장한 후에 상기 장치로부터 상기 디지털 라이센스를 설치해제(uninstalling)하는 단계를 더 포함하는
    방법.
  7. 제 1 항에 있어서,
    상기 사용자 ID는 상기 디지털 라이센스가 상기 사용자 ID에 연결되기 전에 온라인 인증 서비스에 의해 인증된
    방법.
  8. 제 1 항에 있어서,
    상기 디지털 라이센스는 상기 디지털 라이센스가 상기 사용자에게 주는 권리의 세트를 식별하는
    방법.
  9. 라이센스 관리 서비스에서 구현되는 방법으로서,
    소프트웨어 제품에 대한 디지털 라이센스를 받는 단계(610)-상기 디지털 라이센스는 상기 소프트웨어 제품이 제품 키를 이용하여 활성화된 장치로부터 수신됨-와,
    상기 디지털 라이센스를, 상기 소프트웨어 장치가 활성화되었을 때 상기 장치의 사용자의 제 1 사용자 ID에 연결된 채로 저장하는 단계(612)를 포함하는
    방법.
  10. 제 9 항에 있어서,
    상기 디지털 라이센스는 상기 사용자 ID를 포함하는 사용자 크리덴셜을 저장하는 필드를 포함하는
    방법.
  11. 제 10 항에 있어서,
    상기 디지털 라이센스는 상기 제품 키를 암호화된 형태로 저장하는 추가 필드를 포함하는
    방법.
  12. 제 9 항에 있어서,
    상기 디지털 라이센스를 다른 사용자에게 전달하라는 요청을 받는 단계와, 상기 디지털 라이센스를 상기 다른 사용자의 사용자 ID인 제 2 사용자 ID를 포함하도록 수정하는 단계를 더 포함하는
    방법.

  13. 제 9 항에 있어서,
    제품 검증 서비스로부터 상기 제품 키에 기초하여 상기 디지털 라이센스의 이력을 받는 단계와,
    상기 디지털 라이센스 내에 상기 디지털 라이센스의 상기 이력을 저장하는 단계를 더 포함하는
    방법.
  14. 제 9 항에 있어서,
    제품 등록 서비스로부터 상기 사용자로부터 수집된 제품 등록 정보를 받는 단계와,
    상기 디지털 라이센스에 상기 제품 등록 정보를 저장하는 단계를 더 포함하는
    방법.
  15. 제 9 항에 있어서,
    관계 서비스로부터 상기 제품 키와 연관된 하나 이상의 엔티티의 ID(identification)를 받는 단계와,
    상기 디지털 라이센스에 상기 하나 이상의 엔티티의 ID를 저장하는 단계를 더 포함하는
    방법.
KR1020117026672A 2009-05-12 2010-04-29 사용자 ⅰd에 기초한 강화된 제품 기능 KR20120014561A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/464,300 US20100293536A1 (en) 2009-05-12 2009-05-12 Enhanced product functionality based on user identification
US12/464,300 2009-05-12

Publications (1)

Publication Number Publication Date
KR20120014561A true KR20120014561A (ko) 2012-02-17

Family

ID=43069549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117026672A KR20120014561A (ko) 2009-05-12 2010-04-29 사용자 ⅰd에 기초한 강화된 제품 기능

Country Status (13)

Country Link
US (1) US20100293536A1 (ko)
EP (1) EP2430585A4 (ko)
JP (1) JP5602841B2 (ko)
KR (1) KR20120014561A (ko)
CN (1) CN102422300B (ko)
AR (1) AR076521A1 (ko)
AU (1) AU2010248069A1 (ko)
BR (1) BRPI1015373A2 (ko)
CA (1) CA2758288A1 (ko)
MX (1) MX2011011747A (ko)
RU (1) RU2011145981A (ko)
TW (1) TWI492085B (ko)
WO (1) WO2010132213A2 (ko)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7333955B2 (en) 2001-09-24 2008-02-19 E2Interactive, Inc. System and method for securing communication service
US9424399B2 (en) 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments
US20100293103A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Interaction model to migrate states and data
CN102439959B (zh) * 2009-05-27 2015-09-16 日本电气株式会社 通信装置和通信方法
JP5476823B2 (ja) * 2009-07-06 2014-04-23 株式会社リコー 機器管理装置、機器管理システム、ソフトウェア管理方法、ソフトウェア管理プログラム、及びそのプログラムを記録した記録媒体
US11928696B2 (en) 2009-12-16 2024-03-12 E2Interactive, Inc. Systems and methods for generating a virtual value item for a promotional campaign
JP5448776B2 (ja) * 2009-12-16 2014-03-19 キヤノン株式会社 画像形成装置、方法、プログラム
US20110153441A1 (en) * 2009-12-23 2011-06-23 Merrill Brooks Smith Systems and Methods for Authorizing Use of Validly Sold Merchandise
US9031869B2 (en) 2010-10-13 2015-05-12 Gift Card Impressions, LLC Method and system for generating a teaser video associated with a personalized gift
US9483786B2 (en) 2011-10-13 2016-11-01 Gift Card Impressions, LLC Gift card ordering system and method
US8984293B2 (en) * 2010-11-19 2015-03-17 Microsoft Corporation Secure software product identifier for product validation and activation
US11978031B2 (en) 2010-12-14 2024-05-07 E2Interactive, Inc. Systems and methods that create a pseudo prescription from transaction data generated during a point of sale purchase at a front of a store
US8561131B1 (en) * 2011-06-30 2013-10-15 Crimson Corporation Allocating products to licenses on a computing device
KR20130047493A (ko) * 2011-10-31 2013-05-08 삼성전자주식회사 화상형성장치, 라이선스 서버, 단말장치, 어플리케이션 설치 방법 및 어플리케이션 파일 제공 방법
US9165332B2 (en) 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing
US10417677B2 (en) 2012-01-30 2019-09-17 Gift Card Impressions, LLC Group video generating system
US8893105B2 (en) * 2012-06-08 2014-11-18 Apple Inc. Activation-based regulatory updates
US11055686B2 (en) 2012-08-08 2021-07-06 E2Interactive, Inc. S/M for providing, reloading, and redeeming stored value cards used in transit applications
US8819840B2 (en) * 2012-08-20 2014-08-26 Adobe Systems Incorporated Method and apparatus for provisioning subscription products
US9679288B2 (en) * 2012-08-21 2017-06-13 Adobe Systems Incorporated Systems and methods for product purchase and registration
US10943432B2 (en) 2012-09-04 2021-03-09 E2Interactive, Inc. Processing of a game-playing transaction based on location
CA2883812A1 (en) 2012-09-04 2014-03-13 Linq3 Technologies Llc Systems and methods for integrated game play through the use of barcodes on smart phones and hand held devices
US10229561B2 (en) 2012-09-04 2019-03-12 Linq3 Technologies Llc Processing of a user device game-playing transaction based on location
US9565911B2 (en) 2013-02-15 2017-02-14 Gift Card Impressions, LLC Gift card presentation devices
US11219288B2 (en) 2013-02-15 2022-01-11 E2Interactive, Inc. Gift card box with slanted tray and slit
US9836585B2 (en) * 2013-03-15 2017-12-05 Konica Minolta Laboratory U.S.A., Inc. User centric method and adaptor for digital rights management system
US10115268B2 (en) 2013-03-15 2018-10-30 Linq3 Technologies Llc Systems and methods for integrated game play at payment-enabled terminals
CN103220166B (zh) * 2013-03-21 2016-04-13 汉柏科技有限公司 服务器集群的license管理方法
US10217107B2 (en) 2013-05-02 2019-02-26 Gift Card Impressions, LLC Stored value card kiosk system and method
US11120462B2 (en) 2013-11-04 2021-09-14 E2Interactive, Inc. Systems and methods for using indicia of membership as a partial authorization in a transaction
CN103559429B (zh) * 2013-11-15 2016-08-17 北京华胜天成科技股份有限公司 软件处理的方法及系统
WO2015136964A1 (ja) * 2014-03-14 2015-09-17 オムロン株式会社 ライセンス情報管理装置、ライセンス情報管理方法、および、プログラム
US10262346B2 (en) 2014-04-30 2019-04-16 Gift Card Impressions, Inc. System and method for a merchant onsite personalization gifting platform
US20150332026A1 (en) * 2014-05-16 2015-11-19 Solarwinds Worldwide, Llc Reusable license activation key
US8997249B1 (en) 2014-06-18 2015-03-31 Storagecraft Technology Corporation Software activation and revalidation
GB2530973A (en) * 2014-08-07 2016-04-13 Greenman Gaming Ltd Improved digital key distribution mechanism
US10678880B2 (en) * 2014-08-07 2020-06-09 Greenman Gaming Limited Digital key distribution mechanism
US9424406B2 (en) 2014-09-09 2016-08-23 International Business Machines Corporation Asset protection based on redundantly associated trusted entitlement verification
JP5969668B1 (ja) * 2015-07-30 2016-08-17 西日本電信電話株式会社 ライセンス管理システム、端末、ライセンス制御サーバ、およびライセンス管理方法
CN105182823A (zh) * 2015-08-31 2015-12-23 武汉创信维缝纫设备有限公司 用于判断缝纫机是否获取用户操作指令的方法及装置
EP3458998B1 (en) 2016-08-03 2022-11-16 Hewlett-Packard Development Company, L.P. Digitally signed data
US11403685B2 (en) * 2016-10-17 2022-08-02 Blackberry Limited Automatic distribution of licenses for a third-party service operating in association with a licensed first-party service
CN109814861A (zh) * 2017-11-21 2019-05-28 海云数据 为终端用户提供能力的开放平台
US10954049B2 (en) 2017-12-12 2021-03-23 E2Interactive, Inc. Viscous liquid vessel for gifting
US20210326903A1 (en) * 2018-02-09 2021-10-21 Fresenius Vial Sas Method for registering a user in a medical software application
US12020309B2 (en) 2018-05-18 2024-06-25 E2Interactive, Inc. Augmented reality gifting on a mobile device
US10786739B2 (en) * 2018-06-27 2020-09-29 Activision Publishing, Inc. Dynamic adjustment of availability of access to video games based on real-world events
CN111079091A (zh) * 2019-11-21 2020-04-28 中国民航信息网络股份有限公司 一种软件的安全管理方法、装置、终端及服务器
JP2022059246A (ja) * 2020-10-01 2022-04-13 富士フイルムビジネスイノベーション株式会社 情報処理装置、プログラム及び情報処理システム
CN112632480A (zh) * 2021-01-04 2021-04-09 广联达科技股份有限公司 一种产品许可更新方法、装置、电子设备及存储介质

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5138712A (en) * 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
US5260999A (en) * 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
WO1999015947A1 (en) * 1997-09-19 1999-04-01 Hyo Joon Park Software license control system based on independent software registration server
US6134659A (en) * 1998-01-07 2000-10-17 Sprong; Katherine A. Controlled usage software
US7171662B1 (en) * 1998-03-18 2007-01-30 Microsoft Corporation System and method for software licensing
US6009401A (en) * 1998-04-06 1999-12-28 Preview Systems, Inc. Relicensing of electronically purchased software
US6243468B1 (en) * 1998-04-29 2001-06-05 Microsoft Corporation Software anti-piracy system that adapts to hardware upgrades
US6339826B2 (en) * 1998-05-05 2002-01-15 International Business Machines Corp. Client-server system for maintaining a user desktop consistent with server application user access permissions
US6799277B2 (en) * 1998-06-04 2004-09-28 Z4 Technologies, Inc. System and method for monitoring software
US6169976B1 (en) * 1998-07-02 2001-01-02 Encommerce, Inc. Method and apparatus for regulating the use of licensed products
US6324578B1 (en) * 1998-12-14 2001-11-27 International Business Machines Corporation Methods, systems and computer program products for management of configurable application programs on a network
US6510466B1 (en) * 1998-12-14 2003-01-21 International Business Machines Corporation Methods, systems and computer program products for centralized management of application programs on a network
US6223291B1 (en) * 1999-03-26 2001-04-24 Motorola, Inc. Secure wireless electronic-commerce system with digital product certificates and digital license certificates
US20020019814A1 (en) * 2001-03-01 2002-02-14 Krishnamurthy Ganesan Specifying rights in a digital rights license according to events
US6968384B1 (en) * 1999-09-03 2005-11-22 Safenet, Inc. License management system and method for commuter licensing
US20080082446A1 (en) * 1999-10-01 2008-04-03 Hicks Christian B Remote Authorization for Unlocking Electronic Data System and Method
US7076468B2 (en) * 2000-04-28 2006-07-11 Hillegass James C Method and system for licensing digital works
US6386894B2 (en) * 2000-04-28 2002-05-14 Texas Instruments Incorporated Versatile interconnection scheme for beverage quality and control sensors
WO2001092993A2 (en) * 2000-06-02 2001-12-06 Vigilant Systems, Inc. System and method for licensing management
JP2002297254A (ja) * 2001-03-30 2002-10-11 Toshiba Corp ライセンス管理装置、ライセンス管理方法、サービス提供方法、モバイルエージェント
US20020147929A1 (en) * 2001-04-10 2002-10-10 Rose Mark E. Access control for distributed content servers
US7194439B2 (en) * 2001-04-30 2007-03-20 International Business Machines Corporation Method and system for correlating job accounting information with software license information
US7359882B2 (en) * 2001-05-11 2008-04-15 Bea Systems, Inc. Distributed run-time licensing
CA2432189A1 (en) * 2001-06-07 2002-12-19 Contentguard Holdings, Inc. Cryptographic trust zones in digital rigths management
US7140042B2 (en) * 2002-01-14 2006-11-21 Mcafee, Inc. System and method for preventing software piracy
US7747531B2 (en) * 2002-02-05 2010-06-29 Pace Anti-Piracy Method and system for delivery of secure software license information
US7483860B2 (en) * 2002-03-08 2009-01-27 Pace Anti-Piracy Method and system for managing software licenses
JP2003316913A (ja) * 2002-04-23 2003-11-07 Canon Inc サービス提供方法、情報処理システム、その制御プログラム及び記憶媒体
US20030204560A1 (en) * 2002-04-26 2003-10-30 Chen Thomas C.H. Programmable Logic Controller with embedded Intelligent Web Server
US20040039705A1 (en) * 2002-08-26 2004-02-26 Microsoft Corporation Distributing a software product activation key
WO2004036425A1 (en) * 2002-10-17 2004-04-29 Simplima Ltd. System and method for secure usage right management of digital products
AU2003289301A1 (en) * 2002-12-11 2004-06-30 Interlex Inc. Software execution control system and software execution control program
US7644442B2 (en) * 2003-01-31 2010-01-05 Microsoft Corporation Systems and methods for using machine attributes to deter software piracy in an enterprise environment
JP2005011322A (ja) * 2003-05-22 2005-01-13 Ricoh Co Ltd 情報処理装置および認証機能制御方法
US20050010532A1 (en) * 2003-07-09 2005-01-13 Bea Systems, Inc. Self-service customer license management application using software license bank
US20040267590A1 (en) * 2003-06-30 2004-12-30 International Business Machines Corporation Dynamic software licensing and purchase architecture
US10437964B2 (en) * 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
US20050144139A1 (en) * 2003-12-24 2005-06-30 Ling Dynamic Systems Ltd. Internet-based software license key
US20050183021A1 (en) * 2004-02-13 2005-08-18 Allen Joel E. Method for electronically packaging a user's personal computing environment on a computer or device, and mobilizing it for transfer over a network
US7568096B2 (en) * 2004-04-23 2009-07-28 Microsoft Corporation Rendering digital content in a content protection system according to a plurality of chained digital licenses
US7379918B2 (en) * 2004-07-30 2008-05-27 Microsoft Corporation Method and system for single reactivation of software product licenses
US20060048236A1 (en) * 2004-09-01 2006-03-02 Microsoft Corporation Licensing the use of software to a particular user
US20060064349A1 (en) * 2004-09-22 2006-03-23 Microsoft Corporation System and method for rewarding a seller of a computing device
JP4555046B2 (ja) * 2004-10-15 2010-09-29 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ データ転送システム及びデータ転送方法
US7890428B2 (en) * 2005-02-04 2011-02-15 Microsoft Corporation Flexible licensing architecture for licensing digital application
US8091142B2 (en) * 2005-04-26 2012-01-03 Microsoft Corporation Supplementary trust model for software licensing/commercial digital distribution policy
US20060288422A1 (en) * 2005-06-21 2006-12-21 Microsoft Corporation Data structure for identifying hardware and software licenses to distribute with a complying device
US20070027815A1 (en) * 2005-07-29 2007-02-01 Symantec Corporation Systems and methods for centralized subscription and license management in a small networking environment
US7805375B2 (en) * 2005-08-22 2010-09-28 Microsoft Corporation Digital license migration from first platform to second platform
JP4865299B2 (ja) * 2005-11-02 2012-02-01 キヤノン株式会社 情報処理装置及び情報処理方法及びそのプログラム
US7921059B2 (en) * 2005-12-15 2011-04-05 Microsoft Corporation Licensing upsell
US20070198428A1 (en) * 2006-02-22 2007-08-23 Microsoft Corporation Purchasing of computer service access licenses
US20080005787A1 (en) * 2006-06-28 2008-01-03 Siemens Medical Solutions Usa, Inc. Software Distribution and License Management System
IL176890A0 (en) * 2006-07-16 2006-10-31 Portugali Ellie Method and system for remote software installation, recovery, and restoration over a data network
US20080127168A1 (en) * 2006-08-18 2008-05-29 Microsoft Corporation Setup of workloads across nodes
US20080083040A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Aggregated resource license
US8142282B2 (en) * 2006-11-15 2012-03-27 Microsoft Corporation Console integrated downloadable game service
US8327428B2 (en) * 2006-11-30 2012-12-04 Microsoft Corporation Authenticating linked accounts
US20080148363A1 (en) * 2006-12-15 2008-06-19 Nbc Universal, Inc. Digital rights management copy sharing system and method
US20080147530A1 (en) * 2006-12-19 2008-06-19 Kwan Shu-Leung Programmatically transferring applications between handsets based on license information
EP1939784A1 (en) * 2006-12-20 2008-07-02 THOMSON Licensing Methods and a device for secure software installation
US20080222043A1 (en) * 2007-03-07 2008-09-11 Thomas Edward Chefalas System and method for trans-vendor license registration and recovery
US20080306786A1 (en) * 2007-06-05 2008-12-11 Lonowski Wayne J License management tool to monitor and analyze license usage to determine need for additional licenses
US8620818B2 (en) * 2007-06-25 2013-12-31 Microsoft Corporation Activation system architecture
US10013536B2 (en) * 2007-11-06 2018-07-03 The Mathworks, Inc. License activation and management
US20090119757A1 (en) * 2007-11-06 2009-05-07 International Business Machines Corporation Credential Verification using Credential Repository
JP2009211496A (ja) * 2008-03-05 2009-09-17 Ricoh Co Ltd 画像形成装置及びアクセス制御方法
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

Also Published As

Publication number Publication date
US20100293536A1 (en) 2010-11-18
WO2010132213A3 (en) 2011-02-03
AR076521A1 (es) 2011-06-15
TW201040783A (en) 2010-11-16
JP2012527039A (ja) 2012-11-01
EP2430585A2 (en) 2012-03-21
AU2010248069A1 (en) 2011-10-20
CN102422300A (zh) 2012-04-18
EP2430585A4 (en) 2015-10-07
WO2010132213A2 (en) 2010-11-18
TWI492085B (zh) 2015-07-11
MX2011011747A (es) 2011-11-29
CA2758288A1 (en) 2010-11-18
RU2011145981A (ru) 2013-05-27
JP5602841B2 (ja) 2014-10-08
BRPI1015373A2 (pt) 2019-07-09
CN102422300B (zh) 2015-07-29

Similar Documents

Publication Publication Date Title
US10846374B2 (en) Availability of permission models in roaming environments
JP5602841B2 (ja) ユーザー識別に基づく製品機能強化
RU2560784C2 (ru) Модель взаимодействия для переноса состояний и данных
JP6147731B2 (ja) デバイス機能へのアプリケーションの結び付け
KR100962927B1 (ko) 정보 처리 방법, 정보 처리 장치 및 기억 매체
US8402459B2 (en) License management system, license management computer, license management method, and license management program embodied on computer readable medium
US20060168580A1 (en) Software-management system, recording medium, and information-processing device
US20070198427A1 (en) Computer service licensing management
KR20120037903A (ko) Drm 모듈 다운로드 방법 및 장치
US20120173884A1 (en) Method for remotely controlling and monitoring the data produced on desktop on desktop software
JPWO2015025405A1 (ja) 情報処理装置、情報処理方法、プログラム、記憶媒体
JP6604367B2 (ja) 処理装置及び情報処理装置
KR20100031637A (ko) 콘텐츠 배포 시스템 및 콘텐츠 배포 방법
JP6819734B2 (ja) 情報処理装置及び利用端末
JP6733791B2 (ja) 管理装置及び処理装置
JP2006178593A (ja) リソース保護システム
KR101659082B1 (ko) 휴대용 단말기에 설치된 애플리케이션 실행 제어 방법 및 시스템

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