Sistem Terdistribusi 2 Model arsitektur Terdistribusi
Masalah Membangun SisTer Berhubungan dengan peletakan komponenkomponen dan juga relasi antar komponen Memastikan struktur arsitektur bisa memenuhi kebutuhan dan membuat sistem reliable, manageable, adaptable, dan cost-effective Sistem hrs melakukan klasifikasi terhadap proses yang terjadi pada server, client, maupun peer Sister memiliki banyak sekali variasi, tergantung dari jaringan komputer, performa, reliabilitas, keamanan, dan biaya
Kesulitan-kesulitan peletakan Dari sisi i mode pemakaian Variasi yang beragam terhadap karakteristik pemakaian sistem Berapa kali suatu halaman dikunjungi? Seberapa sibuk suatu server? Dari sisi masalah Internal Masalah konkurensi akses Dari sisi masalah lingkungan sistem Masalah heterogenitas: hardware, sistem operasi dan jaringan Dari sisi masalah ancaman eksternal Masalah keamanan data
Model Arsitektur SisTer Software architecture Organisasi logika dari komponen-komponen software Ada 4 jenis: Layered architectures Object-based architectures Data-centered architectures Event-based architectures System Architecture Placement of machines Placement of software on machines
Software architecture Layered system - Breaking up the complexity of systems by designing them through layers and services - layer: group of closely related and highly coherent functionalities - service: functionality provided to a superior layer - Examples of layered architectures - operating systems (kernel, other services), - computer network protocol architectures
Contoh OS: Windows Linux Macintosh Contoh lain: OSI dan TCP/IP Layered Architecture
Typical layering in Distributed Systems - Platform: Hardware and operating system - Windows NT / Pentium processor - Solaris / SPARC processor - Middleware: achieve transparency of heterogeneity at platform level - Achieve communication and resource sharing ie.g., remote method invocation - Examples - CORBA (OMG), DCOM (Microsoft), Java Remote Method Invocation (Sun)
Object based Architecture Bagus, dapat menggunakan mekanisme Remote Procedure Call antar obyek
Event-based Architecture Dikenal sbg: Publish/Subscribe System Proses Berkomunikasi berdasarkan event yg terjadi
Data Centered Architecture Proses-proses berkomunikasi melalui repository data (database terdistribusi)
Klasifikasi Proses Proses Server Menyediakan layanan dan menangani request Proses Client Proses membuat melakukan request Proses Peer Proses yang saling bekerja sama dan berkomunikasi Middleware Menyediakan transparansi terhadap keanekaragaman platform proses dan objek pada sekumpulan mesin yang menerapkan protokol untuk aplikasi terdistribusi Cth: CORBA, Java RMI, DCOM
Clients - Servers Client invocation Server invocation result Server result Client Key: Process: Computer: Bersifat: centralized architecture Terjadi invocation dari client ke server Contoh: client (browser) meminta HTML ke HTTP Server
Interaksi client-server
Karakteristik CS Service : Menyediakan layanan terpisah yang berbeda Shared resource : Server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan Resource Asymmetrical Protocol : antara client dan server merupakan hubungan one-to-many. Mix-and-match : tidak tergantung pada platform Encapsulation of service : message memberitahu server apa yang akan dikerjakan
Karakteristik CS Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client. Message-based-exchange g : antara client dan server berkomunikasi dengan mekanisme pertukaran message. Scalability : sistem C/S dapat dimekarkan k baik vertikal maupun horisontal Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer tersendiri
Multiple server Service disediakan oleh beberapa server Contoh: sebagian besar layanan web komersial diterapkan melalui server fisik yang berbeda Untuk: kehandalan, unjuk gigi Server menggunakan replikasi atau database terdistribusi
Web proxy server Client Proxy server Web server Client Web server Server menduplikasi informasi (cache) untuk bertindak sebagai proxy Cache: menyimpan informasi lokal yg sering digunakan Mengurangi beban kerja server Meningkatkan kinerja Wajib digunakan pada search engine
Cache
Web applets / Mobile Agent a) client request results in the downloading di of applet code Client Applet code Web server b) client interacts with the applet Client Applet Web server
Mobile agents Executing program (code + data) in client side, carrying out of an autonomous task & interactive Advantages: flexibility and savings in communications cost Disadvantages: worm programs and cannot access to client resources (ie: JAVA applet)
Apllication Layering
Application Layering example The simplified organization of an Internet search engine into three different layers.
Multitiered Architectures Disebut sebagai: Decentralized architecture The simplest organization ation is to have only two types of machines: A client machine containing only the programs implementing (part of) the userinterface level A server machine containing the rest, the programs implementing the processing and data level
Multitiered Architectures (2) Thin Client Thick Client Contoh Thin Client: VNC client (Virtual Network Controller) VNC is remote control software which allows you to view and fully interact with one computer desktop
Multitiered Architectures Interaction
Middleware Sebuah komponen untuk Menyamarkan a a heterogeneity e e Melakukan message passing Direpresentasikan ik dalam bentuk object Contoh: Sun RPC, CORBA, RMI, DCOM Keuntungan: OS + Hardware independen
Peer-to-Peer
Peer-to-peer Static structure LAN Example: Borgchat Dynamic structure Structured Distributed hash table Unstructured Example JXTA, Torrent
DHT on Peer-to-Peer
Superpeers Gabungan peer-to-peer p & client server
Collaborative Distributed Systems - bittorrent Download file.torrent dari website, yang berisi informasi file yg akan didwnload (seed) Sisterm akan mencari penyedia file (seeder) Dicatat oleh Tracker, user (leecher) akan bergabung dalam node seed dan peer
Model Sister Interaction model: sistem dipandang terdiri dari banyak proses yang saling berinteraksi Failure model: sistem bisa gagal Security model: sistem harus diamankan
Fundamental Model SisTer it is impossible for any process to have a view on the current global state of the system
Faktor-faktor Interaction Model Latency, delay antara pengirim i dan penerima message Network access time (cth: ethernet delay) Waktu untuk pengiriman bit pertama dari Network Interface pengirim ke Network Interface Penerima Waktu pemrosesan pada proses pengiriman dan penerimaan Throughput, h jumlah paket yang terantar t per satuan waktu Bandwidth, jumlah informasi (bit) yang terkirim per satuan waktu Delay jitter, variasi delay antar pesan bertipe sama yang berbeda (cth: video frame delay)
Macam-macam macam failure model Process failure: crash Deteksi e dgn timeout Communication failure: message drop Karena: transmission i error, buffer overflow Arbitrary failure: proses melewatkan step yang harus dilakukan atau membawa data yg salah Data korup, data double
NEXT Interprocess Communication: Prinsip komunikasi, direct, indirect communication, karakteristik IPC, macam- macam IPC, group communication Komunikasi jaringan: OSI, TCP, UDP Failure model of IPC Representasi Data Sumber: chapter 4