使用具有访客代理的限制操作环境的安全多方计算框架的制作方法

文档序号:21778944发布日期:2020-08-07 19:52阅读:179来源:国知局
使用具有访客代理的限制操作环境的安全多方计算框架的制作方法

本发明的实施方式一般涉及安全多方计算。更具体地,本发明的实施方式涉及使用具有访客代理的限制操作环境的安全多方计算框架。



背景技术:

敏感性交易越来越多地由基于云的服务器执行。基于云指向从云服务器经由互联网按需提供给用户应用、服务或资源的术语。基于云的服务器的多方或多租户性质对保护多租户计算环境免受不可信方的未授权访问的需求越来越多。例如,在计算期间,来自一方的数据可能被不可信方访问。因而需要在计算期间使数据安全。而且,基于加密的多方计算解决方案缓慢因而可能不太实际。

附图说明

本发明的实施方式在附图的各个图中以示例且非限制的方式示出,在附图中相似的附图标记指示相似的元件。

图1是示出根据一种实施方式的用于使用访客代理的安全多方计算的计算框架的系统配置的示例的框图。

图2是示出根据一种实施方式的主机代理的示例的框图。

图3是示出根据一种实施方式的安全多方计算协议的示例的流程图。

图4是示出根据一种实施方式的方法的示例的流程图。

图5是示出根据一种实施方式的用于安全多方计算的基于令牌的计算框架的系统配置的示例的框图。

图6是示出根据一种实施方式的安全多方计算协议的示例的流程图。

图7是示出根据一种实施方式的方法的示例的流程图。

图8是示出根据一种实施方式的数据处理系统的框图。

具体实施方式

本发明的各种实施方式和各个方面将参考下面讨论的细节进行描述,并且附图将对示出各种实施方式进行说明。下面的描述和附图是对本发明进行说明,不被解释为限制本发明。许多具体细节被描述以提供对本发明的各种实施方式的透彻理解。然而,在一些实例中,不对众所周知的或常规的细节进行描述以提供对本发明的实施方式的简洁讨论。

说明书中提及的“一种实施方式”或“实施方式”表示结合该实施方式描述的具体特征、结构或特性可包含在本发明的至少一种实施方式中。本说明书中各个地方出现的短语“在一种实施方式中”不一定全指向相同的实施方式。

本公开的实施方式防止客户端的数据在多方计算环境中被泄露给不可信方。根据本公开的第一方面,响应于服务器的主机代理通过网络从用户的用户设备接收到的处理用户数据的请求,数据处理系统在服务器中启动限制操作环境。系统将代表该请求的令牌发送给在限制操作环境中执行的访客代理,其中与令牌相关联的执行器由限制操作环境中的访客代理启动并且执行器在被执行时被配置为处理用户数据以生成处理结果而不用访问在限制操作环境外部的外部组件。系统将处理结果返还用户设备。在另一实施方式中,一个或多个执行器由系统启动。

根据第二方面,响应于服务器的主机代理处通过网络从用户的用户设备接收到的处理用户数据的请求,系统将代表该请求的令牌发送给执行器池,其中执行器池具有一池许多执行器。系统通过主机代理从执行器池接收执行器的一个或多个可执行镜像,其中执行器池响应于成功地验证该令牌从一池执行器分配执行器。系统在服务器中启动限制操作环境,包括向限制操作环境提供执行器的一个或多个可执行镜像和用户数据。系统在限制操作环境中执行执行器的一个或多个可执行镜像,其中执行器在被执行时被配置为处理用户数据而不用访问位于在限制操作环境外部的外部组件。在另一实施方式中,一个或多个执行器由系统启动。

图1是示出根据一种实施方式的用于使用访客代理的安全多方计算的计算框架的系统配置的示例的框图。参考图1,系统配置100包括但不限于通过网络103与数据处理服务器104通信联接的一个或多个客户端设备101-102。客户端设备101-102可以是任意类型的客户端设备,诸如个人计算机(例如,台式机、笔记本和平板电脑)、“瘦”客户端、个人数字助理(pda)、web使能设备、智能手表、或移动电话(例如,智能电话)等。替代地,客户端设备101-102可以是其它其他服务器。网络103可以是任意类型的有线或无线的网络,诸如局域网(lan)、诸如互联网的广域网(wan)或它们的组合。能够例如经由tls/ssl使客户端设备101-102、数据处理服务器104和管理服务服务器160之间通过网络103的通信安全。

数据处理服务器(例如,主机)104可以是任意种类的服务器或服务器集群,诸如web或云服务器、应用服务器、后端服务器或它们的组合。服务器104能够包括接口以允许诸如客户端设备101-102的客户端访问由服务器104或管理服务服务器160提供的资源或服务。例如,服务器104可以是向客户端提供诸如,例如云存储、云计算服务、大数据服务、建模服务、机器-学习训练服务、数据挖掘服务等的各种云服务的云服务器或数据中心服务器。服务器104可以通过云被配置为软件即服务(saas)或平台即服务(paas)系统的一部分,其中所述云可以是私有云、公共云或混合云。接口可以包括web接口、应用程序编程接口(api)和/或命令行接口(cli)。

数据处理服务器104能够包括内存盘文件系统(ramfs)121和一个或多个cpu(未示出),cpu装配有诸如可信平台模块(tpm)120的安全模块以用于安全启动。tpm是端点设备上的专用芯片,其存储主机系统专用的用于硬件认证的加密密钥(例如,rsa加密密钥)。每个tpm芯片都能够包含称为背书密钥(ek)或背书凭证(ec)即根密钥的一个或多个rsa密钥对(例如,公钥和私钥对)。密钥对被保持在tpm芯片内且不能由软件访问。然后,固件和软件的关键部分在它们被执行之前能够通过ek或ec被散列以保护系统免受未授权的固件和软件修改。因而,主机机器上的tpm芯片能够被用作服务器104的安全启动的可信根,所以服务器104的操作系统能够被信任。

数据处理服务器104能够包括主机代理106和一个或多个限制操作环境108-109。主机代理能够与客户端设备101-102通信以方便客户端请求。主机代理106能够启动诸如环境108-109的限制操作环境来为不同的客户端和/或客户端请求执行数据处理计算。这里,限制操作环境是彼此隔离且与它们在其上操作的服务器104的操作系统隔离的沙盒操作环境。限制操作环境的示例是docker容器。docker容器是执行操作系统级虚拟化的程序。docker容器是可执行以在隔离环境中运行应用的独立软件。

在一种实施方式中,限制操作环境108-109能够包括访客代理110-111和docker镜像112-113(例如,docker容器程序)。访客代理是在docker容器中运行以为用户请求服务的应用。访客代理110-111能够与管理服务服务器160通信来验证客户端请求和检索用于执行的执行器脚本/镜像。访客代理110-111还能够与主机代理106通信以接收令牌信息和客户端数据。最后,访客代理110-111能够在限制操作环境中发起和/或监控数据处理计算并且能够与主机代理106通信以向主机代理106指示计算或执行已经完成。

管理服务服务器160可以是任意种类的服务器。服务器160能够包括接口(例如,api或cli)以允许数据处理服务器104访问由服务器160提供的管理服务。所提供的管理服务能够包括管理和审核客户端及其执行请求的服务。服务器160提供的示例性管理服务包括安全服务161和执行器池服务162。安全服务161包括发放和验证用于客户端请求的令牌的服务。执行器池服务包括向服务器104提供执行器池/软件可执行文件/代码以为客户端请求服务的服务。执行器的示例是用于查找由客户端请求提供的软件代码的软件错误的代码扫描器。尽管被示出为单个服务器,但是在一些实施方式中,管理服务服务器160可以代表许多服务器。例如,安全服务161可以由一个服务器提供,并且执行器池服务162可以由来自能够为软件镜像/代码溯源的组织的不同部门的许多服务器提供。在另一实施方式中,管理服务服务器160和数据处理服务器104是单个集成服务器。

