Selasa, 09 April 2013

Sistem Terdistribusi - Agent


PENDAHULUAN

Dewasa ini banyak sekali digunakan kosa kata agent, baik dalam bidang informatika dan ilmu komputer, seperti software engineeringartificial intelligence (AI),distributed system, dsb, maupun dalam bidang lain yang terkait, misalnya bidang industri,manufacturing, bisnis, electronic commerce, dsb. Populernya penggunakan teknologiagent pada berbagai bidang ilmu bukan berarti membuat jelas definisi agent. Tetapi justru membuat definisi agent semakin tidak jelas, karena setiap peneliti berusaha untuk mendefinisikan agent sesuai dengan latar belakang ilmu yang mereka miliki. Bagaimanapun juga sampai saat ini belum ada kesepakatan dari para peneliti tentang definisi formal mengenai apa yang disebut dengan agent. Akibat yang timbul dari tidak adanya kesepakatan definisi agent adalah, munculnya penggunaan agent dengan banneryang bermacam-macam, meskipun yang dimaksud kadang-kadang adalah sama, ataupun tidak ada perbedaaan yang signifikan didalamnya, misalnya adalah penggunaan kata-kata, intelligent agentagent technologysoftware agentautonomous agent, ataupunagent.
Mobile Agent
Mobile agent adalah agen yang aktif dan dapat bergerak menuju komputer lain, atau mejelajahi jaringan untuk menjalankan tugasnya. Mobile agent sering digunakan untuk mengumpulkan data, informasi atau suatu perubahan. Mobile agent tidak terikat pada sistem dimana ia mulai dieksekusi. Mobile agent mempunyai kemampuan unik untuk memindahkan dirinya sendiri dari satu sistem ke sistem yang lain dalam suatu jaringan. Kemampuan untuk berkeliling memungkinkan Mobile agent untuk berpindah ke sistem yang mengandung obyek yang akan berinteraksi dengan agen dan kemudian mengambil manfaat selama berada dalam host dan jaringan yang sama dengan obyek.
Secara praktis dapat dikatakan bahwa Mobile agent adalah sebuah program yang dapat menghentikan eksekusi, berjalan melalui jaringan dengan membawa kode dan state-nya, dan kemudian melanjutkan eksekusinya pada host yang lain. Aglets merupakan contoh perangkat lunak yang memungkinkan pengembangan dan penerapan mobile agents ini.
Beberapa penerapan dari Mobile agent: Pengumpulan data, pencarian dan penyaringan, pemantauan asinkron, dan pemrosesan paralel.
Keuntungan Mobile agent
Ada beberapa keuntungan yang dapat dari penerapan Mobile agent bila dibandingkan dengan teknologi agen yang lain, misalnya RMI. Meskipun kenyataannya hampir semua masalah dalam komputasi terdistribusi dapat diselesaikantanpa menggunakan Mobile agent, namun dengan menerapkan Mobile agent akan dapat memudahkan pengembangan aplikasi dan dapat meningkatkan keandalan dan efisiensi. Sedikitnya ada beberapa keuntungan yang didapatkan dari Mobile agent:
1. Mengurangi beban jaringan:
Sistem terdistribusi sangat tergantung pada protokol komunikasi yang melibatkan banyak interaksi untuk menyelesaikan tugas yang diberikan. Akibatnya, traffic jaringan tinggi. Sebaliknya, Mobile agent memungkinkan untuk mengemas suatu aplikasi , mengirimkannya kehost tujuan dan kemudian interaksi dapat terjadi secara lokal. Mobile agent juga bermanfaat untuk mengurangi aliran data pada jaringan. Jika terdapat data dengan jumlah yang sangat besar tersimpan di remote host, maka lebih baik memproses data tersebut secara lokal ditempatnya, dari pada mengirimkannya melalui jaringan. Moto Mobile agent adalah: lebih baik memindahkan komputasi ke temapat data, dari pada memindahkan data ke tempat komputasi.
2. Efisiensi sumber daya:
Konsumsi sumber daya (CPU dan memori) dapat dihemat, sebab Mobile agent menetap dan bekerja hanya pada satu node pada satu waktu. Node yang lain tidak menjalankan agen sampai node tersebut memerlukannya.
3. Menanggulangi latency jaringan:
Sistem real-time yang kritis perlu tanggap terhadap perubahan lingkungannya secara real-time. Keterlambatan tanggapan yang diakibatkan oleh masalah jaringan harus dihindari. Mobile agentmenawarkan suatu pemecahan dengan mengirimkan agen ke tujuan dan dieksekusi secara lokal.
4. Encapsulate protocol :
Ketika terjadi pertukaran data pada sistem terdistribusi, setiap host memiliki kode sebagai implementasi dari protokol yang diperlukan untuk mengkode data yang keluar dan menerjemahkan data yang masuk secara tepat. Untuk menjamin kompatibilitas, kode-kodeprotokol tersebut sudah dibakukan. Teatapi untuk mengakomodasi keperluan efisiensi dan keamanan yang lebih baru, tidak praktis bila harus meng-upgrade kode protokol tersebut, meskipun hal tersebut meungkinkan. Mobile agent dapat memecahkan masalah tersebut, karenaMobile agent dapat dikirim ke remote host dengan tujuan untuk membentuk “channel” yang berdasarkan protokol yang sudah baku tersebut.
5. Eksekusi secara asynchronous dan autonomous:
Perangkat mobile sering kali harus menggunakan koneksi jaringan yang mahal dan mudah putus. Pekerjaan dapat digabungkan ke dalam Mobile agent yang kemudian dapat dikirimkan ke tujuan.Setelah dikirimkan dan sampai ke tujuan, koneksi antara perangkat mobile dan jaringan dapat diputuskan. Mobile agent menjadi berdiri sendiri dan dapat beroperasi secara asynchronous danautonomous. Kemudian, perangkat Mobile dapat dikoneksikan ke jaringan untuk mengambil dan mengumpulkan kembali agen yang telah dikirimkan. Dengan cara disconected operation iniagent dispatched tidak memerlukan sistem asal untuk tetap aktif sementara mereka dieksekusi. Mereka juga bisa menunggu (work while you sleep)
6. Beradaptasi secara dinamis:
Mobile agent mempunyai kemampuan untuk mengetahui perubahan di lingkungan eksekusinya dan dapat bereaksi secara autonomous melakukan perubahan. Multiple Mobile agentmempunyai kemampuan yang khas untuk berdistribusi sendiri di antara host-host dalam jaringan sedemikian rupa untuk memelihara konfigurasi yang optimal untuk penyelesaian masalah khusus.
7. Andal dan toleran terhadap kesalahan :
Kemampuan mobile agent untuk berinteraksi secara dinamis pada situasi dan keadaan yang tak menguntungkan menjadikan Mobile agent mudah untuk membuat sistem terdistribusi yang andal dan toleran terhadap kesalahan. Jika sebuah host akan di-shutdown , semua agen yang sedang eksekusi di mesin tersebut akan diberi peringatan dan diberikan waktu untuk berpindah dan melanjutkan operasinya di host yang laindalam jaringan tersebut.
8. Mendukung lingkungan yang heterogen:
Komputasi jaringan pada dasarnya sangat heterogen. Baik pada sisi perangkat keras maupun perangkat lunak. Mobile agent tidak tergantung pada komputer dan jaringan, tetapi hanya bergantung pada lingkungan eksekusinya. Sebagai contoh, Mobile agent java dapat ditujukan ke segala sistem yang mempunyai JVM ( Java Virtual Machine).
9. Real Time Notification:
Agen yang ditempatkan pada remote site bisa memberitahukan perubahan isi secara cepat ( misal upgrade software,pasar saham). Tanpa harus diminta oleh user. Ini juga terkait dengan hasil pencarian yang up todate, meningkatkan kemampuan penyimpanan data terpusat yang telah ada.
10. Ekekusi paralel:
Komputasi masif bisa dibagi ke dalam sejumlah agen, dilakukan dispatch ke node yang paling sesuai untuk eksekusi dari tiap komponen, dan merakitnya di home. Sumber daya hardware bukan lagi batasan.
11. Paradigma Komputasi yang adaptif:
Mobile agent bisa di-retract,dispatch, clone atau deactivate sesuai dengan perubahan kondisi.
12. Skalabilitas:
Bila jumlah elemen komputasi di jaringan meningkat, agen baru bisa dikirim atau clone dan dispatch ke mesin baru di jaringan.

link kelompok :


Tidak ada komentar:

Posting Komentar