ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:520KB ,
资源ID:2209487      下载积分:20 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-2209487.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(分散式资讯系统期末报告.doc)为本站会员(dzzj200808)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

分散式资讯系统期末报告.doc

1、文档分享平台分散式資訊系統期末報告Mobile AgentR89725057 陳樂昱文档分享平台 Mobile Agent 技術簡介 前言 Internet 的技術帶來了電子商務、遠距教學、視訊會議等應用的發展,然而隨著使用 Internet 的需求日益增加,如何有效做好資訊存取(Information Retrieval)管理與網路和頻寬的妥善使用與管理已成為現今 Internet 技術發展的挑戰和重要議題。Mobile Agent 的技術是現今很多學者專家們所提出為因應與解決新世紀網路應用的瓶頸與問題的方法之一。事實上,mobile agent systems 已有很多被學術機構和高科技公

2、司所開發與設計完成。但今日這項技術卻仍無法廣泛與普及地在Internet 上應用,其主要原因不外乎是 mobile agent 應用的安全與管理因素上的考量。本次報告將對 mobile agent 的核心概念與相關議題、技術等做一番簡介,並探討目前 mobile agent 的實作與應用情形,最後將對 mobile agent 的技術趨勢與發展做簡單的分析與結論。 Mobile Agent 的概念Mobile Agent 是由兩個不同的概念所結合而成的,它們分別是活動性(mobile)與代理性(agent)。因此一般而言, Mobile Agent 乃指自我功能完備、在網路上流動、並代替其他使

3、用者或應用程式來執行工作的一種電腦程式。其中 Mobile Agent的能在任何地方具自我功能完備與獨立執行的特性已被視為下一波用來取代傳統主從式(Client/Server)架構的新運作模式。 (有關 Mobile Agent 和 Client/Server 架構的比較,請見下圖)。雖然不同的學者對 Mobile Agent 仍有稍微不同的看法與定義,不過綜觀整個文档分享平台Mobile Agent 的技術發展,不外乎是為了達到下列幾項目標:減少網路流量、提供非同步式互動(asynchronous interaction)、工作負載分攤(load balancing)、提升容錯能力(faul

4、t resilience)等。在 Mobile Agent 的運作模型中,整個網路被視作有很多 Agent 程式活動與工作的環境,這些 agents 可以在網路中任意流動,可以獨立運作或者和其他的 agents程式互相合作來代替使用者完成或執行某項工作。雖然 Mobile Agent 的模式與概念有很多的優點,但現今 Mobile Agent 的技術仍有很多挑戰與問題要解決,這些議題包括有 : Mobile Agent 的移動機制 如何命名、尋找和查詢一個 Mobile Agent Mobile Agent 的控制 Mobile Agent 間的透通性通訊(transparent commun

5、ication) 使用 Mobile Agent 的安全性與隱私性問題 Mobile Agent 系統的穩定性與效能 Mobile Agent 系統的擴充性(scalability) Mobile Agent 的資源管理 使用 Mobile Agent 的法律與道德面問題上面有關 Mobile Agent 的議題有些是技術上的問題,也有些屬於社會文化層面的議題,如誰要為 agents 的行為負責與 agents 要如何合理地應用等。這些議題在現今關於 Mobile Agent 的研究領域中還未能有令人滿意的解決方案,事實上,更有某些議題如 Mobile Agent 的穩定性、擴充性與效能評估等

6、甚至還沒有初步的研究成果。然而迄今全球已有超過 20 個大型的學術機構、私人組織或計劃正在做有關Mobile Agent 的研究,其中包括 University of Ottawa、MIT、University of Stuttgart、UMBC、OGRI 、IBM、Mitsubishi、Hitachi、British Telecom 等機構。而有關 Mobile Agent 技術的標準化工作也有 CORBA 的 Mobile Agent Facility(MAF)計劃在推行中,因此 Mobile Agent 運作模式的熱潮已儼然成形,事實上,一些實作完成的產品也紛紛出爐(IBM、Genera

7、l Magic、ObjectSpace、Mitsubishi),這也宣告了 Mobile Agent 的時代即將來臨。 Mobile Agent 在通訊與網路管理方面的發展與應用 Mobile Agent 的概念已被引進到新世代的網路架構,如 Telecommunications Information Networking Architecture (TINA)計劃。現今的網路環境是根據國際性的標準來建立的,如 telecommunication management network (TMN) 與 intelligent network (IN)。IN 和 TMN 的架構乃是根據傳統的主從

