CN101233470A - 用于分级许可服务器的方法和系统 - Google Patents

用于分级许可服务器的方法和系统 Download PDF

Info

Publication number
CN101233470A
CN101233470A CNA200680028275XA CN200680028275A CN101233470A CN 101233470 A CN101233470 A CN 101233470A CN A200680028275X A CNA200680028275X A CN A200680028275XA CN 200680028275 A CN200680028275 A CN 200680028275A CN 101233470 A CN101233470 A CN 101233470A
Authority
CN
China
Prior art keywords
server
permit
micro
permit server
permission
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
CNA200680028275XA
Other languages
English (en)
Inventor
柯克·A·麦克莱恩
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.)
Rovi Corp
Original Assignee
Macrovision 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 Macrovision Corp filed Critical Macrovision Corp
Publication of CN101233470A publication Critical patent/CN101233470A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

Landscapes

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

Abstract

公开了一种用于分级许可服务器的方法和系统。根据一个实施例,一种计算机执行的方法包括从多个客户机接收多个许可请求。使用多个微型服务器为所述许可请求提供服务,每个微型服务器响应所述多个许可请求中的许可请求,向所述多个客户机中的客户机分发许可。初级许可服务器向所述多个微型服务器提供所述许可。

Description

用于分级许可服务器的方法和系统
技术领域
本发明一般地涉及计算机系统,并且更特别地涉及用于分级许可服务器的方法和系统。
背景技术
一般地,当出售软件时,购买者被授权许可使用软件。这样的许可对能够同时使用的计算机的数目、使用的期限、在多用户系统的情况下被允许同时使用软件的用户数目等等施加限制。
然而,最近几年中,超过许可所施加的限制的软件的非法使用已经成为公众关注的对象。例如,在许可的条款中,市场上大多数软件仅仅允许一台计算机运行该软件。然而,如果软件没有结合在软件之中的非法使用预防功能,则这样的软件能够容易地在众多计算机上使用。
因此,已经开发了各种各样的技术以预防软件的非法使用。一些这样的技术使用计算机专用的识别信息。使用容量相关的量度而被许可的商业软件常常包括确认系统,或者运行着确认系统,所述确认系统确认软件是否在服从当前许可期限和条件的环境中运行。商业软件可以使用市场上可买到的在本领域中被称为“许可管理器”的软件应用程序,诸如ISOGON的IFOR或Macrovision的FLEX-LM,其使用“许可钥匙”来解锁商业软件的至少一个组成部分。典型地,评估许可的某种电子形式,并且为确认系统提供许可钥匙,以根据商业软件许可期限和条件来审查并控制商业软件。
随着许可管理软件渗透遍及企业,现有的许可服务器体系结构和构形已经不能满足需要。
发明内容
公开了用于分级许可服务器的方法和系统。根据一个实施例,计算机执行的方法包括从多个客户机接收多个许可请求。使用多个微型服务器为许可请求提供服务,每个微型服务器响应所述多个许可请求中的许可请求,向所述多个客户机中的客户机分发许可。初级许可服务器向多个微型服务器提供许可。
包括元件的实现和组合的各种新颖细节的上述以及其它优选特征,现在将参考附图更加详细地描述并且在权利要求中指出。将会理解的是,在此描述的具体方法和电路仅仅是作为示例被显示而不是作为限制。如本领域技术人员将会理解的那样,在此描述的原理和特征可以在不同且众多的实施例中使用而不脱离本发明的范围。
附图说明
被包括作为本说明书的一部分的附图图示了本发明的当前优选实施例,并且和上面给出的一般描述以及下面给出的优选实施例的具体描述一起用于解释和教导本发明的原理。
图1图示了根据本发明的一个实施例的示范性软件许可管理系统的框图;
图2图示了根据本发明的一个实施例的供当前系统使用的示范性计算机体系结构;
图3图示了根据本发明的一个实施例的示范性许可服务器分级结构的框图;
图4图示了根据本发明的一个实施例的具有微型服务器组的示范性许可服务器分级结构400的框图;
图5图示了根据本发明的一个实施例的示范性许可借用系统500的框图;
图6图示了根据本发明的一个实施例的具有卖方控制的许可服务器的许可服务器分级结构600的框图;
图7图示了根据本发明的一个实施例的示范性冗余服务器体系结构700的框图;
图8图示了根据本发明的一个实施例的具有软件锁(dongle)830的示范性冗余服务器体系结构800的框图;
图9图示了根据本发明的一个实施例的具有卖方许可服务器的示范性冗余服务器体系结构的框图;
图10图示了根据本发明的一个实施例的具有冗余卖方服务器组的示范性冗余服务器体系结构的框图;
图11图示了根据本发明的一个实施例的具有冗余卖方服务器组和冗余消费者许可服务器组的示范性冗余服务器体系结构的框图;并且
图12图示了根据本发明的一个实施例的用于分级许可服务的示范性过程的流程图。
具体实施方式
公开了用于分级许可服务器的方法和系统。根据本发明的一个实施例,计算机执行的方法包括从多个客户机接收多个许可请求。使用多个微型服务器为许可请求提供服务,每个微型服务器响应所述多个许可请求中的许可请求,向所述多个客户机中的客户机分发许可。初级许可服务器向多个微型服务器提供许可。
在以下描述中,为了说明起见,特定术语被阐述以提供在此公开的各种创造性概念的全面理解。然而,对本领域技术人员而言将会明显的是,为实施在此公开的各种创造性概念,这些特定细节不是必需的。
依据对计算机存储器之内的数据位进行操作的算法和符号化表示,给出以下详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域中其他技术人员的手段。算法在这里并且一般被构想为导致预期结果的有条理的一系列步骤。这些步骤是那些需要对物理量进行物理操作的步骤。通常,虽然不是必须,这些物理量采取能够被存储、传送、组合、比较以及其它操作的电或磁信号的形式。不时已证明方便的是,主要为了公共使用的原因,将这些信号称为位、值、码元、符号、字符、项、数字等。
然而,应当认识到的是,这些以及类似的术语与适当的物理量相关联,并且仅仅是适用于这些量的方便标记。除非特别声明,否则如从以下讨论中明显的那样,可以意识到的是,贯穿说明书,利用术语诸如“处理”或“用计算机计算”或“计算”或“确定”或“显示”等的讨论,指的是计算机系统或类似的电子计算装置的行为和过程,所述计算机系统或类似的电子计算装置操作计算机系统的寄存器和存储器之内的被表示为物理(电子)量的数据,并且将所述数据转换成计算机系统存储器或寄存器或其他这样的信息存储、传送或显示装置之内类似地被表示为物理量的其它数据。
本发明也涉及用于执行这里的操作的设备。这种设备可以专门构造用于需要的目的,或者它可以包括通过计算机中存储的计算机程序选择性地激活或重构的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,诸如但不限于任何类型的盘,包括软盘、光盘、CD-ROM和磁性光盘,以及只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、或者适合于存储电子指令并且每个耦合到计算机系统总线的任何类型的介质。
在此提供的算法和显示不是固有地涉及任何特定的计算机或其它设备。各种通用系统可以与根据在此的教导的程序一起使用,或者可以证明方便的是,构造更加专业化的设备以执行需要的方法步骤。用于多种这样的系统的所需结构将会从下面的描述中出现。另外,本发明没有参考任何具体的编程语言来描述。将会意识到的是,多种编程语言可以用于实现本发明的教导,如在此描述那样。
如在此使用的那样,以下术语将具有以下意义而不考虑其大小写。
“后端”指的是服务器、计算机或系统,它们受软件卖方控制,或者由软件卖方授权以接收并处理从使用软件的用户那里接收的信息,所述软件被卖方许可给该用户。
“用户”指的是许可软件的被许可者。
“文件”指的是通常被理解为计算机文件的东西,但是如这里使用的那样,也包括用于存储和检索数字数据的任何系统,包括数据库管理器、登记、目录和数据对象。
“前端”指的是服务器、计算机或系统,它们受用户控制,或者由用户授权以执行、管理和/或报告被许可给用户的软件的使用。
“许可小程序(applet)”指的是微型服务器,其装载在客户机系统上以支持借用的许可。
“主服务器”指的是冗余服务器配置中唯一被允许进行授权许可请求的许可服务器。如果这个主服务器故障,则其它冗余服务器将协商确定哪一个成为新的主服务器。
“微型服务器”指的是在用户处的服务器,其连接到初级许可服务器,并且是用于连接全部客户机且校验许可的中心点。
“初级许可服务器”指的是在用户处的服务器,其可以处在用户的控制之下。根据配置,它将执行以下行为中的一些或全部:
·它是用于连接全部微型服务器并且进行许可请求的中心点。
·在卖方处(如果存在的话)连接许可服务器以检索许可。
·读取本地许可文件。
·将许可分发给客户机应用程序。
“次级服务器”指的是冗余服务器配置中不被允许进行授权许可的许可服务器,因为它仅是主服务器的镜像。
“服务器”指的是计算机进程,其中,其它计算机应用程序、操作系统、系统软件或计算服务与该计算机进程交互作用。在这个定义之内,如术语“客户机-服务器”、“多级计算”、“3级计算”、网络服务或环球网服务中使用的那样的服务器被包括在内。
“卖方”指的是被许可软件的许可者,包括它的版权所有者以及由版权所有者授予权利出售或分发许可给用户以使用被许可的软件的其他方。
“卖方许可服务器”指的是存在于卖方处并且负责为给定的用户维护所有许可的服务器。
图1图示了根据本发明的一个实施例的示范性软件许可管理系统的框图。除了许可管理系统之外,可以意识到的是,使用在此的各种教导的其它系统也可以用于实施本发明的各种方面,并且同样地被认为是在本发明的全部范围之内。
系统100包括前端服务器101(也被称为初级许可服务器),其可配置用于控制许可软件的使用,并且可选地,也可以诸如经由直播电话号码、互联网统一资源定位器(URL)、电子邮件地址或其它联网地址,安全地与在指定的目的地处可得到的后端服务器102(也称为卖方许可服务器)进行通信。许可软件应用程序在连接在网络107中的各种前端计算机(也被称为客户机)上运行,所述网络107包括前端服务器101和被表示为计算机104-106的其它计算机。系统100表示多种许可管理配置中的一种,其中客户机104-106直接连接到初级许可服务器101以获得许可。初级许可服务器101包括许可管理软件。
网络107可以是局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)或由被许可软件的用户管理或控制的其它网络。通过通信介质103如互联网、专用网或直接拨号连接来进行前端服务器101和后端服务器102之间的通信,其中,所述前端服务器101优选地驻留在由被许可软件的用户所指定或授权的位置,而所述后端服务器102则优选地驻留在由被许可软件的卖方所指定或授权的位置。在互联网的情况下,例如使用安全套接字层协议(SSL)和虚拟专用网(VPN),优选地执行消息收发的安全传送。
可替换地,代替前端服务器101或除了前端服务器101之外,可以配置用网络107上的前端计算机104-106表示的前端计算机中的任何一个或多个,以控制它的被许可软件和/或其它这样的计算机的被许可软件的使用,生成电子邮件消息,并安全地传递电子邮件消息给后端服务器102。因此,如在此使用的那样和在以后的权利要求中,当执行这样的功能时,术语“前端服务器”被理解为也包括这样的前端计算机。除了某个前端计算机被配置以运行被许可的应用软件之外,前端服务器101也可以被这样配置。
后端服务器102被配置用于接收、认证和处理许可管理消息、电子邮件消息,并将电子邮件消息递送到最终接受者,该最终接受者可以是个人或软件实体,如经营活动软件。这样的经营活动软件的例子包括企业资源计划软件(ERP)、电子商务软件(诸如用于在互联网上进行交易的软件)、用户关系管理软件(CRM)以及销售力量自动化软件(SFA)。
图2图示了根据本发明的一个实施例的供当前系统使用的示范性计算机体系结构。计算机体系结构200既能够用于实现图1的前端计算机(客户机)104-106、前端服务器101,又能够用于实现后端服务器102。体系结构200的一个实施例包括:系统总线220,用于传递信息;以及处理器210,其耦合到总线220用于处理信息。体系结构200进一步包括随机存取存储器(RAM)或其它的动态存储装置225(在此被称为主存储器),其耦合到总线220,用于存储将要由处理器210执行的信息和指令。主存储器225还可以用于在处理器210执行指令期间存储临时变量或其它中间信息。体系结构200还可以包括只读存储器(ROM)和/或其它静态存储装置226,其耦合到总线220用于存储处理器210使用的静态信息和指令。
数据存储装置227,如磁盘或光盘及其相应的驱动器,也可以耦合到计算机系统200用于存储信息和指令。体系结构200也能够经由I/O接口230耦合到第二I/O总线250。多个I/O装置可以耦合到I/O总线250,包括显示装置243、输入装置(例如字母数字输入装置242和/或光标控制装置241)。例如,网页和商务相关的信息可以在显示装置243上向用户展示。
通信装置240允许经由网络访问其它计算机(服务器或客户机)。通信装置240可以包括调制解调器、网络接口卡、无线网络接口或其它众所周知的接口装置,诸如用于耦合到以太网、令牌环或其它类型的网络的接口装置。
图3图示了根据本发明的一个实施例的示范性许可服务器分级结构300的框图。许可服务器分级结构300包括:顶级的初级许可服务器301,其读取许可文件并维护所有许可的列表;微型服务器310-313,其向客户机应用程序分发许可;以及客户机304-309,其连接到微型服务器310-313。当初级许可服务器301启动时,它将读取许可文件并维护所有可用许可的列表。在一个实施例中,初级许可服务器301然后等待微型服务器310-313连接到它。由于初级许可服务器301读取许可文件,因此它将需要被许可以在特定的主机上运行。另外,如果用户希望如此,则初级许可服务器301将能够直接向客户机304-309分发许可。
根据一个实施例,启动时,每个微型服务器310-313将连接到初级许可服务器301以在分级结构300之内登记它的存在。初级许可服务器301根据其配置,可以向发出请求的微型服务器310-313发出针对给定特征可用的总体许可中的某些部分。这些许可将保持在微型服务器310-313中的存储器中,以便在需要时它们能够被分发给客户机应用程序。当微型服务器例如微型服务器313用完许可时,它向初级许可服务器301请求更多许可。如果初级许可服务器301不具有任何可用的许可,则它将要求其它微型服务器310-312中的一个返回一定数目的未使用的许可。如果微型服务器310-312中的任何一个都没有未使用的许可,那么来自客户机如客户机309的校验请求可能失败。也可以将该校验请求进行排队,并且在稍后的时间处理。
每个微型服务器310-313定期地以使用信息更新初级许可服务器301,以便初级许可服务器301能够记录它并跟踪哪个客户机304-309连接到哪个微型服务器310-313。在某些配置中,许可被经常校验。在一个实施例中,为了网络不被涉及校验许可的使用数据充满,使用数据被分批、压缩并然后发送到初级许可服务器301。因为微型服务器310-313通过初级许可服务器301通信,所以微型服务器310-313不需要彼此通信。这允许用户维持离散的网络但仍维持单个的初级许可服务器301。
根据另一个实施例,分级结构300可以适合于包括冗余微型服务器。如果微型服务器例如微型服务器312性能下降,则连接到它的客户机例如客户机306-308将能够连接到另一个微型服务器例如微型服务器311以获得许可。
初级许可服务器301使用关于其它微型服务器的信息更新每个微型服务器310-313。每个微型服务器310-313又使用关于其它微型服务器310-313的信息更新它的客户机304-309。在微型服务器310-313发生崩溃或者其它故障的情况下,客户机304-309能够自动转换到另一个微型服务器310-313。客户机304-309将缓存关于其它微型服务器310-313的信息,以便下次它启动时,如果它的优选微型服务器不可用的话,它能够发现备用微型服务器。
根据卖方发出的许可,当微型服务器310-313失去它与初级许可服务器301的连接时,它可以被配置以执行以下行为:
·继续为当前连接的客户机304-309提供服务,但不允许新的许可请求。
·继续为它的许可分配提供服务一段时间。
·退出并迫使客户机304-309连接到另一个微型服务器310-313。
·退出并迫使客户机304-309退出。
由于微型服务器310-313不读取许可文件,所以它们不需要被许可到特定主机。这允许用户运行它期望的任何数目的微型服务器310-313。在替换的实施例中,卖方可以许可初级许可服务器301,使得它将仅仅允许特定数目的微型服务器连接到它。
初级许可服务器301维护使用数据,因此它能够跟踪哪个客户机304-309连接到哪个微型服务器310-313。当客户机例如客户机306因为微型服务器312不再有响应,而从微型服务器312转换到另一个微型服务器例如微型服务器311时,客户机306向新的微型服务器311发送消息:它失去了它到先前的微型服务器312的连接。这个信息然后被发送到初级许可服务器301。这样,初级许可服务器301知道它能够从断开的微型服务器312去除这个许可,并且将该许可释放到旁边的微型服务器311。初级许可服务器301针对断开的微型服务器312继续保持许可的时间段由卖方确定,该卖方具有它们授权给初级许可服务器的许可。这可以是到微型服务器的初级许可服务器301的连接断开而仍允许微型服务器提供许可服务的相同时间量。
本方法和系统允许微型服务器310-313之间的负载平衡。初级许可服务器301维护的使用信息用于确定微型服务器310-313中每一个服务器上的负载。这允许初级许可服务器确定如何平衡微型服务器310-313中每一个服务器上的客户机负载。当初级许可服务器301确定微型服务器例如微型服务器312处在它的最大负载时,它将发送指令给微型服务器312,以将客户机306-308重新定向到另一个微型服务器例如微型服务器311。
根据配置,最大负载可以基于不同的指示器,这里列出其中的一些:
·微型服务器310-313被配置用于的许可的最大数目。
·微型服务器310-313处理的每秒的许可请求的数目。
·全部微型服务器310-313之间的负载的平均划分。
·微型服务器310-313按照顺序的放置,使得全部客户机304-309被定向到列表中的第一微型服务器,直到它已到达它的最大负载为止,然后将客户机304-309定向到无论逻辑上还是物理上的下一个微型服务器。
·日时刻。
本地管理员可以配置这些参数。
图4图示了根据本发明的一个实施例的具有微型服务器组的示范性许可服务器分级结构400的框图。许可服务器分级结构400包括微型服务器组410和420、微型服务器411、412、421、422以及客户机404-409。用户可以将微型服务器411-412、421-422配置成逻辑组,例如加利福尼亚(California)组410和英国(UK)组420。
这提供了若干附加能力。用户配置初级许可服务器401以限定在某段时间上任何给定的组410、420中允许的许可的最大和最小数目。例如,如果有公司在加利福尼亚和英国有办公室,则有意义的是,在英国的工作时间期间将大多数的许可分配给英国,然后在加利福尼亚的工作时间期间将大多数的许可分配给加利福尼亚。根据一个实施例,客户机404-409能够重新定向到同一组中的另一个微型服务器。
关于如上所述的负载平衡,组标识符用于微型服务器411、412、421、422。初级许可服务器401仅仅将客户机例如404-406重定向到同一组中的另一个微型服务器,例如组410中的微型服务器412。本地管理员有能力在微型服务器411、412、421、422之间配置组信息和负载平衡。
图5图示了根据本发明的一个实施例的示范性许可借用系统500的框图。当客户机例如膝上型计算机504从初级许可服务器如初级许可服务器501断开时,需要许可借用机制。许可借用系统500包括初级许可服务器501、客户机505、506和膝上型计算机504。膝上型计算机504包括许可服务器小程序507、安全存储装置508和向初级许可服务器501请求许可的客户机应用程序509。当借用许可的请求发生时,许可小程序507向微型服务器或者初级服务器501请求借用许可,这取决于它连接到什么。许可小程序507将这个许可缓存在加密文件或其它安全存储装置508中。当客户机应用程序509运行时,它向本地许可服务器(在这种情况下为服务器小程序507)请求许可。
如果从微型服务器借用许可,则微型服务器将这个使用信息传送到初级服务器如初级许可服务器501,以便如果某处服务器故障,则保存借用信息。另外,这允许借用许可被返回到任何微型服务器。在另一个实施例中,客户机504维持不变的借用许可达某个特定的时间段。初级服务器501的卖方许可确定像这样的事情以及最大与最小借用时期。
图6图示了根据本发明的一个实施例的具有卖方控制的许可服务器的许可服务器分级结构600的框图。分级结构600包括客户机604-609、微型服务器611-614、用户初级许可服务器601以及通过互联网603连接的卖方控制的许可服务器602。卖方许可服务器602在卖方控制之下。卖方许可服务器602是否是在卖方处并不重要。在用户处的初级许可服务器601将连接到卖方许可服务器602并从卖方许可服务器602检索它的许可。
根据卖方的许可配置,在用户处的初级服务器601将许可缓存在加密文件或其它安全存储器中。在初级服务器601和卖方许可服务器602之间失去通信的情况下,初级许可服务器601能够继续为许可提供服务一段时间。如果用户的初级服务器601在卖方规定的一段时间内没有与卖方许可服务器602通信,则用户的初级服务器601不能实现许可请求。
卖方控制的许可服务器602为卖方提供众多好处。例如:
·卖方对许可的发布和存储具有完全的控制;
·用户没有看到许可的文本,使用户对许可的篡改最小化;
·阻止电脑黑客创建假冒的许可;
·如果卖方未得到付款,则许可能够被撤销;
·在用户处的用于许可管理的支持负载减少;
·易于重新作主(re-hosting)初级许可服务器601;以及
·全特征使用信息对于卖方是可得的,包括基于使用的许可和安全计费。
卖方控制的许可服务器602同样为用户提供众多好处。例如:
·用户不需要担心包括许可钥匙或许可文件的许可管理;
·易于重新作主初级许可服务器601;
·冗余服务器的问题被减轻;
·许可检索被自动化,使得如果客户机请求初级服务器601不知道的特征,则初级服务器601能够联系卖方服务器602并下载该特征。
图7图示了根据本发明的一个实施例的示范性冗余服务器体系结构700的框图。冗余服务器可以是基于软件锁的3服务器冗余方案,以连接到卖方许可服务器的方式实现冗余,或者是其它类似的冗余机制。冗余服务器体系结构700包括三个冗余服务器721-723,其连接到微型服务器711-714,所述微型服务器711-714连接到客户机704-709。当冗余服务器720启动时,它们彼此交换信息。因为微型服务器711-714或客户机704-709连接到这些冗余服务器720中的一个,所以它们被给予关于所有可能的冗余服务器720连同当前主许可服务器721的全部信息。如果微型服务器711-714或客户机704-709当前没有连接到主许可服务器721,则它将被重定向到主许可服务器721。
根据一个实施例,只有主许可服务器721分发许可。次级许可服务器721-723由主许可服务器721定期更新以反映主许可服务器721的当前状态。如果主许可服务器721崩溃,那么剩余的次级许可服务器712-713在它们自己之间协商以确定谁将是新的主许可服务器。如果主许可服务器721性能下降或失去通信,那么已检测到失去了到主服务器721的连接的客户机704-709或微型服务器711-714将业务量重定向到次级许可服务器722-723中的一个,使得许可校验继续而不中断。
体系结构700包括三个初级许可服务器720,其中一个被指定为主许可服务器721,而其它两个则是次级镜像许可服务器722-723。卖方发出的许可包括来自所有三个许可服务器720的主机id。三个冗余服务器720中的至少两个必须运行并彼此通信以向微型服务器711-714或客户机704-709分发许可。
图8图示了根据本发明的一个实施例的具有软件锁830的示范性冗余服务器体系结构800的框图。借助于软件锁830,用户能够运行任何数目的初级许可服务器821-823,其中只有具有软件锁830的服务器是主许可服务器821,并且分配许可到微型服务器811-814或客户机804-809。其它次级许可服务器822-823充当主许可服务器821的镜像并且不授权许可。
如果微型服务器811-814或客户机804-809失去了它到具有软件锁830的主许可服务器821的连接,则它连接到次级许可服务器822-823中的一个。根据卖方如何许可冗余服务器配置的情况,它们可以允许没有软件锁830的次级许可服务器822-823分发许可达一段短的时间,以允许软件锁830被移动而不中断服务。
当软件锁830连接到次级许可服务器822-823中的一个时,次级许可服务器例如822成为新的主许可服务器,并且将该信息发送到其它次级服务器例如服务器823。由于新的主许可服务器822是原主许可服务器821的镜像,所以它具有所有的连接和使用信息。新的主许可服务器822能够连接到每个微型服务器811-814以告知它哪个服务器是新的主许可服务器。
图9图示了根据本发明的一个实施例的具有卖方许可服务器931的示范性冗余服务器体系结构900的框图。冗余服务器体系结构900包括卖方控制的许可服务器931、冗余服务器组920、微型服务器911-914以及客户机904-909。卖方控制的许可服务器931和冗余服务器组920经由互联网940连接。体系结构900类似于使用软件锁的体系结构800。初级主许可服务器921从卖方许可服务器931和任何数目的在用户处的次级镜像服务器下载许可。如果主许可服务器921性能下降,那么次级许可服务器中的一个922成为主许可服务器,并且连接到卖方许可服务器931以检验许可并然后授权许可请求。如果主许可服务器921失去与卖方许可服务器931的通信,则可以由卖方许可服务器931授权许可主许可服务器921运行一段时间。
图10图示了根据本发明的一个实施例的具有冗余卖方服务器组1030的示范性冗余服务器体系结构1000的框图。体系结构1000包括冗余卖方服务器组1030、用户初级许可服务器1021、微型服务器1011-1014以及客户机1004-1009。冗余服务器组1030经由互联网1040连接到用户初级服务器1021。冗余卖方服务器组1030包括:一个主卖方许可服务器1031,其实现来自用户初级许可服务器1021的请求;以及一定数目的镜像次级卖方许可服务器1032-1033。
卖方维护多个冗余服务器1032-1033以保证对它的用户的正常运行时间。由于卖方次级许可服务器1022-1023在卖方的控制之下,所以冗余卖方服务器组1030与在用户处维护冗余服务器相比更加易于维护。当用户初级许可服务器1021失去它到卖方主许可服务器1031的连接时,它连接到卖方的次级许可服务器(例如卖方次级许可服务器1032)以继续发出许可。
图11图示了根据本发明的一个实施例的具有冗余卖方服务器组1130和冗余用户许可服务器组1120的示范性冗余服务器体系结构1100的框图。不像图10的体系结构1000示出单个初级服务器1021连接到冗余服务器组1030的卖方主许可服务器1031,体系结构1100图示了初级冗余服务器组1120配置的主用户许可服务器1121与卖方冗余服务器组1130的卖方主许可服务器1131通信。
存在若干方法,所述方法允许客户机如客户机1104-1109发现各种微型服务器(例如微型服务器1111-1114),并且允许微型服务器(例如微型服务器1111-1114)发现初级主许可服务器(例如初级主许可服务器1121)。以下是这些方法的例子:
·客户机配置有必要的信息以发现微型服务器。
·发送服务器答复的广播消息。
·视窗(Windows)上的目录服务。
·在没有其它配置信息的情况下,硬编码缺省主机名称如“licenseserver”以寻找。用户能够为此在它们的网络上设立DNS条目。主机名称可通过卖方配置。
·初级服务器被配置成为所有配置和地址信息的储存库。
○对于客户机,初级服务器发送关于所有微型服务器的信息。客户机缓存该信息供稍后使用。
○对于微型服务器,初级服务器被配置用于了解使用的所有微型服务器,以便初级服务器连接到微型服务器。初级服务器向连接的微型服务器发送关于所有其它微型服务器的信息。这个方法允许用户当只有一个系统被配置时管理它的配置。
·动态重定向,使得如果客户机连接到初级或微型服务器,则这些服务器中的任何一个可以将客户机重定向到另一个服务器。另外,微型服务器将能够在会话期间的任何时间重定向客户机。重定向允许支持微型服务器的从容关闭以及负载平衡。
根据一个实施例,如上所述的许可服务器可以被实现为网络设备。上面描述的分级服务器允许网络设备用作初级或微型服务器。网络设备是嵌入式LINUX平台(box),例如也许具有用于配置的网络接口。加密的许可将存储在快闪RAM中,使电脑黑客更加难以查看什么正在进行。用户不需要用许可文件或许可服务器做任何事情。仅仅“即插即用”。
许可服务器网络设备预先装载有必要的许可。许可设备用作安全初级许可服务器。当从卖方发货时,它知道卖方的许可服务器地址,并且当启动时,它自动连接到卖方许可服务器并下载许可。用户使用网络接口以手工配置许可或连接到卖方的许可服务器。几个设备被插到网络中以充当负载平衡的微型服务器。
图12图示了根据本发明的一个实施例的用于分级许可服务的示范性过程1200的流程图。过程1200允许卖方控制的许可服务器提供许可给多个用户初级许可服务器(1210)。许可被从多个用户初级许可服务器发送到多个微型服务器(1220)。微型服务器从客户机那里接收许可请求(1230)。通过向客户机提供许可,微型服务器为请求提供服务(1240)。
用于分级许可服务器的方法和系统已经被披露。虽然针对特定例子和子系统描述了本方法和系统,但是对于本领域技术人员而言将会明显的是,本发明不限于这些特定例子或子系统,而是还扩展到其它实施例。

