NAME SERVICE
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).
Name Service memiliki konsentrasi pada aspek penamaan, dan pemetaan antara nama
& alamat, bukan pada masalah rute, yg dibahas di Jaringan Komputer. Resource yang dipakai
dalam Name Service adalah: komputer, layanan, remote object, berkas, pemakai.
Contoh naming pada aplikasi sistem terdistribusi:
URL untuk mengakses suatu halaman web.
Alamat e-mail utk komunikasi antar pemakai.
Konsep Penamaan
1. Tekstual nama (dibaca manusia)
Digunakan untuk mengidentifikasi layanan individu, orang
alamat email : handrizal@usu.ac.id
URL : www.google.com
atau kelompok orang atau benda
mailing list : professors@unibz.it
email domain (jika ada beberapa mail exchanger)
2. Numeric alamat (mengidentifikasi lokasi obyek)
Mencari sumber daya individu, misalnya 193.206.186.100 (alamat IP host)
Kasus khusus: alamat kelompok, misalnya multicast dan broadcast alamat : multicast IP, ethernet
3. Obyek pengidentifikasi
murni nama (pola bit), biasanya numerik dan besar
Tidak pernah digunakan kembali (termasuk timestamp)
Digunakan untuk keperluan identifikasi
Tidak ada perbedaan nyata antara nama dan alamat. Keduanya harus mendongkrak untuk
memperoleh tingkat rendah data atau resolusi nama.
Dalam rangka memenuhi kebutuhan tersebut, sebuah name server setidaknya dapat
menerapkan mekanisme berikut :
Partitioning
Tidak ada satu name server yang dapat menyimpan seluruh nama dan atribut untuk seluruh
jaringan.
Data nama dipartisi berdasarkan domain
Replication
Sebuah domain biasanya memiliki lebih dari suatu name server
Untuk meningkatkan availability dan performance
Caching
Sebuah name server dapat melakukan mekanisme caching terhadap data nama dari name
server
Hal ini dilakukan untuk mencegah operasi permintaan sama berulang-ulang
Contoh penamaan yang memberikan kemampuan keamanan
Nama dipilih secara acak dari 128 bit integer, maka ada sekitar 3 x 1038 nama yang
berbeda. Jika sekumpulan obyek membutuhkan nama yang unik, dan di generate 1 juta dalam 1
detik selama 100 tahun, maka pada akhirnya akan ada sekitar 3 x 1015 obyek(nama). Proporsi
nama yang dipakai, jauh lebih kecil dari keseluruhan nama yang tersedia. Probabilitas benar
dalam menebak nama obyek tersebut adalah 1:1023. Jika dalam 1 detik dilakukan 1 juta
tebakan, maka diperlukan sekitar 1010 tahun untuk menebak nama yang benar.
Pure name : nama yang tidak perlu di terjemahkan, karena pada nama tersebutsudah menunjuk
alamat objek langsung. Contoh : IP
non-pure name dalam nama mengandung suatu informasi (misalnya atribut)tentang suatu objek.
Contoh : URL, alamat email, X.500 Directory Service, IOR (Interoperability Object Reference ).
URL (Uniform Resource Locator ) merupakan suatu tipe khusus URI (Uniform Resource
Identifier ). Tipe lainnya adalah URN (Uniform Resource Name). Idedengan adanya URN
adalah user dapat melakukan query berdasar URN untuk mendapatkan URL objek. URC (Uniform
Resource Characteristics ) merupakansubset dari URN untuk mendeskripsikan suatu sesumber
Web dengan suatuatribut, contoh 'author=budsus', 'keywords=sister,...'
Contoh bentuk URL
Pada RFC 1738, penamaan dengan URL dapat mendukung beberapa protokol berikut :
Jenis Nama
User names:
Dibuat oleh pemakai (user).
Merujuk pada suatu obyek atau layanan.
Terdiri dari strings of characters.
Contoh: hp201 untuk pencetak, ~bettyp/tmp/test.c untuk berkas.
System names:
Terdiri dari bit string.
Internal untuk sistem, tidak ditujukan untuk manusia.
Lebih compact dari user names, sehingga dapat dibandingkan dengan lebih efisien.
Struktur Nama
Primitive/flat names (Unique Identifiers = UIDs)
Tanpa struktur internal, hanya string of bits.
Digunakan utk perbandingan dengan UID lain.
Tidak membawa informasi lain -> pure names.
Sangat berguna & banyak digunakan karena:
Location & application independent, shg tidak menjadi masalah bagi mobilitas obyek.
Seragam, fixed size.
Compact: mudah disimpan, di-pass, & jika cukup besar menjadi sulit ditebak.
Partitioned Names (PN)
Komposisi dari beberapa nama primitif, biasanya disusun secara hirarkis.
Contoh: telaga.cs.ui.ac.id, /cs/docs/akademik/SisDis/naming.ppt.
Membawa informasi -> impure names.
Biasanya tidak secara unik mengidentifikasikan obyek, beberapa nama bisa dipetakan ke satu
obyek (e.g. UNIX file links).
Descriptive names (DN)
Daftar atribut yang secara bersama-sama mengidentifikasikan obyek secara unik.
Membawa informasi -> impure names.
DN adalah superset dari PN.
E.g. OSI X.500 directory service.
Directory Information Tree (DIT) X.500 name tree
Directory Information Base (DIB):
The entire directory structure, including the data associated with the nodes.
Name Contexts
Nama selalu diasosiasikan dengan konteks, yang mendefinisikan di mana nama tsb valid.
Ada 2 macam konteks:
Universal context:
Di manapun nama digunakan, nama di-resolved dengan cara yang sama.
Dapat disalin dari mesin ke mesin dengan bebas.
Contoh: http://www.cs.ui.ac.id/index.html.
Relative context:
Context dependent.
Contoh: a/b/c, b/c resolvable pada konteks a. Sedangkan pada node yang berbeda, a/b/c
dapat merujuk pada hal yang berbeda pula.
Lokasi Resource
Lokasi Resource harus memiliki Broadcast ke semua name servers. Yang berarti
berfungsi melaporkan seluruh response (positif & negatif) yang kemudian lalu lintas menjadi
sibuk. Lokasi resource hanya melaporkan positive response.
Nama unik merupakan keharusan. Kenapa?
Tidak scalable: Masih bisa ditolerir untuk LAN, tapi bagaimanakah pada sistem yang lebih luas?
Name lists.
Name Servers
Name Servers menyimpan pemetaan nama ke alamat untuk setiap obyek dalam sistem,
I.e. melalui tuples <nama, lokasi, [atribut]>. Hal penting yang harus
dimiliki: Availability, Resilience to failure, Konsistensi, Kecepatan menerima pengaruh
perubahan name lists, Kemudahan mengkompilasi list of objects (resources).
Beberapa bentuk Name List:
Tersentralisasi.
Tereplikasi penuh.
Tereplikasi sebagian (menggunakan cache).
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.
Name Resolution
Yaitu diberikan nama obyek , temukan obyek tersebut. Simpan semua nama di
setiap name server. Partisi basis data penamaan (naming database) dapat dilakukan
berdasarkan:
Algoritma:
Tergantung dari nilai sebuah fungsi hash.
Tidak tergantung pada struktur dan lokasi obyek.
Sintaks:
Contoh: telaga.cs.ui.ac.id.
Atribut.
Proxy dapat menyimpan pointer migrasi suatu obyek.
Rekursif
Adalah aktifitas berpindah dari server ke server, shg nama selalu di-resolve dalam
konteks yang baru. Multiple servers transparan bagi name agent. Agent tidak
sibuk. Serversharus menyimpan return address untuk setiap outgoing lookup, dan secara
keseluruhan bekerja keras. Bagaimana jika rasio antara agent & server cukup besar?
Iterative Navigation
Agent tetap memegang kendali proses resolusi sebuah nama. Servermengembalikan
status resolusi dan alamat server yang harus dihubungi selanjutnya. Agentbekerja lebih keras
dari cara pertama, dan perlu sedikit pintar.
Transitive Navigation
KESIMPULAN
Dalam sistem terdistribusi, nama digunakan untuk menunjuk ke suatu sesumber yang
beragam dan tersebar seperti komputer, layanan (services), file, remoteobject, use.
Nama memfasilitasi
komunikasi : nama domain sebagai bagian dari email
resource sharing : nama domain internet.
Proses tidak dapat mengakses suatu sesumber, jika sesumber tersebut tidak diberi
nama. Kebutuhan akan penamaan tersebut memicu munculnya layanan penamaan (Naming
Services ) yang menyediakan mekanis medan struktur penamaan objek itu sendiri. Contoh :
DNS (Domain Name Service),dan juga kebutuhan untuk pencarian objek berdasar nama dan
juga atribut objek itu sendiri ( Directory Service).
Suatu nama akan diterjemahkan ke dalam suatu data tentang sesumber atau objek yang
dimaksudkan. Gabungan antara objek dan nama disebut binding, Name Service dalam Sistem
Terdistribusi merupakan layanan penamaan yang berfungsi untuk menyimpannaming context ,
yaitu sehimpunan keterkaitan antara nama dan atribut objek (binding), seperti user ,
komputer, services dan remote object , tugasnya untuk me-resolve nama. Name
Service memiliki konsentrasi pada aspek penamaan, dan pemetaan antara nama & alamat,
bukan pada masalah rute, yg dibahas di Jaringan Komputer.
Resource yang dipakai dalam Name Service adalah: komputer, layanan, remote
object , berkas, pemakai. Contoh naming pada aplikasi sistemterdistribusi: URL untuk mengakses
suatu halaman web dan Alamat e-mail utk komunikasi antar pemakai.
DAFTAR PUSTAKA