用于计算机系统和服务器系统的许可系统以及用于其的方法与流程

文档序号:12167262阅读:268来源:国知局
用于计算机系统和服务器系统的许可系统以及用于其的方法与流程

本申请要求享有2015年2月18日提交的美国非临时申请序列号14/624,879的优先权,该美国非临时申请要求享有2014年5月3日提交的美国临时专利申请序列号61/988,194的优先权,并且其主题通过引用由此并入本文。

技术领域

本发明一般涉及计算系统,并且更特别地涉及用于具有软件许可的计算的系统。



背景技术:

未经激活的产品经常可以用作时间有限的试用,直到产品密钥被购买为止。产品密钥还可以被称为许可密钥或激活密钥。产品密钥可以用于激活软件,例如以许可软件用于经授权的使用或许可注册。

软件厂商可以典型地通过电子邮件向最终用户发送唯一许可密钥。对于组织内的部署,软件厂商可以典型地向组织的信息技术(IT)管理员发送许可密钥的列表以供内部分发和管理。

当用户安装软件包或软件应用时,软件接口可以请求用户录入许可密钥以激活软件包。在一些情况下,用户可以能够从电子邮件复制许可密钥并且将许可密钥粘贴到软件接口中。在一些其它情况下,软件接口可以阻止粘贴功能并且用户必须手动将许可密钥键入到软件接口中。

存在关于分发经授权的许可密钥的现有方法的数个问题。问题之一在于对于用户而言现有方法是不方便的。现有方法造成困惑以及时间和生产力的损失,尤其对于企业部署而言。现有方法可以包括冗长的过程,其可能涉及等待来自软件厂商的电子邮件,定位电子邮件文本中的许可密钥,并且然后将许可密钥正确地录入到软件接口中。

另一问题在于录入许可密钥还易出现人类错误。因此,已经指出早期的方法或现有方法是不方便的并且要求用户经历额外的步骤以便激活软件应用。

此外,产品密钥的丢失经常意味着一旦被卸载则软件是无用的,这不仅导致生产力的损失,而且导致重新购买软件的附加费用。产品密钥还可以为分发呈现出错的新方式。例如,如果产品与遗失或无效的密钥一起被运送,则整个软件包可以变得无用。

如以上指出的,早期的方法是冗长且复杂的并且导致时间、生产力和金钱的损失。此外,普通用户花费若干复杂的步骤来使用早期的方法找到许可密钥并且将其插入到软件应用中。

因此,仍旧存在对于具有许可注册的网络信息系统的需要。鉴于日益增加的商业竞争压力,连同增长的消费者期待,找到针对这些问题的解答是关键的。此外,降低成本、改进效率和性能并且满足竞争压力的需要向针对找到对这些问题的解答的关键必要性添加甚至更大的紧迫性。

已经长期探索了对这些问题的解决方案,但是现有发展尚未教导或暗示任何解决方案,并且因此本领域技术人员长期尚未得到对这些问题的解决方案。



技术实现要素:

本发明的实施例提供一种网络信息系统的操作的方法,包括:提取唯一设备标识以用于发送到电子商务服务器,其中所述唯一设备标识是从具有在网络连接的设备上被安装并且未被激活的软件应用的网络连接的设备提取的;基于唯一设备标识而生成通知以用于发送到许可服务器;以及基于所述通知而生成针对唯一设备标识的产品密钥以用于激活软件应用以在计算设备上运行。

本发明的实施例提供一种网络信息系统,包括:用于提取唯一设备标识以用于发送到电子商务服务器的提取模块,其中所述唯一设备标识是从具有在网络连接的设备上被安装并且未被激活的软件应用的网络连接的设备提取的;耦合到提取模块的结算过程模块,其用于基于唯一设备标识而生成通知以用于发送到许可服务器;以及耦合到结算过程模块的密钥生成模块,其用于基于所述通知而生成针对唯一设备标识的产品密钥以用于激活软件应用以在计算设备上运行。

本发明的某些实施例具有附加于或替代于以上提到的那些的其它步骤或元件。当参照附图来理解时,步骤或元件将从以下详细描述的阅读变得对本领域技术人员是明显的。

附图说明

图1是本发明的实施例中的网络信息系统的网络图。

图2是图1的网络信息系统的注册过程的流程图。

图3是图1的网络信息系统的提取过程的流程图。

图4是图1的网络信息系统的通知传输过程的流程图。

图5是图1的网络信息系统的密钥传输过程的流程图。

图6是图1的网络信息系统的密钥接收过程的流程图。

图7是图1的网络信息系统的标识过程的流程图。

图8是厂商信息表的示例。

图9是本发明另外的实施例中的网络信息系统的操作的方法的流程图。

具体实施方式

充分详细地描述以下实施例以使得本领域技术人员能够做出和使用本发明。要理解的是,基于本公开,其它实施例将是明显的,并且可以在不脱离本发明的实施例的范围的情况下做出系统、过程或机械改变。

在以下描述中,给出众多具体细节以提供本发明的透彻理解。然而,将显然的是,本发明可以在没有这些具体细节的情况下实践。为了避免使本发明的实施例模糊,未详细公开一些公知的电路、系统配置和过程步骤。

示出系统实施例的图是半示意性的并且未按比例,并且特别地,一些尺寸是为了呈现的清楚性并且在附图各图中放大地示出。类似地,尽管附图中的视图为了易于描述而一般示出类似的取向,但是图中的该描绘多半是任意的。一般地,本发明可以以任何取向操作。

在本文中提到的术语“模块”依照其中使用该术语的上下文而可以包括本发明的实施例中的软件、硬件或其组合。例如,软件可以是机器代码、固件、嵌入式代码和应用软件。而且例如,硬件可以是电路、处理器、计算机、集成电路、集成电路核、微机电系统(MEMS)、无源器件、包括温度传感器的环境传感器或其组合。

在其中公开和描述具有共同的一些特征的多个实施例的情况下,为了清楚和易于图示、描述及其理解,一般将利用类似的参考标号来描述彼此类似和相似的特征。为了描述的方便起见而将实施例编号为第二实施例、第一实施例等,并且其不意图具有任何其它意义或提供针对本发明的实施例的限制。

