pengenalan sistem terdistribusi file– arsitektur untuk mengakses sistem file melalui jaringan •...

Post on 10-Apr-2019

285 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PENGENALAN SISTEM PENGENALAN SISTEM TERDISTRIBUSITERDISTRIBUSI

ContohContoh SistemSistem TerdistribusiTerdistribusi

• Internet• Mobile Computing• Sistem Otomasi Bank• Deteksi Roaming Pada Telepon Seluler• GPS (Global Positioning System)• Retail Point-of-Sale Terminals

InternetInternetJaringan komputer dan aplikasi yang heterogen– Mengimplementasikan protokol Internet

IntranetIntranet•Jaringan yang teradministrasi secara lokal•Terhubung ke internet melalui firewall•Menyediakan layanan internal dan eksternal

Mobile Computing (Mobile Computing (SistemSistemKomunikasiKomunikasi TeleponTelepon SelulerSeluler))•Menggunakan frekuensi radio sebagai media transmisi•Perangkat dapat bergerak kemanapun asal masih terjangkau dengan frekuensinya•Dapat menghandle/dihubungan dengan perangkat lain

Contoh Lainnya

• Sistem Telepon : ISDN, PSTN• Network File System (NFS)

– Arsitektur untuk mengakses sistem file melalui jaringan

• WWW– Arsitektur client server yang diterapkan dalam

infrastruktur internet

DefinisiDefinisi SistemSistem TerdistribusiTerdistribusi

“Collection of independent device in a network which communicate,

coordinate, and working togetherby passing messages”

JaringanJaringan KomputerKomputer Vs Vs SistemSistemTerdistribusiTerdistribusi• Jaringan komputer : komuter otonom yang secara

eksplisit terlihat (secara eksplisit teralamati)• Sistem terdistribusi: keberadaan beberapa komputer

otonom bersifat transparan• Secara normal, setiap sistem terdistribusi mengandalkan

layanan yang disediakan oleh jaringan komputer• Beberapa layanan pada jaringan komputer (seperti,

name service) juga merupakan sistem terdistribusi• Sistem terdistribusi lebih banyak masalah yang dihadapi

AlasanAlasan UntukUntuk SistemSistemTerdistribusiTerdistribusi• Distribusi fungsi : komputer memiliki kemampuan

fungsi yang berbeda-beda– client/server– Host/terminal– Data gathering / data processing

• Distribusi beban/keseimbangan : pemberian tugas keprosesor secukupnya sehingga unjuk kerja seluruhsistem teroptimasi.

• Sifat terdistribusi mencegah terjadinya application domain, e.g.– cash register dan sistem persediaan untuk supermarket,– Komputer pendukung collaborative work

AlasanAlasan UntukUntuk SistemSistemTerdistribusiTerdistribusi• Replikasi kekuatan pemrosesan : independent

processors bekerja untuk pekerjaan yang sama– Sistem terdistribusi terdiri dari kumpulan mikrokomputer yang

memiliki kekuatan pemrosesan yang tidak dapat dicapai olehsuperkomputer

• 10000 CPU, masing-masing berjalan pada 50 MIPS, mencapai500000 MIPS,

• Maka satu perintah dijalankan dalam waktu 0.002nsec

• Pemisahan fisik : sistem yang menggantungkan padafakta bahwa komputer secara fisik terpisah (e.g., untukmencapai kehandalan).

• Ekonomis : kumpulan mikroprosesor menawarkanharga/unjuk kerja yang lebih baik dari pada mainframe

MengapaMengapa SistemSistem TerdistribusiTerdistribusi ??

• Butuh berbagi data dan resource di antarapemakai

• Mendukung komunikasi person-to-person• Fleksibilitas : komputer yang berbeda

dengan kemampuan yang berbeda dapatdi share antar user

MasalahMasalah DenganDengan SistemSistemTerdistribusiTerdistribusi• Software - bagaimana merancang dan

mengatur software dalam SistemTerdistribusi

• Ketergantungan pada infrastrukturjaringan (world wide wait....)

• Kemudahan akses ke data yang di share, memunculkan masalah keamanan