图2是示出根据一种实施方式的主机代理的示例的框图。主机代理106能够是为针对主机服务器104的客户端请求服务专用的应用代理。在一种实施方式中,主机代理106包括请求接收器/发送器201、安全令牌接收器/发送器203、操作环境启动器205、客户端数据检索器207、结果检索器209。请求接收器/发送器201能够接收来自客户端的客户端请求并将请求发送或转发至限制操作环境的访客代理。安全令牌接收器/发送器203能够从管理服务接收与客户端请求对应的安全令牌并能够将安全令牌发送给限制操作环境的访客代理。操作环境启动器205能够为服务器104启动不同的限制操作环境,其中每个限制操作环境对应于客户端和/或客户端执行请求。客户端数据检索器207能够从客户端设备检索客户端数据。结果检索器209能够检索完成执行的结果。结果检索器209还能够将结果发送给客户端的请求客户端设备。

图3是示出根据一种实施方式的安全多方计算协议的示例的流程图。参考图3,用于该协议的操作300可以由图1的系统100执行。在一种实施方式中,主机代理106禁用了ramfs121的页面交换。在一种实施方式中,在操作301,客户端设备(例如,客户端/用户)101通过标识符(id)将请求发送给主机代理106并将客户端数据发送给主机代理106。该请求能够是资源或服务的请求(诸如,大数据分析、建模、机器学习/训练任务的请求等)。客户端数据能够包括客户端id和输入数据以为客户端请求服务。响应于接收到请求,主机代理106将该请求和任意接收的数据保存在ramfs中,诸如图1的服务器104的ramfs121(诸如,c:\drive)。在操作302,主机代理106将请求id和与客户端设备对应的用户id发送给管理服务160(例如,安全服务161)。在操作303,管理服务160(例如,安全服务161)在数据库中记录客户端id和请求id并为该请求发放一个或多个令牌/密钥。在操作304,管理服务160(例如,安全服务161)将令牌发送给主机代理106。在一种实施方式中,令牌/密钥能够为唯一识别具体客户端请求的随机序列值。随机序列值能够由随机数生成器生成。在另一实施方式中,令牌能够唯一识别与执行器相关的客户端请求(例如,如果客户端请求唤醒许多执行器,则可以为客户端请求发放许多令牌)。这里,管理服务具有完成请求所需的具体执行器的记录并能够识别所述具体执行器,以发放对应的令牌。

在操作305,主机代理106通过一起启动可信docker镜像与令牌和/或任意客户端输入数据来启动限制操作环境(或docker容器)(例如,图1的限制操作环境108)。在一种实施方式中,启动docker镜像发起了访客代理(例如,访客代理110)。在一种实施方式中,主机代理106将令牌/输入数据发送给限制操作环境(或docker容器)中的访客代理110用于数据处理执行。在另一实施方式中,主机代理106将令牌/输入数据置于ramfs,其中所述ramfs被分配给docker容器用于访客代理110提取数据,使得数据不需要被拷贝到docker镜像。

在操作306,访客代理110将令牌发送给管理服务160(例如,执行器池服务162)以被验证。在一种实施方式中,执行器池服务162与安全服务161通信以验证令牌是有效的并且匹配。所述验证包括验证用户id和请求id匹配与令牌id相关联的用户id和请求id。一旦被验证/被认证,执行器池服务162将验证结果通信给访客代理110。在操作307,管理服务160(例如,执行器池服务162)将与客户请求相关联的执行器的一个或多个可执行镜像发送给访客代理110。访客代理110接收执行器的可执行镜像并继续为客户请求服务。在一种实施方式中,管理服务160(例如,执行器池服务162)可以从组织的其他部门收集执行器。一旦收集,管理服务160(例如,执行器池服务162)然后将执行器发送给访客代理110。尽管管理服务160被描绘成单个模块,但是管理服务160能够包括用于安全服务161的服务器和用于执行器池服务162的一个或多个服务器,其中执行器池服务162为了发放的令牌与安全服务161通信。在一种实施方式中,管理服务服务器160还能够与数据处理服务器104集成。

