安全密钥管理的制作方法

文档序号:18061644发布日期:2019-07-03 03:07阅读:374来源:国知局
安全密钥管理的制作方法

计算机和计算系统影响了现代生活的几乎每个方面。通常在工作、休闲、医疗、运输、娱乐、家庭管理等中涉及计算机。

此外,计算系统功能可由计算系统的经由网络连接而互连到其它计算系统的能力来增强。网络连接可包括但不限于经由有线或无线以太网的连接、蜂窝连接、或者甚至通过串行、并行、usb的计算机到计算机连接、或者其它连接。这些连接允许计算系统访问在其它计算系统处的服务并且从其它计算系统快速和有效地接收应用数据。

计算系统的互连帮助分布式计算系统,例如所谓的“云”计算系统。在这个描述中,“云计算”可以是用于使对可配置的计算资源(例如网络、服务器、存储、应用、服务等)的共享池的普遍存在的、方便的、按需的网络访问成为可能的系统或资源,可配置的计算资源可以在有减小的管理努力或服务提供商互动的情况下被提供和释放。云模型可由各种特性(例如,按需自助服务、广泛的网络访问、资源池、快速弹性、所测量的服务等)、服务模型(例如,软件即服务(“saas”)、平台即服务(“paas”)、基础设施即服务(“iaas”)、和部署模型(例如,私有云、社区云、公共云、混合云等)组成。

在云计算系统中,存在云服务提供商和承租方(tenant)客户。虽然承租方客户希望使用云计算系统资源,但这些客户通常不希望在云服务提供商处的个人(例如,云服务提供商雇员或可以物理访问云服务提供商资源的其他人)访问客户的数据。因此,存在承租方客户对于第三方在实际上不能够检视数据的情况下管理数据的需要。

在本文主张的主题不限于解决任何缺点或只在例如上面所述的那些环境中操作的实施方式。更确切地,本

背景技术:
仅被提供来说明一种示例性技术领域,其中本文所述的一些实施方式可被实践。



技术实现要素:

本文所述的一个实施方式包括机器。该机器包括专区(enclave)。所述专区包括应用对于其自身不位于所述专区中的任何应用代码,被阻止访问的应用地址空间的被保护区域,除非能由一个或多个管理专区将密钥提供到该专区内。该机器还包括耦合到该专区的管理专区。所述管理专区被配置为向该专区提供密钥。管理专区是对于其自身不位于所述管理专区中的任何应用代码,被阻止访问的应用地址空间的被保护区域。

本发明内容被提供来介绍下面在详细描述中进一步描述的以简化形式的一系列概念。这个概述并不旨在识别所主张的主题的关键特征或必要特征,也不旨在用作在确定所主张的主题的范围时的帮助。

额外的特征和优点将在接下来的描述中被阐述,且部分地将从该描述明显,或可通过本文的教导的实践被获悉。可借助于在所附权利要求中特别指出的设备和组合来实现和得到本发明的特征和优点。本发明的特征从下面的描述和所附权利要求中将变得更充分明显,或可通过如在下文中阐述的本发明的实践被获悉。

附图说明

为了描述上面列举的和其它优点和特征可被得到的方式,将通过参考在附图中所示的特定实施方式来再现上面简要描述的主题的更具体的描述。理解了这些附图仅描绘一般实施方式且因此不应被考虑为在范围上是限制性的,实施方式将通过附图的使用以额外的特殊性和细节被描述和解释,其中:

图1示出包括管理专区和专区的机器以及证明证书;

图2示出包括计算结构和密钥结构的云系统;以及

图3示出在云系统上安全地管理承租方的方法。

具体实施方式

本文所示的实施方式包括基于硬件的密钥保护系统的功能和对在云计算系统中的虚拟机(vm)的基于硬件的保护。特别是,一些现代处理器包括可用于保护选定代码和数据免于泄漏或修改的硬件指令和体系架构部件。应用可被划分到cpu加强的“专区”或增加安全性的被保护的执行区域内。特别是,如在本文使用的,专区是对于其自身不位于所述专区中的任何软件,被阻止访问的应用地址空间的被保护区域。甚至可以在折衷平台上维持这种安全性,因为被保护的数据和代码以cpu等级被保护。也就是说,cpu可阻止外部软件访问专区。这些专区可用于实现安全承租方数据加密密钥传递和用于对承租方数据进行操作的安全虚拟机。这样的专区和被保护的计算的一个例子可用于从加利福尼亚州圣克拉拉的英特尔公司可得到的intelsgx(softwareguardextensions)。

图1示出机器100。机器100是被配置为执行编程指令的物理硬件设备。例如,机器可包括中央处理单元(cpu)。机器包括专区102。专区102是包括被保护的代码和数据的被保护的执行区域。专区102被保护是因为它具有受限制的(如以cpu等级受限制的)进入和出去(ingressandegress)。特别是,一旦执行代码和/或数据被放置到专区内,它就不能被任何外部实体检查。这包括处理器状态和寄存器状态两者。此外,它不能由外部实体修改。数据可被放置到在专区102中运行的代码可访问的外部寄存器104内,但专区102将在它需要时访问这个代码。数据不能被强制地提供到专区102内,除了如下所示的以外,其中管理专区106可将密钥(例如密钥108)提供到专区102内。

如所提到的,图1示出管理专区106。管理专区类似于专区102,因为它是被保护的执行区域。然而,一个差异是,管理专区106具有将密钥(例如密钥108)提供到专区102内的能力。

虽然被限制从专区102出去,但专区102可以产生并且在专区102外部提供的一个内容是证明证书110。证明证书110可以包括用于证实专区正在特定的平台上运行的、由特定的管理专区管理的可验证的信息连同关于专区102自身的信息。

特别是,由专区102生成的证明证书110包括平台证明112。平台证明112包括专区102正在特定平台上实现的可验证证据。这可包括例如特定的机器100。例如,机器100可包括序号或其它特性或部件,其可被评估以创建对特定的机器100唯一的可验证证据。例如,散列算法可用于使用处理器的序号和/或机器100的其它特性或部件来创建可验证证据。例如,散列算法可以对机器100中的不同部件的序号、机器100中的部件的一组确定的型号(或其它特性)、或机器100的其它特性进行散列(hash)。

可选地,这可以简单地是机器100所属的平台通常具有专区支持的可验证证据。例如,可验证证据可以假定机器100包括专区支持。

由专区102生成的证明证书110包括管理证明114。管理证明114包括专区102正由管理专区106管理的可验证证据,例如专区102的指纹(fingerprint)。例如,管理专区中的代码可用于创建关于管理专区正在被用于管理专区102的可验证证据。例如,散列算法可应用于管理专区106的代码和/或数据以生成可验证证据,随后所述可验证证据可以在管理证明114中使用。

由专区102产生的证明证书110包括专区证明116。专区证明116包括专区的可验证证据。例如,专区证明116可包括专区106中的代码和/或数据的指纹。

由专区102生成的证明证书110包括加密功能118。加密功能118可用于对数据进行加密,随后该数据被放置在寄存器104中。例如,加密功能118可作为公钥交换的一部分用于公钥交换方案,例如diffie-hellman密钥交换。以这种方式,可将数据安全地提供到专区102。

使用这个基础,注意力指向图2,其示出在为云服务的承租方实现虚拟机时使用所述专门处理器功能。特别是,一般而言,云服务200的客户承租方不具有安全基础设施,所以它们从能够提供安全基础设施的云服务提供商购买资源。在云服务200中,诸如计算资源(例如,处理器周期)的云资源、存储器资源、以及存储资源在多个不同的承租方中进行共享。云服务200中的物理机器托管这些资源并且按需要为各个承租方提供资源。然而,承租方也不需要云服务提供商访问未加密的承租方数据。因此,特定的承租方具有与它们的数据相关联的密钥108,其中以安全方式使用所述数据,以确保承租方的数据120在云服务200处不被暴露于其它承租方或者被暴露于个人。因为不同机器上的资源进行了共享,并且不同的机器可在不同的时间用于不同的承租方,因此密钥108需要在不同的机器中可共享,由云服务200托管,并且可验证证据需要假定云服务200不知道密钥108的值。

在所示例子中,这可通过使用密钥管理结构124和计算结构126来实现。

密钥管理结构124包括多个机器110-2-1到100-2-m,其选自云服务200处的机器并且被配置为针对特定的承租方来管理密钥108。以这种方式,可以以所需要的那么多的冗余度水平来针对承租方冗余地存储密钥。

密钥管理结构124中的每个机器分别耦合到本地存储设备122-1到122-m。

图2示出计算结构126。计算结构包括多个机器100-1-1到100-1-n,其选自在云服务200处可用的机器并且被配置为针对承租方实现虚拟机。特别是,承租方将需要某些虚拟机针对该承租方运行。这些虚拟机可使用专区102-1-1到102-1-n来实现。特别是,vm代码可在专区102-1-1到102-1-n中实现。每个专区的代码可由云服务提供商提供或可由承租方提供给云服务提供商以针对该承租方实现专区。在任一情况中,承租方可通过检查由运行vm的专区产生的证明证书来验证vm,所述证明证书包括具有每个专区的指纹的针对该专区的专区证明。

注意,机器100-1-1到100-1-n和机器100-2-1到100-2-m每个分别具有管理专区106-1-1到106-1-n和管理专区106-2-1到106-2-m。在一些实施方式中,管理专区106-1-1到106-1-n和管理专区106-2-1到106-2-m都具有在它们中运行的相同的可执行代码。因此,这些机器上的针对该承租方的专区,不论是在密钥结构124中还是在计算结构126中,都将产生具有相同的管理证明的证明证书,例如图1所示的证明证书。这允许管理专区106-1-1到106-1-n和管理专区106-2-1到106-2-m中的每个管理专区以安全的方式彼此通信并且拒绝与不能产生管理证明的任何管理专区的通信。使用这个功能,可以针对特定的承租方实现安全密钥创建和管理。

应注意,虽然如下面更详细讨论的,其它形式可用于验证管理专区。例如,在可选的实施方式中,不共享同一指纹的两个管理专区仍然可以将彼此识别为可信任的。专区可以实现复杂和灵活的策略。因此,例如管理专区106-1-1到106-1-n可以是不同的并且具有与管理专区106-2-1到106-2-m不同的指纹,但仍然可能能够基于可信度分析来彼此通信。类似地,管理专区106-1-1到106-1-n中的一个或多个管理专区可以是彼此不同的但仍然能够基于可信度分析来彼此通信。类似地,管理专区106-2-1到106-2-m中的一个或多个管理专区可以是彼此不同的但仍然能够基于可信度分析来彼此通信。

例如,在一些实施方式中,管理专区可能能够确定另一管理专区正在运行相同代码的不同版本。这可以例如通过检查证明证书(例如,证明证书110)的专区证明(例如,专区证明116)以验证与代码作者有关的信息、签署管理机构、或者以其它方式来完成。例如,专区证明可包括使用以下所有的三者来创建的指示符:签署管理机构的指示、代码的功能是什么的签署管理机构申明的指示、以及代码的签署管理机构所申明的版本的指示。接收管理专区可以包括用于验证这三个指示符的功能。

因此,管理专区可以具有被合并到管理专区代码内的匹配功能。这个匹配功能可以被配置为需要专区证明中的准确匹配或者可允许已批准的改变。

例如,考虑下面的情形。在第一情形中,管理专区106-2-1产生证明证书110-1。证明证书110-1包括专区证明116-1。专区证明116-1包括关于管理专区106-2-1的信息。例如在所示的目前情形中,管理专区106-2-1可包括用于计算实现管理专区106-2-1的代码的散列的功能。在这个例子中,管理专区需要匹配代码以信任其它专区。因此,如果管理专区106-1-1接收到证明证书110-1,则管理专区106-1-1将只信任管理专区106-2-1,如果可以由管理专区106-1-1通过对它自己的管理专区代码进行散列来产生专区证明116-1的话。

在可选的实施方式中,管理专区可能能够确定其它管理专区能够被信任,即使当那些其它管理专区并没有在运行确切的相同代码。例如,管理专区106-2-1可产生证明证书110-1,其中证明证书110-1包括基于以下内容的专区证明116-1:在管理专区106-2-1中运行的管理专区代码的作者的可验证证据、在管理专区106-2-1中运行的专区代码的目的的可验证证据、以及在管理专区106-2-1中运行的管理专区代码的版本的可验证证据。包括管理专区106-1-1的这些管理专区中的每个管理专区可包括用于接收证明证书110-1并且验证专区证明116-1的功能。

下文在一些实施方式中说明验证如何起作用的各种例子。证明证书包含可以唯一地识别专区的信息。这包括当被创建时被加载到专区内的所有代码和数据的数字指纹,并且可以可选地还包括识别由某个被信任的管理机构签署的信息。在最简单的情况下,验证(例如在两个管理专区之间)可通过管理专区执行如下所示的操作来执行:

1)请求其它管理专区发送证明报告。

