system model
DESCRIPTION
SDTRANSCRIPT
System Model
Materi
• Latar Belakang• Model Fisikal• Model Arsitektural• Model Fundamental
Latar Belakang
Latar Belakang
• Sistem terdistribusi yang dibangun bisa jadi sangat kompleks
• Butuh perancangan yang baik agar sistem dapat berjalan dengan baik dalam berbagai kondisi
• Ada 3 model untuk mendeskripsikan rancangan sistem :– Model fisikal– Model arsitektural– Model fundamental
3 System Model
• Fisikal : menjelaskan komposisi perangkat keras dan jenis jaringan yang dipakai pada sistem terdistribusi
• Arsitektural : menjelaskan bagaimana komputasi dan komunikasi antar elemen dilakukan.
• Fundamental : menjelaskan permasalahan pada sistem dan solusinya.
Model Fisikal
Model Fisikal
• Model yang menjelaskan komposisi perangkat keras dan jenis jaringan yang dipakai pada sistem– Contoh :
• Komposisi hardware : desktop computer, server computer, wireless sensor, smartphone
• Jenis jaringan : wired, wireless, LAN, WAN, MAN • Pertanyaan penting :
– Komposisi hardware apa yang dipakai dalam sistem?
– Jenis jaringan apa yang dipakai dalam sistem?
Perkembangan Model Fisikal
• Ditinjau dari model fisikal-nya, sister mengalami 3 fase perkembangan :– Early distributed system– Internet-scale distributed system– Contemporary distributed system
Early Distributed System
• Berkembang tahun 1970-1980an• Sistem terdiri atas 10-100 node• Terhubung lewat jaringan LAN• Koneksi internet terbatas• Jenis layanan terbatas : sharing printer, file
server, email dan file transfer
Internet-scale Distributed System
• Berkembang tahun 1990an• Jaringan merupakan interkoneksi antar-jaringan• Jumlah node meningkat pesat• Node berupa komputer desktop (non-mobile)
Contemporary Distributed System
• Jenis node lebih heterogen– Terdapat mobile node dalam sistem– Ubiqutous : melibatkan node berukuran kecil yang
menempel di setiap benda• Contoh : sensor tubuh, sensor pohon
• Jenis jaringan lebih heterogen– Contoh : LAN, WLAN, WSN
• Cloud computing– Kumpulan dari banyak node (pools of node) untuk
mengerjakan tugas tertentu
Perbandingan Model Fisikal
Model Arsitektural
Tugas di Kelas
• Jawablah pertanyaan berikut dan berikan contoh untuk masing-masing jawaban :– What are the entities that are communicating in the
distributed system?– How do they communicate, or, more specifically, what
communication paradigm is used?– What (potentially changing) roles and responsibilities do
they have in the overall architecture?– How are they mapped on to the physical distributed
infrastructure (what is their placement)?• Referensi : textbook halaman 42-51• Waktu pengerjaan 30 menit
Model Arsitektural
• Model yang menjelaskan bagaimana komputasi dan komunikasi antar elemen dilakukan.
• Pertanyaan penting :– Communicating entitites : Entitas apa saja yang
saling berkomunikasi dalam sistem?– Communication paradigm : Bagaimana cara
mereka berkomunikasi?– Role and responsibility : Apa peran masing-
masing entitas?– Placement : Bagaimana entitas tadi ditempatkan
secara fisik dalam komponen hardware?
Communicating entities
• Process– Pada dasarnya, yang berkomunikasi adalah
process yang berjalan di masing-masing hardware– Pada sensor, hanya ada satu proses tunggal,
sehingga entitas disebut sebagai node– Satu process bisa memiliki beberapa thread
• Objects– Pada program berbasis object, yang
berkomunikasi adalah object• Component• Webservice
Communication Paradigm (CP)
• Ada beberapa metode komunikasi antar entitas– Inter-process Communication (IPC)– Remote Invocation– Indirect Communication
CP : Inter-Process Communication (IPC)
• Metode dasar (low-level) untuk komunikasi antar process
• Berdasarkan jangkauannya, IPC dibagi jadi dua :– IPC untuk process dalam satu host
• e.x. message passing– IPC untuk process lintas host
• e.x. socket
• Detail pembahasan di Chapter 4
CP : Remote Invocation
• Metode komunikasi yang memungkinkan satu entitas mengeksekusi fungsi/method entitas lain.
• Terdapat beberapa teknik remote invocation :– Request-Reply
• Client mengirim pesan Request, Server membalas Response• Contoh : protokol HTTP
– Remote procedure call (RPC)• Menjalakan procedure/fungsi pada entitas lain yang berada pada
komputer berbeda (remote) – Remote method invocation (RMI)
• Mirip RPC, hanya saja yang dijalankan adalah method dari suatu Object
• Detail pembahasan di Chapter 5
CP : Indirect Communication
• Metode IPC dan Remote Invocation merupakan metode komunikasi direct – Pengirim (sender) tahu secara spesifik siapa yang
menerima pesan (receiver)• Pada metode komunikasi indirect :
– Sender tidak perlu tahu siapa receiver-nya– Sender dan receiver tidak perlu ada pada saat
yang bersamaan
CP : Indirect Communication (2)
• Beberapa jenis komunikasi indirect :– Group communication
• Pesan dari sender dikirimkan ke grup• Pesan diterima semua anggota grup tanpa perlu tahu secara
sepsifik siapa saja yang menerima pesan– Publish-subscribe
• Sender berperan sebagai publisher yang menerbitkan sebuah pesan
• Pesan diterima semua subscriber tanpa perlu tahu secara spesifik siapa saja yang menerima pesan
– Message queues• Mirip Pub-Sub hanya saja komunikasi dilakukan point-to-point
antar dua entitas– Tuple space– Distributed shared memory
Ringkasan Communication Paradigm
Role and Responsibility
• Pada sister, tiap entitas punya peran masing-masing
• Terdapat 2 pendekatan peran :– Client-Server– Peer-to-peer
Role : Client-Server
• Berdasarkan perannya, entitas dibagi jadi dua jenis :– Entitas server– Entitas client
• Entitas client mengirimkan request ke server• Entitas server mengolah permintaan client,
kemudian mengembalikan response ke client• Peran tiap entitas bisa dipertukarkan
– Entitas server bisa berperan ganda jadi entitas client server lain
• e.x. Web browser -> Search engine (Web server) -> Web crawler
Role : Client-Server (2)
Role : Peer-to-Peer
• Tidak ada pembagian peran, semua entitas punya peran yang sama– e.x. setiap entitas dapat meminta (request) data
sekaligus berbagi data dengan entitas lain• Punya skalabilitas lebih tinggi dari client-
server– Client-server mengharuskan satu/lebih entitas jadi
server. Bagaimana jika server mati?– Pada peer-to-peer, sistem tidak bergantung pada
satu/beberapa entitas• Contoh : Bit Torrent
Role : Peer-to-Peer (2)
Placement
• Pada sister, setiap entitas (process/service) ditempatkan secara fisik pada masing-masing komponen hardware
• Terdapat beberapa metode penempatan :– Mapping services to multiple servers– Caching– Mobile code– Mobile agents
Placement : Mapping services to multiple servers
• Service ditempatkan pada beberapa komputer yang berbeda namun tetap saling berinteraksi
• Terdapat dua opsi implementasi :– Partisi
• Service dan object yang menyertainya misal data, akan dibagi-bagi lalu ditempatkan pada komputer terpisah
• Contoh : data 1000 mahasiswa dipecah ke 100 komputer
– Replikasi• Service dan object yang menyertainya misal data,
digandakan pada komputer terpisah• Contoh : masing-masing 100 komputer punya data
1000 mahasiswa yang saa
Placement : Cache
• Data yang baru saja diakses akan disimpan sementara sebagai cache
• Jika ada yang mengakses data tersebut, akan diambilkan dari cache, bukan dari sumber data asli
• Contoh : proxy server
Placement : Mobile Code
• Program yang diunduh dari server, lalu dijalankan di sisi client– Contoh : Java applet, animasi Flash– Web browser mengakses halaman ber-applet– Web browser mengunduh kode applet dari server
lalu menjalankannya di sisi client– Beberapa data mungkin masih diakses dari server
• Keuntungan : cepat, karena applet berjalan di sisi client sehingga tidak ada delay
• Kelemahan : tidak aman
Placement : Mobile Agent
• Program berjalan yang bergerak dan dieksekusi pada beberapa komputer
• Contoh :– Program untuk install otomatis program di
beberapa komputer dalam satu jaringan– Virus, worm
Architectural Pattern
• Baca section 2.3.2 halaman 51-58
Associated middleware solution
• Baca section 2.3.3 halaman 58-61
Model Fundamental
Model Fundamental
• Model yang menjelaskan permasalahan pada sistem dan solusinya.
• Terdapat tiga model fundamental :– Model interaksi– Model failure (kegagalan)– Model security (keamanan)
Model Interaksi
• Model yang menjelaskan bagaimana interaksi antar entitas
• Entitas dalam sister berkomunikasi dan berinteraksi untuk mencapai tujuan tertentu– Contoh : entitas pada DNS server
• Karena antar entitas dihubungkan oleh jaringan, maka ada dua faktor yang mempengaruhi interaksi :– Kualitas jaringan (QoS)– Timing pada masing-masing komputer
Model Interaksi : Kualitas Jaringan
• Kriteria kualitas jaringan :– Delay
• Jeda waktu antara waktu pengiriman pesan dan waktu penerimaan pesan
• Total delay = waktu transmisi data + delay karena traffic jaringan + waktu OS akses pesan
– Bandwidth• Jumlah total data yang bisa dikirimkan dalam periode waktu
tertentu. • Satuan : bps (bit per second)
– Jitter• Variasi waktu yang dibutuhkan untuk mengirim data berurutan• Contoh : video streaming
Model Interaksi : Timing pada tiap komputer
• Setiap komputer pada sistem bisa jadi punya perbedaan waktu
• Perbedaan disebabkan clock drift rate yang berbeda antar komputer– Rentang penyimpangan tiap komputer berbeda
• Isu sensitif pada sistem yang butuh tingkat presisi waktu tinggi e.x. Air Traffic Control (ATC)
• Solusi :– Menggunakan timing GPS– Menggunakan NTP (Network Time Protocol)
Variasi Model Interaksi
• Terdapat dua variasi model interaksi :– Synchronous distributed system
• Waktu eksekusi setiap process diketahui• Waktu transmisi data diketahui• Drift time diketahui
– Asynchronous distributed system• Waktu eksekusi bisa jadi berbeda• Waktu transmisi tidak diketahui pasti
Failure Model
• Model yang menjelaskan beberapa kemungkinan kegagalan sistem
• Kegagalan bisa terjadi pada dua tempat : entitas (process) dan jaringan
• Penyebab kegagalan :– Kesalahan pemrograman : exception, divide by
zero– Link fisik jaringan terputus– Data yang diproses melebihi kapasitas sistem
Jenis Failure
Model Security
• Model yang menjelaskan kemungkinan serangan ke sistem dan cara pencegahannya
• Kemungkinan serangan :– Denial of Service
• Serangan untuk mematikan layanan– Access violation
• Akses layanan oleh user yang tidak berhak– Sniffing
• Pencurian/penyadapan data
Pencegahan Serangan
• Enkripsi data• Authentikasi dan Authorisasi• Secure channel e.x. https
Kesimpulan
• Model Fisikal– Early distributed system– Internet-scale distributed system– Contemporary distributed system
• Model Arsitektural– Communicating entitites
• Process, object, component– Communication paradigm
• Inter-process Communication (IPC)• Remote Invocation• Indirect Communication
– Role and responsibility• Peer to Peer• Client-Server
– Placement• Mapping services to multiple servers• Caching• Mobile code• Mobile agents
• Model Fundamental– Interaksi– Failure– Security
Tugas
• Kerjakan exercise nomor 2.3, 2.8, dan 2.13• Jawaban diupload via Online Course dalam
format PDF
Terima Kasih