用于分级许可服务器的方法和系统的制作方法

文档序号:6568430阅读:198来源:国知局
专利名称:用于分级许可服务器的方法和系统的制作方法
技术领域
本发明一般地涉及计算机系统,并且更特别地涉及用于分级许可服务 器的方法和系统。
背景技术
一般地,当出售软件时,购买者被授权许可使用软件。这样的许可对 能够同时使用的计算机的数目、使用的期限、在多用户系统的情况下被允 许同时使用软件的用户数目等等施加限制。然而,最近几年中,超过许可所施加的限制的软件的非法使用已经成 为公众关注的对象。例如,在许可的条款中,市场上大多数软件仅仅允许 一台计算挺行该软件。然而,如果软件没有结合在软件之中的非法使用 预防功能,则这样的软件能够容易地在众多计算机上使用。因此,已经开发了各种各样的技术以预防软件的非法使用。 一些这样 的技术使用计算机专用的识别信息。使用容量相关的量度而被许可的商业 软件常常包括确认系统,或者运行着确认系统,所述确认系统确认软件是 否在服从当前许可期限和条件的环境中运行。商业软件可以使用市场上可买到的在本领域中被称为"许可管理器"的软件应用程序,诸如ISOGON 的IFOR或Macrovision的FLEX-LM,其使用"许可钥匙,,来解锁商业 软件的至少一个组成部分。典型地,评估许可的某种电子形式,并且为确 认系统提供许可钥匙,以根据商业软件许可期限和条件来审查并控制商业 软件。随着许可管理软件渗透遍及企业,现有的许可服务器体系结构和构形 已经不能满足需要。发明内容公开了用于分级许可服务器的方法和系统。根据一个实施例,计算机 执行的方法包括从多个客户机接收多个许可请求。使用多个微型服务器为许可请求提供服务,每个微型服务器响应所述多个许可请求中的许可请 求,向所述多个客户机中的客户机分发许可。初级许可服务器向多个微型 服务器提供许可。包括元件的实现和组合的各种新颖细节的上述以及其它优选特征,现 在将参考附图更加详细地描述并且在权利要求中指出。将会理解的是,在 此描述的具体方法和电路仅仅是作为示例被显示而不是作为限制。如本领 域技术人员将会理解的那样,在此描述的原理和特征可以在不同且众多的 实施例中使用而不脱离本发明的范围。


被包括作为本说明书的一部分的附示了本发明的当前优选实施 例,并且和上面给出的一般描述以及下面给出的优选实施例的具体描述一 起用于解释和教导本发明的原理。图1图示了根据本发明的一个实施例的示范性软件许可管理系统的框图;图2图示了根据本发明的一个实施例的供当前系统使用的示范性计 算机体系结构;图3图示了才艮据本发明的一个实施例的示范性许可服务器分级结构 的框图;图4图示了根据本发明的一个实施例的具有微型服务器组的示范性 许可服务器分级结构400的框图;图5图示了才艮据本发明的一个实施例的示范性许可借用系统500的框图;图6图示了根据本发明的一个实施例的具有卖方控制的许可服务器 的许可服务器分级结构600的框图;图7图示了根据本发明的一个实施例的示范性冗余服务器体系结构 700的框图;图8图示了根据本发明的一个实施例的具有软件锁(dongle) 830的 示范性冗余服务器体系结构800的框图;图9图示了根据本发明的一个实施例的具有卖方许可服务器的示范性冗余服务器体系结构的框图;图10图示了根据本发明的一个实施例的具有冗余卖方服务器组的示 范性冗余服务器体系结构的框图;图11图示了根据本发明的一个实施例的具有冗余卖方服务器组和冗 余消费者许可服务器组的示范性冗余服务器体系结构的框图;并且图12图示了根据本发明的一个实施例的用于分级许可服务的示范性 过禾呈的流禾呈图。
具体实施方式
公开了用于分级许可服务器的方法和系统。根据本发明的一个实施 例,计算机执行的方法包括从多个客户机接收多个许可请求。使用多个微 型服务器为许可请求提供服务,每个微型服务器响应所述多个许可请求中 的许可请求,向所述多个客户机中的客户机分发许可。初级许可服务器向 多个微型服务器提供许可。在以下描述中,为了说明起见,特定术语被阐述以提供在此公开的各 种创造性概念的全面理解。然而,对本领域技术人员而言将会明显的是, 为实施在此公开的各种创造性概念,这些特定细节不是必需的。依据对计算机存储器之内的数据位进行操作的算法和符号化表示,给 出以下详细描述的一些部分。这些算法描述和表示是数据处理领域的技术 人员用来最有效地将他们工作的实质传达给本领域中其他技术人员的手 段。算法在这里并且一般被构想为导致预期结果的有条理的一系列步骤。 这些步骤是那些需要对物理量进行物理操作的步骤。通常,虽然不是必须, 这些物理量采取能够被存储、传送、组合、比较以及其它操作的电或磁信 号的形式。不时已证明方便的是,主要为了公共使用的原因,将这些信号 称为位、值、码元、符号、字符、项、数字等。然而,应当认识到的是,这些以及类似的术语与适当的物理量相关联, 并且仅仅是适用于这些量的方便标记。除非特别声明,否则如从以下讨论 中明显的那样,可以意识到的是,贯穿说明书,利用术语诸如"处理,,或 "用计算机计算"或"计算,,或"确定"或"显示"等的讨论,指的是计 算机系统或类似的电子计算装置的行为和过程,所述计算机系统或类似的 电子计算装置操作计算机系统的寄存器和存储器之内的净i^示为物理(电子)量的数据,并且将所述数据转换成计算机系统存储器或寄存器或其他 这样的信息存储、传送或显示装置之内类似地被表示为物理量的其它数 据。本发明也涉及用于执行这里的操作的设备。这种设备可以专门构造用 于需要的目的,或者它可以包括通过计算机中存储的计算机程序选择性地 激活或重构的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,诸如但不限于任何类型的盘,包括软盘、光盘、CD-R0M和磁性 光盘,以及只读存储器(R0M)、随M取存储器(RAM)、 EPR0M、 EEPR0M、 磁卡或光卡、或者适合于存储电子指令并且每个耦合到计算机系统总线的 任何类型的介质。在此提供的算法和显示不是固有地涉及任何特定的计算机或其它设 备。各种通用系统可以与根据在此的教导的程序一起使用,或者可以证明 方便的是,构造更加专业化的设备以执行需要的方法步骤。用于多种这样 的系统的所需结构将会从下面的描述中出现。另夕卜,本发明没有参考任何 具体的编程语言来描述。将会意识到的是,多种编程语言可以用于实现本 发明的教导,如在此描述那样。如在此〗吏用的那样,以下术语将具有以下意义而不考虑其大小写。"后端"指的^J艮务器、计算机或系统,它们受软件卖方控制,或者 由软件卖方授权以接收并处理从使用软件的用户那里接收的信息,所述软 件被卖方i午可给该用户。"用户"指的是许可软件的被许可者。"文件"指的是通常被理解为计算机文件的东西,但是如这里使用的 那样,也包括用于存储和检索数字数据的任何系统,包括数据库管理器、 登记、目录和数据对象。"前端"指的4J良务器、计算机或系统,它们受用户控制,或者由用 户授权以执行、管理和/或才艮告净皮许可给用户的软件的使用。"许可小程序(applet)"指的是微型服务器,其装载在客户机系统上 以支持借用的许可。"主服务器"指的是冗余服务器配置中唯一被允许进行授权许可请求 的许可服务器。如果这个主服务器故障,则其它冗余服务器将协商确定哪一个成为新的主服务器。"微型服务器"指的是在用户处的服务器,其连接到初级许可服务器, 并且是用于连接全部客户机且校發〖午可的中心点。"初级许可服务器,,指的是在用户处的服务器,其可以处在用户的控制之下。根据配置,它将执行以下行为中的一些或全部 它是用于连接4^P微型服务器并且进行许可请求的中心点。
在卖方处(如果存在的话)连接许可服务器以检索许可。 ■读取本地许可文件。 ■将许可分发给客户机应用程序。"次级服务器"指的是冗余月良务器配置中不被允许进行授权许可的许 可服务器,因为它仅是主服务器的镜像。"服务器"指的是计算机进程,其中,其它计算机应用程序、操作系 统、系统软件或计算服务与该计算机进程交互作用。在这个定义之内,如 术语"客户机-服务器"、"多级计算"、"3级计算"、网络服务或环球网服 务中使用的那样的服务器被包括在内。"卖方"指的是被许可软件的许可者,包括它的版权所有者以及由版 权所有者授予权利出售或分发许可给用户以使用被许可的软件的其他方。"卖方许可服务器,,指的是存在于卖方处并且负责为给定的用户维护 所有许可的服务器。图1图示了根据本发明的一个实施例的示范性软件许可管理系统的 框图。除了许可管理系统之外,可以意识到的是,使用在此的各种教导的 其它系统也可以用于实施本发明的各种方面,并且同样地被认为是在本发 明的全部范围之内。系统100包括前端服务器101 (也被称为初级许可服务器),其可配 置用于控制许可软件的使用,并且可选地,也可以诸如经由直播电话号码、 互联网统一资源定位器(URL)、电子邮件地址或其它联网地址,安全地 与在指定的目的地处可得到的后端服务器102 (也称为卖方许可服务器) 进行通信。许可软件应用程序在连接在网络107中的各种前端计算机(也 被称为客户机)上运行,所述网络107包括前端服务器101和被表示为计算机104-106的其它计算机。系统100表示多种许可管理配置中的一种, 其中客户机104-106直接连接到初级许可服务器101以获得许可。初级许 可服务器101包^ri午可管理软件。网络107可以是局域网(LAN )、广域网(WAN )、虚拟专用网(VPN) 或由被许可软件的用户管理或控制的其它网络。通过通信介质103如互联 网、专用网或直接拨号连接来进行前端服务器101和后端服务器102之间 的通信,其中,所述前端服务器101优选地驻留在由被许可软件的用户所 指定或授权的位置,而所述后端服务器102则优选地驻留在由祐j午可软件 的卖方所指定或授权的位置。在互联网的情况下,例如使用安全套接字层 协议(SSL)和虚拟专用网(VPN),优选地执行消息收发的安全传送。可替换地,代替前端服务器101或除了前端服务器101之外,可以配 置用网络107上的前端计算机104-106表示的前端计算机中的任何一个或 多个,以控制它的被许可软件和/或其它这样的计算机的被许可软件的使 用,生成电子邮件消息,并安全地传递电子邮件消息给后端服务器102。 因此,如在此使用的那样和在以后的权利要求中,当执行这样的功能时, 术语"前端服务器"被理解为也包括这样的前端计算机。除了某个前端计 算机陂配置以运行被许可的应用软件之夕卜,前端服务器101也可以被这样 配置。后端服务器102被配置用于接收、认证和处理许可管理消息、电子邮件消息,并将电子邮件消息递送到最终接受者,该最终接受者可以是个人 或软件实体,如经营活动软件。这样的经营活动软件的例子包括企业资源计划软件(ERP )、电子商务软件(诸如用于在互联网上进行交易的软件)、 用户关系管理软件(CRM)以及销售力量自动化软件(SFA)。图2图示了根据本发明的一个实施例的供当前系统使用的示范性计 算机体系结构。计算机体系结构200既能够用于实现图1的前端计算机(客 户机)104-106、前端服务器IOI,又能够用于实现后端服务器102。体系 结构200的一个实施例包括系统总线220,用于传递信息;以及处理器 210,其耦合到总线220用于处理信息。体系结构200进一步包括随M 取存储器(RAM)或其它的动态存储装置225 (在此被称为主存储器), 其耦合到总线220,用于存储将要由处理器210执行的信息和指令。主存 储器225还可以用于在处理器210执行指令期间存储临时变量或其它中间信息。体系结构200还可以包括只读存储器(ROM)和/或其它静态存储 装置226,其耦合到总线220用于存储处理器210使用的静态信息和指令。数据存储装置227,如磁盘或光盘及其相应的驱动器,也可以耦合到 计算机系统200用于存储信息和指令。体系结构200也能够经由1/0接口 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不读取许可文件,所以它们不需要^L许可到 特定主机。这允许用户运行它期望的任何数目的微型服务器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处理的每秒的许可请求的数目。.4^P微型服务器310-313之间的负载的平均划分。'微型服务器310-313按照顺序的放置,使得全部客户机304-309 被定向到列表中的第一微型服务器,直到它已到达它的最大负载为止,然 后将客户机304-309定向到无论逻辑上还是物理上的下一个微型服务器。■日时刻。本地管理员可以配置这些参数。图4图示了根据本发明的一个实施例的具有微型服务器组的示范性 许可服务器分级结构400的框图。许可服务器分级结构400包括微型服务 器组410和420、微型服务器411、 412、 421、 422以;^户机404-409。 用户可以将微型服务器411-412、 421-422配置成逻辑组,例如加利福尼亚(California)组41Q和英国(UK)组420。这提供了若干附加能力。用户配置初级许可服务器401以限定在某段 时间上任何给定的组410、 420中允许的许可的最大和最小数目。例如, 如果有公司在加利福尼亚和英国有办公室,则有意义的是,在英国的工作 时间期间将大多数的许可分配给英国,然后在加利福尼亚的工作时间期间 将大多数的许可分配给加利福尼亚。根据一个实施例,客户机404-409 能够重新定向到同一组中的另 一个微型服务器。关于如上所述的负载平衡,组标识符用于微型服务器411、 412、 421、 422。初级许可服务器401仅仅将客户机例如404-406重定向到同一组中 的另一个微型服务器,例如组410中的微型服务器412。本地管理员有能 力在微型服务器411、 412、 421、 422之间配置组信息和负载平衡。图5图示了根据本发明的一个实施例的示范性许可借用系统5 00的框 图。当客户机例如膝上型计算机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通信,则用户的初^U良务器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的连接的 客户机7 04-709或微型服务器711-714将业务量重定向到次级许可服务器722- 723中的一个,使得许可校验继续而不中断。体系结构700包括三个初级许可服务器720,其中一个被指定为主许 可服务器721,而其它两个则是次级镜像许可服务器722-723。卖方发出 的许可包括来自所有三个许可服务器720的主机id。三个冗余服务器720 中的至少两个必须运行并彼此通信以向微型服务器711-714或客户机 704-709分发许可。图8图示了根据本发明的一个实施例的具有软件锁8 30的示范性冗余 服务器体系结构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图示了根据本发明的 一个实施例的具有卖方许可服务器9 31的示 范性冗余服务器体系结构900的框图。冗余月良务器体系结构900包括卖方 控制的许可服务器931、冗余服务器组920、微型服务器911-914以;Sjl 户机904-909。卖方控制的许可服务器931和冗余服务器组920经由互联 网940连接。体系结构900类似于使用软件锁的体系结构800。初级主许 可服务器921从卖方许可服务器931和任何数目的在用户处的次级镜像服 务器下载许可。如果主许可服务器921性能下降,那么次级许可服务器中 的一个922成为主许可服务器,并且连接到卖方许可服务器931以检IH午 可并然后授权许可请求。如果主许可服务器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条目。 主才几名称可通过卖方配置。 初级服务器被配置成为所有配置和地址信息的储存库。O对于客户机,初级服务器发送关于所有微型服务器的信息。 客户机緩存该信息供稍后使用。O对于微型服务器,初级服务器被配置用于了解使用的所有微 型服务器,以便初级服务器连接到微型服务器。初级服务器向连接 的微型服务器发送关于所有其它微型服务器的信息。这个方法允许 用户当只有一个系统被配置时管理它的配置。-动态重定向,使得如果客户机连接到初级或微型服务器,则这些服 务器中的任何一个可以将客户机重定向到另一个服务器。另外,微型服务 器将能够在会话期间的任何时间重定向客户机。重定向允许支持微型服务 器的从容关闭以及负载平衡。根据一个实施例,如上所述的许可服务器可以被实现为网络设备。上 面描述的分级服务器允许网络设备用作初级或微型服务器。网络设备是嵌 入式LINUX平台(box),例如也许具有用于配置的网^"口。加密的许 可将存储在快闪RAM中,使电脑黑客更加难以查看什么正在进行。用户不 需要用许可文件或许可服务器做任何事情。仅仅"即插即用"。许可服务器网络设备预先装载有必要的许可。许可设备用作安全初级 许可服务器。当从卖方发货时,它知道卖方的许可服务器地址,并且当启 动时,它自动连接到卖方许可服务器并下载许可。用户使用网络接口以手工配置许可或连接到卖方的许可服务器。几个设备被插到网络中以充当负 载平衡的微型服务器。图12图示了根据本发明的一个实施例的用于分级许可服务的示范性 过程1200的流程图。过程1200允许卖方控制的许可服务器提供许可给多 个用户初级许可服务器(1210)。许可被从多个用户初级许可服务器发送 到多个微型服务器(1220 )。微型服务器从客户机那里接收许可请求 (1230 )。通过向客户机提供许可,微型服务器为请求提供服务(1240 )。用于分级许可服务器的方法和系统已经被披露。虽然针对特定例子和 子系统描述了本方法和系统,但是对于本领域技术人员而言将会明显的 是,本发明不限于这些特定例子或子系统,而是还扩展到其它实施例。
权利要求
1.一种计算机执行的方法,包括从多个客户机接收多个许可请求;使用多个微型服务器为所述许可请求提供服务,每个微型服务器响应所述多个许可请求中的许可请求,向所述多个客户机中的客户机分发许可;以及向所述多个微型服务器提供来自初级许可服务器的所述许可。
2. 根据权利要求1所述的计算机执行的方法,进一步包括将所述 多个微型服务器分组成多个逻辑组。
3. 根据权利要求1所述的计算机执行的方法,进一步包括向所述 初级许可服务器提供来自卖方控制的许可服务器的许可。
4. 根据权利要求3所述的计算机执行的方法,其中,所述初级许 可服务器是属于多个初级许可服务器的主许可服务器。
5. 根据权利要求4所述的计算机执行的方法,进一步包括提供连 接到所述主许可服务器的软件锁。
6. 根据权利要求4所述的计算机执行的方法,进一步包括提供连 接到所述主许可服务器的卖方控制的许可服务器。
7. 根据权利要求6所述的计算机执行的方法,其中,所述卖方控 制的许可服务器是属于多个冗余卖方许可服务器的主卖方许可服务 器。
8. —种计算机可读介质,具有存储在其上的多个指令,所述多个 指令在由计算机执行时,使所述计算机执行从多个客户机接收多个许可请求;使用多个微型服务器为所述许可请求提供服务,每个微型服务器 响应所述多个许可请求中的许可请求,向所述多个客户机中的客户机 分发许可;以及向所述多个微型服务器提供来自初级许可服务器的所述许可。
9. 根据权利要求8所述的计算机可读介质,具有存储在其上的附加指令,所述附加指令在由计算机执行时,使所述计算机进一步执行 将所述多个微型服务器分组成多个逻辑组。
10. 根据权利要求8所述的计算机可读介质,具有存储在其上的 附加指令,所述附加指令在由计算机执行时,使所述计算机进一步执 行向所述初级许可服务器提供来自卖方控制的许可服务器的许可。
11. 根据权利要求10所述的计算机可读介质,其中,所述初级许 可服务器是属于多个初级许可服务器的主许可服务器。
12. 根据权利要求ll所述的计算机可读介质,具有存储在其上的 附加指令,所述附加指令在由计算机执行时,使所述计算机进一步执 行提供连接到所述主许可服务器的软件锁。
13. 根据权利要求ll所述的计算机可读介质,具有存储在其上的 附加指令,所述附加指令在由计算机执行时,使所述计算机进一步执 行提供连接到所述主许可服务器的卖方控制的许可服务器。
14. 根据权利要求13所述的计算机可读介质,其中,所述卖方控 制的许可服务器是属于多个冗余卖方许可服务器的主卖方许可服务 器。
15. —种计算机,包括 处理器;总线,其连接到所述处理器;以及 存储器,其连接到所述总线,所述存储器存储指令; 其中,所述指令当由所述处理器执行时,使所述处理器 从多个客户机中的客户机接收许可请求;为所述许可请求提供服务,包括从初级许可服务器接收许可;以及与多个微型服务器通信,所述多个微型服务器向所述多个客户机 分发许可并且从所述初级许可服务器接收所述许可。
16. —种计算机,包括 处理器;总线,其连接到所述处理器;以及存储器,其连接到所述总线,所述存储器存储指令;其中,所述指令当由所述处理器执行时,使所述处理器与多个微型服务器通信,所述多个微型服务器向多个客户机分发 许可;以及将所述许可提供给所述多个微型服务器。
17. 根据权利要求16所述的计算机,其中,所述指令当由所述处 理器执行时,使所述处理器从卖方控制的许可服务器接收所述许可。
18. —种计算机,包括 处理器;总线,其连接到所述处理器;以及存储器,其连接到所述总线,所述存储器存储指令;其中,所述指令当由所述处理器执行时,使所述处理器向多个微型服务器中的微型服务器请求许可,所述多个微型服务 器从初级许可服务器接收许可。
全文摘要
公开了一种用于分级许可服务器的方法和系统。根据一个实施例,一种计算机执行的方法包括从多个客户机接收多个许可请求。使用多个微型服务器为所述许可请求提供服务,每个微型服务器响应所述多个许可请求中的许可请求,向所述多个客户机中的客户机分发许可。初级许可服务器向所述多个微型服务器提供所述许可。
文档编号G06F1/00GK101233470SQ200680028275
公开日2008年7月30日 申请日期2006年8月1日 优先权日2005年8月2日
发明者柯克·A·麦克莱恩 申请人:麦克罗维西恩公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1