用于在一个网络服务级别中向多播数据包授以优先权的系统与方法

文档序号:7587093阅读:187来源:国知局
专利名称:用于在一个网络服务级别中向多播数据包授以优先权的系统与方法
技术领域
一般地,本发明涉及网络通信系统,具体地,涉及用于为实施基于优先权的服务质量的多播传输(multicast transmission)提供在多用户基础上的数据包接受和拒绝判断的方法和装置。
背景技术
通信技术,尤其是对因特网产生影响的通信技术,目前正处于变化的状态,并面临着迅速的又常常是不协调的发展。个人计算机与机顶盒的广泛普及与种类纷繁已给通信系统基础设施供应商带来了沉重的压力,使他们对用户数量的增长发出了警报,且用户均要求对因特网及其他网络资源进行快速访问。新的可向用户提供这种服务的尖端软件的迅速开发对系统的基础设施提出了额外的要求。
在因特网及其他网络进行商业活动是一种实践,正在得到认可并受到欢迎。举个例子,传统的在线服务如因特网提供商提供的服务,对于顾客对基本的服务与资源,如专有的及公有的信息数据库的访问,通常是按月收费的。这种传统服务的提供商还为可供用户在线购买的产品与服务大作广告。
目前正在酝酿与实施的因特网商业化的其他形式包括提供视频、音频会议服务,和各种各样的其他实时与非实时的服务。这些服务的提供商以及通信系统基础设施的提供商目前正面临着众多的复杂问题,其中包括对网络的容量、负载,以及流量进行管理,以便对实时的、非实时的、以及高带宽的服务提供支持,以及实施对这些服务的使用进行计费的可行的记帐方案。
通信行业对一项特定的技术给予了相当大的关注与投资,这就是异步传输模式(ATM),是对基础设施中现有的以及预料中的局限的一种可行的解决方案。该领域的专业人员可以理解ATM而形成一个通信网络概念。它在理论上可以通过如提供对网络负载的增长进行管理的能力,对实时的与非实时的应用提供支持,以及在某些情况下提供质量受到保证的服务,从而解决前面所述的许多关心的问题。
传统的ATM服务体系通常要提供多个预定义的服务质量级别,这通常称为服务类型。在这些服务类型中,每个类型包括多个服务质量(QoS)参数,用于定义各个服务类型的特征。换句话说,一个特定的服务类型以由一个ATM功能参数的子集规定的方式为一个ATM虚拟连接(VCC或VPC)规定性能。例如,按照下面的ATM论坛规范参考定义的服务类型包括一个恒定比特率(CBR)类型,一个实时的可变比特率(rt-VBR)类型,一个非实时可变比特率(nrt-VBR)类型,一个非指定比特率(UBR)类型,和一个可用比特率(ABR)类型。
恒定比特率服务级用于对实时应用提供支持,而这种应用要求在连接存续期间带宽质量是固定的。约定一个特定的服务质量用来提供CBR服务,其中QoS参数包括如下特性峰值信元传输率(PCR),信元丢失率(CLR),信元传输延时(CTD),和信元延时误差(CDV)。传统的ATM流量管理方案可以保证用户约定的QoS得到维持,以便对实时应用如电路仿真及语音/视频应用提供支持,而这种应用要求对延时误差给以严格的约束。
非实时VBR服务级用于对非实时的应用提供支持,这种应用所形成的网络流量以频繁出现的数据突发串为其显著特征。与此相似,实时可变比特率服务类型可用于对“突发式”的网络流量状况提供支持。rt-VBR服务类型与nrt-VBR服务类型不同,因为前者用于对实时的应用如语音及视频方面的应用提供支持。实时的与非实时的VBR服务类型均用术语峰值信元传输率(PCR),可承受的(sustainable)信元传输率(SCR),和最大突发串的长度(MBS)来表征。
非指定比特率(UBR)服务类型常被认为是“最卖力的服务”,因为它并不规定与信息传输相关的服务保证。正因为如此,UBR服务类型用于支持非实时的应用,其中包括传统的计算机通信方面的应用,如文件传输及电子邮件。
可用比特率(ABR)服务类型利用反馈机制对信息流的速率进行控制,借此向用户提供可用带宽的分配。反馈机制允许对信元传输率进行改变,以努力控制或避免流量拥塞,并更为有效地利用可用的频带。在传输数据信元之前,一个资源管理(RM)信元从传输的源端传至目的端再返回源端,以便将流量信息送至源端。
上面对当前的ATM服务结构进行了描述,虽然这种结构至少在概念的层面上看起来可以为通信行业面临的许多问题提供可行的解决方法,但是,目前定义的ATM还要求实施复杂的传输管理方案才能达到当前所考虑的各种ATM规范和建议中相关的目的。为了对网络中的信息流进行有效的管理,传统的ATM传输管理方案必须对大量的流量状态指示器进行评估,其中包括服务级别参数,流量参数,服务质量参数,和诸如此类的其他参数等。在标题为“B-ISDN中的流量控制与拥塞控制”的ITU-T技术建议1.371一文中,以及ATM论坛的技术委员会出版的4.0版的“流量管理规范”(1996年4月af-tm-0056.000)一文中,均给出了该类参数和其他的ATM流量管理事项的一张不完全的列表。
尽管传统的ATM流量管理方案非常复杂,目前的ATM规范与技术建议还是不能充分满足服务供应商对于能够向网络用户使用的服务准确可靠地收取费用的方法的需求。即使假设,根据当前定义的大部分或全部ATM流量管理属性进行计帐的收费方案可以得到发展,那么,这样的方案也必然是复杂的,而且通常需要由高度熟练的操作人员来管理。支持这种记帐方案的高额的经营与维护成本很可能会转嫁到网络供应商的头上,并且最终会转嫁到网络用户的头上。
本发明可用于含有基于优先权的服务质量的网络服务级别之中。该服务级别,下面称为简单综合媒体接入(Simple Integrated Media Access,SIMA)服务级,可提供一种在概念上及实施上都简单的网络管理结构,还能充分满足为支持包括实时的与非实时的服务在内的各种各样的网络服务而提出的服务质量要求。它还能够提供与实施对网络服务的使用记帐的简单而有效的计费能力的实施方案。
然而,使用这种基于优先权的服务质量方案,所有的数据包均须单独处理,以至对于输往核心网络节点的每个新来的数据包,都要分别对其优先权或者丢弃优选(drop preference)进行分析。正如下面更为全面描述的那样,在多播的情况下,这是不受欢迎的。
多播是数据包从一个源端向多个接收端或用户的传输。例如,在视频广播应用领域,服务器要把同一个画面送至每一个客户。问题是,基于优先权的QoS(服务质量),比如说以SIMA实现的QoS,会导致在多播传输的每一个不同的支路中服务质量有很大的不同。尽管在许多情况下这一点是可以接受的,但是在一些情况下最好是对多播传输的所有接收端,保证相同的服务质量。例如,一个提供视频多播的服务器,无论接收用户在什么地方,都想保证让其全部用户能够接收到具有近乎恒定质量的视频图像。
因此,需要有一个系统及方法,能够在多用户基础上,为实施基于优先权的服务质量的多播传输提供数据包接受与拒绝判断。本发明能够为多播传输的所有接收端提供相同质量的服务,并因此而克服了这个及其他(这部分申请时未提供。)发明概要本发明针对一个系统与方法,用于使结合基于优先权的服务质量的多播传输的每个接收端都达到不相上下的服务质量。
根据本发明的一个实施方案,提供一种方法,用于忽略(overriding)在一个网络节点的每个独立的连接上所建立的数据包接受准则,以便为一个以这些独立的连接为目标的多播传输的每个数据包提供一个共同的数据包接受准则。该数据包接受准则是从该网络节点的每个独立的连接收集来的,而这些连接正是多播传输的目标。根据对每个独立的连接的数据包接受准则进行的总体分析,为与多播传输相关的每个数据包计算出一个多播数据包优先权。根据计算出的多播数据包优先权,与多播传输相关的每个数据包被集体接受或放弃。
根据该发明的另一个实施方案,所提供的一个方法用于忽略在一个网络节点的每个独立的连接上所建立的数据包接受准则,以便为一个以该独立连接为目标的多播传输的每个数据包提供一个共同的接受准则。该数据包接受准则是从该网络节点的每个独立的连接收集来的,而这些连接正是多播传输的目标。根据对每个独立的连接的数据包接受准则进行的总体分析,为与多播传输有关的每个数据包计算出一个多播数据包优先权。根据计算出的多播数据包优先权,对该网络节点处每个连接的数据包接受准则进行修改。根据经过修改的数据包接受准则,与多播传输有关的每个数据包被单独地接受或放弃。
根据该发明的另一个方面,提供一个系统用于在一个网络中向多个目的端分发多播数据包,该网络在源端与多个目的端之间至少有一个节点,其中,在该源端与多个目的端中的每一个目的端之间或者建立虚拟的或者建立真实的连接,以提供多播数据包的多播传输。该系统包括多个数据包调度模块,节点的每个连接拥有一个。每个数据包调度模块根据它所对应的连接所允许的数据包优先权来接受与放弃数据包。该系统还包括一个多播优先权管理模块,与多个数据包调度模块中的每一个相连接,以接收相应的允许数据包优先权。利用这些允许数据包优先权,根据从每个数据包调度模块的允许数据包优先权导出的总体节点优先权来对去往目的端的数据包进行集体接受或放弃。
根据该发明的又一个实施方案,提供一个系统用于对在基于优先权的网络服务级别中所提供的服务质量进行均衡。该系统包括一个多播传输源端和多个多播数据包接收端。在该网络内至少有一个节点,与多播传输源端及多个多播数据包接收端相连接。该节点包括一个路由器,通过多播传输源端与多个多播数据包接收端之间的多个连接,该路由器将多播数据包发送到它们所对应的多播数据包接收端。提供了多个多播数据包调度模块,该节点的每个连接有一个调度模块。每个数据包调度模块根据它所对应的连接的一个允许数据包优先权来接受与放弃数据包。该系统还包括一个多播优先权管理模块,与多个数据包调度模块中的每一个相连接,以接收相对应的允许数据包优先权,并根据从每个数据包调度模块的允许数据包优先权中导出的总体节点优先权来集体地接受与放弃去往多个多播数据包接收端的多播数据包。
附图简述

图1.一个流程图,图解的是根据本发明使用标称比特率服务的一个用户/网络接口与一个网络之间的信息单元通信的一个总体过程;图2.根据本发明的一个标称比特率服务体系的一个系统方块图;图3.更为详细地图解了在使用本发明的标称比特率服务的一个用户/网络接口与一个网络之间传送信息单元的一个过程;图4.以流程图的形式图解了在一个标称比特率服务中在一个网络节点上对信息单元进行过滤的一个总体过程;图5.一个系统的一个实施方案的方块图,该系统用于根据一个标称比特率服务在一个网络节点上对信元进行过滤;图6.一个系统的替代实施方案的方块图,该系统用于根据一个标称比特率服务在一个网络节点上对信元进行过滤;图7.一个方块图,图解的是包括访问节点与核心节点的一个SIMA网络;图8.一个核心节点的方块图,图示的是根据本发明包含一个多播优先权管理模块的一个SIMA网络中的一个核心节点;图9.一个方块图,图示的是根据本发明的一个信元调度与缓冲单元(SBU)的一个实施方案;图10.一个SIMA网络中的一个核心节点的方块图,该网络带有依据本发明的一个分布式的多播优先权管理功能;图11.根据本发明实现多播优先权管理功能的一种方式的流程图;图12与13.均为对实施方案进行图解的流程图,在这两个实施方案中,由多播优先权管理模块接收的一个多播数据包由独立的调度与缓冲单元来进行处理;图14.一个流程图,对本发明的各种实施方案进行图解,其中使用收集的SBU丢弃优选信息来确定丢弃优选;图15.根据本发明的一个示范性方法的流程图。
各种实施方案的详细描述下面参见附图对各种不同的实施方案进行描述,这些附图作为描述的一个组成部分以图解的方式展示了各种不同的实施方案,而正是通过这些实施方案,使该发明得以实施。可以理解,只要不背离该发明的范围,是可以使用其他的实施方案的,而且也可以在结构上及功能上作出一些修改。
本发明针对的是一种系统与方法,用于在一个实施基于优先权的服务质量的网络服务级别中接受与放弃多播传输的数据包。每个核心的网络结点在向其各个交换连接发送多播数据包之前,要作出多播数据包接收的决定。这种集体接收数据包的功能使多播传输的所有接收端均获得相同的服务质量,甚至在多播传输的各个连接是按另一种方式配置为在不同的连接和最终用户之间提供不同服务质量的情况下也是如此。
根据本发明的原理实现的一个网络可以提供基于优先权的服务质量,比如说结合了一个标称比特率(NBR)的SIMA服务级别。尽管依据本发明的多播方法与系统可用于不同的传统网络交换系统,但是对于本发明原理的一个正确理解最好是从在下面的附图的环境中获得,在这些附图中对依据本发明的一个SIMA网络服务级别进行了展示与描述。
一个SIMA网络的实现及获益可以用在这里描述的一个方式,并将共同未决的标题为“标称比特率网络服务”的美国专利申请的内容并入在此以供参考,序列号08/821,273,1997年3月20日提交,被转让给立即受让人。然而,为了获得对含有一个SIMA服务级别的一个网络的理解,下面对SIMA标称比特率(NBR)的概念进行概括的描述。
现在参见图1,这里显示出了在一个用户/网络接口与一个网络之间通过一个NBR服务连接传输信息的一般方法。起初,40,一个用户与网络运营商约定或选择一个标称比特率,这一步可以在建立连接之前或之时进行。在一个实施方案中,用户通知网络运营商,需要一个期望的NBR,于是所要求的连接带宽被分配给该用户。依照该实施方案,网络运营商在建立或释放一个NBR连接之前,没有必要执行对存在于该核心网络节点处的当前网络负载状态进行分析的任务。在一个替换实施方案中,网络运营商在建立或释放一个NBR连接之前要执行确定网络负载状况的任务,尽管这一任务在支持一个NBR服务的经过正确规划的网络中可以是不必要的。
根据一项特定的应用,在42,该用户选择一个实时的或非实时的网络连接。确定每个信元的优先权水平(PL)的过程包括步骤44,测量UNI处的所选实时或非实时连接的实际或测量比特率(MBR),其中优先权水平表明该信元与其他信元比较而言的重要性或关键性。每个信元的优先权水平在UNI处由步骤46确定。在该发明的一个实施方案中,使用一个MBR与NBR的比率在步骤46确定PL。
在计算出UNI处每个信元的优先权水平之后,这些信元在步骤48被传输到网络,比如说该网络的一个节点。一个网络节点,待来自UNI的一个信元一到达,就执行一个信元过滤程序,借此,该节点确定是接收还是放弃一个特定的信元。该信元过滤过程包括步骤50,确定该网络节点的一个或多个缓冲器或存储器的状态,以确定一个缓冲器或存储器占用水平。该节点在步骤52根据该信元的优先权水平及节点缓冲器的状态来决定接受或者放弃一个信元。符合在该节点确定的过滤准则的那些信元被接收,缓冲,最后在步骤54以符合期望连接服务质量的方式被传送到该网络的另一个节点或者另一个网络。
关于在图2中以方块图的形式图解的实施方案,这里显示出了一个用户20,他利用了一个UNI24来与网络30通信。用户20向网络运营商22约定了一个标称比特率。网络运营商22根据多项因素对用户的NBR请求作出评价,这些因素包括同其他的用户20约定的NBR,与该网络的其他用户相关的不同连接的数量与性质,以及影响网络容量与流量的其他因素。原则上,NBR可以为零,在这种情况下,经过UNI24传输的所有信元均被赋予网络30内的最低优先权。NBR的值也可以大于在UNI24的传输能力。如果NBR的值明显大于传输能力,则从UNI24传来的所有的信元均被赋予网络30内最高的优先权。要注意,正如这里所定义的那样,一个信元的优先权水平是指在一个或多个接受了NBR服务概念的网络之内。穿出了一个提供NBR服务的网络的那些信元,比如利用一个网络/网络接口(NNI)来实现,可以根据此类其他网络所采用的流量管理策略来处理。
与设计为提供有保证的服务质量的那些传统的网络服务相比,该网络运营商22并不保证用户约定的NBR的持续有效性。然而,一个经过严格计算的网络能够提供充分的带宽以便实际地保证,尽管并不担保,一个已经建立的NBR的有效性。可以注意到,用相同的NBR传输数据的所有用户都会获得几乎相同的服务质量。
与网络运营商22共同建立了NBR后,用户20即获准通过网络30向所要的目的端36输送信息。测量单元26对在UNI24与网络30之间传输的每个信元的实际的或瞬时的比特率(即MBR)进行测量。在一个信元离开UNI24之前,优先权水平计算单元28利用约定的NBR与MBR为该信元确定一个优先级水平。根据一个实施方案,可将八个优先权水平中的一个赋予一个给定的信元。优先权水平计算单元28通过计算MBR对NBR的比值来确定一个特定信元的优先权水平。由计算单元28确定的该优先权水平被赋予此后将从UNI24传往网络30的该信元。
UNI24把含有优先权水平信息的该信元传往网络30的一个节点,比如说节点A32。节点A32根据该信元的优先权水平与节点A32的缓冲容量来决定是接受还是放弃从UNI24接收来的该信元。通常,当节点A32的缓冲器或存储器的占用程度增加(即变得更满)的时候,具有较低优先权(即较高优先权水平值)的信元被放弃,这就有利于接受具有较高优先权(即较低优先权水平值)的信元。当节点A32的缓冲器的占用程度减少(即变得更不满)的时候,节点A32对于接受优先权较低(即优先权水平值较高)的信元就变得愈发宽容。在节点A32被缓冲的信元被继续传往网络30的另一个节点,比如说节点B34,或者其他的网络,并且最后被送往一个终点目的端36。
为了本说明的目的而用的示范网络30被描述为具有两个中间节点32和34的网络。这些节点代表网络数据通信用的元素,如路由路,交换机,多路复用器等。然而,正如可以被该领域的专业人士理解的那样,本发明同样也可以用各种多节点网络结构来实现,如从局域网(LAN)到激增的环球网(GAN)如因特网这一范围内的网络所使用的多点型、星型、令牌环型、环型,以及网状网络拓朴结构。
图3至图5图解了根据一个NBR服务方法的一个实施方案对信元进行调度与缓冲的一个过程。现在参见图3,在步骤60一个用户与网络运营商建立了一个NBR。虽然并不要求这样做,但是,最好是在一开始时在步骤62把服务级别设置成一个非实时的(nrt)服务级,作为一个默认设置。根据一个特定的应用,在步骤64用户可以要求一个实时的(rt)服务级别,这可以由用户直接设置,或者通常是由用户的应用软件或通信软件来设置。如果用户要求一个实时连接,每个从用户UNI传来的信元就会在其信元头部中有一个服务级别位,在步骤70将该位进行设置,使之表示该信元的有效载荷中含有实时信息。要注意,在按照本发明的NBR概念实现的一个网络环境中,希望实时服务级别的连接在不需要指定特定的信元传输延时(CTD)及信元延时误差(CDV)参数的情况下,要对任何实时的应用提供实际的支持。这样,将该信元头部中的CTD与CDV位设成适当的值以满足该连结的实时服务要求这一传统过程就完全免除了。
如果用户不要求实时服务连接,则默认的非实时服务级别这一条件保持有效。这样,每个信元的标题中的rt/nrt服务级别位在步骤66中被设置,以表示该信元的有效负载中含有非实时信息。注意,这里揭示的NBR服务不使用由传统的ATM流量管理方法使用的信元丢失优先权(CLP)方案。这样,信元头部中的CLP位即可被取代,改为用于辨别实时与非实时有效载荷。
在上述的实施方案中,在一个连接上传输的每一个信元,通过对该信元头部rt/nrt服务级别位适当设置的方式,或被指定为一个实时信元,或被指定为一个非实时信元。在一个替代实施方案中,根据用户的要求,一个连接可以被指定为一个实时连接,或者被指定为一个非实时连接,而在这样的连接上传输的信元没有必要被分别指定一个实时的或者非实时的状态。例如,对于一个给定连接的每一个节点,可以执行一个对到达该节点的信元的表查找程序,以确定该信元是否与一个实时的或非实时的连接有关。这样,根据该实施方案,就没有必要为了区别实时信元与非实时信元而保留一个信元的头部数据位。
在按照上述方式对rt/nrt服务级别的头部数据位设置之后,在步骤74对一个将在UNI与该网络之间传输的特定信元的实际比特率进行测量。由于,实际上,实际比特率对于时间而言有明显的易变性,UNI的测量单元采用了平均测量的原则以确定实际的或瞬间的比特率,MBRi。
通常,在步骤74,UNI对一个信元,如信元i,的实际比特率进行测量,测量方式是在测量周期内取该连接的实际比特率或瞬时比特率的近似值,而该周期的长度是与该连接(例如,一个实时的或非实时的连接)相适应的。本发明提供的是对瞬时比特率MBRi的测量。
在步骤74确定了第i个信元的测量比特率MBRi之后,用测量比特率MBRi与标称比特率NBR对第i个信元的优先权水平进行计算。根据一个实施方案,假定利用具有8个优先权水平的一个信元优先化方案可以将一个信元同其他信元区分开来。为了表明在8个优先权水平中哪一个分配给了一个特定信元,每个信元拨出三个数据位以达此目的。
根据现行的ATM规范,要指定一个ATM信元作为一个传输单元,该传输单元的帧大小是固定的,由长度为5个8位字节的头部和长度为48个8位字节的有效载荷组成。可以理解,必须在信元标题中拨出三个数据位用于表示信元的优先权水平嗌可能需要使用当前定义的头部位。举例来说,使用现行的总共由指定四个数据位构成的“通用信息流控制”(GFC)字段就是可能的。在这种情况下,可以分配三个数据位来指示信元优先权水平,一个数据位指定为rt/nrt服务级别位。根据另一个实施方案,摆脱5个8位字节头部的ATM规范,分配其他的头部位来表示八个优先权水平中的一个和rt/nrt服务级别,这也是可行的。
这样,其他的标题位就可以被重新定义,以表示信元优先权水平和服务级别的指定。或者,指定信元优先权水平和/或服务级别所需的一个或多个数据位可以位于当前定义的ATM信元头部之外。对目前的ATM信元头部的定义进行稍加修改的要求也被采用本发明的NBR服务方案所产生的明显优势所显著抵消,比如说,在网络及流量管理方面的管理开支及复杂性上出现明显的减少。
勿庸置言,优先权水平的数量可以小于8,或者大于8。举例来说,如果假定为表示一个信元的优先权水平而设置了4个信元头部位,就可以定义多达24(即2n位)或者说16个优先权水平。在NBR服务的范围内增加优先权水平的数量就可以使网络运营商在对网络流量进行管理的时候对一个特定连接的带宽作出更为精细的调整。为流量控制的这一精细的水平所付出的代价就是对数量更多的优先权水平进行解析所需要的额外的信元头部位(一位或多位)。
在步骤76,优先权水平计算单元确定每个信元如信元i的优先权水平。根据本发明的一个实施方案,并假定当第i个信元传至网络时测出的比特率是MBRi,则信元i的优先权水平(PLi)可以用下面的等式来计算 其中,[X]代表X的整数部分。本发明以基于缓冲器的信元测量与优先权水平分配技术来确定信元的优先权水平(PLi)。
如下面所述,根据把NBR与传统的ATM服务连接均包容在内的一个实施方案,零优先权水平,PL=0,是供使用具有带宽与服务质量保证的普通ATM服务的那些连接使用的。因此,上面的等式[1]可以修改,以便生成范围在PL=1与PL=7之间的信元优先权水平,这样,如果1<X<7,则[X]代表X的整数部分。
通过使用上面的等式[1]可以看出,如果一个连接正在使用的网络能力超过该连结约定的NBR值,则信元i的优先权水平至少是4。还可以看出,如果UNI处的瞬时比特率小于NBR的约定值,则PL最大为4。因此,根据本发明的这一实施方案的优先权水平方案允许以两个步骤对一个连接使用的相关容量进行调整。从上面的等式[1]可以看出,当NBR为100Kbit/S(100K二进制位/秒)时,如果MBR高于566Kbit/S,则PL=7,如果MBR低于8.8Kbit/S,则PL=0。
在步骤78,对于从UNI传来的每个ATM信元,在该信元的头部中分配的三个优先权水平位被置位。然后在步骤80,这些ATM信元被传往由信元头部中提供的节点地址信息所标识的那些目标网络节点j。
注意,如果用户对该连接的服务质量并不满意,该用户可以在至少3个供选方案中进行选择。第一,该用户可以选择使平均比特率保持不变,但要减少流量处理的变化。第二,用户可以选择降低平均比特率,或者增加标称比特率。然而,增加NBR将随之导致因更高速的连接而产生的费用上涨。最后,该用户可以改换网络运营商。
在图4中,以流程图的方式图解了一个一般方法,利用该方法,根据本发明的一个实施方案,一个网络节点对从UNI接收来的含有优先权水平信息的信元进行处理。图5图解了为贯彻图4中图解的方法而采用的一个网络节点的各种不同组成部件的一个实施方案。假定一个信元,如信元i,在UNI已被处理,且含有以上面描述的方式导出的优先权水平信息。
信元i被从UNI传往一个网络节点并被该节点的过滤器88所接收。在步骤81,存储管理器89对存储器90的状态进行检测,以确定存储器90的占用程度。存储管理器89根据存储器90的占用状况在步骤82确定允许的优先权水平(PLa)。通常,当存储器89的占用水平高(即,可用存储位置少)时,存储管理器89建立一个高允许优先权,这一高允许优先权可转换为低允许优先权“水平”,例如PLa=0或2。当存储管理器89判定存储器90有足够的容量接收新信元时,存储管理器89建立一个可转换为高允许优先权“水平”,如PLa=6或7的低允许优先权。业内技术人员可以认识到,PLa的计算可以换一种方法,基于未占用的缓冲器容量而不是基于缓冲器的占用程度来进行,而不背离本发明的精神。
正如在步骤83中由存储管理器89判断的那样,如果信元i的优先权水平大于允许的优先权水平PLa,则在步骤84中过滤器88放弃信元i。如果是另一种情况,信元i的优先权水平小于等于允许的优先权水平PLa,则在步骤85中过滤器88接受信元i。在步骤86存储管理器89协调信元i至存储器90的传送,并对与存储管理器89相连的一份索引表91进行修改以便容纳最新接受的信元i的新索引条目。在一个实施方案中,索引表91贮存接受的信元i在存储器90中的位置,还贮存一个指明信元i是一个实时信元还是一个非实时信元的信元类型指示器。这样,存储器90就可以即贮存实时信元又可以贮存非实时信元。
存储管理器89与索引表91合作,通过给出实时信元对非实时信元的优先程度的方式,对从存储器90到存储器90的输出端的信元传输运行状况进行管理。举例来讲,存储管理器89根据对贮存在存储器90中的rt-信元及nrt-信元的存在的判断,在任何nrt-信元传出之前将所有的rt-信元传至存储器90的输出端口。
正如在图6中所图解的那样,存储管理器89可以判断一个实时缓冲器(rt-缓冲器)93和一个非实时缓冲器(nrt-缓冲器)94的状态。存储管理器89根据rt-缓冲器93与nrt-缓冲器94的状态,以与前述相同的方式为过滤器88确定允许的优先权水平PLa。如果信元i的优先权水平大于允许优先权水平PLa,则过滤器88放弃信元i。如果是另一种情况,信元i的优先权水平小于等于允许优先权水平PLa,则信元i被接受。
网络节点可以应用一个缓冲器过滤方案,该方案根据信元的数据包,而不是根据单个的信元,来实现过滤功能。举例来讲,上述的过滤过程可用于每个数据包的第一个信元。如果第一个信元被该节点放弃,则该数据包的所有信元均随第一个信元一道也被放弃。然而,如果一个数据包的第一个信元被接收,则属于该数据包的所有其他信元的优先权可被提高,例如,通过将优先权水平从PL=5改为PL=3的方式。即使优先权水平只增加一档,比如从PL=4到PL=3,据信就足以保证只有极少的数据包被不完全传送。
信元类型检测器92从过滤器88接收已接受的信元i,并判断信元i是实时信元还是非实时信元。正如前面讨论的,信元i的头部包括一个头部位,如CLP位,指明信元i是rt-信元还是nrt-信元。信元类型检测器92,根据对信元i的服务级别类型的判断,或者把信元i送往rt-缓冲器93,或者送往nrt-缓冲器94。以与前面结合图4和图5进行的描述近似的方式,存储管理器89在把优先权赋予rt-信元的情况下,协调rt-信元和nrt-信元分别从rt-缓冲器93和nrt-缓冲器94输出。
为了增强网络的扩充能力并加强对流量的控制,要求每个网络用户购置最大的NBR可以说是理想的。最大NBR值可以维持最大程度的稳定性。另外,要求每个用户选择合适的瞬时NBR,即应该是不大于所选的最大NBR的瞬时NBR,这也可以说是理想的。合适的瞬时NBR的选择通常涉及到妥善处理服务的价格与质量之间关系的问题。由用户检测的服务质量在很大程度上取决于三个参数,即NBR,平均比特率,和流量变化量。虽然用户可以对这些参数中的任何一项进行改变,但是在信元传输的一开始该网络即应了解的唯一信息是该连接的NBR和服务级别(实时的或非实时的)。
尽管如上所述的SIMA网络有许多优点与长处,但是,也可以期望有一个特定的优先权水平、或者丢弃优选被搁置不用。从一个源端向多个用户提供一个多播传输就是这样的情形之一。利用一个SIMA网络的通用优先权方案,多播传输的每一个分支可不可以接收该多播传输,取决于每个特定连接的拥塞情况。然而,希望能为多播传输的每一个接收端保证更为可比的服务质量。在这种情况下,单个信元的接受/拒绝参数可以被忽略以提供更为均衡的服务质量。本发明就提供了这样的机会。
图7是一个方块图,图解了一个提供访问节点102和核心节点104的SIMA网络100。一个SIMA服务的典型实施使用两个基本部件访问节点(A)102和核心网络节点(C)104,它们具有根本不同的功能职责。例如,访问节点102可以是一个用户/网络接口,执行为每个连接测量流量,以用根据源端的瞬时实际比特率(MBR)与为该源端指定的标称比特率(NBR)的比值来确定一个信元或数据包优先权的任务。SIMA网络的核心节点104将SIMA数据包从输入端转至输出端(一个或多个),并根据一个数据包的优先权和该特定的核心节点104的缓冲器的占用率水平来作出关于数据包的接受与拒绝的决定。因此,该核心节点并不需要获得有关各个连接属性的信息。客户设备106通过SIMA网络100,经由访问节点102与核心节点104与其他客户设备连接。
图8是一个方块图,图解了一个SIMA网络中的一个核心节点110,该网络含有依据本发明的一个多播优先权管理模块。在图8的例子中,多播优先权管理模块由SIMA多播处理器(SMH)112来表示。在并不采用多播优先权管理的一个典型的SIMA网络中,由核心节点110接收的数据包被直接送往用路由器114表示的路由模块。在这种情况下,所有的输入,标记为输入-1,输入-2,直至输入-M,均直接与路由器114相连,以便被送往它们相对应的调度与缓冲单元,该单元标记为SBU-1116,SBU-2118,直至SBU-N120。正如将结合图9更详细描述的那样,调度与缓冲单元将根据当前在核心节点110处接受的接受优先权水平来就是否接受或放弃一个特定的数据包问题作出决定。
为了清楚起见,下面的叙述将涉及数据包“丢弃优选”的概念。数据包优先权水平也以现行的术语“丢弃优选”来看待,因为一个具高优先权的数据包是不大可能被放弃,或者从传输流中被“丢弃(drop)”的。当用于NBR系统时,其中一个数据包以标称比特率被传速,并接收一个中级的优先权或日丢弃优选(例如4),传输速率翻番将导致优先权或日丢弃优选以1为步长的下降(例如3)。换言之,与一个数据包有关的较低丢弃优选表明该数据包比具有较高的丢弃优选的数据包更有可能被从传输流中丢弃。数据包的丢弃优选(DP)表示该数据包自身的相关优先权,或曰丢弃优选,这里,允许的丢弃优选(DPa)是指在一个给定的信元调度与缓冲单元(SBU)的允许丢弃优选。
本发明包括提供多播优先权管理功能。在图8中,SMH112在输往核心节点110的输入信号到达路由器114之前对其进行拦截。在数据包被发放到各个SBU之前,在SIMA核心节点中使用的SMH112作出有关多播数据包的接受或者拒绝的决定。这就能把多播传输相近的服务质量提供给该多播传输的所有接收端。
SMH112能够区分多播与非多播的数据包。在该发明的一个实施方案中,数据包本身含有一个特定指示或者标志,用于指明该数据包是一个多播数据包。SMH112通过知晓其在该数据包内的字节/位的位置来提取这一特定的标记。该特定的指示或标志表明该数据包是多播的还是非多播的数据包。在该发明的另一个实施方案中,SMH112通过识别这些数据包属于某一个信息流的方式来区分多播与非多播数据包。例如,SMH112可以对一个IP(互联网协议)数据包头部中的源IP地址或端口进行分析,并能根据数据包流的源端来判定该传输是不是一个多播传输。如果该数据包不是一个多播数据包,则简单地绕开SMH112中的任何附加功能,将其送往路由器114。
当一个数据包被识别为一个多播传输数据包时,SMH112将在其输入路由器114之前确定该数据包是否应被接受或放弃。就接受还是放弃该数据包所作的决定是随着SBU116,118,直至120中的一些或全部SBU之处的拥[塞状况而变的。因此,就象从通信线路122,124直至126上能看出的那样,SMH与这些SBU相连,以便能从每个SBU处接收允许的或已接受的丢弃优选(DPa)的值。正如下面要更为全面描述的那样,该功能可以基于一些或全部SBU的缓冲器占用率水平,也可以基于一些或全部SUB的允许丢弃优选值。最好是根据尽可能多的SBU的缓冲器占用水平和/或丢弃优选来进行计算,以便向所有的连接提供相近的服务质量。如果该数据包要被放弃,则可以立即由SMH112来放弃,或者通知各个SBU来放弃。不管怎样,对于SMH112来说,最有效的就是直接放弃这些数据包。
正如前面指出的那样,信元调度与缓冲单元(SBU)根据目前在核心节点处接收到的优先权水平就接受还是放弃一个特定数据包的问题作出决定,并且还为实时的与非实时的信元提供缓冲。现在参见图9,这里图解的是根据本发明的一个实施方案的一个调度与缓冲单元(SBU)150的图示。如上所述,在核心节点152处接收的每个信元均有一个与其相关的优先权水平,该优先权水平是此前根据在一个源端用户/网络接口如结合图2所述的UNI24处的流量状况而建立的。此外,每个信元有一个与其相关的服务级别指示器,用于表示该信元含实时的或非实时的有效载荷。信元调度与缓冲单元150只根据两个外部条件每个信元的优先权水平(即,丢弃优选)和服务级别状况来对实时的和非实时的信元提供有效的处理。
正如图9中图解的那样,一个信元,如信元i154包括一个优先权水平(PL)156,一个实时/非实时(rt/nrt)指示器158,和一个有效载荷160。信元i154是在信元调度与缓冲单元150处的输入端162被接收的。信元过滤器164通过读取该信元头部中的优先权水平位PL156来确定信元i154的优先权水平。作为信元过滤过程的一个部分,根据在信元调度与缓冲单元150中提供的两个典型的缓冲器的当前状况,对允许优先权水平PLa进行计算。
根据SBU150的一个实施方案,两个缓冲器包括一个实时缓冲器166和一个非实时缓冲器168。两个缓冲器166,168的占用水平是通过确定当前留存于实时缓冲器166中的信元数目,以符号Mrt表示,和当前留存于非实时缓冲器168中的信元数目,以符号Mnrt表示,来计算的。信元在从节点152输出至目标终端单元169之前要予以缓冲。
注意,实时缓冲器166的阴影部分表示被占用的实时缓冲器部分170,而无阴影区域表示未被占用的实时缓冲器部分172。与此相似,非实时缓冲器168的未被占用的非实时缓冲器部分174由阴影区表示,而无影区则表示未被占用的非实时缓冲器部分176。还要注意,缓冲器166,168中的每一个均包括一个缓冲器位置数量178,而且,定义非实时缓冲器168的非实时缓冲器位置的数量一般要超过定义实时缓冲器166的缓冲器位置的数量。
为了图解,而不局限于此,下面对缓冲器参数进行定义Mrt=实时缓冲器166中信元的数量;Krt=实时缓冲器166中缓冲位置的数量;Mnrt=非实时缓冲器168中信元的数量;Knrt=非实时缓冲器168中缓冲位置的数量;一个处理器,表示为PLa逻辑180,用于确定当前占用实时缓冲器166的信元数量(Mrt)和当前占用非实时缓冲器168的信元数量(Mnrt)。处理器180还确定定义实时缓冲器166的缓冲位置数量(Krt)和定义非实时缓冲器168的缓冲位置数量(Knrt)。下面用等式[2]和[3]分别确定实时缓冲器166的占用率水平(Xrt)和非实时缓冲器168的占用水平(Xnrt)Xrt=Mrt/Krt
Xnrt=Mnrt/Knrt[2/3]总的缓冲系统的平均占用水平(X)则用几种方法中的一种来确定,包括,例如,使用下面的任何一个等式x=(xrt+xnrt) (a)x=xrt2+xnrt2---(b)----[(a)/(b)/(c)]]]>x=max(xrt,xnrt) (c)信元i154的优先权水平PL156(PL信元i)与使用下面的等式所产生的结果进行比较PL<a-bx [5]其中,a和b是常数,而且为方便本例,假定a=b=9。信元i154接收还是放弃取决于使用上面的等式[5]进行比较的结果。
使用另一种替代方法来确定允许优先权水平PLa可以说是便利的。一开始,假定实时缓冲器166的占用率水平Xrt和非实时缓冲器168的占用率水平Xrt被分成N档,例如,其中N可以是16或12。为了图解,下面提供的表1假定两个缓冲器166和168的占用水平被分成N=12档。当一个信元抵达信元调度与缓冲单元150时,调度处理器180要确定Mrt和Mnrt的当前值。通过简单的计算,尤其是如果Krt,Knrt,和N具有2n的型式,就可以获得缓冲器166,168的当前占用水平的估算值。这两个值Xrt与Xnrt,决定表1的横行与纵行。针对信元i154刚一抵达时两个缓冲器166,168的当前状态,表1中每个单元的内容表示最高的允许优先权水平PLa。
表1
可以看出,表1给出了最高的允许优先权水平PLa的具有使用价值的估算值,反映了实时缓冲器166和非实时缓冲器168的状态和相对规模。表1中的数值阵列可以储存在节点152中的非易失性存储器中,并可以根据需要进行更新。
图10对一个SIMA网络中的另一个核心节点200的实施方案进行了图解,该网络含有根据本发明的一个多播优先权管理功能。在图10的例子中,多播优先权管理功能分布于SBU202,204直至206之中。与图8中的核心节点110相似,一个数据包由核心节点200接收。在这个实施方案中,数据包被直接送往路由模块208,而标记为输入-1,输入-2,直至输入-M的所有输入信号均直接与路由器208相连,以便被送往它们所对应的调度与缓冲单元202,204直至206。在这个实施方案中,调度与缓冲单元不仅作出数据包接受决定,而且还执行一个分布式的多播优先权管理功能。
在这个例子中,可以在一个特定SBU作出决定的过程中使用其他SBU的丢弃优选值(DPa)。因此,多播优先权管理功能被分布于该核心节点中的现存的SUB中。例如,来自SBU-1 202和SBU-2 204的允许丢弃优选值DP1和DP2如分别在线路210和212上所示被送往SBU-n206。与此相似,来自SBU-1 202和SBU-n206的允许丢弃优选值DP1和DPn如分别在线路214和216上所示被送往SBU-2 204。最后,来自SBU-2 204和SBU-n206的允许丢弃优选值DP2和DPn如分别在线路218和220上所示被送往SBU-1 202。对允许丢弃优选值的分析以与由性质不同的SIMA多播处理器,如图8中的SMH112提供的允许丢弃优选分析相似的方式在每个SUB中进行。对这种允许丢弃优选值进行的分析将结合对图4的说明作出更详细的描述。
图11是实现根据本发明的多播优先权管理功能的一种方式的流程图。一个源端传送一个去往核心结点的信元/数据包,在步骤230输入到该核心节点。在步骤232确定该数据包是否是一个多播数据包。如前所述,这可以通过在多播数据包中包含一个标识该数据包是一个多播数据包的指示或标志来完成。另外,这可以通过对该数据包的来源进行判断以识别该数据包属于某一个信息流的方式来完成。例如,该数据包的来源可以通过在一个IP(互联网协议)数据包头部中的源IP地址或端口来加以识别。从前面的叙述中,本领域的专业人士很容易看出,可以替代地对其他多播数据包标识位进行监视,以便确定一个数据包是否一个多播数据包。
如果在步骤232该数据包被确定不是一个多播数据包,则在步骤234SIMA多播处理器的数据包接受/拒绝功能被绕过。该非多播数据包被转入路由模块并直达各自的信元调度与缓冲单元以进行各个数据包接受分析。
如果在步骤232该数据包被确定是一个多播数据包,则在步骤236从该核心节点中的每个SUB收集有关允许丢弃优选(DPa)的信息。在步骤238根据从SUB收集到的DPa值对一个多播丢弃优选进行计算。这个标记为DPSMH的多播丢弃优选表示在SIMA多播处理器处所接受的丢弃优选值,它是各个SUB的接受丢弃优选的函数。确定多播丢弃优选的各种不同方式将结合图14进行描述。
DPSMH确定之后,在计算出的DPSMH和输入多播数据包的输入DP之间进行比较,以确定该数据包的DP是否象在方块240中见到的那样高到足以在SMH处被接受。如果该数据的DP不等于或不大于DPSMH,则该数据包在方块242被放弃。否则,在方块244该数据包在SMH处被接受。
在这里,多播数据包是由SIMA多播处理器接受的,对于单个的SBU将如何处理多播数据包也有各种不同的可能。流程图12与13图解了两种方式,通过这两种方式,由SMH接受的数据包将由各个信元调度与缓冲单元来处理。
参见图12,在方块230数据包进入核心节点,在方块232确定该数据包是不是一个多播数据包,如果是,在方块236收集SBU丢弃优选信息,在方块238确定在SMH的多播丢弃优选,根据它,在方块240确定该数据包是否被接受,而在方块244接收数据包。这与图11图解的实例相似,而且使用了与图11相同的参考符号。然而,图12的实施方案描述了一个接受多播数据包的特殊方法。当在方块240中已确定数据包将在方块244中被接受时,在方块246SMH通知各个SBU SMH接受了数据包。因此,SMH显然能够激活所有单个SBU,以使被路由器定为目标的SBU接受该数据包。在这种情况下,如果即使有一个SBU有一个缓冲器已被填满,SMH也不应接受数据包。在这些情况下,被定为目标的SBU将在方块248接受该数据包,而不管他自己的允许丢弃优选如何。
现在参见图13,该图描述了接受多播数据包的方法的另一个实施方案。当在方块240中已经确定该数据包将在方块244中被接受时,SMH在方块250中对每个SBU的丢弃优选进行调整以修改SBU的接受可能性。换句话说,单个的SBU可以根据该数据包是否是一个多播数据包按照不同的丢弃优选来接受或者拒绝数据包。例如,SMH可以确定多播数据包应予接收,并依次命令每个分立的SBU降低它们的允许丢弃优选,以增加这些数据包被各个SBU接受的可能性。允许丢弃优选DPa是一个数据包刚一抵达时在各个SBU进行计算的,但是修改却要依据代表由于该数据包的多播特性而获得的增益的一个量G来进行。这样,该多播数据包将被一个单独的SBU所接受,其条件是DP≥DPa-G其中,DP是该多播数据包的丢弃优选,DPa是SBU的允许丢弃优选,而G则是SMH修改SBU的接受可能性所需要的调整量。通常,多播数据包被SBU接受的可能性将会增加,因为如在方块252中所示的那样,SBU将根据经过调整的丢弃优选来接受或放弃数据包。例如,如果SMH判定SBU的接受可能性应该增加2(即G=2),而一个给定的SBU的允许丢弃优选是4(即DPa=4),则丢弃优选为2(即DP=2)的多播数据包将被SBU接受(即2≥4-2)。
图14是对该发明的不同实施方案进行图解的一张流程图,其中,多播丢弃优选是用收集到的SBU允许丢弃优选信息来确定的。在方块230数据包进入核心节点,在方块232确定其是否为多播数据包,如果是,在方块236收集SBU丢弃优选值信息,在方块238确定在SMH的多播丢弃优选,并由此可在方块240确定该数据包是否在方块242被放弃,或在方块244被接收。图14对各种实施方案进行了图解,其中,在方块238SMH确定多播丢弃优选。
把在SIMA多播处理器中将要予以确定的接受丢弃优选指定为DPSMH。令第j个SBU的非实时缓冲器的占用水平为Mjnrt,而使第j个SBU的实时缓冲器的占用水平为Mjrt。则可得到DPSMH=f(M1nrt,M1nrt,M2nrt,M2rt,…,MNnrt,MNrt)[7]其中,N是多播数据包的数量(N大于等于2),而f表示这些变量的函数。
从等式[7]可以看出,首先计算常规的DPia的值是没有必要的。然而,在许多情况下,更方便的是首先计算SBU中的正常的、独立的DPa的值,并在等式[7]中使用这个信息。在这种情况下,等式[7]可写为DPSMH=f(DPa1(Mnrt1,Mrt1),DPa2(Mnrt2,Mrt2),...,DPaN(MnrtN,MrtN))---[8]]]>或者另一种形式DPSMH=f(DPa1,DPa2,...,DPaN)---[9]]]>其中,Dpia为在第i个SBU中计算的独立的DPa。
SMH计算完DPSMH之后,如果多播数据包的丢弃优选DP大于等于DPSMH,则该多播数据包在SMH处被接受。
再次参照图14,该图使用了前面叙述过的记号,对各种实施方案进行图解,在这些实施方案中,SMH在方块238中对多播丢弃优选进行确定。可以理解,在该领域的专业人员很容易从所提供的叙述中得出其他的实施方案,而不背离本发明的范围和精神,下面的例子实际上是描述性的,本发明不应该受其限制。
在第一实施方案中,最大SBU允许丢弃优选在方块260中被确定。在这个例子中,当且仅当多播数据包被所有的SBU分别接受后,它才被SMH接受。这种“要么全部否则为零(all or nothing)”的处理方法要求该多播数据包的丢弃优选大于等于所有的SBU的单独DPa值。因此,在SMH处被接受的丢弃优选是DPSMH=MAX(DPia) [10]其中,指数i表示正在转发多播数据包的每个SBU,而MAX是用于选择最大DPia值的函数。
在另一个实施方案中,在方块262中确定是否有预定数量的SBU目前拥有一个特定的允许丢弃优选。在这一情况下,每一个SBU都要计算它的独立的DPa值,而且如果多于预定数目的SBU会接受多播数据包,那么SMH就会接受这个数据包。如果SMH以这种方式接受多播数据包,那么,所有的SBU都会受命接受该多播数据包,包括那些在单独的条件下不会接受该数据包的SBU。例如,对10个作为多播传输的目标的SBU进行分析,而且需要至少有7个SBU单独的DPa值为4,那么,如果至少有7个SBU单独的DPa的值为4的话,则全部10个SBU都将受命去接受该多播数据包。
在另一个实施方案中,在方块264中确定平均的SBU丢弃优选。在这个例子中,如果SMH判定各个SBU的平均丢弃优选大于等于一个预定的平均值时,则SMH接受该多播数据包。因此,如果该多播数据包的DP大于等于(四舍五入,截尾小位,或干脆用整数)这个平均值,则该多播数据包被SMH接受,否则被放弃。这可以从下面的等式[11]看出DPSMH=Σj=1N1NDPaj---[11]]]>其中的求和指数j包括该多播中涉及到的所有的SBU。
在接下来的另一个实施方案中,在方块266中确定加权平均的SBU丢弃优选。在这个例子中,如果SMH判定各个SBU的加权平均丢弃优选大于等于一个预定的值,则该多播数据包被SMH接受。在这种情况下,DPSMH通过计算不同的SBU的DPa值的加权平均值来获得,如在下面的等式[12]中所示的那样DPSMH=Σj=1N1wjDPaj---[12]]]>其中Wj是为SBU的数量j指定的加权值。例如,输出环节的容量会对指定的加权值产生影响。注意,对于任何j而言,当Wj=N时,等式[12]等同于等式[11]中所示的平均DPa值的算法。
SMH实施各种不同的算术功能以确定多播丢弃优选。例如,在本发明的一个实施方案中,SMH包括一个能够执行算术功能如加、减和比较的处理单元。正如业内人士所知,这样的处理单元能够计算给定的多个数值的最大值,以及平均值和加权平均值。该处理单元还能对一定量的常数(instance)进行计数,其中一个常数的值大于等于一个预定的值。此外,还可以使用分立器件,如比较器,加法器,或者算术逻辑单元(ALLs)。
现在参见图15,这是一个流程图,提供了本发明的一个实施方案。在这个例子中,假定多播数据包是根据源端的IP地址进行检测的。还假定作出决定的SMH的函数是DPSMH=MAX(DPia),如上面的等式[10]中所示,所以仅当数据包被所有的SBU分别接受的时候,该数据包才会被接受。
在方块280,一个数据包被接收,在方块282通过分析源端地址的方式判断该数据包是否是一个多播数据包。如果不是多播数据包,在方块284将其简单地转交路由单元,并最终从适当的SBU输出。如果该数据包是一个多播数据包,在方块286中SMH提取该数据包的丢弃优选DP。在方块288中,SMH从所有的SBU中获取DPa值,并且在方块290中,挑选DPa的最大值作为DPSMH。在方块292将DPSMH与该多播数据包的丢弃优选DP进行比较。如果DP≥DPSMH,该数据包被接受,并在方块284被转交给路由单元。反之,该多播数据包在方块294中被放弃。在这个特定的例子中,一个被接收的数据包可以简单地转送给路由单元并最终送达适当的SBU,没有必要直接将信息从SMH传输至SBU,因为SMH会或者亲自放弃该数据包,或者转送该数据包。在后一种情况,每个SBU将接收该数据包并将其置入它的缓冲器中。或者,可以从SMH向SBU发送通知信息,命令一个或多个SBU放弃该数据包。
当然,可以理解,对于上面讨论的各种实施方案可以进行各种修改与补充,而不背离本发明的范围与精神。因此,本发明的范围不应受到上面讨论的特定实施方案的限制,而只能由下面陈述的权利要求及其等价对应词语来定义。
权利要求
1.一个方法,用于忽略在一个网络节点的每个独立的连接上建立的数据包接受准则,以便为一个以各个独立连接为目标的多播传输的每个数据包提供一个共同的数据包接受准则,包括从该网络节点中的每个独立的连接收集数据包接受准则,而这些独立的连接是多播传输的目标;根据对每个独立的连接的数据包接收准则所进行的总体分析,为与多播传输相关的每个数据包计算出一个多播数据包优先权;以及根据计算出的多播数据包优先权,集体接受或放弃与该多播传输相关的每个数据包。
2.权利要求1的方法,还包括确定该数据包是否是与一个多播传输相关的一个数据包。
3.如同权利要求2中的方法,其中确定该数据包是否是一个多输传输数据包这一步骤包括对该数据包头部中的一个多播指示器进行监视。
4.如同权利要求2中的方法,其中确定该数据包是否是一个多播传输数据包这一步骤包括对该数据包的源端进行调查,以确定该源端是否是一个多播传输源。
5.如同权利要求4中的方法,其中调查数据包源端这一步骤包括将来自该数据包头部中的源地址与多播数据包源端的预定地址进行比较。
6.如同权利要求2中的方法,还包括当该数据包与多播传输无关时,避开数据包接受准则的收集,避开多播数据包优先权的计算,以及避开每个数据包的接受与放弃。
7.如同权利要求6中的方法,其中避开这一步骤还包括使用在网络节点的每个独立的连接上建立的数据包接受准则用作时基础来各自独立地接受或拒绝与多播传输无关的数据包。
8.如同权利要求1中的方法,其中从每个独立的连接收集数据包接收准则则包括接收与每个独立的连接相对应的一个允许数据包优先权,其中允许数据包优先权表示为了接受所必需的最小的数据包优先权。
9.如同权利要求8中的方法,其中计算一个多播数据包优先权包括选择一个最大的允许数据包优先权来作为多播数据包优先权。
10.如同权利要求8中的方法,其中计算一个多播数据包优先权包括判断是否有预定数量的独立连接具有一个预定的最小允许数据包优先权。
11.如同权利要求8中的方法,其中计算一个多播数据包优先权包括从独立的连接计算出一个平均允许数据包优先权。
12.如同权利要求8中的方法,其中计算一个多播数据包优先权包括从独立的连接计算出一个加权平均的允许数据包优先权。
13.如同权利要求1中的方法,其中计算一个多播数据包优先权包括计算出一个复合的允许节点优先权作为每个独立连接的数据包接受准则的一个函数。
14.如同权利要求1中的方法,其中根据计算出的多播数据包优先权集体接受或放弃每个数据包这一步骤包括当计算出的多播数据包优先权大于等于一个预定的允许多播数据包优先权时,接受在所有独立连接的每一个数据包。
15.如同权利要求14中的方法,其中在所有的独立的连接接受每一个数据包包括使每一个连接去接受多播数据包,而不管他们独立的数据包接受准则如何。
16.如同权利要求1中的方法,其中根据计算出的多播数据包优先权集体接受或放弃每个数据包这一步骤还包括当计算出的多播数据包优先权小于一个预定的允许多播数据包优先权时在所有的独立连接放弃每一个数据包。
17.一个方法,用于忽略在一个网络节点的每个独立的连接上建立的数据包接受准则,以便为一个以各个连接为目标的多播传输的每个数据包提供一个共同的数据包接收准则,包括从该网络节点中的每个独立的连接收集该数据包接收准则,而这些独立的连接是该多播传输的目标;根据对每个独立连接的数据包接收准则所进行的总体分析,为与该多播传输相关的每个数据包计算出一个多播数据包优先权;根据计算出的多播数据包优先权,在该网络节点中的每一个独立连接对数据包接受准则进行修改;根据修改后的数据包接受准则,分别接受或放弃与该多播传输有关的每个数据包。
18.如同权利要求17中的方法,其中从每个独立的连接收集数据包接收准则包括接收与每个独立的连接相对应的一个允许数据包优先权,其中允许数据包优先权表示为接收所需要的最小的数据包优先权。
19.如同权利要求18中的方法,其中修改数据包接受准则这一步骤包括增加每个独立连接的允许数据包优先权,以便增加在每个独立连接的数据包接受可能性。
20.如同权利要求18中的方法,其中修改数据包接受准则这一步骤包括减少每个独立连接的允许数据包优先权,以便减少在每个独立连接的数据包接受可能性。
21.一个系统,用于在源端和多个目的终端之间至少有一个节点的一个网络中向多个目的终端分发多播数据包,其中连接建立在源端和多个目的终端中的每一个目的终端之间,以便提供多播数据包的一个多播传输,该系统包括多个数据包调度模块,节点的每个连接对应一个,其中每个数据包调度模块根据它对应的连接的允许数据包优先权接受或放弃数据包;一个多播优先权管理模块与多个数据包调度模块的每一个都相连以接收相应的允许数据包优先权,并根据从每个数据包调度模块的允许数据包优先权导出的总体节点优先权共同接受和放弃以多个目的终端为目标的多播数据包。
22.如同权利要求21中的系统,其中多播优先权管理模块包括一个处理器,该处理器的配置与组构使其能够根据允许数据包优先权的最大值来计算总体节点优先权。
23.如同权利要求21中的系统,其中多播优先权管理模块包括一个处理器,该处理器的配置与组构使其能够根据是否有预定数量的允许数据包优先权大于等于一个最小的允许数据包优先权来计算总体节点优先权。
24.如同权利要求21中的系统,其中多播优先权管理模块包括一个处理器,其配置与组构使之能够根据允许数据包优先权的平均值为计算总体节点优先权。
25.如同权利要求21中的系统,其中多播优先权管理模块包括一个处理器,其配置与组构使之能够根据允许数据包优先权的加权平均值来计算总体节点优先权。
26.如同权利要求21中的系统,其中的多播优先权管理模块包括一个处理器,其配置与组构使之能够判断接收到的数据包是否与多播传输有关。
27.如同权利要求21中的系统,其中多播优先权管理模块分布于多个数据包调度模块的每一个模块中。
28.如同权利要求21中的系统,其中数据包调度模块中的每个模块均至少包括一个缓冲器,用来以先进先出的方式对接收到的数据包进行缓冲。
29.如同权利要求28中的系统,其中多播优先权管理模块根据至少一个缓冲器的占用水平来共同接受与放弃去往多个目的终端的多播数据包。
30.一个系统,用于均衡在一个基于优先权的网络服务级别中所提供的服务质量,该系统包括一个多播传输源端;多个多播数据包接收端;至少一个节点,依次与多播传输源端和多个多播数据包接收端相连,其中的至少一个节点包括一个路由器用于通过多播传输源端与多个多播数据包接收端之间的多个连接将多播数据包送往它们对应的多播数据包接收端;多个数据包调度模块,节点的每个连接对应一个,其中每个数据包调度模块根据其对应的连接的一个允许数据包优先权接受和放弃数据包;以及一个多播优先权管理模块,与多个数据包调度模块中的每一个相连,以接收相应的允许数据包优先权,并根据从每个数据调度模块的允许数据包优先权导出的一个总体节点优先权来集体接受和放弃去往多个多播数据包接收端的多播数据包。
全文摘要
提供一个系统与方法,用于使在含有基于优先权服务质量的一个多播传输的每一个接收端都能达到不相上下的服务质量。在一个网络节点的每个独立的连接上建立的数据包接受准则被忽略,以为一个多播传输的每个数据包提供一个集体的数据包接受准则,而这些分立的连接是该多播传输的目标。该数据包接收准则是从网络中作为该多播传输的目标的每个独立连接中推断出来的。根据对每个独立的连接的数据包接收准则所作的总体分析,为与该多播传输有关的每个数据包计算出一个多播数据包优先权。根据计算出的多播数据包优先权,与该多播传输相关的每个数据包被集体接受或放弃。
文档编号H04L12/56GK1335038SQ99814328
公开日2002年2月6日 申请日期1999年12月9日 优先权日1998年12月10日
发明者马蒂·K·凯基, 朱塞·P·O·鲁图 申请人:诺基亚网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1