19 January 2016

MOBILE DAN GLOBAL KOMPUTASI

DISTRIBUTED SYSTEMS Concept and Design – Fifth Edition
George Coulouris
Cambridge University
Jean Dollimore
formerly of Queen Mary, University of London
Tim Kindberg
matter 2 media
Gordon Blair
Lancaster University

Bab ini survei bidang komputasi mobile dan di mana-mana, yang tlah terjadi karena baru pula yaitu dalam perangkat miniaturisasi dan konektivitas pengadaan. Secara Berbicara, komputasi mobile berkaitan dengan mengeksploitasi keterhubungan perangkat portabel, komputasi di mana-mana adalah tentang memanfaatkan integrasi walinya perangkat komputasi dengan dunia fisik kita sehari - hari-.


Bab ini memperkenalkan model sistem umum yang menekankan volatilitas Sistem mobile dan di mana-mana berlaku, bahwa Set pengguna, perangkat dan komponen perangkat lunak dalam lingkungan akupunktur tertentu dikenakan Ubah sering. Bab ini kemudian terjadi menyajikan beberapa daerah Kepala penelitian yang terjadi karena volatilitas ini dan mendasarkan fisik untuk itu. Kami mengeksplorasi topik termasuk: bagaimana komponen perangkat lunak datang untuk mengasosiasikan dan beroperasi dengan Satu lagi sebagai entitas bergerak, gagal Atau spontan muncul, bagaiman sistem tersebut terintegrasi dengan dunia fisik melalui Sensing dan konteks kesadaran, Keamanan dan isu-isu privasi yang timbul di Volatile, secara fisik sistem yang terintegrasi, dan teknik untuk beradaptasi dengan kurangnya perangkat Kecil ' komputasi dan I / O sumber. Bab ini diakhiri dengan Studi Kasus proyek cooltown, membahas, arsitektur berbasis Web berorientasi manusia untuk komputasi mobile dan di mana-mana.



19,1 Pengantar

Mobile dan komputasi di mana-mana tlah terjadi karena perangkat miniaturisasi dan konektivitas pengadaan. Secara garis besar, komputasi mobile yang bersangkutan dengan memanfaatkan keterhubungan perangkat yang bergerak di dunia fisik sehari-hari; komputasi di mana-mana adalah tentang memanfaatkan integrasi walinya perangkat komputasi dengan dunia fisik kita sehari-hari. Sebagai perangkat menjadi lebih kecil, kita lebih mampu membawa mereka sekitar dengan kami atau memakainya, dan kami dapat menanamkan mereka ke dalam banyak bagian dari dunia fisik - bukan hanya desktop akrab atau rak server. Dan konektivitas pengadaan menjadi lebih umum, kita lebih mampu menghubungkan perangkat kecil yang baru satu sama lain, dan untuk komputer dia dan server konvensional.

Bab ini survei aspek komputasi mobile (badan s disinggung dalam pengobatan Bab 18 untuk operasi terputus) dan komputasi di mana-mana. Bab ini berkonsentrasi pada sifat umum mereka, dan perbedaan mereka berbagi dari sistem terdistribusi lebih konvensional. Mengingat baru pula yaitu dana saat ini, fokus lebih pada masalah terbuka dari solusi.

Bab pertama menguraikan awal komputasi mobile dan di mana-mana, dan memperkenalkan subbidang dikenal sebagai komputasi dpt dipakai, genggam dan konteks-sadar. Kemudian terjadi menjelaskan model sistem yang mencakup semua bidang-bidang dan subbidang melalui volatilitas mereka - berlaku, fakta bahwa himpunan pengguna, perangkat dan komponen perangkat lunak dalam lingkungan akupunktur tertentu dikenakan sering berubah. Kami mensurvei komponen sistem yang tlah muncul untuk menangani volatilitas dan dasar fisik untuk volatilitas, termasuk bagaimana komponen perangkat lunak datang untuk mengasosiasikan dan beroperasi dengan satu sama lain sebagai entitas bergerak, gagal atau spontan muncul dalam lingkungan; bagaimana sistem menjadi terintegrasi dengan dunia fisik melalui penginderaan dan kesadaran konteks; isu-isu keamanan dan privasi yang timbul dalam sistem terintegrasi dalam dunia fisik; dan teknik untuk beradaptasi dengan komputasi terbatas perangkat kecil ' dan sumber input / output. Bab ini diakhiri dengan studi kasus proyek Cooltown, membahas, arsitektur berbasis web berorientasi pada manusia untuk komputasi mobile dan di mana-mana.

Ponsel dan genggam komputasi * komputasi ponsel muncul sebagai performasi di mana pengguna bisa membawa komputer dia mereka dan mempertahankan beberapa konektivitas ke mesin lain. Di sekitar tahun 1980 itu menjadi mungkin untuk membangun komputer dia yang hanya sekitar cukup ringan untuk dibawa, dan yang dapat dihubungkan ke komputer lain melalui atau telepon melalui modem. Evolusi teknologi tlah menyebabkan lebih atau kurang ide yang sama tapi dengan fungsi yang jauh lebih baik dan kinerja: masa kini setara adalah laptop, netbook atau komputer tablet, masing-masing dengan beberapa bentuk konektivitas pengadaan termasuk jaringan Programs, WiFi dan Bluetoothberbeda.

Yang jalur evolusi teknologi tlah menyebabkan komputasi genggam: penggunaan perangkat yang cocok di tangan, termasuk "ponsel pintar ' mobile (smartphone), dan personal digital assistant (PDA), perangkat tangan dioperasikan lebih khusus lainnya. Ponsel pintar dan PDA mampu menjalankan berbagai macam jenis aplikasi, tapi dibandingkan dengan laptop mereka yang menjual ukuran yang lebih kecil dan waktu baterai berjalan lebih baik terhadap kekuatan memanfaatkan pemrosesan Sejalan terbatas, layar yang lebih kecil dan pembatasan sumber daya lainnya. Produsen semakin melengkapi perangkat genggam dengan Kabupaten Asahan yang sama dari konektivitas pengadaan seperti laptop dan setara mereka agak lebih kecil.

Membahas tren menarik dalam komputasi genggam tlah menjadi kaburnya perbedaan antara PDA, ponsel dan perangkat genggam yang perhelatan seperti kamera dan unit navigasi berbasis GPS. Ponsel pintar memiliki fungsi komputasi PDA-clasik berdasarkan menjalankan sistem operasi seperti Symbian dari Nokia dan produsen lain, Google Android, iOS Apple atau Windows Phone 7 dari Microsoft. Mereka memiliki kamera dibangun dan baik menggabungkan atau dapat dilengkapi dengan jenis lain dari lampiran khusus, membuat mereka alternatif untuk perangkat genggam yang perhelatan. Sebagai contoh, pengguna dapat membaca barcode melalui kamera smartphone untuk mendapatkan informasi harga-perbandingan. Ponsel pintar juga seringbuilt di unit GPS untuk navigasi dan tujuan spesifik lokasi lainnya.

Stojmenovic [2002] mencakup prinsip prinsip pembeli-pembeli dan protokol untuk komunikasi pengadaan, termasuk cakupan dari dua masalah jaringan-lapisan utama yang tagline dipecahkan untuk sistem belajar di Bab ini. Masalah pertama adalah bagaimana menyediakan konektivitas terus menerus untuk perangkat mobile yang lulus dan keluar dari jangkauan BTS, yang likuid komponen infrastruktur yang menyediakan wilayah jangkauan pengadaan. Masalah kedua adalah cara mengaktifkan koleksi perangkat secara pengadaan berkomunikasi dengan satu sama lain di tempat-tempat di mana tidak ada infrastruktur (lihat pengobatan singkat jaringan ad hoc dalam Bagian 19.4.2). Kedua masalah timbul karena konektivitas pengadaan langsung seringkali tidak tersedia antara dua perangkat yang diberikan. Komunikasi maka harus dicapai selama beberapa segmen jaringan pengadaan atau kabel. Dua faktor utama menyebabkan jangkauan pengadaan dibagi ini. Pertama, semakin besar jangkauan jaringan pengadaan, semakin perangkat akan bersaing untuk bandwidth yang terbatas. Kedua, ia pernah berlaku energi: energi yang diperlukan untuk mengirimkan Ligt pengadaan sebanding dengan kuadrat jangkauan, tapi banyak dari perangkat kita akan mempertimbangkan memiliki kapasitas energi yang terbatas [Weiser.

Komputasi mana-mana * Mark Weiser menciptakan komputasi di mana-mana istilah pada tahun 1988 1991]. Komputasi di mana-mana juga kadang-kadang dikenal komputasi aspervasive, dan dua istilah yang biasanya diambil untuk menjadi identik. 'Mana-mana' berarti 'dapat ditemukan di mana-mana'. Weiser terangkai walinya prevalensi perangkat komputasi seperti mengarah ke pergeseran revolusioner dalam cara kita akan menggunakan komputer.

Pertama, ia memperkirakan bahwa setiap orang di dunia akan memanfaatkan banyak komputer. Kita bisa bandingkan dengan revolusi komputer dia sebelum, yang mengejar tujuan satu komputer ke komputer masing-masing orang. Meskipun terdengar sederhana, perubahan yang memiliki efek dramatis pada cara kita menggunakan komputer dibandingkan dengan era mainframe sebelum, ketika ada satu komputer ke banyak orang. Ide Weiser tentang 'satu orang, banyak komputer' berarti sesuatu yang sangat buah dengan situasi umum di mana kita masing-masing memiliki beberapa komputer yang lebih atau kurang sama - satu di tempat kerja, satu di rumah, laptop dan mungkin membahas ponsel pintar yang kita bawa dengan kami. Sebaliknya, dalam komputasi di mana-mana, komputer biak dalam bentuk dan fungsi, bukan hanya jumlahnya, sesuai dengan tugas yang buah-.

Misalnya, bahwa Rukan lembam tampilan dan menulis permukaan di kamar Papan tulis, buku, potongan kertas, Post-it catatan, dll - digantikan oleh puluhan atau ratusan komputer bagi individu dengan Tagclient elektronik. Buku yang s muncul dalam bentuk elektronik, dapat dilihat pada perangkat yang memungkinkan pembaca untuk membaca dan membuat teks mereka, mencari arti kata-kata, mencari ide-ide terkait pada Web dan pengalaman terkait menscroll multimedia. Sekarang anggaplah kita menanamkan fungsi komputasi di Rukan alat tulis. Misalnya, pena dan spidol menjadi mampu menyimpan apa yang pengguna tlah ditulis dan digambar, dan untuk mengumpulkan, menyalin dan memindahkan menscroll multimedia antara banyak



Gambar 19.1 Sebuah ruang menanggapi Pengguna A Mengenakan lencana aktif









Komputer tergeletak di sekitar. Skenario yang menimbulkan kegunaan dan ekonomi masalah, dan itu menyentuh pada hanya satu bagian kecil dari menampilkan kita; Namun memberikan kita gambaran tentang apa yang "komputasi di mana-mana mungkin sepertiakan.

' hilang "Pergeseran kedua yang Weiser diprediksi adalah bahwa komputer"-bahwa mereka akan 'menenun diri ke dalam kain menampilkan sehari-hari dana mereka tidak bisa dibedakan dari itu'. Ini sebagian besar likuid gagasan psikologis, dibandingkan dengan bagaimana orang mengambil furnitur untuk diberikan dan nyaris tidak menyadarinya. Hal ini mencerminkan ide komputasi yang akan menjadi tertanam dalam apa yang kita pikirkan item sebagai sehari-hari - yang kita tidak biasanya berpikir tentang sebagai memiliki kemampuan komputasi, lebih dari yang kita pikirkan dari mesin cuci atau kendaraan sebagai 'perangkat komputasi', meskipun tertanam mikroprosesor mengendalikan mereka (sekitar 100 mikroprosesor, dalam kasus beberapa mobil)-.

Sementara terlihatnya perangkat akupunktur tertentu sesuai misalnya, dalam kasus-kasus seperti sistem komputer tertanam dalam mobil - yang tidak kasus untuk semua perangkat kami wajib mempertimbangkan, khususnya perangkat yang pengguna ponsel biasanya novelnya. Misalnya, ponsel adalah beberapa perangkat yang paling meresap pada saat penulisan, tapi kemampuan komputasi mereka hampir tidak terlihat dan tidak, bisa dibilang, harus itu.

Komputasi dpt dipakai * Pengguna novelnya perangkat komputasi yang dapat dipakai pada orang mereka, baik yang seminar pada atau dalam kain pakaian mereka, atau dipakai seperti jam tangan, perhiasan atau kacamata di tubuh mereka. Buah dengan perangkat genggam tlah disebutkan di atas, perangkat ini sering beroperasi tanpa pengguna harus memanipulasi mereka. Mereka biasanya memiliki fungsi khusus. Contoh awal adalah 'lencana aktif', membahas perangkat komputasi kecil dijepitkan pakaian pengguna yang secara teratur menyiarkan CV. identitas (yang berhubungan dengan pengguna) melalui pemancar inframerah [Ingin et al. 1992, Harter dan Hopper 1994]. Perangkat di lingkungan menanggapi trasmisi lencana, dan menanggapi kehadiran pengguna; trasmisi inframerah memiliki jangkauan yang terbatas, sehingga mereka akan dijemput hanya jika pengguna dekatnya. Sebagai contoh, membahas layar elektronik bisa beradaptasi dengan kehadiran diangkat pengguna dengan menyesuaikan perilaku sesuai dengan preferensi pengguna tersebut, mungkin mengubah default gambar warna dan ketebalan garis (Gambar 19.1). Demikian pula, membahas ruangan bisa beradaptasi pendingin udara dan pencahayaan pengaturan sesuai dengan preferensi dicatat dari orang yang di dalamnya-.

Pengenal konteks komputasi * Lencana aktif Atau lebih tepatnya, reaksi perangkat lain untuk kehadirannya - mencontohkan konteks-aware komputasi, yang adalah subfield penting dari komputasi mobile dan di mana-mana. Di sinilah sistem komputer secara otomatis beradaptasi perilaku mereka sesuai dengan keadaan fisik. Keadaan mereka dapat pada prinsipnya menjadi apa pun terukur secara fisik atau terdeteksi, seperti kehadiran pengguna, waktu hari atau kondisi atmosfer. Beberapa kondisi tergantung relatif mudah untuk menentukan, seperti apakah itu malam hari (discernable dari waktu, hari tahun dan posisi geografis). Tetapi yang lain membutuhkan pengolahan yang canggih untuk mendeteksi. Misalnya, mempertimbangkan konteks-sadar ponsel yang berdering hanya Chart saat yang tepat. Secara khusus, secara otomatis harus beralih sendiri ke 'bergetar' bukan 'cincin' bila dalam bioskop. Tapi mendeteksi bahwa pengguna menonton film di dalam bioskop, yang bertentangan dengan berdiri di lobi bioskop, adalah non-sepele mengingat ketidakakuratan dalam pengukuran sensor posisi. Bagian 19,4 meneliti konteks lebih terinci.

19.1.1 Sistem yang mudah menguap

Dari sudut pandang sistem terdistribusi, tidak ada perbedaan penting antara komputasi mobile dan di mana-mana atau subbidang kami tlah memperkenalkan (atau memang subbidang kita tlah ditinggalkan, seperti komputasi nyata [Ishii dan Ullmer 1997] dan ditambah kenyataan, seperti yang dicontohkan oleh meja digital Wellner ini [Wellner 1991]). Pada bagian ini kami memberikan model apa yang akan kita sebut sistem volatil yang meliputi sistem terdistribusi fitur penting dari semua itu.

Kami menyebutnya sistem dijelaskan dalam bab ini "stabil" karena, tidak seperti sebagian besar sistem yang dijelaskan dalam buku ini, "perubahan" titik akupunktur tertentu yang umum daripada biasa. Ditetapkan pengguna, perangkat keras dan perangkat lunak dalam sistem mobile dan di mana-mana sangat dinamis dan perubahan tak terduga. Kata lain kita kadang-kadang ini digunakan dalan akan untuk sistem ini adalah spontan, yang muncul dalam literatur dalam frase jaringan spontan. Formulir yang sesuai volatilitas meliputi:

kegagalan perangkat dan link komunikasi;
perubahan karakteristik komunikasi seperti bandwidth;
penciptaan dan penghancuran asosiasi - hubungan komunikasi logis - antara komponen perangkat lunak penduduk pada perangkat'.
Berikut istilah komponen ' mencakup setiap satuan perangkat lunak, seperti benda-benda atau proses, terlepas dari apakah itu interoperasi sebagai klien atau server atau rekan.

Bab 18 tlah menyediakan cara-cara berurusan dengan beberapa perubahan, berlaku pengolahan kegagalan dan operasi terputus. Tapi solusi dianggap ada yang didasarkan pada pengolahan dan komunikasi kegagalan menjadi pengecualian daripada aturan, dan keberadaan sumber daya berlebihan pengolahan. Sistem yang mudah menguap tidak hanya melanggar asumsi mereka tetapi juga menambahkan fenomena perubahan namun lebih, terutama keaslian perubahan sering di asosiasi antara komponen.

Tagline membersihkan kesalahpahaman mungkin sebelum kita melangkah lebih jauh. Volatilitas bukan milik mendefinisikan sistem mobile dan di mana-mana: ada jenis lain dari sistem yang menunjukkan satu atau lebih mungil volatilitas tetapi tidak bergerak atau di mana-mana. Membahas contoh yang baik adalah peer-to-peer komputasi, seperti aplikasi berbagi-file (Bab 10), di mana serangkaian proses berpartisipasi dan asosiasi antara mereka tunduk pada tingkat tinggi "perubahan". Apa yang buah tentang komputasi mobile dan di mana-mana adalah bahwa mereka yang menunjukkan semua bentuk di atas volatilitas, karena cara mereka yang terintegrasi dengan dunia fisik. Kita harus banyak berbicara tentang integrasi fisik ini dan bagaimana hal itu menyebabkan volatilitas. Tapi integrasi fisik tidak sendiri properti sistem terdistribusi, sedangkan volatilitas. Oleh karena itu, yang adalah istilah kita mengadopsi.

Dalam sisa bagian ini kita menjelaskan ruang cerdas, yang adalah kampus di mana sistem yang mudah menguap minutes b Unair, dan kita mencirikan perangkat mobile dan di mana-mana, konektivitas fisik dan logis mereka, dan konsekuensi dalam hal menurunkan kepercayaan dan privasi.

spasi Cerdas • ruang fisik yang penting dalam bahwa mereka membentuk lekukan Myanmar belakang untuk komputasi mobile dan di mana-mana. Mobilitas berlangsung antara ruang fisik; komputasi di mana-mana tertanam dalam ruang fisik. Membahas ruang pintar adalah tempat fisik dengan layanan tertanam - berlaku, layanan yang disediakan hanya atau terutama keaslian dalam yang ruang fisik. Hal ini dimungkinkan untuk memperkenalkan perangkat komputasi ke alam liar, di mana ada infrastruktur yang memadai, untuk melakukan aplikasi seperti pemantauan lingkungan. Tetapi lebih biasanya perangkat mobile dan sistem di mana-mana ada pada satu waktu di bagian komputasi ditingkatkan dari lingkungan perhelatan atau kendaraan seperti ruang, bangunan, alun-alun kota atau kereta. Dalam kasus tersebut, ruang Cerdas biasanya mengandung infrastruktur komputasi yang relatif stabil, yang mungkin termasuk server komputer konvensional; perangkat seperti printer, tampilan, sensor dan infrastruktur jaringan pengadaan, termasuk khusus ke Internet.

Ada beberapa jenis gerakan atau 'penampilan dan hilangnya' yang dapat terjadi di ruang cerdas. Pertama, ada mobilitas fisik. Ruang cerdas bertindak sebagai lingkungan untuk perangkat yang mengunjungi dan meninggalkan mereka. Pengguna novelnya dan pergi dengan perangkat mereka novelnya atau memakai; perangkat robot bahkan mungkin bergerak sendiri ke dalam dan keluar dari ruang. Kedua, ada mobilitas logis. Membahas proses seluler atau agen bisa bergerak ke dalam atau keluar dari ruang pintar, atau ke atau dari perangkat dia pengguna. Juga, gerakan fisik perangkat ini dapat menyebabkan gerakan logis dari komponen di dalamnya. Namun, apakah atau tidak bergerak komponen karena gerakan fisik perangkat-nya, mobilitas logis tidak terjadi dalam arti menarik kecuali komponen perubahan beberapa asosiasi dengan komponen lainnya sebagai hasilnya. Ketiga, pengguna dapat menambahkan perangkat yang relatif statis seperti pemutar media sebagai tambahan jangka panjang untuk ruang, dan Sejalan menarik perangkat yang lebih tua dari itu. Perhatikan, misalnya, evolusi dari rumah pintar yang penghuni bervariasi mengatur perangkat di dalamnya [Edwards dan Grinter 2001] dalam cara yang relatif tidak direncanakan dari waktu ke waktu. Keempat dan akhirnya, perangkat mungkin gagal dan dengan demikian ' menghilang "dari ruang.

Beberapa fenomena yang tampak serupa dari narasumber sistem terdistribusi. Dalam setiap kasus, baik komponen perangkat lunak muncul di ruang cerdas yang s ada dan, jika hal-hal menarik adalah untuk menghasilkan menjadi terintegrasi (setidaknya untuk sementara) ke ruang angkasa itu; atau komponen menghilang dari ruang, baik melalui mobilitas karena atau hanya dimatikan atau gagal. Ini mungkin atau mungkin tidak mungkin untuk setiap komponen akupunktur tertentu untuk membedakan perangkat 'infrastruktur' dari perangkat 'mengunjungi'.

Namun, ada perbedaan yang signifikan yang bisa ditarik ketika merancang suatu sistem. Membahas perbedaan penting yang mungkin timbul antara sistem yang mudah menguap adalah tingkat perubahan. Algoritma yang harus disebabkannya beberapa muncul atau menghilang komponen hari (misalnya, di rumah pintar) dapat sangat buah dirancang dari orang-orang yang ada setidaknya satu perubahan tersebut terjadi pada satu waktu (misalnya, sistem diimplementasikan menggunakan komunikasi Bluetooth antara ponsel di kota yang ramai). Selain itu itu, sementara semua di atas penampilan dan hilangnya fenomena muncul mirip dengan pendekatan pertama, tentu saja ada perbedaan penting. Misalnya, dari sudut pandang keamanan, itu adalah satu hal untuk perangkat pengguna untuk memasukkan ruang yang cerdas dan satu lagi untuk komponen perangkat lunak luar untuk pindah ke perangkat infrastruktur milik ruang

modelPerangkat-.dengan munculnya ponsel dan komputasi di mana-mana, kelas baru perangkat komputasi menjadi bagian dari sistem terdistribusi. Perangkat ini terbatas dalam pasokan energi dan sumber daya komputasi, dan itu mungkin memiliki cara berinteraksi dengan dunia fisik: sensor seperti detektor cahaya, dan / atau aktuator clasik sarana diprogram gerakan. Model perangkat kami karena harus memperhitungkan accout karakteristik sebagai berikut:

energi Terbatas: membahas perangkat yang portabel atau tertanam dalam dunia fisik biasanya tlah berjalan pada baterai, dan yang lebih kecil dan lebih ringan perangkat tagline, lebih rendah kapasitas baterai akan menjadi. Mengganti atau mengisi ulang baterai tersebut dapat dikenakan nyaman dari segi waktu (mungkin ada ratusan perangkat tersebut per pengguna) dan akses fisik. Perhitungan dan akses ke memori dan bentuk lain dari penyimpanan Rukan mengkonsumsi energi yang berharga. Komunikasi pengadaan sangat boros energi. Selain itu itu, energi yang dikonsumsi oleh menerima pesan dapat berjumlah sebagian besar dari yang dibutuhkan untuk mengirimkan itu; bahkan ketika di '' modus siaga, di mana antarmuka jaringan siap untuk menerima pesan, bisa memerlukan konsumsi daya yang cukup [Shih et al. 2002]. Jadi, jika perangkat adalah untuk minutes selama mungkin pada tingkat titik akupunktur tertentu baterai, algoritma harus peka terhadap energi yang mereka konsumsi, terutama keaslian dalam hal kompleksitas pesan mereka. Tapi pada akhirnya, kemungkinan kegagalan perangkat meningkat karena debit bateraiSumber:.

kendala Perangkat Mobile dan di mana-mana tlah membatasi sumber daya komputasi dalam hal kecepatan prosesor, kapasitas penyimpanan dan bandwidth jaringan. Hal ini sebagian karena konsumsi energi meningkat seperti yang kita meningkatkan karakteristik mereka. Tapi juga, membuat perangkat portabel atau melekatkan mereka menjadi kujungi fisik sehari-hari memerlukan membuat mereka secara fisik kecil, yang, mengingat keterbatasan yang ditetapkan oleh proses manufaktur, membatasi jumlah transistor dalam node. Dua masalah muncul dari ini: bagaimana merancang algoritma yang dapat mengeksekusi pada node dalam waktu yang wajar meskipun keterbatasan sumber daya; dan bagaimana untuk meningkatkan sumber node sedikit menggunakan sumber daya di lingkungannyaaktuator.

Sensor dan Untuk mengaktifkan integrasi mereka dengan dunia fisik - khususnya, untuk membuat mereka sadar konteks - perangkat dilengkapi dengan sensor dan aktuator. Sensor adalah perangkat yang mengukur parameter fisik dan menyediakan nilai-nilai mereka ke perangkat lunak. Sebaliknya, aktuator adalah perangkat lunak-dikontrol yang mempengaruhi dunia fisik. Berbagai macam macam setiap jenis komponen ada. Di sisi sensor, misalnya, ada sensor yang mengukur posisi, orientasi, beban, dan cahaya dan tingkat suara. Aktuator termasuk pengendali AC diprogram dan motor. Suatu hal yang penting untuk sensor adalah akurasi, yang sangat terbatas dan dapat menyebabkan perilaku palsu, seperti respon yang tidak pantas untuk apa ternyata menjadi interest yang salah. Ketidaktelitian akan tetap karakteristik perangkat yang cukup murah untuk menyebarkan ubiquitously.

Perangkat yang dijelaskan di atas mungkin terdengar agak eksotis. Namun, tidak hanya mereka yang tersedia secara komersial, tetapi mereka bahkan diproduksi secara massal. Dua contoh adalah motes dan smartphone

Motes:. Motes [Bukit et al. 2000, www.xbow.com] adalah perangkat kecil yang ditujukan untuk operasi otonom dalam aplikasi seperti penginderaan lingkungan. Mereka dirancang untuk dimasukkan dalam lingkungan, diprogram sehingga mereka secara pengadaan menemukan satu sama lain dan mentransfer merasakan nilai-nilai di antara mereka sendiri. Jika, misalnya, ada kebakaran hutan, maka satu atau lebih motes tersebar di sekitar hutan bisa merasakan suhu tinggi yang abnormal dan berkomunikasi mereka, melalui rekan-rekan mereka, untuk perangkat yang lebih kuat mampu berkomunikasi situasi ke layanan darurat. Bentuk dasar sebagian mote memiliki prosesor berdaya rendah (mikrokontroler cetakan i) yang menjalankan TinyOS sistem operasi [coller et al. 2001] pada memori flash internal, memori untuk data-logging dan jarak pendek, dua arah ' industri, ilmiah dan medis "radio transceiver (ISM) Band. Berbagai macam modul sensor dapat ditambahkan. Motes juga dikenal sebagai "debu pintar ', mencerminkan ukuran kecil akhirnya ditujukan untuk perangkat ini, meskipun ukuran mereka pada saat penulisan adalah sekitar 6 × 3 × 1 cm, tidak termasuk baterai dan sensor. Smart-nya menyediakan fungsionalitas mirip dengan motes dalam bentuk faktor yang sama [www.smart-its.org]. Bagian 19.4.2 membahas penggunaan perangkat mote-seperti pada jaringan sensor pengadaan

Smartphone:. Smartphone adalah contoh yang sangat buah dari perangkat dalam sistem kami sedang mempertimbangkan. Fungsi utama mereka adalah komunikasi manusia dan pencitraan. Tapi, menjalankan sistem operasi seperti Symbian, Android atau iOS, mereka yang diprogram untuk cukup berbagai macam macam aplikasi. Selain itu luas konektivitas data daerah mereka, mereka sering tlah inframerah (IrDA) atau Bluetooth jarak pendek pengadaan antarmuka jaringan yang memungkinkan mereka untuk terhubung ke satu sama lain, untuk PC dan perangkat tambahan. Mereka sering mengandung perangkat penginderaan, seperti sensor GPS untuk menentukan lokasi mereka, sebuah magnetometer untuk merasakan orientasi mereka, dan accelerometers untuk merasakan negara mereka mengamati. Selain itu itu, mereka dapat menjalankan perangkat lunak untuk mengenali cinta seperti barcode dari gambar kamera mereka, membuat mereka sensor dari 'nilai-nilai kode' pada kujungi fisik seperti produk, yang dapat ini digunakan dalan untuk dan mengakses layanan terkait. Misalnya, pengguna bisa menggunakan kamera ponsel mereka untuk menemukan spesifikasi produk di toko dari barcode pada kotaknya [Kindberg 2002].

Wolatile konektivitas • Perangkat kepentingan dalam bab ini semua memiliki beberapa bentuk konektivitas pengadaan, dan mungkin memiliki beberapa. Teknologi khusus (Bluetooth, WiFi, 3G, dll) bervariasi dalam nominal bandwidth dan latensi, biaya energi mereka dan apakah ada biaya keuangan untuk komunikasi. Namun volatilitas konektivitas - variabilitas saat runtime dari negara khusus atau pemutusan antara perangkat, dan kualitas layanan antara mereka - juga memiliki dampak yang kuat pada sifat sistem. Masalah konektivitas meliputi:

Pemutusan: Wireless pemutusan jauh lebih mungkin dibandingkan pemutusan kabel. Banyak perangkat kita dijelaskan tlah mobile, dan sebagainya dapat melebihi jarak operasi mereka dari perangkat lain atau oklusi radio pertemuan itu di antara mereka, misalnya saja dari bangunan. Bahkan ketika perangkat yang statis, mungkin ada pengguna dan kendaraan yang menyebabkan pemutusan oleh oklusi bergerak. Ada juga pertanyaan multi hop routing yang pengadaan antara perangkat. Dalam routing ad hoc, membahas



Gambar 19.2 Contoh yang telah dikonfigurasikan Versus Spontan Asosiasi











koleksidari perangkat berkomunikasi dengan satu sama lain tanpa ketergantungan pada perangkat lain: mereka berkolaborasi untuk rute Rukan paket antara mereka. Mengambil contoh dari motes di hutan, mote mungkin terus dapat berkomunikasi dengan semua motes lain di Kabupaten Asahan radio langsung, tetapi gagal untuk dapat berkomunikasi Depdiknas suhu tinggi untuk layanan darurat karena kegagalan yang lebih jauh motes melalui mana Rukan paket harus melewatilatency.

bandwidth variabel dan faktor-faktor yang dapat menyebabkan menyelesaikan pemutusan juga dapat menyebabkan sangat bervariasi bandwidth dan latensi, karena mereka memerlukan perubahan tingkat kesalahan. Dengan meningkatnya tingkat kesalahan, semakin banyak paket yang dijatuhkan. Yang mengarah intrinsik untuk tingkat throughput yang rendah. Tapi situasi dapat diperburuk oleh timeout dalam protokol lapisan yang lebih tinggi. Nilai-nilai Timeout sulit untuk beradaptasi dengan dramatis mengubah kondisi. Jika mereka terlalu besar dibandingkan dengan kondisi kesalahan saat ini, latency dan throughput menderita. Jika mereka terlalu kecil, mereka dapat meningkatkan kemacetan dan energi limbah.

Spontan boleh • Dalam sistem yang mudah menguap, komponen secara rutin mengubah set komponen mereka berkomunikasi dengan, ketika mereka bergerak atau komponen lain muncul dalam lingkungan mereka. Kami menggunakan asosiasi istilah untuk hubungan logis terbentuk ketika setidaknya satu dari sepasang diberikan komponen berkomunikasi dengan yang lain selama beberapa periode baik waktu titik akupunktur tertentu, dan boleh untuk interaksi mereka selama hubungan mereka. Catatan asosiasi yang buah dari konektivitas: dua komponen (misalnya, email klien pada laptop dan server email) mungkin saat ini terputus sementara mereka tetap terkaitlokal.

Dalam ruang yang cerdas, asosiasi berubah karena komponen memanfaatkan kesempatan untuk berinteraksi dengan komponen. Contoh sederhana seperti kesempatan bagi perangkat untuk menggunakan printer lokal di mana pun perangkat kebetulan. Demikian pula, perangkat mungkin ingin menawarkan jasa kepada klien dalam lingkungan lokal - seperti 'server dia' [Ingin et al. 2002] bahwa pengguna memakai (misalnya, pada sabuk), yang memasok data tentang pengguna atau milik pengguna ke perangkat dekatnya. Tentu saja, asosiasi statis akupunktur tertentu masih masuk akal bahkan dalam sistem yang mudah menguap; kami tlah memberikan contoh membahas komputer laptop yang bergerak dengan pemiliknya di seluruh dunia tetapi hanya pernah berkomunikasi dengan server email tetap.

Untuk menempatkan jenis asosiasi menjadi gambaran yang lebih besar dari layanan di Internet, Gambar 19,2 menunjukkan contoh dari tiga jenis hubungan spontan (di sebelah kanan), dibandingkan dengan asosiasi pra-dikonfigurasi (di sebelah kiri) berbasis layanan.

Asosiasi dikonfigurasikan berlaku, klien memiliki kebutuhan jangka panjang untuk menggunakan spesifik jasa dikonfigurasikan untuk berhubungan dengan itu. Upaya mengkonfigurasi klien (termasuk pengaturan mereka dengan alamat layanan wajib) kecil dibandingkan dengan nilai jangka panjang menggunakan layanan titik akupunktur tertentu.

Di sisi sebelah kanan dari gambar yang jenis asosiasi yang bervariasi secara rutin, didorong oleh operator manusia, oleh terlah data titik akupunktur tertentu atau dengan mengubah keadaan fisik. Kita bisa menganggap hubungan antara browser web dan layanan web sebagai spontan dan manusia-driven: pengguna membuat dinamis dan (dari sudut sistem pandang) pilihan terduga link untuk mengklik dan dengan demikian pelayanan misalnya untuk akses. Web adalah sistem yang menu-menu stabil, dan penting untuk keberhasilan adalah fakta bahwa mengubah asosiasi biasanya melibatkan upaya diabaikan-. Penulis halaman web tlah melakukan pekerjaan konfigurasi

aplikasi peer-to-peer di internet, seperti file-berbagi program, sistem juga mudah menguap, tetapi mereka terutama keaslian data-driven. Data yang sering berasal dari manusia (misalnya, nama menscroll yang akan dicari), tapi itu adalah nilai data yang disediakan untuk itu yang menyebabkan rekan untuk membuat asosiasi dengan rekan itu mungkin tidak pernah berhubungan dengan sebelumnya dan yang alamat belum sebelumnya disimpan, melalui algoritma terdistribusi penemuan berdasarkan data.

sistem mobile dan di mana-mana dijelaskan dalam bab ini dibedakan dengan memamerkan spontanitas sebagian besar secara fisik didorong dari asosiasi. Asosiasi dibuat dan rusak – kadang-kadang oleh manusia – menurut keadaan fisik saat ini komponen, dan khususnya kedekatan mereka.

Menurunkan kepercayaan dan privasi • sebagai Bab 11 menjelaskan, keamanan di sistem terdistribusi akhirnya berdasarkan terpercaya hardware dan software-computing terpercaya yang dasar. Tetapi kepercayaan dalam sistem yang mudah menguap bermasalah karena spontan interoperation: apa dasar dari kepercayaan bisa ada antara komponen yang mampu menghubungkan secara spontan? Komponen yang berpindah-pindah antara ruang cerdas mungkin milik organisasi atau individu yang berbeda dan memiliki sedikit atau tidak ada pengetahuan sebelumnya dari satu sama lain atau pihak ketiga yang terpercaya.

Privasi adalah masalah besar bagi pengguna, yang mungkin ketidakpercayaan sistem karena kemampuan penginderaan. Kehadiran sensor di smart ruang berarti bahwa itu menjadi mungkin untuk melacak pengguna secara elektronik pada skala yang berpotensi besar belum lihat sebelumnya. Dalam manfaat dari layanan pengenal konteks – seperti pada contoh dari kamar set AC sesuai dengan preferensi pengguna mereka-pengguna dapat memungkinkan orang lain untuk belajar dimana mereka telah dan apa yang telah mereka lakukan di sana. Untuk membuat keadaan menjadi lebih buruk, mereka mungkin tidak selalu menyadari bahwa mereka sedang merasakan. Bahkan jika pengguna tidak mengungkapkan identitas mereka, hal itu mungkin bagi orang lain untuk belajar dan jadi mengetahui individu tertentu apa – misalnya, dengan mengamati perjalanan antara rumah dan tempat kerja, dan menghubungkan mereka dengan menggunakan kartu kredit di suatu tempat di antara.



19,2 Asosiasi

Seperti yang dijelaskan di atas, perangkat bertanggung jawab untuk muncul dan menghilang dari smart ruang tak terduga. Meskipun demikian, komponen volatil perlu berinterpolasi – sebaiknya tanpa campur tangan pengguna. Dengan kata lain, sebuah perangkat yang muncul di ruang yang cerdas harus mampu untuk bootstrap itu sendiri ke jaringan lokal untuk mengaktifkan komunikasi dengan perangkat lain, dan mengaitkan tepat di ruang Smart:

Jaringan bootstrap: biasanya, terjadi komunikasi melalui jaringan lokal. Perangkat harus terlebih dahulu memperoleh alamat pada jaringan lokal (atau daftar alamat yang sudah ada sebelumnya seperti alamat IP mobile); mungkin juga memperoleh atau mendaftar

|lail1Յ.

Asosiasi: Komponen pada perangkat baik menghubungkan ke layanan di ruang cerdas, menyediakan layanan untuk komponen lain di ruang pintar, atau keduanya.

Jaringan bootstrap * ada mapan solusi untuk masalah mengintegrasikan perangkat ke jaringan. Beberapa solusi yang bergantung pada server yang dapat diakses dalam ruang pintar. Sebagai contoh, sebuah server DHCP (Lihat bagian 3.4.3) dapat menyediakan alamat IP dan jaringan dan DNS parameter, yang memperoleh perangkat dengan mengeluarkan query ke alamat siaran yang terkenal. Server di ruang pintar juga dapat menetapkan nama domain yang unik ke perangkat; atau jika ada akses ke Internet terbuka perangkat dapat menggunakan DNS dinamis memperbarui layanan untuk mendaftar alamat IP baru terhadap nama domain statis.

Kasus yang lebih menarik adalah dengan menetapkan parameter jaringan dalam ketiadaan infrastruktur layanan di ruang pintar atau di luar itu. Yang diharapkan untuk menyederhanakan ruang cerdas dan untuk menghindari ketergantungan pada layanan yang mungkin gagal. IPv6 standar termasuk sebuah protokol untuk serverless alamat tugas. Nol konfigurasi jaringan kelompok kerja IETF [www.zeroconf.org] adalah mengembangkan standar untuk tugas serverless alamat, pencarian nama domain, alamat multicast tugas dan penemuan Layanan (lihat ayat berikutnya). Apple Bonjour [www.apple.com saya] adalah implementasi komersial banyak bahwa fungsi. Seperti dengan akses DHCP, semua metode tersebut menggunakan siaran atau multicasts melalui jaringan lokal, dengan menggunakan alamat yang terkenal. Setiap perangkat dapat mendengarkan pada atau mengirimkan ke alamat tersebut.

Masalah ass00iation dan batas prinsip • sekali perangkat dapat berkomunikasi dalam ruang yang cerdas, dihadapkan dengan masalah Asosiasi: bagaimana untuk mengasosiasikan dengan tepat di dalamnya. Solusi untuk masalah Asosiasi harus alamat dua unsur utama: skala dan lingkup. Pertama, mungkin ada banyak perangkat dalam ruang cerdas, dan mungkin kali lipat lebih komponen software pada perangkat tersebut. Dengan yang ini, jika ada, harus komponen pada perangkat muncul interoperate, dan bagaimana dapat pilihan yang dibuat secara efisien?

Kedua, bagaimana kita dapat membatasi lingkup ketika memecahkan masalah itu, untuk mempertimbangkan hanya komponen dari ruang cerdas- dan semua komponen dalam ruang pintar-daripada potensi triliunan komponen yang terletak di luar? Scoping hanyalah sebagian tidak hanya jenis skala masalah. Ruang yang smart biasanya memiliki batas administratif dan teritorial, yang dapat membuat perbedaan besar untuk pengguna dan administrator. Misalnya, jika perangkat untuk menemukan layanan seperti printer di sebuah kamar hotel, itu harus menemukan





sebuah printer di ruang user-nya dan tidak kamar sebelah. Sama, jika ada sebuah printer yang sesuai dalam kamar pengguna, kemudian solusi harus memasukkannya sebagai calon untuk Asosiasi. Batas prinsip menyatakan bahwa ruang yang cerdas perlu memiliki batas-batas sistem yang sesuai secara akurat dengan ruang bermakna karena mereka biasanya didefinisikan teritorial dan administratif [Kindberg dan Fox 2001]. Mereka "batas-batas sistem yang didefinisikan sistem kriteria cakupan yang tetapi tidak perlu membatasi Asosiasi.

Salah satu upaya solusi untuk masalah asosiasi adalah dengan menggunakan layanan penemuan, dijelaskan berikutnya. Layanan penemuan biasanya didasarkan pada subnet multicast, yang memiliki kelemahan yang mencapai subnet yang mungkin tidak sesuai dengan layanan yang tersedia di ruang yang cerdas-yaitu, bahwa mereka melanggar prinsip batas-seperti yang kita akan menjelaskan. Bagian 19.2.2 kemudian menjelaskan beberapa solusi yang memberikan lebih akurat scoped asosiasi dengan mengandalkan parameter fisik dan masukan manusia.

Layanan penemuan

Klien mengetahui tentang layanan yang disediakan di ruang yang cerdas menggunakan layanan penemuan. Layanan penemuan adalah layanan direktori (Lihat bagian 13.3) dalam layanan yang dalam ruang smart terdaftar dan mendongak oleh atribut mereka, tetapi satu implementasi yang memperhitungkan sifat sistem yang mudah menguap. Pertama, data direktori yang diperlukan oleh seorang klien tertentu-yaitu, set atribut layanan terhadap pertanyaan yang harus dijalankan-ditentukan pada saat runtime. Pada data direktori secara dinamis ditentukan sebagai fungsi dari klien konteks – dalam kasus ini, smart ruang tertentu mana query berlangsung. Kedua, mungkin ada tidak ada infrastruktur di ruang cerdas untuk host server direktori. Ketiga, Layanan yang terdaftar dalam direktori secara spontan mungkin hilang. Keempat, protokol yang digunakan untuk mengakses direktori perlu peka terhadap energi dan bandwidth yang mereka konsumsi.

Perangkat pencarian dan pencarian Layanan ada layanan; Bluetooth termasuk keduanya. Dengan penemuan perangkat, klien menemukan nama dan alamat bersama saat perangkat. Biasanya, mereka kemudian memilih perangkat yang individu berdasarkan informasi out-of-band (termasuk pemilihan oleh seorang manusia) dan query untuk jasa yang menawarkan. Di sisi lain, penemuan jasa digunakan mana klien tidak peduli dengan perangkat yang menyediakan layanan yang mereka butuhkan, tetapi dengan atribut layanan sendiri. Deskripsi ini akan berkonsentrasi pada layanan penemuan, dan kecuali dinyatakan lain, itulah apa yang kita maksud dengan "layanan penemuan selanjutnya.

Layanan penemuan memiliki sebuah antarmuka untuk secara otomatis mendaftar dan deregistering layanan yang tersedia untuk Asosiasi, serta sebuah antarmuka untuk klien untuk mencari layanan dari orang-orang yang saat ini tersedia, sehingga pergi untuk mengasosiasikan dengan layanan yang sesuai. Gambar 19,3 memberikan contoh yang fiktif, sederhana antarmuka tersebut. Pertama, ada panggilan untuk mendaftar layanan ketersediaan alamat yang diberikan dan atribut, dan untuk mengelola pendaftaran kemudian. Lalu ada panggilan untuk mencari layanan yang sesuai dengan spesifikasi atribut yang diperlukan. Nol atau lebih layanan mungkin cocok spesifikasi; masing-masing dikembalikan dengan alamat dan atribut. Catatan bahwa layanan penemuan tidak mengaktifkan asosiasi dengan sendirinya: Layanan pilihan-pilihan satu layanan dari set kembali-itu juga diperlukan. Yang mungkin terjadi secara programatik, atau dengan daftar layanan pencocokan yang pengguna dapat memilih.

Perkembangan dalam layanan penemuan termasuk layanan penemuan Jini (dibahas dalam bagian berikutnya), Layanan lokasi protokol [Guttman 1999], disengaja





Gambar 19,3 Antarmuka untuk penemuan Layanan















Penamaan sistem [Adjie-Winoto et al. 1999], protokol penemuan Layanan sederhana (yang merupakan inti dari inisiatif Universal Plug and Play [www.upnp.org]) dan menjamin layanan penemuan Layanan [Czerwinski et al. 1999]. Ada juga layanan penemuan link-lapisan, seperti Bluetooth.

Isu-isu yang ditangani dalam desain layanan penemuan adalah sebagai berikut:

Rendah-upaya, tepat Asosiasi: idealnya, Asosiasi sesuai akan dibuat tanpa usaha manusia. Pertama, set layanan yang dikembalikan oleh operasi query (gambar 19,3) akan sesuai-mereka akan tepat layanan yang ada di ruang cerdas yang cocok query. Kedua, pilihan layanan dapat dibuat secara programatik atau dengan masukan minimal manusia untuk memenuhi kebutuhan pengguna.

Layanan bahasa Deskripsi dan query: tujuan keseluruhan adalah untuk mencocokkan layanan klien permintaan untuk layanan. Yang mengandaikan bahasa untuk menggambarkan layanan yang tersedia, dan satu untuk mengekspresikan persyaratan layanan. Bahasa kueri dan deskripsi harus setuju (atau akan diterjemahkan), dan ekspresi mereka telah mengikuti perkembangan perangkat baru dan layanan.

Smart-ruang-spesifik penemuan: kami memerlukan mekanisme untuk perangkat untuk mengakses contoh (atau cakupan) layanan penemuan yang sesuai dengan keadaan fisik mereka saat ini – sebuah mekanisme yang tidak bergantung pada perangkat mengetahui tertentu nama atau alamat untuk layanan itu apriori. Dalam prakteknya, Layanan penemuan berkaitan dengan ruang smart tertentu hanya melalui jangkauan terbatas multicast atas subnet yang bersimpangan dengan itu, seperti yang kita akan menjelaskan.

Implementasi direktori: Logis, setiap contoh layanan penemuan yang melibatkan sebuah direktori queryable layanan yang tersedia. Ada beberapa cara untuk menerapkan seperti direktori, dengan berbagai implikasi untuk bandwidth jaringan, ketepatan waktu layanan penemuan dan energi konsumsi.

Layanan volatilitas: Layanan apapun dalam sistem volatil telah efisien dan anggun menangani hilangnya klien. Layanan penemuan memiliki layanan sebagai klien, dan dibutuhkan untuk menangani layanan hilangnya tepat.

Sebagai contoh Asosiasi oleh penemuan, mempertimbangkan sesekali atau pertama kali pengunjung ke organisasi tuan rumah atau hotel, yang perlu untuk mencetak dokumen dari sebuah laptop. Pengguna tidak dapat beralasan dapat diharapkan untuk memiliki nama-nama tertentu printer lokal dikonfigurasi di laptop mereka, atau untuk menebak nama-nama mereka (seperti \\myrtle\titus, atau \\lionel \frederick). Daripada memaksa pengguna untuk mengkonfigurasi mesin mereka sementara mereka mengunjungi, itu akan lebih baik untuk laptop menggunakan panggilan permintaan layanan pencarian untuk menemukan seperangkat printer jaringan yang tersedia yang cocok dengan kebutuhan pengguna. Printer tertentu dapat dipilih melalui interaksi dengan pengguna atau oleh consulting catatan preferensi pengguna.

Atribut yang diperlukan dari jasa cetak mungkin, misalnya, menetapkan apakah "laser' atau 'inkjet', apakah atau tidak menyediakan warna pencetakan dan lokasi fisik terhadap pengguna (misalnya, nomor kamar).

Sejalan dengan itu, Layanan menyediakan alamat dan atribut ke layanan penemuan dengan daftar panggilan mereka. Misalnya, printer (atau layanan yang mengelola itu) dapat mendaftar dengan alamat dan atribut dengan penemuan Layanan sebagai berikut:

serviceAddress = http://www.hotelDulac.com/services/printerj7; resourceClass = printer, jenis = laser, warna = ya, resolusi = 600dpi, lokasi = Ruang 101

Cara yang biasa untuk bootstrap akses ke layanan pencarian lokal pada saat runtime tanpa konfigurasi manual adalah dengan menggunakan jangkauan subnet yang lokal; secara khusus, untuk query multicast (atau siaran) untuk IP yang terkenal alamat multicast atas subnet yang lokal. Terkenal IP multicast alamat apriori dikenal dengan semua perangkat yang perlu untuk mengakses layanan penemuan. Layanan penemuan didasarkan hanya pada jangkauan jaringan kadang-kadang eksplisit dikenal sebagai layanan penemuan jaringan.

Perhatikan bahwa beberapa jaringan, seperti Bluetooth, menggunakan frekuensi hopping dan tidak dapat berkomunikasi dengan semua tetangga perangkat secara simultan pada tingkat fisik. Bluetooth mencapai penemuan menggunakan mitra untuk satu 'Alamat terkenal': frekuensi-hopping urutan yang terkenal. Discoverable perangkat siklus melalui frekuensi lebih lambat dari perangkat mencoba untuk menemukan mereka, agar Penerima dan pengirim (penemu) akhirnya bertepatan dalam frekuensi dan membangun komunikasi.

Ada beberapa desain pilihan harus dibuat ketika mengimplementasikan layanan pencarian, yang dapat memiliki efek cukup besar pada cara-cara yang dapat digunakan.

Yang pertama adalah apakah layanan penemuan harus dilaksanakan oleh server Direktori, atau menjadi serverless. Server Direktori memegang seperangkat Deskripsi Layanan yang telah terdaftar dengan itu, dan merespon klien mengeluarkan permintaan untuk layanan. Setiap komponen (server atau klien) ingin menggunakan layanan direktori lokal isu permintaan multicast untuk menemukannya, dan server Direktori merespon dengan alamat unicast nya. Komponen kemudian berkomunikasi dengan itu point-to-point, menyimpan gangguan terlibat perangkat yang terjadi dengan multicast komunikasi. Ini bekerja baik di ruang cerdas yang menyediakan infrastruktur. Layanan Direktori sering dapat dijalankan dari catu daya pada sebuah mesin yang kuat. Tetapi di ruang-ruang cerdas sederhana seperti ruang pertemuan dasar, mungkin tidak ada Fasilitas untuk server direktori. Pada prinsipnya akan mungkin untuk memilih server dari perangkat apa pun kebetulan kini (15.3 bagian), tetapi setiap server tersebut mungkin hilang secara spontan. Hal ini akan mengakibatkan kompleksitas dalam pelaksanaan klien dari layanan pencarian, yang kemudian akan harus beradaptasi dengan mengubah registri server. Selain itu, overhead karena pemilihan kembali mungkin menjadi besar dalam sistem sangat volatile.

Sebuah alternatif adalah penemuan serverless, di mana perangkat berpartisipasi berkolaborasi untuk menerapkan layanan penemuan didistribusikan, sebagai pengganti server direktori. Seperti dengan direktori apapun didistribusikan, terdapat dua varian utama implementasi. Dalam model mendorong, Layanan multicast ('iklan') Deskripsi mereka secara teratur. Klien mendengarkan multicasts dan menjalankan query mereka melawan mereka, mungkin caching Deskripsi dalam kasus mereka dibutuhkan kemudian. Dalam model tarikan, multicast klien permintaan mereka. Perangkat menyediakan layanan menjalankan query terhadap Deskripsi mereka, dan hanya merespon dengan setiap deskripsi yang cocok. Klien ulangi permintaan mereka pada interval jika tidak ada tanggapan.

Mendorong dan menarik model memiliki implikasi untuk penggunaan bandwidth dan energi. Setiap kali perangkat masalah pesan multicast, bandwidth dikonsumsi dan semua perangkat mendengarkan mengeluarkan energi yang menerima pesan. Dalam model mendorong murni, perangkat perlu untuk mengiklankan layanan mereka secara teratur sehingga muncul klien dapat menemukan mereka. Tapi ini boros bandwidth dan energi jika ada klien tidak perlu untuk menemukan layanan tertentu. Dan waktu yang muncul klien menunggu untuk mendengar tentang layanan harus diperdagangkan mati terhadap biaya bandwidth dan energi, yang meningkat dengan frekuensi iklan.

Dalam model tarikan murni, klien dapat menemukan layanan yang tersedia segera tampak, dan ada multicasts tidak sia-sia jika ada tidak ada penemuan kebutuhan dalam interval tertentu. Tapi klien menerima beberapa tanggapan saat respons tunggal akan lakukan. Juga, ada keuntungan diambil, secara default, permintaan bantalan query yang sama (untuk layanan sering diperlukan).

Hal ini dimungkinkan untuk desain hibrida protokol yang mengatasi kelemahan di atas, dan latihan 19,2 berkaitan dengan ini.

Layanan dapat memanggil panggilan deregister (gambar 19,3) sebelum menghilang, tetapi sama-sama mungkin hilang secara spontan. Layanan volatilitas ditangani dengan cara yang berbeda sesuai arsitektur implementasi direktori. Server Direktori perlu menyadari sesegera mungkin setelah layanan terdaftar menghilang, sehingga tidak memberikan deskripsi yang menyesatkan. Yang biasanya dicapai menggunakan mekanisme umum yang disebut sewa. Sewa adalah alokasi sementara beberapa sumber daya oleh server untuk klien, yang hanya dapat diperbarui oleh permintaan lebih lanjut dari klien sebelum tenggat waktu sewa telah berakhir. Jika klien gagal untuk memperbaharui itu (misalnya, dengan panggilan refresh gambar 19,3), server menarik (dan mungkin merealokasikan) sumber. Kami memperkenalkan sewa sebagai bagian dari diskusi kita mengenai Jini di bagian 5.4.3; DHCP server juga menggunakan sewa ketika mengalokasikan alamat IP. Server Direktori mempertahankan layanan pendaftaran hanya jika layanan secara berkala berkomunikasi dengan server direktori untuk memperbaharui sewa yang pada entri. Di sini kita lihat trade-off serupa dari ketepatan waktu terhadap bandwidth dan energi konsumsi-pendek periode sewa, semakin cepat hilangnya layanan yang akan diperhatikan, tetapi sumber daya jaringan dan energi lebih akan diperlukan. Dalam arsitektur serverless, perlu diambil langkah-langkah tidak (kecuali untuk jelas basi entri dalam perangkat yang cache layanan), karena layanan yang telah menghilang tidak lagi akan beriklan itu sendiri dan klien yang menggunakan protokol berbasis tarik dapat menemukan hanya hadir



Gambar 19.4 Pencarian layanan di Jini























Jini Jini [Waldo 1999, Arnold et al. 1999] adalah sebuah sistem yang dirancang untuk digunakan untuk sistem mobile dan di mana-mana. Hal ini sepenuhnya berbasis Java-ini mengasumsikan bahwa Java virtual mesin berjalan di semua komputer, memungkinkan mereka untuk berkomunikasi dengan satu sama lain dengan cara RMI atau peristiwa (Lihat Bab 5 dan 6) dan untuk men-download kode yang diperlukan. Di sini kita menggambarkan Jini's penemuan sistem.
Penemuan yang berhubungan dengan komponen dalam sistem Jini adalah layanan pencarian, Jini layanan dan klien Jini (Lihat gambar 19.4). Layanan pencarian menerapkan apa yang telah kita disebut layanan penemuan, meskipun Jini menggunakan istilah 'penemuan' hanya untuk menemukan layanan pencarian itu sendiri. Layanan pencarian memungkinkan Jini layanan untuk mendaftar layanan yang mereka tawarkan dan Jini klien untuk permintaan layanan yang sesuai dengan kebutuhan mereka. Layanan Jini, seperti layanan cetak, dapat didaftarkan dengan satu atau lebih layanan pencarian. Menyediakan layanan Jini, dan menyimpan layanan pencarian, objek yang menyediakan layanan, serta atribut dari layanan. Jini klien permintaan layanan pencarian untuk menemukan layanan Jini yang sesuai dengan kebutuhan mereka; Jika kecocokan ditemukan, mereka download objek yang menyediakan akses ke layanan dari layanan pencarian. Pencocokan menawarkan layanan untuk permintaan nasabah dapat didasarkan pada atribut atau mengetik Jawa, misalnya memungkinkan klien untuk meminta printer warna yang memiliki antarmuka Jawa yang sesuai.

Ketika klien Jini atau layanan mulai, itu mengirimkan permintaan ke IP yang terkenal alamat multicast. Layanan pencarian apapun yang menerima permintaan dan dapat menanggapi hal itu mengirimkan alamat nya, memungkinkan Penanya melakukan doa remote untuk mencari atau mendaftar layanan dengan itu (pendaftaran disebut bergabung dalam Jini). Layanan pencarian juga mengumumkan kewujudan mereka di datagram dikirim ke alamat multicast yang sama. Jini klien dan layanan dapat mendengarkan pada alamat multicast untuk belajar tentang layanan pencarian baru.

Mungkin ada beberapa contoh layanan pencarian dapat dijangkau oleh multicast komunikasi dari klien Jini tertentu atau layanan. Setiap contoh Layanan tersebut adalah dikonfigurasi dengan satu atau lebih nama grup, seperti 'admin', 'keuangan' dan 'penjualan', yang bertindak sebagai scoping label. 19.4 angka menunjukkan klien Jini menemukan dan menggunakan layanan cetak. Klien membutuhkan layanan pencarian dalam kelompok 'keuangan', jadi multicasts permintaan bantalan kelompok nama (pesan 1 pada gambar). Layanan hanya satu pencarian terikat untuk kelompok 'keuangan' (layanan yang juga terikat kepada kelompok 'admin'), dan layanan tersebut merespon (2). Layanan pencarian respon termasuk alamat-nya, dan klien berkomunikasi langsung dengan dengan RMI untuk menemukan semua layanan jenis 'cetak' (3). Hanya satu layanan pencetakan telah mendaftarkan diri dengan layanan pencarian dibawah kelompok 'keuangan', dan objek untuk mengakses layanan tertentu yang dikembalikan. Klien kemudian menggunakan jasa cetak langsung, menggunakan objek kembali (4). Angka ini juga menunjukkan layanan percetakan yang lain, yang dalam kelompok 'admin'. Ada juga layanan informasi perusahaan yang tidak terikat pada kelompok tertentu (dan yang dapat didaftarkan dengan semua layanan pencarian).

Diskusi tentang • layanan penemuan jaringan layanan penemuan hanya berdasarkan jaringan mencapai bahwa kami hanya telah dijelaskan-jaringan layanan penemuan-pergi beberapa cara untuk memecahkan masalah Asosiasi. Direktori efisien implementasi yang ada, termasuk orang-orang yang tidak bergantung pada infrastruktur. Dalam banyak kasus, jumlah klien dan layanan yang bisa dihubungi melalui subnet dikelola dalam hal komputasi dan jaringan biaya, sehingga skala ini sering tidak masalah. Langkah-langkah untuk mengatasi sistem volatilitas yang telah kita dijelaskan.

Tetapi penemuan jaringan layanan meningkatkan dua kesulitan ketika melihat dari sudut pandang prinsip batas: penggunaan subnet, dan kekurangan dalam cara layanan yang dijelaskan.

Subnet yang mungkin mirip miskin ruang yang cerdas. Pertama, Jaringan

penemuan keliru mungkin termasuk layanan yang tidak di ruang pintar. Pertimbangkan sebuah kamar hotel, misalnya. Transmisi berdasarkan frekuensi radio (RF) sinyal seperti 802.11 atau Bluetooth biasanya akan menembus dinding untuk kamar tamu lainnya. Mengikuti contoh Jini, Layanan dapat secara logis dibagi oleh kelompok-kelompok satu per kamar hotel. Tapi yang menimbulkan pertanyaan tentang bagaimana kamar hotel pengguna akan menjadi parameter untuk layanan penemuan. Kedua, penemuan jaringan mungkin keliru DISKON TERBAIK untuk layanan yang ' di ruang cerdas dalam arti yang memenuhi syarat untuk penemuan ada, tapi yang host luar subnet nya. Studi kasus Cooltown menggambarkan bagaimana non elektronik entitas seperti mencetak dokumen dalam ruang cerdas mungkin terkait dengan layanan host di luar buku ruang (Lihat bagian 19.7.1).

Selain itu, Layanan penemuan jaringan tidak selalu mengarah ke Asosiasi sesuai karena bahasa yang digunakan untuk menggambarkan Layanan mungkin tidak memadai dalam dua hal. Pertama, penemuan mungkin rapuh: bahkan sedikit variasi dalam Layanan-Deskripsi kosa kata yang digunakan oleh organisasi-organisasi yang berbeda dapat menyebabkan itu gagal (misalnya, Kamar hotel memiliki layanan yang disebut 'Print' sedangkan tamu laptop pencarian untuk 'Cetak'). Variasi di mana manusia bahasa yang digunakan untuk kosa kata yang cenderung memperburuk masalah itu. Kedua, ada mungkin akan kehilangan kesempatan untuk akses layanan. Misalnya, ada 'bingkai foto digital' di dinding kamar hotel, yang akan menampilkan holiday terkunci dalam JPEG format. Tamu kamera memiliki koneksi nirkabel dan menghasilkan gambar dalam format tersebut, tapi itu tidak memiliki keterangan untuk layanan-itu belum upgrade dengan pembangunan yang relatif baru. Jadi kamera mampu mengambil keuntungan dari itu.



Asosiasi fisik

Kekurangan dari sistem penemuan jaringan dapat diselesaikan sampai batas tertentu menggunakan sarana fisik, meskipun solusi sering membutuhkan tingkat yang lebih besar keterlibatan manusia. Teknik berikut telah dikembangkan.

Manusia masukan untuk lingkup discovery • kasus ini adalah dimana manusia memberikan masukan ke perangkat untuk menetapkan cakupan pencarian. Contoh sederhana ini akan ketik atau pilih ruang smart pengidentifikasi, misalnya nomor kamar tamu hotel. Perangkat dapat menggunakan pengenal sebagai layanan tambahan "kelompok ' atribut (seperti Jini).

Saluran penginderaan dan fisik dibatasi untuk lingkup penemuan • A kurang melelahkan kemungkinan adalah bagi pengguna untuk menggunakan sensor pada perangkat mereka. Misalnya, Ruang cerdas mungkin sebuah identifier yang disajikan dalam pengkodean pengenal simbol-simbol yang disebut glyphs pada dokumen dan permukaan di ruang – misalnya, ditampilkan pada layar TV di ruang tamu hotel. Tamu menggunakan kamera ponsel atau perangkat lainnya imaging untuk memecahkan kode seperti simbol, dan perangkat menggunakan pengenal resultan dalam cara yang kita dijelaskan untuk input manusia langsung. Kemungkinan lain, untuk digunakan dengan kolam ruang cerdas yang mana sinyal satelit navigasi tersedia, adalah untuk menggunakan sensor untuk mendapatkan posisi ruang cerdas dalam garis lintang dan bujur koordinat, dan untuk mengirim mereka koordinat ke layanan terkenal luas yang kembali alamat layanan penemuan lokal. Namun, mengingat ketidakakuratan di satelit navigasi, metode yang mungkin kurang tepat dalam mengidentifikasi ruang pintar jika ada ruang lain dekat oleh.

Teknik lain yang menghindari masukan manusia adalah dengan menggunakan saluran fisik dibatasi (Lihat juga bagian 19.5.2) – saluran komunikasi yang, untuk beberapa derajat pendekatan, meresapi hanya rentang fisik ruang pintar. Untuk contoh, di ruang tamu TV bisa bermain musik latar pada volume rendah, dengan pengkodean digital kamar pengenal melapiskan sebagai gangguan merender sinyal [Madhavapeddy et al. 2003], atau tidak bisa menjadi pemancar inframerah (Mercusuar) dalam kamar yang menjalar pengenal [Kindberg et al. 2002a). Kedua saluran-saluran tersebut secara signifikan dilemahkan oleh bahan-bahan di perbatasan kamar (dengan asumsi pintu dan jendela ditutup).

Asosiasi langsung akhir seperangkat teknik-teknik yang kita akan mempertimbangkan di sini adalah bagi manusia untuk menggunakan mekanisme fisik untuk secara langsung menghubungkan dua perangkat, tanpa menggunakan layanan penemuan. Biasanya, ini adalah dimana perangkat terlibat menawarkan hanya satu atau seperangkat Layanan dipilih manusia. Dalam setiap teknik berikut, manusia memungkinkan perangkat mereka membawa belajar alamat jaringan (misalnya, Bluetooth atau IP alamat) dari ' target "perangkat.
Alamat-Sensing: Satu perangkat dapat digunakan untuk merasakan alamat jaringan perangkat target secara langsung. Kemungkinan termasuk membaca barcode pada perangkat yang encode alamat jaringan-nya, atau membawa satu perangkat sangat dekat dengan yang lain dan menggunakan saluran nirkabel jarak pendek untuk membaca alamat nya. Two examples of such short-range channels are Near Field Communication [www.nfe-forum.org] – a standard for bidirectional radio communication that spans several short ranges but has a variant for only up to about 3 centimetres – and very short range infrared transmissions.

Rangsangan fisik. Rangsangan fisik dapat digunakan untuk menyebabkan perangkat target untuk mengirim alamat nya. Contoh berikut ini bersinar sinar laser digital termodulasi (yang lain saluran secara fisik dibatasi) ke perangkat target [Patel dan Abowd 2003], maka transmisi alamat-nya ke target, yang merespon dengan alamat nya.

Korelasi temporal atau fisik: temporal, atau fisik berkorelasi rangsangan dapat digunakan untuk menghubungkan perangkat. SWAP-CA spesifikasi [SWAP-CA 2002] untuk jaringan nirkabel di lingkungan rumah memperkenalkan sebuah protokol, kadang-kadang disebut sebagai protokol dua tombol, bagi manusia untuk menghubungkan dua perangkat nirkabel dengan satu sama lain. Setiap perangkat mendengarkan pada alamat multicast yang terkenal. Pengguna tekan tombol pada perangkat mereka masing-masing lebih atau kurang secara bersamaan, pada titik mana perangkat mengirim alamat jaringan mereka ke alamat multicast. Ini tidak mungkin bahwa ronde protokol ini akan terjadi pada saat yang sama di subnet yang sama. Perangkat itu mengaitkan menggunakan alamat yang diterima dalam interval kecil tombol tekan. Ada yang menarik, jika mitra jarang praktis, fisik untuk pendekatan ini di mana pengguna memegang dua perangkat yang sama tangan dan menggeleng mereka bersama-sama [Holmquist et al. 2001]. Setiap perangkat memiliki sebuah accelerometer untuk merasakan keadaan gerak. Perangkat mencatat pola gemetar, menghitung pengenal dari itu, dan multicasts bahwa pengenal bersama dengan alamat unicast nya ke alamat multicast yang terkenal. Hanya dua perangkat mengalami persis bahwa percepatan pola- dan dalam jangkauan komunikasi langsung – akan mengenali satu sama lain adalah identifier dan maka belajar masing-masing alamat.



19.2.3 Ringkasan dan Perspektif

Bagian ini telah dijelaskan masalah Asosiasi untuk komponen volatil sistem dan beberapa upaya pemecahan masalah, mulai dari jaringan discovery teknik-teknik yang lebih diawasi manusia. Mobile dan di mana-mana sistem meningkatkan kesulitan unik karena mereka diintegrasikan dengan dunia fisik kita sehari-hari, berantakan ruang seperti ruang domestik dan kantor, sehingga sulit untuk lingkup solusi. Manusia cenderung memiliki pertimbangan teritorial dan administratif yang kuat dalam pikiran ketika mereka menganggap apa yang ada di ruang smart tertentu dan apa yang di luar itu. Prinsip batas mengatakan bahwa solusi untuk masalah Asosiasi perlu untuk mencocokkan ruang fisik yang mendasari ke tingkat yang dapat diterima ke manusia. Kita telah melihat bahwa beberapa derajat manusia pengawasan sering dipertanggung jawabkan, karena kekurangan sistem pencarian jaringan. Studi kasus Cooltown (bagian 19.7) menggambarkan model tertentu keterlibatan manusia.

Kami telah diabaikan skala sebagai faktor dalam solusi untuk masalah Asosiasi, atas dasar bahwa dunia dipecah menjadi pintar ruang yang adalah, biasanya, ukuran yang dikelola. Namun, ada penelitian layanan penemuan scalable-setelah semua, beberapa aplikasi mungkin mempertimbangkan seluruh planet ini untuk menjadi pintar ruang. Contohnya adalah INS/benang [Balazinska et al. 2002], yang membagi data direktori antara koleksi resolvers rekan.\









19.3 Interoperation

Kami telah menggambarkan cara di mana dua atau lebih komponen dalam sebuah sistem yang mudah menguap datang terkait; Sekarang kita beralih ke pertanyaan tentang bagaimana mereka beroperasi. Komponen mengaitkan berdasarkan atribut tertentu atau data yang memiliki satu atau keduanya. Tapi yang meninggalkan pertanyaan apa protokol yang mereka gunakan untuk berkomunikasi dan, pada tingkat yang lebih tinggi, model pemrograman apa paling cocok untuk interaksi antara mereka. Bagian ini berkaitan dengan pertanyaan-pertanyaan.

Bab 4, 5 dan 6 menggambarkan model untuk interoperation termasuk berbagai bentuk komunikasi interprocess, doa metode dan prosedur doa. Sebuah asumsi implisit yang mendasari beberapa model tersebut adalah bahwa komponen interoperating dirancang untuk bekerja sama dalam sebuah sistem khusus atau aplikasi, dan perubahan untuk set interoperasi komponen yang baik masalah konfigurasi jangka panjang atau kondisi kesalahan runtime untuk ditangani kadang-kadang. Namun anggapan-anggapan tidak sah dalam sistem mobile dan di mana-mana. Untungnya, seperti yang kami jelaskan di bagian ini, beberapa metode untuk interoperation dari bab 4, 5 dan 6, Selain beberapa metode yang baru, lebih cocok untuk sistem ini mudah menguap.

Idealnya, sebuah komponen dalam sistem ponsel atau mana-mana bisa mengasosiasikan dengan berbagai kelas layanan, dan bukan hanya satu set berbagai contoh layanan kelas yang sama. Yang terbaik untuk menghindari masalah 'kehilangan kesempatan' yang dijelaskan dalam bagian sebelumnya, misalnya, kamera digital tidak mampu mengirim gambar dengan bingkai foto digital karena itu tidak dapat beroperasi dengan bingkai gambar-mengkonsumsi layanan.

Dengan kata lain, satu tujuan untuk mana-mana dan mobile computing adalah bahwa komponen harus memiliki kesempatan yang wajar untuk interoperasi dengan komponen fungsional kompatibel, bahkan jika yang kedua adalah di jenis pintar ruang yang berbeda dari satu yang awalnya dikembangkan. Yang memerlukan beberapa perjanjian global antara pengembang perangkat lunak. Mengingat upaya yang diperlukan untuk mencapai kesepakatan, terbaik untuk meminimalkan kebutuhan untuk disepakati.

Kesulitan utama yang menghalangi volatile interoperation adalah perangkat lunak antarmuka ketidakcocokan. Jika, misalnya, kamera digital mengharapkan untuk memohon pushimage operasi dan ada tidak ada operasi seperti bingkai foto digital antarmuka, maka mereka tidak beroperasi-setidaknya, tidak secara langsung.

Ada dua pendekatan utama untuk masalah ini. Yang pertama adalah untuk memungkinkan interface-interface untuk menjadi heterogen, tetapi beradaptasi interface untuk satu sama lain. Misalnya, jika bingkai foto digital untuk memiliki operasi kirim/mage dengan parameter dan semantik yang sama sebagai pushimage, maka akan mudah untuk membangun komponen yang bertindak sebagai proxy untuk bingkai foto digital, mengubah kamera pushimage doa menjadi mengirim gambar doa untuk bingkai foto.

Namun, hal ini sangat sulit untuk menyadari pendekatan ini. Sering semantik operasi dapat bervariasi serta sintaks, dan mengatasi semantik ketidakcocokan dalam Umum sulit dan rawan kesalahan. Kemudian ada skala masalah: jika ada Ninterfaces, kemudian berpotensi N2 adaptor harus ditulis, dan antarmuka yang lebih dan lebih akan dibuat dari waktu ke waktu. Selain itu, ada pertanyaan tentang bagaimana komponen untuk memperoleh adaptor antarmuka cocok sebagai mereka reassociate dalam sistem yang mudah menguap. Komponen (atau perangkat host mereka) tidak dapat datang dimuat dengan semua kemungkinan N2 adaptor, sehingga memiliki adaptor benar harus ditentukan dan dimuat pada saat runtime. Meskipun semua kesulitan ini, ada penelitian tentang bagaimana untuk membuat antarmuka adaptasi praktis. Lihat, misalnya, Ponnekanti dan rubah [2004].

Pendekatan lain untuk interoperabilitas adalah untuk membatasi antarmuka untuk menjadi identik dalam sintaks di seluruh lebar kelas komponen mungkin. Itu mungkin terdengar tidak realistis di pertama, tetapi sebenarnya itu telah telah secara luas dan berhasil dipraktekkan selama beberapa dekade. Contoh paling sederhana adalah pipa di UNIX. Pipa yang memiliki hanya dua operasi, membaca dan menulis, untuk transportasi data antara komponen (proses) di atas kedua ujungnya. Selama bertahun-tahun, programer UNIX telah menciptakan banyak program yang dapat membaca data dari sebuah pipa dan/atau menulis data ke pipa. Karena antarmuka standar dan generik teks-pengolahan fungsi, output dari salah satu program-program tersebut dapat dimasukkan ke input yang lain. Pengguna dan pemrogram telah menemukan banyak cara yang berguna untuk menggabungkan program dengan cara itu-program yang ditulis secara independen, tanpa pengetahuan tentang fungsi tertentu dari program lain.

Sebuah contoh yang belum lebih sukses dari sebuah sistem yang mencapai tingkat tinggi interoperabilitas melalui antarmuka tetap adalah Web. Serangkaian metode yang didefinisikan oleh spesifikasi HTTP (Lihat bagian 5.2) kecil dan tetap; biasanya, web klien menggunakan hanya GET & POST operasi untuk mengakses web server. Konsekuensi dari antarmuka yang tetap adalah bahwa sepotong relatif stabil dari perangkat lunak – sering browser – mampu berinterpolasi dengan set berkembang layanan. Apa perubahan antara layanan adalah jenis dan nilai-nilai konten yang dipertukarkan, dan semantik pengolahan server. Setiap interaksi adalah masih GET atau POST operasi.

Pemrograman berorientasi data untuk sistem Volatile

Sistem yang menggunakan antarmuka Layanan sebangun, seperti UNIX pipa dan Web, yang kita sebut berorientasi data (atau ekuivalen, berorientasi konten). Istilah dipilih dalam perbedaan untuk berorientasi objek. Sebuah komponen dalam sebuah sistem yang berorientasi data dapat dipanggil oleh komponen lain yang tahu antarmuka tetap. Objek atau koleksi prosedur, di sisi lain, memiliki salah satu dari serangkaian bervariasi tersedia antarmuka dan bisa hanya dipanggil dengan komponen-komponen yang tahu antarmuka tertentu. Mendistribusikan dan mengeksploitasi tak terbatas beberapa definisi khusus antarmuka adalah proposisi jauh lebih problematis daripada penerbitan dan menggunakan satu antarmuka spesifikasi, seperti HTTP spesifikasi. Yang membantu menjelaskan mengapa yang paling banyak digunakan, heterogen sistem terdistribusi yang kita tahu adalah Web, bukan demikian pula skala koleksi, mengatakan, CORBA objek.

Tapi fleksibilitas dari sistem data berorientasi diperdagangkan mati terhadap ketahanan. Itu tidak selalu masuk akal untuk dua komponen tertentu untuk beroperasi, dan belum ada sedikit dasar untuk program untuk memeriksa kompatibilitas. Dalam sistem atau prosedur-berorientasi objek, program setidaknya dapat memeriksa bahwa tanda tangan tertentu antarmuka mereka sesuai. Tapi komponen berorientasi data dapat menegakkan kompatibilitas hanya dengan memverifikasi jenis data yang dikirim ke sana. Itu harus baik melakukan bahwa melalui tipe data standar deskriptor disediakan sebagai metadata (seperti jenis MIME untuk konten web), atau dengan memeriksa nilai data yang dilewatkan ke; Misalnya, JPEG data dimulai dengan informasi header dikenali.

Sekarang kita meneliti beberapa model pemrograman yang telah digunakan untuk sistem yang mudah menguap karena fitur interoperabilitas berorientasi data mereka. Kita mulai dengan dua model untuk interoperation antara komponen tidak langsung terkait: acara sistem dan tupel ruang. Kami pergi untuk menggambarkan dua desain untuk interoperation antara perangkat yang secara langsung terkait: JetSend dan Speakeasy.

Sistem acara kami memperkenalkan acara sistem [Bates et al, 1996] di bagian 6.3. Acara sistem memberikan contoh Layanan acara. Setiap sistem menawarkan antarmuka yang tetap, generik yang komponen yang disebut penerbit menerbitkan data terstruktur yang dikenal sebagai acara dan, sejalan dengan itu, komponen yang disebut pelanggan menerima peristiwa. Setiap Layanan acara ini dikaitkan dengan lingkup acara pengiriman beberapa fisik atau logis. Pelanggan hanya akan menerima ('menangani') peristiwa yang (1) diterbitkan di acara layanan yang sama dan (2) sesuai spesifikasi mereka terdaftar dari peristiwa-peristiwa yang menarik bagi mereka.
Acara adalah paradigma pemrograman alami untuk mengumumkan dan penanganan perubahan-perubahan yang dialami oleh komponen sementara mereka berada di sebuah sistem yang mudah menguap atau ketika mereka pindah antara sistem yang mudah menguap. Peristiwa dapat dibangun untuk menentukan negara baru urusan, seperti perubahan lokasi perangkat. Contoh terbaru dari sebuah sistem yang menggunakan acara untuk komputasi mana-mana adalah one.world [Grimm 2004], tetapi peristiwa telah digunakan di mana-mana sistem dari awal dalam perkembangan mereka. Dalam sistem aktif lencana [Harter dan Hopper 1994], aplikasi dapat berlangganan ke lokasi-mengubah peristiwa yang terjadi ketika pengguna bergerak di sekitar. Lokasi acara ini juga hadir masalah mendeteksi pola peristiwa yang terjadi bersama-sama atau secara berurutan, juga dikenal sebagai komposit peristiwa. Sebagai contoh, mempertimbangkan masalah mendeteksi ketika dua pengguna bersama-terletak, ketika semua yang dikenal ketika individu pengguna memasuki atau meninggalkan lokasi tertentu. Sistem lokasi tidak mendeteksi kemunculan sendiri: ada kebutuhan untuk aturan yang menentukan, dalam hal primitif acara seperti 'Tiba (pengguna, lokasi, waktu)' dan 'Meninggalkan (pengguna, lokasi, waktu)', ketika terjadi peristiwa-peristiwa komposit seperti co-location.

Meskipun penerbitan, berlangganan dan penanganan antarmuka untuk acara tertentu (dengan relatif kecil variasi antara sistem acara), penerbit dan pelanggan dapat beroperasi dengan benar hanya jika mereka setuju pada Layanan acara yang mereka gunakan (mungkin ada banyak kasus) dan jenis dan atribut peristiwa-yaitu, mereka sintaks dan semantik. Dengan demikian sistem acara pergeseran daripada memecahkan masalah interoperability mana-mana. Untuk komponen tertentu untuk beroperasi di berbagai ruang cerdas akan membutuhkan standar untuk jenis peristiwa, dan peristiwa akan ideal digambarkan dalam bahasa pemrograman — bahasa markup independen seperti XML atau JSON.

Di sisi lain, acara produsen dan konsumen tidak perlu untuk mengidentifikasi satu sama lain. Yang dapat menjadi keuntungan dalam sistem yang mudah menguap, mana menjaga melacak yang mana komponen lain hadir dapat menjadi sulit. Dua komponen datang untuk berkomunikasi dengan penerbitan dan berlangganan untuk pencocokan peristiwa, dan oleh perjanjian pada lingkup acara pengiriman-dengan kata lain, mereka menghubungkan secara tidak langsung.

Lingkup pengiriman acara itu sendiri topik yang menarik dalam sistem mobile dan di mana-mana. Seperti dengan penemuan layanan, muncul pertanyaan dari bagaimana lingkup Layanan acara berkaitan dengan tingkat fisik ruang pintar. Ini adalah topik 19.7 latihan.

Tupel • ruang seperti sistem acara, Ruang tupel yang matang paradigma pemrograman yang menemukan aplikasi dalam sistem yang mudah menguap. Paradigma ruang tupel diperkenalkan pada bagian 6.5.2 sebagai paradigma langsung komunikasi yang mendukung penambahan dan pengambilan data terstruktur, disebut tupel, ke dan dari tempat tupel. Sistem ruang tupel memungkinkan aplikasi-spesifik tupel untuk ditukar, dan dasar untuk Asosiasi dan interoperation adalah komponen persetujuan mengenai struktur tupel dan nilai-nilai yang terkandung di dalamnya.

Sebagai contoh dari dukungan mereka dapat menawarkan komputasi mana-mana, kamera digital bisa menemukan ruang tupel untuk smart lokal ruang-ruang hotel, dikatakan – dan menempatkan gambar Nya di ruang tupel menggunakan tupel seperti:



< Menara miring ', ' image/jpeg', ' ipeg data -> >

Para perancang perangkat lunak kamera memiliki model hanya tupel ruang di mana gambar dapat ditempatkan dalam format tertentu, dan tidak ada model bentuk-bentuk tertentu pengolahan yang gambar tersebut akan menjadi tunduk.

Sejalan dengan itu, perangkat yang memakan gambar seperti bingkai foto digital dapat diprogram untuk menemukan ruang tupel lokal dan mencoba untuk mengambil darinya tupel dengan bentuk template berikut, di mana "" mewakili nilai wildcard:

< *, ' gambar/jpeg', * >

Kamera tupel cocok template yang diperlukan oleh bingkai foto-memiliki tiga kolom dan bidang kedua berisi string tipe MIME diperlukan. Bingkai foto dengan demikian akan mengambil kamera tupel dan dapat menampilkan gambar dan judul terkait. Sebagai contoh lain, pengguna bisa diaktifkan printer mengkonsumsi gambar dari ruang tupel dan mencetaknya.

Beberapa sistem pemrograman berdasarkan ruang tupel telah dikembangkan secara khusus untuk sistem mobile dan di mana-mana, seperti yang dibahas di bawah ini.

Tumpukan acara: meskipun namanya, tumpukan acara [Johanson dan Fox 2004] adalah sistem berbasis tupel pemrograman yang dikembangkan untuk jenis ruang cerdas yang dikenal sebagai 'iRoom', yang berisi menampilkan beberapa besar dan perangkat infrastruktur lainnya. Untuk setiap iRoom ada tumpukan acara sesuai, yang komponen di iRoom – termasuk mereka pada perangkat mobile yang dibawa ke dalam kamar – dapat menemukan atau dapat dikonfigurasi untuk menggunakan. Komponen berinterpolasi oleh bertukar tupel melalui tumpukan acara, dan menyediakan tingkat tipuan yang memfasilitasi hubungan yang dinamis antara perangkat. Contohnya adalah mana perangkat remote control yang disimpan di iRoom dapat dikaitkan secara dinamis untuk menampilkan berbeda, dan video dapat disajikan pada salah satu pajangan ini. Ketika user menekan tombol "jeda" pada remote control, kontrol tempat "jeda ' tupel dalam acara tumpukan. Apa pun perangkat menampilkan video ini diprogram untuk mencari dan mengambil "jeda ' tupel, dan dengan demikian merespon. Remote control dapat dibuat untuk bekerja dengan perangkat audio output dalam cara yang sama, tanpa pemrograman ulang.

KAPUR: Sistem KAPUR (Linda dalam lingkungan Mobile) [Murphy et al. 2001] dikembangkan sebagai model pemrograman untuk sistem mobile. Di KAPUR, berpartisipasi perangkat host tupel ruang dan ada tidak ada ketergantungan pada infrastruktur. Setiap perangkat host ruang tupel sendiri. KAPUR saham individu tupel ruang ketika perangkat tuan rumah mereka menjadi terkait, membentuk kesatuan set tupel secara agregat dari ruang-ruang bersama. Ini bisa digunakan untuk pencarian layanan, misalnya. Sebuah komponen yang memerlukan layanan dapat diprogram untuk mencoba untuk mengambil tupel yang menggambarkan contoh layanan yang dibutuhkan; perangkat melaksanakan layanan yang sesuai akan diprogram untuk menempatkan tupel deskriptif dalam ruang tupel lokal. Ketika dua menjadi terhubung, KAPUR akan menetapkan pertandingan dan calon klien akan memperoleh rincian layanan.

Sementara model KAPUR sederhana untuk negara, non-sepele untuk menerapkan semantik cocok konsistensi dalam menghadapi sambungan yang sewenang-wenang dan pemutusan. KAPUR di pelaksana dibuat diperdebatkan asumsi tidak realistis untuk menyederhanakan desain mereka, termasuk bahwa multicast konektivitas memegang seragam antara perangkat yang ruang tupel adalah agregat dan bahwa koneksi dan pemutusan ke dan dari set yang dikumpulkan adalah serial dan tertib.

TOTA: Proyek TOTA (tupel On The Air) [Mamei dan Zambonelli 2009] menyediakan twist yang agak menarik untuk penerapan standar tupel ruang. Dalam pendekatan ini, tupel yang disuntikkan ke dalam jaringan dengan menempatkan mereka pada node lokal dan kemudian memungkinkan tupel-tupel kloning dan disebarkan seluruh jaringan dalam cara yang mirip dengan protokol gosip (Lihat bagian 18.4.1). Hasil akhirnya adalah bidang tupel mewakili spasial penyebaran tupel tertentu. Proses yang kemudian dapat membaca tupel dengan cara yang biasa menggunakan pencocokan asosiatif. Untuk mendukung gaya pemrograman, tupel T didefinisikan sebagai T = (C, PM), mana C adalah isi dari tupel, P adalah aturan propagasi untuk tupel itu dan M adalah pemeliharaan aturan yang mendefinisikan bagaimana tupel seharusnya bereaksi terhadap peristiwa-peristiwa dari lingkungan atau berjalannya waktu. Sebagai contoh, Mamei dan Zambonelli [2009] menggambarkan aplikasi museum seni yang mana ruangan yang berbeda di museum tetap perangkat nirkabel dan pengunjung memiliki berkemampuan nirkabel ponsel cerdas, yang bersama-sama membentuk jaringan ad hoc. Ponsel pintar pengunjung tertarik pada bagian tertentu seni tempat tupel kueri ke dalam sistem yang konten adalah deskripsi dari karya seni dengan bidang jarak. Aturan propagasi adalah untuk menyebarkan tupel untuk semua node di sekitarnya, meningkatkan jarak dengan satu setiap waktu; aturan perawatan adalah untuk menghapus tupel setelah jangka waktu-to-live. Setelah tupel ini tiba di ruangan tertentu mana potongan seni berada, tupel jawaban disuntikkan ke dalam sistem yang berisi deskripsi dari karya seni, lokasi karya seni dan bidang jarak; aturan propagasi kali ini adalah untuk mengikuti jalan mundur untuk pengunjung, meningkatkan jarak setiap kali, dan pemeliharaan aturan lagi adalah untuk menerapkan kebijakan waktu-to-live. Hasil akhirnya adalah sangat fleksibel model pemrograman yang sangat berguna untuk operasi di Adhoc spasial terhubung lingkungan dan di mana-mana komputasi lebih umum.

Loimbo: L'imbo adalah sebuah implementasi ruang direplikasi tupel yang dirancang untuk beroperasi dalam lingkungan mobile [Davies et al. 1998]. Sedangkan motivasi yang paling umum untuk replikasi adalah untuk mencapai tingkat ketersediaan yang tinggi dan toleransi kesalahan, L'imbo eksploitasi replikasi untuk berurusan dengan perangkat pemutusan. L'imbo mengadopsi pendekatan sepenuhnya replikasi yang mana setiap node mempertahankan replika. Tujuannya adalah kemudian untuk memastikan konsistensi dari himpunan ini dari replika. Untuk tujuan ini, L'imbo mengadopsi pendekatan handal multicast atas IP multicast, seperti yang dibahas dalam bagian 15.4.2, khusus menggunakan pendekatan multicast handal scalable di bagian itu [Floyd et al. 1997]. L'imbo mendukung penciptaan beberapa tupel ruang, dan ruang tupel setiap peta unik ke IP alamat multicast. Implementasi membaca dan menulis relatif mudah, dengan membaca sering merasa puas lokal dan menulis pemetaan ke operasi multicast yang (reliable). Pelaksanaan mengambil lebih kompleks diberikan persyaratan untuk penarikan global. Pendekatan membangun konsep kepemilikan di Loimbo, dengan hanya pemilik yang dapat menghapus tupel. Pemilik biasanya pencipta tupel, tapi kepemilikan dapat kemudian ditransfer ke proses lainnya.

Membandingkan sistem acara dan tupel ruang • jika kita mengidentifikasi acara dengan 'tupel' dan ' spesifikasi menarik "dengan ' Pencocokan tupel template", ada surat-menyurat antara dua model interoperation. Keduanya memberikan tingkat tipuan yang berguna untuk sistem yang mudah menguap, karena identitas komponen yang memproduksi dan mengkonsumsi peristiwa atau tupel tersembunyi dari satu sama lain secara default. Set komponen bisa jadi berubah secara transparan. Namun, ada perbedaan penting. Pertama, model acara eksklusif asynchronous, sedangkan sistem ruang tupel menyediakan operasi yang sinkron untuk mengambil tupel pencocokan. Hal ini dapat lebih mudah program sinkron operasi. Di sisi lain, itu adalah ide yang buruk untuk mengharapkan bahwa komponen tertentu (misalnya, menghasilkan gambar perangkat yang telah mengalami secara dinamis) akhirnya akan memasok tupel cocok, karena pemutusan dapat terjadi setiap saat.

Perbedaan penting yang kedua adalah seumur hidup peristiwa dan tupel. Secara default, acara tidak hidup lebih lama Dr yang propagasi antara penerbit dan pelanggan. Tupel dalam ruang tupel, namun, dapat hidup lebih lama Dr komponen yang ditempatkan di sana- dan setiap komponen yang berbunyi (sebagai lawan destruktif mengkonsumsi) itu. Ketekunan itu dapat menjadi sebuah keuntungan; Misalnya, baterai kamera pengguna mungkin gagal setelah mereka telah meng-upload gambar ke sebuah kamar hotel tupel ruang tapi sebelum mereka telah menugaskan mereka ke perangkat lain. Pada saat yang sama, ketekunan dapat menjadi kerugian: apa jika tak terkendali set perangkat tempat tupel dalam ruang, tetapi mereka tidak pernah dikonsumsi karena memiliki komponen-komponen yang diharapkan mengkonsumsinya menjadi terputus? Set tupel-tupel di tempat seperti mungkin tumbuh tak terkendali. Tanpa pengetahuan global dari serangkaian volatile komponen, akan mustahil untuk menentukan tupel-tupel yang itu sampah.

Para desainer dari tumpukan acara diakui ketekunan masalah bagi iRooms. Mereka memilih untuk memungkinkan tupel berakhir (yaitu menjadi sampah yang dikumpulkan) setelah berada di acara timbunan untuk waktu yang ditentukan, yang biasanya memilih untuk berkorespondensi dengan jangka waktu interaksi manusia. Yang mencegah, misalnya, acara unconsumed jeda dari remote control untuk menyebabkan gangguan ketika pengguna mencoba untuk memutar video hari berikutnya.

Boleh langsung perangkat pemrograman model sebelumnya ini untuk interoperation antara tidak langsung terkait komponen. JetSend dan Speakeasy adalah sistem dirancang untuk interoperation antara dua perangkat yang manusia telah dibawa ke Asosiasi langsung.
JetSend: Protokol JetSend [Williams 1998] dirancang untuk interaksi antara peralatan seperti kamera, printer, scanner dan TV JetSend ini secara eksplisit dirancang untuk menjadi berorientasi data, sehingga alat tidak harus diisi dengan khusus driver sesuai perangkat tertentu yang ia akan berinteraksi. Misalnya, kamera JetSend dapat mengirim gambar ke JetSend memakan gambar perangkat seperti printer atau TV, terlepas dari fungsi spesifik konsumen. Pusat operasi generik antara perangkat yang terhubung JetSend adalah untuk menyinkronkan menyatakan bahwa salah satu hadiah yang lain. Artinya, mentransfer negara, dalam format dinegosiasikan oleh perangkat. Sebagai contoh, perangkat penghasil gambar seperti scanner dapat mensinkronisasi dengan perangkat memakan gambar seperti bingkai foto digital dengan mengkonsumsi gambar dari produsen dalam format JPEG, dipilih dari beberapa format gambar yang dapat memberikan produsen. Scanner sama mungkin sama mensinkronisasi dengan TV, mungkin menggunakan format gambar yang berbeda.

Desainer JetSend's diakui bahwa operasi sinkronisasi mereka manfaat hanya sederhana interoperation – pada dasarnya, transfer data – antara perangkat heterogen. Yang menimbulkan pertanyaan tentang bagaimana untuk mencapai lebih kompleks interaksi antara perangkat tertentu. Sebagai contoh, bagaimana harus pilihan yang dibuat antara monokrom dan warna ketika mentransfer gambar yang akan dicetak? Dengan asumsi, sumber perangkat memiliki tidak ada driver untuk printer khusus. Dan hal ini tidak mungkin untuk perangkat untuk dapat diprogram Priori dengan semantik dari setiap perangkat yang sewenang-wenang (termasuk perangkat belum yang akan diciptakan) yang ini mungkin terhubung. JetSend jawaban terhadap masalah tersebut adalah untuk mengandalkan manusia untuk memilih fungsi tertentu perangkat target (mengatakan, printer), menggunakan antarmuka pengguna yang ditetapkan oleh perangkat target, tetapi diberikan pada perangkat sumber (mengatakan, kamera). Itu adalah bagaimana interoperation terjadi secara rutin di Web, sebagai pengguna berinteraksi dengan layanan yang sangat heterogen melalui browser mereka; setiap layanan yang mereka berinteraksi dengan mengirimkan antarmuka dalam bentuk markup script ke browser, yang menulisnya kepada pengguna sebagai serangkaian generik widget, tanpa pengetahuan tentang layanan tertentu semantik. Layanan web (Lihat Bab 9) adalah usaha untuk mengganti manusia oleh program bahkan untuk interaksi kompleks.

Speakeasy. Proyek Speakeasy [Edwards et al. 2002] kemudian diterapkan sama merancang prinsip sebagai JetSend untuk perangkat-perangkat interoperation, tetapi dengan satu perbedaan: mereka memanfaatkan HP kode. Ada dua motivasi untuk menggunakan kode mobile. Yang pertama adalah bahwa perangkat seperti printer dapat mengirim antarmuka pengguna ke pengguna lain perangkat seperti ponsel pintar. Mobile kode pelaksanaan antarmuka pengguna yang dapat melakukan pemrosesan lokal seperti validasi input, dan dapat memberikan mode interaksi yang tidak tersedia di antarmuka pengguna yang harus ditentukan dalam bahasa markup. Namun, terhadap keuntungan ini harus ditetapkan secara implikasi untuk keamanan mengeksekusi kode mobile, yang memerlukan mekanisme perlindungan canggih terhadap Trojan Horse, dan sumber daya implikasi dari menjalankan kode mobile pada mesin virtual dibandingkan dengan pengolahan skrip markup yang lebih terbatas.

Motivasi yang kedua untuk mobile kode dalam perangkat interoperation adalah optimasi transfer data. Sementara Speakeasy's mobile kode harus bekerja dalam batasan-batasan perangkat host API, itu dapat melakukan sewenang-wenang interaksi dengan perangkat remote itu. Jadi, misalnya, kode mobile dapat menerapkan protokol yang dioptimalkan untuk mentransfer konten yang khusus untuk jenis konten-misalnya, video dapat dikompresi dengan cepat sebelum transmisi. Sebaliknya, JetSend dapat menggunakan hanya protokol transfer konten yang telah ditetapkan.

Tidak langsung ass0CiationS dan lembut negara

Kapan Layanan (seperti layanan infrastruktur) adalah sumber daya cukup baik menjadi sangat tersedia, maka masuk akal bagi komponen untuk mengasosiasikan dengan itu secara eksplisit – yaitu, untuk mempelajari alamat nya. Ketika komponen kemudian menggunakan alamat tersebut untuk berinterpolasi dengan layanan – mengatakan, 10 menit setelah Asosiasi- maka mereka bisa berharap untuk dapat dijangkau oleh masih dan menanggapi. Namun, secara umum, sistem volatilitas membuatnya tidak diinginkan untuk mengandalkan layanan yang disediakan oleh komponen tertentu karena komponen tersebut dapat meninggalkan atau gagal setiap saat. Satu pelajaran dari perbedaan itu adalah bahwa itu berguna untuk programmer harus diberitahu layanan yang tersedia sangat, dan yang mudah menguap. Selain itu, untuk mengatasi volatilitas, mereka perlu diberikan dengan teknik pemrograman yang tidak melibatkan ketergantungan pada komponen tertentu.

Beberapa contoh di atas sistem pemrograman berorientasi data terlibat langsung, anonim Asosiasi. Secara khusus, komponen yang beroperasi melalui ruang sistem atau tupel acara tidak selalu tahu nama atau alamat satu sama lain. Selama acara layanan atau ruang tupel berlanjut, masing-masing komponen dapat datang dan pergi dan diganti. Perawatan yang diperlukan untuk mempertahankan pengoperasian yang benar sistem keseluruhan, tetapi pada rekan-rekan setidaknya programer komponen tidak perlu mengelola individu asosiasi dengan rutin menghilang.

Contoh sistem klien-server yang menggunakan Asosiasi tidak langsung adalah disengaja nama sistem (INS) [Adjie-Winoto et al. 1999]. Komponen masalah permintaan yang menentukan atribut layanan yang diperlukan, operasi untuk dipanggil dan parameter. Komponen yang tidak perlu menetapkan nama atau alamat contoh layanan yang diperlukan, karena INS otomatis rute operasi dan parameter ke instance – misalnya lokal-layanan yang sesuai yang sesuai dengan atribut yang diperlukan. Karena operasi berturut-turut diarahkan ke spesifikasi atribut yang sama dapat ditangani oleh komponen server yang berbeda, INS menganggap bahwa server tersebut baik kewarganegaraan atau meniru negara mereka menggunakan salah satu teknik yang dijelaskan dalam bab 18.

Yang mengarah ke pertanyaan umum; Bagaimana seharusnya programmer untuk mengelola negara dalam sistem volatile? Teknik-teknik replikasi dari bab 18 menganggap redundansi sumber daya, yang mungkin tidak akan tersedia dalam sistem stabil-setidaknya, bukan terus-menerus. Teknik replikasi juga memerlukan komunikasi tambahan yang mungkin tidak praktis karena terkait energi konsumsi dan kinerja degradasi.

Lamport's 'Paxos' atau "paruh waktu Parlemen ' algoritma [1998] menyediakan cara untuk mencapai persetujuan didistribusikan meskipun volatilitas-proses berpartisipasi dianggap menghilang dan muncul secara teratur dan independen. Namun, algoritma tergantung pada setiap proses yang memiliki akses ke toko sendiri terus-menerus.

Sebaliknya, beberapa implementasi menggunakan keadaan lembut untuk memberikan jaminan konsistensi lebih santai tapi masih berguna, bahkan dalam ketiadaan penyimpanan terus-menerus yang terus-menerus tersedia. Clark [1988] memperkenalkan gagasan tentang keadaan lembut sebagai cara untuk mengelola konfigurasi router Internet meskipun kegagalan. Koleksi router adalah sebuah sistem yang mudah menguap yang terus berfungsi meskipun ada router dalam sistem dapat diasumsikan selalu akan tersedia. Definisi negara lembut telah menjadi subyek perdebatan [Raman dan McCanne 1999], tetapi secara umum ini adalah data yang menyediakan petunjuk (itu adalah, ini mungkin basi dan seharusnya tidak dapat diandalkan untuk mata uang ketat), dan, yang terpenting, sumber-sumber negara lembut secara otomatis update. Beberapa penemuan sistem (Lihat bagian 19,2) menunjukkan lembut negara untuk mengelola koleksi layanan pendaftaran entri. Entri yang hanya petunjuk-mungkin ada sebuah entri untuk layanan yang telah menghilang – dan entri secara otomatis diperbarui oleh multicasts dari layanan, untuk menambahkan entri baru dan tetap entri yang ada saat ini.

Ringkasan dan perspektif

Bagian ini yang digambarkan model interoperation antara komponen volatil sistem. Jika ruang setiap cerdas untuk mengembangkan program antarmuka sendiri, maka manfaat dari mobilitas akan terbatas. Jika komponen tidak mengasalkan dalam ruang cerdas diberikan tetapi pindah ke sana, satu-satunya cara yang ini dapat beroperasi dengan layanan dalam ruang cerdas akan melalui cara menyesuaikan antarmuka secara spontan dengan lingkungan yang baru. Mencapai itu akan memerlukan dukungan runtime sangat canggih, yang belum belum direalisasi di luar beberapa contoh di laboratorium.

Pendekatan yang berbeda, yang digambarkan melalui beberapa contoh di atas, adalah pemrograman berorientasi data. Di satu sisi, Web telah menunjukkan diperpanjang dan massa penerapan paradigma itu. Di sisi lain, ada tidak ada 'peluru perak' yang akan menyelesaikan semua masalah interoperation untuk sistem yang mudah menguap. Sistem berorientasi data perjanjian perdagangan di set fungsi dalam sebuah antarmuka terhadap Perjanjian pada jenis data yang disampaikan sebagai argumen untuk fungsi-fungsi. Sementara XML (Lihat bagian 4.3.3) kadang-kadang disebut sebagai cara yang memfasilitasi data interoperation dengan memungkinkan data untuk menjadi 'Self-describing', bahkan hanya menyediakan kerangka kerja untuk mengungkapkan struktur dan kosa kata. Dalam dirinya sendiri, XML tidak ada untuk berkontribusi apa adalah masalah semantik. Beberapa penulis mempertimbangkan 'semantik Web' [www.w3.org XX] sebagai cara untuk mencapai interoperabilitas antara mesin, tanpa tafsiran manusia.

19.4 Kesadaran sensing dan konteks

Bagian atas telah berkonsentrasi pada aspek volatilitas sistem mobile dan di mana-mana. Bagian ini akan berkonsentrasi pada kepala karakterisasi lain sistem tersebut: bahwa yang terintegrasi dengan dunia fisik. Secara khusus, itu akan mempertimbangkan arsitektur untuk pengolahan data yang dikumpulkan dari sensor dan pengenal konteks sistem yang dapat menanggapi keadaan fisik mereka (penginderaan). Penginderaan lokasi fisik parameter penting, akan dikaji dengan lebih terperinci.

Karena pengguna dan perangkat yang kita sedang mempertimbangkan sering mobile, dan karena dunia fisik menyajikan kesempatan yang berbeda untuk kaya interaksi di seluruh lokasi dan waktu, keadaan fisik mereka sering relevan sebagai penentu sistem perilaku. Sistem pengereman pengenal konteks mobil bisa menyesuaikan perilaku menurut kondisi jalan Apakah es. Perangkat pribadi secara otomatis dapat memanfaatkan sumber daya yang terdeteksi di lingkungannya, seperti layar besar. Sistem aktif lencana memberikan contoh yang bersejarah: lokasi pengguna-, lokasi mereka memakai lencana – digunakan untuk mengidentifikasi telepon mana panggilan mereka harus dialihkan ke [ingin et al. 1992], di hari-hari sebelum ponsel.

Konteks entitas (orang, tempat atau hal, Apakah elektronik atau sebaliknya) merupakan aspek yang keadaan fisik relevansi sistem perilaku. Konteks termasuk nilai-nilai relatif sederhana seperti lokasi, waktu dan suhu, identitas pengguna terkait – misalnya, satu operasi perangkat- atau pengguna lain dekat; dan kehadiran dan keadaan objek seperti perangkat lain, misalnya, layar. Konteks dapat dikodifikasikan dan ditindaklanjuti melalui aturan, seperti 'jika pengguna adalah Fred dan dia di Ruang Rapat IQ Labs, dan jika ada tampilan dalam 1 m, kemudian Tampilkan informasi dari perangkat pada layar-kecuali seorang karyawan bebas - IQ Labs juga hadir'. Konteks juga diambil untuk menyertakan atribut yang lebih kompleks seperti aktivitas pengguna. Sebagai contoh, telepon pengenal konteks yang harus memutuskan apakah untuk cincin memerlukan jawaban untuk pertanyaan seperti ' adalah pengguna di bioskop menonton film atau apakah mereka sambil ngobrol dengan teman-teman mereka sebelum pemutaran? "

19.4.1 Sensor

Penentuan nilai kontekstual dimulai dengan sensor, yang merupakan kombinasi dari hardware dan/atau perangkat lunak yang digunakan untuk mengukur nilai-nilai yang kontekstual. Beberapa contoh adalah:

Lokasi, kecepatan dan orientasi sensor: satelit navigasi (GPS) unit untuk menyediakan koordinat global dan kecepatan; accelerometers untuk mendeteksi gerakan; magnetometers dan giroskop untuk menyediakan data orientasi.





Sensor ambien kondisi: termometer; sensor yang mengukur intensitas cahaya; mikrofon untuk suara intensitas.

Kehadiran sensor: sensor yang mengukur fisik beban, misalnya untuk mendeteksi kehadiran seseorang duduk di kursi atau berjalan di lantai; perangkat yang membaca elektronik pengidentifikasi Tag didekatkan kepada mereka, seperti pembaca RFID (identifikasi frekuensi Radio, sekumpulan NFC) [ingin 2004], atau inframerah pembaca seperti yang digunakan untuk merasakan aktif lencana; perangkat lunak yang digunakan untuk mendeteksi tombol yang ditekan pada komputer.

Kategori di atas dimaksudkan hanya sebagai contoh sensor digunakan untuk tujuan tertentu. Sebuah sensor tertentu dapat menempatkan untuk berbagai keperluan. Sebagai contoh, kehadiran manusia bisa dideteksi menggunakan mikrofon di ruang pertemuan dan lokasi obyek bisa ditentukan oleh mendeteksi keberadaan lencana yang aktif di tempat yang dikenal.

Aspek penting dari sensor adalah model kesalahan. Semua sensor menghasilkan nilai dengan beberapa tingkat kesalahan. Beberapa sensor, misalnya termometer, dapat diproduksi sehingga kesalahan jatuh dalam batas toleransi yang cukup dikenal, dan dengan distribusi dikenal (misalnya, Gaussian). Lain, seperti unit navigasi satelit, memiliki rumit mode kesalahan yang bergantung pada keadaan mereka saat ini. Pertama, mereka mungkin gagal untuk menghasilkan nilai sama sekali dalam keadaan tertentu. Unit navigasi satelit tergantung pada set satelit yang saat ini nampak. Mereka biasanya tidak bekerja sama sekali di dalam bangunan, yang dinding menipiskan sinyal satelit terlalu banyak untuk unit untuk beroperasi. Kedua, perhitungan lokasi unit tergantung pada faktor-faktor yang dinamis termasuk posisi satelit, keberadaan occlusions terdekat dan kondisi ionospheric. Bahkan di luar bangunan, sebuah unit biasanya akan memberikan nilai yang berbeda pada waktu yang berbeda untuk lokasi yang sama, dengan hanya dengan perkiraan yang terbaik-upaya akurasi saat ini. Dekat bangunan atau benda lainnya tinggi yang occlude atau mencerminkan sinyal radio, satelit cukup dapat terlihat untuk menghasilkan membaca, tapi akurasi mungkin rendah dan membaca bahkan mungkin palsu.

Cara yang berguna untuk menyatakan sebuah sensor kesalahan perilaku adalah dengan mengutip akurasi yang mencapai untuk proporsi tertentu dari pengukuran, misalnya: 'Di daerah tertentu, unit navigasi satelit yang ditemukan untuk menjadi akurat dalam 10 m untuk 90% dari pengukuran'. Pendekatan lain adalah untuk menyatakan nilai kepercayaan untuk ukuran tertentu-beberapa (biasanya antara 0 dan 1) dipilih sesuai dengan ketidakpastian yang ditemui dalam berasal pengukuran.

19.4.2 Penginderaan arsitektur

Salber et al. [1999] mengidentifikasi empat fungsional tantangan harus diatasi dalam merancang sistem pengenal konteks:

Integrasi istimewa sensor: sensor yang diperlukan untuk komputasi pengenal konteks tidak biasa dalam konstruksi dan antarmuka pemrograman. Pengetahuan khusus mungkin diperlukan untuk benar menempatkan mereka dalam skenario fisik menarik (misalnya, mana harus accelerometers dipasang untuk mengukur pengguna lengan gerakan?), dan mungkin ada sistem isu-isu seperti ketersediaan driver untuk sistem operasi standar.

Abstrak dari sensor data: aplikasi membutuhkan abstraksi atribut kontekstual, untuk menghindari keprihatinan dengan kekhasan dari sensor individu. Masalah adalah bahwa bahkan sensor yang dapat menempatkan tujuan-tujuan serupa biasanya menyediakan data mentah yang berbeda. Sebagai contoh, lokasi tertentu mungkin akan merasakan sebagai sepasang lintang/bujur oleh sensor navigasi satelit atau merasakan sebagai string 'Joe's Café' membaca dari sumber inframerah yang terdekat. Baik, baik atau tidak mungkin menjadi kebutuhan aplikasi untuk berfungsi. Perlu ada kesepakatan mengenai arti kontekstual atribut, dan perangkat lunak untuk menyimpulkan atribut tersebut dari nilai-nilai mentah sensor.

Sensor output mungkin perlu digabungkan: terpercaya penginderaan fenomena mungkin memerlukan menggabungkan nilai dari beberapa sumber yang rawan kesalahan. Misalnya, mendeteksi kehadiran seseorang mungkin memerlukan mikrofon (untuk mendeteksi suara- tapi terdekat suara mungkin mengganggu), lantai tekanan sensor (untuk mendeteksi gerakan manusia- tapi pola pengguna yang berbeda yang sulit untuk membedakan) dan video (untuk mendeteksi bentuk manusia – tapi wajah Fitur sulit untuk membedakan). Menggabungkan sumber sensor untuk mengurangi kesalahan dikenal sebagai sensor fusi. Sama, aplikasi mungkin memerlukan output dari sensor jenis yang berbeda untuk mengumpulkan beberapa atribut kontekstual yang dibutuhkan untuk beroperasi. Sebagai contoh, sebuah ponsel pintar pengenal konteks yang memutuskan apakah akan menyajikan data pada layar terdekat memerlukan data dari sumber-sumber sensor yang berbeda, termasuk orang-orang untuk mendeteksi siapa dan perangkat yang saat ini, dan satu atau lebih merasakan lokasi.

Konteks dinamis: pengenal konteks aplikasi biasanya membutuhkan untuk menanggapi perubahan dalam konteks, dan tidak hanya untuk membaca sebuah snapshot dari itu. Sebagai contoh, smartphone pengenal konteks perlu kosong data dari tampilan kamar jika nonemployee masuk, atau jika Fred (pemilik perangkat) meninggalkan ruangan.

Para peneliti telah menyusun berbagai arsitektur perangkat lunak untuk mendukung pengenal konteks aplikasi ketika berurusan dengan beberapa atau semua isu-isu di atas. Kami memberikan contoh arsitektur untuk situasi di mana set dari sensor yang tersedia lebih atau kurang dikenal dan statis, dan arsitektur untuk menentukan kontekstual atribut dari volatile koleksi sensor (dimana kebutuhan non-fungsional seperti sebagai energi juga menjadi menonjol).

Penginderaan dalam infrastruktur • aktif lencana sensor awalnya dikerahkan di laboratorium penelitian Olivetti di Cambridge, Inggris di dikenal, tetap lokasi di gedung. Salah satu aplikasi pengenal konteks asli adalah sebagai bantuan untuk telepon resepsionis. Jika seseorang disebut, mengatakan, Roy Want, resepsionis akan mencari lokasi kamar Roy pada layar, sehingga mereka bisa menempatkan panggilan ekstensi yang sesuai. Sistem ditentukan Roy lokasi dari informasi mengenai dimana dia memakai lencana ini terakhir merasakan, dan ditampilkan informasi tersebut kepada resepsionis. Sistem untuk memproses data aktif lencana dan data lain yang kontekstual yang halus di Olivetti Research Labs dan di Xerox PARC. Harter dan Hopper [1994] menggambarkan seluruh sistem untuk memproses lokasi acara. Schilit et al. [1994] ini juga menggambarkan sistem yang dapat memproses aktif lencana penginderaan peristiwa, melalui apa yang mereka sebut tindakan konteks-dipicu. Sebagai contoh, spesifikasi:

Kopi dapur tiba bermain - v 50/sounds/rooster.au'

akan menyebabkan bunyi untuk dimainkan setiap kali lencana adalah merasakan mendarat di sensor dipasang oleh mesin kopi di dapur.

Gambar 19.2 identitas keberadaan widget kelas dari toolkit konteks















Konteks Toolkit [Salber et al. 1999] adalah contoh dari arsitektur sistem untuk aplikasi pengenal konteks yang lebih umum daripada yang didasarkan pada teknologi tertentu seperti lencana aktif. Itu para desainer dari konteks Toolkit yang menyatakan empat tantangan untuk sistem pengenal konteks yang tercantum di atas. Arsitektur mereka mengikuti model bagaimana grafis pengguna antarmuka yang dibangun dari perpustakaan widget yang dapat digunakan kembali, yang menyembunyikan sebagian besar kekhawatiran yang berurusan dengan hardware yang mendasari- dan banyak interaksi manajemen-dari pengembang aplikasi. Konteks Tzoolkit mendefinisikan konteks widget. Komponen-komponen perangkat lunak yang dapat digunakan kembali hadir suatu abstraksi dari beberapa jenis konteks atribut sambil menyembunyikan kompleksitas sensor aktual yang digunakan. Sebagai contoh, 19,5 gambar menunjukkan antarmuka widget identitas kehadiran. Itu menyediakan kontekstual atribut untuk perangkat lunak jajak pendapat widget, dan ini menimbulkan callback ketika kontekstual informasi perubahan (yaitu, pengguna tiba atau daun). Sebagaimana ditunjukkan di atas, informasi keberadaan bisa berasal dari beberapa kombinasi sensor dalam implementasi yang diberikan; abstraksi memungkinkan penulis aplikasi untuk mengabaikan rincian tersebut.

Widget dibangun dari komponen didistribusikan. Generator memperoleh data mentah dari sensor seperti sensor tekanan lantai, dan menyediakan data untuk widget. Widget menggunakan layanan dari penerjemah, yang abstrak kontekstual atribut dari generator data tingkat rendah, nilai-nilai tingkat yang lebih tinggi seperti identitas orang yang hadir dari jejak khas mereka berasal. Akhirnya, widget yang disebut server menyediakan lebih lanjut tingkat abstraksi dengan mengumpulkan, menyimpan dan menafsirkan kontekstual atribut dari widget lainnya. Misalnya, sebuah Person Finder widget untuk bangunan dapat dibangun dari identitas kehadiran widget untuk setiap ruangan dalam gedung (gambar 19,6), yang pada gilirannya dapat diimplementasikan menggunakan langkah kaki interpretasi dari lantai tekanan bacaan atau menghadapi pengakuan dari pengambilan video. Person Finder widget merangkum kompleksitas dari sebuah bangunan untuk penulis aplikasi.

Memandang dalam kaitannya dengan empat tantangan bahwa konteks Toolkit desainer menyatakan, arsitektur mereka menampung berbagai jenis sensor; itu diarahkan produksi abstrak kontekstual atribut dari data mentah sensor; dan, melalui pemungutan suara atau callback, sebuah pengenal konteks aplikasi dapat belajar tentang perubahan dalam konteks. Namun, toolkit berjalan hanya cara yang terbatas terhadap solusi praktis. Itu tidak membantu pengguna dan pemrogram untuk mengintegrasikan sensor istimewa; baik Apakah itu memecahkan salah satu masalah sulit yang melekat dalam proses interpretasi dan kombinasi untuk kasus tertentu.

Sensor nirkabel jaringan • kita telah membahas arsitektur untuk aplikasi di mana set sensor adalah relatif stabil – misalnya, mana sensor dipasang di kamar di sebuah bangunan, sering dengan daya eksternal dan kabel koneksi jaringan. Kita sekarang beralih ke kasus-kasus yang mana set sensor bentuk sistem yang mudah menguap. Jaringan nirkabel sensor terdiri dari (biasanya) sejumlah besar perangkat kecil, biaya rendah atau node, masing-masing dengan Fasilitas untuk komunikasi penginderaan, komputasi dan nirkabel [coller et al. 2004]. Itu adalah kasus khusus dari jaringan ad hoc: node fisik diatur lebih atau kurang secara acak, tetapi mereka dapat berkomunikasi melalui beberapa hop nirkabel antara rekan-rekan mereka. Tujuan penting desain untuk jaringan ini adalah untuk fungsi tanpa kontrol global; setiap node bootstraps sendiri oleh menemukan tetangga nirkabel dan berkomunikasi melalui mereka sendiri. Bagian 3.5.2 menjelaskan ad hoc konfigurasi jaringan 802.11, tapi daya rendah teknologi seperti ZigBee (IEEE 802.15.4) lebih relevan di sini.

Salah satu alasan mengapa node berkomunikasi tidak dalam sebuah single hop untuk semua node lain tetapi hanya dengan node yang terletak di dekatnya adalah bahwa komunikasi nirkabel mahal dalam hal konsumsi daya, yang meningkatkan sebagai alun-alun berbagai radio. Lain alasan utama untuk membatasi rentang individu radio adalah untuk mengurangi jaringan pertengkaran.

Jaringan nirkabel sensor dirancang untuk dapat ditambahkan ke lingkungan alami atau dibangun yang ada dan berfungsi secara independen dari itu-yaitu, tanpa ketergantungan pada infrastruktur. Mengingat radio mereka terbatas dan penginderaan jarak, node dipasang pada kepadatan cukup untuk membuatnya kemungkinan kedua yang komunikasi multihop akan mungkin antara setiap pasangan node, dan bahwa fenomena yang signifikan dapat merasakan.

Sebagai contoh, mempertimbangkan perangkat yang ditempatkan di seluruh hutan yang tugasnya adalah untuk memantau untuk kebakaran dan mungkin kondisi lingkungan lainnya, seperti adanya hewan. Node ini adalah sangat banyak perangkat yang diperkenalkan pada bagian 19.1.1. Mereka masing-masing memiliki sensor terpasang, misalnya untuk suhu, suara dan cahaya; mereka berjalan pada baterai; dan mereka berkomunikasi dengan perangkat lain dalam mode peer-to-peer melalui jangka pendek radio komunikasi. Volatilitas berasal dari fakta bahwa perangkat ini dapat gagal karena muatan baterai atau kecelakaan seperti kebakaran; dan konektivitas mereka dapat berubah karena kegagalan node (node relay paket antara node lain) atau kondisi lingkungan yang mempengaruhi radio propagasi.

