Name
Service dalam Sistem Terdistribusi merupakan layanan penamaan yang berfungsi
untuk menyimpan naming context, yakni kumpulan binding nama
dengan objek, tugasnya untuk me-resolve nama.
Pengaksesan
resource pada sistem terdistribusi yang memerlukan:
–
Nama resource (untuk
pemanggilan),
–
Alamat (lokasi resource tsb),
–
Rute (bagaimana mencapai lokasi
tsb).
Resource
yang dipakai dalam Name Service adalah:
komputer, layanan, remote object, berkas, pemakai.
Contoh
penamaan pada aplikasi sistem terdistribusi:
– URL untuk
mengakses suatu halaman web.
– Alamat
e-mail utk komunikasi antar pemakai.
Name
Resolution, Binding, Attributes
·
Name resolution:
Nama ditranslasikan ke data ttg resource/object tsb.
·
Binding:
Asosiasi antara nama & obyek Biasanya nama diikat (bound) ke attributes
dr suatu obyek.
·
Address:
atribut kunci dari sebuah entitas dalam sistem terdistribusi
·
Attribute:
nilai suatu object property.
|
2. Tujuan Penamaan
1.
Identifikasi
Seorang
pemakai menginginkan obyek/layanan A, bukan obyek/layanan B.
2.
Memungkinkan terjadinya sharing
Lebih dari
satu pemakai dapat mengindentifikasikan resource dengan nama yang sesuai
(tidak harus nama yang sama).
3.
Memungkinkan location independence:
Perubahan
lokasi tidak menuntut perubahan nama, asalkan lokasi tidak menjadi bagian dari
nama resource tsb.
4. Memberikan
kemampuan keamanan (security)
Jika sebuah
nama dipilih secara acak dari himpunan besar interger, maka nama tsb
hanya bisa diketahui dari legitimate source, bukan dari menebak.
3. Jenis Nama
1. User
names:
2. System
names:
4. Struktur Nama
1. Primitive/flat
names (Unique Identifiers = UIDs)
2.
Partitioned Names (PN)
- Descriptive names (DN)
5. Name Context
Nama selalu
diasosiasikan dengan konteks, yang mendefinisikan di mana nama tsb valid.
Ada 2 macam konteks:
– Universal
context:
– Relative
context:
6. Sasaran Fasilitas Penamaan
1. Efisien,
karena fasilitas penamaan merupakan dasar pada sistem terdistribusi &
digunakan secara terus menerus.
2.
Terdistribusi. Renungkan jika UIDs dibangkitkan oleh centralized generator.
– Bottleneck.
– Node tempat
generator tsb mengalami kegagalan.
3. Tampak
seperti global space, tidak tergantung konektifitas, topologi, dan
lokasi obyek.
4. Mendukung
pemetaan 1:many antara nama & obyek, untuk memungkinkan multicast.
5. Mendukung dynamic
relocation of objects, jika obyek/proses potensial untuk mobile (berpindah-pindah).
Jadi diperlukan dynamic binding antara nama & alamat, juga antara
alamat & rute.
6.
Memungkinkan local aliases, sehingga pemakai dapat mengekspresikan
interpretasi semantik mereka thdp suatu obyek.
7. Name List
Name
Lists terdiridari 2 komponenyaitu:
1.
Name agents
2.
Name servers
7.1.Name Agent
Name agents berada di client, bisa 1 name
agent per client atau 1 name agent digunakan oleh beberapa clients.
Name agents menjadi perantara antara client dan name server.
Contoh: resolver pada Domain Name Service (DNS).
Fungsi Name
Agents:
– memastikan
bahwa lokasi name servers terlihat transparan bagi client programs (menyembunyikan
lokasi name server).
– ‘berbicara’
dalam protokol komunikasi yang dimengerti name server.
– mengetahui
bagaimana name space diatur, sehingga tahu kemana suatu request harus
dikirim untuk memperoleh informasi lokasi.
– melakukan
negosiasi kompabilitias atau availability sumber daya (resource),
berdasarkan atribut.
7.2.Name Server
Name server menggunakan
basis data terdistribusi yang terdiri dari tuples <nama, lokasi,
[atribut]>. Contoh atribut: jika resource adalah printer, maka
atribut dapat menyatakan apakah obyek dapat melakukan pencetakan postcripts atau
tidak.
Hal penting
yang harus dimiliki:
– Availability,
– Resilience
to failure,
–
Konsistensi,
– Kecepatan
menerima pengaruh perubahan name lists,
– Kemudahan
mengkompilasi list of objects (resources).
Ada 2 jenisName Server:
A.Primary Name Server
–
Mendapatkan
data dengan membaca file di storage
–
Lebih dikenal
dengan File Zone
B.Secondary Name Server
–
Mendapatkan
data dengan mereplikasikan data yang ada di primary server
–
Lebih dikenal
dengan Transfer Zone
7.3.Bentuk
Name List
A. Name List
Tersentralisasi Adalah Name list yang
berada pada satu mesin.
Kelebihan:
– Layanan
cukup dilakukan dengan melihat name lists.
– Waktu yang
dibutuhkan antara registrasi obyek & saat obyek tsb dapat diakses, sangat
singkat.
– Mudah untuk
memperoleh daftar obyek aktif.
Kekurangan:
– Poor
resilience: jika node crash, terjadilah malapetaka.
– Kemacetan (congestion)
membatasi availability.
B.Name List Tereplikasi Penuh
Digunakan
untuk mengatasi kekurangan name list tersentralisasi.
Masalah:
– WRITE:
• Untuk
menjaga konsistensi, jika name list direplikasi, maka setiap perubahan
harus terefleksi di semua copy.
• Bagaimana
jika saat perubahan dicatat, ada sebagian replika yang tidak dapat dihubungi (link
or node failures)?
– READ:
• Bagaimana jika informasi yang
diperoleh ternyata sudah usang, atau ada beberapa replika yang tidak dapat
diakses?
Solusi:
– Sebuah name
server dipilih sebagai master, dan selalu merefleksikan secara
akurat state of the world.
– Name
servers lainnya bertindak sbg pemberi petunjuk (hint), yang belum
tentu benar.
– Propagasi informasi antara
master dan replika dilakukan saat ‘sepi’.
Diperlukan beberapa asumsi yaitu
– Data
penamaan tidak sering berubah, sehingga ketidakkonsistenan relatif jarang
terjadi. Tergantung dari aplikasi, cukup akurat untuk mail system tapi
tidak untuk sistem berbasis obyek yang sangat dinamis.
– Jika
dipakai data yang usang, maka akan terjadi error yang dapat diatasi.
Contoh: Buku telepon yang memuat nomor telepon yang tidak terpakai lagi.
– Tidak ada
masalah jika dipakai data usang.
Contoh: forward pada alamat e-mail
yang lama.
Kelebihan:
– Tidak perlu
suatu central name server, di mana seluruh station tergantung
pada name server tsb.
– Masih
relatif mudah memperoleh daftar obyek dalam suatu jaringan, di mana suatu name
list berisi informasi yang dibutuhkan.
– Availability
meningkat, shg lokasi obyek dapat ditemukan lebih cepat dari name
list tersentralisasi.
Kekurangan:
– Menggunakan
lebih banyak memori.
– Potensial
timbul masalah ketidakkonsistenan. Pada beberapa jaringan, broadcast packet ke
replika sangat meningkatkan overhead jaringan.
C.Name List TereplikasiSebagian
•
Sebagian name lists disimpan
dalam cache setiap mesin.
•
Memerlukan mekanisme petunjuk (hint),
yang biasanya benar.
•
Tidak ada master copy, shg
dapat timbul masalah:
–
Seberapa besar cache?
–
Manakah nama yang harus dihapus
dari cache untuk menjaga konsistensi.
•
Umum digunakan pada sistem
berbasis obyek.
•
UID merupakan nama obyek.
•
Petunjuk lokasi disimpan dalam
nama tsb, untuk menghindari seringnya berkonsultasi dengan name server.
•
Petunjuk harus dapat diandalkan.
•
Jika sebuah obyek berpindah, maka
setiap reference harus diubah satu persatu.
8. Contoh Name Service
1.
DNS (Domain
Name Service)
- memetakannama domain kealamat
2.
GNS (Global
Name Service)
- memetakan global name keatribut-atribut
- skalabilitas, dapatmenanganiperubahan
3.
X500
directory service
-
memetakannama
orang kedalamalamatsuatu e-mail dannomortelepon
4.
Jini
discovery service
- mencariobjeksesuaidenganatribut yang ada