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

中继设备的以太网暂停聚合的制作方法

2023-02-19 12:58:47 来源:中国专利 TAG:


1.以下涉及介质访问控制,包括以太网暂停聚合。


背景技术:

2.在一些数据分组网络中,中继设备(例如,介质访问控制安全(macsec)设备、互联网协议安全(ipsec)设备、隧道设备)可以被配置为在主机设备和对等之间中继数据分组。一些中继设备可能配备有数据缓冲区,用于存储从主机设备接收的传入数据分组,直到数据分组已成功加密并中继到对等设备。


技术实现要素:

3.所描述的技术涉及支持中继设备的以太网暂停聚合的改进方法、系统、设备和装置。通常,所描述的技术提供介质访问控制。
4.提供了一种网络中的流量控制方法,包括:由设备识别设备的数据缓冲区中空数据字节位置的数量;接收与传输数据分组相关联的指示符;识别包括在设备中的状态机的状态,其中状态机的状态可以基于指示符;暂停设备与至少两个其他设备之间的无损数据流。暂停无损数据流可以基于空数据字节位置的数量低于阈值、状态机的状态或二者。
5.提供了一种设备,包括:处理器;与处理器进行电子通信的存储器;以及存储在存储器中的指令,所述指令可由处理器执行以:由设备识别设备的数据缓冲区中的空数据字节位置的数量;接收与传输数据分组相关联的指示符;识别包括在设备中的状态机的状态,该状态机的状态基于该指示符;并暂停设备与至少两个其他设备之间的无损数据流。暂停无损数据流可以基于空数据字节位置的数量低于阈值、状态机的状态或二者。
6.提供了一种系统,包括:数据缓冲区;控制器,该控制器用于识别数据缓冲区中的空数据字节位置的数量;收发器,其中所述收发器被配置为接收与传输数据分组相关联的指示符;状态机,被配置为基于该指示符在一组状态之间转换。控制器还被配置为暂停数据缓冲区和至少两个设备之间的无损数据流,其中暂停无损数据流可以基于空数据字节位置的数量低于阈值,状态的状态机器或二者。
7.示例可包括以下特征之一或其任意组合。
8.本文描述的方法、装置和系统的一些示例可以包括启用设备与至少两个其他设备之间的无损数据流,其中启用无损数据流可以基于空数据的数量字节位置超过阈值、状态机的状态或二者。
9.在本文所述的方法、装置和系统的一些示例中,基于空数据字节位置的数量暂停无损数据流可以与状态机的状态无关;基于空数据字节位置的数量启用无损数据流可以与状态机的状态无关;或两者。
10.在本文所述的方法、装置和系统的一些示例中,暂停无损数据流可以基于与状态机相关联的第一状态;以及启用无损数据流可以基于与状态机相关联的第二状态。
11.本文描述的方法、装置和系统的一些示例可以包括基于空数据字节位置的数量低
express(pcie)接口和以太网接口中的至少一个。
30.在本文描述的方法、装置和系统的一些示例中,状态机可以进一步被配置为响应于数据缓冲区利用率下降到低于预定阈值而向主机设备发送开始传输命令。
附图说明
31.图1示出了根据本公开的方面的支持中继设备的以太网暂停聚合的系统的示例。
32.图2示出了根据本公开的方面的支持中继设备的以太网暂停聚合的系统的示例。
33.图3示出了根据本公开的方面的支持中继设备的以太网暂停聚合的中继设备的示例。
34.图4示出了根据本公开的方面的支持中继设备的以太网暂停聚合的过程流的示例。
具体实施方式
35.在一些网络中,介质访问控制安全(macsec)引擎(这里也称为中继组件)可以被配置为在主机设备和对等设备之间中继数据分组。macsec引擎可以在例如电耦合在主机设备和对等设备之间的中继设备中实现。在一些示例中,macsec引擎可以从入口到出口移动或传输数据。在一些情况下,macsec引擎可以在中继或传输数据分组之前改变数据分组的分组大小(例如,由于对数据分组执行的加密过程、信号处理等)。例如,macsec引擎的输入带宽可能与输出带宽不同。中继设备的一些其他示例包括互联网协议安全(ipsec)设备或隧道设备。
36.一些中继设备可以配备有数据缓冲区,用于存储从主机设备接收的传入数据分组,直到数据分组已成功加密并中继到对等设备。在某些情况下,中继设备可以配备数据缓冲区,用于存储从主机设备(例如,经由中继设备的主机侧)接收的传入数据分组,直到数据分组已成功加密并中继到对等设备(例如,经由中继设备的线路侧)。为了无损操作,中继设备可以配备数据缓冲区(这里也称为保持缓冲区或接收缓冲区)和用于在中继设备的主机侧和线路侧停止数据分组的数据流的状态机。在一些情况下,中继设备的主机侧可以通过相对较短的通信链路电耦合到主机设备,并且中继设备的线路侧可以通过相对较长的通信链路电耦合到对等设备。
37.在一些情况下,为了确保主机设备(这里也称为发送器)与对等设备(这里也称为接收器)之间的无损操作,可以将分组缓冲区并入网络设备(例如,主机设备、中继设备、对等设备)。在一些示例中,中继设备处的分组缓冲区的大小可以等于中继设备和对等设备之间的往返时间(rtt)。但是,macsec引擎和对等设备之间的通信介质(例如线路)上的路径阻塞和拥塞等情况可能会导致丢失传输和重传的增加,从而增加要存储在中继设备的缓冲区中的数据量。在某些情况下,与输入带宽(例如,在主机侧)相比,与通信介质相关联的降低的数据速率/传输速度可能会导致macsec引擎处的输出带宽(例如,在线路侧)减少,这可能会进一步增加要存储在数据缓冲区中的数据量。在一些其他情况下,macsec引擎可以处理数据流量并将其中继到对等设备的速率可以基于与macsec引擎和对等设备之间的通信介质相关联的传输速度,并且该速率可能比数据流量从主机设备传输到macsec引擎的速率更慢。
38.在一些数据分组网络中,当中继设备被添加到信道(例如,从主机设备经由中继设备到对等设备)并且需要无损操作时,中继设备和对等设备之间的一些条件(例如,路径阻塞、拥塞、数据速率降低)可能会阻止中继设备充当线路。也就是说,例如,一些实现可以基于中继设备和对等设备之间的rtt来缩放中继设备的数据缓冲区,以确保设备之间的无损操作模式。因此,在某些情况下,一些中继设备可能会配备比较大的数据缓冲区来存储传入的数据分组,以减少丢弃分组的可能性。然而,由于开销(例如,成本、设备尺寸等),此类技术可能无法实现。
39.在一些数据分组网络中,例如,中继设备将分组从主机设备转发到对等设备,但效率有些低(例如,由于本文所述的路径阻塞、数据速率等)。因此,在某些情况下,中继设备的数据缓冲区(例如,主机侧缓冲区)中存储的数据量可能达到数据缓冲区的数据存储容量。一些技术可以通过在中继设备处终止无损操作模式(例如,主机设备和中继设备之间的无损操作结合中继设备和对等设备之间的无损操作)来解决这种数据存储容量。例如,主机设备可以请求(例如,经由命令)中继设备停止向主机设备传输数据分组(例如,停止将数据分组从对等设备中继到主机设备),并且中继设备可以吸收来自对等设备的传入流量。然而,在中继设备处吸收流量(例如,来自对等设备的流量)可能与高成本开销相关联,因为中继设备和对等设备之间的通信介质(例如,线路)可能相对较长(例如,100米)。即,例如,由于与通信介质相关联的相对大的rtt,在通信介质上传输(并且将被存储在中继设备处)的现有数据分组的量可能相对较大。
40.本文描述的方面支持在包括macsec引擎的中继设备处的无损模式操作。例如,中继设备可以支持主机设备和对等设备之间经由中继设备的无损数据传输。中继设备可以包括用于基于一组标准启用和/或禁用从主机设备到对等设备的数据流的状态机(例如,暂停-反射状态机)。在一些示例中,通过启用和/或禁用数据流,中继设备可以控制数据缓冲区处的数据流,用于将数据分组从主机设备转发到对等设备,从而防止数据丢失。例如,控制数据流可以防止传入数据量超过缓冲区容量。
41.存储从主机设备流向对等设备的分组的数据缓冲区可以被称为中继设备的“主机侧缓冲区”、“主机侧数据缓冲区”或“中继单元分组缓冲区”。在某些情况下,为了完全无损终止,可以根据主机设备和中继设备之间的rtt来确定主机端缓冲区的大小。例如,主机设备和中继设备之间的rtt可以对应于主机设备和中继设备之间的相对较短(例如,3英寸)的通信介质。例如,主机端缓冲区可以存储来自主机设备(并以对等设备为目标)的数据分组,并且主机端缓冲区的大小可能相对较小(例如,适应主机之间相对较小的rtt主机设备和中继设备)。
42.中继设备可以包括另一个状态机,用于基于一组标准启用和/或禁用从对等设备到主机设备的数据流。在一些示例中,通过启用和/或禁用数据流,中继设备可以控制数据缓冲区(本文也称为“线路侧缓冲区”、“线路侧数据缓冲区”或“对等侧缓冲区”)用于将数据分组从对等设备转发到主机设备,从而防止数据丢失。例如,控制数据流可以防止传入数据量超过缓冲区容量。
43.在一些情况下,为了完全无损终止,可以根据中继设备和对等设备之间的rtt来确定线路侧数据缓冲区的大小。例如,中继设备和对等设备之间的rtt可以对应于中继设备和对等设备之间的相对较长(例如,100米)的通信介质。在一个示例中,线路侧数据缓冲区可
以存储来自对等设备(并且以主机设备为目标)的数据分组,并且线路侧数据缓冲区的大小可能相对较大(例如,容纳相对较大的中继设备和对等设备之间的rtt)。
44.本文描述的本公开的各方面可以支持在示例条件(例如,假设)下减少线路侧缓冲区的大小,其中由对等设备发送的任何带宽(例如,数据分组)可以经由中继设备被转发到主机设备。在这样的示例中,中继设备和/或主机设备(例如,经由中继设备)可以制止生成暂停数据分组并将其发送到对等设备。
45.在另一个示例中,本公开的方面可以支持在示例条件下减少线路侧缓冲区的大小,(例如,假设)其中没有由对等设备发送的任何带宽(例如,数据分组)可以被转发到对等设备。在这样的示例中,中继设备和/或对等设备(例如,经由中继设备)可以生成暂停分组并将其发送到主机设备。
46.本文描述的中继设备可以支持从对等设备接收暂停请求并将暂停请求转发给主机设备。在一些方面,通过向主机设备转发暂停请求,中继设备可以停止或暂停到对等设备的业务流(例如,通过请求主机设备停止发送数据分组)。在某些情况下,当中继设备的主机侧缓冲区超过阈值(例如,主机侧缓冲区的数据容量)时,中继设备可以生成暂停请求并将其发送到主机设备。在一个示例中,从主机设备的角度来看,暂停请求可能看起来源自对等设备。
47.在示例中,本文描述的方面可以支持从主机设备到中继设备的无损操作模式和从中继设备到对等设备的无损操作模式。在另一个示例中,示例方面可以支持经由中继设备从对等设备到主机设备的无损操作模式。例如,对等设备可以向中继设备发送请求(例如,暂停帧)以停止从主机设备到对等设备的数据流,并且中继设备可以将该请求转发给主机设备。备选地或附加地,主机设备可以向中继设备发送请求(例如,暂停帧)以停止从对等设备到主机设备的数据流,并且中继设备可以将该请求转发给对等设备。
48.在示例方面,中继设备可以基于中继设备的数据缓冲区中的数据量(例如,相对于阈值)来控制数据流。例如,当存储在数据缓冲区中的数据量超过阈值时(例如,由于从主机设备接收到的数据分组,中继到对等设备的较少的数据分组,由于数据速率的差异等),中继设备可以向主机设备发送请求(例如,暂停帧),请求主机设备停止或暂停数据分组传输。在一些情况下,中继设备可以基于从对等设备接收到的指示符(例如,指示“不发送”数据分组的暂停帧、指示“发送”数据分组的传输命令)来控制数据流。例如,中继设备可以观察对等设备发送的暂停帧和/或传输命令。在一个示例中,当中继设备的数据缓冲区中的数据量低于阈值时(例如,中继缓冲区为空),并且对端设备处于启用传输状态(例如,中继设备已接收到来自对等设备的传输命令),中继设备可以向主机设备发送传输命令以开始或恢复数据分组传输。
49.在一些方面,在对等设备处,当对等设备的数据缓冲区中的数据量低于阈值时(例如,数据缓冲区为空),对等设备可以向主机发送传输命令(例如,通过中继设备)用于开始或恢复数据分组传输。在一个示例中,对等设备可以向中继设备发送传输命令。中继设备可以基于中继设备的缓冲区状态将传输命令转发给主机设备(或不转发传输命令)。例如,当中继设备的数据缓冲区中的数据量低于阈值(例如,缓冲区状态为空)时,中继设备可以将传输命令转发给主机设备。备选地或附加地,当数据量大于或等于阈值(例如,缓冲区状态为满)时,中继设备可以制止向主机设备转发传输命令。对等设备的指示(例如,暂停帧、传
输命令)可以由中继设备存储。
50.中继设备可以在线路侧支持减小的缓冲区大小(例如,25千字节(kb)、50kb),从而提供减小的开销(例如,成本、设备大小)。在一些示例中,本文描述的方面可以支持在中继设备的线路侧移除数据缓冲区,这可能优于一些其他中继设备。例如,在数据分组网络中,中继设备和对等设备之间的通信介质(例如,线路)可以是交换机到交换机的100米迹线。对于一些其他中继设备,中继设备可以在线路侧包括相对较大的数据缓冲区,用于吸收所有信息/数据分组以通过通信介质进行通信。本文描述的中继设备的示例方面可以在以太网交换机或以太网齿轮箱中实现。
51.本公开的各方面最初是在数据分组网络的上下文中描述的。然后描述支持中继设备的以太网暂停聚合的过程和信令交换的示例。参考与中继设备的以太网暂停聚合有关的装置图、系统图和流程图进一步说明和描述了本公开的各方面。
52.图1示出了根据本公开的方面的支持中继设备的以太网暂停聚合的系统100的示例。系统100可以包括例如数据分组网络。在一个示例中,系统100可以包括主机设备105、中继设备110和对等设备115。主机设备105、中继设备110和对等设备115可以是能够连接到无线或有线网络的任何电子设备。
53.系统100可以支持主机设备105和对等设备115之间的数据分组的通信,例如,经由中继设备110。在一些方面,系统100可以在网络中实现流控制的方面,支持主机设备105、中继设备110和对等设备115之间的无损传输(例如,避免丢帧或数据分组)。例如,系统100可以支持启用和/或停止中继设备110的主机侧(例如,相对短的通信链路,例如,通信链路120)和线路侧(例如,相对长的通信链路,例如,通信链路125)两者处的数据分组流。
54.系统100可以支持主机设备105、对等设备115和中继设备110中的任何一个之间通过网络的机器对机器通信。在一些方面,系统100可以支持附加主机设备105、对等设备115和/或中继设备110之间的机器对机器通信。系统100支持的网络可以包括任何类型的已知通信介质或通信介质集合,并且此类网络可以使用任何类型的协议在端点之间传输消息。网络可以包括有线通信技术、无线通信技术或它们的任何组合。
55.互联网是系统100支持的网络的示例,并且该网络可以构成由位于多个位置的多个计算机、计算网络和其他设备(例如,主机设备105、对等设备115)组成的互联网协议(ip)网络和/或中继设备110等。系统100支持的网络的其他示例可以包括但不限于标准普通老式电话系统(pots)、集成业务数字网络(isdn)、公共交换电话网络(pstn)、局域网(lan)、广域网(wan)、无线lan(wlan)、会话发起协议(sip)网络、互联网协议语音(voip)网络、蜂窝网络和任何其他类型的现有技术中已知的分组交换或电路交换网络。在一些情况下,系统100可以包括网络或网络类型的任何组合。在一些方面,网络可以包括通信介质的任何组合,例如同轴电缆、铜缆/线、光纤电缆或用于通信数据(例如,发送/接收数据)的天线。
56.主机设备105和中继设备110可以经由通信链路120进行通信。在示例中,通信链路120可以是连接(例如,电耦合)主机设备105和中继设备110的线路迹线。通信链路120可以连接到中继设备110的数据接口。
57.通信链路120可以被称为例如金属线、传输线、互连线、迹线、电线、导体、信号路径和/或信号介质。例如,通信链路120可以包括提供用于耦合或互连与主机设备105和中继设备110相关联的电路的信号路径的导电材料的任何组合。导电材料可以包括例如铝(al)、铜
(cu)、al和cu的合金等。在一些其他示例中,导电材料可以包括其他材料,例如掺杂多晶硅、掺杂单晶硅、钛(ti)、钼(mo)等。
58.中继设备110和对等设备115可以经由通信链路125进行通信。在示例中,通信链路125可以是连接(例如,电耦合)中继设备110和对等设备115的数据电缆。在一些方面,通信链路125可以是安全链路并且可以能够传送加密信息。通信链路125可以连接到中继设备110的另一个数据接口。数据接口可以是例如pcie接口、以太网接口等。
59.通信链路125可以包括同轴电缆、光纤链路和/或开关的任何组合。在一个示例中,通信链路125可以是以太网电缆。例如,通信链路125可以是全双工以太网链路。在一些情况下,通信链路125可以具有至少5米的长度。在一些其他示例中,通信链路125可以是包括无线信道的传输介质。例如,中继设备110可以是有线到无线的中继设备。
60.主机设备105可以包括暂停有限状态机(fsm)130(在本文中也称为有限状态自动机、有限自动机或状态机)、接收缓冲区135(在本文中也称为数据缓冲区)和传输管道140(这里也称为传输管道)。暂停fsm 130可以支持主机设备105、中继设备110和对等设备115之间的流控制。在一些方面,暂停fsm 130可以支持通信链路120上两个方向(例如,从主机设备105到对等设备,从对等设备115到主机设备105)的流控制115。
61.例如,主机设备105可以经由通信链路120和通信链路125(例如,通过中继设备110)间接地向对等设备115发送暂停帧和/或传输命令。在一些方面,暂停帧在本文中可以被称为暂停消息或暂停请求。在一些其他方面,传输命令在本文中可以被称为开始传输命令或启用请求。
62.在示例中,基于暂停fsm 130的状态,主机设备105(暂停fsm 130)可以输出暂停帧,用于针对指定的时段暂停对等设备115的传输(例如,数据分组的传输)。在另一个示例中,基于暂停fsm 130的不同状态,主机设备105可以向对等设备115发送传输命令以启用或取消暂停对等设备115的数据分组传输。
63.接收缓冲区135例如可以是先进先出(fifo)数据缓冲区。主机设备105可以存储从对等设备115接收的(例如,经由中继设备110接收的)数据分组。例如,传输管道140可以是包括一组逻辑连接的数据路径,并且传输管道140可以与pcie架构(pipe)规范的物理接口兼容。主机设备105可以例如经由传输管道140在通信链路120上传输数据分组。
64.在示例中,基于存储在接收缓冲区135中的数据量超过阈值,暂停fsm 130可以进入第一状态(例如,暂停状态),并且主机设备105(暂停fsm 130)可能会输出暂停帧。在另一示例中,基于存储在接收缓冲区135中的数据量小于阈值,暂停fsm 130可以进入第二状态(例如,取消暂停状态),并且主机设备105(暂停fsm 130)可以输出用于由对等设备115开始或恢复数据分组传输的传输命令。主机设备105可以处理(例如,使用包括在主机设备105中的处理器)存储在接收缓冲区135中的数据分组,并且暂停fsm 130可以基于检测到存储在接收缓冲区135中的数据量小于阈值而进入取消暂停状态。
65.在另一示例中,主机设备105可以响应中继设备110接收到的暂停帧。例如,对等设备115可以通过通信链路125向中继设备110发送暂停帧,并且中继设备110可以通过通信链路120向主机设备105发送相应的暂停帧(或相同的暂停帧)。主机设备105可以基于暂停帧通过传输管道140暂停(例如,数据分组的)传输。在一个示例中,暂停帧可以包括用于暂停数据分组传输的指定时间段。主机设备105可以基于暂停帧来暂停经由传输管道140的传输
(例如,数据分组的传输)。
66.备选地或附加地,主机设备105可以响应从中继设备110接收到的传输命令。例如,对等设备115可以通过通信链路125向中继设备110发送(transmit)传输(transmission)命令(这里也称为开始传输命令),并且中继设备110可以通过通信链路120向主机设备105发送传输命令。主机设备105可以基于传输命令经由传输(transmit)管道140开始或恢复(例如,数据分组的)传输。
67.本文描述的方面的示例可以不同于主机设备(例如,主机设备105)可以接收和响应直接从对等设备(例如,对等设备115)接收的暂停帧和/或传输命令的一些数据分组网络实现。例如,在一些其他实现中(例如,没有中继设备110),主机设备(例如,主机设备105)可以通过通信链路116直接从对等设备(例如,对等设备115)接收暂停帧或传输命令。
68.对等设备115可以包括暂停fsm 165(在本文中也称为有限状态自动机、有限自动机或状态机)、接收缓冲区170(在本文中也称为数据缓冲区)、以及传输管道175(这里也称为传输管道)。暂停fsm 165、接收缓冲区170和传输管道140可以分别包括暂停fsm 130、接收缓冲区135和传输管道140的方面的示例。
69.接收缓冲区170例如可以是fifo数据缓冲区。对等设备115可以存储从主机设备105接收的(例如,经由中继设备110接收的)数据分组。例如,传输管道175可以是包括一组逻辑连接的数据路径,并且传输管道175可以与pipe规范兼容。对等设备115可以在通信链路125上例如经由传输管道175传输数据分组。
70.暂停fsm 165可以支持对等设备115、中继设备110和对等设备115之间的流控制。在一些方面,暂停fsm 165可以通过通信链路125支持两个方向上的流控制(例如,在对等设备115和中继设备110之间、主机设备105和对等设备115之间(经由中继设备110)等)。
71.例如,基于暂停fsm 165的状态,对等设备115(暂停fsm 165)可以输出暂停帧以用于暂停主机设备105的传输(例如,数据分组的传输)。备选地或附加地,对等设备115可以响应从其他设备(例如,主机设备105)接收的暂停帧。在一些情况下,基于暂停fsm 165的状态,对等设备115可以向主机设备105发送传输命令(在本文中也称为开始传输命令)以启用或取消暂停主机设备的数据分组传输105。在一些方面,对等设备115可以直接或间接(例如,经由中继设备110)向主机设备105发送暂停帧和/或传输命令。
72.在示例中,基于存储在接收缓冲区170中的数据量超过阈值,暂停fsm 165可以进入第一状态(例如,暂停状态),并且对等设备115(暂停fsm 165)可能会输出暂停帧。在另一个示例中,基于存储在接收缓冲区170中的数据量小于阈值,暂停fsm 165可以进入第二状态(例如,取消暂停状态),并且对等设备115(暂停fsm 165)可以由主机设备105输出用于开始或恢复数据分组传输的传输命令。对等设备115可以处理(例如,使用包括在对等设备115中的处理器)存储在接收缓冲区170中的数据分组,并且暂停fsm 165可以基于检测到存储在接收缓冲区170中的数据量小于阈值而进入取消暂停状态。
73.在另一个示例中,对等设备115可以响应主机设备105接收到的暂停帧。例如,对等设备115可以从主机设备105接收暂停帧以用于暂停由对等设备115进行的传输(例如,数据分组的)。在一个示例中,对等设备115可以通过通信链路125从主机设备105间接接收暂停帧(例如,经由中继设备110)。对等设备115可以基于暂停帧经由传输管道175暂停传输(例如,数据分组的)。
74.在另一示例中,对等设备115可以响应中继设备110接收到的暂停帧。例如,主机设备105可以通过通信链路120向中继设备110发送暂停帧,并且中继设备110可以通过通信链路125向对等设备115发送相应的暂停帧(或相同的暂停帧)。对等设备115可以基于暂停帧经由传输管道175暂停(例如,数据分组的)传输。
75.备选地或附加地,对等设备115可以响应从主机设备105接收到的传输命令。例如,对等设备115可以从主机设备105接收传输命令(这里也称为开始传输命令)用于开始或恢复对等设备115的数据分组传输。在示例中,对等设备115可以通过通信链路125从主机设备105接收传输命令。
76.在另一示例中,对等设备115可以响应从中继设备110接收到的传输命令。例如,主机设备105可以通过通信链路120向中继设备110发送传输命令,并且中继设备110可以通过通信链路125向对等设备115发送相应的传输命令(或中继相同的传输命令)。对等设备115可以基于传输命令经由传输管道175开始或恢复(例如,数据分组的)传输。
77.中继设备110可以包括例如macsec引擎,该macsec引擎被配置为在主机设备105和对等设备115之间中继数据分组。在一些方面,中继设备110可以支持对从主机设备105和/或对等设备115接收的数据分组或信令执行一个或更多个加密过程或转换过程。例如,对于从主机设备105或对等设备115接收的信令,中继设备110可以执行信号处理操作,例如信号放大、信号转换(例如,从电信号到光信号,从一组规范到另一组规范),和/或协议转换(例如,中继设备110可以用作中继器)。因此,在一些示例中,中继设备110处的输入带宽可以不同于输出带宽。中继设备110可以包括传输管道145、接收缓冲区150、暂停聚合引擎155、暂停fsm 160和暂停fsm 161。
78.传输管道145例如可以是包括一组逻辑连接的数据路径,并且传输管道140可以与pipe规范兼容。中继设备110可以在通信链路120和/或通信链路125例如经由传输管道145传输数据分组。
79.接收缓冲区150例如可以是fifo数据缓冲区。中继设备110可以在接收缓冲区150中存储从主机设备105接收到的数据分组。在一个示例中,中继设备110可以在接收缓冲区150中存储从主机设备105(经由中继设备110的主机侧)接收到的数据分组。在一些示例中,中继设备110可以从接收缓冲区150中移除已经成功加密并中继到对等设备115的数据分组。在一个示例中,中继设备110可以经由中继设备110的线路侧中继数据分组。
80.暂停聚合引擎155可以监控接收缓冲区150的缓冲区状态(例如,缓冲区利用率)和暂停fsm 160的状态(例如,状态)。缓冲区状态可以例如指示是否缓冲区利用率超过接收缓冲区150的数据存储容量。在一些方面,缓冲区状态可以指示缓冲区利用率是否超过数据存储阈值。数据存储阈值可以不同于(例如,小于)数据存储容量。
81.备选地或附加地,缓冲区状态可以基于接收缓冲区150中的空数据字节位置的数量。例如,缓冲区状态可以指示空数据字节位置的数量是否高于阈值。例如,基于接收缓冲区150的缓冲区状态和/或暂停fsm 160的状态,中继设备110(例如,暂停聚合引擎155)可以向主机设备105发送暂停帧或传输命令。
82.暂停fsm 160可以支持主机设备105、中继设备110和对等设备115之间的流控制。在一些方面,暂停fsm 160可以支持从主机设备105到对等设备115的流控制。暂停fsm 160在本文中可以被称为“修改的暂停fsm”、“对等暂停fsm影子”或“对等暂停fsm反射”。例如,
暂停fsm 160可以是能够镜像暂停fsm165的状态的影子fsm。在一些方面,暂停fsm 160可以是能够预测对等设备115的暂停fsm 165的fsm状态的影子fsm。在一些方面,暂停fsm 160可以包括机器学习网络(例如,由中继设备110的一个或更多个处理器和/或存储在中继设备110的存储器中的程序指令实现),其可以在中继设备110的运行时间期间被训练。
83.在示例中,接收缓冲区150可以是空的或接近空的(例如,缓冲区利用率低于阈值,存储在接收缓冲区150中的数据分组的量低于阈值),并且对等设备115的接收状态可以允许向对等设备115发送分组(例如,如暂停fsm 160(“对等暂停fsm反射”)所指示的)。基于中继设备110的缓冲区利用率和对等设备115的接收状态,中继设备110可以向主机设备105发送传输命令(这里也称为“继续请求”)以向对等设备115发送数据分组。替代地或附加地,如本文所述,如果接收缓冲区150充满来自主机设备105的数据分组(例如,缓冲区利用率高于阈值),则中继设备110可以生成并向主机设备105输出暂停帧(这里也称为“暂停命令”、“停止指示”或“暂停分组”)。
84.在另一方面,主机设备105可以经由中继设备110向对等设备115发送请求(例如,暂停帧)以停止发送数据业务。中继设备110可以将请求转发给对等设备115,并且例如避免吸收从对等设备115接收到的数据分组。例如,不是将来自对等设备115的数据分组存储在数据缓冲区中(例如,“线路侧数据缓冲区”、“对等侧数据缓冲区”),中继设备110可以继续向主机设备105转发数据分组,直到数据分组流结束。
85.暂停fsm 161可以包括暂停fsm 160的示例方面。例如,暂停fsm 161可以支持对等设备115、中继设备110和主机设备105之间的流控制。在一些方面,暂停fsm 161可以支持从对等设备115到主机设备105的流控制。暂停fsm 161在本文中可以被称为“修改的暂停fsm”、“主机暂停fsm影子(shadow)”或“主机暂停fsm反射”。例如,暂停fsm 161可以是能够反映暂停fsm 130的状态的影子fsm。在一些方面,暂停fsm 161可以是能够预测主机设备105的暂停fsm 130的fsm状态的影子fsm。在一些方面,暂停fsm 161可以包括可以在中继设备110的运行期间被训练的机器学习网络(例如,由中继设备110的一个或更多个处理器和/或存储在中继设备110的存储器中的程序指令实现)。
86.暂停聚合引擎155和/或暂停fsm 160可以通过存储在中继设备110的存储器中的程序指令(指令集)来实现。例如,存储器可以被配置为除了临时存储用于中继设备110的处理器以执行各种类型的例程或功能的数据之外,存储指令集和其他数据结构。在一个示例中,程序指令(指令集)可以由处理器执行以提供这里描述的暂停聚合引擎155和/或暂停fsm 160的功能。暂停聚合引擎155可以包括单个或多个引擎。
87.根据本公开的示例方面,中继设备110可以支持(例如,使用暂停聚合引擎155和/或暂停fsm 160)主机设备105和对等设备115之间的数据分组的无损传输。例如,中继设备110可以向主机设备105发送暂停帧(在本文中也称为暂停消息、暂停命令等),用于暂停主机设备105的数据分组传输。暂停帧例如,可以指示暂停数据分组传输的指定时间段。在一些其他示例中,中继设备110可以向主机设备105发送传输命令(在本文中也称为开始传输命令)以启用或取消暂停主机设备105的数据分组传输。中继设备110,在一些示例中,可以周期性地(基于间隔)传输暂停帧和/或传输命令。在一个示例中,中继设备110可以通过通信链路120向主机设备105传输暂停帧和/或传输命令。
88.中继设备110(例如,暂停聚合引擎155)可以基于暂停fsm 160的状态向主机设备
105发送暂停帧或传输命令。在示例中,暂停fsm 160可以基于接收缓冲区150相对于数据存储容量的利用率(例如,存储的数据量)转换到第一状态(例如,暂停状态)或第二状态(例如,取消暂停状态)。在一些示例中,暂停fsm 160可以基于接收缓冲区150相对于数据存储阈值的利用率转换到暂停状态或取消暂停状态。数据存储阈值可以不同于(例如,小于)数据存储容量。数据存储阈值可以称为缓冲区阈值。
89.在另一示例中,暂停fsm 160可以基于中继设备110从对等设备115接收的暂停帧或传输命令转换到暂停状态或取消暂停状态。在一些其他示例中,暂停fsm 160基于接收缓冲区150相对于数据存储容量(或数据存储阈值)的利用率,接收缓冲区150可以转换到暂停状态或取消暂停状态。在一些情况下,暂停fsm 160可以基于如本文所述的接收缓冲区的利用率结合接收暂停帧或传输命令转换到暂停状态或取消暂停状态。
90.在一些方面,中继设备110(基于设计参数)可以设置数据存储阈值以便不超过接收缓冲区150的数据存储容量。例如,中继设备110可以设置数据存储阈值使得如果超过接收缓冲区150处的数据存储阈值并且中继设备110向主机设备105发送暂停帧,则中继设备110可以接受并处理已经通过通信链路120由该主机设备105发送的数据分组(或帧),而不超过接收缓冲区150的数据存储容量。也就是说,例如,主机设备105将有足够的时间来停止传输数据分组(或帧)并且中继设备110可以在不超过接收缓冲区150的数据存储容量的情况下,接受并处理已经在通信链路120上的数据分组(或帧)。在一些方面,中继设备110可以设置接收缓冲区150的数据存储阈值以防止分组丢失(例如,防止丢弃接收到的数据分组)。
91.在示例情况下,中继设备110(例如,暂停聚合引擎155)可以基于接收缓冲区150的利用率等于(例如,达到)接收缓冲区150的数据存储容量来向主机设备105发送暂停帧。在一些方面,中继设备110可以基于接收缓冲区150的利用率大于或等于数据存储阈值(例如,不同于的阈值,例如,小于数据存储容量的阈值)。例如,基于存储在接收缓冲区150中的数据量等于数据存储容量(或数据存储阈值),中继设备110(例如,暂停聚合引擎155)可以通过通信链路120(通信链路111)将暂停帧发送到主机设备105。
92.在另一示例情况下,中继设备110(例如,在暂停fsm 160)可以通过通信链路125从对等设备115接收暂停帧。例如,基于暂停帧,中继设备110(例如,暂停聚合引擎155)可以通过通信链路120向主机设备105发送暂停帧。在一些其他示例中,中继设备110可以基于接收缓冲区150的利用率等于数据存储容量(或数据存储阈值)和从对等设备115接收的暂停帧二者来将暂停帧传输至主机设备105。
93.可替代地或附加地,中继设备110(例如,暂停聚合引擎155)可以基于接收缓冲区150的利用率低于数据存储容量(或数据存储容量)来向主机设备105发送传输命令临界点)。例如,基于存储在接收缓冲区150中的数据量低于数据存储容量(或数据存储阈值),暂停fsm 160可以退出暂停状态(例如,进入取消暂停状态),并且中继设备110可以通过通信链路120向主机设备105发送传输命令。
94.在另一示例情况下,中继设备110(例如,在暂停fsm 160)可以通过通信链路125从对等设备115接收传输命令(这里也称为开始传输命令)。例如,基于来自对等设备115的传输命令,中继设备110(例如,暂停聚合引擎155)可以通过通信链路120向主机设备105发送传输命令。在一些其他示例中,中继设备110可以基于接收缓冲区150的利用率低于数据存储容量(或数据存储阈值)和从对等设备115接收到的传输命令,向主机设备105发送传输命
令。
95.本文描述的暂停帧(例如,由主机设备105、中继设备110和/或对等设备115通信的暂停帧)可以是例如支持对称暂停的基于优先级的流控制(pfc)暂停帧。例如,这里描述的暂停帧可以包括支持暂停到设备(例如,主机设备105、中继设备110、对等设备115等)的传入数据业务的pfc暂停帧。在示例中,从中继设备110发送到主机设备105的暂停帧可以包括指示请求主机设备105暂停(例如,制止)发送数据分组的pfc暂停帧。在一些方面,基于pfc暂停帧,主机设备105可以制止传输与对应于pfc暂停帧的优先级相关联的数据分组(或帧),同时继续传输与不同优先级相关联的数据分组(或帧)。
96.在一些方面,本文描述的暂停帧(例如,由主机设备105、中继设备110和/或对等设备115传送)可以被称为xoff(例如,“传输关闭”)命令或xoff代码。本文所述的传输命令(例如,由主机设备105、中继设备110和/或对等设备115传送)可以被称为xon(例如,“传输开启”)命令或xon代码。在此参考系统100描述的流控制的方面可以被称为软件流控制或xon/xoff流控制。
97.在一些方面,这里描述的暂停帧可以是例如支持对称和非对称暂停的以太网暂停帧。例如,这里描述的暂停帧可以是支持暂停通信链路125上的任何或所有业务(例如,从中继设备110到对等设备115的数据业务、从对等设备115到中继设备110的数据业务,或两者)的传输的以太网暂停帧。
98.根据本公开的示例方面,如果主机设备105被启用(例如,通过影子逻辑)并且接收缓冲区150已满,则中继设备110(例如,暂停聚合引擎155)可以将暂停帧传输到主机设备105。在一些方面,发送暂停帧可以保护接收缓冲区150(例如,防止缓冲区溢出、防止分组丢失)。参考图2进一步描述中继设备110的附加示例方面。
99.图2示出了根据本公开的方面的支持中继设备的以太网暂停聚合的系统200的示例。在一些示例中,系统200可以实现参考图1描述的系统100的方面。例如,系统100可以包括主机设备205、中继设备210和对等设备215。主机设备205中继设备210和中继设备210可以通过通信链路220进行通信。中继设备210和对等设备215可以通过通信链路225进行通信。主机设备205、中继设备210、对等设备215、通信链路220和通信链路225可以是分别参考图1描述的主机设备105、中继设备110、对等设备115、通信链路120和通信链路125的示例。
100.中继设备210可以包括中继组件245、接收缓冲区250(这里也称为数据缓冲区)、暂停帧生成器255(这里也称为暂停包生成器)和暂停fsm 260(在本文中也称为“修改的暂停fsm”、“对等暂停fsm影子”、“暂停fsm反射”或“对等暂停fsm反射”)。中继组件245可以是例如macsec引擎,其被配置为对从主机设备205和/或对等设备215接收的数据分组或信令执行一个或更多个加密过程或转换过程。例如,对于从在主机设备205或对等设备215,中继组件245可以执行信号处理操作,例如信号放大、信号转换(例如,从电信号到光信号,从一组规范到另一组规范),和/或协议转换(例如,中继设备210可以用作中继器)。接收缓冲区250(在本文中也称为“主机侧缓冲区”、“主机侧数据缓冲区”或“中继单元分组缓冲区”)、暂停帧生成器255和暂停fsm 260可以是以下参考图1描述的接收缓冲区150、暂停聚合引擎155和暂停fsm 160的示例。
101.系统200可以支持主机设备205和对等设备215之间的数据分组的通信,例如,经由中继设备210。在一些方面,系统200可以实现支持在主机设备205、中继设备210和对等设备
215之间的无损传输的流控制的方面(例如,避免丢弃帧或数据分组)。例如,系统200可以支持停止在中继设备210的主机侧(例如,一个相对短的通信链路)和线路侧(例如,相对长的通信链路)二者处的数据分组流。在示例中,系统200可以支持从主机设备205到中继设备210的无损操作模式以及从中继设备210到对等设备215的无损操作模式。在另一个示例中,系统200可以支持从对等设备215(经由中继设备210)到主机设备205的无损操作模式。
102.参考图2,基于主机设备205的暂停fsm的状态(例如,参考图1描述的暂停fsm 130),主机设备205可以输出暂停帧230用于暂停针对指定时间段的对等设备215的传输(例如,数据分组的)。可替代地或附加地,基于主机设备205的暂停fsm的状态,主机设备205可以输出传输命令(例如,代替暂停帧230)用于开始或恢复对等设备215的数据分组传输。在一些方面,主机设备205可以经由中继设备210(例如,经由通信链路220和通信链路225)间接地向对等设备215发送暂停帧230和/或传输命令。例如,在一些系统(例如以太网)中,一旦在以太网的节点之间(例如,主机设备205和对等设备215,或在任何其他以太网节点之间)添加中继设备210,就会有节点之间没有直接连接,节点之间的任何通信都通过中继设备210转发。
103.在一些方面,在主机设备205和中继设备210之间传送的任何信息(例如,数据分组)通过通信链路220进行。例如,与主机设备和中继设备210之间传送信息(例如,数据分组)相关联的服务中继设备205可以通过通信链路220实现。在一些方面,中继设备210和对等设备215之间通信的任何信息(例如,数据分组)通过通信链路225进行。例如,与通信相关联的服务中继设备210和对等设备215之间的信息(例如,数据分组)可以通过通信链路225实现。
104.在一个示例中,尽管在图2中示出为不同的箭头,但是中继设备210可以通过通信链路220从主机设备205接收暂停帧230。此外,尽管在图2中示出为不同的箭头,中继设备210可以通过通信链路225将暂停帧230转发到对等设备215。
105.在另一个示例中,尽管在图2中被示出为不同的箭头,但是中继设备210可以通过通信链路225从对等设备215接收暂停帧235。暂停帧235可以被馈送到暂停fsm 260。此外,尽管在图2中被示出为不同的箭头,中继设备210可以通过通信链路220将暂停帧235转发到主机设备205(例如,参见暂停帧265)。例如,中继设备210可以基于接收缓冲区250(例如,主机侧缓冲区)的状态和/或暂停帧235中的指示(例如,暂停命令、传输命令)将暂停帧235转发(例如,传输)到主机设备205,其方面在本文中描述。
106.在一些示例中,基于对等设备215的暂停fsm的状态(例如,参考图1描述的暂停fsm 165),对等设备215可以输出暂停帧235,以用于暂停主机设备205在指定时间段内传输数据分组。可替代地或另外地,基于对等设备215的暂停fsm的状态,对等设备215可以输出传输命令(例如,代替暂停帧235),以用于开始或恢复主机设备的数据分组传输205。
107.本公开的示例方面可以支持从对等设备215到主机设备205的暂停帧235和/或传输命令的间接传输。例如,对等设备215可以经由中继设备210(例如,通过通信链路225和通信链路220)将暂停帧235和/或传输命令间接地传输到主机设备205。
108.例如,对等设备215可以向中继设备210发送暂停帧235,中继设备210可以基于该暂停帧235向主机设备205发送相应的暂停帧(例如,暂停帧265)。另一个示例,对等设备215可以向中继设备210发送传输命令,基于该传输命令,中继设备210可以向主机设备205发送
相应的传输命令。在一些方面,暂停帧235和/对等设备215和主机设备205之间的传输命令的间接传输(例如,经由中继设备210)可能不同于对等设备直接向主机设备传输暂停帧和/或传输命令的一些其他数据分组网络中的实现方式。例如,暂停帧235和/或传输命令的间接传输的方面可以不同于其他实现方式,其中对等设备215可以经由不同于通信链路220和通信链路225(例如,没有中继设备210,绕过中继设备210)的通信信道将暂停帧235和/或传输命令直接传输到主机设备205。
109.根据本公开的示例方面,中继设备210(例如,暂停帧生成器255)可以基于接收缓冲区250的利用率等于(例如,达到)接收缓冲区250的数据存储容量将暂停帧265传输至主机设备205。在一些方面,中继设备210可以基于接收缓冲区250的利用率大于或等于不同于(例如,小于)数据存储容量的数据存储阈值来传输暂停帧265。在一些其他方面,中继设备210(例如,暂停帧生成器255)可以基于中继设备210通过通信链路225从对等设备215接收(例如,在暂停fsm 260)暂停帧235来发送暂停帧265。在一些方面,尽管在图2中示出为不同的箭头,但中继设备210可以通过通信链路220向主机设备205发送暂停帧265。
110.可替代地或附加地,中继设备210(例如,暂停帧生成器255)可以基于接收缓冲区250的利用率小于接收缓冲区250的数据存储容量而向主机设备205发送传输命令(例如,代替暂停帧265)。在一些方面,中继设备210可以基于接收缓冲区250的利用率小于接收缓冲区250的数据存储阈值来发送传输命令。在一些其他方面,中继设备210(例如,暂停帧生成器255)可以基于中继设备210通过通信链路225从对等设备215接收传输命令(例如,代替暂停帧235)来发送传输命令。在一些方面,中继设备210可以通过通信链路220向主机设备205发送传输命令。
111.例如,中继设备210(例如,在暂停帧生成器255处)可以基于接收缓冲区250的缓冲区状态251输出暂停帧265或传输命令。在另一示例中,中继设备210(例如,在暂停帧生成器255处)可以基于暂停fsm 260的fsm状态输出暂停帧265或传输命令。在一些其他示例中,中继设备210(例如,在暂停帧生成器255处)可以基于缓冲区状态251和fsm状态261的组合输出暂停帧265或传输命令。
112.在一些方面,中继设备210(例如,在接收缓冲区250处)可以基于存储在接收缓冲区250中的数据量与接收缓冲区250的数据存储容量(或数据存储阈值)的比较来输出缓冲区状态251。在示例中,基于比较,如果存储在接收缓冲区250中的数据量等于(例如,达到)接收缓冲区250的数据存储容量,则缓冲区状态251可以指示接收缓冲区250是“满的”。在另一个示例中,基于比较,缓冲区状态251可以指示存储在接收缓冲区250中的数据量是否大于或等于接收缓冲区250的数据存储阈值。在一些示例中,基于比较,缓冲区状态251可以指示存储在接收缓冲区250中的数据量是否小于数据存储阈值。
113.fsm状态261可以指示暂停fsm 260的状态(例如,暂停状态、取消暂停状态)。例如,暂停fsm 260可以基于中继设备(例如,在暂停fsm 260)从对等设备215接收暂停帧235而从取消暂停状态转换到暂停状态210。在示例中,暂停fsm 260可以设置fsm状态261以指示暂停状态。可替代地或附加地,暂停fsm 260可以基于中继设备210(例如,在暂停fsm 260)从对等设备215接收传输命令(例如,代替暂停帧235)而从暂停状态转换到取消暂停状态。在示例中,暂停fsm 260可以设置fsm状态261以指示取消暂停状态。在一些方面,暂停状态和取消暂停状态可以分别对应于暂停fsm 260的不同模式。
114.在示例情况下,中继设备210(例如,暂停帧生成器255)可以基于缓冲区状态251中关于接收缓冲区250的利用率等于接收缓冲区250的数据存储容量的指示将暂停帧265发送到主机设备105。在另一示例情况下,中继设备210可以基于缓冲区状态251中的接收缓冲区250的利用率大于或等于接收缓冲区250的数据存储阈值的指示将暂停帧265发送到主机设备205。在一些方面,中继设备210可以在没有从对等设备215接收到暂停帧235的情况下发送暂停帧265。
115.在其他示例情况下,中继设备210(例如,在暂停fsm 260)可以通过通信链路225从对等设备215接收暂停帧235。基于暂停帧235,暂停fsm 260可以进入暂停状态。中继设备210(例如,在暂停帧生成器255处)可以根据fsm状态261(例如,暂停状态的指示)确定暂停fsm 260处于暂停状态。中继设备210(例如,暂停帧生成器255)可以基于fsm状态261向主机设备105发送暂停帧265。
116.在另一示例情况下,中继设备210(例如,在暂停fsm 260)可以通过通信链路225从对等设备215接收传输命令(这里也称为开始传输命令)。基于传输命令,暂停fsm 260可以进入取消暂停状态。中继设备210(例如,在暂停帧生成器255处)可以根据fsm状态261(例如,取消暂停状态的指示)确定暂停fsm 260处于取消暂停状态。中继设备210(例如,暂停帧生成器255)可以基于fsm状态261向主机设备105发送传输命令。
117.在另一示例情况下,中继设备210可以基于fsm状态261(例如,取消暂停状态的指示)结合指示接收缓冲区250的利用率小于接收缓冲区250的数据存储阈值的缓冲区状态251向主机设备105发送传输命令。在一些示例中,中继设备210可以基于fsm状态261(例如,取消暂停状态的指示)结合指示接收缓冲区250的利用率小于接收缓冲区250的数据存储容量的缓冲区状态251向主机设备105发送传输命令。
118.在一些方面,中继设备210可以将暂停帧235、与暂停帧235相关联的指示或两者存储在中继设备210的存储器中。在一些方面,中继设备210可以将接收到的传输命令、与传输命令相关联的指示或两者存储在中继设备210的存储器中。在一些情况下,本文描述的fsm状态261(例如,暂停状态、取消暂停状态)可以指示与暂停帧235相关联的特性(例如,“不发送”数据分组)或传输命令(例如,“发送”数据分组)。
119.在示例情况下,与一些其他中继设备相比,中继设备210可以支持减小的缓冲区大小。例如,与一些其他中继设备的接收缓冲区相比,接收缓冲区250可以具有减小的缓冲区大小。在示例中,即使缓冲区状态251指示接收缓冲区250的利用率小于接收缓冲区250的数据存储阈值(或数据存储容量),中继设备210也可以避免向主机设备205发送传输命令。例如,中继设备210可以在向主机设备205发送传输命令之前等待从对等设备215接收传输命令。因此,例如,中继设备210可以避免累积接收缓冲区250中超过接收缓冲区250的数据存储阈值(或数据存储容量)的数据量。
120.根据本公开的示例方面,接收缓冲区250的大小可以基于与通信链路225相关联的接口带宽、中继设备210和对等设备215之间的距离和/或与通信链路225相关联的传输速度来确定。例如,中继设备210可以支持通信链路225的各种长度和/或传输速度。在示例中,可以确定或设置接收缓冲区250的大小以支持从主机设备205到对等设备215(例如,经由中继设备210)的无损数据流。中继设备210可以在接收缓冲区250中存储从主机设备205接收到的数据分组,同时避免丢弃任何接收到的数据分组。
121.在示例中,通信链路225可以具有至少5米的长度(例如,使得中继设备210和对等设备215之间的往返距离等于至少10米),并且通信链路225可以支持至少400吉比特/秒的数据传输速度。基于该示例,中继设备210可以支持接收缓冲区大小(例如,用于存储从主机设备205接收到的数据分组并将数据分组转发到对等设备215的“主机侧数据缓冲区”),该大小为与某些中继设备中的接收缓冲区(例如,“主机侧数据缓冲区”)相比更小。例如,接收缓冲区250的数据存储容量可以小于或等于50kb。在另一示例中,接收缓冲区250的数据存储容量可以小于或等于25kb。在一些方面,中继设备210可以支持用于存储来自对等设备215(例如,对等端缓冲区)和来自主机设备205(例如,主机侧缓冲区)的分组的共享缓冲区。
122.本文描述的暂停帧(例如,暂停帧230、暂停帧235、暂停帧265)可以包括参考图1描述的暂停帧的方面。例如,暂停帧可以是,例如,支持对称暂停的pfc暂停帧。在一些方面,暂停帧可以是支持对称和非对称暂停的以太网暂停帧。
123.图3示出了根据本公开的方面的支持中继设备的以太网暂停聚合的系统300的示例。系统300可以包括中继设备305。中继设备305可以包括参照图1和图2描述的中继设备110或中继设备210的方面。中继设备305可以执行本公开中描述的任何或所有操作。
124.中继设备305可以包括发射器310、接收器315、通信接口320、控制器320、存储器325、处理器340和通信接口360。在一些示例中,中继设备305的组件(例如,发射器310、接收器315、控制器320、存储器325、处理器340、通信接口360等)可以通过包括在中继设备305中的系统总线(例如,控制总线、地址总线、数据总线等)进行通信。
125.发射器310和接收器315可以支持去往和来自中继设备305的信号的发送和接收。在一些方面,发射器310和接收器315可以支持中继设备305内的信号的发送和接收。发射器310和接收器315可以统称为收发器。天线可以电耦合到收发器。中继设备305还可以包括(未示出)多个发射器310、多个接收器315、多个收发器和/或多个天线。
126.控制器320可以位于与发射器310和/或接收器315相同的芯片(例如,asic芯片)上。在一些情况下,控制器320可以位于与发射器310和/或接收器315不同的芯片上。在一些示例中,控制器320可以位于与中继设备305相同的芯片(或不同的芯片)上。控制器320可以指示中继设备305中的组件(例如,处理器340、数字信号处理器(dsp)355)对从主机设备(例如主机设备105、主机设备205)和/或对等设备(例如,对等设备115、对等设备215)接收的数据分组或信令执行一个或更多个加密过程和/或信号处理操作(例如信号放大、信号转换和/或协议转换)。在一些示例中,控制器320可以是编程的微处理器或微控制器。在一些方面,控制器320可以包括一个或更多个cpu、存储器和可编程i/o外围设备。
127.存储器325可以是能够存储电子信息的任何电子组件。存储器325可以是例如随机存取存储器(ram)、只读存储器(rom)、磁盘存储介质、光存储介质、ram中的闪存设备、处理器包括的板载存储器、eprom存储器、eeprom存储器、寄存器等,包括它们的组合。
128.存储器325可以包括指令330(计算机可读代码)和存储在其上的数据335。指令330可由处理器340执行以实施本文公开的方法。在一些方面,指令330的执行可以涉及数据335的一个或更多个部分。在一些示例中,当处理器340执行指令330时,指令330和/或数据335的各个部分可以被加载到处理器340。
129.处理器340可以对应于一个或更多个计算机处理设备。例如,处理器340可以包括硅芯片,例如现场可编程门阵列(fpga)、asic、任何其他类型的集成电路(ic)芯片、ic芯片
的集合等。在一些方面,处理器可以包括微处理器、中央处理单元(cpu)、图形处理单元(gpu)或被配置为执行存储在相应存储器(例如,中继设备的存储器325)中的指令集的多个微处理器305)。例如,在执行存储在存储器325中的指令集时,处理器340可以启用或执行中继设备305的一个或更多个功能。在一些示例中,处理器340的组合(例如,高级精简指令集计算机(risc)机器(arm)和dsp 355)可以在中继设备305中实现。
130.通信接口360可以支持用户和中继设备305之间的交互(例如,经由物理或虚拟接口)。
131.图4示出了根据本公开的方面的支持中继设备的以太网暂停聚合的过程流400的示例。在一些示例中,过程流400可以实现系统100、系统200或系统300的方面。此外,过程流400可以由参考图1至图3描述的中继设备110、中继设备210或中继设备305来实现。在一个示例中,处理流程400可以支持在此描述的网络(例如,lan)中的流量控制。
132.在处理流程400的以下描述中,可以以与所示顺序不同的顺序执行操作,或者可以以不同顺序或在不同时间执行操作。某些操作也可以被排除在处理流程400之外,或者可以将其他操作添加到处理流程400。应当理解,虽然中继设备110被描述为执行处理流程400的多个操作,但是任何设备(例如,与主机设备和对等设备通信的任何中继设备110)都可以执行所示操作。
133.在405,中继设备110可以接收一组数据分组。在示例中,中继设备110可以将该组数据分组存储到中继设备110的数据缓冲区。在一些示例中,接收该组数据分组、存储该组数据分组或两者可以包括避免丢弃该组数据分组中的一个或更多个数据分组。
134.在410,中继设备110可以识别中继设备110的数据缓冲区中的空数据字节位置的数量。在示例中,中继设备110可以基于存储的一组数据分组来识别空数据字节位置的数量。
135.在415,中继设备110可以接收与传输数据分组相关联的指示符(例如,暂停帧或传输命令)。在一些示例中,中继设备110可以基于指示符(例如,传输命令)在通信介质上传输该组数据分组的至少一个子集。在一些方面,中继设备110可以基于传输该组数据分组的至少子集来识别空数据字节位置的数量。
136.在416,中继设备110可以识别包括在中继设备110中的状态机的状态(例如,暂停fsm 160)。在一些方面,状态机的状态可以基于指示符。
137.在示例中,通信介质可以包括电耦合中继设备110和至少两个其他设备中的第一设备的物理介质。在一些示例中,至少两个其他设备可以包括主机设备和对等设备。在一个示例中,第一设备可以是对等设备。在一些情况下,中继设备110可以基于以下中的一项或更多项来确定数据缓冲区的大小:与通信介质相关联的接口带宽;设备与第一设备之间的距离;以及与通信介质相关联的传输速度。
138.在一些方面,中继设备110可以基于与阈值相比的空数据字节位置的数量来暂停或启用无损数据流。在一些其他方面,中继设备110可以基于状态机的状态暂停或启用无损数据流。例如,在420-a,中继设备110可以将空数据字节位置的数量与阈值进行比较。在另一示例中,在420-b,中继设备110可以确定状态机是处于暂停状态或非暂停状态。
139.在示例中,在425,中继设备110可以暂停中继设备110和至少两个其他设备(例如,主机设备和对等设备)之间的无损数据流。在一些示例中,中继设备110可以基于空数据字
节位置的数量低于阈值、状态机的状态(例如,暂停状态)或两者来暂停无损数据流。
140.在430,中继设备110可以基于空数据字节位置的数量低于阈值、状态机的状态(例如,暂停状态)或两者来发送暂停请求。在一些示例中,暂停请求、指示符(例如,暂停帧)或两者都可以包括控制帧。
141.在一些方面,中继设备110可以基于在410识别的空数据字节位置的数量来暂停无损数据流,而不管状态机的状态。在一些其他方面,中继设备110可以基于与状态机相关联的第一状态暂停无损数据流。
142.备选地或附加地,在435处,中继设备110可以启用中继设备110和至少两个其他设备(例如,主机设备和对等设备)之间的无损数据流。在一些示例中,中继设备110可以基于空数据字节位置的数量超过阈值、状态机的状态(例如,取消暂停状态)或两者来启用无损数据流。
143.在440,中继设备110可以基于空数据字节位置的数量超过阈值、状态机的状态(例如,取消暂停状态)或两者来发送启用请求。在一些示例中,启用请求、指示符(例如,传输命令)或两者都可以包括控制帧。
144.在一些方面,中继设备110可以基于在410识别的空数据字节位置的数量来启用无损数据流,而不管状态机的状态如何。在一些其他方面,中继设备110可以基于与状态机相关联的第二状态来启用无损数据流。
145.可以实施本文描述的主题的特定方面以实现一个或更多个优点。所描述的技术可以支持分组广播框架的改进、减少的信令开销、减小的存储器缓冲区大小和改进的可靠性,以及其他优点。因此,支持的技术可以包括改进的网络操作,并且在一些示例中,可以提高网络效率和减少开销,以及其他好处。
146.本文讨论的任何步骤、功能和操作都可以连续和自动地执行。
147.已经关于中继设备110、中继设备210和中继设备305的示例描述了本公开的示例性系统和方法。然而,为了避免不必要地混淆本公开,前面的描述省略了已知结构和设备的数量。这种省略不应被解释为对要求保护的公开范围的限制。阐述了具体细节以提供对本公开的理解。然而,应当理解,本公开可以以超出本文所阐述的具体细节的多种方式来实践。
148.此外,虽然本文所示的示例性实施例示出了系统的各种并置组件,但系统的某些组件可以远程地位于分布式网络的远距离部分,例如lan和/或互联网,或者专用系统。因此,应该理解,系统的组件可以组合到一个或更多个设备中,例如服务器、通信设备,或者并置在分布式网络的特定节点上,例如模拟和/或数字电信网络、分组交换网络或电路交换网络。从前面的描述可以理解,并且出于计算效率的原因,系统的组件可以布置在组件的分布式网络内的任何位置,而不影响系统的操作。
149.此外,应当理解,连接元件的各种链路可以是有线或无线链路,或者它们的任何组合,或者能够向连接的元件提供数据并提供来自连接的元件的数据和/或向连接的元件传送数据并传送来自连接的元件的数据。这些有线或无线链路也可以是安全链路,并且可能能够传送加密信息。例如,用作链路的传输介质可以是任何合适的电信号载体,包括同轴电缆、铜线和光纤,并且可以采用声波或光波的形式,例如在无线电波和红外线数据通信期间产生的那些。
150.虽然已经针对特定的事件序列讨论和说明了流程图,但是应当理解,可以在不实质影响所公开的实施例、配置和方面的操作的情况下发生对该序列的改变、添加和省略。
151.可以使用本公开的许多变化和修改。提供本公开的一些特征而不提供其他特征将是可能的。
152.在又一个实施例中,本公开的系统和方法可以结合专用计算机、编程的微处理器或微控制器和外围集成电路元件、asic或其他集成电路、数字信号来实现处理器、诸如分立元件电路之类的硬接线电子或逻辑电路、诸如pld、pla、fpga、pal之类的可编程逻辑器件或门阵列、专用计算机、任何类似装置等。一般而言,能够实施本文中说明的方法的任何设备或装置都可以用于实施本公开的各个方面。可用于本公开的示例性硬件包括计算机、手持设备、电话(例如,蜂窝、支持互联网、数字、模拟、混合等)和本领域已知的其他硬件。其中一些设备包括处理器(例如,单个或多个微处理器)、存储器、非易失性存储器、输入设备和输出设备。此外,还可以构建包括但不限于分布式处理或组件/对象分布式处理、并行处理或虚拟机处理的替代软件实现以实现本文描述的方法。
153.在又一个实施例中,所公开的方法可以容易地结合使用提供可在各种计算机或工作站平台上使用的可移植源代码的对象或面向对象的软件开发环境的软件来实现。或者,所公开的系统可以使用标准逻辑电路或vlsi设计部分或全部以硬件实现。使用软件还是硬件来实现根据本公开的系统取决于系统的速度和/或效率要求、特定功能以及所使用的特定软件或硬件系统或微处理器或微型计算机系统。
154.在又一个实施例中,所公开的方法可以部分地以软件实现,该软件可以存储在存储介质上,在控制器和存储器、专用计算机、微处理器之类的的协作下在编程的通用计算机上执行。在这些情况下,本公开的系统和方法可以被实现为嵌入个人计算机上的程序,例如小应用程序、或cgi脚本,作为驻留在服务器或计算机工作站上的资源,作为嵌入在专用测量系统中的例程、系统组件等。该系统还可以通过将该系统和/或方法物理地结合到软件和/或硬件系统中来实现。
155.尽管本公开参考特定标准和协议描述了在实施例中实现的组件和功能,但是本公开不限于这样的标准和协议。此处未提及的其他类似标准和协议存在并且被认为包括在本公开中。此外,本文提及的标准和协议以及本文未提及的其他类似标准和协议周期性地被具有基本相同功能的更快或更有效的等效物所取代。这种具有相同功能的替代标准和协议被认为是包括在本公开中的等同物。
156.在各种实施例、配置和方面中,本公开包括此处本质上描绘和描述的组件、方法、过程、系统和/或装置,其包括各种实施例、子组合和其子集。本领域技术人员在理解本公开内容后将理解如何制作和使用本文公开的系统和方法。在各种实施例、配置和方面中,本公开包括在不存在本文未描绘和/或描述的项目的情况下提供设备和过程,或包括在不存在如可能已经在以前的设备或过程中使用过的项目的情况下在各种实施例、配置或方面中提供设备和过程,例如,用于提高性能、实现易用性和/或降低实现成本。
157.出于说明和描述的目的,已经提出了本公开的前述讨论。前述内容并非旨在将本公开限制为本文公开的一种或更多种形式。例如,在前述详细描述中,为了精简本公开的目的,本公开的各种特征在一个或更多个实施例、配置或方面中被组合在一起。本公开的实施例、配置或方面的特征可以组合在替代实施例、配置或方面,而不是上面讨论的那些。该公
开方法不应被解释为反映要求保护的公开需要比每个权利要求中明确列举的更多特征的意图。相反,如以下权利要求所反映的,创造性方面在于少于单个前述公开的实施例、配置或方面的所有特征。因此,以下权利要求在此并入本详细说明中,每个权利要求作为本公开的单独优选实施例独立存在。
158.此外,尽管本公开的描述已经包括一个或更多个实施例、配置或方面的描述以及某些变化和修改,但其他变化、组合和修改也在本公开的范围内,例如,可能是在理解本公开之后,在本领域技术人员的技能和知识范围内。旨在获得权利,包括在允许范围内的替代实施例、配置或方面,包括与所要求保护的那些替代、可互换和/或等效的结构、功能、范围或步骤,无论这种替代、可互换和/或等效的结构、功能、范围或步骤是否在本文中公开,并且无意公开提供任何可专利的主题。
159.短语“至少一个”、“一个或更多个”、“或”和“和/或”是在操作上既是合取的又是分取的开放式表达。例如,“a、b和c中的至少一个”、“a、b或c中的至少一个”、“a、b和c中的一个或更多个”、“一个或更多个a、b或c”、“a、b和/或c”和“a、b或c”是指单独的a、单独的b、单独的c、a和b一起、a和c一起、b和c一起,或a、b和c一起。
160.术语“一个(a)”或“一个(an)”实体是指该实体中的一个或更多个。因此,术语“一个”(或“一个”)、“一个或更多个”和“至少一个”在本文中可以互换使用。还要注意的是,术语“包括”、“包括”和“具有”可以互换使用。
161.如本文所用,术语“自动”及其变体是指任何过程或操作,其通常是连续的或半连续的,在执行过程或操作时无需大量人工输入即可完成。然而,一个过程或操作可以是自动的,即使过程或操作的执行使用物质或非物质的人工输入,如果输入是在过程或操作执行之前接收的。如果人工输入影响过程或操作的执行方式,则认为人工输入是重要(material)的。同意执行过程或操作的人工输入不被视为“重要”。
162.本公开的各方面可以采取完全是硬件的实施例、完全是软件(包括固件、常驻软件、微代码等)的实施例或结合软件和硬件方面的实施例的形式,这些方面可以所有这些在本文中通常被称为“电路”、“模块”或“系统”。可以使用一种或更多种计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。
163.计算机可读存储介质可以是例如但不限于电子的、磁性的、光学的、电磁的、红外线的或半导体系统、装置或设备,或前述的任何合适的组合。计算机可读存储介质的更具体示例(非详尽列表)将包括以下:具有一根或更多根电线的电连接、便携式计算机软盘、硬盘、随机存取存储器(ram)、读取-只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光纤、便携式光盘只读存储器(cd-rom)、光存储设备、磁存储设备,或上述任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是可以包含或存储程序以供指令执行系统、装置或设备使用或与其结合使用的任何有形介质。
164.计算机可读信号介质可以包括传播的数据信号,其中包含有计算机可读程序代码,例如,在基带中或作为载波的一部分。这种传播的信号可以采用多种形式中的任何一种,包括但不限于电磁、光或其任何合适的组合。计算机可读信号介质可以是不是计算机可读存储介质并且可以通信、传播或传输程序以供指令执行系统、装置或设备使用或与其结合使用的任何计算机可读介质。包含在计算机可读介质上的程序代码可以使用任何适当的介质来传输,包括但不限于无线、有线、光纤电缆、rf等,或前述的任何合适的组合。
165.如本文所用,术语“确定”、“计算(calculate)”、“计算(compute)”及其变体可互换使用并且包括任何类型的方法、过程、数学运算或技术。
再多了解一些

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

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

相关文献