KR20140116166A - 동기 제공자들을 이용하는 애플리케이션 라이센싱 기법 - Google Patents

동기 제공자들을 이용하는 애플리케이션 라이센싱 기법 Download PDF

Info

Publication number
KR20140116166A
KR20140116166A KR1020147021035A KR20147021035A KR20140116166A KR 20140116166 A KR20140116166 A KR 20140116166A KR 1020147021035 A KR1020147021035 A KR 1020147021035A KR 20147021035 A KR20147021035 A KR 20147021035A KR 20140116166 A KR20140116166 A KR 20140116166A
Authority
KR
South Korea
Prior art keywords
license
office
user
licensing
block
Prior art date
Application number
KR1020147021035A
Other languages
English (en)
Other versions
KR102024406B1 (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 KR20140116166A publication Critical patent/KR20140116166A/ko
Application granted granted Critical
Publication of KR102024406B1 publication Critical patent/KR102024406B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • 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
    • G06Q10/00Administration; Management
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services
    • G06Q50/184Intellectual property management
    • 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/107License processing; Key processing
    • G06F21/1073Conversion
    • 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/107License processing; Key processing
    • G06F21/1075Editing
    • 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/107License processing; Key processing
    • G06F21/1076Revocation
    • 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/107License processing; Key processing
    • G06F21/1077Recurrent authorisation
    • 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
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • G06Q2220/18Licensing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Quality & Reliability (AREA)
  • Bioethics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

동기 제공자들을 이용하여 애플리케이션(220)을 라이센싱하기 위한 방법, 시스템 및 컴퓨터 판독 가능 저장 매체가 본 명세서에서 제공된다. 이 방법은 라이센싱 서비스(302)에서 클라이언트 동기 제공자(304D)로부터 애플리케이션(220)에 대한 라이센스에 대한 요청을 수신하는 단계(2502)와 상거래 파트너 동기 제공자를 통해 상기 애플리케이션(220)을 제의하는 상거래 파트너로부터 상기 라이센스에 관한 정보를 수신하는 단계(2504)를 포함한다. 이 방법은 또한 상기 애플리케이션(202)에 대한 상기 라이센스를 클라이언트 컴퓨팅 장치(308)로 반환하는 단계(2506)와, 상기 클라이언트 동기 제공자(304D)로부터 상기 라이센스의 상태에 관한 정보를 수신하는 단계(2508), 상기 라이센스의 상기 상태에 따라 상기 라이센스의 조건들을 조정하는 단계(2510)를 포함한다.

Description

동기 제공자들을 이용하는 애플리케이션 라이센싱 기법{APPLICATION LICENSING USING SYNC PROVIDERS}
라이센스(license) 또는 인타이틀먼트(entitlement)는 일반적으로 클라이언트 컴퓨팅 장치가 예를 들어 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션 및 프레젠테이션 애플리케이션과 같은 특정 애플리케이션들에 액세스할 수 있는 방식을 제어하는 데 사용된다. 통상적으로, 각 타입의 클라이언트 컴퓨팅 장치는 상이한 라이센싱 서비스를 가지며, 클라이언트 컴퓨팅 장치의 타입은 예를 들어 클라이언트 컴퓨팅 장치의 특정 운영 체제(OS) 또는 클라이언트 컴퓨팅 장치의 브랜드를 포함할 수 있다. 그러나, 각 타입의 클라이언트 컴퓨팅 장치에 대해 그러한 상이한 라이센싱 서비스들을 사용하면 여러 가지의 제한이 생기게 된다. 예를 들어, 각 타입의 컴퓨팅 장치에 대해 개별적인 라이센싱 서비스를 구축하고 유지하는 것과 관련하여 많은 비용이 들 수 있다. 게다가, 다양한 타입의 클라이언트 컴퓨팅 장치들에서 사용될 수 있는 하나 이상의 애플리케이션에 대한 라이센스들을 포함하는 번들링 제의(bundling offer)를 제공하는 것이 바람직할 수 있다. 그러나, 개별적인 라이센싱 서비스들의 사용은 그러한 번들링 제의를 방해할 수 있는데, 그 이유는 번들링이 많은 상이한 타입의 장치들 또는 시스템들 간의 통합에 의존하기 때문이다. 또한, 시장 서비스는 라이센스들의 판매를 위한 각각의 개별적인 라이센싱 서비스와 통합되기가 어려울 수 있으며, 라이센스 소유권의 견실한 증거를 얻기가 어려울 수 있다. 예를 들어, 하나의 라이센싱 서비스는 제품 키들을 사용할 수 있는 반면, 다른 라이센싱 서비스는 토큰들을 사용할 수 있다.
아래에서는 본 명세서에서 설명되는 일부 양태들의 기본적인 이해를 제공하기 위해 본 발명의 간단한 요약이 제공된다. 이 요약은 청구 발명의 포괄적인 개요는 아니다. 이것은 청구 발명의 중요한 또는 필수적인 요소들을 식별하는 것을 의도하지 않으며, 본 발명의 범위를 정의하는 것도 의도하지 않는다. 그의 유일한 목적은 청구 발명의 일부 개념들을 나중에 제공되는 더 상세한 설명에 대한 서론으로서 간단한 형태로 제공하는 것이다.
일 실시예는 동기 제공자들을 이용하여 애플리케이션을 라이센싱하기 위한 방법을 제공한다. 이 방법은 라이센싱 서비스에서 클라이언트 동기 제공자로부터 애플리케이션에 대한 라이센스에 대한 요청을 수신하는 단계와 상거래 파트너 동기 제공자를 통해 애플리케이션을 제의하는 상거래 파트너로부터 라이센스에 관한 정보를 수신하는 단계를 포함한다. 이 방법은 또한 애플리케이션에 대한 라이센스를 클라이언트 컴퓨팅 장치로 반환하는 단계와, 클라이언트 동기 제공자로부터 라이센스의 상태에 관한 정보를 수신하는 단계, 라이센스의 상태에 따라 라이센스의 조건들을 조정하는 단계를 포함한다.
다른 실시예는 동기 제공자들을 이용하여 애플리케이션을 라이센싱하기 위한 시스템을 제공한다. 이 시스템은 상거래 파트너 동기 제공자를 통해 상거래 파트너로부터 프로비저닝 요청을 수신하고, 애플리케이션에 대한 라이센스를 요청하는 시스템 호출을 라이센싱 서비스로 전송하고, 라이센스의 갱신 상태를 주기적으로 결정하도록 구성되는 클라이언트 동기 제공자를 포함한다. 이 시스템은 또한 애플리케이션에 대한 라이센스를 클라이언트 컴퓨팅 장치로 반환하고, 클라이언트 동기 제공자로부터 라이센스의 상태에 관한 정보를 수신하고, 라이센스의 상태에 따라 라이센스의 조건들을 조정하도록 구성되는 라이센싱 서비스를 포함한다.
또 다른 실시예는 프로세서에 의해 실행될 때 프로세서로 하여금 클라이언트 동기 제공자로부터 애플리케이션에 대한 라이센스에 대한 요청을 수신하고, 애플리케이션을 제의하는 상거래 파트너에 대응하는 상거래 파트너 동기 제공자로부터 라이센스에 관한 정보를 수신하게 하는 다수의 명령어를 포함하는 하나 이상의 컴퓨터 판독 가능 저장 매체를 제공한다. 이러한 명령어들은 또한 프로세서로 하여금 애플리케이션에 대한 라이센스를 클라이언트 컴퓨팅 장치로 반환하고, 라이센스의 상태에 관한 정보를 결정하고, 라이센스의 상태에 따라 라이센스의 조건들을 조정하게 한다.
이 요약은 개념들의 발췌를 간단한 형태로 소개하기 위해 제공되고, 이러한 개념들은 아래의 상세한 설명에서 더 설명된다. 이 요약은 청구 발명의 중요한 특징들 또는 본질적인 특징들을 식별하는 것을 의도하지 않으며, 청구 발명의 범위를 한정하는 데 사용되는 것도 의도하지 않는다.
도 1은 본 명세서에서 설명되는 라이센싱 서비스를 구현하는 데 사용될 수 있는 네트워킹 환경의 블록도이다.
도 2는 본 명세서에서 설명되는 라이센싱 서비스를 구현하는 데 사용될 수 있는 컴퓨팅 환경의 블록도이다.
도 3a, 3b 및 3c는 애플리케이션들에 대한 라이센스들을 관리하는 데 사용될 수 있는 라이센싱 시스템의 개략도를 나타낸다.
도 4는 시장 서비스를 통해 애플리케이션에 대한 라이센스를 구매하기 위한 방법의 프로세스 흐름도이다.
도 5는 시장 서비스를 통한 애플리케이션에 대한 라이센스의 최초 활성화를 위한 방법의 프로세스 흐름도이다.
도 6은 애플리케이션에 대한 라이센스의 재활성화를 위한 방법의 프로세스 흐름도이다.
도 7은 다수의 상이한 기계에 대해 사용자에게 라이센싱된 다수의 인타이틀먼트 또는 라이센스를 나타내는 블록도이다.
도 8은 인타이틀먼트를 다른 제의로 변환하거나 인타이틀먼트에 관한 제의를 갱신하기 위한 방법의 프로세스 흐름도이다.
도 9는 무키 허가(keyless authorization)가 프로비저닝될 인타이틀먼트의 식별자 및 사용자의 식별자를 검증하기 위한 방법의 프로세스 흐름도이다.
도 10은 적절한 경우에 무키 허가를 프로비저닝하기 위한 방법의 프로세스 흐름도이다.
도 11a는 기존의 가입(또는 TBL) 키를 검색하기 위한 방법의 프로세스 흐름도이다.
도 11b는 새로운 가입 키를 획득하기 위한 방법의 프로세스 흐름도이다.
도 12a는 기존의 제품 키를 검색하기 위한 방법의 프로세스 흐름도이다.
도 12b는 새로운 제품 키를 획득하기 위한 방법의 프로세스 흐름도이다.
도 13은 인타이틀먼트로부터 기계들을 검색하기 위한 방법의 프로세스 흐름도이다.
도 14는 인타이틀먼트로부터 특정 기계를 디프로비저닝하기 위한 방법의 프로세스 흐름도이다.
도 15a는 사용자에 의한 인타이틀먼트의 최초 구매를 위한 방법의 프로세스 흐름도이다.
도 15b는 인타이틀먼트를 갱신하기 위한 방법의 프로세스 흐름도이다.
도 16은 OLS에서 사용자를 프로비저닝하거나 사용자를 하나의 인타이틀먼트로부터 다른 인타이틀먼트로 변환하기 위한 방법의 프로세스 흐름도이다.
도 17은 강제 갱신 프로세스에 따라 인타이틀먼트를 갱신할지를 결정하기 위한 방법의 프로세스 흐름도이다.
도 18a는 장치에 대한 애플리케이션의 최초 라이센싱을 위한 방법의 프로세스 흐름도이다.
도 18b는 라이센스의 상태를 주기적으로 검사하기 위한 방법의 프로세스 흐름도이다.
도 19는 장치를 최초로 라이센싱하기 위한 방법의 프로세스 흐름도이다.
도 20은 파트너가 사용자에게 그의 서비스들에 대한 액세스를 승낙할지를 결정하기 위한 방법의 프로세스 흐름도이다.
도 21은 마스터 데이터 센터 및 다수의 복제 데이터 센터의 예시적인 구성의 개략도이다.
도 22는 계획된 다운타임(downtime)을 실행하기 위한 제1 단계를 나타내는 개략도이다.
도 23은 계획된 다운타임을 실행하기 위한 제2 단계를 나타내는 개략도이다.
도 24는 애플리케이션 라이센싱을 위한 방법의 프로세스 흐름도이다.
도 25는 동기 제공자들을 이용하여 애플리케이션을 라이센싱하기 위한 방법의 프로세스 흐름도이다.
도 26은 다수의 형태의 라이센싱을 이용하여 애플리케이션을 라이센싱하기 위한 방법의 프로세스 흐름도이다.
도 27은 장치들에 대한 애플리케이션을 라이센싱하기 위한 방법의 프로세스 흐름도이다.
도 28은 애플리케이션의 사용자 기반 라이센싱을 제공하기 위한 방법의 프로세스 흐름도이다.
본 명세서에서 개시되는 실시예들은 다양한 기준들 및 기술들에 따른 애플리케이션 라이센싱을 위한 방법들 및 시스템들을 설명한다. 본 명세서에서 사용될 때, 용어 "애플리케이션"은 컴퓨팅 환경 내에서 구현되는 애플리케이션, 프로그램 또는 서비스를 지칭할 수 있다. 본 명세서에서 설명되는 라이센싱 서비스에 따라 이용될 수 있는 애플리케이션들은 MICROSOFT WORD, MICROSOFT EXCEL, MICROSOFT POWERPOINT, MICROSOFT VISIO 또는 MICROSOFT SHAREPOINT를 포함하지만 이에 한정되지 않으며, 이들 모두는 워싱턴 레드먼드의 마이크로소프트사로부터 입수 가능하다. 애플리케이션들은 시장 서비스 또는 다수의 제삼자 서비스 중 임의의 서비스에 의해 네트워크를 통해 컴퓨팅 장치에 제공될 수 있다. 그러한 애플리케이션들에 대한 다양한 상이한 타입의 라이센스들 또는 인타이틀먼트들이 다양한 상이한 방법들을 통해 획득될 수 있다.
본 명세서에서 설명되는 라이센싱 서비스는 새로운 클라이언트 컴퓨팅 장치들을 라이센싱하기 위한 포괄적이고 일관된 방법을 제공함으로써 개별 라이센싱 서비스들의 사용과 관련된 전술한 문제들을 해결한다. 게다가, 라이센싱 서비스는 라이센싱 프로세스와 구매 프로세스를 분리함으로써 새로운 파트너들, 즉 상거래 파트너들이 애플리케이션들을 쉽게 판매하는 것을 가능하게 한다. 게다가, 라이센싱 서비스는 상이한 클라이언트들 또는 클라이언트 장치들에 걸치는 제의들을 가능하게 한다. 라이센싱 서비스는 또한 상이한 클라이언트들의 사용자로 하여금 그들이 증명서들의 단일 세트를 통해 애플리케이션을 사용하도록 프로비저닝된 것을 입증하는 것을 가능하게 한다. 더구나, 라이센싱 서비스는 장치가 오프라인 상태가 될 때도 장치들 및 서비스들에 걸치는 동기화 라이센스 기간의 포함을 가능하게 한다. 이것은 가입이 실효될 때 모든 장치들 및 서비스들에 대한 경험이 일관성 있게 유지되는 것을 가능하게 할 수 있다.
라이센싱 서비스는 본 명세서에서 "오피스 라이센싱 서비스(Office Licensing Service)", 즉 "OLS"로서 지칭될 수 있는데, 그 이유는 이것이 전술한 것들과 같이 워싱턴 레드먼드의 마이크로소프트사로부터 입수 가능한 MICROSOFT OFFICE, 즉 "오피스" 애플리케이션들을 라이센싱하는 데 사용될 수 있기 때문이다. 그러나, 라이센싱 서비스는 임의 수의 제공자들로부터 입수 가능한 임의의 다른 적절한 타입의 애플리케이션들을 라이센싱하는 데에도 사용될 수 있다는 것을 이해해야 한다.
다양한 실시예들에서, OLS는 일관되고 확장 가능하고 명확한 프로토콜들의 세트를 통해 다수의 라이센싱 방법을 이용하기 위한 능력을 제공한다. 그러한 라이센싱 방법들은 특히 예를 들어 제품 키 기반 라이센싱, 온라인 사용자 기반 라이센싱, 장치 기반 라이센싱 및 토큰 기반 라이센싱을 포함할 수 있다.
일부 실시예들에서, OLS는 사용자의 라이센스 상태를 주기적으로 검사하도록 구성된다. 이것은 제품을 오프라인으로 사용하기 위한 능력과 최신 라이센싱 정보, 예컨대 라이센스가 디프로비저닝되었는지의 여부를 획득하기 위한 능력 사이의 균형을 가능하게 할 수 있다. 사용자의 라이센스 상태는 "가입 하트비트(subscription heartbeat)"로서 지칭될 수 있다. 가입 하트비트는 애플리케이션에 대한 라이센스가 디스에이블되어야 하는지를 결정하고, 이에 따라 대응하는 애플리케이션을 비활성화하는 데 사용될 수 있다.
OLS는 다수의 장치 및 서비스에 걸치는 사용자의 라이센스 상태의 동기화를 제공할 수 있다. 일부 실시예들에서, OLS는 오피스를 실행하는 장치들, 예로서 특히 PC, 맥(Mac), 모바일 또는 슬레이트들, 및 오피스 서비스들, 예로서 로밍 세팅들이 일관된 라이센스 상태를 갖는 것을 가능하게 한다. 따라서, 사용자의 가입이 실효될 때, 클라이언트들 및 서비스들에 대한 액세스가 그와 동시에 중단될 수 있다. 게다가, 특정 장치에 대해 허용되는 오프라인 라이센스 시간의 양을 사전 설정함으로써, 사용자가 오프라인 상태가 되는 경우에도 라이센스 상태가 동기화될 수 있다.
또한, OLS는 오프라인 클라이언트들의 허용 한계는 물론, 사기의 검출도 제공할 수 있다. 예를 들어, OLS는 새로운 클라이언트가 라이센스를 요청하는 시점 대(versus) 기존 클라이언트가 갱신된 라이센스를 요청하는 시점을 결정하는 논리를 포함할 수 있다. OLS는 또한 사용자가 과다한 수의 새로운 라이센스들의 요청과 같은 사기 활동을 수행하는 시점을 결정하면서도 사용자로 하여금 장치들을 추가 및 제거하고 소정 수의 활성 장치들을 유지하는 것을 가능하게 하는 논리를 포함할 수 있다.
다양한 실시예들에서, OLS는 장치들의 라이센싱을 제공한다. 예를 들어, OLS는 MOX 장치들의 라이센싱을 제공할 수 있으며, 용어 "MOX"는 일반적으로 모든 윈도우 8 슬레이트 장치들을 지칭한다. OLS는 증명서들 및 OLS 라이센스를 이용하여 그러한 라이센싱을 제공할 수 있다. OLS 라이센스는 제품 키를 통해 승낙되는 전통적인 허가와 다른 새로운 형태의 라이센스이다. OLS 라이센스는 전통적인 시스템, 예로서 전통적인 오피스 소프트웨어 보호 플랫폼(OSPP) 시스템 밖의 서버로부터 구성되는 구성 가능 라이센스 검사 기간들을 포함할 수 있다.
다양한 실시예들에서, OLS는 서비스들에 대한 라이센싱을 제공할 수 있다. 특히, OLS는 적절한 경우에 서비스가 OLS에 조회하는 폴(poll) 모델을 이용하여 서비스들에 대한 라이센싱을 제공하기 위한 확장 가능한 방법을 제공할 수 있다. OLS는 시스템을 확장 가능하게 하기 위해 서비스 또는 클라이언트 자체에 대한 소정 양의 시간 동안의 프로비저닝/라이센스 정보를 캐싱(cashing)할 수 있다. 게다가, 서비스들에 대한 라이센싱을 제공하기 위해 푸시(push) 모델이 사용될 수 있다.
OLS는 재해 복구를 가능하게 할 수 있다. 예를 들어, 맞춤형 지리 복제 논리를 이용하여 동기 상태를 유지하는 지리적으로 분산된 서버들을 통해 0일에 가까운 복구 포인트 및 0분에 가까운 복구 시간이 달성될 수 있다. 이것은 항상 동기 상태를 유지해야 하는 정보와 소정의 정도로 동기화될 수 있는 정보를 분리한 후에 동기 제공자들의 풀(pool)을 통해 정보를 동기화함으로써 달성될 수 있다. 게다가, 록킹 메커니즘들을 이용하여 겹쳐쓰기를 방지할 수 있다.
또한, OLS는 사용자 기반 라이센싱을 제공할 수 있다. 리치(rich) 클라이언트 애플리케이션을 이용하기 위한 라이센싱 정보가 서버로부터 전송될 수 있고, 사용자의 로그인 정보에 기초할 수 있다. 라이센싱 정보는 클라이언트 대신에 서버 상에 유지될 수 있으며, 라이센싱 정보는 서버 상의 사용자와 함께 로밍될 수 있다. 이것은 다양한 시나리오들에서, 예를 들어 애플리케이션들의 로밍을 위해 또는 키 기반 라이센싱의 사용 전의 최초 획득을 위해 사용될 수 있다.
서론으로서, 도면들 중 일부는 기능, 모듈, 특징, 요소 등으로서 다양하게 지칭되는 하나 이상의 구조적 컴포넌트와 관련된 개념들을 설명한다. 도면들에 도시된 다양한 컴포넌트들은 임의의 방식으로, 예를 들어 소프트웨어, 하드웨어(예로서, 개별 논리 컴포넌트 등), 펌웨어 등에 의해 또는 이러한 구현들의 임의 조합에 의해 구현될 수 있다. 일 실시예에서, 다양한 컴포넌트들은 실제 구현에서의 대응하는 컴포넌트들의 사용을 반영할 수 있다. 다른 실시예들에서, 도면들에 도시된 임의의 단일 컴포넌트가 다수의 실제 컴포넌트에 의해 구현될 수 있다. 도면들 내의 임의의 둘 이상의 개별 컴포넌트의 도시는 단일의 실제 컴포넌트에 의해 수행되는 상이한 기능들을 반영할 수 있다. 아래에 설명되는 도 1은 도면들에 도시된 기능들을 구현하는 데 사용될 수 있는 하나의 시스템에 관한 상세들을 제공한다.
다른 도면들은 개념들을 흐름도 형태로 설명한다. 이러한 형태에서, 소정의 동작들은 소정의 순서로 수행되는 상이한 블록들을 구성하는 것으로 설명된다. 그러한 구현들은 예시적이며, 비한정적이다. 본 명세서에서 설명되는 소정의 블록들은 함께 그룹화될 수 있고, 단일 동작에서 수행될 수 있으며, 소정 블록들은 복수의 컴포넌트 블록으로 분리될 수 있고, 소정 블록들은 블록들의 병렬 수행 방식을 포함하는, 여기서 설명되는 것과 다른 순서로 수행될 수 있다. 흐름도들에 도시된 블록들은 소프트웨어, 하드웨어, 펌웨어, 수동 처리 등에 의해 또는 이러한 구현들의 임의 조합에 의해 구현될 수 있다. 본 명세서에서 사용될 때, 하드웨어는 컴퓨터 시스템, 개별 논리 컴포넌트, 예를 들어 주문형 집적 회로(ASIC) 등은 물론, 이들의 임의 조합을 포함할 수 있다.
용어와 관련하여, "구성되는"이라는 표현은 식별되는 동작을 수행하기 위해 임의 종류의 기능이 구성될 수 있는 임의의 방식을 포함한다. 기능은 예를 들어 소프트웨어, 하드웨어, 펌웨어 등 또는 이들의 임의 조합들을 이용하여 동작을 수행하도록 구성될 수 있다.
용어 "논리"는 작업을 수행하기 위한 임의의 기능을 포함한다. 예를 들어, 흐름도들에서 설명되는 각각의 동작은 그러한 동작을 수행하기 위한 논리에 대응한다. 동작은 예를 들어 소프트웨어, 하드웨어, 펌웨어 등 또는 이들의 임의 조합들을 이용하여 수행될 수 있다.
본 명세서에서 사용될 때, 용어 "컴포넌트", "시스템", "클라이언트" 등은 컴퓨터 관련 엔티티, 즉 하드웨어, (예로서, 실행중인) 소프트웨어 및/또는 펌웨어 또는 이들의 임의 조합을 지칭하는 것을 의도한다. 예를 들어, 컴포넌트는 프로세서에서 실행되는 프로세스, 객체, 실행 파일, 프로그램, 함수, 라이브러리, 서브루틴 및/또는 컴퓨터 또는 소프트웨어와 하드웨어의 조합일 수 있다.
예를 들어, 서버에서 실행되는 애플리케이션 및 서버 양자는 컴포넌트일 수 있다. 하나 이상의 컴포넌트가 프로세스 내에 상주할 수 있으며, 하나의 컴포넌트가 하나의 컴퓨터에 국지화될 수 있고/있거나, 둘 이상의 컴퓨터 사이에 분산될 수 있다. 용어 "프로세서"는 일반적으로 컴퓨터 시스템의 처리 유닛과 같은 하드웨어 컴포넌트를 지칭하는 것으로 이해된다.
더구나, 청구 발명은 표준 프로그래밍 및/또는 엔지니어링 기술들을 이용하여, 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의 조합을 생성하여, 개시되는 발명을 구현하도록 컴퓨터를 제어하는 방법, 장치 또는 제조물로서 구현될 수 있다. 본 명세서에서 사용되는 바와 같은 용어 "제조물"은 임의의 유형적인 컴퓨터 판독 가능 저장 장치 또는 매체로부터 액세스 가능한 컴퓨터 프로그램을 포함하는 것을 의도한다.
컴퓨터 판독 가능 저장 매체는 저장 장치들(예로서, 특히 하드 디스크, 플로피 디스크 및 자기 스트립들), 광 디스크들(예로서, 특히 컴팩트 디스크(CD) 및 디지털 다기능 디스크(DVD)), 스마트 카드들 및 플래시 메모리 장치들(예로서, 특히 카드, 스틱 및 키 드라이브)을 포함한다. 이와 달리, 컴퓨터 판독 가능 매체(즉, 비저장 매체)는 신호들을 통신하기 위한 전송 매체 등과 같은 통신 매체를 더 포함할 수 있다.
더욱이, 단어 "예시적인"은 본 명세서에서 예, 사례 또는 실례로서의 사용을 의미하기 위해 사용된다. 본 명세서에서 "예시적인" 것으로서 설명되는 임의의 양태 또는 설계는 다른 양태들 또는 설계들보다 바람직하거나 유리한 것으로 해석될 필요는 없다.
컴퓨팅 환경
청구 발명의 다양한 양태들을 구현하기 위한 상황을 제공하기 위하여, 도 1-2 및 아래의 설명은 본 발명의 다양한 양태들이 구현될 수 있는 컴퓨팅 환경의 간단하고 일반적인 설명을 제공하는 것을 의도한다. 예를 들어, 애플리케이션을 라이센싱하기 위한 방법 및 시스템이 그러한 컴퓨팅 환경에서 구현될 수 있다. 청구 발명은 위에서 로컬 컴퓨터 또는 원격 컴퓨터에서 실행되는 컴퓨터 프로그램의 컴퓨터 실행 가능 명령어들과 일반적으로 관련하여 설명되었지만, 이 분야의 기술자들은 본 발명이 다른 프로그램 모듈과 관련하여 구현될 수도 있다는 것을 인식할 것이다. 일반적으로, 프로그램 모듈들은 특정 작업들을 수행하거나 특정 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 컴포넌트들, 데이터 구조들 등을 포함한다.
더욱이, 이 분야의 기술자들은 본 발명이 단일 프로세서 또는 다중 프로세서 컴퓨터 시스템, 미니 컴퓨터, 메인프레임 컴퓨터는 물론, 개인용 컴퓨터, 핸드헬드 컴퓨팅 장치, 마이크로프로세서 기반 또는 프로그래밍 가능 소비자 전자 장치 등을 포함하는 다른 컴퓨터 시스템 구성들을 이용하여 실시될 수 있으며, 이들 각각은 하나 이상의 관련 장치와 유효하게 통신할 수 있다는 것을 알 것이다. 청구 발명의 도시된 양태들은 통신 네트워크를 통해 링크되는 원격 처리 장치들에 의해 소정의 작업들이 수행되는 분산 컴퓨팅 환경들에서도 실시될 수 있다. 그러나, 본 발명의 전부는 아니더라도 일부 양태들은 독립 컴퓨터들에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 또는 원격 메모리 저장 장치들 내에 배치될 수 있다.
도 1은 본 명세서에서 설명되는 라이센싱 서비스를 구현하는 데 사용될 수 있는 네트워킹 환경(100)의 블록도이다. 네트워킹 환경(100)은 하나 이상의 클라이언트(들)(102)를 포함한다. 클라이언트(들)(102)는 하드웨어 및/또는 소프트웨어(예로서, 스레드, 프로세스 또는 컴퓨팅 장치)일 수 있다. 네트워킹 환경(100)은 하나 이상의 서버(들)(104)도 포함한다. 서버(들)(104)는 하드웨어 및/또는 소프트웨어(예로서, 스레드, 프로세스 또는 컴퓨팅 장치)일 수 있다. 서버들(104)은 예를 들어 본 발명을 이용하여 검색 동작들을 수행하기 위한 스레드들을 수용할 수 있다.
클라이언트(102)와 서버(104) 간의 하나의 가능한 통신은 둘 이상의 컴퓨터 프로세스 사이에서 전송되도록 적응되는 데이터 패킷의 형태를 가질 수 있다. 네트워킹 환경(100)은 클라이언트(들)(102)와 서버(들)(104) 사이의 통신을 촉진하는 데 사용될 수 있는 통신 프레임워크(108)를 포함한다. 클라이언트(들)(102)는 클라이언트(들)(102)에 국지적인 정보를 저장하는 데 사용될 수 있는 하나 이상의 클라이언트 데이터 저장소(들)(110)에 동작 가능하게 접속된다. 클라이언트 데이터 저장소(들)(110)는 클라이언트(들)(102) 내에 저장될 수 있거나, 원격적으로, 예를 들어 클라우드 서버 내에 배치될 수 있다. 유사하게, 서버(들)(104)는 서버들(104)에 국지적인 정보를 저장하는 데 사용될 수 있는 하나 이상의 서버 데이터 저장소(들)(106)에 동작 가능하게 접속된다.
도 2는 본 명세서에서 설명되는 라이센싱 서비스를 구현하는 데 사용될 수 있는 컴퓨팅 환경의 블록도이다. 컴퓨팅 환경(200)은 컴퓨터(202)를 포함한다. 컴퓨터(202)는 처리 유닛(204), 시스템 메모리(206) 및 시스템 버스(208)를 포함한다. 시스템 버스(208)는 시스템 메모리(206)를 포함하지만 이에 한정되지 않는 시스템 컴포넌트들을 처리 유닛(204)에 결합한다. 처리 유닛(204)은 임의의 다양한 이용 가능 프로세서일 수 있다. 이중 마이크로프로세서들 및 다른 멀티프로세서 아키텍처들도 처리 유닛(204)으로 사용될 수 있다.
시스템 버스(208)는 이 분야의 통상의 기술자들에게 알려진 임의의 다양한 이용 가능 버스 아키텍처를 이용하는 메모리 버스 또는 메모리 제어기, 주변장치 버스 또는 외부 버스, 또는 로컬 버스를 포함하는 임의의 다양한 타입의 버스 구조일 수 있다. 시스템 메모리(206)는 휘발성 메모리(210) 및 비휘발성 메모리(212)를 포함하는 컴퓨터 판독 가능 저장 매체이다. 예를 들어 시동 중에 컴퓨터(202) 내의 요소들 사이에서 정보를 전송하기 위한 기본 루틴들을 포함하는 기본 입출력 시스템(BIOS)은 비휘발성 메모리(212) 내에 저장된다. 한정이 아니라 예로서, 비휘발성 메모리(212)는 판독 전용 메모리(ROM), 프로그래밍 가능 ROM(PROM), 전기적으로 프로그래밍 가능한 ROM(EPROM), 전기적으로 소거 및 프로그래밍 가능한 ROM(EEPROM) 또는 플래시 메모리를 포함할 수 있다.
휘발성 메모리(210)는 외부 캐시 메모리로서 작용하는 랜덤 액세스 메모리(RAM)를 포함한다. 한정이 아니라 예로서, RAM은 정적 RAM(SRAM), 동적 RAM(DRAM), 동기식 DRAM(SDRAM), 더블 데이터 레이트 SDRAM(DDR SDRAM), 향상된 SDRAM(ESDRAM), SynchLink(상표) DRAM (SLDRAM), Rambus(등록상표) 다이렉트 RAM(RDRAM), 다이렉트 Rambus(등록상표) 동적 RAM(DRDRAM) 및 Rambus(등록상표) 동적 RAM(RDRAM)과 같은 다양한 형태로 이용 가능하다.
컴퓨터(202)는 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체와 같은 다른 컴퓨터 판독 가능 저장 매체도 포함한다. 도 2는 예를 들어 디스크 저장 장치(214)를 도시한다. 디스크 저장 장치(214)는 자기 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, Jaz 드라이브, Zip 드라이브, LS-100 드라이브, 플래시 메모리 카드 또는 메모리 스틱과 같은 장치들을 포함하지만 이에 한정되지 않는다.
게다가, 디스크 저장 장치(214)는 저장 매체를 개별적으로, 또는 컴팩트 디스크 ROM 장치(CD-ROM), CD 기록 가능 드라이브(CD-R 드라이브), CD 재기록 가능 드라이브(CD-RW 드라이브) 또는 디지털 다기능 디스크 ROM 드라이브(DVD-ROM)와 같은 광 디스크 드라이브를 포함하지만 이에 한정되지 않는 다른 저장 매체와 연계하여 포함할 수 있다. 시스템 버스(208)에 대한 디스크 저장 장치(214)의 접속을 용이하게 하기 위해, 통상적으로 인터페이스(216)와 같은 이동식 또는 비이동식 인터페이스가 사용된다.
도 2는 컴퓨팅 환경(200)에서 설명되는 기본 컴퓨터 자원들과 사용자들 간의 매개물로서 작용하는 소프트웨어를 설명한다는 것을 알아야 한다. 그러한 소프트웨어는 운영 체제(218)를 포함한다. 디스크 저장 장치(214)에 저장될 수 있는 운영 체제(218)는 컴퓨터(202)의 자원들을 제어 및 할당하도록 작용한다.
시스템 애플리케이션들(220)은 시스템 메모리(206)에 또는 디스크 저장 장치(214)에 저장된 프로그램 모듈들(222) 및 프로그램 데이터(224)를 통한 운영 체제(218)에 의한 자원들의 관리를 이용한다. 청구 발명은 다양한 운영 체제들 또는 운영 체제들의 조합들을 이용하여 구현될 수 있다는 것을 알아야 한다.
사용자는 입력 장치들(226)을 통해 명령들 또는 정보를 컴퓨터(202)에 입력한다. 입력 장치들(226)은 (마우스, 트랙볼, 스타일러스 등과 같은) 포인팅 장치, 키보드, 마이크, 제스처 또는 터치 입력 장치, 음성 입력 장치, 조이스틱, 위성 안테나, 스캐너, TV 튜너 카드, 디지털 카메라, 디지털 비디오 카메라, 웹 카메라 등을 포함하지만 이에 한정되지 않는다. 입력 장치들(226)은 인터페이스 포트(들)(228)를 통해 시스템 버스(208)를 통해 처리 유닛(204)에 접속된다. 인터페이스 포트(들)(228)는 예를 들어 직렬 포트, 병렬 포트, 게임 포트 및 유니버설 직렬 버스(USB)를 포함한다. 출력 장치(들)(230)도 입력 장치(들)(226)와 동일한 타입의 포트들을 사용할 수 있다. 따라서, 예를 들어, USB 포트는 컴퓨터(202)에 입력을 제공하고, 컴퓨터(202)로부터 출력 장치(230)로 정보를 출력하는 데 사용될 수 있다.
많은 출력 장치(230) 중에는, 출력 어댑터들(232)을 통해 액세스될 수 있는 모니터, 스피커 및 프린터와 같은 일부 출력 장치들이 존재한다는 것을 설명하기 위해 출력 어댑터(232)가 제공된다. 출력 어댑터들(232)은 한정이 아니라 예로서 출력 장치(230)와 시스템 버스(208) 사이의 접속의 수단을 제공하는 비디오 및 사운드 카드들을 포함한다. 원격 컴퓨터(들)(234)와 같은 다른 장치들 및/또는 장치들의 시스템들은 입력 및 출력 능력들 둘 다를 제공한다는 점에 유의할 수 있다.
컴퓨터(202)는 원격 컴퓨터(들)(234)와 같은 하나 이상의 원격 컴퓨터에 대한 논리적 접속을 이용하여 네트워킹 환경(100)과 같은 네트워킹 환경에서 이벤트 예측 시스템을 호스트하는 서버일 수 있다. 원격 컴퓨터(들)(234)는 웹 브라우저, PC 애플리케이션, 모바일 전화 애플리케이션 등을 갖도록 구성되는 클라이언트 시스템들일 수 있다. 원격 컴퓨터(들)(234)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 워크스테이션, 마이크로프로세서 기반 설비, 모바일 전화, 피어 장치 또는 다른 일반 네트워크 노드 등일 수 있으며, 통상적으로 컴퓨터(202)와 관련하여 설명된 요소들 중 다수 또는 전부를 포함한다. 간소화를 위해, 원격 컴퓨터(들)(234)는 메모리 저장 장치(236)를 갖는 것으로 도시된다. 원격 컴퓨터(들)(234)는 네트워크 인터페이스(238)를 통해 컴퓨터(202)에 논리적으로 접속되고, 이어서 통신 접속(240)을 통해 물리적으로 접속된다.
네트워크 인터페이스(238)는 근거리 네트워크(LAN) 및 광역 네트워크(WAN)와 같은 유선 및/또는 무선 통신 네트워크들을 포함한다. LAN 기술들은 광섬유 분산 데이터 인터페이스(FDDI), 구리 분산 데이터 인터페이스(CDDI), 이더넷, 토큰 링 등을 포함한다. WAN 기술들은 점대점 링크, 통합 서비스 디지털 네트워크(ISDN) 및 그 변형들과 같은 회선 교환 네트워크, 패킷 교환 네트워크 및 디지털 가입자 회선(DSL)을 포함하지만 이에 한정되지 않는다.
통신 접속(들)(240)은 네트워크 인터페이스(238)를 시스템 버스(208)에 접속하는 데 사용되는 하드웨어/소프트웨어를 지칭한다. 통신 접속(240)은 설명의 명료화를 위해 컴퓨터(202) 내에 도시되지만, 컴퓨터(202) 외부에 위치할 수도 있다. 네트워크 인터페이스(238)에 접속하기 위한 하드웨어/소프트웨어는 예를 들어 모바일 전화 스위치, 통상의 전화 등급 모뎀, 케이블 모뎀 및 DSL 모뎀을 포함하는 모뎀, ISDN 어댑터 및 이더넷 카드와 같은 내부 및 외부 기술들을 포함할 수 있다.
라이센싱 시스템
도 3a, 3b 및 3c는 애플리케이션들에 대한 라이센스들을 관리하는 데 사용될 수 있는 라이센싱 시스템(300)의 개략도를 나타낸다. 라이센싱 시스템(300)은 오피스 애플리케이션들, 즉 오피스를 통해 이용 가능한 애플리케이션들에 대한 라이센스들을 관리하는 데 사용되는 오피스 라이센싱 서비스(OLS)(302)와 관련하여 설명된다. 그러나 라이센싱 시스템(300)은 임의의 다른 적절한 타입의 애플리케이션들 또는 서비스들을 관리하는 데 사용될 수 있다는 것을 이해해야 한다.
라이센싱 시스템(300)은 다수의 동기 제공자(304A-D)를 포함할 수 있다. 동기 제공자들(304A-D)은 OLS(302)의 변경 없이 라이센싱 시스템(300)의 확장성을 가능하게 하는 플러깅(plugging) 가능 컴포넌트들이다. 동기 제공자들(304A-D)은 다수의 상거래 파트너가 OLS(302)와 상호작용하는 것을 가능하게 할 수 있다. 예를 들어, 도 3a에 도시된 바와 같이, 마이크로소프트 온라인(MSOnline) 동기 제공자(340A)는 OLS(302)와 MSOnline 파트너(306A) 사이의 상호작용을 가능하게 할 수 있다. 오피스 시장 경험(OMEX) 동기 제공자(304B)는 OLS(302)와 OMEX 파트너(306B) 사이의 상호작용을 가능하게 할 수 있다. 판매 시점 활성화(POSA) 동기 제공자(304C)는 OLS(302)와 POSA 파트너(306C) 사이의 상호작용을 가능하게 할 수 있다.
게다가, 클라이언트 동기 제공자(304D)는 OLS(302)와 클라이언트 컴퓨팅 장치(308) 사이의 상호작용을 가능하게 할 수 있다. 클라이언트 컴퓨팅 장치(308)는 OLS(302)를 이용하여 라이센싱 시스템(300)을 통해 특정 애플리케이션 또는 서비스를 사용자에게 라이센싱할 수 있는 데스크탑 컴퓨터 또는 랩탑 컴퓨터와 같은 임의의 적절한 타입의 컴퓨팅 장치일 수 있다. 더구나, 임의 수의 추가적인 동기 제공자들을 이용하여 임의 수의 새로운 상거래 파트너들이 라이센싱 시스템(300) 내에 통합될 수도 있다.
도 3a에 도시된 바와 같이, 각각의 동기 제공자(304A, 304B, 304C, 304D)는 각각의 파트너(306A, 306B, 306C, 306D)에 의해 요청되는 액션들을 수행하기 위한 하나 이상의 컴포넌트를 포함할 수 있다. 게다가, 각각의 동기 제공자(304A, 304B, 304C, 304D)는 화살표들(312A, 312B, 312C, 312D)을 통해 각각 지시되는 바와 같이 OLS(302) 내의 하나 이상의 프로비저닝 애플리케이션 프로그래밍 인터페이스(API)(310)와 상호작용할 수 있다. 프로비저닝 API들(310)은 OLS(302)에 의해 프로비저닝 액션들을 수행하는 데 사용된다. 프로비저닝 API들(310)을 호출하는 소스들, 예를 들어 동기 제공자들(304A-D)은 일반적으로 신뢰성 있는 소스들인 것으로 가정된다.
OLS API
OLS(302)는 OLS(302)로부터 정보를 검색하는 것은 물론, 클라이언트 컴퓨팅 장치(308)로부터 정보를 송신 및 수신하는 데에도 사용되는 다수의 OLS API들(314)을 포함할 수 있다. OLS API들(314)은 화살표 318A 및 318B에 의해 지시되는 바와 같이 클라이언트 컴퓨팅 장치(308)의 오피스 라이센싱 클라이언트(OLC)(316)에 의해 호출될 수 있다. OLS API들(314)은 화살표 322A, 322B 및 322C에 의해 지시되는 바와 같이 OLS(302)로부터 기계 또는 라이센싱 정보를 송신 또는 획득하기를 원하는 임의의 서비스들 또는 웹사이트들(320A, 320B)에 의해서도 호출될 수 있다. OLS API들(314)은 예를 들어 제품 키 또는 사용자의 프로비저닝 상태를 검사하거나 제품 키를 검색하는 것과 같은 액션들을 수행할 수 있다.
일부 실시예들에서, 인터넷을 통해 액세스될 수 있고 OLC에 의해 호출되는 공개 버전 및 소정의 신뢰되는 파트너들에 의해서만 액세스될 수 있고 그러한 파트너들에 의해 호출되는 비공개 버전을 포함하는 OLS API피들(314)의 2개 세트가 존재한다. OLS API들(314)의 공개 버전과 비공개 버전 간의 주요 차이는 비공개 버전이 패스포트 고유 ID(PUID)를 사용자 증명서가 아니라 식별자로서 인정할 수 있고, 비공개 버전이 공개 버전과 다른 상이한 서버들을 이용하여 상이한 엔드포인트로서 구현될 수 있다는 점이다.
클라이언트 컴퓨팅 장치(308)의 OLC(316)는 OLS(304)와 통신하고, OSPP(324)를 통해 라이센스를 활성화하고, UI와 인터페이스하고, 오피스(326)가 클라이언트 컴퓨팅 장치(308)에서 실행되도록 허가를 제공하는 것과 같은 클라이언트측 라이센싱 기능들을 처리하는 클라이언트측 컴포넌트이다. OLC(316)는 또한 화살표 328A 및 328B에 의해 지시되는 바와 같이 정보를 POSA 동기 제공자(304C) 및 클라이언트 동기 제공자(304D)로 전송할 수 있다. 예컨대, OLC(316)는 클라이언트 컴퓨팅 장치(308)의 라이센스에 관한 데이터를 클라이언트 동기 제공자(304D) 내로 푸시할 수 있다.
다양한 실시예들에서, OLC(316)는 또한 식별자 플랫폼(330)과 통신한다. 식별자 플랫폼(330)은 사용자의 오피스 시장 ID, 즉 라이브 ID와 같은 사용자의 식별자에 관한 정보를 포함할 수 있다. 그러한 정보는 클라이언트 컴퓨팅 장치(308) 상에서 오피스(326)를 활성화하는 데 사용될 수 있다.
OLC(316)는 사용자 또는 클라이언트가 라이브 ID 또는 BPOS ID를 이용하여 오피스(326)를 활성화하였는지를 인식할 수 있다. 이것은 상황 고유 사용자 인터페이스들의 사용을 가능하게 할 수 있다. 예를 들어, 라이브 ID UI는 BPOS UI와 상이할 수 있다. 게다가, OLC(316)는 다운로드 위치 또는 오피스(326)를 설치하는 데 사용되는 CD에 따라 사용자에게 어느 UI를 표시할 지를 결정하는 것이 가능할 수 있다.
OLS(302)는 제품 키 캐시 서비스(332) 및 제품 키 캐시(334)를 포함할 수 있다. 제품 키 캐시(334)는 OLS(302)에 의해 사용되는 정기적으로 다시 채워지는 제품 키 캐시일 수 있다. 제품 키 캐시 서비스(332)는 화살표 338에 의해 지시되는 바와 같이 제품 키 저장 데이터베이스(336)로부터 제품 키들을 검색하도록 구성될 수 있다.
OLS(302)는 또한 디프로비저닝 서비스(340)를 포함할 수 있다. 디프로비저닝 서비스(340)는 화살표 344에 의해 지시되는 바와 같이 활성화 검증 시스템(AVS)(342)과의 통신을 통해 OLS에서 디프로비저닝된 제품 키들을 검사하는 비동기 서비스일 수 있다. 디프로비저닝 서비스(340)는 또한 AVS(342)를 통해 디프로비저닝된 제품 키들과 관련된 라이센스들을 주기적으로 비활성화할 수 있다.
라이센싱 시스템(300)은 또한 사기 검출 시스템(346)을 포함할 수 있다. 사기 검출 시스템은 사기 검출 서비스(348) 및 사기 검출 데이터베이스(350)를 포함할 수 있다. 사기 검출 서비스(348)는 관련 데이터를 OLS(302)의 라이센싱 저장소(352)로부터 사기 검출 데이터베이스(350) 내로 정기적으로 동기화할 수 있다. 사기 검출 서비스(348)는 화살표 356에 의해 지시되는 바와 같이 OLS(302)의 데이터 액세스 계층(354)을 통해 라이센싱 저장소(352)로부터 데이터를 획득할 수 있다. 이어서, 사기 검출 서비스(348)는 OLS(302)와 별개로 데이터를 분석할 수 있으며, 따라서 OLS(302)에 대한 부하를 줄일 수 있다. 다양한 실시예들에서, OLS(302)와 별개로 사기 검출 시스템(346)을 구현하는 것은 또한 OLS(302)의 변경 없이 사기 검출 시스템(346)의 컴포넌트들의 갱신을 가능하게 한다.
오피스용 라이센싱 서비스의 사용
이 섹션은 오피스 또는 더 구체적으로는 (오피스 15로도 알려진) 오피스 2013에 대해 본 명세서에서 설명되는 라이센싱 서비스(또는 OLS)의 사용의 여러 예시적인 실시예를 제공한다. 오피스 2013에서, OLS는 비즈니스 제품 온라인 스위트(BPOS) 가입과 같은 다양한 라이센싱 모델들을 지원할 수 있으며, 용어 "BPOS"는 마이크로소프트 온라인 마이크로소프트(365), 및 소비자 가입과 교체 가능하게 사용된다. OLS는 또한 고전적인 영구 라이센싱, 시험 라이센싱 및 무키, 즉 증명서 기반 라이센싱은 물론, 다양한 모델들 간의 변환들을 지원할 수 있다. 더구나, OLS는 이러한 상이한 모델들을 상이한 전달 방법들, 예를 들어 오리지널 장비 제조자(OEM) 프리로드, CD 및 전자 소프트웨어 배포(ESD)와 관련하여 지원할 수 있다.
오피스(2012) 내의 OLS에 의해 지원되는 다양한 라이센싱 모델들은 오피스(2013)에 대한 키 비즈니스 우선순위들이다. 이러한 다양한 모델들 모두를 처리할 수 있는 단일 시스템이 오피스(2012)의 오버헤드 및 복잡성을 줄일 수 있다.
BPOS 시나리오들
BPOS 시나리오들은 비즈니스에 집중되는 시나리오들이다. 그러한 시나리오들은 통상적으로 관리자(admin)를 포함하며, 결과적인 라이센스들은 통상적으로 최종 사용자 대신에 조직과 관련된다. 따라서, admin은 하나의 사용자와 관계없이 라이센스를 취하여 조직 내의 다른 사용자에게 할당하는 것이 가능할 수 있다. 더구나, BPOS 시나리오들은 가입들만을 포함할 수 있다.
아래에서는 BPOS 시나리오들에 대한 가입 구매 및 프로비저닝의 여러 예시적인 실시예를 설명한다. 그러한 실시예들에 따르면, 회사의 소유자는 그의 직원들에 대한 BPOS의 일부로서 BPOS 및 8개의 사용자 라이센스에 대한 오피스 가입을 구매한다. 회사의 정보 기술(IT) admin은 8명의 직원 각각에 대한 BPOS 증명서들을 포함하는 계정을 생성한다. IT admin은 이어서 직원들 각각에 대해 오피스를 위한 사용자 라이센스를 프로비저닝한다.
단일 기계를 갖는 사용자
직원은 그가 이제 오피스 2013을 사용할 수 있다는 것을 그에게 알리는 이메일을 IT admin으로부터 수신한다. 이메일은 직원이 이용할 수 있는 제품들 및 서비스들에 대한 정보를 제공하는 Office.com에 대한 링크를 갖는다. 직원은 이메일 링크를 클릭하고, 그의 BPOS 증명서들을 이용하여 서명하도록 요청되며, 오피스 2013을 런칭하기 위한 링크를 본다. 직원은 링크를 클릭하며, 오피스 2013이 즉시 시작된다. 오피스 2013이 런칭될 때, 직원은 오피스 2013을 활성화하기 위해 그의 증명서들을 검증하도록 요청된다.
다수의 기계를 갖는 사용자
직원이 Office.com을 방문할 때, 직원은 가입이 최대 2대의 기계에 대한 오피스 2013의 설치를 허용한다는 것을 알게 된다. 따라서, 직원은 제2 기계로부터 Office.com에 서명하고, 동일한 절차를 이용하여 제2 기계에 오피스를 설치하고 런칭한다.
직원은 그가 2대의 기계에서만 오피스를 사용할 자격이 있다는 것을 알지만, 그가 오피스를 제3 기계에 설치 및 실행하려고 시도하는 경우에 어떤 일이 일어나는지를 보기로 결정한다. 직원은 동일한 절차를 수행하고, 오피스가 런칭된다. 그러나, 이때, 직원은 그가 이미 2대의 다른 기계에서 그의 라이센스를 사용했다는 것을 오피스에 의해 통지받는다. 직원은 그가 오피스를 설치한 기계들의 리스트를 제공받으며, 계속하기 위해서는 다른 기계들 중 하나로부터 그의 라이센스를 제거하도록 프롬프트(prompt)된다. 그는 리스트로부터 제거할 기계를 선택하는 대신에 취소하기로 결정한다. 직원은 여전히 소정 일수 동안 제3 기계에 대해 오피스 설치를 사용하는 것이 가능할 수 있는데, 이는 가입 라이센스가 유예 기간을 허용할 수 있기 때문이다. 직원이 기존의 2대의 기계 중 하나로부터 그의 라이센스를 제거하기로 결정한 경우, 그 기계에 대한 라이센스가 제거되었을 것이고, 그는 제3 기계에 대해 그의 라이센스를 활성화할 수 있었을 것이다.
사용자 디프로비저닝
수개월 후에, 직원은 임시 휴가를 갖는다. 소유자는 직원이 휴가 중인 기간을 채울 임시 계약 작업자를 채용하기로 결정한다. 계약 작업자의 첫째 날의 업무 전에, 회사의 IT admin은 직원의 BPOS 계정을 비활성화하고, 계약 작업자의 계정을 생성하며, 오피스에 대해 계약 작업자를 프로비저닝한다.
계약 작업자의 첫째 날 업무 시에, 그는 직원의 컴퓨터 및 그를 위해 생성된 계정을 제공받는다. 오피스를 시작할 때, 계약 작업자는 그의 기계에 대한 현재의 오피스 라이센스가 실효되었으며, 그가 오피스의 사용을 계속하기 위해 다른 계정을 제공할 수 있다는 것을 통지받는다. 계약 작업자는 그의 계정 정보를 입력하고, 오피스를 정상적으로 사용할 수 있다. 계약 작업자가 그의 계정을 제공하지 않은 경우에도, 그가 오피스의 사용을 계속했을 수 있는 유예 기간을 가졌을 수 있다.
가입 갱신
거의 일년이 지난 후, 회사의 소유자는 갱신 통지 이메일을 수신한다. 소유자는 가입을 일년 더 연장하기로 결정한다. 소유자는 가입을 갱신하기 위해 Office.com을 방문한다. 한편, 직원들은 중단 없는 오피스 사용을 경험할 수 있다.
대기업 시나리오들
대기업 시나리오들은 BPOS 시나리오들과 본질적으로 동일하다. 그러나, 대기업 시나리오들은 사용자가 그의 도메인 증명서들을 이용하여, 아마도 심지어는 그들이 현재 그들의 도메인에 가입된 경우에 무언의 허가를 이용하여 오피스를 활성화하는 것을 가능하게 하는 페더레이션 셋업(federation setup)을 포함할 수 있다.
아래에서는 대기업 시나리오들에 대한 가입 구매 및 프로비저닝의 여러 예시적인 실시예를 설명한다. 그러한 실시예들에 따르면, 회사의 공급 관리자는 자주 출장을 간다. 그는 때때로 그의 컴퓨터를 갖고 있지 않으며, 그의 공급자들로부터 그가 할 수 있는 것을 빌린다. 그는 회사의 IT admin이 오피스에 대해 프로비저닝한 직원들 중 하나였다.
사용자가 오피스 애플리케이션들을 알려지지 않은 기계로 로밍
공급 관리자의 다른 회사로의 출장 시에, 그는 그의 랩탑을 잊고 간다. 그러나, 그는 그가 작성하고 있는 스프레드시트에 액세스하기를 원한다. 다행히, 그는 회사의 오피스 가입이 그로 하여금 임의의 시간에 임의의 장소에서 오피스에 액세스하는 것을 가능하게 한다는 것을 기억한다. 공급 관리자는 다른 회사의 IT 관리자로부터 랩탑을 빌려 Office.com에 로그인한다. Office.com을 통해, 공급 관리자는 임시 사용을 위해 엑셀을 런칭할 수 있고, 스프레드시트를 검색할 수 있다. 일과 후에, 공급 관리자는 랩탑을 다른 회사에 반납한다.
랩탑의 수령시에, 다른 회사의 IT 관리자는 놀랍게도 랩탑에서 공급 관리자의 스프레드시트 또는 오피스의 어떠한 흔적도 찾지 못한다. 이것은 오피스가 사기 방지를 위해 하루에 개방될 수 있는 횟수가 모니터링되고 제한된다는 사실에 기인한다.
공급 관리자는 액셀을 런칭할 때 그의 증명서들에 대해 프롬프트될 수 있거나, 그들이 Office.com에 의해 기억될 수 있다. Office.com은 공급 관리자가 현재 사용하고 있는 기계 상에 오피스를 갖는지의 여부를 알 수 있다. BPOS 웹사이트는 특정 기계를 프로비저닝하기 위한 또는 기계에서 임시로 오피스를 사용하기 위한 공급 관리자에 대한 선택들을 가질 수 있다. 일부 예들에서, 오피스는 기계 상에 남을 수 있다. 그러나, 다른 회사의 IT 관리자가 오피스를 부팅할 때, 그는 오피스의 사용을 허가받기 전에 증명서들에 대해 프롬프트된다.
오피스 2010 내지 오피스 2013의 가입 업그레이드
회사는 수년 동안 BPOS 오피스 2010(또는 오피스 14) 가입을 이용해 왔으며, 소유자는 그에 대해 매우 만족하고 있다. 수일 전에 소유자는 회사의 가입의 일부로서 오피스 2013이 업그레이드에 이용될 수 있다는 것을 그와 IT admin에게 알리는 이메일을 수신하였다. 소유자는 그의 현재의 오피스 2010 설치들이 계속, 그러나 단지 일년 더 작동할 것이라는 것도 통지 받는다.
IT admin은 BPOS 관리자 웹사이트로 가서, 회사의 직원들을 오피스 2013으로 업그레이드한다. 이어서, 각각의 직원은 오피스 2013을 다운로드하기 위한 지시를 갖는 이메일을 수신한다.
공급 관리자는 이메일을 수신하고, 이메일로부터 Office.com에 대한 링크를 클릭한다. 그는 그의 BPOS 증명서들을 이용하여 서명하도록 요청되며, 오피스 15를 런칭하기 위한 링크를 본다. 그는 링크를 클릭하며, 오피스가 즉시 시작된다. 오피스가 런칭될 때, 그는 오피스를 활성화하기 위해 그의 증명서들을 검증하도록 요청된다. 한편, 회사의 회계사는 이메일을 무시하고, 오피스 2010을 계속 사용한다. 일년 후에, 회계사의 오피스 2010 설치는 작동을 멈추는 반면, 공급 관리자의 오피스 2013 설치는 계속 작동한다.
오피스 시장( OMEX ) 시나리오들
OMEX 시나리오들은 최종 사용자들에 집중된다. 그러한 시나리오들에 따르면, 최종 사용자는 office.com을 통해 또는 오피스 2013의 백스테이지를 통해 오피스를 구매한다. 그러한 시나리오들은 영구 및 가입 라이센스들 양자를 포함할 수 있다. 라이센싱 사용자 인터페이스(UI)는 사용자가 BPOS 시나리오 또는 OMEX 시나리오와 관련되는지를 결정할 수 있으며, 적절한 UI를 표시할 수 있다.
사용자가 office . com 을 통해 오피스의 레거시 버전으로부터 업그레이드함
아래는 사용자가 office.com을 통해 오피스의 레거시 버전, 즉 기존 버전으로부터 업그레이드하는 시나리오의 일례이다. 사용자는 그의 컴퓨터에서 오피스 2010 가정 및 학생(Office 2010 Home and Student)을 이용해 왔으며, 이제 최신 버전을 구매하기를 원할 것이다. 사용자는 office.com으로 가서 선택을 제공한다. 사용자는 가입을 구매하기로 결정한다. 라이브 ID를 생성하고, 가입을 위해 지불한 후, 사용자는 오피스 2013을 런칭한다. 사용자가 그의 기계 상에 이전의 오피스 사본을 갖고 있다는 것을 사용자에게 알리는 경고가 스크린 상에 나타난다. 사용자가 그가 계속하기를 원한다는 것을 확인시켜 준 후에, 오피스 2010이 안전하게 제거되며, 새로운 버전이 런칭된다. 사용자는 그가 가입을 위해 구매한 증명서들에 대해 프롬프트된다. 사용자는 그의 증명서들을 입력하고, 오피스를 정상적으로 사용할 수 있다.
일부 실시예들에서, 오피스 2013은 오피스 2013을 다운로드/설치할지 또는 오피스 2013을 런칭할지에 대한 선택을 사용자에 제공한다. 증명서들이 기억될 수 있거나, 인터넷으로부터 오피스 2013으로 자동 전송될 수 있으며, 따라서 증명서들에 대한 어떠한 프롬프트도 사용자에게 부과되지 않는다. 예를 들어, 다운로드의 사이트가 보호되는 경우, 실제의 제품 키가 파일명 내에 삽입될 수 있다. 그러나, 증명서들이 전송될 수 있는 경우에도 사용자의 증명서들을 검증하기 위해 사용자에게 서명하도록 강제하는 것이 바람직할 수 있다. 일부 예들에서는, office.com으로부터 구매하는 사용자들이 라이브 ID를 갖는 것으로 가정할 수 있다. 제품 키는 사용자의 오피스의 레거시 사본 상에 백업될 수 있다.
사용자가 office . com 을 통해 오피스 가입 라이센스를 구매
이 시나리오는 기계 상에 레거시 버전이 존재하지 않으므로 오피스의 레거시 버전에 관한 경고가 존재하지 않는다는 점 외에는 사용자가 office.com을 통해 오피스의 레거시 버전으로부터 업그레이드하는 시나리오와 동일하다. 다양한 실시예들에서, 사용자는 특정 기계의 최초 활성화 후에 그의 증명서들에 대해 요청되지 않는다. 오히려, 기계 키를 통해 후속 활성화들이 행해진다.
사용자가 office . com 을 통해 오피스 영구 라이센스를 구매
이 시나리오는 기계 상에 레거시 버전이 존재하지 않으므로 오피스의 레거시 버전에 관한 경고가 존재하지 않는다는 점 외에는 사용자가 office.com을 통해 오피스의 레거시 버전으로부터 업그레이드하는 시나리오와 동일하다. 사용자는 구체적인 사례에 따라 제품 키를 볼 수 있거나 볼 수 없을 수 있다. 사용자는 그의 로그인 정보를 이용하여 영구 라이센스를 활성화하도록 허락될 수 있다. 전송 시나리오들은 구체적인 사례에 따라 다수의 상이한 방식으로 처리될 수 있다. 예를 들어, 사용자가 그의 오피스를 다른 사용자에게 팔기를 원하는 경우, 그는 그의 증명서들을 새로운 사용자에게 주어야 할 수 있거나, 증여가 지원될 수 있다.
사용자가 제1 컴퓨터 상에 오피스 가입을 소유할 때 office . com 을 통해 제2 컴퓨터로부터 제1 컴퓨터 상의 오피스 가입을 갱신
이 시나리오에 따르면, 사용자는 오피스 2013 가정 및 학생 가입을 구매하여, 그의 데스크탑 및 그의 랩탑 상에 설치한다. 사용자는 오피스 2013 프로로 업그레이드하기로 결정한다. 데스크탑으로부터, 사용자는 office.com으로 가서, 가입을 업그레이드한다. office.com에서, 그의 오피스 2013 가정 및 학생 가입들과 현재 관련된 컴퓨터들이 목록화되며, 사용자는 사용자가 그러한 컴퓨터들 상에서 오피스를 런칭할 때 컴퓨터들이 인터넷 액세스를 갖는 경우에 컴퓨터들이 오피스 2013 프로로 자동 갱신될 것이라는 것을 통지 받는다. 사용자는 이제 데스크탑을 업그레이드하기 위한 링크도 제공받는다. 사용자는 링크를 즉시 클릭하고, 그의 증명서들을 제공한다. 이어서, 오피스는 데스크탑 상에서 오피스 2013 프로로 업그레이드된다.
며칠 후, 사용자는 그의 랩탑 상에서 워드를 런칭한다. 워드가 런칭될 때, 사용자는 라이센싱 변경이 발생하였다는 것을 통지 받으며, 사용자는 이제 오피스 2013 프로로 업그레이드할지, 나중에 업그레이드할지 또는 이 기계를 가입으로부터 제거할지에 대한 선택을 제공받는다. 사용자는 나중에 업그레이드하기로 결정한다. 하루 후에, 사용자는 다시 워드를 런칭하며, 동일한 선택들을 제공받는다. 사용자는 그 시점에서 업그레이드하기로 결정한다.
다양한 실시예들에서, 사용자는 그가 데스크탑 상에서 office.com을 이용하고 있는 경우에 office.com을 통해 데스크탑을 갱신할 수 있다. 일부 예들에서, 사용자는 또한 "나중 업그레이드" 선택을 선택하도록 허락될 수 있다. 다른 예들에서, 업그레이드는 즉시 실시될 수 있다. "나중 업그레이드"가 허락되는 경우, 사용자는 업그레이드가 실시되기 전에 특정 횟수를 선택하는 것이 허락될 수 있다. 사용자는 현재 업그레이드 또는 제거 액션들 시에 증명서들을 입력하도록 프롬프트될 수 있다.
사용자가 제1 컴퓨터 상에 오피스 가입을 소유하지 않을 때 office . com 을 통해 제2 컴퓨터로부터 제1 컴퓨터 상의 오피스 가입을 갱신
이 시나리오에 따르면, 사용자는 오피스 2013 가정 및 학생 가입을 구매하여, 그의 데스크탑 상에 설치한다. 사용자는 친구로부터 중고 랩탑을 구매한다. 그의 친구의 오피스 2013 프로 가입이 중고 랩탑 상에서 실행되고 있다. 사용자는 중고 랩탑 상에서 오피스를 정상적으로 사용할 수 있다. 사용자의 친구는 그가 랩탑으로부터 그의 오피스 2013 프로 가입을 제거하는 것을 잊었다는 것을 기억하며, 따라서 그는 office.com으로 가서, 그의 가입으로부터 랩탑을 제거한다.
다음 번에 오피스를 시작할 때, 사용자는 그의 기계 상의 현재의 오피스 라이센스가 제거되었으며, 그가 오피스를 계속 사용하기 위해 다른 계정을 제공할 수 있다는 것을 통지받는다. 이어서, 사용자는 그의 가입에 의해 지원되는 오피스의 버전을 이용하기 위해 그의 증명서들을 입력할 수 있다.
사용자가 제1 컴퓨터 상에 오피스 가입을 소유할 때 office . com 을 이용하여 제2 컴퓨터로부터 제1 컴퓨터 상의 가입 라이센스로부터 영구 라이센스로 오피스 라이센스를 갱신
이 시나리오는 사용자가 제1 컴퓨터 상에 가입을 소유할 때 office.com을 통해 제2 컴퓨터로부터 그가 제1 컴퓨터 상에서 사용하는 오피스 가입을 갱신하는 시나리오와 동일하다. 그러나, 다른 가입 라이센스로 업그레이드하는 대신에, 사용자는 단지 영구 라이센스로 업그레이드한다.
사용자가 제1 컴퓨터 상에 오피스 가입을 소유하지 않을 때 office . com 을 이용하여 제2 컴퓨터로부터 제1 컴퓨터 상의 가입 라이센스로부터 영구 라이센스로 오피스 라이센스를 갱신
이 시나리오는 사용자가 제1 컴퓨터 상에 가입을 소유하지 않을 때 office.com을 통해 제2 컴퓨터로부터 그가 제1 컴퓨터 상에서 사용하는 오피스 가입을 갱신하는 시나리오와 동일하다. 그러나, 다른 가입 라이센스로 업그레이드하는 대신에, 사용자는 영구 라이센스로 업그레이드한다.
사용자가 제1 컴퓨터 상에 영구 라이센스를 소유할 때 office . com 을 이용하여 제2 컴퓨터로부터 제1 컴퓨터 상의 영구 라이센스로부터 가입 라이센스로 오피스 라이센스를 변경
사용자는 제1 컴퓨터 상에 오피스 가정 및 학생을 갖는다. 그러나, 사용자는 그가 오피스 제품들의 더 큰 선택을 원한다는 것을 발견한다. 사용자는 제2 컴퓨터로부터 office.com에 로그온하여 오피스 프로 가입을 구매한다. 구매의 종료시, 사용자는 오피스 프로를 다운로드하기 위한 링크, 및 현재 설치된 오피스 버전을 어떻게 갱신할지에 대한 지시를 제공받는다.
사용자는 제1 컴퓨터 상에서 다시 office.com에 로그온하고, 다운로드 링크를 클릭한다. 제1 컴퓨터 상의 오피스의 사본이 오피스 프로로 갱신된다. 사용자가 office.com을 재방문하지 않은 경우, 그는 그의 현재 설치된 오피스 가정 및 학생 상의 백스테이지로 가는 것을 통해 갱신을 수행했을 수 있다. 예를 들어, 사용자는 라이센스를 갱신하거나 갱신들을 검사하기 위한 버튼을 클릭할 수 있다.
사용자는 나중에 그의 가입을 취소한다. 제1 컴퓨터 상의 프로 가입은 결국 실효되며, 오피스 가정 및 학생으로 되돌아간다.
현재 사용자와 다른 라이센싱된 사용자
소기업 소유자가 3명의 직원을 갖는다. 그는 그의 직원들 각자가 오피스를 사용하기를 원할 것이다. office.com 상의 가입 제의들을 검토한 후에, 소유자는 각각의 가입이 2개의 상이한 기계 상에서 오피스를 사용하기 위한 인타이틀먼트를 포함한다는 것을 인식한다. 그러나, 소유자는 그가 한 번에 하나의 가입만을 가질 수 있다는 것을 인식한다. 따라서, 그는 직원들 중 한 명에게 또한 가입을 구매하도록 요청하며, 이어서 그는 따로 비용을 부담한다. 소유자 및 직원들 중 하나는 그들 각각의 컴퓨터 상에서 오피스를 다운로드하고, 소유자의 증명서들을 이용하여 이를 활성화한다. 2명의 다른 직원은 그들 각각의 컴퓨터 상에서 오피스를 다운로드하고, 직원의 증명서들을 이용하여 이를 활성화한다. 오피스를 개인화하기 위해, 직원들은 그들 자신의 ID를 이용하여 로그인하여 정상적으로 사용할 수도 있다.
일부 실시예들에서는, 각각의 사용자가 하나의 오피스 가입만을 가질 수 있는 것으로 가정할 수 있다. 그러나, 일부 예들에서, 사용자는 오피스 가정 및 학생에 대한 가입은 물론, 오피스 프로에 대한 가입도 가질 수 있다. 또한, 사용자는 동일 가입의 다수의 버전 또는 다수의 영구 라이센스를 가질 수 있다.
사용자가 가입 라이센스를 BPOS 라이센스로 변환
소기업 소유자가 3명의 직원을 갖는다. 소유자 및 직원들 중 한 명 양자는 최대 2대의 컴퓨터 상에 오피스의 설치를 허락하는 오피스 프로 가입들을 갖는다. 다른 2명의 직원은 각각 그들의 기계 상에 오피스를 설치하기 위해 가입들 중 하나를 이용하고 있다.
소유자는 최근에 5명의 새로운 직원을 채용하였다. 온라인으로 정보를 읽고서, 그는 BPOS 가입이 그의 요구에 더 적합할 것으로 결정한다. 소유자는 office.com으로 가서, 그의 가입을 BPOS 가입으로 변환하여, (회사의 모든 사람에게 충분한) 9개의 라이센스를 구매한다.
소유자는 BPOS 계정들을 생성하여 그의 직원들 각각에게 제공하며, 오피스에 대해 각각의 직원을 프로비저닝한다. 각각의 직원이 오피스를 런칭할 때, 그는 그의 기계 상의 현재의 라이센스가 더 이상 유효하지 않으며, 그가 오피스 사용을 계속하기 위해 다른 계정을 제공할 수 있다는 것을 통지받는다. 따라서, 각각의 직원은 그들의 BPOS ID를 입력한 후에 오피스를 정상적으로 사용할 수 있다. 또한, 일부 실시예들에서, 직원이 다른 계정을 즉시 제공하지 않은 경우에 유예 기간이 제공된다.
사용자가 영구 라이센스를 BPOS 라이센스로 변환
소기업 소유자가 10명의 직원을 갖는다. 소유자는 각각의 직원의 기계에 대해 오피스 가정 및 학생의 영구 라이센스들을 구매하였다. 그러나, 온라인으로 정보를 읽고서, 소유자는 오피스 프로 플러스에 대한 BPOS 가입의 그의 요구에 더 적합할 것으로 결정한다. 소유자는 office.com으로 가서, (그의 회사의 모든 사람에게 충분한) 11개의 라이센스를 갖는 BPOS 가입을 구매한다. 소유자는 BPOS 계정들을 생성하여 그의 직원들 각각에게 제공하며, 오피스에 대해 각각의 직원을 프로비저닝한다.
각각의 직원은 오피스 가입을 다운로드하기 위한 그들의 BPOS 홈 페이지로 가기 위한 지시를 소유자로부터 제공받는다. 대안으로서, 그들은 백스테이지로부터 그들의 라이센스를 변경하기 위한 방법에 관한 지시도 제공받는다. 직원들이 그들의 현재 기계들 상에서 액션을 취하지 않는 경우, 그들의 기계들은 그들이 그들의 BPOS ID를 이용하여 서명하는 경우에도 그들의 기계 상에 현재 존재하는 임의의 영구 라이센스를 계속 실행할 것이다.
사용자가 백스테이지를 통해 가입을 취소
사용자가 기본 오피스 가입 패키지를 갖지만, 오피스 제품들의 더 큰 선택을 원한다. 사용자는 백스테이지로 가서 "나의 계정"을 선택한다. 사용자는 "나의 가입 관리"를 선택하고, 그의 번들을 그가 원하는 제품을 포함하는 것으로 업그레이드한다. 사용자는 추가 제품을 더 이상 원하지 않을 때, 백스테이지 아래의 "나의 계정"으로 가서, 그의 가입을 취소한다. 사용자의 오피스 사본은 축소 기능 모드, 또는 그가 그의 번들을 업그레이드하기 전에 가졌던 임의의 라이센스로 돌아간다.
사용자가 office . com 을 통해 가입을 취소
사용자가 기본 오피스 가입 패키지를 갖지만, 오피스 제품들의 더 큰 선택을 원한다. 사용자는 office.com에 로그온하여 그의 현재 가입을 관리한다. 사용자는 그의 번들을 그가 원하는 제품들을 포함하는 것으로 업그레이드한다. 사용자는 추가 제품을 더 이상 원하지 않을 때, office.com에 로그인하여 그의 가입을 취소한다. 그의 오피스 사본은 그의 이전 라이센스에 의해 지원되었던 축소 기능 모드로 돌아간다.
사용자가 영구 라이센스 및 가입 라이센스를 둘 다 구매
사용자가 그의 랩탑 상에 오피스 스타터를 갖는다. 사용자는 그의 라이브 ID를 이용하여 오피스 시장에 가입하고, 그의 랩탑을 이용하여 백스테이지를 통해 오피스를 구매한다. 오피스 스타터는 가입 패키지로 업그레이드된다.
나중에, 사용자는 웹 브라우저를 통해 오피스 시장으로 돌아가서 영구 라이센스를 구매한다. 사용자는 그의 지불 상세들을 재입력할 필요가 없다. 대신에, 오피스 시장이 그의 증명서들을 기억한다. 사용자가 구매를 확인한 후, 그는 랩탑 상에서 오피스를 다운로드하고 런칭한다.
사용자가 오피스를 구매한지 수개월 후에 그의 랩탑이 바이러스에 감염되었고, 그의 애플리케이션들은 재설치되어야 한다. 사용자는 오피스 시장에 로그온하여 그의 오피스 사본 및 그의 라이센스를 다시 다운로드한다. 이것은 동일한 제품 키를 이용하여 이루어질 수 있다.
가입 갱신
사용자가 오피스 가입을 갖는 경우, 그는 가입을 자동 갱신할 수 있다. 사용자는 중단 없는 오피스 사용을 경험할 수 있다.
가입 실효
사용자가 오피스 가입을 갖는다. 그러나, 사용자는 서비스를 원하지 않으며, 만료시에 가입을 실효시키기로 결정한다. 과금 시스템은 사용자에게 다수의 이메일을 전송하며, 사용자는 이를 무시한다. 이러한 시간을 통해, 사용자는 오피스를 계속 사용한다. 그는 소정 시점에서 오피스를 통해 그의 가입이 만료되었으며, 그가 백스테이지로부터 그의 가입을 관리할 수 있다는 것을 통지 받는다. 그는 이러한 통지를 무시하며, 결국 오피스는 그의 컴퓨터 상의 기능을 중단한다.
오피스 2013으로부터 오피스의 다음 버전으로의 가입 업그레이드
사용자가 오피스 2013에 대한 오피스 가입을 가지며, 현재 오피스 2013이 그의 컴퓨터 상에 설치되어 있다. 수년이 지나고, 오피스의 다음 버전이 출시되었다. 사용자가 임의의 오피스 애플리케이션을 런칭하는 다음 번에, 사용자는 그가 오피스의 새로운 버전으로 업그레이드할 수 있다는 것을 통지 받는다. 사용자는 또한 그가 임의의 시간에 백스테이지로부터 그렇게 할 수 있다는 것을 통지 받는다. 사용자는 지금 업그레이드하기를 원한다. 오피스의 새로운 버전이 사용자의 컴퓨터 상에 설치된다.
일부 실시예들에서는, OMEX 또는 오피스 라이센싱 클라이언트(OLC) 또는 이들 양자와 같은 다수의 컴포넌트가 오피스의 새로운 버전이 출시되었다는 것을 사용자에게 통지할 수 있다. 일부 예들에서는, 사용자가 다음 버전으로 업그레이드하기 위해 남은 시간의 양이 추적될 수 있다. 소정 시점에서, 업그레이드가 강제될 수 있으며, 구 버전은 사용 불가능하게 될 수 있다. 키들은 올바른 과세 위치들로부터 올 수 있다. BPOS 제의들에 대한 것과 동일한 논리가 사용될 수 있다.
소매/ OEM / CD 시나리오들
이러한 시나리오들은 전통적인 소매 채널들에 집중된다. 이러한 시나리오들에서의 공통적인 테마는 사용자가 제품 키를 이용하여 시작한다는 것이다. 예를 들어, 사용자가 오피스를 구매할 때, 종종 제품 키가 박스 내에 포함된다.
사용자가 소매점으로부터 오피스를 구매
사용자가 소매점으로 가서, 오피스 가정 및 학생의 박스 사본을 구매한다. 박스 내에는 CD는 물론, 제품 키도 들어 있다. 사용자는 CD로부터 오피스를 설치한다. 설치 프로세스의 일부로서, 사용자는 그의 제품 키를 입력하도록 프롬프트된다. 사용자는 또는 오피스에 서명하도록 프롬프트되며, 그렇게 한 후에, 그는 그의 라이센스를 그의 라이브 ID와 연관시킬 기회를 제공 받는다. 수개월 후에, 사용자는 그의 컴퓨터 상에서 바이러스를 발견한다. 사용자는 컴퓨터를 다시 포맷하고, 오피스를 다시 설치한다. 불행하게도, 사용자는 제품 키를 분실하였다. 그러나, 사용자는 그의 라이브 ID만을 이용하여 오피스를 활성화할 수 있다. OLS는 이 라이브 ID와 관련된 제품 키를 반환할 수 있다.
다수의 기계를 이용한 사용
사용자가 그의 집에 4대의 컴퓨터를 갖는다. 사용자는 소매점으로부터 오피스의 사본을 구매하였고, 제품 키를 이용하여 제1 컴퓨터 상에서 오피스를 성공적으로 활성화할 수 있었다. 사용자가 그의 제1 컴퓨터를 셋업할 때 라이센스를 그의 라이브 ID와 연관시켰으므로, 사용자는 또한 이 라이브 ID를 이용하여 제2 및 제3 컴퓨터들 상에서 오피스를 활성화할 수 있었다. 그러나, 제4 컴퓨터를 활성화하려고 시도할 때, 사용자는 그의 라이센스가 3대의 컴퓨터만을 지원한다는 것을 그에게 통지하는 에러 메시지를 수신한다.
사용자가 오피스 라이센스를 라이브 ID 와 연관
일반적으로, 사용자가 그의 제품 키를 그의 라이브 ID와 연관시키기를 원하는 경우, 그는 오피스 시장 내에 온라인으로 최대 5x5개의 제품 키를 입력할 수 있다. 이어서, 오피스 시장을 통해, OLS는 제품 키를 사용자의 라이브 ID와 연관시킬 수 있다.
사용자는 그의 라이브 ID와 연관된 오피스 라이센스들을 office.com을 통해 온라인으로 또는 백스테이지를 통해 볼 수 있다. 게다가, 사용자는 office.com을 통해 또는 백스테이지를 통해 그의 라이브 ID로부터 제품 키를 분리할 수 있다. 사용자가 다시 활성화를 위해 그의 라이브 ID를 사용하려고 시도할 때, 그는 그렇게 할 수 없다. 그러나, 그의 라이브 ID를 이용하여 이미 활성화된 컴퓨터들은 정상적으로 기능할 것이다.
시험 시나리오들
이러한 시나리오들은 시험 라이센스들과 관련되며, 비시험 가입 시나리오들과 본질적으로 동일하다. 그러나, 라이센스 기간은 시험 시나리오들이 훨씬 더 짧다.
사용자가 office . com 을 통해 시험 라이센스를 개시
사용자가 오피스 스타터를 사용해 왔다. 사용자는 오피스를 시험하기로 결정하고, 그의 라이브 ID를 제공한 후에 office.com으로부터 시험 라이센스를 다운로드한다. 사용자는 그의 기계 상에 오피스를 런칭할 때 그의 라이브 ID를 입력하도록 프롬프트된다. 사용자가 그의 라이브 ID를 입력하면, 그는 오피스의 사용을 시작할 수 있다.
사용자가 제품 키를 이용하여 시험 라이센스를 개시
사용자가 오피스의 시험 사본을 획득하였다. 오피스의 시험 사본은 시험 라이센스와 관련된 제품 키를 포함한다. 사용자는 오피스를 설치하고, 제품 키를 이용하여 오피스를 활성화한다.
시험 라이센스 실효
사용자가 오피스 스타터를 사용해 왔고, 지금 오피스를 시험하기를 원한다. 사용자는 그의 라이브 ID를 제공한 후에 office.com으로부터 시험 라이센스를 다운로드한다. 시간이 지남에 따라, 사용자는 OLC로부터 그의 시험이 곧 실효될 것이라는 것을 통지 받는다. 사용자는 그의 시험 라이센스를 실효시키기로 결정한다. 그의 시험 라이센스가 실효될 때, 오피스는 오피스 스타터로 귀속된다.
사용자가 시험 라이센스로부터 가입 라이센스로 변환
댄은 그가 office.com으로부터 다운로드한 오피스의 시험을 사용해왔다. 시간이 지남에 따라, 그는 오피스 클라이언트로부터 그의 시험이 곧 실효될 것이라는 것을 통지 받는다. 댄은 오피스 15를 이용하여 훌륭한 경험을 얻었으며, office.com(또는 백스테이지)을 통해 완전 가입으로 변환하기로 결정한다. 그의 오피스 사본은 서비스의 중단 없이 완전 가입으로 자동 업그레이드된다. 그가 제품 키를 통해 시험을 활성화하였고 ID를 결코 제공하지 않은 경우, 그는 완전 가입으로 변환하기 위해 그의 ID를 제공해야 할 수 있다.
라이센스의 구매, 활성화 또는 재활성화를 위한 방법들
도 4는 시장 서비스를 통해 애플리케이션에 대한 라이센스를 구매하기 위한 방법(400)의 프로세스 흐름도이다. 다양한 실시예들에서, 시장 서비스는 오피스 시장 경험(OMEX)이다. 또한, 일부 실시예들에서, 방법(400)은 도 3a, 3b 및 3c와 관련하여 전술한 라이센싱 시스템(300)을 통해 구현된다.
방법(400)은 블록 402에서 시작되며, 여기서 사용자는 라이센스의 구매를 개시한다. 사용자는 예를 들어 오피스 스타터, 오피스 시험, 오피스의 백스테이지 또는 office.com을 통해 구매를 개시할 수 있다. 블록 404에서, 사용자는 원하는 라이센스에 관한 상점 유지 유닛(SKU)을 선택한다. 블록 406에서, 사용자는 그의 라이브 ID를 이용하여 오피스 시장, 예를 들어 OMEX에 로그인한다.
블록 408에서, 사용자가 가입 SKU를 구매하고 있는지를 결정한다. 사용자가 가입 SKU를 구매하고 있지 않은 경우, 사용자는 블록 410에서 지불 수단을 선택하고, 블록 412에서 지불을 완료한다. 이어서, 블록 414에서, OLS는 OMEX 동기 제공자를 통해 라이센스 갱신을 통지받을 수 있다.
사용자가 가입 SKU를 구매하고 있는 경우, 블록 416에서 가입 SKU가 셋업될 수 있다. 이어서, 사용자는 블록 418에서 지불 수단을 선택하고, 블록 420에서 지불을 완료할 수 있다. 블록 422에서, 가입 상세들이 기록될 수 있다. 예를 들어, SKU, 자동 갱신 정보 및/또는 과금 간격 정보가 기록될 수 있다. 이어서, 블록 414에서, OLS는 OMEX 동기 제공자를 통해 라이센스 갱신을 통지받을 수 있다.
도 5는 시장 서비스를 통한 애플리케이션에 대한 라이센스의 최초 활성화를 위한 방법(500)의 프로세스 흐름도이다. 다양한 실시예들에서, 시장 서비스는 OMEX이다. 라이센스의 최초 활성화는 하나의 클라이언트 장치, 예를 들어 하나의 컴퓨터 상에서 발생할 수 있으며, 상향 판매(upselling)를 포함하지 않을 수 있다. 일부 실시예들에서, 방법(500)은 도 3a, 3b 및 3c와 관련하여 전술한 라이센싱 시스템(300)을 통해 구현된다.
방법(500)은 블록 502에서 시작되며, 여기서 OMEX는 허가 티켓과 같은 파라미터들을 부트스트랩퍼로 전송한다. 사용자는 블록 504에서 office.com으로부터 다운로드를 개시한다. 블록 506에서 콘텐츠 전달 네트워크(CDN)로부터 비트들이 검색되고, 비트들이 검색되는 동안에 블록 508에서 스플래시(splash) 스크린이 표시된다.
블록 510에서, OLC는 라이센싱 저장소로부터 범용 라이센스를 요청한다. 이것은 라이센스가 활성화되는 동안 오피스의 임시 사용을 허용한다. 블록 512에서 오피스가 로딩되고, OLC는 블록 514에서 허가 티켓을 이용하여 OLS로부터 라이센스를 요청한다. 블록 516에서, OLS는 보호된 허가(또는 무키 허가) 및 (논-로밍(non-roaming) 애플리케이션 시나리오의 경우에) 제품 키를 반환한다.
블록 518에서, OLC는 제품 키 및 OSPP가 이용 가능한지를 결정한다. 제품 키 및 OSPP가 이용 가능한 경우, 블록 520에서 OSPP가 제품 키와 함께 획득된다. 블록 522에서, 사용자의 패스포트 고유 ID(PUID) 및 사용자명이 로컬 기계 상에 저장된다.
제품 키 및 OSPP가 이용 가능하지 않은 경우, 오피스의 사용은 무키 허가를 통해 인에이블될 수 있다. 이어서, OLC는 블록 518에서 제품 키 및 OSPP가 이용 가능한지를 주기적으로 결정할 수 있고, 제품 키 및 OSPP가 이용 가능해지는 경우에 적절한 액션을 취할 수 있다.
도 6은 애플리케이션에 대한 라이센스의 재활성화를 위한 방법(600)의 프로세스 흐름도이다. 그러한 재활성화 방법은 상향 판매를 포함할 수 있다. 일부 실시예들에서, 방법(600)은 도 3a, 3b 및 3c와 관련하여 전술한 라이센싱 시스템(300)을 통해 구현된다.
방법(600)은 블록 602에서 시작되며, 여기서 오피스가 로딩되거나, 스케줄링된 라이센스 검사가 이루어진다. 블록 604에서, 오피스에 대한 라이센스가 가입 라이센스 또는 시험 라이센스인지를 결정한다. 라이센스가 가입 라이센스 또는 시험 라이센스가 아닌 경우, 라이센스는 영구 라이센스인 것으로 결정된다. 이 경우, 방법(600)은 블록 606에서 계속되며, 여기서 사용자는 오피스를 정상적으로 사용한다. 일부 예들에서, 라이센스가 실효되었거나 소정의 이유로 종료된 경우에 오피스는 기능을 중단할 수 있다.
라이센스가 가입 라이센스 또는 시험 라이센스인 경우, OLC는 블록 608에서 라이센스 정보를 OLS로 전송하며, OLS는 블록 610에서 라이센스 갱신들을 OLC로 반환한다. 블록 612에서, 라이센스가 갱신되었는지를 결정한다. 라이센스가 갱신된 경우, OLC는 새로운 라이센스를 이용하여 오피스를 갱신한다. 일부 예들에서, 사용자는 UI를 통해 사용자가 지금 또는 나중에 새로운 라이센스를 구현하기를 원하는지에 대한 옵션을 제공받을 수 있다. 게다가, 새로운 라이센스가 오피스의 버전의 변화를 포함하는 경우, 새로운 버전이 다운로드될 수 있다. 대안으로서, 라이센스가 갱신되지 않은 경구, 방법(600)은 블록 606으로 복귀할 수 있다. 이 경우, 라이센스는 실효될 수 있고, 따라서 오피스는 기능을 중지할 수 있다.
오피스 라이센싱 서비스( Office Licensing Service ( OLS ))
이 섹션은 본 명세서에서 설명되는 라이센싱 시스템의 OLS, 예를 들어 도 3a, 3b 및 3c와 관련하여 전술한 라이센싱 시스템(300)의 OLS(302)의 기능을 설명한다. OLS는 라이센싱 시스템의 중앙 허브로서 사용된다. OLS는 BPOS 또는 OMEX와 같은 다양한 소스들로부터 프로비저닝 데이터, 예로서 사용자가 무엇을 구매했는지를 획득한다. OLS는 또한 제품 키들을 획득하고, 무키 허가를 제공하고, 사용자 대 기계 관계들, 예로서 사용자가 얼마나 많은 기계를 활성화했는지를 관리한다.
OLS는 라이센싱 시스템이 다양한 상이한 타입의 운영 체제들 또는 장치들에 대한 라이센스들을 처리하는 것을 가능하게 할 수 있다. 이것은 라이센싱 애플리케이션들에 대한 오버헤드의 감소를 유발할 수 있다. OLS는 또한 비즈니스 모델의 변화들에 대한 민첩성 및 유연성을 제공할 수 있으며, 사용자 대 라이센스 정보의 집중 뷰를 제공할 수 있다.
다양한 실시예들에서, OMEX는 OLC가 사용자 식별자에 대해 기계들을 관리하기 위한 인터페이스를 제공한다. OMEX는 또한 웹사이트들, 예로서 OMEX 관리 웹사이트가 사용자 식별자에 대해 기계들을 관리하기 위한 인터페이스를 제공한다. OMEX는 ID들의 데이터베이스, ID들과 관련된 라이센스들, 및 라이센스들이 사용된 기계들을 유지할 수 있다. 게다가, OMEX는 키 저장소로부터 라이센스 키들을 획득하기 위한 능력을 제공할 수 있다. 또한, OMEX는 (OSPP가 이용 가능한 경우에) 제품 키 배포를 통해 또는 (OPSS가 이용 가능하지 않은 경우, 즉 무키 허가 시나리오들에서) 간단한 허가 기반 모델을 통해 OLC가 오피스 사용을 허가할 수 있는 인터페이스를 제공할 수 있다.
OLS는 아래에 더 설명되는 바와 같이 사용자 라이센싱 프로비저닝, 제품 키 및 로밍 허가 검색, 및 기계 관리 능력들을 포함하는 적어도 3개의 광범위한 서비스 클래스를 제공한다. 사용자 라이센싱 프로비저닝과 관련하여, OLS는 BPOS 및 OMEX와 같은 파트너들에 의해 제공되는 정보에 기초하여 사용자가 자격을 갖는 오피스 라이센스의 타입에 관한 정보를 저장 및 검색할 수 있다. 예를 들어, OLS는 사용자가 현재 오피스 가정 및 학생에 가입되어 있는지 또는 그가 영구 오피스 프로를 구매하였는지에 관한 정보를 저장 및 검색할 수 있다.
제품 키 및 로밍 허가 검색과 관련하여, OLS는 사용자가 자격을 갖는 오피스 라이센스에 기초하여 키 저장소로부터 올바른 제품 키를 검색하기 위한 능력을 갖는다. 이러한 능력은 사용자 및 파트너와 무관하다. 즉, 제품 키는 사용자가 기계를 활성화하려고 시도할 때 요구에 따라 검색되며, 사용자에 대한 실제 제품 키의 노출 없이 OLC에 의해 활성화가 자동으로 행해진다. 그러나, OLS는 파트너들이 제품 키를 임의로 검색하기 위한 능력을 포함하지 않는다. 더구나, OLS는 로밍 허가, 즉 무키 허가를 검색하기 위한 능력도 가지며, 이는 사용자가 제품 키를 이용하지 않는 로밍 애플리케이션 시나리오들에서 오피스를 사용하는 것을 가능하게 한다.
일부 실시예들에서, OLS는 단지 가입 라이센스들에 대한 기계 관리 능력들을 제공한다. 제품 키를 간단히 검색하는 것에 더하여, OLS는 또한 활성화된 기계들의 수를 관리하고, 사용자가 그의 가입에 포함된 기계들을 교대시키기 위한 방법을 제공할 수 있다. 예를 들어, 사용자가 구매한 가입이 사용자에게 3개의 기계에서 오피스를 사용할 자격을 주는 경우, OLS는 4대의 기계가 프로비저닝되는 경우에 처음 3개의 기계 중 하나를 디프로비저닝할 수 있다.
OLS의 데이터베이스는 하나 이상의 인타이틀먼트 및 각각의 인타이틀먼트 아래의 0개 이상의 기계를 가질 수 있는 사용자들에 의해 구성될 수 있다. 각각의 인타이틀먼트는 단지 하나의 제의와 관련된다. 영구 제의들을 포함하는 영구 인타이틀먼트들의 경우, 단일 영구 키가 각각의 인타이틀먼트와 관련될 수 있다.
도 7은 다수의 상이한 기계(706A-F)에 대해 사용자(704)에게 라이센싱된 다수의 인타이틀먼트 또는 라이센스(702A-E)를 나타내는 블록도이다. 각각의 인타이틀먼트(702A-E)는 아래에 더 설명되는 바와 같이 영구 인타이틀먼트 또는 가입 인타이틀먼트 또는 이들 양자에 관한 제의(708A-D)를 포함할 수 있다.
다양한 실시예들에서, OLS는 가입 인타이틀먼트, 예로서 인타이틀먼트들(702A, 702B, 702E)을 이용하여 프로비저닝되는 기계들, 예로서 기계들(706A, 706B, 706C, 706D, 706F)만을 관리한다. 따라서, 영구 인타이틀먼트들, 예로서 인타이틀먼트들( 702C, 702D)을 갖는 사용자들은 기계, 예로서 기계(706E)가 이전에 가입 인타이틀먼트로부터 변환되지 않은 경우에 인타이틀먼트들과 관련된 어떠한 기계도 갖지 않을 것이다.
다양한 실시예들에서, 제의는 예를 들어 마이크로소프트 온라인 또는 OMEX를 통해 구매를 위해 이용 가능한 사용 관리의 타입을 나타낸다. 제의들은 사용자에 고유하지 않으며, 라이센싱 시스템을 온라인으로 가져와서 갱신할 때 채워진다. 제의들에 대한 추가들 및 갱신들은 전개의 일부로서 포함될 수 있다. 각각의 제의는 제의를 식별하는 고유 ID인 제의 ID와 관련될 수 있다. 게다가, 각각의 제의는 특정 타입의 제의와 관련될 수 있다. 예를 들어, 제의는 제품 키 전용 제의, 즉 영구 또는 시험 라이센스에 관한 제의, 또는 기계 관리 제의, 즉 가입 라이센스에 관한 제의일 수 있다.
본 명세서에서 설명되는 실시예들에 따르면, 라이센스 또는 인타이틀먼트는 사용 권리들의 특정 세트이다. 사용자는 하나 이상의 인타이틀먼트를 가질 수 있다. 인타이틀먼트들은 프로비저닝 동안 동기 제공자들에 의해 채워진다. 각각의 인타이틀먼트는 프로비저닝 파트너에 의해 부분적으로 결정될 수 있는 고유 인타이틀먼트 ID를 갖는다.
각각의 인타이틀먼트에 관한 다양한 정보가 인타이틀먼트와 함께 기록될 수 있다. 예를 들어, 인타이틀먼트 ID, 파트너 인타이틀먼트 ID, 대응하는 파트너, 사용자 ID, 제의 ID 및 인타이틀먼트의 상태가 기록될 수 있다. 게다가, 인타이틀먼트에 관한 다양한 파라미터들의 값들이 기록될 수 있다. 예를 들어, 인타이틀먼트가 로밍 애플리케이션 시나리오들을 인에이블하는지에 관한 정보, 즉 RoamingType, 사용자의 과금 국가에 관한 정보, 즉 BillingCountryISO, 및 인타이틀먼트의 언어에 관한 정보가 기록될 수 있다. 게다가, 인타이틀먼트에서 허락되는 프로비저닝된 또는 변환 보류중인 기계들의 최대 수에 관한 정보, 즉 ActiveMachineMax, 인타이틀먼트 상의 현재의 프로비저닝된 또는 변환 보류중인 기계들의 수에 관한 정보, 즉 ActiveMachineCount, 및 다양한 다른 정보가 기록될 수 있다. 인타이틀먼트들에 대한 토큰에 관한 파라미터들도 기록될 수 있다. 그러한 파라미터들은 특히 SecureToken, TokenUseMax, TokenUseCount, TokenExpiryLengh 및 TokenExpiry를 포함한다.
기계는 특정 가입 인타이틀먼트를 이용하는 오피스의 특정 설치일 수 있다. 인타이틀먼트 아래에는 0개 이상의 기계가 존재할 수 있다. 인타이틀먼트로부터 새로운 가입(또는 TBL) 제품 키가 발행될 때마다 새로운 기계가 생성된다.
각각의 기계는 기계를 식별하는 데 사용될 수 있는 MachineKey와 관련될 수 있다. MachineKey의 값은 기계에 대해 발행된 제품 키로부터 도출될 수 있다. 기계가 프로비저닝되는지, 변환 보류중인지, 변환되는지 또는 프리비전(prevision)되는지와 같은 기계의 상태가 기록될 수 있다. 게다가, 인타이틀먼트 ID, 제의 ID, 키 상태 및 기계 자체에 관한 정보를 포함하는 기계에 관한 다양한 다른 파라미터들이 기록될 수 있다.
본 명세서에서 설명되는 실시예들에 따르면, 제품 키, 즉 ProductKey가 각각의 인타이틀먼트에 대해 발행된다. 각각의 인타이틀먼트 아래에는 단지 하나의 인에이블된 ProductKey가 존재할 수 있으며, 영구 인타이틀먼트들만이 엔이이블된 ProductKey를 가질 수 있다. 영구 인타이틀먼트로부터 제품 키가 최초로 요청될 때 ProductKey가 생성될 수 있다. 인타이틀먼트가 변환되지 않는 한, 모든 후속 키 요청들에 대해 동일한 영구 키가 사용된다. 제품 키의 상태에 관한 정보, 즉 KeyStatus가 기록될 수 있다. 제품 키의 상태는 엔에이블되거나, 디스에이블 보류이거나, 디스에이블될 수 있다. 제품 키가 발행된 횟수에 관한 정보, 즉 KeysIssuedCount, 및 키 상태가 갱신된 최종일에 관한 정보, 즉 KeyStatusLastUpdate도 제품 키와 함께 기록될 수 있다.
다양한 실시예들에서, 프로비저닝 API들은 프로비저닝을 위해 사용되는 내부 API들의 세트이다. 프로비저닝 API들은 동기 제공자들에 의해서만 호출된다. 각각의 동기 제공자 API는 프로비저닝 API들 중 하나 이상을 호출할 수 있다. 프로비저닝 API들은 라이센싱 시스템의 나머지에 대한 원자 동작들로서 나타나도록 설계될 수 있다. 단일 프로비저닝 액션이 다수의 프로비저닝 API 호출을 행할 수 있다는 점에 유의한다. 예를 들어, OMEX 동기 제공자의 ProvisionUser() API에 대해, AddUser() 및 CreateEntitlement() 호출들 양자가 사용된다. AddUser()가 성공하지만, CreateEntitlementForUser()가 실패하는 경우, 사용자는 인타이틀먼트를 갖지 못할 수 있으며, 사용자는 오피스에 대한 무허가 액세스를 승낙받지 못할 것이다. 라이센싱 시스템 내의 API들의 일부 예들은 사용자를 OLS에 추가하는 AddUser()API, 사용자에 대한 인타이틀먼트를 생성하는 CreateEntitlement(), 및 인타이틀먼트를 다른 오피스로 변환하거나 파라미터 ActiveMachineMax를 갱신하는 ConvertEntitlement() API를 포함한다. ConvertEntitlement() API는 예를 들어 변환이 가입 라이센스로부터 다른 가입 라이센스로 또는 가입 라이센스로부터 영구 라이센스로 행해지는지에 관계없이 동일하게 기능한다. 게다가, 명확히 지정되지 않는 한, 변환 동안 사기 카운터들 및 한도들이 재설정되지 않을 수 있다.
도 8은 인타이틀먼트를 다른 제의로 변환하거나 인타이틀먼트에 관한 제의를 갱신하기 위한 방법(800)의 프로세스 흐름도이다. 제의의 갱신은 예를 들어 ActiveMachineMax의 갱신을 포함할 수 있다. 이 방법은 블록 802에서 시작되며, 여기서 ConvertEntitlement() API가 호출된다. 블록 804에서, 인타이틀먼트가 디프로비저닝되는지를 결정한다. 인타이틀먼트가 디프로비저닝되는 경우, 방법(800)은 블록 806에서 종료된다. 인타이틀먼트가 디프로비저닝되지 않는 경우, 방법(800)은 블록 808에서 계속되어, 기존의 제의가 새로운 제의와 동일한지를 결정한다.
기존 제의가 새로운 제의와 동일하지 않은 경우, 블록 810에서 인타이틀먼트에 대한 기존의 프로비저닝된 기계들이 존재하는지를 결정한다. 기존의 프로비저닝된 기계들이 존재하는 경우, 블록 812에서 모든 기존의 프로비저닝된 기계들이 상태 = 변환 보류로 갱신된다. 이어서, 방법(800)은 블록 814로 진행하여, 인타이틀먼트가 새로운 제의로 갱신된다. 블록 810에서 기존의 프로비저닝된 기계가 존재하지 않는 것으로 결정되는 경우, 방법(800)은 자동으로 블록 814로 진행된다.
블록 816에서, 기존 ActiveMachineMax = MaxMachines인지를 결정한다. 또한, 블록 808에서 기존 제의가 새로운 제의와 동일한 것으로 결정되는 경우, 방법(800)은 자동으로 블록 816으로 진행될 수 있다.
블록 816에서 기존 ActiveMachineMax ≠ MaxMachines인 경우, 블록 818에서 ActiveMachineMax는 MaxMachines로 갱신될 수 있다. 이어서, 블록 820에서, ActiveMachineCount가 ActiveMachineMax보다 큰지를 결정할 수 있다. ActiveMachineCount가 ActiveMachineMax보다 큰 경우, 방법(800)이 블록 824로 진행되기 전에 블록 822에서 이벤트가 로깅된다. 그렇지 않은 경우, 방법(800)은 블록 820으로부터 블록 824로 진행된다. 또한, 블록 816에서 기존 ActiveMachineMax = MaxMachines인 경우, 방법(800)은 자동으로 블록 824로 진행된다.
블록 824에서, 기존의 인에이블된 PerpetualKey가 존재하는지를 결정한다. 기존의 인에이블된 PerpetualKey가 존재하지 않는 경우, 방법(800)은 블록 826에서 종료된다. 기존의 인에이블된 PerpetualKey가 존재하는 경우, 방법(800)이 블록 826에서 종료되기 전에 블록 828에서 PerpetualKey = 디스에이블 보류가 되도록 PerpetualKey가 설정된다.
다수의 추가 API들도 라이센싱 시스템 내에 포함될 수 있다. 예를 들어, 인타이틀먼트의 상태를 갱신하기 위해 UpdateEntitlementStatus()API가 사용될 수 있다. 사용자의 과금 정보, 즉 BillingCountryISO를 갱신하기 위해 UpdateBillingCountry() API가 사용될 수 있으며, 다운로드 URL 및 인타이틀먼트에 관한 다른 정보를 반환하기 위해 GetDownloadInfo()API가 사용될 수 있다.
다양한 실시예들에서, 안전한 토큰, 즉 SecureToken은 사용자로서 인타이틀먼트에 대한 임시 액세스를 승낙하는 OLS에 의해 생성되는 전역 고유 식별자(GUID)일 뿐이다. 클라이언트가 SecureToken을 이용하여 OLS 호출들을 행할 때, 클라이언트는 본질적으로 토큰이 발행된 사용자의 증명서들을 이용하여 OLS를 호출한다. 식별자 티켓의 제공과 안전한 토큰의 제공 사이의 주요 차이는, 안전한 토큰이 특정 인타이틀먼트에 대해 보이며, 따라서 정보를 검색하거나 특정 인타이틀먼트에 대한 키를 획득하기 위해서만 사용될 수 있고, 안전한 토큰이 사용이 제한되거나 시간이 제한된다는 것이다.
CheckMachineStatus() API가 기계의 상태를 반환한다. 그러나, 이 API는 가입 인타이틀먼트들에 따라 프로비저닝된 기계들에 대한 정보만을 반환할 수 있다. GetEntitlementForIdentity() API가 제공되는 식별자와 현재 관련된 인타이틀먼트(들)를 반환할 수 있다. GetEntitlementForMachineKey() API가 MachineKey와 현재 관련된 인타이틀먼트를 반환할 수 있다. 일부 실시예들에서, 프로세스 흐름은 다음과 같을 수 있는데, 즉 (1) 매칭 MachineKey를 이용하여 기계의 EntitlementID를 검색하고; (2) 위의 EntitlementID를 이용하여 인타이틀먼트를 검색하고; (3) 인타이틀먼트에 대한 정보를 반환할 수 있다.
게다가, GetKey() API는 OLC가 활성화를 위해 무키 허가들 및/또는 제품 키들을 검색할 수 있는 API일 수 있다. 이러한 API에 대한 논리는 다수의 부분으로 분할될 수 있다.
도 9는 무키 허가가 프로비저닝될 인타이틀먼트의 식별자 및 사용자의 식별자를 검증하기 위한 방법(900)의 프로세스 흐름도이다. 방법(900)은 블록 902에서 시작되며, 여기서 GetKey() API가 호출된다. 블록 904에서, SecuredToken이 사용되었는지를 결정한다. SecuredToken이 사용된 경우, 블록 906에서 OLS 토큰이 검증된다. 블록 908에서, 토큰이 무효인지를 결정한다. 토큰이 무효인 경우, 블록 910에서 에러가 반환된다. 토큰이 유효한 경우, 블록 912에서 TokenUseCount가 결정된다. 이어서, 블록 914에서, 토큰과 관련된 사용자가 검색된다. 이어서, 방법은 블록 916으로 진행된다.
게다가, 블록 904에서 SecuredToken이 사용되지 않은 것으로 결정되는 경우, 방법(900)은 블록 918로 진행되고, 여기서 식별자 티켓이 검증된다. 이어서, 방법은 블록 916에서 계속되며, 여기서 사용자가 보류 상태인지를 결정한다. 사용자가 보류 상태인 경우, 블록 920에서 에러가 반환된다. 그렇지 않은 경우, 블록 922에서 EntitlementID가 존재하는지를 결정한다. EntitlementID가 존재하지 않는 경우, 블록 924에서 에러가 반환된다. 그렇지 않은 경우, 블록 926에서 인타이틀먼트가 중지 또는 디프로비저닝되는지를 결정한다. 인타이틀먼트가 중지 또는 디프로비저닝되는 경우, 블록 928에서 에러가 반환된다. 그렇지 않은 경우, 방법(900)은 도 10과 관련하여 후술하는 무키 허가 흐름으로 계속된다.
도 10은 적절한 경우에 무키 허가를 프로비저닝하기 위한 방법(1000)의 프로세스 흐름도이다. 무키 허가의 목적은 클라이언트가 OSPP 없이 그리고 제품 키를 이용하는 활성화 없이 오피스를 임시로 실행하는 것을 가능하게 하는 것일 수 있다. 이것은 예를 들어 설치의 최초 실행 동안 또는 로밍 애플리케이션 시나리오들 동안 유용할 수 있다.
무키 허가는 임시 오피스 액세스를 가능하게 하기 위해 클라이언트에 의해 사용되고 제의 내에 BaseAuthString로서 저장되는 허가 스트링을 포함하는 서명된 스트링일 수 있다. 무키 허가는 또한 GetKey() 요청시에 클라이언트에 의해 전송되는 HWID 파라미터, 및 클라이언트가 더 이상 무키 허가를 사용하지 않을 수 있는 날짜 및 시간을 나타내는 TimeValidEnd 파라미터를 포함하는 다수의 파라미터를 포함할 수 있다.
방법(1000)의 무키 허가 흐름은 블록 1002에서 시작된다. 다양한 실시예들에서, 방법(1000)은 전술한 바와 같이 방법(900) 후에 실행된다. 방법(1000)은 예를 들어 클라이언트에 의해 요청된 키의 타입에 관한 결정들을 포함하는 블록 1004-1022에서의 다수의 결정을 행하는 것을 포함할 수 있다. 방법(1000)의 조건들이 블록 1012 또는 1014에서 충족되지 않는 경우, 블록 1024 또는 1026에서 에러가 반환될 수 있다.
방법(1000)에서 제공되는 조건들이 충족된 경우, 블록 1028에서 제품 키가 요청되었는지를 결정한다. 제품 키가 요청되지 않은 경우, 블록 1030에서 무키 허가가 반환된다. 제품 키가 요청된 경우, 블록 1032에서 인타이틀먼트 제의가 설치를 허가하는지, 즉 로밍만이 아닌지를 결정할 수 있다. 인타이틀먼트 제의가 설치를 허가하지 않는 경우, 블록 1034에서 에러가 반환된다. 그렇지 않은 경우, 블록 1036에서 제의 타입이 KeyOnly인지를 결정한다.
제의 타입이 KeyOnly가 아닌 경우, 방법(1000)은 블록 1038에 지시된 바와 같이 도 11a 또는 11b의 가입 키 흐름으로 진행된다. 제의 타입이 KeyOnly인 경우, 방법(1000)은 블록 1040에 지시된 바와 같이 도 12a 또는 12b의 제품 키 흐름으로 진행된다.
도 11a는 기존의 가입(또는 TBL) 키를 검색하기 위한 방법(1100)의 프로세스 흐름도이다. 다양한 실시예들에서, GetKey() API에서 사용되는 MachineKey 및 HWID가 OLS에서 사용되는 것들과 동일한 경우에 기존 키가 검색된다. 방법(1100)의 가입 키 흐름은 블록 1102에서 시작된다. 다양한 실시예들에서, 방법(1100)은 전술한 바와 같이 방법(1000) 후에 실행된다. 방법(1100)은 블록 1104-1140에서 다수의 결정을 행하고 다수의 단계를 실행하는 것을 포함할 수 있다. 일부 실시예들에서, 방법(1100)은 블록 1142에 지시되는 바와 같이 도 11b의 새로운 가입 키 흐름으로 진행된다. 다른 실시예들에서, 블록 1144에 지시되는 바와 같이 방법(1100)의 종료시에 기존 가입 키가 반환된다.
도 11b는 새로운 가입 키를 획득하기 위한 방법(1146)의 프로세스 흐름도이다. 다양한 실시예들에서, 새로운 설치가 이루어졌거나, 기계가 허용한계 재활성화를 다 소모하였거나, 인타이틀먼트 변환이 발생하였거나, 기계가 다시 프로비저닝된 경우에 키 저장소로부터 새로운 키가 검색된다. 방법(1146)은 전술한 바와 같이 방법(1000) 또는 방법(1100) 후에 실행될 수 있다.
블록 1148에서 방법(1146)의 새로운 가입 키 흐름이 시작된다. 블록 1150-1156에서 다수의 단계를 수행한 후, 블록 1158에서 새로운 가입 키가 반환된다. 대안으로서, 방법(1146)의 조건이 블록 1150에서 충족되지 않는 경우, 블록 1160에서 에러가 반환되고, 새로운 가입 키가 획득되지 않는다.
도 12a는 기존의 제품 키를 검색하기 위한 방법(1200)의 프로세스 흐름도이다. 방법(1200)은 KeyOnly 제의 타입들에 적용될 수 있다. 다양한 실시예들에서, 방법(1200)은 전술한 바와 같이 방법(1000) 후에 실행된다. 블록 1202에서 방법(1200)의 제품 키 흐름이 시작된다. 방법(1200)은 블록 1204-1212에서 다수의 결정을 행하고 다수의 단계를 실행하는 것을 포함할 수 있다. 일부 실시예들에서, 블록 1206에서 방법(1200)의 조건이 충족되지 않는 경우, 블록 1214에서 에러가 반환된다. 다른 실시예들에서, 방법(1200)은 블록 1216에 지시되는 바와 같이 도 12b의 새로운 제품 키 흐름으로 진행된다. 또한, 다른 실시예들에서, 블록 1216에 지시되는 바와 같이 방법(1200)의 종료시에 기존 제품 키가 반환된다.
도 12b는 새로운 제품 키를 획득하기 위한 방법(1218)의 프로세스 흐름도이다. 인타이틀먼트가 새로운 인타이틀먼트이거나 이전의 인타이틀먼트로부터 변환된 경우에만 새로운 제품 키가 획득될 수 있다. 방법(1218)은 전술한 바와 같이 방법(1000) 또는 방법(1200) 후에 실행될 수 있다. 블록 1220에서 방법(1218)의 새로운 제품 키 흐름이 시작된다. 방법(1218)은 블록 1222-1226에서 다수의 결정을 행하고 다수의 단계를 실행하는 것을 포함할 수 있다. 이어서, 블록 1228에서 지시되는 바와 같이 방법(1218)의 종료시에 새로운 제품 키가 반환된다.
도 13은 인타이틀먼트로부터 기계들을 검색하기 위한 방법(1300)의 프로세스 흐름도이다. 방법(1300)은 GetMachineList() API를 이용하여 실행될 수 있다. GetMachineList() API는 사용자가 키들을 요청한 기계들을 반환할 수 있다. 호출자들은 특정 인타이틀먼트와 관련된 기계들 또는 특정 상태를 갖는 기계들을 요청할 수 있다.
방법(1300)은 블록 1302에서 시작될 수 있으며, 여기서 GetMachineList() API가 호출된다. 방법(1300)은 블록 1304-1316에서 다수의 결정을 행하고 다수의 단계를 실행하는 것을 포함할 수 있다. 이어서, 블록 1318에서 인타이틀먼트(들)로부터의 기계들이 검색되며, 블록 1320에서 기계들의 리스트가 반환된다.
다양한 실시예들에서, API가 현재 영구 제의 상에 있는 인타이틀먼트로부터 GetMachineList()를 시도하도록 요청되는 경우, API는 그 인타이틀먼트로부터 기계들을 검색하려고 계속 시도할 것인데, 이는 인타이틀먼트가 가입 제의로부터 변환되었고, 현재 가입 키들을 사용하고 있는 기계들을 갖지 않기 때문이다.
도 14는 인타이틀먼트로부터 특정 기계를 디프로비저닝하기 위한 방법(1400)의 프로세스 흐름도이다. 방법(1400)은 RemoveMachine() API를 이용하여 실행될 수 있다. RemoveMachine() API는 디프로비저닝할 기계들을 마킹하는 데 사용될 수 있다. 이어서, 디프로비저닝이 비동기적으로 수행될 수 있다.
방법(1400)은 블록 1402에서 시작될 수 있으며, 여기서 RemoveMachineList() API가 호출된다. 방법(1400)은 블록 1404-1418에서 다수의 결정을 행하고 다수의 단계를 실행하는 것을 포함할 수 있다. 일부 실시예들에서, 블록 1408, 1416 또는 1418에서 방법(1400)의 조건들 중 하나가 충족되지 않는 경우, 블록 1420, 1422 또는 1424에서 각각 에러가 반환될 수 있다. 그렇지 않은 경우, 블록 1426에서 기계 상태가 디프로비저닝된 상태로 설정된다. 이것은 인타이틀먼트로부터 기계를 효과적으로 제거한다.
다양한 실시예들에서, GetUrlForEntitlement() API는 인타이틀먼트에 대한 비트들을 다운로드하기 위한 다운로드 URL을 반환한다. 이 API는 프로비저닝 GetDownloadInfo() API와 유사하게 기능한다. 그러나, 사용되는 식별자는 PUID가 아니라 BPOS 또는 라이브에 의해 발행되는 티켓들, 또는 OLS SecureToken일 수 있다. SecureToken은 사용되는 식별자가 OLS SecureToken인 경우에는 재생성되지 않을 수 있다. 오히려, 기존의 토큰이 URL에서 사용될 수 있다. 이 API는 또한 다운로드 파라미터들이 아니라 URL만을 반환한다.
본 명세서에서 설명되는 실시예들에 따르면, 제품 키 캐시는 OLS가 키들을 획득하는 키 저장소이다. 제품 키 캐시는 OLS 코어 라이센싱 데이터베이스와 무관한 데이터베이스이며, 캐시 내의 이용 가능한 키들의 수가 소정 임계치 아래로 떨어질 때마다 JIT 시스템으로부터 키들을 검색하는 비동기 프로세스에 의해 채워진다.
제품 키 캐시는 키의 PKPN, PKPN의 JIT SKU, 및 키가 최초로 획득된 데이터 센터 국가를 포함하는 각각의 키에 대한 메타데이터를 저장할 수 있다. 제품 키 캐시는 제의 속성인 인타이틀먼트 KeyStoreReqId 및 인타이틀먼트로부터 획득되는 BillingCountryISO를 포함하는, GetKey() 논리에 의해 제공되는 여러 파라미터에 기초하여 과세 준수 키를 반환할 수 있다.
OLS 내에서, 제품 키 디프로비저닝 컴포넌트는 코어 시스템과 무관하게 실행되는 비동기 서비스일 수 있다. 제품 키 디프로비저닝 컴포넌트는 처음에 하루에 한 번으로 설정되는 정기적인 스케줄로 실행될 수 있다.
제품 키 디프로비저닝 컴포넌트의 스케줄링된 실행 동안, 이것은 디스에이블 보류인 키 상태들, 즉 KeyStatus, 및 2개월 이상인 최종 키 상태 갱신의 날짜들, 즉 KeyStatusLastUpdate를 이용하여 기계들을 식별할 수 있다. 게다가, 제품 키 디프로비저닝 컴포넌트의 스케줄링된 실행 동안, 이것은 디스에이블 보류인 키 상태들 및 1개월 이상인 최종 키 상태 갱신의 날짜들을 이용하여 제품 키들을 식별할 수 있다. 일부 실시예들에서, 기계는 예를 들어 사용자가 인타이틀먼트로부터 기계를 제거하는 것에 응답하여 동기 제공자 갱신 또는 사용자 액션으로 인해 디프로비저닝될 수 있다.
오피스 시장 경험 동기 제공자
OMEX 동기 제공자는 OMEX 파트너로부터 프로비저닝 갱신들을 수신하고 그러한 갱신들을 OLS로 발행하는 데 사용될 수 있다. 구체적으로, OMEX 동기 제공자는 OMEX 파트너가 OLS 내의 비공개 프로비저닝 계층에 직접 액세스하는 것을 허용하지 않고서 OMEX 파트너가 다양한 프로비저닝 작업들을 수행하기 위한 API들의 세트를 노출시키는 추상 계층이다.
도 15a는 사용자에 의한 인타이틀먼트의 최초 구매를 위한 방법(1500)의 프로세스 흐름도이다. 방법(1500)은 전술한 OMEX 동기 제공자를 이용하여 실행될 수 있다. 사용자는 블록 1502에서 구매를 시작하며, 사용자는 블록 1504에서 OMEX를 통해, 클라이언트를 통해 또는 웹을 통해 SKU를 선택한다. 블록 1506에서, 사용자는 그의 라이브 ID를 이용하여 서명하고, 사용자는 블록 1508에서 인타이틀먼트를 구매하기 위한 지불 정보를 완성한다.
OMEX는 블록 1510에서 CTP를 호출하여 구매 액션을 완료하고, 블록 1512에서 OMEX 동기 제공자를 호출하여 사용자를 프로비저닝하는데, 즉 ProvisionUser()를 실행한다. 블록 1514에서, OMEX 동기 제공자는 사용자를 프로비저닝하고 다운로드 URL을 반환한다. OLS에서 사용자를 프로비저닝하는 것은 ProvisionUser() API를 이용하여 달성될 수 있다. ProvisionUser() API는 OMEX 파트너에 의해서만 호출될 수 있다.
일부 예들에서는 동기 제공자에 대한 호출에 대해 타임아웃이 존재한다. 따라서, 블록 1516에서, 에러 또는 타임아웃이 발생하였는지를 결정할 수 있다. 에러 또는 타임아웃이 발생한 경우, 블록 1518에서 사용자에게 "다운로드를 위해 나중에 돌아오라"는 메시지가 표시될 수 있다. 그렇지 않은 경우, OMEX는 블록 1520에서 인타이틀먼트에 대한 다운로드 링크를 사용자에게 표시한다.
도 15b는 인타이틀먼트를 갱신하기 위한 방법(1522)의 프로세스 흐름도이다. 방법(1522)은 블록 1524에서 시작되며, 여기서 CTP는 프로비저닝 콜백을 개시한다. 블록 1526에서, OMEX 라이센싱 통지자는 OMEX 동기 제공자를 호출하여 ProvisionUser() API를 이용하여 사용자를 프로비저닝한다. 블록 1528에서, OMEX 동기 제공자는 사용자를 프로비저닝하거나 인타이틀먼트를 갱신한다. 이어서, 블록 1530에서 에러 또는 타임아웃이 발생하였는지를 결정한다. 에러 또는 타임아웃이 발생한 경우, 방법(1522)은 블록 1524로 복귀한다. 그렇지 않은 경우, 방법(1522)은 블록 1532에서 종료된다.
도 16은 OLS에서 사용자를 프로비저닝하거나 사용자를 하나의 인타이틀먼트로부터 다른 인타이틀먼트로 변환하기 위한 방법(1600)의 프로세스 흐름도이다. 방법은 블록 1602에서 시작되며, 여기서 ProvisionUser() API가 호출된다. 블록 1604에서 변환 플래그가 설정되었는지를 결정한다.
변환 플래그가 설정된 경우, 블록 1606에서 인타이틀먼트가 디프로비저닝되었는지를 결정한다. 인타이틀먼트가 디프로비저닝된 경우, 블록 1608에서 예외가 발생한다. 그렇지 않은 경우, 사용자는 블록 1610에서 다른 인타이틀먼트로 변환된다. 대안으로서, 블록 1604에서 변환 플래그가 설정되지 않은 경우, 블록 1610에서 사용자가 프로비저닝된다.
이어서, 블록 1612에서 DownloadType이 요청되고, 블록 1614에서 다운로드 URL이 반환된다. 반환된 다운로드 URL은 사용자가 그의 증명서들을 다시 입력하지 않고 오피스를 활성화하는 것을 가능하게 하는 보호된 토큰, 예를 들어 GUID를 포함할 수 있다. 따라서, URL의 사용이 제한될 수 있다. 일부 실시예들에서, 적절한 경우에 다운로드 링크를 재생성하기 위해 GetDownloadInfoForEntitlement() API가 사용된다.
도 17은 강제 갱신 프로세스에 따라 인타이틀먼트를 갱신할지를 결정하기 위한 방법(1700)의 프로세스 흐름도이다. 방법(1700)은 블록 1702에서 시작될 수 있으며, 여기서 ProvisionUser() API가 호출된다. 방법(1700)은 블록 1704-1726에서 다수의 결정을 행하고 다수의 단계를 실행하는 것을 포함할 수 있다. 일부 실시예들에서, 블록 1718에서 인타이틀먼트가 존재하지 않는 것으로 결정하고, 블록 1728에서 예외가 발생한다. 그렇지 않은 경우, 방법(1700)은 블록 1730에서 계속되며, 여기서 다운로드 URL이 반환된다. 다운로드 URL은 블록 1712 또는 블록 1722에서 결정되는 바와 같이 ForcedUpdate가 설정되었는지 또는 블록 1724에서 결정되는 바와 같이 인타이틀먼트 갱신이 허용되는지에 따라 다를 수 있다.
방법(1700)에 따르면, ForcedUpdate는 비동기 CTP 프로비저닝 호출 동안 지정될 수 있는데, 그 이유는 그것이 사용자가 구매한 최종 권한일 수 있기 때문이다. 경쟁 조건들에서 차이가 발생할 수 있으며, 이 경우에는 구매 동안 프로비저닝 호출이 개시되기 전에 비동기 CTP 프로비저닝 호출이 발생한다. 일부 예들에서, ForcedUpdate가 프로비저닝 동안 지정되는 경우, ForcedUpdate가 새로운 ProvisionUser() API 호출에 대해 설정되지 않으면, 최종의 성공적인 갱신으로부터 10초 동안 동일 EntitlementID에 대한 다른 갱신이 허용되지 않을 수 있다. 이 경우, 호출이 성공할 것이고, 기존 인타이틀먼트 정보에 기초하는 정보를 반환할 것이다. 시간 값은 구성 가능할 수 있으며, 이러한 검사를 위한 논리는 동기 제공자 계층에서 격리될 수 있다.
사용자의 인타이틀먼트에 대한 갱신이 행해지지 않지만, 호출이 성공적으로 반환하는 경우, 응답은 갱신이 행해지지 않았다는 것을 호출자에게 지시하는 플래그를 포함할 수 있다. 응답은 또한 시스템 내에 이미 존재하는 인타이틀먼트 정보를 포함할 수 있다. 호출자는 문제 해결을 위해 또는 다른 추가 액션들을 취하기 위해 인타이틀먼트 정보를 사용할 수 있다.
장치들에 대한 라이센싱
본 명세서에서 설명되는 실시예들에 따르면, OLS는 상이한 타입의 장치들 및 상이한 타입의 장치들과 관련된 특정 애플리케이션들의 라이센싱을 지원하도록 갱신될 수 있다. 예를 들어, OLS는 특히 MOX 애플리케이션, 모바일 오피스 애플리케이션, 안드로이드 애플리케이션, 윈도우 모바일 애플리케이션 및 맥 오피스 애플리케이션의 형태의 오피스, 예로서 오피스 2015의 라이센싱을 지원할 수 있다. 따라서, OLS는 많은 상이한 플랫폼들에 걸치는 오피스의 라이센싱을 가능하게 할 수 있다.
OLS 내에서, 용어 "컴퓨터들"은 PC들 및 맥들을 지칭할 수 있으며, 용어 "장치들"은 MOX(또는 슬레이트들) 및 모바일 전화들을 지칭할 수 있다. 공동으로, 컴퓨터들 및 장치들은 모두 OLS 내의 "기계들"로서 지칭될 수 있다.
OLS 내의 기계들에 대한 라이센스들은 증명서 기반 라이센스들 또는 토큰 기반 라이센스들의 형태일 수 있다. 증명서 기반 라이센스들의 경우, 임의의 장치들이 하나의 라이센스 카운트를 공유할 수 있으며, 임의의 컴퓨터들이 다른 라이센스 카운트를 공유할 수 있다. 토큰 기반 라이센싱의 경우, OLS 토큰 대신에 라이센스 토큰이 사용된다. 라이센스 토큰들은 장치마다 제한되지 않은 횟수로 사용될 수 있다. 각각의 라이센스 토큰의 제한을 초과하는 장치 카운트가 존재하지 않으며, 따라서 하나의 장치에서만 사용될 수 있다.
장치 애플리케이션들, 예로서 MOX 및 모바일 애플리케이션들은 플랫폼의 애플리케이션 저장소, 예로서, 애플 저장소를 통해 OEM-사전 설치, 예를 들어 윈도우 모바일을 통해 또는 웹사이트 다운로드, 예로서 안드로이드를 통해 배포될 수 있다. 각각의 장치에 대한 라이센싱 권리들은 OLS와 무관한 플랫폼의 애플리케이션 저장소, 관리되는 또는 관리되지 않는 가입의 구매를 포함하는 OLS 또는 VL 동의를 포함하는 OLS를 통해 획득될 수 있다.
도 18a는 장치에 대한 애플리케이션의 최초 라이센싱을 위한 방법(1800)의 프로세스 흐름도이다. 방법(1800)은 블록 1802에서 시작되며, 여기서 사용자는 장치의 애플리케이션 저장소로부터 애플리케이션을 다운로드한다. 블록 1804에서, 사용자는 그의 증명서들에 대해 프롬프트된다. 블록 1806에서, 사용자는 그의 라이브 ID 또는 다른 증명서들을 이용하여 서명한다. 이어서, 장치는 블록 1808에서 라이센스 정보에 대해 OLS에 조회하며, OLS는 블록 1810에서 허가 스트링을 반환한다. 장치는 블록 1812에서 허가 스트링의 신빙성을 검증하고, 기계 키를 저장하고, 액세스를 승낙한다.
블록 1814에서 장치가 허가되는지를 결정한다. 장치가 허가되지 않는 경우, 블록 1816에서 에러가 반환된다. 장치가 허가되는 경우, 블록 1818에서 애플리케이션의 주기적인 검사 또는 재설치 시까지 애플리케이션에 대한 액세스가 허가된다.
도 18b는 라이센스의 상태를 주기적으로 검사하기 위한 방법(1820)의 프로세스 흐름도이다. 다양한 실시예들에서, 방법(1820)은 하루 중의 애플리케이션의 최초 부트에 응답하여 수행된다.
방법(1820)은 블록 1822에서 시작되며, 여기서 장치는 라이센스 정보에 대해 OLS에 조회한다. 장치는 장치에 의해 결정된 인터벌에 따라, 예를 들어 5회 로그인마다 또는 매달 OLS에 조회할 수 있다. 블록 1824에서, 장치는 기계 키를 OLS로 전송한다.
블록 1826에서, OLS는 장치 상태를 장치로 반환한다. 블록 1828에 지시되는 바와 같이, 장치 상태가 프로비저닝된 경우에 애플리케이션에 대한 액세스가 허가된다. 블록 1830에 지시되는 바와 같이, 장치 상태가 변환 보류이거나 변환된 경우에 OLS로부터 허가 스트링이 다시 획득된다. 블록 1832에 지시되는 바와 같이, 장치 상태가 디프로비저닝되는 경우에 에러가 반환된다.
도 19는 장치를 최초로 라이센싱하기 위한 방법(1900)의 의 프로세스 흐름도이다. 동일 번호의 아이템들은 도 18a와 관련하여 설명된 바와 같다. 방법(1900)은 장치 상의 특정 애플리케이션의 최초 부트에 응답하여 수행될 수 있다.
방법(1900)은 도 18a의 방법(1800)과 유사할 수 있다. 그러나, 사용자는 블록 1902에서 장치 토큰에 대해 프롬프트되며, 사용자는 블록 1904에서 그의 라이브 ID 또는 다른 증명서들을 이용하여 서명하는 대신에 장치 토큰을 제공한다. 따라서, 방법(1900)에 따르면, 장치에 대한 라이센스는 토큰 기반 라이센스이다. 토큰 기반 라이센싱의 경우, 장치는 라이센스가 초기화되면 애플리케이션을 사용하도록 영구적으로 라이센싱된다. 따라서, 라이센스에 대한 주기적인 라이센스 검사가 존재하지 않을 수 있다. 따라서, 블록 1906에서, 장치는 영구적으로 또는 애플리케이션의 재설치 시까지 애플리케이션에 대한 액세스를 허가받는다.
본 명세서에서 설명되는 실시예들에 따르면, OLS 라이센스는 OLS에 의해 허가될 수 있는 새로운 타입의 라이센스이다. OLS 라이센스는 GetOLSLicense() API에 의해 발행될 수 있다. OLS 라이센스는 라이센스 스트링, 즉 MachineKey, 기계 식별자, 즉 MachineID, 허가의 사용이 시작될 수 있는 유효 날짜 및 시간, 즉 TimeValidStart, 및 허가가 더 이상 사용되지 못할 수 있는 유효 날짜 및 시간, 즉 TimeValidEnd를 포함할 수 있다.
장치는 OLS 라이센스가 여러 기준을 충족시키는 경우에만 GetOLSLicense() API에 의해 반환되는 OLS 라이센스를 승낙할 수 있다. 예를 들어, OLS 라이센스는 OLS에 의해 서명된 것으로 검증될 수 있고; 반환된 MachineID는 요청시에 사용된 MachineID와 매칭되는 것으로 검증될 수 있고; TimeValidStart는 요청시에 사용된 현재 시간과 매칭되는 것으로 검증될 수 있고, 현재 클라이언트 시간은 TimeValidStart와 TimeValidEnd 사이에 있는 것으로 검증될 수 있다.
서비스들에 대한 라이센싱
본 명세서에서 설명되는 실시예들은 서비스들에 대한 라이센싱에 관한 다양한 기능들을 수행하는 데 사용될 수 있다. 예를 들어, 본 명세서에서 설명되는 실시예들은 파트너로 하여금 사용자가 그의 로밍 설정 서비스에 대한 액세스를 제공받아야 할지를 식별하는 것을 가능하게 할 수 있다. 게다가, 그러한 실시예들은 오피스 클라이언트 프로비저닝 정보를 검색하기 위한 인터페이스를 오피스 서비스들에 제공할 수 있다.
도 20은 파트너가 사용자에게 그의 서비스들에 대한 액세스를 승낙할지를 결정하기 위한 방법(2000)의 프로세스 흐름도이다. 그러한 결정은 서비스 프로비저닝 정보를 이용하여 행해질 수 있다. 일부 실시예들에서, 파트너들은 GetEntitlementForIdentityEx() API 호출로부터의 결과들을 캐싱하는 사용자 프로비저닝 캐시를 유지한다. 이것은 파트너의 성능을 향상시키고 OLS에 대한 부하를 줄일 수 있다. 사용자 프로비저닝 캐시의 길이는 특정 서비스의 특성들에 따라 조정될 수 있다. 게다가, 사용자 프로비저닝 캐시는 실시간 정보가 서비스에 의해 얼마나 자주 요구되는지 그리고 프로비저닝 정보를 위해 OLS를 호출하는 성능 비용에 기초하여 실효될 수 있다.
방법은 블록 2002에서 시작되며, 여기서 사용자 프로비저닝 캐시가 존재하고 유효한지를 결정한다. 사용자 프로비저닝 캐시가 존재하고 유효한 경우, 블록 2004에서 서비스에 대한 액세스가 허가된다. 사용자 프로비저닝 캐시가 존재하지 않거나 유효하지 않은 경우, 블록 2006에서 제공자는 GetEntitlementForIdentity() API를 호출한다. 블록 2008에서, 파트너는 사용자 프로비저닝 캐시를 갱신한다. 이어서, 블록 2010에서 사용자가 서비스에 대해 프로비저닝되는지를 결정한다. 사용자가 서비스에 대해 프로비저닝되지 않는 경우, 블록 2012에 지시되는 바와 같이 서비스에 대한 액세스가 허가되지 않는다. 그렇지 않은 경우, 사용자는 블록 2004에서 서비스에 대한 액세스를 허가받는다.
지리 로케이션 및 지리 스케일링 서비스들
다양한 실시예들에서, OLS의 성능, 가용성, 신뢰성 및 확장성을 개선 또는 유지하기 위해 지리 로케이션 및 지리 스케일링 기술들이 사용된다. OLS에 대한 전반적인 지리 로케이션 설계는 마스터 데이터 센터 및 다양한 복제 데이터 센터들을 포함할 수 있으며, 이들은 전세계에 지리적으로 분산될 수 있다. 이러한 설계는 이론적으로는 제한 없는 수의 복제 데이터 센터들을 지원할 수 있다. 각각의 복제 데이터 센터는 적절한 경우에 온라인으로 제공될 수 있다.
마스터 데이터 센터는 모든 OLS 동작들을 처리할 수 있다. 예를 들어, 기록 동작들, 예로서 프로비저닝 갱신들이 먼저 마스터 데이터 센터를 통과할 수 있다. 마스터 데이터 센터는 모든 사용자에 대한 프로비저닝 정보의 마스터 사본을 포함할 수 있다. 게다가, 모든 동기 제공자 컴포넌트들 및 키 캐시 컴포넌트들은 마스터 데이터 센터 내에 상주할 수 있다. 또한, 지리 동기자를 이용하여 마스터 데이터 센터를 계속 모니터링함으로써, 복제 데이터 센터들에 동기화될 갱신들을 결정할 수 있다.
복제 데이터 센터들은 모든 판독 동작들을 처리할 수 있는데, 예를 들어 사용자가 서비스에 액세스하기 위한 허가를 갖는지를 검사할 수 있다. 복제 데이터 센터들은 또한 일부 기록 동작들, 예로서 무키 허가들의 발행을 처리할 수 있다. 각각의 복제 데이터 센터는 각각의 사용자에 대한 프로비저닝 정보의 사본을 포함할 수 있으며, 마스터 데이터 센터로부터 프로비저닝 갱신들을 계속 획득할 수 있다. 또한, 재해 복구 시나리오들의 경우에, 임의의 복제 데이터 센터가 아래에 더 설명되는 바와 같이 마스터 데이터 센터가 될 수 있다.
도 21은 마스터 데이터 센터 및 다수의 복제 데이터 센터(2102A, 2102B)의 예시적인 구성의 개략도이다. OMEX(2104) 또는 다른 파트너들은 마스터 데이터 센터(2100)에 대한 범용 OLS URL, 예를 들어 generic.ols.office.com은 물론, 직접 URL, 예를 들어 master.ols.office.com도 제공받을 수 있다. OMEX 동기 제공자(2106)의 동작들과 같은 소정의 동작들 동안, OMEX(2104)는 generic.ols.office.com을 사용하는 것이 아니라 master.ols.office.com을 직접 호출할 수 있다. 이어서, 호출들은 전역 부하 균형화기(2108) 내의 논리에 기초하여 마스터 데이터 센터(2100)로부터 복제 데이터 센터들 중 하나(2102A 또는 2102B)로 재지향될 수 있다.
게다가, 다수의 지리 동기자들(2110A, 2110B)을 이용하여 마스터 데이터 센터(2100)로부터의 정보를 복제 데이터 센터들(2102A, 2102B) 내로 동기화할 수 있다. 구체적으로, 각각의 지리 동기자는 마스터 데이터 센터(2100) 내의 지리 동기 테이블로부터 데이터를 판독하고, 데이터를 복제 데이터 센터들(2102A, 2102B) 내에 기록할 수 있다. 그러한 데이터는 예를 들어 프로비저닝 갱신들 또는 제품 키 정보 갱신들에 관한 정보를 포함할 수 있다.
마스터 데이터 센터(2100) 내의 지리 동기 테이블은 복제 데이터 센터들(2102A, 2102B) 내로 동기화될 수 있는 OLS 코어 내의 레코드들에 대한 포인터들을 포함할 수 있다. 구체적으로, 지리 동기 테이블은 SourceTable 이름, SourcePartition 키, SourceRow 키, ModifiedDateTime 및 PublishPending 포인터들을 포함할 수 있다. OLS 코어 테이블에서 기록이 발생할 때마다, 예외 리스트 내의 속성들에만 영향을 주는 기록들을 제외하고서, 지리 동기 테이블 내에 레코드가 생성된다.
도 21에는 2개의 지리 동기자(2110A, 2110B)만이 도시되지만, 구성은 지리 동기자들(2110)의 풀을 포함할 수 있다. 각각의 지리 동기자(2110)가 깨어날 때, 그는 복제 데이터 센터(2102A 또는 2102B)에 대한 동기에 대한 록을 획득하려고 시도한다. 임의의 지리 동기자(2110)가 임의의 복제 데이터 센터(2102A 또는 2102B)에 동기화될 수 있다. 그러나, 한 번에 하나의 지리 동기자(2110)만이 복제 데이터 센터(2102A 또는 2102B)에 대해 활성일 수 있다. 각각의 지리 동기자(2110)는 다음 복제 데이터 센터(2102A 또는 2102B)에 대한 동기에 대한 록을 획득하려고 시도하기 전에 단일 복제 데이터 센터(2102A 또는 2102B)에 대한 동기화를 종료하려고 시도할 것이다. 또한, 모든 지리 동기자들(2110)은 마스터 데이터 센터(2100) 내에서 실행될 수 있다. 다양한 실시예들에서, 마스터 데이터 센터(2100)는 모든 복제 데이터 센터들(2102A, 2102B), 대응하는 록들, 대응하는 록 지속기간들, 지리 동기 테이블 내의 대응하는 PublishPending 필드들, 및 실제 동기화를 턴온 또는 턴오프하기 위한 스위치를 목록화하는 록 구성 파일을 포함한다. 게다가, 일부 실시예들에서, 중앙 동기 제어기(도시되지 않음)를 이용하여 지리 동기자들(2110)의 기능을 관리할 수 있다.
임의 수의 새로운 복제 데이터 센터들이 임의의 시점에 온라인으로 제공될 수 있다. 새로운 복제 데이터 센터가 온라인으로 제공될 때, 새로운 복제 데이터 센터에 대한 구성 엔트리가 마스터 데이터 센터(2100) 내의 록 구성 파일에 추가될 수 있다. 먼저, 구성 엔트리는 새로운 복제 데이터 센터를 "오프"로 마킹하여, 복제 데이터 센터에 대한 변경들이 추적되기 시작하는 것을 보증할 수 있다. 현재 시간이 기록될 수 있으며, 현재 시간까지의 마스터 데이터 센터(2100) 내의 모든 데이터가 새로운 복제 데이터 센터 내로 복제될 수 있다. 이어서, 구성 엔트리는 새로운 복제 데이터 센터를 "온"으로 마킹할 수 있다. 이어서, 지리 동기화 절차는 정상적으로 기능할 수 있다.
재해 복구
본 명세서에서 설명되는 실시예들에 따르면, 라이센싱 시스템 내의 다수의 데이터 센터, 예를 들어 하나의 마스터 데이터 센터 및 적어도 2개의 복제 데이터 센터의 사용은 데이터 센터의 장애의 경우에 재해 복구를 가능하게 한다. 예를 들어, 임의의 시점에 새로운 데이터 센터가 고장난 데이터 센터에 대한 대체 데이터 센터로서 온라인으로 제공될 수 있다. 이전의 마스터 데이터 센터가 고장난 경우에 복제 데이터 센터는 마스터 데이터 센터로 승격될 수도 있다. 계획된 다운타임들이 임의의 시점에 구현될 수 있다.
재해 복구 절차는 OLS 데이터를 복구하는 데 사용될 수 있다. OLS는 마스터 데이터 센터로부터의 데이터를 복제 데이터 센터들로 복제하므로, 라이센싱 시스템 내에는 이미 소정의 내장된 중복성이 존재한다. 그러나, 지리 동기 지연으로 인해, 각각의 복제 데이터 센터 내의 데이터는 아마도 임의의 시점에 마스터 데이터 센터와 또는 다른 복제 데이터 센터들과 100% 동등하지는 않을 것이다. 따라서, 재해의 경우에 일부 데이터가 손실될 수 있다. 게다가, OLS는 인타이틀먼트 프로비저닝 데이터, OMEX 프로비저닝 데이터 및 BPOS 프로비저닝 데이터와 같은 프로비저닝 데이터를 포함할 수 있다. 재해의 경우에 일부 프로비저닝 데이터는 OLS 프로비저닝 파트너들로부터 복구 가능할 수 있지만, 소정 양의 프로비저닝 데이터가 손실될 수 있다. 따라서, 그러한 데이터를 복구하는 것이 바람직할 수 있다.
계획된 다운타임
도 22는 계획된 다운타임을 실행하기 위한 제1 단계를 나타내는 개략도이다. 제1 단계는 마스터 데이터 센터(2200)로부터의 호출들의 서비싱을 중지하고, 아래에 더 설명되는 바와 같이, 복제 데이터 센터들(2202, 2204)을 동등하게 하는 단계를 포함할 수 있다.
일부 예들에서, OLS 내의 마스터 데이터 센터(2200)는 고의로 다운될 수 있다. 예를 들어, 마스터 데이터 센터(2200)는 교정될 결함 구성을 가질 수 있거나, 마스터 데이터 센터(2200)가 다운될 때만 구현될 수 있는 마스터 데이터 센터(2200)에 대해 이용 가능한 주요 서비스 갱신이 존재할 수 있다.
마스터 데이터 센터(2200)가 다운될 때, 주요 복제 데이터 센터(2202)가 새로운 마스터 데이터 센터로서 온라인 제공된다. 주요 복제 데이터 센터(2202)는 마스터 데이터 센터(2200)에 가까이 위치하는 복제 데이터 센터일 수 있으며, 마스터 데이터 센터(2200)가 다운될 때 새로운 마스터 데이터 센터로 승격될 제1 복제 데이터 센터이다.
일부 실시예들에서, 각각의 데이터 센터는 1로부터 시작하는 번호를 할당 받는다. 예를 들어, 마스터 데이터 센터(2200)는 1번을 할당 받을 수 있고, 주요 복제 데이터 센터(2202)는 2번을 할당 받을 수 있고, 다른 복제 데이터 센터(2204)는 3번을 할당받을 수 있다. 각각의 데이터 센터(2200, 2202, 2204)는 그의 할당 번호는 물론, 최대 번호를 자체적으로 인식할 수 있다. 이러한 번호 부여 시스템은 재해 시나리오들 동안 소정의 결정들을 행하는 데 유용할 수 있다. 예를 들어, 마스터 데이터 센터(2200)가 고장 나는 경우, 주요 복제 데이터 센터(2202)는 그의 번호 2이므로 새로운 마스터 데이터 센터로 자동 승격될 수 있다. 주요 복제 데이터 센터(2202)가 이용 가능하지 않은 경우, 복제 데이터 센터(2204)는 그의 번호 3이므로 새로운 마스터 데이터 센터로 승격될 수 있다.
전술한 바와 같이, 계획된 다운타임의 실행에 있어서의 제1 단계는 마스터 데이터 센터(2200)로부터의 호출들의 서비싱을 중지하고, 주요 복제 데이터 센터(2202)를 동등하게 할 수 있다. 이것은 범용 OLS URL(2206), 즉 generic.ols.office.com 교대로부터 마스터 데이터 센터(2200)를 제거함으로써 달성될 수 있다. BPOS 파트너(2210)의 BPOS 동기 제공자(2208)의 동기자 컴포넌트는 중지될 수 있으며, 발행 컴포넌트는 발행할 것이 남지 않을 때까지 계속될 수 있다. 마스터 OLS URL(2212), 즉 master.ols.office.com에 대한 모든 호출들은 TemporarilyUnavailable 예외를 반환할 수 있다. 이것은 OMEX 파트너(2216)의 OMEX 동기 제공자(2214), OLS API 및 OLS 파트너 API들에 대한 호출들을 포함한다. 게다가, 지리 동기자들(2218)은 동기화할 것이 남지 않을 때까지 지리 동기화 프로세스를 계속할 수 있다. 이 프로세스의 종료시에, 모든 복제 데이터 센터들(2202, 2204)은 마스터 데이터 센터(2200)로부터의 모든 동기화 가능 데이터를 동기화했을 것이며, 모든 의도 및 목적을 위해 마스터 데이터 센터(2200)와 동등할 것이다.
도 23은 계획된 다운타임을 실행하기 위한 제2 단계를 나타내는 개략도이다. 동일한 번호의 아이템들은 도 22와 관련하여 설명된 바와 같다. 제2 단계는 아래에 더 설명되는 바와 같이 주요 복제 데이터 센터(2202)를 새로운 마스터 데이터 센터로 승격시키는 단계를 포함할 수 있다.
계획된 다운타임의 이 단계 동안, BPOS 파트너(2210)의 데이터베이스는 이전의 마스터 데이터 센터, 즉 데이터 센터(2200)로부터 새로운 마스터 데이터 센터(2202)로 복사될 수 있다. 록 구성 파일들이 갱신될 수 있다. OMEX 동기 제공자(2214) 및 BPOS 동기 제공자(2208)의 모든 컴포넌트들이 새로운 마스터 데이터 센터(2204)에서 턴온될 수 있다. 모든 OLS API 및 OLS 파트너 API 호출들이 새로운 마스터 데이터 센터(2202)에서 턴온될 수 있다. 마스터 OLS USL(2212)은 새로운 마스터 데이터 센터(2202)로 맵핑될 수 있다. 게다가, 복제 데이터 센터(2204)는 새로운 주요 복제 데이터 센터로 지정될 수 있으며, 지리 동기화 프로세스가 턴온될 수 있다.
이 단계의 종료시에, 이전의 주요 복제 데이터 센터는 새로운 마스터 데이터 센터(2202)로 승격되었다. 따라서, 이전의 마스터 데이터 센터(2200)는 이제 유지보수, 업그레이드 등을 위해 다운될 수 있다. 이러한 단계들은 이전의 마스터 데이터 센터(2200)를 현재 마스터 데이터 센터로 복귀시키도록 반전될 수 있다.
일부 실시예들에서, 새로운 복제 데이터 센터들을 온라인으로 제공하는 것이 바람직할 수 있다. "오프"로 설정된 동기화를 갖는 모든 데이터 센터의 록 구성 파일에 복제 데이터 센터에 대한 레코드를 추가함으로써 새로운 복제 데이터 센터가 전개될 수 있다. 레코드가 추가되는 경우, 복제 데이터 센터는 사실상 새로운 복제 데이터 센터이다. 그렇지 않은 경우, 이것은 기존의 복제 데이터 센터이며, 다음 단계들은 적용되지 않는다. 레코드가 록 구성 파일에 추가되면, 마스터 데이터 센터는 새로운 복제 데이터 센터에 동기화될 변경들을 수집하기 시작할 수 있다. 데이터가 마스터 데이터 센터로부터 새로운 복제 데이터 센터로 복사될 수 있다. 복사가 완료된 후, 새로운 복제 데이터 센터는 마스터 데이터 센터의 록 구성 파일에서 자신에 대한 지리 동기화를 턴온할 수 있다. 게다가, 데이터 센터들의 최대 번호가 모든 데이터 센터에서 갱신될 수 있다. 더구나, 새로운 복제 데이터 센터는 전역 부하 균형화된 URL에 추가될 수 있다.
계획되지 않은 다운타임
계획되지 않은 다운타임이 다양한 이유로 인해 발생할 수 있다. 복제 데이터 센터의 임의의 계획되지 않은 다운타임, 예를 들어 간헐적인 또는 지속적인 다운타임은 다른 복제 데이터 센터로 재지향시키기 위한 전역 부하 균형화기의 변경을 이용하여 빠르게 처리될 수 있다. 최대 다운타임은 전역 부하 균형화기의 DNS 엔트리의 TTL 시간에 의존할 수 있다. 그러나, 마스터 데이터 센터의 계획되지 않은 다운타임은 덜 빠르게 처리된다. 마스터 데이터 센터는 프로비저닝을 수행하고 API 호출들을 서비스하는 유일한 데이터 센터이므로, 트래픽이 단순히 백업 데이터 센터로 재지향되지 못한다.
마스터 데이터 센터가 예상치 못하게 오랜 기간 동안 이용 불가능하게 되는 경우, 주요 복제 데이터 센터가 새로운 마스터 데이터 센터로 승격될 수 있다. 이것은 록 구성 파일을 갱신하고, 주요 복제 데이터 센터 내의 BPOS 동기 제공자를 턴온시키고, 주요 복제 데이터 센터 내의 OMEX 동기 제공자를 턴온시킴으로써 달성될 수 있다. 게다가, 모든 OLS API 및 OLS 파트너 API 호출들이 주요 복제 데이터 센터에서 턴온될 수 있고, 마스터 OLS URL이 주요 복제 데이터 센터로 맵핑될 수 있고, 다른 복제 데이터 센터가 주요 복제 데이터 센터로 지정될 수 있고, 지리 동기화 프로세스가 턴온될 수 있다. 새로운 마스터 데이터 센터가 지정되었고, 이전의 마스터 데이터 센터가 예상치 못하게 온라인으로 복귀하는 경우, 이전의 마스터 데이터 센터가 오래된 정보를 복제 데이터 센터 내로 지리 동기화함에 따라 데이터 불일치가 발생할 수 있다. 따라서, 이전의 마스터 데이터 센터가 자동으로 온라인으로 복귀할 수 없는 것을 보증하기 위한 단계들이 취해질 수 있다. 예를 들어, 이전의 마스터 데이터 센터를 턴오프하기 위해 구성 전개가 사용될 수 있다.
애플리케이션 라이센싱을 위한 일반적인 방법 및 시스템
도 24는 애플리케이션 라이센싱을 위한 방법(2400)의 프로세스 흐름도이다. 다양한 실시예들에서, 방법(2400)은 본 명세서에서 설명되는 라이센싱 시스템 내의 라이센싱 서비스, 예로서 OLS에 의해 실행된다. 방법(2400)은 블록 2402에서 시작되며, 여기서 애플리케이션에 대한 라이센스가 라이센싱 서비스로부터 컴퓨팅 장치로 반환된다. 라이센스는 컴퓨팅 장치로부터 라이센스를 요청하는 호출을 수신하는 것에 응답하여 반환될 수 있으며, 라이센스는 컴퓨팅 장치, 컴퓨팅 장치의 사용자 또는 이들의 임의 조합에 기초한다. 다양한 실시예들에서, 라이센스는 다수의 컴퓨팅 장치에 기초하며, 라이센스를 위해 사용될 수 있는 컴퓨팅 장치들의 수는 라이센스의 조건들에 의해 지정된다. 애플리케이션은 시장 서비스 또는 제삼자 서비스에 의해 제공될 수 있는 서비스, 프로그램 또는 애플리케이션일 수 있다. 또한, 라이센스는 다수의 애플리케이션 또는 다수의 서비스에 대한 라이센스일 수 있다. 게다가, 라이센스는 가입 라이센스 또는 영구 라이센스일 수 있다.
블록 2404에서, 라이센싱 서비스는 라이센스의 상태를 모니터링한다. 라이센스의 상태의 모니터링은 사기 활동의 검출을 포함할 수 있으며, 사기 활동은 라이센스의 조건들에 의해 허가되지 않는 활동이다. 다양한 실시예들에서, 라이센스의 상태의 모니터링은 라이센스가 실효되었는지를 결정하는 것을 포함한다. 라이센스의 상태는 사용자에 의해 사용되는 다수의 컴퓨팅 장치에 걸쳐 동기화될 수 있다.
블록 2406에서, 라이센스의 상태에 따라 라이센스의 조건들이 조정된다. 일부 실시예들에서, 라이센스의 조건들의 조정은 라이센스가 실효된 경우에 라이센스를 디프로비저닝하는 것을 포함한다. 라이센스의 조건들의 조정은 라이센스가 사용자에 의해 갱신되는 경우에 라이센스를 다시 프로비저닝하는 것도 포함할 수 있다.
일부 실시예들에서, 사용자는 라이센싱 서비스에 대한 접속을 유지하지 않고서 애플리케이션을 사용하는 것이 허가될 수 있다. 그러나, 사용자는 라이센스의 상태의 모니터링을 가능하게 하기 위해 컴퓨팅 장치를 라이센싱 서비스에 주기적으로 접속하도록 요청될 수 있다. 라이센스는 사용자가 지정된 기간 동안 라이센싱 서비스에 접속하지 않는 경우에 디프로비저닝될 수 있다.
도 24의 프로세스 흐름도는 방법(2400)의 단계들이 임의의 특정 순서로 실행되어야 하거나, 모든 단계들이 모든 경우에 포함되어야 한다는 것을 지시하는 것을 의도하지 않는다는 것을 이해해야 한다. 또한, 특정 구현의 상세에 따라 임의 수의 추가 단계들이 방법(2400) 내에 포함될 수 있다.
라이센싱 서비스들을 위한 방법
라이센싱 서비스들을 위한 방법이 여기서 개시된다. 방법은 라이센싱 서비스 내에서 폴 모델을 이용하여 서비스를 사용자 또는 컴퓨팅 장치 또는 이들의 임의 조합에 대해 라이센싱하는 단계를 포함한다. 다양한 실시예들에서, 라이센싱 서비스들을 위한 다른 방법은 또한 라이센싱 서비스 내에서 푸시 모델을 이용하여 서비스를 사용자 또는 컴퓨팅 장치에 대해 라이센싱하는 단계를 포함할 수 있다.
비즈니스 연속성을 제공하기 위한 방법
데이터 센터 내에 또는 다수의 지리적으로 분산된 데이터 센터에 걸쳐 데이터를 연속적으로 배포하는 프로세스들의 풀을 포함하는 비즈니스 연속성을 제공하는 방법도 여기서 개시된다. 또한, 비즈니스 연속성, 강건성 및 중복성을 제공하기 위한 시스템이 여기서 개시된다. 시스템은 록들의 세트, 록들을 획득하는 프로세스들의 세트, 및 비즈니스 데이터 또는 라이센싱 데이터 또는 이들 양자에 대한 변경들의 큐를 포함한다. 시스템은 또한 변경들을 관리하기 위한 메커니즘 및 비즈니스 데이터 또는 라이센싱 데이터 또는 이들 양자를 데이터 센터들에 걸쳐 기록하기 위한 메커니즘을 포함한다.
동기 제공자들을 이용하는 애플리케이션 라이센싱을 위한 방법
도 25는 동기 제공자들을 이용하여 애플리케이션을 라이센싱하기 위한 방법(2500)의 프로세스 흐름도이다. 라이센싱될 애플리케이션은 예를 들어 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션 또는 프레젠테이션 애플리케이션일 수 있다. 게다가, 애플리케이션은 특정 상거래 파트너에 의해 제공되는 서비스일 수 있다.
방법은 블록 2502에서 시작되며, 여기서 애플리케이션에 대한 라이센싱에 대한 요청이 라이센싱 서비스에서 클라이언트 동기 제공자로부터 수신된다. 일부 실시예들에서, 클라이언트 동기 제공자는 지정된 클라이언트 컴퓨팅 장치에 대응하며, 라이센스는 지정된 클라이언트 컴퓨팅 장치 상에서의 애플리케이션의 사용을 허가한다. 또한, 일부 실시예들에서, 라이센스는 클라이언트 증명서들의 입력에 기초하여 클라이언트 컴퓨팅 장치 상에서의 애플리케이션의 사용을 허가한다.
블록 2504에서, 라이센스에 관한 정보가 상거래 파트너 동기 제공자를 통해 애플리케이션을 제의하는 상거래 파트너로부터 수신된다. 일부 실시예들에서, 라이센싱 서비스는 클라이언트 동기 제공자 및 상거래 파트너 동기 제공자와 통신하기 위한 다수의 프로비저닝 API를 포함한다.
블록 2506에서, 애플리케이션에 대한 라이센스가 클라이언트 컴퓨팅 장치로 반환된다. 블록 2508에서, 라이센스의 상태에 관한 정보가 클라이언트 동기 제공자로부터 수신된다. 라이센스의 상태에 관한 정보는 상거래 파트너 동기 제공자로부터 수신될 수도 있다. 일부 실시예들에서, 라이센스의 상태는 클라이언트 동기 제공자에 대응하는 다수의 클라이언트 컴퓨팅 장치에 걸쳐 동기화된다. 또한, 일부 실시예들에서, 라이센스의 상태는 라이센싱 서비스를 통해 직접 모니터링된다.
블록 2510에서, 라이센스의 상태에 따라 라이센스의 조건들이 조정된다. 예를 들어, 라이센스가 실효 상태를 갖는 경우에 라이센스가 디프로비저닝될 수 있거나, 라이센스가 갱신 상태를 갖는 경우에 라이센스가 다시 프로비저닝될 수 있다. 또한, 라이센스는 상이한 라이센스로 변환될 수 있거나, 라이센스는 변환된 상태를 갖는다.
도 25의 프로세스 흐름도는 방법(2500)의 단계들이 임의의 특정 순서로 실행되어야 하거나, 모든 단계들이 모든 경우에 포함되어야 한다는 것을 지시하는 것을 의도하지 않는다는 것을 이해해야 한다. 또한, 특정 구현의 상세에 따라 임의 수의 추가 단계들이 방법(2500) 내에 포함될 수 있다. 예를 들어, 일부 실시예들에서, 방법(2500)은 하나 이상의 클라이언트 동기 제공자 및 다수의 상거래 파트너 동기 제공자를 포함하는 플러깅 가능한 동기 제공자들의 시스템을 이용하여 애플리케이션을 라이센싱하는 단계를 포함한다.
다수의 형태의 라이센싱을 이용하여 애플리케이션을 라이센싱하기 위한 방법
도 26은 다수의 형태의 라이센싱을 이용하여 애플리케이션을 라이센싱하기 위한 방법(2600)의 프로세스 흐름도이다. 방법은 블록 2602에서 시작되며, 여기서 제1 형태의 라이센스가 라이센싱 서비스를 통해 제1 컴퓨팅 장치에 제공된다. 제1 형태의 라이센스는 사용자 증명서들 또는 제품 키의 입력과 같은 사용자에 의한 입력에 응답하여 제1 컴퓨팅 장치에 제공될 수 있다. 블록 2604에서, 제2 형태의 라이센스가 라이센싱 서비스를 통해 제2 컴퓨팅 장치에 제공된다. 제2 형태의 라이센스는 사용자 증명서들 또는 제품 키의 입력과 같은 사용자에 의한 입력에 응답하여 제2 컴퓨팅 장치에 제공될 수 있다. 다양한 실시예들에서, 제1 형태의 라이센스 및 제2 형태의 라이센스는 제품 키 기반 라이센스, 온라인 사용자 기반 라이센스, 장치 기반 라이센스 또는 토큰 기반 라이센스 또는 이들의 임의 조합들을 포함한다.
제1 형태의 라이센스의 제1 상태 및 제2 형태의 라이센스의 제2 상태가 블록 2606에서 결정되며, 블록 2608에서 제1 상태 및 제2 상태를 동기화하여, 결합된 라이센스 상태를 형성한다. 또한, 블록 2610에서, 라이센스의 조건들이 결합된 라이센스 상태에 따라 조정된다. 일부 실시예들에서, 결합된 라이센스 상태는 실효 상태, 갱신 상태, 변환된 라이센스 상태 또는 유효 상태 또는 이들의 임의 조합들을 포함한다. 결합된 라이센스 상태가 실효 상태인 경우, 라이센스의 조건들의 조정은 라이센스의 디프로비저닝을 포함할 수 있다. 결합된 라이센스 상태가 갱신 상태인 경우, 라이센스의 조건들의 조정은 라이센스를 다시 프로비저닝하는 것을 포함할 수 있다. 결합된 라이센스 상태가 유효 상태인 경우, 라이센스의 조건들이 조정되지 않을 수 있다. 결합된 라이센스 상태가 변환된 라이센스 상태인 경우, 라이센스는 상이한 라이센스로 변환될 수 있다.
도 26의 프로세스 흐름도는 방법(2600)의 단계들이 임의의 특정 순서로 실행되어야 하거나, 모든 단계들이 모든 경우에 포함되어야 한다는 것을 지시하는 것을 의도하지 않는다는 것을 이해해야 한다. 또한, 특정 구현의 상세에 따라 임의 수의 추가 단계들이 방법(2600) 내에 포함될 수 있다. 예를 들어, 방법(2600)은 결합된 라이센스 상태에 기초하여 사기 활동을 검출하는 단계를 포함할 수 있으며, 사기 활동은 라이센스의 조건들에 의해 허가되지 않는 활동을 포함한다. 이어서, 라이센스의 조건들은 사기 활동의 검출에 기초하여 조정될 수 있다.
장치들에 대한 애플리케이션들을 라이센싱하기 위한 방법
도 27은 장치들에 대한 애플리케이션을 라이센싱하기 위한 방법(2700)의 프로세스 흐름도이다. 방법은 블록 2702에서 시작되며, 여기서 애플리케이션에 대한 라이센스가 라이센싱 서비스로부터 사용자에 의해 사용되는 다수의 컴퓨팅 장치로 제공된다. 애플리케이션에 대한 라이센스는 증명서들을 포함할 수 있다. 라이센스는 사용자에 의한 입력에 응답하여 각각의 컴퓨팅 장치에 제공될 수 있다.
블록 2704에서, 증명서들이 컴퓨팅 장치들 각각과 연관된다. 예컨대, 각각의 컴퓨팅 장치의 식별자가 증명서들과 연관될 수 있다. 증명서들이 특정 컴퓨팅 장치와 연관되면, 사용자는 라이센싱 서비스에 접속하지 않고서 지정 기간 동안 컴퓨팅 장치 상에서 애플리케이션을 사용하는 것이 허락될 수 있다.
블록 2706에서, 컴퓨팅 장치 각각 상의 라이센스에 대응하는 가입의 상태가 주기적으로 결정된다. 다양한 실시예들에서, 각각의 컴퓨팅 장치 상의 가입의 상태는 라이센스의 조건들에 의해 지정되는 구성 가능한 주기로 결정된다. 컴퓨팅 장치 상의 가입의 상태는 컴퓨팅 장치로부터 수신되는 가입 상태 검사 호출에 응답하여 결정될 수 있다. 가입 상태 검사 호출은 컴퓨팅 장치에 의해 수행된 가입 상태 검사의 결과를 포함할 수 있다. 이어서, 라이센스의 조건들이 각각의 컴퓨팅 장치 상의 가입의 상태에 기초하여 조정될 수 있다. 예를 들어, 라이센스는 특정 컴퓨팅 장치 상에서 가입이 실효된 경우에 디프로비저닝될 수 있거나, 라이센스는 특정 컴퓨팅 장치 상에서 가입이 갱신된 경우에 다시 프로비저닝될 수 있다. 게다가, 라이센스는 특정 컴퓨팅 장치 상에서 가입이 변환된 경우에 상이한 라이센스로 변환될 수 있다.
도 27의 프로세스 흐름도는 방법(2700)의 단계들이 임의의 특정 순서로 실행되어야 하거나, 모든 단계들이 모든 경우에 포함되어야 한다는 것을 지시하는 것을 의도하지 않는다는 것을 이해해야 한다. 또한, 특정 구현의 상세에 따라 임의 수의 추가 단계들이 방법(2700) 내에 포함될 수 있다.
애플리케이션에 대한 사용자 기반 라이센스들을 제공하기 위한 방법
도 28은 애플리케이션의 사용자 기반 라이센싱을 제공하기 위한 방법의 프로세스 흐름도이다. 방법은 블록 2802에서 시작되며, 여기서 사용자 로그인 정보가 사용자에 의한 입력에 응답하여 라이센싱 서비스에서 컴퓨팅 장치로부터 수신된다. 사용자 로그인 정보는 라이센싱 서비스 또는 라이센싱 서비스와 관련된 상거래 파트너와 연관될 수 있다.
블록 2804에서, 애플리케이션에 대한 라이센스가 컴퓨팅 장치에 제공되며, 라이센스는 사용자와 관련된 장치 고유 정보를 포함한다. 장치 고유 정보는 사용자가 라이센스에 따라 애플리케이션을 사용하도록 프로비저닝되는 컴퓨팅 장치들에 관한 정보를 포함할 수 있다. 게다가, 장치 고유 정보는 사용자가 라이센스에 따라 애플리케이션을 사용하도록 프로비저닝되는 것이 허가되는 컴퓨팅 장치들의 전체 수를 포함할 수 있다.
블록 2806에서, 애플리케이션이 장치 고유 정보의 입력을 이용하여 컴퓨팅 장치 상에서 활성화된다. 이어서, 사용자는 컴퓨팅 장치 상에서 애플리케이션을 사용하는 것이 허가될 수 있다. 일부 실시예들에서, 사용자는 컴퓨팅 장치를 라이센싱 서비스에 접속하지 않고서 지정 기간 동안 컴퓨팅 장치 상에서 애플리케이션을 사용하는 것이 허가된다.
일부 실시예들에서, 라이센스의 상태가 컴퓨팅 장치로부터의 입력에 응답하여 주기적으로 결정될 수 있으며, 입력은 컴퓨팅 장치에 의해 수행된 라이센스 상태 검사의 결과를 포함한다. 라이센스의 상태는 라이센싱 서비스 또는 라이센스 자체에 의해 지정되는 구성 가능한 주기로 검사될 수 있다. 이어서, 라이센스의 상태에 기초하여 라이센스의 조건들이 조정될 수 있다.
도 28의 프로세스 흐름도는 방법(2800)의 단계들이 임의의 특정 순서로 실행되어야 하거나 모든 단계들이 모든 경우에 포함되어야 한다는 것을 지시하는 것을 의도하지 않는다는 것을 이해해야 한다. 또한, 특정 구현의 상세에 따라 임의 수의 추가 단계들이 방법(2800) 내에 포함될 수 있다. 예를 들어, 애플리케이션에 대한 라이센스는 사용자에 의해 사용되는 다수의 컴퓨팅 장치에 걸쳐 로밍될 수 있다.
본 발명은 구조적 특징들 및/또는 방법적 단계들에 고유한 언어로 설명되었지만, 첨부된 청구항들에서 정의되는 발명은 전술한 특정 특징들 또는 단계들로 반드시 한정되지는 않는다는 것을 이해해야 한다. 오히려, 전술한 특정 특징들 및 단계들은 청구항들을 구현하는 예시적인 형태들로서 개시된다.

Claims (10)

  1. 동기 제공자(sync provider)를 이용하여 애플리케이션(220)을 라이센싱하기 위한 방법으로서,
    라이센싱 서비스(302)에서 클라이언트 동기 제공자(304D)로부터 애플리케이션(220)에 대한 라이센스에 대한 요청을 수신하는 단계(2502)와,
    상거래 파트너 동기 제공자를 통해 상기 애플리케이션(220)을 제의(offer)하는 상거래 파트너로부터 상기 라이센스에 관한 정보를 수신하는 단계(2504)와,
    상기 애플리케이션(220)에 대한 상기 라이센스를 클라이언트 컴퓨팅 장치(308)로 반환하는 단계(2506)와,
    상기 클라이언트 동기 제공자(304D)로부터 상기 라이센스의 상태에 관한 정보를 수신하는 단계(2508)와,
    상기 라이센스의 상기 상태에 따라 상기 라이센스의 조건을 조정하는 단계(2510)
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 상거래 파트너 동기 제공자로부터 상기 라이센스의 상기 상태에 관한 정보를 수신하는 단계를 포함하는
    방법.
  3. 제1항에 있어서,
    하나 이상의 클라이언트 동기 제공자(304D) 및 복수의 상거래 파트너 동기 제공자를 포함하는 플러깅 가능한(pluggable) 동기 제공자의 시스템을 이용하여 애플리케이션(220)을 라이센싱하는 단계를 포함하는
    방법.
  4. 제1항에 있어서,
    상기 클라이언트 동기 제공자(304D)에 대응하는 복수의 클라이언트 컴퓨팅 장치(308)에 걸쳐 상기 라이센스의 상기 상태를 동기화하는 단계를 포함하는
    방법.
  5. 제1항에 있어서,
    상기 라이센스의 상기 상태가 실효 상태(expired state)를 포함하는 경우에 상기 라이센스를 디프로비저닝(deprovisioning)하는 단계를 포함하는
    방법.
  6. 제1항에 있어서,
    상기 라이센스의 상기 상태가 갱신 상태를 포함하는 경우에 상기 라이센스를 다시 프로비저닝하는 단계를 포함하는
    방법.
  7. 제1항에 있어서,
    상기 라이센스의 상태가 변환 상태인 경우에 상기 라이센스를 제2 라이센스로 변환하는 단계를 포함하는
    방법.
  8. 동기 제공자를 이용하여 애플리케이션(220)을 라이센싱하기 위한 시스템으로서,
    상거래 파트너 동기 제공자를 통해 상거래 파트너로부터 프로비저닝 요청을 수신하고,
    애플리케이션(220)에 대한 라이센스를 요청하는 시스템 호출을 라이센싱 서비스(302)로 전송하고,
    상기 라이센스의 상태를 주기적으로 결정하고 갱신하도록
    구성되는 클라이언트 동기 제공자(304D)를 포함하고,
    상기 라이센싱 서비스(302)는
    상기 애플리케이션(220)에 대한 상기 라이센스를 클라이언트 컴퓨팅 장치(308)로 반환하고,
    상기 클라이언트 동기 제공자(304D)로부터 상기 라이센스의 상기 상태에 관한 정보를 수신하고,
    상기 라이센스의 상기 상태에 따라 상기 라이센스의 조건을 조정하도록 구성되는
    시스템.
  9. 제8항에 있어서,
    상거래 파트너 동기 제공자 및 클라이언트 동기 제공자(304D)의 플러깅 가능 시스템을 포함하고, 각각의 클라이언트 동기 제공자(304D)는 하나 이상의 상거래 파트너 동기 제공자로부터 라이센싱 요청을 수신하도록 구성되는
    시스템.
  10. 제8항에 있어서,
    상기 클라이언트 동기 제공자(304D)에 대응하는 복수의 클라이언트 컴퓨팅 장치(308)에 걸쳐 상기 라이센스의 상기 상태를 동기화하도록 구성되는 시스템을 포함하는
    시스템.
KR1020147021035A 2012-01-27 2013-01-21 동기 제공자들을 이용하는 애플리케이션 라이센싱 기법 KR102024406B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261591703P 2012-01-27 2012-01-27
US61/591,703 2012-01-27
US13/681,425 US8925110B2 (en) 2012-01-27 2012-11-20 Application licensing using sync providers
US13/681,425 2012-11-20
PCT/US2013/022357 WO2013112394A1 (en) 2012-01-27 2013-01-21 Application licensing using sync providers

Publications (2)

Publication Number Publication Date
KR20140116166A true KR20140116166A (ko) 2014-10-01
KR102024406B1 KR102024406B1 (ko) 2019-09-23

Family

ID=48871133

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147021035A KR102024406B1 (ko) 2012-01-27 2013-01-21 동기 제공자들을 이용하는 애플리케이션 라이센싱 기법

Country Status (18)

Country Link
US (16) US9165332B2 (ko)
EP (1) EP2807593A4 (ko)
JP (1) JP6257528B2 (ko)
KR (1) KR102024406B1 (ko)
CN (2) CN104081406B (ko)
AU (1) AU2013212636B2 (ko)
BR (1) BR112014018229B1 (ko)
CA (1) CA2861222C (ko)
CL (1) CL2014001974A1 (ko)
IL (1) IL233435B (ko)
MX (1) MX343626B (ko)
MY (1) MY171045A (ko)
NZ (1) NZ626700A (ko)
PH (1) PH12014501521B1 (ko)
RU (1) RU2628203C2 (ko)
SG (1) SG11201404036WA (ko)
WO (1) WO2013112394A1 (ko)
ZA (1) ZA201404638B (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9055064B2 (en) * 2009-12-28 2015-06-09 Citrix Systems, Inc. Systems and methods for a VPN ICA proxy on a multi-core system
US9563751B1 (en) * 2010-10-13 2017-02-07 The Boeing Company License utilization management system service suite
US9165332B2 (en) 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing
US9836730B1 (en) * 2013-03-14 2017-12-05 Corel Corporation Software product piracy monetization process
US9569604B2 (en) * 2013-04-15 2017-02-14 International Business Machines Corporation User access control to a secured application
US9613192B2 (en) 2013-09-27 2017-04-04 EMC IP Holding Company LLC Flexible licensing architecture
US10142378B2 (en) * 2014-01-30 2018-11-27 Symantec Corporation Virtual identity of a user based on disparate identity services
US9507921B2 (en) 2014-04-07 2016-11-29 Microsoft Technology Licensing, Llc User-specific application activation for remote sessions
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
US10015279B2 (en) 2014-11-13 2018-07-03 Blackberry Limited Application assignment reconciliation and license management
US9600810B2 (en) 2015-02-26 2017-03-21 Blackberry Limited License management for device management system
JP6667993B2 (ja) * 2015-03-04 2020-03-18 Line株式会社 サーバ、サーバの制御方法およびプログラム
US10218817B2 (en) 2015-04-28 2019-02-26 Microsoft Technology Licensing, Llc Digital rights list for device groups
DE102015210294A1 (de) * 2015-06-03 2016-12-08 Siemens Aktiengesellschaft Clientvorrichtung und Servervorrichtung zum abgesicherten Freischalten von Funktionen eines Clients
US10534778B2 (en) * 2015-06-05 2020-01-14 Apple Inc. Search results based on subscription information
US10061684B2 (en) 2015-07-31 2018-08-28 Microsoft Technology Licensing, Llc Enhanced service validation
JP6548525B2 (ja) * 2015-08-31 2019-07-24 キヤノン株式会社 ライセンス管理システム、クライアント、ライセンス管理方法、及びコンピュータプログラム
US9825938B2 (en) * 2015-10-13 2017-11-21 Cloudpath Networks, Inc. System and method for managing certificate based secure network access with a certificate having a buffer period prior to expiration
JP6126193B1 (ja) * 2015-12-15 2017-05-10 株式会社オプティム アプリケーション管理システム、アプリケーション管理方法及びそのプログラム
WO2017108067A1 (de) * 2015-12-21 2017-06-29 Gorillabox Gmbh I. G. Verfahren zum abspielen von applikationen aus einer cloud sowie telekommunikationsnetz zum streamen und zur wiedergabe von anwendungen (apps) über ein bestimmtes telekommunikationssystem sowie verwendung eines telekommunikationsnetzes zum streamen und zur wiedergabe von anwendungen (apps)
US11516664B2 (en) 2016-04-05 2022-11-29 Carrier Corporation Credential licensing service
US10148665B2 (en) 2016-05-10 2018-12-04 Microsoft Technology Licensing, Llc Self-service acquisition of subscriptions to online services
JP6792959B2 (ja) * 2016-05-16 2020-12-02 クラリオン株式会社 情報端末、通信端末、ライセンス移行システム、ライセンス移行方法
US10394916B2 (en) 2016-09-13 2019-08-27 Microsoft Technology Licensing, Llc Personalized search environment
JP2018092548A (ja) * 2016-12-07 2018-06-14 キヤノン株式会社 ライセンス管理システム、ライセンス管理方法、情報処理装置およびプログラム
US10657225B2 (en) 2016-12-29 2020-05-19 Red Hat, Inc. Providing blockchain-based subscription-as-a-service management
US10552601B2 (en) * 2017-01-18 2020-02-04 Red Hat, Inc. Deferred subscription activation using blockchain
US11244031B2 (en) * 2017-03-09 2022-02-08 Microsoft Technology Licensing, Llc License data structure including license aggregation
US20180307811A1 (en) * 2017-04-19 2018-10-25 Ice Frog Technologies, LLC Prevention of software piracy exploiting end users
US10620930B2 (en) * 2017-05-05 2020-04-14 Servicenow, Inc. Software asset management
CN108170503B (zh) * 2018-01-24 2022-04-12 腾讯科技(深圳)有限公司 一种跨***运行安卓应用的方法、终端及存储介质
US11163728B2 (en) * 2018-09-28 2021-11-02 International Business Machines Corporation Sharing container images utilizing a shared storage system
US11388218B2 (en) * 2019-03-28 2022-07-12 Ctera Networks, Ltd. Cloud file transfers using cloud file descriptors
CN110008659B (zh) * 2019-03-29 2021-03-23 深圳华锐金融技术股份有限公司 软件许可的离线管理方法、装置、计算机设备及存储介质
US11379561B2 (en) * 2019-07-15 2022-07-05 At&T Intellectual Property I, L.P. License usage management
US11336450B2 (en) 2019-09-06 2022-05-17 Jpmorgan Chase Bank, N.A. System and method for implementing market data rights enforcement
CN111143782B (zh) * 2019-11-08 2023-02-28 深圳市元征科技股份有限公司 应用软件的权限管理方法、装置、服务器及存储介质
US11593463B2 (en) * 2019-12-11 2023-02-28 The Boeing Company Execution type software license management
US12026237B2 (en) 2019-12-11 2024-07-02 The Boeing Company Software license manager
US11983252B2 (en) 2019-12-11 2024-05-14 The Boeing Company Software license manager security
US20210223942A1 (en) * 2020-01-17 2021-07-22 Apple Inc. Systems and methods for changing representations of applications based on application status
US20210390645A1 (en) * 2020-06-16 2021-12-16 OSAAP America, LLC Offline License Distribution Device
US11784875B1 (en) * 2022-07-29 2023-10-10 Cisco Technology, Inc. Systems and methods for automatic license management of carrier neutral facility (CNF) services

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080300967A1 (en) * 2007-06-04 2008-12-04 David John Buckley Interactive Marketing, Product/Market Research, Contact Access and Usage Tracking for Wireless
US20090326964A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Extensible agent-based license structure
US20100325702A1 (en) * 2003-11-12 2010-12-23 Min-Chieh Su Authentication-authorization system for mobile communication terminal and method therefor
JP2011113203A (ja) * 2009-11-25 2011-06-09 Ricoh Co Ltd ライセンス更新管理装置、ライセンス管理システム、ライセンス更新方法、およびプログラム

Family Cites Families (172)

* 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
US5671412A (en) * 1995-07-28 1997-09-23 Globetrotter Software, Incorporated License management system for software applications
US7353396B2 (en) 1995-10-02 2008-04-01 Corestreet, Ltd. Physical access control
US20010011253A1 (en) 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US5790664A (en) 1996-02-26 1998-08-04 Network Engineering Software, Inc. Automated system for management of licensed software
US5758069A (en) 1996-03-15 1998-05-26 Novell, Inc. Electronic licensing system
DE19612999C2 (de) * 1996-03-22 1999-04-01 Wasy Ges Fuer Wasserwirtschaft System zur Sicherung geschützter Software gegen unbefugte Benutzung in Rechnernetzwerken
ZA973604B (en) 1997-03-21 1998-03-23 Canal Plus Sa Smartcard for use with a receiver of encrypted broadcast signals, and receiver.
EP1650757A1 (en) * 1997-05-13 2006-04-26 Kabushiki Kaisha Toshiba Information ciphering method and apparatus, information reproducing method and apparatus
US6189146B1 (en) 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
US7171662B1 (en) 1998-03-18 2007-01-30 Microsoft Corporation System and method for software licensing
US6049789A (en) 1998-06-24 2000-04-11 Mentor Graphics Corporation Software pay per use licensing system
US7228437B2 (en) 1998-08-13 2007-06-05 International Business Machines Corporation Method and system for securing local database file of local content stored on end-user system
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
US6510513B1 (en) 1999-01-13 2003-01-21 Microsoft Corporation Security services and policy enforcement for electronic data
US6766305B1 (en) * 1999-03-12 2004-07-20 Curl Corporation Licensing system and method for freely distributed information
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
US6697948B1 (en) * 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
US7408025B2 (en) * 1999-12-15 2008-08-05 Cubist Pharmaceuticals, Inc. Lipopeptides as antibacterial agents
JP4120125B2 (ja) 2000-02-01 2008-07-16 富士ゼロックス株式会社 利用許可証発行装置および方法
DE10155752A1 (de) 2001-11-14 2003-05-22 Siemens Ag Lizenzierungsverfahren
AU2001266692A1 (en) 2000-06-02 2001-12-11 John Denton Biddle System and method for licensing management
CA2313298A1 (en) * 2000-06-07 2001-12-07 Webhancer Corporation Method and system for selectively receiving content over a communications network based on network communication speed
GB0017201D0 (en) 2000-07-14 2000-08-30 Ibm Generalised program hooks
US7512951B2 (en) 2000-07-31 2009-03-31 Infineon Technologies Ag Method and apparatus for time-sliced and multi-threaded data processing in a communication system
US6857067B2 (en) 2000-09-01 2005-02-15 Martin S. Edelman System and method for preventing unauthorized access to electronic data
ES2166739B1 (es) * 2000-10-16 2002-12-16 Advanced Fiber Optics S L Conductores luminosos de fibra optica.
US6957276B1 (en) 2000-10-23 2005-10-18 Microsoft Corporation System and method of assigning and reclaiming static addresses through the dynamic host configuration protocol
ATE552562T1 (de) 2000-11-10 2012-04-15 Aol Musicnow Llc Verteilungs und -abonnementsystem für digitalen inhalt
JP2002169620A (ja) 2000-12-01 2002-06-14 Konami Co Ltd ゲーム装置の管理システム、ゲーム装置、制御方法、ソフトウェア記録媒体
US7386513B2 (en) 2001-01-17 2008-06-10 Contentguard Holdings, Inc. Networked services licensing system and method
EP1243998B1 (en) 2001-03-21 2017-04-19 Excalibur IP, LLC A technique for license management and online software license enforcement
US6993664B2 (en) 2001-03-27 2006-01-31 Microsoft Corporation Method and system for licensing a software product
CN100435164C (zh) * 2001-05-29 2008-11-19 松下电器产业株式会社 权限管理设备
US7343297B2 (en) 2001-06-15 2008-03-11 Microsoft Corporation System and related methods for managing and enforcing software licenses
US7203966B2 (en) 2001-06-27 2007-04-10 Microsoft Corporation Enforcement architecture and method for digital rights management system for roaming a license to a plurality of user devices
JP2003023177A (ja) * 2001-07-06 2003-01-24 Sharp Corp 半導体発光素子の製造方法
WO2003012609A2 (en) * 2001-08-01 2003-02-13 Matsushita Electric Industrial Co., Ltd. Device and method for managing content usage right
US7120429B2 (en) 2001-08-13 2006-10-10 Qualcomm Inc. System and method for licensing applications on wireless devices over a wireless network
US7716137B2 (en) 2001-08-14 2010-05-11 Nokia Inc. System and method for automatically tracking and enabling the operation of a product
US7174383B1 (en) 2001-08-31 2007-02-06 Oracle International Corp. Method and apparatus to facilitate single sign-on services in a hosting environment
US20030083998A1 (en) 2001-11-01 2003-05-01 Arun Ramachandran Usage based licensing server and data structure
US20030084145A1 (en) 2001-11-01 2003-05-01 Arun Ramachandran Usage based licensing server process to generate metrics
US7558759B2 (en) 2001-11-20 2009-07-07 Contentguard Holdings, Inc. Systems and methods for creating, manipulating and processing rights and contract expressions using tokenized templates
US7096203B2 (en) 2001-12-14 2006-08-22 Duet General Partnership Method and apparatus for dynamic renewability of content
US7140042B2 (en) 2002-01-14 2006-11-21 Mcafee, Inc. System and method for preventing software piracy
US6915278B1 (en) 2002-03-22 2005-07-05 Borland Software Corporation License management method and system
AU2003223802A1 (en) 2002-05-10 2003-11-11 Protexis Inc. System and method for multi-tiered license management and distribution using networked clearinghouses
NO20023194D0 (no) * 2002-07-01 2002-07-01 Sospita As Fremgangsmåte og apparatur for eksekvering av programvareapplikasjoner i et multiprosessormiljö
US8041642B2 (en) 2002-07-10 2011-10-18 Avaya Inc. Predictive software license balancing
US7627633B2 (en) 2002-08-30 2009-12-01 The Go Daddy Group, Inc. Proxy email method and system
US20040068734A1 (en) 2002-10-07 2004-04-08 Microsoft Corporation Software license isolation layer
US20040139022A1 (en) 2002-12-17 2004-07-15 Singer Mitch Fredrick Content states in a media network environment
WO2004057446A2 (en) 2002-12-19 2004-07-08 International Business Machines Corporation A method for providing of content data to a client
US7596625B2 (en) 2003-01-27 2009-09-29 Microsoft Corporation Peer-to-peer grouping interfaces and methods
US7703128B2 (en) 2003-02-13 2010-04-20 Microsoft Corporation Digital identity management
US7318236B2 (en) 2003-02-27 2008-01-08 Microsoft Corporation Tying a digital license to a user and tying the user to multiple computing devices in a digital rights management (DRM) system
US7127442B2 (en) 2003-04-01 2006-10-24 Avaya Technology Corp. Ironclad notification of license errors
JP4424465B2 (ja) * 2003-06-09 2010-03-03 ソニー株式会社 情報機器、情報サーバおよび情報処理プログラム
TW200507579A (en) 2003-06-10 2005-02-16 Matsushita Electric Ind Co Ltd License distribution method, information content providing method and relevant system
US20040267609A1 (en) 2003-06-24 2004-12-30 Mccauley David R. Methods and systems for specifying and distributing consumer information
US20040267590A1 (en) 2003-06-30 2004-12-30 International Business Machines Corporation Dynamic software licensing and purchase architecture
US7089594B2 (en) 2003-07-21 2006-08-08 July Systems, Inc. Application rights management in a mobile environment
JP3931869B2 (ja) 2003-08-14 2007-06-20 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US20050049976A1 (en) 2003-08-26 2005-03-03 Yang Harold (Haoran) Remotely licensing configurable network diagnostic modules
US20050049973A1 (en) * 2003-09-02 2005-03-03 Read Mark A. Method and program for automated management of software license usage by monitoring and disabling inactive software products
US20050071663A1 (en) 2003-09-26 2005-03-31 General Instrument Corporation Separation of copy protection rules for digital rights management
US7801819B2 (en) 2003-10-03 2010-09-21 Sony Corporation Rendering rights delegation system and method
US8103592B2 (en) 2003-10-08 2012-01-24 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf of first process
US10437964B2 (en) * 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
EP1686519A4 (en) 2003-11-21 2008-05-28 Matsushita Electric Ind Co Ltd AUTHORIZATION ACQUISITION SYSTEM, SERVER APPARATUS AND TERMINAL APPARATUS
JPWO2005064484A1 (ja) * 2003-12-25 2007-07-19 三菱電機株式会社 デジタルコンテンツ管理システム
US7113765B2 (en) * 2004-01-13 2006-09-26 Qualcomm Inc. System and method for allowing user based application licensing across multiple wireless communications devices
US8843413B2 (en) 2004-02-13 2014-09-23 Microsoft Corporation Binding content to a domain
NZ551233A (en) * 2004-04-14 2009-04-30 Digital River Inc Geographic location based licensing system
US8271390B2 (en) 2004-06-14 2012-09-18 Nokia Corporation Digital rights management (DRM) license manager
US8099791B1 (en) 2004-06-25 2012-01-17 Lexmark International, Inc. Method of authenticating a consumable in an imaging device
US7363623B2 (en) * 2004-08-05 2008-04-22 Canon Kabushiki Kaisha Services of remote software installation, configuration and afterward support, for network connected peripherals
JP2006059164A (ja) * 2004-08-20 2006-03-02 Fujitsu Support & Service Kk ライセンス管理端末、ライセンス管理システム、ライセンス管理プログラム、およびライセンス管理方法
JP4827467B2 (ja) * 2004-09-10 2011-11-30 キヤノン株式会社 ライセンス転送システム及びライセンス情報発行サーバ
US7493487B2 (en) 2004-10-15 2009-02-17 Microsoft Corporation Portable computing environment
US20060089917A1 (en) * 2004-10-22 2006-04-27 Microsoft Corporation License synchronization
US7464103B2 (en) 2004-10-29 2008-12-09 Microsoft Corporation Multi-level nested open hashed data stores
US8660961B2 (en) * 2004-11-18 2014-02-25 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US20060106726A1 (en) 2004-11-18 2006-05-18 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
WO2006077481A1 (en) 2005-01-19 2006-07-27 Truecontext Corporation Policy-driven mobile forms applications
US8818899B2 (en) 2005-01-19 2014-08-26 Blackberry Limited Method and apparatus for deploying and licensing wireless communication device computer software infrastructure to manufacturers
US7890428B2 (en) 2005-02-04 2011-02-15 Microsoft Corporation Flexible licensing architecture for licensing digital application
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US20070263865A1 (en) 2005-07-01 2007-11-15 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Authorization rights for substitute media content
US8732087B2 (en) 2005-07-01 2014-05-20 The Invention Science Fund I, Llc Authorization for media content alteration
US20070027815A1 (en) 2005-07-29 2007-02-01 Symantec Corporation Systems and methods for centralized subscription and license management in a small networking environment
US20070033395A1 (en) * 2005-08-02 2007-02-08 Macrovision Method and system for hierarchical license servers
US20070050471A1 (en) 2005-08-31 2007-03-01 Microsoft Corporation Portable Remoting Component With A Scaleable Feature Set
US8682795B2 (en) 2005-09-16 2014-03-25 Oracle International Corporation Trusted information exchange based on trust agreements
US8417641B1 (en) 2006-01-31 2013-04-09 Kyocera Corporation System for licensing mobile applications, features, and devices
US20070266421A1 (en) 2006-05-12 2007-11-15 Redcannon, Inc. System, method and computer program product for centrally managing policies assignable to a plurality of portable end-point security devices over a network
US7792756B2 (en) 2006-06-27 2010-09-07 Microsoft Corporation Subscription management in a media sharing service
US7849017B2 (en) * 2006-06-29 2010-12-07 Flexera Software, Inc. Enforced seat-based licensing
ES2314835T3 (es) * 2006-07-28 2009-03-16 Lowe Alpine Holdings Limited Cinturon de ajuste adaptable y mochila que comprende dicho cinturon.
CN101127064A (zh) * 2006-08-18 2008-02-20 华为技术有限公司 一种备份和恢复许可证的方法及***
EP1901191B1 (de) * 2006-09-18 2013-02-27 Siemens Enterprise Communications GmbH & Co. KG Verfahren und Anordnung zur Verwaltung von Lizenzen
US8184692B2 (en) 2006-09-25 2012-05-22 Framecaster, Inc. Distributed and automated video encoding and delivery system
US20080215450A1 (en) 2006-09-28 2008-09-04 Microsoft Corporation Remote provisioning of information technology
US20080083040A1 (en) 2006-09-29 2008-04-03 Microsoft Corporation Aggregated resource license
US8474027B2 (en) 2006-09-29 2013-06-25 Microsoft Corporation Remote management of resource license
US20080103977A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Digital rights management for distributed devices
US20080109911A1 (en) 2006-11-03 2008-05-08 Microsoft Corporation Send/Lend Business Rights
US8107626B2 (en) 2006-11-22 2012-01-31 The Directv Group, Inc. Method and system for enabling transfer of content between a storage device and a portable media player device
CN101193102A (zh) 2006-11-23 2008-06-04 中兴通讯股份有限公司 一种确认许可证获取的方法
US20080141378A1 (en) 2006-12-12 2008-06-12 Mclean Ivan Hugh Method and apparatus for creating licenses in a mobile digital rights management network
JP4909044B2 (ja) 2006-12-14 2012-04-04 キヤノン株式会社 ライセンス管理システムおよびその制御方法、画像形成装置およびその制御方法
US10120983B2 (en) * 2006-12-15 2018-11-06 Nbcuniversal Media, Llc Digital rights management flexible continued usage system and method
US20080148363A1 (en) 2006-12-15 2008-06-19 Nbc Universal, Inc. Digital rights management copy sharing system and method
US20080222044A1 (en) 2007-03-05 2008-09-11 Microsoft Corporation Protected content renewal
EP2140393A1 (en) 2007-03-20 2010-01-06 Dmvich Software, Llc Refreshing software licenses
US20080235141A1 (en) 2007-03-21 2008-09-25 Microsoft Corporation License manager and schema
US20080243699A1 (en) 2007-03-29 2008-10-02 Microsoft Corporation License optimization and automated management
US7644044B2 (en) 2007-04-04 2010-01-05 Sony Corporation Systems and methods to distribute content over a network
US20080256646A1 (en) * 2007-04-12 2008-10-16 Microsoft Corporation Managing Digital Rights in a Member-Based Domain Architecture
US8307404B2 (en) 2007-04-16 2012-11-06 Microsoft Corporation Policy-management infrastructure
US7865444B1 (en) * 2007-06-12 2011-01-04 Adobe Systems Incorporated License tracking and management
US8474054B2 (en) * 2007-06-26 2013-06-25 Digital Keystone, Inc. Systems and methods for conditional access and digital rights management
US20090037287A1 (en) 2007-07-31 2009-02-05 Ahmad Baitalmal Software Marketplace and Distribution System
CA2639720A1 (en) 2007-09-21 2009-03-21 Neurolanguage Corporation Community based internet language training providing flexible content delivery
KR100917312B1 (ko) 2007-09-27 2009-09-11 (주) 엘지텔레콤 재구매를 위한 디지털 저작권 컨텐츠의 정보 갱신 시스템및 그 방법과 그 기능의 컴퓨터 프로그램이 기록된기록매체
US10013536B2 (en) 2007-11-06 2018-07-03 The Mathworks, Inc. License activation and management
EP2223256A1 (en) 2007-11-17 2010-09-01 Uniloc Usa, Inc. System and method for adjustable licensing of digital products
US8544105B2 (en) 2007-12-24 2013-09-24 Qualcomm Incorporated Method and apparatus for managing policies for time-based licenses on mobile devices
US20090192943A1 (en) 2008-01-28 2009-07-30 Microsoft Corporation Renewing an Expired License
US20090222926A1 (en) 2008-02-28 2009-09-03 Honeywell International Inc. Software license management system that functions in a disconnected or intermittently connected mode
US8321948B2 (en) * 2008-03-28 2012-11-27 Sap Ag Flexible appliance hosting with coordination of deployment, licensing and configuration
US20090254482A1 (en) 2008-04-07 2009-10-08 Microsoft Corporation Time-based licenses
US20090259591A1 (en) 2008-04-11 2009-10-15 Microsoft Corporation Information Rights Management
WO2009153903A1 (ja) * 2008-06-17 2009-12-23 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
US20100031372A1 (en) 2008-07-29 2010-02-04 Memory Experts International Inc. Method and system for secure flexible software licensing
JP2010086461A (ja) * 2008-10-02 2010-04-15 Sony Corp ライセンス管理装置およびライセンス管理方法、ならびに、ライセンス管理システム
GB2466220A (en) * 2008-12-12 2010-06-16 Symbian Software Ltd Installing or uninstalling computer programs using installer plug-in modules
JP5335504B2 (ja) 2009-03-19 2013-11-06 キヤノン株式会社 アプリケーションパッケージング装置、その制御方法、プログラム
CN102378697A (zh) 2009-04-07 2012-03-14 森姆科株式会社 图像雕刻装置
US20100293536A1 (en) 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
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
US20100333212A1 (en) 2009-06-25 2010-12-30 Microsoft Corporation Portable parameter-based licensing
US9015818B2 (en) 2009-07-31 2015-04-21 Adobe Systems Incorporated Software application operational transfer
JP5263070B2 (ja) 2009-08-13 2013-08-14 株式会社リコー プログラム導入支援装置、プログラム導入支援システム、プログラム導入支援方法、及びプログラム導入支援プログラム
US20110061047A1 (en) * 2009-09-04 2011-03-10 Alcatel Lucent Licensing Software and Licensing Propagation Mechanism for Embedded Systems in Chassis and Stacked Environments
JP5413078B2 (ja) 2009-09-14 2014-02-12 株式会社リコー 機器管理システム、機器管理装置、仲介装置、機器管理方法、及び機器管理プログラム
US11132237B2 (en) 2009-09-24 2021-09-28 Oracle International Corporation System and method for usage-based application licensing in a hypervisor virtual execution environment
US8484454B2 (en) * 2009-10-19 2013-07-09 Honeywell Asca Inc. Secure offline relocation of portable software licenses
US9971880B2 (en) 2009-11-30 2018-05-15 Red Hat, Inc. Verifying software license compliance in cloud computing environments
JP4764943B2 (ja) * 2009-12-29 2011-09-07 シャープ株式会社 動作制御装置、動作制御方法、ライセンス提供システム、動作制御プログラム、および記録媒体
US20110208797A1 (en) 2010-02-22 2011-08-25 Full Armor Corporation Geolocation-Based Management of Virtual Applications
US8402139B2 (en) 2010-02-26 2013-03-19 Red Hat, Inc. Methods and systems for matching resource requests with cloud computing environments
US20110251937A1 (en) 2010-04-09 2011-10-13 International Business Machines Corporation Software license brokering within a cloud computing environment
CN103038775B (zh) 2010-05-19 2016-03-02 谷歌公司 电子证书管理
US20120024670A1 (en) * 2010-07-29 2012-02-02 Robert Koerselman Adjustable Rotational Discharge Assembly for a Conveyor
CN102376064A (zh) 2010-08-12 2012-03-14 威睿公司 云环境中软件的弹性许可
US9081937B2 (en) * 2010-08-26 2015-07-14 Adobe Systems Incorporated Systems and methods for managing subscription-based licensing of software products
WO2012040393A2 (en) 2010-09-21 2012-03-29 General Instrument Corporation Secure Large Volume Feature License Provisioning System
US20120079095A1 (en) 2010-09-24 2012-03-29 Amazon Technologies, Inc. Cloud-based device synchronization
US8970668B2 (en) 2010-11-29 2015-03-03 Verizon Patent And Licensing Inc. High bandwidth streaming to media player
US20120158415A1 (en) 2010-12-17 2012-06-21 Flexera Software Inc. method and system for license server synchronization
US20120255033A1 (en) 2011-03-28 2012-10-04 Microsoft Corporation Licensing software on a single-user basis
US9524378B2 (en) 2011-05-31 2016-12-20 Qualcomm Incorporated Apparatus and method of in-application licensing
US9152771B2 (en) 2011-05-31 2015-10-06 Qualcomm Incorporated Apparatus and method of managing a licensable item
US8800058B2 (en) 2011-07-27 2014-08-05 Microsoft Corporation Licensing verification for application use
US20130144755A1 (en) 2011-12-01 2013-06-06 Microsoft Corporation Application licensing authentication
US20130144633A1 (en) 2011-12-01 2013-06-06 Microsoft Corporation Enforcement and assignment of usage rights
US9245096B2 (en) 2012-01-24 2016-01-26 International Business Machines Corporation Software license management in a networked computing environment
US8725650B2 (en) 2012-01-26 2014-05-13 Microsoft Corporation Document template licensing
US9165332B2 (en) 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325702A1 (en) * 2003-11-12 2010-12-23 Min-Chieh Su Authentication-authorization system for mobile communication terminal and method therefor
US20080300967A1 (en) * 2007-06-04 2008-12-04 David John Buckley Interactive Marketing, Product/Market Research, Contact Access and Usage Tracking for Wireless
US20090326964A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Extensible agent-based license structure
JP2011113203A (ja) * 2009-11-25 2011-06-09 Ricoh Co Ltd ライセンス更新管理装置、ライセンス管理システム、ライセンス更新方法、およびプログラム

Also Published As

Publication number Publication date
MY171045A (en) 2019-09-23
AU2013212636A1 (en) 2014-08-14
US20150193897A1 (en) 2015-07-09
CN106203001A (zh) 2016-12-07
ZA201404638B (en) 2016-08-31
PH12014501521A1 (en) 2014-10-08
US20130198852A1 (en) 2013-08-01
US20150186625A1 (en) 2015-07-02
PH12014501521B1 (en) 2014-10-08
CN104081406A (zh) 2014-10-01
BR112014018229A2 (ko) 2017-06-20
AU2013212636B2 (en) 2017-12-07
CL2014001974A1 (es) 2015-03-20
RU2628203C2 (ru) 2017-08-15
US20130198085A1 (en) 2013-08-01
BR112014018229A8 (pt) 2017-12-12
US9269115B2 (en) 2016-02-23
US20130198856A1 (en) 2013-08-01
CA2861222A1 (en) 2013-08-01
MX2014008562A (es) 2014-09-26
US20160300317A1 (en) 2016-10-13
BR112014018229B1 (pt) 2021-08-31
IL233435B (en) 2018-01-31
US20150193605A1 (en) 2015-07-09
JP6257528B2 (ja) 2018-01-10
US20150193606A1 (en) 2015-07-09
CA2861222C (en) 2020-05-12
US20150186623A1 (en) 2015-07-02
WO2013112394A1 (en) 2013-08-01
KR102024406B1 (ko) 2019-09-23
US20150007340A1 (en) 2015-01-01
US9449354B2 (en) 2016-09-20
EP2807593A1 (en) 2014-12-03
US20150012447A1 (en) 2015-01-08
US20150143542A1 (en) 2015-05-21
JP2015510634A (ja) 2015-04-09
EP2807593A4 (en) 2015-10-14
IL233435A0 (en) 2014-08-31
US9165332B2 (en) 2015-10-20
US20130198864A1 (en) 2013-08-01
US9384516B2 (en) 2016-07-05
US9594884B2 (en) 2017-03-14
US8832851B2 (en) 2014-09-09
US8925110B2 (en) 2014-12-30
US9406095B2 (en) 2016-08-02
CN106203001B (zh) 2019-03-29
SG11201404036WA (en) 2014-10-30
CN104081406B (zh) 2017-03-22
NZ626700A (en) 2015-05-29
MX343626B (es) 2016-11-14
US20150193604A1 (en) 2015-07-09
RU2014130991A (ru) 2016-02-20
US20130198866A1 (en) 2013-08-01
US20150193607A1 (en) 2015-07-09

Similar Documents

Publication Publication Date Title
KR102024406B1 (ko) 동기 제공자들을 이용하는 애플리케이션 라이센싱 기법
US7140042B2 (en) System and method for preventing software piracy
AU2006275448A1 (en) A method and system for hierarchical license servers
WO2016209853A1 (en) Application management
Instances Getting Started with Cloud Computing: Amazon EC2 on Red Hat Enterprise Linux
Interface Open Cloud Computing Interface-Use cases and requirements for a Cloud API

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant