國 立 交 通 大 學
電信工程研究所
碩 士 論 文
寬頻網路多媒體訊務最佳傳遞路徑選擇技術研究
Optimal Routing for Multimedia Service Delivery
in Broadband Networks
研究生:王櫻瑾
指導教授:田伯隆 博士
寬頻網路多媒體訊務最佳傳遞路徑選擇技術研究
Optimal Routing for Multimedia Service Delivery
in Broadband Networks
研 究 生:王櫻瑾 Student:Ying-Chin Wang 指導教授:田伯隆 博士 Advisor:Dr. Po-Lung Tien
國 立 交 通 大 學 電 信 工 程 研 究 所
碩 士 論 文 A Thesis
Submitted to Department of Communication Engineering College of Electrical and Computer Engineer
National Chiao Tung University in partial Fulfillment of the Requirements
for the Degree of Master of Science
in
Communication Engineering March 2012
Hsinchu, Taiwan, Republic of China
寬頻網路多媒體訊務最佳傳遞路徑選擇技術研究
學生:王櫻瑾 指導教授:田伯隆 博士 國立交通大學電信工程研究所碩士班摘 要
現今網路為了提供即時性的多媒體傳遞服務必須在短時間內有效地選擇封包的傳 送路徑。除此,路徑的選擇需達到高效率的系統使用率,並同時提供保證的服務品質給 使用者。在此論文中,我們提出一個快速且提供服務品質保證的路徑選擇方法,並建立 具備線性規劃特點的數學模型。此模型中,目標函數有別於以往根據 M/M/1 排隊模型 理論的非線性方法計算封包平均延遲,改以降低每個節點的輸入和輸出鏈結最大使用率 總和做為目標函數,藉此分散網路流量,提高 throughput。此方法將計算端對端延遲時 間複雜的非線性問題轉換為較易解決的線性最佳化問題,進而提供一個快速、簡單求解 最佳路徑選擇的方法,並能同時提供高服務品質給使用者。為了展現所提方法之效能, 我們根據不同的網路拓璞、link capacity、使用者數量、使用者位置分布等各種情況,將 所提的模型與 M/M/1 模型給定相同的參數,運用 LINGO、CPLEX 求得使用者選擇的路 徑,並運用 NS2 網路模擬工具建置網路拓璞,藉此統計出各項實驗數據。透過實驗結果 比較發現,在網路 traffic 並非符合 M/M/1 假設時,所提出的模型延遲在大部分情況下與 M/M/1 相當,而最差的情況也只比 M/M/1 稍大,但求解時間相對 M/M/1 模型減少好幾 倍。Optimal Routing for Multimedia Service Delivery in
Broadband Networks
Student : Ying-Chin Wang Advisor : Dr. Po-Lung Tien Department of Communication Engineering
National Chiao Tung University
ABSTRACT
Nowadays, to deliver real-time multimedia services in network, the system must effectively choose delivery path for packets in a short time. The decision of choosing path must optimize the system utilization, and also guarantee the Quality-of-Service (QoS) for users in the meantime. In this paper, we propose a method which can quickly choose path and guarantee QoS for users, and formulate a linear programming mathematical model. In this model, the objective function is minimizing the sum of maximum input link utilization and maximum output link utilization of each node instead of calculating the average packet delay by non-linear M/M/1 queuing model. This method changes a difficult non-linear problem into an easy linear optimization problem and provides a quick and simple way to choose path. In order to compare the effectiveness of the proposed method with M/M/1 model in different topologies, link capacity, the number of users, and the distribution of users, we obtain the users’ selected path by using LINGO and CPLEX, and simulate it in NS2, network simulation tools. According to the experimental results, mostly the delay of the proposed model is nearly the same as the delay of M/M/1 model and even in the worst case is slightly bigger than M/M/1. However, M/M/1 model need much more the time of solving problem than the proposed model.
誌謝
這兩年的研究生活,很謝謝田伯隆老師在旁指導、提攜。跟著老師學習如何獨立思 考、解決問題。並當我遇到瓶頸滯留不前時,老師總能夠適時給予我指導,引導我,帶 領我解決問題。此外,很謝謝實驗室柯伯宇學長、徐子凱同學、學弟妹馬毓晴、陳星豪、 蕭佑霖平常研究的討論,並不吝於給予我一些意見。更謝謝我的好朋友郭沅竹、張惠婷、 黃靖雯、劉懿萱、劉姿伶、林可涓,在人生最重要時刻的陪伴。 最後,謝謝我的母親、我的弟弟永遠的支持。目
錄
摘 要 ... i ABSTRACT ... ii 誌謝 ... iii 圖目錄 ... v 表目錄 ... vi 1 簡介 ... 1 2 概念 ... 3 2.1 網路架構 ... 3 2.2 問題描述 ... 3 2.3 數學模型 ... 6 2.4 對比模型 ... 7 3 實驗結果與討論 ... 9 3.1 模擬輔助軟體 ... 9 3.2 對比驗證實驗 ... 10
3.3 Near-optimal delay constrained routing 比較實驗 ... 17
4 潛在問題討論 ... 18 4.1 鏈結容量大小的影響 ... 19 4.1.1 節點使用率間的相互影響 ... 19 4.1.2 使用率與分散流量 ... 21 4.2 網路拓樸對使用率總和影響 ... 24 5 結論 ... 28 6 參考文獻 ... 29
圖目錄
Figure 1. Network ... 3
Figure 2. An OD pair ... 3
Figure 3. M/M/1 queue ... 4
Figure 4. node ... 7
Figure 5. NSFNET Network ... 11
Figure 6. sources 集中 ... 12
Figure 7. 求解時間比較 ... 13
Figure 8. sources 分散 ... 14
Figure 9. 求解時間比較 ... 15
Figure 10. GTE Network ... 17
Figure 11. ... 20 Figure 12. ... 20 Figure 13. ... 21 Figure 14. ... 22 Figure 15. ... 22 Figure 16. ... 23 Figure 17. ... 24 Figure 18. ... 25 Figure 19. ... 25 Figure 20. ... 27 Figure 21. ... 27
表目錄
Table 1. packet/ capacity (1/1000) in MM1 case ... 13
Table 2. packet/ capacity (1/100) in MM1 case ... 13
Table 3. packet/ capacity (1/1000) in MD1 case ... 14
Table 4. packet/ capacity (1/100) in MD1 case ... 14
Table 5. packet/ capacity (1/1000) in MM1 case ... 15
Table 6. packet/ capacity (1/100) in MM1 case ... 16
Table 7. packet/ capacity (1/1000) in MD1 case ... 16
Table 8. packet/ capacity (1/100) in MD1 case ... 16
Table 9. Comparison with GTE Network in MM1 case... 18
1 簡介 現代網際網路已非單純使用於網頁瀏覽、郵件傳送等基本的資料傳輸,大量的 使用者運用網路撥打電話、視訊、高畫質電視收看、球賽即時轉播等等。用戶端使 用這些多媒體服務時,系統提供保證的服務品質(QoS)一直是最優先考量的事情, 因此需要審慎考量封包延遲大小(delay)、封包遺失率(loss)、網路支援流量等種種會 影響用戶端使用品質的因素;更重要的是,網路系統提供這些即時的多媒體服務時, 受到 real-time 的限制,用戶端對於延遲的容忍度非常低,系統必需在極短時間內決 定一條延遲最低的封包傳送路徑。 現今網路中的使用者人數已不可同日而語,網際網路已不再是單單為電腦專用, 現在可以隨時隨地透過平板電腦、智慧型手機上網使用以上相同的多媒體服務。大 量的使用者會隨時加入網路中,系統需要能同時快速有效的處理,並依據網路使用 狀態以及鏈結容量大小(link capacity)作為參考基準,分散大量使用者,避免過度集 中於某些鏈結上,造成壅塞(congestion),因此選擇傳送封包的路徑會是非常關鍵。 從使用者角度而言,封包平均延遲、jitter、封包遺失率都會影響到服務品質, 因此封包平均延遲、jitter 和封包遺失率越小越好;然而依系統而言,必須將系統使 用率、效能達到最高。因此,提供網路服務者必須在短時間內有效決定封包傳送路 徑給使用者,以達到 real-time 的要求,保證服務品質,並同時將系統效能最大化。 然而當滿足系統要求,鏈結使用率越高,封包通過的延遲也會倍增;若延遲越小, 鏈結使用率必然也低;這兩方面是衝突的,無法同時使雙方皆為最佳解。在兩者間 取得平衡,一直是網路中一大挑戰。 在之前許多的論文研究,[10,12]中,以提供使用者最佳的服務為考量,假設全 部系統中每個 link 的 queue 皆為 M/M/1 模型,運用 M/M1 模型計算延遲,根據壓 低端到端封包平均延遲為前提設計出目標函數,依此做為系統選擇路徑方法,由此 網路狀態可以輕易使用排隊理論加以分析討論;又或是[11]中,想要將前兩者混合, 限制條件中雖然多了每個使用者可以接受最大的延遲,目標函數依然是壓低端到端 (end-to-end) 封 包 平 均 延 遲 。 以 上 [10,11,12] 所 提 出 的 模 型 皆 為 非 常 困 難 的
NP-complete 問題[13]。[10,11]中各提出了演算法,使用逼近的方法來求解,雖然降 低求解時間,但仍然會依據問題大小、要求的準確度、iteration 次數,影響到解決 問題的速度。
多篇論文研究[10,11,12]中,皆假設全部系統中每個 link 的 queue 為 M/M/1 模 型,即端到端中間每個節點的 arrival rate 和 service rate 全部假設為 Poisson process。 但實際網路情況,並非完全滿足此假設。因此假設全部皆為 M/M/1 所得到的模型, 並非網路實際情況。因此我們改變使用平均延遲做為選擇路徑的依據,改以使用鏈 結使用率(link utilization)做為判斷基準。主要目標為使用線性規劃取代非線性問題, 降低求解耗時的問題,並同時可得到與 M/M/1 同樣效果、或更佳解。
2 概念 2.1 網路架構 本篇論文所考慮的網路架構為概括的一個網路(Figure 1.),未局限於特定的網路拓樸; 此一網路包含用戶端、路由器(router)、數個區域網路(LAN)、廣域網路(WAN)。用 戶端會經過區域網路或是廣域網路取得資料,連接的鏈結皆為雙向。 在此網路下,我們討論的使用者服務皆為點對點連線(Figure 2.),每個 OD pair 會各 自選擇要傳送封包的路徑,本篇討論皆運用 virtual circuit networks 的概念,每個使 用者當確定路徑之後,所有封包都只走相同的一條路徑。 2.2 問題描述 在之前許多的論文研究[10,11,12],在提供使用者最佳服務的考量之下,提出以 M/M/1 模型計算延遲的數學模型,目標函數以壓低平均端到端封包延遲,依此做為 系統選擇路徑方法。在此數學模型之下,假設每個 link 中的 queue 為 M/M/1 模型, 如 Figure 3. Figure 1. Network Figure 2. An OD pair
M/M/1 排隊模型表示為到達時間和傳送時間皆為 Markovian(poisson, exponential) distribution;而且只有一個 server。因此,假設間隔到達時間(interarrival times)和傳 送時間(service times)的密度函數(density functions)分別為
( ) ( ) t t a t e b t e 1/λ為平均間隔到達時間、1/μ為平均傳送時間。由[8,9]可得知,平均延遲函數為 若 ce表示為 link e 的容量、k 為封包大小,則μ= ce /k,ze表示為全部流過 link e 的 流量,則λ=ze/k。因此經過轉換,可得 e e e z c z (2.1) 由此透過容量 ce、流量 ze可算出通過上 link e,所產生的延遲。根據 M/M/1 得到的 式子(2.1),擁有單調遞增(monotonically increasing)和凸性(convexity)的特性,所以經 過相加、平均之後得到平均 end-to-end delay,做為目標函數。[10,11,12]數學模型, 運用式子(2.1)計算延遲,因為此式為非線性函數,這增加問題複雜度,造成求解困 難、耗時。由於,現今網路提供的多媒體服務強調即時性,此模型將無法滿足需求。 為了降低問題複雜度、縮短求解時間,透過觀察式子(2.1)發現,當 link capacity 的 使用率逐漸增高,延遲就會急遽上升;同理,當使用率越低,可以得到較低的延遲。 由於系統最大目標在於降低延遲,但目標函數又無法以線性的方法計算出延遲的情 況之下,目標函數改以降低鏈結使用率(link utilization)取而代之。此時,將原本複 Figure 3. M/M/1 queue
雜的計算端對端延遲時間非線性問題轉換為較易解決、線性的最佳化問題。透過此 線性規劃方法,可以達到與 M/M/1 模型相同效果。
之前的研究也有運用 utilization 作為目標函數的例子,但方法是取整個網路中最大 的 utilization,再將之最小化。
Global Utilization Model: u = 1,2,…,U users
e = 1,2,…,E links
p = 1,2,..,Pu path candidate paths for flows realizing user u 系統參數設定有 U 個使用者、E 條鏈結。
每個使用者 u 與傳送端間有 Pu條路徑連接;每條鏈結 e 的容量表示為 ce;根據參數
δupe可做為判斷路徑是否通過鏈結 e:當使用者 u,選擇的路徑 p 通過鏈結 e 時,則
δupe為 1;反之為 0。 此模型包含兩種變數:γ、x up。γ 表示為系統最大的鏈結使用率; 目標函數設計為 Minimize γ x up紀錄使用者 u 選擇的路徑:若使用者 u 選擇路徑 p 時,則 xup為 1;反之為 0。
模型中的條件限制,當使用者選擇路徑時,運用 virtual circuit networks 的概念,每 個使用者當確定路徑之後,所有封包都只可走相同的一條路徑。
並且傳送封包時,需滿足鏈結容量限制,所有使用者經過鏈結 e 的流量總和不可超
過 ce,γ 在此紀錄系統中鏈結最大的使用率。
經過實驗證明,我們發現,當 global utilization 決定後,其他 utilization 較小的 link
1, u up p P x u
,,
u up upe e u p Px
c
e
在不超過 global utilization 的前提下,使用者選擇任何路徑的情況都可以,系統無 法規範流量的流向,還是有可能集中於某 link 上,造成封包較大的延遲。在取得數 學模型最佳解時,並非限制 flow 在最低延遲之下傳送,此種方法效果不佳。 2.3 數學模型 我們改以分別降低每個節點的輸入和輸出鏈結最大使用率的總和做為目標函數,藉 此分散網路流量,讓網路上的使用者得到服務品質保證,提高 throughput。
Local Utilization Model n = 1,2,…,N nodes
u = 1,2,…,U users e = 1,2,…,E links
p = 1,2,..,Pu path candidate paths for flows realizing user u
系統參數設定有 N 個節點、U 個使用者、E 條鏈結、每個使用者 u 與傳送端間有
Pu條路徑連接。每條鏈結 e 的容量表示為 ce,根據參數δupe可做為判斷路徑是否通
過鏈結 e:當使用者 u,選擇的路徑 p 通過鏈結 e 時,則 δupe為 1;反之為 0。
此模型包含五種變數:x up、ze、rn、qn、yu: x up紀錄使用者 u 選擇的路徑:若使用者 u 選擇路徑 p 時,則 xup為 1;反之為 0。 ze計算所有使用者通過鏈結 e 的總流量; rn、qn分別為節點 n 輸出鏈結最大的使用率以及輸入鏈結的最大使用率。傳送封包 時,需滿足鏈結容量限制,所有使用者經過鏈結 e 的流量總和不可超過 ce; rn、qn分別紀錄節點 n 輸出、輸入最大的使用率 , , u up eup e u U p P x z e E
, out, e n e n z r c e E n N以 Figure 4.為例,q1、q2、q3 分別為三條輸入鏈結的使用率,r1、r2、r3 分別為三 條輸出鏈結的使用率,假設 q1>q2>q3 及 r1>r2>r3,此時節點 n 的 rn即為 r1,而 qn 則為 q1。 Figure 4. node 在滿足系統條件限制下,必須滿足所有使用者提出的要求,然而當此情況無解時, 部分使用者這次將無法得到一條路徑傳送封包,若使用者 u 無法得到一條路徑傳送 封包,則 yu為 1;反之為 0。 目標函數設計為壓低各個節點的所有輸入鏈結的使用率和輸出鏈結的使用率總合, 並多加所有得不到滿足的使用者 yu,同時乘上一個大的常數 M 作為 penalty。可得 目標函數為: 模型中的條件限制,每個使用者 u 必須為以下兩種情況:選擇路徑時,運用 virtual circuit networks 的概念,每個使用者確定路徑之後,所有封包都只可走相同的一條 路徑;或是無法得到任何路徑。 2.4 對比模型
我們建置 M/M/1 optimization model 做為與 Local Utilization Model 效能比較的依據: 由[8,9]可知,M/M/1 model 中(如 Figure 3.),link 中的 queue 產生的延遲,可由 link e
容量 ce、流量 ze算出通過。
Minimize
(
n n)
u n N u Ur
q
M
y
1 , u u up p P y x u U
, in, e n e n z q c e E n Ne e e z c z 目標為降低整個系統延遲,目標函數可設為每個 link 的延遲總合。此模型的限制條 件、參數大多與我們的模型相同,只將目標函數改為使用 M/M/1 計算平均封包延 遲。 M/M/1 optimization Model u = 1,2,…,U users e = 1,2,…,E links
p = 1,2,..,Pu path candidate paths for flows realizing user u
系統參數設定有 U 個使用者、E 條鏈結、每個使用者 u 與傳送端間有 Pu條路徑連 接。每條鏈結 e 的容量表示為 ce,根據參數 δupe可做為判斷路徑是否通過鏈結 e: 當使用者 u,選擇的路徑 p 通過鏈結 e 時,則 δupe為 1;反之為 0。 此模型包含三種變數:x up、ze、yu: x up紀錄使用者 u 選擇的路徑:若使用者 u 選擇路徑 p 時,則 xup為 1;反之為 0。 ze計算所有使用者通過鏈結 e 的總流量; 在滿足系統條件限制下,必須滿足所有使用者提出的要求,然而當此情況無解時, 部分使用者這次將無法得到一條路徑傳送封包,若使用者 u 無法得到一條路徑傳送 封包,則 yu為 1;反之為 0。 模型中的條件限制,每個使用者 u 必須為以下兩種情況:選擇路徑時,運用 virtual circuit networks 的概念,每個使用者確定路徑之後,所有封包都只可走相同的一條 路徑;或是無法得到任何路徑。 並且傳送封包時,需滿足鏈結容量限制,所有使用者經過鏈結 e 的流量總和不可超 , , u up eup e u U p P x z e E
1 , u u up p P y x u U
過 ce。 由式子(2.1)計算延遲,目標函數設計為壓低所有鏈結延遲的總合,並多加所有得不 到滿足的使用者 yu,同時乘上一個大的常數 M 作為 penalty。可得目標函數為: Minimize 3 實驗結果與討論 3.1 模擬輔助軟體 以上建置的數學模型,我們透過 LINGO[6]、CPLEX[7]兩套軟體做為求解工具, 解出最佳解,及其變數。LINGO[6]為一套專門用於求解最佳化問題的軟體,可用於 求解現性規劃和二次規劃問題,還可求解非線性規劃問題(convex、nonconvex),也 可用於一些線性和非線性方程組(二次方程式、二次限制問題,二次錐優化)的求解。 LINGO 提供完整的整合軟體,強大的語言可迅速以公式表示最佳化問題,功能齊 全的環境易於輸入、閱讀、了解、修改,求解和分析最佳化問題。此篇論文的模型, 為線性問題,皆以分支界定法(branch-and-bound method)求得解。
CPLEX[7],原本全名為 IBM ILOG CPLEX Optimization Studio,但多簡稱 CPLEX, 是一套由 ILOG 公司開發的線性規劃的運算核心,有穩固的演算法解決困難問題, 即使問題具有數百萬個限制與變數也可解決。它透過 primal or dual variants of the simplex method 或 barrier interior point method 等方法來解決整數問題、非常大的線 性問題。CPLEX 提供彈性且高效能的最佳化工具,線性規劃、二次規劃、二次限 制規劃與混合整數規劃問題,均可求解。 在實際網路系統中進行網路技術的研究或學習,在執行上有一定程度的限制與 困難度。網路模擬具有模擬時間少、成本低的優點,能供研究學者模擬自己所提出 的方法是否是有效,也可以提供一些初學者驗證所學的網路技術,因此,網路模擬 就成為研究及學習網路技術的最佳選擇。因此,此論文中選用 NS2[1,2]做為網路模 e u e E e e u U z M y c z
, e e z c e E擬工具。NS2(Network Simulator, version 2)是由 UC Berkeley 開發完成,一套提供給 網路研究使用的 discrete event simulator。它能模擬真實網路系統的架構和特性,在 網路架構的方面,有 routers、links、nodes 等;在網路特性的方面有封包的延遲(delay)、 封包的丟棄(packet drop)等模擬。NS2 提供大量的模擬支援像是 TCP、routing、 unicast (RTSP, RTP)和 multicast protocols (MPLS, PIM-SM, IGMP),在線網路和無線 網路之下都有。NS2 是一個物件導向的模擬器,是使用 C++和 OTcl(Tcl script language with Object-oriented extensions) 做為開發的語言。 Compiled C++ hierarchy 可以提高模擬時的效率並增快執行的時間。裡面 detailed protocol 都是用 C++撰寫。 而使用者是透過 OTcl script,來建造要模擬的 a network topology。簡而言之,NS2 就是一個 OTcl 的腳本解譯器(script interpreter),它把使用者所寫好的腳本(OTcl Script,描述網路模擬情境)進行解讀後,產生出模擬的結果,進而對結果進行分析。 NS2 並包含許多工具可以輔助觀看模擬的結果,其中有一為 NAM。透過 NAM 工 具程式把模擬的過程視覺化呈現出來,以對模擬的情境有更深入的了解。NAM 是 一個 Tcl/TK based 的動態工具可以觀看網路模擬中實際的封包傳送情形。 因此以下實驗都是先依不同情況設定參數,先由 LINGO、CPLEX 兩個軟體解 得最佳解,求出模型的變數,進而將網路情境及得到的使用者選擇路徑撰寫至 NS2 腳本,進行實際網路情況模擬,並加以分析比較。 3.2 對比驗證實驗 由於多篇論文研究中使用 M/M/1 為選擇路徑的依據,在本節對比驗證實驗中, 選用 M/M/1 optimization model 所得結果做為衡量 Local Utilization Model 優劣標準。 透過假設不同的 link capacity、不同數量的使用者、使用者不同的分布等各種不同 的情況,將 Local Utilization Model 與 M/M/1 optimization model 同時給定相同的參 數之後,運用 LINGO、CPLEX 軟體求得變數解,也就是取得使用者選擇的路徑, 藉此得知通過各鏈結的流量大小,運用式子(2.1)計算出平均封包延遲大小,與 M/M/1 optimization model 比較兩者差距。
使用 NS2 模擬軟體建置一個與相同參數的模擬網路拓璞,並將使用者與其路徑 指定至 OTcl script 中,進行網路情況模擬,再將結果加以比較。
對比實驗中,我們選用 NSFNET[14]當作系統的網路架構,NSFNET 為 1986 年美國國家科學基金會(National Science Foundation)為使其高速的電算中心為全國 各學術單位及研究機構使用,架設了 NSFNET,由於 NSFNET 連線者快速成長, 後來成為美國境內 Internet 的骨幹,NSFNET 骨幹網路連結了六個超級計算機中心、 幾個區域網路,包含很多企業、學術、及實驗網路,達到網路研究資料、資訊共享 之目的,使得 NSFNET 成為今日網路的主幹,乃至世界網路的基礎。因此我們取此 代表性的網路 NSFNET 作為驗證實驗的依據。
Figure 5. NSFNET Network
對比驗證實驗中包含實驗 1 和 2,分別考慮兩種不同情況: 實驗 1 中,使用者分佈在網路外圍,而傳送端集中在網路中間,藉此觀察中間鏈結 使用率高情況下的結果;相對實驗 1,實驗 2 情況相反,使用者集中於網路中間, 傳送端分佈於外圍。以下實驗步驟都先給定模型參數,之後使用 LINGO 和 CPLEX 同時解出我們的數學模型以及 M/M/1 的模型,取得最佳解,透過式子(2.1)計算出兩 模型平均封包延遲的差距。 得到每個使用者的路徑之後,我們運用 NS2 製作網路情境模擬,做出實際網路 封包傳送,取得結果再加以比較。透過此實驗,驗證網路 traffic 型態不滿足 M/M/1 假設時,兩模型效能的比較;在此我們選用 M/D/1 的情況討論。實驗中,所有的情
況 traffic arrival rate 皆以 Poisson process 為主;但 Service rate 會依據 link capacity 大小不同而改變,並不為 exponential rate。在 NS2 中,traffic generator 選擇使用 Exponential On/Off:burst time 設定為 0、idle time 為 0.5s,用此產生 arrival rate 為 2 (packet/sec)的 Poisson process。Packet size 配合不同 link capacity 而改變。
實驗 1 :
挑選集中於網路中間、及連接使用率高的鏈結之 node 做為 source,使用者則散佈 在網路外圍。傳送端集中於中央,中間的鏈結必定要經過,因此使用率勢必很高, 容易造成壅塞,觀察此模型是否可以有足夠能力有效分散使用者的流量。
Figure 6. sources 集中
使用者以 10、20、30、40 個 4 種情況下去比較,packet size 和 link capacity 比例以 1/1000、1/100 兩種情況討論。Figure 7.為統計兩個模型在兩種情況下,使用 LINGO 求解所需時間比較。由 Figure 7.可看出,非線性的 M/M/1 optimization model 相對 Local Utilization Model 線性模型是非常耗時,當使用者人數增長,所需時間也以非 線性的方式快速增長。這個情形並非提供網路即時服務的系統所樂見。當 packet size/link capacity (1/100)此情況,40 個使用者無法使用個人電腦在有效時間中求得 最佳解。
Figure 7. 求解時間比較
Table 1.以及 Table 2. 分別為 packet size/link capacity (1/1000)、(1/100)兩種情況。兩 表根據 LINGO 求得各鏈結流量,運用 M/M/1 式子(2.1)計算出平均封包延遲加以比 較。因為 Local Utilization Model 目標函數是取所有節點最大輸出、輸入鏈結使用率 的最小總合,有可能造成同時多種路徑選擇情況有相同的使用率總合。當路徑並非 唯一解時,我們取所有情況與 M/M/1 optimization model 比較,得到最大差距 (Max 欄)和最小差距 (min 欄),以及 M/M/1 optimization model 和 Local Utilization Model 兩者路徑相似程度。統計可發現兩模型所得的路徑大部分可以有八成以上相似, Local Utilization Model 的平均封包延遲最差的情況不超過 M/M/1 optimization model 的 10%。
Max min Path similarity range
10 users 8.6558% 4.3323% 70% ~ 100%
20 users 8.9048% 2.2218% 75% ~ 85%
30 users 4.6477% 4.6477% 86.7%
40 users 9.6895% 6.5232% 80% ~ 82.5%
Table 1. packet/ capacity (1/1000) in MM1 case
Max min Path similarity range
10 users 4.1911% 4.0956% 80%
20 users 4.6255% 4.6255% 85%
30 users 5.0093% 4.9480% 80% ~ 83.33%
當網路情況並非完全符合 M/M/1 假設情況之下,討論兩模型的效能。我們採用 M/D/1 的情況在 NS2 中實際網路模擬,統計至延遲時間收斂,可得兩種模型分別的 平均延遲時間。Table 3.以及 Table 4.分別為 packet size/link capacity (1/1000)、(1/100) 兩種情況。統計可發現,Local Utilization Model 的延遲時間大部分較 M/M/1 optimization model 長,但最差的情況不超過 6%,最好的情況有機會與 M/M/1 optimization model 相同,甚至更好。
Max min Path similarity range
10 users 5.1% 0% 70% ~ 100%
20 users 2.14% -0.238% 75% ~ 85%
30 users 4.26% 4.26% 86.7%
40 users 9.04% 5.97% 80% ~ 82.5%
Table 3. packet/ capacity (1/1000) in MD1 case
Max min Path similarity range
10 users 4.85% -0.0049% 80%
20 users 2.34% 2.34% 85%
30 users 4.11% 4.01% 80% ~ 83.33%
Table 4. packet/ capacity (1/100) in MD1 case
實驗 2:
Figure 8. sources 分散
參數將 source 分散於網路外圍,使用者則集中於網路中間。接收端集中於中央,中 間的鏈結必定要經過,觀察此模型是否可以讓使用者選擇外圍較不重複的鏈結。
使用者以 10、20、30、40 個 4 種情況下去比較,packet size 和 link capacity 比例以 1/1000、1/100 兩種情況討論。
Figure 9.同樣為統計兩個模型分別在兩種情況下,使用 LINGO 求解所需時間比較。 由 Figure 9.可看出,非線性的 M/M/1 optimization model 仍然非常耗時,所需時間也 以非線性的方式快速增長。此實驗同樣在 packet size/link capacity (1/100)情況,40 個使用者無法使用個人電腦在有效時間中求得最佳解。
Figure 9. 求解時間比較
運用 M/M/1 式子(2.1)計算出平均封包延遲加以比較,分別得出 Table 5.以及 Table 6.(packet size/link capacity (1/1000)、(1/100) )兩種情況。統計實驗 2 兩模型所得的路 徑相對實驗 1 相似度更高,大部分有九成以上。此種情況的封包平均延遲大小與 M/M/1 optimization model 較為接近,最差情況大約 3%;大部分情況皆在 1%左右。
Max min Path similarity range
10 users 0.0176% 0.0176% 90%
20 users 0.0264% 0.0264% 90%
30 users 1.4171% 1.4171% 93.3%
40 users 3.2921% 1.1097% 85% ~ 92.5%
Table 5. packet/ capacity (1/1000) in MM1 case
Max min Path similarity range
10 users 0.1965% 0.1965% 90%
20 users 0.2970% 0.2970% 90%
Table 6. packet/ capacity (1/100) in MM1 case
以下 Table 7.以及 Table 8.分別為 packet size/link capacity (1/1000)、(1/100)兩種情況, 當網路情況並非完全符合 M/M/1 假設情況之下,討論兩模型的效能。我們採用 M/D/1 的情況在 NS2 中實際網路模擬,比較方式及設定皆與實驗 1 相同。此實驗 Local Utilization Model 的延遲時間與 M/M/1 optimization model 更為接近,最差情 況大約為 3%,最好的情況有機會與 M/M/1 optimization model 相同,甚至更好。
Max min Path similarity range
10 users 0.04% 0.04% 90%
20 users -0.04% -0.04% 90%
30 users 1.38% 1.38% 93.3%
40 users 3.08% 1.04% 85% ~ 92.5%
Table 7. packet/ capacity (1/1000) in MD1 case
Max min Path similarity range
10 users 0.575% 0.575% 90%
20 users -0.273% -0.273% 90%
30 users 1.49% 1.49% 93.33%
Table 8. packet/ capacity (1/100) in MD1 case
根據實際比較,所有使用者、封包、系統結構相同情況,運用 LINGO 求解,M/M/1 optimization model,依使用者的數量增長,鏈結容量的變小,所需時間依倍數急劇 增加。然而 Local Utilization Model,由於為線性規劃問題,所需時間並無極大的差 別。但運用 M/M/1 式子(2.1)計算出平均封包延遲加以比較,與 M/M/1 optimization model 差距變動很大,最多相差到 10%,但最小可以接近 0%;若只取最小差距 (min 欄)觀察實驗 1 大約多出 4%,實驗 2 大約多出 1%左右。但由此可知,Local Utilization Model 會受到使用者分布影響到效能好壞。
在運用 NS2 模擬中,做出不同於 Poisson process 的 traffic 型態的網路封包傳送 模擬情況,以 M/D/1 作為討論基準的比較下,Local Utilization Model,與 M/M/1 optimization model 相比,延遲最大差距不超過 9%,但時間節省則為好幾百倍以上。 由以上實驗數據可之,在所有模擬情況之中,Local Utilization Model 延遲時間並非 一定較 M/M/1 optimization model 差,同時又機會解出與 M/M/1 optimization model 相同的平均延遲、甚至更小。
經過對比驗證實驗證明我們提出的模型 Local Utilization Model,只需使用簡單的數 學模型達到和 M/M/1 optimization model 相同的解,最重要是可以使求解時間相對 很短。
3.3 Near-optimal delay constrained routing 比較實驗
經過對比驗證,我們想要將此模型更加一般化,我們希望採取在不同的拓樸、不同 的流量、鏈結使用率大小不同等的情況之下比較,得到更完整的驗證。
我們取[11]中的模擬數據做為比較基準;下圖為[11]中 GTE Topology,根據[11]在 此拓樸之下,模擬設定使用者人數為所有的 OD-pair,而每個使用者的傳送速率 1 packet / sec,link capacity 的單位用 packet 計算。
Figure 10. GTE Network
透過 CPLEX 解出每個 OD-pair 所選的路徑,求得各鏈結流量,運用 M/M/1 式子(2.1) 計算出平均封包延遲,我們將之和[11]中的延遲時間加以比較。此情況比較,效能 較差,平均封包延遲大約多出 10%左右。
Link capacity (packet/sec) GTE (msec) Local (msec) Gap (%) 65 28.19 31.5336 11.8679% 70 26.02 28.9823 11.3848% 100 17.824 19.222 7.8431% 150 11.687 12.7544 9.1335% 200 8.6936 9.5629 9.999%
Table 9. Comparison with GTE Network in MM1 case
再經由 NS2 模擬出不同於 Poisson process 的 traffic 型態的網路封包傳送模擬 M/D/1 的情況比較下。統計出 Local Utilization Model 模型之下的的延遲時間,我們將之和 [11]中的延遲時間加以比較。下表為不同 link capacity 大小情況下的延遲比較。 Link capacity (packet/sec) GTE (msec) Local (msec) Gap (%) 65 28.19 27.121 3.79% 70 26.02 25.09 3.57% 100 17.824 17.285 3.02% 150 11.687 11.406 2.4% 200 8.6936 8.508 3.26%
Table 10. Comparison with GTE Network in MD1 case
由兩表 Table 9.及 Table 10.可知,若在網路為 M/M/1 的情況之下,Local Utilization Model 效能並不好,大約都多出 10%左右的延遲大小。但在網路非 M/M/1 假設的 traffic 型態之下,運用 Local Utilization Model 模型可得出和[11]相似的結果,兩者差 距大約在 3%附近,且 Local Utilization Model 模型為線性規畫,節省了大量求解時 間。
4 潛在問題討論
此篇論文採用 M/M/1 model 做為比較基準,並根據將流量越分散,越能降低封包延 遲的想法,提出運用降低每個節點的輸入和輸出鏈結最大使用率總和做為目標函數
的 Local Utilization Model 線性規畫模型,取代大部分依據壓低端到端封包平均延遲 為前提設計出目標函數。由於 Local Utilization Model 模型的目標函數是將所有節點 的鏈結使用率相加之後再最小化,並非個別最小化,因此在一些使用者分布的情況 之下或有些網路拓樸的結構,會使分散流量或最小延遲的情況並不為最小的使用率 總和。在這些情況之下,Local Utilization Model 模型將會得出較 M/M/1 model 差之 解。以下情況皆分為 a) M/M/1 和 b) Local Utilization Model 兩個情況加以討論比較; 4.1 探討鏈結容量不同之下,節點間的相互影響及對分散流量的影響,節點間鏈結使 用率相互影響對使用率總和的影響,4.2 分析網路拓樸結構造成使用率總和的。 4.1 鏈結容量大小的影響 章節 3 所討論的情況,網路拓樸中所有的鏈結容量大小皆相同。我們發現,當 拓樸中有多種容量大小,且部分鏈結的使用率非常高的時候,會出現路徑的選 擇會受到節點間使用率而影響,或是造成流量集中的現象,無法分散流量。此 小節將討論在網路拓樸中,鏈結容量大小的不同,會使 Local Utilization Model 模型無法給使用者最佳化路徑。
4.1.1 節點使用率間的相互影響
Local Utilization Model 模型為降低每個節點輸入和輸出鏈結最大使用率,當節 點中鏈結的最大使用率被決定之後,節點中其餘較小的鏈結使用率只要比最大 使用率小,即滿足條件,無法控制它的大小;目標函數為節點的輸出使用率和 輸入使用率相加總和最小,若一節點的其中鏈結最大使用率已決定,其餘鏈結 使用率的大小,並不影響總和大小。由於,同一條鏈結會同時分別屬於兩不同 個節點的輸出鏈結和輸入鏈結,因此決定一條鏈結的使用率必須同時考慮兩不 同節點的情況,此目標函數可能因此得出使用率總和最低,但此時的延遲並非 最佳的情況。以下圖為例,網路中已存在由節點 a 傳送至節點 d 的流量 u1,此 時節點 e 欲傳送流量 u2至節點 h,流量 u1假設為 999、u2假設為 1,如何選擇一
條適當路徑使延遲最小;此網路中,鏈結 ab、鏈結 bc、鏈結 cd 的容量假設為 1000,其餘鏈結的的容量皆為 100。
Figure 11.
以下以 Local Utilization Model 和 M/M/1 模型計算延遲,分別的角度作為考量,分 開討論; a) M/M/1 依據 M/M/1 模型計算延遲,流量越分散、經過越少鏈結,延遲會越小。在此例 中,節點 a 傳送至節點 d 的流量 u1路徑已固定,避免鏈結 bc 的壅塞,因此最佳 解為流量 u2經由節點 e、節點 f、節點 g 至節點 h 會得最小延遲。 Figure 12.
系統中已存在一個由節點 a 傳送至節點 d 的流量 u1,因此鏈結 ab 的使用率已經 是固定,當鏈結 eb 的使用率小於鏈結 ab 的使用率時,鏈結 eb 是否有流量經過, 並不會影響節點 b 的輸入鏈結最大使用率。模型在降低使用率的前提之下,選擇 路徑 e-b-c-h 為最佳解。此情況不影響節點 b 的輸入鏈結最大使用率及節點 c 的 輸出鏈結最大使用率,又減少節點 f、g 的使用率。由此,雖然可以去除鏈結 ef、 鏈結 fg、鏈結 gh 的使用率、並且又不造成其他節點因此而增加最大使用率,但 鏈結 bc 聚集了兩流量,會使流量經過此鏈結增高延遲。可知因為節點 e 的輸出 鏈結使用率,受到了節點 b 的輸入鏈結影響,雖然此判斷方法使整個系統得到最 小的使用率總和,但此路徑選擇並非使流量達到最小延遲的情況。 Figure 13.
由以上分析,在此情況 Local Utilization Model 無法得到最佳解。
4.1.2 使用率與分散流量
期望 Local Utilization Model 模型最終目標為分散流量。由於 Local Utilization Model 模型的目標函數為每個節點的輸入和輸出鏈結最大使用率相加,取總合 的最小。但一些情況之下,分散流量反而造成目標函數的值更大,進而無法得 到分散流量的路徑選擇。以下圖為為例,由節點 a 分別傳送至節點 e、節點 f
的流量 u1、u2,流量 u1、u2假設為 1,如何選擇一條適當路徑使延遲最小;此
cf 容量大小為 5;鏈結 de、鏈結 df 容量大小為 10。
Figure 14.
以下以 Local Utilization Model 和 M/M/1 模型計算延遲,分別的角度作為考量, 分開討論; a) M/M/1 依據 M/M/1 模型計算延遲,可使流量分散。最佳解如 Figure 15.所示,流量依 照鏈結 ab、鏈結 ac、鏈結 ad 容量大小比例分流,由此可以將節點 a 傳送至節 點 e、節點 f 的流量可平均分布在整個網路中。 Figure 15.
b) Local Utilization Model
在此網路拓樸之下,因為此為一對稱情況,當節點 a 欲同時傳送至節點 e、節 點 f 時,流量將會集中於鏈結 ad,在節點 d 再分散至節點 e、節點 f。在此情況
之下,只使用了三條鏈結,鏈結 ad 使用率很大,但因為鏈結 ab、鏈結 ac 使用 率不大,且其餘鏈結使用率皆為 0,因此相加之後,相對分散流量每個鏈結皆 有使用率,此集中的路徑可得更低的使用率總和。 Figure 16. 因此,當網路拓樸中,可以有一條鏈結集中流量,而其他鏈結都沒有流量通過, 雖然集中流量的鏈結使用率會很高,但因為其他鏈結使用率皆為零,所以目標 函數所有節點的鏈結使用率總合還是可以為最小值。由以上例子可知,在此情 況 Local Utilization Model 無法得到最佳解。
4.1 提出的潛在問題發生於網路拓樸中存在非常高的鏈結使用率,Local Utilization Model 模型的目標函數是將所有節點的鏈結使用率相加之後再最小化,並非個別 最小化,為了降低總合,在滿足鏈結容量的限制之下,Local Utilization Model 模 型會將流量集中於這些高使用率的鏈結上,不使用大部分的鏈結,可讓使用率總 和最小,但並未達到分散流量之目標,且造成高延遲,進而無法求得最佳解。而 M/M/1 model 根據式子(2.1)作為判斷依據,當使用率越高,目標函數會倍增,因 此在 4.1 中,M/M/1 model 可得較佳路徑選擇。
4.2 網路拓樸對使用率總和影響 由於網路拓樸結構,會發生分散流量和集中於特定路徑的情況,目標函數使用 率的總和會有相同的解,無法得出最小延遲的最佳解。 章節 2 中,我們根據式子(2.1),推論出當 link capacity 的使用率逐漸增高,延遲 就會急遽上升;同理,當使用率越低,可以得到較低的延遲,目標函數改以鏈 結使用率(link utilization)取而代之。但使用率總合最低有時並非等同於延遲最小, 甚至將所有節點的輸出鏈結和輸入鏈結使用率加總做為判斷依據,會出現在有 些網路拓樸結構中會使多種情況的使用率加總皆會相同,此時造成模型將無法 判斷最佳解。 例 1: 以下圖為為例,由節點 a 傳送至節點 c 的流量 u1,流量 u1假設為 1,如何選擇 一條適當路徑使延遲最小;此網路中,所有鏈結的的容量皆為相同大小。 Figure 17. a) M/M/1 假設三條鏈結容量大小皆為 c、鏈結使用率 x,根據式子(2.1)可得經過鏈結的 延遲為 1 cx x ccx x
根據我們的假設,能將流量越分散、鏈結使用率越低,可使延遲最小。但當式 子(4.1)成立時,以流量不分散,封包傳送只通過鏈結 ac 到達節點 c,此時的延 遲反而較低。 2 / 2 / 2 1 1 / 2 1 / 2 x x x x x x (4.1) 由式子(4.1)可知, 0.5 x 因此,當鏈結使用率低於 50%時,集中於單一的鏈結傳送,會得較低的延遲。 反之,當使用率大於 50%時,平分流量至鏈結 ac、鏈結 ab 分散流量會較佳。 Figure 18. 此例討論情況為平分流量至兩輸出鏈結,但依據鏈結不同的使用率、不同比例 分散流量,皆會使最佳解隨之不同。
b) Local Utilization Model
數學模型的目標函數為降低網路中所有節點輸出及輸入鏈結的使用率總合。
Figure 19.
假設 x、y 為拆解之後的流量大小,且 x 必小等於 y。因為當 x 大於 y 時,則此 時的延遲為
2x y cxcy 若將 x 改為鏈結 ac 上的流量、y 為鏈結 ab 上的流量,可得延遲為 2 x y cxcy 可輕易得知 2x y x 2y cxcy cx cy 所以當 x 大於 y 時,並不會為最小延遲的解,因此 x 必小等於 y。
可知節點 a、b、c 的輸出最大流量分別為 y、x、0;節點 a、b、c 的輸入最大 流量分別為 0、x、y。由此可得此網路拓樸在 Local Utilization Model 中的目標 函數為 y x x y c 若不分流,因此只通過鏈結 ac,節點 a、b、c 的輸出最大流量分別為 1、0、0; 節點 a、b、c 的輸入最大流量分別為 0、0、1。目標函數為 1 1 c 因為 x+y=1,在此例中,不管為集中於鏈結 ac,或以任何比例拆解流量去分散 流量,皆會得到相同的總合,但由 a) Delay 部分可知,不同情況仍會有不同的 路徑選擇。 例 2: 假設由節點 a 傳送至節點 e 的流量 u1,流量 u1假設為 2,如何選擇一條適當路 徑使延遲最小;此網路中,所有鏈結的的容量皆為相同大小,且流量大小只可 為整數。
Figure 20. a) M/M/1 由於流量大小只可為整數,此例只可為兩種情況,選擇最短路徑傳送、或平分 流量至兩條路徑上。 Figure 21. 根據例 1 的 a) Delay 推導方式可知 2 3 / 2 2 / 2 1 1 / 2 1 / 2 x x x x x x (4.2) 由式子(4.2)可知, 1 3 x 因此,當鏈結使用率低於 1/3 時,集中於最短路徑傳送,會得較低的延遲。反 之,當使用率大於 1/3 時,節點 a 平分流量至兩輸出鏈結傳送,分散流量會較 佳。
b) Local Utilization Model
由 Figure 21.可知,若選擇最短路徑傳送,節點 a、b、c、d、e 的輸出鏈結最大 流量分別為 2、0、0、2、0;節點 a、b、c、d、e 的輸入鏈結最大流量分別為
0、0、0、2、2。此時 Local Utilization Model 中的目標函數為 2 2 2 2 c 若選擇分流,節點 a、b、c、d、e 的輸出鏈結最大流量分別為 1、1、1、1、0; 節點 a、b、c、d、e 的輸入鏈結最大流量分別為 0、1、1、1、1。目標函數為 8 c 在此類網路拓樸中,不管為最短路徑,或平分流量去分散流量,皆會得到相同 的使用率總合,但由 a) Delay 部分可知,不同情況仍會有不同的路徑選擇。 由以上兩例發現,潛在問題為網路拓樸的結構中,若使用者選擇的路徑通過的 鏈結數,使分散、集中流量兩種情形皆有相同的使用率總和,會造成 Local Utilization Model 無法得出單一最佳解。 5 結論 此篇論文中,我們提出一個以分別降低每個節點的輸入和輸出鏈結最大使用率 做為目標函數的線性規畫模型 Local Utilization Model,藉此達到 M/M/1 optimization model 相同的效果,分散網路流量。經過以上實驗,Local Utilization Model 與 M/M/1 optimization model 同時給定相同的參數,在不同的網路拓璞、不同的 link capacity、 不同數量的使用者、使用者不同的分布等各種不同的情況下,運用 LINGO、CPLEX 軟體求得變數解,也就是使用者選擇的路徑。此時,運用式子(2.1)求得平均封包延 遲大小,比較兩模型之值,Local Utilization Model 和 M/M/1 optimization model 差 距變動範圍很大;實驗 2 中,最小差距大約在 1%左右,但實驗 1 卻增加至 4%。而 GTE 拓樸比較中,更多出 10%。
比較兩模型在不同於 Poisson traffic 之下的效能,使用 NS2 建置一個與相同參 數的模擬網路拓璞,並將使用者與其路徑指定至 OTcl script 中,將模擬結果加以比 較。由結果得知,Local Utilization Model 延遲比 M/M/1 optimization model 多出的
範圍不超過 5%,大部份只比 M/M/1 optimization model 多出約 1~2%,有些情況 甚至可比 M/M/1 optimization model 得到更小的延遲,兩種模型的路徑比較也有高 達 80~90%的相似度,但求解時間節省為 M/M/1 optimization model 的好幾十倍幾 百倍。進而和[11]中的 GTE 拓樸比較,Local Utilization Model 延遲比[11]中皆少於 約 3%,但 Local Utilization Model 為線性規劃可以直接求得解,[11]中為了解出非 線性問題,需要運用到迭代方法,根據誤差範圍大小不同,求解時間需求也不同。 因此,我們所提出的 Local Utilization Model 可達到需要快速並最小延遲的目的。 Local Utilization Model 方法,在一些潛在問題中,會無法求得最佳解。但只要討論 的情況為大量的使用者、鏈結使用率並非特別高的情況之下,便可避開這些特殊情 形,Local Utilization Model 可以有效的分散流量、壓低鏈結使用率。
6 參考文獻 [1] http://www.isi.edu./nsnam/ns/index.html [2] 柯志亨,程榮祥,鄧德雋,謝錫堃,黃文祥, ”計算機網路實驗-以 NS2 模擬工具實作”, 學 貫行銷股份有限公司 [3] 柯志亨團隊, “計算機網路實驗-使用 NS2 模擬多媒體通訊與無線網路”, 學貫行銷股 份有限公司
[4] Schrage, Linus E., “Optimization modeling with Lingo” [5] 熊高生, “作業研究入門導引-使用 LINGO”
[6] http://www.bockytech.com.tw/products/Lingo.htm
[7] http://www-01.ibm.com/software/integration/optimization/cplex-optimizer/
[8] Donald Gross, Carl M. Harris, “Fundamentals of Queueing Theory”
[9] Michal Pioro, Deepankear Medhi, “Routing, Flow, and Capacity Design in Communication and Computer Networks”, 2004
[10] K. T. Cheng and F. Y. S. Lin, “Minimax End-to-End Delay Routing and Capacity Assignment for Virtual Circuit Networks,” Proc. IEEE Globecom, pp. 2134-2138, 1995 [11] H.-H. Yen and F. Y.-S. Lin, "Near-optimal delay constrained routing in virtual circuit
networks", Proc. IEEE INFOCOM , vol. 2, pp.750 - 756 , 2001.
[12] B. Gavish and S. L. Hantler, “An Algorithm for Optimal Route Selectionin SNA Networks,” IEEE Trans. on Comm., COM-31, pp. 1154-1160, Oct.1983.
[13] S. Chen and K. Nahrstedt, “An Overview of Quality of Service Routing for Next-Generation High-Speed Networks: Problems and Solutions, ”IEEE Network, pp. 64-79, Nov./Dec. 1998.