使用多个媒体接入控制器对数据的分组处理的制作方法

xiaoxiao2020-9-10  6

使用多个媒体接入控制器对数据的分组处理的制作方法
【专利摘要】公开了具有至少两个媒体接入控制器的设备的示例。在某些示例中,第一媒体接入控制器可以耦合到主机计算设备。第二媒体接入控制器可以耦合到被布置为执行对通过第一媒体接入控制器转发和/或通过第二媒体接入控制器转发的一个或多个数据帧的数据有效载荷的分组处理的一个或多个处理器电路。第一媒体接入控制器可以通过通信链路耦合到第二媒体接入控制器。描述并要求保护其他示例。
【专利说明】使用多个媒体接入控制器对数据的分组处理
[0001]背景
[0002]被称为“云计算”的托管服务(hosting service)可以通过诸如因特网之类的互联网络,提供软件、存储器和计算基础结构服务。在某些情况下,云服务提供商在数据中心或服务器场托管(host)承租人。这些数据中心或服务器场可以包括大量的计算平台或主机计算设备,这些主机计算设备可以允许承租人具有在一个或多个主机计算设备上运行或由它们支持的若干个软件实例。在某些云体系结构中,单一服务器或主机计算设备可以在使用一个或多个处理器或在主机计算设备上维护的其他计算资源来实现的虚拟机(VM)中托管多个承租人。
[0003]附图简述
[0004]图1示出了示例第一系统。
[0005]图2示出了这样的示例。
[0006]图3示出了数据管理器的示例体系结构的框图。
[0007]图4示出了示例第三系统。
[0008]图5示出了示例第一进程。
[0009]图6示出了示例第二进程。
[0010]图4示出了示例第三进程。
[0011]图4示出了示例第四进程。
[0012]图7示出了用于从主机计算设备接收数据帧的示例流程图。
[0013]图8示出了用于通过网络通信信道接收数据帧的示例流程图。