在详细解释本发明的实施例之前,要理解的是,本发明的实施例在其应用方面不被限制于以下描述和所图示的图中所阐述的示例的细节。本发明的实施例能够针对各种应用并且以各种方式实践或实施。此外,要理解的是,本文所使用的短语和术语是出于描述的目的并且不被视为限制。

在详细描述软件模块或流程图的实施例之前,要指出的是,本发明的实施例不限于在图中描述或暗示的任何特定软件语言,并且各种可替换的软件语言可以用于本发明的实施例的实现方式。

还要理解的是,图示和描述许多组件和项目就像它们是硬件元件那样。然而,本领域普通技术人员并且基于该详细描述的阅读,将理解到在至少一个实施例中,包括在方法和工具中的组件可以部分地实现以软件来实现。

如本领域技术人员将领会到的,本发明的实施例可以体现为装置、系统或方法。相应地,本发明的实施例可以采取完全硬件实施例、主要软件实施例(包括固件、驻留软件、微代码等)或组合软件和硬件组件的实施例的形式,其一般可以在本文中全部被称为电路、模块或系统。

用于实施本发明的实施例的操作的计算机程序代码可以以一个或多个编程语言的任何组合编写,所述一个或多个编程语言包括面向对象的编程语言(诸如Java、Smalltalk、C++)以及常规过程编程语言(诸如“C”编程语言或类似的编程语言)。计算机程序代码还可以以动态编程语言来编写。

动态编程语言描述在运行时执行其它编程语言在编译期间可以执行的许多公共行为的高级编程语言类。JavaScript和包括PHP超文本预处理器(PHP)、Perl、Python和Ruby的服务器侧脚本语言是动态编程语言的示例。

此外,计算机程序代码还可以使用可以包括开源软件的软件的web(网络)编程栈来编写,其经常包含操作系统、Web服务器、数据库服务器和编程语言。数个实施例可以使用开源Web开发平台,其使用Linux、Apache、MySQL和PHP。还可以通过使用其来生成计算机程序代码的环境和框架的其它示例是基于Ruby编程语言的Ruby on Rails或者作为事件驱动的服务器侧JavaScript环境的Node.js。

计算机程序代码可以完全在用户的计算机上、部分地在用户的计算机上作为独立软件包、部分地在用户的计算机上并且部分地在远程计算机上或者完全在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络连接到用户的计算机,所述任何类型的网络包括局域网(LAN)或广域网(WAN),或者可以例如通过使用因特网服务提供商的因特网做出到外部计算机的连接。

使得用户能够与因特网接合的网络信息系统可以包括用于存储控制程序和数据的存储器,以及用于执行控制程序并且用于管理数据的处理器或中央处理单元(CPU),所述数据包括驻留在存储器中的用户数据和缓冲的内容。计算设备可以耦合到视频显示器,诸如电视、监视器或其它类型的视觉显示器。计算设备可以包括合并在它们中的视频显示器。

例如,具有合并在其中的视频显示器的计算设备可以包括移动设备,诸如iPad、iPhone或便携式设备。而且例如,网络信息系统可以包括个人计算机,包括膝上型电脑或Mac、智能电话、平板电脑、智能TV等。

应用或应用程序(app)或其它模拟可以存储在存储介质上,所述存储介质诸如USB存储器键、闪速存储器、安全数字(SD)卡、微型SD卡、Eye-Fi卡、东芝FlashAir卡或其它类型的存储器介质,在本公开中其全部共同被称为“可移除介质”。app还可以从因特网下载。可移除介质可以插入或连接到其中读取可移除介质的计算设备的控制台。

控制台然后可以读取存储在可移除介质上的程序指令并且向用户呈现用户接口。用户接口可以包括图形用户接口(GUI)或软件用户接口。

现在参照图1,其中示出本发明的实施例中的网络信息系统100的网络图。网络信息系统100可以包括计算设备102、网络连接的设备104、网络106、许可服务器108和电子商务服务器110。网络信息系统100使用网络106来提供用于在计算设备102、网络连接的设备104、许可服务器108和电子商务服务器110之间输送信息的通信机制。

网络信息系统100可以用于具有带有许可能力的软件(例如嵌入式固件)的任何器具。例如,网络信息系统100可以包括任何“物联网”、包括嵌入式系统的各种网络附连的硬件设备,诸如电视(TV)、冰箱、家庭自动化等。而且例如,网络信息系统100可以包括计算机系统、网络附连的设备、可移除存储设备、个人计算机(PC)、非可移除存储介质、非存储类型设备或其组合。

计算设备102提供用于网络连接的设备104的连接性的方法。例如,计算设备102可以表示包括个人计算机(PC)的计算机系统。

例如,网络连接的设备104可以包括可移除介质,诸如通用串行总线(USB)驱动器、USB存储设备、USB存储键、外部硬盘驱动器(HDD)或固态驱动器(SSD)。而且例如,网络连接的设备104可以包括可移除储存器、可移除介质,诸如存储器卡、存储器卡读取器或便携式介质。

出于说明目的,网络连接的设备104被示出连接到计算设备102,计算设备102附连到网络106,尽管要理解的是,网络连接的设备104可以以任何配置连接。例如,网络连接的设备104可以附连到或直接连接到网络106,而没有直接在网络连接的设备104与网络106之间的计算设备102。作为具体示例,网络连接的设备104可以包括可网络连接的存储设备。

网络连接的设备104可以与一个或多个软件应用112捆绑。软件应用112可以从互联网下载。软件应用112可以未被激活。软件应用112可以最初是可在试用模式或免费增值模式中得到的。用户可以在已经试用或测试软件应用112之后购买用于软件应用112的许可114。例如,软件应用112可以包括在网络连接的设备104中运行的嵌入式软件应用。

