CN101960459A - 用于临时重新定位可用软件许可的对等软件许可管理系统 - Google Patents

用于临时重新定位可用软件许可的对等软件许可管理系统 Download PDF

Info

Publication number
CN101960459A
CN101960459A CN2009801066592A CN200980106659A CN101960459A CN 101960459 A CN101960459 A CN 101960459A CN 2009801066592 A CN2009801066592 A CN 2009801066592A CN 200980106659 A CN200980106659 A CN 200980106659A CN 101960459 A CN101960459 A CN 101960459A
Authority
CN
China
Prior art keywords
permission
computer node
software license
software
node
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.)
Pending
Application number
CN2009801066592A
Other languages
English (en)
Inventor
D·J·帕文
C·D·埃利奥特
S·G·诺里斯
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.)
Honeywell International Inc
Original Assignee
Honeywell International Inc
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 Honeywell International Inc filed Critical Honeywell International Inc
Publication of CN101960459A publication Critical patent/CN101960459A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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]

Landscapes

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

Abstract

公开了一种能够临时重新定位可用软件许可的对等软件许可管理系统。允许将该对等软件许可管理系统中的任何节点(100、200、300)(即在其中安装本发明的软件许可管理系统软件的任何计算机)用作许可提供器,或者用作许可用户,或者用作许可提供器和许可用户二者。对等软件许可管理系统的任何节点具有如下能力:临时从另一个节点借用软件许可,以及将所借用的软件许可重新用于又一个节点,就像借用该软件许可的节点本身是许可提供器一样。将对等软件许可管理系统的每个节点作为许可用户和许可提供器二者来运行。

Description