2)验证来自其它管理专区的证明报告由远程系统正确地签署以指示它是可信的证明报告。

3)请求cpu为它自己准备证明报告(可信任的,因为它直接来自cpu)。

4)比较存在于自身证明中的身份信息与存在于远程证明中的身份信息。如果它们匹配,则管理专区与它自己的另一副本进行对话,并且因此可信任它。

由不同版本的管理专区使用的或在专区和管理专区之间使用的可选版本将用在远程证明中的身份信息与用于确定哪些身份代表可信任的专区的策略信息的比较来代替步骤3-4。

密钥108可冗余地存储在密钥结构124中。密钥108可由密钥结构124以多种不同的方式得到。例如在一些实施方式中,承租方可向管理专区之一(例如管理专区106-2-1)提供密钥108。可选地,管理专区可包括用于从机器获得密钥108的功能。因此,例如管理专区106-2-1可请求机器100-2-1处的cpu使用适当的算法来计算适当的密钥。

为了冗余地存储密钥108,管理专区106能够彼此共享密钥,但将不与其它实体(包括其它折衷管理专区)、或在一些实施方式中没有在运行相同代码(或代码的已批准和可验证的版本,例如管理专区代码的不同版本)的其它管理专区共享它们的密钥,除非管理专区106可在相关联的专区中提供密钥108,使得那些相关联的专区可将承租方的数据解密。如上面所提到的,管理专区106-2-1可请求机器100-2-1处的cpu使用某个适当的算法来计算适当的密钥。该推导的根是稍后由管理专区提供给其它专区的密钥。因此,管理专区将密钥提供到一位置内,cpu使用其进行密钥推导。在可选的实施方式中,管理专区将密钥放置到另一机器处的特殊寄存器内以提供密钥。

管理专区将不向另一管理专区提供密钥108,除非管理专区可确定该另一管理专区被信任,例如在一些实施方式中通过确定该管理专区正在运行相同的管理专区代码或其它已批准的代码,例如上面所述的代码。这可通过检查管理专区的证明证书以确定管理证明匹配来实现。因此,在这个例子中,管理专区可确定另一管理专区具有相同的指纹或已批准的指纹,并且因此与其它管理专区进行通信可能是安全的。

管理专区106-2-1到106-2-m中的每个管理专区使用对特定的机器(管理专区正在该特定的机器上运行)唯一的机器密钥来对管理密钥进行加密,以分别创建加密密钥108-1到108-m并且将加密密钥108-1到108-m存储在与它们的相应机器相关联的存储设备122-1到122-m中。管理专区106-2-1到106-2-m中的每个管理专区被配置为被本地地且专门地在它的相应机器上将已加密的承租方密钥存储在存储设备中。也就是说,在密钥管理结构中运行的管理专区具有在它们的本地存储设备上并且仅仅在它们的本地存储设备上以加密形式存储客户密钥的能力。

为了使虚拟机加速(spinup),计算结构126中的机器将使管理专区106和专区102加速。例如在图2所示的例子中,机器100-1-1使管理专区106-1-1和专区102-1-1加速。管理专区106-1-1运行与密钥结构124中的管理专区106-2-1到106-2-m相同的代码。因此,管理专区106-1-1可使用证明证书与管理专区106-2-1到106-2-m安全地通信。这允许密钥结构124中的管理专区从存储设备获取加密的承租方密钥,将已加密密钥解密,并且向计算结构中的管理专区提供密钥108。例如,管理专区106-2-1可从存储设备122-1获取已加密密钥108-1。管理专区106-2-1可使用机器100-2-1的机器密钥来对已加密密钥108-1进行解密以获得密钥108。随后密钥108可以被提供到管理专区106-1-1。