8、式架構模式,在此環境中有一個集中式管理的節點(node),如 service control points(SCP)來提供服務。所有的 service switching points(SSP)必須在執行時向 SCP要求其提供控制資訊和服務(control messages)才能順利地運作。 SSP 和 SCP 透過文档分享平台遠端程序呼叫(RPC)式的通訊協定如 INAP(the IN Application Protocol)來通訊。因此一個集中式的 SCP 與 INAP 的架構將造成 IN 網路環境潛在的效能瓶頸。事實上關於網路方面的服務若能愈靠近客戶端(clients)執行,效能將愈好

9、,這也是JavaScript 和 Java Applet 的推行目的。因此透過 Mobile Agent 的概念,則能做到將 SCP 的服務動態下載在客戶端執行,以提供 service on demand 的功能。在 Mobile Agent 架構下可有兩種方式來實作 agent-based 的網路管理環境 : smart network 與 smart message。在 smart network 模式下, agents 可以自動地且非同步式地來執行工作,它們可以互相溝通並可動態地被設定(configured),在此模式下,agents 被靜態地設置於網路各節點,因此動態地下載或交換 co

10、ntrol script 是整個網路環境的核心運作模式。每個網路節點都要能有足夠的能力(intelligence)來接收並執行傳送過來的 control scripts。而在 smart message 模式中,agents 並非靜態,而是動態地在網路節點間流動,並在網路節點上的 Agent Execution Environment(AEE)被執行,所謂的 AEE 乃類似 virtual machine 的裝置,可以用來執行 agents 的程式碼。因此 smart message 模式中的 agents 可以作為非同步地訊息傳遞者,例如非同步地在各節點蒐集訊息以將蒐集到的資料傳回 agen

11、t 的原始發送者(owner)。或者 agent 也可作為 network broker 來替使用者設定所有連線服務所需的資訊,如 RSVP 服務等。有了這些 agent-based 的架構,網路服務可以更自動化、分散化管理,甚至能客製化(customization),下圖簡單地說明了 Mobile agent 在 IN 網路環境中的應用模式 :TINA 是未來通訊服務的主要架構之一,在 TINA 的設計概念中要求彈性化與透通式(transparent)的分散式物件處理環境 (Distributed Processing Environment),對於Mobile Agent 的架構,TINA

12、 也定義了所謂的 agent dimensions 來提供 Mobile Agent的實作參考。底下為 agent dimensions 的簡單摘要 : agents 需能代替使用者執行工作 agents 要能永續性存在(persistent)文档分享平台 agents 要能有能力動態改變(adaptive) agents 要能有流動性(mobile) agents 要能彼此通訊 agents 要能 reasoning agents 要能適應各網路節點的執行環境 agents 所執行的工作要能符合社會與法律的規範 Mobile Code 的概念在深入探討 Mobile Agent 的系統設計架

13、構和技術之前,底下將先探討一個和Mobile Agent 密切相關的議題:Mobile Code。Mobile Code 並不是一項新的技術,事實上早在分散式作業系統中的 process migration 的研究中就有包含如何將一個active process 或物件轉移到另一台機器上執行,這轉移必須包括程式碼與程式的執行狀態。這轉移的機制必須考慮 process resource and execution environment binding 等問題,使得遠端的機器能正確地執行轉移過來的 process。因此類似這種可以轉移程式的執行到遠端的方式便是 Mobile Code Syste

14、ms 的概念。整個 Mobile Code Systems 的設計模型主要有三種 : remote evaluation(REV)、code on demand(COD) 及 mobile agent(MA)。1. Remote Evaluation : 在 REV 模式中,本地端的元件有執行能力 (code owner),但缺乏執行程式所需的資源如檔案或其他物件等,但遠端的元件只有資源(resource owner)而無執行所需的程式,因此本地端需要執行該程式時,就先將程式碼傳給遠端有資源的元件,該元件接收 request 並利用本身的資源與得到的程式碼來執行工作,並將結果傳回給本地端的元件

15、。2. Code On Demand : 在 COD 模式中,本地端的元件只有資源(resource owner)而無執行所需的程式,程式碼(code owner)在遠端的元件上,因此本地端需要執行該程式時必須向遠端元件要求下載程式碼,遠端元件收到 request 後便傳送近端元件所需的程式碼,而真正程式的執行工作還是在近端元件上。3. Mobile Agent : 在 MA 模式中,本地端的元件有執行能力(code owner),但缺乏執行程式所需的資源,該資源位於遠端的元件上。因此本地端的元件帶著程式一起透過網路移動到遠端,在遠端取得資源並執行程式。因此由上述可知,Mobile Agent

16、 在 Mobile Code Systems 中最大的挑戰即是如何讓整個元件,包括程式碼、元件當時的狀態、元件擁有的資源等一起完整地搬移到遠端去執行。下面即為這些方法和傳統的主從式架構間的簡單比較圖 :文档分享平台 Mobile Code 的技術由上述可知,Mobile Agent 的系統基本上就是 mobile code 的實作方式之一,因此底下將繼續深入探討一些 mobile code 的重要相關技術議題。1. mobile code 執行機制與虛擬機器 下圖簡單地說明了傳統的分散式系統如何支援與實作虛擬機器的功能。文档分享平台在底層有一個核心作業系統(COS)模組,它提供了基本作業系統功

17、能的支援,如檔案系統、記憶體管理與程式排程管理等。其上為網路作業系統(NOS)模組,它負責關於資料通訊的功能,然而 NOS 的服務是不具透通性(transparent)的,要使用 NOS 來通訊仍需透過程式人員實際去實作 socket,而 socket 的連接與連線雙方的主機型式、環境等均需程式人員去設定,因此在其上便又加入一層TDS(True Distributed System)。該 TDS 將整個網路服務作分層化和抽象化,因此程式人員可以不用去煩惱底層的網路結構便能使用 TDS 的服務,一個典型的TDS 模型就是 CORBA 的技術。然而在 mobile code 系統中,網路結構等細節

18、對程式人員並不是透通的,在mobile code 中 TDS 被 CE(Computational Environment)所取代,每個網路上的主機有自己的 CE,且 CE 取代了 TDS,被架構在 NOS 上層。CE 結合了 COS 和 NOS的特色,一方面提供通訊服務,一方面也處理較低階的資源存取管理,而 CE的主要功能即是提供程式碼與執行元件、資源等動態的配置與管理。下圖即為mobile code 的系統架構簡圖 :文档分享平台而在 CE 中的元件又可分成資源(resource)及 execution units (EUs)。在這裡的資源可以是檔案、物件或系統中的變數,而 EU 可以是單

19、一執行(single-threaded)緒或多執行緒(multi-threaded)。在傳統的分散式系統中,EU 被靜態地連結到(bound to)某個 CE,即使使用動態連結的機制(dynamic linking),該連結程式碼仍然是靜態地存在於某個 CE。然而在 mobile code 系統中,程式碼、執行狀態、資料等 EU 執行時所需的一切可在另一個 CE 中重新產生,事實上所有的 EU 可在不同的 CE間流動。2. 程式碼與執行狀態的移動 mobile code 系統有兩種移動性 :強移動性(strong mobility)與弱移動性(weak mobility)。強移動性乃指 EU

20、的程式碼和執行狀態均能轉移到另一個 CE,而弱移動性的mobile code 系統中只有程式碼可以在不同的 CE 間轉移。強移動性是由移動(migration)和遠端複製(remote cloning)兩種機制所構成的。移動機制主要是先暫停一個 EU 的執行,然而將該 EU 移動到另一個 CE,然後再喚醒它來繼續執行。遠端複製機制指在遠端的 CE 複製一份要執行的 EU,而原來的 EU 並不會被影響到。在弱移動性的系統中,程式碼必須能在 CE 間互相轉移,可被遠端另一個執行中的 EU 使用或可用來在遠端產生新的 EU。要進行轉移的程式碼可分成獨立的程式(stand-alone)或程式片段 (c

21、ode fragment),前者可以用來產生新的 EU,後者可連結到一個現存的 EU 來執行。弱移動性系統中的程式移轉機制可以是同步,也可以是不同步。在同步系統中,EU 需暫停手邊的工作,而立刻執行被移轉過來的程式碼,而在非同步系統中,轉移過來的程式碼可以立刻執行或是延遲至需要時才執行。3. 資料空間的管理在轉移一個 EU 到新的 CE 後,該 EU 的資料空間(data space),如使用到的資源等資訊需重新連結,甚至還要繼續下載所需的其他資源。在一般 mobile code 的系統模型中,EU 連結所需的資源可用下列式子表示 : Resource = ,其中 I 表示資源識別子(Iden

22、tifier)、V 表示該資源的價值(Value)、T 表示該資源的型態(Type)。在其中資源型態(Type)可分成可移轉資源和不可移轉資源兩種。前者表示該資源在實體上(physically)是可以移轉的,如檔案資料,而後者表示該資源實體上難以移轉的,如印表機等硬體設備。而可移轉資源又可再細分成自由式(free)和固定式(fixed)兩種。前者表示該資源可以低成本地自由移動,而後者表示該資源雖可以移動但移動成本太高,因此具有固定性,如耗費頻寬的大檔案。因此 EU 連結資源的方式可分成三種: Binding by Identifier : 這是最強型式的連結。EU 必須連結到一個獨一無二、具該

23、識別子號碼(uniquely identifie)的資源。文档分享平台 Binding by Value : 只要資源的內容和型態符合,EU 就可以連結該資源。 Binding by Type : 這是最弱型式的連結。只要資源型態符合,EU 就可連結該資源。因此資料空間的管理和資源型態與連結機制等關係十分密切,針對不同的資源型態有不同的資源連結方式,底下即為資料空間、資源型態與連結機制間相互關係的比較表 : Mobile Agent 系統簡介一般而言有三個設計與實作 Mobile Agent 系統的方式 :1. 在程式語言中加入 Mobile Agent 的實作支援功能。2. 在作業系統中加入

24、 Mobile Agent 模組,以提供 Mobile Agent 的實作需求。3. 將 Mobile Agent 系統實作成應用系統,直接架設在作業系統之上。底下將簡介幾個現今正在推行的 Mobile Agent 計劃或系統,並稍微討論這些系統的實作方式與技術背景。1. JAVA Aglet :由 IBM 在日本東京的研發團隊所開發出的 JAVA Aglet 技術,擴展了 JAVA 對mobile code 實作能力的支援,它是 JAVA 中用來實作與支援 Mobile Agent 系統的技術。Aglet 在 JAVA 中是一個可移動的物件(mobile object),正如 Applet

25、的運作模式般,Aglet 可在網路中任何有支援 Aglet 平台的主機(Aglet-enabled host)上執行。在 Aglet 下載到主機上後,它便會自動地以執行緒(thread)方式執行,並且可以接收和回應後續傳送給該 Aglet 程式的訊息。事實上,Aglet 就是整個系統中的 EU,而 JAVA 直譯器就是 CE。在 Aglet 系統中,dispatch 這項指令可以將Aglet 程式片段傳送到遠端,遠端的 EU 透過 retract 這項指令來取得該程式片段,透過 dispatch 傳送的方式可以是非同步的,而 retract 的執行必須是同步的,即該EU 必須先去執行下載而來的

26、 Aglet 後才能繼續執行其他的工作。此外 Aglet 程式使用一個 proxy 物件來傳送和互相溝通訊息。因此透過 proxy 模式的運作,使得 Aglet 系統的擴充性(scalability)受到一些限制,但是由於 JAVA 跨平台的特性,Aglet 的確能提供 mobile code 的功能。文档分享平台2. Agent Tcl :在 Dartmouth 大學中所發展出來的 Agent Tcl 提供了 Tcl 上實作 mobile code 能力的支援。在 Agent Tcl 中,agent 即系統中的 EU 其實是一個執行這個 Tcl 直譯器的 UNIX 程式。EU 可以透過 ju

27、mp 指令移動到另一個 CE,或利用 fork 指令在遠端 CE 產生新的 EU,或透過 submit 指令將某些程式片段傳送到遠端的 CE。3. Concordia :Concordia 是另一個以 JAVA 為基礎的 Mobile Agent 設計架構。在 Concordia 系統中,agent 是一種 JAVA 程式,而在系統中的 JAVA 虛擬機器設有提供 agent 執行所需的服務與資源之伺服元件(server component),這些元件提供有關通訊、資源管理、物件移動機制等功能,因此這些伺服元件形成了 Concordia 系統中的CE。每個 Concordia agent 都具

28、有內部工作狀態(internal task state)和外部工作狀態(external task state)。內部工作狀態指物件內部的變數狀態值,而外部工作狀態指一個移動中物件的狀態,這個移動中的物件內部存有移動目的地的位址與到達目的地後要執行的程式碼。藉由區分 agent 的內部工作狀態和外部工作狀態,Concordia 系統可以提供更具彈性的 agent 執行方式。4. Odyssey :Odyssey 計劃是由 General Magic 先前的 Telescript 產品所延伸發展出的 Mobile Agent 設計模型。Telescript 是用來發展大型分散式應用系統的物件導向

29、式的程式語言。Telescript 的設計本身支援 mobile code 中的強移動性( strong mobility ),在Odyssey 系統之最上層有三個主要用來實作 Mobile Agent 的類別:Agent、Worker與 Place。Worker 是 Agent 類別的子類別,實際上它是一個要執行特定工作的Agent,而 Place 是 Odyssey Agent 執行工作的地方,它負責有關資源連結與配置的工作。Odyssey 中的 Agent 可透過 go 或 send 指令來移動程式碼到其他的 CE,目前整個 Odyssey 計劃仍在發展,且它整合了 JAVA RMI、M

30、icrosoft DCOM 與CORBA 的 IIOP 等技術。5. Voyager :Voyager 計劃同樣地也是採用 JAVA 的技術來實作 Mobile Agent 的系統。Voyager系統採用 JAVA 的 Reflection 機制來實作 Voyager ORB(Object Request Broker),透過嚴謹與豐富的物件模型設計,Voyager 系統的 Agent 類別可以提供很多功能強大且容易使用的方法,如 agent 生命週期的控制和群組通訊等機制,此外Voyager 系統採用 global identifier 來尋找或識別系統中的 agents。目前 Voyage

31、r 是市面上相當受歡迎的 Mobile Agent 系統產品。底下的簡表提供了這些 Mobile Agent 主流產品或計劃的簡單比較 :文档分享平台 Mobile Agent 系統設計議題底下將對設計 Mobile Agent 系統時所需考慮的相關議題做簡單的討論與介紹 :1. 系統層次的議題 :在設計 Mobile Agent 的系統架構時,要考慮下列的幾項因素 : Agent 移動性Agents 在不同的節點間移動時,agents 的執行狀態必須能被執行端的主機重新建立或捕捉到(catch)。而 agent 的程式碼也必須能隨著 agent 移動到遠端的主機或利用 COD(code on

32、 demand)的方式下載。正如先前所提的,agent 移動時也要注意資源連結的問題。文档分享平台 Agent 的命名(Naming)系統中的 mobile agents 須被適當地命名以能在它們移動時能識別並控制這些agents。此外系統也必須提供給定 agent 的名稱,在整個網路系統中尋找出該agent 的方法,即所謂的 name resolution 機制。在 Mobile Agent 命名系統的設計時,最好使用與特殊地點或平台無關(location-transparent)的命名方式,一般而言有兩種方式來對 agent 做命名管理。第一種是採取 proxy 的方式,每個 agent

33、隨時將它所在位置與識別該 agent 的資訊向系統中的 proxy 伺服元件報告,正如 DNS 般,這些 proxy 也是有階層式的架構,使用者可透過向 proxy 查詢來取得該 agent 所在位置。第二種方式則是透過唯一、全體式的命名服務(global name service),讓系統中每個 agent 都能分配到一個獨一無二的名稱。2. 安全的議題 :Mobile Agent 的使用,特別是在 Internet 上的應用一直有很大的爭議,因為Mobile Agent 系統會牽涉到很多安全上的問題,目前已知利用 Mobile Agent 技術而產生的潛在攻擊與威脅,底下為一些已發現的 M