KarakteristikKarakteristik SistemSistemTerdistribusiTerdistribusi• Sistem terdistribusi adalah sistem concurrent

(serentak)– Setiap komponen hardware/software bersifat otonom (kita akan

menyebut komponen otonom adalah "proses")– Komponen menjalankan tugas bersamaan

• Contoh : A dan B adalah concurrent jika A dapat terjadi sebelum B, dan B dapat terjadi sebelum A

– Sinkronisasi dan koordinasi dengan message passing– Sharing resources– Masalah umum dalam sistem concurrent

• Deadlock• Lifeclock• Komunikasi yang tidak handal

• Keterbatasan dalam global clock– Terdapat batasan pada ketepatan proses sinkronisasi

clock pada sistem terdistribusi, oleh karenaasynchronous message passing

– Pada sistem terdistribusi, tidak ada satu prosestunggal yang mengetahui global state sistem saat ini(disebabkan oleh concurrency dan message passing)

• Independent failure– Kemungkinan adanya kegagalan proses tunggal yang

tidak diketahui– Proses tunggal mungkin tidak peduli pada kegagalan

sistem keseluruhan

KarakteristikKarakteristik SistemSistemTerdistribusiTerdistribusi

TantanganTantangan PerancanganPerancangan SistemSistemTerdistribusiTerdistribusi• Heterogen terhadap

– Infrastruktur jaringan– Hardware dan software (sistem operasi,

perbedaan UNIX socket dan Winsock)• Bahasa pemrograman

– Beberapa pendekatan :• Middleware (contoh : CORBA)• Kode program Mobile (contoh : JAVA)

• Openness– Memastikan sistem dapat diperluas dan

mudah dalam pemeliharaan• Mengikuti standard antarmuka• Security

– Privacy– Authentication– Availability

TantanganTantangan PerancanganPerancangan SistemSistemTerdistribusiTerdistribusi

TantanganTantangan PerancanganPerancangan SistemSistemTerdistribusiTerdistribusi• Scalability

– Apakah sistem masih efektif dan handal dalamperkiraan pertumbuhannya?

• Penanganan Kegagalan– Pendeteksian– Masking

• Transmisi ulang• Redudansi penyimpanan data

– Toleransi• Exception handling

– Redudancy• Redudan rute jaringan• Replikasi data pada beberapa mesin

• Concurrency– Penjadwalan yang konsisten terhadap concurrent thread– Menghindari masalah deadlock dan lifelock

TantanganTantangan PerancanganPerancangan SistemSistemTerdistribusiTerdistribusi

• Transparency– Menyembunyikan keanekaragaman (heterogeneous)

dan tersebarnya sistem sehingga tampak sebagaisatu sistem bagi user.