在机器100-1-1处,管理专区106-1-1可将密钥108提供到专区102-1-1内。随后专区102-1-1可用于从存储设备120获得承租方的数据并且使用密钥108来对数据进行解密。在一个实施方式中,由cpu定义的专区架构可提供只对管理专区可用的、允许它将密钥直接传送到专区的地址空间内的特权指令。在另一实施方式中,管理专区和专区可使用相互认证(经由证明)来建立安全连接,并且管理专区可通过安全连接来传送密钥。

在它们的专区中需要密钥便携性的任何承租方必须信任云服务200以代表它们进行密钥管理,或者必须提供它们自己的密钥管理系统。任一模型可被实现,而不要求客户信任云服务以保持密钥是保密的,因为硬件将为它们完成那件事。因此,总之,设计可以如下:

该设计包括密钥管理结构,其包括托管每客户的密钥管理专区(其可由云提供商写入或可以是客户提供的)的一组服务器。每个服务器能够每客户运行一个(不可迁移的)管理专区,其存储那个客户的主密钥。

2.当新客户主密钥是需要的时,密钥管理结构在每个密钥管理服务器上开始该客户的管理专区的实例。一个实例生成新的随机密钥,并且随后将它分配到所有其它实例(使用专区证明来验证每个端点是那个客户的正确管理专区)。现在该客户的主密钥被充分复制。

