PENGENALAN SISTEM
PENGENALAN SISTEM
TERDISTRIBUSI
TERDISTRIBUSI
Contoh
Contoh
Sistem
Sistem
Terdistribusi
Terdistribusi
• Internet
• Mobile Computing
• Sistem Otomasi Bank
• Deteksi Roaming Pada Telepon Seluler
• GPS (Global Positioning System)
Internet
Internet
Jaringan komputer dan aplikasi yang heterogen – Mengimplementasikan protokol Internet
Intranet
Intranet
•Jaringan yang teradministrasi secara lokal •Terhubung ke internet melalui firewall
Mobile Computing (
Mobile Computing (
Sistem
Sistem
Komunikasi
Komunikasi
Telepon
Telepon
Seluler
Seluler
)
)
•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
Definisi
Definisi
Sistem
Sistem
Terdistribusi
Terdistribusi
“Collection of
independent device
in
a network which
communicate,
coordinate, and working together
Jaringan
Jaringan
Komputer
Komputer
Vs
Vs
Sistem
Sistem
Terdistribusi
Terdistribusi
• 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
Alasan
Alasan
Untuk
Untuk
Sistem
Sistem
Terdistribusi
Terdistribusi
• Distribusi fungsi : komputer memiliki kemampuan fungsi yang berbeda-beda
– client/server – Host/terminal
– Data gathering / data processing
• Distribusi beban/keseimbangan : pemberian tugas ke prosesor secukupnya sehingga unjuk kerja seluruh
sistem teroptimasi.
• Sifat terdistribusi mencegah terjadinya application domain, e.g.
– cash register dan sistem persediaan untuk supermarket, – Komputer pendukung collaborative work
Alasan
Alasan
Untuk
Untuk
Sistem
Sistem
Terdistribusi
Terdistribusi
• Replikasi kekuatan pemrosesan : independent processors bekerja untuk pekerjaan yang sama
– Sistem terdistribusi terdiri dari kumpulan mikrokomputer yang memiliki kekuatan pemrosesan yang tidak dapat dicapai oleh superkomputer
• 10000 CPU, masing-masing berjalan pada 50 MIPS, mencapai 500000 MIPS,
• Maka satu perintah dijalankan dalam waktu 0.002nsec
• Pemisahan fisik : sistem yang menggantungkan pada fakta bahwa komputer secara fisik terpisah (e.g., untuk mencapai kehandalan).
• Ekonomis : kumpulan mikroprosesor menawarkan
Mengapa
Mengapa
Sistem
Sistem
Terdistribusi
Terdistribusi
?
?
• Butuh berbagi data dan
resource
di antara
pemakai
• Mendukung komunikasi
person-to-person
•
Fleksibilitas
: komputer yang berbeda
dengan kemampuan yang berbeda dapat
di share antar user
Masalah
Masalah
Dengan
Dengan
Sistem
Sistem
Terdistribusi
Terdistribusi
•
Software -
bagaimana merancang dan
mengatur software dalam Sistem
Terdistribusi
• Ketergantungan pada infrastruktur
jaringan (world wide wait....)
• Kemudahan akses ke data yang di share,
memunculkan masalah keamanan
Karakteristik
Karakteristik
Sistem
Sistem
Terdistribusi
Terdistribusi
• 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
•
Keterbatasan dalam global clock
– Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem terdistribusi, oleh karena
asynchronous message passing
– Pada sistem terdistribusi, tidak ada satu proses
tunggal 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
Karakteristik
Karakteristik
Sistem
Sistem
Terdistribusi
Tantangan
Tantangan
Perancangan
Perancangan
Sistem
Sistem
Terdistribusi
Terdistribusi
•
Heterogen terhadap
– Infrastruktur jaringan
– Hardware dan software (sistem operasi,
perbedaan UNIX socket dan Winsock)
• Bahasa pemrograman
– Beberapa pendekatan :
• Middleware (contoh : CORBA)
•
Openness
– Memastikan sistem dapat diperluas dan
mudah dalam pemeliharaan
• Mengikuti standard antarmuka
•
Security
– Privacy
– Authentication
– Availability
Tantangan
Tantangan
Perancangan
Perancangan
Sistem
Sistem
Terdistribusi
Tantangan
Tantangan
Perancangan
Perancangan
Sistem
Sistem
Terdistribusi
Terdistribusi
•
Scalability
– Apakah sistem masih efektif dan handal dalam perkiraan 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
Tantangan
Tantangan
Perancangan
Perancangan
Sistem
Sistem
Terdistribusi
•
Transparency
– Menyembunyikan keanekaragaman (heterogeneous) dan tersebarnya sistem sehingga tampak sebagai
satu sistem bagi user.
– Kategori Transparency (ISO's Reference Model for ODP)
• Access
– menyembunyikan penggunaan komunikasi untuk
mengakses remote resource sehingga user beranggapan bahwa semua resource adalah lokal.
– Contoh : pemetaan drive menggunakan Samba Server, NFS
• Location
– user tidak perlu mengetahui lokasi dari remote resources
Tantangan
Tantangan
Perancangan
Perancangan
Sistem
Sistem
Terdistribusi
• Kategori Transparency (lanjut)
– Concurrency
• user tidak peduli keberadaan paralel akses ke remote resource dan inkonsistensi dihindari dengan menggunakan mekanisme concurrency control.
– Replication
• menyembunyikan perbedaan-perbedaan antara layanan replicated dan non-replicated.
– Failure
• menyembunyikan pengaruh partial fail. Hal ini dicapai dengan cara replikasi resources dan menerapkan mekanisme recovery
– Migration/Mobility
• Kemampuan untuk melakukan relocate resource secara dinamik tanpa kekuatiran rekonfigurasi ulang dari user.
Tantangan
Tantangan
Perancangan
Perancangan
Sistem
Sistem
Terdistribusi
•
Kategori Transparency (lanjut)
– performance
• meminimalkan tambahan performance dalam
menggunakan remote resource, sehingga response time dan trhoughput sebanding dengan ketika mengakses
resource secara lokal.
– scaling
• Menyembunyikan variasi dalam kelakukan sistem ketikadilakukan perubahan scope atau skala sistem. Scaling seharusnya tidak memerlukan perubahan besar untuk struktur sistem dan operasi untuk
mengakomodasi perubahan skala tersebut. Skala diukur dalam hal kecepatan (slow to fast), size (small to
large),geograpgical scope (local or remote).
Tantangan
Tantangan
Perancangan
Perancangan
Sistem
Sistem
Terdistribusi
MODEL
MODEL
SISTEM 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?
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
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
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
Software Layer
Arsitektur Software
Lapisan atau modul dalam sebuah komputer tunggal
Mendefinisikan layanan yang ditawarkan atau diminta antar
proses pada satu atau berbeda komputer
Ide dasarnya
Membagi sistem yang komplek dalam struktur lapisan dan layanan
Antar layer mendefinisikan antar muka
Platform : Hardware dan SO
WindowsNT/Pentium Processor Solaris/SPARC 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)
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
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 Server invocation 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 server Client
Contoh
Peer Process
• Peer processes
– menjaga konsistensi
sesumber
– sinkronisasi aksi
• contoh: Whiteboard
– menggunakan central server
– menggunakan peer
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
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)
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
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
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
Merancang Kebutuhan
untuk Sistem Terdistribusi
Masalah Kinerja (Performance)
Responsiveness
Throughput
Balancing computational load
Quality of Service
pengukuran seberapa tingkat pemakaian fungsi, yaitu
Reliability
Security
Performance
Adaptability
, kemampuan untuk menyesuaikan
Merancang Kebutuhan
untuk Sistem Terdistribusi
(lanjut)
Pemakaian caching dan replikasi
Local copy informasi
Cache consistency
Web caching protocol
Replikasi : beberapa copy dari service
Masalah Dependability