專利名稱:數(shù)據(jù)發(fā)送裝置和數(shù)據(jù)重發(fā)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及根據(jù)來自其他裝置的請求而進(jìn)行數(shù)據(jù)的重發(fā)的數(shù)據(jù)發(fā)送裝置和數(shù)據(jù)
重發(fā)方法。
背景技術(shù):
近年來,隨著通信網(wǎng)絡(luò)的迅速發(fā)展,在視頻會議系統(tǒng)和在線游戲等,屬于同一集團(tuán) 的多個接收者之間,將視頻和語音的數(shù)據(jù)進(jìn)行實時通信的機會增加。在這種交流用途的通 信中,對多個接收者發(fā)送同一數(shù)據(jù)的情況較多。 作為對多個接收者高效率地傳輸同一數(shù)據(jù)的通信技術(shù),已知組播(multicast)通 信。組播通信中的多媒體數(shù)據(jù)的播發(fā)目的地被分成集團(tuán),通過組播對每個集團(tuán)發(fā)送分組。
在數(shù)據(jù)的發(fā)送源和數(shù)據(jù)的發(fā)送目的地位于不同的階層時,以往需要從發(fā)送源至發(fā) 送目的地的路徑上的所有的分組中繼裝置(以下稱為"路由器")都對應(yīng)于組播通信。
相對于此,近年來,開發(fā)了即使路徑上的并不是所有的路由器都對應(yīng)組播通信也 能夠?qū)崿F(xiàn)向不同的階層的組播通信的通信方式,該通信方式不斷普及。作為這種通信方式, 例如可以舉出顯示組播方式和覆蓋組播方式。
首先,說明顯示組播方式的分組播發(fā)。 顯示組播方式為如下的通信方式將屬于集團(tuán)的所有的數(shù)據(jù)接收裝置的目的 地址存儲在發(fā)送分組的選項報頭(option header)部或者有效載荷(payload)部,從 而明確地指定全部發(fā)送目的地。作為具有代表性的顯示組播方式,例如有e鄧licit multicast (XCAST)(參照非專利文獻(xiàn)1)。 在顯示組播方式中,即使路徑上存在不對應(yīng)于顯示組播方式的路由器,也能夠?qū)?數(shù)據(jù)發(fā)送給IP (internet protocol :因特網(wǎng)協(xié)議)分組(以下簡稱為"分組")中所存儲的 目的地址的全部接收者。此時,通過分組的報頭內(nèi)所存儲的比特串等,管理向哪些接收者分 發(fā)了分組。 各個路由器具有使目的地前綴、下一跳(next hop)和送出接口關(guān)聯(lián)對應(yīng)的單播 (皿icast)路徑表。 分組到達(dá)后,對應(yīng)于顯式組播方式的路由器在單播路徑表中搜索分組的選項報頭
或有效載荷中所存儲的所有目的地址,并調(diào)查與各個目的地址對應(yīng)的送出接口 。 對應(yīng)顯式組播方式的路由器從分組中刪除用于發(fā)送分組的送出接口中所包含的、
除接收者的目的地址以外的目的地址?;蛘撸瑢?yīng)顯式組播方式的路由器掃描分組中所存
儲的比特串,對用于發(fā)送分組的送出接口中所包含的、除接收者的目的地址以外的目的地
址,附加"分發(fā)完畢"的標(biāo)記。另外,對應(yīng)顯式組播方式的路由器將IP報頭中記載的目的地
址,改寫為未分發(fā)的接收者的目的地址。向多個送出接口發(fā)送分組時,對應(yīng)顯式組播方式的
路由器復(fù)制相當(dāng)于送出接口數(shù)的分組,并對每個復(fù)制的分組進(jìn)行目的地址的改寫。 另外,接收到的分組中存在未分發(fā)的目的地址時,對應(yīng)顯式組播方式的數(shù)據(jù)接收
裝置復(fù)制該分組,將其IP報頭的目的地址改寫為未分發(fā)的目的地址而發(fā)送。此時,對應(yīng)顯式組播方式的數(shù)據(jù)接收裝置從未分發(fā)的目的地址中刪除本節(jié)點的地址,或者將分組報頭中 所存儲的比特串變更為"分發(fā)完畢"。通過將接收分組從數(shù)據(jù)接收裝置向路由器重新發(fā)送而 實現(xiàn)的這種分發(fā)被稱為"成串分發(fā)"。 另一方面,不對應(yīng)顯式組播方式的路由器在單播路徑表中搜索IP報頭中記載的 目的地址,與通常的單播通信同樣地發(fā)送分組。另外,不對應(yīng)顯式組播方式的數(shù)據(jù)接收裝置 僅進(jìn)行通常的接收處理。 根據(jù)以上的機制,在顯式組播方式中,即使路徑上存在不對應(yīng)顯式組播方式的路 由器,也能夠向所有的接收者發(fā)送分組。因此,如果使用顯式組播方式,則在因特網(wǎng)等現(xiàn)有 的網(wǎng)絡(luò)中也能夠進(jìn)行組播通信。
接著,說明覆蓋組播方式的分組播發(fā)。 覆蓋組播方式是,由數(shù)據(jù)接收裝置進(jìn)行分組的復(fù)制和轉(zhuǎn)發(fā),從而向?qū)儆诩瘓F(tuán)的所
有數(shù)據(jù)接收裝置發(fā)送分組的通信方式。作為具有代表性的覆蓋組播方式,有應(yīng)用層組播
(即plication level multicast :ALM)。以下說明使用了 ALM的分組播發(fā)。 圖1是表示采用ALM的通信系統(tǒng)的結(jié)構(gòu)的一個例子的系統(tǒng)結(jié)構(gòu)圖。
在圖1中,通信系統(tǒng)10包括作為數(shù)據(jù)發(fā)送裝置的發(fā)送終端(20);以及接收來自
發(fā)送終端的數(shù)據(jù)的播發(fā)的接收終端A E(30a 30e)。 ALM中,在實際的網(wǎng)絡(luò)上構(gòu)建作為分組的分發(fā)路徑的、虛擬的樹結(jié)構(gòu)的網(wǎng)絡(luò)。這種 虛擬的樹結(jié)構(gòu)的網(wǎng)絡(luò)被稱為"分發(fā)樹"。在圖1中,連結(jié)各個裝置的線表示通信系統(tǒng)10的分 發(fā)樹的結(jié)構(gòu)。 本終端的下游側(cè)存在其他接收終端30的接收終端30進(jìn)行分組的復(fù)制并將其轉(zhuǎn)發(fā) 給下游側(cè),從而向所有的接收終端30播發(fā)分組。例如,接收終端B的下游存在接收終端D 和E。接收到從接收終端A轉(zhuǎn)發(fā)來的分組后,接收終端B首先調(diào)查路由表,從而判別下游存 在接收終端D和E。然后,為了將分組轉(zhuǎn)發(fā)給接收終端D和E,接收終端B對接收到的分組 進(jìn)行復(fù)制,并將復(fù)制所得的分組轉(zhuǎn)發(fā)給接收終端D和E。 這樣,在覆蓋組播方式中,數(shù)據(jù)接收裝置擔(dān)任路由器的功能,從而通過基于分發(fā)樹 的播發(fā)路徑播發(fā)分組。通過在數(shù)據(jù)接收裝置之間交換信息,或者數(shù)據(jù)發(fā)送裝置生成分發(fā)樹, 從而構(gòu)建分發(fā)樹。 可是,由于網(wǎng)絡(luò)上的擁塞和傳輸差錯等原因,有時發(fā)生分組的廢棄和丟失(以下 總稱為"分組丟失(packet loss)")。如果在流數(shù)據(jù)的發(fā)送中發(fā)生分組丟失,則造成流數(shù) 據(jù)的脫漏,導(dǎo)致在接收端再現(xiàn)的圖像或音樂的質(zhì)量降低。特別是,如MPEG (moving picture e鄧erts group :動態(tài)圖像專家組)數(shù)據(jù)那樣,使用了利用圖像幀間的依賴關(guān)系的壓縮編解 碼的圖像數(shù)據(jù)中, 一個分組丟失導(dǎo)致長時間的圖像錯亂。 于是,在以往進(jìn)行沒有到達(dá)目的地的分組的數(shù)據(jù)的重發(fā)。從檢測出分組丟失的發(fā) 生的數(shù)據(jù)接收裝置接收到數(shù)據(jù)的重發(fā)的請求(以下稱為"重發(fā)請求")后,數(shù)據(jù)發(fā)送裝置響 應(yīng)該請求,通過重發(fā)分組將發(fā)生了分組丟失的分組中所存儲的數(shù)據(jù)進(jìn)行重發(fā)。通過將發(fā)生 了分組丟失的分組中所存儲的數(shù)據(jù)進(jìn)行重發(fā),能夠提高數(shù)據(jù)接收裝置中的數(shù)據(jù)的質(zhì)量。
但是,在所謂實時通信中,要求盡量縮短從作為發(fā)送對象的數(shù)據(jù)被輸入到數(shù)據(jù)發(fā) 送裝置起直到在數(shù)據(jù)接收裝置再現(xiàn)數(shù)據(jù)為止的延遲時間。例如,在視訊會議系統(tǒng)中,從數(shù)據(jù) 發(fā)送裝置輸入圖像和語音的時間起,經(jīng)過數(shù)據(jù)發(fā)送裝置中的數(shù)據(jù)的編碼以及數(shù)據(jù)接收裝置中的數(shù)據(jù)的解碼后,最后從圖像裝置和揚聲器輸出的時間(再現(xiàn)時間)為止的延遲時間較 為重要。這是因為,成立不使人感到不適感的會話的延遲時間一般為200 400ms左右的 非常短的時間。 數(shù)據(jù)接收裝置只有在接收到后續(xù)的分組后才能檢測分組丟失的發(fā)生,因此位于下 游的數(shù)據(jù)接收裝置檢測分組丟失的時間較晚。而且,位于下游的數(shù)據(jù)接收裝置的、與數(shù)據(jù)發(fā) 送裝置之間的往返延遲時間(round trip time :RTT)較長。因此,容許的延遲時間較短時, 出現(xiàn)如下的情況無法使重發(fā)分組在數(shù)據(jù)的再現(xiàn)時間前到達(dá)位于下游的數(shù)據(jù)接收裝置,雖 然進(jìn)行了重發(fā)但無法改善數(shù)據(jù)的質(zhì)量。 于是,例如專利文獻(xiàn)1和2中記載有如下的技術(shù),組播通信中進(jìn)行保持實時性的數(shù) 據(jù)重發(fā)控制。 專利文獻(xiàn)1所記載的技術(shù)中,檢測出分組丟失的數(shù)據(jù)接收裝置不對分組的發(fā)送源
的數(shù)據(jù)發(fā)送裝置而對轉(zhuǎn)發(fā)了分組的中間節(jié)點請求重發(fā)。然后,在中間節(jié)點保持相應(yīng)的分組
時,由中間節(jié)點重發(fā)分組,而不是由分組的發(fā)送源的數(shù)據(jù)發(fā)送裝置重發(fā)分組。由此能夠消除
在中間節(jié)點與數(shù)據(jù)發(fā)送裝置之間發(fā)生的延遲時間,從而容易地確保實時性。 專利文獻(xiàn)2所記載的技術(shù)中,檢測出分組丟失的數(shù)據(jù)接收裝置通過組播向周圍的
裝置發(fā)送重發(fā)請求。接收到重發(fā)請求的數(shù)據(jù)接收裝置中,接收并保持了所請求的數(shù)據(jù)分組
的數(shù)據(jù)接收裝置通過組播發(fā)送重發(fā)分組。由此,與數(shù)據(jù)發(fā)送裝置發(fā)送重發(fā)分組的情況相比,
能夠使重發(fā)分組更快到達(dá)目的地,從而容易地確保實時性。[專利文獻(xiàn)1]特開2002-84239號公報[專利文獻(xiàn)2]特開2003-209576號公報 [非專利文獻(xiàn)l]Y. Imai, M. Shin and Y. Kim, , "XCAST6 :eXplict Multicast onlPv6,,, IEEE/IPSJ SAINT2003 Workshop 4, IPv6 and Applications, 0rland, Jan. 2003.
發(fā)明內(nèi)容
本發(fā)明要解決的問題 但是,在專利文獻(xiàn)1所記載的技術(shù)中,各個數(shù)據(jù)接收裝置必須判斷應(yīng)對哪個中間 節(jié)點發(fā)送重發(fā)請求,因此需要各個數(shù)據(jù)接收裝置預(yù)先存儲有關(guān)分發(fā)樹的信息。因此,專利文 獻(xiàn)1所記載的技術(shù)不僅難以適用于現(xiàn)有的網(wǎng)絡(luò),而且在分發(fā)樹的結(jié)構(gòu)不明的情況下也難以 適用。而且還有下述問題,在分發(fā)樹的上游側(cè)發(fā)生分組丟失時,中間節(jié)點將下游的數(shù)據(jù)接收 裝置的重發(fā)請求一邊緩存一邊發(fā)送到上游側(cè),由此反而損失實時性。 另外,專利文獻(xiàn)2所記載的技術(shù)中,必須使各個數(shù)據(jù)接收裝置具有根據(jù)來自其他 數(shù)據(jù)接收裝置的重發(fā)請求通過組播發(fā)送重發(fā)分組的功能,因此還是難以適用于現(xiàn)有的網(wǎng) 絡(luò)。另外,專利文獻(xiàn)2所記載的技術(shù)還有如下的問題,因為該技術(shù)以一般的IP組播方式為 對象,所以不適合由路由器和數(shù)據(jù)接收裝置進(jìn)行分組的復(fù)制和轉(zhuǎn)發(fā)的XCAST和ALM。 XCAST 和ALM是適合于由10個左右的數(shù)據(jù)發(fā)送目的地構(gòu)成的小集團(tuán)的組播方式。因為在這種組 播方式中,數(shù)據(jù)接收裝置之間的關(guān)聯(lián)性較高,檢測出分組丟失的數(shù)據(jù)接收裝置的周圍的數(shù) 據(jù)接收裝置也同樣地沒有接收到該分組的可能性較高。 根據(jù)以上理由,期望即使在分發(fā)樹的結(jié)構(gòu)不明的情況下,也能夠不依賴于至數(shù)據(jù) 接收裝置的路徑上的裝置的功能和裝置間的關(guān)聯(lián)性,數(shù)據(jù)發(fā)送裝置單獨地且在較早的定時發(fā)送重發(fā)分組。 本發(fā)明的目的是提供數(shù)據(jù)發(fā)送裝置和數(shù)據(jù)重發(fā)方法,其在分發(fā)樹的結(jié)構(gòu)不明的情
況下也能夠在較早的定時發(fā)送重發(fā)分組。 解決問題的方案 本發(fā)明的數(shù)據(jù)發(fā)送裝置采用的結(jié)構(gòu)包括重發(fā)請求接收單元,接收數(shù)據(jù)的重發(fā)請 求;關(guān)聯(lián)性更新單元,存儲從第一數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求的接收數(shù)的先前的歷史、 以及與從所述第一數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求相同的請求對象的、從其他數(shù)據(jù)接收裝 置發(fā)送來的重發(fā)請求的接收數(shù)的先前的歷史;以及重發(fā)目的地選擇單元,在從所述第一數(shù) 據(jù)接收裝置接收到重發(fā)請求時,根據(jù)所述關(guān)聯(lián)性更新單元所存儲的歷史估計分發(fā)樹,除所 述第一數(shù)據(jù)接收裝置之外,還選擇所述估計出的分發(fā)樹中位于所述第一數(shù)據(jù)接收裝置的下 游的其他數(shù)據(jù)接收裝置,作為所述數(shù)據(jù)的重發(fā)目的地。 本發(fā)明的數(shù)據(jù)重發(fā)方法包括重發(fā)請求接收步驟,從第一數(shù)據(jù)接收裝置接收數(shù)據(jù) 的重發(fā)請求;重發(fā)目的地選擇步驟,基于從第一數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求的接收數(shù) 的先前的歷史、以及與從所述第一數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求相同的請求對象的、從 其他數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求的接收數(shù)的先前的歷史,估計分發(fā)樹,除所述第一數(shù) 據(jù)接收裝置之外,還選擇所述估計出的分發(fā)樹中位于所述第一數(shù)據(jù)接收裝置的下游的其他 數(shù)據(jù)接收裝置,作為所述數(shù)據(jù)的重發(fā)目的地;以及重發(fā)步驟,將所述數(shù)據(jù)發(fā)送給所述重發(fā)目 的地選擇步驟中作為重發(fā)目的地選擇出的數(shù)據(jù)接收裝置。
本發(fā)明的有益效果 根據(jù)本發(fā)明,估計分發(fā)樹,在有數(shù)據(jù)的重發(fā)請求時,將在估計出的分發(fā)樹中位于請 求源的下游的其他數(shù)據(jù)接收裝置追加到數(shù)據(jù)的重發(fā)目的地。由此,即使在分發(fā)樹的結(jié)構(gòu)不 明的情況下,也能夠不依賴于至數(shù)據(jù)接收裝置的路徑上的裝置的功能和裝置間的關(guān)聯(lián)性, 在較早的定時發(fā)送重發(fā)分組。
圖1是表示以往的組播方式的通信系統(tǒng)的結(jié)構(gòu)的一個例子的系統(tǒng)結(jié)構(gòu)圖。 圖2是表示包括本發(fā)明實施方式1的數(shù)據(jù)發(fā)送裝置的通信系統(tǒng)的結(jié)構(gòu)的系統(tǒng)結(jié)構(gòu)圖。 圖3是表示作為實施方式1的數(shù)據(jù)發(fā)送裝置的發(fā)送終端的結(jié)構(gòu)的方框圖。 圖4是表示實施方式1中的關(guān)聯(lián)性保存表的結(jié)構(gòu)的圖。 圖5是表示實施方式1中的重發(fā)請求分組的結(jié)構(gòu)的一個例子的圖。 圖6是表示實施方式1中的接收到重發(fā)請求分組時的發(fā)送終端的整個動作的流程
的流程圖。 圖7是表示實施方式1中的關(guān)聯(lián)性更新處理的流程的流程圖。 圖8是表示實施方式1中的關(guān)聯(lián)性保存表的記載內(nèi)容的變化的情況的圖。 圖9是表示實施方式1中的關(guān)聯(lián)性保存表的記載內(nèi)容的變化的情況的圖。 圖10是表示實施方式1中的關(guān)聯(lián)性保存表的記載內(nèi)容的變化的情況的圖。 圖11是表示實施方式1中的重發(fā)目的地調(diào)查處理的流程的流程圖。 圖12是表示實施方式1中的關(guān)聯(lián)性保存表的記載內(nèi)容的變化的情況的圖。
圖13是表示作為本發(fā)明實施方式2的數(shù)據(jù)發(fā)送裝置的發(fā)送終端的結(jié)構(gòu)的方框圖。 圖14是表示實施方式2中的記錄更新時刻表的內(nèi)容的一個例子的圖。 圖15是表示實施方式2中的關(guān)聯(lián)性更新處理的流程的流程圖。 圖16是表示實施方式2中的某一時間點的關(guān)聯(lián)性保存表的內(nèi)容的一個例子的圖。 圖17是表示實施方式2中的關(guān)聯(lián)性保存表的記載內(nèi)容的變化的情況的圖。 圖18是表示實施方式2中的關(guān)聯(lián)性保存表的記載內(nèi)容的變化的情況的圖。 圖19是表示實施方式2中的某一時間點的關(guān)聯(lián)性保存表的內(nèi)容的一個例子的圖。 圖20是表示實施方式2中的與圖19相同時間點的歷史保存表的內(nèi)容的一個例子 的圖。 圖21是表示實施方式2中的歷史保存表的記載內(nèi)容的變化的情況的圖。 圖22是表示實施方式2中的關(guān)聯(lián)性保存表的記載內(nèi)容的變化的情況的圖。 圖23是表示實施方式2中的歷史保存表的記載內(nèi)容的變化的情況的圖。 圖24是表示實施方式2中的關(guān)聯(lián)性保存表的記載內(nèi)容的變化的情況的圖。 圖25是表示作為本發(fā)明實施方式3的數(shù)據(jù)發(fā)送裝置的發(fā)送終端的結(jié)構(gòu)的方框圖。 圖26是表示實施方式3中的接收到重發(fā)請求分組時的發(fā)送終端的整個動作的流 程的流程圖。 圖27是表示實施方式3中的重發(fā)目的地選擇結(jié)果修改處理的流程的流程圖。 圖28是表示實施方式3中的某一時間點的關(guān)聯(lián)性保存表的內(nèi)容的一個例子的圖。 圖29是表示實施方式3中的關(guān)聯(lián)性保存表的記載內(nèi)容的變化的情況的圖。
具體實施例方式
以下,參照附圖詳細(xì)地說明本發(fā)明的各個實施方式。
(實施方式1) 圖2是表示通信系統(tǒng)的結(jié)構(gòu)的系統(tǒng)結(jié)構(gòu)圖,該通信系統(tǒng)包括作為本發(fā)明實施方式 l的數(shù)據(jù)發(fā)送裝置的發(fā)送終端。本實施方式是,在將圖像和語音實時地播發(fā)給多個地點的視 訊會議系統(tǒng)中,適用本發(fā)明的例子。 在圖2中,通信系統(tǒng)100包括發(fā)送終端200,進(jìn)行顯式組播方式的分組播發(fā);以 及接收終端300a 300e,從發(fā)送終端200接收所播發(fā)的分組。發(fā)送終端200和接收終端 300a 300e都參加同一個小集團(tuán)。以下,為了簡化記載,在分別描述接收終端300a 300e 時,將它們分別記載為接收終端A E。 發(fā)送終端200將作為播發(fā)對象的圖像和語音的流數(shù)據(jù)存儲到附加了序列號的數(shù) 據(jù)分組中,將其播發(fā)給發(fā)送終端A E。序列號為用于表示數(shù)據(jù)分組的順序的連續(xù)的號碼。 另外,發(fā)送終端200響應(yīng)來自接收終端A E的請求,進(jìn)行已播發(fā)的數(shù)據(jù)的重發(fā)。
接收終端A E分別接收以自身為目的地的數(shù)據(jù)分組,再現(xiàn)原始的流數(shù)據(jù)。而且, 接收終端A E根據(jù)接收分組的序列號的脫漏,檢測分組丟失的發(fā)生,對發(fā)送終端200請求 數(shù)據(jù)的重發(fā)。具體地說,接收終端A E生成重發(fā)請求分組,將其發(fā)送給發(fā)送終端200,該重 發(fā)請求分組記載沒有接收到的數(shù)據(jù)分組的序列號、以及IP地址和端口號等用于確定本終 端的識別信息。 接收終端A和B對應(yīng)顯式組播方式,在接收分組中指定未發(fā)送的目的地時,復(fù)制接收分組,將分組轉(zhuǎn)發(fā)給未發(fā)送的目的地。另一方面,接收終端C E不對應(yīng)顯式組播方式, 不進(jìn)行分組的轉(zhuǎn)發(fā)。 在圖2中,連結(jié)各個終端的線表示通信系統(tǒng)100中構(gòu)建的分發(fā)樹的結(jié)構(gòu)。
在通信系統(tǒng)100中,發(fā)送終端200的分組的轉(zhuǎn)發(fā)目的地是接收終端A,接收終端A 的分組的轉(zhuǎn)發(fā)目的地是接收終端B和C,而接收終端B的分組的轉(zhuǎn)發(fā)目的地是接收終端D和 E。接收終端D和E位于接收終端B的下游,接收終端B和C位于接收終端A的下游。
這里,在說明發(fā)送終端200的結(jié)構(gòu)和動作之前,說明本實施方式中的、在較早的定 時發(fā)送重發(fā)分組的方法的概要。 從圖2可知,未到達(dá)接收終端B的分組不會到達(dá)接收終端D和E。因此,接收終端 B所請求重發(fā)的數(shù)據(jù)也被接收終端D和E請求重發(fā)。另外,未到達(dá)接收終端A的分組不會到 達(dá)接收終端B E。因此,接收終端A所請求重發(fā)的數(shù)據(jù)也被接收終端B E請求重發(fā)。
通常在發(fā)生分組丟失時,與位于下游的接收終端300的重發(fā)請求相比,位于該接 收終端300的上游的接收終端300的重發(fā)請求更早到達(dá)發(fā)送終端200。因此,發(fā)送終端200 將重發(fā)分組發(fā)送給位于重發(fā)請求分組的發(fā)送源的接收終端300 (以下有時稱為"重發(fā)請求 源")的下游的其他接收終端300,從而能夠在接收實際的重發(fā)請求分組之前,向下游的接收 終端300發(fā)送重發(fā)分組。另外,位于下游的接收終端300與發(fā)送終端200的網(wǎng)絡(luò)上的距離 比位于上游的接收終端300與發(fā)送終端200的網(wǎng)絡(luò)上的距離短的情況下,有時下游的接收 終端300的重發(fā)請求比上游的接收終端300的重發(fā)請求更早到達(dá)發(fā)送終端200。此時,發(fā)送 終端200也能夠接收來自上游的接收終端300的重發(fā)請求,因此能夠在最初接收來自下游 的接收到終端的重發(fā)請求的時間點,也向上游的接收終端發(fā)送重發(fā)分組。此情況表示,實際 的分發(fā)樹與估計的分發(fā)樹不一致也能夠在較早的定時進(jìn)行重發(fā)。 為了實現(xiàn)這種提前的重發(fā)分組發(fā)送,需要在發(fā)送終端200中估計哪個接收終端位 于哪個接收終端300的下游,也就是說,需要估計通信系統(tǒng)100中所構(gòu)建的分發(fā)樹。
這里,說明估計分發(fā)樹的方法。首先,注目于各個接收終端300進(jìn)行重發(fā)請求的次 數(shù)(以下稱為"重發(fā)請求次數(shù)")。 位于下游的接收終端的重發(fā)請求次數(shù)為位于該終端的上游的接收終端300的重 發(fā)請求次數(shù)以上的值。圖2所示的通信系統(tǒng)100中,接收終端D和E的重發(fā)請求次數(shù)為接 收終端B的重發(fā)請求次數(shù)以上,接收終端B E的重發(fā)請求次數(shù)為接收終端A的重發(fā)請求 次數(shù)以上。將任意的時間點的接收終端A E的重發(fā)請求次數(shù)依序設(shè)為NA NE時,可以用 以下的式(1)表示各個接收終端300的重發(fā)請求次數(shù)的大小關(guān)系。
NA > NB > ND
NA > NB > NE
NA > Nc …式(1) 在將任意的兩個接收終端300設(shè)為第一和第二接收終端時,作為這兩個接收終端 的相對的配置模式可以考慮以下三個模式第一接收終端位于第二接收終端的上游的配 置;第二接收終端位于第一接收終端的上游的配置;以及第一接收終端和第二接收終端存 在于不同的路徑上的配置。 在第一接收終端的重發(fā)請求次數(shù)的值為第二接收終端的重發(fā)請求次數(shù)以上的值 時,可以排除"第一接收終端位于第二接收終端的上游的配置"的可能性。還有,在第二接收終端的重發(fā)請求次數(shù)的值為第一接收終端的重發(fā)請求次數(shù)以上的值時,可以排除"第二 接收終端位于第一接收終端的上游的配置"的可能性。 但是,例如接收終端B和接收終端C那樣,路徑不同的接收終端300之間,重發(fā)請 求次數(shù)的大小關(guān)系不固定。因此,只根據(jù)各個接收終端300的重發(fā)請求次數(shù),難以確定配置 模式符合剩下的兩種模式中的哪一種。 于是,接下來注目于各個接收終端300的重發(fā)請求的對象。 在上述的第一和第二接收終端中,對于同一個分組進(jìn)行重發(fā)請求的比例越高,"第 一接收終端和第二接收終端存在于不同的路徑上的配置"的可能性越低。也就是說,第一接 收終端和第二接收終端存在于同一路徑上的可能性越高。 進(jìn)而,例如,第一接收終端所請求重發(fā)的分組被第二接收終端請求重發(fā)的比例越 高,第一接收終端位于第二接收終端的上游的可能性越高。 也就是說,可以基于第一接收終端所請求重發(fā)的分組被第二接收終端請求重發(fā)的 比例,估計分發(fā)樹中的第一接收終端和第二接收終端的相對的配置模式。
于是,本實施方式的發(fā)送終端200判斷各個接收終端300所請求重發(fā)的分組是否 也被其他接收終端300請求重發(fā),并基于判斷結(jié)果,估計各個接收終端300的重發(fā)請求的分 發(fā)樹。具體地說,發(fā)送終端200每次接收重發(fā)請求時進(jìn)行上述判斷,并記錄該判斷結(jié)果。另 外,發(fā)送終端200每次接收重發(fā)請求時,判斷在根據(jù)先前的記錄估計出的分發(fā)樹中,是否存 在位于重發(fā)請求源的下游的其他接收終端300。然后,存在符合的接收終端300時,發(fā)送終 端200在接收實際的重發(fā)請求之前,向該位于下游的其他接收終端300重發(fā)分組。由此,能 夠?qū)崿F(xiàn)向位于下游的接收終端300迅速發(fā)送重發(fā)分組。 下面,說明發(fā)送終端200的結(jié)構(gòu)和動作。首先說明發(fā)送終端200的結(jié)構(gòu)。
圖3是表示實施方式1的發(fā)送終端200的結(jié)構(gòu)的方框圖。 在圖3中,發(fā)送終端200包括數(shù)據(jù)分組生成單元210、數(shù)據(jù)分組發(fā)送單元220、數(shù) 據(jù)存儲單元230、重發(fā)請求接收單元240、接收終端關(guān)聯(lián)性更新單元250、重發(fā)目的地選擇單 元260以及重發(fā)單元270。 數(shù)據(jù)分組生成單元210從外部的編碼器等裝置(未圖示)輸入圖像和語音的流數(shù) 據(jù)。這些圖像和語音是在視頻會議中使用數(shù)碼攝像機和麥克風(fēng)(均未圖示)輸入的。數(shù)據(jù) 分組生成單元210分割所輸入的圖像和語音的流數(shù)據(jù),并構(gòu)建存儲了分割后的數(shù)據(jù)的數(shù)據(jù) 分組。該數(shù)據(jù)分組是,將接收終端A E明確地指定為目的地的顯式組播分組。另外,根據(jù) 分割的順序,對各個數(shù)據(jù)分組以從小到大的順序賦予了序列號。數(shù)據(jù)分組生成單元210將 構(gòu)建的數(shù)據(jù)分組作為重發(fā)用分組保存在數(shù)據(jù)存儲單元230中,而且將其輸出到數(shù)據(jù)分組發(fā) 送單元220。 數(shù)據(jù)分組發(fā)送單元220將從數(shù)據(jù)分組生成單元210輸入的數(shù)據(jù)分組,發(fā)送到配置 有接收終端A E的網(wǎng)絡(luò)400。這里,如圖2所示,發(fā)送終端200的數(shù)據(jù)分組的轉(zhuǎn)發(fā)目的地 為接收終端A。 數(shù)據(jù)存儲單元230保存從數(shù)據(jù)分組生成單元210輸入的重發(fā)用數(shù)據(jù)分組,而且存 儲用于保存接收終端A E的重發(fā)請求的關(guān)聯(lián)性的表(以下稱為"關(guān)聯(lián)性保存表")。
圖4是表示關(guān)聯(lián)性保存表的結(jié)構(gòu)的圖。關(guān)聯(lián)性保存表810具有以下的欄目接收 終端811、重發(fā)完畢序列號812、作為重發(fā)請求的對象的數(shù)據(jù)分組的序列號(以下稱為"重發(fā)請求序列號")813、重發(fā)請求接收總數(shù)814、以及重發(fā)請求接收數(shù)815。 接收終端811中記載用于識別接收終端A E的信息。其他各個欄目812 815 分別與接收終端A E關(guān)聯(lián)對應(yīng)。以下,為了簡化說明,將關(guān)聯(lián)性保存表810中記載的各個 接收終端300的整條信息稱為"記錄(record)"。 重發(fā)完畢序列號812中記載已經(jīng)重發(fā)給接收終端300的數(shù)據(jù)分組的序列號。重發(fā) 請求序列號813中記載接收終端300所請求重發(fā)的數(shù)據(jù)分組的序列號。重發(fā)請求接收總數(shù) 814中記載從接收終端300發(fā)送來的重發(fā)請求的接收數(shù)的總數(shù)(以下稱為"重發(fā)請求接收 總數(shù)")。重發(fā)請求接收數(shù)815中,每個接收終端300地記載從相關(guān)的其他接收終端300接 收的、同一個序列號的重發(fā)請求的數(shù)。在重發(fā)請求接收總數(shù)814和重發(fā)請求接收數(shù)815中 分別記載"0"作為初始值。 圖3所示的接收終端關(guān)聯(lián)性更新單元250基于接收的重發(fā)請求分組,更新關(guān)聯(lián)性 保存表810的記載內(nèi)容。 圖3所示的重發(fā)請求接收單元240從接收終端A E接收重發(fā)請求分組。
圖5是表示重發(fā)請求分組的一例結(jié)構(gòu)的圖。 如圖5所示,重發(fā)請求分組820由報頭部821和有效載荷部822構(gòu)成。報頭部821 中記載有重發(fā)請求源的IP地址即發(fā)送源IP地址823、以及重發(fā)請求的發(fā)送目的地(這里為 發(fā)送終端200)的IP地址即目的地IP地址824。從發(fā)送源IP地址823,可以確定重發(fā)請求 源。有效載荷部822中記載有重發(fā)請求序列號825。 另外,重發(fā)請求源的IP地址也可以記載在有效載荷部822中。另外,每個接收終 端300預(yù)先被賦予唯一的ID號時,可以將該ID記載在有效載荷部822中。另外,重發(fā)請求 序列號也可以如RTP(real-time transport protocol :實時傳輸協(xié)議)報頭那樣,記載在 報頭部821內(nèi)。 圖3所示的重發(fā)請求接收單元240從接收到的重發(fā)請求分組820中,獲得重發(fā)請 求序列號825和發(fā)送源IP地址823,從而分析接收到的重發(fā)請求分組820的重發(fā)請求源。 然后,重發(fā)請求接收單元240將獲得的重發(fā)請求序列號、以及唯一地表示分析出的重發(fā)請 求源的信息(以下有時稱為"重發(fā)請求源信息")經(jīng)由數(shù)據(jù)存儲單元230輸出到接收終端關(guān) 聯(lián)性更新單元250。 另外,重發(fā)請求接收單元240也可以從數(shù)據(jù)分組中記載的端口號等除發(fā)送源IP地 址823以外的信息,獲得重發(fā)請求源信息。另外,也可以將發(fā)送源IP地址823直接作為重 發(fā)請求源信息來處理。再有,也可以將發(fā)送源IP地址823和端口號等多個信息進(jìn)行組合, 將其作為重發(fā)請求源信息來處理。 接收終端關(guān)聯(lián)性更新單元250基于從重發(fā)請求接收單元240輸入的重發(fā)請求序列 號和重發(fā)請求源信息,更新圖4所示的關(guān)聯(lián)性保存表810。具體地說,接收終端關(guān)聯(lián)性更新 單元250將先前各個接收終端300所請求重發(fā)的分組被其他接收終端300請求重發(fā)的比 例,按照每個其他接收終端300記錄在關(guān)聯(lián)性保存表810中。 重發(fā)目的地選擇單元260每次從接收終端關(guān)聯(lián)性更新單元250輸入重發(fā)請求序列 號和重發(fā)請求源信息時,基于由接收終端關(guān)聯(lián)性更新單元250更新的關(guān)聯(lián)性保存表810估 計分發(fā)樹,并選擇應(yīng)提前被發(fā)送重發(fā)分組的接收終端300。具體地說,先前重發(fā)請求源所請 求重發(fā)的分組也被其他接收終端300請求重發(fā)的比例高于規(guī)定的閾值時,重發(fā)目的地選擇單元260估計該其他接收終端300為分發(fā)樹中位于重發(fā)請求源的下游的接收終端。然后, 將估計位于重發(fā)請求源的下游的接收終端和重發(fā)請求源一起選擇為重發(fā)分組的發(fā)送目的 地而構(gòu)建重發(fā)分組,并將構(gòu)建的所有重發(fā)分組輸出到重發(fā)單元270。 重發(fā)單元270將從重發(fā)目的地選擇單元260輸入的重發(fā)分組向網(wǎng)絡(luò)400發(fā)送。發(fā) 送到網(wǎng)絡(luò)400的重發(fā)分組通過未圖示的路由器和接收終端A、 B,被轉(zhuǎn)發(fā)到指定的發(fā)送目的 地。 發(fā)送終端200包括未圖示的CPU (central processing unit :中央處理器)、存 儲了控制程序的ROM (read only memory :只讀處理器)等存儲媒體、RAM (random access memory :隨機存取存儲器)等操作用存儲器以及通信電路。通過CPU執(zhí)行控制程序,實現(xiàn)圖 3所示的各個單元的功能。 接著說明具有上述結(jié)構(gòu)的發(fā)送終端200的動作。這里,使用圖6 圖12來說明接 收到重發(fā)請求分組時的發(fā)送終端200的動作。 圖6是表示接收到重發(fā)請求分組時的發(fā)送終端200的整個動作的流程的流程圖。
首先,在步驟SIOOO,重發(fā)請求接收單元240接收重發(fā)請求分組,從重發(fā)請求分組 中獲得重發(fā)請求序列號,并獲得用于確定重發(fā)請求源的接收終端的重發(fā)請求源信息(發(fā)送 源IP地址和端口號等)。 然后,在步驟S2000,重發(fā)請求接收單元240將重發(fā)請求序列號和重發(fā)請求源信 息,輸出到接收終端關(guān)聯(lián)性更新單元250。接收終端關(guān)聯(lián)性更新單元250基于從重發(fā)請求接 收單元240輸入的重發(fā)請求序列號和重發(fā)請求源信息,進(jìn)行更新關(guān)聯(lián)性保存表810 (參照圖 3)的關(guān)聯(lián)性更新處理。進(jìn)而,接收終端關(guān)聯(lián)性更新單元250更新關(guān)聯(lián)性保存表810后,將重 發(fā)請求序列號和重發(fā)請求源信息經(jīng)由數(shù)據(jù)存儲單元230輸出到重發(fā)目的地選擇單元260。 關(guān)聯(lián)性更新處理的細(xì)節(jié)將在后面描述。 然后,在步驟S3000,重發(fā)目的地選擇單元260基于重發(fā)請求序列號、重發(fā)請求源 信息以及關(guān)聯(lián)性保存表810,進(jìn)行重發(fā)目的地調(diào)查處理。重發(fā)目的地調(diào)查處理是如下的處 理查找可以判斷為丟失了與重發(fā)請求源所丟失的數(shù)據(jù)相同的數(shù)據(jù)的接收終端300后,構(gòu) 建以該接收終端300為目的地的重發(fā)分組(圖5所示),并將其輸出到重發(fā)單元270。重發(fā) 目的地調(diào)查處理的細(xì)節(jié)將在后面描述。 然后,在步驟S4000,重發(fā)單元270將從重發(fā)目的地選擇單元260輸入的所有的重 發(fā)分組發(fā)送到網(wǎng)絡(luò)400。然后結(jié)束一系列的處理。 下面說明接收終端關(guān)聯(lián)性更新單元250的關(guān)聯(lián)性更新處理的細(xì)節(jié)。
圖7是表示關(guān)聯(lián)性更新處理(圖6的步驟S2000)的流程的流程圖。另外,圖8 圖10是表示對圖4所示的關(guān)聯(lián)性保存表810進(jìn)行關(guān)聯(lián)性更新處理時的、關(guān)聯(lián)性保存表810 的記載內(nèi)容的變化的情況的圖。 這里,以如下的情況為例進(jìn)行說明在關(guān)聯(lián)性保存表810為圖4所示的狀態(tài)時,從 接收終端D接收到重發(fā)請求序列號"10"。如圖4所示,已經(jīng)從接收終端B和接收終端E接 收了重發(fā)請求序列號"10"。 首先,在步驟S2100,接收終端關(guān)聯(lián)性更新單元250使從重發(fā)請求接收單元240輸 入的重發(fā)請求序列號與重發(fā)請求源信息相關(guān)聯(lián),并保存在數(shù)據(jù)存儲單元230中。具體地說, 接收終端關(guān)聯(lián)性更新單元250將輸入的重發(fā)請求序列號記載在關(guān)聯(lián)性保存表810內(nèi)的重發(fā)請求源的記錄的重發(fā)請求序列號813中。 如圖8所示,上述處理后的關(guān)聯(lián)性保存表810變成在接收終端D的重發(fā)請求序列 號813中追加了"10"的狀態(tài)。 然后,在圖7的步驟S2200,接收終端關(guān)聯(lián)性更新單元250對關(guān)聯(lián)性保存表810內(nèi) 的重發(fā)請求源的重發(fā)請求接收總數(shù)814的值加"1"。 如圖9所示,上述處理后的關(guān)聯(lián)性保存表810中,接收終端D的重發(fā)請求接收總數(shù) 814的值從"29"更新為"30"。 然后,在圖7的步驟S2300,接收終端關(guān)聯(lián)性更新單元250選擇一個除重發(fā)請求源 以外的接收終端300。 然后,在步驟S2400,接收終端關(guān)聯(lián)性更新單元250調(diào)查先前從目前所選擇的接收 終端(以下簡稱為"所選擇的接收終端")300接收到的重發(fā)請求序列號中,是否包含與本次 的重發(fā)請求序列號相同的序列號,所述接收終端300是重發(fā)請求源以外的接收終端。具體 地說,接收終端關(guān)聯(lián)性更新單元250判斷是否在關(guān)聯(lián)性保存表810內(nèi)的、所選擇的接收終端 300的記錄的重發(fā)請求序列號813中,記載有與本次的重發(fā)請求序列號相同的序列號。記載 有相同的序列號時(S2400 :"是"),接收終端關(guān)聯(lián)性更新單元250進(jìn)至步驟S2500,沒有記 載相同的序列號時(S2400 :"否"),進(jìn)至步驟S2700。 在步驟S2500,接收終端關(guān)聯(lián)性更新單元250在關(guān)聯(lián)性保存表810內(nèi)的、重發(fā)請求
源的記錄的重發(fā)請求接收數(shù)815中,對所選擇的接收終端300的值加"1"。 然后,在步驟S2600,接收終端關(guān)聯(lián)性更新單元250在關(guān)聯(lián)性保存表810內(nèi)的、所選
擇的接收終端300的記錄的重發(fā)請求接收數(shù)815中,對重發(fā)請求源的值加"1"。 在步驟S2700,接收終端關(guān)聯(lián)性更新單元250判斷是否存在除重發(fā)請求源以外的
未選擇的接收終端300。存在未選擇的接收終端300時(S2700 "是"),接收終端關(guān)聯(lián)性更
新單元250返回到步驟S2300,選擇一個未選擇的接收終端300后,重復(fù)進(jìn)行處理。另外,對
所有的接收終端300完成處理時(S2700 "否"),接收終端關(guān)聯(lián)性更新單元250結(jié)束一系列
的處理,返回到圖6所示的處理。 這樣,接收終端關(guān)聯(lián)性更新單元250的關(guān)聯(lián)性更新處理的結(jié)果,各個接收終端300 的記錄中的重發(fā)請求接收數(shù)815的值成為表示下述內(nèi)容的值其他接收終端300進(jìn)行了幾 次與該接收終端300請求重發(fā)的序列號相同的序列號的重發(fā)請求。 如圖10所示,進(jìn)行關(guān)聯(lián)性更新處理后,關(guān)聯(lián)性保存表810的接收終端D的記錄的 重發(fā)請求接收數(shù)815中,接收終端B的值和接收終端E的值分別從"29"更新為"30"。這 是因為,與本次的重發(fā)請求序列號"10"相同的序列號的分組已經(jīng)被接收終端B和E請求重 發(fā)。另外,接收終端B和E的記錄的重發(fā)請求接收數(shù)815中,接收終端D的值分別從"29" 更新為"30"。這是因為,本次接收終端D請求重發(fā)與已經(jīng)從接收終端B和E接收了的重發(fā) 請求序列號"10 "相同的序列號的分組。 下面說明重發(fā)目的地選擇單元260的重發(fā)目的地調(diào)查處理的細(xì)節(jié)。 圖11是表示重發(fā)目的地調(diào)查處理(圖6的步驟S3000)的流程的流程圖。 首先,在步驟S3100,重發(fā)目的地選擇單元260調(diào)查是否已經(jīng)向重發(fā)請求源重發(fā)了
本次被請求重發(fā)的數(shù)據(jù)。具體地說,重發(fā)目的地選擇單元260調(diào)查是否在關(guān)聯(lián)性保存表810
的重發(fā)請求源的記錄的重發(fā)完畢序列號812中,記載有本次所輸入的重發(fā)請求序列號。這是因為,有時基于來自其他接收終端300的重發(fā)請求,已經(jīng)向本次的重發(fā)請求源發(fā)送了重 發(fā)分組。 還未向重發(fā)請求源的接收終端300發(fā)送重發(fā)分組時(S3100 :"否"),重發(fā)目的地選 擇單元260進(jìn)至步驟S3200,已發(fā)送了重發(fā)分組時(S3100 :"是"),不生成重發(fā)分組而返回 到圖6所示的處理。由此,在已經(jīng)向本次的重發(fā)請求源發(fā)送了所請求的數(shù)據(jù)的重發(fā)分組的 情況下,能夠避免重復(fù)發(fā)送重發(fā)分組。 在步驟S3200,重發(fā)目的地選擇單元260確認(rèn)是否在數(shù)據(jù)存儲單元230中保存有 與重發(fā)請求序列號符合的數(shù)據(jù)分組。該確認(rèn)的結(jié)果,保存有符合的數(shù)據(jù)分組時(S3200: "是"),重發(fā)目的地選擇單元260進(jìn)至步驟S3300,沒有保存時(S3200 :"否"),所請求的數(shù) 據(jù)不存在,因此不生成重發(fā)分組而返回到圖6所示的處理。 在步驟S3300中,重發(fā)目的地選擇單元260基于數(shù)據(jù)存儲單元230所保存的、與重 發(fā)請求序列號符合的重發(fā)用數(shù)據(jù)分組,構(gòu)建重發(fā)分組。 然后,在步驟S3400,重發(fā)目的地選擇單元260參照數(shù)據(jù)存儲單元230所存儲的關(guān) 聯(lián)性保存表810,選擇一個除重發(fā)請求源的接收終端300以外的相關(guān)的接收終端300。
然后,在步驟S3500,重發(fā)目的地選擇單元260基于關(guān)聯(lián)性保存表810,調(diào)查重發(fā) 請求源的下游是否存在其他接收終端300,估計分發(fā)樹?;陉P(guān)聯(lián)性保存表810中保持的、 發(fā)送了同一個序列號的重發(fā)請求分組的接收終端300的重發(fā)請求接收數(shù)815中的、本次接 收的重發(fā)請求分組的發(fā)送源的接收終端300的值的歷史,判斷下游是否存在其他接收終端 300。然后,重發(fā)目的地選擇單元260基于估計出的分發(fā)樹,選擇位于重發(fā)請求源的下游的 接收終端300作為重發(fā)分組的發(fā)送目的地。 作為用于估計分發(fā)樹的基準(zhǔn)的一例,重發(fā)目的地選擇單元260計算"關(guān)聯(lián)度",該 關(guān)聯(lián)度為,重發(fā)請求源的記錄的重發(fā)請求接收數(shù)815中的、所選擇的接收終端300的值除以 重發(fā)請求源的記錄的重發(fā)請求接收總數(shù)814的值所得的值。重發(fā)目的地選擇單元260將關(guān) 聯(lián)度較高的接收終端300判定為分發(fā)樹中位于重發(fā)請求源的下游,從而估計分發(fā)樹。
另外,作為估計分發(fā)樹的基準(zhǔn),重發(fā)目的地選擇單元260也可以單純地選擇重發(fā) 請求接收數(shù)815的值較接近的終端?;蛘撸匕l(fā)目的地選擇單元260也可以根據(jù)是否對同 一個序列號的重發(fā)請求數(shù)較接近且在短時間內(nèi)接收了那些重發(fā)請求,判定其是否為位于重 發(fā)請求源的下游的接收終端300,并選擇那些終端作為重發(fā)目的地。這是因為在短時間內(nèi)接 收來自分發(fā)樹的下游的接收終端300的重發(fā)請求的可能性較高。
這里,假設(shè)使用關(guān)聯(lián)度來進(jìn)行分發(fā)樹的估計和重發(fā)目的地接收終端的選擇。
在位于重發(fā)請求源的下游的接收終端300中,與重發(fā)請求源所請求重發(fā)的數(shù)據(jù)分 組相同的數(shù)據(jù)分組發(fā)生分組丟失的可能性較高。因此,上述的規(guī)定的閾值是應(yīng)判斷為所選 擇的接收終端300中沒有發(fā)送分組丟失的、關(guān)聯(lián)度的最大值,可以從實驗和經(jīng)驗求得該值。
在步驟S3600,重發(fā)目的地選擇單元260基于步驟S3500中估計出的分發(fā)樹,判 斷所選擇的接收終端300是否位于重發(fā)請求源的下游。具體地說,判斷上述的關(guān)聯(lián)度是否 高于規(guī)定的閾值。所選擇的接收終端300位于重發(fā)請求源的下游時,也就是關(guān)聯(lián)度高于規(guī) 定的閾值時(S3600 :"是"),重發(fā)目的地選擇單元260進(jìn)至步驟S3700。另一方面,所選擇 的接收終端300不位于重發(fā)請求源的下游時,也就是關(guān)聯(lián)度為規(guī)定的閾值以下時(S3600 : "否"),重發(fā)目的地選擇單元260不經(jīng)過步驟S3700而進(jìn)至下一個步驟S3800。
在步驟S3700,重發(fā)目的地選擇單元260構(gòu)建對于所選擇的接收終端300的重發(fā)分組。在未從所選擇的接收終端300接收重發(fā)請求的階段,進(jìn)行該重發(fā)分組的構(gòu)建。
然后,在步驟S3800,重發(fā)目的地選擇單元260判斷是否存在未選擇的相關(guān)的接收終端300。該判斷的結(jié)果,存在未選擇的相關(guān)的接收終端300時(S3800:"是"),重發(fā)目的地選擇單元260返回到步驟S3400,選擇一個未選擇的相關(guān)的接收終端300后,重復(fù)進(jìn)行處理。另外,對所有的相關(guān)的接收終端300完成處理時(S3800:"否"),重發(fā)目的地選擇單元260進(jìn)至步驟S3900。 在步驟S3900,重發(fā)目的地選擇單元260對每個被重發(fā)數(shù)據(jù)的接收終端300,保存本次作為重發(fā)對象的數(shù)據(jù)分組的序列號。具體地說,重發(fā)目的地選擇單元260在關(guān)聯(lián)性保存表810內(nèi)的、被發(fā)送重發(fā)分組的各個接收終端300的記錄的重發(fā)完畢序列號812中,追加作為重發(fā)對象的數(shù)據(jù)分組的序列號。然后,結(jié)束一系列的處理,返回到圖6所示的處理。在步驟S3700中構(gòu)建的所有的重發(fā)分組被輸入到重發(fā)單元270,然后在圖6的S4000,由重發(fā)單元270發(fā)送到網(wǎng)絡(luò)400。 這樣,重發(fā)目的地選擇單元260的重發(fā)目的地調(diào)查處理的結(jié)果,能夠向發(fā)生分組丟失的概率較高的下游的接收終端300,在該接收終端300的實際的重發(fā)請求之前,構(gòu)建并發(fā)送重發(fā)分組。 越提高用于步驟S3600的判斷處理的規(guī)定的閾值,越難以進(jìn)行預(yù)先的重發(fā)分組的發(fā)送,其結(jié)果,可以減少不需要的重發(fā)分組的發(fā)送而減輕網(wǎng)絡(luò)負(fù)荷。另外,越降低規(guī)定的閾值,越容易進(jìn)行預(yù)先的重發(fā)分組的發(fā)送,其結(jié)果,能夠積極地實現(xiàn)重發(fā)分組的發(fā)送的迅速化。 另外,該規(guī)定的閾值可以是通信開始時所決定的恒定值,也可以根據(jù)重發(fā)請求接
收數(shù)而改變。通常,重發(fā)請求接收數(shù)較少時,計算出的關(guān)聯(lián)度的可靠性較低。因此,例如在
初始的狀態(tài)將規(guī)定的閾值設(shè)定為較高的值,隨著重發(fā)請求接收數(shù)的增加,逐漸降低規(guī)定的
閾值,從而能夠平衡性良好地實現(xiàn)網(wǎng)絡(luò)負(fù)荷的減輕和重發(fā)分組的發(fā)送的迅速化。 圖12是表示對圖10所示的關(guān)聯(lián)性保存表810進(jìn)行重發(fā)目的地調(diào)查處理和重發(fā)處
理后的、關(guān)聯(lián)性保存表810的記載內(nèi)容的變化的情況的圖。 這里例示下述情況下的關(guān)聯(lián)性保存表810的記載內(nèi)容的變化在關(guān)聯(lián)性保存表810為圖10的狀態(tài)時,重發(fā)目的地選擇單元260輸入了重發(fā)請求序列號"10",并輸入了表示接收終端D的信息作為重發(fā)請求源信息。 如圖12所示,進(jìn)行重發(fā)目的地調(diào)查處理后的關(guān)聯(lián)性保存表810成為在接收終端D的記錄的重發(fā)完畢序列號812中追加了序列號"10"的狀態(tài)。 這里,以下述情況為例,說明重發(fā)目的地調(diào)查處理以及處理的結(jié)果在關(guān)聯(lián)性保存表810為圖12所示的狀態(tài)時,重發(fā)目的地選擇單元260輸入了重發(fā)請求序列號"15",并輸入了表示接收終端B的信息作為重發(fā)請求源信息。 在接收終端B的記錄中,重發(fā)請求接收總數(shù)814為"30",重發(fā)請求接收數(shù)815的接收終端A和C E的值為"5"、"5"、"30"、"30"。重發(fā)請求接收數(shù)815的接收終端A和C E的值除以重發(fā)請求接收總數(shù)814的值所得的關(guān)聯(lián)度為,"O. 17"、"0. 17"、"1. 0"、"1. 0"。例如,規(guī)定的閾值設(shè)定為"0. 5"時,接收終端D和E的關(guān)聯(lián)度的值高于規(guī)定的閾值。因此,除了重發(fā)請求源的接收終端B以外,還選擇接收終端D和E作為重發(fā)分組的發(fā)送目的地。
接收終端D和E位于接收終端B的下游。因此,通常接收終端D和E中的分組丟失的檢測晚于接收終端B中的分組丟失的檢測,接收終端D和E的重發(fā)請求晚于接收終端B的重發(fā)請求到達(dá)發(fā)送終端200?;诮邮战K端B的重發(fā)請求也向接收終端D和E發(fā)送重發(fā)分組,從而與基于接收終端D和E的重發(fā)請求發(fā)送重發(fā)分組的情況相比,能夠更提前向接收終端D和E發(fā)送重發(fā)分組的發(fā)送定時。 另外,對重發(fā)分組的構(gòu)建和發(fā)送而言,也可以對每個發(fā)送目的地構(gòu)建重發(fā)分組,并通過單播通信將其發(fā)送給各個接收終端300?;蛘咭部梢允褂肵CAST和ALM構(gòu)建一個組播分組,通過組播將其發(fā)送給各個接收終端300。另外,也可以在通過XCAST重發(fā)數(shù)據(jù)分組時,構(gòu)建并發(fā)送多個XCAST分組,該多個XCAST分組中,變更了地址列表中記載的目的地的順序以使各個接收終端300在前頭?;蛘?,也可以在丟失重發(fā)分組時,使其他接收終端300轉(zhuǎn)發(fā)該重發(fā)分組。 如以上的說明,根據(jù)本實施方式,發(fā)送終端200生成用于估計通信系統(tǒng)100的分發(fā)樹的關(guān)聯(lián)性保存表810。然后,發(fā)送終端200接收到數(shù)據(jù)的重發(fā)請求時,基于關(guān)聯(lián)性保存表810估計分發(fā)樹,將估計出的分發(fā)樹中位于重發(fā)請求源的下游的其他接收終端300,追加到重發(fā)分組的發(fā)送目的地。由此,即使在分發(fā)樹的結(jié)構(gòu)不明時,也能夠在較早的定時,向位于分發(fā)樹的下游的接收終端300發(fā)送重發(fā)分組。因此,例如可以在再現(xiàn)時間之前送達(dá)重發(fā)分組,能夠?qū)崿F(xiàn)適合于容許的延遲時間較短的實時通信的重發(fā)控制。另外,不依賴于至發(fā)送目的地的接收終端300的路徑上的裝置的功能和裝置間的關(guān)聯(lián)性,由發(fā)送終端200單獨地發(fā)送重發(fā)分組,因此能夠容易地適用于現(xiàn)有的網(wǎng)絡(luò)中。
(實施方式2) 實施方式2實現(xiàn)進(jìn)行加權(quán)以增強時間上較近的重發(fā)請求的影響,并更新接收終端間的關(guān)聯(lián)性,從而提高對網(wǎng)絡(luò)狀態(tài)變化的跟隨性。 圖13是表示作為本發(fā)明實施方式2的數(shù)據(jù)發(fā)送裝置的發(fā)送終端的結(jié)構(gòu)的方框圖,其對應(yīng)于實施方式1的圖3。對與圖3相同的部分附加相同標(biāo)號,并省略其說明。
在圖13中,發(fā)送終端500包括接收終端關(guān)聯(lián)性更新單元550以代替圖3的接收終端關(guān)聯(lián)性更新單元250。 接收終端關(guān)聯(lián)性更新單元550基于從重發(fā)請求接收單元240輸入的重發(fā)請求序列號和重發(fā)請求源信息,更新圖4所示的關(guān)聯(lián)性保存表810。 另外,接收終端關(guān)聯(lián)性更新單元550在更新關(guān)聯(lián)性保存表810時,在更新前后的差分中,對時間上越新的更新的差分,進(jìn)行越強的加權(quán)。為了進(jìn)行該加權(quán),接收終端關(guān)聯(lián)性更新單元550生成用于記錄關(guān)聯(lián)性保存表810的各個記錄的最后更新時刻的"記錄更新時刻表",將其保存在數(shù)據(jù)存儲單元230中。 圖14是表示數(shù)據(jù)存儲單元230所存儲的記錄更新時刻表的內(nèi)容的一個例子的圖。
記錄更新時刻表830由接收終端831和上次更新時刻[sec]832的兩個欄目構(gòu)成。接收終端831中記載用于表示接收終端A E的信息。上次更新時刻832中,對每個接收終端300記載關(guān)聯(lián)性保存表810的對應(yīng)的記錄被更新的時刻中的最新的時刻。圖14例示以秒(sec)保存了時刻的情況,但是只要能夠確定從上次的重發(fā)請求開始的經(jīng)過時間,就可以使用任何單位和形式來保存時刻。 以下說明接收終端關(guān)聯(lián)性更新單元550的關(guān)聯(lián)性更新處理的細(xì)節(jié)。這里,使用圖15 圖19來說明接收到重發(fā)請求分組時的發(fā)送終端500的動作。 圖15是表示關(guān)聯(lián)性更新處理(圖6的步驟S2000、圖7)的流程的流程圖。對與圖7相同的部分附加相同的步驟號,并省略其說明。 接收終端關(guān)聯(lián)性更新單元550在步驟S2100保存被請求重發(fā)的數(shù)據(jù)分組的序列號后,進(jìn)至步驟S2201。 在步驟S2201,接收終端關(guān)聯(lián)性更新單元550以對基于本次接收的重發(fā)請求分組的更新內(nèi)容乘以更強的權(quán)重的方式更新關(guān)聯(lián)性保存表810的重發(fā)請求源的記錄的值。然后,接收終端關(guān)聯(lián)性更新單元550獲得當(dāng)前時刻,將其記載在記錄更新時刻表830中的、本次的重發(fā)請求源的上次更新時刻832中。 具體地說,接收終端關(guān)聯(lián)性更新單元550首先例如使用以下的式(2),計算與重發(fā)請求源的記錄的更新前的值相乘的權(quán)重系數(shù)。 權(quán)重系數(shù)=-1/0.05X (本次的重發(fā)請求接收時刻-上次的記錄更新時刻)+l
…式(2) 另外,上述式(2)中,"本次的重發(fā)請求接收時刻"意味著本次的重發(fā)請求分組的接收時刻,"上次的記錄更新時刻"意味著關(guān)聯(lián)性保存表810中的本次的重發(fā)請求源的記錄最后被更新的時刻。作為"上次的記錄更新時刻",使用記錄在更新時刻表830內(nèi)的本次的重發(fā)請求源的上次更新時刻832中所記載的值即可。 也就是說,接收終端關(guān)聯(lián)性更新單元550計算從1減去將從上次的記錄更新開始的經(jīng)過時間除以0.05的值后所得的值作為權(quán)重系數(shù)。假設(shè)權(quán)重系數(shù)的最小值為O. 1。因此,例如在使用式(2)計算出的值為0. 1以下時,接收終端關(guān)聯(lián)性更新單元550將權(quán)重系數(shù)決定為O. 1。式(2)的第一項的分母(這里為0.05)是,決定關(guān)聯(lián)性保存表810對網(wǎng)絡(luò)變化的跟隨性的參數(shù),是與重發(fā)請求接收時刻同一單位的值。 重發(fā)請求源的記錄的從上次的更新開始的經(jīng)過時間越長,根據(jù)式(2)計算出的權(quán)重系數(shù)的值越小。 接收終端關(guān)聯(lián)性更新單元550用計算出的權(quán)重系數(shù),例如使用以下所示的式(3),
更新重發(fā)請求源的記錄的重發(fā)請求接收總數(shù)814的值。 重發(fā)請求接收總數(shù)=當(dāng)前的重發(fā)請求接收總數(shù)X權(quán)重系數(shù)+1 …式(3) 另外,接收終端關(guān)聯(lián)性更新單元550用計算出的權(quán)重系數(shù),例如使用以下所示的式(4),更新重發(fā)請求源的記錄的重發(fā)請求接收數(shù)815的所有的值。
重發(fā)請求接收數(shù)=重發(fā)請求接收數(shù)X權(quán)重系數(shù)…式(4) 也就是說,接收終端關(guān)聯(lián)性更新單元550對重發(fā)請求源的記錄,將權(quán)重系數(shù)乘以當(dāng)前所記載的值后,進(jìn)行與本次的重發(fā)請求對應(yīng)的更新。由此,從上次的記錄的更新開始的經(jīng)過時間越長,對本次的更新內(nèi)容乘以相對越強的權(quán)重。 另外,式(2)的第一項的分母0.05為一例,減小該值則能夠增強時間上較近的重發(fā)請求分組的影響,相反地,增大該值則能夠降低對網(wǎng)絡(luò)的跟隨性。另外,最小值O. 1也是一例,其是根據(jù)以何種程度來反映先前的歷史而可以變更的值。 另外,在所選擇的接收終端300的記錄的重發(fā)請求序列號813中記載有與本次的重發(fā)請求序列號相同的序列號時,接收終端關(guān)聯(lián)性更新單元550在步驟S2500之后,進(jìn)至步驟S2601。 在步驟S2601,接收終端關(guān)聯(lián)性更新單元550以對基于本次接收的重發(fā)請求分組的更新內(nèi)容乘以更強的權(quán)重的方式,更新所選擇的接收終端300的記錄的重發(fā)請求接收數(shù)815和重發(fā)請求接收總數(shù)814的值。然后,接收終端關(guān)聯(lián)性更新單元550獲得當(dāng)前時刻,將其記載在記錄更新時刻表830中的、所選擇的接收終端300的上次更新時刻832中。
具體地說,接收終端關(guān)聯(lián)性更新單元550首先例如使用上述的式(2),計算與所選擇的接收終端300的記錄的更新前的值相乘的權(quán)重系數(shù)。但是,這里的"上次的記錄更新時刻"為,在關(guān)聯(lián)性保存表810中,所選擇的接收終端300的記錄最后被更新的時刻。作為"上次的記錄更新時刻",使用記錄在更新時刻表830內(nèi)的所選擇的接收終端300的上次更新時刻832中所記載的值即可。 然后,接收終端關(guān)聯(lián)性更新單元550例如使用計算出的權(quán)重系數(shù)和上述式(4),在所選擇的接收終端300的記錄的重發(fā)請求接收數(shù)815中,更新除重發(fā)請求源以外的所有接收終端300的值。 另外,接收終端關(guān)聯(lián)性更新單元550例如使用計算出的權(quán)重系數(shù)和以下所示的式
(5) ,在所選擇的接收終端300的記錄的重發(fā)請求接收數(shù)815中,更新重發(fā)請求源的值。
重發(fā)請求接收數(shù)=當(dāng)前的重發(fā)請求接收數(shù)X權(quán)重系數(shù)+1 …式(5) 進(jìn)而,接收終端關(guān)聯(lián)性更新單元550例如使用計算出的權(quán)重系數(shù)和以下所示的式
(6) ,更新所選擇的接收終端300的記錄的重發(fā)請求接收總數(shù)814的值。
重發(fā)請求接收總數(shù)=當(dāng)前的重發(fā)請求接收總數(shù)X權(quán)重系數(shù)
…式(6) 也就是說,接收終端關(guān)聯(lián)性更新單元550對所選擇的接收終端300的記錄,將權(quán)重系數(shù)乘以當(dāng)前所記載的值后,進(jìn)行與本次的重發(fā)請求對應(yīng)的更新。由此,從上次的記錄的更新開始的經(jīng)過時間越長,對本次的更新內(nèi)容乘以相對越強的權(quán)重。 對已經(jīng)發(fā)送了與本次所請求重發(fā)的序列號相同的序列號的重發(fā)請求的全部接收終端300,進(jìn)行上述的步驟S2500和S2601的處理。 這樣,接收終端關(guān)聯(lián)性更新單元550的關(guān)聯(lián)性更新處理的結(jié)果,進(jìn)行沿著時間軸的加權(quán)而更新關(guān)聯(lián)性保存表810。 另外,也可以在關(guān)聯(lián)性更新處理的最后匯總地進(jìn)行記錄更新時刻表830的更新。
從上次的更新開始的經(jīng)過時間越長,越增強最新的更新內(nèi)容的權(quán)重,從而能夠在分發(fā)樹發(fā)生變化時,在較短的時間內(nèi)使關(guān)聯(lián)性保存表810的內(nèi)容接近與現(xiàn)狀的分發(fā)樹一致的內(nèi)容。也就是說,能夠提高關(guān)聯(lián)性保存表810的內(nèi)容對分發(fā)樹的變化的跟隨性。
這里說明根據(jù)上述處理的關(guān)聯(lián)性保存表810的記載內(nèi)容的變化的一例情況。
圖16是表示某一時間點的關(guān)聯(lián)性保存表810的內(nèi)容的圖。圖17和圖18是表示對圖16所示的關(guān)聯(lián)性保存表810進(jìn)行圖15所示的關(guān)聯(lián)性更新處理時的、關(guān)聯(lián)性保存表810的記載內(nèi)容的變化的情況的圖。 這里例示在時刻1439. 0340 [sec],從接收終端D接收了指定序列號"10"的重發(fā)請求分組時的、關(guān)聯(lián)性保存表810的記載內(nèi)容的變化。另外假設(shè),在上述接收時刻,記錄更新時刻表830為圖14所示的狀態(tài)。
作為重發(fā)請求源的接收終端D的記錄的、上次的更新時刻與本次的更新時刻之間的時間差為1439.0340-1439.0040 = 0.03[sec]。因此,使用式(2)計算出的權(quán)重系數(shù)為-1/0. 05X0. 03+1 = 0. 4。 如圖16所示,接收終端D的記錄中的重發(fā)請求接收總數(shù)814的更新前的值為"29"。因此,使用式(3)和權(quán)重系數(shù)O. 4的結(jié)果,如圖17所示,接收終端D的重發(fā)請求接收總數(shù)814的值更新為29X0. 4+1 = 12. 6。 如圖16所示,接收終端D的記錄中,重發(fā)請求接收數(shù)815的更新前的接收終端A C和E的值為"5"、"25"、"5"、"22"。因此,使用式(4)和權(quán)重系數(shù)0. 4的結(jié)果,如圖17所示,接收終端D的記錄中,重發(fā)請求接收數(shù)815的接收終端A C和E的值更新為"2"、" 10"、"2 "、"8. 8"。 這里,假設(shè)在圖15的步驟S2300中,在選擇接收終端E之前,先選擇接收終端B。假設(shè)接收終端B和E已經(jīng)進(jìn)行了與本次的重發(fā)請求序列號(這里為序列號"10")相同的序列號的重發(fā)請求。 接收終端B的記錄的、上次的更新時刻與本次的更新時刻之間的時間差為1439. 0340-1439. 0071 = 0. 037 [sec]。因此,使用使(2)計算出的權(quán)重系數(shù)為-1/0. 05X0. 037+1 = 0. 26。 如圖16所示,接收終端B的記錄中,重發(fā)請求接收數(shù)815的更新前的接收終端A和C E的值為"5"、"5"、"25"、"30"。因此,使用式(4)和權(quán)重系數(shù)0. 26的結(jié)果,如圖17所示,接收終端B的記錄中,重發(fā)請求接收數(shù)815的接收終端A、 C和E(重發(fā)請求源以外的接收終端300)的值更新為"1.3"、"1.3"、"7.8"。而且,使用式(5)和權(quán)重系數(shù)0. 26的結(jié)果,如圖17所示,接收終端B的記錄中,重發(fā)請求接收數(shù)815的接收終端D (重發(fā)請求源)的值更新為"7.5"。 另外,如圖16所示,接收終端B的記錄中的重發(fā)請求接收總數(shù)814的值為"30"。因此,使用式(6)和權(quán)重系數(shù)0. 26的結(jié)果,如圖17所示,接收終端B的記錄中,重發(fā)請求接收總數(shù)814的值更新為"7.8"。 接收終端E的記錄的、上次的更新時刻與本次的更新時刻之間的時間差為1439. 0340-1439. 0010 = 0. 033 [sec]。因此,使用式(2)計算出的權(quán)重系數(shù)為-1/0. 05X0. 033+1 = 0. 34。 如圖17所示,接收終端E的記錄中,重發(fā)請求接收數(shù)815的更新前的接收終端A D的值為"5"、"30"、"5"、"24"。因此,使用式(4)和權(quán)重系數(shù)0. 34的結(jié)果,如圖18所示,接收終端E的記錄中,重發(fā)請求接收數(shù)815的接收終端A C(重發(fā)請求源以外的接收終端300)的值更新為"1.7"、"10.2"、"1.7"。而且,使用式(5)和權(quán)重系數(shù)0.34的結(jié)果,如圖18所示,接收終端E的記錄中,重發(fā)請求接收數(shù)815的接收終端D(重發(fā)請求源)的值更新為"9. 16"。 另外,如圖16所示,接收終端E的記錄中的重發(fā)請求接收總數(shù)814的值為"30"。因此,使用式(6)和權(quán)重系數(shù)O. 34的結(jié)果,如圖18所示,接收終端E的記錄的重發(fā)請求接收總數(shù)814的值更新為"10.2"。 另外,為了細(xì)致地進(jìn)行加權(quán),也可以預(yù)先保存先前幾次的、一定時間間隔的重發(fā)請求總數(shù)和相關(guān)的接收終端300的重發(fā)請求數(shù)的歷史,并對各個歷史設(shè)定權(quán)重系數(shù)。
此時,接收終端關(guān)聯(lián)性更新單元550生成保存了先前幾次的、一定時間間隔的重發(fā)請求總數(shù)和相關(guān)的接收終端300的重發(fā)請求數(shù)的歷史的表(以下稱為"歷史保存表")。然后,接收終端關(guān)聯(lián)性更新單元550基于該歷史保存表,進(jìn)行關(guān)聯(lián)性保存表810的更新。以下,使用各個表的變化的一例情況,說明上述歷史保存表的內(nèi)容和更新處理,以及基于歷史保存表的關(guān)聯(lián)性保存表810的更新處理。 圖19是表示某一時間點的關(guān)聯(lián)性保存表810的一例內(nèi)容的圖,圖20是表示上述時間點的歷史保存表的一例內(nèi)容的圖。另外,圖21和圖23是表示圖20的歷史保存表的記載內(nèi)容的變化的情況的圖,圖22和圖24是表示圖19的關(guān)聯(lián)性保存表810的記載內(nèi)容的變化的情況的圖。以下,添標(biāo)"i"表示有關(guān)重發(fā)請求的最新的歷史,添標(biāo)"ii"表示其次新的歷史,添標(biāo)"iii"表示再其次新的歷史。 接收終端關(guān)聯(lián)性更新單元550生成圖20所示的歷史保存表840,其被保存在數(shù)據(jù)存儲單元230中。歷史保存表840具備接收終端841、上次更新時刻842、先前的歷史843和重發(fā)請求接收數(shù)的歷史844的各個欄目。先前的歷史844中記載先前三次的歷史843i 843iii。重發(fā)請求接收數(shù)的歷史844中,對每個接收終端A E,記載先前三次的歷史。
接收終端841中記載用于識別接收終端A E的信息。其他各個欄目分別與接收終端A E關(guān)聯(lián)對應(yīng)。以下,為了簡化說明,歷史保存表840所記載的每個接收終端300的整條信息稱為"歷史記錄"。 另外,歷史保存表840的先前的歷史843對應(yīng)于關(guān)聯(lián)性保存表810的重發(fā)請求接收總數(shù)814,重發(fā)請求接收數(shù)的歷史844對應(yīng)于關(guān)聯(lián)性保存表810的重發(fā)請求接收數(shù)815。
接收終端關(guān)聯(lián)性更新單元550將重發(fā)請求接收總數(shù)和相關(guān)的接收終端300的重發(fā)請求接收數(shù)按一定時間進(jìn)行劃分。然后,接收終端關(guān)聯(lián)性更新單元550將劃分后的重發(fā)請求接收總數(shù)保存在歷史保存表840的"先前的歷史843"中,將劃分后的重發(fā)請求接收數(shù)保存在"重發(fā)請求接收數(shù)的歷史844"中。進(jìn)而,接收終端關(guān)聯(lián)性更新單元550對這些按一定時間劃分后的歷史,乘以對應(yīng)于時間上的遠(yuǎn)近的權(quán)重系數(shù),并基于其計算結(jié)果,更新關(guān)聯(lián)性保存表810的重發(fā)請求接收總數(shù)814和重發(fā)請求接收數(shù)815。 這里,假設(shè)上述一定時間為IO秒,保存三次的歷史。另外,將與先前三次的歷史相乘的權(quán)重系數(shù),從時間上近的一方開始,依序設(shè)為"0.6"、"0.3"、"0. 1"。也就是說,對越新的歷史,進(jìn)行越強的加權(quán)。希望更重視舊的歷史時,將舊的歷史的權(quán)重系數(shù)設(shè)定得較高,而希望更重視新的歷史時,將新的歷史的權(quán)重系數(shù)設(shè)定得較高即可。 在每次接收重發(fā)請求分組時,接收終端關(guān)聯(lián)性更新單元550判斷是否從重發(fā)請求源的上次的記錄更新時刻經(jīng)過了 IO秒。然后,在10秒以內(nèi)時,改寫歷史保存表840中的最新的歷史的數(shù)值,在超過IO秒時,在改寫最新的歷史的數(shù)值的同時,還進(jìn)行歷史保存表840中的歷史信息的移位。 這里,假設(shè)本次的重發(fā)請求分組是從接收終端D發(fā)送的分組,并且其接收時刻為1439. 8050。此時,從接收終端D的上次的記錄更新時刻1439. 0040 [sec]開始的經(jīng)過時間為IO秒以內(nèi)。因此,接收終端關(guān)聯(lián)性更新單元550對歷史保存表840,不進(jìn)行歷史信息的移位,僅改寫最新的歷史的數(shù)值。 接收終端關(guān)聯(lián)性更新單元550首先在歷史保存表840中,對作為重發(fā)請求源的接收終端D的歷史記錄的先前的歷史843i的值加"1"。由此,如圖21所示,接收終端D的歷史記錄的先前的歷史843i的值更新為"20"。 另外,存在已經(jīng)進(jìn)行了與本次的重發(fā)請求序列號相同的序列號的重發(fā)請求的接收 終端300時,接收終端關(guān)聯(lián)性更新單元550在重發(fā)請求接收數(shù)的歷史844中,對與在關(guān)聯(lián)性 保存表810中被更新的值對應(yīng)的值加"l"。這里,假設(shè)接收終端B和E已經(jīng)進(jìn)行與本次的 重發(fā)請求序列號相同的序列號的重發(fā)請求。此時,如圖21所示,接收終端D的歷史記錄中, 重發(fā)請求接收數(shù)的歷史844的、接收終端B和E的歷史Bi和Ei的值分別更新為"20"和 "23"。另外,如圖21所示,接收終端B和E的歷史記錄中,重發(fā)請求接收數(shù)的歷史844的接 收終端D的歷史Di的值更新為"21"。 接著,接收終端關(guān)聯(lián)性更新單元550基于歷史保存表840的更新后的值,更新關(guān)聯(lián) 性保存表810中的、與在歷史保存表840中被更新的歷史記錄對應(yīng)的記錄。具體地說,計算 將權(quán)重系數(shù)乘以歷史保存表840的先前三次的歷史所得的值的合計,并將計算出的值記載 在關(guān)聯(lián)性保存表810的對應(yīng)部分。 其結(jié)果,如圖22所示,基于所設(shè)定的權(quán)重系數(shù)和接收終端D的歷史記錄的先前 的歷史843,關(guān)聯(lián)性保存表810中的、接收終端D的記錄的重發(fā)請求接收總數(shù)814更新為 0.6X21+0.3X15+0.1X5= 17.6。同樣地更新接收終端B、 D、 E的記錄的重發(fā)請求接收數(shù) 815d的所有的值。 然后,接收終端關(guān)聯(lián)性更新單元550將當(dāng)前時刻記載在歷史保存表840中 的、作為記錄的更新對象的接收終端B、D、E的上次更新時刻842中。這里假設(shè)記載了 1450. 1123[sec]。 這樣,關(guān)聯(lián)性保存表810更新為,對時間上較近的歷史進(jìn)行較強的加權(quán)狀態(tài)。
下面,假設(shè)在時刻1450. 1123[sec],從接收終端D接收重發(fā)請求,該重發(fā)請求指定 了已經(jīng)從接收終端B和E作為重發(fā)請求序列號接收了的序列號。此時,從上次的更新時刻 1439. 0040[sec]開始的經(jīng)過時間為約11. 1秒,即10秒以上。 首先,接收終端關(guān)聯(lián)性更新單元550計算時間差除以10秒并舍去小數(shù)點以下的值 后所得的值,然后使與本次的重發(fā)請求相關(guān)的接收終端的歷史記錄的內(nèi)容,向舊的歷史側(cè) 分別移位計算出的值。 這里,11. 1/10 = 1. 1,因此如圖23所示,在圖21所示的歷史保存表840中,使與
本次的重發(fā)請求相關(guān)的接收終端B、D、E的最新的歷史(i)和其次新的歷史(ii),向舊的歷
史側(cè)各移位1。移位后的處理與從上次的更新開始的經(jīng)過時間不足10秒時相同。 其結(jié)果,如圖24所示,在關(guān)聯(lián)性保存表810中,更新接收終端B、 D、 E的所有記錄。 這樣,能夠?qū)ο惹暗闹匕l(fā)請求進(jìn)行細(xì)致的加權(quán)。由此,能夠更自由地設(shè)定時間軸上
的權(quán)重的分布。另外,能夠僅使用一定時間以內(nèi)的新的歷史來計算關(guān)聯(lián)度,因此能夠更加提
高對網(wǎng)絡(luò)狀況變化的跟隨性。 另外,希望更細(xì)致地進(jìn)行加權(quán)時,增加記錄在歷史保存表840中的先前的歷史的 數(shù)目即可。 這樣,根據(jù)本實施方式,在關(guān)聯(lián)性保存表的更新中,能夠?qū)跁r間上越新的重發(fā) 請求的更新內(nèi)容,賦予越強的權(quán)重。由此,能夠?qū)崿F(xiàn)跟隨性優(yōu)良的分發(fā)樹估計,從而在通信 中分發(fā)樹發(fā)生變更的環(huán)境、和分發(fā)樹的下游的網(wǎng)絡(luò)狀態(tài)急劇變化的環(huán)境中,也能夠在較早 的定時發(fā)送重發(fā)分組。
另外,也可以根據(jù)分發(fā)樹和網(wǎng)絡(luò)狀態(tài)的變化的程度和速度,變更對各個歷史的加 權(quán)。此時,能夠平衡性良好地確保對分發(fā)樹和網(wǎng)絡(luò)的狀態(tài)的變化的跟隨性以及估計的精度。
(實施方式3) 實施方式3實現(xiàn)由于估計出的分發(fā)樹與實際的分發(fā)樹不同而預(yù)先的重發(fā)分組發(fā) 送的重發(fā)目的地的選擇失敗時,檢測該失敗,并將失敗的結(jié)果反映到關(guān)聯(lián)性保存表,從而提 高對網(wǎng)絡(luò)狀態(tài)變化的跟隨性。 假設(shè)從某個接收終端接收了序列號作為重發(fā)請求序列,該序列號不是向該接收終 端重發(fā)的對象而是向其他接收終端重發(fā)的對象的序列號。此時可以估計,在先前的重發(fā)處 理中,重發(fā)目的地的選擇失敗了。例如在分發(fā)樹和網(wǎng)絡(luò)發(fā)生變化時,發(fā)生這種失敗。于是, 本實施方式的發(fā)送終端每次接收重發(fā)請求時,判斷該重發(fā)請求是否是由先前的重發(fā)目的地 選擇的失敗所引起的重發(fā)請求,在判斷為是先前的重發(fā)目的地選擇的失敗時,對關(guān)聯(lián)性保 存表進(jìn)行修改,從而防止相同的失敗。 圖25是表示作為實施方式3的數(shù)據(jù)發(fā)送裝置的發(fā)送終端的結(jié)構(gòu)的方框圖,其對應(yīng) 于實施方式l的圖3。對與圖3相同的部分附加相同標(biāo)號,并省略其說明。
在圖25中,發(fā)送終端600還包括重發(fā)目的地選擇結(jié)果反映單元690,并包括重發(fā)請 求接收單元640以代替圖3的重發(fā)請求接收單元240。 重發(fā)請求接收單元640從接收到的重發(fā)請求分組中,獲得重發(fā)請求序列號和重發(fā) 請求源信息。然后,重發(fā)請求接收單元640調(diào)查數(shù)據(jù)存儲單元230中所存儲的關(guān)聯(lián)性保存 表810 (參照圖4),判斷所獲得的重發(fā)請求序列號是否滿足下述條件在重發(fā)請求源的記錄 的重發(fā)完畢序列號812中沒有記載該序列號,且在其他接收終端300的記錄的重發(fā)完畢序 列號812中記載有該序列號。 在不滿足上述條件時,與實施方式1同樣,重發(fā)請求接收單元640將重發(fā)請求序列 號和重發(fā)請求源信息輸出到接收終端關(guān)聯(lián)性更新單元250。另一方面,在滿足上述條件時, 重發(fā)請求接收單元640判斷重發(fā)目的地的接收終端的選擇失敗了,將重發(fā)請求序列號和重 發(fā)請求源信息輸出到重發(fā)目的地選擇結(jié)果反映單元690。 重發(fā)目的地選擇結(jié)果反映單元690在關(guān)聯(lián)性保存表810中,對已經(jīng)被重發(fā)了與從 重發(fā)請求接收單元640輸入的重發(fā)請求序列號相同的序列號的數(shù)據(jù)的、其他接收終端300 的記錄進(jìn)行修改。具體地說,重發(fā)目的地選擇結(jié)果反映單元690在上述其他接收終端300 的記錄的重發(fā)請求接收數(shù)815中,增加重發(fā)請求源的值。由此實現(xiàn),以后從上述其他接收終 端300接收到重發(fā)請求分組時,容易選擇上述重發(fā)請求源作為重發(fā)目的地。
以下,說明具有上述結(jié)構(gòu)的發(fā)送終端600的動作。這里,使用圖26 圖29來說明 接收到重發(fā)請求分組時的發(fā)送終端600的動作。 圖26是表示接收到重發(fā)請求分組時的發(fā)送終端600的整個動作的流程的流程圖, 其對應(yīng)實施方式l的圖6。對與圖6相同的部分附加相同的步驟號,并省略其說明。
在重發(fā)請求接收單元640接收到重發(fā)請求分組后(步驟S1000),處理進(jìn)至步驟 SllOO。 在步驟S1100,重發(fā)請求接收單元640判斷是否已經(jīng)向重發(fā)請求源以外的其他接 收終端300發(fā)送了與本次的重發(fā)請求序列號相同的序列號所對應(yīng)的重發(fā)分組。具體地說, 重發(fā)請求接收單元640在關(guān)聯(lián)性保存表810內(nèi)的重發(fā)請求源以外的接收終端300的記錄
22的重發(fā)完畢序列號812中,搜索與重發(fā)請求序列號相同的序列號。在沒有向其他接收終端 300發(fā)送過同一序列號所對應(yīng)的重發(fā)分組時(S1100 :"否"),處理進(jìn)至步驟S2000。另一方 面,存在相同的序列號,即已經(jīng)向其他接收終端300發(fā)送了同一序列號所對應(yīng)的重發(fā)分組 時(S1100 :"是"),處理進(jìn)至步驟S1200。 在步驟S1200,重發(fā)請求接收單元640判斷是否已經(jīng)向重發(fā)請求源發(fā)送過與本次 的重發(fā)請求序列號相同的序列號所對應(yīng)的重發(fā)分組。具體地說,重發(fā)請求接收單元640調(diào) 查是否在關(guān)聯(lián)性保存表810內(nèi)的重發(fā)請求源的記錄的重發(fā)完畢序列號812中,記載有與重 發(fā)請求序列號相同的序列號。記載有與重發(fā)請求序列號相同的序列號時(S1200 "是"),判 斷僅是先前發(fā)送的重發(fā)分組發(fā)生分組丟失,處理進(jìn)至步驟S2000。另一方面,沒有記載與重 發(fā)請求序列號相同的序列號時(S1200 "否"),處理進(jìn)至S1300。 在S1300,重發(fā)請求接收單元640將重發(fā)請求序列號和重發(fā)請求源信息,輸出到重 發(fā)目的地選擇結(jié)果反映單元690。輸入序列號和重發(fā)請求源信息后,重發(fā)請求接收單元640 判斷在選擇重發(fā)目的地時遺漏了重發(fā)請求源,進(jìn)行重發(fā)目的地選擇結(jié)果修改處理來修改關(guān) 聯(lián)性保存表810。然后,處理進(jìn)至S2000,以后與實施方式1同樣,進(jìn)行關(guān)聯(lián)性更新處理和重 發(fā)目的地調(diào)查處理后,發(fā)送重發(fā)分組。 圖27是表示重發(fā)目的地選擇結(jié)果修改處理(圖26的步驟S1300)的流程的流程 圖。 在步驟S1310,重發(fā)目的地選擇結(jié)果反映單元690選擇一個除重發(fā)請求源以外的 接收終端300。 在步驟S1320,重發(fā)目的地結(jié)果反映單元690調(diào)查是否在關(guān)聯(lián)性保存表810內(nèi),所 選擇的接收終端300的記錄的重發(fā)完畢序列號813中記載有與重發(fā)請求序列號相同的序列 號。記載有相同的序列號時(S1320:"是"),重發(fā)目的地選擇結(jié)果反映單元690進(jìn)至步驟 S1330,沒有記載相同的序列號時(S1320 :"否"),進(jìn)至步驟S1340。 在步驟S1330,重發(fā)目的地選擇結(jié)果反映單元690在所選擇的接收終端300的記錄
的重發(fā)請求接收數(shù)815中,增加重發(fā)請求源的值。另外,修改后的重發(fā)請求接收數(shù)超過所選
擇的接收終端300的記錄的重發(fā)請求接收總數(shù)814時,重發(fā)目的地選擇結(jié)果反映單元690
判斷為修改幅度太大,將該重發(fā)請求接收數(shù)變更為與重發(fā)請求接收總數(shù)814相同的值。增
加重發(fā)請求源的值時,例如使用以下的式(7)即可。 重發(fā)請求接收數(shù)=當(dāng)前的重發(fā)請求接收數(shù)XI. 1 …式(7) 使用式(7)時,所選擇的接收終端300的記錄中的重發(fā)請求源的重發(fā)請求接收數(shù)
成為1. l倍的值。由此,在從所選擇的接收終端300接收到重發(fā)請求時,容易選擇本次的重
發(fā)請求源作為提前的重發(fā)分組的發(fā)送目的地。 另外,如果增大式(7)中的1. 1的值,則能夠使重發(fā)請求源更容易被選擇,或者在 更短時間內(nèi)被選擇為重發(fā)目的地。相反地,如果減小式(7)中的1. 1的值,則能夠減輕重發(fā) 目的地選擇結(jié)果反映單元690所進(jìn)行的修改的影響。另外,也可以通過下述方法增加重發(fā) 請求接收數(shù)的值例如,單純地將一定值與當(dāng)前的重發(fā)請求接收數(shù)相加,或者根據(jù)與所選擇 的接收終端300的重發(fā)請求接收總數(shù)之間的差分,決定增加量。 然后,在步驟S1340,重發(fā)目的地選擇結(jié)果反映單元690判斷是否存在未選擇的接 收終端300。存在未選擇的接收終端300時(S1340:"是"),重發(fā)目的地選擇結(jié)果反映單元690返回到步驟S1310,選擇一個未選擇的接收終端300并重復(fù)進(jìn)行處理,而對所有的接收
終端300完成處理時(S1340 :"否"),結(jié)束一系列的處理,返回到圖26所示的處理。 這樣,重發(fā)目的地選擇結(jié)果反映單元690的重發(fā)目的地選擇結(jié)果修改處理的結(jié)
果,通過反映重發(fā)目的地的選擇的失敗的方式,向使其接近當(dāng)前的分發(fā)樹的狀態(tài)的方向,修
改關(guān)聯(lián)性保存表810。然后,對修改后的關(guān)聯(lián)性保存表810,進(jìn)行步驟S2000的關(guān)聯(lián)性更新處理。 以下,說明根據(jù)上述處理的關(guān)聯(lián)性保存表810的記載內(nèi)容的變化的情況。
圖28是表示某一時間點的關(guān)聯(lián)性保存表810的內(nèi)容的圖。另外,圖29是表示對 圖28所示的關(guān)聯(lián)性保存表810進(jìn)行重發(fā)目的地選擇結(jié)果修改處理時的、關(guān)聯(lián)性保存表810 的記載內(nèi)容的變化的情況的圖。 圖28所示的關(guān)聯(lián)性保存表810內(nèi),僅在接收終端B和E的記錄的重發(fā)完畢序列號 812中記載有序列號"10"。假設(shè)在處于此狀態(tài)時,從接收終端D接收到指定了序列號"10" 的重發(fā)請求分組。 接收終端B和E的記錄的重發(fā)完畢序列號812中記載有序列號"10",而作為重發(fā) 請求源的接收終端D的記錄的重發(fā)完畢序列號812中,沒有記載序列號"10",因此將處理交 給重發(fā)目的地選擇結(jié)果反映單元690。 然后,接收終端B和E的記錄的重發(fā)請求接收數(shù)815中的接收終端D的值,向增加 的方向被更新。在使用式(7)時,如圖29所示,接收終端B的記錄的重發(fā)請求接收數(shù)815 中的接收終端D的值更新為20X 1. 1 = 22。另外,如圖29所示,接收終端E的記錄的重發(fā) 請求接收數(shù)815中的接收終端D的值更新為23X 1. 1 = 25. 3。 這樣,根據(jù)本實施方式,在從先前的重發(fā)分組發(fā)送中沒有被選擇為重發(fā)目的地的 接收終端300,接收到重發(fā)請求分組時,修改關(guān)聯(lián)性保存表810,以便容易對其提前重發(fā)。由 此,能夠迅速地反映分發(fā)樹和網(wǎng)絡(luò)的狀態(tài)的變化而修改關(guān)聯(lián)性保存表,更可靠地進(jìn)行低延 遲的重發(fā)控制。 另外,以上說明的各個實施方式中,說明了以顯式組播方式進(jìn)行分組播發(fā)的發(fā)送
終端,但不限于此,本發(fā)明可以適用于包括覆蓋組播方式的各種數(shù)據(jù)發(fā)送裝置。更具體地
說,可以適用于從多個數(shù)據(jù)接收裝置接收數(shù)據(jù)的重發(fā)請求的數(shù)據(jù)發(fā)送裝置。 2007年7月11日申請的日本專利申請第2007-182669號所包含的說明書、說明書
附圖以及說明書摘要的公開內(nèi)容,全都引用于本申請。
工業(yè)實用性 本發(fā)明的數(shù)據(jù)發(fā)送裝置和數(shù)據(jù)重發(fā)方法作為在分發(fā)樹的結(jié)構(gòu)不明的情況下也能 夠在較早的定時發(fā)送重發(fā)分組的數(shù)據(jù)發(fā)送裝置和數(shù)據(jù)重發(fā)方法極為有用。根據(jù)該數(shù)據(jù)發(fā)送 裝置和數(shù)據(jù)重發(fā)方法,能夠在低延遲的實時通信中,接收終端在再現(xiàn)時間以前接收用于恢 復(fù)分組丟失的重發(fā)分組,由此提高接收終端的接收圖像質(zhì)量。因此,例如作為用于視訊會議 系統(tǒng)和網(wǎng)絡(luò)游戲等的數(shù)據(jù)發(fā)送裝置和數(shù)據(jù)發(fā)送方法很有用。另外,根據(jù)該數(shù)據(jù)發(fā)送裝置和 數(shù)據(jù)重發(fā)方法,不依賴于至分組接收裝置的路徑上的裝置的功能和裝置間的關(guān)聯(lián)性。因此, 特別適合于現(xiàn)有的網(wǎng)絡(luò)中的組播通信和小集團(tuán)用的組播通信。
權(quán)利要求
數(shù)據(jù)發(fā)送裝置,包括重發(fā)請求接收單元,接收數(shù)據(jù)的重發(fā)請求;關(guān)聯(lián)性更新單元,存儲從第一數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求的接收數(shù)的先前的歷史、以及與從所述第一數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求相同的請求對象的、從其他數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求的接收數(shù)的先前的歷史;以及重發(fā)目的地選擇單元,在從所述第一數(shù)據(jù)接收裝置接收到重發(fā)請求時,根據(jù)所述關(guān)聯(lián)性更新單元所存儲的歷史而估計分發(fā)樹,除所述第一數(shù)據(jù)接收裝置之外,還選擇所述估計出的分發(fā)樹中位于所述第一數(shù)據(jù)接收裝置的下游的其他數(shù)據(jù)接收裝置,作為所述數(shù)據(jù)的重發(fā)目的地。
2. 如權(quán)利要求1所述的數(shù)據(jù)發(fā)送裝置,所述重發(fā)請求接收單元從接收到的重發(fā)請求中,提取用于表示該重發(fā)請求的對象的信 息、以及用于表示該重發(fā)請求的發(fā)送源的數(shù)據(jù)接收裝置的信息。
3. 如權(quán)利要求1所述的數(shù)據(jù)發(fā)送裝置,所述關(guān)聯(lián)性更新單元生成關(guān)聯(lián)性保存表,該表中,將表示接收到的重發(fā)請求的對象的 信息與表示該重發(fā)請求的發(fā)送源的數(shù)據(jù)接收裝置的信息關(guān)聯(lián)對應(yīng)地記載, 所述重發(fā)目的地選擇單元參照所述關(guān)聯(lián)性保存表來估計所述分發(fā)樹。
4. 如權(quán)利要求3所述的數(shù)據(jù)發(fā)送裝置,所述關(guān)聯(lián)性保存表中,還記載從第一數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求的接收總數(shù),以 及與從所述第一數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求相同的請求對象的、從其他數(shù)據(jù)接收裝置 發(fā)送來的重發(fā)請求的接收數(shù),所述關(guān)聯(lián)性更新單元參照所述關(guān)聯(lián)性保存表,判斷是否從其他數(shù)據(jù)接收裝置接收到與 從所述第一數(shù)據(jù)接收裝置接收到的重發(fā)請求相同的請求對象的重發(fā)請求,并且基于該判斷 結(jié)果,更新所述關(guān)聯(lián)性保存表。
5. 如權(quán)利要求4所述的數(shù)據(jù)發(fā)送裝置,所述重發(fā)目的地選擇單元計算將與從所述第一數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求相同 的請求對象的、從其他數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求的接收數(shù)除以從所述第一數(shù)據(jù)接收 裝置發(fā)送來的重發(fā)請求的接收總數(shù)所得的值而將其作為關(guān)聯(lián)度,在所述關(guān)聯(lián)度高于規(guī)定的 閾值時,判斷為相應(yīng)的其他數(shù)據(jù)接收裝置位于所述第一數(shù)據(jù)接收裝置的下游。
6. 如權(quán)利要求4所述的數(shù)據(jù)發(fā)送裝置,所述關(guān)聯(lián)性更新單元根據(jù)時間軸對所述關(guān)聯(lián)性保存表的所述重發(fā)請求的接收總數(shù)和 所述重發(fā)請求的接收數(shù)進(jìn)行加權(quán)而將其更新。
7. 如權(quán)利要求6所述的數(shù)據(jù)發(fā)送裝置,所述關(guān)聯(lián)性更新單元在所述關(guān)聯(lián)性保存表的更新前后的差分中,對時間上越近的更新 的差分,進(jìn)行越強的加權(quán)。
8. 如權(quán)利要求5所述的數(shù)據(jù)發(fā)送裝置,還包括重發(fā)目的地選擇結(jié)果反映單元,在未將從所述第一數(shù)據(jù)接收裝置以外的其他數(shù)據(jù)接收 裝置接收到的重發(fā)請求的對象向所述其他數(shù)據(jù)接收裝置發(fā)送過、且已將其向所述第一數(shù)據(jù) 接收裝置發(fā)送過時,在所述關(guān)聯(lián)性保存表中記載的值中,增加與從所述第一數(shù)據(jù)接收裝置 發(fā)送來的重發(fā)請求相同的請求對象的、從所述其他數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求的接收數(shù)的值。
9. 如權(quán)利要求8所述的數(shù)據(jù)發(fā)送裝置,所述關(guān)聯(lián)性保存表將表示對應(yīng)于重發(fā)請求而發(fā)送的數(shù)據(jù)的信息與表示數(shù)據(jù)接收裝置 的信息關(guān)聯(lián)對應(yīng)地記載,所述重發(fā)目的地選擇結(jié)果反映單元參照所述關(guān)聯(lián)性保存表,判斷是否未將從所述第一 數(shù)據(jù)接收裝置以外的其他數(shù)據(jù)接收裝置接收到的重發(fā)請求的對象向所述其他數(shù)據(jù)接收裝 置發(fā)送過、且將其向所述第一數(shù)據(jù)接收裝置發(fā)送過。
10. 如權(quán)利要求2所述的數(shù)據(jù)發(fā)送裝置,還包括數(shù)據(jù)分組發(fā)送單元,將存儲了作為向所述第一數(shù)據(jù)接收裝置所參加的集團(tuán)播發(fā)的對象 的數(shù)據(jù)且賦予了序列號的數(shù)據(jù)分組,通過組播發(fā)送給所述集團(tuán);以及 數(shù)據(jù)存儲單元,存儲通過組播發(fā)送給所述集團(tuán)的數(shù)據(jù)分組,所述重發(fā)目的地選擇單元在從所述第一數(shù)據(jù)接收裝置接收到的、表示重發(fā)請求的對象 的信息為所述序列號時,從所述數(shù)據(jù)存儲單元取得相應(yīng)的數(shù)據(jù)分組中所存儲的數(shù)據(jù),并將 取得的數(shù)據(jù)作為重發(fā)的對象。
11. 如權(quán)利要求io所述的數(shù)據(jù)發(fā)送裝置,所述重發(fā)目的地選擇單元生成重發(fā)分組,該重發(fā)分組存儲從所述數(shù)據(jù)存儲單元取得的 數(shù)據(jù),且以作為所述重發(fā)目的地所選擇的數(shù)據(jù)接收裝置為目的地, 所述數(shù)據(jù)發(fā)送裝置還包括重發(fā)單元,將由所述重發(fā)目的地選擇單元生成的重發(fā)分組,發(fā)送給該重發(fā)分組的目的地。
12. 數(shù)據(jù)重發(fā)方法,包括重發(fā)請求接收步驟,從第一數(shù)據(jù)接收裝置接收數(shù)據(jù)的重發(fā)請求;重發(fā)目的地選擇步驟,基于從第一數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求的接收數(shù)的先前的 歷史、以及與從所述第一數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求相同的請求對象的、從其他數(shù)據(jù) 接收裝置發(fā)送來的重發(fā)請求的接收數(shù)的先前的歷史,估計分發(fā)樹,除所述第一數(shù)據(jù)接收裝 置之外,還選擇所述估計出的分發(fā)樹中位于所述第一數(shù)據(jù)接收裝置的下游的其他數(shù)據(jù)接收 裝置,作為所述數(shù)據(jù)的重發(fā)目的地;以及重發(fā)步驟,將所述數(shù)據(jù)發(fā)送給所述重發(fā)目的地選擇步驟中作為重發(fā)目的地選擇出的數(shù) 據(jù)接收裝置。
全文摘要
即使在分發(fā)樹的結(jié)構(gòu)不明的情況下,也能夠在較早的定時發(fā)送重發(fā)分組的數(shù)據(jù)發(fā)送裝置。包括該裝置的發(fā)送終端(200)具有重發(fā)請求接收單元(240),接收數(shù)據(jù)的重發(fā)請求;接收終端關(guān)聯(lián)性更新單元(250),存儲從第一數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求的接收數(shù)的先前的歷史、以及與從所述第一數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求相同的請求對象的、從其他數(shù)據(jù)接收裝置發(fā)送來的重發(fā)請求的接收數(shù)的先前的歷史;以及重發(fā)目的地選擇單元(260),在從所述第一數(shù)據(jù)接收裝置接收到重發(fā)請求時,根據(jù)所述關(guān)聯(lián)性更新單元所存儲的歷史而估計分發(fā)樹,除所述第一數(shù)據(jù)接收裝置之外,還選擇所述估計出的分發(fā)樹中位于所述第一數(shù)據(jù)接收裝置的下游的其他數(shù)據(jù)接收裝置,作為所述數(shù)據(jù)的重發(fā)目的地。
文檔編號H04L12/44GK101720543SQ200880022770
公開日2010年6月2日 申請日期2008年7月11日 優(yōu)先權(quán)日2007年7月11日
發(fā)明者小林真史, 小西一暢, 村本衛(wèi)一, 松本泰輔, 武井一朗, 米田孝弘 申請人:松下電器產(chǎn)業(yè)株式會社