3.每个管理专区获得用于密封主密钥的cpu导出的加密密钥。这个密封密钥由专区架构生成,并且包括机器特定的秘密和管理专区的密码散列。现在每个主密钥使用硬件保护的密钥而存留在每个密钥管理服务器上。

4.当客户工作负荷专区需要主密钥时,它接触密钥管理结构以获得与客户特定管理专区的实例的连接。它建立到那个专区的安全连接,使用证明来验证它正从正确的管理专区获得密钥,随后获得该密钥。

这样的系统可具有下列特性中的一个或多个:

a.云数据中心不可能被强迫泄露任何主密钥,因为每个主密钥是用对于精确的密钥管理代码特定的加密密钥来进行密封的(借助于cpu的专区密钥保护)。修改管理专区以允许泄露的任何尝试将导致对密封密钥的改变,因而阻止主密钥被成功地被解密。此外,说服管理专区的防泄露版本将主密钥泄漏给该专区的有泄露能力的版本的任何尝试将被证明阻止(因为每个管理专区只将主密钥泄漏给它知道是防泄露的管理专区的版本)。

b.每个客户工作负荷可以验证管理专区不允许主密钥的泄露,因为它可以证明它的密钥正由管理专区的特定的防泄露版本提供。多疑的客户可以通过自己提供管理专区来获得所述保证。

