一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

3D数据处理单元中的空间分布的制作方法

2023-10-21 18:02:42 来源:中国专利 TAG:

3d数据处理单元中的空间分布
技术领域
1.本公开的示例整体涉及包括彼此通信的多个堆叠层的3d网络接口卡(nic)。


背景技术:

2.云基础架构已经加速增长以满足对云中托管的服务的不断增长的需求。为了释放服务器cpu以集中于运行客户的应用程序,已经越来越需要将计算、网络和存储功能件卸载到加速器。这些加速器是云的超融合基础架构(hci)的一部分,从而向云供应商提供更简单的方式来管理单个客户或多个客户的各种以计算为中心、以网络为中心和以存储为中心的工作负荷。许多云运营商使用smartnic来帮助处理这些工作负荷。通常,smartnic是这样的nic,其包括可以执行网络流量处理并加速和卸载其他功能件的处理单元,如果使用标准或“简单”nic,则该其他功能件将由主机cpu执行。smartnic擅长将多个卸载加速功能件融合在一个部件中,足以适于加速新功能或支持新协议,并且还向云供应商提供针对多个云租户(例如,客户)同时使用hci的情况来管理虚拟化和安全的方式。术语数据处理单元(dpu)也用来代替smartnic,以描述针对虚拟化、安全、联网、计算和存储或它们的子集的处理、加速和卸载功能件的集合。3d dpu可以具有各种类型的形状因数,诸如外围卡、ocp加速器模块或直接安装在具有其他组件/加速器/存储器的母板上。
3.smartnic适于通过对在其生命周期内创建的新功能和新协议的卸载加速来快速改变工作负荷。smartnic(例如,pcie卡)通常被插入到云中的服务器或存储节点,从而连接到架顶(tor)网络交换机,然后连接到该云的其余部分。这些部件以数百万单元的超规模部署也使得功率消耗成为smartnic的关键指标。可适应智能和低功率消耗的组合使得可编程逻辑和硬化加速的组合特别适合作为smartnic设备。
4.即使smartnic的超融合性质意味着它们可以在一个部件中执行计算、联网和存储功能件,但当前的smartnic在两个维度上空间地分散这些功能件,将这些功能件分散在封装中的多个小芯片上或者分散在大的单片芯片上。换句话说,执行原本将必须由服务器中的cpu执行的工作负荷的数据处理单元被布置在2d平面上,其为安装在同一基板(例如,印刷电路板)上的小芯片或者为在同一芯片中形成的不同处理单元。这严重限制了这些smartnic满足未来带宽需求的可扩展性。
5.此外,smartnic处理的性质不仅要求移动网络流,还要求移动与那些流相关联的大量元数据。元数据可以包含针对smartnic中的处理或加速流水线的当前级的一组动作动词或命令,并且也可以包含用于加速流水线的下一级进行解释/执行的动作动词或用作其参考。在多租户环境中,其中由smartnic向主机中的多个租户提供相同的服务或者向相同的租户提供多个网络、计算或存储功能件,元数据也可以携带关于租户的身份、其服务级别协议(sla)和/或服务类型或租户期望的加速功能件的信息。随着卸载加速器功能件的数量的增加,元数据的量或元数据的类型也增加。由于这些属性,相对于正在处理或移动的数据的量,元数据通常是显著的开销。此外,在处理特定租户的流量时或者在确定针对该数据的下一功能件或处理步骤时,smartnic处理也需要对数据进行临时缓冲,并且在一些情况下,
对一些或全部元数据进行临时缓冲。即,由于当前技术的空间分布性质,在租户的流量迁移通过该流水线的各个级时,存在对数据和元数据的重复缓冲。随着链路带宽的量的增加,重复缓冲的量也增加,从而导致对用于空间地分布数据移动的资源的低效使用。


技术实现要素:

6.本文所述的一个实施方案是一种nic,该nic包括:多个层,该多个层以堆叠方式布置且彼此通信地耦接;多个加速器功能件,该多个加速器功能件在该多个层中;以及定序器,该定序器设置在该多个层中的一个层中,其中该定序器被配置为:在该多个加速器功能件中的不同加速器功能件之间协调在该nic处接收的流量流,以形成流水线。
7.本文所述的另一实施方案是3d数据处理单元,该3d数据处理单元包括:多个层,该多个层以堆叠方式布置且彼此通信地耦接;多个加速器功能件,该多个加速器功能件在该多个层中;以及定序器,该定序器设置在该多个层中的一个层中,其中该定序器被配置为:在该多个加速器功能件中的不同加速器功能件之间协调在该3d数据处理单元处接收的流量流,以形成流水线。
8.本文所述的另一实施方案是包括多个nic的系统,每个nic包括;多个层,该多个层以堆叠方式布置并且彼此通信地耦接;以及多个加速器功能件,该多个加速器功能件在该多个层中。系统也包括多个加速器卡和将多个nic通信地耦接到该多个加速器卡的交换机,其中该多个nic、该多个加速器卡和该交换机设置在同一盒中。
附图说明
9.为了能够详细理解上述特征的方式,可以通过参考示例性具体实施来获得上文简要概括的更具体的描述,其中一些示例性具体实施在附图中示出。然而,应当注意,附图仅示出了典型的示例性具体实施并且因此不应被视为限制其范围。
10.图1示出了根据示例的具有3d smartnic的计算系统。
11.图2示出了根据示例的3d smartnic中的多个层。
12.图3示出了根据示例的具有架构层的3d smartnic。
13.图4示出了根据示例的在中间层中具有密码引擎的3d smartnic。
14.图5示出了根据示例的定序器。
15.图6是根据示例的包含smartnic的i/o扩展盒的框图。
16.为了方便理解,在可能的情况下,使用相同的附图标号来表示附图中共有的相同元件。设想一个示例的元件可有利地并入其他示例中。
具体实施方式
17.下文中参考附图描述各种特征。应当注意,附图可以按比例绘制也可以不按比例绘制,并且类似结构或功能的元件在所有附图中由相似的附图标号表示。应当注意,附图仅旨在便于对特征的描述。它们并不旨在作为对本说明书的详尽描述也不旨在作为对权利要求的范围的限制。另外,所例示的示例不必具有所示出的所有方面或优点。结合特定示例描述的方面或优点不一定限于该示例,并且即使未被如此示出或未被如此明确描述也可在任何其他示例中得以实践。
18.本文中,实施方案描述了使用多个层将计算、存储或网络加速器功能件空间地分布在三个维度中的3d smartnic。即,与可以在2d平面中执行加速功能件的当前smartnic(例如,使用设置在普通基板上的小芯片或集成到同一单片芯片中的处理单元)不同,3d smartnic可以跨堆叠层分布这些功能件,其中每个层可以直接或间接地与其他层通信。例如,主机可以发送网络流,该网络流包括在由3d smartnic中的多个加速器功能件形成的流水线中执行的数据(例如,分组)。例如,网络流可以首先由第一层中的功能件a处理,然后由第二层中的功能件b和功能c件处理,并且然后由第三层中的功能件d处理。因为这些流水线功能件之间的延迟可以影响3d smartnic的总吞吐量,所以相对于所有加速器功能件由同一平面上的硬件执行的smartnic,使用多个层可以改善流水线中的不同级(即,加速器功能件)之间的物理和逻辑耦接。即,由于使用多个层,功能件a-d的物理和逻辑接近度可能在3d smartnic中比在2d smartnic中小。另外,相对于2d smartnic,3d nic可以减少与这些功能件之间的数据移动相关联的延迟以及重复次数。
19.由于3d smartnic的紧密耦接和active-on-active(aoa)层,对数据和元数据的处理和移动遍历更小的物理距离,并且以比现有技术可用的带宽多几个数量级的带宽遍历路径。此外,在一个实施方案中,在分组缓冲器中以通用/集中方式进行对数据的临时缓冲,从而减少重复缓冲的量并且导致对用于针对移动通过网络、存储或计算流水线加速的各个级的租户流量的空间分布数据移动的资源的有效使用。在另一实施方案中,基于加速器使用的顺序、网络的物理位置、存储的物理位置或计算流水线加速的物理位置、以及分组缓冲器与源和目的地加速器或外部接口之间的最佳延迟,分组缓冲器是空间分布的,其中分布在2d平面中或3d中。对于使用空间分布缓冲器中的哪个空间分布缓冲器的路由决策可以先验地确定并编码于元数据中,或者由加速流水线中的处理步骤动态地确定。
20.此外,一些smartnic安全需求要求对携带租户数据的暴露的链路接口进行加密并且也保护其免受侧信道攻击,暴露的链路是攻击面,从而暴露保密信息。3d smartnic相对于现有技术的优点包括仅将加密的租户信息空间地分布到对于另一芯片或小芯片的暴露链路上。解密的租户信息的任何分布可以仅在z轴上(即,在层之间)执行,因为z轴上的连接未被暴露。3d smartnic的另一优点是,可以在z轴上的中间层中执行加密,这防止恶意行动者使用非侵入性探测方法(诸如暴露接口的激光探头)来获得保密信息。
21.图1示出了根据示例的具有3d smartnic 110的计算系统100。如图所示,计算系统100包括依赖于smartnic 110与网络130交换数据的主机105。例如,网络130可以为数据中心中的本地网络,其将主机105(例如,服务器)连接到数据中心中的其他计算系统(例如,其他服务器或网络存储设备)。虽然3d smartnic 110被示出为在主机105外部,但是在一个实施方案中,smartnic设置在主机105内。例如,smartnic 110可以为插入到主机105中的pcie槽中的pcie卡。
22.3d smartnic 110包括形成3d结构的多个层115(或层面)。即,与具有设置在2d平面上的计算资源(诸如设置在普通基板(例如,pcb板)上的多个小芯片或单个单片芯片)的常规smartnic不同,smartnic 110中的计算资源跨多个层115分布。在一个实施方案中,层115是形成堆叠的单独集成电路(ic)或芯片。例如,ic可以使用焊料连接使彼此粘合,使得不同层115中的计算资源可以通信。在另一实施方案中,层115可以包括单独的基板,诸如包括ic或小芯片的pcb,这些ic或小芯片然后例如使用焊料凸块或焊线连接到其他层中的基
板上的ic或小芯片。或者,层115可以使用用于堆叠层的第三维度的连接性的穿透硅通孔连接使彼此直接耦接,或者穿过不同类型的基板(例如,pcb)并使用焊料凸块或焊线连接来实现层115之间的第三维度的连接性。
23.层115包括至少一个定序器120。在一个实施方案中,在smartnic 110中仅存在一个定序器(即,层115中仅一个层具有定序器120),而在其他实施方案中,在同一层115中或在不同层115上具有多个定序器120可能是有利的。通常,定序器120协调smartnic 110中的不同加速器功能件125之间的流量流。定序器也可以协调通用/集中分组缓冲器的使用,或者协调空间分布分组缓冲器的使用顺序。在一个实施方案中,每个层115包括至少一个功能件125,该至少一个功能件处理从主机105或网络130接收的流量流中的数据。另外,每个层115可以包括多个功能件125。
24.在一个实施方案中,每个加速器功能件125是对网络流中的数据(或元数据)执行计算、联网或存储功能的硬件元件。这些硬件元件可以是层115中的单独的ic,或者一个ic可以具有用于执行多个加速器功能件125的硬件元件。加速器功能件125可以包括用于加速到主机105和网络130的接口的硬件元件、密码(crypto)加速器、压缩加速器、架构加速器、存储器控制器、存储器元件(例如,随机存取存储器(ram))等。这些硬件元件可以使用可编程逻辑块或硬化逻辑块来实现。例如,存储器控制器、ram、接口(输入/输出(i/o))加速器、压缩加速器和密码加速器可以使用硬化逻辑来实现,而架构加速器使用可编程逻辑(例如,可配置逻辑块)来实现。然而,在其他实施方案中,一些加速器(例如,密码或压缩加速器)可以在可编程逻辑而非硬化逻辑中实现。
25.图2示出了根据示例的3d smartnic 110中的多个层。在图2中,3dsmartnic 110可以具有任何数量的层115,但为了简单起见,仅示出了两个层:层115a和层115b。例如,层115a和层115b可以是smartnic 110中仅有的两个层,或者在这两个层之间可以存在一个或多个层。
26.如图所示,两个层115均包含形成加速器功能件125a-e的硬件元件。在该示例中,层115a包括加速器功能件125a-d,同时层115b包括加速器功能件125e。此外,层115a包括定序器120,该定序器通信地耦接到层115a中的加速器功能件125a-d中的每个加速器功能件。虽然未示出,但是定序器120也耦接到层115b中的加速器功能件125e,并且可以耦接到主机接口210和网络接口215。
27.如上所述,定序器120协调网络流量如何在加速器功能件125之间流动以便在数据加速流水线中形成不同的级。在一个实施方案中,定序器120针对每个网络流建立流水线,其中加速器功能件125形成该流水线的级。例如,对于第一网络流(其可以与第一客户或租户相关联),数据可以首先被发送到功能件125a,然后被发送到功能件125d,并且最后被发送到功能件125e。然而,对于不同客户或租户的第二网络流,其数据可以首先被发送到功能件125e,并且然后被发送到功能件125b。下文与图5有关描述了使用定序器120来针对不同网络流建立不同流水线的细节。
28.层115a也包括分组缓冲器205,该分组缓冲器用作集中和通用分组保持区域,该集中和通用分组保持区域用于正在功能件125与主机接口210和网络接口215之间传输的数据。继续上文的示例,在第一网络流的分组被功能件125a处理之后,流水线中的下一功能件(即,功能件125d)可能没有为该分组做好准备。功能件125a可以将分组存储在分组缓冲器
205中,直到功能件125d为该分组做好准备。因此,虽然未示出,但是每个功能件125a-d可以连接到分组缓冲器205。也可以在层115之间传输分组时使用分组缓冲器205。例如,smartnic 110可以在将分组存储在ram中作为功能件125e的部分之前使用分组缓冲器205来临时存储这些分组。分组缓冲器205是通用缓冲器,因为它可以被smartnic 110中的各种功能件125使用,这些功能件可以执行不同的网络、计算机和存储加速任务。因此,在一个实施方案中,将每个加速器功能件(以及主机接口210和网络接口215)连接到分组缓冲器205,使得它们可以将分组存储在缓冲器205中并从该缓冲器提取分组。
29.加速器功能件125、定序器120、分组缓冲器205以及主机接口210和网络接口215在图2中的布置仅仅是3d smartnic的一个示例。例如,在其他实施方案中,主机接口210和网络接口215可以设置在层115a上。另外,层115b可以具有多于一个加速器功能件(即,功能件125e),或者层115a可以包括比所示更多或更少的加速器功能件。
30.图3示出了根据示例的带有架构层的3d smartnic 300。如图所示,smartnic 300包括三个层315a-c,其中各种加速器功能件分布在整个层315中。在该示例中,层315a包括如上所讨论的定序器120和分组缓冲器205连同处理器305、主机接口加速器310、密码加速器317、压缩加速器320和网络接口加速器325。处理器305、主机接口加速器310、密码加速器317、压缩加速器320和网络接口加速器325是图1和图2中所讨论的加速器功能件125的示例。
31.处理器305可以是可以对网络流中的数据执行计算任务的arm或x86处理器。主机接口加速器310和网络接口加速器325分别加速由主机接口210和网络接口215执行的功能件。密码加速器317可以在数据进入和离开smartnic 300时对数据进行解密和加密。例如,一些功能件可能需要解密的数据,在这种情况下,定序器120可以首先将数据(其由smartnic在加密状态下接收)路由到密码加速器317,以进行解密,由功能件处理,并且然后在数据被发送出smartnic 300之前再次加密。
32.压缩加速器320可以执行数据压缩和解压缩。例如,主机可以发送要存储在网络存储器中的数据。主机105可以指示smartnic 300中的压缩加速器320在使用网络130将经压缩的数据转发到网络存储设备之前压缩网络流中的数据,而不是主机105压缩该网络流。当smartnic 300从网络存储设备接收到经压缩的数据时,压缩加速器320可以在将该压缩数据转发到主机105之前对其进行解压缩。此外,smartnic 300可以使用压缩加速器320来压缩内部存储的数据。
33.在一个实施方案中,3d smartnic 300可以包括多个密码和压缩加速器。例如,层315a可以包括aes-xts密码加速器和aes-gcm密码加速器两者。smartnic 300也可以包括执行不同压缩算法的不同密码加速器。
34.层315b包括在一个实施方案中使用可编程逻辑来实现的架构加速器330。架构加速器330可以提供层315a中的功能件与层315c中的功能件之间的连接性。例如,架构加速器330可以包括用于将数据存储在层315c中的存储器340(例如,ram)中的第一架构加速器。加速器330也可以包括:由定序器120使用以与其他层中的功能件通信的第二架构加速器,以及当在层之间传送数据时由密码加速器317或压缩加速器320使用的第三架构加速器。层315a和层315c也可以包括可编程逻辑345,其创建定制加速器功能件或定制加速器功能件之间的通信或定序的能力。在一个实施方案中,层315a中的可编程逻辑345a在主机接口加
速器310与处理器305之间,并定制某些主机接口数据以向处理器305提供处理提示,从而增加处理器305的高速缓存效率。在另一实施方案中,可编程逻辑345a在密码加速器317和网络接口加速器325之间,并定制用于由网络接口加速器325接收的或去往该网络接口加速器的流量的密码密钥或密码算法。在这些示例中,可编程逻辑345a充当shim,以在层315a中的至少两个加速器功能件之间提供定制的处理或通信。此外,层315c也可以包括可编程逻辑345b,该可编程逻辑充当允许其硬化部件之间的通信的shim。
35.在一个实施方案中,层315b也包括类似于层315a中的分组缓冲器205的分组缓冲器块,或网络密钥管理块。另外,类似于层315a中的那些的硬化加速器块(例如,加速器310、加速器317、加速器320或加速器325)也可以包括在层315b中。
36.在一个实施方案中,层315a也包括提供层315a中的功能件之间的连接性的架构加速器(例如,一个或多个架构加速器块)。即,每个层可以具有其自己的架构加速器以提供该层中的功能件之间的通信,而层315b中的架构加速器330提供层315a-c之间的连接。
37.层315c包括主机接口210、网络接口215、存储器控制器335和存储器340。与分组缓冲器205相比,存储器340可以用于更久地存储数据。例如,当数据在不同加速器功能件(例如,流水线中的不同级)之间转换时,数据可以存储在分组缓冲器205中,但当数据必须等待更长时间段时,smartnic 300可以将数据存储在存储器340中。存储器340也可以用于存储加速器相关元数据,例如,密码加速器317的密码密钥或密码状态。
38.如图所示,层315可以彼此通信。在一个实施方案中,层315a和层315c使用用作架构层(即,互连件)的层315b来进行通信。在该示例中,层315b用作层315a和层315c之间的间接连接。然而,在另一实施方案中,层315a和层315c可以直接彼此通信而不穿过层315b中的逻辑。例如,层315b可以包括将层315c中的凸块焊盘直接连接到层315a中的凸块焊盘的通孔(例如,穿透硅通孔)。以此方式,层315a中的功能件可以直接与层315c中的功能件通信,而不依赖于层315b中的架构加速器330。例如,层315a中的一些功能件可以使用这些通孔来直接与层315c通信,而层315a中的其他功能件可以在与层315c通信时使用架构加速器330。如果smartnic 300扩展到包括多个中间层,则如果需要,这些层也可以具有连接在一起的通孔,以提供顶层315a和底层315c之间的直接连接。
39.与如果所有这些硬件元件设置在同一2d平面上相比,如图1至图3中所示将功能件空间地分布在多个层上可以提供这些功能件之间(以及分组缓冲器205与定序器120之间)更紧密的耦接。例如,如果这些功能件均设置在同一单片芯片上,则在芯片的相对端上的两个功能件之间传输数据可能比在不同层上的两个功能件之间传输数据需要更多的延迟。因此,将3d结构用于smartnic 300可以使更多功能件能够在smartnic 300中实现,这使得smartnic 300更灵活且可扩展,而不增加空间地分布功能件所涉及的延迟。
40.图4示出了根据示例的在中间层415b中具有密码引擎405的3dsmartnic 400。即,smartnic 400包括三个层415a-c,其中密码引擎405设置在置于上层415a和下层415c之间的中间层415b中。这样做提供了对密码引擎405的附加物理保护。例如,这保护密码引擎405免受访问其密钥的物理入侵尝试。恶意行动者将不得不以使得smartnic 400继续可操作的方式反汇编smartnic 400,以便访问密码引擎405所使用的密钥。然而,2d smartnic不提供相同的保护,因为其密码引擎405将需要位于更容易访问的2d平面上。
41.在一个实施方案中,密码引擎405可以设置在smartnic 400中其自己的层415上。
然而,在另一个实施方案中,附加功能件可以设置在与引擎405相同的层415b中。例如,层415b也可以包括图3所示的架构加速器330。
42.图5示出了定序器120,在此示例中,该定序器可以与图3所示的各种加速器功能件(例如,处理器305、主机接口加速器310、密码加速器317、压缩加速器320以及网络接口加速器325)一起使用。在该实施方案中,定序器120具有用于与这些功能件通信的子定序器模块。即,定序器120包括对应于主机接口加速器310和网络接口加速器325的i/o定序器505、对应于处理器305的处理器定序器510、对应于密码加速器317的密码定序器515以及对应于压缩加速器320的压缩定序器520。
43.空间分布加速器功能件(例如,处理器305、主机接口加速器310、密码加速器317、压缩加速器320和网络接口加速器325)与定序器120之间的通信可以以至少两种方式执行。首先,由定序器120或功能件解释的元数据包含转向列表,该转向列表描述当租户数据执行流水线加速时特定流量流需要按顺序遍历分布功能件中的哪些分布功能件。换句话说,对应于流量流的元数据可以定义数据应由功能件处理的次序。该转向列表建立流水线的级,其确定哪些功能件用于处理网络流中的分组以及所选功能件处理分组的次序。
44.第二,元数据包括应当用于处理分组的流水线加速功能件的链表,其中该链表中的空指针指示出口点(例如,主机出口或网络出口),或者该空指针指示在该空指针之前其为该链表中的倒数第二目的地的流水线级,该倒数第二个目的地被期望基于其对该分组的处理来填充下一个链表功能件(或多个链表功能件)。以这种方式,当正在处理分组时,可以动态地选择流水线的下一级或功能件。
45.这两种技术在流量流遍历其不同功能件时实现了流量流的低延迟,并且实现了流量流在分组缓冲器205中的低驻留,从而针对其他租户的网络流增加了分组缓冲器205的效率。
46.图6是根据示例的包含smartnic 110和存储卡、机器学习卡或其他加速器卡610的i/o扩展盒600的框图。在图6中,主机105与其可以为单独基板或同一基板的多个smartnic 110通信。smartnic 110继而通信地耦接到存储卡、机器学习卡或其他加速器卡610。扩展盒600包括交换机605,该交换机用于允许主机105和smartnic 110之间以及smartnic与存储卡、机器学习卡或其他加速器卡之间的通信。在一个实施方案中,交换机促进主机105、smartnic 110与存储卡、机器学习卡或其他加速器卡610之间的高速缓存相干和非高速缓存相干通信。因此,交换机605可以以其中主机105的存储器空间由smartnic 110和存储卡、机器学习卡或其他加速卡610共享的高速缓存相干方式或者通过使用非相干数据传输(例如,直接存储器存取(dma)读或写)来支持在主机105、smartnic 110与存储卡、机器学习卡或其他加速卡610之间传输数据。
47.例如,主机105使用相干域来传输要发送到所有smartnic 110的数据(假设数据不是太大),但是使用非相干域来传输大量数据或者仅以smartnic 110中的一者为目的地的数据。
48.在前文中,参考了在本公开中呈现的实施方案。然而,本公开的范围不限于具体描述的实施方案。相反,所描述的特征和元件的任何组合(无论是否涉及不同的实施方案)都被设想为实现和实践所设想的实施方案。此外,尽管本文所公开的实施方案可以实现优于其他可能的解决方案或优于现有技术的优点,但特定的优点是否通过给定的实施方案被实
现不限制本公开的范围。因此,前述方面、特征、实施方案和优点只是例示性的,并且不被认为是所附权利要求的要素或限制,除非在权利要求中有明确记载。
49.如本领域的技术人员将理解的,本文所公开的实施方案可以体现为系统、方法或计算机程序产品。因此,各方面可以采用完全硬件实施方案、完全软件实施方案(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施方案的形式,其在本文中全都可以被一般地称为“电路”、“模块”或“系统”。此外,各方面可以采用体现在一个或多个计算机可读介质中的计算机程序产品的形式,该一个或多个计算机可读介质具有体现在其上的计算机可读程序代码。
50.可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是(例如但不限于)电、磁、光、电磁、红外或半导体系统、设备或装置或者前述各项的任何合适的组合。计算机可读存储介质的更具体示例(不完全列表)将包括以下:具有一条或多条导线的电连接件;便携式计算机软盘;硬盘;随机存取存储器(ram);只读存储器(rom);可擦除可编程只读存储器(eprom或闪存);光纤;便携式压缩盘只读存储器(cd-rom);光存储装置;磁存储装置;或前述各项的任何合适的组合。在本文件的上下文中,计算机可读存储介质是可包含或存储供指令执行系统、设备或装置使用或者与其结合使用的程序的任何有形介质。
51.计算机可读信号介质可包括具有体现在其中(例如,在基带中或作为载波的一部分)的计算机可读程序代码的传播数据信号。此类传播信号可以采用多种形式中的任何一种形式,包括但不限于电磁、光学或它们的任何合适的组合。计算机可读信号介质可以是并非计算机可读存储介质并且可以传达、传播或传送供指令执行系统、设备或装置使用或者与其结合使用的程序的任何计算机可读介质。
52.体现在计算机可读介质上的程序代码可以使用任何适当的介质来传输,包括但不限于无线、有线、光纤电缆、rf等或前述各项的任何合适的组合。
53.用于进行针对本公开的各方面的操作的计算机程序代码可以一种或多种编程语言的任何组合来编写,包括面向对象的编程语言(诸如java、smalltalk、c 等等)和常规过程式编程语言(诸如“c”编程语言或类似的编程语言)。程序代码可整个地在用户计算机上执行、部分地在用户计算机上执行、作为独立的软件包、部分地在用户计算机上执行并且部分地在远程计算机上执行或者整个地在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。
54.本公开的各方面在下文参考根据本公开中呈现的实施方案的方法、设备(系统)和计算机程序产品的流程图图示和/或框图进行描述。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以通过计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器,使得经由计算机或其他可编程数据处理设备的处理器执行的指令形成用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的方式。
55.这些计算机程序指令还可以存储在可以指引计算机、其他可编程数据处理设备和/或其他装置以特定方式起作用的计算机可读介质中,使得存储在计算机可读介质中的指令产生包括实现在流程图和/或框图的一个或多个框中指定的功能/动作的指令的制品。
56.计算机程序指令还可以被加载到计算机、其他可编程数据处理设备或其他装置上,以使一系列操作步骤在计算机、其他可编程设备或其他装置上执行以产生计算机实现的方法,使得在计算机或其他可编程设备上执行的指令提供用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的方法。
57.图中的流程图和框图示出了根据本发明的各种示例的系统、方法和计算机程序产品的可能具体实施的架构、功能性和操作。就这一点而言,流程图或框图中的每个框可以表示指令的包括用于实现指定逻辑功能的一个或多个可执行指令的模块、段或部分。在一些另选的具体实施中,框中指出的功能可以不按照图中指出的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反顺序执行。还将注意到,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可由执行指定功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
58.虽然前述内容针对特定示例,但在不脱离本发明的基本范围的情况下可以设计出其它的和另外的示例,并且本发明的范围由所附权利要求确定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表