计算设备102可以连接或附连到网络106,网络106使得计算设备102能够与连接到网络106的其它实体或设备通信。例如,网络106可以包括因特网或任何其它连接性机制。而且例如,其它实体或其它设备可以包括许可服务器108和电子商务服务器110。

未被激活的软件应用112可用作时间有限的试用,直到产品密钥116被购买和用于激活软件应用112为止。产品密钥116包括字母数字字符的经编码的唯一序列。产品密钥116包括用于计算机程序的特定的基于软件的密钥。产品密钥116证明软件应用112的副本是原始的、经授权的或有效的。

产品密钥116可以表示软件密钥、许可密钥、激活密钥或产品序列号。软件应用112的激活可以通过录入产品密钥116而离线完成或执行。数个软件应用112的在线激活可以阻止多个用户使用相同的许可密钥。

每一个产品密钥116可以包括字母数字字符(诸如数字、字母或其组合)的系列或序列。序列可以由用户在计算机软件或软件应用112的安装期间录入并且然后可以被传递到程序或软件应用112中的验证功能。该功能可以基于数学算法而操纵产品密钥116的序列并且试图将结果匹配到有效解集。

许可服务器108可以在网络106上的中心位置处,其中许可114可以被存储并且可以由网络106上的用户访问。许可服务器108是集中式计算机软件系统,其向客户端计算机系统提供许可密钥以便使得经许可的软件能够在客户端计算机系统上运行。许可服务器108可以表示软件许可服务器。

用户可以在由软件应用112的用户接口提供的菜单上点击以获得或购买许可114。例如,用户可以在用户接口上的获取按钮118上点击。例如,获取按钮118可以包括“现在购置”按钮或允许用户购买许可114的用户接口上的其它按钮。然后,用户可以重定向到电子商务服务器110,其中用户可以为软件应用112的许可114进行支付。

一旦用户或其赞助者(例如公司、IT管理员等)已经成功地为许可114支付,电子商务服务器110可以通知许可服务器108。然后,许可服务器108可以向用户和/或其赞助者发送消息120。例如,消息120可以包括电子邮件或任何其它形式的电子通信方法。

消息120可以包括产品密钥116。用户可以在从许可服务器108接收的消息120中定位产品密钥116。然后,用户可以向软件接口中正确地输入产品密钥116以激活许可114。

一旦使用软件接口将产品密钥116录入到软件包或软件应用112中,产品密钥116可以与软件厂商许可服务器或许可服务器108连接以通过网络106验证产品密钥116。软件包或软件应用112可以获得或接收应用于用户的许可114的许可限制112。许可限制122可以从许可服务器108、电子商务服务器110或厂商的系统获得。

例如,许可限制122可以包括时间限制。而且例如,许可限制122可以启用软件应用112的产品特征。另外,例如,许可限制122可以可选地将许可114锁定到包括计算设备102的用户系统。一旦许可114被激活,许可114可以继续工作或者可以在没有与厂商的系统的进一步通信的情况下继续在用户的系统或机器上被激活。

图1示出提取过程124、通知传输过程126和密钥传输过程128。提取过程124通过计算设备102提取唯一设备标识130,其被指代为UDID。通知传输过程126发送唯一设备标识130或其等同物或导出物。通知传输过程126可以生成并且从电子商务服务器110向许可服务器108发送通知132。

密钥传输过程128向计算设备102发送产品密钥116。随后将在图2-8中更加详细地描述提取过程124、通知传输过程126和密钥传输过程128。

与早期方法相关联的早期缺陷和其它问题由本发明的实施例克服。本发明的实施例使软件包向许可服务器108的注册是自动的,而没有在找到产品密钥116和将产品密钥116输入到软件包中的方面的用户交互。

这样的方法和系统提供增加的生产力、易用性和当许可和注册软件包时用户交互的简化。例如,软件应用112可以与诸如网络连接的设备104之类的硬件设备捆绑。

存在对于自动软件注册方法的增长的需要,由此用户不等待产品密钥116在电子邮件中到达并且然后将产品密钥116输入到用户接口中以激活和注册软件。早期方法相当手动并且主要取决于例如通过使用复制和粘贴以及手动录入方法而将产品密钥116手动录入到软件应用接口中的人类交互。不同于早期方法,本发明的实施例提供自动化使得当用户经由电子商务提供者使用电子商务服务器110为许可114支付时软件自动被许可。

在本发明的实施例中,提供具有用于存储数个文件的存储容量的网络连接的设备104。已经指出,在本发明的实施例中,适合于可移除介质的通信协议可以用于网络连接的设备104。例如,通信协议可以包括USB、Thunderbolt和任何其它协议。

网络连接的设备104可以与可以包括试用版本的一个或多个软件应用112捆绑。本发明的实施例为用户提供图形用户接口(GUI)以购置软件应用112的许可114。例如,用户可以通过在“现在购置”按钮、“激活”按钮或允许用户购买或激活许可114的GUI中的其它按钮上点击来购置许可114。

在将网络连接的设备104连接到计算设备102时,最初可用于试用的软件应用112可以从网络连接的设备104运行。软件应用112可以从网络连接的设备104、计算设备102或其组合提取唯一设备标识130。一旦被授权,软件应用112可以被许可在网络连接的设备104、计算设备102或其组合上运行。

唯一设备标识130可以被发送到电子商务服务器110。用户还可以被重定向到电子商务服务器110,其中用户可以通过做出电子结算134来购买许可114。例如,电子结算134可以包括在线支付或任何其它形式的电子支付。

当电子结算134成功完成时,电子商务服务器110可以向许可服务器108发送唯一设备标识130和通知132。唯一设备标识130、与唯一设备标识130相关联的产品密钥116和其它相关联的信息可以被加密和存储在许可服务器108上。

现在参照图2,其中示出图1的网络信息系统100的注册过程202的流程图。注册过程202可以包括与网络信息系统100的用户交互。注册过程202可以提供向图1的许可服务器108的自动软件许可注册。

网络信息系统100可以包括软件执行模块204、提取模块206、重定向模块208、结算模块210和激活模块212。软件执行模块204、提取模块206、重定向模块208、结算模块210和激活模块212可以用于实现注册过程202。

