MAKALAH TENTANG
REMOTE PROCEDURE CALL (RPC), MIDDLEWARE BERORIENTASI
PESAN (MOM), DATA STREAMING, DAN MULTICAST
TEKNIK INFORMATIKA
DAFTAR ISI................................................................................................................................................. i
A. Remote Procedure Call (RPC) ........................................................................................................... 1
a. Batching Calls Fitur .......................................................................................................................... 1
b. Broadcasting Calls ............................................................................................................................ 2
c. CallBack Procedures ......................................................................................................................... 2
d. Select Subroutine .............................................................................................................................. 2
B. Middleware berorientasi pesan (MOM) ........................................................................................... 4
a. Coupling............................................................................................................................................ 5
b. Keandalan ......................................................................................................................................... 5
c. Skalabilitas ........................................................................................................................................ 5
d. Ketersediaan ...................................................................................................................................... 5
C. Data Streaming.................................................................................................................................... 5
a. Skalabilitas ........................................................................................................................................ 6
b. Integrasi............................................................................................................................................. 6
c. Toleransi kesalahan ........................................................................................................................... 7
d. Ketepatan waktu................................................................................................................................ 7
e. Konsistensi ........................................................................................................................................ 7
D. Multicast ............................................................................................................................................... 7
a. Keuntungan menggunakan multicast: ............................................................................................... 8
b. Kerugian multicast: ........................................................................................................................... 9
Daftar Pustaka ............................................................................................................................................ ii
i
A. Remote Procedure Call (RPC)
Remote Procedure Call adalah suatu protokol yang menyediakan suatu mekanisme
komunikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu komputer
tanpa terasa adanya eksekusi kode pada sistem yang jauh (remote system). (Newmarch, 1995).
RPC mengasumsikan keberadaan dari low-level protokol transportasi seperti TCP atau UDP
untuk membawa pesan data dalam komunikasi suatu program. Protokol RPC dibangun diatas
protokol eXternal Data Representation (XDR), yang merupakan standar dari representasi data
dalam komunikasi remote. Protokol XDR mengubah parameter dan hasil dari tiap servis RPC
yang disediakan
RPC adalah satu teknik komunikasi interproses yang memungkinkan perangkat lunak
client dan server untuk berkomunikasi RPC dirancang untuk mengurangi isu-isu kerumitan
pada kompleksitas di OS dengan menyediakan suatu antar muka yang umum antar aplikasi.
RPC bertindak sebagai suatu middle untuk komunikasi-komunikasi client/server. RPC
dirancang untuk membuat client/server interaksi lebih aman dan lebih mudah seperti
keamanan, sinkronisasi, dan data mengalirkan menangani, ke dalam suatu standar yang
umum.
RPC suatu metoda yang powerfull, cepat, efisien dan aman untuk komunikasi antar
proses yang memungkinkan pertukaran data pada proses yang berbeda. Proses bisa berada di
komputer yang sama, LAN atau Internet.
Fitur Dalam RPC Universitas Sumatera Utara 10 RPC memiliki fitur-fitur sebagai berikut:
batching calls, broadcasting calls, callback procedures dan using the select subroutine.
a. Batching Calls Fitur
Batching calls mengijinkan klien untuk mengirim message calls ke server dalam jumlah
besar secara sequence (berurutan). Batching menggunakan protokol streaming byte seperti
TCP/IP sebagai mediumnya. Pada saat melakukan batching, klien tidak menunggu server
untuk memberikan reply terhadap tiap messages yang dikirim, begitu pula dengan server
yang tidak pernah mengirimkan messages reply. Fitur inilah yang banyak digunakan klien,
karena arsitektur RPC didesain agar pada tiap call message yang dikirimkan oleh klien
harus ada proses menunggu balasan dari server.
1
b. Broadcasting Calls
Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data ke jaringan dan
menunggu balasan dari network. Fitur ini menggunakan protokol yang berbasiskan paket
data seperti UDP/IP sebagai mediumnya. Broadcast RPC membutuhkan layanan port
mapper RPC untuk mengimplementasikan fungsinya.
c. CallBack Procedures
Fitur Callback Procedures mengijinkan server untuk bertindak sebagai klien dan
melakukan pemanggilan RPC kembali ke proses yang dijalankan oleh klien.
d. Select Subroutine
Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam antrian untuk
melihat apakah mereka siap untuk dibaca (diterima) atau ditulis (dikirim), atau mereka
dalam kondisi ditahan sementara. Prosedur ini mengijinkan server untuk menginterupsi
suatu aktivitas, memeriksa datanya, dan kemudian melanjutkan proses aktivitas tersebut.
Model dan Cara Kerja RPC Prosedur call umumnya berkaitan dengan penggunaan stack,
penyimpanan parameter yang diterima dalam stack tersebut dan pengalokasian ruang untuk
lokal variabel. Namun selain itu ada yang disebut dengan Prosedur Call remote, yang berarti
pelaksanaan proses diatas namun pada suatu sistem lain yang berhubungan melalui suatu
jaringan. Sistem prosedur remote ini memiliki cara kerja yang sedikit banyak mirip, namun
berbeda dengan prosedur call biasa.
Berikut adalah gambar cara kerja dari RPC:
Diagram diatas memberikan gambaran mengenai flow dari eksekusi dalam proses RPC.
Berikut ini adalah diagram yang akan menjelaskan secara rinci mengenai proses yang terjadi
pada klien dan server dalam eksekusi suatu prosedur RPC.
Berikut penjelasan dari diagram diatas:
1. Klien memanggil prosedur stub lokal.
Prosedur Stub akan memberikan parameter
dalam suatu paket yang akan dikirim ke
jaringan. Proses ini disebut sebagai
marshalling.
2. Fungsi Network pada O/S (Operating
System - Sistem Operasi) akan dipanggil oleh
stub untuk mengirim suatu message.
3. Kemudian Kernel ini akan mengirim
message ke sistem remote. Kondisi ini dapat
berupa connectionless atau connection-
oriented.
4. Stub pada sisi server akan melakukan
proses unmarshals pada paket yang dikirim oleh network.
5. Stub pada server kemudian mengeksekusi prosedur panggilan lokal.
6. Jika eksekusi prosedur ini telah selesai, maka eksekusi diberikan kembali ke stub pada
server.
3
7. Stub server akan melakukan proses marshals lagi dan mengirimkan message nilai balikan
(hasilnya) kembali ke jaringan.
8. Message ini akan dikirim kembali ke klien.
9. Stub klien akan membaca message ini dengan menggunakan fungsi pada jaringan.
10. Proses unmarshalled kemudian dilakukan pada message ini dan nilai balikan akan diambil
untuk kemudian diproses pada proses lokal.
oleh aplikasi lain juga tidak diberi jaminan waktu akan menerima pesan untuk disampaikan.
Aspek-aspek ini terutama ditentukan oleh aplikasi penerima.
Penyebaran sistem terdistribusi berbasis MOM, seperti yang ditunjukkan pada Gambar
diatas, menawarkan pendekatan berbasis layanan untuk komunikasi antarproses. Olahpesan
MOM mirip dengan pos layanan. Pesan dikirim ke kantor pos; layanan pos kemudian
bertanggung jawab untuk pengiriman pesan yang aman.
4
a. Coupling
MOM meinjeksikan lapisan antara pengirim dan penerima, yang memungkinkan
pengirim pesan dan penerima untuk menggunakan lapisan independen ini sebagai
perantara untuk bertukar pesan, lihat Gambar diatas untuk ilustrasi konsep ini. Manfaat
utama dari MOM adalah longgar kopling antara peserta dalam suatu sistem - kemampuan
untuk menautkan aplikasi tanpa harus untuk mengadaptasi sumber dan sistem target satu
sama lain, sehingga sangat kohesif, penyebaran sistem decoupled.
b. Keandalan
Dengan MOM, kehilangan pesan melalui jaringan atau kegagalan sistem dicegah dengan
menggunakan toko dan meneruskan mekanisme untuk kegigihan pesan. Kemampuan
MOM ini memperkenalkan a tingkat keandalan yang tinggi ke dalam mekanisme
distribusi, menyimpan dan meneruskan mencegah kerugian pesan ketika bagian dari
sistem tidak tersedia atau sibuk. Tingkat keandalan khusus biasanya dapat dikonfigurasi,
tetapi sistem pesan MOM dapat menjamin bahwa suatu pesan akan dikirimkan, dan bahwa
itu akan dikirimkan ke masing-masing penerima yang dituju tepat sekali.
c. Skalabilitas
Selain memisahkan interaksi subsistem, MOM juga memisahkan karakteristik kinerja
subsistem dari satu sama lain. Subsistem dapat ditingkatkan secara mandiri, dengan sedikit
atau tanpa gangguan ke subsistem lain. MOM juga memungkinkan sistem untuk
mengatasi lonjakan yang tidak terduga dalam aktivitas di satu subsistem tanpa
mempengaruhi area lain dari sistem. Model pesan MOM berisi sejumlah sifat alami yang
memungkinkan penyeimbangan muatan yang sederhana dan efektif, dengan
memungkinkan subsistem untuk memilih menerima pesan ketika sudah siap untuk
melakukannya daripada dipaksa untuk menerimanya. Ini teknik load-balancing akan
dibahas secara lebih rinci nanti dalam bab ini.
d. Ketersediaan
MOM memperkenalkan kemampuan ketersediaan tinggi ke dalam sistem yang
memungkinkan operasi yang berkelanjutan dan penanganan pemadaman sistem yang
lebih lancar. MOM tidak membutuhkan simultan atau Ketersediaan "waktu yang sama"
dari semua subsistem. Kegagalan di salah satu subsistem tidak akan menyebabkan
kegagalan untuk beriak di seluruh sistem. IBU juga dapat meningkatkan waktu respons
dari sistem karena kopling longgar antara peserta MOM. Ini bisa mengurangi waktu
penyelesaian proses dan meningkatkan respons dan ketersediaan sistem secara
keseluruhan.
C. Data Streaming
Streaming data adalah data yang terus-menerus dihasilkan oleh berbagai sumber. Data
tersebut harus diproses secara bertahap menggunakan teknik Stream Processing tanpa
memiliki akses ke semua data. Selain itu, harus dipertimbangkan bahwa penyimpangan
konsep dapat terjadi dalam data yang berarti bahwa sifat-sifat aliran dapat berubah seiring
5
waktu. Biasanya digunakan dalam konteks data besar yang dihasilkan oleh banyak sumber
berbeda dengan kecepatan tinggi.
Streaming data juga dapat dijelaskan sebagai teknologi yang digunakan untuk
mengirimkan konten ke perangkat melalui internet, dan itu memungkinkan pengguna untuk
mengakses konten dengan segera, daripada harus menunggu untuk diunduh.
Data besar memaksa banyak organisasi untuk fokus pada biaya penyimpanan, yang
menarik minat danau data dan aliran data.
Danau data mengacu pada penyimpanan sejumlah besar data tidak terstruktur dan semi,
dan berguna karena peningkatan data besar karena dapat disimpan sedemikian rupa sehingga
perusahaan dapat menyelam ke dalam danau data dan menarik keluar apa yang mereka
butuhkan. saat ini mereka membutuhkannya. [4] Sedangkan aliran data dapat melakukan
analisis real-time pada streaming data, dan berbeda dari data danau dalam kecepatan dan sifat
analisis yang berkelanjutan, tanpa harus menyimpan data terlebih dahulu.
6
yang tidak sepele. Teknik integrasi harus dirancang untuk memungkinkan operasi yang
efisien di seluruh dataset yang berbeda.
c. Toleransi kesalahan
Toleransi kesalahan yang tinggi diperlukan dalam sistem yang kritis terhadap kehidupan.
Karena data real-time dan infinite dalam lingkungan komputasi aliran data besar,
diperlukan strategi toleransi kesalahan tinggi yang dapat diskalakan yang memungkinkan
aplikasi untuk terus bekerja meskipun terjadi kegagalan komponen tanpa interupsi.
d. Ketepatan waktu
Waktu adalah esensi untuk proses yang peka waktu seperti memitigasi ancaman
keamanan, menggagalkan penipuan, atau menanggapi bencana alam. Ada kebutuhan
akan arsitektur atau platform yang dapat diskalakan yang memungkinkan pemrosesan
aliran data secara terus-menerus digunakan untuk memaksimalkan ketepatan waktu data.
Tantangan utamanya adalah mengimplementasikan arsitektur terdistribusi yang akan
menggabungkan pandangan data lokal ke tampilan global dengan minimal latensi antara
node yang berkomunikasi.
e. Konsistensi
Mencapai konsistensi tinggi (mis. Stabilitas) dalam lingkungan komputasi aliran data
besar non-sepele karena sulit untuk menentukan data mana yang dibutuhkan dan node
mana yang harus konsistenlah. Karenanya diperlukan struktur sistem yang baik.
D. Multicast
Multicast adalah sebuah teknik pengiriman data pada sebuah transmisi, dimana sebuah
data dikirimkan melalui jaringan ke beberapa komputer yang tergabung dalam sebuah group
tertentu yang disebut dengan Multicast Group (Sekumpulan host atau client yang tergabung
ke dalam sebuah grup multicast tertentu) dan merupakan komunikasi antara satu pengirim
dengan banyak penerima dan transmisi ditujukan untuk banyak tujuan, tetapi tidak harus
semua host. Sehingga dikenal sebagai metode transmisi one to many (satu ke banyak) atau
jaringan point to multipoint. Multicast merupakan salah satu hasil pemikiran inovatif yang
dapat banyak membantu dalam peningkatan pelayanan komunikasi terutama dalam hal
jaringan multimedia. Di mana sifat-sifat yang dimiliki merupakan gabungan proses
komuniksai unicast,dan komunikasi broadcast yang terjadi melalui satu alat. Dalam proses ini
masing-masing alat/media yang terhubung dapat berkomunikasi menggunakan alat yang
menghubunginya.
Multicasting algoritma yang digunakan adalah multicasting IP di Internet yang
dikembangkan oleh Deering [28, 29]. Untuk lebih mengetahui tentang multicast terlebih
dahulu kita ketahui tentang metode pengiriman data dalam jaringan transmisi. Metode
pengiriman data dalam jaringan dibagi menjadi 3 macam yakni :
7
Unicast.
Data dikirim dari 1 host ke 1 host
Broadcast
Data dikirim dari 1 host langsung disebarkan ke banyak host.
Multicast
Data dikirim dari 1 host langsung disebarkan ke dalam group host
8
b. Kerugian multicast:
1. Best effort delivery : Drops are to be expected. Tingkat kepercayaan pengiriman data
aplikasi multicast tidak dapat diharapkan dan harus sesuai desain.
2. No congestion avoidance : Kekurangan dari TCP windowing dan mekanisme "slow
start" dapat menghasilkan kemacetan dalam jaringan.
3. Duplicates : Beberapa mekanisme multicast protocol kadang-kadang menghasilkan
generation of duplicate pakets. 4. Out-of-sequence : Perubahan topologi jaringan
mempengaruhi order/permintaan dari pengiriman. Aplikasi harus menghasilkan
alamat yang tepat 5. UDP tidak memiliki mekanisme kepercayaan, jadi persoalan
kepercayaan harus dialamatkan dalam aplikasi multicast dan realibilitas transfer data
sangat diperlukan.
9
Daftar Pustaka
Curry, E. (2016). Increasing MOM Flexibility with Portable Rule Bases. IEEE Internet
Computing, 10(6), 26–32. doi:10.1109/mic.2006.128
Menasce, D. A. (20015). MOM vs. RPC: Communication Models for Distributed Applications.
IEEE Internet Computing, 9(2), 90–93. doi:10.1109/mic.2005.42
Emilia Roza1) & Muhammad Mujirudin 2) 1,2)Program Studi Teknik Elektro, Fakultas Teknik,
Universitas Muhammadiyah Prof. DR. HAMKA, Jakarta. Jalan Limau II, Kebayoran Baru, Jakarta
12130. Indonesia
Yuanyuan Yang, Jianchao Wang, & Min Yang. (2018). A Service-Centric Multicast Architecture
and Routing Protocol. IEEE Transactions on Parallel and Distributed Systems, 19(1), 35–51.
De-Nian Yang, & Wanjiun Liao. (2018). Optimal State Allocation for Multicast Communications
With Explicit Multicast Forwarding. IEEE Transactions on Parallel and Distributed Systems,
19(4), 476–488. doi:10.1109/tpds.2007.70754
Wu, Y., Ma, T., Su, M., Zhang, M., CHEN, K., & Guo, Z. (2018). RF-RPC: Remote Fetching RPC
Paradigm for RDMA-Enabled Network. IEEE Transactions on Parallel and Distributed Systems,
1–1.
Xhafa F, Naranjo V, Caballé S. Processing and analytics of big data stream with Yahoo!S4. In:
2015 IEEE 29th international conference on advanced information networking and applications,
Gwangiu, South Korea, 24–27 March 2015. 2015. https://doi.org/10.1109/aina.2015.194.
ii