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 Terdistribusi
1. 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.
E.
File
Service Architecture
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
Modul klien berjalan
pada tiap komputer klien, mengintegrasi dan meng‐extend
operasidari layanan file flat dan layanan direktori dibawah
antarmukapemrograman aplikasitunggal yang bisa digunakan oleh program tingkat
pengguna di komputer klien.
·
Antarmuka layanan file
flat
Merupakan antarmuka RPC
yang digunakan oleh modul klien. Tidak digunakan secaralangsung 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: