You are on page 1of 26

1.

1introduction

Jaringan komputer di mana-mana. Internet adalah satu, seperti juga banyak jaringan yang itu terdiri. Handphone jaringan telepon, jaringan perusahaan, jaringan pabrik, kampus jaringan, jaringan rumah, dalam jaringan mobil semua, baik secara terpisah dan dalam kombinasi, berbagi karakteristik penting yang membuat mereka subyek yang relevan untuk belajar di bawah sistem terdistribusi pos. Dalam buku ini kami bertujuan untuk menjelaskan karakteristik jaringan komputer yang perancang sistem dampak dan pelaksana dan untuk menyajikan konsep-konsep utama dan teknik yang telah dikembangkan untukmembantu dalam tugas merancang dan menerapkan sistem yang didasarkan pada mereka. Kami mendefinisikan sistem terdistribusi sebagai salah satu yang keras atau perangkat lunak komponen terletak di jaringan komputer berkomunikasi dan mengkoordinasikan tindakan merekahanya dengan lewat pesan. Definisi sederhana meliputi seluruh range sistem di mana komputer jaringan berguna dapat digunakan.
Komputer yang dihubungkan oleh sebuah jaringan dapat dipisahkan secara spasial oleh jarak. Mereka mungkin berada di benua yang terpisah, di gedung yang sama atau di ruang yang sama. Definisi kita tentang sistem terdistribusi memiliki konsekuensi yang signifikan berikut: Concurrency: Dalam jaringan komputer, pelaksanaan program konkuren adalah norma. Saya 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 dari sistem untuk sumber daya menangani bersama dapat ditingkatkan dengan menambahkan lebih banyak sumber daya (misalnya. komputer) ke jaringan. Kami akan menjelaskan cara di mana kapasitas ekstra dapat berguna digunakan pada banyak titik dalam buku ini. Koordinasi secara bersamaan melaksanakan program yang berbagi sumber daya juga merupakan topik yang penting dan berulang. Tidak ada jam global: Ketika program perlu bekerja sama mereka mengkoordinasikantindakan mereka dengan bertukar pesan. Koordinasi sering tergantung pada ide bersama waktu di mana tindakan program 'terjadi. Tapi ternyata bahwa ada batas untuk akurasi dengan mana komputer dalam jaringan dapat menyinkronkan jam mereka ada ada pengertian global tunggal dari waktu yang tepat. Ini adalah akibat langsung dari fakta bahwa komunikasi hanya dengan mengirimkan pesan melalui jaringan. Contoh masalah waktu ini dan solusi untuk mereka akan dijelaskan dalam Bab 14. Kegagalan Independen: Semua sistem komputer dapat gagal, dan itu adalah tanggung jawab sistem desainer untuk merencanakan konsekuensi dari kegagalan mungkin. Sistem terdistribusi bisa gagal dengan cara baru. Kesalahan dalam hasil jaringan di isolasi

darikomputer yang terhubung ke sana, tapi itu tidak berarti bahwa mereka berhenti berjalan.Bahkan, program pada mereka mungkin tidak dapat untuk 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 (crash), tidak segera diketahui oleh komponen lain dengan yang berkomunikasi. Setiap komponen dari sistem dapat gagal secara independen, meninggalkan yang lain masih berjalan.Konsekuensi dari ini karakteristik sistem terdistribusi akan menjadi tema yang berulangdalam buku ini.

Motivasi utama untuk membangun dan menggunakan sistem terdistribusi berasal dari keinginan untuk berbagi sumber daya. 'Sumber daya' Istilah yang agak abstrak, tetapiterbaik mencirikan berbagai hal yang bermanfaat dapat dibagi dalam sistem jaringan komputer. Memanjang dari komponen perangkat keras seperti disk dan printer untukentitas perangkat lunak didefinisikan seperti file, database dan objek data dari semua jenis. Termasuk aliran frame video yang muncul dari kamera video digital dan koneksiaudio yang panggilan ponsel diwakilinya. Tujuan bab ini adalah untuk menyampaikan pandangan yang jelas dari sifatdidistribusikan sistem dan tantangan yang harus diatasi dalam rangka untuk memastikan bahwa mereka sukses. Bagian 1.2 memberikan beberapa contoh ilustrasi dari sistem terdistribusi, dengan Bagian 1.3 meliputi tren yang mendasari utama yang mendorong perkembangan terakhir. Bagian 1.4 berfokus pada desain sumber daya berbagi sistem, sementara Bagian 1.5 menjelaskan tantangan utama yang dihadapi oleh para perancang sistem terdistribusi: heterogenitas, keterbukaan, keamanan, skalabilitas, penanganankegagalan, konkurensi, transparansi dan kualitas layanan. Bagian 1.6 menyajikan sebuah studi kasus rinci dari satu sistem terdistribusi sangat terkenal, World Wide Web, yang menggambarkan bagaimana desain mendukung berbagi sumber daya.
1.2 Examples of distributed systems Tujuan dari bagian ini adalah untuk memberikan contoh motivasi kontemporerdidistribusikan sistem yang menggambarkan kedua peran meresap system terdistribusi dan diversityofbesar tuntutan aplikasinya. Seperti disebutkan dalam pendahuluan, jaringan di mana-mana dan mendukung banyak sehari-hari jasa yang sekarang kita anggap biasa: Internet dan Dunia terkait Wide Web, web pencarian game, online, email, jaringan sosial, eCommerce, dll Untuk menggambarkan hal ini lebih lanjut, mempertimbangkan Gambar 1.1, yang menggambarkan kisaran yang dipilih dari kunci sektor aplikasi komersial atau sosial menyoroti beberapa establishedor terkait munculpenggunaan teknologi sistem terdistribusi.

Seperti dapat dilihat, sistem terdistribusi mencakup banyak paling signifikan perkembangan teknologi beberapa tahun terakhir dan karenanya pemahaman tentang teknologi yang mendasari adalah mutlak penting bagi pengetahuan tentang komputasi modern. itu tokoh juga memberikan wawasan awal ke dalam berbagai aplikasi yang digunakan saat

ini, dari sistem yang relatif lokal (seperti yang ditemukan, misalnya, di dalam mobil ataupesawat) untuk sistem globalscale melibatkan jutaan node, dari datasentris layanan untuk tugas processorintensive, dari sistem yang dibangun dari sensor sangat kecil danrelatif primitif untuk menggabungkan elemenelemen komputasi yang kuat , dariembedded system untuk orang yang mendukung pengalaman pengguna yang canggihinteraktif, dan sebagainya.
Sekarang kita melihat contoh-contoh yang lebih spesifik dari sistem terdistribusi untuk lebih menggambarkan kompleksitas keragaman dan memang dari didistribusikan penyediaan sistem hari ini. 1.2.1 web search Pencarian web telah muncul sebagai industri pertumbuhan besar dalam dekade terakhir, dengan terakhir angka menunjukkan bahwa jumlah global pencarian telah meningkat menjadi lebih dari 10 miliar per kalender bulan. Tugas dari mesin pencari web adalah untuk indeks seluruh isi World Wide Web, meliputi berbagai macam gaya informasi termasuk web halaman, sumber multimedia dan (scan) buku. Ini adalah tugas yang sangat kompleks,sebagai negara perkiraan saat ini bahwa Web terdiri dari lebih dari 63 milyar halamandan satu triliun web yang unik alamat. Mengingat bahwa kebanyakan mesin pencari menganalisis konten web seluruhdan kemudian melakukan pengolahan yang canggih pada database yang sangat besar, ini tugas itu sendiri merupakan tantangan besar untuk desain sistem terdistribusi.

Google, pemimpin pasar dalam teknologi pencarian web, telah menempatkan upaya yang signifikan ke dalam desain sebuah infrastruktur sistem canggih didistribusikan untuk mendukung pencarian(dan memang Google lainnya aplikasi dan layanan seperti Google Earth). ini merupakan salah satu instalasi sistem terbesar dan paling kompleks didistribusikan dalam sejarah komputasi dan karenanya menuntut pemeriksaan dekat. Ikhtisar infrastruktur ini meliputi:
infrastruktur fisik yang mendasari yang terdiri dari jumlah yang sangat besar jaringan komputer terletak di pusat data di seluruh dunia;

sistem file terdistribusi yang dirancang untuk mendukung file yang besar dan sangatdioptimalkan untuk gaya penggunaan yang dibutuhkan oleh pencari dan aplikasi Google lainnya(terutama membaca dari file pada tingkat tinggi dan berkelanjutan);
sebuah terstruktur terkait didistribusikan sistem penyimpanan yang menawarkan akses cepat ke sangat dataset besar; layanan kunci yang menawarkan fungsi system terdistribusi seperti pengunciandidistribusikan dan perjanjian; model pemrograman yang mendukung pengelolaan paralel yang sangat besar dan didistribusikan perhitungan seluruh infrastruktur fisik yang mendasarinya.

Rincian lebih lanjut tentang layanan terdistribusi Google mendasari sistem dan dukungankomunikasi dapat ditemukan dalam Bab 21, sebuah studi kasus yang menarik dari sistem terdistribusi modern dalam tindakan. Figure 1.1 1.2.2 Massively multiplayer online games (MMOGs) Massively multiplayer online game menawarkan immersive pengalaman dimana sangat besar jumlah pengguna berinteraksi melalui Internet dengan dunia maya persisten. Terkemuka contoh permainan tersebut termasuk Sony EverQuest II dan EVE Online dari Finlandia perusahaan PKC Games. Dunia semacam ini telah meningkat secara signifikan dalamkecanggihan dan sekarang termasuk, arena bermain kompleks (untuk EVE contoh, Online terdiri dari alam semesta dengan lebih dari 5.000 sistem bintang) dan sistem sosial dan ekonomi aneka. itu jumlah pemain juga meningkat, dengan sistem mampu mendukung lebih dari 50.000simultan pemain online (dan jumlah pemain mungkin sepuluh kali angka ini). Rekayasa MMOGs merupakan tantangan besar untuk sistem terdistribusi teknologi, terutama karena kebutuhan untuk waktu respon yang cepat untuk mempertahankan pengalaman pengguna dari permainan. Tantangan lainnya adalahpenyebaran real-time dari acara untuk para pemain banyak dan mempertahankantampilan yang konsisten dari dunia bersama. Ini karena itu memberikan contoh yang sangat baik dari tantangan yang dihadapi desainer modern yang didistribusikan sistem. Sejumlah solusi telah diusulkan untuk desain massively multiplayer game online: - Mungkin mengejutkan, game online terbesar, EVE Online, memanfaatkan clientserver arsitektur dimana satu salinan keadaan dunia dipertahankan pada server terpusat dan diakses oleh program klien yang berjalan pada konsol pemain ' atau perangkat lain. Untuk mendukung sejumlah besar klien, server adalah kompleks entitas yang berdiri sendiri yang terdiri dari arsitektur cluster yang menampilkan ratusan komputer node (pendekatan client-server dibahas secara lebih rinci dalam Bagian 1,4 dan pendekatan klaster dibahas dalam Bagian 1.3.4). para terpusat arsitektur membantu secara signifikan dalam hal pengelolaan dunia maya dan salinan tunggal juga memudahkan masalah konsistensi. Tujuannya adalahkemudian untuk memastikan cepat respon melalui optimalisasi protokol jaringan dan memastikan respon yang cepat untuk masuk acara. Untuk mendukung ini, beban dipartisi dengan mengalokasikan individu 'bintang sistem' untuk komputer tertentu dalam cluster, dengan bintang yang sangatsarat sistem yang memiliki komputer yang didedikasikan mereka dan yang lain berbagikomputer. Peristiwa yang masuk diarahkan ke komputer yang tepat dalam cluster dengan menjaga melacak gerakan pemain antara sistem bintang. - MMOGs lainnya mengadopsi arsitektur lebih terdistribusi di mana alam semesta adalah dipartisi di sejumlah (berpotensi sangat besar) dari server yang mungkin juga didistribusikan secara geografis. Pengguna kemudian secara dinamis mengalokasikantertentu server berdasarkan pola penggunaan saat ini dan juga penundaan jaringan untuk server (berdasarkan kedekatan geografis misalnya). Gaya arsitektur, yang adalah diadopsi oleh EverQuest, secara alami diperluas dengan menambahkan server baru.

Kebanyakan sistem komersial mengadopsi salah satu dari dua model yang disajikan di atas, tetapi peneliti juga sekarang melihat arsitektur yang lebih radikal yang tidak didasarkan pada klien server prinsip melainkan mengadopsi pendekatan sepenuhnyaterdesentralisa si berdasarkan peer to peer teknologi di mana setiap peserta memberikan kontribusisumber (penyimpanan dan pengolahan) untuk mengakomodasi permainan. Selanjutnya Pertimbangan lebih lanjut dari peer to
peer solusi ditangguhkan sampai Bab 2 dan 10).

1.2.3 Financial trading

Sebagai contoh terakhir, kita melihat dukungan sistem terdistribusi untuk pasar trading keuangan. Industri keuangan telah lama berada di ujung tombak sistem terdistribusi teknologi dengan kebutuhannya, khususnya, untuk real-time akses ke berbagai informasi sumber (misalnya, harga saham saat ini dan tren, ekonomi dan perkembangan politik). Industri ini mempekerjakan pemantauan otomatis dan perdagangan aplikasi (lihat di bawah). Perhatikan bahwa penekanan dalam sistem tersebut adalah pada komunikasi dan pengolahan dari item yang menarik, yang dikenal sebagai peristiwa dalam sistem terdistribusi, dengan kebutuhan juga untuk menyampaikan peristiwa andal dan pada waktu yang tepatke nomor berpotensi sangat besar klien yang memiliki bunga yang ditetapkan dalamitem informasi tersebut. Contoh peristiwa tersebut termasuk penurunan harga saham, pelepasan angka pengangguran terbaru, dan sebagainya. Hal ini memerlukan gaya yang sangat berbeda dari arsitektur yang mendasari dari gaya yang disebutkan di atas(misalnya clien tserver), dan sistem seperti ini biasanya menggunakan apa yang dikenal sebagai sistem terdistribusi berbasis peristiwa. Kami menyajikan sebuah ilustrasi tentangpenggunaan khas seperti sistem di bawah ini dan kembali ke topik penting ini secara lebih mendalam dalam Bab 6. (gambar 1.2)
Gambar 1.2 mengilustrasikan sistem perdagangan khas keuangan. Hal ini menunjukkan serangkaian acara feed masuk ke sebuah lembaga keuangan yang diberikan. Acara seperti feedberbagi karakteristik berikut. Pertama, sumber biasanya dalam berbagai format, seperti sebagai peristiwa pasar Reuters data dan peristiwa FIX (peristiwa mengikuti formattertentu Informasi Keuangan eXchange protocol), dan memang dari acara yang berbeda teknologi, sehingga menggambarkan masalah heterogenitas ditemui di sebagian didistribusikan sistem (lihat juga Bagian 1.5.1). Gambar ini menunjukkan penggunaanadapter yang menerjemahkan format heterogen ke dalam satu format internal umum.Kedua, sistem perdagangan harus berurusan dengan berbagai aliran acara, semuatiba pada tingkat yang cepat, dan sering membutuhkan pemrosesan real-time untuk mendeteksi pola yang mengindikasikan peluang trading. Ini digunakan untuk menjadiproses manual tetapi tekanan persaingan telah menyebabkan meningkatnyaotomatisasi dalam hal apa yang dikenal sebagai Peristiwa Pengolahan Kompleks(CEP), yang menawarkan cara penyusunan kejadian acara bersama menjadi logis, pola temporal atau spasial.

Pendekatan ini terutama digunakan untuk mengembangkan perdagangan algoritmikdisesuaikan strategi yang meliputi pembelian dan

penjualan saham, khususnya mencari untuk pola yang menunjukkan peluang perdagangan dan kemudian secara otomatismerespon dengan menempatkan dan mengelola perintah. Sebagai contoh, perhatikan script berikut: Program:
Script ini didasarkan pada fungsionalitas yang disediakan oleh Apama[www.progress.com], sebuah produk komersial di dunia keuangan awalnya dikembangkan dari penelitian yang dilakukan di University of Cambridge. Script mendeteksi urutan temporal kompleks berdasarkan harga saham dari Microsoft, HP dan sekeranjang harga saham lainnya, sehingga keputusan untuk membeli atau menjual saham tertentu.

Gaya teknologi semakin banyak digunakan di area lain dari 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,peristiwa biasanya dicegat dan melewati apa yang setara dengan firewall kepatuhan dan risiko sebelum diproses (lihat juga pembahasan firewall dalam Bagian 1.3.1 di bawah).
1.3 Trends

in distributed systems

Sistem terdistribusi sedang mengalami masa perubahan yang signifikan dan ini dapatditelusuri kembali ke sejumlah tren berpengaruh: -

munculnya teknologi jaringan yang dapat meresap;


munculnya komputasi di mana-mana ditambah dengan keinginan untuk mendukung pengguna mobilitas dalam sistem terdistribusi; peningkatan permintaan untuk layanan multimedia; pandangan sistem terdistribusi sebagai utilitas.

1.3.1 Pervasive networking and the modern Internet Internet modern adalah kumpulan saling berhubungan yang luas dari jaringan komputerdari banyak berbeda jenis, dengan berbagai jenis meningkat sepanjang waktu dan sekarangtermasuk, Misalnya, berbagai teknologi komunikasi nirkabel seperti WiFi, WiMAX, Bluetooth (lihat Bab 3) dan generasi ketiga jaringan telepon seluler. Hasil akhirnya adalah bahwa jaringan telah menjadi sumber daya meresap dan perangkat dapat tersambung (jika diinginkan) setiap saat dan di setiap tempat.

Gambar 1.3 mengilustrasikan bagian khas dari Internet. Program yang berjalan pada komputer yang terhubung ke sana berinteraksi dengan melewatkan pesan,menggunakan sarana umum komunikasi. Desain dan konstruksi komunikasi internet mekanisme (protokol internet) adalah

prestasi teknis utama, memungkinkan program 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 yang sangat besar. Hal ini memungkinkan pengguna, dimanapun mereka adalah, untuk menggunakan layanan seperti transfer Dunia Web, email dan file Wide. (Memang, Web terkadang salah disamakan dengan Internet.) Himpunan layananterbuka berakhir dapat diperpanjang dengan penambahan komputer server dan jenislayanan yang baru. Angka ini menunjukkan koleksi subnetwork intranet dioperasikan oleh perusahaan dan organisasi lain dan biasanya dilindungi oleh firewall. Peran firewall adalah untuk melindungi intranet dengan mencegah pesan yang tidak sahmeninggalkan atau masuk. Firewall diimplementasikan dengan menyaring pesan masuk dan keluar. Penyaringan dapat dilakukan oleh sumber atau tujuan, atau firewallmungkin mengizinkan hanya mereka pesan yang terkait dengan email dan akses webuntuk masuk ke atau keluar dari intranet yang melindungi. Internet Service Provider (ISP) adalah perusahaan yang menyediakan link broadband dan jenisjenis koneksikepada pengguna individu dan organisasi kecil, memungkinkan mereka untukmengakses layanan di mana saja di Internet serta memberikan layanan lokal seperti email dan web hosting. Para intranet dihubungkan oleh tulang punggung. Tulang punggung adalah link jaringan dengan kapasitas transmisi tinggi, menggunakankoneksi satelit, kabel serat optic dan bandwidth tinggi sirkuit.

Perhatikan bahwa beberapa organisasi tidak mungkin ingin menghubungkan jaringaninternal mereka untuk Internet sama sekali. Untuk keamanan misalnya, polisi dan badan penegak hukum 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 denganmenghambat akses yang sah ke layanan ketika berbagi sumber daya antara pengguna internal daneksternal diperlukan. Oleh karena itu, firewall sering harus 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 Bagian 1.5). Kita akan menyoroti solusiseluruh buku, menunjukkan ruang lingkup dan keterbatasan mereka jika sesuai. Figure 1.3
1.3.2 Mobile and ubiquitous computing Kemajuan teknologi dalam miniaturisasi perangkat dan jaringan nirkabel telah menyebabkan semakin ke integrasi perangkat komputer kecil dan portabel ke didistribusikan sistem. Perangkat ini meliputi:

Laptop computer Genggam perangkat, termasuk ponsel, ponsel pintar, GPS-perangkat diaktifkan, pager, personal digital assistant (PDA), kamera video dan kamera digital. Dpt dipakai perangkat, seperti jam tangan pintar dengan fungsi serupa dengan PDA. Perangkat tertanam dalam peralatan seperti mesin cuci, hi fi sistem, mobil dan lemari es.

Portabilitas banyak dari perangkat ini, bersama dengan kemampuan mereka untuk menghubungkan mudah ke jaringan di tempat yang berbeda, membuat komputasi mobile mungkin.Komputasi mobile adalah kinerja komputasi tugas sementara pengguna sedang berkembang, atau mengunjungi tempat-tempat lain dari lingkungan yang biasa mereka.Dalam komputasi mobile, pengguna yang jauh dari 'rumah' mereka intranet (intranet di tempat kerja, atau tempat tinggal mereka) masih dilengkapi dengan akses ke sumber daya melalui perangkat yang mereka bawa dengan mereka. mereka bisa terus mengakses Internet, mereka dapat terus mengakses sumber daya di rumah mereka intranet, dan ada ketentuan meningkat bagi pengguna untuk memanfaatkan sumber daya seperti printer atau bahkan penjualan poin yang berada di dekatnya ketika mereka bergerak di sekitar. Yang terakhir ini juga dikenal sebagai komputasi lokasi-sadar atau konteks sadar. Mobilitas memperkenalkan sejumlah tantangan untuk sistemterdistribusi, termasuk kebutuhan untuk berurusan dengan konektivitas variabel dan memang pemutusan, dan kebutuhan untuk mempertahankan operasi dalam menghadapi mobilitas perangkat (lihat diskusi tentang transparansi mobilitas dalam Bagian 1.5.7).
Komputasi di mana-mana adalah memanfaatkan dari banyak kecil, komputasi murah perangkat yang ada dalam lingkungan fisik pengguna, termasuk kantor, rumah dan bahkan pengaturan alam. 'Di mana-mana' Istilah ini dimaksudkan untuk menunjukkan bahwa komputasi kecil perangkat pada akhirnya akan menjadi begitu meresap dalam benda sehari-hari bahwa mereka hampir tidak perhatikan. Artinya, perilaku komputasi mereka akan transparan dan erat dengan fungsi fisik mereka.

Kehadiran komputer di mana-mana hanya menjadi berguna saat mereka bisa berkomunikasi dengan satu sama lain. Sebagai contoh, mungkin nyaman bagi pengguna untuk mengendalikan mereka mesin cuci atau sistem hiburan mereka dari telepon mereka atau "universal remote control 'perangkat di rumah. Sama, mesin cuci bisa memberitahu pengguna melalui lencana pintar atau telepon ketika pencucian dilakukan.
Mana-mana dan mobile komputasi tumpang tindih, karena pengguna mobile bisa pada prinsipnya manfaat dari komputer yang berada di mana-mana. Tapi mereka

berbeda, secara umum. Ubiquitous komputasi dapat menguntungkan pengguna sementara mereka tetap berada di satu lingkungan seperti rumah atau rumah sakit. Demikian pula, komputasi mobile memiliki keuntungan bahkan jika itu hanya melibatkan konvensional, diskrit komputer dan perangkat seperti laptop dan printer.

Gambar 1.4 menunjukkan pengguna yang mengunjungi sebuah organisasi tuan rumah.Angka tersebut menunjukkan pengguna rumah intranet dan intranet host pada situs yang pengguna mengunjungi.kedua intranet yang terhubung ke seluruh internet.
Pengguna memiliki akses ke tiga bentuk koneksi nirkabel. Laptop mereka memiliki cara menghubungkan ke LAN nirkabel inang. Jaringan ini menyediakan cakupan daribeberapa ratus meter (lantai dari sebuah bangunan, misalnya). Ini menghubungkan ke seluruh intranet tuan rumah melalui gateway atau jalur akses. Pengguna juga memiliki telepon (seluler) mobile, yang terhubung ke Internet. Ponsel ini memberikan akses ke Web dan layanan Internet lainnya,dibatasi hanya dengan apa yang dapat disajikan pada layar yang kecil, dan juga dapat memberikan informasi lokasi melalui built-in fungsi GPS. Akhirnya, pengguna membawa kamera digital, yang dapat berkomunikasi melalui jaringan nirkabel area pribadi (denganjangkauan hingga sekitar 10m) dengan perangkat seperti printer.

Dengan infrastruktur sistem yang cocok, pengguna dapat melakukan beberapa tugassederhana dalam host situs menggunakan perangkat yang mereka bawa. Sementara perjalanan ke host situs, pengguna dapat mengambil harga saham terbaru dari server web menggunakanponsel dan juga dapat menggunakan built in GPS dan software rute mencari untuk mendapatkan petunjuk arah ke lokasi situs. Selama pertemuan dengan tuan rumah mereka, pengguna dapat menunjukkan kepada mereka foto terbaru dengan mengirimnya dari kamera digital langsung ke printer (lokal) yang sesuai diaktifkan atau proyektor di ruang pertemuan (ditemukan menggunakan layanan lokasi). Ini hanya membutuhkan link nirkabel antara kamera dan printer atau proyektor. Dan mereka dapatpada prinsipnya mengirim dokumen dari laptop mereka ke printer yang sama, memanfaatkan LAN nirkabel dan link Ethernet kabel ke printer. Skenario ini menunjukkan kebutuhan untuk mendukung interoperation spontan, dimana asosiasi antara perangkat secara rutin diciptakan dan dihancurkan misalnya dengan mencari dan menggunakan perangkat host, seperti printer. Tantangan utamayang berlaku untuk situasi seperti itu adalah untuk membuat interoperation cepat dan nyaman (yaitu, spontan) meskipun pengguna berada dalam lingkungan mereka mungkin tidak pernah dikunjungi sebelumnya. Itu berarti memungkinkan perangkat pengunjunguntuk berkomunikasi di jaringan host, dan menghubungkan perangkat dengan layanan lokal yang sesuai - proses yang disebut penemuan layanan.

Komputasi mobile dan di mana-mana mewakili daerah hidup penelitian, dan berbagai dimensi yang disebutkan di atas akan dibahas secara mendalam dalam Bab 19. Figure 1.4 1.3.3 Distributed multimedia systems

Kecenderungan lain yang penting adalah kebutuhan untuk mendukung layananmultimedia di sistem terdistribusi. Dukungan Multimedia berguna dapat didefinisikansebagai kemampuan untuk mendukung berbagai jenis media secara terpadu. Satu dapat mengharapkan sistem terdistribusi untuk mendukung penyimpanan, transmisi danpresentasi dari apa yang sering disebut sebagai jenis media diskrit, seperti gambaratau pesan teks. Sebuah sistem multimedia terdistribusi harus mampu melakukan fungsi yang sama untuk berbagai jenis media kontinu seperti audio dan video, yaitu, harus mampu untuk menyimpan dan mencari file audio atau video, untuk mengirimkan merekadi seluruh jaringan (mungkin secara real time sebagai sungai muncul dari kamera video), untuk mendukung penyajian jenis media untuk pengguna dan secara opsional juga untuk berbagi jenis media di seluruh sekelompok pengguna. Karakteristik penting dari jenis media kontinu adalah bahwa mereka termasuk dimensi temporal, dan memang, integritas jenis media secara fundamental tergantung pada menjaga waktu-nyata hubungan antara unsur-unsur jenis media.Sebagai contoh, dalam sebuah presentasi video itu perlu untuk menjaga throughput yangdiberikan dalam hal frame per detik dan, untuk aliran real time, penundaan maksimum yang diberikan atau latency untuk pengiriman frame (ini adalah salah satu contoh darikualitas layanan, dibahas secara lebih rinci dalam Bagian 1.5.8). Manfaat dari komputasi terdistribusi multimedia cukup besar dalam lebar kisaran baru (multimedia) layanan dan aplikasi dapat disediakan pada desktop, termasuk akses ke siaran televisi langsung atau rekaman, akses ke perpustakaan film yang menawarkan layanan video on demand, akses ke perpustakaan musik, penyediaanfasilitas konferensi andvideo audio dan fitur telepon yang terintegrasi termasuk teknologiIP telephonyor terkait seperti Skype, peer to peer alternatif untuk IP telephony(thedistributed sistem infrastruktur fondasi Skype dibahas dalam Bagian 4.5 .2) Perhatikan bahwa teknologi ini adalah revolusioner dalam menantang produsen untukmemikirkan kembali perangkat manyconsumer.. Sebagai contoh, apa adalah rumah intihiburan perangkat thefuture komputer, televisi, atau konsol game?
Webcasting adalah sebuah aplikasi teknologi multimedia terdistribusi. webcastingadalah kemampuan untuk media penyiaran terus menerus, biasanya audio atau video, melalui

Internet. Itu sekarang biasa untuk olahraga besar atau acara musik yang akan disiarkan dengan cara ini, sering menarik sejumlah besar pemirsa (misalnya, konser Live8 tahun 2005 menarik sekitar 170.000 pengguna secara simultan pada puncaknya). Distributed multimedia aplikasi seperti tempat webcasting cukup tuntutan pada infrastruktur didistribusikan mendasari dalam hal: memberikan dukungan untuk berbagai (extensible) encoding dan format enkripsi, seperti seri standar MPEG (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 dipenuhi; menyediakan strategi pengelolaan sumber daya yang terkait, termasuk yang sesuai penjadwalan kebijakan untuk mendukung kualitas pelayanan yang diinginkan; menyediakan strategi adaptasi untuk menghadapi situasi yang tak terelakkan di buka 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 as a utility Dengan meningkatnya kematangan infrastruktur sistem terdistribusi, sejumlah perusahaan yang mempromosikan pandangan sumber daya didistribusikan sebagaikomoditi atau utilitas, menarik analogi antara sumber daya terdistribusi dan utilitas lain seperti air atau listrik. Dengan model ini, sumber daya disediakan oleh pemasok layanan yang sesuaidan efektif disewa bukan untuk dimiliki oleh pengguna akhir. Model ini berlaku untuk kedua sumber daya fisik dan layanan logis lebih lanjut: Sumber daya fisik seperti penyimpanan dan pengolahan dapat dibuat tersedia untuk komputer jaringan, menghilangkan kebutuhan untuk memiliki sumber daya tersebutsendiri. Di salah satu ujung spektrum, pengguna dapat memilih untuk fasilitas penyimpanan jauhuntuk file penyimpanan persyaratan (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 kebutuhan atau memang untuk melakukan perhitungan didistribusikan. Di ujung lain dari spektrum, pengguna dapat mengakses pusat data yang canggih (jaringan fasilitas menawarkan akses ke repositori volume sering besar data kepada pengguna atau organisasi) atau memang infrastruktur komputasi menggunakan jenis layanan sekarang disediakan oleh perusahaan seperti Amazon dan Google. sistem operasi virtualisasi adalah teknologi yang memungkinkan kunci untuk pendekatan ini, menyiratkan bahwa pengguna sebenarnya bisa diberikan layanan oleh virtual daripada node fisik. Ini menawarkan fleksibilitas yang lebih besar kepada penyedia

jasa dalam hal sumber daya manajemen (operasi virtualisasi sistem dibahas lebih rinci dalam Bab 7). Software layanan (sebagaimana didefinisikan dalam Bagian 1.4) juga dapat dibuat tersedia di seluruh Internet global yang menggunakan pendekatan ini. Bahkan, banyak perusahaansekarang menawarkan komprehensif berbagai layanan untuk sewa efektif, termasuk layanan seperti kalender email dan terdistribusi. Google, misalnya, bundel berbagai bisnis jasa di bawah bendera Google Apps [www.google.com I]. perkembangan ini diaktifkan secara standar yang disepakati untuk layanan perangkat lunak, misalnyaseperti yang disediakan oleh layanan web (lihat Bab 9).

Istilah cloud computing digunakan untuk menangkap visi dari komputasi sebagai utilitas.Sebuah awan didefinisikan sebagai satu set penyimpanan berbasis Internet, aplikasi danlayanan komputasi yang cukup untuk mendukung kebutuhan sebagian besar pengguna ',sehingga memungkinkan mereka untuk sebagian besar atau seluruhnya membuangpenyimpanan data lokal dan perangkat lunak aplikasi (lihat Gambar 1.5). Istilah juga mendukung pandangan dari segala sesuatu sebagai layanan, dari infrastruktur fisik atau virtual melalui perangkat lunak, sering dibayar pada basis perpenggunaan daripada dibeli.Perhatikan bahwa komputasi awan mengurangi kebutuhan pada perangkat pengguna, yang memungkinkan desktop yang sangat sederhana atau perangkat portabel untukmengakses berbagai macam berpotensi sumber daya dan jasa.
Awan biasanya diimplementasikan pada komputer cluster untuk memberikan yang diperlukan skala dan kinerja yang diperlukan oleh layanan tersebut. Sebuah komputer cluster adalah seperangkat komputer yang saling berhubungan erat bekerja sama untuk memberikan, kemampuan komputasi yang terintegrasi highperformance. Membangun proyek-proyek seperti Proyek SEKARANG (Jaringan Workstation) di Berkeley et [Anderson al. 1995,now.cs.berkeley.edu] dan Beowulf di NASA [www.beowulf.org], tren terhadap pemanfaatan perangkat keras komoditas baik untuk komputer dan untuk jaringaninterkoneksi. Kebanyakan kelompok terdiri dari komoditas PC menjalankan versi(kadang-kadang memotong-down) standar dari sebuah sistem operasi seperti Linux,interkoneksi oleh jaringan area lokal. Perusahaan seperti HP, Sun dan IBMmenawarkan solusi blade. Blade server merupakan elemen komputasi minimalmengandung untuk pemrosesan contoh dan (memori utama) kemampuan penyimpanan. Sebuah sistem blade terdiri dari sejumlah berpotensi besar server bladeterkandung dalam kandang pisau. Unsurunsur lain seperti daya, pendinginan, penyimpanan persisten (disk), jaringan dan menampilkan, disediakan baik olehkandang atau melalui solusi virtualisasi (dibahas dalam Bab 7). Melalui solusi ini, blade server individu dapat jauh lebih kecil dan juga lebih murah untuk menghasilkan daripadaPC komoditi.

Tujuan keseluruhan dari komputer cluster adalah untuk menyediakan berbagai layananawan, termasuk performa tinggi kemampuan komputasi, penyimpanan massa (misalnya melalui pusat data), dan layanan aplikasi yang lebih kaya seperti pencarian web (Google, misalnya bergantung pada arsitektur komputer cluster yang besar untuk mengimplementasikanmesin pencari dan layanan lainnya, seperti dibahas dalam Bab 21). Komputasi grid (seperti dibahas dalam Bab 9, Bagian 9.7.2) juga dapat dilihat sebagai bentuk komputasi awan. Istilah sebagian besar identik dan pada waktu yang tidak jelas, tapi Komputasi grid secara umum dapat dipandang sebagai awal dari paradigma yang lebih umum dari komputasi awan dengan bias terhadap dukungan untuk aplikasi ilmiah.
Gambar 1.5 1.4 Focus

on resource sharing

Pengguna begitu terbiasa dengan manfaat dari berbagi sumber daya sehingga mereka dengan mudah dapat mengabaikan signifikansi mereka. Kami secara rutin berbagi sumber daya perangkat keras seperti printer, sumber data seperti file, dan sumber daya dengan fungsionalitasyang lebih spesifik seperti mesin pencari. Dilihat dari sudut pandang penyediaan perangkat keras, kita berbagi peralatan seperti seperti printer dan disk untuk mengurangi biaya. Tapi signifikansi yang jauh lebih besarkepada pengguna adalah berbagi semakin tinggi tingkat sumber daya yang berperan dalam aplikasi mereka dan dalam pekerjaan mereka sehari-hari dan kegiatan sosial.Sebagai contoh, pengguna prihatin dengan berbagi data dalam bentuk database bersama atau satu set halaman web tidak disk dan prosesor yang mereka diimplementasikan. Demikian pula, pengguna berpikir dalam hal sumber daya bersamaseperti mesin pencari atau konverter mata uang, tanpa memperhatikan server atauserver yang menyediakan. Dalam prakteknya, pola berbagi sumber daya sangat bervariasi dalam ruang 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 pernah datangke dalam kontak dengan satu lain secara langsung. Pada ekstrem yang lain, di komputer yang didukung kerja koperasi (CSCW), sekelompok pengguna yang bekerja sama berbagi sumber daya secara langsung seperti dokumen dalam kelompok kecil tertutup. Pola pembagian dan distribusigeografis pengguna tertentu menentukan mekanisme apa sistem harus memasok untuk mengkoordinasikan tindakan pengguna.
Kami menggunakan layanan istilah untuk bagian yang berbeda dari sebuah sistem komputer yang mengelola koleksi sumber terkait dan menyajikan fungsi mereka kepada 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 yangmengekspor. Sebagai contoh, sebuah layanan file menyediakan membaca, menulis danmenghapus operasi pada file. Fakta bahwa layanan membatasi akses sumber daya untuk satu set yang didefinisikan dengan baik operasi adalah dalam praktek rekayasa perangkat lunak bagian 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 alat komunikasi. Untuk berbagi efektif, setiap sumber daya harus dikelola oleh program yang menawarkan antarmuka komunikasi yang memungkinkan sumber dayayang akan diakses dan diperbarui andal dan konsisten.

Server panjang adalah mungkin akrab bagi sebagian besar pembaca. Hal ini mengacu pada sebuah program berjalan (proses) pada komputer jaringan 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 clientserver komputasi. Dalam pendekatan ini, permintaan dikirim dalam pesan dariklien ke server dan balasan dikirim dalam pesan dari server ke klien. Ketika klien mengirimkan meminta untuk operasi yang akan dilakukan, kita mengatakan bahwa klien memanggiloperasi pada server. Sebuah interaksi lengkap antara klien dan server, dari sudut ketika klien mengirimkan permintaan untuk ketika menerima respon server, disebut terpencil doa. Proses yang sama mungkin baik klien dan server, karena server kadang-kadang memanggil operasi pada server lain. 'Klien' dan 'server' hanya berlaku untuk peran dimainkan dalam satu permintaan. Klien aktif (membuat permintaan) dan server yang pasif (hanya bangun ketika mereka menerima permintaan); server terus berjalan,sedangkan klien terakhir hanya selama aplikasi yang mereka membentuk bagian. Perhatikan bahwa meskipun secara default 'klien' dan 'server' mengacu pada prosesbukan dari komputer yang mereka jalankan atas, dalam bahasa seharihari istilah-istilah tersebut juga mengacu ke komputer sendiri. Lain perbedaan, yang akan kita bahas dalam Bab 5, adalah bahwa dalam sistem terdistribusi ditulis dalam bahasa berorientasi objek, sumber daya dapatdirumuskan sebagai objek dan diakses oleh objek klien, dalam hal ini kita berbicara tentang objek klien memanggil metode pada sebuah objek server.
Banyak, tapi jelas tidak semua, sistem terdistribusi dapat dibangun sepenuhnya di bentuk interaksi klien dan server. Web Dunia email, Wide dan jaringan printer semua cocok dengan model ini. Kami membahas alternatif untuk sistem client-server dalam Bab 2. Sebuah web browser mengeksekusi adalah contoh dari klien. Web browser berkomunikasi dengan server web, untuk meminta halaman web dari itu. Kami menganggap Web dan terkait arsitektur client-server secara lebih rinci dalam Bagian 1.6.

1.5 Challenges

Contoh dalam Bagian 1.2 dimaksudkan untuk menggambarkan ruang lingkup sistem terdistribusidan untuk menyarankan masalah yang muncul dalam desain mereka. Dalam banyak dari mereka, signifikantantangan yang muncul dan diatasi. Sebagai ruang lingkup dan skala didistribusikan sistem dan aplikasi diperpanjang sama dan tantangan lainnya cenderung dihadapi. Pada bagian ini kita menjelaskan tantangan utama.
1.5.1 Heterogeneity Internet memungkinkan pengguna untuk mengakses layanan dan menjalankan aplikasilebih koleksi heterogen komputer dan jaringan. Heterogenitas (yaitu, variasi danperbedaan) berlaku untuk semua hal berikut: - Network - Computer hardware - Operating system - Programming languages - implementations by different developers.

Meskipun internet terdiri dari 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 satu sama lain. Misalnya, komputer terpasang ke jaringan Ethernet memiliki sebuah implementasi dari protokol Internet selama Ethernet, sedangkan komputer pada jenis jaringan yang berbeda akan membutuhkansebuah implementasi dari protokol Internet untuk jaringan tersebut. Bab 3 menjelaskan bagaimana protokol Internet yang diimplementasikan melalui berbagai jaringan yang berbeda. Tipe data seperti integer dapat diwakili dengan cara yang berbeda pada berbagai jenis perangkat keras misalnya, ada dua alternatif untuk memesan byte bilangan bulat. Perbedaan-perbedaan dalam representasi harus ditangani jika pesan harusdipertukarkan antara program yang berjalan pada hardware yang berbeda.
Meskipun sistem operasi dari semua komputer di Internet harus menyertakan sebuah implementasi dari protokol internet, mereka tidak perlu menyediakan semuasama pemrograman aplikasi antarmuka untuk protokol ini. Sebagai contoh, panggilan untuk pesan bertukar di UNIX berbeda dari panggilan pada Windows.

Bahasa pemrograman yang berbeda menggunakan representasi yang berbeda untuk karakter dan struktur data seperti array dan catatan. Perbedaanperbedaan ini harus diatasi jika program yang ditulis dalam bahasa yang berbeda untuk dapat berkomunikasi dengansatu sama lain.
kecuali mereka menggunakan standar umum, misalnya, untuk komunikasi jaringan dan representasi dari item data primitif dan struktur data dalam pesan. Agar hal ini terjadi, standar perlu disepakati dan diadopsi sebagai memiliki protokol internet.

Middleware The middleware istilah berlaku untuk lapisan perangkat lunak yang menyediakanpemrograman abstraksi serta masking heterogenitas yang mendasarijaringan, perangkat keras, sistem operasi dan bahasa pemrograman. commonObyek Permintaan Broker (CORBA), yang dijelaskan dalam Bab 4, 5 dan 8, adalahmisalnya. Beberapa middleware, seperti Java Remote Method Invocation (RMI) (lihat Bab 5), hanya mendukung bahasa pemrograman tunggal. Kebanyakan middleware dilaksanakan selama protokol Internet, yang menutupi diri mereka perbedaan dari mendasari jaringan, tetapi penawaran middleware semua dengan perbedaan dalam sistem operasi dan perangkat keras bagaimana hal ini dilakukan adalah topik utama dari Bab 4. Selain memecahkan masalah heterogenitas, middleware menyediakan seragam komputasi model untuk digunakan oleh programmer server dan didistribusikan aplikasi. Model yang mungkin termasuk doa remote object, remote event pemberitahuan, remote SQL akses dan proses transaksi terdistribusi. Sebagai contoh, CORBA menyediakan objek pemanggilan jarak jauh, yang memungkinkan sebuah objekdalam sebuah program berjalan pada satu komputer untuk memanggil metode dari objek dalam sebuah program yang berjalan pada komputer lain. Pelaksanaannya menyembunyikan fakta bahwa pesan tersebut diteruskanmelalui jaringan untuk mengirim permintaan doa dan membalas nya.
Heterogenitas dan kode mobile Kode ponsel istilah digunakan untuk merujuk ke kodeprogram yang dapat ditransfer dari satu komputer ke komputer lain dan jalankan di tujuanJava applet adalah sebuah contoh. Kode cocok untuk berjalan pada satu komputerbelum tentu cocok untuk berjalan pada yang lain karena program yang dapat dieksekusibiasanya spesifik baik untuk set instruksi dan sistem operasi host.

Pendekatan Mesin virtual menyediakan cara untuk membuat eksekusi kode pada berbagai komputer host: compiler untuk bahasa tertentu menghasilkan kode untuk mesin virtual bukan sebuah kode untuk hardware tertentu. Sebagai contoh, Jawa compiler menghasilkan kode untuk mesin virtual Java, yang mengeksekusi denganinterpretasi. Mesin virtual Java perlu dilakukan sekali untuk setiap jenis komputer untuk memungkinkan program Java untuk dijalankan.
Hari ini, bentuk yang paling umum digunakan kode mobile adalah Javascript inklusi program di beberapa halaman web dimuat ke browser klien. Perluasan dari Web teknologi dibahas lebih lanjut dalam Bagian 1.6. 1.5.2 Openness

Keterbukaan sistem komputer adalah karakteristik yang menentukan apakah sistem dapat diperpanjang dan reimplemented dengan berbagai cara. Keterbukaansistem terdistribusi ditentukan terutama oleh sejauh mana layanan sumber daya baruberbagi dapat ditambahkan dan dibuat tersedia untuk digunakan oleh berbagai program klien.

Keterbukaan tidak dapat dicapai kecuali spesifikasi dan dokumentasi antarmuka perangkat lunak utama dari komponen sistem yang dibuat tersedia untuk perangkat lunak pengembang. Singkatnya, interface kunci diterbitkan. Proses ini mirip dengan standarisasi antarmuka, tetapi sering kali melewati prosedur standarisasi resmi, yang biasanya rumit dan bergerak lambat.
Namun, penerbitan interface hanya titik awal untuk menambah danmemperluas layanan dalam sistem terdistribusi. Tantangan bagi desainer adalah untukmengatasi kompleksitas sistem terdistribusi terdiri dari banyak komponen direkayasa oleh berbeda orang.

Para desainer dari protokol Internet memperkenalkan serangkaian dokumen yang disebut 'Permintaan For Comments', atau RFC, masing-masing yang dikenal dengan nomor. Itu spesifikasi protokol komunikasi internet diterbitkan dalam seri ini di awal 1980-an, diikuti dengan spesifikasi untuk aplikasi yang berjalan di atas mereka, seperti transfer file, email dan telnet dengan pertengahan 1980-an. Praktek ini terus berlangsung dan membentuk dasar dokumentasi teknis dari Internet. Seri ini meliputi diskusi serta spesifikasiprotokol. Salinan dapat diperoleh dari [www.ietf.org]. Dengan demikian publikasiprotokol komunikasi internet asli telah memungkinkan berbagai sistem dan aplikasiInternet termasuk web yang akan dibangun. RFC bukan satu-satunya alat publikasi.Misalnya, World Wide Web Consortium (W3C) mengembangkan dan menerbitkanstandar yang berkaitan dengan pekerjaan dari Web [www.w3.org]. Sistem yang dirancang untuk mendukung berbagi sumber daya dengan cara ini disebutterbuka didistribusikan sistem untuk menekankan fakta bahwa mereka adalah extensible.Mereka dapat diperpanjang pada tingkat hardware dengan penambahan komputer ke jaringan dan di tingkat perangkat lunak dengan pengenalan layanan baru danimplementasi ulang dari yang lama, memungkinkan program aplikasi untuk berbagi sumber daya. Keuntungan lebih lanjut yang sering dikutip untuk sistem terbuka adalahkemerdekaan mereka dari pemasok individu. Untuk meringkas:
Sistem terbuka dicirikan oleh fakta bahwa antarmuka utama mereka diterbitkan. Sistem terdistribusi terbuka didasarkan pada penyediaan komunikasi seragam mekanisme dan interface diterbitkan untuk akses ke sumber daya bersama. Sistem terdistribusi terbuka dapat dibangun dari perangkat keras heterogen dan perangkat lunak, mungkin dari vendor yang berbeda. Tapi kesesuaian masingmasing komponen dengan standar diterbitkan harus hati-hati diuji dan diverifikasi jika sistem adalah untuk bekerja dengan benar.

1.5.3 Security

Banyak sumber daya informasi yang tersedia dan dipelihara sistem terdistribusi memiliki nilai intrinsik tinggi untuk pengguna mereka. Keamanan mereka karena itu yang sangat penting. Keamanan untuk sumber daya informasi memiliki tiga komponen:kerahasiaan (perlindungan terhadap pengungkapan kepada individu yang tidak sah), integritas (perlindungan terhadap perubahan atau korupsi), dan ketersediaan (perlindungan terhadap gangguan pada alat untuk mengakses sumber daya). Bagian 1.1 menunjukkan bahwa meskipun Internet memungkinkan sebuah programdalam satu komputer untuk berkomunikasi dengan sebuah program di komputer lain terlepas darilokasinya, risiko keamanan yang terkait dengan memungkinkan akses gratis ke semua sumber daya di intranet. Meskipun firewall dapat digunakan untuk membentuk penghalang di sekitar intranet, membatasi lalu lintas yang dapat masuk dan keluar, hal ini tidak berurusan denganmemastikan penggunaan yang tepat dari sumber daya oleh pengguna dalam intranet, atau denganpenggunaan yang tepat sumber daya di Internet, yang tidak dilindungi oleh firewall.
Dalam sistem terdistribusi, klien mengirim permintaan untuk mengakses data yang dikelola oleh server, yang melibatkan pengiriman informasi dalam pesan melalui jaringan. Sebagai contoh: 1. Seorang dokter mungkin meminta akses ke data pasien rumah sakit atau kirimpenambahan data tersebut. 2. Dalam perdagangan elektronik dan perbankan, pengguna mengirim nomor kartu kredit mereka di Internet.

Dalam kedua contoh, tantangannya adalah untuk mengirim informasi sensitif dalam pesan selama jaringan dengan cara yang aman. Tapi keamanan bukan hanya masalahmenyembunyikan isi pesan juga melibatkan mengetahui dengan pasti identitas pengguna atau agen lain pada nama siapa pesan itu dikirim. Pada contoh pertama, server perlu tahu bahwa pengguna adalah benar-benar dokter, dan dalam contoh kedua, pengguna perlu untuk memastikanidentitas toko atau bank dengan yang mereka hadapi. Tantangan kedua di sini adalah untuk mengidentifikasi remote user atau agen lain dengan benar. Kedua tantangan inidapat dipenuhi dengan penggunaan teknik enkripsi yang dikembangkan untuk tujuan ini.Mereka digunakan secara luas di Internet dan dibahas dalam Bab 11.
Namun, berikut dua tantangan keamanan belum sepenuhnya terpenuhi:

Penolakan serangan layanan: Masalah keamanan adalah bahwa pengguna mungkin ingin mengganggu layanan untuk beberapa alasan. Hal ini dapat dicapai dengan membombardirlayanan dengan sejumlah besar permintaan gunanya bahwa pengguna serius tidak dapat menggunakan itu. Ini disebut serangan penolakan layanan. Ada penolakan beberapa pelayanan serangan terhadap terkenal layanan web. Saat ini serangan tersebut dimentahkan oleh mencoba untuk menangkap dan menghukum para

pelaku setelah kejadian, tapi itu bukan umum solusi untuk masalah. Penanggulangan berdasarkan perbaikan dalam pengelolaan jaringan yang sedang dikembangkan, dan ini akan disinggung di Bab 3. Keamanan mobile code: Kode Handphone perlu ditangani dengan benar.mempertimbangkan seseorang yang menerima program dieksekusi sebagai lampiran surat elektronik: yang kemungkinan efek menjalankan program tidak bisa ditebak, misalnya, mungkin tampak untuk menampilkan gambar yang menarik namun pada kenyataannya dapat mengaksessumber daya lokal, atau mungkin menjadi bagian dari serangan penolakan layanan. Beberapa tindakan untuk mengamankankode mobile diuraikan dalam Bab 11.
1.5.4 Scalability

Sistem terdistribusi beroperasi secara efektif dan efisien pada skala yang berbeda, mulai dari intranet kecil ke Internet. Sebuah sistem digambarkan sebagai terukur jika akan tetap efektif bila ada peningkatan signifikan dalam jumlah sumber daya dan jumlah pengguna.Jumlah komputer dan server di internet telah meningkat secara dramatis. Gambar 1.6 menunjukkan meningkatnya jumlah komputer dan server web selama tahun sejarah 12 dari Web hingga tahun 2005 [zakon.org]. Sangat menarik untuk mencatat pertumbuhan yang signifikan di kedua komputer dan server web dalamperiode ini, tetapi juga bahwa persentase relatif mendatar sebuah tren yang dijelaskanoleh pertumbuhan komputasi personal tetap dan bergerak. Satu server web juga dapatsemakin menjadi host pada beberapa komputer.
Desain sistem terdistribusi scalable menyajikan tantangan sebagai berikut:

Mengontrol biaya sumber daya fisik: Sebagai permintaan untuk sumber daya tumbuh, harus mungkin untuk memperluas sistem, dengan biaya murah, untuk memenuhi kebutuhan itu. Sebagai contoh, frekuensi yang file diakses di intranet akan tumbuh sebagai jumlah pengguna dan peningkatan komputer. Harus dimungkinkan untuk menambahkankomputer server untuk menghindari hambatan kinerja yang akan timbul jika file servertunggal harus menangani permintaan akses file semua. Secara umum, untuk sistemdengan pengguna n menjadi terukur, kuantitas sumber daya fisik yang diperlukan untuk mendukung mereka harus berada di paling O (n) yaitu, proporsional dengan n. Sebagai contoh, jika sebuah file server tunggal dapat mendukung 20 pengguna, maka dua servertersebut harus dapat mendukung 40 pengguna. Meskipun yang membunyikan jelas tujuan, tidak selalu mudah untuk mencapai dalam praktek, seperti yang kita tunjukkan dalam Bab 12.
Mengendalikan kerugian kinerja: Pertimbangkan pengelolaan sekumpulan data yang ukuran sebanding dengan jumlah pengguna atau sumber daya dalam sistem misalnya, meja dengan korespondensi antara nama domain komputer dan mereka

Internet alamat dipegang oleh Domain Name System, yang digunakan terutama untuk melihat nama-nama DNS seperti www.amazon.com. Algoritma yang menggunakan strukturhierarkis skala lebih baik daripada mereka yang menggunakan struktur linier. Tetapi bahkan dengan struktur hierarkis peningkatan ukuran akan menghasilkan beberapa kerugian dalam kinerja: waktu yang dibutuhkan untuk mengakses Data hirarkis terstruktur adalah O (log n), dimana n adalah ukuran dari set data. Untuk sistem menjadi terukur, hilangnya kinerja maksimum harus tidak lebih buruk dari ini. Sumber daya perangkat lunak Mencegah kehabisan: Contoh dari kurangnyaskalabilitas ditunjukkan oleh nomor yang digunakan sebagai Internet (IP) alamat (komputer alamat dalam Internet). Pada akhir tahun 1970, diputuskan untuk menggunakan 32 bit untuk tujuan ini,tetapi seperti yang akan dijelaskan dalam Bab 3, pasokan alamat Internet yang tersedia hampir habis. Untuk alasan ini, versi baru dari protokol dengan alamat Internet 128-bit sedang diadopsi, dan ini akan membutuhkan modifikasi pada komponen perangkat lunak banyak. Agar adil kepada para desainer awal Internet, tidak ada solusi yang tepat untuk masalah ini. hal ini sulit untuk memprediksi kebutuhan yang akan ditempatkan pada tahun sistem ke depan. Selain itu, overcompensating untuk pertumbuhan masa depan mungkin lebih buruk dari adaptasi perubahan ketika kita dipaksa untuk alamat Internet yang lebih besar akan menempati ruang ekstra dalam pesan dan dalam penyimpanan komputer.

Menghindari kemacetan kinerja: Secara umum, algoritma harus terdesentralisasi untuk menghindari kemacetan kinerja. Kita menggambarkan hal ini dengan mengacu pada pendahulu dari Domain Name System, di mana nama tabel yang disimpan dalam master file tunggal yang dapat didownload ke komputer yang membutuhkannya. Itu denda ketika hanya ada beberapa ratus komputer di Internet, tetapi segera menjadi kinerja yang serius dan hambatan administratif. Nama Domain Sistem dihapus kemacetan ini dengan partisi tabel nama antara server di seluruh Internet dan dikelola secara lokal lihat Bab 3 dan 13.
Beberapa sumber daya bersama diakses sangat sering, misalnya, banyak pengguna dapat mengakses halaman web yang sama, menyebabkan penurunan kinerja. Kita akan melihat di Bab 2 bahwa caching dan replikasi dapat digunakan untuk meningkatkan kinerja sumber daya yang sangat banyak digunakan.

Idealnya, perangkat lunak sistem dan aplikasi tidak perlu berubah ketika skala dari sistem meningkat, tapi ini sulit dicapai. Masalah skala adalah dominan tema dalam pengembangan sistem terdistribusi. Teknik-teknik yang telah sukses dibahas secara luas dalam buku ini. Mereka termasuk penggunaan datadireplikasi (Bab 18), teknik terkait caching (Bab 2 dan 12) dan penyebaran beberapa server untuk menangani tugas yang biasa dilakukan, memungkinkan beberapa tugas serupa akan dilakukan secara bersamaan.
1.5.5 Failure handling Sistem komputer kadang-kadang gagal. Ketika kesalahan terjadi pada perangkat keras atau perangkat lunak, program dapat menghasilkan hasil yang salah atau mungkinberhenti sebelum mereka telah menyelesaikan perhitungan yang

diinginkan. Kita akanmembahas dan mengklasifikasikan berbagai jenis kegagalan yang mungkin dapat terjadi dalam proses dan jaringan yang terdiri dari system terdistribusi dalam Bab 2.

Kegagalan dalam sistem terdistribusi adalah parsial yaitu, beberapa komponen gagal saat lain terus berfungsi. Oleh karena itu penanganan kegagalan adalah sangat sulit. Teknik-teknik berikut untuk berurusan dengan kegagalan yang dibahas dalam buku ini: Mendeteksi kegagalan: Beberapa kegagalan dapat dideteksi. Sebagai contoh,checksum dapat digunakan untuk mendeteksi data yang rusak dalam pesan atau file. Bab 2 menjelaskanbahwa itu adalah sulit atau bahkan tidak mungkin untuk mendeteksi beberapa kegagalan lain, sepertiremote jatuh server di Internet. Tantangannya adalah mengelola dengan adanya kegagalan yang tidak dapat dideteksi tetapi dapat diduga.
Masking kegagalan: Beberapa kegagalan yang pernah terdeteksi dapat disembunyikan atau dibuat kurang parah. Dua contoh kegagalan bersembunyi: 1. Pesan bisa dipancarkan kembali ketika mereka gagal untuk tiba. 2. File data dapat ditulis ke sepasang disk sehingga jika salah satu rusak, yang lainmungkin masih benar.

Hanya menjatuhkan pesan yang rusak adalah contoh dari membuat kesalahan yang lebih ringan bisa dipancarkan kembali. Pembaca mungkin akan menyadari bahwa teknik-teknik dijelaskan untuk menyembunyikan kegagalan tidak dijamin untuk bekerja dalam kasus-kasus terburuk, karena Misalnya, data pada disk kedua dapat rusak juga, atau pesan tidak dapat melewati dalam waktu yang wajar namun sering itu dipancarkan kembali. Toleransi kegagalan: Sebagian besar layanan di Internet melakukan kegagalan pameranitu akan tidak praktis bagi mereka untuk mencoba untuk mendeteksi dan menyembunyikansemua kegagalan yang mungkin terjadi sedemikian jaringan besar dengan begitu banyak komponen. Klien mereka dapat dirancang untuk mentolerir kegagalan, yang umumnya melibatkan pengguna toleransimereka sebagai baik. Misalnya, ketika web browser tidak dapat menghubungi server web, itu tidak membuat pengguna menunggu selamanya sementara itu terus berusaha menginformasikanpengguna tentang masalah, meninggalkan mereka bebas untuk mencoba lagi nanti. Layanan yang mentoleransikegagalan yang dibahas dalam ayat di redundansi di bawah ini.
Pemulihan dari kegagalan: Pemulihan melibatkan desain perangkat lunak sehinggakeadaan data permanen dapat dipulihkan atau 'memutar kembali' setelah server telah jatuh. Di umum, perhitungan dilakukan oleh beberapa program akan lengkap bila kesalahan terjadi, dan data permanen yang mereka memperbarui (file

dan bahan lainnya yang disimpan dalam penyimpanan permanen) mungkin tidak dalam keadaan konsisten. Pemulihan ini dijelaskan dalam Bab 17. Redundansi: Layanan dapat dibuat untuk mentolerir kegagalan oleh penggunaanberlebihan komponen. Perhatikan contoh berikut: 1. Harus selalu ada setidaknya dua rute yang berbeda antara dua router di Internet. 2. Dalam Domain Name System, setiap nama tabel direplikasi dalam setidaknya dua berbeda server. 3. Sebuah database dapat direplikasi di beberapa server untuk memastikan bahwa data tetap diakses setelah kegagalan server tunggal, server dapat dirancang untuk mendeteksi kesalahan dalam rekan-rekan mereka, ketika kesalahan yang terdeteksi disatu server, klien diarahkan ke server yang tersisa. Desain teknik yang efektif untuk menjaga replika cepat mengubah data uptotanggal tanpa kehilangan kinerja yang berlebihan adalah sebuah tantangan. Pendekatanyang dibahas dalam Bab 18.

Sistem terdistribusi menyediakan tingkat tinggi dari ketersediaan dalam menghadapikesalahan hardware. Ketersediaan sistem adalah ukuran dari proporsi waktu yang tersedia untuk digunakan. Ketika salah satu komponen dalam sistem terdistribusi gagal, hanya pada pekerjaan yang sangat menggunakan komponen gagal terpengaruh. Seorang pengguna dapat memindahkanke komputer lain jika yang bahwa mereka menggunakan gagal, sebuah proses server dapat dimulai di komputer lain.
1.5.6 Concurrency Kedua layanan dan aplikasi menyediakan sumber daya yang dapat digunakan bersama oleh klien dalam didistribusikan sistem. Oleh karena itu ada kemungkinan bahwa beberapa klien akanmencoba untuk mengakses sumber daya bersama pada saat yang sama. Sebagai contoh, struktur data yang mencatat penawaran untuk lelang dapat diakses sangat seringketika sampai dekat dengan waktu deadline.

Proses yang mengelola sumber daya bersama bisa mengambil satu permintaan klienpada suatu waktu. Tapi bahwa pendekatan batas throughput. Oleh karena itu layanan dan aplikasiumumnya memungkinkan permintaan beberapa klien untuk diproses secara bersamaan.Untuk membuat ini lebih konkret, anggaplah bahwa setiap sumber daya dirumuskansebagai objek dan bahwa doa dijalankan dalam benang bersamaan. Dalam hal ini ada kemungkinan bahwa beberapa thread dapat mengeksekusi secara bersamaan dalamsuatu objek, dalam hal operasi mereka pada objek dapat bertentangan satu sama lain dan menghasilkan hasil yang tidak konsisten. Sebagai contoh, jika dua tawaranbersamaan di lelang adalah 'Smith: $ 122' dan 'Jones: $ 111, dan operasi terkait yangdisisipkan tanpa kontrol, maka mereka mungkin akan disimpan sebagai' Smith: $ 111'dan' Jones: $ 122 '.

Moral dari cerita ini adalah bahwa objek apapun yang merupakan sumber daya bersamadalam sistem terdistribusi harus bertanggung jawab untuk memastikan bahwa ia beroperasidengan benar dalam bersamaan lingkungan. Ini berlaku tidak hanya untuk server tetapi juga untuk benda-benda di aplikasi. Oleh karena itu setiap programmer yang mengambil sebuah implementasi darisebuah benda yang tidak dimaksudkan untuk digunakan dalam sistem terdistribusi harus melakukan apapun yang diperlukan untuk membuatnya aman di lingkungan yang bersamaan. Untuk objek aman di lingkungan yang bersamaan, operasinya harus disinkronkan dalam sedemikian rupa sehingga data tetap konsisten. Hal ini dapatdicapai dengan standar teknik seperti Semaphore, yang digunakan dalam kebanyakan sistem operasi.Topik ini dan ekstensi untuk koleksi bendabenda bersama terdistribusi dibahas dalam Bab 7 dan 17.
1.5.7 Transparency Transparansi didefinisikan sebagai penyembunyian dari pengguna dan aplikasi programmer pemisahan komponen dalam sistem terdistribusi, sehingga sistem inidianggap sebagai keseluruhan dan bukan sebagai kumpulan komponen independen.Implikasi dari transparansi adalah pengaruh besar pada desain perangkat lunak sistem.

Para ANSA Reference Manual [ANSA 1989] dan Organisasi Internasional untuk Model Referensi Standardisasi untuk Pengolahan Terdistribusi Terbuka (RM-ODP) [ISO 1992] mengidentifikasi delapan bentuk transparansi. Kami telah diparafrasekan asli Definisi ANSA, menggantikan transparansi migrasi mereka dengan mobilitas kita sendiri transparansi yang cakupannya lebih luas:
Transparansi Akses diaktifkan sumber daya lokal dan remote untuk diakses menggunakan operasi identik. Transparansi Lokasi memungkinkan sumber daya untuk diakses tanpa pengetahuanmereka fisik atau lokasi jaringan (misalnya, yang bangunan atau alamat IP). Transparansi Concurrency memungkinkan beberapa proses untuk beroperasi secara bersamaan menggunakan berbagi sumber daya tanpa gangguan antara mereka. Transparansi Replikasi memungkinkan beberapa contoh dari sumber daya yang akan digunakan untuk meningkatkan kehandalan dan kinerja tanpa pengetahuan tentang replika oleh penggunaatau aplikasi programmer.

Transparansi Kegagalan memungkinkan penyembunyian kesalahan, yang memungkinkan pengguna dan program aplikasi untuk menyelesaikan tugas mereka meskipun kegagalan perangkat keras atau perangkat lunak komponen.

Transparansi Mobilitas memungkinkan pergerakan sumber daya dan klien dalam suatu system tanpa mempengaruhi operasi pemakai atau program. Transparansi kinerja memungkinkan sistem untuk dikonfigurasi ulang untuk meningkatkan kinerja sebagai beban bervariasi. Transparansi Scaling memungkinkan sistem dan aplikasi untuk memperluas dalam skalatanpa mengubah struktur sistem atau algoritma aplikasi.

Dua transparansi paling penting adalah akses dan transparansi lokasi; mereka ada atau tidak adanya paling kuat mempengaruhi pemanfaatan sumber dayaterdistribusi. Mereka kadang-kadang disebut bersama sebagai transparansi jaringan. Sebagai gambaran transparansi akses, pertimbangkan antarmuka pengguna berbasis grafik dengan folder, yang adalah sama apakah file dalam folder bersifat lokal atau remote. Contoh lain adalah sebuah API untuk file yang menggunakan operasi yang sama untuk mengakses file baik lokal maupun jarak jauh (lihat Bab 12). Sebagai contoh dari kurangnyatransparansi akses, mempertimbangkan sistem terdistribusi yang tidak memungkinkan Anda untuk mengakses file pada komputer remote kecuali jika Anda menggunakanprogram ftp untuk melakukannya. Nama sumber daya web atau URL adalah lokasi transparan karena bagian dari URL yang mengidentifikasi nama web server domain mengacu pada nama komputer di domain, bukan untuk alamat Internet. Namun, URL tidak mobilitas transparan, karena halaman web pribadi seseorang tidak dapat pindah ke tempat baru kerja mereka dalam berbeda domain semua link di halaman lain masih akan menunjuk ke halaman asli. Secara umum, pengidentifikasi seperti URL yang menyertakan nama domain komputer mencegah transparansi replikasi. Meskipun DNS memungkinkan nama domain untuk mengacu pada beberapa komputer, itu mengambil hanya salah satu dari mereka ketika mendongaknama. Karena skema replikasi umumnya perlu untuk dapat mengakses semua komputer yang berpartisipasi, akan perlu mengakses setiap entri DNS dengan nama. Sebagai gambaran adanya transparansi jaringan, pertimbangkan penggunaan sebuah alamat surat elektronik seperti Fred.Flintstone @ stoneit.com. Alamatnya terdiri dari nama pengguna dan nama domain. Mengirim email ke pengguna tersebut tidak melibatkan mengetahui lokasi fisik atau jaringan. Juga tidak prosedur untuk mengirim pesan email tergantung pada lokasi penerima. Dengan demikian surat elektronik dalam Internet menyediakan baik lokasi dan transparansi akses (yaitu, transparansi jaringan).

Transparansi Kegagalan juga dapat digambarkan dalam konteks surat elektronik, yang pada akhirnya disampaikan, bahkan ketika server atau link komunikasi gagal.Kesalahan adalah bertopeng dengan mencoba mengirim ulang pesan sampai mereka berhasil dikirim, bahkan jika itu membutuhkan beberapa hari. Middleware umumnya mengubahkegagalan jaringan dan proses ke dalam program tingkat pengecualian (lihat Bab 5 untuk penjelasan). Untuk menggambarkan transparansi mobilitas, pertimbangkan kasus ponsel. Menduga bahwa kedua pemanggil dan callee bepergian dengan kereta api di berbagai bagiannegara, bergerak dari satu lingkungan (sel) yang lain. Kami menganggap telepon pemanggil sebagai klien dan callee itu telepon sebagai sumber daya. Para pengguna telepon dua membuat panggilantidak menyadari mobilitas ponsel (klien dan sumber daya) antar sel. Transparansi menyembunyikan dan membuat anonim sumber daya yang tidak langsungdari relevansi dengan tugas di tangan untuk pengguna dan pemrogram aplikasi. Misalnya, umumnya diinginkan untuk sumber daya perangkat keras yang mirip dengandialokasikan secara bergantian untuk melakukan tugas identitas prosesor digunakan untuk menjalankan proses umumnya disembunyikan dari pengguna dan tetap anonim.Seperti yang ditunjukkan dalam Bagian 1.3.2, ini tidak selalu apa yang diperlukan: misalnya, seorang pengelana yang menempel komputer laptop ke jaringan lokal di kantor yang dikunjungi harus menggunakan layanan lokal seperti mengirim layanan pesan, menggunakan server yang berbeda di setiap lokasi. Bahkan di dalam sebuah gedung, maka normal untuk mengatur dokumen yang akan dicetak di printer, khusus bernama: biasanyasatu yang dekat ke pengguna.
1.5.8 Quality of service Setelah pengguna disediakan dengan fungsi yang merekabutuhkan dari layanan, seperti File layanan dalam sistem terdistribusi, kita dapat melanjutkan untuk bertanya tentangkualitas layanan disediakan. The nonfunctional sifat utama dari sistem yang mempengaruhi kualitas layanan yang dialami oleh klien dan pengguna keandalan, keamanan dan kinerja. Kemampuan beradaptasi untuk memenuhi konfigurasi sistem berubah dan ketersediaansumber daya telah diakui sebagai aspek penting lebih lanjut dari kualitas pelayanan. Keandalan dan masalah keamanan sangat penting dalam desain sistem komputer yang paling. Aspek kinerja kualitas pelayanan pada awalnya didefinisikan dalam istilah respon dan throughput komputasi, tetapi telah didefinisikan kembali sebagai kemampuan untuk memenuhi jaminan ketepatan waktu, seperti yang dibahas dalam paragraf berikut.

Beberapa aplikasi, termasuk aplikasi multimedia, menangani data saat kritis aliran data yang diperlukan untuk diproses atau ditransfer dari satu proses ke lain pada tingkat bunga tetap. Sebagai contoh, sebuah layanan film

mungkin terdiri darisebuah program klien yang mengambil film dari server video dan menyajikannya di layar pengguna. Untuk hasil yang memuaskan frame yang berurutan dari video perlu ditampilkan kepada pengguna dalam beberapa batasan waktu tertentu. Bahkan, singkatan QoS telah efektif dikomandoi untuk merujuk pada kemampuan sistem untuk memenuhi tenggat waktu tersebut. Pencapaiannya tergantung pada ketersediaan komputasi yang diperlukan dan sumber daya jaringan pada waktu yang tepat. Ini berarti persyaratan untuk sistem untuk menyediakan sumber daya dijaminkomputasi dan komunikasi yang cukup untuk memungkinkan aplikasi untuk menyelesaikan setiap tugas pada waktunya (untuk Misalnya, tugas menampilkan frame video). Jaringan yang umum digunakan saat ini memiliki kinerja tinggi - misalnya, BBC iPlayer umumnya melakukan diterima tapi ketika jaringan sangatlah bias mereka kinerja dapat memburuk, dan tidak ada jaminan yang disediakan. QoS berlaku untuk sistem operasi serta jaringan. Setiap sumber daya yang penting harus disediakan olehaplikasi yang membutuhkan QoS, dan harus ada sumber daya manajer yangmemberikan jaminan. Reservasi permintaan yang tidak dapat dipenuhi ditolak. Isu-isu iniakan dibahas lebih lanjut dalam Bab 20.

You might also like