首页> 中国专利> 用于对会话初始协议消息进行优先级排序的系统和方法

用于对会话初始协议消息进行优先级排序的系统和方法

摘要

提供一种用于对会话初始协议(“SIP”)消息进行优先级排序的系统和方法。更具体来说,在一个实施例中提供一种对网络中的SIP消息进行优先级排序的方法,所述方法包括:按照第一顺序从所述网络的一个或多个其他服务器接收SIP消息,其中每一条所接收的SIP消息包括一个或多个优先级指示符;基于一个或多个所述优先级指示符把所接收的SIP消息调度成第二顺序;以及按照所述第二顺序处理所调度的SIP消息。

著录项

  • 公开/公告号CN105162715A

    专利类型发明专利

  • 公开/公告日2015-12-16

    原文格式PDF

  • 申请/专利权人 卢森特技术有限公司;

    申请/专利号CN201510390673.7

  • 申请日2007-02-28

  • 分类号H04L12/801(20130101);H04L12/851(20130101);H04L12/875(20130101);H04L29/06(20060101);H04L29/08(20060101);H04L12/869(20130101);H04L12/54(20130101);H04L12/833(20130101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人王茂华

  • 地址 美国新泽西州

  • 入库时间 2023-12-18 12:50:07

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-19

    授权

    授权

  • 2019-04-19

    专利申请权的转移 IPC(主分类):H04L12/801 登记生效日:20190329 变更前: 变更后: 申请日:20070228

    专利申请权、专利权的转移

  • 2016-01-13

    实质审查的生效 IPC(主分类):H04L12/801 申请日:20070228

    实质审查的生效

  • 2015-12-16

    公开

    公开

说明书

本申请是2007年2月28日递交的第200780007429.1号发明专 利申请的分案申请。

技术领域

本发明一般而言涉及计算机网络,更具体而言,涉及基于因特 网协议(“IP”)的计算机网络。

背景技术

本节打算向读者介绍可能与本发明的各方面相关的现有技术的 各方面,将在下面对本发明的各方面进行描述并要求对其进行保护。 这里的讨论被认为有助于向读者提供背景信息以便于更好地理解本 发明的各方面。相应地,应当理解,应当出于上述目的来阅读这些 声明,而不是作为对现有技术的承认。

所述IP多媒体子系统(“IMS”)是一种用于提供多种多媒体服务 的标准化体系结构,所述多媒体服务比如是视频、音频、即时消息 传送、在线游戏和/或IP网络(比如因特网)上的电话呼叫等等。 所述IMS标准采用多种不同的通信协议来建立及管理这些多媒体服 务。其中一种所述标准被称作会话初始协议(“SIP”),其提供一种用 于在所述IMS网络内的用户(其被称作“用户代理”)之间创建、 管理以及终止通信会话的标准。所述IMS网络中的用户代理可以包 括无线电话、IP语音电话、计算机、个人数字助理(“PDA”)或者多种 其他合适的通信设备。SIP标准的一个例子是由第三代合作项目 (“3GPP”)推广的3GPPSIP标准。

所述SIP标准采用了多种传输,其被称作通过一个或多个SIP 服务器在两个用户代理之间传递的SIP消息,所述SIP服务器例如 是SIP代理服务器以及SIP背对背用户代理(“B2BUA”)。SIP消息 通常包括与特定通信会话的建立和撤销相关的信息。例如,SIP消息 可以描述哪一个用户代理正在发起所述通信、对于所述通信使用哪 一个IP端口、遵循什么解码方案等等。当一个用户代理希望与另一 个用户代理通信时,所述发起用户代理把所述SIP消息传送到所述 IMS网络内的一个代理服务器。该代理服务器随后将通过途中的一 个或多个其他代理服务器把所述SIP消息传送到所述目的地用户代 理。采用所述代理服务器通常是因为所述发起用户代理一般不知道 所述接收用户代理和/或可以为所述通信会话提供连接或支持的应 用服务器的确切地址。因此,SIP消息被传送到代理服务器,所述代 理服务器把所述请求转发到适当的地点。在交换了预定数目(例如 12条)的SIP消息之后,就可以在所述两个用户代理之间建立通信 会话。

在具有数百万的潜在用户代理和代理服务器的大IMS网络中, 在任何给定时间都可能由各单独代理服务器处理几千条或者更多 SIP消息。常规IMS网络被配置成按照先进先出(“FIFO”)方法处理 这些请求。换句话说,所述代理服务器被配置成按照其被接收的顺 序来处理SIP消息。例如,当一个代理服务器接收到其第一条SIP 消息时,该代理服务器开始处理该消息。如果在所述代理服务器正 在处理所述第一条消息的同时接收到另一条SIP消息,则在SIP消 息队列中把该另一条SIP消息放置于该第一条消息之后。如果在所 述代理服务器正在处理所述第一条消息的同时接收到又一条SIP消 息,则在所述队列中把该第三条消息放置于所述第二条消息之后, 后面依此类推。当所述代理服务器完成对所述第一条消息的处理时, 它将开始处理所述第二条消息,而不管在所述队列中有多少条消息, 也不管所述队列中的各消息的属性如何。

这里描述的一个或多个实施例可以针对上面描述的一个或多个 方面。

发明内容

下面将阐述其范围与所公开的实施例相称的某些方面。应当理 解,给出这些方面仅仅是为了向读者提供本发明可能采取的某些方 面的概要,并且这些方面不打算限制本发明的范围。实际上,本发 明可以包含可能未在下面阐述的许多方面。

本发明提供一种用于对会话初始协议(“SIP”)消息进行优先级 排序的系统和方法。更具体来说,在一个实施例中提供一种对网络 中的SIP消息进行优先级排序的方法,所述方法包括:按照第一顺 序从所述网络的一个或多个其他服务器接收SIP消息,其中每一条 所接收的SIP消息包括一个或多个优先级指示符;基于一个或多个 所述优先级指示符把所接收的SIP消息调度成第二顺序;以及按照 所述第二顺序处理所调度的SIP消息。

附图说明

一旦阅读下面的详细描述并且参考附图,本发明的优点可能会 变得显而易见,其中:

图1是根据一个实施例的示例性SIP消息的方框图;

图2是根据一个实施例的被配置成对SIP消息进行优先级排序 的示例性IMS网络的方框图;

图3是根据一个实施例的被配置成对SIP消息进行优先级排序 的示例性SIP代理服务器的方框图;

图4是示出根据一个实施例的用于对SIP消息进行优先级排序 的示例性技术的流程图;

图5是示出根据一个实施例的用于确定SIP消息的优先级的示 例性技术的流程图;以及

图6是示出根据一个实施例的用于确定SIP消息的优先级的另 一种示例性技术的流程图。

具体实施方式

下面将描述本发明的一个或多个特定实施例。在致力于提供对 这些实施例的简洁描述的过程中,在说明书中并没有描述实际实施 方式的所有特征。应当认识到,在开发任何此类实际实施方式的过 程中,与在任何工程或设计项目中一样,应当做出许多特定于实施 方式的决定以便实现开发者的特定目标,所述特定目标比如符合系 统相关和商业相关的约束,而所述约束随着实施方式而不同。此外 还应当认识到,这种开发努力可能是复杂且耗时的,但是对于受益 于本公开内容的本领域技术人员来说仍然将是例行的设计、装配和 制造工作。

如上所述,常规SIP系统中的会话初始协议(“SIP”)消息是按照 先进先出(“FIFO”)方法被调度的。然而,这种FIFO调度可能有几 个缺点。首先,FIFO调度的效率可能不高,这是因为FIFO调度不 允许更早地处理将会提高系统效率的SIP消息。例如,如果为某些 SIP消息(比如终止通信会话的SIP消息)给出高于某些其他类型的 SIP消息的优先级,则有可能提高整个IMS网络的总体效率。其次, FIFO调度也不允许在各种类型的用户服务之间进行服务区分。换句 话说,在常规FIFO系统中,所有SIP消息都被完全相同地对待,而 不管它们是否是时间敏感的。例如,某些服务(比如即按即说服务) 比起其他类型的服务可能较不适于在队列中“等待”,而FIFO系统 却无法在各种类型的服务之间进行区分。第三,FIFO调度还不允许 基于服务类别的区分。例如,常规SIP服务器被配置成同等地对待 所有SIP消息,这样做使得IMS网络管理员无法在更高成本下提供 升级的或高级的服务选项。第四,已经在数学上证明,当消息可能 通过在FIFO调度策略下处理输入(incoming)消息的一个或多个网络 单元环回时,网络可能会变得不稳定。由于IMS网络允许SIP消息 通过一个或多个SIP代理环回(如果这些SIP代理使用FIFO调度的 话),因此所述网络可能会出现不稳定的情况。

鉴于SIP消息的常规FIFO调度的上述缺点,一种对SIP消息进 行优先级排序的系统或方法将是有利的。因此,下面描述的一个或 多个实施例可以针对一种用于在IP多媒体子系统(“IMS”)网络中对 SIP消息进行优先级排序的系统和方法。更具体来说,这里描述的一 个或多个实施例可以针对一种SIP服务器,其被配置成执行以下操 作:为输入SIP消息确定仇先级;把所述输入消息的优先级与在所 述SIP服务器的队列中等待传输的其他SIP消息的优先级进行比较: 以及根据所述比较的结果把所述输入SIP消息放置到所述队列内。

现在转向附图,首先看图1,示出根据一个实施例的示例性SIP 消息的方框图并且总体上用附图标记10来表示。如图所示,所述SIP 消息10具有三个部分:起始行12、报头14以及消息体16。所述起 始行12可以包括SIP版本、SIP消息的类型以及SIP地址。所述起 始行中的SIP消息类型可以包括多种SIP请求消息类型,其中包括 但不限于:INVITE,用于把用户代理邀请到某一会话;ACK,用于 确认接收到SIP消息;REFER,用于把SIP设备指给另一个用户代 理;OPTIONS,用于查询媒体类型;BYE,用于终止会话:CANCEL, 用于取消未决事务;REGISTER,用于把IP地址添加到所述IMS网 络中;以及/或者MESSAGE,用于发起即时消息。

所述报头14可以包括多个消息报头字段,所述消息报头字段包 含关于所述SIP消息10通过IMS网络的路由的信息,所述IMS网 络例如是图2中示出的IMS网络。例如,所述报头14可以包括表 明以下内容的字段:发起所述SIP消息10的用户代理的身份、该SIP 消息10的预定接收方的身份、该SIP消息的主题、该消息的服务类 型(例如应用类型)、该SIP消息10在所述IMS网络中进行过的 跳跃。所述报头14还可以包含存储服务质量(“QoS”)相关的数据的 字段、存储服务等级(“GoS”)数据的字段以及/或者存储允许在所 述IMS网络中的用户代理或服务之间进行区分的其他数据的字段。

此外,所述报头14可以包括被配置成存储对应于所述SIP消息 10的时间标记的一个或多个字段。例如,所述报头14可以包括这样 一个字段,该字段包含表示所述SIP消息10何时进入所述IMS网络 的时间标记(其在下文中被称作“网络进入时间标记”)。所述报头 14还可以包括存储表示所述SIP消息10何时进入和/或离开所述 IMS网络内的任何一个服务器(例如代理服务器)的时间标记。

所述报头14还可以包括存储所述SIP消息10的累计等待时间的 字段。例如,当该SIP消息10到达所述IMS网络内的某一服务器时, 所述等待时间字段可以被更新以便反映自从该SIP消息10进入所述 IMS网络之后所经过的总时间,这是通过从当前系统时间中减去所 述网络进入时间标记而得到的。

如上所述,所述报头14可以包括能够表示所述SIP消息10的相 对优先级的多种报头字段。在一个实施例中,这些附加字段可以被 添加到常规SIP消息报头中,以便存储该信息。例如,可以把一个 表示所述SIP消息10的累计等待时间和/或累计处理时间的字段添 加到所述报头14中。在另一个实施例中,可以使用现有的标准化的 SIP字段来存储所述优先级信息。例如,所述3GPPSIP消息标准已 经包括一个表示所述SIP消息10在所述IMS网络中进行过的跳数的 字段。在又一个实施例中,可以修改标准化的报头字段(比如在3GPP 标准中概述的那些字段)以便存储所述优先级信息。例如,所述3GPP 标准包括一个表示所述SIP消息是否与911紧急呼叫相关的“优先 级”字段。在一个实施例中,可以修改该字段以便存储一个或多个 上述优先级指示符。然而应当认识到,这些报头字段选项并不是排 他的。因此,可以在新报头字段、标准化的报头字段、经过修改的 标准化报头或其组合中存储优先级信息。

此外,本领域技术人员还将认识到,所述报头14中的上述报头 字段仅仅说明该报头14中的多个可能字段当中的几个。因此,在替 换实施例中,在所述报头14中可以包括多种合适的报头字段以作为 对上述字段的补充或替代。例如,在一个实施例中,该报头14可以 包括65个或更多个字段。

所述SIP消息10还可以包括所述消息体16,其包含被用来建立 通信会话的信息。例如,在一个实施例中,所述消息体16可以包括 会话描述协议(“SDP”)净荷,其提供关于所述SIP消息10的发起方、 将为所述通信会话使用的端口的信息、关于可用媒体类型的信息以 及/或者关于将为所述通信会话使用的编解码器的信息。在替换实 施例中,还可以把其他合适的通信会话相关的信息包括在所述消息 体16中。

如上所述,所述SIP消息10便于在IMS网络内的两个用户代理 之间建立通信会话。相应地,图2是根据一个实施例的被配置成对 诸如所述SIP消息10之类的SIP消息进行优先级排序的示例性IMS 网络20的方框图。所述网络20可以包括发起方用户代理22和目的 地用户代理24。所述用户代理22和24可以包括多种合适的电信设 备当中的任何一种,比如电话(有线或无线)、计算机、PDA等等。

出于说明的目的,下面对于IMS网络20的讨论集中于利用所述 SIP消息10并且通过SIP代理服务器请求所述用户代理22与24之 间的新的通信会话(换句话说,即具有INVITE信息类型的SIP消息)。 然而将会认识到,所述INVITE消息类型仅仅是SIP消息类型的一个 例子,因此并不打算是排他性的。相应地,在其他实施例中,可以 在所述IMS网络20内传送除了所述INVITE消息类型之外的其他 SIP消息类型。此外,在其他实施例中,在所述IMS网络20中还可 以采用背对背用户代理(“B2BUA”)或者其他合适类型的服务器。

所述用户代理22可以采用具有所述INVITE消息类型的SIP消 息10来邀请用户代理24参与到与所述用户代理22的通信会话中。 更具体来说,用户代理22可以创建具有所述INVITE消息类型的SIP 消息10。在用户代理22创建了所述SIP消息10之后,它可以把该 SIP消息10传送到网络网关26,该网关提供该用户代理22与所述 IMS网络20的其他组件之间的接口。在各实施例中,所述网关26 可以包括无线调制解调器、无线基站、有线调制解调器或者任何其 他合适形式的网络连接。

当所述网关26接收到所述SIP消息10时,它把该SIP消息10 转发到代理服务器28a。该代理服务器28a(以及下面进一步描述的 代理服务器28b、28c和28d)是被配置成在所述IMS回络20内转 发SIP请求和响应的专用服务器。如下所述,虽然所述用户代理22 和24可以在没有所述代理服务器28a-d的情况下通信,但是所述代 理服务器28a-d可以提供帮助管理所述用户代理22与24之间的通 信会话的多种实用服务。例如,所述代理服务器28a-d可以被配置成 执行以下操作:把请求路由通过所述IMS网络20、进行认证并且提 供安全性、针对特定服务授权所述用户代理22和24、实施呼叫路由 策略、为所述用户代理22和24提供其他特征以及/或者跟踪对所 述IMS网络20的使用。

如图2所示,所述SIP消息IO在到所述用户代理24的途中可 以行经所述网关26并且行经多个代理服务器28a-d。通过所述IMS 网络20的这一逻辑路径被称作“控制路径”。该控制路径是所述SIP 消息在所述IMS网络内所遵循的路径;然而也可以采用下面将进一 步描述的通常更为直接的“媒体路径”,以便在建立了所述通信会话 之后在所述用户代理22与24之间传送数据。所述SIP消息10可以 沿着所述控制路径行进到所述代理服务器28b。该代理服务器28b 可以被配置成把所述SIP消息10路由通过一个或多个应用服务器 30a和30b。所述应用服务器30a和30b走作为所述IMS网络20中 的终端用户服务的主机的计算机。例如,每一个所述应用服务器30a -d可以作为一个或多个数据和/或多媒体服务的主机,所述服务比 如是视频、音频、即时消息传送、即按即说能力、IP语音电话呼叫 等等。将会认识到,虽然在图2中示出两个应用服务器30a和30b, 但是取决于在IMS网络20中可用的多媒体服务的数目以及用户代理 的数目,在所述IMS网络20中可以包括任意合适数目的应用服务器 30a-d。

所述SIP消息10可以被路由到与所述用户代理22所请求的多媒 体服务(如在所述SIP消息10中所定义)相关联的应用服务器30a-d。 例如,如果所述用户代理22请求建立与用户代理24的即时消息传 达会话,则所述代理服务器28b可以把所述SIP消息10传送到支持 即时消息传送的应用服务器,比如应用服务器30a。把所述SIP消息 10传递通过所述应用服务器30a-d并且回到所述SIP代理28b的过 程被称作“螺旋传送(spiraling)”。当所述应用服务器30a接收到所 述SIP消息10时,它可以修改该SIP消息10的消息体16以便包 括该应用服务器30a的IP地址,从而使得该应用服务器成为封应于 该通信会话的控制路径的一个永久成员。所述应用服务器30a还可 以被配置成修改所述SIP消息的其他属性。例如,该应用服务器可 以把一个时间标记附加到所述SIP消息10中,其中该时间标记表示 该SIP消息10到达或离开该应用服务器30a的时间。如下所述,该 时间标记可以便于对所述SIP消息10进行优先级排序。

在所述代理服务器28b把所述SIP消息传送到所述应用服务器 30a(其又把经过修改的消息传送回到代理服务器28b)之后,该代 理服务器28b必须决定是否需要包括另一个应用服务器。如果是的 话,该代理服务器28b向应用服务器30b发送一条新修改的消息, 该应用服务器30b又把消息10的第三实施例转发回到代理服务器 28b。

此时,所述代理服务器28b将能够把所述SIP消息10传送到代 理服务器28c。如图2所示,该代理服务器28c可以把所述SIP消息 10螺旋传送到应用服务器28c和28d的其中之一或全部两个。与所 述应用服务器30a和30b一样,当应用服务器30c或30d接收到所 述SIP消息10时,它可以修改该SIP消息10的消息体16以便包 括所述应用服务器30c或30d的IP地址,从而使得该应用服务器成 为对应于该通信会话的控制路径的永久成员。在一个实施例中,所 述应用服务器30a和30b被配置成代表用户代理22来执行应用,并 且所述应用服务器30c和30d被配置成代表用户代理24来执行应用。

然而将会认识到,所述应用服务器30a-d仅仅是出于说明性的目 的才被示出为耦合到所述代理服务器28b。因此,在替换实施例中, 所述应用服务器30a-d可以被耦合到所述代理服务器28a-d当中的另 一个或者耦合到多个代理服务器28a-d。此外还将认识到,示出4个 代理服务器28a-d仅仅是出于示例性的目的。相应地,在替换实施例 中,所述SIP消息10在从用户代理22到用户代理24的途中可以行 经任何合适数目的代理服务器。此外,虽然没有在图2中示出,但 是还可以把其他类型的SIP服务器耦合到所述代理服务器28a-d。这 些附加的SIP服务器包括但不限于家庭用户或位置服务器、域名服 务器以及重定向服务器。

所述代理服务器28c随后将把所述SIP消息沿着所述控制路径传 送到代理服务器28d,该代理服务器28d将把所述SIP消息10传送 到所述网关32。该网关32与上面描述的网关26类似,其是所述IMS 网络20的其他组件与用户代理24之间的连接。在各实施例中,所 述网关32可以包括无线调制解调器、无线基站和/或有线连接。

当所述用户代理24接收到所述SIP消息10时,该用户代理24 将通过所述IMS网络20沿着所述控制路径发送回一条响应SIP消 息。在预定数目(在一种示例性3G系统中是6个)的SIP消息回合 之后,可以建立与用户代理22的通信会话。一旦建立之后,在用户 代理22与用户代理24之间或者在用户代理22和24与所述应用服 务器30a-d之间的后续非SIP传输就可以绕过所述代理服务器28a -d,并且通过非SIP路由器和/或交换机34直接在用户代理22与 24之间行进。然而将会认识到,SIP和非SIP通信也可以仍然通过 所述代理服务器28a-d沿着所述控制路径行进。

如上所述,常规SIP服务器被配置成按照上面概述的先进先出 (“FIFO”)顺序处理所接收的SIP消息10。然而,这种常规FIFO配 置具有很多缺点并且效率很低。为此,所述IMS网络20中的一个或 多个SIP服务器(比如所述代理服务器28a-d和/或应用服务器 30a-d)被配置成对输入SIP消息10进行优先级排序。相应地,图3 是根据一个实施例的被配置成对SIP消息进行优先级排序的示例性 SIP代理服务器28a的方框图。然而将会认识到,除了SIP代理服务 器28a之外,下面的讨论还可以应用于任何合适类型的SIP服务器。

如图3所示,所述代理服务器28a可以包括网络模块40、SIP 调度模块42和处理模块44。所述网络模块40可以被配置成充当所 述代理服务器28a与所述IMS网络20的其他组件之间的接合点。在 一个实施例中,所述网络模块40可以包括被称作线程的多个软件构 造,其被配置成接收来自所述代理服务器28a上的一个或多个端口 的SIP消息。例如,所述网络模块40可以包括用来接收来自UDP 端口的SIP消息的用户数据报协议(“UDP”)线程以及用来接收来自 TCP端口的SIP消息的传输控制协议(“TCP”)线程。然而将会认识 到,所述UDP线程46和TCP线程48仅仅是示例性的。因此,在替 换实施例中,所述网络模块可以包括被配置成接收流控制传输协议 (“SCTP”)或其他合适通信协议的线程。

所述网络模块40可以把所接收的SIP消息10传送到所述SIP 调度模块42,该调度模块被配置成保持所接收的SIP消息的队列, 并且在该队列内对新接收的SIP消息进行优先级排序。例如,图4 是示出根据一个实施例的用于对SIP消息进行优先级排序的示例性 技术60的流程图。在一个实施例中,所述技术60可以由所述SIP 调度模块42利用JAINTMSIP兼容的JAVA协议栈来执行。例如,所 述技术60可以在由LucentTechnologies生产的MiLifeTMSIP服务器 上执行。在替换实施例中,所述技术60可以由所述IMS系统的其他 组件执行,比如所述代理服务器28b-d、应用服务器30a—d、网关 26和32以及/或者背对背用户代理(图2中未示出)。此外,在一 个实施例中,所述SIP调度模块42可以包括多个队列,所述队列被 配置成存储具有不同优先级的SIP消息10。例如,一个队列可以存 储具有更高优先级的消息,而另一个队列则存储具有较低优先级的 消息。

如图所示,所述技术60可以开始于由所述调度模块42接收输 入SIP消息10,如块62所示。一旦接收到所述输入SIP消息10, 所述SIP调度模块42就可以确定该输入SIP消息10的优先级,如 块64所示。在各实施例中,所述SIP调度模块42可以采用多种不 同的合适优先级排序技术以使确定SIP消息(比如所述输入SIP消 息10)的优先级。

一种上述示例性技术涉及基于特定SIP消息的累计等待时间(也 被称作“网络龄期(age)”)对所述SIP消息10进行优先级排序。更 具体来说,如上所述,所述SIP消息10可以包括所述网络进入时间 标记。通过从当前系统时间中减去该时间标记,所述代理服务器28a 可以确定某一SIP请求在所述IMS网络20中尚未被解析的时间,即 该SIP请求的网络龄期。可选择地,所述SIP消息10可以存储对应 于该SIP消息10的累加的处理和排队时间,并且使用所存储的该值 作为所述SIP消息10的网络龄期。换句话说,还可以作为所述SIP 消息10在所述代理服务器28a-d的控制下的时间量来测量该SIP消 息的网络龄期。

一旦确定了所述SIP请求的网络龄期,所述SIP调度模块42就 可以采用该信息来确定所述SIP消息10的优先级。在一个实施例中, 所述网络龄期本身可以表明该消息的优先级。在这种实施例中,所 述SIP调度模块42被配置成仅仅利用所述网络龄期对所述SIP消息 10进行排序(例如,具有较长网络龄期的那些SIP消息将具有较高 优先级,而具有较短网络龄期的那些SIP信息具有较低优先级,后 面依此类推)。

然而在另一个实施例中,可以把所述网络龄期与存储在所述SIP 消息10中的服务类型相组合,以便确定该SIP消息10的优先级。 相应地,图5是示出根据一个实施例的利用所述网络龄期和服务类 型确定所述SIP消息10的优先级的示例性技术64的流程图。在该 实施例中,可以首先按照上面描述的方式确定所述SIP消息10的网 络龄期(块70)。接下来,所述SIP调度模块42可以从所速SIP消 息10中读取所述服务类型信息(例如即按即说、电子邮件等等), 如块72所示。在读取了所述服务类型之后,所述代理服务器可以确 定与该服务类型相关联的QoS预定时间目标,如块74所示。该Q()s 预定时间目标是通过所述IMS网络20的目标传输时间,其便于维持 对应于所述SIP消息的服务类型的服务质量标准。例如,即按即说 服务通常预定在少于0.5秒内传送所述SIP消息,IP语音则预定在少 于1秒内传送,后面依此类推。

在确定了对应于所述SIP消息10的QoS时间目标之后,所述代 理服务器28a可以把该QoS时间目标与所述SIP消息10的网络“龄 期”进行比较,如块76所示。一旦做了该比较,所述代理服务器28a 就可以基于所述网络龄期与对应于所述SIP消息的所述QoS时间目 标的接近程度来指定优先缀值,如块78所示。例如,可以为其网络 龄期接近或超出所述QoS时间目标的那些SIP消息指定高优先级, 而为离所述QoS时间目标较远的那些SIP消息指定较低优先级值。 在一个实施例中,所述优先级值可以是所述网络龄期与所述QoS时 间目标的接近程度(或超出程度)以及所述应用对违反该目标的容 忍度的函数。

现在转回到图4的块64,在另一个实施例中,确定输入消息的 优先级可以包括基于存储在所述SIP消息10的报头14中的一个或 多个优先级指示符来为该SIP消息10指定优先级。如上所述,所述 报头14可以包括表明以下内容的字段:发出所述SIP消息10的用 户代理的身份、该SIP消息10的预定接收方的身份、该SIP消息的 主题、该消息的服务类型(例如应用类型)、该SIP消息10在所述 IMS网络中进行过的跳数以及/或者被应用于该SIP消息10的累计 处理资源数量的表示。另外,所述报头14还可以包含存储服务质量 (“QoS”)相关的数据的字段、存储服务等级(“GoS”)数据的字段以 及/或者存储允许在所述IMS网络中的用户代理或服务之间进行区 分的其他数据的其他合适字段。

相应地,可以采用存储在所述报头字段或者另一合适的表明优 先级的报头字段中的一个或多个上述优先级指示符来确定所述SIP 消息的优先级。更具体来说,所述优先级可以是以下各项的函数: 服务类型、QoS相关的数据、GoS相关的数据、所述SIP消息10进 行过的跳数、花费在该SIP消息10上的累计处理时间量等等。例如, 在一个实施例中所述优先级是基于服务类型,则可以为一种服务类 型(例如即按即说)的所有SIP消息指定高于另一种服务类型(例 如语音IP)的所有SIP消息的优先级,而后一种服务类型的优先级 又可以高于另一种服务类型,后面依此类推。

更具体来说,在该实施例中,当所述SIP调度模块42接收到所 述SIP消息10时,它可以确定存储在该SIP消息10中的服务类型, 即在本例中的即按即说。该SIP调度模块42随后可以确定与即按即 说的示例性服务类型相关联的优先级数值。该优先级值是一个数值, 其反映与其他服务类型的消息相比处理和/或重传所述即按即说消 息的相对优先级。例如,对应于所述即按即说服务类型的优先级值 可以是5,而对应于即时消息传送SIP消息的优先级值可以是l,其 中更高的数值表明更高优先级的服务类型。在一个实施例中,所述 SIP调度模块42可以存储与每一个报头字段值相关联的数值的列表 (例如在上面的例子中是与每一种所述服夯类型相关联的数值的列 表)。

在另一个例子中,如果所述优先级值是基于GoS因素而不是服 务类型,则与源自用户代理22的具有较低成本服务计划的那些SIP 消息相比,可以为源自用户代理22的使用较高成本服务计划的那些 SIP消息指定较高优先级。如下面进一步描述的那样,一旦指定了所 述优先级值,所述SIP调度模块42就可以使用所述优先级值在其他 所接收的SIP消息当中对所述SIP消息10进行排序,以供传输到处 理线程50和52的其中之一,正如下面关于块68进一步描述的那样。

类似地,在另一个实施例中,所述优先级值可以是存储在所述 SIP消息10的起始行12中的消息类型的函数。例如,与具有其他消 息类型(比如INVITE消息类型)的SIP消息相比,所述SIP调度模 块42可以为具有某种消息类型(例如BYE)的那些SIP消息指定较 高优先级值。更具体来说,可以为具有BYE消息类型的SIP消息指 定较高优先级值,这是因为BYE消息终止通信会话,因此如果更早 处理这些消息,则可以减轻所述IMS网络20的拥塞。用于确定所述 SIP消息10的优先级的另一种合适的技术涉及计算对应于输入SIP 消息10的时间加权的优先级值,在该实施例中,对应于所述SIP消 息10的时间加权的优先级值是通过把该SIP消息的网络龄期(如上 所述)乘以该SIP消息的优先级数值(同样如上所述)来计算的。 例如,如果所述优先级值是基于消息类型,则所述SIP调度模块42 可以确定对应于所述SIP消息10的优先级值并且随后把所确定的该 优先级值乘以该SIP消息10的网络龄期,以便获得对应于该SIP消 息10的时间加权的优先级值。例如,如果到达所述SIP调度模块42 的第一条SIP消息的消息类型为即时消息传送并且其网络龄期为0.6 秒,则所述时间加权的优先级值将是0.6(即1*0.6,其中假设即时 消息传送的优先级值为1)。另一方面,如果到达所述SIP10调度模 块42的第二条SIP消息的消息类型为即按即说并且其网络龄期 为0.4秒,则其时间加权的优先级值将是2.0(即5*0.4,其中如上所 述假设即按即说消息的优先级值为5)。这样,所述SIP调度模块 42能够基于所述报头14内的优先级指示符和所述SIP消息10的网 络龄期来对输入消息进行优先级排序。如下面将进一步描述的那样, 这种优先级排序可以被采用来在其他SIP消息当中对所述SIP消息 10进行排序,以供处理线程50和52的其中之一进行处理。

在另一个实施例中,所述SIP代理服务器28a还可以被配置成重 新调整消息的优先级,以便改变对所述SIP消息10的下游处理。特 别地,所述SIP代理服务器28a将调整存储在所述SIP消息10的报 头l4中的一个或多个时间标记。例如,所迷SIP代理服务器28a可 以调整表示所述SIP消息10进入所述IMS网络20的时间的时间标 记,以便人为地提升该SIP消息10的优先级,这是通过使得在所述 IMS网络20的其他组件(即下游组件)看来该SIP消息10的网络 龄期大干其实际网络龄期而实现的。按照这种方式调整所述网络龄 期可以导致下游组件(例如代理服务器28d)与具有相同实际网络龄 期(或更早)的其他消息相比为所述SIP消息10给出更高优先级。 有利地,这一更高优先级允许与其他消息相比更快地处理所述SIP 消息10,从而减少了该SIP消息10通过所述IMS网络20的总传输 时间。

更具体来说,在一个实施例中,所述SIP代理服务器28a可以首 先被配置成识别出包含一个或多个优先级指示符(例如上面所描述 的服务类型、QoS因素等等)的SIP消息。例如,所述SIP代理服 务器28a将识别出所有即按即说SIP消息。接下来,当包含所述优 先级指示符的SIP消息到达所述SIP代理服务器28a时,该SIP代理 服务器28a将调整所述SIP消息10的网络进入时间标记,以便表明 处在或者接近所述QoS预定时间目标的网络龄期。在一个实施例中, 所述SIP代理服务器将调整所述网络龄期时间标记,以便表明近似 为所述QoS预定时间目标的80%的网络龄期。例如,如果即按即说 消息具有0.5秒的QoS预定时间目标,则所述SIP代理服务器28a 将把所述网络进入时间标记改变为当前时间之前0.4秒。一旦改变了 所述时间标记,所述SIP代理服务器28a就将基于经过调整的时间 标记对所述SIP消息10进行优先级排序(参见上面的块64)。

按照上述方式调整所述SIP消息10的网络龄期提供了用于根据 所述报头14内的优先级指示符和所述SIP消息10的网络龄期进行 优先级排序的另一种技术。有利的是,调整所述SIP消息10的网络 龄期可以简化由所述SIP调度模块42对SIP消息的排序(下面将关 于图4的块66更加详细地进行描述),这是因为可以仅仅根据所有 等待处理的SIP消息的相对网络龄期来执行所述排序。换句话说, 即使所述优先级排序实际上是同时基于优先级指示符和实际网络龄 期,所述SIP调度模块42也可以被配置成仅仅利用网络龄期来指定 优先级,这是因为已经在考虑了来自所述SIP消息的优先级指示符 的情况下调整了所述网络龄期。

例如,如果对应于即按即说SIP消息的预定目标时间是0.5秒, 则所述SIP代理服务器28a可以被配置成识别出与即按即说服务相 关联的SIP消息并且调整存储在所述报头14中的时间标记,以便表 明所述即按即说SIP消息的网络龄期为0.3秒。相反,所述SIP代理 服务器28a可以被配置成不调整与即时消息传送相关联的SIP消息 的时间标记。这样,与上面描述的时间加权的优先级值类似,可以 同时根据来自所述报头14的优先级指示符和网络龄期为所述SIP消 息指定优先级。然而将会认识到,这个例子仅仅是示例性的。

在其他实施例中,所述SIP调度模块42可以被配置成根据SIP 服务器(例如所述SIP代理服务器28a)的利用率来对所述SIP消息 10进行优先级排序。换句话说,所述SIP调度模块42可以被配置 成根据所述SIP代理服务器28a的繁忙程度把某些类型的SIP消息的 优先级排在其他类型的SIP消息之前。例如,图6是根据一个实施 例的用于确定输入SIP消息10的优先级的另一种示例性技术64的 流程图。如图6中的块80所示,所述技术64可以开始于确定所述 SIP代理服务器28a的利用率。在一个实施例中,所述SIP调度模块 42可以被配置成跟踪所述SIP代理服务器28a的利用率,从而可以 通过访问其存储器来确定该SIP代理服务器28a的利用率。

如果所述SIP代理服务器28a正处在或接近其容量运行(例如在 图6的块82中示出的实施例中是90%的CPU利用率),则所述SIP 调度模块可以被配置成为终止通信会话的那些SIP消息指定更高优 先级值,从而降低该SIP代理服务器28a的利用率(块84)。换句 话说,可以用来减少总体网络拥塞的那些SIP消息由于其更高的优 先级值而被“推”到所述队列的前方而不是必须等待。终止会话的 示例性SIP消息可以包括消息类型为BYE或CANCEL的SIP消息。

另一方面,如果所述SIP代理服务器28a正低于容量运行(例如 在块86中示出的实施例中是20%或更低的CPU利用率),则所述 SIP调度模块可以被配置成为建立新通信会话的那些SIP消息(比如 INVITE或MESSAGE消息类型)指定更高优先级值(块88)。类 似地,可以基于所述IMS网络20的网络利用率或者所述SIP代理服 务器28a的存储器使用率来进行优先级排序。例如,如果所述SIP 代理服务器28a用完了其存储器的大部分,则可以为可用来降低对 所述SIP代理服务器28a的需求的那些SIP消息给出优先级。

本领域技术人员将认识到,上面描述的优先级排序技术仅仅是 示例性的,因此并不打算是排他性的。因此,由所述SIP调度模块 42采用的所述优先级排序技术可以包括上述技术的其中之一、可以 包括上述技术的组合或者可以包括其他合适的优先级排序技术。

再次回到图3和图4,所述技术60可以继续,其中由所述SIP 调度模块42在等待于该SIP调度模块42的SIP消息队列(未示出) 中的其他SIP消息当中对输入SIP消息进行排序,如块66所示。由 于所述SIP消息队列内的每一条SIP消息的优先级值是基于其到达 所述SIP调度模块42而被指定的,因此对输入SIP消息进行排序可 以简单地涉及确定该输入SIP消息应当位于所述队列中的什么位置 处。换句话说,所述输入SIP消息被放置在更高优先级的SIP消息 之后但是在更低优先级的SIP消息之前。

在对所述输入SIP消息进行了排序之后,所述SIP调度模块42 可以被配置成把该输入SIP消息插入到所述队列内的适当位置处, 如块68所示。一旦该输入SIP消息到达所述SIP消息队列的顶部, 所述SIP调度模块42就将把该SIP消息传送到所述处理模块44内 的处理线程50和52中的其中之一。与所述UDP线程46和TCP线 程48类似,所述处理线程50和52是软件构造,其被配置成处理所 述SIP消息并且将其传送到代理服务器28b-d中的另一个、其中一 个应用服务器30a-d、网关32或者另一个计算机或电子设备。

在一个实施例中,所述SIP代理服务器28a还可以被配置成在由 所述处理线程50和52进行了处理之后对所述SIP消息进行优先级 排序。更具体来说,如果所述SIP代理服务器很忙,则与所述SIP 代理服务器28a能够沿着所述控制路径将所述SIP消息传送到下一 个服务器相比,所述处理线程50和52可能能够更快地处理所述SIP 消息。在这种情况下,所述处理模块44可以被配置成产生等待传输 的SIP消息的队列。还可以利用图4中示出的技术60以及/或者图 5和图6中示出的技术对该传输队列进行优先级排序。例如,可以基 于服务类型、网络龄期、时间加权的优先级值、网络利用率等等对 经过处理的SIP消息进行优先级排序。

虽然本发明可以具有各种修改和替换形式,但是在附图中通过 举例的方式示出了特定实施例并且在这里进行了详细描述。然而应 当理解,本发明不打算限于所公开的特定形式。相反,本发明应当 覆盖落在由所附权利要求书所限定的本发明的范围内的所有修改、 等同方案和替换方案。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号