專利名稱:信息處理裝置和方法、程序、以及記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種信息處理裝置和方法、程序、以及記錄介質(zhì),特別是涉及能夠正確計算數(shù)據(jù)通信中的發(fā)送接收終端之間的傳送往返延遲的信息處理裝置和方法、程序、以及記錄介質(zhì)。
背景技術(shù):
目前,有如下的信息處理系統(tǒng)利用包(packet)通信從發(fā)送終端向接收終端進行例如動態(tài)圖像數(shù)據(jù)的實時流動(streaming)。另外,伴隨近年來的網(wǎng)絡(luò)頻帶的增大(網(wǎng)絡(luò)的高速化),已能夠進行利用UDP(User Datagram Protocol用戶數(shù)據(jù)報協(xié)議)的因特網(wǎng)流動。UDP與TCP不同,沒有速率控制的結(jié)構(gòu),因此,期待利用由RFC3448規(guī)定的TFRC(TCP Friendly Rate ControlTCP友好的速率控制)等速率控制結(jié)構(gòu)而可在因特網(wǎng)內(nèi)與TCP共存的通信方法。
在TCP中,根據(jù)預(yù)先設(shè)定的超時時間、和伴隨包的發(fā)送接收所測量的發(fā)送接收終端之間的傳送往返延遲(RTTRound TripTime往返延遲),進行包丟失的判斷。例如,在設(shè)定的超時時間內(nèi)來自接收終端的確認(rèn)響應(yīng)包沒有到達時,判斷為包被廢棄,控制發(fā)送速率等來進行阻塞回避。即,當(dāng)利用因特網(wǎng)進行動態(tài)圖像數(shù)據(jù)的流動等時,期待在UDP中也為了與TCP同樣地進行速率控制而計算RTT。
圖1是說明現(xiàn)有的RTT測量方法的圖。在該圖中,由接收終端2接收從發(fā)送終端1經(jīng)由網(wǎng)絡(luò)3發(fā)送的數(shù)據(jù)包,與接收終端2接收的數(shù)據(jù)包對應(yīng)的確認(rèn)響應(yīng)包從接收終端2經(jīng)由網(wǎng)絡(luò)3發(fā)送到發(fā)送終端1,并由發(fā)送終端1接收。
發(fā)送終端1,在自身安裝的軟件或者硬件的應(yīng)用程序?qū)又校跀?shù)據(jù)包上賦予時間戳(time stamp)后,經(jīng)過作為應(yīng)用程序?qū)拥南挛粚拥膫鬏攲又翑?shù)據(jù)鏈路層(TCP/IP、MAC(Media AccessControl介質(zhì)存取控制)等)的處理發(fā)送數(shù)據(jù)包。而且,從接收終端2發(fā)送、并由發(fā)送終端1接收的確認(rèn)響應(yīng)包,也與發(fā)送時相反,經(jīng)過作為傳輸層至數(shù)據(jù)鏈路層(TCP/IP、MAC(Media AccessControl介質(zhì)存取控制)等)的處理,被應(yīng)用程序?qū)尤〉?,來計算RTT。
在發(fā)送終端1的應(yīng)用程序?qū)又?,將在?shù)據(jù)包上賦予時間戳的時刻設(shè)為時刻Tts。將在接收終端2中接收到數(shù)據(jù)包的時刻、發(fā)送確認(rèn)響應(yīng)包的時刻分別設(shè)為Trr、Trx。另外,在發(fā)送終端1中,將在應(yīng)用程序?qū)尤〉么_認(rèn)響應(yīng)包的時刻設(shè)定為Tc,當(dāng)將各時刻表示為時間序列時如圖2所示。在該圖中,縱軸是時間軸,設(shè)時間在圖中從上向下經(jīng)過。
從而,在發(fā)送終端1中,RTT根據(jù)下式進行計算。
RTT=Tc-Tts另外,如果將從接收終端2接收數(shù)據(jù)包后到發(fā)送確認(rèn)響應(yīng)包為止耗費了哪種程度的時間記述到確認(rèn)響應(yīng)包送回,就能夠如下式那樣更正確地計算RTT。
RTT=(Tc-Tts)-(Trx-Trr)由此計算的RTT用于上述發(fā)送速率的控制等通信處理中的各種控制。另外,還提出了根據(jù)RTT動態(tài)地變更與ARQ(AutomaticRepeat Request自動重發(fā)請求)、FEC(Forward Error Collection前向糾錯)等錯誤校正有關(guān)的處理的技術(shù)(例如參照專利文獻1)。
專利文獻1日本特開2003-179580號公報
發(fā)明內(nèi)容
然而,現(xiàn)有的RTT計算方法在發(fā)送終端1的應(yīng)用程序?qū)又校瑪?shù)據(jù)包被賦予時間戳的時刻或者在應(yīng)用程序?qū)又腥〉么_認(rèn)響應(yīng)包的時刻,被作為包的發(fā)送時刻或者接收時刻而計算RTT,但是正確的是,經(jīng)作為應(yīng)用程序?qū)拥南挛粚拥膫鬏攲又翑?shù)據(jù)鏈路層(TCP/IP、MAC等)的處理而將數(shù)據(jù)包送出到網(wǎng)絡(luò)3的時刻為包的發(fā)送時刻,在發(fā)送終端1的物理層中從網(wǎng)絡(luò)3取出確認(rèn)響應(yīng)包的時刻為包的接收時刻。即,現(xiàn)有的RTT計算方法沒有考慮由發(fā)送終端1內(nèi)部的處理產(chǎn)生的傳送延遲。
與此相對,伴隨近年來的寬帶網(wǎng)絡(luò)的普及,迫切需要重新研究RTT的計算方法。即,以往,因特網(wǎng)等例如個人利用的廉價網(wǎng)絡(luò)的頻帶(傳送速度)中,數(shù)十Kbps~數(shù)百Kbps是主流,與網(wǎng)絡(luò)3的傳送延遲相比,終端內(nèi)的處理所需的時間小(短)到能夠忽略的程度,但是,近年來,接近1Gbps的頻帶的利用變得足夠廉價,與以往相比網(wǎng)絡(luò)上能夠利用的頻帶顯著擴大。另一方面,發(fā)送終端1內(nèi)的數(shù)據(jù)的傳送速度(處理速度)與以往相比很難說顯著提高。
另外,例如,當(dāng)包含在發(fā)送終端1的應(yīng)用程序中的圖像數(shù)據(jù)的壓縮編碼等處理負荷高的程序正在運行時,RTT的計算處理將延遲,無法正確且適時地算出RTT。
因而,與包通過網(wǎng)絡(luò)3所需的時間相比,不能說包經(jīng)過應(yīng)用程序?qū)又翑?shù)據(jù)鏈路層的處理向網(wǎng)絡(luò)3發(fā)送或者從網(wǎng)絡(luò)3接收所需的時間小(短)到能夠忽略的程度,今后還需要考慮發(fā)送終端1內(nèi)部的傳送延遲而計算RTT。
本發(fā)明是鑒于這樣的狀況完成的,能夠正確地計算數(shù)據(jù)通信中的發(fā)送接收終端之間的傳送往返延遲。
本發(fā)明的信息處理裝置,通過網(wǎng)絡(luò)與其他信息處理裝置進行通信,其特征在于,具備指示單元,指示用于得到來自前述其他信息處理裝置的響應(yīng)的第一包的發(fā)送;第一生成單元,生成第一時間戳,該第一時間戳包含將根據(jù)前述指示單元的指示生成的前述第一包送出到前述網(wǎng)絡(luò)時的時刻;第二生成單元,生成第二時間戳,該第二時間戳包含從前述網(wǎng)絡(luò)取得第二包時的時刻,該第二包是作為對前述第一包的響應(yīng)由前述其他信息處理裝置發(fā)送的;算出單元,根據(jù)前述生成的前述第一以及第二時間戳,算出前述信息處理裝置與前述其他信息處理裝置之間的傳送往返延遲。
本發(fā)明的信息處理方法,是通過網(wǎng)絡(luò)與其他信息處理裝置進行通信的信息處理裝置的信息處理方法,其特征在于,包含指示步驟,指示用于得到來自前述其他信息處理裝置的響應(yīng)的第一包的發(fā)送;第一生成步驟,生成第一時間戳,該第一時間戳包含將根據(jù)前述指示步驟的處理的指示生成的前述第一包送出到前述網(wǎng)絡(luò)時的時刻;第二生成步驟,生成第二時間戳,該第二時間戳包含從前述網(wǎng)絡(luò)取得第二包時的時刻,該第二包是作為對前述第一包的響應(yīng)由前述其他信息處理裝置發(fā)送的;算出步驟,根據(jù)前述生成的前述第一以及第二時間戳,算出前述信息處理裝置與前述其他信息處理裝置之間的傳送往返延遲。
本發(fā)明的程序,使通過網(wǎng)絡(luò)與其他信息處理裝置進行通信的信息處理裝置執(zhí)行信息處理,其特征在于,使計算機執(zhí)行指示控制步驟,控制用于得到來自前述其他信息處理裝置的響應(yīng)的第一包的發(fā)送指示;第一生成控制步驟,控制第一時間戳的生成,該第一時間戳包含將根據(jù)前述指示控制步驟的處理的指示生成的前述第一包送出到前述網(wǎng)絡(luò)時的時刻;第二生成控制步驟,控制第二時間戳的生成,該第二時間戳包含從前述網(wǎng)絡(luò)取得第二包時的時刻,該第二包是作為對前述第一包的響應(yīng)由前述其他信息處理裝置發(fā)送的;算出控制步驟,根據(jù)前述生成的前述第一以及第二時間戳,控制前述信息處理裝置與前述其他信息處理裝置之間的傳送往返延遲的算出。
本發(fā)明的記錄介質(zhì),記錄有程序,該程序使通過網(wǎng)絡(luò)與其他信息處理裝置進行通信的信息處理裝置執(zhí)行信息處理,其特征在于,該程序使計算機執(zhí)行指示控制步驟,控制用于得到來自前述其他信息處理裝置的響應(yīng)的第一包的發(fā)送指示;第一生成控制步驟,控制第一時間戳的生成,該第一時間戳包含將根據(jù)前述指示控制步驟的處理的指示生成的前述第一包送出到前述網(wǎng)絡(luò)時的時刻;第二生成控制步驟,控制第二時間戳的生成,該第二時間戳包含從前述網(wǎng)絡(luò)取得第二包時的時刻,該第二包是作為對前述第一包的響應(yīng)由前述其他信息處理裝置發(fā)送的;算出控制步驟,根據(jù)前述生成的前述第一以及第二時間戳,控制前述信息處理裝置與前述其他信息處理裝置之間的傳送往返延遲的算出。
在本發(fā)明的信息處理裝置和方法、程序以及記錄介質(zhì)中,指示作為為了得到來自其他信息處理裝置的響應(yīng)而發(fā)送到其他信息處理裝置的包的第一包的發(fā)送,將根據(jù)指示生成的第一包送出到網(wǎng)絡(luò)時的時刻作為第一包的發(fā)送時刻,生成包含發(fā)送時刻的第一時間戳;將從網(wǎng)絡(luò)取得作為對第一包的響應(yīng)而從其他信息處理裝置發(fā)送的包的第二包時的時刻作為第二包的接收時刻,生成包含接收時刻的第二時間戳,取得第一以及第二時間戳,并根據(jù)取得的第一以及第二時間戳,算出前述信息處理裝置與其他信息處理裝置之間的傳送往返延遲。
根據(jù)本發(fā)明能夠正確地計算數(shù)據(jù)通信中的發(fā)送接收終端之間的傳送往返延遲。
圖1是說明現(xiàn)有的RTT計算方法的例子的圖。
圖2是將在圖1的發(fā)送終端和接收終端中進行的處理時刻按時間序列表示的圖。
圖3是表示與應(yīng)用本發(fā)明的通信系統(tǒng)的一個實施方式有關(guān)的結(jié)構(gòu)例的圖。
圖4是將在圖1的發(fā)送終端和接收終端中進行的處理時刻按時間序列表示的圖。
圖5是表示圖3的發(fā)送裝置的內(nèi)部結(jié)構(gòu)例的框圖。
圖6是表示由圖5的CPU執(zhí)行的軟件的功能結(jié)構(gòu)例的框圖。
圖7是說明RTT計算處理的流程圖。
圖8是說明RTT計算處理的流程圖。
圖9是表示由圖5的CPU執(zhí)行的軟件的其他功能結(jié)構(gòu)例的框圖。
圖10是說明RTT計算處理的其他例子的流程圖。
圖11是說明包發(fā)送處理的例子的流程圖。
圖12是說明包接收處理的例子的流程圖。
圖13是說明RTT算出處理的例子的流程圖。
圖14是表示預(yù)測網(wǎng)絡(luò)阻塞來進行傳送速率控制的通信系統(tǒng)的例子的框圖。
圖15是用于說明一對包方法的圖。
符號說明100通信系統(tǒng);101發(fā)送裝置;102接收裝置;103網(wǎng)絡(luò);151CPU;159通信部;161可移動介質(zhì);201應(yīng)用程序;202設(shè)備驅(qū)動器;203MAC;221包發(fā)送部;222時間戳保持部;223包接收部;224命令控制部;225包生成部;226流信息保持部;227流確定部;228RTT測量部;242時間戳通知部;244時間戳賦予部。
具體實施例方式
下面參照
本發(fā)明的實施方式。
圖3是表示與應(yīng)用了本發(fā)明的通信系統(tǒng)的一個實施方式有關(guān)的結(jié)構(gòu)例的圖。
在圖3中,通信系統(tǒng)100是如下的系統(tǒng)由發(fā)送裝置101、接收裝置102、以及因特網(wǎng)等網(wǎng)絡(luò)103構(gòu)成,發(fā)送裝置101和接收裝置102通過網(wǎng)絡(luò)103發(fā)送接收數(shù)據(jù)。例如,發(fā)送裝置101將動態(tài)圖像等的數(shù)據(jù)做成包,作為數(shù)據(jù)包流動發(fā)送給接收裝置102,接收裝置102接收數(shù)據(jù)包來再現(xiàn)動態(tài)圖像。另外,接收裝置102將與發(fā)送裝置101發(fā)送的數(shù)據(jù)包對應(yīng)的確認(rèn)響應(yīng)包發(fā)送給發(fā)送裝置101。
此外,在確認(rèn)響應(yīng)包中記述有接收裝置102接收到數(shù)據(jù)包的時刻以及接收裝置102發(fā)送確認(rèn)響應(yīng)包的時刻等RTT計算所需的信息,在此,將從接收裝置102向發(fā)送裝置101發(fā)送的包中、對于從發(fā)送裝置101發(fā)送而接收到的數(shù)據(jù)包,接收裝置102作為響應(yīng)進行回答的包稱為確認(rèn)響應(yīng)包。
發(fā)送裝置101接收從接收裝置102發(fā)送的確認(rèn)響應(yīng)包,計算發(fā)送裝置101和接收裝置102之間的傳送往返延遲(RTTRound TripTime往返延遲)。而且,發(fā)送裝置101根據(jù)RTT和基于RTT設(shè)定的超時時間,進行包丟失的判斷,如果在設(shè)定的超時時間內(nèi)從接收裝置102的確認(rèn)響應(yīng)包沒有到達,則判斷為包被廢棄,變更發(fā)送速率等而進行阻塞回避的處理。
在此,將從發(fā)送裝置101發(fā)送的包的包大小設(shè)為s、RTT設(shè)為R、丟失率(0~1.0)設(shè)為p、超時時間設(shè)為t_RTO、確認(rèn)響應(yīng)包的發(fā)送比例(每幾個包返回一個確認(rèn)響應(yīng))設(shè)為b時,發(fā)送速率X例如能夠如式(1)進行計算。
式1X=sR×2×b×p3+(t_RTO×(3×3×b×p8×p×(1+32×p2)))---(1)]]>
其中,包大小s和確認(rèn)響應(yīng)包的發(fā)送比例b(通常1或2)是常數(shù),t_RTO通常是4×RTT,因此,可知由網(wǎng)絡(luò)中的包丟失率和RTT決定發(fā)送速率。
發(fā)送裝置101例如根據(jù)這樣計算的發(fā)送速率X,控制自身的發(fā)送速率等來進行阻塞回避的處理。
圖4是說明當(dāng)計算上述RTT時在發(fā)送裝置101和接收裝置102之間進行的處理和時間經(jīng)過的圖。在該圖中,縱軸是時間軸,在發(fā)送裝置101和接收裝置102中進行的處理與進行該處理的時刻一起被示出,設(shè)圖中時間從上向下經(jīng)過。
發(fā)送裝置101在時刻Tts為了計算RTT而請求數(shù)據(jù)包的發(fā)送,在時刻Txx該數(shù)據(jù)包被送出到網(wǎng)絡(luò)103。
接收裝置102在時刻Trr接收經(jīng)網(wǎng)絡(luò)103發(fā)送過來的數(shù)據(jù)包,在時刻Trx將與接收到的數(shù)據(jù)包對應(yīng)的確認(rèn)響應(yīng)包送出到網(wǎng)絡(luò)103。
之后,發(fā)送裝置101在時刻Trx從網(wǎng)絡(luò)取出(取得)經(jīng)網(wǎng)絡(luò)103發(fā)送過來的確認(rèn)響應(yīng)包進行接收,在時刻Tc根據(jù)接收到的確認(rèn)響應(yīng)包開始RTT的計算。
當(dāng)利用現(xiàn)有的窄頻帶網(wǎng)絡(luò)時,在通信系統(tǒng)100中,與由網(wǎng)絡(luò)103產(chǎn)生的延遲相比,發(fā)送裝置101內(nèi)的處理所需的時間小(短)到能夠忽略的程度。
但是,伴隨近年來寬帶網(wǎng)絡(luò)的普及,網(wǎng)絡(luò)103的頻帶變得充分寬(被高速化),為了正確計算RTT,發(fā)送裝置101內(nèi)的處理所需的時間變得不能忽略。
因此,在本發(fā)明中,考慮發(fā)送裝置101內(nèi)的處理所需的時間而計算RTT。即,目前,沒有考慮發(fā)送裝置101內(nèi)的處理所需的時間而在時刻Tts近似為發(fā)送了數(shù)據(jù)包、并在時刻Tc近似為接收到確認(rèn)響應(yīng)包而計算RTT,但是在本發(fā)明中,作為在時刻Txx發(fā)送數(shù)據(jù)包、并在時刻Txr接收到確認(rèn)響應(yīng)包而計算RTT。這樣,能夠計算考慮了發(fā)送裝置101內(nèi)的處理所需的時間的更正確的RTT。
圖5是表示發(fā)送裝置101的內(nèi)部結(jié)構(gòu)例的框圖。在該圖中,CPU(Central Processing Unit中央處理器)151,根據(jù)存儲在ROM(Read Only Memory只讀存儲器)152中的程序、或者從存儲部158加載到RAM(Random Access Memory隨機存儲器)153中的程序,執(zhí)行各種處理。在RAM153中還適當(dāng)存儲CPU151執(zhí)行各種處理所需的數(shù)據(jù)等。
CPU151、ROM152、以及RAM153通過總線154相互連接。在該總線154上還連接有輸入輸出接口155。
在輸入輸出接口155上連接有由鍵盤、鼠標(biāo)等構(gòu)成的輸入部156、由CRT(Cathode Ray Tube陰極射線管)、LCD(LiquidCrystal display液晶顯示器)等構(gòu)成的顯示器、以及揚聲器等構(gòu)成的輸出部157、由硬盤等構(gòu)成的存儲部158、由調(diào)制解調(diào)器、LAN卡等網(wǎng)絡(luò)接口卡等構(gòu)成的通信部159。通信部159通過包含因特網(wǎng)的網(wǎng)絡(luò)進行通信處理。
在輸入輸出接口155上還根據(jù)需要連接驅(qū)動器160,被適當(dāng)安裝磁盤、光盤、光磁盤、或者半導(dǎo)體存儲器等可移動介質(zhì)161,從它們讀出的計算機程序根據(jù)需要被安裝到存儲部158。
圖6是表示由圖5的CPU151執(zhí)行的軟件的功能結(jié)構(gòu)例的框圖。此外,“權(quán)利要求書”中的“指示單元”例如能夠由圖6的應(yīng)用程序201實現(xiàn),“第一生成單元”例如能夠由圖6的時間戳賦予部244實現(xiàn),“第二生成單元”例如能夠由圖6的時間戳賦予部244實現(xiàn),算出單元例如能夠由圖6的應(yīng)用程序201實現(xiàn)。
在該圖中,由CPU151執(zhí)行的軟件由應(yīng)用程序201、設(shè)備驅(qū)動器202、以及MAC(Media Access Control介質(zhì)存取控制)203三個層構(gòu)成。
應(yīng)用程序201是表示包含控制對接收裝置102進行的數(shù)據(jù)的發(fā)送接收等一系列應(yīng)用程序等的層的程序組,根據(jù)需要控制RTT的計算、和RTT的計算所需處理的執(zhí)行。應(yīng)用程序201在OSI參照模型中與比包含網(wǎng)絡(luò)層的網(wǎng)絡(luò)層更上位的各層對應(yīng)。
設(shè)備驅(qū)動器202是表示例如包含控制與發(fā)送裝置101的通信部159對應(yīng)的網(wǎng)絡(luò)接口卡等通信設(shè)備的程序的層的程序組,根據(jù)來自應(yīng)用程序201的指示,執(zhí)行包的發(fā)送或接收、或者后述的時間戳的提供等處理。此外,設(shè)備驅(qū)動器202在OSI參照模型中與數(shù)據(jù)鏈路層對應(yīng)。
MAC203表示包含由設(shè)備驅(qū)動器202控制的通信設(shè)備的功能模塊的層,實際上,也可以設(shè)置成網(wǎng)絡(luò)接口卡等硬件。MAC203根據(jù)設(shè)備驅(qū)動器202的控制向網(wǎng)絡(luò)103送出(發(fā)送)包,還從網(wǎng)絡(luò)103取出(接收)包,并且,賦予(生成)表示發(fā)送或者接收的包的發(fā)送時刻或者接收時刻的時間戳。此外,MAC203在OSI參照模型中與數(shù)據(jù)鏈路層(但是一部分是物理層)對應(yīng)。
應(yīng)用程序201被設(shè)置在設(shè)備驅(qū)動器202上,使用圖中用圓表示的作為三個接口的接口A至C,與設(shè)備驅(qū)動器202之間進行數(shù)據(jù)發(fā)送接收。
在應(yīng)用程序201中包含有由一系列程序等構(gòu)成的TCP/IP的協(xié)議棧,其中,該一系列程序執(zhí)行例如用于進行與接收裝置102的TCP/IP通信或者UDP通信的包的生成、送達確認(rèn)、數(shù)據(jù)量的控制等。例如,經(jīng)過根據(jù)TCP/IP協(xié)議棧的處理,將作為從發(fā)送裝置101發(fā)送的數(shù)據(jù)的與接收裝置102之間發(fā)送接收的動態(tài)圖像的數(shù)據(jù)等,發(fā)送給網(wǎng)絡(luò)103或者從網(wǎng)絡(luò)103接收。此外,構(gòu)成TCP/IP協(xié)議棧的一系列程序例如裝入到通常流通的OS(Operating System操作系統(tǒng))等中,實際上還進行與UDP通信有關(guān)的處理,但是在此稱為TCP/IP的協(xié)議棧。
接口A或者B是利用于用來將包發(fā)送到網(wǎng)絡(luò)103或者從網(wǎng)絡(luò)103接收包的處理中所需的數(shù)據(jù)發(fā)送接收的接口,例如構(gòu)成為與包含在應(yīng)用程序201中的TCP/IP的協(xié)議棧等對應(yīng)。即,接口A或者B例如構(gòu)成為與通常正在流通的網(wǎng)絡(luò)接口卡的驅(qū)動軟件等接口相同。
接口C是在根據(jù)應(yīng)用程序201的指示提供時間戳的處理所需的數(shù)據(jù)發(fā)送接收中使用的接口,在經(jīng)TCP/IP的協(xié)議棧等處理進行的向網(wǎng)絡(luò)103發(fā)送包或者從網(wǎng)絡(luò)103接收包的處理中不使用。因此,當(dāng)將設(shè)備驅(qū)動器202以及MAC203安裝到發(fā)送裝置101上時,沒有必要變更包含在應(yīng)用程序201中的TCP/IP的協(xié)議棧等。
當(dāng)進行RTT的計算時,應(yīng)用程序201通過接口A向包發(fā)送部221輸出發(fā)送包的指示(圖4的時刻Tts),包發(fā)送部221控制MAC包發(fā)送部241,賦予MAC地址,生成數(shù)據(jù)包,并送出到網(wǎng)絡(luò)103。此時,送出的數(shù)據(jù)包經(jīng)由時間戳賦予部244,在時間戳賦予部244中取得基于計時部245輸出值的當(dāng)前時刻,生成表示發(fā)送時刻(圖4的時刻Txx)的時間戳,輸出到時間戳通知部242。此外,計時部245既可以根據(jù)內(nèi)置于發(fā)送裝置101的定時器等計時當(dāng)前時刻,也可以根據(jù)經(jīng)網(wǎng)絡(luò)103取得的來自其他裝置的信息來計時當(dāng)前時刻。
時間戳通知部242向時間戳保持部222通知表示數(shù)據(jù)包發(fā)送時刻的時間戳,時間戳保持部222將其保持(存儲)。
另外,從網(wǎng)絡(luò)103經(jīng)由時間戳賦予部244取出從接收裝置102發(fā)送的確認(rèn)響應(yīng)包,由MAC包接收部243、以及包接收部223接收。此時,在時間戳賦予部244取得基于計時部245輸出值的當(dāng)前時刻,生成表示接收時刻(圖4的時刻Txr)的時間戳,并輸出到時間戳通知部242。
時間戳通知部242向時間戳保持部222通知表示確認(rèn)響應(yīng)包的接收時刻的時間戳,時間戳保持部222將其保持(存儲)。
當(dāng)包接收部223通過接口B向應(yīng)用程序201提供確認(rèn)響應(yīng)包、并且通知確認(rèn)響應(yīng)包的接收時,應(yīng)用程序201通過接口C向時間戳保持部222輸出時間戳的取得請求,從時間戳保持部222取得表示數(shù)據(jù)包的發(fā)送時刻的時間戳、和表示確認(rèn)響應(yīng)包的接收時刻的時間戳,例如利用式(2)計算RTT。
RTT=(Txr-Txx)-(Trx-Trr)…(2)接著,參照圖7和圖8的流程圖,說明參照圖6上述的發(fā)送裝置101的各部的RTT計算處理。該處理例如既可以以規(guī)定間隔定期地執(zhí)行,也可以根據(jù)用戶的指示等執(zhí)行。
在步驟S101中,應(yīng)用程序201向包發(fā)送部221指示用于計算RTT的數(shù)據(jù)包的發(fā)送(圖4的時刻Tts)。由此,包發(fā)送部221控制MAC包發(fā)送部241,賦予MAC地址,生成數(shù)據(jù)包,并輸出到時間戳賦予部244。
在步驟S102中,時間戳賦予部244根據(jù)計時部245的輸出值取得當(dāng)前時刻,賦予時間戳。此時,生成表示數(shù)據(jù)包的發(fā)送時刻(圖4的時刻Txx)的時間戳,輸出到時間戳通知部242。
在步驟S103中,時間戳賦予部244將數(shù)據(jù)包送出到網(wǎng)絡(luò)103。在此,由接收裝置102接收(圖4的時刻Trr)送出到網(wǎng)絡(luò)103的數(shù)據(jù)包,另外,接收裝置102通過網(wǎng)絡(luò)103將與接收到的數(shù)據(jù)包對應(yīng)的確認(rèn)響應(yīng)包發(fā)送給發(fā)送裝置101(圖4的時刻Trx)。
在步驟S104中,時間戳通知部242將由步驟S102的處理賦予的時間戳通知(輸出)給時間戳保持部222。
在步驟S105中,時間戳保持部222保持(存儲)由步驟S104的處理通知的時間戳。由此,在時間戳保持部222中存儲表示數(shù)據(jù)包的發(fā)送時刻(圖4的時刻Txx)的時間戳。
在圖8的步驟S106中,時間戳賦予部244從網(wǎng)絡(luò)103取出(接收)與由步驟S103的處理送出的數(shù)據(jù)包對應(yīng)而由接收裝置102發(fā)送的確認(rèn)響應(yīng)包。由此,由MAC包接收部243、以及包接收部223接收確認(rèn)響應(yīng)包。
在步驟S107中,時間戳賦予部244根據(jù)計時部245的輸出值取得當(dāng)前時刻,賦予時間戳。此時,生成表示確認(rèn)響應(yīng)包的接收時刻(圖4的時刻Txr)的時間戳,輸出到時間戳通知部242。
在步驟S108中,時間戳通知部242向時間戳保持部222通知(輸出)由步驟S107的處理賦予的時間戳。
在步驟S109中,時間戳保持部222保持(存儲)由步驟S108的處理通知的時間戳。由此,在時間戳保持部222中存儲表示確認(rèn)響應(yīng)包的接收時刻(圖4的時刻Txr)的時間戳。
在步驟S110中,包接收部223向應(yīng)用程序201提供確認(rèn)響應(yīng)包,通知確認(rèn)響應(yīng)包的接收。
在步驟S111中,應(yīng)用程序201取得存儲在時間戳保持部222中的表示數(shù)據(jù)包的發(fā)送時刻(圖4的時刻Txx)的時間戳、和表示確認(rèn)響應(yīng)包的接收時刻(圖4的時刻Txr)的時間戳。
在步驟S112中,應(yīng)用程序201根據(jù)由步驟S111的處理取得的時間戳、和確認(rèn)響應(yīng)包的記述內(nèi)容,例如利用式(2)計算RTT(圖4的時刻Tc)。
這樣計算RTT。由此,可使不包含作為在發(fā)送裝置101內(nèi)部的處理所需的時間的圖4的時刻Tts和時刻Txx的差、以及時刻Txr和時刻Tc的差,正確地計算RTT。
另外,使得在應(yīng)用程序201和設(shè)備驅(qū)動器202之間分別設(shè)置包的發(fā)送或者接收處理所需的數(shù)據(jù)發(fā)送接收中使用的接口(接口A或者B)、和提供時間戳的處理所需的數(shù)據(jù)發(fā)送接收中使用的接口(接口C),因此,用戶例如僅通過在現(xiàn)有的發(fā)送裝置101中裝入MAC203(網(wǎng)絡(luò)接口卡)以及與其對應(yīng)的設(shè)備驅(qū)動器202,就能夠進行處理使得可正確計算RTT。
另外,以上說明了由應(yīng)用程序201計算RTT的例子,但是也可以由設(shè)備驅(qū)動器202計算RTT。
圖9是表示由設(shè)備驅(qū)動器202計算RTT時的、由圖5的CPU151執(zhí)行的軟件的功能結(jié)構(gòu)例的框圖。該圖是與圖6對應(yīng)的框圖,與圖6對應(yīng)的部分標(biāo)記有相同的符號。此外,“權(quán)利要求書”中的“流信息存儲單元”例如能夠由圖9的流信息保持部226實現(xiàn),“判斷單元”例如能夠由圖9的流確定部227實現(xiàn),“執(zhí)行控制單元”例如能夠由圖9的應(yīng)用程序201實現(xiàn),“接口”例如能夠由圖9的接口A、B、C實現(xiàn)。
在圖9中,設(shè)備驅(qū)動器202的結(jié)構(gòu)與圖6的情況不同。即,在圖9的框圖中,新設(shè)置有命令控制部224至RTT測量部228。
命令控制部224通過接口C接收來自應(yīng)用程序201的RTT計算(測量)的指示,控制包生成部225,生成RTT的計算所需的數(shù)據(jù)包。
包生成部225將生成的包輸出到MAC包發(fā)送部241,經(jīng)過時間戳賦予部244送出到網(wǎng)絡(luò)103,并且將生成的包的流信息輸出到流信息保持部226。在此,流信息是用于確定RTT計算所需的數(shù)據(jù)包的信息,例如是數(shù)據(jù)包的目的地地址(此時是接收終端102的地址)、以及數(shù)據(jù)包的種類(例如,ICMP(Internet Control MessageProtocol網(wǎng)間控制報文協(xié)議)Echo RequestICMP回應(yīng)請求)等信息。
另外,從時間戳通知部242向RTT測量部228通知被送出的數(shù)據(jù)包的時間戳(數(shù)據(jù)包的發(fā)送時刻圖4的時刻Txx)。
另一方面,從網(wǎng)絡(luò)103接收的由接收裝置102發(fā)送的包,經(jīng)過時間戳賦予部244從MAC包接收部243提供給流確定部227。流確定部227檢查從MAC包接收部243提供的包的發(fā)送源地址(是否是接收終端102的地址)、以及包的種類(是否是ICMP EchoReply(ICMP回應(yīng)回復(fù)))等信息,與登記在流信息保持部226中的流信息進行比較。
而且,根據(jù)比較結(jié)果,流確定部227判斷從MAC包接收部243提供的包是否是與為了計算RTT而發(fā)送的數(shù)據(jù)包對應(yīng)的確認(rèn)響應(yīng)包,當(dāng)判斷為該包是與為了計算RTT而發(fā)送的數(shù)據(jù)包對應(yīng)的確認(rèn)響應(yīng)包時,從時間戳保持部222取得該包的時間戳(確認(rèn)響應(yīng)包的接收時刻圖4的時刻Txr),與該包一起輸出到RTT測量部228。
RTT測量部228取得表示數(shù)據(jù)包的發(fā)送時刻的時間戳、和表示確認(rèn)響應(yīng)包的接收時刻的時間戳,例如利用式(2)計算RTT,將計算結(jié)果輸出到命令控制部224。
命令控制部224通過接口C向應(yīng)用程序201輸出RTT計算完成的通知和計算結(jié)果。
在圖9的例子的情況下,在應(yīng)用程序201和設(shè)備驅(qū)動器202之間,通過接口A或者B進行伴隨與RTT計算相關(guān)的處理之外的通信的數(shù)據(jù)發(fā)送接收。
接著參照圖10的流程圖說明與圖9的框圖對應(yīng)的RTT計算處理的例子。
在步驟S151中,設(shè)備驅(qū)動器202判斷是否由應(yīng)用程序201指示了RTT的測量,待機到判斷為被指示為止。通過接口C有來自應(yīng)用程序201的RTT測量指示時(圖4的Tts),處理進入步驟S152。
在步驟S152中,設(shè)備驅(qū)動器202參照圖11執(zhí)行后述的包發(fā)送處理。由此,對接收裝置102發(fā)送用于計算RTT的數(shù)據(jù)包。
步驟S152的處理后,在步驟S153中,設(shè)備驅(qū)動器202參照圖12執(zhí)行后述的包接收處理。由此,對應(yīng)于由步驟S152的處理發(fā)送的數(shù)據(jù)包,接收由接收裝置102發(fā)送的確認(rèn)響應(yīng)包。
步驟S153的處理后,在步驟S154中,設(shè)備驅(qū)動器202參照圖13執(zhí)行后述的RTT算出處理。由此,計算基于由步驟S152的處理發(fā)送的數(shù)據(jù)包的發(fā)送時刻、和基于由步驟S153的處理接收到的確認(rèn)響應(yīng)包的接收時刻的RTT,計算結(jié)果被輸出到應(yīng)用程序201。
接著參照圖11的流程圖,說明圖10的步驟S152的包發(fā)送處理的詳細情況。
在步驟S201中,命令控制部224向包生成部225指示生成用于計算RTT的數(shù)據(jù)包。
在步驟S202中,包生成部225生成用于計算RTT的數(shù)據(jù)包。此時,生成目的地是接收裝置102地址的ICMP Echo Request(回應(yīng)請求)的包。另外,生成的數(shù)據(jù)包由MAC包發(fā)送部241賦予MAC地址,輸出到時間戳賦予部244。
在步驟S203中,流信息保持部226登記(存儲)流信息。由此,作為數(shù)據(jù)包的流信息,存儲包的目的地地址、包的種類等信息。
在步驟S204中,時間戳賦予部244根據(jù)計時部245的輸出值取得當(dāng)前時刻,賦予時間戳。此時,生成表示數(shù)據(jù)包的發(fā)送時刻(圖4的時刻Txx)的時間戳,輸出到時間戳通知部242。
在步驟S205中,時間戳賦予部244將數(shù)據(jù)包送出到網(wǎng)絡(luò)103。在此,由接收裝置102接收(圖4的時刻Trr)送出到網(wǎng)絡(luò)103的數(shù)據(jù)包,另外,接收裝置102通過網(wǎng)絡(luò)103向發(fā)送裝置101發(fā)送(圖4的時刻Trx)與接收到的數(shù)據(jù)包對應(yīng)的確認(rèn)響應(yīng)包。
在步驟S206中,時間戳通知部242向時間戳保持部222通知(輸出)由步驟S204的處理賦予的時間戳。
在步驟S207中,時間戳保持部222保持(存儲)由步驟S206的處理通知的時間戳。由此,在時間戳保持部222中存儲表示數(shù)據(jù)包的發(fā)送時刻(圖4的時刻Txx)的時間戳。
這樣發(fā)送數(shù)據(jù)包。
接著,參照圖12的流程圖,說明圖10的步驟S153的包接收處理的詳細情況。
在步驟S221中,時間戳賦予部244從網(wǎng)絡(luò)103取出(接收)由接收裝置102發(fā)送的包。由此,該包經(jīng)MAC包接收部243輸出到流確定部227。
在步驟S222中,時間戳賦予部244根據(jù)計時部245的輸出值取得當(dāng)前時刻,賦予時間戳。此時,生成表示由步驟S221的處理接收到的包的接收時刻(成為圖4的時刻Txr的候選的時刻)的時間戳,輸出到時間戳通知部242。
在步驟S223中,時間戳通知部242向時間戳保持部222通知(輸出)由步驟S222的處理賦予的時間戳。
在步驟S224中,時間戳保持部222保持(存儲)由步驟S223的處理通知的時間戳。在該時刻,還沒有進行流信息的判斷,因此,該時間戳作為對確認(rèn)響應(yīng)包的接收時刻進行表示的時間戳的候選,存儲到時間戳保持部222。
在步驟S225中,流確定部227判斷由步驟S221的處理接收到的包是否是登記了流信息的包。此時,流確定部227檢查從MAC包接收部243供給的包的例如發(fā)送源地址、以及包的種類,與登記在流信息保持部226中的流信息進行比較。當(dāng)該包的發(fā)送源地址是接收終端102的地址、且該包的種類是ICMP Echo Reply(回應(yīng)回復(fù))時,該包被判斷為是登記了流信息的包,處理進入步驟S227。
在步驟S227中,流確定部227將由步驟S221的處理接收到的包作為與為了計算RTT而發(fā)送的數(shù)據(jù)包對應(yīng)的確認(rèn)響應(yīng)包,從時間戳保持部222取得該包的時間戳(確認(rèn)響應(yīng)包的接收時刻圖4的時刻Txr),與該時間戳一起輸出到RTT測量部228,并通知確認(rèn)響應(yīng)包的接收。
另一方面,在步驟S225中,當(dāng)該包被判斷為不是被登記有流信息的包時,處理進入步驟S226,時間戳保持部222廢棄該包的時間戳。另外,此時,該包(由步驟S221的處理接收到的包)不是與為了計算RTT而發(fā)送的數(shù)據(jù)包對應(yīng)的確認(rèn)響應(yīng)包,因此,被輸出到包接收部223,并通過接口B向應(yīng)用程序201提供包的數(shù)據(jù)。
這樣接收確認(rèn)響應(yīng)包。
接著,參照圖13的流程圖,說明圖10的步驟S154的RTT算出處理的詳細情況。
在步驟S251中,RTT測量部228取得表示數(shù)據(jù)包的發(fā)送時刻(圖4的時刻Txx)的時間戳、和表示確認(rèn)響應(yīng)包的接收時刻(圖4的時刻Txr)的時間戳。
在步驟S252中,RTT測量部228根據(jù)由步驟S251的處理取得的時間戳、和確認(rèn)響應(yīng)包的記述內(nèi)容,例如利用式(2)計算RTT。
在步驟S253中,RTT測量部228將根據(jù)步驟S252的處理得到的RTT的計算結(jié)果輸出到命令控制部224。
在步驟S254中,命令控制部224將由步驟S253的處理輸出的RTT的計算結(jié)果提供給應(yīng)用程序201,并將表示RTT的計算完成的信息輸出到應(yīng)用程序201。
這樣算出RTT。由此,可使不包含作為在發(fā)送裝置101內(nèi)部的處理所需的時間的圖4的時刻Tts和時刻Txx的差、以及時刻Txr和時刻Tc的差,正確地計算RTT。
另外,使得在應(yīng)用程序201和設(shè)備驅(qū)動器202之間分別設(shè)置伴隨與RTT計算有關(guān)的處理之外的通信的數(shù)據(jù)發(fā)送接收中使用的接口(接口A或者B)、和伴隨與RTT計算有關(guān)的處理之外的通信的數(shù)據(jù)發(fā)送接收中使用的接口(接口C),因此,用戶例如僅通過在現(xiàn)有的發(fā)送裝置101中裝入MAC203(網(wǎng)絡(luò)接口卡)以及與其對應(yīng)的設(shè)備驅(qū)動器202,就能夠進行處理使得可正確計算RTT。
并且,由設(shè)備驅(qū)動器202進行RTT的計算,應(yīng)用程序201只進行對設(shè)備驅(qū)動器202進行RTT計算的指示、以及接收被計算的RTT供給的處理即可,因此,能夠有效地利用CPU、存儲器等發(fā)送裝置101的資源。另外,即使由進行包含在應(yīng)用程序201中的圖像數(shù)據(jù)的壓縮編碼等的程序使CPU、存儲器等發(fā)送裝置101的資源被大量使用、發(fā)送裝置101的處理負荷為高的狀態(tài),也不會導(dǎo)致RTT的計算處理延遲,其結(jié)果,能夠更正確且適時地算出RTT。
此外,以上說明了由發(fā)送裝置101進行RTT計算的例子,但是,當(dāng)然也是可以使接收裝置102為與發(fā)送裝置101相同的結(jié)構(gòu),并由接收裝置102進行RTT計算的。另外,這樣計算的RTT能夠作為動態(tài)地變更與上述發(fā)送速率的控制、ARQ(Automatic RepeatRequest自動重發(fā)請求)、FEC(Forward Error Collection前向糾錯)等錯誤校正有關(guān)的處理時的指標(biāo)(參考值)而使用。
另外,本發(fā)明不限于RTT的計算,能夠通過使用表示上述數(shù)據(jù)包的發(fā)送時刻(圖4的時刻Txx)的時間戳、和表示確認(rèn)響應(yīng)包的接收時刻(圖4的時刻Txr)的時間戳,進行正確的傳送控制。例如,也能夠?qū)⒈景l(fā)明應(yīng)用于預(yù)測網(wǎng)絡(luò)的阻塞而進行數(shù)據(jù)傳送速率控制的通信系統(tǒng)。
圖14是表示其他數(shù)據(jù)通信系統(tǒng)中的數(shù)據(jù)發(fā)送裝置331以及數(shù)據(jù)接收裝置332的結(jié)構(gòu)的框圖。
數(shù)據(jù)發(fā)送裝置331以及數(shù)據(jù)接收裝置332按照作為實時數(shù)據(jù)傳輸協(xié)議的RTP(Real-time Transport Protocol實時傳輸協(xié)議),進行數(shù)據(jù)的交換(授受)。假設(shè)由例如利用影像和聲音數(shù)據(jù)進行遠距離會議的應(yīng)用程序等利用RTP,以適合實時的方式傳輸影像、聲音數(shù)據(jù)為目的進行設(shè)計。在RTP中,數(shù)據(jù)以時間單位被分割為包進行發(fā)送。另外,RTP是不進行包丟失對策、傳送時間保證等的UDP(User Datagram Protocol用戶數(shù)據(jù)報協(xié)議)類型的協(xié)議,通常與RTCP(RTP Control Protocol實時傳輸控制協(xié)議)的通信狀態(tài)報告配套使用。
另外,網(wǎng)絡(luò)333既可以是例如在組織內(nèi)管理的LAN(LocalArea Network局域網(wǎng)),也可以是結(jié)合了所謂因特網(wǎng)那樣的不確定多數(shù)的網(wǎng)絡(luò)的大規(guī)模網(wǎng)絡(luò),或者,還可以是連接規(guī)定的發(fā)送裝置和接收裝置的專用線路。
數(shù)據(jù)發(fā)送裝置331的數(shù)據(jù)生成部341例如生成聲音、圖像、影像、文本數(shù)據(jù)、或者它們的混合數(shù)據(jù),提供給數(shù)據(jù)發(fā)送部342。由發(fā)送速率控制部345控制此時生成的數(shù)據(jù)量。
將從數(shù)據(jù)生成部341供給的數(shù)據(jù)作為RTP包發(fā)送的情況下,數(shù)據(jù)發(fā)送部342例如每隔5秒間隔等規(guī)定時間,附加RTCP的SR(Sender Report發(fā)送方報告)包,通過網(wǎng)絡(luò)333發(fā)送到數(shù)據(jù)接收裝置332。SR包是指用于數(shù)據(jù)發(fā)送側(cè)的發(fā)送接收統(tǒng)計的報告,記載有表示數(shù)據(jù)傳送狀況的信息。
SR包中包含有NTP(Network Time Protocol網(wǎng)絡(luò)時間協(xié)議)時間戳、以及RTP時間戳。
數(shù)據(jù)接收部343接收從數(shù)據(jù)接收裝置332發(fā)送的、RT CP中的RR(Receiver Report接收方報告)包。RR包是用于來自數(shù)據(jù)接收側(cè)的接收統(tǒng)計的報告。
速率控制命令接收部344通過網(wǎng)絡(luò)333從數(shù)據(jù)接收裝置332接收速率控制命令,提供給發(fā)送速率控制部345。
發(fā)送速率控制部345根據(jù)從速率控制命令接收部344供給的速率控制命令,生成發(fā)送速率控制信號,并提供給數(shù)據(jù)生成部341。
數(shù)據(jù)接收裝置332的數(shù)據(jù)接收部351通過網(wǎng)絡(luò)333從數(shù)據(jù)發(fā)送裝置331接收SR包以及RTP包,將RTP包的例如影像、聲音、文本等數(shù)據(jù)提供給數(shù)據(jù)處理部352,并且,將RTP包的接收時刻、時間戳、包大小、序列號等預(yù)測阻塞所需的信息提供給阻塞預(yù)測部353。
數(shù)據(jù)處理部352對從數(shù)據(jù)接收部351提供的數(shù)據(jù)執(zhí)行處理。具體地講,數(shù)據(jù)處理部352對提供的數(shù)據(jù),執(zhí)行例如解碼處理、解擾(デスクランブル)處理、顯示處理、或者聲音再現(xiàn)處理等。
數(shù)據(jù)發(fā)送部354對從數(shù)據(jù)發(fā)送裝置331發(fā)送的RTP包,生成RR包,通過網(wǎng)絡(luò)333發(fā)送到數(shù)據(jù)發(fā)送裝置331。
阻塞預(yù)測部353根據(jù)從數(shù)據(jù)接收部351供給的信息,預(yù)測數(shù)據(jù)傳送線路的阻塞,基于其結(jié)果根據(jù)需要設(shè)定數(shù)據(jù)接收速率(即數(shù)據(jù)接收裝置332接收的數(shù)據(jù)的數(shù)據(jù)傳送速率),生成速率控制命令,并提供給速率控制命令發(fā)送部355。
速率控制命令發(fā)送部355將從阻塞預(yù)測部353供給的速率控制命令作為RTCP的APP(Application defined RTCP packet應(yīng)用程序限定的RTCP包),通過網(wǎng)絡(luò)333發(fā)送到數(shù)據(jù)發(fā)送裝置331。APP是指應(yīng)用程序擴展用的包。
在這樣進行速率控制的通信系統(tǒng)中,如果在數(shù)據(jù)發(fā)送裝置331或者數(shù)據(jù)接收裝置332上安裝例如上述MAC(網(wǎng)絡(luò)接口卡)203和與其對應(yīng)的設(shè)備驅(qū)動器202,并考慮根據(jù)數(shù)據(jù)發(fā)送裝置331或者數(shù)據(jù)接收裝置332的內(nèi)部處理產(chǎn)生的傳送延遲而能夠正確地取得RTP包的時間戳,就能夠更正確地預(yù)測阻塞進行適當(dāng)?shù)乃俾士刂啤?br>
或者,另外利用本發(fā)明還能夠提高網(wǎng)絡(luò)頻帶的測量精度。
例如,在從服務(wù)器向客戶機通過因特網(wǎng)實時進行動態(tài)圖像數(shù)據(jù)等的流動的情況下,在從服務(wù)器到客戶機(用戶)的網(wǎng)絡(luò)之間,如果不按照最低傳輸速率進行傳輸,則會超出網(wǎng)絡(luò)容量進行傳輸,將產(chǎn)生包丟失。在此,將從服務(wù)器到客戶機的網(wǎng)絡(luò)之間具有最低鏈路速度的鏈路,稱為網(wǎng)絡(luò)的瓶頸鏈路。
即,當(dāng)進行流動時,服務(wù)器有必要推測瓶頸鏈路的速度,作為該瓶頸鏈路速度的推測方法,例如有稱為一對包(Packet Pair)的方法。
該一對包方法是瓶頸鏈路的頻帶預(yù)測方式之一,例如,如圖15所示,從發(fā)送側(cè)(服務(wù)器)對接收側(cè)(客戶機),不空出發(fā)送間隔以所謂連續(xù)(back-to-back)來傳輸兩個包大小相等的包1、2,根據(jù)網(wǎng)絡(luò)的傳送延遲測量瓶頸鏈路的頻帶。
在該圖中,縱軸表示時刻。即,時刻T1s表示包1的傳輸結(jié)束的服務(wù)器側(cè)的時刻,時刻T1表示完成包1的接收的客戶機側(cè)的時刻。同樣地,時刻T2s表示包2的傳輸結(jié)束的服務(wù)器側(cè)的時刻,時刻T2表示完成包2的接收的客戶機側(cè)的時刻。
從服務(wù)器通過節(jié)點1、2向客戶機傳輸一個緊接在另一個之后的一對的包1、2時,在節(jié)點1和節(jié)點2之間,包向時間軸方向延伸。該節(jié)點1和節(jié)點2之間是瓶頸鏈路。
客戶機通過測量第一個包1的到達時刻T1和第二個包2的到達時間T2,按照下式能夠算出瓶頸鏈路的頻帶B。在此,S表示包1以及包2的尺寸(大小)。
頻帶B=S/(T2-T1)在這樣進行頻帶測量的通信系統(tǒng)中,如果向客戶機安裝例如上述MAC(網(wǎng)絡(luò)接口卡)203和與其對應(yīng)的設(shè)備驅(qū)動器202,考慮根據(jù)客戶機的內(nèi)部處理產(chǎn)生的傳送延遲而能夠正確地取得包1以及包2的時間戳(到達時刻),就能夠進行更正確的頻帶測量。
以上說明了發(fā)送接收動態(tài)圖像數(shù)據(jù)的例子,但是發(fā)送接收的數(shù)據(jù)并不限于動態(tài)圖像數(shù)據(jù)。另外,網(wǎng)絡(luò)103不限于因特網(wǎng)等具備有線設(shè)備的網(wǎng)絡(luò),例如,也可以是由藍牙(Bluetooth)等無線通信技術(shù)實現(xiàn)的網(wǎng)絡(luò)。
此外,上述的一系列處理既可以由硬件執(zhí)行,也可以由軟件執(zhí)行。由軟件執(zhí)行上述一系列處理時,構(gòu)成該軟件的程序可通過因特網(wǎng)等網(wǎng)絡(luò)、或通過由可移動介質(zhì)(例如圖5的可移動介質(zhì)161)等構(gòu)成的記錄介質(zhì)安裝。
此外,該記錄介質(zhì)不僅包含由與裝置主體分開、為了向用戶發(fā)送程序而發(fā)布的、記錄有程序的磁盤(包含軟盤(プロツピデイスク是注冊商標(biāo)))、光盤(包含CD-ROM(Compact Disk-Read OnlyMemory光盤只讀存儲器)、DVD(Digital Versatile Disk數(shù)字多功能光盤))、光磁盤(包含MD(Mini-Dsik迷你光盤)(MD是注冊商標(biāo)))、或者由半導(dǎo)體存儲器等組成的可移動介質(zhì)161構(gòu)成的記錄介質(zhì),還包含由以預(yù)先裝入裝置主體的狀態(tài)發(fā)送給用戶的、記錄有程序的ROM、包含在存儲部中的硬盤等構(gòu)成的記錄介質(zhì)。
在本說明書中執(zhí)行上述一系列處理的步驟不僅包含根據(jù)記載的順序按時間序列進行的處理,還包含未必按時間序列進行處理而并行或者單獨執(zhí)行的處理。
權(quán)利要求
1.一種信息處理裝置,通過網(wǎng)絡(luò)與其他信息處理裝置進行通信,其特征在于,具備指示單元,指示用于得到來自前述其他信息處理裝置的響應(yīng)的第一包的發(fā)送;第一生成單元,生成第一時間戳,該第一時間戳包含將根據(jù)前述指示單元的指示生成的前述第一包送出到前述網(wǎng)絡(luò)時的時刻;第二生成單元,生成第二時間戳,該第二時間戳包含從前述網(wǎng)絡(luò)取得第二包時的時刻,該第二包是作為對前述第一包的響應(yīng)由前述其他信息處理裝置發(fā)送的;算出單元,根據(jù)前述生成的前述第一以及第二時間戳,算出前述信息處理裝置與前述其他信息處理裝置之間的傳送往返延遲。
2.根據(jù)權(quán)利要求1所述的信息處理裝置,其特征在于,還具備流信息存儲單元,該流信息存儲單元存儲包含與前述第一包的目的地地址以及包的種類有關(guān)的信息的流信息。
3.根據(jù)權(quán)利要求2所述的信息處理裝置,其特征在于,還具備判斷單元,該判斷單元比較與從前述網(wǎng)絡(luò)取得的包的發(fā)送源地址以及包的種類有關(guān)的信息、和存儲在前述流信息存儲單元中的流信息,判斷從前述網(wǎng)絡(luò)取得的包是否是前述第二包。
4.根據(jù)權(quán)利要求1所述的信息處理裝置,其特征在于,還具備執(zhí)行控制單元,該執(zhí)行控制單元控制前述傳送往返延遲的計算的執(zhí)行。
5.根據(jù)權(quán)利要求4所述的信息處理裝置,其特征在于,前述執(zhí)行控制單元設(shè)置在網(wǎng)絡(luò)層或網(wǎng)絡(luò)層以上的層,前述指示單元、前述第一及第二生成單元、以及前述算出單元設(shè)置在數(shù)據(jù)鏈路層或數(shù)據(jù)鏈路層以下的層。
6.根據(jù)權(quán)利要求5所述的信息處理裝置,其特征在于,前述執(zhí)行控制單元還控制與前述其他信息處理裝置的數(shù)據(jù)發(fā)送接收的執(zhí)行,與和前述指示單元之間進行的前述傳送往返延遲計算的執(zhí)行有關(guān)的數(shù)據(jù)交換,使用的接口和進行與前述其他信息處理裝置的數(shù)據(jù)發(fā)送接收的執(zhí)行有關(guān)的數(shù)據(jù)交換的接口不同。
7.一種信息處理方法,是通過網(wǎng)絡(luò)與其他信息處理裝置進行通信的信息處理裝置的信息處理方法,其特征在于,包含指示步驟,指示用于得到來自前述其他信息處理裝置的響應(yīng)的第一包的發(fā)送;第一生成步驟,生成第一時間戳,該第一時間戳包含將根據(jù)前述指示步驟的處理的指示生成的前述第一包送出到前述網(wǎng)絡(luò)時的時刻;第二生成步驟,生成第二時間戳,該第二時間戳包含從前述網(wǎng)絡(luò)取得第二包時的時刻,該第二包是作為對前述第一包的響應(yīng)由前述其他信息處理裝置發(fā)送的;算出步驟,根據(jù)前述生成的前述第一以及第二時間戳,算出前述信息處理裝置與前述其他信息處理裝置之間的傳送往返延遲。
8.一種程序,使通過網(wǎng)絡(luò)與其他信息處理裝置進行通信的信息處理裝置執(zhí)行信息處理,其特征在于,使計算機執(zhí)行指示控制步驟,控制用于得到來自前述其他信息處理裝置的響應(yīng)的第一包的發(fā)送指示;第一生成控制步驟,控制第一時間戳的生成,該第一時間戳包含將根據(jù)前述指示控制步驟的處理的指示生成的前述第一包送出到前述網(wǎng)絡(luò)時的時刻;第二生成控制步驟,控制第二時間戳的生成,該第二時間戳包含從前述網(wǎng)絡(luò)取得第二包時的時刻,該第二包是作為對前述第一包的響應(yīng)由前述其他信息處理裝置發(fā)送的;算出控制步驟,根據(jù)前述生成的前述第一以及第二時間戳,控制前述信息處理裝置與前述其他信息處理裝置之間的傳送往返延遲的算出。
9.一種記錄介質(zhì),記錄有權(quán)利要求8所述的程序。
全文摘要
提供一種信息處理裝置和方法、程序、以及記錄介質(zhì),使得能夠正確計算數(shù)據(jù)通信中的發(fā)送接收終端之間的傳送往返延遲。經(jīng)包發(fā)送部(221)、MAC包發(fā)送部(241),發(fā)送到接收裝置的數(shù)據(jù)包被送出到網(wǎng)絡(luò)(103)時,時間戳賦予部(244)賦予包含包的發(fā)送時刻的時間戳。當(dāng)從網(wǎng)絡(luò)(103)取出從接收裝置發(fā)送的確認(rèn)響應(yīng)包時,時間戳賦予部(244)賦予包含包的發(fā)送時刻的時間戳。包的發(fā)送時刻和接收時刻的時間戳被時間戳保持部(222)保持,用于傳送往返延遲的算出。本發(fā)明能夠應(yīng)用于視頻服務(wù)器。
文檔編號H04N7/24GK1855935SQ20061007623
公開日2006年11月1日 申請日期2006年4月19日 優(yōu)先權(quán)日2005年4月19日
發(fā)明者久曾神宏, 普天間智 申請人:索尼株式會社