注册过程202可以在图1的软件应用112或具有许可要求和能力的硬件设备的状态213处于未许可状态中时开始。软件应用112可以与图1的网络连接的设备104捆绑。软件应用112的状态213可以包括未激活状态。当软件应用112处于未激活状态中时,试用时段214可以被提供给用户以试用软件应用112。

试用时段214是其中不针对软件应用112的使用而向用户收费的持续时间。试用时段214可以包括任何持续时间。例如,试用时段214可以包括30天免费试用。

软件执行模块204使得用户能够从图1的计算设备102或在其上运行软件应用112。例如,用户可以将网络连接的设备104连接到计算设备102,并且网络连接的设备104上的软件应用112可以执行。

从网络连接的设备104运行的软件应用112可以提供用户接口。用户接口可以被提供以使得用户在试用版本到期时可以被通知。用户接口可以为用户提供购买用于软件应用112的图1的许可114的方法。

提取模块206使得用户能够购买许可114。用户可以在图1的获取按钮118上点击。软件应用112可以提供其中用户可以购买用于软件应用112的许可114的用户接口。

重定向模块208使得用户能够重定向到电子商务网站。提供软件应用112的厂商可以包括作为厂商的企业网站的部分的电子商务功能。

厂商可以使用由图1的电子商务服务器110托管的第三方电子商务网站。第三方电子商务网站可以处理图1的电子结算134并且通知厂商电子结算134对于许可114的购买是成功的。

结算模块210使得用户能够做出针对许可114的电子结算134。例如,用户可以使用信用卡或数字支付的其它方法来购买许可114。作为具体示例,许可114可以通过使用PayPal或其它在线支付服务来购买。

以上提到的许可114可以授权数个网络连接的设备104上的软件应用112的使用。图1的唯一设备标识130可以包括网络连接的设备104或网络连接的设备104连接到的计算设备102的唯一序列号。唯一序列号(或其等同物或导出物)不同于另一唯一序列号(或其等同物或导出物)并且用于标识网络连接的设备104或计算设备102中的每一个。

激活模块212使得网络连接的设备104上的软件应用112能够被激活并且变成完全被许可。网络连接的设备104上的软件应用112可以在没有任何进一步用户交互的情况下被激活并且变成完全被许可。

因此,不同于早期方法,具有图1的产品密钥116的图1的消息120可以不再需要发送到用户,因为软件应用112已经变成完全被许可。此外,用户可以不需要定位产品密钥116并且将产品密钥116精确地输入到软件应用112的用户接口中以便激活和注册软件应用112。

本文所描述的模块可以以硬件或软件来实现。例如,模块可以实现为电子电路,诸如集成电路、分立电路或其组合。在另一示例中,模块可以以软件来实现,诸如运行在专用处理器、微处理器、协处理器或其组合上的软件。

软件执行模块204可以使用计算设备102、网络连接的设备104或其组合来实现。提取模块206可以使用计算设备102、网络连接的设备104或其组合来实现。重定向模块208可以使用计算设备102、网络连接的设备104、图1的网络106、电子商务服务器110或其组合来实现。

结算模块210可以使用计算设备102、网络连接的设备104、网络106、电子商务服务器110或其组合实现。激活模块212可以使用计算设备102、网络连接的设备104、网络106、许可服务器108或其组合来实现。

软件执行模块204可以耦合到提取模块206。提取模块206可以耦合到重定向模块208。重定向模块208可以耦合到结算模块210。结算模块210可以耦合到激活模块212。

已经发现,从具有安装在网络连接的设备104上并且未被激活的软件应用112的网络连接的设备104提取的唯一设备标识130改进可靠性。可靠性被改进,是因为唯一设备标识130随后用于在没有用户交互的情况下自动激活软件应用112的许可114并且因而消除用户错误。

还已经发现,基于唯一设备标识130而生成以用于发送到许可服务器108的图1的通知132改进可靠性。可靠性被改进,是因为通知132随后用于在没有用户交互的情况下自动激活软件应用112的许可114并且因而消除用户错误。

已经进一步发现,基于通知132针对唯一设备标识130生成的产品密钥116改进可靠性。可靠性被改进,是因为产品密钥116随后用于在没有用户交互的情况下自动激活软件应用112的许可114并且因而消除用户错误。

已经再进一步发现,具有用于在许可服务器108上加密并且用于标识网络连接的设备104的唯一序列号的唯一设备标识130改进可靠性。可靠性被改进,是因为唯一设备标识130随后用于在没有用户交互的情况下自动激活软件应用112的许可114并且因而消除用户错误。

已经再进一步发现,存储在网络连接的设备104上的产品密钥116改进可靠性。可靠性被改进,是因为产品密钥116用于成功地激活软件应用112的许可114。

现在参照图3,其中示出图1的网络信息系统100的提取过程124的流程图。提取过程124是从图1的网络连接的设备104或网络连接的设备104连接到的图1的计算设备102提取图1的唯一设备标识130的方法。

网络信息系统100可以包括提取模块206、标识传输应用模块302和响应应用模块304。提取模块206、标识传输应用模块302和响应应用模块304可以用于实现图2的注册过程202。

提取过程124可以在软件应用112的图2的状态213处于未许可状态中时开始。软件应用112可以与网络连接的设备104捆绑。当软件应用112处于未许可状态中时,软件应用112未激活。可以向用户提供图2的试用时段214以试用软件应用112,其具有购买或获取图1的许可114以完全激活软件应用112的针对用户的选项。

提取模块206使得用户能够购买许可114。当用户点击图1的获取按钮118时,软件应用112可以生成或提取唯一设备标识130。可以通过将网络连接的设备104或计算设备102的一个或多个唯一标识符考虑在内而生成唯一设备标识130。

例如,唯一标识符可以包括网络连接的设备104或网络连接的设备104连接到的计算设备102的其序列号。而且例如,从计算设备102提取的这样的唯一标识符可以包括但不限于媒体访问控制(MAC)地址、CPU序列号等。

散列可以从一个或多个唯一标识符生成使得散列表示根据给定算法的一个或多个唯一标识符的组合。唯一设备标识130唯一地标识计算设备102、网络连接的设备104或其组合。

标识传输应用模块302使得唯一设备标识130能够被发送到图1的电子商务服务器110。图1的软件应用112可以向电子商务服务器110发送唯一设备标识130。软件应用112可以向电子商务服务器110发送唯一地标识网络连接的设备104或计算设备102的唯一设备标识130。

响应应用模块304使得软件应用112能够等待图1的许可服务器108对软件应用112进行响应。用户可以被重定向到电子商务服务器110。软件应用112可以等待用户购买许可114并且等待许可服务器108自动激活软件应用112。

标识传输应用模块302可以使用计算设备102、网络连接的设备104、图1的网络106、电子商务服务器110或其组合来实现。响应应用模块304可以使用计算设备102、网络连接的设备104、网络106、许可服务器108、电子商务服务器110或其组合来实现。

提取模块206可以耦合到标识传输应用模块302。标识传输应用模块302可以耦合到响应应用模块304。

现在参照图4,其中示出图1的网络信息系统100的通知传输过程126的流程图。通知传输过程126是从图1的电子商务服务器110向图1的许可服务器108发送图1的唯一设备标识130和图1的通知132的方法。

网络信息系统100可以包括接收电子商务服务器模块402、结算接口模块404、结算过程模块406、标识传输服务器模块408和响应服务器模块410。接收电子商务服务器模块402、结算接口模块404、结算过程模块406、标识传输服务器模块408和响应服务器模块410可以用于实现通知传输过程126。

接收电子商务服务器模块402使得电子商务服务器110能够从图1的网络连接的设备104上的图1的软件应用112接收唯一设备标识130。电子商务服务器110可以接收已经从网络连接的设备104或网络连接的设备104连接到的图1的计算设备102提取的唯一设备标识130。唯一设备标识符130向电子商务服务器110唯一地标识计算设备102、网络连接的设备104或其组合。

结算接口模块404使得电子商务服务器110能够向用户提供用户接口以做出针对软件应用112的图1的许可114的图1的电子结算134。电子商务服务器110可以向用户提供用户接口上的图1的获取按钮118,通过使用所述按钮用户可以能够点击以做出电子结算134。例如,用户可以做出电子结算134以使用信用卡或数字支付的其它方法来购买许可114。

结算过程模块406处理电子结算134并且确定电子结算134是否成功。结算过程模块406生成通知132以指示电子结算134被成功提交。

例如,在用户使用信用卡或其它电子支付方法做出电子结算134以针对许可114进行支付时成功做出电子结算134。而且例如,其它电子支付方法可以包括PayPal或其它在线支付方法。

标识传输服务器模块408使得电子商务服务器110能够向许可服务器108发送唯一设备标识130连同指示电子结算134已经成功提交的通知132。电子商务服务器110可以以加密形式发送唯一设备标识130和通知132的信息以保护该信息。

响应服务器模块410使得电子商务服务器110能够等待来自许可服务器108的响应。电子商务服务器110可以等待来自许可服务器108的响应使得电子商务服务器110可以在计算设备102上向用户发送包括由许可服务器108生成的图1的产品密钥116的图1的消息120。具有产品密钥116的消息120还可以充当购买证据。

接收电子商务服务器模块402可以使用计算设备102、网络连接的设备104、图1的网络106、电子商务服务器110或其组合来实现。结算接口模块404可以使用计算设备102、网络连接的设备104、网络106、电子商务服务器110或其组合来实现。结算过程模块406可以使用计算设备102、网络连接的设备104、网络106、许可服务器108、电子商务服务器110或其组合来实现。

标识传输服务器模块408可以使用计算设备102、网络连接的设备104、网络106、许可服务器108、电子商务服务器110或其组合来实现。响应服务器模块410可以使用计算设备102、网络连接的设备104、网络106、许可服务器108、电子商务服务器110或其组合来实现。

图3的标识传输应用模块302可以耦合到接收电子商务服务器模块402。接收电子商务服务器模块402可以耦合到结算接口模块404。结算接口模块404可以耦合到结算过程模块406。结算过程模块406可以耦合到标识传输服务器模块408。标识传输服务器模块408可以耦合到响应服务器模块410。

现在参照图5,其中示出图1的网络信息系统100的密钥传输过程128的流程图。密钥传输过程128是从图1的许可服务器108向图1的计算设备102发送图1的产品密钥116的方法。

网络信息系统100可以包括接收许可服务器模块502、密钥生成模块504、信息模块506、应用密钥传输模块508和服务器密钥传输模块510。接收许可服务器模块502、密钥生成模块504、信息模块506、应用密钥传输模块508和服务器密钥传输模块510可以用于实现密钥传输过程128。

接收许可服务器模块502使得许可服务器108能够从图1的电子商务服务器110接收图1的唯一设备标识130连同图1的通知132,由此通知132指示图1的电子结算134被成功提交。许可服务器108可以以加密形式接收唯一设备标识130和通知132。许可服务器108可以在进行到接下来的步骤之前对唯一设备标识130和通知132进行解密。

密钥生成模块504使得许可服务器108能够生成针对唯一设备标识130的产品密钥116。例如,许可服务器108可以生成唯一的产品密钥116并且可以使用利用唯一设备标识130用于生成产品密钥116的算法。

而且例如,许可服务器108可以使用基于预确定信息而预先生成的产品密钥116,所述预确定信息诸如消费者姓名、图1的网络连接的设备104的唯一硬件或固件属性(或其修订本)、包括要使用的计算设备102的计算机系统等。预确定信息可以以加密形式存储在数据库中。

信息模块506使得许可服务器108能够在数据库中保存唯一设备标识130和产品密钥116,由此产品密钥116可以与唯一设备标识130相关联。例如,许可服务器108可以在数据库中保存唯一生成的产品密钥116和唯一设备标识130。

