用於數據網絡的集中業務量整形的製作方法
2023-04-27 19:13:46
專利名稱:用於數據網絡的集中業務量整形的製作方法
用於數據網絡的集中業務量整形
相關申請的交叉引用本申請與以下共同未決的美國專利申請相關,其所有通過引用被合併於此與本申請同一日期申請的、序號為13/073,260 (代理人案卷號H0028046-5409)、名為 「VERSATILE SOURCE PORT ENFORCEMENT FOR DATANETWORKS (用於數據網絡的通用源埠實施)」的美國專利申請,其在此被稱為「046申請」;和與本申請同一日期申請的、序號為13/217,823 (代 理人案卷號H0028048-5409)、名為 「EMBEDDED END-TO-END DELAY INFORMATION FOR DATANETWORKS (用於數據網絡的嵌入式端到端延遲信息)」的美國專利申請,其在此被稱為「048申請」。
背景技術:
在實現航空無線電公司(ARINC)標準664第7部分的傳統系統中,端系統或端節點對輸出業務量進行整形以確保相同虛擬鏈路的任意兩個幀之間的最小距離被維持在整形功能的輸出處。然後由調度器將在該節點處所有輸出虛擬鏈路的整形的業務量流將融入在該端系統的乙太網埠處的公共流。
發明內容
在一個實施例中,提供了一種通信系統。該通信系統包括多個節點和具有多個埠的交換機,每個埠與多個節點之一相耦合。多個節點中的至少一個節點被配置為將與第一虛擬鏈路相關聯的第一未調整的巾貞流傳輸到交換機多個埠中的第一埠。該交換機被配置為通過以下操作來調整第一未調整的幀流將第一未調整的幀流緩存在與第一虛擬鏈路相關聯的第一輸入隊列中,將與第一虛擬鏈路相關聯的業務量整形參數應用於與第一虛擬鏈路相關聯的第一輸入隊列中的幀,並基於第一虛擬鏈路將第一已調整的幀流輸出至與一個或多個輸出埠相關聯的一個或多個輸出隊列。
要理解的是,附圖僅描繪示例性實施例,並因此不認為在範圍上限制,將通過使用附圖與附加特徵和細節一起來描述示例性實施例,其中圖I是通信系統的示例性實施例的框圖。圖2是交換機的示例性實施例的框圖。圖3是交換機的另一個示例性實施例的框圖。圖4是集中業務量整形的方法的示例性實施例的流程圖。根據常規慣例,各種描述的特徵不是按比例繪製,而是被繪製以強調與示例性實施例相關的特定特徵。
具體實施例方式在以下詳細描述中,對形成詳細描述的一部分的附圖進行的參考,並且其中以說明特定圖示實施例的方式示出。然而,應當理解,可利用其他實施例,並且可作出邏輯、機械和電氣的改變。此外,在附圖和說明書中呈現的方法並不應當被理解為限制個別動作可被執行的順序。因此,以下詳細描述不以限制意義被採用。圖I是通信系統100的一個實施例的框圖。通信系統100包括多個節點120-1. . . 120-N (也稱為端系統)和至少一個交換機104。通信系統100被配置為使用虛擬鏈路通過交換機104在節點102-1. . . 102-N之間傳送幀。如在此所使用的,虛擬鏈路是通過交換機104連接兩個或更多個節點102的單向邏輯通路。例如,在一些實施例中,通信系統100是被配置為實現與航空無線電公司(ARINC)標準664第7部分相兼容的協議的全雙工交換式乙太網網絡(也被稱為航空電子全雙工交換式乙太網(AFDX))。在一些實施例中,如在ARINC標準664第7部分中所定義的,虛擬鏈路被限制為有且僅有一個源節點102。然而,在其他實施例中,交換機104被配置為接受多個節點102作為用於單個虛擬鏈路的有效源節點,如在「046申請」中所描述的。每個節點102被配置為用於至少一個虛擬鏈路的源節點。僅出於解釋的目的,在圖I所示的示例性實施例中,每個節點102被配置為用於三個虛擬鏈路的源節點。每個虛 擬鏈路被配置具有帶寬分配間隔(BAG)。該BAG是從節點傳輸的相同虛擬鏈路的任意兩個幀之間的最小距離。節點102-2包括虛擬鏈路(VL)整形器112,該虛擬鏈路(VL)整形器112被配置為檢驗每個虛擬鏈路的幀,以用於遵從如在傳統ARINC 664第7部分端系統中的對應的BAG。特別地,如果相比於對應的BAG,從主計算機(未示出)輸出給定虛擬鏈路的幀更快,則VL整形器112緩存這些幀並調整輸出流,使得這些幀遵從各自的BAG。如果相比於各自的BAG,對給定主計算機的幀輸出得更慢,則VL整形器112允許用由該協議所指定的最大技術等待時間來立即輸出這些幀。VL整形器112的VL整形功能可被實現在由處理單元所執行的軟體中。將已調整的幀流輸入到串行器/解串器(SerDes) 110。該SerDes 110將已調整的流調度和復用成單個已調整的幀流,該單個已調整的幀流經由埠 108輸出到交換機104的埠 106-2。在交換機104中的VL業務量管理器114通過將已調整的幀流與符合埠106-2的所有虛擬鏈路的列表和所調整的幀的各自的定時參數相比較來檢驗已調整的幀流。如果已調整的幀流通過檢驗器功能,則它們被路由到與各自的虛擬鏈路相關聯的輸出埠的輸出隊列。與節點102-2不同,節點102-1不調整用於多個虛擬鏈路的幀流。替代地,節點102-1將未調整的幀流復用成單一的未調整的幀流。例如,在一些實施例中,SerDes 110被配置為以先到先服務為基礎來輸出幀。在其他實施例中,SerDes 110基於諸如基於優先級的排隊這樣的不同策略來輸出幀。然而,SerDes不調整幀流以便遵從各自的BAG。未調整的幀流通過節點102-1的埠 108輸出至交換機104的埠 106-1。當在交換機處接收到未調整的幀流時,VL業務量管理器114被配置為調整幀流,如下更詳細地描述的那樣。VL業務量管理器114還將在交換機中調整的流調度和輸出至與各自的虛擬鏈路相關聯的輸出埠的輸出隊列。因此,典型地在節點102中執行的整形和調度功能從節點102-1卸載到交換機。在一些實施例中,存儲或緩存在每個輸出隊列中的幀的數目以每隊列為基礎被配置。換句話說,緩存在每個隊列中的幀的數目獨立於其他隊列被配置。另外,在一些實施例中,每個隊列以每隊列為基礎被配置為,當隊列滿了時通過用新接收的幀替代在該隊列中最舊的幀來管理在各自隊列中的幀。在其他實施例中,每個隊列以每隊列為基礎被配置為,如果隊列滿了,則通過丟棄新接收的幀來管理在各自隊列中的幀。因此,每個隊列可被配置為獨立於其他隊列來管理在各自隊列中的幀。每個隊列還以每隊列為基礎被配置為以先進先出為基礎或以基於優先級的方案從各自的隊列輸出幀。在一些實施例中,基於從各自的幀流的幀中獲得的諸如虛擬鏈路ID這樣的信息來獲得優先級信息。另外,在一些實施例中,通過使用對本領域技術人員來說是已知的部件來在交換機104的硬體中實現整形和調度功能,比如但不限於,一個或多個邏輯門(即與、或、非等)和一個或多個緩存器。在其他實施例中,用通過軟體程序、固件或其他計算機可讀指令起作用的處理器單元來實現整形和調度功能,該軟體程序、固件或其他計算機可讀指令用於執行在調度和整形功能中使用的各種方法、過程任務、計算、和控制功能。這些指令典型地存儲在用於存儲計算機可讀指令或數據結構的適當的計算機可讀介質上。該計算機可讀介質可被實現為任意的可用介質,其可由通用或專用計算機或處理器,或任意可編程邏輯設備所訪問。合適的處理器可讀介質可包括諸如磁或光介質這 樣的儲存器或存儲器介質。例如,儲存器和存儲器介質可包括傳統硬碟、光碟-只讀存儲器(CD-ROM)、諸如隨機存取存儲器(RAM)這樣的易失性或非易失性介質(包括但不限於,同步動態隨機存取存儲器(SDRAM)、雙數據速率(DDR) RAM、RAMBUS動態RAM(RDRAM)、靜態RAM(SRAM)等)、只讀存儲器(ROM)、電可擦除可編程ROM (EEPROM)和快閃記憶體等。合適的處理器可讀介質還可包括諸如電的、電磁的或數字的信號這樣的傳輸介質,這些傳輸介質通過比如網絡和/或無線鏈路之類的通信介質輸送。節點102-N還包括類似於節點102-2的VL整形器112。節點102-N的VL整形器112操作成類似於節點102-2的VL整形器112來調整虛擬鏈路的流。然而,節點102-N被配置為僅調整用於多個虛擬鏈路的未調整的幀流的子集。因此,至少一個未調整的幀流在節點102-2的SerDes 110中與已調整的幀流相復用。混合的幀流通過節點102-2的埠108被輸出至交換機104的埠 106-N。VL業務量管理器114從未調整流中分離已調整流。VL業務量管理器114僅對已調整的幀流執行上述的檢驗器功能。然而,VL業務量管理器114調整和調度未調整的幀流。接著,已調整流和未調整流被輸出至與虛擬鏈路相關聯的各自輸出埠的輸出隊列。因此,圖I中的交換機104以每虛擬鏈路為基礎被配置成,對通過埠106-1. . . 106-N接收的幀流應用整形(調整)和調度功能。換句話說,業務量整形被應用於在交換機埠的子集上接收的幀,而不是應用於在所有埠 106-1... 106-N上接收的幀。另外,對於特定的埠 106,整形和調度可選擇性地應用於通過各自埠 106接收的流的子集。圖2是交換機204的一個實施例的框圖。交換機204包括埠 206-1. . . 206-N (也標識為埠 1-N)。交換機204還包括虛擬鏈路(VL)業務量管理器214。VL業務量管理器214包括串行器/解串器(SerDes) 216、業務量整形模塊218、策略檢驗器模塊220和路由器222。僅出於解釋的目的,VL業務量管理器214被描繪為僅與埠 206-1相耦合。然而,要理解的是,埠 206-2. . . 206-N也與VL業務量管理器214相耦合。另外,在一些實施例中,VL業務量管理器214的功能針對多個埠 206的每一個埠而被複製,而不是將每個埠206耦合至單個VL業務量管理器214。SerDes 216接收從耦合於埠 206-1的節點傳輸的復用的幀流。SerDes 216將這些流分離成各個幀流。如果復用的幀流包括已調整流,則該已調整流從SerDes 216被傳遞至策略檢驗器模塊220。例如,在一些實施例中,交換機204被配置具有在源節點處被調整的虛擬鏈路的列表和在交換機104處要求流調整的虛擬鏈路的列表。通過比較包含在幀中的虛擬鏈路ID,交換機104識別已調整流和未調整流。策略檢驗器模塊220確定調整流的虛擬鏈路是否是用於埠的有效虛擬鏈路,通過該埠接收了幀流。另外,在一些實施例中,策略檢驗器模塊220實施業務量策略。例如,在一些實施例中,策略檢驗器模塊220被配置為防止給定虛擬鏈路的幀超過用於該虛擬鏈路的各自的BAG。如果已調整流通過了檢驗器功能,則策略檢驗器模塊220將已調整流輸出至路由器222。每個虛擬鏈路的未調整流從SerDes 216輸出至業務量整形模塊218。業務量整形模塊218包括用於每個虛擬鏈路的對應未調整流的輸入隊列219。因此,雖然出於解釋的目的在該示例中僅示出了一個輸入隊列219,但要理解的是,多於一個輸入隊列219可用於其 他實施例中。業務量整形模塊218確保每個虛擬鏈路的幀遵從對應的BAG。特別地,如果給定虛擬鏈路的幀比對應的BAG所許可的更靠近,則業務量整形模塊218將這些幀緩存在對應的輸入隊列219中並調整輸出流使得這些幀遵從各自的BAG。例如,在一些實施例中,輸入隊列219被配置為當隊列滿了時,通過用新接收的幀替代在該隊列中最舊的幀來管理在輸入隊列219中的幀。在其他實施例中,輸入隊列被配置為如果該隊列滿了,則通過丟棄新接收的幀來管理在各自隊列中的幀。另外,要在對應輸入隊列219中緩存的幀的數目以每隊列為基礎被確定。如果給定虛擬鏈路的幀被充分地分離,並且因此遵從用於該虛擬鏈路的各自的BAG,則業務量整形模塊218用由該協議指定的最大技術等待時間來立即輸出這些幀。業務量整形模塊218將用於每個虛擬鏈路的已調整的幀流輸出至路由器222。路由器222被配置為將已調整的幀流路由至用於各自虛擬鏈路的對應輸出埠206。例如,如圖2中所示,虛擬鏈路的幀可被路由至包括相同埠的一個或多個輸出埠206,通過該相同埠接收了幀。具體地,用於每個虛擬鏈路的幀被放置在用於各自虛擬鏈路的對應輸出埠的輸出隊列224中。雖然出於解釋的目的僅示出了用於埠 206-4的輸出隊列224,但要理解的是,每個埠 206都與埠隊列相關聯。圖3是交換機304的另一個示例性實施例的框圖。類似於交換機204,交換機304包括虛擬鏈路(VL)業務量管理器314。VL業務量管理器314包括串行器/解串器(SerDes) 316、業務量整形模塊318、策略檢驗器模塊320和路由器322。VL業務量管理器314的每個部件相對於圖2中的VL業務量管理器214如以上所描述的那樣起作用。然而,在圖3中所示的實施例中,業務量整形模塊318被配置將用於每個虛擬鏈路的已調整的幀流輸出至策略檢驗器模塊320,而不是直接輸出至路由器322。因此,在該示例性實施例中,策略檢驗器模塊320檢驗來自業務量整形模塊318的已調整流以用於遵從業務量策略,並驗證每個虛擬鏈路是埠的有效虛擬鏈路,通過該埠接收了該調整流。如果調整流通過業務量策略檢驗,則該流被傳遞至路由器322以便按如上所述被路由。圖4是描繪了集中的業務量整形的方法400的一個實施例的流程圖。方法400可在諸如上述的交換機104、204或304之類的交換機中被實現。在402,在交換機處接收多個幀流,每個幀流與各自的虛擬鏈路相對應。如在此使用的,定義「未調整的幀流」或「未調整流」被定義來表示在沒有對幀應用業務量整形的情況下從節點傳輸的幀流。換句話說,節點沒有調整或控制與各自的虛擬鏈路相對應的各種幀的定時、間距、帶寬等。因此,「已調整的幀流」是已對其應用了業務量整形策略的流。在一些實施例中,單個未調整的幀流在交換機中的每個埠處被接收。然而,在其他實施例中,多個未調整流的組合在交換機中的單個埠處被接收。在又一個其他實施例中,已調整流與未調整的幀流一起的組合在一個或多個埠處被接收。在404,如果在單個埠處接收到多於一個的幀流,則如上所述將這些流分離成各個流。在406,基於至少一個未調整的幀流的各自虛擬鏈路從多個幀流中識別至少一個未調整的幀流。
在408,根據各自虛擬鏈路的參數在交換機中對識別的未調整的幀流進行緩存和整形。例如,每個虛擬鏈路可被分配不同的BAG。因此,各個未調整流中的每個流被整形以遵從各自的BAG。另外,在一些實施例中,交換機被配置為在硬體中整形各個流。此外,在一些實施例中,要被緩存在一個或多個輸入隊列中的已整形的幀流的幀的數目如上所述以每隊列為基礎被確定。在410,在交換機中檢驗各個已調整的幀流以遵從與對應的虛擬鏈路相關聯的各自的業務量策略。例如,如果已調整的幀流與未調整流一起在埠處被接收,則如上所述檢驗調整流以遵從各自的業務量策略。另外,在一些實施例中,還可檢驗在交換機中被整形的各個流以遵從各自的業務量策略。附加地,對遵從業務量策略的檢驗還包括確定幀流是否在用於與各個幀流相關聯的虛擬鏈路的有效埠處被接收。在412,基於各自的虛擬鏈路,將所整形流調度和路由至對應的輸出埠的一個或多個輸出隊列。例如,已調整流可被輸出至相同的輸入埠、輸出至不同的輸出埠或輸出至多個輸出埠,通過該相同的輸入埠接收了該已調整流。要理解的是,每個接收的幀流可根據與每個噴流相關聯的虛擬鏈路來被輸出至不同的輸出埠。在414,從一個或多個輸出隊列輸出所整形流的幀。在一些實施例中,基於先進先出策略來輸出來自一個或多個輸出隊列的所整形幀流的幀。在其他實施例中,基於優先級等級來輸出這些幀。在一些實施例中,優先級等級可從在所整形流的幀中的數據獲得。
示例實施例示例I包括一種通信系統,包括多個節點;以及具有多個埠的交換機,每個埠耦合於多個節點之一;其中多個節點的至少一個節點被配置為將與第一虛擬鏈路相關聯的第一未調整的幀流傳輸至交換機的多個埠中的第一埠 ;以及其中交換機被配置為通過以下操作來調整第一未調整的幀流將第一未調整的幀流緩存在與第一虛擬鏈路相關聯的第一輸入隊列中,將與第一虛擬鏈路相關聯的業務量整形參數應用於與第一虛擬鏈路相關聯的第一輸入隊列中的幀,以及基於第一虛擬鏈路將第一已調整的幀流輸出至與一個或多個輸出埠相關聯的一個或多個輸出隊列。示例2包括示例I的通信系統,其中至少一個節點被進一步配置為將與第二虛擬鏈路相關聯的第二已調整的幀流傳輸至交換機的第一埠,其中交換機被配置為檢驗第一埠是用於第二虛擬鏈路的有效源埠,並且如果第一埠是用於第二虛擬鏈路的有效源埠,則將第二已調整的幀流傳遞至一個或多個輸出隊列。示例3包括示例1-2的任一個的通信系統,其中交換機和多個節點被配置為實現與ARINC 664第7部分相兼容的協議。示例4包括示例1-3的任一個的通信系統,其中一個或多個輸出隊列被配置為將與第一虛擬鏈路相關聯的第一已調整的幀流的一個或多個幀進行緩存。示例5包括示例1-4的任一個的通信系統,其中第一輸入隊列被配置為當第一輸入隊列滿了時通過用新接收的幀替換在第一輸入隊列中的最舊的幀或通過丟棄新接收的幀來管理第一輸入隊列中的幀。示例6包括示例1-5的任一個的通信系統,其中交換機被配置為基於先進先出基礎或優先級基礎之一來從一個或多個輸出隊列中的每個輸出隊列輸出幀。示例7包括示例6的通信系統,其中交換機被配置為從在第一已調整的幀流的幀中的息得到優先級息。示例8包括一種通信系統中的交換機,該交換機包括多個埠,每個埠與各自的節點相耦合,並被配置為從各自的節點接收與各自的虛擬鏈路相關聯的至少一個幀流,其中來自節點之一的至少一個幀流是未調整的幀流;業務量整形模塊,與多個埠相耦合,其中業務量整形模塊具有至少一個輸入隊列,每個輸入隊列與各自的虛擬鏈路相關聯;其中業務量整形模塊被配置為將每個虛擬鏈路的幀緩存在各自的輸入隊列中,並基於各自的虛擬鏈路將業務量整形參數應用於在各自輸入隊列中的幀;多個輸出隊列,至少一個輸出隊列與每個虛擬鏈路相關聯;以及路由器,被配置為基於由業務量整形模塊所整形的幀流的各自虛擬鏈路,將由業務量整形模塊所整形的幀流提供至多個輸出隊列中的一個或多個輸出隊列。示例9包括示例8的交換機,其中該交換機被配置為實現與ARINC664第7部分相兼容的協議。示例10包括示例8-9的任一個的交換機,其中該交換機以每隊列為基礎配置要被緩存在各自輸入隊列中的、由業務量整形模塊所整形的幀流的幀的數目。示例11包括示例8-10的任一個的交換機,其中該交換機被配置為基於先進先出基礎或優先級基礎之一來從一個或多個輸出隊列中的每一個隊列輸出幀。示例12包括示例8-11的任一個的交換機,其中該交換機被配置為基於從各自的中貞流獲得的信息,確定從一個或多個輸出隊列中的每一個隊列輸出巾貞的順序。示例13包括示例8-12的任一個的交換機,進一步包括解串器,被配置為分離通過、相同埠接收的各個幀流;以及策略檢驗器模塊,被配置為檢驗每個接收的幀流是否在用於與每個幀流相關聯的各自虛擬鏈路的有效埠上被接收。示例14包括一種集中業務量整形的方法,該方法包括在交換機處接收多個幀流,每個幀流與各自的虛擬鏈路相對應;基於至少一個未調整的幀流的各自虛擬鏈路來從多個幀流中識別至少一個未調整的幀流;基於與未調整的幀流的各自虛擬鏈路相關聯的業務量整形參數來在交換機中對至少一個識別的未調整的幀流進行整形;以及基於各自的虛擬鏈路來將整形的幀流路由至一個或多個輸出隊列。示例15包括示例14的方法,其中在交換機中對至少一個識別的未調整的幀流進行整形包括在交換機的硬體中對至少一個識別的未調整的幀流進行整形。
示例16包括示例14-15的方法,其中接收多個幀流包括在單個埠處將多個幀流接收為組合的幀流,該方法進一步包括將來自組合的幀流的多個幀流分離成各個幀流。示例17包括示例14-16的方法,進一步包括基於至少一個已調整的巾貞流的各自虛擬鏈路來從多個幀流中識別至少一個已調整的幀流;以及檢驗該至少一個識別的已調整的幀流以確定該至少一個識別的已調整的幀流是否在用於各自的虛擬鏈路的有效埠上被接收。示例18包括示例14-17的任一個的方法,進一步包括以每隊列為基礎來確定要被緩存在一個或多個輸入隊列中的每一個輸入隊列中的所整形幀流的幀的數目。示例19包括示例14-18的任一個的方法,進一步包括基於先進先出基礎或優先級基礎之一來從一個或多個輸出隊列輸出所整形巾貞流的中貞。示例20包括示例19的方法,進一步包括基於從在所整形幀流中的幀獲得的信息,確定從一個或多個輸出隊列輸出幀的順序。 雖然已經在此說明和描述了特定實施例,本領域普通技術人員將理解,考慮實現相同目的的任意布置可替代所示的特定實施例。因此,顯然地旨在的是,本發明僅由權利要求及其等同物所限制。
權利要求
1.一種通信系統中的交換機(204),該交換機包括 多個埠(206),每個埠與各自的節點相耦合,並且被配置為從各自的節點接收與各自的虛擬鏈路相關聯的至少一個幀流,其中來自節點之一的至少一個幀流是未調整的幀流; 業務量整形模塊(218),與多個埠相耦合,其中該業務量整形模塊具有至少一個輸入隊列(219),每個輸入隊列與各自的虛擬鏈路相關聯; 其中該業務量整形模塊被配置為將每個虛擬鏈路的幀緩存在各自的輸入隊列中,並且基於各自的虛擬鏈路將業務量整形參數應用於在各自的輸入隊列中的幀; 多個輸出隊列(224),至少一個輸出隊列與每個虛擬鏈路相關聯;以及 路由器(222),被配置為基於由業務量整形模塊所整形的幀流的各自的虛擬鏈路,將由業務量整形模塊所整形的幀流提供至多個輸出隊列中的一個或多個輸出隊列。
2.權利要求I的交換機,其中該交換機以每隊列為基礎配置要在各自的輸入隊列中緩存的、由業務量整形模塊所整形的幀流的幀的數目。
3.權利要求I的交換機,其中該交換機被配置為基於從各自的幀流獲得的信息,來確定從一個或多個輸出隊列中的每個輸出隊列輸出巾貞的順序。
全文摘要
一種通信系統,包括多個節點和具有多個埠的交換機,每個埠與多個節點之一相耦合。多個節點的至少一個節點被配置為將與第一虛擬鏈路相關聯的第一未調整的幀流傳輸至交換機的多個埠中的第一埠。該交換機被配置為通過以下來操作來調整第一未調整的幀流將第一未調整的幀流緩存在與第一虛擬鏈路相關聯的第一輸入隊列中,將與第一虛擬鏈路相關聯的業務量整形參數應用於在與第一虛擬鏈路相關聯的第一輸入隊列中的幀,並基於第一虛擬鏈路將第一已調整的幀流輸出到與一個或多個輸出埠相關聯的一個或多個輸出隊列。
文檔編號H04L12/46GK102739516SQ20121015624
公開日2012年10月17日 申請日期2012年3月28日 優先權日2011年3月28日
發明者B·霍爾, G·鮑爾, S·瓦拉達拉簡, W·施泰納 申請人:Tttech電腦科技公司, 霍尼韋爾國際公司