FILE SERVICE TERDISTRIBUSI
A.
Pengertian File Service Terdistribusi
File Sistem Terdistribusi (
Distributed File System , disingkat) adalah file sistem yang mendukung sharing
files dan resources dalam bentuk penyimpanan persistent di sebuah network. File
server pertama kali didevelop pada tahun 1970 dan Sun NFS (Network File System)
menjadi DFS pertama yang banyak digunakan setelah awal pemunculannya di tahun
1985. DFS yang terkenal selain NFS adalah AFS (Andrew File System) dan CIFS
(Common Internet File System).
Sebuah file server menyediakan file
service ke client. Dari sisi client terdapat interface untuk file service dalam
hal operasi primitif file, seperti membuat file (create), menghapus (delete)
dan read / write file. Komponen perangkat keras utama yang mana file server
mengontrolnya adalah sebuah local storage (umumnya disk drive / HDD). Ditempat
itulah file-file tersimpan dan dari tempat tersebut request client meretrive
file. Pada DFS client, server dan juga perangkat penyimpanan merupakan mesin terpisah
dalam sebuah lingkungan terdistribusi (Intranet).
B. Layanan File Terdistribusi1. Layanan Dasar
• Tempat penyimpanan tetap untuk data dan program.
• Operasi terhadap file (create, open, read,…).
• Multiple remote clients (dalam intranet).
• File sharing.
• Menggunakan semantic one-copy update umum, melalui RPC.
2. Perkembangan baru
• Persistent object stores (storage of objects)
3. Persistent Java, Corba, …
• Replikasi, caching keseluruhan file.
• Multimedia terdistribusi (contoh: file server Tiger video).
C. Keperluan Sistem File Terdistribusi
1. Transpansi
File service biasanya merupakan service yang harus di‐load paling berat dalam sebuah intranet, sehingga fungsionalitas dan performance‐nya sangat penting.
• Transparansi akses
• Transparansi lokasi
• Transparansi mobilitas
• Transparansi performance
• Transparansi pengukuran
2. Update file konkuren
Perubahan pada sebuah file oleh seorang klien seharusnya tidak menganggu operasi dari klien lain yang pada saat bersamaan mengakses atau mengubah file yang sama.
3. Replikasi file
Beberapa file service mendukung penuh replikasi, tetapi kebanyakan mendukung caching file atau portion file secara lokal, bentuk replikasi yang terbatas.
4. Ke‐heterogen‐an sistem operasi dan hardware
Antarmuka service sebaiknya didefinisikan sehingga software klien dan server dapat diimplementasikan untuk sistem operasi dan komputer yang berbeda.
5. Toleransi kesalahan
Server bisa menjadi stateless, sehingga dapat di‐restart dan service di‐restore kembali setelah mengalami failure tanpa perlu me‐recover state sebelumnya.
6. Konsistensi
Ketika file‐file direplikasi atau di‐cache pada site yang berbeda, ada delay yang tak bisadihindari pada propagasi modifikasi dari satu site ke set lain yangmembawa copy, danini bisa menghasilkan beberapa deviasi dari one‐copy semantic.
7. Keamanan
Secara virtual, semua sistem file menyediakan mekanisme kontrol akses berdasarkankegunaan dari daftar kontrol akses.
8. Efisiensi
File service terdistribusi sebaiknya menawarkan fasilitas yang paling tidak, samabagusnya dengan yang ditemukan pada sistem file konvensional, dan sebaiknyamendapat level performance yang dapat diperhitungkan.
D. Opsi Perancangan Layanan File
1. Stateful
• Server menyimpan informasi tentang file yang open, posisi sekarang(current position) dan file locks.
• Open (dibuka) sebelum access dan kemudian ditutup.
• Performa yang lebih baik.
• Pesan yang lebih pendek, dimungkinkan untuk read-ahead.
• Server failure.
• Kehilangan state.
• Client failure.
• Tables fill up.
• Menyediakan file locks.
2. Stateless
• Server tidak menyimpan state informasi.
• File operations idempotent, harus mengandung semua yang diperlukan (longer message).
• Perancangan file server yang lebih simpel.
• Dapat dengan mudah di-recovery apabila client ataupun server crash.
• Locking membutuhkan extra lock server untuk mempertahankan.
Pembagian tanggung jawab antar modul didefinisikan
sebagai berikut ini :
·
Layanan file flat
Layanan file flat berkonsentrasi pada pengimplementasian operasi dari konten suatu file.
·
Layanan direktori
Layanan direktori menyediakan pemetaan antara nama teks untuk file dan UFID‐nya.
·
Modul klien
·
Antarmuka layanan file flat
Merupakan antarmuka RPC yang digunakan oleh modul
klien. Tidak digunakan secara langsung oleh program tingkat pengguna.
F. Komponen File Service
a. Komponen-komponen
file service adalah terdiri dari:
·
File Service
Pengoperasian
dari masing-masing file.
·
Directory Service
Management
atau pengaturan direktori.
·
Naming Service
b. Location
Independence:
File
dapat dipindahkan tanpa penggantian nama
c.
Hal yang umum untuk penamaan file dan
directori:
·
Mesin +
nama path e.g/ machine / path atau machine : path.
·
Mounting File sistem secara remote
kedalam hirarki local file.
·
Single name space yang sama pada semu
amesin.
d. Dua
level penamaan:
Nama
simbolik yang dilihat user dan nama binary yang dilihat oleh sistem.
G.
Interface
Service
Interface
service adalah metode standard komunikasi yang dapat dipakai oleh siapapun
tanpa membedakan vendornya. Interface Service merupakan titik point yang
konsumen gunakan untuk mengakses fungsionalitas yang diarahkan oleh aplikasi.
Interface Service biasanya menggunakan alamat jaringan, yang berarti bahwa ia
dapat di akses oleh konsumen lebih dari beberapa macam komunikasi
jarigan. Alamat jaringan dapat terkenal lokasinya atau ia dapat
terkandung dari direktori service seperti UDDI.
Sebuah kunci
aspek dari desain service interface untuk memisahkan implementasi yang
dibutuhkan untuk mengkomunikasikan dengan system lain dari aplikasi logika
bisnis. Interface Service menyediakan interface yang jauh lebih kasar sambil
menjaga semantik dan rincian lebih halus dari logika aplikasi. Hal ini
juga memberikan penghalang yang memungkinkan logika aplikasi dapat berubah
tanpa mempengaruhi interface konsumen.
Interface
Service mengimplementasikan kontrak antara konsumen dan penyedia. Kontrak
ini memungkinkan mereka untuk bertukar informasi bahkan jika mereka berada di
sistem yang berbeda. Interface Service bertanggung jawab untuk semua rincian
pelaksanaan yang dibutuhkan untuk melakukan komunikasi ini. Rincian
tersebut termasuk tetapi tidak terbatas pada:
·
Network protocol.
Interface Service harus merangkum
semua aspek dari network protocol yang digunakan untuk komunikasi antara
konsumen dan pelayanan. Sebagai contoh, anggaplah layanan terkena konsumen
melalui HTTP melalui jaringan TCP/IP. Anda dapat menerapkan Interface Service
sebagai komponen ASP.NET diterbitkan ke URL terkenal. Komponen ASP.NET
menerima permintaan HTTP, ekstrak informasi yang dibutuhkan oleh layanan untuk
memproses permintaan tersebut, memanggil implementasi layanan, paket respon
layanan, dan mengirim respon kembali ke konsumen sebagai respon HTTP.
Dari perspektif layanan,
satu-satunya komponen yang memahami HTTP adalah antarmuka
layanan. Pelaksanaan layanan memiliki kontrak sendiri dengan antarmuka
layanan dan seharusnya tidak memiliki ketergantungan pada spesifikasi teknologi
yang digunakan konsumen untuk berkomunikasi dengan antarmuka layanan.
·
Data formats.
Menerjemahkan Interface Service
konsumen antara format data dan format data yang mengharapkan
layanan. Sebagai contoh, konsumen eksternal untuk perusahaan dapat
menyediakan data dan mengharapkan data yg berada dalam format XML yang sesuai
dengan skema standar industri XML.
Konsumen internal untuk perusahaan
mungkin ingin menggunakan format XML dioptimalkan untuk layanan
tertentu. Interface Service bertanggung jawab untuk mengubah dan pemetaan
kedua format data dalam format yang dapat menggunakan layanan ini. Pelaksanaan
pelayanan tidak memiliki pengetahuan tentang format data spesifik Interface
Service mungkin gunakan untuk berkomunikasi dengan konsumen.
·
Security.
Interface Service harus
dipertimbangkan batas kepercayaan sendiri. Konsumen yang berbeda mungkin
memiliki persyaratan keamanan yang berbeda, jadi terserah untuk Interface
Service untuk melaksanakan konsumen spesifik persyaratan. Misalnya,
konsumen eksternal untuk perusahaan umumnya akan memiliki persyaratan keamanan
yang lebih ketat daripada konsumen internal untuk perusahaan.
Konsumen eksternal mungkin memiliki
persyaratan otentikasi kuat dan hanya dapat diberi kewenangan untuk melakukan
subset yang sangat terbatas dari operasi yang berwenang untuk konsumen
internal. Konsumen internal dapat dipercaya secara implisit untuk kebanyakan
operasi dan hanya membutuhkan otorisasi untuk operasi yang paling sensitif.
·
Service level agreements.
Interface Service memiliki peran
signifikan dalam memastikan bahwa pelayanan memenuhi komitmen tingkat layanan
untuk satu set khusus konsumen. Interface Service dapat
mengimplementasikan caching untuk meningkatkan waktu respon dan mengurangi
konsumsi bandwidth. Beberapa contoh dari Interface Service dapat digunakan di
satu set beban-seimbang node pengolahan untuk mencapai skalabilitas,
ketersediaan, dan kesalahan-toleransi persyaratan.
Referensi: