TWI423623B - Network buffer management methods and computer program products - Google Patents
Network buffer management methods and computer program products Download PDFInfo
- Publication number
- TWI423623B TWI423623B TW97126943A TW97126943A TWI423623B TW I423623 B TWI423623 B TW I423623B TW 97126943 A TW97126943 A TW 97126943A TW 97126943 A TW97126943 A TW 97126943A TW I423623 B TWI423623 B TW I423623B
- Authority
- TW
- Taiwan
- Prior art keywords
- buffer
- probability
- length
- new packet
- discard
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本發明是有關於一種緩衝區管理方法,特別是指一種管理網路之緩衝區的方法。
早期網路傳輸的應用多半是以傳送數據等較簡單的資料封包(Packet)為主,因此網路傳輸的方式最早皆是採用盡力而為(Best-Effort)的傳送方式,也就是以一位於網路節點上之處理器,控制每一時間點上網路可用的最大頻寬來傳送每一封包。這種方式最大的缺點是,對於每一封包,皆會利用最大的頻寬傳送之,然而,該封包是否發生失去時效性、可能會遺失或已重複傳送等異常狀況,這種方式並無法考量到,因此,往往會造成大量的網路頻寬用以傳送無效的封包,進而使得網路傳送效能的降低。同時,隨著網際網路的普及化,例如:影音多媒體分享、網路遊戲、線上購物平台等新型態的應用,使得網路資料的傳輸越來越多樣化,傳送資料量也迅速暴增,因此,一參數「網路服務品質(Quality of Service,QoS)」被提出,用以表示一網路上的傳送效能。
一般在網路傳輸中,該服務品質會依照相關之應用程式來決定,通常用以判定一準備傳送的封包是否符合該應用程式之服務品質的參數有二:一為封包延遲時限,另一為該訊務流之封包產出量。該封包延遲時限定義每一封包傳送到接收端之最大容許時間,而該訊務流之封包產出量
定義該訊務流於網路傳送時,其包含的所有封包正確送達接收端之資料量。而傳送端包括有一緩衝區以暫存欲傳送之封包,並採用一佇列管理機制以有效管理該緩衝區之讀寫運作,進而使得封包的傳送更有效率。
現今的網路設計中,多半採用一主動式佇列管理(Active Queueing Management,AQM)機制來管理該緩衝區的讀寫運作,其中,又以RED(參閱S.Floyd及V.Jacobson 1993年於IEEE/ACM Trans.On Networking提出「Random Early Detection Gateways for Congestion Avoidance」)、CHOKeW(參閱S.Wen,Y.Fang和H.Sun 2005年於IEEE Military Communications Conference提出「CHOKeW:Bandwidth Differentiation and TCP Protection in Core Networks」)、WRR(參閱M.Katevenis,S.Sidiropoulos,和C.Courcoubetis 1991年於IEEE ISAC提出「Weighted Round-robin Cell Multiplexing in a General-purpose ATM switch chip」),及WFQ(參閱A.K.Parekh和R.G.Gallager 1993年於IEEE/ACM Trans.On Networking提出「A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks:The Single-node Case」)等演算法最具代表性。
然而,這些演算法的共同特色都是只注重該緩衝區中佇列長度(或相關權重參數)的變化情形,以決定該接收到的新封包是否應該被丟棄或接受。這樣的方式,已經漸漸無法滿足現今多樣化網路傳輸在服務品質上的要求了,
因此,如何有效處理封包以滿足多樣化應用程式的服務品質已經是現今網路傳輸最重要的議題之一了。
因此,本發明之目的,即在提供一種網路緩衝區管理方法,適用於管理一緩衝區,且該緩衝區已儲存資料的部分稱為一佇列,包含:(A)接收一新封包;(B)計算一該新封包傳送時的延遲時間,並判斷該延遲時間是否大於一預設之延遲門檻值,若是,丟棄該新封包,若否,執行步驟(C);(C)計算一封包的丟棄機率;及(D)產生一隨機變數,並判斷該隨機變數是否小於該丟棄機率,若是,則丟棄該封包,若否,則接受該新封包。
其中,該步驟(B)與該步驟(C)間更包含有一步驟(H),根據該緩衝區長度與該佇列長度的差而得到該緩衝區之剩餘空間,且該丟棄機率的計算方式如下:
其中,loss(i)為一訊務流i的漏失率,亦即該訊務流i遺失的資料量與實際上該訊務流i傳送的資料量之比率;BT為該緩衝區長度,S為該緩衝區之剩餘空間,N為該緩衝區之分區數量。
而本發明之電腦程式產品,適用於管理網路之一緩衝
區,且該緩衝區已儲存資料的部分稱為一佇列,當電腦載入該電腦程式並執行後,可完成以下程序:(A)接收一新封包;(B)計算一該新封包傳送時的延遲時間,並判斷該延遲時間是否大於一預設之延遲門檻值,若是,丟棄該新封包,若否,執行程序(C);(C)計算一封包的丟棄機率;及(D)產生一隨機變數,並判斷該隨機變數是否小於該丟棄機率,若是,則丟棄該封包,若否,則接受該新封包。
其中,該程序(B)與該程序(C)間更包含有一程序(H),根據該緩衝區長度與該佇列長度的差而得到該緩衝區之剩餘空間,且該丟棄機率的計算方式如下:
其中,loss(i)為一訊務流i的漏失率,亦即該訊務流i遺失的資料量與實際上該訊務流i傳送的資料量之比率;BT為該緩衝區長度,S為該緩衝區之剩餘空間,N為該緩衝區之分區數量。
有關本發明之前述及其他技術內容、特點與功效,在以下配合參考圖式之一個較佳實施例的詳細說明中,將可清楚的呈現。
基於習知之該等演算法皆無法考量到網路傳送之服務品質的缺點,本發明之較佳實施例是一可以同時考慮到封包延遲時限、訊務流之封包產出量之網路緩衝區管理方法。另外,在網路傳送時是否發生壅塞,或是一訊務流是否具有回應性(Responsiveness),而一位於網路節點上之處理器可以根據該訊務流是否有回應性,以調整封包的連續丟棄情形,以促使傳送端之傳送速率可以較為穩定,因此,在本發明中亦同時考慮該訊務流是否具有回應性之情形,以有效提昇網路傳送的效能。
參閱圖1,本發明網路緩衝區管理方法之較佳實施例適用於一位於網路節點上之處理器管理一緩衝區,且該緩衝區已儲存資料的部分稱為一佇列,該方法包含以下步驟:步驟91是該處理器接收一新封包;步驟92是該處理器判斷目前佇列長度(q)加上該新封包的長度(pkt)之和,是否大於該緩衝區長度(BT),若是,表示接受該封包會導致該緩衝區滿溢(Overflow)情形發生,因此,跳至步驟90,若否,執行步驟93;步驟93是該處理器將該佇列長度(q)加上該新封包的長度(pkt)之後,再除以連線頻寬(BW)以得到該筆資料在網路傳輸時所需的延遲時間(DT
),當該延遲時間(DT
)大於一預設之延遲門檻值(DTH
)時,則表示該封包傳送到該接收端時會逾時,因此,跳至步驟90,避免傳送以佔用頻寬,若是該延遲時間(DT
)小於該延遲門檻值(DTH
)時,執行步驟94,該延遲時間(DT
)的計算方式如下:
步驟94是該處理器利用該緩衝區長度(BT)減去該佇列長度(q),以計算出該緩衝區之剩餘空間(S);步驟95是該處理器計算一丟棄機率(Pd
),該丟棄機率(Pd
)的計算公式如下:
其中,loss(i)為訊務流i的漏失率需求,亦即該訊務流i要求遺失的資料量與實際上該訊務流i傳送的資料量之比率不可大於此值;BT為該緩衝區長度,S為該緩衝區之剩餘空間,N為該緩衝區之分區數量,故分母的物理意義為所剩的分區數。
當一個訊務流有產出量的要求(該服務品質有要求時)時,該漏失率必須設定較小值,以降低該訊務流之封包被丟棄的機率,進而提高產出量;反之,當一訊務流並無產出量之要求(該服務品質沒有要求時)時,可以提高該訊務流的漏失率以增加其封包被丟棄的機率,這樣可以使得網路頻寬可以讓給相對有產出量需求的訊務流。因此,我們設定該訊務流i的漏失率與該丟棄機率(Pd
)成正比關係。而分母S/(BT/N)的設計是為了讓該丟棄機率(Pd
)可以比漏失率要求更低,且所剩的分區數愈多則愈低。
步驟96是該處理器判斷傳送該訊務流時,該訊務流是
否有具有回應性,若是,執行步驟97,若否,則跳至步驟99;步驟97是該處理器判斷一參考機率(Pref
)是否小於數值0,若是,執行步驟90,若否,則執行步驟98,其中,該參考機率(Pref
)的計算方式如下:P ref
=1-(C p
.P d
)
其中,Cp
為連續進入該緩衝區的封包數量;當該參考機率(Pref
)小於數值0時,表示Cp
值可能很大,換句話說,表示已經連續接收很多封包進入該緩衝區中了,因此,在該參考機率(Pref
)小於數值0的情況下,將丟棄該新封包,以避免佔用網路頻寬。
步驟98是該處理器更新該丟棄機率(Pd
),更新方式如下:
其中,Pd,old
為更新前的丟棄機率,Pd,new
為更新後的丟棄機率;在此步驟中,因為Cp
及Pd,old
皆為正數,所以該參考機率(Pref
)的範圍將介於數值0與數值1之間,而該丟棄機率(Pd
)亦為正數,因此,取數值1與該更新前丟棄機率(Pd,old
)除以該參考機率(Pref
)的商二者之間的較小值作為更新後的丟棄機率(Pd,new
),以避免發生該更新後的丟棄機率(Pd,new
)大於數值1的不合理情形,而用更新前丟棄機率(Pd,old
)除以該參考機率(Pref
)的商來作為更新後的丟棄機率(Pd,new
),其用意是為了能夠使得丟棄機率之數
值可以更均勻地分佈於數值0與數值1之間,因此,可以使得具回應性之訊務流的流量可以較為穩定。
步驟99是該處理器產生一隨機變數,並判斷該隨機變數是否小於該丟棄機率(Pd
),若是,執行步驟90,若否,則接受該封包,並且將Cp
值加1,表示該新封包已被接收了。
步驟90是該處理器丟棄該新封包,並且將Cp
值歸零。
在上述的步驟中,本發明之方法優先判斷該新封包是否可以在延遲門檻值的時限內傳送至下一節點,如果已經計算出無法在延遲時限內送達時,就直接丟棄該封包,以避免佔用傳送頻寬。然後,先根據漏失率需求計算出一丟棄機率之後,再根據該訊務流是否具有回應性,以判斷是否應該要調整丟棄機率,進而調整傳送速率,最後再根據該傳送訊務流之產出量的要求(依該應用程式之服務品質要求而定),決定該訊務流之封包丟棄的機率大小,以期符合該服務品質所訂定的產出量要求。
因此,綜上所述,本發明可以依據該服務品質所要求的封包延遲時限及封包產出量,而調整封包丟棄機率,因此,可以有效管理該網路節點上之緩衝區以符合該相關應用程式之服務品質要求。故確實能達成本發明之目的。
而本發明之電腦程式產品,當電腦載入該電腦程式並執行後,可完成以上較佳實施例中所述之方法。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利
範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
91‧‧‧接收新封包
92‧‧‧判斷佇列長度與新封包長度之和,是否大於緩衝區長度
93‧‧‧判斷延遲時間是否大於延遲門檻值
94‧‧‧計算緩衝區剩餘空間
95‧‧‧計算丟棄機率
96‧‧‧判斷訊務流是否具有回應性
97‧‧‧判斷參考機率是否小於零
98‧‧‧更新丟棄機率
99‧‧‧判斷隨機變數是否小於丟棄機率
90‧‧‧丟棄新封包
圖1是本發明較佳實施例之流程圖。
91‧‧‧接收新封包
92‧‧‧判斷佇列長度與新封包長度之和,是否大於緩衝區長度
93‧‧‧判斷延遲時間是否大於延遲門檻值
94‧‧‧計算緩衝區剩餘空間
95‧‧‧計算丟棄機率
96‧‧‧判斷訊務流是否具有回應性
97‧‧‧判斷參考機率是否小於零
98‧‧‧更新丟棄機率
99‧‧‧判斷隨機變數是否小於丟棄機率
90‧‧‧丟棄新封包
Claims (12)
- 一種網路緩衝區管理方法,適用於管理一緩衝區,且該緩衝區已儲存資料的部分稱為一佇列,包含:(A)接收一新封包;(B)計算一該新封包傳送時的延遲時間,並判斷該延遲時間是否大於一預設之延遲門檻值,若是,丟棄該新封包,若否,執行步驟(C);(C)計算一封包的丟棄機率;及(D)產生一隨機變數,並判斷該隨機變數是否小於該丟棄機率,若是,則丟棄該封包,若否,則接受該新封包;其中,該步驟(B)與該步驟(C)間更包含有一步驟(H),根據該緩衝區長度與該佇列長度的差而得到該緩衝區之剩餘空間,且該丟棄機率的計算方式如下:
- 依據申請專利範圍第1項所述之網路緩衝區管理方法,適用於處理一傳送端傳來的該新封包,該步驟(C)與該步驟(D)間更包含有一步驟(E),其為判斷是否有 一回應回傳至該傳送端,若是,則更新該丟棄機率,若否,則跳至步驟(D)。
- 依據申請專利範圍第2項所述之網路緩衝區管理方法,其中,該更新丟棄機率更包括二步驟(F)、(G),步驟(F)為根據該丟棄機率和連續進入該緩衝區的封包數量來計算一參考機率並判斷其是否小於數值0,若是,直接丟棄該新封包,若否,執行步驟(G),以更新該丟棄機率。
- 依據申請專利範圍第3項所述之網路緩衝區管理方法,其中,該更新後的丟棄機率為數值1與該更新前丟棄機率除以該參考機率的商二者之間的較小值。
- 依據申請專利範圍第1項所述之網路緩衝區管理方法,該步驟(B)中延遲時間的計算方式為:
- 依據申請專利範圍第1項所述之網路緩衝區管理方法,該步驟(A)與該步驟(B)間更包含有一步驟(I),其為判斷該佇列長度加上該新封包的長度之和,是否大於該緩衝區長度,若是,丟棄該新封包,若否,執行步驟(B)。
- 一種電腦程式產品,適用於管理網路之一緩衝區,且該緩衝區已儲存資料的部分稱為一佇列,當電腦載入該電 腦程式並執行後,可完成以下程序:(A)接收一新封包;(B)計算一該新封包傳送時的延遲時間,並判斷該延遲時間是否大於一預設之延遲門檻值,若是,丟棄該新封包,若否,執行程序(C);(C)計算一封包的丟棄機率;及(D)產生一隨機變數,並判斷該隨機變數是否小於該丟棄機率,若是,則丟棄該封包,若否,則接受該新封包;其中,該程序(B)與該程序(C)間更包含有一程序(H),根據該緩衝區長度與該佇列長度的差而得到該緩衝區之剩餘空間,且該丟棄機率的計算方式如下:
- 依據申請專利範圍第7項所述之電腦程式產品,適用於處理一傳送端傳來的該新封包,該程序(C)與該程序(D)間更包含有一程序(E),其為判斷是否有一回應回傳至該傳送端,若是,則更新該丟棄機率,若否,則跳至程序(D)。
- 依據申請專利範圍第8項所述之電腦程式產品,其中,該更新丟棄機率更包括二程序(F)、(G),程序(F)為根據該丟棄機率和連續進入該緩衝區的封包數量來計算一參考機率並判斷其是否小於數值0,若是,直接丟棄該新封包,若否,執行程序(G),以更新該丟棄機率。
- 依據申請專利範圍第9項所述之電腦程式產品,其中,該更新後的丟棄機率為數值1與該更新前丟棄機率除以該參考機率的商二者之間的較小值。
- 依據申請專利範圍第7項所述之電腦程式產品,該程序(B)中延遲時間的計算方式為:
- 依據申請專利範圍第7項所述之電腦程式產品,該程序(A)與該程序(B)間更包含有一程序(I),其為判斷該佇列長度加上該新封包的長度之和,是否大於該緩衝區長度,若是,丟棄該新封包,若否,執行程序(B)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97126943A TWI423623B (zh) | 2008-07-16 | 2008-07-16 | Network buffer management methods and computer program products |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97126943A TWI423623B (zh) | 2008-07-16 | 2008-07-16 | Network buffer management methods and computer program products |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201006180A TW201006180A (en) | 2010-02-01 |
TWI423623B true TWI423623B (zh) | 2014-01-11 |
Family
ID=44826571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW97126943A TWI423623B (zh) | 2008-07-16 | 2008-07-16 | Network buffer management methods and computer program products |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI423623B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9166919B2 (en) | 2012-03-23 | 2015-10-20 | Broadcom Corporation | Reducing headroom |
WO2014050546A1 (ja) * | 2012-09-27 | 2014-04-03 | 日本電気株式会社 | 音声情報伝送方法及びパケット通信システム |
TWI524756B (zh) | 2013-11-05 | 2016-03-01 | 財團法人工業技術研究院 | 儲存影音資料的方法與裝置 |
-
2008
- 2008-07-16 TW TW97126943A patent/TWI423623B/zh not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
王世昌,"避免壅塞的緩衝區管理演算法",義守大學,論文出版年: 2004 年 * |
Also Published As
Publication number | Publication date |
---|---|
TW201006180A (en) | 2010-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3516833B1 (en) | Methods, systems, and computer readable media for discarding messages during a congestion event | |
Vamanan et al. | Deadline-aware datacenter tcp (d2tcp) | |
US7738375B1 (en) | Shared shaping of network traffic | |
JP4338285B2 (ja) | パケットスケジューリング方法および装置 | |
CN113746748B (zh) | 一种命名数据网络中显式拥塞控制方法 | |
CN103647722B (zh) | 一种基于信誉的链路拥塞控制方法 | |
FI123302B (fi) | Menetelmä ja laitteisto tietoliikennevuon lähetysnopeuden muokkaamiseksi | |
CN112995048B (zh) | 数据中心网络的阻塞控制与调度融合方法及终端设备 | |
CN115412497A (zh) | 一种bbr拥塞控制算法的性能优化方法 | |
TWI423623B (zh) | Network buffer management methods and computer program products | |
Grigorescu et al. | Evaluation of the impact of packet drops due to AQM over capacity limited paths | |
JP4570586B2 (ja) | トラヒック制御方法とシステムおよびプログラム | |
Abdel-Jaber et al. | Random early dynamic detection approach for congestion control | |
Ahmed et al. | New congestion control algorithm to improve computer networks performance | |
Dimitriou et al. | Promoting effective service differentiation with Size-oriented Queue Management | |
Abdel-jaber et al. | Modelling BLUE Active Queue Management using Discrete-time Queue. | |
CN114095449A (zh) | 流量控制方法、网络设备及存储介质 | |
JPH11298523A (ja) | パケット・スケジューリング方法 | |
CN114553836B (zh) | 一种基于强化学习的数据块传输准时性提升方法 | |
JP2003242065A (ja) | コンテンツ選択、コンテンツ要求受付制御、輻輳制御方法およびコンテンツ管理装置、網リソース管理サーバ装置、ポータルサーバ装置、エッジ装置 | |
Garetto et al. | On the use of fixed point approximations to study reliable protocols over congested links | |
JP2004320489A (ja) | ネットワークの品質制御方法 | |
KR102391804B1 (ko) | FQ-CoDel 알고리즘의 매개변수 최적화 방법 | |
US8159944B2 (en) | Time based queuing | |
JP3989197B2 (ja) | パケット廃棄装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |