CN1856971B - 用于给通信网络中的虚信道分配业务等级的方法和装置 - Google Patents

用于给通信网络中的虚信道分配业务等级的方法和装置 Download PDF

Info

Publication number
CN1856971B
CN1856971B CN2004800277150A CN200480027715A CN1856971B CN 1856971 B CN1856971 B CN 1856971B CN 2004800277150 A CN2004800277150 A CN 2004800277150A CN 200480027715 A CN200480027715 A CN 200480027715A CN 1856971 B CN1856971 B CN 1856971B
Authority
CN
China
Prior art keywords
virtual channel
point
given
orderly
bypass
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.)
Expired - Fee Related
Application number
CN2004800277150A
Other languages
English (en)
Other versions
CN1856971A (zh
Inventor
加里·所罗门
克里斯·克赖斯特
马克·福伊尔斯特雷特
W·韩
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1856971A publication Critical patent/CN1856971A/zh
Application granted granted Critical
Publication of CN1856971B publication Critical patent/CN1856971B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/16Flow control; Congestion control in connection oriented networks, e.g. frame relay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

一般性地描述了一种用于将数据业务等级分配给通信网络中的虚信道的方法和装置。根据本发明的一个实施方案,节点接收包括用于初始化到另一节点的点对点通信链路上的虚信道的内容的数据分组,基于所述内容来初始化所述虚信道,并将一种数据业务等级映射到所述被初始化的虚信道。

Description

用于给通信网络中的虚信道分配业务等级的方法和装置
相关申请:本申请要求2003年8月8日递交的No.60/492,566号美国临时申请的权益。
技术领域
本发明的实施方案总地涉及电子领域,并且特别地涉及给通信网络中的虚信道分配数据业务等级(traffic class)的方法和装置。
附图说明
在附图的图中通过举例而非限制的方法来说明本发明的实施方案,其中,相同的参考数字指示类似的部件,在附图中:
图1是根据一个实施方案的电子系统的框图;
图2a是根据一个实施方案的可旁路虚信道(BVC)的框图;
图2b是根据一个实施方案的有序虚信道(OVC)的框图;
图2c是根据一个实施方案的多播虚信道(MVC)的框图;
图3是根据一个实施方案的虚信道管理器的体系结构图;
图4a是根据一个实施方案的BVC流控制(flow control)信用初始化数据链路层分组(DLLP)格式的图解;
图4b是根据一个实施方案的OVC流控制信用初始化数据链路层分组(DLLP)格式的图解;
图4c是根据一个实施方案的MVC流控制信用初始化数据链路层分组(DLLP)格式的图解;
图5a是根据一个实施方案,对虚信道索引(VC索引)和虚信道标识号码(VC ID)之间关系的图解;
图5b是根据一个实施方案,对在两个节点之间交换流控制信用初始化DLLP的图解;
图6是根据一个实施方案的BVC初始化方法的流程图;
图7是根据一个实施方案的OVC和MVC初始化方法的流程图;
图8a是根据一个实施方案的点对点通信链路的图解,示出了两个节点之间被支持的虚信道;
图8b是根据一个实施方案,对两个节点之间的虚信道资源分配的图解;
图9a是根据一个实施方案,对于被初始化的BVC,数据业务等级到虚信道映射的表;
图9b是根据一个实施方案,对于被初始化的OVC,数据业务等级到虚信道映射的表;
图9c是根据一个实施方案,对于被初始化的MVC,数据业务等级到虚信道映射的表;
图10是根据一个实施方案,对被初始化和被转换的激活虚信道的图解;
图11是根据一个实施方案的对路由头部分组格式的图解;以及
图12是根据一个实施方案,通过虚信道路由数据的方法的流程图。
具体实施方式
本发明的实施方案总地涉及用于给通信网络中的虚信道分配数据业务等级的方法和装置。根据一个实施方案,在这里引入了虚信道管理器。如下面更全面地描述的那样,该新型虚信道管理器可操作,从而基于从点对点通信链路上另一个节点接收到的数据分组中的内容来分配一个节点的队列资源,以支持与所述另一个节点的点对点通信链路上的虚信道。
图1是根据一个实施方案,包含本发明的电子系统的框图。根据图1的实施方案,示出了电子系统100,包括点对点通信链路101、通信信道102、系统控制逻辑104、系统存储器106、系统输入/输出(I/O)接口108、海量储存器110、端点112、交换部件(element)114和VC管理器116,每一个均如所示那样耦合。
在一个实施方案中,不同类型(type)的数据和/或指令(此后被看作“数据”)被分配给不同的数据业务等级。分配数据业务等级以便实现对在电子系统或通信网络中传送的数据的服务等级的区分。在这个方面,为数据业务等级分配数据业务等级标识符,所述数据业务等级与在电子系统或通信网络中从一个或更多个源节点传送到一个或更多个目的地节点的其他数据业务等级相比,具有较高或较低的优先权。
在一个实施方案中,在电子系统100中数据业务等级通过点对点通信链路101从源节点传送到目的地节点。例如,源节点可以是端点112,而目的地节点可以是另一个端点112。数据业务等级也可以在点对点通信链路101上,通过例如交换部件114的中间节点或一系列中间节点,从所述源节点传送到所述目的地节点。在那个方面,在点对点通讯链路101上,数据业务等级也可以在节点112和交换部件114之间(如图1中所示)或在交换部件114和另一个交换部件114之间(图1中未示出)传送。
在一个实施方案中,利用虚信道来辅助数据在点对点通信链路101上的有效传输。这些虚信道提供了一种在点对点通信链路101上支持多个独立的逻辑通信信道的方法。因此,例如通过把不同的数据业务等级复用到点对点通信链路101上,可以在逻辑上为与不同的数据业务等级相关联的数据提供信道。
在数据可以在点对点通信链路101上传送之前,耦合到该链路的源和目的节点,例如端点112和交换部件114,需要充足的队列资源来支持一个或更多个虚信道。充足的队列资源至少基于通过虚信道传送和/或接收数据所需的存储器容量。因此,如果存在充足的队列资源来支持虚信道,端点112或交换部件114可以在点对点通信链路101上初始化该虚信道。在那个方面,通信协议被引入,如下面将更全面地阐释的那样,通信协议支持一个或更多个新型特征,所述特征包括但不限于:初始化和并可选择地转换点对点通信链路101上的一个或更多个虚信道,把数据业务等级映射到被初始化的虚信道,和,通过被初始化和映射的虚信道来路由数据业务等级。根据一个示例性实施,上面所列出特征的全部或者至少一部分可以在设备层实现而无需外部软件。
图2a是根据一个实施方案,可旁路虚信道(BVC)的框图。根据一个实施方案,BVC210是点对点通信链路101上在端点112和交换部件114之间被支持的给定类型的虚信道。BVC受两种类型的队列资源支持:旁路队列和有序队列。在那个方面,有序队列212和旁路队列214是支持通过BVC 210的数据传输的先进先出(FIFO)队列。旁路队列214用来放置标记为“可旁路”的数据,而其他数据则被放置在有序队列212中。通过在旁路队列214中放置标有可旁路的数据并把未被标记为“可旁路”的数据放置在有序队列212中,假如标有可旁路的数据分组变得迟滞或延迟,则未被标记为“可旁路”的数据能够继续通过有序队列212,因而避免了通过BVC 210的潜在数据死锁。
利用BVC 210的数据分组通过按其被接收到有序队列212的尾部中的顺序传播到有序队列212的头部来满足分组排序要求。一旦数据分组到达有序队列212的头部,则其后续处理由判别器216根据数据分组是否被标识为“可旁路”来确定。
已经传播到有序队列212的头部并且不能进一步前进(即可用于传送数据分组的虚信道资源不足)的被标记为“可旁路”的数据分组被判别器216标识为可旁路的,并从有序队列的头部移去并放置到旁路队列214的尾部。这允许其他未被标记为“可旁路”的数据分组旁路所述标有可旁路的数据分组。
图2b是根据一个实施方案的有序虚信道(OVC)的框图。示出了OVC 220包括有序队列222。
在一个实施方案中,OVC 220是点对点通信链路101上,在例如端点112和交换部件114之间被支持的给定类型的虚信道。在那个方面,有序队列222是FIFO队列,它将通过OVC 220传送的数据分组按其被接收到有序队列222的尾部的顺序传播。OVC 220不具有旁路能力。
图2c是根据一个实施方案的多播虚信道(MVC)的框图。示出MVC 230包括多播队列232。
在一个实施方案中,MVC 230是点对点通信链路101上,在例如端点112和交换部件114之间被支持的给定类型的虚信道。在那个方面,多播队列232是FIFO队列,它将多播数据分组(寻址到一个或更多个目的地的数据)按其被接收到多播队列232的尾部中的顺序传播。MVC 230不具有旁路能力。
在一个实施方案中,使用BVC和OVC虚信道类型来传送单播数据(寻址到一个目的地的数据)。使用MVC虚信道类型来传送多播数据(寻址到多于一个目的地的数据)。MVC虚信道类型使用一个类型的队列资源,单个FIFO队列,该类型的队列资源和支持OVC所需要的资源类似。但是,由于和单播数据相反,多播数据通过点对点通信链路101上的MVC虚信道类型被路由,所以它被看作多播队列。
图3是根据一个示范性实施方案的虚信道管理器的体系结构图。示出VC管理器300包括一个或更多个分配引擎310、控制逻辑320、存储器330、I/O接口340,以及可选择的一个或更多个应用程序350。
根据一个实施方案,示出分配引擎310包括一个或更多个初始化特征312、映射特征314、路由特征316以及转换特征318。如下面将更全面地阐释的那样,初始化特征312、映射特征314、路由特征316以及转换特征318在两个节点之间的点对点通信链路上初始化一个或更多个虚信道,可选择地转换所述节点之间的非公共虚信道类型,把数据业务等级映射到被初始化和转换的虚信道,然后把所有后续数据路由到所述被映射、初始化和可选择地转换的虚信道。
如这里所使用的,控制逻辑320控制VC管理器300的总体操作,并且期望代表各种逻辑器件和/或用于实施这里所描述的VC管理器300的操作的可执行内容中的任意一种。在这个方面,控制逻辑320最好由微处理器、网络处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、用于实施这些控制特征的可执行内容和/或其任意组合构成。在可替换的实施方案中,控制逻辑320的特征和功能被实施在分配引擎310内。
根据一个实施方案,控制逻辑320调用分配引擎310的实例,从而在两个节点之间的点对点通信链路上初始化一个或更多个虚信道、把数据业务等级映射到被初始化的虚信道,然后把所有的后续数据业务等级路由到被映射的虚信道。
如这里所使用的,期望存储器330代表各种存储器介质,包括但不限于:易失性存储器、非易失性存储器、闪存以及编程变量或状态。根据示范性实施方案,分配引擎310使用存储器330临时储存与被两个节点之间的点对点通信链路上的每一个节点所支持的虚信道相关的信息。在这个方面,存储器330包括虚信道资源表,虚信道资源表具有一个或更多个记录(entry),用于放置与被点对点通信链路上的每一个节点支持的虚信道类型相关的信息。
存储器330还包括存储寄存器,用于临时储存一个或更多个位标志,所述位标志表示对于所述点对点通信链路上的给定虚信道是支持还是缺少支持。
根据一个示范性实施方案,分配引擎310使用存储器330临时储存与初始化虚信道和把虚信道资源映射到数据业务等级相关的信息。在这个方面,存储器330最好包括具有一个或更多个用于放置初始化和映射信息的记录的临时表,所述信息用于在两个节点之间的点对点通信链路上初始化虚信道和把虚信道映射到数据业务等级。映射表中的映射信息可以由分配引擎310静态地(例如在启动时)或者动态地(例如在运行时)输入。
根据一个示范性实施方案,存储器330还用来储存可执行内容。控制逻辑320使用所述可执行内容来至少执行用于实施分配引擎310的实例的可执行内容的子集。
如这里所使用的,I/O接口340在VC管理器300和电子系统之间提供了通信接口。例如,VC管理器300可以被实施为计算机系统的部件(element),其中,I/O接口340在VC管理器300和计算机系统之间通过通信信道提供了通信接口。在这个方面,控制逻辑320能够通过I/O接口340,从VC管理器300外部的应用软件接收一系列的指令。这一系列指令可以调用控制逻辑220来实施信号引擎210的一个或更多个特征。
在一个示范性实施方案中,VC管理器300包括一个或更多个给控制逻辑320提供内部指令的应用程序350。如这里所使用的,调用这些应用程序350来产生用户接口,例如图形用户接口(GUI),以便实现管理特征,等等。在可替换的实施方案中,分配引擎310的一个或更多个特征被实施为应用程序350,由控制逻辑320来调用这些特征。
根据一个实施方案,数据在点对点通信链路101上传送。如上面所介绍的,例如,可以给数据分配数据业务等级,以便实现服务等级区分。此外,为了辅助数据业务等级从端点112到交换部件114的有效传输,在点对点通信链路101上建立或者初始化了一个或更多个虚信道。
在点对点通信链路101上从端点112传送到交换部件114的数据分组被VC管理器300接收。VC管理器300基于数据分组内容,分配至少一部分耦合到端点112和/或交换部件114的队列资源来支持给定类型的虚信道。
如下面将更详细地说明的那样,如果存在充足的队列资源以便把至少一部分耦合到端点112和/或交换部件114的队列资源分配给共同支持的虚信道,则VC管理器300初始化并可能转换点对点通信链路101上的一个或更多个被共同支持的虚信道。然后,VC管理器300把数据业务等级映射到一个或更多个被初始化的虚信道,并通过所述一个或更多个被初始化和映射的虚信道路由后续的数据业务等级。
在这个方面,VC管理器300调用初始化特征312的实例来读取所接收到的在点对点通信链路101上在端点112和交换部件114之间传送的数据分组内容。初始化特征312基于接收到的数据分组内容,利用端点112和交换部件114所指示的虚信道资源填写例如在存储器330保持的临时虚信道资源表。如上面所介绍和下面更详细地说明的那样,这些虚信道资源可以是端点112和交换部件114在点对点通信链路101上支持的BVC、OVC和/或MVC的数量。
一旦临时虚信道资源表被初始化特征312填写,则分配引擎310调用转换特征316的实例。转换特征316访问虚信道资源表并比较端点112和交换部件114指示支持的虚信道资源。基于比较,转换特征316如下面更详细地说明的那样,可以转换非共同支持的虚信道类型,即只被端点112或交换部件114中的一个或另一个支持而不是两个都支持的虚信道类型,以便辅助最有效地使用点对点通信链路101上的队列资源。
初始化特征312至少部分地基于点对点通信链路101上的虚信道类型的初始化以及可能的转换的结果,填写例如临时在存储器330中保持的被初始化的虚信道表。利用点对点通信链路101上所有被初始化的虚信道的BVC、OVC和MVC VC ID号填写这个表。
然后,分配引擎310调用映射特征314的实例。如上面所介绍的,映射特征314填写存储器330中的映射表。映射特征314还访问例如在存储器330中保持的临时初始化虚信道表。然后,映射特征314使用这两个表把每一个被初始化的虚信道映射到点对点通信链路101上的一个或更多个数据业务等级。
一旦数据业务等级被映射到被初始化的虚信道,则分配引擎310调用路由特征316的实例,读取接收到的数据分组内容,所述数据分组内容与随后在点对点通信链路101上传送的数据业务等级相关联。然后,路由特征316基于接收到的数据分组内容,通过先前被映射特征314映射的路由来路由数据业务等级。
路由特征316在点对点通信链路101上传输之前也可以修改数据分组内容。被修改的数据分组内容与要通过点对点通信链路101上被初始化和映射的虚信道传送的数据相关联。这种修改辅助路由通过点对点通信链路101上的每一条被初始化和映射的虚信道传送的数据。这种修改还可以帮助路由数据通过节点之间的所有后续的点对点通信链路,数据遍历所述节点以到达其最终目的地。
如下面将更详细地描述的那样,被修改的数据分组内容符合路由特征316所使用的通信协议,以便辅助数据业务等级的路由。
图4a是根据本发明的一个实施方案,BVC流控制信用(credit)初始化数据链路层分组(DLLP)格式的图解。示出InitFC-BVC 410包括32位的BVC初始信用DLLP格式,尽管本发明不限于32位的格式。
在一个示范性实施方案中,一个或更多个InitFC-BVC 410 DLLP被端点112或交换部件114传送,以便指示支持点对点通信链路101上的BVC。InitFC-BVC 410 DLLP包含两个字段,指示对给定VC ID的BVC支持:旁路队列信用字段和有序队列信用字段。如将在图5a中更详细地说明的那样,在InitFC-BVC 410中被示为“0-7范围内的VC索引”的第三字段中指示了给定的VC ID虚信道标识符。
如前所述,为了支持BVC,端点112和交换部件114都需要充足的队列资源,以便在点对点通信链路101上既支持旁路队列也支持有序队列。因此,通过起到旁路和有序队列深度或容量的通知的作用,每一个InitFC-BVC 410 DLLP的旁路队列和有序队列信用字段内的非零值指示对于点对点通信链路101上给定的虚信道标识符支持BVC。
VC管理器116读取接收到的从端点112传送到交换部件114的DLLP,并基于接收到的DLLP的内容,确定对于给定的虚信道标识符,端点112是否支持点对点通信链路101上的BVC,并且如果支持,则对于在点对点通信链路101传送的后续数据,可以初始化该虚信道并将其映射到给定的数据业务等级。
图4b是根据本发明的一个实施方案,OVC流控制信用初始化DLLP格式的图解。在图4b中,把InitFC-OVC DLLP示为InitFC-OVC 420。
在一个示范性实施方案中,一个或更多个InitFC-OVC 420 DLLP被端点112或交换部件114传送,以便指示支持点对点通信链路101上的OVC。每一个InitFC-OVC 420 DLLP均包含两个用于指示一次对给定VC ID的两个虚信道的OVC支持的字段。如将在图5a中更详细地说明的那样,在InitFC-OVC 420中被示为“8-11范围内的VC索引”的第三字段中指示了给定的VC ID。
通过起到有序队列深度或容量的通知的作用,每一个InitFC-OVC 420 DLLP的有序队列信用字段内的非零值指示对于点对点通信链路101上给定的虚信道标识符支持OVC。
VC管理器116至少部分地基于上面的确定,可以在点对点通信链路101上初始化被标识的虚信道,并且对于在点对点通信链路101上传送的后续数据,把给定的数据业务等级映射到所述被初始化的虚信道。
图4c是根据本发明的一个实施方案,MVC流控制信用初始化DLLP格式的图解。在图4c中,把InitFC-MVC DLLP示为InitFC-MVC 430。
在一个示范性实施方案中,一个或更多个InitFC-MVC 430 DLLP被端点112或交换部件114传送,以便指示支持点对点通信链路101上的MVC。InitFC-MVC 430包含两个用于指示一次对给定VC ID的两个虚信道的MVC支持的字段。如将在图5a中更详细地说明的那样,在InitFC-MVC 430中被示为“12-13范围内的VC索引”的第三字段中指示了给定的VC ID。
通过起到多播队列深度或容量的通知的作用,每一个InitFC-MVC 430 DLLP的多播队列信用字段内的非零值指示对于点对点通信链路101上给定的虚信道标识符支持MVC。
VC管理器116至少部分地基于上面的确定,适当地初始化点对点通信链路101上一个或更多个被标识的虚信道,并且对于在点对点通信链路101上传送的后续数据,把给定的数据业务等级映射到所述被初始化的虚信道。
图5a是根据一个实施方案,虚信道索引(VC索引)和虚信道标识号码(VC ID)之间的关系的图解。表505示出了用于将VC索引与VC ID和虚信道类型匹配的记录。
在一个示范性实施方案中,表505示出了把给定的VC ID分配给VC索引,并进一步示出了把VC索引范围分配给BVC、OVC或MVC结构,尽管本发明在这个方面不受限制。
在一个实施方案中,表505被临时储存在VC管理器300可访问的存储器中,并且被VC管理器300用来初始化点对点通信链路101上给定类型的虚信道。
在可替换的实施方案中,由于InitFC-OVC 420和InitFC-MVC 430的DLLP格式允许每个VC索引转移两个VC ID的队列信用信息,具有16个可能的VC索引值的4位VC索引辅助初始化超过20个表505中所示的VC ID。此外,本发明不限于4位VC索引值,因此更多位的值可以导致更高的VC ID号。
图5b是根据一个实施方案,对在两个节点之间交换流控制信用初始化DLLP的图解。在图5b中示出节点510和520每一个分别指示用于6个和5个虚信道的充足队列资源。节点510指示支持VC ID 0、1、8、9、10和16,而节点520指示支持VC ID 0、1、2、3和16。
根据一个示范性实施方案,节点510把在适当队列信用字段中具有非零信用值的流控制信用初始化DLLP传送到节点520,至少一个DLLP与每一个被支持的虚信道相关联。当遵循表505中列出的VC ID分配时,节点510把用于VC ID 0、1、8、9、10和16的具有非零信用值的5个DLLP传送到节点220(由于VC ID 8和9将被具有VC索引8的同一个DLLP传送,见表505)。节点520也将把用于VC ID 0、1、2、3和16的具有非零信用值的至少5个DLLP传送到节点510。因此,在这个示范性实施方案中,基于所交换的流控制初始化DLLP的内容,只有VC ID 0、1和16被节点510和520共同地支持。因此,为了通过点对点通信链路上的虚信道传送/接收数据,在节点510和520之间的点对点通信链路上可以初始化VC ID 0、1和16。
图6是根据一个实施方案,执行BVC初始化的方法的流程图。在这个示范性实施方案中,在点对点通信链路101上初始化一个或更多个虚信道。在那个方面,过程以框605开始,其中,状态机变量“x”(此后被表示为VC(x)中的x)等于0。在一个示范性实施方案中,使用状态机变量来跟踪每一个接收到的DLLP的VC索引(见表505)的正确排序。因此,在VC(x)中x等于0对应于VC索引值0。
也是在框605中,位标志被断言或等于1。该位标志可以被储存在VC管理器116可访问的存储寄存器中。使用该位标志来表示支持点对点通信链路101上给定的虚信道。因此,该位标志的断言表示VC(x)是点对点通信链路101上潜在可支持的虚信道,并且一直到这个给定的时间周期不指示其他内容。
然后,过程移动到框610,其中,InitFC-BVC 410格式的DLLP被端点112在点对点通信链路101上传送。
然后,过程移动到框615,其中,VC管理器300的控制逻辑320调用分配引擎310的实例。响应控制逻辑320,分配引擎310调用初始化特征312的实例。初始化特征312确定交换部件114是否已经接收到用于VC(x)的InitFC-BVC DLLP。
如果初始化特征312确定交换部件还没有接收到用于VC(x)的InitFC-BVC DLLP,则过程移动到框620。
在框620中,可以实施一种规则来辅助VC ID的顺次初始化。这个规则规定,应该在端点112或交换部件114按顺次顺序接收初始化流控制信用DLLP,并且,如果不顺次接收,则导致故障事件。因此,如果初始化特征312确定用于VC(x)的DLLP未被交换部件114接收,则已经导致故障事件,并且初始化过程结束。
在框620中,如果初始化特征312确定用于VC(x)的InitFC-BVC DLLP已经被交换部件114接收,则过程移动到框625。在框625中,初始化特征312确定VC(x)是否大于零。
如果初始化特征312确定VC(x)不大于零,则过程移动到框630。在框630中,初始化特征312读取用于VC(x)的InitFC-BVC DLLP的旁路队列信用和有序队列信用字段,以便确定任一字段是否包含零值。零值指示一种类型或两种类型的队列都不受端点112支持,并且如上所述,要求两种类型的队列都支持BVC。因此,旁路队列信用或有序队列信用字段中的零值指示对于VC(x),端点112不支持可旁路虚信道。
如果初始化特征312确定存在零值,则过程移动到于框620对应的圆圈A。
在框620中,根据一个示范性实施方案,可以实施另一种规则来辅助VC ID的顺次初始化。这个规则要求:如果发现较低号数的可支持BVC虚信道在点对点通信链路101上不被支持,则对于所有被传送的InitFC-BVC DLLP,用于可支持BVC虚信道的任意号数较高的VC ID(号数0-7,见表505)在旁路队列信用和有序队列信用字段中具有零值。因此,如果VC ID=0,则旁路队列信用或有序队列信用字段中的零值指示不支持点对点通信链路101上的虚信道。不支持的指示和位标志=1冲突,如前面所陈述的那样,位标志=1表示在点对点通信链路101上没有被检测到的不被支持的虚信道。因此,初始化特征312指示在初始化点对点通信链路101上的虚信道时已经发生了故障事件,并且初始化过程结束。
如果初始化特征312确定不存在零值,则过程移动到框635。在框635中,初始化特征312将VC(x)递增1。因此,对于和VC索引=0对应的虚信道完成了初始化过程。然后,过程返回框610。
在框625,如果初始化特征312确定VC(x)不等于零,则过程移动到框640。在框640中,初始化特征312读取InitFC-BVC DLLP的旁路队列信用和有序队列信用字段,以便确定任一字段是否包含零值。
如果初始化特征312确定在旁路队列信用和有序队列信用字段中不存在零值,则过程移动到框645。在框645中,初始化特征312访问位标志(例如储存在存储器330中),并且确定位标志是否被解除断言(位标志=0),如前所述,这表示VC(x)已经发现点对点通信链路101上不支持的指示。
如果初始化特征312确定位标志=0,则过程移动到和框620对应的圆圈A。在框620中,如前所述,存在冲突,导致故障事件并且初始化过程结束。
如果初始化特征312确定位标志=1(被断言),则过程移动到框650。在框650中,确定对于VC(x),在点对点通信链路101上BVC是否被端点112支持。然后过程移动到框655。
在框640中,如果初始化特征312确定在有序或旁路队列信用字段中存在零值,则过程移动到框660。在框660中,初始化特征312解除断言位标志,表示端点112缺少对和VC(x)对应的BVC的支持。然后,过程移动到框655。
在框655中,初始化特征312确定VC(x)的值是否等于7。如果初始化特征312确定该值不等于7,则过程移动到框635。
在框635,初始化特征312将VC(x)递增1。因此,对于该特定虚信道初始化完成了。然后过程返回框610。
如果初始化特征312确定该值等于7,则过程移动到框665。在框665中,由于已经发现被分配用于支持BVC的所有8个VC ID号(见表505)或者被端点112支持或者不被支持,所以BVC初始化过程完成。然后过程移动到框670。
在框670中,初始化特征312将VC(x)递增1。因此,现在VC(x)指示至少为8的VC索引和VC ID。然后过程移动到框675。
在框675,启动初始化OVC和/或MVC的过程,因为如表505中所示那样,大于7的VC索引值对应于OVC和MVC。然后,过程移动到图7。
图7是根据一个实施方案,执行OVC和MVC初始化的方法的流程图。在图7中,过程从图6的过程继续进行,并以框702开始。
在框702中,y代表和如表505中所示的给定VC索引值对应的VC ID号。在这个示范性实施方案中,y=8,因为VC ID 0-7先前完成了在图6中所描述的初始化过程。此外,由于InitFC-OVC和InitFC MVC DLLP指示用于一次初始化两个虚信道的队列资源,所以每一个VC ID在图7中被表示为y和y+1。此外,由于图7中的过程是在图6中描述的过程的继续,所以VC索引也是8。因此,在VC(x)中的状态机变量“x”等于8。然后,过程移动到框704。
在框704中,如前所述,等于1的位标志表示在点对点通信链路101上VC(x)是潜在可支持的。
然后,过程移动到框706,其中,端点112将一个或更多个使用InitFC-OVC 420格式的DLLP在点对点通信链路101上传送到交换部件114。
然后,过程移动到框710,其中,初始化特征312确定交换部件114是否已经接收到用于在点对点通信链路101上初始化VC(x)的InitFC-OVC DLLP。
如果初始化特征312确定交换部件114还没有接收到用于VC(x)的InitFC-OVCDLLP,则过程移动到框712。在框712中,如先前在图6中所描述的那样,故障事件已经在初始化虚信道中发生,并且初始化过程结束。
如果初始化特征312确定用于VC(x)的InitFC-OVC DLLP已经被交换部件114接收,则过程移动到框714。在框714中,初始化特征312确定VC(x)是否大于11。8-11的VC(x)指示OVC正被初始化,而等于12或13的VC(x)指示MVC正被初始化。这在表505中被示出。
如果初始化特征312确定VC(x)不大于11,则过程移动到框716。在框716中,初始化特征312读取VC ID=y(例如VC ID=8)和VC ID=y+1(例如VC ID=9)的有序队列信用字段,以便确定两个字段是否都包含零值。
在一个示范性实施方案中,VC ID=y和VC ID=y+1的有序队列信用字段中的零值指示对于那些相应虚信道,端点112不支持OVC。
如果初始化特征312确定两个字段都不包含零值,则过程移动到框718。在框718中,初始化特征312访问VC(x)的位标志,并确定该位标志是否被解除断言(位标志=0),或者VC ID=y的有序队列信用字段是否指示零值。
如果初始化特征312确定位标志=0或者对于有序队列信用指示了零值,则过程移动到和框712对应的圆圈A。在框712中,如先前在图6中所述,已经发生了故障事件并且初始化过程结束。位标志=0是故障,因为它指示OVC不被VC ID=y或者VC ID=y+1支持,并且这和在框734中确定的VC ID=8和VC ID=9的有序队列信用字段中的非零值冲突。
根据一个示范性实施方案,可以实施一种规则来辅助点对点通信链路101上可OVC的VC ID的顺次初始化。这个规则可以要求:如果检测到较低号数的可支持OVC虚信道不被支持,则对于所有被传送的InitFC-OVC DLLP,用于被发现在点对点通信链路101上不被支持的OVC虚信道的任意号数较高的VC ID对于有序队列信用字段具有零值。因此,在该示范性实施方案中,VC ID=y是比VC ID=y+1更低的号数。因此,VC ID=y的零值和VC ID=y+1的非零值违犯了上述规则,并导致故障事件。
在框718中,如果初始化特征312没有确定位标志=0或者VC ID=y的有序队列信用值为零,则过程移动到框720。在框720中,初始化特征312确定VC ID=y+1的有序队列信用是否为零。
如果初始化特征312确定VC ID=y+1不具有等于零的有序队列信用值,则过程移动到框722。在框722中,确定对于VC ID=y和y+1,端点112在点对点通信链路101上支持OVC。然后过程移动到框726。
如果初始化特征312确定VC ID=y+1具有等于零的有序队列信用值,则过程移动到框724。在框724中,确定对于VC ID=y,端点112支持OVC并且对于VC ID=y+1,端点112不支持OVC。
如前所述,可以实施一种规则来辅助点对点通信链路101上可OVC的VC ID的顺次初始化。在这个方面,由于VC ID=y+1在有序队列信用字段中具有零值,所有更高号数的可OVC的虚信道必须被禁止。因此,初始化特征312对于VC ID=y+1解除断言位标志,以便表示特定VC ID被禁止,并且对于点对点通信链路101上所有更高号数的可OVC的虚信道解除断言位标志。然后过程移动到框726。
在框716中,如果初始化特征312确定VC ID=y和VC ID=y+1的仅是有序队列字段为零值,则过程移动到框728。
在框728中,确定对于VC ID=y或VC ID=y+1不支持OVC,因为如前所述,VC ID=y和VC ID=y+1的有序队列信用字段中的零值指示在点对点通信链路101上端点112不支持OVC。
仍如前所述,在示范性规则实施中,在点对点通信链路101上禁止所有较高号数的可OVC的VC ID。因此,初始化特征312访问位标志(例如在存储器330中)并为点对点通信链路101上的所有可OVC的虚信道解除断言位标志。然后过程移动到框726。
在框714中,如果初始化特征312确定VC(x)大于11,则过程移动到框734。如前所述,12或者13的VC索引指示MVC正在被初始化(见表505)。因此,在框734中,初始化特征312将读取一个或更多个由端点112使用InitFC-MVC 430格式在点对点通信链路101上传送的DLLP。因此,初始化特征312读取用于VC(x)的InitFC-MVC 430 DLLP的两个多播队列信用字段,如前所述,所述字段对应于VC ID y和y+1。
如果初始化特征312确定两个多播队列信用字段都不具有零值,则过程移动到框736。在框736中,初始化特征312访问VC(x)的位标志(例如在存储器330中),并确定位标志是否等于零。初始化特征312基于其对VC ID=y的多播队列信用字段的读取,还确定该字段是否指示零值。
如果初始化特征312确定位标志=0或者VC ID=y的多播队列信用字段为零值,则过程移动到和框712对应的圆圈A。在框712中,故障事件已经发生,并且初始化过程结束。位标志=0是一种故障,因为它指示对于两个VC ID中的任一个,端点112均不支持MVC,并且这和像在框734中发现的两个VC ID的多播队列信用字段中的非零值冲突。
此外,根据一个示范性实施方案,可以实施一种规则来辅助可MVC的虚信道ID的顺次初始化。这个规则可以要求:如果检测到较低号数的可支持MVC虚信道不被支持,则对于在点对点通信链路101上所有被传送的InitFC-MVC DLLP,用于被发现在点对点通信链路101上不被支持的MVC虚信道的任意号数较高的VC ID对于多播队列信用字段具有零值。因此,在该示范性实施方案中,VC ID=y是比VC ID=y+1更低的号数。因此,VC ID=y的零值和VC ID=y+1的非零值违犯了上述规则,并导致故障事件。
在框736中,如果初始化特征312没有确定位标志=0或者VC ID=y的多播队列信用值为零,则过程移动到框738。在框738中,初始化特征312确定VC ID=y+1的多播队列信用值是否为零。
如果初始化特征312确定VC ID=y+1不具有等于零的多播队列信用值,则过程移动到框740。在框740中,确定对于VC ID=y和VC ID=y+1,端点112在点对点通信链路101上支持MVC。然后过程移动到框746。
在框734中,如果初始化特征312确定VC ID=y和VC ID=y+1具有等于零的多播队列信用值,则过程移动到框744。在框744中,确定对于VC ID=y和VC ID=y+1,端点112不支持MVC。
如前所述,在示范性规则实施中,VC ID=y和VC ID=y+1在多播队列信用字段中具有零值,所以在点对点通信链路101上必须禁止所有较高号数的可MVC的VC ID。因此,初始化特征312访问位标志(例如在存储器330中)并为所有对应于等于或大于VC(x)的VC索引值(见表505)的MVC VC ID解除断言位标志,并且过程移动到框746。
在框746中,初始化特征312确定VC(x)是否等于13。
如果初始化特征312确定VC(x)等于13,则初始化过程结束。因此,根据表505中所示的示范性实施方案,在为13的VC(x)值以后,对于点对点通信链路101上的所有BVC、OVC和MVC,初始化过程结束。
如果初始化特征312确定VC(x)不等于13,则过程移动到框726。
在框726中,根据一个示范性实施方案,初始化特征312将VC(x)递增1。如表505所示,将VC(x)递增1也将导致将变量“y”(和VC ID号相关联)递增为2的值。然后,过程移动到框708。
在框708中,初始化特征312确定VC(x)是否等于12。
如果初始化特征312确定VC(x)等于12,则过程移动到框704。在框704中,如果标志位先前已经被解除断言过,则初始化特征312可以断言标志位,以便表示不支持一个或更多个可OVC的虚信道。因此,可以初始化12或更大的VC(x)值而不产生故障事件。然后,过程从框706继续,用于VC(x)值为12或更大的MVC的可能的初始化。
如果初始化特征312确定该值不等于12,则过程从框706继续,用于至少又一个OVC的可能的初始化。
图8a是根据本发明的一个实施方案的点对点通信链路的图解,示出了两个节点之间被支持的虚信道。根据所示的图8a的示范性实施方案,示出了端点112和交换部件114。
在一个示范性实施方案中,如在图6和图7中所示的过程中所描述的那样,已经完成了用于初始化点对点通信链路101上被端点112和交换部件114支持的BVC、OVC和MVC的初始化过程。在图8a中,示出在点对点通信链路101上,端点112支持两个BVC,三个OVC和一个MVC,而示出交换部件114支持四个BVC和一个MVC。
在一个实施方案中,点对点通信链路上被支持的虚信道的数量对应于对于给定的虚信道类型,被共同支持的虚信道的最小数量。在图8a中,端点112只支持两个BVC,而交换部件114支持四个BVC。因此,在点对点通信链路101上,只有两个BVC被共同支持。因此,用于被交换部件114支持的其他两个BVC的资源未被利用,除非它们被转换为OVC。
将不被共同支持的BVC转换为OVC辅助了更有效地使用交换部件114中所分配的队列资源。这是可能的,因为在如图2a中所示的BVC和在如图2b中所示的OVC之间的差别在于BVC具有额外的FIFO队列,该FIFO队列提供了某些要被同一虚信道内的其他数据业务等级旁路的数据业务等级。因此,在一个示范性实施方案中,通过不利用这个旁路FIFO队列,BVC能够作为OVC工作。
图8b是根据一个实施方案,在两个节点之间的虚信道资源分配的图解。示出端点112和交换部件114分配队列资源来在点对点通信链路101上支持5个VC ID。
如上面所介绍的那样,利用不足的BVC可以被转换为OVC。在一个示范性实施方案中,由VC管理器116执行转换,其中,控制逻辑320调用分配引擎310的实例。响应控制逻辑320,分配引擎310调用转换特征318的实例。
如上针对图8a所述,在端点112和交换部件114之间最低数量的被共同支持的BVC是2。转换特征318将两个不被支持的BVC转换为OVC,以便辅助有效使用交换部件114的队列资源。
一旦BVC被基于用于端点112的在图7中所描述的过程期间初始化的两个最低号数的OVC转换为OVC,转换特征318确定使用什么样的OVC VC ID号。结果,交换部件114中不被端点112支持的两个BVC被转换为受交换部件114支持的两个最低OVC虚信道号。
然后,转换特征318转换在上面描述的初始化过程期间发现的用于交换部件114的两个最高号数的BVC,尽管本发明在这个方面不受限制。结果,如图8a中所示,BVC-VC ID2和3被转换特征318转换为OVC-VC ID 8和9。因此,OVC-VC ID 8和OVC-VC ID 9现在被交换部件114和端点112共同支持,并且当在点对点通信链路101上初始化那些VC ID时,相应地分配队列资源。
图9a是根据一个实施方案,对于被初始化的BVC,数据业务等级到虚信道映射的表格图示。表910示出了用于将被初始化的BVC映射到两个节点之间的点对点通信链路上的数据业务等级的映射方案。
图9b是根据一个实施方案,对于被初始化的OVC,数据业务等级到虚信道映射的表格图示。表920示出了用于将被初始化的OVC映射到两个节点之间的点对点通信链路上的数据业务等级的映射方案。
图9c是根据一个实施方案,对于被初始化的MVC,数据业务等级到虚信道映射的表格图示。表930示出了用于将被初始化的MVC映射到两个节点之间的点对点通信链路上的数据业务等级的映射方案。
图10是根据一个实施方案,对被初始化和被转换的虚信道的图解。示出表1020、表1040、表1060以及表1080作为如何将给定类型的被初始化虚信道映射到数据业务等级的实施例。
根据在图8a和图8b中说明的实施方案,已经为点对点通信链路101初始化了两个BVC、两个OVC和一个MVC,并且结果被输入例如临时保持在存储器330中的被初始化和转换的激活虚信道表。
响应控制逻辑320,分配引擎310选择性地调用映射特征314的实例。在一个示范性实施方案中,映射特征314利用在表910、920和930中所示的BVC、OVC和MVC数据业务等级到虚信道的映射来填写例如临时保持在存储器330中的映射表。然后,映射特征314可以访问被初始化和转换的虚信道表,并确定在点对点通信链路101上为每一个BVC、OVC和MVC初始化和/或转换的虚信道的数量。
然后,映射特征314遵循在表910、920和930中所示用于两个初始化BVC、两个初始化OVC和一个初始化MVC的映射方案,映射被初始化的BVC、OVC和MVC。相应地,在表1040、1060和1080中示出了这个映射,尽管本发明在这个方面不受限制。
然后,映射特征314将两个初始化的BVC、两个初始化的OVC和一个初始化的MVC的被映射值放置在例如在存储器330中保持的临时表中,如下面更详细地说明的那样,路由特征316使用所述临时表来通过点对点通信链路101上的虚信道路由数据业务等级。
图11是根据一个实施方案的对路由头部分组格式的图解。示出路由头部(route header)1100包括三个字段:仅是有序1110、数据业务等级1120,以及多播1130。仅是有序1110、数据业务等级1120,以及多播1130辅助在两个节点之间的点对点通信链路上有效路由数据业务等级。在路由头部1100中,多播1130包含在0-6位内,数据业务等级1120包含在9-11位内,而仅是有序1110包含在第12位内。
在多播1130中0-6位的解除断言对应于MVC。
通过选择性地断言9-11位的组合,在业务等级1120中9-11位的选择性断言对应于多达8种不同的数据业务等级。
在仅是有序1110中第12位的断言对应于OVC,并且解除断言对应于BVC。
在一个示范性实施方案中,至少路由头部1100的一部分被修改,以便辅助通过被初始化和映射的虚信道来路由数据业务等级。在这个方面,VC管理器300调用路由特征316的实例,通过选择性地断言第12位和/或0-6位中的至少一位来修改路由头部1100。
在一个示范性实施方案中,路由特征316可以修改路由头部1100,以便辅助通过点对点通信链路101上被初始化和映射的虚信道,从源节点向目的地节点路由数据业务等级。
如果数据业务等级要被路由到MVC,则路由特征316解除断言0-6位,或者,如果数据业务等级要被通过BVC或OVC路由,则选择性地断言第12位并断言0-6位中的至少一位。
图12是根据一个实施方案,通过虚信道路由数据的方法的流程图。过程以框1210开始,其中,路由头部1100被VC管理器300读取。
在这个示范性实施方案中,路由头部1100和要通过点对点通信链路101被路由的特定数据业务等级相关联,点对点通信链路101已经被通过先前描述的过程初始化和映射。
响应控制逻辑320,分配引擎310调用路由特征316的实例。路由特征316读取路由头部1100的数据业务等级1120和多播1130。
一旦路由特征316读取了数据业务等级1120和多播1130,则过程移动到框1220。在框1220中,路由特征316确定是否多播1130的0-6位中的至少一位被断言。
如果多播1130的至少一位没有被断言,则过程移动到框1230。在框1230中,点对点通信链路101上所有被初始化和被转换的激活MVC已经被如表1080中所示那样映射。路由特征316如上面说明的那样访问被映射特征314临时储存在存储器中的映射。然后,路由特征316根据表1080中的映射,通过点对点通信链路101上适当的虚信道路由数据业务等级。因此,例如数据业务等级1120指示为7的数据业务等级(即8-11位都被断言)。然后,路由特征316将通过如表1080中所示的VC ID 16路由数据业务等级7。然后,过程再次开始。
如果多播1130的至少一位被断言,在过程移动到框1240。在框1240中,路由特征316读取仅是有序1110,并确定第12位是否被断言。
在框1240中,如果第12位被断言,则过程移动到框1250。在框1250中,路由特征316如上面说明的那样访问被映射特征314临时储存在存储器中的映射。然后,路由特征316根据表1060中的映射,通过点对点通信链路101上适当的虚信道路由数据业务等级。然后,过程再次开始。
在框1240中,如果第12位被解除断言,则过程移动到框1260。在框1260中,路由特征316如上面说明的那样访问被映射特征314临时储存在存储器中的映射。然后,路由特征316根据表1040中的映射,通过点对点通信链路101上适当的虚信道路由数据业务等级。然后,过程再次开始。
再次参考图1的框图,其中电子系统100可以是用于通信网络的服务器、交换机、网桥或交换结构,尽管本发明不局限于这些实施方案。
根据一个实施方案,系统控制逻辑104控制电子系统100的总体操作,并且期望代表各种逻辑器件和/或用于实施这里所描述的电子系统100的操作的可执行内容中的任意一个。在这个方面,系统控制逻辑104最好由微处理器、网络处理器、微控制器、FPGA、ASIC、用于实施这些控制特征的可执行内容和/或其任意组合构成。
电子系统100还包括储存电子系统100所提供的信息/特征的系统存储器106。在这个方面,在系统控制逻辑104执行指令期间,系统存储器106可以用来储存临时变量或者其他中间信息。如这里所使用的,系统存储器106最好包括各种存储器介质,包括但不限于:易失性存储器、非易失性存储器、闪存、可编程变量或状态、随机访问存储器(RAM)、只读存储器(ROM),或者其他的静态或动态储存介质。
根据一个实施方案,可以从机器可访问介质的形式给系统存储器106提供机器可读指令。如这里所使用的,期望机器可访问介质代表以机器(例如电子系统100)可读的形式提供(即储存和/或传送)信息的任何机制。例如,机器可访问介质最好包括ROM、RAM、磁盘储存介质、光储存介质、闪存器件、电、光、声或其他形式的传播信号(例如载波、红外信号、数字信号),等等。也可以通过系统I/O接口108,经远程连接(例如通过通信网络)将指令提供给系统存储器106。
系统I/O接口108在一个实施方案中与例如系统控制逻辑104的一个或更多个部件有通信地耦合,以便与输入和/或输出设备通信或交互作用。例如,例如鼠标、键盘、触摸板等的输入设备和/或输出设备(例如阴极射线管监视器、液晶显示器等)。
端点112代表电子系统100的部件,它可以是在电子系统100内和/或在电子系统100的远程被传送、路由和/或接收的数据的源节点或者目的地节点。在这个方面,端点112最好包括网桥、网络处理器、嵌入式逻辑、用于交换结构的输入/输出端口等中的一个或更多个。
如这里所使用的,交换部件114可以代表电子系统100的部件,它可以起到从位于电子系统100内和/或在电子系统100的远程从源和/或目的地节点传送和/或接收的数据的中间节点的作用。交换部件114可以代表用于接收和传送数据的许多硬件和/或软件部件中的任何一个。因此,在一个实施方案中,交换部件114最好包括软件应用程序、微处理器、嵌入式逻辑、交换结构的中间交换机等中的一个或更多个。
在一个实施方案中,在电子系统100中,数据可以通过点对点通信链路101从源节点传送到目的地节点。例如,源节点可以是端点112,并且目的地节点可以是电子系统100的另一个端点112。点对点通信链路101可以以对等方式直接连接至少两个端点112,或者通过至少一个中间节点间接地连接端点112,中间节点例如交换部件114。
根据一个实施方案,VC管理器116对点对点通信链路101上数据业务等级的有效传送的辅助可以很好地被实施在硬件、软件、固件或其任意组合中,例如如所示那样耦合到电子系统100。在这个方面,VC管理器116最好被实施为至少执行这里所描述的功能的ASIC、特殊功能控制器或处理器、FPGA或其他硬件设备、固件或软件中的一个或更多个。
VC管理器116可以被包含在端点112和/或交换部件114内。或者,VC管理器116通过例如通信信道102或通过系统I/O接口108耦合到端点112和/或交换部件114。
应该理解,对于要访问VC管理器116并受益于VC管理器116的特征的电子系统,VC管理器116无需集成在所述电子系统中。即系统I/O接口108通过例如网络通信信道,在VC管理器116和电子系统之间提供了通信接口。因此,远程电子系统可以访问并利用VC管理器116的特征。
尽管被示为许多分离的功能部件,但是熟练技术人员从这里的公开将理解,在本发明的精神和范围内,无论是在硬件、软件、固件或其组合中实施,预期总能执行这里所描述的功能/特征的更高或更低复杂性的VC管理器。
在前面的描述中,为了说明的目的,给出了很多具体细节,以便提供对本发明透彻的理解。但是,对于熟练技术人员很清楚,无需这些具体细节就可实践本发明。在其他的实例(instance)中,以框图的形式示出了结构和器件,以便避免模糊本发明。
说明书中引用“一个实施方案”或“实施方案”表示结合该实施方案描述的特定特征、结构或者特性被包括在本发明至少一个实施方案中。因此,在说明书中各处,短语“在一个实施方案中”的出现不一定全都指同一个实施方案。同样地,在说明书中各处,短语“在另一个实施方案中”或“在可替换的实施方案中”的出现不一定全都指同一个实施方案。
虽然已经以几个实施方案的形式描述了本发明,但是普通技术人员将发现,本发明不限于所描述的这些实施方案,而是能够在本发明的精神和范围内的修改和改变实践。因此,本描述应该被视为说明而非限制所附权利要求书的覆盖区域和范围。

Claims (19)

1.一种在第一和第二节点间的点对点通信链路上管理多条虚信道的方法,所述第一节点具有用于支持一条有序虚信道的队列资源,并且所述第二节点具有用于支持一条可旁路虚信道的队列资源,所述有序虚信道在所述第一节点具有用于支持有序队列的队列资源,并且所述可旁路虚信道在所述第二节点具有用于支持有序队列和旁路队列两者的队列资源,所述有序队列和所述旁路队列是支持数据通过可旁路虚信道传输的先进先出(FIFO)队列,以避免通过所述可旁路虚信道的潜在的数据死锁,所述方法包括:
接收一个或更多个数据分组,所述数据分组包括用于初始化在所述点对点通信链路上的所述多条虚信道的内容,所述一个或更多个数据分组包括对所述第二节点的队列资源的指示;
初始化所述点对点通信链路上的所述第一节点和所述第二节点共同支持的一条或更多条虚信道;
将所述第二节点支持的给定可旁路虚信道转换为所述第一节点支持的给定有序虚信道;
初始化经转换的给定有序虚信道;以及
将一种数据业务等级映射到被转换并且被初始化的有序虚信道。
2.如权利要求1所述的方法,其中,将所述给定可旁路虚信道转换为给定有序虚信道的操作包括向所述转换的给定有序虚信道指派给定标识符,所述给定标识符不同于指派给所述给定可旁路虚信道的标识符,其中所述给定标识符对应于用于所述第一节点处的所述队列资源所支持的有序虚信道的标识符。
3.如权利要求1所述的方法,其中,所述数据业务等级到所述被转换并且被初始化的给定有序虚信道的所述映射包括基于映射策略将所述数据业务等级映射到所述被转换并且被初始化的给定有序虚信道。
4.如权利要求3所述的方法,其中,所述映射策略基于至少一个被静态地确定的记录。
5.如权利要求1所述的方法,其中,所述数据业务等级包括被基于所述数据业务等级与在所述点对点通信链路上传送的其他数据业务等级相比而言的优先级来分类的数据业务等级。
6.如权利要求3所述的方法,还包括:
在所述点对点通信链路上接收给定数据分组,所述数据分组包括指示所述给定数据分组与所述数据业务等级相关联的内容;以及
通过所述被转换并且被初始化的给定有序虚信道路由所述给定数据分组。
7.一种节点,包括:
队列资源,以及
虚信道管理器,所述虚信道管理器包括:
用于接收一个或更多个数据分组的装置,所述数据分组包括用于初始化在所述点对点通信链路上的一条或更多条虚信道的内容,所述一个或更多个数据分组包括对所述第二节点的队列资源的指示;
用于初始化所述点对点通信链路上的所述节点共同支持的一条或更多条虚信道的装置;
用于将所述第二节点支持的给定可旁路虚信道转换为所述节点支持的给定有序虚信道的装置;
用于初始化经转换的给定有序虚信道的装置;以及
用于将一种数据业务等级映射到被转换并且被初始化的有序虚信道的装置,
其中,所述可旁路虚信道具有用于支持有序队列和旁路队列两者的队列资源,所述有序队列和所述旁路队列是支持数据通过可旁路虚信道传输的先进先出(FIFO)队列,以避免通过所述可旁路虚信道的潜在的数据死锁。
8.如权利要求7所述的节点,其中,所述用于转换的装置被设置为向所述转换的给定有序虚信道指派给定标识符,所述给定标识符不同于指派给所述给定可旁路虚信道的标识符,其中所述给定标识符对应于用于所述第二节点处的所述队列资源所支持的有序虚信道的标识符。
9.如权利要求7所述的节点,其中,所述用于映射的装置被设置为基于映射策略将所述数据业务等级映射到所述被转换并且被初始化的给定有序虚信道。
10.如权利要求7所述的节点,其中,所述虚信道管理器还包括:
用于在所述点对点通信链路上接收给定数据分组,所述数据分组包括指示所述给定数据分组与所述数据业务等级相关联的内容的装置;以及
用于通过所述被转换并且被初始化的给定有序虚信号路由所述给定数据分组的装置。
11.一种系统,包括:
中间节点,所述中间节点包括:
队列资源,以及
虚信道管理器,所述虚信道管理器包括:
用于接收一个或更多个数据分组的装置,所述数据分组包括用于初始化在所述点对点通信链路上的一条或更多条虚信道的内容,所述一个或更多个数据分组包括对所述第二节点的队列资源的指示;
用于初始化所述点对点通信链路上的所述节点共同支持的一条或更多条虚信道的装置;
用于将所述第二节点支持的给定可旁路虚信道转换为所述中间节点支持的给定有序虚信道的装置;
用于初始化经转换的给定有序虚信道的装置:以及
用于将一种数据业务等级映射到被转换并且被初始化的有序虚信道的装置;以及
第一端点节点,所述第一端点节点经由所述点对点通信链路耦合到所述中间节点,其中所述中间节点经由第二点到点通信链路耦合到第二端点节点,
其中,所述可旁路虚信道具有用于支持有序队列和旁路队列两者的队列资源,所述有序队列和所述旁路队列是支持数据通过可旁路虚信道传输的先进先出(FIFO)队列,以避免通过所述可旁路虚信道的潜在的数据死锁。
12.如权利要求11所述的系统,其中,所述用于转换的装置被设置为向所述转换的给定有序虚信道指派给定标识符,所述给定标识符不同于指派给所述给定可旁路虚信道的标识符,其中所述给定标识符对应于用于所述第二节点处的所述队列资源所支持的有序虚信道的标识符。
13.如权利要求11所述的系统,其中,所述用于映射的装置被设置为基于映射策略将所述数据业务等级映射到所述被转换并且被初始化的给定有序虚信道。
14.如权利要求11所述的系统,其中,所述虚信道管理器还包括:
用于在所述点对点通信链路上接收给定数据分组,所述数据分组包括指示所述给定数据分组与所述数据业务等级相关联的内容的装置;以及
用于通过所述被转换并且被初始化的给定有序虚信号路由所述给定数据分组的装置。
15.一种在第一和第二节点间的点对点通信链路上管理多条虚信道的设备,所述第一节点具有用于支持一条有序虚信道的队列资源,并且所述第二节点具有用于支持一条可旁路虚信道的队列资源,所述有序虚信道在所述第一节点具有用于支持有序队列的队列资源,并且所述可旁路虚信道在所述第二节点具有用于支持有序队列和旁路队列两者的队列资源,所述有序队列和所述旁路队列是支持数据通过可旁路虚信道传输的先进先出(FIFO)队列,以避免通过所述可旁路虚信道的潜在的数据死锁,所述设备包括:
用于接收一个或更多个数据分组的装置,所述数据分组包括用于初始化在所述点对点通信链路上的所述多条虚信道的内容,所述一个或更多个数据分组包括对所述第二节点的队列资源的指示;
用于初始化所述点对点通信链路上的所述第一节点和所述第二节点共同支持的一条或更多条虚信道的装置;
用于将所述第=节点支持的给定可旁路虚信道转换为所述第一节点支持的给定有序虚信道的装置;
用于初始化经转换的给定有序虚信道的装置;以及
用于将一种数据业务等级映射到被转换并且被初始化的给定有序虚信道的装置。
16.如权利要求15所述的设备,其中,所述用于转换的装置被设置为向所述转换的给定有序虚信道指派给定标识符,所述给定标识符不同于指派给所述给定可旁路虚信道的标识符,其中所述给定标识符对应于用于所述第二节点处的所述队列资源所支持的有序虚信道的标识符。
17.如权利要求15所述的设备,其中,所述用于映射的装置被设置为基于映射策略将所述数据业务等级映射到所述被转换并且被初始化的给定有序虚信道。
18.如权利要求15所述的设备,其中映射到所述被转换并且被初始化的给定有序虚信道的所述数据业务等级包括基于所述数据业务等级与在节点之间的所述点对点通信链路上传送的其他数据业务等级相比而言的优先权的数据业务等级。
19.如权利要求15所述的设备,还包括:
用于在所述点对点通信链路上接收给定数据分组的装置,所述数据分组包括指示所述给定数据分组与所述数据业务等级相关联的内容;以及
用于通过所述被转换并且被初始化的给定有序虚信道路由所述数据分组的装置。
CN2004800277150A 2003-08-04 2004-08-04 用于给通信网络中的虚信道分配业务等级的方法和装置 Expired - Fee Related CN1856971B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US49256603P 2003-08-04 2003-08-04
US60/492,566 2003-08-04
US10/892,990 2004-07-16
US10/892,990 US20050058130A1 (en) 2003-08-04 2004-07-16 Method and apparatus for assigning data traffic classes to virtual channels in communications networks
PCT/US2004/025217 WO2005015858A1 (en) 2003-08-04 2004-08-04 Method and apparatus for assigning traffic classes to virtual channels in communications networks

Publications (2)

Publication Number Publication Date
CN1856971A CN1856971A (zh) 2006-11-01
CN1856971B true CN1856971B (zh) 2010-05-26

Family

ID=34138712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800277150A Expired - Fee Related CN1856971B (zh) 2003-08-04 2004-08-04 用于给通信网络中的虚信道分配业务等级的方法和装置

Country Status (6)

Country Link
US (1) US20050058130A1 (zh)
EP (1) EP1661336B1 (zh)
CN (1) CN1856971B (zh)
AT (1) ATE413749T1 (zh)
DE (1) DE602004017620D1 (zh)
WO (1) WO2005015858A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976142B1 (en) * 2003-05-07 2005-12-13 Agilent Technologies, Inc. Method and system to provide simultaneous access by multiple pipelines to a table
US7443869B2 (en) * 2003-08-04 2008-10-28 Intel Corporation Deadlock avoidance queuing mechanism
US20110064018A1 (en) * 2009-09-14 2011-03-17 Ari Hottinen Apparatus and Method for Input/Output Mapping of Spatial Resources of a Relay Node in a Communication System
US9065773B2 (en) * 2010-06-22 2015-06-23 Juniper Networks, Inc. Methods and apparatus for virtual channel flow control associated with a switch fabric
EP2923279B1 (en) * 2012-11-21 2016-11-02 Coherent Logix Incorporated Processing system with interspersed processors; dma-fifo
CN105867835A (zh) * 2015-01-23 2016-08-17 深圳市硅格半导体有限公司 存储装置数据服务质量管理方法及存储装置
KR101977401B1 (ko) * 2015-09-03 2019-05-13 엘에스산전 주식회사 동적 모드버스 프로토콜 매핑을 지원하는 통신 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1428025A (zh) * 2001-02-01 2003-07-02 三星电子株式会社 无线电信系统中提供分组呼叫业务的方法
CN1433188A (zh) * 2002-01-11 2003-07-30 三星电子株式会社 使用业务量信息设置用户路由的方法和记录装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5353282A (en) * 1993-03-18 1994-10-04 Northern Telecom Limited Local area network embedded in the communication switch core
US5574934A (en) * 1993-11-24 1996-11-12 Intel Corporation Preemptive priority-based transmission of signals using virtual channels
US5740385A (en) * 1994-12-19 1998-04-14 Intel Corporation Low load host/PCI bus bridge
US5625779A (en) * 1994-12-30 1997-04-29 Intel Corporation Arbitration signaling mechanism to prevent deadlock guarantee access latency, and guarantee acquisition latency for an expansion bridge
US6212589B1 (en) * 1995-01-27 2001-04-03 Intel Corporation System resource arbitration mechanism for a host bridge
GB2304210B (en) * 1995-08-11 2000-02-16 Fujitsu Ltd Data receiving devices
US5745837A (en) * 1995-08-25 1998-04-28 Terayon Corporation Apparatus and method for digital data transmission over a CATV system using an ATM transport protocol and SCDMA
US5742603A (en) * 1995-09-14 1998-04-21 Level One Communications, Inc. Method and apparatus for integrating repeater management, media access control, and bridging functions
US6317803B1 (en) * 1996-03-29 2001-11-13 Intel Corporation High-throughput interconnect having pipelined and non-pipelined bus transaction modes
US5953338A (en) * 1996-12-13 1999-09-14 Northern Telecom Limited Dynamic control processes and systems for asynchronous transfer mode networks
DE19835668A1 (de) * 1997-08-07 1999-02-25 Matsushita Electric Ind Co Ltd Übertragungsmedienverbindungsvorrichtung, steuernde Vorrichtung, gesteuerte Vorrichtung und Speichermedium
US6442632B1 (en) * 1997-09-05 2002-08-27 Intel Corporation System resource arbitration mechanism for a host bridge
US6285659B1 (en) * 1997-09-10 2001-09-04 Level One Communications, Inc. Automatic protocol selection mechanism
JP3075248B2 (ja) * 1998-01-19 2000-08-14 日本電気株式会社 非同期転送モードスイッチ
US6266345B1 (en) * 1998-04-24 2001-07-24 Xuan Zhon Ni Method and apparatus for dynamic allocation of bandwidth to data with varying bit rates
US6081848A (en) * 1998-08-14 2000-06-27 Intel Corporation Striping packets of data across multiple virtual channels
JP3725424B2 (ja) * 1998-08-31 2005-12-14 富士通株式会社 サービス割り当て装置
US6393506B1 (en) * 1999-06-15 2002-05-21 National Semiconductor Corporation Virtual channel bus and system architecture
GB0009226D0 (en) * 2000-04-12 2000-05-31 Nokia Networks Oy Transporting information in a communication system
WO2002003622A1 (en) * 2000-06-30 2002-01-10 Nokia Corporation Prioritization of subscribers in a switching center of a telecommunication system
US7212534B2 (en) * 2001-07-23 2007-05-01 Broadcom Corporation Flow based congestion control
WO2003019393A1 (en) * 2001-08-24 2003-03-06 Intel Corporation A general intput/output architecture, protocol and related methods to implement flow control
US6691192B2 (en) * 2001-08-24 2004-02-10 Intel Corporation Enhanced general input/output architecture and related methods for establishing virtual channels therein
FR2838898B1 (fr) * 2002-04-19 2004-06-18 Cit Alcatel Dispositif d'aiguillage a commutation et routage centralises
US20040019729A1 (en) * 2002-07-29 2004-01-29 Kelley Richard A. Buffer management and transaction control for transition bridges
JP2004364216A (ja) * 2003-06-09 2004-12-24 Funai Electric Co Ltd デジタル/アナログ放送受像機
US7257083B2 (en) * 2003-06-25 2007-08-14 Motorola, Inc. Method and apparatus for policy-based dynamic preemptive scheduling of data transmissions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1428025A (zh) * 2001-02-01 2003-07-02 三星电子株式会社 无线电信系统中提供分组呼叫业务的方法
CN1433188A (zh) * 2002-01-11 2003-07-30 三星电子株式会社 使用业务量信息设置用户路由的方法和记录装置

Also Published As

Publication number Publication date
US20050058130A1 (en) 2005-03-17
CN1856971A (zh) 2006-11-01
DE602004017620D1 (de) 2008-12-18
EP1661336B1 (en) 2008-11-05
ATE413749T1 (de) 2008-11-15
WO2005015858A1 (en) 2005-02-17
EP1661336A1 (en) 2006-05-31

Similar Documents

Publication Publication Date Title
US11640362B2 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
US5867663A (en) Method and system for controlling network service parameters in a cell based communications network
JP4150336B2 (ja) 共有属性に基づいて圧縮キューペアから複数の仮想キューペアを作成する構成
EP1142213B1 (en) Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
TWI474181B (zh) 在多根pcie環境中區別刀鋒型目的地及訊務類型
US8072988B2 (en) Method and system for buffer-to-buffer credit recovery in fibre channel systems using virtual and/or pseudo virtual lanes
US7995472B2 (en) Flexible network processor scheduler and data flow
US20050117562A1 (en) Method and apparatus for distributing traffic over multiple switched fibre channel routes
US20150188832A1 (en) System and method for ordering of data transferred over multiple channels
US8718073B2 (en) Method and apparatus for signaling virtual channel support in communication networks
JPH07231327A (ja) 共有資源アクセス割当てを動的に決定する方法及び通信システム
US20060140126A1 (en) Arbitrating virtual channel transmit queues in a switched fabric network
US5477530A (en) Method and apparatus for managing communications between multi-node quota-based communication systems
US20200076742A1 (en) Sending data using a plurality of credit pools at the receivers
CN1856971B (zh) 用于给通信网络中的虚信道分配业务等级的方法和装置
US5408468A (en) Queueing system for switches having fast circuit properties
EP1195951A2 (en) Method and apparatus for maintaining data communication during a line card soft reset operation
KR100585931B1 (ko) 라우터의 라인 카드에서의 부하 분산 장치
CN115114014A (zh) 高速外围组件互连接口装置及其操作方法
JPH10257088A (ja) ローカルエリアネットワーク
CN115114215A (zh) 高速外围组件互连接口装置及其操作方法
KR100594967B1 (ko) 크로스바 스위치
WO1997004555A1 (en) Method and apparatus for queuing data in a communications device
JPH11252142A (ja) データ伝送装置及び方法、並びにネットワークシステム
KR20020033910A (ko) 비동기 전송모드 교환기의 셀 경로 시험엔진 및시험방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100526

Termination date: 20190804