Sistem Terdistribusi Berbasis Kordinasi

download Sistem Terdistribusi Berbasis Kordinasi

of 44

Transcript of Sistem Terdistribusi Berbasis Kordinasi

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.

Kita sekarang dihadapkan dengan situasi di mana langganan harus dicocokkan item data, seperti ditunjukkan pada Gambar. 13-2. Ketika pencocokan berhasil, ada dua skenario yang mungkin. Dalam kasus pertama, middleware dapat memutuskan untuk meneruskan data yang diterbitkan untuk mengatur saat ini dari pelanggan, yaitu, proses dengan berlangganan cocok.Sebagai alternatif, middleware juga dapat mengajukan pemberitahuan titik mana pelanggan ca melaksanakan operasi membaca untuk mengambil item data yang diterbitkan.

Gambar 13-2 prinsip pertukaran data antara penerbit item dan pelanggan.

Dalam kasus-kasus di mana data item yang segera diteruskan ke pelanggan, middleware umumnya tidak akan menawarkan penyimpanan data. Penyimpanan adalah baik secara eksplisit ditangani oleh layanan yang terpisah, atau tanggung jawab pelanggan. Dengan kata lain, kami memiliki sistem referentially dipisahkan, tetapi temporal ditambah. Situasi ini berbeda ketika pemberitahuan dikirim sehingga pelanggan perlu secara eksplisit membaca data yang diterbitkan. Tentu, middleware akan memiliki untuk menyimpan item data. Dalam situasi ini ada operasi tambahan untuk pengelolaan data.Hal ini juga mungkin untuk melampirkan kontrak untuk item data tersebut bahwa ketika sewa berakhir bahwa item data secara otomatis delleted.

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

13.2.2 Arsitektur Tradisional

Solusi yang paling sederhana untuk pencocokan item data terhadap langganan adalah memiliki arsitektur client-server terpusat. Ini adalah solusi yang khas saat ini diadopsi oleh banyak mempublikasikan / berlangganan sistem. Termasuk IBM WebSphere (IBM, 2005c) dan implementasi populer untuk Sun JMS (Sun Microsystems 2004a). Demikian pula, implementasi untuk model yang lebih rumit komunikasi generatif seperti Jini (Sun Microsystems, 2005b) dan JavaSpaces (Freeman dkk,. 1999) yang sebagian besar didasarkan pada server pusat. Mari kita lihat dua contoh khas.

Contoh: Jini dan JavaSpaces

Jini adalah sistem terdistribusi yang terdiri dari campuran elemen yang berbeda tetapi terkait. Hal ini sangat terkait dengan bahasa pemrograman Java, meskipun banyak prinsip yang dapat diterapkan sama baiknya dalam bahasa lain. Suatu bagian penting dari sistem dibentuk oleh model model koordinasi untuk komunikasi generatif. Jini Menyediakan decoupling temporal dan referensial proses melalui sistem koordinasi yang disebut JavaSpaces (Freeman dkk., 1999), berasal dari Linda. JavaSpace adalah dataspace bersama yang menyimpan tupel mewakili satu set diketik refereces ke obyek Jawa. Beberapa javaSpaces dapat hidup berdampingan dalam sistem Jini tunggal. Tuple disimpan dalam bentuk serial. Dengan kata lain, setiap kali sebuah proses ingin menyimpan sebuah tuple, tupel yang pertama mengerahkan, menyiratkan bahwa semua field yang mengerahkan juga. Akibatnya, ketika sebuah tuple berisi dua bidang yang berbeda yang merujuk ke objek yang sama. Para tuple sebagai disimpan dalam implementasi JavaSpace akan terus mengerahkan dua salinan objek itu.

Tupel adalah dimasukkan ke dalam JavaSpace dengan cara menulis operasi, yang pertama marsekal tupel sebelum menyimpannya. Setiap kali menulis operasi disebut pada sebuah tuple, salinan lain mengerahkan tupel yang disimpan dalam JavaSpace, seperti ditunjukkan pada Gambar. 13-3. Kita akan menyebut setiap salinan mengerahkan sebagai contoh tupel.

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. Untuk membaca contoh tupel, proses memberikan tupel lain yang menggunakan sebagai template untuk pencocokan contoh tuple sebagai disimpan dalam sebuah JavaSpace. Seperti tupel lain, tupel template satu set referensi jenis objek. Contoh tupel Hanya dari jenis yang sama sebagai template dapat dibaca dari JavaSpace, A lapangan di tupel template yang baik berisi referensi ke objek yang sebenarnya atau berisi nilai NULL. Sebagai contoh, perhatikan kelas

Class public Tuple implements Entry { Public Integer id, value; Public Tuple(Integer id, Integer value){this.id = id; this.value = value} }

Then a template declared as

Tuple template =new Tuple(null, new Integer(42)) Will match the tuple Tuple item = new Tuple(MyName, new Integer(42))