Contoh lain adalah mana node yang melekat pada kendaraan untuk memonitor lalu lintas dan kondisi jalan. Sebuah node yang telah mengamati kondisi miskin dapat me-relay informasi tentang hal itu melalui node pada melewati kendaraan. Dengan konektivitas secara keseluruhan cukup, sistem ini dapat memberikan peringatan kepada pengemudi lain terdekat menuju ke arah masalah. Di sini volatilitas muncul terutama karena gerakan node, yang dengan cepat mengubah keadaan setiap node konektivitas dengan node lain. Ini adalah contoh dari jaringan ad hoc mobile.

Secara umum, sensor nirkabel jaringan yang didedikasikan untuk tujuan khusus aplikasi yang berjumlah mendeteksi alarm tertentu – kondisi menarik seperti kebakaran atau kondisi jalan yang miskin. Setidaknya satu perangkat lebih kuat, akar, biasanya disertakan dalam jaringan, lebih lama jarak komunikasi dengan sistem konvensional yang bereaksi untuk alarm-misalnya, dengan menelepon layanan darurat ketika tidak ada api.

Satu pendekatan arsitektur perangkat lunak untuk sensor jaringan adalah memperlakukan mereka sama ke jaringan konvensional dengan memisahkan lapisan jaringan dari lapisan yang lebih tinggi. Secara khusus, dimungkinkan untuk beradaptasi ada routing algoritma grafik node sebagai mereka secara dinamis menemukan diri mereka dihubungkan oleh link langsung radio mereka, dengan setiap node dapat bertindak sebagai router untuk komunikasi dari node lain. Adaptive routing, yang mencoba untuk mengakomodasi volatilitas jaringan, telah menjadi subyek banyak studi, dan Milanovic et al. [2004] memberikan gambaran dari beberapa teknik.

Namun, membatasi perhatian kepada lapisan jaringan menimbulkan masalah. Pertama, adaptif algoritma routing tidak selalu disetel ke rendah konsumsi energi (dan bandwidth). Kedua, volatilitas melemahkan beberapa asumsi dalam tradisional lapisan di atas lapisan jaringan. Alternatif, pertama-prinsip pendekatan arsitektur perangkat lunak untuk jaringan nirkabel sensor didorong oleh dua persyaratan utama: konservasi energi dan terus beroperasi walaupun volatilitas. Dua faktor mengarah pada tiga ciri arsitektur utama: di jaringan pengolahan, gangguan-toleran jaringan dan model pemrograman berorientasi data.

ProCoSSing di metWOrk. Tidak hanya adalah komunikasi nirkabel benar-benar mahal dalam konsumsi energi, tetapi itu relatif mahal dibandingkan dengan pengolahan. Pottie dan Kaiser [2000] dihitung konsumsi energi dan menemukan bahwa prosesor untuk keperluan umum yang dapat mengeksekusi instruksi 3 juta untuk jumlah yang sama energi (3J) digunakan untuk mengirimkan 1 kbit data 100 m oleh radio. Jadi, secara umum, pengolahan lebih disukai untuk komunikasi: lebih baik untuk menghabiskan beberapa siklus prosesor yang menentukan apakah komunikasi (belum) perlu, daripada untuk membabi buta mengirimkan data penginderaan. Memang, itu sebabnya node dalam jaringan sensor memiliki kemampuan pengolahan yang-jika tidak, mereka bisa memiliki hanya terdiri dari penginderaan modul dan modul komunikasi yang akan mengirimkan merasakan nilai untuk root node untuk diproses.

Frase dalam jaringan pengolahan mengacu pada pengolahan dalam jaringan sensor; itu adalah, pada node. Node dalam jaringan sensor melakukan tugas seperti menggabungkan atau rata-rata nilai-nilai dari node terdekat untuk memeriksa nilai-nilai untuk daerah daripada sensor tunggal menyaring data tanpa bunga atau berulang-ulang data, memeriksa data untuk mendeteksi alarm dan beralih sensor atau menonaktifkan sesuai nilai-nilai yang menjadi merasakan. Misalnya, sensor cahaya rendah daya menunjukkan adanya kemungkinan hewan (karena casting bayangan), maka node dekat ke mana bayang-bayang olah pemain dapat beralih pada sensor kekuatan yang lebih tinggi mereka, seperti mikrofon, untuk mencoba untuk mendeteksi suara hewan. Skema itu memungkinkan mikrofon untuk dimatikan jika tidak, untuk menghemat energi.

Gangguan-toleran jaringan. Argumen end-to-end (Bagian 2.3.3) telah prinsip arsitektur penting untuk sistem terdistribusi. Namun, dalam sistem yang mudah menguap seperti sensor jaringan, mungkin bahwa tidak ada jalan end-to-end ada terus-menerus lama cukup untuk mencapai operasi seperti gerakan data dalam jumlah besar di seluruh sistem. Istilah gangguan toleran jaringan dan penundaan toleran jaringan digunakan untuk protokol untuk mencapai lapisan yang lebih tinggi transfer di jaringan volatile (dan biasanya heterogen) [www.dtnrg.org]. Teknik ini dimaksudkan hanya untuk sensor jaringan tetapi juga jaringan volatil lain, seperti sistem Antarplanet komunikasi yang diperlukan untuk ruang penelitian [www.ipnsig.org]. Daripada mengandalkan konektivitas yang terus-menerus antara dua tetap Endpoint, komunikasi menjadi oportunistik: data yang ditransfer sebagai dan ketika mereka bisa, dan node mengambil tanggung jawab berturut-turut untuk memindahkan data dalam mode toko-dan-maju sampai tujuan end-to-end seperti transportasi massal telah mencapai. Unit transfer antara node dikenal sebagai seikat [musim gugur 2003], yang berisi sumber data aplikasi dan data yang menjelaskan bagaimana mengelola dan memproses baik di akhir dan di antara node. Sebagai contoh, seikat mungkin ditransfer dengan hop-oleh-hop dapat diandalkan transportasi; setelah bundel telah diserahkan, node Penerima bertanggung jawab atas pengiriman berikutnya atas hop berikutnya, dan seterusnya. Prosedur ini tidak bergantung pada setiap rute yang terus-menerus; juga, miskin sumber daya node lega dari menyimpan data segera setelah mereka telah ditransfer ke hop berikutnya. Untuk menjaga terhadap kegagalan, data dapat diteruskan secara berlebihan beberapa node tetangga.

Data pemrograman berorientasi-model: beralih ke interoperation di lapisan aplikasi, berorientasi data termasuk diarahkan Difusi dan proses, query didistribusikan dijelaskan tak lama, telah dikembangkan teknik untuk aplikasi sensor jaringan. Teknik ini mengakui perlunya pengolahan dengan memasukkan metode untuk mendistribusikan pengolahan pada node dalam jaringan. Selain itu, teknik-teknik menyadari volatilitas sensor jaringan dengan menghilangkan identitas node – dan nama-nama lain untuk komponen seperti proses atau benda-benda yang berhubungan dengan sebuah node. Seperti yang kita bahas di bagian 19.3.2, setiap program yang bergantung pada keberadaan terus-menerus node atau komponen tidak akan bekerja bersemangat dalam sistem stabil, karena ada kesempatan yang signifikan komunikasi dengan simpul yang atau komponen akan menjadi mustahil.

Di diarahkan difusi [Heidemann et al. 2001], programmer menentukan kepentingan, yang Deklarasi tugas-tugas yang disuntikkan ke dalam sistem di node tertentu yang disebut tenggelam. Sebagai contoh, sebuah node dapat menyatakan minat dalam kehadiran hewan. Minat masing-masing berisi atribut-nilai pasangan, yang ' nama ' node yang akan melakukan tugas. Dengan demikian node disebut tidak melalui identitas mereka tetapi melalui karakteristik yang diperlukan untuk melakukan tugas yang diperlukan, seperti nilai-nilai dalam rentang tertentu yang sedang merasakan tidak.

Sistem runtime menjalar kepentingan dari wastafel melalui jaringan dalam proses yang disebut difusi (gambar 19.7a). Wastafel meneruskan kepentingan tetangga node. Setiap node yang menerima bunga menyimpan catatan itu, bersama dengan informasi yang diperlukan untuk melewatkan data kembali ke node wastafel, sebelum menyebarkan lebih lanjut dalam pencarian untuk node yang sesuai minat. Sebuah node sumber adalah salah satu yang cocok dengan bunga oleh virtue Karakteristik yang cocok pasangan nilai atribut yang ditentukan dalam bunga-misalnya, itu dapat dilengkapi dengan sensor yang sesuai. Mungkin ada beberapa sumber node untuk kepentingan tertentu (seperti mungkin ada beberapa tenggelam di mana kepentingan disuntik). Ketika sistem runtime menemukan sebuah node sumber pencocokan, melewati bunga untuk aplikasi, yang ternyata pada sensor yang diperlukan dan menghasilkan data yang diperlukan oleh terdiri dari node yang diteruskan bunga dari wastafel.

Karena, secara umum, node tidak memiliki pengetahuan apriori yang node lainnya dapat bertindak sebagai sumber, diarahkan difusi mungkin melibatkan banyak komunikasi yang berlebihan. Paling buruk, seluruh jaringan mungkin dibanjiri dengan minat. Namun, kadang-kadang kepentingan keprihatinan hanya fisik daerah tertentu, seperti area tertentu di hutan. Jika sensor node tahu lokasi mereka, kemudian bunga perlu diterapkan hanya untuk target area. Pada prinsipnya, node bisa dilengkapi dengan navigasi satelit receiver untuk tujuan itu, meskipun cakupan alami seperti pohon-pohon yang padat dapat menghalangi bacaan.

Aliran data dari sumber tenggelam dikendalikan oleh gradien, yang (arah, nilai) pasangan antara node yang ditetapkan untuk setiap minat sebagai meredakan melalui jaringan (gambar 19.7b). Arah adalah bahwa di mana data mengalir, dan nilai khusus aplikasi tetapi dapat digunakan untuk mengontrol laju aliran. Misalnya, wastafel mungkin memerlukan data tentang penampakan hewan hanya sejumlah tertentu dari kali per jam. Mungkin ada beberapa jalan dari sumber yang diberikan untuk diberikan wastafel. Sistem dapat menerapkan berbagai strategi untuk memilih di antara mereka, termasuk menggunakan jalan secara berlebihan jika terjadi gagal, atau menerapkan heuristik untuk menemukan jalan panjang minimum (gambar 19.7 c).

Para pemrogram aplikasi juga dapat menyediakan software yang disebut filter yang dijalankan pada setiap node untuk mencegat aliran data pencocokan melewati node. Misalnya, filter bisa menekan duplikat hewan-deteksi alarm yang berasal dari berbagai node penginderaan hewan sama (mungkin node antara sumber dan tenggelam dalam gambar 19.7 c).

Pendekatan lain yang berorientasi data di pemrograman sensor jaringan adalah proses [Gehrke dan Madden 2004] query yang didistribusikan. Dalam kasus ini, namun, SQL seperti bahasa yang digunakan untuk menyatakan permintaan yang akan dijalankan secara kolektif oleh node. Rencana optimal untuk mengeksekusi query biasanya diproses pada pengguna PC atau pangkalan di luar jaringan, mempertimbangkan biaya dikenal yang terkait dengan penggunaan node tertentu sensor. Stasiun base mendistribusikan query dioptimalkan untuk node dalam jaringan sepanjang rute dinamis ditemukan, mempertimbangkan pola-pola komunikasi yang memproses permintaan memerlukan, seperti pengiriman data ke koleksi poin untuk rata-rata. Sebagai dengan difusi diarahkan, data dapat dikumpulkan dalam jaringan untuk amortisasi biaya komunikasi. Hasil mengalir kembali ke stasiun base untuk diproses lebih lanjut.

19.4.3 Lokasi penginderaan

Dari semua jenis penginderaan digunakan di mana-mana komputasi, lokasi penginderaan telah menerima perhatian yang paling. Lokasi adalah parameter yang jelas untuk mobile, pengenal konteks komputasi. Tampaknya alami untuk membuat aplikasi dan perangkat berperilaku dengan cara yang tergantung pada mana pengguna, seperti dalam contoh kami telepon pengenal konteks. Tapi lokasi penginderaan memiliki banyak kegunaan lain dari membantu pengguna menavigasi melalui daerah-daerah perkotaan atau pedesaan untuk menentukan jaringan rute oleh geografi [Imielinski dan Navas 1999].

Sistem penginderaan lokasi dirancang untuk memperoleh data tentang posisi entitas, termasuk benda-benda dan manusia, dalam beberapa jenis kepentingan daerah. Di sini kita berkonsentrasi pada entitas lokasi, tetapi beberapa teknologi juga memperoleh nilai untuk orientasi mereka dan nilai-nilai tingkat tinggi seperti kecepatan mereka.

Perbedaan yang penting, terutama ketika datang untuk privasi, adalah apakah obyek atau pengguna menentukan lokasi sendiri, atau Apakah sesuatu menentukan lokasinya. Kasus terakhir ini dikenal sebagai pelacakan.

Gambar 19,8 (berdasarkan angka serupa di Hightower dan Borriello [2001]) menunjukkan beberapa jenis lokasi teknologi, dan beberapa karakteristik utama mereka. Salah satu ciri adalah mekanisme yang digunakan untuk memperoleh lokasi. Mekanisme yang kadang-kadang memaksakan pembatasan di mana teknologi dapat digunakan, seperti Apakah teknologi bekerja di dalam ruangan atau di luar ruangan, dan instalasi apa yang diperlukan dalam infrastruktur lokal. Mekanisme ini juga dikaitkan dengan akurasi, diberikan dalam gambar 19,8 untuk urutan besarnya. Teknologi berikutnya, berbeda menghasilkan berbagai jenis data tentang lokasi obyek. Akhirnya, teknologi berbeda dalam informasi apa, jika ada, disediakan tentang entitas yang berada, yang berkaitan dengan pengguna kekhawatiran tentang privasi. Teknologi tambahan yang disurvei dalam Hightower dan Samir.

US Global Positioning System (GPS) adalah contoh yang paling terkenal dari sistem navigasi satelit-sebuah sistem untuk menentukan perkiraan posisi penerima atau unit dari sinyal satelit. Sistem navigasi satelit lain adalah sistem GLONASS Rusia dan sistem Galileo Eropa yang direncanakan. GPS, fungsi yang luar hanya karena redaman sinyal di dalam bangunan, digunakan secara rutin di kendaraan dan dalam perangkat genggam navigasi, dan semakin untuk aplikasi kurang konvensional seperti pengiriman tergantung pada lokasi media kepada orang-orang di daerah perkotaan [Hull et al. 2004]. Posisi receiver di dihitung terhadap subset dari 24 satelit yang mengorbit bumi di enam pesawat, 4 satelit per pesawat. Satelit masing-masing mengorbit bumi tentang dua kali per hari, penyiaran saat dari on-board jam atom dan informasi tentang lokasi rentang kali (seperti yang dinilai berdasarkan pengamatan dari tanah Stasiun). Penerima adalah lokasi yang ditentukan menghitung jarak dari masing-masing beberapa satelit menggunakan perbedaan antara waktu kedatangan sinyal dan waktu itu disiarkan-yaitu waktu dikodekan dalam sinyal- dan perkiraan kecepatan radio propagasi dari satelit untuk

19,8 Mencari beberapa teknologi penginderaan lokasi

Jenis mekanisme keterbatasan jenis akurasi data lokasi privasi

GPS di luar ruangan Multilateration 1-10 m mutlak ya geografis

dari satelit radio hanya (satelit Koordinat (lintang, 80 l] 1 ° 02€ 8 visibilitas) bujur, ketinggian)

Siaran Radio dari daerah dengan 10 m - 1 km dekat dengan dikenal ya beaconing nirkabel (biasanya entitas dasar nirkabel

Stasiun (selular, cakupan semantik) 802.11, Bluetooth)

Aktif kelelawar Multilateration langit-langit - 10 cm relatif (kamar) Bat

dari radio dan Mount koordinat identitas USG SÉÍNS OÍS diungkapkan

Ultra Wide Multilateration Receiver 15 cm relatif (kamar) Tag Band dari penerimaan instalasi koordinat identitas

kacang-kacangan radio yang diungkapkan

Aktif inframerah penginderaan sinar matahari atau kamar ukuran kedekatan dikenal lencana lencana neon entitas (biasanya identitas

cahaya semantik) diungkapkan

Otomatis RFID, dekat bidang pembaca 1 cm−10 m dengan Tag dikenal identifikasi komunikasi, instalasi entitas (biasanya identitas tag visual tag (misalnya semantik) diungkapkan

Barcode)

Mudah hidup visi, tidak kamera variabel relatif (kamar)

Triangulasi instalasi Koordinat

Bumi. Penerima kemudian menghitung posisinya menggunakan perhitungan trigonometri yang dikenal sebagai multilateration. Sekurangnya tiga satelit harus terlihat dari penerima untuk mendapatkan posisi. Penerima dapat menghitung hanya lintang dan bujur jika hanya tiga satelit terlihat; dengan satelit lebih terlihat, ketinggian juga akan dihitung.

Metode posisi lain yang berpotensi bekerja atas wilayah yang luas, setidaknya di daerah yang sangat padat, adalah untuk mengidentifikasi dekat Beacon dalam bentuk tetap nirkabel node dengan jangkauan terbatas transmisi. Perangkat dapat membandingkan kekuatan sinyal seperti ukuran beacon yang terdekat. Stasiun basis selular untuk ponsel (juga dikenal sebagai menara sel) masing-masing memiliki cell ID; 802.11 akses poin memiliki dasar Layanan Set Identifier (BSSID). Beacon beberapa siaran informasi identitas; orang lain yang ditemukan. Sebagai contoh, banyak 802.11 akses poin siaran pengenal mereka, sedangkan perangkat Bluetooth menyediakan pengenal yang berdasarkan penemuan oleh perangkat yang lain.

Radio beaconing tidak menentukan suatu entitas posisi per se, hanya kedekatannya dengan entitas lain. Jika posisi beacon dikenal, maka posisi sasaran entitas yang dikenal dalam jangkauan radio beacon. Posisi mutlak memerlukan mendongak pengenal beaconed dalam database lokasi. Penyedia telekomunikasi mengungkapkan informasi posisi menggunakan lokasi menara seluler mereka, baik secara langsung maupun melalui pihak ketiga. Beberapa perusahaan, seperti Google, menggunakan kendaraan secara sistematis pukat  daerah untuk 802.11 akses poin, yang mereka peta menggunakan GPS posisi. Lokasi sebuah smartphone dapat ditentukan untuk dalam puluhan meter ketika dalam kisaran seperti titik akses dipetakan (dengan asumsi bahwa titik akses tidak telah dipindah, yang kadang-kadang terjadi).

Dekat dapat menjadi sebuah properti yang berguna dalam dirinya sendiri. Misalnya, menggunakan kedekatan mungkin untuk membuat aplikasi lokasi-sadar yang dipicu oleh kembali ke lokasi yang dikunjungi sebelumnya-pengguna menunggu di Stasiun kereta api bisa membuat lansiran yang mengingatkan mereka untuk membeli tiket kereta api bulanan baru ketika mereka memasuki kedekatan kereta api Stasiun (yaitu, ketika perangkat mereka menerima pengenal beaconed sama) pada hari pertama bulan. Bluetooth, teknologi alternatif radio, memiliki properti menarik bahwa beberapa radio Beacon – misalnya, yang terintegrasi dengan ponsel-ponsel sendiri adalah. Ini bisa berguna juga. Sebagai contoh, kereta komuter bisa menerima data dari orang-orang yang mereka sering bepergian dengan-'akrab Asing'-yang disediakan melalui ponsel mereka.

Berputar kembali ke bentuk-bentuk yang lebih pasti posisi, GPS berasal objek mutlak (yaitu global) koordinat di luar ruangan. Sebaliknya, sistem aktif Bat [Harter et al. 2002] dirancang untuk menentukan lokasi objek atau manusia, dalam koordinat relatif – yang berkaitan dengan kamar di mana objek atau pengguna berada (gambar 19,9). Sistem aktif kelelawar akurat untuk sekitar 10 cm. Lokasi indoor relatif akurat informasi berguna untuk aplikasi seperti mendeteksi layar yang pengguna terdekat dan mereka PC desktop dengan layar menggunakan VNC teleporting protokol (Lihat 'klien tipis implementasi' di bagian 2.3.2). Kelelawar adalah perangkat yang melekat pada pengguna atau objek yang letaknya dapat ditemukan, dan yang menerima sinyal radio dan memancarkan sinyal USG. Mengandalkan sistem grid USG receiver di lokasi-lokasi yang dikenal di langit-langit, ditransfer ke stasiun basis. Untuk menemukan kelelawar, stasiun base secara bersamaan memancarkan sinyal radio untuk kelelawar yang mengandung pengenal yang, dan kabel sinyal ke penerima USG langit-langit-Mount. Ketika kelelawar dengan pengenal diberikan menerima sinyal stasiun base, memancarkan pulsa pendek USG. Ketika Penerima langit-langit menerima sinyal stasiun base, dimulai sebuah timer. Karena kecepatan propagasi elektromagnetis jauh lebih besar daripada kecepatan suara, emisi Nadi USG dan awal timer yang efektif simultan. Ketika Penerima langit-langit yang menerima pulsa USG sesuai (dari kelelawar), itu membaca waktu berlalu dan meneruskannya ke stasiun base, yang menggunakan perkiraan kecepatan suara untuk menyimpulkan Penerima jarak dari kelelawar. Jika stasiun base menerima jarak dari setidaknya tiga bebas-colinear USG receiver, itu dapat menghitung posisi kelelawar di dalam ruang 3D.

Ultra Wide Band (UWB) adalah teknologi komunikasi nirkabel untuk menyebarkan data harga yang agak tinggi (100 Mbps atau lebih) atas rentang pendek (hingga 10 m). Bit yang diterapkan pada daya sangat rendah tetapi atas spektrum frekuensi sangat luas, menggunakan pulsa tipis-urutan 1 ns lebar. Mengingat ukuran dan bentuk Nadi, mungkin untuk mengukur kali penerbangan dengan akurasi besar. Dengan mengatur penerima dalam lingkungan dan menggunakan multilateration dimungkinkan untuk menentukan koordinat UWB tag dengan akurasi sekitar 15cm. Tidak seperti di atas teknologi UWB sinyal menyebarkan melalui dinding dan benda-benda lain khas yang ditemukan di lingkungan yang dibangun. Konsumsi daya rendah adalah keuntungan lain.

Beberapa peneliti telah bereksperimen dengan penggunaan Node nirkabel yang sudah ada seperti titik akses nirkabel 802.11 melampaui beaconing sederhana, dan mencoba untuk menyimpulkan lokasi klien nirkabel dengan mengukur kekuatan sinyal sehubungan dengan beberapa jalur akses. Dalam prakteknya, kehadiran entitas lain di lingkungan yang menipiskan, mencerminkan atau membiaskan sinyal berarti kekuatan sinyal yang tidak fungsi sederhana dari jarak dari pemancar. Satu pendekatan untuk berurusan dengan masalah itu adalah sidik jari, yang probabilistically menentukan lokasi dari karakteristik kekuatan sinyal yang diukur seluruh ruang. Sebagai bagian dari proyek laboratorium tempat, Cheng et al. [2005] mempertimbangkan beberapa teknik untuk menentukan lokasi dari kekuatan sinyal, akurasi yang dapat diperoleh, dan jumlah kalibrasi yang terlibat.

Teknologi yang sebelumnya memberikan data tentang lokasi fisik suatu objek: koordinat di daerah fisik. Salah satu keuntungan untuk mengetahui lokasi fisik adalah bahwa, melalui database termasuk sistem informasi geografis (GIS) dan dunia model dibangun ruang, satu lokasi dapat terkait dengan berbagai jenis informasi tentang objek atau hubungannya dengan benda-benda lainnya. Namun, banyak upaya diperlukan untuk menghasilkan dan mempertahankan database mereka, yang dapat tunduk pada tingkat tinggi perubahan.

Sebaliknya, sistem aktif lencana (bagian 19.1) menghasilkan objek semantik Lokasi: lokasi yang nama atau keterangan. Sebagai contoh, jika sebuah lencana dirasakan oleh Penerima inframerah di ruang "101', maka lokasi lencana yang bertekad untuk menjadi 'Kamar 101'. (Tidak seperti dengan kebanyakan sinyal radio, bahan bangunan sangat menipiskan sinyal infra merah sehingga lencana tidak mungkin di luar ruang.) Bahwa data yang memberitahu kita apa-apa secara eksplisit tentang lokasi dalam ruang, tapi itu memberikan pengguna dengan informasi yang berkaitan dengan pengetahuan mereka tentang dunia yang mereka tinggal di. Sebaliknya, lintang dan bujur dari tempat yang sama, seperti 51 ° 27.010 N, 0.02 ° 37.107 W, adalah berguna, mengatakan, menghitung jarak ke tempat lain; tapi sulit bagi manusia untuk bekerja dengan. Perhatikan bahwa radio Beacon-yang membalikkan aktif lencana teknologi dengan menempatkan penerima target harus ditempatkan bukan dalam infrastruktur-dapat digunakan untuk memberikan lokasi semantik atau fisik.

Lencana aktif adalah bentuk khusus identifikasi otomatis Tag: elektronik dapat dibaca pengidentifikasi biasanya dirancang untuk aplikasi massal industri. Identifikasi otomatis Tag termasuk RFID [ingin 2004]. Dekat Tag bidang komunikasi (NFC) [www.nfe-forum.org] dan mesin terbang atau simbol-simbol visual lainnya seperti barcode-terutama mereka yang dirancang untuk dapat dibaca pada jarak dengan kamera [de Ipiña et al. 2002]. Tag ini melekat pada objek yang letaknya yang akan ditentukan. Ketika mereka berada dibaca oleh pembaca dengan rentang yang terbatas dan pada lokasi yang dikenal, objek target lokasi yang menjadi dikenal.

Akhirnya, teknik visi komputer dapat digunakan untuk menemukan objek seperti manusia melihat oleh satu atau lebih kamera. Hidup mudah proyek [Krumm et al. 2000] digunakan visi algoritma pada feed dari beberapa kamera. Objek target dapat terletak jika itu dapat diakui oleh kamera di lokasi yang terkenal. Dengan beberapa kamera di lokasi yang terkenal, pada prinsipnya perbedaan antara objek penampilan dalam gambar mereka dapat digunakan untuk menentukan lokasi objek lain acurately. Lebih khusus perangkat menggabungkan terlihat cahaya imaging dengan kisaran-temuan inframerah untuk menentukan kehadiran manusia dan penempatan dari tangan dan kaki mereka sebagai masukan gestural, misalnya untuk

permainan.

Seperti yang ditunjukkan dalam studi kasus Cooltown (bagian 19.7.2), beberapa lokasi di atas teknologi-identifikasi terutama otomatis tag dan inframerah Beacon – dapat juga digunakan untuk memberikan akses ke informasi dan pelayanan mengenai entitas yang dilampirkan, melalui pengidentifikasi yang mereka sediakan.

Bagaimana teknologi di atas membandingkan terhadap privasi? Solusi GPS menyediakan privasi mutlak: tanpa titik dalam operasi GPS adalah informasi tentang perangkat yang menerima ditularkan di tempat lain. Radio beaconing juga dapat memberikan privasi mutlak tetapi itu tergantung pada bagaimana digunakan. Jika perangkat hanya mendengarkan Beacon dan tidak pernah dinyatakan berkomunikasi dengan infrastruktur, kemudian ini mempertahankan privasi. Sebaliknya, teknologi lainnya pelacakan teknologi. Aktif kelelawar, UWB, lencana aktif dan metode identifikasi otomatis setiap menghasilkan sebuah identifier infrastruktur yang menunjukkan kehadiran di lokasi yang dikenal pada waktu dikenal. Bahkan jika pengguna terkait tidak mengungkapkan identitas mereka, mungkin mungkin untuk menyimpulkan itu. Akhirnya, mudah hidup visi teknik mengandalkan mengenali pengguna menemukan mereka, jadi identitas pengguna lebih langsung diungkapkan.

Arsitektur untuk lokasi-sensing * dua karakteristik-karakteristik kunci yang diperlukan untuk sistem Lokasi: keumuman sehubungan dengan jenis sensor yang digunakan untuk lokasi-sensing, dan skalabilitas jumlah objek harus ditempatkan dan tingkat lokasi update peristiwa yang terjadi bila ponsel benda seperti orang dan kendaraan mengubah lokasi mereka. Peneliti dan pengembang telah menghasilkan arsitektur untuk lokasi penginderaan kecil-di ruang smart individu seperti Kamar, bangunan, atau lingkungan alam yang dilindungi oleh sensor jaringan – dan sistem informasi geografis yang sangat skalabel yang dimaksudkan untuk menutupi area yang luas dan memiliki lokasi sangat banyak objek.

Lokasi tumpukan [Hightower et al. 2002, Graumann et al. 2003] bertujuan untuk memenuhi persyaratan untuk keumuman. Ini membagi lokasi-sensing sistem untuk individu cerdas ruang dalam lapisan. Lapisan sensor berisi driver untuk ekstraksi data mentah dari berbagai lokasi sensor. Lapisan pengukuran kemudian berubah bahwa data mentah menjadi jenis pengukuran umum termasuk jarak, sudut dan kecepatan. Lapisan fusi adalah lapisan terendah yang tersedia untuk aplikasi. Ini menggabungkan pengukuran dari sensor yang berbeda (biasanya dari jenis yang berbeda) untuk menyimpulkan lokasi objek dan menyediakan melalui antarmuka yang seragam. Karena sensor menghasilkan data yang tidak pasti, kesimpulan dari lapisan fusi probabilitas. Fox et al. [2003] survey beberapa teknik Bayesian tersedia. Lapisan pengaturan menyimpulkan hubungan antara objek, seperti apakah mereka berada bersama. Di atas adalah lapisan untuk menggabungkan



BAGIAN 19,5 KEAMANAN DAN PRIVASI 857

Lokasi data dengan data dari jenis lain dari sensor untuk menentukan atribut kontekstual yang lebih kompleks, seperti apakah sekelompok orang terletak di sebuah rumah semua tertidur. Skalabilitas merupakan perhatian utama dalam sistem informasi geografis. Spatio-sementara pertanyaan seperti 'Yang telah berada di bangunan ini dalam 60 hari terakhir?', 'Apakah seseorang mengikuti saya?' atau ' yang bergerak objek di wilayah ini yang paling bahaya di bertabrakan? "menggambarkan skalabilitas. Jumlah objek-khususnya, jumlah objek mobile-harus ditempatkan dan jumlah permintaan bersamaan dapat menjadi besar. Selain itu, yang terakhir dari contoh pertanyaan, real-time responsif diperlukan. Pendekatan yang jelas untuk membuat sistem lokasi scalable adalah membagi wilayah secara rekursif bunga menjadi Subkawasan, menggunakan struktur data seperti quadtrees. Seperti pengindeksan database ruang dan waktu adalah area penelitian yang aktif.

19,44 ringkasan dan perspektif

Bagian ini telah dijelaskan beberapa infrastruktur yang telah dirancang untuk komputasi pengenal konteks. Kami telah berkonsentrasi terutama pada cara-cara di mana sensor yang dipasang untuk menghasilkan atribut kontekstual di mana aplikasi bergantung untuk perilaku mereka. Kami melihat arsitektur relatif statis koleksi sensor, dan arsitektur untuk sensor sangat volatile jaringan. Akhirnya, kami menggambarkan beberapa teknologi untuk kasus sangat penting penginderaan lokasi, beberapa di antaranya adalah luas digunakan. World Wide Web Consortium's (W3C) geolocation API www.w3.org XXIV termasuk dukungan untuk menyajikan konten web lokasi tertentu untuk pengguna dengan secara otomatis penginderaan lokasi mereka dengan perangkat mobile menggunakan GPS atau kedekatan BTS atau titik akses 802.11, seperti yang dibahas diatas.

Melalui kesadaran konteks, kami mengintegrasikan dunia fisik sehari-hari dengan sistem komputer. Masalah utama yang tersisa adalah bahwa, dibandingkan dengan pemahaman halus bahwa manusia memiliki dunia fisik mereka, sistem yang telah kita dijelaskan cukup kasar. Tidak hanya adalah sensor (setidaknya, orang-orang yang cukup murah untuk menyebarkan secara luas) pasti tidak akurat, tapi pada tahap akhir memproduksi semantik kaya informasi akurat dari data mentah sensor sangat sulit. Dunia Robotika (yang melibatkan aktuasi, sebuah topik yang kita telah mengabaikan, selain penginderaan) telah mengatasi kesulitan ini selama bertahun-tahun. Erat terbatas domain seperti pembersih vakum rumah tangga atau produksi industri, robot dapat melakukan cukup baik. Tetapi generalisasi dari domain tersebut masih sulit dipahami.

19,5 keamanan dan privasi

Sistem yang mudah menguap mengangkat isu-isu baru yang banyak untuk keamanan dan privasi. Pertama, pengguna dan administrator sistem volatile memerlukan keamanan untuk data dan sumber daya (kerahasiaan, integritas dan ketersediaan). Namun, seperti yang kami tunjukkan ketika menggambarkan model volatile sistem di bagian 19.1, kepercayaan-dasar untuk semua keamanan-sering diturunkan dalam sistem yang mudah menguap, karena para pelaku yang komponennya berinteraksi secara spontan mungkin memiliki sedikit, jika ada, pengetahuan tentang satu sama lain, dan mungkin tidak memiliki pihak ketiga yang terpercaya di common. Kedua, banyak pengguna prihatin tentang privasi mereka – secara kasar, kemampuan mereka untuk mengontrol akses informasi tentang diri mereka sendiri. Tapi privasi berpotensi lebih terancam dari sebelumnya karena penginderaan di ruang smart pengguna melewati.

Walaupun terdapat tantangan ini, langkah-langkah untuk memastikan keamanan dan privasi rakyat harus ringan – sebagian untuk melestarikan spontanitas interaksi, dan sebagian karena antarmuka pengguna terbatas dari banyak perangkat. Orang tidak akan mau, misalnya, 'login' ke smart pena sebelum mereka menggunakannya di kantor tuan rumah mereka!

Dalam bagian ini kita menjelaskan beberapa masalah keamanan dan privasi yang utama untuk sistem yang mudah menguap. Stajano [2002] memberikan perlakuan yang lebih rinci dari beberapa isu-isu ini. Langheinrich [2001] meneliti topik privasi di mana-mana komputasi, mulai dari konteks sejarah dan hukum.

19.5.1 Latar belakang

Keamanan dan privasi yang rumit dalam sistem bergejolak oleh isu-isu yang berhubungan dengan perangkat keras seperti kemiskinan sumber daya, dan karena mereka spontanitas mengarah ke jenis baru berbagi sumber daya.

Isu-isu yang berhubungan dengan hardware • protokol keamanan konvensional cenderung membuat asumsi tentang perangkat dan konektivitas yang sering tidak memegang dalam sistem yang mudah menguap. Pertama, portabel perangkat seperti node smartphone dan sensor dapat, secara umum, lebih mudah dicuri dan dirusak dengan daripada perangkat seperti PC dalam kamar terkunci. Desain keamanan untuk sistem volatile tidak boleh mengandalkan integritas himpunan bagian dari perangkat yang bergerak dapat dikompromikan. Misalnya, jika ruang smart meliputi besar daerah cukup fisik, maka salah satu cara untuk membantu melindungi integritas sistem secara keseluruhan adalah untuk membuatnya diperlukan untuk penyerang untuk mengunjungi banyak lokasi di dalamnya di lebih atau kurang saat yang sama jika serangan mereka adalah untuk berhasil [Anderson et al. 2004].

Kedua, perangkat dalam volatil sistem kadang-kadang tidak memiliki cukup sumber daya komputasi untuk kriptografi asimetrik (kunci publik) – bahkan ketika menggunakan kriptografi kurva elips (bagian 11.3.2). BERPUTAR [Perrig et al. 2002] menyediakan jaminan keamanan untuk data yang rendah daya node dalam jaringan nirkabel sensor asing di lingkungan yang tidak bersahabat berpotensi. Protokol mereka menggunakan hanya kunci simetrik kriptografi, yang, tidak seperti kriptografi asimetrik kunci, yang layak pada perangkat rendah daya tersebut. Namun, yang menimbulkan pertanyaan yang nodes dalam sebuah sensor nirkabel jaringan harus berbagi kunci simetrik yang sama. Di satu sisi ekstrem, jika semua node berbagi tombol yang sama, kemudian serangan yang berhasil satu node akan berkompromi seluruh sistem. Di sisi ekstrem lain, jika setiap node saham kunci berbeda dengan setiap node, maka mungkin ada terlalu banyak kunci untuk node dengan terbatas memori untuk menyimpan. Posisi kompromi adalah untuk node untuk berbagi kunci hanya dengan tetangganya yang terdekat, dan bergantung pada rantai saling mempercayai node yang mengenkripsi pesan hop-oleh-hop, daripada menggunakan end-to-end enkripsi.

Ketiga, seperti biasa, energi adalah masalah. Tidak hanya harus protokol keamanan dirancang untuk meminimalkan komunikasi overhead untuk melestarikan hidup baterai, tapi selain itu terbatas energi adalah dasar untuk jenis baru denial of service serangan. Stajano dan Anderson [1999] menggambarkan 'tidur kekurangan penyiksaan serangan' node bertenaga baterai: penyerang dapat menyangkal layanan dengan mengirimkan pesan palsu untuk menjalankan bawah baterai perangkat karena mereka membuang-buang energi menerima mereka. Martin et al. [2004] menggambarkan serangan lainnya 'kurang tidur', termasuk lebih diam-diam memberikan perangkat dengan kode atau data yang menyebabkan mereka menyia-nyiakan energi melalui pengolahan. Sebagai contoh, seorang penyerang dapat memberikan Gambar GIF animasi yang muncul statis bagi pengguna tetapi benar-benar menyebabkan rendering ulang konstan.

Akhirnya, terputus operasi berarti bahwa itu lebih baik untuk menghindari protokol keamanan yang mengandalkan kontinu akses online ke server. Misalnya, bahwa vending mesin di sisanya berhenti akan mengeluarkan minuman tertentu secara gratis, tetapi hanya kepada bonafide penumpang bus khusus perusahaan. Daripada anggapan seperti mesin selalu terhubung ke kantor pusat perusahaan untuk memverifikasi otorisasi, lebih baik untuk merancang sebuah protokol yang dimana perangkat pengguna (seperti telepon) diberikan sertifikat memungkinkan mesin untuk memverifikasi otorisasi menggunakan hanya Bluetooth atau komunikasi lainnya jangka pendek [Zhang dan Kindberg 2002]. Sayangnya, tidak adanya online server juga berarti bahwa Sertifikat tidak dapat dicabut dan hanya akan dibangun untuk berakhir dengan waktu tertentu-mengemis pertanyaan tentang bagaimana offline perangkat adalah untuk menjaga aman akurat waktu.

Jenis baru berbagi sumber daya: contoh masalah • Volatile sistem menimbulkan jenis baru dari berbagi sumber daya yang memerlukan desain keamanan baru, seperti contoh berikut:

Para administrator dari paparan ruang cerdas layanan yang dapat diakses untuk pengunjung melalui jaringan nirkabel – seperti mengirim slide ke layanan proyeksi di ruang seminar atau menggunakan printer di kafe.
Dua karyawan dari perusahaan yang sama yang menghadapi satu sama lain pada konferensi nirkabel pertukaran dokumen antara ponsel atau perangkat portable lain.
A perawat mengambil-tingkat memantau jantung nirkabel dari kotak perangkat serupa, menempel ke pasien dan rekan kerja ke layanan data-logging klinis untuk bahwa pasien.
Setiap kasus adalah contoh spontan interoperation; masing-masing meningkatkan keamanan dan/atau masalah privasi. Tidak ada yang cukup seperti pola berbagi sumber daya yang biasanya ditemui dalam dilindungi firewall intranet atau di Internet terbuka.

Proyeksi dan Jasa Percetakan dimaksudkan hanya untuk pengunjung, tapi jaringan nirkabel mungkin melampaui batas-batas bangunan, dari mana penyerang dapat menguping, mengganggu presentasi atau mengirim pekerjaan cetak palsu. Jadi Layanan memerlukan perlindungan, demikian pula ke server web yang dimaksudkan hanya untuk anggota klub. Tetapi masuk-mengetik username dan password- dan prosedur pendaftaran yang mendahuluinya akan memerlukan terlalu banyak usaha dan pengguna mungkin objek pada dasar privasi.

Dokumen pertukaran antara dua karyawan serupa dalam beberapa cara untuk mengirimkan email dalam intranet perusahaan, namun interaksi berlangsung selama jaringan nirkabel publik di sebuah tempat yang penuh dengan orang-orang yang tidak diketahui. Ada pihak ketiga yang terpercaya (mereka perusahaan) pada prinsipnya, namun dalam prakteknya tidak mungkin dicapai (mereka mungkin tidak dapat memperoleh baik cukup sinyal telekomunikasi nirkabel untuk ponsel mereka di aula konferensi) atau mungkin tidak dikonfigurasi dalam semua pengguna perangkat.

Apakah perawat adalah dalam beberapa cara yang mirip dengan contoh pertama: dia Artemio perangkat yang dipercaya untuk sementara tapi aman, karena pengunjung mungkin sesuai proyektor atau printer. Tetapi contoh ini dimaksudkan untuk menunjukkan masalah kembali tegas lebih. Mungkin ada sejumlah membingungkan nirkabel sensor digunakan untuk pasien berbeda pada waktu yang berbeda, dan sangat penting untuk aman membuat dan mematahkan Asosiasi antara perangkat dan masing-masing pasien log.

Gambar 19,10 Pengamanan perangkat asosiasi menggunakan kontak fisik











19.5.2 beberapa solusi

Sekarang kita meneliti beberapa upaya untuk mengatasi masalah menyediakan keamanan dan privasi dalam volatil sistem: mengamankan Asosiasi spontan perangkat, otentikasi berbasis lokasi dan perlindungan privasi. Teknik keamanan kami menjelaskan berangkat nyata dari pendekatan standar dalam sistem terdistribusi. Mereka memanfaatkan fakta bahwa sistem kami mempertimbangkan diintegrasikan ke dalam dunia fisik kita sehari-hari, dengan menggunakan bukti fisik daripada bukti kriptografi untuk bootstrap keamanan properti.

Asosiasi aman spontan perangkat pertanyaan penting yang diajukan oleh contoh-contoh di bagian sebelumnya adalah bagaimana mengamankan sebuah asosiasi yang spontan antara dua perangkat yang terhubung melalui jaringan radio nirkabel, W. Ini adalah masalahnya Asosiasi perangkat spontan yang aman, juga dikenal sebagai masalah aman sementara Asosiasi. Tujuannya adalah untuk membuat saluran aman antara dua perangkat dengan aman bertukar key sesi antara kedua perangkat tersebut dan menggunakannya untuk mengenkripsi komunikasi mereka atas W. Asumsi-asumsi awal adalah bahwa, karena Asosiasi spontan, baik perangkat (atau pengguna) berbagi rahasia dengan yang lain, yang tidak memiliki lain kunci publik dan bahwa perangkat tidak memiliki akses ke pihak ketiga yang terpercaya. Penyerang dapat mencoba untuk menguping W dan untuk replay dan mensintesis pesan. Secara khusus, penyerang dapat berupaya untuk meluncurkan serangan pria-di-the-tengah (dijelaskan dalam bagian 11.1.1).
Solusi untuk masalah ini akan memungkinkan pengunjung untuk membuat sambungan aman untuk proyektor atau layanan printer, peserta konferensi untuk aman pertukaran dokumen antara perangkat portabel mereka dan perawat untuk secara aman menghubungkan-tingkat memantau jantung nirkabel ke data-logging unit oleh tempat tidur pasien.

Tidak ada jumlah komunikasi atas W akan memungkinkan pertukaran kunci aman dengan sendirinya, sehingga out-of-band komunikasi diperlukan. Secara khusus, metode standar untuk membangun link-tingkat kunci antara dua perangkat yang dihubungkan dengan Bluetooth bergantung pada tindakan out-of-band dari satu atau lebih user. Serangkaian angka yang dipilih pada satu perangkat harus dimasukkan oleh pengguna pada perangkat lainnya. Tetapi metode ini sering tidak dilakukan secara aman, karena sederhana, singkat angka string seperti '0000' cenderung digunakan, yang penyerang dapat belajar melalui pencarian yang lengkap.

Pendekatan lain untuk memecahkan masalah Asosiasi aman adalah dengan menggunakan saluran sisi dengan sifat-sifat fisik tertentu. Secara khusus, propagasi sinyal melalui saluran sisi ini dibatasi di sudut, rentang waktu (atau kombinasi dari mereka). Untuk gelar pertama dari pendekatan, kita dapat menyimpulkan sifat tentang pengirim atau penerima pesan pada saluran tersebut yang memungkinkan kami untuk menjalin hubungan yang aman dengan secara fisik dapat dibuktikan perangkat, seperti yang kita menunjukkan segera. Kindberg et al. [2002b) panggilan mereka secara fisik dibatasi saluran, istilah yang kita akan gunakan di sini; Balfanz et al. [2002] mengacu pada lokasi-terbatas saluran. Stajano dan Anderson [1999] pertama kali dieksploitasi sisi saluran tersebut dalam bentuk kontak fisik. Kami memperkenalkan beberapa contoh dari saluran ini untuk keperluan perangkat fisik Asosiasi di bagian 19.2.2.

Dalam satu skenario, salah satu perangkat menghasilkan kunci sesi segar dan mengirimkannya ke yang lain dibatasi menerima saluran yang menyediakan tingkat kerahasiaan –, itu membatasi perangkat yang dapat menerima kunci. Beberapa contoh teknologi untuk saluran-saluran menerima terbatas adalah:

Kontak fisik: setiap perangkat memiliki terminal untuk koneksi listrik langsung [Stajano dan Anderson 1999]. Lihat gambar 19,10.

Inframerah: Sinar inframerah dapat dibuat terarah ke dalam jarak sekitar 60 derajat dan sebagian besar dilemahkan oleh dinding dan jendela. Pengguna dapat 'sinar' kunci perangkat penerima diperlukan atas jarak hingga sekitar satu meter [Balfanz et al. 2002].

Audio: Data dapat ditularkan sebagai modulasi sinyal audio, seperti musik bermain lembut seluruh sebuah bilik, tetapi dengan sedikit jangkauan luar itu [Madhavapeddy et al. 2003]

Laser. Salah satu pengguna poin perangkat mereka sempit pembawa data sinar laser ke penerima pada perangkat lainnya [Kindberg dan Zhang 2003a). Metode ini memungkinkan untuk lebih presisi dari teknik jangka panjang lainnya.

Barcode dan camera: satu perangkat menampilkan kunci rahasia sebagai barcode (atau gambar lain decodable) pada tampilan, yang perangkat lain, yaitu salah satu dilengkapi dengan kamera – seperti ponsel kamera-membaca dan decode. Metode ini presisi terbalik berkaitan dengan jarak antara perangkat.

Secara umum, fisik dibatasi saluran memberikan hanya terbatas tingkat keamanan. Penyerang dengan penerima cukup sensitif dapat menguping inframerah atau audio sinyal; penyerang dengan kamera kuat mungkin mampu membaca barcode bahkan pada layar kecil. Sinar laser diatur atmosfer berserakan, meskipun teknik modulasi kuantum dapat membuat sinyal tersebar berguna untuk eavesdropper [Gibson et al. 2004]. Namun, ketika teknologi yang digunakan dalam kondisi yang tepat, serangan memerlukan banyak upaya dan keamanan yang diperoleh mungkin cukup baik untuk keperluan sehari-hari.

Pendekatan kedua untuk aman bertukar sesi kunci adalah dengan menggunakan saluran dibatasi secara fisik mengotentikasi satu perangkat kunci publik, yang akan mengirimkan ke perangkat lain. Perangkat kemudian terlibat dalam suatu protokol standar untuk pertukaran key sesi yang menggunakan kunci publik dikonfirmasi. Tentu saja, metode ini mengasumsikan bahwa perangkat cukup kuat untuk melakukan kriptografi kunci publik.

Cara termudah untuk otentikasi kunci publik adalah untuk perangkat untuk mengirimkannya melalui sebuah saluran dibatasi kirim, yang memungkinkan pengguna untuk melakukan otentikasi kunci sebagai berasal dari perangkat fisik. Ada beberapa cara untuk menerapkan cocok kirim-dibatasi saluran. Sebagai contoh, kontak fisik menyediakan saluran kirim-dibatasi karena hanya perangkat terhubung langsung dapat mengirim pada saluran. Latihan 19.14 mengundang pembaca untuk mempertimbangkan yang teknik lain untuk saluran menerima terbatas yang dijelaskan di atas juga menyediakan saluran dibatasi kirim. Selain itu,





















Gambar 19,11 Mendeteksi seorang pria di tengah





















mungkin untuk menerapkan dibatasi kirim saluran menggunakan terbatas menerima saluran, atau sebaliknya (Lihat latihan 19.15).

Pendekatan ketiga yang memanfaatkan saluran fisik dibatasi adalah untuk perangkat untuk pertukaran kunci sesi optimis tapi insecurely, dan kemudian menggunakan saluran fisik dibatasi untuk memvalidasi kunci-yaitu, untuk memverifikasi bahwa kunci yang dimiliki sepenuhnya oleh sumber fisik yang diperlukan.

Pertama kita mempertimbangkan bagaimana untuk pertukaran key sesi symmetric secara spontan tapi mungkin dengan kepala sekolah salah, dan kemudian kami pergi untuk memeriksa beberapa teknologi untuk mengesahkan pertukaran. Jika validasi gagal, maka proses dapat diulang.

Di bagian 19.2.2 kami menggambarkan fisik dan manusia-dimediasi teknik untuk bergaul dua perangkat, seperti dua-tombol protokol di mana perangkat pertukaran alamat jaringan mereka ketika manusia menekan tombol pada mereka kurang lebih bersamaan. Sangat mudah untuk menyesuaikan protokol itu sehingga perangkat juga pertukaran kunci sesi yang menggunakan protokol Diffie-Hellman [Diffie dan Hellman 1976]. Tapi, seperti berdiri, bahwa metode ini tidak aman: masih mungkin untuk terpisah kelompok pengguna untuk sengaja misassociate perangkat dengan menjalankan protokol secara bersamaan, dan pihak-pihak yang jahat untuk melancarkan serangan-serangan pria-di-the-tengah.

Ini adalah properti dari protokol Diffie – Hellman yang tidak bisa seorang laki-laki di tengah (kecuali dengan probabilitas diabaikan) bertukar tombol yang sama dengan setiap perangkat, sehingga kita dapat memvalidasi asosiasi dengan membandingkan aman hash kunci-kunci yang diperoleh oleh kedua perangkat setelah menjalankan protokol Diffie-Hellman (19,11 gambar). Teknik berikut memungkinkan kita untuk memvalidasi kunci sebelum menggunakannya. Mereka melibatkan saluran dibatasi kirim, meskipun terbatas menerima saluran juga bisa digunakan (Lihat latihan 19.15):

Hash ditampilkan: Stajano dan Anderson [1999] menunjukkan bahwa setiap perangkat dapat menampilkan hash kunci yang umum sebagai karakter heksadesimal atau dalam bentuk lain bahwa manusia dapat membandingkan. Namun, mereka berpendapat bahwa jenis manusia keterlibatan ini juga rawan kesalahan. Metode barcode yang disebutkan di atas akan lebih dapat diandalkan. Metode tersebut adalah contoh lain dari menggunakan saluran dibatasi kirim: jalan optik antara tampilan satu perangkat dan kamera lainnya dibawa dekat dengan itu aman menjalar hash aman dari perangkat yang diperlukan. USG: Sinyal USG, dalam kombinasi dengan sinyal radio, dapat digunakan untuk menyimpulkan jarak dan arah dari perangkat yang mengirim hash, menggunakan teknik-teknik yang serupa dengan yang digunakan untuk sistem aktif kelelawar yang dijelaskan dalam bagian 19.4.3 [Kindberg dan Zhang 2003b).

Metode di atas bervariasi dalam tingkat keamanan mereka menyediakan karena sifat dari saluran dibatasi, tetapi semua cocok untuk Asosiasi spontan. None memerlukan akses online ke komponen lain, dan tidak memerlukan pengguna untuk mengotentikasi sendiri atau untuk mengetahui nama elektronik atau pengidentifikasi untuk perangkat-sebaliknya, pengguna disediakan dengan bukti fisik yang perangkat telah dikaitkan dengan aman. Dengan asumsi, pengguna telah membentuk kepercayaan dalam perangkat tersebut (dan penggunanya). Tentu saja, keamanan yang telah dicapai hanya sebagai baik sebagai kepercayaan dari perangkat terlibat: mungkin untuk 'aman mengasosiasikan' a perangkat dengan lain yang bahkan meluncurkan serangan.

Stajano dan Anderson [1999, Stajano 2002] secara fisik dibatasi saluran digunakan dalam konteks protokol 'membangkitkan itik'. Protokol itu relevan dengan contoh-tingkat memantau jantung nirkabel, mana beberapa identik perangkat yang terkait dan reassociated aman antara pasien. Nama dari protokol mengacu pada fakta bahwa ducklings (aktual) memulai hidup di negara imprintable dan datang di bawah kendali apa pun entitas yang pertama mereka mengenali (idealnya, biologis ibu mereka!) – proses yang dikenal sebagai pencetakan. Dalam kasus kami, perangkat 'Bebek' datang di bawah kontrol perangkat pertama yang terkait dengan itu dan kemudian menolak permintaan dari entitas lain – yaitu setiap pelaku yang tidak mengetahui kunci rahasia yang dipertukarkan 'Bebek' dengan 'ibu' pada saat pencetakan. Reassociation hanya dapat terjadi dengan pertama 'membunuh jiwa yang bebek' – misalnya, ketika 'ibu' memerintahkan 'Bebek' untuk menjabat kembali negara imprintable, di di titik mana memori aman dihapus. Dari titik itu, 'Bebek' siap untuk dikendalikan oleh perangkat selanjutnya yang mengaitkan dengan itu.

Otentikasi berbasis lokasi • contoh pengunjung menggunakan ruang seminar proyeksi layanan dan pengguna pencetakan dokumen di kafe dapat dilihat dari perspektif pengunjung dan administrator. Dari pengunjung sudut pandang, mereka dapat dengan aman menghubungkan perangkat mereka ke proyektor atau printer menggunakan salah satu tersebut secara fisik dibatasi saluran, untuk melindungi privasi dan integritas data mereka (meskipun pencetakan dokumen sensitif di kafe mungkin bijaksana). Tetapi para administrator dari masing-masing ruang smart memiliki persyaratan tambahan: serta ingin pengunjung untuk menikmati keamanan, mereka harus menerapkan kontrol akses. Hanya orang-orang secara fisik di ruang mereka (pembicara di seminar kamar mereka, orang-orang yang minum kopi kafe) harus dapat menggunakan layanan mereka. Dan Namun, seperti telah kami jelaskan, otentikasi identitas pengguna mungkin tidak sesuai karena pengunjung persyaratan untuk privasi dan para administrator perlu mengintegrasikan aliran pengguna dan perangkat yang spontan muncul dan menghilang.

Sebuah pendekatan otorisasi yang memenuhi persyaratan tersebut adalah untuk dasar kontrol akses pada lokasi layanan klien, bukan identitasnya. Kindberg et al. [2002b] menggambarkan protokol otentikasi lokasi klien menggunakan saluran dibatasi secara fisik yang meliputi ruang pintar tapi tidak mencapai luar itu. Misalnya, saluran yang bisa dibangun menggunakan bermain musik di kafe atau inframerah di ruang rapat. Ada juga lokasi otentikasi proxy tertanam dalam Ruang cerdas yang sesuai-, langsung terhubung ke channel dibatasi yang sama-yang mempercayai Layanan lokasi tertentu. Sebagai contoh, Acme café perusahaan mungkin ingin untuk reward pelanggan di seluruh jaringan yang dengan media gratis download, tetapi ingin memastikan bahwa tidak ada orang di luar sebuah kafe Acme dapat mengakses media, meskipun download Layanan terpusat dan terhubung ke Internet. Protokol ini mengasumsikan bahwa pengguna akses layanan melalui web browser dan menggunakan pengalihan web sehingga pengunjung perangkat transparan mendapatkan bukti dari lokasi otentikasi proxy yang mereka dimana mereka mengaku, dan ke depan ini bukti untuk target service.

Dariwiwik et al. [2003] menggunakan saluran temporal dibatasi diimplementasikan menggunakan USG untuk memverifikasi klaim lokasi. Dasar protokol mereka adalah bahwa, karena kecepatan suara dibatasi secara fisik, hanya perangkat yang mana klaim harus dapat mengirimkan pesan cukup cepat USG ke tujuan di lokasi, ketika menggemakan kesempatan ini terkandung dalam paket permintaan.

Sebagai Asosiasi aman perangkat, lokasi otentikasi hanya mengamankan sistem secara terbatas. Meskipun layanan telah memverifikasi klien berada di lokasi yang bonafide, klien tetap bisa menjadi berbahaya dan bertindak sebagai proxy untuk klien di lokasi lain.

Perlindungan privasi lokasi-berdasarkan otentikasi menunjukkan trade-off yang membuatnya sulit untuk melindungi privasi dalam volatil sistem: Meskipun pengguna menahan identitas mereka, mereka mengungkapkan lokasi yang mungkin tanpa sadar terkait dengan jenis lain dari berpotensi mengidentifikasi informasi. Perlindungan yang diperlukan pada semua saluran melalui mana informasi tentang pengguna dapat aliran. Misalnya, bahkan jika pengguna mengakses Layanan elektronik secara anonim di sebuah kafe, privasi mereka mungkin akan hancur jika kamera menangkap mereka. Dan jika pengguna perlu membayar untuk layanan, mereka akan memiliki untuk memasok detil pembayaran elektronik, bahkan jika mereka jadi melalui pihak ketiga. Mereka mungkin juga membeli barang yang harus secara fisik dikirimkan ke alamat rumah atau tempat kerja.
Pada tingkat sistem, ancaman dasar adalah bahwa, dgn sengaja atau tanpa disadari, pengguna menyediakan pengidentifikasi berbagai macam ruang cerdas ketika mereka mengunjungi mereka dan mengakses Layanan ada. Pertama, mereka dapat memberikan nama dan alamat dalam mengakses layanan. Kedua, Bluetooth atau IEEE 802.11 antarmuka jaringan pada perangkat pribadi mereka masing-masing menjaga alamat MAC-tingkat yang konstan yang terlihat ke perangkat lain seperti akses poin. Ketiga, jika pengguna membawa Tag seperti tag RFID (misalnya, yang tertanam dalam pakaian mereka sehingga mereka cerdas mesin cuci otomatis dapat memilih siklus mencuci sesuai), maka Smart ruang berpotensi bisa merasakan Tag tersebut di pintu dan lain 'mencubit-poin'. RFIDs secara global unik dan dapat digunakan baik untuk mengidentifikasi apa yang pengguna memiliki dengan mereka (misalnya, sebagai jenis pakaian yang mereka kenakan) dan untuk Pelacakan

tujuan.

Apapun sumber mereka, pengidentifikasi dapat dihubungkan dengan lokasi dan kegiatan pada waktu tertentu, dan dengan demikian mungkin berpotensi dapat dihubungkan ke pengguna informasi pribadi. Pengguna dalam ruang cerdas dapat menguping dan mengumpulkan pengidentifikasi. Jika ruang cerdas (atau layanan yang tertanam dalam ruang cerdas) berkolusi, mereka bisa melacak pengidentifikasi seluruh lokasi dan menyimpulkan gerakan, Semua berpotensi menyebabkan hilangnya privasi.

