中文字幕无码日韩视频无码三区

通信方法、通信系統、節點及程序的制作方法

文檔序(xu)號(hao):7674898閱讀(du):150來源:國(guo)知局
專利名稱:通信方法、通信系統、節點及程序的制作方法
技術領域
本發明涉及到一種包通信技術及多重化通信技術。
背景技術
在包數據通信中,數字數據收容在被稱為包的小包中并傳送到網 絡上。"包"包括傳送的數據本身以及用于網絡上的傳送控制的、收 容信息的數據頭。在階層化網絡中,上位層的數據頭在下位層中包含 在數據本身中。在進行包數據通信的網絡內的各節點中安裝有如下傳 送協議的功能解讀輸入的各個包的數據頭,根據需要進行編輯,將 同一數據發送到下一節點。 一般情況下,包傳送協議是非同步協議, 同一網絡上的不同包的傳送由各節點在任意時刻進行。因此,包傳送 只要在發送節點性能允許的范圍內,可以任意的速度進行。
但是,網絡上的各節點或通信路徑分別在各自的性能、負荷下動 作,因此在從發送節點到接收節點的路徑中的某一處,傳送能力如果 小于傳送速度,則產生包的延遲或廢棄。為避免這一情況,在發送節 點和接收節點之間進行用于監視通信狀態的信號傳輸,將其結果反饋 到發送速度,保持適當的發送速度,這一機構稱為流控制。
作為代表性的流控制協議,作為OSI7層模型中的第4層協議的 TCP為世人所知(具體參照非專利文獻1)。第3層使用IP (網際協 議)時,將TCP包從發送節點傳送到接收節點的例子如圖16所示。TCP 在第3層以下提供的端到端(end-to-end)連接的基礎上,為了避免施 加過度負荷引起的包的延遲、欠缺、或對其他會話的過度的帶寬壓迫, 安裝了滑動窗口方式的流控制(具體參照非專利文獻2)。在滑動窗口 方式中,使網絡中保持一定量(例如,直到和發送的包對應的ACK到 達為止可發送的量)以下的包,從而避免過度負荷引起的傳送故障, 同時實現下位層的連接所提供的帶寬的有效利用。
由網絡保持的數據量的上限值被稱為窗口大小。在滑動窗口方式 下,為了有效利用帶寬,需要設定與帶寬和往返延遲的積成比例的窗 口大小。例如,在可忽略下位層的傳送節點中的處理延遲、且路徑上 的物理鏈接在可忽略傳送延遲的程度下、僅由短距離的有線線路構成 時,包的傳送延遲與帶寬成反比,因此無論帶寬如何,窗口大小相同 即可。
但是,在無法忽略下位層的傳送節點中的處理延遲、傳送延遲的 情況下,下位層的連接帶寬越寬,為了有效利用網絡的帶寬,越需要 將窗口大小設定得較大。另一方面,當窗口大小變大時,其結果導致 對網絡的負荷增大,包延遲、損失的可能性增大,在TCP中,具有一 定以上的延遲/帶寬面積的路徑中,流控制限制傳送帶寬,無法有效利
用路徑本來的帶寬(具體參照非專利文獻3)。作為在這種情況下也可
將對網絡的負荷抑制到一定程度以下、同時可有效利用帶寬的方法,
提出了如下并列TCP的方法(具體參照非專利文獻4):在同一系統 路徑上展開多個TCP會話,通過將各會話的延遲/帶寬面積保持在一定
程度以下,可確保高帶寬利用效率。
并且,如下反多重化方法為世人所知在二個節點之間存在多個 路徑時,在該二個節點間按照每個路徑展開包傳送會話,由各會話分 散負荷并并列傳送,從而使二個節點之間的通信寬帶化。例如也提出
了以下方法(具體參照非專利文獻5):在各路徑上展開TCP會話并 并列傳送,和使用單一路徑時相比,進行寬帶的二個節點間的傳送。
接著考慮將TCP適用于包括延遲、帶寬急速變動的無線鏈接的路 徑的情況。此時,為了有效利用帶寬,需要對應于延遲和帶寬的積(以 下稱為延遲/帶寬面積)最大的狀態(時刻)來設定窗口大小。這樣一 來,當帶寬變小時,延遲與帶寬成反比例而變大,因此使用該多個路
徑進行并列傳送時,存在路徑之間的抖動(jitter)變大的問題。作為避
免該問題的同時使含有無線鏈接的路徑多重化的方法,提出了進行路
徑之間的負荷分散的Mobile Inverse Mux (具體參照非專利文獻6、 8、 10、 11),以便監視各路徑的速度及延遲的同時,使各個包經過最短 的延遲路徑。以下將Mobile Inverse Mux簡稱為MIM。
MIM監視各路徑的速度和延遲,但在含有延遲較大的無線鏈接的 路徑中,由于監視結果的反饋產生延遲,因此參照保持的過去的發送 歷史,由反饋結果變得有效的時刻之后的歷史,預測現在發送包時的 延遲。根據對各路徑的延遲預測值進行流控制,從而可有效利用帶寬, 同時抑制使路徑多重化時的抖動。
在MIM等反多重化協議的大多數中,具有包順序控制功能,使經 由不同路徑傳送的包的順序傳送到下游節點時,不會反轉。該功能例 如通過以下方法實現按照每個要保存順序的流,發送一側的節點向 各個包加上序列號,接收一側的節點根據接收的序列號正確地排列包 的順序,之后傳送到下游。
非專利文獻1: RFC793
非專利文獻2: 7》夕'J >夕'TCP/IP、 Phillip Miller著,才 一 厶社 開発局(1998)
非專禾U文獻3: M. Nakamura et al., "End-Node tranmissionrate control kind to intermediate routers," PFLDnet 2004.
非專利文獻4:角澤等,"長距離'高八> 卜1畐通信(二恕W3並
列TCP ,卜口 一厶間O調停O実現",SACSIS 2004.
非專利文獻5:牧、長谷川、村田、村瀬、"TCP才一"、^ ^木 7卜7 —夕O性能解析fe J:"評価"、信學技報IN04-96 (2004).
非專禾ll文獻6: T.Nkata et al., "Efficient bundling of heterogeneous radio resources for broadband Internet access from moving vehicles,"inproceedings of Global Mobile Congress 2004, Oct. 11-13 2004, Shanghai, China
非專利文獻 7 : Dovrolis, Ramanathan, and Moore, "What Do PacketDispersion Techniques Measuere ," IEEE INFOCOM 2001.
非專利文獻8:小野等,"移動體^ >夕木 〃 卜(3) —再送制方
式一",2004年電子情報通信學會総合大會、論文B-5-165 (2004).
非專利文獻9: L.S.Brakmo and L丄.Peterson, "TCP Vegas: End to End Congestion Avoidance on a Global Internet" IEEE Journal of Selected Areas in Communications, Vol.13, No.8, pl465(1995).
非專利文獻10:岡乂上等,"移動體《 >夕冬'7卜(1) 一基本 - >七7。卜i 〉f厶構成一",2004年電子情報通信學會総合大會、 論文B-5-163 (2004).
非專利文獻11:中田等、"移動體^ >夕冬7卜(2) — 7 口一 制御方式一",2004年電子情報通信學會総合大會、論文B-5-164(2004).

發明內容
如上所述,在作為現有的包傳送會話的流控制方式而廣泛應用的 TCP中,為了在具有一定程度以上的延遲/帶寬面積的路徑上有效利用 帶寬,需要展開多個會話等,使各會話應保持的延遲/帶寬面積保持較 小的機構。但是這樣一來,存在需要進行到各會話間的負荷分散等復 雜控制的問題。并且在帶寬變動的路徑上使用時,存在與帶寬成反比 例地使延遲增加的問題。
另一方面,在用于抑制延遲的同時有效利用帶寬的進行復雜的流 控制的MIM中,存在每個包中信息量大的數據頭制作、發送歷史信息 的保存等處理負荷限制傳送速度的問題。
并且,在TCP、 MIM等流控制協議中,為了保障傳送的完整性, 特別是在沒有障礙的情況下,也需要接收一側的節點以一定以上的周 期回復Ack等確認信息。尤其是蜂窩線路這樣上升和下降的速度明顯
不同的非對稱網絡中,下降帶寬和上升帶寬相比較寬,因此對應上升 帶寬設定窗口大小時,導致帶寬利用效率低下,并且上升帶寬的利用 率原本較大的情況下大量發送Ack信號時,會導致往返延遲增加的問 題。
并且,像MIM這樣,在反饋推測速度等暴露的路徑狀態并進行流
控制的協議中,對該路徑的負荷越大,在路徑的帶寬向大的方向變化 時,越可保持較高的帶寬利用效率。另一方面,路徑帶寬向小的方向 變化時,對該路徑的負荷越高,傳送延遲越大,反饋所需時間增加, 因此進行基于錯誤的狀態識別的負荷分散的時間增大。多個路徑中的 一部分產生錯誤的狀態識別時,多個路徑間的跳動增大,在匯集了多 個路徑的整體的通信中,包廢棄率或重發率上升。因此,當路徑帶寬 變化為上升傾向時,窗口大小隨之變大,使包的發送率上升時,存在
在下降傾向時產生不良影響的交替換位(trade-off)的問題。
進一步,在這些流控制協議中,數據頭相對包整體的數據大小的 占有率高,存在數據傳送中可使用的帶寬被壓迫的問題。作為其對策, 也可適用數據頭壓縮的方法。但是,在確保數據傳送可靠性的同時進 行數據頭壓縮的情況下,在發送一側和接收一側需要共享壓縮及擴展 所需的狀態變量,為了進行其更新、同步確認等,協議變得復雜。并 且,在延遲、損失較大的鏈接中,存在狀態變量的同步不及時、壓縮 效果無法實現的問題。
并且,在安裝有順序控制功能的反多重化協議中,單一的用戶流 分散負荷到各路徑并傳送的情況下,為了在用戶流內正確保持傳送順 序,在接收節點中通過路徑之間的速度差,在比完成接收的最大序列 號大2以上的序列號的包到來時,必須直到比完成接收的最大序列號 正好大1的序列號的包到來為止保留傳送。
但是當存在包損失時,具有損失的包不僅無助于救濟傳送順序,
而且會造成多余的延遲,因此不優選。在反多重化的各路徑中,緊接 著某一用戶流的包的包一般是不同的用戶流的包,因此無法推測損失 的包是哪個用戶流的。因此,無法防止本來不需要的損失的包的待機, 存在損害傳送的即時性的問題。
并且,在現有的包通信中,發送側節點對于各發送包,進行數據 頭中含有的控制信息的決定,接收節點對各個包接收進行數據頭讀取 及解析。此時,節點的處理負荷與收發數據的速度上升同時變大,節 點的處理能力決定特定協議下的節點的最大傳送速度。像MIM、 TCP 這樣處理復雜的協議中,節點的最大傳送速度容易低于路徑的帶寬, 本來為了有效利用路徑帶寬而導入的流控制的處理速度成為瓶頸,結 果造成路徑帶寬利用效率低下的問題。
因此,本發明鑒于上述課題而出現,其目的在于提供一種減輕和 數據包相關的控制信息的發送產生的負荷、提高通信效率的通信技術。
并且,本發明的目的在于提供如下技術在由多個路徑連接的節 點之間進行包通信時,使用低延遲路徑或可靠性高的路徑傳送存儲了 控制信息的前導包,從而可抑制信號傳輸信息的損失或延遲。
用于解決上述課題的第1發明的特征在于, 將多個數據包和前導包作為一個塊,
將和上述多個數據包相關的控制信息匯集到上述前導包并將其發
送,
根據接收的前導包的控制信息控制包的發送。
用于解決上述課題的第2發明的特征在于,在上述第l發明中, 上述控制信息是流控制信息。
用于解決上述課題的第3發明的特征在于,在上述第1發明中,
上述控制信息是重發控制信息。
用于解決上述課題的第4發明的特征在于,在上述第1發明中,
上述控制信息是路由信息(routing information)。
用于解決上述課題的第5發明的特征在于,在上述第1發明中, 上述控制信息是路徑信息。
用于解決上述課題的第6發明的特征在于,在上述第1至第5的 任意一個發明中,上述控制信息是上述數據包中共用的控制信息。
用于解決上述課題的第7發明的特征在于,在上述第1至第6的 任意一個發明中,專門識別前導包的識別信息包含在上述數據包中。
用于解決上述課題的第8發明的特征在于,在上述第1至第7的 任意一個發明中,專門識別對控制信息進行匯集的數據包的識別信息 包含在上述前導包中。
用于解決上述課題的第9發明的特征在于,在上述第1至第S的 任意一個發明中,上述多個數據包或前導包經過多個線路而被收發。
用于解決上述課題的第IO發明的特征在于,在上述第9發明中, 上述前導包使用上述多個線路中最快速的線路進行發送。
用于解決上述課題的第11發明的特征在于,在上述第9發明中, 根據上述控制信息選擇發送上述前導包或上述數據包的線路。
用于解決上述課題的第12發明的特征在于,在上述第1至第11 的任意一個發明中,根據接收的前導包中含有的控制信息,決定發送 的塊的數據量。用于解決上述課題的第13發明的特征在于,在上述第1至第12 的任意一個發明中,根據接收的前導包中含有的控制信息,決定發送 的塊的發送時刻。
用于解決上述課題的第14發明的特征在于,在上述第1至第13
的任意一個發明中,根據屬于同一塊的多個數據包的接收時刻,推測 通信路徑的速度。
用于解決上述課題的第15發明的特征在于,具有 包塊制作單元,將多個數據包和前導包作為一個塊處理,將和上 述多個數據包相關的控制信息匯集到上述前導包;和
調度單元,根據匯集到接收的前導包的控制信息,控制包的發送。
用于解決上述課題的第16發明的特征在于,在上述第15發明中, 上述控制信息是流控制信息。
用于解決上述課題的第17發明的特征在于,在上述第15發明中, 上述控制信息是重發控制信息。
用于解決上述課題的第18發明的特征在于,在上述第15發明中, 上述控制信息是路由信息。
用于解決上述課題的第19發明的特征在于,在上述第15發明中, 上述控制信息是路徑信息。
用于解決上述課題的第20發明的特征在于,在上述第15至第19 的任意一個發明中,上述包塊制作單元將上述數據包中共用的控制信 息匯集到上述前導包。
用于解決上述課題的第21發明的特征在于,在上述第15至第20 的任意一個發明中,專門識別前導包的識別信息包含在上述數據包中。
用于解決上述課題的第22發明的特征在于,在上述第15至第21 的任意一個發明中,專門識別匯集到控制信息的數據包的識別信息包 含在上述前導包中。
用于解決上述課題的第23發明的特征在于,在上述第15至第22 的任意一個發明中,具有發送單元,將上述多個數據包或前導包經由 多個線路發送。
用于解決上述課題的第24發明的特征在于,在上述第23發明中, 上述調度單元進行控制,以使用上述多個線路中最快速的線路發送前 導包。
用于解決上述課題的第25發明的特征在于,在上述第23發明中, 上述調度單元根據控制信息選擇發送上述前導包或上述數據包的線 路。
用于解決上述課題的第26發明的特征在于,在上述第15至第25 的任意一個發明中,上述調度單元根據接收的前導包中含有的控制信 息,決定發送的塊的數據量。
用于解決上述課題的第27發明的特征在于,在上述第15至第26 的任意一個發明中,上述調度單元根據接收的前導包中含有的控制信 息,決定發送的塊的發送時刻。
用于解決上述課題的第28發明的特征在于,在上述第15至第27 的任意一個發明中,具有包解析部,由屬于同一塊的多個數據包的接 收時刻,推測通信路徑的速度。
用于解決上述課題的第29發明的特征在于,具有 包塊制作單元,將多個數據包和前導包作為一個塊處理,將和上
述多個數據包相關的控制信息匯集到上述前導包;和
調度單元,根據匯集到從其他節點接收的前導包的控制信息,控
制包的發送。
用于解決上述課題的第30發明的特征在于,在上述第29發明中, 上述包塊制作單元將上述數據包中共用的控制信息匯集到上述前導 包。
用于解決上述課題的第31發明的特征在于,在上述第29或第30 的發明中,專門識別前導包的識別信息包含在上述數據包中。
用于解決上述課題的第32發明的特征在于,在上述第29至第31 的任意一個發明中,專門識別對控制信息進行匯集的數據包的識別信 息包含在上述前導包中。
用于解決上述課題的第33發明的特征在于,在上述第29至第32 的任意一個發明中,具有發送單元,將上述多個數據包或前導包經由 多個線路發送。
用于解決上述課題的第34發明的特征在于,在上述第33發明中, 上述調度單元進行控制,以使用上述多個線路中最快速的線路發送前 導包。
用于解決上述課題的第35發明的特征在于,在上述第33或第34 的發明中,上述調度單元根據匯集到從其他節點接收的前導包的控制 信息,選擇發送上述前導包或上述數據包的線路。
用于解決上述課題的第36發明的特征在于,在上述第29至第35 的任意一個發明中,上述調度單元根據從其他節點接收的前導包中含 有的控制信息,決定發送的塊的數據量。
用于解決上述課題的第37發明的特征在于,在上述第29至第36 的任意一個發明中,上述調度單元根據從其他節點接收的前導包中含 有的控制信息,決定發送的塊的發送時刻。
用于解決上述課題的第38發明的特征在于,在上述第29至第37 的任意一個發明中,具有包解析部,根據屬于同一塊的多個數據包的 接收時刻,推測通信路徑的速度。
用于解決上述課題的第39發明的特征在于,使計算機實施以下處

包塊制作處理,將多個數據包和前導包作為一個塊處理,將和上 述多個數據包相關的控制信息匯集到上述前導包;和
調度處理,根據匯集到從其他節點接收的前導包的控制信息,控 制包的發送。
本發明如上所述,將多個數據包和前導包作為一個塊,將上述多 個數據包的控制信息匯集到上述前導包,根據上述前導包的控制信息 控制包的發送。因此,在節點中,可盡快知道控制信息,從而可高速 實施信號傳輸。
本發明在可選擇一個以上的路徑的二個節點之間,通過反饋基于 每個包塊的接收序列的路徑狀態推測結果,和現有例相比,可實現基 于正確的路徑狀態推測的流控制及負荷分散。
并且,本發明對多個包僅進行一次流控制及路徑選擇處理,因此 和對每個發送包進行流控制及路徑選擇處理的現有例相比,可減輕處
理負荷。
并且,本發明將各路徑的流控制信息、負荷分散信息、ARQ信息、
順序控制信息匯集到前導包,從延遲最低的路徑或可靠性強的路徑作 為塊的前端發送,從而可抑制信號傳輸信息的損失、延遲,緩和路徑 帶寬上升傾向時的帶寬利用效率與下降傾向時的控制跟隨性之間的交 替換位。
并且,本發明中,接收節點可通過前導信息預測該塊內的包接收 序列,因此在與預測不同時判斷為通信異常,從而可盡快檢測出通信 異常。
并且,本發明中,順序控制緩沖器內的數據的傳送不會長時間地 保留必要時間以上,改善了端到端抖動。
并且,本發明和需要發送側與接收側的狀態信息共享的數據頭壓 縮的現有例相比,可通過簡單的構造實現數據頭信息削減。


