• 沒有找到結果。

一、 緒論

1.4 論文架構

本論文接下來之章節編排組織如下:

第二章. 將說明從其他文獻中獲得之相關知識及理論。

第三章. 將闡述本論文提出的架構,及如何將多媒體電子廣告資料透 過本論文所提出的多種子和多重路徑 peer-to-peer-like 架構來完成資料的傳送。

第四章. 將展示本論文如何在叢集內傳送多媒體電子廣告資料,並且 利用 NCTUns 模擬程式來模擬不同情況,以驗證本論文提出 的方法之適用性和可行性。

第五章. 總結與未來研究方向。

第2章 背景知識

2.1 網路圖形定義

描述一個電腦網路的構成以 N = (V, E, b, p, q) 來表示之,而 G = (V, E) 是由節點(Vertex)集合及邊界(Edge)集合所構成具方向性的 簡單圖形,而對圖形上的節點 u 及 v 而言,均存在一已給予的正整 數的加權值,如b(.)、 p(.)及 q(.)[31]。

例如對一具方向性的邊界(edge)線 e = (u,v) 而言:

1. b(u,v) > 0 : 為節點 u 及 v 中間邊界(edge)的路徑頻寬 (bandwidth)

2. p(u,v) ≧ 0 : 為節點 u 及 v 中間邊界(edge)的傳遞延遲 (propagation delay),

3. q(u) ≧ 0 : 為節點 u 的暫存延遲(queuing delay)。

(b, p)

u v w x

(b, p) (b, p) (b, p) q

q

q q

(b, p)

圖 2-1 電腦網路的簡單圖形

2.2 網路傳送的相關因素

在網路系統,能影響傳送的相關因素列舉如下:

1. 路徑的可用傳送頻寬(Available bandwidth) 2. 路徑的傳播延遲(Link Propagation Delay)

3. 中間節點儲存及處理資料所需的存貯時間(Queuing Delay)

如果要在最短時間的時間內完成傳送,則應將以上各點均列入考慮,

方能找出一條最佳傳送路徑。在1990 年Chen 和Chin,提出了最快路 徑問題(The quickest path problem),闡述在傳輸網路中,在指 定的兩端點間傳送已知大小的資料(message),如何以多項式時間演 算法來計算出一條最快路徑,使該項資料在指定的兩端點間能夠以最 短的時間完成傳送[8]。所以如何縮短資料傳送時間,在網路系統中 是相當重要的課題,因此便有許多以“最快路徑"為題的相關研究文 章被提出。

而在其他的“最快路徑"相關研究中,有些研究是使用了路徑演算法 來尋找多條最快路徑[9],組合成多重路徑[10],並將欲傳送的資料 加以切割,再經由不同的路徑傳送到目的節點,如此便擴大了路徑的 可用傳送頻寬,將傳送時間加以縮減[11]。在Guoliang Xue 所提出 的Optimal Multi-Path End-to-End Data Transmission in Networks 一文中[12],即是以多重路徑為題,對網路上傳送已知大小的資料 時,提出多項式時間演算法,以計算出一組傳送時間最短的多重路徑。

2.3 相關的研究

4. 將傳送資料量(amount of data)加入考慮的最快路徑( quickest path ) - 最快路徑演算法不僅考慮到了傳遞延遲[17],也將

2.3.1 單一路徑法

假設我們希望將一大小(size)為σ 之資料(message)以最快的方 式,由起始節點 u 傳送到目的節點 x,以單一路徑而言,將有如下之 傳輸延遲限制:

令π=(ν1, ν2, …, νt) 為一條起始節點ν1 至目的節點νt 的 路徑,則路徑π的延遲時間為:

D(π) = Σp(Vj-1, Vj) + q(vj), 1<j≦k; ………(1)

其中π之最大可用頻寬為:

B(π) = min b(Vj-1, Vj), 1<j≦k ………(2)

故當我們將一大小為σ> 0 之資料,經由路徑π來傳送,其可用頻寬 為 b 時,其限制為 b ≦ B(π),而其傳送時間 T 為:

T(π, b, σ) = D(π) + ceil(σ/ b ) - 1 ………(3)

由 上 式 可 知 , 資 料 在 單 一 路 徑 傳 送 問 題 (single-path routing problem) ,傳送時間實際上不僅與該路徑之路徑延遲 D(π)有關,

而且必須考慮路徑容量 B(π),如此才能找出最短之傳送延遲。

2.3.2 多重路徑法

欲使傳送時間最短,則可使用多條路徑,即將網路中所有閒置之路徑 找出,加寬頻寬來傳送資料,以期達到最短的傳送延遲,如此之方式 則為多重路徑傳送問題 (multi-path routing problem) ,此一傳送 方式之概念如下:

欲將一大小為σ(σ>0)的資料從起始節點 u 傳送到目的節點 x。對 單一路徑(Single-path routing)而言是尋找一條 u 到 x 的路徑 π,使 T(π,b,σ)為最小。對多重路徑路由(The Multi-path routing problem) 而言,是將資料σ分解為為:

σ= Σσi, , 1≦i≦k; ……… (4) 同時也將每一邊界(Edge)的頻寬分解成一非負的整數,也就是對每一 邊界(u,v)存在頻寬如下:

b(u,v) = Σbi(u,v), bi(u,v) ≧0, 1≦i≦k; ……… (5) 而且對 k 條 u-v 路徑π1, π2, …, πk ,

bii) = min bi (u, v), 1<j≦k; ……… (6) 此處bii)為Edge分解的最小頻寬。

在本論文的討論中,頻寬 b(.)和欲傳送的資料σ,甚至為執行多路 徑傳送而分割的頻寬 bi(.) 和其分配的流量σi 其大小均為正整數。

2.4 簡單的範例

以圖2-1為例,所展示的為一 N=(V,E,b,p,q) 所構成的網路模型,

節點集合為 V={u,v,w,x} 等四個節點,每個節點上均伴隨有一數值 q,表示流過該節點時的存貯延遲(queuing delay )時間,同時假 設圖形上的每一個節點的緩衝器均可容納所有越過的資料量;而每兩 個 節 點 間 為 具 有 方 向 性 的 傳 輸 線 ( 邊 界 線 ) 集 合 E={(u,v),(u,w),(v,w),(v,x),(w,x)}等五個邊界線,每條邊界線上 亦均伴隨有一(b,p)的資料對,其意義為該條邊界線的(頻寬,傳 遞延遲)。如下圖所示:

(6, 2)

u v w x

(10, 2) (10, 2) (10, 2) 1

1

0 1

(4, 2)

圖 2-2 電腦網路的簡單範例

1. 以節點 x 而言,其上的數值“1"即是存貯延遲(queuing delay) 時間,表示為 q(x)=1,即資料流入該節點完成儲存及相關處理 需時 1 個時間單位(Time Unit)。

2. 而 x 節點及 w 節點間邊界線上的資料對(10,1),即表 x、w 間的 路徑頻寬(容量)為 10,也就是該路徑每一單位時間可傳送 10 個 資料單位(Data Unit),而且傳遞延遲(propagation delay)為 1 個 資料單位(Data Unit)。

2.4.1 單路徑傳送

例如,從節點 u 傳送 100 個單位資料到節點 x,而流經路徑為π1,

設路徑π1={u, v, x},則所需的傳送時間為 22 個時間單位。其傳送 時間可以由下法得到:

1. 先找出對整條組合後路徑的頻寬即 B(π1),本例中 B(π1) = 6,

故有 6 個資料單位在時間單位為 0 時開始被送出,另 6 個資料單 位則在時間單位1時被送出,其餘原理同上,而資料完整到達目 的節點所需的時間為 22 個時間單位。以本方法傳送觀之,即可代 入公式(3),即

T(π1,b1,σ)= D(π1) + ceil(σ / b1 ) - 1 來計算時間:

D(π1) = ( 2 + 1 ) + ( 2 + 1 ) = 6

T(π1, 6, 100) = D(π1) + ceil( 100 / 6 ) – 1 = 6 + 17 -1 = 22 (時間單位)

(6, 2)

u v w x

(10, 2) (10, 2) (10, 2) 1

1

0 1

(4, 2)

圖 2-3 單路徑傳送的π1

2. 故若以另一條路徑π2 = {u, v, w, x} 來傳送 100 個資料單位,

則可以算出所需的傳送時間 T(π2, 10, 100) = 18,即需要 18 個時間單位來完成傳送

D(π2) = ( 2 + 1 ) + ( 2 + 1 ) + ( 2 + 1 ) = 9 T(π2, 10, 100) = D(π2) + ceil( 100 / 10 ) – 1 = 9 + 10 -1 = 18 (時間單位)

(6, 2)

u v w x

(10, 2) (10, 2) (10, 2) 1

1

0 1

(4, 2)

圖 2-4 單路徑傳送的π2

3. 故若以另一條路徑π3 = {u, w, x} 來傳送 100 個資料單位,則 可以算出所需的傳送時間 T(π3, 4, 100) = 30,即需要 30 個時 間單位來完成傳送

D(π3) = ( 2 + 1 ) + ( 2 + 1 ) = 6

T(π3, 4, 100) = D(π3) + ceil( 100 / 4) – 1 = 6 + 25 -1 = 30 (時間單位)

(8, 2)

u v w x

(10, 2) (10, 2) (10, 2) 1

1

0 1

(4, 2)

圖 2-5 單路徑傳送的π3

此亦是在網路中以π2 為最快路徑,以 18 個時間單位來傳送 100 個 資料單位。此即為最快路徑問題(quickest path problem),最早 被提出研討是在 Chen 和 Chin 的文章中[8]。

2.4.2 多重路徑傳送

3‧ 32 個資料單位走路徑π3,π3={u, v, x},D(π3) = 6,取 b(π 3) = 4,所以 T(π3, 4, 32) = D(π3) + ceil( 32 / 4 ) - 1

= 6 + 8 – 1 = 13

(8, 2)

u v w x

(10, 2) (10, 2) (10, 2) 1

1

0 1

(4, 2)

圖 2-8 多重路徑中的π3

2.4.3 單一路徑法和多重路徑法的比較

2.5 點對點應用(Peer to Peer Application)

點對點應用主要概念是在現有實體網路上做邏輯佈設,並非重新建構 新實體網路,用戶端不管選用哪種邏輯架構,最終資料傳輸與訊息傳 送,還是藉由實體網路的IP 傳輸。兩個用戶端之間各種傳輸,不管 是直接傳輸或透過其他用戶端的間接傳輸,基本上都是用戶端兩兩互 相溝通傳遞。然而這些邏輯架構的優劣比較就在於佈設上是否穩固、

是否有效率以及所提供服務的多寡[32]。

2.5.1 主從式傳輸(Client and Server)架構

主從架構是最早透過網路傳輸的方式[20]。由用戶端( Client )和伺 服器( Server )組成。雙方必須以兩方皆認同的通訊埠( Port )和通 訊協定( Protocol )來溝通。常見應用首推檔案傳輸協定( FTP )。

client server

加入主從式傳輸架構用戶端只需要知道伺服器網路位置、通訊埠與通 訊協定即可。用戶端搜尋資料時,直接向伺服器發出詢問即可。

此一架構的優點如下:

1. 通訊協定簡單。

2. 一般擁有較穩定的傳輸速度。

3. 容易確保下載檔案的完整性及統一性。

4. 伺服器可有效控管檔案的讀取權限。

此一架構的缺點如下:

1.有固定的伺服器,容易成為攻擊的目標,一旦伺服器被攻破或者故 障,則資訊的來源隨即停止。

