CN103888351B - 在基于多路径路由的网络中管理多个会话的方法及装置 - Google Patents

在基于多路径路由的网络中管理多个会话的方法及装置 Download PDF

Info

Publication number
CN103888351B
CN103888351B CN201210558619.5A CN201210558619A CN103888351B CN 103888351 B CN103888351 B CN 103888351B CN 201210558619 A CN201210558619 A CN 201210558619A CN 103888351 B CN103888351 B CN 103888351B
Authority
CN
China
Prior art keywords
session
priority
preemption
limitation
sessions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210558619.5A
Other languages
English (en)
Other versions
CN103888351A (zh
Inventor
徐金荣
王志雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Global Technologies International Ltd
Original Assignee
Lenovo Enterprise Solutions Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Enterprise Solutions Singapore Pte Ltd filed Critical Lenovo Enterprise Solutions Singapore Pte Ltd
Priority to CN201210558619.5A priority Critical patent/CN103888351B/zh
Priority to PCT/CN2013/087465 priority patent/WO2014094518A1/en
Priority to DE112013006187.2T priority patent/DE112013006187T5/de
Priority to US14/094,703 priority patent/US10044770B2/en
Publication of CN103888351A publication Critical patent/CN103888351A/zh
Application granted granted Critical
Publication of CN103888351B publication Critical patent/CN103888351B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/726Reserving resources in multiple paths to be used simultaneously

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种在基于多路径路由的网络中管理多个会话的方法。该方法包括:由建立所述多个会话的节点向所述多个会话的对等节点通告会话限制能力;确定所述多个会话的优先级;以及根据所配置的表明可接受的会话的数量的会话限制参数和所确定的所述多个会话的优先级,从所述多个会话中选择最佳会话。此外,本发明还公开了相应的装置。

Description

在基于多路径路由的网络中管理多个会话的方法及装置
技术领域
本发明涉及多路径路由(Multi-Path Routing)技术,更具体地,涉及在基于多路径路由的网络中管理多个会话的方法及装置。
背景技术
多路径路由技术,特别是等价多路径(Equal Cost Multi-Path,简称ECMP)或者加权多路径(Weighted Cost Multi-Path,简称WCMP)路由技术,可被广泛地应用于基于动态路由协议的IP网络中。动态路由协议可分为内部网关协议(Interior Gateway Protocol,简称IGP)和外部网关协议(Exterior GatewayProtocol,简称EGP),其中内部网关协议例如包括开放式最短路径优先(OpenShortest Path First,简称OSPF)路由协议、中间系统到中间系统(IntermediateSystem to Intermediate System,简称IS-IS)路由协议等,外部网关协议例如包括边界网关协议(Border Gateway Protocol,简称BGP)等。
在基于多路径路由的IP网络中,存在可到达同一个目的地址的多个不同链路。IP数据包可利用其中一个链路经由至少一个中间节点被路由到目的节点,其中两个节点之间的连接以及信息交换可称为会话。当IP网络采用ECMP或者WCMP路由技术时,可以同时使用多个链路传输数据包,从而能够增加传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。
图2示出了一般的基于ECMP或WCMP路由的IP网络的示意图。如图2所示,数据业务可从节点1经由多个中间节点到达目的网络。节点1可建立到多个中间节点的多个ECMP或WCMP会话,并且这些会话分别建立在单个链路上。然而,由于IP网络的拓扑问题或者路由器的硬件或软件问题等,会造成某些协议接口或物理端口发生故障、然后再恢复的情况(链路的振荡),而这将导致会话的振荡。在基于ECMP或WCMP路由的IP网络中,IP数据业务可同时使用多个ECMP或WCMP会话。即使ECMP或WCMP会话发生了振荡,IP数据业务也仍会使用这些振荡的ECMP或WCMP会话。因此,当ECMP或WCMP会话发生振荡时,可能会导致IP数据包的丢失。
为了降低IP数据包的丢失,可以在例如图2所示的IP网络中的节点之间使用包括多个链路的链路聚合(trunk)。在这种情况下,只要有一个链路可用,ECMP或WCMP会话就能够维持。然而,在某些情况下,数据包丢失的情形仍然存在。如果链路聚合发生故障或被阻塞,则会发生数据包的丢失。此外,如果IP数据业务通过哈希算法被映射到链路聚合中不稳定的链路上,则当链路发生振荡时,ECMP或WCMP会话也将发生振荡,从而导致数据包丢失。
发明内容
根据本发明的一个方面,提供了一种在基于多路径路由的网络中管理多个会话的方法,包括:由建立所述多个会话的节点向所述多个会话的对等节点通告会话限制能力;确定所述多个会话的优先级;以及根据所配置的表明可接受的会话的数量的会话限制参数和所确定的所述多个会话的优先级,从所述多个会话中选择最佳会话。
根据本发明的另一个方面,提供了一种在基于多路径路由的网络中管理多个会话的装置,包括:通告模块,其被配置为向所述多个会话的对等节点通告会话限制能力;优先级确定模块,其被配置为确定所述多个会话的优先级;以及选择模块,其被配置为根据所配置的表明可接受的会话的数量的会话限制参数和所确定的所述多个会话的优先级,从所述多个会话中选择最佳会话。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
图2是一般的基于ECMP或WCMP路由的IP网络的示意图;
图3是根据本发明的一个实施例的在基于多路径路由的网络中管理多个会话的方法的流程图;
图4是图3所示的实施例中通告会话限制能力的步骤的示意性流程图;
图5是示例性地说明会话限制能力消息的格式的示意图;
图6是图3所示的实施例中确定会话的优先级的步骤的示意性流程图;
图7是说明会话队列的一个实例的示意图;
图8是图3所示的实施例中选择最佳会话的步骤的一个实施例的示意性流程图;
图9是图3所示的实施例中选择最佳会话的步骤的另一个实施例的示意性流程图;
图10是根据本发明的一个实施例的在基于多路径路由的网络中管理多个会话的装置的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
图3是根据本发明的一个实施例的在基于多路径路由的网络中管理多个会话的方法的流程图。下面结合附图,对本实施例进行详细描述。
本实施例的方法主要涉及与多个对等节点建立多个会话的节点对这些会话的管理。多个会话可以是基于ECMP或WCMP的会话或者任何可以同时路由数据业务到同一个目的地址的会话。
如图3所示,在步骤S310,由建立多个会话的节点向多个会话的对等节点通告会话限制能力。会话限制能力用于表明节点能够限制会话的能力。
下面结合图4具体说明步骤S310。如图4所示,在步骤S410,节点向多个对等节点分别发送会话限制能力消息。在本实施例中,会话限制能力消息可至少包括指示节点的会话限制能力的指示符。可选地,会话限制能力消息还可包括表明可接受的会话的数量的会话限制参数、当前会话数量等参数。会话限制参数可由使用者或管理者配置,而当前会话数量是当前所建立的多个会话的个数之和。
在一个实施例中,首先,节点接受使用者或管理者对会话限制参数的配置。然后,节点可生成会话限制能力消息。图5示例性地示出了会话限制能力消息的格式的示意图。如图5所示,会话限制能力消息可包括“代码(code)”、“长度(length)”、“子代码1(sub-code1)”、“子代码2(sub-code2)”、“会话限制(session limit)”、“当前会话(currentsession)”、“长度1(length 1)”、“长度2(length 2)”和“保留(reserved)”字段。“代码(code)”字段可用作唯一地指示会话限制能力的指示符,其长度可以是8比特。“长度(length)”字段可用于指示会话限制能力消息的长度,其长度可以是8比特。“子代码1(sub-code 1)”字段可用于标识会话限制能力的特征,例如会话限制参数。“子代码2(sub-code2)”字段可用于标识当前会话的特征,例如当前会话数量。“子代码1(sub-code1)”字段和“子代码2(sub-code2)”字段的长度可以分别是8比特。“会话限制(session limit)”字段可用于指示可接受的会话的数量的阈值,其长度可以是16比特。“当前会话(currentsession)”字段可用于指明所建立的会话的当前实际数量,其长度可以是16比特。“长度1(length 1)”字段和“长度2(length 2)”字段分别表示“会话限制(session limit)”字段和“当前会话(current session)”字段的长度,这两个字段的长度都可以是8比特。“保留(reserved)”字段可以是16比特长度的字段,其在会话限制能力参数被发送时设置为0,并在接收时被忽略。
虽然图5示出了会话限制能力消息的一个例子,但本领域的普通技术人员能够容易知道,会话限制能力消息还可以包括其它参数或者使用其它格式。
在生成会话限制能力消息之后,节点可向多个对等节点分别发送会话限制能力消息。会话限制能力消息可以在会话初始化期间发送,也可以在会话建立之后发送。在会话初始化期间,会话限制能力消息可以使用初始能力消息发送。例如,在基于BGP协议的网络中,会话限制能力消息可以作为BGP协议的OPEN消息的一部分被发送到对等节点。在会话已经建立之后,当需要进行会话管理或者会话限制能力消息中的参数值发生变化时,可以使用动态能力消息发送会话限制能力消息。例如,在基于BGP协议的网络中,会话限制能力消息可以作为BGP协议的UPDATE消息的一部分发送到对等节点。
然后,在步骤S420,节点从对等节点接收对所发送的会话限制能力消息的响应。如果来自对等节点的响应是肯定的,即,对等节点接受会话限制能力消息,这表明对等节点支持会话限制,则在步骤S430,记录相应的对等节点及对应的会话。然后,对于所记录的会话进行会话管理。如果来自对等节点的响应是否定的,即,对等节点不接受会话限制能力消息,这表明对等节点不支持会话限制,则在步骤S440,对于与相应对等节点之间的会话不进行会话管理,而是进行一般的会话处理。
为了方便说明,在以下的描述中,假定节点所建立的多个会话的对等节点都支持会话限制。
返回到图3,在向对等节点通告了会话限制能力后,在步骤S320,节点确定多个会话的优先级。在本实施例中,使用会话的优先级以反映会话的稳定性。优先级越高,会话越稳定,反之,优先级越低,会话越不稳定。
图6示出了步骤S320的示意性流程图。如图6所示,在步骤S610,指定多个会话的每一个的优先级。在本实施例中,可以最初将每一个会话的优先级指定为最高优先级。然后,在步骤S620,监控会话的状态,并在步骤S630,根据所监控的会话的状态的变化,修改会话的优先级。在一个实施例中,可以监控会话是否发生振荡。如前所述,当会话发生振荡时,会话的稳定性相应地下降。因此,当监控到会话发生振荡时,降低发生振荡的会话的优先级。每当监控到会话发生振荡时,就将该会话的优先级降低一级。如果会话未发生振荡,则继续维持该会话的优先级,并在会话未发生振荡的时间超过预定时间时,提高该会话的优先级。通过不断地监控会话的状态并相应地修改优先级,可以实时地反映会话的稳定性。
在另一个实施例中,在确定了多个会话的优先级之后,还可以使用会话队列以对会话进行排序。具体地,首先建立多个会话队列,其中每一个会话队列具有与会话的优先级对应的优先级。例如,会话的优先级有N级,则相应地,会话队列的优先级也有N级。接着,在多个会话队列中分别加入具有对应的优先级的会话。这样,在优先级为n的会话队列中包括所有优先级为n的会话。在同一个会话队列中,会话按照进入会话队列的时间进行排序。
图7示出了使用会话队列对会话进行排序的一个实例的示意图。在图7中,示出了(k+1)个会话队列,分别对应(k+1)个优先级。在(k+1)个会话队列中,会话队列Queue[0]的优先级最高,会话队列Queue[k]的优先级最低。每个会话队列包括多个会话S(i,j),其中i表示会话队列的编号,j表示会话的编号。在每个会话队列中,会话按照进入会话队列的时间进行排序。例如,在会话Queue[t]中有c个会话,其中会话S(t,1)最先进入该会话队列,而会话S(t,c)最后进入会话队列。在该例子中,会话队列Queue[0]可被配置为非抢占队列,其包括的会话S(0,1)、S(0,2)、…、S(0,n)成为非抢占会话,不能被抢占。其它会话队列可被配置为抢占队列,其包含的会话成为抢占会话,能够被抢占。在另一个例子中,也可以将(k+1)个会话队列中的一部分会话队列配置为非抢占队列,而其它会话队列被配置为抢占队列。
返回到图3,在确定了多个会话的优先级后,在步骤S330,节点可根据所配置的会话限制参数和所确定的多个会话的优先级,从多个会话中选择最佳会话。
图8示出了步骤S330的一个实施例的示意性流程图。如图8所示,在步骤S810,节点将当前会话数量与会话限制参数进行比较。如果当前会话数量小于或者等于会话限制参数,则表明当前所有会话都将不被限制,因此,在步骤S820,节点选择当前所有会话作为最佳会话。如果当前会话数量大于会话限制参数,则在步骤S830,按照优先级从高到低的顺序,从多个会话中选择数量等于会话限制参数的会话作为最佳会话,剩余的会话将受到限制。剩余的会话可以被关闭或者被失效。
在使用会话队列对会话进行排序的情况下,选择从优先级最高的会话队列开始,在同一个会话队列中,优先选择进入会话队列早的会话。在图7所示的例子中,假定会话限制参数为n+a+b+1,则从优先级最高的会话队列Q[0]开始,选择会话队列Q[0]、Q[1]、…、Q[t-1]中的所有会话以及会话队列Q[t]中的会话S(t,1),作为最佳会话,剩余的会话受到限制。
图9示出了步骤S330的另一个实施例的示意性流程图。该实施例可适用于多个会话的一部分被配置为非抢占会话而剩余的会话被配置为抢占会话的情形。
如图9所示,步骤S910和S920与图8中的步骤S810和S820相同。如果在步骤S910的比较中,当前会话数量大于会话限制参数,则在步骤S930,进一步比较非抢占会话的数量与会话限制参数。如果非抢占会话的数量小于会话限制参数,则在步骤S940,选择所有非抢占会话作为最佳会话的一部分,并在步骤S950,按照优先级从高到低的顺序选择数量等于会话限制参数与非抢占会话的数量的差的抢占会话,作为最佳会话的另一部分,剩余的抢占会话将受到限制。如果非抢占会话的数量大于或等于会话限制参数,则在步骤S960,选择所有非抢占会话作为最佳会话。
在实行会话管理期间,如果新的会话被建立或已有的会话被关闭,则当前会话数量增加或减少,向对等节点通告变化的会话限制能力参数,并执行随后的会话管理。
通过以上描述可以看出,本实施例的方法通过对基于多路径路由的网络中的多个会话进行限制和控制,能够保留多个会话中稳定的会话,而避免通过不稳定的会话来路由数据业务,从而使得网络更加稳定和可靠,并能够减少数据包的丢失。
在相同的发明构思下,图10示出了根据本发明的一个实施例的在基于多路径路由的网络中管理多个会话的装置1000的示意性框图。下面结合附图对本实施例进行详细描述,其中对于与前面实施例相同的部分,适当省略其说明。
在本实施例中,多个会话被建立在本实施例的装置1000与多个对等节点之间。多个会话可以是基于ECMP或WCMP的会话或者任何可以同时路由数据业务到同一个目的地址的会话。
如图10所示,本实施例的装置1000可包括:通告模块1001,其被配置为向多个会话的对等节点通告会话限制能力;优先级确定模块1002,其被配置为确定多个会话的优先级;以及选择模块1003,其被配置为根据所配置的会话限制参数和所确定的多个会话的优先级,从多个会话中选择最佳会话。
在本实施例的装置1000中,通告模块1001可向多个会话的对等节点通告会话限制能力。在通告模块1001中,发送单元10011可向多个对等节点分别发送会话限制能力消息。会话限制能力消息可至少包括指示节点的会话限制能力的指示符。可选地,会话限制能力消息还可包括会话限制参数。发送单元10011可以在会话初始化期间使用初始能力消息或者在会话已建立后使用动态能力消息发送会话限制能力消息。然后,接收单元10012可从多个对等节点接收对会话限制能力消息的响应。如果来自对等节点的响应是肯定的,即,对等节点支持会话限制,则记录单元10013记录发送肯定响应的对等节点及对应的会话。如果来自对等节点的响应是否定的,即,对等节点不支持会话限制,则不对与该对等节点之间的会话进行会话限制。
在通告模块1001向对等节点通告了会话限制能力并获得来自对等节点的肯定响应后,优先级确定模块1002确定多个会话的优先级。在本实施例中,会话的优先级反映会话的稳定性。在优先级确定模块1002中,优先权指定单元10021可指定多个会话的优先级。最初,会话的优先级可被指定为最高。然后,监控单元10022可监控多个会话的状态。例如,监控单元10022可监控多个会话是否发生振荡。如前所述,当会话发生振荡时,会影响会话的稳定性。根据监控单元10022所监控的会话的状态的变化,优先权修改单元10023可修改会话的优先级。具体地,当监控单元10022监控到有会话发生了振荡时,优先权修改单元10023降低发生振荡的会话的优先级。当监控单元10022监控到有会话在预定时间内没有发生振荡时,优先权修改单元10023提高该会话的优先级。
然后,选择模块1003根据所配置的会话限制参数和优先级确定模块1002所确定的会话的优先级,选择最佳会话。在选择模块1003中,比较单元10031比较当前会话数量与会话限制参数。在当前会话数量小于或等于会话限制参数时,选择单元10032选择当前所有会话作为最佳会话。在当前会话数量大于会话限制参数时,选择单元10032按照优先级从高到低的顺序,选择数量等于会话限制参数的会话作为最佳会话。然后,剩余的会话将被关闭或失效。
在另一个实施例中,可以进一步将多个会话中的一部分会话配置为非抢占会话,而将剩余的会话配置为抢占会话。在这种情况下,比较单元10031在当前会话数量大于会话限制参数时,进一步比较非抢占会话的数量与会话限制参数。当非抢占会话的数量小于会话限制参数时,选择单元10032选择所有非抢占会话作为最佳会话的一部分,然后,按照优先级从高到低的顺序选择数量等于会话限制参数与非抢占会话的数量的差的抢占会话,作为最佳会话的另一部分。剩余的抢占会话将受到限制。当非抢占会话的数量大于或等于会话限制参数时,选择单元10032选择所有非抢占会话作为最佳会话。
此外,本实施例的装置1000还可包括队列建立模块1004,其被配置为建立多个会话队列,其中多个会话队列具有与多个会话的优先级对应的优先级;以及会话加入模块1005,其被配置为在多个会话队列中分别加入具有对应的优先级的会话。在这种情况下,选择单元10032从优先级最高的会话队列开始进行选择,并在同一个会话队列中,优先选择进入会话队列早的会话。
应当注意,本实施例的在基于多路径路由的网络中管理多个会话的装置1000可在操作上实现图3至图9所示的在基于多路径路由的网络中管理多个会话的方法。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (18)

1.一种在基于多路径路由的网络中管理多个会话的方法,包括:
由建立所述多个会话的节点向所述多个会话的对等节点通告会话限制能力;
确定和设置所述多个会话的优先级,每个所确定的所述多个会话的单个会话的优先级基于所述单个会话的稳定性;以及
根据所配置的表明可接受的会话的数量的会话限制参数和所确定的所述多个会话的优先级,从所述多个会话中选择最佳会话。
2.根据权利要求1所述的方法,其中,由建立所述多个会话的节点向所述多个会话的对等节点通告会话限制能力包括:
向所述对等节点发送会话限制能力消息,其至少包括指示所述会话限制能力的指示符;
从所述对等节点接收一个或多个对所述会话限制能力消息的响应;
响应于来自与第一会话相关联的第一对等节点的第一响应是否定的,对所述第一会话进行一般的会话管理;以及
响应于来自与第二会话相关联的第二对等节点的第二响应是肯定的,记录所述第二对等节点和所述第二会话。
3.根据权利要求1所述的方法,其中,确定所述多个会话的优先级包括:
指定所述多个会话的优先级,其中,为具有较高稳定性的会话指定较高的优先级,相较于为具有较低稳定性的会话指定较低的优先级;
监控所述多个会话的状态;以及
根据所述多个会话的所述状态的变化,修改所述多个会话的所述优先级。
4.根据权利要求3所述的方法,其中,监控所述多个会话的状态包括:监控所述多个会话是否发生振荡。
5.根据权利要求4所述的方法,其中,根据所述多个会话的所述状态的变化,修改所述多个会话的所述优先级包括:
如果在所述多个会话中监控到有会话发生了振荡,则降低发生振荡的会话的优先级;以及
如果在所述多个会话中监控到有会话在预定时间内没有发生振荡,则提高所述会话的优先级。
6.根据权利要求1所述的方法,其中,根据所配置的表明可接受的会话的数量的会话限制参数和所确定的所述多个会话的优先级,从所述多个会话中选择最佳会话包括:
比较当前会话数量与所述会话限制参数,每个会话包括两个节点之间的连接和它们之间的信息交换;
如果所述当前会话数量小于或者等于所述会话限制参数,则选择当前所有会话作为最佳会话;以及
如果所述当前会话数量大于所述会话限制参数,则按照优先级从高到低的顺序选择数量等于所述会话限制参数的会话作为最佳会话。
7.根据权利要求1所述的方法,其中,所述多个会话的一部分被配置为非抢占会话,剩余的会话被配置为抢占会话,其中,所述多个会话从以下会话组成的组中选择:等价多路径(ECMP)会话和加权多路径(WCMP)会话。
8.根据权利要求7所述的方法,其中,根据所配置的表明可接受的会话的数量的会话限制参数和所确定的所述多个会话的优先级,从所述多个会话中选择最佳会话包括:
比较当前会话数量与所述会话限制参数;
如果所述当前会话数量小于或者等于所述会话限制参数,则选择当前所有会话作为最佳会话;
如果所述当前会话数量大于所述会话限制参数,则比较所述非抢占会话的数量与所述会话限制参数;
如果所述非抢占会话的数量小于所述会话限制参数,则选择所述非抢占会话,并按照优先级从高到低的顺序选择数量等于所述会话限制参数与所述非抢占会话的数量的差的抢占会话;
如果所述非抢占会话的数量等于所述会话限制参数,则选择所述非抢占会话作为最佳会话,其中,所选择的非抢占会话的数量等于所述会话限制参数;以及
如果所述非抢占会话的数量大于或等于所述会话限制参数,则选择所述非抢占会话作为最佳会话,其中,选择所有所述非抢占会话作为最佳会话并将所述会话限制参数增大到等于所述非抢占会话的数量。
9.根据权利要求1至8任意一项所述的方法,还包括:
建立多个会话队列,其中,所述多个会话队列具有与所述多个会话的优先级对应的优先级,至少一个会话队列被配置为仅存储非抢占队列,至少一个会话队列被配置为仅存储抢占队列;以及
在所述多个会话队列中分别加入具有对应的优先级的会话。
10.一种在基于多路径路由的网络中管理多个会话的装置,包括:
通告模块,其被配置为向所述多个会话的对等节点通告会话限制能力;
优先级确定模块,其被配置为确定和设置所述多个会话的优先级,每个所确定的所述多个会话的单个会话的优先级基于所述单个会话的稳定性;以及
选择模块,其被配置为根据所配置的表明可接受的会话的数量的会话限制参数和所确定的所述多个会话的优先级,从所述多个会话中选择最佳会话。
11.根据权利要求10所述的装置,其中,所述通告模块包括:
发送单元,其被配置为向所述对等节点发送会话限制能力消息,其至少包括指示所述会话限制能力的指示符;
接收单元,其被配置为从所述对等节点接收一个或多个对所述会话限制能力消息的响应;以及
记录单元,其被配置为响应于来自与第一会话相关联的第一对等节点的第一响应是肯定的,记录所述第一对等节点和所述第一会话,其中,响应于来自与第二会话相关联的第二对等节点的第二响应是否定的,对所述第二会话进行一般的会话管理。
12.根据权利要求10所述的装置,其中,所述优先级确定模块包括:
优先权指定单元,其被配置为指定所述多个会话的优先级,其中,为具有较高稳定性的会话指定较高的优先级,相较于为具有较低稳定性的会话指定较低的优先级;
监控单元,其被配置为监控所述多个会话的状态;以及
优先权修改单元,其被配置为根据所述多个会话的所述状态的变化,修改所述多个会话的所述优先级。
13.根据权利要求12所述的装置,其中,所述监控单元被配置为监控所述多个会话是否发生振荡。
14.根据权利要求13所述的装置,其中,所述优先权修改单元被配置为:
在所述监控单元监控到在所述多个会话中有会话发生了振荡时,降低发生振荡的会话的优先级,以及
在所述监控单元监控到在所述多个会话中有会话在预定时间内没有发生振荡时,提高所述会话的优先级。
15.根据权利要求10所述的装置,其中,所述选择模块包括:
比较单元,其被配置为比较当前会话数量与所述会话限制参数;以及
选择单元,其被配置为在所述当前会话数量小于或者等于所述会话限制参数时,选择当前所有会话作为最佳会话,以及在所述当前会话数量大于所述会话限制参数时,按照优先级从高到低的顺序选择数量等于所述会话限制参数的会话作为最佳会话。
16.根据权利要求10所述的装置,其中,所述多个会话的一部分被配置为非抢占会话,剩余的会话被配置为抢占会话。
17.根据权利要求10所述的装置,其中,所述选择模块包括:
比较单元,其被配置为比较当前会话数量与所述会话限制参数,并在所述当前会话数量大于所述会话限制参数时,比较非抢占会话的数量与所述会话限制参数;以及
选择单元,其被配置为在所述当前会话数量小于或者等于所述会话限制参数时,选择当前所有会话作为最佳会话,以及在所述非抢占会话的数量小于所述会话限制参数时,选择所述非抢占会话,并按照优先级从高到低的顺序选择数量等于所述会话限制参数与所述非抢占会话的数量的差的抢占会话,在所述非抢占会话的数量等于所述会话限制参数时,选择所述非抢占会话作为最佳会话,其中,所选择的非抢占会话的数量等于所述会话限制参数,以及在所述非抢占会话的数量大于或等于所述会话限制参数时,选择所述非抢占会话作为最佳会话,其中,选择所有所述非抢占会话作为最佳会话并将所述会话限制参数增大到等于所述非抢占会话的数量。
18.根据权利要求10所述的装置,还包括:
队列建立模块,其被配置为建立多个会话队列,其中,所述多个会话队列具有与所述多个会话的优先级对应的优先级,至少一个会话队列被配置为仅存储非抢占队列,至少一个会话队列被配置为仅存储抢占队列;以及
会话加入模块,其被配置为在所述多个会话队列中分别加入具有对应的优先级的会话。
CN201210558619.5A 2012-12-20 2012-12-20 在基于多路径路由的网络中管理多个会话的方法及装置 Active CN103888351B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210558619.5A CN103888351B (zh) 2012-12-20 2012-12-20 在基于多路径路由的网络中管理多个会话的方法及装置
PCT/CN2013/087465 WO2014094518A1 (en) 2012-12-20 2013-11-20 Method and apparatus of managing a plurality of sessions in a multi-path routing based network
DE112013006187.2T DE112013006187T5 (de) 2012-12-20 2013-11-20 Verfahren und Vorrichtung zum Verwalten einer Vielzahl von Sitzungen in einem auf Multi-Path Routing basierenden Netzwerk
US14/094,703 US10044770B2 (en) 2012-12-20 2013-12-02 Method and apparatus for managing a plurality of sessions in a multi-path routing based network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210558619.5A CN103888351B (zh) 2012-12-20 2012-12-20 在基于多路径路由的网络中管理多个会话的方法及装置

Publications (2)

Publication Number Publication Date
CN103888351A CN103888351A (zh) 2014-06-25
CN103888351B true CN103888351B (zh) 2017-12-15

Family

ID=50957076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210558619.5A Active CN103888351B (zh) 2012-12-20 2012-12-20 在基于多路径路由的网络中管理多个会话的方法及装置

Country Status (4)

Country Link
US (1) US10044770B2 (zh)
CN (1) CN103888351B (zh)
DE (1) DE112013006187T5 (zh)
WO (1) WO2014094518A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9444564B2 (en) 2012-05-10 2016-09-13 Qualcomm Incorporated Selectively directing media feeds to a set of target user equipments
US9277013B2 (en) * 2012-05-10 2016-03-01 Qualcomm Incorporated Storing local session data at a user equipment and selectively transmitting group session data to group session targets based on dynamic playback relevance information
JP6055389B2 (ja) * 2013-10-08 2016-12-27 株式会社Nttドコモ 無線基地局
US9363162B1 (en) * 2013-10-21 2016-06-07 Google Inc. Determining WCMP link capacities in multi-stage networks
US9565114B1 (en) * 2014-03-08 2017-02-07 Google Inc. Weighted load balancing using scaled parallel hashing
US10972525B2 (en) * 2016-08-15 2021-04-06 Comcast Cable Communications, Llc Targeted buffer priority management
CN108572957B (zh) * 2017-03-07 2022-04-01 中兴通讯股份有限公司 一种操作网元数据库的调度方法及装置
JP7053033B2 (ja) * 2018-10-11 2022-04-12 株式会社東芝 無線通信装置および方法
US11323387B2 (en) * 2020-05-18 2022-05-03 Juniper, Networks, Inc. Prioritized communication session establishment in computer networks

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991302A (en) * 1997-04-10 1999-11-23 Cisco Technology, Inc. Technique for maintaining prioritization of data transferred among heterogeneous nodes of a computer network
US7406539B2 (en) * 2000-10-17 2008-07-29 Avaya Technology Corp. Method and apparatus for performance and cost optimization in an internetwork
US7400580B1 (en) * 2002-12-30 2008-07-15 Cisco Technology, Inc. Method and apparatus for normalizing service level agreements in a network
EP1471694B1 (en) * 2003-04-25 2008-03-05 Siemens Aktiengesellschaft Method for dimensioning bandwidth in voice-over-IP networks
JP4382528B2 (ja) * 2004-02-27 2009-12-16 富士通株式会社 マルチキャストネットワーク装置,マルチキャストネットワークシステムおよびマルチキャスト方法
US20060198322A1 (en) * 2005-03-03 2006-09-07 Susan Hares Method and apparatus for BGP peer prefix limits exchange with multi-level control
US7684356B2 (en) * 2005-04-22 2010-03-23 Alcatel Lucent System and method for providing hotline and preemption features in real-time communications using presence and preference information
US7508829B2 (en) 2005-11-30 2009-03-24 Cisco Technology, Inc. Method and apparatus providing prioritized recursion resolution of border gateway protocol forwarding information bases
US7508772B1 (en) 2006-06-02 2009-03-24 Cisco Technology, Inc. Partial graceful restart for border gateway protocol (BGP)
JP5082516B2 (ja) * 2007-03-09 2012-11-28 富士通株式会社 複製作成装置および複製作成方法
CN101321081B (zh) * 2007-06-08 2011-04-13 华为技术有限公司 一种实现限制业务的方法、装置和系统
US7742409B2 (en) * 2007-08-15 2010-06-22 At&T Intellectual Property Ii, L.P. Method and apparatus for compensating for performance degradation of an application session
US8320371B2 (en) * 2007-10-26 2012-11-27 Cisco Technology, Inc. Statistics based forwarding information base repopulation
CN102292942B (zh) 2009-09-14 2015-05-27 华为技术有限公司 一种路由处理方法、系统和路由器
US11405969B2 (en) * 2010-09-29 2022-08-02 International Business Machines Corporation Enabling interface aggregation of mobile broadband network interfaces
CN102170660B (zh) * 2011-05-11 2013-10-30 北京交通大学 一种以aodv为基础的多路径路由的建立方法和系统
US8750121B2 (en) * 2011-10-28 2014-06-10 Telefonaktiebolaget L M Ericsson (Publ) Addressing the large flow problem for equal cost multi-path in the datacenter
CN102571449B (zh) 2012-02-16 2019-05-03 中兴通讯股份有限公司 链路的切换方法及装置

Also Published As

Publication number Publication date
US10044770B2 (en) 2018-08-07
US20140181298A1 (en) 2014-06-26
WO2014094518A1 (en) 2014-06-26
DE112013006187T5 (de) 2015-09-10
CN103888351A (zh) 2014-06-25

Similar Documents

Publication Publication Date Title
CN103888351B (zh) 在基于多路径路由的网络中管理多个会话的方法及装置
US10158561B2 (en) Data plane learning of bi-directional service chains
US10148517B2 (en) Systems and methods for topology discovery and application in a border gateway protocol based data center
US7710869B1 (en) Packet routing to reduce susceptibility to disturbances
US9043453B1 (en) Systems and methods for optimizing application data delivery over third party networks
EP2761832B1 (en) Optimizing endpoint selection of mrt-frr detour paths
US20090070486A1 (en) System and Method for Service Assurance in IP Networks
US10826823B2 (en) Centralized label-based software defined network
US9674072B1 (en) Route topology discovery in data networks
JP2013510459A (ja) 分離的なパス計算アルゴリズム
US20160197822A1 (en) Packet processing method and system, and device
US9112787B2 (en) First hop load balancing
WO2022016682A1 (zh) 一种站点互连方法、中央控制器和路由反射器
TWI492575B (zh) 快速標籤交換路徑警示機制
US10116709B1 (en) Systems and methods for optimizing application data delivery over third party networks
US20230084470A1 (en) Method and apparatus for controlling network traffic path
WO2016123904A1 (zh) 路由收敛方法、装置及虚拟专用网vpn系统
US8750166B2 (en) Route topology discovery in data networks
CN104852848B (zh) 一种数据传输的方法和设备
JP2001333100A (ja) 優先度制御機能付きルータ及びプログラムを記録した機械読み取り可能な記録媒体
US20230068443A1 (en) Dynamic packet routing using prioritized groups
CN113381934B (zh) 一种差分服务代码点dscp引流方法及装置
CN118612145A (zh) 一种链路异常处理方法、装置及相关设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150930

Address after: Singapore Singapore

Applicant after: Lenovo enterprise solutions (Singapore) Pte Ltd

Address before: American New York

Applicant before: International Business Machines Corp.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200828

Address after: 23 / F, Lincoln building, 979 King's road, Quarry Bay, Hong Kong, China

Patentee after: Lenovo Global Technology International Co.,Ltd.

Address before: Shinka ha

Patentee before: Lenovo Enterprise Solutions (Singapore) Pte. Ltd.