專利名稱:用于連接服務器和客戶機的方法和路由器的制作方法
技術領域:
本發明涉及一種用于在接收到一個關于在一個客戶機和一個服務器之間的連接的分組時執行一個連接處理過程的方法和路由器。特別地,本發明涉及一種用于把到一個服務器的客戶機連接限制到一個上限值、以及用于在一個網絡中執行帶寬預約的方法和路由器。
背景技術:
近年來,調查發現,一個服務供應商經由一個網絡把由一個內容供應商提供的內容存儲到一個本地網絡中的本地存儲器,由此一個觀察者可以在每當他需要時通過利用這種本地存儲器觀看該內容,而且一個觀察者可以控制由一個廣播公司等提供的內容。
此外,還要求在實時基礎上提供按需視頻和音樂內容,以及通過一個IP(Internet Protocol,網際協議)網絡提供高通信質量的內容。然而,作為一個經由這個IP網絡發布內容的供應商,還不存在一個為每個客戶機保留帶寬的公司。
在以按需基礎來提供內容的情況下,限制了連接到發布音樂或者視頻內容的服務器的客戶機的數目。客戶機的這個數目通常取決于服務器的性能(主要是CPU的算術處理速率、對一個內容存儲介質的存取時間等),而且服務器可以連接的客戶機的最大數目具有一個上限值,該上限值由服務器性能限制。
因此,在某些情況下提供了一個服務器性能管理裝置以便限制在這樣一個上限值內的最大客戶機連接數目。服務器性能管理裝置具有一個通過監視在服務器和客戶機之間的連接數目來限制(拒絕)超出該上限值的客戶機連接請求的功能。
此外,服務器還具有一個監視服務器的CPU利用率的功能。由此,服務器性能管理裝置在周期間隔內從這樣一個監視功能中接收有關CPU利用率的信息。當CPU利用率已經超出了一個預定上限值時,服務器性能管理裝置拒絕來自于一個客戶機的連接請求。當CPU利用率沒有大于該上限值時,服務器性能管理裝置允許連接。
如以上說明的那樣,通過由以上說明的方法考慮服務器負載,來限制客戶機連接的數目,由此防止了從服務器提供的內容的通信質量變壞。
在這樣一個通信實施例中,有可能通過限制從客戶機到服務器的最大連接數目來防止服務器處于一種過載狀態,但是不可能提供對在服務器和客戶機之間的通信質量的一個確定保證。即,還沒有保證在服務器和客戶機之間通信網絡的通信質量的問題仍然沒有得到解決。
通常,客戶機和服務器可以被假定為具有這樣一個連接實施例客戶機<-->第一邊緣路由器<-->核心路由器<-->第二邊緣路由器<-->服務器。在此,“<-->”指示一個相互連接。
此外,在以短距離的通信實施例中,在某些情況下沒有使用一個核心路由器。每個邊緣路由器還被稱作一個邊緣節點。
在這個通信實施例中,作為一個例子,在客戶機和第一邊緣節點之間的連接通路是諸如xDSL(x Digital Subscriber Line,x數字用戶線路)或者FTTH(FiberTo The Home,光纖到戶)等的一個接入鏈路或者一個接入網絡。這可以被認為類似于一個根據合同為其確保一定帶寬的專用線路。同時,當在服務器和第二邊緣路由器之間將要容納的客戶機的上限值被限制時,可以通過該專用線路獲得必要的最大帶寬。
然而,各種分組在第一和第二邊緣路由器之間進行傳送,并且該分組基于盡力傳送方式(best effort)被傳送到下一個中繼段(路由器)。因此,當分組輸入從其它客戶機和其它服務器等集中到某個路由器、例如核心路由器時,在這個路由器中產生分組傳送延遲(包括抖動等)或者分組異常終止。
由于這種傳送遲延和分組異常終止,所以不再能確保在第一和第二邊緣節點之間的通信質量。
因此,就存在一個問題,即由于通信質量變壞(傳送遲延或者分組異常終止等),很難在客戶機端不廢力氣地監控從內容服務器傳送過來的視頻數據和音頻數據。此外,當在預約通信質量之后連接到服務器的最大客戶機連接數目超出上限值時,就存在一個問題,即獲得的通信帶寬不能被使用和釋放。
發明內容
為了解決以上闡明的問題,本發明的一個目的是提供一種用于把在服務器和客戶機之間傳送的每個分組流限制到在服務器和客戶機之間通信的客戶機連接數目的上限值的方法和路由器,此外還提供一種用于在路由器判斷在服務器和客戶機之間的連接是可能的時在該客戶機和服務器之間預約帶寬用于通信的方法和路由器。
本發明的另一個目的是提供一種可以通過遙控來設置或者改變可連接到服務器的最大客戶機連接數目的路由器。
本發明中的路由器特征在于包括一個連接判斷單元,用于在接收了有關在服務器和一個客戶機之間的連接的一個分組時,判斷連接數目是否超出了可連接到服務器的客戶機的一個上限值; 以及一個通路設置單元,用于在連接判斷單元判斷連接是可能的時,發送一條用于在該路由器和用以在客戶機和服務器之間中繼一個分組的另一個路由器之間預約帶寬的消息。
此外,依據本發明另一個實施例的路由器包括一個服務器連接管理單元,被提供用于管理用于每個服務器的客戶機連接的上限值;以及一個終端控制單元,用于從一個控制臺終端接收一條顯示指定服務器的最大客戶機連接數目的命令,并且向控制臺終端顯示來自于服務器連接管理單元的指定服務器的連接上限值。
此外,依據本發明另一個實施例的路由器包括一個服務器連接管理單元,被提供用于管理用于每個服務器的客戶機連接的上限值;以及一個終端控制單元,用于從一個控制臺終端接收一條改變指定服務器的最大客戶機連接數目的命令,并且把最大客戶機連接數目更新為服務器連接管理單元的指定服務器的連接上限值。
此外,依據本發明另一個實施例的路由器包括一個確認分組檢測單元,用于檢測來自于一個服務器的、用以允許到服務器的一個客戶機連接的一個確認分組;以及一個連接判斷單元,用于在接收到該確認分組時判斷連接數目是否超出了將要由服務器連接的客戶機的上限值。
此外,依據本發明另一個實施例,一種用于連接一個服務器和客戶機的方法其中從一個服務器把一個確認分組發送到一個客戶機;在接收到有關在該服務器和客戶機之間的連接的一個分組時,判斷連接數目是否超出了可連接到服務器的客戶機的上限值;以及當連接被判斷為是可能的時,發送一條用于在用以在客戶機和服務器之間中繼分組的兩個路由器當中預約帶寬的消息。此外,一個路由器可以執行該判斷。
圖1是一個顯示了在第一和替換實施例中的一個網絡構造例子的圖;圖2是一個框圖,顯示了第一實施例中的一個邊緣路由器LSR(標記交換路由器)構造的例子;圖3是一個顯示了一個例子的圖,其中在控制臺終端的顯示區域上顯示了第一實施例中用于判斷在服務器和客戶機之間的一個連接可能性的信息;圖4是一個顯示了一個例子的圖,其中在控制臺終端的顯示區域上顯示了第一實施例中有關在服務器和客戶機之間的一個連接的信息;圖5是一個顯示了在第一實施例中服務器連接管理單元的數據存儲格式的一個例子的圖;
圖6是一個顯示了在第一實施例中基于通信量系數設置“應用的補償最大連接數目”的一個例子的圖;圖7是一個顯示了在第一實施例中的一個處理流程例子的圖;圖8是一個顯示了在替換實施例中的一個邊緣路由器LSR(標記交換路由器)構造例子的圖;圖9是一個顯示了在替換實施例中客戶機連接管理單元的數據存儲格式的圖;圖10是一個顯示了在替換實施例中的一個處理流程例子的圖;以及圖11是一個顯示了在替換實施例中服務器連接管理單元的數據存儲格式的一個例子的圖。
具體實施例方式
在這個說明書中出現的“帶寬預約”應當至少包括確保的帶寬和/或可容許的帶寬,并且還可以包括延遲保證和延遲/波動保證。
在這個說明書中使用的類似的標記數字表示類似的元件或者對應的元件。客戶機CL1到CLn中的任何一個被稱作一個客戶機CL,而且服務器SV1到SVm中的任何一個被稱作一個服務器SV。然而,除非特別說明,否則客戶機CL指示同一個裝置,而且服務器SV也指示同一個裝置。
1.第一實施例圖1顯示了本發明中的一個網絡構造的例子。在這幅圖中,標記數字CL1到CLn表示通常被用作客戶機例子的客戶機和工作站。這些客戶機可以直接由LSR1容納。此外,在另一個實施例中,這些客戶機也可以經由一個接入網絡被容納。在另一個實施例中,一個或多個客戶機由另一個邊緣路由器容納,而且這個邊緣路由器可以被容納在一個網絡300中。
LSR1和LSR3表示用于容納這些客戶機的邊緣路由器。LSR2和LSR4是沒有容納這些客戶機的核心路由器。SV1到SVm是服務器。數字300是一個MPLS(Multi-protocol Label Switching,多協議標記交換)網絡。數字400是在客戶機CL和服務器SV之間的一個分組流。數字500是一個通過MPLS經由路由器LSR1->LSR2->LSR3的LSP(Label Switch Path,標記交換通路)。數字550是經由路由器LSR1->LSR4->LSR3的LSP。
在本發明的網絡中,MPLS的一個信令消息被用于在邊緣路由器LSR1和LSR3之間的帶寬預約,而且可以假定,用于處理該信令消息的一個LSR(LabelSwitch Router,標記交換路由器)被安裝到邊緣路由器LSR1和LSR3上。此外,在邊緣路由器LSR1和LSR3之間安裝一個或多個LSR,例如一個核心路由器LSR2,也是可能的。
即,邊緣路由器LSR1和LSR3經由MPLS網絡300進行連接。在這個MPLS網絡300中,具有一個帶寬容限的路由例如還可以是通過利用用于標記分配的CR-LDP(Constraint-based Routing-Label Distribution Protocol,基于限制的路由標記分配協議)從邊緣路由器LSR1和LSR3之間存在的多個路由中自動選擇出來的。
此外,作為另一個實施例,有可能通過分別把可以由RSVP(resourceReSerVation Protocol,資源預約協議)使用的路由器提供到邊緣路由器LSR1、LSR3和核心路由器LSR2,來使用RSVP,而且可以以和使用MPLS技術的情況同樣的方式實現帶寬預約。
在一個供應商通常使用分組來執行雙向通信、諸如發布電影、現場音樂會和音樂節目或者游戲內容的情況下,可以通過利用一個從客戶機直至第一邊緣路由器(LSR)、從第一邊緣路由器(LSR)經由核心路由器(LSR)到第二邊緣路由器(LSR)的接入鏈路、以及一個從第二邊緣路由器或者接入網絡直至服務器的接入鏈路,來實現通信。這個鏈路通常被假定為使用FTTH或者xDSL等,因此也可以假定根據合同獲得了恒定的通信質量。當使用了以上說明的RSVP時,可以在一個端對端的基礎上確保帶寬。換句話說,可以確保在服務器和客戶機之間的分組流帶寬預約。
在第二邊緣路由器經由一個專用線路(例如,吉位的以太網)與服務器連接的情況下,可以在該合同的基礎上確保接入鏈路和專用線路的帶寬預約。
1.1本發明中的操作概述將結合圖1說明本發明中的操作概述。以下將說明在本發明中包括五個主要步驟的構造的一個例子。
(a)一個客戶機CL(例如,CL1)把一個包括有一條連接請求消息的分組(連接請求分組)發送到服務器SV(例如,SV1)。這個分組經由邊緣路由器LSR1到LSR3的LSP(Label Switch Path,標記交換通路)500到達服務器SV。服務器SV執行有關客戶機CL的驗證,并且發送一條包括在響應分組中的、有關許可或者不許可連接到作為連接請求源的客戶機CL的響應消息。
在這種情況下,僅當連接請求被許可時服務器SV才發送響應分組也是可能的。
(b)在從服務器SV接收到允許來自于客戶機CL的連接請求的響應分組(以下,被稱為確認分組)時,邊緣路由器LSR3搜索目前連接到服務器SV的客戶機數目。當斷定到服務器SV的更多連接是不可能的時,該連接不被允許。也有可能把一個包括有一條通知一個連接不可能的消息的響應分組發送到客戶機CL。此外,邊緣路由器LSR3還可以把一個包括有一條通知連接不可能的消息的分組發送到服務器SV。此后,邊緣路由器LSR3完成了該處理過程。換句話說,來自于客戶機CL的、超出了到服務器SV的最大連接數目的連接請求被拒絕。
(c)接下來,當通過搜索在服務器SV和客戶機之間的當前連接數目斷定更多的連接是可能的時,邊緣路由器LSR3搜索在邊緣路由器LSR3和邊緣路由器LSR1之間必需的帶寬預約是否是可能的。如果這個帶寬預約是不可能的,則如以上說明的那樣,邊緣路由器LSR3可以把包括有一條通知“連接不可能”或者“帶寬預約不可能”的消息的響應分組發送到客戶機CL。
此外,邊緣路由器LSR3可以向服務器發送一條通知客戶機CL不能被連接到服務器SV的消息,此后邊緣路由器LSR3完成該處理過程。
此時,當在服務器SV和客戶機CL之間沒有實現任何比一個預定時段更長的持續時間的通信時,在假定客戶機CL或者服務器SV已經取消了通信的情況下,有關帶寬預約的通信資源可以被釋放。
(d)接下來,當在(c)項中帶寬預約是可能的時,邊緣路由器LSR3使用MPLS的功能把一個標記請求發送到該路由,直至邊緣路由器LSR1。通過響應于這樣一個標記請求接收一個標記分配,可以實現一個LSP(Label SwitchPath,標記交換通路)連接。在LSP連接的時候,例如,可以為通信質量執行帶寬預約。在這種情況下,預約一個最大可容許的延遲時間也是可能的。此外,對于流式視頻應用,還可以預約在從服務器SV到客戶機CL的下行方向的單側帶寬。此外,預約用于上和下行兩個方向的帶寬也是可能的。在這種情況下,還可以為上下行路由設置不同的帶寬。此外,在雙向通信應用、諸如一個戰斗游戲的情況下,可以預約上下行路由的期望通信帶寬。此外,設置最大可容許延遲時間的通信質量以便獲得快速響應時間也是可能的。
(e)當用于LSP的通信質量的預約完成時,從服務器SV接收的響應分組被傳送到作為請求發布源的客戶機CL。
如以上說明的那樣,邊緣路由器LSR3可以在通過步驟(a)到(e)從服務器SV接收確認分組時動態地獲得通信質量(例如,被請求的必需帶寬)。
1.2本發明的詳細描述依據圖1,可以利用邊緣路由器LSR3實現本發明。到LSR3的服務器經由接入鏈路或者接入網絡被直接或者間接地容納。直接容納(directaccommodation)意味著直接容納到邊緣路由器LSR3中,而間接容納(indirectaccommodation)意味著經由其中保證了通信質量(帶寬等)的網絡的單元連接。圖2顯示了本發明中的一個邊緣路由器LSR(Label Switch Router,標記交換路由器)構造的一個例子。本發明中的邊緣路由器還可以適用于如圖1所示的邊緣路由器LSR1。在這種情況下,邊緣路由器LSR1被請求把LSP連接到邊緣路由器LSR1到LSR3。一個標記交換路由器200(圖2)被假定為具有支持MPLS功能的功能,而且還具有一個用于路由選擇IP分組的路由器功能。此外,當使用了與MPLS功能類似的RSVP功能代替這種MPLS功能時,與MPLS功能結合的一個MPLS分組檢測單元20、一個通路設置處理單元80、一個數據轉發表60和一個分組緩存器50也被假定為支持RSVP功能。對本領域普通技術人員來說,顯然本發明中與MPLS功能結合的以上部分可以利用RSVP功能實現。
(1)邊緣路由器的構造圖2顯示了一個其中邊緣路由器LSR3被構造作為標記交換路由器200的例子。標記交換路由器200經由多個接收接口15接收分組。一個控制臺分組檢測單元10從多個這種接收接口15發送的分組中檢測從一個理論上連接的控制臺終端(例如,工作站等)發送的分組,并且把這種分組發送到一個終端控制單元70。就在終端控制單元70和控制臺終端之間的連接來說,除了MPLS網絡300和接入線路之外還可以使用一個線路(或者鏈路)(包括電話線、xDSL、FTTH等)75。
MPLS分組檢測單元20在從控制臺分組檢測單元10接收的分組中檢測MPLS分組。MPLS分組中的MPLS控制分組(標記請求/標記分配等)被發送到通路設置單元80。
確認分組檢測單元30從對來自于一個客戶機的一條連接請求消息做出響應的服務器中檢測確認分組。檢測到的確認分組被發送到通路設置單元80,然后在那里被處理。
分組緩存器50暫時地累積所接收的分組。
分組處理單元40把從確認分組檢測單元30中接收的分組累積到分組緩存器50,并且還讀取所接收的分組以參考一個數據轉發表60選擇一個恰當的發送接口120。從分組緩存器50中讀出的所接收分組然后被發送到所選擇的發送接口120。
數據轉發表60包括用以從將要被發送的分組的目的地地址信息中確定恰當的發送接口120的信息。
終端控制單元70分析被包括在從控制臺終端(沒有圖解說明)接收的分組內的一條消息,其中該控制臺終端理論上被連接到標記交換路由器200。
在包括在該消息內的一條命令的基礎上,進行到服務器連接管理單元100或者/和一個客戶機連接管理單元110的訪問以獲得信息。此時,所獲得的信息被編輯為一種例如如圖3或者圖4中所示的格式。此后這個信息被顯示在控制臺終端上。隨后將對細節進行說明。此時,標記交換路由器200被假定為能夠處理IP分組。
當判斷連接到服務器和帶寬預約的可能性的處理過程在確認分組的基礎上是可能的時,通路設置單元80執行LSP(Label Switch Path,標記交換通路)連接處理過程。此外,在完成在服務器和客戶機之間的通信時,LSP也被釋放。
連接判斷處理單元90判斷在作為連接請求源的客戶機和服務器之間的連接是否是可能的。
服務器連接管理單元100把用于每個服務器的客戶機連接的上限值保存到一個存儲器或者一個大容量存儲設備中。客戶機連接管理單元110執行對每個客戶機的連接狀態的管理。
以上說明的標記交換路由器200使用一個或多個CPU執行以上說明的處理過程,并且還可以使用一個系統LSI等執行這些處理過程。
連接判斷單元150的形成包括連接判斷處理單元90、服務器連接管理單元100和客戶機連接管理單元110。
標記交換路由器200(圖2)是如以上說明的那樣形成的,而且可以適用于LSR1到LSR4(圖1)中的任何一個。
(2)本發明中操作的詳細說明將說明標記交換路由器200中每個單元的操作。
(a)所接收分組的共享處理過程控制臺分組檢測單元10從接收接口15接收分組。當存在一個其發送目的地IP地址是這個標記交換路由器200的分組、而且這個分組具有一個特定應用端口號時,這個分組被發送到終端控制單元70。這個分組在這個終端控制單元70中被處理。
特定端口號是用于設置和顯示可連接到服務器的最大客戶機連接數目、和/或顯示客戶機連接狀態的應用。其它分組被發送到MPLS分組檢測單元20。
當從控制臺分組檢測單元10中接收的分組是MPLS控制分組(標記請求/標記分配,等)時,MPLS分組檢測單元20把這個分組發送到通路設置單元80。除了MPLS控制分組之外的分組被發送到確認分組檢測單元30。
確認分組檢測單元30在它已經從服務器中接收了確認分組時把這個分組發送到通路設置單元80。其它分組被發送到分組處理單元40。
分組處理單元40暫時地把所接收的分組累積到分組緩存器50。此時,執行諸如接收分組的優先級傳送控制或者分組的丟棄之類的處理過程,并且確定接下來將要被發送的接收分組。此后,從分組緩存器50中提取所確定的分組,而且在發送目的地址或者MPLS的標記值的基礎上參考數據轉發表60確定恰當的發送接口120。
所接收的分組經由所確定的發送接口120被發送。數據轉發表60的生成和搜索方法以及發送接口120的確定是現有技術,而且在此其說明被省略了。
(b)控制臺分組接收處理過程接下來,將說明一個在控制臺分組檢測單元10中從控制臺終端(未顯示)接收分組的操作的例子。標記交換路由器200的一個管理員從控制臺終端(例如,一個遠程工作站)登錄到本發明的路由器200,以顯示連接到每個服務器的客戶機數目的上限值或者改變設置。在這種情況下,用于請求這個顯示或者改變設置的分組被控制臺分組檢測單元10檢測,然后被傳送到終端控制單元70。此外,終端控制單元70可以從理論上經由一條獨立線路(75)(電話線、xDSL或者FTTH等)連接的控制臺終端中接收如上所述的、用于請求顯示或者改變設置的分組。
終端控制單元70基于被包括在用于請求顯示或者改變設置的分組內的消息(諸如一條命令)執行處理過程。舉例顯示了用于請求顯示的消息(命令),其中數據“顯示服務器名”(服務器名可以是主機名、URL或者IP地址中的任何一個)被輸入到控制臺終端圖像下半部的輸入行(倒數第二行)(圖3)。
終端控制單元70接收作為分組的這種命令。這個終端控制單元70進一步從服務器連接管理單元100中獲得服務器的當前連接判斷信息。在這種情況下,終端控制單元70編輯例如如圖3所示的獲得的結果,此后在控制臺終端(工作站)上顯示被編輯的結果。在顯示的例子中,服務器名是IP地址(圖3中的上端),而且它的值是100.25.2.1。
這個IP地址是以IPv4格式表示的,但是也可以以Ipv6格式表示。格式IPv4和Ipv6在地址長度中存在差別,但是本發明可以適用于IPv4和IPv6中的任一格式。
服務器連接管理單元100作為單個裝置是獨立的,而且還可以經由網絡或者總線連接到標記交換路由器200。
通過輸入例如數據“Update Line=3,Co1=6,Verify=10,Replace=20”,可以把當前“應用連接的最大數目”從10改變為20(圖3),其中“應用連接的最大數目”是在顯示屏幕的第三行第六列中的設置值。在輸入新數據的時候,“verify”操作數可以被省略。
如以上說明的那樣,服務器連接管理單元100的期望數據可以被設置或者更新。以同樣的方式,終端控制單元70可以用以上說明的方法與客戶機連接管理單元110合作,自由地設置或者改變在圖3中顯示的數據。
此外,有關服務器的連接上限值可以通過把有關該服務器的新數據增加到在顯示屏幕中表格格式下半部的該行中來進行設置。
此時,有可能使終端控制單元70通過利用Tcl/Tk基于服務器連接管理單元100的信息來顯示數據、或者用全屏幕圖像(圖3和圖4)來更新服務器連接管理單元100的數據,其中該Tcl/Tk是由UNIX工作站以標準提供的,用于提供GUI(Graphical User Interface,圖形用戶界面)。
此外,終端控制單元70可以通過從控制臺終端的顯示屏幕(圖3)中輸入數據“顯示連接到201.155.01.122和201.155.01.115的客戶機”作為一條命令,與客戶機連接管理單元110合作在控制臺終端的顯示區域上顯示該命令的處理結果,例如如圖4所示。
(c)MPLS分組接收處理過程接下來,將說明在MPLS分組檢測單元20中當MPLS分組被接收時的操作的一個例子。MPLS分組檢測單元20在接收了作為MPLS控制分組的、諸如標記請求和標記分配(Label Map)的信令分組時把該分組傳送到通路設置單元80,而且通路設置單元80處理所接收的MPLS的信令分組。MPLS的信令分組的處理對本領域普通技術人員來說已經是已知了,而且在此沒有對這些進行說明。
MPLS分組檢測單元20檢測MPLS分組,并且把在這種MPLS分組當中的MPLS控制分組發送到通路設置單元80。其它分組被發送到捕獲分組檢測單元30。通路設置單元80執行從MPLS分組檢測單元20和它自己的標記交換路由器中接收的有關來自于其它路由器的標記請求、標記分配的MPLS控制分組的處理過程。此外,通路設置單元80還基于所接收的MPLS控制分組執行帶寬預約。
(d)確認分組接收處理過程接下來,將說明在確認分組檢測單元30中用以從服務器接收包括有指示確認連接的消息的確認分組的操作。確認分組檢測單元30在從MPLS分組檢測單元20中接收了確認分組時把這個確認分組發送到通路設置單元80。
接下來,通路設置單元80把該確認分組存儲到分組緩存器50,并且還基于該確認分組驗證一個響應分組是否可以從這個服務器SV被發送到客戶機CL。作為一個實際的例子,使用服務器SV和客戶機CL的地址以及端口號(應用標識號)作為參數,向連接判斷處理單元90請求進行檢查連接是否可以被許可的驗證。
連接判斷處理單元90在從通路設置單元80接收了驗證請求時,基于這種參數從服務器連接管理單元100獲得有關相應服務器SV的信息。
圖5顯示了保存在服務器連接管理單元100中的數據的存儲格式的一個例子。將參考這幅圖對一個處理過程的例子進行說明。連接判斷處理單元90從服務器連接管理單元100獲得對應于服務器地址(例如,確認分組的發送源地址)的信息。例如,假定使用100.25.2.1作為服務器的IP地址進行對服務器連接管理單元100的訪問,并且由此已經獲得了對應的四個記錄。這四個記錄對應于在圖5中從第一條記錄直至第四條記錄的這些記錄。按以下順序執行驗證以判斷這些記錄是否滿足預置條件。
(i)檢查服務器的最大連接數目在本發明中,可以通過以每個客戶機的IP地址為單位收集連接數目來獲得從容戶機到服務器的最大連接數目。否則,可以通過以客戶機的應用為單位收集連接數目來獲得從客戶機到服務器的最大連接數目。
在圖5中顯示的、從具有服務器IP地址100.25.2.1的客戶機到服務器的最大連接數目為80。標記交換路由器200拒絕來自于超出這個值的客戶機的連接請求。
目前正連接到服務器的客戶機數目(在為客戶機的每個IP地址收集“應用的當前連接數目”的情況下)或者“應用的當前連接數目”(在為每個應用進行收集的情況下)分別為59。同時,“服務器的最大連接數目”為80。因此,可以判斷來自于客戶機的連接請求可以被許可。在此,假定標記交換路由器200的一個管理員設置圖5中的“應用的最大連接數目”和“應用的當前連接數目”設置為客戶機數目或者應用數目中的任何一個。
(ii)組的總連接數目當有關服務器應用的信息(例如端口號)被設置在確認分組中時,用于到服務器的連接的上限數目還可以為每個應用進行限制。如果有關服務器應用的信息沒有被設置在確認分組中,則自動地選擇預置應用也是可能的。
在此,通過假定已經接收了其中應用信息還沒有被設置到確認分組的分組,在“視頻流”(低圖像質量)和“快速組”被設置作為省略值的條件下執行處理過程。此外,分別為每個客戶機或者服務器預先地設置用于“組名”、“應用”和“通信量系數”的省略值也是可能的。
此外,有關用于每個客戶機或者服務器的相應省略值的信息還可以被保存在客戶機連接管理單元110中。對本領域普通技術人員來說,顯然盡管在此沒有進行詳細地說明,但是這種處理過程也可以被很容易地實現。
依據圖5,該組到具有服務器IP地址100.25.2.1的快速組的最大連接數目為55。目前正連接到該快速組的客戶機數目(應用的當前連接數目)為54。因此,可以判斷來自于客戶機的連接請求可以被許可。
(iii)應用的總連接數目依據圖5,到具有服務器IP地址100.25.2.1的組中的視頻流(低圖像質量)應用的最大連接數目為20,而且當前正在連接的客戶機數目為20。因此,可以判斷那個應用的一個連接請求不能被許可。
(iv)通信量系數將要通過視頻流(高圖像質量)傳送的信息數量明顯大于視頻流(低圖像質量)的數量,因此用于視頻流(高圖像質量)的服務器負載被認為是較重的。因此,可以通過給定一個所謂的“通信量系數”,依據從每個應用給予服務器的負載,來補償“應用的當前連接數目”。
例如,當視頻流(高圖像質量)向服務器給出一個是視頻流(低圖像質量)的負載的兩倍的負載時,可以通過設置視頻流(高圖像質量)的通信量系數為“2”而視頻流(低圖像質量)的“通信量系數”為“1”,來更準確地指示一個服務器負載指數。
依據圖5,音頻數據被設置為“0.3”,而http被設置為“0.1”,但是自由地為每個服務器和每個應用設置一個“通信量系數”值也還是可能的。在此,通過把通信量系數乘以“應用的當前連接數目”獲得的一個值可以被用作更準確的“應用的當前連接數目”。
在這個實施例(圖5)中,視頻流(高圖像質量)的通信量系數被設置為“2”,但是“應用的當前連接最大數目”為30,但是當使用這個“通信量系數”執行補償時,所獲得的值超出了“組的最大連接數目”“55”,因此“通信量系數”僅僅被描述作為一個參考值。
如果使用了“通信量系數”,則必須根據需要檢查“應用的最大連接數目”、“組的最大連接數目”和“服務器的最大連接數目”的相應設置值。基于通信量系數將在圖5中顯示的數據設置為“應用的補償的最大連接數目”,而且此外在圖6中顯示了一個“應用的當前連接數目”的例子。
(v)當利用(a)到(d)項中的過程接收了確認分組時,如以下說明的那樣,執行從接收確認分組到發送同一個分組的處理過程。
在標記交換路由器200中的連接判斷處理單元90在把從服務器接收的確認分組發送到作為連接請求源的客戶機CL之前,向通路設置單元80請求檢查在邊緣路由器LSR3和LSR1之間是否已經存在了具有預定預約帶寬的LSP(Label Switch Path,標記交換通路)。因為在接收確認分組期間LSP沒有被連接,所以數據從來不會經由這種LSP被發送。
當這個LSP不存在時,向通路設置單元80請求檢查在邊緣路由器LSR3和LSR1之間的帶寬預約是否是可能的。當帶寬預約是可能的時,通路設置單元80在邊緣路由器LSR3和LSR1之間利用MPLS預約帶寬。通過利用RSVP技術進行這個帶寬預約也是可能的。由于RSVP技術的應用作為現有技術已經是眾所周知的,所以在此詳細說明就被省略了。
當通過LSP或者RSVP的帶寬預約完成時,在服務器連接管理單元100中的相應的“應用的當前連接數目”被加1。
在此,連接判斷處理單元90向客戶機連接管理單元110通知“客戶機地址”、“連接目的地服務器地址”、和“LSP標識符”。客戶機連接管理單元110保存被通知的客戶機地址、連接目的地服務器地址和LSP標識符。
作為保存這種數據的實施例,這種數據還可以被保存在存儲器中以便確保它的高速處理過程。此外,由于客戶機連接管理單元110從分組處理單元40接收了分組發送消息,所以把對應于在那時所發送分組的客戶機地址的“在發送最后的分組之后的時間推移”進行重置(例如,“0”被設置)。
例如,當所發送的分組的發送源地址或者發送目的地址為201.155.01.115時,對應的“在發送最后的分組之后的時間推移”被重置(在圖4中100被設置)客戶機連接管理單元110以一個恒定間隔更新每個“在發送最后的分組之后的時間推移”。例如,在圖4中,顯示了當在從服務器SV發送了具有客戶機CL地址201.155.1.122的分組之后、或者是該分組從客戶機CL被發送到服務器SV之后已經經過了300毫秒時的一個值。
當已經經過了一個預置時間時,例如,當在服務器和客戶機之間的通信被停止了3,000毫秒時,客戶機連接管理單元110檢測這個狀態,并且把它通知給連接判斷處理單元90。連接判斷處理單元90設置客戶機地址、服務器地址和LSP標識符,并且向通路設置單元80請求釋放它的LSP。通路設置單元80基于來自于連接判斷處理單元90的LSP釋放請求,始發MPLS控制分組以執行LSP的釋放處理過程。
其間,當如上所述來自于客戶機CL的一個連接請求被拒絕(限制)時,在接收到確認分組時,可以把指示連接不可能的一條消息返回到客戶機CL。否則,可以不發送響應。無論如何,來自于客戶機CL的連接可以被限制。還可以為數據分組監控“在發送最后的分組之后的時間推移”。如果數據分組的通信已經被停止了某一時間段,則這種通信可以被完成,而且釋放LSP。
(3)其它修改以上已經說明了一種用于防止一個服務器過載狀態的方法,但是作為另一種方法,把服務器的當前總帶寬與可以用來判斷新的客戶機連接是否可能的一個總帶寬上限進行比較。此外,通過測量CPU使用率或者一個延遲時間等把服務器的當前性能與服務器的性能限制進行比較,也是可能的。
在此,假定可用總帶寬的上限值、CPU的使用率限制、或者延遲時間限制由一個管理員存儲在服務器連接管理單元100中。有關CPU的當前使用率或者當前總帶寬的信息可以被保存在從服務器接收的確認分組的一部分中。
連接判斷處理單元90能夠基于被包括在從確認分組檢測單元30發送的確認分組內的當前CPU使用率、或者當前總帶寬,來判斷客戶機連接的可能性。
1.3標記交換路由器的處理流程接下來,將參考圖7中的處理流程和圖2對本發明進行說明。
在圖7中,在步驟S01,確認分組檢測單元30響應于包括有連接請求消息的分組,從服務器SV接收確認分組。此后,確認分組檢測單元30把該確認分組發送到通路設置單元80。
在步驟S02、S03和S0D,通路設置單元80檢查在邊緣路由器LSR3和LSR1之間是否存在LSP(Label Switch Path,標記交換通路)、以及在其通路是否可以被使用。假定在隨后說明的步驟S08到S09中,例如在圖1中的邊緣路由器LSR3和LSR1之間的LSP被設置時該通路存在,并且這個通路可以被設置。即,當在步驟S08中設置了LSP時,處理過程在步驟S03中轉移到步驟S0D。在步驟S01中接收的分組在步驟S0D中由分組處理單元40經由LSP進行發送。
在步驟S04中,由確認分組檢測單元30接收的確認分組被發送到通路設置單元80。通路設置單元80把所接收的確認分組存儲到分組緩存器50。
在步驟S05和S06中,基于由標記交換路由器200接收的確認分組,檢查來自于客戶機的連接請求是否可以被連接到服務器。更實際地,通路設置單元80向連接判斷單元90通知所接收確認分組的發送目的地址(客戶機地址)和發送源地址(服務器地址)的信息。這個通知信息可以包括有關請求連接的應用、例如視頻流(高質量)等的信息。連接判斷處理單元90通過基于被通知的信息訪問服務器連接管理單元100來讀取必要的信息,以便判斷是否有可能把客戶機連接到服務器。用于判斷的條件說明如下。
(a)當應用(例如,對應于端口號)被通知時,作為初級判斷,斷定在應用的當前連接數目低于相應應用的最大連接數目的條件下連接是可能的。此外,當應用沒有被通知時,一個預定的應用被認為是所指定的應用。當“應用的最大連接數目”被設置為0時,假定在這種應用的最大連接數目上沒有限制。然而,把最大連接數目限制在較上級別的限制(例如,諸如“組的最大連接數目”等)下被假定為是有效的。
(b)作為次級判斷,斷定當屬于該組的“應用的當前連接數目”的總和低于屬于該應用的組的最大連接數目時,連接是可能的。
(c)接下來,獲得連接到服務器的每個應用的當前連接總數。依據圖5中的一個例子,在具有IP地址100.25.2.1的服務器中的當前連接數目被假定為59(30+20+4+5=59)。同時,作為第三級判斷,斷定由于可連接到這個服務器的最大客戶機連接數目為80所以連接是可能的。
因此,由于在主要到第三級判斷中連接被斷定為是可能的,所以這個客戶機的連接請求被確認。此時,把相應應用的“應用的當前連接數目”的值加1。如果進一步指定“通信量系數”,則可以考慮如圖6所示的每個“應用的補償的當前連接數目”的值,做出連接判斷。
即,獲得每個“應用的補償的當前連接數目”×相應的“通信量系數”的值。由此,在基于例如從圖6的開始處的15×2+20×1+5×0.3+5×0.1=52的計算,客戶機的當前連接總數或者“應用的當前連接數目”為52的條件下,也可能執行計算,并且來自于客戶機的連接請求通過以上說明的初級判斷到第三級判斷被斷定為可能的或者不可能的。
作為另一個實施例,在圖6中顯示了考慮“通信量系數”的服務器連接管理單元100中的一個格式的例子。在圖6中,“應用的補償的當前最大連接數目”被添加到圖5中。
已經在步驟S05到S06中從用于連接的判斷中獲得連接是可能的這個結果的通路設置單元80,通過利用由MPLS提供的LDP(Label Distribution Protocol,標記分配協議)把一個標記請求發送到邊緣路由器LSR3到LSR1,并且當LSP(Label Switch Path,標記交換通路)的連接被建立時,在等待對LSP是否已經在MPLS網絡上預約了帶寬的判斷之后,向分組緩存器50指示開始發送相應的確認分組。
如果通過初級到第三級判斷后連接是不可能的,或者如果在MPLS網絡上具有預約質量的通路不能被建立,則通路設置單元80轉移到步驟S0E以便取消用于分組緩存器50的有關分組。
在步驟S07,通路設置單元80或者服務器連接管理單元100的一個管理員可以預先地給定將要在MPLS網絡上獲得的帶寬預約,而且取決于在服務器和客戶機之間的通信內容和通信狀態,通信質量可以被適當地改變。例如,當在MPLS網絡上將要獲得的帶寬被假定為4Mbps時,通路設置單元80決定以4Mbps的高圖像質量設置該通路(LSP)。
然而,例如,當邊緣路由器LSR3中的接口卡的剩余帶寬被降低到小于一個規定值(例如,小于40Mbps或者小于它的20%)時,可以把為正在使用該接口卡的客戶機獲得的帶寬從4Mbps(高圖像質量)改變為例如1.5Mbps(中間圖像質量)。
一個操作員可以把這個規定值設置為所期望的帶寬。此外,可以為每個客戶機或者每個組設置這種期望的帶寬值。
在步驟S08中,通路設置單元80以1.5Mbps的圖像質量向MPLS網絡的一個相應邊緣路由器發布一個該通路(LSP)的設置請求。根據這個設置請求,1.5Mbps的通路可以利用RSVP(resource ReSerVation Protocol,資源預約協議)進行設置。此外,并行使用MPLS和RSVP也是可能的。即,有可能有選擇地使用具有LSR的LSP和其中存在具有RSVP功能的路由器的通路。
在步驟S09中,接收源于通路設置單元80的LSP連接請求的結果。因此,如果不能獲得所請求的帶寬,則處理過程轉移到步驟S0E。
在步驟S0A中,當LSP可以被連接在邊緣路由器LSR3和LSR1之間時,具有作為發送目的地址的客戶機地址的一個條目(高速緩存)被最新添加到數據轉發表60中。在LSP連接之后,當分組處理單元40基于給予這個數據分組的標記值搜索數據轉發表60時,用于從服務器把內容發布到客戶機的數據分組經由LSP被發送。
在步驟S0B和S0C中,由于確認分組被保存在分組緩存器50中,所以這個確認分組經由以上說明的LSP被發送。此時,把相應應用的“應用的當前連接數目”的值加1,并且向客戶機連接管理單元110通知這種分組的發送。
客戶機連接管理單元110基于相應客戶機的地址重置“在發送最后的分組之后的時間推移”,并且以恒定周期設置在發送最后的分組之后的時間推移。在這種情況下,如果在發送最后的分組之后的時間推移已經超出了預定時間(超時),則客戶機連接管理單元110向連接判斷處理單元90通知發生超時以及相應的LSP標識符。連接判斷處理單元90向通路設置單元80通知所接收的LSP標識符,而且通路設置單元80通過釋放LSP來有效地利用資源。
在步驟S0D和S0F中,由分組處理單元40接收的數據分組經由LSP被發送,而且向客戶機連接管理單元110通知這個分組的發送。客戶機連接管理單元110基于相應客戶機的地址重置“在發送最后的分組之后的時間推移”,并且以恒定周期設置在發送該分組之后的時間推移。
此時,當在發送最后的分組之后的時間推移已經超出了預定時間(超時)時,客戶機連接管理單元110向連接判斷處理單元90通知發生超時以及相應的LSP標識符。連接判斷處理單元90向通路設置單元80通知所接收的LSP標識符,而且通路設置單元80釋放這個LSP以有效地利用資源。由此,完成了在步驟S01中接收的分組的處理過程。
在步驟S0E中,由于在步驟S06或者S09中LSP的設置已經是不可能的了,所以丟棄確認分組。此時,完成了確認分組的處理過程。在這種情況下,指示到服務器的連接已經失敗的一條消息可以被發送給客戶機。此外,通路設置單元80可以向作為連接請求源的客戶機發送一條指示了到服務器的連接被取消的消息。此時完成了在步驟S01中接收的分組的處理過程。
2.本發明中的替換實施例2.1在第一和替換實施例之間的差別(1)連接請求分組的檢測在第一實施例中,在從服務器接收了確認分組時,到服務器的連接的可能性被判斷以對通信質量進行預約。然而,在這個替換實施例中,當本發明中的標記交換路由器已經從客戶機接收了包括一條用于到服務器的連接請求的消息的分組時,判斷到服務器的連接的可能性,而且當到服務器的連接是可能的時,在標記交換路由器(邊緣路由器)和另一個標記交換路由器(邊緣路由器)之間預約通信質量。
(2)通過指定的驗證裝置的驗證在第一實施例中,一個客戶機已經被服務器驗證,但是在這個替換實施例中,對應于每個服務器由邊緣路由器或者指定的驗證裝置對客戶機進行驗證。
(3)到一個替換服務器的連接在第一實施例中,用于連接的服務器沒有被改變,但是在這個替換實施例中,基于包括來自于客戶機的連接請求消息的分組,嘗試連接到將要連接的服務器,但是如果連接不可能,連接到預定的替換服務器也是可能的。
(4)恰當的內容服務器的選擇甚至就具有類似內容的服務器來說,在某些情況下,取決于線路速度,內容的圖像質量是不同的。例如,在容納了一條具有1.5Mbps線路速度的xDSL線路和一條具有4Mbps線路速度的FTTH線路的地方,服務器SV1準備具有1.5Mbps的中間圖像質量的內容,而服務器SV2準備具有4Mbps的高圖像質量的內容。當一個客戶機把連接請求發布到服務器SV2并且請求低圖像質量內容(應用)時,這種連接請求被切換到服務器SV1用于連接。這個替換實施例在這一點上不同于第一實施例。
2.2對在第一和替換實施例之間的差別的說明(1)標記交換路由器的操作概述在注意到在第一和替換實施例之間的差別的同時,將參考圖8、圖1和圖2對替換實施例進行說明。
連接請求分組檢測單元30A、通路設置單元80A、連接判斷處理單元90A、客戶機連接管理單元110A和連接判斷單元150A是不同的,而且最新增加了一個驗證單元130A。連接判斷單元150A包括連接判斷處理單元90A、服務器連接管理單元100、客戶機連接管理單元110A和驗證單元130A。
在第一實施例的一個例子中,在由邊緣路由器LSR3從服務器中接收了確認分組時,對到服務器的客戶機連接的可能性進行判斷,并且在邊緣路由器LSR3(標記交換路由器200)和邊緣路由器LSR1之間的帶寬被預約。
在一個替換實施例的例子中,當邊緣路由器LSR1的連接請求分組檢測單元30A已經從一個客戶機接收了包括有一條請求連接到服務器的消息時,對到這個服務器的客戶機連接的可能性進行判斷。當連接被判斷為是可能的時,在邊緣路由器(例如,從圖1中的邊緣路由器LSR1到邊緣路由器LSR3)之間的帶寬被預約。
當邊緣路由器LSR3已經從同一個客戶機接收了包括到一個服務器的連接請求消息的分組時,對到該服務器的客戶機連接的可能性進行判斷。在這種情況下,從邊緣LSR3到邊緣路由器LSR1連接LSP。
如果例如由于必要的帶寬不能被預約,使得從一個客戶機到服務器的連接請求被取消了,則這種連接可以被建立到替換服務器。在這種情況下,本發明中的邊緣路由器控制有關從這種客戶機到服務器的通信的分組傳送,使得分組傳送被執行到替換服務器。
在本例子中,雖然有關的通信被繼續,但是使用在發送目的地址和將要被傳送到替換服務器的發送目的地址之間的對應關系,在數據轉發表60中生成一個新的條目作為高速緩存,而且分組處理單元40通過參考這種條目執行到替換服務器的路由選擇處理過程。在這種情況下,發送目的地的IP地址被改變為替換服務器的地址。
當有關的通信完成時,在數據轉發表60中生成的條目被刪除。由此,完成了到替換服務器的傳送過程。
在連接請求分組檢測單元30A中,可以執行對包括連接請求消息的一個分組的檢測,用于接收一條用以在客戶機和服務器之間建立一個TCP會話的消息。
例如,當把在客戶機和服務器之間建立TCP虛擬電路連接時傳送的分組首部的TCP段格式中的代碼位的SYN(Synchronize Flag,同步標記)設置為“1”時,連接請求分組檢測單元30A把一個分組識別為包括用于請求連接到服務器的消息的分組,以便開始通信。
即,當如在第一實施例的情況下那樣接收確認分組時,在這個替換實施例中可以實現通過邊緣路由器LSR1接收包括連接請求消息的分組。如以上說明的那樣,在同一時間中執行確定的接收,連接請求分組檢測單元30A檢測包括有用于從客戶機請求連接到服務器的消息的分組,并且把所檢測到的分組發送到通路設置單元80A。
此外,一個帳號和密碼可以被包括在包括這種連接請求消息的分組中。此外,如第一實施例那樣,標識該應用(例如,高圖像質量的一個視頻流)的信息也可以被包括到其中。
連接請求分組檢測單元30A檢測包括有用于從一個客戶機請求連接到服務器的消息的分組,并且從包括這種連接請求消息的分組中提取用于驗證作為客戶機的一個用戶所需要的帳號和密碼。此外,在有關在服務器上運行的應用的信息被包括時,這種檢測單元30A還提取該信息。
當應用信息沒有被包括時,有可能提取預定的省略值(例如,其中設置了“視頻流(低圖像質量)”和“快速組”的一個值)作為該應用和組。此時,帳號和密碼并且此外提取的應用信息被發送到通路設置單元80A,而且包括連接請求消息的分組可以被保存在分組緩存器50中。在驗證該密碼時,用于引入加密的一條密鑰消息從邊緣路由器被發送到客戶機,而且基于這種關鍵字加密的密碼作為響應被發送到邊緣路由器以提高安全性。這條密鑰消息可以為每個連接進行改變。
依據圖8,通路設置單元80A把所接收的帳號和密碼等發送到連接判斷處理單元90A以請求驗證這個帳號。連接判斷處理單元90A訪問客戶機連接管理單元110A以獲得從客戶機地址中驗證這個客戶機的裝置信息。
例如,依據圖9,可以理解,自己的邊緣路由器(標記交換路由器)本身從客戶機(201.155.1.115)中驗證服務器(100.25.2.2)。此外,當從客戶機(201.155.1.122)進行對服務器(100.25.2.1)的訪問時,一個驗證服務器(100.50.2.1)作為驗證裝置進行操作。
當驗證裝置是它自己的標記交換路由器時,連接判斷處理單元90A使用以上說明的帳號和密碼向驗證單元130A請求驗證。此外,當如以上說明的那樣指定驗證服務器時,對這種驗證裝置請求驗證。可以使用一個RADIUS服務器作為驗證裝置。當成功地完成驗證時,如在第一實施例中說明的那樣,連接判斷處理單元90A檢查服務器連接的最大上限數目。詳情參見第一實施例。
當成功地完成驗證、而且服務器連接的最大數目小于上限值時,檢查例如依據圖1在邊緣路由器LSR1和邊緣路由器LSR3之間是否可以連接LSP。當LSP的連接是可能的時,建立LSP的連接。
此時,指示驗證和連接成功的一條消息被發送到有關的客戶機。此外,可以向服務器通知LSP連接成功。
利用這個通知,可以進行用于從服務器向客戶機發送內容所需要的通信質量的預約。此外,客戶機可以利用這種過程節省用于等待帶寬預約的預約完成的時間。即,從客戶機到服務器的連接時間可以被縮短。
圖2和圖8中共同部分的詳情參見第一實施例。
(2)有關標記交換路由器的處理流程的說明將參考圖7(第一實施例)和圖10(替換實施例)中的處理流程對在第一和替換實施例之間的本質區別進行說明。依據圖10,步驟S21、S28和S2D是不同的。
(a)步驟S21在圖7中,當標記交換路由器200從服務器檢測(步驟S01)包括一條用于請求連接的消息的分組時,對到服務器的連接可能性進行判斷,而且連接LSP。同時,在圖10中,當標記交換路由器從客戶機檢測(步驟S21)包括一條用于請求連接到服務器的消息的分組時,對到服務器的客戶機連接的可能性進行判斷。
即,在第一實施例中,當從“服務器”接收了確認分組時對連接可能性進行判斷,而在替換實施例中,當從“客戶機”接收了包括用于請求連接的消息的分組時,判斷可能性。這是在第一和替換實施例之間的差別。
(b)步驟S28在圖7中,當標記交換路由器從服務器接收了確認分組時,連接新的LSP。在這種情況下,參考圖1,從邊緣LSR3到邊緣路由器LSR1連接LSP。
然而,在說明了替換實施例的一個例子的圖10中,不同于第一實施例,從邊緣路由器LSR1到邊緣路由器LSR3連接LSP。然而,這個差別不是本質區別。即,如第一實施例那樣,替換實施例還可以適用于邊緣路由器LSR3和LSR1。
當本發明適用于邊緣路由器LSR3時,必須實質上從邊緣路由器LSR3到LSR1連接LSP。當本發明適用于邊緣路由器LSR1時,必須實質上從邊緣路由器LSR1到LSR3連接LSP。
(c)步驟2D在圖7中,在步驟S01中從服務器接收的分組被發送(步驟S0D)到在LSP(指向客戶機)上的客戶機,但是在圖10中,從客戶機接收的分組被發送到服務器(步驟S2D),指示了不同于圖7的一個差別。
在下面將基于以上說明的差別對處理流程進行說明。
依據圖10,在步驟S21中,連接請求分組檢測單元30A從客戶機中接收包括有用于請求連接到服務器的消息的分組,此后把這個分組發送到通路設置單元80A。
在步驟S22、S23和S2D中,通路設置單元80檢查在邊緣路由器LSR1和邊緣路由器LSR3之間存在LSP(Label Switch Path,標記交換通路)、以及這種通路是否可以被使用。在這種情況下,假定存在有在邊緣路由器LSR1和LSR3之間LSP連接成功時被設置的通路。即,在步驟S28中,當在步驟S28中LSP的設置成功時,處理過程在步驟S23中轉移到步驟S2D。在步驟S2D中,在步驟S01中接收的分組通過分組處理單元40經由LSP被發送到服務器。
在步驟S24中,由連接請求分組檢測單元30A接收的包括連接請求消息的分組被發送到通路設置單元80A。通路設置單元80A把包括所接收的連接請求消息的分組存儲到分組緩存器50。
在步驟S25和S26中,基于包括所接收的連接請求消息的分組,檢查來自于客戶機的連接請求是否可以被連接到服務器。更實際地,通路設置單元80A向連接判斷處理單元90A提供包括有所接收的連接請求消息的分組的發送源地址(客戶機地址)和發送目的地址(服務器地址)的信息作為通知信息。
這個通知信息可以包括有關請求連接的應用的信息。例如,它可以包括“視頻流(高圖像質量等)”。連接判斷處理單元90A基于通知信息訪問服務器連接管理單元100,以讀取用于判斷客戶機是否可以被連接到服務器所需的信息。該判斷方法實質上與在第一實施例中說明的判斷方法相同。
此外,在一替換實施例中,當判斷來自于客戶機的連接請求沒有被許可(未連接)時,檢查該連接是否可以被擴展到在圖11的“服務器IP地址”(替換服務器)中定義的替換服務器(例如,保存相同的內容但是在線路速度上不同),其中圖11顯示了保存在服務器連接管理單元100中的信息的存儲格式。這種檢查方法是以和用于到該IP地址的連接請求的判斷相同的方式確定的。詳情參見第一實施例中的連接判斷處理單元90和它的說明。
此外,如圖9所示,可以向每個客戶機給予固有的“線路帶寬”(線路速度)也是可能的。當給定“線路帶寬”時,可以通過依據線路速度動態地選擇提供內容的服務器來執行該處理過程,就好象在替換服務器中執行一樣。利用以上說明的處理過程,可以增加用于把通信量分散到特定服務器的選擇項。
在這個動態選擇中,可以對應于如圖11所示的“應用”提供對應于線路速度的內容。可以參考這個應用信息選擇所期望的應用。可以依據線路速度設置應用。這個應用包括,例如,“視頻流56Kbps(低圖像質量)”、“視頻流1.5Mbps(中間圖像質量)”、“視頻流4Mbps(高圖像質量)”、和“視頻流8Mbps(超高圖像質量)”等。恰當的“服務器IP地址”(圖11中的左端)是從對應于客戶機的線路速度(圖9)的所選應用中選擇出來的,然后它可以被連接到服務器。
當利用在步驟S25到S26中的用于連接可能性的判斷斷定連接是可能的時,通路設置單元80A利用由MPLS提供的LDP(Label Distribution Protocol,標記分配協議)或者CR-LDP,把通路連接請求從邊緣路由器LSR1發送到邊緣路由器LSR3。
當在判斷用于在MPLS網絡上獲得帶寬的通路(LSP)是否可能之后LSP(Label Switch Path,標記交換通路)的連接被成功地擴展時,從分組緩存器50中提取包括有關連接請求消息的分組,然后把該分組發送到服務器。
如果通過初級到第三級判斷后連接被判斷為是不可能的,或者如果用于帶寬預約的LSP不能被連接在MPLS網絡上,則通路設置單元80A指示分組緩存器50取消有關的分組。因此,保存在分組緩存器50中的、包括連接請求消息的分組可以被取消。在這種情況下,通路設置單元80A可以向作為連接請求源的客戶機發送用于拒絕到服務器的連接的消息。
在步驟S27中,有關在MPLS網絡上將要獲得的帶寬預約的信息可以預先由通路設置單元80A或者服務器連接管理單元100的一個管理員給定。此外,可以取決于在服務器和客戶機之間的通信內容和通信狀態,改變通信質量以提供恰當的通信。
例如,如果在MPLS網絡上的帶寬預約被假定為8Mbps(超高圖像質量),通路設置單元80決定把LSP連接為一個8Mbps的線路速度。然而,邊緣路由器LSR1中的某個接口卡的剩余帶寬變得更低,例如,低于規定值(例如,40Mbps或者更小,或者可以被預約的所有帶寬的10%或者更小),那么可以改變應用,而且將要由客戶機經由這個接口卡使用的帶寬可以被節省(例如,使用1.5Mbps(中間圖像質量)而不是8Mpbs)。因此改變了應用。
做為選擇,預先地為每個客戶機或者每個組設置所希望的節省帶寬預約也是可能的。此外,當如以上說明的那樣改變帶寬時,可以獲得客戶機的許可。此外,客戶機可以進入等待狀態直到通信狀態被恢復為止,而不必給定對用于從服務器改變帶寬的消息的許可。
在步驟S28中,通路設置單元80A以8Mbps的線路速度向MPLS網絡中的相應邊緣路由器發布該通路(LSP)的連接請求。這個請求還能夠通過利用RSVP(resource Reservation Protocol,資源預約協議)來實現8Mbps的帶寬預約。
在步驟S29中,接收從通路設置單元80A發布的LSP設置請求的一個結果。因此,如果所請求的帶寬不能獲得,則處理過程轉移到步驟S2E。
在步驟S2A中,當LSP可以被連接在邊緣路由器LSR1和邊緣路由器LSR3之間時,其中客戶機地址被描述為目的地址的條目(高速緩存)被最新添加到數據轉發表60中。在LSP連接之后,在分組處理單元40基于所增加的分組的標記值搜索數據轉發表60之后,用于從服務器把內容發布到客戶機的數據分組經由LSP被發送。
在步驟S2B和S2C中,由于連接請求分組已經保存在分組緩存器50中,所以包括連接請求消息的分組經由LSP被發送,而且向客戶機連接管理單元110A通知這個分組的發送。客戶機連接管理單元110A基于相應客戶機的地址重置“在發送最后的分組之后的時間推移”,并且以恒定周期設置在發送該最后的分組之后的時間推移。
此后,當在發送最后的分組之后的時間推移已經超出了預定時間(超時)時,客戶機連接管理單元110A向連接判斷處理單元90A通知相應的LSP標識符以及所發生的超時。連接判斷處理單元90A向通路設置單元80A通知所接收的LSP標識符,而且通路設置單元80A釋放它的LSP并且有效地利用資源。在步驟S01中接收的分組然后被發送到服務器。
在步驟S2D和S2F中,由分組處理單元40在步驟S21中接收的數據分組經由LSP被發送到服務器,然后向客戶機連接管理單元110A通知這個分組的發送。客戶機連接管理單元110A基于相應客戶機的地址重置“在發送最后的分組之后的時間推移”,而且還以恒定周期設置在發送該最后的分組之后的時間推移。
當在發送最后的分組之后的時間推移已經超出了預定時間(例如一個操作員設置的時間)(超時)時,客戶機連接管理單元110A向連接判斷處理單元90A通知所發生的超時以及相應的LSP標識符。連接判斷處理單元90A向通路設置單元80A通知所接收的LSP標識符,而且通路設置單元80A釋放它的LSP以有效地使用資源。完成了在步驟S21中接收的分組的處理過程。
在步驟S2E中,由于在步驟S26或者S29中沒有建立LSP的連接,所以包括連接請求消息的分組被取消了。此時,完成了包括連接請求消息的分組的處理過程。在這種情況下,通知到服務器的連接已經失敗的一條消息可以被發送給客戶機。此時,完成了在步驟S21中接收的分組的處理過程。
本發明還包括在下面補充注釋中描述的構造。
依據本發明,由于服務器不允許客戶機連接數目超出上限值,所以每個客戶機可以用恒定的通信質量接受通信服務。
此外,如果在服務器和客戶機之間的通信停止了一次恒定時段,則預約帶寬被釋放,因此可以有效地使用通信資源。
此外,可以經由控制臺終端操作來設置或者更新從客戶機到服務器的最大連接數目。
權利要求
1.一種用于基于一個輸入分組的目的地址對分組進行路由選擇的路由器,該路由器包括一個連接判斷單元,用于在接收了一個有關在一個服務器和一個客戶機之間的連接的分組時,判斷到所述服務器的連接數目是否超出了可連接到所述服務器的客戶機的一個上限值;以及一個通路設置單元,用于在所述連接判斷單元判斷所述連接是可能的時,發送一條用于在被用來在所述客戶機和所述服務器之間中繼分組的兩個路由器之間預約帶寬的消息。
2.如權利要求1所述的路由器,其中有關連接的分組包括一條連接請求消息,并且從所述客戶機被發送到服務器。
3.如權利要求1所述的路由器,其中有關連接的分組包括一條確認消息,并且從所述服務器被發送到所述客戶機。
4.如權利要求1所述的路由器,所述連接判斷單元包括一個連接判斷處理單元和一個服務器連接管理單元,其中所述連接判斷處理單元從所述服務器連接管理單元中接收有關所述服務器的應用連接最大數目和有關所述服務器的應用連接當前數目以用于比較,以便判斷用于所述客戶機連接的可能性。
5.如權利要求1所述的路由器,所述連接判斷單元包括一個連接判斷處理單元和一個服務器連接管理單元,其中所述連接判斷處理單元從所述服務器連接管理單元中接收有關所述服務器的應用連接最大數目和已經用一個通信量系數補償了的、有關所述服務器的應用連接當前數目以用于比較,以便判斷用于所述客戶機連接的可能性。
6.如權利要求1所述的路由器,所述連接判斷單元包括一個連接判斷處理單元和一個服務器連接管理單元,其中所述連接判斷處理單元接收所述客戶機所屬的一組和該組的最大連接數目以用于比較,以便判斷用于所述客戶機的連接的可能性。
7.如權利要求1所述的路由器,該連接判斷單元包括一個連接判斷處理單元和一個服務器連接管理單元,其中連接判斷處理單元從客戶機連接管理單元中接收一條通知在服務器和客戶機之間通信期間在一個時間段內沒有接收到一個分組的消息,并且釋放已經被用于在服務器和客戶機之間進行通信的一條標記交換通路。
8.如權利要求2所述的路由器,該連接判斷單元包括一個連接判斷處理單元和一個服務器連接管理單元,其中該連接判斷處理單元在連接被判斷為不可能時向對應于該服務器預置的一個替換服務器發送一個連接請求。
9.如權利要求1所述的路由器,所述連接判斷單元包括一個連接判斷處理單元和一個服務器連接管理單元,其中所述連接判斷處理單元從所述連接管理單元中接收有關一個用于驗證所述客戶機的裝置的信息,以經由所述驗證裝置驗證所述客戶機。
10.如權利要求1所述的路由器,所述連接判斷單元包括一個連接判斷處理單元和一個服務器連接管理單元,其中所述連接判斷處理單元從所述連接管理單元中讀取一個用于所述客戶機的帶寬,并且基于所述帶寬選擇并連接一個恰當的服務器。
11.一種用于基于一個輸入分組的目的地址對分組進行路由選擇的路由器,該路由器包括一個服務器連接管理單元,用于管理用于每個服務器的客戶機連接的一個上限值;以及一個終端控制單元,用于從一個控制臺終端接收一條顯示用于一個指定服務器的客戶機連接最大數目的命令,并且向所述控制臺終端顯示來自于所述服務器連接管理單元的所述指定服務器的客戶機連接上限值。
12.一種用于基于一個輸入分組的目的地址對分組進行路由選擇的路由器,該路由器包括一個服務器連接管理單元,用于管理用于每個服務器的客戶機連接的一個上限值;以及一個終端控制單元,用于從一個控制臺終端接收一條改變用于一個指定服務器的客戶機連接最大數目的命令,并且把客戶機連接最大數目更新為所述服務器連接管理單元的所述指定服務器的連接上限值。
13.一種用于基于一個輸入分組的目的地址對分組進行路由選擇的路由器,該路由器包括一個確認分組檢測單元,用于檢測來自于一個服務器的、用于允許從一個客戶機連接到所述服務器的一個確認分組;以及一個連接判斷單元,用于在接收到所述確認分組時,判斷連接數目是否超出了將要由所述服務器連接的客戶機的一個上限值。
14.一種用于基于一個輸入分組的目的地址對分組進行路由選擇的路由器,該路由器包括一個連接請求分組檢測單元,用于檢測一個請求從一個客戶機連接到一個服務器的分組;一個連接判斷單元,用于在接收到該連接請求分組時,判斷連接數目是否超出了可連接到該服務器的客戶機連接的一個上限值;以及一個通路設置單元,用于在所述連接判斷單元判斷所述連接是可能的時,發送一條用于在被用來在所述客戶機和所述服務器之間中繼分組的兩個路由器之間預約帶寬的消息。
15.一種用于連接一個服務器和客戶機的方法,包括以下步驟響應于一個連接請求分組,通過一個服務器把一個確認分組發送到一個客戶機;在接收到一個有關在所述服務器和一個客戶機之間的一個連接的分組時,判斷連接數目是否超出了可連接到所述服務器的客戶機的一個上限值;當所述連接在所述判斷步驟中被判斷為是可能的時,發送一個用于在用以在所述客戶機和所述服務器之間中繼分組的一個路由器和另一個路由器之間預約帶寬的分組。
全文摘要
在一個網絡中的一個路由器基于一個輸入分組的目的地址對分組進行路由選擇。路由器在接收了有關在一個服務器和一個客戶機之間一個連接的分組時,基于一組標準確定是否準許到服務器的一個連接。如果確定一個連接是可能的,則發送一條用于在被用來在該客戶機和服務器之間中繼分組的兩個路由器之間預約帶寬的消息。
文檔編號H04L29/06GK1416247SQ02146670
公開日2003年5月7日 申請日期2002年11月1日 優先權日2001年11月1日
發明者野村祐士, 黑瀨義敏 申請人:富士通株式會社