Sistem tersebar adalah sistem yang terdiri atas sekumpulan komputer yang masing-masing berdiri sendiri namun tampak dari sisi pengguna sebagai sistem dengan komputer tunggal. 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.
Mesin-mesin dalam sistem tersebar saling berkomunikasi menggunakan protokol. Pada dasarnya protokol adalah persetujuan semua pihak yang berkomunikasi tentang bagaimana komunikasi harus dilakukan. 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.
Masing-masing strategi komunikasi di antara client dan server mempunyai sifat tertentu, yang memuat kelebihan dan kekurangan. Pemilihan strategi biasanya didasarkan atas jenis data yang akan ditransmisi melalui hubungan tersebut. Kesalahan pemilihan strategi mengakibatkan utilitas sistem tidak optimal. Dengan kata lain, ketepatan pemilihan strategi komunikasi dapat meningkatkan utilitas sistem, dan dengan demikian akan meningkatkan performansi sistem. Pada penyelesaian kasus yang diberikan, pemilihan bahasa pemrograman bukan hal yang esensial. Aspek penting yang menjadi pertimbangan antara lain tingkat abstraksi baik data maupun logika yang berbeda-beda antara pemrogram yang satu dan pemrogram yang lainnya.
Sumber : [CHR 98] Christiansen, Tom; Torkington, Nathan, 1998, Perl Cookbook, O’Reilly & Associates, Inc.