在操作308,访客代理110向主机代理106发送请求以禁用至docker容器的任意网络连接以隔离docker容器。在操作309,访客代理110接收用于禁用网络连接的应答。在操作310,访客代理110通过启动执行器来发起/运行数据处理执行/计算以为客户端请求服务。因为docker容器与网络隔离且是独立单元,所以将docker容器从不可信方隔离且被保护。访客代理110能够监控(或轮询)执行直到完成。在一种实施方式中,在执行完成时,执行结果能够被储存到与docker容器相关联的预定的存储器位置或ramfs位置(例如,图1的ramfs121)。这里,服务器104的操作系统能够为启动的docker容器分配存储器或ramfs,其中主机代理106能够保持对分配的存储器或ramfs的追踪。在操作311,访客代理110将执行完成应答发送给主机代理106。在操作312,响应于接收到完成应答,主机代理106从存储器或ramfs的预定位置检索执行结果并通过安全通信通道(例如,tls/ssl)将结果返回客户端设备101。然后,主机代理106能够终止docker容器但不影响执行结果,例如,执行结果仍然位于由主机代理106管理的存储器和/或ramfs位置。在一种实施方式中,在操作313,主机代理106将完成应答发送给管理服务服务器160用于记录保持/审核目的。总之,管理服务服务器(例如,用于安全服务和执行器池服务的服务器)从不访问用于客户端请求的客户端数据,并且限制操作环境中客户端请求的执行确保客户端数据从不可信方隔离并被保护。

图4是示出根据一个实施方式的方法的示例的流程图。过程400可以由可以包括软件、硬件或它们的组合的处理逻辑执行。例如,过程400可以由图1的数据处理服务器(例如,主机)104执行。参考图4,在框401,响应于在服务器的主机代理通过网络从用户的用户设备接收的处理用户数据的请求,处理逻辑在服务器中启动限制操作环境。在框402,处理逻辑将代表该请求的令牌发送给在限制操作环境中执行的访客代理,其中与令牌相关联的执行器由限制操作环境中的访客代理启动,其中执行器在被执行时被配置为处理用户数据以生成处理结果而不用访问在限制操作环境外部的外部组件。在框403,处理逻辑将处理结果返还给用户设备。

在一种实施方式中,请求是从与许多用户相关联的许多用户设备接收的许多请求之一,其中每个请求都在许多限制操作环境的相应一个限制操作环境中被处理。在一种实施方式中,处理逻辑进一步将与请求相关联的请求标识符(id)和与用户相关联的用户id从主机代理发送给管理服务,并且从所述管理服务接收响应于所述请求id和所述用户id而发送的与所述请求相关联的所述令牌。

在另一实施方式中,管理服务登记请求id和用户id并生成令牌以代表与请求id和用户id相关联的服务会话。在另一实施方式中,响应于接收到令牌,处理逻辑进一步通过访客代理将令牌发送给管理服务以验证请求并响应于基于令牌成功地验证请求而从管理服务接收执行器的一个或多个可执行镜像,其中执行器通过在限制操作环境中执行一个或多个可执行镜像被启动。

在另一实施方式中,管理服务检查令牌以确定令牌是否与先前通过主机代理登记的请求id和用户id相关联。在另一实施方式中,管理服务从执行器候选的池分配执行器并将分配的执行器返回访客代理,使得访客代理能够在限制操作环境中启动执行器。

在另一实施方式中,访客代理进一步禁用限制操作环境的网络接口,使得执行器不能在处理用户数据期间访问外部组件。在另一实施方式中,处理逻辑进一步将用户数据发送给在限制操作环境中执行的访客代理或者将用户数据的可用性的指示发送给访客代理,因此用户数据能够由访客代理提取。

在一种实施方式中,执行器将处理结果存储到可由主机代理访问的预定存储器位置,其中主机代理被配置为从预定存储器位置检索处理结果以将处理结果返还给用户设备。在一种实施方式中,处理逻辑进一步终止限制操作环境但不影响预定存储器位置处的处理结果。

图5是示出根据一种实施方式用于安全多方计算的基于令牌的计算框架的系统配置的示例的框图。图5的系统类似于图1的系统100,除了启动限制操作环境108-109不会发起图1的访客代理110-111以外。其后,限制操作环境能够自动开始执行并在执行完成时终止。然后,主机代理106能够在执行完成时和/或在限制操作环境终止时经由事件回调检测到执行完成。

图6是示出根据一种实施方式的安全多方计算协议的示例的流程图。参考图6,用于协议的操作600可以由图5的系统500执行。在一种实施方式中,主机代理106禁用ramfs121的页面交换。在一种实施方式中,在操作601,客户端设备(例如,客户端/用户)101通过请求标识符(id)将请求发送给主机代理106并将客户端数据发送给主机代理106。该请求能够是资源或服务的请求(例如,大数据分析、建模、机器学习/训练任务的请求等)。响应于接收到请求,主机代理106将接收到的请求id、客户端id和输入数据保存在ramfs中,诸如图5的服务器104的ramfs121。在操作602,主机代理106将请求id和与客户端设备对应的用户id发送给管理服务160(例如,安全服务161)。在操作603,管理服务160(例如,安全服务161)将客户端id和请求id记录到数据库中并为该请求id发放一个或多个令牌/密钥。在操作604,管理服务160(例如,安全服务161)将令牌发送给主机代理106。在一种实施方式中,令牌/密钥能够是唯一识别具体客户端请求的随机序列值。随机序列值能够由随机数发生器生成。在另一实施方式中,令牌能够唯一识别与执行器相关的客户端请求(例如,如果客户端请求唤醒许多执行器,则可以为客户端请求发放许多令牌)。这里,管理服务具有完成请求所需的具体执行器的记录并能够识别所述执行器,由此发放对应的令牌。

在操作605,访客代理110将令牌发送给管理服务160(例如,执行器池服务160)以被验证。在一种实施方式中,执行器池服务162与安全服务161通信以验证令牌是有效的且匹配的。一旦被验证/被认证,在操作606,管理服务160(例如,执行器池服务162)将与客户端请求相关联的执行器发送给主机代理106。主机代理106接收执行器并继续为客户端请求服务。在一种实施方式中,管理服务160(例如,执行器池服务162)可以从组织的其他部门收集执行器。一旦收集,管理服务160(例如,执行器池服务162)然后将执行器发送给访客代理110。尽管管理服务160被描绘成独立模块,但是管理服务160能够包括用于安全服务161的服务器和用于执行器池服务162的一个或多个服务器,其中执行器池服务162与安全服务161通信以追踪任意发放的令牌。管理服务160还能够与数据处理服务器104集成。

在操作607,主机代理106通过一起启动可信docker镜像与接收的执行器和/或任意客户端数据(例如,输入数据)来启动限制操作环境(或docker容器)(例如,图5的限制操作环境108)。注意,执行器或执行器镜像和客户端数据通过ramfs进行传送。限制操作环境将ramfs作为其文件系统。而且,限制操作环境没有其他通道将信息泄露给服务器104的储存盘。在一种实施方式中,在操作608,当限制操作环境启动时执行器自动执行/运行。当执行器完成执行时,docker镜像将经由在限制操作环境中的脚本自动终止。注意,限制操作环境不具有网络连接,因而客户端数据将不会从限制操作环境泄露出。

在一种实施方式中,在docker镜像终止时,主机代理106接收到回调事件,即执行完成且执行结果已准备好。在操作609,主机代理106从存储器或ramfs的预定位置检索执行结果并通过安全通信通道(例如,tls/ssl)将结果返还客户端设备101。在一种实施方式中,在操作611,主机代理106将完成应答发送给管理服务服务器106用于记录保持/审核目的。总之,管理服务服务器(例如,用于安全服务和执行器池服务的服务器)从不访问客户端请求的客户端数据,并且限制操作环境中客户端请求的执行确保客户端数据从不可信方隔离并被保护。

图7是示出根据一种实施方式的方法的示例的流程图。过程700可以由可以包括软件、硬件或它们的组合的处理逻辑执行。例如,过程700可以由图5的数据处理服务器(例如,主机)104执行。参考图7,在框701,响应于在服务器的主机代理处通过网络从用户的用户设备接收的处理用户数据的请求,处理逻辑将代表该请求的令牌发送给执行器池,其中执行器池具有一池许多执行器。在框702,处理逻辑通过主机代理从执行器池接收执行器的一个或多个可执行镜像,其中执行器池响应于成功地验证令牌而从执行器池分配执行器。在框703,处理逻辑在服务器中启动限制操作环境,包括向限制操作环境提供执行器的一个或多个可执行镜像和用户数据。在框704,处理逻辑在限制操作环境中执行执行器的一个或多个可执行镜像,其中执行器在被执行时被配置为处理用户数据而用访问在限制操作环境外部的外部组件。

在一种实施方式中,请求是从与许多用户相关联的许多用户设备接收的许多请求之一,其中每个请求都在多个限制操作环境的相应一个限制操作环境中被处理。在一种实施方式中,处理逻辑进一步将与请求相关联的请求标识符(id)和与用户相关联的用户id从主机代理发送给管理服务,并且从所述管理服务接收响应于所述请求id和所述用户id而发送的与所述请求相关联的所述令牌。

在另一实施方式中,管理服务登记请求id和用户id并生成令牌以代表与请求id和用户id相关联的服务会话。在另一实施方式中,执行器池被配置为与管理服务通信以在将执行器的一个或多个可执行镜像发送给主机代理之前验证令牌。在另一实施方式中,管理服务检查令牌以确定令牌是否与先前通过主机代理登记的请求id和用户id相关联。

在一种实施方式中,提供执行器的一个或多个可执行镜像和用户数据包括将执行器的该一个或多个可执行镜像和用户数据存储到可由限制操作环境访问的存储器的预定存储器位置。在另一实施方式中,执行器的一个或多个可执行镜像从预定存储器位置被检索并在限制操作环境中执行,其中执行器在被执行时被配置为处理从预定存储器位置检索的用户数据。在一种实施方式中,执行器被配置为生成处理用户数据的处理结果并将处理结果存储到可由主机代理访问的预定存储器位置,其中主机代理被配置为从预定存储器位置检索处理结果、将处理结果返还给用户设备并终止限制操作环境。

注意,上面示出和描述的一些组件或全部组件可以在软件、硬件或它们的组合中实现。例如,这种组件可以被实现为安装和存储到永久存储设备中的软件,其能够被装载到存储器中并由处理器(未示出)执行以实现贯穿本申请中描述的过程或操作。替代地,这种组件能够被实现为被编程或嵌入到诸如集成电路(例如,特定应用ic或asic)、数字信号处理器(dsp)、或现场可编程门阵列(fpga)等的专用硬件中的可执行代码,其能够从应用经由对应的驱动器和/或操作系统被访问。而且,这种组件能够被实现为处理器或处理器内核中的特定硬件逻辑作为可由软件组件经由一个或多个特定指令访问的指令集的一部分。

图8是示出可以与本发明的一种实施方式一起使用的数据处理系统的示例的框图。例如,系统1500可以表示执行上述的任意过程或方法的上述的任意数据处理系统,例如上述的客户端设备或服务器,诸如,例如上述的客户端101-102和服务器104。

系统1500能包括许多不同的组件。这些组件能够被实现为集成电路(ic)、ic的一部分、离散电子设备、或适于诸如计算机系统的主板或插入卡的电路板的其他模块,或被实现为以其他方式并入计算机系统的机箱内的组件。

还注意,系统1500旨在显示计算机系统的许多组件的高级视图。然而,将理解附加的组件可以存在于某些实现中,而且所示出的组件的不同布置可以出现在其他实现中。系统1500可以表示台式机、笔记本、平板电脑、服务器、移动电话、媒体播放器、个人数字助理(pda)、智能手表、个人通信器、游戏设备、网络路由器或集线器、无线接入点(ap)或中继器、机顶盒、或它们的组合。此外,尽管仅示出了单个机器或系统,但是术语“机器”或“系统”还应包括单独或联合执行一组(或多组)指令以执行本文讨论的任意一个或多个方法的机器或系统的任意集合。

在一种实施方式中,系统1500包括经由总线或互联1510的处理器1501、存储器1503和设备1505-1508。处理器1501可以代表其中包括单个处理器内核或多个处理器内核的单个处理器或多个处理器。处理器1501可以代表诸如微处理器、中央处理单元(cpu)等的一个或多个通用处理器。更具体地,处理器1501可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、极长指令字(vliw)微处理器、或实现其他指令集的处理器、或实现指令集组合的处理器。处理器1501还可以是诸如特定应用集成电路(asic)、蜂窝或基带处理器、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器、图形处理器、网络处理器、通信处理器、加密处理器、协处理器、嵌入式处理器或能够处理指令的任意其他类型的逻辑等的一个或多个专用处理器。

可以为诸如超低压处理器的低功耗多核处理器插座的处理器1501可以充当用于与系统的各种组件通信的主处理单元和中央集线器。这种处理器能够被实现为片上系统(soc)。处理器1501被配置为执行用于执行本文中讨论的操作和步骤的指令。系统1500可以进一步包括与可选图形子系统1504通信的图形接口,其可以包括显示器控制器、图形处理器和/或显示设备。

处理器1501可以与存储器1503通信,存储器1503在一种实施方式中能够经由多个存储器设备实现以提供给定量的系统存储器。存储器1503可以包括一个或多个易失性存储(或存储器)设备,诸如随机存取存储器(ram)、动态ram(dram)、同步dram(sdram)、静态ram(sram)或其他类型的存储设备。存储器1503可以存储包括由处理器1501或任意其他设备执行的指令序列的信息。例如,各种操作系统、设备驱动器、固件(例如,输入输出基本系统或bios)和/或应用的可执行代码和/或数据能够被装载到存储器1503中且由处理器1501执行。操作系统能够是任意种类的操作系统,诸如操作系统、apple的mac或其他实时或嵌入式操作系统诸如,vxworks。

系统1500可以进一步包括诸如设备1505-1508的io设备,io设备包括网络接口设备1505、可选的输入设备1506和其他可选的io设备1507。网络接口设备1505可以包括无线收发器和/或网络接口卡(nic)。无线收发器可以是wifi收发器、红外收发器、蓝牙收发器、wimax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位系统(gps)收发器)、或其他射频(rf)收发器、或它们的组合。nic可以是以太网卡。

输入设备1506可以包括鼠标、触摸板、(可以与显示设备1504集成的)触敏屏幕、诸如触控笔的指向设备、和/或键盘(例如,物理键盘或显示为触敏屏幕一部分的虚拟键盘)。例如,输入设备1506可以包括与触摸屏幕联接的触摸屏幕控制器。触摸屏幕和触摸屏幕控制器能够例如使用许多触敏技术中的任意一个检测其接触、移动或断开,其中所述许多触敏技术包括但不限于电容、电阻、红外以及声表面波技术和其他接近传感器阵列或用于确定对触摸屏幕的一个或多个接触点的其他元件。

io设备1507可以包括音频设备。音频设备可以包括扬声器和/或麦克风以方便语音使能功能,诸如语音识别、语音复制、数字记录和/或电话功能。其他io设备1507可以进一步包括通用串行总线(usb)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如,pci-pci桥)、传感器(例如,运动传感器诸如加速度计、陀螺仪、磁强计、光传感器、指南针、接近传感器等)、或它们的组合。设备1507可以进一步包括图像处理子系统(例如,摄像头),其可以包括被利用以方便摄像功能,诸如,记录照片和视频片段,的光学传感器诸如电荷耦合设备(ccd)或互补金属氧化物半导体(cmos)光学传感器。一些传感器可以经由传感器集线器(未示出)联接至互联1510,而诸如键盘或热传感器的其他设备可以由嵌入式控制器(未示出)根据系统1500的具体配置或设计进行控制。

为了提供诸如数据、应用、一个或多个操作系统等的信息的永久存储,大容量存储设备(未示出)还可以联接至处理器1501。在各种实施方式中,为了使系统设计能够更瘦、更轻且为了改进系统响应性,该大容量存储设备可以经由固态设备(ssd)实现。然而,在其他实施方式中,大容量存储设备主要可以使用硬盘驱动(hdd)实现且具有少量ssd存储充当ssd缓存以使能在掉电事件期间上下文状态和其它这种信息的非易失性存储,使得在重新发起系统活动时能够出现快速启动。而且,闪存设备可以例如经由串行外围接口(spi)联接至处理器1501。闪存设备可以提供包括基本输入/输出软件(bios)的系统软件和系统的其他固件的非易失性存储。