Claims (18)

1.一种计算机执行的方法,包括:
从多个客户机接收多个许可请求;
使用多个微型服务器为所述许可请求提供服务,每个微型服务器响应所述多个许可请求中的许可请求,向所述多个客户机中的客户机分发许可;以及
向所述多个微型服务器提供来自初级许可服务器的所述许可。
2.根据权利要求1所述的计算机执行的方法,进一步包括将所述多个微型服务器分组成多个逻辑组。
3.根据权利要求1所述的计算机执行的方法,进一步包括向所述初级许可服务器提供来自卖方控制的许可服务器的许可。
4.根据权利要求3所述的计算机执行的方法,其中,所述初级许可服务器是属于多个初级许可服务器的主许可服务器。
5.根据权利要求4所述的计算机执行的方法,进一步包括提供连接到所述主许可服务器的软件锁。
6.根据权利要求4所述的计算机执行的方法,进一步包括提供连接到所述主许可服务器的卖方控制的许可服务器。
7.根据权利要求6所述的计算机执行的方法,其中,所述卖方控制的许可服务器是属于多个冗余卖方许可服务器的主卖方许可服务器。
8.一种计算机可读介质,具有存储在其上的多个指令,所述多个指令在由计算机执行时,使所述计算机执行:
从多个客户机接收多个许可请求;
使用多个微型服务器为所述许可请求提供服务,每个微型服务器响应所述多个许可请求中的许可请求,向所述多个客户机中的客户机分发许可;以及
向所述多个微型服务器提供来自初级许可服务器的所述许可。
9.根据权利要求8所述的计算机可读介质,具有存储在其上的附加指令,所述附加指令在由计算机执行时,使所述计算机进一步执行将所述多个微型服务器分组成多个逻辑组。
10.根据权利要求8所述的计算机可读介质,具有存储在其上的附加指令,所述附加指令在由计算机执行时,使所述计算机进一步执行向所述初级许可服务器提供来自卖方控制的许可服务器的许可。
11.根据权利要求10所述的计算机可读介质,其中,所述初级许可服务器是属于多个初级许可服务器的主许可服务器。
12.根据权利要求11所述的计算机可读介质,具有存储在其上的附加指令,所述附加指令在由计算机执行时,使所述计算机进一步执行提供连接到所述主许可服务器的软件锁。
13.根据权利要求11所述的计算机可读介质,具有存储在其上的附加指令,所述附加指令在由计算机执行时,使所述计算机进一步执行提供连接到所述主许可服务器的卖方控制的许可服务器。
14.根据权利要求13所述的计算机可读介质,其中,所述卖方控制的许可服务器是属于多个冗余卖方许可服务器的主卖方许可服务器。
15.一种计算机,包括:
处理器;
总线,其连接到所述处理器;以及
存储器,其连接到所述总线,所述存储器存储指令;
其中,所述指令当由所述处理器执行时,使所述处理器:
从多个客户机中的客户机接收许可请求;
为所述许可请求提供服务,包括从初级许可服务器接收许可;以及
与多个微型服务器通信,所述多个微型服务器向所述多个客户机分发许可并且从所述初级许可服务器接收所述许可。
16.一种计算机,包括:
处理器;
总线,其连接到所述处理器;以及
存储器,其连接到所述总线,所述存储器存储指令;
其中,所述指令当由所述处理器执行时,使所述处理器:
与多个微型服务器通信,所述多个微型服务器向多个客户机分发许可;以及
将所述许可提供给所述多个微型服务器。
17.根据权利要求16所述的计算机,其中,所述指令当由所述处理器执行时,使所述处理器从卖方控制的许可服务器接收所述许可。
18.一种计算机,包括:
处理器;
总线,其连接到所述处理器;以及
存储器,其连接到所述总线,所述存储器存储指令;
其中,所述指令当由所述处理器执行时,使所述处理器:
向多个微型服务器中的微型服务器请求许可,所述多个微型服务器从初级许可服务器接收许可。
CNA200680028275XA 2005-08-02 2006-08-01 用于分级许可服务器的方法和系统 Pending CN101233470A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/195,314 2005-08-02
US11/195,314 US20070033395A1 (en) 2005-08-02 2005-08-02 Method and system for hierarchical license servers