而且例如,许可服务器108可以将唯一设备标识130与预先生成的产品密钥116相关联。许可服务器108可以存储唯一设备标识130连同预先生成的产品密钥116。另外,例如,可以以加密形式存储产品密钥116和唯一设备标识130。因此,唯一设备标识130和产品密钥116可以唯一地绑定到单独的存储设备和/或计算设备。

应用密钥传输模块508使得许可服务器108能够向在连接到计算设备102的网络连接的设备104上未许可的图1的软件应用112发送产品密钥116。例如,许可服务器108可以向计算设备102上运行的软件应用112发送唯一生成的产品密钥116,其中可以生成唯一设备标识130。

而且例如,许可服务器108可以向计算设备102上运行的软件应用112发送预先生成的产品密钥116,其中可以生成唯一设备标识130。另外,例如,许可服务器108可以在向软件应用112发送产品密钥116时或之前加密产品密钥116。

例如,许可服务器108可以向从网络连接的设备104运行的软件应用112发送产品密钥116,并且软件应用112可以自动被激活。而且例如,许可服务器108可以向从网络连接的设备104运行的软件应用112发送命令512以将软件应用112的图2的状态213从试用改变到完全被许可和激活。

另外,例如,许可服务器108可以向计算设备102上运行的软件应用112发送命令512以切换软件应用112中的软件开关514。可以在计算设备102上生成唯一设备标识130。

当软件开关514处于“关断(off)”位置或状态时,软件应用112可以处于未许可状态或未激活状态中。当软件开关514处于“开启(on)”位置或状态时,软件应用112可以处于许可状态或激活状态中。

软件开关514可以通过具有可以通过从软件应用112的厂商接收指令或命令512而在二进制值“0”和“1”之间切换的变量来进行操作。二进制值“0”和“1”可以分别用于将状态213切换到关断状态和开启状态。

因此,针对软件应用112的图1的许可114成功做出的电子结算134可以触发许可服务器108向软件应用112发送命令512。可以发送命令512以将软件开关514从二进制值“0”切换到二进制值“1”。

服务器密钥传输模块510使得许可服务器108能够向电子商务服务器110发送产品密钥116。例如,许可服务器108可以向电子商务服务器110发送唯一生成的产品密钥116,电子商务服务器110等待向用户发送图1的消息120,由此消息120可以包括产品密钥116。

而且例如,许可服务器108可以向电子商务服务器110发送预先生成的产品密钥116。另外,例如,许可服务器108可以对可以发送到电子商务服务器110的产品密钥116和任何其它信息进行加密。

再进一步地,例如,许可服务器108可以存储软件应用112的激活日期516并且可以启动许可持续时间计数器518,所述许可持续时间计数器518用于指示当许可114有效或被激活时的持续时间。许可114可以在任何持续时间内有效或被激活。

作为具体示例,如果许可114在2年内有效,则许可114可以从软件应用112的激活日期516开始的两年到期。许可持续时间计数器518可以是可以安装在网络连接的设备104上的软件应用112的子组件。

接收许可服务器模块502可以使用图1的网络106、许可服务器108、电子商务服务器110或其组合来实现。密钥生成模块504可以使用计算设备102、网络连接的设备104、网络106、许可服务器108或其组合来实现。信息模块506可以使用计算设备102、网络连接的设备104、网络106、许可服务器108或其组合来实现。

应用密钥传输模块508可以使用计算设备102、网络连接的设备104、网络106、许可服务器108、电子商务服务器110或其组合来实现。服务器密钥传输模块510可以使用计算设备102、网络连接的设备104、网络106、许可服务器108、电子商务服务器110或其组合来实现。

图4的标识传输服务器模块408可以耦合到接收许可服务器模块502。接收许可服务器模块502可以耦合到密钥生成模块504。密钥生成模块504可以耦合到信息模块506。信息模块506可以耦合到应用密钥传输模块508。应用密钥传输模块508可以耦合到服务器密钥传输模块510。

现在参照图6,其中示出图1的网络信息系统100的密钥接收过程602的流程图。密钥接收过程602是从图1的许可服务器108接收图1的产品密钥116的方法。

网络信息系统100可以包括接收应用模块604、密钥插入模块606和软件激活模块608。接收应用模块604、密钥插入模块606和软件激活模块608可以用于实现密钥接收过程602。

接收应用模块604使得图1的网络连接的设备104上的图1的软件应用112能够从许可服务器108接收产品密钥116,由此软件应用112的图2的状态213处于未许可状态或未激活状态。例如,未许可或未激活的网络连接的设备104上的软件应用112可以从许可服务器108接收产品密钥116。而且例如,可以以加密形式接收产品密钥116。

密钥插入模块606使得产品密钥116能够被自动插入到软件应用112中。例如,产品密钥116可以自动插入到软件应用112中。而且例如,当产品密钥116以加密形式接收时,网络连接的设备104上的软件应用112可以在将产品密钥116自动插入到软件应用112中之前对产品密钥116进行解密。

另外,例如,在软件应用112中可以存在图5的软件开关514。当软件开关514处于“关断”位置时,软件应用112可以处于未许可状态或未激活状态。当软件开关514处于“开启”位置时,软件应用112可以处于许可状态或激活状态。

软件开关514可以通过具有可以通过从软件应用112的厂商接收图5的指令或命令512而在二进制值“0”和“1”之间切换的变量来进行操作。因此,针对软件应用112的图1的许可114而成功做出的图1的电子结算134可以触发软件应用112的厂商或许可服务器108发送命令512。命令512可以被发送到软件应用112以将软件开关514从关断状态切换到开启状态。

软件激活模块608使得软件应用112的状态213能够变成完全被许可。例如,产品密钥116自动插入到软件应用112中可以完全激活软件应用112并且使软件应用112被完全许可。

而且例如,当从许可服务器108接收到指令或命令512时,软件开关514可以自动从关断状态切换到开启状态,使软件应用112被完全许可。另外,例如,预先加载在网络连接的设备104上并且现在被完全许可的软件应用112可以生成和示出确认消息610、确认符号612或其组合。