2.分享服務只能由伺服器端提供,用戶端要分享資源時,必須經由伺 服器同意,然後上傳到伺服器。造成檔案分享的限制。

3. 用戶端必須知道伺服器等相關資訊。

4. 伺服器的負載重,除了提供搜尋還要負責傳輸資料。

2.5.2 第一代點對點傳輸架構

簡單地說,就是具有索引伺服器(Index Server)輔助檔案分享架構。

主要是由索引伺服器和一般的點(Peer)組成,點即為用戶端。索引伺 服器顧名思義,就是伺服器上擁有大型集中式索引,其中記錄相連點 有哪些資源可供分享[21]。

加入架構的方法很簡單,如同主從式架構,點只需知道索引伺服器網 路資訊即可。當點搜尋資料時,直接向索引伺服器詢問,而索引伺服 器則回傳擁有所需資料的用戶端資訊。所需資料的實體來源是回傳中 的部分用戶端,並非索引伺服器。這也是此架構與主從式架構最大的 差異。Napster為第一代點對點傳輸架的代表。

server client

圖2-10 第一代點對點傳輸架構

此一架構的優點如下:

1. 不需處理檔案傳輸,伺服器負載減輕許多。

2. 一般狀況下,因為來源多所以傳輸速度提升許多。

3. 通訊協定簡單,用戶端不需維護其他用戶端資訊。

此一架構的缺點如下:

1. 已經證實為非法。法院判Napster 有大量的侵犯版權行為發生,

下令其改進。

2. 因為有固定的索引伺服器,容易成為攻擊目標,一旦索引伺服器 被攻破或者故障,則搜尋功能完全喪失。

2.5.3 第二代點對點傳輸架構

第二代主要是為了解決第一代中索引伺服器所引發的各種問題,尤其 是違法問題。此架構下只有一種元件:點。所以架構中的服務必須由 各點互相合作,因此出現鄰居( Neighbor )的概念,因為網路資源分

server

圖2-11 第二代點對點網路傳輸架構 client

加入此類架構,必須藉由已在架構下的點輔助資訊交換認識其他鄰 居。當點搜尋資料時,只需將搜尋封包傳送給所認識的鄰居。

圖2-12 Gnutella 搜尋邏輯

分散式服務起初是以Gnutella 為龍頭[23],其搜尋時將搜尋封包傳 送給所有鄰居,然後鄰居各自回應原始點[24],並轉送搜尋封包給第 二層鄰居,如此遞迴下去。此種作法,造成相當嚴重的搜尋洪流(Query Flooding)[25]。

後來FastTrack (即KaZaA 的底層技術)迅速掘起取代其地位,改為搜 尋封包在點間傳送,直到找到檔案實體才將搜尋結果回傳給原始點,

並非每一點都做回應[26]。而這種技術仍相當不便,容易產生無用的 搜尋迴圈,當大量搜尋同時執行將造成網路效能大幅下降。此問題最

簡單的處理方式就是限定搜尋深度(Gnutella 限制往下搜尋七層),

但是這個作法讓搜尋只限定於邏輯網路的某些區域。

此一架構的優點如下:

1. 沒有索引伺服器的限制。

2. 目前美國法院判定法律上合法。

此一架構的缺點如下:

1. 雖然利用限定搜尋深度,但是依然造成網路壅塞。而搜尋封包在 網路中來回傳送,造成搜尋時間過長。

2. 只能做到區域性搜尋( Local Search )。

3. 較多人知道的點往往成為熱點(Hot Point)。造成該點負載遠高於 其他點。

4. 如果預知點剛好都不在網路架構下,則等於無法加入該網路架構。

2.5.4 第三代點對點傳輸架構

第三代是近期的主力,主要是因為加入分散式雜湊表( DHT,

第三代是近期的主力,主要是因為加入分散式雜湊表( DHT,

相關文件