首页> 中国专利> 分组交换的片上互连网络中的快速虚拟通道

分组交换的片上互连网络中的快速虚拟通道

摘要

本申请涉及“分组交换的片上互连网络中的快速虚拟通道”。公开了用于在芯片上部件网络中使用快速虚拟通道的方法、路由器节点和指令集。输入链路302可以经由快速虚拟通道110从分组交换网络中的源节点102接收快速流控制单元。输出链路306可以把快速流控制单元发送到汇节点106。交换机分配器322可以把快速流控制单元直接转发到输出链路306。

著录项

  • 公开/公告号CN103501285A

    专利类型发明专利

  • 公开/公告日2014-01-08

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201310460325.3

  • 发明设计人 A.库马;P.P.孔杜;

    申请日2009-03-31

  • 分类号H04L29/02;H04L29/08;H04L12/931;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人朱海煜

  • 地址 美国加利福尼亚州

  • 入库时间 2024-02-19 21:18:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-07-22

    授权

    授权

  • 2014-02-12

    实质审查的生效 IPC(主分类):H04L29/02 申请日:20090331

    实质审查的生效

  • 2014-01-08

    公开

    公开

说明书

本分案申请的母案申请日为2009年3月31日、申请号为 200980110393.9、发明名称为“分组交换的片上互连网络中的快速虚拟 通道”。

技术领域

本发明一般涉及单芯片多处理器(chipmulti-processor)上的部件 之间的通信的领域。本发明还具体地涉及在单芯片多处理器上的部件 之间创建快速(express)虚拟通信通道。

背景技术

单芯片多处理器(CMP)或专用片上系统(ASOC)可能具有需 要彼此通信的若干部件。这些部件可以是诸如处理器、高速缓存、数 据寄存器或其他芯片部件之类的零件。芯片部件可以使用总线系统或 专用布线系统进行通信。这些系统中的每一个可能要求大量的布线, 其可能用尽芯片上的宝贵空间并且在信号之间产生干扰。

这些部件可以通过使用分组交换系统来以空间更高效的方式进 行通信。分组交换系统可以通过在部件之间传送数据分组来起作用, 从而减小任意两个部件之间的布线量。

发明内容

根据本发明的实施例,提供了一种在片上网络中提供快速虚拟通 道的方法,所述方法包括:

经由快速虚拟通道从源节点接收快速流控制单元;以及

基于资源缺乏计数器的值与资源缺乏阈值的比较,把快速流控制 单元直接转发到输出链路以发送到汇节点;

其中,每次去往作为快速流控制单元的相同输出端口的正常流控 制单元被缓冲时,将更新所述资源缺乏计数器,其中,基于确定快速 流控制单元正在快速虚拟通道上运行,相对于其它非快速流控制单 元,快速流控制单元被给予优先选择。

根据本发明的实施例,提供了一种在片上网络中提供快速虚拟通 道的设备,所述设备包括:

经由快速虚拟通道从源节点接收快速流控制单元的输入链路;

基于资源缺乏计数器的值与资源缺乏阈值的比较,把快速流控制 单元发送到汇节点的输出链路,其中,每次去往作为快速流控制单元 的相同输出端口的正常流控制单元被缓冲时,将更新所述资源缺乏计 数器;以及

将快速流控制单元直接转发到输出链路的交换机分配器,其中, 基于确定快速流控制单元正在快速虚拟通道上运行,相对于其它非快 速流控制单元,快速流控制单元被给予优先选择。

根据本发明的实施例,还提供了一种包含代码的机器可读介质和 一种设备。

附图说明

要理解这些附图仅描绘了本发明的典型实施例,而因此不被视为 对其范围的限制,将通过使用附图另外详细且具体地描述和解释本发 明,在附图中:

图1以框图示出单芯片多处理器部件数据分组传输的一个实施 例。

图2作为二维网状网络示出芯片上的部件网络的一个实施例。

图3以框图示出实施快速虚拟通道的路由器节点微架构的一个实 施例。

