在基于多路徑路由的網絡中管理多個會話的方法及裝置制造方法
【專利摘要】本發明公開了一種在基于多路徑路由的網絡中管理多個會話的方法。該方法包括:由建立所述多個會話的節點向所述多個會話的對等節點通告會話限制能力;確定所述多個會話的優先級;以及根據所配置的表明可接受的會話的數量的會話限制參數和所確定的所述多個會話的優先級,從所述多個會話中選擇最佳會話。此外,本發明還公開了相應的裝置。
【專利說明】在基于多路徑路由的網絡中管理多個會話的方法及裝置
【技術領域】
[0001]本發明涉及多路徑路由(Mult1-Path Routing)技術,更具體地,涉及在基于多路徑路由的網絡中管理多個會話的方法及裝置。
【背景技術】
[0002]多路徑路由技術,特別是等價多路徑(Equal Cost Mult1-Path,簡稱ECMP)或者加權多路徑(Weighted Cost Mult1-Path,簡稱WCMP)路由技術,可被廣泛地應用于基于動態路由協議的IP網絡中。動態路由協議可分為內部網關協議(Interior Gateway Protocol,簡稱IGP)和外部網關協議(Exterior GatewayProtocol,簡稱EGP),其中內部網關協議例如包括開放式最短路徑優先(OpenShortest Path First,簡稱0SPF)路由協議、中間系統到中間系統(IntermediateSystem to Intermediate System,簡稱 IS-1S)路由協議等,夕卜部網關協議例如包括邊界網關協議(Border Gateway Protocol,簡稱BGP)等。
[0003]在基于多路徑路由的IP網絡中,存在可到達同一個目的地址的多個不同鏈路。IP數據包可利用其中一個鏈路經由至少一個中間節點被路由到目的節點,其中兩個節點之間的連接以及信息交換可稱為會話。當IP網絡采用ECMP或者WCMP路由技術時,可以同時使用多個鏈路傳輸數據包,從而能夠增加傳輸帶寬,并且可以無時延無丟包地備份失效鏈路的數據傳輸。
[0004]圖2示出了 一般的基于ECMP或WCMP路由的IP網絡的示意圖。如圖2所示,數據業務可從節點I經由多個中間節點到達目的網絡。節點I可建立到多個中間節點的多個ECMP或WCMP會話,并且這些會話分別建立在單個鏈路上。然而,由于IP網絡的拓撲問題或者路由器的硬件或軟件問題等,會造成某些協議接口或物理端口發生故障、然后再恢復的情況(鏈路的振蕩),而這將導致會話的振蕩。在基于ECMP或WCMP路由的IP網絡中,IP數據業務可同時使用多個ECMP或WCMP會話。即使ECMP或WCMP會話發生了振蕩,IP數據業務也仍會使用這些振蕩的ECMP或WCMP會話。因此,當ECMP或WCMP會話發生振蕩時,可能會導致IP數據包的丟失。
[0005]為了降低IP數據包的丟失,可以在例如圖2所示的IP網絡中的節點之間使用包括多個鏈路的鏈路聚合(trunk)。在這種情況下,只要有一個鏈路可用,ECMP或WCMP會話就能夠維持。然而,在某些情況下,數據包丟失的情形仍然存在。如果鏈路聚合發生故障或被阻塞,則會發生數據包的丟失。此外,如果IP數據業務通過哈希算法被映射到鏈路聚合中不穩定的鏈路上,則當鏈路發生振蕩時,ECMP或WCMP會話也將發生振蕩,從而導致數據包丟失。
【發明內容】
[0006]根據本發明的一個方面,提供了一種在基于多路徑路由的網絡中管理多個會話的方法,包括:由建立所述多個會話的節點向所述多個會話的對等節點通告會話限制能力;確定所述多個會話的優先級;以及根據所配置的表明可接受的會話的數量的會話限制參數和所確定的所述多個會話的優先級,從所述多個會話中選擇最佳會話。
[0007]根據本發明的另一個方面,提供了一種在基于多路徑路由的網絡中管理多個會話的裝置,包括:通告模塊,其被配置為向所述多個會話的對等節點通告會話限制能力;優先級確定模塊,其被配置為確定所述多個會話的優先級;以及選擇模塊,其被配置為根據所配置的表明可接受的會話的數量的會話限制參數和所確定的所述多個會話的優先級,從所述多個會話中選擇最佳會話。
【專利附圖】
【附圖說明】
[0008]通過結合附圖對本公開示例性實施方式進行更詳細的描述,本公開的上述以及其它目的、特征和優勢將變得更加明顯,其中,在本公開示例性實施方式中,相同的參考標號通常代表相同部件。
[0009]圖1示出了適于用來實現本發明實施方式的示例性計算機系統/服務器12的框圖;
[0010]圖2是一般的基于ECMP或WCMP路由的IP網絡的示意圖;
[0011]圖3是根據本發明的一個實施例的在基于多路徑路由的網絡中管理多個會話的方法的流程圖;
[0012]圖4是圖3所示的實施例中通告會話限制能力的步驟的示意性流程圖;
[0013]圖5是示例性地說明會話限制能力消息的格式的示意圖;
[0014]圖6是圖3所示的實施例中確定會話的優先級的步驟的示意性流程圖;
[0015]圖7是說明會話隊列的一個實例的示意圖;
[0016]圖8是圖3所示的實施例中選擇最佳會話的步驟的一個實施例的示意性流程圖;
[0017]圖9是圖3所示的實施例中選擇最佳會話的步驟的另一個實施例的示意性流程圖;
[0018]圖10是根據本發明的一個實施例的在基于多路徑路由的網絡中管理多個會話的裝置的示意性框圖。
【具體實施方式】
[0019]下面將參照附圖更詳細地描述本公開的優選實施方式。雖然附圖中顯示了本公開的優選實施方式,然而應該理解,可以以各種形式實現本公開而不應被這里闡述的實施方式所限制。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠將本公開的范圍完整地傳達給本領域的技術人員。
[0020]所屬【技術領域】的技術人員知道,本發明可以實現為系統、方法或計算機程序產品。因此,本公開可以具體實現為以下形式,即:可以是完全的硬件、也可以是完全的軟件(包括固件、駐留軟件、微代碼等),還可以是硬件和軟件結合的形式,本文一般稱為“電路”、“模塊”或“系統”。此外,在一些實施例中,本發明還可以實現為在一個或多個計算機可讀介質中的計算機程序產品的形式,該計算機可讀介質中包含計算機可讀的程序代碼。
[0021]可以采用一個或多個計算機可讀的介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執行系統、裝置或者器件使用或者與其結合使用。
[0022]計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發送、傳播或者傳輸用于由指令執行系統、裝置或者器件使用或者與其結合使用的程序。
[0023]計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括一但不限于一無線、電線、光纜、RF等等,或者上述的任意合適的組合。
[0024]可以以一種或多種程序設計語言或其組合來編寫用于執行本發明操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言諸如Java、Smalltalk、C++,還包括常規的過程式程序設計語言-諸如”C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為一個獨立的軟件包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或服務器上執行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡一包括局域網(LAN)或廣域網(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。
[0025]下面將參照本發明實施例的方法、裝置(系統)和計算機程序產品的流程圖和/或框圖描述本發明。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,這些計算機程序指令通過計算機或其它可編程數據處理裝置執行,產生了實現流程圖和/或框圖中的方框中規定的功能/操作的裝置。
[0026]也可以把這些計算機程序指令存儲在能使得計算機或其它可編程數據處理裝置以特定方式工作的計算機可讀介質中,這樣,存儲在計算機可讀介質中的指令就產生出一個包括實現流程圖和/或框圖中的方框中規定的功能/操作的指令裝置(instructionmeans)的制造品(manufacture)。
[0027]也可以把計算機程序指令加載到計算機、其它可編程數據處理裝置、或其它設備上,使得在計算機、其它可編程數據處理裝置或其它設備上執行一系列操作步驟,以產生計算機實現的過程,從而使得在計算機或其它可編程裝置上執行的指令能夠提供實現流程圖和/或框圖中的方框中規定的功能/操作的過程。
[0028]圖1示出了適于用來實現本發明實施方式的示例性計算機系統/服務器12的框圖。圖1顯示的計算機系統/服務器12僅僅是一個示例,不應對本發明實施例的功能和使用范圍帶來任何限制。
[0029]如圖1所示,計算機系統/服務器12以通用計算設備的形式表現。計算機系統/服務器12的組件可以包括但不限于:一個或者多個處理器或者處理單元16,系統存儲器28,連接不同系統組件(包括系統存儲器28和處理單元16)的總線18。
[0030]總線18表示幾類總線結構中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結構中的任意總線結構的局域總線。舉例來說,這些體系結構包括但不限于工業標準體系結構(ISA)總線,微通道體系結構(MAC)總線,增強型ISA總線、視頻電子標準協會(VESA)局域總線以及外圍組件互連(PCI)總線。
[0031]計算機系統/服務器12典型地包括多種計算機系統可讀介質。這些介質可以是任何能夠被計算機系統/服務器12訪問的可用介質,包括易失性和非易失性介質,可移動的和不可移動的介質。
[0032]系統存儲器28可以包括易失性存儲器形式的計算機系統可讀介質,例如隨機存取存儲器(RAM)30和/或高速緩存存儲器32。計算機系統/服務器12可以進一步包括其它可移動/不可移動的、易失性/非易失性計算機系統存儲介質。僅作為舉例,存儲系統34可以用于讀寫不可移動的、非易失性磁介質(圖1未顯示,通常稱為“硬盤驅動器”)。盡管圖1中未示出,可以提供用于對可移動非易失性磁盤(例如“軟盤”)讀寫的磁盤驅動器,以及對可移動非易失性光盤(例如⑶-ROM,DVD-ROM或者其它光介質)讀寫的光盤驅動器。在這些情況下,每個驅動器可以通過一個或者多個數據介質接口與總線18相連。存儲器28可以包括至少一個程序產品,該程序產品具有一組(例如至少一個)程序模塊,這些程序模塊被配置以執行本發明各實施例的功能。
[0033]具有一組(至少一個)程序模塊42的程序/實用工具40,可以存儲在例如存儲器28中,這樣的程序模塊42包括——但不限于——操作系統、一個或者多個應用程序、其它程序模塊以及程序數據,這些示例中的每一個或某種組合中可能包括網絡環境的實現。程序模塊42通常執行本發明所描述的實施例中的功能和/或方法。
[0034]計算機系統/服務器12也可以與一個或多個外部設備14 (例如鍵盤、指向設備、顯示器24等)通信,還可與一個或者多個使得用戶能與該計算機系統/服務器12交互的設備通信,和/或與使得該計算機系統/服務器12能與一個或多個其它計算設備進行通信的任何設備(例如網卡,調制解調器等等)通信。這種通信可以通過輸入/輸出(I/O)接口 22進行。并且,計算機系統/服務器12還可以通過網絡適配器20與一個或者多個網絡(例如局域網(LAN),廣域網(WAN)和/或公共網絡,例如因特網)通信。如圖所示,網絡適配器20通過總線18與計算機系統/服務器12的其它模塊通信。應當明白,盡管圖中未示出,可以結合計算機系統/服務器12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設備驅動器、冗余處理單元、外部磁盤驅動陣列、RAID系統、磁帶驅動器以及數據備份存儲系統等。
[0035]圖3是根據本發明的一個實施例的在基于多路徑路由的網絡中管理多個會話的方法的流程圖。下面結合附圖,對本實施例進行詳細描述。
[0036]本實施例的方法主要涉及與多個對等節點建立多個會話的節點對這些會話的管理。多個會話可以是基于ECMP或WCMP的會話或者任何可以同時路由數據業務到同一個目的地址的會話。
[0037]如圖3所示,在步驟S310,由建立多個會話的節點向多個會話的對等節點通告會話限制能力。會話限制能力用于表明節點能夠限制會話的能力。
[0038]下面結合圖4具體說明步驟S310。如圖4所示,在步驟S410,節點向多個對等節點分別發送會話限制能力消息。在本實施例中,會話限制能力消息可至少包括指示節點的會話限制能力的指示符。可選地,會話限制能力消息還可包括表明可接受的會話的數量的會話限制參數、當前會話數量等參數。會話限制參數可由使用者或管理者配置,而當前會話數量是當前所建立的多個會話的個數之和。
[0039]在一個實施例中,首先,節點接受使用者或管理者對會話限制參數的配置。然后,節點可生成會話限制能力消息。圖5示例性地示出了會話限制能力消息的格式的示意圖。如圖5所示,會話限制能力消息可包括“代碼(Code)”、“長度(length)”、“子代碼 I (sub_codel)”、“子代碼 2 (sub_code2)”、“會話限制(session limit)”、“ 當前會話(current session),,、“長度 I (length 1)”、“長度 2 (length 2),,和“保留(reserved)”字段。“代碼(code)”字段可用作唯一地指示會話限制能力的指示符,其長度可以是8比特。“長度(length)”字段可用于指示會話限制能力消息的長度,其長度可以是8比特。“子代碼I (sub-code I)”字段可用于標識會話限制能力的特征,例如會話限制參數。“子代碼2 (sub-COde2)”字段可用于標識當前會話的特征,例如當前會話數量。“子代碼I(sub-codel)”字段和“子代碼2 (sub-COde2)”字段的長度可以分別是8比特。“會話限制(session limit)”字段可用于指示可接受的會話的數量的閾值,其長度可以是16比特。“當前會話(current session)”字段可用于指明所建立的會話的當前實際數量,其長度可以是16比特。“長度I (length I)”字段和“長度2 (length 2)”字段分別表示“會話限制(session limit)”字段和“當前會話(current session)”字段的長度,這兩個字段的長度都可以是8比特。“保留(reserved)”字段可以是16比特長度的字段,其在會話限制能力參數被發送時設置為0,并在接收時被忽略。
[0040]雖然圖5示出了會話限制能力消息的一個例子,但本領域的普通技術人員能夠容易知道,會話限制能力消息還可以包括其它參數或者使用其它格式。
[0041]在生成會話限制能力消息之后,節點可向多個對等節點分別發送會話限制能力消息。會話限制能力消息可以在會話初始化期間發送,也可以在會話建立之后發送。在會話初始化期間,會話限制能力消息可以使用初始能力消息發送。例如,在基于BGP協議的網絡中,會話限制能力消息可以作為BGP協議的OPEN消息的一部分被發送到對等節點。在會話已經建立之后,當需要進行會話管理或者會話限制能力消息中的參數值發生變化時,可以使用動態能力消息發送會話限制能力消息。例如,在基于BGP協議的網絡中,會話限制能力消息可以作為BGP協議的UPDATE消息的一部分發送到對等節點。
[0042]然后,在步驟S420,節點從對等節點接收對所發送的會話限制能力消息的響應。如果來自對等節點的響應是肯定的,即,對等節點接受會話限制能力消息,這表明對等節點支持會話限制,則在步驟S430,記錄相應的對等節點及對應的會話。然后,對于所記錄的會話進行會話管理。如果來自對等節點的響應是否定的,即,對等節點不接受會話限制能力消息,這表明對等節點不支持會話限制,則在步驟S440,對于與相應對等節點之間的會話不進行會話管理,而是進行一般的會話處理。
[0043]為了方便說明,在以下的描述中,假定節點所建立的多個會話的對等節點都支持會話限制。
[0044]返回到圖3,在向對等節點通告了會話限制能力后,在步驟S320,節點確定多個會話的優先級。在本實施例中,使用會話的優先級以反映會話的穩定性。優先級越高,會話越穩定,反之,優先級越低,會話越不穩定。[0045]圖6示出了步驟S320的示意性流程圖。如圖6所示,在步驟S610,指定多個會話的每一個的優先級。在本實施例中,可以最初將每一個會話的優先級指定為最高優先級。然后,在步驟S620,監控會話的狀態,并在步驟S630,根據所監控的會話的狀態的變化,修改會話的優先級。在一個實施例中,可以監控會話是否發生振蕩。如前所述,當會話發生振蕩時,會話的穩定性相應地下降。因此,當監控到會話發生振蕩時,降低發生振蕩的會話的優先級。每當監控到會話發生振蕩時,就將該會話的優先級降低一級。如果會話未發生振蕩,則繼續維持該會話的優先級,并在會話未發生振蕩的時間超過預定時間時,提高該會話的優先級。通過不斷地監控會話的狀態并相應地修改優先級,可以實時地反映會話的穩定性。
[0046]在另一個實施例中,在確定了多個會話的優先級之后,還可以使用會話隊列以對會話進行排序。具體地,首先建立多個會話隊列,其中每一個會話隊列具有與會話的優先級對應的優先級。例如,會話的優先級有N級,則相應地,會話隊列的優先級也有N級。接著,在多個會話隊列中分別加入具有對應的優先級的會話。這樣,在優先級為η的會話隊列中包括所有優先級為η的會話。在同一個會話隊列中,會話按照進入會話隊列的時間進行排序。
[0047]圖7示出了使用會話隊列對會話進行排序的一個實例的示意圖。在圖7中,示出了(k+Ι)個會話隊列,分別對應(k+Ι)個優先級。在(k+Ι)個會話隊列中,會話隊列Queue[0]的優先級最高,會話隊列Queue[k]的優先級最低。每個會話隊列包括多個會話S(i,j),其中i表示會話隊列的編號,j表示會話的編號。在每個會話隊列中,會話按照進入會話隊列的時間進行排序。例如,在會話Queue [t]中有c個會話,其中會話S (t,I)最先進入該會話隊列,而會話S(t,c)最后進入會話隊列。在該例子中,會話隊列Queue [O]可被配置為非搶占隊列,其包括的會話3(0,1)、3(0,2)、-,S(O, η)成為非搶占會話,不能被搶占。其它會話隊列可被配置為搶占隊列,其包含的會話成為搶占會話,能夠被搶占。在另一個例子中,也可以將(k+Ι)個會話隊列中 的一部分會話隊列配置為非搶占隊列,而其它會話隊列被配置為搶占隊列。
[0048]返回到圖3,在確定了多個會話的優先級后,在步驟S330,節點可根據所配置的會話限制參數和所確定的多個會話的優先級,從多個會話中選擇最佳會話。
[0049]圖8示出了步驟S330的一個實施例的示意性流程圖。如圖8所示,在步驟S810,節點將當前會話數量與會話限制參數進行比較。如果當前會話數量小于或者等于會話限制參數,則表明當前所有會話都將不被限制,因此,在步驟S820,節點選擇當前所有會話作為最佳會話。如果當前會話數量大于會話限制參數,則在步驟S830,按照優先級從高到低的順序,從多個會話中選擇數量等于會話限制參數的會話作為最佳會話,剩余的會話將受到限制。剩余的會話可以被關閉或者被失效。
[0050]在使用會話隊列對會話進行排序的情況下,選擇從優先級最高的會話隊列開始,在同一個會話隊列中,優先選擇進入會話隊列早的會話。在圖7所示的例子中,假定會話限制參數為η+a+b+l,則從優先級最高的會話隊列Q[0]開始,選擇會話隊列Q[0]、Q[l]、…、Q[t-1]中的所有會話以及會話隊列Q[t]中的會話S(t,I),作為最佳會話,剩余的會話受到限制。
[0051]圖9示出了步驟S330的另一個實施例的示意性流程圖。該實施例可適用于多個會話的一部分被配置為非搶占會話而剩余的會話被配置為搶占會話的情形。
[0052]如圖9所示,步驟S910和S920與圖8中的步驟S810和S820相同。如果在步驟S910的比較中,當前會話數量大于會話限制參數,則在步驟S930,進一步比較非搶占會話的數量與會話限制參數。如果非搶占會話的數量小于會話限制參數,則在步驟S940,選擇所有非搶占會話作為最佳會話的一部分,并在步驟S950,按照優先級從高到低的順序選擇數量等于會話限制參數與非搶占會話的數量的差的搶占會話,作為最佳會話的另一部分,剩余的搶占會話將受到限制。如果非搶占會話的數量大于或等于會話限制參數,則在步驟S960,選擇所有非搶占會話作為最佳會話。
[0053]在實行會話管理期間,如果新的會話被建立或已有的會話被關閉,則當前會話數量增加或減少,向對等節點通告變化的會話限制能力參數,并執行隨后的會話管理。
[0054]通過以上描述可以看出,本實施例的方法通過對基于多路徑路由的網絡中的多個會話進行限制和控制,能夠保留多個會話中穩定的會話,而避免通過不穩定的會話來路由數據業務,從而使得網絡更加穩定和可靠,并能夠減少數據包的丟失。
[0055]在相同的發明構思下,圖10示出了根據本發明的一個實施例的在基于多路徑路由的網絡中管理多個會話的裝置1000的示意性框圖。下面結合附圖對本實施例進行詳細描述,其中對于與前面實施例相同的部分,適當省略其說明。
[0056]在本實施例中,多個會話被建立在本實施例的裝置1000與多個對等節點之間。多個會話可以是基于ECMP或WCMP的會話或者任何可以同時路由數據業務到同一個目的地址的會話。
[0057]如圖10所示,本實施例的裝置1000可包括:通告模塊1001,其被配置為向多個會話的對等節點通告會話限制能力;優先級確定模塊1002,其被配置為確定多個會話的優先級;以及選擇模塊1003,其被配置為根據所配置的會話限制參數和所確定的多個會話的優先級,從多個會話中選擇最佳會話。
[0058]在本實施例的裝置1000中,通告模塊1001可向多個會話的對等節點通告會話限制能力。在通告模塊1001中,發送單元10011可向多個對等節點分別發送會話限制能力消息。會話限制能力消息可至少包括指示節點的會話限制能力的指示符。可選地,會話限制能力消息還可包括會話限制參數。發送單元10011可以在會話初始化期間使用初始能力消息或者在會話已建立后使用動態能力消息發送會話限制能力消息。然后,接收單元10012可從多個對等節點接收對會話限制能力消息的響應。如果來自對等節點的響應是肯定的,即,對等節點支持會話限制,則記錄單元10013記錄發送肯定響應的對等節點及對應的會話。如果來自對等節點的響應是否定的,即,對等節點不支持會話限制,則不對與該對等節點之間的會話進行會話限制。
[0059]在通告模塊1001向對等節點通告了會話限制能力并獲得來自對等節點的肯定響應后,優先級確定模塊1002確定多個會話的優先級。在本實施例中,會話的優先級反映會話的穩定性。在優先級確定模塊1002中,優先權指定單元10021可指定多個會話的優先級。最初,會話的優先級可被指定為最高。然后,監控單元10022可監控多個會話的狀態。例如,監控單元10022可監控多個會話是否發生振蕩。如前所述,當會話發生振蕩時,會影響會話的穩定性。根據監控單元10022所監控的會話的狀態的變化,優先權修改單元10023可修改會話的優先級。具體地,當監控單元10022監控到有會話發生了振蕩時,優先權修改單元10023降低發生振蕩的會話的優先級。當監控單元10022監控到有會話在預定時間內沒有發生振蕩時,優先權修改單元10023提高該會話的優先級。
[0060]然后,選擇模塊1003根據所配置的會話限制參數和優先級確定模塊1002所確定的會話的優先級,選擇最佳會話。在選擇模塊1003中,比較單元10031比較當前會話數量與會話限制參數。在當前會話數量小于或等于會話限制參數時,選擇單元10032選擇當前所有會話作為最佳會話。在當前會話數量大于會話限制參數時,選擇單元10032按照優先級從高到低的順序,選擇數量等于會話限制參數的會話作為最佳會話。然后,剩余的會話將被關閉或失效。
[0061]在另一個實施例中,可以進一步將多個會話中的一部分會話配置為非搶占會話,而將剩余的會話配置為搶占會話。在這種情況下,比較單元10031在當前會話數量大于會話限制參數時,進一步比較非搶占會話的數量與會話限制參數。當非搶占會話的數量小于會話限制參數時,選擇單元10032選擇所有非搶占會話作為最佳會話的一部分,然后,按照優先級從高到低的順序選擇數量等于會話限制參數與非搶占會話的數量的差的搶占會話,作為最佳會話的另一部分。剩余的搶占會話將受到限制。當非搶占會話的數量大于或等于會話限制參數時,選擇單元10032選擇所有非搶占會話作為最佳會話。
[0062]此外,本實施例的裝置1000還可包括隊列建立模塊1004,其被配置為建立多個會話隊列,其中多個會話隊列具有與多個會話的優先級對應的優先級;以及會話加入模塊1005,其被配置為在多個會話隊列中分別加入具有對應的優先級的會話。在這種情況下,選擇單元10032從優先級最高的會話隊列開始進行選擇,并在同一個會話隊列中,優先選擇進入會話隊列早的會話。
[0063]應當注意,本實施例的在基于多路徑路由的網絡中管理多個會話的裝置1000可在操作上實現圖3至圖9所示的在基于多路徑路由的網絡中管理多個會話的方法。
[0064]附圖中的流程圖和框圖顯示了根據本發明的多個實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個連續的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。
[0065]以上已經描述了本發明的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本【技術領域】的普通技術人員來說許多修改和變更都是顯而易見的。本文中所用術語的選擇,旨在最好地解釋各實施例的原理、實際應用或對市場中的技術的技術改進,或者使本【技術領域】的其它普通技術人員能理解本文披露的各實施例。
【權利要求】
1.一種在基于多路徑路由的網絡中管理多個會話的方法,包括: 由建立所述多個會話的節點向所述多個會話的對等節點通告會話限制能力; 確定所述多個會話的優先級;以及 根據所配置的表明可接受的會話的數量的會話限制參數和所確定的所述多個會話的優先級,從所述多個會話中選擇最佳會話。
2.根據權利要求1所述的方法,其中,由建立所述多個會話的節點向所述多個會話的對等節點通告會話限制能力包括: 向所述對等節點發送會話限制能力消息,其至少包括指示所述會話限制能力的指示符; 從所述對等節點接收對所述會話限制能力消息的響應;以及 記錄所述響應是肯定的對等節點及其會話。
3.根據權利要求1所述的方法,其中,確定所述多個會話的優先級包括: 指定所述多個會話的優先級; 監控所述多個會話的狀態;以及 根據所述多個會話的所述狀態的變化,修改所述多個會話的所述優先級。
4.根據權利要求3所述的方法,其中,監控所述多個會話的狀態包括:監控所述多個會話是否發生振蕩。
5.根據權利要求4所述的方法,其中,根據所述多個會話的所述狀態的變化,修改所述多個會話的所述優先級包括: 如果在所述多個會話中監控到有會話發生了振蕩,則降低發生振蕩的會話的優先級;以及 如果在所述多個會話中監控到有會話在預定時間內沒有發生振蕩,則提高所述會話的優先級。
6.根據權利要求1所述的方法,其中,根據所配置的表明可接受的會話的數量的會話限制參數和所確定的所述多個會話的優先級,從所述多個會話中選擇最佳會話包括: 比較當前會話數量與所述會話限制參數; 如果所述當前會話數量小于或者等于所述會話限制參數,則選擇當前所有會話作為最佳會話;以及 如果所述當前會話數量大于所述會話限制參數,則按照優先級從高到低的順序選擇數量等于所述會話限制參數的會話作為最佳會話。
7.根據權利要求1所述的方法,其中,所述多個會話的一部分被配置為非搶占會話,剩余的會話被配置為搶占會話。
8.根據權利要求7所述的方法,其中,根據所配置的表明可接受的會話的數量的會話限制參數和所確定的所述多個會話的優先級,從所述多個會話中選擇最佳會話包括: 比較當前會話數量與所述會話限制參數; 如果所述當前會話數量小于或者等于所述會話限制參數,則選擇當前所有會話作為最佳會話; 如果所述當前會話數量大于所述會話限制參數,則比較所述非搶占會話的數量與所述會話限制參數;如果所述非搶占會話的數量小于所述會話限制參數,則選擇所述非搶占會話,并按照優先級從高到低的順序選擇數量等于所述會話限制參數與所述非搶占會話的數量的差的搶占會話;以及 如果所述非搶占會話的數量大于或者等于所述會話限制參數,則選擇所述非搶占會話作為最佳會話。
9.根據權利要求1至8任意一項所述的方法,還包括: 建立多個會話隊列,其中所述多個會話隊列具有與所述多個會話的優先級對應的優先級;以及 在所述多個會話隊列中分別加入具有對應的優先級的會話。
10.一種在基于多路徑路由的網絡中管理多個會話的裝置,包括: 通告模塊,其被配置為向所述多個會話的對等節點通告會話限制能力; 優先級確定模塊,其被配置為確定所述多個會話的優先級;以及 選擇模塊,其被配置為根據所配置的表明可接受的會話的數量的會話限制參數和所確定的所述多個會話的優先級,從所述多個會話中選擇最佳會話。
11.根據權利要求10所述的裝置,其中,所述通告模塊包括: 發送單元,其被配置為向所述對等節點發送會話限制能力消息,其至少包括指示所述會話限制能力的指示 符; 接收單元,其被配置為從所述對等節點接收對所述會話限制能力消息的響應;以及 記錄單元,其被配置為記錄所述響應是肯定的對等節點及其會話。
12.根據權利要求10所述的裝置,其中,所述優先級確定模塊包括: 優先權指定單元,其被配置為指定所述多個會話的優先級; 監控單元,其被配置為監控所述多個會話的狀態;以及 優先權修改單元,其被配置為根據所述多個會話的所述狀態的變化,修改所述多個會話的所述優先級。
13.根據權利要求12所述的裝置,其中,所述監控單元被配置為監控所述多個會話是否發生振蕩。
14.根據權利要求13所述的裝置,其中,所述優先權修改單元被配置為: 在所述監控單元監控到在所述多個會話中有會話發生了振蕩時,降低發生振蕩的會話的優先級,以及 在所述監控單元監控到在所述多個會話中有會話在預定時間內沒有發生振蕩時,提高所述會話的優先級。
15.根據權利要求10所述的裝置,其中,所述選擇模塊包括: 比較單元,其被配置為比較當前會話數量與所述會話限制參數;以及 選擇單元,其被配置為在所述當前會話數量小于或者等于所述會話限制參數時,選擇當前所有會話作為最佳會話,以及在所述當前會話數量大于所述會話限制參數時,按照優先級從高到低的順序選擇數量等于所述會話限制參數的會話作為最佳會話。
16.根據權利要求10所述的裝置,其中,所述多個會話的一部分被配置為非搶占會話,剩余的會話被配置為搶占會話。
17.根據權利要求10所述的裝置,其中,所述選擇模塊包括:比較單元,其被配置為比較當前會話數量與所述會話限制參數,并在所述當前會話數量大于所述會話限制參數時,比較所述非搶占會話的數量與所述會話限制參數;以及 選擇單元,其被配置為在所述當前會話數量小于或者等于所述會話限制參數時,選擇當前所有會話作為最佳會話,以及在所述非搶占會話的數量小于所述會話限制參數時,選擇所述非搶占會話,并按照優先級從高到低的順序選擇數量等于所述會話限制參數與所述非搶占會話的數量的差的搶占會話,以及在所述非搶占會話的數量大于或者等于所述會話限制參數時,選擇所述非搶占會話作為最佳會話。
18.根據權利要求10至17任意一項所述的裝置,還包括: 隊列建立模塊,其被配置為建立多個會話隊列,其中所述多個會話隊列具有與所述多個會話的優先級對應的優先級;以及 會話加入模塊,其被配置為在所述多個會話隊列中分別加入具有對應的優先級的會話。
【文檔編號】H04L29/06GK103888351SQ201210558619
【公開日】2014年6月25日 申請日期:2012年12月20日 優先權日:2012年12月20日
【發明者】徐金榮, 王志雄 申請人:國際商業機器公司