DISTRIBUTED SYSTEMS Concept and Design - Fifth Edition
George Coulouris
Cambridge University
Jean Dollimore
formerly of Queen Mary, University of London
Tim Kindberg
matter 2 media
Gordon Blair
Lancaster University
Sebuah sistem terdistribusi adalah satu dimana komponen yang ada di jaringan komunikasi komputer dan mengkoordinasikan kerjanya hanya dengan lewat pesan. Definisi ini mengarah ke karakteristik berikut yang sangat signifikan dari sistem terdistribusi : concurrency komponen, keterbatasan jam global dan kegagalan independen komponen.
Tantangan yang timbul dari pembangunan sistem terdistribusi adalah heterogenitas komponennya, keterbukaan (yang memungkinkan komponen yang akan ditambahkan atau diganti), keamanan, skalabilitas - kemampuan untuk bekerja dengan baik ketika beban atau jumlah pengguna meningkat - penanganan kegagalan, concurrency komponen, transparansi dan menyediakan kualitas layanan.
Akhirnya, Web dibahas sebagai contoh skala besar sistem terdistribusi dan fitur utama yang diperkenalkan.
1.1 PENDAHULUAN
Jaringan komputer ada di mana-mana. Internet adalah salah satunya, seperti yang banyak jaringan
dibuat. Jaringan telepon seluler, jaringan perusahaan, jaringan pabrik, jaringan kampus, jaringan rumah, jaringan dalam mobil - semua ini, baik secara terpisah dan dikombinasikan, berbagi karakteristik penting yang membuat mereka pelajaran yang relevan untuk belajar di bawah sistem pos didistribusikan
Kami mendefinisikan sistem terdistribusi sebagai salah satu di mana perangkat keras atau perangkat lunak terletak di jaringan komunikasi komputer dan mengkoordinasikan kejanya hanya dengan lewat pesan. Definisi sederhana ini mencakup seluruh berbagai sistem dimana jaringan komputer dapat berguna untuk dikerahkan.
Komputer yang terhubung dengan jaringan dapat spasial dipisahkan oleh jarak. Mereka mungkin di benua yang terpisah, di gedung yang sama atau di ruangan yang sama. Definisi kita tentang sistem terdistribusi memiliki konsekuensi yang signifikan berikut:
Concurrency: Dalam jaringan komputer, eksekusi program bersamaan adalah normal. Aku bisa melakukan pekerjaan saya di komputer saya saat Anda melakukan pekerjaan Anda pada Anda, berbagi sumber daya seperti halaman web atau file bila diperlukan. Kapasitas sistem untuk menangani sumber daya bersama dapat ditingkatkan dengan menambahkan lebih banyak sumber daya (misalnya komputer) ke jaringan. Kami akan menjelaskan cara di mana kapasitas ekstra ini dapat berguna ditempatkan di banyak poin dalam buku ini. Koordinasi secara bersamaan mengeksekusi program yang berbagi sumber daya juga merupakan topik penting dan berulang.
Tidak ada jam global: Ketika program perlu bekerja sama mereka mengkoordinasikan kerjanya dengan bertukar pesan. Koordinasi tertutup sering tergantung pada ide bersama waktu di mana kerja program 'terjadi. Tapi ternyata bahwa ada batas untuk akurasi yang komputer dalam jaringan untuk dapat menyinkronkan jam mereka. Ada gagasan tunggal global dari waktu yang tepat. Ini adalah konsekuensi langsung dari fakta bahwa satu-satunya komunikasi adalah dengan mengirimkan pesan melalui jaringan. Contoh masalah-masalah waktu dan solusi untuk mereka akan dijelaskan dalam Bab 14.
kegagalan Independent: Semua sistem komputer dapat gagal, dan itu adalah tanggung jawab perancang sistem untuk merencanakan konsekuensi dari kemungkinan kegagalan. sistem terdistribusi bisa gagal dalam cara-cara baru. Kesalahan dalam hasil jaringan dalam isolasi dari komputer yang yang terhubung ke sana, tapi itu tidak berarti bahwa mereka berhenti berjalan. Bahkan, program pada mereka mungkin tidak dapat mendeteksi apakah jaringan telah gagal atau telah menjadi luar biasa lambat. Demikian pula, kegagalan komputer, atau penghentian tak terduga dari program di suatu tempat dalam sistem (kecelakaan), tidak segera diketahui oleh komponen lain dengan yang berkomunikasi. Setiap komponen dari sistem dapat gagal independen, meninggalkan yang lain masih berjalan. Konsekuensi dari karakteristik ini sistem terdistribusi akan menjadi tema yang berulang dalam buku ini. Motivasi utama untuk membangun dan menggunakan sistem terdistribusi berasal dari keinginan untuk berbagi sumber daya. Istilah 'sumber daya' adalah satu agak abstrak, tetapi ciri terbaik kisaran hal-hal yang berguna dapat dibagi dalam sistem jaringan komputer. Ia meluas dari komponen hardware seperti disk dan printer untuk software-defined entitas seperti file, database dan objek data dari semua jenis. Ini termasuk aliran frame video yang muncul dari kamera video digital dan koneksi audio yang a panggilan telepon selular mewakili. Tujuan bab ini adalah untuk menyampaikan pandangan yang jelas dari sifat didistribusikan sistem dan tantangan yang harus diatasi dalam rangka untuk memastikan bahwa mereka sukses.
1.2 memberikan beberapa contoh ilustrasi dari sistem terdistribusi, dengan.
1.3 meliputi tren yang mendasari utama yang mendorong perkembangan terakhir.
1.4 berfokus pada desain sistem berbagi sumber daya, sementara Bagian
1.5 menjelaskan kunci tantangan yang dihadapi oleh para perancang sistem terdistribusi: heterogenitas, keterbukaan, keamanan, skalabilitas, penanganan kegagalan, concurrency, transparansi dan kualitas layanan.
1.6 menyajikan studi kasus rinci dari satu sistem terdistribusi sangat terkenal, yang World Wide Web, menggambarkan bagaimana desain mendukung berbagi sumber daya.
1.2 Contoh sistem terdistribusi Tujuan dari bagian ini adalah untuk memberikan contoh motivasi kontemporer didistribusikan sistem yang menggambarkan kedua peran meresap sistem terdistribusi dan keragaman aplikasi terkait. Seperti disebutkan dalam pendahuluan, jaringan di mana-mana dan mendukung banyak layanan sehari-hari yang sekarang kita mengambil untuk diberikan: Internet dan Dunia terkait Wide Web, pencarian web, game online, email, jejaring sosial, eCommerce, dll Untuk menggambarkan hal ini lebih lanjut, perhatikan Gambar 1.1, yang menggambarkan berbagai dipilih dari kunci sektor aplikasi komersial atau sosial menyoroti beberapa Associated didirikan atau muncul penggunaan teknologi sistem terdistribusi. Seperti dapat dilihat, sistem terdistribusi mencakup banyak paling signifikan perkembangan teknologi dari tahun terakhir dan karenanya pemahaman tentang teknologi yang mendasari benar-benar pusat pengetahuan komputasi modern. Itu Angka juga memberikan wawasan awal ke dalam berbagai aplikasi yang digunakan saat ini, dari sistem yang relatif terlokalisasi (seperti yang ditemukan, misalnya, di dalam mobil atau pesawat) untuk globalscale sistem yang melibatkan jutaan node, dari layanan data-centric ke processorintensive tugas, dari sistem yang dibangun dari sensor sangat kecil dan relatif primitif mereka memasukkan unsur-unsur komputasi yang kuat, dari sistem tertanam untuk orang-orang yang mendukung pengalaman pengguna yang interaktif canggih, dan sebagainya. Kita sekarang melihat contoh-contoh yang lebih spesifik dari sistem terdistribusi untuk lebih menggambarkan keragaman dan memang kompleksitas penyediaan sistem terdistribusi hari ini. pencarian 1.2.1 Web pencarian web telah muncul sebagai industri pertumbuhan utama dalam dekade terakhir, dengan baru-baru ini Angka menunjukkan bahwa jumlah global pencarian telah meningkat menjadi lebih dari 10 miliar per kalender bulan. Tugas dari mesin pencari web adalah untuk mengindeks seluruh isi World Wide Web, meliputi berbagai gaya informasi termasuk web halaman, sumber multimedia dan (scan) buku. Ini adalah tugas yang sangat kompleks, karena saat ini perkiraan menyatakan bahwa Web terdiri dari lebih dari 63 milyar halaman dan satu triliun web yang unik Gambar 1.1 aplikasi domain Dipilih dan aplikasi jaringan yang terkait Keuangan dan perdagangan Pertumbuhan eCommerce seperti yang dicontohkan oleh perusahaan seperti Amazon dan eBay, dan pembayaran yang mendasari teknologi seperti PayPal; munculnya terkait perbankan online dan perdagangan dan juga sistem penyebaran informasi yang kompleks untuk pasar keuangan. Masyarakat informasi Pertumbuhan World Wide Web sebagai gudang informasi dan pengetahuan; pengembangan mesin pencari web seperti Google dan Yahoo untuk mencari repositori luas ini; munculnya digital perpustakaan dan digitalisasi skala besar sumber informasi warisan seperti buku (misalnya, Google Books); meningkatnya signifikansi konten yang dibuat pengguna melalui situs seperti YouTube, Wikipedia dan Flickr; munculnya jaringan sosial melalui layanan seperti Facebook dan MySpace. industri kreatif dan hiburan Munculnya game online sebagai novel dan bentuk yang sangat interaktif hiburan; ketersediaan film dan musik di rumah melalui pusat-pusat media jaringan dan lebih luas di Internet melalui download atau streaming konten; peran user-generated content (Seperti yang disebutkan di atas) sebagai bentuk baru kreativitas, misalnya melalui layanan seperti YouTube; penciptaan bentuk-bentuk baru seni dan hiburan diaktifkan oleh muncul (termasuk jaringan) teknologi. Kesehatan Pertumbuhan informatika kesehatan sebagai disiplin dengan penekanan pada secara online catatan pasien elektronik dan isu-isu terkait privasi; itu meningkatkan peran telemedicine dalam mendukung terpencil diagnosis atau lebih layanan canggih seperti operasi jarak jauh (termasuk kolaboratif kerja antara tim kesehatan); aplikasi meningkatnya jaringan dan teknologi embedded system di hidup dibantu, untuk Misalnya untuk memantau orang tua di rumah mereka sendiri. Pendidikan Munculnya alat berbasis web e-learning melalui misalnya seperti lingkungan belajar virtual; dukungan terkait untuk jarak pembelajaran; dukungan untuk pembelajaran kolaboratif atau berbasis masyarakat. Transportasi dan logistik Penggunaan teknologi lokasi seperti GPS dalam mencari rute sistem dan sistem manajemen lalu lintas umum lainnya; mobil modern itu sendiri sebagai contoh sistem yang rumit (juga berlaku untuk lainnya bentuk transportasi seperti pesawat terbang); pengembangan peta berbasis web layanan seperti MapQuest, Google Maps dan Google Earth.
Ilmu Munculnya Grid sebagai teknologi dasar untuk eScience, termasuk penggunaan jaringan yang kompleks dari komputer untuk mendukung penyimpanan, analisis dan pengolahan (sering jumlah yang sangat besar) data ilmiah; terkait penggunaan Grid sebagai teknologi yang memungkinkan untuk kolaborasi di seluruh dunia antara kelompok ilmuwan. pengelolaan lingkungan Penggunaan (jaringan) teknologi sensor perlu memonitor dan mengelola lingkungan alam, misalnya untuk memberikan peringatan dini bencana alam seperti gempa bumi, banjir atau tsunami dan untuk mengkoordinasikan tanggap darurat; pengumpulan dan analisis global parameter lingkungan untuk lebih memahami kompleks alami fenomena seperti perubahan iklim. alamat. Mengingat bahwa kebanyakan mesin pencari menganalisis seluruh isi web dan kemudian melakukan out pengolahan yang canggih pada database yang sangat besar ini, tugas ini sendiri merupakan tantangan besar untuk desain sistem terdistribusi. Google, pemimpin pasar dalam teknologi pencarian web, telah menempatkan upaya signifikan dalam desain infrastruktur sistem terdistribusi yang canggih untuk mendukung pencarian (dan memang aplikasi dan layanan Google lainnya seperti Google Earth). ini merupakan salah satu yang terbesar dan paling kompleks instalasi sistem terdistribusi dalam sejarah komputasi dan karenanya menuntut pemeriksaan dekat. Highlights infrastruktur ini meliputi:
infrastruktur fisik yang mendasari yang terdiri dari jumlah yang sangat besar jaringan komputer yang terletak di pusat data di seluruh dunia;
sistem file terdistribusi yang dirancang untuk mendukung file yang sangat besar dan berat dioptimalkan untuk gaya penggunaan dibutuhkan oleh pencari dan aplikasi Google lainnya (terutama membaca dari file pada tinggi dan tingkat berkelanjutan);
sebuah dikaitkan terstruktur didistribusikan sistem penyimpanan yang menawarkan akses cepat ke sangat dataset yang besar;
layanan kunci yang menawarkan fungsi sistem terdistribusi seperti penguncian didistribusikan dan kesepakatan;
model pemrograman yang mendukung pengelolaan paralel yang sangat besar dan didistribusikan perhitungan seluruh infrastruktur fisik yang mendasari. Rincian lebih lanjut tentang layanan sistem terdistribusi Google dan komunikasi yang mendasari dukungan dapat ditemukan dalam Bab 21, sebuah studi kasus yang menarik dari yang modern didistribusikan sistem dalam tindakan.
1.2.2 game online Massively multiplayer (MMOGs)
game massively multiplayer online menawarkan pengalaman mendalam dimana sangat besar jumlah pengguna berinteraksi melalui Internet dengan dunia maya terus-menerus. Terkemuka contoh game tersebut termasuk Sony EverQuest II dan EVE Online dari Finlandia Perusahaan PKC Games. dunia seperti telah meningkat secara signifikan dalam kecanggihan dan sekarang termasuk, arena bermain yang kompleks (misalnya EVE, online terdiri dari alam semesta dengan lebih dari 5.000 sistem bintang) dan sistem sosial dan ekonomi aneka. Itu Sejumlah pemain juga meningkat, dengan sistem mampu mendukung lebih dari 50.000 simultan pemain online (dan jumlah total pemain mungkin sepuluh kali angka ini). Rekayasa MMOGs merupakan tantangan besar untuk sistem terdistribusi teknologi, khususnya karena kebutuhan untuk cepat waktu respon untuk melestarikan pengguna Pengalaman dari permainan. Tantangan lainnya propagasi real-time dari acara untuk banyak pemain dan mempertahankan tampilan yang konsisten dari dunia bersama. ini karena itu memberikan contoh yang sangat baik dari tantangan yang dihadapi sistem terdistribusi yang modern desainer. Sejumlah solusi telah diusulkan untuk desain multiplayer secara besar-besaran
game online:
Mungkin mengejutkan, game online terbesar, EVE Online, memanfaatkan client-server arsitektur di mana satu salinan dari negara dunia dipertahankan pada server terpusat dan diakses oleh program client yang berjalan pada konsol pemain atau perangkat lain. Untuk mendukung sejumlah besar klien, server adalah kompleks entitas dalam dirinya sendiri terdiri dari arsitektur cluster menampilkan ratusan node komputer (pendekatan client-server ini dibahas secara lebih rinci dalam Bagian
1,4 dan klaster pendekatan dibahas dalam Bagian 1.3.4). terpusat arsitektur membantu secara signifikan dalam hal pengelolaan dunia maya dan single copy juga memudahkan kekhawatiran konsistensi. Tujuannya adalah kemudian untuk memastikan cepat respon melalui optimalisasi protokol jaringan dan memastikan respon yang cepat untuk Peristiwa yang masuk. Untuk mendukung ini, beban dipartisi dengan mengalokasikan individu 'Sistem bintang' ke komputer tertentu dalam cluster, dengan bintang yang sangat dimuat sistem memiliki komputer khusus mereka sendiri dan orang lain berbagi komputer. Peristiwa yang masuk diarahkan ke komputer yang tepat dalam cluster dengan menjaga melacak pergerakan pemain antara sistem bintang.
MMOGs lain mengadopsi arsitektur lebih terdistribusi di mana alam semesta adalah dipartisi seluruh (berpotensi sangat besar) jumlah server yang mungkin juga geografis didistribusikan. Pengguna kemudian dialokasikan secara dinamis tertentu server berdasarkan pola penggunaan saat ini dan juga penundaan jaringan ke server (Berdasarkan kedekatan geografis misalnya). Ini gaya arsitektur, yang diadopsi oleh EverQuest, secara alami extensible dengan menambahkan server baru.
Kebanyakan sistem komersial mengadopsi salah satu dari dua model yang disajikan di atas, tapi peneliti juga sekarang melihat arsitektur yang lebih radikal yang tidak didasarkan prinsip client-server melainkan mengadopsi pendekatan sepenuhnya desentralisasi berdasarkan teknologi peer-to-peer dimana setiap peserta kontribusi sumber (Penyimpanan dan pengolahan) untuk mengakomodasi permainan. pertimbangan lebih lanjut dari peerto- solusi rekan ditangguhkan sampai Bab 2 dan 10).1.2.3 perdagangan Keuangan Sebagai contoh terakhir, kita melihat dukungan sistem terdistribusi untuk pasar perdagangan keuangan. Industri keuangan telah lama di tepi pemotongan dari sistem terdistribusi teknologi dengan kebutuhan, khususnya, untuk akses real-time ke berbagai sumber informasi (misalnya, harga saham saat ini dan tren, ekonomi dan perkembangan politik). Industri ini mempekerjakan monitoring dan perdagangan otomatis aplikasi (lihat di bawah). Perhatikan bahwa penekanan dalam sistem tersebut adalah pada komunikasi dan pengolahan item yang menarik, yang dikenal sebagai peristiwa di sistem terdistribusi, dengan kebutuhan juga untuk menyampaikan peristiwa andal dan pada waktu yang tepat untuk nomor berpotensi sangat besar klien yang memiliki bunga yang ditetapkan dalam item informasi tersebut. Contoh peristiwa tersebut termasuk drop dalam harga saham, rilis angka pengangguran terbaru, dan sebagainya. ini membutuhkan gaya yang sangat berbeda dari arsitektur yang mendasari dari gaya yang disebutkan di atas (untuk Misalnya client-server), dan sistem seperti biasanya menggunakan apa yang dikenal sebagai sistem terdistribusi berbasis event. Kami menyajikan ilustrasi dari penggunaan khas seperti sistem bawah dan kembali ke topik penting ini secara lebih mendalam pada Bab 6. Acara feed datang ke lembaga keuangan tertentu. Acara seperti feed berbagi karakteristik sebagai berikut. Pertama, sumber biasanya dalam berbagai format, seperti Reuters peristiwa data pasar dan peristiwa FIX (peristiwa mengikuti format tertentu protokol Informasi Keuangan eXchange), dan memang dari acara yang berbeda teknologi, sehingga menggambarkan masalah heterogenitas sebagai ditemui di sebagian besar sistem terdistribusi (lihat juga Bagian 1.5.1). Angka ini menunjukkan penggunaan adapter yang menerjemahkan format heterogen ke dalam format internal umum. Kedua, perdagangan Sistem harus berurusan dengan berbagai acara sungai, semua tiba pada tingkat yang cepat, dan sering membutuhkan pemrosesan real-time untuk mendeteksi pola yang mengindikasikan peluang trading. Ini digunakan untuk menjadi proses manual namun tekanan kompetitif telah menyebabkan meningkatnya otomatisasi dalam hal apa yang dikenal sebagai Kompleks Kegiatan Pengolahan (CEP), yang menawarkan cara menyusun acara kejadian bersama-sama ke pola logis, temporal atau spasial. Pendekatan ini terutama digunakan untuk mengembangkan perdagangan algoritmik disesuaikan strategi yang meliputi pembelian dan penjualan saham dan saham, khususnya melihat untuk pola yang mengindikasikan peluang perdagangan dan kemudian secara otomatis merespon dengan menempatkan dan mengelola pesanan. Sebagai contoh, pertimbangkan script berikut: script ini didasarkan pada fungsi yang disediakan oleh Apama [www.progress.com], sebuah produk komersial di dunia keuangan awalnya dikembangkan dari penelitian diusung di University of Cambridge. script mendeteksi urutan waktu kompleks didasarkan pada harga saham Microsoft, HP dan keranjang harga saham lainnya, dihasilkan dalam keputusan untuk membeli atau menjual saham tertentu. Gaya ini teknologi semakin banyak digunakan di daerah lain keuangan
sistem termasuk pemantauan aktivitas perdagangan untuk mengelola risiko (khususnya, pelacakan paparan), untuk memastikan kepatuhan terhadap peraturan dan untuk memantau pola Kegiatan yang mungkin mengindikasikan penipuan transaksi. Dalam sistem tersebut, acara yang biasanya dicegat dan melewati apa yang setara dengan kepatuhan dan risiko firewall sebelum diproses (lihat juga pembahasan firewall dalam Bagian 1.3.1 di bawah ini).
1.3 Tren dalam sistem terdistribusi istem terdistribusi sedang mengalami masa perubahan signifikan dan ini dapat ditelusuri kembali ke sejumlah tren yang berpengaruh:
munculnya teknologi jaringan meresap
munculnya komputasi di mana-mana ditambah dengan keinginan untuk mendukung pengguna mobilitas dalam sistem terdistribusi;
meningkatnya permintaan untuk layanan multimedia;
pandangan sistem terdistribusi sebagai utilitas.
1.3.1 jaringan Pervasif dan Internet modern
Internet modern adalah kumpulan saling berhubungan luas jaringan komputer banyak berbagai jenis, dengan berbagai jenis meningkat sepanjang waktu dan sekarang termasuk, untuk Misalnya, berbagai teknologi komunikasi nirkabel seperti WiFi, WiMAX, Bluetooth (lihat Bab 3) dan generasi ketiga jaringan telepon seluler. Hasil akhirnya adalah jaringan yang telah menjadi sumber daya meresap dan perangkat dapat terhubung (jika diinginkan) setiap saat dan di setiap tempat. Gambar 1.3 mengilustrasikan sebagian khas Internet. Program yang berjalan pada komputer yang terhubung ke berinteraksi dengan melewati pesan, menggunakan sarana umum komunikasi. Desain dan konstruksi komunikasi Internet mekanisme (protokol Internet) merupakan prestasi teknis utama, memungkinkan Program yang berjalan di mana saja untuk mengatasi pesan ke program di tempat lain dan abstrak atas segudang teknologi yang disebutkan di atas. Internet juga merupakan sistem terdistribusi sangat besar. Hal ini memungkinkan pengguna, di mana pun mereka adalah, untuk memanfaatkan layanan seperti World Wide Web, email dan transfer file. (Memang, Web ini kadang-kadang salah disamakan dengan internet.) The set layanan adalah terbuka - itu dapat diperpanjang dengan penambahan komputer server dan jenis baru layanan. Angka ini menunjukkan koleksi intranet - subnetwork yang dioperasikan oleh perusahaan dan organisasi lainnya dan biasanya dilindungi oleh firewall. Peran firewall adalah untuk melindungi intranet dengan mencegah pesan yang tidak sah meninggalkan atau memasuki. Sebuah dilakukan oleh sumber atau tujuan, atau firewall mungkin mengizinkan hanya pesan pesan terkait untuk email dan akses web untuk lulus ke dalam atau keluar dari intranet yang melindungi. Layanan Internet Penyedia (ISP) adalah perusahaan yang menyediakan link broadband dan jenis-jenis koneksi ke pengguna individu dan organisasi kecil, memungkinkan mereka untuk mengakses layanan di mana saja di internet serta menyediakan layanan lokal seperti email dan web hosting. Intranet dihubungkan bersama oleh tulang punggung. Sebuah backbone adalah link jaringan dengan kapasitas transmisi yang tinggi, menggunakan koneksi satelit, kabel serat optik dan sirkuit-bandwidth tinggi lainnya. Perhatikan bahwa beberapa organisasi mungkin tidak ingin menghubungkan jaringan internal mereka untuk Internet sama sekali. Misalnya, polisi dan lembaga penegak keamanan dan hukum lainnya cenderung memiliki setidaknya beberapa intranet internal yang terisolasi dari dunia luar (Firewall yang paling efektif mungkin - tidak adanya koneksi fisik ke Internet). Firewall juga dapat menjadi masalah dalam sistem terdistribusi dengan menghambat akses yang sah ke layanan saat berbagi sumber daya antara pengguna internal dan eksternal diperlukan. Oleh karena itu, firewall harus sering dilengkapi dengan lebih halus mekanisme dan kebijakan, seperti dibahas dalam Bab 11. Pelaksanaan Internet dan layanan yang mendukung telah mensyaratkan pengembangan solusi praktis untuk banyak masalah sistem terdistribusi (termasuk kebanyakan dari mereka didefinisikan dalam Pasal 1.5). Kami akan menyoroti orang-solusi di seluruh buku, menunjukkan ruang lingkup dan keterbatasan mereka di mana sesuai. 1.3.2 komputasi Mobile dan di mana-mana kemajuan teknologi dalam perangkat miniaturisasi dan jaringan nirkabel telah menyebabkan semakin ke integrasi perangkat komputasi kecil dan portabel ke didistribusikan sistem. Perangkat ini meliputi:
Laptop komputer.
perangkat Handheld, termasuk ponsel, ponsel pintar, perangkat GPS-enabled, pager, personal digital assistant (PDA), kamera video dan kamera digital.
perangkat Wearable, seperti jam tangan pintar dengan fungsi yang mirip dengan PDA.
Perangkat tertanam dalam peralatan seperti mesin cuci, sistem hi-fi, mobil dan lemari es. Portabilitas banyak perangkat ini, bersama-sama dengan kemampuan mereka untuk menghubungkan mudah untuk jaringan di tempat yang berbeda, membuat komputasi mobile mungkin. Mobil komputasi adalah kinerja tugas-tugas komputasi sementara pengguna adalah bergerak, atau mengunjungi tempat-tempat selain lingkungan biasa mereka. Dalam komputasi mobile, pengguna yang jauh dari mereka intranet 'rumah' (intranet di tempat kerja, atau tempat tinggal mereka) masih disediakan dengan akses ke sumber daya melalui perangkat mereka membawa bersama mereka. mereka bisaterus mengakses internet; mereka dapat terus mengakses sumber daya di rumah mereka intranet; dan ada peningkatan penyediaan bagi pengguna untuk memanfaatkan sumber daya seperti printer atau bahkan poin penjualan yang berada di dekatnya karena mereka bergerak di sekitar. Yang terakhir ini juga dikenal sebagai lokasi-sadar atau komputasi konteks-sadar. Mobilitas memperkenalkan sejumlah tantangan bagi sistem terdistribusi, termasuk kebutuhan untuk berurusan dengan konektivitas variabel dan memang pemutusan, dan kebutuhan untuk mempertahankan operasi dalam menghadapi perangkat mobilitas (lihat diskusi tentang transparansi mobilitas dalam Bagian 1.5.7). komputasi di mana-mana adalah yang memanfaatkan banyak kecil, komputasi murah perangkat yang hadir dalam lingkungan fisik pengguna, termasuk rumah, kantor dan bahkan pengaturan alam. Istilah 'di mana-mana' dimaksudkan untuk menunjukkan bahwa komputasi kecil perangkat akhirnya akan menjadi begitu meresap dalam benda sehari-hari yang mereka hampir perhatikan. Artinya, perilaku komputasi mereka akan transparan dan erat terikat dengan fungsi fisik mereka. Kehadiran komputer di mana-mana hanya menjadi berguna ketika mereka bisa berkomunikasi dengan satu sama lain. Sebagai contoh, mungkin nyaman bagi pengguna untuk mengontrol mesin cuci atau sistem hiburan mereka dari ponsel mereka atau "universal remote control 'perangkat di rumah. Sama, mesin cuci bisa memberitahu pengguna melalui lencana pintar atau ponsel saat mencuci dilakukan. Di mana-mana dan mobile computing tumpang tindih, karena pengguna ponsel bisa pada prinsipnya manfaat dari komputer yang di mana-mana. Tapi mereka berbeda, pada umumnya. di mana mana komputasi bisa menguntungkan pengguna sementara mereka tetap dalam satu lingkungan seperti rumah atau rumah sakit. Demikian pula, komputasi mobile memiliki kelebihan bahkan jika itu hanya melibatkan konvensional, komputer diskrit dan perangkat seperti laptop dan printer. Gambar 1.4 menunjukkan pengguna yang mengunjungi sebuah organisasi tuan rumah. Angka ini menunjukkan intranet rumah pengguna dan intranet tuan rumah di situs yang dikunjungi pengguna. Kedua intranet yang terhubung ke seluruh internet.
Pengguna memiliki akses ke tiga bentuk koneksi nirkabel. laptop mereka memiliki berarti menghubungkan ke LAN nirkabel host. Jaringan ini menyediakan cakupan dari beberapa ratus meter (lantai bangunan, mengatakan). Ini menghubungkan ke seluruh intranet tuan rumah melalui gateway atau jalur akses. Pengguna juga memiliki mobile (seluler) telepon, yang terhubung ke Internet. telepon memberikan akses ke Web dan layanan Internet lainnya,
dibatasi hanya dengan apa yang dapat disajikan pada layar kecil, dan juga dapat memberikan informasi lokasi melalui built-in fungsi GPS. Akhirnya, pengguna membawa digital kamera, yang dapat berkomunikasi melalui jaringan nirkabel (personal area dengan jangkauan hingga sekitar 10m) dengan perangkat seperti printer. Dengan infrastruktur sistem yang cocok, pengguna dapat melakukan beberapa tugas-tugas sederhana di situs host menggunakan perangkat yang mereka bawa. Sementara perjalanan ke situs tuan rumah, pengguna dapat mengambil harga saham terbaru dari web server menggunakan ponsel dan juga dapat menggunakan perangkat lunak built-in GPS dan menemukan rute untuk mendapatkan arah ke lokasi situs. Selama pertemuan dengan tuan rumah mereka, pengguna dapat menunjukkan kepada mereka sebuah foto terbaru dengan mengirimkan dari kamera digital langsung ke sesuai diaktifkan printer (lokal) atau proyektor di Ruangan pertemuan (ditemukan menggunakan layanan lokasi). Ini hanya membutuhkan link nirkabel antara kamera dan printer atau proyektor. Dan mereka dapat pada prinsipnya mengirim dokumen dari laptop mereka ke printer yang sama, memanfaatkan LAN nirkabel dan link kabel Ethernet ke printer. Skenario ini menunjukkan kebutuhan untuk mendukung interoperation spontan, dimana hubungan antara perangkat secara rutin diciptakan dan dihancurkan – misalnya dengan mencari dan menggunakan perangkat host, seperti printer. Tantangan utama menerapkan untuk situasi seperti ini untuk membuat interoperation cepat dan nyaman (yaitu, spontan) meskipun pengguna berada di lingkungan mereka mungkin tidak pernah dikunjungi sebelumnya. Bahwa berarti memungkinkan perangkat pengunjung untuk berkomunikasi pada jaringan host, dan mengaitkan perangkat dengan layanan lokal yang sesuai - proses yang disebut penemuan layanan. komputasi mobile dan di mana-mana merupakan daerah yang ramai penelitian, dan berbagai dimensi yang disebutkan di atas dibahas secara mendalam pada Bab 19. 1.3.3 sistem multimedia terdistribusi Kecenderungan lain yang penting adalah kebutuhan untuk mendukung layanan multimedia di terdistribusi sistem. dukungan multimedia dapat berguna didefinisikan sebagai kemampuan untuk mendukung berbagai jenis media secara terpadu. Satu dapat mengharapkan sistem terdistribusi untuk mendukung penyimpanan, transmisi dan presentasi dari apa yang sering disebut media sebagai diskrit jenis, seperti gambar atau pesan teks. Sebuah sistem multimedia terdistribusi harus mampu untuk melakukan fungsi yang sama untuk jenis media terus menerus seperti audio dan video; bahwa adalah, itu harus dapat menyimpan dan mencari file audio atau video, untuk mengirimkan mereka melintasi jaringan (mungkin secara real time sebagai aliran muncul dari kamera video), untuk mendukung presentasi dari jenis media untuk pengguna dan opsional juga untuk berbagi media jenis di kelompok pengguna. Karakteristik penting dari jenis media yang terus-menerus adalah bahwa mereka termasuk dimensi temporal, dan memang, integritas jenis media secara fundamental tergantung pada melestarikan hubungan real-time antara unsur-unsur dari jenis media. Untuk Misalnya, dalam sebuah presentasi video itu perlu untuk mempertahankan throughput yang diberikan dalam hal frame per detik dan, untuk aliran real-time, penundaan maksimum yang diberikan atau latency untuk pengiriman frame (ini adalah salah satu contoh dari kualitas layanan, dibahas lebih rinci dalam Bagian 1.5.8). Manfaat dari komputasi multimedia terdistribusi yang cukup besar dalam yang lebar berbagai baru (multimedia) layanan dan aplikasi dapat diberikan pada desktop, termasuk akses untuk hidup atau siaran televisi pra-rekaman, akses ke film perpustakaan menawarkan layanan video-on-demand, akses ke perpustakaan musik, penyediaan audio dan fasilitas konferensi video dan fitur telephony terintegrasi termasuk IP telephon teknologi atau terkait seperti Skype, alternatif peer-to-peer to IP telephony (yang infrastruktur sistem terdistribusi yang mendukung Skype dibahas dalam Bagian 4.5.2). Perhatikan bahwa teknologi ini adalah revolusioner dalam produsen menantang untuk memikirkan kembali banyak perangkat konsumen. Misalnya, apa adalah perangkat hiburan rumah inti dari masa - komputer, televisi, atau konsol game? Webcasting adalah aplikasi teknologi multimedia terdistribusi. webcasting adalah kemampuan untuk menyiarkan media terus menerus, biasanya audio atau video, melalui Internet. Itu sekarang biasa untuk olahraga atau musik peristiwa besar yang akan disiarkan dengan cara ini, sering menarik sejumlah besar pemirsa (misalnya, konser Live8 tahun 2005 menarik sekitar 170.000 pengguna simultan pada puncaknya). aplikasi multimedia terdistribusi seperti webcasting tempat yang cukup menuntut pada infrastruktur didistribusikan mendasari dalam hal:
memberikan dukungan untuk (extensible) berbagai encoding dan enkripsi format, seperti seri MPEG standar (termasuk misalnya MP3 populer standar atau dikenal sebagai MPEG-1, Audio Layer 3) dan HDTV;
menyediakan berbagai mekanisme untuk memastikan bahwa kualitas pelayanan yang diinginkan dapat menjadi bertemu;
menyediakan strategi manajemen sumber daya terkait, termasuk yang sesuai kebijakan penjadwalan untuk mendukung kualitas pelayanan yang diinginkan;
menyediakan strategi adaptasi untuk menghadapi situasi yang tak terelakkan di terbuka sistem di mana kualitas pelayanan tidak dapat dipenuhi atau berkelanjutan. Pembahasan lebih lanjut tentang mekanisme tersebut dapat ditemukan dalam Bab 20.
1.3.4 Distributed computing sebagai utilitas Dengan meningkatnya kematangan infrastruktur sistem terdistribusi, sejumlah perusahaan mempromosikan pandangan sumber daya didistribusikan sebagai komoditas atau utilitas, menggambar analogi antara sumber daya didistribusikan dan utilitas lainnya seperti air atau listrik. Dengan model ini, sumber daya yang disediakan oleh penyedia jasa yang sesuai dan efektif menyewa daripada yang dimiliki oleh pengguna akhir. Model ini berlaku untuk kedua fisik sumber daya dan layanan yang lebih logis:
Sumber daya fisik seperti penyimpanan dan pengolahan dapat dibuat tersedia untuk komputer jaringan, menghilangkan kebutuhan untuk memiliki sumber daya tersebut pada mereka sendiri. Di salah satu ujung spektrum, pengguna dapat memilih untuk fasilitas penyimpanan remote untuk berkas persyaratan penyimpanan (misalnya, untuk data multimedia seperti foto, musik atau video) dan / atau untuk backup. Demikian pula, pendekatan ini akan memungkinkan pengguna untuk menyewa satu atau lebih node komputasi, baik untuk memenuhi komputasi dasar mereka perlu atau memang untuk melakukan perhitungan didistribusikan. Di ujung lain dari spektrum, pengguna dapat mengakses pusat data yang canggih (fasilitas jaringan menawarkan akses ke repositori volume sering besar data pengguna atau organisasi) atau infrastruktur memang komputasi menggunakan jenis layanan sekarang disediakan oleh perusahaan seperti Amazon dan Google. sistem operasi virtualisasi kunci teknologi yang memungkinkan untuk pendekatan ini, menyiratkan bahwa pengguna sebenarnya bisa diberikan layanan oleh maya daripada node fisik. Ini menawarkan fleksibilitas yang lebih besar untuk pemasok layanan dalam hal sumber daya manajemen (virtualisasi sistem operasi dibahas secara lebih rinci dalam
Bab 7).
layanan Software (sebagaimana disebutkan dalam Pasal 1.4) dapat juga dibuat tersedia di seluruh Internet global yang menggunakan pendekatan ini. Memang, banyak perusahaan sekarang menawarkan berbagai layanan yang komprehensif untuk sewa yang efektif, termasuk layanan seperti email dan kalender didistribusikan. Google, misalnya, bundel berbagai bisnis layanan di bawah bendera Google Apps [www.google.com I]. perkembangan ini diaktifkan oleh standar yang disepakati untuk layanan perangkat lunak, misalnya seperti yang disediakan oleh layanan web (lihat Bab 9). Istilah cloud computing digunakan untuk menangkap visi ini komputasi sebagai utilitas. A cloud didefinisikan sebagai satu set berbasis internet aplikasi, penyimpanan dan layanan komputasi cukup untuk mendukung kebutuhan sebagian besar pengguna sehingga memungkinkan mereka untuk sebagian besar atau bahkan mengeluarkan dengan penyimpanan data lokal dan aplikasi perangkat lunak (lihat Gambar 1.5). Istilah ini jugamempromosikan pandangan dari segala sesuatu sebagai sebuah layanan, dari infrastruktur fisik atau virtualmelalui perangkat lunak, sering dibayar pada basis per-penggunaan daripada dibeli. Perhatikan bahwa komputasi awan mengurangi kebutuhan pada perangkat pengguna, yang memungkinkan desktop yang sangat sederhana atau perangkat portabel untuk mengakses berbagai berpotensi macam sumber daya dan jasa. Awan umumnya diimplementasikan pada komputer cluster untuk memberikan yang diperlukan skala dan kinerja yang dibutuhkan oleh layanan tersebut. Sebuah komputer Cluster adalah seperangkat komputer yang saling berhubungan yang bekerja sama erat untuk memberikan satu, berkinerja tinggi terintegrasi kemampuan komputasi. Membangun proyek-proyek seperti NOW (Jaringan Workstation) Proyek di Berkeley [Anderson et al. 1995, now.cs.berkeley.edu] dan Beowulf di NASA [www.beowulf.org], tren ke arah memanfaatkan komoditas hardware baik untuk komputer dan untuk jaringan interkoneksi. Sebagian besar kelompok terdiri dari PC komoditas menjalankan standar (kadang-kadang memotong-down) versi dari sistem operasi seperti Linux, dihubungkan oleh jaringan area lokal. Perusahaan seperti HP, Sun dan IBM solusi ditawarkan blade. Blade server minimal elemen komputasi yang mengandung misalnya pengolahan dan (memori utama) Penyimpanan kemampuan. Sebuah sistem blade terdiri dari sejumlah berpotensi besar server blade terkandung dalam kandang pisau. unsur lain seperti listrik, pendinginan, gigih penyimpanan (disk), jaringan dan menampilkan, disediakan baik oleh kandang atau melalui solusi virtualisasi (dibahas dalam Bab 7). Melalui solusi ini, individu blade server bisa jauh lebih kecil dan juga lebih murah untuk menghasilkan daripada PC komoditas. Tujuan keseluruhan dari komputer cluster untuk menyediakan berbagai layanan awan,termasuk kemampuan komputasi kinerja tinggi, penyimpanan massal (misalnya melalui pusat data), dan layanan aplikasi yang lebih kaya seperti web pencari (Google, misalnya bergantung pada arsitektur cluster komputer besar untuk menerapkan mesin pencari dan layanan lainnya, seperti dibahas dalam Bab 21). Grid computing (seperti dibahas dalam Bab 9, Bagian 9.7.2) juga dapat dilihat sebagai bentuk komputasi awan. Istilah sebagian besar identik dan di kali tidak jelas, tapi Grid computing secara umum dapat dilihat sebagai awal dari paradigma yang lebih umum dari komputasi awan dengan bias terhadap dukungan untuk aplikasi ilmiah.1.4 Fokus pada berbagi sumber daya Pengguna begitu terbiasa dengan manfaat dari berbagi sumber daya yang mereka mungkin mudah mengabaikan signifikansi mereka. Kami secara rutin berbagi sumber daya perangkat keras seperti printer, data yang sumber daya seperti file, dan sumber daya dengan fungsi yang lebih spesifik seperti pencarian mesin. Memandang dari sudut pandang penyediaan hardware, kita berbagi peralatan seperti printer dan disk untuk mengurangi biaya. Tapi signifikansi yang jauh lebih besar kepada pengguna adalah sharing dari sumber-tingkat yang lebih tinggi yang berperan dalam aplikasi mereka dan mereka sehari-hari kerja dan kegiatan sosial. Misalnya, pengguna prihatin dengan berbagi data dibentuk database bersama atau satu set halaman web - tidak disk dan prosesor yang mereka diimplementasikan. Demikian pula, pengguna berpikir dalam hal sumber daya bersama seperti mesin pencari atau konverter mata uang, tanpa memperhatikan server atau server yang memberikan ini. Dalam prakteknya, pola berbagi sumber daya bervariasi dalam lingkup mereka dan bagaimana erat pengguna bekerja sama. Pada satu ekstrim, mesin pencari di Web menyediakan fasilitas untuk pengguna di seluruh dunia, pengguna yang membutuhkan tidak pernah datang ke dalam kontak dengan satu lain secara langsung. Pada ekstrem yang lain, di komputer-didukung kerja koperasi (CSCW), sekelompok pengguna yang bekerja sama langsung berbagi sumber daya seperti dokumen di kecil, kelompok ditutup. Pola pembagian dan distribusi geografis pengguna tertentu menentukan mekanisme apa sistem harus menyediakan untuk mengkoordinasikan tindakan pengguna. Kami menggunakan layanan istilah untuk bagian yang berbeda dari sistem komputer yang mengelola koleksi sumber daya terkait dan menyajikan fungsi mereka untuk pengguna dan aplikasi. Sebagai contoh, kita mengakses file bersama melalui layanan file; kami mengirimkan dokumen ke printer melalui layanan pencetakan; kita membeli barang melalui layanan pembayaran elektronik. Satu-satunya akses kita harus layanan ini melalui seperangkat operasi yang ekspor. Untuk Misalnya, sebuah layanan file menyediakan membaca, menulis dan menghapus operasi pada file. Fakta bahwa layanan membatasi akses sumber daya untuk satu set yang didefinisikan dengan operasi adalah di bagian praktek rekayasa perangkat lunak standar. Tetapi juga mencerminkan fisik organisasi sistem terdistribusi. Sumber daya dalam sistem terdistribusi secara fisik dikemas dalam komputer dan hanya dapat diakses dari komputer lain dengan berarti komunikasi. Untuk berbagi efektif, setiap sumber daya harus dikelola oleh program yang menawarkan antarmuka komunikasi yang memungkinkan sumber daya yang akan diakses dan diperbarui andal dan konsisten. Server Istilah ini mungkin asing bagi sebagian besar pembaca. Hal ini mengacu pada program berjalan (Proses) pada jaringan komputer yang menerima permintaan dari program yang berjalan pada komputer lain untuk melakukan layanan dan merespon dengan tepat. yang meminta proses yang disebut sebagai klien, dan pendekatan secara keseluruhan dikenal sebagai client-server komputasi. Dalam pendekatan ini, permintaan dikirim dalam pesan dari klien ke server dan balasan dikirim dalam pesan dari server ke klien. Ketika klien mengirimkan permintaan untuk operasi yang akan dilakukan, kita mengatakan bahwa klien memanggil operasi pada server. Sebuah interaksi yang lengkap antara klien dan server, dari titik ketika klien mengirimkan permintaan untuk ketika menerima respon server, disebut remote doa. Proses yang sama mungkin baik klien dan server, karena server kadang-kadang memanggil operasi pada server lain. Istilah 'klien' dan 'server' hanya berlaku untuk peran bermain dalam satu permintaan. Klien aktif (membuat permintaan) dan server pasif (Hanya bangun ketika mereka menerima permintaan); server terus berjalan, sedangkan klien berlangsung hanya selama aplikasi yang mereka membentuk bagian. Perhatikan bahwa sementara secara default istilah 'klien' dan 'server' mengacu pada proses yang agak dari komputer yang mereka jalankan saat, dalam bahasa sehari-hari istilah-istilah tersebut juga merujuk ke komputer sendiri. Perbedaan lain, yang akan kita bahas dalam Bab 5, adalah bahwa dalam sistem terdistribusi ditulis dalam bahasa berorientasi objek, sumber mungkin dikemas sebagai objek dan diakses oleh objek klien, dalam hal ini kita berbicara tentang klien keberatan memanggil metode pada objek server. Banyak, tapi tentu tidak semua, sistem terdistribusi dapat dibangun sepenuhnya di bentuk berinteraksi klien dan server. World Wide Web, email dan jaringan printer semua sesuai dengan model ini. Kami membahas alternatif untuk sistem client-server di Bab 2. Web browser mengeksekusi adalah contoh dari klien. Web browser berkomunikasi dengan web server, untuk meminta halaman web dari itu. Kami menganggap Web dan terkait arsitektur client-server yang lebih rinci pada Bagian 1.6. 1.5 Tantangan Contoh dalam Bagian 1.2 dimaksudkan untuk menggambarkan ruang lingkup sistem terdistribusi dan untuk menyarankan masalah yang timbul dalam desain mereka. Dalam banyak dari mereka, signifikan tantangan yang dihadapi dan diatasi. Sebagai ruang lingkup dan skala didistribusikan sistem dan aplikasi diperpanjang sama dan lainnya tantangan yang mungkin dihadapi. Pada bagian ini kita menggambarkan tantangan utama. 1.5.1 Heterogenitas Internet memungkinkan pengguna untuk mengakses layanan dan menjalankan aplikasi lebih heterogen kumpulan komputer dan jaringan. Heterogenitas (yaitu, variasi dan perbedaan) berlaku untuk semua hal berikut:
jaringan;
perangkat keras komputer;
sistem operasi;
bahasa pemrograman;
implementasi oleh pengembang yang berbeda.
Meskipun internet terdiri dari banyak jenis yang berbeda dari jaringan (diilustrasikan dalam Gambar 1.3), perbedaan mereka tertutup oleh fakta bahwa semua komputer yang menyertainya menggunakan protokol Internet untuk berkomunikasi dengan satu sama lain. Misalnya, komputer melekat pada Ethernet memiliki sebuah implementasi dari protokol Internet selama Ethernet, sedangkan komputer pada jenis yang berbeda dari jaringan akan membutuhkan implementasi protokol Internet untuk jaringan itu. Bab 3 menjelaskan bagaimana protokol Internet diimplementasikan melalui berbagai jaringan yang berbeda. jenis data seperti bilangan bulat dapat diwakili dalam cara yang berbeda dari jenis yang berbeda hardware - misalnya, ada dua alternatif untuk pemesanan byte bilangan bulat. Perbedaan-perbedaan dalam representasi harus ditangani jika pesan yang akan ditukar antara program yang berjalan pada hardware yang berbeda. Meskipun sistem operasi dari semua komputer di Internet harus menyertakansebuah implementasi dari protokol Internet, mereka tidak selalu semua memberikan hal yang sama antarmuka pemrograman aplikasi untuk protokol ini. Misalnya, panggilan untuk bertukar pesan dalam UNIX berbeda dari panggilan pada Windows.bahasa pemrograman yang berbeda menggunakan representasi yang berbeda untuk karakter dan struktur data seperti array dan catatan. Perbedaan-perbedaan ini harus diatasi jika program yang ditulis dalam bahasa yang berbeda untuk dapat berkomunikasi dengan satu sama lain. Program yang ditulis oleh pengembang yang berbeda tidak dapat berkomunikasi dengan satu sama lain kecuali mereka menggunakan standar umum, misalnya, untuk jaringan komunikasi dan representasi dari item data primitif dan struktur data dalam pesan. Untuk ini terjadi, standar harus disepakati dan diadopsi - karena memiliki protokol Internet. Middleware Istilah middleware berlaku untuk lapisan software yang menyediakan pemrograman abstraksi serta masking heterogenitas yang mendasari jaringan, hardware, sistem operasi, dan bahasa pemrograman. Common Object Request Broker (CORBA), yang digambarkan dalam Bab 4, 5 dan 8, merupakan misalnya. Beberapa middleware, seperti Java Remote Method Invocation (RMI) (lihat Bab 5), hanya mendukung bahasa pemrograman tunggal. Kebanyakan middleware adalah dilaksanakan selama protokol Internet, yang sendiri menutupi perbedaan dari mendasari jaringan, tapi semua penawaran middleware dengan perbedaan dalam sistem operasi dan perangkat keras - bagaimana hal ini dilakukan adalah topik utama dari Bab 4. Selain memecahkan masalah heterogenitas, middleware menyediakan Model komputasi seragam untuk digunakan oleh programmer dari server dan didistribusikan aplikasi. Kemungkinan model termasuk doa remote object, event terpencil pemberitahuan, akses remote SQL dan proses transaksi terdistribusi. Sebagai contoh, CORBA menyediakan remote object doa, yang memungkinkan sebuah objek dalam sebuah program berjalan pada satu komputer untuk memohon sebuah metode objek dalam sebuah program yang berjalan pada komputer lain.