Penelitian sedang dilakukan ke bagaimana membuat apa yang saat ini terprogram pengidentifikasi (seperti nirkabel alamat MAC dan RFIDs) ke dalam "lembut ' alamat yang dapat diganti dari waktu ke waktu untuk menghambat pelacakan. Kesulitan dengan MAC alamat (serta alamat jaringan tingkat yang lebih tinggi seperti alamat IP) adalah bahwa perubahan mereka penyebab gangguan komunikasi, yang harus diperdagangkan mati terhadap privasi [Gruteser dan Grunwald 2003]. Kesulitan dengan RFIDs adalah bahwa, sementara pengguna RFID-bantalan tidak ingin dilacak oleh sensor 'salah', secara umum pengguna ingin Tag untuk dibaca oleh sensor tertentu 'benar' (seperti yang ada di mesin cuci mereka). Sebuah teknik untuk mengatasi masalah itu adalah tag untuk menggunakan fungsi hash (satu arah) untuk menggantikan pengenal disimpan dan untuk menghasilkan pengenal dipancarkan setiap kali itu dibaca [Ohkubo et al. 2003]. Hanya sebuah partai terpercaya yang tahu pengenal unik asli tag tersebut dapat menggunakan pengidentifikasi yang dipancarkan untuk memastikan tag yang dibacakan. Selain itu, karena Tag lulus pengenal mereka disimpan melalui sebuah fungsi hash sekali jalan sebelum memancarkan mereka, penyerang tidak (kecuali mereka dapat mengutak-atik dengan tag) untuk belajar pengenal disimpan dan dengan demikian spoof tag — misalnya, dengan tujuan palsu mengklaim bahwa pengguna tagged berada di tempat kejadian kejahatan.

Beralih ke pengenal perangkat lunak yang menyediakan klien dengan layanan, pendekatan yang jelas untuk membantu melindungi privasi adalah pengganti baik pengenal anonim-satu dipilih secara acak untuk setiap permintaan layanan – atau nama samaran: tanda pengenal palsu yang tetap digunakan secara konsisten untuk kepala klien yang sama untuk beberapa waktu. Keuntungan dari nama samaran atas pengenal anonim adalah bahwa hal itu memungkinkan klien untuk membangun hubungan kepercayaan atau reputasi yang baik dengan layanan yang diberikan, tetapi tanpa harus mengungkapkan identitas sejati.

Ini akan menjadi terlalu melelahkan bagi pengguna untuk mengelola pengenal anonim atau menggunakan nama samaran, sehingga biasanya dilakukan oleh komponen sistem yang disebut privasi proxy. Privasi proxy adalah komponen yang pengguna kepercayaan untuk meneruskan semua permintaan layanan secara anonim. Setiap perangkat pengguna memiliki saluran aman, pribadi untuk privasi proxy. Proxy itu pengganti pengenal anonim atau nama samaran untuk semua pengidentifikasi benar dalam permintaan layanan.

Satu masalah dengan privasi proxy adalah bahwa titik pusat kerentanan: jika proxy berhasil diserang maka semua penggunaan layanan klien menjadi diungkapkan. Masalah lain adalah bahwa proxies tidak menyembunyikan pengguna mengakses layanan yang. Eavesdropper atau seperangkat colluding eavesdroppers bisa menggunakan analisis lalu lintas: itulah, mereka bisa mengamati korelasi di lalu lintas antara pesan yang mengalir ke atau dari perangkat pengguna tertentu dan pesan yang mengalir ke atau dari layanan tertentu-memeriksa faktor-faktor seperti waktu dan ukuran pesan.

Pencampuran adalah teknik statistik untuk menggabungkan komunikasi dari banyak pengguna sedemikian rupa bahwa penyerang tidak dapat dengan mudah menguraikan tindakan pengguna satu sama lain, dan dengan demikian membantu untuk melindungi privasi pengguna. Satu aplikasi pencampuran adalah untuk membangun sebuah jaringan overlay proxy yang mengenkripsi, agregat, menyusun ulang, dan meneruskan pesan antara mereka sendiri untuk beberapa melompat setelah mereka telah memasuki jaringan, dengan cara yang membuat sulit untuk mengkorelasikan pesan masuk jaringan dari klien atau layanan dengan pesan meninggalkannya, Layanan tertentu atau klien [Chaum 1981]. Proxy setiap percaya dan saham kunci hanya dengan tetangganya. Akan sulit untuk kompromi jaringan tanpa kolusi semua proxy. Al-Muhtadi et al. [2002] menggambarkan arsitektur untuk anonim routing pesan dari klien di ruang yang cerdas untuk layanan.

Aplikasi lain dari pencampuran adalah untuk menyamarkan lokasi pengguna dengan memanfaatkan kehadiran banyak pengguna di setiap lokasi. Beresford dan Stajano [2003] menggambarkan sebuah sistem untuk menutupi lokasi pengguna melalui penggunaan campuran zona, yang daerah mana pengguna tidak mengakses Layanan lokasi-sadar, seperti lorong antara kamar-kamar yang cerdas. Idenya adalah bahwa pengguna mengubah identitas mereka menggunakan nama samaran di zona campuran, dimana lokasi pengguna tidak dikenal. Jika campuran zona cukup kecil dan jika cukup banyak orang melewati mereka, mereka dapat bermain peran yang mirip dengan campuran jaringan menganonimkan proxy. Latihan 19.16 menganggap zona campuran secara lebih mendalam.

19.5.3 Ringkasan dan perspektif

Bagian ini menyediakan pengenalan terhadap masalah memberikan keamanan dan privasi dalam sistem yang mudah menguap, dan singkat melihat beberapa upaya solusi, termasuk Asosiasi spontan yang aman, otentikasi berbasis lokasi dan berbagai teknik yang bertujuan untuk perlindungan privasi. Luas sensing, isu-isu yang berhubungan dengan perangkat keras seperti sumber daya kemiskinan dan spontan asosiasi adalah akar dari kesulitan. Penginderaan mempertinggi masalah privasi pengguna, karena tidak hanya dapat mengakses layanan mereka dipantau tapi informasi dasar lokasi mereka bisa, juga; dan isu-isu yang berhubungan dengan perangkat keras dan spontanitas menantang kemampuan kami menyediakan solusi keamanan. Ini adalah bidang yang penting dari penelitian: keamanan dan, terutama, privasi mungkin ternyata menjadi hambatan untuk penggunaan sistem yang mudah menguap.

19,6 Adaptasi

Perangkat dalam sistem volatil yang dipelajari dalam bab ini jauh lebih heterogen daripada PC dalam hal kekuatan pemrosesan, input/output kemampuan ukuran layar bandwidth jaringan, kapasitas memori dan energi. Heterogenitas tidak mungkin untuk mengurangi secara signifikan karena berbagai tujuan yang kita miliki untuk perangkat. Tuntutan membawa dan embedding perangkat berarti bahwa perangkat yang paling miskin dan terkaya di sumber daya seperti energi dan layar ukuran cenderung terus berbeda dengan lipat. (Hanya secara keseluruhan positif tren sumber daya adalah persistent semakin padat tetapi terjangkau Storage [ingin dan Pering 2003].) Dan apa pasti tidak untuk mengubah, melihat ke depan, kehadiran runtime perubahan itu sendiri. Runtime kondisi seperti bandwidth yang tersedia dan energi yang rentan perubahan dramatis.

Bagian ini memperkenalkan sistem adaptif: orang-orang yang berdasarkan pada model dari berbagai sumber daya dan yang menyesuaikan perilaku mereka runtime ketersediaan sumber daya saat ini. Tujuan dari sistem adaptif adalah untuk mengakomodasi heterogenitas dengan memungkinkan penggunaan kembali perangkat lunak di seluruh konteks yang bervariasi dalam faktor-faktor seperti kemampuan perangkat dan preferensi pengguna, dan untuk mengakomodasi perubahan runtime sumber daya kondisi dengan menyesuaikan perilaku aplikasi tanpa mengorbankan properti aplikasi penting. Tapi mencapai cita-cita bisa sangat sulit. Bagian ini memberikan rasa kedua wilayah adaptasi.

19.6.1 Pengenal konteks adaptasi dari konten

Di bagian 19.3.1 kami melihat bahwa beberapa perangkat dalam sistem volatile menyediakan konten multimedia satu sama lain. Aplikasi multimedia (Lihat bab 20) beroperasi oleh bertukar atau streaming data multimedia seperti gambar, audio dan video.

Pendekatan sederhana untuk bertukar konten akan menjadi produsen konten untuk mengirim konten yang sama terlepas dari mengkonsumsi konten perangkat dan perangkat untuk membuat konten yang tepat untuk kebutuhan dan keterbatasan. Memang, pendekatan yang kadang-kadang bekerja, asalkan konten dapat ditentukan cukup secara abstraknya bahwa perangkat penerima selalu dapat menemukan representasi beton sesuai kebutuhannya.

Namun, ternyata bahwa faktor-faktor seperti keterbatasan bandwidth dan perangkat heterogenitas membuat pendekatan praktis secara umum. Kemampuan perangkat dalam volatil sistem untuk menerima, memproses, menyimpan dan menampilkan konten multimedia bervariasi, tidak seperti PC. Ukuran layar mereka bervariasi-beberapa bahkan tidak memiliki layar-jadi mengirimkan tetap-ukuran gambar dan teks dalam ukuran font tetap, Semua dalam tata letak yang tetap, sering akan mengakibatkan hasil yang tidak memuaskan. Perangkat mungkin atau mungkin tidak memiliki semua bentuk-bentuk lain/o yang diambil untuk diberikan pada PC: keyboard, mikrofon, audio output, dll. Bahkan jika perangkat memiliki I/O hardware untuk membuat bentuk konten seperti video, mungkin tidak memiliki perangkat lunak yang diperlukan untuk encoding tertentu (misalnya, MPEG atau QuickTime), atau mungkin memiliki cukup memori atau pengolahan sumber daya untuk membuat media di penuh kesetiaan, seperti video di tingkat resolusi atau bingkai penuh. Akhirnya, perangkat mungkin memiliki semua sumber daya untuk membuat diberikan konten, tapi jika bandwidth untuk perangkat terlalu rendah, maka itu tidak dapat dikirim untuk itu kecuali sesuai dikompresi.

Lebih umum, konten yang Anda perlu memberikan perangkat tertentu adalah fungsi dari konteks: produser media harus mempertimbangkan tidak hanya dari perangkat yang memakan kemampuan, tetapi juga faktor-faktor seperti preferensi pengguna perangkat dan sifat pengguna tugas. Sebagai contoh, satu pengguna mungkin lebih memilih teks untuk gambar pada layar kecil; lain mungkin lebih suka audio output visual output. Selain itu, item yang memberikan layanan dalam sepotong konten mungkin perlu fungsi pengguna tugas. Misalnya, fitur yang diperlukan dalam peta wilayah tertentu akan tergantung pada apakah pengguna mencari atraksi turis atau seorang pekerja yang mencari titik-titik akses infrastruktur [Chalmers et al. 2004]. Pada layar-terbatas perangkat, peta tersebut lebih cenderung menjadi terbaca jika mengandung hanya satu jenis fitur.

Ini akan menjadi terlalu banyak usaha untuk penulis konten multimedia untuk kerajinan tangan individu solusi untuk banyak konteks yang berbeda. Alternatif adalah untuk beradaptasi data asli secara programatik ke dalam bentuk yang cocok, dengan memilih dari itu, menghasilkan konten dari itu atau mengubah itu- atau kombinasi dari tiga proses tersebut. Kadang-kadang data asli dinyatakan secara independen dari bagaimana harus disajikan-misalnya, data akan diselenggarakan dalam bentuk XML, dan skrip di eXtensible Style Language transformasi (XSLT) digunakan untuk menciptakan bentuk-bentuk renderable untuk konteks tertentu. Dalam kasus lain, data asli sudah tipe data multimedia, seperti gambar; dalam hal ini, proses beradaptasi dikenal sebagai transcoding. Adaptasi dapat terjadi dalam jenis media (misalnya, memilih dari data peta atau mengurangi resolusi gambar) dan jenis media (misalnya, mengkonversi teks ke ucapan atau sebaliknya, menurut pengguna preferensi atau apakah perangkat yang memakan memiliki layar atau mendukung audio output).

Masalah adaptasi isi telah menerima banyak perhatian untuk sistem klien-server di Internet, dan terutama Web. Web model adalah untuk adaptasi untuk mengambil tempat dalam infrastruktur kaya sumber daya-atau layanan itu sendiri proxy — dan tidak di klien sumber daya-miskin. Protokol HTTP memungkinkan jenis negosiasi konten (Lihat bagian 5.2): klien menunjukkan preferensi untuk jenis MIME konten itu dapat menerima dalam header permintaan yang, dan server dapat mencoba untuk mencocokkan preferensi mereka diisi kembali. Tapi itu mekanisme terlalu terbatas untuk adaptasi pengenal konteks – misalnya, klien dapat menentukan pengkodean gambar dapat diterima tetapi bukan ukuran layar perangkat. The W3C, through its Device Independence working group [www.w3.org XIX], and the Open Mobile Alliance (OMA) [www.openmobilealliance.org] are developing standards whereby device capabilities and configurations can be expressed in some detail. W3C menghasilkan kemampuan preferensi komposit profil (CC/PP) untuk mengaktifkan perangkat dari kelas yang berbeda untuk menentukan kemampuan mereka dan konfigurasi seperti ukuran layar dan bandwidth. OMA pengguna agen profil spesifikasi menyediakan kosakata CC/PP untuk ponsel. Itu bisa jadi rinci untuk perangkat tertentu untuk memperluas ke lebih dari 10 KByte. Profil tersebut akan menjadi terlalu mahal di bandwidth dan energi untuk mengirim bersama dengan permintaan, sehingga ponsel mengirimkan hanya URI profil nya dalam header permintaan. Server mengambil spesifikasi untuk menyediakan konten yang cocok, dan cache spesifikasi untuk penggunaan masa depan.

Jenis penting adaptasi untuk bandwidth-terbatas perangkat adalah khusus jenis kompresi. Fox et al. [1998] menggambarkan suatu arsitektur di mana proksi melakukan kompresi pada terbang antara layanan (yang mungkin atau mungkin tidak menjadi bagian dari Web) dan klien. Mereka berdebat untuk tiga fitur utama dalam arsitektur mereka:

Untuk mengakomodasi bandwidth terbatas, kompresi harus lossy tetapi khusus untuk jenis media, sehingga semantik informasi dapat digunakan untuk menentukan fitur media yang sangat penting untuk mempertahankan. Misalnya, gambar dapat dikompresi dengan membuang informasi warna.
Transcoding harus dilakukan dengan cepat karena bentuk konten statis pra-siap tidak akan memberikan fleksibilitas untuk mengatasi dengan data dinamis dan meningkatnya set permutasi dari klien dan layanan.
Transcoding harus dilakukan di proxy server sehingga klien dan layanan transparan dipisahkan dari transcoding keprihatinan. Ada kode harus ditulis ulang, dan kegiatan menghitung-intensif transcoding dapat dijalankan pada hardware sesuai scalable seperti cluster rack-mount komputer, untuk menjaga latency dalam batas-batas yang dapat diterima.
Ketika datang ke sistem yang mudah menguap seperti ruang cerdas, kita harus meninjau kembali beberapa asumsi-asumsi yang dibuat untuk web dan Internet skala adaptasi lainnya. Sistem yang mudah menguap yang lebih menuntut bahwa mereka mungkin memerlukan adaptasi antara setiap pasangan perangkat yang terkait secara dinamis, sehingga adaptasi tidak dibatasi untuk klien dari layanan tertentu dalam infrastruktur. Sekarang ada berpotensi penyedia banyak lagi konten yang perlu disesuaikan. Selain itu, penyedia yang mungkin terlalu miskin sumber daya untuk melakukan beberapa jenis adaptasi sendiri.

Satu implikasi adalah untuk smart ruang untuk memberikan proxy mereka infrastruktur untuk mengadaptasi konten antara komponen volatil mereka host [Kiciman dan Fox 2000, Ponnekanti et al. 2001]. Implikasi kedua adalah kebutuhan untuk melihat lebih dekat di mana jenis adaptasi isi dapat dan harus dilakukan pada perangkat kecil-khususnya, kompresi adalah contoh penting.

Bahkan jika ada proxy kuat adaptasi dalam infrastruktur, perangkat masih harus mengirimkan data ke proxy itu. Kita diskusikan bagaimana komunikasi mahal dibandingkan dengan pengolahan. Pada prinsipnya, mungkin paling hemat energi untuk kompres data sebelum untuk transmisi. Namun, pola mengakses memori dibuat selama kompresi memiliki efek yang kuat pada konsumsi energi. Barr dan Asanovic [2003] menunjukkan bahwa mungkin biaya lebih banyak energi untuk pertama kompres data menggunakan implementasi default, tetapi optimasi yang hati-hati dari algoritma kompresi dan dekompresi, terutama yang berkaitan dengan memori mengakses pola, dapat mengakibatkan penghematan energi secara keseluruhan dibandingkan dengan transmisi data terkompresi.

19.6.2 Beradaptasi dengan sumber daya sistem yang mengubah

Sementara sumber daya perangkat keras seperti ukuran layar heterogen di perangkat, mereka paling tidak stabil dan terkenal. Sebaliknya, aplikasi juga bergantung pada sumber daya yang berubah pada saat runtime dan yang mungkin sulit untuk memprediksi, seperti energi yang tersedia dan bandwidth jaringan. Dalam subbab ini, kita membahas teknik untuk berurusan dengan perubahan-perubahan ke tingkat sumber daya pada saat runtime. Kami membahas sistem operasi dukungan untuk aplikasi yang berjalan di sistem yang mudah menguap, dan mendukung dalam infrastruktur ruang cerdas untuk meningkatkan sumber daya yang tersedia untuk aplikasi.

0S dukungan untuk adaptasi terhadap sumber daya volatile • Satyanarayanan [2001] menjelaskan tiga pendekatan untuk adaptasi. Satu pendekatan adalah untuk aplikasi untuk meminta dan memperoleh reservasi sumber. Sementara reservasi sumber dapat nyaman untuk aplikasi (Bab 20), memuaskan jaminan QoS kadang-kadang sulit untuk mencapai dalam sistem volatile dan tidak mungkin dalam kasus seperti deplesi energi. Pendekatan yang kedua adalah untuk memberitahu pengguna berubah tingkat ketersediaan sumber daya sehingga mereka dapat bereaksi dengan tepat. Misalnya, jika bandwidth menjadi rendah, pengguna sebuah pemutar video dapat beroperasi slider dalam aplikasi untuk beralih frame rate atau resolusi. Pendekatan ketiga adalah untuk OS untuk memberitahu aplikasi perubahan kondisi sumber daya, dan untuk aplikasi untuk beradaptasi sesuai tertentu yang membutuhkan.

Odyssey [Noble dan Satyanarayanan 1999] menyediakan dukungan sistem operasi untuk aplikasi yang beradaptasi dengan perubahan dalam tingkat yang tersedia dari sumber daya seperti bandwidth jaringan. Misalnya, jika bandwidth tetes, sebuah pemutar video bisa beralih ke aliran video dengan warna-warna yang lebih sedikit, atau menyesuaikan tingkat resolusi atau bingkai. Dalam arsitektur Odyssey, aplikasi mengelola jenis data seperti video atau foto, dan sebagai perubahan kondisi sumber daya mereka menyesuaikan kesetiaan-kualitas jenis spesifik-dengan mana data tersebut yang diberikan. Komponen sistem yang disebut viceroy membagi perangkat total sumber daya antara masing-masing dari beberapa aplikasi yang berjalan di atasnya. Setiap saat, setiap aplikasi berjalan dengan jendela toleransi terhadap perubahan dalam kondisi sumber daya. Jendela toleransi adalah selang waktu sumber daya tingkat yang dipilih harus cukup lebar untuk realistis dalam hal sumber daya sebenarnya variasi, tapi sempit cukup untuk aplikasi untuk berperilaku lebih konsisten dalam batas-batas tersebut. Ketika viceroy telah mengubah sumber daya tingkat nilai di luar jendela toleransi, itu membuat upcall ke dalam aplikasi, yang kemudian bereaksi sesuai. Sebagai contoh, sebuah pemutar video dapat berubah menjadi hitam dan putih jika bandwidth hits tingkat yang sangat rendah; di atas itu, itu lancar mungkin menyesuaikan frame rate dan/atau resolusi.

Mengambil keuntungan dari smart ruang sumber daya • Cyber mengadoptasi [Satyanarayanan 2001, Goyal dan Carter 2004, Balan et al. 2003] adalah tempat pengolahan-terbatas perangkat menemukan server menghitung dalam ruang cerdas dan offloads beberapa beban pengolahan untuk itu. Sebagai contoh, mengkonversi pengguna pidato teks adalah kegiatan pengolahan-intensif, dan salah satu beberapa perangkat portable yang mampu melaksanakan memuaskan. Salah satu tujuan adalah untuk





meningkatkan aplikasi responsivitas untuk pengguna-komputer dalam infrastruktur dapat memiliki banyak kali kekuatan pengolahan perangkat portabel. Tapi ini juga merupakan contoh energi-aware adaptasi: tujuan lainnya adalah untuk menyimpan baterai perangkat portabel dengan mengalokasikan karya ke server menghitung induk bertenaga.

Ada menantang persyaratan yang terkait dengan cyber mencari makan. Aplikasi harus mengeluarkannya sedemikian rupa bahwa bagian dari itu dapat diproses secara efisien pada server menghitung, tapi aplikasi harus masih berfungsi dengan baik (walaupun lebih lambat atau dengan mengurangi kesetiaan) jika ada server menghitung tersedia. Server menghitung harus menjalankan bagian dari aplikasi yang melibatkan relatif sedikit komunikasi dengan perangkat portabel-sebaliknya, masa yang diambil oleh komunikasi melalui sambungan bandwidth rendah bisa lebih besar daripada keuntungan pengolahan. Selain itu, konsumsi energi secara keseluruhan untuk perangkat portabel harus memuaskan. Karena komunikasi intensif energi, hal ini tidak secara otomatis mengikuti bahwa energi akan diselamatkan dengan menggunakan server menghitung; ini mungkin bahwa biaya energi komunikasi dengan server menghitung lebih besar daripada penghematan energi dari pembongkaran pengolahan.

Balan et al. [2003] membahas masalah partisi aplikasi untuk memenuhi tantangan terdahulu dan menggambarkan sistem pemantauan tingkat sumber daya (seperti menghitung ketersediaan server, bandwidth dan energi) dan akibatnya menyesuaikan aplikasi partisi antara perangkat portabel dan menghitung server menggunakan salah satu dari serangkaian kecil dekomposisi pilihan. Sebagai contoh, pertimbangkan situasi di mana pengguna yang berbicara ke perangkat mobile untuk mendikte teks, yang kemudian diterjemahkan ke dalam bahasa asing (bahwa negara yang mereka kunjungi). Ada berbagai cara untuk memisahkan aplikasi ini antara ponsel dan menghitung server, dengan implikasi yang berbeda untuk pemanfaatan sumber daya. Jika beberapa menghitung server tersedia, maka berbagai tahap pengakuan dan terjemahan dapat dibagi antara mereka; jika hanya satu server menghitung tersedia, kemudian mereka bisa berjalan bersama-sama pada mesin atau dibagi antara ponsel dan server menghitung.

Goyal dan Carter [2004] mengambil pendekatan yang lebih statis untuk membagi harta aplikasi, yang dianggap telah didekomposisi ke program berkomunikasi. Sebagai contoh, perangkat mobile dapat melakukan pengenalan dalam dua cara. Dalam modus pertama, aplikasi berjalan sepenuhnya dan sangat lambat-pada perangkat mobile. Dalam kedua modus, perangkat mobile berjalan hanya antarmuka pengguna, yang kapal digital audio pengguna suara untuk sebuah program yang berjalan pada server menghitung; program tersebut mengirimkan teks diakui kembali untuk perangkat mobile untuk menampilkan. Ini akan menjadi sangat mahal dalam energi untuk perangkat selular untuk mengirim program pengenalan ke server komputer, sehingga perangkat mengirimkan URL program sebaliknya, yang server menghitung download dari sumber eksternal dan berjalan.

19.6.3 Ringkasan dan perspektif

Bagian ini telah dijelaskan dua kategori utama adaptasi dalam sistem yang mudah menguap, yang termotivasi oleh heterogenitas mereka dan volatilitas kondisi runtime mereka: ada adaptasi terhadap data multimedia untuk konteks konsumen media, seperti karakteristik perangkat dan tugas pengguna perangkat, dan ada adaptasi terhadap tingkat dinamis sistem sumber daya seperti energi dan bandwidth.

Kami berpendapat bahwa, pada prinsipnya, itu akan lebih baik untuk menghasilkan adaptif software yang dapat menampung berbagai kondisi menurut model baik dipahami variasi, daripada untuk berkembang software dan hardware di Adhoc fashion sebagai menekan kebutuhan. Namun, membuat perangkat lunak tersebut adaptif sulit, dan tidak ada persetujuan umum tentang bagaimana untuk melakukannya. Pertama, model variasi sendiri-bagaimana sumber daya tingkat perubahan dan bagaimana harus bereaksi ketika mereka mengubah – dapat sulit untuk memperoleh dengan keumuman apapun. Kedua, ada tantangan rekayasa perangkat lunak. Menemukan titik-titik yang cocok adaptasi dalam perangkat lunak yang ada memerlukan pengetahuan mendalam tentang kerja, dan upaya mungkin tidak selalu menjadi sukses. Namun, ketika membuat perangkat lunak adaptif baru dari awal, ada teknik dari komunitas rekayasa perangkat lunak, seperti aspek pemrograman berorientasi [Elrad et al. 2001], yang dapat membantu pemrogram yang mengelola adaptasi.

19.7 studi kasus: Cooltown

Tujuan dari Hewlett Packard Cooltown proyek [Kindberg et al. 2002a, Kindberg dan Barton 2001] adalah untuk menyediakan infrastruktur untuk nomaden komputasi [Kleinrock 1997], istilah proyek digunakan untuk berorientasi manusia mobile dan di mana-mana komputasi. Nomaden "merujuk kepada manusia yang berpindah-pindah antara tempat-tempat seperti rumah, tempat kerja, dan toko-toko mereka ketika mereka pergi tentang kehidupan sehari-hari mereka. 'Komputer' di sini merujuk kepada layanan yang diberikan kepada para pengguna nomaden-bukan hanya layanan email yang dapat disediakan di manapun ada konektivitas, tapi lebih khususnya layanan terintegrasi dengan entitas dalam dunia fisik sehari-hari di mana pengguna bergerak. Untuk mengakses layanan tersebut, manusia diasumsikan untuk membawa atau memakai nirkabel dilengkapi sensor perangkat yang tersambung. Deskripsi ini sering merujuk kepada bentuk yang paling umum dari perangkat tersebut pada saat proyek: PDA. Namun, ponsel pintar dan perangkat yang lebih eksperimental seperti smart watches juga dianggap.

Lebih khusus lagi, tujuan proyek adalah untuk menerapkan pelajaran dari keberhasilan Web untuk komputasi nomaden, melalui dua tujuan. Pertama, karena Web menyediakan set kaya dan extensible sumber daya di dunia maya, banyak dapat berpotensi diperoleh dengan memperpanjang Web arsitektur dan sumber daya yang ada untuk dunia fisik. Satu tujuan untuk desain Cooltown dinyatakan dalam maxim "semuanya memiliki halaman web': kesatuan dalam dunia fisik kita, Apakah elektronik atau tidak, adalah untuk memiliki sumber daya web terkait yang disebut kehadiran web, yang pengguna akan dapat mengakses nyaman ketika di hadapan entitas tersebut. Kehadiran web hanya bisa menjadi sebuah halaman web yang berisi informasi tentang entitas, atau itu bisa setiap layanan yang disediakan dalam hubungannya dengan entitas. Sebagai contoh, kehadiran web produk fisik bisa layanan untuk mendapatkan suku cadang.

Tujuan kedua adalah untuk mencapai tingkat tinggi Web interoperabilitas untuk interaksi dengan perangkat. Nomaden pengguna mungkin perlu berinteraksi di tempat-tempat yang mereka tidak pernah dikunjungi sebelumnya, dengan kehadiran web mereka belum pernah menemui sebelum. Itu tidak akan diterima untuk pengguna harus memuat perangkat lunak baru atau mengkonfigurasi perangkat lunak yang ada pada perangkat portabel mereka untuk manfaat dari layanan tersebut.

Aspek-aspek arsitektur Cooltown bahwa kita berkonsentrasi pada (gambar 19.12): web kehadiran; hyperlink fisikal, yang adalah link dari fisik entitas untuk web kehadiran dan dengan demikian untuk hyperlink sumber daya Web; dan eSquirt, protokol interoperation dengan perangkat web-sekarang.





872

BAB 19 MOBILE DAN KOMPUTASI MANA-MANA

Gambar 19.12 Lapisan Cooltown















Cooltown menganggap fisik entitas dibagi ke dalam tiga kategori: orang, tempat dan hal-hal. Kehadiran web seseorang, tempat atau hal ini berpotensi setiap web sumber yang dipilih untuk memenuhi aplikasi spesifik; Tapi Cooltown mengadopsi peran tertentu untuk kehadiran web dan tempat. Kehadiran web hal-hal dan orang-orang yang dikumpulkan dalam kehadiran web tempat, jadi deskripsi berikut urutan itu.

Hal: A "hal ' adalah sebuah perangkat atau entitas fisik non elektronik. Hal-hal yang menjadi web-sekarang dengan memiliki server web yang tertanam di dalamnya atau oleh kehadiran web mereka dalam web server hosting. Jika masalahnya adalah perangkat, maka URL-nya adalah bahwa layanan menerapkan. Misalnya, 'Internet radio' adalah perangkat bermain musik yang host kehadiran web sendiri. Pengguna yang telah menemukan URL radio Internet mengambil halaman web dengan kontrol yang memungkinkan mereka untuk "tune' untuk sumber Penyiaran Internet, menyesuaikan pengaturannya (seperti volume) dan mungkin meng-upload file suara sendiri pengguna. Tetapi hal-hal yang bahkan non elektronik mungkin memiliki kehadiran web-yaitu, sumber daya web yang terkait dengan hal tapi host oleh server web di tempat lain. Sebagai contoh, kehadiran web dokumen cetak bisa menjadi mitranya dokumen elektronik: daripada harus Copy dokumen cetak (dengan akibat penurunan kualitas), pengguna dapat menemukan kehadiran web dari artefak fisik – seperti yang kita jelaskan di bagian 19.7.2 – dan meminta cetak yang baru. Kehadiran web musik CD bisa beberapa terkait konten digital seperti klip musik tambahan dan foto-foto, host di pemilik media pribadi koleksi.

