CN103457881B - 执行数据直通转发的系统 - Google Patents

执行数据直通转发的系统 Download PDF

Info

Publication number
CN103457881B
CN103457881B CN201310213892.9A CN201310213892A CN103457881B CN 103457881 B CN103457881 B CN 103457881B CN 201310213892 A CN201310213892 A CN 201310213892A CN 103457881 B CN103457881 B CN 103457881B
Authority
CN
China
Prior art keywords
node
data
ingress
ingress node
bandwidth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310213892.9A
Other languages
English (en)
Other versions
CN103457881A (zh
Inventor
布拉德·马修斯
普尼特·阿加瓦尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Zyray Wireless Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zyray Wireless Inc filed Critical Zyray Wireless Inc
Publication of CN103457881A publication Critical patent/CN103457881A/zh
Application granted granted Critical
Publication of CN103457881B publication Critical patent/CN103457881B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/251Cut-through or wormhole routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种执行数据直通转发的系统。该传输数据的系统包括以确定带宽传输数据的入口节点。该入口节点包括缓冲区并基于监测节点参数进行操作。该系统包括与入口节点通信的控制器。该控制器被配置为基于监测节点参数分配用于直接传输数据以绕过入口节点的缓冲区的一定量的确定带宽。

Description

执行数据直通转发的系统
相关申请的交叉参考
本专利申请要求于2012年6月1日提交的序列号为61/654,395的美国临时专利申请以及于2012年9月11日提交的美国专利申请第13/610,165号的权益,其通过引用结合于此。
技术领域
本发明涉及传输数据的系统及方法(统称为系统)。更具体地,本发明涉及执行直通转发(cut-through)交换或数据传输的系统。
背景技术
数据及其他信息可以从一个或多个端口、节点、位置或设备传输至一个或多个其他端口、节点、位置或设备。在某些情况下,交换系统或网络交换机有助于数据在端口、节点、位置或设备之间传输。
发明内容
(1)一种传输数据的系统,包括:
以确定带宽传输数据的入口节点,所述入口节点包括缓冲区并且所述入口节点基于监测节点参数进行操作;以及
与所述入口节点通信的控制器,所述控制器被配置为基于所述监测节点参数分配所述确定带宽中用于直接传输数据以绕过所述入口节点的所述缓冲区的量。
(2)根据(1)所述的系统,其中,所述控制器被配置为识别所述监测节点参数的变化。
(3)根据(2)所述的系统,其中,所述控制器被配置为基于所识别的所述监测节点参数的所述变化来调整所述确定带宽中用于直接传输数据的分配量。
(4)根据(1)所述的系统,其中,所述监测节点参数包括所述入口节点的所述缓冲区的填充水平。
(5)根据(4)所述的系统,其中,所述确定带宽中用于直接传输数据的分配量与所述入口节点的所述缓冲区的填充水平成反比例变化。
(6)根据(1)所述的系统,其中,所述监测节点参数包括所述入口节点已经绕过所述入口节点的所述缓冲区直接传输数据包而不将所述数据包保存到所述缓冲区的时间段。
(7)根据(6)所述的系统,其中,所述确定带宽中用于直接传输数据的分配量与所述入口节点已经绕过所述入口节点的所述缓冲区直接传输数据包的时间长度成反比例变化。
(8)根据(1)所述的系统,其中,所述入口节点包括一组入口端口;并且其中,所述确定带宽中用于直接传输数据的分配量的比对应于所述一组入口端口中被分配用于绕过所述入口节点的存储器直接传输数据的入口端口数量与所述一组入口端口的大小之比。
(9)一种传输数据的方法,包括:
监测入口节点的参数;
基于所述参数分配入口节点的确定带宽量中的在所述入口节点处接收第一数据包的后继数据段之前用于将所述第一数据包的数据段传输至出口节点的第一量;
利用所述确定带宽的所述第一量的至少一部分传输所述数据段;
基于所述参数分配所述确定带宽中的用于传输存储在所述入口节点的存储器中的第二数据包的第二量;以及
利用所述确定带宽的所述第二量的至少一部分传输所述第二数据包。(10)根据(9)所述的方法,其中,所述确定带宽的第一量是基于所述参数与查找表中的条目的比较来分配的。
(11)根据(9)所述的方法,其中,所述确定带宽的所述第一量是基于接收所述参数作为输入的分配算法来分配的。
(12)根据(9)所述的方法,其中,所述确定带宽的所述第二量包括所述确定带宽与所述确定带宽的所述第一量之差。
(13)根据(9)所述的方法,其中,所述参数包括缓冲区的填充水平、在所述入口节点处接收先前数据包的后继数据段之前入口端口已经传输所述先前数据包的时间长度、存储转发信用、入队速率、或出队速率。
(14)根据(9)所述的方法,进一步包括:响应于所述参数的变化更新所述确定带宽的分配的所述第一量以及所述确定带宽的分配的所述第二量。
(15)一种入口节点,包括:
数据传输组件,被配置为以确定带宽传输数据;
缓冲区,与所述数据传输组件通信并期望所述缓冲区被配置为存储有关数据包的数据;
接口,与所述数据传输组件通信并且所述接口被配置为接收数据包的数据段;
控制器,与所述数据传输组件、所述缓冲区及所述接口通信,所述控制器可操作地基于所述缓冲区的填充水平确定所述确定带宽的第一量和所述确定带宽的第二量,其中,所述数据传输组件使用所述第一量传输存储在缓冲器中的数据,所述数据传输组件使用所述第二量在所述接口处接收数据包的后继数据段之前将数据段传输至出口节点。
(16)根据(15)所述的入口节点,其中,所述控制器被配置为在所述确定带宽的所述第二量不足以将所述数据段传输至所述出口节点的情况下将所述数据包存储在所述缓冲区中。
(17)根据(16)所述的入口节点,其中,所述数据传输组件被配置为在所述接口处接收所述数据包的所述后继数据段之后以所述确定带宽的所述第一量从缓冲区传输所述数据段。
(18)根据(15)所述的入口节点,其中,存储在缓冲区中的数据以另一个出口节点为目的地,并且其中,直到从所述另一个出口节点接收到数据传输信用时所述数据传输组件才传输存储在所述缓冲区中的数据。
(19)根据(15)所述的入口节点,其中,所述数据段包括指示所述数据包将被传输至的出口节点的标识符,并且其中,在所述接口处接收所述数据包的后继数据段之前,所述控制器确定所述出口节点是否处于空闲状态或是否可用于接收数据段。
(20)根据(15)所述的入口节点,其中,所述数据传输组件被配置为使用所述确定带宽的所述第一量利用直通数据传输来传输数据,并且其中,所述数据传输组件被配置为使用所述确定带宽的所述第二量利用存储转发数据传输来传输数据。
附图说明
参照以下附图及描述可以更好地理解创造性。在图中,类似参考编号在不同的示图中指代相应部件。
图1是传输数据的示例性网络的框图。
图2是传输数据的示例性系统的框图。
图3是传输数据的示例性系统的框图。
图4是传输数据的系统的示例性节点的框图。
图5是传输数据的示例性系统的框图。
图6是示例性分配查找表的图示。
图7是示例性分配查找表的图示。
图8是示例性状态图的图示。
图9是传输数据的示例性逻辑的流程图。
图10是传输数据的示例性逻辑的流程图。
具体实施方式
随着技术和数据传输需求越来越大,新兴云网络客户可以从针对其网络的高带宽聚合设备中受益。除了高带宽聚合之外,理想的系统还可具有低延迟数据传输。延迟可以决定或反映用户看到的响应及结果质量,或可以影响互联网服务提供商的收入。因此,提供高带宽聚合及提高的数据传输速度的系统可能是有用的。
图1是传输数据的示例性网络100的框图。网络100可以包括多种设备,诸如一个或多个服务器110、120以及一台或多台计算机130、140。网络100可包括一组服务器或服务器阵列(serverbank)。网络100可包括互连计算机或网络设备的巨大网络。设备可以被互连而作为数据中心的一部分,或可以是在汽车环境下互连的设备。网络100可包括一个或多个其他设备,诸如一个或多个无线电话、移动设备或移动电话、智能手机、通信设备、平板电脑、个人计算机(PC)、机顶盒(STB)、个人数字助理(PDA)、掌上电脑、膝上电脑、台式电脑、固定电话、控制系统、照相机、扫描仪、传真机、打印机、寻呼机、个人信用设备、web设备、网络路由器、交换机或网桥或任何其他机器或设备。
一个或多个系统(诸如系统105)可以实现为有助于网络100的一个或多个设备之间的通信。网络100的部分或所有设备(诸如部分或所有服务器110和120以及计算机130和140)可通过或利用系统105彼此连接或通信。
图2是传输数据的示例性系统205的框图。系统205可以与系统105相似、相同或类似。系统205可包括一个或多个集成电路、芯片或晶片210、220。晶片可以指一块半导体材料,在这块半导体材料上可以制造给定功能的电路或集成电路。晶片210、220可包括一个或多个瓷片(tile)或节点(node),诸如晶片210的节点A220及节点B225,以及晶片220的节点C230以及节点D235。系统205可包括全网状拓扑或其他拓扑(诸如非全网状拓扑)。
系统(诸如系统105或205)可以具有任意数量的晶片,并且晶片可以具有任意数量的瓷片或节点。节点或瓷片可以表示芯片中的单个晶片。节点可以指设备或系统中的多个芯片,或系统或底盘中的多个设备。节点可以表示一个晶片中的单一逻辑实体。某些系统可包括多个晶片,其中,每个晶片包含单个芯片或设备中的一个或多个节点。某些系统可附加地或可替换地包括一个或多个芯片或设备。
系统205的节点可包括一个或多个端口。一个或多个设备(诸如服务器110、120或计算机130、140)可利用节点的一个或多个端口通过系统205连接或与其通信。节点A220可以具有两个端口,以便服务器110可以与节点A220的第一端口连接并且服务器120可以与节点A220的第二端口连接。系统的节点可仅具有一个端口,或可具有多于两个的端口。
系统205的端口在单个芯片或晶片上可以位于内部,或可以在多个芯片或晶片上延展。在某些情况下,系统205可以与网络交换机相似或类似。系统205可以具有任意数量的节点或端口。
瓷片或节点中的端口(例如)可以是入口端口或出口端口。数据、数据位、数据包、数据组、信号或帧(称之为“数据”或“数据包”)可以到达系统205或可在入口端口处或通过入口端口由系统205接收。在某些情况下,数据包可能较大,并且可以按小块(有时称之为数据“单元”、“段”、“块”或“部分”)到达和/或处理。数据包可以在出口端口或通过出口端口离开系统205。可能存在其他变化或端口类型。
每个晶片可以包含一个或多个节点或瓷片。设备(诸如芯片或封装件)可包括一个或多个晶片。例如,设备可包括两个晶片,每个晶片都包括两个瓷片,从而设备包括四个瓷片。可能存在其他变形及实例。
例如,服务器110可将数据包发送至系统205的节点A220的入口端口,进而将被发送至与系统205的节点B225的出口端口连接的计算机130。系统205可将数据包从节点A220的入口端口内部地传输至节点B225的出口端口。系统205可将数据包从节点B225传输至服务器120。可能存在其他变形及实例。
入口端口及入口节点可以按照多种方式将数据传输至出口节点或出口端口。按照存储转发数据传输(store-and-forwarddatatransfer),入口端口可以接收数据包的数据段。入口端口可以内部地将数据段存储在入口端口或入口节点内的存储器或缓冲区中直至收到整个数据包。一旦在入口端口接收数据包并且其目的出口端口可用于接收该数据,就可授权入口端口将存储的数据包的数据段从入口端口或入口节点的内部存储器传输至该出口端口。按照存储转发数据传输,在出口端口传输数据包之前,可以存储所有数据段。
按照直通数据传输(cut-throughdatatransfer),入口端口可以接收数据包的数据段。按照直通数据传输,入口端口可以将数据段传输至出口端口,而不将数据段存储在入口端口或入口节点的内部缓冲区或存储器中。按照直通数据传输,出口端口在从入口端口完全接收数据包之前可以传输一部分数据包。与利用存储转发数据传输来传输数据相比,在利用直通数据传输来传输数据的情况下数据可能以较低延迟由入口端口传输至出口端口。
入口节点的数据传输组件可以按照或利用确定或设置带宽(有时称之为“输出入口节点带宽”)传输数据。数据传输组件可以指一个或多个入口端口或入口节点的数据传输元件。是利用存储转发法还是利用直通法发送数据可以取决于可供入口端口或入口节点使用的确定带宽量,利用或根据该确定带宽量进行传输或者说需要该确定带宽量。
入口节点的一个或多个组件(诸如控制模块)可被配置为或可操作地用于确定输出入口节点带宽的分配或量,其中,入口节点可使用该带宽来采用(诸如)直通法或存储转发法传输数据。确定带宽的分配或量可以以入口节点的状态以及入口节点的一个或多个监测参数为基础或可根据入口节点的状态以及入口节点的一个或多个监测参数决定。
入口节点或入口节点的控制模块可以监测入口节点的参数或参数值。例如,入口节点可包括监测组件,该监测组件可跟踪入口节点的缓冲区填充水平的值。例如,在不存储数据包的情况下和/或在已收到所有数据包之前,入口节点可以基于监测参数或值来确定并设置用于采用直通法传输数据的输出入口节点带宽的分配或量。附加地或替代地,入口节点可以确定用于采用存储转发法(例如通过在转发数据包之前存储数据包)传输数据的输出入口节点带宽的分配或量。由入口节点或控制模块确定的带宽量可对应于或反映入口节点用于一种类型的数据传输的入口端口数。另外地或可选地,由入口节点或控制模块确定的带宽量可对应于或反映用于采用一种或多种类型的数据传输来传输数据的输出入口节点带宽的一部分。
图3是传输数据包的示例性系统305的框图。系统305可以与系统105相似、相同或不同。该图示出了系统305的实例展开示图,示出了包括系统的不同节点的互连的系统架构。系统305可以是全网状拓扑。入口节点310-315能够与出口节点320-325通信或连接。
为了简单起见,系统305可以被描述成假设入口节点310-315仅包括一个入口端口,出口节点320-325仅包括一个出口端口。然而,应理解的是,节点310-315、320-325可包括多于一个的端口。当一个或多个入口节点310-315(或出口节点320-325)包括多个端口时,入口(或出口)节点可被配置为或可操作地用于与出口(或入口)节点通信。
系统305可包括具有入口端口的六个入口节点,诸如入口节点A310、入口节点B311、入口节点C312、入口节点D313、入口节点E314、入口节点F315,以及六个出口节点,诸如出口节点A320、出口节点B321、出口节点C322、出口节点D323、出口节点E324、出口节点F325。在其他变形中,系统305可具有或多或少的入口节点或出口节点。
一个或多个入口节点310至315的入口端口以及一个或多个出口节点320至325的出口端口可被配置为或可操作地用于与一个或多个设备连接或通信。与入口节点310至315相关的入口端口可以与服务器阵列中的服务器连接。
节点或瓷片可以与设备连接,并且可包括入口端口和出口端口。节点可包括或起到入口端口和出口端口的作用并且可以与一个设备连接。
入口节点310至315的入口端口可被配置为或可操作地用于接收信号、数据包或其他信息,诸如数据300至305。入口节点A310的入口端口可以被配置为或可操作地用于从与入口节点A310连接的服务器接收数据300。入口节点C的入口端口可以被配置为或可操作地用于从与入口节点C312的入口端口连接的服务器接收数据302。
一条接收的数据300至305可以指向、目的地、或以其他方式意指一个或多个出口端口,诸如出口节点A320、出口节点B321、出口节点C322、出口节点D323、出口节点E324或出口节点F325中任意一个的出口端口。在某些情况下,接收的数据300至305可以指向、目的地、或以其他方式意指通过出口节点320至325的一个或多个出口端口与系统305连接的一个或多个设备。例如,数据300可以由设备发送至入口节点A310的入口端口,并且可以目的地为或意指被传输或发送至出口节点D323的出口端口或通过出口节点D323与系统305连接的设备。
在某些系统中,接收的数据300至305可以指定或包括标识符,该标识符可指示数据指向、目的地、或以其他方式意指要发送至出口节点320至325的哪个出口端口。接收的数据包可包含可被节点中的分组处理逻辑或分组处理单元用来解析目的节点或端口的信息。例如,数据包的第一数据段可包括一个或多个标签或标识符,该标签或标识符可指示针对此数据段以及针对此数据包的部分或所有其他数据段的目的出口端口。在其他系统中,接收数据300至305的入口端口或入口节点可以执行一个或多个函数或算法以确定数据打算要被发送至的出口节点320至325的出口端口。例如,PPU可以解析对于目的出口端口的目的地址。数据包可以目的地为一个节点或端口,或可以是可具有多于一个目的节点或端口的多播数据包。
入口端口或入口节点310至315可以对接收的数据300至305进行处理,并且可以确定数据300至305应发送至哪个出口端口或出口节点320至325。数据包然后可以从接收入口端口或入口节点发送至数据包意指的目的出口端口或出口节点。在某些系统中,在入口节点310至315的任意入口端口接收的数据包可以指定为、传输至和/或以其他方式发送至系统305的出口节点320至325的任意出口端口。在其他系统中,在某些入口端口处接收的数据包可受限于仅传输至一个或一些出口端口。可能存在其他变形。
数据包然后可由目标出口端口或出口节点接收。出口端口或出口节点320至325可对数据执行一个或多个处理,然后可将数据作为输出数据330至335输出至附接到出口节点的目的出口端口的一个或多个设备。可能存在其他变形及实例。
端口可具有一个或多个服务等级,或与其相关的优先级等级。服务等级可具有自己单独的队列,供数据传输至端口或从端口传输。举个例说,端口可具有8个服务等级,或优先级,每个具有单独的数据队列。可能存在其他变形。
图4是传输数据的系统的示例性节点的框图。图4中的节点A220可以是系统205的节点A220,并且可操作用于采用存储转发数据传输从系统205的一个或多个其他端口或节点接收数据包或将数据包发送至系统205的一个或多个其他端口或节点。节点A220可包括或起到入口端口和出口端口两者的作用。
系统205可操作用于在节点之间通过系统205以不同方式并采用多种数据传输类型发送数据包。按照存储转发,系统205的节点可以通过在将数据包从一个节点传输至另一个节点之前将数据包的段存储在节点或系统205的缓冲区或存储器中来对数据进行处理。
在存储转发中,节点A220可以是或可起到入口端口的作用并且诸如在网络接口处或通过网络接口从与节点A220连接或通信的一个或多个设备接收数据包。例如,节点可具有被配置为每秒接收1千兆数据的十二个端口。可能存在其他变形。
在节点A220处接收的数据包可以被指定为目的地为系统205的一个或多个其他节点或端口(其可以称之为“目的瓷片”、“目的节点”、“目的出口端口”或“目的端口”)。服务器110可以与系统205的节点A220的入口开端口连接,并且可以将数据传输至节点A220的入口端口,以便传输至可以与系统205的不同节点的出口端口连接的一个或多个其他设备,诸如附接至节点B225的出口端口的计算机130。数据的目的节点或目的端口可以是节点B225的出口端口。
可以通过或利用分组处理单元(“PPU”),诸如入口PPU(“IPPU”)1410对接收数据包执行分组处理。IPPU1410例如可以进行可以确定或解析目的节点和/或端口的初始分组处理阶段。之后,可以将数据包或段转发至入口流量管理器(“ITM”)415。
节点A220可能准备在不同时间并且根据多种条件将数据包发送至或传输至节点的出口端口。例如,在某些系统中,数据包可能较大,并且可以按照数据段在入口端口处接收,当收到数据段时,可以由入口端口进行内部处理。在某些情况下,诸如按照某些存储转发数据传输,可以将接收的数据段存储在ITM415中直至已收到数据包的所有数据段和/或直至节点准备将数据包发送至出口端口为止。在某些系统中,入口端口在传输数据包之前可以对数据包执行一次或多次有效性检查。如果数据包无效,则入口端口可以丢弃或不传输该数据包。在其他情况下,诸如按照某些直通数据传输,可能未将数据包存储在ITM415中。
再如,节点A220的入口端口可以将接收的数据段,或整个数据包存储在ITM415内直至出口端口准备接收数据段或数据包。多个入口端口可以使数据包发送至出口端口。在这些中,如果出口端口已经从一个入口端口接收数据,则出口端口可以不被配置为或不可操作地用于从节点A220的入口端口接收数据。再如,在某些系统中,出口端口可能具有其在前一段时间或时钟周期接收的数据(诸如存储转发数据),并且可能需要对数据进行处理或者将数据传输至一个或多个设备。在这些系统的一部分中,出口端口可能无法或不可能操作用于从节点A220的入口端口接收数据包。出口端口可另外或可选地进行流量控制或者进行控制以限制到出口端口的数据流(有时称之为“数据流控制”)。例如,当出口端口连接或通信的设备已满、拥挤或者无法接受任何额外数据,并警告出口端口这种状况时,出口端口可以进行流量控制,在这些系统的一部分中,出口端口可能无法或不可能操作用于从节点A220的入口端口接收数据。当出口端口与多于一个的服务等级或优先级相关联时,可以根据每个服务等级应用出口端口的流量控制。例如,当出口端口具有四个服务等级时,端口可以针对第一服务等级进行流量控制,不针对其他三个服务等级进行流量控制。可能存在其他变形。
在这些及其他系统中,可以将数据包存储在节点A220的入口端口的ITM415中直至出口端口可用于接收数据,诸如当出口端口处于空闲状态时。在某些情况下,直至满足因素的一个或多个组合时,诸如当已收到所有数据包并且出口端口准备接收数据包时,节点A220的入口端口才准备发送数据包。可能存在其他变形。
按照存储转发,当节点A220的入口端口准备将存储在ITM415中的数据包发送至或传输至目的出口端口时,可以首先将数据包发送至一个或多个分组处理单元,该分组处理单元可以在传输至出口端口之前对数据包执行额外处理。例如,可以首先将数据发送至IPPU2 420或通过IPPU2 420进行传递,IPPU2 420可以对数据执行一种或多种处理。在诸如利用或通过瓷片架构适配器或其他组件对系统205的出口节点的目的出口端口进行额外处理之后,可以传输数据。在其他系统中,在没有进一步的分组处理的情况下,可以准备传输数据包。
节点A220也可以是,可包括或者可充当出口端口。由系统205中的不同端口或节点发送或传输的数据包可以由节点A220的出口端口接收。一旦收到,就可以将数据包传输至或发送至一个或多个分组处理单元,诸如出口PPU(“EPPU”)1430,该EPPU1430在将接收的数据包传递至出口流量管理器(“ETM”)435之前可对接收的数据包执行一种或多种处理。例如,EPPU1430可以执行目的多播解析以确定所有目的出口端口。
ETM435可以是从出口端口接收数据包或数据段的存储器、缓冲区或存储设备。ETM435可以存储接收的数据包或数据段直至节点A220的出口端口准备将数据包发送至或传输至与节点A220连接的设备(诸如服务器110)。在某些系统中,直至在节点A220的出口端口处收到整个数据包时节点A220的出口端口才准备将数据包发送至或传输至与节点A220连接的设备。在某些系统中,直至设备指示准备接收数据包时节点A220的出口端口才准备将数据包发送至或传输至与节点A220连接的设备。在某些系统中,直至满足这些或其他条件的一个或多个组合时节点A220的出口端口才准备发送存储在ETM435中的数据包。可能存在其他变形。
当节点A220的出口端口准备将数据包发送至设备时,可以将数据包从ETM435发送至一个或多个分组处理单元(诸如EPPU2440),在从出口端口传输数据包之前该分组处理单元可以对数据包执行一些处理。之后,诸如可由或通过接口将数据传输至设备。在其他实例中,在不对数据包进行任何进一步处理的情况下,可以直接将数据包从ETM435发送至设备。
在某些系统中,节点或瓷片,诸如节点A220,可另外或可选地包括一个或多个控制器或控制模块。节点或瓷片的端口可具有控制器或控制模块。控制器、控制组件或控制模块可包括节点A220的一个或多个组件,或各种其他组件。控制器或控制模块可执行不同的功能或任务。例如,控制模块可根据接收的数据段或数据包分析并确定目的出口端口。再如,控制模块可以执行一个或多个功能,运行一个或多个算法,和/或做出可以影响或控制节点或节点的端口的功能或性能的一个或多个决定。控制器或控制模块可以执行各种其他功能或任务。
与存储转发数据传输不同,在某些系统中,可以对数据包进行处理并采用直通数据传输(有时称之为“直通”、“直通转发交换”或“直通数据传输”)从节点A220的入口端口进行传输。利用直通法,在已收到整个帧之前就例如只要对目的地址进行处理就可转发部分数据帧或数据包。利用直通法,数据包的数据段可通过入口端口或入口节点传输至出口端口或出口节点,而不存储在入口节点的缓冲区或存储器(诸如ITM415)中。
按照直通转发,数据段或数据包可由节点A220接收。然而,按照直通,数据段或数据包在IPPU1410处进行初始分组处理以确定目的节点之后可获得架构带宽,而不等待全部数据包到达入口节点。例如,一旦接收并解析目的节点,在不等待接收数据包的所有数据段的情况下,接收的数据段可通过节点A220的入口端口发送至接收节点的出口端口。在节点A220的入口端口处收到数据包的所有其他数据段或数据包的所有其他数据段由节点A220的入口端口处理之前,数据包的数据段可通过节点A220的入口端口传输至接收节点。
在某些情况下,可以将接收的数据段传输至出口端口,而不存储在任何实体存储器或缓冲区(诸如ITM415)中。替代地,在传输至出口端口之前可以将一个或多个数据段存储在存储器中。因为采用直通法传输的数据段可以绕过实体存储器或缓冲区,所以可能不需要或花费任何时间从存储器或缓冲区中读出数据。另外,直通数据传输可产生较低延迟,原因是在收到整个数据包之前可传输某些数据段。因此,直通数据传输可降低延迟和/或比存储转发数据传输更迅速、更有效以便在入口端口与出口端口之间传输数据包。
入口端口或节点以及出口端口或节点可以称之为在“存储转发模式”或在“直通模式”下操作。当在存储转发模式下操作时,入口端口可采用存储转发数据传输将数据传输至目的出口端口,出口端口可采用存储转发数据传输从入口端口接收数据。当在直通模式下操作时,入口端口可采用直通数据传输将数据传输至目的出口端口,出口端口可采用直通数据传输从入口端口接收数据。可能存在其他术语及变形。
数据可根据一个或多个架构在入口节点与出口节点之间发送或传输。在pull架构(拉架构,pullarchitecture)中,出口节点可以为一个或多个入口节点提供可被允许发送至出口节点的数据配额或信用。出口节点可以为一个或多个入口节点提供配额或信用,等同于或接近出口节点的处理速率。根据提供给pull架构中的入口节点的配额而提供给出口节点的流量或数据可以称之为调度流量。
在push架构(推架构,pusharchitecture)中,入口节点可以将数据段或数据包转发至一个或多个出口节点。数据段或数据包能够以高速率(诸如对入口节点来说可能的最高速率)转发。在push架构中,出口节点可以从多个入口节点接收数据,并且数据的接收速率可超过出口节点的处理速率。当数据的到达率超过阈值(诸如出口节点的最大处理速率)时,出口节点可以指示入口节点停止发送流量,或可以对数据流进行控制(“流量控制”)。根据push架构由入口节点提供给出口节点的流量或数据可以称之为非调度流量。非调度流量的实例可以是或可以包括采用直通数据传输来传输至出口节点的数据(“直通数据”)。可能存在传输数据的方式的其他架构。
入口节点可被配置为或可操作地用于以确定的传输速率,或根据或采用或以确定带宽传输数据。确定带宽可以是或可以表示有限的带宽量和/或时间,入口节点可通过有限的带宽量和/或时间将数据传输至一个或多个出口节点。端口可具有有限的接收和传输带宽,而系统205可具有通过组合系统的端口的带宽所实现的聚合带宽。例如,系统可具有带宽为100千兆每秒的四个端口,由此系统205可具有400千兆每秒的聚合带宽。
入口节点或入口端口可以按第一速率接收数据,并且可以按第二速率传输数据。入口节点还可将数据存储在缓冲器(诸如ITM415)中。例如,入口节点可以存储超过入口节点可以在任何时候所处理的数据的数据。缓冲区可以是不同尺寸,诸如大于在给定时间对入口节点来说可用的带宽量。
入口节点,或入口节点的控制模块,可以对入口节点的入口端口进行控制。入口节点的控制模块例如可以确定入口节点或入口节点的入口端口的资源分配,并且可以控制每个入口端口可以传输或者传递数据的方式以及传输至哪个出口端口。
图5是传输数据的示例性系统505的框图。系统505可包括入口节点510以及两个出口节点A530、B535。系统505可与系统105、205相似或类似。尽管为了简单起见在系统505中示出了一个入口节点以及两个出口节点,但在其他系统中,可包括或多或少的入口节点或出口节点。
入口节点510可以与节点A220、节点B225、节点C230、节点D235或入口节点310至315中的一个或多个相似、相同或类似。入口节点510可包括节点A220的一个或多个组件。入口节点510可具有一个或多个入口端口。
入口节点510可另外或可选地包括存储器或缓冲区515。缓冲区515可以与ITM415相同,可以是ITM415的一部分或者可以包括ITM415,或者可以是与ITM415不相同的缓冲区。缓冲区515可被配置为或可操作用于存储数据,诸如数据550。数据550可包括数据段或数据块、数据包、数据位或数据字节或各种其他数据或信息。入口节点510的缓冲区515可被配置为或可操作用于存储数据包,或数据包的段,当整个数据包由入口节点510诸如采用存储转发数据传输接收时目的地为将被发送至一个或多个出口节点或出口端口。入口节点510的一个或多个入口端口可以具有用于存储数据550的单独缓冲区515,或者可具有一个缓冲区515,该缓冲区可存储用于入口节点510的一部分或所有端口的数据550。可能存在其他变形。
入口节点510可被配置为和/或可操作用于同时接收和/或存储两组以上不同的数据或数据包,其中的一个或多个可以目的地为不同出口端口或出口节点。入口节点可以接收并存储目的地为第一出口节点(诸如出口节点A530)的数据550。数据550可以是入口节点510可存储作为存储转发数据的数据包,以便当数据550的所有段被入口节点510接收和/或存储时传输至出口节点A530。入口节点510还可以或可选地接收另一组不同的数据或数据包,诸如数据560。在入口节点510的接口530处,数据560可以被入口节点510接收。在数据550被接收或存储在缓冲区515中的同时,可以接收数据560。数据560可以是数据包,该数据包可以目的地为出口节点B535。
入口节点510可以识别、确定或接收出口节点B535可能处于空闲状态、可能是有资格的、可用的、或者能够采用直通数据传输从入口节点510接收数据(诸如数据560)的指示。入口节点510可以从可确定并与入口节点510通信的中央控制或确定系统接收向出口节点B535传输数据560是否会导致出口节点B535出现任何数据冲突的指示。可选地或另外地,入口节点510可以确定出口节点535是否可以处于空闲状态,可用,或者能够利用直通数据传输以各种其他方式接收数据。当入口节点510确定出口节点B535处于空闲状态,可用,或者能够利用直通数据传输接收数据560时,入口节点510可以确定出口节点B535可被配置为或可操作用于接收数据560传输,而入口节点510没有收到针对数据560的整个数据包,并且数据560尚未存储在入口节点510的任何缓冲区或存储器中。
入口节点510在将数据560传输至出口节点B535的过程中可能需要、使用、要求或占用入口节点510的一部分或所有输出带宽。入口节点510的输出带宽可以是入口节点510可以用于传输至另一出口节点或本地出口端口的带宽。然而,只要入口节点510正在接收可以利用直通数据传输来传输至出口节点(诸如出口节点B535)的数据(诸如数据560),立即传输比数据550的优先级更高的数据560可导致数据550存储在缓冲区515中更长的时间并且可能延迟数据550被传输至出口节点A530。
入口节点510可包括控制器、控制组件或控制模块520。控制模块520可执行一个或多个其他功能或任务,可执行或运行一个或多个算法,并且可控制入口节点或入口端口的一个或多个方面、功能、操作或数据传输。
控制模块520可控制入口节点510的资源分配。控制模块520可分配、确定并设置入口节点510的输出入口节点带宽中可用于一个或多个数据传输的一个或多个量。控制模块520可根据或基于入口节点状态和/或入口节点510的一个或多个监测参数来确定入口节点带宽量。控制模块520可有效平衡立即将直通数据560发送至出口节点B535的需求和效率,有必要并且顺利地将存储的数据550发送至出口节点A530,而不会导致不适当或无限延迟。另外地或可选地,控制模块520可对入口节点510执行一个或多个其他功能,诸如根据接收的数据段或数据包分析并确定目的出口端口,或确定目的出口节点或端口是否可能是处于空闲状态,可用,或者可操作地用于采用直通数据传输从入口节点510接收数据。
控制模块520可包括节点A220的一个或多个组件,诸如用于监测入口节点510的参数的监测组件,以及各种其他组件。控制模块520可控制或引导入口节点510的一部分或所有端口,或者入口节点510的一个或多个入口端口可具有用于入口端口的单独控制模块520。可能存在其他变形。
在确定并设置资源分配时,控制模块520可监测入口节点510的数据及参数值(有时称之为“节点参数”)。监测节点参数可以是或可以描述入口节点或由入口节点510执行的数据传输的一个或多个状态、特征、特点或其他元素。控制模块520可跟踪监测节点参数的值以便创建、设置、调整、改变或修改用于利用一种或多种数据传输来传输数据的入口节点的分配或带宽量(诸如,用于传输存储转发数据的带宽量以及用于传输直通数据的带宽量)。
控制模块520可以监测的入口节点参数可以是或可包括入口节点510的缓冲区填充水平或可具有存储在其中的数据550的缓冲区515的层次或量。缓冲区填充水平可以指示入口节点510具有多少存储转发数据550等待传输至出口节点(诸如出口节点A530)。缓冲区填充水平可以用多种方式表示,诸如精确或估计缓冲区填充水平、缓冲区填充水平的范围或缓冲区填充水平的类别或状态。可能存在其他变形。
控制模块520可以监测的入口节点参数可以是或可包括入口节点510已利用直通数据传输来传输数据的持续时间。持续时间可以指入口节点510已利用直通数据传输不断对数据(诸如数据550)执行数据传输的时间长度。另外地或可选地,持续时间可以指入口节点510已利用直通数据传输执行数据传输的积累时间或时间与给定时间段之比。可替换地,持续时间可以指入口节点510已利用存储转发数据传输来传输数据的时间。控制模块520可监测或接收关于持续时间的数据或信息。
控制模块520可以监测的入口节点参数可以是或可包括信用或pull算法属性。可以针对一个或多个出口节点530或535,将信用或pull算法属性分配给入口节点510。出口节点A530可被配置为或可操作用于接收给定量的数据,并且可以向一个或多个入口节点(诸如入口节点510)发送配额或信用。信用可以指示可通过入口节点510传输至出口节点A530的数据的多少和/或时间。例如当入口节点510具有大量的存储数据550,但不具有用于将数据传输至出口端口A 530的信用,由此在不可以从大量存储转发分配中获益的情况下,确定或识别配额或信用可能是有用的。控制模块520可监测信息、数据或入口节点510的信用信息的值。
控制模块520可以监测的入口节点参数可以是或可包括入队速率或出队速率。入队速率可以指入口端口可封装或可向出口端口传输数据段的时间或速率。出队速率可以指出口端口可以对其接收的数据段进行出队操作的时间或速率。入队速率或出队速率可以是数据包在每个时间段内的度量。入队速率或出队速率可随数据段的大小而改变,数据段可通过总线由入口节点传输至出口节点。传输入口节点(或接收出口端口)可能需要、使用或要求更长的时间或更多资源来对通过带宽或总线发送的较小数据段进行入队操作(或出队操作)。相反,传输入口节点(或接收出口端口)可能需要、使用或要求较短的时间或更少资源来对较大的数据段进行入队操作(或出队操作)。较高的入队速率或出队速率可能需要更多资源并且可以减少或限制可用于利用直通数据传输来传输其他数据的带宽。控制模块520还可以或可选地监测各种其他入口节点参数或入口节点参数的组合的值。
控制模块520可以分析并使用监测节点参数以确定和/或设置入口节点的资源分配。例如,控制模块520可确定针对入口节点的资源分配,或用于传输数据的确定输出带宽量,入口节点可使用该带宽采用一个或多个表(诸如分配查找表)来传输存储转发或直通数据。图6是示例性分配查找表600的图示。
分配查找表600可提供、分类或列出针对一个或多个资源分配(诸如带宽分配或确定输出带宽量)的设置。设置可以是一个或多个监测节点参数的值的函数。分配查找表600可包括第一监测节点参数(诸如缓冲区填充水平)的值的列610。分配查找表600还可包括提供、分类或列出针对列610中示出的第一监测节点参数的一个或多个值的直通带宽分配。直通带宽分配可以是入口节点用来或致力于利用直通数据传输执行数据传输的确定或设置入口节点带宽量或百分比。有资格利用直通数据传输由入口节点510传输的数据(诸如数据560)可利用由表600的直通带宽分配指定的一定量或百分比的确定或设置输出入口节点带宽传输至目的出口节点。
控制模块520可对入口节点510的监测节点参数与分配查找表600中所提供的资源分配设置进行比较。例如,控制模块520可将针对第一监测节点参数的接收值与列610中与第一监测节点参数相关联的值或值的范围进行比较。当控制模块520确定监测节点参数的接收值在列610中的值的查找范围内时,控制模块520可以根据接近或与在列610中找到的值或值的范围相关联的列650中所列出的分配来确定或识别资源分配,诸如直通带宽分配。
例如,控制模块520可针对第一监测入口节点参数(诸如入口节点510的缓冲区515的缓冲区填充水平)确定250KB的值。确定值可指示缓冲区515具有存储在缓冲区515内以便利用存储转发数据传输传送至出口节点的250KB的数据550。控制模块520可在分配查找表600的列610中查找一个或多个条目。当条目660可对应于可包括入口节点510的缓冲区515的缓冲区填充水平的监测值的缓冲区填充水平范围150KB至450KB时,控制模块520可将条目660识别为对应于缓冲区515的监测缓冲区填充水平。控制模块520可基于50%的设置(列650中对应于条目660的条目的值)识别或确定资源分配。入口节点510可利用高达50%的用于传输数据的输出入口节点带宽传输直通数据,诸如数据560。节点设置例如可以用来(例如)指定通过监测收集,在强制流量存储并转发之前可消耗的用于直通的峰值带宽。可能存在各种其他实例。
图7是替代示例性分配查找表700的图示。分配查找表700可提供资源分配信息,该资源分配信息可以基于监测入口节点参数的组合或可根据该组合进行设置。分配查找表700可包括列出针对多个监测入口节点参数的值或值的范围的列。条目、值及范围是示例性的并且可以根据实现方式而改变。分配查找表700可包括提供入口节点510的缓冲区515的缓冲区填充水平的条目、值或值的范围的列710。查找表700还可包括提供入口节点510已执行直通数据传输的时间的值或值的范围的列720。查找表700还可包括提供针对入口节点510信用的条目、值或值的范围的列730。分配查找表700可提供资源分配(诸如直通带宽分配),入口节点510可基于分配查找表700中识别的一个或多个监测入口节点参数按照上述分配进行设置、改变或实现。
控制模块520可以对识别的值、数据或关于监测入口节点参数的信息与分配查找表700中的条目进行比较以便识别资源分配设置。控制模块520可以基于该比较确定针对入口节点510的资源分配。例如,控制模块可监测入口节点参数,该入口节点参数可包括第一类别的或落入缓冲区填充水平1范围的缓冲区填充水平、入口节点510已利用直通数据传输来传输数据的持续时间值大约400纳秒(“ns”)以及入口节点510没有信用的指示。控制模块520可以对监测入口节点参数的值与分配查找表700的条目进行比较,并且可以识别与监测入口节点参数相对应的条目760。利用分配查找表700,控制模块520可以确定条目760条件下的直通分配大约为100%。可能存在其他实例。
分配查找表600、700可基于各种不同的入口节点参数或入口节点参数的组合提供针对入口节点510的资源或带宽分配。分配查找表例如可以提供与参数(诸如入口节点510已利用一个或多个数据传输类型传输数据的持续时间、入口节点510的信用、入口节点510的入队/出队速率或各种其他参数)中的一个或组合相对应的带宽分配设置。有资格利用直通数据传输由入口节点510传输的数据(诸如数据560)可利用由表600或700的直通带宽分配指定的一定量或百分比的确定或设置输出入口节点带宽传输至目的出口节点。
分配查找表600、700可以不同形式或方式提供对于资源或带宽分配的设置。分配查找表600、700可提供应当为一种或多种数据传输(诸如存储转发数据传输或直通数据传输)分配的带宽或资源的百分比。分配查找表600、700可提供可用于利用一种或多种数据传输来传输数据的端口的编号或标识。分配查找表600、700可提供数据是否可以利用一种或多种数据传输来传输的指示。可能存在各种其他实例。
另外地或可选地,控制模块520可利用一个或多个动作或状态表或图来确定针对入口节点510的资源分配。
图8是示例性状态图800的图示。状态图800中的值用于阐述目的并且可以根据实现方式而改变。状态图800可以被控制模块520参阅或使用以确定可用于传输直通数据的输出入口节点带宽量。状态图800可产生与查找表700相似的资源分配。
控制模块520可使用监测节点参数的值来导航状态表800。状态图800可包括决策树,控制模块520可导航该决策树以找出可能与入口节点510的当前状态相对应的状态,诸如状态850至863之一。决策树可包括一个或多个分支点,诸如缓冲区填充水平分支805、一个或多个直通时间分支815至817或一个或多个信用分支820至824。控制模块520可以基于入口节点510的监测节点参数从分支点向下至状态图的合适分支导航。例如,当监测入口节点参数包括第一类别的或落入缓冲区填充水平1范围的缓冲区填充水平、入口节点510已利用直通数据传输来传输数据的持续时间的值大约400ns以及入口节点510没有信用的指示时,控制模块可沿缓冲区填充水平1的分支从第一分支点805行进到分支点815,向下从“0-500ns”分支行进到分支点820,并且可以向下从无分支行进到状态851。该状态可以指示资源分配,诸如用于利用直通数据传输来传输数据的确定输出入口节点带宽的百分比。
状态图800可包括可能与一个或多个监测入口节点参数或参数的值相关或基于此的一个或多个分支点、分支以及状态。状态图800可包括来自先前分支点的每个分支的相似分支点(诸如来自缓冲区填充水平分支点805的每个分支的三个直通时间分支点815至817)。另外地或可选地,状态图800可包括与分支点(诸如来自直通时间分支点817的分支的两个分支点823、824以及作为直通时间分支点817的第三分支的状态14863)不同的分支。可能存在其他变形。
另外地或可选地,控制模块520可利用一个或多个算法或公式来确定针对入口节点510的资源分配。算法、公式或其他函数可操作用于基于一个或多个输入提供资源分配值。
控制模块520可执行一个或多个公式,该公式可能是确定针对入口节点510的资源分配的因素或一个或多个监测入口节点参数的加权值。由控制模块520执行以确定资源分配的一个公式可以为:
CT分配=100*min(1;1.4-(缓冲区填充值/1MB))
其中,CT分配可以是为直通数据传输分配的输出带宽的百分比,并且其中,为直通数据传输分配的带宽的百分比可以大约为100%或100*(1.4-(缓冲区填充水平/1MB)),取较小值。资源分配算法可考虑不同监测入口节点参数或入口节点参数的不同组合以确定针对入口节点的资源分配。例如,算法可考虑缓冲区填充水平以及入口节点510的信用量两者。可能存在算法的各种其他实例及变形。可选地或另外地,控制模块520可以各种其他方式利用各种其他工具或组件来确定入口节点510的资源分配。
表(诸如分配查找表600、700)和/或算法或公式在与入口节点一起使用之前可由程序员预先确定或预先配置。可选地或另外地,表和/或算法可基于系统的一个或多个可见或可测特征进行配置、确定或设置。分配查找表和/或算法可以是动态的,可以改变和/或可以更新。由分配查找表600、700和/或算法提供的带宽分配可在立即传输入口端口可利用直通数据传输来接收的数据段的需求及优先级与避免传输存储在入口节点510的缓冲区515中的数据550的不顺利及不正当延迟的要求之间提供折中或平衡。例如,分配查找表或算法可提供增加的直通带宽,以供已将数据550长时间存储在缓冲区515中的入口节点510使用,但其中入口节点510没有将数据550传输至目的出口端口的信用,因此不需要针对存储转发数据传输的带宽。可能存在其他实例及变形。
控制模块520可以设置或实现资源分配。一旦已确定资源分配,就可利用一个或多个分配查找表600、700或一个或多个算法或函数,或各种其他时间等来实现资源分配。
控制模块520可通过设置入口节点510的每个入口端口来实现资源分配以便在一个模式下操作或以便利用一种类型的数据传输来传输数据。控制模块520可根据确定的资源分配来设置入口端口的数量。当分配查找表600例如指示针对给定条目(诸如条目660)的直通带宽分配应为50%时,控制模块520可指定入口节点510的一半入口端口在直通模式下操作,入口节点510的另一半入口端口在存储转发模式下操作。如果带宽分配为80%,则控制模块520可以设置入口节点510的5个入口端口中的4个在直通模式下操作,而5个入口端口中剩余的1个可被设置为在存储转发模式下操作。
另外地或可选地,控制模块520可配置入口节点的入口端口以便利用不同类型的数据传输来传输一定百分比或一部分数据,或者以便在入口端口为一种类型的数据传输分配一定百分比的带宽。当控制模块520确定80%的直通分配时,例如,入口节点510的入口端口可被配置为分配80%的带宽,以供入口端口利用直通数据传输来传输数据,并且剩余的20%供入口端口利用存储转发数据传输来传输数据。
另外地或可选地,确定资源分配本身可以识别如何实现资源分配。一个或多个分配查找表600、700可以指定可以如何配置或操作每个入口端口,诸如通过为条目(诸如条目660或760)指示入口节点510(例如)的入口端口1至4可配置为在直通模式下操作,而端口5至10可配置为在存储转发模式下操作。另外地或可选地,控制模块520可将监测节点参数的值与阈值进行比较。控制模块520可针对利用存储转发数据传输或直通数据传输的数据传输分配一部分或所有带宽,节点参数的值大于或小于阈值。可能存在其他变形。
入口节点510可基于设置或实现的资源分配进行操作并传输数据。数据,诸如数据560,可通过直通法利用可由分配查找表、状态表、算法或以各种其他方式确定的入口节点带宽的直通量来传输。数据,诸如数据550,可通过存储转发法利用可由分配查找表、状态表、算法或以各种其他方式确定的入口节点带宽的存储转发量来传输。入口节点带宽的存储转发量可以是不包括入口节点带宽的直通量的入口节点带宽。可能存在其他实例。
图9是传输数据的示例性逻辑的流程图。该逻辑例如可以由入口节点510的控制模块520执行。逻辑可用于确定并设置入口节点510的带宽分配。带宽分配值用于阐述目的并且可以根据实现方式而改变。入口节点可根据设置的带宽分配传输或发送数据(诸如存储转发数据550及潜在的直通数据560)。逻辑可从方框900开始。
在方框902中,控制模块520可监测入口节点510的一个或多个节点参数。控制模块520可监测针对监测参数(诸如缓冲区填充水平、入口节点510的信用、入口节点510已在再一个或另一个中传输数据的持续时间、入队/出队速率和/或各种其他入口节点参数)的值。
在方框904中,控制模块520可确定针对入口节点510的资源分配,诸如带宽分配、端口分配、用于传输数据的确定带宽量或其他数据传输资源分配。例如,控制模块520可识别与监测节点参数的值相对应的资源分配的设置。控制模块520可以不同方式,诸如利用或参阅表(如分配查找表600或700),或利用算法或公式来确定资源分配。控制模块可基于、根据或按照针对一个或多个入口节点参数的一个或多个监测值来确定资源分配。
一旦已确定了资源分配,逻辑就可进入方框906。在方框906中,控制模块520或入口节点510的另一个组件可基于入口节点510的监测参数值来实现资源分配。控制模块520可根据确定的资源分配来设置或实现入口节点的一部分或所有入口端口以便可操作用于或被配置为利用第一模式(诸如存储转发模式)来传输数据,和/或入口节点的一部分或所有入口端口以便可操作用于或被配置为利用第二模式(诸如直通模式)来传输数据。可选地或另外地,控制模块520可配置或设置一部分或所有入口端口以便针对利用第一类型数据传输的数据传输分配一些带宽,并针对利用另一类型或模式的数据传输分配一部分或所有带宽。
资源分配,诸如带宽分配,可以指示或保证针对某些类型的数据传输的分配,诸如针对利用直通数据传输来传输数据的分配以及针对利用存储转发数据传输来传输数据的分配。可选地或另外地,资源分配(诸如带宽分配)可指示或保证针对一类数据传输(诸如直通数据传输)的最大分配。例如,资源分配可指示针对利用直通数据传输来传输数据的40%的最大资源分配,其中最多40%的资源(诸如带宽)可用于利用直通数据传输来传输数据。可以作为最大资源分配的一部分分配但不需要或不用于数据传输(诸如未使用的直通带宽)的资源(或带宽)可用于利用另一种数据传输(诸如存储转发)来传输数据。可能存在其他变形。
在方框908中,入口节点510可根据实现的资源分配来传输数据。例如,当资源分配被确定并实现来为存储转发数据传输提供大约40%带宽,为直通数据传输提供大约60%带宽时,缓冲区515中的数据550可利用入口节点510的大约40%的可用带宽传输至出口节点A530。入口节点510为出口节点B535接收的数据560可利用入口节点510的大约60%的直通带宽来传输。即使当数据560可被接收并且能够利用直通数据传输来传输时,在分配查找表或算法进行如此配置的情况下,控制模块520可配置为传输可存储在入口节点510的缓冲区515中的数据。可能存在其他变形及实例。
在方框910中,控制模块520、入口节点510或与控制模块520或入口节点510通信的另一个组件可以监测入口节点参数。控制模块520例如可以监测入口节点的缓冲区515的缓冲区填充水平,以及入口节点已根据直通数据传输来传输数据的持续时间。入口节点参数可不断地、在每个时钟周期内、定期地、按一定或确定间隔、触发时或在其他时间进行监测。
在方框912中,控制模块520、入口节点510或与入口节点510通信的另一个组件可确定是否已改变资源分配设置。当一个或多个入口节点参数已改变时,资源分配设置可改变。例如,缓冲区填充水平从750KB变化至200KB可触发资源分配设置变化。当入口节点参数的值超过阈值、从一个范围的值切换到另一个范围的值、或从一个水平或状态切换至另一个水平或状态时,资源分配设置可改变。阈值、值的范围和/或状态或水平可与分配查找表中的值或其他定义的值相对应。例如,如果该变化未使缓冲区填充水平从第一范围的值移至第二范围的值(诸如与分配查找表700相关),则缓冲区填充水平从250KB至200KB的变化不会触发资源分配设置变化。可能存在其他变形。
如果未检测到资源分配设置发生变化,则该逻辑可返回方框908。数据可继续利用方框908处的带宽分配来传输,并且控制模块520、入口节点510或与入口节点510通信的其他组件可继续监测入口节点参数。
如果检测到资源分配设置发生变化,则该逻辑可返回方框904,其中可基于新的入口节点参数或资源分配设置来确定新的资源分配。在方框906中,资源分配可以设置或实现,或者可只更新。
在某些变形中,图9的逻辑可包括更少或更多的方框或功能。在某些变形中,一个或多个方框可执行不同功能,或者一个或多个方框可组合为更少的功能或确定。在某些变形中,一个或多个方框或功能可按不同顺序或同时执行。可能存在逻辑的各种其他实例及变形。
图9的逻辑可以使控制模块520和入口节点510能够针对可利用直通数据传输和存储转发数据传输两者来进行数据传输的入口节点510提供资源分配,或确定带宽的量。通过配置分配查找表或算法,资源分配可以是可调整的并设置为在传输直通数据的即时性与避免传输存储转发数据的不正当延迟的期望之间提供平衡和折中。图9的逻辑可以用于在某些流量场景和设备配置下避免带宽缺乏。图9的逻辑还可允许控制模块520和入口节点510调整并动态控制入口节点510的资源分配以便随入口节点参数的变化而变化。
图10是传输数据的示例性逻辑的流程图。该逻辑例如可以由入口节点510的控制模块520执行。逻辑可用于确定入口节点510的带宽分配足以利用直通数据传输将数据段传输至出口节点的时间。逻辑可从方框1000开始。
在方框1002中,入口节点(诸如入口节点510)可接收数据段。数据段可以与数据560相同、相似或类似。数据段可以是来自较大数据包的一部分数据或一条数据。数据段可以目的地为或意图被发送至目的出口端口(诸如出口节点B535的出口端口)。控制模块520或入口节点510可对数据段进行分析。控制模块520可确定所接收的数据段的目的出口端口和/或将数据段发送或传输至该目的出口端口所需的带宽。
在方框1004中,入口节点510或控制模块520可确定目的出口端口是否有资格按照数据传输的直通模式接收数据段。控制模块520可(诸如通过从系统(诸如系统505)的中心控制器接收指示,或通过从出口端口及其他入口节点接收信息并分析信息)确定目的出口端口是否有资格按照直通数据传输或数据传输模式以不同方式来接收数据段。直通数据传输或数据传输模式可包括在入口端口处已接收较大数据包的剩余部分之前将该较大数据包的数据段传输至出口端口。直通数据传输或模式可包括将数据段传输至出口端口,而不将数据段存储在接收入口节点的缓冲区或内部存储器中。
在方框1006中,入口节点510或控制模块520可识别入口节点510的带宽分配(或用于传输直通数据或存储转发数据的入口节点带宽的量)。入口节点510或控制模块520可以执行一个或多个功能或运行图9的一部分或所有逻辑以确定入口节点510的带宽分配。带宽分配可以指示或识别入口节点使用的带宽的一部分或量,该入口节点可配置为或可操作用于利用不同模式或数据传输类型(诸如直通或存储转发)将数据传输至出口节点。带宽分配可指示或识别入口节点510的带宽量或入口节点510的入口端口数量,该入口节点可被配置为或可操作用于利用直通数据传输将数据传输至出口节点或出口端口(诸如目的出口端口)。
在方框1008中,入口节点510或控制模块520可确定在方框1006中识别的带宽分配是否可以支持、允许或足以利用直通数据传输来传输接收的数据段。入口节点510或控制模块520可对立即将数据段(诸如通过直通数据传输或数据传输模式)传输至出口端口所需的带宽与为即时或直通数据传输分配的可用带宽进行比较。立即将数据段传输至出口端口所需的带宽可以是或可以表示阈值,据此可用带宽可能需要比在允许利用直通数据传输将数据段传输至出口端口之前大。阈值可以大约为零,以便可用于传输直通数据的带宽的任意量可以大于阈值水平。
如果分配的带宽支持、允许或足以利用直通数据传输来将数据段传输至出口节点(诸如,如果分配的带宽大于阈值,诸如利用直通数据传输来传输数据段所需的带宽的量),可以执行方框1010的逻辑。入口节点510或控制模块520可利用直通模式或类型的数据传输使用入口节点带宽的分配量立即将数据段传输至目的出口端口。
如果相反,分配的带宽不支持、不允许或不足以利用直通数据传输来将数据段传输至出口节点(诸如,如果没有入口节点带宽的量可用于利用直通数据传输来执行数据传输),可以执行方框1012的逻辑。入口节点510或控制模块520可将数据段存储在存储器或缓冲区,诸如缓冲区515或ITM415中。入口节点510和控制模块520可将同一数据包的后继数据段存储在缓冲区515或ITM415中,直至已收到和/或存储整个数据包为止。一旦在入口节点510处已收到整个数据包并且入口节点510具有利用存储转发模式的数据传输将数据包传输至出口端口的带宽,就可利用存储转发数据传输将数据传输至出口端口。
在某些变形中,图10的逻辑可包括更多或更少的方框或功能。在某些变形中,一个或多个方框可执行不同功能,或者一个或多个方框可组合为更少的功能或确定。在某些变形中,一个或多个方框或功能可按不同顺序或同时执行。例如,在变形中,可在方框1004之前实行或执行方框1006、1008。可能存在逻辑的各种其他实例及变形。
图10的逻辑可以使控制模块520和入口节点510能够确定所接收的数据段何时可以利用直通数据传输或存储转发数据传输进行传输。图10的逻辑还可以或可选地指示或确定有多少入口节点带宽可用于传输数据段。资源分配可以在传输直通数据的即时性与避免传输存储转发数据的不正当延迟的要求之间提供平衡和折中。图10的逻辑还可允许控制模块520和入口节点510迅速评估入口节点的状态及带宽可用性,并调整及动态控制自入口节点的数据传输。
控制模块520可提供为高带宽云设备及架构自适应地分配带宽的机构。控制模块520可解析调度数据传输或流量(诸如存储转发数据)与非调度数据传输或流量(诸如直通数据)之间的架构访问争用。控制模块520可基于入口节点510或其他芯片的状态来应用带宽分配或带宽比。控制模块520可基于监测入口节点参数的范围或值来应用可偏移供入口节点510使用的带宽的阈值和算法。利用控制模块520偏移供入口节点510使用的带宽可使带宽比能够基于入口节点的状态自适应地进行配置。控制模块520可动态地或自适应地改变数据在入口节点510处的数据传输顺序或优先级。
可以在每个时钟周期内,或是或多或少频繁地进行资源分配和/或直通决定。可在收到一部分数据时、在节点参数改变时、或在各个其他时间进行带宽分配。入口节点可以执行一个或多个算法或功能以基于入口节点操作的状态和参数确定数据包是否可以利用直通数据传输被传输或输送至出口端口。同时或几乎同时可以在每个入口节点上并行执行这些算法或功能。这些方法及系统可以大幅提高每个入口节点处的数据传输效率,可以缩短系统的计算时间,并且可以允许通过系统105更快速有效地传输数据。如果可能需要低延迟及高带宽并且低延迟及高带宽可用于提高收入,这些方法及系统可以针对云处理、金融部门及社交网络提供有用的分布式功能。
上述方法、设备及逻辑,诸如入口节点或端口、出口节点或端口和/或入口节点或出口节点或端口的控制器或控制模块,可以以多种不同方式在硬件、软件或硬件和软件这两者的不同组合中实现。例如,所有或部分系统可以包括控制器中的电路、微处理器或专用集成电路(ASIC),或可以利用离散逻辑或组件,或组合在单个集成电路上或分布在多个集成电路之间的其他类型的模拟或数字电路的组合来实现。上述的所有或部分逻辑可以被实现为由处理器、控制器或其他处理设备执行的指令并且可以存储在有形或非瞬态机器可读或计算机可读介质中,诸如闪存、随机存取存储器(RAM)或只读存储器(ROM)、可擦除可编程只读存储器(EPROM)或其他机器可读介质诸如光盘只读存储器(CDROM)、磁盘或光盘。因此,产品,诸如计算机程序产生,可以包括存储介质及存储在介质上的计算机可读指令,在端点、计算机系统或其他设备中执行时,计算机可读指令使设备根据上述任意描述执行操作。
系统的处理能力可以分布在多个系统组件之间,诸如多个处理器及存储器之间,任选包括多个分布式处理系统。参数、数据库及其他数据结构可以单独存储并管理,可以并入单个存储器或数据库,可以逻辑地或物理地以多种不同方式进行整理,并且可以以多种方式实现,包括链表、散列表或隐性存储机制等数据结构。程序可以是单一程序、单独程序的一部分(例如,子程序),可以分布在若干存储器及处理器上,或可以以多种不同方式实现,诸如在诸如共享库(例如,动态链接库(DLL))等库中实现。例如,DLL可以存储有执行上述任意系统处理的代码。
尽管已经描述了本发明的各个实施例,但对本领域普通技术人员来说显而易见的是,更多的实施例及实现在本发明的范围内是可能。因此,本发明不受限制,按照所附权利要求及其等同内容除外。

Claims (8)

1.一种传输数据的系统,包括:
以确定带宽传输数据的入口节点,所述入口节点包括缓冲区并且所述入口节点基于监测节点参数进行操作;以及
与所述入口节点通信的控制器,所述控制器被配置为基于所述监测节点参数分配所述确定带宽中用于直接传输数据以绕过所述入口节点的所述缓冲区的量;
其中,所述监测节点参数包括所述入口节点的所述缓冲区的填充水平,所述确定带宽中用于直接传输数据的分配量与所述入口节点的所述缓冲区的填充水平成反比例变化。
2.根据权利要求1所述的系统,其中,所述控制器被配置为识别所述监测节点参数的变化。
3.根据权利要求2所述的系统,其中,所述控制器被配置为基于所识别的所述监测节点参数的所述变化来调整所述确定带宽中用于直接传输数据的分配量。
4.根据权利要求1所述的系统,其中,所述监测节点参数包括所述入口节点己经绕过所述入口节点的所述缓冲区直接传输数据包而不将所述数据包保存到所述缓冲区的时间段。
5.根据权利要求4所述的系统,其中,所述确定带宽中用于直接传输数据的分配量与所述入口节点己经绕过所述入口节点的所述缓冲区直接传输数据包的时间长度成反比例变化。
6.根据权利要求1所述的系统,其中,所述入口节点包括一组入口端口;并且其中,所述确定带宽中用于直接传输数据的分配量的比对应于所述一组入口端口中被分配用于绕过所述入口节点的存储器直接传输数据的入口端口数量与所述一组入口端口的大小之比。
7.一种传输数据的方法,包括:
监测入口节点的参数;
基于所述参数分配入口节点的确定带宽中的在所述入口节点处接收第一数据包的后
继数据段之前用于将所述第一数据包的数据段传输至出口节点的第一量;
利用所述确定带宽的所述第一量的至少一部分传输所述数据段;
基于所述参数分配所述确定带宽中的用于传输存储在所述入口节点的存储器中的第二数据包的第二量;以及
利用所述确定带宽的所述第二量的至少一部分传输所述第二数据包,
其中,所述参数包括所述入口节点的缓冲区的填充水平,所述确定带宽中用于直接传输数据的分配量与所述入口节点的所述缓冲区的填充水平成反比例变化。
8.一种入口节点,包括:
数据传输组件,被配置为以确定带宽传输数据;
缓冲区,与所述数据传输组件通信并期望所述缓冲区被配置为存储有关数据包的数据;
接口,与所述数据传输组件通信并且所述接口被配置为接收数据包的数据段;
控制器,与所述数据传输组件、所述缓冲区及所述接口通信,所述控制器可操作地基于所述缓冲区的填充水平确定所述确定带宽的第一量和所述确定带宽的第二量,其中,所述数据传输组件使用所述第一量传输存储在缓冲器中的数据,所述数据传输组件使用所述第二量在所述接口处接收数据包的后继数据段之前将数据段传输至出口节点,
其中,所述确定带宽中用于直接传输数据的分配量与所述入口节点的所述缓冲区的填充水平成反比例变化。
CN201310213892.9A 2012-06-01 2013-05-31 执行数据直通转发的系统 Active CN103457881B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261654395P 2012-06-01 2012-06-01
US61/654,395 2012-06-01
US13/610,165 US8989037B2 (en) 2012-06-01 2012-09-11 System for performing data cut-through
US13/610,165 2012-09-11

Publications (2)

Publication Number Publication Date
CN103457881A CN103457881A (zh) 2013-12-18
CN103457881B true CN103457881B (zh) 2017-03-01

Family

ID=48520655

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310213892.9A Active CN103457881B (zh) 2012-06-01 2013-05-31 执行数据直通转发的系统

Country Status (5)

Country Link
US (1) US8989037B2 (zh)
EP (1) EP2670085B1 (zh)
KR (1) KR101524860B1 (zh)
CN (1) CN103457881B (zh)
TW (1) TWI530130B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103874049B (zh) * 2014-03-31 2017-02-15 电信科学技术研究院 一种缓冲区状态上报bsr触发方法及装置
US9894013B2 (en) 2015-02-03 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Early queueing network device
WO2018012857A1 (ko) * 2016-07-12 2018-01-18 한국전기연구원 이중화 네트워크를 위한 통신 장치 및 그 데이터 처리 방법
US20190207864A1 (en) * 2016-08-22 2019-07-04 Mitsubishi Electric Corporation Communication apparatus and bandwidth control method
US10229533B2 (en) * 2016-11-03 2019-03-12 Mitsubishi Electric Research Laboratories, Inc. Methods and systems for fast resampling method and apparatus for point cloud data
JP6376229B2 (ja) * 2017-02-09 2018-08-22 オムロン株式会社 通信システム、通信装置および通信方法
CN111431812B (zh) * 2020-03-25 2022-04-01 新华三信息安全技术有限公司 一种报文转发控制方法及装置
EP4287562A4 (en) * 2021-03-15 2024-07-17 Huawei Tech Co Ltd INTEGRATED CIRCUIT, CHIP AND ELECTRONIC DEVICE
CN115622922A (zh) * 2021-07-16 2023-01-17 中兴通讯股份有限公司 处理大流量协议报文的方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491687A (en) * 1994-09-28 1996-02-13 International Business Machines Corporation Method and system in a local area network switch for dynamically changing operating modes
US7729239B1 (en) * 2004-12-27 2010-06-01 Emc Corporation Packet switching network end point controller
CN101834787A (zh) * 2010-04-12 2010-09-15 中兴通讯股份有限公司 调度数据的方法和系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2812295B2 (ja) 1996-04-17 1998-10-22 日本電気株式会社 セル転送装置
FR2759518B1 (fr) * 1997-02-07 1999-04-23 France Telecom Procede et dispositif d'allocation de ressources dans un reseau numerique de transmission par paquets
CA2348525A1 (en) * 1998-10-27 2000-05-04 Fujitsu Network Communications, Inc. Frame based quality of service
US6496516B1 (en) * 1998-12-07 2002-12-17 Pmc-Sierra, Ltd. Ring interface and ring network bus flow control system
US6795886B1 (en) 2000-12-22 2004-09-21 Ncr Corporation Interconnect switch method and apparatus
US20020118692A1 (en) 2001-01-04 2002-08-29 Oberman Stuart F. Ensuring proper packet ordering in a cut-through and early-forwarding network switch
US7406041B2 (en) * 2001-07-31 2008-07-29 Brocade Communications Systems, Inc. System and method for late-dropping packets in a network switch
US7441006B2 (en) * 2003-12-11 2008-10-21 International Business Machines Corporation Reducing number of write operations relative to delivery of out-of-order RDMA send messages by managing reference counter
US8149771B2 (en) * 2006-01-31 2012-04-03 Roundbox, Inc. Reliable event broadcaster with multiplexing and bandwidth control functions
US7986700B2 (en) * 2006-09-25 2011-07-26 Futurewei Technologies, Inc. Multiplexed data stream circuit architecture
US8068429B2 (en) * 2007-05-31 2011-11-29 Ixia Transmit scheduling
US8370721B2 (en) * 2008-11-11 2013-02-05 Celtro Ltd Method and system for sensing available bandwidth over a best effort connection
US8184540B1 (en) * 2009-12-11 2012-05-22 Juniper Networks, Inc. Packet lifetime-based memory allocation
US8340112B2 (en) * 2010-03-25 2012-12-25 International Business Machines Corporation Implementing enhanced link bandwidth in a headless interconnect chip

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491687A (en) * 1994-09-28 1996-02-13 International Business Machines Corporation Method and system in a local area network switch for dynamically changing operating modes
US7729239B1 (en) * 2004-12-27 2010-06-01 Emc Corporation Packet switching network end point controller
CN101834787A (zh) * 2010-04-12 2010-09-15 中兴通讯股份有限公司 调度数据的方法和系统

Also Published As

Publication number Publication date
TWI530130B (zh) 2016-04-11
CN103457881A (zh) 2013-12-18
KR101524860B1 (ko) 2015-06-01
US20130322271A1 (en) 2013-12-05
EP2670085B1 (en) 2015-01-07
EP2670085A1 (en) 2013-12-04
US8989037B2 (en) 2015-03-24
TW201351933A (zh) 2013-12-16
KR20130137539A (ko) 2013-12-17

Similar Documents

Publication Publication Date Title
CN103457881B (zh) 执行数据直通转发的系统
Noormohammadpour et al. Datacenter traffic control: Understanding techniques and tradeoffs
US9325637B2 (en) System for performing distributed data cut-through
US10218642B2 (en) Switch arbitration based on distinct-flow counts
US8149846B2 (en) Data processing system and method
Wang et al. PRSFC-IoT: A performance and resource aware orchestration system of service function chaining for Internet of Things
Liu et al. eBA: Efficient bandwidth guarantee under traffic variability in datacenters
CN104092756B (zh) 一种基于dht机制的云存储系统的资源动态分配方法
Susanto et al. Stream: Decentralized opportunistic inter-coflow scheduling for datacenter networks
CN104798356A (zh) 用于控制水平扩展软件应用中的利用率的方法和装置
CN107196877A (zh) 网络流量控制的方法及其网络设备
US8897292B2 (en) Low pass filter for hierarchical pipelined distributed scheduling traffic manager
CN106817317A (zh) 具有入口控制的业务量管理
CN106302228B (zh) 一种数据中心网络中基于任务感知的传输控制方法
US7394808B2 (en) Method and apparatus for implementing scheduling algorithms in a network element
Zhao et al. A unified modeling framework for distributed resource allocation of general fork and join processing networks
US20230246944A1 (en) Shaping outgoing traffic of network packets in a network management system
CN100466593C (zh) 一种支持多业务的综合队列调度的实现方法
US7990873B2 (en) Traffic shaping via internal loopback
You et al. Hierarchical multiresource fair queueing for packet processing
McLaughlin et al. Fully hardware based WFQ architecture for high-speed QoS packet scheduling
Cano-Cano et al. QoS provision in hierarchical and non-hierarchical switch architectures
Zhang et al. Micro-burst aware ECN in multi-queue data centers: algorithm and implementation
CN109688171A (zh) 缓存空间调度方法、装置和系统
Yébenes et al. Combining HoL-blocking avoidance and differentiated services in high-speed interconnects

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1187750

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170316

Address after: Singapore Singapore

Patentee after: Avago Technologies Fiber IP Singapore Pte. Ltd.

Address before: American California

Patentee before: Zyray Wireless Inc.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20181025

Address after: Singapore Singapore

Patentee after: Annwa high tech Limited by Share Ltd

Address before: Singapore Singapore

Patentee before: Avago Technologies Fiber IP Singapore Pte. Ltd.

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1187750

Country of ref document: HK