34、obile Agent 攻擊方式 : 對主機系統或主機上的其他執行中的 Mobile Agent 進行破壞 : 惡意的Mobile Agent 可以改變受害主機的系統設定,刪除系統內的檔案,也可以破壞系統內其他 Mobile Agent 執行所需的資源,目前已發現一些利用 JAVA設計的 Mobile Agent 可干擾 JAVA 虛擬機器中其他執行緒的工作,甚至破壞整個虛擬機器。 Denial of Service : 惡意的 Mobile Agent 可以霸佔系統資源,消耗系統的網路資源如 socket buffers,或是利用 deadlock 來阻礙其他程式或 Mobile Agent

35、 的執行。 侵犯隱私或偷竊機密資料 : 惡意的 Mobile Agent 可以非法存取系統的機密檔案,甚至藉由侵入其他 Mobile Agent 的執行空間以竊取其他 Mobile Agent帶來的隱密資訊,如密碼等。 干擾 : 惡意的 Mobile Agent 可以被設計來干擾使用者,如對使用者 show 出令使用者困擾的圖片,或控制其他主機上的軟硬體設備來干擾使用者的工作。 木馬程式 : 一個正常的 Mobile Agent 其實可能內部被藏有一些透過特殊事件來驅動的破壞性行為,而在特定的時機對系統發動攻擊或破壞。因此建構 Mobile Agent 系統時,要包括安全防護措施的設計,這些安

36、全措施設計主要可分成對主機的保護與對惡意的 Mobile Agent 程式的保護兩方面。在對主機的保護方面,使用認證機制可以確保主機只接受該主機系統信任的 Mobile Agent 發行來源。然而一個受信任的 Mobile Agent 也可能攜帶有問題的程式碼,因此對 Mobile Agent 能使用主機系統的資源,如 CPU 執行週期、檔案系統等仍要做嚴密的存取控制。此外,對 Mobile Agent 程式碼的檢查也是很重要的工作,如在 JAVA 中就有 class loader 和 byte-code verifier 的機制,因此 JAVA 的程式無法載入或連結其他非法或非受主機信任的程

37、式碼。而對 Mobile Agent 的保護方面,目前主要有容錯(fault tolerance)和編碼兩大技術。前者主要保護 Mobile Agent 在不正常的執行環境下仍能有穩定、正確的行為,文档分享平台而後者主要用來保護 Mobile Agent 的重要程式資訊,使之不被惡意破壞、偷竊或誤用。底下將對這兩種技術做更深入的介紹 : 容錯技術 : Replication and Voting : 這個方法可以讓 Mobile Agent 正確地到達目的地。當 Mobile Agent 經過途中每個中繼節點時,在該中繼節點就對該Mobile Agent 複製一份,該 Mobile Agent

38、 攜帶有一個密碼,因此當Mobile Agent 到達目的地時,目的地主機可透過 voting 機制向網路內所有該 Mobile Agent 經過的節點作確認和核對,如此可確保極重要的(critical) Mobile Agent 能正確到達目的地且可免除該 Mobile Agent 被其他惡意主機更改或破壞的潛在威脅。 Persistence : 當系統接受到 Mobile Agent 時,便立刻將該 Mobile Agent的程式碼與執行狀態等資訊儲存在硬碟等永久性儲存裝置,則若系統發生問題,日後仍可透過存取該資料來重建該 Mobile Agent。 Redirection : 在網路環境

39、不穩時或有節點發生問題時,Mobile Agent 可以偵測並動態改變移動路徑,以確保該 Mobile Agent 能到達目的地。 編碼技術 : Trail Obscuring : 改變 Mobile Agent 的二進位碼(binary image),讓其他主機無法追蹤或辨別該 Mobile Agent,如此可確保該 Mobile Agent 的移動路徑資訊難以被偵測或追蹤。 Code Obfuscation : 利用 black box security 的技術,即在 Mobile Agent 傳送時也將該 Mobile Agent 執行環境(execution layer)一起編碼後傳送