– Kategori Transparency (ISO's Reference Model for ODP)

• Access– menyembunyikan penggunaan komunikasi untuk

mengakses remote resource sehingga user beranggapanbahwa semua resource adalah lokal.

– Contoh : pemetaan drive menggunakan Samba Server, NFS

• Location– user tidak perlu mengetahui lokasi dari remote resources

TantanganTantangan PerancanganPerancangan SistemSistemTerdistribusiTerdistribusi

• Kategori Transparency (lanjut)– Concurrency

• user tidak peduli keberadaan paralel akses ke remote resource dan inkonsistensi dihindari dengan menggunakan mekanismeconcurrency control.

– Replication• menyembunyikan perbedaan-perbedaan antara layanan

replicated dan non-replicated.– Failure

• menyembunyikan pengaruh partial fail. Hal ini dicapai dengancara replikasi resources dan menerapkan mekanisme recovery

– Migration/Mobility• Kemampuan untuk melakukan relocate resource secara

dinamik tanpa kekuatiran rekonfigurasi ulang dari user.

TantanganTantangan PerancanganPerancangan SistemSistemTerdistribusiTerdistribusi

• Kategori Transparency (lanjut)– performance

• meminimalkan tambahan performance dalammenggunakan remote resource, sehingga response time dan trhoughput sebanding dengan ketika mengaksesresource secara lokal.

– scaling• Menyembunyikan variasi dalam kelakukan sistem

ketikadilakukan perubahan scope atau skala sistem. Scaling seharusnya tidak memerlukan perubahan besaruntuk struktur sistem dan operasi untukmengakomodasi perubahan skala tersebut. Skala diukurdalam hal kecepatan (slow to fast), size (small to large),geograpgical scope (local or remote).

TantanganTantangan PerancanganPerancangan SistemSistemTerdistribusiTerdistribusi

MODELMODELSISTEM TERDISTRIBUSISISTEM TERDISTRIBUSI

Pengantar Model

Menyediakan sebuah gambaran abstrak aspek yang relevan dengan sistem

Tujuan Menyediakan sebuah kerangka kerja untuk memahami per-

masalahan dan pemecahannya Model Arsitektural

Hubungan dan interkoneksi seperti apa antara komponen-komponen dari sistem terdistribusi

Model Fundamental Karakteristik apa yang mempengaruhi dependability sistem

terdistribusi? Dependability : correctness, reliability, security

Kesulitan dan Ancaman

Mode pemakaian Variasi yang beragam terhadap karakteristik pemakaian Contoh : berapa banyak halaman di kunjungi

Masalah Internal Masalah concurrency Masalah clock Mode kegagalan

Lingkungan Sistem Sistem terdistribusi harus mengakomodasi heterogenitas

hardware, sistem operasi dan jaringan Contoh : berapa banyak versi SO?

Ancaman Eksternal Serangan terhadap kesatuan data dan keamanannya

Model Arsitektur Sistem Terdistribusi

Model Arsitektur

Arsitektur Struktur komponen-komponen secara terpisah

Tujuan Menyakinkan bahwa struktur sistem memenuhi standar saat

ini dan yang akan datang

Model Arsitektur Abstrak fungsi tiap komponen sistem terdistribusi Penempatan komponen pada jaringan komputer Hubungan antar komponen, yaitu peran fungsional per kom-

ponen dan pola komunikasi antar komponen

Klasifikasi Proses

Proses Server Menyediakan layanan dan menangani request

Proses Client Proses membuat/melakukan request

Proses Peer Proses yang saling bekerja sama dan berkomunikasi

Klasifikasi proses tersebut mengidentifikasikan tanggung jawab masing-masing proses dan juga membantu untuk menaksir beban kerja Serta menentukan pengaruh kegagalan dari tiap proses

Software Layer Arsitektur Software

Lapisan atau modul dalam sebuah komputer tunggal Mendefinisikan layanan yang ditawarkan atau diminta antar

proses pada satu atau berbeda komputerIde dasarnya

Membagi sistem yang komplek dalam struktur lapisan dan layanan

Antar layer mendefinisikan antar muka

Platform : Hardware dan SOWindowsNT/Pentium ProcessorSolaris/SPARC processorLinux/Pentium Processor

Middleware

Menyediakan transparensi terhadap keanekaragaman platform

Proses dan objek pada sekumpulan mesin yang menerapkan protokol untuk aplikasi ter-distribusi

Contoh : CORBA (OMG) DCOM (Microsoft) ODP (ITU-T/ISO) Java Remote Method Invocation (Sun)

Arsitektur Sistem

Perancangan sistem terdistribusi dititikberatkan pada : Pembagian tanggung jawab antara komponen sistem Penempatan komponen pada komputer dalam jaringan

Pengaruh dari perancangan Unjuk kerja, Kehandalan dan Keamanan secara langsung

tergantung pada pilihan yang ditentukan

Model Client/Server

Client: proses untuk mengakses data, menggunakan sesumber atau melakukan op-erasi pada komputer yang berbeda

Server: proses yang mengatur data dan semua sesumber yang di share di antara server dan client, memungkinkan client mengakses sesumber dan melakukan kom-putasi

Interaction: pasangan pesan pemanggilan (invocation) / hasil (result) Example

– http server: client (browser) meminta dokumen, server mengirimkan dokumen yang diminta

Caching of services (proxy servers)– caching terhadap halaman web yang sering digunakan

Peer processes (not client-server)– proses-proses yang secara fungsional identik

Server

Client

Client

invocation

result

Serverinvocation

result

Process:Key:

Computer:

Multiple Server

Service disediakan oleh beberapa server Contoh : sebagian besar layanan web komersial diterapkan

melalui server fisik yang berbeda Motivasi :

Unjuk kerja (contoh : cnn.com, download server, dll) kehandalan

Server menggunakan replikasi atau database terdistribusi

Server

Server

Server

Service

Client

Client

Proxy Server

Server dengan duplikasi informasi yang melayani sebagai proxy

Caching : Penyimpan lokal untuk item-item yang sering digu-

nakan Meningkatkan unjuk kerja Mengurangi beban pada server

Biasanya digunakan pada search engine

Client

Proxy

Web

server

Web

server

serverClient

ContohContoh Cache Cache PadaPada GoogleGoogle

Peer Process

• Peer processes– menjaga konsistensi sesumber– sinkronisasi aksi

• contoh: Whiteboard– menggunakan central server– menggunakan peerprocesses

Mobile Code Mobile code

– kode yang berpindah dan di-jalankan pada site yang berbeda

Contoh : applet

Model– pengendali client– push model

Q: masalah keamanan?

Mobile Agent

Mobile Agent adalah sebuah program yang berpindah (ter-masuk data dan kode) dari satu komputer ke lainnya dalam jaringan

Biasanya melakukan suatu pekerjaan otomatis tertentu Beberapa masalah :

Authentication Permission dan keamanan

Alternatif Mengambil informasi melalui remote invocation

Contoh : Digunakan untuk install dan memelihara software pada

komputer dalam suatu organisasi Membandingkan harga produk dari beberapa vendor

Network Computer Masalah

Pemeliharaan PC sangat tinggi

Solusi Mengurangi variasi pada

level lokal

Network Computer OS dan applikasi dari file

server Remote file service Disk lokal (jika ada) digu-

nakan sebagai cache

Thin Client Masalah

Membuat PC powerfull sangatlah mahal

Solusi Menyediakan server kom-

putasi yang powerfull Thin Client

Lapisan software men-dukung aplikasi lokal den-gan remote executing

Contoh : X11 Window

(www.xfree86.org) VNC (www.realvnc.com) Citrix WinFrame (www.cit-

rix.com)

Mobile Devices

Spontaneous Networking Bentuk distribusi yang menggabungkan peralatan mobile dan

peralatan lain dalam suatu jaringan disebut sebagai spontaneous networking

Meliputi juga aplikasi yang dapat digunakan untuk koneksi antara mobile ataupun non-mobile device ke jaringan.

Kemampuan/karakteristik Spontaneous Networking : Kemudahan koneksi ke jaringan lokal Kemudahan menggabungkan dengan layanan lokal

Discovery Service Konektifitas terbatas Keamanan dan privacy

Antar muka discovery service Registration service

Menerima penerimaan registrasi dari server, menyimpan properti layanan yang tersedia dalam database

Lookup service Mencocokan permintaan layanan dengan layanan yang

tersedia

Antarmuka Client/Server

Kumpulan fungsi yang tersedia untuk pemang-gilan (invocation) dari sebuah proses (server atau peer) dinyatakn dengan satu atau lebih definisi antarmuka.

Pada C++ dan Java, sebuah antarmuka dapat disusun dengan model berbasis pada objek.

Contoh : RMI (java), CORBA(semua bahasa OOP)

Merancang Kebutuhanuntuk Sistem Terdistribusi

Masalah Kinerja (Performance) Responsiveness Throughput Balancing computational load

Quality of Servicepengukuran seberapa tingkat pemakaian fungsi, yaitu Reliability Security Performance Adaptability, kemampuan untuk menyesuaikan

dengan perubahan konfigurasi sistem

Merancang Kebutuhanuntuk Sistem Terdistribusi (lanjut)

Pemakaian caching dan replikasi Local copy informasi Cache consistency Web caching protocol Replikasi : beberapa copy dari service

Masalah Dependability Fault tolerance : Keamanan

Diagram Arsitektur Intranet dan CS

Browser

ActiveX - DCOM

Prinsip COM

Prinsip DCOM

Arsitektur RMI

Java CORBA

Arsitektur CORBA

HTML - HTTP

top related