报文传输系统中分配报文缓冲区的方法

文档序号:7794257阅读:552来源:国知局
报文传输系统中分配报文缓冲区的方法
【专利摘要】一种方法,包括:从第二节点接收授信状态,其中所述授信状态包括用于管理所述第二节点的缓冲区中存储空间的多个分配额的多个授信额,所述多个分配额中的每一个专属于不同的报文类型;指示所述第二节点用专属于第二优先级的报文类型的授信额存储第一优先级的报文类型,其中所述第一优先级比所述第二优先级高,所述授信状态表明所述第一优先级的报文类型的授信额已达到最小值;及向所述第二节点发送所述第一优先级的报文。
【专利说明】报文传输系统中分配报文缓冲区的方法
[0001]优先权?目息
[0002]本申请要求于2012年7月31日由IulinLih等人提交的、美国临时专利申请号为61/677,518、发明名称为“报文传输系统中分配报文缓冲区的方法”的美国临时专利申请、美国临时专利申请号为61/677,884、发明名称为“用于报文传输的优先级驱动的信道分配”的美国临时专利申请的优先权,其全部内容通过引用结合在本申请中。
[0003]关于美国联邦政府资助的研发项目的声明
[0004]不适用。
[0005]缩微平片附件的引用
[0006]不适用。

【背景技术】
[0007]分组传输系统可用于在多个节点之间共享信息,其中节点可为与网络系统中的其他电子元件通信的任何电子元件。例如,节点可以为计算系统(例如,计算机)中的存储器设备或处理器。所述计算系统可具有多个需要能够彼此通信的节点。节点可利用数据缓冲区在处理接收报文之前临时存储所述接收报文。报文可通过物理链路从一个节点转发到另一个节点,其中所述物理链路可划分为虚拟信道。这些虚拟信道可进一步分为具有不同报文优先级的不同虚拟信道类别。但是,缓冲区会受到不同优先级的报文间流量分发不平衡的限制。例如,分配给一种具体报文类型或优先级的缓冲区空间可能会过载,从而导致该报文类型发生拥塞,而分配给另一种报文类型的缓冲区空间可能未得到充分利用,从而造成缓冲区资源使用效率低。数据传输期间较大的延迟会造成整体服务质量(QoS)下降。此夕卜,如果一个或多个节点过载,吞吐率及链路利用率可能会急剧下降,且其报文队列会进行备份并占用大部分的可用缓冲区。


【发明内容】

[0008]在一个实施例中,本发明包括一种方法,包括:从第二节点接收授信状态,其中所述授信状态包括与所述第二节点的缓冲区中存储空间的分配额相对应的多个授信额,所述多个分配额中的每一个专属于不同的报文类型,各种报文类型的授信额用于管理所述多个分配额;指示所述第二节点用专属于第二优先级的报文类型的授信额存储第一优先级的报文类型,其中所述第一优先级比所述第二优先级高,所述授信状态表明所述第一优先级的报文类型的授信额已达到最小值;及向所述第二节点发送所述第一优先级的报文。
[0009]在另一个实施例中,本发明包括一种方法,包括:从第二节点接收授信状态,其中所述授信状态包括与所述第二节点的缓冲区中存储空间的分配额相对应的多个授信额,所述多个分配额的一部分为专属于多种报文类型的共享分配额,所述多个分配额的一部分为多个私有分配额,所述多个私有分配额中的每一个专属于不同的报文类型,所述授信额用于管理所述多个分配额;指示所述第二节点用共享授信额存储第一优先级类型的第一优先级的报文,其中所述授信状态表明所述第一优先级的报文类型的授信额已达到最小值;及向所述第二节点发送所述第一优先级的报文。
[0010]在再一个实施例中,本发明包括一种装置,包括:缓冲区;接收器,用于从第二节点接收授信状态,其中所述授信状态包括与所述第二节点的第二缓冲区中存储空间的分配额相对应的多个授信额,所述多个分配额的一部分为专属于多种报文类型的共享分配额,所述多个分配额的一部分为多个私有分配额,所述多个私有分配额中的每一个专属于不同的报文类型,所述授信额用于管理所述多个分配额;及发送器,通过所述缓冲区与所述第二缓冲区相耦合,用于发送指令,所述指令指示所述第二节点用专属于第二优先级的报文类型的授信额存储第一优先级的报文类型,其中所述第一优先级比所述第二优先级高,所述授信状态表明所述第一优先级的报文类型的授信额已达到最小值。
[0011]下文通过具体实施例结合附图及权利要求书对上述及其他特征进一步说明。

【专利附图】

【附图说明】
[0012]为了更完整地理解本发明,请结合附图及具体实施例参考以下简要说明,其中类似的附图标记表示类似的部件。
[0013]图1是一种互连网络系统实施例的示意图。
[0014]图2示出了一个示例性的缓冲区分区及相应的缓冲区授信额。
[0015]图3示出了缓冲区分配额的一个实施例。
[0016]图4示出了两个节点之间数据通信的一个示例。
[0017]图5是优先级驱动的报文存储方法的一个实施例的流程图。
[0018]图6是报文传输系统一个实施例的不意图。