圖1是表示本發明的第1實施例的系統構成圖。
圖2是本發明前導包的構成圖。 圖3是本發明的數據包的構成圖。
圖4是將流控制算法(PAC調度機)應用于本發明的第1實施例 的例子。
圖5是調度部遵循的流程圖。
圖6是包制作部遵循的流程圖。
圖7是表示本發明的第2實施例的系統構成圖。
圖8是將流控制算法(PAC調度機)應用于本發明的第2實施例 的例子。
圖9是縮短本發明的第2實施例的反饋周期的例子。
圖10是將本發明的第2實施例的速度推測精度保持一定的例子。
圖11是說明本發明的第3實施例的圖。
圖12是說明本發明的第4實施例的圖。
圖13是說明本發明的第5實施例的圖。 圖14是說明本發明的概要的圖。
圖15是說明本發明的概要(數據包為3個以上時)的圖。 圖16是說明現有發明的概要的圖。
附圖標記003前導包
004、005、 006 數據包
101、102傳送節點
201緩沖部
202調度部
203包塊制作部
204包發送部
205存儲部
206包接收部
207包解析部
208包傳送部
301數據包
302前導包
具體實施例方式
利用圖14說明第1實施方式。圖14表示從發送節點001向接收 節點002進行本發明的包傳送的形態。在使用了作為現有技術的第4 層協議的TCP的包傳送中,如圖16所示,各個包從前端開始依次由IP 數據頭、TCP數據頭、有效載荷(payload)構成。在TCP中,將多個 包同時、或在控制信息不變化的程度的短時間內發送時,附加到各個 包的TCP數據頭的控制信息全部相等。
另一方面,在本發明中,將多個包同時、或在控制信息不變化的 程度的短時間內發送時,控制信息僅存儲在前端的前導包003用的數 據頭中,向該本發明的前導頭用數據頭和現有技術同樣地附加表示目 的地節點的IP數據頭,首先發送由IP數據頭和本發明的前導包用數據 頭構成的前導包。
并且,緊接該前導包003,發送含有比前導包用數據頭信息量少 的本發明的數據包用數據頭的數據包004、 005。
因此,在本發明中,將存儲在各個包的數據頭的控制信息存儲到 前端的前導包003的數據頭中,包003的接收所需的時間和現有的包 0040的接收相比變短。因此,在接收節點中,對于該控制信息(例如 ACK信息等),和現有的包傳送方法相比可盡快獲知。其結果是,可 高速實施基于該控制信息的信號傳輸。
并且,上述效果在發送的數據包如圖15所示為三個以上時也可實 現。在圖15中,在現有方法下,同時或在控制信息不變化的程度的短 時間內進行發送時,向各數據包004a、 005a、 006a附加有重復的、相 同數據量的第4層數據頭,與之相對,在本發明中,將相當于現有例 中的各個包頭的重復部分的控制信息匯集存儲到前端的前導包003a的 數據頭,各數據包中,將比TCP數據頭輕的本發明的數據包用數據頭 作為第4層數據頭附加。
如圖15所示,通過使現有技術中由多個包重復持有的信息由前導 包代表性地持有,數據頭的信號傳輸的信息量和TCP保持同等,同時 全部包的數據頭大小的總量和TCP相比減少。其結果是,可提高包發 送整體的傳送效率。
并且,如圖15所示,對于多個包制作一個前導包并進行包發送的
進一步的效果體現在路徑速度測定精度上升這一點上。速度只要最低 有2個包即可測定,但包越多其精度越高。
其原因之一在于,在發送某個流中含有的較多的包時,各個包之 間很可能夾入了屬于其他流的包。在實際的傳送路徑中,經常會發生 這種情況,因此包的個數越多,越可以在接近實際的傳送路徑的狀態 下進行速度測定。
并且,另一原因在于,當包塊中含有的包個數增加時, 一次測定 涉及的包的前端和末尾的接收時刻的差變大,因此接收節點所需的時 間分解能力要變大,如果是同樣的時間分解能力的節點,則使用本發 明的包塊會提高速度精度。
以上說明了本發明的概要。以下進一步詳細說明。
(第1實施例)
圖1表示本發明的第1實施例。在該圖中,在傳送節點101和傳 送節點102之間,利用本發明的包傳送方向進行包的傳送。本實施例
設定了雙向對稱的協議,因此傳送節點101和傳送節點102的構成相 同。以下以從傳送節點101向傳送節點102進行包傳送為例進行說明, 但從傳送節點102到傳送節點101的傳送也是同樣的動作。
首先,說明傳送節點101的包傳送動作。傳送節點101從其他節 點或同一節點上的用戶應用程序等數據生成單元取得應傳送到傳送節 點102的數據,收容在緩沖部201中。
調度部202根據存儲部205中存儲的調度信息控制發送。例如, 如下決定應進行包發送的時刻、及緊接著前導包發送的數據包(以下 稱為包群)的構成,當應進行包發送的時刻到來時,向包塊制作部203 通知前導包及包群的構成。接收到前導包及包群的構成的通知的包塊
制作部203將數據包的控制信息匯集到前導包。例如,根據通知的構
成及存儲部205中存儲的流控制信息,制作前導包,并且從緩沖部201
取出基于通知的構成的個數的數據,向取出的各數據分別附加預定的 數據頭信息,制作包群,將包群和前導包同時或以預定間隔傳送到包
發送部204。將此時發送的包的集合在以下稱為包塊。
包發送部204將從包塊制作部203傳送的包依次傳送到傳送節點 102內的包接收部206。 300-1是從包發送部204發送的、通信路徑上 的包塊的示意圖,表示多個數據包301緊接著前導包302的情況。
接著說明從傳送節點101接收包塊300-1時的傳送節點102的動 作。包解析部207從包塊300-1如下文所述地抽取預定信息,并且進行 和接收包相關的下文所述的預定的測量,將其結果作為流控制信息存 儲到存儲部205。結束了在解析部207中的處理的包的數據依次傳送到 包傳送部208,包傳送部208將從包解析部207接收的數據傳送到下一 傳送節點、或同一節點內的用戶應用程序等數據接收單元。
傳送節點102內的調度部202通過與傳送節點101內的調度部202 同樣的動作,根據存儲部205中存儲的調度信息,如下文所述地決定 應進行包發送的時刻、及包群的構成,當應進行包發送的時間到來時, 向包塊制作部203通知前導包及包群的構成。
傳送節點102內的包塊制作部203根據通知的構成及存儲部205 中存儲的流控制信息制作前導包,與緩沖部201中存儲的數據一并構 成包塊300-2,并通過包發送部204發送到傳送節點101內的包接收部 206。發送后,將發送歷史存儲到存儲部205。
從傳送節點102接收到新的包塊300-2時,傳送節點101內的包 解析部207從包塊300-2抽取預先的信息,并且進行和接收包相關的預 定的測量,將其結果作為流控制信息存儲到存儲部205,將更新了流控
制信息的情況通知調度部202。調度部202根據更新的流控制信息同樣 更新存儲部205中存儲的調度信息。之后的包發送時刻及包塊構成的 決定根據更新的調度信息來進行。
圖2表示本發明中使用的前導包的構造示例。本發明作為任何通 信層上的協議均可實施,而在本實施例中,安裝了第4層協議,表示 下位層的傳送協議為IP時的構造示例。
如圖2所示,本實施例中的前導包中,緊接著前端的IP數據頭的 塊管理信息、流控制信息包含在前導包用數據頭中。另一方面,數據 包的構造如圖3所示,除了IP數據頭以外,數據包用數據頭中包含塊 被管理信息,有效載荷中包含數據本身。
塊管理信息是發送一側節點生成的、包塊內的包的數據包個數或 包的優先度等的屬性信息。另一方面,塊被管理信息是專門識別前導 包的識別信息。即,是用于識別各數據包所屬的包塊的信息。在本實 施例中,發送節點向各包塊附加獨特的序列號,將其作為塊被管理信 息。并且,塊內的各個包以前導包為前端依次被發送(從包塊制作部 203傳送到包發送部204),將其發送時的計時標記(time stamp)、屬 于包塊的包的序列號的范圍作為塊管理信息。根據這些信息,在接收 節點中進行延遲測定及非專利文獻所述的包序列方式(根據總數據量/ 最后的包和最初的包的接收時刻的差,進行帶寬推測的方式)下的通 信路徑的帶寬推測。
并且,也可通過前導包中含有專門識別匯集控制信息的數據包的 識別信息,來保持前導包和數據包群的關系。
根據以上前提,再次參照圖1具體說明本實施例的流控制機構。 傳送節點102內的包解析部207從包接收部206接收到包塊300-1的前 導包302時,從塊管理信息抽取包塊300-1的計時標記和序列號的范圍。
并且將接收時刻和抽取的計時標記的差作為路徑延遲的推測結果寫入
存儲部205。接收后續的數據包301時,序列號如在包塊300-1的序列
號范圍內,則存儲其數據大小。并且如接收的包在塊內是最后接收的 包,則將接收的包塊內的數據包的包大小的總和除以該包的接收時刻 與前導包的接收時刻的差而得到的值,作為通信路徑的帶寬的推測結
果寫入存儲部205。
通過以上動作,傳送節點102內的包解析部207記錄到存儲部205 的流控制信息(路徑延遲的推測結果和路徑帶寬的推測結果)收容到 從傳送節點102發送到傳送節點101的包塊300-2的前導包中,并通過 傳送節點101內的包解析部207傳送到存儲部205。傳送節點101內的 存儲部205在新的流控制信息到來時,通知調度部202進行流控制信 息更新,接收到該通知的調度部202使用更新的流控制信息、即路徑 延遲的推測結果和路徑帶寬的推測結果來更新調度信息,之后根據更 新的調度信息構成包塊。
以上說明了第1實施例中的安裝了包塊傳送方式的節點的構成及 動作的示例。以下說明圖1中決定包塊的發送時刻的調度部202、及決 定包塊的構成的包塊制作部203所依據的流控制算法的示例。
作為流控制算法的第l例,應用TCP中使用的窗口控制,對根據 由包序列方式推測的路徑帶寬來決定窗口大小的流控制算法進行說 明。在該實施例中,從傳送節點102發送到傳送節點101的前導包302 中,含有和TCP中使用的一樣的Ack信息、接收窗口大小(接收節點 一側決定的可接收的數據量)。接收了該前導包302的傳送節點101 通過以下步驟進行對傳送節點102的發送處理。接收到前導包302后, 包解析部207將該前導包302中含有的Ack內容記錄到存儲部205,存 儲部205將新的Ack接收事件通知給調度部202。
調度部202將從接收的前導包抽取的接收窗口大小與從存儲部中
記錄的發送歷史中抽取的Ack的包之后發送的包的數據量的差,作為 可發送的數據量,通知給包塊生成部203。
包塊生成部203從緩沖部抽取含有前導包302的包塊大小不會超 過可發送的數據量的最大的量的數據,制作向各數據附加了塊被管理 信息的數據包。并且,制作含有Ack信息及塊管理信息的前導包,將 兩者構成的包塊傳送到包發送部204。如果可發送的數據量小于預先確 定的下限,則直到從下一次從調度部202通知可發送的數據量為止, 保留包塊制作。
當可以發送包塊時,將發送歷史記錄到存儲部205。其中,傳送 節點101使用的接收窗口大小通過傳送節點102的包解析部207接收 來自傳送節點101的包塊時所推測的路徑速度來決定。接收窗口大小 的值例如由預先確定的最大往返延遲和推測速度的積確定。
進一步,另行設置基于接收緩沖剩余量等的上限,如小于該上限, 則在接收窗口大小的決定中也可使用基于推測速度的值。
使用上述利用了速度推測結果的窗口控制,將現有技術中由多個 包重復持有的信息由前導包代表性地持有,從而可減輕節點處理負荷, 降低數據頭大小。并且,還產生以下效果。首先,不依賴于來去路徑 的速度差,往返延遲時間控制在預先確定的最大往返延遲時間以下, 因此在具有速度變動的路徑中,和現有的窗口控制相比,具有降低延 遲分散的效果。并且,窗口大小使用速度推測結果直接求出,因此在 損失、延遲變動大的路徑上也可有效利用帶寬。這一點和非專利文獻1、 9相比是優點。S卩,在非專利文獻1、 9中,將發送一側的擁塞窗口 (congestion window)大小和接收窗口大小中的較小的一個作為窗口大 小采用,因此當產生包損失時,將窗口大小控制得較小。與之相對, 在本發明中,即使發生包損失,也可使用速度推測結果決定窗口大小, 因此對窗口大小本身不產生影響,從而可有效利用帶寬。
此外,前導包中不含有接收窗口大小、而含有速度推測結果,窗 口大小的計算也可由發送側的節點的包解析部207進行。進一步,也 可不是將前導包接收時計算的可發送的數據量全部同時發送,而是分 割為多個包塊,以根據推測速度決定的發送間隔進行發送。此時的發 送間隔需要是先發送的包塊和后發送的包塊在路徑上接觸的間隔。并 且,通過分割包塊并發送,發送到路徑上的脈沖大小變小,因此可得 到降低包損失的效果。
作為流控制算法的第2例,說明應用了非專利文獻6中公開的PAC 調度機的方法的方法。發送節點中的PAC調度機的基本動作是,根據 從接收節點反饋的延遲和推測速度、及這些路徑狀態測定使用的包之 后的發送歷史,預測現在的路徑延遲,當該預測延遲小于預先確定的 閾值時,發送下一包。參照圖4說明將其應用于包塊傳送方式時的流 控制協議動作示例。
在圖4中,"101時刻"實數直線表示傳送節點101上的時刻, "102時刻"實數直線表示傳送節點102上的時刻。并且,在節點102 上的時刻T之后,假設路徑的帶寬比T以前低。傳送節點101在時刻 ts (a)發送包塊300-a,其前端在時刻tb (a)到達傳送節點102。 tb (a) 表示無負荷時包塊300-a的前端到達接收節點的時刻。
艮P,在節點101中,ts (a)以前沒有負荷,因此包塊300-a的前 端僅在無負荷時的延遲時到達節點102。在節點102中,通過將根據前 導包302-a、數據包301-1的接收時刻計算的推測速度及前導包302-a 上搭載的計時標記和根據傳送節點102的接收時刻推測的延遲的信息、 在ts (f)下收容到從傳送節點102傳送到傳送節點101的包塊300-f 的前導包302-f,以通知節點101。
節點101緊接著包塊300-a,視路徑的帶寬恒定,發送包塊300-b。發送了包塊300-b后,通過302-f的接收更新路徑信息(推測速度及延 遲),但這是時刻T之前的信息,因此節點101在判斷路徑帶寬依然 和300-a發送時一樣為無負荷狀態,在時刻ts (c)發送包塊300-c。此 時,節點101通過以下方法決定時刻ts(c)。即,將根據接收的包302-f 中含有的路徑信息(推測速度及延遲)、及該路徑信息的測定所使用 的包塊300-a之后的發送歷史所求得的、預測接收包塊300-c的前端的 時刻tf (c),作為與向無負荷時的預測到達時刻tb (c)加上了閾值th 而得到的值相同或比其早的時刻來決定。
其中,無負荷時的預測到達時刻tb (c)是在ts (c)的時刻, 通信路徑無負荷地發送包時,其前端到達接收節點102的預測時刻。 因此,在ts (c)的時刻,節點101預想包塊300-c的前端到達tb (c) + th。并且,包塊300-c的大小如下確定末尾的預測到達時刻在向tb (c)加上最大剩余延遲to的tb (c)十to的范圍內。
并且,最大剩余延遲表示不從預測為其之上的延遲的路徑進行包 發送的閾值。目卩,當"最大延遲為to"時,發送側的節點從路徑r發送 包p時的預測到達時刻到發送時刻一to之后的發送時刻為止,不進行 使用包p的路徑r的發送。相反,從預測到達時刻〈現在時間一to的路 徑中,可即時發送包。
但在本實施方式中,路徑帶寬實際上以時刻T為界變小,因此包 塊300-b的傳送延遲大于節點101的預測,包塊300-c的接收開始延遲 到tf (c),并且,末尾的數據包301-9的接收完成時刻也比預測的tb (c)十to慢,變為tf, (d)。節點102在ts (g)發送包塊300-g,在 該前導包302-g中含有通過包塊300-b接收而檢測出的路徑信息(即路 徑帶寬下降的信息)。因此,節點101通過包302-g的接收獲知路徑帶 寬下降,從而也與此對應來更新路徑信息,將更新之前預定在ts (d) 發送的下一包塊300-d的發送時刻變更為ts' (d)。并且,從節點101 發送到節點102的包塊的大小和300-b、 300-c相比也變小。
上述判斷是計算發送時刻和塊大小的結果,其是使用的更新的路 徑信息及發送歷史求出的、塊前端的預測到達延遲tf (d)為tb (d) + th以下、并且末尾的預測到達時刻為tb(d) +tO以下。實際上在ts(g) 之后到tf (d)為止的期間內,路徑狀態變動,因此在附圖中,前端實 際到達的時間tf (d)與tf (d)偏離。
該偏離通過下一測定結果的反饋,反映到之后的包塊的發送調度。 通過上述動作,PAC調度機進行發送時刻控制,以校正預測到達時刻 的偏離,實現帶寬的有效利用及抑制延遲兩者。之前說明的窗口控制 提供對于往返延遲的控制,在PAC調度機中,進一步分別測定路徑的 各單程的延遲并反饋,因此在來路和去路的狀態不同的路徑中,具有 可分別匹配地控制的優點。例如,當去路的帶寬相對現在的負荷較大、 來路的帶寬相反相對現在的負荷較小時,僅來路的延遲增大增大。此 時進行基于往返延遲的控制時,來路和去路的發送側節點對該路徑的 負荷減少,結果因此無法有效利用去路的帶寬。而此時如果分別監視 來路和去路的延遲,則可知無需去路的負荷減輕,因此可有效利用去 路的帶寬。
圖5表示為了實現上述流控制協議的動作調度部202所遵循的流 程圖,圖6表示包塊制作部203所遵循的流程圖。調度部202在每次 更新存儲部205的存儲內容時,決定下一個可發送包塊的時刻及塊大 小,并通知包塊制作部203。
首先具體說明圖5。在S51的處理中,當路徑狀態信息或包發送 歷史信息被更新時,從存儲部205接受相關通知。接著根據最新的發 送路徑狀態信息、及該發送路徑狀態信息變得有效的發送完成的包之 后的發送歷史,計算下一個包發送時刻(tf) (S52),以使下一個發 送的包的前端的到達預測時刻與向無負荷時的到達時間預測時刻(tb) 加上閾值(th)的時刻相等。接著,根據最新的發送路徑狀態信息,計
算預測造成最大剩余延遲to的傳送延遲的數據量(d) (S53)。并且, 將上述求出的包發送時刻(tf)及數據量(d)通知包塊制作部203(S54), 并結束處理。
包塊制作部203在緩沖部201中有數據、且包塊可發送時,構成 從調度部202通知的塊大小以內的大小的包塊,傳送到塊發送部204。
在圖6中,變為起點的狀態在wait和idle 二種,這是因為,"變 為可發送的時刻后,發送包塊"的處理通過使用計時器來實現。在等 待該計時器到達的期間,調度部202停留在wait狀態。另一方面idle 狀態是未等待計時器、也未接收應處理的數據的狀態。
以下說明圖6。
首先說明idle狀態的情況。在該狀態下,在"從緩沖部201接收 新的包接收通知"的情況下(S61)、或"從調度部202接收包發送時 刻(tf)及數據量(d)的更新通知"的情況下(S62),開始處理。處 理開始后,首先判斷包發送時刻(tf)《現在(S63)。當該判斷結果 為否時,滿足時刻tf時起動計時器并結束處理(S64),變為wait狀態。 并且,當S63的判斷結果為是時,制作含有最新的接收路徑狀態信息 及Ack信息的前導包(S65)。接著,在包的前端中,將包塊大小為數 據量(d)以下的最大量的數據從緩沖部201取出,制作數據包群(S66)。 接著,將前導包及數據包群發送到包發送部204 (S67)。接著將發送 記錄寫入存儲部205 (S68),結束處理,返回idle狀態。
接著說明wait狀態的情況。Wait狀態時從調度部202接收包發送 時刻(tf)及數據量(d)的更新通知的情況(S71)的處理和上述idle 狀態時從調度部202接收包發送時刻(tf)及數據量(d)的更新通知 時的處理一樣。
并且,wait狀態時,滿足發送計時器時的處理和上述idle時的 S65 S68的處理相同。
此外,在上述算法說明中,存儲部205的存儲內容被更新時對調 度部202的通知由存儲部來進行,但由包解析部207、包塊制作部203 或包發送部204進行時,也可實現同樣的動作。
在實施上述PAC調度時,為了求出tb (a)等,需要無負荷時的 路徑延遲的知識。其可提前測量并作為常數處理,而在為了避免路徑 狀態、計時器故障等的影響而想更新時,可通過以下步驟在通信過程 中進行。首先,在接收一側節點的包解析部207中,從某個包塊A的 末尾的接收時刻開始到下一個包塊B的前端的接收時刻之間存在間隔 時,認為路徑中有富余,包塊B的前導包以無負荷狀態到達。
在圖4的例子中,包塊300-b的前導包302-b從之前的包塊300-a 的末尾的接收時刻開始,隔開間隔接收,因此在無負荷狀態下到達。 當檢測到這種間隔時,傳送節點102將表示包302-b以無負荷到達的情 況的信息包含在發送目的地的前導包302-g中,從而將無負荷延遲檢測 傳送到傳送節點101。
接收到前導包302-g的傳送節點101將無負荷時的路徑延遲值更 新為302-b的延遲。
并且,使用PAC調度機時,定期地使用無負荷延遲值。因此,當 一定時間以上未檢測到無負荷延遲時,將作為塊發送閾值的剩余延遲 th設為負的值,強制誘導無負荷的傳送,則可實現一定時間內的周期 性負荷時路徑延遲值。因此實現如下狀態只有在th<0,路徑完全無 負荷的狀態下才可發送數據。
如上所述,通過傳送節點101及102內的構成要素各自的動作,
反饋通信路徑的延遲及速度的監視結果,進行包流量控制,因此在本 發明中,可進行考慮了路徑信息(推測速度及延遲)的包發送。并且, 由于將信號傳輸信息匯集到前導包進行通信,因此接收側的流控制信 息的抽取、發送側的調度信息的更新均不像現有例那樣以和包收發同 樣的頻率進行,而以包塊接收發送的頻率進行,因此減輕了傳送節點 的處理負荷。
并且, 一個包塊中含有的包個數如為一定以上,可從數據包中省 略信號傳輸信息,匯集到前導包,對于同樣的數據量,和現有例相比, 具有可降低包大小的總和的效果。進一步,包序列方式的高精度的路 徑帶寬推測可使用僅用于速度測定的專用探測包(模擬包)等、不破 壞帶寬利用效率地進行。
此外,在以上說明中,為了使速度測定的有效性最大化,同一包 塊內的包同時發送,而本發明實施時也可不是同時,而以比瓶頸帶寬 高的速率將多個包以一定的發送速度發送。這是因為,接收側測量的 包的分散反映瓶頸帶寬,因此可進行帶寬推測。
這種情況下,無法獲得路徑的瓶頸帶寬在發送速度以上的推測速 度,但例如需要某一特定速度的應用程序可判斷路徑能否在該速度以 上傳輸。其原因在于,接收速率小于發送速率時,通過路徑的速度, 傳送速率被限制,可測定速度。并且,即使不是這樣,也可知道路徑 速度為發送速率以上(路徑上不存在速率比發送速率低的鏈接)。通 過將發送速度保持在一定以下,和同時發送時相比,抑制施加到路徑 的負荷,因此可降低過剩負荷引起包損失的可能性。
在上述第1實施例中,作為流控制信息僅含有路徑延遲及帶寬監 視信息(路徑信息),此外也可含有接收確認信息等。例如,當含有 前導包的接收確認、及在對應的包塊內無法接收的數據包的識別信息 (重發控制信息)時,可正確確定發送側應重發的包。
當前導包損失時,通過同時使用例如表示前導包損失的信息、及 與TCP中使用的一樣的、基于序列號的Ack信息,可保持發送的完整 性。例如,對前導包也附加序列號,接收側返回Ack信息,則通過發 送側重發未Ack的包,前導包、數據包均可保障無損失的傳送。
并且,在第1實施例中,前導包是單一的,但為了實現冗長性也 可具有多個。此時,可制作相同的包的復制,也可匯集多個前導包由
塊整體的塊控制信息覆蓋。
并且,本發明中的前導包在包塊由多個數據包構成時,可含有數 據本身,并且塊管理信息為了識別塊內包而使用已有的識別符,例如
使用IP數據頭內的Identification域時,數據包中不需要塊被管理信息。
并且,除了 "前導包不含有用戶數據"、"數據包含有塊被管理 信息"的限定外,還進行作為本發明特征的向前導包附加可確認塊 內包及來自它們的流控制信息生成方法的信息;通過接收一側節點進 行和接收包所屬的包塊對應的流控制信息的生成。
此外,上述控制信息也可是路由信息。
并且,發送的包無需全部屬于某個包塊,例如僅在進行定期的線 路監視時構成包塊并發送,獲得監視結果后到下一監視時刻為止的期 間內,可單獨發送各數據包。
(第2實施例)
接著說明本發明的第2實施例。圖7表示本實施例中使用的傳送 節點101及102的構成。傳送節點101的構成和第1實施例中使用的 圖i中的一樣,但傳送節點102具有多個包接收部206及包發送部204。
位于傳送節點101和102之間的IP網400提供從傳送節點101的包發
送部204到傳送節點102的包接收部206-1的路徑、及到包接收部206-2 的路徑,各路徑一般包括物理性隔離的鏈接,帶寬、延遲彼此獨立地 變動。同樣,從傳送節點102的包發送部206-1到傳送節點101的包接 收部204的路徑、及來自包接收部204-2的路徑的帶寬、延遲也彼此獨 立地變動。
本實施例是將本發明適用于上述二個節點之間具有多個可選擇的 路徑時的適用例。用于本實施例的包構造及流控制的信號傳輸機構和 第1實施例相同,但流控制信息及調度信息的內容、及包塊的構成和 第1實施例不同。
本實施例中的包塊由分別發送到多個路徑的數據包、和一個以上 的前導包構成。序列號附加到每個路徑上,前導包作為塊管理信息包 括計時標記、每個路徑的包塊內的包的序列號范圍。包解析部207的 延遲及速度推測也按照每個路徑進行。同樣,前導包上的流控制信息 也包括每個路徑的延遲及速度推測結果。
圖7所示的包塊300-1及300-2是可選擇路徑為2個、前導包有1 個的情況的示例。包塊制作部203對多個路徑進行一個包塊的制作, 包發送部204對塊內的各個包經由包塊制作部203指示的路徑發送。
包序列方式的路徑帶寬推測在該路徑中二個以上的包同時、或該 路徑的瓶頸帶寬以上的發送速度發送時可進行,因此為了可進行帶寬 推測,對一個包塊需要從各路徑發送二個以上的包。因此,包塊構成 的結果是,對發送包為一個的路徑,與發送對象的包同時發送虛擬包。 該虛擬包的內容例如可以只是序列號。
作為本實施例中使用的流控制算法,可對在第1實施例中使用的 流控制算法的例子進行擴展并適用。
作為第1實施例中的第1流控制算法的例子說明的窗口控制方式 在第2實施例中如下擴展。前導包中含有全部路徑的Ack信息及接收 窗口大小。接收到前導包的傳送節點的調度部202如下所述計算各路
徑的可發送的數據量,并通知包塊生成部203。
包塊生成部203取出緩沖部的數據,使包塊的各路徑部分不超過 可發送的數據量,決定對各路徑的分配。
但對于可發送的數據量不滿足預先確定的下限的路徑,不進行數 據的分配。前導包分配到可發送的數據量最大的路徑。同一前導包為 了實現冗長化,也可分配到其他路徑。
并且,對于對應前導及數據僅可分配一個包的路徑,同時分配虛 擬包。決定了對塊內的各個包的分配路徑時,將所有塊內的包與分配 信息一并傳送到包發送部204。
傳送到包發送部204的包的信息作為發送歷史記錄到存儲部。接 收側節點中的接收窗口大小的決定和第1實施例一樣來進行。
作為第1實施例中的第2流控制算法的例子說明的PAC調度方式 在第2實施例中如下擴展。參照圖8說明含有二個路徑時的動作。圖8 表示對應2個路徑存在2條時刻實數直線,分別經由各路徑的包的 到達預測序列。
對第n個路徑,tb、 tf、 th、 to分別表示為tb (n) 、 tf (n) 、 th (n) 、 to (n),各自的含義與圖4中的相同,不同點在于,所示的包 不是實際的到達序列,而是發送一側節點預測的到達序列。發送側節 點對任意的路徑只要是tb (n) +th (n) <tf (n),就可發送包塊。在 圖8中,tb (1) +th (1) <tf (1),因此可即刻發送。
調度部202構成包塊,以對各路徑計算前導包302的到達預測時 刻,使前導包302發送到預測最先到達的路徑。在圖8中,作為前導 包發送路徑,選擇路徑2。
接著,取得位于緩沖部201的最初的包301-1的數據大小,分配 到與前導包對應發送時預測最早到達的路徑。在圖8中,最初的數據 包301-1配置在路徑1中。以下逐個增加塊內的包,并同樣配置,對任 意的路徑,均在發送的包大小的和為tb (n) +to (n)以下的、求出了 最大發送包數的情況下,決定包塊的構成。
在圖8中,構成路徑1和2中共含有五個從數據包301-1至301-5 的包塊300。
在上述擴展的窗口控制及PAC調度中,從預測最低延遲的路徑發 送前導包,從而可使延遲較大的路徑相關的流控制信息的通知也以和 延遲最低的路徑同等的延遲來進行。
但是,在從接收節點中的包接收開始、到根據其接收狀態生成的 流控制信息通知到發送節點為止所需的時間內,不僅包括流控制信息 的傳送延遲,而且包括從包接收到流控制信息發送為止的待機時間。 該待機時間最大為塊發送間隔,因此為了減輕節點處理負荷、提高包 序列方式下路徑帶寬推測的精度、有效利用帶寬,在路徑上為了使緩 沖的數據量保持在一定以上而增大各個塊對各路徑的分配量時,造成 流控制信息反饋延遲的增大。
以下參照圖9說明存在多個同等的延遲路徑時,使各路徑的各個 塊的數據量保持一定以上的同時,用于減少到流控制信息發送為止的 待機時間的第3流控制算法。
圖9中,和圖4 一樣,"101時刻"實數直線表示傳送節點101

上的時刻、"102時刻"實數直線表示傳送節點102上的時刻。但傳送
節點101和傳送節點102之間存在路徑1和路徑2 二個路徑,對于經 由各個路徑的包,將傳送節點101對傳送節點102上的接收序列的預 測在"路徑1接收預測"及"路徑2接收預測"線上表示。
各包塊基本上僅由一個路徑構成。各路徑的包塊的塊大小如下確 定塊內的包的傳送延遲一定,即,任意的路徑的塊(塊中含有的包
大小的和/路徑的速度)均相同。因此,各包塊僅錯開塊內的包的傳送 延遲/信號傳輸中可使用的路徑數所定義的塊發送周期ti來發送,這成 為前導包發送的周期。
如圖9所示,使用路徑1的包塊和使用路徑2的包塊的到達是交 互的。因此,通過調度包塊發送,和速度推測中使用的包序列的長度 相比,可縮短前導包的發送間隔(反饋周期)。
這是因為,像第1實施例那樣僅使用一個路徑發送包塊時,前導 包的到達間隔基本與包序列的長度相等,與之相對,如圖9所示,使 用多個路徑發送包塊時,前導包的到達在比包序列的長度短的ti間隔 下可接收。
當路徑狀態變化時,未必像圖9那樣保障定期的報告到達。例如 在時刻tf(a)和時刻tf(c)之間,如果路徑l的速度下降,則前導包 302-c的到達比tf (c)慢。這種情況下,節點101通過在ts (f)或ts (g)下由節點102發送的前導包的信息檢測出速度變化,調節ts (d) 發送的前導包300-d的數據量,使得在節點102中,從前端到末尾為止 的接收所需的時間(接收完成時間)為ti的程度以下。并且,300-d之 后發送的前導包也以接收完成時間為ti的程度以下的大小從路徑2發 送。之后,直到路徑1變為可發送的狀態,即tb+tlKtf為止,僅從路徑 2發送接收完成時間為ti的程度以下的大小的包塊。這樣一來,在通過 路徑狀態的變化,路徑1的延遲變大的狀態下,也可使前導包的收發
周期保持為ti的程度以下。
相反,例如在時刻tf (a)和時刻tf (C)之間,路徑1的速度上升,
前導包302-c的到達比tf (c)早。這種情況下,節點101在ts (c)和 ts (d)之間檢測速度變化,將在下一個經由路徑1的前導包到達的預 定時刻tf (e)為止的期間可到達的數據量的、經由路徑l的包,加入 到在ts (d)發送的包塊300-d。此時,包塊300-d包括路徑1、 2雙方 的包。對于300-e之后的包塊發送,重新決定塊大小,使傳送延遲相對 新的速度為ti的可使用路徑數倍以內。此時,前導包到達間隔和速度 變化前一樣,保持在ti以內。另一方面,包塊中前導包占據的數據量 的比例變小,因此帶寬利用效率提高。
根據上述第2實施例,可將負荷分散到反映了各通信路徑的延遲 及速度的監視結果的各路徑。
本發明中,發送側的發送時刻的決定及發送路徑的決定不像現有 例那樣按照單一包或包對進行,而是以包塊單位進行,因此增大包塊 的數據量時,減輕了附加到傳送節點的發送處理的負荷。
并且,由于將信號傳輸信息匯集到前導包,接收側的流控制信息 的抽取、調度信息的更新均不是像現有例那樣與包發送同樣的頻率來 進行,而是以包塊發送的頻率進行,因此減輕了附加到傳送節點的接 收處理的負荷。
并且,將匯集了信號傳輸信息的前導包從最先到達的路徑作為包 塊的前端發送,從而和將延遲大的路徑的狀態信息使用該延遲大的路 徑自身進行反饋時相比,具有可短時間反饋的效果。并且,各路徑的 包塊中含有的包個數為一定個數以上時,由于將信號傳輸信息從數據 包中省略,對同樣的數據量,和現有例相比,具有減少包大小總和的效果。
進一步,如上述實施例2所示,包序列方式下的高精度的路徑帶 寬推測可使用專用的探測包等不破壞帶寬利用效率地進行。
以上主要說明了應傳送的數據多、高負荷狀態下的動作。在低負 荷時,緩沖部中沒有應發送的數據,因此需要定期發送虛擬包并監視 線路狀態。
這種情況下,由于單一包塊中含有的包個數變少,因此速度推測 的精度和高負荷時相比不足。屆時可聯合考慮連續的包塊中含有的包, 以使速度推測精度保持一定精度以上。參照圖10進行說明。該圖中,
屬于三個包塊300-a、 300-b、 300-c的包在某個路徑上被接收,在先行 的包塊的末尾和下一包塊的前端之間,存在無任何接收的時間。
此時,接收速度的推測假定以下情況來進行包塊300-b中含有 的數據包301-2、 301-3在301-1之后接收。并且同樣假定包塊300-c 中含有的數據包301-4在301-3之后接收。這樣一來,構成包塊400這 樣的虛擬包塊。此時,數據包301-2、 301-3的接收所需的時間使用包 塊300-b接收時測定的包302-b和包301-3的接收時刻差,并且數據包 301-4的接收所需的時間使用包塊300-c接收時測定的包302-c和包 301-4的接收時刻差。并且,虛擬包塊400的數據包接收所需的時間使 用300-a、 300-b、 300-c接收時測定的數據包的接收所需時間的總和。 接收速度推測為301-1至301-4為止的四個數據包的數據量的總和除 以虛擬包塊400的數據包接收所需的時間的值。
通過使用包括前導的五個包構成的虛擬包塊400進行速度推測, 和構成包數較少的包塊300-a、 300-b、 300-c相比,有望提高測定精度。
(第3實施例)
以下說明通過作為前導包的塊管理信息含有的信息來實現新功能
的實施例。圖ll表示如下概要動作作為本發明的第3實施例,塊管 理信息500中含有發送側節點預測的各鏈接的速度、和塊內數據的大 小,可進行通信異常的盡快檢測。
圖11表示對某個路徑,將含有序列號1至6的包的包塊在推測
該鏈接的速度為350Kbps時,在第3實施例中發送的塊管理信息、與
接收側節點中的數據包接收時刻的關系。圖ll下部的時刻的實數直線 表示接收節點中的實際的包到達序列。
接收節點在包2為止,以發送節點的預測速度到達,因此不進行 任何動作,在包3中檢測出到達間隔的延伸,確認產生了發送側的預 測速度和實際的傳送速度的偏離。當判斷偏離達到一定程度以上時, 制作異常報告并回復,可使發送節點誤識別鏈接狀態的時間最小化, 提高流控制動作的跟蹤性。
(第4實施例)
接著說明可盡快檢測出用戶流單位下的塊損失的第4實施例。
圖12表示本發明的第4實施例中的塊管理信息、和接收側節點中 的數據包接收序列的示例。塊管理信息500中含有塊內各個包的用戶 流信息。在此,用戶流是指作為保存包的到達順序的對象的、端主機 間的包傳送會話,對各用戶流附加獨特的ID。
并且,用戶流內的各個包中,用戶流內獨特的序列號與各路徑的 序列號不同地附加。在該圖中,發送節點對某個路徑,在含有4至11 的序列號的包的包塊中,包含2049和2050 二個用戶流。圖12下部的 時刻的實數直線表示接收節點中的實際的包到達序列。
在圖12的例子中,發送的結果是,包5和包6損失,但通過包7 的接收檢測出損失。并且,損失的包5和6分別是流2049的#14和流
2050的#41這一情況可通過流管理信息500獲知,因此屬于目前為止 到達的這二個流的包不等待損失包的到達而傳送。
在按照各路徑及各用戶流附加個別的序列號的現有例中,包括非 專利文獻8,在該現有例中,也不提供損失包的用戶流信息,因此當特 定的用戶流的包未按照順序到達時,無法判斷原因是包損失、還是反 多重化鏈接通過引起的順序逆轉。其原因是包損失時,也不得不假設 為順序逆轉而保留一定的時間傳送。本實施例中,損失的包的各用戶 流的序列號可由接收節點知曉,因此也正確檢測,而不會將包損失混 淆為順序逆轉。因此,在包損失檢測出來時,可省略傳送保留,具有 減少端主機間會話的抖動的效果。
(第5實施例)
接著,作為本發明的第5實施例,概要說明以下動作通過在塊 管理信息中含有圖13所示的、塊內的數據包的數據共用部分相關的信 息,可進行數據壓縮的動作。其中,作為壓縮對象的數據包包含數據 區域中共用的部分。該圖中,開始序列號及結束序列號表示作為數據 壓縮對象的包的范圍。
并且,開始位及結束位是通過位位置的起點和終點來表示壓縮對 象包的數據區域中共用的范圍。開始位 結束位間的數據中,收容從開 始位到結束位之間的共用數據。將以上壓縮信息包含在塊管理信息中, 而指定的共用數據從數據包的數據域刪除,從而降低發送包大小的總
上述數據壓縮尤其在數據本身包含其他協議的數據頭、共用部分 大的情況下有效。共用部分不同的包的組合、位范圍存在多個時,使 圖13所示的壓縮信息在塊管理信息中含有多個即可。本實施例中發送 數據的壓縮和需要在收發節點之間共享壓縮狀態的信號傳輸的現有的 數據壓縮方法相比,控制變得簡單。
此外,上述控制信息也可是路由信息。
本發明的節點101、 102等的動作可通過硬件實現,也可通過計算 機執行實現各部分功能的程序來從軟件上實現。該程序保持在磁盤、 半導體存儲裝置等其他記錄介質,從該記錄介質讀取到計算機,通過 控制其動作,可實現上述功能。
權利要求
1. 一種通信方法,其特征在于,將多個數據包和前導包作為一個塊,將和上述多個數據包相關的控制信息匯集到上述前導包并將其發送,根據接收的前導包的控制信息控制包的發送。
2. 根據權利要求l所述的通信方法,其特征在于,上述控制信息是流控制信息。
3. 根據權利要求l所述的通信方法,其特征在于,上述控制信息 是重發控制信息。
4. 根據權利要求l所述的通信方法,其特征在于,上述控制信息 是路由信息。
5. 根據權利要求l所述的通信方法,其特征在于,上述控制信息 是路徑信息。
6. 根據權利要求l所述的通信方法,其特征在于,上述控制信息 是上述數據包共用的控制信息。
7. 根據權利要求l所述的通信方法,其特征在于,專門識別前導 包的識別信息包含在上述數據包中。
8. 根據權利要求l所述的通信方法,其特征在于,專門識別對控 制信息進行匯集的數據包的識別信息包含在上述前導包中。
9. 根據權利要求l所述的通信方法,其特征在于,上述多個數據 包或前導包經過多個線路而被收發。
10. 根據權利要求9所述的通信方法,其特征在于,上述前導包 使用上述多個線路中最快速的線路進行發送。
11. 根據權利要求9所述的通信方法,其特征在于,根據上述控 制信息選擇發送上述前導包或上述數據包的線路。
12. 根據權利要求1所述的通信方法,其特征在于,根據接收的前導包中含有的控制信息,決定發送的塊的數據量。
13. 根據權利要求1所述的通信方法,其特征在于,根據接收的 前導包中含有的控制信息,決定發送的塊的發送時刻。
14. 根據權利要求1所述的通信方法,其特征在于,根據屬于同 一塊的多個數據包的接收時刻,推測通信路徑的速度。
15. —種通信系統,其特征在于,具有包塊制作單元,將多個數據包和前導包作為一個塊處理,將和上述多個數據包相關的控制信息匯集到上述前導包;和調度單元,根據匯集到接收的前導包的控制信息,控制包的發送。
16. 根據權利要求15所述的通信系統,其特征在于,上述控制信 息是流控制信息。
17. 根據權利要求15所述的通信系統,其特征在于,上述控制信 息是重發控制信息。
18. 根據權利要求15所述的通信系統,其特征在于,上述控制信 息是路由信息。
19. 根據權利要求15所述的通信系統,其特征在于,上述控制信 息是路徑信息。
20. 根據權利要求15所述的通信系統,其特征在于,上述包塊制 作單元將上述數據包中共用的控制信息匯集到上述前導包。
21. 根據權利要求15所述的通信系統,其特征在于,專門識別前 導包的識別信息包含在上述數據包中。
22. 根據權利要求15所述的通信系統,其特征在于,專門識別匯 集到控制信息的數據包的識別信息包含在上述前導包中。
23. 根據權利要求15所述的通信系統,其特征在于,具有發送單 元,將上述多個數據包或前導包經由多個線路發送。
24. 根據權利要求23所述的通信系統,其特征在于,上述調度單 元進行控制,以使用上述多個線路中最快速的線路發送前導包。
25. 根據權利要求23所述的通信系統,其特征在于,上述調度單 元根據控制信息選擇發送上述前導包或上述數據包的線路。
26. 根據權利要求15所述的通信系統,其特征在于,上述調度單 元根據接收的前導包中含有的控制信息,決定發送的塊的數據量。
27. 根據權利要求15所述的通信系統,其特征在于,上述調度單 元根據接收的前導包中含有的控制信息,決定發送的塊的發送時刻。
28. 根據權利要求15所述的通信系統,其特征在于,具有包解析 部,由屬于同一塊的多個數據包的接收時刻,推測通信路徑的速度。
29. —種節點,其特征在于,具有包塊制作單元,將多個數據包和前導包作為一個塊處理,將和上 述多個數據包相關的控制信息匯集到上述前導包;和調度單元,根據匯集到從其他節點接收的前導包的控制信息,控 制包的發送。
30. 根據權利要求29所述的通信節點,其特征在于,上述包塊制 作單元將上述數據包中共用的控制信息匯集到上述前導包。
31. 根據權利要求29所述的節點,其特征在于,專門識別前導包 的識別信息包含在上述數據包中。
32. 根據權利要求29所述的節點,其特征在于,專門識別對控制 信息進行匯集的數據包的識別信息包含在上述前導包中。
33. 根據權利要求29所述的節點,其特征在于,具有發送單元, 將上述多個數據包或前導包經由多個線路發送。
34. 根據權利要求33所述的節點,其特征在于,上述調度單元進 行控制,以使用上述多個線路中最快速的線路發送前導包。
35. 根據權利要求33所述的節點,其特征在于,上述調度單元根 據匯集到從其他節點接收的前導包的控制信息,選擇發送上述前導包 或上述數據包的線路。
36. 根據權利要求29所述的節點,其特征在于,上述調度單元根 據從其他節點接收的前導包中含有的控制信息,決定發送的塊的數據
37. 根據權利要求29所述的節點,其特征在于,上述調度單元根據從其他節點接收的前導包中含有的控制信息,決定發送的塊的發送 時刻。
38. 根據權利要求29所述的節點,其特征在于,具有包解析部, 根據屬于同一塊的多個數據包的接收時刻,推測通信路徑的速度。
39. —種程序,其特征在于,使計算機實施以下處理 包塊制作處理,將多個數據包和前導包作為一個塊處理,將和上述多個數據包相關的控制信息匯集到上述前導包;和調度處理,根據匯集到從其他節點接收的前導包的控制信息,控 制包的發送。
全文摘要
本發明的課題在于減輕和數據包相關的控制信息的發送產生的負荷,提高通信效率,本發明在從傳送節點(101)向傳送節點(102)傳送包時,將各數據包(301)中存儲的控制信息匯集到配置在包塊(300-1)的前端的前導包(302),并從傳送節點(101)傳送到傳送節點(102),接收到該包塊(300-1)的傳送節點(102)根據接收的前導包的控制信息控制向傳送節點(101)傳送的包的發送。
文檔編號H04L29/08GK101379781SQ200780002898
公開日2009年3月4日 申請日期2007年1月18日 優先權日2006年1月23日
發明者中田恒夫 申請人:日本電氣株式會社
網友詢(xun)問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1