【具体实施方式】
[0014]如在本发明中设想的,在某些云体系结构中,单一服务器或主机计算设备可以在使用一个或多个处理器或在主机计算设备上维护的其他计算资源来实现的虚拟机(VM)中托管多个承租人。在某些示例中,云服务提供商可能必须预设(provis1n)、隔离以及计量(针对记帐)各种承租人所使用的资源。云服务提供商可以通过创建重叠物理网络的虚拟网络,来提供这些服务中的至少某些服务。对于这些示例,虚拟网络可以通过通常由云服务提供商拥有并管理的系统管理程序或虚拟机管理器(VMM)内的软件组件来完成。
[0015]维护软件组件以在主机计算设备上创建重叠物理网络的虚拟网络可能存在多个缺点。例如,用于此用途的软件模块消耗大量的计算资源,因为它们位于接收到的或被转发到承租人的数据的数据路径中。此外,云服务提供商还可能不能与允许VM回避VMM的单根输入/输出(I/O)虚拟化(SR-1OV) —起利用这样的方案。进一步地,由于用于支持虚拟网络的网络分组格式(例如,隧道格式)的本质,在给定可能各种有时专有的隧道格式的情况下,现有的基于网络接口卡(NIC)的分组处理卸载(offload)可能不切实可行。基于NIC的分组处理卸载可能不可能,因为大多数现有的网络分组处理卸载基于非隧道化的分组。
[0016]其他缺点涉及作为他们的关键技术秘密的云服务提供商处理监测、隔离和计量软件,并抗拒或拒绝公开此知识。这种抗拒或拒绝公开监测、隔离和计量软件使得诸如NIC之类的网络I/o设备的制造商难以设计更有效率的在云计算环境中工作的I/O设备。此外,如上文所提及的,在VMM中维护虚拟网络会使用大量计算资源。使用大量计算资源导致云服务提供商提供给他们的承租人的计算资源较少。
[0017]公开了示例设备,它们包括多个媒体接入控制器,用于对在耦合在主机计算设备和网络之间的I/o设备接收到的或从其传输的数据的分组处理。示例设备可以包括一个或多个处理器电路,它们被配置成对被转发到主机计算设备或从其转发的数据执行分组处理。示例设备还可以包括第一媒体接入控制器,该第一媒体接入控制器耦合到一个或多个处理器电路,还耦合到网络通信信道。示例设备还可以包括耦合到主机计算设备的第二媒体接入控制器,以及将第一媒体接入控制器耦合到第二媒体接入控制器的通信链路。
[0018]图1不出了不例第一系统。如图1所不,第一系统被描绘成系统100。在某些不例中,系统100可以包括通过网络通信信道180耦合到网络160以及通过通信链路190耦合到主机计算设备170的输入/输出(I/O)设备101。此外,如图1所示,I/O设备101包括处理器110、媒体接入控制器(MAC) 120、媒体接入控制器(MAC) 130、存储器140以及存储器150。如图1所示,通信链路115、125、135以及145将I/O设备101的各种元件互连或耦合在一起。本发明不仅限于图1所示出的元件的数量、类型或布局。
[0019]根据某些示例,如图1所示,MAC 120和MAC 130两者都可以包括数据管理器105。如下文比较详细地描述的,数据管理器105可以包括允许这些媒体接入控制器接收、转发或传输数据的逻辑和/或特征。数据例如可以是从网络160或从主机计算设备170接收到的分组或数据帧的格式的。在某些示例中,MAC 120、MAC 130和/或数据管理器105可以被配置为根据各种行业标准或规范,诸如由电气电子工程师学会(IEEE)发布的各种以太网规范,来操作。例如,一个这样的以太网规范(包括后代和变体)可以是在2008年12月日发布的IEEE 802.3-2008,带有冲突检测的载波侦听多址访问(CSMA/⑶)接入方法和物理层规范(Carrier sense Multiple access with Collis1n Detect1n(CSMA/CD)AccessMethod and Physical Layer Specificat1ns)(在下文中 “IEEE 802.3”)。虽然在图1 中示出了两个媒体接入控制器,但是,本发明设想耦合到主机计算设备和/或网络的任意数量的媒体接入控制器。
[0020]在某些示例中,从主机计算设备170的角度来看,MAC 120可以看起来充当用于将主机计算设备170耦合到网络160的1/0设备。同时,从网络160的角度来看,MAC 130可以看起来充当主机计算设备170的1/0设备。换言之,主机计算设备170和网络160两者在数据从1/0设备101流出之前,可能不会察觉到在1/0设备101中接收到的数据正在I/O设备101的各种元件之间路由(例如,往返于处理器110)。
[0021]在某些示例中,如图1所示,处理器110包括处理器电路112-1到112_n(其中,“η”表示> I的任何正整数),以及存储器控制器114。如下面更多地提及的,处理器电路112-1到112-n可以被配置或布置为实现操作系统,该操作系统可以被配置或布置为支持软件服务。软件服务能够对向主机计算设备发送的或来自主机计算设备的一个或多个数据帧的数据有效载荷执行分组处理(例如,直列式(in-line)分组处理)。根据某些示例,处理器110可以是多核处理器,处理器电路112-1到112-n可以与多核处理器的核相关联。
[0022]根据某些示例,存储器控制器114可以是处理器110的集成存储器控制器。在其他示例中,存储器控制器114可以与处理器110分开放置(例如,在芯片组中-未示出)。对于任一示例,存储器控制器114可以管理对可被包括在存储器150或存储器140中的存储器阵列的访问。
[0023]在某些示例中,如图1所示,存储器140包括缓冲器142。缓冲器142可以被布置为至少临时存储已经由处理器110中的处理器电路中的一个或多个处理完或可以由它们处理的数据。存储器140还可以为在处理器110上实现的操作系统和/或软件服务提供操作存储器。根据某些示例,存储器140可以包括不同类型存储器,包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态RAM (SRAM)、相变材料RAM (PRAM),和/或其他类型的易失性存储器中的至少一种或组合。
[0024]根据某些示例,如图1所示,存储器150包括操作系统(OS) 152。OS 152可以在处理器电路112-1到112-n上或由它们实现,并可以被布置为支持如上文所提及的软件服务。软件服务可以是包括在OS 152中的模块,或者可以是与OS 152合作的单独的模块。虽然在图1中未示出,但是,还可以在存储器150中存储或维护单独的模块。如下面更多地提及的,OS 152可以支持能够执行一个或多个数据帧的数据有效载荷的分组处理的软件服务。
[0025]在某些示例中,存储器150可以包括被配置成在操作的存储模式下被实现或操作的各种类型的存储器。存储器150可以包括不同类型的非易失性存储器存储设备中的至少一种或组合。这些不同类型的存储设备可以包括,但不仅限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附连存储设备、闪存、电池供电的SDRAM (同步DRAM)、网络可访问的存储设备,和/或其他类型的非易失性存储器(例如,相变存储器(PCM))。
[0026]根据某些示例,如图1所示,MAC 120通过通信链路190耦合到主机计算设备170,而MAC 130通过通信链路125耦合到处理器110。对于这些示例,MAC 120和MAC 130两者都可以包括用于分别通过通信链路170和190可通信地耦合到主机计算设备170和处理器110的接口。在某些示例中,通信链路170或190可以被布置为数据总线。MAC 120和MAC130中所包括的这些接口可以被配置成根据与行业标准或规范相关联的各种通信协议来进行操作。一个这样的规范(包括后代和变体)可以是外围组件互连快速(PCI Express)规范,诸如2010年11月发布的PCI快速3.0基本规范。本发明不仅限于供MAC 120或MAC130分别可通信地耦合到主机计算设备170和处理器110的PCI快速,也设想其他行业标准或规范。
[0027]在某些示例中,如图1所示,MAC 120通过通信链路115耦合到MAC130。通信链路115可以被配置成允许MAC 120将从主机计算设备170接收到的数据帧转发到MAC 120。通信链路115还可以被配置成允许MAC130将数据帧转发到MAC 120 (例如,在由在处理器电路112-1到112-n上运行的软件服务对数据帧的数据有效载荷的分组处理之后)。根据某些示例,MAC 120和MAC 130可以被配置成根据诸如IEEE 802.3之类的以太网规范来进行操作,而通信链路115还可以被配置成根据以太网标准来进行操作。
[0028]在某些示例中,如图1所示,通信链路135可以将存储器140耦合到处理器110。对于这些示例,通信链路135可以包括被配置成根据一个或多个标准或规范(诸如由JEDEC固态技术协会发布的规范)进行操作的一个或多个数据总线或通道。由JEDEC固态技术协会发布的规范(包括后代和变体)可以包括,但不仅限于,2007年6月发布的双倍数据速率类型-3(DDR3)同步动态随机存取存储器(SDRAM)规范(“DDR3”规范)。
[0029]在某些示例中,如图1所示,通信链路145可以将处理器110耦合到存储器150。对于这些示例,通信链路145可以被配置成根据可以在一个或多个行业标准(包括后代和变体)中所描述的通信协议或标准进行操作,诸如与PCI快速规范、通用串行总线(USB)规范或串行高级技术附件(SATA)规范相关联的那些。根据某些示例,通信链路145可以被布置为数据总线以将处理器110通信地耦合到存储器150。
[0030]在某些示例中,主机计算设备170可以被包括在计算设备中。计算设备的示例可以包括,但不仅限于,服务器、刀片式服务器、计算板、台式计算机、个人计算机(PC)或膝上型计算机。
[0031]图2示出了这样的示例。如图2所示,第二系统被描绘成系统200。根据某些示例,图2所示出的系统200的元件可以类似于图1所示出的系统100的元件,媒体接入设备220除外。如图2所示,媒体接入设备220可以驻留在I/O设备201上,并可以包括能够通过通信链路225耦合的MAC222和MAC 224。也如图2所示,媒体接入设备220也包括连接器223,通过该连接器223,网络通信信道280可以被布置为在物理上耦合到MAC224。
[0032]根据某些示例,如图2所示,MAC 222和MAC 130两者都可以包括数据管理器105。如上文所提及的,数据管理器105可以包括允许这些媒体接入控制器接收、转发或传输数据帧的逻辑和/或特征。数据帧例如可能是从网络260或从主机计算设备270接收到的。在某些示例中,MAC 222或MAC 224可以被配置或布置为根据IEEE 802.3或其他类型的网络相关的行业标准或规范进行操作。
[0033]如图2所示,具有处理器电路212-1到212_n和存储器控制器214的处理器210可以通过通信链路215耦合到MAC 224。此外,主机计算设备270还可以通过通信链路290耦合到MAC 222。在某些示例中,MAC 222和MAC 224中的接口分别可以被配置为根据PCI快速规范进行操作,以允许媒体接入控制器通信地耦合到主机计算设备270或处理器210。
[0034]根据某些示例,如图2所示,处理器210可以通过通信链路245耦合到存储器250,并通过通信链路235耦合到存储器240。类似于图1所示出的存储器140,存储器240包括缓冲器242。此外,类似于图1所示出的存储器150,存储器250包括操作系统(OS) 252。
[0035]在某些示例中,如上文所提及的,连接器223能够在物理上将MAC 224耦合到网络通信信道280。对于这些示例,连接器223可以根据各种行业标准和规范进行配置。一个这样的行业标准或规范(包括后代和变体)可以是2009年7月发布的用于增强的小形状因子可插模块的SFF-8431规范,修订版4.1 ( “SFP+”)。
[0036]图3示出了数据管理器105的示例体系结构的框图。在某些示例中,数据管理器105包括被配置或布置为允许I/O设备中的媒体接入控制器接收、转发或传输数据的特征和/或逻辑。根据某些示例,如图3所示,数据管理器105包括数据逻辑310、控制逻辑320、存储器330和输入/输出(I/O)接口 340。如图3所示,数据逻辑310可以耦合到控制逻辑320、存储器330和I/O接口 340。数据逻辑310可以包括接收特征312、转发特征314,或传输特征316中的一个或多个,或其任何合理的组合。
[0037]在某些示例中,图3中所描绘的元件被配置成支持或启用如本发明所描述的数据管理器105。给定数据管理器105可以包括图3中所描绘的那些元件中的某些、全部或比它们更多的元件。例如,数据逻辑310和控制逻辑320可以分别地或共同地表示实现数据管理器105的特征的多种逻辑设备或可执行内容。示例逻辑设备可以包括微处理器、微控制器、处理器电路、现场可编程门阵列(FPGA),专用集成电路(ASIC)、多核/多线程微处理器的分离的线程或核或其组合。
[0038]在某些示例中,如图3所示,数据逻辑310包括接收特征、312转发特征314、或传输特征316。在某些示例中,这些特征可以分开地或共同地表示逻辑、指令或可执行内容。数据逻辑310可以被配置成使用这些特征中的一项或多项来执行操作。例如,接收特征312可以从主机计算设备、网络,或从其他媒体接入控制器接收数据帧。转发特征314可以将数据帧转发到另一媒体接入控制器或一个或多个处理器电路,供进行分组处理。传输特征314可以将数据帧传输到或发送到主机计算设备上的或网络上的元件。
[0039]在某些示例中,控制逻辑320可以被配置成控制数据管理器105的总体操作。如上文所提及的,控制逻辑320可以表示各种逻辑设备或可执行内容中的任何一个。对于某些示例,控制逻辑320可以被配置成与可执行内容或指令一起操作,以实现对数据管理器105的控制。在某些替换的示例中,控制逻辑320的特征和功能可以在数据逻辑310内实现。
[0040]根据某些示例,存储器330可以被布置为存储供控制逻辑320和/或数据逻辑310使用的可执行内容或指令。可执行内容或指令可以被用来实现或激活数据管理器105的特征、元件或逻辑。如下文比较详细地描述的,存储器330还可以被布置为至少临时维护与接收、转发、发送或传输一个或多个数据帧相关联的信息。
[0041]存储器330可以包括各种非易失性存储器介质,包括,但不仅限于,闪存、可编程变量或状态、ROM、RAM、硬盘驱动器或其他静态或动态存储器介质中的一种或多种类型。
[0042]在某些示例中,I/O接口 340可以通过数据管理器105和具有或维护了数据管理器105的媒体接入控制器的元件之间的本地通信介质或链路来提供接口。I/O接口 340可以包括根据各种通信协议或标准来操作以通过本地通信介质或链路进行通信的接口。可以在一个或多个行业标准(包括后代和变体)——诸如与集成电路之间(I2C)规范或系统管理总线(SMBus)规范,或PCI快速规范相关联的那些一中描述这些通信协议或标准。虽然本发明不仅限于上文所提及的标准和相关联的协议。
[0043]根据某些示例,I/O接口 340可以提供用于数据管理器105和位于媒体接入控制器的外面的元件之间的通信信道或链路的接口。对于这些示例,I/o接口 340可以包括根据各种通信协议或标准来操作以通过耦合到媒体接入控制器的通信链路或通道进行通信的接口。这些通信协议或标准可以在诸如以太网规范、PCI快速规范或USB规范之类的标准或规范(包括后代和变体)或用于通信协议的其他行业标准或规范中描述。
[0044]图4示出了示例第三系统。如图4所示,第三系统被描绘成系统400。根据某些示例,系统400包括通过网络通信信道180耦合到网络160以及通过通信链路190耦合到主机计算设备170的I/O设备101。在某些示例中,如图4所示,主机计算设备170可以包括虚拟机管理器(VMM)475。VMM475可以被配置或布置为管理或控制虚拟机(VM)472_1到472-m(其中,“m”是> 2的任何正整数)。对于这些示例,VM 472-1到472_m中的每一 VM都可以与至少一个承租人相关联。例如,VM 472-1可以与承租人I相关联,VM 472-2可以与承租人2相关联,等等。
[0045]根据某些示例,主机计算设备170可以由诸如云服务提供商之类的服务提供商来运营。对于这些示例,承租人I到承租人m中每一个都可以具有服务级别协议(SLA),通过该协议,这些承租人可以租用或租借在主机计算设备170中维护的计算资源。这些租用的计算资源可以包括与VM472-1到472-m相关联的计算资源。
[0046]在某些示例中,云服务提供商和一个或多个承租人之间的SLA可以包括能够对源自或发往给定承租人的数据帧执行分组处理的软件服务类型。对于某些示例,可以通过数据帧中的元数据或通过使用承租人MAC或网际协议(IP)地址或由给定SLA所定义的其他分类策略来标识承租人。软件服务的类型可以包括,但不仅限于:预设软件服务、隔离软件服务、安全性软件服务、标识软件服务或计量软件服务。对于这些示例,预设软件服务可以指示如何在各种承租人之间预设主机计算设备170中的计算资源。在某些示例中,隔离软件服务可以指示如何隔离一个或多个数据帧,以便提高安全性或防止拒绝服务攻击。安全性软件服务可以指示数据帧的安全过程。标识软件服务可以指示用于标识哪些承租人可以接收/转发数据帧的方式。计量软件服务可以与测量每一个承租人在数据帧中接收/转发的数据量相关联,以便确定与测得的数据量相关联的货币费用或帐单。
[0047]图5示出了示例第一进程。如图5所示,第一进程被描绘成进程500。在某些示例中,进程500可以对应于从耦合到I/O设备的主机计算设备接收第一数据帧。I/O设备可以包括多个媒体接入控制器和处理器。处理器可以被布置为实现操作系统,操作系统被布置为支持能够执行对第一数据帧的数据有效载荷的处理的软件服务。对于这些示例,处理过的数据有效载荷可以被包括在第二数据帧中,并通过耦合到I/O设备的通信信道进行传输。对于这些示例,如图1或4所示的系统100或400中所包括的元件或如图3所示的数据管理器105中所包括的元件可以被用来示出与进程500相关的示例操作。所描述的示例操作不仅限于如上文对于图1、3和4所描述的系统100或400上的实现或数据管理器105。
[0048]从进程5.1开始(发送第一数据帧),主机计算设备170可以通过通信链路190将第一数据帧转发到I/o设备101中所包括的媒体接入控制器(MAC) 120。在某些示例中,转发的第一数据帧可以由数据管理器105的逻辑和/或特征(例如,接收特征312)接收。对于这些示例,第一数据帧可能源自与承租人I相关联的VM 472-1,而第一数据帧可能具有与网络160相关联的目的地。
[0049]行进至进程5.2 (转发第一数据帧),MAC 120中的数据管理器105可以包括通过通信链路115将第一数据帧转发到MAC 130 (例如,通过转发特征314)的逻辑和/或特征。在某些示例中,MAC 120和MAC 130两者都可以被布置为根据诸如IEEE 802.3之类的以太网规范来进行操作。对于这些示例,第一数据帧可以通过通信链路115作为以太网帧来转发。
[0050]行进至进程5.3 (转发第一数据帧),MAC 130中的数据管理器105可以包括被布置为接收从MAC 120转发的第一数据帧(例如,通过接收特征312)以及还被布置为通过通信信道125将第一数据帧转发到处理器110 (例如,通过转发特征314)的逻辑和/或特征。
[0051]行进至进程5.4 (发送经过分组处理的数据有效载荷),在对第一数据帧的数据有效载荷进行分组处理之后,处理器电路112-1到112-n可以将经过分组处理的有效载荷数据发送到MAC 130。在某些示例中,这可以包括被布置为实现OS 152的处理器电路112-1到112-n,该OS 152可以被布置为支持能够执行对数据有效载荷的分组处理的软件服务。对于这些示例,软件服务可以与承租人I和运营主机计算设备170的服务提供商之间的服务级别协议(SLA)相关联。SLA可以包括下列各项中的一项或多项:预设软件服务、隔离软件服务、安全性软件服务、标识软件服务或计量软件服务。
[0052]行进至进程5.5 (传输第二数据帧),MAC 130中的数据管理器105可以包括用于从处理器110接收经过分组处理的数据有效载荷(例如,通过接收特征312)以及在第二数据帧中将此处理过的数据有效载荷传输到网络160(例如,通过传输特征316)的逻辑和/或特征。在某些示例中,数据管理器105可以以由适用的通信协议确定的格式传输第二数据帧,通信信道180被布置为通过该适用的通信协议进行操作。例如,通信信道180可以被布置为根据诸如IEEE 802.3之类的以太网规范来进行操作。然后,可以以IEEE 802.3兼容的格式来格式化第二数据帧,然后,通过通信信道180被传输到网络160。
[0053]图6示出了示例第二进程。如图6所示,第二进程被描绘成进程600。在某些示例中,进程600可以对应于从通过网络通信信道耦合到I/O设备的网络接收发往主机计算设备的第一数据帧。I/O设备可以包括多个媒体接入控制器以及被布置为实现操作系统的处理器,操作系统被布置为支持能够执行对第一数据帧的数据有效载荷的处理的软件服务。对于这些示例,处理过的数据有效载荷可以被包括在第二数据帧中,并被转发到主机计算设备。对于这些示例,如图1或4所示的系统100或400中所包括的元件或如图3所示的数据管理器105中所包括的元件可以被用来示出与进程600相关的示例操作。所描述的示例操作不仅限于如上文对于图1、3和4所描述的系统100或400上的实现或数据管理器105。
[0054]从进程6.1开始(发送第一数据帧),网络160可以发送发往主机计算设备170的第一数据帧。在某些示例中,I/o设备101中所包括的MAC 130可以代表主机计算设备170接收第一数据帧。对于这些示例,MAC 130可以通过通信信道180耦合到网络160。MAC 130中的数据管理器105可以包括用于接收第一数据帧(例如,通过接收特征312)的逻辑和/或特征。第一数据帧,例如,可以发往与承租人2相关联的VM 472-2。承租人2,例如,可以具有运营主机计算设备170的服务提供商的SLA。
[0055]行进至进程6.2 (转发第一数据帧),MAC 130中的数据管理器105可以包括用于通过通信链路115将第一数据帧转发到处理器110 (例如,通过转发特征314)的逻辑和/或特征。
[0056]行进至进程6.3 (发送经过分组处理的数据有效载荷),在处理器110中运行的软件服务可以被布置为对从MAC 130转发的第一数据帧的数据有效载荷执行分组处理。在某些示例中,如图6所示,然后,可以将经过分组处理的数据有效载荷发回到MAC 130。对于这些示例,OS 152可以被布置为支持软件服务,软件服务被布置为对第一数据帧的数据有效载荷执行分组处理。软件服务可以与承租人2和服务提供商之间的SLA相关联。SLA可以包括下列各项中的一项或多项:预设软件服务、隔离软件服务、安全性软件服务、标识软件服务或计量软件服务。
[0057]行进至进程6.4 (转发第二数据帧),MAC 130中的数据管理器105可以包括被布置为从处理器110接收经过分组处理的数据有效载荷(例如,通过接收特征312)以及还被布置为通过通信链路115在第二数据帧中将经过分组处理的数据有效载荷转发到MAC120 (例如,通过转发特征314)的逻辑和/或特征。在某些示例中,MAC 130和MAC 120两者可以被布置为根据IEEE 802.3来进行操作。对于这些示例,可以通过通信链路115在以太网帧的格式的第二数据帧中转发经过分组处理的数据有效载荷。
[0058]行进至进程6.5 (转发第二数据帧),MAC 120中的数据管理器105可以包括用于从MAC 130接收第二数据帧(例如,通过接收特征312)以及用于通过通信链路170将第二数据帧转发到主机计算设备170(例如,通过转发特征314)的逻辑和/或特征。在某些示例中,数据管理器105可以将第二数据帧转发到VMM 475,然后,VMM 475可以将第二数据帧中继到与承租人2相关联的VM 472-2。在某些其他示例中,数据管理器105可以直接将第二数据帧转发到VM 472-2。
[0059]图7示出了示例第三进程。如图7所示,第三进程被描绘成进程700。在某些示例中,进程700可以对应于通过网络通信信道接收控制数据,控制数据可以配置耦合到通信信道的I/O设备的元件(例如,在处理器上运行的软件服务)。I/O设备可以包括多个媒体接入控制器和处理器。处理器可以被布置为实现操作系统,该操作系统被布置为支持能够执行对数据帧的数据有效载荷的处理的软件服务。对于这些示例,如图1或4所示的系统100或400中所包括的元件或如图3所示的数据管理器105中所包括的元件可以被用来示出与进程700相关的示例操作。所描述的示例操作不仅限于如上文对于图1、3和4所描述的系统100或400上的实现或数据管理器105。
[0060]从进程7.1开始(发送控制数据),从与网络160相关联的元件(例如,结构管理器(fabric manager))发送控制数据。在某些示例中,基于网络元件关于在主机计算设备170上的处理器上运行的而不是在I/O设备101中的处理器110运行的软件服务将被配置成用于处理网络相关的数据的期望,控制数据可以发往主机计算设备170。对于这些示例,MAC 130可以通过通信信道180耦合到网络元件。MAC 130中的数据管理器可以包括用于接收控制数据(例如,通过接收特征312)的逻辑和/或特征。
[0061]行进至进程7.2(转发控制数据),MAC 130中的数据管理器105可以包括用于通过通信链路125将控制数据转发到处理器110中的元件(例如,通过转发特征314)的逻辑和/或特征。
[0062]行进至进程7.3 (对控制数据的响应),由处理器110中的处理器电路112-1到112-n实现的OS 152可以根据控制数据配置或布置软件服务,然后,发送指示配置的状态(例如,完成、失败、挂起,等等)的响应。在某些示例中,可以通过通信链路125将对控制数据的响应发送到MAC 130。
[0063]行进至进程7.4(传输响应),MAC 130中的数据管理器105可以包括用于将响应传输到网络160中的网络元件(例如,通过传输特征316)的逻辑和/或特征。对于这些示例,可以以IEEE 802.3兼容的格式格式化响应,以便通过网络通信信道180传输到网络160。
[0064]图8示出了示例第四进程。如图8所示,第四进程被描绘成进程800。在某些示例中,进程800可以对应于从主机计算设备上的元件(例如,VMM)接收控制数据,以便配置耦合到主机计算设备的I/O设备(例如,在处理器上运行的软件服务)的元件。I/O设备可以包括多个媒体接入控制器和处理器。处理器可以被配置为实现操作系统,操作系统被布置为支持能够执行对数据帧的数据有效载荷的处理的软件服务。对于这些示例,如图1或4所示的系统100或400中所包括的元件或如图3所示的数据管理器105中所包括的元件可以被用来示出与进程800相关的示例操作。所描述的示例操作不仅限于如上文对于图1、3和4所描述的系统100或400上的实现或数据管理器105。
[0065]从进程8.1开始(发送控制数据),可以从诸如VMM 475之类的与主机计算设备170相关联的元件发送控制数据。在某些示例中,VMM 475可能已经发送控制数据,以便配置处理器I1中的软件服务,用于处理从VM472-1到472-m接收到的数据帧的数据有效载荷。对于这些示例,MAC 120可以通过通信链路190可通信地耦合到主机计算设备170中的VMM 475。MAC 120中的数据管理器可以包括用于接收控制数据(例如,通过接收特征312)的逻辑和/或特征。
[0066]行进至进程8.2 (转发控制数据),MAC 120中的数据管理器105可以包括用于通过通信链路115将控制数据转发到MAC 130 (例如,通过转发特征314)的逻辑和/或特征。
[0067]行进至进程8.3 (转发控制数据),MAC 130中的数据管理器105还可以包括用于接收控制数据并在随后通过通信信道125将控制数据转发到在处理器110中的软件服务的逻辑和/或特征。
[0068]行进至进程8.4 (对控制数据的响应),由处理器110中的处理器电路112-1到112-n实现的OS 152可以根据控制数据配置或布置软件服务,然后,发送指示配置的状态(例如,完成、失败、挂起,等等)的响应。在某些示例中,可以通过通信链路125将对控制数据的响应发送到MAC 130。
[0069]行进至进程8.5 (转发响应),MAC 130中的数据管理器105可以包括被配置为接收响应(例如,通过接收特征312)然后通过通信信道125将响应转发到MAC 120(例如,通过转发特征314)的逻辑和/或特征。
[0070]行进至进程8.6 (转发响应),MAC 120中的数据管理器105还可以包括接收响应并通过通信链路190将响应转发到主机计算设备170中的VMM 475的逻辑和/或特征。
[0071]图9示出了用于从主机计算设备接收数据帧的示例流程图。在某些示例中,如图1,2和4所示的系统100,200或400的元件可以被用来示出涉及图9中所描绘的流程图的示例操作。也可以使用如图1或图3所示的数据管理器105来示出示例操作。但是,所描述的示例操作不仅限于系统100,200或400上的实现,或数据管理器105。
[0072]从开始移到框910 (在第一 MAC上接收第一数据帧),MAC 120中的数据管理器105可以包括被布置为通过通信链路190从主机计算设备170接收第一数据帧(例如,通过接收特征312)的逻辑和/或特征。在某些示例中,第一数据帧可能发自与承租人2相关联的VM 472-2,并且第一数据帧可能具有与网络160相关联的目的地。
[0073]从框910前进到框920 (将第一数据帧转发到第二 MAC) ,MAC 120中的数据管理器105可以包括被布置为将第一数据帧转发到MAC 130 (例如,通过转发特征314)的逻辑和/或特征。在某些示例中,可以通过通信链路115转发第一数据帧。
[0074]从框920前进到框930 (将第一数据帧转发到处理器电路),MAC 130中的数据管理器105可以包括被布置为通过通信链路115接收第一数据帧(例如,通过接收特征312)以及还被布置为将第一数据帧转发到处理器110中的处理器电路112-1到112-n(例如,通过转发特征314)的逻辑和/或特征。在某些示例中,可以通过通信链路125将第一数据帧转发到处理器电路112-1到112-n。对于这些示例中,处理器110中的一个或多个处理器电路112-1到112-n可以被布置为实现OS 152,该OS 152可以被布置为支持能够执行对第一数据帧的数据有效载荷的分组处理的软件服务。软件服务可以根据承租人2和运营主机计算设备170的服务提供商之间的SLA,对数据有效载荷执行分组处理。
[0075]从框930移到框940(从处理器电路接收经过分组处理的数据有效载荷),MAC 130中的数据管理器105可以包括被布置为从处理器电路112-1到112-n接收(例如,通过接收特征312)经过分组处理的数据有效载荷的逻辑和/或特征。
[0076]从框940移到框950 (传输第二数据帧),MAC 130中的数据管理器105可以包括被布置为将经过分组处理的数据有效载荷包括在第二数据帧中(例如,通过传输特征316)并将第二数据帧传输到与网络160相关联的目的地的逻辑和/或特征。在某些示例中,可以通过耦合到网络160的通信信道180传输第二数据帧。
[0077]从框950移到判断框960(有更多数据帧? ),MAC 120中的数据管理器105可以判断是否有另外的数据帧需要被转发到MAC 130。如果从主机计算设备170 (例如,从承租人2)接收到更多数据帧,则进程移到框920。否则,进程结束。
[0078]图10示出了用于通过网络通信信道接收数据帧的示例流程图。在某些示例中,如图1,2和4所示的系统100,200或400的元件可以被用来示出涉及图10中所描绘的流程图的示例操作。也可以使用如图1或图3所示的数据管理器105来示出示例操作。但是,所描述的示例操作不仅限于系统100,200或400上的实现,或数据管理器105。
[0079]从开始移到框1010(在第一 MAC上接收第一数据帧),MAC 130中的数据管理器105可以包括被布置为通过通信链路190从网络160接收发往主机计算设备170的第一数据帧(例如,通过接收特征312)的逻辑和/或特征。在某些示例中,第一数据帧可以发往与承租人I相关联的VM472-1。
[0080]从框1010前进到框1020(将第一数据帧转发到处理器电路),MAC 130中的数据管理器105可以包括被布置为将第一数据帧转发到处理器110中的处理器电路112-1到112-n (例如,通过转发特征314)的逻辑和/或特征。在某些示例中,可以通过通信链路125将第一数据帧转发到处理器电路112-1到112-n。对于这些示例中,处理器110中的一个或多个处理器电路112-1到112-n可以被布置为实现OS 152,该OS 152可以被布置为支持能够执行对第一数据帧的数据有效载荷的分组处理的软件服务。软件服务可以根据承租人I和运营主机计算设备170的服务提供商之间的SLA,对数据有效载荷执行分组处理。
[0081]从框1020前进到1030(从处理器电路接收经过分组处理的数据有效载荷),MAC130中的数据管理器105可以包括被布置为从处理器电路112-1到112-n接收(例如,通过接收特征312)经过分组处理的数据有效载荷的逻辑和/或特征。
[0082]从框1030前进到框1040(将第二数据帧转发到第二 MAC) ,MAC 130中的数据管理器105可以包括被布置为将经过分组处理的数据有效载荷包括在第二数据帧中并将第二数据帧转发到MAC 120 (例如,通过转发特征314)的逻辑和/或特征。在某些示例中,可以通过通信链路115转发第二数据帧。
[0083]从框1040移到框1050 (将第二数据帧发送到主机计算设备),MAC 120中的数据管理器105可以包括被布置为将第二数据帧发送到(例如,通过传输特征316)与主机计算设备170中的承租人I相关联的VM 472-1的逻辑和/或特征。在某些示例中,可以通过耦合到主机计算设备170的通信信道180发送第二数据帧。
[0084]从框1050移到判断框1060(有更多数据帧? ),MAC 120中的数据管理器105可以判断是否有另外的数据帧需要被转发到处理器112-1到112-n,以便对相关联的数据有效载荷进行分组处理。如果有更多数据帧需要转发,则进程移到框1020。否则,过程结束。
[0085]至少一个示例的一个或多个方面可以通过存储在机器可读介质上的代表性的指令来实现,指令表示处理器内的各种逻辑,指令在由机器读取时使机器制造执行此处所描述的技术的逻辑。被称为“IP核”的这样的表示可以存储在有形的机器可读介质中,并提供给各种客户或生产设施,以加载到实际制造逻辑或处理器的制造机器中。
[0086]各示例可以使用硬件元件、软件元件或两者的组合来实现。在某些示例中,硬件元件可包括器件、逻辑器件、组件、处理器、微处理器、电路、处理器组件、电路元件(例如,晶体管、电阻器、电容器、感应器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。在某些示例中,软件元件可以包括软件组件、程序、应用程序、计算机程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任何组合。判断一个示例是否使用硬件元件或软件元件来实现可以根据任意数量的因素而不同,如所希望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度,及其他设计或性能约束,如根据需要给定实现的需要。
[0087]某些示例可以包括制品。制品可以包括存储逻辑的非瞬时的存储介质。在某些示例中,非瞬态的存储介质可包括一种或多种类型的能够存储电子数据的计算机可读存储介质,包括易失性存储器或非易失性存储器,可移动或不可移动存储器,可擦除或不可擦存储器,可写入或可重写的存储器等等。在某些示例中,逻辑可包括各种软件元件,如软件组件、程序、应用程序、计算机程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任何组合。
[0088]根据某些示例,制品可以包括存储或维护指令的非瞬时的存储介质,所述指令,当由计算机或系统执行时,导致计算机或系统执行根据所描述的示例的方法和/或操作。指令可包括任何合适类型的代码,如源代码、已编译的代码、已解释的代码、可执行代码、静态代码、动态代码等等。指令可以根据预定义的计算机语言、方式或语法来实现,以便指示计算机来执行某一功能。指令可以使用任何合适的高级别的、低级别的、面向对象的、可视的、已编译的和/或解释性编程语言来实现。
[0089]可以使用表达在“一个示例中”或“示例”以及它们的派生词来描述某些示例。这些术语意味着,参考示例所描述的特定功能、结构或特征包括在至少一个示例中。在本说明书中的不同位置出现短语“在一个示例中”不一定都是指同一个示例。
[0090]可以使用表达“耦合”和“连接”以及它们的派生词来描述某些示例。这些术语不一定作为彼此的同义词。例如,使用术语“连接”和/或“耦合”的描述可以表示,两个或更多元件彼此处于直接的物理或电接触的状态。然而,术语“耦合”也可以意味着,两个或更多彼此不直接接触,但是仍彼此合作或进行交互的元件。
[0091]要强调的是,提供可公开内容的摘要以符合37C.F.R.第1.72(b)段,要求将可使读者快速地弄清本技术公开的特征的摘要。但应理解,它不能被用来解释或限制权利要求的范围或含义。此外,在前面的“【具体实施方式】”中,可以看出,各种特点可以组合在一个示例中,以便简化说明。本发明的此方法不应被解释为反映带权利要求的各示例需要比每一个权利要求中明确地列举的特点更多的特点的意图。相反,如下面的权利要求所反映的,本发明的主题在于少于所公开的单一示例的所有特点。如此,下面的权利要求被包括到详细描述摂中,每一个权利要求本身也作为单独的示例。在所附权利要求书中,术语“包括”和“其特征在于”被用作相应的术语“包含(comprising) ”和“其中(wherein) ”的普通英语(plain-English)等效词。此外,术语“第一”、“第二”、“第三”等等只用作标记,并不旨在对它们的对象施加数值要求。
[0092]根据某些示例,第一设备可以包括能够耦合到网络通信信道的第一媒体接入控制器和能够耦合到主机计算设备的第二媒体接入控制器。第一设备还可以包括被布置为执行对通过第二媒体接入控制器转发和/或通过第一媒体接入控制器转发的一个或多个数据帧的数据有效载荷的分组处理的一个或多个处理器电路。对于这些示例,第一通信链路可以将第一媒体接入控制器耦合到第二媒体接入控制器,而第二通信链路可以将第一媒体接入控制器耦合到一个或多个处理器电路。
[0093]在某些示例中,第一设备还可以包括耦合到一个或多个处理器电路的存储器。存储器可以被布置为至少临时将在第一媒体接入控制器上从网络通信信道接收到的数据有效载荷存储在一个或多个数据帧中,或被配置为至少临时将在第二媒体接入控制器上从主机计算设备接收到的数据有效载荷存储在一个或多个数据帧中。存储器可以包括易失性存储器。
[0094]在某些示例中,第一设备中所包括的一个或多个处理器电路还可以被布置为执行与分组处理相关联的任务,包括执行操作系统以支持对一个或多个数据帧的数据有效载荷的分组处理的软件服务。
[0095]根据某些示例,第一设备中所包括的第一通信链路可以被布置为使得第一媒体接入控制器能将数据帧的经过分组处理的数据有效载荷转发到第二媒体接入控制器。此外,还可以在第一媒体接入控制器上从网络通信信道接收数据帧。可以由第一媒体接入控制器通过第二通信链路将接收到的数据帧转发到一个或多个处理器电路,以便数据有效载荷变为由软件服务进行分组处理的数据。
[0096]在某些示例中,第一设备中所包括的第一通信链路可以被配置成使得第二媒体接入控制器能将第一数据帧转发到第一媒体接入控制器。第一数据帧可能是从主机计算设备接收到的。第一媒体接入控制器可以被布置为通过第一通信链路接收转发的第一数据帧并通过第二通信链路将转发的第一数据帧发送到一个或多个处理器电路,以供由软件服务对第一数据帧的数据有效载荷进行分组处理。第一媒体接入控制器还可以被布置为通过网络通信信道在第二数据帧中传输第一数据帧的经过分组处理的数据有效载荷。
[0097]根据某些示例,从与网络通信信道相关联的网络的角度来看,第一设备中所包括的第一媒体接入控制器可以充当主机计算设备的网络输入/输出设备。从主机计算设备的角度来看,第一设备中所包括的第二媒体接入控制器可以充当网络输入/输出设备。
[0098]在某些示例中,软件服务可以包括下列各项中的至少一项,但不仅限于:预设软件服务、隔离软件服务、安全性软件服务、标识软件服务或计量软件服务。软件服务可以基于被布置为运营主机计算设备的服务提供商和被布置为使用在主机计算设备上维护的计算资源的一个或多个承租人之间的一个或多个服务级别协议。根据某些示例,一个或多个承租人可以通过分别地被配置为一个或多个虚拟机,这些虚拟机可以被布置为使用在主机计算设备上维护的计算资源。
[0099]根据某些示例,第一设备中所包括的第一媒体接入控制器或第二媒体接入控制器可以被配置为根据以太网规范来进行操作。以太网规范可以包括IEEE 802.3。
[0100]根据某些示例,第一设备中所包括的第一媒体接入控制器可以被布置为通过第一接口耦合到第二通信链路。此外,第一设备中所包括的第二媒体接入控制器还可以被布置为通过第二接口耦合到主机计算设备。对于这些示例,第一接口和第二接口两者都可以被配置为根据PCI快速规范来进行操作。
[0101]在某些示例中,第一设备中所包括的一个或多个处理器电路可以包括多核处理器的一个或多个核。
[0102]根据某些示例,第二设备或第二装备可以包括能够耦合到主机计算设备的第一媒体接入控制器和能够耦合到一个或多个处理器电路并且还能够耦合到网络通信信道的第二媒体接入控制器。一个或多个处理器电路被布置为执行对通过第一媒体接入控制器转发和/或通过第二媒体接入控制器转发的一个或多个数据帧的数据有效载荷的分组处理。在某些示例中,第二设备还可以包括被布置为将第一媒体接入控制器耦合到第二媒体接入控制器的通信链路。
[0103]在某些示例中,第二设备还可以包括被布置为在物理上将第二媒体接入控制器耦合到网络通信信道的连接器。
[0104]在某些示例中,第二设备中所包括的一个或多个处理器电路还可以被布置为执行与分组处理相关联的任务,包括执行操作系统以支持促进对一个或多个数据帧的数据有效载荷的分组处理的软件服务。
[0105]根据某些示例,第二设备中所包括的通信链路可以被布置为使得第二媒体接入控制器能将数据帧的经过分组处理的数据有效载荷转发到第一媒体接入控制器。对于这些示例,数据帧可能是在第二媒体接入控制器上从网络通信信道接收的。第二媒体接入控制器可将接收到的数据帧转发到一个或多个处理器电路,以便数据有效载荷变为由软件服务进行分组处理的数据。
[0106]在某些示例中,第二设备中所包括的通信链路可以被布置为使得第一媒体接入控制器能将第一数据帧转发到第二媒体接入控制器。对于这些示例,第一数据帧可能是从主机计算设备接收到的。第二媒体接入控制器可以被布置为接收第一数据帧,并将第一数据帧发送到一个或多个处理器电路,以供由软件服务对第一数据帧的数据有效载荷进行分组处理。第二媒体接入控制器还可以被布置为通过网络通信信道在第二数据帧中传输第一数据帧的经过分组处理的数据有效载荷。
[0107]根据某些示例,从与网络通信信道相关联的网络的角度来看,第二设备中所包括的第二媒体接入控制器可以被配置为充当主机计算设备的网络输入/输出设备。对于这些示例,从主机计算设备的角度来看,第二设备中所包括的第一媒体接入控制器可以被配置为充当网络输入/输出设备。
[0108]在某些示例中,第二设备中所包括的第一媒体接入控制器或第二媒体接入控制器中每一个都可以被配置为根据以太网规范来进行操作。对于这些示例,以太网规范可以包括 IEEE 802.3。
[0109]根据某些示例,第二设备中所包括的第二媒体接入控制器可以能够通过第二接口耦合到一个或多个处理器电路。此外,第二设备中所包括的第一媒体接入控制器还可以能够通过第一接口耦合到主机计算设备。对于这些示例,第一接口和第二接口两者都可以被配置为根据PCI快速规范来进行操作。
[0110]在某些示例中,可以实现第一方法。实现第一方法可以包括在第一媒体接入控制器中从耦合到第一媒体接入控制器的主机计算设备接收第一数据帧。然后,可以通过把第二媒体接入控制器耦合到第一媒体接入控制器的第一通信链路,来将第一数据帧转发到第二媒体接入控制器。然后,可以在第二媒体接入控制器中接收第一数据帧,然后,通过第二通信链路将第一数据帧转发到一个或多个处理器电路。一个或多个处理器电路可以被布置为对第一数据帧的数据有效载荷执行分组处理。然后,可以通过第一通信链路在第二媒体接入控制器中接收经过分组处理的数据有效载荷。经过分组处理的数据有效载荷可以被包括在第二数据帧中,然后,通过耦合到第二媒体接入控制器的网络通信信道,从第二媒体接入控制器传输第二数据中贞。
[0111]根据某些示例,为实现第一方法,一个或多个处理器电路还可以被布置为执行与分组处理相关联的任务,包括执行操作系统,以支持促进对一个或多个数据帧的数据有效载荷的分组处理的软件服务。
[0112]根据某些示例,为实现第一方法,软件服务可以基于被布置为运营主机计算设备的服务提供商和被布置为使用在主机计算设备上维护的计算资源的一个或多个承租人之间的一个或多个服务级别协议。软件服务可以包括下列各项中的至少一项:预设软件服务、隔离软件服务、安全性软件服务、标识软件服务或计量软件服务。此外,一个或多个承租人可以分别地被配置为一个或多个虚拟机,所述虚拟机被配置为使用在主机计算设备上维护的计算资源。
[0113]在某些示例中,为实现第一方法,第一媒体接入控制器或第二媒体接入控制器可以根据以太网规范进行操作,以实现第一方法。以太网规范可以包括IEEE 802.3。
[0114]在某些示例中,可以实现第二方法。实现第二方法可以包括在耦合到网络通信信道的第一媒体接入控制器中接收第一数据帧。第一数据帧可以发往耦合到第二媒体接入控制器的主机计算设备。然后,可以通过第一通信链路将第一数据帧转发到一个或多个处理器电路。一个或多个处理器电路可以被布置为对第一数据帧的数据有效载荷执行分组处理。对于这些示例,可以通过第一通信链路在第一媒体接入控制器上从一个或多个处理器电路接收数据有效载荷。然后,可以将经过分组处理的数据有效载荷包括在第二数据帧中。然后,可以通过把第一媒体接入控制器耦合到第二媒体接入控制器的第二通信链路,来将第二数据帧转发到第二媒体接入控制器。然后,可以在第二媒体接入控制器上接收第二数据帧,然后,将第二数据帧从第二媒体接入控制器发送到主机计算设备。
[0115]根据某些示例,为实现第二方法,一个或多个处理器电路还可以被布置为执行与分组处理相关联的任务,包括执行操作系统,以支持促进对一个或多个数据帧的数据有效载荷的分组处理的软件服务。
[0116]根据某些示例,为实现第二方法,软件服务可以基于被布置为运营主机计算设备的服务提供商和被布置为使用在主机计算设备上维护的计算资源的一个或多个承租人之间的一个或多个服务级别协议。软件服务可以包括下列各项中的至少一项:预设软件服务、隔离软件服务、安全性软件服务、标识软件服务或计量软件服务。此外,一个或多个承租人可以分别地被配置为一个或多个虚拟机,所述虚拟机被配置为使用在主机计算设备上维护的计算资源。
[0117]在某些示例中,为实现第二方法,第一媒体接入控制器或第二媒体接入控制器可以根据以太网规范进行操作以实现第一方法。以太网规范可以包括IEEE 802.3。
[0118]根据某些示例,至少一个机器可读介质包括多个指令,响应于在计算设备上被执行,所述指令导致所述计算设备执行如上文所提及的第一方法或第二方法。
[0119]在某些示例中,设备可以包括用于执行如上文所提及的第一方法或第二方法的装置。
[0120]在某些示例中,通信设备可以被布置为执行如上文所提及的第一方法或第二方法。
[0121]尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
【权利要求】
1.一种设备,包括: 能够耦合到网络通信信道的第一媒体接入控制器; 能够耦合到主机计算设备的第二媒体接入控制器; 被布置为执行对通过所述第二媒体接入控制器转发和/或通过所述第一媒体接入控制器转发的一个或多个数据帧的数据有效载荷的处理的一个或多个处理器电路; 将所述第一媒体接入控制器耦合到所述第二媒体接入控制器的第一通信链路;以及 将所述第一媒体接入控制器耦合到所述一个或多个处理器电路的第二通信链路。
2.如权利要求1所述的设备,其特征在于,包括耦合到所述一个或多个处理器电路的存储器,所述存储器被布置为至少临时将在所述第一媒体接入控制器上从所述网络通信信道接收到的数据有效载荷存储在一个或多个数据帧中,或被布置为至少临时将在所述第二媒体接入控制器上从所述主机计算设备接收到的数据有效载荷存储在一个或多个数据帧中。
3.如权利要求2所述的设备,其特征在于,包括所述存储器,其包括易失性存储器。
4.如权利要求1所述的设备,其特征在于,包括,所述一个或多个处理器电路还被布置为执行与分组处理相关联的任务,包括执行操作系统以支持促进对所述一个或多个数据帧的所述数据有效载荷的分组处理的软件服务。
5.如权利要求4所述的设备,其特征在于,包括所述第一通信链路被布置为使得所述第一媒体接入控制器能将数据帧的经过分组处理的数据有效载荷转发到所述第二媒体接入控制器,所述数据帧是在所述第一媒体接入控制器上从所述网络通信信道接收到的,所述接收到的数据帧由所述第一媒体接入控制器通过所述第二通信链路转发到所述一个或多个处理器电路,以便使所述数据有效载荷变为由所述软件服务进行分组处理。
6.如权利要求4所述的设备,其特征在于,包括所述第一通信链路被布置为使得所述第二媒体接入控制器能将第一数据帧转发到所述第一媒体接入控制器,所述第一数据帧是从所述主机计算设备接收到的,所述第一媒体接入控制器被布置为通过所述第一通信链路接收所述第一数据帧,并通过所述第二通信链路,将所述第一数据帧发送到所述一个或多个处理器电路,供由所述软件服务对所述第一数据帧的数据有效载荷进行分组处理,所述第一媒体接入控制器还被布置为通过所述网络通信信道,在第二数据帧中传输所述第一数据帧的所述经过分组处理的数据有效载荷。
7.如权利要求4所述的设备,其特征在于,包括所述软件服务包括下列各项中的至少一项:预设软件服务、隔离软件服务、安全性软件服务、标识软件服务或计量软件服务。
8.如权利要求7所述的设备,其特征在于,所述软件服务基于被布置为运营所述主机计算设备的服务提供商和被布置为使用在所述主机计算设备上维护的计算资源的一个或多个承租人之间的一个或多个服务级别协议。
9.如权利要求8所述的设备,其特征在于,所述一个或多个承租人被分别地布置为一个或多个虚拟机,所述虚拟机被布置为使用在所述主机计算设备上维护的所述计算资源。
10.如权利要求1到3中任一项所述的设备,其特征在于,包括从与所述网络通信信道相关联的网络的角度来看,所述第一媒体接入控制器充当所述主机计算设备的网络输入/输出设备,而从所述主机计算设备的角度来看,所述第二媒体接入控制器充当所述网络输入/输出设备。
11.如权利要求1到3中任一项所述的设备,其特征在于,包括被布置为根据以太网规范操作的所述第一媒体接入控制器或所述第二媒体接入控制器,所述以太网规范包括电气与电子工程师学会(IEEE)802.3以太网规范。
12.如权利要求1到3中任一项所述的设备,其特征在于,包括所述第一媒体接入控制器被布置为通过第一接口耦合到所述第二通信链路,而所述第二媒体接入控制器被布置为通过第二接口耦合到所述主机计算设备,所述第一接口和所述第二接口两者都被布置为根据外围组件互连快速(PCI快速)规范操作。
13.如权利要求1到3中任一项所述的设备,其特征在于,所述一个或多个处理器电路包括多核处理器的一个或多个核。
14.一种设备,包括: 能够耦合到主机计算设备的第一媒体接入控制器; 能够耦合到一个或多个处理器电路并且还能够耦合到网络通信信道的第二媒体接入控制器,被布置为执行对通过所述第一媒体接入控制器转发和/或通过所述第二媒体接入控制器转发的一个或多个数据帧的数据有效载荷的分组处理的所述一个或多个处理器电路;以及 被布置为将所述第一媒体接入控制器耦合到所述第二媒体接入控制器的通信链路。
15.如权利要求14所述的设备,其特征在于,包括被布置为在物理上将所述第二媒体接入控制器耦合到所述网络通信信道的连接器。
16.如权利要求14到15中任一项所述的设备,其特征在于,包括所述一个或多个处理器电路还被布置为执行与处理相关联的任务,包括执行操作系统以支持促进对所述一个或多个数据帧的所述数据有效载荷的分组处理的软件服务。
17.如权利要求16所述的设备,其特征在于,包括所述通信链路被布置为使得所述第二媒体接入控制器能将数据帧的经过分组处理的数据有效载荷转发到所述第一媒体接入控制器,所述数据帧是在所述第二媒体接入控制器上从所述网络通信信道接收到的,所述接收到的数据帧由所述第二媒体接入控制器转发到所述一个或多个处理器电路,以便使所述数据有效载荷变为由所述软件服务进行分组处理。
18.如权利要求16所述的,其特征在于,包括所述通信链路被布置为使得所述第一媒体接入控制器能将第一数据帧转发到所述第二媒体接入控制器,所述第一数据帧是从所述主机计算设备接收到的,所述第二媒体接入控制器被布置为接收所述第一数据帧并将所述第一数据帧发送到所述一个或多个处理器电路,以供由所述软件服务对所述第一数据帧的数据有效载荷进行分组处理,所述第二媒体接入控制器还被布置为通过所述网络通信信道,在第二数据帧中传输所述第一数据帧的所述经过分组处理的数据有效载荷。
19.如权利要求14到15中任一项所述的设备,其特征在于,包括从与所述网络通信信道相关联的网络的角度来看,所述第二媒体接入控制器被布置为充当所述主机计算设备的网络输入/输出设备,而从所述主机计算设备的角度来看,所述第一媒体接入控制器被布置为充当所述网络输入/输出设备。
20.如权利要求14所述的设备,其特征在于,包括所述第一媒体接入控制器或所述第二媒体接入控制器被布置为根据以太网规范操作,所述以太网规范包括电气与电子工程师学会(IEEE)802.3以太网规范。
21.如权利要求14所述的设备,其特征在于,包括所述第二媒体接入控制器能够通过第二接口耦合到所述一个或多个处理器电路,以及所述第一媒体接入控制器能够通过第一接口耦合到所述主机计算设备,所述第一接口和所述第二接口两者都被布置为根据外围组件互连快速(PCI快速)规范操作。
22.—种方法,包括: 在第一媒体接入控制器中接收第一数据帧,所述第一数据帧是从耦合到所述第一媒体接入控制器的主机计算设备接收到的; 通过把所述第二媒体接入控制器耦合到所述第一媒体接入控制器的第一通信链路,来将所述第一数据帧转发到第二媒体接入控制器; 在所述第二媒体接入控制器中接收所述第一数据帧,并通过第二通信链路将所述第一数据帧转发到一个或多个处理器电路,所述一个或多个处理器电路被布置为执行对所述第一数据帧的数据有效载荷的分组处理; 通过所述第一通信链路,在所述第二媒体接入控制器中从所述一个或多个处理器电路接收所述经过分组处理的数据有效载荷,并在第二数据帧中包括所述经过分组处理的数据有效载荷;以及 通过耦合到所述第二媒体接入控制器的网络通信信道,从所述第二媒体接入控制器传输所述第二数据帧。
23.如权利要求22所述的方法,其特征在于,包括所述一个或多个处理器电路还被布置为执行与处理相关联的任务,包括执行操作系统以支持促进对所述一个或多个数据帧的所述数据有效载荷的分组处理的软件服务。
24.如权利要求23所述的方法,其特征在于,包括所述软件服务基于被布置为运营所述主机计算设备的服务提供商和被布置为使用在所述主机计算设备上维护的计算资源的一个或多个承租人之间的一个或多个服务级别协议。
25.如权利要求24所述的方法,其特征在于,包括所述软件服务,其包括下列各项中的至少一项:预设软件服务、隔离软件服务、安全性软件服务、标识软件服务或计量软件服务。
26.如权利要求24所述的方法,其特征在于,包括所述一个或多个承租人被分别地布置为一个或多个虚拟机,所述虚拟机被布置为使用在所述主机计算设备上维护的所述计算资源。
27.如权利要求23中所述的方法,其特征在于,包括根据以太网规范操作所述第一媒体接入控制器或所述第二媒体接入控制器,所述以太网规范包括电气与电子工程师学会(IEEE)802.3以太网规范。
28.至少一个机器可读介质,所述至少一个机器可读介质包括多个指令,响应于在计算设备上被执行,所述指令导致所述计算设备执行如权利要求22到27中任一项所述的方法。
29.—种方法,包括: 在耦合到网络通信信道的第一媒体接入控制器中接收第一数据帧,所述第一数据帧发往耦合到第二媒体接入控制器的主机计算设备; 通过第一通信链路,将所述第一数据帧转发到一个或多个处理器电路,所述一个或多个处理器电路被布置为执行对所述第一数据帧的数据有效载荷的分组处理; 在分组处理之后,通过所述第一通信链路,在所述第一媒体接入控制器中从所述一个或多个处理器电路接收所述数据有效载荷,并在第二数据帧中包括所述经过分组处理的数据有效载荷; 通过把所述第一媒体接入控制器耦合到所述第二媒体接入控制器的第二通信链路,来将所述第二数据帧转发到第二媒体接入控制器; 在所述第二媒体接入控制器中接收所述第二数据帧;以及 将所述第二数据帧从所述第二媒体接入控制器发送到所述主机计算设备。
30.如权利要求29所述的方法,其特征在于,包括所述一个或多个处理器电路还被布置为执行与处理相关联的任务,包括执行操作系统以支持促进对所述一个或多个数据帧的所述数据有效载荷的分组处理的软件服务。
31.如权利要求30所述的方法,其特征在于,包括所述软件服务基于被布置为运营所述主机计算设备的服务提供商和被布置为使用在所述主机计算设备上维护的计算资源的一个或多个承租人之间的一个或多个服务级别协议。
32.如权利要求31所述的方法,其特征在于,包括所述软件服务,其包括下列各项中的至少一项:预设软件服务、隔离软件服务、安全性软件服务、标识软件服务或计量软件服务。
33.如权利要求31所述的方法,其特征在于,包括所述一个或多个承租人被分别地配置为一个或多个虚拟机,所述虚拟机被布置为使用在所述主机计算设备上维护的所述计算资源。
34.如权利要求29中所述的方法,其特征在于,包括所述第一媒体接入控制器或所述第二媒体接入控制器根据以太网规范操作,所述以太网规范包括电气与电子工程师学会(IEEE)802.3以太网规范。
35.至少一个机器可读介质,所述至少一个机器可读介质包括多个指令,响应于在计算设备上被执行,所述指令导致所述计算设备执行如权利要求29到34中任一项所述的方法。
36.一种设备,包括: 用于执行如权利要求22到27中任一项所述的方法的装置。
37.一种设备,包括: 用于执行如权利要求29到34中任一项所述的方法的装置。
38.一种被布置为执行如权利要求22-27中任一项所述的方法的通信设备。
39.一种被布置为执行如权利要求29-34中任一项所述的方法的通信设备。
【文档编号】H04L29/08GK104272697SQ201280072910
【公开日】2015年1月7日 申请日期:2012年5月2日 优先权日:2012年5月2日
【发明者】I·盖斯帕拉基司, P·P·小瓦斯基维茨, I·S·甘加, T·V·胡雷特, P·萨兰加姆 申请人:英特尔公司

最新回复(0)