40、,使用者透過該執行環境存取或使用該 Mobile Agent 的程式碼,如此可避免 Mobile Agent 的程式碼被進行反轉工程(reverse engineering)而遭竊取或破壞。 State Appraisal function : 這方法可用來保護 Mobile Agent 中未被編碼的資料能不受破壞或干擾。因為 Mobile Agent 隨時在移動或改變其狀態,因此有時無法對 Mobile Agent 中的一些狀態做編碼,然而透過這個狀態檢查機制,可以檢查該 Mobile Agent 狀態是否被破壞或竄改,這個檢查 Mobile Agent 狀態的功能程式碼將和 Mobile

41、Agent 其他部分一起被編碼與保護,因此 State Appraisal function 可加強對 Mobile Agent 狀態的保護和檢查。3. 程式語言對 Mobile Agent 的支援議題 :因為 Mobile Agent 要在不同的環境和系統中移動,因此 Mobile Agent 必須能在不同的作業系統上執行。目前大部分的 Mobile Agent 系統都須使用虛擬機器的機制,且 Mobile Agent 程式碼是採用直譯式的執行模式,為了配合 Mobile Agent 的安全性考量,支援 Mobile Agent 的程式語言也須有類別檢查(type checking)、資料封

42、裝(data encapsulation)與嚴格的記憶體存取管理機制等。而現今實際應用在撰寫 Mobile Agent 的程式語言有 Tcl、Python 與 Perl 等 script 式的程式語言,然而這些 script 式的程式語言較缺乏模組化和資料封裝的功能,因此JAVA、Telescript 等分散式與高度物件導向式的程式語言比較適合於用來開發大型和複雜的 Mobile Agent 系統。文档分享平台 結論 傳統的主從式網路架構已漸漸不能負荷今日 Internet 的流量管理與使用需求。透過 Mobile Agent 的機制,讓工作由 Mobile Agent 代替使用者在遠端非同步

43、式地執行,然後再將結果傳回給使用者,如此能減少網路的連線時間,進而增加網路效能。除此之外,Mobile Agent 的非同步式、在 local 端執行的能力已漸漸成為電子商務系統設計的重要核心,透過 Mobile Agent 來蒐集顧客偏好、管理顧客資料、甚至進行分散式的資料分析與蒐集工作(distributed data mining)可以大大增強系統功能和效率。雖然目前仍然沒有完全安全、穩定且功能強大的 Mobile Agent 模型,但隨著學者們和業界近年來不斷地提倡和研發 Mobile Agent 的技術,相信日後 Mobile Agent 的架構將成為整個分散式系統的主流模型,而伴隨

44、Mobile Agent 模式而來的應用系統和新的 application paradigm 也是日後整個資訊網路世界所將面臨的新挑戰與新機會。 參考資料 1. Paolo Bellavista,Antonio Corradi, and Cesare Stefanelli, CORBA Solutions for Interoperability in Mobile Agent Environments, Distributed Objects and Applications, 2000. Proceedings. DOA 00. International Symposium on , 2

45、0002. Greenberg, M.S., Byington, L.C., Harper, D.G., Mobile Agents and Security, IEEE Communications Magazine , Volume: 36 Issue: 7 , July 19983. Fuggetta A., Picco G.P., Vigna G., Understanding Code Mobility, Software Engineering, IEEE Transactions on , Volume: 24 Issue: 5 , May 19984. Vu Anh Pham,

46、 Karmouch A, Mobile Software Agents: An Overview, IEEE Communications Magazine , Volume: 36 Issue: 7 , July 19985. Karnik N.M., Tripathi A.R., Design Issues in Mobile-Agent Programming Systems, IEEE Concurrency, Volume: 6 Issue: 3 , July-Sept. 19986. Perdikeas M.K., Chatzipapadopoulos F.G., Venieris

47、, I.S., An Evaluation Study of Mobile Agent Technology: Standardization, Implementation and Evolution, Multimedia Computing and Systems, 1999. IEEE International Conference on , Volume: 2 , 19997. Silva L.M., Soares G., Martins P., Batista V., Santos L., The Performance of Mobile Agent Platforms, Agent Systems and Applications, 1999 and Third International Symposium on Mobile Agents. Proceedings. First International Symposium on , 1999

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报