CN104081406B - 使用同步提供者的应用许可 - Google Patents

使用同步提供者的应用许可 Download PDF

Info

Publication number
CN104081406B
CN104081406B CN201380006979.7A CN201380006979A CN104081406B CN 104081406 B CN104081406 B CN 104081406B CN 201380006979 A CN201380006979 A CN 201380006979A CN 104081406 B CN104081406 B CN 104081406B
Authority
CN
China
Prior art keywords
licensing
office
user
frame
client
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201380006979.7A
Other languages
English (en)
Other versions
CN104081406A (zh
Inventor
K·李
R·唐纳
A·瓦德瓦
S·加格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN201610559853.8A priority Critical patent/CN106203001B/zh
Publication of CN104081406A publication Critical patent/CN104081406A/zh
Application granted granted Critical
Publication of CN104081406B publication Critical patent/CN104081406B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/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/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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • 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)的许可证的请求,并且经由商务伙伴同步提供者从提供所述应用(220)的商务伙伴接收(2504)与所述许可证有关的信息。该方法还包括向客户机计算设备(308)返回(2506)所述应用(220)的许可证,从所述客户机同步提供者(304D)接收(2508)与所述许可证的状态有关的信息,以及根据所述许可证的状态来调节(2510)所述许可证的条件。

Description

