能够实现不同物理域地址空间的节点间的聚类的存储总线协议的制作方法

文档序号:13430008阅读:214来源:国知局
能够实现不同物理域地址空间的节点间的聚类的存储总线协议的制作方法
能够实现不同物理域地址空间的节点间的聚类的存储总线协议相关申请的交叉引用;优先权要求本申请要求2012年10月2日提交的美国申请61/709,142,“TECHNIQUESFORACCELERATINGDATABASEOPERATIONS”的优先权,该申请的整个内容通过引用并入于此,如同在此被完整地阐述一样。本申请通过引用包含与本申请同日提交的美国申请(卷号No.50277-4091)“REMOTE-KEYBASEDMEMORYBUFFERACCESSCONTROLMECHANISM”的整个内容,如同该申请在此被完整地阐述一样。技术领域本发明一般地涉及改善集群中的节点间通信的协处理器,并且更具体地,涉及处理用于改善节点间通信的链路到链路协议的协处理器。

背景技术:
单个处理系统的性能已极大地增强。然而,利用处理系统或节点的集群,可获得更高的性能。获得高性能集群的关键因素是节点间的通信。图1描述一种早期技术,其中每个都具有自己的CPU108a-c和本地存储器110a-c的处理节点102、104、106通过公共总线110经由接口112a-c被相互耦接。各个节点102、104、106被允许访问其它节点的存储器,使得这些处理节点可被看作共享一个大型存储器。这种共享总线体系结构的一个缺点在于总线很快变成性能限制要素,因为所有的节点间通信列队竞争使用总线。一旦总线110变得饱和或几乎饱和,增加额外的节点几乎不能带来改善。在认识到共享总线体系结构的缺点的情况下,采用了图2中描述的另一种技术。图2中,集群中包含CPU216a-e和存储器218a-e的节点202、204、206、208、210通过专用高速点对点通信链路220a-j互连。如果使用足够的点对点连接220a-j来创建链路的架构,则可实现更高的性能,因为不存在共享总线争用。然而,点对点通信链路220a-j遵守复杂的分层通信协议,以保证通信的正确性和鲁棒性。这种体系结构要求接口214a-t中的I/O处理器执行这种复杂协议以及转换和验证源地址和目的地地址。因为在执行所述协议和地址转换方面,I/O处理器通常比主CPU慢得多,并且因为接口和相应节点的存储器之间的耦接不良,因而执行这些通信任务会降低性能。从而,尽管在集群中实现较高的性能,但是通信开销和不良的耦接导致性能增益达到上限。本节中说明的方法是可推行的方法,不过不一定是以前已构思或推行的方法。于是,除非另有说明,否则应认为在本节中说明的任何方法仅仅由于被包含在本节中而被当作现有技术。