Untuk pertandingan misalnya tuple dalam aJavaSpace againsr tupel template, nantinya sudah mengerahkan seperti biasa, termasuk bidang NULL nya. Untuk setiap contoh tupel dari jenis yang sama sebagai template, sebuah perbandingan dengan lapangan-lapangan dibuat dengan tupel template. Dua bidang cocok jika mereka berdua memiliki acopy dari referensi yang sama atau jika lapangan di tupel template NULL. Sebuah contoh tupel template yang cocok dengan tupel jika ada jika cocok berpasangan bidang masing-masing. Ketika contoh tupel ditemukan yang cocok dengan template yang memberikan tupel sebagai bagian dari operasi baca. Itu misalnya tuple unmarshaled dan kembali ke proses membaca. Ada juga sebuah operasi mengambil tambahan operasi menghilangkan blok contoh tupel dari JavaSpace cocok

tersebut. Kedua

pemanggil

sampai

tupel

yang

ditemukan. Hal ini dimungkinkan untuk menentukan waktu memblokir maksimal. Selain itu, ada varian yang hanya kembali segera jika tidak ada tupel yang cocok ada. Proses yang menggunakan JavaSpaces tidak perlu hidup berdampingan pada waktu yang sama. Bahkan, jika JavaSpace adalah diimplementasikan

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

Contoh: TIB / Rendezvous

Sebuah solusi alternatif untuk menggunakan server pusat untuk segera menyebarkan item data yang diterbitkan ke pelanggan yang tepat dengan

menggunakan multicasting.Prinsip ini digunakan dalam TIB / Rendezvous, yang arsitektur dasar ditunjukkan dalam Gambar 13-4 (TIBCO. 2005) Dalam item data approach.a adalah pesan ditandai dengan kata kunci yang menjelaskan konten senyawa, seperti news.comp. os.books.Sebagai pelanggan menyediakan (bagian dari) kata kunci, atau menunjukkan pesan yang ingin menerima, seperti buku news.comp .*.. Kata kunci ini dikatakan untuk menunjukkan subjek pesan. Mendasar untuk pelaksanaannya adalah penggunaan penyiaran umum di lokal area jaringan, meskipun juga menggunakan fasilitas komunikasi yang lebih efisien bila memungkinkan.

Gambar 13- 4. Prinsip dari sistem mempublikasikan / berlangganan seperti yang diterapkan dalam TIB / Rendezvous.

Sebagai contoh, jika diketahui persis di mana pelanggan berada, pointto-point pesan umumnya akan digunakan. Setiap host pada jaringan tersebut akan menjalankan daemon pertemuan, yang mengurus bahwa pesan yang dikirim dan dikirim sesuai dengan subjek mereka. Setiap kali sebuah pesan diterbitkan. Ini adalah multicast untuk setiap host pada jaringan menjalankan daemon pertemuan. Biasanya, multicasting diimplementasikan menggunakan

fasilitas yang ditawarkan oleh jaringan yang mendasari, seperti multicasting IP atau penyiaran perangkat keras.

Proses yang berlangganan subjek lulus langganan mereka untuk daemon lokal mereka.Daemon membangun sebuah tabel (proses, subjek), entri dan setiap kali pesan tiba pada subjek S, daemon hanya memeriksa dalam tabel untuk pelanggan lokal, dan meneruskan pesan ke masing-masing. Jika tidak ada pelanggan untuk S, pesan tersebut akan dibuang segera. Bila menggunakan multicasting seperti yang dilakukan di TIB / Rendezvous, tidak ada alasan mengapa subcriptions tidak dapat rumit dan lebih dari perbandingan string seperti saat ini terjadi. Pengamatan penting di sini adalah bahwa karena pesan akan diteruskan ke setiap node pula, pencocokan berpotensi kompleks data yang diterbitkan terhadap langganan dapat dilakukan sepenuhnya secara lokal tanpa komunikasi jaringan lebih lanjut. Namun, sepertiyang akan kita bicarakan kemudian, aturan perbandingan sederhana yang diperlukan setiap kali pencocokan seluruh jaringan yang luas diperlukan.

13.2.3 Peer-to-peer Arsitektur

Arsitektur tradisional diikuti oleh kebanyakan sistem koordinasi-berbasis menderita masalah skalabilitas (meskipun vendor komersial mereka akan menyatakan otherwhise) Jelas,. Memiliki server pusat untuk pencocokan langganan data yang dipublikasikan tidak dapat skala melampaui beberapa ratus clients.Likewise,

menggunakan multicasting membutuhkan khusus langkah-langkah untuk melampaui ranah lokal area networks.Moreover, jika skalabilitas harus dijamin, pembatasan lebih lanjut mengenai langganan menggambarkan dan item data mungkin diperlukan. Banyak penelitian telah dihabiskan untuk mewujudkan koordinasi sistem berbasis menggunakan peer-to-peer keluar technology.Straightforward implementasi bagi kasus di

mana kata kunci yang digunakan, karena ini dapat hash untuk pengidentifikasi unik untuk pendekatan data.This diterbitkan juga telah digunakan untuk pemetaan (atribut, nilai) pasang untuk identifiers.In kasus ini, cocok untuk mengurangi lookup langsung dari indentifier, yang dapat effienciently diimplementasikan dalam pendekatan system.This DHT berbasis bekerja dengan baik untuk lebih konvensional mempublikasikan / berlangganan sistem seperti yang digambarkan oleh Tam dan Jacobsen (2003), tetapi juga untuk komunikasi generatif (Bustet al., 2004) Hal-hal menjadi rumit untuk lebih diuraikan pencocokan schemes.Notoriusly sulit adalah kasus di mana rentang perlu didukung dan hanya sangat sedikit usulan exist.In following.we mendiskusikan satu proposal tersebut, dirancang oleh salah satu penulis dan rekan-rekannya (Voulgaris et al, 2006).

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.for number.such, ...... mengapung, bilangan bulat, enumerations , boolean, dan string. Sebuah subcription s mengambil bentuk tupel (atribut, nilai / rentang) pairs.such sebagai

s = 3.0. a4 -> [0,0. 0,5)>

Dalam exaple ini, s menetapkan bahwa a1 harus sama dengan 3,0 dan a4 harus terletak pada interval [0.0,0.5) atribut lain diperbolehkan untuk mengambil pada setiap kejelasan value.For., Menganggap bahwa setiap node hanya saya memasuki s1 berlangganan. Perhatikan bahwa setiap s1 berlangganan sebenarnya menetapkan sebuah int subset S1 ruang dimensi N floating-point numbers.Such subset juga disebut hyperspace.For sistem secara awhole, hanya data yang dipublikasikan yang deskripsi jatuh di S serikat = Osi ini hyperspaces adalah seluruh ide interest.the adalah untuk secara otomatis partisi S ke M menguraikan hyperspaces S1 ...... SM seperti bahwa setiap jatuh

sepenuhnya dalam salah satu hyperspaces berlangganan S1 dan bersama-sama mereka ciover subscriptions.More semua formallly, kita mendapati bahwa

(Sm

Si) => (Sm si C)

Terlebih lagi, sistem terus M minimal dalam arti bahwa ada tidak dalam partitiening dengan bagian-bagian yang lebih sedikit Sm. Seluruh ide untuk mendaftar, untuk setiap Sm hyperspace persis mereka node i yang Sm C S1.In bahwa kasus ketika item daa diterbitkan , sistem hanya butuh menemukan Sm yang item yang belongs.from mana titik itu dapat meneruskan item ke node yang terkait. Untuk tujuan ini, node pertukaran langganan teratur menggunakan epidemi protocol.If dua node i dan j masing-masing melihat bahwa langganan intersect.that adalah Sij Si O Sj mereka akan merekam fakta ini dan terus refrences untuk setiap other.If Sk O, tiga dari mereka akan

mereka temukan k simpul ketiga dengan Sijk - Sij

menghubungkan satu sama lain sehingga item data d dari Sijk dapat efisien disseminated.Note bahwa jika Sij - Sijk O, node i dan j milik kelompok yang sama jika dan hanya jika langganan mereka Si dan Sj intersect.Moreover, node dalam kelompok yang sama harus diatur dalam suatu jaringan overlay yang akan memungkinkan efisien penyebaran item data dalam hyperscape associatted dengan situasi group. ini untuk satu atribut adalah Sketsa pada Gambar 13-5.

Gambar 13-5. Pengelompokan node untuk mendukung berbagai query secara peer-topermempublikasikan / berlangganan sistem.

Di sini, kita melihat total tujuh node di mana garis horizontal untuk node i indiscates jangkauan jika bunga cemara nilai attribute.Also sibgle ditampilkan adalah pengelompokan node ke dalam rentang menguraikan kepentingan untuk nilai dari contoh attributte.For , NPDES 3,4,7 dan 10 akan dikelompokkan bersama-sama mewakili interval [16.5,21.0] Setiap item data dengan nilai dalam rentang ini harus disebarluaskan hanya empat node.. Untuk contruct kelompok ini, node diorganisir ke dalam gosip simpul network.Each terstruktur berbasis menyimpan daftar referensi untuk tetangga lainnya (yaitu, pandangan parsial), yang periodacally pertukaran dengan salah satu tetangganya seperti yang dijelaskan dalam Chap.2. seperti pertukaran akan memungkinkan sebuah node node lain belajar tentang acak di node system.Every melacak node ia menemukan dengan interes yang tumpang tindih (yaitu, dengan berlangganan berpotongan).

Pada saat tertentu, setiap node saya umumnya akan memiliki referensi ke node lain dengan tumpang tindih bagian interest.As bertukar informasi dengan simpul j, node i perintah node ini dengan pengidentifikasi mereka dan memilih satu dengan pengidentifikasi terendah i |> j, seperti bahwa perusahaan langganan tumpang tindih dengan node j, yaitu, Sj.i Si Sj O.

Yang berikutnya yang akan dipilih adalah i2> i4 seperti yang langganan perusahaan juga tumpang tindih dengan yang j, tetapi hanya jika mengandung unsurunsur yang belum tercakup oleh kata simpul i4.In lain, kita harus memiliki Sj.i4.i2 (Si2 - Sj2i4) 0.This Sj proses diulang sampai semua node yang telah tumpang tindih

kepentingan dengan simpul saya telah diperiksa, menyebabkan ordered list i4