存储设备1508可以包括计算机可存取存储介质1509(也称为机器可读存储介质或计算机可读介质),计算机可存取存储介质1509上存储有一个或多个指令集或软件(例如,模块、单元、和/或逻辑1528),其中一个或多个指令集或软件实施本文中描述的方法或功能的一个或多个。处理模块/单元/逻辑1528可以代表上面描述的任意组件,诸如,例如,如上所述图1或图5的主机服务器104、图1或图5的主机代理106。处理模块/单元/逻辑1528还可以通过数据处理系统1500在其执行期间完全或至少部分地驻留在存储器1503和/或处理器1501中,存储器1503和处理器1501还构成机器可存取存储媒体。处理模块/单元/逻辑1528可以进一步经由网络接口设备1505通过网络进行发送或接收。

计算机可读存储介质1509还可以用于永久性地存储上面描述的一些软件功能。尽管计算机可读存储介质1509在示例性实施方式中被示出为单个介质,但是术语“计算机可读存储介质”应该被认为包括存储一个或多个指令集的单个介质或多个媒体(例如,集中式或分布式数据库、和/或相关联的缓存和服务器)。术语“计算机可读存储介质”还应该被认为包括能够存储或编码用于由机器执行且使机器执行本发明的任意一个方法或多个方法的指令集的任意介质。由此,术语“计算机可读存储介质”应该被认为包括但不限于固态存储器、光学和磁媒体、或任意其他非暂时性机器可读介质。

处理模块/单元/逻辑1528、本文中描述的组件和其他特征能够被实现为离散硬件组件或在功能上与例如asics、fpga、dsp或类似设备等的硬件组件集成。另外,处理模块/单元/逻辑1528能够被实现为硬件设备中的固件或功能电路。此外,处理模块/单元/逻辑1528能够以硬件设备和软件组件的任意组合实现。

注意,尽管系统1500被示出为具有数据处理系统的各个组件,但是不旨在代表将组件互联的任意具体的架构或方式,因为这些细节与本发明的实施方式没有密切关系。还将理解,具有更少组件或可能更多组件的网络计算机、手持计算机、移动电话、服务器、和/或数据处理系统也可以与本发明的实施方式一起使用。

前面的详细描述的一些部分已经依据计算机存储器中的数据位的操作的算法和符号表示给出。这些算法描述和代表是那些数据处理领域的技术人员最有效地将他们的工作的本质传达给该领域内的其他技术人员所使用的方式。这里,算法一般被构思成导致期望结果的自洽操作序列。所述操作是需要对物理量进行物理操纵的那些操作。

然而,应该考虑到这些和相似术语中的全部与合适的物理量相关联并仅是被应用于这些量的方便标签。除非特别说明,否则根据上面的讨论明显的是,可以理解在整个说明书中,利用诸如下面的权利要求中阐述的术语的讨论指向计算机系统或类似电子计算设备的动作和处理,其中计算机系统或类似电子计算设备将在计算机系统的寄存器和存储器中被表示成物理(电子)量的数据操纵和转换为在计算机系统存储器或寄存器或其他这种信息存储、传输或显示器设备中被类似地表示成物理量的其他数据。

图中所示的技术能够使用在一个或多个电子设备上存储和执行的代码和数据来实现。这种电子设备使用诸如非暂时性计算机可读存储媒体(例如,磁盘、光盘、随机存取存储器、只读存储器、闪存存储器设备、相变存储器)和暂时性计算机可读传输媒体(例如,电子、光学、声学或其他形式的传播信号——诸如载波、红外信号、数字信号)的计算机可读媒体存储代码和数据并(在内部和/或通过网络与其他电子设备之间)对所述代码和数据通信。

前面的图中描绘的过程或方法可以由处理逻辑执行,其中处理逻辑包括硬件(例如,电路、专用逻辑等)、固件、(例如,嵌入在非暂时性计算机可读介质上的)软件、或它们的组合。尽管上面从一些顺序操作的角度描述了过程或方法,但是应该理解所描述的一些操作可以按不同的顺序执行。而且,一些操作可以并行执行而非顺序执行。

在前面的说明书中,已经参考本发明的具体示例性实施方式描述了本发明的实施方式。明显地,可以在不偏离如下面权利要求中阐述的本发明的更广泛精神和范围的前提下进行各种修改。由此,说明书和附图被认为具有说明意义而非限制意义。

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