【具体实施方式】
[0019]首先应理解,尽管下文提供了一个或多个实施例的示例性实施方式,所公开的系统和/或方法可采用任何数量的当前已知或已存在的技术予以实现。本发明不以任何方式被局限于下文说明的示例性实现方式、附图及技术,包括示例性本发明所示并说明的示例性设计及实现方式,但可在随附的权利要求书范围及其同等范围内予以修改。
[0020]本发明公开了提供增强的缓冲区分配和管理的方法和装置。为提高数据缓冲区的效率,可采用一种策略来增强分组传输系统,其中所述策略允许发送器确定何时一种报文类型的报文可以使用为其他报文类型预留的私有缓冲区空间,以便确保特定报文类型得到服务而不会因服务其他报文类型而被阻塞。这样,由所述发送器进行的这种上行传输控制可用于高优先级流量或容纳不平衡流量分发中涌入的特定报文类型。在该系统中,可预留一部分私有缓冲区空间,只能由相应的报文类型使用。因此,这种方法允许不同报文类型使用可用于存储的私有缓冲区,其中多个相应的虚拟信道可用于在这些缓冲区之间进行传输。此外,系统可采用这样一种策略,所述策略可将数据缓冲区空间分区成为特定报文类型预留的私有缓冲区空间和可由任何报文类型使用的共享缓冲区空间。在该系统中,发送器可确定何时一种报文类型的报文可使用共享缓冲区或为其他报文类型预留的私有缓冲区空间。共享缓冲区空间还可进一步分区成为报文类别预留的类别共享缓冲区空间,其中所述类别包括一组指定的报文类型。因此,例如通过适应不平衡的流量分发,缓冲区和/或信道分配额可提升报文缓冲区的性能。
[0021]一种分组传输的模型使用固定大小的共享缓冲区和私有缓冲区,在假设各种报文类型生成的数量大致相等的情况下可以较好的工作。但是,该系统可能不足以处理流量分发不平衡的情况。例如,如果报文类型2的流量增加,则私有缓冲区2过载时其他私有缓冲区可能处于空闲状态或未得到充分利用。因此,缓冲区分配和管理有待加强,以便更好地处理不同报文类型间流量分发不平衡的情况。
[0022]图1示出了互连网络系统100的一个实施例。所述系统100可包括多个节点,如节点110、节点120、节点130和节点140。作为示意性实例,节点可实现为片上系统(SoC)中的不同电子元件,或节点可以为诸如计算机系统的主板上的多个芯片中的单独芯片。即,所述节点可位于不同芯片中或在同一芯片的各元件中,以便分别进行芯片间或芯片内通信。尽管出于示意目的只示出了四个节点,所述系统中可使用任何数量的节点。出于示意目的,所述系统100作为全连接示出。但是,本发明公开的缓冲区方案不限于任何具体系统拓扑或互连。例如,所述节点可组织为环形或任何其他结构,所述节点可按任何顺序排列。
[0023]在所述系统100中,所述节点110 - 140以全连接方式进行互连,以便每个节点通过一跳即可直接与所述系统中的任何其他节点通信。由于节点可能向其他节点发送报文也可能从其他节点接收报文,因而节点具有双向通信能力。发送节点和接收节点,以下分别称为发送器和接收器,均可使用数据缓冲区来临时存储报文。例如,所述节点110可以是具有缓冲区的发送器,其中所述缓冲区存有待发送给其他节点的报文。所述节点110可将这些报文从所述缓冲区转发给作为接收器的所述节点120。然后,这些报文在处理前可存储在所述节点120的缓冲区内。
[0024]报文可根据其报文类型进行分类。例如,报文可分为数据报文或控制报文。数据报文可含有与节点或进程相关的数据,如信息体,而控制报文则含有对节点或进程进行控制所需的信息。数据报文可进一步根据系统对延迟的要求进行分类。语音通话或视频聊天要求的延迟较小,以便取得满意的流量,而网页下载可容忍的延迟较大。
[0025]此外,不同的数据报文和控制报文可依据优先级进行分类。发起事务的控制报文可被赋予比完成事务的控制报文低的优先级。例如,缓存一致性事务可使LI缓存与L2缓存之间进行通信,以便更新缓存内容并维护一致性。该事务中的第一步可包括向L2缓存(例如,从除LI之外的节点)请求进行写操作。所述L2缓存可发送“snoop”请求给所述LI缓存,以便检查缓存内容,并根据需要更新内容。所述LI缓存则可发送“snoop”响应来确认其已完成,所述事务可通过L2缓存确认其写操作的最终响应予以完成。在缓存一致性事务中,将要完成事务的报文可被赋予较高优先级,而启动该事务的报文可被赋予较低优先级。事务中间步骤的报文可对应中间优先级。可在不同缓冲区空间中存储各种不同类型及优先级的报文。
[0026]数据缓冲区可划分为共享缓冲区及多个私有缓冲区。共享缓冲区可由不同的报文类型占用,而私有缓冲区可分配给特定报文类型。可利用虚拟信道将发送节点的一个缓冲区的报文转发给接收节点的另一个缓冲区。虚拟信道可指带宽被划分为逻辑子信道的节点间物理链路。每个信道可分配给可存储特定报文类型的私有缓冲区。这些报文可对应不同的报文类型(例如,数据报文或控制报文)及不同的优先级(例如,高优先级或低优先级)。
[0027]共享缓冲区易受头端(HOL)阻塞影响,所述头端阻塞涉及节点无法发送的位于传输队列头部的报文。在被阻塞的报文被转发之前,这一行为妨碍了发送后续报文。为缓解HOL限制,可对报文进行调度,以便基于优先级分配额填充指定的缓冲区。传统的私有缓冲区只能由分配的报文类型使用;但是,这些缓冲区可能会受到传输突发减少的限制。私有缓冲区也会因缓冲区授信额系统造成缓冲区可用率低。
[0028]可通过实现缓冲区授信额系统确保接收器有足够的空间,以便在发送前接受报文。缓冲区授信额可发送给发送器,并设置为指示存储器单位的值。在接收器上,一个缓冲区空间单位分配一个授信额。例如,报文发送给接收器的缓冲区时,可调减发送器中的缓冲区数量(或计数器)。报文被移出接收器的缓冲区时,可调增所述缓冲区数量。缓冲区数量减小到最低值(例如,O)时,发送器可获知特定的缓冲区已满,且可在收到就绪消息前等待发送更多报文。
[0029]图2示出了缓冲区205的分区及相应的缓冲区授信额225的示例。所述缓冲区205与所述缓冲区授信额225可称为缓冲区映射200。如图2所示,缓冲区205可分区为共享缓冲区空间或区域210 (称为共享缓冲区)及η个私有缓冲区空间或区域220 (称为缓冲区),其中η彡2。所述共享缓冲区210可包括未分配的空间,可用于存储任何类型的报文,而每个私有缓冲区220可分配用于存储特定报文类型(例如,优先级)的不同报文类型。所述缓冲区205中的缓冲区区域可在接收节点中实现,如图1的互连系统100中的节点。发送器与接收器之间的数据流量可分为各种报文类型,其中报文类型可根据报文的优先级确定。在有四种报文类型的系统中,假设η = 4。例如,最高优先级的报文可分配为报文类型1,而最低优先级的报文可指定为报文类型4。报文类型2、3可相应地包括中间优先级的报文。可为每种流量类型提供私有缓冲区220中所分配的部分。在传统缓冲区系统中,报文类型I可在私有缓冲区I中存储,报文类型2可在私有缓冲区2中存储,依此类推。共享缓冲区210可由任何报文类型在其关联的私有缓冲区满时使用。例如,如果私有缓冲区2超过了其存储器限制,则只要有空间,就可将类型2的报文存储在共享缓冲区中。
[0030]接收节点可将给定类型的报文数据保存到私有缓冲区220的分配给所述数据类型的部分。要确定缓冲区205中的缓冲区可用性,图2所示的发送节点可具有相关联的缓冲区授信额,其中可根据实现中的要求为每个存储器单位(例如,特定字节数)分配一个授信额。缓冲区授信额系统可包括共享授信额230及η个不同的私有授信额240。所述发送器可针对每种数据类型维护与私有缓冲区220对应的私有授信额240的数量。类似地,可存储针对所述共享缓冲区210的共享授信额230。这些缓冲区授信额可用于确定接收器的缓冲区的状态。
[0031]报文进出共享缓冲区时,共享授信额的值可相应地调整。在一个实施例中,节点110等接收器可确定其已准备好处理当前存储在其私有缓冲区的其中一个(例如,私有缓冲区220)中的报文。然后,所述接收器可移出所述报文,并发送消息以便将所述开放空间通知发送器。该消息可为该报文未占用的无论数量多少的存储器单位的授信额。
[0032]最终,发送器可通过相应地调减、调增数值的方式追踪缓冲区授信额。假设所述私有缓冲区220的其中一个占用了存储器的I千字节(KB),每字节分配一个授信额(即1028字节或I千字节有1028个授信额)。发送器最开始可有1028个授信额,每向接收器发送一个字节,可调减I。特定报文类型的1028字节的报文都发送完毕后,对应私有缓冲区的缓冲区授信额数量可为O。报文移出相关联的接收器的缓冲区时,发送器可从所述接收器收回授信额,并相应地调增所述缓冲区授信额数量。所述缓冲区授信额系统可允许发送器监控可用缓冲区,以便确定特定节点的缓冲区是否准备好接受待接收的报文。
[0033]图2所示的缓冲区分区可通过物理分区或逻辑分区实现。即,所述缓冲区205实际上可不需要分区成区域。相反,所述缓冲区205可通过各种报文类型作为共享存储器池进行管理。所述缓冲区可根据分配给各种报文类型的授信额进行管理。
[0034]图3示出了缓冲区300的分配额的实施例。所述缓冲区300可在节点中实现,如图1所示的任何节点。所述缓冲区300可包括共享缓冲区301及多个私有缓冲区310、320、330、340。尽管出于示意目的只示出了四个私有缓冲区,所述系统中可使用任何数量的私有缓冲区。第一私有缓冲区310可存储类型I的报文,第二私有缓冲区320可存储类型2的报文。类似地,第三私有缓冲区330可存储类型3的报文,第四私有缓冲区340可存储类型4的报文。此外,在实现所述缓冲区300的系统中,对报文进行优先级划分,相应地,最高优先级的报文被指定为报文类型1,最低优先级的报文被指定为报文类型4,报文类型2、3包括中间优先级的报文。图3所示的缓冲区区域可以是将各种报文类型的授信分配额进行可视化的方便的逻辑构建。所述缓冲区300实际上可不被分区成区域,但在缓冲区空间的总分配额中,可为每种报文类型保留一定数量的空间(分配额),且将每种报文类型所分配的空间通知其他节点。所述缓冲区300可根据分配给每种报文类型的授信额进行管理。
[0035]在一个实施例中,通过缓冲区映射(例如,缓冲区映射200),发送器可根据优先级协议借用低优先级的私有缓冲区空间,用作高优先级的私有缓冲区的溢出缓冲区。藉此,所述发送器可在不同类型的数据的相对数量剧烈变化的情况下,更高效地管理其上游数据流。所述优先级协议可允许所述发送器将低优先级的私有缓冲区用作高优先级的私有缓冲区的溢出缓冲区。例如,如果所述私有缓冲区320的缓冲区授信额数量达到了最小值(例如,O),则所述发送器可指示接收器在私有缓冲区330或340中存储类型2的报文。然后,所述发送器可调减所选择的低优先级的私有缓冲区(例如私有缓冲区330或340)的缓冲区授信额数量。但是,根据所述优先级协议,所述发送器不可指示所述接收器在私有缓冲区310中存储所述类型2的报文。因此,只要不违反所述优先级协议,所述发送器可决定所述接收器用哪一个私有缓冲区存储特定的报文类型。
[0036]另一个实施例可包括将所述私有缓冲区310 - 340中的每一个进一步分区为以下两个区域:310A、310B、320A、320B、330A、330B、340A、340B。缓冲区区域 310A - 340A 可以是可借用为高优先级的私有缓冲区的溢出缓冲区的私有缓冲区部分。所述区域310A - 340A仍然可称为“可借用私有缓冲区”。缓冲区区域310B 340B可以是不可借用为高优先级的私有缓冲区的溢出缓冲区的不可借用私有缓冲区部分。这些缓冲区空间310B - 340B可称为“保留私有缓冲区”。这些保留私有缓冲区310B - 340B可表示分配给报文类型的存储器,其中保留该存储器用于传输该报文类型。在此实施例中,在一个或多个高优先级的私有缓冲区(例如,私有缓冲区310 - 330)溢出时,低优先级的报文(例如,报文类型4)仍然能够进行上行传输。因此,所述发送器可在节省私有缓冲区的同时解决高优先级的缓冲区溢出的问题,以便相应类型的报文仍然能存储在其适当的私有缓冲区中,从而保持所述缓冲区系统高效。所述借用的私有缓冲区310B - 340B可以是所述缓冲区300中的断续或连续区域,尽管其是作为断续区域示出的。
[0037]在一个实施例中,在通过缓冲区映射(例如,缓冲区映射200)根据优先级协议借用低优先级的私有缓冲区空间,用作高优先级的私有缓冲区的溢出缓冲区之前,发送器可首先使用接收器中的共享缓冲区301。所述发送器可指示接收器将给定类型的报文数据保存到分配给所述数据类型的私有缓冲区的区域。如果所述发送器获取的给定类型的数据比所分配的空间中能够存储的数量多,则所述发送器可指示所述接收器在所述共享缓冲区301中存储该数据。一旦所述共享缓冲区301溢出,所述发送器可根据优先级协议将低优先级的私有缓冲区空间用作高优先级的私有缓冲区的溢出缓冲区。例如,如果私有缓冲区320的缓冲区授信额数量达到了最小值(例如,O),则所述发送器可指示接收器在共享缓冲区301中存储类型2的报文。然后,所述发送器可调减所述共享缓冲区301的缓冲区授信额数量。如果所述私有缓冲区320和共享缓冲区301的缓冲区授信额数量都达到了最小值(例如,O),则所述发送器可指示接收器在私有缓冲区330或340中存储类型2的报文。然后,所述发送器可调减所选择的低优先级的私有缓冲区(例如私有缓冲区330或340)的缓冲区授信额数量。但是,根据所述优先级协议,所述发送器不可指示所述接收器在私有缓冲区310中存储所述类型2的报文。可选地,所述发送器还可保留一小部分不能被任何其他报文类型借用的私有缓冲区。可保存此存储器,以便仍然能在适当的私有缓冲区中存储相应类型的报文,从而保持所述缓冲区系统高效。因此,所述发送器可在用尽相应的私有缓冲区空间及共享缓冲区空间后,才使用低优先级的私有缓冲区。
[0038]可选地,共享缓冲区301可进一步分区为多个区域,与私有缓冲区类似。在该实施例中,可根据优先级协议将各种优先级的报文分组为类别。例如,报文类型I和2可分为类别A,而报文类型1-3可分为类别B。可为类别指定共享缓冲区301的给定区域(例如,可为类别A保留共享缓冲区301的区域),以便按类别管理报文传输。
[0039]分配给所述共享缓冲区301的空间与分配给所述私有缓冲区310 - 340的空间之间的比例,可以预先配置或基于系统需要或需求修改。例如,如果所述发送器发现不同优先级之间的流量趋势越来越不平衡,则所述发送器可增加分配给所述共享缓冲区301的空间。类似地,分配给可借用私有缓冲区310B - 340B的空间与分配给私有缓冲区310A - 340A的空间之间的比例,可预先配置或基于系统需要或需求修改。
[0040]增强的缓冲区系统的另一个特征关注以优先级驱动的方式将报文传输到多个私有缓冲区中。图4示出了两个节点之间的数据通信。方案400可包括发送器410和接收器420。所述发送器410可以是第一节点的一部分,所述接收器420可以是第二节点的一部分。所述发送器410可包括与复用器414耦合的缓冲区412。所述复用器414可从所述缓冲区412中选择报文进行发送。所述接收器420可包括缓冲区422。
[0041]所述发送器410与所述接收器420之间可通过虚拟信道进行通信。任何两个节点(例如,一个节点包括发送器410,一个节点包括接收器420)间的物理信道可划分为虚拟信道或逻辑信道,每一个虚拟信道或逻辑信道都可用于发送特定的报文类型。两个节点间物理信道的示例包括专门用于两个节点间通信的导线连线或共享总线等有线连接,或无线连接(例如,通过射频通信)。可针对各种优先级的报文指定虚拟信道。给定传输信道可分配给某一类别,以便通过类别管理报文传输。例如,虚拟信道al、a2…an可分配给报文类别a,而虚拟信道bl、b2…bn可分配给报文类别b。在另一个实施例中,多个报文类别可分配给一个单独的信道类别。
[0042]可为报文分配优先级。高优先级的报文可在传输优先级中优先考虑,可以导致该高优先级的报文较早地被选中进行传输和/或通过增加信道带宽进行传输。信道带宽及缓冲区空间可根据报文的优先级及数据流量中特定类型的报文的频率进行重新划分。通过提高优先级指数,可提高报文的优先级。例如,优先级I的报文类别可使用信道类别Ia和lb,优先级2的报文类别可使用信道类别la、lb、2a、2b。优先级η的报文类别可使用信道类别la、lb、2a、2tr..na、nb,以此类推。
[0043]在一个实施例中,较高优先级的报文可使用为较低优先级的报文指定的传输信道和/或私有缓冲区。例如,假设传输优先级η的报文,其中η为整数(数字越大,表示优先级越高)。如果此优先级的私有缓冲区已满,且如果优先级η-1的私有缓冲区尚有可用空间,则发送器可指示接收器在优先级低一级(即,优先级η-1)的私有缓冲区中存储所述报文。所述发送器可用来通知所述接收器此指令的一种方式,可以是通过报文头域中的指定字段通知此指令。如果所述优先级η-1的私有缓冲区已满,则所述发送器可指示所述接收器在优先级低一级(即,优先级η-2)的私有缓冲区中存储所述报文,以此类推。这样,可在为优先级1、2...η-1、η报文所指定的任何私有缓冲区中存储优先级η的报文,但不得在为优先级m>n的报文指定的私有缓冲区中存储,其中m为大于η的整数。在这一方案中,所述发送器为每种私有缓冲区及共享缓冲区维护一个单独的缓冲区数量(或计数器),并根据所述缓冲区数量指示的优先级1、2...η-1、η的私有缓冲区中是否有可用空间,来选择优先级η的报文进行传输。
[0044]可选地,私有缓冲区的一些额度可予以保留,且不允许更高优先级的报文借用。这样可以确保较低优先级的报文有一些缓冲区空间额度,以免较低优先级的报文被较高优先级的报文阻塞。例如,假设传输优先级η的报文。如果优先级η的私有缓冲区已满,且如果优先级η-1的私有缓冲区尚有可用空间,接收器可在优先级低一级(即,优先级η-1)的私有缓冲区中存储所述报文。所述接收器可为优先级η-1的报文保留一些优先级η-1的私有缓冲区空间,且不允许在其中存储优先级η的报文,这种情况下,所述接收器可检查优先级低一级(即,优先级η-2)的私有缓冲区,以此类推。
[0045]在高优先级的报文之间共享资源,有利于互连网络系统中临时数据存储的缓存一致性事务。上述缓存一致性事务可用于确认数据是多个缓冲区中的最新数据。由于在该事务的不同步骤中(例如,从发起到完成)都用到了报文,报文的优先级可相应地提高。这样,高优先级的报文可利用为低优先级的报文指定的私有缓冲区,以便提高系统效率。
[0046]图5是缓冲区空间分配方法的一种实施例的流程图500。所述流程图500的步骤可在接收节点中实现,如图1所示的节点。所述流程图的起点为方框510,其中接收节点可通知第二节点缓冲区中存储空间的总分配额,其中所述总分配额分区为多个分配额,并通知所述多个分配额中的每一个专属于不同优先级的报文类型,且利用每种报文类型的授信状态来管理所述多个分配额。所述通知,可指所述接收器让发送器获知每种报文类型可用的授信额(表示每种报文类型的分配额)。所述报文类型可以为优先级或本发明讨论过的任何其他报文分类。下一步,方框520中,可从所述第二节点接收第一报文类型的报文,其中所述第二节点指定用于存储该报文的缓冲区,所指定的缓冲区可以为之前通知的低优先级的报文类型。所述第二节点进行指定的方式有多种,例如通过所述报文的头域中的指定字段。所述第二节点可指定之前通知的等于或低于所述报文的优先级的任何优先级的任何缓冲区。下一步,方框530中,可在指定的缓冲区中存储所述报文,即使所指定的缓冲区之前被通知为较低优先级的报文类型。即,所述报文可能会造成缓冲区超出之前通知的所述第一报文类型的空间,但所述第二节点可将之前通知的较低优先级的报文类型的空间用作溢出缓冲区。最后,方框540中,向所述第二节点报告所述第一报文类型的授信状态。所述授信状态可反映之前通知的指定缓冲区的报文类型的授信状态减少,从而说明所述报文占用的空间。因此,所述第一节点可利用之前未通知为所述报文的优先级的缓冲区的额外空间,来接收可能造成之前通知的为其分配的空间溢出的优先级的报文。
[0047]此外,一个实施例可选地包括将所述缓冲区分区为包括多个可借用私有缓冲区和保留私有缓冲区的多个区域,其中每个区域可指定特定的报文优先级。可借用的私有缓冲区可由与所述节点相耦合的第二节点用来发送本来可能造成之前通知的分配给该优先级的空间溢出的优先级的报文。保留私有缓冲区可用于存储特定的报文优先级,且不可由所述第二节点用于发送不同优先级的报文。所述保留私有缓冲区表示,即使较高优先级的缓冲区溢出,所述保留私有缓冲区仍然可用作指定优先级的报文的空间。
[0048]通过在方框510中将所述缓冲区分区为包括多个私有缓冲区和共享缓冲区的多个区域,可以对所述流程图进行稍微修改,其中所述共享缓冲区中可存储任何优先级的报文。在此场景中,方框520中,在指定之前通知的较低优先级的报文类型的缓冲区之前,所述第二节点可能需要指定所述共享缓冲区作为所述报文的存储位置。此外,一个实施例可选地包括将所述共享缓冲区进一步分区为多个区域,其中多个报文优先级可分组为类别(例如,最高报文优先级和中间报文优先级可分组为已定义的类别)。在此实施例中,可通知所述共享缓冲区的区域专属于某一类别,其中不属于该类别的任何报文优先级将被禁止在所述共享缓冲区的该区域中进行存储。这一类型的行为在图4中已进行了进一步描述。
[0049]本发明中描述的特征/方法中的至少一部分可在网络装置或电子元件上实现,其中所述网络装置或电子元件具有充足的处理功率、存储器/缓冲区资源及网络吞吐率以便处理加载于其上的必要工作量。例如,本发明的特征/方法可通过硬件、固件和/或在硬件上安装并运行的软件实现。图6示出了适合实现本发明公开的元件的一种或多种实施例的节点600的示意图。所述节点600可包括如图6所示配置的发送器610、接收器620、缓冲区630、处理器640及存储器650。尽管仅示出了一个单独的处理器,所述处理器640可实现为一个或多个中央处理器(CPU)芯片、核(例如,多核处理器)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或数字信号处理器(DSP)。所述发送器610与所述接收器620可分别用于发送和接收报文,而所述缓冲区630可用于临时存储报文。所述缓冲区630可包括多个私有缓冲区,如图3和图5所示的缓冲区。所述缓冲区630可选地包括共享缓冲区和/或可借用私有缓冲区,如图3所示。所述节点600可通过物理信道660转发报文,所述物理信道660可划分为上文描述过的多个虚拟信道。
[0050]所述存储器650可包括任何二级存储、只读存储器(ROM)及随机存储器(RAM)。所述RAM可以是任何类型的RAM (例如,静态RAM),且可包括一个或多个缓存存储器。二级存储典型地由一个或多个磁盘驱动器或磁带机组成,用于数据的非易失性存储,以及用作RAM的大小不足以保存所有工作数据时溢出数据的存储设备。二级存储可用于存储程序被选中执行时被加载到RAM中的程序。所述ROM可用于存储指令,也可能用于存储程序执行期间读取的数据。ROM是非易失性存储器设备,相对于二级存储较大的存储器容量,所具有的典型存储器容量较小。RAM用于存储易失性数据,也可能存储指令。存取ROM和RAM典型地比存取二级存储要快。
[0051]所述节点600可实现本发明描述的方法和算法,包括流程图500。例如,所述处理器640可控制所述缓冲区630的分区,并可追踪缓冲区授信额。所述处理器640可指示所述发送器610发送报文,并可读取所述接收器620收到的报文。尽管显示为所述节点600的一部分,所述处理器640也可以不是所述节点600的一部分。例如,所述处理器640可以可通信的方式与所述节点600耦合。
[0052]应理解,通过编程和/或将可执行指令加载到图6所示的所述节点600中,可修改所述处理器640和所述存储器650中的至少一个,从而将所述系统600在部分程度上转变为具有本发明所述功能的特定机器或装置。对电子工程和软件工程技术来说,对于将可执行软件加载到计算机中所实现的功能,通过众所周知的设计规则转换为硬件实现,这是基础性知识。以软件或硬件实现一个理念,这一决定典型地取决于对设计稳定性及待生产单元的数量,而不取决于从软件域到硬件域的转换中所涉及的任何事项。一般而言,设计仍需频繁修改的,优先以软件方式实现,因为重新调整硬件实现要比重新调整软件设计昂贵。一般而言,稳定且可大批量生产的设计,优先以硬件方式实现,例如ASIC,因为批量生产硬件实现比软件实现便宜。通常,以软件形式对设计进行开发和测试,然后再通过众所周知的设计规则,转换为将所述软件的指令硬件化的专用集成电路中的对等的硬件实现。由新型ASIC控制的机器即为特定的机器或装置,同理,经编程和/或加载了可执行指令的计算机可视为特定机器或装置。
[0053]公开了至少一种实施例,且本领域普通技术人员对所述一个或多个实施例做出的变体、结合和/或修改和/或所述一个或多个实施例的特征,属于本发明的范围。通过结合、整合和/或省略一个或多个实施例的特征得到的替代性实施例也属于本发明的范围。明确说明数字范围或限制的,所述明示的范围或限制应理解为包括所述明确说明的范围或限制之内的类似维度的迭代性范围或限制(例如,从约I至约10包括2、3、4等;大于0.10包括0.11,0.12,0.13等)。例如,在公开了具有下限Rl与上限Ru的数字范围时,均明确公开了所述范围之内的任何数字。具体地,明确公开了所述范围中的以下数字:R =Rl+k* (Ru-Rl),其中k是从1%到100%范围内以I %递增的变量,如k为1%、2%、3%、
4%,5%......50%,51%,52%......95%、96%、97%、98%、99%或 100%。此外,通过以上定义的两个R数字定义的任何数值范围也被明确公开。术语“约”的使用表示之后的数字的±10%,另有说明的除外。对于权利要求的任何元素使用的术语“可选地”,表示该元素是必须的,或可替换地,该元素不是必须的,两种情况都属于所述权利要求的范围。使用更宽泛的术语,如包括、包含、具有,应理解为支持更具体的术语中,如由……组成、主要由……组成、大体上由……组成。相应地,保护范围不限于上述说明,而应受随后的权利要求书定义,所述范围包括权利要求标的的任何对等权利要求。每个权利要求都作为进一步披露併入说明书中,且权利要求是本发明的实施例。本发明中讨论的引用,并不表示承认其是现有技术,尤其是
【公开日】期在本申请的 优先权日:期之后的任何引用。本发明中公开的所有专利、专利申请及公告均,在其提供示例性、程序性或其他补充性详情的范围内,特此通过引用併入本发明。
[0054]尽管本发明提供了若干实施例,应理解所公开的系统和方法可能在不脱离本发明精神与范围的前提下存在许多其他具体形式。所述示例应理解为示例性的而非限制性的,且不用于限制本发明给出的详情。例如,各种元素或元件可能与其他系统进行结合或整合,或特定特征可以省略或不实现。
[0055]此外,各个实施例中以离散或单独方式描述及示例的技术、系统、子系统及方法,可以与其他系统、模块、技术、或方法在不脱离本发明范围的前提下进行结合或整合。作为耦合、直接耦合或彼此通信的方式显示或讨论的其他项目,可以是通过一些电子、机械或其他接口、设备或中间元件进行的间接耦合或通信。本领域的技术人员可以确定并在不脱离本发明精神与范围的前提下做出变化、替换或变更的其他示例。
【权利要求】
1.一种方法,其特征在于,包括: 从第二节点接收授信状态,其中所述授信状态包括与所述第二节点的缓冲区中存储空间的分配额相对应的多个授信额,所述多个分配额中的每一个专属于不同的报文类型,各种报文类型的授信额用于管理所述多个分配额; 指示所述第二节点用专属于第二优先级的报文类型的授信额存储第一优先级的报文类型,其中所述第一优先级比所述第二优先级高,所述授信状态表明所述第一优先级的报文类型的授信额已达到最小值;及 向所述第二节点发送所述第一优先级的报文。
2.根据权利要求1所述的方法,其特征在于,禁止在专属于所述第一优先级的报文类型的分配额中存储所述第二优先级的报文。
3.根据权利要求1所述的方法,其特征在于,所述报文的头域用于指示所述第二节点要使用的报文类型授信额。
4.根据权利要求2所述的方法,其特征在于,还包括确定第一优先级的报文授信额不足且用于第一优先级的报文类型的第二优先级的报文授信额充足,其中所述指示所述第二节点使用所述第二优先级的报文授信额是对此确定的结果的响应。
5.根据权利要求2所述的方法,其特征在于,每种报文类型的授信额的一部分保留用于该报文类型,且不得用于存储任何其他报文类型。
6.根据权利要求2所述的方法,其特征在于,允许在专属于第三优先级的报文类型的分配额中存储所述第一优先级的报文和所述第二优先级的报文,并禁止在专属于所述第一优先级的报文类型和所述第二优先级的报文类型的分配额中存储所述第三优先级的报文。
7.根据权利要求2所述的方法,其特征在于,所述第一优先级的报文和所述第二优先级的报文是缓存一致性事务的一部分,且所述缓存一致性事务中所述第一优先级的报文在所述第二优先级的报文之后接收时,所述第一优先级的报文的优先级比所述第二优先级的报文高。
8.根据权利要求2所述的方法,其特征在于,所述缓冲区与所述第二节点与第一节点之间的物理信道耦合,所述物理信道划分为多个虚拟信道,每个虚拟信道分配给至少一种报文类型。
9.一种方法,其特征在于,包括: 从第二节点接收授信状态,其中所述授信状态包括与所述第二节点的缓冲区中存储空间的分配额相对应的多个授信额,所述多个分配额的一部分为专属于多种报文类型的共享分配额,所述多个分配额的一部分为多个私有分配额,所述多个私有分配额中的每一个专属于不同的报文类型,所述授信额用于管理所述多个分配额; 指示所述第二节点用共享授信额存储第一优先级类型的第一优先级的报文,其中所述授信状态表明所述第一优先级的报文类型的授信额已达到最小值;及 向所述第二节点发送所述第一优先级的报文。
10.根据权利要求9所述的方法,其特征在于,除所述共享授信额已达到最小值以外,禁止在专属于第二优先级类型的第二优先级的报文的分配额中存储所述第一优先级的报文,其中所述第一优先级比所述第二优先级高。
11.根据权利要求9所述的方法,其特征在于,禁止在专属于所述第一优先级类型的分配额中存储所述第二优先级的报文。
12.根据权利要求10所述的方法,其特征在于,还包括确定第一优先级的报文授信额不足、共享授信额不足且用于第一优先级的报文类型的第二优先级的报文授信额充足,其中所述指示所述第二节点使用所述第二优先级的报文授信额是对此确定的结果的响应。
13.根据权利要求9所述的方法,其特征在于,所述共享分配额包括多种类别分配额,每种类别分配额专属于不同的报文类别,所述第一优先级类型与所述第二优先级类型属于第一报文类别,所述第一优先级类型、所述第二优先级类型及第三优先级类型属于第二报文类别,所述第二优先级比所述第三优先级高。
14.根据权利要求13所述的方法,其特征在于,允许在专属于所述第一报文类别的分配额中存储第一类别的报文。
15.根据权利要求13所述的方法,其特征在于,除所述第一报文类别及所述第二报文类别已达到最小值以外,禁止在专属于所述第三优先级类型的分配额中存储第二优先级的报文。
16.根据权利要求9所述的方法,其特征在于,所述报文的头域用于指示所述第二节点要使用的报文类型授信额。
17.根据权利要求10所述的方法,其特征在于,所述第一优先级的报文和所述第二优先级的报文是缓存一致性事务的一部分,且所述缓存一致性事务中所述第一优先级的报文在所述第二优先级的报文之后接收时,所述第一优先级的报文的优先级比所述第二优先级的报文高。
18.一种装置,其特征在于,包括: 缓冲区; 接收器,用于从第二节点接收授信状态,其中所述授信状态包括与所述第二节点的第二缓冲区中存储空间的分配额相对应的多个授信额,所述多个分配额的一部分为专属于多种报文类型的共享分配额,所述多个分配额的一部分为多个私有分配额,所述多个私有分配额中的每一个专属于不同的报文类型,所述授信额用于管理所述多个分配额;及 发送器,通过所述缓冲区与所述第二缓冲区相耦合,用于发送指令,所述指令指示所述第二节点用专属于第二优先级的报文类型的授信额存储第一优先级的报文类型,其中所述第一优先级比所述第二优先级高,所述授信状态表明所述第一优先级的报文类型的授信额已达到最小值。
19.根据权利要求18所述的装置,其特征在于,还包括处理器,与所述缓冲区耦合,用于确定第一优先级的报文授信额不足且用于第一优先级的报文类型的第二优先级的报文授信额充足,其中所述指令指示所述第二节点使用所述第二优先级的报文授信额是对此确定的结果的响应。
20.根据权利要求19所述的装置,其特征在于,所述报文的头域用于通知所述第二节点要使用的报文类型授信额,且禁止在专属于所述第一优先级的报文类型的分配额中存储所述第二优先级的报文。
【文档编号】H04L12/801GK104509047SQ201380039992
【公开日】2015年4月8日 申请日期:2013年7月31日 优先权日:2012年7月31日
【发明者】林奕林, 贺成洪, 史洪波, 张纳新 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1