图4作为二维网状网络示出芯片上的动态快速虚拟通道部件网络 的一个实施例。

图5作为框图示出芯片上的路由灵活(route-flexible)的动态快 速虚拟通道部件网络的一个实施例。

图6以流程图示出路由器节点处理来自虚拟通道的数据分组的方 法的一个实施例。

图7以网状网络示出快速虚拟通道网络中的资源缺乏(starvation) 事件的一个实施例。

图8以时间线示出正常虚拟通道基于信用(credit)的缓冲器管理 系统的一个实施例。

图9以时间线示出快速虚拟通道基于信用的缓冲器管理系统的一 个实施例。

图10以框图示出静态缓冲器管理系统的缓冲器计数的一个实施 例。

图11以框图示出动态共享的缓冲器管理系统的缓冲器计数的一 个实施例。

图12以框图示出可获得的进出给定节点的路径的组合的一个实 施例。

图13以框图示出虚拟通道的静态分区的一个实施例。

图14以框图示出可以充当路由器节点的计算机系统的一个实施 例。

具体实施方式

本发明的附加特征和优点将在以下的说明书中进行阐述,并且部 分地将从说明书中显而易见,或者可以通过实践本发明而获悉。本发 明的特征和优点可以借助于在所附权利要求书中具体指出的工具和 组合来实现和获得。本发明的这些及其他特征将从以下的说明书和所 附的权利要求书中变得更彻底地清楚,或者可以通过实践如本文所阐 述的发明而获悉。

下面详细讨论本发明的各个实施例。虽然讨论了具体的实施方 式,但是应当理解这样做仅仅是为了说明目的。相关领域的技术人员 将意识到在不偏离本发明的精神和范围的情况下可以使用其他部件 和配置。

本发明包括诸如方法、设备和计算机指令集之类的各种各样的实 施例、以及与本发明的基本概念有关的其他实施例。公开了用于在芯 片上的部件网络中使用快速虚拟通道的方法、路由器节点和指令集。 输入链路可以经由快速虚拟通道从分组交换网络中的源节点接收快 速流控制单元(express flow control unit)。输出链路可以把快速流控 制单元发送到汇节点。交换机分配器可以把快速流控制单元直接转发 到输出链路。

单芯片多处理器(CMP)或专用芯片上系统(ASOC)可能具有 许多需要彼此通信的部件。这些部件可以使用分组交换来传送数据而 不使用过量的芯片空间。图1以框图示出单芯片多处理器部件数据传 输100的一个实施例。充当源节点102的部件可以把数据集组织成数 据分组。数据分组可以被分成一个或多个流控制单元(FLIT)。源节 点102可以把每个FLIT传输到最近可用的部件。充当路由器节点104 的接收部件可以把数据传输到下一个最近可用的部件,直到到达充当 汇节点106的部件为止。FLIT从源节点102到汇节点106所遵循的路 径可以被组织成虚拟通道。在正常虚拟通道(NVC)108中,源节点 102可以把FLIT传输到路由器节点104,该路由器节点104可以缓冲 FLIT、组织该FLIT以及其他经历该管线的FLIT、然后把它们发送到 输出链路以将其发送到下一个路由器节点104或汇节点106。

快速虚拟通道(EVC)110可以通过接近专用链路的等待时间和 能量而用来缩短封包化的片上网络和理想互连结构之间的性能和能 量差距。EVC110可以允许FLIT沿节点对之间的预定义路径绕过中 间路由器节点104。与其他FLIT相比,可以给予在EVC110上行进 的FLIT优待,从而使得它们直接使用输出链路而不用进行缓冲,且 不必通过每个路由器节点104处的路由器管线。EVC110可以以类似 于电路交换的方式促进流在网络中的创建而不涉及任何电路建立阶 段,从而显著地减少分组传输等待时间。此外,通过允许FLIT实际 上绕过中间路由器节点104,EVC110可以减小缓冲量、路由器交换 活动和每跳资源竞争,从而增加能量和面积效率。

图2作为二维网状网络示出静态EVC分组交换网络200的一个 实施例。虽然引用分组交换芯片多处理器网络,但是EVC110可以用 于任何分组交换网络。请注意,对本发明而言,网状网络的大小和二 维性质是说明性的而决不是限定性的。每个节点202可以充当源节点 102、路由器节点104或汇节点106。网络200中的每个节点202可以 通过NVC108而连接到相邻节点202。而且,节点202可以通过EVC 110而连接到非相邻节点,从而允许FLIT沿预定义路径穿过多个中间 节点或路由器节点104,而不用在任何路由器节点104处停止或缓冲。 例如,从节点B行进到节点G的FLIT可以采取从节点B到节点D的 规则NVC路径108并且然后采取从节点D到节点G的EVC110或链 路。EVC110可以消除通过诸如节点E和F之类的路由器节点104的 等待时间,并且通过消除路由器节点104上的所有缓冲操作来节约功 率。在静态EVC网络中,具体的源节点102和汇节点106可以通过 EVC110连接。虽然在本示例中使用四个节点的静态EVC110,但是 根据选择也可以使用更大或更小长度的静态EVC110。

路由器可以实施在虚拟通道流控制之上的快速链路。路由器可以 指定虚拟通道,该虚拟通道可以仅由在快速路径上行进的数据分组预 订。图3以框图示出实施EVC110的路由器节点微架构300的一个实 施例。路由器节点104可以经由输入链路302上的虚拟通道接收FLIT, 并且把FLIT引导至流控制模块304。用于流控制的虚拟通道可以被布 置为NVC108和EVC110。流控制模块304可以使用虚拟通道来确定 FLIT优先级以选择哪个FLIT转发到由纵横式交换机308所选择的输 出链路306。

路由计算逻辑模块310可以在每个路由器节点104处计算路由计 算或数据分组在源节点102和汇节点106之间行进的路径。路由计算 逻辑模块310可以负责验证数据分组是否可以被放置在EVC110上。 另外,路由计算逻辑模块310可以执行所有数据分组的先行 (look-ahead)路由,以便一旦数据分组到达节点或EVC路径110端 点,在路由器管线的关键路径中就不需要路由计算。路由计算不必以 任何方式影响所用的基本路由算法。EVC分配器312可以给打算使用 快速通路来在节点对之间行进的数据分组分配EVC110,而NVC分 配器314可以给打算行进到邻近节点的另一个数据分组分配NVC 108。

流控制模块304可以经由EVC输入缓冲器(EVC BUF)316从 EVC110或者经由NVC输入缓冲器(NVC BUF)318从NVC108接 收FLIT。当FLIT通过其快速路径110上的任何路由器节点104时, EVC锁存器320可以实行(stage)FLIT。通过EVC锁存器320行进 的FLIT可以优先于(pre-empt)相同输出端口306上的任何其他数据 分组流。EVC锁存器320可以中断两个节点之间正在进行的数据分组 传输而免于被源节点102发送,诸如较低优先级EVC流。

交换机分配器322可能喜欢EVC流110胜过NVC流108。交换 机分配器322可以中断源节点102处具有较少跳的FLIT的EVC流 110,以便具有更多跳的FLIT的EVC流110可以使用该路由器节点 104。交换机分配器322可以中断较近源节点102处的FLIT的EVC 流110,以便来自更远源节点102的FLIT的EVC流110可以使用该 路由器节点104。

网络200可以被静态地划分成EVC110和NVC108,或者可以具 有更多动态创建的虚拟通道。图4作为二维网状网络示出动态EVC 分组交换网络400的一个实施例。在动态EVC分组交换网络400中, 节点202之间的任何跳集可以被指定为动态EVC402。EVC路径402 的长度可以在由部件网络约束确定的最大EVC长度内针对给定数据 路径的路径来根据需要定制大小。例如,在静态EVC网络200中, 源节点102可以经由单跳NVC路径108从节点B遍历到节点C并从 节点C遍历到节点D,并且经由静态分配的EVC路径110从节点D 遍历到节点G。在允许最大三跳EVC路径402的动态网络中,源节 点102可以把FLIT从节点B直接发送到节点E,然后可以使用两跳 长度的子集EVC路径402而去往节点G,诸如此类。

图5作为框图示出芯片500上的路由灵活的动态EVC部件网络 的一个实施例。有时,数据路径可能由于资源约束而不能使用最优 EVC路径502,诸如最长的EVC路径502。在这种情况下,源节点 102可以经由具有可用资源的可选EVC路径504(诸如下一个较短 EVC路径504)发送FLIT。例如,对于源节点A102把FLIT发送到 汇节点G106的最高效的数据路径可以是把FLIT沿第一最优EVC路 径502从源节点A102直接发送到节点D,然后沿第二最优EVC路径 502从路由器节点D104发送到汇节点G106。然而,最高效的数据 路径可能没有可用的资源。源节点A102可以沿可选路径504把FLIT 发送到汇节点。源节点A102可以沿可选EVC路径504把FLIT发送 到路由器节点C104,然后从路由器节点C104发送到路由器节点E 104,并然后从路由器节点E104发送到汇节点G106。EVC分配器 212可以通过考虑数据分组的路由信息来确定最佳路径。

图6以流程图示出路由器节点处理来自虚拟通道的FLIT的方法 600的一个实施例。路由器节点104可以经由虚拟通道(VC)接收 FLIT(块602)。如果FLIT是正常FLIT(NF)(块604),则路由 器节点104可以把NF存储在输入缓冲器中(块606)并且然后处理 NF(块608)。NF可以是路由器节点104是源节点102的FLIT、从 NVC108上的邻近节点到达路由器节点104的FLIT、或者路由器节 点104是EVC110的终点但不是汇节点106的FLIT。输入端口可以 是NVC输入缓冲器318(如果到达NVC108的话)或者是EVC输入 缓冲器316(如果到达EVC110的话)。路由器节点104可以把处理 的NF转发到输出链路306(块610)。如果FLIT是快速FLIT(EF) 110(块604),则路由器节点104可以把EF转发到输出链路306(块 612)。快速FLIT可以是由在EVC110中部的路由器节点104接收的 FLIT。

在为具体的消息流预留带宽的任何网络中,当在预先建立的电路 上行进的消息阻挡其他消息时可能出现资源缺乏。图7以网状网络示 出EVC网络中的资源缺乏事件700的一个实施例。给予EF702的较 高优先级可能导致资源缺乏情形704。更具体地,如果沿EVC702路 径的路由器节点D104总是具有即将到来的EF要服务,则在路由器 节点D104处局部缓冲的NF可能从未得到使用物理通道的机会。来 自更上游的快速数据分组也可以使源自下游路由器的不同EVC110 上的快速数据分组连续资源缺乏。

为对此进行补救,每个路由器节点104可以保存该路由器节点104 已服务了具体EVC路径110的连续循环的数量的计数。在给快速FLIT 服务了阈值数量的连续循环之后,路由器节点104可以把诸如“开始 资源缺乏补救(Begin Starvation Remediation)”消息或“资源缺乏开 (Starvation On)”令牌之类的资源缺乏消息沿信用通道向上游发送 到EVC源节点A102。在接收到这个令牌后,源节点A102可以停止 在对应的链路上发送EF,以允许服务局部资源缺乏的FLIT。在这样 做设定数量的循环后,路由器节点D104可以发送“结束资源缺乏补 救(End Starvation Remediation)”消息或“资源缺乏关(Starvation Off)” 令牌到EVC源节点A102,以信号通知可以恢复EVC通信。

