新四季網

網絡應用設備的流調度和結構的製作方法

2023-09-21 06:17:05 1

專利名稱:網絡應用設備的流調度和結構的製作方法
背景(1)領域本公開的方法和系統總地涉及提高數據流處理的效率,並且更特別地涉及用於多個處理器的改良的流調度方法和系統。
(2)相關技術描述數量不斷增加的商務、服務以及其他的提供者正在網際網路上擴展他們的出售物。可是,用於提供網絡服務的基本結構被數據傳送相關性所約束。不幸的是,一個給定服務經常是從被認為是該服務中央位置的單個網絡位置中被提供。這個位置可以通過一個目的地網際網路協議(IP)地址識別,該目的地網際網路協議(IP)地址與能夠接收並處理該請求的一個伺服器相對應。現有技術的系統試圖通過在目的地IP位址處提供多個伺服器來減輕對一個給定服務的需求,其中,所述伺服器通過一個了解內容(content-aware)的流交換機來管理。所述了解內容的流交換機攔截對於應用程式或服務的請求並且最好對保持相對低的處理負載的伺服器啟動一個流。現有技術系統因此包括用於把一個客戶請求傳送給最佳適合的伺服器的方法,其中,可以使用包括與伺服器當前負載和最近動作相關的信息、客戶機和伺服器之間的網絡擁塞以及客戶-伺服器接近信息在內的伺服器度量來識別該最佳適合伺服器。在某些系統中,在地理上和/或經過網絡跳躍等測量的、在客戶機和伺服器之間的距離可能很大,而且這樣的信息可以成為選擇最佳適合的伺服器中的一個因素。在某些方法和系統中,獲取伺服器負載信息包括一個稱為「pinging(強制應答)」的處理,一種可能經常不準確的技術。
當前沒有一個系統或方法提供關於處理器負載以及對確定最佳適合處理器來說重要的其他因素的精確和可靠的信息。
所需要的是這樣一種系統和方法,其利用來自多個處理器中固有的而不是非固有的數據以便確定用於分布流到處理器的一個有效算法。

發明內容
通過在諸如網際網路之類的整個網絡上分布服務和應用程式,本公開方法和系統提供一種可縮放的結構和方法來便於網絡服務和應用程式的分配。在一個實施例中,利用一個可以包括應用程式處理器的交換結構能夠實現該方法和系統,該應用程式處理器能夠根據用戶簡檔執行應用程式和服務。在一個實施例中,該應用程式處理器利用LINUX作業系統來提供一個開放式體系結構用於下載、修改以及其他情況下管理應用程式。該交換結構還可以包括一個前端處理器,其與網絡和應用程式處理器接口,識別來自用戶的數據流,並且把該數據流從該網絡分布到應用程式處理器用於根據用戶簡檔進行應用程式處理。在一個實施例中,前端處理器能夠識別來自非用戶的數據流,並且按照標準的網絡交換把這種數據流交換到一個適當的目的地。在一個實施例中,該前端處理器包括流調度,基於包括例如策略在內的現有流處理需求來在幾個應用程式處理器之中以及之間分布用戶流。
在一個實施例中,該應用程式處理器和前端處理器可以被連接到一個控制處理器,其能夠進一步訪問包括用戶簡檔信息和應用程式數據的本地和遠程儲存裝置,該用戶簡檔信息和應用程式數據可以被轉送到前端或應用程式處理器。控制處理器可以進一步集合來自應用程式和前端處理器中的健康和維護信息,並且提供一個通信路徑用於在管理處理器和前端以及應用程式處理器之間分發健康、維護和/或控制信息。
在一個實施例中,在此公開的方法和系統能夠包括一個交換機功能性,該交換機功能性可以位於伺服器網絡的前端,而在另一實施例中,該網絡設備可以在連接網絡的路由器之間。
在一個實施例中,前端處理器可以是網絡處理器模塊(NPM),而至少一個應用程式處理器可以是流處理器模塊(FPM)。控制處理器可以包括一個控制處理器模塊(CPM)。在這個實施例中,NPM可以與諸如網際網路的一個通信系統網絡接口,接收流並對其分類,並且按照可以基於FPM應用的一個流調度把流分配給FPM。至少一個FPM可以宿有應用程式和網絡服務,那些應用程式和網絡服務利用駐留在該FPM上的一個或多個處理器來處理來自各個流中的數據。CPM可以協調交換機的不同組件,包括NPM和FPM,允許管理對該交換機的接入,並且支持對本地儲存裝置的訪問。本地儲存裝置可以存儲圖象、配置文件以及資料庫,當在FPM上執行應用程式時,可以利用它們。
在一個實施例中,該方法和系統還可以允許CPM訪問可存儲應用程式和資料庫的一個遠程儲存裝置。對至少一個管理伺服器(MS)模決的一個接口能夠通過該CPM接收併集合來自交換組件(例如,NPM,FPM,CPM)中的健康和狀態信息。在一個實施例中,MS模塊可以駐留在一個分離的主機上。在另一實施例中,管理伺服器模塊功能性可以被結合在駐留於一個CPM上的一個處理器中。
在一個實施例中,一個內部交換乙太網控制總線連接交換機的內部組件並且便於管理和控制操作。內部交換乙太網控制總線可以與能被用於內部分組轉發的一個交換數據路徑相分離。
在一個實施例中,可以以選定的冗餘度來執行NPM、CPM、FPM以及在NPM、CPM和FPM之間的相互連接,以便增強容錯操作以及因此增強系統可靠性。例如,在其中可以實現兩個NPM、十個FPM以及兩個CPM的一個實施例中,兩個NPM能夠操作在冗餘的或互補的配置中。另外,這兩個CPM可以操作在一個冗餘的配置中,使第一CPM是操作的而第二CPM用作為備份。NPM和CPM可以通過能夠確定一個特定NPM或CPM是否可能有故障等等的管理伺服器模塊來進行控制。在此同一個示例中,多達兩個的FPM能夠被識別作為預備的FPM,以便在一個FPM故障的情況下協助確保八個FPM能夠在一個給定時刻起作用,儘管本領域普通技術人員將認識到這樣一個示例被提供用於說明,並且預備的或起作用的FPM的數量能夠依賴於系統要求等等而改變。所說明的FPM可以被配置來宿有一個或多個應用程式,並且某些應用程式可以駐留於多個FPM上來允許有效地服務於被極大需求的應用程式。進入這個配置中的交換機的數據流可以從一個始發者中被接收、被一個NPM處理並且被返回給該始發者、被一個NPM處理並被轉發給一個目的地、被一個NPM轉發給一個流處理器並通過NPM被返回給該始發者、或者被一個NPM轉發給一個流處理器並被該NPM轉發給一個目的地。在兩個或多個NPM被配置用於互補操作的一個實施例中,被第一NPM接收到的一個流可以被處理、被轉發給一個第二NPM、並且被第二NPM轉發給一個目的地。在另一實施例中,第一NPM可以接收一個流並且立即把該流轉發給第二NPM用於處理並轉發到一個目的地。在互補的NPM實施例中,FPM處理還可以被包括在所描述的數據路徑之內。
在一個實施例中,熟知的Linux作業系統能夠被安裝在FPM和CPM處理器上,從而提供一個開放式體系結構,該開放式體系結構允許例如駐留在該FPM上的應用程式的安裝和修改。在一個實施例中,NPM可以在一個MIPS處理器上執行熟知的VxWorks作業系統而在一個網絡處理器上執行一個小的可執行的作業系統。
在此處的方法和系統提供一個流調度方案來優化應用程式處理器的使用。在一個實施例中,應用程式處理器可以被理解為屬於一個組,其中在一個給定組內的應用程式處理器被相同地配置。因此可對於不同的組來執行流調度和調整。
在一個實施例中,來自一個給定組中的應用程式處理器可以以規定的時間間隔報告資源信息給控制處理器。該資源信息可以包括來自應用程式處理器中的固有數據,比如CPU利用、存儲器利用、分組丟失、隊列長度或緩衝器佔用等等之類的。利用診斷或其他應用程式處理器特定的信息可以提供該資源信息。
控制模塊能夠處理一個給定組的應用程式處理器的資源信息,並且根據該資源信息計算一個流調度向量,其中,在某些實施例中,當前資源信息能夠與歷史資源信息結合來計算該流調度向量。該流調度向量能夠被提供給前端處理器並且其後被前端處理器利用來把各個流引導到不同的應用程式處理器。例如,一個前端處理器能夠識別一個流和與之相關的請求,識別被配置來處理該流/請求的應用程式處理器組,並且其後協商一個相應的流調度向量以便確定該流/請求應該被引導到哪個應用程式處理器用於處理。
在下面的說明書和附圖中其他的目的和優點將變得明顯。


圖1A示出了在此公開的網絡設備的四個示例操作模式;圖1B示出了在此公開的系統和方法的基於邊緣的防火牆實施例的一個說明;圖2是根據本公開方法和系統的設備框圖;圖3A是通過圖2設備的基本數據流的框圖;圖3B是圖2設備的一個存儲區網絡實施例的框圖;圖4是根據圖2的系統的冗餘體系結構圖;圖5是圖2和4的系統的網絡處理器模塊(NPM)的簡圖;圖6A、6B、6C、6D、6E和6F詳述了圖5 NPM的網絡接口的實施例;圖7說明了在圖5所說明的NPM內的底板上的一個交叉;圖8是圖2和4實施例的流處理器模塊(FPM)的結構框圖;
圖9是根據圖2和4典型系統的一個說明的控制處理器模塊(CPM)結構的框圖;和,圖10是一個框圖,說明了圖2-4的方法和系統的流調度的邏輯流。
具體實施例方式
為了提供一個總體的理解,現在將描述某些說明實施例;可是,本領域普通技術人員應該理解在此描述的系統和方法可以被調整並修改以便提供用於其他相配應用程式的系統和方法,並且不偏離本發明的範圍可以進行其他增加和改進。
對於此處的公開內容,一個應用可以被理解為能夠以硬體、軟體或者它們的組合形式被實現的一個數據處理單元,其中,該數據處理單元可以包括許多狀態其可以為零或任何正整數。
為著要在此描述該方法和系統的目的,一個處理器可以被理解為能夠執行指令的任何元件或組件,包括但是不限制為一個中央處理單元(CPU)。
所公開的系統和方法涉及一個網絡設備,該網絡設備可以被連接在網絡中以及連接在網絡各處,該網絡比如是網際網路,以便使應用程式和服務在整個網絡上對於來自預訂用戶的數據流都可用。雖然該設備可以執行本領域普通技術人員理解的通常歸於交換機的那些功能,並且同樣地,該設備可以作為本領域普通技術人員理解的一個交換機被連接在網絡中以及連接在網絡各處,但是該設備通過提供技術智能從而另外允許在該網絡各處分布應用程式,以便在按照本領域普通技術人員目前理解的交換操作來把數據流轉發到下一目的地之前,識別在該交換機處接收的數據流、基於該數據流再調用一個簡檔、把一個策略應用到該數據流、並且按照該簡檔和/或策略來使該數據流被應用程式或服務所處理。在一個實施例中,下一目的地可以是一個網絡地址或者是被連接到該網絡設備上的另一設備。通過在網絡各處分布業務來增加業務的有效性,則與為了滿足應用程式和服務的增加需求而出現的替換解決方案相關的可縮放性問題被解決。
圖1A顯示了四個示範模式和在此呈現的網絡設備或裝置的操作的相應說明示例,其中,這樣的模式被提供用於說明而非限制。作為一個示例,如圖1A所示的第一模式可以被利用用於一個防火牆應用程式,其中,數據流可以被網絡設備接收並且另外在可以被認為是一個「通過或者丟棄」的場景中被處理。在這樣的應用程式中,該網絡設備能夠接收來自一個接口中的數據流並且根據由該防火牆提供的許可而利用一個第二接口來把該流傳遞到一個目的地,或者該數據流可以被丟失(即,未被轉發到目的地)。在標記為「修改、源和發送」的圖1A的第二場景中,被網絡設備接收的一個數據流可以被第一接口接收、修改並通過第二接口轉發到一個目的地。第二場景的示例實施例包括內容插入。在圖1A的第三場景中,該網絡設備可以起作用作為一個代理,在其中數據流能夠在第一數據接口處被接收、處理並且返回,並且類似地從第二數據接口中收到的數據流可以通過第二接口被處理並被返回,在其中,各自的數據流能夠是相關的或者有關的。圖1A的第三場景的樣例實施例包括事務處理業務和協議轉換。在圖1A的第四樣例實施例中,該網絡設備能夠被利用用於例如包括VoIP會議、內容插入和應用程式高速緩存在內的應用程式,在其中,數據流可以在第一接口處被接收、被處理並且通過第一接口被返回。
圖1B提供網絡設備的另外一個說明並且示範了一個基於邊緣的防火牆實施例200的一個數據流,其合併了按照在此公開的方法和系統的網絡設備。在此說明中,從一個用戶到網際網路服務提供者(ISP)A202以及從一個用戶到ISP B204的、以網際網路請求形式的數據流被輸入到一個數字用戶線路接入多路復用器(DSLAM)206並且其後被轉送給ISP A相關的超級POP內的一個異步傳輸模式(ATM)交換機208,其聚集數據流並且把該流轉發給路由器210。路由器210把數據流業務引導給識別來自分別的ISP用戶202、204中的流並且應用各自的防火牆策略的網絡裝置或者設備12。在說明的實施例中,ISP A和B是網絡設備12的用戶,並且據此提供簡檔和按照這樣的簡檔提供應用程式/服務,用於由與該簡檔一致的設備進行分布和處理。在該說明性實施例中,除了各自的防火牆策略之外,應用程式例如可以被應用到各自的數據流。在各自的處理被網絡設備12執行之後,在該說明實施例中,來自ISP A用戶202的數據流與應用於該數據的應用程式一起被轉送給網際網路212,同時來自ISP B用戶204的數據流與應用於該數據的策略一起被轉送給ISP B214。
網絡設備12還可以識別另外不屬於一個用戶並因此不適合用於應用程式處理的數據,其中,這種數據可以按照本領域普通技術人員目前已知的交換機被交換到一個目的地。本領域普通技術人員也應該認識到雖然此公開內容提供了連接在通常稱為網際網路的網絡之內的設備,但是該網際網路應用程式被提供用於說明而非限制。在一個實施例中,其中所述設備與諸如網際網路之類的一個通信系統一起被使用,該設備可以被連接在一個伺服器網絡的前端,或者可替換地,可以被連接在連接網絡的路由器之間,儘管在此公開的該設備並不限制於這種實施方案。
圖2示出了網絡設備12的另外一個說明框圖10,該網絡設備可以宿有應用程式並連接入以及連接到諸如網際網路之類的網絡的基礎設施的各處,從而相應地在該網絡各處分布被宿有的應用程式和/或服務。本領域普通技術人員將認識到圖2的實例是意欲使本公開內容方便理解而不意欲作為一個限制。正如圖2指出的,所說明的設備12包括通過獨立地保持兩個千兆位乙太網連接(在該說明實施例中)來便於網絡流進入網絡設備12和從其出來的兩個網絡處理器模塊(NPM)14。本領域普通技術人員將認識到千兆位乙太網連接只是一個高速數據鏈路,而其它如此的數據鏈路可以來作為代替而沒有偏離本系統和方法的範圍。例如,在設備12被在線地插入把用戶連接到網際網路核心的主幹的這樣一個實施例中,千兆位乙太網連接可以任選地接口到一個用戶網絡16和網際網路核心18。本領域普通技術人員將認識到在另一實施例中,單個NPM可以被利用,並且兩個千兆位乙太網連接例如可以連接於兩個不同的網絡。另外,本領域技術人員將認識到對於本說明系統,設備12可以利用單個雙向接口來連接到用戶網絡16和網際網路核心18。圖2的NPM14經由乙太網通過一個交叉連接20連接到至少一個流處理器模決(FPM)22和至少一個控制處理器模塊(CPM)24,流處理器模塊(FPM)22把應用程式和業務應用到數據流,控制處理器模塊(CPM)24可以處理數據流請求並且收集來自NPM14和FPM22中的健康和維護信息。
每個所說明的NPM14、FPM22和CPM24也連接到高速交換結構上,所述高速交換結構互連所有模塊並且允許在NPM14、FPM22和CPM24模塊之間數據流的內部分組轉發。在典型實施例中通過一個100Base-T乙太網控制總線26,CPM24同樣地獨立連接到FPM22和NPM14,該100Base-T乙太網控制總線26可以是雙冗餘內部交換的100M字節/秒乙太網控制平面。所說明的CPM24通過一個100Base-T乙太網也連接到一個管理伺服器(MS)模塊28、連接到一個本地存儲器裝置30以及通過一個千兆位乙太網連接而連接到一個數據中心32。MS模塊28考慮了數據收集、應用程式裝載以及從FPM22中的應用程式刪除,同時本地存儲器裝置30和數據中心32可以存儲與應用程式或簡檔信息相關的數據。在圖2說明的系統中,有兩個NPM14、至少兩個CPM24和十個FPM22,雖然這樣一個系統只是說明性的,但是本領域普通技術人員將認識到可以利用更少或更多數目的這些組件而沒有偏離本系統和方法的範圍。在圖2說明的系統中,兩個NPM可以操作在互補的或冗餘的配置中,而兩個CPM可以被配置用於冗餘。
正如所指出的,使用根據所說明的原則所述的一個結構,設備12可以被放置在諸如網際網路之類的正常網絡方案內,其中,設備12例如可以位於伺服器網絡的前端、或者替換地以及附加地位於連接網絡的路由器之間。使用被配置用於設備模塊的固件和/或軟體,設備12可以被配置來向用戶提供應用程式,其中,應用程式可以包括病毒檢測、入侵檢測、防火牆、內容過濾、秘密保護以及基於策略的瀏覽-儘管這些應用程式只是一個說明而不意欲作為一個限制。在一個實施例中,NPM14能夠接收數據分組或流並且在把分組轉發到適當的目的地之前完全處理這種分組。在同一實施例中,NPM14能夠接收並且轉發該分組到一個適當的目的地。還是在同一實施例中,NPM14可以識別需要可由位於FPM22上的應用程式執行的處理的那些數據分組;而在這些範例中,NPM14能夠執行流調度以便確定哪一FPM22能適當地並且最有效地處理該數據,其中,該數據分組或流能因此被轉送給選定的FPM22用於處理。在一個實施例中,不是所有的FPM22都可以處理所有類型的處理請求或數據分組。另外,為了處理一個數據請求,在某些情況中,一個FPM22可能需要來自本地存儲器裝置30或遠程儲存裝置32中的信息,其中,NPM14能夠通過CPM24引導存儲數據的檢索並且其後把該存儲數據轉發給FPM22。一個FPM22其後可以轉送處理的數據給NPM14用於轉發給一個適當的目的地。利用諸如圖1和3所提供的那些設備的設備12結構,應用程式服務提供者通過在諸如網際網路之類的網絡各處集成業務並使業務可用,從而能夠更有效地向用戶提供服務,而不是在經常規定為單個IP位址的單個位置處提供服務。
圖3A示出通過圖1的設備12的數據流的簡圖。正如圖3A所指出的,NPM14可以在用戶接口和網絡核心之間提供一個接口。圖3A的NPM14能夠接收來自第一接口14a的數據,並且取決於數據請求,能夠處理數據並且使用第一接口14a或者第二接口14b發送所述已處理的數據。可選擇地,NPM14能夠轉發該接收的數據給一個FPM22,該FPM22其後能夠把處理的數據返回給NPM14以使用第一接口14a或者第二接口14b來傳輸或轉發。同樣地,NPM14能夠接收來自第二接口14b的數據、處理該數據並且使用第一接口14a或者第二接口14b發送該處理的數據。另外,由NPM14通過第二接口14b接收的數據可以被轉送給FPM22用於處理,其中,FPM22能夠把該處理的數據返回給NPM14用於通過第一接口14a或者第二接口14b傳輸。在另外一個示例中,由NPM14接收的數據可以被多個FPM22處理,其中,所述數據可以通過該NPM14被轉送給多個FPM22,並且被返回給NPM14用於轉發給一個目的地。
在一個實施例中,其中,兩個NPM被配置用於互補的操作,在第一NPM處接收到的數據能夠被第一NPM處理、被發送給第二NPM、並且被第二NPM轉發給一個目的地。可選擇地,在第一NPM處接收的數據可以被轉送給第二NPM、被處理並且相應地被轉送給一個目的地。在另外一個場景中,在兩個NPM的任一個處接收的數據可以被轉送給任何一個FPM22、被處理並且返回給任一NPM用於轉發給目的地。本領域普通技術人員將認識到數據移動和處理的示例進入設備10、在設備10內部以及退出設備10都只是用於說明而非限制,並且在補充實施例中例如可以交換對第一NPM而第二NPM的引用而不偏離本方法和系統的範圍。
圖3B示出了圖2和3A的系統,被配置來根據如本領域通常已知的一個存儲區網絡(SAN)進行操作。在圖3B的結構中,如圖3A所示出的NPM14和FPM22集成被保留,可是,NPM14和FPM22還保持了與一個或多個儲存裝置23的接口,儲存裝置23可以是本領域通常已知的任何儲存裝置,包括但是不限制為RAM、ROM、軟盤、盤驅動、ZIP驅動、RAID系統、全息攝影存儲器等等,並且這種例子被提供用於說明而非限制。正如圖3B所指出的,數據可以在NPM14處被接收並且被直接轉送到儲存裝置23;或者被NPM14接收的數據在被FPM22轉發給儲存裝置23之前可以被轉送給一個或多個FPM22,其中,在把數據轉發給存儲器23之前FPM22可以對該數據執行處理。同樣地,在圖3B結構中,數據可以被NPM14或者FPM22從存儲器23中檢索。在圖3B結構中,NPM14和FPM22保持可以容納數據輸入和輸出的外部接口。
圖4說明了實現雙冗餘結構的圖2系統的替換表示。在圖4的冗餘結構的實施例中,有位於十四機架機框中的兩個NPM14a、14b,兩個CPM24a、24b,以及十個FPM22a-22n。在圖4系統中,八個FPM22被提供用於典型的設備12操作,令兩個FPM22被提供以在操作的八個FPM22之中至多兩個故障的情況下作為替換。正如圖4所指出的,冗餘內部交換的100M字節/秒(100Base-T)乙太網控制平面170a、170b提供在每一NPM14a、14b、CPM24a、24b以及FPM22a-22n之間的連接。所說明的系統還包括雙結構鏈路172a、172b,其中,每個FPM22a-22n和CPM24a、24b連接於每個結構鏈路172a、172b上,而第一NPM14a連接到第一結構鏈路172b,第二NPM14b連接到第二結構鏈路172b,以便允許每個NPM14a、14b彼此無關地操作。
另外,正如在圖4中所指出的,圖4的NPM14a、14b保持到網絡的兩個千兆位乙太網連接,其中,連接之一可以是到包括用戶網絡等等的一個用戶,而另外一個連接可以是到網際網路核心。可選擇地,所說明的CPM24a、24b保持一個千兆位乙太網連接來與被說明為圖2的數據中心32的一個遠程儲存裝置進行通信。
圖5示出了根據圖2和4所說明的一個NPM14的示意框圖。正如在圖2和4中所指出的,設備或交換機12可以包括一個或多個NPM14,並且當一個以上的NPM14被利用時,NPM14可以被配置用於冗餘或互補操作。
一個NPM14可以包括在圖5中說明的一個模塊的和任選的子系統,如網絡接口子系統40。此子系統40物理上連接交換機12和網絡,從而在交換機12和網絡之間提供一個數據流。NPM14還包括連接到網絡接口子系統40上的一個網絡處理器42。網絡處理器42例如可以是一個IQ2000網絡處理器,並且本領域普通技術人員將認識到此示例是作為一個例示而非一種限制,其中執行在此所述功能的任何類似設備都可以同樣地來代替。另外,第二處理器可以共同位於NPM結構內而沒有偏離本方法和系統的範圍。在所說明的IQ2000網絡處理器42的情況下,網絡接口系統40可以使用一個FOCUS總線連接到網絡處理器42的埠A和B,其中,這些埠在下文中將被稱為FOCUS埠A和B,並且在其中標記為C和D的兩個剩餘的FOCUS埠在網絡處理器42上可用。
網絡接口子系統40可以是NPM結構的一個可改變組件,其中,不同的選項可以是各種印刷電路板(PCB)設計或可插入的任選板,然而,本領域普通技術人員將認識到實現網絡接口子系統40的這些方法只是說明性的而在此的方法和系統不限制為這些技術。
例如,圖6A到6F提供圖5的NPM14的許多說明性的網絡接口子系統40選項。參見圖6A,到圖5的網絡處理器42的兩個千兆位乙太網接口50、52通過網絡處理器42的兩個嵌入的千兆位乙太網媒質訪問控制設備(MAC)來被支持。在圖6A的網絡接口子系統40的實施例中,千兆位乙太網操作所需要的唯一外部設備包括千兆位乙太網物理層設備(PHY)54a、54b和光接口56a、56b。在說明實施例中,第一光接口56a可以耦合到用戶的網絡設備,而第二光接口56b可以耦合到網際網路核心。
現在參見圖6B,有一個對於圖5的NPM14的說明結構,其中,FOCUS埠A和B通過一個外部八10/100 MAC60a、60b可以支持直到八個10/100乙太網埠。在圖6B中,兩個外部八埠10/100 MAC60a、60b耦合到FOCUS埠以及耦合到兩個外部八埠10/100PHY設備62a、62b。PHY設備分別耦合到八RJ-45連接64a、64b。在圖6B的結構中,一組八RJ-45埠64a可以專用於用戶的網絡,而剩餘的八RJ-45埠64b可以耦合到網際網路核心。在一個實施例中,圖6B的結構可以允許軟體或固件來配置該埠作為獨立的數據流,如此以致在用戶的埠上接收的數據能夠在一個網際網路埠上被返回。
現在參見圖6C,有圖5說明的NPM14的一個網絡接口子系統40的結構,其中,與連接到A和B FOCUS埠的一個分段和重裝配設備(SAR)70a、70b一起協作,交換機12可以接收ATM信元。在圖6C的結構中,其中0C-3c ATM操作被說明,四個光接口72a提供用戶接口,而四個光接口72b提供網際網路核心接口。分別的用戶和網際網路光接口72a、72b耦合到一個四埠成幀器76a、76b,其提供輸入給傳輸SAR 70a(TX,″到」交換機12),或者接收來自接收機SAR 70b(RX,″來自」交換機12)的輸出。在所說明的結構中,SAR 70a、70b利用一個32比特SRAM 77和一個64比特SDRAM 78,雖然這樣一個實施例只是用於例示。在圖6C說明的系統中,SAR UTOPIA埠通過一個現場可編程門陣列(FPGA)79與FOCUS A和B埠接口。本領域普通技術人員將認識到正如利用在此提供的其他圖表一樣,圖6C的網絡接口子系統只提供用於說明而不意欲限制本方法和系統的範圍;因此,組件另外可以被替換以便執行同一功能,在其中例如能夠發送和接收的單個SAR可以替代圖6C說明中描述的兩個SAR70a、70b。
現在參見圖6D,這裡有圖4說明的NPM14的一個網絡接口子系統40的結構,其中0C-12c ATM操作可以被使能。在說明的系統中,一個0C-12c光接口80a可以耦合到用戶,而第二0C-12c光接口80b可以耦合到網際網路核心。與圖6C相反,圖5D僅僅說明了一個兩埠成幀器82,它其後接口到TX和RX SAR 84a、84b、FPGA86以及網絡處理器42的相應FOCUS埠。
現在參見圖6E,這裡有圖5的網絡接口子系統40的一個0C-3C分組在SONET上(POS)的結構。在圖6E說明的結構中,四個光接口90a可以接口到用戶,而四個光接口90b可以專用於網際網路核心。光接口90a、90b分別耦合到一個四埠成幀器92a、92b,其通過一個FPGA94接口到A和BFOCUS埠。本領域普通技術人員將認識到因為PPP(點到點協議)封裝的分組被插入到SONET有效載荷包封(SPE)中,所以所有POS鏈路被級連,並且圖6E中利用的FPGA94因此可能類似於圖6D的FPGA86。
參見圖6F,這裡有用於兩埠0C-12c POS應用的圖5的網絡接口子系統40的一個結構。在說明的系統中,一個光接口100a可以耦合到用戶,並且另外一個光接口100b可以耦合到網際網路核心。圖6F的光接口100a、100b耦合到一個兩埠成幀器102,其接口到一個FPGA104用於連接到A和B FOCUS埠。
返回到圖5,說明的網絡處理器42也連接於一個CPU子系統110,該CPU子系統110包括諸如QED RM700A 400MHz MIPS處理器之類的一個MIPS處理器112,諸如Galileo GT64120A系統控制器/PC橋之類的一個系統控制器/PCI橋114、本地SDRAM116以及一個可編程的邏輯設備(PLD)118。在說明實施例中,PLD118使得該板特定的控制寄存器和各種設備是可訪問的。正如所說明的,PLD118被連接到具有本地SDRAM116的GT64120A 114上的一個本地高速總線,並且充當本地高速總線120和較低速度外圍總線122之間的一個緩衝器,該較低速度外圍總線122具有自舉PROM快閃記憶體124和非易失性的RAM(NVRAM)126用於設定和參數的半永久存儲器,並且用於提供時刻和日期的一個實時時鐘。連接到PCI橋接的圖5的PCI總線127還包括兩個快速乙太網MAC 128a、128b,比如包括集成的PHY的Intel GD82559ER 100Mbit MAC,以便通過一個主和次100Base-T乙太網通道在NPM14和CPM24之間提供冗餘連接。所說明的MAC128a、128b位於PCI總線上並且在PCI內部緩衝器和所定義的緩衝器之間執行本地MIPS存儲器112內的描述符的直接存儲器存取(DMA)傳送。MAC128a、128b能夠支持一個無限制的突發尺寸並且能夠被PCI橋性能限制。在一個實施例中,在一個控制平面應用程式中可以利用流控制以便避免不必要的分組丟失。所說明的GT64120A114允許CPU112和另外一個本地總線主控來訪問PCI存儲器和/或設備總線。
圖5的NPM14還包括一個交換結構子系統130,其在NPM14和交換機12內的另外一個模塊之間提供高速、無阻塞的數據連接。該連接包括對另一冗餘或互補NPM14的兩個鏈路以及對每個CPM24的一個鏈路。該結構的所說明的NPM14部分包括兩個Focus連接設備132a、132b,其中,一個Focus連接設備132a使用一個FOCUS總線而被連接到IQ2000 42埠C,而另外一個Focus連接設備132b被連接到埠D。
在說明的系統中,Focus連接設備132a、132b上的十六比特FOCUS總線上的埠,除了本地埠八個之外,都被附接到一個Cypress QuadHotlink千兆比特收發機134,該收發機134是一個串行到解串行(SerDes)設備136,其具有雙冗餘I/O能力並且被配置用於雙信道結合模式。雙信道結合模式以一個十六比特信道的形式把兩個信道耦合在一起,其中,這裡可能每一設備有兩個這樣的十六比特信道。現在參見圖7,該雙冗餘串行I/O能力,與底板上的交叉協作,允許任何時隙被連接到任何其它時隙,如此以致當僅僅一個NPM14存在時不需要一個分組或者一個數據路由向量修改。圖5的Serdes設備136把來自底板的進入串行數據流變換成並行數據,用於轉發到Focus連接設備132a、132b。同樣地,Serdes 136在把數據放置在底板上之前,把來自Focus連接設備132a、132b的並行數據轉換為串行數據。
例如,利用圖4說明的系統,一個Focus連接設備132a、132b被連接到IQ2000 FOCUS C和D埠,並且在其中Focus連接設備132a、132b每一個都保持八個埠,在說明的系統中,其中這裡有十四個槽的機框並且這裡有用於FPM22a-22n的十個槽、用於NPM14a、14b的兩個槽以及用於CPM24a、24b的兩個槽,該Focus連接設備埠可以被配置為如表1和2所示表1連接到IQ2000 FOCUS埠C的Focus連接設備(132a)