使用同步提供者的应用许可
背景
许可或资格通常用于控制客户机计算设备可访问特定应用(诸如举例而言,文字处理应用、电子表格应用以及演示应用)的方式。通常,每一类型的客户机计算设备具有不同的许可服务,其中该类型的客户机计算设备可以包括例如,客户机计算设备的特定操作系统(OS)或客户机计算设备的品牌。然而,使用每一类型的客户机计算设备的此类不同的许可服务导致若干限制。例如,高成本可与建立并维持针对每一类型的客户机计算设备的单独许可服务相关联。另外,提供捆绑提议可能是合乎需要的,捆绑提议包括可在多种类型的客户机计算设备上使用的一个或多个应用的许可证。然而,使用单独许可服务可排除此类捆绑提议,因为捆绑依赖于许多不同类型的设备或系统之间的集成。此外,对于市场服务而言,与每一单独许可服务相集成以销售这些许可证可能是困难的,并且可能难以获得许可证所有权的一致证明。例如,一个许可服务可使用产品密钥,而另一许可服务可使用令牌。
概述
下面呈现了本发明的简化概述,以便提供此处所描述的某些方面的基本概念。此概述不是所要求保护的主题的详尽的概述。既不是要指出所要求保护的主题的关键性元素,也不是要详细描述本发明的范围。唯一的目的是以简化形式呈现所要求保护的主题的某些概念,作为稍后呈现的比较详细的描述的前奏。
一个实施例提供了一种用于使用同步提供者来许可应用的方法。该方法包括在许可服务处从客户机同步提供者接收对应用的许可证的请求,并且经由商务伙伴同步提供者从提议该应用的商务伙伴接收与该许可证有关的信息。该方法还包括向客户机计算设备返回该应用的许可证,从该客户机同步提供者接收与该许可证的状态有关的信息,并且根据该许可证的状态调整该许可证的条件。
另一实施例提供了一种用于使用同步提供者来许可应用的系统。该系统包括客户机同步提供者,其被配置成经由商务伙伴同步提供者从商务伙伴接收供应请求,向许可服务发送请求应用的许可证的系统调用,并且周期性地确定并更新该许可证的状态。该系统还包括许可服务,其被配置成向客户机计算设备返回该应用的许可证,从该客户机同步提供者接收与该许可证的状态有关的信息,并且根据该许可证的状态调整该许可证的条件。
另一实施例提供了包括多个指令的一种或多种计算机可读存储介质,当该指令被处理器执行时致使该处理器:从客户机同步提供者接收对应用的许可证的请求,并且从对应于提议该应用的商务伙伴的商务伙伴同步提供者接收与该许可证有关的信息。该指令还致使该处理器:向客户机计算设备返回该应用的许可证,确定与该许可证的状态有关的信息,并且根据该许可证的状态调整该许可证的条件。
提供本概述是为了以简化的形式介绍一些概念;这些概念将在以下具体实施方式中被进一步描述。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图说明
图1是可用于实现此处描述的许可服务的联网环境的框图;
图2是可用于实现此处描述的许可服务的计算环境的框图;
图3A、3B和3C示出可用于管理各应用的许可证的许可系统的示意图;
图4是用于通过市场服务购买应用的许可证的方法的过程流程图;
图5是用于通过市场服务初始激活应用的许可证的方法的过程流程图;
图6是用于重新激活应用的许可证的方法的过程流程图;
图7是示出已向用户许可的用于多个不同机器的多个资格或许可证的框图;
图8是用于将资格转换为另一提议或更新与该资格有关的提议的方法的过程流程图;
图9是用于验证用户的身份以及对其供应无密钥授权的资格的身份的方法的过程流程图;
图10是用于在适当时供应无密钥授权的方法的过程流程图;
图11A是用于检索现有订阅(或TBL)密钥的方法的过程流程图;
图11B是用于获取新订阅密钥的方法的过程流程图;
图12A是用于检索现有产品密钥的方法的过程流程图;
图12B是用于获取新产品密钥的方法的过程流程图;
图13是用于根据资格来检索各机器的方法的过程流程图;
图14是用于根据资格来取消供应特定机器的方法的过程流程图;
图15A是用户初始购买资格的方法的过程流程图;
图15B是用于更新资格的方法的过程流程图;
图16是用于在OLS中向用户供应或将用户从一种资格转换到另一种资格的方法的过程流程图;
图17是用于根据ForcedUpdate(强制更新)过程来确定是否要更新资格的方法的过程流程图;
图18A是用于初始许可设备的应用的方法的过程流程图;
图18B是用于周期性地检查许可证的状态的方法的过程流程图;
图19是用于初始许可设备的方法的过程流程图;
图20是伙伴确定用户是否被授予对其服务的访问权的方法的过程流程图;
图21是主数据中心和多个复制数据中心的示例性配置的示意图;
图22是示出用于执行计划停机时间的第一步骤的示意图;
图23是用于执行计划停机时间的第二步骤的示意图;
图24是用于应用许可的方法的过程流程图;
图25是用于使用同步提供者来许可应用的方法的过程流程图;
图26是用于使用多种形式的许可来许可应用的方法的过程流程图;
图27是用于许可用于各设备的应用的方法的过程流程图;以及
图28是用于提供对应用的基于用户的许可的方法的过程流程图。
具体实施方式
本文中所揭示的各个实施例阐述用于根据各种准则和技术的应用许可的方法和系统。如此处所使用的,术语“应用”可指计算环境内实现的应用、程序或服务。可根据此处描述的许可服务来使用的各应用包括但不限于,MICROSOFT WORD、MICROSOFT EXCEL、MICROSOFT POWERPOINT、MICROSOFT VISIO、或MICROSOFT SHAREPOINT,所有这些应用都可从美国华盛顿州雷德蒙市微软公司获得。各应用可由市场服务或多个第三方服务中的任一个经由网络向计算设备提供。针对此类应用的各种不同类型的许可证或资格可通过各种不同的方法来获取。
此处描述的许可服务通过提供可扩展且一致的方法来许可新客户机计算设备,从而解决了以上讨论的关于使用单独许可服务的问题。另外,许可服务通过将许可过程与购买过程隔离开,来允许新伙伴(即,商务伙伴)容易地销售应用。另外,许可服务启用跨越不同客户机或客户机设备的提议(offer)。许可服务还允许不同客户机的用户证明其被供应以经由单组凭证使用应用。此外,即使设备下线时,许可服务也允许包括跨设备和服务的同步许可时间段。这还允许当订阅随时间流逝时在所有设备和服务上的体验保持一致。
许可服务此处可被称为“Office许可服务”、或“OLS”,因为它可用于许可MICROSOFT OFFICE,即,可从华盛顿州雷德蒙市微软公司获得的“Office”应用,诸如以上列出的各应用。然而,应当理解,许可服务还可用于许可从任何数量的提供者可获得的任何其他合适类型的应用。
在各个实施例中,OLS通过一致的、可展开且明确定义的一组协议来提供使用多种许可方法的能力。此类许可方法可包括例如,基于产品密钥的许可、基于在线用户的许可、基于设备的许可、以及基于令牌的许可等等。
在一些实施例中,OLS被配置成周期性地检查用户的许可状态。这可允许离线使用产品的能力与获取最新许可信息的能力(例如,是否已经取消供应许可)之间的平衡。用户的许可状态可被称为“订阅心跳”(subscription heartbeat)。订阅心跳可用来确定是否要禁用应用的许可证,由此停用对应的应用。
OLS可跨多个设备和服务提供用户的许可证状态的同步。在一些实施例中,OLS使运行Office的各设备(例如,PC、Mac、或平板设备等等)以及Office服务(例如,漫游设置)能够具有一致的许可证状态。因此,当用户的订阅随时间流逝时,对客户机和服务的访问同时可能被切断。另外,通过预设允许特定设备的离线许可时间量,即使用户下线,许可状态也可被同步。
此外,OLS可提供离线客户机的容错以及对欺诈的检测。例如,OLS可包括确定新客户机何时请求许可证对照现有客户机何时请求续订许可证的逻辑。OLS还可包括确定用户何时执行欺诈活动(诸如请求过量的新许可证)、同时仍允许用户添加和移除设备并且维护特定数量的有源设备的逻辑。
在各个实施例中,OLS提供设备的许可。例如,OLS可提供MOX设备的许可,其中术语“MOX”一般是指所有Windows 8平板设备。OLS可使用凭证和OLS许可证来提供此类许可。OLS许可证是与经由产品密钥授予的传统授权不同的新形式的许可证。OLS许可证可包括从传统系统(例如,传统Office软件保护平台(OSPP)系统)外部的服务器来配置的可配置许可证检查时间段。
在各个实施例中,OLS可提供服务的许可。具体而言,OLS可提供可伸缩方式来使用轮询模型提供服务的许可,其中服务可在适当时查询OLS。OLS可在特定时间量内将供应/许可信息高速缓存在服务或客户机自身上,以便使系统可伸缩。另外,推送模块可用来提供服务的许可。
OLS可允许灾难回复力。例如,接近零天恢复点和接近零分钟恢复时间可经由使用定制地理复制逻辑而保持同步的在地理上分布的服务器来实现。这可通过将始终要保持同步的信息与可在某种程度上同步的信息分开、并且随后经由同步提供者池同步该信息来完成。另外,锁定机制可用来避免盖写。
此外,OLS提供基于用户的许可。用于使用富客户机应用的许可信息可从服务器被发送,并且可基于用户的登录信息。许可信息可保留在服务器上而不是客户机上,并且许可信息可随用户在服务器上漫游。这可用在多个场景中,诸如用于漫游应用或用于基于密钥的许可被使用之前的初始获取。
作为正文前的图文,一些附图是在一个或多个结构组件(不同地称为功能、模块、特征、元件等等)的上下文中来描述概念的。附图中示出的各种组件能够以任何方式来实现,例如,通过软件、硬件(例如,分立逻辑组件等等)、固件等等,或这些实现的任何组合。在一个实施例中,各个组件可反映对应的组件在实际实现中的使用。在其他实施例中,附图中所示的任何单个组件可由多个实际组件来实现。对附图中的任何两个或更多个单独组件的描绘可以反映由单个实际组件所执行的不同功能。以下讨论的图1提供了关于可用于实现附图中所示的各功能的一个系统的细节。
其他附图以流程图形式描述了概念。以此形式,某些操作被描述为构成以某一顺序执行的不同的框。这些实现是示例性而非限制性的。此处描述的某些框可被分组在一起并在单个操作中执行,某些框可被分成多个组件框,并且某些框可以按与此处所示出的不同的次序来执行(包括以并行方式执行这些框)。流程图中所示的框可以通过软件、硬件、固件、手动处理、这些实现的任何组合等来实现。如此处所使用的,硬件可包括计算机系统、诸如专用集成电路(ASIC)之类的分立逻辑组件等以及它们的任意组合。
关于术语,短语“配置成”涵盖可以构造任何种类的功能来执行所标识的操作的任何方式。功能可以被配置成使用,例如,软件、硬件、固件等或其任何组合来执行操作。
术语“逻辑”涵盖用于执行任务的任何功能。例如,流程图中所示的每一操作对应于用于执行该操作的逻辑。操作可以使用,例如,软件、硬件、固件等或其任何组合来执行。
如在此使用的,术语“组件”、“系统”、“客户机”等旨在指代计算机相关的实体,它们可以是硬件、(例如,执行中的)软件和/或固件、或其组合。例如,组件可以是,在处理器上运行的进程、对象、可执行码、程序、函数、库、子例程,和/或计算机或软件和硬件的组合。
作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程中,组件可以位于一个计算机内和/或分布在两个或更多计算机之间。术语“处理器”一般被理解为指硬件组件,诸如计算机系统的处理单元。
此外,所要求保护的主题可使用产生控制计算机以实现所公开的主题的软件、固件、硬件、或其任意组合的标准编程和/或工程技术来实现为方法、装置、或制品。如此处所使用的术语“制品”旨在涵盖可以从任何计算机可读存储设备或介质访问的计算机程序。
计算机可读存储介质包括存储设备(例如,硬盘、软盘、以及磁带等等)、光盘(例如,紧致盘(CD)以及数字多功能盘(DVD)等等)、智能卡和闪存设备(例如,卡、棒和钥匙驱动器等等)。相反,计算机可读介质(即,非存储介质)可附加地包括用于通信信号之类的通信介质,诸如传输介质。
此外,本文所使用的词语“示例性”意指用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其它方面或设计更优选或有利。
计算环境
为了提供用于实现所要求保护的主题的各个方面的上下文,图1-2以及下面的讨论旨在提供其中可以实现本发明的各个方面的计算环境的简要的、一般描述。例如,一种用于许可应用的方法和系统可实现在此类计算环境中。尽管上文已经在运行在本地计算机和/或远程计算机上的计算机程序的计算机可执行指令的一般上下文中描述了所要求保护的主题,然而本领域中的技术人员将认识到,本发明也可以结合其它程序模块来实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。
此外,本领域的技术人员可以理解,本发明的方法可用其它计算机系统配置来实施,包括单处理器或多处理器计算机系统、小型机、大型计算机、以及个人计算机、手持式计算设备、基于微处理器的或可编程消费电子产品等,其每一个都可操作上与一个或多个相关联的设备通信。所要求保护的主题的所说明的方面也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。然而,本发明的某些方面,如果不是所有方面的话,可以在独立计算机上实施。在分布式计算环境中,程序模块可以位于本地或远程存储器存储设备中。
图1是可用于实现此处描述的许可服务的联网环境100的框图。联网环境100包括一个或多个客户机102。客户机102可以是硬件和/或软件(例如,线程、进程、或计算设备)。联网环境100还包括一个或多个服务器104。服务器104可以是硬件和/或软件(例如,线程、进程、或计算设备)。服务器104可以,例如,通过使用本发明,保存执行搜索操作的线程。
客户机102和服务器104之间的一种可能的通信可以是以适用于在两个或更多计算机进程之间传输的数据包的形式。联网环境100包括可以用来促进(诸)客户机102和(诸)服务器104之间通信的通信框架108。客户机102可操作地连接到一个或多个客户机数据存储110,可以使用这些客户机数据存储器来存储客户机102本地的信息。客户机数据存储110可以存储在客户机102中,或位于客户机102的远程,诸如在云服务器中。类似地,服务器104可操作地连接到一个或多个服务器数据存储106,可以使用这些服务器数据存储器来存储服务器104本地的信息。
图2是可用于实现此处描述的许可服务的计算环境的框图。计算环境200包括计算机202。计算机202包括处理单元204、系统存储器206以及系统总线208。系统总线208将系统组件,包括,但不仅限于,系统存储器206耦合到处理单元204。处理单元204可以是各种可用处理器中的任何一种。也可以使用双微处理器及其他多处理器体系结构作为处理单元204。
系统总线208可以是若干类型中任一类的总线结构,包括存储器总线或存储器控制器、外围设备总线或外部总线、或使用本领域的技术人员已知的任何各种各样的可用总线架构的本地总线。系统存储器206是包括易失性存储器210和非易失性存储器212的计算机可读存储介质。基本输入/输出系统(BIOS)被存储在非易失性存储器212中,包含例如在启动期间在计算机202内的元件之间传输信息的基本例程。作为说明,而不是限制,非易失性存储器212可包括只读存储器(ROM)、可编程序只读存储器(PROM)、电可编程序只读存储器(EPROM)、电可擦可编程序只读存储器(EEPROM)或闪存。
易失性存储器210包括充当外部高速缓冲存储器的随机存取存储器(RAM)。作为说明而不是限制,RAM可以有许多形式,如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDRSDRAM)、增强的SDRAM(ESDRAM)、同步链路TMDRAM(SLDRAM)、直接型 RAM(RDRAM),直接型动态RAM(DRDRAM)以及动态RAM(RDRAM)。
计算机202也包括其他计算机可读存储介质,诸如可移动/不可移动、易失性/非易失性计算机存储介质。图2示出了例如盘存储214。盘存储214包括但不仅限于,诸如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒之类的设备。
另外,盘存储214还可包括存储介质,分开地或与其他存储介质相结合,包括,但不仅限于,诸如紧致盘ROM设备(CD-ROM)之类的光盘驱动器、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)。为便于盘存储214连接到系统总线208,通常使用诸如接口216之类的可移动或不可移动接口。
应该明白,图2描述了在用户和在计算环境200中描述的基本计算机资源之间担当中介的软件。这样的软件包括操作系统218。可以存储在盘存储214上的操作系统218用于控制和分配计算机202的资源。
系统应用220利用由操作系统218通过存储在系统存储器206或者存储在盘存储214上的程序模块222和程序数据224对资源的管理。可以理解,所要求保护的主题可以利用各种操作系统或操作系统的组合来实现。
用户通过输入设备226向计算机202输入命令或信息。输入设备226包括但不限于定点设备(诸如鼠标、跟踪球、指示笔等)、键盘、话筒、姿势或触摸输入设备、语音输入设备、操纵杆、圆盘式卫星天线、扫描仪、TV调谐卡、数码相机、数码摄像机、网络摄像头等等。输入设备226通过系统总线208经由接口端口228连至处理单元204。接口端口228包括,例如,串行端口、并行端口、游戏端口以及通用串行总线(USB)。输出设备230与输入设备226使用一些相同类型的端口。由此,例如,可以使用USB端口来向计算机202提供输入,以及从计算机202向输出设备230输出信息。
提供了输出适配器232,以示出有像监视器、扬声器以及打印机之类的一些输出设备230,还有可通过输出适配器232访问的其他输出设备230。输出适配器232包括,作为说明而不是限制,在输出设备230和系统总线208之间提供连接装置的视频卡和声卡。能够注意,其他设备和/或设备的系统提供诸如远程计算机234之类的输入和输出两种功能。
计算机202可以是使用到一个或多个远程计算机(诸如,远程计算机234)的逻辑连接在联网环境100中主存事件预报系统的服务器。远程计算机234可以是配备有web浏览器、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参考Office许可服务(OLS)302来描述,OLS 302用于管理各Office应用的许可、或管理可通过Office获得的各应用的许可。然而,应当理解,许可系统300还可用于管理任何其他适合类型的应用或服务。
许可系统300可包括多个同步提供者304A-D。同步提供者304A-D是允许许可系统300的可扩展性而无需修改OLS 302的可插入组件。同步提供者304A-D可允许多个商务伙伴与OLS 302交互。例如,如图3A所示,微软在线(MSOnline)同步提供者304A可允许OLS 302与MSOnline伙伴306A之间的交互。Office市场体验(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和308D所请求的动作的一个或多个组件。另外,每一同步提供者304A、304B、304C和304D分别可与OLS 302内的一个或多个供应应用编程接口(API)310交互,如经由箭头312A、312B、312C和312D所指示的。供应API 310被OLS 302用来执行供应动作。调用供应API310的源(诸如同步提供者304A-D)一般被假定为可信源。
OLS API
OLS 302可包括多个OLS API 314,这些OLS API 314用于从OLS 302检索信息,并且用于发送和接收来自客户机计算设备308的信息。OLS API 314可由客户机计算设备308的Office许可客户机(OLC)316调用,如箭头318A和318B所指示的。OLS API 314还可由期望发送或获取来自OLS 302的机器或许可信息的任何服务或网站320A和320B调用,如箭头322A、322B和322C指示的。例如,OLS API 314可执行诸如检查产品密钥或用户的供应状态、或检索产品密钥之类的动作。
在一些实施例中,存在两组OLS API 314,包括可通过因特网访问且被OLC调用的公共版本,以及只能由特定可信伙伴访问且被那些伙伴调用的专用版本。OLS API 314的公共版本与专用版本的主要差异在于,专用版本可接受通行证唯一的ID(PUID)作为身份而不是用户凭证,并且专用版本可使用不同服务器而被实现成与公共版本不同的端点。
客户机计算设备308的OLC 316是处理客户机侧许可功能(诸如,与OLS304进行通信、经由OSPP 324激活许可证、与UI接口、以及为在客户机计算设备308上运行Office 326提供授权)的客户机侧组件。OLC 316还可分别向POSA同步提供者304C和客户机同步提供者304D发送信息,如箭头328A和328B所指示。例如,OLC 316可将与客户机计算设备308的许可证有关的数据推送到客户机同步提供者304D。
在各个实施例中,OLC 316还与身份平台330进行通信。身份平台330可包括与用户的身份有关的信息,诸如用户的Office市场ID,即Live ID。此类信息可用来在客户机计算设备308上激活Office 326。
OLC 316可识别用户或客户机是否使用Live ID或BPOS ID激活了Office326。这可启用上下文专用用户接口的使用。例如,Live ID UI可以不同于BPOSUI。另外,OLC 316可能能够根据下载位置或用于安装Office 326的CD来确定向用户显示哪个UI。
OLS 302可包括产品密钥高速缓存服务332以及产品密钥高速缓存334。产品密钥高速缓存334可以是OLS 302所使用的产品密钥的定期补充的高速缓存。产品密钥高速缓存服务332可被配置成从产品密钥存储数据库336检索产品密钥,如箭头338所指示的。
OLS 302还可包括取消供应服务340。取消供应服务340可以是经由与激活验证系统(AVS)342的通信来在OLS中检查已取消供应的产品密钥的异步服务,如箭头344所指示的。取消供应服务340还可经由AVS 342周期性地停用与已取消供应的产品密钥相关联的许可证。
许可系统300也可包括欺诈检测系统346。欺诈检测系统可包括欺诈检测服务348和欺诈检测数据库350。欺诈检测服务348可定期将来自OLS 302的许可存储352的相关数据同步到欺诈检测数据库350。欺诈检测服务348可经由OLS 302的数据访问层354从许可存储352获取数据,如箭头356所指示。欺诈检测服务348随后可与OLS 302分开地分析数据,由此减少OLS 302上的负载。在各个实施例中,与OLS 302分开地实现欺诈检测系统346还允许欺诈检测系统346的组件的升级而无需更改OLS 302。
Office的许可服务的使用
该部分提供此处描述的针对Office或更具体地针对Office 2013(也被称为Office 15)的许可服务(或OLS)的使用的若干示例性实施例。在Office 2013中,OLS可支持各种许可模型,诸如业务生产力在线套件(BPOS)订阅(其中术语“BPOS”与微软在线以及微软365可互换地使用),以及消费者订阅。OLS还可支持经典永久许可、试用许可和无密钥(即,基于凭证的)许可,以及各种模型之间的转换。此外,OLS可在不同递送方法的上下文中支持这些不同的模型,诸如原始设备制造商(OEM)预加载、CD和电子软件分发(ESD)。
在Office 2013中受OLS支持的各种许可模块是Office 2013的各密钥业务优先级。可处理所有这些各种模型的单个系统可降低Office 2013的开销和复杂性。
BPOS场景
BPOS场景是聚焦于业务的场景此类场景通常涉及管理员(admin),并且所得的许可证通常与组织而非最终用户相关联。因此,管理员可以能够从一个用户拿走许可证,而将其分配给该组织内的另一用户。此外,BPOS场景可仅包括订阅。
以下是针对BPOS场景的订阅购买和供应的若干示例性实施例的解释。根据此类实施例,公司的所有者为其雇员购买BPOS以及具有八个用户许可证的Office订阅作为BPOS的一部分。公司的信息技术(IT)管理员为八位雇员中的每一位创建包括BPOS凭证的帐户。IT管理员随后为这些雇员中的每一位供应Office的用户许可证。
具有单个机器的用户
雇员从IT管理员接收电子邮件,向她通知现在她可以使用Office 2013。电子邮件具有到Office.com的链接,该链接提供有关可供她使用的产品和服务的信息。该雇员点击电子邮件链接,被要求用她的BPOS凭证来登入,并且查看链接以启动Office 203。该雇员点击链接,并且Office 2013即时启动。当Office2013启动时,该雇员被要求验证她的凭证以激活Office 2013。
具有多个机器的用户
当该用户访问Office.com时,她获知订阅准许最多在两个机器上安装Office2013。因此,该雇员从第二个机器登入Office.com,并且使用同一过程在第二个机器上安装并启动Office。
尽管该雇员知道她仅被授予在两个机器上使用Office的资格,但她决定看看如果她尝试在第三个机器上安装并运行Office会发生什么。该雇员遵循同一过程并且Office启动。然而,这一次,Office通知该雇员她已经在其他两个机器上使用了她的许可证。向该雇员呈现她已经将Office安装在其上的机器的列表,并且向该雇员提示从其他机器之一移除她的许可证以继续。代替选择要从列表中移除的机器,她决定取消。该雇员可能仍然能够在某几天内在第三个机器上使用Office安装,因为订阅许可证可以允许宽限期。如果该雇员已选择从现有两个机器之一移除她的许可证,则该机器上的许可证将被移除,而她将能够在第三个机器上激活她的许可证。
取消对用户供应
几个月之后,该雇员临时休假。所有者决定雇佣临时合同工在该雇员休假时填补空缺。在合同工的首个工作日,公司IT管理员停用该雇员的BPOS帐户,为合同工创建帐户,并且向合同工供应Office。
在合同工的首个工作日,给合同工该雇员的计算机以及为他创建的帐户。在开始Office时,合同工被告知他机器上的当前Office许可证已经失效,并且他可以提供另一帐户以继续使用Office。合同工输入他的帐户信息,并且能够正常地使用Office。如果不向合同工提供他的帐户,那么仍然可以存在宽限期,在该宽限期期间他可以继续使用Office。
订阅续订
过了近一年之后,公司的所有者接收到续订通知电子邮件。所有者决定将订阅延长一年。所有者访问Office.com以续订该订阅。同时,这些雇员可体验不中断的Office使用。
大型企业场景
大型企业场景实质上与BPOS场景相同。然而,大型企业场景可包括允许用户用其域凭证(在他们当前登入其域的情况下甚至有可能使用无声授权)来激活Office的联盟设置。
以下是针对大型企业场景的订阅购买和供应的若干示例性实施例的解释。根据此类实施例,公司的采购经理为工作经常出差。有时他不带他的计算机,而是从他的供应商借用能借的东西。他是公司的IT管理员已向其供应Office的这些雇员之一。
用户将Office应用漫游到未知机器
在采购经理出行到另一公司时,他忘记带他的膝上型计算机。然而,他期望访问他正对其操作的电子表格。幸运的是,他记得公司的Office订阅允许他在任何时间从任何地方访问Office。采购经理从其他公司的IT管理员借来膝上型计算机,并且登录Office.com。通过Office.com,采购经理能够启动Excel供临时使用,并且能够检索该电子表格。在这天结束时,采购经理将该膝上型计算机返还给该其他公司。
在收到该膝上型计算机时,该其他公司的IT管理员吃惊地发现在该膝上型计算机上没有采购经理的电子表格或Office的踪迹。这归因于以下事实:Office每天能打开的次数被监视并且受限以防止欺诈。
当启动Excel时向采购经理提示输入他的凭证,或它们可由Office.com记住。Office.com可以知道采购经理在他当前使用的机器上是否有Office。BPOS网站可为采购经理提供供应特定机器或在机器上临时使用Office的选项。在一些情况下,Office可保留在机器上。然而,当该其他公司的IT管理员引导Office时,在允许使用Office之前向他提示输入凭证。
从Office 2010到Office 2013的订阅升级
公司已经使用BPOS Office 2010(或Office 14)订阅几年了,并且所有者对其很满意。几天前,所有者收到电子邮件,提醒他和IT管理员:作为公司的订阅的一部分,Office2013可供升级。所有者还被告知他当前的Office 2010安装将继续工作,但仅再持续一年。
IT管理员进入BPOS管理员网站,并且将公司的雇员升级到Office 2013。每一雇员随后收到带有下载Office 2013的指令的电子邮件。
采购经理收到该电子邮件并且点击来自该email的至Office.com的链接。他被要求用其BPOS凭证登入,并且看到用于启动Office 15的链接。他点击链接,并且Office即时启动。当Office启动时,他被要求验证其凭证以便激活Office。另一方面,公司的会计忽略了该电子邮件并且继续使用Office 2010。一年后,会计安装的Office 2010停止工作,而采购经理安装的Office 2013继续工作。
Office市场(OMEX)场景
OMEX场景聚焦于最终用户。根据这些场景,最终用户经由Office.com或经由Office 2013的后台购买Office。此类场景可包括永久和订阅许可证两者。许可用户界面(UI)可以能够确定用户是与BPOS场景还是与OMEX场景相关联,并且可以显示适当的UI。
用户通过Office.com从Office的传统版本进行升级
以下是其中用户通过Office.com从Office的传统版本(即,现有版本)进行升级的场景的示例。用户已经在其计算机上使用Office 2010家庭和学生版,并且现在想要购买最新版本。用户进入Office.com,并且被提议一选择。用户决定购买订阅。在创建Live ID并支付订阅之后,用户启动Office 2013。屏幕上出现警告,以提醒用户在他机器上有较老的Office副本。在用户确认他希望继续之后,Office 2010安全地卸载,而新版本启动。用户被提示输入用其购买订阅的凭证。用户输入其凭证并能够正常地使用Office。
在一些实施例中,Office 2013向用户呈现是下载/安装Office 2013还是启动Office 2013的选项。凭证可被记住并且自动地从因特网传递到Office 2013,以使得不向用户强加输入凭证的提示。例如,在下载站点被保护的情况下,可将实际产品密钥插入文件名。然而,即使凭证可被传递仍迫使用户登入以验证其凭证可能是合乎需要的。在一些情况下,可以假定从Office.com购买的用户具有Live ID。产品密钥可备份在用户Office的传统副本上。
用户通过Office.com购买Office订阅许可证
该场景与其中用户通过Office.com从Office的传统版本进行升级的场景相同,除了不存在与Office的传统版本有关的警告,因为在机器上不存在传统版本。在各个实施例中,在初始激活特定机器之后,不要求用户输入其凭证。相反,后续激活可通过MachineKey(机器密钥)来完成。
用户通过Office.com购买Office永久许可证
该场景与其中用户通过Office.com从Office的传统版本进行升级的场景相同,除了不存在与Office的传统版本有关的警告,因为在机器上不存在传统版本。取决于特定实例,用户可能或可能不能够查看产品密钥。可以允许用户使用其登录信息来激活永久许可证。取决于该特定实例,传送场景可以按多种不同方式来处理。例如,如果用户想将他的Office销售给另一用户,则他可能必需将他的凭证给予该新用户,或赠送可被支持。
当用户在第一计算机上拥有Office订阅时,用户通过Office.com从第二计算机更 新第一计算机上的Office订阅
根据该场景,用户购买Office 2013家庭和学生版订阅并且将其安装在他的台式机和他的膝上型计算机上。用户决定升级到Office 2013专业版。从该台式机,用户进入Office.com,并且升级订阅。在Office.com中,列出了当前在他的Office 2013家庭和学生版订阅上的计算机,并且当用户在那些计算机上启动Office时用户被告知在计算机具有因特网接入的情况下那些计算机将自动被更新到Office 2013专业版。还给予用户链接用于现在升级台式机。用户立即点击该链接并且提供他的凭证。Office随后在台式机上升级到Office 2013专业版。
几天之后,用户在他的台式机上启动Word。当Word启动时,用户被告知已发生许可变化,并且给予用户现在升级到Office 2013专业版、稍后升级、或将该机器从订阅中移除的选项。用户决定稍后升级。一天之后,用户再次启动Word,并且被给予相同选项。用户决定在该时刻升级。
在各个实施例中,当用户正在台式机上使用Office.com的情况下,用户可以能够经由Office.com来更新台式机。在一些情况下,还可允许用户选择“稍后升级”选项。在其他情况下,可以立即迫使升级。如果允许“稍后升级”,则可以在迫使升级之前允许用户选择该选项特定次数。可以提示用户输入对现在更新的凭证或移除动作。
当用户在第一计算机上不拥有Office订阅时,用户通过Office.com从第二计算机 更新第一计算机上的Office订阅
根据该场景,用户购买Office 2013家庭和学生版订阅并且将其安装在他的台式机上。用户从朋友处购买旧的膝上型计算机。他朋友的Office 2013专业版订阅在该旧的膝上型计算机上运行。用户能够在该旧的膝上型计算机上正常地使用Office。用户的朋友记起他忘记从该膝上型计算机中移除他的Office 2013专业版订阅,因此他进入Office.com并且从他的订阅中移除该膝上型计算机。
在下次开始Office时,用户被告知他机器上的当前Office许可证已被移除,并且他可以提供另一帐户以继续使用Office。用户随后可以输入他的凭证,以便使用受他的订阅支持的Office版本。
当用户在第一计算机上拥有Office订阅时,用户使用Office.com从第二计算机将 第一计算机上的Office许可证从订阅许可证更新为永久许可证
该场景与其中当用户在第一计算机上拥有订阅时用户通过Office.com从第二计算机更新他在第一计算机上使用的Office订阅的场景相同。然而,代替升级到另一订阅许可证,用户简单地升级到永久许可证。
当用户在第一计算机上不拥有Office订阅时,用户通过Office.com从第二计算机 将第一计算机上的Office许可证从订阅许可证更新为永久许可证
该场景与其中当用户在第一计算机上不拥有订阅时用户通过Office.com从第二计算机更新他在第一计算机上使用的Office订阅的场景相同。然而,代替升级到另一订阅,用户升级到永久许可证。
当用户在第一计算机上拥有永久许可证时,用户通过Office.com从第二计算机将 第一计算机上的Office订阅从永久许可证改变为订阅许可证
用户在第一计算机上具有Office家庭和学生版。然而,用户发现他期望Office产品的更多选择。用户从第二计算机登录到Office.com以购买Office专业版订阅。在购买结束时,给予用户链接以下载Office专业版并且给予用户关于如何更新当前安装的Office版本的指引。
用户在第一计算机上再次登录到Office.com,并且点击下载链接。第一计算机上Office的副本被更新到Office.com专业版。如果用户没有重新访问Office.com,则他可在他当前安装的Office家庭和学生版上通过进入后台来执行更新。例如,用户可以点击按钮来更新许可证或检查更新。
用户稍后取消他的订阅。第一计算机上的专业版订阅最终失效并且回复到Office家庭和学生板。
经许可的用户与当前用户不同
小型企业所有者有三位雇员。他希望他的每一雇员都使用Office。在Office.com上查阅订阅提议之后,所有者认识到每一订阅包括在两个不同的机器上使用Office的资格。然而,所有者认识到在一个时间他只能有一个订阅。因此,他要求雇员之一也购买订阅,随后他会单独支付该订阅。所有者以及雇员之一将Office下载到其各自的计算机上,并且使用所有者的凭证来激活它。另外两个雇员将Office下载到其各自的计算机上,并且使用雇员的凭证来激活它。为使Office个性化,这些雇员仍然能够用其自己的ID登入并且正常地使用它。
在一些实施例中,可以假定每一用户只能具有一个Office订阅。然而,在一些情况下,用户可以具有Office家庭和学生版的订阅、以及Office专业版的订阅。而且,用户可具有同一订阅的多个版本,或多个永久许可证。
用户从订阅许可证转换为BPOS许可证
小型企业所有者有三位雇员。用户和雇员之一都有允许在多达两个机器上安装Office的Office专业版订阅。其他两个雇员各自使用这些订阅之一来在其机器上安装Office。
所有者当前雇佣了五位新雇员。在读取在线信息后,他决定BPOS订阅将更好地适合他的需求。所有者进入Office.com并且将他的订阅转换为BPOS订阅,购买九个许可证(足够用于公司的每个人)。
所有者创建BPOS帐户并给予他的每个员工该BPOS帐户,并且向每个雇员供应Office。当每个雇员启动Office时,他被告知当前在他机器上的许可证不再有效,并且他可以提供另一帐户以便继续使用Office。因此,每个雇员可输入其BPOS ID,并且随后正常地使用Office。此外,在一些实施例中,在雇员没有立即提供另一帐户的情况下,可以提供宽限期。
用户从永久许可证转换为BPOS许可证
小型企业所有者有十位雇员。所有者已经为每个雇员的机器购买了Office家庭和企业版的永久许可证。然而,在读取在线信息后,所有者决定带有Office专业增强版的BPOS订阅将更好地适合他的需求。所有者进入Office.com并且购买具有十一个许可证(足够用于他公司的每个人)的BPOS订阅。所有者创建BPOS帐户并给予他的每个雇员该BPOS帐户,并且向每个人供应Office。
给予每个雇员来自所有者的指引以进入其BPOS主页来下载Office订阅。或者,还给予雇员关于如何从后台改变其许可证的指引。如果雇员在他们当前机器上不采取动作,则即使他们用其BPOS ID登入,他们的机器仍将继续运行当前在他们的机器上的任何永久许可证。
用户通过后台取消订阅
用户具有基本Office订阅包,但期望Office产品的更多选择。用户进入后台并且选择“我的帐户”。用户选择“管理我的订阅”,并且将他的包升级到包含他期望的产品的那个订阅。当他不再期望附加产品时,用户进入后台下的“我的帐户”并且取消他的订阅。用户的Office副本返回到缩减功能模式,或在他升级其包之前他有的任何许可。
用户通过Office.com取消订阅
用户具有基本Office订阅包,但期望Office产品的更多选择。用户登录到Office.com以管理他当前的订阅。用户将他的包升级到包含他期望的产品的订阅。当用户不再期望增加的产品时,他登录到Office.com并且取消他的订阅。他的Office副本返回到受他的先前许可证支持的缩减功能模式。
用户购买永久许可证和订阅许可证两者
用户在他的膝上型计算机上具有Office Starter。用户用他的Live ID登入Office市场,并且使用他的膝上型计算机经由后台购买Office。Office Starter被升级到订阅包。
之后,用户经由web浏览器返回到Office市场以便购买永久许可证。用户无需重新输入他的支付细节。相反,Office市场记住他的凭证。在用户确认购买之后,他下载Office并在膝上型计算机上启动Office。
他购买Office之后几个月,用户在他的膝上型计算机上染上病毒,并且他的应用要被重装。用户登录到Office市场以便重新下载他的Office副本以及他的许可证这可使用同一产品密钥来实现。
订阅续订
如果用户具有Office订阅,则他可自动续订该订阅。用户可体验不中断的Office使用。
订阅失效
用户具有Office订阅。然而,他不在乎该服务并且决定当其期满时让它失效。记账系统向用户发送多封电子邮件,他忽略了这些电子邮件。贯穿该时间,用户继续使用Office。在某个点处通过Office向他通知他的订阅已期满并且他可以从后台管理他的订阅。他忽略这些警告,并且最终Office在他的计算机上停止运作。
从Office 2013到下一Office版本的订阅升级
用户具有Office 2013的Office订阅,并且当前在他的计算机上安装了Office2013。几年过后,下一Office版本已经发布。用户下次启动任何Office应用时,他被通知他能升级到新的Office版本。用户还被通知他可以在任何时间从后台来这样做。用户决定现在升级。新的Office版本被安装在用户的计算机上。
在一些实施例中,多个组件可向用户通知新的Office版本出来了,诸如OMEX或Office许可客户端(OLC)或两者。在一些情况下,用户所剩的升级到下一版本的时间量可被追踪。在某一点时,可以迫使升级,并且旧版本可变为不可用。密钥可来自正确的税收地点。对于BPOS提议可使用同样的逻辑。
零售/OEM/CD场景
这些场景聚焦于传统零售渠道。这些场景中的常见主题是用户以产品密钥开始。例如,产品密钥通常包括在用户购买Office时的盒子中。
用户从零售店购买Office
用户进入零售店,并且购买Office家庭和学生版的盒装副本。该盒子内有CD以及产品密钥。用户从CD安装Office。作为安装过程的一部分,用户被提示输入他的产品密钥。用户还被提示登入Office,并且这样做之后,用户被给予将他的许可证与他的Live ID相关联的机会。几个月后,用户在他的计算机上发现了病毒。用户重新格式化计算机并且重装Office。不幸的是,用户丢失了产品密钥。然而,用户能够仅使用他的Live ID来激活Office。OLS可以返回与此Live ID相关联的产品密钥。
具有多个机器的用户
用户在他的房屋处有四个计算机。用户已经从零售店购买了Office的副本,并且能够用产品密钥在第一计算机上成功地激活Office。因为在设置他的第一计算机时他将许可证与他的Live ID相关联,所以用户也能够使用他的Live ID在第二和第三计算机上激活Office。然而,在尝试激活第四计算机之际,用户接收到出错消息,向他通知他的许可证仅支持三个计算机。
用户将Office许可证与Live ID相关联
一般而言,如果用户期望将他的产品密钥与他的Live ID相关联,则他可将完整的5x5产品密钥在线输入到Office市场。经由Office市场,OLS随后可将产品密钥与用户的Live ID相关联。
用户可以通过Office.com或通过后台在线查看与他的Live ID相关联的Office许可证。另外,用户可以能够通过Office.com或通过后台取消产品密钥与他的Live ID的关联。当用户试图再次使用他的Live ID来激活时,他无法这样做。然而,已经用他的Live ID激活的计算机将照常运作。
试用场景
这些场景针对试用许可证并且实质上与非试用订阅场景相同。然而,对于试用场景而言,许可证时间段短得多。
用户通过Office.com启动试用许可证
用户已在使用Office Starter。用户决定尝试Office,并且在提供他的Live ID之后从Office.com下载试用许可证。在他的机器上启动Office之际,用户被提示输入他的Live ID。一旦用户输入他的Live ID,用户就能够开始使用Office。
用户使用产品密钥来启动试用许可证
用户已获得Office的试用副本。Office的试用副本包括与试用许可证相关联的产品密钥。用户安装Office并且使用产品密钥来激活Office。
试用许可证失效
用户已在使用Office Starter,并且现在期望尝试Office。在提供他的Live ID之后,用户从Office.com下载试用许可证。随着时间流逝,从OLC通知用户他的试用很快将期满。用户决定让他的试用许可证失效。当他的试用许可证期满时,Office回复到OfficeStarter。
用户从试用许可证转换为订阅许可证
Dan已在使用他从Office.com下载的Office的试用。随着时间流逝,从Office客户端向他通知他的试用很快将期满。Dan使用Office 14有良好体验并且决定经由Office.com(或后台)转换为完全订阅。他的Office副本自动升级到完全订阅而服务不中断。如果他经由产品密钥激活了试用而从未提供ID,那么他可能需要提供他的ID以转换为完全订阅。
用于购买、激活或重新激活许可证的各方法
图4是用于通过市场服务购买应用的许可证的方法400的过程流程图。在各个实施例中,市场服务是Office市场体验(OMEX)。此外,在一些实施例中,方法400经由以上参考图3A、3B和3C讨论的许可系统300来实现。
方法400在框402开始,其中用户启动许可证的购买。用户可通过例如OfficeStarter、Office Trial(试用)、Office的后台、或Office.com来启动购买。在框404,用户选择与所需许可证有关的存储保持单元(SKU)。在框406,用户使用他的Live ID登录到Office市场(例如,OMEX)。
在框408,确定用户是否正在购买订阅SKU。如果用户没有在购买订阅SKU,则在框410用户可以选择支付工具并且在框412完成支付。随后在框414经由OMEX同步提供者向OLS通知许可证更新。
如果用户正在购买订阅SKU,则在框416订阅SKU可被设置。用户随后可在框418选择支付工具并在框420完成支付。在框422,订阅细节可被记录。例如,SKU、自动续订信息、和/或记账间隔信息可被记录。随后在框414经由OMEX同步提供者向OLS通知许可证更新。
图5是用于通过市场服务初始激活应用的许可证的方法500的过程流程图。在各个实施例中,市场服务是OMEX。许可证的初始激活可以发生在一个客户机设备(例如一个计算机)上,并且可以不包括向上销售(upselling)。在一些实施例中,方法500经由以上参考图3A、3B和3C讨论的许可系统300来实现。
方法500在框502开始,其中OMEX将参数(诸如授权权证)传递给引导器。在框504,用户从Office.com启动下载。在框506,从内容递送网络(CDN)检索各比特,并且在框508,当检索这些比特时显示启动画面。
在框510,OLC向许可存储请求通用许可证。这允许在许可证被激活时临时使用Office。在框512,Office加载,并且在框514,OLC使用授权权证向OLS请求许可证。在框516,OLS返回受保护的授权(或无密钥授权)和产品密钥(在非漫游应用场景的情况下)。
在框518,OLC确定产品密钥和OSPP是否可用。如果产品密钥和OSPP可用,则在框520,用产品密钥来获取OSPP许可证。在框522,通行证唯一ID(PUID)以及用户的用户名被保存在本地机器上。
如果产品密钥和OSPP不可用,则Office的使用可经由无密钥授权来启用。OLC随后可在框518周期性地确定产品密钥和OSPP是否可用,并且可在产品密钥和OSPP变得可用的情况下采取适当动作。
图6是用于重新激活应用的许可证的方法600的过程流程图。此类重新激活的方法可包括向上销售。在一些实施例中,方法600经由以上参考图3A、3B和3C讨论的许可系统300来实现。
方法600在框602开始,其中Office被加载,或发生被调度的许可证检查。在框604,确定Office的许可证是订阅许可证还是试用许可证。如果许可证不是订阅许可证或试用许可证,则它被确定为永久许可证。在该情况下,方法600在框606继续,其中用户正常地使用Office。在一些情况下,在许可证期满或出于某种原因而终止的情况下,Office可以停止运作。
如果许可证是订阅许可证或试用许可证,则在框608,OLC向OLS发送许可证信息,并在框610,OLS向OLC返回许可证更新。在框612,确定许可证是否已被更新。如果许可证已被更新,则OLC用新的许可证更新Office。在一些情况下,可以向用户呈现用户希望现在实现新许可证还是之后经由UI实现新许可证的选项。另外,如果新许可证涉及Office版本的改变,则新版本可被下载。或者,如果许可证未被更新,则方法600可返回到框606。在该情况下,许可证可能期满,并且因此Office可停止运作。
Office许可服务(OLS)
这一部分描述了本文描述的许可系统的OLS的运作,诸如以上参考图3A、3B和3C描述的许可系统300的OLS 302。OLS担当许可系统的中心集线器。OLS从各个源(诸如BPOS或OMEX)获取供应数据,例如,用户买了什么。OLS还获取产品密钥,提供无密钥授权,并且管理用户-机器关系,例如,用户已激活了多少机器。
OLS可允许许可系统处理针对各种不同类型的操作系统或设备的许可证。这可导致许可应用的开销减少。OLS还可用业务模型的变化来提供敏捷性和灵活性,并且提供用户-许可证信息的集中式视图。
在各个实施例中,OMEX为OLC提供用于针对用户身份来管理机器的接口。OMEX还为网站(例如,OMEX管理网站)提供用于针对用户身份来管理机器的接口。OMEX可维护ID、与ID有关的许可证、以及其许可证已被使用的机器的数据库。另外,OMEX可提供从密钥存储获取许可证密钥的能力。此外,OMEX可提供OLC可用来授权Office使用的接口,或是经由产品密钥分发(对于其中OSPP可用的情况)或是经由基于直接授权的模型(对于其中OSPP不可用的情况,即,无密钥授权场景)。
OLS提供至少三个宽泛类的服务,包括用户许可供应、产品密钥和漫游授权检索、以及机器管理能力,如以下进一步解释的。关于用户许可供应,基于伙伴(诸如BPOS和OMEX)提供的信息,OLS可存储并检索与用户有资格享有的Office许可证的类型有关的信息。例如,OLS可存储并检索与用户当前是否订阅了Office家庭和企业版、或他是否购买了永久Office专业版有关的信息。
关于产品密钥和漫游授权检索,OLS有能力基于用户有资格享有的Office许可证从密钥存储中检索正确的产品密钥。该能力对于用户和伙伴而言是无缝的。换言之,产品密钥在用户尝试激活机器时按需进行检索,并且激活由OLC自动完成,而无需向用户展示实际产品密钥。然而,OLS不包括伙伴任意地检索产品密钥的能力。此外,OLS还有能力检索漫游授权,即无密钥授权,其使用户能够在漫游应用场景中使用Office而无需产品密钥。
在一些实施例中,OLS提供仅针对订阅许可证的机器管理能力。除了简单地检索产品密钥以外,OLS还可管理已激活的机器数量,并且为用户提供使包括在他的订阅中的机器轮换的方式。例如,如果用户购买的订阅使他有资格在三个机器上使用Office,则OLS可以在供应第四个机器的情况下取消对前三个机器之一的供应。
OLS的数据库可以由可具有一项或多项资格以及在每一项资格下可具有零个或多个机器的用户来组织。每一项资格都与一个提议且仅与一个提议相关联。对于具有永久提议的永久资格,单个永久密钥可与每一项资格相关联。
图7是示出已向用户704许可的用于多个不同机器706A-F的多个资格或许可证702A-E的框图。每一项资格702A-E可包括与永久资格或订阅资格中的任一者或两者有关的提议708A-D,如以下进一步讨论的。
在各个实施例中,OLS仅管理使用订阅资格(例如,资格702A、702B和702E)供应的机器(例如,机器706A、706B、706C、706D和706F)。因此,具有永久资格(例如,资格702C和702D)的用户不会使任何机器与这些资格相关联,除非机器(例如,机器706E)先前根据订阅资格而被转换。
在各个实施例中,提议表示例如通过Microsoft在线或OMEX可供购买的一种类型的使用权。提议不是因用户而异的而是当许可系统上线且被更新时填充的。对提议的添加和更新可被纳入,作为部署的一部分。每一提议可与提议ID相关联,该提议ID是标识该提议的唯一ID。另外,每一提议可与特定类型的提议相关联。例如,提议可以是纯产品密钥提议(即,与永久或试用许可证有关的提议),或机器管理提议(即,与订阅许可证有关的提议)。
根据此处描述的实施例,许可证或资格是一组特定使用权。用户可具有一项或多项资格。这些资格可在供应期间由同步提供者来填充。每一项资格具有唯一的资格ID,其可部分地由供应伙伴来确定。
与每一项资格有关的各种信息可连同该资格一起被记录。例如,资格ID、伙伴资格ID、对应的伙伴、用户ID、提议ID、以及资格的状态可被记录。例如,与资格有关的各个参数的值可被记录。例如,与资格是否允许漫游应用场景有关的信息(即,RoamingType(漫游类型))、与用户的记账国家有关的信息(即,BillingCountryISO(记账国家ISO))、以及与资格的语言有关的信息可被记录。另外,与关于资格允许的所供应或待转换的机器的最大数量有关的信息(即,ActiveMachineMax(活动机器最大值))、与当前关于资格所供应或待转换的机器的数量有关的信息(即,ActiveMachineCount(活动机器计数))、以及各种其他信息可被记录。与资格的令牌有关的参数也可被记录。此类参数包括SecureToken(安全令牌)、TokenUseMax(令牌使用最大值)、TokenUseCount(令牌使用计数)、TokenExpiryLength(令牌期满长度)以及TokenExpiry(令牌期满)等等。
机器可以是使用特定订阅资格的Office的特定安装。在该资格下可存在零个或多个机器。每次从资格中发放新订阅(或TBL)产品密钥时,创建新机器。
每一机器可与可被用来标识该机器的MachineKey(机器密钥)相关联。机器密钥的值可从发放给机器的产品密钥导出。机器的状态(诸如机器是否已供应、待转换、已转换、或预供应)可被记录。另外,与机器有关的各种其他参数可被记录,包括资格ID、提议ID、密钥状态、以及与机器本身有关的信息。
根据此处描述的实施例,为每一项资格发放产品密钥(即,ProductKey)。在每一项资格下可能仅存在一个启用的产品密钥,并且只有永久资格方可具有启用的产品密钥。产品密钥可在首次向永久资格请求产品密钥时被创建。只要资格未经转换,就应所有后续密钥请求使用同一永久密钥。与产品密钥的状态有关的信息(即,KeyStatus(密钥状态))可被记录。产品密钥的状态可以是已启用、待禁用或已禁用。与产品密钥被发放的次数有关的信息(即,KeysIssuedCount(密钥发放计数))、以及与KeyStatus最后更新日期有关的信息(即,KeyStatusLastUpdate(密钥状态最后更新))有关的信息可连同该产品密钥一起被记录。
在各个实施例中,供应API是用于供应的一组内部API。供应API仅被同步提供者调用。每一同步提供者API可调用供应API中的一个或多个。供应API可被设计成对其余许可系统表现为原子操作。注意,单个供应动作可采用多个供应API调用。例如,对于OMEX同步提供者的ProvisionUser()API,AddUser()和CreateEntitlement()调用被使用。如果AddUser()成功但CreateEntitlementForUser()失败,则用户可能不具有资格,并且用户将不被授予对Office的未经授权的访问。许可系统内的各API的一些示例包括:将用户添加到OLS的AddUser()API,为用户创建资格的CreateEntitlement(),以及将资格转换为另一提议或更新参数ActiveMachineMax的ConvertEntitlement()API。无论该转换是例如从订阅许可证到另一订阅许可证还是从订阅许可证到永久许可证,ConvertEntitlement()API都同样地运作。另外,除非明确指出,欺诈计数器和限制在转换期间不可被重置。
图8是用于将资格转换为另一提议或更新与该资格有关的提议的方法800的过程流程图。该提议的更新可包括例如更新ActiveMachineMax。该方法在框802开始,其中ConvertEntitlement()API被调用。在框804,可以确定是否取消供应该资格。如果取消供应该资格,则在框806,方法800结束。如果没有取消供应该资格,则方法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可用来更新资格的状态。UpdateBillingCountry()API可用来更新用户的账单信息(即,BillingCountryISO),并且GetDownloadInfo()API可用来返回下载URL以及与该资格有关的其他信息。
在各个实施例中,安全令牌(即,SecureToken)仅仅是OLS生成的、授予对用户资格的临时访问的全局唯一标识符(GUID)。当客户机用SecureToken作出OLS调用时,客户机实质上是用对其发放令牌的用户的凭证来调用OLS。提供身份权证与提供安全令牌的主要差异在于安全令牌的作用域为特定资格,所以它只能用来检索信息或取得特定资格的密钥,并且安全令牌具有有限使用和时间界限。
CheckMachineStatus()API返回机器的状态。然而,该API可以仅返回在订阅资格下供应的机器的信息。GetEntitlementsForIdentity()API可返回当前与所提供的身份相关联的资格。GetEntitlementForMachineKey()API可返回当前与MachineKey相关联的资格。在一些实施例中,该过程流程可以如下:(1)用匹配的MachineKey来检索机器的EntitlementID(资格ID);(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是用于在适当时供应无密钥授权的方法100的过程流程图。无密钥授权的目的可以是使客户机能够临时运行Office,而无需OSPP也无需使用产品密钥进行激活。这在例如安装的第一次运行期间或在漫游应用场景期间可能是有用的。
无密钥授权可以是有符号的串,该有符号的串包括被客户机用来启用临时Office访问且作为BaseAuthString(基本授权串)被存储在Offer(提议)中的授权串。无密钥授权还可包括多个参数,包括应GetKey()请求由客户机发送的HWID参数,以及表示客户机可不再使用无密钥授权的日期和时间的TimeValidEnd(时间有效结束)参数。
方法1000的无密钥授权流程在框1002开始。在各个实施例中,方法1000在如上讨论的方法900之后执行。方法1000可包括在框1004-1022作出多个确定,例如,包括与客户机所请求的密钥的类型有关的确定。在框1012或1014,如果不满足方法1000的条件,则在框1024或1026可返回出错。
如果已满足在方法1000中呈现的条件,则在框1028可以确定产品密钥是否被请求。如果产品密钥未被请求,则在框1030返回无密钥授权。如果产品密钥被请求,则在框1032可以确定资格提议是否允许安装,即,并非仅漫游。如果资格提议不允许安装,则在框1034返回出错。否则,在框1036确定提议类型是否是KeyOnly(仅密钥)。
如果提议类型不是KeyOnly,则方法1000前进至图11A或11B的订阅密钥流程,如框1038所示。如果提议类型是KeyOnly,则方法1000前进至图12A或12B的产品密钥流程,如框1040所示。
图11A是用于检索现有订阅(或TBL)密钥的方法1100的过程流程图。在各个实施例中,在GetKey()API调用中使用的MachineKey和HWID与OLS中存储的那些相同的情况下,现有密钥被检索。方法1100的订阅密钥流程在框1102开始。在各个实施例中,方法1100在如上讨论的方法1000之后执行。方法1100可包括在框1104-1140作出多个确定并且执行多个步骤。在一些实施例中,方法1100前进至图11B的新订阅密钥流程,如框1142所示。在其他实施例中,在方法1100结束时返回现有订阅密钥,如框1144所示。
图11B是用于获取新订阅密钥的方法1146的过程流程图。在各个实施例中,在以下情况下从密钥存储中检索新密钥:发生了新安装、机器用完了容错重新激活、发生了资格转换、或重新供应了机器。方法1146可在如上讨论的方法1000或方法1100之后执行。
方法1146的新订阅密钥流程在框1148开始。在框1150-1156执行多个步骤之后,在框1158返回新订阅密钥。或者,如果在框1150不满足方法1146的条件,则在框1160返回出错,并且不获取新订阅密钥。
图12A是用于检索现有产品密钥的方法1200的过程流程图。方法1200可应用于KeyOnly提议类型。在各个实施例中,方法1200在如上讨论的方法1000之后执行。方法1200的产品密钥流程在框1202开始。方法1200可包括在框1204-1212作出多个确定并且执行多个步骤。在一些实施例中,在框1206,如果不满足方法1200的条件,则在框1214返回出错。在其他实施例中,方法1200前进至图12B的新产品密钥流程,如框1216所示。此外,在其他实施例中,在方法1200结束时返回现有产品密钥,如框1216所示。
图12B是用于获取新产品密钥的方法1218的过程流程图。仅当资格是新的或已经从先前资格转换时,才可以获取新产品密钥。方法1218可在如上讨论的方法1000或方法1200之后执行。方法1218的新产品密钥流程在框1220开始。方法1218可包括在框1222-1226作出多个确定并且执行多个步骤。随后在方法1218结束时返回新产品密钥,如框1228所示。
图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地起作用。然而,所使用的身份可以是BPOS或Live发放的权证、或OLS SecureToken,而不是PUID。在所使用的身份是OLS SecureToken的情况下,SecureToken可不被重新生成。相反,现有令牌可用在URL中。该API可仅返回URL,而不是各下载参数。
根据此处描述的各实施例,产品密钥高速缓存是OLS从其中获取密钥的密钥存储。产品密钥高速缓存是独立于OLS核心许可数据库的数据库,并且通过异步过程来填充,该异步过程只要该高速缓存中的可用密钥数量落在特定阈值以下就从JIT系统中检索密钥。
产品密钥高速缓存可存储关于每一密钥的元数据,包括密钥的PKPN;PKPN的JITSKU,以及最初从其中获取密钥的数据中心国家。产品密钥高速缓存可以能够基于GetKey()逻辑提供的若干参数来返回税收遵守密钥,参数包括作为Offer属性的资格KeyStoreReqId、以及根据资格获取的BillingCountryISO。
在OLS内,产品密钥取消供应组件可以是与核心系统独立运行的异步服务。产品密钥取消供应组件可按最初设置成每天一次的规则时间表来运行。
在产品密钥取消供应组件的排定运行期间,它可以标识密钥状态(即,KeyStatus)为待禁用并且最后密钥状态更新(即,KeyStatusLastUpdate)的日期超过两个月的机器。另外,在产品密钥取消供应组件的排定运行期间,它可以标识密钥状态为待禁用并且最后密钥状态更新的日期超过一个月的产品密钥。在一些实施例中,可以因同步提供者更新或用户动作(诸如,响应于用户将机器从资格中移除)而取消对该机器的供应。
Office市场体验同步提供者
OMEX同步提供者可用来从OMEX伙伴接收供应更新并且将那些更新发布到OLS。更具体地,OMEX同步提供者是为OMEX伙伴展示一组API以执行各个供应任务而不允许OMEX伙伴直接访问OLS中的专用供应层的抽象层。
图15A是用户初始购买资格的方法1500的过程流程图。方法1500可使用以上讨论的OMEX同步提供者来执行。在框1502,用户发起购买,并且在框1504,用户经由客户机或经由Web通过OMEX选择SKU。在框1506,用户使用他的Live ID登入,并且在框1508,用户完成支付信息以购买资格。
在框1510,OMEX调用CTP来完成购买动作,并且在框1512,调用OMEX同步提供者以向用户供应,即,ProvisionUser()。在框1514,OMEX同步提供者向用户供应,并且返回下载URL。在OLS中向用户供应可使用ProvisionUser()API来实现。ProvisionUser()API可仅由OMEX伙伴调用。
在一些情况下,对于同步提供者而言,存在调用上的超时。因此,在框1516,可以确定是否发生了出错或超时。如果发生了出错或超时,则在框1518可以向用户显示“稍后回来下载”消息。否则,在框1520,OMEX向用户显示资格的下载链接。
图15是用于更新资格的方法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可包括允许用户激活Office而无需重新键入他的凭证的受保护令牌(例如,GUID)。因此,URL的使用可能受限。在一些实施例中,GetDownloadInfoForEntitlement()API被用来在适当时重新生成下载链接。
图17是用于根据ForcedUpdate(强制更新)过程来确定是否要更新资格的方法1700的过程流程图。方法1700可在框1702开始,其中ProvisionUser()API被调用。方法1700可包括在框1704-1726作出多个确定并且执行多个步骤。在一些实施例中,在框1718确定不存在资格,并且在框1728抛出异常。否则,方法1700继续至框1730,其中下载URL被返回。下载URL可以取决于是否已设置了ForcedUpdate(如框1712或框1722所确定的)以及是否允许资格更新(如框1724所确定的)而变化。
根据方法1700,ForcedUpdate可在异步CTP供应调用期间被指定,因为它可以是关于用户购买了什么的最终权威机构。在竞争状况中可能发生差异,其中异步CTP供应调用在购买期间发起供应调用之前发生。在一些情况下,如果ForcedUpdate在供应期间被指定,则自最后成功更新起10秒内不可允许同一EntitlementID的另一更新,除非在新的ProvisionUser()API调用上设置了ForcedUpdate。在该情况下,基于现有资格信息,调用将会成功并且将返回信息。时间值可以是可配置的,并且用于该检查的逻辑可在同步提供者层中被隔离。
对于没有作出用户资格的更新但调用成功地返回的情况下,响应可包含向调用者指示未作出更新的标志。响应还可包含系统中已有的资格信息。调用者可使用资格信息进行故障查找或采取其他附加动作。
对设备的许可
根据此处描述的各实施例,OLS可被更新以支持不同类型的设备以及与这些不同类型的设备有关的特定应用的许可。例如,OLS可支持以MOX应用、移动Office应用、Android应用、Windows移动应用、以及Mac Office应用等形式的Office(例如,Office 2015)的许可。因此,OLS可允许跨许多不同平台的Office的许可。
在OLS内,术语“计算机”可以指PC和Mac,而术语“设备”可以指MOX(或平板设备)以及移动电话。共同地,计算机和设备两者都可被称为OLS内的“机器”。
OLS内设备的许可可以采取基于凭证的许可证或基于令牌的许可证的形式。对于基于凭证的许可证,任何设备可以共享一个许可证计数,而任何计算机可以共享另一个许可证计数。对于基于令牌的许可,可以使用许可证令牌来代替OLS令牌。可按每台设备无限次数地使用许可证令牌。超出限制每一许可证令牌将没有设备计数,以使其只能用在一个设备上。
设备应用(例如,MOX和移动应用)可经由OEM预装(例如,Windows移动)或经由网站下载(例如,Android)通过平台的应用商店(例如,Apple商店)来发布。每一设备的许可权可经由平台的应用商店来获取而不涉及OLS、OLS涉及购买托管或非托管订阅、或OLS涉及VL协议。
图18A是用于初始许可设备的应用的方法1800的过程流程图。方法180在框1802开始,其中用户从设备的应用商店下载应用。在1804,提示用户输入他的凭证。在框1806,用户使用他的Live ID或其他凭证登入。在框1808,设备随后向OLS询问许可信息,并且在框1810,OLS返回授权串。在框1812,设备验证授权串的真实性、保存机器密钥并且授予访问权。
在框1814,确定设备是否被授权。如果设备未被授权,则在框1816返回出错。如果设备被授权,则在框1818授予对应用的访问权,直到应用的周期性检查或重装为止。
图18B是用于周期性地检查许可证的状态的方法1820的过程流程图。在各个实施例中,方法1820响应于应用在一天中的首次引导而被执行。
方法1820在框1822开始,其中设备向OLS询问许可证信息。设备可按设备确定的间隔(诸如,每第五次登录或每月)向OLS询问。在框1824,设备向OLS发送机器密钥。
在框1826,OLS向设备返回设备状态。在设备状态是已供应的情况下,授予对应用的访问权,如框1828所示。在设备状态是待转换或已转换的情况下,授权串可从OLS中被重新获取,如框1830所示。在设备状态是已取消供应的情况下,返回出错,如框1832所示。
图19是用于初始许可设备的方法1900的过程流程图。相同标号的项参考图18A进行了描述。方法1900可响应于特定应用在设备上的首次引导而被执行。
方法1900可类似于图18A的方法1800。然而,在框1902,提示用户输入设备令牌,并且在框1904向用户提供设备令牌,而非用他的Live ID或其他凭证来登入。因此,根据方法1900,设备的许可证是基于令牌的许可证。对于基于令牌的许可,一旦许可证被初始化,就永久地许可设备使用该应用。因此,可以不存在对该许可证的周期性许可证检查。因此,在框1906,设备被永久地授予对该应用的访问权,或者直到该应用的重装为止。
根据此处描述的各实施例,OLS许可证是可由OLS授予的新类型的许可证。OLS许可证可通过GetOLSLicense()API来发放。OLS许可证可包括许可证串(即,MachineKey)、机器标识(即,MachineID)、可开始使用该授权的有效日期和时间(即,TimeValidStart)、以及不再可使用该授权的有效日期和时间(即,TimeValidEnd)。
在OLS许可证满足若干准则的情况下,设备可仅履行通过GetOLSLicense()API返回的该OLS许可证。例如,OLS许可证可被验证为由OLS签署;应请求,所返回的MachineID可被验证为匹配所使用的MachineID;应请求,TimeValidStart可被验证为匹配所使用的当前时间;并且当前客户机时间可被验证为在TimeValidStart与TimeValidEnd之间。
对服务的许可
此处描述的各实施例可用来执行与对服务的许可有关的各个功能。例如,此处描述的各实施例可允许伙伴标识用户是否被给予对其漫游设置服务的访问权。另外,此类实施例可向Office服务提供用来检索Office客户机供应信息的接口。
图20是伙伴确定用户是否被授予对其服务的访问权的方法2000的过程流程图。这一确定可使用服务供应信息来作出。在一些实施例中,伙伴维护用户供应高速缓存,其对来自GetEntitlementForIdentityEx()API调用的结果进行高速缓存。这可增强伙伴的性能并且减小OLS上的负载。用户供应高速缓存的长度可根据特定服务的特性来调节。另外,用户供应高速缓存可基于服务多久需要实时信息一次以及为供应信息调用OLS的性能成本而期满。
方法在框2002开始,其中确定用户供应高速缓存是否存在并且是否有效。如果用户供应高速缓存存在并且有效,则在框2004授予对服务的访问权。如果用户供应高速缓存要么不存在要么无效,则在框2006,提供者调用GetEntitlementForIdentityEx()API。在框2008,伙伴更新用户供应高速缓存。随后,在框2010,确定是否向用户供应该服务。如果没有向用户供应该服务,则在框2012,不授予对该服务的访问权。否则,在框2004,向用户授予对该服务的访问权。
地理位置和地理缩放服务
在各个实施例中,地理位置和地理缩放技术被用来改进或维护OLS的性能、可用性、可靠性以及可缩放性。OLS的总体地理位置设计可包括主数据中心和众多复制数据中心,其在地理上可分布在世界各地。该设计理论上可以支持无限数量的复制数据中心。每一复制数据中心可在适当时上线。
主数据中心可以处理所有OLS操作。例如,写操作(例如,供应更新)可首先通过主数据中心。主数据中心可包含每个用户的供应信息的主副本。另外,所有同步提供者组件和密钥高速缓存组件可驻留在主数据中心内。此外,地理同步器可被用来持续地监视主数据中心以便确定要同步到复制数据中心的更新。
复制数据中心可处理所有的读操作,例如,检查用户是否得到访问服务的允许。复制数据中心还可处理一些写操作,例如,发放无密钥授权。每一复制数据中心可包含每一用户的供应信息的副本,并且可从主数据中心持续获取供应更新。此外,在灾难恢复场景的情况下,复制数据中心中的任一个可变成主数据中心,如以下进一步讨论的。
图21是主数据中心2100与多个复制数据中心2102A和2102B的示例性配置的示意图。可给予OMEX 2104或其他伙伴一通用OLS URL(例如,generic.ols.office.com)以及主数据中心2100的直接URL(例如,master.ols.office.com)。对于特定操作(诸如,OMEX同步提供者2106的操作),OMEX 2104可直接调用master.ols.office.com而不是使用generic.ols.office.com。调用随后可基于全局负载平衡器2108内的逻辑从主数据中心2100被重定向到复制数据中心2102A或2102B的任一者。
另外,多个地理同步器2110A和2110B可被用来将来自主数据中心2100的信息同步到复制数据中心2102A和2102B。具体地,每一地理同步器可从主数据中心2100内的地理同步表读取数据,并且将该数据直接写入复制数据中心2102A和2102B。此类数据可包括例如与供应更新或产品密钥信息更新有关的数据。
主数据中心2100内的地理同步表可包含指向OLS核心中可被同步到复制数据中心2102A或2102B的记录的指针。具体地,地理同步表可包含SourceTable Name(源表名称)、SourcePartition Key(源分区密钥)、SourceRow Key(源行密钥)、ModifiedDateTime(修改日期时间)、以及PublishPending(待公布)指针。OLS核心表中每次发生写入时(除了仅影响异常列表中的参数的写以外),记录在地理同步表中被创建。
尽管在图21中仅示出两个地理同步器2110A和2110B,但配置可包括同步器2110池。当每一地理同步器2110苏醒时,它尝试获取用于同步到复制数据中心2102A或2102B的锁定。任何地理同步器2110可同步到任何复制数据中心2102A或2102B。然而,在一个时间,每个复制数据中心2102A或2102B只有一个地理同步器2110可以是活动的。在尝试获取用于同步到下一复制中心2102A或2102B的锁定之前,每一地理同步器2110将尝试完成针对单个复制数据中心2102A或2102B的同步。此外,所有地理同步器2110可在主数据中心2100内运行。在各个实施例中,主数据中心2100包含锁定配置文件,该锁定配置文件列出所有复制数据中心2102A和2102B、对应的锁定、对应的锁定持续时间、地理同步表中对应的PublishPending字段、以及打开或关闭实际同步的开关。另外,在一些实施例中,集中式同步控制器(未示出)可被用来管理地理同步器2110的运作。
任何数量的新复制数据中心可在任何时间点上线。当新复制数据中心上线时,新复制数据中心的配置条目可被添加到主数据中心2100内的锁定配置文件中。最初,配置条目可将新复制数据中心标记为“关闭”以确保将开始追踪复制数据中心的改变。当前时间可被备注,并且主数据中心2100内直到当前时间的所有数据可被复制到新复制数据中心。配置条目随后可将新复制数据中心标记为“打开”。地理同步过程随后可正常地运作。
灾难恢复
根据此处描述的各实施例,在许可系统内使用多个数据中心(例如,一个主数据中心以及至少两个复制数据中心)允许在一个数据中心发生故障的情况下进行灾难恢复。例如,新数据中心可在任何时间点上线,作为已经发生故障的数据中心的替换数据中心。在先前主数据中心已经发生故障的情况下,复制数据中心也被提升为主数据中心。另外,可以在任何时间点实现计划停机时间。
灾难恢复过程可被用来恢复OLS数据。由于OLS将数据从主数据中心复制到这些复制数据中心,因此在许可系统内已经构建有一定冗余。然而,由于地理同步延迟,每一复制数据中心内的数据在任何时间点将很可能与主数据中心或与其他复制数据中心不是100%等同。因此,一些数据可能在灾难事件中丢失。另外,OLS可包括供应数据,诸如,资格供应数据、OMEX供应数据、以及BPOS供应数据。尽管一些供应数据在灾难事件中可从OLS供应伙伴恢复,但某些量的供应数据可能丢失。因此,恢复此类数据可能是合乎需要的。
计划停机时间
图22是示出用于执行计划停机时间的第一步骤的示意图。第一步骤可包括停止对来自主数据中心2200的调用提供服务,并且使复制数据中心2202和2204等同,如以下进一步描述的。
在一些情况下,OLS内的主数据中心2200可有目的地停工。例如,主数据中心2200可具有待纠正的有故障配置,或可能存在主数据中心2200可用的只能在主数据中心2200停工时实现的主要服务更新。
当主数据中心2200要停工时,主复制数据中心2202作为新的主数据中心上线。主复制数据中心2202可以是位于接近主数据中心2200的复制数据中心,并且在主数据中心2200停工的情况下要被提升到新的主数据中心的第一复制数据中心。
在一些实施例中,向每一数据中心分配一数字,该数字从1开始。例如,可以向主数据中心2200分配数字1,可以向主复制数据中心2202分配数字2,并且可以向其他复制数据中心2204分配数字3。每一数据中心2200、2202和2204可以自知晓其获分配的数字以及最大数字。这一编号系统对于在灾难场景期间作出特定确定而言是有用的。例如,如果主数据中心2200发生故障,则主复制数据中心2204可自动被提升到新的主数据中心,因此其数字为2。如果主复制数据中心2204不可用,则复制数据中心2204随后可被提升到新的主数据中心,因为其数字为3。
如以上讨论的,在执行计划停机时间中,第一步骤可以是停止为来自主数据中心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是用于执行计划停机时间的第二步骤的示意图。相同标号的项参考图22进行了描述。第二步骤可涉及将主复制数据中心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开始,其中经由许可服务向第一计算设备提供第一形式的许可证。可以响应于用户的输入(诸如,用户凭证或产品密钥的输入),向第一计算设备提供第一形式的许可证。在框2604,经由许可服务向第二计算设备提供第二形式的许可证。可以响应于用户的输入(诸如,用户凭证或产品密钥的输入),向第二计算设备提供第二形式的许可证。在各个实施例中,第一形式的许可证和第二形式的许可证包括基于产品密钥的许可证、基于在线用户的许可证、基于设备的许可证、基于令牌的许可证或其任何组合。
在框2606,确定第一形式的许可证的第一状态和第二形式的许可证的第二状态,并且在框2608,使第一状态和第二状态同步以形成经组合的许可证状态。此外,在框2610,基于经组合的许可证状态来调节许可证的条件。在一些实施例中,经组合的许可证状态包括期满状态、续订状态、已转换的许可证状态、或有效状态、或其任何组合。如果经组合的许可证状态是期满状态,则调节许可证的条件可包括取消对许可证的供应。如果经组合的许可证状态是续订状态,则调节许可证的条件可包括取消对许可证的供应。如果经组合的许可证状态是有效状态,则可以不调节许可证的条件。如果经组合的许可证状态是已转换的许可证状态,则可以将许可证转换为不同的许可证。
应该理解图26的过程流程图不旨在指示方法2600的各步骤要以任何特定次序来执行或者在每一种情况下都要包括所有的步骤。此外,取决于具体实现的细节,任何数量的附加步骤可被包括在方法2600中。例如,方法2600可包括基于经组合的许可证状态来检测欺诈活动,其中欺诈活动包括许可证的条件未授权的活动。随后可基于对欺诈活动的检测来调节许可证的条件。
用于许可各设备的应用的方法
图27是用于许可用于各设备的应用的方法2700的过程流程图。该方法在框2702开始,其中将应用的许可证从许可服务提供给用户正使用的多个计算设备。该应用的许可证可包括凭证。可以响应于用户的输入向每一计算设备提供许可证。
在框2704,这些凭证可与这些计算设备中的每一个相关联。例如,每一计算设备的标识可与这些凭证相关联。一旦这些凭证与特定计算设备相关联,就可以允许用户在指定时间段内在该计算设备上使用应用,而无需连接到许可服务。
在框2706,周期性地确定与计算设备中的每一个上的许可证对应的订阅的状态。在各个实施例中,在许可证的条件所指定的可配置时间段确定每一计算设备上的订阅的状态。可以响应于从计算设备接收到的检查订阅状态调用来确定该计算设备上的订阅的状态。检查订阅状态调用可包括该计算设备所执行的订阅状态检查的结果。随后可基于每一计算设备上的订阅的状态来调节许可证的条件。例如,在订阅在特定计算设备上期满的情况下,可以取消对许可证的供应,或者,在订阅在特定计算设备上被续订的情况下,可以重新供应许可证。另外,在许可证在特定特定计算设备上已被转换的情况下,可以将许可证转换为不同的许可证。
应该理解图27的过程流程图不旨在指示方法2700的各步骤要以任何特定次序来执行或者在每一种情况下都要包括所有的步骤。此外,取决于具体实现的细节,任何数量的附加步骤可被包括在方法2700中。
用于为应用提供基于用户的许可证的方法
图28是用于提供对应用的基于用户的许可的方法2800的过程流程图。该方法在框2802开始,其中响应于用户的输入,在许可服务处从计算设备接收用户登录信息。用户登录信息可与许可服务、或关联于许可服务的商务伙伴相关联。
在框2804,向计算设备提供应用的许可证,其中该许可证包括与用户相关联的设备专用信息。设备专用信息可包括与这些计算设备有关的信息,在这些计算设备上为用户供应以根据该许可证来使用应用。另外,设备专用信息可包括在其上允许向用户供应以根据该许可证来使用应用的计算设备的总数。
在框2806,使用设备专用信息的输入在计算设备上激活应用。随后可允许用户在计算设备上使用应用。在一些实施例中,允许用户在指定时间段内在计算设备上使用应用,而无需将计算设备连接到许可服务。
在一些实施例中,许可证的状态可以响应于来自计算设备的输入而被周期性地确定,其中该输入包括计算设备所执行的许可证状态检查的结果。许可证的状态可在许可服务或许可证本身指定的可配置时间段进行检查。随后可基于许可证的状态来调节许可证的条件。
应该理解图28的过程流程图不旨在指示方法2800的各步骤要以任何特定次序来执行或者在每一种情况下都要包括所有的步骤。此外,取决于具体实现的细节,任何数量的附加步骤可被包括在方法2800中。例如,应用的许可证可跨用户所使用的多个计算设备进行漫游。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (10)

1.一种用于使用同步提供者来许可应用(220)的方法,包括:
在许可服务(302)处从客户机同步提供者(304D)接收(2502)对应用(220)的许可证的请求;
经由商务伙伴同步提供者从提供所述应用(220)的商务伙伴接收(2504)与所述许可证有关的信息,其中,所述商务伙伴同步提供者是为商务伙伴展示所述许可服务的应用编程接口(API)而不允许所述商务伙伴直接访问所述许可服务的供应层的抽象层;
向客户机计算设备(308)返回(2506)所述应用(220)的许可证;
从所述客户机同步提供者(304D)接收(2508)与所述许可证的状态有关的信息;以及
根据所述许可证的状态来调节(2510)所述许可证的条件。
2.如权利要求1所述的方法,其特征在于,包括从所述商务伙伴同步提供者接收与所述许可证的状态有关的信息。
3.如权利要求1所述的方法,其特征在于,包括使用可插入同步提供者的系统来许可应用(220),所述可插入同步提供者包括一个或多个客户机同步提供者(304D)和多个商务伙伴同步提供者。
4.如权利要求1所述的方法,其特征在于,包括跨多个客户机计算设备(308)使所述许可证的状态同步,所述多个客户机计算设备(308)与所述客户机同步提供者(304D)相对应。
5.如权利要求1所述的方法,其特征在于,包括在所述许可证的状态包括期满状态的情况下,取消对所述许可证的供应。
6.如权利要求1所述的方法,其特征在于,包括在所述许可证的状态包括续订状态的情况下,重新供应所述许可证。
7.如权利要求1所述的方法,其特征在于,包括在所述许可证的状态是已转换状态的情况下,将所述许可证转换为第二许可证。
8.一种用于使用同步提供者来许可应用(220)的系统,包括:
客户机同步提供者(304D),其被配置成:
经由商务伙伴同步提供者从商务伙伴接收供应请求,其中,所述商务伙伴同步提供者是为商务伙伴展示许可服务的应用编程接口(API)而不允许所述商务伙伴直接访问所述许可服务的供应层的抽象层;
向所述许可服务(302)发送请求对应用(220)的许可证的系统调用;以及
周期性地确定并更新所述许可证的状态;以及
所述许可服务(302),其被配置成:
向客户机计算设备(308)返回对所述应用(220)的许可证;
从所述客户机同步提供者(304D)接收与所述许可证的状态有关的信息;以及
根据所述许可证的状态来调节所述许可证的条件。
9.如权利要求8所述的系统,其特征在于,包括商务伙伴同步提供者和客户机同步提供者(304D)的可插入系统,其中每一客户机同步提供者(304D)被配置成从一个或多个商务伙伴同步提供者接收许可请求。
10.如权利要求8所述的系统,其特征在于,包括被配置成跨多个客户机计算设备(308)使所述许可证的状态同步的系统,所述多个客户机计算设备(308)与所述客户机同步提供者(304D)相对应。
CN201380006979.7A 2012-01-27 2013-01-21 使用同步提供者的应用许可 Active CN104081406B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610559853.8A CN106203001B (zh) 2012-01-27 2013-01-21 使用同步提供者的应用许可

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201610559853.8A Division CN106203001B (zh) 2012-01-27 2013-01-21 使用同步提供者的应用许可

Publications (2)

Publication Number Publication Date
CN104081406A CN104081406A (zh) 2014-10-01
CN104081406B true CN104081406B (zh) 2017-03-22

Family

ID=48871133

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201610559853.8A Active CN106203001B (zh) 2012-01-27 2013-01-21 使用同步提供者的应用许可
CN201380006979.7A Active CN104081406B (zh) 2012-01-27 2013-01-21 使用同步提供者的应用许可

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201610559853.8A Active CN106203001B (zh) 2012-01-27 2013-01-21 使用同步提供者的应用许可

Country Status (18)

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

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 株式会社オプティム アプリケーション管理システム、アプリケーション管理方法及びそのプログラム
EP3393610A1 (de) * 2015-12-21 2018-10-31 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 深圳市元征科技股份有限公司 应用软件的权限管理方法、装置、服务器及存储介质
US11983252B2 (en) 2019-12-11 2024-05-14 The Boeing Company Software license manager security
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
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101193102A (zh) * 2006-11-23 2008-06-04 中兴通讯股份有限公司 一种确认许可证获取的方法
CN101996290A (zh) * 2009-08-13 2011-03-30 株式会社理光 程序引入支持服务器、程序引入支持系统、程序引入支持方法及程序引入支持计算机程序

Family Cites Families (174)

* 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
US5790664A (en) 1996-02-26 1998-08-04 Network Engineering Software, Inc. Automated system for management of licensed software
US20010011253A1 (en) 1998-08-04 2001-08-02 Christopher D. Coley 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
HUP0001487A2 (hu) 1997-03-21 2000-09-28 CANAL + Socíete Anonyme Digitális adatjeleket sugárzó és fogadó rendszer, továbbá kódolt jelet vevő- és dekódoló berendezésekhez sugárzó berendezés, továbbá kódolt kisugárzott jeleket fogadó vevő- és dekódoló berendezés, továbbá csipkártyás vevő és dekódoló berendezés, ...
EP1653463A1 (en) * 1997-05-13 2006-05-03 Kabushiki Kaisha Toshiba License information copying method and apparatus, license information moving method
US7171662B1 (en) 1998-03-18 2007-01-30 Microsoft Corporation System and method for software licensing
US6189146B1 (en) 1998-03-18 2001-02-13 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
KR20020063228A (ko) * 1999-12-15 2002-08-01 큐비스트 파마슈티컬즈 인코포레이티드 항균제로서 리포펩티드
JP4120125B2 (ja) 2000-02-01 2008-07-16 富士ゼロックス株式会社 利用許可証発行装置および方法
DE10155752A1 (de) 2001-11-14 2003-05-22 Siemens Ag Lizenzierungsverfahren
WO2001092993A2 (en) 2000-06-02 2001-12-06 Vigilant Systems, Inc. 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
AU2001286410A1 (en) 2000-07-31 2002-02-13 Morphics Technology, Inc. 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
AU2002219860A1 (en) 2000-11-10 2002-06-11 Full Audio Corporation Digital content distribution and subscription system
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
KR20040007621A (ko) * 2001-05-29 2004-01-24 마쯔시다덴기산교 가부시키가이샤 이용권 관리 장치
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 半導体発光素子の製造方法
DE60216940T2 (de) * 2001-08-01 2007-07-05 Matsushita Electric Industrial Co., Ltd., Kadoma Einrichtung und verfahren zur verwaltung des inhaltsbenutzungsrechts
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
US20030084145A1 (en) 2001-11-01 2003-05-01 Arun Ramachandran Usage based licensing server process to generate metrics
US20030083998A1 (en) 2001-11-01 2003-05-01 Arun Ramachandran Usage based licensing server and data structure
CA2432294A1 (en) 2001-11-20 2003-05-30 Contentguard Holdings, Inc. An extensible rights expression processing system
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
US20040039916A1 (en) 2002-05-10 2004-02-26 David Aldis 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
US20040117440A1 (en) 2002-12-17 2004-06-17 Singer Mitch Fredrick Media network environment
AU2003298320A1 (en) 2002-12-19 2004-07-14 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
TWI290439B (en) 2005-11-09 2007-11-21 Min-Chieh Su Mobile communication terminal verification authorization system and method thereof
EP1686519A4 (en) 2003-11-21 2008-05-28 Matsushita Electric Ind Co Ltd AUTHORIZATION ACQUISITION SYSTEM, SERVER APPARATUS AND TERMINAL APPARATUS
WO2005064484A1 (ja) * 2003-12-25 2005-07-14 Mitsubishi Denki Kabushiki Kaisha デジタルコンテンツ利用権管理システム
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
EP1735943A4 (en) * 2004-04-14 2010-10-06 Digital River Inc LICENSING SYSTEM BASED ON A GEOGRAPHICAL LOCATION
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
US20060106726A1 (en) 2004-11-18 2006-05-18 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US8660961B2 (en) * 2004-11-18 2014-02-25 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
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
WO2006077481A1 (en) 2005-01-19 2006-07-27 Truecontext Corporation Policy-driven mobile forms applications
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
US8732087B2 (en) 2005-07-01 2014-05-20 The Invention Science Fund I, Llc Authorization for media content alteration
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
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
ATE407588T1 (de) * 2006-07-28 2008-09-15 Lowe Alpine Holdings Ltd Anpassungsfähiger hüftgurt und rucksack mit einem solchen hüftgurt
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
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 キヤノン株式会社 ライセンス管理システムおよびその制御方法、画像形成装置およびその制御方法
US20080148363A1 (en) 2006-12-15 2008-06-19 Nbc Universal, Inc. Digital rights management copy sharing system and method
US10120983B2 (en) * 2006-12-15 2018-11-06 Nbcuniversal Media, Llc Digital rights management flexible continued usage system and method
US20080222044A1 (en) 2007-03-05 2008-09-11 Microsoft Corporation Protected content renewal
US8127367B2 (en) 2007-03-20 2012-02-28 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
US20080300967A1 (en) 2007-06-04 2008-12-04 David John Buckley Interactive Marketing, Product/Market Research, Contact Access and Usage Tracking for Wireless
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
US8566960B2 (en) 2007-11-17 2013-10-22 Uniloc Luxembourg S.A. 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
US10748208B2 (en) * 2008-06-17 2020-08-18 Sony Interactive Entertainment Inc. Scheme for processing rental content in an information processing apparatus
US20090326964A1 (en) 2008-06-25 2009-12-31 Microsoft Corporation Extensible agent-based license structure
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 キヤノン株式会社 アプリケーションパッケージング装置、その制御方法、プログラム
WO2010116408A1 (ja) 2009-04-07 2010-10-14 セムコ株式会社 画像彫刻装置
US20100293536A1 (en) 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
US20100293103A1 (en) 2009-05-12 2010-11-18 Microsoft Corporation Interaction model to migrate states and data
US9424399B2 (en) 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments
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
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
JP5454102B2 (ja) * 2009-11-25 2014-03-26 株式会社リコー ライセンス更新管理装置、ライセンス管理システム、ライセンス更新方法、およびプログラム
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
CN105760716B (zh) 2010-05-19 2018-12-14 谷歌有限责任公司 电子证书管理
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
BR112013006560A2 (pt) 2010-09-21 2016-06-07 Gen Instrument Corp sistema de fornecimento de licença de recurso de grande volume seguro
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
US9152771B2 (en) 2011-05-31 2015-10-06 Qualcomm Incorporated Apparatus and method of managing a licensable item
US9524378B2 (en) 2011-05-31 2016-12-20 Qualcomm Incorporated Apparatus and method of in-application licensing
US8800058B2 (en) 2011-07-27 2014-08-05 Microsoft Corporation Licensing verification for application use
US20130144633A1 (en) 2011-12-01 2013-06-06 Microsoft Corporation Enforcement and assignment of usage rights
US20130144755A1 (en) 2011-12-01 2013-06-06 Microsoft Corporation Application licensing authentication
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101193102A (zh) * 2006-11-23 2008-06-04 中兴通讯股份有限公司 一种确认许可证获取的方法
CN101996290A (zh) * 2009-08-13 2011-03-30 株式会社理光 程序引入支持服务器、程序引入支持系统、程序引入支持方法及程序引入支持计算机程序

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104081406B (zh) 使用同步提供者的应用许可
US7516218B2 (en) Network-based information management
Paradkar Mastering non-functional requirements
US20120005049A1 (en) Alpha ii license management system
CN104113561B (zh) 基于软营模式的信息发布管理系统及方法
Harding et al. Integration: Phase E
Sarferaz ERP Product Qualities: Customer View

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150721

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150721

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant