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)
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
Client : proses akses data, melakukan operasi pada komputer lain.
Server : proses mengatur data, proses mengatur resources, proses komputasi.
Interaksi : Invocation/result
- Karakteristik Client-Server
- Service : menyediakan layanan terpisah yang berbeda
- Shared Resource : server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource
- Asymmetrical Protocol : antara client dan server merupakan hubungan one to many
- Mix and Match : tidak tergantung pada platform
- Encapsulation of Service : message memberitahu server apa yang akan dikerjakan
- Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client
- Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message
- Scalability : sistem client/server dapat dimekarkan baik vertikal maupun horisontal
- Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer sendiri
- Multiple Server Model
- Proxy Server Model
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
- 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
Bererapa hal yang penting untuk diperhatikan :
- Dalam synchronous distributed system terdapat satu waktu global
- Hanya synchronous distributed system dapat memprediksi perilaku (waktu)
- Dalam synchronous distributed system dimungkinkan dan aman untuk menggunakan mekanisme timeout dalam mendeteksi error atau kegagalan dalam proses atau komunikasi.
- Asynchronous Distributed System
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
- terjadi keterlambatan (delayed) tetapi akhirnya tetap tereksekusi
- sebuah aksi dieksekusi walaupun terdapat kesalahan pada hasil
- Arbitary Failures
- Timing Failures
referensi: