
Sabtu, 09 April 2011
di
19.21
|
1. Pendahuluan
Sistem tersebar adalah sistem yang terdiri atas sekumpulan komputer yang masing-masing berdiri sendiri namun tampak dari sisi pengguna sebagai sistem dengan komputer tunggal. [TAN 95] Sistem ini merupakan gagasan yang lahir dari keinginan untuk mengatasi kekurangan yang ada pada sistem terpusat (centralized systems) maupun pada komputer pribadi (personal computer).Model yang telah umum digunakan pada sistem tersebar adalah model berorientasi objek dan model client-server. Pada model berorientasi objek, masing-masing sumber daya yang ada dalam sistem dipandang sebagai suatu objek yang dapat diakses dengan cara tertentu. Model ini memberi keuntungan pemrograman berorientasi objek dalam penggunaan ulang kode. Sedangkan model yang paling banyak digunakan adalah model client-server. Gagasan utama dalam model client-server adalah pembentukan struktur sistem sebagai sekumpulan proses yang bekerja sama, yaitu server, yang menawarkan pelayanan kepada para pengguna, yaitu client. Entitas dasar dalam model ini adalah proses-proses server sebagai pengelola sumber-sumber daya dan proses-proses client yang meminta akses ke sumber-sumber daya tersebut. Sebuah proses dapat menjadi server maupun client. Proses client menggunakan sumber daya dengan mengirim request ke server. Proses server mengerjakan request untuk keperluan client. [ROB 96]
Mesin-mesin dalam sistem tersebar saling berkomunikasi menggunakan protokol. Pada dasarnya protokol adalah persetujuan semua pihak yang berkomunikasi tentang bagaimana komunikasi harus dilakukan. [TAN 96] Sebagai langkah awal standardisasi protokol internasional, ISO (International Standards Organization) menciptakan model Referensi OSI (Open Systems Interconnection). Satu kelemahan penggunaan model OSI adalah bahwa pada waktu model referensi itu diterima, telah banyak jaringan yang sudah mapan. Oleh karena itu banyak organisasi yang jaringan komputernya tidak begitu sesuai dengan model OSI. Sebagian besar dari mereka menggunakan model TCP/IP.
Komunikasi di antara entitas-entitas yang ada dalam sistem tersebar merupakan hal yang penting untuk dipertimbangkan dalam perancangan, karena berpengaruh terhadap karakteristik sistem. Pada tulisan ini dibahas beberapa strategi komunikasi dalam sistem tersebar, khususnya sistem dengan model client-server. Disajikan studi kasus berupa pengiriman kondisi beban beberapa CPU (CPU loads) ke sebuah mesin pencatat yang ada pada sistem. Kemudian diberikan dua alternatif strategi komunikasi yang sangat berbeda sebagai contoh penyelesaian. Alternatif pertama ditulis dalam Bahasa C, sedang alternatif kedua ditulis dalam Bahasa Perl. Keduanya diimplementasikan di lingkungan Linux Red Hat 6.2.
2. Strategi-strategi Komunikasi
Secara umum terdapat dua kelas protokol komunikasi tingkat rendah yang menyediakan paradigma client-server yaitu protokol berorientasi koneksi (connection oriented) dan protokol tanpa koneksi (connectionless). Kedua protokol tersebut dikatakan sebagai protokol tingkat rendah karena komunikasi antara client dan server dapat dilihat atau ditelusuri. Dengan kata lain, pada saat menulis program, server dan lokasinya disebutkan secara eksplisit.
Dalam model komunikasi berorientasi koneksi, server menunggu permintaan koneksi dari client. Setelah koneksi ditetapkan, komunikasi terjadi melalui handle (file descriptor). Salah satu kelemahan protokol berorientasi koneksi adalah setup overhead. Pada protokol tanpa koneksi overhead seperti itu tidak terjadi, namun protokol tanpa koneksi mempunyai kelemahan lain yaitu tidak ada jaminan bahwa pesan yang dikirimkan akan sampai di tujuan (unreliable).
Komunikasi client-server yang paling sederhana dapat digambarkan sebagai hubungan dengan port komunikasi tunggal. Jika client dan server menggunakan filesystem bersama dan bekerja di mesin yang sama, port tunggal tersebut dapat menjadi antrian yang bersifat FIFO (first in first out).
Pada saat server diaktifkan (starts up), server membuka antriannya dengan cara membuat hubungan socket ke port, dan menunggu (listen) permintaan layanan (request) dari client. Pada saat client butuh layanan, client membuat hubungan socket ke port server dan menulis request. Server lalu menyediakan layanannya. Pendekatan dengan port tunggal seperti ini akan bekerja dengan baik sepanjang jumlah client hanya satu dan client tidak minta balasan (reply). Jika ada lebih dari satu client, harus ada semacam konvensi untuk mengirimkan identitas proses client sedemikian rupa sehingga server dapat membedakan request dari client yang satu dengan request dari client yang lain.
Dalam penerapannya, server membuka antrian untuk client tertentu dengan menyatukan identitas proses client ke dalam antrian respon. Client membuat request yang mengandung identitas dan membuka hubungan berupa antrian lain untuk membaca respon server.
Jika client dan server membutuhkan interaksi tambahan selama pemrosesan request, maka digunakan channel komunikasi dua arah yang privat yang tidak membolehkan pertukaran informasi tentang identitas proses dari pesan yang satu ke pesan yang lain. Protokol berorientasi koneksi menggunakan mekanisme hand-off untuk menetapkan channel komunikasi di antara client dan server.
Mesin-mesin dalam sistem tersebar saling berkomunikasi menggunakan protokol. Pada dasarnya protokol adalah persetujuan semua pihak yang berkomunikasi tentang bagaimana komunikasi harus dilakukan. [TAN 96] Sebagai langkah awal standardisasi protokol internasional, ISO (International Standards Organization) menciptakan model Referensi OSI (Open Systems Interconnection). Satu kelemahan penggunaan model OSI adalah bahwa pada waktu model referensi itu diterima, telah banyak jaringan yang sudah mapan. Oleh karena itu banyak organisasi yang jaringan komputernya tidak begitu sesuai dengan model OSI. Sebagian besar dari mereka menggunakan model TCP/IP.
Komunikasi di antara entitas-entitas yang ada dalam sistem tersebar merupakan hal yang penting untuk dipertimbangkan dalam perancangan, karena berpengaruh terhadap karakteristik sistem. Pada tulisan ini dibahas beberapa strategi komunikasi dalam sistem tersebar, khususnya sistem dengan model client-server. Disajikan studi kasus berupa pengiriman kondisi beban beberapa CPU (CPU loads) ke sebuah mesin pencatat yang ada pada sistem. Kemudian diberikan dua alternatif strategi komunikasi yang sangat berbeda sebagai contoh penyelesaian. Alternatif pertama ditulis dalam Bahasa C, sedang alternatif kedua ditulis dalam Bahasa Perl. Keduanya diimplementasikan di lingkungan Linux Red Hat 6.2.
2. Strategi-strategi Komunikasi
Secara umum terdapat dua kelas protokol komunikasi tingkat rendah yang menyediakan paradigma client-server yaitu protokol berorientasi koneksi (connection oriented) dan protokol tanpa koneksi (connectionless). Kedua protokol tersebut dikatakan sebagai protokol tingkat rendah karena komunikasi antara client dan server dapat dilihat atau ditelusuri. Dengan kata lain, pada saat menulis program, server dan lokasinya disebutkan secara eksplisit.
Dalam model komunikasi berorientasi koneksi, server menunggu permintaan koneksi dari client. Setelah koneksi ditetapkan, komunikasi terjadi melalui handle (file descriptor). Salah satu kelemahan protokol berorientasi koneksi adalah setup overhead. Pada protokol tanpa koneksi overhead seperti itu tidak terjadi, namun protokol tanpa koneksi mempunyai kelemahan lain yaitu tidak ada jaminan bahwa pesan yang dikirimkan akan sampai di tujuan (unreliable).
Komunikasi client-server yang paling sederhana dapat digambarkan sebagai hubungan dengan port komunikasi tunggal. Jika client dan server menggunakan filesystem bersama dan bekerja di mesin yang sama, port tunggal tersebut dapat menjadi antrian yang bersifat FIFO (first in first out).
Pada saat server diaktifkan (starts up), server membuka antriannya dengan cara membuat hubungan socket ke port, dan menunggu (listen) permintaan layanan (request) dari client. Pada saat client butuh layanan, client membuat hubungan socket ke port server dan menulis request. Server lalu menyediakan layanannya. Pendekatan dengan port tunggal seperti ini akan bekerja dengan baik sepanjang jumlah client hanya satu dan client tidak minta balasan (reply). Jika ada lebih dari satu client, harus ada semacam konvensi untuk mengirimkan identitas proses client sedemikian rupa sehingga server dapat membedakan request dari client yang satu dengan request dari client yang lain.
Dalam penerapannya, server membuka antrian untuk client tertentu dengan menyatukan identitas proses client ke dalam antrian respon. Client membuat request yang mengandung identitas dan membuka hubungan berupa antrian lain untuk membaca respon server.
Jika client dan server membutuhkan interaksi tambahan selama pemrosesan request, maka digunakan channel komunikasi dua arah yang privat yang tidak membolehkan pertukaran informasi tentang identitas proses dari pesan yang satu ke pesan yang lain. Protokol berorientasi koneksi menggunakan mekanisme hand-off untuk menetapkan channel komunikasi di antara client dan server.
Diposting oleh
sendi_chen
Label:
Belajar Ilmu Komputer
0 komentar:
Posting Komentar