软件数字许可管理方法及系统与流程

文档序号:11691224阅读:223来源:国知局
软件数字许可管理方法及系统与流程

本发明涉及计算机软件领域,特别涉及软件数字许可管理方法及系统。



背景技术:

为了保护计算机软件,通常采用向软件用户颁发软件数字许可的方式。软件数字许可中规定了软件的允许使用期限、允许使用区域、允许使用次数等,客户端基于软件数字许可而在指定范围运行软件。

现有的软件数字许可通常要求运行软件的客户端联网使用,以便于服务端实时检测软件数字许可的当前状态。一旦检测到超出软件数字许可中的限制条件,则禁用软件数字许可。

然而,这种方式需要客户端保持联网状态,在一些不能联网的情况下会给用户带来不便。



技术实现要素:

有鉴于此,本发明提出了一种仅需客户端定期联网而无需保持联网的软件数字许可管理方法及系统。

本发明实施例的软件数字许可管理方法包括:基于客户端的获取请求,向客户端发送数字许可和包括指定时间间隔的信息;基于客户端的激活请求激活所述数字许可后,监测来自所述客户端的延长使用请求的发送时间间隔;当监测到所述发送时间间隔不大于所述指定时间间隔时,允许所述客户端在所述指定时间间隔内离线使用所述数字许可,否则进行预定处理。

本发明实施例的软件数字许可管理系统包括客户端和服务端,服务端包括:发送单元,配置为基于客户端的获取请求,向客户端发送数字许可和包括指定时间间隔的信息;监测单元,配置为基于客户端的激活请求激活所述数字许可后,监测来自所述客户端的延长使用请求的发送时间间隔;处理单元,配置为当监测单元监测到所述发送时间间隔不大于所述指定时间间隔时,允许所述客户端在所述指定时间间隔内离线使用所述数字许可,否则进行预定处理。

通过本发明实施例的方法和系统,仅轻度依赖网络就能实现对软件数字许可的管理,客户端只需定期联网与服务端交互,无需保持实时在线,为软件用户提供了便利。

附图说明

图1为本发明一个实施例的软件数字许可管理方法的示例性流程图;

图2为本发明另一实施例的软件数字许可管理方法的示例性流程图;

图3为本发明再一个实施例的软件数字许可管理方法的示例性流程图;

图4为本发明一个实施例的软件数字许可管理系统的示例性框图;

图5为本发明另一实施例的软件数字许可管理系统的示例性框图。

具体实施方式

下面参照附图对本发明实施例进行详细描述。

图1为本发明一个实施例的软件数字许可管理方法的示例性流程图。如图1所示,本实施例的软件数字许可管理方法包括:

s10、基于客户端的获取请求,向客户端发送数字许可和包括指定时间间隔的信息;

服务端生成软件数字许可,并在从客户端接收到对数字许可的下载请求时,将生成的软件数字许可发送给客户端,同时向客户端发送一些相关信息,信息中可包括指定时间间隔。指定时间间隔规定了要求客户端定期联网的时限间隔(后文将详细描述)。

在本发明实施例中,服务端可对发出获取请求的客户端进行指定的验证,如用户账号系统验证、数字许可归属验证等,并在验证均通过的情况下允许客户端下载软件数字许可。例如,数字许可中可以包括许可数据和服务端私钥的电子签名以使得只有持有对应公钥的客户端才能完成验签,许可数据中可以包括表示数字许可归属于哪个用户的信息,这里可利用用户唯一标识信息来进行归属验证。客户端可在发出获取请求时实时将数字许可唯一标识信息和所归属用户的唯一标识信息提交给服务端,以待服务端查询验证后返回结果,这里服务端的返回结果也可以带有服务端私钥的电子签名。

s11、基于客户端的激活请求激活数字许可后,监测来自客户端的延长使用请求的发送时间间隔;

客户端从服务端接收到软件数字许可后,需要向服务端请求激活数字许可才能使用。服务端可以不限制客户端发送激活请求的时间,即可以允许客户端在接收到数字许可后在任意时间激活数字许可,例如用户不需要立即开始使用软件时,可以选择在客户端接收到数字许可后暂不激活,到需要使用软件时才激活数字许可。服务端也可以限制客户端发送激活请求的时间,例如规定客户端在接收到数字许可后的两周内必须激活该数字许可,否则就使该数字许可失效。对数字许可的激活请求可以由客户端自动发出,例如在根据用户操作启动目标软件时自动向服务端发出激活数字许可的请求,也可以由用户主动操作客户端发出激活请求。服务端将记录从客户端接收到激活请求的时间。

客户端激活数字许可之后,在使用数字许可时不需要保持联网状态,即离线使用数字许可,并需以s10中接收到的指定时间间隔为时限,定期或不定期向服务端发送延长使用请求。例如,当指定时间间隔为7天时,客户端需要在7天期满之前,向服务端发送延长使用请求,这里,客户端可以定期地每7天向服务端发送延长使用请求,也可以不定期地在7天内的任意一天向服务端发送延长使用请求。

在接收到来自客户端的延长使用请求时,服务端记录接收到延长使用请求的时间,并将该时间与上次接收到激活请求或延长使用请求的时间进行比较计算得到发送时间间隔。具体而言,当客户端激活数字许可后第一次发出延长使用请求时,服务端将收到请求的时间与所记录的从该客户端接收到激活请求的时间进行比较计算得到发送时间间隔;当客户端第二次以后发出延长使用请求时,服务端将本次收到延长使用请求的时间与所记录的上次接收到延长使用请求的时间进行比较计算得到发送时间间隔。

s12、确定发送时间间隔是否不大于指定时间间隔,如是,进行s13,否则进行s14;

s13、允许客户端在指定时间间隔内离线使用数字许可;

当服务端确定计算出的发送时间间隔不大于指定时间间隔时,确定客户端已在限定期限内发送了延长使用请求,则允许客户端继续在接下来的指定时间间隔内离线使用数字许可。

s14、进行预定处理。

当服务端确定计算出的发送时间间隔大于指定时间间隔时,确定客户端未能在限定期限内发送延长使用请求,则进行预定处理,例如,使该数字许可失效、暂时禁用该数字许可、向客户端发送续用提示或解禁提醒等。

通过本发明实施例的方法,仅轻度依赖网络就能实现对软件数字许可的管理,客户端只需定期联网与服务端交互,在实现了对数字许可的监控的同时允许客户端离线使用数字许可而无需保持时刻在线,为软件用户提供了便利。

在本发明一个实施例中,服务端向客户端发送的数字许可中可以包括许可离线使用时长,且s13可实施为允许客户端将数字许可中的许可离线使用时长重置为许可离线使用总时长,也就是许可离线使用时长的初始值。

许可离线使用时长可以与指定时间间隔相同或者不同。

例如,许可离线使用时长和指定时间间隔可以均为10天,则当客户端未能在指定的10天内向服务端发送延长使用请求时,当即失去对数字许可的离线使用权,并在10天后才向服务端发送延长使用请求时,将从服务端收到提醒用户进行解禁操作的通知等。

例如,许可离线使用时长可以为10天,指定时间间隔可以为7天,则当客户端未能在指定的7天内向服务端发送延长使用请求时,还可以在接下来的三天内离线使用数字许可,并在7天后才向服务端发送延长使用请求时,根据不同情况将从服务端收到数字许可禁用通知等。

根据本发明的一个实施例,为了减轻用户使用数字许可的负担,客户端可以设置为自动向服务端发送延长使用请求。

可以为客户端发送延长使用请求的动作设定触发条件,例如,可以预先进行设置使得客户端在检测到数字许可剩余的许可离线使用时长达到许可离线使用总时长的预定比例时触发延长使用请求,比如数字许可的许可离线使用总时长为10天,可将触发条件设定为剩余的许可离线使用时长达到许可离线使用总时长的4分之1,即当剩余的许可离线使用时长还有2.5天时,则触发延长使用请求的发送。

通过本实施例,用户可以提前设定好触发条件,让客户端自动发送延长使用请求,提高使用时的便利性。

图2为本发明另一实施例的软件数字许可管理方法的示例性流程图。

如图所示,本实施例在图1所示各步骤的基础上,还包括:

s15、在对数字许可进行撤销处理的情况下,当从客户端接收到激活请求或延长使用请求时通知客户端删除数字许可。

在本实施例中,服务端可以撤销已颁发的软件数字许可。例如,当服务端颁发软件数字许可之后或为客户端激活软件数字许可之后,因发现所颁发的数字许可并非应当发送的数字许可或者所颁发的数字许可需要修改时,可先直接在服务端对该数字许可处理进行撤销处理。服务端撤销数字许可后,不必即时通知客户端,而是可以在接收到客户端对数字许可的激活请求或延长使用请求时,通知客户端该数字许可已被撤销,客户端可删除该数字许可。

当然,在少数情况下,如果客户端一直未向服务端发送延长使用请求,也可以在授权使用时间或次数达到之前正常使用该数字许可。

在本实施例中,服务端可在颁发数字许可后一段时间内主动撤销数字许可来进行替换或修改,并在客户端下次与服务端交互时通知到客户端,使得本发明的数字许可管理体系具有一定的容错性和可扩展性。

图3为本发明再一个实施例的软件数字许可管理方法的示例性流程图。

在本实施例中,客户端可在向服务端发送的获取请求中加入客户端的特征码。

如图3所示,本实施例在图1所示各步骤的基础上,还包括:

s16、记录数字许可与特征码之间的关联关系;

s17、当收到来自客户端的对发送过的数字许可的获取请求时,在记录的关联关系中查询是否存在该客户端的特征码,如果不存在则拒绝该获取请求。

本实施例中的特征码可例如通过按照预定算法对客户端的软件信息和/或硬件信息进行运算得到。例如,软件信息可包括客户端的操作系统信息,硬件信息可包括客户端的至少一个硬件部件的标识信息。

在本发明实施例中,客户端可具有专用于存储和管理数字许可的模拟硬件模块,该特征码可以作为模拟硬件模块的唯一标识信息。模拟硬件模块可具有特定的计算和处理能力,模拟硬件模块中可包括模拟驱动模块(例如windows操作系统的虚拟usb、虚拟光驱等)和加密文件存储模块。

在图3所示实施例中,服务端在s10中向客户端发送数字许可后,记录数字许可与客户端的模拟硬件模块的特征码之间的关联关系,当再次收到对发送过的数字许可的获取请求时,在所记录的关联关系中查询该客户端的特征码是否为所记录的与该数字许可对应的特征码。

本实施例可用于限制一份数字许可只能被同一个模拟硬件模块下载存储。

在本发明一个实施例中,客户端可以按预定算法(例如sha1/sha256等哈希运算)将操作系统运行的主要硬件信息转换和计算得到特征码。例如将操作系统类型(不含版本号)、cpu的id、主板的id组合后加入盐值做sha1运算或加盐计算hmac值等。原则是仅使用计算机的极少变更的软硬件信息。通过利用计算机的操作系统信息和硬件信息组合计算得到的特征码来标识(代表)一台可用的计算机,使得不同计算机的特征码重复概率极低。

图4为本发明一个实施例的软件数字许可管理系统的示例性框图。

如图4所示,本发明实施例的软件数字许可管理系统可以包括客户端10和服务端20,其中服务端20包括发送单元21、监测单元22和处理单元23。

发送单元21配置为基于客户端的获取请求,向客户端发送数字许可和包括指定时间间隔的信息。

服务端20生成软件数字许可,在从客户端10接收到对数字许可的下载请求时,发送单元21将生成的软件数字许可发送给客户端10,同时向客户端发送一些相关信息,信息中包括指定时间间隔。指定时间间隔规定了要求客户端定期联网的时限间隔。

在本发明实施例中,服务端20可对发出获取请求的客户端10进行指定的验证,如用户账号系统验证、数字许可归属验证等,并在验证均通过的情况下允许客户端10下载软件数字许可。

客户端10从服务端20接收到软件数字许可后,向服务端20请求激活数字许可以进行正常使用。

客户端10激活数字许可之后,在使用数字许可时不需要保持联网状态,即可以离线使用数字许可,并需以从发送单元21接收到的指定时间间隔为时限,定期或不定期向服务端20发送延长使用请求。

监测单元22配置为监测客户端10发来的延长使用请求。在接收到来自客户端10的延长使用请求时,可由监测单元22记录从该客户端10接收到延长使用请求的时间,并将该时间与上次从同一客户端10接收到激活请求或延长使用请求的时间进行比较计算得到发送时间间隔。

处理单元23配置为当监测单元22监测到发送时间间隔不大于指定时间间隔时,允许客户端10在指定时间间隔内离线使用数字许可,否则进行预定处理,例如使该数字许可失效、暂时禁用该数字许可、向客户端发送续用提示或解禁提醒等。

通过本发明实施例的系统,仅轻度依赖网络就能实现对软件数字许可的管理,客户端只需定期联网与服务端交互,在实现了对数字许可的监控的同时允许客户端离线使用数字许可而无需保持实时在线,为软件用户提供了便利。

在本发明一个实施例中,发送单元21向客户端10发送的数字许可中可以包括许可离线使用时长,且处理单元23配置为当监测单元22监测到发送时间间隔不大于指定时间间隔时允许客户端10将许可离线使用时长重置为许可离线使用总时长。

根据本发明的一个实施例,客户端10在检测到数字许可剩余的许可离线使用时长达到许可离线使用总时长的预定比例时触发延长使用请求。

比如数字许可的许可离线使用总时长为10天,可将触发条件设定为剩余的许可离线使用时长达到许可离线使用总时长的4分之1,即当剩余的许可离线使用时长还有2.5天时,则触发延长使用请求的发送。

在本发明一个实施例中,处理单元23还配置为在预定条件下对数字许可进行撤销处理,且发送单元21还配置为在处理单元23对数字许可进行撤销处理的情况下,当从客户端10接收到延长使用请求时通知客户端10删除数字许可。

例如,当服务端20颁发软件数字许可之后或为客户端10激活软件数字许可之后,发现所颁发的数字许可并非应当发送的数字许可或者所颁发的数字许可需要修改时,服务端20的处理单元23可直接对该数字处理进行撤销处理,并由服务端20的发送单元21通知客户端10删除数字许可。

在本实施例中,服务端可在颁发数字许可后一段时间内主动撤销数字许可来进行替换或修改,并在客户端下次与服务端交互时通知到客户端,使得本发明的数字许可管理体系具有一定的容错性和可扩展性。

图5为本发明另一实施例的软件数字许可管理系统的示例性框图。

在本实施例的软件数字许可管理系统中,客户端10向服务端20发送的获取请求中包括客户端10的特征码。特征码可通过按照预定算法对客户端的软件信息和/或硬件信息进行运算得到,例如软件信息可包括客户端的操作系统信息,硬件信息可包括客户端的至少一个硬件部件的标识信息。

如图5所示,本实施例的软件数字许可管理系统在包括图4所示的发送单元21、监测单元22和处理单元23的基础上,还包括记录单元24和查询单元25。

记录单元24配置为在发送单元21向客户端10发送数字许可和关于指定时间间隔的信息后,记录该发送的数字许可与该客户端10的特征码之间的关联关系。

查询单元25配置为在记录单元24记录关联关系之后,当发送单元21收到来自客户端10的对发送过的数字许可的获取请求时,在记录单元24记录的关联关系中查询是否存在该客户端10的特征码。

本实施例中的发送单元21还配置为如果查询单元25确定记录单元24记录的关联关系中不存在该客户端10的特征码,则拒绝该客户端10对该数字许可的获取请求。

本实施例可用于限制一份数字许可只能被同一个模拟硬件模块下载存储。

在本发明实施例中,客户端10可具有专用于存储和管理数字许可的模拟硬件模块,特征码可以作为模拟硬件模块的唯一标识信息。模拟硬件模块可具有特定的计算和处理能力,模拟硬件模块中可包括模拟驱动模块(例如windows操作系统的虚拟usb、虚拟光驱等)和加密文件存储模块。

在本发明一个实施例中,客户端可以按预定算法(例如sha1/sha256等哈希运算)将操作系统运行的主要硬件信息转换和计算得到特征码。例如将操作系统类型(不含版本号)、cpu的id、主板的id组合后加入盐值做sha1运算或加盐计算hmac值等。原则是仅使用计算机的极少变更的软硬件信息。通过利用计算机的操作系统信息和硬件信息结合计算得到的特征码来标识(代表)一台可用的计算机,使得不同计算机的特征码重复概率极低。

以上对本发明的一些实施例进行了说明,但本发明不限于上述具体实施例,本领域技术人员在不脱离本发明构思的情况下可获得本发明实施例的多种替换实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1