SISTEM TERDISTRIBUSI (SILABUS dan Introduction to Distributed Systems) UNIVERSITAS PUTRA INDONESIA “YPTK” PADANG Desember 2014
MASALAH MEMBANGUN SISTER Berhubungan dengan peletakan komponen- komponen 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 1. Dari sisi mode pemakaian, – Variasi yang beragam terhadap karakteristik pemakaian sistem 2. Berapa kali suatu halaman dikunjungi? 3. Seberapa sibuk suatu server? 4. Dari sisi masalah Internal – Masalah konkurensi akses 5. Dari sisi masalah lingkungan sistem – Masalah heterogenitas: hardware, sistem operasi dan jaringan 6. 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 architecturespy operating systems (kernel, other services), computer network protocol architectures- computer network protocol architectures
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)
Klasifikasi ProsesKlasifikasi Proses • Proses Server – Menyediakan layanan dan menangani request • Proses Client – Proses membuat melakukan request • Proses PeerProses Peer – Proses yang saling bekerja sama dan berkomunikasi • MiddlewareMiddleware – Menyediakan transparansi terhadap keanekaragaman platform proses dan objek pada sekumpulan mesin yang menerapkan protokol untuksekumpulan mesin yang menerapkan protokol untuk aplikasi terdistribusi – Contoh: CORBA, Java RMI, DCOM
Karakteristik CSKarakteristik CS • Service : Menyediakan layanan terpisah yang berbeda • Shared resource : Server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan Resourcemengatur pengaksesan Resource • Asymmetrical Protocol : antara client dan server merupakan hubungan one to manymerupakan hubungan one-to-many. • Mix-and-match : tidak tergantung pada platform • Encapsulation of service : message memberitahu server apa yang akan dikerjakan
Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/serverterpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client. Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message. Scalability : sistem C/S dapat dimekarkan baik vertikal maupun horisontal Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer tersendirip
• Service disediakan oleh beberapa server • Contoh: sebagian besar layanan web komersial diterapkan melalui server fisik yang berbeda • Untuk: kehandalan unjuk gigi• Untuk: kehandalan, unjuk gigi • Server menggunakan replikasi atau database terdistribusi
Mobile agentsMobile 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)access to client resources (ie: JAVA applet)
Apllication LayeringApllication Layering
Multitiered Architectures • Disebut sebagai: Decentralized• Disebut sebagai: Decentralized architecture The simplest organi ation is to ha e onl • The simplest organization is to have only two types of machines: – A client machine containing only the programs implementing (part of) the user -interface level – A server machine containing the rest, g, • the programs implementing the processing and data level
Middleware • Sebuah komponen untuk – Menyamarkan heterogeneity – Melakukan message passing • Direpresentasikan dalam bentuk object • Contoh: Sun RPC, CORBA, RMI, DCOM • Keuntungan: OS + Hardware independen
Peer to peer • Static structure –LAN – Example: Borgchat •Dynamic structurey – Structured • Distributed hash table – Unstructured – Example JXTA, Torrent
Download file .torrent dari website, yang berisi informasi file yg akan didwnload (seed)informasi file yg akan didwnload (seed) Sisterm akan mencari penyedia file (seeder) Dicatat oleh Tracker user (leecher) akan bergabungDicatat 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
Faktor faktor Interaction ModelFaktor-faktor Interaction Model • Latency, delay antara pengirim dan penerima message – Network access time (cth: ethernet delay) – Waktu untuk pengiriman bit pertama dari Network InterfaceWaktu untuk pengiriman bit pertama dari Network Interface pengirim ke Network Interface Penerima – Waktu pemrosesan pada proses pengiriman dan penerimaan • Throughput, jumlah paket yang terantar per satuan waktu •Bandwidth jumlah informasi (bit) yang terkirim perBandwidth, jumlah informasi (bit) yang terkirim persatuan waktu • Delay jitter, variasi delay antar pesan bertipe sama yang berbeda (cth: video frame delay)
Macam macam failure model • Process failure: crash •Deteksi dgn time oute • Communication failure: message drop • Karena: transmission error, buffer overflow • Arbitrary failure: proses melewatkan yang harus dilakukan atau membawa data yg salah • Data korup, data double