Selasa, 19 Maret 2013

CONTOH STUDI KASUS RPC


Definisi RPC :
RPC (Remote Procedure Call) adalah suatu protokol yang menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode pada sistem yang jauh (remote system). RPC mengasumsi keberadaan dari low-level protokol transportasi seperti TCP atau UDP untuk membawa pesan data dalam komunikasi suatu program. Protokol RPC dibangun diatas protokol eXternal Data Representation (XDR), yang merupakan standar dari representasi data dalam komunikasi remote. Protokol XDR mengubah parameter dan hasil dari tiap servis RPC yang disediakan.

Proses RPC :



Berikut penjelasan dari diagram diatas : 
1.  Klien memanggil prosedur stub lokal. Prosedur Stub akan memberikan parameter dalam suatu paket yang akan dikirim ke jaringan. Proses ini disebut sebagai marshalling.
2.   Fungsi Network pada O/S (Operating system - Sistem Operasi) akan dipanggil oleh stub untuk mengirim suatu message.
3.  Kemudian Kernel ini akan mengirim message ke sistem remote. Kondisi ini dapat berupa connectionless atau connection-oriented.
4.  Stub pada sisi server akan melakukan proses unmarshals pada paket yang dikirim pada network.
5.    Stub pada server kemudian mengeksekusi prosedur panggilan lokal.
6.   Jika eksekusi prosedur ini telah selesai, maka eksekusi diberikan kembali ke stub pada                server.
7.  Stub server akan melakukan proses marshals lagi dan mengirimkan message nilai balikan ( hasilnya ) kembali ke jaringan.
8.     Message ini akan dikirim kembali ke klien.S
9.     Stub klien akan membaca message ini dengan menggunakan fungsi pada jaringan.
10. Proses unmarshalled kemudian dilakukan pada message ini dan nilai balikan akan diambil untuk kemudian diproses pada proses lokal.
11.  Proses diatas akan dilakukan berulang-ulang (rekursif) dalam pengeksekusian RPC dalam            suatu remote sistem.

Cara Kerja RPC :
Tiap prosedur yang dipanggil dalam RPC, maka proses ini harus berkoneksi dengan server remote dengan mengirimkan semua parameter yang dibutuhkan, menunggu balasan dari server dan melakukan proses kemudian selesai. Proses di atas disebut juga dengan stub pada sisi klien. Sedangkan Stub pada sisi server adalah proses menunggu tiap message yang berisi permintaan mengenai prosedur tertentu.

Flowchart :


Studi Kasus RPC :
Contoh studi kasus RPC yaitu pada jasa penge-print-an di rental pengetikan yang di dalamnya terdapat 1 komputer server, beberapa komputer client dan sebuah printer yang hanya terhubung dengan server. User dari computer client ingin mencetak data dari komputernya. Biasanya user memindah data dengan bantuan device external seperti disket, flash disk, hard disk, atau cd-rw. Namun dengan RPC hal tersebut akan menjadi lebih efisien. 
Solusi : Dengan RPC, untuk mencetak data dari computer client, computer client mengirim pesan “cetak” kepada computer server. Kemudian computer server menerima perintah tersebut dan kemudian menjalankan perintah mencetak data. Setelah itu server mengirimkan pesan pada client berupa informasi “file telah dicetak”. 

Referensi :
1. http://xceaster.files.wordpress.com/2009/07/remote-procedure-call.pdf (Tanggal akses 19 Maret 2013)
2. http://sea7star.blogspot.com/2012/03/remote-procedure-call-rpc.html (Tanggal akses 19 Maret 2013)
3. http://id.scribd.com/doc/33389539/Tugas-Mk-Istem-Terdistibusi-Makalah-RPC (Tanggal akses 19 Maret 2013)

Senin, 11 Maret 2013

KARAKTERISTIK SISTEM TERDISTRIBUSI


Sistem terdidtribusi adalah suatu kesatuan dari elemen-elemen yang saling berinteraksi secara sistematis dan teratur untuk mendistribusikan data, informasi, obyek dan layanan dari dan kepada pengguna yang terkait didalamnya. Infrastruktur utama sistem terdistribusi adalah jaringan, hardware software dan pengguna yang terkait di dalamnya.

Ada beberapa hal yang harus diperhatikan dalam membangun sistem terdistribusi,yaitu :
Transparency (Kejelasan)
Communication (Komunikasi)
Performance & Scalability (Kinerja dan Ruang Lingkup)
Heterogeneity (Keanekaragaman)
Opennes (Keterbukaan)
Reliability & Fault Tolerancy (Kehandalan dan Toleransi Kegagalan)
Security (Kemanan)


Karakteristik yang dimiliki system terdistribusi, adalah sebagai berikut:

1. No global clock (Keterbatasan dalam Global Clock)
Hal ini menyebabkan kesulitan dalam mensinkronkan waktu seluruh komputer/perangkat yang terlibat. Dapat berpengaruh pada pengiriman pesan/data, seperti saat beberapa proses berebut ingin masuk ke critical session.
• Dalam pemakaian bersama atas sumber daya diperlukan beberapa hal, yaitu:
   - Dibutuhkan hardware dan software yang mendukung
   - Memerlukan resource manager
   - Perlunya suatu hubungan antara resource dengan pihak yang menggunakannya.
   - Terdapat client-server, remote evolution, code on demand, dan mobile agent.
• Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem terdistribusi, oleh karena asynchronous message passing
• Pada sistem terdistribusi, tidak ada satu proses tunggal yang mengetahui global state sistem saat ini (disebabkan oleh concurrency dan message passing)

2. Independent failure
• Setiap komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat lain tetap berjalan      dengan baik.
• Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui.
• Proses tunggal mungkin tidak peduli pada kegagalan sistem keseluruhan

3. Concurrency of components
Pengaksesan suatu komponen/sumber daya (segala hal yang dapat digunakan bersama dalam jaringan komputer) secara bersamaan.
• Setiap komponen Hardware atau Software bersifat otonom.
• Sinkronisasi dan koordinasi dengan message passing.
• Sharing resource
• Masalah umum dalam system concurrent:
   - Deadlock
   - Lifelock
   - Komunitas yang tidak handal


Referensi:

http://www.scribd.com/doc/76639805/Karakteristik-Sistem-Data-Terdistribusi (Tanggal akses 11-3-2013)
http://repository.usu.ac.id/bitstream/123456789/20800/3/Chapter%20II.pdf (Tanggal akses 11-3-2013)
http://itinkz.wordpress.com/2010/02/16/karakteristik-sistem-terdistribusi(Tanggal akses 11-3-2013)