專利名稱:通信控制裝置及通信控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通信控制裝置及通信控制方法,特別涉及一種減輕對 多個用戶分發(fā)數(shù)據(jù)的服務(wù)器的負(fù)荷的數(shù)據(jù)分發(fā)控制服務(wù)器、數(shù)據(jù)分發(fā)系統(tǒng)。
背景技術(shù):
視頻點播(VoD)、到達(dá)郵件的下載等通信的大部分通過單播進(jìn)行。單 播為了在進(jìn)行通信的兩者間確保單獨的通信路徑,在多個用戶要求同一個 數(shù)據(jù)的下載的情況下,消耗用戶數(shù)量的通信帶寬。組播是向組的同文通信, 以在多個用戶共享帶寬為目的,但對于上述VoD等那樣的、用戶單獨的數(shù) 據(jù)下載的情況則不能應(yīng)對。為了對多個用戶高效地進(jìn)行數(shù)據(jù)分發(fā),例如在公知技術(shù)《特開 2001-344166》中提出了根據(jù)用戶的要求來順序安排內(nèi)容的分發(fā)時間、分發(fā) 機(jī)構(gòu)的方法。在該公知例中,公開了當(dāng)多個用戶的數(shù)據(jù)分發(fā)請求在某個時 間內(nèi)到達(dá)時、將這些分發(fā)請求匯總而進(jìn)行組播的數(shù)據(jù)分發(fā)的技術(shù)。作為通過組播將數(shù)據(jù)無缺損地分發(fā)的技術(shù),有高可靠性的組播技術(shù)。 這與單播的Transmission Control Protocol (TCP)同樣,是在發(fā)生了數(shù) 據(jù)的丟失的情況下、通過根據(jù)數(shù)據(jù)接收者的要求、數(shù)據(jù)發(fā)送者進(jìn)行再送處 理、以可靠地發(fā)送數(shù)據(jù)為目的的技術(shù)。特許文獻(xiàn)1:特開2002-344166號用戶可利用的網(wǎng)絡(luò)帶寬不斷地增加,通過高可靠性組播技術(shù)分發(fā)達(dá)到 幾GB的大容量的數(shù)據(jù)在理論上是可能的。但是,在大容量的數(shù)據(jù)分發(fā)中, 即使不考慮再送處理而僅在從最初到最后發(fā)送就需要相應(yīng)的時間,進(jìn)而, 因為數(shù)據(jù)的再送處理,數(shù)據(jù)發(fā)送的所需時間變長。例如,在將某個數(shù)據(jù)從 最初到最后發(fā)送需要30分鐘的情況下,實際上所有數(shù)據(jù)接收者結(jié)束數(shù)據(jù)接 收所需要的時間為該30分鐘加上再送處理的時間(例如10分鐘)的時間。 該再送處理的時間根據(jù)網(wǎng)絡(luò)及數(shù)據(jù)接收者的狀況而變化。另一方面,在這 樣的大容量的數(shù)據(jù)分發(fā)服務(wù)器中,從數(shù)據(jù)分發(fā)服務(wù)器的資源管理的觀點來看,需要進(jìn)行數(shù)據(jù)分發(fā)的時序安排(scheduling),但由于如上述那樣數(shù)據(jù) 再送處理所需的時間動態(tài)地變化,所以難以進(jìn)行分發(fā)計劃或時間表 (scheduler)的決定。發(fā)明內(nèi)容本發(fā)明是對多個用戶分發(fā)數(shù)據(jù)的裝置的負(fù)荷分散技術(shù),在將大容量數(shù) 據(jù)通過組播通信分發(fā)時,通過將數(shù)據(jù)用組播僅發(fā)送(廣播) 一次的數(shù)據(jù)發(fā) 送服務(wù)器、和輔助數(shù)據(jù)的再送處理的數(shù)據(jù)發(fā)送輔助服務(wù)器的負(fù)荷進(jìn)行分散, 數(shù)據(jù)再送處理不會對數(shù)據(jù)分發(fā)的計劃產(chǎn)生影響。另外, 一般僅進(jìn)行一次數(shù) 據(jù)的發(fā)送對應(yīng)于數(shù)據(jù)的廣播,所以將數(shù)據(jù)發(fā)送服務(wù)器稱作數(shù)據(jù)發(fā)送服務(wù)器。 此外,數(shù)據(jù)發(fā)送輔助服務(wù)器的作用主要是數(shù)據(jù)的再送,所以以后將其稱作 數(shù)據(jù)再送服務(wù)器。本發(fā)明的數(shù)據(jù)分發(fā)控制服務(wù)器,具有網(wǎng)絡(luò)接口,與網(wǎng)絡(luò)連接,并通過該網(wǎng)絡(luò)與數(shù)據(jù)發(fā)送服務(wù)器、數(shù)據(jù)發(fā)送 輔助服務(wù)器及客戶機(jī)進(jìn)行通信,該數(shù)據(jù)發(fā)送服務(wù)器和數(shù)據(jù)發(fā)送輔助服務(wù)器 根據(jù)客戶機(jī)的要求向客戶機(jī)發(fā)送數(shù)據(jù),控制部,具有數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫,該數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫存儲有用 于識別分發(fā)數(shù)據(jù)的數(shù)據(jù)識別符、指定分發(fā)數(shù)據(jù)的地址的數(shù)據(jù)分發(fā)地址、表 示數(shù)據(jù)分發(fā)的開始時刻的數(shù)據(jù)分發(fā)開始時刻;所述控制部根據(jù)來自所述客戶機(jī)的數(shù)據(jù)分發(fā)請求,通過向所述數(shù)據(jù)發(fā) 送服務(wù)器和所述數(shù)據(jù)發(fā)送輔助服務(wù)器發(fā)送分發(fā)數(shù)據(jù)會話信息,控制所述數(shù) 據(jù)發(fā)送服務(wù)器和所述數(shù)據(jù)發(fā)送輔助服務(wù)器向所述客戶機(jī)分發(fā)數(shù)據(jù)。所述數(shù)據(jù)發(fā)送輔助服務(wù)器當(dāng)所述客戶機(jī)接收的數(shù)據(jù)有丟失時,根據(jù)所 述客戶機(jī)的再發(fā)送請求,向所述客戶機(jī)再發(fā)送數(shù)據(jù)。所述客戶機(jī)的再發(fā)送請求直接發(fā)送給所述數(shù)據(jù)發(fā)送輔助服務(wù)器,或經(jīng) 由所述數(shù)據(jù)分發(fā)控制服務(wù)器或所述數(shù)據(jù)發(fā)送服務(wù)器發(fā)送給所述數(shù)據(jù)發(fā)送輔 助服務(wù)器。本發(fā)明還提供一種數(shù)據(jù)發(fā)送輔助服務(wù)器,具有網(wǎng)絡(luò)接口,與網(wǎng)絡(luò)連接,并通過該網(wǎng)絡(luò)與請求數(shù)據(jù)分發(fā)的客戶機(jī)、控 制數(shù)據(jù)分發(fā)處理的數(shù)據(jù)分發(fā)控制服務(wù)器、在預(yù)定的時刻發(fā)送數(shù)據(jù)的數(shù)據(jù)發(fā)送服務(wù)器進(jìn)行通信;數(shù)據(jù)信息數(shù)據(jù)庫,存儲有分發(fā)數(shù)據(jù),該分發(fā)數(shù)據(jù)包括用于識別分發(fā)數(shù) 據(jù)的數(shù)據(jù)識別符、及由唯一的編號確定的數(shù)據(jù)塊的集合;數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫,該數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫存儲有用于識別分發(fā)數(shù) 據(jù)的數(shù)據(jù)識別符、指定分發(fā)數(shù)據(jù)的地址的數(shù)據(jù)分發(fā)地址、表示數(shù)據(jù)分發(fā)的 開始時刻的數(shù)據(jù)分發(fā)開始時刻、對請求了數(shù)據(jù)分發(fā)的所述客戶機(jī)的地址進(jìn) 行管理的數(shù)據(jù)請求方地址;控制部,接收來自所述數(shù)據(jù)分發(fā)控制服務(wù)器的分發(fā)數(shù)據(jù)會話信息,當(dāng) 所述客戶機(jī)從所述數(shù)據(jù)發(fā)送服務(wù)器接收的數(shù)據(jù)有丟失而發(fā)出再發(fā)送請求 時,向所述客戶機(jī)再發(fā)送數(shù)據(jù)。本發(fā)明提供一種數(shù)據(jù)分發(fā)系統(tǒng),具有客戶機(jī)、通過網(wǎng)絡(luò)與客戶機(jī)相 連的數(shù)據(jù)分發(fā)控制服務(wù)器、數(shù)據(jù)發(fā)送服務(wù)器、數(shù)據(jù)發(fā)送輔助服務(wù)器,所述數(shù)據(jù)發(fā)送服務(wù)器和所述數(shù)據(jù)發(fā)送輔助服務(wù)器通過所述數(shù)據(jù)分發(fā)控 制服務(wù)器的控制,向所述客戶機(jī)分發(fā)數(shù)據(jù),所述數(shù)據(jù)分發(fā)控制服務(wù)器具有網(wǎng)絡(luò)接口,與網(wǎng)絡(luò)連接,并通過該網(wǎng)絡(luò)與數(shù)據(jù)發(fā)送服務(wù)器、數(shù)據(jù)發(fā)送 輔助服務(wù)器及客戶機(jī)進(jìn)行通信,該數(shù)據(jù)發(fā)送服務(wù)器和數(shù)據(jù)發(fā)送輔助服務(wù)器 根據(jù)客戶機(jī)的要求向客戶機(jī)發(fā)送數(shù)據(jù),控制部,具有數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫,該數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫存儲有用 于識別分發(fā)數(shù)據(jù)的數(shù)據(jù)識別符、指定分發(fā)數(shù)據(jù)的地址的數(shù)據(jù)分發(fā)地址、表 示數(shù)據(jù)分發(fā)的開始時刻的數(shù)據(jù)分發(fā)開始時刻;所述控制部根據(jù)來自所述客戶機(jī)的數(shù)據(jù)分發(fā)請求,通過發(fā)送分發(fā)數(shù)據(jù) 會話信息,控制所述數(shù)據(jù)發(fā)送服務(wù)器和所述數(shù)據(jù)發(fā)送輔助服務(wù)器向所述客 戶機(jī)分發(fā)數(shù)據(jù)。在本發(fā)明中,通過數(shù)據(jù)再送服務(wù)器代理進(jìn)行數(shù)據(jù)發(fā)送服務(wù)器的再送處 理,能夠使數(shù)據(jù)發(fā)送服務(wù)器的數(shù)據(jù)分發(fā)計劃不延長而予以確定。因而,用 戶能夠容易地取得數(shù)據(jù)的分發(fā)開始時刻。此外,在系統(tǒng)整體中能夠分散數(shù) 據(jù)分發(fā)處理的負(fù)荷。
圖1是表示本發(fā)明的一實施方式的數(shù)據(jù)分發(fā)系統(tǒng)的框圖。圖2是表示本發(fā)明的一實施方式的數(shù)據(jù)分發(fā)系統(tǒng)的另一形態(tài)的框圖。圖3是表示數(shù)據(jù)分發(fā)控制服務(wù)器的結(jié)構(gòu)的框圖。圖4表示數(shù)據(jù)分發(fā)控制服務(wù)器的功能框圖。圖5是表示數(shù)據(jù)發(fā)送服務(wù)器的結(jié)構(gòu)的框圖。圖6是表示數(shù)據(jù)發(fā)送服務(wù)器的功能框圖。圖7是表示數(shù)據(jù)再送服務(wù)器的結(jié)構(gòu)的框圖。圖8是表示數(shù)據(jù)再送服務(wù)器的功能框圖。圖9是表示客戶端的結(jié)構(gòu)的框圖。圖IO是表示客戶端的結(jié)構(gòu)的框圖。圖11是表示整個數(shù)據(jù)分發(fā)處理的時序圖。圖12是在數(shù)據(jù)分發(fā)處理中、數(shù)據(jù)發(fā)送服務(wù)器接收到來自客戶端的數(shù)據(jù) 再送請求的情況下的時序圖。圖13是在數(shù)據(jù)分發(fā)處理中、數(shù)據(jù)分發(fā)控制服務(wù)器接收到來自客戶端的 數(shù)據(jù)再送請求的情況下的時序圖。圖14是表示數(shù)據(jù)分發(fā)結(jié)束處理的時序圖。圖15是在數(shù)據(jù)分發(fā)結(jié)束處理中、數(shù)據(jù)再送服務(wù)器接收到來自客戶端的數(shù)據(jù)接收結(jié)束通知的情況下的時序圖。圖16是在數(shù)據(jù)分發(fā)結(jié)束處理中、數(shù)據(jù)分發(fā)控制服務(wù)器接收到來自客戶端的數(shù)據(jù)接收結(jié)束通知的情況下的時序圖。圖17是表示數(shù)據(jù)分發(fā)速度調(diào)節(jié)處理的時序圖。圖18是表示數(shù)據(jù)分發(fā)控制服務(wù)器的控制的一例的流程圖。圖19是表示數(shù)據(jù)發(fā)送服務(wù)器的控制的一例的流程圖。圖20是表示數(shù)據(jù)再送服務(wù)器的控制的一例的流程圖。圖21是表示客戶端的控制的一例的流程圖。圖22是表示在數(shù)據(jù)分發(fā)系統(tǒng)中使用的包的例子的說明圖。
具體實施方式
以下,根據(jù)
本發(fā)明的一實施方式。圖l表示采用本發(fā)明的系統(tǒng)的一例,是通過網(wǎng)絡(luò)5連接、由管理大容 量數(shù)據(jù)分發(fā)的分發(fā)計劃的數(shù)據(jù)分發(fā)控制服務(wù)器1、通過高可靠性組播通信僅進(jìn)行一次向多個用戶的數(shù)據(jù)分發(fā)的數(shù)據(jù)發(fā)送服務(wù)器2、根據(jù)來自用戶的數(shù)據(jù) 再送請求而進(jìn)行數(shù)據(jù)的再送處理的數(shù)據(jù)再送服務(wù)器3、和將分發(fā)的數(shù)據(jù)儲存 在硬盤中而提供給用戶的多個客戶端(4-1 4-N)構(gòu)成的數(shù)據(jù)分發(fā)系統(tǒng)的 結(jié)構(gòu)圖。另外,關(guān)于各個服務(wù)器中數(shù)據(jù)的配置有多種方式,例如有在圖1 中數(shù)據(jù)發(fā)送服務(wù)器2及數(shù)據(jù)再送服務(wù)器3分別保持?jǐn)?shù)據(jù),及在數(shù)據(jù)分發(fā)時 從數(shù)據(jù)發(fā)送服務(wù)器2向數(shù)據(jù)再送服務(wù)器3拷貝數(shù)據(jù)的方式。此外,還有如 圖2那樣使用外部存儲器6的方式。
接著,以下對各裝置的詳細(xì)情況進(jìn)行說明。
圖3是數(shù)據(jù)分發(fā)控制服務(wù)器1的裝置結(jié)構(gòu)。數(shù)據(jù)分發(fā)控制服務(wù)器1具 有連接在總線18上的CPU12、存儲器16、硬盤14、網(wǎng)絡(luò)接口 10,經(jīng)由網(wǎng) 絡(luò)接口 10的包收發(fā)部101與網(wǎng)絡(luò)5進(jìn)行通信。在硬盤14中,儲存有保存 數(shù)據(jù)的分發(fā)開始時刻、分發(fā)結(jié)束時刻、數(shù)據(jù)分發(fā)地址等有關(guān)數(shù)據(jù)分發(fā)的信 息的數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫(DB) 141,通過裝載在存儲器16上的分發(fā)計劃 管理程序161進(jìn)行讀寫。
CPU12通過存取存儲在存儲器16上的分發(fā)計劃管理程序161而具備本 發(fā)明的控制功能。圖4表示數(shù)據(jù)分發(fā)控制服務(wù)器的功能框圖。數(shù)據(jù)分發(fā)控
制服務(wù)器l包括網(wǎng)絡(luò)接口10;存儲器;存儲數(shù)據(jù)分發(fā)信息及分發(fā)計劃管 理程序;及控制部。控制部具有數(shù)據(jù)分發(fā)計劃安排器1611,管理數(shù)據(jù)的 分發(fā)開始、結(jié)束的數(shù)據(jù)分發(fā)計劃;數(shù)據(jù)分發(fā)信息管理部1613,管理數(shù)據(jù)分 發(fā)信息,從數(shù)據(jù)分發(fā)信息DB141取得數(shù)據(jù)的分發(fā)開始時刻、結(jié)束時刻,將 數(shù)據(jù)通知給數(shù)據(jù)發(fā)送服務(wù)器2、數(shù)據(jù)再送服務(wù)器3;通信監(jiān)視定時器1615, 監(jiān)視數(shù)據(jù)分發(fā)控制服務(wù)器1與數(shù)據(jù)發(fā)送服務(wù)器2、數(shù)據(jù)再送服務(wù)器3、客戶 端4之間的通信會話,檢測錯誤的發(fā)生。
數(shù)據(jù)分發(fā)信息DB141包括數(shù)據(jù)分發(fā)信息表1411,數(shù)據(jù)分發(fā)信息表1411 的各記錄由唯一地確定數(shù)據(jù)的數(shù)據(jù)識別碼、數(shù)據(jù)分發(fā)開始時刻、數(shù)據(jù)分發(fā) 結(jié)束時刻、儲存在數(shù)據(jù)分發(fā)中使用的組播地址的數(shù)據(jù)分發(fā)地址、和數(shù)據(jù)請 求源的地址列表(數(shù)據(jù)請求源地址1 數(shù)據(jù)請求源地址M)構(gòu)成。這些信息 在數(shù)據(jù)分發(fā)控制服務(wù)器1控制數(shù)據(jù)發(fā)送服務(wù)器2、數(shù)據(jù)再送服務(wù)器3時使用。
接著,圖5是數(shù)據(jù)發(fā)送服務(wù)器2的裝置結(jié)構(gòu)。數(shù)據(jù)發(fā)送服務(wù)器2具有 連接在總線28上的CPU22、存儲器26、硬盤24、網(wǎng)絡(luò)接口 20,經(jīng)由網(wǎng)絡(luò)接口 20的包收發(fā)部201與網(wǎng)絡(luò)5進(jìn)行通信。在硬盤24中,儲存有有關(guān)對 應(yīng)于數(shù)據(jù)分發(fā)控制服務(wù)器1的分發(fā)計劃分發(fā)的數(shù)據(jù)的信息的數(shù)據(jù)信息 DB241、保存從數(shù)據(jù)分發(fā)控制服務(wù)器1通知的數(shù)據(jù)分發(fā)計劃的數(shù)據(jù)分發(fā)信息 DB243,通過裝載在存儲器26上的數(shù)據(jù)分發(fā)程序261進(jìn)行讀寫。
圖6表示數(shù)據(jù)發(fā)送服務(wù)器2的功能框圖。數(shù)據(jù)發(fā)送服務(wù)器2包括網(wǎng) 絡(luò)接口20;存儲器;存儲上述數(shù)據(jù)信息和數(shù)據(jù)分發(fā)信息及分發(fā)計劃管理程 序;及控制部??刂撇烤哂袛?shù)據(jù)分發(fā)控制部2611,具有存儲器26上的數(shù) 據(jù)分發(fā)程序261的主要功能;數(shù)據(jù)管理部2613,控制數(shù)據(jù)信息DB241;數(shù) 據(jù)分發(fā)信息管理部2615,控制數(shù)據(jù)分發(fā)信息DB243;通信監(jiān)視定時器2617, 監(jiān)視數(shù)據(jù)發(fā)送服務(wù)器2與數(shù)據(jù)分發(fā)控制服務(wù)器1、數(shù)據(jù)再送服務(wù)器3、客戶 端4之間的通信會話,檢測錯誤的發(fā)生。數(shù)據(jù)分發(fā)控制部2611與數(shù)據(jù)管理 部2613及數(shù)據(jù)分發(fā)信息管理部2615聯(lián)動,執(zhí)行通過組播通信的數(shù)據(jù)分發(fā) 處理。
接著,如果對各數(shù)據(jù)庫管理的信息進(jìn)行說明,則數(shù)據(jù)信息DB241包括 數(shù)據(jù)信息表2411,數(shù)據(jù)信息表2411的各記錄儲存有用來唯一地確定用戶的 數(shù)據(jù)識別碼、表示數(shù)據(jù)的種類的數(shù)據(jù)種類、表示數(shù)據(jù)的大小的數(shù)據(jù)尺寸、 以及數(shù)據(jù)。數(shù)據(jù)在分割的狀態(tài)下被管理,各個數(shù)據(jù)塊通過塊號碼確定。在 圖2中,將數(shù)據(jù)作為從數(shù)據(jù)塊1到數(shù)據(jù)塊N的N個塊管理。數(shù)據(jù)的種類可 以表示例如聲音、運動圖像、程序那樣的有關(guān)數(shù)據(jù)的用途的信息。
數(shù)據(jù)分發(fā)信息DB243包括數(shù)據(jù)分發(fā)信息表2431。數(shù)據(jù)分發(fā)信息表2431 的構(gòu)造與數(shù)據(jù)分發(fā)控制服務(wù)器1的數(shù)據(jù)分發(fā)信息DB141的數(shù)據(jù)分發(fā)信息表 1411同樣,所以省略說明。
圖7是數(shù)據(jù)再送服務(wù)器3的結(jié)構(gòu)。數(shù)據(jù)再送服務(wù)器3具有連接在總線 38上的CPU32、存儲器36、硬盤34、網(wǎng)絡(luò)接口 30,經(jīng)由網(wǎng)絡(luò)接口30的包 收發(fā)部301與網(wǎng)絡(luò)5進(jìn)行通信。在硬盤34中,儲存有保存有關(guān)根據(jù)數(shù)據(jù)分 發(fā)控制服務(wù)器1的分發(fā)計劃分發(fā)的數(shù)據(jù)的信息的數(shù)據(jù)信息DB341、保存從數(shù) 據(jù)分發(fā)控制服務(wù)器1通知的數(shù)據(jù)分發(fā)計劃的數(shù)據(jù)分發(fā)信息DB343,通過裝載 到存儲器36上的數(shù)據(jù)分發(fā)程序361進(jìn)行讀寫。
圖8表示數(shù)據(jù)再送服務(wù)器3的功能框圖。數(shù)據(jù)再送服務(wù)器3包括網(wǎng) 絡(luò)接口30;存儲器;存儲上述數(shù)據(jù)信息和數(shù)據(jù)分發(fā)信息及分發(fā)計劃管理程序;及控制部??刂撇烤哂袛?shù)據(jù)分發(fā)控制部3611,具有存儲器36上的數(shù)
據(jù)分發(fā)程序361的主要功能;數(shù)據(jù)管理部3613,控制數(shù)據(jù)信息DB341;數(shù) 據(jù)分發(fā)信息管理部3615,控制數(shù)據(jù)分發(fā)信息DB343;通信監(jiān)視定時器3617, 監(jiān)視數(shù)據(jù)再送服務(wù)器3與數(shù)據(jù)分發(fā)控制服務(wù)器1、數(shù)據(jù)發(fā)送服務(wù)器2、客戶 端4之間的通信會話,檢測錯誤的發(fā)生。數(shù)據(jù)分發(fā)控制部3611與數(shù)據(jù)管理 部3613及數(shù)據(jù)分發(fā)信息管理部3615聯(lián)動,執(zhí)行通過組播通信的數(shù)據(jù)分發(fā) 處理。
數(shù)據(jù)信息DB341包括數(shù)據(jù)信息表3411,數(shù)據(jù)分發(fā)信息DB343包括數(shù)據(jù) 分發(fā)信息表3431。數(shù)據(jù)信息表3411、數(shù)據(jù)分發(fā)信息表3431的構(gòu)造與數(shù)據(jù) 信息DB241的數(shù)據(jù)信息表2411、以及數(shù)據(jù)分發(fā)信息DB243的數(shù)據(jù)分發(fā)信息 表2431同樣,所以省略說明。
圖9是客戶端(client) 4的裝置結(jié)構(gòu)。客戶端4具有連接在總線48 上的CPU42、存儲器46、硬盤44、網(wǎng)絡(luò)接口 40,經(jīng)由網(wǎng)絡(luò)接口 40的包收 發(fā)部401與網(wǎng)絡(luò)5進(jìn)行通信。
圖10表示客戶端4的功能框圖??蛻舳?包括網(wǎng)絡(luò)接口 40;存儲器;
存儲接收的數(shù)據(jù)及數(shù)據(jù)接收程序;及控制部??刂撇烤哂袛?shù)據(jù)接收控制 部4611,具有存儲器46上的數(shù)據(jù)接收程序461的主要功能;數(shù)據(jù)分發(fā)信息 管理部4613,管理對應(yīng)于用戶的請求的數(shù)據(jù)分發(fā)信息;通信監(jiān)視定時器 4615,監(jiān)視客戶端4與數(shù)據(jù)分發(fā)控制服務(wù)器1、數(shù)據(jù)發(fā)送服務(wù)器2、數(shù)據(jù)再 送服務(wù)器3之間的通信會話,檢測錯誤的發(fā)生。數(shù)據(jù)接收控制部4611與數(shù) 據(jù)分發(fā)信息管理部4613聯(lián)動,執(zhí)行通過組播通信分發(fā)的數(shù)據(jù)的接收處理。。 接著,參照以下所示的時序圖,對本發(fā)明公開的數(shù)據(jù)分發(fā)系統(tǒng)的整體 的動作進(jìn)行說明。
首先,利用圖11說明客戶端4經(jīng)由數(shù)據(jù)分發(fā)控制服務(wù)器1接收數(shù)據(jù)時 的基本動作。數(shù)據(jù)分發(fā)處理通過客戶端4對數(shù)據(jù)分發(fā)控制服務(wù)器1發(fā)送數(shù) 據(jù)分發(fā)計劃請求而開始(S1-01)。在圖22中表示了數(shù)據(jù)分發(fā)計劃請求的內(nèi) 容。接收到客戶端4發(fā)送的數(shù)據(jù)分發(fā)計劃請求的數(shù)據(jù)分發(fā)控制服務(wù)器1檢 索數(shù)據(jù)分發(fā)信息DB141,取得所有的數(shù)據(jù)識別碼、數(shù)據(jù)分發(fā)開始時刻、數(shù)據(jù) 分發(fā)結(jié)束時刻、數(shù)據(jù)分發(fā)地址,從而取得數(shù)據(jù)分發(fā)計劃,并對客戶端4發(fā) 送數(shù)據(jù)分發(fā)計劃(Sl-04)。接收到數(shù)據(jù)分發(fā)計劃的客戶端4顯示數(shù)據(jù)分發(fā)計劃的一覽,對用戶提 示希望接收的數(shù)據(jù)的選擇。如果用戶從數(shù)據(jù)分發(fā)計劃的一覽中選擇接收的 數(shù)據(jù),則客戶端4將數(shù)據(jù)分發(fā)請求發(fā)送給數(shù)據(jù)分發(fā)控制服務(wù)器1 (S01-07)。
從客戶端4接收到數(shù)據(jù)分發(fā)請求的數(shù)據(jù)分發(fā)控制服務(wù)器1從數(shù)據(jù)分發(fā) 請求中提取數(shù)據(jù)識別碼、數(shù)據(jù)請求源地址,將數(shù)據(jù)識別碼作為檢索關(guān)鍵字, 檢索數(shù)據(jù)分發(fā)信息表1411。在存在對應(yīng)于數(shù)據(jù)識別碼的記錄的情況下,數(shù) 據(jù)分發(fā)控制服務(wù)器1將以前面的順序提取的數(shù)據(jù)請求源地址追加到對應(yīng)的 記錄的數(shù)據(jù)請求源地址中。結(jié)束了數(shù)據(jù)分發(fā)信息DB141的更新的數(shù)據(jù)分發(fā) 控制服務(wù)器1對客戶端4發(fā)送數(shù)據(jù)分發(fā)受理信息(Sl-10)。
對客戶端4通知完數(shù)據(jù)分發(fā)信息的數(shù)據(jù)分發(fā)控制服務(wù)器1,向分發(fā)數(shù)據(jù) 的數(shù)據(jù)發(fā)送服務(wù)器2、數(shù)據(jù)再送服務(wù)器3發(fā)送分發(fā)數(shù)據(jù)會話信息(S1-13, S1-16)。
接收到分發(fā)數(shù)據(jù)會話信息的數(shù)據(jù)發(fā)送服務(wù)器2從分發(fā)數(shù)據(jù)會話信息中 提取數(shù)據(jù)識別碼、數(shù)據(jù)分發(fā)地址、數(shù)據(jù)分發(fā)開始時刻、數(shù)據(jù)分發(fā)結(jié)束時刻、 和數(shù)據(jù)請求源地址列表,將各個信息儲存在數(shù)據(jù)分發(fā)信息表2431的對應(yīng)的 字段中。數(shù)據(jù)再送服務(wù)器3也進(jìn)行同樣的處理,更新數(shù)據(jù)分發(fā)信息表3431。 但是,由于包含在分發(fā)數(shù)據(jù)會話信息中的數(shù)據(jù)分發(fā)結(jié)束時刻是數(shù)據(jù)發(fā)送服 務(wù)器2結(jié)束數(shù)據(jù)分發(fā)的時刻,所以數(shù)據(jù)再送服務(wù)器3將對該時刻加上了服 務(wù)器作為規(guī)定值具有的再送監(jiān)視定時器的時刻,作為最終的數(shù)據(jù)分發(fā)結(jié)束 時刻,向數(shù)據(jù)分發(fā)信息表3431儲存。經(jīng)過以上的處理,數(shù)據(jù)分發(fā)處理的準(zhǔn) 備結(jié)束。
如果到了數(shù)據(jù)分發(fā)時刻(S1-19),則數(shù)據(jù)發(fā)送服務(wù)器2使用數(shù)據(jù)分發(fā) 信息表2411的數(shù)據(jù)分發(fā)地址開始數(shù)據(jù)的分發(fā),數(shù)據(jù)再送服務(wù)器3開始進(jìn)行 來自客戶端4的數(shù)據(jù)再送請求處理的準(zhǔn)備(S1-22)。數(shù)據(jù)的分發(fā)通過高可 靠性組播通信進(jìn)行,如果客戶端4檢測到數(shù)據(jù)的丟失,則請求數(shù)據(jù)的再送。 客戶端4由于從在步驟S1-10中接收到的數(shù)據(jù)分發(fā)受理信息取得數(shù)據(jù)再送 服務(wù)器3的地址,所以將數(shù)據(jù)再送請求向數(shù)據(jù)再送服務(wù)器3發(fā)送(Sl-25)。
從客戶端4接收到數(shù)據(jù)再送請求的數(shù)據(jù)再送服務(wù)器3從數(shù)據(jù)再送請求 中提取數(shù)據(jù)請求源地址、數(shù)據(jù)塊號碼,將對應(yīng)于數(shù)據(jù)塊號碼的數(shù)據(jù)塊再送 給數(shù)據(jù)發(fā)送源。數(shù)據(jù)再送服務(wù)器3進(jìn)行的數(shù)據(jù)再送,在數(shù)據(jù)發(fā)送服務(wù)器2結(jié)束數(shù)據(jù)的分發(fā)、并在其后過了由服務(wù)器具有的再送監(jiān)視定時器作為規(guī)定 值所確定的時間的時刻結(jié)束。
接著,利用圖12說明數(shù)據(jù)發(fā)送服務(wù)器受理數(shù)據(jù)再送請求的情況下的動 作。用戶通過客戶端4進(jìn)行數(shù)據(jù)分發(fā)要求處理的步驟S2-01到步驟S2-07 的順序與圖7中的步驟Sl-Ol到S1-07的處理同樣,省略說明。接收到來 自用戶的數(shù)據(jù)分發(fā)要求的數(shù)據(jù)分發(fā)控制服務(wù)器1將數(shù)據(jù)分發(fā)受理信息發(fā)送 給客戶端4。這里,數(shù)據(jù)分發(fā)受理信息在數(shù)據(jù)發(fā)送服務(wù)器地址、數(shù)據(jù)再送服 務(wù)器地址的哪個中都儲存數(shù)據(jù)發(fā)送服務(wù)器2的地址。通過該處理,數(shù)據(jù)再 送服務(wù)器3的地址從用戶來看被隱藏,數(shù)據(jù)再送請求被從客戶端4向數(shù)據(jù) 發(fā)送服務(wù)器2發(fā)送(S2-25)。接收到來自客戶端4的數(shù)據(jù)再送要求的數(shù)據(jù) 發(fā)送服務(wù)器2將數(shù)據(jù)再送要求向數(shù)據(jù)再送服務(wù)器3傳送(S2-28),自身不 進(jìn)行數(shù)據(jù)的再送處理。從數(shù)據(jù)發(fā)送服務(wù)器2接收到數(shù)據(jù)再送要求的數(shù)據(jù)再 送服務(wù)器3經(jīng)過與圖11的步驟S1-28同樣的順序進(jìn)行數(shù)據(jù)再送處理 (S2-31)。在圖12中省略了說明的步驟S2-13到步驟S2-22的順序的處理 與圖11中的步驟S1-13到步驟S1-22的順序同樣。
此外,如圖13所示,也考慮數(shù)據(jù)分發(fā)控制服務(wù)器1處理數(shù)據(jù)再送請求 的情況。用戶通過客戶端4進(jìn)行數(shù)據(jù)分發(fā)請求處理的步驟S3-01到步驟 S3-07的順序與圖11中的步驟S1-01到S1-07的處理同樣,省略說明。接 收到來自用戶的數(shù)據(jù)分發(fā)請求的數(shù)據(jù)分發(fā)控制服務(wù)器1將數(shù)據(jù)分發(fā)受理信 息發(fā)送給客戶端4。這里,數(shù)據(jù)分發(fā)受理信息在數(shù)據(jù)發(fā)送服務(wù)器地址中儲存 數(shù)據(jù)發(fā)送服務(wù)器2的地址,在數(shù)據(jù)再送服務(wù)器地址中儲存數(shù)據(jù)分發(fā)控制服 務(wù)器1的地址。通過該處理,數(shù)據(jù)再送服務(wù)器3的地址從用戶來看被隱藏, 數(shù)據(jù)再送請求被從客戶端4向數(shù)據(jù)分發(fā)控制服務(wù)器1發(fā)送(S3-25)。接收 到來自客戶端4的數(shù)據(jù)再送請求的數(shù)據(jù)分發(fā)控制服務(wù)器1將數(shù)據(jù)再送請求 向數(shù)據(jù)再送服務(wù)器3傳送(S3-28),自身不進(jìn)行數(shù)據(jù)的再送處理。從數(shù)據(jù) 分發(fā)控制服務(wù)器1接收到數(shù)據(jù)再送請求的數(shù)據(jù)再送服務(wù)器3經(jīng)過與圖11的 步驟S1-28同樣的順序進(jìn)行數(shù)據(jù)再送處理(S3-31)。在圖12中省略了說明 的步驟S3-13到步驟S3-22的順序的處理與圖11中的步驟S1-13到步驟 S1-22的順序同樣。
接著,利用圖14說明數(shù)據(jù)再送處理的結(jié)束順序。經(jīng)過圖11中的步驟Sl-Ol到步驟S1-16的順序,通過組播通信將指定的數(shù)據(jù)向多個客戶端同時 發(fā)送(S4-01、 04),客戶端4將數(shù)據(jù)依次儲存到存儲器中,接收完所有的 數(shù)據(jù)后,將數(shù)據(jù)接收結(jié)束通知發(fā)送給服務(wù)器。這里,作為例子,表示客戶 端1 (4-1)將數(shù)據(jù)接收結(jié)束通知發(fā)送給數(shù)據(jù)再送服務(wù)器3的處理(S4-07)。 圖22中表示了數(shù)據(jù)接收結(jié)束通知的內(nèi)容。數(shù)據(jù)接收結(jié)束通知PF-07由 發(fā)送源地址、目的地地址、包種類、數(shù)據(jù)識別碼和數(shù)據(jù)請求地址構(gòu)成。數(shù) 據(jù)接收結(jié)束通知的發(fā)送對每個客戶端進(jìn)行,結(jié)束了數(shù)據(jù)接收的客戶端4每 次將結(jié)束通知發(fā)送給數(shù)據(jù)再送服務(wù)器3 (S4-10)。如果從包含在數(shù)據(jù)分發(fā)信 息數(shù)據(jù)庫343中的所有的用戶接收到數(shù)據(jù)接收結(jié)束通知,則數(shù)據(jù)再送服務(wù) 器3停止數(shù)據(jù)再送處理。數(shù)據(jù)接收結(jié)束通知的發(fā)送目的地在數(shù)據(jù)分發(fā)控制 服務(wù)器1向客戶端4發(fā)送數(shù)據(jù)分發(fā)受理信息(圖11的S1-10、圖12的S2-10
等)時,根據(jù)被指定為數(shù)據(jù)再送服務(wù)器地址的服務(wù)器的地址而變化。在圖 12中,在數(shù)據(jù)再送服務(wù)器地址中指定了數(shù)據(jù)發(fā)送服務(wù)器2。因而,來自客 戶端4的數(shù)據(jù)接收結(jié)束通知被發(fā)送給數(shù)據(jù)發(fā)送服務(wù)器2 (S5_07、 13),數(shù)據(jù) 發(fā)送服務(wù)器2將接收到的消息傳送給數(shù)據(jù)再送服務(wù)器3 (S5-10、 16)。數(shù)據(jù) 發(fā)送服務(wù)器2進(jìn)行的消息中繼處理以外的處理與圖14同樣。
在圖13中,由于在數(shù)據(jù)再送服務(wù)器地址中指定了數(shù)據(jù)分發(fā)控制服務(wù)器 1,所以數(shù)據(jù)接收結(jié)束的中繼處理如圖16所示那樣通過數(shù)據(jù)分發(fā)控制服務(wù) 器執(zhí)行(S6-10、 16)。
有時在數(shù)據(jù)分發(fā)中網(wǎng)絡(luò)會發(fā)生某種故障,出現(xiàn)給客戶端的數(shù)據(jù)接收帶 來障礙的情況。圖17表示來自客戶端的數(shù)據(jù)再送請求集中時的處理。這里, 對將消息直接發(fā)送給數(shù)據(jù)再送服務(wù)器3的情況進(jìn)行說明,但對于數(shù)據(jù)發(fā)送 服務(wù)器2或者數(shù)據(jù)分發(fā)控制服務(wù)器1進(jìn)行消息中繼處理的情況,基本動作 也同樣。
檢測到數(shù)據(jù)的丟失的客戶端4-1將數(shù)據(jù)再送請求發(fā)送給數(shù)據(jù)再送服務(wù) 器3(S7-01 )。數(shù)據(jù)再送服務(wù)器3將被請求的數(shù)據(jù)再送給客戶端4-1(S7-04)。 這里,如果假設(shè)因故障而同一數(shù)據(jù)不能由多個客戶端接收,則其他客戶端 (例如N個客戶端)請求同一數(shù)據(jù)的再送(S7-07)。數(shù)據(jù)再送服務(wù)器3將 被請求的數(shù)據(jù)再送后(S7-10),判斷請求數(shù)據(jù)的再送的客戶端的數(shù)量是否 超過了由系統(tǒng)定義的閾值。這里的閾值被定義為請求數(shù)據(jù)發(fā)送的用戶占所有用戶的比例。在超過了閾值的情況下,認(rèn)為因數(shù)據(jù)分發(fā)速度過快而數(shù)據(jù)
沒有到達(dá)多個客戶端,對數(shù)據(jù)發(fā)送服務(wù)器2發(fā)送數(shù)據(jù)發(fā)送速度變更請求 (S7-13)。圖22中表示數(shù)據(jù)發(fā)送速度變更請求的內(nèi)容。數(shù)據(jù)發(fā)送速度變更 請求PF-08由發(fā)送源地址、目的地地址、包種類、數(shù)據(jù)識別碼和發(fā)送速度 變更參數(shù)構(gòu)成。發(fā)送速度變更參數(shù)包含有有關(guān)怎樣變更發(fā)送速度的信息, 例如包含有用來使通信速度放慢的加權(quán)系數(shù)、通信速度的絕對值。對于加 權(quán)系數(shù)來說,取0 1之間的值,接收到加權(quán)系數(shù)的數(shù)據(jù)發(fā)送服務(wù)器2進(jìn)修 速度調(diào)節(jié),將當(dāng)前的發(fā)送速度乘以加權(quán)系數(shù)后的發(fā)送速度,作為新的發(fā)送 速度。對于絕對值的情況,只指定發(fā)送速度。例如當(dāng)指定2Mpbs這樣的速 度時,數(shù)據(jù)發(fā)送服務(wù)器2將發(fā)送速度設(shè)定為該值。接收到數(shù)據(jù)發(fā)送速度變 更請求的數(shù)據(jù)發(fā)送服務(wù)器2基于消息中的發(fā)送速度變更參數(shù)調(diào)節(jié)數(shù)據(jù)發(fā)送 速度,再計算數(shù)據(jù)分發(fā)結(jié)束時刻。數(shù)據(jù)分發(fā)結(jié)束時刻的再計算例如通過數(shù) 據(jù)尺寸和數(shù)據(jù)分發(fā)速度進(jìn)行。然后,利用數(shù)據(jù)分發(fā)受理消息,將包括再計 算的數(shù)據(jù)分發(fā)結(jié)束時刻的數(shù)據(jù)分發(fā)信息通知給數(shù)據(jù)接收中的所有的客戶端 (S7-16、19)。此外,將分發(fā)數(shù)據(jù)會話信息發(fā)送給數(shù)據(jù)再送服務(wù)器3(S7-22), 更新數(shù)據(jù)再送服務(wù)器的信息。經(jīng)過以上的處理,數(shù)據(jù)發(fā)送速度的變更結(jié)束。 接著,參照圖18的流程圖,對由數(shù)據(jù)分發(fā)控制服務(wù)器1進(jìn)行的控制的 一例進(jìn)行說明。該流程圖是以規(guī)定的周期執(zhí)行的。數(shù)據(jù)分發(fā)控制服務(wù)器1 在啟動時(步驟Fl-Ol)時開始消息接收循環(huán)(步驟Fl-04),接收來自網(wǎng) 絡(luò)5的消息。在步驟F1-07中,判斷接收到的消息是否是來自客戶端的數(shù) 據(jù)分發(fā)計劃請求,如果是數(shù)據(jù)分發(fā)計劃請求,則前進(jìn)到步驟Fl-25,將數(shù)據(jù) 分發(fā)計劃向客戶端4發(fā)送(圖11的S1-04等)。另一方面,如果接收到的 消息不是數(shù)據(jù)分發(fā)計劃請求,則前進(jìn)到步驟F1-10,判斷消息是否是來自客 戶端4的數(shù)據(jù)分發(fā)請求。如果是數(shù)據(jù)分發(fā)請求,則前進(jìn)到步驟F1-28,將數(shù) 據(jù)發(fā)送受理信息向客戶端4發(fā)送(圖11的S1-10等),接著在步驟F1-31 中將分發(fā)數(shù)據(jù)會話信息分別發(fā)送給數(shù)據(jù)發(fā)送服務(wù)器2、數(shù)據(jù)再送服務(wù)器3(圖 11的S1-13等)。
如果接收到的消息不是數(shù)據(jù)分發(fā)請求,則前進(jìn)到F1-13,判斷消息是否 是來自客戶端的數(shù)據(jù)再送請求。在消息是數(shù)據(jù)再送請求的情況下前進(jìn)到步 驟Fl-34,將接收到的消息向數(shù)據(jù)再送服務(wù)器3傳送。如果接收到的消息不是數(shù)據(jù)再送請求,則前進(jìn)到步驟F1-16,判斷消息是否是來自客戶端4的數(shù) 據(jù)接收結(jié)束通知。在是數(shù)據(jù)接收結(jié)束通知的情況下,前進(jìn)到步驟Fl-37,將 接收到的數(shù)據(jù)向數(shù)據(jù)再送服務(wù)器3傳送。消息接收循環(huán)在數(shù)據(jù)分發(fā)控制服 務(wù)器l的關(guān)閉時(步驟F1-22)結(jié)束(步驟F1-19)。通過以上的處理,數(shù) 據(jù)分發(fā)控制服務(wù)器1根據(jù)來自客戶端4的請求進(jìn)行數(shù)據(jù)發(fā)送服務(wù)器2、數(shù)據(jù) 再送服務(wù)器3的控制。
接著,參照圖19的流程圖對由數(shù)據(jù)發(fā)送服務(wù)器2進(jìn)行的控制的一例進(jìn) 行說明。該流程圖是以規(guī)定的周期執(zhí)行的。數(shù)據(jù)發(fā)送服務(wù)器2在啟動時(步 驟F2-01)時開始消息接收循環(huán)(步驟F2-04),接收來自網(wǎng)絡(luò)5的消息。 在步驟F2-07中,判斷接收到的消息是否是來自數(shù)據(jù)分發(fā)控制服務(wù)器1的 分發(fā)數(shù)據(jù)會話信息,如果是分發(fā)數(shù)據(jù)會話信息則前進(jìn)到步驟F2-25,更新數(shù) 據(jù)分發(fā)計劃(圖11的S1-13等)。接著前進(jìn)到步驟F2-28,確認(rèn)數(shù)據(jù)再送服 務(wù)器3是否具有要分發(fā)的數(shù)據(jù)。該檢查在圖1中數(shù)據(jù)再送服務(wù)器3總是保 有分發(fā)數(shù)據(jù)的拷貝的系統(tǒng)結(jié)構(gòu)、以及如圖2那樣數(shù)據(jù)發(fā)送服務(wù)器2與數(shù)據(jù) 再送服務(wù)器3共用外部存儲器的結(jié)構(gòu)中是不需要的。在圖1中數(shù)據(jù)再送服 務(wù)器3僅在數(shù)據(jù)再送處理時保有分發(fā)數(shù)據(jù)的拷貝的情況下,數(shù)據(jù)發(fā)送服務(wù) 器2判斷是否已經(jīng)將數(shù)據(jù)發(fā)送給了數(shù)據(jù)再送服務(wù)器3,在沒有分發(fā)數(shù)據(jù)的情 況下前進(jìn)到步驟F2-31,對數(shù)據(jù)再送服務(wù)器3發(fā)送數(shù)據(jù),準(zhǔn)備好數(shù)據(jù)分發(fā)。
另一方面,如果接收到的消息不是分發(fā)數(shù)據(jù)會話信息,則前進(jìn)到步驟 F2-10,判斷時刻是否到了由某個數(shù)據(jù)識別碼確定的數(shù)據(jù)的分發(fā)時刻。如果 到了數(shù)據(jù)分發(fā)時刻,則前進(jìn)到步驟F2-34,開始由數(shù)據(jù)識別碼確定的數(shù)據(jù)的 分發(fā)(圖11的Sl-22等)。如果時刻沒有到數(shù)據(jù)的分發(fā)時刻,則前進(jìn)到步 驟F2-13,判斷接收到的消息是否是來自客戶端4的數(shù)據(jù)再送請求。如果消 息是數(shù)據(jù)再送請求,則前進(jìn)到步驟F2-37,將接收到的數(shù)據(jù)再送請求向數(shù)據(jù) 再送服務(wù)器傳送(圖12的S2-28)。在步驟F2-13中接收到的消息不是數(shù)據(jù) 再送請求的情況下,前進(jìn)到步驟F2-16,判斷消息是否是來自客戶端4的數(shù) 據(jù)接收結(jié)束通知。如果消息是數(shù)據(jù)接收結(jié)束通知,則前進(jìn)到步驟F2-40,將 接收到的數(shù)據(jù)接收結(jié)束通知向數(shù)據(jù)再送服務(wù)器傳送(圖15的S5-16)。在接 收到的消息不是數(shù)據(jù)接收結(jié)束通知的情況下,前進(jìn)到步驟F2-18,判斷消息 是否是數(shù)據(jù)發(fā)送速度變更請求。在消息是數(shù)據(jù)發(fā)送速度變更請求的情況下,前進(jìn)到步驟F2-43,再計算數(shù)據(jù)分發(fā)結(jié)束時刻。然后在步驟F2-46中向客戶 端4發(fā)送數(shù)據(jù)分發(fā)受理信息,將再計算出的數(shù)據(jù)分發(fā)結(jié)束時刻向客戶端4 通知。進(jìn)而,前進(jìn)到步驟F2-49,將分發(fā)數(shù)據(jù)會話信息發(fā)送給數(shù)據(jù)再送服務(wù) 器3,將再計算出的數(shù)據(jù)分發(fā)結(jié)束時刻通知給數(shù)據(jù)再送服務(wù)器3。消息接收 循環(huán)在數(shù)據(jù)發(fā)送服務(wù)器2關(guān)閉時(步驟F2-22)結(jié)束(步驟F2-19)。通過 以上的處理,數(shù)據(jù)發(fā)送服務(wù)器2根據(jù)來自客戶端4的請求及數(shù)據(jù)分發(fā)控制 服務(wù)器1的控制,進(jìn)行數(shù)據(jù)的分發(fā)處理。
接著,參照圖20的流程圖對由數(shù)據(jù)再送服務(wù)器3進(jìn)行的控制的一例進(jìn) 行說明。該流程圖是以規(guī)定的周期執(zhí)行的。數(shù)據(jù)再送服務(wù)器3在啟動時(步 驟F3-01)時開始消息接收循環(huán)(步驟F3-04),接收來自網(wǎng)絡(luò)5的消息。 在步驟F3-07中,判斷接收到的消息是否是來自數(shù)據(jù)分發(fā)控制服務(wù)器1的 分發(fā)數(shù)據(jù)會話信息,如果是分發(fā)數(shù)據(jù)會話信息則前進(jìn)到步驟F3-25,更新數(shù) 據(jù)分發(fā)計劃(圖11的S1-16等)。另一方面,如果接收到的消息不是分發(fā) 數(shù)據(jù)會話信息,則前進(jìn)到步驟F3-10,判斷時刻是否到了由某個數(shù)據(jù)識別碼 確定的數(shù)據(jù)的分發(fā)時刻。如果到了數(shù)據(jù)分發(fā)時刻,則前進(jìn)到步驟F3-28,開 始由數(shù)據(jù)識別碼確定的數(shù)據(jù)的再送準(zhǔn)備(圖11的S1-19等)。如果時刻未 到數(shù)據(jù)的分發(fā)時刻,則前進(jìn)到步驟F3-13,判斷接收到的消息是否是數(shù)據(jù)再 送請求。如果消息是數(shù)據(jù)再送請求,則前進(jìn)到步驟F3-31,將指定的數(shù)據(jù)塊 向數(shù)據(jù)發(fā)送源再送(圖11的S1-28等)。
然后,在步驟F3-34中,判斷數(shù)據(jù)再送請求的接收數(shù)是否超過了規(guī)定 的閾值。在超過了閾值的情況下,對數(shù)據(jù)發(fā)送服務(wù)器2發(fā)送數(shù)據(jù)發(fā)送速度 變更請求(F3-37),進(jìn)行數(shù)據(jù)發(fā)送速度的調(diào)節(jié)。如果在步驟F3-13中接收 到的消息不是數(shù)據(jù)再送請求,則前進(jìn)到步驟F3-16,判斷消息是否是數(shù)據(jù)接 收結(jié)束通知。在是數(shù)據(jù)接收結(jié)束通知的情況下遷建到步驟F3-40,判斷是否 所有的用戶完成了數(shù)據(jù)接收。在所有的用戶完成了數(shù)據(jù)接收的情況下前進(jìn) 到步驟F3-43,結(jié)束數(shù)據(jù)再送處理。消息接收循環(huán)在數(shù)據(jù)再送服務(wù)器3的關(guān) 閉時(步驟F3-22)結(jié)束(步驟F3-19)。通過以上的處理,數(shù)據(jù)再送服務(wù) 器3根據(jù)來自客戶端4的請求及數(shù)據(jù)分發(fā)控制服務(wù)器1的控制,進(jìn)行數(shù)據(jù) 的再送處理。
接著,參照圖21的流程圖對由客戶端4進(jìn)行的控制的一例進(jìn)行說明。該流程圖以規(guī)定的周期執(zhí)行??蛻舳?在啟動時(步驟F4-01)開始事件接 收循環(huán)(步驟F4-04),接收來自網(wǎng)絡(luò)5的消息、以及通過用戶的操作產(chǎn)生 的程序內(nèi)部的事件。在步驟F4-07中,判斷用戶是否按下了客戶端的數(shù)據(jù) 分發(fā)計劃請求按鈕,在數(shù)據(jù)分發(fā)計劃請求按鈕被按下的情況下,前進(jìn)到步 驟F4-34,向數(shù)據(jù)分發(fā)控制服務(wù)器1發(fā)送數(shù)據(jù)分發(fā)計劃請求(圖11的S1-01 等)。另一方面,在數(shù)據(jù)分發(fā)計劃請求按鈕沒有被按下的情況下,前進(jìn)到步 驟F4-10,判斷是否從數(shù)據(jù)分發(fā)控制服務(wù)器接收到了數(shù)據(jù)分發(fā)計劃。在接收 到了數(shù)據(jù)分發(fā)計劃的情況下,前進(jìn)到步驟F4-37,將數(shù)據(jù)分發(fā)計劃的一覽顯 示在畫面上(圖11的Sl-04等)。在沒有接收到數(shù)據(jù)分發(fā)計劃的情況下前 進(jìn)到步驟F4-13,判斷用戶是否從顯示在畫面上的數(shù)據(jù)分發(fā)計劃的一覽中選 擇了要接收的數(shù)據(jù)。在用戶選擇了要接收的數(shù)據(jù)的情況下前進(jìn)到步驟 F4-40,將包含指定的數(shù)據(jù)識別碼的數(shù)據(jù)分發(fā)請求向數(shù)據(jù)分發(fā)控制服務(wù)器1 發(fā)送(圖11的S1-07等)。在用戶沒有選擇要接收的數(shù)據(jù)的情況下,前進(jìn) 到步驟F4-16,判斷是否要開始對已發(fā)送的數(shù)據(jù)分發(fā)請求的數(shù)據(jù)的接收準(zhǔn) 備。在需要數(shù)據(jù)的接收準(zhǔn)備的情況下前進(jìn)到F4-43,進(jìn)行組播通信的接收等 的需要的處理。在不需要數(shù)據(jù)的接收準(zhǔn)備的情況下,前進(jìn)到步驟F4-19,判 斷是否接收到了要儲存的數(shù)據(jù)。如果接收到了數(shù)據(jù),貝U前進(jìn)到步驟F4-46, 將接收到的數(shù)據(jù)向硬盤儲存。在要儲存的數(shù)據(jù)沒有到達(dá)的情況下,前進(jìn)到 步驟F4-22,判斷未接收的數(shù)據(jù)塊的有無。在有未接收的數(shù)據(jù)塊的情況下前 進(jìn)到步驟F4-49,將指定了未接收的數(shù)據(jù)塊號碼的數(shù)據(jù)再送請求根據(jù)系統(tǒng)的 結(jié)構(gòu)發(fā)送給數(shù)據(jù)分發(fā)控制服務(wù)器l、數(shù)據(jù)發(fā)送服務(wù)器2、數(shù)據(jù)再送服務(wù)器3 的任一個服務(wù)器(圖11的Sl 25等)。在沒有未接收的數(shù)據(jù)塊的情況下前 進(jìn)到步驟F4-52,判斷是否接收了再送數(shù)據(jù)。在接收了再送數(shù)據(jù)時,將該再 送數(shù)據(jù)作為該數(shù)據(jù)識別碼確定的數(shù)據(jù),存儲在硬盤中。在未接收到再送數(shù) 據(jù)時,前進(jìn)到步驟F4-26,判斷是否接收了全部的數(shù)據(jù)。在數(shù)據(jù)接收結(jié)束時 前進(jìn)到步驟F4-55。根據(jù)系統(tǒng)的結(jié)構(gòu)將數(shù)據(jù)接收結(jié)束通知發(fā)送給數(shù)據(jù)分發(fā)控 制服務(wù)器l、數(shù)據(jù)發(fā)送服務(wù)器2、數(shù)據(jù)再送服務(wù)器3的任一個服務(wù)器。事件 接收循環(huán)在客戶端4的關(guān)閉時(步驟F4-31)結(jié)束(步驟F4-28)。通過以 上的處理,客戶端4通過對數(shù)據(jù)分發(fā)控制服務(wù)器1通知要接收的數(shù)據(jù)識別 碼,接收數(shù)據(jù)而提供給用戶。在圖22中表示了數(shù)據(jù)分發(fā)計劃請求PF-01的內(nèi)容。數(shù)據(jù)分發(fā)計劃請求 PF-01由發(fā)送源地址、目的地地址、包種類構(gòu)成。
圖22還表示了數(shù)據(jù)分發(fā)計劃的內(nèi)容PF-02。數(shù)據(jù)分發(fā)計劃PF-02由發(fā) 送源地址、目的地地址、包種類、數(shù)據(jù)識別碼列表、數(shù)據(jù)分發(fā)地址列表、 數(shù)據(jù)分發(fā)開始時刻列表、數(shù)據(jù)分發(fā)結(jié)束時刻列表構(gòu)成。
圖22還表示了數(shù)據(jù)分發(fā)請求PF-03的內(nèi)容。數(shù)據(jù)分發(fā)請求PF-03由發(fā) 送源地址、目的地地址、包種類、數(shù)據(jù)識別碼和數(shù)據(jù)請求源地址構(gòu)成。
圖22還表示了數(shù)據(jù)分發(fā)受理信息的內(nèi)容。數(shù)據(jù)分發(fā)受理信息PF-04包 括發(fā)送源地址、目的地地址、包種類、數(shù)據(jù)識別碼、數(shù)據(jù)發(fā)送服務(wù)器地址、 數(shù)據(jù)再送服務(wù)器地址、數(shù)據(jù)分發(fā)地址、數(shù)據(jù)分發(fā)開始時刻、數(shù)據(jù)分發(fā)結(jié)束 時刻。數(shù)據(jù)發(fā)送服務(wù)器地址、數(shù)據(jù)再送服務(wù)器地址表示數(shù)據(jù)分發(fā)源的地址。 數(shù)據(jù)分發(fā)開始時刻、數(shù)據(jù)分發(fā)結(jié)束時刻分別表示僅一次進(jìn)行數(shù)據(jù)的分發(fā)的 數(shù)據(jù)發(fā)送服務(wù)器2進(jìn)行的數(shù)據(jù)分發(fā)的開始時刻、結(jié)束時刻。
圖22還表示了分發(fā)數(shù)據(jù)會話信息PF-05的內(nèi)容。分發(fā)數(shù)據(jù)會話信息 PF-05由發(fā)送源地址、目的地地址、包種類、數(shù)據(jù)識別碼、數(shù)據(jù)分發(fā)地址、 數(shù)據(jù)分發(fā)開始時刻、數(shù)據(jù)分發(fā)結(jié)束時刻、和數(shù)據(jù)請求源地址列表構(gòu)成。數(shù) 據(jù)請求源地址列表包括請求由該數(shù)據(jù)識別碼確定的數(shù)據(jù)的分發(fā)的所有的客 戶端的地址。
圖22中還表示了數(shù)據(jù)再送請求PF-06的內(nèi)容。數(shù)據(jù)再送請求PF-06由 發(fā)送源地址、目的地地址、包種類、數(shù)據(jù)識別碼、數(shù)據(jù)請求源地址、和數(shù) 據(jù)塊號碼構(gòu)成。數(shù)據(jù)塊號碼表示缺失的數(shù)據(jù)的塊號碼。
以上,在有關(guān)本發(fā)明的數(shù)據(jù)分發(fā)系統(tǒng)中,提供了通過數(shù)據(jù)分發(fā)控制服 務(wù)器、數(shù)據(jù)發(fā)送服務(wù)器、數(shù)據(jù)再送服務(wù)器以及客戶端、按照預(yù)先設(shè)定的分 發(fā)計劃、將大容量數(shù)據(jù)同時對不特定的多個用戶通過組播通信高效率地分 發(fā)的功能,所以能夠作為IPTV等的廣播型服務(wù)的附加服務(wù)使用。
權(quán)利要求
1.一種數(shù)據(jù)分發(fā)控制服務(wù)器,具有網(wǎng)絡(luò)接口,與網(wǎng)絡(luò)連接,并通過該網(wǎng)絡(luò)與數(shù)據(jù)發(fā)送服務(wù)器、數(shù)據(jù)發(fā)送輔助服務(wù)器及客戶機(jī)進(jìn)行通信,該數(shù)據(jù)發(fā)送服務(wù)器和數(shù)據(jù)發(fā)送輔助服務(wù)器根據(jù)客戶機(jī)的要求向客戶機(jī)發(fā)送數(shù)據(jù),數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫,該數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫存儲有用于識別分發(fā)數(shù)據(jù)的數(shù)據(jù)識別符、指定分發(fā)數(shù)據(jù)的地址的數(shù)據(jù)分發(fā)地址、表示數(shù)據(jù)分發(fā)的開始時刻的數(shù)據(jù)分發(fā)開始時刻;控制部,根據(jù)來自所述客戶機(jī)的數(shù)據(jù)分發(fā)請求,通過向所述數(shù)據(jù)發(fā)送服務(wù)器和所述數(shù)據(jù)發(fā)送輔助服務(wù)器發(fā)送分發(fā)數(shù)據(jù)會話信息,控制所述數(shù)據(jù)發(fā)送服務(wù)器和所述數(shù)據(jù)發(fā)送輔助服務(wù)器向所述客戶機(jī)分發(fā)數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)分發(fā)控制服務(wù)器,其特征在于, 所述數(shù)據(jù)發(fā)送輔助服務(wù)器當(dāng)所述客戶機(jī)接收的數(shù)據(jù)有丟失時,根據(jù)所述客 戶機(jī)的再發(fā)送請求,向所述客戶機(jī)再發(fā)送數(shù)據(jù)。
3. 根據(jù)權(quán)利要求2所述的數(shù)據(jù)分發(fā)控制服務(wù)器,其特征在于, 所述客戶機(jī)的再發(fā)送請求直接發(fā)送給所述數(shù)據(jù)發(fā)送輔助服務(wù)器,或經(jīng)由所 述數(shù)據(jù)分發(fā)控制服務(wù)器或所述數(shù)據(jù)發(fā)送服務(wù)器發(fā)送給所述數(shù)據(jù)發(fā)送輔助服 務(wù)器。
4. 根據(jù)權(quán)利要求2所述的數(shù)據(jù)分發(fā)控制服務(wù)器,其特征在于, 在預(yù)定定時,所述數(shù)據(jù)發(fā)送服務(wù)器通過組播方式向所述客戶機(jī)發(fā)送數(shù)據(jù), 所述數(shù)據(jù)發(fā)送輔助服務(wù)器通過單播方式向所述客戶機(jī)發(fā)送數(shù)據(jù)。
5. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)分發(fā)控制服務(wù)器,其特征在于, 所述數(shù)據(jù)分發(fā)控制服務(wù)器通過所述網(wǎng)絡(luò)接口 ,向所述數(shù)據(jù)發(fā)送服務(wù)器和所 述數(shù)據(jù)發(fā)送輔助服務(wù)器發(fā)送包括所述數(shù)據(jù)識別符、所述數(shù)據(jù)分發(fā)地址、所 述數(shù)據(jù)分發(fā)開始時刻的分發(fā)數(shù)據(jù)會話信息,從而使所述數(shù)據(jù)發(fā)送服務(wù)器和 所述數(shù)據(jù)發(fā)送輔助服務(wù)器向所述客戶機(jī)發(fā)送數(shù)據(jù)。
6. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)分發(fā)控制服務(wù)器,其特征在于, 所述數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫還存儲有表示結(jié)束數(shù)據(jù)分發(fā)的時刻的數(shù)據(jù)分發(fā)結(jié) 束時刻;所述控制部控制所述網(wǎng)絡(luò)接口向所述數(shù)據(jù)發(fā)送服務(wù)器發(fā)送包括所述數(shù)據(jù)分發(fā)結(jié)束時刻的分發(fā)數(shù)據(jù)會話信息。
7. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)分發(fā)控制服務(wù)器,其特征在于, 所述數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫還存儲有對請求了數(shù)據(jù)分發(fā)的所述客戶機(jī)的地址 進(jìn)行管理的數(shù)據(jù)請求方地址;所述控制部控制所述網(wǎng)絡(luò)接口向所述數(shù)據(jù)發(fā)送輔助服務(wù)器發(fā)送包括所 述數(shù)據(jù)請求方地址的分發(fā)數(shù)據(jù)會話信息。
8. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)分發(fā)控制服務(wù)器,其特征在于, 所述數(shù)據(jù)發(fā)送輔助服務(wù)器在從多個所述客戶機(jī)接收所述數(shù)據(jù)再發(fā)送請求 時,當(dāng)請求再發(fā)送的客戶機(jī)的數(shù)量超過了預(yù)定的閾值時,向所述數(shù)據(jù)發(fā)送 服務(wù)器發(fā)送數(shù)據(jù)發(fā)送速度變更請求。
9. 根據(jù)權(quán)利要求8所述的數(shù)據(jù)分發(fā)控制服務(wù)器,其特征在于,所述預(yù)定的闡值是請求數(shù)據(jù)分發(fā)的客戶機(jī)占全部客戶機(jī)的比例。
10. —種數(shù)據(jù)發(fā)送輔助服務(wù)器,具有網(wǎng)絡(luò)接口,與網(wǎng)絡(luò)連接,并通過該網(wǎng)絡(luò)與請求數(shù)據(jù)分發(fā)的客戶機(jī)、控 制數(shù)據(jù)分發(fā)處理的數(shù)據(jù)分發(fā)控制服務(wù)器、在預(yù)定的時刻發(fā)送數(shù)據(jù)的數(shù)據(jù)發(fā) 送服務(wù)器進(jìn)行通信;數(shù)據(jù)信息數(shù)據(jù)庫,存儲有分發(fā)數(shù)據(jù),該分發(fā)數(shù)據(jù)包括用于識別分發(fā)數(shù) 據(jù)的數(shù)據(jù)識別符、及由唯一的編號確定的數(shù)據(jù)塊的集合;數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫,該數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫存儲有用于識別分發(fā)數(shù) 據(jù)的數(shù)據(jù)識別符、指定分發(fā)數(shù)據(jù)的地址的數(shù)據(jù)分發(fā)地址、表示數(shù)據(jù)分發(fā)的 開始時刻的數(shù)據(jù)分發(fā)開始時刻、對請求了數(shù)據(jù)分發(fā)的所述客戶機(jī)的地址進(jìn) 行管理的數(shù)據(jù)請求方地址;控制部,接收來自所述數(shù)據(jù)分發(fā)控制服務(wù)器的分發(fā)數(shù)據(jù)會話信息,當(dāng) 所述客戶機(jī)從所述數(shù)據(jù)發(fā)送服務(wù)器接收的數(shù)據(jù)有丟失而發(fā)出再發(fā)送請求 時,向所述客戶機(jī)再發(fā)送數(shù)據(jù)。
11. 一種數(shù)據(jù)分發(fā)系統(tǒng),具有客戶機(jī)、通過網(wǎng)絡(luò)與客戶機(jī)相 連的數(shù)據(jù)分發(fā)控制服務(wù)器、數(shù)據(jù)發(fā)送服務(wù)器、數(shù)據(jù)發(fā)送輔助服務(wù)器,所述數(shù)據(jù)發(fā)送服務(wù)器和所述數(shù)據(jù)發(fā)送輔助服務(wù)器通過所述數(shù)據(jù)分發(fā)控 制服務(wù)器的控制,向所述客戶機(jī)分發(fā)數(shù)據(jù), 所述數(shù)據(jù)分發(fā)控制服務(wù)器具有網(wǎng)絡(luò)接口,與網(wǎng)絡(luò)連接,并通過該網(wǎng)絡(luò)與數(shù)據(jù)發(fā)送服務(wù)器、數(shù)據(jù)發(fā)送 輔助服務(wù)器及客戶機(jī)進(jìn)行通信,該數(shù)據(jù)發(fā)送服務(wù)器和數(shù)據(jù)發(fā)送輔助服務(wù)器 根據(jù)客戶機(jī)的要求向客戶機(jī)發(fā)送數(shù)據(jù),控制部,具有數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫,該數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫存儲有用 于識別分發(fā)數(shù)據(jù)的數(shù)據(jù)識別符、指定分發(fā)數(shù)據(jù)的地址的數(shù)據(jù)分發(fā)地址、表示數(shù)據(jù)分發(fā)的開始時刻的數(shù)據(jù)分發(fā)開始時刻;所述控制部根據(jù)來自所述客戶機(jī)的數(shù)據(jù)分發(fā)請求,通過發(fā)送分發(fā)數(shù)據(jù) 會話信息,控制所述數(shù)據(jù)發(fā)送服務(wù)器和所述數(shù)據(jù)發(fā)送輔助服務(wù)器向所述客 戶機(jī)分發(fā)數(shù)據(jù)。
全文摘要
本發(fā)明涉及通信控制裝置及通信控制方法,提供一種減輕對多個用戶分發(fā)數(shù)據(jù)的服務(wù)器的負(fù)荷的數(shù)據(jù)分發(fā)控制服務(wù)器、數(shù)據(jù)分發(fā)系統(tǒng)。數(shù)據(jù)分發(fā)控制服務(wù)器,具有網(wǎng)絡(luò)接口,與網(wǎng)絡(luò)連接,并通過網(wǎng)絡(luò)與數(shù)據(jù)發(fā)送服務(wù)器、數(shù)據(jù)發(fā)送輔助服務(wù)器及客戶機(jī)進(jìn)行通信,該數(shù)據(jù)發(fā)送服務(wù)器和數(shù)據(jù)發(fā)送輔助服務(wù)器根據(jù)客戶機(jī)的要求向客戶機(jī)發(fā)送數(shù)據(jù),數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫,該數(shù)據(jù)分發(fā)信息數(shù)據(jù)庫存儲有用于識別分發(fā)數(shù)據(jù)的數(shù)據(jù)識別符、指定分發(fā)數(shù)據(jù)的地址的數(shù)據(jù)分發(fā)地址、表示數(shù)據(jù)分發(fā)的開始時刻的數(shù)據(jù)分發(fā)開始時刻;控制部,根據(jù)來自所述客戶機(jī)的數(shù)據(jù)分發(fā)請求,通過向所述數(shù)據(jù)發(fā)送服務(wù)器和所述數(shù)據(jù)發(fā)送輔助服務(wù)器發(fā)送分發(fā)數(shù)據(jù)會話信息,控制所述數(shù)據(jù)發(fā)送服務(wù)器和所述數(shù)據(jù)發(fā)送輔助服務(wù)器向所述客戶機(jī)分發(fā)數(shù)據(jù)。
文檔編號H04L29/08GK101631137SQ20081013392
公開日2010年1月20日 申請日期2008年7月15日 優(yōu)先權(quán)日2008年7月15日
發(fā)明者吉內(nèi)英也 申請人:株式會社日立制作所