Publications (1)

Publication Number Publication Date
CN101233470A true CN101233470A (zh) 2008-07-30

Family

ID=37709346

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200680028275XA Pending CN101233470A (zh) 2005-08-02 2006-08-01 用于分级许可服务器的方法和系统

Country Status (7)

Country Link
US (1) US20070033395A1 (zh)
EP (1) EP1913456A4 (zh)
JP (1) JP2009503737A (zh)
CN (1) CN101233470A (zh)
AU (1) AU2006275448A1 (zh)
CA (1) CA2617246A1 (zh)
WO (1) WO2007016624A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840402A (zh) * 2018-12-19 2019-06-04 北京百度网讯科技有限公司 私有化服务授权管理方法、装置、计算机设备及存储介质
CN111970319A (zh) * 2020-06-22 2020-11-20 联想(北京)有限公司 一种软件许可License的分发控制方法及网络设备

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060179058A1 (en) * 2005-02-04 2006-08-10 Charles Bram Methods and systems for licensing computer software
JP4791400B2 (ja) * 2007-03-27 2011-10-12 富士通株式会社 ローカル起動判定プログラム、ローカル起動判定装置およびローカル起動判定方法
US9147049B2 (en) * 2007-08-16 2015-09-29 Honeywell International Inc. Embedded building conroller with stored software license information
US20090055835A1 (en) * 2007-08-20 2009-02-26 Telefonaktiebolaget Lm Ericsson (Publ) System and Method for Managing License Capacity in a Telecommunication Network
US7817544B2 (en) * 2007-12-24 2010-10-19 Telefonaktiebolaget L M Ericcson (Publ) Methods and apparatus for event distribution in messaging systems
US10354255B2 (en) * 2008-01-09 2019-07-16 Microsoft Technology Licensing, Llc Client access license tracking mechanism
JP4533935B2 (ja) * 2008-01-22 2010-09-01 日立ソフトウエアエンジニアリング株式会社 ライセンス認証システム及び認証方法
JP5177852B2 (ja) * 2008-01-23 2013-04-10 Necインフロンティア株式会社 ライセンスキー共有方法及びライセンスキー共有システム
US8561130B2 (en) * 2008-02-19 2013-10-15 Sandisk Technologies Inc. Personal license server and methods for use thereof
US7506038B1 (en) 2008-05-29 2009-03-17 International Business Machines Corporation Configuration management system and method thereof
JP5458535B2 (ja) * 2008-09-12 2014-04-02 株式会社リコー 機器、ライセンス管理方法、プログラム、及びライセンス管理システム
US9100222B2 (en) * 2008-12-31 2015-08-04 Sybase, Inc. System and method for mobile user authentication
US8380989B2 (en) 2009-03-05 2013-02-19 Sybase, Inc. System and method for second factor authentication
US9209994B2 (en) * 2008-12-31 2015-12-08 Sybase, Inc. System and method for enhanced application server
US8903434B2 (en) * 2008-12-31 2014-12-02 Sybase, Inc. System and method for message-based conversations
ES2853200T3 (es) * 2009-05-29 2021-09-15 Alcatel Lucent Sistema y procedimiento para acceder a contenido digital privado
JP5672890B2 (ja) * 2010-09-16 2015-02-18 株式会社リコー ライセンス導入支援システム、ライセンス導入支援装置、ライセンス導入支援方法、及びライセンス導入支援プログラム
US9336368B2 (en) 2010-09-16 2016-05-10 Ricoh Company, Ltd. License install support system, license install support method
JP5633306B2 (ja) * 2010-10-29 2014-12-03 株式会社リコー ライセンス管理システム、機能提供装置、ライセンス管理方法、及びライセンス管理プログラム
US8904174B2 (en) 2011-03-22 2014-12-02 International Business Machines Corporation System, method and computer program product for product license management
US20130144742A1 (en) * 2011-12-05 2013-06-06 Sap Ag User license usage verification
US9165332B2 (en) * 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing
US10057370B2 (en) * 2012-09-06 2018-08-21 Unisys Corporation Team processing using dynamic licenses
US8856757B2 (en) * 2012-11-08 2014-10-07 International Business Machines Corporation Automatic license entitlement calculation
US8725645B1 (en) 2013-01-04 2014-05-13 Cetrus LLC Non-invasive metering system for software licenses
WO2015063936A1 (ja) * 2013-10-31 2015-05-07 株式会社島津製作所 ソフトウェアライセンス管理方法及びシステム
US20150242599A1 (en) * 2014-02-26 2015-08-27 Schlumberger Technology Corporation Cluster license server
JP6208645B2 (ja) * 2014-09-30 2017-10-04 富士通エフ・アイ・ピー株式会社 ライセンス管理方法及びライセンス管理システム
JP6304153B2 (ja) * 2015-07-13 2018-04-04 京セラドキュメントソリューションズ株式会社 ライセンス管理システムおよびライセンス管理方法
JP6166758B2 (ja) * 2015-09-30 2017-07-19 株式会社電通国際情報サービス 情報処理システム、情報処理方法、および情報処理プログラム
US11576310B2 (en) * 2018-08-31 2023-02-14 Agritainer, Llc Systems and methods for efficient fogponic agriculture
CN110175036B (zh) * 2019-04-08 2020-10-09 北京深思数盾科技股份有限公司 软锁许可的升级方法及装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5023907A (en) * 1988-09-30 1991-06-11 Apollo Computer, Inc. Network license server
DE69228350T2 (de) * 1991-05-08 1999-09-23 Digital Equipment Corp., Maynard Verwaltungssschnittstelle und format für lizenzverwaltungssystem
US5260999A (en) * 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
WO1993011480A1 (en) * 1991-11-27 1993-06-10 Intergraph Corporation System and method for network license administration
US5790664A (en) * 1996-02-26 1998-08-04 Network Engineering Software, Inc. Automated system for management of licensed software
US5758069A (en) * 1996-03-15 1998-05-26 Novell, Inc. Electronic licensing system
US5905860A (en) * 1996-03-15 1999-05-18 Novell, Inc. Fault tolerant electronic licensing system
US5754763A (en) * 1996-10-01 1998-05-19 International Business Machines Corporation Software auditing mechanism for a distributed computer enterprise environment
JP3924342B2 (ja) * 1997-02-14 2007-06-06 富士通株式会社 ソフトウェアライセンス管理システムおよびソフトウェアライセンス管理装置
JP3665460B2 (ja) * 1997-12-05 2005-06-29 富士通株式会社 分散自律協調型の応答時間チューニングによる経路選択システム、方法、及び記録媒体
US6189146B1 (en) * 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
GB2346989A (en) * 1999-02-19 2000-08-23 Ibm Software licence management system uses clustered licence servers
US6842896B1 (en) * 1999-09-03 2005-01-11 Rainbow Technologies, Inc. System and method for selecting a server in a multiple server license management system
JP2001222424A (ja) * 2000-02-08 2001-08-17 Fujitsu Ltd ソフトウェアライセンス管理装置,ソフトウェアライセンス管理方法およびソフトウェアライセンス管理用プログラム記録媒体
JP4040234B2 (ja) * 2000-03-27 2008-01-30 ローム株式会社 ネットワークシステム
AU2001292703A1 (en) * 2000-09-15 2002-03-26 Wonderware Corporation A method and system for animating graphical user interface elements via manufacturing/process control portal server
US7203966B2 (en) * 2001-06-27 2007-04-10 Microsoft Corporation Enforcement architecture and method for digital rights management system for roaming a license to a plurality of user devices
JP2003323224A (ja) * 2002-04-30 2003-11-14 Daikin Ind Ltd ライセンス管理システムおよび方法、情報処理装置および方法、並びにプログラム
US7565325B2 (en) * 2002-07-09 2009-07-21 Avaya Technology Corp. Multi-site software license balancing
US7260557B2 (en) * 2003-02-27 2007-08-21 Avaya Technology Corp. Method and apparatus for license distribution
US7574406B2 (en) * 2003-03-31 2009-08-11 Satyam Computer Services Limited Of Mayfair Centre System and method maximizing video license utilization using billboard services
EP1473898A1 (en) * 2003-05-02 2004-11-03 Texas Instruments Incorporated Method for access to a development environment
US7457874B2 (en) * 2004-02-20 2008-11-25 Microsoft Corporation Architecture for controlling access to a service by concurrent clients
US20060085350A1 (en) * 2004-09-28 2006-04-20 Siemens Information And Communication Networks, Inc. Enterprise-wide flexible software licensing model
US8818900B2 (en) * 2005-04-28 2014-08-26 Flexera Software Llc Distributed license management

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840402A (zh) * 2018-12-19 2019-06-04 北京百度网讯科技有限公司 私有化服务授权管理方法、装置、计算机设备及存储介质
CN109840402B (zh) * 2018-12-19 2021-11-23 北京百度网讯科技有限公司 私有化服务授权管理方法、装置、计算机设备及存储介质
CN111970319A (zh) * 2020-06-22 2020-11-20 联想(北京)有限公司 一种软件许可License的分发控制方法及网络设备