如图6中所示,对于EF,如果去往相同输出端口306的NF被缓 冲(块614),则路由器节点104可以递增资源缺乏计数(SCT)(块 616)。路由器节点104可以检查SCT以查看其是否达到了资源缺乏 阈值(STHR)(块618)。如果SCT达到了STHR(块618),则路 由器节点104可以把“开始资源缺乏补救”消息(BSRM)向上游发 送到所有EVC源节点102(块620)。在允许所有适当的上游节点接 收BRSM的一段时间之后,路由器节点104可以进入资源缺乏补救模 式,在资源缺乏补救模式期间,路由器节点不接收EF。虽然路由器节 点104处于资源缺乏补救模式,但是EVC源节点102可以暂停EF的 传输、重新路由EF、或者采取其他补偿动作。路由器节点104可以把 资源缺乏补救周期计数器(SRP)设定为零(块622)。

对于NF,如果路由器节点104不处于资源缺乏补救模式(块624), 则路由器节点104可以把SCT复位为零(块626)。如果路由器节点 104处于资源缺乏补救模式(块624),则一旦NF已经被成功地路由 到输出端口306,路由器节点104就可以递增SRP(块628)。一旦 资源缺乏补救周期结束(块630),路由器节点104就可以把“结束 资源缺乏补救”消息(ESRM)发送到所有上游EVC源节点102,以 信号通知路由器节点104再次接收EF(块632)。

芯片上部件网络可以使用缓冲流控制技术来管理缓冲器,并且在 相邻的路由器节点104之间传送其可用性。下游节点可以通过背压把 可用的自由缓冲器数量传送到上游节点。基于信用的缓冲器管理可以 使用上游路由器来保存下游可用的自由缓冲器数量的计数。每当发出 FLIT就可以使计数递减,从而消耗下游缓冲器。当FLIT离开下游节 点并且释放其相关缓冲器时,可以向上游发回信用并且可以递增对应 的自由缓冲器计数。

部件网络可以使用简单的缓冲器管理方案来给每个虚拟通道静 态地分配等于该虚拟通道的信用往返延迟的缓冲。图8以时间线示出 NVC108基于信用的缓冲器管理系统800的一个实施例。在时间t1, 当节点B发送FLIT到下一个节点(箭头802)时,节点B可以在t1和t2之间发送信用到节点A(箭头804)。节点A可以在t2和t3之间 处理信用(箭头806)。节点A可以发送信用到先前节点(箭头804) 同时在t3和t4之间发送FLIT到节点B(箭头802)。节点B可以从 t4到t5处理非快速管线中的FLIT(箭头808)。因而,从t1到t5可以 得到信用往返延迟(TCRN)。

当使用EVC110时,缓冲器可用性的传送可以跨越若干跳来完 成,以确保在下游EVC汇节点106处的自由缓冲器。缓冲器可用性 的多跳传送可能导致较长的缓冲周转时间,对通过量有不良影响。图 9以时间线示出EVC110基于信用的缓冲器管理系统900的一个实施 例。在时间t1,当节点D发送FLIT到下一个节点(箭头902)时, 节点D可以在t1和t2之间发送信用到节点A(箭头904)。节点A可 以在t2和t3之间处理信用(箭头906)。节点A可以发送信用到先前 节点(箭头904)同时在t3和t4之间发送FLIT到节点B(箭头902)。 节点B可以从t4到t5把FLIT转发到作为部分快速管线的输出链路(箭 头908)。节点B可以在t5和t6之间发送FLIT到节点C(箭头902)。 节点C可以从t6到t7把FLIT转发到作为部分快速管线的输出链路(箭 头908)。节点C可以在t7和t8之间发送FLIT到节点D(箭头902)。 节点C可以从t8到t9处理非快速管线中的FLIT(箭头910)。因而, 从t1到t9可以得到信用往返延迟(TCRE)。

缓冲器管理系统可以静态地组织缓冲器。图10以框图示出静态 缓冲器管理系统1000的缓冲器计数的一个实施例。缓冲器的静态数 量可以被分派给每个虚拟通道,被保留用于到达每个虚拟通道的 FLIT。NVC缓冲器集1002可以被保留用于每个NVC108并且EVC 缓冲器集1004可以被保留用于每个EVC110。当设定该集中缓冲器 的数量时,每个EVC缓冲器集1004的大小可以把TCRE考虑在内。

