用于建立分散式计算机应用的非托管工具的制作方法

文档序号:30850685发布日期:2022-07-23 05:58阅读:74来源:国知局
用于建立分散式计算机应用的非托管工具的制作方法
用于建立分散式计算机应用的非托管工具


背景技术:

1.长期以来,保持用户数据的安全一直是重要问题。今天的大多数应用是使用用户名/电子邮件/电话+密码的安全模型构建的,这样的安全模型由于许多原因已经过时。例如,密码泄露已经变得普遍。如果存在具有密码的数据库,那么该数据库被试图用密码数据赚钱的老练黑客窃取通常只是时间问题。
2.事实上,即使哈希且加盐(hashed and salted)的密码也是不安全的。一旦哈希密码的数据库被窃取,黑客可以将巨大的分布式计算资源引导至该密码的数据库,利用并行gpu或具有数十万个节点的僵尸网络来每秒尝试数千亿个密码组合,以期恢复明文的标识符-密码对。
3.一旦攻击者发现与存储在数据库中的一个密码哈希至相同哈希值的密码,他们就会获取这个标识符-密码对,并且在像银行账户的其他应用上尝试该标识符-密码对。在许多情况下,加盐且哈希的密码数据库约每分钟会放弃另一有效的标识符-密码对。这导致自身每年约50万个密码泄露——每几年就会翻倍。对于使用密码作为机密来加密敏感数据的公司来说,这非常类似于对称加密,在对称加密中加密密钥是可以容易地通过蛮力破解的弱密码。
4.此外,用户会话经常在成功认证之后被劫持,使攻击者能够利用用户的应用资源。为了防止这样的访问,系统需要就每个用户请求重新认证用户。如果用户必须在每次请求时都输入他们的密码,则这造成了极其繁琐的用户体验。
5.需要的是用于保护数据的改进的系统。


技术实现要素:

