Professional Documents
Culture Documents
Current Approaches To Distributed Computing:: Mobile Agents
Current Approaches To Distributed Computing:: Mobile Agents
Mobile agents
Migration
Aglets
.فخٚي اٌّؼشٛف يجذأ ِٓ عذيذ ِٓ ٔمطخ اٌذخٛويً عٌٛثذال ِٓ رٌه فبْ رٕفيز اٚ .ٍٝف يزطٍت رؼذيالد ٌّؼيبس آٌخ اٌغبفب اٌفؼٛ٘زا عٚ
Basic concepts
Aglet: a mobile Java object that visits aglet-enabled hosts in a network.
Proxy: it is a representative of an aglet. It serves as a shield to protect the aglet from direct access
to its public methods.
Context: an aglet’s workplace. It corresponds to a place. Multiple contexts may reside on the same
machine.
Identifier: a unique identifier is assigned to each aglet after initialization.
اٌّفب٘يُ األعبعيخ
اٌشجىخٝلف ػٕذ اٌّؼيفبد اٌطشفيخ اٌؼبٍِخ فٛ يزٝ عغُ عبفب ؽشو: )ٝ اٌطشفٝالٌٛأعٍذ(اٌششيؾ ا
.فخٚي اٌّجبشش ثبٌطشق اٌّؼشٛ (أعٍذ) ِٓ اٌذخٝالٌٛ ٌٍطشف اٝالٛ يؼًّ وٛ٘ٚ .ٝ اٌطشفٝالٌٛ ثذيً اٛ٘ :)ٝالٌٛ (اٌذسع اٝوغٚثش
ٔفظٝػخ ِٓ ثيئخ ػًّ اٌجشٔبِظ فّٛ ِٓ اٌّّىٓ رغىيٓ ِغ.ْب ٌٍّىبٌٙيزُ اسعبٚ .ٝ اٌطشفٝالٌٛ ِٕطمخ ػًّ ا:)ٔزىغذ (ثيئخ رفؼيً اٌجشٔبِظٛو
.اآلٌخ
. ثؼذ اٌجذء ِجبششحٝالٚ خبص ٌىً ؽشفٝ يزُ رؾذيذ سِض رؼشيف:ص اٌزؼشيفيخِٛاٌش
Creation
Cloning
Dispatching
Retraction
Activation and Deactivation
Disposal
Programming model
النموذج البرمجى
The Aglet programming model is event-based فٚ رغيش اٌظشٍٝ ػٝالٌٛ ٌٍطشف اٝرط اٌجشِغٌّٕٛيؼزّذ ا
Customized listeners can be used to catch particular سحٚ دٝ رغيشاد خبطخ فٜيّىٓ اعزخذاَ اٌّغزىشف اٌّؼذَي ٌّؼشفخ ا
events in the life cycle of an aglet: .ٝالٌٛؽيبح اٌطشف ا
Clone listener (clone creation) )ْ إٌغخِٛغزىشف إٌغخ (ِى
Mobility listener (dispatching, retraction, arrival) )يٛطٌٛ ا, اٌغؾت, ِغزىشف اٌؾشويخ (االسعبي
Persistence listener (deactivation, activation) )ًاٌزؼطيٚ ًلف (اٌزشغيِٛغزىشف اٌز
4
General process
Communication
Security model
The first level of security comes from Java itself. Imported code fragments are subjected into a
series of tests and consistency tests
As the second level the Tahiti (the visual agent manager) implements a configurable security
manager that provides a fairly high degree of security for the hosting computer and its owner and
it enables a number of principals to specify and enforce policies
نموذج األمان
.اخزجبساد اٌضجبدٚ عٍغٍخ ِٓ االخزجبسادٌٝب اٌٙ رُ اعزمجبٝ رؼشع أعضاء اٌشفشح اٌز.بٙي ٌألِبْ ِٓ اٌغبفب ٔفغٚ األٜٛ اٌّغزٝيأر
ْة اٌّؼيف ثذسعخ اِبٛيذ اٌؾبعَٚ ثزضٛسٖ يمٚ ثذٜاٌزٚ ٝ اٌزٕظيجِٕٝ) يٕفز اٌّذيش األٝويً اٌّشئٌٛ ( ِذيش اTahiti ٝٔ اٌضبٜٛؽجمب ٌٍّغزٚ
.ٓعبئً اٌزأِيٚ يخ عّيغٛ رمٚ ػخ ِٓ األعبعيبد ٌزّييضّٛيّ ِىٓ ِغٛٙوزٌه ٌّبٌىٚ ػبٌيخ
5
Masquerade اٌزٕىش
Tampering ٗػ ثّٛي اٌغيش ِغٛاٌذخ
Eavesdropping and traffic analysis يٛرؾٍيً ِؼذي اٌذخٚ اٌّؼبِالدٍٝاٌزغغظ ػ
Denial of service لف اٌخذِخٚ
Security services
خدمات األمان
Authentication
اٌزأوذ ِٓ األطبٌخ
User
َاٌّغزخذ
Host
اٌّؼيف
Agent
ًويٌٛا
Code
اٌشفشح
Access control يٛ اٌذخٝاٌزؾىُ ف
Integrity اٌغالِخ
Confidentiality طيخٛاٌخظ
Nonrepudiation اٌزأوذ ِٓ أطً اٌجيبٔبد
Auditing اٌزذليك
6
1) Fortress model: agents execute in a safe environment where no untrusted hosts are allowed –
compromises the advantages of mobile agents
2) Sealing and signing intermediate results to prevent tampering
3) Using shared secrets and interlocking
4) The agent’s execution and behaviour is recorded (Execution tracing)
5) Executable encrypted functions can prevent tampering
حماية الوكيل الحركى
ٓوالء اٌؾشوييٌٛي ٌّّيضاد اٛطٌٍٛ ُٙق ثٛصِٛ ِٓ اٌّؼيفيٓ اٌغيشٜ ثيئخ إِٓخ ؽيش ال يغّؼ ألٝوالء فٌٛ يؼًّ ا:ٓرط اٌؾظّٛٔ )1
عيطخ ٌّٕغ اٌؼجشٌٛعيب إٌٛٛليغ ٔزبئظ اٌزىٛرٚ ُخز )2
ي اصٕيٓ ِٓ اٌّغزخذِيٓ ثٕفظ االشزشانٛػذَ دخٚ ِبد اٌّشزشوخٍٛاعزخذاَ اخفبء اٌّؼ )3
)ويً (الزفبء أصش اٌزٕفيزٌٛن اٍٛعٚ رغغيً رٕفيز )4
ظبئف اٌزشفيش اٌزٕفيزيخ أْ رّٕغ اٌؼجشٌٛ ٓيّى )5
7
ِغبئً فٕيخ
Mobile agent
user
...
المستخدم
Agent server
خادم الوكيل
خادم قواعد البيانات Database server
A mobile agent performs work يقوم الوكيل الحركى بآداء
Agent
Agent
on behalf of a user as it العمل بدال من المستخدم حيث
Server
Server
travels to multiple locations يقوم بالنتقال الى العديد من
خادم الوكيل
.االماكن على الشبكة
on the network.
user
...
Advantages of Mobile Agents
They allow efficient and economical use of communication channels
File server which may have low
bandwidth, high latency, and may be error-prone.
They enable the use of portable, low-cost, personal communications devices to perform complex
Agent server
tasks even when the device is disconnected from the network.
They allow asynchronous operations and true decentralization
Database server
مميزات الوكالء الحركيين
Agent
سثّب وضيشحٚ ٌٝي ػبّٛخٚ ِٓ عؼخ ٔمً اٌجيبٔبدAgent
ب ِؼذي ِٕخفغٙ ٌذيٝاد االرظبي اٌزٕٛاٌفؼبي ٌمٚ ٜيغّؼ ثبالعزخذاَ االلزظبد
Server
Server
األخطبء
ْ اٌشخض غيشٛ ػٕذِب يىٝبَ اٌّؼمذح ؽزٌّٙإٌّخفؼخ اٌزىبٌيف آلداء اٚ ًّضح ا الرظبالد اٌشخظيخ اٌمبثٍخ ٌٍؾٙيّ ِىٓ ِٓ اعزخذاَ أع
.ِزظال ثبٌشجىخ
اٌالِشوضيخ اٌؾميميخٚ يغّؼ ثبٌؼٍّيبد اٌزطجيميخ اٌغيش ِزضإِخ
9
...
data
communication بيانات االتصال
The client-server paradigm
نموذج الخادم العميل
المضيف أ hostB المضيف ب
host A
agent
transportation وكيل النقل
Basic Architecture
البنية األساسية
mobile agent
agent
server
agent server
host
10