專利名稱:用于關閉排隊以便支持服務質量的系統和方法
技術領域:
目前描述的技術總體上涉及通信網絡。更具體來講,目前描述的 技術涉及用于服務質量的協議過濾的系統和方法。
背景技術:
通信網絡被用于各種環境。通信網絡通常包括由 一個或多個鏈路 連接的兩個或更多節點。 一般說來,通信網絡用于支持鏈路之上兩個 或更多參與方節點與通信網絡中的中間節點之間的通信。網絡中有許 多種節點。例如,網絡可以包括諸如客戶端、服務器、工作站、交換 機和/或路由器之類的節點。鏈路例如可以是經由電話線、電線的調制
解調器連接、以太網鏈路、異步傳輸模式(ATM)電路、衛星鏈路和 /或光纜。
通信網絡實際可以由一個或多個更小的通信網絡組成。例如,往 往把互聯網描述為互連的計算機網絡的網絡。每個網絡可以利用不同 的體系結構和/或拓樸結構。例如, 一種網絡可以是具有星形拓樸的交
換以太網,而另一網絡可以是光纖分布式數據接口 (FDDI)環。
通信網絡可以傳送各式各樣的數據。例如,對于交互式實時會話 而言,網絡可以在傳輸數據的同時傳送大批文件。在網絡上發送的數 據往往是依照分組、單元或者幀來發送的。作為選擇,可以作為流來 發送數據。在某些情況下,流或者數據流實際上是分組序列。諸如互 聯網之類的網絡在節點范圍之間提供通用數據路徑,并且依照不同的 要求承載巨大的數據陣列。
網絡之上的通信通常涉及多級通信協議。協議棧(也稱為聯網棧 或協議組)指的是用于通信的協議集合。每一協議可以集中于特殊類 型的通信能力或者通信形式。例如, 一種協議可以涉及與通過銅線連接的設備進行通信所需的電信號。其它協議例如可以解決被許多中間 節點分隔的兩個節點之間的順序和可靠傳輸。
協議棧中的協議通常依照分級結構存在。往往,把協議分類為層。
協議層的一個參考模型是開放系統互連(OSI)模型。所述OSI參考 模型包括七層物理層、數據鏈路層、網絡層、傳輸層、會話層、表 示層和應用層。物理層是"最低"層,而應用層是"最高"層。兩個眾所
眾所周知的網絡層協議是網際協議(IP)。
在傳輸節點,待傳輸的數據從最高到最低向下傳遞至協議棧的各 層。反之,在接收節點,所述數據從最低到最高向上傳遞至各層。在 每一層,所述數據可以由用于處理該層通信的協議來操縱。例如,傳 輸層協議可以向數據添加首部,用于當到達目的地節點處時允許對分 組進行排序。根據應用,某些層未必被使用或甚至存在,數據可能僅 僅經此傳遞而已。
一種通信網絡是戰術數據網絡。戰術數據網絡也可以被稱為戰術 通信網絡。戰術數據網絡可以在諸如軍隊(例如,陸軍、海軍和/或空 軍)之類的組織內按照部隊來使用。戰術數據網絡內的節點例如可以 包括個體士兵、飛行器、突擊隊、衛星和/或無線電設備。戰術數據網 絡可以用于傳遞諸如語音、位置遙測數據、傳感器數據和/或實時視頻 之類的數據。
如何采用戰術數據網絡的示例如下。后勤護衛隊可以內部選定路 線以便為野外的戰斗部隊提供供養。護衛隊和戰斗部隊兩者都可以經 由衛星無線電鏈路向指揮所提供位置遙測數據。無人飛行器(UAV) 可以沿途巡邏,同時,護衛隊獲取并且經由衛星無線電鏈路向指揮所 傳輸實時視頻數據。在指揮所,分析員審查視頻數據,同時控制器派 給UAV工作以便為特殊公路段提供視頻。然后分析員可以定位護衛 隊正在接近的臨時做的引爆裝置(IED),并且為此經由直接無線電 鏈路向護衛隊發送命令,并且警告護衛隊IED的存在。
戰術數據網絡內可以存在的各種網絡可以具有許多不同的體系結構和特性。例如,突擊隊中的網絡可以包括千兆比特以太網局域網
(LAN)以及與衛星和野外部隊鏈接的無線電鏈路,其利用更低吞吐 量和更高的等待時間來操作。野外部隊可以經由衛星并且經由直接通 路射頻(RF)來通信。根據數據的特性和/或網絡的特殊物理性質, 數據可以被點對點、多播或者廣播發送。網絡例如可以包括被建立以 便中繼數據的無線電。另外,網絡可以包括用于允許長鳴通信的高頻
(HF)網絡。例如,還可以使用微波網絡。因鏈路和節點的類型的多 樣性連同其它原因一道,戰術網絡往往具有極度復雜的網絡尋址方案 和路由表。另外,諸如基于無線電的網絡之類的某些網絡可以使用脈 沖串操作。也就是說,它們發送周期性的脈沖串數據,而不是連續地 傳輸數據。這是十分有用的,因為無線電是在必須由所有參與方共享 的特殊信道上進行廣播的,并且每次只有一種無線電可以傳輸。
戰術數據網絡通常是帶寬限制的。也就是說,與任何給定點處可 獲得的帶寬相比較,通常存在更多數據待及時通信。這些限制可能是 由于對帶寬的需要超出供給,和/或可利用的通信技術未提供足夠帶寬 以滿足用戶的需要。例如,在某些節點之間,帶寬可能是大約千比特 /秒。在限制帶寬的戰術數據網絡中,次要的數據能阻塞網絡,由此阻 礙更多重要數據及時通過,或者甚至根本無法到達接收節點。另外, 部分網絡可以包括內部緩沖以便補償不可靠的鏈路。這樣做會產生額 外的延遲。此外,當緩沖器變滿時,數據會被丟棄。
在許多情況中,網絡可以利用的帶寬無法增加。例如,衛星通信 鏈路之上可獲得的帶寬是固定的,并且在不使用另一衛星的情況下無 法有效增加。在這些情況下,帶寬必須被管理而不是僅僅為處理需要 而擴展。在大型系統中,網絡帶寬是關鍵資源。對于應用來說,盡可 能有效地利用帶寬是合乎需要的。另外,當帶寬受限時,所希望的是 應用程序避免"阻塞管路,,,也就是利用數據覆蓋鏈路。當帶寬分配改 變時,應用程序最好應該起反應。例如由于服務質量、塞住、信號阻 塞、優先級重新分配和視線等原因,帶寬能動態地改變。網絡可能是 高易變性的并且可用帶寬能顯著地并且不預先通知地改變。除了帶寬限制,戰術數據網絡還會經受高等待時間。例如,涉及 衛星鏈路之上的通信的網絡會遭受大約半秒或更多的等待時間。對于 某些通信來說,這未必是問題,但是對于諸如實時、交互式通信(例 如,語音通信)之類的其它通信而言,盡可能地最小化等待時間是非 常合乎需要的。
許多戰術數據網絡共有的另 一特性是數據丟失。數據可能會因各 種原因丟失。例如,具有待發送數據的節點會被損壞或者毀壞。作為 另一例子,目的地節點會臨時離開網絡。例如,因為節點已經移出范 圍、通信鏈路不通和/或節點被塞住就會出現這種情況。數據可能會因 為如下原因而丟失,即,目的地節點不能接收數據而中間節點缺少足 夠的能力來緩沖數據直到目的地節點變為可利用為止。另外,中間節 點可能根本不緩沖數據,反而讓它到發送節點來確定數據曾經是否真 的到達目的地。
往往,戰術數據網絡中的應用程序不知道和/或不說明網絡特性。 例如,應用程序可能僅僅假定它具有它所需要的那么大的可利用帶 寬。作為另一例子,應用程序可以假定數據將不會在網絡中丟失。不 考慮底層通信網絡特性的應用程序可以依照實際惡化問題的方式工 作。例如,應用程序可以連續地發送數據流,所述數據流可能剛剛在 更大的波束中不經常地被有效發送。例如在廣播無線電網絡中,所述 連續的流會引起更大的開銷,這使其它節點缺乏通信,然而不頻繁的 脈沖串往往允許共享的帶寬更有效地被使用。
某些協議在戰術數據網絡之上不能正常工作。例如,諸如TCP 之類的協議在基于無線電的戰術網絡上因高丟失率和長等待時間(這 種網絡可能會遇到的)而無法正常起作用。TCP需要進行多個形式的 握手和確認以便發送數據。高等待時間和損失可能造成TCP命中超 時,并且即使有,也不能夠經由這種網絡發送大量有價值的數據。
與戰術數據網絡通信的信息相對于網絡中的其它數據往往具有 各級優先級。例如,飛行器中的威脅警告接收器可能具有比地面上幾 英里以外的軍隊的位置遙測數據信息更高的優先級。作為另一例子,
7來自總部涉及交戰的命令可能具有比在友好地列隊之后進行后勤通 信更高的優先級。所述優先級取決于所述發送方和/或接收方的特殊情 況。例如,同所述部隊僅僅遵循標準巡邏路徑時相比,當部隊主動致 力于戰斗時,位置遙測數據可能會具有非常高的優先級。同樣,來自
UAV的實時視頻數據在目標區域之上時比在它僅僅處于路徑內時具 有更高的優先級。
經由網絡遞送數據存在很多方式。由許多通信網絡使用的 一種方 法是"盡力而為"方法。也就是說,給定關于容量、等待時間、可靠性、 順序和錯誤的其它要求,正在通信的數據將被所述網絡盡其所能地處 理。由此,所述網絡不能保證任何給定的數據將會及時到達其目的地, 或者根本就到達不了。另外,不確保數據依照發送順序或者甚至在沒
有傳輸錯誤的情況下到達,所述傳輸錯誤會改變數據中的一個或多個 位。
另一方法是服務質量(QoS) 。 QoS指的是就攜帶數據而言、網 絡提供各種形式的保證的一個或多個能力。例如,支持QoS的網絡可 以確保把一定量的帶寬給數據流。作為另一例子,網絡可以確保兩個 特殊節點之間的分組具有最大等待時間。在兩個節點是經由網絡進行 談話的兩個人的情況下,這種確保可能是有用的。在這種情況下,數 據遞送中的延遲例如會導致通信中的令人煩惱的間隙和/或靜默無聲。
可以把QoS看作網絡為所選網絡業務提供更好的服務的能力。 QoS的初級目標在于提供包括專用帶寬的優先級、可控抖動和等待時 間(某些實時和交互式通信需要的)和改進的丟失特性。另一重要目 標是確認為一個流提供優先級不使其他流失敗。也就是說,對后續流 做出的保證不會打破對現有流作出的保證。
QoS的當前方法往往要求網絡中的每個節點都支持QoS,或者 至少包含特殊通信的所涉及的網絡中的每個節點都支持QoS。例如, 在當前系統中,為了在兩個節點之間提供等待時間保證,在這兩個節 點之間傳送業務的每個節點必須知道并且同意承兌且能夠承兌所述 保證。
8存在多個方法來提供QoS。 一種方法是綜合服務,或稱為 "IntServ"。 IntServ提供QoS系統,其中網絡中的每個節點支持所述 服務并且當建立連接時,那些服務被預定。由于必須在每個節點處維 持的大量狀態信息以及與建立這種連接相關聯的開銷,IntServ無法 很好地調節。
用于提供QoS的另一方法是區別服務,或稱為"DiffServ"。 DiffServ是用于加強諸如互聯網的網絡的盡力而為服務的一類服務模 式。DiffServ按照用戶、服務需求以及其它標準來區分業務。然后, DiffServ標記各分組,從而使網絡節點能經由優先級排隊或者帶寬分 配、或者通過為特殊通信流量選擇專用路徑來提供不同級別的服務。 通常,對于每一服務類別來說,節點具有各式各樣的隊列。然后,節 點選擇下 一 分組來根據分類類別從那些隊列進行發送。
現存的QoS解決方案往往是網絡專用的,并且每一網絡類型或 者體系結構都會要求不同的QoS配置。由于現存QoS解決方案所利 用的機制,當前的QoS系統看上去相同的消息可能根據消息內容而實 際上具有不同的優先級。然而,數據消費方可能需要訪問高優先級數 據,而不被較低優先級的數據充滿。現存的QoS系統無法根據消息內 容在傳輸層提供QoS。
如上所述,現存的QoS解決方案至少需要特殊通信所涉及的節 點支持QoS。然而,處于網絡"邊緣"的節點可能適合于提供QoS的某 些改進,即使它們無法做出全部保證。如果節點在通信中是參與節點 (即,傳輸和/或接收節點)和/或如果它們位于網絡中的阻塞點,那 么認為它們處于網絡的邊緣。阻塞點是所有業務必須經過以到達另一 部分的網絡段。例如,從LAN到衛星鏈路,路由器或者網關往往是 瓶頸,這是由于從LAN到不在LAN上的任何節點的所有業務都必須 經過網關到達衛星鏈路。
例如,如果為TCP套接字連接提供QoS,那么"打開"和"關閉" 命令是每一連接所需要的。可以為一個連接排隊數據,以便為該連接 提供QoS。當TCP套接字"關閉"被通信應用程序啟動時,如果"關閉"立即被承兌,那么已經排隊的任何數據將丟失。在當前應用程序中, 關閉被立刻處理,并且如果數據未在關閉連接之前被處理,那么可能
丟失數據。由此,需要一種系統和方法來使TCP套接字連接情況下 的數據丟失最小化。
發明內容
由此,需要一種在戰術數據網絡中提供QoS的系統和方法。需 要一種用于在戰術數據網絡邊緣提供QoS的系統和方法。另外,需要 一種用于戰術數據網絡中的自適應、可配置QoS系統和方法。
本發明的實施例提供了用于促進數據通信的系統和方法。 一種方 法包括打開網絡中第一節點和第二節點之間的連接以便在第一節點 和第二節點之間傳遞數據,以及保持與在第一節點和第二節點之間經
由所述連接傳遞的數據有關的傳輸協議命令,使得傳輸協議命令在數 據通信完成之后得以處理。
保持例如可以包括把傳輸協議命令排在數據后面,使得在數據已 經于第 一和第二節點之間通信之后,相對于所述連接執行傳輸協議命
令。所述傳輸協議命令例如可以通過操縱網絡的傳輸協議層來保持。 另外,可以在傳輸協議層排隊數據,以便優先化數據從第一節點經由 連接到第二節點的通信。所述連接例如可以包括傳輸控制協議套接字 連接。所述傳輸協議例如可以包括傳輸控制協議。所述網絡例如可以 是帶寬受網絡操作環境限制的戰術數據網絡。所述傳輸協議命令例如 可以包括關閉連接命令。
某些實施例提供了計算機可讀介質,具有指令集以便在處理設備 上執行。所述指令集包括連接例程,用于在第一節點和第二節點之間 建立傳輸連接,以便在第一節點和第二節點之間傳遞數據,并且包括 在網絡傳輸層操作的保持例程,用于保持與經由傳輸連接在第 一節點 和第二節點之間傳遞的數據有關傳輸協議命令,其中,所述傳輸協議
命令在數據通信之后被處理。
所述保持例程例如可以排隊與經由傳輸連接在第 一 節點和第二
10節點之間傳遞的數據有關的傳輸協議命令。所述指令集例如還可以包 括隊列例程,用于排隊與傳輸連接有關的數據和傳輸協議命令。所述 指令集例如還可以包括優先化例程,用于根據至少一個規則來優先化 第一節點和第二節點之間的數據通信。所述傳輸連接例如可以在戰術 數據網絡中的第一節點和第二節點之間建立。
某些實施例提供了一種用于在窄帶網絡環境中排隊傳輸協議命 令和數據的方法。所述方法可以包括接收數據以便經由網絡連接傳 輸,排隊所述數據,排隊與網絡連接有關的傳輸協議命令,經由所述 網絡連接傳輸數據,以及在傳輸數據之后傳輸所述傳輸協議命令。所 述數據和傳輸協議命令例如可以至少部分基于通信網絡的傳輸協議 層的操縱來排隊。可以根據至少一個規則來優先化數據,所述規則諸 如基于內容的規則和/或基于協議的規則。所述傳輸協議命令例如可以 包括關閉連接命令。
圖1舉例說明了依照目前所述技術的實施例操作的戰術通信網 絡環境。
圖2示出了按照目前所述技術的實施例的數據通信系統在七層 OSI網絡模型中的定位。
圖3描述了使用按照目前所述技術的實施例的數據通信系統便 利的多個網絡的示例。
圖4是舉例說明了依照本發明實施例操作的數據通信環境。
圖5舉例說明了按照目前所述技術的實施例在傳輸層之上操作 的QoS的排隊系統的示例。
圖6舉例說明了按照本發明實施例的用于傳遞數據的方法的流程圖。
具體實施例方式
當結合附圖閱讀時,將會更好地理解先前的概要以及接下來對目前所述技術的某些實施例的詳細說明。為了舉例說明目前描述的技 術,在附圖中示出了某些實施例。然而,應被理解的是,目前描述的 技術不局限于附圖中示出的結構和手段。
圖1舉例說明了依照目前描述的技術的實施例操作的戰術通信
網絡環境100。所述網絡環境100包括多個通信節點110、 一個或多 個網絡120、連接節點和一個或多個網絡的一個或多個鏈路130以及 用于便利網絡環境100的組件上的通信的一個或多個通信系統150。 接下來的論述假定網絡環境100包括一個以上的網絡120以及一個以 上的鏈路130,但應該理解的是,其它環境也是可能的并且是可預期 的。
通信節點110例如可以是和/或包括無線電、傳輸器、衛星、接 收器、工作站、服務器和/或其它計算或處理設備。 一個或多個網絡
120例如可以是用于在節點no之間傳輸數據的硬件和/或軟件。 一個
或多個網絡120例如可以包括一個或多個節點110。 一個或多個鏈路 130可以是有線和/或無線連接,以便允許在節點110和/或一個或多個 網絡120之間傳輸。
通信系統150例如可以包括軟件、固件和/或硬件,用于便利節 點110、網絡120和鏈路130當中的數據傳輸。如圖l中所示那樣, 通信系統150可以相對于節點110、 一個或多個網絡120和/或鏈路130 來實現。在某些實施例中,每個節點IIO都包括通信系統150。在某 些實施例中, 一個或多個節點110都包括通信系統150。在某些實施 例中, 一個或多個節點IIO可能不包括通信系統150。
通信系統150提供對數據的動態管理,以便有助于確保在戰術通 信網絡上(諸如網絡環境IOO)的通信。如圖2所示,在某些實施例 中,所述系統150作為OSI七層協議模型中傳輸層的一部分和/或在 其頂端來操作。所述系統150例如可以對戰術網絡中傳遞到傳輸層的 較高優先級數據給予優先。所述系統150可用來便利單個網絡(諸如 局域網(LAN)或廣域網(WAN))中的通信,或者便利跨越多個 網絡的通信。圖3中示出了多個網絡系統的示例。所述系統150例如
12可用來管理可用帶寬,而不是向網絡添加額外的帶寬。
在某些實施例中,所述系統150是軟件系統,不過在各種實施例中,系統150也可以包括石更件和軟件兩個部分。所述系統150例如可以是獨立的網絡硬件。也就是說,系統150適合于在各式各樣的硬件和軟件平臺上起作用。在某些實施例中,系統150在網絡的邊緣操作,而不是在網絡內部的節點上操作。然而,系統150也可以在網絡內部操作,諸如在網絡的"瓶頸"處。
所述系統150可以使用規則和模式或簡檔來執行吞吐量管理功能,諸如優化可用帶寬、設置信息優先級以及管理網絡中的數據鏈路。通過"優化,,帶寬,這意味著目前描迷的技術可以用來增加用于在一個或多個網絡中傳遞數據的帶寬使用的效率。優化帶寬使用例如可以包括去除功能上冗余的消息、消息流管理或排序以及消息壓縮。設置信息優先級例如可以包括依照比基于網際協議(IP)的各種技術更精細的粒度來區分消息類型,并且經由基于選定規則的排序算法把消息排列為數據流。數據鏈路管理例如可以包括對網絡測量結果進行基于規則的分析,以便影響規則、模式和/或數據傳輸方面的改變。模式或簡檔可以包括與最佳或不佳的特殊網絡狀態的操作需要有關的規則集合。所述系統150提供模式的動態、"在運行中(on-the-fly)"的重新配置,包括在運行中定義并且切換到新的模式。
通信系統150可以被配置為適應例如易變的有限帶寬網絡中的變化優先級和服務等級。系統150可以被配置為管理改進后數據流的信息,以便有助于增加網絡中的響應能力并且降低通信等待時間。另外,系統150可以經由靈活的體系結構提供互操作性,所述靈活的體系結構是可升級的并且是可擴展的,以便改進可利用性、有效性以及通信可靠性。系統150例如支持可自發地適應動態變化環境、同時使用預定并且可預測的系統資源和帶寬的數據通信體系結構。
在某些實施例中,系統150提供對限制帶寬的戰術通信網絡的吞吐量的管理,同時保持對使用網絡的應用程序透明。系統150跨越多個用戶和環境以降低的復雜性向網絡提供吞吐量管理。如上所述,在
13某些實施例中,系統150在OSI七層模型的第四層(傳輸層)中和/或其頂端處的主節點上運行,并且不需要專門的網絡硬件。所述系統150可以透明地對第四層接口操作。也就是說,應用程序可以使用傳輸層的標準接口并且不知道系統150的操作。例如,當應用程序打開套接字時,所述系統150可以在協議棧中的此點過濾數據。所述系統150通過允許應用程序例如使用TCP/IP套接字接口而不是專用于系統150的接口來實現透明度,其中所述TCP/IP套接字接口是由網絡上通信設備處的操作系統提供的。系統150規則例如可以依照可擴展標記語言(XML)來撰寫和/或經由自定義動態鏈接庫(DLL)來提供。
在某些實施例中,所述系統150在網絡邊緣上提供服務質量(QoS)。系統的QoS能力例如在網絡邊緣上提供基于內容的、基于規則的數據優先化。優先化例如可以包括區別和/或排序。所述系統150例如可以根據用戶可配置的區別規則把消息區分為隊列。按照由用戶配置的排序規則(例如,缺乏、循環復用、相對頻率等等)所規定的順序把所述消息排序為數據流。在邊緣上使用QoS,不能由傳統QoS方法區別的數據消息可以根據消息內容得以區分。規則例如可以依照XML實現。在某些實施例中,為了適應XML以外的能力和/或為了支持極低的等待時間要求,系統150例如允許動態鏈接庫配有自定義碼。
網絡上的入境和/或出境數據可以經由系統150來自定義。例如,優先化保護客戶端應用程序免受大體積、低優先級的數據。系統150有助于確保應用程序接收數據以便支持特殊操作情形或限制。
在某些實施例中,當把主機與LAN相連時,其中LAN包括作為與限制帶寬的戰術網絡的接口的路由器,所述系統可以依照被代理稱為QoS的配置來操作。依照此配置,準備去往本地LAN的分組繞過所述系統并且立即進入LAN。所述系統在網絡邊緣上把QoS應用于去往限制帶寬的戰術鏈路的分組。
在某些實施例中,所述系統150經由命令簡檔切換對多個操作情形和/或網絡環境提供動態支持。簡檔可以包括名稱或其它標識符,其允許用戶或系統改變為所命名的簡檔。簡檔例如還可以包括一個或多個標識符,諸如功能冗余規則標識符、區別規則標識符、檔案接口標識符、排序規則標識符、傳輸前接口標識符、傳輸后接口標識符、傳送標識符和/或其它標識符。功能冗余規則標識符規定用于根據過時數據或基本上類似的數據來檢測功能冗余的規則。區別規則標識符例如規定用于把消息區分為隊列來處理的規則。檔案接口標識符例如規定與檔案系統的接口。排序規則標識符標識用于控制隊列前端的樣本并由此控制數據流上的數據排序的排序算法。傳輸前接口標識符例如規定用于傳輸前處理的接口,其提供諸如加密和壓縮之類的特殊處理。傳輸后接口標識符例如標識用于傳輸后處理的接口 ,其提供諸如解密和解壓之類的特殊處理。傳送標識符規定用于所選傳送的網絡接口。簡檔例如還可以包括其它信息,諸如隊列大小確定信息。例如,隊列大小確定信息標識多個隊列和專用于每一隊列的存儲器和二級存儲器的量。
在某些實施例中,所述系統150提供基于規則的方法來優化帶寬。例如,系統150可以釆用隊列選擇規則來把消息區分為消息隊列,使得可以給消息分配優先級以及數據流上的適當相對頻率。系統150可以使用功能冗余規則來從功能上管理冗余消息。例如,如果不是與仍未在網絡上發送的先前消息非常不同(正如規則所定義的),那么消息在功能上是冗余的。也就是說,如果新消息假如不是與早已被調度發送但仍未發送的舊消息非常不同,那么可以丟棄新消息,這是由于舊消息將傳送功能上等效的信息并且遠在隊列的前面。另外,功能冗余多數包括實際重復消息和在舊消息已經被發送以前到達的最新消息。例如,因基礎網絡的特性,節點可能收到特殊消息的相同副本,諸如出于容錯原因而由兩個不同路徑發送的消息。作為另一例子,新消息可能包含用于取代仍未被發送的舊消息的數據。在這些情況下,所述系統150可以丟棄舊消息而只發送新消息。系統150還可以包括優先級排序規則,用于確定數據流的基于優先級的消息序列。另外,
15所述系統150可以包括傳輸處理規則,用于提供傳輸前和傳輸后特殊處理,諸如壓縮和/或加密。
在某些實施例中,系統150提供容錯能力以便有助于保護數據完整性和可靠性。例如,系統150可以使用用戶定義的隊列選擇規則來把消息區分為隊列。所述隊列例如是依照用戶定義的配置來定大小。所述配置例如規定隊列可以耗費的最大存儲器量。另外,所述配置可以允許用戶規定用于隊列溢出的二級存儲器的位置和量。在隊列中的存儲器被填滿之后,消息可以在二級存儲器中排隊。當二級存儲器也被填滿時,系統150可以移除隊列中最舊的消息,記錄錯誤消息并且把最新的消息排隊。如果操作模式允許存檔,那么可以利用指示符把出隊的消息存檔,其中所述指示符表示消息未被在網絡上發送。
用于系統150中的隊列的存儲器和二級存儲器例如可以基于每一鏈路為專用應用程序配置。網絡可用性周期之間的時間越長,就對應更多的存儲器和二級存儲器,以便支持網絡停歇。例如,系統150可以與網絡建模和模擬應用程序整合,以便有助于標識大小,由此有助于確保隊列被適當地確定大小并且停歇之間的時間足以有助于獲得穩定狀態并且有助于避免最終的隊列溢出。
此外,在某些實施例中,系統150提供用于計量入境("成型(shaping),,)和出境("修正(policing),,)數據的能力。修正和成型能力有助于解決網絡中定時的失配。成型有助于防止網絡緩沖器被在更低優先級數據之后排隊等候的高優先級數據充滿。修正有助于防止應用程序數據消費方被低優先級數據超出。修正和成型取決于兩個參數有效鏈接速度和鏈接比例。例如,系統150可以形成這樣的數據流,所述數據流無非是有效鏈接速度乘以鏈接比例。所述參數可以隨著網絡的改變被動態地修改。所述系統還可以提供對檢測到的鏈接速度的訪問,以便支持對數據計量的應用程序水平決定。由系統150提供的信息可以同其它網絡操作信息相結合,用于有助于判定什么樣的鏈接速度適于給定網絡情形。
在某些實施例中,可以把QoS提供給OSI協議模型的傳輸層以
16上的通信網絡。具體來講,QoS技術可以恰在傳輸協議連接的套接字層以下實現。所述傳輸協議例如可以包括傳輸控制協議(TCP)、用戶數據報協議(UDP)或流控制傳輸協議(SCTP)。作為另一例子,所述協議類型可以包括網際協議(IP)、網絡間分組交換(IPX)、以太網、異步傳輸模式(ATM)、文件轉送協議(FTP)和/或實時傳輸協議(RTP)。為了例證說明,將使用TCP提供一個或多個示例。
由于TCP是面向連接的,所以套接字經由"打開,,和"關閉,,命令被打開和關閉,以便開始和結束節點或其它網絡元件之間的數據通信連接。當TCP套接字被正在使用QoS的應用程序關閉時,為傳輸排隊的優先化的數據應在網絡系統執行關閉命令之前被發送。否則,如果"關閉"立即由系統承兌,那么已經排隊的數據會被丟失。為此,所述"關閉,,被排隊,直到有關數據被發送為止,然后在把數據已經經由連接傳輸之后,再處理關閉。由此,與傳統的TCP連接不同,關閉命令會與數據一起排隊,以便在連接響應于所述關閉命令被終止以
前,允許協調與打開連接有關的數據的協同處理和傳輸。
其它網絡環境中的現有QoS解決方案是在網絡層以下實現的,以便消除"關閉,,命令排隊或保持。例如,某些實施例提供了用于排隊或保持"關閉,,命令的機制,因此QoS技術可以在傳輸層之上實現,這樣做考慮到了數據的檢查和區別。例如,對于網絡層以下不可利用的QoS處理來說,在TCP中在傳輸層之上實現QoS解決方案有助于提供鑒別或區分數據的能力。在某些實施例中,傳輸協議被修改或者被操縱,以便除了數據之外,使系統命令(諸如關閉連接命令)也能被排隊或者保持。
例如,某些實施例讓傳輸協議機制以及數據一起排隊等候或者保持/存儲,以便維持協議機制和相關聯數據之間的順序。例如,對于TCP套接字連接來說,TCP關閉命令被標識并且與相關聯數據一起排隊,使得在關閉命令被處理以便終止連接之前,所述相關聯數據經由所述連接被處理和傳輸。通過在傳輸層之上操作,某些實施例能夠標識協議機制(諸如關閉命令)并且操縱所述機制。相比之下,傳輸 層以下的協議機制和數據被分段并且壓縮,并且難以運用規則來操縱 與數據有關的協議機制(諸如關閉命令)。
圖4舉例說明了依照本發明實施例操作的數據通信環境400。環 境400包括數據通信系統410、 一個或多個源節點420和一個或多個 目的地節點430。數據通信系統410與一個或多個源節點420和一個 或多個目的地節點430通信。所述數據通信系統410例如可以經由諸 如無線電、衛星的鏈路、網絡鏈路和/或經由進程間通信來與一個或多 個源節點420和/或 一個或多個目的地節點430通信。在某些實施例中, 所述數據通信系統410可以經由一個或多個戰術數據網絡與 一個或多 個源節點420和/或目的地節點430通信。
例如,所述數據通信系統410類似于如上所述的通信系統150。 在某些實施例中,所述數據通信系統410適于從一個或多個源節點420 接收數據。在某些實施例中,所述數據通信系統410可以包括一個或 多個隊列,用于保持、存儲、組織和/或優先化數據。作為選擇,也可 以使用其它數據結構來保持、存儲、組織和/或優先化數據。例如,可 以使用表、樹或鏈表。在某些實施例中,所述數據通信系統410適于 向一個或多個目的地節點430傳遞數據。
由數據通信系統410接收、存儲、優先化、處理、傳遞和/或傳 輸的數據可以包括數據塊。該數據塊例如可以是分組、單元、幀和/ 或數據流。例如,所述數據通信系統410可以從源節點420接收數據 分組。作為另 一例子,所述數據通信系統410可以處理來自源節點420 的數據流。
在某些實施例中,數據包括首部和凈荷。所述首部例如可以包括 協議信息和時間戳信息。在某些實施例中,凈荷中可以包括協議信息、 時間戳信息、內容以及其他信息。在某些實施例中,數據在存儲器中 可能是連續的或者可能不連續。也就是說,數據的一個或多個部分可 以位于存儲器的不同區域中。在某些實施例中,數據例如可以包括指 向包含數據的另一位置的指針。一個或多個源節點420至少部分地提供和/或生成由數據通信系 統410處理的數據。源節點420例如可以包括應用程序、無線電、衛 星或者網絡。所述源節點420可以經由鏈路與數據通信系統410通信, 如上所述。 一個或多個源節點420例如可以生成連續的數據流或者生 成突發數據。在某些實施例中,源節點420和數據通信系統410是同 一個系統的一部分。例如,源節點420可以是在與數據通信系統410 相同的計算機系統上運行的應用程序。
一個或多個目的地節點430接收由數據通信系統410處理的數 據。目的地節點430例如可以包括應用程序、無線電、衛星或者網絡。 目的地節點430可以經由鏈路與數據通信系統410通信,如上所述。 在某些實施例中,目的地節點430和數據通信系統410是同一個系統 的一部分。例如,目的地節點430可以是正在與數據通信系統410相 同的計算機系統上運行的應用程序。
數據通信系統410可以經由鏈路與一個或多個源節點420和/或 目的地節點430通信,如上所述。在某些實施例中, 一個或多個鏈路 可以是戰術數據網絡的一部分。在某些實施例中, 一個或多個鏈路可 以是限制帶寬的。在某些實施例中, 一個或多個鏈路可能會不可靠和 /或間歇地斷開。在某些實施例中,諸如TCP之類的傳輸協議打開源 節點420和目的地節點430處的套接字之間的連接,以便在鏈路上從 源節點420向目的地節點430傳輸數據。
在操作中,數據由一個或多個數據源420提供和/或生成。所述 數據在數據通信系統410處被接收。所述數據例如可以經由一個或多 個鏈路接收。例如,數據可以經由戰術數據網絡在數據通信系統410 處從無線電接收。作為另一例子,正在同一系統上運行的應用程序可 以通過進程間通信機制把數據提供給數據通信系統410。如上所述, 所述數據例如可以是數據塊。
在某些實施例中,所述數據通信系統410可以組織數據和/或優 先化數據。在某些實施例中,所述數據通信系統410可以確定數據塊 的優先級。例如,當由數據通信系統410接收到數據塊時,數據通信系統410的優先化組件可以確定該數據塊的優先級。作為另一例子, 在數據通信系統410中,可以把數據塊存儲在隊列中,并且優先化組 件可以根據為該數據塊和/或為隊列確定的優先級,從隊列中提取該數 據塊。
例如,由數據通信系統410優先化數據可用來提供QoS。例如,
級。所述優先級例如可以取決于數據的源地址。例如,與起源于不同 作戰區域的不同部門的部隊的數據相比,來自與數據通信系統410所 屬小隊相同的小隊的成員的無線電的數據的源ip地址可以被給予更 高的優先級。所述優先級可用來確定數據應被放入多個隊列的哪個隊 列以便后續由數據通信系統410傳遞。例如,較高優先級數據可以被 放置在打算保持較高優先級數據的隊列中,并且數據通信系統410在 確定接下來傳遞什么數據的過程中,也首先查看較高優先級隊列。
所述數據至少部分基于一個或多個規則被給予優先級。如上所 述,所述規則可以是用戶定義的。在某些實施例中,規則例如可以依 照可擴展標記語言("xml")來撰寫和/或經由自定義動態鏈接庫 (dll)來提供。規則例如可用來區分網絡上的數據和/或對其排序。 規則例如可以規定使用 一種協議接收的數據比使用另 一協議的數據 受到優待。例如,命令數據可以利用這樣的特殊協議,所述特殊協議 經由規則被給予超過使用另一協議發送的位置遙測數據的優先級。作 為另一例子,規則可以規定出自第一地址范圍的位置遙測數據可以被 給予超過出自第二地址范圍的位置遙測數據的優先級。第一地址范圍 例如可以表示與正在運行數據通信系統410的飛行器處于同一飛行中 隊中的其它飛行器的ip地址。所述第二地址范圍例如可以表示不同
作戰區域中其它飛行器的ip地址,由于位于不同作戰區域,因此重 要性不及運行數據通信系統410的飛行器。
在某些實施例中,所述數據通信系統410不丟棄數據。也就是說, 雖然數據可能具有低優先級,但是數據通信系統410不會丟棄它。更 確切地講,數據可能會被延遲一段時間,這可能取決于接收到的較高
20優先級數據的數量。在某些實施例中,數據例如可以被排隊或者存儲, 以便有助于確保所述數據不會丟失或者丟棄,直到帶寬可以用來發送 所述數據為止。
在某些實施例中,所述數據通信系統410包括模式或者簡檔指示 符。所述模式指示符例如可以表示數據通信系統410的當前模式或者 狀態。如上所述,數據通信系統410可以使用規則和模式或者簡檔來 執行吞吐量管理功能,諸如優化可用帶寬、設置信息優先級以及管理 網絡中的數據鏈路。不同的模式例如會影響規則、模式和/或數據傳輸 方面的改變。模式或簡檔可以包括與最佳或不佳的特殊網絡狀態的操 作需要有關的規則集合。數據通信系統410例如可以提供模式的動態 重新配置,包括"在運行中"定義并且切換到新的模式。
在某些實施例中,數據通信系統410對于其它應用程序是透明 的。例如,由數據通信系統410執行的處理、組織和/或優先化對于一 個或多個源節點420或者其它應用程序或數據源可以是透明的。例如, 在與數據通信系統410相同的系統上或者在與數據通信系統410相連 的源節點420上運行的應用程序可能不知道數據通信系統410所執行 的數據優先化。
數據是經由數據通信系統410傳遞的。所述數據例如可以被傳遞 給一個或多個目的地節點430。所述數據例如可以經由一個或多個鏈 路被傳遞。例如,數據可以由數據通信系統410經由戰術數據網絡向 無線電傳遞。作為另一例子,數據通信系統410可以通過進程間通信 機制把數據提供給在相同系統上運行的應用程序。
如上所述,數據通信系統410的組件、元件和/或功能例如可以 單獨實現,或者以各種形式(硬件、固件和/或軟件中的指令集)組合 實現。某些實施例可以作為駐留在計算機可讀介質(諸如存儲器、硬 盤、DVD或者CD)上的指令集來提供,以便在通用計算機或者其它 處理設備上執行。
圖5舉例說明了按照目前所述技術的實施例在傳輸層以上操作 的用于QoS的排隊系統500的示例。雖然圖5是就隊列來舉例說明并且描述的,但是應該理解的是,也可使用可替代的數據結構來保持數
據以及類似于排隊系統500的協議機制。所迷排隊系統500包括一個 或多個隊列510-515。隊列510-515包括排隊指針520和出隊指針530。 隊列510-515例如還可以包括數據540-541和/或關閉命令550。在某 些實施例中,數據540-541可以包括連續的或者非連續的數據部分。 在某些實施例中,數據540-541可以包括指向包含數據的其它位置的 一個或多個指針。
如圖5所示,隊列510首先圖示了沒有數據進行排隊的空隊列。 然后,數據塊540在隊列511中進行排隊。接下來,隊列512具有兩 個排隊的數據塊540-541。然后,關閉命令550以及兩個數據塊540-541 已經在隊列513中排隊。所述數據塊540-541在網絡中被處理,同時 關閉命令550在隊列514中仍處于它們之后。在某些實施例中,數據 塊540-541可以按照不同于數據塊540-541進行排隊的順序被處理和 傳輸。然后,如隊列515所示,把關閉命令550從隊列515中移除并 且被處理以便關閉數據連接。
由此,諸如數據通信系統410之類的系統例如可以管理在源節點 420和目的地節點430之間打開的連接。系統410可以把經由連接傳 輸的數據進行排隊,并且還把協議命令進行排隊,所述協議命令諸如 傳輸協議命令(例如,"打開連接,,命令和"關閉連接,,命令)。可以把 協議命令與節點之間的某一連接相關聯,并且與某些數據相關聯。系 統410有助于確保與所述連接相關聯的數據在協議命令被處理以前被 傳輸和/或處理。由此,經由源節點420和目的地節點430之間的TCP 套接字連接傳輸的數據例如可在關閉命令被處理以便終止連接以前 經由所述套接字連接被傳輸。把所述關閉命令排在用于連接的數據之 后,并且雖然用于連接的數據可以依照優先級和/或其它規則按照改變 的順序被處理和/或傳輸,但是關閉命令直到數據處理完成才會被處 理。 一旦用于連接的數據已經被處理,那么就處理關閉命令以便終止 TCP套接字連接。
在一個實施例中,諸如戰術數據網絡之類的限制帶寬的網絡例如包括至少兩個通信節點,諸如航空無線電和陸軍無線電。所述飛行器
可以通過激活或者打開例如航空無線電和地面無線電之間的TCP套 接字連接來向地面無線電傳輸消息。然后開始在航空無線電和地面無 線電之間傳輸數據。數據在傳輸過程期間進行排隊或者被臨時存儲, 以便根據內容、協議和/或其它標準來優先化數據。當航空無線電生成 關閉連接命令以便結束通信時,所述關閉命令被存儲或者被排在數據 之后,以便確保數據在關閉命令以前被優先化并且被傳送給地面無線 電。由此,所述系統有助于確保通信連接不會過早地結束,并且由此 防止因過早處理關閉命令而使數據丟失。然而,其它環境條件會造成 通信連接的終止和/或中斷。由此,隊列和/或其它數據存儲裝置可用 來緩沖數據,以便倘若發生通信連接的中斷可以恢復傳輸。
圖6舉例說明了按照本發明實施例的用于傳遞數據的方法600 的流程圖。所述方法600包括如下步驟,這將在下文比較詳細地描述。 在步驟610,打開連接。在步驟620,接收數據。在步驟630,把數據 進行排隊。在步驟640,把關閉命令進行排隊。在步驟650,數據被 出隊并且傳輸。在步驟660,關閉命令被出隊并且執行。所述方法600 是參照如上所述的系統元件描述的,但應該理解的是,其它實現方式 也是可能的。
在步驟610,打開連接。例如,在通信網絡中的兩個節點之間打 開連接。例如,TCP連接可以在節點套接字之間被打開。
在步驟620,接收數據。所述數據例如可以在數據通信系統410 處接收。所述數據例如可以經由一個或多個鏈路接收。所述數據例如 可以由一個或多個數據源420提供和/或生成。例如,數據可以經由戰 術數據網絡在數據通信系統410處從無線電接收。作為另一例子,在 同 一 系統上運行的應用程序可以通過進程間通信機制把數據提供給 數據通信系統410。如上所述,所述數據例如可以是數據塊。
在某些實施例中,數據通信系統410可能不接收所有數據。例如, 某些數據可以被存儲在緩沖器中,并且數據通信系統410只接收首部 信息和緩沖器的指針。例如,數據通信系統410可以與操作系統的協議棧桂鉤,并且當應用程序把數據經由傳輸層接口 (例如,套接字)
傳遞給操作系統時,那么操作系統就可以向數據通信系統410提供對 數據的訪問。
在步驟630,把數據進行排隊。所述數據例如可以由數據通信系 統410進行排隊。所述數據例如可以根據一個或多個規則或者由系統 410建立的優先級、所使用的協議和/或其它機制來進行排隊。所述數 據例如可以依照被接收時的順序進行排隊,和/或依照替代的順序進行 排隊。在某些實施例中,數據可以被存儲在一個或多個隊列中。 一個 或多個隊列例如可以被分配不同的優先級和/或不同的處理規則。
一個或多個隊列中的數據可以被優先化。所述數據例如可以由數 據通信系統410來優先化和/或組織。待優先化的數據例如可以是在步 驟620接收的數據。例如可以在把數據進行排隊之前和/或之后對數據 優先化。在某些實施例中,所述數據通信系統410可以確定數據塊的 優先級。例如,當由數據通信系統410接收到數據塊時,數據通信系 統410的優先化組件可以確定該數據塊的優先級。作為另一例子,在 數據通信系統410中,可以把數據塊存儲在隊列中,并且優先化組件 可以根據為該數據塊和/或為隊列確定的優先級,從隊列中提取該數據 塊。數據塊的優先級可以至少部分基于與數據塊相關聯和/或包括在數 據塊中的協議信息。例如,所述協議信息可以類似于如上所述的協議 信息。例如,所述數據通信系統410可以根據數據塊的源地址為該數 據塊確定優先級。作為另一例子,所述數據通信系統410可以根據用 于傳遞該數據塊的傳輸協議為該數據塊確定優先級。數據優先級例如 還可以至少部分基于數據內容被確定。
例如,數據的優先化可用來提供QoS。例如,所述數據通信系統 410可以為經由戰術數據網絡接收的數據確定優先級。所述優先級例 如可以基于數據的源地址。例如,與起源于不同作戰區域的不同部門 的部隊的數據相比,來自與數據通信系統410所屬小隊相同的小隊的 成員的無線電的數據的源IP地址可以被給予較高的優先級。所述優 先級可用來確定數據應被放入多個隊列的哪個隊列以便后續由數據
24200780022746. 0
通信系統410傳遞。例如,較高優先級數據可以被放置在打算保持更 高優先級數據的隊列中,并且數據通信系統410在確定接下來傳遞什 么數據的過程中,也首先查看較高優先級隊列。
所述數據至少部分基于一個或多個規則被優先化。如上所述,所 述規則例如可以是用戶定義的和/或根據系統編程的和/或是操作受限 的。在某些實施例中,例如可以依照XML撰寫規則和/或經由自定義 DLL來提供。規則例如可以規定使用 一種協議接收的數據比使用另一 協議的數據受到優待。例如,命令數據可以利用這樣的特殊協議,所 述特殊協議經由規則被給予超過使用另一協議發送的位置遙測數據 的優先級。作為另一例子,規則可以規定出自第一地址范圍的位置遙 測數據可以被給予超過出自第二地址范圍的位置遙測數據的優先級。 第 一地址范圍例如可以表示與正在運行數據通信系統410的飛行器處 于同一飛行中隊中的其它飛行器的IP地址。所述第二地址范圍例如 可以表示處于不同作戰區域中的其它飛行器的IP地址,由于位于不 同作戰區域,因此重要性不及運行數據通信系統410的飛行器。
在某些實施例中,不會把待優先化的數據丟棄。也就是說,雖然 數據可能具有低優先級,但是數據通信系統410不會丟棄它。更確切 地講,數據可能會被延遲一段時間,這可能取決于接收到的較高優先 級數據的數量。
在某些實施例中,模式或者簡檔指示符例如可以表示數據通信系 統410的當前模式或者狀態。如上所述,可以使用規則和模式或者簡 檔來執行吞吐量管理功能,諸如優化可用帶寬、設置信息優先級以及 管理網絡中的數據鏈路。不同的模式例如會影響規則、模式和/或數據 傳輸方面的改變。模式或簡檔可以包括與最佳或不佳的特殊網絡狀態 的操作需要有關的規則集合。數據通信系統410例如可以提供模式的 動態重新配置,包括"在運行中"定義并且切換到新的模式。
在某些實施例中,數據的優先化對于其它應用程序是透明的。例 如,由數據通信系統410執行的處理、組織和/或優先化對于一個或多 個源節點420或者其它應用程序或數據源可以是透明的。例如,在與
25數據通信系統410相同的系統上或者在與數據通信系統410相連的源 節點420上運行的應用程序可能不知道數據通信系統410所執行的數 據優先化。
在步驟640,諸如傳輸協議打開或者關閉命令之類的系統或者協 議命令進行排隊。由此,諸如TCP關閉命令之類的協議機制可以被 操縱以便連同數據一起被存儲在一個或多個隊列中。在某些實施例 中,連接關閉命令可以被存儲在與連接相關聯的數據相同的隊列中。 作為選擇,所述命令可以被存儲在與相關數據不同的隊列中。
在步驟650,數據出隊。所述數據例如可以被出隊并且傳輸。出 隊數據例如可以是在步驟620接收的數據。出隊數據例如可以是在步 驟630進行排隊的數據。如上所述,可以在傳輸之前和/或在傳輸期間 優先化數據。所述數椐例如可以從數據通信系統410被傳遞。所述數 據例如可以被傳送給一個或多個目的地節點430。所述數據例如可以 經由一個或多個鏈路被傳遞。例如,數據可以由數據通信系統410經 由戰術數據網絡向無線電傳遞。作為另一例子,數據通信系統410可 以通過進程間通信機制把數據提供給在相同系統上運行的應用程序。 數據例如可以經由TCP套接字連接來傳輸。
在步驟660,關閉命令出隊。所述命令例如可以是在步驟640進 行排隊的命令。在某些實施例中,所述命令是在與命令相關聯的數據 和/或與命令相關聯的連接已經出隊并且傳輸之后才出隊的。例如,關 閉連接命令可以在與連接相關聯的數據已經出隊并且經由連接傳輸 之后才出隊。
方法600的一個或多個步驟例如可以單獨實現,或者依照硬件、 固件、和/或軟件中的指令集組合實現。某些實施例可以作為駐留在計 算機可讀介質(諸如存儲器、硬盤、DVD或者CD)上的指令集來提 供,以便在通用計算機或者其它處理設備上執行。
本發明的某些實施例可以省略這些步驟的一個或多個和/或依照 不同于所列順序的順序來執行這些步驟。例如,某些步驟在本發明的 某些實施例中可能不執行。作為另一個例子,某些步驟會依照不同于
26上文列出的時間順序來執行,包括同時執行。
由此,本發明的某些實施例提供了用于為QoS排隊數據和協議 機制命令的系統和方法。某些實施例提供了有助于確保在對該連接完 成QoS和數據傳輸以前連接不過早地被協議命令關閉的技術效果。
權利要求
1. 一種數據通信方法,所述方法包括打開網絡中第一節點和第二節點之間的連接,以便在所述第一節點和所述第二節點之間傳遞數據;以及與正經由所述連接在所述第一節點和所述第二節點之間傳遞的所述數據有關地保持傳輸協議命令,使得在完成所述數據的傳遞之后處理所述傳輸協議命令。
2. 如權利要求1所述的方法,其中,所述保持步驟進一步包括把 所述傳輸協議命令排在所述數據之后,使得在所述數據已經在所述第 一節點和所述第二節點之間被傳遞之后,相對于所述連接執行所述傳 輸協議命令。
3. 如權利要求1所述的方法,其中,所述保持步驟進一步包括操命令。
4. 如權利要求1所述的方法,進一步包括在傳輸協議層保持所述 數據,以便優先化所述數據從所述第 一節點經由所述連接到所述第二 節點的傳遞。
5. 如權利要求1所述的方法,其中,所述連接包括傳輸控制協議 ("TCP,,)連接。
6. 如權利要求1所述的方法,其中,所述網絡包括帶寬受所述網 絡操作環境的限制的戰術數據網絡。
7. 如權利要求1所述的方法,其中,所述傳輸協議命令包括關閉 連接命令。
8. —種計算機可讀介質,具有指令集以便在處理設備上執行,所 述指令集包括連接例程,用于在第一節點和第二節點之間建立傳輸連接,以便 在所述第一節點和所述第二節點之間傳遞數據;以及在網絡傳輸層操作的保持例程,用于與正經由所述傳輸連接在所述第一節點和所述第二節點之間傳遞的所述數據有關地保持傳輸協 議命令,其中,所述傳輸協議命令在所述數據傳遞之后被處理。
9. 如權利要求8所述的指令集,其中,所述保持例程把所述傳輸 協議命令排在所述數據之后,使得在所述數據已經在所述第一節點和所述第二節點之間被傳遞之后,相對于所述傳輸連接執行所述傳輸協 議命令。
10. 如權利要求8所述的指令集,進一步包括隊列例程,用于排 隊與所述傳輸連接有關的所述數據和所述傳輸協議命令。
全文摘要
本發明的某些實施例提供了用于在窄帶網絡環境中排隊傳輸協議命令和數據的系統和方法。所述方法可以包括接收數據以便經由網絡連接進行傳輸,排隊所述數據,排隊與網絡連接有關的傳輸協議命令,經由所述網絡連接傳輸數據,并且在傳輸數據之后傳輸所述傳輸協議命令。在某些實施例中,所述數據和傳輸協議命令至少部分基于操縱諸如戰術數據網絡的通信網絡的傳輸協議層來排隊。在某些實施例中,根據至少一個規則來優先化數據,所述規則諸如基于內容的規則和/或基于協議的規則。在某些實施例中,所述傳輸協議命令例如包括關閉連接命令。
文檔編號G06F15/16GK101502055SQ200780022746
公開日2009年8月5日 申請日期2007年5月1日 優先權日2006年5月2日
發明者A·P·加盧斯希歐, D·L·史密斯, R·J·卡納茲克 申請人:哈里公司