c.主密钥被保护免受灾害,因为密钥管理结构提供足够的复制以保证密钥可用性。

下面的讨论现在提到多种方法和可被执行的方法行动。虽然方法行动可以按某个顺序被讨论或在流程图中被示为以特定的顺序出现,但没有特定的排序是需要的,除非特别规定或需要,因为行动依赖于在该行动被执行之前完成的另一行动。

现在参考图3,示出方法300。方法300包括在云系统上安全地管理承租方的行动。该方法包括获得承租方密钥(行动302)。例如,为了方法300的目的,可从云服务的承租方获得承租方密钥。可选地或此外,承租方密钥可在云服务处生成并由管理专区获得。可选地或此外,特定的管理专区可从另一管理专区获得承租方密钥。如将在下面更详细讨论的,这可由运行相同的应用代码的管理专区实现。注意,相同的应用代码可包括相同的应用代码的不同版本。也就是说,一个管理专区可运行应用代码的一个版本,而不同的管理专区运行相同的应用代码的不同版本。然而尽管如此,管理专区可能仍然能够通过验证应用代码(不论是相同版本还是不同的版本)来相互传递承租方密钥。

方法300还包括在云服务中的计算结构中的机器上的管理专区处将承租方密钥提供到机器上的专区内(行动302)。对于给定专区,对于其自身不位于该给定专区中的任何应用代码,管理专区和专区是被阻止访问的应用地址空间的被保护区域,除非该管理专区可将密钥提供到承租方专区。在一些实施方式中,管理专区可被限制到只能够将承租方密钥提供到在与管理专区相同的机器上运行的专区内。因此例如,管理专区106-1-1能够将密钥108提供到专区102-1-1内,因为它们都在同一机器100-1-1上运行。然而,管理专区106-1-1不能够将密钥108提供到专区102-1-1内,因为它们在不同的机器上。

专区被配置为针对云服务承租方执行功能。注意,应用代码可以在专区的不同实例中,但只要它是相同的应用代码,它就可以访问该专区。例如,管理专区106-2-1可能能够将密钥108提供到管理专区106-1-1,如果这两个管理专区都运行相同的应用代码。如所提到的,这可使用证明证书(例如图2所示的证明证书110-1)来被确认。

进一步注意,如在本文使用的,相同的“应用代码”可包括相同代码的不同版本。然而,管理专区中的应用代码可被配置为允许与相同应用代码的不同版本的通信。例如,管理专区106-2-1可能能够将密钥108提供到管理专区106-1-1,如果这两个管理专区都运行相同代码的不同版本。如所提到的,这可使用证明证书(例如图2所示的证明证书110-1)来被确认。例如,一些实施方式可以验证包括管理专区的专区证明的证明证书。专区证明包括签署管理机构的可验证证据、关于应用代码具有什么功能的签署管理机构申明的可验证证据、以及应用代码的签署管理机构所申明的版本的可验证证据。

因此,可实践方法300,其中,获得承租方密钥包括:通过验证另一管理专区正运行相互可批准的和可认证的管理专区代码来从运行相同应用代码的版本的另一管理专区获得承租方密钥,使得可以通过管理专区对管理专区代码进行批准和认证,来以可信的方式在管理专区之间传递承租方密钥。

在一些这样的实施方式中,验证另一管理专区正运行相互可批准的和可认证的应用代码包括:验证另一管理专区正运行相同的应用代码。

可选地或此外,在一些这样的实施方式中,验证另一管理专区正运行相互可批准的和可认证的管理专区代码包括:验证另一管理专区正运行应用代码的不同版本,其可被验证为应用代码的不同版本。

在一些这样的实施方式中,验证另一管理专区正运行管理专区代码的不同版本包括:验证包括管理专区的专区证明的证明证书。专区证明包括签署管理机构的可验证证据、关于应用代码具有什么功能的签署管理机构申明的可验证证据、以及应用代码的签署管理机构所申明的版本的可验证证据。

