Anda di halaman 1dari 12

TUGAS SISTEM TERDISTRIBUSI

MAKALAH TENTANG
REMOTE PROCEDURE CALL (RPC), MIDDLEWARE BERORIENTASI
PESAN (MOM), DATA STREAMING, DAN MULTICAST

Dendi Anggriandi (C1755201058)


Rivandri A. Januard (C1555201777)
Helma (C1755201055)
Nadia Yosy Marlina (C1755201077)
Eliana (C1755201002)

TEKNIK INFORMATIKA

SEKOLAH TINGGI MANAGEMEN INFORMATIKA DAN KOMPUTER


(STMIK) PALANGKARAYA
2019
DAFTAR ISI

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:

1. Client procedure calls client stub in normal way.


2. Client stub builds message, calls local OS.
3. Client's OS sends message to remote OS.
4. Remote OS gives message to server stub.
5. Server stub unpacks parameters, calls server.
6. Server does work, returns result to the stub.
7. Server stub packs it in message, calls local OS.
8. Server's OS sends message to client's OS.
9. Client's OS gives message to client stub.
10. Stub unpacks result, returns to client.
2
Tiap prosedur yang dipanggil dalam RPC, harus berkoneksi dengan server remote dengan
mengirimkan semua parameter yang dibutuhkan, menunggu balasan dari server dan
melakukan proses kemudian
selesai. Proses di atas disebut
juga dengan stub pada sisi
klien. Sedangkan Stub pada sisi
server adalah proses menunggu
tiap message yang berisi
permintaan mengenai prosedur
tertentu. (Newmarch, 1995).
Server harus membaca tiap
parameter yang diberikan,
kemudian memberikan
prosedur lokal yang sesuai
dengan permintaan dan
parameter. Kemudian setelah
eksekusi, server harus
mengirimkan hasil kepada
pihak pemanggil proses.

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.

B. Middleware berorientasi pesan (MOM)


Middleware berorientasi pesan (MOM) menyediakan mekanisme integrasi yang efektif
untuk sistem terdistribusi, tetapi harus sering berubah untuk beradaptasi dengan bisnis yang
berkembang tuntutan. Routing-based routing (CBR) dapat meningkatkan fleksibilitas berbasis
MOM penyebaran. Meskipun CBR terpusat meningkatkan solusi pengiriman pesan rawatan,
membatasi skalabilitas dan ketahanan. Artikel ini mengusulkan sebuah alternatif, pendekatan
desentralisasi ke CBR yang menggunakan basis aturan portable memaksimalkan
pemeliharaan, skalabilitas, dan ketahanan berbasis penyebaran MOM.
Sistem MOM menyediakan komunikasi terdistribusi berdasarkan model interaksi
asinkron; model nonblocking ini memungkinkan MOM untuk mengatasi banyak keterbatasan
ditemukan di RPC. Peserta dalam sistem berbasis MOM tidak diharuskan untuk memblokir
dan menunggu pada pengiriman pesan, mereka diizinkan untuk melanjutkan pemrosesan
setelah pesan selesai dikirim. Ini memungkinkan pengiriman pesan ketika pengirim atau
penerima tidak aktif atau tersedia untuk merespons pada saat eksekusi. MOM mendukung
pengiriman pesan untuk pesan yang mungkin membutuhkan beberapa menit untuk dikirim,
seperti menentang mekanisme seperti RPC (RMI) yang menghasilkan dalam milidetik atau
detik. Saat menggunakan MOM, aplikasi pengiriman tidak memiliki jaminan bahwa pesannya
akan dibaca.

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.

Berikut adalah ciri-ciri tentang data streaming :


a. Skalabilitas
Salah satu tantangan utama dalam analisis streaming data besar adalah masalah
skalabilitas. Tealiran data besar mengalami pertumbuhan eksponensial dengan cara yang
jauh lebih cepat daripada computer sumber daya. Prosesor mengikuti hukum Moore,
tetapi ukuran data meledak. Oleh karena itu, upaya penelitian harus diarahkan untuk
mengembangkan kerangka kerja yang dapat diskalakan dan algoritma yang akan
mengakomodasi mode komputasi aliran data, strategi alokasi sumber daya yang efektif
dan masalah paralelisasi untuk mengatasi ukuran yang semakin besar dan kompleksitas
data.
b. Integrasi
Membangun sistem terdistribusi di mana setiap node memiliki pandangan tentang data
fow, yaitu setiap simpul melakukan analisis dengan sejumlah kecil sumber, kemudian
menggabungkan pandangan-pandangan ini membangun pandangan global adalah hal

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

a. Keuntungan menggunakan multicast:


1. Distributed applications : Memungkinkan membuat aplikasi multipoint, seperti
distribusi fi le ke beberapa titik secara langsung
2. Bisa digunakan untuk koneksi one-way melalui satellite.
3. Enhanced effi ciency : Mengontrolan trafi k jaringan dan mengurangi load server &
CPU.
4. Optimized performance: Mengeliminasi trafi k yang berlebihan.
5. Multicast membutuhkan bandwidth yang kecil dalam sekali pengiriman data,
6. Paket multicast sangat efektif untuk keperluan video streaming, audio streaming dsb.
karena dari sisi pengirim, hanya perlu ‘mengirimkan’ paket satu kali saja ke alamat
khusus. Karena hanya satu paket saja, dan bisa banyak sekali ‘pendengar’, maka
otomatis utilisasi jaringan tidaklah terpakai terlalu tinggi.

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

Anda mungkin juga menyukai