6.粗略地描述的本技术提供了一种非托管认证系统,其用于建立在分布式计算系统上执行的分散式计算机应用。本技术在网页浏览器、客户端应用或其他软件内起作用,并且通过浏览器提供对分散式计算机应用的访问。本技术是非托管的,其中,代表用户身份的公钥-私钥对是在客户端机器上创建的,然后直接由第三方平台进行加密,而不依赖于一个集中式计算系统。
7.本系统使用针对每个用户和应用的组合所生成的公钥-私钥对来执行与身份认证和授权有关的动作。本技术的非托管密钥管理系统使用位于网络上并且远离用户设备的硬件安全模块(hsm)来存储密钥信息,并使用无法被导出的主密钥来执行加密和解密。
8.在一些实例中,方法针对客户端执行非托管认证。该方法可以开始于由客户端生成私钥,其中,客户端与用户相关联。可以在客户端处根据私钥生成分散式标识符令牌(didt)。然后可以基于didt针对该应用对用户进行认证。
9.在一些实例中,非暂态计算机可读存储介质可以在其上包含程序。程序可以由处理器执行,以执行用于针对客户端执行非托管认证的方法。该方法可以开始于由客户端生成私钥,其中,客户端与用户相关联。可以在客户端处根据私钥生成分散式标识符令牌(didt)。然后可以基于didt针对该应用对用户进行认证。
10.在一些实例中,系统可以针对客户端执行非托管认证。该系统可以包括具有存储器和处理器的服务器。存储器可以包括存储在存储器中并且由处理器执行的一个或更多个模块。当被处理器执行时,该系统可以由客户端生成私钥,其中,客户端与用户相关联。系统还可以在客户端处根据私钥生成分散式标识符令牌(didt)。然后系统可以基于didt针对应用对用户进行认证。
附图说明
11.图1是委托密钥管理系统的框图。
12.图2a示出了用于在非托管系统中生成私钥的过程。
13.图2b示出了由用户对交易进行签名的方法。
14.图2c示出了用于恢复私钥的方法。
15.图3是针对委托密钥管理系统的登录过程的示例性方法。
16.图4是用于请求访问令牌的示例性方法。
17.图5是用于确定范围凭证的示例性方法。
18.图6是用于确定许可的示例性方法。
19.图7是用于发送分散式应用交易的示例性方法。
20.图8是用于发送分散式合约功能的示例性方法。
21.图9是用于执行分散式用户签名的示例性方法。
22.图10是用于生成分散式标识符令牌的示例性方法。
23.图11是用于使用分散式标识符令牌执行应用认证的示例性方法。
24.图12是用于执行账户恢复的示例性方法。
25.图13是用于退出用户的示例性方法。
26.图14是用于实现本技术的计算环境的框图。
具体实施方式
27.粗略地描述的本技术提供了一种非托管认证系统,其用于建立在分布式计算系统上执行的分散式计算机应用。本技术在网页浏览器、客户端应用或其他软件内起作用,并且通过浏览器提供对分散式计算机应用的访问。本技术是非托管的,其中,代表用户身份的公钥-私钥对是在客户端机器上创建的,然后由第三方平台直接加密,而不依赖于一个集中式计算系统。
28.本系统使用针对每个用户和应用的组合所生成的公钥-私钥对来执行与身份认证和授权有关的动作。本技术的非托管密钥管理系统使用位于网络上并且远离用户设备的“硬件钱包”系统来存储密钥信息并执行加密和解密。
29.使用由本系统生成的密钥对来提供分散式认证。系统向用户提供密钥对,该密钥对可以用于对认证令牌(分散式标识符令牌,或didt)进行签名。密钥代表用户的身份。所生成的令牌可以用于对用户行为进行认证和授权。密钥对可以用于实现委托密钥管理(delegated key management)或非托管密钥管理(non-custodial key management)。
30.本机制可以与提供平台的第三方系统一起使用,以实现无服务器架构。该平台可以是用于无服务器应用的全球平台,诸如例如亚马逊公司。也可以使用其他第三方平台。
31.本文中描述的本技术解决了与管理用户身份以及保护认证和授权过程有关的技术问题。错误导致未授权的访问,并且甚至由于被盗用的用户隐私或身份导致经济损失。大多数应用使用用户名和密码的组合来确定用户身份。这些方法已经过时,这至少是因为密码泄漏很普遍,并且可以使用资源来恢复已经从公司资源窃取的哈希密码。加密标准也可以用于保护数据,并且其已经在最先进的安全系统中使用。然而,基于密码学的安全性的消费者部署未能提供可接受的用户体验。例如,加密密钥是计算机生成的、无法改变的长的文本字符串,因此用户难以使用该加密密钥进行工作。此外,从私钥的丢失或被盗中恢复可能非常困难,经常是不可能的。
32.本技术解决了与管理用户身份以及保护认证和授权过程有关的技术问题。本技术使用密钥管理技术和分散式标识符令牌(didt)来管理用户身份。密钥管理涉及使用远程硬件安全模块(hsm)来加密在客户端处生成的私钥。本技术提供了具有保护措施的分散式解决方案,其比密码和用户名更安全,但是提供了如果在客户端设备上丢失密钥则能够解密私钥的附加益处。
33.图1是委托密钥管理系统的框图。图1的框图100包括客户端110、服务器125和第三方系统155。客户端110包括浏览器115和用户身份120。用户身份可以包括用户识别信息、元数据以及与整个系统的用户相关联的其他数据。浏览器115可以包括通过界面呈现网络内容(包括内容页面)的应用。
34.服务器125包括网页内容130、服务器引擎135、用户表140、密钥表145和用户数据库150。网页内容130是由服务器125提供给客户端110处的浏览器115的内容。网页内容包括用于使客户端110处的用户能够访问委托密钥管理系统的内容页面、界面和其他信息。服务器引擎135包括用于连接至服务器125的api。用户表140包括用户元数据和该用户的识别信息。密钥表145包括针对每个用户存储的加密的密钥。用户数据库包括每个用户的识别信息。
35.客户端110和服务器125可以与各种不同的第三方系统一起使用,以提供委托密钥管理系统。关于第三方155而讨论的模块是示例性的,并且其他类型的第三方系统意图与服务器125和客户端110兼容。
36.第三方系统155包括提供访问令牌服务160、凭证服务165、许可服务170和硬件安全模块资源175的一个或更多个服务器。访问令牌服务160可以生成令牌并将其提供给用户。凭证服务165处理用于特定用户的凭证。许可服务170用于处理接收到的具有凭证的请求。例如,许可服务可以执行检查以查看用户是否具有访问资源的许可。硬件安全模块资源175为用户加密和解密数据提供安全。凭证服务165提供绕过服务器125对第三方系统的直接访问。
37.在操作中,客户端110处的用户可以通过服务器125执行认证。然后服务器125可以与第三方系统进行通信,然后第三方系统可以生成用于最终用户的令牌。可以使用令牌来交换特定的凭证。例如,可以使用凭证来访问硬件安全模块资源175以在客户端侧加密和解密。以下关于图2至图10更详细地讨论了提供令牌、获得凭证和执行交易。
38.图2a示出了用于在非托管系统中生成私钥的过程。图2包括客户端110、服务器125、第三方服务155和硬件安全模块175。操作202至220发生在要素110、125、155和175之间。首先,在客户端202处检测到注册事件。注册事件可以包括由用户在客户端设备处发起
的新账户请求。注册请求消息202被从客户端110发送至服务器125。服务器125接收注册消息205并对该用户进行认证。认证可以包括向与发起注册事件的用户相关联的电子邮件账户发送电子邮件。
39.在对用户的认证之后,服务器生成新用户请求消息204。新用户请求消息被从服务器125发送至第三方服务155。在206处,第三方服务接收新用户请求,生成有时限的访问令牌(time bound access token),并且将令牌发送至服务器125。有时限的访问令牌可以包括嵌入在令牌内的生存时间(ttl)数据。在208处,服务器将有时限的令牌转发至客户端110。有时限的令牌使客户端110能够直接与第三方服务155进行通信。
40.在210处,客户端110将有时限的访问令牌发送至第三方服务155。在步骤212处,第三方服务接收访问令牌(例如,有时限的访问令牌),生成主密钥和范围凭证(scoped credential)(例如,包含认证信息的记录),并且将范围凭证发送至用户。通过向用户提供范围凭证,使得该用户能够与第三方服务一起工作来访问存储在第三方服务上的用户的主密钥,例如以用于加密和解密。服务器在该步骤中被绕过,并且无法伪造或拦截范围凭证。在一些实例中,访问令牌和范围凭证可以由第三方服务动态地创建,其中启用了审计日志和生存时间(ttl)。
41.在步骤214处,客户端基于范围凭证生成公钥-私钥对。在客户端处的网络浏览器内实现的javascript内联框架(iframe)内生成公钥-私钥对。内联框架对可能集成本技术的应用而言是不可访问的。可以使用密码学,例如密码学上安全的伪随机256位熵,来生成公钥-私钥对。在一些实例中,可以使用ecdsa(secp256k1)算法生成公钥-私钥对,该算法也可以用于对有效负载进行签名以及验证didt。在步骤216处,一旦生成了密钥对和范围凭证,所生成的密钥对和范围凭证就被发送至第三方服务。然后在步骤217处,第三方服务可以将所生成的密钥对和范围凭证发送至硬件安全模块。硬件服务模块专用于用户和特定应用。在步骤218处,硬件服务模块接收私钥和范围凭证,使用主密钥加密私钥,并且将加密的私钥发回至第三方服务。然后在步骤218处,第三方服务将加密的私钥发送给客户端。在密钥被加密之后,该密钥存储在客户端网络浏览器的内联框架中,以及在步骤220处,将加密的密钥的副本上传至服务器125。所上传的密钥的副本可以用于恢复用户的身份。当用户后续进行认证时,由客户端从内联框架访问加密的私钥,并且用户可以直接利用第三方服务对加密的密钥进行解密。
42.图2b示出了由用户对交易进行签名的方法。在图2b中,通信要素是具有登录的用户的客户端110、服务器125、第三方服务155、硬件安全模块175和区块链服务185。在步骤230处,具有已登录用户的客户端向第三方服务提供有时限的访问令牌。在步骤232处,第三方服务接收访问令牌,生成范围凭证,以及将范围凭证发送回至客户端。然后,在步骤234处,由客户端将范围凭证发送至硬件安全模块。范围凭证被发送以解密加密的私钥。在步骤236处,硬件安全模块接收范围凭证,使用该范围凭证解密加密的私钥,以及返回解密的私钥。一旦客户端接收到解密的私钥,在步骤238处,客户端就可以使用解密的私钥来对交易数据进行签名。在步骤240处,可以从客户端处的存储器中清除私钥。然后在步骤242处可以将签名的交易数据提交至服务器。然后在步骤244处,服务器125可以将签名的交易数据提交至区块链服务185。在步骤246处,签名的交易数据一旦被接收,其由区块链185进行存储,并且确认或提交结果被返回给服务器125。在步骤248处,当接收到提交结果时,将该结果从
服务器返回给客户端。
43.图2c示出了用于恢复私钥的方法。在图2c中通信的要素包括客户端110、服务器125、第三方服务器155和硬件安全模块175。首先,在步骤250处,客户端可以向服务器125发送关于忘记密码请求的消息。服务器125可以发送用于重置用户的密码的电子邮件作为消息252。消息发送至用户的电子邮件服务280。然后在步骤254处,在客户端110处向用户通知服务器发送了密码重置电子邮件。在步骤256处,用户可以重置他们的密码,并且重置密码消息被从客户端110发送至服务器125。然后在步骤258处,服务器125向第三方服务155发送有时限的访问令牌请求。在步骤260处,第三方服务接收请求并生成有时限的访问令牌,并且将该令牌发送至服务器125。在步骤262处,服务器125接收令牌,并且将访问令牌转发至客户端110。
44.在步骤264处,客户端110可以向第三方服务发送访问令牌。在步骤266处,第三方服务155可以接收令牌并且将用于用户的范围凭证发送回至客户端。在步骤268处,当客户端接收到范围凭证时,其可以从服务器请求加密的私钥。当客户端最初生成加密的私钥时,副本被发送至服务器125以防用户需要恢复他们的凭证。在步骤270处,服务器响应于客户端的请求而提供加密的私钥。在步骤272处,将范围凭证和私钥以及解密私钥的请求从客户端110发送至硬件安全模块。在步骤274处,硬件安全模块175接收请求,解密私钥,并且将解密的私钥返回给客户端110。
45.图3是针对委托密钥管理系统的登录过程的示例性方法。在步骤310处,用户提供诸如例如电话号码、电子邮件或其他信息的用户信息,并且在客户端处接收该用户信息。尽管关于图3的方法讨论了电话号码,但是可以从用户接收执行登录的其他信息,例如电子邮件、用户名或其他信息。将客户端110接收到的电话号码提供至服务器125。在步骤315处,在服务器125处做出关于以下的确定:电话号码是与现有账户相关联还是新的电话号码。如果电话号码与账户相关联并且不是新的电话号码,则在步骤355处使用该电话号码对用户进行认证。然后图3的方法在步骤350处返回至登录会话,并且登录过程在步骤360处结束。
46.在步骤315处,如果提供的用户信息是新的电话号码、电子邮件或其他信息,则为用户启动设置过程。首先,在步骤320处执行认证。然后,在步骤330处接收访问令牌。访问令牌可以由用户在客户端110处接收。关于图3的方法来讨论用于接收访问令牌的更多细节。然后在步骤335处可以用访问令牌交换范围凭证。仅可以利用第三方系统用访问令牌直接交换凭证。关于图4的方法来讨论步骤335的更多细节。
47.与步骤320至步骤335同时,在步骤325处创建公钥和私钥。公钥和私钥可以在客户端设备110的浏览器中生成。在步骤340处,利用范围凭证访问硬件安全模块以在客户端设备110上对私钥进行加密,这完全绕过了服务器125。以这种方式,用户需要利用范围凭证与硬件安全模块进行交互以对私钥进行加密。关于图5的方法讨论步骤340的更多细节。
48.在对私钥进行加密之后,在步骤345处上传加密的私钥,以及在步骤350处继续用户登录会话。然后图3的方法在步骤360处结束。
49.图4是用于请求令牌的示例性方法。图4的方法提供了图2的方法中的步骤230的更多细节。首先,在步骤410处接收令牌请求。然后,在步骤415处,做出关于以下的确定:令牌请求是否与新用户相关联。如果请求不是来自新用户,则在步骤435处检索用户身份和资源。在一些实例中,用户身份和资源可以特定于第三方。该方法然后继续至步骤440,在步骤
440处将访问令牌返回给用户,并且图4的方法在步骤445处结束。
50.在步骤415处,基于令牌请求确定用户是新用户,在步骤420处创建用户账户并且将其添加至身份池。可选地,然后在步骤425处创建专用硬件安全模块资源。在一些实例中,可以针对池而不是针对特定用户来创建专用硬件安全资源。因此,一旦创建了用户,如果需要另外的池,则专用硬件安全模块资源可以仅在步骤425处创建。在步骤430处,更新策略,以限制访问并且将用户身份与资源进行链接。来自新创建的用户的访问令牌然后在步骤440处被返回,并且该方法在步骤445处结束。
51.图5是用于确定范围凭证的示例性方法。首先,在步骤510处接收范围凭证请求。然后,在步骤515处验证所提供的访问令牌。在步骤520处做出关于令牌是否有效的确定。如果令牌无效,则在步骤535处拒绝范围凭证请求,并且图5的过程在步骤540处结束。
52.如果在步骤520处确定令牌有效,则在步骤525处用令牌交换范围凭证。在一些实例中,用户被引导至站点,其中,用令牌交换与特定用户身份池相关联的范围凭证。然后,用户将具有与池相关联的用于访问特定资源的许可。然后,在步骤530处将范围凭证返回至用户。凭证由第三方系统返回至客户端。在一些实例中,为了实现委托密钥管理系统,必须由第三方系统返回凭证。然后图5的方法在步骤540处结束。
53.图6是用于确定许可的示例性方法。图6的方法提供了图2的方法中的步骤240的更多细节。首先,在步骤610处访问专用硬件安全模块。然后,在步骤615处验证用户提供的凭证,以及在步骤620处做出关于用户凭证是否有效的确定。在一些实例中,当用户从第三方服务接收回凭证时,该第三方服务可以随后确定凭证是否有效。如果凭证无效,则在步骤625处拒绝资源访问,并且图6的方法在步骤645处结束。
54.如果在步骤620处确定凭证有效,则在步骤630处对照策略检查凭证。该策略应用于与特定用户池相关联的使用。存在假定的角色,并且对照特定用户池进行认证的任何人都被检查他们的凭证。如果认证成功,用户可以成为指定的角色。特定角色将具有附加至该角色的特定策略。
55.在对照策略检查凭证之后,在步骤635处做出关于用户是否可以访问资源的确定。如果用户没有访问资源的许可,则在步骤625处拒绝资源访问,并且该方法继续至步骤645。如第三方系统所确定的,如果用户可以访问资源,则在步骤640处允许资源访问,并且图6的方法在步骤645处结束。
56.在一些实例中,本技术可以用于对交易进行签名。可以基于加密的私钥对交易数据进行签名。签名的交易数据可以被提交以用于存储在多个链接的对等计算机处,所述多个链接的对等计算机将数据存储在链接在一起的块中。
57.图7是用于发送分散式应用交易的示例性方法。首先,在步骤710处用户登录。登录之后,在步骤715处做出关于以下的确定:客户端110上是否存在用于已登录用户的加密的私钥。如果加密的私钥存在,则在步骤725处接收访问令牌。如果用于用户的加密的私钥不存在,则在步骤720处检索加密的私钥,并且该方法继续至步骤725。
58.在步骤725处接收访问令牌。然后,在步骤730处用访问令牌交换范围凭证。接下来,在步骤735处利用范围凭证访问硬件安全模块以对加密的私钥进行解密。
59.在步骤740处构建有效负载。有效负载是为了在用于分散式应用的平台上进行使用而构建的。在一些实例中,该平台可以是用于分散式应用的全球平台。一旦使用私钥完成
解密和加密,用户就可以在客户端站点上使用私钥以执行操作。然后,在步骤745处使用私钥对有效负载进行签名。然后,在步骤750处将签名的有效负载发送至分散式应用平台网络。然后图7的方法在步骤755处结束。
60.图8是用于发送分散式合约功能的示例性方法。在步骤810处用户登录。关于图2的方法更详细地讨论了登录过程。在登录之后,在步骤815处做出关于以下的确定:客户端110上是否存在用于已登录用户的加密私钥。如果加密的私钥存在,则图8的方法继续至步骤825。如果加密的私钥不存在,则在步骤820处检索加密的私钥,并且该方法继续至步骤825。
61.在步骤825处接收访问令牌。然后,在步骤830处,可以用访问令牌交换范围凭证。在步骤835处,可以利用范围凭证访问硬件安全模块以解密加密的私钥。然后,在步骤840处,可以构建合约调用(contract call)有效负载。在一些实例中,可以针对分散式应用构建有效负载。
62.在步骤845处,可以使用私钥对有效负载进行签名,然后在步骤850处将签名的有效负载发送至分散式应用平台。然后图8的方法在步骤855处结束。
63.图9是用于执行分散式用户签名的示例性方法。在步骤910处用户登录。如关于图2的方法所讨论的那样进行用户登录。在登录之后,在步骤915处做出关于以下的确定:客户端90上是否存在用于用户的私钥。如果用户密钥存在,则图9的方法继续至步骤925。如果私钥不存在,则在步骤920处检索用于已登录用户的加密的私钥,并且图9的方法继续至步骤925。
64.在步骤925处接收访问令牌。然后,在步骤930处,可以用访问令牌交换范围凭证。在步骤935处,可以利用范围凭证访问硬件安全模块,以解密加密的私钥。
65.然后,在步骤945处,可以使用私钥对有效负载进行签名。然后,在步骤950处将签名的有效负载发送至分散式应用平台。然后图9的方法在步骤955处结束。
66.图10是用于生成分散式标识符令牌的示例性方法。在步骤1010处用户登录。在用户登录时的某个点,在步骤1015处做出关于加密的私钥是否存在的确定。如果加密的私钥不存在,则在步骤1020处检索加密的私钥。然后图10的方法继续至步骤1025。如果加密的私钥确实存在,则在步骤1025处系统接收访问令牌。在步骤1030处,客户端从硬件安全模块中用访问令牌交换范围凭证。在步骤1035处,可以利用范围凭证访问硬件安全模块,以解密加密的私钥。在步骤1040处构建分散式标识符令牌(didt)有效负载。在步骤1045处使用私钥对didt有效负载进行签名。然后图10的方法在步骤1050处结束。
67.图11是用于使用分散式标识符令牌执行应用认证的示例性方法。在步骤1110处接收登录请求。然后在步骤1115处生成分散式标识符令牌(didt)。didt可以例如由客户端应用或网络浏览器内联框架在客户端处生成。图10的方法提供了用于生成didt令牌的更多细节。然后在步骤1120处将didt返回给应用。在步骤1125处,应用可以对分散式标识符令牌进行验证。然后在步骤1130处做出关于分散式标识符令牌是否被验证的确定。如果令牌没有被验证,则图11的方法在步骤1140处结束。如果令牌被应用验证,则在步骤1135处应用成功地验证用户。然后图11的方法在步骤1140处结束。
68.图12是用于执行账户恢复的示例性方法。在步骤1210处从用户接收启动账户恢复的请求。在步骤1215处将恢复电子邮件发送至用户。在步骤1220处,用户可以使用经由电子邮件提供给用户的密码重置链接来重置密码。一旦密码已被重置,则在步骤1225处可以提
示用户再次执行登录。然后在步骤1230处可以将加密的私钥返回给用户。然后图12的方法在步骤1235处结束。
69.图13是用于退出用户的示例性方法。首先,在步骤1310处用户退出。在步骤1320处,在客户端侧为用户清除用于用户的加密的私钥。然后在步骤1330处停用用户登录会话。然后图13的方法在步骤1340处结束。
70.图14是用于实现本技术的计算环境的框图。图14中的系统1400可以在实现电池客户端140、服务器145和第三方系统155的机器的情境等中实现。图14中的计算系统1400包括一个或更多个处理器1410和存储器1420。主存储器1420部分地存储用于由处理器1410执行的指令和数据。主存储器1420在操作时可以存储可执行代码。图14中的系统1400还包括大容量存储设备1430、便携式存储介质驱动器1440、输出设备1450、用户输入设备1460、图形显示器1470和外围设备1480。
71.图14所示的部件被描绘为经由单个总线1490进行连接。然而,部件可以通过一个或更多个数据传输装置连接。例如,处理器单元1410和主存储器1420可以经由本地微处理器总线连接,并且大容量存储设备1430、外围设备1480、便携式存储设备1440和显示器系统1470可以经由一个或更多个输入/输出(i/o)总线连接。
72.可以用磁盘驱动器、光盘驱动器、闪存驱动器或其他设备实现的大容量存储设备1430是用于存储由处理器单元1410使用的数据和指令的非易失性存储设备。大容量存储设备1430可以存储用于实现本发明的实施方式的系统软件,以用于将该软件加载到主存储器1420中的目的。
73.便携式存储设备1440与诸如软盘、压缩盘或数字视频盘、usb驱动器、记忆卡或记忆棒或者其他便携式或可移动存储器的便携式非易失性存储介质一起操作,以向图14中的计算机系统1400输入数据和代码以及从图14中的计算机系统1400输出数据和代码。用于实现本发明的实施方式的系统软件可以存储在这样的便携式介质上,并且经由便携式存储设备1440输入至计算机系统1400。
74.输入设备1460提供用户界面的一部分。输入设备1460可以包括用于输入字母数字和其他信息的字母数字小型键盘——例如键盘;指向设备——例如鼠标、轨迹球、触控笔、光标方向键、麦克风、触摸屏、加速度计;以及其他输入设备。附加地,如图14所示的系统1400包括输出设备1450。合适的输出设备的示例包括扬声器、打印机、网络接口和监视器。
75.显示器系统1470可以包括液晶显示器(lcd)或其他合适的显示设备。显示器系统1470接收文本和图形信息,并且对信息进行处理以输出至显示设备。显示器系统1470还可以作为触摸屏接收输入。
76.外围设备1480可以包括用于向计算机系统添加附加功能的任何类型的计算机支持设备。例如,外围设备1480可以包括调制解调器或路由器、打印机以及其他设备。
77.在一些实现方式中,系统1400还可以包括天线、无线电发射器和无线电接收器1490。天线和无线电可以在以下设备中实现:诸如智能电话、平板、以及可以无线地进行通信的其他设备。一个或更多个天线可以以在适于通过蜂窝网络、wi-fi网络、诸如蓝牙设备的商业设备网络以及其他射频网络而发送和接收数据的一个或更多个无线电频率上工作。设备可以包括用于处理使用天线所发送和接收的信号的一个或更多个无线电发射器和接收器。
78.图14中的计算机系统1400中包含的部件是通常在计算机系统中找到的部件,所述部件可以适合与本发明的实施方式一起使用并且旨在代表本领域中公知的这样的计算机部件的广泛类别。因此,图14中的计算机系统1400可以是个人计算机、手持计算设备、智能电话、移动计算设备、工作站、服务器、小型计算机、大型计算机或任何其他计算设备。计算机还可以包括不同的总线配置、网络平台、多处理器平台等。可以使用包括unix、linux、windows、macintoshos、android的各种操作系统,以及包括java、.net、c、c++、node.js和其他合适的语言的语言。
79.已经出于说明和描述的目的呈现了对本文中的技术的前述详细描述。不意图穷举本技术或将本技术限制为所公开的准确形式。鉴于以上教导,许多修改和变化是可能的。选择所描述的实施方式以最佳地解释本技术的原理及其实际应用,从而使得本领域普通技术人员能够适合于所构思的特定应用以各种实施方式并且利用各种修改最佳地利用本技术。该技术的范围由所附的权利要求限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1