Anda di halaman 1dari 54

PENGENALAN SISTEM

TERDISTRIBUSI
Contoh Sistem Terdistribusi
• Internet
• Mobile Computing
• Sistem Otomasi Bank
• Deteksi Roaming Pada Telepon Seluler
• GPS (Global Positioning System)
• Retail Point-of-Sale Terminals
Internet
Jaringan komputer dan aplikasi yang heterogen
– Mengimplementasikan protokol Internet
Intranet
•Jaringan yang teradministrasi secara lokal
•Terhubung ke internet melalui firewall
•Menyediakan layanan internal dan eksternal
Mobile Computing (Sistem
Komunikasi Telepon 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 Sistem Terdistribusi

“Collection of independent device in


a network which communicate,
coordinate, and working together
by passing messages”
Jaringan Komputer Vs Sistem
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
• Sistem terdistribusi lebih banyak masalah yang dihadapi
Alasan Untuk Sistem
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 Untuk Sistem
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
harga/unjuk kerja yang lebih baik dari pada mainframe
Mengapa Sistem 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 Dengan Sistem
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 Sistem
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
• Komunikasi yang tidak handal
Karakteristik Sistem
Terdistribusi
• 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
Tantangan Perancangan Sistem
Terdistribusi
• 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)
Tantangan Perancangan Sistem
Terdistribusi
• Openness
– Memastikan sistem dapat diperluas dan
mudah dalam pemeliharaan
• Mengikuti standard antarmuka
• Security
– Privacy
– Authentication
– Availability
Tantangan Perancangan Sistem
Terdistribusi
• Scalability
– Apakah sistem masih efektif dan handal dalam
perkiraan pertumbuhannya?
Tantangan Perancangan Sistem
Terdistribusi
• 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 Perancangan 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 Perancangan 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 Perancangan 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).
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?
 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 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
Linux/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 invocation Server
invocation

result result
Server

Client Key:
Process: Computer:

 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
Multiple Server Service

Server
Client

Server

Client
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
Web
Proxy Client
Proxy
server

Server server

Client Web
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
Contoh Cache Pada Google
Peer Process
• Peer processes
– menjaga konsistensi
sesumber
– sinkronisasi aksi

• contoh: Whiteboard
– menggunakan central server
– menggunakan peer
processes
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 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
dengan perubahan konfigurasi sistem
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
 Fault tolerance :
 Keamanan
Diagram Arsitektur Intranet dan CS
Browser
ActiveX - DCOM
Prinsip COM
Prinsip DCOM
Arsitektur RMI
Java CORBA
Arsitektur CORBA
HTML - HTTP

Anda mungkin juga menyukai