Implementasi Publish-Subscribe Pada Delay Tolerant Network (DTN)
Vol. 1, No. 2, Februari 2017, hlm. 118-124 http://j-ptiik.ub.ac.id
Implementasi Publish-Subscribe Pada Delay Tolerant Network (DTN)
1 2 3 Rembulan Suci Fii Jannatin , Aswin Suharsono , Adhitya BhawiyugaProgram Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: [email protected], [email protected], [email protected]
Abstrak
Pada perkembangan teknologi informasi saat ini, banyak upaya yang dilakukan guna memberikan layanan pertukaran informasi yang efisien dan efektif. Arsitektur yang menarik banyak perhatian peneliti dalam hal efisiensi yaitu publish-subscribe, yang merupakan bagian dari Information Centric
Networking (ICN). Publish-subscribe merupakan sistem yang akan memudahkan pertukaran data antar
node , node subscriber tidak akan menghiraukan siapa pengirim dari data tersebut selama topik yang
di-subscribe memenuhi. Aplikasi publish-subscribe saat ini belum dapat berjalan di wilayah yang memiliki koneksi tidak stabil. Salah satu solusi agar publish-subscribe dapat berjalan pada kondisi tersebut adalah dengan membangun arsitektur tersebut di Delay Tolerant Network (DTN). Dari pengujian yang dilakukan, publisher telah mengunggah file buku. Broker telah dapat meneruskan file buku ke subscriber sesuai topik. Subscriber telah dapat menerima file yang di-publish oleh publisher berdasarkan topik yang dipilih. Ketiganya berjalan di DTN. Keberhasilan terkirimnya file ke node tujuan telah diuji dan mendapatkan hasil 100% dimana jumlah file mencapai 5000. Seluruh file terkirim ke
broker dan subscriber sesuai tujuan, tanpa ada yang hilang. File dengan ukuran lebih dari 1MB, lebih
dari 10MB dan lebih dari 100MB dapat diunggah ke penyimpanan publisher dan berhasil terkirim ke
subscriber . Sistem memiliki mekanisme pengiriman ulang paket yang hilang dan dapat berjalan sesuai
fungsinya.Kata kunci: Delay Tolerant Network (DTN), publish-subscribe
Abstract
In the rapid development of information technology, many efforts has been done to provide more
efficient and effective service for information exchange. One of the architecture that attracts
researchers’s attention is publish-subscribe architecture, which included in Information Centric
Networking (ICN). Publish-subscribe system will help data exchange between nodes. Subscriber node
will not care who is the data sender as long as the data matched the topic they has subscribe. The current
publish-subscribe application is not capable to run in area with unstable connection. One of the
solutions to solve that problem is to build publish-subscribe architecture in Delay Tolerant Network
(DTN). In this study, publisher had uploaded some book file. Brokers had been able to forward the files
to subscriber according the topic. Subscriber had been able to receive files published by publisher
according the topic they choose. Three of them run in DTN. Success rate of sending files to destination
in testing of 5000 file-sending is 100%. All files had been sent successfully to broker and subscribers
according to its destination without data-lost. File with size of 1 MB, more than 10 MB, and more than
100 MB had been successfully uploaded to publsiher’s storage and also successfully sent to subscribers.
This system also has re-sending mechanism for lost data-packets that functions properly.Keywords: Delay Tolerant Network (DTN), publish-subscribe
yaitu publish-subscribe . Publish-subscribe 1.
PENDAHULUAN adalah arsitektur yang dapat menangani
pengiriman data yang di-publish oleh publisher Pada perkembangan teknologi informasi ke beberapa subscriber atau pengguna saat ini, banyak upaya yang dilakukan guna berdasarkan topik yang dipilihnya melalui memberikan layanan pertukaran informasi yang
broker sebagai perantaranya. Terdapat tiga peran
efisien dan efektif. Arsitektur yang menarik utama dalam sistem publish-subscribe yaitu banyak perhatian peneliti dalam hal efisiensi
Fakultas Ilmu Komputer Universitas Brawijaya
118
publisher , broker dan subscriber.
sistem ini dapat menarik para pengguna serta menjadi solusi dari permasalahan sebelumnya.
Informasi Bencana Alam. Simulasi dilakukan pada daerah rawan bencana antara lain Taro, Miyako City, dan Iwate di Jepang. DTN akan menyimpan data yang dipertukarkan antar node di bundle masing-masing node agar saat koneksi terputus, data tetap akan disimpan. Bundle di sini adalah sebuah protocol data unit pada DTN. Setiap bundle terdiri atas dua atau lebih “block” yang berjalan untuk berbagai tujuan (Scott dan Burleigh, 2007). Sehingga dalam keadaan koneksi yang terputus, data tersebut tidak di-
drop , bundle akan tertahan di penyimpanan DTN dan dikirimkan ketika terdapat koneksi kembali.
Data yang dikirim / bundle-bundle tadi akan dibawa oleh kurir dari pengirim sampai menuju
node tujuan akhir.
Berdasarkan keunggulan yang ditawarkan arsitektur publish-subscribe dan permasalahan wilayah dengan koneksi yang tidak stabil, penulis mengambil judul skripsi “Implementasi
Publish-Subscribe pada Delay Tolerant Network (DTN)
”. Skripsi ini diangkat agar pengguna dapat memanfaatkan sistem publish-
subscribe di DTN dan diharapkan manfaat
Publish-subscribe dalam penelitian ini akan
”, bahwa DTN dianggap menjadi metode yang memungkinkan untuk mengirimkan data dengan cara bertukar informasi dalam situasi yang darurat (Uchida, et al., 2013). Penelitian tersebut menggabungkan DTN dengan Cognitive
berjalan melalui DTN. Peran yang dapat dilakukan dalam sistem publish-subscribe diharapkan dapat memudahkan pengguna dan memberikan layanan yang menarik, terutama masyarakat yang belum terjangkau internet / yang berada di wilayah pedesaan.
2. TINJAUAN PUSTAKA Delay Tolerant Network (DTN) merupakan
salah satu arsitektur yang dulunya ditujukan untuk komunikasi antariksa yang tidak mempermasalahkan delay yang tinggi. DTN memiliki kelebihan yang dapat menggantikan peran internet pada wilayah pedesaan atau daerah yang sinyalnya terputus-putus.
DTN2 adalah perangkat lunak yang menyediakan fungsi dan layanan yang sesuai dengan arsitektur DTN dan memastikan bahwa DTN berjalan dengan baik. DTN2 menerapkan
Bundle Protocol sesuai dengan arsitektur DTN
yang diatur pada RFC 5050 dan menyediakan
Bundle Security Protocol sebagai autentikasi pengiriman bundle.
Information Centric Networking (ICN)
Wireless Network (CWN) untuk Sistem Jaringan
Network with Cognitive Wireless Network for Disaster Information Network System
Penelitian terkait publish-subscribe telah dilakukan para ahli untuk mengembangkan manfaat dari arsitektur publish-subscribe. Penelitian dengan judul “Hope: A Fault-
subscriber sesuai format pilihannya (Jafarpour,
Tolerant Distributed Pub/Sub Architecture for Large-Scale Dynamic Network Environment
” menawarkan HOPE sebagai arsitektur yang distribusinya menyeluruh untuk publish-
subscribe berbasis XML (Xiaochuan dan Alvin,
2013). Penelitian lain dengan judul “CCD: A
Distributed Publish/Subscribe Framework for Rich Content Formats
” yang menawarkan
publish-subscribe berbasis konten, dimana
sistem hanya mengirim konten yang cocok ke
et al., 2012). Publish-subscribe akan terus berkembang melalui penelitian para ahli di masa yang akan datang karena arsitektur ini sangat penting dan dapat berguna untuk efisiensi pertukaran data seperti yang telah disebutkan pada penelitian-penelitian sebelumnya.
Seperti dikatakan pada penelitian tentang DTN denga n judul “Proposal of Delay Tolerant
Publish-subscribe seperti yang dipaparkan
dalam penelitian sebelumnya telah banyak diterapkan. Protokol yang menggunakan arsitektur ini juga telah bermunculan, seperti ZeroMQ, MQTT dan sebagainya. Namun,
publish-subscribe saat ini masih membutuhkan
koneksi yang stabil. Sedangkan pada koneksi yang tidak stabil tentu manfaat dari publish-
subscribe sendiri masih belum dapat dirasakan.
Salah satu solusi agar publish-subscribe dapat dirasakan oleh masyarakat pedesaan atau masyarakat yang berada di wilayah dengan koneksi yang tidak stabil adalah dengan membangun publish-subscribe melalui Delay
Tolerant Network (DTN). DTN mampu
mengatasi permasalahan internet yang belum merata. Jadi, DTN dapat berjalan di lingkungan dengan koneksi terputus-putus atau terbatas, delay dan error rate yang tinggi.
adalah arsitektur yang digunakan untuk menyediakan konten pada lokasi-lokasi yang efisien dan pengguna dapat menjangkau konten tersebut secara lebih mudah. Dalam ICN, konten START tidak disediakan dari end-system, tetapi juga diteruskan ke jaringan. Sehingga konten tersebut dapat diakses menggunakan nama sebagai
Studi Literatur
pengalamatan konten. ICN secara langsung menyediakan fungsionalitas baru seperti mekanisme untuk meningkatkan ketersediaan
Analisis Kebutuhan
konten, dukungan keamanan konten, dan dukungan mobilitas (Brito dkk, 2013).
Publish-subscribe adalah salah satu sistem Perancangan
yang menggunakan arsitektur ICN. Publish-
Sistem subscribe juga menerima konten tanpa
menghiraukan pengirimnya. Operasi dasar pada sistem publish-subscribe yaitu pertama,
Implementasi Sistem
membuat event dan membuat mereka
publisher
tersedia untuk subscriber. Kedua, subscriber diperbolehkan untuk mengumumkan
Integrasi Sistem
ketertarikan mereka pada event yang telah didefinisikan publisher. Kemudian, subscriber
Tidak
diberikan pemberitahuan setiap kali event yang cocok dengan ketertarikan mereka dibangkitkan Apakah sistem oleh tiap publisher (Brito dkk, 2013). telah sesuai dengan tujuan?
JavaScript Object Notation (JSON) adalah
format data yang mudah untuk dibaca dan diambil nilainya sehingga memudahkan manusia
Ya dalam pertukaran informasi.
Pengujian Sistem
JSON terbuat dari dua struktur (ECMA- 262, 2013):
Kesimpulan
Kumpulan pasangan nama/nilai yang
- dinyatakan sebagai objek, rekaman, STOP struktur, kamus, tabel hash, daftar berkunci atau array asosiatif.
Gambar 3. 1 Diagram Alir Penelitian
- Daftar nilai terurutkan yang dinyatakan sebagai larik/array, vektor, list, atau 4.
PERANCANGAN SIMULASI urutan. JARINGAN
dibangun dengan
Publish-Subscribe 3.
METODOLOGI
menggunakan bahasa pemrograman python dan Metodologi penelitian yang akan dilakukan memberikan konten-konten yang dibutuhkan. pada penelitian ini secara umum ditunjukkan
Gambar 4.1 menggambarkan arsitektur sistem pada diagram alir pada Gambar 3.1.yang akan dibuat. Dimulai dari aplikasi dari sisi
client , kemudian informasi yang akan
dikirimkan dalam format file JSON dan file buku dalam format PDF melewati broker hingga mencapai subscriber. Ketiga node berada pada jaringan DTN.
Penerapan publish-subscribe pada sistem ini terdapat tiga jenis peran seperti yang telah dipaparkan sebelumnya, yaitu publisher, broker, dan subscriber. Ketiganya memiliki fungsi yang berbeda-beda.
Gambar 4. 1 Arsitektur Sistem Publish-Subscribe
- Client application merupakan aplikasi
yang berjalan di sisi client. Aplikasi ini dibangun menggunakan bahasa pemrograman python dan interface web menggunakan PHP. Client dapat melakukan fungsi, seperti mengirim data/file ke broker dan meminta data/file dari broker.
menyediakan layanan / fungsi yang melakukan publish ke subscriber yang ada sesuai pillihan topik.
- Subscriber merupakan node yang akan
menerima data terbaru sesuai topik yang dipilih.
Client Application Broker Subscriber DTN
Bundle DTN Publisher Pada bundle DTN publisher terlihat berjumlah 0 seperti ditunjukkan pada Gambar 5.2, hal ini menunjukkan tidak ada paket yang tertahan di bundle karena keduanya saling berdekatan / terhubung.
Gambar 5. 1 File Tambah Topik Berhasil Terkirim b.
Publisher menambah topik Skenario Ketika Dua Node (Publisher dan Broker) Berdekatan dan masing- masing DTN-nya menyala / terhubung. Pada Gambar 5.1 menunjukkan file txt telah terkirim melalui DTN ke broker.
Pengujian Konektivitas DTN a.
Dari perancangan skenario, maka tahap selanjutnya, yaitu hasil dari simulasi yang telah dijalankan dapat dianalisa.
subscribe
pada DTN dilakukan menggunakan bahasa pemrograman Python. Program dibuat dengan ekstensi *.py dan berisi fungsi-fungsi yang dapat dijalankan oleh masing-masing node.
- Broker merupakan perantara yang
5. HASIL DAN PEMBAHASAN
Setelah proses instalasi semua kebutuhan selesai, selanjutnya adalah melakukan konfigurasi routing pada masing-masing node DTN.
tambahan untuk menampilkan antarmuka dan menangani penyimpanan lokal yaitu LAMPP, PHP, Apache2, MySQL, dan mariaDB.
python , JSON, dan subprocess. Khusus node publisher dan subscriber ada kebutuhan
diinstal pada mesin virtual dalam sebuah komputer / PC. Setelah instalasi sistem operasi berhasil, selanjutnya yaitu melakukan instalasi Oasys dan DTN2 yang akan menyediakan fungsi-fungsi sesuai arsitektur DTN. Kebutuhan lain yang harus diinstal pada ketiga node yaitu
publisher , broker dan subscriber. Ketiganya
Gambar 5. 2 Bundle DTN Publisher
Pada node broker, terdapat data file txt yang dikirim oleh publisher tadi. Sebelum dilakukan dtncpd oleh broker maka file ini akan tetap tersimpan di dalam bundle DTN broker. Namun, jika program broker telah berjalan akan dilakukan dtncpd dan file masuk ke penyimpanan Broker seperti pada Gambar 5.3.
Hal yang paling dasar dalam penerapan sistem ini adalah melakukan instalasi sistem operasi Linux Ubuntu 12.04 pada tiga node yaitu
Penerapan program utama sistem publish- Gambar 5. 3 File Dari Publisher Masuk Ke Penyimpanan Broker
Begitu juga pengujian dilakukan untuk beberapa skenario lainnya yaitu ketika broker dan subscriber terhubung, ketika publisher dan broker tidak terhubung, ketika broker dan
× 100% 100 %
Analisis
Berdasarkan kelima skenario yang dilakukan didapatkan prosentase file terkirim sebesar 100 % untuk 1000, 2000, 3000, 4000 maupun 5000 file. Hal ini menunjukkan bahwa sistem dapat mengunggah file dalam jumlah banyak mencapai 5000 file dan sistem berjalan dengan baik serta belum ditemukan permasalahan / kekurangan pada sistem pengunggahan file.
× 100% 100 %
5000 5000
5000 =
× 100% 100 %
4000 4000
4000 =
× 100% 100 %
3000 3000
3000 =
× 100% 100 %
2000 2000
2000 =
1000 1000
subscriber tidak terhubung, ketika terdapat lebih
Network
dari satu subscriber, dan ketika terdapat broker pembantu.
Pengujian Fungsional
Pengujian ini dimaksudkan untuk mengetahui apakah fungsi-fungsi antarmuka telah berfungsi dengan baik dan nilai-nilai yang dimasukkan dapat dikirim ke program python sesuai harapan. Secara umum fungsi-fungsi yang terdapat pada sistem diperlihatkan pada Tabel 5.1:
Tabel 5. 1 Pengujian Fungsional Fungsi Hasil Keterangan Berha- sil Tidak Berha- sil Database Lokal Sistem Broker Publisher menam- bahkan topik baru √ Data berhasil masuk Penambaha n topik berhasil File masuk ke penyimpanan File publisher.json ter-update Publisher mengung- gah file buku
√ File buku berhasil terunggah File masuk ke penyimpan- an File buku tersimpan File dapat diteruskan ke subscriber Publisher mengha- pus topik √ Data berhasil masuk File diterima broker File publisher.json berhasil ter- update Subscri- ber melaku- kan subscribe topik √ Data berhasil masuk File berhasil tersimpan File subscriber.jso n berhasil ter- update Subscri- ber melaku- kan unsubs- cribe topik √ Data berhasil masuk File berhasil tersimpan File subscribe.json berhasil ter- update Subscri- ber melaku- kan update topik terbaru √ Data berhasil masuk Database berubah sesuai topik terbaru File database.json berhasil terkirim Pengujian Stressing
Pengujian stressing dilakukan untuk mengetahui apakah daemon DTN dapat menerima file dengan jumlah yang banyak dan mengetahui apakah sistem tetap dapat berjalan dengan baik saat file yang diunggah berjumlah banyak dikirim sekaligus. Pengujian stressing akan dilakukan dengan mengunggah file dengan variasi jumlah file adalah 1000, 2000, 3000, 4000, dan 5000. Pemilihan jumlah tersebut mengacu pada penelitian dengan judul “Implementasi Web Service pada Delay Tolerant
” (Sari, 2015).Berdasarkan hasil pengujian akan diketahui apakah semua file berhasil terunggah dan terkirim ke node DTN
=
broker dan node DTN subscriber tanpa ada bundle yang hilang.
Hasil pengujian stressing dengan kelima skenario dapat disimpulkan ke dalam Tabel 5.2 dengan menghitung prosentase file terkirim seperti di bawah ini:
= ℎ ℎ ×100%
Tabel 5. 2 Hasil Pengujian
Jumlah file Hasil perhitungan
Prosentase 1000
Hasil pengujian yang telah dibahas sebelumnya mengenai konektivitas DTN dapat memenuhi skenario yang diberikan. Pengujian fungsional menunjukkan bahwa antarmuka yang dibuat dapat berfungsi sesuai harapan dan rancangan pada pembahasan sebelumnya. Pengujian stressing menunjukkan bahwa sistem dapat bekerja dengan baik ketika file yang diunggah berjumlah banyak mencapai 5000 file. 5000 file tersebut dapat diterima oleh broker dan diteruskan ke subscriber secara keseluruhan tanpa ada file yang hilang.
Berdasarkan hasil penelitian “Implementasi
7. DAFTAR PUSTAKA
ECMA International. Tersedia di: <http://www.ecma- international.org/publications/files/EC MA-ST/ECMA-404.pdf> [Diakses 25 Februari 2016]
ECMAScript® Language Specification, 3rd edition (December 1999). [pdf]
Tersedia di: <http://drops.dagstuhl.de/opus/volltexte /2011/2943/pdf/ dagstuhl_icn_proceedings.2943.pdf> [Diakses 1 Oktober 2015] ECMA-262 (ISO/IEC 16262). 2013.
Information-Centric Networking. [pdf]
Dagstuhl Seminar. 2010. Abstract Collection:
7FRlJ-rsrUC&pg= PT74&dq=information+centric+networ king&hl=en&sa=X&redir_esc=y#v=on epage&q=information%20centric%20n etworking&f=false> [Diakses pada 2 Oktober 2015]
Google Books <https://books.google.co.id/books?id=r
Information-Centric Networks: A New Paradigm for the Internet . [e-book] UK: CPI Group (UK) Ltd. Tersedia di:
Brito, G.M., Velioso, P.B., Moraes, I.M. 2013.
[online] Tersedia di: < http://www.slideshare.net/internetsehat/ profil-pengguna-internet-indonesia- 2014-riset-oleh-apjii-dan-puskakom- ui>. [Diakses 17 Mei 2016]
APJII dan PUSKAKOM UI. 2015. Profil Pengguna Internet Indonesia 2014 .
Tersedia di: <http://ieeexplore.ieee.org/stamp/stamp .jsp?tp= &arnumber=6231276> [Diakses 1 Oktober 2015]
Ahlgren, B., dkk. 2015. A Survey of Information- Centric Networking. [e-journal] IEEE.
3. Sistem dapat dimodifikasi dengan menambahkan fungsi-fungsi keamanan seperti keamanan pada sistem user, penyimpanan / database user, maupun serangan keamanan dari sisi lain.
Publish-Subscribe
, dengan memikirkan format pembacaan berkas yang lebih efisien. Karena semakin banyak proses pertukaran data semakin besar pula delay yang dapat terjadi.
delay
6. KESIMPULAN DAN SARAN Kesimpulan
2. Sistem dapat dikembangkan dengan mengurangi proses pertukaran data dan mengurangi bertambahnya
Untuk penelitian lebih lanjut, dapat dikembangkan sistem publish-subscribe yang ada pada jaringan DTN dengan menggunakan perangkat lain yang lebih mudah diakses atau dibawa kemana saja seperti handphone , tablet, dan sebagainya.
Saran yang dapat disampaikan penulis untuk pengembangan penelitian selanjutnya terkait Publish-Subscribe maupun DTN adalah: 1.
Saran
3. Antarmuka pengguna juga telah dapat dioperasikan pengguna dan dapat melakukan fungsi-fungsi sesuai sistem yang dibuat. Keberhasilan terkirimnya berkas ke node tujuan juga telah diuji dan mendapatkan hasil 100 %. Berdasarkan pengujian pengiriman berkas dengan beberapa ukuran, sistem dapat mengunggah berkas dan mengirimnya ke subscriber dengan ukuran berkas mencapai 100MB. Proses pengiriman ulang paket yang hilang telah berhasil dijalankan oleh sistem.
publish oleh publisher berdasarkan topik yang dipilih.
2. Broker telah dapat meneruskan berkas ke subscriber sesuai topik. Subscriber telah dapat menerima berkas yang di-
menghapus topik yang pernah di- publish .
publish , mengunggah berkas buku, dan
Dari hasil pengujian pada bab sebelumnya, publisher telah dapat menambahkan topik baru untuk di-
pada Delay Tolerant Network (DTN)”, kesimpulan yang dapat diambil adalah: 1.
Munyoung, Lee., dkk. 2015. Content Discovery
Uchida, Noriki, dkk., 2013. Proposal of Delay
fault-tolerant distributed Pub/Sub architecture for large-scale dynamic network environment . [e-journal] IEEE.
Universitas Brawijaya. Yu, Xiaochuan., Chan, T.S.A. 2013. Hope: A
Repository Materi Pembelajaran Bagi Daerah Tertinggal Berbasis Delay Tolerant Network (DTN). S1.
Widhiarti, Yuniar Ratna. 2013. Digital
Tersedia di: <http://ipnsig.org/wp- content/uploads/2012/07/DTN_Tutorial _v2.05.pdf> [Diakses 18 Mei 2016]
Networks (DTNs) A Tutorial. [pdf]
Warthman, Forrest. 2012. Delay-Tolerant
IEEE. Tersedia di: <http://ieeexplore.ieee.org/stamp/stamp .jsp?tp=&arnumber =6550405> [Diakses 17 Mei 2016]
Tolerant Network with Cognitive Wireless Network for Disaster Information Network System. [e-journal]
di: <http://tools.ietf.org/pdf/rfc4838.pdf> [Diakses 18 Mei 2016]
for Information-Centric Networking . [e-
Networking Architecture. [pdf] Tersedia
IETF Trust. 2007. Delay-Tolerant
The
<https://tools.ietf.org/html/rfc5050> [Diakses 29 Mei 2016]
Specification. [online] Tersedia di:
S1. Universitas Brawijaya. Scott, K., Burleigh, S., 2007. Bundle Protocol
Sari, Nurtria Iman. 2015. Implementasi Web Service pada Delay Tolerant Network .
Delay Tolerant Network untuk Sistem Konsultasi Kesehatan Jarak Jauh Berbasis Web. S1. Universitas Brawijaya.
Rahmania, Lidya Amalia. 2013. Penerapan
journal] Sciencedirect. Tersedia di: <http://www.sciencedirect.com/science /article/pii/S1389128614003612> [Diakses 1 Oktober 2015]
Tersedia di: <http://ieeexplore.ieee.org/stamp/stamp .jsp?tp=&arnumber= 6680992> [Diakses 1 Oktober 2015]