專利名稱:通信方法、通信系統(tǒng)、節(jié)點及程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到一種包通信技術(shù)及多重化通信技術(shù)。
背景技術(shù):
在包數(shù)據(jù)通信中,數(shù)字?jǐn)?shù)據(jù)收容在被稱為包的小包中并傳送到網(wǎng) 絡(luò)上。"包"包括傳送的數(shù)據(jù)本身以及用于網(wǎng)絡(luò)上的傳送控制的、收 容信息的數(shù)據(jù)頭。在階層化網(wǎng)絡(luò)中,上位層的數(shù)據(jù)頭在下位層中包含 在數(shù)據(jù)本身中。在進(jìn)行包數(shù)據(jù)通信的網(wǎng)絡(luò)內(nèi)的各節(jié)點中安裝有如下傳 送協(xié)議的功能解讀輸入的各個包的數(shù)據(jù)頭,根據(jù)需要進(jìn)行編輯,將 同一數(shù)據(jù)發(fā)送到下一節(jié)點。 一般情況下,包傳送協(xié)議是非同步協(xié)議, 同一網(wǎng)絡(luò)上的不同包的傳送由各節(jié)點在任意時刻進(jìn)行。因此,包傳送 只要在發(fā)送節(jié)點性能允許的范圍內(nèi),可以任意的速度進(jìn)行。
但是,網(wǎng)絡(luò)上的各節(jié)點或通信路徑分別在各自的性能、負(fù)荷下動 作,因此在從發(fā)送節(jié)點到接收節(jié)點的路徑中的某一處,傳送能力如果 小于傳送速度,則產(chǎn)生包的延遲或廢棄。為避免這一情況,在發(fā)送節(jié) 點和接收節(jié)點之間進(jìn)行用于監(jiān)視通信狀態(tài)的信號傳輸,將其結(jié)果反饋 到發(fā)送速度,保持適當(dāng)?shù)陌l(fā)送速度,這一機(jī)構(gòu)稱為流控制。
作為代表性的流控制協(xié)議,作為OSI7層模型中的第4層協(xié)議的 TCP為世人所知(具體參照非專利文獻(xiàn)1)。第3層使用IP (網(wǎng)際協(xié) 議)時,將TCP包從發(fā)送節(jié)點傳送到接收節(jié)點的例子如圖16所示。TCP 在第3層以下提供的端到端(end-to-end)連接的基礎(chǔ)上,為了避免施 加過度負(fù)荷引起的包的延遲、欠缺、或?qū)ζ渌麜挼倪^度的帶寬壓迫, 安裝了滑動窗口方式的流控制(具體參照非專利文獻(xiàn)2)。在滑動窗口 方式中,使網(wǎng)絡(luò)中保持一定量(例如,直到和發(fā)送的包對應(yīng)的ACK到 達(dá)為止可發(fā)送的量)以下的包,從而避免過度負(fù)荷引起的傳送故障, 同時實現(xiàn)下位層的連接所提供的帶寬的有效利用。
由網(wǎng)絡(luò)保持的數(shù)據(jù)量的上限值被稱為窗口大小。在滑動窗口方式 下,為了有效利用帶寬,需要設(shè)定與帶寬和往返延遲的積成比例的窗 口大小。例如,在可忽略下位層的傳送節(jié)點中的處理延遲、且路徑上 的物理鏈接在可忽略傳送延遲的程度下、僅由短距離的有線線路構(gòu)成 時,包的傳送延遲與帶寬成反比,因此無論帶寬如何,窗口大小相同 即可。
但是,在無法忽略下位層的傳送節(jié)點中的處理延遲、傳送延遲的 情況下,下位層的連接帶寬越寬,為了有效利用網(wǎng)絡(luò)的帶寬,越需要 將窗口大小設(shè)定得較大。另一方面,當(dāng)窗口大小變大時,其結(jié)果導(dǎo)致 對網(wǎng)絡(luò)的負(fù)荷增大,包延遲、損失的可能性增大,在TCP中,具有一 定以上的延遲/帶寬面積的路徑中,流控制限制傳送帶寬,無法有效利
用路徑本來的帶寬(具體參照非專利文獻(xiàn)3)。作為在這種情況下也可
將對網(wǎng)絡(luò)的負(fù)荷抑制到一定程度以下、同時可有效利用帶寬的方法,
提出了如下并列TCP的方法(具體參照非專利文獻(xiàn)4):在同一系統(tǒng) 路徑上展開多個TCP會話,通過將各會話的延遲/帶寬面積保持在一定
程度以下,可確保高帶寬利用效率。
并且,如下反多重化方法為世人所知在二個節(jié)點之間存在多個 路徑時,在該二個節(jié)點間按照每個路徑展開包傳送會話,由各會話分 散負(fù)荷并并列傳送,從而使二個節(jié)點之間的通信寬帶化。例如也提出
了以下方法(具體參照非專利文獻(xiàn)5):在各路徑上展開TCP會話并 并列傳送,和使用單一路徑時相比,進(jìn)行寬帶的二個節(jié)點間的傳送。
接著考慮將TCP適用于包括延遲、帶寬急速變動的無線鏈接的路 徑的情況。此時,為了有效利用帶寬,需要對應(yīng)于延遲和帶寬的積(以 下稱為延遲/帶寬面積)最大的狀態(tài)(時刻)來設(shè)定窗口大小。這樣一 來,當(dāng)帶寬變小時,延遲與帶寬成反比例而變大,因此使用該多個路
徑進(jìn)行并列傳送時,存在路徑之間的抖動(jitter)變大的問題。作為避
免該問題的同時使含有無線鏈接的路徑多重化的方法,提出了進(jìn)行路
徑之間的負(fù)荷分散的Mobile Inverse Mux (具體參照非專利文獻(xiàn)6、 8、 10、 11),以便監(jiān)視各路徑的速度及延遲的同時,使各個包經(jīng)過最短 的延遲路徑。以下將Mobile Inverse Mux簡稱為MIM。
MIM監(jiān)視各路徑的速度和延遲,但在含有延遲較大的無線鏈接的 路徑中,由于監(jiān)視結(jié)果的反饋產(chǎn)生延遲,因此參照保持的過去的發(fā)送 歷史,由反饋結(jié)果變得有效的時刻之后的歷史,預(yù)測現(xiàn)在發(fā)送包時的 延遲。根據(jù)對各路徑的延遲預(yù)測值進(jìn)行流控制,從而可有效利用帶寬, 同時抑制使路徑多重化時的抖動。
在MIM等反多重化協(xié)議的大多數(shù)中,具有包順序控制功能,使經(jīng) 由不同路徑傳送的包的順序傳送到下游節(jié)點時,不會反轉(zhuǎn)。該功能例 如通過以下方法實現(xiàn)按照每個要保存順序的流,發(fā)送一側(cè)的節(jié)點向 各個包加上序列號,接收一側(cè)的節(jié)點根據(jù)接收的序列號正確地排列包 的順序,之后傳送到下游。
非專利文獻(xiàn)1: RFC793
非專利文獻(xiàn)2: 7》夕'J >夕'TCP/IP、 Phillip Miller著,才 一 厶社 開発局(1998)
非專禾U文獻(xiàn)3: M. Nakamura et al., "End-Node tranmissionrate control kind to intermediate routers," PFLDnet 2004.
非專利文獻(xiàn)4:角澤等,"長距離'高八> 卜1畐通信(二恕W3並
列TCP ,卜口 一厶間O調(diào)停O実現(xiàn)",SACSIS 2004.
非專利文獻(xiàn)5:牧、長谷川、村田、村瀬、"TCP才一"、^ ^木 7卜7 —夕O性能解析fe J:"評価"、信學(xué)技報IN04-96 (2004).
非專禾ll文獻(xiàn)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
非專利文獻(xiàn) 7 : Dovrolis, Ramanathan, and Moore, "What Do PacketDispersion Techniques Measuere ," IEEE INFOCOM 2001.
非專利文獻(xiàn)8:小野等,"移動體^ >夕木 〃 卜(3) —再送制方
式一",2004年電子情報通信學(xué)會総合大會、論文B-5-165 (2004).
非專利文獻(xiàn)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).
非專利文獻(xiàn)10:岡乂上等,"移動體《 >夕冬'7卜(1) 一基本 - >七7。卜i 〉f厶構(gòu)成一",2004年電子情報通信學(xué)會総合大會、 論文B-5-163 (2004).
非專利文獻(xiàn)11:中田等、"移動體^ >夕冬7卜(2) — 7 口一 制御方式一",2004年電子情報通信學(xué)會総合大會、論文B-5-164(2004).
發(fā)明內(nèi)容
如上所述,在作為現(xiàn)有的包傳送會話的流控制方式而廣泛應(yīng)用的 TCP中,為了在具有一定程度以上的延遲/帶寬面積的路徑上有效利用 帶寬,需要展開多個會話等,使各會話應(yīng)保持的延遲/帶寬面積保持較 小的機(jī)構(gòu)。但是這樣一來,存在需要進(jìn)行到各會話間的負(fù)荷分散等復(fù) 雜控制的問題。并且在帶寬變動的路徑上使用時,存在與帶寬成反比 例地使延遲增加的問題。
另一方面,在用于抑制延遲的同時有效利用帶寬的進(jìn)行復(fù)雜的流 控制的MIM中,存在每個包中信息量大的數(shù)據(jù)頭制作、發(fā)送歷史信息 的保存等處理負(fù)荷限制傳送速度的問題。
并且,在TCP、 MIM等流控制協(xié)議中,為了保障傳送的完整性, 特別是在沒有障礙的情況下,也需要接收一側(cè)的節(jié)點以一定以上的周 期回復(fù)Ack等確認(rèn)信息。尤其是蜂窩線路這樣上升和下降的速度明顯
不同的非對稱網(wǎng)絡(luò)中,下降帶寬和上升帶寬相比較寬,因此對應(yīng)上升 帶寬設(shè)定窗口大小時,導(dǎo)致帶寬利用效率低下,并且上升帶寬的利用 率原本較大的情況下大量發(fā)送Ack信號時,會導(dǎo)致往返延遲增加的問 題。
并且,像MIM這樣,在反饋推測速度等暴露的路徑狀態(tài)并進(jìn)行流
控制的協(xié)議中,對該路徑的負(fù)荷越大,在路徑的帶寬向大的方向變化 時,越可保持較高的帶寬利用效率。另一方面,路徑帶寬向小的方向 變化時,對該路徑的負(fù)荷越高,傳送延遲越大,反饋所需時間增加, 因此進(jìn)行基于錯誤的狀態(tài)識別的負(fù)荷分散的時間增大。多個路徑中的 一部分產(chǎn)生錯誤的狀態(tài)識別時,多個路徑間的跳動增大,在匯集了多 個路徑的整體的通信中,包廢棄率或重發(fā)率上升。因此,當(dāng)路徑帶寬 變化為上升傾向時,窗口大小隨之變大,使包的發(fā)送率上升時,存在
在下降傾向時產(chǎn)生不良影響的交替換位(trade-off)的問題。
進(jìn)一步,在這些流控制協(xié)議中,數(shù)據(jù)頭相對包整體的數(shù)據(jù)大小的 占有率高,存在數(shù)據(jù)傳送中可使用的帶寬被壓迫的問題。作為其對策, 也可適用數(shù)據(jù)頭壓縮的方法。但是,在確保數(shù)據(jù)傳送可靠性的同時進(jìn) 行數(shù)據(jù)頭壓縮的情況下,在發(fā)送一側(cè)和接收一側(cè)需要共享壓縮及擴(kuò)展 所需的狀態(tài)變量,為了進(jìn)行其更新、同步確認(rèn)等,協(xié)議變得復(fù)雜。并 且,在延遲、損失較大的鏈接中,存在狀態(tài)變量的同步不及時、壓縮 效果無法實現(xiàn)的問題。
并且,在安裝有順序控制功能的反多重化協(xié)議中,單一的用戶流 分散負(fù)荷到各路徑并傳送的情況下,為了在用戶流內(nèi)正確保持傳送順 序,在接收節(jié)點中通過路徑之間的速度差,在比完成接收的最大序列 號大2以上的序列號的包到來時,必須直到比完成接收的最大序列號 正好大1的序列號的包到來為止保留傳送。
但是當(dāng)存在包損失時,具有損失的包不僅無助于救濟(jì)傳送順序,
而且會造成多余的延遲,因此不優(yōu)選。在反多重化的各路徑中,緊接 著某一用戶流的包的包一般是不同的用戶流的包,因此無法推測損失 的包是哪個用戶流的。因此,無法防止本來不需要的損失的包的待機(jī), 存在損害傳送的即時性的問題。
并且,在現(xiàn)有的包通信中,發(fā)送側(cè)節(jié)點對于各發(fā)送包,進(jìn)行數(shù)據(jù) 頭中含有的控制信息的決定,接收節(jié)點對各個包接收進(jìn)行數(shù)據(jù)頭讀取 及解析。此時,節(jié)點的處理負(fù)荷與收發(fā)數(shù)據(jù)的速度上升同時變大,節(jié) 點的處理能力決定特定協(xié)議下的節(jié)點的最大傳送速度。像MIM、 TCP 這樣處理復(fù)雜的協(xié)議中,節(jié)點的最大傳送速度容易低于路徑的帶寬, 本來為了有效利用路徑帶寬而導(dǎo)入的流控制的處理速度成為瓶頸,結(jié) 果造成路徑帶寬利用效率低下的問題。
因此,本發(fā)明鑒于上述課題而出現(xiàn),其目的在于提供一種減輕和 數(shù)據(jù)包相關(guān)的控制信息的發(fā)送產(chǎn)生的負(fù)荷、提高通信效率的通信技術(shù)。
并且,本發(fā)明的目的在于提供如下技術(shù)在由多個路徑連接的節(jié) 點之間進(jìn)行包通信時,使用低延遲路徑或可靠性高的路徑傳送存儲了 控制信息的前導(dǎo)包,從而可抑制信號傳輸信息的損失或延遲。
用于解決上述課題的第1發(fā)明的特征在于, 將多個數(shù)據(jù)包和前導(dǎo)包作為一個塊,
將和上述多個數(shù)據(jù)包相關(guān)的控制信息匯集到上述前導(dǎo)包并將其發(fā)
送,
根據(jù)接收的前導(dǎo)包的控制信息控制包的發(fā)送。
用于解決上述課題的第2發(fā)明的特征在于,在上述第l發(fā)明中, 上述控制信息是流控制信息。
用于解決上述課題的第3發(fā)明的特征在于,在上述第1發(fā)明中,
上述控制信息是重發(fā)控制信息。
用于解決上述課題的第4發(fā)明的特征在于,在上述第1發(fā)明中,
上述控制信息是路由信息(routing information)。
用于解決上述課題的第5發(fā)明的特征在于,在上述第1發(fā)明中, 上述控制信息是路徑信息。
用于解決上述課題的第6發(fā)明的特征在于,在上述第1至第5的 任意一個發(fā)明中,上述控制信息是上述數(shù)據(jù)包中共用的控制信息。
用于解決上述課題的第7發(fā)明的特征在于,在上述第1至第6的 任意一個發(fā)明中,專門識別前導(dǎo)包的識別信息包含在上述數(shù)據(jù)包中。
用于解決上述課題的第8發(fā)明的特征在于,在上述第1至第7的 任意一個發(fā)明中,專門識別對控制信息進(jìn)行匯集的數(shù)據(jù)包的識別信息 包含在上述前導(dǎo)包中。
用于解決上述課題的第9發(fā)明的特征在于,在上述第1至第S的 任意一個發(fā)明中,上述多個數(shù)據(jù)包或前導(dǎo)包經(jīng)過多個線路而被收發(fā)。
用于解決上述課題的第IO發(fā)明的特征在于,在上述第9發(fā)明中, 上述前導(dǎo)包使用上述多個線路中最快速的線路進(jìn)行發(fā)送。
用于解決上述課題的第11發(fā)明的特征在于,在上述第9發(fā)明中, 根據(jù)上述控制信息選擇發(fā)送上述前導(dǎo)包或上述數(shù)據(jù)包的線路。
用于解決上述課題的第12發(fā)明的特征在于,在上述第1至第11 的任意一個發(fā)明中,根據(jù)接收的前導(dǎo)包中含有的控制信息,決定發(fā)送 的塊的數(shù)據(jù)量。用于解決上述課題的第13發(fā)明的特征在于,在上述第1至第12 的任意一個發(fā)明中,根據(jù)接收的前導(dǎo)包中含有的控制信息,決定發(fā)送 的塊的發(fā)送時刻。
用于解決上述課題的第14發(fā)明的特征在于,在上述第1至第13
的任意一個發(fā)明中,根據(jù)屬于同一塊的多個數(shù)據(jù)包的接收時刻,推測 通信路徑的速度。
用于解決上述課題的第15發(fā)明的特征在于,具有 包塊制作單元,將多個數(shù)據(jù)包和前導(dǎo)包作為一個塊處理,將和上 述多個數(shù)據(jù)包相關(guān)的控制信息匯集到上述前導(dǎo)包;和
調(diào)度單元,根據(jù)匯集到接收的前導(dǎo)包的控制信息,控制包的發(fā)送。
用于解決上述課題的第16發(fā)明的特征在于,在上述第15發(fā)明中, 上述控制信息是流控制信息。
用于解決上述課題的第17發(fā)明的特征在于,在上述第15發(fā)明中, 上述控制信息是重發(fā)控制信息。
用于解決上述課題的第18發(fā)明的特征在于,在上述第15發(fā)明中, 上述控制信息是路由信息。
用于解決上述課題的第19發(fā)明的特征在于,在上述第15發(fā)明中, 上述控制信息是路徑信息。
用于解決上述課題的第20發(fā)明的特征在于,在上述第15至第19 的任意一個發(fā)明中,上述包塊制作單元將上述數(shù)據(jù)包中共用的控制信 息匯集到上述前導(dǎo)包。
用于解決上述課題的第21發(fā)明的特征在于,在上述第15至第20 的任意一個發(fā)明中,專門識別前導(dǎo)包的識別信息包含在上述數(shù)據(jù)包中。
用于解決上述課題的第22發(fā)明的特征在于,在上述第15至第21 的任意一個發(fā)明中,專門識別匯集到控制信息的數(shù)據(jù)包的識別信息包 含在上述前導(dǎo)包中。
用于解決上述課題的第23發(fā)明的特征在于,在上述第15至第22 的任意一個發(fā)明中,具有發(fā)送單元,將上述多個數(shù)據(jù)包或前導(dǎo)包經(jīng)由 多個線路發(fā)送。
用于解決上述課題的第24發(fā)明的特征在于,在上述第23發(fā)明中, 上述調(diào)度單元進(jìn)行控制,以使用上述多個線路中最快速的線路發(fā)送前 導(dǎo)包。
用于解決上述課題的第25發(fā)明的特征在于,在上述第23發(fā)明中, 上述調(diào)度單元根據(jù)控制信息選擇發(fā)送上述前導(dǎo)包或上述數(shù)據(jù)包的線 路。
用于解決上述課題的第26發(fā)明的特征在于,在上述第15至第25 的任意一個發(fā)明中,上述調(diào)度單元根據(jù)接收的前導(dǎo)包中含有的控制信 息,決定發(fā)送的塊的數(shù)據(jù)量。
用于解決上述課題的第27發(fā)明的特征在于,在上述第15至第26 的任意一個發(fā)明中,上述調(diào)度單元根據(jù)接收的前導(dǎo)包中含有的控制信 息,決定發(fā)送的塊的發(fā)送時刻。
用于解決上述課題的第28發(fā)明的特征在于,在上述第15至第27 的任意一個發(fā)明中,具有包解析部,由屬于同一塊的多個數(shù)據(jù)包的接 收時刻,推測通信路徑的速度。
用于解決上述課題的第29發(fā)明的特征在于,具有 包塊制作單元,將多個數(shù)據(jù)包和前導(dǎo)包作為一個塊處理,將和上
述多個數(shù)據(jù)包相關(guān)的控制信息匯集到上述前導(dǎo)包;和
調(diào)度單元,根據(jù)匯集到從其他節(jié)點接收的前導(dǎo)包的控制信息,控
制包的發(fā)送。
用于解決上述課題的第30發(fā)明的特征在于,在上述第29發(fā)明中, 上述包塊制作單元將上述數(shù)據(jù)包中共用的控制信息匯集到上述前導(dǎo) 包。
用于解決上述課題的第31發(fā)明的特征在于,在上述第29或第30 的發(fā)明中,專門識別前導(dǎo)包的識別信息包含在上述數(shù)據(jù)包中。
用于解決上述課題的第32發(fā)明的特征在于,在上述第29至第31 的任意一個發(fā)明中,專門識別對控制信息進(jìn)行匯集的數(shù)據(jù)包的識別信 息包含在上述前導(dǎo)包中。
用于解決上述課題的第33發(fā)明的特征在于,在上述第29至第32 的任意一個發(fā)明中,具有發(fā)送單元,將上述多個數(shù)據(jù)包或前導(dǎo)包經(jīng)由 多個線路發(fā)送。
用于解決上述課題的第34發(fā)明的特征在于,在上述第33發(fā)明中, 上述調(diào)度單元進(jìn)行控制,以使用上述多個線路中最快速的線路發(fā)送前 導(dǎo)包。
用于解決上述課題的第35發(fā)明的特征在于,在上述第33或第34 的發(fā)明中,上述調(diào)度單元根據(jù)匯集到從其他節(jié)點接收的前導(dǎo)包的控制 信息,選擇發(fā)送上述前導(dǎo)包或上述數(shù)據(jù)包的線路。
用于解決上述課題的第36發(fā)明的特征在于,在上述第29至第35 的任意一個發(fā)明中,上述調(diào)度單元根據(jù)從其他節(jié)點接收的前導(dǎo)包中含 有的控制信息,決定發(fā)送的塊的數(shù)據(jù)量。
用于解決上述課題的第37發(fā)明的特征在于,在上述第29至第36 的任意一個發(fā)明中,上述調(diào)度單元根據(jù)從其他節(jié)點接收的前導(dǎo)包中含 有的控制信息,決定發(fā)送的塊的發(fā)送時刻。
用于解決上述課題的第38發(fā)明的特征在于,在上述第29至第37 的任意一個發(fā)明中,具有包解析部,根據(jù)屬于同一塊的多個數(shù)據(jù)包的 接收時刻,推測通信路徑的速度。
用于解決上述課題的第39發(fā)明的特征在于,使計算機(jī)實施以下處
理
包塊制作處理,將多個數(shù)據(jù)包和前導(dǎo)包作為一個塊處理,將和上 述多個數(shù)據(jù)包相關(guān)的控制信息匯集到上述前導(dǎo)包;和
調(diào)度處理,根據(jù)匯集到從其他節(jié)點接收的前導(dǎo)包的控制信息,控 制包的發(fā)送。
本發(fā)明如上所述,將多個數(shù)據(jù)包和前導(dǎo)包作為一個塊,將上述多 個數(shù)據(jù)包的控制信息匯集到上述前導(dǎo)包,根據(jù)上述前導(dǎo)包的控制信息 控制包的發(fā)送。因此,在節(jié)點中,可盡快知道控制信息,從而可高速 實施信號傳輸。
本發(fā)明在可選擇一個以上的路徑的二個節(jié)點之間,通過反饋基于 每個包塊的接收序列的路徑狀態(tài)推測結(jié)果,和現(xiàn)有例相比,可實現(xiàn)基 于正確的路徑狀態(tài)推測的流控制及負(fù)荷分散。
并且,本發(fā)明對多個包僅進(jìn)行一次流控制及路徑選擇處理,因此 和對每個發(fā)送包進(jìn)行流控制及路徑選擇處理的現(xiàn)有例相比,可減輕處
理負(fù)荷。
并且,本發(fā)明將各路徑的流控制信息、負(fù)荷分散信息、ARQ信息、
順序控制信息匯集到前導(dǎo)包,從延遲最低的路徑或可靠性強的路徑作 為塊的前端發(fā)送,從而可抑制信號傳輸信息的損失、延遲,緩和路徑 帶寬上升傾向時的帶寬利用效率與下降傾向時的控制跟隨性之間的交 替換位。
并且,本發(fā)明中,接收節(jié)點可通過前導(dǎo)信息預(yù)測該塊內(nèi)的包接收 序列,因此在與預(yù)測不同時判斷為通信異常,從而可盡快檢測出通信 異常。
并且,本發(fā)明中,順序控制緩沖器內(nèi)的數(shù)據(jù)的傳送不會長時間地 保留必要時間以上,改善了端到端抖動。
并且,本發(fā)明和需要發(fā)送側(cè)與接收側(cè)的狀態(tài)信息共享的數(shù)據(jù)頭壓 縮的現(xiàn)有例相比,可通過簡單的構(gòu)造實現(xiàn)數(shù)據(jù)頭信息削減。
圖1是表示本發(fā)明的第1實施例的系統(tǒng)構(gòu)成圖。
圖2是本發(fā)明前導(dǎo)包的構(gòu)成圖。 圖3是本發(fā)明的數(shù)據(jù)包的構(gòu)成圖。
圖4是將流控制算法(PAC調(diào)度機(jī))應(yīng)用于本發(fā)明的第1實施例 的例子。
圖5是調(diào)度部遵循的流程圖。
圖6是包制作部遵循的流程圖。
圖7是表示本發(fā)明的第2實施例的系統(tǒng)構(gòu)成圖。
圖8是將流控制算法(PAC調(diào)度機(jī))應(yīng)用于本發(fā)明的第2實施例 的例子。
圖9是縮短本發(fā)明的第2實施例的反饋周期的例子。
圖10是將本發(fā)明的第2實施例的速度推測精度保持一定的例子。
圖11是說明本發(fā)明的第3實施例的圖。
圖12是說明本發(fā)明的第4實施例的圖。
圖13是說明本發(fā)明的第5實施例的圖。 圖14是說明本發(fā)明的概要的圖。
圖15是說明本發(fā)明的概要(數(shù)據(jù)包為3個以上時)的圖。 圖16是說明現(xiàn)有發(fā)明的概要的圖。
附圖標(biāo)記003前導(dǎo)包
004、005、 006 數(shù)據(jù)包
101、102傳送節(jié)點
201緩沖部
202調(diào)度部
203包塊制作部
204包發(fā)送部
205存儲部
206包接收部
207包解析部
208包傳送部
301數(shù)據(jù)包
302前導(dǎo)包
具體實施例方式
利用圖14說明第1實施方式。圖14表示從發(fā)送節(jié)點001向接收 節(jié)點002進(jìn)行本發(fā)明的包傳送的形態(tài)。在使用了作為現(xiàn)有技術(shù)的第4 層協(xié)議的TCP的包傳送中,如圖16所示,各個包從前端開始依次由IP 數(shù)據(jù)頭、TCP數(shù)據(jù)頭、有效載荷(payload)構(gòu)成。在TCP中,將多個 包同時、或在控制信息不變化的程度的短時間內(nèi)發(fā)送時,附加到各個 包的TCP數(shù)據(jù)頭的控制信息全部相等。
另一方面,在本發(fā)明中,將多個包同時、或在控制信息不變化的 程度的短時間內(nèi)發(fā)送時,控制信息僅存儲在前端的前導(dǎo)包003用的數(shù) 據(jù)頭中,向該本發(fā)明的前導(dǎo)頭用數(shù)據(jù)頭和現(xiàn)有技術(shù)同樣地附加表示目 的地節(jié)點的IP數(shù)據(jù)頭,首先發(fā)送由IP數(shù)據(jù)頭和本發(fā)明的前導(dǎo)包用數(shù)據(jù) 頭構(gòu)成的前導(dǎo)包。
并且,緊接該前導(dǎo)包003,發(fā)送含有比前導(dǎo)包用數(shù)據(jù)頭信息量少 的本發(fā)明的數(shù)據(jù)包用數(shù)據(jù)頭的數(shù)據(jù)包004、 005。
因此,在本發(fā)明中,將存儲在各個包的數(shù)據(jù)頭的控制信息存儲到 前端的前導(dǎo)包003的數(shù)據(jù)頭中,包003的接收所需的時間和現(xiàn)有的包 0040的接收相比變短。因此,在接收節(jié)點中,對于該控制信息(例如 ACK信息等),和現(xiàn)有的包傳送方法相比可盡快獲知。其結(jié)果是,可 高速實施基于該控制信息的信號傳輸。
并且,上述效果在發(fā)送的數(shù)據(jù)包如圖15所示為三個以上時也可實 現(xiàn)。在圖15中,在現(xiàn)有方法下,同時或在控制信息不變化的程度的短 時間內(nèi)進(jìn)行發(fā)送時,向各數(shù)據(jù)包004a、 005a、 006a附加有重復(fù)的、相 同數(shù)據(jù)量的第4層數(shù)據(jù)頭,與之相對,在本發(fā)明中,將相當(dāng)于現(xiàn)有例 中的各個包頭的重復(fù)部分的控制信息匯集存儲到前端的前導(dǎo)包003a的 數(shù)據(jù)頭,各數(shù)據(jù)包中,將比TCP數(shù)據(jù)頭輕的本發(fā)明的數(shù)據(jù)包用數(shù)據(jù)頭 作為第4層數(shù)據(jù)頭附加。
如圖15所示,通過使現(xiàn)有技術(shù)中由多個包重復(fù)持有的信息由前導(dǎo) 包代表性地持有,數(shù)據(jù)頭的信號傳輸?shù)男畔⒘亢蚑CP保持同等,同時 全部包的數(shù)據(jù)頭大小的總量和TCP相比減少。其結(jié)果是,可提高包發(fā) 送整體的傳送效率。
并且,如圖15所示,對于多個包制作一個前導(dǎo)包并進(jìn)行包發(fā)送的
進(jìn)一步的效果體現(xiàn)在路徑速度測定精度上升這一點上。速度只要最低 有2個包即可測定,但包越多其精度越高。
其原因之一在于,在發(fā)送某個流中含有的較多的包時,各個包之 間很可能夾入了屬于其他流的包。在實際的傳送路徑中,經(jīng)常會發(fā)生 這種情況,因此包的個數(shù)越多,越可以在接近實際的傳送路徑的狀態(tài) 下進(jìn)行速度測定。
并且,另一原因在于,當(dāng)包塊中含有的包個數(shù)增加時, 一次測定 涉及的包的前端和末尾的接收時刻的差變大,因此接收節(jié)點所需的時 間分解能力要變大,如果是同樣的時間分解能力的節(jié)點,則使用本發(fā) 明的包塊會提高速度精度。
以上說明了本發(fā)明的概要。以下進(jìn)一步詳細(xì)說明。
(第1實施例)
圖1表示本發(fā)明的第1實施例。在該圖中,在傳送節(jié)點101和傳 送節(jié)點102之間,利用本發(fā)明的包傳送方向進(jìn)行包的傳送。本實施例
設(shè)定了雙向?qū)ΨQ的協(xié)議,因此傳送節(jié)點101和傳送節(jié)點102的構(gòu)成相 同。以下以從傳送節(jié)點101向傳送節(jié)點102進(jìn)行包傳送為例進(jìn)行說明, 但從傳送節(jié)點102到傳送節(jié)點101的傳送也是同樣的動作。
首先,說明傳送節(jié)點101的包傳送動作。傳送節(jié)點101從其他節(jié) 點或同一節(jié)點上的用戶應(yīng)用程序等數(shù)據(jù)生成單元取得應(yīng)傳送到傳送節(jié) 點102的數(shù)據(jù),收容在緩沖部201中。
調(diào)度部202根據(jù)存儲部205中存儲的調(diào)度信息控制發(fā)送。例如, 如下決定應(yīng)進(jìn)行包發(fā)送的時刻、及緊接著前導(dǎo)包發(fā)送的數(shù)據(jù)包(以下 稱為包群)的構(gòu)成,當(dāng)應(yīng)進(jìn)行包發(fā)送的時刻到來時,向包塊制作部203 通知前導(dǎo)包及包群的構(gòu)成。接收到前導(dǎo)包及包群的構(gòu)成的通知的包塊
制作部203將數(shù)據(jù)包的控制信息匯集到前導(dǎo)包。例如,根據(jù)通知的構(gòu)
成及存儲部205中存儲的流控制信息,制作前導(dǎo)包,并且從緩沖部201
取出基于通知的構(gòu)成的個數(shù)的數(shù)據(jù),向取出的各數(shù)據(jù)分別附加預(yù)定的 數(shù)據(jù)頭信息,制作包群,將包群和前導(dǎo)包同時或以預(yù)定間隔傳送到包
發(fā)送部204。將此時發(fā)送的包的集合在以下稱為包塊。
包發(fā)送部204將從包塊制作部203傳送的包依次傳送到傳送節(jié)點 102內(nèi)的包接收部206。 300-1是從包發(fā)送部204發(fā)送的、通信路徑上 的包塊的示意圖,表示多個數(shù)據(jù)包301緊接著前導(dǎo)包302的情況。
接著說明從傳送節(jié)點101接收包塊300-1時的傳送節(jié)點102的動 作。包解析部207從包塊300-1如下文所述地抽取預(yù)定信息,并且進(jìn)行 和接收包相關(guān)的下文所述的預(yù)定的測量,將其結(jié)果作為流控制信息存 儲到存儲部205。結(jié)束了在解析部207中的處理的包的數(shù)據(jù)依次傳送到 包傳送部208,包傳送部208將從包解析部207接收的數(shù)據(jù)傳送到下一 傳送節(jié)點、或同一節(jié)點內(nèi)的用戶應(yīng)用程序等數(shù)據(jù)接收單元。
傳送節(jié)點102內(nèi)的調(diào)度部202通過與傳送節(jié)點101內(nèi)的調(diào)度部202 同樣的動作,根據(jù)存儲部205中存儲的調(diào)度信息,如下文所述地決定 應(yīng)進(jìn)行包發(fā)送的時刻、及包群的構(gòu)成,當(dāng)應(yīng)進(jìn)行包發(fā)送的時間到來時, 向包塊制作部203通知前導(dǎo)包及包群的構(gòu)成。
傳送節(jié)點102內(nèi)的包塊制作部203根據(jù)通知的構(gòu)成及存儲部205 中存儲的流控制信息制作前導(dǎo)包,與緩沖部201中存儲的數(shù)據(jù)一并構(gòu) 成包塊300-2,并通過包發(fā)送部204發(fā)送到傳送節(jié)點101內(nèi)的包接收部 206。發(fā)送后,將發(fā)送歷史存儲到存儲部205。
從傳送節(jié)點102接收到新的包塊300-2時,傳送節(jié)點101內(nèi)的包 解析部207從包塊300-2抽取預(yù)先的信息,并且進(jìn)行和接收包相關(guān)的預(yù) 定的測量,將其結(jié)果作為流控制信息存儲到存儲部205,將更新了流控
制信息的情況通知調(diào)度部202。調(diào)度部202根據(jù)更新的流控制信息同樣 更新存儲部205中存儲的調(diào)度信息。之后的包發(fā)送時刻及包塊構(gòu)成的 決定根據(jù)更新的調(diào)度信息來進(jìn)行。
圖2表示本發(fā)明中使用的前導(dǎo)包的構(gòu)造示例。本發(fā)明作為任何通 信層上的協(xié)議均可實施,而在本實施例中,安裝了第4層協(xié)議,表示 下位層的傳送協(xié)議為IP時的構(gòu)造示例。
如圖2所示,本實施例中的前導(dǎo)包中,緊接著前端的IP數(shù)據(jù)頭的 塊管理信息、流控制信息包含在前導(dǎo)包用數(shù)據(jù)頭中。另一方面,數(shù)據(jù) 包的構(gòu)造如圖3所示,除了IP數(shù)據(jù)頭以外,數(shù)據(jù)包用數(shù)據(jù)頭中包含塊 被管理信息,有效載荷中包含數(shù)據(jù)本身。
塊管理信息是發(fā)送一側(cè)節(jié)點生成的、包塊內(nèi)的包的數(shù)據(jù)包個數(shù)或 包的優(yōu)先度等的屬性信息。另一方面,塊被管理信息是專門識別前導(dǎo) 包的識別信息。即,是用于識別各數(shù)據(jù)包所屬的包塊的信息。在本實 施例中,發(fā)送節(jié)點向各包塊附加獨特的序列號,將其作為塊被管理信 息。并且,塊內(nèi)的各個包以前導(dǎo)包為前端依次被發(fā)送(從包塊制作部 203傳送到包發(fā)送部204),將其發(fā)送時的計時標(biāo)記(time stamp)、屬 于包塊的包的序列號的范圍作為塊管理信息。根據(jù)這些信息,在接收 節(jié)點中進(jìn)行延遲測定及非專利文獻(xiàn)所述的包序列方式(根據(jù)總數(shù)據(jù)量/ 最后的包和最初的包的接收時刻的差,進(jìn)行帶寬推測的方式)下的通 信路徑的帶寬推測。
并且,也可通過前導(dǎo)包中含有專門識別匯集控制信息的數(shù)據(jù)包的 識別信息,來保持前導(dǎo)包和數(shù)據(jù)包群的關(guān)系。
根據(jù)以上前提,再次參照圖1具體說明本實施例的流控制機(jī)構(gòu)。 傳送節(jié)點102內(nèi)的包解析部207從包接收部206接收到包塊300-1的前 導(dǎo)包302時,從塊管理信息抽取包塊300-1的計時標(biāo)記和序列號的范圍。
并且將接收時刻和抽取的計時標(biāo)記的差作為路徑延遲的推測結(jié)果寫入
存儲部205。接收后續(xù)的數(shù)據(jù)包301時,序列號如在包塊300-1的序列
號范圍內(nèi),則存儲其數(shù)據(jù)大小。并且如接收的包在塊內(nèi)是最后接收的 包,則將接收的包塊內(nèi)的數(shù)據(jù)包的包大小的總和除以該包的接收時刻 與前導(dǎo)包的接收時刻的差而得到的值,作為通信路徑的帶寬的推測結(jié)
果寫入存儲部205。
通過以上動作,傳送節(jié)點102內(nèi)的包解析部207記錄到存儲部205 的流控制信息(路徑延遲的推測結(jié)果和路徑帶寬的推測結(jié)果)收容到 從傳送節(jié)點102發(fā)送到傳送節(jié)點101的包塊300-2的前導(dǎo)包中,并通過 傳送節(jié)點101內(nèi)的包解析部207傳送到存儲部205。傳送節(jié)點101內(nèi)的 存儲部205在新的流控制信息到來時,通知調(diào)度部202進(jìn)行流控制信 息更新,接收到該通知的調(diào)度部202使用更新的流控制信息、即路徑 延遲的推測結(jié)果和路徑帶寬的推測結(jié)果來更新調(diào)度信息,之后根據(jù)更 新的調(diào)度信息構(gòu)成包塊。
以上說明了第1實施例中的安裝了包塊傳送方式的節(jié)點的構(gòu)成及 動作的示例。以下說明圖1中決定包塊的發(fā)送時刻的調(diào)度部202、及決 定包塊的構(gòu)成的包塊制作部203所依據(jù)的流控制算法的示例。
作為流控制算法的第l例,應(yīng)用TCP中使用的窗口控制,對根據(jù) 由包序列方式推測的路徑帶寬來決定窗口大小的流控制算法進(jìn)行說 明。在該實施例中,從傳送節(jié)點102發(fā)送到傳送節(jié)點101的前導(dǎo)包302 中,含有和TCP中使用的一樣的Ack信息、接收窗口大小(接收節(jié)點 一側(cè)決定的可接收的數(shù)據(jù)量)。接收了該前導(dǎo)包302的傳送節(jié)點101 通過以下步驟進(jìn)行對傳送節(jié)點102的發(fā)送處理。接收到前導(dǎo)包302后, 包解析部207將該前導(dǎo)包302中含有的Ack內(nèi)容記錄到存儲部205,存 儲部205將新的Ack接收事件通知給調(diào)度部202。
調(diào)度部202將從接收的前導(dǎo)包抽取的接收窗口大小與從存儲部中
記錄的發(fā)送歷史中抽取的Ack的包之后發(fā)送的包的數(shù)據(jù)量的差,作為 可發(fā)送的數(shù)據(jù)量,通知給包塊生成部203。
包塊生成部203從緩沖部抽取含有前導(dǎo)包302的包塊大小不會超 過可發(fā)送的數(shù)據(jù)量的最大的量的數(shù)據(jù),制作向各數(shù)據(jù)附加了塊被管理 信息的數(shù)據(jù)包。并且,制作含有Ack信息及塊管理信息的前導(dǎo)包,將 兩者構(gòu)成的包塊傳送到包發(fā)送部204。如果可發(fā)送的數(shù)據(jù)量小于預(yù)先確 定的下限,則直到從下一次從調(diào)度部202通知可發(fā)送的數(shù)據(jù)量為止, 保留包塊制作。
當(dāng)可以發(fā)送包塊時,將發(fā)送歷史記錄到存儲部205。其中,傳送 節(jié)點101使用的接收窗口大小通過傳送節(jié)點102的包解析部207接收 來自傳送節(jié)點101的包塊時所推測的路徑速度來決定。接收窗口大小 的值例如由預(yù)先確定的最大往返延遲和推測速度的積確定。
進(jìn)一步,另行設(shè)置基于接收緩沖剩余量等的上限,如小于該上限, 則在接收窗口大小的決定中也可使用基于推測速度的值。
使用上述利用了速度推測結(jié)果的窗口控制,將現(xiàn)有技術(shù)中由多個 包重復(fù)持有的信息由前導(dǎo)包代表性地持有,從而可減輕節(jié)點處理負(fù)荷, 降低數(shù)據(jù)頭大小。并且,還產(chǎn)生以下效果。首先,不依賴于來去路徑 的速度差,往返延遲時間控制在預(yù)先確定的最大往返延遲時間以下, 因此在具有速度變動的路徑中,和現(xiàn)有的窗口控制相比,具有降低延 遲分散的效果。并且,窗口大小使用速度推測結(jié)果直接求出,因此在 損失、延遲變動大的路徑上也可有效利用帶寬。這一點和非專利文獻(xiàn)1、 9相比是優(yōu)點。S卩,在非專利文獻(xiàn)1、 9中,將發(fā)送一側(cè)的擁塞窗口 (congestion window)大小和接收窗口大小中的較小的一個作為窗口大 小采用,因此當(dāng)產(chǎn)生包損失時,將窗口大小控制得較小。與之相對, 在本發(fā)明中,即使發(fā)生包損失,也可使用速度推測結(jié)果決定窗口大小, 因此對窗口大小本身不產(chǎn)生影響,從而可有效利用帶寬。
此外,前導(dǎo)包中不含有接收窗口大小、而含有速度推測結(jié)果,窗 口大小的計算也可由發(fā)送側(cè)的節(jié)點的包解析部207進(jìn)行。進(jìn)一步,也 可不是將前導(dǎo)包接收時計算的可發(fā)送的數(shù)據(jù)量全部同時發(fā)送,而是分 割為多個包塊,以根據(jù)推測速度決定的發(fā)送間隔進(jìn)行發(fā)送。此時的發(fā) 送間隔需要是先發(fā)送的包塊和后發(fā)送的包塊在路徑上接觸的間隔。并 且,通過分割包塊并發(fā)送,發(fā)送到路徑上的脈沖大小變小,因此可得 到降低包損失的效果。
作為流控制算法的第2例,說明應(yīng)用了非專利文獻(xiàn)6中公開的PAC 調(diào)度機(jī)的方法的方法。發(fā)送節(jié)點中的PAC調(diào)度機(jī)的基本動作是,根據(jù) 從接收節(jié)點反饋的延遲和推測速度、及這些路徑狀態(tài)測定使用的包之 后的發(fā)送歷史,預(yù)測現(xiàn)在的路徑延遲,當(dāng)該預(yù)測延遲小于預(yù)先確定的 閾值時,發(fā)送下一包。參照圖4說明將其應(yīng)用于包塊傳送方式時的流 控制協(xié)議動作示例。
在圖4中,"101時刻"實數(shù)直線表示傳送節(jié)點101上的時刻, "102時刻"實數(shù)直線表示傳送節(jié)點102上的時刻。并且,在節(jié)點102 上的時刻T之后,假設(shè)路徑的帶寬比T以前低。傳送節(jié)點101在時刻 ts (a)發(fā)送包塊300-a,其前端在時刻tb (a)到達(dá)傳送節(jié)點102。 tb (a) 表示無負(fù)荷時包塊300-a的前端到達(dá)接收節(jié)點的時刻。
艮P,在節(jié)點101中,ts (a)以前沒有負(fù)荷,因此包塊300-a的前 端僅在無負(fù)荷時的延遲時到達(dá)節(jié)點102。在節(jié)點102中,通過將根據(jù)前 導(dǎo)包302-a、數(shù)據(jù)包301-1的接收時刻計算的推測速度及前導(dǎo)包302-a 上搭載的計時標(biāo)記和根據(jù)傳送節(jié)點102的接收時刻推測的延遲的信息、 在ts (f)下收容到從傳送節(jié)點102傳送到傳送節(jié)點101的包塊300-f 的前導(dǎo)包302-f,以通知節(jié)點101。
節(jié)點101緊接著包塊300-a,視路徑的帶寬恒定,發(fā)送包塊300-b。發(fā)送了包塊300-b后,通過302-f的接收更新路徑信息(推測速度及延 遲),但這是時刻T之前的信息,因此節(jié)點101在判斷路徑帶寬依然 和300-a發(fā)送時一樣為無負(fù)荷狀態(tài),在時刻ts (c)發(fā)送包塊300-c。此 時,節(jié)點101通過以下方法決定時刻ts(c)。即,將根據(jù)接收的包302-f 中含有的路徑信息(推測速度及延遲)、及該路徑信息的測定所使用 的包塊300-a之后的發(fā)送歷史所求得的、預(yù)測接收包塊300-c的前端的 時刻tf (c),作為與向無負(fù)荷時的預(yù)測到達(dá)時刻tb (c)加上了閾值th 而得到的值相同或比其早的時刻來決定。
其中,無負(fù)荷時的預(yù)測到達(dá)時刻tb (c)是在ts (c)的時刻, 通信路徑無負(fù)荷地發(fā)送包時,其前端到達(dá)接收節(jié)點102的預(yù)測時刻。 因此,在ts (c)的時刻,節(jié)點101預(yù)想包塊300-c的前端到達(dá)tb (c) + th。并且,包塊300-c的大小如下確定末尾的預(yù)測到達(dá)時刻在向tb (c)加上最大剩余延遲to的tb (c)十to的范圍內(nèi)。
并且,最大剩余延遲表示不從預(yù)測為其之上的延遲的路徑進(jìn)行包 發(fā)送的閾值。目卩,當(dāng)"最大延遲為to"時,發(fā)送側(cè)的節(jié)點從路徑r發(fā)送 包p時的預(yù)測到達(dá)時刻到發(fā)送時刻一to之后的發(fā)送時刻為止,不進(jìn)行 使用包p的路徑r的發(fā)送。相反,從預(yù)測到達(dá)時刻〈現(xiàn)在時間一to的路 徑中,可即時發(fā)送包。
但在本實施方式中,路徑帶寬實際上以時刻T為界變小,因此包 塊300-b的傳送延遲大于節(jié)點101的預(yù)測,包塊300-c的接收開始延遲 到tf (c),并且,末尾的數(shù)據(jù)包301-9的接收完成時刻也比預(yù)測的tb (c)十to慢,變?yōu)閠f, (d)。節(jié)點102在ts (g)發(fā)送包塊300-g,在 該前導(dǎo)包302-g中含有通過包塊300-b接收而檢測出的路徑信息(即路 徑帶寬下降的信息)。因此,節(jié)點101通過包302-g的接收獲知路徑帶 寬下降,從而也與此對應(yīng)來更新路徑信息,將更新之前預(yù)定在ts (d) 發(fā)送的下一包塊300-d的發(fā)送時刻變更為ts' (d)。并且,從節(jié)點101 發(fā)送到節(jié)點102的包塊的大小和300-b、 300-c相比也變小。
上述判斷是計算發(fā)送時刻和塊大小的結(jié)果,其是使用的更新的路 徑信息及發(fā)送歷史求出的、塊前端的預(yù)測到達(dá)延遲tf (d)為tb (d) + th以下、并且末尾的預(yù)測到達(dá)時刻為tb(d) +tO以下。實際上在ts(g) 之后到tf (d)為止的期間內(nèi),路徑狀態(tài)變動,因此在附圖中,前端實 際到達(dá)的時間tf (d)與tf (d)偏離。
該偏離通過下一測定結(jié)果的反饋,反映到之后的包塊的發(fā)送調(diào)度。 通過上述動作,PAC調(diào)度機(jī)進(jìn)行發(fā)送時刻控制,以校正預(yù)測到達(dá)時刻 的偏離,實現(xiàn)帶寬的有效利用及抑制延遲兩者。之前說明的窗口控制 提供對于往返延遲的控制,在PAC調(diào)度機(jī)中,進(jìn)一步分別測定路徑的 各單程的延遲并反饋,因此在來路和去路的狀態(tài)不同的路徑中,具有 可分別匹配地控制的優(yōu)點。例如,當(dāng)去路的帶寬相對現(xiàn)在的負(fù)荷較大、 來路的帶寬相反相對現(xiàn)在的負(fù)荷較小時,僅來路的延遲增大增大。此 時進(jìn)行基于往返延遲的控制時,來路和去路的發(fā)送側(cè)節(jié)點對該路徑的 負(fù)荷減少,結(jié)果因此無法有效利用去路的帶寬。而此時如果分別監(jiān)視 來路和去路的延遲,則可知無需去路的負(fù)荷減輕,因此可有效利用去 路的帶寬。
圖5表示為了實現(xiàn)上述流控制協(xié)議的動作調(diào)度部202所遵循的流 程圖,圖6表示包塊制作部203所遵循的流程圖。調(diào)度部202在每次 更新存儲部205的存儲內(nèi)容時,決定下一個可發(fā)送包塊的時刻及塊大 小,并通知包塊制作部203。
首先具體說明圖5。在S51的處理中,當(dāng)路徑狀態(tài)信息或包發(fā)送 歷史信息被更新時,從存儲部205接受相關(guān)通知。接著根據(jù)最新的發(fā) 送路徑狀態(tài)信息、及該發(fā)送路徑狀態(tài)信息變得有效的發(fā)送完成的包之 后的發(fā)送歷史,計算下一個包發(fā)送時刻(tf) (S52),以使下一個發(fā) 送的包的前端的到達(dá)預(yù)測時刻與向無負(fù)荷時的到達(dá)時間預(yù)測時刻(tb) 加上閾值(th)的時刻相等。接著,根據(jù)最新的發(fā)送路徑狀態(tài)信息,計
算預(yù)測造成最大剩余延遲to的傳送延遲的數(shù)據(jù)量(d) (S53)。并且, 將上述求出的包發(fā)送時刻(tf)及數(shù)據(jù)量(d)通知包塊制作部203(S54), 并結(jié)束處理。
包塊制作部203在緩沖部201中有數(shù)據(jù)、且包塊可發(fā)送時,構(gòu)成 從調(diào)度部202通知的塊大小以內(nèi)的大小的包塊,傳送到塊發(fā)送部204。
在圖6中,變?yōu)槠瘘c的狀態(tài)在wait和idle 二種,這是因為,"變 為可發(fā)送的時刻后,發(fā)送包塊"的處理通過使用計時器來實現(xiàn)。在等 待該計時器到達(dá)的期間,調(diào)度部202停留在wait狀態(tài)。另一方面idle 狀態(tài)是未等待計時器、也未接收應(yīng)處理的數(shù)據(jù)的狀態(tài)。
以下說明圖6。
首先說明idle狀態(tài)的情況。在該狀態(tài)下,在"從緩沖部201接收 新的包接收通知"的情況下(S61)、或"從調(diào)度部202接收包發(fā)送時 刻(tf)及數(shù)據(jù)量(d)的更新通知"的情況下(S62),開始處理。處 理開始后,首先判斷包發(fā)送時刻(tf)《現(xiàn)在(S63)。當(dāng)該判斷結(jié)果 為否時,滿足時刻tf時起動計時器并結(jié)束處理(S64),變?yōu)閣ait狀態(tài)。 并且,當(dāng)S63的判斷結(jié)果為是時,制作含有最新的接收路徑狀態(tài)信息 及Ack信息的前導(dǎo)包(S65)。接著,在包的前端中,將包塊大小為數(shù) 據(jù)量(d)以下的最大量的數(shù)據(jù)從緩沖部201取出,制作數(shù)據(jù)包群(S66)。 接著,將前導(dǎo)包及數(shù)據(jù)包群發(fā)送到包發(fā)送部204 (S67)。接著將發(fā)送 記錄寫入存儲部205 (S68),結(jié)束處理,返回idle狀態(tài)。
接著說明wait狀態(tài)的情況。Wait狀態(tài)時從調(diào)度部202接收包發(fā)送 時刻(tf)及數(shù)據(jù)量(d)的更新通知的情況(S71)的處理和上述idle 狀態(tài)時從調(diào)度部202接收包發(fā)送時刻(tf)及數(shù)據(jù)量(d)的更新通知 時的處理一樣。
并且,wait狀態(tài)時,滿足發(fā)送計時器時的處理和上述idle時的 S65 S68的處理相同。
此外,在上述算法說明中,存儲部205的存儲內(nèi)容被更新時對調(diào) 度部202的通知由存儲部來進(jìn)行,但由包解析部207、包塊制作部203 或包發(fā)送部204進(jìn)行時,也可實現(xiàn)同樣的動作。
在實施上述PAC調(diào)度時,為了求出tb (a)等,需要無負(fù)荷時的 路徑延遲的知識。其可提前測量并作為常數(shù)處理,而在為了避免路徑 狀態(tài)、計時器故障等的影響而想更新時,可通過以下步驟在通信過程 中進(jìn)行。首先,在接收一側(cè)節(jié)點的包解析部207中,從某個包塊A的 末尾的接收時刻開始到下一個包塊B的前端的接收時刻之間存在間隔 時,認(rèn)為路徑中有富余,包塊B的前導(dǎo)包以無負(fù)荷狀態(tài)到達(dá)。
在圖4的例子中,包塊300-b的前導(dǎo)包302-b從之前的包塊300-a 的末尾的接收時刻開始,隔開間隔接收,因此在無負(fù)荷狀態(tài)下到達(dá)。 當(dāng)檢測到這種間隔時,傳送節(jié)點102將表示包302-b以無負(fù)荷到達(dá)的情 況的信息包含在發(fā)送目的地的前導(dǎo)包302-g中,從而將無負(fù)荷延遲檢測 傳送到傳送節(jié)點101。
接收到前導(dǎo)包302-g的傳送節(jié)點101將無負(fù)荷時的路徑延遲值更 新為302-b的延遲。
并且,使用PAC調(diào)度機(jī)時,定期地使用無負(fù)荷延遲值。因此,當(dāng) 一定時間以上未檢測到無負(fù)荷延遲時,將作為塊發(fā)送閾值的剩余延遲 th設(shè)為負(fù)的值,強制誘導(dǎo)無負(fù)荷的傳送,則可實現(xiàn)一定時間內(nèi)的周期 性負(fù)荷時路徑延遲值。因此實現(xiàn)如下狀態(tài)只有在th<0,路徑完全無 負(fù)荷的狀態(tài)下才可發(fā)送數(shù)據(jù)。
如上所述,通過傳送節(jié)點101及102內(nèi)的構(gòu)成要素各自的動作,
反饋通信路徑的延遲及速度的監(jiān)視結(jié)果,進(jìn)行包流量控制,因此在本 發(fā)明中,可進(jìn)行考慮了路徑信息(推測速度及延遲)的包發(fā)送。并且, 由于將信號傳輸信息匯集到前導(dǎo)包進(jìn)行通信,因此接收側(cè)的流控制信 息的抽取、發(fā)送側(cè)的調(diào)度信息的更新均不像現(xiàn)有例那樣以和包收發(fā)同 樣的頻率進(jìn)行,而以包塊接收發(fā)送的頻率進(jìn)行,因此減輕了傳送節(jié)點 的處理負(fù)荷。
并且, 一個包塊中含有的包個數(shù)如為一定以上,可從數(shù)據(jù)包中省 略信號傳輸信息,匯集到前導(dǎo)包,對于同樣的數(shù)據(jù)量,和現(xiàn)有例相比, 具有可降低包大小的總和的效果。進(jìn)一步,包序列方式的高精度的路 徑帶寬推測可使用僅用于速度測定的專用探測包(模擬包)等、不破 壞帶寬利用效率地進(jìn)行。
此外,在以上說明中,為了使速度測定的有效性最大化,同一包 塊內(nèi)的包同時發(fā)送,而本發(fā)明實施時也可不是同時,而以比瓶頸帶寬 高的速率將多個包以一定的發(fā)送速度發(fā)送。這是因為,接收側(cè)測量的 包的分散反映瓶頸帶寬,因此可進(jìn)行帶寬推測。
這種情況下,無法獲得路徑的瓶頸帶寬在發(fā)送速度以上的推測速 度,但例如需要某一特定速度的應(yīng)用程序可判斷路徑能否在該速度以 上傳輸。其原因在于,接收速率小于發(fā)送速率時,通過路徑的速度, 傳送速率被限制,可測定速度。并且,即使不是這樣,也可知道路徑 速度為發(fā)送速率以上(路徑上不存在速率比發(fā)送速率低的鏈接)。通 過將發(fā)送速度保持在一定以下,和同時發(fā)送時相比,抑制施加到路徑 的負(fù)荷,因此可降低過剩負(fù)荷引起包損失的可能性。
在上述第1實施例中,作為流控制信息僅含有路徑延遲及帶寬監(jiān) 視信息(路徑信息),此外也可含有接收確認(rèn)信息等。例如,當(dāng)含有 前導(dǎo)包的接收確認(rèn)、及在對應(yīng)的包塊內(nèi)無法接收的數(shù)據(jù)包的識別信息 (重發(fā)控制信息)時,可正確確定發(fā)送側(cè)應(yīng)重發(fā)的包。
當(dāng)前導(dǎo)包損失時,通過同時使用例如表示前導(dǎo)包損失的信息、及 與TCP中使用的一樣的、基于序列號的Ack信息,可保持發(fā)送的完整 性。例如,對前導(dǎo)包也附加序列號,接收側(cè)返回Ack信息,則通過發(fā) 送側(cè)重發(fā)未Ack的包,前導(dǎo)包、數(shù)據(jù)包均可保障無損失的傳送。
并且,在第1實施例中,前導(dǎo)包是單一的,但為了實現(xiàn)冗長性也 可具有多個。此時,可制作相同的包的復(fù)制,也可匯集多個前導(dǎo)包由
塊整體的塊控制信息覆蓋。
并且,本發(fā)明中的前導(dǎo)包在包塊由多個數(shù)據(jù)包構(gòu)成時,可含有數(shù) 據(jù)本身,并且塊管理信息為了識別塊內(nèi)包而使用已有的識別符,例如
使用IP數(shù)據(jù)頭內(nèi)的Identification域時,數(shù)據(jù)包中不需要塊被管理信息。
并且,除了 "前導(dǎo)包不含有用戶數(shù)據(jù)"、"數(shù)據(jù)包含有塊被管理 信息"的限定外,還進(jìn)行作為本發(fā)明特征的向前導(dǎo)包附加可確認(rèn)塊 內(nèi)包及來自它們的流控制信息生成方法的信息;通過接收一側(cè)節(jié)點進(jìn) 行和接收包所屬的包塊對應(yīng)的流控制信息的生成。
此外,上述控制信息也可是路由信息。
并且,發(fā)送的包無需全部屬于某個包塊,例如僅在進(jìn)行定期的線 路監(jiān)視時構(gòu)成包塊并發(fā)送,獲得監(jiān)視結(jié)果后到下一監(jiān)視時刻為止的期 間內(nèi),可單獨發(fā)送各數(shù)據(jù)包。
(第2實施例)
接著說明本發(fā)明的第2實施例。圖7表示本實施例中使用的傳送 節(jié)點101及102的構(gòu)成。傳送節(jié)點101的構(gòu)成和第1實施例中使用的 圖i中的一樣,但傳送節(jié)點102具有多個包接收部206及包發(fā)送部204。
位于傳送節(jié)點101和102之間的IP網(wǎng)400提供從傳送節(jié)點101的包發(fā)
送部204到傳送節(jié)點102的包接收部206-1的路徑、及到包接收部206-2 的路徑,各路徑一般包括物理性隔離的鏈接,帶寬、延遲彼此獨立地 變動。同樣,從傳送節(jié)點102的包發(fā)送部206-1到傳送節(jié)點101的包接 收部204的路徑、及來自包接收部204-2的路徑的帶寬、延遲也彼此獨 立地變動。
本實施例是將本發(fā)明適用于上述二個節(jié)點之間具有多個可選擇的 路徑時的適用例。用于本實施例的包構(gòu)造及流控制的信號傳輸機(jī)構(gòu)和 第1實施例相同,但流控制信息及調(diào)度信息的內(nèi)容、及包塊的構(gòu)成和 第1實施例不同。
本實施例中的包塊由分別發(fā)送到多個路徑的數(shù)據(jù)包、和一個以上 的前導(dǎo)包構(gòu)成。序列號附加到每個路徑上,前導(dǎo)包作為塊管理信息包 括計時標(biāo)記、每個路徑的包塊內(nèi)的包的序列號范圍。包解析部207的 延遲及速度推測也按照每個路徑進(jìn)行。同樣,前導(dǎo)包上的流控制信息 也包括每個路徑的延遲及速度推測結(jié)果。
圖7所示的包塊300-1及300-2是可選擇路徑為2個、前導(dǎo)包有1 個的情況的示例。包塊制作部203對多個路徑進(jìn)行一個包塊的制作, 包發(fā)送部204對塊內(nèi)的各個包經(jīng)由包塊制作部203指示的路徑發(fā)送。
包序列方式的路徑帶寬推測在該路徑中二個以上的包同時、或該 路徑的瓶頸帶寬以上的發(fā)送速度發(fā)送時可進(jìn)行,因此為了可進(jìn)行帶寬 推測,對一個包塊需要從各路徑發(fā)送二個以上的包。因此,包塊構(gòu)成 的結(jié)果是,對發(fā)送包為一個的路徑,與發(fā)送對象的包同時發(fā)送虛擬包。 該虛擬包的內(nèi)容例如可以只是序列號。
作為本實施例中使用的流控制算法,可對在第1實施例中使用的 流控制算法的例子進(jìn)行擴(kuò)展并適用。
作為第1實施例中的第1流控制算法的例子說明的窗口控制方式 在第2實施例中如下擴(kuò)展。前導(dǎo)包中含有全部路徑的Ack信息及接收 窗口大小。接收到前導(dǎo)包的傳送節(jié)點的調(diào)度部202如下所述計算各路
徑的可發(fā)送的數(shù)據(jù)量,并通知包塊生成部203。
包塊生成部203取出緩沖部的數(shù)據(jù),使包塊的各路徑部分不超過 可發(fā)送的數(shù)據(jù)量,決定對各路徑的分配。
但對于可發(fā)送的數(shù)據(jù)量不滿足預(yù)先確定的下限的路徑,不進(jìn)行數(shù) 據(jù)的分配。前導(dǎo)包分配到可發(fā)送的數(shù)據(jù)量最大的路徑。同一前導(dǎo)包為 了實現(xiàn)冗長化,也可分配到其他路徑。
并且,對于對應(yīng)前導(dǎo)及數(shù)據(jù)僅可分配一個包的路徑,同時分配虛 擬包。決定了對塊內(nèi)的各個包的分配路徑時,將所有塊內(nèi)的包與分配 信息一并傳送到包發(fā)送部204。
傳送到包發(fā)送部204的包的信息作為發(fā)送歷史記錄到存儲部。接 收側(cè)節(jié)點中的接收窗口大小的決定和第1實施例一樣來進(jìn)行。
作為第1實施例中的第2流控制算法的例子說明的PAC調(diào)度方式 在第2實施例中如下擴(kuò)展。參照圖8說明含有二個路徑時的動作。圖8 表示對應(yīng)2個路徑存在2條時刻實數(shù)直線,分別經(jīng)由各路徑的包的 到達(dá)預(yù)測序列。
對第n個路徑,tb、 tf、 th、 to分別表示為tb (n) 、 tf (n) 、 th (n) 、 to (n),各自的含義與圖4中的相同,不同點在于,所示的包 不是實際的到達(dá)序列,而是發(fā)送一側(cè)節(jié)點預(yù)測的到達(dá)序列。發(fā)送側(cè)節(jié) 點對任意的路徑只要是tb (n) +th (n) <tf (n),就可發(fā)送包塊。在 圖8中,tb (1) +th (1) <tf (1),因此可即刻發(fā)送。
調(diào)度部202構(gòu)成包塊,以對各路徑計算前導(dǎo)包302的到達(dá)預(yù)測時 刻,使前導(dǎo)包302發(fā)送到預(yù)測最先到達(dá)的路徑。在圖8中,作為前導(dǎo) 包發(fā)送路徑,選擇路徑2。
接著,取得位于緩沖部201的最初的包301-1的數(shù)據(jù)大小,分配 到與前導(dǎo)包對應(yīng)發(fā)送時預(yù)測最早到達(dá)的路徑。在圖8中,最初的數(shù)據(jù) 包301-1配置在路徑1中。以下逐個增加塊內(nèi)的包,并同樣配置,對任 意的路徑,均在發(fā)送的包大小的和為tb (n) +to (n)以下的、求出了 最大發(fā)送包數(shù)的情況下,決定包塊的構(gòu)成。
在圖8中,構(gòu)成路徑1和2中共含有五個從數(shù)據(jù)包301-1至301-5 的包塊300。
在上述擴(kuò)展的窗口控制及PAC調(diào)度中,從預(yù)測最低延遲的路徑發(fā) 送前導(dǎo)包,從而可使延遲較大的路徑相關(guān)的流控制信息的通知也以和 延遲最低的路徑同等的延遲來進(jìn)行。
但是,在從接收節(jié)點中的包接收開始、到根據(jù)其接收狀態(tài)生成的 流控制信息通知到發(fā)送節(jié)點為止所需的時間內(nèi),不僅包括流控制信息 的傳送延遲,而且包括從包接收到流控制信息發(fā)送為止的待機(jī)時間。 該待機(jī)時間最大為塊發(fā)送間隔,因此為了減輕節(jié)點處理負(fù)荷、提高包 序列方式下路徑帶寬推測的精度、有效利用帶寬,在路徑上為了使緩 沖的數(shù)據(jù)量保持在一定以上而增大各個塊對各路徑的分配量時,造成 流控制信息反饋延遲的增大。
以下參照圖9說明存在多個同等的延遲路徑時,使各路徑的各個 塊的數(shù)據(jù)量保持一定以上的同時,用于減少到流控制信息發(fā)送為止的 待機(jī)時間的第3流控制算法。
圖9中,和圖4 一樣,"101時刻"實數(shù)直線表示傳送節(jié)點101
頁
上的時刻、"102時刻"實數(shù)直線表示傳送節(jié)點102上的時刻。但傳送
節(jié)點101和傳送節(jié)點102之間存在路徑1和路徑2 二個路徑,對于經(jīng) 由各個路徑的包,將傳送節(jié)點101對傳送節(jié)點102上的接收序列的預(yù) 測在"路徑1接收預(yù)測"及"路徑2接收預(yù)測"線上表示。
各包塊基本上僅由一個路徑構(gòu)成。各路徑的包塊的塊大小如下確 定塊內(nèi)的包的傳送延遲一定,即,任意的路徑的塊(塊中含有的包
大小的和/路徑的速度)均相同。因此,各包塊僅錯開塊內(nèi)的包的傳送 延遲/信號傳輸中可使用的路徑數(shù)所定義的塊發(fā)送周期ti來發(fā)送,這成 為前導(dǎo)包發(fā)送的周期。
如圖9所示,使用路徑1的包塊和使用路徑2的包塊的到達(dá)是交 互的。因此,通過調(diào)度包塊發(fā)送,和速度推測中使用的包序列的長度 相比,可縮短前導(dǎo)包的發(fā)送間隔(反饋周期)。
這是因為,像第1實施例那樣僅使用一個路徑發(fā)送包塊時,前導(dǎo) 包的到達(dá)間隔基本與包序列的長度相等,與之相對,如圖9所示,使 用多個路徑發(fā)送包塊時,前導(dǎo)包的到達(dá)在比包序列的長度短的ti間隔 下可接收。
當(dāng)路徑狀態(tài)變化時,未必像圖9那樣保障定期的報告到達(dá)。例如 在時刻tf(a)和時刻tf(c)之間,如果路徑l的速度下降,則前導(dǎo)包 302-c的到達(dá)比tf (c)慢。這種情況下,節(jié)點101通過在ts (f)或ts (g)下由節(jié)點102發(fā)送的前導(dǎo)包的信息檢測出速度變化,調(diào)節(jié)ts (d) 發(fā)送的前導(dǎo)包300-d的數(shù)據(jù)量,使得在節(jié)點102中,從前端到末尾為止 的接收所需的時間(接收完成時間)為ti的程度以下。并且,300-d之 后發(fā)送的前導(dǎo)包也以接收完成時間為ti的程度以下的大小從路徑2發(fā) 送。之后,直到路徑1變?yōu)榭砂l(fā)送的狀態(tài),即tb+tlKtf為止,僅從路徑 2發(fā)送接收完成時間為ti的程度以下的大小的包塊。這樣一來,在通過 路徑狀態(tài)的變化,路徑1的延遲變大的狀態(tài)下,也可使前導(dǎo)包的收發(fā)
周期保持為ti的程度以下。
相反,例如在時刻tf (a)和時刻tf (C)之間,路徑1的速度上升,
前導(dǎo)包302-c的到達(dá)比tf (c)早。這種情況下,節(jié)點101在ts (c)和 ts (d)之間檢測速度變化,將在下一個經(jīng)由路徑1的前導(dǎo)包到達(dá)的預(yù) 定時刻tf (e)為止的期間可到達(dá)的數(shù)據(jù)量的、經(jīng)由路徑l的包,加入 到在ts (d)發(fā)送的包塊300-d。此時,包塊300-d包括路徑1、 2雙方 的包。對于300-e之后的包塊發(fā)送,重新決定塊大小,使傳送延遲相對 新的速度為ti的可使用路徑數(shù)倍以內(nèi)。此時,前導(dǎo)包到達(dá)間隔和速度 變化前一樣,保持在ti以內(nèi)。另一方面,包塊中前導(dǎo)包占據(jù)的數(shù)據(jù)量 的比例變小,因此帶寬利用效率提高。
根據(jù)上述第2實施例,可將負(fù)荷分散到反映了各通信路徑的延遲 及速度的監(jiān)視結(jié)果的各路徑。
本發(fā)明中,發(fā)送側(cè)的發(fā)送時刻的決定及發(fā)送路徑的決定不像現(xiàn)有 例那樣按照單一包或包對進(jìn)行,而是以包塊單位進(jìn)行,因此增大包塊 的數(shù)據(jù)量時,減輕了附加到傳送節(jié)點的發(fā)送處理的負(fù)荷。
并且,由于將信號傳輸信息匯集到前導(dǎo)包,接收側(cè)的流控制信息 的抽取、調(diào)度信息的更新均不是像現(xiàn)有例那樣與包發(fā)送同樣的頻率來 進(jìn)行,而是以包塊發(fā)送的頻率進(jìn)行,因此減輕了附加到傳送節(jié)點的接 收處理的負(fù)荷。
并且,將匯集了信號傳輸信息的前導(dǎo)包從最先到達(dá)的路徑作為包 塊的前端發(fā)送,從而和將延遲大的路徑的狀態(tài)信息使用該延遲大的路 徑自身進(jìn)行反饋時相比,具有可短時間反饋的效果。并且,各路徑的 包塊中含有的包個數(shù)為一定個數(shù)以上時,由于將信號傳輸信息從數(shù)據(jù) 包中省略,對同樣的數(shù)據(jù)量,和現(xiàn)有例相比,具有減少包大小總和的效果。
進(jìn)一步,如上述實施例2所示,包序列方式下的高精度的路徑帶 寬推測可使用專用的探測包等不破壞帶寬利用效率地進(jìn)行。
以上主要說明了應(yīng)傳送的數(shù)據(jù)多、高負(fù)荷狀態(tài)下的動作。在低負(fù) 荷時,緩沖部中沒有應(yīng)發(fā)送的數(shù)據(jù),因此需要定期發(fā)送虛擬包并監(jiān)視 線路狀態(tài)。
這種情況下,由于單一包塊中含有的包個數(shù)變少,因此速度推測 的精度和高負(fù)荷時相比不足。屆時可聯(lián)合考慮連續(xù)的包塊中含有的包, 以使速度推測精度保持一定精度以上。參照圖10進(jìn)行說明。該圖中,
屬于三個包塊300-a、 300-b、 300-c的包在某個路徑上被接收,在先行 的包塊的末尾和下一包塊的前端之間,存在無任何接收的時間。
此時,接收速度的推測假定以下情況來進(jìn)行包塊300-b中含有 的數(shù)據(jù)包301-2、 301-3在301-1之后接收。并且同樣假定包塊300-c 中含有的數(shù)據(jù)包301-4在301-3之后接收。這樣一來,構(gòu)成包塊400這 樣的虛擬包塊。此時,數(shù)據(jù)包301-2、 301-3的接收所需的時間使用包 塊300-b接收時測定的包302-b和包301-3的接收時刻差,并且數(shù)據(jù)包 301-4的接收所需的時間使用包塊300-c接收時測定的包302-c和包 301-4的接收時刻差。并且,虛擬包塊400的數(shù)據(jù)包接收所需的時間使 用300-a、 300-b、 300-c接收時測定的數(shù)據(jù)包的接收所需時間的總和。 接收速度推測為301-1至301-4為止的四個數(shù)據(jù)包的數(shù)據(jù)量的總和除 以虛擬包塊400的數(shù)據(jù)包接收所需的時間的值。
通過使用包括前導(dǎo)的五個包構(gòu)成的虛擬包塊400進(jìn)行速度推測, 和構(gòu)成包數(shù)較少的包塊300-a、 300-b、 300-c相比,有望提高測定精度。
(第3實施例)
以下說明通過作為前導(dǎo)包的塊管理信息含有的信息來實現(xiàn)新功能
的實施例。圖ll表示如下概要動作作為本發(fā)明的第3實施例,塊管 理信息500中含有發(fā)送側(cè)節(jié)點預(yù)測的各鏈接的速度、和塊內(nèi)數(shù)據(jù)的大 小,可進(jìn)行通信異常的盡快檢測。
圖11表示對某個路徑,將含有序列號1至6的包的包塊在推測
該鏈接的速度為350Kbps時,在第3實施例中發(fā)送的塊管理信息、與
接收側(cè)節(jié)點中的數(shù)據(jù)包接收時刻的關(guān)系。圖ll下部的時刻的實數(shù)直線 表示接收節(jié)點中的實際的包到達(dá)序列。
接收節(jié)點在包2為止,以發(fā)送節(jié)點的預(yù)測速度到達(dá),因此不進(jìn)行 任何動作,在包3中檢測出到達(dá)間隔的延伸,確認(rèn)產(chǎn)生了發(fā)送側(cè)的預(yù) 測速度和實際的傳送速度的偏離。當(dāng)判斷偏離達(dá)到一定程度以上時, 制作異常報告并回復(fù),可使發(fā)送節(jié)點誤識別鏈接狀態(tài)的時間最小化, 提高流控制動作的跟蹤性。
(第4實施例)
接著說明可盡快檢測出用戶流單位下的塊損失的第4實施例。
圖12表示本發(fā)明的第4實施例中的塊管理信息、和接收側(cè)節(jié)點中 的數(shù)據(jù)包接收序列的示例。塊管理信息500中含有塊內(nèi)各個包的用戶 流信息。在此,用戶流是指作為保存包的到達(dá)順序的對象的、端主機(jī) 間的包傳送會話,對各用戶流附加獨特的ID。
并且,用戶流內(nèi)的各個包中,用戶流內(nèi)獨特的序列號與各路徑的 序列號不同地附加。在該圖中,發(fā)送節(jié)點對某個路徑,在含有4至11 的序列號的包的包塊中,包含2049和2050 二個用戶流。圖12下部的 時刻的實數(shù)直線表示接收節(jié)點中的實際的包到達(dá)序列。
在圖12的例子中,發(fā)送的結(jié)果是,包5和包6損失,但通過包7 的接收檢測出損失。并且,損失的包5和6分別是流2049的#14和流
2050的#41這一情況可通過流管理信息500獲知,因此屬于目前為止 到達(dá)的這二個流的包不等待損失包的到達(dá)而傳送。
在按照各路徑及各用戶流附加個別的序列號的現(xiàn)有例中,包括非 專利文獻(xiàn)8,在該現(xiàn)有例中,也不提供損失包的用戶流信息,因此當(dāng)特 定的用戶流的包未按照順序到達(dá)時,無法判斷原因是包損失、還是反 多重化鏈接通過引起的順序逆轉(zhuǎn)。其原因是包損失時,也不得不假設(shè) 為順序逆轉(zhuǎn)而保留一定的時間傳送。本實施例中,損失的包的各用戶 流的序列號可由接收節(jié)點知曉,因此也正確檢測,而不會將包損失混 淆為順序逆轉(zhuǎn)。因此,在包損失檢測出來時,可省略傳送保留,具有 減少端主機(jī)間會話的抖動的效果。
(第5實施例)
接著,作為本發(fā)明的第5實施例,概要說明以下動作通過在塊 管理信息中含有圖13所示的、塊內(nèi)的數(shù)據(jù)包的數(shù)據(jù)共用部分相關(guān)的信 息,可進(jìn)行數(shù)據(jù)壓縮的動作。其中,作為壓縮對象的數(shù)據(jù)包包含數(shù)據(jù) 區(qū)域中共用的部分。該圖中,開始序列號及結(jié)束序列號表示作為數(shù)據(jù) 壓縮對象的包的范圍。
并且,開始位及結(jié)束位是通過位位置的起點和終點來表示壓縮對 象包的數(shù)據(jù)區(qū)域中共用的范圍。開始位 結(jié)束位間的數(shù)據(jù)中,收容從開 始位到結(jié)束位之間的共用數(shù)據(jù)。將以上壓縮信息包含在塊管理信息中, 而指定的共用數(shù)據(jù)從數(shù)據(jù)包的數(shù)據(jù)域刪除,從而降低發(fā)送包大小的總
上述數(shù)據(jù)壓縮尤其在數(shù)據(jù)本身包含其他協(xié)議的數(shù)據(jù)頭、共用部分 大的情況下有效。共用部分不同的包的組合、位范圍存在多個時,使 圖13所示的壓縮信息在塊管理信息中含有多個即可。本實施例中發(fā)送 數(shù)據(jù)的壓縮和需要在收發(fā)節(jié)點之間共享壓縮狀態(tài)的信號傳輸?shù)默F(xiàn)有的 數(shù)據(jù)壓縮方法相比,控制變得簡單。
此外,上述控制信息也可是路由信息。
本發(fā)明的節(jié)點101、 102等的動作可通過硬件實現(xiàn),也可通過計算 機(jī)執(zhí)行實現(xiàn)各部分功能的程序來從軟件上實現(xiàn)。該程序保持在磁盤、 半導(dǎo)體存儲裝置等其他記錄介質(zhì),從該記錄介質(zhì)讀取到計算機(jī),通過 控制其動作,可實現(xiàn)上述功能。
權(quán)利要求
1. 一種通信方法,其特征在于,將多個數(shù)據(jù)包和前導(dǎo)包作為一個塊,將和上述多個數(shù)據(jù)包相關(guān)的控制信息匯集到上述前導(dǎo)包并將其發(fā)送,根據(jù)接收的前導(dǎo)包的控制信息控制包的發(fā)送。
2. 根據(jù)權(quán)利要求l所述的通信方法,其特征在于,上述控制信息是流控制信息。
3. 根據(jù)權(quán)利要求l所述的通信方法,其特征在于,上述控制信息 是重發(fā)控制信息。
4. 根據(jù)權(quán)利要求l所述的通信方法,其特征在于,上述控制信息 是路由信息。
5. 根據(jù)權(quán)利要求l所述的通信方法,其特征在于,上述控制信息 是路徑信息。
6. 根據(jù)權(quán)利要求l所述的通信方法,其特征在于,上述控制信息 是上述數(shù)據(jù)包共用的控制信息。
7. 根據(jù)權(quán)利要求l所述的通信方法,其特征在于,專門識別前導(dǎo) 包的識別信息包含在上述數(shù)據(jù)包中。
8. 根據(jù)權(quán)利要求l所述的通信方法,其特征在于,專門識別對控 制信息進(jìn)行匯集的數(shù)據(jù)包的識別信息包含在上述前導(dǎo)包中。
9. 根據(jù)權(quán)利要求l所述的通信方法,其特征在于,上述多個數(shù)據(jù) 包或前導(dǎo)包經(jīng)過多個線路而被收發(fā)。
10. 根據(jù)權(quán)利要求9所述的通信方法,其特征在于,上述前導(dǎo)包 使用上述多個線路中最快速的線路進(jìn)行發(fā)送。
11. 根據(jù)權(quán)利要求9所述的通信方法,其特征在于,根據(jù)上述控 制信息選擇發(fā)送上述前導(dǎo)包或上述數(shù)據(jù)包的線路。
12. 根據(jù)權(quán)利要求1所述的通信方法,其特征在于,根據(jù)接收的前導(dǎo)包中含有的控制信息,決定發(fā)送的塊的數(shù)據(jù)量。
13. 根據(jù)權(quán)利要求1所述的通信方法,其特征在于,根據(jù)接收的 前導(dǎo)包中含有的控制信息,決定發(fā)送的塊的發(fā)送時刻。
14. 根據(jù)權(quán)利要求1所述的通信方法,其特征在于,根據(jù)屬于同 一塊的多個數(shù)據(jù)包的接收時刻,推測通信路徑的速度。
15. —種通信系統(tǒng),其特征在于,具有包塊制作單元,將多個數(shù)據(jù)包和前導(dǎo)包作為一個塊處理,將和上述多個數(shù)據(jù)包相關(guān)的控制信息匯集到上述前導(dǎo)包;和調(diào)度單元,根據(jù)匯集到接收的前導(dǎo)包的控制信息,控制包的發(fā)送。
16. 根據(jù)權(quán)利要求15所述的通信系統(tǒng),其特征在于,上述控制信 息是流控制信息。
17. 根據(jù)權(quán)利要求15所述的通信系統(tǒng),其特征在于,上述控制信 息是重發(fā)控制信息。
18. 根據(jù)權(quán)利要求15所述的通信系統(tǒng),其特征在于,上述控制信 息是路由信息。
19. 根據(jù)權(quán)利要求15所述的通信系統(tǒng),其特征在于,上述控制信 息是路徑信息。
20. 根據(jù)權(quán)利要求15所述的通信系統(tǒng),其特征在于,上述包塊制 作單元將上述數(shù)據(jù)包中共用的控制信息匯集到上述前導(dǎo)包。
21. 根據(jù)權(quán)利要求15所述的通信系統(tǒng),其特征在于,專門識別前 導(dǎo)包的識別信息包含在上述數(shù)據(jù)包中。
22. 根據(jù)權(quán)利要求15所述的通信系統(tǒng),其特征在于,專門識別匯 集到控制信息的數(shù)據(jù)包的識別信息包含在上述前導(dǎo)包中。
23. 根據(jù)權(quán)利要求15所述的通信系統(tǒng),其特征在于,具有發(fā)送單 元,將上述多個數(shù)據(jù)包或前導(dǎo)包經(jīng)由多個線路發(fā)送。
24. 根據(jù)權(quán)利要求23所述的通信系統(tǒng),其特征在于,上述調(diào)度單 元進(jìn)行控制,以使用上述多個線路中最快速的線路發(fā)送前導(dǎo)包。
25. 根據(jù)權(quán)利要求23所述的通信系統(tǒng),其特征在于,上述調(diào)度單 元根據(jù)控制信息選擇發(fā)送上述前導(dǎo)包或上述數(shù)據(jù)包的線路。
26. 根據(jù)權(quán)利要求15所述的通信系統(tǒng),其特征在于,上述調(diào)度單 元根據(jù)接收的前導(dǎo)包中含有的控制信息,決定發(fā)送的塊的數(shù)據(jù)量。
27. 根據(jù)權(quán)利要求15所述的通信系統(tǒng),其特征在于,上述調(diào)度單 元根據(jù)接收的前導(dǎo)包中含有的控制信息,決定發(fā)送的塊的發(fā)送時刻。
28. 根據(jù)權(quán)利要求15所述的通信系統(tǒng),其特征在于,具有包解析 部,由屬于同一塊的多個數(shù)據(jù)包的接收時刻,推測通信路徑的速度。
29. —種節(jié)點,其特征在于,具有包塊制作單元,將多個數(shù)據(jù)包和前導(dǎo)包作為一個塊處理,將和上 述多個數(shù)據(jù)包相關(guān)的控制信息匯集到上述前導(dǎo)包;和調(diào)度單元,根據(jù)匯集到從其他節(jié)點接收的前導(dǎo)包的控制信息,控 制包的發(fā)送。
30. 根據(jù)權(quán)利要求29所述的通信節(jié)點,其特征在于,上述包塊制 作單元將上述數(shù)據(jù)包中共用的控制信息匯集到上述前導(dǎo)包。
31. 根據(jù)權(quán)利要求29所述的節(jié)點,其特征在于,專門識別前導(dǎo)包 的識別信息包含在上述數(shù)據(jù)包中。
32. 根據(jù)權(quán)利要求29所述的節(jié)點,其特征在于,專門識別對控制 信息進(jìn)行匯集的數(shù)據(jù)包的識別信息包含在上述前導(dǎo)包中。
33. 根據(jù)權(quán)利要求29所述的節(jié)點,其特征在于,具有發(fā)送單元, 將上述多個數(shù)據(jù)包或前導(dǎo)包經(jīng)由多個線路發(fā)送。
34. 根據(jù)權(quán)利要求33所述的節(jié)點,其特征在于,上述調(diào)度單元進(jìn) 行控制,以使用上述多個線路中最快速的線路發(fā)送前導(dǎo)包。
35. 根據(jù)權(quán)利要求33所述的節(jié)點,其特征在于,上述調(diào)度單元根 據(jù)匯集到從其他節(jié)點接收的前導(dǎo)包的控制信息,選擇發(fā)送上述前導(dǎo)包 或上述數(shù)據(jù)包的線路。
36. 根據(jù)權(quán)利要求29所述的節(jié)點,其特征在于,上述調(diào)度單元根 據(jù)從其他節(jié)點接收的前導(dǎo)包中含有的控制信息,決定發(fā)送的塊的數(shù)據(jù)
37. 根據(jù)權(quán)利要求29所述的節(jié)點,其特征在于,上述調(diào)度單元根據(jù)從其他節(jié)點接收的前導(dǎo)包中含有的控制信息,決定發(fā)送的塊的發(fā)送 時刻。
38. 根據(jù)權(quán)利要求29所述的節(jié)點,其特征在于,具有包解析部, 根據(jù)屬于同一塊的多個數(shù)據(jù)包的接收時刻,推測通信路徑的速度。
39. —種程序,其特征在于,使計算機(jī)實施以下處理 包塊制作處理,將多個數(shù)據(jù)包和前導(dǎo)包作為一個塊處理,將和上述多個數(shù)據(jù)包相關(guān)的控制信息匯集到上述前導(dǎo)包;和調(diào)度處理,根據(jù)匯集到從其他節(jié)點接收的前導(dǎo)包的控制信息,控 制包的發(fā)送。
全文摘要
本發(fā)明的課題在于減輕和數(shù)據(jù)包相關(guān)的控制信息的發(fā)送產(chǎn)生的負(fù)荷,提高通信效率,本發(fā)明在從傳送節(jié)點(101)向傳送節(jié)點(102)傳送包時,將各數(shù)據(jù)包(301)中存儲的控制信息匯集到配置在包塊(300-1)的前端的前導(dǎo)包(302),并從傳送節(jié)點(101)傳送到傳送節(jié)點(102),接收到該包塊(300-1)的傳送節(jié)點(102)根據(jù)接收的前導(dǎo)包的控制信息控制向傳送節(jié)點(101)傳送的包的發(fā)送。
文檔編號H04L29/08GK101379781SQ200780002898
公開日2009年3月4日 申請日期2007年1月18日 優(yōu)先權(quán)日2006年1月23日
發(fā)明者中田恒夫 申請人:日本電氣株式會社