用于临时重新定位可用软件许可的对等软件许可管理系统
相关申请
本专利申请涉及由相同发明人于与本申请同一日期提交的标题为“Software License Management System That Functions In ADisconnected Or Intermittently Connected Mode”的美国专利申请序列号.[案号No.H0017806-0104]的另一专利申请。该相关专利申请被转让给本专利申请的受让人。由此通过引用将相关专利申请的公开结合到本申请中,就如其在此处完全阐述那样。
技术领域
本公开总体上涉及软件许可(license)管理系统,并且更具体地涉及用于临时重新定位可用软件许可的对等软件许可管理系统。
背景技术
软件许可管理是任何商业软件产品的基本服务以确保软件产品的合法使用并且确保软件产品的适当分布。软件许可提供器(“许可提供器”)通常位于被定位在计算机服务器上的软件内。软件许可用户(“许可用户”)通常是被定位在计算机工作站或计算机服务器上的软件应用。现有的软件许可管理系统基于软件提供器的能力来安全地与软件许可用户进行通信。
许可提供器具有存储在计算机服务器内的有限个软件许可(“许可”),其中将所述许可提供器定位在所述计算机服务器上。许可提供器通常具有加密的许可文件,其包含许可的名称以及被授权接收该许可的客户(即许可用户)的名称。
当许可用户期望获得特定软件许可时,该许可用户可能试图从一个或多个许可提供器获取许可。许可用户将许可请求发送到一个或多个许可提供器。可以满足许可用户的请求的许可提供器(1)准许该许可用户的所请求的许可(或多个许可),(2)将所请求的许可(或多个许可)标记为由该许可用户正在使用,以及(3)建立和保持与该许可用户的安全通信链路。
许可提供器保持与许可用户的安全通信链路直到该许可用户释放许可(或多个许可)或与该许可用户的链路因为硬件或软件故障而失效为止,从而隐含地释放许可(或多个许可)。被标记为正在使用的许可不能被其他许可用户使用直到该许可已被释放为止。被释放的许可重新进入许可提供器的可用许可池中。
软件许可管理系统中的加密许可文件可以被存储在硬盘驱动器或诸如通用串行总线(USB)密钥或智能卡之类的其他存储器设备上。如先前所提到的那样,加密许可文件包含授权许可用户的名称以及这些许可用户被授权接收的许可的名称。软件许可管理系统能够读取加密许可文件中的授权信息并且将所请求的许可用于具有适当授权的许可用户。
软件许可管理系统通常存在于远离它许可的软件应用的位置的位置处。这提供了许可过程的更便利的集中管理。在现有软件许可管理系统中,(位于许可服务器上的)许可提供器被定位在相对于(位于客户端服务器上的)许可用户的远程位置。
专用许可服务器在移动计算场景中无效。例如,专用许可服务器对支持软件产品示范或训练远程非固定位置处的操作无效。在移动计算场景中提供软件许可的现有技术方法包括提供(具有附加费用)(1)支持移动使用的短期或专用资格(entitlement),(2)以硬件密钥形式的便携式资格,(3)临时离线独立许可,以及(4)不基于网络的节点锁定许可。
期望具有一种在移动计算场景中提供软件许可资格的更有效方法。期望具有一种有能力在移动计算场景中临时重新定位可用软件许可的软件许可管理系统。
发明内容
本发明提供一种能够临时重新定位可用软件许可的对等软件许可管理系统。本发明包括对等软件许可管理系统,在该对等软件许可管理系统中允许将任何节点(即在其中安装本发明的软件许可管理系统软件的任何计算机)用作许可提供器,或者用作许可用户,或者用作许可提供器和许可用户二者。
本发明的对等软件许可管理系统的任何节点具有如下能力:(1)临时从另一个节点借用软件许可,以及(2)将所借用的软件许可重新用于又一个节点,就像借用该软件许可的节点本身是许可提供器一样。本发明的对等软件许可管理系统的每个节点作为许可用户和许可提供器二者来运行。
根据下面的附图、描述和权利要求,其他技术特征可对于本领域技术人员来说是显而易见的。
附图说明
为了更全面地理解本公开,现在结合附图参考下面的描述,其中:
图1说明本发明的对等软件许可管理系统的示例性第一计算机节点的示意性表示;
图2说明本发明的第一计算机节点访问来自本发明的第二计算机节点的软件许可的示意性表示;
图3说明本发明的第一计算机节点从本发明的第二计算机节点临时借用软件许可的示意性表示;
图4说明本发明的第三计算机节点访问从本发明的第一计算机节点临时借用的软件许可的示意性表示;
图5说明示出本发明的方法的有利实施例的步骤的流程图;以及
图6说明示出本发明的方法的另一个有利实施例的步骤的流程图。
具体实施方式
图1到图6以及用于在本专利文件中描述本发明原理的各种实施例仅是为了举例说明并且不应该被解释成以任何方式来限制本发明的范围。本领域技术人员将会理解本发明的原理可以以任何类型的适当布置的设备或系统来实施。
参与本发明的对等软件许可管理系统的每个计算机被称为节点。在对等系统中,每个节点可以从其他节点接受输入连接,并且每个节点可以发起到其他节点的输出连接。这一特征使对等系统有别于客户端-服务器系统。在客户端-服务器系统中,仅客户端节点可以发起输出连接并且仅服务器节点可以接受输入连接。
图1说明本发明的对等软件许可管理系统的示例性第一计算机节点100(也被叫做节点1)的示意性表示。第一计算机节点100代表该系统中每一个其他节点(未在图1中示出)。如图1中所示,第一计算机节点100包括应用过程(application process)110。应用过程110包括至少一个程序120和许可库130。该许可库130包含一个或多个软件许可。程序120能够通过许可应用编程接口(在图1中被叫做“许可API(Licensing API)”)来访问许可库130。
第一计算机节点100还包括被称为许可服务140或许可后台程序(daemon)140的连续运行的程序。许可后台程序140连接到许可库130并且与其通信。许可库130能够访问许可后台程序140以将由程序120提出的任何许可请求传递给许可后台程序140。
第一计算机节点100还包括加密许可文件150。加密许可文件150包含授权许可用户的名称以及这些许可用户被授权接收的许可的名称。许可后台程序140连接到加密许可文件150并且与其通信。许可后台程序140能够读取加密许可文件150中的授权信息并且将所请求的许可用于具有适当授权的许可用户。
第一计算机节点100还包括地址文件160,该地址文件160包含对等系统中远程定位的许可节点的计算机地址。许可后台程序140连接到地址文件160并且与其通信。许可后台程序140能够与对等系统中远程定位的节点通信。
计算机节点100的标准计算机硬件(中央处理单元、存储器单元等等)和计算机节点100的标准计算机软件(操作系统等等)连同本发明的对等软件许可管理系统的软件(许可后台程序、许可文件、许可库等等)一起包括执行本发明功能的软件许可管理控制器。
图2说明第一计算机节点100访问来自本发明的对等系统的第二计算机节点200的软件许可的示意性表示。第二计算机节点200包括应用过程210,该应用过程210包括至少一个程序220和许可库230。第二计算机节点200还包括其自己的许可后台程序240和加密许可文件250。尽管未在图2中示出,但是第二计算机节点200还包括地址文件,该地址文件包含对等系统中远程定位的许可节点的计算机地址。
图2说明第一计算机节点100如何访问来自对等系统中的第二节点200的软件许可。当至少一个程序120提出许可请求时,许可库130将该请求发送到许可后台程序140。许可后台程序140首先尝试从其自己的加密许可文件150(未在图2中示出)访问(或“检查(check out)”)所请求的许可。如果所请求的许可在加密许可文件150中,则许可后台程序140将所请求的许可从许可库130提供给程序120。
如果所请求的许可没有在加密许可文件150中(即所请求的许可不是本地可用的),则许可后台程序140将该许可请求传递给已知的远程节点(其也被称为远程主机)。图2说明第一计算机节点100的许可后台程序140和第二计算机节点200的许可后台程序240之间的连接和通信。
许可后台程序240访问其自己的加密许可文件250以确定所请求的许可是否位于第二计算机节点200内。如果所请求的许可位于加密许可文件250内,则许可后台程序240将所请求的许可标记成正在使用并且准许许可请求。许可后台程序240将所请求的许可从许可库230提供给许可后台程序140。许可后台程序140将所请求的许可提供给许可库130和请求程序120。
如果所请求许可没有位于第二计算机节点200中的加密许可文件250内,则许可后台程序240报告找回到第一计算机节点100中的许可后台程序140。
当许可后台程序140向对等网络中的其他节点发出许可请求时,其他节点将该请求级联(cascade)到他们本地地址列表(如果有的话)中的其他节点直到找到所请求的许可或者许可搜索因为缺少对等网络中连接的任何节点上的所请求许可的可用性而失败为止。
在搜索所请求的许可时,将经由API链路将成功或失败报告返回到请求程序120。(1)当请求程序120经由API链路释放许可时或者(2)当请求程序120终止时,成功访问的许可将最终被返回到该许可所来自的远程计算机节点。将许可返回到该许可所来自的远程计算机节点需要本地许可后台程序140跟踪该许可源自何处,并且与远程计算机节点上的许可后台程序(例如我们本示例中的许可后台程序240)通信以将所请求的许可的最终释放通知给远程计算机节点上的许可后台程序。在所请求的许可已释放之后,从远程计算机节点的本地加密许可文件提供所请求的许可的该远程计算机节点上的许可后台程序将该许可释放返回到对于后续许可合适的本地许可池中。
为了防止滥用许可资格,提供所请求的许可的计算机节点的许可后台程序生成临时“一切顺利(all is well)”信号(被称为“心跳(heartbeat)”)并且将其发送给参与许可访问(也被称为许可“检查”)的所有其他计算机节点。如果为了某些原因,心跳信号没有按照预期那样被确认,则该心跳信号被称为已失败。如果该心跳信号失败,则许可检查过程所涉及的所有许可后台程序立即认为许可检查过程已失败。
心跳信号的失败导致经由API链路通知请求程序(例如程序120)其已成功请求的许可现在不可用并且先前成功的许可请求已终止。然后从许可后台程序的本地加密许可文件提供所请求的许可的该许可后台程序将该许可释放回到对于后续许可合适的本地许可池中。当从本地许可文件中满足许可请求时,不需要心跳信号。
除了被检查之外,许可还可以被借用。借用许可要求将来自一个许可文件的许可重新定位到另一个许可文件达预定(但有限)的时间段。
计算机节点中的许可后台程序可以请求从另一个计算机节点借用一个或多个许可。从概念上来说,许可借用过程类似于从一个节点到另一个的普通许可检查过程。但是在借用交易(transaction)中涉及的两个节点之间不存在保持的心跳信号。这使得借用节点可以从供体(donor)节点的网络断开并在借用节点离线(即没有连接到对等网络)时继续使用所借用的许可。供体节点认为所借用的许可已被检查。但是借用节点认为所借用的许可可用于由在借用节点上本地运行的程序进行检查。
图3说明第一计算机节点100如何从对等系统中的第二计算机节点200临时借用软件许可。当至少一个程序120提出许可请求时,许可库130将该请求发送到许可后台程序140。许可后台程序140首先尝试从其自己的加密许可文件150(未在图3中示出)访问(或“检查”)所请求的许可。如果所请求的许可在加密许可文件150中,则许可后台程序140将所请求的许可从许可库130提供给程序120。
如果所请求的许可没有在加密许可文件150中(即所请求的许可不是本地可用的),则许可后台程序140可以发布请求来从已知的远程节点(其也被称为远程主机)之一借用许可。图3说明第一计算机节点100的许可后台程序140和第二计算机节点200的许可后台程序240之间的连接和通信。尽管未在图3中示出,但是第二计算机节点200包括先前提到的地址文件,该地址文件包含对等系统中远程定位的许可节点的计算机地址。
许可后台程序240访问供体许可文件270以确定所请求的许可是否是被授权当作借用许可“借出”的许可。如果所请求的许可位于供体许可文件270内,则许可后台程序240将该所请求的许可标记为正在使用达所请求的时间段并且准许该许可请求。许可后台程序240将所请求的借用许可从许可库230提供给许可后台程序140。许可后台程序140将所请求的借用许可存储在借用许可文件170中并且允许请求程序120访问所请求的借用许可。
如果所请求的借用许可没有位于供体许可文件270内,则许可后台程序240报告找回到第一计算机节点100中的许可后台程序140。
当许可后台程序140向对等网络中的其他节点发出借用许可的请求时,其他节点将该请求级联到他们本地地址列表(如果有的话)中的其他节点直到找到所请求的许可或者许可搜索因为缺少对等网络中连接的任何节点上的所请求许可的可用性而失败为止。
如先前所提到的那样,当许可后台程序240向许可后台程序140发送借用许可时,许可后台程序140将所借用的许可存储在借用许可文件170中。存储在第一计算机节点100中的借用许可文件170中的所借用的许可表现为在所请求的时间段(即借用许可的“寿命”)期间的普通本地许可。
在所借用的许可被成功地存储在第一计算机节点100中的借用许可文件170中之后,第一计算机节点100的许可后台程序140和第二计算机节点200的许可后台程序240之间的网络连接被切断。在图3中用剪刀符号290示意性地表示所述切断。在离线(即没有连接到对等网络)时,借用节点(在我们的本示例中第一计算机节点100)可继续使用所借用的许可。
在借用节点和供体节点连接到公共网络的任何时候,借用节点(在我们的本示例中第一计算机节点100)可以检查返回到供体节点(在我们的本示例中第二计算机节点200)的借用许可。检查返回到供体节点的借用许可结束借用时段。
为了确保借用交易并加强借用许可的时间限制,有必要在借用借用许可时指定最大借用时间限制。供体节点和借用节点二者独立地跟踪最大借用时间限制(也被称为“超时”值)。如果超时值在借用许可从借用节点返回到供体节点之前期满,则将在借用者节点上自动禁用借用许可并且将在供体节点上自动启用(即检查返回到供体节点中的)该借用许可。
在借用许可仍处于超时值内的时间期间,借用许可保持有效。此外,有效的借用许可被认为对于来自借用节点的检查是可用的。因为网络的对等性能,不限于仅由在借用节点上运行的程序来检查借用许可。也就是说,借用许可可以用于请求该借用许可的其他连接节点。这意味着许可可以从供体节点(其用作许可服务器)临时重新定位到借用节点(其随后相对于供体节点离线),并且该借用节点随后可以用作借用许可的许可服务器。
图4说明第一计算机节点100如何用作借用许可的许可服务器并且将所借用的许可用于对等系统中的第三计算机节点300。第三计算机节点300包括应用过程310,该应用过程310进一步包括至少一个程序320和许可库330。该第三计算机节点300还包括其自己的许可后台程序340和地址文件360。尽管没有在图4中示出,但是第三计算机节点300还包括加密许可文件。
当至少一个程序320提出许可请求时,许可库330将该请求发送到许可后台程序340。许可后台程序340首先尝试从其自己的加密许可文件(未在图4中示出)访问(或“检查”)所请求的许可。如果所请求的许可在加密许可文件中,则许可后台程序340将所请求的许可从许可库330提供给程序320。
如果所请求的许可没有在加密许可文件中(即所请求的许可不是本地可用的),则许可后台程序340可以发布请求来从已知的远程节点(其也被称为远程主机)之一访问(或“检查”)许可。图4说明第三计算机节点300的许可后台程序340和第一计算机节点100的许可后台程序140之间的连接和通信。尽管未在图4中示出,但是第一计算机节点100包括加密许可文件150和包含对等系统中远程定位的许可节点的计算机地址的地址文件160。
许可后台程序140访问所借用的许可文件170以确定所请求的许可是否是可用的。如果所请求的许可位于借用许可文件170内,则许可后台程序140将该所请求的许可标记为正在使用并且准许许可请求。许可后台程序140将所请求的许可从借用许可文件170提供给许可后台程序340。许可后台程序340将所借用的许可提供给许可库330和请求程序320。
如果所请求的许可没有位于借用许可文件170内,则许可后台程序140报告找回到第三计算机节点300中的许可后台程序340。
当许可后台程序340向对等网络中的其他节点发出访问许可的请求时,其他节点将该请求级联到他们本地地址列表(如果有的话)中的其他节点直到找到所请求的许可或者许可搜索因为缺少对等网络中连接的任何节点上的所请求许可的可用性而失败为止。
如先前所提到的那样,当许可后台程序140向许可后台程序340发送借用许可时,许可后台程序340将所借用的许可提供给程序320。第一计算机节点100是已相对于原始供体节点(第二计算机节点200)离线的借用节点。第一计算机节点100又以这种方式用作将先前借用的许可用于第三计算机节点300的许可服务器。
图5说明示出本发明的方法的有利实施例的步骤的流程图500。在第一步骤中,提供计算机许可节点的对等网络(步骤510)。然后,第一计算机节点100中的请求程序120向其许可后台程序140发布许可请求(步骤520)。许可后台程序140在本地许可文件150和本地许可库130中搜索所请求的许可,并且如果找到,则将所请求的许可发送给请求程序120(步骤530)。
如果许可后台程序140在第一计算机节点100中没有找到所请求的许可,则许可后台程序140向对等网络中的每个计算机节点发送许可请求,对于所述计算机节点来说该许可后台程序140具有地址并且该许可请求通过网络节点级联(步骤540)。然后,第二计算机节点200中的许可后台程序240确定所请求的许可处于其本地许可文件250中并且处于其本地许可库230中(步骤550)。
然后,许可后台程序240(1)将所请求的许可标记为正在使用,并且(2)准许许可后台程序140的许可请求,并且(3)在许可准许的持续时间内将心跳信号发给许可后台程序140(步骤560)。当(1)请求程序120释放许可,或(2)当请求程序120终止,或(3)当心跳信号失效时,许可终止(步骤570)。当许可终止时,则许可后台程序240将该许可释放返回到对于后续许可合适的本地许可池中(步骤580)。
图6说明示出本发明的方法的另一个有利实施例的步骤的流程图600。在第一步骤中,提供计算机许可节点的对等网络(步骤610)。然后,第一计算机节点100中的请求程序120向其许可后台程序140发布许可请求(步骤620)。许可后台程序140在本地许可文件150和本地许可库130中搜索所请求的许可,并且如果找到,则将所请求的许可发送给请求程序120(步骤630)。
如果许可后台程序140没有在第一计算机节点100中找到所请求的许可,则许可后台程序140向对等网络中的每个计算机节点发送借用请求,对于所述计算机节点来说该许可后台程序140具有地址并且该借用请求通过网络节点级联(步骤640)。然后,第二计算机节点200中的许可后台程序240确定所请求的许可处于其本地供体文件270中并且处于其本地许可库230中(步骤650)。
然后,许可后台程序240(1)将所请求的许可标记为在所请求的时间限制内正在使用,并且(2)将所请求的借用许可发送到第一计算机节点100中的许可后台程序140和借用许可文件270中(步骤660)。然后,第一计算机节点100和第二计算机节点200之间的网络连接被切断并且该第一计算机节点100利用所借用的许可离线操作(步骤670)。
当离线操作时,则第一计算机节点100随后向第三计算机节点300许可所借用的许可(步骤680)。当原始请求时间限制期满时,所借用的许可自动终止(步骤690)。当所借用的许可终止时,则许可后台程序240将所借用的许可释放返回到对于后续许可或后续借用合适的本地许可池中(步骤695)。
阐明遍及该专利文件使用的某些词和短语的定义是有益的。术语“应用”、“程序”和“例程”指的是一个或多个计算机程序、指令集、过程、功能、对象、类、实例或适于以适合的计算机语言来实施的相关数据。术语“耦合”以及其衍生词指的是两个或更多元件之间任何直接或间接通信,而不管这些元件彼此是否是物理接触的。
术语“发射”、“接收”和“通信”以及其衍生词包括直接和间接通信。术语“包括”和“包含”以及其衍生词意味着非限制性地包括。术语“或”是包括性的,意味着和/或。短语“与...相关联的”和“与其相关联的”以及其衍生词可意味着包括、包括在内、与...互连、包含、包含在内、连接到或与...连接、耦合到或与...耦合、与...通信、与...协作、交错、并置、接近、绑定到或与...绑定、具有、具有...的属性等等。术语“控制器”意味着控制至少一个操作的任何设备、系统或其部分。控制器可以以硬件、固件、软件或其至少两个的某种组合来实施。与任何特定控制器相关联的功能可以是集中式的或分布式的,而不管是本地地还是远程地。
尽管本公开已描述了某些实施例以及通常相关联的方法,但是这些实施例和方法的变化和置换将对本领域技术人员来说是显而易见的。因此,示例实施例的上述描述不限定或约束本公开。在不偏离由下述权利要求限定的本发明的精神和范围的情况下,还有可能存在其他改变、替换和变化。

