Jumat, 19 Desember 2014

FAULT TOLERANCE, DATA TRANSACTION AND REPLICATION

Sebuah kecelakaan (atau sistem crash) dalam komputasi adalah suatu kondisi di mana sebuah komputer atau program, baik aplikasi atau bagian dari sistem operasi, berhenti berfungsi dengan baik, sering keluar setelah menghadapi kesalahan. Seringkali program menyinggung mungkin muncul untuk membekukan atau hang sampai layanan pelaporan kecelakaan dokumen rincian kecelakaan itu. Jika program adalah bagian penting dari kernel sistem operasi, seluruh komputer dapat kecelakaan. Hal ini berbeda dari hang atau membekukan dimana aplikasi atau OS terus berjalan tanpa respon jelas untuk masukan.

Fault Tolerance
Fault Tolerance adalah kemampuan dari suatu sistem untuk dapat tetap berfungsi meskipun mengalami kegagalan.
Fault tolerance dalam suatu server dapat berupa:
·         Redundant Power supply (power supply cadangan)\
·         Redundant FAN
·         Online spare (Memory & HDD)
·         Mirroring (Memory & HDD)
·         RAID 1, RAID 5, dan RAID 6

Fault tolerant merupakan bagian yang penting yang saat ini terus dikembangkan untuk meningkatkan reliabilitas system. Secara umum terdapat dua metode fault tolerant, yaitu hardware dan software fault tolerant. Sistem dengan fault tolerant merupakan system dengan kemampuan untuk tetap beroperasi walaupun kondisi saat itu tidak mendukung (terjadi fault pada system).

Data Transaction
Transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan pengaksesan basis data dan bahkan juga melakukan serangkaian perubahan data.  DBMS yang kita gunakan harus menjamin bahwa setiap transaksi harus dapat dikerjakan secara utuh atau tidak sama sekali.  Tidak boleh ada transaksi yang hanya dikerjakan sebagian, karena dapat menyebabkan inkonsistensi basis data.  Untuk itu transaksi selalu merubah basis data dari satu kondisi konsisten ke kondisi konsisten lain.


Data yang menggambarkan suatu peristiwa (perubahan sebagai hasil dari transaksi). Transaksi data selalu memiliki dimensi waktu, sebuah nilai numerik, dan mengacu pada satu atau lebih objek.
Hal yang harus diperhatikan dalam proses transaksi:
·         Harus memaksimalkan concurrency sambil menjamin konsistensi
·         Harus terlindungi dari kegagalan

Replication
Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian data dan objek-objek database dari satu database ke database lain dan melaksanakan sinkronisasi antara database sehingga konsistensi data dapat terjamin. Dengan menggunakan teknik replikasi ini, data dapat didistribusikan ke lokasi yang berbeda melalui koneksi jaringan lokal maupun internet. Replikasi juga memungkinkan untuk mendukung kinerja aplikasi, penyebaran data fisik sesuai dengan penggunaannya, seperti pemrosesan transaksi online dan DSS (Desiscion Support System) atau pemrosessan database terdistribusi melalui beberapa server.





Referensi:


SINKRONISASI DAN ASINKRONISASI

Sinkronisasi
Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan. Secara garis besar mungkin sinkronisasi adalah menyamakan sesuatu secara bersamaan. Sinkronisasi adalah suatu proses pengendalian akses dari sumber daya terbagi pakai (shared resource) oleh banyak thread sedemikian sehingga hanya satu thread yang dapat mengakses sumber daya tertentu pada satu waktu.

Asinkronisasi
Asinkronisasi adalah kemampuan untuk mengirim dan menerima pesan pada waktu yang disesuaikan dengan kebutuhan dari individu tersebut. Maksudnya, penyampaian pesan itu tidak mesti terjadi secara serentak pada saat yang sama, melainkan proses pertukaran itu terjadi pada saat yang diinginkan oleh individu yang melakukan proses komunikasi tersebut.

Contoh:
Aplikasi Back-up Data Dengan Sinkronisasi Perangkat – GoodSync

GoodSync menyediakan fitur platform untuk menjaga cadangan semua informasi bisnis sensitif secara online. Jadi jika mengalami masalah di hard disk komputer, maka kita dapat memastikan bahwa informasi sudah disimpan di suatu tempat yang dapat diakses dengan mudah. GoodSync menyediakan antarmuka yang mudah untuk menjaga cadangan dari file Anda dengan cara yang disinkronkan dengan berbagai macam perangkat.



GoodSync memiliki fitur algoritma yang dibangun untuk menganalisis data penting atau foto atau dokumen keuangan dan menciptakan backup cadangan untuk file-file tersebut. Backup disimpan baik dalam desktop, laptop dan eksternal drive serta di situs - situs. Untuk menyimpan di server Goodsync yang paling sering digunakan adalah menggunakan SFTP, FTP dan WebDAV.

Referensi:


Sabtu, 06 Desember 2014

TIME AND COORDINATION


Time and Coordination
adalah mengkordinasikan waktu dalam transfer data, agar tidak terjadi ketimpangan pada proses transfer data. Selain itu juga, berguna untuk mengukur penundaan antara komponen terdistribusi, menyinkronkan aliran data misalnya: suara dan video, dan sebagai penanda keakuratan waktu untuk mengidentifikasi atau mengotentikasi transaksi bisnis dan serializability dalam database terdistribusi dan keamanan protokol.
Algoritma Berkeley
Time server mengirimi (polling) mesin secara periodic meminta waktu saat itu di mesin yang dikirimi. Berdasarkan jawaban, timer server estimasi waktu local berdasarkan observasi waktu untuk pengiriman pesan, menghitung waktu rata-rata dan memberi perintah ke mesin lain untuk memajukan dan mengundurkan clock supaya mendapat suatu reduksi spesifik.
Mutual Exclusion
Mutual Exclusion adalah penjaminan pengaksesan sumber daya benar-benar hanya satu proses tunggal pada interval waktu tertentu. Syarat terjadinya Mutual Exclusion :
1.      Bebas dari deadlock
2.      Bebas dari Startvation
3.      Fault-tolerance
Dua pendekatan penjaminan mutual exclusion di system tersebar:
1.      Algoritma Terpusat
2.      Algoritma Tersebar
Contoh alur pada system ATM


