行政院國家科學委員會補助專題研究計畫成果報告
※※※※※※※※※※※※※※※※※※※※※※※※※※
※ ※
※ 行動分散式系統中群組通訊之有序訊息處理機制研究 ※
※ ※
※※※※※※※※※※※※※※※※※※※※※※※※※※
計畫類別:V 個別型計畫 □整合型計畫 計畫編號:NSC 90-2213-E-011-063
執行期間:90 年 8 月 1 日至 91 年 7 月 31 日
計畫主持人:邱舉明 共同主持人:
本成果報告包括以下應繳交之附件:
□赴國外出差或研習心得報告一份
□赴大陸地區出差或研習心得報告一份
□出席國際學術會議心得報告及發表之論文各一份
□國際合作研究計畫國外研究報告書一份
執行單位:國立台灣科技大學 資訊工程系
中 華 民 國 91 年 10 月 27 日
行政院國家科學委員會專題研究計畫成果報告
行動分散式系統中群組通訊之有序訊息處理機制研究
A Study on Ordered Message Delivery for Group Communication in Mobile Distributed Systems
計畫編號:NSC 90-2213-E-011-063 執行期限:90 年 8 月 1 日至 91 年 7 月 31 日 主持人:邱舉明
國立台灣科技大學資訊工程系 教授Email:[email protected] 計劃參與人員: 蕭志明,張文瑞,吳槐桂,賴志強
國立台灣科技大學 資訊工程系
一、中文摘要:
在分散式系統中,群組通訊是一重要的 通訊模式。而在群組通訊中,適當的訊息處 理次序是許多分散式應用一項基本的需求。
在本研究中,我們針對行動分散式計算系統 中,處理機的移動對群組通訊的影響,並顧 及行動元件資源不足,以及相關無線網路 頻寬有限的問題,提出一套有效率的訊息處 理機制,以達到完全次序的要求。
本研究利用行動支援站位置固定之特 性,將以傳輸樹觀念為基礎的完全次序群 組 通 訊 模 式 實 現 於 行 動 分 散 式 計 算 系 統 中。尤其是,我們提供了有效的同步以及 移動換手機制,以協調在無線網路上的傳 輸動作,以及平順地整合由於處理機移動 所產生的訊息傳輸工作的變動,免除在無 線網路上不必要的訊息重複傳送行為,以 提昇系統效能及增加其可行性。
關鍵詞:群組通訊、移動換手、行動分散式 計算,傳播樹、完全次序。
Abstract:
Group communication has been an important communication paradigm for distributed systems. Ordered message delivery is demanded by many distributed applications in group communication. Hence it is desirable to develop an efficient communication mechanism that enforces ordered message delivery for mobile distributed computing systems. Most of existing message delivery schemes are targeted at traditional distributed systems and are not suitable for mobile environment. On the other hand, research works that specifically address mobile systems
are limited. In this project, we have designed an efficient mechanism that implements total-ordered message delivery for mobile distributed computing systems.
Our scheme is based on the concept of propagation trees which has been used previously for conventional distributed systems.
By taking advantages of the computing power and communication facilities of the fixed mobile support stations we may significantly improve the efficiency of the systems. In particular, we have developed a synchronization mechanism to eliminate the need for duplicate transmissions of the same messages in a local wireless cell. This results in a significant saving of wireless bandwidth.
Keywords: Group communication, handoff, mobile distributed computing, propagation tree, total order.
二、計畫緣由與目的:
在 分 散 式 系 統 中 , 群 組 通 訊 (group communication) [18] 是 一 個 重 要 的 通 訊 模 式。而在群組通訊中,適當的訊息處理次序 (ordered message delivery)一直都是許多分散 式應用一項不可缺的需求。由於無線通訊 (wireless communication)技術的蓬勃發展,許 多具有行動性(mobility)的計算器漸漸成為分 散式系統的成員,參與系統中的合作計算,
這也就形成了行動分散式計算系統。由於行 動分散式計算系統與傳統分散式系統有其基 本架構的不同,而且一般之行動處理機有硬 體及相關網路資源上的限制。其中,電池是 其能量來源,由於電池有限的電力,行動處 理機之傳輸必須考慮及此特性,以節約能源
消耗,而無線通訊品質顯然也不如固定式網 路穩定,通訊可靠度是另一問題,此外,無 線網路有限的頻寬又是其限制之一。當然,
就系統邏輯而言,處理機的可移動性是其間 最大的區別,由於處理機的移動,會造成訊 息遺失,或在交換的過程中沒收到訊息的問 題,令通訊工作變得困難。
過去,針對傳統分散式系統中群組訊 息處理次序的課題,已有許多研究者提出 各種不同的方法。這些方法大致可分為三 類:
(1)集中式 [3,9,14,16,20,31];
(2)分散式 [7,8,17,19,21-23,26,28-30];
(3)折衷式 [11,12,15,27]。
在集中式方面,其訊息處理的次序是由系 統 中 的 一 個 協 調 者 (coordinator) 負 責 決 定,當一個處理機要送出一訊息時,必須 先 由 協 調 者 處 取 得 一 順 序 號 碼 (sequence number) , 各 個 目 的 地 處 理 機 收 到 訊 息 後,就依此順序號碼決定訊息 處理次 序。
使 用 集 中 式 方 法 的 好 處 是 比 較 容 易 執 行,但 此法 的 缺點 是 (1)協調者的負 荷太 重;(2)系統容錯能力不好。在分散式的方 法中,訊息處理次序是由訊息接收者本身 來負責,基本上,發送端是以各接收端所 提 議 的 順 序 號 碼 之 最 大 者 為 其 真 正 的 訊 息順序號碼。因此,須經三個來回,才能 產生訊息處理次序,而這也是此法的一大 缺點,此外,各個處理器的負荷並不比集 中式的協調者小。在折衷式方法方面,訊 息的傳遞是架構於特殊的結構如樹狀結構 (tree structure)上,藉以達到符合訊息處理完 全次序的需求。折 衷式的優 點是可 利 用系 統的結構,免除賦予每一訊息順序號碼的 過程。上述的方法,均是為傳統固定式網 路而設計,並不適合直接使用在行動分散 式系統中。在這種系統裡,目的群組之處理 機的移動往往會造成資料無法收到,通訊效 率偏低,更可能令原來的訊息處理次序特性 被破壞掉。
近年來,也有少數的研究提出了適用 於 行 動 計 算 的 訊 息 次 序 處 理 方 法 [1,2,4,5,10,13,25,32,33]。S. Alagar and S.
Venkatesan [4] 使 用 類 似 [26] 的 分 散 式 方 法來達成行動計算的因果次序,同樣的方
法也出現在[25,33]。Ye and Keane [32]則使 用集 中 式 方 法 來 達 成 行 動 計 算 中 的 完 全 次序需求,它改善[16]中的方法,由系統 中 的 一 台 行動支援站來當編號者 , 當 一 個 行動處理機要送出一個訊息時,必須先向 此行動支援站取得一順序號碼,而各個目 的地行動處理機收到訊息後,就依此順序 號 碼 決 定 訊息 處 理 次 序。在 [5,13]中, 也 使用類似的方式,達成行動計算中的完全 次序需求,這類方法,當然也有前述集中式 方法之缺點。
由前述可知,針對行動分散式計算系 統,有關群組通訊訊息處理次序所進行的 研究,目前仍然相當有限,而在傳統系統 上所發展的演算法,並未考慮處理機的可 移動性,並不適合直接套用在具移動性的 行動計算系統。因此,有關這方面的機制 有進一步探討的必要。本計畫的目的就是 針 對 基 於 具 基 礎 設 施 之 行 動 分 散 式 計 算 系統的群組通訊,研究處理機之移動對群 組通訊架構所造成的變化,擷取其對訊息 處理次序需求的影響因素,進而發展出一 套高效率、低耗損的訊息處理機制,以符 合完全次序的需求。下列方向的考慮則特 別重要:
1. 降低訊息被轉送的機會,以減少行動 處理機耗損,尤其是得以善用有限的 無線網路頻寬;
2. 已經可以被處理的訊息,應儘快決定 獲得處理,減少不必要的延遲。
3. 機 制 本 身 的 演 算 法 宜 簡 單 有 效 , 不 浪費太多系統資源,而且系統也應具 可塑性,能隨處理機的移動,調整其 配置。
三、結果與討論:
在本研究中,我們也是採用以傳播樹為 基礎的方式達到完全次序的需求 但是我門 是以固定的行動支援站擔任由行動處理機組 成 的 小 群 組 (meta-group) 中 的 經 理 者 (manager)角色 而對每一小群組而言 其經理 者的選擇是以各該小群組成員的母行動支援 站為對象,並儘量避免行動支援站過多的負 荷。採用行動支援站傳播樹的原因是行動支 援站之間通常是以可靠又高速的有線網路連 結,群播訊息經由行動支援站來傳播,不會
耗用到無線網路的頻寬,也避免掉無端耗費 行動處理機的資源。此時,完全次序的需求 已被確定,每個經理者再把訊息傳給其他非 經理但其下有該小群組成員之行動支援站,
如此,無線傳輸也就只限於最終的一段路 程,行動處理機收到(receive)群播訊息時,
可以馬上處理(delivery),無須等待。
本研究中的機制將系統分為正 常 操 作 動作(normal operation)與移動換手動作
(handoff operation)兩部分。在正常操作 時,不考慮行動處理機移動換手的問題。
此時,每個行動支援站下可能會有屬於不同 小群組的行動處理機,該行動支援站會接收 到來自不同經理者轉送來的群播訊息,這些 群播訊息可能會重疊。為了減少行動支援站 重複傳送相同的群播訊息,我們的設計加入 同步傳送機制,讓行動支援站只須將相同的 訊息傳送一次給其所負責的行動處理機,而 又能令即使是屬於不同的小群組成員各自確 保其該有的處理次序,此外,也可避免死結
(deadlock)的產生。如此,在無線網路上各 個訊息只需傳播一次,這就不會耗用到無線 網路的頻寬及行動處理機的資源。以圖示 之,例如在圖一中,行動支援站 S
1
與 S2
分 別是小群組<AB>與<AC>的經理者,在行動 支援站 S 下有行動處理機 h1
與 h2
分別屬於小 群組<AB>與<AC>。因此,送給群組 A 的每 一訊息,S 會重複收到兩次,在同步機制中 會將送給群組 A 的群播訊息做同步的動作,亦即當 S 先收到來自於 S
1
的群播訊息 a1時,會先將此群播訊息暫時阻擋,等到由 S
2
到來的 a1 也到達佇列前端時,S 才將 a1透過 無線網路同時傳送給行動處理機 h1
與 h2
。S
h
1h
2S
1S
2a
2b
2b
1a
1c
2a a
2c
1 1<AB> <AC>
圖一 正常操作時同步傳送機制
T
h
S
h
1h
2S1 S2
h
(b) (a)
Handoff
S1 S2
b1 c1
Merge a2
S
<AB> <AC>
a1
Q< AB> Q< AC> Qh
圖二 換手時的合併動作
移 動 換 手 動 作 是 當 行 動 處 理 機 移 動 到新的行動支援站時才使用,在此情形下會 有兩個情況要考慮。第一種情況是新的行動 支援站已經存在相同小群組的成員,此時,
新的行動支援站已經在接收該小群組的經理 者傳送的群播訊息,所以該行動處理機只需 與新的行動支援站做合併(merge)的動作,
合併動作主要只是檢查該行 動 處 理 機 是 否 在新的行動支援站下有訊息還未收到,當合 併的動作完成後,系統就可回到正常操作模 式。例如,沿用圖一中群播訊息的例子,在 圖二(a)中,行動處理機 h 屬於小群組<AC>
的成員,此時行動處理機 h 從行動支援站 T 移動到行動支援站 S,在行動支援站 S 中已 有<AC>的成員 h
2
,因此行動處理機 h 跟行動 支援站 S 要做合併的動作,檢查 h 是否在 S 下還有傳給群組 A 與 C 的群播訊息還未收 到。在圖二(b)中,Q<AB>
與 Q<AC>
分別表示行 動支援站 S 接收至<AB>與<AC>的經理者的 群播訊息佇列,Qh
為由 T 傳遞給 S 其已收到 的<AC>群播訊息佇列,S 會比較 Q<AC>
與 Qh
,判斷行動處理機 h 是否有群播訊息還未 收到,由圖中很明顯可看出 S 已經傳送 a1與 c1給 h2
(與 h1
),而 T 還未送出任何群播訊息 給 h,因此,S 會再補送 c1與 a1給新加入的 行動處理機 h,之後再將 Qh
丟棄即可,並回 到正常操作模式。第二種情況是新的行動支援站下之前沒 有存在相同的小群組成員,在此情況下,新 的行動支援站要新增加群播訊息佇列以接收 該小群組的經理者傳送來的群播訊息,所以 行 動處理機需要與 新的行動支援站做整合
(integrate)的動作,整合動作的目的是令舊 有存在的群播訊息佇列與新增的群播訊息佇 列達成一致的傳送狀況,亦即就兩者相同的 群組訊息做同步的整合,同步的整合過程需
T
h
S
h
1h
2S1 S2
h
(b) (a)
Handoff
S1 S2
b1 a2
b2
c2
Integrate a2 S3
S b1 c1 c2 b2 S3
<AB> <AC> <BC>
Q< AB> Q< AC> Q< BC>
圖三 換手時的整合動作
考慮舊有行動處理機或新的行動處理機是否 有群播訊息還未收到,當這些佇列完成同步 動作後,系統即回到正常操作模式。以圖示 之,例如,再次沿用圖一中群播訊息的例子,
在圖三(a)中,行動處理機 h 屬於小群組<BC>
的成員, h 從行動支援站 T 移動到 S,S 本 來並沒有 Q
<BC>
群播訊息佇列,因此,從 T 傳遞過來的 Q<BC>
就要做與既存在 S 下的群 播訊息佇列整合的動作。即 Q<BC>
與 Q<AB>
要 就送至群組 B 的訊息達成同步,在此,<BC>與<AB>共享群組 B,同時,Q
<BC>
也要與 Q<AC>
就送給群組 C 的訊息作同步。圖三(b)中,S 已經傳送 a1與 c1給 h
1
與 h2
,然而,h 還未收 到 c1,此時 S 會暫時停送 Q<AB>
與 Q<AC>
裡的 訊息,等到它傳送 Q<BC>
中的 c1給 h 之後,Q
<AB>
、Q<AC>
與 Q<BC>
即達成同步動作,系統就此回到正常操作模式。
如 前 所 述 訊 息 在 傳 播 樹 中 傳 遞 已 經 保有完全次序的特性,亦即群播訊息在行 動支援站(包括經理與非經理者)層次已達成 完全次序需求,加上上述的同步動作並不 會改變已安排好的次序,因此,在各個行 動處理機中,其群播訊息的處理次序自然就 達到完全次序的需求,這不只是在正常操作 時如此,在移動換手下,也一樣適用。以 上 特 性 當 然 是 建 立 於 我 們 的 同 步 機 制 能 免除死結發生的基礎上。
四、計畫成果自評:
本研究之目的是針對行動分散式計算系 統中,處理機的移動對群組通訊的影響,並 顧及行動元件資源不足及有限的無線網路 頻寬的問題,提出一套有效率的群組訊息處 理機制,以符合完全次序的要求。本研究提 出以固定的行動支援站為基礎的傳播樹機 制,加上同步措施的巧妙配合,不但讓行動
支援站不須重複傳送相同的群播訊息,簡化 傳 送 動 作 , 又能避免死結現象的發生,如 此,不會無謂浪費無線網路的頻寬及行動處 理機的資源,並解決行動處理機移動換手時 所產生訊息一致問題。本研究與原計畫內容 相符,也達成原計畫的目標。其中,在降低 訊息被轉送的機會,減少資源浪費,以及 加強系統的可塑性,使能隨處理機的移動 調整其配置方面有不錯的效果,此外,證 諸目前的無線網路技術,如IEEE 802.11,
我們方法的可行性是毫無問題。研究成果 頗具學術價值,也適用於實際的大型行動分 散式系統,其結果目前正整理中,將送學術 期 刊 如 IEEE Transactions on Mobile Computing審核。
五、參考文獻:
[1]
A. Acharya and B.R. Badrinath, “A framework for Delivery Multicast Messages in Networks with Mobile Hosts,” ACM/Baltzer Mobile Networks & Application, vol.1, no.2, 1996, p199.
[2]
A. Acharya and B.R. Badrinath, “Delivering Multicast Messages in Networks with Mobile Hosts,” In Proc. Of 13
thDCS, 1993, p.292.
[3]
R. Aiello and E. Pagani, “Causal Ordering in Reliable Group Communications,” ACM SIGCOOM’93 , 1993, p.106.
[4]
S. Alagar and S. Venkatesan, “Causal Ordering in Mobile Distributed System,”
IEEE Trans. Comp. vol.46, no.4, 1997, p.353.
[5]
A. Bartoli, “Group-based multicast and dynamic membership in wireless networkd with incomplete spatial coverage,” Mobile networks and Applications 3(1998), p175
[6]
B. Charron-Bost, “Concerning the Size of Logical Clocks in Distributed Systems,” Information Processing Letters, 1991, p.11.
[7]
K. Birman and T. Joseph, “Reliable Communication in Presence of Failures,”
ACM Trans. Computer System, vol.5, no.1, Feb 1987, p.47.
[8]
K. Birman and A. Schiper “Lightweight Causal and Atomic Group Multicast,” ACM Trans. Computer System, vol.9, no.3, Aug 1991, p.27.
[9]
J. Chang and N.F. Maxemchuk, “Reliable
Broadcast Protocols,” ACM Trans.
Comput. Syst. vol.2, no.3, Aug 1984, p.251.
[10]
K.-H. Chi, L-H. Yen and C.-C. Tseng and T.-L. Huang, “A Causal Multicast Protocol for Mobile Distributed System,” IEICE Trans. Information and System, vol.E00-A, no. 1, Jan 1999, p.1
[11]
G.-M. Chiu and C.-M. Hsiao “A Note on Total Ordering Multicast Using Propagation Trees,”
IEEE Trans On Parallel and Distributed Systems, vol. 9, no. 2, Feb 1998, p.217
[12]
H. Garcia-Molina and A. Spauster, “Ordered and Reliable Multicast Communication,”
ACM Trans. Computer System, vol.9, no.3, Aug 1991, p.242.
[13]
A. Giuseppe, Alberto Bartloi and S. Francesco,
“Group Multicast in Distributed Mobile Systems with Unreliable Wireless Network,”
IEEE 18
thProc. On Reliable Distributed Systems, 1999, p.14
[14]
W. Jia, J. Cao and T.-Y. Cheung, “A Multicast Protocol Based on A Single Logical Ring Using A Virtual Token and Logical Clocks,” International Conference on Parallel Processing, 1996, p.I-86.
[15]
X. Jia, “A Total Ordering Multicast Protocol Using Propagation Tree,” IEEE Trans.
On Parallel and Distributed System. vol.6, no.6, June 1995, p.617.
[16]
M. F. Kaashoek, “An Efficient Reliable Broadcast Protocol,” Oper. Syst. Rev. vol.23, no.4, 1989, p.5.
[17]
L. Lamport, “Time, Clocks, and the Ordering of Events in a Distributed System,” Comm.
ACM, vol.21, no.7, July 1978, p.558.
[18]
L. Liang and S. T. Chanson, “Process Groups and Group Communications:
Classification and Reqirement,” IEEE Comput. vol.23, Feb 1990, p.56.
[19]
S. W. Luan and V. D. Gligor, “A Fault-Tolerant Protocol for Atomic Broadcast,” IEEE Trans. Parallel and Distrib.
Syst. vol.1, July 1990, p.271.
[20]
E.T. Luis, F. Henrique and V. Paulo,
“Totally Ordered Multicast in Large-Scale System,” IEEE Proceedings of the 16
thICDCS, 1996, p.503.
[21]
F. Matter, “Virtual Time and Global States of Distributed Systems,” Parallel and Distributed Algorithm, 1989, p.215
[22]
A. Nakamura and M. Takizawa, “Causally Ordering Broadcast Protocol,” Dist. Comput.
Syst. 1994, p.48.
[23]
A. Nakamura and M. Takizwa, “Priority-Based
Total and Semi-Total Ordering Broadcast Protocols,” Proc. of the 11th IEEE ICDCS, 1991, p.239.
[24]
L.H. Ngoh, “Multicast spport for Group Communications,” Comput. Networks and ISDN System, 1991, p.165.
[25]
R. Prakash, M. Raynal and M. Singhal,
“An efficient causal ordering algorithm for mobile computing environments,” Proc. Int’l Conf. Distributed Computing System, 1996, p.744.
[26]
M. Raynal and A. Schiper, “The Causal Ordering Abstraction and a Simple Way to Implement it,” Information Processing Letters, 1991, p.343.
[27]
E.T. Rodrigues and P. Verissimo, “Causal Separators for Large-Scale Multicast Communication,” Dist. Comput. Syst. 1995, p.83.
[28]
A. Schiper and J. Eggli, “A New Algorithm to Implement Causal Ordering,” Proc. 3rd Int.
Workshop Distrib. Algorithms, Lecture Notes Computer, 1989, p.219.
[29]
K. Shima, H.I. Higaki and M. Takizawa,
“Fault-tolerant causal delivery in group communication,” Proc. Int’l Conf. Parallel and Distributed Systems, 1996, p.302.
[30]
M. Takizawa and A. Nakamura, “Totally Ordering Broadcast Protocol on the Ethernet,” IEEE Pacific Rim Conference on Commun., Computers, Signal Processing, 1989, p.16.
[31]
A. S. Tanenbaum, “Parallel Programming Using Shared Objects and Broadcast,” IEEE Comput, Aug 1992. p.10.
[32]
Xinfeng Ye and John A. Keane, “A multicast Primitive for Mobile Hosts,” IEEE Conference on Systems, Man and Cybernetics, 1996, p.1718.
[33]