Mar 8, 2012

Model Sistem Terdistribusi

Model dalam sistem terdistribusi :
  • Model Arsitektur (Architectural Models)
  • Model Interaksi (Interaction Models)
  • Model Kegagalan (Failure Models)
Resource dalam sistem terdistribusi dipakai secara bersamaan oleh users. biasanya dibungkus dalam suatu komputer dan dapat di akses oleh komputer lain dengan komunikasi.
Setiap resource di atur oleh program yang disebut dengan resource manager. Resource manager memberikan kemungkinan komunikasi interface antar resource.
Resource manager dapat di generalisasi sebagai proses, kalau sistem di design dengan sudut pandang objek (Object Oriented), resource dibungkus dalam suatu objek.

Model Arsitektur (Architectural Models)
Bagaimana cara kerja sistem terdistribusi antara komponen-komponen sistem dan bagaimana komponen tersebut berada pada sistem terdistribusi :
  • Client - Server Model
Sistem yang terdiri dari kumpulan - kumpulan proses disebut dengan server, dan memberikan layanan kepada user yang disebut dengan client.
Model client-server biasanya berbasiskan protokol request/reply. Contoh implementasinya antara lain: RPC (Remote Procedure Calling) dan RMI (Remote Method Invocation).
Client : proses akses data, melakukan operasi pada komputer lain.
Server : proses mengatur data, proses mengatur resources, proses komputasi.
Interaksi : Invocation/result
    • Karakteristik Client-Server
      1. Service : menyediakan layanan terpisah yang berbeda
      2. Shared Resource : server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource
      3. Asymmetrical Protocol : antara client dan server merupakan hubungan one to many
      4. Mix and Match : tidak tergantung pada platform
      5. Encapsulation of Service : message memberitahu server apa yang akan dikerjakan
      6. Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client
      7. Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message
      8. Scalability : sistem client/server dapat dimekarkan baik vertikal maupun horisontal
      9. Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer sendiri
  • Multiple Server Model
  • Proxy Server Model
Proxy server menyediakan hasil copy (replikasi) dari resource yang diatur oleh server lain. Biasanya proxy server dipakai untuk menyimpan hasil copy web resources. ketika client melakukan request ke server, hal pertama yang dilakukan adalah memeriksa proxy server apakah yang diminta oleh client terdapat pada proxy server.
Proxy server dapat diletakan pada setiap client atau dapat dipakai bersama oleh beberapa client. Tujuannya adalah meningkatkan performance dan availibity dengan mencagah frekuensi akses server.
Proxy server membuat duplikasi beberapa server yang diakses oleh client.
Caching :
- penyimpanan lokal untuk item yang sering diakses
- meningkatkan kinerja
- mengurangi beban pada server
- wajib digunakan pada search engine
Contoh model proxy server : searching satu topik namun dilakukan dua kali maka searching terakhir memiliki waktu yang lebuh kecil.
  • Mobile Code Model 
Kode yang berpindah dan dijalankan pada komputer yang berbeda. Contoh : Applet.
  • Mobile Agent Model
Mobile agent adalah sebuah program yang berpindah (termasuk data dan kode) dari satu komputer ke lainnya dalam jaringan. Biasanya melakukan suatu pekerjaan otomatis tertentu. Beberapa masalahnya antara lain authentication, permission dan keamanan. Alternatif dengan mengambil informasi melalui remote invocation. Contoh : digunakan untuk install dan memelihara software pada komputer dalam suatu organisasi, membandingkan harga produk dari beberapa vendor.
  • Peer Processes (Peer To Peer)
Bagian dari model sistem terdistribusi dimana sistem dapat sekaligus berfungsi sebagai client maupun server. Sebuah arsitektur di mana tidak terdapat mesin khusus yang melayani suatu pelayanan tertentu atau mengatur sumber daya dalam jaringan dan semua kewajiban dibagi rata ke seluruh mesin, yang dikenal sebagai peer. Pola komunikasi yang digunakan berdasarkan aplikasi yang digunakan. Peer-to-peer merupakan model yang paling general dan fleksible. 
Model Interaksi (Interaction Models) 
Untuk interaksinya sistem terdistribusi dibagi menjadi 2 bagian :
  • Synchronous Distributed System
Batas atas dan bawah waktu pengeksekusian dapat di set. Pesan yang dikirim diterima dalam waktu yang sudah ditentukan. Fluktuasi ukuran antara waktu local berada dalam suatu batasan.
Bererapa hal yang penting untuk diperhatikan :
    1. Dalam synchronous distributed system terdapat satu waktu global
    2. Hanya  synchronous distributed system dapat memprediksi perilaku (waktu)
    3. Dalam  synchronous distributed system dimungkinkan dan aman untuk menggunakan mekanisme timeout dalam mendeteksi error atau kegagalan dalam proses atau komunikasi.
  • Asynchronous Distributed System 
Banyak sistem terdistribusi yang menggunakan model interaksi ini (termasuk internet). Tidak ada batasan dalam waktu pengeksekusian, tidak ada batasan dalam delay transmission (penundaan pengiriman), dan tidak ada batasan terhadap fuktuasi waktu lokal. Asynchronous Distributed System secara praktek lebih banyak digunakan.

Model Kegagalan (Failure Models) 
Kegagalan dapat terjadi pada proses atau kanal komunikasi, dan penyebabnya bisa berasal dari hardware ataupun software. Model kegagalan (failure models) dibutuhkan dalam membangun suatu sistem dengan prediksi terhadap kegagalan-kegagalan yang mungkin terjadi. Kegagalan yang dapat terjadi dan efek yang ditimbulkan :
  • Ommision Failures
Yang dimaksud dengan ommision failures adalah ketika prosesor dan kanal komunikasi mengalami kegagalan untuk melakukan hal yang seharusnya dilakukan. Dikatakan tidak mempunyai ommision failure apabila :
    1. terjadi keterlambatan (delayed) tetapi akhirnya tetap tereksekusi
    2. sebuah aksi dieksekusi walaupun terdapat kesalahan pada hasil
Dengan synchronous system, ommision failures dapat dideteksi dengan timeouts. Kalau kita yakin bahwa pesan yang dikirim sampai, timeout akan mengindikasikan bahwa proses pengiriman rusak, seperti fail-stop behavior pada sistem.
  • Arbitary Failures
Ini adalah kegagalan yang paling buruk dalam sistem. Tahapan proses atau komunikasi diabaikan atau yang tidak diharapkan terjadi dieksekusi sehingga hasil yang diharapkan tidak terjadi atau mengeluarkan hasil yang salah.
  • Timing Failures
 Timing Failures dapat terjadi pada synchronous system, dimana batas waktu diatur untuk eksekusi proses, komunikasi dan fuktuasi waktu. Timing Failures terjadi apabila waktu yang telah ditentukan terlampaui


referensi: