• 沒有找到結果。

行動代理者系統提供網路運算模式一個功能強大、具有一致性的 模式(Paradigm),使得分散式系統的設計及發展有了徹底的改革。在 這個章節中,針對三種分散式運算的設計模式,作一些簡單的介紹與 比較。這三種分散式運算的設計模式是:主從(Client-Server)架構、隨 喚程式碼(code-on-demand)、及行動代理者。

z 主從式運算架構

主從式架構分為伺服器(Server)端與用戶端(Client),彼此透過網 路直接連接工作,伺服器公佈一組用來存取某些資源(Resources, 如 資料庫)的服務(Services),而這些提供服務的程式碼是寄宿在伺服器 端。 當用戶端需要存取伺服器端的某些資源時,就必須使用伺服器 端所提供的某些服務,而這些服務皆在伺服器端執行,換句話說,伺 服器具有處理程序的能力。 傳統上,要執行遠端的程式,可能需要 使用遠端程序呼叫(Remote Procedure Call,RPC)這類技術來達成目

程序呼叫(Procedure Call),伺服器收到後便會執行此程序,執行完畢 後將結果傳回給用戶端。

圖 2-主從運算模式

RPC 技術是主從模式常採用的方式,它的缺點是它的作業過程:

用戶端發出要求服務,伺服器回應結果,會經由網路不斷的重複,造 成網路流量的負荷,如圖2-5。 利用 RPC 技術來進行系統發展,也 不是一件容易的事,在不同的平台上,實作RPC 的方式與機制也不 盡相同。對行動式計算而言,以RPC 技術為基礎的主從式架構,在 執行的時候,必須維持和網路的持續連結狀態,在經濟與技術上的考 量上,都不易實施。 目前大多數的分散式系統以此種模式為基礎,

主機掌控全面:程式碼、資源、及程序處理。除了RPC 外,物件要 求仲介(Object Request Brokers, CORBA),以及 Java 的遠端方法引用 (Remote Method Invocation, RMI)都是支援主從架構的技術。

圖 3 -Code-on-Demand(Applet)模式

z Code-on-Demand

依照Code-on-Demand 的模式,如圖 2-3,當用戶端需要程式碼 時,必須先由伺服器端下載來執行。伺服器端提供程式碼,當用戶端 下載程式碼執行時,計算能力是交由用戶端所決定。 用戶端掌握處 理程序執行能力、局端的資源,相較於傳統的主從式架構,用戶端無 須事先安裝程式碼,因為所有需要的程式碼都可以由伺服器端下載來 執行。

Java applets 以及 servlets 是此種模式的特例,WWW 伺服器端 提供Applet 的程式碼,當 WWW 瀏覽器瀏覽包含 Applet 程式碼的 網頁時,便會將Applet 下載在用戶端執行。

z Mobile Agent 模式

行動代理者模式的主要特性,如圖2-4,在網路上任一個行動代 理者系統主機都具有高度的彈性,可以掌握程式碼、資源、程序處理 三者的部分混合。他的程序處理能力可以與局端的資源連結在一起,

程式碼並不是被一台單一主機所束縛,而是在整個網路裡都可以利用 到的。

圖 4-行動代理者模式

相關文件