国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于與交換機結構相關的流控制的方法和裝置的制作方法

      文檔序號:7910017閱讀:277來源:國知局
      專利名稱:用于與交換機結構相關的流控制的方法和裝置的制作方法
      技術領域
      本發(fā)明總體上涉及流控制,并且,特別地,涉及與多級交換機結構相關的流控制。
      背景技術
      舉例來說,從發(fā)送器經(jīng)由物理鏈路(例如,以太網(wǎng)鏈接)到接收器的數(shù)據(jù)傳輸可能因被設置為接收該數(shù)據(jù)的隊列的擁塞而中斷。在有些情況下,由于緩沖區(qū)溢出,該中斷可能引起行開端(HOL)阻塞和/或?qū)е轮辽俨糠謹?shù)據(jù)的損失。已知的流控制協(xié)議,例如以太網(wǎng)暫停協(xié)議(電機及電子工程師協(xié)會(IEEE) 802. 3x)和優(yōu)先級暫停協(xié)議(IEEE802. IQbb),在某些應用中可用于減少緩沖區(qū)溢出,而且,量化擁塞通告OlCN)協(xié)議(IEEE 802. IQau)可用于在具有相對穩(wěn)定數(shù)據(jù)流的多跳網(wǎng)絡內(nèi)管理數(shù)據(jù)擁塞。然而,已知的這些流控制協(xié)議,并不能充分解決與多級隊列相關的擁塞問題,和/或,并不能充分處理逐跳網(wǎng)絡鏈接內(nèi)的擁塞的急劇發(fā)作,比如,由數(shù)據(jù)突發(fā)所引起的擁塞的急劇發(fā)作。

      發(fā)明內(nèi)容
      因此,需要用于與逐跳網(wǎng)絡鏈接相關的模塊間的數(shù)據(jù)流控制的方法和裝置。在某些實施例中,一種裝置包括流控制模塊,該流控制模塊被設置為,當多級交換機的一級的輸出隊列的可用容量跨過(cross)第一閾值時,則以第一速率接收來自該輸出隊列的第一數(shù)據(jù)包。該流控制模塊被設置為,當該多級交換機的該級的輸出隊列的可用容量跨過第二閾值時,則以第二速率接收來自該輸出隊列的第二數(shù)據(jù)包。該流控制模塊被設置為向該多級交換機的邊緣設備發(fā)送流控制信號,而第一數(shù)據(jù)包或第二數(shù)據(jù)包由所述邊緣設備進入該多級交換機。


      圖1是根據(jù)本發(fā)明實施例的交換機結構系統(tǒng)的系統(tǒng)框圖。圖2是根據(jù)本發(fā)明另一實施例的交換機結構的示意圖。圖3是根據(jù)本發(fā)明另一實施例的交換機結構系統(tǒng)的部分示意圖。圖4是根據(jù)本發(fā)明另一實施例的輸出隊列的示意圖。圖5是根據(jù)本發(fā)明另一實施例的數(shù)據(jù)包的示意圖。圖6是根據(jù)本發(fā)明另一實施例的流控制包的示意圖。圖7是根據(jù)本發(fā)明另一實施例的交換機結構系統(tǒng)的系統(tǒng)框圖。圖8是根據(jù)本發(fā)明另一實施例的交換機結構內(nèi)模塊的示意圖。圖9是根據(jù)本發(fā)明的另一實施例的流控制信號的發(fā)送方法的流程圖。
      具體實施例方式在某些實施例中,一種裝置包括流控制模塊,該流控制模塊被設置為,當多級交換機的一級的輸出隊列的可用容量跨過第一閾值時,則以第一速率接收來自該輸出隊列的第一數(shù)據(jù)包。該流控制模塊被設置為,當該多級交換機的該級的輸出隊列的可用容量跨過第二閾值時,則以第二速率接收來自該輸出隊列的第二數(shù)據(jù)包。該流控制模塊被設置為向該多級交換機的邊緣設備發(fā)送流控制信號,第一數(shù)據(jù)包或第二數(shù)據(jù)包由所述邊緣設備進入該多級交換機。在某些實施例中,第一閾值比第二閾值低。更特別地,在第一閾值處的輸出隊列的可用容量要比在第二閾值處的輸出隊列的可用容量大。相應地,由于輸出隊列存儲了更大數(shù)量的數(shù)據(jù)包且輸出隊列的可用容量下降了,流控制模塊接收更多的數(shù)據(jù)包。這導致流控制模塊向邊緣設備發(fā)送更大數(shù)量的流控制包。統(tǒng)計學上,在輸出隊列處導致?lián)砣脑醋砸粋€或多個邊緣設備的數(shù)據(jù)流將得到調(diào)節(jié)。一旦流得到調(diào)節(jié),在輸出隊列處的擁塞就可能減小,從而增大了輸出隊列的可用容量。在某些實施例中,一種裝置包括分布式交換機結構的第一交換機模塊。該第一交換機模塊被設置為,從該分布式交換機結構的一組第二交換機模塊接收多個數(shù)據(jù)包,并將該多個數(shù)據(jù)包存儲在輸出隊列中。該第一交換機模塊被設置為,如果輸出隊列的可用容量跨過閾值,則向帶外流控制模塊發(fā)送該輸出隊列中的數(shù)據(jù)包,這樣,該帶外流控制模塊向與該數(shù)據(jù)包相關的源邊緣設備發(fā)送流控制信號。在某些實施例中,所述流控制模塊是帶外的,因為它并不是在通過該分布式交換機結構的數(shù)據(jù)包的普通數(shù)據(jù)流內(nèi)(例如,在該交換機結構的數(shù)據(jù)平面的外)。相應地,該流控制模塊的運行并不中斷和/或減緩通過該交換機結構的數(shù)據(jù)包的普通數(shù)據(jù)流。此外,這允許該流控制模塊,經(jīng)由該交換機結構的數(shù)據(jù)平面的外的低延時的數(shù)據(jù)通路,向源邊緣設備發(fā)送流控制包。在某些實施例中,非暫時性的處理器可讀介質(zhì)存儲表示某些指令的代碼,該指令使得處理器接收多級交換機的一級的輸出隊列的可用容量的指示符。該代碼表示某些指令,該指令使得處理器發(fā)送輸出隊列中的數(shù)據(jù)包請求,前提是該輸出隊列的可用容量的指示符滿足條件。該代碼還表示某些指令,該指令使得處理器使用第一流控制協(xié)議向數(shù)據(jù)包的源邊緣設備發(fā)送流控制信號,這樣,該源邊緣設備使用第二流控制協(xié)議向源外圍處理設備發(fā)送流控制信號。這里所使用的名詞“物理跳”可包括兩個模塊和/或設備間的物理鏈路。舉例來說,第一模塊與第二模塊操作性耦合的數(shù)據(jù)通路可被稱為物理跳?;蛘哒f,物理跳可以在物理上鏈接第一模塊與第二模塊。這里所使用的名詞“單物理跳”可包括系統(tǒng)內(nèi)的兩個模塊間的直接物理連接?;蛘哒f,單物理跳可以包括鏈接,兩個模塊經(jīng)由該鏈接而耦合,沒有中間模塊。相應地,舉例來說,如果第一模塊經(jīng)由單物理跳與第二模塊耦合,則該第一模塊可向該第二模塊直接發(fā)送數(shù)據(jù)包,而不是通過中間模塊發(fā)送這些數(shù)據(jù)包。這里所使用的名詞“單物理跳”可包括一個物理跳和/或一組物理跳,其在與第一協(xié)議相關的網(wǎng)絡拓撲結構內(nèi)為單跳?;蛘哒f,根據(jù)與第一協(xié)議相關的拓撲結構,第一模塊和 /或設備與第二模塊和/或設備經(jīng)由該物理跳和/或該組物理跳而操作性耦合,其間,不存在中間節(jié)點。經(jīng)由單邏輯跳而連接到第二模塊和/或設備的第一模塊和/或設備可向該第二模塊和/或設備發(fā)送數(shù)據(jù)包,這要使用與該第一協(xié)議和第二模塊和/或設備相關的目的地址,但不考慮該第一設備與第二設備間的物理跳的數(shù)目。在某些實施例中,舉例來說,第二協(xié)議可使用該第一協(xié)議的目的地址在該單物理跳上,將數(shù)據(jù)包和/或數(shù)據(jù)單元從該第一模塊和/或設備路由到第二模塊和/或設備?;蛘哒f,當?shù)谝荒K和/或設備經(jīng)由第一協(xié)議的單邏輯跳向第二模塊和/或設備傳送數(shù)據(jù)時,該第一模塊和/或設備對待該單邏輯跳就像它正在直接向該第二模塊和/或設備發(fā)送數(shù)據(jù)一樣。在某些實施例中,交換機結構可起到部分的單邏輯跳的作用(例如,單大范圍綜合L2/L3交換機)。在物理上,交換機結構的多個部分可以分布在例如許多機架(chassis) 和/或由多物理跳所互聯(lián)的模塊。在某些實施例中,舉例來說,該交換機結構的一個處理級可被包括在第一機架,而該交換機結構的另一個處理級可被包括在第二機架。在邏輯上, 這兩個處理級都可起到部分的單綜合交換機的作用(例如,根據(jù)第一協(xié)議在相同的邏輯跳內(nèi)),但包括各對處理級之間的獨立的單物理跳。或者說,物理跳可在表示與協(xié)議相關的單邏輯跳的交換機結構的內(nèi)操作地耦合各級,其中,所述協(xié)議被用于在該交換機結構外對數(shù)據(jù)進行路由。此外,與用于在該單邏輯跳外對數(shù)據(jù)進行路由的協(xié)議相關的包分類和轉(zhuǎn)送不必出現(xiàn)在單邏輯跳內(nèi)的各級。在某些實施例中,舉例來說,在一個模塊和/或設備經(jīng)由該單邏輯跳向另一個模塊和/或設備發(fā)送該數(shù)據(jù)包之前,可出現(xiàn)與第一協(xié)議(例如,以太網(wǎng))相關的包分類和轉(zhuǎn)送。舉例來說,這里所使用的交換機結構內(nèi)的模塊可以是在交換機結構的一級的內(nèi)定義一個或多個交換機的操作性耦合的電氣元件的任意集合和/或組合。在某些實施例中, 舉例來說,模塊可包括存儲器、處理器、電跡線(electrical trace)、光連接器和/或諸如此類的東西。本說明書中所使用的單數(shù)形式“一”、“一個”或“該”包括復數(shù)形式,除非上下文有明確說明。因此,舉例來說,名詞“一個交換機結構”是用來表示單個交換機結構或多個交換機結構的組合。名詞“第一級”、“第二級”等等是指交換機結構內(nèi)的部分、模塊或節(jié)點。在某些情況下,這些名詞是指給定交換機結構內(nèi)的特定級。舉例來說,三級Clos網(wǎng)包括從入口到出口的三個連續(xù)的級;這樣的交換機結構具有三個級,這些級可被稱為“第一級”(第一級關于從入口到出口的方向)到“第三級”(第三和最后一級關于從入口到出口的方向)。舉例來說,圖2示出了給定交換機結構內(nèi)的特定級。然而,在其它情況下,名詞“第一級”、“第二級”等等是指該交換機結構內(nèi)的任意級,并對應于給定級的討論次序。舉例來說,“第一級” 可指所討論的第一級,并可對應于該交換機結構內(nèi)的任意級(例如,三級Clos網(wǎng)內(nèi)的第三級),而“第二級”可指該交換機結構內(nèi)的其余級(例如,三級Clos網(wǎng)內(nèi)的第二級)。因此, 可以理解的是,特定的語境將表明名詞“第一級”、“第二級”等等是指交換機結構內(nèi)的特定序數(shù)級,或者,還是指該交換機結構的任意的特定級。圖1示出了根據(jù)本發(fā)明實施例的交換機結構系統(tǒng)100的示意圖。交換機結構系統(tǒng) 100包括交換機結構102和多個邊緣設備182、184和186。交換機結構系統(tǒng)100與多個外圍處理設備114、1M和134有效地相互耦合。如同這里所進一步詳細描述的那樣,外圍處理設備114、1M和134可以是,舉例來說,計算節(jié)點、服務節(jié)點、路由器和存儲節(jié)點。在某些實施例中,舉例來說,外圍處理設備114、1M和134包括服務器、存儲設備、網(wǎng)關、工作站和 /或諸如此類的東西。使用任何適當?shù)倪B接,例如,舉例來說,光學連接(例如,光纜和光連接器)、電連接(例如,電纜和電連接器)和/或諸如此類的東西,外圍處理設備114、1M和134可與交換機結構系統(tǒng)100的邊緣設備182、184和186操作性耦合。這樣,外圍處理設備114、124 和134被設置為經(jīng)由邊緣設備182、184和186向交換機結構系統(tǒng)100發(fā)送數(shù)據(jù)(例如,數(shù)據(jù)包和數(shù)據(jù)單元等)。在某些實施例中,外圍處理設備114、1M和134與邊緣設備182、184 和186之間的各個連接是直接鏈接。這樣的鏈接可被稱為是單物理跳鏈接。在其它的實施例中,經(jīng)由中間模塊,該外圍處理設備可與該邊緣設備操作性耦合。這樣的連接可稱為是多物理跳鏈接。各邊緣設備182、184和186可以是任何被設置為將外圍處理設備114、124和134 操作地耦合至交換機結構102的設備。在某些實施例中,舉例來說,邊緣設備182、184和 186可以是接入交換機、輸入/輸出模塊、架頂式設備和/或諸如此類的東西。在結構上, 邊緣設備182、184和186可起到源邊緣設備和目的邊緣設備這兩個作用。相應地,邊緣設備182、184和186可向交換機結構102發(fā)送并從其接收數(shù)據(jù)(例如,數(shù)據(jù)包和/或數(shù)據(jù)單元的數(shù)據(jù)流),也可向所連接的外圍處理設備114、1M和134發(fā)送并從其接收數(shù)據(jù)。在某些實施例中,邊緣設備182、184和186可以是硬件模塊和軟件模塊(在硬件中執(zhí)行)的組合。在某些實施例中,舉例來說,各邊緣設備182、184和186可包括現(xiàn)場可編程門陣列(FPGA)、專用集成電路(ASIC)、數(shù)字信號處理器(DSP)和/或諸如此類的東西。邊緣設備182、184和186可被設置為準備進入交換機結構102的數(shù)據(jù)包(例如,以太網(wǎng)包)。舉例來說,邊緣設備182、184和186可被設置為,在向交換機結構102發(fā)送數(shù)據(jù)包之前,轉(zhuǎn)送、分類和/或修改該數(shù)據(jù)包的包封裝(例如,修改、增加及/或移除頭部分、腳注部分和/或該數(shù)據(jù)包內(nèi)所包括的任何其它標識符)。與包分類有關的其它詳細描述請見美國專利申請申請?zhí)?No. 12/242,168,題目為"Methods and Apparatus Related to Packet Classification Associated with a Multi-Stage Switch” U008 年 9 月 30 日申請)以 R^lm No. 12/242, 172, H g ^ "Methods and Apparatus for Packet Classification Based on Policy Vectors”(2008年9月30日申請),上述兩個專利文獻通過引用合并于此。各邊緣設備182、184和186被設置為經(jīng)由交換機結構102與其他邊緣設備182、 184和186通信。特別地,交換機結構102被設置為,提供邊緣設備182、184和186之間任意點對任意點的相對低延遲的連接性。舉例來說,交換機結構102可被設置為在邊緣設備 182、184和186之間傳輸(例如,輸送)數(shù)據(jù)。在某些實施例中,交換機結構102最少可有幾百個或數(shù)千個端口(例如,出口端口和/或入口端口),通過這些端口,邊緣設備182、184 和186可以傳輸和/或接收數(shù)據(jù)。邊緣設備182、184和186可包括一個或多個網(wǎng)絡接口設備(例如,40( (千兆比特)以太網(wǎng)接口和IOOGb以太網(wǎng)接口等等),通過這些網(wǎng)絡接口設備,邊緣設備182、184和 186可向交換機結構102發(fā)送并從其接收信號。經(jīng)由與邊緣設備182、184和186操作性耦合的電鏈路、光鏈路和/或無線鏈路,信號可被發(fā)送至交換機結構102和/或從其接收。在某些實施例中,邊緣設備182、184和186可被設置為,以一個或多個協(xié)議(例如,以太網(wǎng)協(xié)議、多協(xié)議標簽交換機(MPLQ協(xié)議、光纖信道協(xié)議、以太網(wǎng)光纖信道協(xié)議、無線帶寬相關協(xié)議及基于數(shù)據(jù)單元協(xié)議等)為基礎,向交換機結構102發(fā)送和/或從其接收信號。如同這里所進一步詳細描述的那樣,在某些實施例中,邊緣設備182、184和186可被設置為向外圍處理設備114、IM和134發(fā)送流控制信號。舉例來說,當邊緣設備182從交換機結構102內(nèi)的模塊收到流控制信號時,該邊緣設備182可向一個或多個外圍處理設備114發(fā)送流控制信號。類似地,在邊緣設備184處,當隊列和/或緩沖區(qū)的可用容量跨過 (例如,小于)閾值時,邊緣設備182可向一個或多個外圍處理設備114發(fā)送流控制信號。在某些實施例中,邊緣設備182、184和186與外圍處理設備114、IM和134之間的這種流控制信號可以基于任何適當?shù)膮f(xié)議。舉例來說,該流控制信號可以基于已知的標準流控制協(xié)議,例如,以太網(wǎng)暫停協(xié)議(電機及電子工程師協(xié)會(IEEE)802. 3x)、優(yōu)先級暫停協(xié)議(IEEE 802. IQbb)、量化擁塞通告^CN)協(xié)議(IEEE 802. IQau)、量子流控制協(xié)議(QFC) 以及任何適當?shù)膮f(xié)議。在其他實施例中,邊緣設備182、184、186和外圍處理設備114、124、 134之間的流控制信號可基于任何適當?shù)膮f(xié)議。交換機結構102可以是任何將邊緣設備182、184和186與其他邊緣設備182、184 和186操作性耦合的適當交換機結構。在某些實施例中,舉例來說,交換機結構102可以是具有多級交換機模塊(例如,集成以太網(wǎng)交換機)的Clos網(wǎng)絡(例如,無阻塞Clos網(wǎng)絡、狹義無阻塞Clos網(wǎng)絡和Benes網(wǎng)絡)。在某些實施例中,舉例來說,交換機結構102可類似于這里所進一步詳細描述的圖2中所示的三級交換機結構200。在其它實施例中,圖 1中所示的交換機結構102可包括任意多個級。在這樣的實施例中,舉例來說,交換機結構 102可包括5級、7級或9級。舉例來說,所述交換機結構102可以是與共同未決美國專利申請(申請?zhí)?No. 12/495,337 題目為 “Methods and Apparatus Related to Any-to-Any Connectivity Within a Data Center”(2009年6月30日申請))中所述的數(shù)據(jù)中心的核心部分相類似的數(shù)據(jù)中心的核心部分的一部分,上述專利通過引用合并于此。在某些實施例中,交換機結構102可以是(例如,可用作)單綜合交換機(例如, 單大范圍綜合L2/L3交換機)。換句話說,交換機結構102可被設置為如同單邏輯實體(例如,單邏輯網(wǎng)絡元素)那樣工作。或者說,交換機結構102可以是單邏輯跳的一部分,所述單邏輯跳在第一邊緣設備182、184和186與第二邊緣設備182、184和186之間(例如,伴隨著邊緣設備182、184和186與交換機結構102之間的數(shù)據(jù)通路)。交換機結構102可被設置為連接外圍處理設備114、IM和134(例如,便于外圍處理設備114、IM和134間的通信)。在某些實施例中,交換機結構102可被設置為經(jīng)由接口設備(未示出)而通信,其中, 該接口設備被設置為以至少10(ib/S的速率來傳輸數(shù)據(jù)。在某些實施例中,交換機結構102 可被設置為經(jīng)由接口設備(例如,光纖信道接口設備)而通信,其中,該接口設備被設置為以某一速率來傳輸數(shù)據(jù),舉例來說,2(^/8、4(^/8、8(^/8、10(^/8、40(^/8、100(^/8和/或更快的鏈接速度。雖然交換機結構102在邏輯上可以是集中式的,但是,舉例來說,出于可靠性,交換機結構102的實現(xiàn)可以是高分布式的。舉例來說,在物理上,交換機結構102的多個部分可以分布在許多機架上。在某些實施例中,舉例來說,交換機結構102的一個處理級可被包括在第一機架,該交換機結構102的另一個處理級可被包括在第二機架。在邏輯上,這兩個處理級都可起到部分的單綜合交換機的作用(例如,在相同的邏輯跳內(nèi)),但具有各對處理級之間的獨立的單物理跳。這里描述與交換機結構102的體系相關的更多細節(jié)。在使用中,經(jīng)由交換機結構系統(tǒng)100,數(shù)據(jù)包(例如,以太網(wǎng)包)可在外圍處理設備 114、1M和134之間發(fā)送。舉例來說,經(jīng)由通路196,數(shù)據(jù)包可以從第一外圍處理設備124'向第二外圍處理設備134'發(fā)送。經(jīng)由鏈接192,該第一外圍處理設備124'可向邊緣設備 184發(fā)送數(shù)據(jù)包。該邊緣設備184可因此準備數(shù)據(jù)包以進入交換機結構102。一旦完成準備,則該邊緣設備184經(jīng)由鏈接193向交換機結構102發(fā)送數(shù)據(jù)包。交換機結構102內(nèi)的交換機模塊可將數(shù)據(jù)包路由通過交換機結構102。經(jīng)由鏈接194,該數(shù)據(jù)包通過端口 198被發(fā)送到邊緣設備186。因此,該邊緣設備186可使用第一協(xié)議經(jīng)由鏈接195向第二外圍處理設備134'發(fā)送數(shù)據(jù)包。圖2是根據(jù)本發(fā)明實施例的交換機結構200的示意圖。交換機結構200可包括單邏輯跳內(nèi)的多物理跳。交換機結構200是三級的無阻塞Clos網(wǎng)絡,包括第一級M0、第二級 242和第三級M4。第一級240包括模塊212。第一級240的各模塊212是電子器件和電路的集合。在某些實施例中,舉例來說,各模塊是專用集成電路(ASIC)。在其它實施例中,多模塊載于單ASIC或單芯片封裝之上。在又一些其他實施例中,各模塊是分立的電氣元件的集合。在某些實施例中,第一級240的各模塊212是交換機(例如,包交換機、幀交換機、 集成以太網(wǎng)交換機和/或數(shù)據(jù)單元交換機)。該交換機被設置為,當數(shù)據(jù)(例如,數(shù)據(jù)包和數(shù)據(jù)單元等等)流過交換機結構200時,對該數(shù)據(jù)進行重定向。在某些實施例中,舉例來說, 各交換機包括多輸入端口,該多輸入端口在存儲緩沖區(qū)上與寫接口操作性耦合(圖2中未示出)。類似地,一組輸出端口在存儲緩沖區(qū)上與讀接口操作性耦合。在某些實施例中,該存儲緩沖區(qū)可以是使用芯片上靜態(tài)隨機存取存儲器(SRAM)而實現(xiàn)的共享存儲緩沖區(qū),其為所有每一時間周期(例如,一個或多個時鐘周期)寫入一個輸入數(shù)據(jù)單元(例如,一部分數(shù)據(jù)包)或所有數(shù)據(jù)包的輸入端口和所有每一時間周期讀取一個輸出數(shù)據(jù)單元或數(shù)據(jù)包的所有輸出端口提供充分的帶寬。各交換機的運行類似于可在隨后的各時間周期被重新設置的交叉交換機。 第一級240的各模塊212包括一組輸入端口沈0,該組輸入端口 260被設置為當數(shù)據(jù)(例如,信號、包的單元和數(shù)據(jù)包等等)進入交換機結構200時接收該數(shù)據(jù)。在此實施例中,第一級MO的各模塊212包括相同數(shù)目的輸入端口沈0。類似于第一級M0,交換機結構200的第二級242包括模塊214。在結構上,第二級242的模塊214與第一級240的模塊212類似。通過數(shù)據(jù)通路220,第二級242的各模塊 214與第一級MO的各模塊212操作性耦合。在第一級MO的給定模塊212與第二級M2 的給定模塊214之間的各數(shù)據(jù)通路220被設置為,便于數(shù)據(jù)從第一級MO的模塊212向第二級M2的模塊214傳送??捎萌我庖环N設置為便于數(shù)據(jù)從第一級MO的模塊212向第二級M2的模塊214 傳送的方式,來構造在第一級MO的模塊212與第二級M2的模塊214之間的數(shù)據(jù)通路 220。在某些實施例中,舉例來說,數(shù)據(jù)通路220是模塊間的光連接器。在其它實施例中, 數(shù)據(jù)通路在中面(midplane)內(nèi)。這樣的中面與美國專利申請(申請?zhí)朜o. 12/345,500題目為"System Architecture for a Scalable and Distributed Multi-Stage Switch FabriC”(2008年12月四日申請))中所述的中面相類似,上述專利通過引用合并于此。這樣的中面(midplane)可用于將第二級的各模塊與第一級的各模塊相連。在又一些實施例中,兩個或更多模塊載于單芯片封裝之內(nèi),并且,數(shù)據(jù)通路是電跡線。在某些實施例中,交換機結構200是無阻塞Clos網(wǎng)絡。因此,交換機結構200的第二級M2的模塊214的數(shù)目基于第一級MO的各模塊212的輸入端口 260的數(shù)目變動。 在可重新排列的無阻塞Clos網(wǎng)絡(例如,Benes網(wǎng)絡)內(nèi),第二級242的模塊214的數(shù)目大于或等于第一級MO的各模塊212的輸入端口 260的數(shù)目。因此,如果η是第一級MO的各模塊212的輸入端口 260的數(shù)目,m是第二級242的模塊214的數(shù)目,則m彡η。在某些實施例中,舉例來說,第一級的各模塊有5個輸入端口。因此,第二級最少有5個模塊。通過數(shù)據(jù)通路,第一級的所有5個模塊與第二級的所有5個模塊操作性耦合。換句話說,第一級的各模塊可向第二級任何模塊發(fā)送數(shù)據(jù)。交換機結構200的第三級244包括模塊216。在結構上,第三級244的模塊216與第一級MO的模塊212類似。典型地,第三級Μ4的模塊216的數(shù)目與第一級MO的模塊 212的數(shù)目相等。第三級Μ4的各模塊216包括輸出端口沈2,該輸出端口 262被設置為允許數(shù)據(jù)離開交換機結構200。第三級Μ4的各模塊216包括相同數(shù)目的輸出端口沈2。此夕卜,典型地,第三級對4的各模塊216的輸出端口 262的數(shù)目與第一級240的各模塊212的輸入端口 260的數(shù)目相等。相應地,在這樣的實施例中,交換機結構200的輸入端口的數(shù)目可與交換機結構200的輸出端口的數(shù)目一樣。通過數(shù)據(jù)通路224,第三級244的各模塊216與第二級242的各模塊214相連。在第二級Μ2的模塊214與第三級244的模塊216之間的數(shù)據(jù)通路2Μ可被設置為,便于數(shù)據(jù)從第二級Μ2的模塊214向第三級Μ4的模塊216傳送??捎萌我庖环N設置為便于數(shù)據(jù)從第二級Μ2的模塊214向第三級Μ4的模塊216 傳送的方式,來構造在第二級242的模塊214與第三級244的模塊216之間的數(shù)據(jù)通路224。 在某些實施例中,舉例來說,數(shù)據(jù)通路2Μ是模塊間的光連接器。在其它實施例中,數(shù)據(jù)通路在中面內(nèi)。這樣的中面可用于將第二級的各模塊與第三級的各模塊相連。在又一些其他實施例中,兩個或更多模塊載于單芯片封裝之內(nèi),并且,數(shù)據(jù)通路是電跡線。在某些實施例中,如果交換機結構200內(nèi)的模塊212、214和216是堵塞的(例如, 在模塊212、214和216處,緩沖區(qū)的可用容量跨過了閾值),則與堵塞的模塊212、214和216 操作性耦合的流控制模塊(圖2中未示出)可以向一個或多個源邊緣設備(例如,邊緣設備182、184和186)發(fā)送流控制信號。更特別地,與堵塞的模塊212、214和216操作性耦合的該流控制模塊,可對堵塞的模塊212、214和216的緩沖區(qū)內(nèi)的一個或多個數(shù)據(jù)包進行采樣(例如,進行接收)。該流控制模塊可分析數(shù)據(jù)包,以確定該數(shù)據(jù)包發(fā)送自哪個邊緣設備,并向該邊緣設備發(fā)送流控制信號。在接收自流控制模塊的流控制信號的基礎上,邊緣設備可向數(shù)據(jù)包所源于的外圍處理設備(例如,外圍處理設備114、1Μ和134)發(fā)送流控制信號(例如,IEEE 802. 3χ以太網(wǎng)暫停協(xié)議、IEEE 802. IQbb優(yōu)先級暫停協(xié)議、IEEE 802. IQau QCN協(xié)議和/或諸如此類的協(xié)議)。在流控制信號的基礎上,該外圍處理設備可以中止向邊緣設備傳送數(shù)據(jù)包。舉例來說,圖3示出了交換機結構系統(tǒng)300的一部分。所示出的部分交換機結構系統(tǒng)300包括交換機320、與該交換機320操作性耦合的流控制模塊330以及多個源設備 310、311、312和313。源設備310、311、312和313可以與參照圖1所描述和示出的邊緣設備182、184和186相類似。因而,如同這里所進一步詳細描述的那樣,源設備310、311、312 和313與交換機320操作性耦合,并被設置為向交換機320發(fā)送數(shù)據(jù)包。交換機320可以與參照圖2所描述和示出的交換機結構200的模塊212、214和216相類似。因而,交換機320可以是與交換機結構200相類似的交換機結構的一部分。雖然圖3中未示出,但交換機320還可以包括一個或多個輸出口,這些輸出口與其它交換機模塊和/或目的設備操作性耦合。因而,交換機320可將數(shù)據(jù)包從源設備310、311、312和313 路由到目的設備(圖3中未示出)。交換機320還包括輸出隊列350,該輸出隊列350被設置為,在向其它交換機模塊和/或目的設備(圖3中未示出)發(fā)送接收自源設備310、311、312和313的數(shù)據(jù)包之前, 對該數(shù)據(jù)包進行緩存。圖4詳細示出了輸出隊列350。如圖4所示,輸出隊列350可存儲那些等待經(jīng)由交換機320的輸出端口而發(fā)送的數(shù)據(jù)包(例如,DPl-DPl 14) 0輸出隊列350可以是任何適當?shù)妮敵鲫犃?。在某些實施例中,舉例來說,輸出隊列350如同先入先出(FIFO) 緩沖區(qū)那樣工作。在這樣的實施例中,經(jīng)由輸出端口,數(shù)據(jù)包按照從源設備310、311、312和 313的接收順序而發(fā)送。在其它實施例中,數(shù)據(jù)包可被分派優(yōu)先級,這樣,具有高優(yōu)先級的數(shù)據(jù)包移到隊列350的前部。在又一些其他實施例中,隊列350可被構造和/或分成基多個于優(yōu)先級的隊列。流控制模塊330與交換機320操作性耦合,并被設置為監(jiān)視輸出隊列350的可用容量。在某些實施例中,舉例來說,交換機320可周期性地(例如,每0.1秒)向流控制模塊330發(fā)送表示輸出隊列350的可用容量的指示符。在其它實施例中,流控制模塊330可周期性地向交換機320請求該指示符。如同這里所進一步詳細描述的那樣,以該指示符為基礎,流控制模塊330可確定是否應向源設備310、311、312和313發(fā)送流控制信號。更特別地,流控制模塊330可確定輸出隊列350的可用容量是否已經(jīng)跨過和/或低于一個或多個閾值(例如,圖3中所示的T1、T2和Τ3)。如同這里所進一步詳細描述的那樣,流控制模塊330可因此向一個或多個源設備310、311、312和313發(fā)送流控制信號。流控制模塊330可以是任何適當?shù)挠布K和/或軟件模塊(在硬件中執(zhí)行),這些模塊被設置為監(jiān)視輸出隊列350的可用容量和/或被設置為定義和發(fā)送流控制信號。在某些實施例中,舉例來說,流控制模塊330可包括現(xiàn)場可編程門陣列(FPGA)、專用集成電路 (ASIC)、數(shù)字信號處理器(DSP)和/或諸如此類的東西。在使用中,源設備310、311、312和313可向交換機320發(fā)送數(shù)據(jù)包。這樣的數(shù)據(jù)包可類似于圖5中所示的數(shù)據(jù)包400。因而,數(shù)據(jù)包400可包括有效載荷414、源標識符410 和目的標識符412。源標識符410可以是發(fā)送數(shù)據(jù)包400的源設備310、311、312和313的標識符。舉例來說,如果源設備310向交換機320發(fā)送數(shù)據(jù)包400,則源標識符410可以是源設備310的標識符。類似地,目的標識符412可以是包要送達的目的設備的標識符。在某些實施例中,源標識符410和/或目的標識符412可以是因特網(wǎng)協(xié)議(IP)地址、媒體存取控制(MAC)地址、光纖信道標識符(FCID)和/或任何其它適當?shù)臉俗R符。當交換機320從一個或多個源設備310、311、312和313接收數(shù)據(jù)包時,交換機320 將數(shù)據(jù)包存儲在輸出隊列350中。類似地,當輸出端口變得可用時,交換機320將數(shù)據(jù)包從輸出隊列350中移除,并經(jīng)由該輸出端口發(fā)送該數(shù)據(jù)包。如果,交換機320以大于它經(jīng)由輸出端口發(fā)送數(shù)據(jù)包的速率,從源設備310、311、312和313接收數(shù)據(jù)包,則將大量的數(shù)據(jù)包隨著時間被存儲在輸出隊列350中,并且,輸出隊列350的可用容量將減小。在某些實施例中,如果輸出隊列350的可用容量降到第一閾值Tl以下但仍大于第二閾值T2,則流控制模塊330可以以第一速率對來自輸出隊列350的數(shù)據(jù)包進行采樣。更特別地,如果輸出隊列350的可用容量降到該第一閾值Tl以下但仍大于該第二閾值T2,則流控制模塊330向交換機320發(fā)送信號,以請求存儲在輸出隊列350中的數(shù)據(jù)包。當輸出隊列350的可用容量保持在該第一閾值Tl以下而大于該第二閾值T2時,可周期性地(例如,每0.1秒)以第一速率發(fā)送這樣的信號。響應于從流控制模塊330接收這樣的信號, 交換機320可從輸出隊列350向流控制模塊330發(fā)送數(shù)據(jù)包(例如,圖5中所示的數(shù)據(jù)包 400)。相應地,當輸出隊列350的可用容量低于該第一閾值Tl而大于該第二閾值T2時,交換機320可以以第一速率向流控制模塊330發(fā)送數(shù)據(jù)包。在某些實施例中,基于交換機320 接收到請求的時間,交換機320可選擇發(fā)送至流控制模塊330的數(shù)據(jù)包。舉例來說,交換機 320可發(fā)送其在接收到該請求之后由其所接收到的下一數(shù)據(jù)包?;蛘哒f,交換機320可發(fā)送其在從流控制模塊330接收信號之后立即由其接收到的數(shù)據(jù)包。在其它實施例中,基于上次保存在隊列350中的數(shù)據(jù)包、保存在隊列350中最久的數(shù)據(jù)包,和/或使用任何其它適當?shù)姆椒ɑ蛩惴?,交換機320可隨機地選擇數(shù)據(jù)包。類似地,如果輸出隊列350的可用容量降到第二閾值T2或第三閾值T3以下,則流控制模塊330可以停止以第一速率對來自輸出隊列350的數(shù)據(jù)包進行采樣,而開始以第二速率或第三速率對來自輸出隊列350的數(shù)據(jù)包分別進行采樣。更特別地,當輸出隊列350 的可用容量低于該第二閾值T2而大于該第三閾值T3時,交換機320可以以第二速率向流控制模塊330發(fā)送數(shù)據(jù)包。類似地,當輸出隊列350的可用容量低于該第三閾值T3時,交換機可以以第三速率向流控制模塊330發(fā)送數(shù)據(jù)包。在某些實施例中,第二速率大于第一速率,而第三速率大于第二速率和第一速率。在這樣的實施例中,當輸出隊列350的可用容量下降時,發(fā)送給流控制模塊330的數(shù)據(jù)包的數(shù)目會增加。流控制模塊330所接收的數(shù)據(jù)包可用于定義發(fā)送給源設備310、311、312和313的流控制包。更特別地,流控制模塊330可對接收的數(shù)據(jù)包進行分析,以確定該數(shù)據(jù)包接收自哪個源設備310、311、312和313。舉例來說,如果數(shù)據(jù)包400 (圖5中所示)是在流控制模塊330處接收的,則流控制模塊330可為源標識符410分析數(shù)據(jù)包400。使用源標識符410,流控制模塊330可定義發(fā)送給由源標識符410所標識的源設備 310、311、312和313的流控制包。相應地,流控制模塊330接收到的數(shù)據(jù)包400越多(例如,當輸出隊列350中的擁塞增加且輸出隊列350的可用容量下降時),則發(fā)送的流控制包就越多。如同這里所進一步詳細描述的那樣,這提高了流控制模塊330所接收的一個或多個數(shù)據(jù)包將包括向交換機320發(fā)送最大數(shù)目數(shù)據(jù)包的源設備310、311、312和313的源標識符的概率。相應地,這提高了這樣的源設備將接收到被設置為調(diào)節(jié)來自該源設備的數(shù)據(jù)流的流控制信號的概率。圖6是流控制包500的示意圖。流控制包500包括源標識符510、目的標識符520、 優(yōu)先級標識符530和嚴重性標識符(severity identifier) 5400流控制包500的源標識符 510可以是與交換機320相關的標識符。因而,源標識符510標識出現(xiàn)擁塞的交換機(即, 交換機320)。流控制包500的目的標識符520可以是流控制模塊所接收的數(shù)據(jù)包400的源標識符410?;蛘哒f,因為流控制包500將發(fā)送到發(fā)送數(shù)據(jù)包400的源設備310、311、312 和313,所以,數(shù)據(jù)包400的源標識符410被用作流控制包500的目的標識符520。 流控制包500的優(yōu)先級標識符530表明該流控制包500在交換機結構系統(tǒng)300中的優(yōu)先級。在某些實施例中,舉例來說,流控制包500的優(yōu)先級標識符530為“高”。在這樣的實施例中,數(shù)據(jù)包400的優(yōu)先級標識符可為“低”。相應地,在數(shù)據(jù)包之前,流控制包通過交換機結構系統(tǒng)300而發(fā)送(即,當交換機結構系統(tǒng)300內(nèi)的模塊確定下次要發(fā)送輸出隊列內(nèi)的哪一個包時,流控制包比數(shù)據(jù)包優(yōu)先)。在其它實施例中,優(yōu)先級標識符530的值可基于任何其它的參量,例如,舉例來說,數(shù)據(jù)包500的嚴重性標識符M0、數(shù)據(jù)包400的源標識符410、數(shù)據(jù)包400的目的標識符412和/或諸如此類。流控制包的嚴重性標識符540可表明交換機320處的擁塞的嚴重性。在某些實施例中,舉例來說,如果輸出隊列350的可用容量小于第一閾值Tl而大于第二閾值T2,則嚴重性標識符540可為第一值(例如,“低”)。類似地,如果輸出隊列350的可用容量小于第二閾值T2而大于第三閾值,或者,如果輸出隊列350的可用容量小于第三閾值,則嚴重性標識符540可為第二值(例如,“中”)或第三值(例如,“高”)。在某些實施例中,經(jīng)由帶外控制平面連接(圖3中未示出),流控制模塊330向由數(shù)據(jù)包400的源標識符410所標識的源設備310、311、312和313發(fā)送流控制包500?;蛘哒f,在某些實施例中,經(jīng)由一連接,流控制模塊330向源設備310、311、312和313發(fā)送流控制包500,其中,該連接不同于發(fā)送數(shù)據(jù)包400至交換機320所通過的那個連接(和/或在不同的連接平面的內(nèi))。使用這樣的帶外連接,可減少源設備310、311、312和313從流控制模塊330接收流控制包500所花費的時間。舉例來說,這樣的連接可用于流控制信號,和/ 或其它控制平面和/或管理平面信號。因而,流控制模塊330與源設備310、311、312和313 之間的帶外連接可以是低延時連接。在其它實施例中,經(jīng)由數(shù)據(jù)平面連接,流控制模塊330向由數(shù)據(jù)包400的源標識符 410所標識的源設備310、311、312和313發(fā)送流控制包500?;蛘哒f,在這樣的實施例中, 經(jīng)由一連接,流控制模塊330向源設備310、311、312和313發(fā)送流控制包500,其中,該連接與發(fā)送數(shù)據(jù)包400至交換機320所通過的那個連接相同(和/或在相同的連接平面的內(nèi))。 使用優(yōu)先級標識符530,在交換機結構系統(tǒng)300的數(shù)據(jù)平面內(nèi),可給予流控制信號500優(yōu)于數(shù)據(jù)信號的優(yōu)先級。相應地,在這樣的實施例中,與在流控制模塊330和源設備310、311、 312和313之間發(fā)送流控制信號500相關的延時可小于與在源設備310、311、312和313和交換機320之間發(fā)送數(shù)據(jù)包400相關的延時。源設備310、311、312和313接收流控制包500,并根據(jù)嚴重性標識符540采取適當?shù)男袆?。在某些實施例中,舉例來說,源設備310、311、312和313可標識出數(shù)據(jù)包源于與該源設備310、311、312和313相耦合的哪個外圍處理設備(圖3中未示出)(例如,使用流控制包500的源標識符510和/或圖6中未示出的流控制包的其它部分),并向該外圍處理設備發(fā)送流控制消息。在其它實施例中,響應于接收流控制包,源設備310、311、312和313可發(fā)送流控制消息至與其耦合的任意一個外圍處理設備、源設備310、311、312和313從其接收到最大數(shù)目數(shù)據(jù)包的那個外圍處理設備和/或與源設備310、311、312和313相耦合的任何其它外圍處理設備。在某些實施例中,這樣的流控制消息可以是標準流控制消息,例如, 舉例來說,IEEE 802. 3x 以太網(wǎng)暫停、IEEE 802. IQbb 優(yōu)先級暫停、IEEE 802. IQau QCN,QFC 和/或諸如此類。外圍處理設備可被設置為,作為接收到流控制消息結果,減少和/或中止向源設備310、311、312和313發(fā)送數(shù)據(jù)包。在某些實施例中,源設備310、311、312和313可被設置為,在接收流控制包500 的基礎上,中止和/或減少向交換機320發(fā)送數(shù)據(jù)包。在其它實施例中,源設備310、311、312和313可被設置為,伴隨著中止和/或減少該源設備310、311、312和313發(fā)送給交換機320的數(shù)據(jù)包,向外圍處理設備發(fā)送流控制消息。這種外圍處理設備所發(fā)送的和/或源設備310、311、312和313所發(fā)送的數(shù)據(jù)包的中止和/或減少,會導致交換機320處只接收到較少的數(shù)據(jù)包,并因此導致輸出隊列350中可用容量增加。在某些實施例中,這種源設備310、311、312和313所發(fā)送的和/或一個或多個與該源設備310、311、312和313相耦合的外圍處理設備所發(fā)送的數(shù)據(jù)包的減少和/或中止, 可以持續(xù)一段時間。舉例來說,從接收流控制信號算起,再經(jīng)過預定長的時間之后,源設備 310、311、312和313和/或一個或多個與該源設備310、311、312和313相耦合的外圍處理設備可以以正常速率重新開始發(fā)送數(shù)據(jù)包。在其它實施例中,這種源設備310、311、312和 313所發(fā)送的和/或一個或多個與該源設備310、311、312和313相耦合的外圍處理設備所發(fā)送的數(shù)據(jù)包的減少和/或中止,可以持續(xù)到從流控制模塊330接收重新開始消息。在這樣的實施例中,在輸出隊列350的可用容量上升到高于閾值T1、T2和/或Τ3中的一個或多個之后,流控制模塊330可定義重新開始信號并向源設備310、311、312和313發(fā)送該重新開始信號。圖7是根據(jù)本發(fā)明另一實施例的交換機結構系統(tǒng)600的示意圖。交換機結構系統(tǒng) 600包括交換機結構630、與該交換機結構630操作性耦合的多個邊緣設備650以及與該邊緣設備650操作性耦合的多個外圍處理設備670。如同這里所進一步詳細描述的那樣,第一外圍處理設備670 (例如,S1)被設置為,經(jīng)由第一邊緣設備650 (例如,E1)、交換機結構630 和第二邊緣設備650(例如,E3),向第二外圍處理設備670(例如,S5)發(fā)送數(shù)據(jù)包。在結構和功能上,交換機結構630可類似于交換機結構200 (參照圖2所描述和示出的)。相應地,交換機結構包括與交換機結構630的第一級632相關的模塊F1-Fn、與交換機結構630的第二級634相關的模塊G1-Gn以及與交換機結構630的第三級636相關的模塊H1-Hp經(jīng)由數(shù)據(jù)通路,與第一級632相關的各模塊F1-K同與第二級634相關的模塊 G1-Gn操作性耦合。類似地,與第三級636相關的各模塊H1-Hn同與第二級634相關的模塊 G1-G操作性耦合??捎萌我庖环N設置為便于數(shù)據(jù)傳送的方式,來構造與第一級632相關的模塊F1-Fn同與第二級634相關的模塊G1-Gn之間的數(shù)據(jù)通路,和/或與第二級634相關的模塊G1-Gn同與第三級636相關的模塊H1-Hn之間的數(shù)據(jù)通路。在某些實施例中,舉例來說, 數(shù)據(jù)通路包括光連接器、光纖和/或模塊間的電連接器。在某些實施例中,數(shù)據(jù)通路在中面 ^MM (backplane)內(nèi)。圖8示出了交換機結構630內(nèi)的模塊(;2。雖然所示出的模塊( 與交換機結構630 的第二級634相關(例如,參見圖7),但是,在結構和功能上,與第一級632相關的模塊和與第三級636相關的模塊可類似于圖8中所示的模塊(;2。模塊(;2包括多輸入端口 760、多輸出端口 770、多輸出隊列720以及包處理器750。此外,流控制模塊730與模塊( 操作性耦
      口 O輸入端口 760可以是任何適于從與交換機結構630的第一級632相關的模塊F1-Fn 接收數(shù)據(jù)包的端口。相應地,經(jīng)由與第一級632相關的模塊F1-Fn和模塊(;2之間的數(shù)據(jù)通路(參照圖7),輸入端口 760可以將該模塊(;2和該模塊F1-K操作性耦合。類似地,輸出端口 770可以是任何適于向與交換機結構630的第三級636相關的模塊H1-Hn發(fā)送數(shù)據(jù)包的端口。相應地,經(jīng)由與第三級相關的模塊H1-Hn和模塊(;2之間的數(shù)據(jù)通路,輸出端口 770可以將該模塊G2和該模塊H1-Hn操作性耦合。在某些實施例中,模塊(;2包括用于各輸出端口 770的輸出隊列720。相應地,如同這里所進一步詳細描述的那樣,包處理器750可以把將要在給定的輸出端口 770上發(fā)送的數(shù)據(jù)包存儲在它各自的輸出隊列720中。因而,輸出隊列720可被設置為,對在模塊( 處經(jīng)由輸入端口 760而接收的數(shù)據(jù)包進行緩存。輸出隊列720可以是任何適當?shù)妮敵鲫犃小T谀承嵤├?,舉例來說,輸出隊列720如同先入先出(FIFO)緩沖區(qū)那樣工作。在這樣的實施例中,經(jīng)由輸出端口 770,數(shù)據(jù)包以從包處理器750的接收順序而發(fā)送。在其它實施例中,數(shù)據(jù)包可被分派優(yōu)先級,這樣,具有高優(yōu)先級的那些數(shù)據(jù)包移到輸出隊列720的前部。 在又一些其他實施例中,輸出隊列720可被構造和/或分成多個基于優(yōu)先級的隊列。在某些實施例中,輸出隊列720可以是使用芯片上靜態(tài)隨機存取存儲器(SRAM)而實現(xiàn)的共享存儲緩沖區(qū)的一部分(圖8中未示出),其為每一輸入端口 760每一時間周期 (例如,一個或多個時鐘周期)寫入一個輸入數(shù)據(jù)單元(例如,一部分數(shù)據(jù)包)或數(shù)據(jù)包的包處理器750和所有每一時間周期讀取一個輸出數(shù)據(jù)單元或數(shù)據(jù)包的輸出端口 770提供充分的帶寬。共享存儲緩沖區(qū)可被分區(qū),以包括輸出隊列720。在某些實施例中,各輸出端口 770與輸出隊列720相關。因而,經(jīng)由輸出端口 770而發(fā)送的數(shù)據(jù)包被存儲和/或緩存在與該輸出端口 770相關的輸出隊列720中。在某些實施例中,輸出隊列720的大小可以是動態(tài)和/或可變的。因而,基于在經(jīng)由輸出端口 770而發(fā)送的數(shù)據(jù)包的數(shù)目,可以擴展或壓縮與該輸出端口 770相關的輸出隊列720。舉例來說,如果,在第一時間,與0隊列1相關的輸出端口 770具有的緩存的要發(fā)送的數(shù)據(jù)包和/或數(shù)據(jù)單元的數(shù)目,大于與0隊列2相關的輸出端口 770具有的數(shù)據(jù)包和/ 或數(shù)據(jù)單元的數(shù)目,則0隊列1的大小可以大于0隊列2的大小。類似地,如果,在第二時間,與0隊列2相關的輸出端口 770具有的緩存的要發(fā)送的數(shù)據(jù)包和/或數(shù)據(jù)單元的數(shù)目, 大于與0隊列1相關的輸出端口 770的數(shù)據(jù)包和/或數(shù)據(jù)單元的數(shù)目,則0隊列2的大小可以大于0隊列1的大小。相應地,可基于各種輸出隊列720的需要和/或要求,動態(tài)地分配共享存儲緩沖器。在某些實施例中,各輸出隊列720可有最大尺寸。這確保了單輸出隊列720不會以損害另一個也使用共享存儲器的輸出隊列720為代價,而使用該共享存儲器大的或不公平的部分。在某些實施例中,當隊列720超過它的最大尺寸時,可向流控制模塊發(fā)送數(shù)據(jù)包, 如同這里所進一步詳細描述的那樣。在某些實施例中,各輸出隊列720還可以有最小尺寸。 這樣的最小尺寸保證各輸出隊列720可以至少總是處理少量的數(shù)據(jù)包。包處理器750可以是任何適當?shù)奶幚砥?,其中,該適當?shù)奶幚砥鲬辉O置為從輸入端口 760接收和/或讀取數(shù)據(jù)包、處理該數(shù)據(jù)包和/或路由該數(shù)據(jù)包,以及發(fā)送和/或存儲該數(shù)據(jù)包至輸出隊列720。舉例來說,包處理器750可以接收經(jīng)由輸入端口 760而接收數(shù)據(jù)包,其中,該輸入端口 760將模塊(;2同與第一級632相關的模塊F1-K操作性耦合。這樣的數(shù)據(jù)包可包括源ID和目的ID,且可類似于圖5的數(shù)據(jù)包400。此外,在某些實施例中,舉例來說,數(shù)據(jù)包可至少包括一部分IP五元組。在這樣的實施例中,舉例來說,頭可包括目的 MAC地址、目的IP地址、源MAC地址、源IP地址和/或傳輸協(xié)議。在其它實施例中,頭可包括任何其它的與數(shù)據(jù)包相關的標識信息,例如,舉例來說,優(yōu)先級指示符。包處理器750可使用頭內(nèi)的信息,以將數(shù)據(jù)包分派到與數(shù)據(jù)通路相關的輸出隊列720,其中,該數(shù)據(jù)通路把模塊( 同與第三級636相關的模塊H1-Hn操作性耦合。舉例來說,基于輸出隊列720的可用容量、基于散列函數(shù)的結果、基于查找表、基于來自中央控制器(圖 7和圖8中未示出)的指示,和/或使用任何其它的方法,包處理器750可隨機地分派數(shù)據(jù)包到輸出隊列720。這樣的散列函數(shù)和/或查找表可使用輸入作為頭值,例如,舉例來說,目的MAC地址、目的IP地址、源MAC地址、源IP地址、優(yōu)先級指示符、傳輸協(xié)議和/或任何其它適當?shù)闹?。在某些實施例中,舉例來說,查找表和/或散列函數(shù)可將各輸出隊列720同一定范圍的IP和/或MAC地址關聯(lián)在一起。在結構和功能上,流控制模塊730可類似于參照圖3所描述和示出的流控制模塊 330。因而,流控制模塊730可以是任何適當?shù)挠布K和/或軟件模塊(在硬件中執(zhí)行), 這些模塊被設置為監(jiān)視輸出隊列720的可用容量。在某些實施例中,舉例來說,流控制模塊 730可包括現(xiàn)場可編程門陣列(FPGA)、專用集成電路(ASIC)、數(shù)字信號處理器(DSP)和/或諸如此類的東西。在某些實施例中,流控制模塊730可包括處理器和存儲由該處理器執(zhí)行的程序代碼的存儲器。類似于流控制模塊330 (圖3),流控制模塊730可監(jiān)視輸出隊列720,并且,如果可用容量降到閾值之下,則向輸出隊列請求數(shù)據(jù)包。如同這里所進一步詳細描述的那樣,響應于數(shù)據(jù)包的接收,流控制模塊730可定義和發(fā)送流控制包至發(fā)送數(shù)據(jù)包的那個邊緣設備 650。在某些實施例中,且如上所述,當輸出隊列720的可用容量下降時,流控制模塊730可以以較高的速率從模塊&請求數(shù)據(jù)包。相應地,當存儲在輸出隊列720的數(shù)據(jù)包的數(shù)目增加且輸出隊列720的可用容量下降時,流控制模塊730可以定義和發(fā)送更多的流控制包。在某些實施例中,流控制模塊730分別地監(jiān)視各輸出隊列720。相應地,舉例來說, 如果輸出隊列O隊列1的可用容量降至閾值以下,則流控制模塊730將從0隊列1接收數(shù)據(jù)包,而不是從另一個輸出隊列720。在這樣的例子中,流控制包將被發(fā)送至正向模塊G2發(fā)送數(shù)據(jù)包的邊緣設備650,而該數(shù)據(jù)包正被放置和/或存儲在0隊列1中。類似地,舉另一個例來說,如果輸出隊列0隊列2的可用容量降至閾值以下,則流控制模塊730將從0隊列 2接收數(shù)據(jù)包,而不是從另一個輸出隊列720。在這樣的例子中,流控制包將被發(fā)送至正向模塊&發(fā)送數(shù)據(jù)包的邊緣設備650,而該數(shù)據(jù)包正被放置和/或存儲在0隊列2中。這允許各流控制包為輸出隊列720所特有,而不影響邊緣設備650發(fā)送數(shù)據(jù)包至其他各具有大于閾值的可用容量的輸出隊列720。在其它實施例中,流控制模塊730在總體上監(jiān)視輸出隊列720。舉例來說,如果輸出隊列720是單共享存儲器緩沖區(qū)的一部分,則流控制模塊730可監(jiān)視該單共享存儲器緩沖區(qū)的可用容量。如果該單共享存儲器緩沖區(qū)的可用容量降低到閾值以下,則流控制模塊 730可向該共享存儲器緩沖區(qū)請求數(shù)據(jù)包。在某些實施例中,數(shù)據(jù)包可選自隨機輸出隊列 720、存儲最大數(shù)目數(shù)據(jù)包的輸出隊列和/或諸如此類的隊列。在某些實施例中,流控制模塊730可包括存儲器(未示出)和/或與其相耦合,所述存儲器包含向與第一級632相關的模塊F1-K發(fā)送流控制信號的歷史。這樣的歷史可包括該流控制信號的發(fā)送時間、中止時間周期和/或任何其它與該流控制信號相關的信息。通過減少和/或除去多余的流控制信號,歷史的保存可減少在模塊間發(fā)送的流控制信號的數(shù)目。舉例來說,如果流控制模塊730將流控制信號發(fā)送至與第一級632相關的模塊F1-Fn,則該歷史可保證流控制模塊730不會在特定的時間周期內(nèi)向該與第一級632相關的模塊F1-Fn發(fā)送多余和/或重復的流控制信號。舉例來說,流控制模塊730可被設置為,每10秒鐘只向與第一級632相關的特定的模塊F1-Fn發(fā)送單流控制信號?;氐綀D7,舉例來說,外圍處理設備670可以是計算節(jié)點、服務節(jié)點、路由器和存儲節(jié)點,如同這里所進一步詳細描述的那樣。在某些實施例中,舉例來說,外圍處理設備670 包括服務器、存儲設備、網(wǎng)關、工作站和/或諸如此類的東西。使用任何適當?shù)倪B接,例如, 舉例來說,光學連接(例如,光纜和光連接器)、電連接(例如,電纜和電連接器)和/或諸如此類的東西,外圍處理設備670可與邊緣設備650操作性耦合。因而,外圍處理設備670 被設置為向邊緣設備650發(fā)送數(shù)據(jù)(例如,數(shù)據(jù)包和數(shù)據(jù)單元等)。邊緣設備650可以是任何被設置為將外圍處理設備670與交換機結構630操作性耦合的設備。在某些實施例中,舉例來說,邊緣設備650可以是接入交換機、輸入/輸出模塊、架頂式設備和/或諸如此類的東西。僅僅作為圖例,邊緣設備在示圖中被顯示為源邊緣設備,而邊緣設備&在示圖中被顯示為目的邊緣設備。在結構上,邊緣設備650 (包括EpE2和E3)可起到源邊緣設備和目的邊緣設備這兩個作用。相應地,邊緣設備650可向交換機結構630發(fā)送數(shù)據(jù),以及從交換機結構630接收數(shù)據(jù)。雖然圖7中所示的邊緣設備E1是同與第一級632相關的模塊F1操作性耦合的,但是,邊緣設備E1也可同任意數(shù)目的與第一級632相關的模塊相耦合。此外,雖然圖7中所示的邊緣設備E1是同單交換機結構630操作性耦合的,但是,邊緣設備E1也可同任意數(shù)目的與交換機結構630類似的交換機結構相耦合。在某些實施例中,舉例來說,邊緣設備E1可同與交換機結構630的第一級相關的模塊F1和與第二交換機結構(圖7中未示出)的第一級相關的模塊都相耦合。在這樣的實施例中,邊緣設備E1可以向模塊F1發(fā)送數(shù)據(jù),也可以向與第二交換機結構的第一級相關的模塊發(fā)送數(shù)據(jù)。在某些實施例中,邊緣設備650可被設置為準備數(shù)據(jù)包,以進入交換機結構630。 舉例來說,邊緣設備650可被設置為,在向交換機結構630發(fā)送數(shù)據(jù)包之前,轉(zhuǎn)送、分類和/ 或修改該數(shù)據(jù)包的包封裝。在某些實施例中,舉例來說,邊緣設備650向數(shù)據(jù)包添加源標識符(例如,源MAC地址和IP地址等)、目的標識符(例如,源MAC地址和IP地址等)和/或任何其它信息。這樣的信息可用于將數(shù)據(jù)包路由通過交換機結構630。在某些實施例中,邊緣設備650可被設置為向外圍處理設備670發(fā)送流控制信號。 舉例來說,當邊緣設備E1從交換機結構630(例如,流控制模塊730)內(nèi)的流控制模塊接收流控制信號的時候,該邊緣設備E1可以向一個或多個外圍處理設備s 1和&發(fā)送流控制信號。 類似地,在邊緣設備E1處,當隊列和/或緩沖區(qū)的可用容量跨過(例如,小于)閾值時,邊緣設備E1可向一個或多個外圍處理設備S1和&發(fā)送流控制信號。在某些實施例中,邊緣設備650與外圍處理設備670之間的這種流控制信號可以基于任何適當?shù)膮f(xié)議,其中,所述協(xié)議不同于交換機結構630內(nèi)的模塊與邊緣設備650 之間所使用的流控制協(xié)議。舉例來說,該流控制信號可以基于已知的標準流控制協(xié)議, 例如,以太網(wǎng)暫停協(xié)議(電機及電子工程師協(xié)會(IEEE)802. 3x)、優(yōu)先級暫停協(xié)議(IEEE 802. IQbb)、量化擁塞通告OlCN)協(xié)議(IEEE 802. IQau)、量子流控制協(xié)議(QFC)以及諸如此類的協(xié)議。在其它實施例中,邊緣設備650與外圍處理設備670之間的這種流控制信號可以基于任何其它適當?shù)膮f(xié)議,其中,所述協(xié)議包括交換機結構630內(nèi)的模塊與邊緣設備650 之間所使用的協(xié)議。
      在使用中,舉例來說,外圍處理設備S1可被設置為向另一個外圍處理設備&發(fā)送數(shù)據(jù)包。舉例來說,圖7示出向外圍處理設備&發(fā)送數(shù)據(jù)包的外圍處理設備Sp任何經(jīng)由邊緣設備650與交換機結構630操作性耦合的外圍處理設備670都可將數(shù)據(jù)包發(fā)送至任何其它經(jīng)由邊緣設備650與交換機結構630耦合的外圍處理設備670。外圍處理設備S1可向邊緣設備E1發(fā)送數(shù)據(jù)包。在某些實施例中,數(shù)據(jù)包可包括有效載荷和頭。有效載荷可包括發(fā)送至外圍處理設備&的數(shù)據(jù)。頭可包括標識信息。在某些實施例中,舉例來說,頭可至少包括與源和目的外圍處理設備670相關的一部分IP五元組。在這樣的實施例中,舉例來說,頭可包括目的外圍處理設備MAC地址、目的外圍處理設備因特網(wǎng)協(xié)議(IP)地址、源外圍處理設備MAC地址、源外圍處理設備IP地址和/或傳輸協(xié)議標識符。在本例中,目的外圍處理設備MAC地址和目的外圍處理設備IP地址可與外圍處理設備&相關,而源外圍處理設備MAC地址和源外圍處理設備IP地址可與外圍處理設備 S1相關。在某些實施例中,邊緣設備E1還可以添加源邊緣設備標識符(例如,與E1相關的 MAC和/或IP地址)和目的邊緣設備標識符(例如,與&相關的MAC和/或IP地址)。這樣的信息可以與將數(shù)據(jù)包路由通過交換機結構630的查找表相結合使用,所述查找表被示于并且描述于下列專利文獻美國專利申請(申請?zhí)朜o. 12/607,162題目為“Methods and Apparatus Related tOa Distributed Switch Fabric”(2009年 11 月 18 日申請)),上述專利通過引用合并于此。把這樣的源和目的特定信息以及將數(shù)據(jù)包路由通過交換機結構630 的查找表相結合使用,可保證源自特定的源并將被發(fā)送至特定目的的各數(shù)據(jù)包將經(jīng)由相同通路(例如,通過與交換機結構630的各級相關的相同模塊)通過交換機結構630而發(fā)送。 或者說,保持數(shù)據(jù)包通過交換機結構630從第一邊緣設備650發(fā)送到第二邊緣設備650的順序。使用數(shù)據(jù)包的頭的內(nèi)所包含的信息,邊緣設備E1可以決定向哪個模塊F1-K發(fā)送該數(shù)據(jù)包。在某些實施例中,舉例來說,邊緣設備E1可使用散列函數(shù)來決定向哪個模塊 F1-Fn發(fā)送該數(shù)據(jù)包,所述散列函數(shù)使用目的外圍處理設備MAC地址、目的外圍處理設備IP 地址、源外圍處理設備MAC地址、源外圍處理設備IP地址、目的邊緣設備標識符、源邊緣標識符和/或傳輸協(xié)議標識符作為輸入。在與第一級632相關的模塊F1接收數(shù)據(jù)包之后,模塊F1決定向與第二級634相關的模塊&發(fā)送數(shù)據(jù)包。在某些實施例中,舉例來說,模塊F1可使用散列函數(shù),所述散列函數(shù)使用目的標識符和/或源標識符作為輸入?;谠撋⒘泻瘮?shù)的輸入,模塊F1可以將數(shù)據(jù)包轉(zhuǎn)送至與第二級634相關的模塊(;2。類似地,模塊( 可以將數(shù)據(jù)包轉(zhuǎn)送至與第三級636相關的模塊H2。使用目的邊緣設備標識符,模塊H2可以將數(shù)據(jù)包轉(zhuǎn)送至目的邊緣設備&。使用目的外圍處理設備標識符,邊緣設備&可因此將數(shù)據(jù)包轉(zhuǎn)送至目的外圍處理設備&。如以上所討論的那樣,如果擁塞出現(xiàn)在交換機結構630內(nèi)的模塊F1-!^ G1Wn和 H1-Hn處,則模塊F1-Fp G1-Gn和H1-Hn可以將數(shù)據(jù)包從該模塊處的擁塞隊列發(fā)送至流控制模塊。流控制模塊可以定義和發(fā)送流控制信號至邊緣設備E1 (或基于數(shù)據(jù)包的源的另一邊緣設備)。在某些實施例中,邊緣設備E1可因此發(fā)送流控制信號至外圍處理設備S1和/或外圍處理設備&。相應地,在一時間周期內(nèi)和/或在從流控制模塊接收重新開始信號之前,源設備S1和/或&和/或邊緣設備E1可以減少和/或中止向交換機結構630發(fā)送數(shù)據(jù)包。 這減少了擁塞隊列處所接收的數(shù)據(jù)包的數(shù)目,從而減少了擁塞并增加了該隊列處的可用容fio圖9是根據(jù)本發(fā)明的另一實施例的流控制信號的發(fā)送方法800的流程圖。方法 800包括,在802處,接收多級交換機的一級的輸出隊列的可用容量的指示符。這樣的指示符可由與該多級交換機的該級的模塊相關的流控制模塊接收。在804處,如果輸出隊列的可用容量的指示符滿足條件,則發(fā)送輸出隊列內(nèi)數(shù)據(jù)包請求。該多級交換機的該級的該模塊可以選擇發(fā)送至流控制模塊的數(shù)據(jù)包。在某些實施例中,基于該多級交換機的該級的模塊接收請求的時間、基于上次保存在隊列中的數(shù)據(jù)包、 基于保存在隊列中最久的數(shù)據(jù)包,和/或使用任何其它適當?shù)姆椒ɑ蛩惴?,該多級交換機的該級的模塊可隨機地選擇數(shù)據(jù)包。在806處,從該多級交換機的該級接收數(shù)據(jù)包,并且,在808處,分析該數(shù)據(jù)包,以標識該數(shù)據(jù)包的源邊緣設備的標識符。這樣的標識符可被包括在該數(shù)據(jù)包的頭部內(nèi)。在810處,使用第一流控制協(xié)議向該數(shù)據(jù)包的源邊緣設備發(fā)送流控制信號,這樣, 該源邊緣設備使用第二流控制協(xié)議向源外圍處理設備發(fā)送流控制信號。可在該多級交換機內(nèi)使用該第一流控制協(xié)議,而該第二流控制協(xié)議可用于向與該多級交換機操作性耦合的設備(例如,外圍處理設備)發(fā)送流控制信號。舉例來說,第一流控制協(xié)議可用于在交換機結構的內(nèi)模塊與邊緣設備之間發(fā)送流控制信號,而第二流控制協(xié)議可用于在邊緣設備與外圍處理設備之間發(fā)送流控制信號。在某些實施例中,該第二流控制協(xié)議可以是標準流控制協(xié)議,例如,舉例來說,以太網(wǎng)暫停協(xié)議IEEE 802. 3x、優(yōu)先級暫停協(xié)議IEEE 802. lQbb、QCN協(xié)議IEEE 802. 1 Qau、QFC協(xié)議和/或諸如此類的協(xié)議。雖然上面描述了各種實施例,但是應當理解為它們僅作為舉例而非限制。上述方法中說明某些情況以某順序發(fā)生,但這些情況的順序可以改變。此外,如果可能,某些情況可以在并行進程中同時進行,或者如上所述依次進行。雖然,如上所顯示和描述的那樣,流控制模塊監(jiān)視輸出隊列的可用容量,但是,在其它實施例中,交換機模塊(例如,交換機320)監(jiān)視輸出隊列的可用容量,并且當該輸出隊列的可用容量小于閾值時,該交換機模塊自動地將數(shù)據(jù)包發(fā)送至流控制模塊?;诮邮盏臄?shù)據(jù)包,該流控制模塊可以定義和發(fā)送流控制信號至邊緣設備。雖然,如上所顯示和描述的那樣,從交換機結構內(nèi)的模塊的輸出隊列發(fā)送數(shù)據(jù)包至流控制模塊,但是,在其它實施例中,發(fā)送數(shù)據(jù)包的復本至流控制模塊。在這樣的實施例中,原數(shù)據(jù)包保留在將經(jīng)由輸出端口而被發(fā)送的輸出隊列中,而該數(shù)據(jù)包的復本被用于定義將被發(fā)送至源邊緣設備的流控制包。雖然,如上所顯示和描述的是三級的交換機結構,但是,在其它實施例中,交換機結構可包括任意多級。在某些實施例中,舉例來說,所述交換機結構可以是五級交換機結構,與下列專利文獻中顯示和描述的交換機結構類似共同未決美國專利申請(申請?zhí)?No. 12/345,500 題目為 “System Architecture for a Scalable and Distributed Multi-Stage Switch Fabric” (2008年12月29日申請));以及共同未決美國專利申請 (申請?zhí)?No. 12/345,502 題目為"Methods and Apparatus Related to a Modular Switch Architecture" (2008年12月29日申請)),上述專利通過引用合并于此。在某些實施例中,所述流控制系統(tǒng)和/或方法可以與邊緣流控制回路、優(yōu)先級流控制回路和/或鏈接流控制回路一起使用,這些與下列專利文獻中顯示和描述的邊緣流控制回路、優(yōu)先級流控制回路和/或鏈接流控制回路的類似共同未決美國專利申請(申請?zhí)?No. 12/242,224 題目為“Methods and Apparatus for Flow Control Associated with Multi-Staged Queues”(2008年9月30日申請));共同未決美國專利申請(申請?zhí)?No. 12/242,230 題目為"Methods and Apparatus for Flow-Controllable Multi-Staged Queues" (2008年9月30日申請));以及共同未決美國專利申請(申請?zhí)朜o. 12/558,118 題目為“Methods and Apparatus for Defining a Flow Control Signal Related to a Transmit Queue” ^)09年9月11日申請)),上述專利通過引用合并于此?!るm然,如上所顯示和描述的那樣,通過交換機結構(例如,圖2中的交換機結構 200)路由、交換和/或轉(zhuǎn)送數(shù)據(jù)包,但是,在某些實施例中,邊緣設備被設置為將數(shù)據(jù)包劃分為一個或多個數(shù)據(jù)單元。在這樣的實施例中,數(shù)據(jù)單元包括頭(例如,有目的邊緣設備標識符和源邊緣設備標識符),類似于這里關于數(shù)據(jù)包的描述,可通過交換機結構來路由、交換和/或轉(zhuǎn)送該數(shù)據(jù)單元。目的邊緣設備可接收并重新集合該數(shù)據(jù)單元,以定義數(shù)據(jù)包。該數(shù)據(jù)包可因此被發(fā)送至目的外圍處理設備。在某些實施例中,這樣的數(shù)據(jù)單元并不采用通過交換機結構的共同通路。舉例來說,某些從數(shù)據(jù)包定義的數(shù)據(jù)單元可通過與交換機結構的第二級相關的第一模塊,而其它從相同數(shù)據(jù)包定義的數(shù)據(jù)單元可通過與交換機結構的第二級相關的第二模塊。此外,在某些實施例中,數(shù)據(jù)單元具有相等的長度和/或大小。以上所顯示和描述的實施例是指多個外圍處理設備,包括計算節(jié)點、存儲節(jié)點、月艮務節(jié)點和路由器。在某些實施例中,一個或多個計算節(jié)點可以是通用計算引擎,其包括,舉例來說,處理器、存儲器和/或一個或多個網(wǎng)絡接口設備(例如,網(wǎng)絡接口卡(NIC))。在某些實施例中,計算節(jié)點內(nèi)的處理器可屬于一個或多個高速緩存一致性范疇的一部分。在某些實施例中,計算節(jié)點可以是主設備、服務器和/或等等。在某些實施例中,一個或多個計算節(jié)點可具有虛擬資源,這樣,任何計算節(jié)點(或其一部分)都可被任何與交換機結構操作性耦合的其它計算節(jié)點(或其一部分)所代替。在某些實施例中,一個或多個存儲節(jié)點可以是某些設備,其包括,舉例來說,處理器、存儲器、本地連接的磁盤存儲器和/或一個或多個網(wǎng)絡接口設備。在某些實施例中,存儲節(jié)點可具有專門的模塊(例如,硬件模塊和/或軟件模塊),舉例來說,這些模塊被設置為使一個或多個計算節(jié)點能夠經(jīng)由交換機結構從一個或多個存儲器節(jié)點讀取數(shù)據(jù)和/或?qū)憯?shù)據(jù)到一個或多個存儲器節(jié)點。在某些實施例中,一個或多個存儲節(jié)點可具有虛擬資源, 這樣,任何存儲節(jié)點(或其一部分)都可被任何與交換機結構操作性耦合的其它存儲節(jié)點 (或其一部分)所代替。在某些實施例中,一個或多個服務節(jié)點可以是開放系統(tǒng)互連(OSI)中的第4層到第7層的設備,其包括,舉例來說,處理器(例如,網(wǎng)絡處理器)、存儲器和/或一個或多個網(wǎng)絡接口設備(例如10( 以太網(wǎng)設備)。在某些實施例中,服務節(jié)點可包括硬件和/或軟件,其被設置為執(zhí)行計算相對較重的網(wǎng)絡載荷。在某些實施例中,服務節(jié)點可被設置為以相對有效的方式(例如,比可在例如計算節(jié)點110處執(zhí)行的更有效的方式)來對每一封包基礎(packet basis)進行計算。計算可包括,舉例來說,有狀態(tài)防火墻計算、入侵檢測與防御 (IDP)計算、可擴展標記語言(XML)加速計算、傳輸控制協(xié)議(TCP)終止計算和/或應用層負載平衡計算。在某些實施例中,一個或多個服務節(jié)點可具有虛擬資源,這樣,任何服務節(jié)點(或其一部分)都可被任何與交換機結構操作性耦合的其它服務節(jié)點(或其一部分)所代替。在某些實施例中,一個或多個路由器可以是網(wǎng)絡設備,其被設置為至少連接一部分交換機結構系統(tǒng)(例如,數(shù)據(jù)中心)至另一網(wǎng)絡(例如,國際互聯(lián)網(wǎng)絡)。在某些實施例中,舉例來說,路由器可啟動與交換機結構系統(tǒng)相關的組件(例如,外圍處理設備、部分交換機結構)間的通信。舉例來說,可以基于第3層路由協(xié)議定義通信。在某些實施例中,一個或多個路由器可具有一個或多個網(wǎng)絡接口設備(例如,10( 以太網(wǎng)設備),通過這些網(wǎng)絡接口設備,路由器可以發(fā)送信號至和/或接收信號自,舉例來說,交換機結構和/或其它外圍處理設備。這里所描述的某些實施例涉及具有非易失性計算機可讀介質(zhì)(也可被認為是非易失性處理器可讀介質(zhì))的計算機存儲產(chǎn)品,該介質(zhì)上具有指令或計算機代碼,用于執(zhí)行多種計算機實現(xiàn)的操作。計算機可讀介質(zhì)(或處理器可讀介質(zhì))不包括易失性的傳播信號本身(例如,在傳輸介質(zhì)上載有信息的傳播電磁波,該傳輸介質(zhì)如空間或電纜),在這個意義上,計算機可讀介質(zhì)(或處理器可讀介質(zhì))是非易失性的。介質(zhì)和計算機代碼(也可被稱為代碼),其可能是出于特定目的而設計和構造的。計算機可讀介質(zhì)的例子包括,但不僅限于磁存儲介質(zhì),比如硬盤、軟盤和磁帶;光存儲介質(zhì),比如光盤/數(shù)字視頻光盤(⑶/DVD)、 只讀光盤(CD-ROMs)和全息照相設備;磁光存儲介質(zhì),例如,光盤;載波信號處理模塊;以及那些被特別配置為存儲和執(zhí)行程序代碼的硬件設備,例如,專用集成電路(ASICs)、可編程邏輯器件(PLD)、只讀存儲器(ROM)和隨機存取存儲器(RAM)設備。計算機代碼的例子包括,但不僅限于,微碼或微指令、機器指令(例如,由編譯器產(chǎn)生的機器指令)、用于產(chǎn)生網(wǎng)絡服務的代碼和包含由計算機使用解釋器而執(zhí)行的上層指令的文件。舉例來說,可使用Java、C++或其它編程語言(例如,面向?qū)ο蟮某绦蛟O計語言) 和開發(fā)工具來實現(xiàn)實施例。計算機代碼的其他例子包括,但不僅限于,控制信號、加密代碼和壓縮碼。雖然上面描述了各種實施例,但是應當理解為它們僅作為舉例而非限制,并且形式和細節(jié)可進行各種變化。這里所述的裝置和/或方法的任何部分可以進行任意合并,除非相互間不能合并。這里所述的實施例可以包括所述不同實施例的功能、組件和/或特征的各種組合和/或次組合。
      權利要求
      1.一種裝置,包括流控制模塊,該流控制模塊被設置為,當多級交換機的一級的輸出隊列的可用容量跨過第一閾值時,則以第一速率接收來自該輸出隊列的第一數(shù)據(jù)包,該流控制模塊被設置為,當該多級交換機的該級的輸出隊列的可用容量跨過第二閾值時,則以第二速率從該輸出隊列接收第二數(shù)據(jù)包,該流控制模塊被設置為,向該多級交換機的邊緣設備發(fā)送流控制信號,第一數(shù)據(jù)包或第二數(shù)據(jù)包由所述邊緣設備進入該多級交換機。
      2.如權利要求1所述的裝置,其中,該流控制模塊與多級交換機的數(shù)據(jù)流是分開的。
      3.如權利要求1所述的裝置,其中,該流控制模塊被設置為,當輸出隊列的可用容量跨過第一閾值時,則以第一速率隨機接收第一數(shù)據(jù)包。
      4.如權利要求1所述的裝置,其中,該流控制模塊被設置為,周期性地監(jiān)視輸出隊列的可用容量。
      5.如權利要求1所述的裝置,其中,該流控制模塊被設置為,使用第一流控制協(xié)議,向邊緣設備發(fā)送流控制信號,這樣,該邊緣設備使用第二流控制協(xié)議,向第一數(shù)據(jù)包或第二數(shù)據(jù)包所源于的外圍處理設備發(fā)送流控制信號。
      6.如權利要求1所述的裝置,其中,第一閾值處的輸出隊列的可用容量大于第二閾值處的可用容量,第二速率大于第一速率。
      7.如權利要求1所述的裝置,其中,多級交換機是Clos網(wǎng)絡。
      8.一種裝置,包括分布式交換機結構的第一交換機模塊,該第一交換機模塊被設置為,從該分布式交換機結構的多個第二交換機模塊接收多個數(shù)據(jù)包,并將該多個數(shù)據(jù)包存儲在輸出隊列中,該第一交換機模塊被設置為,如果該輸出隊列的可用容量跨過閾值,則向帶外流控制模塊發(fā)送該輸出隊列中的數(shù)據(jù)包,這樣,該帶外流控制模塊向與該數(shù)據(jù)包相關的源邊緣設備發(fā)送流控制信號。
      9.如權利要求8所述的裝置,其中,第一交換機模塊被設置為,隨機地從輸出隊列中的數(shù)據(jù)包中選擇數(shù)據(jù)包。
      10.如權利要求8所述的裝置,其中,第一交換機模塊被設置為,基于第一交換機模塊從帶外流控制模塊接收信號的時間選擇輸出隊列中的數(shù)據(jù)包。
      11.如權利要求8所述的裝置,其中,第一交換機模塊被設置為,在第一交換機模塊從帶外流控制模塊接收對數(shù)據(jù)包的請求之后,幾乎立即接收數(shù)據(jù)包。
      12.如權利要求8所述的裝置,其中,分布式交換機結構是Clos網(wǎng)絡。
      13.如權利要求8所述的裝置,其中,第一交換機模塊被設置為,當輸出隊列的可用容量跨過閾值時,則向帶外流控制模塊發(fā)送信號。
      14.如權利要求8所述的裝置,其中,流控制信號是第一流控制信號,帶外流控制模塊被設置為,使用第一流控制協(xié)議,向源邊緣設備發(fā)送第一流控制信號,這樣,該源邊緣設備使用第二流控制協(xié)議,向與數(shù)據(jù)包相關的源外圍處理設備發(fā)送第二流控制信號。
      15.一種存儲表示指令的代碼的非易失性處理器可讀介質(zhì),該指令使得處理器接收多級交換機的一級的輸出隊列的可用容量的指示符;如果輸出隊列的可用容量的指示符滿足條件,則發(fā)送輸出隊列內(nèi)的數(shù)據(jù)包的請求;和使用第一流控制協(xié)議,向數(shù)據(jù)包的源邊緣設備發(fā)送第一流控制信號,這樣,該源邊緣設備使用第二流控制協(xié)議,向源外圍處理設備發(fā)送第二流控制信號。
      16.如權利要求15所述的非易失性處理器可讀介質(zhì),其中,如果輸出隊列的可用容量小于預定閾值,則該輸出隊列的可用容量的指示符滿足條件。
      17.如權利要求15所述的非易失性處理器可讀介質(zhì),其中,多級交換機是Clos網(wǎng)絡。
      18.如權利要求15所述的非易失性處理器可讀介質(zhì),其中,數(shù)據(jù)包的請求是請求從輸出隊列內(nèi)的多個數(shù)據(jù)包隨機選擇數(shù)據(jù)包。
      19.如權利要求15所述的非易失性處理器可讀介質(zhì),其中,該數(shù)據(jù)包是第一數(shù)據(jù)包,該非易失性處理器可讀介質(zhì)進一步包括表示指令的代碼,該指令使得處理器在發(fā)送第一數(shù)據(jù)包的請求之后的預定時間周期,發(fā)送輸出隊列內(nèi)的第二數(shù)據(jù)包的請求。
      20.如權利要求15所述的非易失性處理器可讀介質(zhì),其中,該數(shù)據(jù)包是第一數(shù)據(jù)包,該條件是第一條件,該非易失性處理器可讀介質(zhì)進一步包括表示指令的代碼,該指令使得處理器如果在發(fā)送第一數(shù)據(jù)包的請求之后的第一預定時間周期滿足第一條件,則在發(fā)送第一數(shù)據(jù)包的請求之后的該第一預定時間周期,發(fā)送輸出隊列內(nèi)的第二數(shù)據(jù)包的請求;以及如果在發(fā)送第一數(shù)據(jù)包的請求之后的第二預定時間周期滿足第二條件,則在發(fā)送第一數(shù)據(jù)包的請求之后的該第二預定時間周期,發(fā)送輸出隊列內(nèi)的第三數(shù)據(jù)包的請求。
      21.如權利要求15所述的非易失性處理器可讀介質(zhì),其進一步包括表示指令的代碼, 該指令使得處理器從該多級交換機的該級接收數(shù)據(jù)包;和分析該數(shù)據(jù)包,以標識該數(shù)據(jù)包的源邊緣設備的標識符。
      全文摘要
      一種用于與交換機結構相關的流控制的方法和裝置。在某些實施例中,裝置包括流控制模塊,其被設置為,當多級交換機的一級的輸出隊列的可用容量跨過第一閾值時,則以第一速率接收來自該輸出隊列的第一數(shù)據(jù)包。該流控制模塊被設置為,當該多級交換機的該級的輸出隊列的可用容量跨過第二閾值時,則以第二速率接收來自該輸出隊列的第二數(shù)據(jù)包。該流控制模塊被設置為向該多級交換機的邊緣設備發(fā)送流控制信號,第一數(shù)據(jù)包或第二數(shù)據(jù)包由此邊緣設備進入該多級交換機。
      文檔編號H04L12/56GK102487358SQ20111027272
      公開日2012年6月6日 申請日期2011年9月15日 優(yōu)先權日2010年12月1日
      發(fā)明者A·薩卡爾, G·艾貝, H·哈拉拉, P·阿南德 申請人:叢林網(wǎng)絡公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1