CN1609802A - 用于管理许可的编程接口 - Google Patents

用于管理许可的编程接口 Download PDF

Info

Publication number
CN1609802A
CN1609802A CNA2004100882944A CN200410088294A CN1609802A CN 1609802 A CN1609802 A CN 1609802A CN A2004100882944 A CNA2004100882944 A CN A2004100882944A CN 200410088294 A CN200410088294 A CN 200410088294A CN 1609802 A CN1609802 A CN 1609802A
Authority
CN
China
Prior art keywords
computer program
licensing
computer
call
license
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.)
Granted
Application number
CNA2004100882944A
Other languages
English (en)
Other versions
CN100468325C (zh
Inventor
C·古恩亚可迪
张宁
徐文斌
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN1609802A publication Critical patent/CN1609802A/zh
Application granted granted Critical
Publication of CN100468325C publication Critical patent/CN100468325C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01KANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
    • A01K87/00Fishing rods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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/106Enforcing content protection by specific content processing
    • G06F21/1063Personalisation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01QANTENNAS, i.e. RADIO AERIALS
    • H01Q1/00Details of, or arrangements associated with, antennas
    • H01Q1/12Supports; Mounting means
    • H01Q1/22Supports; Mounting means by structural association with other equipment or articles
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01QANTENNAS, i.e. RADIO AERIALS
    • H01Q1/00Details of, or arrangements associated with, antennas
    • H01Q1/27Adaptation for use in or on movable bodies
    • H01Q1/32Adaptation for use in or on road or rail vehicles
    • H01Q1/325Adaptation for use in or on road or rail vehicles characterised by the location of the antenna on the vehicle
    • H01Q1/3275Adaptation for use in or on road or rail vehicles characterised by the location of the antenna on the vehicle mounted on a horizontal surface of the vehicle, e.g. on roof, hood, trunk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental Sciences (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Technology Law (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Marine Sciences & Fisheries (AREA)
  • Animal Husbandry (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Remote Sensing (AREA)
  • Marketing (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

一种软件许可“应用编程接口”(API),它允许软件产品使用公共服务的该许可证管理功能。许可证规定软件产品中的权利。该软件产品调用该API上的消费方法,以给以消费权利。如果该权利存在,则该服务将该权利捆绑到在其中发现该权利的该许可证。通过根据是否发现该权利的有效实例来准予或拒绝对一些或所有特点的访问,该软件产品实施该许可证的各种条款。任意数据可以与权利关联。该API包括一种方法,用于从以前已由该消费方法来捆绑的权利中检索数据。

Description

用于管理许可的编程接口
发明领域
本发明一般涉及计算机软件领域,更具体地说,涉及一种支持实施电子许可证的编程接口。
发明背景
传统上,为商业目的而生产的软件在许可证之下一直可用,该许可证定义可容许的该软件的使用条款。当首先开始实行软件许可时,该许可证通常采取定义过该用户在该软件方面的权利的法律文档的形式。这种文档依靠该用于实施的法律***。后来,变得需要用电子学方法来实施许可证——即,需要计算机程序包含按与该许可证相反的方式来主动地阻碍或防止该软件的运用的代码。
规定电子许可证实施的大多数软件提供其自己的基础结构,来管理该软件的许可和这些许可证的运用。这样,典型的商业软件产品不仅可能包括用于执行该产品的核心功能的代码,而且也可能随之携带用于获得、评估、保护和管理关于该软件的许可证的那个代码。对于每位软件商而言,开发这种基础结构并将它并入其软件常常是重复劳力、浪费精力。所以,需要提供一种执行与软件许可有关的基本功能的***,其中,该***可以由众多不同的软件应用按统一、定义的方法来加以使用。
鉴于前述内容,需要一种克服原先技术的这些缺点的机制。
发明概述
本发明提供了一种软件许可“应用编程接口”(API),该软件许可“应用编程接口”提供某些许可功能,供软件产品使用。许可证服务执行涉及该许可证运用的功能,并通过该API来向软件产品揭示这些功能。该服务执行各种功能,例如:获得许可证;存储和管理许可证;保护许可证不受到篡改;评估许可证的有效性;以及评估许可证是否正确地与机器其在该机器和/或上面使用的软件产品结合。该软件能够通过调用该API的各种方法来使用这个功能性。
在该API的典型运用中,软件产品调用“开放的”API方法,以获得被该许可证服务用来识别该应用程序的唯一句柄。然后,该软件产品调用“消费权利”API方法。在此上下文中,“消费”意味着规定权利的运用。由该软件产品的句柄并以待消费的该权利的名义来用参数表示对该“消费权利”方法的调用。然后,该许可证服务尝试定位包含该指定权利的一个或多个有效的、被正确结合的许可证。如果不存在这种许可证,那么,向该软件产品通知失败。如果存在这类许可证,那么,将该权利与这些许可证中的一个许可证结合,并且向该调用软件产品通知该结合。在这种情况下,该软件产品知道该权利存在,并且可以执行与这项权利关联的无论什么功能。
在较佳实施例中,该许可证服务不定义该软件在该权利之下能够或不能做什么,也不对该软件的运用实施实质性的约束。相反,该许可证服务按软件产品可以通过调用该API来确定权利存在与否的这样一种方法来管理这些许可证,以便该软件可以相应地运作。例如,权利可以被称作“运行”,从而指出:该用户有权运行该软件产品。该软件产品可以使用该API来确定:是否有有效的(和被正确结合的、以及未到期的)权利来运行该软件。但是,如果该API调用返回——指出没有权利来运行该软件,则该由该软件根据这项权利的不存在来停止操作或采取某种其他的行动。
权利可能与信息关联,在对该“消费权利”方法进行成功调用之后,它才变得可用。例如,给定的软件产品可能具有关于“何时可容许进行编辑、打印、保存等”的单独的规则,并且,这些规则可以被存储在包含该权利的那个许可证中。该API提供“获得信息”方法,该方法允许从该许可证中检索该信息。
以下描述本发明的其他特点。
附图简述
当连同附图来阅读时,可以更好地理解前面的概述、以及较佳实施例的以下详述。出于展示本发明的目的,这些附图表现了本发明的示范构造;但是,本发明不局限于所揭示的这些特殊的方法和工具。在这些附图中:
图1是可以在其中执行本发明的各个方面的范例计算环境的框图;
图2是一种体系结构的框图,在该体系结构中,***执行许可功能,并揭示供软件产品使用的API;
图3是一种方法的流程图,软件产品通过该方法来使用许可API;
图4是一种方法的流程图,软件产品通过该方法来消费权利;以及,
图5是一种方法的流程图,软件产品通过该方法来检索涉及被消费的权利的信息。
发明详述
纵览
商业软件的运用通常受到许可证的控制,并且,用可以由该软件本身实施的电子形式来具体表现该许可证已变得日益普通。创建电子许可***的过程中的一个应答是:需要基础结构来管理这些许可证的运用。为每个软件产品复制该基础结构既麻烦、又浪费。本发明提供API,该API允许不同的软件产品使用执行各种许可功能的共同的基础结构。
示范计算布置
图1表现了可以在其中执行本发明的各个方面的示范计算环境。计算***环境100只是合适的计算环境的一个例子,它并不意在对本发明的使用或功能性的范围提出任何限制。也不应该将计算环境100解释为具有涉及示范操作环境100中所展示的任何一个部件或部件组合的任何从属性或要求。
本发明可用于众多其他的通用或专用计算***环境或配置。可能适用于本发明的众所周知的计算***、环境和/或配置的例子包括(但不局限于)个人计算机、服务器计算机、手持设备或便携式设备、多处理器***、基于微处理器的***、机顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、嵌入式***、包括以上任何***或设备的分布式计算环境,以及类似物。
可以在正由计算机执行的计算机可执行指令(例如,程序模块)的一般上下文中描述本发明。通常,程序模块包括执行特殊任务或实施特殊的抽象数据类型的例行程序、程序、对象、部件、数据结构等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络或其他数据传输介质而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块和其他数据可以位于包括记忆存储设备的本地计算机存储介质和远程计算机存储介质中。
参照图1,用于执行本发明的示范***包括采取计算机110的形式的通用计算设备。计算机110的部件可能包括(但不局限于)处理单元120、***存储器130和***总线121,***总线121将包括该***存储器的各种***部件耦合到处理单元120。处理单元120可能表示多个逻辑处理单元(例如,多线程处理器上所支持的那些逻辑处理单元)。***总线121可以是几种类型的总线结构(包括存储总线或存储控制器、***总线和使用各种总线构造中的任何总线构造的局域总线)中的任何总线结构。举例来讲(不作限制),这类结构包括“工业标准结构”(ISA)总线、“微通道结构”(MCA)总线、“增强型ISA”(EISA)总线、“视频电子标准协会”(VESA)局域总线和“***部件互连”(PCI)总线(也被称作“夹层(Mezzanine)总线”)。***总线121也可能作为这些通信设备之中的点到点连接、交换结构或类似物来加以执行。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110存取的任何可用介质,它包括易失和非易失性介质、可移动和不可移动的介质。举例来讲(不作限制),计算机可读介质可能包括计算机存储介质和通信介质。计算机存储介质包括易失和非易失性的可移动和不可移动的介质,该介质用关于信息(例如,计算机可读指令、数据结构、程序模块或其他数据)存储的任何方法或技术来加以执行。计算机存储介质包括(但不局限于)RAM、ROM、EEPROM、快闪存储器或其他存储技术、CDROM、数字通用光盘(DVD)或其他光盘存储器、盒式磁带、磁带、磁盘存储器或其他磁性存储设备、或可以被用来存储所需信息并可以由计算机110来进行存取的其他任何介质。通信介质通常具体表现计算机可读指令、数据结构、程序模块或调制数据信号(例如,载波或其他传送机制)中的其他数据,它包括任何信息传递介质。术语“调制数据信号”意味着一种信号,其一个或多个特征按为该信号中的信息编码的这样一种方式来加以设置或更改。举例来讲(不作限制),通信介质包括有线介质(例如,有线网络或直线连接)和无线介质(例如,声音、RF、红外线和其他无线介质)。以上任何内容的组合也应该被包括在计算机可读介质的范围以内。
***存储器130包括采取易失和/或非易失性存储器(例如,只读存储器(ROM)131和随机存取存储器(RAM)132)的形式的计算机存储介质。基本输入/输出***133(BIOS)通常被存储在ROM 131中,该基本输入/输出***包含有助于在计算机110内的各个元件之间传送信息(例如,在启动期间)的这些基本例行程序。RAM 132通常包含可立即由处理单元120存取并且/或者目前正由处理单元120进行操作的数据和/或程序模块。举例来讲(不作限制),图1展示了操作***134、应用程序135、其他程序模块136和程序数据137。
计算机110也可能包括其他可移动/不可移动的易失/非易失性计算机存储介质。只举例来讲,图1展示了从不可移动的非易失性磁性介质读取或对其写入的硬盘驱动器140、从可移动的非易失性磁盘152读取或对其写入的磁盘驱动器151,以及从可移动的非易失性光盘156(例如,CD ROM或其他光学介质)读取或对其写入的光盘驱动器155。可以被用于该示范操作环境中的其他可移动/不可移动的易失/非易失性计算机存储介质包括(但不局限于)卡型盒式磁带机、快闪存储卡、数字通用光盘、数字录像带、固态RAM、固态ROM和类似的存储介质。硬盘驱动器141通常通过不可移动的存储接口(例如,接口140)而被连接到***总线121,磁盘驱动器151和光盘驱动器155通常由可移动的存储接口(例如,接口150)连接到***总线121。
以上所讨论的和图1中所展示的这些驱动器及其关联的计算机存储介质为计算机110提供计算机可读指令、数据结构、程序模块和其他数据的存储。在图1中,例如,硬盘驱动器141被展示为存储操作***144、应用程序145、其他程序模块146和程序数据147。注意,这些部件可以等同于或不同于操作***134、应用程序135、其他程序模块136和程序数据137。这里为操作***144、应用程序145、其他程序模块146和程序数据147提供不同的号码,以展示:它们至少是不同的副本。用户可以通过输入设备(例如,键盘162和通常被称作“鼠标”、“跟踪球”或“触摸垫”的指点设备161),来将命令和信息输入计算机20。其他输入设备(未示出)可能包括话筒、操纵杆、游戏垫、圆盘式***天线、扫描仪或类似的输入设备。这些和其他的输入设备经常通过被耦合到该***总线的用户输入接口160而被连接到处理单元120,但也可能由其他接口和总线结构(例如,并行端口、游戏端口或通用串行总线(USB))来加以连接。监视器191或其他类型的显示设备也经由接口(例如,视频接口190)而被连接到***总线121。除该监视器以外,计算机也可能包括其他***输出设备(例如,扬声器197和打印机196),这些***输出设备可以通过输出***接口195来加以连接。
计算机110可以在使用与一台或多台远程计算机(例如,远程计算机180)的逻辑连接的联网环境中进行操作。远程计算机180可能是个人计算机、服务器、路由器、网络PC、对等设备或其他共同的网络节点,它通常包括以上相对于计算机110而描述的许多或所有这些元件,尽管图1中只展示了记忆存储设备181。图1中所描绘的这些逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可能包括其他网络。这类联网环境在办公室、企业范围的计算机网络、内联网和因特网中很普遍。
当被用于LAN联网环境中时,计算机110通过网络接口或适配器170而被连接到LAN 171。当被用于WAN联网环境中时,计算机110通常包括调制解调器172或用于在WAN 173(例如,因特网)上建立通信的其他装置。调制解调器172(可能是内置的,也可能是外置的)可以经由用户输入接口160或其他合适的机制而被连接到***总线121。在联网环境中,相对于计算机110或其各个部分而描绘的程序模块可以被存储在该远程记忆存储设备中。举例来讲(不作限制),图1将远程应用程序185展示为驻留在存储设备181上。将会理解:所示的这些网络连接起示范的作用,可以使用在这些计算机之间建立通信链路的其他装置。
软件许可服务
图2表现了提供软件许可服务202的范例***。软件许可服务202在(图1中所示的)计算机110内进行操作。在一个例子中,软件许可服务202是在计算机110上执行的操作***的一部分。软件许可服务维持了一个其中存储关于软件的许可证文件的许可证存储器204。例如,许可证文件可能是“可扩展权利标记语言”(XrML)文件,这些文件为软件规定权利,并且也可能规定关于那些权利的运用的各种类型的条件。软件204也维持一委托存储器206。委托存储器206按防篡改的方式来存储不可鉴定的动态数据;委托存储器206存储被用于该许可证证实过程中的数据。例如,某些许可证可能具有截止日期,并且,为了防止通过时钟反转来回避该截止数据,可以将该当前时间(和经过时间)定期存储在委托存储器206中,以确保该时钟始终在前进。
软件许可服务202管理许可证存储器204和委托存储器206,并且也执行涉及该软件许可的各种功能。例如,软件许可服务202可能包含分析许可证文件的模块、实施许可证与特定机器捆绑并且/或者与软件产品的特定实例捆绑的模块、以及安全定时器/计数器(它按以上所描述的方式来使用委托存储器206)。
软件许可服务202揭示了应用编程接口(API)208,应用编程接口208允许应用软件(例如,应用程序135)使用软件许可服务202。应用程序135可以通过对API 208的这些方法实行本地过程调用(LPC),来调用软件许可服务208的这些特点。以下描述可以由软件许可服务202来揭示的范例API方法集。
参照图3来描述应用程序使用API 208的方式。最初,该应用程序实行API调用(302)。然后,服务202处理该API调用(304),并将该API调用的结果返回到应用程序306。例如,API调用可能请求使用(“消费”)许可证中所准予的权利,或者,可能请求从许可证中检索信息。然后,该应用程序接收该API调用的结果,并根据那个结果来确定该应用程序的行为应该是什么(308)。换言之,在较佳实施例中,软件许可服务202不直接实施许可证,而是提供基础结构,可以通过该基础结构来管理和使用许可证。例如,如果应用程序实行API调用来消费权利,并且,服务202确定没有准予这项权利的有效的许可证,那么,在较佳实施例中,服务202不阻止该应用程序运行,而是通知该应用程序:该权利不可用。这样,该应用程序可以使用其自己的机制来确定:响应于该权利的不可用,要做些什么。该API的这个方面使软件商能够灵活地决定:应该如何使用服务202所提供的该许可基础结构。在另一项实施中,应用程序可以功能性地被捆绑到许可服务。
范例软件许可API
以下是可以由软件许可服务来揭示的范例API方法集:
SLOpen
该SLOpen功能打开必须被用于所有随后的SL API调用的SL客户机上下文句柄。(贯穿这些范例API说明,“SL”将指的是该软件许可服务。这样,该SL客户机上下文句柄是与该软件许可服务进行通信的客户机所使用的那个句柄。)
HRESULT
SLOpen(
  CONST GUID*    pguidApp,
  HSLC* phSLC
  );
参数
pguidApp
[入]唯一地识别应用程序的、指向应用程序GUID的指针。如果这个自变量是NULL,则返回E_INVALIDARG错误。
PhSLC
[出]如果失败,则SL客户机上下文句柄或INVALID_HANDLE_VALUE。
备注
使用该SLClose功能来关闭由SLOpen返回的上下文句柄。
应用程序GUID:应用程序的唯一ID。关于该MICROSOFT OFFICE应用套件的WINDOWS版本,WinWord具有与Excel的“应用程序GUID”不同的“应用程序GUID”。关于Windows,Windows本身是应用程序,尽管它是许多程序的合成物。
在Office的情况中,用户可以将Office Suite和WinWord独立产品安装在该机器上。从SL的观点来看,这两个产品中的该WinWord具有相同的“应用程序GUID”。WinWord的“应用程序GUID”与两个“产品GUID”关联。换言之,WinWord可以使用Office Suite的产品许可证或WinWord的产品许可证。
当SLOpen成功时:
已建立RPC(远程过程调用)捆绑。
在SL服务上创建上下文存储器。该上下文被用来保持关于该客户机的这个调用者的状态信息。
该SLC句柄象是一个文件句柄。过程可以打开多个SL上下文句柄,但句柄在该调用者过程内有效。
返回
成功或失败
SLClose
该SLClose功能关闭被打开的SL客户机上下文句柄。自动释放该上下文中的任何信息。
HRESULT
SLClose(
  HSLC hSLC
);
参数
hSLC
[入]到当前的SL客户机上下文句柄的句柄
备注
当完成SLClose时,释放该RPC捆绑,并销毁该上下文。
返回
成功或失败。
SLInstall
该SLInstall功能安装应用程序的许可证,并登记应用程序的信息。
HRESULT SLInstall(
  HSLC hSLC,
CONST SL_PRODKEY* pAppPrdKey,
DWORD          dwNumOfApps,
CONST GUID*       pguidApps,
DWORD          dwNumOfLicFiles,
PCWSTR         ppszLicFiles[],
BOOL           bVerify
  );
  参数
  hSLC
[入]到当前的SL客户机上下文句柄的句柄
pAppPrdKey
[入]应用程序产品密钥结构。该产品密钥可以是微软产品密钥格式或“应用程序”的产品密钥格式。
typedef struct_tagSL_PRODKEY
{
  DWORD cbSize;              //SL_PRODKEY结构的尺寸
  DWORD dw Version;       //SL_PRODKEY结构的版本
  WCHAR szProdKey[MAX_PRODKEYSTR_SIZE+1];
  SL_CUSTOM_PRODKEY_INFO CustomPrdKeyInfo;//顾客产品密钥信息
}SL_PRODKEY;
该eProdKeyType可以是以下的值之一:
SL_PRODKEY_CUSTOM
SL_PRODKEY_MS2002
SL_PRODKEY_MS2003
如果该“产品密钥”类型是“非MS产品密钥”(即,eProdKeyType==SL_PRODKEY_CUSTOM),则该调用者必须填充其顾客产品密钥信息。如果该产品使用“MS产品密钥”,那么,可以忽略CustomPrdKeyInfo。
typedef struct_tagSL_CUSTOM_PRODKEY_INFO
  DWORD dwSKUID;             //关于特定SKU的唯一ID,例如MS PID中的组ID.
  DWORD dwSerialNumber;   //唯一序列号,例如通道+MS PID中的顺序号.
}SL_CUSTOM_PRODKEY_INFO;
SL_PRODKEY的当前版本号是1。该调用者可以使用dwVersion领域中的SL_CURRENT_PRODKEY_VERSION。
dwNumOfApps
[入]pguidApps中的应用程序GUID的号码。
pguidApps
[入]GUID的应用程序清单。该应用程序GUID表示正为其安装该许可证的那个应用程序。例如,通过规定pguidApps中的每个应用程序GUID,“Office设置”程序可以调用这个功能来安装关于Word、Excel的许可证。pguidApp在这里不会是NULL。
dwNumOfApps
[入]许可证文件的数量。
ppszLicFile
[入]串数组中的文件名。
返回
成功或失败
SLUninstall
该SLUninstall功能从应用程序中卸载产品的许可证。
HRESULT SLUninstall(
  HSLC      hSLC,
  CONST SL_PRODKEY*    pAppPrdKey
);
参数
hSLC
[入]到当前的SL客户机上下文句柄的句柄
pAppPrdKey
[入]见以上关于SLInstall的定义。
备注
应用程序可以具有一个以上的产品许可证。例如,当该用户卸载Office套件时,应该除去Office Suite许可证与WinWord之间的关联,但不应该除去来自WinWord独立产品的该许可证。
当SLUninstall成功时:
除去与这个“产品密钥”关联的信息。(要了解该关联的信息,见以上的SLInstall)
除去与该“应用程序GUID”关联的这些产品密钥。
较佳地仍然保持与该产品GUID关联的这些许可证文件。
返回
成功或失败
SLConsumeRight
该SLConsumeRight功能让应用程序检查或实施被存储在本地的许可证上的这些权利。通过调用这个功能,可将许可证与pszRightName中所述的该权利相结合。如果这项权利无法由该当前调用者来实施,那么,该应用程序失败。如果该功能成功,则可以执行与该权利关联的那个动作(比如减少使用计数、减少时间配额或什么也不做)
HRESULT SLConsumeRight(
  HSLC     hSLC,
  PCWSTR       pszRightName,
  SL_ASYNC_CONTEXT*     pAsyncContext
};
参数
hSLC
[入]到当前的SL客户机上下文句柄的句柄
pszRightName
[入]需要被评估的该权利名称。在当前的设计中,该权利名称由应用程序来定义。SL打开该许可证,并根据该权利名称来评估该条件。
pAsyncContext
[入/出]如果pAsyncContext是NULL,则这个功能按同步模式来运作,否则,该功能按异步模式来运作。SL_ASYNC_CONTEXT对于调用者而言是不透明的,并由SLC来管理。
备注
与(SLOpen中所规定的)该应用程序GUID关联的所有许可证将在概念上被组合在一个逻辑许可证中。
如果有该权利的多个可消费的授予,那么,将首先消费具有较高优先级的那个许可证。
返回
成功或失败
SLInitializeAsyncContext
该SLInitializeAsyncContext功能对关于SLC功能的该异步上下文进行初始化,以实行异步调用。
HRESULT SLInitializeAsyncContext(
  SL_ASYNC_CONTEXT*pAsyncContext,//异步上下文
  HANDLE hEvent,              //事件句柄
  PVOID pvReserved             //保留的,NULL
};
参数
pAsyncContext
[入/出]指向包含异步调用信息的异步上下文的指针。
hEvent
[入]被用于同步的该事件对象。
pvReserved
[入]为扩展而保留。
返回
成功或失败。
SLCancelAsyncCall
使用该SLCancelAsyncCall功能来取消异步调用。
HRESULT SLCancelAsyncCall(
  SL_ASYNC_CONTEXT*     pAsyncContext,//异步上下文
  BOOL             fAbortCall      //立即取消
};
参数
pAsyncContext
[入]关于SL异步调用的异步上下文。
fAbortCall
[入]如果真(TRUE),则立即取消该调用。如果假(FALSE),则等候该SL完成该调用。
备注
该调用者有两种方法来请求取消异步调用——中断的和非中断的。在中断的取消中(fAbortCall是TRUE),该SLCancelAsyncCall功能将取消通知发送到该SLC,并且,立即取消该异步调用,而无须等候来自该SLC的响应。在非中断的取消中(fAbortCall是FALSE),该SLCancelAsyncCall功能向SLC通知该取消,并且,该调用者等候SLC完成该调用。
返回
成功或失败。
SLCompleteAsyncCall
该SLCompleteAsyncCall功能被用来完成SLC异步调用。
HRESULT SLCompleteAsyncCall(
  SL_ASYNC_CONTEXT*     pAsyncContext,//异步上下文
  HRESULT*     phrAsyncCall    //该被提交的异步调用的错误代码
};
参数
pAsyncContext
[入]用于SL异步调用的异步上下文。
phrAsyncCall
[出]该被提交的异步调用的出错代码。
备注
如果该调用者在答复到达之前调用这个功能,则该调用返回E_SLC_ASYNC_CALL_PENDING。该缓冲器必须是有效的,并且,它必须足够大,以接收该返回值。如果该调用没有返回E_SLC_ASYNC_CALL_PENDING,则这个SLCompleteAsyncCall启用对于该异步调用而言是决定性的。在这个功能调用之后,不管成功还是失败,都释放为这个异步调用而分配的所有资源。(对该SLCompleteAsyncCall或SLCancelAsyncCall功能的随后的调用具有未定义的结果,直到启动该SL_ASYNC_CONTEXT结构上的新的调用为止)。
返回
值                         含义
S_OK                       已成功地完成该调用。
E_SLC_INVALID_ASYNC_CONTEXT该异步调用上下文无效。
E_SLC_ASYNC_CALL_PENDING   该调用还没有完成。
E_SLC_CALL_CANCELLED       该调用已被取消。
SLGetInformation
该SLGetLicenseInfo功能被用来获得各种信息。
HRESULT SLGetInfomation(
  HSLC     hSLC,//SL客户机上下文句柄
  DWORD    dwCategory,   //要检索的信息种类
  PCWSTR   pszKeyName,   //该密钥的名称
  DWORD*   pdwType,   //值的类型
  SIZE_T*     pcbValue,     //值的大小
  PBYTE*    ppbValue         //指向值的缓冲器的指针
);
参数
hSLC
[入]到当前的SL客户机上下文句柄的句柄
dwCategory
[入]该信息种类。
种类                      含义
SL_CAT_RIGHTDATA          从结合的权利中获得该信息。在获得这些权利
                          数据之前,必须成功地消费该许可证。
SL_CAT_DYNAMICPROPERTY    获得不在该许可证中的、但在该运行时间进行
                          计算的该信息。例如,
                          RemainingGracePeriodDays。必须在调用之前
                          消费该权利。
名称 含义
RemainingGracePeriodDays:DWORD 在框外许可证中定义该宽限期。一旦安装该应用程序,该时间就倒计时。在应用程序已消费许可证之后,它们可以检验剩余的宽限期。
ActivationStatus:DWORD 在应用程序消费过许可证之后,它可以获得被消费的许可证类型。该返回值可以是:SL_LIC_OOB该被消费的许可证是框外许可证。SL_LIC_ACQUIRED
该被消费的许可证是获取的许可证。SL_LIC_NONE无许可证可用。
SL_CAT_SERVICEINFO    获得不依靠许可证的信息。该调用者可以在不消
                      费许可证的条件下获得这种类别的信息。
  名称   含义
  SLVersion:DWORD   SL的版本.1.2.3.4格式.
  HWID:BINARY   当前的HWID
SL_CAT_WINDOWSINFO    获得是Windows许可证中的结合的权利属性的信
                      息。这是用于“部件化”。“Windows许可证”已
                      由SL服务来消费,并且,SL服务保持这些结合的
                      权利属性。
SL_CAT_ENUMLICINFO    当SLEnumLicenseis被调用并获得成功时,该调
                      用者可以通过使用这个类别来查询被列举的许可
                      证的信息。
pszKeyName
[入]该密钥的名称。例如,BuildNumber
pdwType
[出]数据类型
值                    含义
SL_DATATYPE_SZ        Unicode(统一的字符编码标准)字符串
SL_DATATYPE_DWORD DWORD
SL_DATATYPE_BINARY  二进制
pcbValue
[出]被分配的缓冲器的尺寸(用字节表示)。
ppbValue
[出]如果成功的话,则在由SLC分配的缓冲器中返回该数据。该调用者必须调用SLFreeMemory以释放该存储器。
返回
成功或失败
SLAcquireLicense
该SLAcquireLicense功能被用来为该用户获取在线许可证。SLC列举与该“应用程序”关联的这些产品密钥,并检取具有最高产品优先级的那个产品密钥(见SLInstall,登记信息)。然后,SL从框外许可证中获得该清算中心URL,并与清算中心连接,以获得许可证。
SLAcquireLicense会是一个冗长的过程。通过规定pAsyncContext,应用程序可以按异步模式来调用这个功能(NULL意味着同步模式)。
HRESULT SLAcquireLicense(
  HSLC     hSLC,    //SL客户机上下文句柄
  PCWSTR   pszProdKeyHash,   //产品密钥的散列值
  SL_ASYNC_CONTEXT*     pAsyncContext//出版许可证的字符串
);
参数
hSLC
[入]到当前的SL客户机上下文句柄的句柄
pszProdKeyHash
[入]产品密钥散列值的字符串。当SLInstall由该许可服务来调用和维持时,创建该产品密钥散列值。
pszPublishingLicense
[入]出版许可证的字符串。
pAsyncContext
[入]用于SL异步调用的异步上下文。
备注
这个被获取的许可证将被相应地存储在许可证存储器中,并且,该许可证信息也将被登记。(见SLInstall)
应用程序可能需要将更多的客户机信息加入许可证。该应用程序可以在该调用中将该信息应用于pbAppData,并且,该数据将被发送到清算中心。
当这个功能成功时:
它曾将必要的捆绑信息发送到该规定的许可证服务器。
它从许可证服务器接收该许可证。
它曾将该许可证存储在许可证存储器中。关于如何存储该许可证文件,见以上的SLInstall说明。
返回
成功或失败。
SLGenerateTextChallenge
生成将要以频带外方式(电话、电子邮件、文件共享等)而被发送给许可证发行者的安装应答文本。
HRESULT SLGenerateTextChallenge(
HSLC    hSLC,               //SL客户机上下文句柄
PCWSTR     pszProdKeyHash,    //产品密钥散列值的字符串
BOOL    fSingleSession,  //只是单会话?
PWSTR   *ppszChallenge  //用于保持应答文本的、指向缓冲器的指针
);
参数
hSLC
[入]到当前的SL客户机上下文句柄的句柄
pszProdKeyHash
[入]产品密钥散列值的字符串。当SLInstall由该许可服务来调用和维持时,创建该产品密钥散列值。
bSingleSession
[入]规定:来自该许可证发行的那个对应的文本响应是否将只在这个SLC对话句柄的使用期限内有效。
ppszChallenge
[出]如果成功的话,则在由SLC分配的缓冲器中返回该文本应答。该调用者需要调用SLFreeMemory来释放该分配的存储器。
返回
成功或失败。
SLDepositTextResponse
在该许可***中存放对安装应答文本的那个响应。被用来激活具有有条件的存取码的许可证。只有当具有已为许可证发行的未完成的文本应答时,才有效。如果该原始许可证曾规定该应答只对单会话而言有效,则在关闭该SLC句柄或对该响应的存放将要失败之前,必须利用该响应来调用这个API。
HRESULT SLDepositTextResponse(
  HSLC     hSLC,    //SL客户机上下文句柄
  PCWSTR   pszProdKeyHash,
  PWSTR    pszResponse    //包含响应文本的缓冲器
);
参数
hSLC
[入]到当前的SL客户机上下文句柄的句柄
pszProdKeyHash
该产品密钥散列值的字符串
pszChallenge
[入]响应文本
返回
成功或失败。
SLEnumLicense
该SLEnumLicense功能被用来列举被安装的许可证,并从该许可证中获得信息。
HRESULT SLEnumLicense(
  HSLC     hSLC,    //SL客户机上下文句柄
  CONST GUID*    pguidApp,//应用程序GUID
  DWORD     dwIndex     //索引号
);
参数
hSLC
[入]到当前的SL客户机上下文句柄的句柄
pguidApp
[入]见SLInstall。如果pguidApp不是NULL,那么,列举与这个GUID关联的许可证。如果该GUID是NULL,那么,列举所有的许可证。
dwIndex
[入]将要被检索的该许可证的该索引号。对于对该SLEnumLicense功能的第一调用而言,这个值应该是零,然后,对于随后的调用而言,这个值应该递增。
该功能可以按任何顺序来返回许可证。
返回
E_SL_NO_MORE_DATA——所规定的索引处无许可证。
备注
如果SLEnumLicenses曾获得成功,则所选择的许可证信息可以通过调用SLGetInformation来加以访问,并且,该种类是SL_CAT_ENUMLICINFO
示例:
DWORD i=0;

PBYTE pbProductPriority=NULL;

PBYTE pbRemainingGracePeriodDays=NULL;

for(i=0;;i++)

{

  EXIT_ON_ERROR(SLEnumLicense(hSLC,NULL,dwIndex));
				
				<dp n="d23"/>
it(E_SL_NO_MORE_DATA==SCODE(hr))

{

  hr=S_OK;

   break;

}

EXIT_ON_ERROR(SLGetInformation(hSLC,SL_CAT_ENUMLIC,
“ProductPriority”&amp;dwType,&amp;cbProductPriority,&amp;pbProductPriority));

EXIT_ON_ERROR(SLGetInformation(hSLC,SL_CAT_ENUMLIC,
“RemainingGracePeriodDays”,&amp;dwType,&amp;cbRemainingGracePeriodDays,
&amp;pbRemainingGracePeriodDays));

Exit:

SLFreeMemory(pbProductPriority);

SLFreeMemory(pbRemainingGracePeriodDays);

  }
SLFreeMemory
该SLFreeMemory功能被用来释放由SLC分配的存储器。
VOID SLFreeMemory(
  PVOID     pvMemblock,  //指向存储器的指针
);
参数
pvMemBlock
[入]将要被释放的以前所分配的存储块
返回
使用软件许可API来控制软件的使用
出于与许可有关的各种目的(包括:消费许可证中的权利,以及从该许可证中检索数据),软件产品使用本发明的该API。如上所述,该API允许该软件确定该许可证中存在什么权利,但是,较佳的是,该由该软件来确定如何利用该信息——例如,准予或拒绝对特点的访问、完全停止操作等。图4和图5的以下说明表现了软件产品如何使用本发明的该API。
图4表现了范例过程,应用程序通过该范例过程来“消费”权利。该应用程序调用该SLConsumeRight方法(402)。如上所述,对该SLConsumeRight功能的这些自变量包括由该许可服务分配的客户机句柄、以及该权利的名称(由该权利所属的软件的卖主来分配)。该许可服务(图2中所示的服务202)接收该调用(404)。然后,该服务定位包含该权利的许可证,并检验该许可证的绑定和有效性。如上所述,该许可证位于该许可证存储器中;如果具有一个以上的、关于该SLConsumeRight调用所属的应用软件的许可证,那么,可以使用优先规则来选择这些适用许可证之一。检验该绑定意味着确定:(1)该许可证与该客户机句柄所识别的应用程序的该产品密钥相捆绑;以及(2)该许可证与其上运行该软件的那个机器(或与该当前机器是其中的成员的那个机器组)相捆绑。检验有效性可能包括:确定该权利还没有到期(在规定截止日期的许可证的情况中)以及没有超过该权利的最多使用次数(在该许可证规定该权利可以被使用(即,“被消费”)的最多次数的情况下)。
如果发现该许可证和/或权利被正确地捆绑并且是有效的(408),那么,该许可证与该API调用中所请求的该权利相捆绑(412)。(应该注意,将许可证与机器、环境和产品密钥“捆绑”意味着该许可证规定它可以被用于哪个(哪些)机器和产品密钥;将许可证与权利“捆绑”意味着该消费功能一直是成功的,并且,正从特定的许可证中消费该权利。贯穿本文,从应用“捆绑”的含义的上下文中,这一点将显而易见。)然后,该API调用返回到该调用应用程序,并指出:该调用曾获得成功(414)。如果已发现该许可证和/或权利是无效的或没有正确地与该机器、环境或产品ID相捆绑,那么,该SLConsumeRight调用返回到该调用应用程序,并指出:该操作失败过(410)。
如果该SLConsumeRight调用失败地返回,那么,无法从许可证中消费该调用中所规定的那个权利,并且,该调用应用程序将不会获得关于那个权利的信息。但是,如果成功地消费该权利,那么,该应用程序可以行使该权利与该许可证的这种绑定,以便从该许可证中获得关于该权利的信息。例如,许可证可能包含被称作“运行”的一般权利,它指出:可以运行该应用程序。但是,关于该“运行”权利,该许可证可能包含关于该应用程序的用法的更多的特殊参数——例如,该许可证可以规定是应该打开还是关闭应用程序的特定的特点(例如,打印、编辑、保存等),并且可以提供关于这些特点的运用的特殊参数(例如,该文档只有正运行于特定领域中的机器上才可以被加以保存,或者,该打印特点只可以被使用三十天等)。该SL API不要求将与权利关联的任何特定类型的信息,而是提供一种应用程序商可以由此将任何类型的信息与权利联系起来的机制,该权利随后可以由该应用程序来检索和解释。
假设已如图4中所描述的那样成功地消费权利,那么,该应用程序可以检索与该权利关联的信息。图5中描述了检索该信息的过程。
首先,该应用程序对该捆绑的权利调用该SLGetInformation方法(502)。以上连同对该SLGetInformation方法的说明,描述了可以被检索的这各种类型的信息。然后,该许可服务接收该调用(504)。该服务从包含该捆绑的权利的许可证文件中检索该被请求的信息(506)。然后,该许可服务将该信息放入缓冲器(508),并返回到该调用应用程序(510)。该调用应用程序随后读取该缓冲器的各种内容,并根据该被检索的信息来执行它认为是必要的无论什么动作。
应该注意,该许可服务可能不知道它正作为SLGetInformation调用的一部分来处理的该信息的含义。如上所述,该许可构架提供了一种机制,由此,软件商可以创建权利,并可以将信息与这些权利联系起来。本发明也不局限于可以与该权利关联的任何特定类型的信息。当从该许可证中检索该信息时,它只被该许可服务传递到缓冲器中的该应用程序。然后,该应用程序解释该被检索的信息,决定要根据该信息来采取什么行动,并使用其自己的安全特点来实施该应用程序的决定。(例如,如果根据该被检索的信息,该应用程序决定禁止使用该打印特点,那么,该应用程序包含实际上禁止使用该特点的那个代码以及(可能是)防止电脑黑客篡改该禁止打印的特点的代码。)
注意,仅仅出于解释的目的而提供了前述例子,这些前述例子不可被认为对本发明起限制的作用。已参照各种实施例来描述本发明,但可理解:这里所使用的这些单词是描述、说明的单词,而不是限制的单词。另外,虽然这里已参照特定的装置、材料和实施例来描述本发明,但是,本发明并不意在局限于这里所揭示的细节;相反,本发明延伸到诸如所附权利要求书的范围以内的所有在功能上相等的结构、方法和运用。受益于本说明书的教导的、精通该技术领域的人可以实现对其的众多修改,并且,在不脱离本发明的范围和精神的前提下,可以在其各个方面进行更改。

Claims (25)

1.一种用于支持关于计算机程序的许可证的实施的***,该***的特征在于包括:
维持其中存储有该许可证的许可证存储器的许可部件,该许可证包括该软件中的权利和与所述权利关联的数据集,该许可部件向该计算机程序揭示可调用接口,所述可调用接口包括:
权利消费方法,该方法从该计算机程序中接收所述权利的标识符,并确定是否可以行使该权利;以及,
信息检索方法,该方法从该计算机程序中接收所述权利的标识符,并将所述数据集或基于所述数据集的信息提供给该计算机程序。
2.权利要求1的***,其特征在于:其中,所述许可部件可由多个计算机程序来使用,该计算机程序被包括在所述多个计算机程序之中,其中,所述可调用接口进一步包括:
句柄打开方法,该方法将句柄提供给该计算机程序;其中,该权利消费方法从该计算机程序接收该句柄,并使用该句柄来识别从那里接收对该权利消费方法的调用的该计算机程序。
3.权利要求1的***,其特征在于:其中,该许可证是被存储在所述许可证存储器中的多个许可证之一,并且,其中,该权利消费方法使该许可部件根据一个或多个因素来选择该许可证,这些因素包括:
该许可证存储器是否与该计算机程序关联;以及,
冲突规则,它确定要从与该计算机程序关联的多个许可证之中选择哪个许可证。
4.权利要求1的***,其特征在于:其中,所述可调用接口进一步包括:
异步上下文启动器方法,该方法建立用于异步处理的上下文,并将所述上下文的标识符提供给该计算机程序;
其中,所述权利消费方法从所述计算机程序接收所述上下文的该标识符,并响应于所述上下文的该标识符的接收,来异步地处理权利消费请求。
5.权利要求1的***,其特征在于:其中,该权利消费方法根据是否在该许可证中识别该权利,来确定是否可以行使该权利。
6.权利要求1的***,其特征在于:其中,该计算机程序和该许可部件在机器上执行,并且,其中,该权利消费方法根据该许可证是否与所述机器捆绑,来确定是否可以行使该权利。
7.权利要求1的***,其特征在于:其中,该计算机程序与产品标识符关联,并且,其中,该权利消费方法根据该许可证是否与所述机器或与所述机器是其中的一个成员的一类机器相捆绑,来确定是否可以行使该权利。
8.一种限制与许可证关联的计算机程序的使用的方法,该许可证规定该计算机程序中的权利,该方法的特征在于包括:
通过第一调用许可服务的接口的第一种方法,来调用所述许可服务,所述第一调用由与所述权利关联的标识符来用参数表示;
响应于所述第一调用,来接收关于是否可行使用该权利的指示;以及,
根据该指示,来从事第一行为或第二行为。
9.权利要求8的方法,其特征在于:其中,所述第一行为包括:允许该计算机程序执行;并且,其中,所述第二行为包括:停止该计算机程序的执行。
10.权利要求8的方法,其特征在于:其中,所述第一行为包括:允许该计算机程序执行第一功能集;并且,其中,所述第二行为包括:允许该计算机程序执行不同于所述第一功能集的第二功能集。
11.权利要求8的方法,其特征在于:其中,该权利与数据集关联,其中,该方法进一步包括:
第二调用所述接口的第二种方法,所述第二种方法由该权利的指示来用参数表示;以及,
响应于所述第二调用,来接收所述数据集。
12.权利要求11的方法,其特征在于:进一步包括:
根据所述数据集,来指导该计算机程序的所述操作。
13.权利要求8的方法,其特征在于:进一步包括:
作出第二调用所述接口的第二种方法;以及,
响应于所述第二调用,来接收一句柄;
其中,在所述第一调用之前进行所述第二调用,并且,其中,所述第一调用由所述句柄来进一步用参数表示。
14.权利要求8的方法,其特征在于:进一步包括:
作出第二调用所述接口的第二种方法;以及,
响应于所述第二调用,来接收异步上下文;
其中,在所述第一调用之前进行所述第二调用,其中,所述第一调用由所述异步上下文来进一步用参数表示,并且,其中,该计算机程序至少执行一个动作,同时,该第一调用被异步地处理。
15.权利要求8的方法,其特征在于:其中,所述第一种方法根据一个或多个因素来确定是否可行使该权利,这些因素包括:
该许可证是否与该计算机程序正在其上执行的机器或环境相捆绑;
该许可证或权利是否跟与该计算机程序关联的产品标识符相捆绑;
该许可证或权利是否已到期;以及,
该权利已被消费的次数是否超过该许可证中所规定的权利。
16.一种计算机可读介质,其上具有被编码的计算机可执行指令,以执行允许实施对计算机程序的许可证的方法,该方法的特征在于包括:
从该计算机程序接收第一种方法调用,该第一种方法调用识别该计算机程序中的权利;
确定:该权利被包含在该许可证中,并且可以行使;以及,
向该计算机程序返回指示:可行使该权利。
17.权利要求16的计算机可读介质,其特征在于:其中,该指示包括:该权利与该许可证的绑定。
18.权利要求16的计算机可读介质,其特征在于:其中,所述确定动作基于是否在该许可证中规定该权利。
19.权利要求16的计算机可读介质,其特征在于:其中,所述确定动作基于该许可证是否与该计算机程序正在其上执行的机器相捆绑。
20.权利要求16的计算机可读介质,其特征在于:其中,所述确定动作基于该许可证或权利是否被捆绑到该计算机程序。
21.权利要求16的计算机可读介质,其特征在于:其中,所述确定动作基于该许可证或权利是否没有到期。
22.权利要求16的计算机可读介质,其特征在于:其中,所述确定动作基于该许可证是否已被消费超过限制的次数。
23.权利要求16的计算机可读介质,其特征在于:其中,该方法进一步包括:
从该计算机程序接收第二种方法调用;以及,
响应于该第二种方法调用,来返回识别该计算机程序的、到该计算机程序的句柄;
其中,在所述第二种方法调用之后执行所述第一种方法调用,并且,其中,所述第一种方法调用进一步识别所述句柄。
24.权利要求16的计算机可读介质,其特征在于:其中,该方法进一步包括:
从该计算机程序接收第二种方法调用;
响应于该第二种方法调用,来将异步上下文返回到该计算机程序,其中,该第一种方法调用在该第二种方法调用之后被加以执行,并识别所述异步上下文;以及,
异步地执行该第一种方法调用,同时,该计算机程序执行动作。
25.权利要求16的计算机可读介质,其特征在于:其中,该权利与数据集关联,并且,其中,该方法进一步包括:
接收指示了该权利的第二种方法调用;以及,
响应于所述第二种方法调用,来将该数据集提供给该计算机程序。
CNB2004100882944A 2003-10-24 2004-10-21 用于支持关于计算机程序的许可证的实施的方法和*** Expired - Fee Related CN100468325C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/692,868 US10437964B2 (en) 2003-10-24 2003-10-24 Programming interface for licensing
US10/692,868 2003-10-24

Publications (2)

Publication Number Publication Date
CN1609802A true CN1609802A (zh) 2005-04-27
CN100468325C CN100468325C (zh) 2009-03-11

Family

ID=34394578

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100882944A Expired - Fee Related CN100468325C (zh) 2003-10-24 2004-10-21 用于支持关于计算机程序的许可证的实施的方法和***

Country Status (18)

Country Link
US (2) US10437964B2 (zh)
EP (1) EP1526427A3 (zh)
JP (1) JP4851703B2 (zh)
KR (1) KR101231266B1 (zh)
CN (1) CN100468325C (zh)
AU (1) AU2004216596B2 (zh)
BR (1) BRPI0404376A (zh)
CA (1) CA2482182C (zh)
CO (1) CO5630045A1 (zh)
IL (1) IL164074A (zh)
MX (1) MXPA04009395A (zh)
MY (1) MY153272A (zh)
NO (1) NO331572B1 (zh)
NZ (1) NZ535532A (zh)
RU (1) RU2377634C2 (zh)
SG (1) SG111200A1 (zh)
TW (1) TWI465935B (zh)
ZA (1) ZA200407586B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534319B (zh) * 2008-11-11 2012-01-04 全旅通(北京)信息服务有限公司 一种解除指令间依赖关系的方法、***和代理服务器
CN101526983B (zh) * 2008-03-05 2012-05-30 京瓷美达株式会社 许可管理***以及许可管理方法
CN107066839A (zh) * 2016-01-21 2017-08-18 黑莓有限公司 为与经许可的第一方服务相关联地操作的第三方服务进行的许可证分发
CN114270779A (zh) * 2019-06-11 2022-04-01 雷网有限责任公司 自动部署的信息技术(it)***和具有增强的安全性的方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030130953A1 (en) * 2002-01-09 2003-07-10 Innerpresence Networks, Inc. Systems and methods for monitoring the presence of assets within a system and enforcing policies governing assets
US10437964B2 (en) 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
US20070143228A1 (en) * 2005-12-15 2007-06-21 Microsoft Corporation Licensing matrix
US7921059B2 (en) * 2005-12-15 2011-04-05 Microsoft Corporation Licensing upsell
US20070250711A1 (en) * 2006-04-25 2007-10-25 Phonified Llc System and method for presenting and inputting information on a mobile device
EP1901190A1 (en) * 2006-09-15 2008-03-19 Sony DADC Austria AG Method and system for managing access to add-on data files
US11201868B2 (en) * 2006-10-23 2021-12-14 Nokia Technologies Oy System and method for adjusting the behavior of an application based on the DRM status of the application
US20080134348A1 (en) * 2006-12-05 2008-06-05 Microsoft Corporation Conditional policies in software licenses
KR101389928B1 (ko) 2007-01-30 2014-04-30 삼성전자주식회사 상호 배제 기능을 수행하기 위한 방법 및 이를 이용한drm 디바이스
US20090228904A1 (en) * 2008-03-04 2009-09-10 Microsoft Corporation Declarative support for asynchronous methods
JP5084577B2 (ja) * 2008-03-24 2012-11-28 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
US8538889B2 (en) * 2008-06-25 2013-09-17 Microsoft Corporation Application hierarchy and state manipulation
US8935528B2 (en) 2008-06-26 2015-01-13 Microsoft Corporation Techniques for ensuring authentication and integrity of communications
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
US20100293536A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
JP5633302B2 (ja) * 2010-10-22 2014-12-03 株式会社リコー 情報管理装置、情報管理プログラム及び情報管理システム
US9165332B2 (en) * 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing
EP2648125B1 (de) * 2012-03-05 2014-11-19 Steinberg Media Technologies GmbH Verfahren zur Autorisierung eines Programmablaufs
US10242164B2 (en) 2015-10-19 2019-03-26 Microsoft Technology Licensing, Llc Managing application specific feature rights
CN106934254B (zh) * 2017-02-15 2020-05-26 ***股份有限公司 一种开源许可证的分析方法及装置
US11663337B2 (en) * 2018-07-20 2023-05-30 George Mason University Methods and systems for system call reduction

Family Cites Families (297)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5847820B2 (ja) 1975-12-17 1983-10-25 株式会社日立製作所 カラ−ジユゾウカン
US5023907A (en) 1988-09-30 1991-06-11 Apollo Computer, Inc. Network license server
US5155806A (en) 1989-03-15 1992-10-13 Sun Microsystems, Inc. Method and apparatus for displaying context sensitive help information on a display
GB8918553D0 (en) 1989-08-15 1989-09-27 Digital Equipment Int Message control system
US5287514A (en) 1990-01-08 1994-02-15 Microsoft Corporation Method and system for customizing a user interface in a computer system
JP3270102B2 (ja) * 1991-03-11 2002-04-02 ヒューレット・パッカード・カンパニー ライセンス付与方法及びシステム
DE69228039T2 (de) 1991-05-08 1999-08-05 Digital Equipment Corp., Maynard, Mass. Lizenz-verwaltungssystem
WO1992020022A1 (en) 1991-05-08 1992-11-12 Digital Equipment Corporation Management interface and format for license management system
US5204897A (en) * 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
JP2967961B2 (ja) 1991-12-16 1999-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 月別の予定表表示の提示方法
US5519606A (en) 1992-01-21 1996-05-21 Starfish Software, Inc. System and methods for appointment reconciliation
JPH0785216B2 (ja) 1992-02-07 1995-09-13 インターナショナル・ビジネス・マシーンズ・コーポレイション メニュー表示装置および方法
US5416895A (en) 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US5570109A (en) 1992-05-27 1996-10-29 Apple Computer, Inc. Schedule and to-do list for a pen-based computer system
US5544295A (en) 1992-05-27 1996-08-06 Apple Computer, Inc. Method and apparatus for indicating a change in status of an object and its disposition using animation
US6236396B1 (en) 1992-05-27 2001-05-22 Apple Computer, Inc. Method and apparatus for controlling a scheduler
US5659693A (en) 1992-08-27 1997-08-19 Starfish Software, Inc. User interface with individually configurable panel interface for use in a computer system
US5734915A (en) 1992-11-25 1998-03-31 Eastman Kodak Company Method and apparatus for composing digital medical imagery
US5500936A (en) 1993-03-12 1996-03-19 Asymetrix Corporation Multi-media slide presentation system with a moveable, tracked popup menu with button and title bars
US5588107A (en) 1993-03-22 1996-12-24 Island Graphics Corporation Method and apparatus for selectably expandable menus
JPH06342357A (ja) 1993-06-01 1994-12-13 Mitsubishi Electric Corp ユーザインタフェース方式
US5634128A (en) 1993-09-24 1997-05-27 International Business Machines Corporation Method and system for controlling access to objects in a data processing system
US5495411A (en) * 1993-12-22 1996-02-27 Ananda; Mohan Secure software rental system using continuous asynchronous password verification
NZ279471A (en) 1994-02-08 1998-02-26 Plastic Bearings & Housings Au Bearing; structural details of a plain bearing
JPH09510567A (ja) 1994-03-21 1997-10-21 オブジェクト テクノロジー ライセンシング コーポレイション ドキュメント・プロキシィ・フレームワーク
US5563946A (en) * 1994-04-25 1996-10-08 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for passing encrypted files between data processing systems
US6404433B1 (en) 1994-05-16 2002-06-11 Apple Computer, Inc. Data-driven layout engine
AU2516895A (en) 1994-05-16 1995-12-05 Apple Computer, Inc. Switching between appearance/behavior themes in graphical user interfaces
US5555364A (en) 1994-08-23 1996-09-10 Prosoft Corporation Windowed computer display
WO1996009579A1 (en) 1994-09-22 1996-03-28 Izak Van Cruyningen Popup menus with directional gestures
US5588108A (en) 1994-09-27 1996-12-24 Micrografx, Inc. System and method for generating graphics charts
US5721847A (en) 1994-10-21 1998-02-24 Microsoft Corporation Method and system for linking controls with cells of a spreadsheet
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US5629980A (en) * 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
US5625783A (en) 1994-12-13 1997-04-29 Microsoft Corporation Automated system and method for dynamic menu construction in a graphical user interface
US5831606A (en) 1994-12-13 1998-11-03 Microsoft Corporation Shell extensions for an operating system
US5748964A (en) * 1994-12-20 1998-05-05 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions
US5760773A (en) 1995-01-06 1998-06-02 Microsoft Corporation Methods and apparatus for interacting with data objects using action handles
US5893125A (en) 1995-01-27 1999-04-06 Borland International, Inc. Non-modal database system with methods for incremental maintenance
US5664208A (en) 1995-05-16 1997-09-02 Apple Computer, Inc. Methods and apparatuses for seamless compound document processing
US5778402A (en) 1995-06-07 1998-07-07 Microsoft Corporation Method and system for auto-formatting a document using an event-based rule engine to format a document as the user types
US5940847A (en) 1995-06-07 1999-08-17 Microsoft Corporation System and method for automatically correcting multi-word data entry errors
US5619631A (en) 1995-06-07 1997-04-08 Binaryblitz Method and apparatus for data alteration by manipulation of representational graphs
US5671412A (en) * 1995-07-28 1997-09-23 Globetrotter Software, Incorporated License management system for software applications
US5634100A (en) 1995-08-07 1997-05-27 Apple Computer, Inc. System and method for event parameter interdependence and adjustment with pen input
US5778404A (en) 1995-08-07 1998-07-07 Apple Computer, Inc. String inserter for pen-based computer systems and method for providing same
JP2986078B2 (ja) 1995-08-28 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション カレンダーの表示方法及び表示装置
US5821936A (en) 1995-11-20 1998-10-13 Siemens Business Communication Systems, Inc. Interface method and system for sequencing display menu items
US20010011253A1 (en) * 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US5855006A (en) 1996-03-01 1998-12-29 Humware Personal activity scheduling apparatus
US5838321A (en) 1996-05-06 1998-11-17 Ast Research, Inc. User interface with embedded objects for personal computers and the like
US6493006B1 (en) 1996-05-10 2002-12-10 Apple Computer, Inc. Graphical user interface having contextual menus
US5933841A (en) 1996-05-17 1999-08-03 Ameritech Corporation Structured document browser
WO1997046962A1 (en) 1996-06-07 1997-12-11 At & T Corp. Finding an e-mail message to which another e-mail message is a response
US6085206A (en) 1996-06-20 2000-07-04 Microsoft Corporation Method and system for verifying accuracy of spelling and grammatical composition of a document
US6073108A (en) 1996-06-21 2000-06-06 Paul, Hastings, Janofsky & Walker Task-based classification and analysis system
US5899979A (en) 1996-07-22 1999-05-04 International Business Machines Corporation Method and system for automatically integrating scheduled work items onto an electronic calendar
US5828376A (en) 1996-09-23 1998-10-27 J. D. Edwards World Source Company Menu control in a graphical user interface
US6018343A (en) 1996-09-27 2000-01-25 Timecruiser Computing Corp. Web calendar architecture and uses thereof
US5842009A (en) 1996-09-30 1998-11-24 Apple Computer, Inc. System for automatically retrieving information relevant to a user's scheduled event
US5926806A (en) 1996-10-18 1999-07-20 Apple Computer, Inc. Method and system for displaying related information from a database
ES2184066T3 (es) * 1996-10-25 2003-04-01 Schlumberger Systems & Service Uso de un lenguaje de programacion de alto nivel con microcontrolador.
JP3383170B2 (ja) * 1996-10-29 2003-03-04 株式会社東芝 消費電力制限機能つきプロセッサ
US6012075A (en) 1996-11-14 2000-01-04 Microsoft Corporation Method and system for background grammar checking an electronic document
EP0847019A1 (en) 1996-12-04 1998-06-10 Koninklijke Philips Electronics N.V. Method and system for selecting an information item in an information processing system, and local station in such a system
US7248150B2 (en) 1997-01-29 2007-07-24 Directed Electronics, Inc. Menu-driven remote control transmitter
US5999938A (en) 1997-01-31 1999-12-07 Microsoft Corporation System and method for creating a new data structure in memory populated with data from an existing data structure
US6034683A (en) 1997-03-26 2000-03-07 Netscape Communications Corporation Time line for desktop metaphor
WO1998044407A1 (en) 1997-03-28 1998-10-08 Sun Microsystems, Inc. Method and apparatus for configuring sliding panels
US6118480A (en) 1997-05-05 2000-09-12 Flashpoint Technology, Inc. Method and apparatus for integrating a digital camera user interface across multiple operating modes
DE69724235T2 (de) * 1997-05-28 2004-02-26 Siemens Ag Computersystem und Verfahren zum Schutz von Software
US5940078A (en) 1997-06-17 1999-08-17 Sun Microsystems, Inc. Method and apparatus for changing the appearance of icon images on a computer display monitor
DE19730112A1 (de) 1997-07-14 1999-01-21 Ericsson Telefon Ab L M Empfangs- und Speichervorrichtung für Übertragungseinheiten
US6384849B1 (en) 1997-07-14 2002-05-07 Microsoft Corporation Method for displaying controls in a system using a graphical user interface
US6188995B1 (en) * 1997-07-28 2001-02-13 Apple Computer, Inc. Method and apparatus for enforcing software licenses
GB2328539B (en) 1997-08-22 2001-04-18 Ibm Data charting
US6882354B1 (en) 1997-09-17 2005-04-19 Sun Microsystems, Inc. Scroll bars with user feedback
WO1999015947A1 (en) * 1997-09-19 1999-04-01 Hyo Joon Park Software license control system based on independent software registration server
US6289502B1 (en) * 1997-09-26 2001-09-11 Massachusetts Institute Of Technology Model-based software design and validation
US6433801B1 (en) 1997-09-26 2002-08-13 Ericsson Inc. Method and apparatus for using a touch screen display on a portable intelligent communications device
US5970466A (en) 1997-10-06 1999-10-19 Impromed, Inc. Graphical computer system and method for appointment scheduling
AU758232B2 (en) 1997-10-06 2003-03-20 Crisnet, Inc. Single-document active user interface, method and system for implementing same
US6121965A (en) 1997-10-17 2000-09-19 Lucent Technologies Inc. User interface for graphical application tool
JP3377419B2 (ja) * 1997-11-11 2003-02-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 命令列生成方法及び装置、変換方法、及びコンピュータ
US6289505B1 (en) * 1997-11-18 2001-09-11 Sun Microsystems, Inc. Method, apparatus and computer programmed product for binary re-optimization using a high level language compiler
US6216122B1 (en) 1997-11-19 2001-04-10 Netscape Communications Corporation Electronic mail indexing folder having a search scope and interval
US6188403B1 (en) 1997-11-21 2001-02-13 Portola Dimensional Systems, Inc. User-friendly graphics generator using direct manipulation
US5898436A (en) 1997-12-05 1999-04-27 Hewlett-Packard Company Graphical user interface for digital image editing
US5960406A (en) 1998-01-22 1999-09-28 Ecal, Corp. Scheduling system for use between users on the web
US6211879B1 (en) 1999-01-13 2001-04-03 Planetweb, Inc. System and method for navigating in multiple windows
JP2938420B2 (ja) 1998-01-30 1999-08-23 インターナショナル・ビジネス・マシーンズ・コーポレイション ファンクション選択方法及び装置、ファンクションを選択するための制御プログラムを格納した記憶媒体、オブジェクトの操作方法及び装置、オブジェクトを操作するための制御プログラムを格納した記憶媒体、複合アイコンを格納した記憶媒体
US6385596B1 (en) * 1998-02-06 2002-05-07 Liquid Audio, Inc. Secure online music distribution system
US6219670B1 (en) 1998-02-18 2001-04-17 International Business Machines Corporation Method and apparatus for filtering a table list before opening with a graphical user interface
US6067087A (en) 1998-03-03 2000-05-23 Microsoft Corporation Method for building menus during idle times
US6189146B1 (en) 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
GB2335822B (en) 1998-03-25 2003-09-10 Nokia Mobile Phones Ltd Context sensitive pop-up window for a portable phone
US6173316B1 (en) 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6226747B1 (en) 1998-04-10 2001-05-01 Microsoft Corporation Method for preventing software piracy during installation from a read only storage medium
US6115777A (en) * 1998-04-21 2000-09-05 Idea Corporation LOADRS instruction and asynchronous context switch
US6175363B1 (en) 1998-05-29 2001-01-16 Hewlett-Packard Company Method and system to provide functionality access based on user approach to network and system management tasks
US6301704B1 (en) * 1998-06-16 2001-10-09 Silicon Graphics, Inc. Method, system, and computer program product for using static single assignment form as a program representation and a medium for performing global scalar optimization
US6133915A (en) 1998-06-17 2000-10-17 Microsoft Corporation System and method for customizing controls on a toolbar
US6101480A (en) 1998-06-19 2000-08-08 International Business Machines Electronic calendar with group scheduling and automated scheduling techniques for coordinating conflicting schedules
US6727919B1 (en) 1998-07-07 2004-04-27 International Business Machines Corporation Flexible mouse-driven method of user interface
US6414700B1 (en) 1998-07-21 2002-07-02 Silicon Graphics, Inc. System for accessing a large number of menu items using a zoned menu bar
US6307544B1 (en) 1998-07-23 2001-10-23 International Business Machines Corporation Method and apparatus for delivering a dynamic context sensitive integrated user assistance solution
US6359634B1 (en) 1998-08-25 2002-03-19 International Business Machines Corporation Method and computer program product for graphical user interface (GUI) organization control for extending GUI applications
GB2341052B (en) 1998-08-26 2003-05-14 Nokia Mobile Phones Ltd Wireless communication terminal
US6373507B1 (en) 1998-09-14 2002-04-16 Microsoft Corporation Computer-implemented image acquistion system
US6166738A (en) * 1998-09-14 2000-12-26 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects
US6232971B1 (en) 1998-09-23 2001-05-15 International Business Machines Corporation Variable modality child windows
US6480865B1 (en) 1998-10-05 2002-11-12 International Business Machines Corporation Facility for adding dynamism to an extensible markup language
EP1145157A4 (en) 1998-10-28 2007-10-17 Yahoo Inc METHOD FOR CONTROLLING INTERFACE OF INTERNET BROWSER AND CONTROLLABLE BROWSER INTERFACE
US6305012B1 (en) * 1998-12-03 2001-10-16 International Business Machines Corporation Method and apparatus for dynamic selection of instructions for compiling using tags
US20030097361A1 (en) 1998-12-07 2003-05-22 Dinh Truong T Message center based desktop systems
US6546417B1 (en) 1998-12-10 2003-04-08 Intellinet, Inc. Enhanced electronic mail system including methods and apparatus for identifying mime types and for displaying different icons
US6353451B1 (en) 1998-12-16 2002-03-05 Intel Corporation Method of providing aerial perspective in a graphical user interface
US6635089B1 (en) 1999-01-13 2003-10-21 International Business Machines Corporation Method for producing composite XML document object model trees using dynamic data retrievals
US6493731B1 (en) 1999-01-27 2002-12-10 Xerox Corporation Document management system for recording and viewing the history of document use
US6459441B1 (en) 1999-03-03 2002-10-01 Dassault Systemes Software interface
US6369840B1 (en) 1999-03-10 2002-04-09 America Online, Inc. Multi-layered online calendaring and purchasing
US6429882B1 (en) 1999-03-15 2002-08-06 Sun Microsystems, Inc. User interface component
US6308322B1 (en) * 1999-04-06 2001-10-23 Hewlett-Packard Company Method and apparatus for reduction of indirect branch instruction overhead through use of target address hints
US6466236B1 (en) 1999-04-08 2002-10-15 Palm, Inc. System and method for displaying and manipulating multiple calendars on a personal digital assistant
US6587881B1 (en) * 1999-04-09 2003-07-01 Microsoft Corporation Software server usage governor
US6697948B1 (en) * 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
JP2001034775A (ja) 1999-05-17 2001-02-09 Fuji Photo Film Co Ltd 履歴画像表示方法
US7100112B1 (en) 1999-05-20 2006-08-29 Microsoft Corporation Dynamic properties of documents and the use of these properties
AU5871500A (en) 1999-06-11 2001-01-02 Sydney Hyman Image making medium
US6691281B1 (en) 1999-06-15 2004-02-10 Microsoft Corporation Publishing/republishing data tables in HTML documents while maintaining formatting and functionality for restoring back the data tables
US6456304B1 (en) 1999-06-30 2002-09-24 Microsoft Corporation Procedural toolbar user interface
US6621504B1 (en) 1999-08-06 2003-09-16 Avid Technology, Inc. Editor for effect tree parameters
EP1076279A1 (en) * 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
US8015049B1 (en) 1999-08-18 2011-09-06 S.F. Ip Properties 61 Llc On-line appointment system
US6538673B1 (en) 1999-08-23 2003-03-25 Divine Technology Ventures Method for extracting digests, reformatting, and automatic monitoring of structured online documents based on visual programming of document tree navigation and transformation
GB2353679A (en) 1999-08-25 2001-02-28 Ibm Prioritized display of messages
US6405216B1 (en) 1999-09-17 2002-06-11 International Business Machines Corporation Internet-based application program interface (API) documentation interface
US6732330B1 (en) 1999-09-30 2004-05-04 International Business Machines Corporation Scripting language blocks to support multiple scripting languages in a single web page
US7082567B1 (en) 1999-10-18 2006-07-25 Rose Blush Software Llc Enhanced human computer user interface system for searching and browsing documents
US6578192B1 (en) 1999-10-20 2003-06-10 International Business Machines Corporation Method and system for supporting dynamic document content expressed in a component-level language
US7152207B1 (en) 1999-11-05 2006-12-19 Decentrix Inc. Method and apparatus for providing conditional customization for generating a web site
US6734880B2 (en) 1999-11-24 2004-05-11 Stentor, Inc. User interface for a medical informatics systems
US6924797B1 (en) 1999-11-30 2005-08-02 International Business Machines Corp. Arrangement of information into linear form for display on diverse display devices
US20030088516A1 (en) * 1999-12-21 2003-05-08 Eric B. Remer Software anti-piracy licensing
US6686938B1 (en) 2000-01-05 2004-02-03 Apple Computer, Inc. Method and system for providing an embedded application toolbar
US6904449B1 (en) 2000-01-14 2005-06-07 Accenture Llp System and method for an application provider framework
US6621508B1 (en) 2000-01-18 2003-09-16 Seiko Epson Corporation Information processing system
ATE364874T1 (de) 2000-04-07 2007-07-15 Viatech Technologies Inc System und eingebetteter lizenzsteuerungsmechanismus für die erzeugung und verteilung von dateien mit digitalem inhalt sowie erzwingung von lizenziertem gebrauch von dateien mit digitalem inhalt
US6618732B1 (en) 2000-04-11 2003-09-09 Revelink, Inc. Database query handler supporting querying of textual annotations of relations between data objects
US20030206646A1 (en) 2000-04-24 2003-11-06 Brackett Charles C. Imaging system having means for creating, managing and selecting from list of exam descriptions
US7249325B1 (en) 2000-05-11 2007-07-24 Palmsource, Inc. Automatically centered scrolling in a tab-based user interface
US6785868B1 (en) 2000-05-31 2004-08-31 Palm Source, Inc. Method and apparatus for managing calendar information from a shared database and managing calendar information from multiple users
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US7111238B1 (en) 2000-06-23 2006-09-19 Microsoft Corporation System and method for maintaining text formatting consistency within an electronic document
EP1354263A2 (en) 2000-07-07 2003-10-22 Openwave Systems Inc. Graphical user interface features of a browser in a hand-held wireless communication device
US7178098B2 (en) 2000-07-13 2007-02-13 International Business Machines Corporation Method and system in an electronic spreadsheet for handling user-defined options in a copy/cut—paste operation
US6583798B1 (en) 2000-07-21 2003-06-24 Microsoft Corporation On-object user interface
US6871195B2 (en) 2000-09-13 2005-03-22 E-Promentor Method and system for remote electronic monitoring and mentoring of computer assisted performance support
JP3530475B2 (ja) 2000-09-25 2004-05-24 三洋電機株式会社 折畳式通信端末装置および情報表示方法
US6988241B1 (en) 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
US6825859B1 (en) 2000-11-13 2004-11-30 Corel Corporation System and method for processing content changes of on-screen items
US7020848B2 (en) 2000-12-20 2006-03-28 Eastman Kodak Company Comprehensive, multi-dimensional graphical user interface using picture metadata for navigating and retrieving pictures in a picture database
US6925605B2 (en) 2000-12-28 2005-08-02 International Business Machines Corporation Collating table for email
US7266768B2 (en) 2001-01-09 2007-09-04 Sharp Laboratories Of America, Inc. Systems and methods for manipulating electronic information using a three-dimensional iconic representation
US6801227B2 (en) 2001-01-16 2004-10-05 Siemens Medical Solutions Health Services Inc. System and user interface supporting user navigation and concurrent application operation
US20020149623A1 (en) 2001-01-26 2002-10-17 Alan West State and data driven dynamic menu and toolbar architecture
CA2437726A1 (en) 2001-02-15 2002-08-22 Suffix Mail Inc. E-mail messaging system
US7110936B2 (en) 2001-02-23 2006-09-19 Complementsoft Llc System and method for generating and maintaining software code
US6906717B2 (en) 2001-02-27 2005-06-14 Microsoft Corporation Multiple chart user interface
US20020133557A1 (en) 2001-03-03 2002-09-19 Winarski Donna Ilene Robinson Sorting e-mail
US6964025B2 (en) 2001-03-20 2005-11-08 Microsoft Corporation Auto thumbnail gallery
EP1243998B1 (en) 2001-03-21 2017-04-19 Excalibur IP, LLC A technique for license management and online software license enforcement
GB2373604B (en) 2001-03-23 2004-10-27 Ibm A method and system for controlling use of software programs
US7174514B2 (en) 2001-03-28 2007-02-06 Siebel Systems, Inc. Engine to present a user interface based on a logical structure, such as one for a customer relationship management system, across a web site
TW502180B (en) 2001-03-30 2002-09-11 Ulead Systems Inc Previewing method of editing multimedia effect
WO2002086685A2 (en) 2001-04-19 2002-10-31 Matsushita Electric Industrial Co., Ltd. License management system, license management device, relay device and terminal device
US20030098891A1 (en) 2001-04-30 2003-05-29 International Business Machines Corporation System and method for multifunction menu objects
US20020163538A1 (en) 2001-05-07 2002-11-07 Koninklijke Philips Electronics N.V. Electronic mail guide
US7039647B2 (en) 2001-05-10 2006-05-02 International Business Machines Corporation Drag and drop technique for building queries
US7334196B2 (en) 2001-06-25 2008-02-19 Siemens Medical Solutions Health Services Corporation User interface display navigation and item selection system
US6826729B1 (en) 2001-06-29 2004-11-30 Microsoft Corporation Gallery user interface controls
US20030011638A1 (en) 2001-07-10 2003-01-16 Sun-Woo Chung Pop-up menu system
US7620911B2 (en) 2001-07-12 2009-11-17 Autodesk, Inc. Collapsible dialog window
US7251776B2 (en) 2001-07-13 2007-07-31 Netview Technologies, Inc. System and method for efficiently and flexibly utilizing spreadsheet information
US20030066025A1 (en) 2001-07-13 2003-04-03 Garner Harold R. Method and system for information retrieval
GB2377858B (en) 2001-07-19 2005-04-20 Inventec Appliances Corp Method for simplifying cellular phone menu selection
US6999068B2 (en) 2001-08-21 2006-02-14 Hewlett-Packard Development Company, L.P. System and method for enabling users to edit graphical images
US7046848B1 (en) 2001-08-22 2006-05-16 Olcott Peter L Method and system for recognizing machine generated character glyphs and icons in graphic images
CN1578939A (zh) * 2001-08-29 2005-02-09 格鲁斯番维拉塔公司 用于安全对象操作的密钥界面
US20030043211A1 (en) 2001-09-05 2003-03-06 Kremer Karl Heinz Image-forming system having a graphic user interface with print option representation using thumbnail images
US20030076957A1 (en) * 2001-10-18 2003-04-24 Nadarajah Asokan Method, system and computer program product for integrity-protected storage in a personal communication device
JP2003141020A (ja) 2001-10-31 2003-05-16 Toshiba Tec Corp 情報保管出力システム及び情報保管出力サービス
US7032210B2 (en) 2001-11-11 2006-04-18 International Business Machines Corporation Method and system for generating program source code of a computer application from an information model
US7363590B2 (en) 2001-11-27 2008-04-22 International Business Machines Corporation Calendar bar interface for electronic mail interaction
US7359936B2 (en) 2001-11-27 2008-04-15 International Business Machines Corporation Method and apparatus for electronic mail interaction with grouped message types
US6801230B2 (en) 2001-12-18 2004-10-05 Stanley W. Driskell Method to display and manage computer pop-up controls
US20030233419A1 (en) 2002-01-08 2003-12-18 Joerg Beringer Enhanced email management system
US7039596B1 (en) 2002-01-18 2006-05-02 America Online, Inc. Calendar overlays
US6947928B2 (en) 2002-02-26 2005-09-20 International Business Machines Corporation Graphical user interface for building queries with hierarchical conditions
US6850255B2 (en) 2002-02-28 2005-02-01 James Edward Muschetto Method and apparatus for accessing information, computer programs and electronic communications across multiple computing devices using a graphical user interface
US7003730B2 (en) 2002-03-08 2006-02-21 International Business Machines Corporation Graphical user interface to build event-based dynamic searches or queries using event profiles
US20040117451A1 (en) 2002-03-22 2004-06-17 Chung Michael Myung-Jin Methods and systems for electronic mail internet target and direct marketing and electronic mail banner
US20030195937A1 (en) 2002-04-16 2003-10-16 Kontact Software Inc. Intelligent message screening
US20040012633A1 (en) 2002-04-26 2004-01-22 Affymetrix, Inc., A Corporation Organized Under The Laws Of Delaware System, method, and computer program product for dynamic display, and analysis of biological sequence data
AU2002313103A1 (en) 2002-05-16 2003-12-02 Decision Curve Limited Method and apparatus for automatically producing spreadsheet-based models
US6972762B2 (en) 2002-05-21 2005-12-06 Microsoft Corporation System and method for interactive grouping of pie chart slices
US20040100504A1 (en) 2002-05-24 2004-05-27 Jored Sommer Item selection systems and methods of displaying the same
US7434163B2 (en) 2002-05-31 2008-10-07 Sap Aktiengesellschaft Document structures for delta handling in server pages
US20030227487A1 (en) 2002-06-01 2003-12-11 Hugh Harlan M. Method and apparatus for creating and accessing associative data structures under a shared model of categories, rules, triggers and data relationship permissions
US7191411B2 (en) 2002-06-06 2007-03-13 Moehrle Armin E Active path menu navigation system
GB2389499B (en) 2002-06-06 2005-09-28 Focus Solutions Group Plc Electronic data capture and verification
EP1376337A1 (en) 2002-06-12 2004-01-02 Commerce One Operations, Inc. Action/command/business object application framework
US20040003351A1 (en) 2002-06-28 2004-01-01 Microsoft Corporation Navigating a resource browser session
GB2391148B (en) 2002-07-19 2006-01-04 Autodesk Canada Inc Selecting functions via a graphical user interface
US7346705B2 (en) 2002-08-28 2008-03-18 Apple Inc. Method of synchronising three or more electronic devices and a computer system for implementing that method
EP1546972A1 (en) 2002-09-09 2005-06-29 Apple Computer, Inc. A computer program comprising a plurality of calendars
US20040056894A1 (en) 2002-09-19 2004-03-25 Igor Zaika System and method for describing and instantiating extensible user interfaces
US7386535B1 (en) 2002-10-02 2008-06-10 Q.Know Technologies, Inc. Computer assisted and/or implemented method for group collarboration on projects incorporating electronic information
US20040230508A1 (en) 2002-10-29 2004-11-18 Minnis Raymond Albert System for generating financial statements using templates
US20040100505A1 (en) 2002-11-21 2004-05-27 Cazier Robert Paul System for and method of prioritizing menu information
US20040107197A1 (en) 2002-11-29 2004-06-03 Shen Yu Yong System, method and user interface allowing customized portfolio management
CA2414053A1 (en) 2002-12-09 2004-06-09 Corel Corporation System and method for manipulating a document object model
US7360174B2 (en) 2002-12-19 2008-04-15 Microsoft Corporation Contact user interface
US7376698B2 (en) 2002-12-20 2008-05-20 Sap Ag System for preserving scripting objects and cloning the objects to a new document in response to a reload of the new document
US20040133854A1 (en) 2003-01-08 2004-07-08 Black Karl S. Persistent document object model
US20060111931A1 (en) 2003-01-09 2006-05-25 General Electric Company Method for the use of and interaction with business system transfer functions
US20040186775A1 (en) 2003-01-29 2004-09-23 Margiloff William A. Systems and methods for providing an improved toolbar
US7212208B2 (en) 2003-02-25 2007-05-01 Bahram Khozai System and method to present and display multiple data using enhanced box charts
US7539985B2 (en) 2003-02-26 2009-05-26 Bea Systems, Inc. Systems and methods for dynamic component versioning
US9003295B2 (en) 2003-03-17 2015-04-07 Leo Martin Baschy User interface driven access control system and method
US6983889B2 (en) 2003-03-21 2006-01-10 Home Comfort Zones, Inc. Forced-air zone climate control system for existing residential houses
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7188308B2 (en) 2003-04-08 2007-03-06 Thomas Weise Interface and method for exploring a collection of data
US7328409B2 (en) 2003-04-17 2008-02-05 International Business Machines Corporation Method, system, and computer program product for user customization of menu items
US7337185B2 (en) 2003-04-30 2008-02-26 Yahoo! Inc. System and method for providing an improved graphical user interface for search
JP4347123B2 (ja) 2003-05-02 2009-10-21 キヤノン株式会社 文書処理システムおよび文書処理方法およびコンピュータが読取り可能な記憶媒体およびプログラム
US7567964B2 (en) 2003-05-08 2009-07-28 Oracle International Corporation Configurable search graphical user interface and engine
GB2418509A (en) 2003-06-03 2006-03-29 Forbes Holton Norris Iii Flexible, dynamic menu-based web-page architecture
US7178101B2 (en) 2003-06-24 2007-02-13 Microsoft Corporation Content template system
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US20050005249A1 (en) 2003-07-01 2005-01-06 Microsoft Corporation Combined content selection and display user interface
US7716593B2 (en) 2003-07-01 2010-05-11 Microsoft Corporation Conversation grouping of electronic mail records
US7392249B1 (en) 2003-07-01 2008-06-24 Microsoft Corporation Methods, systems, and computer-readable mediums for providing persisting and continuously updating search folders
US7484213B2 (en) 2003-07-11 2009-01-27 Boban Mathew Agent architecture employed within an integrated message, document and communication system
US7027463B2 (en) 2003-07-11 2006-04-11 Sonolink Communications Systems, Llc System and method for multi-tiered rule filtering
US20050044500A1 (en) 2003-07-18 2005-02-24 Katsunori Orimoto Agent display device and agent display method
US20050021504A1 (en) 2003-07-22 2005-01-27 Charles Atchison Methods, systems, and computer program products for querying a database for employee data and organizing the obtained data
JP2005056233A (ja) 2003-08-06 2005-03-03 Nec Corp 移動体通信装置、移動体通信装置の電子メールの受信動作方法及びその電子メールの受信動作プログラム
US7325204B2 (en) 2003-08-29 2008-01-29 Yahoo! Inc. Slideout windows
US7472286B2 (en) * 2003-08-29 2008-12-30 Microsoft Corporation Selectively authorizing software functionality after installation of the software
US20050144241A1 (en) 2003-10-17 2005-06-30 Stata Raymond P. Systems and methods for a search-based email client
US20050086135A1 (en) 2003-10-20 2005-04-21 Li-Chin Lu Automatic bookkeeping system
US6990637B2 (en) 2003-10-23 2006-01-24 Microsoft Corporation Graphical user interface for 3-dimensional view of a data collection based on an attribute of the data
US7346769B2 (en) 2003-10-23 2008-03-18 International Business Machines Corporation Method for selective encryption within documents
US10437964B2 (en) 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
US20050117179A1 (en) 2003-11-06 2005-06-02 Tatsuo Ito Output information providing method, output information providing system, document outputting method, and document outputting system
US7996514B2 (en) 2003-12-23 2011-08-09 Microsoft Corporation System and method for sharing information based on proximity
US20050172262A1 (en) 2004-01-30 2005-08-04 Ahika Corporation Site menu - browser toolbar-based user interface for navigating web site pages
US7856596B2 (en) 2004-02-17 2010-12-21 Microsoft Corporation Method and system for separation of content and layout definitions in a display description
US7469385B2 (en) 2004-02-20 2008-12-23 Microsoft Corporation Methods and systems for abstraction of logical editing operations
KR101222294B1 (ko) 2004-03-15 2013-01-15 야후! 인크. 사용자 주석이 통합된 검색 시스템 및 방법
US7574674B2 (en) 2004-04-02 2009-08-11 Microsoft Corporation Method for controlling filename display for image and video file types
WO2005109884A2 (en) 2004-04-30 2005-11-17 Vulcan Inc. Time-based graphical user interface for multimedia content
US20050278656A1 (en) 2004-06-10 2005-12-15 Microsoft Corporation User control for dynamically adjusting the scope of a data set
US7954050B2 (en) 2004-06-25 2011-05-31 Icesoft Technologies Canada Corp. Systems and methods for rendering and increasing portability of document-based user interface software objects
US7720845B2 (en) 2004-08-13 2010-05-18 Yahoo! Inc. Systems and methods for updating query results based on query deltas
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US7505954B2 (en) 2004-08-18 2009-03-17 International Business Machines Corporation Search bar with intelligent parametric search statement generation
US8239375B2 (en) 2004-08-31 2012-08-07 Research In Motion Limited Method of searching for personal information management (PIM) information and handheld electronic device employing the same
US20090094332A1 (en) 2004-09-02 2009-04-09 Zimbra, Inc. System and method for enabling offline use of email through a browser interface
US8126895B2 (en) 2004-10-07 2012-02-28 Computer Associates Think, Inc. Method, apparatus, and computer program product for indexing, synchronizing and searching digital data
US20060095865A1 (en) 2004-11-04 2006-05-04 Rostom Mohamed A Dynamic graphical user interface for a desktop environment
US8402384B2 (en) 2004-11-09 2013-03-19 Research In Motion Limited Dynamic bar oriented user interface
WO2006051905A1 (ja) 2004-11-12 2006-05-18 Justsystems Corporation データ処理装置およびデータ処理方法
CN100458774C (zh) 2004-11-29 2009-02-04 国际商业机器公司 文档编辑器及文档编辑方法
US7546522B2 (en) 2004-12-20 2009-06-09 Microsoft Corporation Method, system, and computer-readable medium for applying a global formatting scheme to a chart in an electronic document
US20060173824A1 (en) 2005-02-01 2006-08-03 Metalincs Corporation Electronic communication analysis and visualization
US7921372B2 (en) 2005-03-25 2011-04-05 Microsoft Corporation System and method for pinning tabs in a tabbed browser
US7530029B2 (en) 2005-05-24 2009-05-05 Microsoft Corporation Narrow mode navigation pane
JP2007006373A (ja) 2005-06-27 2007-01-11 Konica Minolta Business Technologies Inc 書類データ管理システム、画像形成装置、書類データ管理方法、およびコンピュータプログラム
US7627561B2 (en) 2005-09-12 2009-12-01 Microsoft Corporation Search and find using expanded search scope
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US7739259B2 (en) 2005-09-12 2010-06-15 Microsoft Corporation Integrated search and find user interface
US7484180B2 (en) 2005-11-07 2009-01-27 Microsoft Corporation Getting started experience
US7975224B2 (en) 2005-12-21 2011-07-05 Xerox Corporation WYSIWYG multifunction device finishing options
JP2007287136A (ja) 2006-03-23 2007-11-01 Oce Technologies Bv オブジェクトの順序付けられた集合に対する処理動作をプログラミングするためのシステム
US20070240057A1 (en) 2006-04-11 2007-10-11 Microsoft Corporation User interface element for displaying contextual information
US8209308B2 (en) 2006-05-01 2012-06-26 Rueben Steven L Method for presentation of revisions of an electronic document
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US20080034304A1 (en) 2006-08-02 2008-02-07 Feuerbacher Frank P Method, System, and Program Product for Focus Switching Delay in a Graphical User Interface
US7805705B2 (en) 2006-08-04 2010-09-28 Apple Inc. Graphically depicting program code depth
US7793226B2 (en) 2006-08-14 2010-09-07 International Business Machines Corporation Method and system for grouping and stacking tab user interface objects with icon status indicators
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526983B (zh) * 2008-03-05 2012-05-30 京瓷美达株式会社 许可管理***以及许可管理方法
CN101534319B (zh) * 2008-11-11 2012-01-04 全旅通(北京)信息服务有限公司 一种解除指令间依赖关系的方法、***和代理服务器
CN107066839A (zh) * 2016-01-21 2017-08-18 黑莓有限公司 为与经许可的第一方服务相关联地操作的第三方服务进行的许可证分发
CN114270779A (zh) * 2019-06-11 2022-04-01 雷网有限责任公司 自动部署的信息技术(it)***和具有增强的安全性的方法

Also Published As

Publication number Publication date
JP2005129049A (ja) 2005-05-19
RU2004131031A (ru) 2006-04-10
NO331572B1 (no) 2012-01-30
CA2482182C (en) 2017-03-28
CO5630045A1 (es) 2006-04-28
SG111200A1 (en) 2005-05-30
MY153272A (en) 2015-01-29
AU2004216596B2 (en) 2010-03-11
RU2377634C2 (ru) 2009-12-27
IL164074A0 (en) 2005-12-18
TWI465935B (zh) 2014-12-21
JP4851703B2 (ja) 2012-01-11
NO20044099L (no) 2005-04-25
US10437964B2 (en) 2019-10-08
KR20050039537A (ko) 2005-04-29
MXPA04009395A (es) 2005-05-16
ZA200407586B (en) 2005-05-25
EP1526427A2 (en) 2005-04-27
US20200034516A1 (en) 2020-01-30
NZ535532A (en) 2006-11-30
CN100468325C (zh) 2009-03-11
TW200515243A (en) 2005-05-01
BRPI0404376A (pt) 2005-06-21
AU2004216596A1 (en) 2005-05-12
KR101231266B1 (ko) 2013-02-07
US20050091168A1 (en) 2005-04-28
EP1526427A3 (en) 2005-07-06
CA2482182A1 (en) 2005-04-24
IL164074A (en) 2010-06-30

Similar Documents

Publication Publication Date Title
CN1609802A (zh) 用于管理许可的编程接口
CN1655145A (zh) 最优化行级别数据库安全的***和方法
CN1275152C (zh) 制造和更新可***的便携式操作***模块的***和方法
CN1706657A (zh) 印刷装置、控制印刷程序、记录控制印刷程序的记录媒体
CN1204810A (zh) 遥控方法、服务器及记录介质
CN1826593A (zh) 通过网络以事务形式办理文件操作的方法与***
CN1653463A (zh) 用于处理使用权利表达的方法和装置
CN1577324A (zh) 文档管理方法和程序、记录介质和文档管理装置
CN1716225A (zh) 普通usb驱动器
CN1296811C (zh) 信息处理装置及其控制方法和控制装置
CN1516847A (zh) 内容利用管理***以及该***中使用的服务器装置和终端装置
CN1482568A (zh) 用于防止记录介质非授权使用的***
CN101044492A (zh) 内容再现设备和内容再现方法
CN1969292A (zh) 用户轮廓管理***
CN1290889A (zh) 程序对象的串行化和解串行的版本适应
CN1707457A (zh) 数据传输方法和数据传输装置
CN1329299A (zh) 打印控制设备、控制***及其方法和记录介质
CN1363071A (zh) 信息分发***
CN1734423A (zh) 与可用接口相符的设备驱动程序的安装装置和方法
CN1522395A (zh) 内容使用装置和网络***,以及许可信息获取方法
CN1532661A (zh) 信息提供以及用户验证设备、方法、程序和记录媒体
CN1977229A (zh) 程序执行设备及该程序执行方法
CN1483278A (zh) 内容的目录服务***
CN1629871A (zh) 工作流管理设备及方法
CN1547718A (zh) 内容管理方法、内容管理装置、内容重放装置及内容存储装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150513

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

Effective date of registration: 20150513

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090311

Termination date: 20191021