表2連接到IQ2000 FOCUS埠D的Focus連接設備(132b)

正如表1和2指出的,利用圖4的NPM14,在圖1和3中說明的冗餘系統中,雙NPM14a、14b可以訪問所有的FPM22a-22n和每個CPM24a、24b,反之亦然。
圖5的NPM14的第四個主要子系統是一個存儲器子系統140。圖5的存儲器子系統是用於分組緩衝存儲以及流查找表空間的單個RAM總線信道。在說明性實施例中,存儲器子系統140包括一個搜索處理器142以及一些內容可尋址的存儲器144,雖然本領域普通技術人員將認識到在此的本方法和系統不限制為存儲器子系統140或它的組件。
返回到圖5,被NPM14接收的數據可以被轉送給IQ2000 42,IQ2000 42可以包括用於識別分組或數據流的指令。例如,CPU或處理器指令可以實現或利用一個散列表來識別對於一個識別的分組或流的服務或處理,在其中,該分組或流可隨後例如根據服務或處理被轉送給一個FPM22。可選擇地,未被識別的分組可以被轉送給MIPS112,該MIPS112可以包括用於識別該分組或流以及相關的處理或服務的指令。在一個實施例中,不能被MIPS112識別的分組可以被MIPS112轉發給CPM24,CPM24還可以包括用於識別分組或流的指令。來自CPM24或MIPS112的標識信息可以被返回給IQ2000 42並且該散列表可以相應地利用該標識信息而被更新。
現在參見圖8,是在圖1-3中說明的系統的FPM22的基本示意框圖。在圖8的實施例中,FPM22是以Intel的440BX AGPset為基礎的,大多數的FPM功能性類似於一個個人計算機(PC)。說明的FPM22因此可以被視為具有四個主要部分,其包括一個處理器或CPU120、一個440BXAGPset122、一個FOCUS接口以及外圍設備。在圖2和4的說明系統中,FPM22被同樣地設計,雖然本領域普通技術人員將認識到在此公開的方法和系統可以包括不同的FPM設計。
參見圖8,說明的FPM22實施例支持具有一個100兆赫處理器系統總線(PSB)的單個插座370 Intel Pentium III CPU150,雖然這樣的處理器只是用於例示而非限制,但是本領域普通技術人員將認識到在此公開的方法和系統不被CPU選擇或處理器組件所限制。同樣地,本領域普通技術人員將認識到多個處理器150可以被合併在FPM結構內而沒有偏離本方法和系統的範圍。典型的FPM22還包括一個440BX圖形加速埠(AGPset)152,其提供對於CPU150的主機/處理器支持。
在所說明的系統中移進和移出FPM22的數據分組使用一個稱為FOCUS總線的16比特寬的100兆赫總線,並且在說明實施例中,一個全雙工FOCUS總線從每個NPM14附接到每個FPM22,其中,在雙冗餘NPM14a、14b的說明實施例中,每個FPM22與兩個NPM14a、14b通信。正如先前所指出的,該FOCUS總線信號在它被放置在底板上之前在NPM14a、14b上被串行化,以便改善信號完整性並且減少軌跡(trace)數。正如所說明的,FPM22上的解串行器154a、154b把信號從底板轉換到一條總線並且該總線連接該解串行器154a、154b到一個Focus連接156,該Focus連接156通過一個FPGA158和輸入輸出處理器160來接口到440BXkGPset152。所說明的PRC是一個八路FOCUS交換機,其允許FPM22把分組適當地引導到正確的NPM14。
圖8的FPM22還維持了包括控制平面接口、大容量儲存裝置和串行接口在內的外圍設備。在所說明的FPM22中,控制平面提供一個專用路徑用於通過兩個快速乙太網控制器130a、130b與FPM22通信,該兩個快速乙太網控制器130a、130b把AGP152接口到該冗餘的控制平面。正如在圖2和4中所指出的,它通常是通過控制平面與FPM22通信的CPM24a、24b。在說明實施例中,快速乙太網控制器130a、130b連接到控制平面上,其是在兩個CPM24處終止的交換的100兆比特/秒乙太網網絡。
所說明的FPM22還可以支持不同類型的大容量儲存裝置,其例如可以包括一個M系統DiskOnChip(DOC,晶片上盤)、一個2.5英寸盤驅動器、用於設定和參數的半永久存儲的NVRAM等等。
現在參見圖9,這是如圖2和4的系統中呈現的一個樣例CPM24的說明。正如先前指出的,CPM24執行一般的、交換機全部的功能並且通過一個數據接口被連接到其它交換組件,在說明實施例中,該數據接口是與用於FPM22的圖7的數據接口相同的。本領域普通技術人員將認識到FPM22和CPM24模塊的公用數據接口只是為了方便而不限制本方法和系統的範圍。
正如早先討論的,在說明實施例中,控制平面在一個CPM24處終止,其中,所說明的控制平面是雙冗餘的、專用的、交換的100兆比特乙太網。交換單元被安裝在CPM24上,並因此在其它模塊和一個CPM24之間的所有點對點連接都通過該底板連接器被維持。
另外,CPM24控制交換機12自舉過程且在交換機12是可操作時管理從交換機12去除模塊和將模塊插入交換機12。
在圖9說明的CPM24中,主CPU170是一個奔騰III處理器,儘管在此的方法和系統不被如此限制,能夠用執行在此描述的功能的任何處理器或CPU或設備來進行代替,而不偏離本方法系統的範圍,其中,多個處理器或CPU可以另外被利用。在所說明的CPM24中,一個440BX圖形加速埠(AGPset)172提供CPU170的主機/處理器支持。圖9的AGP172支持一個PCI接口來連接到各種硬體設備。
三個快速乙太網控制器174a、174b、174c也位於440BX172的PCI總線上。這三個快速乙太網控制器174a之一提供與另外一個CPM24上的快速乙太網的外部通信以及多路復用。其它兩個快速乙太網控制器174b、174c提供到NPM14和FPM22的專用通信路徑。在圖9說明的系統中,快速乙太網控制器是一個Intel 82559ER,把MAC和PHY合併到單個組件中的完全集成的10BASE-T/100BASE-TX LAN解決方案,雖然這樣的實施例只提供作為一個說明。在所說明的系統中,快速乙太網控制器174b、174c接口到一個乙太網交換機176,其提供十四個專用通信路逕到控制平面,用於多達十個FPM22和兩個NPM14。
數據分組利用一個十六比特寬的100MHz FOCUS總線來移進和移出所說明的CPM24。在說明的系統中,有把每個CPM24耦合到每個NPM14上的一個全雙工FOCUS總線,其中,對於具有雙冗餘NPM14a、14b的圖2和4所說明的系統,每個CPM24耦合到兩個NPM14a、14b。Serdes設備178a、178b把來自底板的進入的串行數據流轉換為並行數據用於轉發給一個Focus連接設備180。同樣地,Serdes178a、178b在把數據放置在底板上之前把來自Focus連接180的並行數據轉換為串行數據。所說明的Focus連接180是被CPM24使用來把分組引導到正確的NPM14的一個交換機。在圖9的系統中,分組通過一個FPGA184和輸入輸出處理器186而被移進和移出CPU存儲器182,該FPGA184和輸入輸出處理器186把Focus連接180接口到AGP172。
再一次參見圖2和4的系統,CPM24協調交換機的不同組件,包括NPM和FPM,並且同樣地支持對一個本地儲存裝置30的訪問,本地儲存裝置30還可以被稱為一個本地存儲器裝置。在一個實施例中,本地儲存裝置30能夠存儲圖像、配置文件和資料庫用於在FPM22上執行應用程式。例如,本地設備30可以儲存用戶簡檔,該用戶簡檔可以被檢索以便被NPM14或FPM22使用。在一個實施例中,一個特定應用程式或用戶的一個配置文件可以被檢索並被複製到多個FPM22,例如從而在期望多個相同配置的FPM22的場景中提供增加的效率。在這樣一個實施例中,FPM22可以對於一個用戶而被分組。本地儲存裝置30可以是可刪除或駐留在CPM24上的任何熟知的存儲器組件,包括但是不局限於軟盤、壓縮光碟(CD)、數字視頻設備(DVD)、等等。在說明的系統中,對於每個CPM24,有至少一個本地儲存裝置。同樣地,在說明的系統中,本地儲存裝置30能夠被分成一些區分以便容納並保護某些處理器的需要,包括在各個FPM22上的處理器。在一個實施例中,本地儲存裝置30可以包括允許動態軟體升級的兩個完全相同的盤分區。在一個實施例中,兩個盤分區可以包括相同的分區組,該分區組可以包括交換分區、被全部處理器使用的共同分區以及用於不同模塊處理器(即,NPM、FPM、CPM)的特定分區。
所說明的CPM24還可以訪問一個遠程儲存裝置32,其中,此類遠程存儲器可以存儲服務、資料庫等等,其可能未被有效地儲存在本地存儲器裝置30中。遠程儲存裝置32可以是存儲器組件的任何編輯(compilation),其可以依靠應用程式而被在物理上或邏輯上分區,並且本領域普通技術人員將認識到在此的方法和系統不被利用來創建該遠程儲存裝置32的實際存儲器組件所限制。
圖2的CPM24也耦合到至少一個管理伺服器(MS)模塊28。在說明實施例中,該連接是一個100Base-T乙太網連接。在圖2的系統中,MS28可以接收併集合來自交換模塊14、22、24中的健康和狀態信息,其中,該健康和狀態信息可以通過CPM24被提供給MS28。在NPM14、FPM22和CPM24被冗餘提供的這樣一個實施例中,例如,MS28可以激活一個特定設備12模塊或使一個特定設備12模塊不活動。在說明實施例中,MS28通過CPM24與設備12模塊通信。在一個實施例中,MS28可以是一個PC、Sun工作站或其他類似操作的微處理器控制設備,其可以配備有微處理器可執行指令用於監視和控制該設備12模塊。在一個實施例中,MS28可以包括一個可執行的項,其提供一個圖形用戶接口(GUI)用於設備12的監視和控制信息的顯示。在一個實施例中,MS28可以是離開CPM24的一個分開的設備,而在另一實施例中,例如通過利用CPM24上的一個分開的處理器用於MS28功能性,則MS28的功能性可以被合併到CPM24中。
在一個實施例中,熟知的Linux作業系統可以被安裝在FPM22和CPM24處理器上,從而提供一個開放式體系結構,其允許例如位於FPM22上的應用程式的安裝和修改。在說明的系統中,可以利用MS28執行在交換模塊上的應用程式的管理和控制。在說明實施例中,利用CPM24,則MS28管理可以被執行。在說明實施例中,諸如防火牆應用程式等等之類的應用程式因此可以利用MS28而被下載、刪除、修改、在FPM22之間傳送等等。
在一個實施例中,NPM14可以在MIPS處理器上執行熟知的VxWorks作業系統以及在IQ2000處理器42上執行一個可執行的小作業系統。本領域普通技術人員將認識到在此公開的方法和系統不局限於在各種交換模塊上的作業系統的選擇,而且允許一個開放式體系結構的任何作業系統可以代替,同時保持在本方法和系統的範圍之內。
現在參見圖10,這裡是圖2-4的說明系統和方法的流調度處理200的說明框圖。正如圖10所指出的,對於說明的系統,FPM22可以提供資源信息202給CPM24。資源信息的描述或定義可以是依靠於系統配置或者由系統配置定義的,並且可以包括能夠根據一個預定義或已建立的流調度準則在NPM14和FPM22之間的流分布方面起幫助的任何信息。例如,在期望流被導向FPM22以便使FPM22的利用最優化的一個實施例中,資源信息可以包括諸如FPM CPU利用、FPM存儲器利用、FPM分組丟失、FPM隊列長度或緩衝器佔用等等之類的固有的FPM數據,並且本領域普通技術人員將認識到這些度量或資源信息被提供只用於例示而非限制,並且其他資源信息可以從FPM22中被提供給CPM24而沒有偏離本方法和系統的範圍。同樣地,任何上述說明的資源信息不需要被提供在在此公開的方法和系統的任何給定實施例中在說明實施例中,FPM22可以被認為屬於一個FPM組,在此,一個FPM組包括相等配置的FPM22,並且因此一個給定的FPM22被分配給單個組。在其他實施例中,例如,如果組包括能夠處理一個特定應用程式的FPM,則一個給定的FPM22可以被指配給不同的組。在一個實施例中,其中,十個FPM22被給出並且可以被分別地標記為數字一到十個,並且FPM一、四、五、八和九被相同地配置,而FPM二和三被相同地配置,並且FPM六、七和十被相同地配置,三個FPM組可以被相應地定義。對於根據說明實施例的一個系統和方法,響應於來自CPM24的一個查詢請求,來自FPM組中的資源信息可以被提供給CPM202;或者,例如,資源信息可以以預定的時間間隔自動地被提供給CPM24,在預定的時間間隔期間FPM22被配置來發送該資源信息給CPM24。在一個實施例中,來自一個給定組中的FPM22可以在規定的時間把資源信息傳送到CPM24,在另一實施例中,從一個單個FPM22到CPM24的資源信息的傳送可以不是組關聯的或者相關的。在一個實施例中,從FPM22到CPM24的資源信息傳送對於所有的FPM22可以是同時的。
在說明的系統中,例如,一個FPM22能夠以十分之一秒的間隔發送資源信息給CPM24,雖然本領域普通技術人員將認識到這樣的定時只是提供用於例示,並且在此的方法和系統不限制為在FPM22和CPM24之間的資源信息傳送的定時或調度。所說明的系統CPM24可以負責根據FPM22然後根據FPM組204解析FPM22的資源信息。例如,對於先前在此提供的三個FPM組說明,CPM24可以被配置來識別資源信息正在從中到達的FPM22,並且還要識別FPM22所屬的組。本領域普通技術人員將認識到存在用於識別數據消息或傳送源的不同的方法,例如包括在消息報頭中識別的包含、CRC等等,並且在此的方法和系統不限制為資源信息可以與FPM22相關的技術或方法。
所說明的CPM24可以根據FPM組來安排來自FPM22中的信息,並且利用這樣的信息來為FPM組204計算一個流調度向量。雖然FPM22能夠以給定的間隔提供資源信息給CPM24,但是CPM流調度計算可以不與此種信息接收一致。在一個實施例中,不論何時獲得FPM信息,CPM24都可以更新一個流調度向量;可是,在其它實施例中,在更新一個流調度向量之前,CPM24可以平均來自一個給定FPM22或FPM組中的多個更新。例如,CPM24能夠被配置來以規定的時間間隔或者以規定的FPM更新間隔等等為一個給定組計算一個新的流調度向量,在其中在此的方法和系統不被CPM流調度向量計算的定時所限制。
在一個實施例中,CPM流調度向量計算間隔可以是位於一個給定FPM組內的一個應用程式的功能。例如,如果CPM承認一個FPM組結構包括需要一個給定時間來完成的應用程式,則流調度向量計算可以基於這樣的信息來被執行。在FPM組流調度向量計算是應用程式相關的一個系統中,不同FPM組的FPM流調度向量可以與其他FPM組無關地被計算。
在一個實施例中,流調度向量可以基於來自FPM中的歷史固有數據來被計算。在一個實施例中,使用一個過濾器,則此歷史信息可以被合併到流調度向量中。
一個給定FPM組的一個計算的流調度向量可以有不同長度。例如,考慮具有可以被稱為五、六、七的三個FPM22的一個FPM組。在一個給定間隔期間,CPM24可以決定FPM五和七被完全加載,而FPM六卻不這樣。在此情況下,FPM組的向量例如可以是識別FPM六的一個值,並且此向量例如可以保持不變直到FPM五和七指示一個降低的負載為止。在此相同FPM組的另一實施例中,在其中百分之四十的流將被FPM五處理、百分之四十被FPM六處理、並且百分之二十被FPM七處理,流調度向量可以是能以向量表達式排列的五個數值[FPM五;FPM六;FPM五;FPM六;FPM七]。
再一次參見圖10,在CPM24為一個給定FPM組計算一個流調度向量之後,CPM可以把流調度向量轉送206給NPM14。依賴於CPM結構,被更新的流調度向量從CPM24到NPM14的轉送的速率可以不與CPM流調度向量計算一樣。在某些實施例中,流調度向量從CPM24到NPM14的轉送可以被配置為固定的間隔,其可以根據FPM組而改變。在其它實施例中,對於所有FPM組的被更新的流調度向量可以同時被傳送給NPM14。在另一實施例中,一個新的流調度向量從CPM24到NPM14的轉送可以僅僅基於一個預定準則而發生,例如,其可能需要在一個現有的流調度向量和新計算的流調度向量之間的一個規定差值。本領域普通技術人員將認識到在此的方法和系統不被一個CPM24和NPM14之間的流調度向量傳送的頻率或調度所限制。
正如在此指出的,NPM14接口到用戶和/或網絡等等,並且可以接收流、識別被該流請求的應用程式並且還識別哪些FPM22可以處理該流/請求。在使用圖10的流調度方法的系統中,一旦NPM14識別一個接收流正在請求哪一(些)應用程式,則NPM14可以確定一個FPM組來處理該流。在一個實施例中,NPM14例如可以利用一個散列表來把對於應用程式或服務的一個請求與一個特定FPM組和/或流調度向量聯繫起來,儘管本領域普通技術人員將認識到有許多不同的技術用於把一個流或請求與一個處理器組關聯,且在此的方法和系統不限制為任何特定的技術。NPM還可以利用所識別的FPM組的流調度向量來確定在所識別的FPM組之內的哪一FPM22將接收該流/請求用於處理。在所說明的流調度向量可以被利用的系統和方法中,NPM14可以被配置為根據流調度向量內容而把流引導到FPM22,這是通過按照在各自流調度向量中列出的FPM順序、且當達到向量末端時返回到向量的開始,從而按順序地把流指配給FPM22而進行的。本領域普通技術人員還將認識到一個流調度向量可以包括對FPM的指針、FPM識別等等,並且該方法和系統不被一個特定FPM被向量識別的技術所限制。
本領域普通技術人員將認識到圖10的流程圖及相關討論只被提供用於說明而非限制。例如,雖然流程圖討論從FPM22到CPM24的資源信息傳輸的描述開始,但是本領域普通技術人員將認識到此處理可以不是圖10處理中的最初步驟。在一個實施例中,初始的流調度向量可以被CPM24向NPM14提供,或者可選擇地,NPM14可以對於不同的FPM組被配置一個初始的流調度向量。在圖10中說明的處理因此能以一個確定的或不確定的方式所指示的那樣被重複,而沒有對於處理的一個給定「開始」或「結束」的特徵。
公開的方法和系統相對現有技術的一個優點是公開了具有多個處理器的單個結構,其中,來自處理器的固有數據可以被利用來產生一個精確的流調度向量,用於在多個處理器中分布流或數據請求。
因此在上面已經描述的是一種用於在多個處理器之間分布流的方法和系統。這些流可以從諸如網絡之類的一個外部源中被一個前端處理器接收,該前端處理器識別流和相關的請求,並且識別至少一個內部應用程式處理器來處理該請求/流。前端處理器利用與所識別的應用程式處理器相關的流調度向量,並且該流調度向量可以以來自應用程式處理器中的固有數據為基礎,該應用程式處理器可以包括CPU利用、存儲器利用、分組丟失以及隊列長度或緩衝器佔用。在某些實施例中,應用程式處理器可以被理解為屬於一個組,其中,在一個組內的應用程式處理器可以被相同地配置。一個流調度向量可以對於不同的應用程式處理器組而被計算。在某些實施例中,一個控制處理器可收集固有的應用程式處理器數據、計算流調度向量並且把該流調度向量轉送給前端處理器。
雖然所公開的方法和系統相對於它的特定實施例已經被描述,但是它並不被如此地限制。顯然地,根據上面的教導,本方法和系統的許多修改和變化可能變得顯而易見。例如,雖然所說明的系統把模塊分成不同的組件,但是在適當之處,組件的功能性可以被合併成為單個模塊而不會影響該方法和系統。雖然在此公開的方法和系統把資源信息從FPM到CPM傳輸以便進行流調度向量的計算,用於進一步轉送給NPM,但是資源信息可以被傳送給NPM用於在NPM處計算流調度向量。同樣地,其他處理器可以被利用來處理固有的資源信息並且計算流調度向量。雖然在此處的公開是指一種「流調度向量」,但是這樣的語言可以被理解為表示任何類型的調度的任何形式,並且調度不需要是向量、隊列、陣列等等的形式,因為可以利用調度的其他形式或者用其他方式傳送順序信息而沒有偏離本方法和系統的範圍。
本領域技術人員可以在本方法和系統的原理和範圍內對在此描述並說明來解釋本方法和系統性質的細節、材料、步驟和各個部分配置進行許多附加的改變。因此,應該理解本方法和系統不被限制為在此公開的實施例,而是可以以不同於明確描述的其他方式被實踐,並且要從下列權利要求中被理解,下列權利要求被解釋為如法律所允許的那樣寬的範圍。
權利要求
1.一種用於在處理器間調度數據流的方法,包括接收一個處理請求;識別一個處理器組來處理該請求,該處理器組包括至少一個處理器;協商與所識別的處理器組相關的一個流調度,並且基於該相關的流調度來把該請求轉送到所識別的處理器組中的至少一個處理器。
2.如權利要求1所述的方法,其中,接收一個處理請求包括接收來自一個網絡的一個數據流。
3.如權利要求1所述的方法,其中,協商一個流調度還包括協商一個流調度向量。
4.如權利要求1所述的方法,其中,轉送該請求包括在該協商的流調度中基於處理器間的順序移動而轉送該請求。
5.如權利要求4所述的方法,其中,在處理器間順序移動包括在到達所述協商流調度結尾之後返回到所述協商的流調度的開始。
6.如權利要求1所述的方法,還包括基於來自所識別的處理器組中的固有數據來計算一個流調度。
7.如權利要求6所述的方法,其中,基於固有數據來計算一個流調度包括基於所識別的處理器組中處理器的CPU利用、存儲器利用、分組丟失和隊列長度或緩衝器佔用來計算一個流調度。
8.如權利要求6所述的方法,其中計算一個流調度還包括接收來自所識別的處理器組中的處理器的固有數據。
9.如權利要求8所述的方法,其中,接收來自處理器中的數據還包括以規定的時間間隔接收數據。
10.如權利要求6所述的方法,其中計算一個流調度還包括過濾該固有數據。
11.如權利要求1所述的方法,還包括提供處理器組,該處理器組具有至少一個處理器並且在處理器組中的處理器包括至少一個相似的應用程式。
12.如權利要求1所述的方法,還包括提供處理器組,該處理器組具有至少一個處理器並且在處理器組中的處理器被相同地配置。
13.如權利要求12所述的方法,還包括計算處理器組的一個流調度。
14.如權利要求1所述方法,還包括提供處理器組,其中,不同的處理器組中的處理器包括至少一個不同的應用程式。
15.如權利要求1所述的方法,其中,協商一個流調度還包括提供一個初始流調度。
16.如權利要求1所述的方法,其中,識別一個處理器組包括識別與該請求相關的一個應用程式。
17.如權利要求1所述的方法,其中,識別一個處理器組包括協商一個散列表。
18.一種處理網絡上的數據流的設備,包括具有至少一個處理器的至少一個流處理器模塊;至少一個網絡處理器模塊,其具有至少一個處理器、用來接收來自該網絡的數據流的至少一個接口、和指令,以便使該至少一個處理器來把數據流轉發到能夠處理該數據流的至少一個流處理器模塊;和至少一個控制處理器模塊,該至少一個控制處理器模塊與至少一個流處理器模塊通信,並且具有至少一個處理器和指令用於使該至少一個處理器接收來自該至少一個流處理器模塊中的固有數據。
19.如權利要求18所述的設備,其中,所述至少一個流處理器模塊包括至少一個存儲器來存儲至少一個應用程式。
20.如權利要求18所述的設備,其中,所述至少一個控制處理器模塊與所述至少一個網絡處理器模塊通信。
21.如權利要求18所述的設備,其中,所述至少一個控制處理器模塊包括用於使所述至少一個處理器來為該至少一個應用程式處理器組計算一個流調度的指令。
22.如權利要求18所述的設備,其中,所述固有數據包括CPU利用、存儲器利用、分組丟失和隊列長度或緩衝器佔用中的至少一個。
23.如權利要求18所述的設備,其中,所述控制處理器模塊還包括至少一個過濾模塊。
24.如權利要求18所述的設備,其中,所述網絡處理器模塊還包括用於把流引導到所述流處理器模塊的至少一個流調度。
25.如權利要求18所述的設備,其中,所述網絡處理器模塊還包括至少一個初始流調度。
26.如權利要求18所述的設備,其中,所述網絡處理器模塊還包括一個把所述數據請求與一個流調度關聯的散列表。
27.如權利要求24所述的設備,其中,所述流調度還包括流處理器模塊的一個列表。
28.一種用於在網絡上調度數據流的設備,包括一個前端處理器,用於接收來自所述網絡中的數據流;至少一個應用程式處理器組,用來處理所述流,至少一個流調度與所述至少一個應用程式處理器組相關;和,指令,用來使所述前端處理器識別至少一個應用程式處理器組來處理所述流、選擇所識別的處理器組內的至少一個處理器、並且把所述流轉送給選定的處理器。
29.如權利要求28所述的設備,其中,該至少一個流調度包括至少一個流向量。
30.如權利要求28所述的設備,還包括接收來自所述至少一個應用程式處理器組中的數據的至少一個控制處理器。
31.如權利要求30所述的設備,其中,所述控制處理器包括至少一個過濾器。
32.如權利要求28所述的設備,其中,所述至少一個應用程式處理器組包括至少一個處理器。
33.如權利要求32所述的設備,其中,所述至少一個處理器包括存儲應用程式的至少一個存儲器。
34.如權利要求28所述的設備,其中,所述前端處理器包括一個散列表,用於把一個數據流與至少一個應用程式處理器組關聯。
35.一種用於在至少兩個處理器間調度數據流的方法,包括基於來自所述至少兩個處理器的歷史性能數據來計算一個流調度。
36.如權利要求35所述的方法,其中,基於歷史性能數據來計算一個流調度包括為所識別的處理器組中處理器的CPU利用、存儲器利用、分組丟失和隊列長度或緩衝器佔用中的至少一個提供歷史數據。
37.如權利要求35所述的方法,其中,基於歷史性能數據來計算一個流調度包括為所識別的處理器組中處理器的CPU利用、存儲器利用、分組丟失和隊列長度或緩衝器佔用中的至少一個提供目前存在的數據。
38.一種網絡設備,包括至少一個流處理器模塊,其具有至少一個處理器和用於存儲由所述至少一個處理器執行的應用程式的至少一個存儲器;至少一個網絡處理器模塊,其具有至少一個處理器、接收來自所述網絡中的數據並且發送數據給所述網絡的至少一個接口,以及指令,用來使所述至少一個處理器識別用於由流處理器模塊存儲器中的應用程式處理的一個數據請求,以及把所述數據請求轉發給能夠根據該數據請求處理該數據的一個流處理器模塊;和至少一個控制處理器模塊,其與所述流處理器模塊和網絡處理器模塊通信,並且具有至少一個處理器和用於使所述至少一個處理器管理所述流處理器模塊存儲器中的應用程式的指令。
39.如權利要求38所述的網絡設備,其中,用於使所述至少一個處理器來管理該流處理器模塊存儲器中的應用程式的所述控制處理器模塊指令還包括使所述控制處理器模塊來執行以下之一的指令下載應用程式到所述流處理器模塊存儲器,和從所述流處理器模塊存儲器中刪除應用程式。
40.如權利要求38所述的網絡設備,還包括與該控制處理器模塊通信並且具有至少一個處理器的一個管理伺服器模塊。
41.如權利要求40所述的網絡設備,其中,所述管理伺服器模塊還包括使該至少一個管理伺服器處理器讓該控制處理器模塊執行以下之一的指令從所述管理伺服器模塊中下載應用程式到所述流處理器模塊存儲器,和從所述流處理器模塊存儲器中刪除應用程式。
42.如權利要求38所述的網絡設備,還包括耦合到所述控制處理器模塊的一個本地存儲器裝置。
43.如權利要求38所述的網絡設備,還包括耦合到所述控制處理器模塊的一個遠程存儲器裝置。
44.如權利要求38所述的網絡設備,其中,所述控制處理器模塊還包括指令來使所述至少一個控制處理器模塊處理器來在一個管理伺服器模塊和所述流處理器模塊之間轉送數據。
45.如權利要求38所述的網絡設備,還包括耦合到所述至少一個流處理器模塊的至少一個儲存裝置。
46.如權利要求38所述的網絡設備,還包括耦合到所述至少一個網絡處理器模塊的至少一個儲存裝置。
47.一種網絡設備,包括至少一個流處理器模塊,其具有至少一個處理器,和用於存儲由所述至少一個處理器執行的應用程式的至少一個存儲器;和第一網絡處理器模塊,其具有至少一個處理器、接收來自所述網絡中的數據並且發送數據給所述網絡的至少一個接口,和指令,用來使所述至少一個處理器識別用於由所述流處理器模塊存儲器中的應用程式處理的一個數據請求,並且把所述數據請求轉發給能夠根據該數據請求而處理該數據的一個流處理器模塊;和第一控制處理器模塊,其與所述第一網絡處理器模塊和流處理器模塊通信並且具有至少一個處理器,和用於使所述至少一個處理器管理該流處理器模塊存儲器中的應用程式的指令。
48.如權利要求47所述的網絡設備,還包括一個管理伺服器模塊,所述管理伺服器模塊與所述控制處理器模塊通信並且具有至少一個處理器,所述至少一個處理器具有指令來管理在所述流處理器模塊上的應用程式。
49.如權利要求47所述的網絡設備,還包括一個第一控制平面,用來耦合所述第一網絡處理器模塊、所述流處理器模塊和所述第一控制處理器模塊。
50.如權利要求47所述的網絡設備,還包括一個分離的第二控制平面,用來耦合所述第一網絡處理器模塊、所述流處理器模塊和所述第一控制處理器模塊。
51.如權利要求50所述的網絡設備,還包括一個不同的第二網絡處理器模塊,其耦合到所述第一控制平面和所述第二控制平面,並且具有至少一個處理器、用來從該網絡中接收數據並且發送數據給該網絡的至少一個接口,以及指令,使該處理器識別用於由所述流處理器模塊存儲器中的應用程式處理的一個數據請求,並且把所述數據請求轉發給能夠根據所述數據請求來處理所述數據的一個流處理器模塊;一個不同的第二控制處理器模塊,其耦合到所述第一控制平面、所述不同的第二控制平面和所述管理伺服器模塊上,並且具有至少一個處理器。
52.如權利要求47所述的網絡設備,還包括耦合到所述第一控制處理器模塊的一個本地存儲器裝置。
53.如權利要求51所述的網絡設備,還包括耦合到所述第一控制處理器模塊和所述第二控制處理器模塊的一個本地存儲器裝置。
54.如權利要求47所述的網絡設備,還包括耦合到所述第一控制處理器模塊的一個遠程存儲器裝置。
55.如權利要求54所述的網絡設備,還包括把所述遠程存儲器裝置耦合到所述第一控制處理器模塊的一個高速數據鏈路。
56.如權利要求47所述的網絡設備,還包括耦合到所述第一控制處理器模塊和所述第二控制處理器模塊的一個遠程存儲器裝置。
57.如權利要求56所述的網絡設備,還包括把所述遠程存儲器裝置耦合到所述第一控制處理器模塊和所述第二控制處理器模塊的一個高速數據鏈路。
58.如權利要求48所述的網絡設備,還包括把所述管理伺服器模決耦合到所述第一控制處理器模塊的一個高速數據鏈路。
59.如權利要求51所述的網絡設備,還包括一個管理伺服器模塊,所述管理伺服器模塊與所述控制處理器模塊通信並且具有一個處理器,所述處理器具有指令來管理所述流處理器模塊上的應用程式;和把所述管理伺服器模塊耦合到所述第一控制處理器模塊和所述第二控制處理器模塊的一個高速數據鏈路。
60.如權利要求48所述的網絡設備,其中,所述管理伺服器模塊還包括一個處理器和用於使所述處理器發送和接收來自該第一控制處理器模塊中的數據的指令。
61.如權利要求48所述的網絡設備,其中,所述管理伺服器模塊是一個個人計算機。
62.如權利要求48所述的網絡設備,其中,所述管理伺服器模塊還包括指令,用來接收來自第一網絡處理器模塊、所述流處理器模塊和所述第一控制處理器模塊中的健康和維護數據。
63.一種用於在網絡中分布應用程式的方法,包括在一個網絡裝置處接收來自該網絡的數據,識別至少一個應用程式以應用到該數據,根據該識別的應用程式來處理該數據,並且轉發來自所述網絡裝置中的所述已處理的數據.
64.如權利要求63所述的方法,還包括把策略應用到該數據。
65.如權利要求63所述的方法,其中,識別至少一個應用程式還包括利用一個散列表來把該數據關聯到至少一個應用程式。
66.如權利要求63所述的方法,其中,識別至少一個應用程式還包括把一個用戶簡檔與該數據關聯,並且,基於該用戶簡檔選擇至少一個應用程式。
67.如權利要求63所述的方法,其中,根據該識別的應用程式來處理該數據還包括把該數據引導到用於執行該識別的應用程式的至少一個處理器。
68.如權利要求67所述的方法,還包括為該識別的應用程式配置該處理器。
69.如權利要求6 3所述的方法,還包括基於該應用程式來選擇至少一個處理器。
70.如權利要求63所述的方法,還包括基於處理器負載來選擇至少一個處理器。
71.如權利要求63所述的方法,還包括基於把一個策略應用到該數據來選擇至少一個處理器。
72.如權利要求63所述的方法,其中,識別應用到該數據的至少一個應用程式還包括識別該數據源,並且基於該數據源檢索一個應用程式簡檔。
73.如權利要求63所述的方法,其中,轉發來自該網絡裝置中被處理的數據還包括把該處理的數據轉發到該網絡。
74.如權利要求63所述的方法,其中,轉發來自該網絡裝置中被處理的數據還包括把該處理的數據轉發到一個儲存裝置。
75.如權利要求63所述的方法,還包括確定一個目的地來轉發該處理的數據。
76.如權利要求63所述的方法,還包括在所述網絡裝置處把應用程式提供到處理器。
77.如權利要求76所述的方法,其中,在所述網絡裝置處把應用程式提供到處理器還包含從一個遠程處理器和儲存裝置的至少一個中下載應用程式到處理器。
78.一種用於管理網絡設備上應用程式的方法,包括提供至少一個流處理器模塊,其具有至少一個處理器和用於存儲應用程式的至少一個存儲器;提供至少一個網絡處理器模塊,其連接到所述流處理器模塊,具有至少一個處理器以及指令用於識別由所述流處理器模塊上的應用程式處理的一個數據請求,並且把數據請求轉送給能夠處理所述數據請求的流處理器模塊,以及把一個控制處理器模塊連接到所述流處理器模塊和所述網絡處理器,所述控制處理器模塊與所述流處理器模塊和所述網絡處理器模塊通信,並且具有至少一個處理器和指令,所述指令用於使所述處理器執行下列操作之一從所述流處理器模塊中刪除應用程式,以及把應用程式存儲到所述流處理器模塊中。
79.如權利要求78所述的方法,還包括提供一個與所述控制處理器模塊通信的管理伺服器模塊,所述管理伺服器模塊具有一個處理器和指令,用於控制在流處理器模塊上的應用程式。
80.如權利要求78所述的方法,其中提供至少一個網絡處理器模塊還包括提供處理器指令用於接收來自該網絡中的數據、處理來自該網絡中的數據、接收來自所述流處理器模塊的已處理的數據,並且把所述已處理的數據轉送到一個網絡目的地。
81.如權利要求78所述的方法,提供至少一個網絡處理器模塊還包括提供處理器指令用於把接收的數據轉發到一個網絡目的地。
82.如權利要求78所述的方法,其中,連接一個控制處理器模塊進一步包括提供指令用於使該處理器執行對來自所述網絡處理器模塊的數據請求的處理。
全文摘要
一種用於在多個處理器之間分布流的方法和系統。該流可以被一個前端處理器從諸如網絡的一個外部源中接收,該前端處理器識別流及其相關的請求,並且標識至少一個內部應用程式處理器來處理該請求/流。前端處理器利用與所識別的應用程式處理器相關的一個流調度向量,並且該流調度向量可以基於來自應用程式處理器的固有數據,可以包括CPU利用、存儲器利用、分組丟失和隊列長度或緩衝器佔用。在一些實施例中,應用程式處理器能夠被理解為屬於一個組,其中在一個組內的應用程式處理器可以被相同地配置。一個流調度向量可以為不同的應用程式處理器組而被計算。在一些實施例中,控制處理器可以收集固有的應用程式處理器數據、計算流調度向量並且把該流調度向量轉送給前端處理器。
文檔編號G06F15/173GK1518694SQ01819421
公開日2004年8月4日 申請日期2001年9月25日 優先權日2000年9月25日
發明者M·阿克曼, J·弗格森, S·賈斯特斯, Y·科森斯基, M 阿克曼, 固廝, 夠, 襠 申請人:橫梁系統公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