新四季網

用於在分組處理系統中使用元分組的方法和裝置的製作方法

2023-10-19 05:37:57

專利名稱:用於在分組處理系統中使用元分組的方法和裝置的製作方法
用於在分組處理系統中使用元分組的方法和裝置
背景技術:
在許多分組處理系統中,分組被存儲在緩衝器中,以便提供排隊來處 理流量突發,為某些類別的流量提供優先調度,等等。對於這樣的分組存 儲存在兩種主要的範例完整分組,或者某種類型的分散/聚集,其中分組 被表示為指向分組片斷的一個或多個指針。完整分組存儲方法在簡單性上 有某些很大的優點。但是,在只需要訪問分組的一部分的情況下,或者在 分組以(被分段的)片斷的形式被接收(或發送),然後必須被重組的情 況下,分散/聚集方法的帶寬效率可能更高。
即使在完整分組系統中,由於諸如多鏈路點對點協議(MLPPP)、鏈
路分段和交織(LFI)以及幀中繼論壇(FRF)實現方式FRF.12之類的協 議,也需要分組片段的重組。在完整分組系統和分散-聚集系統兩者中,用 於實現這些協議的分組重組技術都具有有限的可擴展性。
例如,在存儲完整分組的系統中,在任一時間可能只有分組的一部分 可用,或者不同的片段可能以任意順序到達。當片段最終被撤出隊列時, 同一分組的不同部分隨後必須被放回一起。為了動態跟蹤和訪問構成重組 後的分組的不同數據片斷,需要大量的處理器帶寬。
因而,仍需要提高將分組片斷重組成完整分組的效率。本發明解決了 這一問題以及與現有技術相關聯的其他問題。

發明內容
元分組被用於更高效地重組分組並且更高效地進行其他分組處理操 作。元分組是由排隊系統中的硬體解析的特殊類型的分組。元分組不是直 接包含數據,而是包含用於從分組處理系統中的各個可標識存儲位置構建 所需分組的指令。由於重組後的分組替換了元分組,因此分組排序得到了 保持。例如,假定元分組處於分組序列中的適當位置,則替換元分組的(一個或多個)分組也將以相同的分組序列順序被維持。元分組和常規分 組兩者都可以使用相同的隊列和排隊系統而被處理,並且可被自由地混 合,從而允許重組後分組和完整分組的共存。元分組為完整分組系統提供 了分組重組能力,並且增大了完整分組或分散-聚集系統的可擴展性。
元分組可用於單獨地或與分組重組相結合地執行其他分組處理操作。 例如,元分組可用於幫助管理分組排隊操作、提供定時基準,以及發起其 他分組處理操作和命令。
本發明的以上和其他目的、特徵和優點將從以下參考附圖對本發明的 優選實施例的詳細描述中變得更清楚。


圖1是示出元分組如何被用於重組分組的圖。 圖2是示出元分組的一個示例的框圖。
圖3是示出元分組如何被生成並用於組裝和丟棄分組隊列中的分組的圖。
圖4是示出元分組如何被用於衝刷(flush)分組調度器中的隊列的圖。
圖5是示出元分組如何對分組進行重新排隊以提供定時基準的圖。 圖6是用於重新生成額外的元分組並且用於分出(branch off)定時基 準分組的元分組的另 一示例。
具體實施例方式
圖1示出使用元分組(meta-packet) 20來更高效地進行某些分組處理 操作的分組處理系統10。分組處理系統10可被用於任何用於處理分組的 網絡處理設備,例如路由器、交換機、網關、伺服器、個人計算機等等。 在此示例中,分組流11被分組處理系統IO接收。分組流11可包括普通分 組14和分組片段30兩者。初始處理級將普通分組14存儲到緩衝器13B 中,並將分組片段30存儲在緩衝器13A中。
常規分組14是通常可包括分組頭部和分組有效載荷的任何普通數據或控制分組。例如,常規分組14可以是網際網路協議(IP)分組或任何其他 類型的網絡分組。以下提到普通分組、常規分組、數據分組、控制分組或 網絡分組一般是指能夠通過分組交換網絡來傳輸的任何分組以及這些分組 在分組處理系統中被處理時的任何形式和變換。
分組片段30通常是一個或多個分組的一些部分,使得給定分組的所 有部分將(最終)出現在分組流中。在一些實現方式中,可能有多個分組 流11,並且來自同一分組的分組片段可分布在多個分組流中。在像這樣的
情況下,對於每個分組流可以有一個緩衝器13A。
分組處理系統10中的處理器12將普通分組14發送到排隊系統25中 的第一分組緩衝器16B。在此示例中,處理器12生成標識緩衝器13A中 的分組片段30的元分組20。元分組20被發送到排隊系統25中的第二緩 衝器16A。
元分組20包含嵌入式元命令(meta-command) 22,該嵌入式元命令 22在一個應用中被用於重組被分段的普通分組30 (聚集被分段的普通分 組30的片斷)。其他嵌入式元命令22可被用於執行其他數據操縱、重組 和控制操作。元分組20導致普通分組的重組24,普通分組的重組24隨後 在輸出數據流17中替換元分組20。在此示例中,元分組20充當對普通分 組的間接指示,該普通分組可能是許多片斷的形式。重組後的分組24固 有地維持與元分組20先前維持的分組流中相同的順序。因而,對於從元 分組20創建的重組後分組24,不需要執行專門的分組排序操作。對於諸 如MLPPP這樣的在其輸出流中混合了正規分組和重組後的分組的協議, 這一點尤其有益。
進一步來說,在排隊系統25中,普通分組14被加入到分組隊列16B 中,而元分組20被加入到不同的控制或分組數據隊列16A中。在一個示 例中,隊列i6中的一些可以是先進先出(FIFO)型緩衝器。元分組20和 普通分組14位於分組隊列16A和16B中,同時等待被排隊處理器18進一 步處理或撤出隊列。排隊處理器18可將分組14和24發送回分組處理系統 IO中的不同存儲器或處理元件以便進一步處理,或者可將分組14和24發 送到不同的外部埠。例如,分組1、 2和3以及重組後的分組24都被顯示為正被排隊處理器18輸出到輸出埠 31。
元分組20通過分組頭部21中的比特(或欄位)與常規分組14相區 分。關於分組是元分組20的情況也可用某種其他的方式來指示,其中包 括帶外信令。元分組20以與任何其他分組14相同的方式被處理,直到它 到達分組處理系統10中的某個點為止。 一般來說,元分組20是在分組通 過調度器被匯集之後在排隊系統25中的出口排隊級中與常規分組14區分 開來的。當然,下述元分組操作也可在分組處理系統10中的其他級發 起。
排隊系統25根據分組頭部21中的標誌來檢測元分組20。代替執行諸 如提供分組傳送之類的普通分組操作,排隊系統25利用元分組處理23來 解析和執行元分組20中所包含的元命令22。元命令22可以使排隊處理器 18產生重組後的分組24或執行排隊系統25通常不執行的其他分組處理操 作。例如,元命令22可被用於元分組重生成32、定時再循環34、命令發 起36、分組丟棄38和分組重排隊40。這些示例性的操作都在下文更詳細
描述°
分組重組應用中的元分組20有效地充當指向一個或多個分組或分組 片段的指針。例如,元分組20包含指向當前存儲在分組處理系統10中的 不同分組或分組片段30的元命令22。元命令22還可使排隊處理器18將 其他信息加載到重組後的分組24中,例如分組長度信息26和其他常數 28。由元命令22創建的重組後的分組24隨後在輸出數據流17中替換元分 組20。因而,如上所述,重組後的分組24自動地在排隊系統25所處理的 數據流17中維持相同的相對位置。
排隊系統25實質上執行來自元分組20的命令以在調度器120 (見圖 4)的控制下按適當的順序從隊列16的頭部去除分組。本示例中的元分組 20是由軟體提供的類似命令的微序列,這些命令被排隊處理器18按順序 執行。雖然元分組20中的元命令22與從隊列中去除普通分組以進行傳輸 的"指令"相類似,但元命令22可以按下面進一步描述的若干方式被擴 展。
圖2示出一些元命令22的示例。元分組20在分組頭部21中包括公共前導56,其包含向排隊處理器18 (圖1)標識分組為元分組的標誌或比 特。元命令22可包括長度調節命令58,該長度調節命令58使得排隊處理 器18確定重組後的分組24的長度並將該長度信息(可能已按長度調度命 令的規定而被修改)插入到公共前導或頭部26中,或者插入到重組後的 分組的任何其他部分中。分組命令60使得排隊處理器18將命令60中所包 含的常數插入到重組後的分組24中。該常數可與長度調節命令58結合使 用以形成介質訪問控制(MAC)頭部或其他頭部或尾部信息26。
如上所述的元分組命令22還允許來自若干個完全不同的隊列和存儲 器元件的分組重組操作。例如,分組或其他數據51可被包含在存儲器50 中。其他分組數據可能駐留在分組隊列52和54中。例如,重組後的分組 24的額外頭部信息(數據X)可駐留在存儲器50中,第一分組片段#0可 駐留在分組隊列52中,而第二分組片段#1可駐留在分組隊列54中。
元命令62指示排隊處理器18將存儲器50的地址AA—BBCC處的內 容插入到重組後的分組24的頭部欄位28中(或者更準確地說,插入到下 一順序部分中)。元命令62還可以包括一個長度欄位,該長度欄位指示 從被標識的地址位置開始應當讀取多少數據。元命令64和66隨後指示排 隊處理器18分別將來自分組隊列52和54的分組片段#0和#1插入到重組 後的分組24的位置30A和30B中。
元分組指針62、 64和66有效地"聚集"和重組來自多個不同的存儲 器結構(例如來自存儲器50和不同的分組隊列52和54)的所需分組和數 據。這可以用來支持MLPPP或其他類似的創建被分段分組的協議。雖然 優選地,為了實現的簡單,諸如此類的元命令順序地構建重組後的分組, 但是另一實施例允許每個元命令指定在重組後的分組中它所指示的位置。 在此實施例中,另一類型的元命令可指定元命令的重組處理未以其他方式 填充的任何位置的"背景"樣式。
引用元分組命令67使得排隊系統25獲取現有元分組20的一部分並將 其複製到新分組24中。在此示例中,引用命令67指示排隊系統25將來自 元命令60的常數複製到分組24中。但是,引用命令67也可用於將相同元 命令56-67中的任何元命令複製到分組24中。例如,引用元命令67可以照搬地將插入命令62-66、長度調節命令28等等中的任何一個複製到分組 24中。引用命令24例如可用於生成額外的元分組,如下面圖5和6中所 述。
創建元分組
圖3更詳細示出了元分組如何被生成並被用於重組分組、丟棄分組和 維護分組優先級的一個示例。多個不同的分組和/或分組片段被排隊系統 25接收到不同的分組隊列80中。
在此示例中,第一分組隊列A當前包含分組1的第一分組片段(pkt l-A)、第二分組的第一分組片段(pkt 2-A)、第三分組的第三分組片段 (pkt3-C)和第三分組的第四分組片段(pkt3-D)。分組隊列B包含分組 1的第三片段(pkt l-C)、第二分組的第二分組片段(pkt 2-B)和第二分 組的第三分組片段(pkt2-C)。分組隊列C包含第一分組的第四片段 (pktl-D)、第三分組的第一和第二片段(pkt3-A、 pkt3-B)和第五分組 的第一片段(pkt5-A)。
處理器82監視不同的分組1-5到達分組隊列80中,並且維護記分板 83,該記分板83跟蹤哪些分組和分組片段位於哪些分組隊列80中。處理 器82還確定單獨的高優先級分組隊列D中的被接收分組4是高優先級分 組。這可以基於分組4的頭部中所包含的服務質量(QoS)信息來檢測。
記分板S3列出為了正確地重組分組片段,分組隊列80需要被排隊處 理器18讀取的順序。例如,為了正確地重組分組2的片段,排隊處理器 18需要首先從隊列A讀取pkt2-A,從隊列B讀取pkt2-B,並從隊列B讀 取pkt2-C。利用此知識,處理器82從按順序列出隊列A、隊列B和隊列 B的記分板83形成元分組2。
控制處理器82還可在元分組2中包括更新長度元命令106,以及其他 命令,以產生格式正確的重組後分組。更新長度命令106使得排隊處理器 18識別重組後的分組2的總長度並且將識別出的分組長度89插入重組後 的分組88中。對於分組3的分組片段pkt 3-A、 pkt 3-B、 pkt 3-C和pkt 3-D,形成類似的元分組3。分組優先級
元分組的另一特徵是與分組處理器10所提供的QoS服務聯合工作的
能力。例如,高優先級分組4被排在分組隊列D中,該分組隊列D不同於 用來緩衝被分段分組的分組隊列A、 B和C。排隊處理器18可以在輸出必 須從分組片段重組的其他分組1、 2和3之前,輸出在輸出分組流的位置 86中的分組4。
在另一實施例中, 一旦高優先級分組4被接收到,處理器82就可將 其實際內容直接定位到控制/數據隊列16中。在此示例中,高優先級分組 4可被定位在控制/數據隊列16中元分組1、 2和3之前。
分組丟棄
處理器82將以類似於分組2和3的元分組的方式形成分組1的元分 組。但是,在此示例中,分組1的第二分組片段pkt l-B從未在分組隊列 80中被接收到,或者它在某個預定時間段內未被接收到。例如在分組片段 pkt l-B在通過網際網路傳輸時被丟棄或丟失的時候,可能發生這種情況。處 理器82可具有一個定時器,該定時器在某個預定的時間段內等待分組片 段pktl-B到達分組隊列80中。在超時時段期滿之後,處理器82確定分組 1的所有其他接收到的分組片段都應當被丟棄。
因此,元分組1被處理器82構造,以分別從分組隊列A、 B和C中高 效地丟棄分組片段pkt l-A、 pkt l-C和pkt l-D。例如,代替包含插入元命 令,元分組1包含丟棄元命令94,該丟棄元命令94指示排隊處理器18從 分組隊列80中讀取並丟棄分組1的不完整分組片段集合。
處理器82還可包括丟棄長度標識符元命令96,該元命令96隨後被用 於通知分組處理器10中的處理設備分組1已被丟棄,並且還標識已被丟 棄的分組1中的數據量。這可以用於支持分組處理器10中的統計分析操 作。在一個實施例中,該丟棄信息可經由某種類型的FIFO被發送到處理 器。在此示例中,具有丟棄命令94的元分組1還構造了包含丟棄長度和 其他信息的小控制分組88,並經由單獨的隊列將該分組轉發到處理器。元分組處理
排隊處理器18從位置98開始按順序讀取控制/數據隊列16中的元分 組和普通分組。在輸出分組隊列D中的高優先級分組之後,排隊處理器 18從控制/數據隊列16讀取元分組1。如上所述,元分組1包含指示排隊 處理器18丟棄分組隊列A中的下一分組的第一命令。元分組1中的第二 元命令指示排隊處理器18丟棄分組隊列B中的下一分組,並且第三元命 令指示排隊處理器18丟棄分組隊列C中的下一分組。因此,排隊處理器 18從分組隊列A、 B和C讀取和丟棄分組1的分組片段84。
如上所述,元分組1還可包括另一元命令96,該元命令96指示排隊 處理器18標識被丟棄的數據量並且可包括與被丟棄的元分組1相關聯的 頭部信息。例如,分組88可以被發送到與這個流中的其它分組無關的目 的地,以用於統計分析。排隊處理器18可通過跟蹤在執行元分組1中的 命令時所讀取的數據量來很容易地識別被丟棄的數據量。
在完成元分組1的元指令之後,排隊處理器18讀取隊列16中的下一 元分組2。元分組2指示排隊處理器從分組隊列A中讀取下一數據元素 (pkt 2-A),然後從分組隊列B讀取下兩個數據元素(pkt 2-B、 pkt 2-C)。片段pkt2-A、 pkt2-B和pkt2-C隨後被排隊處理器18重組並輸出作 為重組後的分組90。如上面也已提到的,元分組2還可包括長度更新元命 令106,該元命令106使得排隊處理器18導出並包括重組後的分組90的 長度信息。排隊處理器18相應地將分組長度值89置於重組後的分組90 中。這也是由排隊處理器18通過跟蹤在執行元分組2時從分組隊列80讀 取的數據量來很容易地確定的。在一些實施例中,長度更新元命令106可 將長度的修改後的(移位的、捨入的、添加了偏移量的等等)版本插入到 重組後的分組90中。排隊處理器18隨後重組和輸出包含分組3的所有分 組片段的分組92。
隊列衝刷和CSR命令
參考圖4,調度器120包含隊列122,該隊列122包含標識存儲器和/或緩衝器和/或隊列124中所包含的分組的位置的分組句柄或指針。存儲器
和/或緩衝器和/或隊列124在下文中一般被稱為存儲器124。調度器120可 包含通過多個調度層126和128來處理的多個不同的隊列122A-122D。隊 列122中的分組句柄傳播經過不同的調度層,直到它們最終到達根層 (root layer) 128為止。從根層128輸出的分組句柄標識存儲器124中被 排隊處理器18讀取以便輸出回分組處理系統進行額外處理或輸出到輸出 埠的下一分組。元分組可以同樣有效地被用於圖4所示的調度器分散/聚 集體系結構中。
在此示例中,隊列122A包含分組A、 B、元分組X1和分組C的分組 句柄。為了確定隊列122何時完全為空,分組處理器(例如圖3中的處理 器82)將元分組X2、 X3、 X4和X5分別發送到隊列122A、 122B、 122C 和122D中的每一個。隊列122A、 122B、 122C和122D中分別在元分組句 柄X2、 X3、 X4禾B X5中的每一個之前的分組句柄隨後通過分組調度器 120和排隊系統25被處理。
例如,分組A和B的分組句柄150A和150B被分別發送到排隊處理 器18,排隊處理器18隨後從存儲器124讀取相應的分組A和B。排隊處 理器18隨後接收標識存儲器124中的元分組XI的分組句柄150C。排隊 處理器18從存儲器124中讀取與分組句柄150C相對應的數據,並通過檢 測元分組標誌140來確定數據是元分組。元分組XI包括元命令142和 144,元命令142和144指示排隊處理器18從存儲器124分別讀取分組片 段#1和#2。這兩個分組片段射和#2被重組成分組133,分組133隨後在此 示例中與分組A、 B和C一起被發送到輸出埠。
如上所述,元分組X2-X5的分組句柄分別被加載到不同的隊列USA-USD 中。當被調度器120分配時,排隊處理器18從存儲器124中用相關 聯的分組句柄150E標識的位置讀取元分組X2。元分組X2同樣通過標誌 140被標識為元分組。元分組X2包含重新入隊元命令138,該元命令138 指示排隊處理器18將所得到的由元分組X2創建的內容發送到控制隊列 X,而不是執行利用其創建的分組替換普通輸出流中的元分組的普通操 作。在一個示例中,排隊處理器18通過執行元分組X2中的元命令137來 生成標識符分組137。標識符分組137被元命令138引導到控制隊列X。 控制隊列X中的標識符分組137向分組處理元件(PPE) 134提供通知 隊列122A中元分組X2之前的內容尚未被撤出隊列。標識符分組可以按任 意種方式來創建,例如作為元分組中的常數數據,或者通過從存儲器讀取 數據或從隊列讀取分組/片段的命令來創建,等等。
類似地,從存儲器124讀取的元分組X3、 X4和X5還指示排隊處理 器18將標識符分組137發送到同一控制隊列X。在此示例中,當四個分組 標識符137在控制隊列X中被接收到時,PPE 134知道在元分組X2-X5之 前的所有數據現在都已從隊列122中衝刷出。這可以觸發PPE 134隨後重 新配置隊列122以用於其他操作。在一些實施例中,多個標識符分組137 可以被相同地構造;在其他實施例中,它們可以是不同的,以指示其與哪 個隊列相關聯。
在隊列衝刷應用的另一方面中,元分組X2-X5中的一個或多個可以包 含元命令136,該元命令136使得排隊處理器18發出命令狀態寄存器
(CSR)命令151。這樣,元命令可指示排隊系統25執行其他系統操作, 例如命令狀態寄存器(CSR)讀/寫,包括將CSR內容插入到重組後的分 組中。CSR操作的一種使用是與隊列移動相結合,其中, 一旦隊列中的所 有數據(直到置於隊列末端的元分組為止)被衝刷,該元分組就自動發出 禁用或移動隊列的CSR操作。
例如,元分組X2-X5之一可包含元命令136,該元命令136使得排隊 處理器18發出CSR命令151,該CSR命令151隨後將隊列122重新配置 為以不同的輸出目的地進行工作。這使得PPE 134無需監視和執行重新配 置操作。
在另一應用中,排隊處理器18可被用於重複地讀取CSR寄存器中所 包含的性能計數器。例如,CSR命令136執行返回性能計數器的值的CSR 讀取。性能計數器值隨後被插入到元分組所生成的組裝後的分組中。包含 性能計數器結果的組裝後的分組隨後可被發送到處理器,以便通過將組裝 後的分組重新排入到不同的隊列中或者諸如將分組發送到用於控制信息的輸出接口之類的其他方式,來進行進一步處理。
重新入隊和元分組分支(branching)
參考圖5,除了以上圖4中描述的重新入隊示例之外,元分組還可被 用於多個不同的重新入隊和分支操作。圖5示出了分組處理器170的一種 實現方式,其包括各自操作多個不同的線程175的多個分組處理元件
(PPE) 174。傳入分組171從分組網絡被接收並被存儲在全局分組存儲器
(GPM) 172中。
分組171在被PPE 174處理之前或之後可被發送到執行上述元分組操 作的排隊系統184。排隊系統184包括對分組177、 178和176進行排隊的 緩衝器、隊列、調度器(BQS) 180,以及處理在BQS 180中被排隊的分 組的輸出分組模塊(OPM) 182。傳入分組171被PPE 174處理,創建 GPM 172中的傳出分組176、 177和178。 GPM 172隨後將傳出分組176、 177和178轉發到排隊系統184。
OPM 182可提供以上在圖l-4中描述的排隊處理器18所提供的一些或 所有操作。除了包含分組緩衝器之外,BQS 180還可訪問分組緩衝器存儲 器190中的分組。
排隊系統184提供從OPM 182返回BQS 180的重新入隊路徑185,並 且還提供從OPM 182返回GPM 172的再循環路徑186。重新入隊路徑185 和再循環路徑186可與元分組結合使用,以提供額外的分組處理操作。在 一個示例中,元分組被用於向PPE 174提供定時信息。
例如,PPE 174可能需要跟蹤某個相對的時間段以確定何時丟棄分 組,例如以上在圖3中描述的分組1。 PPE 174可生成元分組176,該元分 組176隨後可被用於發起時間戳生成過程。所生成的時間戳隨後被用於發 起不同的分組處理操作。在此示例中,PPE 174之一生成元分組176,該 元分組176以與其他可包含數據或控制信息的普通分組178和分組片段 177相同的方式被發送到排隊系統25。元分組176與其他普通分組178和 分組片段177 —起在BQS 180中被排隊,並最終被OPM 182撤出隊列。 元分組176中所包含的元命令在圖6中更詳細描述。元分組176可通過使用分組結束(EOP)標記來創建多個重組後的分
組。元分組176還可獨立地控制不同的重組後分組的目的地。雖然默認是
用重組後的分組替換數據流中的元分組,但一些重組後的分組可在排隊系
統25中被重新入隊,如以上圖4所述。在圖5所示的另一實施例中,重組 後的分組之一是用於重複地生成定時分組的另一元分組。
參考圖5和6兩者,元分組176包括第一重新入隊元命令250,該元 命令250指示OPM 182將所得到的根據後續元命令254生成的分組重新入 隊到BQS 180。下一元命令252隨後標識BQS 180中的隊列A以用於對所 得到的分組進行重新入隊。下一元命令254生成與元分組176實質上相同 的另一元分組212A。
元命令254可以是重組元分組212A的存儲器插入命令和常數值的任 意組合。例如,元命令254可包括針對存儲器190中的地址位置191的存 儲器插入指令。地址191可包含同一元分組176。元命令254之後是分組 結束(EOP)元命令256,該元命令256使得OPM 182將元分組212A重 新加入到隊列A中。
在另一實施例中,圖2所示的引用元命令67被用於生成元分組 212A。例如,引用命令可簡單地指示OPM 182將元命令250-264複製到元 分組212A中。
OPM 182隨後繼續處理額外的元命令258-264。元命令258和260指 示OPM 182將隨後組裝的第二分組214A重新入隊到GPM 172中。元命 令262隨後被用於生成定時分組214A。定時分組214A的內容同樣可利用 元命令常數、對存儲器190的訪問或者對BQS 180中的隊列的訪問的任意 組合來生成。定時分組214A隨後在EOP命令264被OPM 182檢測到時被 重新入隊到GPM172。在另一實施例中,隊列A可通過再循環路徑186被 連接到GPM 172,使得定時分組214A不需要被重新入隊。取而代之,定 時分組214A將會自然地去往GPM 172,就好像元分組212A那樣,如果
不是為了與之相關聯的重新入隊的話。
圖5示出了 OPM 182對元分組212A和定時分組214A進行重新入隊 的結果。定時分組214A通過再循環路徑186從OPM 182被輸出到GPM172。該定時分組214A被PPE 174中的一個或多個用作用來執行基於定時 的操作的時間戳基準。例如,定時分組214A可與時間T1相關聯。
元分組212A隨後以與第一元分組176相同的方式在排隊系統25中被 處理。具體而言,元分組212A生成另一元分組212B,該元分組212B包 含與元分組176和212A相同的元命令。元分組212A還生成被經由OPM 182發送到GPM 182的另一定時分組214B。第二定時分組214B隨後可被 用作第二時間戳值T2。
元分組212A和212B在經過BQS 180和OPM 182的同時被發送到具 有某個相對較快且可重複的時間間隔的控制隊列A。這使得定時分組 214A和214B能夠以相對可重複的周期性時間間隔被生成。在另一實施例 中,元分組176可包含對還通過路徑192分支到輸出埠的分組進行組裝 的命令。因而,同一元分組176可生成分支到BQS 180、 GPM 172中的重 新入隊操作和分支到輸出埠的不同分組。
元分組可包含任何類型的指令,例如加密/解密、散列(hashing)、數 據完整性檢查命令,並且不限於簡單地移動數據。元分組也可被發送到在 排隊系統中的它們自己的隊列,而不是在分組隊列中與普通分組自由地混 合。因而,元分組提供了與當前處理技術相比更高效、更靈活地執行的分 組處理操作。
這些操作包括以下能力很容易地以低開銷由片段重組分組,並提供 指示分組傳輸何時達到了某些水印(watermark)(例如隊列何時排空)的 "標記"。元分組還可提供更多先進的特徵,例如經由分組傳輸觸發其他 操作,例如CSR修改等等。元分組以相對高效的方式並且以同時還保持了 分組排序的方式提供所有這些功能。
上述系統可使用執行一些或所有操作的專用處理器系統、微控制器、 可編程邏輯器件或者微處理器。上述操作中的一些可以用軟體實現,而其 他操作可以用硬體實現。
為了方便起見,操作被描述為各種互連的功能塊或不同的軟體模塊。 但是,這並不是必要的,可能存在這些功能塊或模塊被等效地集合到單個 邏輯器件、程序或操作中而沒有明顯邊界的情況。在任何情況下,具有靈活接口的這些功能塊和軟體模塊或特徵可由其自身實現,或者與其他操作 相結合用硬體或軟體來實現。
已經在本發明的優選實施例中描述和圖示了本發明的原理,應當清 楚,本發明的布置和細節可被修改,而不脫離這樣的原理。申請人要求所 有修改和變化都在所附權利要求的精神和範圍之內。
權利要求
1.一種分組處理系統,包括排隊系統,其包括存儲數據分組和/或元分組的分組隊列,和對所述數據分組進行分組傳送操作並執行所述元分組中所包含的元命令的排隊處理器。
2. 根據權利要求1所述的分組處理系統,其中所述排隊系統按與所述 數據分組和所述元分組在所述隊列中被存儲的情況相對應的順序來處理所 述數據分組和所述元分組。
3. 根據權利要求1所述的分組處理系統,其中所述排隊系統按所述元分組中所包含的順序來順次地處理所述元命令。
4. 根據權利要求1所述的分組處理系統,其中,所述元命令中的一個 或多個元命令使得所述排隊系統將來自存儲器或來自所述分組隊列的數據 重組成數據分組,然後用重組後的數據分組來替換所述元分組。
5. 根據權利要求4所述的分組處理系統,其中,所述元命令中的一個 或多個元命令使得所述排隊系統識別所述重組後的數據分組的長度,然後 將所識別的長度或其函數包括在所述重組後的數據分組中。
6. 根據權利要求1所述的分組處理系統,其中,所述元命令中的一個 或多個元命令使得所述排隊系統生成另一數據分組或另一元分組。
7. 根據權利要求1所述的分組處理系統,其中,所述元命令中的一個 或多個元命令使得所述排隊系統向所述分組處理系統中的其他處理或控制 元件發出命令。
8. 根據權利要求1所述的分組處理系統,其中,所述元命令中的一個 或多個元命令使得所述排隊系統丟棄所述分組隊列中的數據分組。
9. 根據權利要求8所述的分組處理系統,其中, 一個或多個元命令使 得所述排隊系統生成標識所述被丟棄的數據分組中被丟棄的數據量的報告。
10. 根據權利要求9所述的分組處理系統,其中,所述報告作為組裝 後的分組的一部分被返回到處理或控制元件。
11. 根據權利要求1所述的分組處理系統,其中,所述元命令中的一 個或多個元命令使得所述排隊系統將由執行所述元命令而得到的結果重新 加入回所述分組隊列中。
12. 根據權利要求11所述的分組處理系統,其中,被重新入隊的結果 是數據分組或元分組。
13. 根據權利要求1所述的分組處理系統,其中,所述元命令中的一 個或多個元命令使得所述排隊系統從同一元分組生成多個分組。
14. 根據權利要求1所述的分組處理系統,其中,所述元命令中的一個或多個元命令使得所述排隊系統將所述元分組本身的一部分複製到另一 分組或另一元分組中。
15. —種用於在分組處理器中處理分組的方法,包括 將數據或控制分組(正規分組)和元分組排隊到分組隊列中; 將所述正規分組和元分組從所述分組隊列中撤出;以及 在執行所述被撤出隊列的元分組中的元命令的同時傳送所述被撤出隊列的正規分組。
16. 根據權利要求15所述的方法,包括按照與所述正規分組和所述元 分組從所述分組隊列中被撤出的順序相同的順序處理所述被撤出隊列的正 規分組和所述被撤出隊列的元分組。
17. 根據權利要求16所述的方法,包括 執行從存儲器或分組隊列讀取數據的一個或多個元命令; 將從存儲器或所述分組隊列讀取的數據重組成重組後的分組;以及 在所述元分組先前所保持的分組流中的同一位置中傳送所述重組後的分組。
18. 根據權利要求15所述的方法,包括 將一個或多個元分組定位在一個或多個分組隊列中;以及 執行所述元分組中的元命令,所述元命令提供通知,所述通知指示相同分組隊列中在所述元分組之前的所有分組都已被衝刷。
19. 根據權利要求15所述的方法,包括執行所述元分組之一中的元命 令,所述元命令向所述分組處理器中的分組處理元件發出命令。
20. 根據權利要求15所述的方法,包括執行一個或多個元命令,該一個或多個元命令將來自所述元命令的結果重新加入回所述分組隊列。
21. 根據權利要求15所述的方法,包括執行所述元分組中的一個或多 個元命令,該一個或多個元命令生成一個或多個正規分組和/或元分組。
22. 根據權利要求15所述的方法,包括執行一個或多個元命令,該一 個或多個元命令將所述元分組本身的一部分複製到另一分組和/或元分組 中。
23. 根據權利要求15所述的方法,包括執行一個或多個元命令,該一 個或多個元命令使正規分組從所述分組隊列中被丟棄。
24. 根據權利要求23所述的方法,包括一個或多個額外的元命令,該 一個或多個額外的元命令生成標識所述正規分組中被丟棄的數據量的報 告
25. 根據權利要求24所述的方法,包括將所述報告作為組裝後的分組 的一部分返回到處理或控制元件。
26. 根據權利要求15所述的方法,包括 標識在所述分組隊列中所接收的不同分組的不同部分; 生成包含元命令的元分組,所述元命令標識哪些分組隊列包含相同分組的不同部分,並且還標識相同分組的不同部分以何種順序被存儲在不同 的分組隊列中;以及將所述元分組發送到排隊系統,該排隊系統隨後根據所述元命令將來 自所述分組隊列的相同分組的不同部分重組在一起。
27. 根據權利要求26所述的方法,包括將所述重組後的分組排隊在所 述元分組先前所保持的所述排隊系統中的相同位置中。
28. 根據權利要求15所述的方法,包括執行同一元分組中的元命令, 所述元命令使得多個不同的正規分組和/或元分組被創建並被輸出或重新入 隊。
29. —種分組處理系統,包括分組存儲器,其從分組交換網絡接收傳入網絡分組; 一個或多個分組處理元件,其處理所述分組存儲器中的所述網絡分組並生成包含元指令的元分組;以及排隊系統,其對所述網絡分組和所述元分組兩者進行排隊並且執行所 述元分組中的元指令。
30. 根據權利要求29所述的分組處理器,包括所述排隊系統和所述分 組存儲器之間的再循環路徑,所述再循環路徑被所述排隊系統用來在所述 元指令的控制下將分組發送回所述分組存儲器。
31. 根據權利要求29所述的分組處理系統,其中所述排隊系統包括 用於存儲所述網絡分組和所述元分組的隊列; 用於調度所述網絡分組和所述元分組的排隊的調度器;以及 輸出分組模塊,其根據由所述調度器輸出的相關聯的分組句柄來傳送所述網絡分組並且執行所述元分組中的元指令。
32. 根據權利要求31所述的分組處理器,其中,所述元指令中的一些 使得所述輸出分組模塊將位於分組隊列中或主存儲器中的不同分組片段組 裝成網絡分組。
33. 根據權利要求31所述的分組處理器,其中,所述元分組使得所述 輸出分組模塊使網絡分組或元分組在所述排隊系統中重新入隊。
34. 根據權利要求29所述的分組處理器,其中所述網絡分組和所述元 分組在所述排隊系統中被順序地撤出隊列,然後被所述輸出分組模塊按同 一順序處理。
35. —種用於在分組處理器中處理分組的系統,包括 用於將數據或控制分組(正規分組)和元分組排隊到分組隊列中的裝置;用於將所述正規分組和元分組從所述分組隊列中撤出的裝置;以及 用於在執行被撤出隊列的元分組中的元命令的同時傳送被撤出隊列的 正規分組的裝置。
36. 根據權利要求35所述的系統,包括用於按照與所述正規分組和所 述元分組從所述分組隊列中被撤出的順序相同的順序處理所述被撤出隊列 的正規分組和所述被撤出隊列的元分組的裝置。
37. 根據權利要求36所述的系統,包括用於執行從存儲器或分組隊列讀取數據的一個或多個元命令的裝置; 用於將從存儲器或所述分組隊列讀取的數據重組成重組後的分組的裝 置;以及用於在所述元分組先前所保持的分組流中的同一位置中傳送所述重組 後的分組的裝置。
38. 根據權利要求35所述的系統,包括用於執行一個或多個元命令的 裝置,所述一個或多個元命令將來自所述元命令的結果重新加入回所述分 組隊列。
39. —種存儲介質,包含計算機可讀指令,該計算機可讀指令在被執行時提供以下操作將數據或控制分組(正規分組)和元分組排隊到分組隊列中; 將所述正規分組和元分組從所述分組隊列中撤出;以及在執行被撤出隊列的元分組中的元命令的同時傳送被撤出隊列的正規 分組。
全文摘要
元分組被用於更高效地重組分組以及更高效地進行其他分組處理操作。元分組是由排隊系統中的硬體解析的特殊類型的分組。元分組不是直接包含數據,而是包含用於從分組處理系統中的各個可標識存儲位置構建所需分組的指令。由於重組後的分組替換了元分組,因此分組排序得到了保持。例如,假定元分組處於分組序列中的正確位置,則替換元分組的(一個或多個)分組也將被維持以相同的分組序列順序。元分組和常規分組兩者可以使用相同的隊列和排隊系統來處理,並且可被自由地混合,從而允許重組後的分組和完整分組的共存。元分組向完整分組系統提供了分組重組能力,並且增大了完整分組或分散-聚集系統的可擴展性。
文檔編號H04J3/24GK101569119SQ200680014779
公開日2009年10月28日 申請日期2006年4月13日 優先權日2005年6月7日
發明者厄爾·T·科亨, 約翰·小威廉士, 詹姆斯·A·馬克威馳, 阿德裡恩·愛宛斯 申請人:思科技術公司

同类文章

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

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