技术实现要素:
实施例提供一种集群中的节点间通信,它具有很低的开销,并且允许节点之间的直接存储器到存储器通信,其中每个节点驻留于单独的物理地址空间。所述实施例改善了通信延迟和带宽,并提供物理地址空间之间的硬件认证访问和错误检验。所述实施例提高集群的性能,允许集群表现得更像单一系统。所述实施例还允许更大数目的节点,因为性能与节点的数目成比例。所述实施例使得能够包含在节点本地的高速非易失性存储器,比如PCM(相变存储器)或者NVRAM,并能够在分布式集群环境中高带宽地共享存储器。一个实施例是一种计算机系统,所述计算机系统包括多个计算节点和多个点对点物理通信链路。所述多个计算节点中的每个计算节点包括协处理器和与该协处理器耦接的存储器,其中每个存储器驻留于单独并且不同的物理域中。所述多个链路中的一个或多个通信链路耦接在所述多个节点中的每对节点之间,其中节点中的每个协处理器耦接到所述一个或多个通信链路,以通过至少一个通信链路传送数据。每个协处理器被配置成利用准许访问另一个节点中的存储器的一部分的证书,在耦接到协处理器的存储器和该协处理器通过一个或多个通信链路所耦接到的所述另一个节点的存储器之间传送数据,或者利用授予对另外两个节点中的第一个节点之中的存储器的一部分的访问权限的第一证书以及授予对另外两个节点中的第二个节点之中的存储器的一部分的访问权限的第二证书,在集群中该协处理器通过一个或多个通信链路所耦接到的另外两个节点之间传送数据。附图说明图1表示共享总线体系结构;图2表示交换架构体系结构;图3描述实施例在其中工作的集群;图4A描述图3的集群中的一对节点;图4B描述协处理器及其接口;图5描述节点之间的地址空间的模型;图6描述管理程序和协处理器之间的同步;图7描述本地节点和远程节点之间的命令操作;图8描述两个远程节点之间的命令操作;以及图9是示例的计算机系统。具体实施方式在下面的说明中,为了解释起见,阐述了众多的具体细节,以便提供对本发明的透彻理解。然而,显然可在没有这些具体细节的情况下实践本发明。在其它情况下,以框图形式示出公知的结构和设备,以避免不必要地使本发明变得晦涩难懂。图3描述实施例在其中工作的示例集群。集群中的各个节点302、304、306、308、310包括主CPU312a-e、协处理器314a-e和存储器316a-e。图3在每个节点中示出单一CPU和单一协处理器,以简化附图;实际上,节点通常包含许多CPU,而且每个CPU通常包含许多协处理器。每个协处理器314a-e直接对接点对点链路320a-j,并直接耦接到相应节点的物理存储器316a-e。在此使用的术语协处理器指的是不同的处理实体,但是不一定是与CPU或其它处理器分离的不同物理设备。例如,协处理器可以是CPU中的核。有利的是,随着集群中CPU的数目的增大,节点中的协处理器和可寻址存储器的数目也增大。这带来随着节点中CPU的数目的增大,节点维持其性能,尤其是与通过链路的通信有关的性能的好处。唯一的限制是节点之间的点对点连接的带宽。更高速的连接或者更多的连接可减轻这种限制。节点体系结构和协处理器接口图4A描述图3的集群中的一对示例节点402、404。图4A中简化了该对节点和它们之间的连接;实际上,考虑到可靠性,每个节点经由多个链路连接到自冗余交换机,使得即使多个链路发生故障或者交换机发生故障,系统也可维持运转。分别在各个节点402、404中的协处理器406a-b通过高速点对点链路408互连,在各端由缓冲器410a、410b缓存。每个节点402、404的主处理器412a-b(实际上是许多多核CPU)和协处理器406a-b(实际上是许多协处理器)都包括到每个节点402、404中的相应物理存储器418a-b的存储器接口414a-b、416a-b。如果主处理器412a-b具有L3高速缓存420a、b,那么协处理器406a、b可以访问该高速缓存,使得它能够更新其内容。这种情况下,高速缓存一致性协议维持主存储器418a、b和存在的任何其它L3高速缓存之间的一致性。作为选择,如果协处理器406a、b直接更新主存储器,那么高速缓存一致性协议维持任何存在的L3高速缓存420a、b和主存储器418a、b之间的一致性。各个协处理器406a-b的物理存储器接口416a-b提供对如下所述的管理程序接口和用户接口的访问,所述管理程序接口和用户接口都驻留于物理存储器418a-b中。图4B描述协处理器406a-b及其接口416a-b、452、454。协处理器406a-b包括存储器接口416a-b、处理协处理器命令的流式管道456、在协处理器管道456中调度命令的命令调度器458,和按照向协处理器发布的数据移动命令在物理域内或在物理域之间移动数据的数据传送机466。存储器接口416a-b将协处理器406a-b耦接到管理程序接口452和耦接到用户接口454,管理程序接口452和用户接口454都驻留于物理存储器418a-b中。协处理器406a-b中的数据传送机466通过存储器接口416a-b被耦接到物理存储器418a-b,并执行进出协处理器406a-b所耦接到的任何物理链路和物理存储器418a-b的数据传送,而不涉及节点中的处理器412a-b。管理程序接口图4B中描述的特定节点的管理程序接口452支持多线程软件管理程序460,多线程软件管理程序460是提供在节点中的主CPU上运行的操作系统(OS)和/或用户代码与协处理器之间的API接口,从而提供对协处理器的安全访问的特殊多线程驱动器。管理程序通过管理程序接口452向协处理器406a-b发布命令,并且包括命令队列462、用于协处理器406a-b的状态寄存器csr464和协处理器用来验证RKey以及查寻它们的关联物理地址的RKey表468,其中RKey是授予对远程节点(即,通过点对点链路连接到图4B中的节点的一个节点)的物理存储器的访问权限的证书。由于在不增加任何硬件的情况下,RKey表以及由此RKey的数目随着节点数而增大,因此集群的可扩展性只受节点之间的通信链路的带宽限制。命令队列462包含命令,每个命令均采取下面说明的协处理器控制块(CCB)的形式。在一个实施例中,命令队列462是循环队列(也称为环形缓冲器),包含最多16个条目。在一个实施例中,对于流式管道456,协处理器406a-b支持8个命令队列和1个优先队列。协处理器状态寄存器csr464提供用于配置协处理器406a-b和同步协处理器406a-b的信息。管理程序460可以访问内部协处理器状态寄存器csr464中的一个或多个,比如管理程序460用来使向协处理器406a-b的命令的发布同步的门铃寄存器,和在启动时配置协处理器406a-b以及读取错误日志和状态的状态寄存器。用户接口用户接口454支持用户代码区470,用户代码区470提供用于数据移动命令的一个或多个数据区472,和用于命令结果的完成数据结构474。完成数据结构474是由管理协处理器的管理程序分配的公共区。公共区的位置被传送给OS,并且为可以访问该公共区的所有软件可见。由协处理器406a-b使用以用于输入和输出数据的每个数据区472可由存在于物理域中的任意协处理器访问以用于数据传送,并且永久驻留(即免于被调页或交换到物理存储器之外)于存储器418a-b的物理相邻区域中。访问用于远程节点的输入和输出数据区需要RKey。在命令结束时,协处理器更新完成数据结构474,以与可以访问完成数据结构474的管理程序460再同步。完成数据结构474用于以下功能:用信号向用户通知完成、将命令返回值传送给用户、与用户建立流控制、用信号通知用户可见错误、记录用户可见命令统计信息。流式管道流式管道456是多线程的,并且执行将数据从一个存储器位置移动到另一个存储器位置的命令。源和/或目的地可以是非本地的,即,在远程节点中。流式管道还帮助其它远程流式管道移动数据。命令调度器在假定命令将被并行执行的情况下,命令调度器458为流式管道456的可用线程调度命令。在一个实施例中,串行化标记使两个命令被顺序执行。物理域图4A中的各个节点402、404在单独的物理域中工作,所述物理域是只有本地处理器和协处理器有权访问的隔离的不同地址空间。从而,使节点中的操作和地址空间与其它节点隔开。物理点对点链路408提供物理域之间的通信机构,使得集群能够作为一体化单元工作。图5描述节点之间的地址空间的模型。图5中包括两个示例的物理域PDOMl502和PDOM2504,不过物理域的数目和集群中的节点的数目相同。每个物理域502、504包括多个本地密钥(LKey)506、508、510,本地密钥是提供对在物理域本地的唯一物理地址空间的访问权限的密钥。本地密钥与物理域的物理地址空间的较大物理相邻部分关联,并被分配给在物理域本地的用户过程。在图5中,PDOM1具有本地密钥LKey1506、LKey2508、LKey3510。PDOM2504具有本地密钥LKey4512、LKey5514、LKey6516。远程密钥(RKey)与具有LKey的存储区域的窗口关联。每个LKey可包括一个或多个RKey以及关联的存储区域。RKey将远程访问权限从物理域中的一个给定的本地密钥授予远程物理域中的另一个本地密钥。受RKey保护的存储器的一部分的远程用户提供RKey,以访问存储器的所述部分。当收到RKey时,协处理器验证该密钥,并且如果验证成功,则继续进行所述命令。图5将PDOM1中的LKey1描述成包括RKey1520和RKey2522。LKey2508包括RKey3524,LKey3510包括RKey4526。在PDOM2504中,LKey4512包括RKey5528和RKey6530,而LKey5514包括RKey7534,而LKey6516包括RKey8536。图5另外描述了被PDOM1502中的RKey2522覆盖的区域和被PDOM2504中的RKey7534覆盖的区域之间的请求540。在一个实施例中,RKey包括以下数据项。RKey={Hash,Size,PA,SecretNo,Flags},其中Hash={Encrypt(Size,Flags,Address,SecretNo)};Encrypt可以是任意流行的快速加密模式;PA是与RKey关联的物理地址;Size是其中RKey有效的区域的大小;Address包含远程物理域中的物理地址;SecretNo是用来生成Hash的16个数之一;并且Flags指示存储区是可读、可写还是高速缓存更新。在一个实施例中,如在Size字段中指定的一样,RKey可覆盖小到1KB或者大至1TB的存储区域。密钥设置集群中的集中配置程序监督为集群的运转所需的所有源和目的地密钥的建立。在初始化时刻,集中配置程序向各个节点中的管理程序发送命令,所述命令指定LKey、驻留于LKey中的RKey、RKey覆盖的区域的大小以及指定可读、可写或者高速缓存更新的访问模式。当收到用户命令时,管理程序创建RKey,执行加密以创建散列,并在管理程序所工作的节点的物理存储器中填充RKey表。拥有包含特定RKey表的存储器的节点被称为表中的密钥的“归属节点”。“归属节点”通过网络将其RKey发送给其它节点,使得该节点能够参与数据传送。操作中,在其归属节点中的RKey表被归属节点中的协处理器用于验证接收的RKey以及将RKey转换成物理地址。在一个实施例中,利用命令rkey_create(lkey,off,len,ttl,mode)创建RKey,其中lkey是包含新创建的RKey的LKey,off是供转换用的RKey表内偏移量,len是新创建的区域的大小,ttl是存活时间参数,mode是读取或写入访问模式。存活时间参数ttl限制密钥的寿命,以增加安全性。在密钥到期之后,授予被RKey覆盖的区域的权限被取消,并且访问该同一区域需要新的密钥。不仅存活时间参数有助于维持安全性,RKey表本身也有助于维持安全性。具体地,为了使节点免于接收外部传送,节点可使它自己的RKey表无效。无效的表导致对具有这种表的节点的所有传送都验证失败。每个尝试的传送接收指示验证失败的否定确认。协处理器命令队列操作协处理器在物理地址空间中工作,使得发送给协处理器的任何命令只包含物理地址。对协处理器可见的所有数据结构驻留于相邻物理位置中,并被期望驻存于存储器中(即,不被换出或调页出)图6描述管理程序和协处理器之间的同步。当在步骤602,管理程序将命令写入命令队列时,管理程序写入协处理器“门铃”寄存器(协处理器状态寄存器之一)。在步骤604,对门铃寄存器(协处理器的引起注意设备)的写入递增指向命令队列的头部的指针,从而向协处理器通知在命令队列中存在新的命令。如果在门铃寄存器被写入时,命令队列为空,那么在步骤606,协处理器执行新命令。然而,在队列中存在多个命令的情况下,协处理器可按任何顺序执行命令,除非受串行化标记约束。优先队列中的命令通常是在非优先队列中的命令之前执行的。在协处理器执行命令之后,在步骤608,它更新完成区域,从而在步骤610,通知管理程序命令已完成,然后在步骤602,通知管理程序队列具有用于新命令的空位置。如果在步骤612判定门铃寄存器被再次写入,那么协处理器执行进行下一个命令,并在该命令完成时,在步骤608更新完成区域。当协处理器检测到命令队列为空时,协处理器停止,等待门铃寄存器被写入。外部请求仍然被处理。协处理器命令执行当协处理器收到来自管理程序的命令时,它与多线程管理程序中发出该命令的线程异步地执行该命令。如果管理程序发送多个命令,那么协处理器调度所述多个命令,以便轮询地执行所述多个命令。协处理器可并行地执行一些命令。图7描述本地节点和远程节点之间的命令操作。图7中,在步骤702,PDOM1中的协处理器接收并解码新的命令。在步骤704,协处理器在本地物理地址获得数据,并在步骤706,将数据连同RKey一起传送给PDOM2中的存储器。在步骤708,PDOM2中的协处理器利用密钥中的散列,验证RKey。如果验证成功,那么在步骤710,协处理器将RKey转换成其物理地址,并且在步骤712,将传送的数据写入与RKey关联的物理存储器。如果RKey验证不成功,那么在向请求者回送出错通知之后,丢弃该请求。在数据被写入之后,在步骤714,PDOM2中的协处理器向PDOM1中的协处理器回送确认,当收到所述确认时,在步骤716,PDOM1中的协处理器更新命令块中的完成状态,然后在步骤718,使环形缓冲器中的命令块退出队列。由于PDOM2中的协处理器(最终目的地)提供确认(否定或肯定确认),因此发送者PDOM(这种情况下,PDOM1)知道数据实际被传送到最终目的地。这意味如果PDOM2中的最终目的地是永久存储器,比如任何非易失性存储器,那么发送者根据来自PDOM2的肯定确认,知道数据驻留于该永久存储器中,而不是在缓冲器或高速缓存中等待被写入永久存储器。图8描述在请求来自发起者节点(即,和两个远程节点不同的节点)的情况下,两个远程节点之间的命令操作。在图8中,在步骤802,在源端点的PDOM1中的协处理器从发起者接收将数据从PDOM1传送给PDOM2中的目的地端点的命令。由于发起者既不是PDOM1,也不是PDOM2,所述请求指定从源RKey到目的地RKey的传送。当在步骤802收到源RKey时,在步骤804,源端点的协处理器利用密钥中的散列验证源RKey。该协处理器随后在步骤806访问本地密钥表,以获得密钥的关联物理地址,之后,该协处理器在步骤808获得请求的数据。协处理器随后在步骤810将获得的数据传送给发起者,发起者在步骤812将数据转发给PDOM2中的目的地端点,并在步骤814将目的地RKey与数据一起转发给PDOM2中的目的地端点。在步骤816,在PDOM2中的目的地端点的协处理器验证目的地RKey,如果成功,那么在步骤818,在PDOM2中查找密钥的关联物理地址。在步骤820,PDOM2接受数据,并将数据写入由RKey和命令指定的物理地址中。当所有数据被写入PDOM2中的物理存储器时,在步骤822,在PDOM2的目的地端点的协处理器向发起者回传确认,发起者在步骤824更新命令块中的完成状态,然后在步骤826使命令块从环形缓冲器退出队列。在目的地端点是永久地址空间,比如任何非易失性存储器的空间的情况下,该确认保证数据驻留于所述永久地址空间中。在备选实施例中,发起者将目的地RKey连同转发指令一起发送给PDOM1中的源端点。和图8的步骤804、806及808中一样,源端点依然验证源RKey,并利用验证的源RKey访问请求的数据。PDOM1中的源端点随后将数据连同源端点被指示来转发的目的地RKey一起,从源端点本身直接发送给PDOM2中的目的地端点。在这个实施例中,源接收来自目的地的确认,并将接收的确认转发给发起者。协处理器命令协处理器支持各种数据移动和维护命令。数据移动命令包括复制类、填充类、存储类、比较类和修改类命令。复制类命令将数据从源地址移动到目的地地址,或者将立即数据移动到目的地地址。如果源地址或目的地地址不在本地,那么RKey指定目的地地址。当该命令完成时,它在完成数据结构中公布结果。填充类命令采用立即数据值,并利用所述立即数据值填充起始于目的地地址的数据值。如果目的地地址不在本地,那么RKey指定目的地地址。存储类命令采用立即数据值,并将其存储在目的地地址中。如果目的地地址不在本地,那么RKey指定目的地地址。比较类命令采用比较值和交换值。该命令比较在目的地地址的内容和比较值。如果两者相等,那么该命令将交换值写入目的地内容中,并返回目的地的旧内容。如果目的地不在本地,那么RKey指定目的地地址。另一种比较命令采用立即值和比较值,并比较所述比较值和目的地内容。如果比较值严格更大,那么该命令用立即值更新目的地内容,并返回目的地的旧内容。如果目的地不在本地,那么RKey指定目的地地址。修改类命令采用立即值,并相加该值和目的地地址的内容,或者将该值与目的地地址的内容进行或运算,然后返回目的地的旧内容。如果目的地不在本地,那么RKey指定目的地地址。硬件概述按照一个实施例,这里说明的技术是利用一个或多个专用计算设备实现的。所述专用计算设备可被硬连线以实现所述技术,或者可包括被永久编程来实现所述技术的、比如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)的数字电子设备,或者可包括一个或多个通用硬件处理器,所述通用硬件处理器被编程来按照固件、存储器、其它存储器或它们的组合中的程序指令执行所述技术。这种专用计算设备还可结合定制的硬连线逻辑、ASIC或FPGA与定制的编程,以实现所述技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、联网设备、或者包含硬连线和/或程序逻辑来实现所述技术的任何其它设备。例如,图9是示出可在其上实现本发明的实施例的计算机系统900的框图。计算机900包括总线902或者用于传输信息的其它通信机构,以及与总线902耦接用于处理信息的硬件处理器904。例如,硬件处理器904可以是通用微处理器。计算机系统900还包括耦接到总线902用于存储信息和待由处理器904执行的指令的主存储器906,比如随机存取存储器(RAM)或其它动态存储设备。主存储器906也可用于在待由处理器904执行的指令的执行期间,存储临时变量或其它中间信息。当被存储在处理器904可访问的非瞬时存储介质中时,这样的指令使计算机系统900成为执行在指令中指定的操作而定制的专用机器。计算机系统900还包括耦接到总线902用于为处理器904存储静态信息和指令的只读存储器(ROM)908或其它静态存储设备。提供诸如磁盘或光盘的存储设备910,并将其耦接到总线902,用于存储信息和指令。计算机900可通过总线902耦接到显示器912,比如阴极射线管(CRT),用于向计算机用户显示信息。包括字母数字键和其它键的输入设备914被耦接到总线902,用于将信息和命令选择传输给处理器904。另一种用户输入设备是光标控制器916,比如鼠标、跟踪球或光标方向键,用于向处理器904传输方向信息和命令选择,以及用于控制显示器912上的光标移动。这种输入设备一般在两个轴,即第一轴(例如x)和第二轴(例如y)上具有使该设备可以指定平面中的位置的两个自由度。计算机系统900可利用下列设备来实现这里说明的技术:定制硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑,它们与计算机系统结合来使计算机系统900成为或者将计算机系统900编程为专用机器。按照一个实施例,响应处理器904执行包含在主存储器906中的一个或多个指令的一个或多个序列,计算机系统900执行这里的技术。这种指令可从比如存储设备910的另一个存储介质读入主存储器906。包含在主存储器906中的指令序列的执行使得处理器904执行这里说明的处理步骤。在备选实施例中,硬连线电路可以代替软件指令或者与其结合而被使用。这里使用的术语“存储介质”指的是存储使机器按具体方式工作的数据和/或指令的任何非瞬时介质。这种存储介质可包含非易失性介质和/或易失性介质。例如,非易失性介质包括光盘或磁盘,比如存储设备910。易失性介质包括动态存储器,比如主存储器906。例如,存储介质的常见形式包括软盘、硬盘、固态驱动器、磁带、或者任何其它磁数据存储介质、CD-ROM、任何其它光数据存储介质、具有各种孔图形的任何物理介质、RAM、PROM、以及EPROM、FLASH-EPROM、NVRAM、任何其它存储芯片或盒式磁带。存储介质不同于传输介质,但是可以和传输介质结合起来使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,包括构成总线902的导线。传输介质还可采取声波或光波的形式,比如在无线电波和红外数据通信期间生成的声波或光波。各种形式的介质可以参与将一个或多个指令的一个或多个序列输送给处理器904以用于执行。例如,指令最初可被载存于远程计算机的磁盘或固态驱动器上。远程计算机能够将指令加载到其动态存储器中,并且利用调制解调器通过电话线路发送所述指令。计算机系统900本地的调制解调器能够在电话线路上接收所述数据,并利用红外发射器将数据转换成红外信号。红外探测器能够接收携带在红外信号中的数据,适当的电路可将所述数据放置于总线902上。总线902将所述数据输送到主存储器906,处理器904从主存储器906检索并执行指令。主存储器906接收的指令可选择性地在由处理器904执行之前或之后,被存储于存储设备910上。计算机系统900还包括耦接到总线902的通信接口918。通信接口918提供耦接到网络链路920的双向数据通信,网络链路920连接到本地网络922。例如,通信接口918可以是综合业务数字网(ISDN)卡、线缆调制解调器、卫星调制解调器、或者用于提供到对应类型的电话线路的数据通信连接的调制解调器。再例如,通信接口918可以是提供到兼容LAN的数据通信连接的局域网(LAN)卡。也可实现无线链路。在任意这样的实现中,通信接口918发送和接收承载表示各种类型的信息的数字数据流的电信号、电磁信号或光信号。网络链路920一般通过一个或多个网络提供到其它数据设备的数据通信。例如,网络链路920可提供通过本地网络922提供到主机计算机924或者到由因特网服务提供商(ISP)926运营的数据设备的连接。ISP926又通过现在通常称为“因特网”928的全球分组数据通信网络来提供数据通信服务。本地网络922和因特网928两者都利用输送数字数据流的电信号、电磁信号或光信号。通过各种网络的信号,以及在网络链路920上并通过通信接口918的信号是传输介质的示例形式,该通信接口将数字数据送入和送出计算机系统900。计算机系统900可通过网络、网络链路920和通信接口918来发送消息和接收数据,包括程序代码。在因特网示例中,服务器930可通过因特网928、ISP926、本地网络922和通信接口918来传送应用程序的请求代码。接收的代码可在被接收时由处理器904执行,和/或被存储于存储设备910或者其它非易失性存储器中,供以后执行。在上面的说明书中,已经参考可因实现而异的众多具体细节,说明了本发明的实施例。因此,说明书和附图应被认为是说明性的,而不是限制性的。本发明的范围的独有指标以及本申请人想要其成为本发明的范围的内容,是本申请按照此类权利要求书发布的具体形式来发布的权利要求书的字面及等效范围,包括任何后续更正。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1