确认消息610是指示软件应用112被激活或完全许可的信息。确认符号612是指示软件应用112被激活或完全许可的信息。

确认消息610或确认符号612可以连同许可持续时间614和产品密钥116被分配到的人员或公司的分配名称616一起被示出或显示。许可114的许可持续时间614可以在许可114之间不同。确认消息610或确认符号612可以在软件开关514被切换之后生成或示出。

例如,如果用户重新格式化网络连接的设备104或者网络连接的设备104变成受损并且因而丢失被许可并且正从网络连接的设备104运行的软件应用112,软件应用112的许可114可以被重新激活、还原或恢复。许可114可以在当软件应用112与许可服务器108连接时下载软件应用112的新试用版本时被重新激活、还原或恢复。

许可114可以被自动重新激活、还原或恢复使得软件应用112可以随后被完全许可。许可114可以被自动重新激活、还原或恢复,因为许可114唯一地绑定到网络连接的设备104的图1的唯一设备标识130或与所述唯一设备标识130相关联。

因此,许可114可以在不使用户提供用户标识信息以得到产品密钥116来激活新鲜安装的试用版本或新的试用版本的情况下被自动重新激活、还原或恢复。例如,用户标识信息可以包括名称、电子邮件地址等。

接收应用模块604可以使用图1的计算设备102、网络连接的设备104、图1的网络106、许可服务器108或其组合来实现。密钥插入模块606可以使用计算设备102、网络连接的设备104、网络106、许可服务器108或其组合来实现。软件激活模块608可以使用计算设备102、网络连接的设备104、网络106、许可服务器108或其组合来实现。

图5的应用密钥传输模块508可以耦合到接收应用模块604。接收应用模块604可以耦合到密钥插入模块606。密钥插入模块606可以耦合到软件激活模块608。

已经发现,唯一地绑定到唯一设备标识130或与唯一设备标识130相关联的许可114改进可靠性。可靠性被改进是因为许可114在不使用户提供用户标识信息的情况下被自动重新激活、还原或恢复,从而消除易出现人类错误的用户交互。

还已经发现,用于指示软件应用112被激活的确认消息610改进安全性。安全性被改进,是因为确认消息610确保软件应用112在软件应用112被完全许可并且在计算设备102上运行之前已经被成功激活。

现在参照图7,其中示出图1的网络信息系统100的标识过程702的流程图。标识过程702是标识厂商信息以确定许可信息的方法。

网络信息系统100可以包括设备检查模块704、厂商信息传输模块706、询问模块708和显示模块710。设备检查模块704、厂商信息传输模块706、询问模块708和显示模块710可以用于实现标识过程702。

标识过程702可以用于将不同价格和不同许可持续时间与不同厂商或来自相同厂商的不同产品相关联。不同厂商可以制造图1的网络连接的设备104并且可以将图1的软件应用112的试用版本与网络连接的设备104打包。每一个厂商可以具有不同的营销策略。因此,每一个厂商可以提供针对相同软件应用的不同价格点。

设备检查模块704使得网络连接的设备104上的软件应用112能够检查产品身份712、厂商身份714和网络连接的设备104的设备修订本716。产品身份712、厂商身份714和设备修订本716分别被指代为PID、VID和REV。

例如,网络连接的设备104上的软件应用112可以检查产品身份712、厂商身份714和网络连接的设备104的设备修订本716。作为具体示例,对于包括USB设备的网络连接的设备104,可以从www.usb.org处的USB应用者论坛获得厂商身份714。

USB应用者论坛是由开发USB规范的公司组成立的非盈利公司。USB是定义在用于计算机与电子设备之间的连接、通信和功率供给的总线中使用的线缆、连接器和通信协议的工业标准。

产品身份712可以由拥有产品身份712的厂商分配和维护。产品身份712可以用于区分在单个VID下的不同产品。产品身份712可以由厂商自行处理。

设备修订本716可以用作配置管理控制的部分。设备修订本716可以用于区分具有相同VID和PID的多个设备。

厂商信息传输模块706使得软件应用112能够向图1的电子商务服务器110发送产品身份712、厂商身份714和设备修订本716。产品身份712、厂商身份714和设备修订本716可以连同图1的网络连接的设备104、计算设备102或其组合的图1的唯一设备标识130一起发送。

例如,软件应用112可以向电子商务服务器110发送从网络连接的设备104提取的产品身份712、厂商身份714和设备修订本716。而且例如,产品身份712、厂商身份714和设备修订本716可以被加密以保护产品身份712、厂商身份714和设备修订本716。

询问模块708使得电子商务服务器110能够查询厂商信息表718。厂商信息表718可以包括关于与用于网络连接的设备104上的软件应用112的图1的许可114相关联的图6的许可持续时间614和结算值720的信息。结算值720是数字值。结算值720用于在获取许可114时结算。

例如,结算值720可以包括当购买许可114时支付的价格。而且例如,电子商务服务器110可以接收产品身份712、厂商身份714和网络连接的设备104的设备修订本716。

电子商务服务器110可以查询厂商信息表718,所述厂商信息表718存储关于不同厂商、其产品、修订本、相关联的许可价格和与产品身份712、厂商身份714和设备修订本716相关联的许可114的不同持续时间的信息。产品、厂商、修订本、许可价格和持续时间可以分别由产品身份712、厂商身份714、设备修订本716、结算值720和许可持续时间614来标识。

显示模块710使得电子商务服务器110能够在计算设备102的视频显示器上显示结算值720和许可持续时间614。结算值720和许可持续时间614可以与产品身份712、厂商身份714和网络连接的设备104的设备修订本716相关联。

提取唯一设备标识符130以用于发送到电子商务服务器110的物理变换导致物理世界中的移动,诸如人们基于网络信息系统100的操作而使用计算设备102、网络连接的设备104、图1的网络106、图1的许可服务器108、电子商务服务器110和软件应用112。当发生物理世界中的移动时,移动自身创建转换回到用于生成图1的通知132和针对唯一设备标识130的图1的产品密钥116的数据的附加信息以用于网络信息系统100的继续操作并且以继续物理世界中的移动。

设备检查模块704可以使用计算设备102、网络连接的设备104、网络106、许可服务器108、电子商务服务器110或其组合来实现。厂商信息传输模块706可以使用计算设备102、网络连接的设备104、网络106、许可服务器108、电子商务服务器110或其组合来实现。

询问模块708可以使用计算设备102、网络连接的设备104、网络106、许可服务器108、电子商务服务器110或其组合来实现。显示模块710可以使用计算设备102、网络连接的设备104、网络106、许可服务器108、电子商务服务器110、视频显示器或其组合来实现。

设备检查模块704可以耦合到厂商信息传输模块706。厂商信息传输模块706可以耦合到询问模块708。询问模块708可以耦合到显示模块710。

已经发现,厂商信息表718改进可靠性。可靠性被改进,是因为厂商信息表718包括产品身份712、厂商身份714、设备修订本716、结算值720和许可持续时间614,其用于成功地激活许可114。

现在参照图8,其中示出厂商信息表718的示例。示例示出不同存储设备的不同PID、VID和REV、相关联的价格和相关联的许可持续时间。

厂商信息表718可以存储产品身份712、厂商身份714和设备修订本716。厂商信息表718可以存储相关联的信息,包括针对图1的软件应用112的图1的许可114的结算值720和软件应用112的许可持续时间614。

例如,厂商信息表718可以存储在图1的电子商务服务器110处的数据库中。而且例如,软件应用112可以合并生成图1的唯一设备标识130或从图1的网络连接的设备104或图1的计算设备102提取图1的唯一设备标识130的能力。另外,例如,电子商务服务器110可以向图1的许可服务器108发送唯一设备标识130或其相关联的表示连同指示图1的电子结算134被成功提交的图1的通知132。

再进一步地,例如,从许可服务器108接收的图1的产品密钥116可以被存储在网络连接的设备104、计算设备102或其组合上。再进一步地,例如,产品密钥116可以包括关于预先授权的数量、产品批次和许可持续时间614的信息。

已经发现,使用如本申请中所公开的本发明的实施例的方法,可以实现自动软件应用激活和注册。所实现的方法在没有来自用户的交互的情况下易于使用,节省时间和金钱,并且增加总体生产力。

已经指出的是,本发明的实施例不限于以上所描述的示例。还已经指出,实施例可以覆盖在当今市场中可得到的或随着计算产业随时间演进而在将来将变成可得到的所有可能的网络连接的设备和计算机系统。已经进一步指出,实施例还可以覆盖本文未列出的所有这样的组合和置换。以上示例不是限制性的,而是说明性和示例性的。

要理解的是,尽管已经将术语“应用”用作本公开中的示例,但是本质上该术语还可以应用于其中合并本发明的实施例的软件应用代码的任何其它片段。软件应用代码可以以在独立配置或与其它软件应用程序组合来实现并且不限于在此所描述的任何特定操作系统或编程范式。因此,本发明的实施例旨在覆盖以上描述的所有应用和用户交互。

在本发明的一个实施例中,可以基于UDID或其它方法来许可软件应用112。在本发明的其它实施例中,本发明的实施例的应用可以包括更新功能、重置功能、许可恢复功能和合并在实施例中的其它这样的特征。

程序代码可以包括用于向用户图形地呈现用于经由视频显示器上的触摸屏接口滚动的选项的计算机可用程序代码。软件应用112可以执行不同功能。

例如,功能可以包括将数据备份到计算机和/或云备份服务提供商,在便携式介质和连接的计算机和/或云之间同步内容,扫描和清理计算机以防恶意软件和病毒。而且例如,功能可以包括从连接的计算机提取某些类型的文件并且安全地将它们存储在便携式介质上,并且在便携式介质上、在连接的计算机上或在数据得以输送到云之前立即地(on the fly)等加密数据。

现在参照图9,其中示出本发明的另外的实施例中的网络信息系统的操作的方法900的流程图。方法900包括:在块902中,提取唯一设备标识以用于发送到电子商务服务器,其中唯一设备标识是从具有在网络连接的设备上被安装并且未被激活的软件应用的网络连接的设备提取的;在块904中,基于唯一设备标识而生成通知以用于发送到许可服务器;以及在块906中,基于所述通知而生成针对唯一设备标识的产品密钥以用于激活软件应用以在计算设备上运行。

以上描述的过程之一中的模块可以与过程中的另一过程中的任何模块对接。例如,图2的注册过程202中的模块可以与图7的标识过程702中的模块对接。作为具体示例,图2的软件执行模块204可以与图7的设备检查模块704耦合并且因而对接。

已经发现,网络信息系统提供之前描述的优点,所述优点提供对日益增加的商业竞争压力连同增长的消费者期待的问题的解决方案。已经长期探索了对这些问题的解决方案,但是现有发展尚未教导或暗示任何解决方案,并且因此本领域技术人员长期尚未得到对这些问题的解决方案。

因此,已经发现,本发明的实施例的网络信息系统供应针对具有许可注册的网络信息系统的重要且迄今未知且不可得到的解决方案、能力和功能方面。所得到的方法、过程、装置、设备、产品和/或系统是直截了当的、成本有效的、不复杂的、高度多功能且有效的,可以令人惊喜地且非显而易见地通过适配已知技术来实现,并且因而容易适合于高效且经济地制造与常规制造方法或过程和技术完全兼容的网络信息系统。

本发明的实施例的另一重要方面在于其有价值地支持和服务降低成本、简化系统和增加性能的历史趋势。

本发明的实施例的这些和其它有价值的方面因而使技术状态前进到至少下一水平。

虽然已经结合具体最佳模式描述了本发明,但是要理解的是,许多可替换方案、修改和变型鉴于前述描述而对本领域技术人员将是明显的。相应地,旨在涵盖落在所包括的权利要求范围内的所有这样的可替换方案、修改和变型。本文到此阐述或在附图中示出的所有事物要以说明性和非限制性含义来解释。

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