1374632 六、發明說明: 【發明所屬之技術領域】 本發明係有關於頻寬估計,尤有關於一種應用於一通 訊網路中之頻寬估計與修正方法與系統。 . 【先前技術】 目前的技術令多媒體内容可經由不同媒體(例如,電 視/廣播之電波、纜線與光纖)在多種不同通訊環境(例如, $ 無線網路、第3代網路(3G)、Wi-Fi網路以及網際網路。) 中傳送。為了估計與效能及品質相關的網路參數,已經建 立了數種不同的模式。上述網路參數包括網路路徑之有效 頻寬、傳輸延遲以及資料傳輸率。然而,因為封包遺失率、 網路擁塞與客戶行動力的時變本質.(Time-varying Nature) 的關係,通訊環境可能會變的複雜且快速轉變,以致於難 以決定上述網路參數。 傳統上係利用一模型來估計通訊網路的有效頻寬。在 φ 該模型中,可利用在客戶終端的偵測模組來決定頻寬,其 在第一時間點ΙΊ時發送一要求訊息(封包)給一伺服器, 並且在第二時間點T2時自該伺服器接收一回應訊息(封 包)。因此,頻寬可利用公式(1)計算而得: bw = rpsizj(t2-t1)……(1), • 其中w表示為頻寬,而為該響應封包(Response • Packet)的大小。然而,網路狀況(例如,網路擁塞)並 無法單獨由封包傳輸時間來判定。當計算頻寬時,亦需要 考慮其它變數,例如,封包遺失率與客戶端接收之實際封 1374632 • ^大J舉例來5兑’在相對不穩定的無線網路中,封包的 封i來回時間(RTT)會收到動態變化的影響其可能會 因為異常的封包來回時間(RTT)(例如,猝發(Burst) _包來回時間)導致不正確的頻寬計算。因此,因為缺 夕正確的機制’使得公式(1)表示之該模型產生錯誤估計。 另模型係使用探測封包(Probing Packet 的方 .^來估計未使用的頻寬量或有效頻寬 。在該模型中,計算 每一探測的單向延遲時間(〇ne Way Delay,〇WD)。接 鲁者°十开單向延遲時間趨勢(〇ne Way Delay Trend, . OWDT) ’並且用以判斷一探測封包的傳輸率是否大於實 際有效頻寬。單向延遲時間與單向延遲時間趨勢可利用公 式(2A)與(2B)來決定: 〇WD = Ta-Ts+ClockOffset......(2A), OWDT = OWDi - OWDiA......(2B), 其中7;表示探測封包抵達接收端的時間,ι表示發送端 發送探測封包的時間,而C/〇dQ拆表示發送端與接收端間之 • 系統時脈偏移。 由於單向延遲時間趨勢表示二個連續封包(例如,第i 個封包的OfTZ),與第i-1個封包的η,如公式(2B所示)) 之單向延遲時間值間的差,故在減去單向延遲時間值後可 消除系統時脈偏移。因此,發送端與接收端間的同步並非 本模型考慮的問題。當單向延遲時間趨勢增加時,頻寬估 • 算的上限(以位元組/每秒(bps )量測)會下降。另一方 面,當單向延遲時間趨勢減少時,頻寬估算的上限(以位 元組/每秒量測)會上升。當頻寬估算的上限與下限間距離 1374632 小於一預設值時,藉由一近似方法,可該頻寬估算發生收 斂。舉例來說,頻寬估算可視為上限與下限的平均值。然 而,若單向延遲時間趨勢對頻寬估算來說,使用近似方法 不足以發生收斂,則會錯誤估計有效頻寬。舉例來說,量 測時間不夠或偵測到的封包數不足。 • 另一模型使用濾波器來估計有效頻寬。在該模型中, 根據深測封包的封包來回時間,並且利用利用一卡門 (Kalman )濾波器與公式(3 A)與(3B)來預測延遲與有效頻 • 寬:1374632 VI. Description of the Invention: [Technical Field] The present invention relates to bandwidth estimation, and more particularly to a bandwidth estimation and correction method and system for use in a communication network. [Prior Art] Current technology enables multimedia content to be used in a variety of different communication environments via different media (eg, TV/broadcast radio, cable and fiber) (eg, wireless network, 3rd generation network (3G)) , Wi-Fi network and Internet.) Transfer. Several different modes have been established to estimate network parameters related to performance and quality. The above network parameters include the effective bandwidth of the network path, the transmission delay, and the data transmission rate. However, because of the packet loss rate, network congestion, and the time-varying nature of customer mobility, the communication environment can become complex and rapidly changing, making it difficult to determine the above network parameters. A model is traditionally used to estimate the effective bandwidth of a communication network. In the φ model, the detection module of the client terminal can be used to determine the bandwidth, which sends a request message (packet) to a server at the first time point, and at the second time point T2. The server receives a response message (packet). Therefore, the bandwidth can be calculated using equation (1): bw = rpsizj(t2-t1) (1), • where w is expressed as the bandwidth and is the size of the response packet (Response • Packet). However, network conditions (e.g., network congestion) cannot be determined solely by packet transmission time. When calculating the bandwidth, other variables need to be considered, for example, the packet loss rate and the actual receipt received by the client are 1374632 • ^ large J for example. 5 In a relatively unstable wireless network, the packet's envelope is back and forth. (RTT) will receive the impact of dynamic changes that may result in incorrect bandwidth calculations due to abnormal packet round trip time (RTT) (for example, Burst _ packet round trip time). Therefore, because of the lack of correct mechanism, the model represented by equation (1) produces an erroneous estimate. The other model uses the probing packet (the Probing Packet's square.^) to estimate the unused bandwidth or effective bandwidth. In this model, the one-way delay time (〇ne Way Delay, 〇WD) for each probe is calculated. It is used to determine whether the transmission rate of a detection packet is greater than the actual effective bandwidth. The one-way delay time and the one-way delay time trend can be used to determine whether the transmission rate of a detection packet is greater than the actual effective bandwidth. Use equations (2A) and (2B) to determine: 〇WD = Ta-Ts+ClockOffset...(2A), OWDT = OWDi - OWDiA...(2B), where 7; When the packet arrives at the receiving end, ι indicates the time at which the transmitting end sends the probe packet, and C/〇dQ split indicates the system clock offset between the transmitting end and the receiving end. Since the one-way delay time trend indicates two consecutive packets (for example , the difference between the one-way delay time value of the ith packet of the i-th packet and the η of the i-th packet, as shown in the formula (2B), so the system can be eliminated after subtracting the one-way delay time value Clock offset. Therefore, synchronization between the sender and the receiver is not an issue considered by this model. As the one-way delay time trend increases, the upper limit of the bandwidth estimate (measured in bytes per second (bps)) decreases. On the other hand, when the one-way delay time trend decreases, the upper limit of the bandwidth estimate (measured in bits/seconds) increases. When the distance between the upper and lower limits of the bandwidth estimation is 1374632 is less than a predetermined value, the bandwidth estimation can be converged by an approximation method. For example, the bandwidth estimate can be considered as the average of the upper and lower limits. However, if the one-way delay time trend is not sufficient for convergence estimation for bandwidth estimation, the effective bandwidth will be incorrectly estimated. For example, the measurement time is not enough or the number of detected packets is insufficient. • Another model uses a filter to estimate the effective bandwidth. In this model, based on the packet round-trip time of the deep-test packet, and using a Kalman filter and equations (3 A) and (3B) to predict the delay and effective frequency • width:
Xek=[L, \/BW]T......(3A), Χ^φΧΙλ+Κ[ζ,- HXek]……(3B) ’ 其中π表示在時間點λ:的估算,z表示延遲,表示 頻寬,7表示矩陣的轉置運算子(Transpose Operator ),沴 表示狀態轉換矩陣/7, ",Q表示封包來回時間量測,//表 示量測矩陣,而尺表示估算錯誤共方差(Q)與量測錯誤 共方差(R)的函數。Q與R可為常數。 • 卡門濾波器累計歷史資訊,例如封包資訊或擁塞資 訊,並且當估算頻寬時通常會參照歷史資訊。然而,當發 生會話交遞(Session Handoff)時,網路特性會改變。然 而,歷史資訊中的參考材料並不會隨著目前的網路特性而 更新,故可能因此導致錯誤的估算。 ' 因此,本發明提供了一種應用於一通訊網路中之頻寬 • 估計與修正方法與系統,可改善多媒體通訊網路的頻寬估 算。 【發明内容】 1374632 本發明實施例揭露了一種應用於一通訊網路中之頻寬 估計與修正方法。計算一組封包中之每一封包之一封包來 回時間(RTT)值與一封包遺失率(PLR)值,其中該組封 包係經由該通訊網路由一伺服器中之不同位置(Point)及 時傳送至一客戶終端。根據該等封包來回時間值與封包遺 失率值決定該組封包之一頻寬估計,根據該等封包來回時 間值與封包遺失率值決定該組封包之一頻寬量測,並且根 據該頻寬估計與該頻寬量測決定一修正頻寬估計。 本發明實施例更揭露了一種應用於一通訊網路中之頻 寬估計與修正系統,包括一網路分析模組(Network Analysis Module )、一 頻寬估計模組(Bandwidth Estimation Module )、一 頻寬量測模組(Bandwidth Measurement Module )與一估計錯誤修正模組(Estimation-Error Correction Module )。該網路分析模組計算一組封包中之 每一封包之一封包來回時間(RTT )值與一封包遺失率值* 其中該組封包係經由該通訊網路由一伺服器中之不同位置 (Point)及時傳送至一客戶終端。該頻寬估計模組根據該 等封包來回時間值與封包遺失率值決定該組封包之一頻寬 估計。該頻寬量測模組根據該等封包來回時間值與封包遺 失率值決定該組封包之一頻寬量測。該估計錯誤修正模組 根據該頻寬估計與該頻寬量測決定一修正頻寬估計。 【實施方式】 為了讓本發明之目的、特徵、及優點能更明顯易懂, 下文特舉實施例,並配合所附圖式第1圖至第3圖,做詳 細之說明。本發明說明書提供不同的實施例來說明本發明 [s] 7 1374632 不同只%方式的技術特徵。其中,實施例中的各元件之配 £,為4明之用’並非用以限制本發明。且實施例中圖式 標號之部分重複’係為了簡化說明,並非意指不同實施例 之間的關聯性。 本發明實施例揭露了 一種應用於一通訊網路中之頻寬 估計與修正方法與系統。Xek=[L, \/BW]T...(3A), Χ^φΧΙλ+Κ[ζ,- HXek]...(3B) ' where π denotes an estimate at time λ:, z denotes Delay, indicating the bandwidth, 7 indicates the Transpose Operator of the matrix, 沴 indicates the state transition matrix /7, ", Q indicates the packet back and forth time measurement, // indicates the measurement matrix, and the ruler indicates the estimation error The function of the covariance (R) of the covariance (Q) and the measurement error. Q and R can be constant. • The Kalman filter accumulates historical information, such as packet information or congestion information, and often refers to historical information when estimating bandwidth. However, when a session handoff occurs, the network characteristics change. However, reference materials in historical information are not updated with current network characteristics and may therefore lead to erroneous estimates. Thus, the present invention provides a bandwidth estimation and correction method and system for use in a communication network that improves the bandwidth estimation of a multimedia communication network. SUMMARY OF THE INVENTION 1374632 Embodiments of the present invention disclose a bandwidth estimation and correction method applied to a communication network. Calculating a packet round-trip time (RTT) value and a packet loss rate (PLR) value for each of a set of packets, wherein the set of packets is routed to a different point in the server via the communication network to the time point A client terminal. Determining a bandwidth estimate of the group of packets according to the packet back and forth time value and the packet loss rate value, and determining a bandwidth measurement of the group of packets according to the packet back and forth time value and the packet loss rate value, and according to the bandwidth Estimation and the bandwidth measurement determine a modified bandwidth estimate. Embodiments of the present invention further disclose a bandwidth estimation and correction system applied to a communication network, including a Network Analysis Module, a Bandwidth Estimation Module, and a bandwidth. The Bandwidth Measurement Module and the Estimation-Error Correction Module. The network analysis module calculates a packet round-trip time (RTT) value and a packet loss rate value for each of a set of packets. The group of packets routes a different point in a server via the communication network. Delivered to a client terminal in a timely manner. The bandwidth estimation module determines a bandwidth estimate of the group of packets based on the packet back and forth time value and the packet loss rate value. The bandwidth measurement module determines a bandwidth measurement of the group of packets according to the packet back and forth time value and the packet loss rate value. The estimated error correction module determines a corrected bandwidth estimate based on the bandwidth estimate and the bandwidth measurement. DETAILED DESCRIPTION OF THE INVENTION In order to make the objects, features, and advantages of the present invention more comprehensible, the following detailed description of the embodiments of the invention, The present specification provides various embodiments to illustrate the technical features of the different % mode of the present invention [s] 7 1374632. It is to be understood that the various components in the embodiments are used for the purpose of limiting the invention. In the embodiment, the portions of the drawings are repeated for the sake of simplicity of the description, and are not intended to be related to the different embodiments. Embodiments of the present invention disclose a bandwidth estimation and correction method and system for use in a communication network.
第1圖係顯示頻寬估計之網路通訊系統1〇〇的示意 圖^主意到,圖中所示之個別不同功能單元或其組合可 以硬體、由一或多個硬體元件(例如,一或多個處理器, 在-或多個應用特定積體電路,或其它類似的元件)執行 之軟體或以上任何組合來實作。 通訊系統100包括一通訊伺服器110與一客戶終端 13〇 ’其中通訊伺服器110與客戶終端13〇經由通訊網路 120相互連結。客戶終端13〇可包括一個人電腦、一桌上 型電腦、一個人數位助理或任何可支援網路通訊的電子裝 置。 I訊網路120包括無線網路、無線區域網路、第3代 網路(3G)、WiMax網路或其它適用的網路。伺服器ιι〇 由通訊網路120傳送資料封包給客戶終端13〇,且之後自 客戶終端130接收訊息,例如,實時傳輸控制協定1 is a schematic diagram showing a network communication system for bandwidth estimation. It is to be understood that the various different functional units shown in the figures, or a combination thereof, may be hardware, by one or more hardware components (eg, one Or a plurality of processors, software implemented in - or a plurality of application specific integrated circuits, or other similar components, or any combination of the above. The communication system 100 includes a communication server 110 and a client terminal 13'', wherein the communication server 110 and the client terminal 13 are connected to each other via a communication network 120. The client terminal 13A can include a personal computer, a desktop computer, a number of assistants, or any electronic device that can support network communications. The I-network 120 includes a wireless network, a wireless local area network, a 3rd generation network (3G), a WiMax network, or other suitable network. The server ιι〇 transmits the data packet to the client terminal 13 via the communication network 120, and then receives the message from the client terminal 130, for example, a real-time transmission control protocol.
Transmission Control Protoco卜以下簡稱為 RTcp (Reply)。 ;警應 第2圖係顯示本發明實施例之應用於一通訊 頻免估计與修正糸統的架構示意圖。伺服器1 1 〇勹中之 頻寬估計模組210、一頻寬量測模組22〇 一估 括一 °丨錯誤修正 8 1374632 模組 230、一 速率決定模組(Rate_decision M〇duie ) 240 與 一網路分析模組250。伺服器110的模組可以軟體或硬體 方式來實作。考慮到運作速度,以硬體方式來實作較為有 益,而若考慮到設計複雜到,則以軟體方式來實作較為有 利。在一實施例中,伺服器110的模組可整合至一鞅 路或晶片中’其可建置在—基站或可提供存取客戶終端電〇 之中繼站中。 、响13〇 網路分析模組25〇經由通關路12()傳 客戶終端130以及接收回覆的訊息,例如,RTCI^:給 息。;RTCP響應訊息可為回報訊息,其包括 /訊 13〇、量測(例如,當資料封包抵達時)、接上戶終端 已使用緩衝區的大小之資訊。換句話說,RTCp ^數以及 有關通訊㈣12〇中已知通道之狀胃應訊息 料封包可自祠服器110傳送至客戶終端二貝訊’使得資 如第2圖所示,_ :定模組240。網路分析模組25〇可將4=與迷率 服器傳送之母一資料封冑0♦戳與用以對伺 戶終端130。對於伺服器丨^碩進行編號之序列増加至客 Rtcp響應訊息,網败:10自客戶終端13〇接收之每〜 算對應由词服器11〇傳刀送^模組250利用公式(4)與(5)’計 包來回時間與封包遺失:戶終端130之資料封包的封 Rn = Trc-Tu......(4), A 式(4)與(5)如下所示: .· . ·(5), 其中L為客戶終端 接收到已知響應封包的時間, 9 1374632 I/x為伺服器110傳送已知響應封包的時間,^^為客戶終 端130每單位時間接收之資料封包(以位元組計算)的數 目,而為伺服器110每單位時間傳送之資料封包(以位 元組計算)的數目。 以下舉一範圍說明利用公式(4)與(5)來計算封包來回 • 時間與封包遺失率。給定一初始傳輸時間,2007年5月16 . 日00:00:00,其中伺服器110開始傳送資料封包給客戶終 端130,以及2007年5月16日00:00:01,其中伺服器110 φ 自客戶終端130接收響應封包,則封包來回時間之計算表 示為: i?7T = (2007.5.16,00 :00 : 01) - (2007.5.16,00 :00: 00) = 1 sec。 此外,給定一組封包,其依序由伺服器110傳送且編 號為1、2、3、4、5,且由客戶終端130接收之封包編號 為卜3、4、5,故封包遺失率為: 爾=1-(4/5) = 0.2 0 如第2圖所示,頻寬估計模組210耦接於網路分析模 • 組250。頻寬估計模組210用以接收來自網路分析模組250 之每一接收資料封包的封包來回時間資訊,並且估計通訊 網路120的擁塞狀態。頻寬估計模組210亦耦接於估計錯 誤修正模組230與速率決定模組240。自頻寬估計模組210 取得之頻寬估計可被估計錯誤修正模組230重新細分,如 ' 下所述。速率決定模組240亦可利用自頻寬估計模組210 • 取得之頻寬估計以決定傳輸速率,如下所述。 在一實施例中,頻寬估計模組210利用公式(6)來決定 頻寬估計,公式(6)表示為: 1 S3 10 1374632 BW(t) = BW(/ -1) x RTT) /(N +1)]RTT)1N] * 其中等於時間點f的頻寬估計(以位元組表示), "為時間點的後驗頻寬估計(posteri〇ri Bandwidth Estimate),而# 為滑動時間視窗(Sliding Time Window) 的大小。 滑動時間視窗#的大小可利用伺服器110來調整,並 且可設定為接近30秒。然而,當發生超過一預定頻率的交 遞(Handoff)台或網路擁塞超過一預設值^#可能大於Transmission Control Protoco is hereinafter referred to as RTcp (Reply). The police diagram 2 shows a schematic diagram of an architecture applied to a communication frequency estimation and correction system according to an embodiment of the present invention. The bandwidth estimation module 210 and the bandwidth measurement module 22 of the server 1 1 are estimated to be one degree error correction 8 1374632 module 230, a rate determination module (Rate_decision M〇duie) 240 And a network analysis module 250. The modules of the server 110 can be implemented in a software or hardware manner. Considering the speed of operation, it is more beneficial to implement it in a hardware manner, and if the design is complicated, it is more advantageous to implement it in a software manner. In one embodiment, the modules of server 110 may be integrated into a network or chip 'which may be built in a base station or a relay station that provides access to the client terminal. The network analysis module 25 transmits the client terminal 130 via the customs gateway 12 () and receives the reply message, for example, RTCI^: the message. The RTCP response message can be a return message, which includes information, such as measurement, (for example, when the data packet arrives), and the size of the buffer used by the terminal. In other words, the RTCp^ number and the information about the known channel in the communication (4) 12〇 can be transmitted from the server 110 to the client terminal 2 Beixun', as shown in Figure 2, _: fixed mode Group 240. The network analysis module 25 can seal the parenthet data transmitted by the 4= with the server to the server terminal 130. The serial number of the server is added to the guest Rtcp response message, and the network is defeated: 10 is received from the client terminal 13〇, and the corresponding calculation is performed by the word server 11〇送送^ module 250 using the formula (4) And (5) 'package round-trip time and packet loss: the data packet of the household terminal 130 is sealed Rn = Trc-Tu......(4), A formulas (4) and (5) are as follows: · (5), where L is the time when the client terminal receives the known response packet, 9 1374632 I/x is the time when the server 110 transmits the known response packet, and ^^ is the data received by the client terminal 130 per unit time. The number of packets (calculated in bytes) and the number of data packets (calculated in bytes) transmitted by the server 110 per unit time. The following is a range of explanations using equations (4) and (5) to calculate the packet back and forth • time and packet loss rate. Given an initial transmission time, May 16, 2007, 00:00:00, where the server 110 begins transmitting data packets to the client terminal 130, and on May 16, 2007, 00:00:01, where the server 110 φ Receives a response packet from the client terminal 130, and the calculation of the packet back and forth time is expressed as: i?7T = (2007.5.16, 00:00: 01) - (2007.5.16, 00:00: 00) = 1 sec. In addition, given a set of packets, which are sequentially transmitted by the server 110 and numbered 1, 2, 3, 4, 5, and the packet number received by the client terminal 130 is 3, 4, 5, the packet loss rate is For example, as shown in FIG. 2, the bandwidth estimation module 210 is coupled to the network analysis module group 250. The bandwidth estimation module 210 is configured to receive packet round-trip time information from each of the received data packets of the network analysis module 250, and estimate the congestion status of the communication network 120. The bandwidth estimation module 210 is also coupled to the estimated error correction module 230 and the rate determination module 240. The bandwidth estimate obtained from the bandwidth estimation module 210 can be subdivided by the estimated error correction module 230, as described below. The rate decision module 240 can also utilize the bandwidth estimate obtained from the bandwidth estimation module 210 to determine the transmission rate, as described below. In one embodiment, the bandwidth estimation module 210 determines the bandwidth estimate using equation (6). Equation (6) is expressed as: 1 S3 10 1374632 BW(t) = BW(/ -1) x RTT) /( N +1)]RTT)1N] * where is equal to the bandwidth estimate of time point f (in bytes), " is the posteri〇ri Bandwidth Estimate of time points, and # is sliding The size of the Sliding Time Window. The size of the sliding time window # can be adjusted by the server 110 and can be set to be close to 30 seconds. However, when a handover occurs more than a predetermined frequency (Handoff) or the network congestion exceeds a preset value ^# may be greater than
30秒。通訊網路120在時間^時之初始頻寬估計係視網 路類型而定。舉例來說,對於3G網路、區域網路與無線 網路來說’初始頻寬估計分別接近384 Kbps、3 Mbps與130 seconds. The initial bandwidth estimate of the communication network 120 at time ^ depends on the type of network. For example, for 3G networks, regional networks, and wireless networks, the initial bandwidth estimates are close to 384 Kbps, 3 Mbps, and 1 respectively.
Mbps。在公式(6)中,後驗頻寬估計可參照時間點卜"的頻 寬估計’其在時間點^=…之目前頻寬估計之前。時間點> " 的頻寬估计為最新的頻寬估計,且可表示網路特性。然而, 右^^網路12G的通道狀況穩定,則在時間點ρ _取關於 目則^間點之頻I*估計反而可做為後驗頻寬項。在該 範例中’公式(6)可重寫為公式(6Α): [(Σ:Γ)/(#+i)]/[(f1/?7T)/Ari......(6A)。 熟習此技藝的人士知道若頻寬估計與在前一估算取得 之封包來回時間在目前頻寬估算中是有用 的話,則可將公 式(6)以其它形式表現。 hi A(6)所示’頻寬估計可為滑動時間視窗#之大小 的函數^且因此可產生一估計錯誤共方差(Covariance) ρ。 包H:6)之封包來回時間平均的計算可以轉換矩陣* 來表/、可視為有效頻寬的狀態轉換’即有效頻寬的趨 IS] 1374632 勢’如公式(6B)所示: Φ = [(Σ:Γ^ΤΤ)!{Ν+1)]/[(Σ;:ΓRTT)/N)……(6N)。 由於狀態轉換可根據平均封包來回時間值計算, 態轉換的結果會相對的平穩。舉例來說,藉由平=狀 回時間值,可預防因為網路狀況而發生狀態轉換發散^ 如’猝發(Burst)的封包來回時間。 . 仏 乂 1 s丨异无驗錯誤 (priori-error)共方差p-(t),其參照至在時間點(之目^頻Mbps. In equation (6), the posterior bandwidth estimate can be referenced to the time point" bandwidth estimate' before the current bandwidth estimate of the time point ^=.... The bandwidth of the time point >" is estimated to be the latest bandwidth estimate and can represent the network characteristics. However, if the channel condition of the right network 12G is stable, the frequency I* estimate at the time point ρ_ with respect to the target point can be used as the posterior bandwidth term. In this example, 'formula (6) can be rewritten as formula (6Α): [(Σ:Γ)/(#+i)]/[(f1/?7T)/Ari......(6A) . Those skilled in the art will recognize that Equation (6) can be expressed in other forms if the bandwidth estimate is useful in estimating the current bandwidth of the packet obtained from the previous estimate. The 'bandwidth estimate' shown by hi A(6) can be a function of the size of the sliding time window # and thus an estimated error covariance ρ can be generated. Packet H:6) packet round-trip time average calculation can be converted matrix * to table /, can be regarded as the effective bandwidth of the state transition 'that is the effective bandwidth trend IS] 1374632 potential ' as shown in formula (6B): Φ = [(Σ:Γ^ΤΤ)!{Ν+1)]/[(Σ;:ΓRTT)/N)......(6N). Since the state transition can be calculated based on the average packet back and forth time value, the result of the state transition will be relatively stable. For example, by flattening the time value, it is possible to prevent state transitions due to network conditions, such as the burst time of the Burst packet.仏 乂 1 s strange error (priori-error) covariance p-(t), which is referenced to the time point
寬估計之前取得的錯誤共方差。該先驗錯誤共方差可以公 式⑺: ρ-(ί) = φ'2ρ+(ί-ΐ) + ρ' 其中表示為先驗錯誤共方差,其係參照至在時間 點W之頻寬估計之前取得的錯誤共方差。在一實施例中, 頻寬估計模組21G包括—卡門濾波器,其係用以計算變數 户(0 ’但其並非用以限制本發明。 如第2圖所示,頻寬量測模组22〇輕接於網路分析模 組250與估計錯誤修正模组23〇。頻寬量測模組,用以 接收來自網路分析模組25G之每—f料封包的封包來回時 間與封包遺鮮。㈣频馳,可彻公 有效頻寬,其表示為: BW = {RPslze / RTT) X (1 - Plr^......⑻, 其中仏,表示為資料封包的大小,其係以位元組計 算。 封包遺失可能㈣於網路狀況,例如無線網路之擁塞 或不良的連線品質,因而產生—量測錯誤共方^,。如第 m 12 1374632 2圖所示,估計錯誤修正模組230耦接於網路分析模組 250、頻寬估計模組210與頻寬量測模組220。估計錯誤修 正模組230接收來自頻寬估計模組210與頻寬量測模組220 的頻寬資訊,且更決定正確的頻寬估計。利用一修正增益 (Correction Gain )(例如,卡門增益(Kalman Gain )) 來修正頻寬估計。卡門增益可利用公式(9)來決定,其表示 為: K = p-(t)/(p-(t) + R')……(9), 其中iT表示為量測錯誤共生差。公式(7)中之估計錯誤 共生差y與公式(9)中之量測錯誤共生差7Γ係分別定義在 公式(10)與(11): Q' = \(BWe-Nrc)\/Nrc> 0<Q'<\ ……(10), R'=\(BWm-Nrc)\/Nrc, 0<R'<1 ……(11), 其中,係表示頻寬估計(以bps計算),Λ^·係表示 接收之資料封包(以bps計算),而係表示頻寬量測(以 bps計算)。修正後的頻寬估計5%係由公式(12)決定: BWc=BWe+(KxBWm-BWe)......(12)。 因此,公式(12)中的”(尤><5%-5%)··表示頻寬估計的修正 量。一般來說,iT (反比於尺)比0小。接著,後驗錯誤 共生差,(0係由公式(13)決定: P+(t) = p-(t)[\-K]……(13)。 當客戶終端130發生交遞時,網路特性可能發生重大 的改變。因此,網路分析模組250提供之封包來回時間將 變的不可靠。在一實施例中,當發生交遞時,將一第一預 設值(例如,1)指定給估計錯誤共生差以及將一第二 13 1374632 預設值(例如,0)指定給量測錯誤共生差及、同樣的,若 RTCP響應封包遺失了,網路分析模組250在一時間週内 無法接收網路特性資訊。在該範例中,用來決定頻寬估計 的資料將會變的無效。在一實施例中,當響應封包遺失時, 將一第四預設值(例如,0.8)指定給估計錯誤共生差, _ 以及將一第四預設值(例如,0.2)指定給量測錯誤共生差 . F。此外,當頻寬估計(等於公式(10)中之接收封包 的數目(〇以及頻寬量測(等於公式(11)中之接收 Φ 封包的數目(屹),則變數2、及'與,(〇會等於〇,故回覆 公式(12)中之變數尤。在該範例中,修正頻寬估計(5%) 等於頻寬估計(βπ)(其可由公式(12)推導而得)。 速率決定模組240用以決定一傳輸率(TR)(以bps表 示)。如第2圖所示,速率決定模組240耦接於網路分析 模組250與頻寬估計模組210。速率決定模組240接收頻 寬估計模組210的頻寬資訊以及接收網路分析模組250的 網路資訊。速率決定模組240根據公式(6)之頻寬估計與客 _ 戶終端130的有效缓衝區的大小(Available Buffer Size ) 決定傳輸率。在一實施例中,傳輸率(77?)係由公式(14)決 定,其表示為: TR = mm(BWe,Bste)……(14) ’ 其中見&表示客戶終端130的緩衝區大小,其係由公式 • (14A)決定,表示為: • L=max(m],0)……(14A) ’ 其中C為常數,5max表示最大缓衝區的大小,而t表示 目前使用的緩衝區大小。伺服器110利用傳輸率(77?)來調 [S] 14 1374632 整封包傳送。 最大緩衝區的大小係視客戶終端130的設備而定。舉 例來說,與個人數位助理相較,桌上型腦具有較多的有效 記憶體空間可配置緩衝區。在一實施例中,常數C具有一 初始值,其接近0.8。 • 第3圖係顯示本發明實施例之應用於一通訊網路中之 . 頻寬估計與修正方法300的步驟流程圖。 參考第3圖,計算每一封包之封包來回時間與封包遺 φ 失率,其中伺服器110接收到客戶終端130之響應訊息的 訊息時,將該等封包經由通訊網路120傳送給客戶終端130 (301)。客戶終端130在接收到封包後,將響應訊息(例 如,RTCP響應訊息)回覆給伺服器110。封包來回時間可 利用公式(4)來計算,而封包遺失率可利用公式(5)來計算。 利用公式(6)決定一頻寬估計( 302)。頻寬估計係根基 於在一滑動時間視窗内之不同時間點傳送之每一封包的封 包來回時間。判斷是否發生交遞或換手(Handover )( 303 )。 • 若發生交遞或換手,則取得估計錯誤共方差(Q’)與量測錯誤 共方差(R')之第一組值( 304)。若未發生交遞或換手,則 判斷是否遺失一響應訊息(例如,RTCP響應訊息)( 305 )。 若遺失響應訊息,則計算估計錯誤共方差(Q')與量測錯誤共 方差(R’)之第二組值( 306)。若未遺失響應訊息,則利用 • 公式(10)計算估計錯誤共方差(Q') ( 307)。 接著,利用公式(7)計算先驗錯誤共方差(;τ(〇)( 308 )。 該先驗錯誤共方差係視先前計算之估計錯誤共方差(Q')而 定。執行頻寬量測以利用公式(8)決定有效頻寬之量測值Wide estimate of the error common variance previously obtained. The a priori error covariance can be given by equation (7): ρ-(ί) = φ'2ρ+(ί-ΐ) + ρ' where is expressed as a priori error covariance, which is referenced to the bandwidth estimate at time point W The error obtained is the common variance. In an embodiment, the bandwidth estimation module 21G includes a card door filter for calculating a variable household (0' but it is not intended to limit the present invention. As shown in FIG. 2, the bandwidth measurement module 22〇 is connected to the network analysis module 250 and the estimated error correction module 23〇. The bandwidth measurement module is configured to receive the packet round-trip time and the packet legacy packet from the network analysis module 25G. (4) Frequency, can be used to clear the effective bandwidth, which is expressed as: BW = {RPslze / RTT) X (1 - Plr^...(8), where 仏, expressed as the size of the data packet, its system Calculated in bytes. Packet loss may be (4) in the case of network conditions, such as congestion in the wireless network or poor connection quality, resulting in a total error of measurement error. As shown in the figure m 12 1374632 2 The error correction module 230 is coupled to the network analysis module 250, the bandwidth estimation module 210, and the bandwidth measurement module 220. The estimation error correction module 230 receives the bandwidth estimation module 210 and the bandwidth measurement module. Group 220 bandwidth information, and more determines the correct bandwidth estimate. Use a correction gain (Correction Gain) (example , Kalman Gain) to correct the bandwidth estimate. The Karman gain can be determined by the formula (9), which is expressed as: K = p-(t)/(p-(t) + R')......( 9), where iT is expressed as the measurement error commensurate difference. The estimated error symmetry difference y in equation (7) and the measurement error symbiosis difference in equation (9) are defined in equations (10) and (11), respectively. Q' = \(BWe-Nrc)\/Nrc>0<Q'<\ ......(10), R'=\(BWm-Nrc)\/Nrc, 0<R'<1 ......(11 ), where is the bandwidth estimate (calculated in bps), Λ^· is the received data packet (calculated in bps), and the bandwidth is measured (in bps). The corrected bandwidth estimate is 5 % is determined by the formula (12): BWc = BWe + (KxBWm - BWe) (12). Therefore, "( especially > 5% - 5%) in the formula (12) Represents the correction of the bandwidth estimate. In general, iT (inversely than the ruler) is smaller than 0. Then, the posterior error is symbiotic, (0 is determined by equation (13): P+(t) = p-(t) [\-K] (13) When the client terminal 130 is handed over, the network characteristics may change significantly. Therefore, the network analysis module 2 The packet back and forth time provided by 50 will become unreliable. In an embodiment, when a handover occurs, a first predetermined value (e.g., 1) is assigned to the estimated error commensurate difference and a second 13 1374632 is pre- The set value (eg, 0) is assigned to the measurement error commensurate difference. Similarly, if the RTCP response packet is lost, the network analysis module 250 cannot receive the network characteristic information for a period of time. In this example, the data used to determine the bandwidth estimate will become invalid. In an embodiment, when the response packet is lost, a fourth preset value (eg, 0.8) is assigned to the estimated error co-occurrence difference, _, and a fourth preset value (eg, 0.2) is assigned to the measurement error. Symbiotic difference. F. In addition, when the bandwidth is estimated (equal to the number of received packets in equation (10) (〇 and the bandwidth measurement (equal to the number of received Φ packets in equation (11) (屹), then the variable 2, and 'and, (〇 will be equal to 〇, so reply to the variable in equation (12). In this example, the modified bandwidth estimate (5%) is equal to the bandwidth estimate (βπ) (which can be derived from equation (12)). The determining module 240 is configured to determine a transmission rate (TR) (in bps). As shown in FIG. 2, the rate determining module 240 is coupled to the network analyzing module 250 and the bandwidth estimating module 210. The module 240 receives the bandwidth information of the bandwidth estimation module 210 and the network information of the receiving network analysis module 250. The rate determination module 240 estimates the effective bandwidth of the guest terminal 130 according to the bandwidth of the formula (6). The available buffer size determines the transmission rate. In one embodiment, the transmission rate (77?) is determined by equation (14), which is expressed as: TR = mm (BWe, Bste) (14) 'See & represents the buffer size of the client terminal 130, which is determined by the formula (14A), expressed as • L=max(m),0)...(14A) ' where C is a constant, 5max represents the size of the largest buffer, and t represents the buffer size currently used. Server 110 utilizes the transmission rate (77?) To adjust [S] 14 1374632 whole packet transmission. The size of the maximum buffer depends on the device of the client terminal 130. For example, compared with the personal digital assistant, the desktop brain has more effective memory space. The buffer is configured. In one embodiment, the constant C has an initial value that is close to 0.8. • Figure 3 shows the flow of the steps of the bandwidth estimation and correction method 300 applied to a communication network in accordance with an embodiment of the present invention. Referring to FIG. 3, the packet round-trip time and the packet loss rate of each packet are calculated. When the server 110 receives the response message from the client terminal 130, the packets are transmitted to the client terminal via the communication network 120. 130 (301) After receiving the packet, the client terminal 130 replies a response message (for example, an RTCP response message) to the server 110. The packet back and forth time can be calculated by using formula (4), and the packet loss rate can be calculated by using a formula ( 5) To calculate. Use a formula (6) to determine a bandwidth estimate (302). The bandwidth estimate is based on the packet round-trip time of each packet transmitted at different time points within a sliding time window. Or Handover ( 303 ) • If a handover or handoff occurs, the first set of values (304) of the estimated error covariance (Q') and the measurement error covariance (R') are obtained. If a handover occurs or a hand is changed, it is judged whether a response message (for example, an RTCP response message) is lost (305). If the response message is lost, a second set of values (306) of the estimated error covariance (Q') and the measurement error covariance (R') is calculated. If the response message is not lost, the estimated error covariance (Q') is calculated using Equation (10) (307). Next, the a priori error covariance (; τ(〇)( 308 ) is calculated using equation (7). The a priori error covariance is determined by the previously calculated estimated error covariance (Q'). Use the formula (8) to determine the effective bandwidth measurement
1374632 =先據封包來回時間與封包遺失率而執 寬异出量測錯誤共方差(R,)的值,則根據頻 %=(。3()9)並利用公式⑴)計算量測錯誤共方差⑽ 接著’判斷估計錯誤共方差(Q,)、量測錯誤共方差⑽ 錯誤共方差(㈣)是否等於0(311)。若等於〇,則 將頻寬估計(302)視為修正頻寬估計( 不需要進行頻寬修正,並且重置有效頻寬修正值;ί為 0。右不等於〇’則利用公式(9)計算一修正增益(例如,卡 門增益)⑽)。利用該修正增益並利用公式⑽來修正 頻寬估計(314)。在某些實施例中,可利用修正的結果(即, 修f頻寬估計抓)並利用公式⑹來計算下一封包的頻寬 十(302 )。利用公式(13)來計算後驗錯誤共方差 (Posteriori Error Covariance)(心))(315)。該後驗錯誤 差(,(〇)係根據該修正增益與先驗錯誤共方差^⑺)而 决疋j308)。利用後驗錯誤共方差(/㈤)之決定值Ob) 來計算下一封包之先驗錯誤共方差(;r(〇)(3〇8)。 —利用公式(16)決定傳輸率⑶6)。該傳輸率係根據頻 ,估計與客戶終端130的有效緩衝區的大小來決定。接 ,,判斷是否對下一組封包執行頻寬估計與修正(317)。 若執行頻寬估計與修正,則對下一組封包重複執行上述步 驟0 ,本發明之方法,或特定型態或其部份,可以以程式碼 的型態存在。程式碼可以包含於實體媒體,如軟碟、光碟 片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲 [S] 16 1374632 存媒體,其中,當程式碼被機器,如電腦載入且執行時, 此機器變成用以參與本發明之裝置。程式碼也可以透過一 些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進 行傳送,其中,當程式碼被機器,如電腦接收、載入且執 行時,此機器變成用以參與本發明之裝置。當在一般用途 - 處理單元實作時,程式碼結合處理單元提供一操作類似於 . 應用特定邏輯電路之獨特裝置。 雖然本發明已以較佳實施例揭露如上,然其並非用以 φ 限定本發明,任何熟習此技藝者,在不脫離本發明之精神 和範圍内,當可作各種之更動與潤飾,因此本發明之保護 範圍當視後附之申請專利範圍所界定者為準。1374632=Firstly, according to the packet back-and-forth time and the packet loss rate, the value of the common error (R,) of the measurement error is calculated, and the measurement error is calculated according to the frequency %=(.3()9) and using the formula (1)). Variance (10) Then 'judge the estimated error covariance (Q,), measure the error covariance (10), and the error covariance ((4)) is equal to 0 (311). If it is equal to 〇, the bandwidth estimate (302) is regarded as the modified bandwidth estimate (no bandwidth correction is required, and the effective bandwidth correction value is reset; ί is 0. Right is not equal to 〇', then formula (9) is used. Calculate a correction gain (eg, jam gain) (10)). The correction gain is utilized and the bandwidth estimate (314) is corrected using equation (10). In some embodiments, the corrected result (i.e., the f-bandwidth estimate grab) can be utilized and the formula (6) can be used to calculate the bandwidth of the next packet (302). The posterior error Covariance (heart) is calculated using equation (13) (315). The posterior error is poor (, (〇) is based on the corrected gain and a priori error covariance ^(7)) and is determined by j308). The adjacency error covariance of the next packet (;r(〇)(3〇8) is calculated using the posterior error covariance (/(f)) decision value Ob). - The transmission rate (3) 6 is determined using equation (16). The transmission rate is determined based on the frequency and the size of the effective buffer of the client terminal 130. Then, to determine whether to perform bandwidth estimation and correction on the next set of packets (317). If the bandwidth estimation and correction is performed, the above step 0 is repeated for the next set of packets, and the method of the present invention, or the specific type or part thereof, may exist in the form of a code. The code can be included in a physical medium such as a floppy disk, a CD, a hard disk, or any other machine readable (such as a computer readable) storage [S] 16 1374632 storage medium, wherein when the code is machined, When the computer is loaded and executed, the machine becomes a device for participating in the present invention. The code can also be transmitted via some transmission medium, such as a wire or cable, fiber optics, or any transmission type, where the machine becomes part of the program when it is received, loaded, and executed by a machine, such as a computer. Invented device. When implemented in a general purpose - processing unit, the code combination processing unit provides a unique device that operates similar to the application specific logic circuit. While the invention has been described above in terms of a preferred embodiment, it is not intended to limit the invention, and it is to be understood by those skilled in the art that various changes and modifications can be made without departing from the spirit and scope of the invention. The scope of the invention is defined by the scope of the appended claims.
i S] 17 1374632 【圖式簡單說明】 第1圖係顯示頻寬估計之通訊系統的示意圖。 第2圖係顯示本發明實施例之應用於一通訊網路中之 頻寬估計與修正系統的架構示意圖。 第3圖係顯示本發明實施例之應用於一通訊網路中之 頻寬估計與修正方法的步驟流程圖。 【主要元件符號說明】 100〜通訊系統 110〜通訊伺服器 120〜通訊網路 130〜客戶終端 210〜頻寬估計模組 220〜頻寬量測模組 2 3 0〜估計錯誤修正模組 240〜速率決定模組 250〜網路分析模組 300〜通訊網路中之頻寬估計與修正方法 301·.317〜流程步驟 m 18i S] 17 1374632 [Simple description of the diagram] Figure 1 is a schematic diagram of a communication system showing bandwidth estimation. Figure 2 is a block diagram showing the architecture of a bandwidth estimation and correction system applied to a communication network in accordance with an embodiment of the present invention. Figure 3 is a flow chart showing the steps of a method for estimating and correcting the bandwidth applied to a communication network in accordance with an embodiment of the present invention. [Main component symbol description] 100 to communication system 110 to communication server 120 to communication network 130 to client terminal 210 to bandwidth estimation module 220 to bandwidth measurement module 2 3 0 to estimation error correction module 240 to rate Decision module 250 - network analysis module 300 ~ bandwidth estimation and correction method in communication network 301 ·.317 ~ process step m 18