专利名称:基于地理位置的许可系统的制作方法
技术领域:
本发明涉及可许可货物的数字权限管理。更具体地,本发明涉及用于跨地理边界(例如,国家或其它政治边界)的数字权限管理的系统和相关工具,其中对计算机软件、新闻和娱乐媒体、音乐和其它电子递送的知识产权的数字权限法律保护随这些地理区域而有所不同。
背景技术:
众多商业交易是基于许可方在有限的范围内对产权、产品或服务的许可,这可能涉及被许可方对其使用的范围和/或持续时间的限制。许可一般用于约束或限制用户转让、再分发、转售或以其它方式改变许可的预期受益人的能力,而其它约束可针对使用可如何、何时、何地和持续多久进行。双方一般以这样的方式构造交易来得到经济利益(1)许可方保持对许可对象的所有者权益,并控制谁可制造、使用或销售该对象;和(2)被许可方以与被许可方完全获取或开发产权、产品或服务的潜在成本相比减少的成本享受使用产权、产品或服务的利益。
个人在其涉及货物和服务的许可的日常生活中可能遇到各种情况。例如,租赁公寓;或宾馆房间、在电影院看电影;租赁或租用汽车、从政府获得驾驶或操作机动车辆的许可、使用电话卡通电话、加入私人体育馆或乡村俱乐部、或使用计算机软件应用程序皆是许可的各种形式。
在商业软件行业中,软件应用程序产品一般以对软件的有限使用的许可协定在购买基础上售出。销售代表通常将软件售卖给预期的最终用户,并在以常规方式购买时,软件则在磁盘或其它介质上连同例如用户手册一起提供给用户。因而,众多软件应用程序主要在长期或永久许可的基础上售出,其中支持服务是根据长期、固定价格的合约来提供的。
从最终用户角度来看,基于常规购买的许可协定下的软件获取可能是昂贵的。具体地,一旦最终用户一开始投入常规软件购买,则从其他厂商获得其它软件可能不是经济上可行的。而且,厂商可能会向用户对应用软件升级和继续产品支持收费。就此方面而言,众多最终用户可能变成依赖于特定的厂商和/或应用程序产品。
从软件应用程序厂商的角度来看,收入的大部分一般花费在经由直接销售和使用VAR(增值转售商)通道的销售、推销和用户支持上。然而,因特网访问和高速连接(即,T1、电缆和DSL)的增长使得软件应用程序产品的电子分发更为可行。随着因特网的普及度和可访问性的增长,厂商日益关注作为减少销售和推销成本的有效介质的因特网。作为结果,某些厂商已扩展来支持经由因特网的软件应用程序的电子购买和递送,但一般受上述的常规许可协定模型约束。然而,存在对管理、跟踪和定制软件应用程序许可的全面方法的需求。
除成本和效率问题之外,厂商通常面临软件盗版和其它未经许可、未经授权或非法使用的问题。结果是,厂商一般在软件产品内实现某些安全特征以保护应用程序免于未经许可的使用。厂商从而发现,除支持软件应用程序自身以外,需要昂贵的额外资源来支持这些许可安全特征。在许多情况下,对软件应用程序的支持包括现场电话支持。厂商接到的高达50%的技术支持电话可能涉及许可安全问题。通常,这种支持可被证明是对厂商的可用开发资源的负担。从而,存在对为管理和支持可被外包给第三方使得软件厂商可通过将资源再分发给例如软件应用程序开发来更有效地操作的许可系统的需求。
软件应用程序的电子分发也对众多厂商造成安全风险。常规地,当采用加密方法来保护软件代码时,软件代码解密之后的保护可能最小或不存在。从而,一旦软件应用程序被递送给最终用户的平台之后,厂商可能难以针对窜改和软件盗版进行保护。而且,厂商实现的某些电子安全解决方案是麻烦的。例如,用户可能被要求在使用所分发的软件的同时保持与应用程序服务提供商(ASP)的数据连接。如果其他用户占用了对厂商站点的所有可用的接入点或被许可的席位,则ASP工作环境也可限制新用户对分布式应用程序的访问。
某些现有的软件应用程序许可系统实现客户机-服务器模型,它包括在软件产品周围包裹许可指令并集成许可管理作为安装进程的一部分的方法。许可证服务器包括用于跟踪和管理现有软件许可证、产品定义、包裹的软件产品、在线购买处理功能和最终用户软件注册功能的许可数据库。
在此客户机-服务器模型中的软件许可的典型方法包括以下步骤。开发员创建软件应用程序产品。开发员选择许可管理服务。使用从许可管理服务中集成的工具,开发员生成用于在应用程序周围包裹许可证管理代码的指令以创建受许可证管理保护的应用程序。这些包裹指令描述开发员希望为该应用程序实现的特定许可证策略以及其它。或者,开发员可使用软件开发工具包将许可证管理代码嵌入到应用程序中,这将产生采用期望的许可证策略的受许可证管理保护的应用程序。受保护的应用程序然后可被打包并被递送给最终用户被许可方供之后的安装和使用所用。当最终用户被许可方管理客户程序例示受保护应用程序的本地实例时,管理客户程序检查客户机系统上的许可证密钥。如果找到许可证密钥,则管理客户机解锁或解开受保护的应用程序并向最终用户提供对软件的访问。如果没有找到许可证密钥,则管理客户程序经由因特网通信链路向许可证管理服务器请求授权以提供对包裹的应用程序的适当访问。如果许可证管理服务器确认有效许可证,则许可证密钥被提供给管理客户程序并保存在客户机系统上。如果许可证管理服务器没有定位到有效许可证,则许可证管理服务器启动命令结束应用程序,或以其它方式管理软件许可证销售交易。该命令结束应用程序可以是基于web浏览器的Java小程序、嵌入在应用程序中、许可证管理包装的一部分、或实现命令管理和结束功能的任何其它软件技术。
上述软件许可的客户机-服务器模型可采用可经由嵌入在软件应用程序或包装中的应用程序购买选项以及到电子商务网站的链接提供的电子店面来增大。最终用户可搜索电子商店,然后下载期望的受保护应用程序和许可证管理客户程序。一旦许可证管理客户程序和受保护应用程序被安装在客户机系统上之后,可执行如前述步骤的许可证管理步骤来允许在客户机系统上使用该受保护应用程序。在某些系统中,以受保护应用程序包裹客户机管理软件以形成一个可下载且可执行的软件安装包。
在被包裹/受保护的应用程序中实现的许可证策略可采用众多形式。例如,受保护的软件可由最终用户对指定的时间段许可,然后当由管理客户程序提示时被续展或者取消。类似地,取决于最终用户的需求,可采用不同的功能等级来许可受保护的软件(例如,试用软件、基础、中等、以及全特征实现)。最终用户可通过与许可证服务器上的命令结束功能交互以对期望的许可证等级付费来解锁各种功能等级。
存在对解决与在各种被许可方和许可方市场环境中的有效和高效许可管理相关联的这些和类似缺陷的系统的需求。尤其对于软件应用程序行业,存在对用于获取许可和分发软件应用程序的仅电子或软件的承包方法的需求。这样的仅基于软件的许可系统消除与接合了基于自定义硬件的密钥或其它自定义设备的许可系统相关联的成本、复杂性和管理。也存在对用于厂商分发软件和用于维护最终用户的平台上的安全性的安全方法的需求。
现有软件许可系统当前未解决的一个方面是基于本地经济条件对软件应用程序定价的调整。这样的本地经济条件定价策略已在诸如服装、食品和药品等其它类型的商品中实现。经济学家结合“Ramsey理论”描述了弹性与非弹性市场之间的不同的定价策略。地理区域通常被用于定义不同的市场。
根据不同的定价理论,公司根据当地市场条件调整产品的价格是有利润的。可接受较小利润的较便宜的产品来拓宽低收入地理区域中的市场大小从而增加销售量。在制药业中,来自较高收入地区的高利润销售用于为研究和开发成本提供资金。对低收入国家的低利润低成本销售驱动较高的销售量,这又有助于通过增加总的制造量来保持较低的每单位药物的生产成本。为了使该不同定价策略起效,较便宜的产品必须远离高价格的市场以保护较高收入地理区域中对较高成本产品的较高利润率。各个国家中对专利权和版权的严格实施使得制药业能够成功地实现和维护对某些类型的药物的不同定价策略。然而,维持该不同定价策略的法律实施的成本可能非常高,有可能花费制药业上亿美元。
如制药业中一样,一旦支付了对特定软件产品的高昂的在先研究和开发成本之后,软件业中增量制造成本较低。与制药业不同,对专利权和版权的严格实施可能是不切实际的。药物的非法副本当其进口到国家或从国家出口时可被标识和阻止。相反,软件通常经由诸如因特网等分组数据网络电子地传送,这样的网络实质上不具有阻止数据从一个国家传送到另一个国家的合适的控制。从而,阻止软件的非法副本进口到特定国家或从其出口可能是不切实际的。
软件盗版在低收入地理区域中是常见的。如果对这些低收入地理区域中的购买可使用更能花费得起的软件产品许可证,则盗版软件的用户可能愿意购买软件许可证的合法副本。如果这些以往的盗版软件用户购买了软件许可证的合法副本,则软件厂商获取了他们否则不能收到的许可收入,并扩展了其用户基础。花费得起的合法软件许可证的这样的用户可避免使用盗版软件产品的法律诉讼,并可享受诸如顾客支持和软件更新等正规用户的好处。通过提供花费得起的许可证,软件厂商创建了对其软件产品的更大的忠实用户基础,当这些用户的经济状况改变时,他们可升级至更高等级的软件许可证。
在软件业中实现基于地理区域的某种形式的不同定价策略以便可实现较高的销售量可能是有益的。从而,存在对可实现基于地理位置的不同定价策略的软件许可系统的需求。较佳地,这样的软件许可系统能够实施基于地理区域的软件使用限制,使得较低定价的软件产品可远离销售较高定价的同等软件产品的较高收入地理区域。
本发明提供对这些需求和其它问题的解决方案,并提供优于现有技术的其它优点。
发明概述本发明涉及解决上述问题的软件系统。根据本发明的一个实施例,描述了供本地计算机使用的计算机软件许可证管理系统包装。软件包装包括提供对计算机软件应用程序文件的受控访问的包装界面。软件应用程序文件由安全软件代码封装以保护该软件应用程序文件免受未经授权的访问。软件包装也包括标识指定地理边界内的使用限制的许可证策略的软件许可证密钥。此外,软件包装包括许可证确认机制。许可证确认机制较佳地被配置成通过利用预先存在的通信基础架构来提供本地计算机与许可证服务器之间的通信链路以周期性地确定是否遵循许可证策略。许可证确认机制响应于从许可证服务器接收的有效许可证确认信号允许本地计算机上操作的另一进程经由包装界面进行的访问。还描述了所利用的许可证服务器和销售具有对地理边界内使用软件应用程序的限制的嵌入式许可证策略的软件许可包装的电子店面。此外,描述了实现带有对在地理边界内使用软件应用程序的限制的许可证策略的方法。
在以下描述中将部分描述本发明的其它优点和特征,其中部分当本领域的技术人员检查以下描述之后将是显而易见的,或可通过对本发明的实践来领会。
附图简述
图1是基于国家的许可方案的本发明的实施例的数据流程。
图2是示出包裹的软件应用程序与许可证服务器的交互的示意图。
图3和4示出了将带有许可证策略和其它数据的软件应用程序包裹成受保护软件应用程序的软件保护实用程序的用户界面。
图5示出了用于在管理网站上对包裹的软件应用程序添加附加的产品信息的用户界面。
图6示出了指示包裹的软件应用程序已经被添加到管理网站的对话框。
图7示出了基于使用图6中所示的产品ID的搜索的搜索结果对话框。
图8和9示出了用于在基于国家的许可方案中选择各种选项的附加的用户界面。
图10、11和12示出了向选择从基于web的店面中下载的特定软件应用程序的顾客显示的代表性对话框。
图13示出了可呈现给顾客以提醒他们购买安装在顾客的计算机系统上的软件应用程序的经许可的副本的代表性对话框。
图14和15示出了可响应于顾客选择图13中所示的提示对话框中所示的buynow(现在购买)选项显示的示例软件购买定单。
图16示出了在提交基于图14和15中所示的定单的购买软件的命令之后可向顾客示出的示例许可安装对话框。
图17是向侵犯嵌入在包裹的软件应用程序中的许可策略试图在计算机系统上安装软件许可证的顾客示出的示例出错消息。
图18示出了当检测到对嵌入在包裹的软件应用程序中的许可策略的侵犯时可向用户示出的示例警告消息。
详细描述存在软件厂商以使物理销售不切实际的价格点进入国家而获取增量收益的机会。通过单独在这些国家内销售数字产品,可在以其它方式不能服务的市场中实现增量收益的改进。这样的仅数字的软件许可证产品可采用基于地理区域或国家的不同定价策略销售。例如,对限于在中国使用的软件许可证的价格可设为低于限于在日本使用的软件许可证。在一个较佳实施例中,基于国家的许可方案需要许可采用加密技术保护的软件产品并具有在定期的基础上回叫(phone home)以报告它在世界的何处工作的软件。可实现各种商业规则来处理被许可用户以某种方式侵犯对许可证的地理使用限制的情况。
现在参考图1和2,基于国家的许可方案100包括在许可证服务器108中提供允许用户102基于不同的国家或诸如欧洲、非洲、东南亚等地理政治区域来定义策略的许可证策略配置能力。这包括供诸如102等用户作为独立软件厂商(ISV)在许可证服务器108客户机程序工具中设置许可证策略120以及许可证服务器108通过上传配置文件来利用的那些许可证配置的能力。较佳地,如ISV或许可证服务器管理员等用户102可在许可证策略的初始设定之后调节这些许可证策略120。
许可证服务器108能够确定当应用程序从用户102的计算机处回叫许可证服务器108时该用户是否遵循基于国家的许可证策略120。当今存在提供基于用户的计算机的IP网络地址确定用户的地理位置的反向互联网协议(IP)地址查找的web服务。例如,在250 Scientific Drive,Suite 800,Norcross,GA 30092拥有办公室的名为Digital Envoy的公司提供诸如名为NetAcuity的反向IP查找web服务。对注册软件许可证的回叫功能可使用回叫操作时的用户计算机的IP地址来确定用户计算机的当前国家位置,并将当前国家位置与注册软件许可证的国家限制进行比较。此外,店面106可使用用户计算机的用户或顾客提供的记帐国家结合反向IP查找确定的国家来确定许可证可用的国家。本领域的技术人员可以理解,关于许可证确认和许可证策略的任何可接受的例外,可定义众多不同的基于国家的许可证策略120。
在操作中,顾客或用户102获取具有由若干受保护文件组成的特定软件应用程序112的软件包装104。软件包装104可通过将其从诸如光盘(CD)或数字视频盘(DVD)等计算机可读介质中复制来获取。在该较佳实施例中,用户102通过将软件包装104从基于电子商务web的店面106下载至用户的计算机来获取它。图10、11和12示出了向选择从基于web的店面106下载的特定软件应用程序的用户或顾客102显示的代表性对话框。
一旦软件包装104被下载且用户102通过选择图12中所示的install now(现在安装)按钮130安装软件之后,类似于图13中所示的对话框的对话框132可在提示显示上呈现给用户102。该对话框132可被呈现给用户或顾客102以提醒他们购买已安装在顾客的计算机系统上的软件应用程序的经许可的副本。
一旦用户选择(150)图13中所示的buy now(现在购买)选项按钮134之后,显示诸如图14和15中所示的示例定单136、138等软件购买定单。当选择(150)buy now选项按钮134时,软件包装104打开浏览器152并启动经由诸如有线或无线因特网连接等通信链路与店面106的联系。店面106通过以下步骤执行回叫功能153(i)联系许可证服务器108,(ii)使用如前所述的IP反向查找来检查以确保正在购买的项目匹配用户102的国家或地理位置,以及(iii)将IP反向查找结果传回店面106。如果与用户102相关联的IP地址匹配正购买的项目,则店面106发送用于经由软件包装104向用户102显示(154)该定单136、138的信息。否则,店面106向用户102发送出错消息或将定购改成对用户102的地理位置应购买的正确项目。随后,用户102填写包含付款信息的定单136的第一部分和定单138的第二部分。一旦完成之后,用户102通过选择submit(提交)按钮140将定单提交(156)给店面106。
当店面106接收到定单时,如果软件购买定购处理成功完成,则店面106以电子商务领域的技术人员公知的方式通过验证信息、获取付款、创建软件许可证权利、将软件许可证权利提交(158)给许可证服务器108、并以包含定单ID的收条响应于定单160来处理定单。基于接收到定单160接收信息,向用户102示出如图16中所示的示例对话框142的接收和许可证安装对话框。当选中完成(finish)选项按钮144时,软件包装104通过向许可证服务器108提交请求来试图检索(162)解锁密钥。
许可证服务器108检查(164)匹配定单ID的任何软件许可证权利。在检查过程164期间,许可证服务器较佳地以类似于回叫功能153的回叫功能164通过以下步骤执行附加的检查(i)使用IP反向查找来检查以确保正购买的项目仍匹配用户102的国家或地理位置;以及(ii)当IP反向查找结果令人满意时允许将许可证密钥注入软件包装104中。许可证服务器108在成功的回叫功能164之后将密钥注入(166)软件包装104中。否则,当与定单ID相关联的地理位置限制与用户102的基于IP地址的位置不匹配时,对用户102拒绝许可证密钥的注入。图17示出了向侵犯嵌入在包裹的软件应用程序中的许可证策略(例如,地理使用限制)试图将软件许可证安装在计算机系统上的顾客示出的示例出错消息146。
软件包装基于国家的软件许可证定价较佳地涉及支持这样一种模型的包装许可证技术的配置,其中包装104将在周期性的基础上回叫许可证服务器108,并检查用户102是否正使用与许可证相关联的地理边界内的应用程序。例如,用户购买将在俄罗斯使用的应用程序。他们将其给予他们在德国的伙伴,后者开始使用该应用程序。软件包装104或应用程序在定期的基础上回叫并要求(168)许可证服务器108对传入的IP地址确认(170)地理地区。许可证服务器108基于该结果返回(172)真/假或者成功/失败。如果用户102不确认,则包装需要经过少许逐步升级的路径,直到用户或者解决了整个问题、为新地理地区购买许可证或者该包装禁用该应用程序。图18示出了当检测到对嵌入在被包裹的软件应用程序或软件包装104中的许可证策略的侵犯时可向用户102示出的示例警告消息148。
软件包装104和许可证服务器108较佳地通过与包装界面110的进程间通信116来实现一个或多个关键商业规则,包装界面110通过安全软件代码将受保护文件112封装在包装104中以保护软件应用程序文件112免遭未经授权的访问。
●被包裹的软件产品或软件包装104每隔21天或在21天之后首次检测到因特网连接时将回叫(170)至许可证服务器。这将允许许可证服务器策略中心确认产品可继续由本地计算机使用。ISV应当能够在产品级将该设定配置成不同的时间长度,默认设定为21天。
●除非发生对许可策略的侵犯,否则所有的回叫活动对用户102皆是透明的,在发生侵犯的情况中,包装104将通过经由包装界面110与受保护文件112之间的管道114通信来停用受保护产品112。而且,防火墙或其它因特网监听设备可警告用户102。
●当确认无效许可证之后,许可证服务器108将停用受保护产品112,返回到图13中所示的试用软件指责(nag)屏幕132来购买完全许可证。
将不允许对受保护产品112的进一步使用。
包装104与许可证服务器108之间的进程间通信116可采用若干不同的软件程序设计框架来完成。在一个实施例中,在因特网web环境中使用SOAP-XML(单一对象访问协议-扩展标记语言)框架来执行将许可证软件密钥和当前IP地址传输给许可证服务器108并返回有效许可证确认信号至对用户102的本地计算机的本地响应。本领域的技术人员可以理解,用作许可证服务器108的web服务器可生成SOAP-XML消息,如果SOAP-XML消息是通过ASP(活动服务器页面)编写的,则它通过使用DLL(动态链接库)文件和ActiveX组件使得因特网web服务成为可能。或者,如果SOAP-XML消息是通过JSP(java服务器页面)编写的,则可使用用于将SOAP-XML消息改成DTD(文件类型定义)类型SOAP-XML消息的EJB(enterprise java beans,企业Java bean)和服务服务器。如果DB(数据库)服务器不能直接接受SOAP-XML消息或EJB查询,则也可能需要用于与DB服务器接口的附加网关或桥接代码。
软件包装104需要定义受地理边界束缚的许可证策略的能力。国家可在配置时在包装104中确定,或者它可在基于所购买的物品的后端上动态地绑定到许可证。第二个选项是最灵活的,且如果可能应被认为是主要的方法。
需要对包装104每隔多久向许可证服务器108检查来确定用户102是否遵循许可证的频率进行设定。
如前所述,包装104会将许可证密钥(加密的)和地区设定发送(168)给许可证服务器108或许可证策略中心。策略中心会采用该许可证密钥,检查(170)请求ID的有效性(针对欺诈/退还/退回),并从NetAcuity接收IP信息。如果密钥和ReqID有效,且NetAcuity解析至购买时的原始国家和记帐地址,则包装104将接收(172)‘确认’消息来以有效许可证继续。
如果发送到策略中心或许可证服务器108的数据显现对许可证策略的侵犯,则包装104将允许在停用受保护程序文件112之前的经由侵犯计数器的10天不一致性。如图18中所示的警告消息148将被示出给用户102。这将允许旅行和其它不常见事件。该功能应当可以在产品级上配置。
包装104将在10天过后继续每隔一天请求确认至多5次。在此之后,包装将停用产品直到获取新的许可证。在确认IP解析至适当的国家之后,侵犯计数器将复位至零。
指责屏幕或警告消息148需要支持以下·向用户告知侵犯·显示发生硬性期满之前的剩余时间量·提供购买适当的许可证的URL(或仅仅至店面的链接)·显示被许可的国家对比它们由IP解析至的国家·当受保护产品文件12禁用自身时示出终止消息软件开发工具包需要被扩展来支持适当的方法以允许使用该机制的某人传输和确认这种类型的许可证。一般而言,包装104需要在侵犯策略120时或在请求状态改变成退回/退款/退还的情况中‘锁定’受保护文件112,并且不允许对该软件程序的使用。
图3和4示出了将具有许可证策略和其它数据的软件应用程序的文件118包装成受保护软件应用程序或受保护文件112的软件保护实用程序的用户界面。本领域的技术人员可以理解,软件包裹实用程序也可以是基于web的。例如,图5示出了用于在管理网站上为包裹的软件应用程序添加附加产品信息的用户界面。图6示出了指示包裹的软件应用程序被添加至管理网站的对话框。一旦被添加到网站或店面106之后,文件可按产品ID、关键字或其它搜索准则来搜索。例如,如果使用对话框174中所示的产品ID 176来执行搜索,则将产生如图7中所示的搜索结果对话框178。为实现基于国家的许可方案100,软件保护实用程序或基于web的软件包裹实用程序需要诸如图8和9中所示的那些的附加用户界面,用于选择这些许可策略的各种选项。
店电子店面106中由文件118的集合组成的软件产品需要支持复杂的许可证策略120。这些许可证策略120可包括安全证书模板密钥、项目/产品ID、签名等级和基于由用户选择的选项的某些附加信息。这些许可证策略120理想地可被包含在与被包裹的软件产品文件118相关联的配置信息或包装定制122中。关于什么国家的配置可被配置成电子店面106中的项目ID的一部分。在购买许可证之后,许可证激活服务器108必须在将来记录许可证的国家作为许可证激活服务器记录的一部分。
许可证服务器许可证激活服务器或简称许可证服务器108需要支持基于国家的许可证。一旦发生购买,需要将许可证类型记录为基于国家的并记录购买的国家。
当包装104在周期性基础上回叫170时,它将需要许可证服务器104确认许可证。许可证服务器104将采用传入的IP地址,并使用NetAcuity来解析呼叫者的位置即用户102的IP地址,然后将其与原始请求ID的记帐国家进行比较。如果存在问题,则将向包装104告知该问题。
许可证服务器108可实现更复杂的许可证策略120并提供必要的仲裁。可提供替换的配置来处理未解析的IP地址和其它机制,而不背离本发明的范围和精神。未解析的IP可例如还原至请求ID中的记帐国家。许可证服务器108可标记未解析的IP,并尽可能经常地尝试解析。
无论何时,许可证状态都可被改成退款/退还/欺诈,从而许可证服务器108将立即向包装回叫返回对许可证策略的即时侵犯,并停用受保护产品文件112。
此外,管理许可证服务器108的公司的顾客服务代表(CSR)应具有允许CSR查看产品的序列号、激活历史、产地、当前国家和他们为解决发生在正进行的基于国家的许可证的激活和管理中的纠纷所需的其它必要信息的信息显示屏幕。而且,应向任何CSR给予在请求/要求时制服侵犯商业规则的能力。
为历史的目的并为CSR屏幕,需要制作每个顾客服务请求的日志。记入日志的信息可包括序列号、硬件指纹、激活码、日期、IP地址、国家解析、定单号。顾客服务应能够对是否对软件的特定单元或所购买的软件许可证允许附加的激活进行有见解的判断。此外,他们想要仲裁关于IP地址问题和其它类型的问题的事实。为此,需要向他们提供允许他们看见与任何许可证激活问题有关的所有信息的屏幕。CSR想要查看提供购买的许可证的激活历史的日志信息的完整列表的详细报告。这包括下载的/序列号、解锁密钥、硬件指纹、许可证名称、IP地址、所解析的IP国家、许可证的国家、日期等。
CSR应能够越过对激活的阻挡,以允许用户在指定的天数内或在指定的日期之前继续使用软件。理想地,顾客服务需要能够查询逼近终止的侵犯中的所有用户的列表,以便它们能够在这成为问题之前越过并解决问题(即,找出如IP地址不解析到任何位置等明显的问题等)。
许可证服务器108也可具有允许ISV或店面106审阅关于基于国家的许可证的激活历史、撤销和其它相关信息。
对基于国家的许可方案100的较佳实施例实现可总结如下。提供了供本地计算机102中使用的计算机软件许可证管理系统软件包装1044。包装104中的包装界面110提供对计算机软件应用程序文件119的受控访问。软件应用程序文件119由安全软件代码封装来保护软件应用程序文件119免遭未经授权的访问。软件许可证密钥被包含在包装104中,它标识指定地理边界内的使用限制的许可证策略120。该地理边界可基本上与国家国界或邻近国家的集合的外边界相同。
包装104中的许可证确认机制被配置成通过利用(168)诸如进程间通信和http协议通信通道(即,因特网链路)等预先存在的通信基础架构116来提供具有包装104的本地计算机102与许可服务器108之间的通信链路以确定与许可证策略的一致性。许可证确认机制响应于从许可证服务器108接收到的有效许可证确认信号172允许在本地计算机102上操作的另一进程经由包装界面110进行访问。否则,软件包装104响应于正从许可证服务器108接收的无效许可证确认信号172拒绝在本地计算机102上操作的另一进程经由包装界面110进行访问。
包装界面110较佳地提供对共同形成软件应用程序的软件应用程序文件118的集合的受控访问。软件包装104可被配置成为各种理由拒绝在本地计算机上操作的另一进程经由包装界面进行访问。例如,当没有在预定的时间段内从许可证服务器108接收到有效许可证确认信号172时可发生拒绝。而且,软件包装104可允许在本地计算机102上操作的另一进程经由包装界面110进行有限持续期的访问,并使得本地计算机102显示关于软件应用程序119在软件许可证密钥标识的许可证策略中所指定的地理边界之外的未经授权的使用的警告消息148。警告消息148可响应于从许可证服务器108接收的无效许可证确认信号172或未在预定的时间段内从许可证服务器108中接收到信号中的任一情况。较佳地,该警告消息向用户提供购买具有包括本地计算机102的当前地理位置的使用限制的软件应用程序文件119的许可证的选项。
计算机软件许可证管理系统100可包括软件包装104和许可证服务器108。许可证服务器108较佳地被配置成执行若干步骤,诸如●经由通信链路接收软件许可证密钥和本地计算机的当前互联网协议(IP)地址;●通过在对IP地址数据库的地理位置交叉引用中执行反向IP地址查找来确定所接收到的当前IP地址的当前地理位置;●基于所接收的软件许可证密钥从许可证数据库检索具有特定地理边界的使用限制的许可证策略;以及●当当前地理位置位于所检索的许可证策略所标识的特定地理边界内时经由通信链路将有效许可证确认信号发送到本地计算机。
还提供了包括用于利用预先存在的通信基础设施116来提供计算机软件许可证服务器108与远程计算机102之间的通信链路的通信模块的计算机软件许可证服务器108。通信模块接收(162)软件许可证密钥和本地计算机102的当前互联网协议(IP)地址。许可证服务器对IP地址数据库交叉引用164地理位置。许可证服务器108还包括含有若干许可证策略120的许可证数据库。每一许可证策略由相应的软件许可证密钥唯一地标识。该许可证策略指定软件应用程序119在地理边界内的使用限制。许可证确认机制被配置成使通信模块经由通信链路向远程计算机102发送有效许可证确认信号166。许可证服务器响应于以下动作发送这样的信号172(i)通过在地理位置数据库中执行反向IP地址查找为所接收的当前IP地址标识当前地理位置,(ii)基于所接收到的软件许可密钥对许可数据库检索特定的地理边界使用限制,以及(iii)确定当前地理位置位于特定地理边界内。
许可证服务器108的许可证确认机制164、170被配置成使通信模块响应于以下动作经由通信链路将无效许可证确认信号166、172发送给远程计算机(i)通过在地理位置数据库中执行反向IP地址查找来为所接收到的当前IP地址标识当前地理位置,(ii)基于所接收到的软件许可证密钥从许可证数据库中检索特定的地理边界使用限制,以及(iii)确定当前地理位置位于该特定地理边界之外。
还提供电子店面106供经由本地计算机102与电子店面106之间的预先存在的通信链路操作上耦合的消费者使用。电子店面106包括可供下载的若干计算机软件许可证管理系统包装104。每一包装104包括由安全软件代码封装以便使其文件119免受未经授权的访问的软件应用程序119,和指定地理边界内的使用限制的许可证策略。电子店面106还包括用于响应于顾客选择包装104之一来下载而请求输入包含记帐的地理位置的记帐信息的软件购买应用程序。如果记帐地理位置位于所选包装104的许可证策略中所指定的地理边界之外,则软件购买应用程序阻止153对所选包装104的下载。
可以理解,尽管在前述描述中描述了本发明的各个实施例的众多特征和优点,以及本发明的各个实施例的结构和功能的细节,但本公开仅是说明性的,可在细节上进行改变,尤其是关于由其中表达了所附权利要求的条款的宽泛的一般含义最大程度上指示的本发明的原理内的各部分的结构和安排。例如,取决于web界面的特定应用,特定元素可有所变化,使得向用户呈现不同的对话框,它们被不同地组织或设计同时又维持基本上相同的功能,而不背离本发明的范围和精神。
权利要求
1.一种供本地计算机使用的计算机软件许可证管理系统软件包装,包括提供对计算机软件应用程序文件的受控访问的包装界面,所述软件应用程序文件由安全软件代码封装以保护所述软件应用程序文件免受未经授权的访问;标识指定地理边界内的使用限制的许可证策略的软件许可证密钥;以及被配置成通过利用提供所述本地计算机与许可证服务器之间通信链路的预先存在的通信基础架构来周期性地确定是否遵循所述许可证策略的许可证确认机制,所述许可证确认机制响应于从所述许可证服务器接收的有效许可证确认信号允许在所述本地计算机上操作的另一进程经由所述包装界面进行访问。
2.如权利要求1所述的软件包装,其特征在于,所述包装界面提供对共同形成一软件应用程序的多个计算机软件应用程序文件的受控访问。
3.如权利要求1所述的,其特征在于,所述通信链路包括到因特网的电子网络链路。
4.如权利要求1所述的软件包装,其特征在于,所述许可证确认机制响应于从所述许可证服务器接收的无效许可证确认信号拒绝在所述本地计算机上操作的另一进程经由所述包装界面进行访问。
5.如权利要求1所述的软件包装,其特征在于,所述许可证确认机制当在预定时间段内没有从所述许可证服务器接收到有效许可证确认信号时拒绝在所述本地计算机上操作的另一进程经由所述包装界面进行访问。
6.如权利要求1所述的软件包装,其特征在于,所述许可证确认机制响应于从所述许可证服务器接收无效许可证确认信号或在预定时间段内未从所述许可证服务器接收到信号的任一情况,(i)允许在所述本地计算机上操作的另一进程经由所述包装界面进行有限持续期的访问,以及(ii)使所述本地计算机显示关于在由所述软件许可证密钥标识的许可证策略中所指定的地理边界之外对所述软件应用程序文件的未经授权的使用的警告消息。
7.如权利要求6所述的软件包装,其特征在于,所述警告消息向用户提供购买带有包括所述本地计算机的当前地理位置的使用限制的所述软件应用程序文件的许可证的选项。
8.一种含有如权利要求1所述的软件包装且还包括所述许可证服务器的计算机软件许可证管理系统,所述许可证服务器被配置成执行以下步骤经由所述通信链路接收软件证许可密钥和所述本地计算机的当前互联网协议(IP)地址;通过在对IP地址数据库的地理位置交叉引用中执行反向IP地址查找为所接收到的当前IP地址确定当前地理位置;基于所接收到的软件许可证密钥从许可证数据库检索含有特定地理边界的使用限制的许可证策略;以及当所述当前地理位置位于所检索到的许可证策略所标识的特定地理边界内时经由所述通信链路将所述有效许可证确认信号发送给所述本地计算机。
9.如权利要求1所述的软件包装,其特征在于,所述地理边界基本上与国家国界相同。
10.如权利要求1所述的软件包装,其特征在于,所述地理边界包括相邻国家的集合的外边界。
11.一种计算机软件许可证服务器,包括用于利用预先存在的通信基础架构来提供所述许可证服务器与远程计算机之间的通信链路的通信模块,所述通信模块接收软件许可证密钥和所述本地计算机的当前互联网协议(IP)地址;对IP地址数据库的地理位置交叉引用;含有多个许可证策略的许可证数据库,每一许可证策略由相应的软件许可证密钥唯一标识,至少一个许可证策略为软件应用程序指定地理边界内的使用限制;以及许可证确认机制,所述许可证确认机制被配置成使所述通信模块响应于以下动作经由所述通信链路向所述远程计算机发送有效许可证确认信号(i)通过在所述地理位置数据库中执行反向IP地址查找来为所接收的当前IP地址标识当前地理位置,(ii)基于所接收到的软件许可证密钥从所述许可证数据库检索特定地理边界使用限制,以及(iii)确定所述当前地理位置位于所述特定地理边界内。
12.如权利要求11所述的许可服务器,其特征在于,所述许可证确认机制被配置成使所述通信模块响应于以下动作经由所述通信链路向所述远程计算机发送无效许可证确认信号(i)通过在所述地理位置数据库中执行反向IP地址查找来为所接收的当前IP地址标识当前地理位置,(ii)基于所接收到的软件许可证密钥从所述许可证数据库检索特定地理边界使用限制,以及(iii)确定所述当前地理位置位于所述特定地理边界之外。
13.一种电子店面,供经由本地计算机和电子店面之间的预先存在的通信链路而操作上耦合的消费者来使用,所述电子店面包括可供下载的多个计算机软件许可证管理系统包装,每一包装包括由安全代码封装以保护其文件免受未经授权的访问的软件应用程序,以及指定地理边界内的使用限制的许可证策略;以及用于响应于消费者选择所述多个包装之一来下载而请求输入包括记帐的地理位置的记帐信息的软件购买应用程序,如果所述记帐地理位置位于所选择的包装的许可证策略中所指定的地理边界之外,则所述软件购买应用程序阻止对所选包装的下载。
全文摘要
描述了供本地计算机中使用的计算机软件许可证管理系统包装。该软件包装包括提供对计算机软件应用程序文件的受控访问的包装界面。软件应用程序文件由安全软件代码封装以保护其免受未经授权的访问。软件包装还包括标识指定地理边界内的使用限制的许可证策略的软件许可证密钥。此外,该软件包装包括周期性地确定是否遵循许可证策略的许可证确认机制。许可证确认机制响应于从许可证服务器接收的有效许可证确认信号允许在本地计算机上操作的另一进程经由包装界面进行访问。还描述了所利用的许可证服务器和销售含有地理边界内的使用限制的软件许可证包装的电子店面。
文档编号G06F21/00GK1954543SQ200580015877
公开日2007年4月25日 申请日期2005年4月14日 优先权日2004年4月14日
发明者J·A·朗宁 申请人:数码河股份有限公司