Claims (10)

1.一种用于管理软件许可的装置,包括:
在对等计算机网络中连接在一起的多个计算机(100、200、300),其中每个计算机是所述网络的计算机节点;
其中每个计算机节点包括作为软件许可提供器和软件许可用户而运行的软件许可管理控制器。
2.根据权利要求1所述的装置,其中每个计算机节点中的软件许可管理控制器包括与其他计算机节点中的其他许可后台程序(140)通信的许可后台程序(140)。
3.根据权利要求2所述的装置,其中第一计算机节点中的许可后台程序响应于从所述第一计算机节点中的请求程序接收到对软件许可的请求,在所述第一计算机节点中搜索所请求的软件许可。
4.根据权利要求3所述的装置,其中所述第一计算机节点中的许可后台程序响应于在所述第一计算机节点中没有找到所请求的软件许可,向其他计算机节点中的其他许可后台程序发送借用软件许可的请求。
5.根据权利要求4所述的装置,其中第二计算机节点中的许可后台程序确定所请求的软件许可位于所述第二计算机节点中;并且将所述所请求的软件许可标记为在所请求的时间限制内正在使用;以及将所述所请求的软件许可发送给所述第一计算机节点中的许可后台程序。
6.根据权利要求5所述的装置,其中在所述第一计算机节点已从所述第二计算机节点接收到所借用的软件许可之后,从所述第二计算机节点借用软件许可的第一计算机节点的连接被从所述第二计算机节点切断。
7.一种用于管理软件许可的装置,包括:
在对等计算机网络中连接在一起的多个计算机(100、200、300),其中每个计算机是所述网络的计算机节点;
其中每个计算机节点包括软件许可管理控制器,该软件许可管理控制器包括与其他计算机节点中的其他许可后台程序(140)通信的许可后台程序(140);
其中第一计算机节点中的许可后台程序响应于从所述第一计算机节点中的请求程序接收到对软件许可的请求,在所述第一计算机节点中搜索所述所请求的软件许可;以及
其中响应于在所述第一计算机节点中没有找到所请求的软件许可,所述第一计算机节点中的许可后台程序向其他计算机节点中的其他许可后台程序发送对许可所述软件许可的请求。
8.根据权利要求7所述的装置,其中当出现下述各项之一时所请求的软件许可终止:所述第一计算机节点中的请求程序释放所述所请求的软件许可,所述第一计算机节点中的请求程序终止操作;以及所述心跳信号失败。
9.一种用于管理软件许可的方法,包括下述步骤:
连接(510、610)对等计算机网络中的多个计算机,其中每个计算机是所述网络的计算机节点;
在每个计算机节点内提供软件许可管理控制器;以及
操作(520-580,620-695)作为软件许可提供器和软件许可用户的所述软件许可管理控制器。
10.根据权利要求9所述的方法,还包括步骤:
临时从第二计算机节点的软件许可管理控制器借用软件许可以由第一计算机节点的软件许可管理控制器使用;以及
将来自所述第一计算机节点的软件许可管理控制器的许可准许给第三计算机节点的软件许可管理控制器以使用从所述第二计算机节点的软件许可管理控制器借用的软件许可。
CN2009801066592A 2008-02-28 2009-02-10 用于临时重新定位可用软件许可的对等软件许可管理系统 Pending CN101960459A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/039,609 US20090222505A1 (en) 2008-02-28 2008-02-28 Peer to peer software license management system for temporarily relocating available software licenses
US12/039609 2008-02-28
PCT/US2009/033630 WO2009108487A1 (en) 2008-02-28 2009-02-10 Peer to peer software license management system for temporarily relocating available software licenses