Also Published As

Publication number Publication date
US20070033395A1 (en) 2007-02-08
JP2009503737A (ja) 2009-01-29
WO2007016624A3 (en) 2007-10-25
WO2007016624A2 (en) 2007-02-08
CA2617246A1 (en) 2007-02-08
EP1913456A2 (en) 2008-04-23
EP1913456A4 (en) 2011-03-09
AU2006275448A1 (en) 2007-02-08

Similar Documents

Publication Publication Date Title
CN101233470A (zh) 用于分级许可服务器的方法和系统
CN101729551B (zh) 控制受信网络节点的访问权限的方法和系统
US7844572B2 (en) Remote feature activator feature extraction
CN101647219B (zh) 用于许可证的安全的主机更换的机制
CN102947797B (zh) 使用横向扩展目录特征的在线服务访问控制
EP1625691B1 (en) System and method for electronic document security
CN107005582A (zh) 使用存储在不同目录中的凭证来访问公共端点
JP2010526358A (ja) 拡張可能且つプログラム可能なマルチテナントサービスアーキテクチャー
WO1998016034A1 (en) Secured electronic information delivery system having a three-tier structure
CN101583953A (zh) 用于从对象中分离捆绑信息以支持适当权限管理的方法和装置
CN102307114A (zh) 一种网络的管理方法
US8271387B2 (en) Method and apparatus for providing limited access to data objects or files within an electronic software delivery and management system
US20070061864A1 (en) Computer-implemented method, system, and program product for managing log-in strikes
CN101008970A (zh) 权限管控的系统及方法
CN103366135A (zh) 在存储云中由租户驱动的安全系统与方法
CN110443047B (zh) 数据交换群组系统及方法
US20160224957A1 (en) Distributed digital rights-managed file transfer and access control
JP2003323528A (ja) 人事管理システムおよびその方法
CN1601954B (zh) 不中断服务地横跨安全边界移动主体
KR20210151172A (ko) 기한 관리 서버, 에이전트·프로그램 및 단말 대출 시스템
JP2002183089A (ja) ログイン認証装置、およびログイン認証方法
WO2008051667A2 (en) Apparatus, and associated method, for providing an electronic storage box for securely storing data in electronic form
EP3696707B1 (en) A computer-implemented method for removing access to data
JP7262328B2 (ja) 資産のバックアップ処理方法およびプログラム
WO2000072649A2 (en) Compact disc authentication system and method

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

Open date: 20080730