Kordinasi waktu dan data harus disesuaikan dengan server pusat agar seimbang dan tidak terjadi error value / angka dalam algoritma untuk memproses data yang akan diunduh ataupun diupload oleh server.  

File Service dan Name Service


Pengenalan File Service
File service adalah suatu perincian atau pelayanan dari file system yang ditawarkan pada komputer client. Suatu file server adalah implementasi dari file service dan berjalan pada satu atau lebih mesin. File itu sendiri berisi dari nama, data dan atribut file seperti kepemilikan file, ukuran, waktu pembuatan file dan hak akses file. File sistem merupakan mekanisme penyimpanan on-line serta untuk akses, baik data maupun program yang berada dalam sistem operasi.   
Karakteristik dari File System
File Sistem adalah bertanggung jawab untuk pengorganisasian, penyimpanan, pencarian keterangan, penamaan, sharing atau pembagian dan protection atau perlindungan dari file-file. File berisi dari dua bagian penting yaitu data dan atribut. File sistem didesain untuk menyimpan dan mengatur banyak dan besar file dengan fasilitas untuk membuat, memberi nama dan menghapus file. File system juga bertanggung jawab untuk pengontrolan dari akses file, akses terbatas ke file oleh user yang berhak dan tipe-tipe dari akses yang diminta.
·         Operasi pada file (=data + atribut)
1.      Create / delete
2.      Query / Modifikasi Atribut
3.      Open / Close
4.      Read / Write
5.      Akses Kontrol
·         Organisasi penyimpanan
1.      Struktur direktori (hirarki, pathname)
2.      Metadata (pengaturan informasi file) : atribut file, informasi struktur direktori, dll 
Atribut File
File adalah kumpulan informasi berkait yang diberi nama dan direkam pada penyimpanan sekunder. Atribut file terdir dari :
1.      Nama 
Merupakan satu-satunya informasi yang tetap dalam bentuk yang bisa dibaca oleh manusia (human readable form)
2.      Type
Dibutuhkan untuk sistem yang mendukung beberapa tipe berbeda
3.      Lokasi
Merupakan pointer atau penunjuk ke device dan lokasi file pada device tersebut berada
4.      Ukuran (Size)
Ukuran file pada saat itu, baik dalam byte, huruf ataupun blok
5.      Proteksi
Informasi mengenai kontrol akses, misalnya siapa saja yang boleh membaca, menulis dan mengeksekusi file
6.      Waktu, tanggal dan identifikasi pengguna
Informasi ini biasanya disimpan untuk :
·         Pembuatan file
·         Modifikasi terakhir yang dilakukan pada file
·         Penggunaan terakhir file
Atribute file
·         Panjang File
·         Creation Timestamp
·         Read Timestamp
·         Write Timestamp
·         Attribute Timestamp
·         Reference Count
·         Owner
·         Tipe File
·         Daftar Akses Kontrol
Struktur File System
·         Modul direktori : menghubungkan nama file dengan ID file
·         Modul File : menghubungkan ID dengan file tertentu
·         Modul Akses Kontrol : memeriksa permission utuk operasi yang diminta
·         Modul Akses File : read / write data file atau atribut
·         Modul Blok : akses dan alokasi blok disk
·         Modul Perangkat : disk I/O dan buffering 
Komponen File service
Komponen-komponen file service adalah terdiri dari :
·         File Service
Pengoperasian dari masing-masing file.
·         Directory Service
Management atau pengaturan direktori
·         Naming Service
-        Location Independence :
File dapat dipindahkan tanpa penggantian nama
-        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 semua mesin.
-        Dua level penamaan :
Nama simbolik yang dilihat user dan nama binary yang dilihat oleh sistem.
Contoh File Service 
NFS (Network File System)
Network File System (NFS) merupakan sebuah protokol yang dikembangkan oleh Sun Microsystem pada tahun 1984 dan NFS didefinisikan dalam RFC 1094, 1813 dan 3530 sebagai DFS yang mengijikan sebuah komputer untuk mengakses file melalui network serasa akses file di disk local. NFS merupakan protokol yang sangat mendukung dalam pengaplikasian suatu file system yang terdistribusi.

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, yang dibahas di Jaringan Komputer. 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.

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. Jadi jika seseorang mengetahui nama obyek tsb, maka dia memang diberitahu, karena sulit sekali menebak nama tsb.
Jenis Nama
1.   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.
2.   System names:
-        Terdiri dari bit string.
-        Internal untuk sistem, tidak ditujukan untuk manusia.
-        Lebih compact dari user names,  sehingga dapat dibandingkan dengan lebih efisien.
Contoh Name Service
1.   DNS (Domain Name Service)
-        memetakan nama domain ke alamat 
2.   GNS (Global Name Service)
-        memetakan global name ke atribut-atribut
-        skalabilitas, dapat menangani perubahan 
3.   X500 directory service
-        memetakan nama orang ke dalam alamat suatu e-mail dan nomor telepon 
4.   Jini discovery service
-        mencari objek sesuai dengan atribut yang ada 

referensi: