新四季網

通信處理裝置、數據通信系統以及通信處理方法

2023-09-18 03:18:55

專利名稱:通信處理裝置、數據通信系統以及通信處理方法
技術領域:
本發明涉及通信處理裝置、數據通信系統以及通信處理方法。更具體地講,本發明涉及允許在流數據的傳輸與接收過程中進行適當比特率控制的一種通信處理裝置、一種數據通信系統以及一種通信處理方法。
背景技術:
最近,數據通信正有效地在Internet上執行。另外,家庭網絡也正在日趨流行,這些家庭網絡允許家庭中經由網絡連接的設備之間的通信,這些設備例如包括家用電器、計算機以及外圍設備等。例如,家庭網絡允許在經由網絡連接的設備之間傳輸和接收內容。對於用戶而言,這是方便的與舒適的,因此家庭網絡正變得越來越為普遍。
在一種稱作流或數據流的數據分布(distribution)中,由伺服器所保持的圖像數據經由網絡被傳輸給客戶機,然後該客戶機在接收該圖像數據的同時回放該圖像數據。執行這樣的流數據分布的伺服器被稱為流伺服器,並且從流伺服器接收數據的客戶機被稱為流客戶機。流伺服器執行數據處理,例如,進行編碼,以生成數據以便進行傳輸,並且將數據輸出到網絡。流客戶機把所接收的數據臨時積累在緩衝器中,並且順序地解碼以及回放該數據。
在許多情況下,把稱為實時傳送協議(RTP)的通信協議用於數據流中。基本上講,RTP不支持重新傳輸控制。即RTP是一種類似用戶數據報協議(UDP)的協議,其沒有定義防止分組丟失或確保傳輸時間的措施。由於即使在分組丟失的情況下也不執行重新傳輸,從而不會出現因重新傳輸所導致的延遲。因此,RTP是一種適合於實時回放的協議。
例如,在基於RTP的通信中,根據RTP控制協議(RTCP)對傳輸速率進行控制。例如,根據的日本未經審查的專利申請公開文本2002-204278中所披露的方法,在RTCP的接收方報告(RR)分組中,數據接收端的裝置向數據傳輸端的裝置報告分組丟失率等。這允許數據傳輸端的裝置能估計數據傳輸的狀態,並且控制該傳輸速率。
在流分配中,人們希望按某一最佳傳輸速率分布數據。例如,根據日本未經審查的專利申請公開文本2004-297565的中所公開的一種方案,數據傳輸裝置和數據接收裝置測量上遊傳輸速率和下遊傳輸速率,速率控制裝置進行控制,以致按所測速率中較小的速率傳輸和接收數據,從而可以穩定地傳輸數據。
以上所描述的基於RTP的流分布的優點是,由於即使在分組丟失的情況下也不執行重新傳輸,所以不會延遲回放。然而,為了提高數據質量,人們希望客戶機接收完整的數據。另外,當所分布的內容為加密的內容時,數據部分的丟失可能會妨礙解密,從而妨礙在客戶機處的內容的回放。在這樣的內容的情況下,不支持重新傳輸控制的協議,例如RTP,是不適合的。
當人們希望所傳送的數據的完整性時,則應使用定義了防止分組丟失的措施(measure)的協議,例如傳輸控制協議(TCP)。例如,在日本未經審查的專利申請公開文本2005-005823的中描述的基於TCP的圖像數據的分布的一種方案。
在執行基於傳送協議的通信方面,例如在執行基於TCP的通信方面,人們付出了很大的努力。當執行多媒體數據流時,這些苦心設計的通信的通信帶寬方面的變化產生了嚴重的問題。例如,在TCP的情況下,這一問題特別明顯。根據TCP,儘管沒有了出現數據的丟失,但在通信帶寬減小時數據的到達時間會被延遲。在基於TCP的流中,當阻塞發生時,數據到達時間的延遲可能會導致視頻或音頻中斷。為了克服這一問題,通常,當流伺服器分布數據時,根據通信帶寬方面的變化增大或減小所傳輸的數據的比特率。增大或減小包括視頻數據等的多媒體數據的比特率的方法,很大程度地影響著數據流的質量。
迄今為止對於流伺服器而言的情況是,主要基於客戶機所提供的信息確定是增大還是減小所分布數據的比特率。例如,使用與客戶機的應用緩衝器中所積累的數據的量有關的信息。然而,對客戶機的應用緩衝器中所積累的數據的量的計算並不必然足以防止以比網絡帶寬所允許的比特率高的比特率傳輸數據。當以比網絡帶寬所允許的比特率高的比特率傳輸數據時,發生阻塞。因此,多媒體數據不能如願地到達客戶機,從而導致客戶機的應用緩衝器中所積累的數據的不足(underrun)。這提高了音頻或視頻中斷的可能性。
而且,根據基於從客戶機所提供的信息的方法,不能夠快速地適應通信帶寬方面的變化。例如,當流伺服器和流客戶機之間的通信帶寬因其它通信量等的出現而急劇減小時,如果通信帶寬一減小流伺服器就減小所傳輸數據的比特率,則所傳輸的數據的回放不會中斷。然而,當在以上所描述的情況下,使用從客戶機所提供的信息時,當自通信帶寬減小起已過去一定的時間時,客戶機緩衝器中所積累的數據的量將減少。因此,伺服器需要花時間識別緩衝器數據的量的這一減少,致使伺服器不能立即適應通信帶寬的減小。因此,在伺服器減小比特率或採取其它相應措施之前,客戶機緩衝器出現不足(underrun)的現象。這導致了視頻或音頻中斷。

發明內容
人們希望提供一種通信處理裝置、一種數據通信系統以及一種通信處理方法,允許在流數據的傳輸和接收過程中按最佳傳輸模式傳輸數據。
更具體地講,人們希望提供一種通信處理裝置、一種數據通信系統以及一種通信處理方法,伺服器在考慮到諸如通信路徑上出現阻塞或者通信鏈路上出現幹擾等因素的情況下,可憑它們預測所傳輸數據的比特率的最佳值,並且使用它們,該比特率能基於所預測的值得以動態地控制,以致能夠按最佳數據傳輸模式執行數據流。
根據本發明的實施例,提供了一種通信處理裝置,作為用於向客戶機傳輸數據的伺服器。該通信處理裝置包括數據收發器,被配置來執行與客戶機的通信;速率控制器,被配置來控制和確定被傳輸給客戶機的數據的比特率;以及數據處理器,被配置來準備數據以便根據所述速率控制器所確定的比特率進行傳輸。所述速率控制器包括吞吐量計算器,被配置來抽取不包括無效數據傳輸與接收周期的有效數據傳輸與接收周期,所述有效和無效數據傳輸與接收周期出現於其間在伺服器和客戶機之間維持了通信連接的周期內,並且該吞吐量計算器被配置來基於有效數據傳輸與接收周期的長度和所傳輸數據量計算最大吞吐量;以及比特率設置器,被配置來在高達相應於由所述吞吐量計算器所計算的最大吞吐量的最大可允許比特率的範圍內設置傳輸比特率。
在這種通信處理裝置中,所述吞吐量計算器被配置成限定有效數據傳輸與接收周期,該有效數據傳輸與接收周期與從基於窗口尺寸開始連續數據傳輸到接收到該連續傳輸的數據的收到確認的周期相對應;以及基於所述有效數據傳輸與接收周期的長度和所傳輸的數據量計算最大吞吐量。
作為選擇,在這種通信處理裝置中,所述吞吐量計算器被配置成限定有效數據傳輸與接收周期,該有效數據傳輸與接收周期與從基於窗口尺寸開始連續數據傳輸到接收到該連續傳輸的數據的收到確認的周期相對應;獲得與多個有效數據傳輸與接收周期相關樣本數據的多段;以及基於在所獲得的樣本數據的所述多段中的、除了那些被確定為具有異常值的數據的那些段的樣本數據的多段,來計算最大吞吐量。
在這種通信處理裝置中,所述比特率設置器配置成基於客戶機緩衝器的估計緩衝器的量的變化,設置比特率;以及在所估計的緩衝器的量大於或等於預定閾值時,在高達相應於由所述吞吐量計算器所計算的最大吞吐量的最大可允許比特率的上限的範圍內增大所述比特率。
而且,在這種通信處理裝置中,所述比特率設置器配置成使用下列信息(a)到(d),通過根據表示為客戶機緩衝器的所估計的緩衝器的量=B_cli+D_serv-R*T的方程進行的計算,來估計所述客戶機緩衝器的量(a)在通信開始時所述客戶機報告的緩衝器的量B_cli,以字節表示;(b)自所述客戶機回放開始起所逝去的時間T,以秒表示;(c)在自所述客戶機回放開始起所逝去的時間T期間所述伺服器所傳輸的數據的量D_serv,以字節表示;以及(d)從所傳輸的內容可獲得的內容的回放速率R,以字節每秒表示。
在這種通信處理裝置中,所述數據收發器配置成從作為用於與客戶機進行通信的媒介的存取點接收通信帶寬信息,所述通信帶寬信息涉及所述存取點和所述客戶機之間的通信帶寬。在這一情況下,所述比特率設置器配置成基於通信帶寬信息設置傳輸比特率。
另外,在這種通信處理裝置中,所述通信帶寬包括例如基於與往返時間、所接收的信號強度指示符、以及在所述存取點和所述客戶機之間的通信的傳輸速率中的至少之一有關的數據所生成的信息。
根據本發明的另一個實施例,提供了一種通信處理裝置,作為用於向客戶機傳輸數據的伺服器。該通信處理裝置包括數據收發器,被配置來執行與所述客戶機的通信;速率控制器,被配置來控制和確定被傳輸給所述客戶機的數據的比特率;以及數據處理器,被配置來準備數據以便按照由所述速率控制器所確定的比特率進行傳輸。所述速率控制器包括比特率設置器,該比特率設置器被配置成限定基於在其間所述伺服器和所述客戶機之間維持通信連接的周期內連續傳輸的數據分組的接收間隔信息所計算的最大吞吐量;以及在高達與所述最大吞吐量相應的最大可允許比特率的範圍內設置傳輸比特率。
在這種通信處理裝置中,所述速率控制器包括吞吐量計算器,該吞吐量計算器被配置成從所述客戶機接收在伺服器和客戶機之間維持通信連接的周期內連續傳輸的數據分組的接收間隔信息;並且基於所述接收間隔信息和所傳輸的數據量計算最大吞吐量。在這一情況下,所述比特率設置器被配置成在高達相應於由所述吞吐量計算器所計算的所述最大吞吐量的最大可允許比特率的範圍內設置傳輸比特率。
在這種通信處理裝置中,所述數據收發器配置成連續地傳輸具有被設置成某一特定值的緊急標誌的分組首部的分組,被設置成該特定值的所述緊急標誌用作分組的標識信息,客戶機將採用該標識信息測量接收間隔。
在這種通信處理裝置中,所述比特率設置器被配置成基於客戶機緩衝器的估計的緩衝器的量的變化設置比特率,而且當所估計的緩衝器的量大於或等於預定閾值時,在高達相應於由所述吞吐量計算器所計算的所述最大吞吐量的所述最大可允許比特率的上限的範圍內增大所述比特率。
而且,在這種通信處理裝置中,所述比特率設置器配置成通過使用下列信息(a)到(d),根據表示為所述客戶機緩衝器的所估計的緩衝器的量=B_cli+D_serv-R*T的方程進行計算,來估計所述客戶機緩衝器的量(a)在通信開始時所述客戶機報告的緩衝器的量B_cli,以字節表示;(b)自所述客戶機回放開始起所逝去的時間T,以秒表示;(c)在自所述客戶機回放開始起所逝去的時間T期間所述伺服器所傳輸的數據的量D_serv,以字節表示;以及(d)從所傳輸的內容可獲得的內容的回放速率R,以字節每秒表示。
在這種通信處理裝置中,所述數據收發器配置成從作為用於與客戶機進行通信的媒介的存取點接收通信帶寬信息,所述通信帶寬信息涉及所述存取點和所述客戶機之間的通信帶寬。在這一情況下,所述比特率設置器配置成基於通信帶寬信息設置傳輸比特率。
另外,在這種通信處理裝置中,所述通信帶包括例如基於與往返時間、所接收的信號強度指示符、以及在所述存取點和所述客戶機之間的通信的傳輸速率中的至少之一有關的數據所生成的信息。
根據本發明的另一個實施例,提供了一種通信處理裝置,用作從伺服器接收數據的客戶機。該通信處理裝置包括數據收發器,被配置來執行與伺服器的通信;以及分組間隔測量器,被配置來測量從所述伺服器所接收的數據分組的接收間隔。所述分組間隔測量器被配置成根據包括在從伺服器所接收的分組中的標識信息,測量連續接收的分組的接收間隔;並且經由數據收發器,把代表所述接收間隔的接收間隔信息或基於所述接收間隔所計算的吞吐量信息傳輸給所述伺服器。
在這種通信處理裝置中,所述分組間隔測量器被配置成根據包括在從所述伺服器所接收的所述分組中的分組首部的緊急標誌的設置,測量連續接收的分組的接收間隔。
根據本發明的另一個實施例,提供了一種包括傳輸和接收數據的伺服器和客戶機的數據通信系統。所述客戶機配置成根據包括在從所述伺服器所接收的分組中的標識信息,測量連續接收的分組的接收間隔;並且把代表所述接收間隔的接收間隔信息或基於所述接收間隔所計算的吞吐量信息傳輸給所述伺服器。所述伺服器被配置成高達相應於基於從客戶機所接收的吞吐量信息或接收間隔信息所計算的最大吞吐量的最大可允許比特率的範圍內,設置傳輸比特率;並且根據所述傳輸比特率把數據傳輸給所述客戶機。
在這種通信處理裝置中,所述伺服器被配置成從作為與客戶機進行通信的媒介的存取點接收通信帶寬信息,所述通信帶寬信息涉及所述存取點和所述客戶機之間的通信帶寬;並且基於所述通信帶寬信息確定傳輸比特率。
根據本發明的另一個實施例,提供了一種一種傳輸數據的伺服器的通信處理方法。所述通信處理方法包括下列步驟控制和確定傳輸給客戶機的數據的比特率;以及準備數據以便根據在所述速率控制步驟所確定的所述比特率進行傳輸。所述速率控制步驟包括下列步驟抽取不包括無效數據傳輸與接收周期的有效數據傳輸與接收周期,所述有效和無效數據傳輸與接收周期出現在所述伺服器和所述客戶機之間維持通信連接的周期內;並且基於所述有效數據傳輸與接收周期的長度和所傳輸數據的量來計算最大吞吐量;以及在高達相應於在所述吞吐量計算步驟所計算的所述最大吞吐量的最大可允許比特率的範圍內設置傳輸比特率。
在這種通信處理方法中,所述吞吐量計算步驟限定有效數據傳輸與接收周期,該有效數據傳輸與接收周期與從基於窗口尺寸開始連續數據傳輸到接收到該連續傳輸的數據的收到確認的周期相對應;並且基於所述有效數據傳輸與接收周期的長度和所傳輸數據的量計算最大吞吐量。
作為選擇,在這種通信處理方法中,所述吞吐量計算步驟限定有效數據傳輸與接收周期,該有效數據傳輸與接收周期與從基於窗口尺寸開始連續數據傳輸到接收到該連續傳輸的數據的收到確認的周期相對應;獲得與多個有效數據傳輸與接收周期相關樣本數據的多段;以及基於在所獲得的樣本數據的所述多段中的、除了那些被確定為具有異常值的數據的那些段的樣本數據的多段,來計算最大吞吐量。
在這種通信處理方法中,所述比特率設置步驟基於客戶機緩衝器的估計緩衝器的量的變化,設置比特率;以及在所估計的緩衝器的量大於或等於預定閾值時,在高達相應於由所述吞吐量計算器所計算的最大吞吐量的最大可允許比特率的上限的範圍內增大所述比特率。
而且,在這種通信處理裝置中,所述比特率設置步驟使用下列信息(a)到(d),通過根據表示為客戶機緩衝器的所估計的緩衝器的量=B_cli+D_serv-R*T的方程進行的計算,來估計所述客戶機緩衝器的量(a)在通信開始時所述客戶機報告的緩衝器的量B_cli,以字節表示;(b)自所述客戶機回放開始起所逝去的時間T,以秒表示;(c)在自所述客戶機回放開始起所逝去的時間T期間所述伺服器所傳輸的數據的量D_serv,以字節表示;以及(d)從所傳輸的內容可獲得的內容的回放速率R,以字節每秒表示。
在這種通信處理方法中,該通信處理方法還可以包括從作為與客戶機進行通信的媒介的存取點接收通信帶寬信息的步驟,該通信帶寬信息涉及該存取點和客戶機之間的通信帶寬。在這一情況下,所述比特率設置步驟基於所述通信帶寬信息設置傳輸比特率。
而且,在這種通信處理方法中,所述通信帶寬信息包括基於與往返時間、所接收的信號強度指示符、以及在所述存取點和所述客戶機之間的通信的傳輸速率中的至少之一有關的數據所生成的信息。
根據本發明的另一實施例,提供了一種用於傳輸數據的伺服器的通信處理方法。該通信處理方法包括下列步驟控制和確定傳輸給客戶機的數據的比特率;以及準備數據以便根據在所述速率控制步驟所確定的比特率進行傳輸。所述速率控制步驟包括下列步驟在所述伺服器和所述客戶機之間維持通信連接的周期內,限定基於連續傳輸的數據分組的接收間隔信息所計算的最大吞吐量;以及在高達相應於所述最大吞吐量的最大可允許比特率的範圍內設置傳輸比特率。
在這種通信處理方法中,所述速率控制步驟包括步驟在所述伺服器和所述客戶機之間維持通信連接的周期內,從所述客戶機接收連續傳輸的數據分組的接收間隔信息;並且基於所述接收間隔信息和所傳輸數據的量計算最大吞吐量。在這一情況下,所述比特率設置步驟在高達相應於在所述吞吐量計算步驟所計算的所述最大吞吐量的最大可允許比特率的範圍內設置傳輸比特率。
這種通信處理方法還包括連續地傳輸具有分組首部的分組,該分組首部的緊急標誌被設置成特定值,所述被設置成特定值的緊急標誌用作分組的標識信息,所述客戶機將採用該標識信息測量接收間隔。
在這種通信處理方法裝置中,所述比特率設置步驟基於客戶機緩衝器的估計緩衝器的量的變化,設置比特率;以及在所估計的緩衝器的量大於或等於預定閾值時,在高達相應於由所述吞吐量計算器所計算的最大吞吐量的最大可允許比特率的上限的範圍內增大所述比特率。
而且,在這種通信處理方法中,所述比特率設置步驟使用下列信息(a)到(d),通過根據表示為客戶機緩衝器的所估計的緩衝器的量=B_cli+D_serv-R*T的方程進行的計算,來估計所述客戶機緩衝器的量(a)在通信開始時所述客戶機報告的緩衝器的量B_cli,以字節表示;(b)自所述客戶機回放開始起所逝去的時間T,以秒表示;(c)在自所述客戶機回放開始起所逝去的時間T期間所述伺服器所傳輸的數據的量D_serv,以字節表示(d)從所傳輸的內容可獲得的內容的回放速率R,以字節每秒表示。
該通信處理方法還還包括從作為與客戶機進行通信的媒介的存取點接收通信帶寬信息的步驟,該通信帶寬信息涉及該存取點和客戶機之間的通信帶寬。在這一情況下,所述比特率設置步驟基於所述通信帶寬信息設置傳輸比特率。
在這種通信處理方法中,所述通信帶寬信息包括基於與往返時間、所接收的信號強度指示符、以及在所述存取點和所述客戶機之間的通信的傳輸速率中的至少之一有關的數據所生成的信息。
根據本發明的另一個實施例,提供了一種用於接收數據的客戶機的通信處理方法。該通信處理方法包括下列步驟根據包括在從伺服器所接收的分組中的標識信息,測量連續接收的分組的接收間隔;以及把代表在所述測量步驟中所測的所述分組接收間隔的分組接收間隔信息或基於所述接收間隔所計算的吞吐量信息傳輸給所述伺服器。
在這種通信處理方法中,所述分組間隔測量步驟根據包括在從所述伺服器所接收的分組中的分組首部的緊急標誌的設置,測量連續接收的分組的接收間隔。
通過以下參照附圖對各實施例的詳細描述,本發明的進一步的目的、特性以及優點,將會變得十分明顯。在本說明書中,系統指的是多個裝置的邏輯組合,而不管各構成裝置是否提供於同一殼體中。
根據本發明的某些實施例,基於與數據的連續傳輸和對接收確認的接收的周期相關的所測值,即基於與「有效數據傳輸與接收周期」相關的所測值,計算最大吞吐量,並且基於所述最大吞吐量控制傳輸比特率。即,基於不包括不實際貢獻於數據傳輸與接收的「無效數據傳輸與接收周期」的數據傳輸與接收周期,計算最大吞吐量,並且在高達相應於所述最大吞吐量的最大可允許比特率的上限的範圍內控制比特率。這允許在考慮實際傳輸速率的情況下,控制所述比特率。因此,可以在不過度地增大或減小比特率的情況下,在高達按其能夠可靠傳輸數據的最大可允許比特率的上限的範圍內傳輸數據。
另外,根據本發明的某些實施例,還基於在客戶機處所測的連續傳輸的分組的接收間隔,計算最大吞吐量,並且在高達相應於所述最大吞吐量的最大可允許比特率的上限的範圍內控制比特率。即,根據連續傳輸的分組的實際所測的接收間隔,計算最大吞吐量,並且在高達相應於所述最大吞吐量的最大可允許比特率的上限的範圍內控制比特率。這允許在考慮實際傳輸比特率的情況下,控制比特率。因此,可以在不過度地增大或減小比特率的情況下,在高達能夠按其可靠傳輸數據的最大可允許比特率的上限的範圍內傳輸數據。
而且,根據本發明的某些實施例,除了基於依照對所傳輸和所接收數據的實際測量所計算的最大吞吐量控制比特率之外,還基於與通過存取點(AP)所測的通信帶寬有關的通信帶寬信息控制比特率,該通信帶寬信息涉及存取點和客戶機之間的無線通信的通信帶寬,例如,往返時間、所接收的信號強度指示符、或傳輸速率。這允許對比特率進行控制,以立即適應無線通信狀態方面的變化。


圖1描述了針對本發明的實施例的網絡配置的實例;圖2是方框圖,描述了用作流數據的傳輸裝置和接收裝置的伺服器和客戶機;圖3描述了經由伺服器和客戶機之間所建立的TCP連接分布數據的過程的順序;圖4描述了根據窗口尺寸連續分布數據的過程;圖5是本發明的第一實施例中的伺服器所執行的過程的順序的流程圖;圖6用於解釋本發明的第一實施例中的比特率設置器所執行的處理;圖7是本發明的第一實施例中的比特率設置器所執行的過程的順序的流程圖;圖8是方框圖,描述了用作本發明的第二實施例中的流數據的傳輸裝置和接收裝置的伺服器和客戶機的配置;圖9用於解釋本發明的第二實施例中的伺服器和客戶機之間的數據傳輸和接收過程中所傳輸的、其中設置了緊急標誌的數據;圖10是本發明的第二實施例中的伺服器所執行的過程的順序的流程圖;圖11是本發明的第二實施例中的客戶機所執行的過程的流程圖;圖12用於解釋伺服器所執行的存取點(AP)發現順序;圖13是方框圖,描述了用作本發明的第三實施例中的傳輸裝置和接收裝置的伺服器和客戶機的配置;圖14用於解釋本發明的第三實施例中的比特率設置器所執行的過程的順序;圖15是本發明的第三實施例中的比特率設置器所執行的過程的順序的流程圖;圖16描述了伺服器、客戶機以及存取點的硬體配置的實例。
具體實施例方式
現在,將參照這些圖,描述根據本發明的實施例的通信處理裝置、數據通信系統以及通信處理方法。
首先,將參照圖1描述本發明的實施例的網絡配置的實例。例如,圖1中所示的網絡配置是家庭網絡配置,其中,經由網絡110把伺服器101連接於客戶機121~124。伺服器101用作內容分布裝置,其響應從各個客戶機裝置所傳輸的處理請求,進行處理。作為客戶機裝置的實例,圖1描述了個人計算機(PC)121和122、可攜式終端123以及回放裝置124。然而,也可以把各種其它類型的電子裝置和家庭電器設備作為客戶機裝置加以連接。
客戶機(可攜式終端)123和客戶機(回放裝置)124經由存取點(AP)131進行無線通信。客戶機121和122經由有線LAN與伺服器101進行通信。例如,客戶機(PC)121根據100base-TX標準進行通信,客戶機(PC)122根據100base-T標準與伺服器101進行通信。客戶機(可攜式終端)123和客戶機(回放裝置)124經由存取點(AP)131與伺服器101進行通信。存取點(AP)131和客戶機(可攜式終端)123根據IEEE 802.11b標準互相進行無線LAN通信。存取點(AP)131和客戶機(回放裝置)124根據IEEE 802.11g標準互相通信。
如以上所描述的,當與伺服器101進行通信時,例如,當從伺服器101接收視頻數據的分布時,客戶機121~124根據分別由客戶機121和124所支持的通信標準進行數據通信,並且分別按不同的比特率接收數據。例如,伺服器101響應來自客戶機的請求所執行的處理包括內容分布服務提供存儲在安裝於伺服器101上的某一存儲設備,例如硬碟或DVD中的內容,或者提供經由伺服器101的調諧器所接收的實況內容。
網絡110經由網絡100傳輸和接收通信分組,例如Ethernet幀。更具體地講,客戶機把Ethernet幀傳輸給伺服器101,該Ethernet幀包括其數據部分中的處理請求信息,以向伺服器101發出數據處理請求。響應所接收的處理請求幀,伺服器101執行數據處理,並且把結果存儲在通信分組中,然後把通信分組傳輸給客戶機。
伺服器101與客戶機121~124分別建立TCP(傳輸控制協議)連接,並且通過流數據分布傳輸例如包括視頻數據的多媒體數據。在本實施例中,經由TCP連接的從伺服器101到客戶機121~124的數據分布涉及動態比特率控制。
動態比特率控制包括下列步驟計算伺服器和各客戶機之間數據通信的最大吞吐量,並且控制比特率,以把相應於所計算的最大吞吐量的比特率設置為最大可允許比特率。現在,將詳細地描述動態比特率控制的實施例。
第一實施例圖2是方框圖,解釋了分布流數據的伺服器200和接收與回放流數據的客戶機300的功能。伺服器200和客戶機300建立TCP連接,並且互相通信。
伺服器200包括內容提供單元201,其中存儲了待傳輸的內容。內容提供單元201包括存儲設備,例如硬碟或DVD,或者具有用於從外部接收內容的調諧器功能。從內容提供單元201把將傳輸給客戶機300的內容輸入於數據處理器202。
數據處理器202執行用於生成待傳輸的數據的處理,例如編碼。在用於生成待傳輸的數據的處理過程中,根據動態速率控制器210所確定的比特率生成編碼的數據。作為選擇,也可以預先準備基於多個比特率的數據段,以致能夠從基於從這些多個比特率的數據段中選擇待傳輸的數據。
動態速率控制器210包括吞吐量計算器211和比特率設置器212。吞吐量計算器211監視伺服器的數據收發器204和客戶機的數據收發器301之間所進行的通信的狀態,並且根據監視結果計算吞吐量。比特率設置器212根據吞吐量計算器211所計算的吞吐量確定傳輸給客戶機300的數據傳輸的傳輸比特率,並且向數據處理器202報告這一比特率。以下,將詳細描述動態速率控制器210所執行的處理。
數據處理器202對數據進行編碼,以根據比特率設置器212所設置的比特率進行傳輸,或者根據比特率設置器212所設置的比特率選擇編碼的數據,並且把編碼的數據輸入於傳輸緩衝器203。數據收發器204把積累於傳輸緩衝器203中的數據(分組)經由與客戶機300所建立的TCP連接傳輸給客戶機300。
客戶機300經由數據收發器301從伺服器200接收流數據(分組),並且把數據存儲於接收緩衝器302中。回放處理器303順序地檢索存儲在接收緩衝器302中的數據,並且對這些數據進行解碼,例如,如果已經對這些數據進行了壓縮,則展開這些數據,或者,如果已經對這些數據進行了加密,則對這些數據進行解密,然後把解碼的數據輸出到輸出單元304,例如顯示器、揚聲器等。
圖3描述了伺服器和客戶機之間所執行的通信過程的順序。首先,在步驟S11中,在伺服器和客戶機之間建立TCP連接。然而,在步驟S12中,客戶機向伺服器報告緩衝器的量。可以將緩衝器的量的報告包括在建立TCP連接的過程中。
在本實施例中,在流的開始時,把接收流數據的客戶機的應用緩衝器的最大數量,即,提供用來接收流數據的應用緩衝器的最大數量,報告於伺服器。在圖2中,接收緩衝器302是接收流數據的客戶機的應用緩衝器,把接收緩衝器302的最大數量報告於伺服器。例如,當流數據符合HTTP時,客戶機在HTTP首部中報告應用緩衝器的量。伺服器把從客戶機報告的應用緩衝器的量用作在動態速率控制器210控制下增大或減少比特率的索引。以下將描述這一過程。客戶機僅在流的開始時向伺服器報告一次緩衝器的量報告於伺服器。
接下來,在步驟S13中,伺服器把流數據分布於客戶機。在傳輸流數據的這一過程中,圖2中所示的伺服器200的動態速率控制器210動態地控制傳輸比特率,以致將最佳比特率傳輸流數據。以下,將更具體地描述這一過程。當完成了所有流數據的傳輸時,在步驟S14中,關閉伺服器和客戶機之間的連接,然後退出該過程。
接下來,將參照圖4~6詳細地描述圖2中所示的伺服器200的動態速率控制器210所執行的控制傳輸數據的比特率的過程。首先,將參照4描述動態速率控制器210的吞吐量計算器211所執行的吞吐量計算過程。
圖4是更具體地描述圖3中所示的步驟S13中的數據傳送過程的順序圖。伺服器在TCP分組(TCP分段)中存儲流分布數據,並且把TCP分組傳輸給客戶機。在圖4中數據1~8代表所傳輸的各個分組。在TCP通信中,客戶機把接收確認(ack)傳輸給伺服器。在圖4中,ack1~ack4代表從客戶機傳輸給伺服器的接收確認。從客戶機傳輸給伺服器的接收確認(ack),不必與所有傳輸數據相關聯單個地從客戶機加以傳輸。當時間不允許時,客戶機可以抑制接收確認(ack)的傳輸。在圖4中,ack1為針對數據1和數據2的接收確認(ack),ack2為針對數據3和數據4的接收確認。
根據從客戶機到伺服器所提交的窗口尺寸,連續地把數據從伺服器傳輸給客戶機。在圖4中所示的例子中,連續地傳輸數據1~數據4。更具體地講,當伺服器傳輸分組時,從客戶機接收針對分組的接收確認,然後傳輸下分組,吞吐量減小,因此降低了數據傳輸的效率。
為了避免這種情況,確定代表可以立刻加以傳輸的一定數據量的窗口尺寸,並且根據該窗口尺寸,連續地傳輸分組。例如,當建立會話期時,把該窗口尺寸從客戶機報告於伺服器。即,把代表客戶機可以立刻接收的數據的數量的窗口尺寸報告於伺服器。伺服器連續地傳輸具有相應於該窗口尺寸的數據量的分組。另外,客戶機在從客戶機傳輸給伺服器的接收確認(ack)中報告更新的窗口尺寸,從而伺服器根據更新的窗口尺寸改變數據後續傳輸的數量。
當根據窗口尺寸傳輸數據時,從伺服器向客戶機的數據傳輸間歇地發生,如圖4中所示。例如,圖4中所示的周期A是數據的連續傳輸到接收到所連續傳輸的數據的最後認可(ack)的周期。
在圖4中,周期B是等待周期,即,從周期A的結束,即周期A中所傳輸的TCP數據集合的最後接收確認(ack)的接收時刻到下一TCP數據集合的傳輸開始的這段時間。周期C是在周期B之後的下一個TCP數據集合的傳輸和接收確認(ack)的接收的周期。
在迄今所使用的吞吐量計算方法中,一直的情況是通過把傳輸數據的數量除以傳輸時間,簡單地計算吞吐量。例如,對於圖3中所示的數據傳輸順序,一直的情況是通過下列公式計算周期A~C中的吞吐量吞吐量=(傳輸數據1~8的數量)/(周期A+B+C)。這一吞吐量計算方法未得到大於與從伺服器所傳輸的數據的數量相應的值的值。
然而,在TCP數據傳輸中,當對傳輸比特率進行控制,以致能夠按較高的比特率傳輸數據時,要確定最大可允許比特率,即可把比特率增加到何種程度。
在本實施例中,通過把所傳送數據的數量除以不包括圖4中的周期B的時間來,預測最大吞吐量,並且相應於最大吞吐量,確定最大可允許比特率。圖4中的周期B是其中伺服器不向客戶機傳輸數據的周期。當把周期B包括在對用於計算吞吐量的周期測量中時,在吞吐量的測量中涉及實際上不傳輸或接收數據的周期,從而把不對實際吞吐量做出貢獻的周期用於吞吐量的計算。即,當使用所包括的、其中不傳輸或接收數據的周期B計算最大吞吐量時,最大吞吐量減小。即,在這一情況下,TCP吞吐量的測量未得到大於或等於內容的比特率的值。
根據本實施例,吞吐量的計算基於不包括諸如周期B的無效數據傳輸與接收周期的周期。即,吞吐量的計算基於根據窗口尺寸的連續數據傳輸以及對其的接收確認(ack)的周期,例如圖4中所示的周期A和C。更具體地講,例如,如下計算吞吐量計算的多個樣本吞吐量計算的樣本1=(所傳輸數據1~4的數量)/(周期A+B-B)吞吐量計算的樣本2=(所傳輸數據5~8的數量)/(周期C+D-D)吞吐量計算的樣本n。然後,根據吞吐量計算的這些樣本計算最大吞吐量。在以上的方程中,D是出現在圖4中所示的周期C之後的、其中不傳輸數據的周期。
如以上所描述的,根據本實施例,僅把「有效數據傳輸與接收周期」,即其中傳輸連續數據和接收接收確認(ack)的周期,例如,圖4中所示的周期A和C,用於計算吞吐量的過程,而不把「無效數據傳輸與接收周期」,例如圖4中所示的周期B,用於計算吞吐量的過程。根據這一過程,僅把其中在TCP會話期中實際發生的數據傳輸和確認接收(ack)的有效周期用於計算吞吐量,從而可以測量真正的TCP最大吞吐量。
如以上所描述的,在TCP會話期中的數據分組的傳輸期間,根據窗口尺寸連續地傳輸數據。即,當客戶機方的窗口未滿時,可以在無需等待接收確認(ack)的情況下,連續地傳輸數據分組。因此,傳輸連續數據和接收接收確認(ack)的「有效數據傳輸與接收周期」,例如,圖4中所示的周期A或C,與「無效數據傳輸周期」,例如周期B,交替地出現。
將把傳輸連續數據和接收接收確認的「有效數據傳輸與接收周期」中,例如圖4中所示的周期A或C中所傳輸的TCP分組數據稱為「TCP數據集合」。與各TCP數據集合相關的有效數據傳輸與接收周期,受到窗口尺寸或瞬時阻塞的顯著影響。因此,值易於發生較大的變化,以致最大吞吐量的測量結果不穩定。在本實施例中,為了避免這一情況,如先前所描述的,如下計算用於吞吐量計算的多個樣本吞吐量計算的樣本1=(所傳輸數據1~4的數量)/(周期A+B-B)吞吐量計算的樣本2=(所傳輸數據5~8的數量)/(周期C+D-D)
吞吐量計算的樣本n。根據這些吞吐量計算的樣本,計算吞吐量,在吞吐量計算的樣本的數據中,把明顯不同於其它樣本數據的測量結果作為異常值加以排除。
將參照圖5中所示的流程圖,描述本實施例中圖2中所示伺服器的動態速率控制器210的吞吐量計算器211所執行的最大吞吐量計算過程的程式。吞吐量計算器211把從基於窗口尺寸的連續數據傳輸的開始到針對連續傳輸的數據的接收確認(ack)的接收的周期視為有效數據傳輸與接收周期,並且根據有效數據傳輸與接收周期的長度和所傳輸數據的數量計算最大吞吐量。圖5是流程圖,描述了其中伺服器200建立與客戶機的連接、進行通信以及關閉TCP連接的過程的程式。
首先,在步驟S101中,伺服器建立與將把流數據分布於其的客戶機的TCP連接。在建立這一連接時,伺服器從客戶機接收緩衝器的量(相應於窗口尺寸)的報告。
當在步驟S102中確定已從較上層應用接收到數據傳輸請求時,在步驟S103,伺服器開始TCP分段(分組)的傳輸,並且把傳輸開始時間Ts存儲在存儲器中。通過連續傳輸具有相應於先前從客戶機報告的窗口尺寸的數據量的分組,例如,圖4中所示周期A中的多個數據段,執行分組的傳輸。
在步驟S104中,伺服器檢查是否已從客戶機接收到接收確認(TCP ACK)。當尚未接收到接收確認(TCP ACK)時,在步驟S105中,伺服器檢查TCP傳輸窗口是否具有最大值(MAX),即,是否已傳輸了具有相應於窗口尺寸的數據量的分組。當尚未傳輸具有相應於窗口尺寸的數據量時,在步驟S106中,伺服器繼續TCP分組(段)的傳輸。
當TCP傳輸窗口具有最大值(MAX)時,即當傳輸了具有相應於窗口尺寸的數據量的分組時,伺服器等待接收確認。當在步驟S104中確定已接收到接收確認時,在步驟S107中,伺服器檢查是否接收到了與所傳輸的TCP段的最後分段相關的接收確認(TCP ACK),如果沒有接收到,則等待,直至接收到該接收確認。例如,與最後分段相關的接收確認(TCP ACK)為圖4中所示的周期A中的ack2。
當在步驟S107中確定已接收到與最後分段相關的接收確認(TCP ACK)時,在步驟S108中,伺服器存儲與最後分段相關的接收確認(TCP ACK)的接收時間Te。
接下來,在步驟S109中,伺服器計算用於吞吐量計算的樣本持續周期Tn=Te-Ts。通過圖2中所示的伺服器200的動態速率控制器210的吞吐量計算器211執行這一計算。Tn=Te-Ts表示有效數據傳輸與接收周期,即連續數據的傳輸和接收確認(ack)的接收的周期,例如,圖4中所示的周期C。
然後,在步驟S110中,伺服器檢查已測量的樣本數目n是否已變得大於或等於預定閾值Thn。當已測量的樣本數目n不大於或等於預定閾值Thn時,在步驟S111中,伺服器檢查是否繼續通信。當繼續通信時,過程返回到步驟S102,重複相繼的步驟,直至已測量的樣本數目n已變得大於或等於預定閾值Thn,從而可收集與吞吐量計算的樣本持續周期Tn=Te-Ts相關的樣本。即,收集與有效數據傳輸與接收周期,例如與圖4中所示的連續數據的傳輸與接收確認(ack)的接收的周期A和C相關的所測值的預先確定的數目。直至已測量的樣本數目n已變得大於或等於預定閾值Thn。
當在步驟S110中確定已測量的樣本數目n已變得大於或等於預定閾值Thn,在步驟S112中,在與吞吐量計算的持續周期T1~Tn相關的所測樣本中,將具有極端值的樣本作為異常值排除。接下來,在步驟S113中,僅使用與排除了異常值的吞吐量計算的樣本持續周期T1~Tn相關的數據,計算最大吞吐量。
在步驟S113中,根據下列方程計算最大吞吐量最大吞吐量=(∑(各有效數據傳輸與接收周期中所傳輸的數據的數量))/∑(各有效數據傳輸與接收周期))。
在上述方程中,∑(各有效數據傳輸與接收周期中所傳輸的數據的數量)和∑(各有效數據傳輸與接收周期)不包括與異常值相關的所傳輸數據的數量和周期。
在這一方式下,圖2中所示伺服器200的動態速率控制器210的吞吐量計算器211根據多個有效數據傳輸與接收周期的長度和傳輸數據量,計算最大吞吐量。這一過程中所計算的吞吐量不涉及圖4中所示的無效數據傳輸與接收周期B。吞吐量計算器211把計算為最大吞吐量的吞吐量輸入於圖2中所示的伺服器200的動態速率控制器210的比特率設置器212。
現在,將參照圖6和7描述比特率設置器212所執行的過程。參照圖6,比特率設置器212接收以上所描述的吞吐量計算器211所計算的最大吞吐量的輸入,估計客戶機的緩衝器的量以確定比特率,並且把傳輸數據比特率設置信息輸入於執行編碼或所編碼數據的選擇的數據處理器202。
比特率設置器212使用下列信息估計客戶機的緩衝器的量通信開始時,從客戶機報告的緩衝器的量B_cli(字節)自客戶機回放開始所逝去的時間T(秒)自客戶機回放開始所逝去的時間T期間從伺服器所傳輸的數據的數量D_serv(字節)可以從所傳輸的內容獲取的內容的回放速率R(字節/秒)當伺服器實際傳輸的數據的數量超過從客戶機報告的緩衝器的量B_cli時,伺服器可以識別客戶機處所傳輸內容的回放的開始。即,在內容回放開始之前,客戶機在相應於客戶機的緩衝器的量B_cli的緩衝器中累積數據,而且當伺服器已經傳輸了相應於該數量的數據時,伺服器認為客戶機緩衝器已滿,回放已經開始。
在客戶機處的內容回放開始時,客戶機的緩衝器的量為B_cli。當回放開始之後時間T逝去時,伺服器把具有數量D_serv(字節)的數據傳輸給客戶機,並且把所傳輸的數據累積在客戶機緩衝器中。客戶機回放具有數量R*T(字節)的數據,然後從客戶機緩衝器中刪除具有該數據量的數據。
根據數據的這樣的變化,伺服器把客戶機的當前緩衝器的量估計為B+D-R*T。在圖6中所示的緩衝器的量信息250所指示的0~MAX的範圍內表示上述所估計的緩衝器的量。MAX相應於客戶機緩衝器的量B_cli。比特率設置器212根據所估計的客戶機緩衝器的緩衝器的量的這樣的變化,確定比特率。當所估計的緩衝器的量大於或等於預定閾值時,在與吞吐量計算器211所計算的最大吞吐量相應的最大可允許比特率的上限的範圍內增大比特率。
現在,將參照圖7中所示的流程圖描述比特率設置器212所執行的過程的順序。在步驟S201中,比特率設置器212檢查緩衝器的量是否小於預定閾值Th1。此處的緩衝器的量指的是按以上所描述的方式所估計的緩衝器的量。當確定緩衝器的量小於預定閾值Th1時,在步驟S202中,比特率設置器212減小傳輸比特率。這出現在緩衝器的量處於圖6中所示的緩衝器的量信息250的範圍Ba中時。
在步驟S201中,當確定緩衝器的量不小於預定閾值Th1時,在步驟S203中,比特率設置器212檢查緩衝器的量是否大於預定閾值Th2。當緩衝器的量不大於預定閾值Th2時,過程返回至步驟S201。這出現在緩衝器的量處於圖6中所示的緩衝器的量信息250的範圍Bb中時。
當緩衝器的量大於預定閾值Th2時,在步驟S204中,比特率設置器212把當前傳輸數據比特率與在以上所描述的過程中所計算的最大吞吐量加以比較。噹噹前傳輸數據比特率小於相應於吞吐量計算器211所計算的最大吞吐量的比特率時,在步驟S205中,比特率設置器212增大傳輸比特率。然而,相應於吞吐量計算器211所計算的最大吞吐量的比特率,即最大可允許比特率,用作上限。在當前傳輸數據比特率等於相應於吞吐量計算器211所計算的最大吞吐量的最大可允許比特率時,過程返回到步驟S201,而且不改變比特率。這出現在緩衝器的量處於圖6中所示的緩衝器的量信息250的範圍Bc內時。
在繼續數據通信的同時,按照一段預先確定的周期重複先前參照圖5中所示的流程圖所描述的吞吐量計算過程,並且吞吐量計算器211連續地更新吞吐量,並且把所更新的吞吐量輸入於比特率設置器212。比特率設置器212重複圖7中所示的過程,以連續地根據相應於吞吐量計算器211所計算的最新最大吞吐量的最大可允許比特率,確定比特率。從而,可以根據網絡狀態,依照最大吞吐量控制比特率。
在本實施例中,如參照圖4所描述的,使用與「有效數據傳輸與接收周期」,即連續數據的傳輸與接收確認的接收的周期,例如圖4中所示的周期A和B相關的所測值,計算最大吞吐量,並且在相應於最大吞吐量的最大可允許比特率的上限的範圍內控制傳輸比特率。即,根據不包括諸如圖4中所示的周期B的不貢獻於數據傳輸與接收的無效數據傳輸與接收周期的有效數據傳輸與接收周期,計算最大吞吐量,並且在最高可達相應於所計算的最大吞吐量的最大可允許比特率的上限的範圍內控制比特率。根據本實施例,能夠在考慮實際傳輸速率的情況下,控制比特率。因此,可以在不過度地增大或減小比特率的情況下,在最高可達相應於按其能夠可靠傳輸數據的最大比特率的上限的範圍內傳輸數據。
第二實施例以下,將描述本發明的第二實施例。在第二實施例中,客戶機根據所接收的數據,計算吞吐量或用於計算吞吐量的值,伺服器根據所計算的值控制比特率。
圖8是方框圖,描述了第二實施例中分布流數據的伺服器200和接收與回放流數據的客戶機300的功能。通過建立TCP連接,實現伺服器200和客戶機300之間的通信。
與先前參照圖2所描述的第一實施例的配置相反,客戶機300包括分組間隔測量器305。其它部件與圖2中所示的相應部件大體上相同,但執行了不同的過程。以下的描述將主要針對與第一實施例不同的地方。
在第二實施例中,伺服器200的數據收發器204按預先確定的間隔,連續地傳輸具有被設置為ON(即1)的緊急標誌(URG標誌)的數據傳輸分組。當TCP分組中包括緊急數據時該緊急標誌通常被設置為ON(即1)在本實施例中,不管緊急數據存在還是不存在,都連續地傳輸其中緊急標誌被設置成ON(即1)的分組,以表示這些分組在客戶機處用於測量TCP分組的接收間隔。
現在,將參照圖9描述伺服器和客戶機之間所執行的數據通信順序。與第一實施例相類似,在第二實施例中,也在建立了連接之後,從伺服器向客戶機分布流數據。圖9中所示的數據通信順序描述了圖3中所示的步驟S13中的數據傳送過程。即在第一實施例的情況下所描述的數據傳送過程的細節。
在第二實施例中,如圖9中所示,伺服器按從數據1開始的次序向客戶機傳輸TCP分組。伺服器連續地傳輸其中緊急標誌被設置成ON(即1)的分組,在客戶機處將使用這些分組測量分組接收間隔。在圖9中,在TCP分組n和TCP分組n+1的首部中,把緊急標誌設置為ON(即1)。把其中緊急標誌被設置為ON(即1)的相繼的兩個分組用作用於吞吐量測量的一對分組。
當相繼接收到其中緊急標誌被設置為ON(即1)的兩個分組時,客戶機測量這兩個分組之間的接收間隔t。客戶機根據所測值計算吞吐量,並且向伺服器報告吞吐量。作為選擇,客戶機也可以把接收間隔數據t報告於伺服器,以致可以在伺服器處根據接收間隔數據t計算吞吐量。
伺服器相應於根據相繼分組的接收間隔數據t所計算的吞吐量而定義相最大吞吐量,並且在相應於最大吞吐量的最大可允許比特率的範圍內控制比特率。現在,將參照圖10和11描述第二實施例中的伺服器所執行的過程的順序和客戶機所執行的過程的順序。
首先,將參照圖10描述伺服器所執行的過程。圖10是流程圖,描述了處理流程,其中,伺服器200建立與客戶機的TCP連接、進行通信,以及關閉TCP連接。
首先,在步驟S301中,伺服器建立與將把流數據分布於其的客戶機的TCP連接。當在步驟S302中確定已接收了來自某一客戶機應用的數據傳輸請求時,在步驟S303中,伺服器啟動TCP分段(分組)的傳輸。
在步驟S304中,伺服器檢查是否向客戶機傳輸了用於吞吐量測量的一對分組。當將傳輸一對吞吐量分組時,在步驟S305中,伺服器生成其中緊急標誌被設置成ON(即1)的分組,並且相繼地傳輸該分組。當將傳輸的分組不是一對用於吞吐量計算的分組時,在步驟S306中,伺服器生成並傳輸其中緊急標誌被設置成OFF(即0)的分組。
當在步驟S307確定繼續通信時,重複步驟S302和相繼的步驟。當完成了通信時,過程前進到步驟S308,以關閉TCP連接,然後退出該過程。
接下來,將參照圖11所示的流程圖描述客戶機所執行的過程。圖11是流程圖,描述了流過程,其中,客戶機300建立與伺服器的TCP連接、進行通信,以及關閉TCP連接。
首先,在步驟S351中,客戶機建立與從其分布流數據的伺服器的TCP連接。在步驟S352中,客戶機接收從伺服器所傳輸的TCP分組。在步驟S353中,客戶機把TCP分組的接收時間存儲在存儲器中。
在步驟S354中,客戶機檢查是否所接收的分組的緊急標誌被設置成ON(即1)。當步驟S354結果為「否」時,過程返回到步驟S352。當步驟S354結果為「是」時,在步驟S355中,客戶機檢查緊在所接收的分組之前的分組的緊急標誌是否也被設置成ON(即1)。當步驟S355結果為「否」時,過程返回到步驟S352。當步驟S355結果為「是」時,在步驟S356中,客戶機計算其中緊急標誌被設置成ON(即1)的兩個分組的接收間隔t。由圖8中所示的客戶機300的分組間隔測量器305執行這一步驟。
在步驟S357中,根據下列方程,依照兩個相繼的分組的接收間隔t計算最大吞吐量最大吞吐量=(這對分組之後的數據的數量)/t也由分組間隔測量器305執行這一步驟。
在步驟S358中,客戶機判斷是否把所計算的信息反饋給伺服器。當確定不反饋所計算的信息時,在步驟S360中,客戶機檢查是否繼續通信。當繼續通信時,過程返回到步驟S352,並且重複相繼的步驟。當在步驟S358中確定反饋所計算的吞吐量信息時,在步驟S259中,把所計算的信息或接收間隔信息傳輸給伺服器。
在步驟S359之後,在步驟S360中,檢查是否繼續通信。當繼續通信時,過程返回到步驟S352,並且重複相繼的步驟。當在步驟S360中確定已完成通信時,在步驟S361中,關閉TCP連接。
在以上所描述的情況下,當接收到其中緊急標誌被設置成ON(即1)的兩個相繼的分組時,客戶機測量這兩個分組的接收間隔t,根據所測值計算吞吐量,並且把吞吐量報告於伺服器。作為選擇,客戶機也可以把接收間隔數據t報告於伺服器,以致可以在伺服器處根據接收間隔數據t計算吞吐量。在這一情況下,客戶機不需要執行步驟S357。
在伺服器處,當從客戶機所接收的信息為接收間隔數據t時,伺服器的吞吐量計算器211根據與以上所描述的情況中的同樣的吞吐量計算方程,依照接收間隔數據t,計算最大吞吐量,即吞吐量=(這對分組的總數據量/2)/t伺服器處的比特率設置器212把從客戶機所接收的吞吐量或伺服器的吞吐量計算器211根據從客戶機所接收的接收間隔數據t所計算的吞吐量,作為最大吞吐量,輸入於比特率設置器212。
比特率設置器212所執行的過程與先前在第一實施例的情況下參照圖7所描述的比特率控制過程相同。在這一過程中,也根據實際傳輸的相繼分組的接收間隔計算最大吞吐量。即,通過排除不貢獻於數據傳輸與接收的「無效數據傳輸與接收周期」,例如先前參考圖4描述的周期B,計算最大吞吐量,並且在相應於所計算最大吞吐量的最大可允許比特率的上限的範圍內控制傳輸比特率。因此,在第二實施例中,也依照與根據實際被連續地傳輸的分組的測量結果所確定的最大吞吐量相應的最大可允許比特率控制比特率。從而,可以在考慮實際傳輸速率的情況下控制比特率,因此能夠在不過度地增大或減小比特率的情況下,在最高可達相應於按其能夠可靠傳輸數據的最大比特率的上限的範圍內傳輸數據。
第三實施例以下,將描述第三實施例,其中,根據存取點(AP)所獲得的信息,控制比特率。
在圖1中所示的網絡配置中,客戶機(可攜式終端)123和客戶機(回放裝置)124經由存取點(AP)131執行與伺服器101的通信。
當經由存取點(AP)把流數據分布於客戶機時,伺服器必須首先執行用於發現伺服器和客戶機之間的最佳存取點(AP)的過程。將參照圖12描述這一AP發現過程。
首先,在啟動流之前,在步驟S401中,執行流分布的伺服器200廣播「AP發現消息」,該「AP發現消息」包括伺服器200本身的MAC地址和子網絡中流數據的目的地處的客戶機123的MAC地址。
連接於某一LAN的所有存取點(AP)接收已經廣播的「AP發現消息」。在圖12中,描述了兩個存取點400a和400b,即,存取點a(APa)和存取點b(APb)。當從伺服器200接收到「AP發現消息」時,在步驟S402中,存取點(AP)400a和400b中每個均參考其自己的無線相關列表,以檢查具有包括在「AP發現消息」中的客戶機MAC地址的結點是否存在於無線鏈路中。
當具有該MAC地址的結點存在於該相關列表中時,AP認識到AP本身處於正在發生的流的一條通信路徑上。不管具有該MAC地址的結點是否存在於該相關列表中,AP都丟棄「AP發現消息」,而不將其傳送於無線鏈路。
當認出AP處於流的一條通信路徑上時,在步驟S403中,在圖12中所示的例子中,存取點400a(APa)向伺服器200單播「AP發現答覆消息」,該「AP發現答覆消息」包括存取點400a(APa)本身的MAC地址以及伺服器200和客戶機123的MAC地址。這允許伺服器200認知一條無線鏈路(瓶頸)存在於待執行的流的路徑上。當認知AP不處於正在發生的流的路徑上時,AP不傳輸「AP發現答覆消息」。
在這一方式下,允許分布流數據的伺服器和位於一條通信路徑上的存取點(AP)互相找到對方的MAC地址。這允許伺服器和該存取點(AP)之間的通信(例如,從AP到伺服器的無線鏈路信息的報告)。當把相關MAC地址從該存取點(AP)本身的相關列表刪除時,例如,由於接收流數據的客戶機的移動或斷電,該存取點(AP)停止向伺服器報告無線信息。
另外,在流期間以及在流的開始時,伺服器還有規律地傳輸「AP發現消息」,以致甚至是當在各AP之間遞交流客戶機時也可維持流。更具體地講,當出現流客戶機的遞交時,當通過流客戶機所存取的新的AP接收到「AP發現消息」時,該AP把「AP發現答覆消息」返回至伺服器,並且啟動對無線鏈路狀態的報告。把流客戶機的MAC地址從遞交發生前曾被存取的AP的相關列表中刪除,然後該AP停止向伺服器報告無線鏈路信息。
當從存取點(AP)到伺服器的報告基於較上層(IP層)的消息,而不是層2(數據鏈路層)的消息時,把IP位址以及MAC地址包括在「AP發現消息」和「AP發現答覆消息」中。取代「AP發現答覆消息」,存取點(AP)也可以立即報告無線鏈路信息。
通過以上所描述的AP發現過程,配置流分布中所涉及的伺服器、存取點(AP)以及客戶機之間的關係。在第三實施例中,執行流分布的伺服器根據流分布的路徑上的存取點(AP)所獲得的信息,控制比特率。
現在,將參照圖13描述第三實施例中分布流數據的伺服器200、接收和回放流數據的客戶機300以及存在於流的路徑上的存取點(AP)400的功能。伺服器200和客戶機300通過經由存取點(AP)400建立TCP連接,進行通信。
伺服器200和客戶機300的配置與參照圖2所描述的第一實施例中的相同。但伺服器200所執行的過程不同,如圖13中所示,存取點(AP)400包括數據收發器401、通信帶寬監視器402以及通信帶寬信息生成器403。
在存取點(AP)400中,通信帶寬監視器402監視諸往返時間(RTT)、所接收的信號強度指示符(RSSI)以及如無線通信鏈路的層2(數據鏈路層)中的傳輸速率等值。RTT指的是從分組自存取點(AP)400的傳輸到來自客戶機的答覆的接收所需的時間。有規律地執行存取點(AP)400的通信帶寬監視器402的監視操作。
當需要向伺服器報告時,通信帶寬信息生成器403處理通信帶寬監視器402所獲得的信息。例如,這一數據處理涉及加權平均或標準偏差的計算。針對每一值,例如RTT、RSSI以及傳輸速率計算加權平均或標準偏差,以生成將報告於伺服器的值。經由數據收發器401和通信網絡,把通信帶寬信息生成器403所生成的數據報告於伺服器200。
伺服器200的數據收發器204接收從存取點(AP)400傳輸給伺服器200的通信帶寬信息,並且將其輸入於動態速率控制器210的比特率設置器212。比特率設置器212根據檢查算法,分析從存取點(AP)400所獲得的通信帶寬信息。當確定將減小流數據的比特率時,比特率設置器212立即減小比特率。
例如,檢查算法涉及把從存取點(AP)400所獲得的通信帶寬信息與比特率設置器212中所持有的閾值加以比較。更具體地講,例如,當包括在從存取點(AP)400所接收的通信帶寬信息中的參數,例如RTT、RSSI以及傳輸速率的加權平均或標準偏差,接連超過比特率設置器212中所持有的相應閾值N倍時,減小比特率。多次進行與該閾值的比較,以防止無意義地減小比特率,例如,當這些參數僅偶然一次超過相應的閾值時。
將參照圖14和15描述第三實施例中比特率設置器212所執行的過程。在第三實施例中,通過根據第一或第二實施例的吞吐量計算過程的組合,控制比特率。參照圖14,比特率設置器212接收根據第一或第二實施例的過程所計算的最大吞吐量的輸入,並且還接收從存取點(AP)400所獲得的通信帶寬信息,即參數,例如存取點和客戶機之間的無線通信的RTT、RSSI以及傳輸速率的加權平均或標準偏差。另外,比特率設置器212還執行先前所描述的估計客戶機緩衝器的量的過程,以確定比特率,並且把傳輸比特率設置信息輸入於執行編碼或對所編碼的數據加以選擇的數據處理器202。如圖14中緩衝器的量信息250所指示的,比特率設置器212所獲得的所估計的客戶機緩衝器的量在0~MAX的範圍內。
現在,將參照圖15中所示的流程圖,描述比特率設置器212所執行的過程的順序。在步驟S501中,比特率設置器212檢查是否已從存取點(AP)400輸入了通信帶寬信息。通信帶寬信息指諸如RTT、RSSI以及傳輸速率等參數。當在步驟S501中確定已從存取點(AP)400輸入了通信帶寬信息時,在步驟S502,比特率設置器212分析從存取點(AP)400所輸入的通信帶寬信息。
例如,步驟S502中分析涉及把從存取點(AP)400所獲得的通信帶寬信息與比特率設置器212所持有的閾值加以比較,如先前所描述的。例如,把從存取點(AP)400所獲得的參數,例如,基站與客戶機之間的無線通信的RTT、RSSI以及傳輸速率的加權平均或標準偏差,與比特率設置器212所持有的閾值加以比較。
在步驟S503中,根據步驟S502中的分析結果,檢查是否要減小傳輸比特率。當確定要減小傳輸比特率時,在步驟S504中,比特率設置器212減小傳輸比特率。而且,在步驟S505中,比特率設置器212還根據步驟S502中的分析結果,檢查是否增大比特率。當確定能夠增大比特率時,在步驟S506中,比特率設置器212增大比特率。然而,不允許把比特率增至相應於吞吐量計算器211所計算的最大吞吐量的最大可允許比特率的上限之上。這一上限為與第一和第二實施例的上下文中描述的由吞吐量計算器211或客戶機所計算的最大吞吐量相應的最大可允許比特率。
在步驟S503和S504中,根據對從存取點(AP)400所獲得的通信帶寬信息的分析,檢查是否減小或增大傳輸比特率,在此過程中如先前描述的,當通過多次連續地把從存取點(AP)400所獲得的參數,例如,存取點與客戶機之間的無線通信的RTT、RSSI以及傳輸速率的加權平均或標準偏差,與比特率設置器212所持有的閾值加以比較,觀察到類似的結果時,比特率設置器212確定應改變比特率。
例如,當存取點和客戶機之間的無線通信的RTT維持為長於針對某一周期的閾值a時,減小傳輸速率。當把存取點和客戶機之間的無線通信的RTT維持為短於針對某一周期的閾值b時,增大傳輸速率。當把存取點和客戶機之間的無線通信的所接收的信號強度指示符(RSSI)維持為高於針對某一周期的閾值c時,增大傳輸速率。當把RSSI維持為低於針對某一周期的閾值d時,減小傳輸速率。當把存取點和客戶機之間的無線通信的比特率維持為低於針對某一周期的閾值e時,減小傳輸速率。當把存取點和客戶機之間的無線通信的比特率維持為高於針對某一周期的閾值f時,增大傳輸速率。
在步驟S507~S509中,根據所估計的緩衝器的量控制比特率,類似於第一實施例。更具體地講,在步驟S507中,比特率設置器212檢查緩衝器的量是否小於預先確定的吞吐量Th1。當確定緩衝器的量小於預先確定的吞吐量Th1時,在步驟S504中,減小傳輸比特率。當緩衝器的量處於圖14中所示的緩衝器的量信息250的範圍Ba內時,執行這一步驟。
在步驟S507中,當確定緩衝器的量不小於預先確定的吞吐量Th1時,在步驟S508中,比特率設置器212檢查緩衝器的量是否大於預先確定的吞吐量Th2。當確定緩衝器的量大於預先確定的吞吐量Th2時,過程返回到步驟S501。當緩衝器的量處於圖6中所示的緩衝器的量信息250的範圍Bb內時,執行這一步驟。
當確定緩衝器的量大於預先確定的吞吐量Th2時,在步驟S506中,把傳輸數據的當前比特率與相應於通過根據第一實施例的過程由吞吐量計算器211所計算的最大吞吐量,或者通過根據第二實施例的過程由客戶機或吞吐量計算器211所計算的最大吞吐量的最大可允許比特率加以比較。當傳輸數據的當前比特率小於相應於最大吞吐量的最大可允許比特率時,在步驟S506中,增加傳輸數據的比特率。但不允許把比特率增至最大可允許比特率之上。當傳輸數據的當前比特率等於相應於最大吞吐量的最大可允許比特率時,過程返回到步驟S501而不改變比特率。這出現在緩衝器的量處於圖14中所示的緩衝器的量信息250的範圍Bc內時。
在第三實施例中,除了依照通過根據第一或第二實施例的吞吐量計算過程所計算的最大吞吐量控制比特率外,還根據表示存取點(AP)所測參數的通信帶寬信息控制比特率,例如,其中的參數為存取點與客戶機之間的無線通信的RTT、RSSI以及傳輸速率。這允許根據無線通信的通信狀態方面的變化控制比特率。而且,與第一和第二實施例相類似,把根據有效數據傳輸接收周期所計算的吞吐量用作最大吞吐量。從而,能夠在考慮實際傳輸速率的情況下,控制比特率。因此,能夠在不過度增大或減小比特率的情況下,在最高可達可按其可靠傳輸數據的最大比特率的上限的範圍內傳輸數據。
當根據存取點(AP)所測的存取點和客戶機之間的無線通信的通信帶寬信息確定難以維持伺服器和客戶機之間的流數據的分布時,伺服器或存取點(AP)可以通知客戶機其已變得難以維持流數據的分布。在這一情況下,客戶機把通知顯示在顯示器上,告訴用戶其已變得難以維持數據分布。從而,用戶能夠採取適當的措施,例如,把客戶機終端更靠近存取點(AP)加以放置,或者停止導致問題出現的設備的運行,例如停止微波爐的運行。
伺服器、存取點(AP)以及客戶機的硬體配置實例以下,將參照圖16描述伺服器、存取點(AP)以及客戶機的硬體配置的實例。如參照圖1所描述的,可以使用各種設備實現伺服器和客戶機。圖16描述了伺服器、存取點(AP)以及客戶機的硬體配置的實例。
將描述圖16中所示的硬體配置。中央處理器(CPU)501根據存儲在只讀存儲器(ROM)502中或諸如硬碟驅動器(HDD)的記錄媒體514的程序,執行各個過程,以致其能夠用作數據處理器或通信控制器。當需要時,隨機存取存儲器(RAM)存儲CPU 501所執行的程序或數據。經由一條總線521把CPU 501、ROM 502以及RAM 503互相連接。
把總線521連接於輸入/輸出接口522。把輸入/輸出接口522連接於用戶操作的輸入單元511,例如鍵盤、轉換器、按鈕、定位設備、或者滑鼠器,並且將其連接於用於向用戶提交各種信息的輸出單元,例如液晶顯示器、陰極射線管顯示器、或者揚聲器。另外,還把輸入/輸出接口522連接於用作數據收發器的通信單元506,並且將其連接於驅動器513,驅動器513從安裝在其上的記錄媒體514讀取數據,或者把數據寫至記錄媒體514,例如記錄媒體514可以為磁碟、光碟、磁光碟、或者半導體存儲器。然而,不必須把輸入單元511、輸出單元512、驅動器513以及記錄媒體514等提供於存取點(AP)中,只要提供足以允許進行各種設置的部件即可。
圖16中所示的配置為可以用作經由圖1中所示的網絡連接的伺服器、存取點(AP)以及客戶機裝置的實例。然而,由於沒有對圖16中所示的配置加以限制,所以可以把各種電子裝置和信息處理裝置連接於網絡。這些設備可以獨自地擁有其專門的硬體配置。
已針對具體的實施例詳細地描述了本發明。然而,顯然,對於這一技術領域中的熟練技術人員來說,可以在不脫離本發明的構思的情況下,對本發明進行更新或變更。即,已通過舉例的方式公開了本發明,但不應認為本發明局限於這些實施例。本發明的範圍應根據權利要求加以確定。
可以通過硬體、軟體或硬體與軟體的組合,執行以上所描述的這一系列過程。當通過軟體執行這一系列過程時,執行定義了處理順序的程序,即通過把該程序安裝在嵌入於能夠執行各個過程的專用硬體中的計算機的存儲器中或通用計算機上,執行這一程序。
例如,可以把該程序記錄在諸如硬碟或只讀存儲器(ROM)的記錄媒體中。作為選擇,也可以臨時或永久性地把該程序存儲(記錄)在諸如軟盤、緊緻盤只讀存儲器(CD-ROM)、磁光(MO)盤、數字通用盤(DVD)、磁碟、或者半導體存儲器的可移動記錄媒體上。可以按所謂包裝軟體的形式提供這樣的可移動媒體。
取代從可移動記錄媒體到計算機安裝該程序的方式,也可以經由諸如區域網(LAN)或Internet等網絡,以從下載網點到計算機的方式無線地傳送該程序,以致計算機能夠接收所傳輸的程序,並且把該程序安裝在諸如硬碟的記錄媒體上。
不必按所描述的次序順序地執行此處所描述的各個過程,當需要時,可以並行地或獨立地、或根據執行這些過程的裝置的處理能力,執行此處所描述的各種過程。本說明書中的系統指的是多個裝置的邏輯組合,而不管各構成部件是否提供於同一包裝中。
本發明包含與2005年3月28日日本專利局所歸檔的日本專利申請JP2005-092452相關的主題,特將該專利申請的全部內容併入此處,以作參考。
權利要求
1.一種通信處理裝置,作為用於向客戶機傳輸數據的伺服器,該通信處理裝置包括數據收發器,被配置來執行與客戶機的通信;速率控制器,被配置來控制和確定被傳輸給客戶機的數據的比特率;以及數據處理器,被配置來準備數據以便根據所述速率控制器所確定的比特率進行傳輸;其中,所述速率控制器包括吞吐量計算器,被配置來抽取不包括無效數據傳輸與接收周期的有效數據傳輸與接收周期,所述有效和無效數據傳輸與接收周期出現於其間在伺服器和客戶機之間維持了通信連接的周期內,並且該吞吐量計算器被配置來基於有效數據傳輸與接收周期的長度和所傳輸數據量計算最大吞吐量;以及比特率設置器,被配置來在高達相應於由所述吞吐量計算器所計算的最大吞吐量的最大可允許比特率的範圍內設置傳輸比特率。
2.根據權利要求1所述的通信處理裝置,其中,所述吞吐量計算器被配置成限定有效數據傳輸與接收周期,該有效數據傳輸與接收周期與從基於窗口尺寸開始連續數據傳輸到接收到該連續傳輸的數據的收到確認的周期相對應;以及基於所述有效數據傳輸與接收周期的長度和所傳輸的數據量計算最大吞吐量。
3.根據權利要求1所述的通信處理裝置,其中,所述吞吐量計算器被配置成限定有效數據傳輸與接收周期,該有效數據傳輸與接收周期與從基於窗口尺寸開始連續數據傳輸到接收到該連續傳輸的數據的收到確認的周期相對應;獲得與多個有效數據傳輸與接收周期相關樣本數據的多段;以及基於在所獲得的樣本數據的所述多段中的、排除了那些被確定為具有異常值的數據的那些段的樣本數據的多段,來計算最大吞吐量。
4.根據權利要求1所述的通信處理裝置,其中,所述比特率設置器配置成基於客戶機緩衝器的估計緩衝器的量的變化,設置比特率;以及在所估計的緩衝器的量大於或等於預定閾值時,在高達相應於由所述吞吐量計算器所計算的最大吞吐量的最大可允許比特率的上限的範圍內增大所述比特率。
5.根據權利要求4所述的通信處理裝置,其中,所述比特率設置器配置成使用下列信息(a)到(d),通過根據表示為客戶機緩衝器的所估計的緩衝器的量=B_cli+D_serv-R*T的方程進行的計算,來估計所述客戶機緩衝器的量(a)在通信開始時所述客戶機報告的緩衝器的量B_cli,以字節表示;(b)自所述客戶機回放開始起所逝去的時間T,以秒表示;(c)在自所述客戶機回放開始起所逝去的時間T期間所述伺服器所傳輸的數據的量D_serv,以字節表示;以及(d)從所傳輸的內容可獲得的內容的回放速率R,以字節每秒表示。
6.根據權利要求1所述的通信處理裝置,其中,所述數據收發器配置成從作為用於與客戶機進行通信的媒介的存取點接收通信帶寬信息,所述通信帶寬信息涉及所述存取點和所述客戶機之間的通信帶寬,以及其中,所述比特率設置器配置成基於通信帶寬信息設置傳輸比特率。
7.根據權利要求6所述的通信處理裝置,其中,所述通信帶寬包括基於與往返時間、所接收的信號強度指示符、以及在所述存取點和所述客戶機之間的通信的傳輸速率中的至少之一有關的數據所生成的信息。
8.一種通信處理裝置,作為用於向客戶機傳輸數據的伺服器,該通信處理裝置包括數據收發器,被配置來執行與所述客戶機的通信;速率控制器,被配置來控制和確定被傳輸給所述客戶機的數據的比特率;以及數據處理器,被配置來準備數據以便按照由所述速率控制器所確定的比特率進行傳輸;其中,所述速率控制器包括比特率設置器,該比特率設置器被配置成限定基於在其間所述伺服器和所述客戶機之間維持通信連接的周期內連續傳輸的數據分組的接收間隔信息所計算的最大吞吐量;以及在高達與所述最大吞吐量相應的最大可允許比特率的範圍內設置傳輸比特率。
9.根據權利要求8所述的通信處理裝置,其中,所述速率控制器包括吞吐量計算器,該吞吐量計算器被配置成從所述客戶機接收在伺服器和客戶機之間維持通信連接的周期內連續傳輸的數據分組的接收間隔信息;並且基於所述接收間隔信息和所傳輸的數據量計算最大吞吐量,以及其中,所述比特率設置器被配置成在高達相應於由所述吞吐量計算器所計算的所述最大吞吐量的最大可允許比特率的範圍內設置傳輸比特率。
10.根據權利要求8所述的通信處理裝置,其中,所述數據收發器配置成連續地傳輸具有被設置成某一特定值的緊急標誌的分組首部的分組,被設置成該特定值的所述緊急標誌用作下述分組的標識信息,客戶機將採用該標識信息測量接收間隔。
11.根據權利要求8所述的通信處理裝置,其中,所述比特率設置器被配置成基於客戶機緩衝器的估計的緩衝器的量的變化設置比特率,而且當所估計的緩衝器的量大於或等於預定閾值時,在高達相應於由所述吞吐量計算器所計算的所述最大吞吐量的所述最大可允許比特率的上限的範圍內增大所述比特率。
12.根據權利要求11所述的通信處理裝置,其中,所述比特率設置器配置成通過使用下列信息(a)到(d),根據表示為所述客戶機緩衝器的所估計的緩衝器的量=B_cli+D_serv-R*T的方程進行計算,來估計所述客戶機緩衝器的量(a)在通信開始時所述客戶機報告的緩衝器的量B_cli,以字節表示;(b)自所述客戶機回放開始起所逝去的時間T,以秒表示;(c)在自所述客戶機回放開始起所逝去的時間T期間所述伺服器所傳輸的數據的量D_serv,以字節表示;以及(d)從所傳輸的內容可獲得的內容的回放速率R,以字節每秒表示。
13.根據權利要求8所述的通信處理裝置,其中,所述數據收發器配置成從作為用於與客戶機進行通信的媒介的存取點接收通信帶寬信息,所述通信帶寬信息涉及所述存取點和所述客戶機之間的通信帶寬,以及其中,所述比特率設置器配置成基於通信帶寬信息設置傳輸比特率。
14.根據權利要求13所述的通信處理裝置,其中,所述通信帶寬包括基於與往返時間、所接收的信號強度指示符、以及在所述存取點和所述客戶機之間的通信的傳輸速率中的至少之一有關的數據所生成的信息。
15.一種通信處理裝置,用作從伺服器接收數據的客戶機,該通信處理裝置包括數據收發器,被配置來執行與伺服器的通信;以及分組間隔測量器,被配置來測量從所述伺服器所接收的數據分組的接收間隔;其中,所述分組間隔測量器被配置成根據包括在從伺服器所接收的分組中的標識信息,測量連續接收的分組的接收間隔;並且經由數據收發器,把代表所述接收間隔的接收間隔信息或基於所述接收間隔所計算的吞吐量信息傳輸給所述伺服器。
16.根據權利要求15所述的通信處理裝置,其中,所述分組間隔測量器被配置成根據包括在從所述伺服器所接收的所述分組中的分組首部的緊急標誌的設置,測量連續接收的分組的接收間隔。
17.一種包括傳輸和接收數據的伺服器和客戶機的數據通信系統,其中,所述客戶機配置成根據包括在從所述伺服器所接收的分組中的標識信息,測量連續接收的分組的接收間隔;並且把代表所述接收間隔的接收間隔信息或基於所述接收間隔所計算的吞吐量信息傳輸給所述伺服器,以及其中,所述伺服器被配置成在高達相應於基於從客戶機所接收的吞吐量信息或接收間隔信息所計算的最大吞吐量的最大可允許比特率的範圍內,設置傳輸比特率;並且根據所述傳輸比特率把數據傳輸給所述客戶機。
18.根據權利要求17所述的數據通信系統,其中,所述伺服器被配置成從作為與客戶機進行通信的媒介的存取點接收通信帶寬信息,所述通信帶寬信息涉及所述存取點和所述客戶機之間的通信帶寬;並且基於所述通信帶寬信息確定傳輸比特率。
19.一種傳輸數據的伺服器的通信處理方法,所述通信處理方法包括下列步驟控制和確定傳輸給客戶機的數據的比特率;以及準備數據以便根據在所述速率控制步驟所確定的所述比特率進行傳輸;其中,所述速率控制步驟包括下列步驟抽取不包括無效數據傳輸與接收周期的有效數據傳輸與接收周期,所述有效和無效數據傳輸與接收周期出現在所述伺服器和所述客戶機之間維持通信連接的周期內;並且基於所述有效數據傳輸與接收周期的長度和所傳輸數據的量來計算最大吞吐量;以及在高達相應於在所述吞吐量計算步驟所計算的所述最大吞吐量的最大可允許比特率的範圍內設置傳輸比特率。
20.根據權利要求19所述的通信處理方法,其中,所述吞吐量計算步驟限定有效數據傳輸與接收周期,該有效數據傳輸與接收周期與從基於窗口尺寸開始連續數據傳輸到接收到該連續傳輸的數據的收到確認的周期相對應;並且基於所述有效數據傳輸與接收周期的長度和所傳輸數據的量計算最大吞吐量。
21.根據權利要求19所述的通信處理方法,其中,所述吞吐量計算步驟限定有效數據傳輸與接收周期,該有效數據傳輸與接收周期與從基於窗口尺寸開始連續數據傳輸到接收到該連續傳輸的數據的收到確認的周期相對應;獲得與多個有效數據傳輸與接收周期相關樣本數據的多段;以及基於在所獲得的樣本數據的所述多段中的、排除了那些被確定為具有異常值的數據的那些段的樣本數據的多段,來計算最大吞吐量。
22.根據權利要求19所述的通信處理方法,其中,所述比特率設置步驟基於客戶機緩衝器的估計緩衝器的量的變化,設置比特率;以及在所估計的緩衝器的量大於或等於預定閾值時,在高達相應於在所述吞吐量計算步驟中所計算的最大吞吐量的最大可允許比特率的上限的範圍內增大所述比特率。
23.根據權利要求22所述的通信處理方法,其中,所述比特率設置步驟使用下列信息(a)到(d),通過根據表示為客戶機緩衝器的所估計的緩衝器的量=B_cli+D_serv-R*T的方程進行的計算,來估計所述客戶機緩衝器的量(a)在通信開始時所述客戶機報告的緩衝器的量B_cli,以字節表示;(b)自所述客戶機回放開始起所逝去的時間T,以秒表示;(c)在自所述客戶機回放開始起所逝去的時間T期間所述伺服器所傳輸的數據的量D_serv,以字節表示;以及(d)從所傳輸的內容可獲得的內容的回放速率R,以字節每秒表示。
24.根據權利要求19所述的通信處理方法,其中,還包括從作為與客戶機進行通信的媒介的存取點接收通信帶寬信息的步驟,該通信帶寬信息涉及該存取點和客戶機之間的通信帶寬;其中,所述比特率設置步驟基於所述通信帶寬信息設置傳輸比特率。
25.根據權利要求24所述的通信處理方法,其中,所述通信帶寬信息包括基於與往返時間、所接收的信號強度指示符、以及在所述存取點和所述客戶機之間的通信的傳輸速率中的至少之一有關的數據所生成的信息。
26.一種用於傳輸數據的伺服器的通信處理方法,該通信處理方法包括下列步驟控制和確定傳輸給客戶機的數據的比特率;以及準備數據以便根據在所述速率控制步驟所確定的比特率進行傳輸;其中,所述速率控制步驟包括下列步驟限定基於在其間所述伺服器和所述客戶機之間維持通信連接的周期內連續傳輸的數據分組的接收間隔信息所計算的最大吞吐量;以及在高達與所述最大吞吐量相應的最大可允許比特率的範圍內設置傳輸比特率。
27.根據權利要求26所述的通信處理方法,其中,所述速率控制器包括吞吐量計算器,該吞吐量計算器被配置成從所述客戶機接收在伺服器和客戶機之間維持通信連接的周期內連續傳輸的數據分組的接收間隔信息;並且基於所述接收間隔信息和所傳輸的數據量計算最大吞吐量,以及其中,所述比特率設置器被配置成在高達相應於由所述吞吐量計算器所計算的所述最大吞吐量的最大可允許比特率的範圍內設置傳輸比特率。
28.根據權利要求26所述的通信處理方法,還包括步驟連續地傳輸具有分組首部的分組,該分組首部的緊急標誌被設置成特定值,所述被設置成特定值的緊急標誌用作分組的標識信息,所述客戶機將採用該標識信息測量接收間隔。
29.根據權利要求26所述的通信處理方法,其中,所述比特率設置步驟基於客戶機緩衝器的估計緩衝器的量的變化,設置比特率;以及在所估計的緩衝器的量大於或等於預定閾值時,在高達相應於由所述吞吐量計算器所計算的最大吞吐量的最大可允許比特率的上限的範圍內增大所述比特率。
30.根據權利要求29所述的通信處理方法,其中,所述比特率設置步驟使用下列信息(a)到(d),通過根據表示為客戶機緩衝器的所估計的緩衝器的量=B_cli+D_serv-R*T的方程進行的計算,來估計所述客戶機緩衝器的量(a)在通信開始時所述客戶機報告的緩衝器的量B_cli,以字節表示;(b)自所述客戶機回放開始起所逝去的時間T,以秒表示;(c)在自所述客戶機回放開始起所逝去的時間T期間所述伺服器所傳輸的數據的量D_serv,以字節表示;以及(e)從所傳輸的內容可獲得的內容的回放速率R,以字節每秒表示。
31.根據權利要求26所述的通信處理方法,還包括從作為與客戶機進行通信的媒介的存取點接收通信帶寬信息的步驟,該通信帶寬信息涉及該存取點和客戶機之間的通信帶寬。其中,所述比特率設置步驟基於所述通信帶寬信息設置傳輸比特率。
32.根據權利要求31所述的通信處理方法,其中,所述通信帶寬信息包括基於與往返時間、所接收的信號強度指示符、以及在所述存取點和所述客戶機之間的通信的傳輸速率中的至少之一有關的數據所生成的信息。
33.一種用於接收數據的客戶機的通信處理方法,該通信處理方法包括下列步驟根據包括在從伺服器所接收的分組中的標識信息,測量連續接收的分組的接收間隔;以及把代表在所述測量步驟中所測的所述分組接收間隔的分組接收間隔信息或基於所述接收間隔所計算的吞吐量信息傳輸給所述伺服器。
34.根據權利要求33所述的通信處理方法,其中,所述分組間隔測量步驟根據包括在從所述伺服器所接收的分組中的分組首部的緊急標誌的設置,測量連續接收的分組的接收間隔。
全文摘要
一種用作向客戶機傳輸數據的伺服器的通信處理裝置,包括數據收發器,被配置來執行與客戶機的通信;速率控制器,被配置來控制傳輸給客戶機的數據的比特率;以及數據處理器,被配置來根據比特率準備待傳輸的數據。速率控制器包括吞吐量計算器,被配置來在其間在伺服器和客戶機之間維持了通信連接的周期內,抽取不包括無效數據傳輸與接收周期的有效數據傳輸與接收周期,而且吞吐量計算器的配置還旨在根據有效數據傳輸與接收周期的長度和所傳輸數據的數量計算最大吞吐量;以及比特率設置器,被配置來在最高可達相應於吞吐量計算器所計算的最大吞吐量的最大可允許比特率的範圍內設置比特率。
文檔編號H04L29/06GK1841984SQ20061007145
公開日2006年10月4日 申請日期2006年3月28日 優先權日2005年3月28日
發明者小川晃通, 五十嵐卓也, 舌間一宏, 見山成志 申請人:索尼株式會社

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