Orang: Orang-orang yang menjadi web-sekarang dengan menawarkan halaman rumah global web dengan layanan untuk memfasilitasi komunikasi dengan mereka dan menawarkan informasi tentang konteks saat ini. Misalnya, pengguna tanpa ponsel bisa membuat mereka nomor telepon lokal tersedia melalui kehadiran web mereka-nilai yang kehadiran web mereka secara otomatis update ketika mereka bergerak di sekitar. Mereka mungkin juga memilih untuk kehadiran web mereka untuk mendaftar lokasi mereka saat ini secara eksplisit, melalui link ke web keberadaan tempat di mana mereka secara fisik hadir.

Tempat: Tempat adalah ruang yang cerdas, untuk menggunakan terminologi dari bab ini. Tempat-tempat yang menjadi web-sekarang dengan mendaftarkan kehadiran web orang dan hal-hal dalam mereka- dan bahkan kehadiran web bersarang atau sebaliknya terkait tempat – dengan layanan direktori tempat khusus (bagian 13.3). Direktori tempat yang juga berisi informasi relatif statis seperti gambaran sifat fisik dan fungsi sebagai tempat. Layanan Direktori memungkinkan komponen untuk menemukan dan dengan demikian berinteraksi dengan serangkaian kehadiran web dalam tempat yang dinamis. Hal ini juga digunakan sebagai sumber informasi tentang tempat dan isinya harus diberikan kepada manusia, dalam bentuk halaman web.

Direktori entri untuk kehadiran web dalam tempat dapat didirikan di dua cara utama. Pertama, Layanan penemuan jaringan (bagian 19.2.1) dapat digunakan untuk secara otomatis mendaftar setiap kehadiran web yang dilaksanakan oleh perangkat dalam subnet sebagai tempat – perangkat yang memiliki nirkabel terhubung dalam satu tempat, atau sebagai tempat infrastruktur server. Namun, sementara jaringan layanan penemuan berguna, mereka menderita dari masalah bahwa tidak semua kehadiran web host oleh perangkat di tempat yang subnet. Kehadiran web non elektronik fisik entitas seperti manusia, mencetak dokumen dan CD yang pindah ke tempat atau dibawa ke dalamnya musik dapat di-host di mana saja. Kehadiran web mereka harus didaftarkan tidak secara manual atau melalui penginderaan mekanisme, dalam proses yang disebut fisik pendaftaran [Barton et al. 2002]-misalnya, oleh penginderaan tag RFID mereka.

Layanan yang disebut manajer kehadiran web [Debaty dan Caswell 2001] mengelola tempat web-sekarang-misalnya, untuk semua kamar dalam bangunan- dan juga dapat mengatur kehadiran web orang dan hal-hal. Tempat adalah sebuah contoh khusus dari Cooltown abstraksi dari konteks: satu set terkait web-sekarang entitas terkait bersama-sama untuk tujuan seperti browsing. Pengelola kehadiran web berhubungan setiap entitas web-sekarang dengan kehadiran web entitas dalam konteks. Misalnya, jika entitas hal, pihak yang terkait bisa menjadi orang yang membawa itu dan tempat di mana itu terletak. Jika entitas seseorang, pihak yang terkait dapat hal-hal yang dilakukan oleh orang, tempat di mana orang saat ini terletak dan mungkin langsung sekitarnya

orang.

19.7.2 Hyperlink fisikal

Kehadiran web adalah sumber-sumber web seperti yang lain, sehingga halaman web dapat berisi link teks atau gambar ke web kehadiran seperti link lainnya. Tapi dalam bahwa standar web-menghubungkan model pengguna datang di web kehadiran seseorang, tempat atau hal melalui sumber informasi: halaman web. Desain Cooltown memungkinkan manusia selain itu untuk pergi langsung ke kehadiran web dari sumber-sumber fisik mereka: yakni spesifik fisik orang, tempat atau hal-hal yang mereka hadapi gerakan mereka sehari-hari melalui dunia fisik.

Hyperlink fisik adalah cara apapun yang pengguna dapat mengambil URL kehadiran web entitas dari entitas fisik itu sendiri atau dengan sekitarnya. Kita sekarang mempertimbangkan cara pelaksanaan hyperlink fisikal. Pertama, pertimbangkan HTML markup untuk link khas dalam halaman web, mengatakan:

< a href = "http://cdk4.net/ChopSuey.html" > Hopper lukisan Chop Suey < /a >

Yang link teks "Hopper lukisan Chop Suey' di halaman web untuk sebuah halaman di http://cdk4.net/Hopper.html tentang direferensikan Edward Hopper lukisan, Chop Suey.

Sekarang, mempertimbangkan pertanyaan bagaimana pengunjung Museum yang bertemu dengan lukisan tidak bisa ' Klik pada lukisan untuk memperoleh informasi tentang hal itu dalam browser pada ponsel mereka, PDA atau perangkat portable lain. Yang akan memerlukan cara menemukan URL dari konfigurasi secara fisik dari lukisan itu sendiri atau sekitarnya fisik. Salah satu cara akan menulis URL pada dinding dengan lukisan sehingga pengguna dapat mengetik ke browser perangkat mereka. Tapi itu akan menjadi janggal dan melelahkan.

Sebaliknya, Cooltown memanfaatkan fakta bahwa pengguna memiliki sensor terintegrasi dengan perangkat mobile mereka. Proyek diselidiki dua pendekatan utama untuk menemukan URL entitas melalui sensor tersebut: sensing langsung dan tidak langsung penginderaan.

Langsung penginderaan. Dalam model ini, perangkat pengguna Indra URL langsung dari tag (tag 'otomatis identifikasi') atau beacon terpasang ke badan menarik atau bersantailah di samping itu (Lihat bagian 19.4.3). Entitas yang relatif besar seperti kamar bisa memiliki beberapa Tag atau Beacon terletak di tempat yang sangat terlihat. Tag adalah perangkat pasif atau artefak yang menyajikan URL ketika pengguna menempatkan perangkat mereka sensor dekat itu. Sebagai contoh, ponsel kamera dapat pada prinsipnya melakukan pengenalan karakter optik terhadap URL yang ditulis pada tanda, atau itu bisa membaca URL dikodekan dalam dua dimensi barcode. Mercusuar, di sisi lain, secara teratur memancarkan entitas yang URL, biasanya over inframerah (arah) daripada radio, yang biasanya omnidirectional dan dengan demikian dapat mengakibatkan ambiguitas yang URL milik entitas yang.

Secara khusus, proyek Cooltown dikembangkan Beacon dalam bentuk perangkat kecil (beberapa sentimeter di) yang mengeluarkan serangkaian setiap beberapa detik over inframerah menggunakan satu-shot, connectionless protokol (gambar 19.13a). String dipancarkan adalah dokumen XML-seperti yang terdiri dari URL kehadiran web entitas yang dan judul pendek. Banyak perangkat portabel yang tersedia pada saat proyek, seperti ponsel dan PDA, telah inframerah trimancar terintegrasi dan sehingga mampu menerima string tersebut. Ketika program klien menerima string, dapat, misalnya, baik menyebabkan perangkat browser untuk pergi ke URL diterima langsung atau membuat hyperlink dari judul diterima ke URL diterima dan menambahkan yang hyperlink ke daftar hyperlink yang diterima, yang pengguna dapat mengklik pada ketika mereka memilih.

Tidak langsung Sensing: Penginderaan langsung adalah mana perangkat pengguna memperoleh pengenal dari tag atau beacon, yang mendongak untuk memperoleh URL. Perangkat penginderaan tahu URL dari resolver-server nama yang memelihara koleksi binding dari pengidentifikasi untuk URL (penamaan konteks, dalam terminologi Bab 13) dan mengembalikan URL terikat pengenal diberikan [Kindberg 2002]. Idealnya, namespace yang digunakan untuk pengenal entitas akan menjadi cukup besar untuk mengaktifkan setiap entitas fisik memiliki pengenal unik, menghilangkan kemungkinan ambiguitas. Namun, pada prinsipnya, pengidentifikasi lokal dapat digunakan selama mereka dipandang hanya pernah menggunakan resolver lokal-jika tidak, palsu hasil mungkin diperoleh karena orang lain mungkin digunakan sama seperti pengidentifikasi untuk entitas yang berbeda.

Penginderaan langsung kadang-kadang digunakan karena kendala dalam tag teknologi berarti bahwa langsung URL penginderaan mustahil. Sebagai contoh, barcode linear tidak memiliki kapasitas yang cukup untuk menyimpan URL yang sewenang-wenang, dan murah RFID tag menyimpan hanya tetap panjang pengenal biner. Dalam setiap kasus, pengenal disimpan harus dilihat untuk mendapatkan kehadiran web URL.

Gambar 19.13 Menangkap dan mencetak kehadiran Web lukisan













Tapi ada juga alasan positif untuk menggunakan langsung penginderaan: hal ini memungkinkan suatu entitas fisik untuk memiliki satu set kehadiran web bukan hanya satu. Seperti kalimat "Hopper lukisan Chop Suey' bisa muncul di beberapa halaman web dengan setiap contoh yang terkait ke halaman web yang berbeda atau respurce, sehingga lukisan fisik tertentu dapat menyebabkan kehadiran web yang berbeda menurut pilihan pemisah. Sebagai contoh, kehadiran web satu lukisan bisa link ke layanan yang mencetak salinan pada printer terdekat di museum; kehadiran web lain untuk lukisan sama bisa menjadi sebuah halaman yang memberikan informasi tentang lukisan dari pihak ketiga yang independen dengan tidak ada sambungan ke museum.

Pelaksanaan resolusi berikut arsitektur web pemisah setiap merupakan sebuah situs web mandiri. Perangkat lunak klien adalah browser yang ditambah oleh sederhana plug-in. Resolvers menyediakan formulir web yang berisi bidang yang klien mengisi sebagai efek samping dari penginderaan, daripada menyajikan bidang kepada pengguna untuk entri manual. Ketika pengguna, mengatakan, memindai barcode, pengenal dihasilkan secara otomatis diisi ke dalam bentuk dan klien posting bentuk ke resolver. Resolver kembali URL terkait, jika ada.

Karena resolvers diri sumber daya web, pengguna menavigasi ke mereka karena mereka akan web halaman lain [Kindberg 2002] dan klien update dengan pemisah yang itu adalah dengan menggunakan. Khususnya, pengguna dapat mengambil URL dari resolver lokal menggunakan hyperlink fisik lokal. Misalnya, administrator museum dapat mengatur Cooltown Beacon memancarkan URL pemisah lokal, sehingga pengunjung bisa menggunakan pemisah bahwa untuk mendapatkan kehadiran web lokal relevan untuk lukisan dalam museum. Sama, jika pengidentifikasi lukisan terkenal dan mapan secara global, maka para pengunjung memanfaatkan resolvers lain di mana saja di Web – misalnya, pengunjung Spanyol mungkin memanfaatkan resolver bookmarked situs komentar Spanyol seni sambil mengunjungi museum di Amerika Utara.

Akhirnya, meskipun kami telah menunjukkan beberapa keuntungan langsung penginderaan atas langsung penginderaan, ini memang memiliki kelemahan: klien harus membuat perjalanan tambahan untuk pemisah, yang memiliki konsekuensi dalam hal latency dan energi konsumsi.

19.7.3 InterOperation dan protokol 'eSquirt'

Salah satu cara untuk interoperation antara web-sekarang target perangkat dan perangkat portabel pengguna adalah dengan menggunakan protokol web standar. Pengguna perangkat portabel masalah METHOD GET atau POST operasi dan perangkat target merespon dengan antarmuka pengguna dalam bentuk halaman web, yang menjadikan perangkat portabel untuk pengguna. Kembali ke contoh sebelumnya, radio Internet web-sekarang dapat hadir URL dari layanan web melalui sebuah mercusuar yang menghadap ke penggunanya. Pengguna berjalan di depan radio dan poin Penerima inframerah pada perangkat portabel mereka-mengatakan, PDA mereka-hal itu; klien pada PDA mereka menerima URL dari radio dan melewati URL ke browser. Hasilnya adalah bahwa radio 'rumah' halaman muncul di PDA, dengan kontrol untuk menyesuaikan volume, meng-upload dan memutar file suara di PDA, dll.

Printer web-sekarang di museum dapat berperilaku demikian pula. Pengguna memperoleh halaman rumah printer melalui beacon nya, dan dengan demikian dapat meng-upload konten ke printer dan menentukan pengaturan printer melalui halaman web. Tentu saja, perangkat seperti printer mungkin memiliki antarmuka pengguna fisik; tetapi peralatan sederhana seperti bingkai foto digital mungkin tidak, dan antarmuka virtual ini kemudian penting.

Bentuk interoperation yang di atas berorientasi data dan dengan demikian perangkat-independen, seperti Web secara umum. Karena perangkat target menyediakan antarmuka pengguna, pengguna dapat mengontrol perangkat melalui browser mereka tanpa memerlukan software target spesifik. Misalnya, pengguna dengan file gambar pada PDA mereka dapat memberikan hal itu pada perangkat gambar-rendering yang sewenang-wenang, apakah itu sebuah printer atau bingkai foto digital, mengatakan; dan pengguna dengan file suara pada PDA mereka dapat mendengarnya pada perangkat audio-mengkonsumsi sewenang-wenang, apakah itu, misalnya, radio Internet atau sistem HiFi 'pintar'.

Masalah dengan skenario adalah bahwa pengguna relatif miskin sumber daya perangkat portabel, yang mungkin memiliki koneksi nirkabel bandwidth rendah, di jalur konten antara konten sumber dan tenggelam. Misalnya bahwa pengguna telah memperoleh gambar lukisan di Musium Cooltown-ditingkatkan, atau telah memperoleh klip audio seseorang berbicara tentang lukisan. Dalam setiap kasus, teknik adaptasi yang dibahas dalam bagian 19,6 mungkin telah diterapkan karena sumber daya yang terbatas seperti ukuran layar dan bandwidth, mengakibatkan agak rendah kesetiaan versi klip gambar atau suara pada perangkat portabel. Ketika pengguna melewati gambar ke printer museum, atau klip suara radio Internet dalam kamar hotel mereka, mereka akan disajikan dengan kualitas rendah versi meskipun perangkat tersebut mampu render berkualitas tinggi dan mungkin memiliki bandwidth yang tinggi kabel koneksi jaringan.

Cooltown's eSquirt protokol untuk interoperation antara perangkat menghilangkan masalah kesetiaan rendah- dan menghindari konsumsi bandwidth dan energi yang berharga-dengan mengirimkan URL dari isi dari satu perangkat ke yang lain, bukan konten itu sendiri. Pada kenyataannya, protokol identik dengan yang digunakan untuk mengirim URL (dan judul) dari mercusuar Cooltown ke perangkat over inframerah (gambar 19.13b). Perangkat kecil jumlah data yang melewati media inframerah energi rendah, dan itu hanya jaringan operasi di mana masing-masing perangkat terlibat selama protokol eSquirt itu sendiri. Namun, perangkat penerima kemudian dapat bertindak sebagai web klien untuk mengambil konten menggunakan URL, dan melakukan operasi seperti render data yang dihasilkan.

Misalnya, pengguna yang telah memperoleh URL gambar Hopper lukisan dari mercusuar samping lukisan mengirim URL itu ke printer menggunakan PDA berkemampuan eSquirt mereka. Protokol yang menggunakan eSquirt tidak dapat diandalkan, tetapi sebagai dengan TV remote control jika transmisi gagal pengguna dapat hanya tekan "menyemprotkan ' tombol lagi sampai umpan balik di printer menegaskan keberhasilan. Printer (sebaliknya, Jasa cetak, yang mungkin dapat dilaksanakan dalam infrastruktur) kemudian bertindak sebagai web klien untuk mengambil isi dari URL-dalam bentuk penuh kesetiaan- dan mencetak itu.

Perangkat portabel pengguna sehingga dapat bertindak seperti clipboard perangkat-independen untuk URL yang sama ke clipboard aplikasi-independen untuk data dalam copy-dan-paste operasi pada antarmuka pengguna desktop. Pengguna mempekerjakan perangkat untuk 'copy dan paste' URL antara sumber dan wastafel untuk mentransfer konten antara mereka.

Perangkat kemerdekaan adalah keuntungan paradigma eSquirt. Protokol eSquirt selalu bekerja dengan cara yang sama; yang membedakan adalah pengolahan URL oleh Penerima. Namun, pengguna harus memiliki ide yang masuk akal dari apa kombinasi menyemprotkan URL dan menerima perangkat masuk akal. Perangkat yang menerima desain juga harus mengharapkan beberapa kesalahan: pengguna mungkin keliru menyemprotkan URL dari audio file ke printer. Namun, itu inadvisable untuk desain dari kesalahan seperti itu sebelumnya. Langkah-langkah pencegahan, seperti jenis-memeriksa, dapat menyebabkan fenomena kehilangan kesempatan dan rapuh interoperation yang kami diidentifikasi di bagian 19.2.2.

Meskipun kesederhanaan adalah kekuatan protokol eSquirt, kerugian adalah bahwa hal itu bergantung pada menggunakan pengaturan default pada perangkat penerima, atau menggunakan kontrol fisik untuk masukan pengaturannya. Yaitu eSquirt tidak mengaktifkan boleh paradigma yang kami mulai subbab ini, di mana perangkat klien memperoleh antarmuka virtual pengguna untuk mengontrol pengaturan target perangkat. Sebagai contoh, setelah squirting URL file suara atau stasiun radio streaming radio Internet, Bagaimana Apakah pengguna mengontrol volume dari perangkat portabel mereka? Latihan 19.19 mengeksplorasi masalah ini.

19.7.4 Ringkasan dan perspektif

Kita sudah ketengahkan fitur utama dari arsitektur Cooltown. Tujuan proyek adalah untuk manfaat nomaden pengguna dengan memperluas Web, koleksi virtual isi hyperlink, untuk entitas dalam dunia fisik, terlepas dari apakah entitas tersebut memiliki fungsi elektronik mereka sendiri. Arsitektur dianggap sebagai entitas fisik, termasuk orang-orang, tempat dan hal-hal, dikaitkan dengan kehadiran web. Berikutnya adalah hyperlink fisikal-mekanisme merasakan kehadiran web URL dari sebuah entitas fisik. Proyek dilaksanakan hyperlink fisikal yang menggunakan inframerah Beacon, tag seperti barcode dan RFID tag, dan resolvers untuk mengubah pengidentifikasi ke URL. Dukungan untuk inframerah telah menurun dengan bergerak dari PDA untuk smartphone, tapi dukungan untuk membaca barcode 1D dan 2D dan, di beberapa negara, NFC dan subset yang RFID, telah meningkat. Akhirnya, eSquirt adalah protokol yang boleh perangkat-independen, yang mengurangi perangkat portabel yang bertenaga rendah dari harus berada di jalur konten antara sumber dan wastafel konten.

Cooltown sebagian besar mencapai tujuannya, tetapi hanya pada asumsi bahwa manusia sangat banyak 'di lingkaran'. Manusia fisik menemukan layanan yang terkait dengan entitas yang mereka hadapi, melalui hyperlink fisikal. Manusia mungkin juga harus secara fisik register kehadiran web tagged non elektronik entitas seperti CD musik ketika mereka ditempatkan dalam konteks tempat web-sekarang seperti rumah, sehingga mereka menjadi elektronik discoverable ada. Akhirnya, manusia tidak hanya mengaitkan mereka perangkat portabel untuk web-sekarang entitas dengan 'mengklik' pada hyperlink fisikal tetapi, melalui protokol eSquirt, mereka membawa tentang perangkat-independen interoperation. Keterlibatan manusia membuat untuk fleksibilitas yang besar, dan menghilangkan masalah kehilangan kesempatan untuk interaksi. Namun, model boleh sederhana eSquirt tidak memberikan pengguna kendali atas apa perangkat penerima dengan URL yang mereka memiliki menyemprotkan ke dalamnya.

Pengembangan alternatif akan otomatis Asosiasi dan interoperation web-sekarang entitas. Setiap entitas fisik bisa memiliki contoh jenis seragam kehadiran web, yang akan merekam rincian entitas yang semantik (mungkin menggunakan teknologi web semantik), termasuk hubungan antara entitas tersebut dan lain-khususnya, hubungan antara seorang web-sekarang atau hal dan kehadiran web tempat yang mengandung mereka. Dengan demikian kehadiran web semua dalam tempat tertentu bisa menemukan satu sama lain dan beroperasi. Sebagai contoh, kehadiran web Sekretaris Rapat bisa menemukan dokumen dalam ruang pertemuan yang diperlukan untuk dicetak, menemukan anggota yang hadir, menemukan printer terdekat dan menyebabkan diperlukan jumlah salinan yang akan dicetak. Cooltown di web kehadiran manajer [Debaty dan Caswell 2001] membuat mulai mewujudkan visi tersebut, melalui seragam manajemen tidak hanya tempat tetapi web-sekarang hal dan orang-orang yang memiliki link ke entitas terkait seperti web-sekarang tempat mereka. Sebagai contoh, ketika sebuah entitas memasuki tempat baru dan tidak terdaftar, entitas diperbarui secara otomatis dengan link ke kehadiran web tempatnya host baru. Idealnya, badan hubungan akan semua secara programatik dibentuk, bukan dukungan terbatas yang tersedia saat ini. Tapi semantik rumit dunia kita sehari-hari yang membuatnya mungkin menyadari aplikasi seperti otomatis pertemuan dukungan yang praktis berguna daripada cara rawan kesalahan adalah masih jauh off. Sementara itu, melibatkan manusia dalam lingkaran memungkinkan kemajuan yang akan dibuat.

19,8 ringkasan

Bab ini telah disajikan tantangan utama yang diangkat oleh sistem komputer mobile dan di mana-mana, dan agak lebih sedikit solusi karena tidak banyak tersedia. Sebagian besar tantangan berasal dari fakta bahwa sistem-sistem mudah menguap, yang pada gilirannya merupakan sebagian besar karena fakta bahwa mereka terintegrasi dengan dunia fisik kita sehari-hari. Sistem mudah menguap yang ditetapkan pengguna, komponen hardware dan software di ruang cerdas yang diberikan adalah berubah tak terduga. Komponen cenderung membuat dan mematahkan Asosiasi secara rutin, baik ketika mereka bergerak dari ruang smart smart ruang atau karena kegagalan. Koneksi bandwidth dapat bervariasi dari waktu ke waktu. Komponen dapat gagal sebagai baterai mati atau karena alasan lain. Bagian 19.1 untuk 19,3 membahas aspek-aspek dari volatilitas secara penuh, dan beberapa teknik untuk bergaul komponen dan memungkinkan mereka untuk berinterpolasi meskipun kesulitan 'konstan perubahan'.

Integrasi perangkat dengan dunia fisik kita melibatkan sensing dan konteks kesadaran (bagian 19.4), dan kami dijelaskan beberapa arsitektur untuk pengolahan data penginderaan. Tetapi masih ada tantangan yang kita mungkin menggambarkan sebagai kesetiaan fisik: seberapa akurat sebuah sistem dengan sensing dan perhitungan dapat berperilaku sesuai dengan semantik halus yang kita manusia mengasosiasikan dengan dunia fisik di mana kita hidup? Apakah 'konteks sadar telepon' benar-benar berperilaku seperti kita ingin dalam menghambat cincin tepat seperti yang kita bergerak di antara tempat? Apakah kehadiran web tempat seperti kamar hotel di Cooltown benar-benar merekam semua entitas web-sekarang bahwa manusia akan mengatakan itu di tempat itu – dan tidak, untuk contoh, beberapa kamar yang berdekatan?

Keamanan dan privasi (bagian 19,5) fitur kuat dalam penelitian pada sistem mobile dan di mana-mana. Volatilitas merumitkan keamanan karena itu menimbulkan pertanyaan apa dasar tidak dapat untuk kepercayaan antara komponen yang ingin membangun kanal aman. Untungnya, keberadaan fisik dibatasi saluran pergi beberapa cara untuk memungkinkan saluran aman mana ada hadiah manusia. Integrasi fisik memiliki implikasi untuk privasi: jika pengguna sedang dilacak untuk menyediakan mereka dengan konteks-Layanan sadar, maka mungkin ada kerugian yang parah privasi. Kami dijelaskan beberapa pendekatan pengelolaan pengenal dan diuraikan teknik statistik yang ditujukan untuk mengurangi masalah itu.

Integrasi fisik juga berarti derajat kendala dalam hal faktor-faktor seperti perangkat energi kapasitas, bandwidth nirkabel dan antarmuka pengguna baru-sebuah node dalam jaringan sensor memiliki sedikit pertama dua dan tidak ada akhir; telepon selular memiliki lebih dari tiga semua, tetapi masih jauh lebih sedikit daripada komputer desktop. Bagian 19,6 dibahas beberapa arsitektur yang komponen dapat beradaptasi kendala sumber daya.

Bagian 19.7 digambarkan arsitektur proyek Cooltown sebagai studi kasus. Arsitektur khas yang berlaku pelajaran dari Web untuk komputasi mana-mana. Keuntungan adalah tingkat tinggi interoperability. Tetapi sebagai hasilnya, desain Cooltown berlaku terutama untuk situasi di mana manusia mengawasi interaksi.

Akhirnya, Bab ini telah memusatkan perhatian pada perbedaan antara sistem mobile dan di mana-mana dan sistem terdistribusi lebih konvensional yang muncul di tempat lain dalam buku ini-terutama berkaitan dengan aspek volatilitas dan integrasi fisik. Latihan 19,20 mengundang pembaca untuk daftar beberapa kesamaan, dan untuk mempertimbangkan sejauh mana solusi sistem terdistribusi konvensional berlaku untuk sistem mobile dan di mana-mana.

LATIHAN



19,1 Apa itu sistem yang mudah menguap? Daftar jenis utama dari perubahan yang terjadi dalam sistem di mana-mana. Halaman 821

19.2 Membahas apakah itu mungkin untuk memperbaiki model "menarik" pencarian layanan oleh multicasting penyiaran (atau Penyiaran) dan caching menjawab pertanyaan. Halaman 831

19.3 Menjelaskan penggunaan sewa dalam layanan penemuan untuk mengatasi masalah layanan volatilitas. Halaman 831

19,6 Layanan pencarian Jini sesuai menawarkan layanan untuk permintaan klien yang didasarkan pada atribut atau pada Jawa mengetik. Menjelaskan dengan contoh-contoh perbedaan antara dua metode ini pencocokan. Apakah keuntungan membiarkan kedua jenis pencocokan? Halaman 832

19,5 Menggambarkan penggunaan IP multicast dan nama grup dalam Jini 'penemuan' Layanan, yang memungkinkan klien dan server untuk menemukan server lookup. Halaman 832

19.6 Apa pemrograman berorientasi data dan bagaimana hal itu berbeda dari pemrograman berorientasi obyek? Halaman 837

19,7 Membahas masalah bagaimana lingkup peristiwa sistem dapat dan harus berkaitan dengan tingkat fisik ruang yang cerdas di mana ia digunakan. Halaman 838

19.8 Membandingkan dan kontras persyaratan ketekunan yang terkait dengan sistem acara dan tupel ruang dalam infrastruktur ruang pintar. Halaman 840

19,9 Menggambarkan tiga cara penginderaan kehadiran pengguna samping pajangan dan dengan demikian memotivasi beberapa fitur yang diperlukan dalam sebuah arsitektur sistem pengenal konteks. Halaman 844

19,10 Menjelaskan dan memotivasi pengolahan di jaringan untuk jaringan nirkabel sensor, halaman 849

19,12 Dalam sistem lokasi aktif Bat, hanya tiga USG Receiver digunakan secara default untuk mendapatkan posisi 3D, sedangkan empat satelit diperlukan untuk mendapatkan posisi 3D di satelit navigasi. Mengapa ada perbedaan? Halaman 854

19,13 Pada beberapa sistem lokasi, benda-benda yang dilacak menyerah mereka pengidentifikasi untuk infrastruktur. Menjelaskan bagaimana hal ini dapat menimbulkan kekhawatiran tentang privasi, bahkan jika pengenal anonim. Halaman 856

19,14 Banyak sensor node yang tersebar di seluruh wilayah. Nodes tersebut adalah untuk berkomunikasi secara aman. Menjelaskan masalah distribusi kunci dan menjelaskan sebuah strategi probabilistik untuk mendistribusikan kunci. Halaman 858

19,15 Kami menggambarkan beberapa teknologi yang menyediakan saluran menerima-dibatasi untuk digunakan dalam perangkat spontan aman Asosiasi. Yang teknologi itu juga menyediakan saluran dibatasi kirim? Halaman 861

19,16 Menunjukkan bagaimana untuk membangun saluran dibatasi kirim dari saluran yang terbatas menerima, dan sebaliknya. Petunjuk: Gunakan sebuah node terpercaya yang terhubung ke saluran tertentu. Halaman 861

19,17 Sekelompok smart ruang terhubung hanya dengan spasi antara mereka. Seperti lorong atau square. Membahas faktor-faktor yang menentukan apakah intervensi ruang dapat bertindak sebagai zona campuran. Halaman 865

19,18 Menjelaskan faktor-faktor kontekstual untuk diperhitungkan ketika menyesuaikan konten multimedia. Halaman 866

19,19 Berasumsi bahwa perangkat dapat mengeksekusi instruksi 3 juta untuk jumlah yang sama energi (3J) yang digunakan untuk mengirim atau menerima 1 kbit data jarak 100 m oleh radio. Perangkat ini memiliki pilihan untuk mengirim 100-kbyte biner program ke server menghitung 100 m jauhnya, ketika menjalankan akan mengeksekusi instruksi 60 milyar dan bertukar pesan kbit 10.000 x 1 dengan perangkat. Jika energi adalah satu-satunya pertimbangan, harus perangkat offload perhitungan atau menjalankannya sendiri? Menganggap perhitungan pada perangkat diabaikan dalam kasus offloaded. Halaman 869

19,20Pengguna Cooltown menyemprotkan URL file suara atau stasiun radio streaming radio Internet. Menyarankan modifikasi protokol eSquirt yang akan memungkinkan pengguna untuk mengatur volume dari perangkat portabel. Petunjuk: mempertimbangkan data tambahan perangkat menyemprotkan harus memberikan. Halaman 877

Membahas penerapan sistem mobile dan di mana-mana teknik-teknik yang diambil dari daerah:

i) peer-to-peer sistem (Bab 10);
II) koordinasi dan perjanjian protokol (Bab 15);
III) replikasi (Bab 18). Halaman 879

No comments:

Post a Comment