新四季網

分布式有限狀態機的製作方法

2023-05-13 18:14:36

專利名稱:分布式有限狀態機的製作方法
根據35 U.S.C S.119(e)和37 C.F.R.S.1.78的優先權聲明此非臨時專利申請要求基於題為「PG路由器(PG-ROUTER)」的先有美國臨時專利申請的優先權,該先有專利申請號為60/540351,於2004年2月2日以Sylvain Monette、Mathieu Giguère、Martin Julien和Benoit Tremblay的名義提交。
背景技術:
發明領域本發明涉及路由器,並且更具體地說,涉及新的自適應路由器體系結構。
相關技術說明在研究、學習和開發新軟體特性以使當前商用路由器支持的網際網路協議(IP)服務或功能集延伸超出通常的轉發服務時,研究人員和設計人員面臨著較多的挑戰。這可能用於實驗系統、導頻網絡部署或現場實施。開發、驗證和部署新IP服務的主要問題在於缺乏開放式可編程路由器。這可能對實驗新IP服務、對於新IP服務驗證及對於全面的網絡實施特別有用。為如所述般有效地使用,此類體系結構應還具有以下特徵-可擴展;-可靠(即無單點故障);以及-可預測(例如在性能方面)。
然而,今天的商用路由器無論是基於硬體或基於軟體,均沒有會允許在路由器上運行新IP服務和應用的必需單元和接口。因此,在生產網絡中實現部署需要路由器供應商的參與以開發和實施必需的IP服務和協議。除非看到較多的補償作為努力的回報,否則,路由器供應商不可能對在新特性的開發和實施中所需的資源進行投資。還有即使可勸服路由器供應商實施新特性,更改其實施的進程也是既艱巨又耗時。同樣地,除非網絡運營商信任研究結果或者可在其自己的網絡中進行試驗以驗證結果,否則,網絡運營商不可能要求提供新特性。
正如可以理解的一樣,目前需要一種開放式可編程路由器體系結構。本發明提供了此類解決方案。

發明內容
本發明的第一個方面涉及一種用於提供服務的有限狀態機。該有限狀態機在第一和第二截然不同的硬體模塊上執行。這兩個模塊不共享共用存儲器,並且在該有限狀態機的第一狀態與第二狀態之間從第一模塊到第二模塊的至少一個過渡是通過向第二模塊發送第一模塊的本地信息而執行。該本地信息至少指示該有限狀態機的第二狀態。
任選地,該本地信息還包括第一狀態的結果。第一狀態的結果通過第一模塊使用第二模塊不可用的信息獲得。
本發明的第二個方面涉及一種用於提供至少一個網絡服務的路由器。該路由器包括網絡接口和在該網絡接口上接收分組流的轉發單元。
該轉發單元能夠在接收該分組流的至少一個分組後檢測到必需執行至少一個另外的動作來提供至少一個服務。它還能夠檢測到該另外的動作在該轉發單元中無法執行,並通過添加元數據報頭到該分組流的每個分組,將該分組流發送到該路由器另外的單元,其中,該元數據報頭包含該另外的動作的標識。
任選地,該轉發單元還能夠在該元數據報頭中插入在本地可用的信息,該信息對該另外的卡執行該另外的動作是有用的,並且不會以其他的方式向其提供該信息。
在另一任選實施中,該轉發單元還能夠在該分組流上執行計算並在該元數據報頭中插入該計算的結果,該計算對該另外的卡執行該另外的動作是有用的。
附圖簡要說明結合附圖,參照下面詳細的說明,可更完整地理解本發明,圖中

圖1是根據本發明講授內容的示範路由器體系結構示圖;圖2是根據本發明講授內容的處理單元的示範模塊化表示;圖3是根據本發明講授內容的轉發單元的示範模塊化表示;圖4是根據本發明講授內容的交換單元卡的示範模塊化表示;圖5是根據本發明講授內容的內部分組的示範邏輯表示;圖6是根據本發明講授內容在第一和第二截然不同的硬體模塊上執行的示範有限狀態機;以及圖7是根據本發明講授內容的示範服務供應方法。
具體實施例方式
與現有技術解決方案相比,本發明提出了至少五個主要改進。第一個改進來自路由器的內部體系結構。此改進的基本原理是將通常由常規路由器中一個實體承擔的責任在多個簡單的組件上分割。例如,基於本發明的路由器體系結構可具有連接到路由器網絡接口的轉發單元、通過交換單元連接到轉發單元的處理單元。轉發單元高速處理任務(例如每秒10千兆位的網速),並可將非嚴格時間要求的任務委派給處理單元。本發明還提出使用交換單元來處理路由器的各種單元之間的信息傳送(例如在轉發單元與處理單元之間)。這允許在兩個方向上的資源抽象。例如,在轉發單元有信息要發送到處理單元時,它只是將信息發送到交換單元,而交換單元充當處理單元的代理。此概念適用於任一處理單元需要將信息發送到任一轉發單元時。
第二個改進是在交換單元中實施,可在轉發單元與處理單元之間應用速率限制機制。因此,由於交換單元將捨棄超過處理單元處理容量的任何內容,轉發單元因而不必考慮處理單元的處理容量。這假設處理單元具有比轉發單元低的數據率性能,由於在處理單元中實施的功能的複雜性原因,情況通常是這樣。然而,如果傳送通過交換單元在具有類似性能的兩個轉發單元之間進行,則完全不應用速率限制機制。
第三個改進是通過由路由器的各種單元、但更具體地說由轉發單元維護的本地表而實施。本地表用於基於業務和服務供應的特徵,有效地在路由器的單元(無論什麼單元)之間轉發業務。例如,需要將與路由選擇協議的維護(或任何其他服務)有關的業務指引到特定的處理單元。此關聯「服務-單元」對應於由連接到使用路由選擇協議的網絡的轉發單元維護的本地表中的項。在收到對應業務後,轉發單元只是檢測業務的類型並將業務轉發到表中提及的處理單元。此外,如果路由器支持虛擬路由器概念,則只將提供虛擬路由器服務必需的信息(例如在本地表中)分配在需要訪問此類信息的路由器單元上。因此,在給定虛擬路由器擴展並且有關信息變得更多時,只有連結到其上的單元受影響。
第四個改進是通過以不同的方式使用本地表概念並將功能添加到其上而實施。本地表可用於維護與一組依據共用標識符而不是表示單個單元的標識符相關聯的單元有關的信息。這使得只要與單元提供的服務相關聯的基本信息在該組的所有單元中存在,便可實現熱備用冗餘。標識實際提供組內服務的主單元的責任可交給該組的成員(即動態地)、交給配置或交給路由器的另外一個單元,它能夠更新一個單元為其上當前主單元的組的單元。此方案因此可在動態選擇主單元的實施中提供負載均衡。此外,在此類方案中,冗餘單元可由多個主單元使用,而不必由所有單元使用。例如,路由器中的每個轉發單元可各具有熱備用轉發單元,而處理單元會共享共用熱備用處理單元。由此,限制了在路由器中提供冗餘和負載均衡所必需的各種單元的數量。
第五個改進提出給定分組流適用的服務的多個動作可以以鏈狀方式在路由器的多個單元中執行。這可類似於有限狀態機,其中,各種狀態在不同的物理或虛擬硬體上執行。然而,通過這樣操作,在鏈的第一單元上使用的一些信息可能對第二個單元而言無法訪問,或者可能需要重複進行在第一個單元中已經完成的計算。因此,鑑於難以或不可能從鏈的下一單元獲得服務供應所需的信息,本發明提出在狀態過渡期間在該分組流的每個分組上使用元數據報頭來傳送該信息。另外,該元數據報頭描述提供給分組的下一動作。
現在參照圖形,其中,圖1示出根據本發明講授內容的示範路由器100體系結構。圖1示出路由器100體系結構的主要功能組件及其關係。這些組件可以以不同的拓撲連結以實現靈活的服務和分組處理。圖1示出此類拓撲的一個例子,並應視為例子。使用圖1的拓撲,還將示出本發明另外的示範實施。
圖1示出的路由器100具有多個網絡接口105.1-105.p和四種主要的功能組件多個處理單元(PE)140.1-140.n、交換單元(SE)130.1、服務單元(SrE)120.1和多個轉發單元(FE)110.1-110.m。該體系結構允許SE、PE、SrE和FE的多個實例共存。在圖1上及其標號中,字母用於表示路由器100中可存在每種類型的大量組件的事實。另外,圖1上只示出一些組件的一個實例,如SrE 120.1。應容易理解,這是為了清晰起見,並不是將任一類型的組件的數量限制為圖1所示的數量。PE 140.1-140.n負責諸如信號發送、控制和路由選擇協議及實施管理協議的操作。FE 110.1-110.m使用基礎硬體來提供例如由PE140.1-140.m所指引的按分組處理和操作。SE130.1使PE 140.1-140.n和FE 110.1-110.m可在它們自身之間及彼此之間進行通信。第一SE(例如130.2,未示出)可用於PE 140.1-140.n之間的通信,而第二SE(例如130.1)可在FE 110.1-110.m之間使用。SrE 120.1是FE 110.1-110.m中特殊的一種,它不能直接訪問網絡接口105.1-105.p之一,然而另外共享基本相同的硬體體系結構和原性能(例如處理性能而不是特定的服務供應)。還應注意的是,單個網絡接口105.2可連接到多個FE110.1-110.m。另外一個網絡接口105.3還示為經接口管理器160.1連接到FE 110.1-110.m,接口管理器可用於管理網絡接口105.3到FE110.1-110.m中至少兩個FE的連接。
網絡接口105.2和105.3在各種配置中實現轉發單元的冗餘。例如,網絡接口105.2在連接到兩個轉發單元時提供一種冗餘方案,在該方案中,對於N個轉發單元,必需有2N個卡。這兩個轉發單元需要在它們自身之間就哪個單元將充當主轉發單元而另一單元處於熱備用模式進行協調。網絡接口105.3可設計為提供一種最佳冗餘方案,在該方案中,對於N個轉發單元,必需有N+1個卡。在此類方案中,「+1」轉發單元配置為所有轉發單元的備用卡,並且接口管理器160.1協調發送到熱備用卡的業務。同樣地,還可使用一種對N個轉發單元有N+M個卡的冗餘方案。這使得一些卡具有熱備用單元,而一些其他卡可依賴共用熱備用單元。此外,通過使用相同的體系結構,在動態執行主單元選擇時,可提供負載均衡。例如,基於網絡接口105.3的負載,接口管理器160.1可在連接到其上的不止一個轉發單元之間交換分組。
為對所有應用(本地和遠程)無縫地支持任一冗餘方案,路由器100的卡可依據共用標識符組合併以該共用標識符為地址。例如,連接到網絡接口105.2的這兩個轉發單元可依據共用信道標識符組合,但它們各具有特定的單元標識符。因此,在路由器100的另外一個卡需要在網絡接口105.2上發送信息時,它將其定址為該信道標識符,並且它由組的一個成員服務。在依據該信道標識符組合的所有單元之間需要進行協調以知道將為請求服務的單元。此協調可在內部(例如依據條件)完成,通過外部智能單元(例如接口管理器160.1)或在配置路由器100時輸入的設置完成。此方案還使路由器所有類型的單元可具有冗餘單元(而不只是轉發單元)。例如,具有第二備用單元的交換單元可依據共用信道標識符提供代理功能(即使它們具有截然不同的單元標識符)。然後可布置路由器100以使之後只有該共用標識符用於訪問該代理功能。通過信道標識符的該代理功能然後可連結到只使用該信道標識符的兩個處理單元(或兩組處理單元)。因此,需要到達處理單元的轉發單元將使用代理的信道標識符而不是單元標識符之一。
接口管理器160.1在圖1上示為路由器100的外部組件,但還可集成到路由器100中而不影響本發明的講授內容。
這些不同功能單元之間的邏輯交互由圖1上的箭頭標識。FE110.1-110.m與PE 140.1-140.n的分隔為路由器100體系結構增加了幾個益處。它允許PE 140.1-140.n和不同類型的FE 110.1-110.m彼此互操作,並因此使例如在路由器100中集成來自不同供應商的PE140.1-140.n和FE 110.1-110.m成為可能。在涉及網絡服務供應時,這變成多得多的設計選擇和靈活性。由於可增加附加的轉發或處理單元而無需進行較多的系統升級,因此,此體系結構還容易提供擴展性。
路由器100還可支持虛擬路由器概念,這使路由器100的資源可再分和虛擬化到多個各獨立提供服務的虛擬路由器中。每個虛擬路由器可涉及許多單元和許多不同類型的單元。例如,交換單元可連結到兩個不同的虛擬路由器及在三個虛擬路由器之間共享專用轉發單元和處理單元。不過,將虛擬路由器連結到有限數量的單元和網絡接口。因此,本發明不將虛擬路由器正確運行所需的信息分配在所有單元上,而是將它只分配給相關單元,從而優化路由器100的資源消耗。直接的結果是路由器100的擴展性得以改進。
處理單元現在同時參照圖1和圖2,圖2示出根據本發明講授內容的PE(例如140.2)的示範模塊化視圖。PE 140.1-140.n主要負責操作,如像路由選擇交換協議(RIP)、開放式最短路徑優先(OSPF)和邊界網關協議(BGP)的路由選擇協議和如用於多協議標籤交換(MPLS)的標籤分配協議(LDP)的控制和信令協議。基於通過控制處理獲得的信息,PE140.1-140.n指示FE 110.1-110.m的分組轉發行為(例如增加新路由)。控制信息的交換直接在FE 110.1-110.m與PE 140.1-140.n之間基於例如轉發和控制單元分隔(ForCES)協議執行。
該體系結構支持多個PE 140.1-140.n,這可用於實現冗餘、負載分擔、分布式控制或任何其他目的。PE 140.1-140.n完全負責它們之間的協調,從而提供一致性和同步。
圖2的PE 140.2作為一個例子示出高級功能140.2.1.1、控制組件140.2.1.2、轉發組件140.2.1.3、路由選擇協議組件140.2.1.4和管理模塊140.1.1.5。所有這些組件作為示範實施示出在PE 140.2的處理部件140.2.1中。高級功能140.2.1.1實施路由器100的委派給PE140.2的功能,這些功能沒有到由現有技術路由器提供的普通服務的特定鏈路(例如連結到新服務部署)。控制組件140.2.1.2能夠控制PE140.2及路由器100的其他單元的行為。轉發組件140.2.1.3處理從轉發單元(可能通過交換單元)接收的業務。PE 140.2的轉發組件140.2.1.3通常用於低速率業務。路由選擇協議組件140.2.1.4通常管理與由路由器100支持的路由選擇協議有關的信息(例如路由選擇表更新)。管理模塊140.2.1.5負責實施路由器100的網絡管理協議。例如,管理模塊140.2.1.5觸發並響應與網絡管理有關的警報和其他事件。類似的功能還在路由器100另外的單元中實施。通常,共有基本相同用途的組件即使其性能範圍可能不同,但其命名類似。
圖2還示出通過處理部件140.2.1連接到PE 140.2的內部接口192。內部接口192用於在內部與路由器100的其他單元進行通信。為同一目的還在路由器100的其他單元上示出內部接口。在不脫離本發明講授內容的情況下,單元之間可使用任何其他通信方式。
轉發單元/服務單元現在同時參照圖1和圖3,圖3示出根據本發明講授內容的FE(例如110.2)的示範模塊化視圖。FE 110.1-100.m執行如由PE 140.1-140.m所指引的按分組處理和操作。控制分組(如RIP和OSPF消息)由接收FE(例如110.1)重指引到負責的PE(例如140.1),直接從FE 110.1到PE140.1。FE 110.1-110.m與一個或更多個PE 140.1-140.n進行通信。FE110.1-110.m沒有PE冗餘、負載分擔或分布式控制的概念,因為此類功能可能在交換單元中實施。FE 110.1-110.m儘可能保持簡單有效,以使它們將其資源集中在分組處理功能上。
該體系結構支持多個FE 110.1-110.m。存在多個FE 110.1-110.m時,分組可通過一個FE(例如110.2)到達並經不同的FE(例如110.3)離開。例如,通過內部接口經交換單元傳送經FE 110.2進入並經FE110.3離開的分組。
這些FE 110.1-110.m中每個FE可能具有不同的性能集,帶有不同的媒體接口。FE 110.1-110.m可向PE 110.1-110.n表現其性能。分組處理操作可能需要多個FE性能。為實現完整的性能,一個FE(例如110.4)可在部分處理後向另一FE(例如110.5)提供反饋。FE 110.1-110.m以不同種類的拓撲連接,並且分組處理可散布到拓撲中的幾個FE 110.1-110.m。
如上所述,路由器100的SrE 120.1在大多數實施中具有可編程性能,等同於沒有到一個或更多個網絡接口105.1-105.p的連接或即使存在此類連接也不使用的FE的性能。在圖3上,這由網絡接口105.2的標號點線表示。
在本發明的示範實施中,路由器100通過除其他單元外還使用連接到網絡接口(例如105.2)的轉發單元卡(例如110.3)來提供至少一種網絡服務。轉發單元110.3包括至少一個本地表110.3.3.1-110.3.3.2,該表將路由器100的至少另一個卡與由路由器100提供的至少一部分服務相關聯。該另一個卡例如可以是處理單元卡(例如140.3)或另外一個轉發單元卡(例如110.4)。轉發單元卡110.3還包括能夠維護本地表110.3.3.1-110.3.3.2的邏輯尋址模塊110.3.3和轉發組件110.3.1.1-110.3.2.1。轉發組件110.3.1.1-110.3.2.1能夠在至少一個網絡接口105.2上接收分組流、檢測該分組流是否需要來自路由器100的另一個卡的進一步處理、查閱本地表110.3.3.1-110.3.3.2以基於該分組流中找到的信息找出該另一個卡所關聯的標識符以及向路由器100內的該另一個卡轉發該分組流。由於轉發組件110.3.1.1連接到轉發單元卡110.3的網絡處理部件110.3.1,因此,它可能用於嚴格時間要求的應用。同樣地,由於轉發組件110.3.2.1連接到轉發單元卡110.3的處理部件110.3.2,因此,它可能用於非嚴格時間要求的應用。
控制組件110.3.2.2還可存在於處理部件110.3.2中。控制組件可能用於與處理單元(例如140.5)交換的功能模塊110.3.4有關的通信。通信可在任一方向上進行。例如,通信可發生在轉發單元需要相對於信令業務(例如網絡管理事件、與轉發單元110.3的另一高級功能110.3.4.2有關的信息)更新處理單元時。通信還可發生在處理單元卡140.5發送例如在轉發單元卡110.3的功能模塊110.4中維護的路由選擇表110.3.4.1的更新時。
交換單元現在同時參照圖1和圖4,圖4示出根據本發明講授內容的交換單元卡120.1的示範模塊化表示。由於轉發單元110.1-110.m和處理單元140.1-140.n沒有相同的處理性能,因此,路由器100可能存在通過轉發單元(例如110.6)以處理單元卡(例如140.6)為目標的拒絕服務攻擊的脆弱性。為防止路由器100受到此類攻擊,交換單元卡120.1可用於在其間提供速率限制機制。為此,交換單元卡120.1需要包括能夠以第一速率從路由器100的轉發單元卡110.6接收分組流、確定要將該分組流轉發到路由器的另外一個卡的交換部件120.1.1。如果該另外一個卡具有低於第一速率的處理速率(例如該另外一個卡是處理單元卡140.6),則在將該分組流轉發到該另外一個卡前將該分組流傳遞到速率限制機制120.1.2。任選地,如果該另外一個卡不具有低於第一速率的處理速率(例如該另外一個卡是另一個轉發單元卡140.7或服務單元卡120.2),則交換部件120.1.1還能夠將該分組流轉發到該另外一個卡而不將該分組流傳遞到速率限制機制。
物理體系結構作為一個示範實施,PE 140.1-140.n可映射到處理器刀片,而FE110.1-110.m可映射到線卡或服務刀片。處理器刀片使用通用處理器,而線卡和服務刀片使用網絡處理器和通用處理器。SE 120.1可映射到交換刀片,該刀片通過背板為系統中的所有刀片提供物理互連。
軟體組件路由器100中每個分組屬於一個流;每個流是服務的一部分。IP服務是路由器100內IP分組的處理。此處理由在PE 140.1-140.n和FE110.1-110.m兩者上運行的不同軟體組件的組合提供。例如,服務的時間範圍是從分組在網絡接口105.1-105.p之一上到達的時刻到它同樣在網絡接口105.1-105.p之一上離開路由器100的時刻。
在PE 140.1-140.n上運行的控制組件通過運行控制/信令協議和管理應用,為給定服務定義端對端路徑控制。這些組件然後為指定的分組定義任一給定FE(例如110.6)的行為。
FE 110.1-110.m是輸入分組流遇到的第一個實體。FE(例如140.7)的服務特定組件操控分組,以如控制組件為該IP服務定義的一樣為它提供實現IP服務的處理。不同的服務將利用不同的組件。組件可跨一個或幾個FE(例如140.7、140.8和140.9)連結以實現更複雜的服務。
分布式有限狀態機當由路由器的多個單元以鏈狀方式提供由路由器100提供的服務時,在鏈的第一個單元上使用的一些信息可能對第二個單元而言無法訪問,或者可能需要重複進行在第一個單元中已經完成的計算。因此,鑑於難以或不可能從鏈的下一單元獲得服務供應所需的信息,本發明提出在狀態過渡期間在分組流的每個分組上使用元數據報頭來傳送該信息。另外,該元數據報頭描述提供給分組的下一動作。
圖5示出由已添加元報頭620的原始分組610形成的內部分組600的示範邏輯表示。元報頭620一般在路由器100中用於有效地提供以其他方式幾乎不可從另外一個卡獲得的信息,並有效地向另外一個卡指示需要對聯合的原始分組610進行的操作。例如,它可能指示路由器100的另外一個單元的內部地址、虛擬路由器id、應用id、功能id和/或動作id。例如,虛擬路由器id可用於向另外一個卡指示需要將分組發送到哪個特殊的虛擬路由器。應用或功能id可用於指示需要提供或更新路由器100的哪個服務,並且動作id可指示要應用到原始分組610的下一步驟以進一步提供路由器100的服務。
現在參照圖6,該圖示出用於服務供應的示範有限狀態機。根據本發明的講授內容,有限狀態機在第一710和第二720硬體模塊上執行。應注意的是,這兩個模塊710和720不共享共用存儲器。此類情況下,通過將第一模塊710的本地信息730i向第二模塊720發送而執行在有限狀態機的第一狀態與第二狀態之間從第一模塊710到第二模塊720的第一過渡730t。本地信息至少指示有限狀態機的第二狀態。本地信息730i還可包括第一狀態的結果,特別是在第一模塊710使用第二模塊720不可用的信息獲得第一狀態的結果時。同一概念適用於帶有第二模塊720的本地信息740i的從第二模塊720到第一模塊710的最終第二過渡740t。當然,同一概念可推廣到任何數量的模塊。此外,在一些狀態機中,一些模塊共享共用存儲器時可以以傳統方式執行一些過渡,而在其他模塊不共享共用存儲器時其他過渡可使用本發明的講授內容。
例如,在示範實施中,轉發單元在接收分組流後可檢測到必需執行另外一個動作來向其提供服務。此外,轉發單元還可檢測到該另外一個動作無法在轉發單元中執行。之後,它通過將元數據報頭添加到該分組流的每個分組而將該分組流發送到路由器的另外一個單元,其中,該元數據報頭包含該另外一個動作的標識。該元數據報頭還可包含在本地對轉發單元可用的信息,該信息會對該另外一個卡執行該另外一個動作有用,並且不會以其他的方式向其提供該信息。同樣地,如果轉發單元在該分組流上執行了計算,則它可能還將其結果插入該元數據報頭中,如果該計算對該另外一個卡執行該另外一個動作有用的話。
在一個示範實施中,路由器100的體系結構包括至少一個網絡接口(例如105.2)、多個處理單元(例如140.1-140.n)、至少一個交換單元(例如130.1)和多個轉發單元(110.1-110.m)。在此特殊例子中,多個處理單元140.1-140.n中的每個處理單元包括至少一個能夠處理網絡業務以提供網絡服務的處理部件140.1.1。就處理單元而言,處理網絡業務包括管理路由選擇協議、管理控制信令等。交換單元120.1能夠充當多個處理單元140.1-140.n、轉發單元110.1-110.m和交換單元的向路由器100的其他單元的代理。此外,多個轉發單元110.1-110.m中的每個轉發單元包括能夠處理網絡業務以提供網絡服務的部件(例如110.1.2)。就轉發單元而言,處理網絡業務可包括入口處理、接入控制表(ACL)處理、查表處理、出口處理等。多個轉發單元110.1-110.m中的每個轉發單元還能夠在路由器100的網絡接口105.2上接收網絡業務,並通過交換單元120.1向多個處理單元140.1-140.n中的至少一個單元委派網絡業務的處理。每個轉發單元110.1-110.m不需要具體為任一處理單元140.1-140.n定址。交換單元120.1因此向轉發單元側提供處理單元側可用的資源抽象。同樣地,交換單元120.1還能夠為從處理單元140.1-140.n接收的朝向轉發單元110.1-110.m的已處理的網絡業務充當多個轉發單元110.1-110.m的代理,從而向處理單元側提供轉發單元側可用的資源抽象。
多個轉發單元中的每個轉發單元還可包括能夠處理網絡業務的網絡處理部件110.1.1。此類情況下,多個轉發單元中的每個轉發單元還能夠使用網絡處理部件110.1.1以處理嚴格時間要求的網絡業務,以及能夠使用處理部件110.1.2以通過至少一個交換單元120.1向多個處理單元140.1-140.n中的至少一個處理單元委派非嚴格時間要求的網絡業務的處理。
每個轉發單元110.1-110.m的處理部件110.1.2還能夠不使用交換單元120.1的代理性能,而是通過為多個處理單元140.1-140.n中的特定處理單元定址,與多個處理單元140.1-140.n中的至少一個處理單元通信。此類通信的一個例子可涉及信令業務(例如更新路由選擇表、與路由選擇協議有關的信息)。
在本發明的另一示範實施中,路由器100包括網絡接口(例如105.5,未明確示出)、連接到該網絡接口的轉發單元卡(例如110.8,未明確示出)和交換單元卡(例如120.3,未明確示出)。在此特殊例子中,轉發單元卡110.8有以下性能在網絡接口105.5上接收網絡業務,檢測該網絡業務是否需要來自路由器100的另外一個卡的進一步處理,並在檢測到時將該網絡業務轉發到路由器100的交換單元卡120.3。此類情況下,交換單元卡120.3還能夠從轉發單元卡110.8接收該網絡業務,在將該網絡業務轉發到該另外一個卡之前在該網絡業務上應用速率限制機制。在上一例子中,該另外一個卡假設為具有比轉發單元卡110.8低的處理速率。因此,速率限制機制是基於接收的網絡業務的速率與該另外一個卡的處理速率之間的差而應用。
此外,交換單元卡120.3還能夠確定該另外一個卡是另外一個轉發單元卡(例如110.9,未明確示出)或服務單元卡(例如120.2,未明確示出),並且在此之後由於該另外一個卡沒有更低的處理速率,因此,它能夠將網絡業務轉發到該卡而不應用速率限制機制。
在本發明的又一示範實施中,路由器100包括網絡接口(例如105.4,未明確示出)、邏輯尋址模塊150和轉發單元卡(110.9,未明確示出)。邏輯尋址模塊150在圖1上示為與路由器100的其他組件邏輯上分開的實體。然而,邏輯尋址模塊150還可與卡本身處在同一位置,或位於可從其他卡訪問的一個卡上。邏輯尋址模塊150能夠維護至少一個本地表,該本地表將路由器的至少一個卡(或如上所述依據信道標識符的一組卡)與路由器100提供的至少一個服務的至少一部分相關聯。轉發單元卡110.9在此上下文中能夠在網絡接口105.4上接收分組流、檢測該分組流是否需要來自路由器100的另外一個卡的進一步處理。轉發單元卡110.9不必具體標識路由器100的哪個卡是該另外一個卡,而是標識要應用到該分組流的功能是否在轉發單元卡110.9上本地可用。在檢測到該分組流需要進一步處理時,轉發單元卡110.9能夠查閱該本地表以找出該另外一個卡連結到的標識符。在該本地表中定位標識符是基於該分組流中找到的信息而執行。轉發單元卡110.9然後還能夠使用該標識符來向該另外一個卡轉發該分組流。應注意的是,向該另外一個卡發送該分組流而不是直接向其發送。在該分組流中找到的信息可位於該分組流的至少一個分組的報頭中。該另外一個卡的標識符可表示特定的另外一個卡的標識符,但還可表示該另外一個卡為其成員的一組卡的標識符。
此外,如果路由器100支持虛擬路由器概念,則至少一個本地表可表示維護的與給定虛擬路由器有關的信息。此類情況下,本地表會只在與虛擬路由器相關聯的路由器的單元卡中維護,從而確保更好地使用路由器100的資源。
邏輯尋址模塊150還能夠在該另外一個卡中維護第二本地表,該表將路由器的至少一個卡與路由器100提供的至少一個服務相關聯。由邏輯尋址模塊150維護的本地表還可將一系列網絡地址與該服務相關聯。
轉發單元卡110.9還能夠通過將元報頭添加到該分組流的每個原始分組,以內部分組的形式向該另外一個卡轉發該分組流。
在上一例子中,轉發單元卡110.9還能夠通過先使用來自本地表的標識符將該分組流發送到交換單元卡(例如120.4),向該另外一個卡轉發該分組流。在此類上下文中,交換單元卡可為該另外一個卡充當向轉發單元卡110.9的代理,並在從轉發單元卡110.9接收該分組流時,它將該分組流轉發到該另外一個卡。如果該另外一個卡需要將業務發送迴轉發單元卡110.9,它還可為轉發單元卡110.9充當向該另外一個卡的代理。
在本發明的又一實施中,路由器100可提供至少一個網絡服務。為此,它包括至少一個網絡接口(例如105.5,未明確示出)、多個轉發單元(例如110.5-110.7,未明確示出)和至少一個交換單元(例如120.7,未明確示出)。多個轉發單元110.5-110.7中的每個轉發單元能夠在路由器100的至少一個網絡接口105.5上接收網絡業務、檢測該網絡業務是否包括對至少一個服務的請求、檢測路由器100的至少一個另外的卡是否需要接收該網絡業務以提供至少一個網絡服務的至少一部分以及在檢測到時向至少一個另外的卡發送請求。此類情況下,向至少一個另外的卡發送請求的動作可能包括發送業務到交換單元卡120.7的中間動作,該交換單元卡能夠通過接收從多個轉發單元中的第一轉發單元110.5向該另外一個卡發送的請求而充當該另外一個卡的代理。
交換單元卡120.7還能夠確定該另外一個卡是多個轉發單元中的第二轉發單元110.6並向其轉發該網絡業務。
此外,路由器100還可包括多個處理單元(例如140.5-140.7,未明確示出),其中,每個處理單元能夠提供至少一個網絡服務的至少一部分。在此類上下文中,交換單元120.7還能夠確定該另外一個卡是多個處理單元之一140.6,並向其轉發該網絡業務。
同樣地,多個轉發單元110.5-110.7中的每個轉發單元還能夠確定該另外一個卡是否為轉發單元110.6或處理單元140.6。如果該另外一個卡是轉發單元卡110.6,則轉發單元卡110.5通過將該網絡業務定址到交換單元120.7而向該另外一個卡轉發該網絡業務。如果該另外一個卡是處理單元140.6,則轉發單元卡110.5通過將該網絡業務定址為能夠充當該另外一個卡的代理的第二交換單元(例如120.8,未明確示出),向該另外一個卡轉發該網絡業務。此第二交換單元120.8接收從轉發單元卡110.5發送的請求。
依次地,該另外一個卡還能夠在處理後將該網絡業務轉發回另外一個交換單元(例如120.9,未明確示出)。該另外一個交換單元120.9然後還能夠將已處理的網絡業務轉發到多個轉發單元110.5-110.7中的另外一個轉發單元110.7,而該單元又能夠在路由器100的另外一個網絡接口(例如105.6,未明確示出)上轉發已處理的網絡業務。
現在參照圖7,該圖示出根據本發明講授內容的服務供應的示範方法。該方法包括在轉發單元卡110.5中在路由器100的至少一個網絡接口上接收分組流的第一步驟810。轉發單元卡然後檢測該分組流是否需要來自路由器的至少另一個卡之一的進一步處理,並在檢測到時,查閱將路由器的至少另一個卡與路由器提供的網絡服務的至少一部分相關聯的本地表820,以基於該分組流中找到的信息,找出至少另一個卡所關聯的標識符。轉發單元卡110.5然後向路由器內的至少另一個卡轉發該分組流830。轉發的步驟830以第一速率執行,並可能向交換單元卡130.5執行。交換單元卡130.5然後可應用速率限制機制840,並還可繼續在其本地表中進行另外一個卡的查找850。然後進一步向該另外一個卡(例如,處理單元140.5)發送分組,在應用了速率限制機制時可能以低於第一速率的第二速率860發送。該方法還可包括以下步驟在從交換單元卡130.5將該分組流以第二速率轉發到該另外一個卡140.5前,在交換單元卡110.5中確定該另外一個卡具有低於第一速率的處理速率。
雖然在附圖中示出和在上述說明中描述了本發明的幾個優選實施例,但將理解,本發明並不限於公開的實施例,而是在不脫離本發明講授內容範圍的情況下能夠進行多個重新布置、修改和替代。例如,即使附圖示出簡單的路由器拓撲以便於理解,這也不可視為本發明的前提條件。實際上,本解決方案適用於各種路由器並還適用於大型路由器。通常,本發明說明書中所作的陳述不一定限制本發明要求保護的各種方面的任一方面。另外,一些陳述可能適用於一些發明特性但不適用於其他特性。在附圖中,類似或相似的單元在幾個視圖中指定有相同的標號,並且所示的各種單元不一定按比例畫出。
權利要求
1.一種用於提供服務的有限狀態機,所述有限狀態機在第一和第二截然不同的硬體模塊上執行-其中所述兩個模塊不共享共用存儲器,並且其中在所述有限狀態機的第一狀態與第二狀態之間從第一模塊到第二模塊的至少一個過渡的執行方式為-向第二模塊發送第一模塊的本地信息,其中,所述本地信息至少指示所述有限狀態機的第二狀態。
2.如權利要求1所述的有限狀態機,其中所述本地信息還包括第一狀態的結果,其中,第一狀態的結果通過第一模塊使用第二模塊不可用的信息獲得。
3.一種用於提供至少一個網絡服務的路由器,所述路由器包括-網絡接口;-在所述網絡接口上接收分組流的轉發單元,其中,所述轉發單元能夠-在接收所述分組流的至少一個分組後,檢測到必需執行至少一個另外的動作來提供所述至少一個服務;-檢測到所述另外的動作在所述轉發單元中無法執行;以及-通過將元數據報頭添加到所述分組流的每個分組,將所述分組流發送到所述路由器另外的單元,其中,所述元數據報頭包含所述另外的動作的標識。
4.如權利要求3所述的路由器,其中所述轉發單元還能夠在所述元數據報頭中插入在本地可用的信息,所述信息對所述另外的卡執行所述另外的動作是有用的,並且不會以其他的方式向其提供所述信息。
5.如權利要求3所述的路由器,其中所述轉發單元還能夠-在所述分組流上執行計算;以及-在所述元數據報頭中插入所述計算的結果,所述計算對所述另外的卡執行所述另外的動作是有用的。
全文摘要
用於提供服務的一種有限狀態機和一種適用於該有限狀態機的路由器。該有限狀態機在第一和第二截然不同的硬體模塊上執行。這兩個模塊不共享共用存儲器,並且在該有限狀態機的第一狀態與第二狀態之間從第一模塊到第二模塊的至少一個過渡是通過向第二模塊發送第一模塊的本地信息而執行。該本地信息至少指示該有限狀態機的第二狀態。
文檔編號H04L29/08GK1914866SQ200580003759
公開日2007年2月14日 申請日期2005年1月28日 優先權日2004年2月2日
發明者S·莫內特, M·吉蓋爾, M·朱利安, B·特倫布萊 申請人:艾利森電話股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