Publications (1)

Publication Number Publication Date
CN101960459A true CN101960459A (zh) 2011-01-26

Family

ID=41013997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801066592A Pending CN101960459A (zh) 2008-02-28 2009-02-10 用于临时重新定位可用软件许可的对等软件许可管理系统

Country Status (5)

Country Link
US (1) US20090222505A1 (zh)
EP (1) EP2248058B1 (zh)
CN (1) CN101960459A (zh)
CA (1) CA2717139A1 (zh)
WO (1) WO2009108487A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8255249B1 (en) 2007-10-19 2012-08-28 Sprint Communications Company L.P. Project equipment allocation planning tool
US8156540B2 (en) * 2009-01-28 2012-04-10 Dell Products, Lp System and method for managing feature enablement in an information handling system
US8380837B2 (en) 2010-09-07 2013-02-19 International Business Machines Corporation Software license management within a cloud computing environment
GB2508645A (en) * 2012-12-07 2014-06-11 Ibm Software licence management in a peer-to-peer network
US20150088680A1 (en) * 2013-09-24 2015-03-26 Xerox Coporation Methods and systems for operating a marketplace for software products
US20150336005A1 (en) * 2014-05-20 2015-11-26 Cadillac Jack Electronic gaming system with central game licensing
US10389794B2 (en) * 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US9888057B2 (en) 2015-05-21 2018-02-06 International Business Machines Corporation Application bundle management across mixed file system types
US10389850B2 (en) * 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US9965262B2 (en) 2015-05-21 2018-05-08 International Business Machines Corporation Application bundle pulling
US10530660B2 (en) 2015-05-21 2020-01-07 International Business Machines Corporation Application bundle preloading
US10152516B2 (en) 2015-05-21 2018-12-11 International Business Machines Corporation Managing staleness latency among application bundles
US10713338B2 (en) 2017-03-09 2020-07-14 Microsoft Technology Licensing, Llc Source-based authentication for a license of a license data structure
US20210390645A1 (en) * 2020-06-16 2021-12-16 OSAAP America, LLC Offline License Distribution Device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143134A1 (en) * 2004-12-25 2006-06-29 Nicol So Method and apparatus for sharing a digital access license
JP2007249804A (ja) * 2006-03-17 2007-09-27 Canon Software Inc ライセンス管理システムおよび情報処理装置およびライセンス管理装置およびライセンス管理方法およびプログラムおよび記録媒体
US20070233782A1 (en) * 2006-03-28 2007-10-04 Silentclick, Inc. Method & system for acquiring, storing, & managing software applications via a communications network

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3032788B2 (ja) * 1991-05-08 2000-04-17 ディジタル イクイプメント コーポレイション ライセンス管理システム
US5629980A (en) * 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
US5671412A (en) * 1995-07-28 1997-09-23 Globetrotter Software, Incorporated License management system for software applications
US5790664A (en) * 1996-02-26 1998-08-04 Network Engineering Software, Inc. Automated system for management of licensed software
JP3618917B2 (ja) * 1996-08-05 2005-02-09 株式会社東芝 情報収集方法
US7162538B1 (en) * 2000-10-04 2007-01-09 Intel Corporation Peer to peer software distribution system
JP2003021225A (ja) * 2001-07-09 2003-01-24 Koyo Seiko Co Ltd プーリユニット
JP2003099142A (ja) * 2001-09-26 2003-04-04 Mitsubishi Electric Corp ソフトウェアのライセンス管理システム
US6915278B1 (en) * 2002-03-22 2005-07-05 Borland Software Corporation License management method and system
EP1436754A4 (en) * 2002-04-29 2010-03-24 Contentguard Holdings Inc SYSTEM AND METHOD FOR SPECIFICATION AND METHOD OF EXPRESSION OF LEGALITY
TW555090U (en) * 2002-06-26 2003-09-21 Sen-Jeng Wang Wireless keyboard structure for PDA
US7565325B2 (en) * 2002-07-09 2009-07-21 Avaya Technology Corp. Multi-site software license balancing
US7885896B2 (en) * 2002-07-09 2011-02-08 Avaya Inc. Method for authorizing a substitute software license server
US20050289072A1 (en) * 2004-06-29 2005-12-29 Vinay Sabharwal System for automatic, secure and large scale software license management over any computer network
WO2006054988A2 (en) * 2004-11-18 2006-05-26 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US20070016452A1 (en) * 2005-06-08 2007-01-18 Wilson James B Iii Method, software and device for managing patient medical records in a universal format using USB flash drive and radio telephone auto dialer and siren
US7881652B2 (en) * 2005-06-30 2011-02-01 Lexmark International, Inc. Modular printer and scanner ADF duplexer feedpath including second tray
US20070157308A1 (en) * 2006-01-03 2007-07-05 Bardsley Jeffrey S Fail-safe network authentication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143134A1 (en) * 2004-12-25 2006-06-29 Nicol So Method and apparatus for sharing a digital access license
JP2007249804A (ja) * 2006-03-17 2007-09-27 Canon Software Inc ライセンス管理システムおよび情報処理装置およびライセンス管理装置およびライセンス管理方法およびプログラムおよび記録媒体
US20070233782A1 (en) * 2006-03-28 2007-10-04 Silentclick, Inc. Method & system for acquiring, storing, & managing software applications via a communications network

Also Published As

Publication number Publication date
US20090222505A1 (en) 2009-09-03
CA2717139A1 (en) 2009-09-03
EP2248058B1 (en) 2017-04-05
EP2248058A1 (en) 2010-11-10
WO2009108487A1 (en) 2009-09-03
EP2248058A4 (en) 2012-12-19

Similar Documents

Publication Publication Date Title
CN101960459A (zh) 用于临时重新定位可用软件许可的对等软件许可管理系统
US10855446B2 (en) Autonomous exchange via entrusted ledger
CN111383021B (zh) 基于区块链网络的节点管理方法、装置、设备及介质
US9125050B2 (en) Secure near field communication server information handling system lock
CN100444544C (zh) 验证系统,服务器和验证方法及程序
US10262127B2 (en) Systems and method for securely sharing and executing data and models
CN100592311C (zh) 独立于操作系统的数据管理
US7885896B2 (en) Method for authorizing a substitute software license server
CN102016861A (zh) 以断开或间歇连接的模式运行的软件许可证管理系统
US8385551B2 (en) Highly available cryptographic key storage (HACKS)
US20090119218A1 (en) License management apparatus, license management method, and license authentication program
CN101681257A (zh) 虚拟机控制
CN1971577B (zh) 许可证管理系统内的安全备份许可证服务器的方法和系统
US20070094323A1 (en) Managed resource sharing method and apparatus
US20070091809A1 (en) Managed network resource sharing and optimization method and apparatus
US11876913B2 (en) Control method, control system, first server, and data structure
CN102316152A (zh) 分布式服务授权管理
US20060064387A1 (en) Systems and methods for software licensing
US11556103B2 (en) Control method, control system, first server, and data structure
JP4385111B1 (ja) セキュリティレベル制御ネットワークシステム
KR102406388B1 (ko) 블록 체인 거래를 위한 분산 쉐어링 알고리즘 기반 암호화 키 관리 방법 및 이를 처리하는 단말 장치
EP4229818A1 (en) Distributed key management system
US11250150B2 (en) File synchronization and centralization system, and file synchronization and centralization method
US9602546B2 (en) Accurate license counting in synchronized servers
CN111784879B (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110126