静态缓冲器管理可能在对立业务的情况下在分配缓冲器方面效 率低。例如,如果大多数网络业务只有近邻,则EVC110也许从未被 使用,并且静态分派给EVC110的缓冲器空间也许变得闲置。代替把 缓冲器静态地分区成VC(诸如NVC108和EVC110)的是,缓冲器 可以按需被分派给VC。当缓冲器变得可用时,向上游节点信号通知 EVC的存在的高水位线(high-water mark)方案可以优先考虑短跳EVC 402或NVC108而不是长跳。例如,如果两跳EVC402要求至少八个 缓冲器可用,则当在下游路由器处的缓冲器计数等于八时,下游路由 器可以给上游路由器信号通知离开两个节点(two nodes away)的EVC 402可用。可以允许缓冲器自由浮动跨越VC,以致VC可能只有一个 FLIT。

图11以框图示出动态共享的缓冲器管理系统1100的缓冲器计数 的一个实施例。缓冲器计数1102可以表示可用的或自由的缓冲器的 数量。如果缓冲器计数1102指示可用缓冲器的数量等于NVC阈值数 量1104、或者为操作NVC108所需的缓冲器数量,则节点可以使用 NVC108。如果缓冲器计数1102指示可用缓冲器的数量等于EVC阈 值数量1106、或者为操作EVC402所需的缓冲器数量,则节点可以 使用EVC402。EVC阈值1106可以与EVC路径402的长度有关。

为了实现灵活的缓冲,下游路由器可能必须向上游路由器发送适 当的信号。图12以框图示出可获得的进出给定节点的路径1200的组 合的一个实施例。虽然示出八节点网络,但是可以使用其他大小的网 络。

VC可以被静态地分区。图13以框图示出虚拟通道的静态分区 1300的一个实施例。VC的总数1302或分组状态跟踪器(packet state  tracker)可以在NVC108和不同长度的EVC402两者之间进行划分。 这种划分可以在设计时完成。对于具有EVC长度高达IMAX的能力的 部件网络而言,总计(k×IMAX)的虚拟通道集可以被供应。部件网络 可以给NVC108分派k1个虚拟通道1302,给长度为二的EVC402 分派k2个虚拟通道,给长度为三的EVC402分派k3个虚拟通道,诸 如此类。

图14示出用于充当分组交换网络中的路由器节点104的计算系 统1400的可能配置。路由器节点104可以包括通过总线1440连接的 控制器/处理器1410、存储器1420、网络接口1430。路由器节点104 可以实施任何操作系统,例如诸如MicrosoftUNIX或 LINUX。客户端和服务器软件可以以任何编程语言来编写,例如诸如 C、C++、Java或VisualBasic。服务器软件可以运行在应用程序框架 上,例如诸如服务器或.框架。

控制器/处理器1410可以是为本领域技术人员所已知的任何编程 处理器。然而,决策支持方法也可以在通用或专用计算机、编程微处 理器或微控制器、外围集成电路元件、专用集成电路或其他集成电路、 硬件/电子逻辑电路,诸如分立元件电路、可编程逻辑器件(诸如可编 程逻辑阵列、现场可编程门阵列等等)上实施。一般而言,能够实施 如本文所描述的EVC路由方法的任一装置或多个装置可以用来实施 本发明的决策支持系统功能。

存储器1420可以包括易失性和非易失性数据储存器,包括一个 或多个电、磁或光存储器,诸如随机存取存储器(RAM)、高速缓存、 硬驱或其他存储器装置。存储器可以具有高速缓存以加速对特定数据 的访问。存储器1420也可以连接到致密盘只读驱动器(CD-ROM)、 数字多功能光盘只读存储器(DVD-ROM)、DVD读写输入、磁带驱 动或者允许直接加载数据到系统中的其他可移动存储器装置。

