专利名称:执行和支持多带宽预留请求的制作方法
技术领域:
本发明一般地涉及通信系统。
背景技术:
资源预留协议(RSVP)是传输层协议,其允许资源通过网络而被预留。资源一般是 为流预留的。通常,请求的发送者将向下游的接收者发送RSVP或I^ath(路径)消息。接收 者将响应于I^ath消息向上游的请求发送者发送RSVP预留请求(RESV)消息。接收者和发 送者之间的路径上的一些跳被布置成创建并维持一预留状态,该预留状态与为将要从发送 者发送的数据分组所预留的资源相关联。通常,RESV消息指定带宽请求,该带宽请求有效地指示出将为流预留的资源量。接 收该RESV消息的路径上的每个跳确定其是否具有足够的资源来接纳带宽请求。如果一个 跳能够接纳带宽请求,则该跳为流有效地预留适当量的带宽。如果跳不能接纳带宽请求,则 跳生成RSVP预留差错(RESVERR)消息并且将该RESVERR消息发送到作为RESV消息的源的 端点。当作为RESV消息的源的端点接收到RESVERR消息时,该端点可以发送指定了对更 少量带宽的请求的新RESV消息。本领域技术人员将会认识到,一些应用只能够使用与这 些应用所支持的编解码相匹配的某些带宽。因此,对更少量带宽的请求一般是对与适当代 码相匹配的更少量带宽的请求。一般而言,为了为流预留资源,端点可以发送多个RESV消 息。例如,如果不可接纳请求了 80千字节每秒(lcbps)的RESV消息,则可以发送随后的请 求401cbpS的RESV消息。如果也不可接纳请求401cbpS的RESV消息,则可以发送随后的请 求201cbpS的RESV消息,等等。通常,RESV消息内的带宽量基本上与例如为语音或视频呼 叫选择的音频或视频编解码内的带宽量相匹配。端点可以支持多于一种编解码,并且可能 想要预留其优选编解码进行运算所需要的带宽量。多个RESV消息的发送和处理可能是比较耗时的。结果,有时可能无法以高效的方 式为流预留资源。
结合附图,通过下面的详细描述将容易地理解本发明,在附图中图IA是根据本发明实施例的一个可以支持指定多个带宽的资源预留协议(RSVP) 预留(RESV)消息的系统在时刻tl的框图表示,一端点在时刻tl发送PATH消息。图IB是根据本发明实施例的一个可以支持RESV消息的系统(例如,图IA的系统 100)在时刻t2的框图表示,一端点在时刻t2发送指定多个带宽的RESV消息。图IC是根据本发明实施例的一个可以支持RESV消息的系统(例如,图IA的系统 100)在时刻t3的框图表示,一路由器在时刻t3处理指定多个带宽的RESV消息。图2是根据本发明实施例的能够处理包括多个带宽请求的整体请求的设备的图 形表示。
图3是示出根据本发明实施例的在被布置用来预留带宽的RESV请求中指定多个 可接受带宽的方法的过程流程图。图4A和4B是示出根据本发明实施例如下方法的过程流程图该方法预留从在沿 着路径的节点或跳处接收到的RESV消息中指定的多个可接受带宽中选择的带宽。图5是示出根据本发明实施例的处理在末端主机(例如,上游末端主机)处接收 到的RESV消息的方法的过程流程图。图6是示出根据本发明实施例的示出降低沿着路径的节点处的带宽分配的方法 的过程流程图。图7是示出根据本发明实施例的响应于接收到的RESVERR消息而降低末端主机 (例如下游末端主机)处的带宽分配的方法的过程流程图。图8是示出根据本发明实施例的当基本所有带宽都在使用时对高优先级请求作 出响应的方法的过程流程图。
具体实施例方式一般概述根据本发明的一个方面,一种方法包括获得第一消息,该第一消息至少包括指定 第一带宽的第一带宽请求和指定第二带宽的第二带宽请求。第一带宽是优先带宽。该方法 还包括确定第一带宽是否可被分配,以及如果第一带宽可被分配则以所存储预留状态来存 储第一带宽和第二带宽。如果第一带宽不可被分配,则该方法包括确定第二带宽是否可被 分配。如果确定第二带宽可被分配,则以所存储预留状态来存储第二带宽。描述在一些情形中,在针对端点之间的路径为所需的流预留带宽分配之前,沿着该路 径或者端点之间的路由器集合发送多个资源预留协议(RSVP)预留(RESV)请求消息。发送 多个RESV请求消息通常可能是低效的。通过将多个带宽请求包括在单个RSVP消息中的同 一预留请求内,可以比较高效地预留带宽分配。如果RESV请求消息携带多于一个带宽请 求,如果RESV请求消息中包含的较高带宽请求不可被接纳,则可能可以接纳RESV请求消息 中包含的更低带宽请求。因此,响应于单个RESV请求消息(即,用于请求所需带宽的同一 RESV请求消息),可以为特定的流分配低于所需带宽的带宽。允许RESV请求消息携带多个流量规格(TSPEC)对象使得单个RESV请求消息能够 为所需的流有效地提供多个可接受的带宽分配。例如,单个RESV请求消息可以指定第一、 第二和第三带宽请求,使得如果不可接纳第一带宽请求,则考虑第二带宽,并且在必要时考 虑第三带宽。应当认识到,可以指定多于三个带宽请求。此外,当单个RESV请求消息包含 多于一个TSPEC对象时,沿着接收RESV请求消息的路径的节点可以包含多于一个潜在预留 状态。因此,如果第一潜在预留状态与不可再被接纳的带宽相关联,则该节点可以切换到不 同的预留状态,例如与更低带宽相关联的预留状态。在一个实施例中,作出请求的节点或端点内的应用可以有效地请求所需带宽分配 和至少一个备用带宽分配,例如将在缺少所需带宽分配的情况下可接受的带宽分配。所需 带宽分配和至少一个备用带宽分配可以设在诸如RESV请求消息之类的RSVP请求消息中所 包含的TSPEC对象中。如果RESV请求消息所经过的路由器集合(即,网络)能够接纳所需带宽分配,则所需带宽可被预留。否则,如果备用带宽分配可被接纳,则备用带宽分配可以 被预留。首先参考图1A,将在时刻tl描述根据本发明实施例的一个系统,该系统可以支持 指定多个带宽的RSVP RESV请求消息。系统100包括上游端点主机104、下游端点主机108 和路由器Ilh-C (或者更一般地是中间跳或节点)的集合。端点104可以是服务器或者服 务器应用,并且可以被布置成在时刻tl经由路由器Ilh-C向下游的端点108发送PATH消 息。在接收到来自端点104的PATH消息后,端点108可以生成RESV请求消息并且在时 刻t2通过路由器Ilh-C向上游发送RESV请求消息,如图IB所示。RESV请求消息可以包 括指定了由端点108请求的带宽的两个或更多个TSPEC对象。可以在RESV请求内对TSPEC 对象排序,使得指定了优选带宽的TSPEC对象被有效地排在第一位置。也就是说,与RESV 请求消息相关联的TSPEC对象可以按照优先顺序来排列,其中优先的带宽是所请求的最高 带宽。在一个实施例中,可以按照与会话描述协议(SDP)如何在媒体描述行中标识出与编 解码相关联的优先顺序相似的优先顺序来排列TSPEC对象。至少一个路由器Ilh-C包括使得多个预留状态能够被识别并存储的功能。也就 是说,路由器lUa-c中的一个或多个被配置来处理包括多个TSPEC对象的RESV请求消息。 为了便于讨论,每个路由器Ilh-C将被描述为被布置成处理包括多个TSPEC对象的RESV 请求消息。然而应当认识到,网络100 —般可以支持包括多个TSPEC对象的RESV请求消息 的使用,只要至少一个路由器Ilh-C被布置成处理这样的RESV请求消息即可。在路由器 112a-c上处理包括多个TSPEC对象的RESV请求消息可以包括(但不限于包括)识别具有 可由路由器Ilh-C支持的最高带宽的TSPEC对象、存储可以支持的最高带宽以及存储在 TSPEC对象中识别出的低于可以支持的最高带宽的基本所有带宽。这样的带宽可以作为预 留状态而存储在路由器lUa-c上。当端点108向上游的端点104发送包括多个TSPEC对象的RESV请求消息时,路由 器112c是去往端点104的整个路径上的第一跳。图IC示出了在时刻t3根据本发明实施 例的系统100,在时刻t3,包括多个TSPEC对象的RESV请求消息被路由器112c处理。应当 认识到,如果RESV请求消息将成功到达端点104,则每个路由器llh-c都可以处理该RESV 请求消息。在时刻t3,当路由器112c接收到包括多个TSPEC对象(例如,指定多个所请求 的带宽)的RESV请求消息时,路由器112c确定它可以支持或者以其他方式接纳哪个所请 求的带宽。通常,路由器112c识别它可以支持的与多个TSPEC对象相关联的最高带宽。然后, 路由器112c发送对可支持的带宽(即,路由器112c能够支持的与多个TSPEC对象相关联 的最高带宽)的指示。应当认识到,路由器112c能够支持的最高带宽可以低于这些TSPEC 对象所指定的优先带宽。如果可支持的带宽是优先带宽或者说所请求的最高带宽,则路由 器112c将RESV请求消息传播到下一跳,或者说路由器112b。如果可支持的带宽不是优先 带宽,则提供了对可支持带宽的指示的经修改的RESV请求消息被以经修改的RESV请求消 息的形式向上游传播到路由器112b,而诸如RSVP预留差错(RESVERR)消息之类的提供了对 可支持的带宽的指示的消息被向下游传播到端点108。在一个实施例中,由路由器102c向 上游传播的经修改的RESV请求消息可以被如下修改与高于可支持的带宽的带宽相对应的TSPEC对象被有效去除。一般而言,如果任何带宽都不是可支持的,例如如果路由器112c 没有可用的带宽来进行分配或预留,则路由器112c可以向上游和/或向下游发送适当的指
7J\ ο可支持的带宽可被路由器112c作为预留状态而存储。除了存储可支持的带宽之 外,任何低于可支持带宽的带宽都可被路由器11 作为预留状态而存储。也就是说,路由 器112c可以存储在RESV请求的TSPEC对象中指示出的、路由器112c能够支持的最高带宽, 以及在TSPEC对象中指示出的任何更低带宽。如前所述,路由器Ilh-C中的至少一个具有处理包括多于一个带宽请求的整体 请求(例如,与多于一个TSPEC对象相关联的RESV请求消息)的能力。参考图2,示出了根 据本发明实施例的路由器,或者更一般地说是能够处理包括多个带宽请求的整体请求的设 备。路由设备或者说中间节点212 —般被布置成处理进入的消息(例如请求消息232)并 且传播外出的消息(例如请求消息232’ )。一般而言,节点212包括体现在有形介质上的 硬件和/或软件逻辑。该逻辑通常是可执行的,并且在被执行时可操作来处理进入的消息 并且传播外出的消息。进入的消息不限于是诸如请求消息232之类的请求消息。例如,节 点212可以处理作为差错消息的进入消息,例如差错消息。节点212包括输入/输出装置216,输入/输出装置216可以包括使得节点212可 以接收诸如请求消息232之类的进入消息并发送诸如请求消息232’之类的外出消息的端 口。输入/输出装置216使得节点212能够与网络通信。节点212还包括路由功能228,路 由功能2 使得节点212可以将消息路由到适当设备,例如接下来的跳。带宽分配功能224使得节点212可以为通过节点212而路由的呼叫分配带宽,或 者更一般地说,分配资源。带宽分配功能2M可以识别请求消息232中所指定的带宽请求, 并且可以利用多带宽处理功能2 来处理这些带宽请求以确定节点212可以支持的最高或 最优选带宽请求。多带宽处理功能2 被配置来处理包括多个TSPEC对象236a-c的请求 消息232。例如,如果节点212具有可用于响应于请求消息232而预留lOOlcbps带宽的足够 带宽,则多带宽处理功能2 可以将与TSPEC对象236a相对应的lOOlcbps作为预留状态存 储在存储装置220中,以使得lOOlcbps被有效地识别为与请求消息232相对应的带宽分配。 另外,多带宽处理功能2 还可以将与TSPEC对象236b、236c相对应的带宽存储在存储装 置220的预留状态中。多带宽处理功能2 还被配置来在必要时(例如,当被通知了包括 节点212的路径中的其他节点基本上只能够接纳缩小的带宽分配时)缩小或者以其他方式 降低带宽分配。在一个实施例中,请求消息232’可以与请求消息232基本相同。也就是说,节点 212可被布置成在网络内有效地转发请求消息232。然而应当认识到,请求消息232’也可 以是请求消息232的经修改版本。请求消息232包括多个TSPEC对象236a_c,这多个TSPEC对象236a_c各自被布置 成指定所需带宽。如图所示,为了说明,TSPEC对象236a指定大约100千字节每秒(lcbps) 的带宽,TSPEC对象236b指定大约801ibps的带宽,TSPEC对象236c指定大约81ibps的带 宽。应当认识到,TSPEC对象236a-c的数目以及与TSPEC对象236a-c相关联的带宽可以 广泛变化。在请求232内,TSPEC对象236a-c可以被如下排序与最高所需带宽相对应的 TSPEC对象236a是优选或优先带宽,而与最低所需带宽相对应的TSPEC对象236c是最不优选带宽。当节点212利用带宽分配功能2M处理请求232时,节点212确定请求消息232中 指定的哪个带宽可被接纳,例如作为预留状态存储在存储装置220中并且在请求232’中被 转发。请求232’有效地包括指定了节点212可以支持或接纳的最高可能带宽240的TSPEC 对象。请求232’可选地包括指定节点212可以支持或接纳的更低可能带宽MO的一个或 多个TSPEC对象,即,可以在这些更低可能带宽240存在时指定它们。取决于与节点212相 关联的带宽可用性,任何TSPEC对象236a-c可以与最高可能带宽240相关联。例如,如果 带宽分配功能2M处理请求232并且确定与TSPEC对象236a相关联的优先带宽不可被支 持,则最高可能带宽240可以是与TSPEC对象236b相关联的带宽,即大约SOlcbps。照此,更 低带宽244是与TSPEC对象236c相关联的带宽,即81ibps。图3是示出根据本发明实施例的在被布置用来预留带宽的RESV消息中指定多个 可接受带宽的方法的过程流程图。在RESV消息中指定多个可接受带宽的过程301开始于 步骤305,在步骤305中,端点(例如,诸如图IA的端点108之类的下游端点)识别PATH消 息或者与接收到的会话发起协议(SIP)消息相关联的编解码。识别出的PATH消息(其是 本领域技术人员将会认识的RSVP消息)可以是从诸如图IA的端点104之类的上游端点接 收的。在步骤309中,端点创建RESV消息。然后在步骤313中,端点识别所请求的与代码 相关联的带宽(例如,TSPEC对象)并且按照优先顺序对带宽排序。也就是说,端点可以按 照如下顺序对TSPEC对象排序该顺序使得与优先带宽相对应的TSPEC对象被识别为优选 的。通常,优先顺序可以是这样的与最高所需带宽相关联的TSPEC对象具有最高优先权, 而与最低可接受带宽相关联的TSPEC对象具有最低优先权。一旦带宽被按照优先顺序排列,端点就在步骤317中将TSPEC对象放置在RESV消 息中。通常,按照优先顺序在RESV消息中指定TSPEC对象。在TSPEC对象被放置在RESV 消息中之后,端点在步骤321中沿着路径转发RESV消息。也就是说,端点在PATH消息所经 过的路径上将RESV消息发送到PATH消息的发送者。沿着路径转发RESV消息包括将RESV 消息提供给路径中的下一跳。这就是在RESV消息中指定多个可接受带宽的过程。当一个跳接收到包括多个TSPEC对象并且因而包括多个带宽的RESV消息时,该跳 一般处理RESV消息以识别该跳能够支持的最高带宽。图4A和4B是示出根据本发明实施 例的如下方法的过程流程图该方法预留从在沿着路径的节点或跳处接收到的RESV消息 中指定的多个可接受带宽中选择的带宽。在节点上预留带宽的过程401开始于步骤405,在 步骤405中,节点接收包括多个TSPEC对象(或者更一般地说是多个带宽)的RESV消息。 RESV消息可以是直接从端点接收的,或者可以是经由包括该端点和该节点的路径中的另一 跳而间接从端点接收的。节点通常是RESV消息正在经过的路径中的跳。在RESV消息被节点接收之后,在步骤409中,节点处理RESV消息中包含的多个 TSPEC对象。也就是说,节点处理与RESV消息相关联的多个带宽。TSPEC对象或带宽通常 被处理以识别节点可以接纳的最高带宽。在步骤413中,确定节点是否识别出它能够接纳的最高优先级TSPEC对象或带宽。 如果确定节点未识别出它能够接纳的最高优先级TSPEC对象,则表明节点不能支持RESV消 息中指定的任何带宽。照此,过程流移至步骤417,在步骤417中,节点生成RESVERR消息并且向下游发送RESVERR消息,RESVERR消息表明节点不能响应于RESV消息而分配任何带 宽。然后,在步骤421中,节点防止RESV消息被转发,并且在节点上预留带宽的过程结束。返回步骤413,如果确定节点识别出它可以接纳的最高优先级TSPEC对象或带宽, 则意味着节点能够接纳RESV消息中所指定的优先带宽。照此,在步骤425中确定该最高优 先级TSPEC对象或带宽是否可被接纳。换言之,确定优先带宽(即,RESV消息中指定的最 高优先级带宽)是否可被接纳。如果在步骤425中确定最高优先级TSPEC对象可被接纳,则在步骤4 中,节点向 上游“原样”转发RESV消息。然后在步骤433中,节点将与RESV消息相关联的基本所有带 宽添加到它的所存储预留状态中,并且在节点上预留带宽的过程结束。当节点将带宽添加 到它的所存储预留状态中时,优先带宽可被有效地标识为当前接纳的带宽,而在当前接纳 的带宽随后不再可接纳时,其他带宽基本可被标识为“替代物”。或者,如果确定结果是最高优先级TSPEC对象不可被接纳,则过程流移至步骤 437,在步骤437中,节点从RESV消息中去除与不可被接纳的带宽请求相对应的TSPEC对 象。也就是说,节点从RESV消息中去除比可被接纳的最高优先级TSPEC对象更高的所请求 带宽。一旦TSPEC对象被从RESV消息中去除,节点就将与可接纳的TSPEC对象相关联的 基本所有带宽添加到它的所存储预留状态中。可接纳的TSPEC对象或带宽包括可被接纳的 最高优先级带宽以及优先级低于可被接纳的最高优先级带宽的基本所有带宽。在节点将带宽添加到它的所存储预留状态中之后,在步骤445中,节点向上游转 发RESV消息,其中已从该RESV消息中去除了与节点不能支持的带宽相对应的TSPEC对象。 然后在步骤449中,节点生成RESVERR消息,该RESVERR消息指示出在步骤405中接收到的 RESV消息中的最高优先级带宽不可被接纳。节点还向下游发送RESVERR消息。应当认识到, RESVERR消息可以标识出节点可以接纳的最高优先级带宽。在生成并向下游发送RESVERR 消息之后,在节点上预留带宽的过程结束。当端点(例如,上游端点)接收到RESV消息时,端点可以处理该RESV消息,以确 定沿着通过其接收到该RESV消息的路径所支持的带宽。图5是示出根据本发明实施例的 处理在端点主机(例如,上游端点)处接收到的RESV消息的方法的过程流程图。处理在端 点处接收到的RESV消息的方法501开始于步骤505,在步骤505中,端点接收包括一个或多 个TSPEC对象的RESV消息。在接收到RESV消息之后,在步骤509中,端点识别RESV消息 中所包含的最高优先级TSPEC对象并因而识别最高优先级带宽。RESV消息中所包含的最高 优先级带宽一般指示出沿着接收到RESV消息的路径而分配或指派的带宽。在步骤513中,端点记下或者以其他方式记录最高分配带宽。通过记下最高分配 带宽,端点可以在路径上发送不超过最高分配带宽的消息。一旦最高分配带宽被记下或者 以其他方式记录,处理在端点处接收到的RESV消息的方法就结束。当沿着路径的节点接收到RESVERR消息时,该节点一般将其当前带宽分配缩小或 降低到与RESVERR消息中所指定的带宽相一致的带宽。应当认识到,RESVERR消息仅仅是 可以有效提供减小的带宽规格的消息的一个示例。图6是示出根据本发明实施例的响应于 接收到减小的带宽规格而降低沿着路径的节点处的带宽分配的方法的过程流程图。降低带 宽分配的过程601开始于步骤605,在步骤605中,沿着路径的节点(例如,跳)接收包括减小的带宽规格的RESVERR消息。该节点先前存储了包括至少一个带宽分配的预留状态,即, 该节点先前存储了至少一个当前指派的带宽。除了当前指派的带宽或者指派的预留之外, 节点还可能存储了另外的预留状态或者当前指派的带宽可被缩小到的带宽。在步骤609中,确定减小的带宽规格是否未指定带宽。换言之,确定RESVERR消息 是否表明了节点的上游没有可用带宽。如果确定减小的带宽规格未指定带宽,则在步骤613 中,节点调整所指派的带宽以表明基本上没有带宽可被支持。节点还基本上去除所指派的 预留以及任何先前预留状态。一旦节点调整了所指派的预留,则节点在步骤617中向下游 转发RESVERR消息,并且降低带宽分配的过程结束。返回步骤609,如果确定结果是减小的带宽规格指定了带宽,则过程流移至步骤 621,在步骤621中,节点将所指派的预留或者当前带宽分配调整为指定的减小后带宽。然 后在步骤625中,节点从它的预留状态中去除基本上所有高于指定的减小后带宽的带宽。 去除基本上所有高于指定的减小后带宽的带宽有效地将带宽分配降低为指定的减小后带 宽。在节点从它的预留状态中去除基本上所有高于指定的减小后带宽的带宽之后,节点在 步骤629中向下游转发RESVERR消息,并且降低带宽分配的过程结束。最后,响应于由端点或末端主机发起的RESV消息而发送的RESVERR消息将被接 收。接下来参考图7,将描述根据本发明实施例的响应于接收到的RESVERR消息而降低端 点(例如下游端点)处的带宽分配的过程。降低端点处的带宽分配的过程701开始于步骤 705,在步骤705中,端点接收包括减小的带宽规格的RESVERR消息。减小的带宽规格有效 地指定了沿着转发RESV消息的路径而指派的带宽。在接收到RESVERR消息后,在步骤709 中,端点通常记下或者以其他方式记录所指派的带宽。在步骤713中,端点进行调整以反映减小的带宽规格。这样的调整可以包括有效 地确保由沿着路径的端点转发的消息将至多利用减小后的带宽。一旦端点进行调整以维持 与减小的带宽规格的一致性,降低端点处的带宽分配的过程就结束。将多个带宽请求包括在单个RSVP消息(例如,单个RESV请求消息)中的同一预 留请求内,使得应用可以高效地预留基本上在呼叫中可以使用的确切带宽。利用在单个消 息中指定的多带宽请求,拨号后延迟预算一般不会超出限度。结果,应用可以基于预留信息 来高效地选择和/或改变呼叫的编解码,最高至可以支持的最大值,如单个RSVP消息所指 示出的。如上所述,在同一预留内包括多个带宽请求的单个RSVP消息使得多带宽请求可 以作为预留状态而被存储在节点上。因此,如果在接口上正经历拥塞的节点上接收到相对 较高优先级的呼叫,则该节点可以缩小或者降低响应于单个RSVP消息而分配的带宽,以使 得该相对较高优先级的呼叫可被接纳,而基本上不断开更低优先级的呼叫。图8是示出根 据本发明实施例的当节点上的基本所有带宽都在使用时对高优先级呼叫或请求作出响应 的方法的过程流程图。对高优先级呼叫作出响应的过程801开始于步骤805,在步骤805 中,拥塞的节点(例如路由器)接收到高优先级呼叫。拥塞节点一般基本上没有可用带宽 或者具有不足以接纳该高优先级呼叫的带宽。在节点接收到它不能有效接纳的高优先级呼叫之后,在步骤809中确定是否存在 一个或多个正在利用节点上的带宽的更低优先级呼叫。如果确定没有更低优先级呼叫,则 表明基本所有正在利用节点上的带宽的呼叫都具有高优先级。照此,在步骤8 中,例如向高优先级呼叫的发起者提供如下通知高优先级呼叫不可被接纳。一旦提供了通知,对高优 先级呼叫作出响应的过程就结束。或者,如果在步骤809中确定存在一个或多个正在利用节点上的带宽的更低优先 级呼叫,则过程流移至步骤813,在步骤813中识别具有可被缩小的带宽预留的更低优先级 呼叫。也就是说,识别具有指定了优选带宽和更低带宽的预留状态的更低优先级呼叫。在步骤817中确定是否存在任何具有可被缩小的带宽预留的更低优先级呼叫。如 果确定结果是存在具有可被缩小的带宽预留的更低优先级呼叫,则在步骤821中,缩小一 个或多个更低优先级呼叫的带宽预留。在一个实施例中,如果缩小一个更低优先级呼叫足 以接纳高优先级呼叫,则基本上只有一个更低优先级呼叫将被缩小。然而应当认识到,用于 确定如何缩小预留的策略和算法可以广泛变化。例如,代替规定基本上只有一定数目的更 低优先级呼叫的带宽预留可被缩小,一种策略可以规定最老的更低优先级呼叫的带宽预留 被缩小,或者一种策略可以规定基本上所有更低优先级呼叫的带宽预留都被缩小。在步骤821中缩小了一个或多个更低优先级呼叫的带宽预留之后,在步骤825中 可以接纳(例如,接通或者以其他方式连接)高优先级呼叫。一旦高优先级呼叫被接纳,对 高优先级呼叫作出响应的过程就结束。返回步骤817,如果确定结果是没有更低优先级呼叫具有可被缩小的带宽预留,则 在步骤833中,至少一个更低优先级呼叫被取代(preempt)或断开,以使得高优先级呼叫可 被接纳。在至少一个更低优先级呼叫被取代之后,对高优先级呼叫作出响应的过程结束。虽然只描述了本发明的几个实施例,但是应当了解,本发明可以用许多其他具体 形式来实施,而不脱离本发明的精神或范围。例如,诸如Cisco统一通信管理器(在商业上 可从加利福尼亚州圣何塞的CiscoSystems,Inc.得到)之类的应用可以有效地请求RSVP 代理预订最高优选带宽以及可在最高优选带宽不可用的情况下使用的其他带宽。例如,如 果端点处于基本上相同的位置,则最高优选带宽请求可被接纳,或者如果最高优选带宽请 求不可被接纳,则减小的带宽可被应用接受。取决于所指派的带宽,应用可以识别要调用的 适当编解码。虽然多个带宽被描述为是通过使用TSPEC或TSPEC对象而在RESV消息中指定的, 但是带宽不限于使用TSPEC或TSPEC对象来指定。例如,可以在与RESV消息相关联的服务 请求规格(RSPEC)对象中指定多个带宽。在一个实施例中,如果RESV消息中指定的带宽都不可被支持,则没有带宽被响应 于RESV消息而分配。然而应当认识到,也可以改为在即使所指定的带宽都不可被支持的情 况下也可分配某个带宽。例如,如果RESV消息指定了最低优选带宽,如果最低优选带宽不 可被接纳,则不是响应于该RESV消息而基本上不分配带宽,而是可以分配比最低优选带宽 更低的带宽量。与本发明的方法相关联的步骤可以广泛变化。步骤可以被添加、去除、变更、组合 或者重新排序,而不脱离本发明的精神或范围。例如,当在没有可用带宽并且没有用于更低 优先级呼叫的预留的拥塞路由器上接收到高优先级请求时,代替不接纳高优先级请求,路 由器可以改为缩小具有与该请求基本上相同带宽的呼叫的带宽,以使得该请求可被接纳。 因此,当前的示例将被认为是说明性而非限制性的,并且本发明不限于这里给出的细节,而 是可在所附权利要求的范围内进行修改。
权利要求
1.一种方法,包括获得第一消息,该第一消息包括多个带宽请求,其中所述多个带宽请求至少包括指定 第一带宽的第一带宽请求和指定第二带宽的第二带宽请求,所述第一带宽是优先带宽; 确定所述第一带宽是否可被分配;如果确定所述第一带宽可被分配,则以所存储预留状态的形式存储所述第一带宽和所 述第二带宽;如果确定所述第一带宽不可被分配,则确定所述第二带宽是否可被分配;以及 如果确定所述第二带宽可被分配,则以所述所存储预留状态的形式存储所述第二带觅ο
2.如权利要求1所述的方法,其中,所述第一消息是与预留请求相关联的资源预留协 议(RSVP)消息。
3.如权利要求2所述的方法,其中,所述第一消息是RSVP预留(RESV)请求消息。
4.如权利要求3所述的方法,其中,所述第一带宽请求包括在第一流量规格(TSPEC)对 象中,所述第二带宽请求包括在第二 TSPEC对象中。
5.如权利要求1所述的方法,还包括如果确定所述第一带宽不可被分配,则从所述第一消息中去除所述第一带宽请求;以及在去除所述第一带宽请求之后转发所述第一消息。
6.如权利要求1所述的方法,其中,如果确定所述第一带宽可被分配,则所述方法还包括获得第二消息,该第二消息被布置成表明所述第一带宽不再可被分配;以及 从所述所存储预留状态中去除所述第一带宽。
7.如权利要求1所述的方法,其中,如果确定所述第二带宽不可被分配,则所述方法还 包括生成差错消息,该差错消息被布置成表明所述多个带宽请求都不可被接纳。
8.一种设备,包括用于获得第一消息的装置,该第一消息包括多个带宽请求,其中所述多个带宽请求至 少包括指定第一带宽的第一带宽请求和指定第二带宽的第二带宽请求,所述第一带宽是优 先带宽;用于确定所述第一带宽是否可被分配的装置;用于如果确定所述第一带宽可被分配,则以所存储预留状态的形式存储所述第一带宽 和所述第二带宽的装置;用于如果确定所述第一带宽不可被分配,则确定所述第二带宽是否可被分配的装置;以及用于如果确定所述第二带宽可被分配,则以所述所存储预留状态的形式存储所述第二 带宽的装置。
9.如权利要求8所述的设备,其中,所述第一消息是与预留请求相关联的资源预留协 议(RSVP)消息。
10.如权利要求9所述的设备,其中,所述第一消息是RSVP预留(RESV)请求消息。
11.如权利要求10所述的设备,其中,所述第一带宽请求包括在第一流量规格(TSPEC) 对象中,所述第二带宽请求包括在第二 TSPEC对象中。
12.—种编码在一个或多个有形介质中以供执行的逻辑,所述逻辑在被执行时可操作来获得第一消息,该第一消息包括多个带宽请求,其中所述多个带宽请求至少包括指定 第一带宽的第一带宽请求和指定第二带宽的第二带宽请求,所述第一带宽是优先带宽; 确定所述第一带宽是否可被分配;如果确定所述第一带宽可被分配,则以所存储预留状态的形式存储所述第一带宽和所 述第二带宽;如果确定所述第一带宽不可被分配,则确定所述第二带宽是否可被分配;以及 如果确定所述第二带宽可被分配,则以所述所存储预留状态的形式存储所述第二带觅ο
13.如权利要求12所述的逻辑,其中,所述第一消息是与预留请求相关联的资源预留 协议(RSVP)消息。
14.如权利要求13所述的逻辑,其中,所述第一消息是RSVP预留(RESV)请求消息。
15.如权利要求14所述的逻辑,其中,所述第一带宽请求包括在第一流量规格(TSPEC) 对象中,所述第二带宽请求包括在第二 TSPEC对象中。
16.如权利要求12所述的逻辑,还可操作来如果确定所述第一带宽不可被分配,则从所述第一消息中去除所述第一带宽请求;以及在去除所述第一带宽请求之后转发所述第一消息。
17.如权利要求12所述的逻辑,其中,如果确定所述第一带宽可被分配,则所述逻辑还 可操作来获得第二消息,该第二消息被布置成表明所述第一带宽不再可被分配;以及 从所述所存储预留状态中去除所述第一带宽。
18.如权利要求12所述的逻辑,其中,如果确定所述第二带宽不可被分配,则所述逻辑 还可操作来生成差错消息,该差错消息被布置成表明所述多个带宽请求都不可被接纳。
19.一种设备,包括输入/输出装置,该输入/输出装置被布置成获得包括多个带宽请求的第一消息,所述 多个带宽请求至少包括指定第一带宽的第一带宽请求和指定第二带宽的第二带宽请求,所 述第一带宽是优先带宽; 存储装置;以及带宽处理装置,该带宽处理装置被配置成确定所述第一带宽是否可被分配,所述带宽 处理装置还被配置成在确定所述第一带宽可被分配的情况下将所述第一带宽和所述第二 带宽作为所存储预留状态存储到所述存储装置中。
20.如权利要求20所述的设备,其中,所述带宽处理装置还被布置成在确定所述第一 带宽不可被分配的情况下确定所述第二带宽是否可被分配,并且在确定所述第二带宽可被 分配的情况下将所述第二带宽作为所述所存储预留状态存储到所述存储装置中。
21.如权利要求20所述的设备,其中,所述带宽处理装置还被布置成在确定所述第一 带宽不可被分配的情况下从所述第一消息去除所述第一带宽请求,并且所述输入/输出装 置被配置成在所述第一带宽请求被去除之后转发所述第一消息。
22.如权利要求20所述的设备,其中,所述设备是路由设备,并且所述设备还包括路由 ο
23.如权利要求19所述的设备,其中,所述输入/输出装置被配置成在确定所述第一带 宽可被分配的情况下获得第二消息,所述第二消息被布置成表明所述第一带宽不再可被分 配,并且所述带宽处理装置还被布置成从所述所存储预留状态去除所述第一带宽。
24.如权利要求19所述的设备,其中,所述第一消息是与预留请求相关联的资源预留 协议(RSVP)消息。
25.如权利要求M所述的设备,其中,所述第一消息是RSVP预留(RESV)请求消息。
26.如权利要求25所述的设备,其中,所述第一带宽请求包括在第一流量规格(TSPEC) 对象中,所述第二带宽请求包括在第二 TSPEC对象中。
全文摘要
在一个实施例中,一种方法包括获得第一消息,该第一消息至少包括指定第一带宽的第一带宽请求和指定第二带宽的第二带宽请求。第一带宽是优先带宽。该方法还包括确定第一带宽是否可被分配,以及如果第一带宽可被分配则以所存储预留状态的形式来存储第一带宽和第二带宽。如果第一带宽不可被分配,则该方法包括确定第二带宽是否可被分配。如果确定第二带宽可被分配,则以所存储预留状态的形式来存储第二带宽。在一个实施例中,如果第二带宽可被分配,则第一带宽在将消息向上游发送给随后节点之前的处理期间被去除。
文档编号H04L12/56GK102124701SQ200980123664
公开日2011年7月13日 申请日期2009年10月23日 优先权日2008年10月31日
发明者苏巴斯瑞·德赫斯坎, 詹姆斯·帕克 申请人:思科技术公司