BAB 13 SISTEM TERDISTRIBUSI BERBASIS KORDINASI

Dalam bab sebelumnya kita mengambil melihat pendekatan yang berbeda untuk sistem ter-distribusi, di setiap bab memfokuskan pada tipe data tunggal sebagai dasar untuk distribusi. Tipe data, yang baik obyek, file dokumen, atau (web), memiliki asalusul dalam sistem nondistributed. Hal ini disesuaikan untuk sistem terdistribusi sedemikian rupa sehingga banyak masalah tentang distribusi dapat dibuat transparan bagi pengguna dan pengembang. Dalam Bab ini kita mempertimbangkan generasi sistem terdistribusi yang menganggap bahwa berbagai komponen dari suatu sistem pada dasarnya terdistribusi dan bahwa masalah nyata dalam mengembangkan sistem seperti itu terletak pada koordinasi dan kegiatan yang berbeda kata lain components.In, bukan berkonsentrasi pada

transparandistribusi komponen, penekanan terletak pada koordinasi kegiatan antar komponen-komponen. Kita akan melihat bahwa beberapa aspek koordinasi telah menyentuh di dalam bab-bab sebelumnya, apalagi jika mengingat acara-sistem berbasis. Ternyata, banyak sistem terdistribusi konvensional secara bertahap menggabungkan mekanisme yang memainkan peran penting dalam koordinasi sistem berbasis.

13.1 PENDAHULUAN UNTUK MODEL KOORDINASI

Kunci untuk pendekatan diikuti dalam sistem koordinasi-berbasis pemisahan antara perhitungan bersih dan koordinasi. Jika kita melihat sistem terdistribusi sebagai koleksi (mungkin proses multithreaded, maka bagian komputasi dari sistem terdistribusi dibentuk oleh proses, masing-masing terkait dengan aktivitas komputasi spesifik, yang pada prinsipnya, dilakukan secara independen dari kegiatan lainnya proses.

Dalam model ini, bagian koordinasi sistem terdistribusi menangani komunikasi kerja sama antara proses. Membentuk perekat yang mengikat kegiatan yang dilakukan oleh proses menjadi keseluruhan (Gelernter dan Carriero, 1992). Dalam didistribusikan

koordinasi sistem berbasis, fokusnya adalah pada bagaimana koordinasi antara proses berlangsung. Cabri dkk. (2000) memberikan taksonomi model koordinasi untuk agen mobile yang dapat applled sama untuk jenis lain dari sistem terdistribusi. Beradaptasi terminologi untuk sistem terdistribusi pada umumnya, kami membuat perbedaan antara model bersama dua dimensi yang berbeda, temporal dan referensial, seperti ditunjukkan pada Gambar. 13-1.

Ketika proses yang temporal dan refentially digabungkan, koordinasi berlangsung dalam cara yang langsung, disebut sebagai koordinasi langsung. Kopling referensial umumnya muncul dalam bentuk referensi eksplisit pada komunikasi. Sebagai contoh, sebuah proses dapat berkomunikasi hanya jika ia tahu nama atau pengenal yang lain yang ingin bertukar informasi dengan. Kopling temporal berarti bahwa proses yang berkomunikasi akan baik harus bangun dan berjalan. Kopling ini analog dengan pesanberorientasi sementara komunikasi kita bahas pada Chapter.4. Sebuah berbagai jenis koordinasi terjadi ketika proses yang temporal dipisahkan, namun referentially digabungkan, yang kita sebut sebagai koordinasi kotak surat.Dalam kasus ini, tidak ada kebutuhan untuk dua proses berkomunikasi untuk mengeksekusi pada saat yang sama dalam rangka untuk membiarkan komunikasi berlangsung. Sebaliknya, komunikasi terjadi dengan meletakkan pesan dalam kotak surat (pssibly bersamasama). Situasi ini analog dengan gigih pesan komunikasi berorientasi seperti yang dijelaskan dalam Bab. 4. Hal ini dipertukarkan. Akibatnya, ada kopling referensial.

Kombinasi sistem referentialy dipisahkan dan temporal digabungkan membentuk kelompok model untuk memenuhi berorientasi koordinasi. Dalam sistem referentially dipisahkan, proses ini tidak mengenal satu sama lain secara eksplisit. Dengan kata lain, ketika sebuah proses ingin untuk mengkoordinasikan kegiatan dengan proses lainnya, tidak dapat langsung merujuk ke yang lain proceses. Sebaliknya, ada konsep sebuah pertemuan dimana processe sementara kelompok bersama-sama untuk mengkoordinasikan kegiatan mereka. Mode mengatur bahwa proses pertemuan mengeksekusi pada saat yang sama. Rapat-bassed sistem ini sering dilakukan dengan cara peristiwa, seperti yang didukung oleh objek berbasis didistribusikan systemsIn bab ini, kita membahas mekanisme lain untuk melaksanakan pertemuan. Yaitu mempublikasikan / subcribe sistem. Dalam sistem ini, proses dapat berlangganan pesan yang berisi informasi pada mata pelajaran tertentu, sementara proses lainnya menghasilkan (i, e.. Mempublikasikan) pesan tersebut. Kebanyakan mempublikasikan / berlangganan sistem mengharuskan proses berkomunikasi yang aktif pada saat yang sama: maka ada kopling temporal.Namun, proses komunikasi dinyatakan mungkin tetap Anonymouse. Model koordinasi yang paling banyak dikenal adalah kombinasi dari proses dipisahkan referentially dan temporal, dicontohkan oleh komunikasi generatif sebagaimana diperkenalkan dalam sistem pemrograman Linda oleh Gelermter (1985). Ide kunci dalam komunikasi generatif adalah bahwa kumpulan proses independen membuat penggunaan dataspace terus-menerus bersama tupel. Tupel ditandai catatan data yang terdiri dari sejumlah (tapi mungkin nol) bidang diketik. Proses dapat menempatkan setiap jenis catatan ke dataspace bersama (i, e.. Mereka menghasilkan catatan

komunikasi). Berbeda halnya dengan papan tulis, tidak perlu setuju dalam lanjutan pada struktur tupel. Hanya tag digunakan untuk membedakan antara tupel yang mewakili berbagai jenis informasi.

Sebuah fitur menarik dari Dataspaces bersama adalah bahwa mereka menerapkan mekanisme pencarian asosiatif untuk tupel. Dengan kata lain, ketika proses ingin mengekstrak sebuah tuple dari dataspace. Ini dasarnya menentukan (beberapa dari) nilai bidang itu tertarik Setiap tupel yang cocok spesifikasi yang kemudian dikeluarkan dari

dataspace dan diteruskan ke proses. Jika pertandingan tidak dapat ditemukan proses dapat memilih untuk memblokir sampai ada tupel yang cocok. Kami menunda rincian tentang model koordinasi untuk kemudian ketika membahas sistem beton. Kami mencatat bahwa komunikasi generatif dan dataspace bersama sering juga dianggap bentuk o fpublish / berlangganan sistem. Dalam apa yang berikut, kita akan mengadopsi persamaan ini juga. Sebuah gambaran yang baik dari mempublikasikan / berlangganan sistem (dan mengambil perspektif yang agak luas) dapat ditemukan di Eugster dkk. (2003). Dalam bab ini kita mengambil pendekatan bahwa dalam sistem ini setidaknya ada decoupling referensial antara proses, tetapi sebaiknya juga decoupling temporal.

13.2 Arsitektur

Sebuah aspek penting dari sistem koordinasi-berbasis bahwa komunikasi terjadi dengan menjelaskan karakteristik dari item data yang akan dipertukarkan. Akibatnya, penamaan memainkan peran penting. Kami kembali ke penamaan kemudian dalam bab ini, tapi untuk saat ini masalah penting adalah bahwa dalam banyak kasus, item data tidak secara eksplisit diidentifikasi oleh pengirim yang receievers.

13.2.1 Pendekatan Keseluruhan

Mari kita asumsikan bahwa item data dijelaskan oleh serangkaian atribut. Sebuah iems data dikatakan diterbitkan ketika dibuat tersedia bagi proses lain untuk membaca.Untuk itu, berlangganan perlu diteruskan ke middleware, yang berisi deskripsi biasanya terdiri dari beberapa (atttribute, nilai) pasangan, mungkin dikombinasikan dengan (atttribute, kisaran) pasangan. Dalam kasus kemudian, atribut tertentu diharapkan untuk mengambil nilai-nilai dalam kisaran tertentu. Deskripsi kadang bisa diberikan dengan menggunakan segala macam predikat dirumuskan atas atribut, sangat mirip di alam ke SQL seperti query dalam kasus database relasional. Kita akan menemukan jenis deskriptor kemudian dalam bab ini.

Gambar 13-2 prinsip pertukaran data antara penerbit item dan pelanggan.Kita sekarang dihadapkan dengan situasi di mana langganan harus dicocokkan item data. middleware akan memiliki untuk menyimpan item data. kami memiliki sistem referentially dipisahkan. Dengan kata lain. yaitu. proses dengan berlangganan cocok. Dalam situasi ini ada operasi tambahan untuk pengelolaan data.Sebagai alternatif. Dalam kasus-kasus di mana data item yang segera diteruskan ke pelanggan.Hal ini juga mungkin untuk melampirkan kontrak untuk item data tersebut bahwa ketika sewa berakhir bahwa item data secara otomatis delleted. Ketika pencocokan berhasil. 13-2. seperti ditunjukkan pada Gambar. ada dua skenario yang mungkin. Penyimpanan adalah baik secara eksplisit ditangani oleh layanan yang terpisah. tetapi temporal ditambah. Situasi ini berbeda ketika pemberitahuan dikirim sehingga pelanggan perlu secara eksplisit membaca data yang diterbitkan. Tentu. . middleware juga dapat mengajukan pemberitahuan titik mana pelanggan ca melaksanakan operasi membaca untuk mengambil item data yang diterbitkan. Dalam kasus pertama. atau tanggung jawab pelanggan. middleware umumnya tidak akan menawarkan penyimpanan data. middleware dapat memutuskan untuk meneruskan data yang diterbitkan untuk mengatur saat ini dari pelanggan.

setiap item data yang dipublikasikan diasumsikan memiliki vektor terkait <(a1. .. kita telah mengasumsikan bahwa ada seperangkat tetap n atribut a1. sensor gerak) dan orang-orang untuk mendaftarkan status sebuah kunci pintu. terutama ketika peristiwa primitif yang dihasilkan dari sumber tersebar di seluruh sistem terdistribusi. Jelas. Di sisi lain.. v1 ). Untuk mengilustrasikan. nilai) pasang.20 yang kosong dan pintu tidak terkunci. Di banyak koordinasi-berbasis sistem. pendekatan koordinasi menyediakan banyak potensi untuk membangun sangat besar-besaran sistem terdistribusi karena decoupling kuat proses. apa yang terjadi adalah bahwa peristiwa yang diterbitkan. Dari sisi luar. . Isu penting adalah implementasi yang efisien dan terukur yang cocok langganan untuk item data. bersama dengan pembangunan dari item data yang relevan. merancang implementasi terukur tanpa kehilangan kemerdekaan ini bukan axercise sepele. Acara menyulitkan pengolahan langganan. Mengikuti pendekatan sketsa sejauh ini. yang dapat dipandang sebagai item data hanya dengan atribut tertentu tunggal. sebuah sistem terdistribusi mendukung seperti langganan taksi dilaksanakan dengan menempatkan sensor pemantauan independen untuk hunian kamar (misalnya. dalam sistem koordinasi-berbasis seperti ini. Komposisi acara ternyata menjadi tugas yang sulit. asumsi ini salah. Suatu yang digunakan untuk menggambarkan item data. . Secara khusus..( sebuah.. vn)> dari (atribut. sebagaimana akan kita se berikutnya. kita perlu menulis peristiwa primitif tersebut menjadi data item diterbitkan yang kemudian dapat berlangganan proses. .Dalam model yang digambarkan sejauh ini. Sebaliknya. pertimbangkan berlangganan seperti "memberitahu ketika ruang R4." Biasanya..

tupel yang pertama mengerahkan. Suatu bagian penting dari sistem dibentuk oleh model model koordinasi untuk komunikasi generatif.2. setiap kali sebuah proses ingin menyimpan sebuah tuple. Ini adalah solusi yang khas saat ini diadopsi oleh banyak mempublikasikan / berlangganan sistem. Mari kita lihat dua contoh khas. . 2005b) dan JavaSpaces (Freeman dkk. Contoh: Jini dan JavaSpaces Jini adalah sistem terdistribusi yang terdiri dari campuran elemen yang berbeda tetapi terkait. Demikian pula. berasal dari Linda.2 Arsitektur Tradisional Solusi yang paling sederhana untuk pencocokan item data terhadap langganan adalah memiliki arsitektur client-server terpusat. 1999) yang sebagian besar didasarkan pada server pusat. Dengan kata lain. Para tuple sebagai disimpan dalam implementasi JavaSpace akan terus mengerahkan dua salinan objek itu. 2005c) dan implementasi populer untuk Sun JMS (Sun Microsystems 2004a). Tuple disimpan dalam bentuk serial.. Jini Menyediakan decoupling temporal dan referensial proses melalui sistem koordinasi yang disebut JavaSpaces (Freeman dkk. Akibatnya. Hal ini sangat terkait dengan bahasa pemrograman Java. Beberapa javaSpaces dapat hidup berdampingan dalam sistem Jini tunggal. menyiratkan bahwa semua field yang mengerahkan juga. meskipun banyak prinsip yang dapat diterapkan sama baiknya dalam bahasa lain. ketika sebuah tuple berisi dua bidang yang berbeda yang merujuk ke objek yang sama.13. Termasuk IBM WebSphere (IBM. implementasi untuk model yang lebih rumit komunikasi generatif seperti Jini (Sun Microsystems. 1999). JavaSpace adalah dataspace bersama yang menyimpan tupel mewakili satu set diketik refereces ke obyek Jawa..

13-3. salinan lain mengerahkan tupel yang disimpan dalam JavaSpace.Tupel adalah dimasukkan ke dalam JavaSpace dengan cara menulis operasi. tupel template satu set referensi jenis objek. A lapangan di tupel template yang baik berisi referensi ke objek yang sebenarnya atau berisi nilai NULL. Untuk membaca contoh tupel. perhatikan kelas . Setiap kali menulis operasi disebut pada sebuah tuple. Kita akan menyebut setiap salinan mengerahkan sebagai contoh tupel. Contoh tupel Hanya dari jenis yang sama sebagai template dapat dibaca dari JavaSpace. seperti ditunjukkan pada Gambar. Seperti tupel lain. yang pertama marsekal tupel sebelum menyimpannya. proses memberikan tupel lain yang menggunakan sebagai template untuk pencocokan contoh tuple sebagai disimpan dalam sebuah JavaSpace. Gambar 13-3 Organisasi umum JavaSpace di Jini Yang menarik dari komunikasi sdpect generatif dalam Jini adalah cara bahwa kasus tupel dibaca dari sebuah JavaSpace. Sebagai contoh.

Selain itu. this. termasuk bidang NULL nya. Kedua pemanggil sampai tupel yang ditemukan. sebuah perbandingan dengan lapangan-lapangan dibuat dengan tupel template. jika JavaSpace adalah diimplementasikan . Ada juga sebuah operasi mengambil tambahan operasi menghilangkan blok contoh tupel dari JavaSpace cocok tersebut.id = id. Dua bidang cocok jika mereka berdua memiliki acopy dari referensi yang sama atau jika lapangan di tupel template NULL. Bahkan. Hal ini dimungkinkan untuk menentukan waktu memblokir maksimal. Sebuah contoh tupel template yang cocok dengan tupel jika ada jika cocok berpasangan bidang masing-masing. Itu misalnya tuple unmarshaled dan kembali ke proses membaca. Proses yang menggunakan JavaSpaces tidak perlu hidup berdampingan pada waktu yang sama. Untuk setiap contoh tupel dari jenis yang sama sebagai template. ada varian yang hanya kembali segera jika tidak ada tupel yang cocok ada. nantinya sudah mengerahkan seperti biasa. new Integer(42)) Will match the tuple Tuple item = new Tuple(³MyName´. new Integer(42)) Untuk pertandingan misalnya tuple dalam aJavaSpace againsr tupel template. value. Ketika contoh tupel ditemukan yang cocok dengan template yang memberikan tupel sebagai bagian dari operasi baca.Class public Tuple implements Entry { Public Integer id. Public Tuple(Integer id.value = value} } Then a template declared as Tuple template =new Tuple(null. Integer value){this.

Namun. Pencocokan juga bisa dievaluasi dengan mengeksekusi operator perbandingan objek khusus [se juga Picco dkk.menggunakan persistent storage.(2005)]. Menawarkan fasilitas untuk sinkronisasi proses tanpa proses perlu saling mengenal. Dan kemudian selanjutnya mengeksekusi membaca destruktif dimana tupel pencocokan dihapus. Contoh: TIB / Rendezvous Sebuah solusi alternatif untuk menggunakan server pusat untuk segera menyebarkan item data yang diterbitkan ke pelanggan yang tepat dengan . lebih-atau-kurang semantik perbandingan sewenang-wenang dapat diimplementasikan. Harus jelas bahwa memiliki server pusat memungkinkan subcriptions menjadi cukup rumit. Sebagai contoh. menyadari bahwa bidang masing-masing mewakili sebuah objek. Misalnya. Bahkan. Hal ini penting untuk tidak bahwa perbandingan tersebut mungkin memerlukan sebuah pencarian ekstensif melalui item data yang tersimpan saat ini. sistem Jini lengkap dapat diturunkan dan kemudian restart tanpa kehilangan tupel. pada saat dua pertandingan itu nonnull bidang mereka adalah identik. Meskipun Jini tidak mendukung itu. Kami akan kembali untuk sinkronisasi di bawah ini. sinkronisasi dalam sistem desentralisasi inheren sulit karena kami juga dibahas dalam Bab 6. Hal ini persis untuk alasan ini bahwa ketika aturan pencocokan rumit didukung kita umumnya hanya akan melihat implementasi terpusat. Pencarian tersebut tidak dapat dengan mudah efisien diterapkan dalam cara didistribusikan. Sekali lagi. jika seperti operator dapat diganti oleh aplikasi. fakta bahwa suatu proses dapat memblokir sampai item data yang sesuai diterbitkan. Keuntungan lain dari memiliki implementasi terpusat adalah bahwa hal itu menjadi lebih mudah untuk menerapkan sinkronisasi primitif.

multicasting diimplementasikan menggunakan . jika diketahui persis di mana pelanggan berada.menggunakan multicasting.comp . 2005) Dalam item data approach. Setiap kali sebuah pesan diterbitkan.comp. Ini adalah multicast untuk setiap host pada jaringan menjalankan daemon pertemuan. Setiap host pada jaringan tersebut akan menjalankan daemon pertemuan. Kata kunci ini dikatakan untuk menunjukkan subjek pesan. Gambar 13. os. Prinsip dari sistem mempublikasikan / berlangganan seperti yang diterapkan dalam TIB / Rendezvous. Biasanya. yang arsitektur dasar ditunjukkan dalam Gambar 13-4 (TIBCO. Mendasar untuk pelaksanaannya adalah penggunaan penyiaran umum di lokal area jaringan. atau menunjukkan pesan yang ingin menerima.*. meskipun juga menggunakan fasilitas komunikasi yang lebih efisien bila memungkinkan.Prinsip ini digunakan dalam TIB / Rendezvous.. seperti buku news. yang mengurus bahwa pesan yang dikirim dan dikirim sesuai dengan subjek mereka. seperti news. pointto-point pesan umumnya akan digunakan.books.Sebagai pelanggan menyediakan (bagian dari) kata kunci.a adalah pesan ditandai dengan kata kunci yang menjelaskan konten senyawa.4. Sebagai contoh.

subjek). Jika tidak ada pelanggan untuk S. Namun.Daemon membangun sebuah tabel (proses. tidak ada alasan mengapa subcriptions tidak dapat rumit dan lebih dari perbandingan string seperti saat ini terjadi. pembatasan lebih lanjut mengenai langganan menggambarkan dan item data mungkin diperlukan. menggunakan multicasting membutuhkan khusus langkah-langkah untuk melampaui ranah lokal area networks. seperti yang akan kita bicarakan kemudian. Bila menggunakan multicasting seperti yang dilakukan di TIB / Rendezvous. seperti multicasting IP atau penyiaran perangkat keras.2. jika skalabilitas harus dijamin.Moreover. Pengamatan penting di sini adalah bahwa karena pesan akan diteruskan ke setiap node pula. 13..fasilitas yang ditawarkan oleh jaringan yang mendasari. aturan perbandingan sederhana yang diperlukan setiap kali pencocokan seluruh jaringan yang luas diperlukan. Proses yang berlangganan subjek lulus langganan mereka untuk daemon lokal mereka.Straightforward implementasi bagi kasus di .3 Peer-to-peer Arsitektur Arsitektur tradisional diikuti oleh kebanyakan sistem koordinasi-berbasis menderita masalah skalabilitas (meskipun vendor komersial mereka akan menyatakan otherwhise) Jelas.Likewise. pesan tersebut akan dibuang segera. dan meneruskan pesan ke masing-masing. daemon hanya memeriksa dalam tabel untuk pelanggan lokal. pencocokan berpotensi kompleks data yang diterbitkan terhadap langganan dapat dilakukan sepenuhnya secara lokal tanpa komunikasi jaringan lebih lanjut. Banyak penelitian telah dihabiskan untuk mewujudkan koordinasi sistem berbasis menggunakan peer-to-peer keluar technology. entri dan setiap kali pesan tiba pada subjek S. Memiliki server pusat untuk pencocokan langganan data yang dipublikasikan tidak dapat skala melampaui beberapa ratus clients.

In following.Such subset juga disebut hyperspace.mana kata kunci yang digunakan.This DHT berbasis bekerja dengan baik untuk lebih konvensional mempublikasikan / berlangganan sistem seperti yang digambarkan oleh Tam dan Jacobsen (2003).In kasus ini. mengapung. nilai / rentang) pairs. Menganggap bahwa setiap node hanya saya memasuki s1 berlangganan.we mendiskusikan satu proposal tersebut. cocok untuk mengurangi lookup langsung dari indentifier. enumerations .For sistem secara awhole. tetapi juga untuk komunikasi generatif (Bustet al.0. a4 -> [0. 2006)..for number.0... Contoh : Sebuah Gossip Berbasis Publish / Subscribe Sistem Pertimbangkan sebuah sistem mempublikasikan / berlangganan di mana data dapat dijelaskan oleh item berarti N atribut a1 aN yang nilainya bisa langsung dipetakan ke contoh floating-point nilai include.. boolean. Sebuah subcription s mengambil bentuk tupel (atribut. 0.. SM seperti bahwa setiap jatuh . bilangan bulat.such sebagai s = <a1 -> 3. s menetapkan bahwa a1 harus sama dengan 3. karena ini dapat hash untuk pengidentifikasi unik untuk pendekatan data. dan string. 2004) Hal-hal menjadi rumit untuk lebih diuraikan pencocokan schemes.5) atribut lain diperbolehkan untuk mengambil pada setiap kejelasan value. .Notoriusly sulit adalah kasus di mana rentang perlu didukung dan hanya sangat sedikit usulan exist.....0 dan a4 harus terletak pada interval [0.such.. yang dapat effienciently diimplementasikan dalam pendekatan system. nilai) pasang untuk identifiers.For.5)> Dalam exaple ini. dirancang oleh salah satu penulis dan rekan-rekannya (Voulgaris et al. Perhatikan bahwa setiap s1 berlangganan sebenarnya menetapkan sebuah int subset S1 ruang dimensi N floating-point numbers..the adalah untuk secara otomatis partisi S ke M menguraikan hyperspaces S1 .. hanya data yang dipublikasikan yang deskripsi jatuh di S serikat = Osi ini hyperspaces adalah seluruh ide interest.0.This diterbitkan juga telah digunakan untuk pemetaan (atribut.0.

sistem hanya butuh menemukan Sm yang item yang belongs. node i dan j milik kelompok yang sama jika dan hanya jika langganan mereka Si dan Sj intersect. sistem terus M minimal dalam arti bahwa ada tidak dalam partitiening dengan bagian-bagian yang lebih sedikit Sm. untuk setiap Sm hyperspace persis mereka node i yang Sm C S1.sepenuhnya dalam salah satu hyperspaces berlangganan S1 dan bersama-sama mereka ciover subscriptions. Untuk tujuan ini. Pengelompokan node untuk mendukung berbagai query secara peer-topermempublikasikan / berlangganan sistem. node dalam kelompok yang sama harus diatur dalam suatu jaringan overlay yang akan memungkinkan efisien penyebaran item data dalam hyperscape associatted dengan situasi group.In bahwa kasus ketika item daa diterbitkan . kita mendapati bahwa (Sm  Si) => (Sm si C) Terlebih lagi.Moreover. node pertukaran langganan teratur menggunakan epidemi protocol.Sij menghubungkan satu sama lain sehingga item data d dari Sijk dapat efisien disseminated. Gambar 13-5.If  Sk O.that adalah Sij Si  O Sj mereka akan merekam fakta ini dan terus refrences untuk setiap other.Sijk  O. .from mana titik itu dapat meneruskan item ke node yang terkait. ini untuk satu atribut adalah Sketsa pada Gambar 13-5. tiga dari mereka akan mereka temukan k simpul ketiga dengan Sijk . Seluruh ide untuk mendaftar.Note bahwa jika Sij .More semua formallly.If dua node i dan j masing-masing melihat bahwa langganan intersect.

Pada saat tertentu.< in.7 dan 10 akan dikelompokkan bersama-sama mewakili interval [16. node i perintah node ini dengan pengidentifikasi mereka dan memilih satu dengan pengidentifikasi terendah i |> j.In lain.4.Sj2i4)  0.0] Setiap item data dengan nilai dalam rentang ini harus disebarluaskan hanya empat node. seperti pertukaran akan memungkinkan sebuah node node lain belajar tentang acak di node system. Setiap kali butir a d data dipublikasikan. pandangan parsial)..Di sini.For .As ternyata out. Untuk contruct kelompok ini. Akibatnya.This Sj proses diulang sampai semua node yang telah tumpang tindih kepentingan dengan simpul saya telah diperiksa. node diorganisir ke dalam gosip simpul network. seperti bahwa perusahaan langganan tumpang tindih dengan node j.21. menyebabkan ordered list i4 <i2 <.i Si Sj  O. tetapi hanya jika mengandung unsurunsur yang belum tercakup oleh kata simpul i4. disebarluaskan secepat mungkin untuk setiap modus yang tertarik it.Also sibgle ditampilkan adalah pengelompokan node ke dalam rentang menguraikan kepentingan untuk nilai dari contoh attributte.with informasi avaible di setiap node .2. NPDES 3.Note bahwa ik node dalam daftar ini karena mencakup daerah R kepentingan umum untuk simpul i dan j yang belum tercakup oleh node joinyly dengan pengenal yang lebih rendah daripada ik. yaitu. wilayah Prosedur ini dapat diperluas untuk membiarkan node i contruct sebuah ring.13-5.. setiap node saya umumnya akan memiliki referensi ke node lain dengan tumpang tindih bagian interest.i2 (Si2 . simpul ik adalah node pertama yang harus maju simpul j item data yang jatuh dalam hal ini yang unik R. Yang berikutnya yang akan dipilih adalah i2> i4 seperti yang langganan perusahaan juga tumpang tindih dengan yang j. dengan berlangganan berpotongan).Every melacak node ia menemukan dengan interes yang tumpang tindih (yaitu. Sj.i4. kita harus memiliki Sj..Each terstruktur berbasis menyimpan daftar referensi untuk tetangga lainnya (yaitu.. yang periodacally pertukaran dengan salah satu tetangganya seperti yang dijelaskan dalam Chap.5.Such dua arah cincin juga ditampilkan dalam Fig.As bertukar informasi dengan simpul j. kita melihat total tujuh node di mana garis horizontal untuk node i indiscates jangkauan jika bunga cemara nilai attribute.

Alternative.In.One pratical untuk masalah ini adalah untuk membiarkan pelanggan melacak pesan-pesan mereka telah menerima dan membuang simpliy duplicates.menemukan node i tertarik it.We lagi akan menemukan kesulitan-kesulitan ketika membahas replikasi.4 Mobilitas dan Koordinasi Sebuah topik yang telah menerima banyak perhatian dalam literatur adalah bagaimana menggabungkan mempublikasikan / berlangganan solusi dengan kasus mobility. forrwarde ke P1 masingmasing. yang mengubah partisi kisaran attributte di seluruh processes.Under ponsel asumsi ini. masalah ini menjadi bagaimana memastikan bahwa pesan-pesan yang diterbitkan tidak disampaikan lebih dari sekali untuk seorang pelanggan yang switch solusi akses points. (2004). 13. namun solusi yang lebih rumit terdiri dari router yang . di mana selanjutnya disimpan di proses yang bertanggung jawab untuk nilai d 's a1.Details dapat ditemukan di Voulgaris et al.with yang avaible hanya maju d sepanjang cincin pelanggan untuk rentang tertentu yang d jatuh into.2. masing-masing atribut a1 genggam oleh P1 proses yang terpisah.As ternyata out.To mempercepat diseminasi.When mutiple item data d dipublikasikan. Semua pendekatan ini ilustrasi untuk kompleksitas saat memetakan sistem mempublikasikan / berlangganan montrivial untuk peer-to-peer esensi network.Dalam proposal lain yang dijelaskan dalam Bharambe (2004). kompleksitas ini berasal dari fakta bahwa mendukung pencarian di attributte sistem berbasis penamaan inheretly sulit untuk membangun dalam desentralisasi fashion. tetapi yang menggunakan s DHT berbasis sistem dijelaskan dalam Gupta et al.In banyak simpul. (2006) informasi. Diskusi Sebuah pendekatan yang agak mirip dengan ini solusi berbasis gosip dalam arti bahwa ia mencoba untuk menemukan partisi ruang tertutup oleh nilai-nilai atribut. diasumsikan bahwa ada infrastruktur dasar tetap dengan poin acces untuk nodes. potongan pendek dipertahankan untuk cincin setiap well.

. Gambar 13-6. Contoh: Lime Dalam kasus komunikasi generatif. yang stringly menyerupai model JavaSpace kita bicarakan sebelumnya. setiap proses memiliki dataspace sendiri terkait. baik berarti bahwa dua proses sementara terletak pada host fisik yang sama. Dalam Lime.Dalam prakteknya. beberapa solusi telah diusulkan untuk mengoperasikan dataspace bersama di mana (somef dari) node mobile. jaringan yang mendasari sendi yang memungkinkan dua proses untuk berlatih data.Theroretically. transien berbagi ruangdata lokal di Lime .. 2001). Secara formal. 2003). dataspace mereka menjadi shared. tapi ketika proses dalam setiap kedekatan lain seperti yang mereka terhubung.In pertukaran.. bagaimanapun. Caporusicio dkk .melacak pesan mana yang telah dikirim ke mana pelanggan (lihat. Sebuah contoh canonial dalam hal ini adalah Kapur (Murphy et al . misalnya. yang terhubung dapat berarti bahwa ada rute dalam jaringan yang mendasari sendi yang memungkinkan dua proses untuk pertukaran data. atau masing-masing host dapat berkomunikasi satu sama lain melalui (hop tunggal) wirelles link. proses harus menjadi anggota dari protokol comunication kelompok yang sama.

Demikian juga. sering mengarah ke modifikasi lebih lanjut dari Dataspaces. Pada prinsipnya. mungkin dari proses lain yang sekarang dalam kelompok yang sama dengan P. 13-6.Para Dataspaces lokal proses terhubung membentuk Dataspaces transiently bersama yang akan memungkinkan proses untuk tupel pertukaran. 2004).3 PROSES Tidak ada yang benar-benar spesial tentang proses yang digunakan dalam mempublikasikan / berlangganan sistem. seperti yang ditunjukkan pada Gambar. Misalnya. Masalah utama adalah merancang skema Thet bekerja dengan baik dalam lingkungan terdistribusi. Untuk lebih mengontrol bagaimana tupel didistribusikan. Reaksi yang menentukan tindakan yang akan dieksekusi wheb tupel pencocokan template yang diberikan ditemukan di Dataspaces lokal. Kapur juga memungkinkan melanggar transparansi ini dengan menentukan tepatnya untuk siapa sebuah tuple dimaksudkan. Dalam kebanyakan kasus. hanya dijamin bahwa tindakan yang terkait yang akhirnya dieksekusi. itu tetap ada sampai ada operasi mengambil yang cocok. Misalnya. kenyataan bahwa kita sebenarnya berurusan dengan dataspace bersama sepenuhnya terdistribusi adalah transparan untuk berpartisipasi prosess . dalam kasus reaksi yang lemah. Namun. Dataspaces dapat melakukan yang dikenal sebagai reaksi. Dalam cara ini. membaca dan mengambil operasi dapat memiliki parameter tambahan dari proses yang menentukan sebuah tuple diharapkan. 13. mekanisme yang efisien perlu dikerahkan untuk mencari di koleksi berpotensi besar data.Setiap kali perubahan dataspace. asalkan pencocokan data masih dapat diakses. Reaksi rentang bahwa mereka dapat dijalankan secara efisien. Ide reaksi telah diambil langkah lebih lanjut dalam tota. Kita kembali ke masalah ini di bawah ini ketika membahas konsistensi dan replikasi. sebuah reaksi executeable dipilih secara acak. ketika proses mengeksekusi P operasi menulis. . possibily juga termasuk tranformations (Mamei dan Zambonelli. Mana tupel eacch memiliki sebuah fragmen kode yang terkait mengatakan persis bagaimana tupel yang harus dipindahkan antara Dataspaces. tupel yang terkait disimpan dalam dataspace lokal proses itu.

e. akan memberitahukan aplikasi ketika data yang relevan telah tiba.Misalnya. menggunakan metode mengorganisir diri dengan mana node dalam sistem peer-to-peer secara otomatis berkerumun. mulai dari jaringan-tingkat dukungan multicast untuk aplikasi-tingkat . pada gilirannya. adalah diasumsikan bahwa pesan masingmasing membawa deskripsi isinya. Pertimbangkan sebuah sistem mempublikasikan / subscibe consistong server N yang klien (i. Sebuah solusi alternatif adalah untuk menyebarkan konten-based routing. Ada berbagai cara untuk membuat seperti pohon. Lebih presicely. Satu masalah imporrtant yang perlu ditangani ketika mempublikasikan / berlangganan sistem tersebar di seluruh sistem luas-adalah bahwa data yang dipublikasikan harus mencapai hanya pelanggan yang relevan.. Pendekatan particial terhadap konten berbasis routing diusulkan dalam Carzaniga dkk. dan bahwa deskripsi ini dapat digunakan untuk memotong-off rute yang diketahui bahwa mereka tidak menyebabkan penerima tertarik pada pesan itu. di hampir setiap sistem berbasis java. sistem ini diasumsikan akan dibangun di atas jaringan piont-ke-titik di mana pesan yang secara eksplisit diarahkan antara node. Penting dalam setup ini adalah bahwa router dapat mengambil keputusan routing dengan mempertimbangkan isi pesan. Seperti yang kita dijelaskan di atas. Kami berasumsi bahwa untuk membaca pesan. atau dari mana mereka dapat membaca pesan masuk. mengusulkan skema dua lapis routing di mana lapisan terendah terdiri dari pohon siaran bersama menghubungkan server N. aplikasi) dapat mengirim pesan. semua komunikasi berlangsung melalui doa metode remote.4. setelah penyebaran terjadi per cluster merupakan salah satu solusi. (2004). Carzaniga dkk.13.4 KOMUNIKASI Komunikasi dalam banyak mempublikasikan / berlangganan sistem relatif sederhana. 13.1 Content Berbasis Routing Dalam konten berbasis routing. aplikasi akan memiliki sebelumnya diberikan server dengan deskripsi dari jenis data itu tertarik Server.

dengan asumsi kita perlu mendukung hanya sederhana subjek berbasis mempublikasikan / berlangganan di mana setiap pesan ditandai dengan kata kunci (noncompound) yang unik. server yang terkait yang menambahkan header server tujuan untuk pesan itu. Kemudian. ini adalah pendekatan yang diikuti dalam TIB / Rendezvous. setiap server akan dapat mengkompilasi sebuah daftar (subjek. Ketika pesan mencapai router. seperti ditunjukkan pada Gambar. yang terakhir dapat menggunakan daftar untuk memutuskan jalur bahwa pesan harus mengikuti. setiap kali sebuah aplikasi menyampaikan pesan pada subjek s. Perhatikan bahwa perbedaan antara server dan router hanya satu logis: sebuah mesin tunggal dapat menjadi tuan rumah kedua macam proses. 13-7. Mengambil pendekatan terakhir sebagai titik awal kita. kita juga mengasumsikan bahwa seperti pohon telah dibentuk dengan server N sebagai node akhir. Di sini. 4. Pada dasarnya. Gambar 13-7. Pertimbangkan pertama dua ekstrem untuk konten berbasis routing. tujuan) pasangan.pohon multicast seperti yang kita bahas dalam Bab.Naïve konten ± routing berbasis Solusi ekstrim lainnya adalah untuk membiarkan server setiap siaran langganan untuk semua server lainnya. Akibatnya. kita dapat memperbaiki . bersama dengan colletion node intermidiate membentuk router. Salah satu solusi ekstrim untuk mengirim setiap pesan diterbitkan untuk setiap server. dan kemudian membiarkan server memeriksa apakah setiap klien harus berlangganan ke subjek dari pesan tersebut.

dapat menyebabkan routing yang menyesuaikan berbagai filter. seperti ditunjukkan pada Gambar. tapi itu simpul 4 ingin pesan dengan [2. Salah satu masalah dengan konten berbasis routing bahwa meskipun prinsip filter routing yang menyusun sederhana. harus membatalkan langganan dan pada dasarnya informasi ini disiarkan ke semua router. Pembatalan ini.8 Antarmuka Ke node 3 Ke node 4 Menuju router R 1 a Filter [0. dan ini justru informasi bahwa R 1 akan menyimpan dalam tabel. atau ketika tidak lagi tertarik pada pesan tertentu. pada gilirannya. Tidaklah sulit untuk membayangkan bahwa komposisi berlangganan lebih rumit dapat didukung.kemampuan router untuk memutuskan di mana untuk meneruskan pesan ke.5] harus diteruskan sepanjang jalan ke router R 2. setiap server siaran berlangganan di seluruh jaringan sehingga router dapat membuat rute filter. Ini contoh sederhana juga menggambarkan bahwa setiap kali sebuah node daun sistem. Untuk itu. Namun demikian.3] [2. mengidentifikasi link sepanjang yang pesan yang masuk harus diteruskan dapat menghitung-intensif. Sebagai contoh.5]. Dalam kasus ini. langganan dari node 3 dan 4 mendikte bahwa setiap pesan dengan berbaring dalam interval [0. router R ¬ ¬ ¬ 2 akan membuat filter routing yang sebagai meja dengan sebuah entri untuk setiap link keluar (dalam hal ini tiga: satu untuk simpul 3. satu ke node 4. 13.Penyesuaian akhir akan paling buruk menyebabkan lalu lintas yang tidak perlu sebagai pesan dapat diteruskan sepanjang jalur yang ada pelanggan tidak lagi. Dalam contoh ini. penyesuaian tepat waktu dibutuhkan untuk menjaga kinerja pada tingkat yang dapat diterima. asumsikan bahwa simpul 3 pada Gambar.5] (tidak ditentukan) Gambar 13-8. Kompleksitas komputasi berasal dari .3] a [2. 13-7 berlangganan pesan yang atribut terletak dalam rentang [0. dan satu ke arah router R 1 ¬ ).3].5] = [0. Sebuah tabel routing terisi sebagian Lebih menarik adalah apa yang terjadi pada router R ¬ 1.

Sejauh ini. skema ini penamaan dapat segera diterapkan.Ekstensi ini cukup ketika langganan mengambil bentuk vektor (atribut. yang pada dasarnya bermuara pada sebuah perbandingan entri-entri-oleh. Namun. 13. Meskipun hal ini dapat relatif mudah diperluas dalam . proses mungkin ingin melihat item data saham dari IBM dan data tentang pendapatan mereka. mungkin akan mudah untuk mengungkapkan komposisi subcriptions di mana proses menentukan dalam langganan tunggal yang tertarik pada jenis yang sangat berbeda dari item data. sering kali ada kebutuhan untuk ekspresi yang lebih canggih dari langganan.pelaksanaan pencocokan nilai atribut untuk langganan. Li dan Jacobsen (2005) mengusulkan untuk merancang router analog dengan aturan database. Meskipun sistem berbeda sehubungan dengan tipe atribut. dengan JavaSpaces kami melihat bahwa perbandingan pada dasarnya hanya untuk kesetaraan didukung. Bagaimana perbandingan ini dapat dilakukan secara efisien dijelaskan dalam Carzaniga dkk. Misalnya. nilai. dan predikat yang dapat digunakan. kita sebagian besar telah diasumsikan bahwa setiap item data publisbed dengan predikat menentukan lebih dari nilai-nilai atribut.5 Penamaan Mari kita sekarang membayar perhatian lebih untuk penamaan dalam sistem koordinasi berbasis. (2003). tetapi mengirimkan item data hanya satu jenis tidak berguna. Tidaklah sulit untuk membayangkan bahwa hal ini dapat menyebabkan routing berbasis konten filter routing yang dijelaskan di atas. yang akan kita bahas berikutnya. Secara umum. 13.2 Komposit Langganan Pendukung Contoh-contoh sejauh bentuk ekstensi yang relatif sederhana untuk tabel routing. Untuk menggambarkan. nilai / range) pasangan. subcriptions diubah menjadi aturan menyatakan dalam kondisi diterbitkan data harus diteruskan. Sebagai contoh. Akibatnya.4. dan sepanjang yang link keluar. Mendukung komposisi berlangganan adalah sangat terkait dengan masalah penamaan dalam sistem koordinasi-berbasis. Untuk menangani komposisi berlangganan.

kita akan melihat bahwa item data yang hanya memiliki satu terkait (atribut. Gambar 13-9 . Kami mengambil kerangka kerja ini sebagai dasar untuk diskusi kita. Kita perlu mengambil dua isu yang berbeda ke account. dalam hal ini juga disebut sebagai sebuah event. Secara khusus. Deskripsi tersebut membentuk dasar untuk langganan.20 bisa menjadi ruang komputer ber-AC dan aman. R4. (2003) telah mengusulkan kerangka umum untuk komposisi acara di sistem terdistribusi.1 Menjelaskan Komposit Acara Mari kita pertama mempertimbangkan beberapa contoh peristiwa komposit untuk memberikan ide yang lebih baik dari kompleksitas yang kita mungkin perlu untuk menangani. Apa yang telah kita bahas sejauh harus consicered sebagai sarana yang lebih primitif untuk mendukung koordinasi dalam sistem terdistribusi. Dukungan untuk berlangganan peristiwa.aplikasi-spesifik cara. Salah satu masalah yang kita telah disebutkan adalah bahwa dalam banyak kasus kita tidak dapat sumply menganggap bahwa setiap item data yang ditandai dengan nilainilai untuk semua atribut. Ketika berhadapan dengan peristiwa komposit. Isu kedua adalah bagaimana mengumpulkan (primitif) peristiwa dan kemudian mencocokkan mereka untuk langganan.5. Demikian juga. Dan peristiwa terutama komposit sebagian besar menentukan diskusi tentang isu penamaan dalam mempublikasikan / berlangganan sistem. Gambar 13-9 menunjukkan contoh kejadian komposit semakin kompleks. 13. Pietzuch dkk. nilai) pasangan. banyak komersial mempublikasikan / berlangganan sistem dukungan hanya agak primitif string operator perbandingan. Dalam contoh ini. Yang pertama adalah untuk menggambarkan komposisi. Kita sekarang alamat di acara lebih mendalam dan komposisi acara.

Gambar. 13-10 menunjukkan FSM untuk S3 berlangganan dari Gambar. 13-9. Kasus khusus diberikan oleh negara waktunya. Untuk memberikan contoh. Ekstensi memungkinkan untuk spesifikasi kali persinggahan di negara-negara. Gambar 13-10 . Dalam kerangka kerja mereka. Yang penting adalah bahwa langganan dapat diterjemahkan ke dalam FSMs.Dua yang pertama subcsriptions yang relaitively mudah. Perhatikan bahwa dalam kasus S5 kita membutuhkan pemantauan terus menerus dari sistem dalam rangka untuk mengirim pemberitahuan pada waktunya. menyediakan bahasa yang relatif sederhana untuk jenis diperpanjang terbatas-negara mesin (FSM). ditandai dengan label "t = 10s" yang menentukan bahwa transisi ke keadaan akhir dibuat jika pintu tidak terkunci dalam waktu 10 detik. Rincian yang tepat dari bahasa mereka tidak penting untuk diskusi kita di sini. S3 berlangganan adalah lebih kompleks karena membutuhkan bahwa sistem juga dapat melaporkan waktu-peristiwa terkait. S1 adalah contoh yang dapat ditangani oleh sebuah kejadian diskrit primitif. Pietzuch dkk. Hal-hal yang lebih rumit jika melibatkan nilai-nilai dikumpulkan langganan diperlukan untuk gradien komputasi (S4) atau rata-rata (S5). Ide dasar dibalik bahasa acara-komposisi untuk sistem terdistribusi adalah untuk memungkinkan perumusan langganan dalam hal kejadian primitif. serta generasi baru (komposit) peristiwa. sedangkan S2 adalah komposisi sederhana dari dua kejadian diskrit.

Sebuah aspek penting adalah bahwa FSMs sering dapat didekomposisi menjadi FSMs kecil yang berkomunikasi dengan melewatkan peristiwa satu sama lain. 13-10 jika kita membiarkannya menghasilkan sebuah acara untuk FSM kedua yang akan memicu pencahayaan. Hal ini me-nyebabkan detektor terdistribusi yang akan kita bahas berikutnya. 13-11. Sebagai contoh.20 setelah 2 detik ketika kita yakin bahwa tidak ada ada lagi (dan pintu terkunci). Perhatikan bahwa seperti aktivitas komunikasi biasanya akan memicu transisi negara di FSM yang acara yang dimaksudkan. . Gambar 13-11 Pengamatan penting di sini adalah bahwa kedua FSMs dapat diimplementasikan sebagai proses terpisah dalam sistem terdistribusi. seperti yang ditunjukkan pada Gambar. Dalam hal ini. FSM untuk mengendalikan pencahayaan akan berlangganan ke acara terdiri yang dipicu ketika R4 20 adalah kosong dan pintu terkunci.Subxcriptions kompleks jauh lebih dapat dijelaskan. asumsikan bahwa kita ingin secara otomatis mematikan lampu di ruang R4. kita dapat menggunakan kembali FSM dari Gambar. Dalam hal ini.

ketika mempertimbangkan Gambar. Negara transisi yang pada dasarnya dipicu oleh peristiwa primitif yang terjadi. Perhatikan bahwa adistribution detektor acara serupa di alam untuk resolusi nama didistribusikan dalam sistem penamaan berbagai. seperti meninggalkan ruangan atau mengunci pintu. Untuk pertandingan peristiwa dan langganan. Setiap langganan disediakan dalam bentuk ekspresi yang dapat diterjemahkan ke dalam mesin negara yang terbatas (FSM).13.2 Pencocokan Acara dan Langganan Sekarang perhatikan mempublikasikan / berlangganan sistem pendukung acara komposit. Dalam kasus itu. ini umumnya tidak akan sangat efisien. Selain mengoptimalkan melalui berbagi. Tentu saja. Sebuah pendekatan yang lebih baik adalah dengan mempertimbangkan koleksi lengkap langganan.5. mogok langganan ke FSMs berkomunikasi juga memiliki keunggulan potensi mengoptimalkan penggunaan jaringan. Pendekatan terhadap langganan penanganan mengarah pada apa yang dikenal sebagai detektor acara didistribusikan. Peristiwa primitif menyebabkan transisi negara di mesin terbatas relatif sederhana negara. Pertimbangkan lagi peristiwa yang terkait dengan pemantauan ruang komputer. kita dapat mengikuti implementasi. sehingga beberapa FSMs dibagi antara langganan yang berbeda. Terlebih lagi. Yang terakhir ini kemudian dapat menyebabkan transisi negara di FSMs lainnya. Dari berbagi ini ditunjukkan pada Gambar. peristiwa menerjemahkan pesan yang dikirim melalui jaringan ke proses yang berlangganan kepada mereka. Contoh. Jelas. kita melihat bahwa kita mungkin hanya perlu perlu mengirim alarm ketika melihat bahwa ruangan tidak dihuni selama 10 detik saat pintu . 13-11. Seperti penempatan akan mencegah harus mengirim peristiwa primitif di seluruh jaringan. 13-9. sederhana naif di mana setiap pelanggan menjalankan proses pelaksanaan mesin negara yang terbatas terkait dengan langganan nya. semua peristiwa primitif yang relevan untuk berlangganan tertentu akan harus diteruskan ke pelanggan. sekali lagi mungkin mengarah ke generasi acara lebih lanjut. dan membusuk langganan ke negara berkomunikasi mesin yang terbatas. pada gilirannya memicu generasi peristiwa komposit.

Dalam hal ini. kata terakhir pada bahasa berlangganan belum dikatakan. misalnya. pertama kita mempertimbangkan beberapa pendekatan standar sebagaimana telah dieksplorasi di sejumlah sistem seperti JavaSpaces. semakin tidak mungkin akan ada implementasi didistribusikan efisien. Selanjutnya. Dalam berikut. dan kemudian secara optimal menempatkan mereka di sebuah sistem terdistribusi adalah masih tunduk pada banyak penelitian. mereka diperlakukan seperti lokal menulis dan contoh yang efektif dipindahkan dari mesin yang mereka yang melakukan permintaan. dan terutama mereka untuk komunikasi generatif. kami menjelaskan beberapa hasil terakhir yang memungkinkan untuk penempatan dinamis dan otomatis tupel tergantung pada pola akses mereka. seperti yang kita gambarkan berikutnya. Sebagai contoh. Peristiwa seperti umumnya akan jarang terjadi dibandingkan dengan. Saat ini usulan seperti dengan Demers dll al. 13. Dalam kebanyakan kasus. bahasa lebih ekspresif adalah. 13. Ini akan memakan beberapa tahun sebelum kita melihat teknik-teknik yang diterapkan untuk komersial mempublikasikan / berlangganan sistem. Hal-hal yang relatif mudah ketika hanya server tunggal yang digunakan.5. prosesses dapat hanya diblokir sampai tupel menjadi tersedia.5.4 KONSISTENSI DAN REPLIKASI Replikasi memainkan peran kunci dalam skalabilitas koordinasi berbasis sistem. Bahkan sistem runtime bahkan dapat memindahkan tupel sekitar sendiri .dibuka. dan terutama trade-off antara ekspresi dan efisiensi implementasi akan menarik banyak perhatian. (2006) dan oleh Liu dan Jacobsen (2004) menegaskan hal ini. (un) mengunci pintu.3 Sinkronisasi Sinkronisasi koordinasi sistem berbasis umumnya dibatasi untuk mendukung sistem komunikasi generatif. Hal-hal menjadi rumit ketika dataspace bersama direplikasi dan didistribusikan di beberapa server. Contoh yang dikirim. tetapi juga mudah untuk menghapusnya. Membusuk langganan ke detektor acara didistribusikan.

Paling-paling. Sebagai contoh sederhana. bayangkan bahwa semua mesin logis membentuk kotak persegi panjang. Sebuah proses akan selalu diarahkan ke exaxtly satu server. 2005). Ketika sebuah proses pada mesin A ingin melakukan menulis. Namun. siaran (atau mengirim oleh titik-to-point pesan) tupel untuk semua mesin di baris atas grid. Kedua metode dapat dikombinasikan untuk menghasilkan sistem dengan replikasi parsial. Ketika aprocess pada mesin B ingin membaca atau mengambil contoh tupel. 7. dan mesin yang membuat pertandingan dan mengirim contoh tupel untuk proses meminta untuk itu. Wide-area implementasi ruang tupel tidak ada. di mana setiap ruang tupel sendiri diimplementasikan pada server tunggal atau pada jaringan lokal-daerah. dalam PageSpaces (Ciancarini dkk.untuk menyeimbangkan beban. Pendekatan ini digunakan. Implementasi yang telah kita bahas sejauh ini memiliki masalah skalabilitas yang serius yang disebabkan oleh fakta bahwa multicasting diperlukan baik untuk menyisipkan sebuah tuple ke ruang tupel.7. 13-14. misalnya. itu siaran tupel template untuk semua mesin di kolomnya. beberapa ruang tupel yang berbeda dapat hidup berdampingan dalam satu sistem. seperti yang ditunjukkan pada Gambar. Bagaimana mengembangkan sebuah implementasi yang efisien wilayah luas ruang tupel masih merupakan pertanyaan terbuka. adalah mungkin untuk bermigrasi ruang tupel ke server yang berbeda untuk meningkatkan kinerja. Terinspirasi oleh . akan selalu ada tepat satu mesin yang melihat kedua contoh tupel dan tupel template (C dalam contoh ini). Karena geometri. 13. 1998).. 1998) dan WCL (Rowstron dan Wray. kami juga skema yang relatif sederhana di mana ruang data seluruh bagian dinyatakan statis standar data set tunduk pada kebijakan tunggal (gigaspaces. Pendekatan ini mirip dengan menggunakan kuorum berbasis replikasi seperti yang kita bahas dalam Bab.2 replikasi dinamis Replikasi dalam sistem berbasis koordinasi umumnya terbatas pada kebijakan statis untuk aplikasi paralel seperti yang dibahas di atas. Setiap server Tupel-ruang bertanggung jawab untuk seluruh ruang tupel. Carrier dan Gelernter (1986) menggunakan metode ini untuk menerapkan ruang tupel Linda pada sebuah LAN. Dengan kata lain. atau menghapus satu. Dalam aplikasi komersial.

Distribusi dan replikasi tupel dalam gspace dilakukan untuk dua alasan yang berbeda: meningkatkan kinerja dan ketersediaan. yang kita bahas secara singkat dalam bagian ini.2006). dan seperti tupel yang berbeda dapat mengikuti kebijakan yang berbeda. dan mengambil antar muka. Gspace ikhtisar Gspace adalah sistem koordinasi berbasis terdistribusi yang dibangun di atas ruang java (rusello et al. Namun. setiap panggilan dijemput oleh handler doa lokal yang mendongak kebijakan yang harus diikuti untuk panggilan tertentu. menulis. Applicatio n Dataspaces slice Distribution manager Invocation handler Policy table Local OS Figure 13-15. Sebuah elemen kunci dalam pendekatan ini adalah pemisahan keprihatinan: tupel yang perlu direplikasi untuk ketersediaan mungkin perlu mengikuti strategi yang berbeda daripada yang digunakan kinerja yang dipertaruhkan. 2004. setiap aplikasi ditawarkan antar muka dengan membaca. arsitektur dari gspace telah dibentuk untuk mendukung berbagai kebijakan replikasi. diferensiasi ini didukung oleh GSpace. Internal Organization of a GSpace kernel Kerja utama relatif sederhana. Untuk alasan ini. mirip dengan apa yang ditawarkan oleh ruang java.replikasi fine-grained dari dokumen web di globul. Kebijakan dipilih berdasarkan .. peningkatan kinerja juga dapat dicapai saat replikasi membedakan antara berbagai jenis menyimpan data dalam sebuah ruang data.

dan juga. tetap global yang diterapkan untuk semua tupel dalam sebuah dataspace. menulis operasi mungkin mengharuskan pemain depan manajer distribusi update ke node master dan menunggu pengakuan sebelum melakukan operasi lokal. setiap kernel gspace memiliki dataspace lokal. sebuah operasi baca dapat dilakukan dengan segera membaca sebuah tuple dari dataspace lokal yang tersedia. yang diimplementasikan sebagai versi. Evaluasi kebijakan adalah yang terbaik untuk sebuah tupel tertentu dilakukan . bukan membiarkan sosok pengembang aplikasi menebak kombinasi kebijakan mana yang terbaik. Replikasi adaptif Namun. mirip dengan cara yang digunakan template untuk memilih tuple di lain Dataspaces berbagi berbasis java seperti yang kita diskusikan sebelumnya. penuh nondistributed dari javaspaces. Untuk tujuan ini. yang disebut slice. lebih baik membiarkan sistem memonitor pola akses dan perilaku dan kemudian mengadopsi kebijakan-kebijakan yang diperlukan. Hasil seleksi ini adalah referensi ke manajer distribusi. (2004). GSpace mengikuti pendekatan yang sama seperti di globul: secara berkesinambung mengukur latency bandwidth jaringan yang dikonsumsi. tempat tupel pada node yang berbeda dan memilih cara yang paling tepat untuk menjaga replika konsisten. manajer distribusi dapat diubah juga. Dalam arsitektur (yang beberapa komponen tidak ditampilkan untuk kejelasan). tapi sekarang bukan menurut kebijakan replikasi tertentu. deskriptor kebijakan dapat ditambahkan pada saat runtime. dengan kata lain. dan seperti yang ditunjukkan dalam al et rusello.jenis dan isi dari tupel / template yang dilewatkan sebagai bagian dari panggilan. Sebagai contoh. seperti fine-tuning memungkinkan untuk kinerja yang jauh lebih tinggi daripada yang dicapai dengan strategi. jika seorang master / slave kebijakan telah dilaksanakan. aspek yang paling penting dengan sistem seperti GSpaces adalah bahwa manajemen replikasi adalah otomatis. yang mengimplementasikan antarmuka yang sama. Pengaturan ini memungkinkan untuk tuning fine-grained dari distribusi dan replikasi tuple. Demikian juga. Setiap kebijakan diidentifikasi dengan template. dan memori penggunaan dan tergantung pada metrik ini dianggap paling penting. Akhirnya.

juga dapat menangani kebijakan transisi yang berbeda. 13. dalam banyak kasus. mari kita lihat lebih dekat pada kedua kasus.8 Toleransi Kesalahan Ketika mempertimbangkan bahwa toleransi kesalahan fundamental bagi setiap sistem terdistribusi. seperti halnya dengan komunikasi generatif. Sebagai gspace bertujuan untuk memisahkan mekanisme dari kebijakan sebaik mungkin. 13. Misalnya. Ketika middleware juga diharapkan untuk menyimpan item data. Sebuah aspek yang menarik adalah bahwa dari waktu ke waktu kami mungkin perlu untuk beralih dari satu kebijakan replikasi yang lain. Kasus umum untuk sementara membekukan semua usaha untuk jenis tertentu tuple. beberapa upaya dibayarkan untuk penyimpanan yang handal. komunikasi handal memainkan peran .dengan cara koordinator pusat yang hanya mengumpulkan jejak dari node yang merupakan sistem GSpaces. menghapus semua replika dan memasukkan kembali tuple ke dalam dataspace bersama tapi sekarang mengikuti kebijakan replikasi yang baru dipilih. yang pada dasarnya bermuara untuk menjamin komunikasi yang handal. tergantung pada kebijakan replikasi baru.1 komunikasi langganan publish yang dapat diandalkan Di dalam sistem berbasis koordinasi dimana item data yang diumumkan dicocokan hanya terhadap pelanggan hidup. perhatian berfokus pada keandalan efisien memastikan pengiriman data. Ada beberapa cara yang seperti transisi yang dapat berlangsung. Namun. ketika beralih dari bukan replikasi ke replikasi master/slave. termasuk dasar mempublikasikan / berlangganan sistem serta komunikasi generatif yang mendukung. agak mengejutkan betapa relatif sedikit perhatian telah dibayarkan kepada toleransi kesalahan dalam sistem koordinasi-berbasis. dengan cara yang berbeda untuk membuat transisi dapat dibuat (dan lebih murah).8. satu pendekatan bisa juga untuk menyalin tupel ke slave ketika mereka pertama kali diakses.

Yang dijelaskan dalam al et Speakman. Dibawah keadaan normal. Sebuah daemon yang telah terkirim bisa mendeteksi pesannya Yang Hilang dengan Melihat Nomor urutan (memanggil Pesan Yang dikirimkan ke semua daemon). jika daemon yang telah diterima meminta mengirimkan kembali pesan yang telah diterbitkan lebih dari 60 detik lalu. penerbitan dan aplikasi berlangganan akan diberitahu bahwa kesalahan komunikasi telah terjadi. Ada beberapa isu yang umumnya diurusi. Kedua. Bentuk komunikasi regular tidak Bisa mencegah pesan Masih Bisa Hilang. Pertama. daemon yang telah diterbitkan meminta untuk mengulang mengirimkan pesan kembali. TIB / pertemuan juga menyediakan multicasting handal menggunakan multicasting IP (yang tidak dapat diandalkan) sebagai sarana komunikasi yang mendasarinya. Skema ini diikuti dalam TIB / rendezvous adalah multicast level transport protokol dikenal sebagai pragmatis multicast Umum (PGM). Contoh: toleransi kesalahan dalam TIB / pertemuan TIB / pertemuan mengasumsikan fasilitas Komunikasi Dari jaringan yang mendasarinya secara inheren tidak dapat diandalkan. itu menjaga pesan setidaknya selama 60 detik. Ketika pesan hilang. Kesalahan penanganan ini kemudian diserahkan kepada aplikasi untuk menanganinya. proses toleransi kesalahan perlu ditangani. Banyak keandalan komunikasi dalam TIB / berdasarkan pertemuan kehandalan Dari ditawarkan oleh jaringan yang mendasarinya. PGM tidak memberikan jaminan keras bahwa ketika sebuah pesan multicast pada akhirnya akan dikirim ke setiap penerima. setiap kali bertemu menerbitkan daemon pesan ke daemon lain. Contohnya. Dalam hal ini. independen dari cara yang berbasis konten routing yang terjadi. Untuk mengkompensasi hal ini tidak dapat diandalkan. toleransi kesalahan Yang Sering di terapkan melewati pelaksanaan sistem multicast handal yang mendasari aktual mempublikasikan / berlangganan perangkat lunak. Gambar 13-16 (a) menunjukkan situasi di . daemon melekatkan nomor urutan (subjek independen) untuk pesan itu. daemon yang telah terbit umumnya tidak akan dapat membantu memulihkan pesan yang hilang. Ketika menerbitkan sebuah Pesan . (2001) kita akan membahas secara singkat PGM. Mari kita lihat bagaimana masalah tersebut dibahas dalam TIB / pertemuan. saluran multicast dapat diandalkan sudah diatur.penting.

ketika akhirnya memancarkan kembali pengirim pesan permintaan. hanya meneruskan NAK node ke node berikutnya menuju pengirim. Ukuran kedua diambil oleh PGM adalah untuk mengingat jalan melalui mana NAK suatu melintasi dari penerima ke pengirim. Jika tidak. Pertama. tetapi belum disampaikan kepada dua penerima. node yang mungkin dapat memiliki cache pesan yang diminta. PGM menjaga bahwa . upaya dilakukan untuk memastikan bahwa hanya satu mencapai NAK pengirim. (b) a router will pass only a single NAK for each message. seperti makan node. di mana titik itu akan menangani transmisi ulang tersebut. 8 ketika membahas isu-isu skalabilitas dalam multicasting yang handal. 13-16 (c). jika sebuah node intermediate menerima permintaan pengiriman ulang beberapa pesan yang sama persis.mana pesan telah dimulticast sepanjang pohon. hanya satu permintaan retransmission diteruskan menuju ke pengirim. sender Multicast tree PGM router Receivers missed Message (a) Send NACK (b) Only one NACK is forwarded Retransmission only to complaining receivers (c) Figure 13-16. Permintaan ini dikirim sepanjang reverse path di pohon multicast berakar pada pengirim. sehingga ledakan umpan balik dihindari. Kami sudah membahas masalah ini dalam bab. (a) A message is sent along a multicast tree. seperti yang ditunjukkan pada Gambar. the principle of PGM . (c) a message is retransmitted only to receivers that have asked for it cara ini. Pengirim pada akhirnya bertanggung jawab mentransmisi pesan PGM mengambil beberapa langkah untuk memberikan solusi yang scalable untuk multicasting yang handal. Seperti ditunjukan pada gambar (13-16(b). PGM bergantung pada receiver mendeteksi bahwa mereka telah kehilangan pesan yang mereka akan mengirim permintaan men transmit kembali (a NAK) ke pengirim.

maka ada kemungkinan untuk memberikan pengiriman pesan handal bahkan di hadapan kegagalan proses. Dalam hal ini. semua pesan yang hilang sampai sembuh lagi disimpan dalam buku besar pengirim. tujuan aktif diatur ke satu sehingga semua komunikasi dengan kelompok mengurangi ke berbasis protokol primer yang dibahas dalam bab 7 . Dalam mungkin hal ini. penerima dimana pesan telah berhasil dikirim tidak terganggu oleh transmisi ulang oleh orang yang tidak memintanya. sebuah proses aktif biasanya merespon semua pesan yang masuk. yang disebut buku besar. Sebuah proses yang ingin menerima pesan bersertifikat mendaftarkan diri dengan pengirim pesan tersebut. Dalam konteks ini. Setelah pemulihan. TIB / Rendezvous menyediakan reliabilitas lebih lanjut dengan cara pengiriman pesan bersertifikat. yang disebut tujuan aktif kelompok. Proses dapat diatur dalam kelompok. Ketika buku diimplementasikan sebagai file. Saluran ini memiliki fasilitas yang terkait. dengan setiap proses memiliki peringkat unik yang terkait dengan itu. penerima hanya mengontak buku dan permintaan pesan yang terlewatkan untuk dipancarkan kembali. sementara yang tidak aktif. Akibatnya. TIB / Rendezvous akan mencoba untuk memiliki nomor khusus kelompokproses yang aktif.pesan multicast hanya untuk orang-orang penerima yang telah meminta pengiriman ulang. TIB / Rendezvous menyediakan kesederhanaan maksudnya untuk proses otomatis aktif atau menonaktifkan. Untuk setiap kelompok. ketika proses craches menerima. Pangkat proses ditentukan oleh (tugas manual) yang berat. tetapi tidak ada dua proses di grup yang sama mungkin memiliki peringkat yang sama. suatu proses yang tidak aktif adalah sebuah proses yang berjalan yang hanya dapat menangani acara khusus seperti yang kita jelaskan sebentar lagi. Untuk mengaktifkan masking kegagalan proses. Akibatnya. pendaftaran memungkinkan saluran untuk menangani masalah keandalan lebih lanjut yang daemon pertemuan memberikan dukungan tidak. Selain skema keandalan dasar dan multicasting handal melalui PGM. Untuk melacak pesan bersertifikat yang dikirim dan diterima. proses menggunakan saluran komunikasi khusus untuk mengirim atau menerima pesan. Sebagai contoh. Sebagian besar masalah ini tersembunyi dari aplikasi dan akan ditangani oleh pelaksanaan saluran.

Aktivasi dilakukan dengan sebuah panggilan balik untuk operasi tindakan bahwa setiap anggota kelompok diharapkan untuk melaksanakan. setiap node menghitung ketersediaan. dan waktu ketika turun. ketersediaan dihitung dari segi waktu berarti kegagalan (MTTF) dan waktu rata-rata untuk perbaikan (MTTR): . Untuk tetap konsisten dengan proses aktif. Dalam kasus tersebut. menyebarkan dasarnya mekanisme yang sama menggunakan untuk meningkatkan kinerja melalui replikasi. Untuk menghitung ketersediaannya.). sebuah node secara teratur menulis timestamp untuk penyimpanan persisten. tidak bahwa skema ini mirip dengan replikasi aktif. yang memungkinkan untuk menghitung waktu ketika sudah habis. Untuk tujuan ini. solusi sering dapat menjadi begitu tidak efisien yang hanya implementasi terpusat yang layak. tetapi tidak ada reaksi yang menegaskan diterbitkan. yaitu yang digunakan dalam perhitungan ketersediaan item (direplikasi) data tunggal (Russello et al. 2006. dalam kombinasi dengan checkpointing. segera setelah toleransi kesalahan perlu dimasukkan dalam Dataspaces bersama. middleware akan secara otomatis mengaktifkan proses peringkat tertinggi yang saat ini tidak aktif. 13. Alternatif adalah untuk menyebarkan replikasi lebih agresif dengan menempatkan salinan item data di berbagai mesin.Suatu proses yang aktif secara teratur mengirim pesan ke semua anggota lain dalam kelompok untuk mengumumkan bahwa masih berdiri dan berjalan. peringkat terendah-proses yang sedang aktif akan secara otomatis dinonaktifkan. Lebih tepatnya. Selanjutnya. Suatu pendekatan sederhana adalah membiarkan proses aktif berlangganan ke pesan yang sama seperti anggota kelompok lainnya. terutama menggunakan server pusat yang didukung yang tidak menggunakan protokol primer-backup sederhana.2 toleransi kesalahan di dalam dataspaces bersama Ketika menangani komunikasi Artikel Baru generatif. solusi tradisional diterapkan.8. langkah-langkah khusus perlu diambil oleh proses tidak aktif sebelum dapat menjadi aktif. hal-hal menjadi lebih rumit. Pendekatan ini telah diadopsi di GSpace. Sebagaimana juga dicatat dalam TOlksdorf dan Rowstron (2000). Setiap kali seperti pesan detak jantung yang hilang. pada saat proses sebelumnya dipulih kembali dan menjadi aktif. Sebuah pesan yang masuk diproses seperti biasa.

setiap jenis item data memiliki node utama terkait yang bertanggung jawab untuk komputasi yang sejenis itu. Juga. serta orangorang dari semua node. ketersediaan perusahaan dihitung dengan mempertimbangkan ketersediaan a1 dari masing-masing node m mengarah ke: Dengan hanya mengambil ketersediaan sebuah item data ke dalam account. juga memungkinkan untuk mengambil hanya crash terakhir N ke akun. utama dapat menghitung penempatan optimal untuk sebuah item . bukannya mengambil rata-rata sejak awal. seperti ditunjukkan pada Gambar.Untuk menghitung MTTF dan MTTR. 13-17. Hal ini akan memungkinkan untuk menghitung rata-rata untuk waktu antar kerusakan. Namun. Time to failure Time to repair Gambar 13-17. yang menyebabkan ketersediaan: Perhatikan bahwa perlu untuk secara teratur log cap waktu dan yang dapat diambil hanya sebagai perkiraan terbaik saat kecelakaan terjadi. ketersediaan dihitung sehingga akan menjadi pesimis. karena waktu aktual yang simpul jatuh untuk kali k akan sedikit lebih dari . The timeline of node experiencing failures Dalam Gspaces. Mengingat bahwa item data direplikasi di node m. sebuah node hanya melihat cap waktu login.

tidak perlu bahwa klien harus mempercayai semua broker yang terdiri dari sistem. Proses Klien kemudian akan menghubungi broker. Salah satu pendekatan umum adalah untuk mengatur jaringan broker yang menangani pengolahan data dan langganan. Di satu sisi kita telah menyatakan bahwa proses harus referentially dipisahkan. . seperti yang akan kita lihat nanti. dengan membedakan antara jenis broker. Selain itu. Untuk mengatasi masalah ini ada pendekatan yang berbeda. Namun. proses Klien kemudian akan menghubungi broker.9 KEAMANAN Keamanan dalam sistem koordinasi berbasis menimbulkan masalah yang sulit. keamanan ini biasanya dilakukan melalui saluran aman (multicast). Sekarang kita akan melihat lebih dekat masalah ini. SISTEM TERDISTRIBUSI BERBASI KORDINASI Mengatasi masalah ini ada pendekatan yang berbeda. (2002). seperti penggunaan bandwitch dan beban CPU. otorisasi secara alami diterjemahkan menjadi masalah kerahasiaan. juga dapat mengambil faktor-faktor lain ke account. Salah satu pendekatan umum adalah untuk mendirikan sebuah jaringan yang rusak yang menangani pengolahan data dan langganan. Dengan sifat koordinasi data. yang secara efektif memerlukan pengirim dan penerima dapat mengotentikasi satu sama lain.data yang akan memenuhi persyaratan ketersediaan item data. Namun. mengikuti diskusi yang disajikan pada wang et al. Perhatikan bahwa penempatan dapat berubah dari waktu ke waktu jika faktor-faktor ini berfluktuasi. yang kemudian mengurus otentikasi dan otorisasi. seperti yang akan kita lihat nanti. namun di sisi lain kita juga harus menjamin integritas dan kerahasiaan data. Pengesahan tersebut melanggar decoupling referensial. Perhatikan bahwa pendekatan semacam ini memerlukan bahwa kepercayaan klien broker. Perhatikan bahwa pendekatan semacam ini memerlukan bahwa kepercayaan klien broker. 13. yang kemudian mengurus otentikasi dan otorisasi.

Untuk memungkinkan untuk konten berbasis routing. Dalam hal ini. Lebih bermasalah adalah kasus ketika tidak ada bidang dapat diungkapkan dengan middleware pada plaintext. Sekarang kita akan melihat lebih dekat masalah ini. Untuk tujuan ini. adalah mungkin untuk menyebarkan kerahasiaan parsial. Khurana dan Kovela (2006) mengusulkan untuk menggunakan skema enkripsi perbidang yang diperkenalkan pada Betino Dan Ferrari (2002). itu tidak perlu bahwa klien harus mempercayai semua broker yang terdiri dari sistem. 13. field alamat yang akan dienkripsi. otorisasi secara alami diterjemahkan menjadi masalah kerahasiaan. sedangkan substrat routing hanya melihat sumber dan alamat tujuan. langganan perlu dikodekan sedemikian rupa sehingga pencocokan sebagian dapat terjadi. data mengenai real estate mungkin perlu dikirim antara agen dari kantor yang sama dengan cabang-cabang di lokasi yang berbeda.9. mengikuti diskusi yang disajikan pada wang ****( 2002). Dengan sifat koordinasi data. ini melanggar decoupling referensial. Yang menimbulkan masalah kerahasiaan informasi yang mengacu pada kenyataan bahwa kadang-kadang penting untuk tidak mengizinkan middleware untuk memeriksa data yang dipublikasikan. Misalnya. kemungkinan pada basis per-bidang. Tanpa bisa melakukannya. sedangkan deskripsi properti bisa diterbitkan dalam jelas. tetapi kita akan membahas solusi potensial untuk masalah ini nanti. Satu-satunya solusi yang tersisa adalah bahwa konten berbasis routing terjadi pada data dienkripsi. Masalah ini dapat dielakkan melalui enkripsi end-to-end. para agen termasuk dalam cabang yang sama akan berbagi kunci rahasia untuk mendekripsi field alamat. Jika menerbitkan data item yang terstruktur dalam arti bahwa setiap item berisi berbagai bidang. tetapi tanpa mengungkapkan alamat yang tepat dari properti. Sebagai router bisa melihat data hanya dienkripsi.1 Kerahasiaan Salah satu perbedaan penting antara sistem distribusi cukup banyak dan koordinasi yang berbasis bahwa untuk memberikan efisiensi. Tentu saja. middleware dapat dasarnya hanya banjir data untuk semua pelanggan potensial.Dengan membedakan antara jenis broker. Perhatikan bahwa sebagian adalah . middleware perlu memeriksa isi data yang diterbitkan.

memberikan skema yang efisien dapat dibuat untuk mewakili interval.dasar bahwa pengguna router untuk menentukan link keluar sebuah item data yang dipublikasikan harus untuk sipir di. Salah satu masalah adalah bahwa jika per-bidang enkripsi yang digunakan. Masalah ini sangat dekat dengan query dan mencari melalui data dienkripsi. sesuatu yang jelas tidak mungkin untuk dicapai. yang dapat direpresentasikan sebagai bentuk terenkripsi dari konstituen tersebut dan membiarkan router memeriksa keanggotaan. kontrol ini dapat diberikan out-of-band pada tingkat penerbitan dan aplikasi berlangganan. menjadi jauh lebih mudah untuk mencari tahu apa data adalah semua tentang. penerbit mungkin ingin membatasi secara eksplisit kelompok pelanggan mungkin. mempertahankan tingkat tinggi kerahasiaan sementara masih menawarkan kinerja wajar dikenal sangat sulit (Kantarcioglu dan Clifton 2005). seperti juga yang disarankan oleh Raiciu dan Rosenblum (2005). mungkin nyaman bahwa middleware menawarkan layanan untuk menangani kontrol akses tersebut. Dalam kasus skema pengalamatan berbasis subjek. Karena ternyata. Pencocokan sebagian dapat ditampung dalam kasus senyawa kunci-kata. kerahasiaan publikasi juga masalah. Dalam hal ini. yang pada dasarnya duduk antara klien (penerbit dan pelanggan) dan aktual . Sebuah solusi potensial dibahas dalam Li et al. Dalam banyak kasus. kita menyentuh pada mekanisme kontrol akses tradisional di mana proses tertentu yang seharusnya tidak diizinkan untuk melihat pesan tertentu. yang mengacu pada fakta bahwa langganan mungkin tidak diungkapkan untuk middleware baik. Decoupling penerbit dari Pelanggan Jika diperlukan untuk melindungi data dan langganan dari Khurana middleware dan Koleva (2006) mengusulkan untuk memanfaatkan layanan akuntansi khusus (AS). Setelah bekerja dengan data dienkripsi juga membawa masalah kerahasiaan langganan. Akhirnya. Dalam hal demikian. bahkan dimungkinkan untuk mendukung berbagai pertanyaan. Ternyata. (2004a). Namun. satu solusi adalah dengan hanya menggunakan enkripsi per bidang dan menerapkan pencocokan secara lapangan-dengan-lapangan yang ketat.

sekali pesan harus disampaikan ke pelanggan. . yaitu. Ketika register pelanggan. AS menjaga kunci pribadi terkait dengan dirinya sendiri. dan yang ditandatangani oleh AS. Item Data diasumsikan mengandung lapangan yang telah dienkripsi. router meneruskannya ke layanan akuntansi mana itu berubah menjadi sebuah pesan bahwa pelanggan hanya dapat mendekripsi. Pemain depan broker informasi pendaftaran ke layanan akuntansi yang kemudian menghasilkan sebuah kunci publik yang akan digunakan oleh penerbit. Figure 13. Hal ini diperlukan untuk melalui fase otentikasi terpisah untuk memastikan bahwa pelanggan hanya sah mendaftar. 13-18. Decoupling penerbit dari pelanggan menggunakan layanan tambahan terpercaya terpercaya.mempublikasikan / berlangganan middleware. Sebagai contoh. Untuk memungkinkan untuk dekripsi. broker umumnya harus tidak diizinkan untuk berlangganan data dipublikasikan. di broker. Skema ini menunjukkan pada gambar. pelanggan mendaftarkan minat mereka dalam item data tertentu. Sebuah penerbit register itu sendiri pada setiap node jaringan mempublikasikan / berlangganan. yang kemudian disalurkan seperti biasa. Tentu saja. Dalam skema mereka. Ide dasarnya adalah untuk memisahkan penerbit dari pelanggan tetap menyediakan kerahasiaan informasi. menyediakan kunci enkripsi yang diteruskan oleh broker.18.

10 RINGKASAN . Tentu saja. memperluas bahwa server dengan mekanisme otentikasi dan otorisasi seringkali merupakan pendekatan dalam praktek. sangat penting bahwa akuntansi servis itu sendiri dapat skala. Salah satu masalah utama dengan pendekatan ini adalah bahwa kunci mungkin perlu dibagi antara penerbit dan pelanggan. jika Dataspaces bersama dipercaya (ic. Pendekatan ini dijelaskan dalam vitek et al (2003). hal-hal menjadi lebih sederhana. tetapi satu pendekatan yang masuk akal adalah untuk memperkenalkan alam dalam cara yangyang sama Kerberos tidak . penerbit dan pelanggan tidak perlu berbagi informasi kunci. Ketika item data tiba di broker yang ingin mengirimkannya kepada pelanggan. itu bidang kritis akan telah dienkripsi oleh penerbit. Untuk informasi rinci. 13. proses pelaksanaan Dataspaces diijinkan untuk melihat isi tupel). Tentu saja. permintaan mantan AS untuk mengubah pesan dengan pertama decrypting.Mengabaikan banyak detail.9. Dengan cara ini. Pendekatan yang umum adalah untuk hanya mengenkripsi bidang item data dan membiarkan pencocokan dilakukan hanya ketika dekripsi berhasil dan sesuai isi dengan berlangganan. sementara pada saat yang sama. dan kemudian mengenkripsi dengan kunci yang diberikan oleh pelanggan. Menimbang bahwa sebagian besar implementasi menggunakan hanya satu server tunggal. Dalam hal ini. Berbagai upaya dapat diambil. 2006). para broker tidak akan pernah bisa tahu tentang konten yang harus dirahasiakan.2 Aman Berbagi Dataspace Sangat sedikit pekerjaan yang telah dilakukan ketika datang untuk membuat bersama Dataspaces aman. ketika sebuah item data yang dipublikasikan. pesan dengan cara transmisi perlu diubah oleh re-encrypting mereka menggunakan kunci publik jasa akuntansi asing. atau bahwa kunci dekripsi dari penerbit harus diketahui untuk pelanggan yang berwenang. 13. kita lihat pembaca tertarik untuk (Khurana dan Koleva.

Jika pertandingan tidak dapat ditemukan. yang mengambil pelanggan dapat merumuskan predikat atas atribut item data dipublikasikan.Koordinasi sistem terdistribusi berbasis memainkan peran penting dalam membangun aplikasi terdistribusi. suatu proses yang menentukan apa yang sedang mencari dengan menyediakan tupel template. Lebih canggih adalah sistem menggunakan komunikasi generatif. Sebuah kelompok penting dari sistem koordinasi berbasis dibentuk oleh sistemsistem yang mengikuti mempublikasikan / berlangganan paradigma seperti yang dilakukan di TIB / Rendezvous. adalah penting bahwa router dapat memasang filter seperti yang diterbitkan data diteruskan hanya di link tersebut keluar yang diketahui bahwa ada pelanggan. Untuk membaca sebuah tuple dari ruang tuple. Sebagian besar dari sistem ini fokus pada uncoupling referensial proses. middleware akan menjaga bahwa pesan yang dikirimkan dari penerbit untuk pelanggan. tetapi ditangani oleh subjek. kita berhadapan dengan berbasis konten mempublikasikan / berlangganan sistem. yang berarti bahwa proses tidak perlu secara eksplisit merujuk kepada satu sama lain untuk mengaktifkan komunikasi. Tuple adalah struktur data diketik serupa untuk merekam. Keuntungan utama dari pendekatan ini adalah fleksibilitas karena menjadi lebih mudah untuk memperpanjang atau mengubah sistem sementara itu terus beroperasi. juga memungkinkan untuk memberikan decoupling temporal dimana proses tidak harus hidup berdampingan untuk berkomunikasi. Dalam hal demikian. Proses yang ingin menerima pesan harus berlangganan untuk subyek tertentu. blok proses. Selain itu. Untuk efisiensi. . yang berlangsung dengan cara dataspace bersama tuple. komunikasi dapat terus dengan cara anonim. Dalam model ini. pesan tidak membawa alamat penerima mereka (s). Selain itu. Kelompok lain sistem koordinasi berbasis menggunakan komunikasi generatif. Sebuah tuple yang cocok dengan yang template kemudian dipilih dan kembali ke proses meminta. Koordinasi sistem berbasis berbeda dari banyak sistem terdistribusi lain di bahwa mereka berkonsentrasi penuh pada penyediaan cara yang mudah untuk proses untuk berkomunikasi tanpa mengenal satu sama lain terlebih dahulu.

Bermasalah adalah dukungan untuk keamanan. Asumsikan proses digandakan di sistem / TIB Rendezvous. kita mungkin dihadapkan dengan masalah manajemen yang serius. Garis Besar implementasi sederhana untuk pengiriman pesan benar-benarmemerintahkan dalam sistem / TIB Rendezvous. 4. Garis besar pelaksanaan mempublikasikan / berlangganan sistem yang didasarkan pada sistem pesan-antrian seperti itu dari IBM WebSphere. 4? 2. Masalah ini semakin diperburuk ketika middleware harus terlindung dari isi data yang diterbitkan. Gambarkan skema sederhana untuk PGM yang akan memungkinkan penerima untuk mendeteksi pesan-pesan yang hilang. 3. Berikan dua solusi untuk menghindari sehingga pesan dari proses direplikasi tidak dipublikasikan lebih dari sekali. Dalam berbasis konten routing seperti yang digunakan dalam sistem *****. Yang masalah adalah bahwa? 7. . Dalam audisi penamaan adalah sangat terkait dengan atribut berbasis pencarian yang didukung oleh layanan direktori. PERMASALAHAN 1. yang kita digambarkan dalam teks. Sejauh mana kita perlu benar-benar-memerintahkan multicasting ketika proses direplikasi dalam sistem / TIB Rendezvous? 9. 6. Untuk apa itu surai subjek dalam TIB / Rendezvous benar-benar diselesaikan. dan bagaimana resolusi nama terjadi? 5. karena pada dasarnya melanggar decoupling antara penerbit dan pelanggan. bahkan yang terakhir dalam seri. meskipun caching dan replikasi memainkan peranan kurang menonjol dalam implementasi saat ini.Prinsip-prinsip sistem terdistribusi seperti yang dijelaskan dalam bagian pertama buku ini berlaku juga untuk sistem koordinasi-berbasis. Jelaskan mengapa sistem koordinasi berbasis desentralisasi memiliki masalah skalabilitas yang melekat. 8. Apa jenis model koordinasi yang akan Anda mengklasifikasikan sistem pesanantrian dibahas dalam Bab. sehingga jauh lebih sulit untuk memberikan solusi yang efisien.

pendekatan ini mungkin melanggar tujuan desain awal sistem koordinasi-ber .10. Mengapa hal ini dilakukan? 12. Berikan protokol untuk menghapus tuple seperti kondisi ras dihindari ketika dua proses mencoba untuk menghapus tuple yang sama. Bagaimana model koordinasi yang didasarkan pada komunikasi generatif diterapkan di TIB / Rendezvous? 11. Misalkan transaksi T dalam Jini membutuhkan kunci pada objek yang sedang dikunci oleh transaksi lain 'T. Pertimbangkan implementasi didistribusikan dari JavaSpace di mana tupel adalah direplikasi di beberapa mesin. Dalam beberapa subjek berbasis mempublikasikan / berlangganan sistem. tapi sekarang untuk kasus yang cache klien hasil yang dikembalikan oleh sebuah layanan pencarian. Masa sewa guna usaha di jin selalu ditetapkan sebagai durasi dan bukan sebagai waktu mutlak di mana sewa berakhir. Apakah caching ini masuk akal? 16. Apakah masalah skalabilitas yang paling penting dalam Jini? 13. Garis Besar implementasi sederhana dari sebuah JavaSpace fault-tolerant. 14. 17. Jelaskan apa yang terjadi? 15. Jawab pertanyaan sebelumnya. solusi aman dicari di enkripsi end-to-end antara penerbit dan pelanggan. Misalkan suatu cache klien jini tupel yang diperoleh dari JavaSpace sehingga dapat menghindari keharusan pergi pada JavaSpace waktu berikutnya. Namun.

Sign up to vote on this title
UsefulNot useful