网络连接接口1430可以连接到通信装置、调制解调器、网络接 口卡、收发器或者任何其他能够从网络发射和接收信号的装置。网络 连接接口1430可以用来把路由器节点104连接到网络。路由器节点 104的部件可以例如经由电总线1440连接或者被以无线方式链接。

客户端软件和数据库可以被控制器/处理器1410从存储器1420进 行访问,并且例如可以包括数据库应用、字处理应用以及体现本发明 的决策支持功能的部件。路由器节点104可以实施任何操作系统,例 如诸如MicrosoftUNIX或LINUX。客户端和服务器软件 可以以任何编程语言来编写,例如诸如C、C++、Java或Visual Basic。 尽管不要求,但是在诸如程序模块之类的计算机可执行指令的一般背 景下,至少部分地描述本发明,所述计算机可执行指令由诸如通用计 算机之类的电子装置执行。一般而言,程序模块包括执行特定任务或 实施特定抽象数据类型的例程程序、对象、部件、数据结构等等。此 外,本领域的技术人员将明白,本发明的其他实施例可以在具有许多 类型的计算机系统配置的网络计算环境中加以实施,包括个人计算 机、手持式装置、多处理器系统、基于微处理器的或可编程消费者电 子器件、网络PC、小型计算机、大型计算机、等等。

尽管不要求,但是在诸如程序模块之类的计算机可执行指令的一 般背景下至少部分地描述本发明,所述计算机可执行指令由诸如通用 计算机之类的电子装置执行。一般而言,程序模块包括执行特定任务 或实施特定抽象数据类型的例程程序、对象、部件、数据结构等等。 此外,本领域的技术人员将明白,本发明的其他实施例可以在具有许 多类型的计算机系统配置的网络计算环境中加以实施,包括个人计算 机、手持式装置、多处理器系统、基于微处理器的或可编程消费者电 子器件、网络PC、小型计算机、大型计算机、等等。

实施例也可以在分布式计算环境中加以实施,其中任务由通过通 信网络(由硬布线链路、无线链路或由其组合)链接的本地和远程处 理装置执行。

本发明范围内的实施例也可以包括用于承载计算机可执行指令 或数据结构或者在其上存储计算机可执行指令或数据结构的计算机 可读介质。这样的计算机可读介质可以是任何可用介质,所述介质可 以由通用或专用计算机访问。作为示例而非限制,这样的计算机可读 介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘储存器、 磁盘储存器或其他磁储存器装置、或者任何其他可以用来以计算机可 执行指令或数据结构的形式承载或存储期望的程序代码构件的介质。 当信息通过网络或另一通信连接(硬布线的、无线的或其组合)而被 转移或提供到计算机时,计算机把该连接恰当地视为计算机可读介 质。因而,任何这样的连接被恰当地称作计算机可读介质。上面的组 合也应当被包括在计算机可读介质的范围内。

计算机可执行指令包括例如使通用计算机、专用计算机或专用处 理装置执行特定功能或功能组的指令和数据。计算机可执行指令也包 括由独立或网络环境中的计算机执行的程序模块。一般而言,程序模 块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、 组件和数据结构等等。计算机可执行指令、相关数据结构以及程序模 块代表用于执行本文公开的方法的步骤的程序代码构件的示例。这样 的可执行指令或相关数据结构的特定序列代表用于实施在此类步骤 中描述的功能的对应动作的示例。

尽管上面的描述可以包含特定细节,但是它们不应当被解释为以 任何方式限制本发明。本发明的所描述实施例的其他配置是本发明的 范围的一部分。例如,本发明的原理可以应用于每个单独用户,其中 每个用户可以单独部署这样的系统。即使大量可能应用中的任何一个 不需要本文描述的功能,这也使得每个用户能够利用本发明的益处。 电子装置的多个实例中的每一个可以以各种可能的方式处理内容。不 必需要所有终端用户都使用一个系统。因此,所附的权利要求书及其 法律等效物应当唯一地限定本发明,而不是由所给出的任何特定实例 来限定本发明。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号