在一些实施方式中,管理专区和专区是使用相互认证和证明来验证密钥发放管理专区是可信任的发放者的对等体(peer),以及接收方专区是密钥的可信的接收方。这可以例如通过使用如上所述的证明证书来执行。特别是,管理专区和专区可以分别验证另一方正使用相互批准和可验证的代码。这可以是由运行与上面所定义的相同的代码的管理专区和专区或由对代码相互同意的某个其它专区进行的。

在这里所示的实施方式可由包括一个或多个处理器和计算机可读介质例如计算机存储器的计算机系统实践。特别是,计算机存储器可存储计算机可执行指令,其当由一个或多个处理器执行时使各种功能例如在实施方式中列举的行动被执行。

本发明的实施方式可包括或利用包括计算机硬件的专用或通用计算机,如下面更详细讨论的。在本发明的范围内的实施方式还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其它计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用的介质。携带计算机可执行指令的计算机可读介质是传输介质。因此作为例子而不是限制,本发明的实施方式可包括至少两种截然不同的类型的计算机可读介质:物理计算机可读存储介质和传输计算机可读介质。

物理计算机可读存储介质包括ram、rom、eeprom、cd-rom或其它光学磁盘存储设备(例如cd、dvd等)、磁盘存储设备或其它磁性存储设备或可用于存储以计算机可执行指令或数据结构的形式的期望程序代码模块且可由通用或专用计算机访问的任何其它介质。

“网络”被定义为实现在计算机系统和/或模块和/或其它电子设备之间的传送的一个或多个数据链路。当信息通过网络或另一通信连接(硬连线、无线或硬连线或无线的组合)被传递或提供到计算机时,计算机适当地将该连接视为传输介质。传输介质可包括可用于携带以计算机可执行指令或数据结构的形式的期望程序代码模块且可由通用或专用计算机访问的网络和/或数据链路。上述项的组合也可被包括在计算机可读介质的范围内。

此外,当到达各种计算机系统部件时,以计算机可执行指令或数据结构的形式的程序代码模块可从传输计算机可读介质自动传递到物理计算机可读存储介质(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可被缓存在网络接口模块(例如“nic”)内的ram中,且然后最终被传递到计算机系统ram和/或在计算机系统处的不太易失性的计算机可读物理存储介质。因此,计算机可读物理存储介质可被包括在也(或甚至主要)利用传输介质的计算机系统部件中。

计算机可执行指令包括例如使通用计算机、专用计算机或专用处理设备执行某个功能或一组功能的指令和数据。计算机可执行指令可以例如是二进制、中间格式指令例如汇编语言或甚至源代码。虽然以结构特征和/或方法行动特有的语言描述了主题,但应理解,在所附权利要求中限定的主题不一定限于所述特征或上面所述的行动。更确切地,所述特征和行动被公开为实现权利要求的示例形式。

本领域中的技术人员将认识到,可在网络计算环境中用很多类型的计算机系统配置——包括个人计算机、桌上型计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器的或可编程的消费电子设备、网络pc、小型计算机、大型计算机、移动电话、pda、寻呼机、路由器、交换机和诸如此类来实践本发明。也可在分布式系统环境中实践本发明,其中通过网络(例如通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合)链接的本地和远程计算机系统都执行任务。在分布式系统环境中,程序模块可位于本地和远程存储器存储设备中。

可选地或此外,本文所述的功能可至少部分地由一个或多个硬件逻辑部件执行。例如且没有限制地,可被使用的硬件逻辑布局的例证性类型包括现场可编程门阵列(fpga)、程序特定集成电路(asic)、程序特定标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等。

本发明可体现在其它特定的形式中而不偏离它的精神或特性。所述实施方式应在所有方面中仅被考虑为例证性的而不是限制性的。本发明的范围因此由所附权利要求而不是由前述描述指示。出现在权利要求的意义和范围内的所有变化应被包括在它们的范围内。

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