网络中的参数化服务质量架构 优先权要求
本申请要求于2007年2月6日提交的美国临时申请60/900,206、于2007年2月14日提交的美国临时申请60/901,564、于2007年5月4日提交的美国临时申请60/927,613、于2007年2月14日提交的美国临时申请60/901,563、于2007年5月4日提交的美国临时申请60/927,766、于2007年5月4日提交的美国临时申请60/927,636、以及于2007年5月21日提交的美国临时申请60/931,314的优先权,以上每一篇临时申请皆通过援引纳入于此。
公开领域
本公开的方法和装置涉及网络中的通信协议,尤其涉及网络中的服务质量协议。
背景
除了计算机以外,家庭网络现在通常包括多种类型的配置成通过家庭网络递送订户服务的订户装备。订户服务包括通过家庭网络向订户装备递送诸如流音频和流视频等多媒体,其中多媒体在订户装备处呈现给用户。随着可用订户服务的数目的增加,连接至家庭网络的设备的数目也在增加。服务和设备的数目的增加会增加网络节点之间的协调的复杂性,因为每一个节点可能是由不同制造商在不同时间生产的。已涌现出一些家庭组网技术以试图促进简单的家庭网络解决方案并利用许多家庭中可能存在的现有网络基础设施。例如,家庭电话网络联盟(HPNA)使得用户能通过使用家中的现有电话和同轴电缆布线来联网家庭计算机。启用HPNA的设备利用与传真和电话所使用的频谱不同的频谱。并非使用现有电话和同轴电缆布线,家庭插电联盟(Power Alliance)利用家中的现有电力布线来创建家庭网络。的一个问题在于网络带宽容易因家庭电力布线和插座中的电抗负载的较大变化而显著减小。
此外,在实现正确地与其他网络设备交互的网络设备时这些技术也会产生问题。这些问题可能在存在陈旧(传统)设备的情况下限制提供以后开发的服务的更新型设备的部署。新兴的同轴电缆多媒体联盟(MoCA)标准架构在以下方面影响着此问题:(1)网络行为动态地向设备指派“网络协调器”(NC)角色以便最优化性能,(2)已知仅有为NC角色的设备才能调度网络中所有其他节点的话务,以及(3)在任何设备及其对等体之间形成完全网状网络架构。
在许多潜在应用共享同一数字网络的情况下,各种应用必须竞争相同的有限带宽,使得分布问题更加复杂。诸如高吞吐量下载等带宽密集应用可能导致共享网络的其他更重要的应用降级。当该其他应用需要高服务质量时,这种结果是难以接受的。
已提出了解决此问题的各种解决方案,通常涉及高级网络控制器或具有高级应用来为网络内的数据分组或数据流量设置优先级。而且,智能网络设备需要高计算功率,并且因此比它们需要的更昂贵。最后,复杂的网络设备用于家庭使用是不切实际的,因为大多数消费者不具备配置计算机网络的技能或经验。
公开概述
在一个实施例中,一种通信方法包括以下步骤:(1)接收第一请求以在网络中发起有保证服务质量数据流;(2)从NC向连接到网络的多个节点广播第二请求;以及(3)接收来自至少一个入口节点的对第二请求的第一响应。第二请求是基于第一请求的,并且第一响应指示至少一个入口节点是否具有可用资源以传送该有保证服务质量流。该方法还包括接收来自至少一个出口节点的对第二请求的第二响应;以及如果该(些)入口节点具有可用资源以传送该有保证服务质量流并且该(些)出口节点具有可用资源以接收该有保证服务质量流,则为该有保证服务质量流分配资源。
在另一个实施例中,一种系统包括连接至协调网络的物理接口和耦合至该物理接口的服务质量模块。该物理接口被配置成通过协调网络传送和接收消息。该服务质量模块被配置成通过多条第2层消息在协调网络中准入一个或多个有保证服务质量流。
附图简述
图1图解网络架构的实施例。
图2是示出根据图1的实施例的两个L2ME波周期的示图。
图3图解根据图1地实施例的L2ME帧的框图。
图4是根据一个实施例的第2层管理实体事务协议的框图。
图5图解参数化服务质量网络架构的实施例。
图6图解将TSpec XML转换成QSpec的L2ME的决策树。
图7是示出根据图5的实施例的创建/更新事务的示图。
图8是示出根据图5的实施例的删除事务的示图。
图9是示出根据图5的实施例的列表事务的示图。
图10是示出根据图5的实施例的查询事务的示图。
图11是示出根据图5的实施例的维护事务的示图。
概览
本文中公开和图5中所示以及以下更详细地描述的一种系统包括连接至诸如MoCA 1.1网络等协调网络502的物理接口512,诸如同轴电缆多媒体联盟(MoCA)PHY层。物理接口512被配置成通过协调网络502传送和接收消息。该系统还包括连接至第2层管理实体(L2ME)516的服务质量(QoS)管理器520。QoS管理器520被配置成通过由L2ME 516管理的多条第2层消息在协调网络502中准入一个或多个有保证服务质量数据流,例如从单个入口节点(源设备)到一个或多个出口节点(阱设备)的单向话务流量。
本文中公开的一种网络架构支持受管理网络中的参数化服务质量(pQoS)。在启用pQoS的网络中,网络中的数据流可包括有保证(参数化)和/或尽力数据流。确保有保证(参数化)流是在以下详细讨论的准入(建立)过程中建立的流的预定参数所定义的至少一个性能级别上。如果参数化流在其时隙期间没有数据要传送,则可使得为该参数化流保留的时隙可用于其他流。在图6中所示和以下更详细地描述的所公开结构中,诸如c链路数据链路层等节点604向网络协调器(NC)节点606传送QoS发起请求以发起具有至少一个质量参数的有保证服务质量流。NC 606向所有节点604、608广播包括来自该QoS发起请求的至少一个参数的第2层请求。包括入口节点508和出口节点510的多个节点608传送对该广播请求的响应,其指示入口节点508是否具有可用资源来传送该流以及出口节点510是否具有资源来接收该流。如果收到的响应指示入口节点和出口节点508、510各自具有资源来建立该流,则NC节点606向这多个节点608广播消息,指示这些节点608应向该流承诺资源。
详细描述
各实施例的本描述旨在结合附图一起来阅读,附图将被认为是整个书面描述的部分。
各实施例一般涉及用以支持网络中的低级消息收发框架的装置、系统、方法、和架构。一些实施例促进第2层消息收发以使得能对网络内的资源进行低成本和高速度的管理,从而保障在现有家庭网络内分发多媒体数据(诸如,视频/音频、游戏、图像、一般数据和交互式服务)的能力。
各实施例便于使得家庭组网设备简单化,从而它们更易使用并且具有成本效率。换言之,家庭网络配置起来应该较简单,从而家庭用户不必处理复杂的配置菜单或需要计算机网络的高级知识。各实施例还通过实现不需要高计算功率量的低级数字传输框架来解决配置和成本问题。此低级框架可被认为是媒体接入控制(MAC)子层或物理(PHY)网络层的扩展,并且被称为“第2层消息收发框架”。
第2层消息收发可实现在各种网络中,其中由于节点的引入或移除以及网络信令能力的演进而共享和协商频谱。在一些实施例中,网络是具有协调连接至网络的若干设备之间的通信的网络协调器(NC)的协调式网络。协调是通过NC向网络设备分配其间这些设备可传送或接收MAC消息、探测、和数据的时隙来达成的。连接至协调式网络的网络设备可包括受管理设备和不受管理设备。这些网络的示例包括根据同轴电缆多媒体联盟(MoCA)标准的同轴网络、“双绞”线上的有线网络、或无线家庭网络。各实施例在本文中被描述为用网络内的8个或16个节点来实现。然而,其他实施例可纳入扩展以在各种网络内实现任何数目的节点。此外,各实施例可包括具有用以支持最终用户应用和因供应商而异的服务的第2层消息收发架构和协议的系统、方法和设备。
现在将参考用于数字网络的第2层管理实体(L2ME)架构和消息收发协议来描述各实施例。一些实施例支持应用层触发事务,诸如但不限于,通用即插即用(UPnP)服务质量和IEEE流预留协议(SRP)。第2层消息收发协议可在网络内实现诸如参数化服务质量(pQoS)事务等能力。注意,L2ME与应用层之间的接口可能不同。
图1图解具有连接至网络102的多个网络节点104、106、108、110的协调式网状网络架构100。网络节点106是NC节点并且被示为配置有PHY层112、MAC子层114、以及L2ME 116。注意,任何网络节点可具有多个物理接口并且可实现上层功能(例如,TCP/IP、UDP等)。网络节点104是进入节点(EN)。节点104、108和110中的每一个也可配置有L2ME 116。
L2ME 116提供可藉此调用第2层管理功能的第2层接口和管理服务。基于最终用户应用发起的事务,L2ME 116负责执行和管理网络节点104、106、108和110之间的所有L2ME事务,诸如参数化服务质量。L2ME 116包括两个子层:较高的事务协议子层120和较低的波协议子层118。L2ME波协议子层118是配置有其自己的消息收发协议的L2ME 116中的高可靠性消息机制。L2ME波协议使得网络节点能参与稳健的、网络范围的低等待时间通用事务,并且使得NC节点106能管理具有多个第2层服务质量段的家庭网络上的低成本音频/视频桥路设备——诸如根据IEEE 802.1Qat/D0.8草案标准(2007年7月)的设备——的流。
L2ME波协议
L2ME波协议通过生成多个波周期来为L2ME事务协议提供可靠的传输服务。L2ME波包括一个或多个L2ME波周期。波周期包括从NC到一个或多个节点的消息传送以及接收来自该一个或多个节点的对该消息的相应响应。当NC节点106向连接至网络102的所有节点104、108、110广播诸如请求等特定有效载荷时,波周期开始。在一个实施例中,NC节点106在发起波周期之前首先将波_节点掩码(nodemask)字段(以下更详细地描述)中的所有节点分类成3个类别。第一类别的节点(“类别1节点”)包括还未在NC节点106发出的请求L2ME帧的周期_节点掩码字段中指定的网络节点。第二类别的节点(“类别2节点”)包括已在NC节点106发出的请求L2ME帧的周期_节点掩码字段中标识出但NC节点106尚未从其收到响应的网络节点。第三类别的节点(“类别3节点”)包括NC节点106已从其收到响应L2ME帧的网络节点。
在NC节点106已恰当地将网络节点104、108、110中的每一个归类为类别1、2、或3节点之后,NC节点106根据以下指导方针构造周期_节点掩码。首先,如果存在3个或更多类别1节点,则NC节点106将周期_节点掩码中的相应数目的比特设为“1”。如果存在3个或更多类别1节点,周期_节点掩码中NC节点106所设置的比特的数目可能少于类别1节点的总数,但不少于3比特。例如,如果存在5个类别1节点,则NC节点106可将周期_节点掩码中的3、4、或5个比特设为“1”。其次,如果存在3个或更多类别2节点,则NC节点106将周期_节点掩码中对应于类别2节点的3个或更多比特设为“1”。第三,如果没有类别1节点,或者如果周期_节点掩码中对应于类别1节点的所有比特都已被设为“1”,则NC节点106将周期_节点掩码中对应于类别2节点的比特设为“1”。最后,NC节点106可将周期_节点掩码中如NC节点106可从其收到响应而不中断网络服务的那样多的比特设为“1”。一旦已生成周期_节点掩码,NC节点106就通过广播包括该周期_节点掩码的L2ME消息来发起波周期。
波周期在NC节点106从节点104、108、110中的一些或全部收到诸如响应等相应有效载荷时或者在NC节点的定时器期满时完成。例如,NC节点106传送消息并随后启动其定时器。如果在收到来自周期_节点掩码中标识出的网络节点中的一些或全部的响应消息之前NC节点106的定时器到达T21(例如,20毫秒),则即使NC节点106尚未收到响应消息,波周期完成。注意,T21是NC节点106传送请求L2ME帧与被请求节点传送相应的响应L2ME帧之间的最大可允许时间间隔。当有效载荷的波_节点掩码字段中标识出的节点中的每一个都已响应时,L2ME波周期成功完成。以另一种方式,如果在NC节点106的定时器到达T21之前网络节点104、108、110全部被分类成类别3节点,则波周期成功。或者,如果NC节点106未收到来自其在NC节点106所传送的周期_节点掩码中的相应比特被设为“1”的类别2节点的响应L2ME帧,则波周期不成功,或即失败。如果波周期失败,则NC节点106通过仅向NC节点106未从其收到响应L2ME帧的那些节点发送多播消息来重复波周期。注意,在一个实施例中,针对通过向未响应的节点发送多播消息来重复波周期,与广播消息相同地对待多播消息。NC节点106在为未从其收到响应的任何节点创建新波周期之前将完成所调度的波周期。
图2是示出两个波周期214、216的L2ME波示图200的示例。当NC节点206以节点ID=2向连接至网络102的所有节点202、204、208、210、212广播具有有效载荷的消息时,发起第一波周期214。在本示例中,有效载荷包括节点_比特掩码011011,其中最右边一位对应于节点ID=0的节点。此比特掩码指示NC节点206期望收到包含来自节点202、204、208和210的波_ACK的有效载荷。如图2中所示,在NC节点206定时器期满之前,NC节点206仅收到来自节点202、204和208的响应L2ME帧,而来自节点210的响应L2ME帧或者丢失或者未收到。NC节点206中定时器的期满完成第一波周期214,但并未结束该设事务。
由于NC节点206尚未收到来自节点210的响应L2ME帧,因此NC节点206向节点210发送另一个请求L2ME帧,从而发起第二波周期216。发送给节点210的请求还发送给节点212,并且包括请求节点210和212向NC节点206发送波ACK的节点_比特掩码110000。来自节点210和212的响应L2ME帧后续被NC节点206收到,从而完成波周期216。
L2ME事务协议
L2ME事务协议是L2ME中使用多个L2ME波来达成网络范围的事务的较高子层协议。一般而言,所有L2ME事务都包括j+1个波(其中j=0,1,2...),并且由EN或NC节点启动。EN可以是基于最终用户应用发起L2ME事务的任何网络节点,包括NC节点。在最后L2ME波中,所请求的结果由NC节点返回给EN。当被请求的网络节点提供其最终响应时,L2ME事务完成。在一个实施例中,在网络内在任何给定时间只有一个L2ME事务被执行或待决。对于失败的L2ME波,结果导致的NC节点动作取决于具体L2ME事务类型和波编号。
一般而言,在事务期间所有L2ME事务消息可被分类成3个不同类别。这些消息被分类如下:(1)提交;(2)请求;以及(3)响应。诸如未配置L2ME的传统节点等不使用L2ME消息的节点可简单地丢弃这些消息。未配置L2ME的节点可接收L2ME消息,因为L2ME消息被嵌入原有MAC消息收发框架内。图3图解MAC帧300的一个示例。MAC帧300包括MAC报头302、MAC有效载荷304、以及MAC有效载荷循环冗余校验(CRC)310。L2ME帧被嵌入MAC有效载荷304内并且包括L2ME报头306和L2ME有效载荷308。
提交L2ME消息
提交L2ME消息将应用发起的请求从EN携带至NC节点,在NC节点处可发起L2ME波事务。EN通常负责管理事务的各个阶段,而NC节点负责广播请求、搜集每个节点的响应、以及向传送了该提交消息的EN提供事务结果。下表1图解提交L2ME帧格式的一个示例,该帧格式包括提交L2ME帧报头和有效载荷。
表1-提交L2ME消息格式
提交L2ME帧报头包括8位进入_事务_ID字段。进入_事务_ID字段是进入节点的事务ID,其始于“1”并且每次向NC节点发送提交消息就递增。在没有EN时,EN_事务_ID=0值保留用于NC节点。源于提交消息的任何L2ME事务可包含此事务ID。注意,进入节点ID与事务ID的组合唯一性地标识网络中的每个L2ME事务,从而使得EN能知晓其事务已被触发。此外,如果EN等待事务开始已超时,唯一性地标识每个事务使得EN能识别和取消NC节点要开始事务的任何尝试。L2ME_有效载荷字段的组成和长度取决于具体的供应商_ID、事务_类型、和事务_子类型字段。供应商_ID是提交和请求L2ME消息中指示因供应商而异地使用这些消息的各种字段的16位字段。例如,熵敏通信(Entropic Communications)的所指派供应商_ID范围是0x0010到0x001F,而值0x0000到0x000F被指派给MoCA。L2ME_有效载荷字段的长度可以短于或等于L_SUB_MAX(长度_提交_最大)。还注意,与给定L2ME事务相关联的提交和请求消息可具有相同的一组供应商_ID、事务_类型、和事务_子类型字段。
请求L2ME消息
在事务波期间,NC节点向所有节点广播请求L2ME帧消息。在其中NC节点已收到提交消息的一个实施例中,NC节点将把请求L2ME帧消息作为提交消息的结果来广播。在一些情形中,当NC节点充当EN时,如下所述,不传送提交消息并且NC节点通过代表其自己发出请求L2ME帧消息来发起事务。例如,当NC节点发起管理事务时,不需要提交L2ME帧,并且事务以请求L2ME帧开始。预期收到请求L2ME帧消息的每个节点都以NC节点在有效载荷中所请求的事务的结果来响应NC节点。表2示出请求L2ME帧消息报头和有效载荷格式,其类似于提交L2ME帧格式,其中未示出MAC报头。
表2-请求L2ME帧消息格式
在此消息中,进入_节点_ID复制于发起提交消息。如果请求消息源自诸如NC管理事务等无EN的L2ME事务,则进入_节点_事务_ID没有意义并且该字段值被复位成“0”。如果这是第一L2ME波,则波_节点掩码值等于提交消息。在事务的最后L2ME波中,此字段的值包含将是最后波的部分的这组节点。否则,波_节点掩码值对应于在先前请求的参与_下一个_波比特中提供了响应的这组节点。周期_节点掩码是节点的比特掩码,其中每一个比特位置对应于节点ID(即,比特0值对应于节点ID=0)。与每一个节点相对应的比特被设置——如果NC节点指令该节点在收到请求消息之际提供响应。此外,请求消息包括波_状态字段,其指示先前波周期是失败还是成功完成。注意,波_状态字段中允许的值为0、1、2和4,并且如果响应_失败和/或NC_取消_失败比特被置位,则这是事务的最后L2ME波,并且任何后继波可包含失败事务的L2ME_有效载荷字段。
用于L2ME波(除了波0)的响应帧的有效载荷通常通过级联在先前波中来自各节点的响应来形成。级联如下形成:当响应L2ME帧从给定节点抵达NC节点时,在NC节点处将其有效载荷附于响应队列的末尾。然后,将有效载荷的长度写入称为目录的数据结构中,并且传送该节点的ID。当NC节点准备好发送下一个请求L2ME帧时,其将目录的长度放入目录_长度字段中,将该目录复制到有效载荷的起始,并且随后将响应队列复制到有效载荷的其余部分中。
目录_长度字段指示请求L2ME帧消息的有效载荷部分中的目录长度。在请求L2ME帧消息中使用的L2ME_有效载荷字段有4种不同类型,如下:
1.如果这是给定事务的第一L2ME波,则第一类型的L2ME_有效载荷与提交消息的有效载荷相同。此L2ME_有效载荷字段的长度可小于或等于L_SUB_MAX,L_SUB_MAX是级联的提交L2ME帧有效载荷中的字节的最大数目。
2.如下表3中所示从事务的第二个波起到最后波,将第二类型的请求L2ME帧有效载荷作为报告从NC节点发送至参与节点。L2ME_有效载荷字段包括具有来自每个节点的2字节条目的16条目的目录、以及响应_数据字段,其是来自在先前波中提供了响应的每个参与L2ME节点的变长响应L2ME帧的级联。此目录使得接收节点能解码来自所有节点的L2ME响应。
表3-请求“级联”L2ME帧有效载荷格式
3.第三类型的L2ME_有效载荷是其中响应_失败比特或NC_失败比特被设为“1”的失败L2ME事务的情形。NC节点可在最后L2ME波的请求消息中传送0长度有效载荷。
4.第四类型的L2ME_有效载荷用于支持一些特定L2ME事务,诸如参数化服务质量。在该有效载荷中,请求L2ME帧报头中的目录_长度未使用,并且NC节点处理所有节点的响应以产生定制请求帧有效载荷。L2ME_有效载荷字段的格式在特定L2ME事务中定义。注意,无有效载荷的请求帧包括64比特的类型III保留字段。
响应L2ME消息格式
响应L2ME帧格式如下表4中所示。在每个L2ME波结束时,从每个有L2ME事务能力的节点向NC节点单播地发送响应L2ME帧。在一些实施例中,NC节点可被配置成同时接收来自被请求节点的多个(例如,3个或更多)响应。
表4-响应L2ME帧格式
响应L2ME消息包括响应_状态字段,其指示被请求在下一个或最后波周期中进行响应的节点的响应状态。此外,响应_状态字段使得EN能取消其通过向NC节点发送提交消息来发起的但等待响应消息超时的事务。
如果启用L2ME的网络节点收到具有未识别出的供应商_ID、事务_类型、或事务_子类型字段值的任何L2ME事务消息,则该节点可在响应帧中将响应_状态字段设为“0”,并且NC节点可在该事务的将来波中排除此节点。在任何响应中设置了参与_最后_波比特字段的EN和任何其他节点可被包括在最后波的波_节点掩码中。
L2ME事务概览
L2ME事务可通过多种方式来发起,尽管在网络内在任何给定时间通常可执行仅一个L2ME事务。在一个实施例中,L2ME事务可由EN发起,EN可为连接至网络的任何节点。例如,EN可以是连接至计算机的MoCA网络节点。计算机可附连至因特网并且运行借助于更高层协议接口来通信的应用。在此配置中,计算机可将该EN用作代理(以下更详细地描述)以通过响应于计算机内应用生成的事务进行L2ME消息收发来监视整个MoCA网络。
参考图4,现在描述EN发起的事务的一个示例。图4图解由EN 402发起的L2ME事务400的一个示例的框图。在收到来自高级应用的请求之际,EN 402生成提交L2ME消息并将其传送给NC节点404。NC节点404接收该提交消息并通过广播与接收自EN 402的提交消息具有类似的报头的请求消息来发起第一L2ME波,即L2ME波0。该请求消息被广播至在有效载荷中包含的波_节点掩码字段所指定的有L2ME能力的节点406、408、410中的每一个。如果该请求被发送至无L2ME能力的节点,则该节点简单地忽略此消息。
请求L2ME帧消息还被发送给EN 402,现在描述其原因。在收到请求消息之际,EN 402通过将请求报头中的恰适字段与其在提交报头中使用的值进行比较来验证该事务。如果这些值匹配,则事务将被处理。然而,可能存在网络中的L2ME事务并非EN 402所请求的最近事务的一些实例。此境况在EN 402所传送的提交消息被破坏、未被NC节点404收到或未被NC节点404准许时出现。如果所发起的事务并非最近请求的L2ME事务,则EN 402可通过在响应中将进行_进入_取消比特设为“1”来取消该事务。在收到来自EN 402的其进行_进入_取消比特被设为“1”的响应之际,NC节点404将不在此事务中发出更多L2ME波,但是可立即发起另一个L2ME事务。
假定该L2ME事务未被EN 402取消,则被请求的有L2ME事务能力的节点向NC节点404发送响应消息,其有效载荷指示它们是否选择参与此事务的下一个(多个)波。如果例如该事务是用以创建新参数化QoS流的参数化QoS事务并且该节点不能支持参数化QoS流,则该节点可选择不参与将来的波。节点可通过将参与_下一个_波比特设为“1”来选择参与该网络事务,以及可通过将参与_下一个_波比特设为“0”来选择不参与。在后继L2ME波中,NC节点404通常通过如上所述地级联来自先前波的所有响应来生成请求L2ME帧有效载荷。NC节点404随后将此请求消息发送给请求了参与当前波的节点。注意,对于一些事务实施例,NC节点可能根据收到的响应有效载荷产生不同的、非级联请求消息有效载荷。该事务继续,直至NC节点到达在提交L2ME消息中所指定的波的最大编号。在到达该事务中波的最大编号时,NC节点404发出最后波,其包括至EN 402的请求L2ME帧消息。
然而,如果NC节点404收到来自有L2ME能力的所有节点的其参与_下一个_波比特被设为“0”的响应并且存在EN 402,则NC节点404可跳过该事务中的中间波并且合成恰适的请求有效载荷。如果原本将使用级联来创建请求有效载荷,则NC节点404将目录_节点_ID=0xFF填充到目录的所有条目中,并且合成的请求可使事务_波_编号恰当地设置为最后波。
在多个L2ME事务中,在所有其他节点已响应之后,NC节点404可仅请求EN 402对其请求消息提供响应。完成各种事务中的L2ME波的此响应确保在EN402通知其应用该事务完成之前该L2ME事务已完全完成。在其他L2ME事务中,该事务直至NC节点404向多个节点(包括EN 402)发送请求并且收到来自每一个节点的响应时才完成。
在一些实例中,整个L2ME事务可能出错。这种境况在例如以下情况下出现:(1)L2ME波周期失败;(2)给定事务中已执行L2ME波的数目少于在发起提交L2ME消息中的事务_最后_波_编号字段中所指示的L2ME波的预期总数目;以及(3)L2ME事务是由EN发起的。在一个实施例中,如果L2ME事务失败,则NC节点404发出被称为事务失败波的新L2ME波。此波通知由于先前L2ME波的失败而终止该事务。该事务失败波由发送请求L2ME帧报头的NC节点404发起,如在上表2中所定义的,其波_状态字段设为“4”,并且波_节点掩码使其对应于EN402的比特被设为“1”。此外,请求L2ME帧如上所述地为0长有效载荷。在收到此请求之际,EN 402发送如上表4中所示的响应L2ME帧。
在另一个实施例中,NC节点404可自发地发起L2ME事务以通知网络节点其他哪些节点有L2ME事务能力。这些NC节点发起的事务通常在单个波中进行并且被设计成通过提供与传统或其他可兼容节点的可互操作性来达成网络维护。由NC节点发起的L2ME波事务通常具有以下特性:
1.为了界定波持续期,NC节点应在周期_节点掩码字段中包括至少3个节点;
2.如果NC节点在NC_超时内未收到来自被请求节点的预期响应,则NC节点假定该响应不再是悬而未决的;
3.在所有其他节点已被要求第一次发送其响应之前,NC节点可以不请求节点重传其响应;以及
4.在第二请求的T21内未能提供响应(在被请求的情况下)的任何节点导致L2ME波失败。
波_节点掩码字段指示被NC节点404识别为启用了L2ME事务的节点的这组节点。如果节点被NC节点404识别,则其根据以下表5使用0长度响应消息进行响应来完成该事务。
表5-启用L2ME的响应帧格式
参数化服务质量架构
现在描述网络参数化服务质量(pQoS)段的一个实施例。注意,家庭网络可包括多个pQoS段,诸如同轴网络、MoCA段和IEEE 802.11段。pQoS段可以是共享相同PHY和MAC层的任何组网节点群,其确保在入口节点处进入网络的流将以pQoS保证抵达一个或多个出口节点。pQoS保证是将为从入口节点到出口节点的数据通信提供至少预定数据率的担保。在一个实施例中,每个pQoS段具有其自己的ID,该ID通常是NC节点的MAC地址。上层pQoS逻辑实体可被配置成规定可如何跨若干pQoS段建立流。注意,所有网络节点通常都在相同的pQoS段内工作。
一般地,网络可被划分成3个类别:(1)传统网络,诸如无L2ME事务或pQoS功能的网络;(2)启用了参数化QoS的网络;以及(3)禁用了参数化QoS的网络。在启用了L2ME的网络中操作的任何网络节点在该节点在具有其他传统设备的网络中操作的情况下将作为传统设备运转。在一个实施例中,每个网络节点具有L2ME和pQoS能力。
在一些实施例中,如果网络节点中的任一个不支持pQoS,则pQoS将被禁用。例如,如果无pQoS能力的节点加入启用了pQoS的网络,则该网络将中止支持pQoS,并且还将停止创建新pQoS流直至所有网络节点都具有pQoS能力。如果网络节点尝试创建新流,则将向请求建立该新流的网络节点传送出错消息。此外,pQoS流将不再被保证,并且分组将被作为优先级化话务或尽力话务来对待。
然而,如果无pQoS能力的节点离开网络从而仅留下有pQoS能力的节点,则网络可升级并启用pQoS传输。在升级至pQoS之际,优先级化流将仍作为优先级化流,直至如下所述地到更新时被入口节点更新。
参考图5,现在将描述基于L2ME架构的pQoS架构的一个实施例。参数化QoS网络架构500包括具有多个节点504、506、508、510的网络502。网络502可以是协调式网络,包括根据MoCA标准的同轴网络、网状网络、或无线网络。在一个实施例中,若干节点504、506、508、510中的每一个具有PHY层512、MAC子层514、以及L2ME 516。在UPnP服务质量环境中,L2ME 516与QoS设备服务518接口。在非UPnP环境中,L2ME与用于服务质量管理的恰适服务质量应用实体(未示出)接口。L2ME 516还被配置成如以下更详细地解释的将来自高层应用的消息适配成第2层兼容消息。
若干节点504、506、508、510还配置有高层能力,其包括QoS设备服务518、QoS管理器服务520、以及QoS策略保持器服务522。QoS设备服务518接收来自QoS管理器服务520的动作调用,并将动作的结果报告给QoS管理器服务520。QoS设备518将自己或通过经由L2ME 516利用低层来执行动作。
如图5中所示,节点504是进入节点,而节点506是NC节点。节点508和510分别为入口节点和出口节点。注意,在任何网络502中,可能具有多个出口节点510。假定例如最终用户应用需要用于从入口节点508到出口节点510的视频流的特定带宽。话务流量通常被示为具有从入口节点508到出口节点510的单向流的流量。最终用户应用通常知晓入口节点508、出口节点510、和流式内容。最终用户应用可能还知晓内容的话务规范(TSpec XML)。
TSpec XML可包括描述流的带宽、分组大小、等待时间、以及损失容差的各种参数。带宽参数中的一些包括平均数据率、峰值数据率、以及最大突发大小。分组大小参数可指定最小和最大分组大小,以及标称分组大小。等待时间参数包括最大延迟变化、以及最大和最小服务间隔。
在pQoS环境中以及如图6中所示,L2ME 606适于将TSpec XML转换成第2层专用QSpec。L2ME 606可通过简单地将TSpec XML用作QSpec、选择TSpec XML的一些参数用于QSpec并忽略其他参数、或者选择TSpec XML的一些参数并将这些参数转换成QSpec格式来从TSpec XML转换QSpec。QSpec参数中的一些可包括服务类型、峰值数据率、平均数据率、以及最大、最小、和标称分组大小。
最终用户应用构造话务描述符并请求QoS管理器520为所请求的流设置所需QoS资源。话务描述符可包括定义视频流的源和阱信息、TSpec XML、以及其他相关信息的话务ID以提供参数化QoS。代表最终用户应用动作的QoS管理器520请求QoS策略保持器服务522如话务描述符所描述地为所请求的视频流提供恰适的策略。作为网络502的QoS策略的贮藏室的QoS策略保持器服务522向QoS管理器520提供用于所请求的视频流的恰适策略。此策略可用于设置话务流的相对重要性。用户重要性编号用于确保对用户最重要的话务流量接收到对网络资源的相应优先级。基于此策略,QoS管理器520配置QoS设备服务518,从而使得入口节点508和出口节点510能处理新视频流量。注意,QoS策略保持器522和QoS管理器520服务可驻留在任何节点504、506、508、510上或驻留在另一个参数化QoS段上。
pQoS流的成本
在准入或更新网络中的pQoS流之前,NC节点506必须决定是否可准许特定流请求,例如是否有充分的网络资源可用。NC节点506通过首先确定pQoS流的成本来作出关于是否应准入流的决定。流成本(CF)是对用以支持给定pQoS流所需的特定带宽的度量,并且在隙_时间字段(即,隙时间,其中隙时间是等于20ns的度量单位)中表达。注意,在一个实施例中,基本带宽单元是时隙而非传输率(例如兆比特/秒)。然而,在替换实施例中,CF作为传输率来提供。
对于每一个创建或更新pQoS流事务(以下更详细地定义),CF可由入口节点508周期性地计算。NC节点506可使用此CF计算来决定网络中是否允许所请求的pQoS流。CF(隙_时间/秒的倍数)可如下计算:
式(1)
其中,
表6-式(1)参数列表
参数名 描述 Npps 每秒所传送分组的总数 Tmin 最小分组大小传输时间 Lp 包括RS填充的分组长度(字节) OFDMb 基于用于传输的PHY分布的每OFDM码元比特数 TCP 循环前缀长度(隙_时间的倍数) TFFT IFFT/FFT周期(隙_时间的倍数) TIFG IFG周期(隙_时间的倍数) LpRE 每分组前同步码的长度(隙_时间的倍数)
NPPSMAX是各分组的正交频分复用(OFDM)码元的数目,其中是X的上舍入整数,其乘以OFDM码元长度(隙_时间/秒的倍数)。注意,OFDM码元的长度取决于网络信道特性。在每分组添加前同步码长度和帧间间隙(IFG)长度之后,NPPSMAX乘以每秒所传送分组的总数,后者由峰值分组速率除以标称分组大小给定。每个入口节点508的所有现有流N(无分组聚集)的成本由下式给出:
式(2)
为了使入口节点508接受新流,其最大可用带宽必须大于或等于当前流和新流的成本。此条件由下式给出:
式(3)
一旦入口节点已接受新pQoS流,NC节点506应当判定所有节点上的所有聚集pQoS流的成本——包括新pQoS流的成本——是否小于或等于最大总可用网络带宽。假定网络中有M个节点,则总可用网络带宽必须满足以下条件:
式(4)
其中BWNC是总网络带宽。在一些实施例中,网络中pQoS服务的总可用带宽为总网络带宽减去所有开销的成本后的80%,所有开销可包括所有链路控制分组、预留请求、准入控制、以及探测。如果式(4)为真,则NC节点506准入新pQoS流到网络。如果式(4)不为真,则NC节点506拒绝流请求并返回如下的可用流带宽(AFBQ):
式(5)
为了使NC节点接受新流,入口节点508和出口节点510中的每一个的节点容量必须大于或等于通过该节点的现有流和新流的成本。此条件由下式给出:
式(6)
剩余节点容量(剩余_节点_容量)是式(6)的左侧与右侧之差,并且是在准许特定流创建或更新之前NC节点506所使用的带宽相关准则之一。由于pQoS流的最基本带宽要求是一周期(例如,1ms)所需的时隙的数目,并且为数兆比特/秒的带宽值与数据链路层上的时隙数之间的简单映射因OFDM调制和比特负荷而并非是直截了当的,因此需要转换来确定流所需的分组数目。为了找出一个数据链路周期中分组的等效最大数目以及每个分组的大小(以比特计),每周期在数据链路层上流的最差情形带宽需要如下:
QSpec_峰值数据率=分组的最大数目×QSpec_最大分组大小 式(4)
其中,
QSpec_峰值数据率及其转换成时隙是NC为流保留的数据链路层带宽;
QSpec_最大分组大小=TSpec_最大分组大小+以太网分组开销;
1ms上的TSpec_峰值数据率是从其时间单位并非1ms的TSpec_峰值数据率计算出来的。
时间单位参数允许活话务源的令牌桶TSpec XML的规范能匹配其话务生成过程。时间单位参数还提供方便和灵活的方式以从预记录或传统内容中提取令牌桶TSpec XML而不管传输信息是否可用。例如,对于无传输信息的经MPEG编码的视频内容,峰值数据率可被指定为视频帧内的最大比特数目除以视频帧持续期。以此方式,时间单位是由视频帧速率确定的视频帧区间。如果媒体是例如PCM音频,则时间单位可等于其采样速率的倒数。对于布置有诸如RTP等传输信息的内容,默认为90KHz的RTP时戳的分辨率通常用于指定TSpec XML。TSpec XML中的时间单位不匹配由用于传输话务流量的底层链路的工作时钟速率所确定的时间单位并不罕见,并且可能需要转换以不同时间单位指定的令牌桶TSpec XML。
根据令牌桶模型中的峰值数据率的定义,在任何区间[t1,t0],由具有特性{r,b,p}的话务源生成的最大比特数对于任何t1-t0≥TUTSPEC不会超过p(t1-t0)。因此,在任何区间[t1-t0]中测得的最大数据率或峰值数据率不会超过p(t1-t0)t1-t0=p.]]>
类似地,根据令牌桶模型中的最大突发大小的定义,在任何区间[t1-t0],由具有特性{r,b,p}的话务源生成的最大比特量对于任何t1-t0≥TUTSPEC不会超过r(t1-t0)+b。在任何区间[t1-t0]中测得的最大数据率或峰值数据率不会超过r(t1-t0)+bt1-t0=r+bt1-t0.]]>
因此,组合以上两个约束,对于由工作(oper)时钟速率coper确定的TUoper(>TUTSPEC)的任何时间单位,以工作时钟速率coper测得的峰值数据率(标示为poper)由下式给出:
poper=min(p,r+bt1-t0)=min(p,r+bTUoper)min(p,r+bcoper)]]>式(6)
参数化QoS流保证
pQoS流保证意味着启用pQoS的网络在CF并不超过可用网络带宽的情况下能支持流。这意味着新pQoS流将不会被准入网络中,除非在任何给定时间都能支持流的峰值数据率/标称分组大小(Npps)。注意,入口节点508或NC节点506中的任一个可准许流的进入峰值分组速率瞬态超过网络能支持的峰值数据率/标称数据大小。
在一个实施例中,NC节点506可保证为优先级化话务留出总带宽的一部分,而话务的其余部分用于参数化话务。例如,NC节点506可为优先级化话务留出总网络带宽的20%,而带宽的剩余80%留出给参数化话务。参数化话务包括异步流量话务和异步数据话务。例如视频流量等异步流量话务需要对该流量的平均数据率的知识。因此,QoS管理器520能够请求准入或者获得关于异步流量话务的带宽可用性的信息。如果优先级化带宽因沉重的网络负荷而不可用,该流量将不会被准入,并且源(入口节点508)随后可尝试作为异步数据话务来发送该话务。异步流量话务的QSpec包括服务类型参数和最大分组大小参数。
例如文件传输等异步数据话务是对其没有所要求或可预测带宽的话务。异步数据话务还可包括尽力话务,例如不具有指示其优先级的VLAN标签的话务。在一个实施例中,尽力话务并不通过以下描述的准入过程。网络控制和流管理话务通常被认为是优先级化话务。然而,在其中需要短且可预测等待时间的某些应用中,网络控制和流管理话务可被结构化以使用参数化流带宽(例如,拉模式(pull-mode)DVR回放或DTCP定位约束,其中管理交换的往返时间限定为7ms)。或者,网络控制和流管理话务可被当作高优先级异步话务来对待。当作为高优先级异步话务来对待时,为优先级化话务留出的带宽应大于网络管理和流量管理话务所需的带宽,从而这些管理消息能及时被发送。
在为pQoS流请求带宽时,所有节点可将数据/控制预留请求元素帧中的优先级字段设为0x3,如下表7中所示。NC节点506协调网络502内各个流的调度。网络级支持3种优先级:(1)包括网络和流量管理的高优先级;(2)包括异步流量的中优先级;以及(3)包括诸如尽力话务等无优先级标签的异步话务的低优先级。在调度流时,NC节点506在先进先出基础上调度pQoS流。在一个实施例中,这些pQoS流在任何非pQoS流被调度之前被调度。
表7-具有经修订优先级字段的数据/控制预留请求元素帧格式
字段 长度 用途 帧_子类型 4比特 如果帧_类型=控制 0x0-类型I/III探测报告 0x1-保留 0x2-保留 0x3-密钥分发 0x4-动态密钥分发 0x5-类型I/III探测报告请求 0x6-链路确认 0x7-保留 0x8-周期性链路分组 0x9-功率控制 0xA-功率控制响应 0xB-功率控制确认
0xC-功率控制更新 0xD-拓扑结构更新 0xE-单播MAC地址通知 0xF-保留 如果帧_类型=以太网传输 0x0=以太网_分组 帧_类型 4比特 0x2=控制 0x3=以太网传输 目的 8比特 目的节点的节点ID PHY_分布 8比特 指示用于该传输的调制方案的类型 比特7∶6 00=分布序列0 01=分布序列1 比特5∶0 0x2=分集模式分布 0x7=单播分布 0x8=广播分布 所有其他值被保留。 请求_ID 8比特 与请求相关联的序列号。 参数 12比特 保留 优先级 4比特 如果帧_类型=控制 0x0 如果帧_类型=以太网传输 0x0-低优先级 0x1-中优先级 0x2-高优先级 0x3-参数化服务质量流 持续期 16比特 以隙_时间的倍数计的所需传输时间
一些pQoS流可以是可变比特速率(VBR)流。由于VBR流的峰值数据率大于其平均速率并且流在长时段中使用其平均速率,因此参数化流带宽的显著部分可能未被该流使用。为使带宽最大化,使得VBR流的未使用带宽可用于异步话务。因此,实际异步带宽通常具有两个分量:(1)异步话务的预设部分,以及(2)从参数化流带宽收回的部分。
参数化QoS事务
在图5中所示的实施例中,参数化QoS事务可或者由NC节点506或者由进入节点504发起。EN发起的事务通常包括2个pQoS波,并且通常用单播地发送给NC节点506的提交消息来发起。重要的是,注意EN 504输入可能来自网络502外部的另一个pQoS段。在收到提交消息之际,NC节点506通常通过向所有网络节点504、508、510广播请求消息以要求返回特定pQoS流信息而开始第一波。在第二波中,NC节点506通常广播在第一波中接收自来自网络节点的响应的信息。
相反,由NC节点506发起的pQoS事务通常仅包括单个pQoS波。该pQoS波通过NC节点506向所有节点504、508、510广播请求消息以请求发生特定动作来发起。该波在NC节点506从被请求网络节点504、508、510中的每一个收到响应时完成。
获支持pQoS流中的每一个可在单播、或广播流中传送。注意,某一网络内的多播流通常是作为其中出口节点ID为0x3f的广播流来处理的。广播流是向网络中的所有网络节点传送的pQoS流。如果入口节点508或出口节点510从网络502断开连接,则NC节点506可删除单播流。相反,出于网络拓扑结构原因,除非当入口节点508从网络断开时,否则通常不删除广播流。
创建和更新参数化QoS流事务
参考图7,现在将描述根据图5中所示的实施例的创建/更新事务的一个示例。创建或更新事务的目的在于如图5中所示地在入口节点508与出口节点510之间创建新pQoS流或更新pQoS流属性。最初,QoS管理器520接收入口节点508和出口节点510两者以及自QoS设备服务518起的流路径上各QoS设备的IP和MAC地址。随后QoS管理器520通过将QoS设备服务518所报告的可抵达MAC值与入口节点508和出口节点510的MAC地址进行比较直至找到路径来确定pQoS流的路径。
表8-用于创建/更新的提交L2ME报头和有效载荷格式
pQoS流可由流ID来标识。在一个实施例中,流ID是多播目的MAC以太网地址,并且分组在pQoS流上被路由。标签-值(TV)字段具有最多24个不同pQoS条目。每个pQoS TV条目包括8比特标签字段,继之以24比特标签值字段。表9示出TV条目的pQoS标签列表的示例。注意,标签“0”指示当前TV,并且任何后继TV条目可被忽略。该范围外的峰值_数据_率值可被解读为用以查询可用带宽而不创建流的特殊情形。租借_时间字段指示此后入口节点508(如图5中所示)可停止将相关联话务作为pQoS流来对待并释放与该流相关联的资源的持续期。
表9-TV条目的所定义标签
TAG名 标签# 标签值描述TV列表结束 0 忽略峰值_数据_率 2 0-0xFFFFFE;峰值数据率(kb/s) 0xFFFFFF=仅用于查询且不创建或更新 pQoS流;标称_分组_大小 9 标称分组大小(字节)-必需;参见租借_时间 20 租借时间(秒)-可任选(默认=0;永 久)保留 所有 其他 保留供将来使用;MoCA-1.1节点忽略
在一个实施例中,pQoS事务在NC节点506收到来自EN 704的提交消息时发起。注意,EN 704可响应于诸如QoS设备服务518(如图5中所示)等高层应用发送提交消息。在收到来自EN 704的提交消息之后,NC节点706向连接至网络的所有节点704、708传送请求消息,藉此开始第一波(波0)710。第一波710用于通知所有网络节点704、708关于所提出的pQoS流创建或更新事务,并收集来自这些节点的关于当前流分配的度量。
在收到请求L2ME消息之际,入口节点508和出口节点510(两者皆如图5中所示)使用TSpec XML值来计算流所需的时隙以及从每一个节点所需的资源,诸如系统总线带宽和存储器。每一个被请求的节点可用指示现有pQoS流的聚集成本的响应L2ME帧来响应NC节点706以完成第一L2ME波。注意,如果节点收到请求L2ME帧并且不涉及该流,则其简单地忽略该消息。用于创建/更新事务的响应消息格式的一个示例在下表10中指定。注意,如果NC节点706在给定时间区间内并未收到来自入口节点508或出口节点510的响应L2ME帧,则NC节点706在将消息作为失败来对待之前将重新广播请求L2ME消息多达数次,例如3次。
表10-用于创建/更新的响应L2ME消息格式(波0)
每一个被请求节点704、708通过计算除其中该节点是入口节点的新流或更新流以外的所有现有流的现有_TPS值来生成响应L2ME帧有效载荷。此值通过对每一个流使用式(1)来计算。节点704、708还计算除新流或更新流以外的所有现有流的现有_PPS值。现有_PPS值是每一个流的峰值数据率/标称分组大小之和。此外,节点704、708根据式(1)计算成本_TPS值作为新流或更新流的以隙_时间/秒计的成本。对应峰值_数据_率=0的值被排除。如果对流吞吐量(比特/秒)有入口或出口节点限制,则节点704、708计算以比特/秒计的剩余节点容量(剩余_节点_容量),并使用否决_代码字段(节点的容量定义)来标识原因。波1的响应L2ME帧的格式的一个示例在下表15中示出。
存在其中节点可能不能履行NC节点706所发出的请求的若干情景。在这些情形中,节点发出否决_代码。否决_代码的示例在下表11中示出。如果关于NC节点706所收到的TV集的以下语句中的一个或多个为真,则发出无效_TV:
1.峰值_数据_率不存在。
2.标称_分组_大小不存在。
3.标称_分组_大小值<64B或>1518B。
表11-可接受否决代码值列表
否决代码名 值 描述否决_代码_入口_OK 1 节点是入口节点(创建和更新流两 者)否决_代码_非入口_OK 2 节点并非入口节点并且不禁止流创 建或更新否决_代码_流_存在 3 节点上已存在流-节点否决相同流 的创建(仅用于创建流)否决_代码_不足_入口_BW 4 入口节点具有带宽(BW)限制,阻 止了如指定地创建流(创建和更新 流两者)否决_代码_不足_出口_BW 5 保留否决_代码_过_多_流 6 节点已具有过多现有流(仅用于更
新流)否决_代码_无效_流_ID 7 所请求的流ID不可被入口节点用作 服务质量流ID-(仅用于创建流)否决_代码_无效_TV 8否决_代码_无效_节点_ID 9 节点ID在网络操作期间变成无效否决_代码_租借_期满 10 仅更新
在NC节点706可发起第二波(波1)712之前,其需要确定创建或更新事务的结果是否为(1)因节点对所请求流提供了非带宽相关原因而被拒绝,(2)因带宽限制而被拒绝,或(3)被允许以承诺如所请求的流资源。
表12-非带宽相关否决代码和退回原因
否决代码名非带宽退回_原因名否决_代码_流_存在退回_原因_流_存在否决_代码_过_多_流退回_原因_过_多_流否_决代_码无_效流_ID退回_原因_无效_流_ID否决_代码_无效_TV退回_原因_无效_tv否决_代码_无效_节点_ID退回_原因_无效_节点_id否决_代码_租借_期满退回_原因_租借_期满
如果任何节点返回上表12中列出的否决_代码之一,则波1的请求包含相应的退回_原因。如果一个节点并未返回否决_代码_入口_OK,则波1的请求包含如下表14中所示的退回_原因_流_未_找到。
NC节点706在准许特定流创建或更新之前评估并确保满足以下3个带宽相关准则:
1.聚集TPS-来自所有节点的现有_TPS和成本_TPS值之和可小于服务质量_TPS_MAX。
2.聚集PPS-来自所有节点的现有_PPS和Npps值之和可小于服务质量_PPS_MAX。
3.入口或出口节点容量-所返回的在入口或出口节点处的剩余_节点_容量值可大于或等于所请求的流峰值_数据_率。
如果NC节点706确定可向创建或更新事务承诺所请求的流资源,则其在波1中向参与节点发送具有0长度有效载荷的请求L2ME帧以承诺所请求的资源。
如果这些带宽相关准则中的任一个失败,则NC节点706可计算请求帧的有效载荷中的最大_峰值_数据_率(阈值_BPS)值。最大_峰值_数据_率是所能成功的最大可允许流峰值_数据_率(比特/秒)。NC节点706还可通过选择以下退回原因之一来指定最限制性的准则:
1.退回_原因_不足_入口_BW,
2.退回_原因_不足_出口_BW,
3.退回_原因_不足_聚集_BW,
4.退回_原因_不足_聚集_PPS。
第二波712通知节点关于流创建或更新事务的决定。如果创建或更新事务在第一波710中失败,则NC节点706可根据下表13发送用于第二波712的请求L2ME帧,其中阈值_BPS值仅针对以上4个退回_原因被定义。注意,如果更新事务失败,则现有pQoS流仍坚持其当前TSpec XML参数。
表13-用于失败创建/更新的请求L2ME帧有效载荷(波1)
表14-可接受退回_原因值列表
退回_原因名 值 描述退回_原因_流_存在 3 创建事务因节点已充当指 定流的入口而失败退回_原因_不足_入口_bw 4 流因入口节点数据路径上 的不足带宽而不能被创建; NC提供最大可行数据带宽退回_原因_不足_出口_BW 5 流因出口节点数据路径上 的不足带宽而不能被创建; NC提供最大可行数据带宽退回_原因_过_多_流 6 入口或出口节点不能添加 流退回_原因_无效_流_ID 7 所请求流ID被节点保留退回_原因_无效_TV 8 节点不能接受收到TV
退回_原因_无效_节点_ID 9 节点ID在网络操作期间变 成无效 退回_原因_租借_期满 10 更新事务因从网络删除了 流而失败 退回_原因_流_未_找到 16 更新事务失败 退回_原因_不足_聚集_TPS 17 MoCATM网络上的不足流 带宽 退回_原因_不足_聚集_pps 18 MoCATM网络上的不足分 组/秒
当在第二波712中收到对成功创建事务的0长度请求时,该流的入口节点504(图5中所示)可承诺所请求的资源。每一个节点704、708可用响应消息格式来响应,其一个示例在下表15中示出。在最后波814即波2中,NC 806通知EN 804关于创建/更新事务的结果。
表15-用于创建/更新的响应L2ME消息格式(波1)
删除参数化服务质量流事务
删除服务质量流事务的目的在于卸除一组入口508和出口510节点(图5中所示)之间的特定pQoS流。参考图8,现在将描述根据图5中所示的实施例的删除pQoS事务800的一个示例。删除pQoS流事务800包括3个L2ME波810、812、814。事务在EN 804向NC节点806发送提交消息以指定将被删除的流ID时开始。删除消息格式的一个示例在下表16中示出。
表16-用于删除事务的提交L2ME消息格式
删除事务800的第一波(波0)810通知所有网络节点804、808关于将删除哪个pQoS流和资源。NC节点806使用基于提交消息的请求消息格式向所有节点804、808发起第一波810。节点804、808可用响应消息来响应,指示它们是否具有与将被删除的流相关联的资源。
表17-用于删除的响应L2ME报头和有效载荷(波0)
在第二波812即波1期间,流资源被删除。NC节点806使用请求消息格式以来自第一波810的级联响应发起第二波812。在第二波812即波1中所使用的响应消息格式在下表18中示出作为响应消息格式的一个示例。每一个节点804、808在第二波812中以响应帧来响应,通过将帧的有效载荷部分中的已删除字段中的比特31置位来指示流删除。
表18-用于删除的响应L2ME有效载荷(波1)
在第三波814即波2中,NC节点806通知EN 804所请求流已被删除。第三波814通过NC节点806使用请求消息格式以来自第二波812的级联响应来发起。删除事务800在EN 804和任何其他被请求节点808提供如下表19中所示的最终响应时完成。
表19-响应L2ME报头和有效载荷格式(波2)
列表参数化服务质量流事务
列表pQoS流事务使得任何网络节点都能检索网络中的流列表。参考图9,现在将描述根据图5中所示的实施例的列表pQoS事务900的一个示例。该事务通常包括2个L2ME波910、912,并且在EN 904以根据下表20的格式向NC节点906发送提交消息时发起。每一个节点904、906、908被配置成维护其从0连续编号的入口流的逻辑表。该表中的元素的次序仅在创建或删除流时才改变。由此,远程节点可通过选择逻辑表中哪个条目为第一个来构建完整的流列表。
表20-用于列表的提交L2ME帧格式
在第一波910即波0中,NC节点906通知节点904、908查询哪个范围的QoS流。NC节点906使用基于接收自EN 804的提交消息的请求消息格式发起第一波910。请求消息被发送给可能提供响应的节点908。被查询的节点908可用根据下表21的响应消息格式来响应。列表_响应帧的有效载荷部分中的返回_流_ID包含pQoS流的列表,始于节点的流_开始_索引并且直到如流_最大_返回所指定的最大流编号。注意,流更新计数器在流的数目改变时递增。出于此事务的目的,假定节点保持入口流的逻辑表,其中每一个元素被指派从0到要被删除的流的最大编号的索引。
表21-响应L2ME帧有效载荷格式(波0)
在第二波912即波1中,NC节点906通知EN 904以及任何其他感兴趣节点908关于在第一波910中找到的pQoS流的聚集列表。NC节点906使用请求消息格式以来自第一波910的级联响应发起第二波912。列表事务900在所有感兴趣节点904、908向NC节点906发送其如下表22中所示的最后响应时完成。
表22-用于列表的请求L2ME消息格式(波1)
查询参数化服务质量流事务
查询pQoS流事务的目的在于检索特定流ID的属性。参考图10,现在将描述根据图5中所示的实施例的查询pQoS事务1000的一个示例。查询pQoS事务1000包括两个波周期1010、1012,并且在EN 1004向NC节点1006发送提交消息以指定具体pQoS流的流ID时开始。
表23-用于查询的提交L2ME帧格式
查询事务1000的第一波1010即波0通知节点1004、1008正查询哪个pQoS流,并且当NC节点1006基于提交消息向节点1004、1008传送请求消息以便标识哪个节点持有该特定流时发起。每一个节点1004、1008可用其是否为该流的入口节点的响应消息来响应。响应L2ME消息格式在下表23中示出作为这种格式的一个示例。如果节点并非该流的入口,则其用0长度有效载荷的响应帧来响应。
表23-若找到流,用于查询的响应L2ME有效载荷(波0)
在第二波1012即波1中,查询结果被传送至EN 1004和对这些结果感兴趣的任何其他节点1008。NC节点1006使用请求L2ME消息格式以来自第一波1010的级联响应发起第二波。查询事务1000在感兴趣节点1004、1008向NC节点1006发送其如下表24中所示的最后响应帧时完成。
表24-用于查询的响应L2ME消息格式(波1)
维护参数化服务质量流事务
维护pQoS事务可用于周期性地评估是否存在用于所承诺pQoS流的充分网络资源。参考图11,现在将描述根据图5中所示的实施例的维护pQoS事务1100的一个示例。维护pQoS事务1100可通过NC节点1106在T22(T6/5)到T6秒之间发出此事务来完成,其中T6可为25或50秒。此外,NC节点106可在启用L2MEpQoS的新节点加入网络502之后的T22(T6/5)秒发出此事务。维护事务1100包括两个L2ME波1110、1112,并且不需要提交消息,因为该事务由NC节点1106触发。
NC节点1106通过传送请求消息来发起第一波1110即波0、以及维护事务1100,请求消息的一个示例在下表25中示出。请求消息要求所有节点1104、1108提供关于其当前流分配度量的信息。
表25-用于维护的请求L2ME帧格式(波0)
每一个被请求节点1104、108针对第一波1110发送其具有如表26中所示的有效载荷格式的响应消息,指定其中该节点是入口节点的所有现有流的现有_TPS和现有_PPS值。
表26-用于维护的响应L2ME有效载荷格式(波0)
第二波1112即波1使得NC节点1106能查明鉴于基于第一波1110的结果而改变网络状况后网络中的当前pQoS流是否能被保证。NC节点1106使用如表27中所示的请求消息格式报头通过以下改变来发起第二波1112:
1.波_状态=1
2.目录_长度=0x10
3.事务_波_编号=1
如果所有pQoS流的聚集被过度承诺,则NC节点1106在第二波1012的请求消息中将过度_承诺字段设为“1”。每一个节点1104、1108可向其应用层发送消息,通知其该网络的pQoS流资源不被保证。
表27-用于维护的请求L2ME有效载荷消息格式(波1)
字段 长度 用途 过度_承诺 32比特 如果pQoS流被过度承诺则设为‘1’;否 则‘0’ 保留 32比特 0x0;类型III 保留 32比特 0x0;类型III
维护事务1100在每一个节点1104、1108向NC节点1106发送其如下表28中所示的响应帧时完成。
表28-用于维护的响应L2ME消息格式(波1)
除了以上描述的实施例以外,所公开的方法和装置可按计算机实现的进程和用于实践这些进程的装置的形式来实施。本文所公开的方法和装置还可按包含在诸如软盘、只读存储器(ROM)、CD-ROM、硬驱动、“ZIPTM”高密度硬驱动、DVD-ROM、闪存驱动、或任何其他计算机可读存储介质等有形介质中的程序代码的形式来实施,其中当计算机程序代码被加载到计算机中并由其执行时,该计算机成为用于实践所公开的方法和系统的装置。本文所公开的方法和装置还可按例如无论是存储在存储介质中、还是加载到计算机中和/或由其执行的计算机程序代码的形式来实施,其中当计算机程序代码被加载到计算机中并由其执行时,该计算机成为用于实践所公开的方法和装置的装置。当在通用处理器上被实现时,计算机程序代码段将处理器配置成创建专用逻辑电路。
尽管所公开的方法和系统已按照用作示例的实施例的方式进行了描述,但并不被限定于此。相反,所附权利要求应被广泛地解释成包括所公开的方法和系统的其他变形和实施例,本领域技术人员可作出这些变形和实施例而不脱离该方法和系统的等效技术方案的范围和界限。