Implementasi Redirection File System menggunakan FUSE dan Protokol HTTP Muhammad Yusuf, Wahyu Suadi, Baskoro Adi Pratomo Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember 1
[email protected] 2
[email protected] 3
[email protected]
diperlukan untuk mempermudah dan mempercepat pekerjaan pengguna (user) dalam pengolahan data. Salah satu usaha untuk mempercepat penyimpanan data yang dilakukan oleh user adalah menambahkan file system server yang berguna untuk meng-edit dan meng-create file secara bersamaan dalam jaringan. Pada umumnya suatu file system berhubungan langsung dengan client yang ada pada jaringan tersebut dan berkomunikasi secara peer-to-peer antara client dengan server, Namun dalam perancangan file system seperti ini alokasi memori penyimpanan terbatas pada alokasi memori dari satu server saja. Dari kenyataan tersebut maka muncul keinginan untuk membangun suatu file system terdistribusi yang memanfaatkan beberapa server penyimpanan data yang tidak terhubung secara langsung dengan client melainkan terhubung dengan satu atau beberapa server perantara sebagai media komunikasi antara client dengan server penyimpanan data. Komunikasi antara client dengan server perantara nantinya akan memanfaat Python Remote Object (PyRO) dan fuse Python, sedangkan komunikasi antara server perantara dengan server penyimpanan data akan memanfaatkan protocol HTTP. Penelitian sebelumnya merupakan tugas akhir yang dibuat oleh Yoyok Sungging Purwanto yaitu Interface FUSE untuk membangun Integrated Network File System menggunakan FUSE Python.
Pada era ini laju perkembangan media komunikasi sangatlah cepat. Untuk melakukan proses petukaran informasi tiap perangkat (device) membutuhkan adanya storage penyimpanan data yang besar, namun juga mampu menangani pertukaran media, file atau document dengan cepat. Salah satu solusi untuk mempercepat proses pertukaran data pada sistem yang terdistribusi adalah dengan memanfaatkan network file system seperti misalnya; SMB server, NFS, atau AFS. Namun pemanfaatan network file system memiliki kelemahan yaitu tempat penyimpanan (storage) yang terbatas pada satu server saja. Dalam tugas akhir ini akan dibangun suatu network file system yang menggintegrasikan beberapa server penyimpanan data dengan satu server perantara dengan menggunakan protocol HTTP. Integrasi dari beberapa server penyimpanan data tersebut dilakukan dengan tujuan agar tempat penyimpanan data pada server perantara seolah-olah memiliki tempat penyimpanan yang lebih besar. Permintaan untuk mengolah data yang dikirim dari client nantinya akan diproses dengan menggunakan fuse python dan PyRO yang digunakan untuk memanggil prosedur yang ada pada server perantara. Saat salah satu prosedur pada server perantara dipanggil oleh client maka server perantara menerjemahan perintah tersebut, kemudian meneruskan pada server penyimpanan data dengan menggunakan protocol HTTP dan menggembalikan response dari server penyimpanan data dengan format yang sesuai dengan permintaan dari client. Dari uji performa maka dapat disimpulkan bahwa pengintegrasian network file system dengan beberapa HTTP server dapat dilakukan, namun proses pertukaran data dengan menggunakan network file system yang telah dibuat memiliki kecepatan yang lebih lambat bila dibandingkan dengan proses pertukaran data pada local file system Hal ini dikarenakan adanya proses pada server yang membutuhkan waktu yang lebih lama, yaitu proses pemilihan letak dimana file akan disimpan pada server penyimpanan data atau diambil dari server penyimpanan data dan juga adanya proses transfer data pada jaringan.
I.
PENDAHULUAN
1.
Latar belakang masalah
2.
Tujuan
Tujuan dari tugas akhir ini yaitu mengimplementasikan file system yang mampu bekerja dalam beberapa server penyimpanan data dengan memanfaatkan satu server perantara sebagai penghubung dengan client. Menciptakan server perantara yang menjadi penghubung client dengan beberapa server penyimpanan data, hal inilah yang akan membuat server perantara bekerja sebagai media penyimpanan yang seolah-olah memiliki tempat penyimpanan yang lebih besar. 3.
Media komunikasi saat ini berkembang begitu pesat, sebagai contohnya munculnya berbagai macam perangkat (device) seperti: handphone, computer, tablet, dan juga perangkat yang lainnya. Perangkat-perangkat tersebut digunakan oleh manusia untuk melakukan pekerjaannya atau sebagai media komunikasi. Dengan adanya berbagai macam jenis perangkat tersebut maka peningkatan kinerja storage penyimpanan sangat
Batasan masalah
Dari permasalahan yang telah diuraikan di atas, terdapat beberapa batasan masalah terhadap tugas akhir ini, yaitu : • File system dibuat dengan model client, server perantara, dan server penyimpanan data pada jaringan local. • File system dibuat agar dapat melakukan beberapa operasi file system semantic unix seperti:
1
• •
• create_file • read_filewrite_file • create_directory • delete_directory • copy_file • move_file • list_file File system dibuat agar dapat berkomunikasi dengan server perantara dengan menggunakan remote procedure call yang mirip dengan NFS. Server perantara dibuat agar dapat berkomunikasi dengan server penyimpanan data dengan protocol HTTP
NFSv3, penggunaannya mendukung banyak aplikasi dan operating system agar bekerja lebih baik dan cepat. Pada dasarnya NFS merupakan Remote Procedure Call yang memiliki sifat stateless server. Stateless server adalah proses dimana server tersebut tidak pernah menyimpan data dari request yang diajukan pada server saat proses response dari server berakhir. Dikarenakan NFS merupakan protocol yang stateless maka semua data yang telah dimodifikasi harus disimpan pada server sebelum ada request permintaan data yang sama dilakukan. Remote procedure call dari NFS dibuat agar mampu bekerja pada beberapa oprating system yang berbeda dengan memanfaatkan external data representation format (XDR). XDR berfungsi untuk men-serializing data dari jaringan. Hampir semua file system pada era ini memanfaatkan mekanisme RPC yang sama untuk mengatasi pemindahan data cross-platform operating system.
II. TINJAUAN PUSTAKA 1.
File System
File System adalah metode atau perangkat lunak (software) yang ada pada operating system yang berfungsi untuk menyimpan dan mengatur file-file dan data-data yang tersimpan di dalam storage media agar berkas dapat mudah ditemukan dan diakses oleh user. File System dapat menggunakan media penyimpan data seperti HardDisk atau CD Rom. File System juga dapat melibatkan perawatan lokasi fisik file, juga memberikan akses ke data pada file server dengan berlaku sebagai client untuk protokol jaringan (mis. NFS atau SMB client), atau dapat juga berlaku sebagai file system virtual dan hanya ada sebagai metode akses untuk data virtual. Lebih umum lagi, file system merupakan database khusus untuk penyimpanan, pengelolaan, manipulasi dan pengambilan data. Kebanyakan file System menggunakan media penyimpan mendasar yang menawarkan akses ke suatu array dengan blok ukuran tertentu yang dinamakan sektor, umumnya dengan ukuran pangkat 2 (512 bytes atau 1,2, atau 4 KiB). Software File System bertugas menata sektor-sektor tersebut menjadi file dan directory, serta mengatur sektor mana milik file mana dan sektor mana yang belum terpakai. Kebanyakan file system mengalamatkan data dalam unit dengan ukuran tertentu yang disebut cluster atau blok yang mengandung sejumlah disk sector (biasanya antara 1-64). Cluster atau blok ini adalah space disk terkecil yang dapat dialokasikan untuk menyimpan file. Bagimanapun, file system bisa jadi tidak perlu menggunakan media penyimpan sama sekali. File System dapat dipakai untuk menata dan mewakili akses ke setiap data, apakah data itu disimpan atau dibuat secara dinamis. 2.
3.
File system in User Space (FUSE)
File system in User Space (FUSE) adalah sebuah module kernel yang digunakan oleh unix-like operating system seperti BSD dan Linux untuk memberikan ijin pembuatan file system walaupun user tersebut tidak memiliki has akses yang istimewa (non-privilages access). Nantinya file system yang dibuat dengan module ini tidak akan mengubah (mengedit) kernel code dari operating sytem tertentu. Hal ini dapat dilakukan karena file system code akan dijalankan melalui ruang pengguna (user space) dan FUSE akan menjadi jembatan dari kernel code yang sesungguhnya. FUSE merupakan perangkat lunak yang bersifat open source. Pada awalnya sistem dari FUSE merupakan bagian dari A Virtual Filesystem, namun team project FUSE memisahkan diri dan menciptakan project sendiri di SourceForge.net. FUSE merupakan suatu module yang sangat membantu dalam pembuatan virtual file system. Cara kerja dari file system yang menggunakan FUSE sebagai module-nya tidak sama seperti file system yang digunakan pada operating system pada umumnya. Jika pada file system yang digunakan pada operating system pada umumnya berkas dan data langsung disimpan atau diambil pada harddisk, maka pada vitual file system FUSE akan bertindak sebagai penerjemah dari data yang akan ditampilkan pada file system tertentu agar dapat digunakan pada file system dari computer yang memanggil berkas tersebut. Penggunaan module FUSE ini sangatlah mendukung semua funsionalitas dari file system kecuali penggugaan fungsi file locking. Disamping itu, fungsionalitas dari modul FUSE ini dibuat agar mampu bekerja dengan baik dan mampu mengatasi interaksi yang berlebihan antara file system dan kernel code.
Network File System (NFS)
Network File System (NFS) merupakan suatu protocol yang peratama kali digunakan sebagai media komunikasi yang terdistibusi. Perkembangan dari protocol NFS ini selalu beriringan dengan penyesuaian kebutuhan dan teknologi yang ada pada era ini. Meskipun protocol NFS ini sudah mencapai pada versi yang ke-4 namun rata-rata penggunaan NFSv3 masih sangat diminati untuk berbagai macam kepentingan. Hal ini dikarenakan kinerja yang baik dari
4.
Remote Procedure Call (RPC)
Remote Procedure Call (RPC) adalah sebuah metode untuk melakukan pemanggilan terhadap fungsi (procedure) yang ada pada komputer lain. Untuk melakukan pemanggilan fungsi (procedure) yang dimiliki oleh komputer lain komputer tersebut haruslah memiliki layanan remote
2
procedure. Dalam bahasa pemprograman lain RPC disebut dengan istilah Remote Method Invocation (RMI) biasanya dalam bahasa pemprograman Java dan C++. Untuk melakukan pemanggilan fungsi pada pada komputer lain proses yang dilakukan oleh RPC adalah: • Client memanggil Client Stub. Panggilan yang dilakukan adalah panggilan lokal dengan parameter yang dimasukkan dalam stack. • Client stub kemudian mengumpulkan parameter dan merubahnya menjadi sebuah pesan dan melakukan sebuah system call untuk mengirimkan pesan. Pengumpulan pesan itulah yang dinamakan dengan marshalling. • Kernel mengirimkan pesan dari client menuju server. • Kernel kemudian mengirimkan paket yang masuk menuju ke server stub. • Akhirnya, server stub memanggil prosedure yang ada pada server. Jawaban yang dikembalikan melalui jalur yang sama seperti request dikirimkan. RPC masih menggunakan paradigma procedural programming, sehingga penggunaan RPC ini terkesan masih primitif. Hal inilah yang nantinya membuat pengguna kesulitan ketika akan menciptakan remote procedure yang cukup banyak. 5.
prosedur getattr dipanggil, proses yang dilakukan adalah server perantara akan megirimkan permintaan mencari file pada masing-masing storage server penyimpanan data dengan menggunakan protocol HTTP. Jika file tersebut terdapat pada salah satu server penyimpanan, maka storage server perantara akan meminta server penyimpanan data untuk mengirim data tersebut yang nantinya akan disimpan pada directory /[ip-client]/[folder yang client access]/[berkas yang diminta] pada storage server perantara. Directory /[ipclient] nantinya akan terus dipertahankan hingga ada permintaan umount dari client. 2.
Arsitektur Sistem
Proses komunikasi dalam pengerjaan perangkat lunak pada tugas akhir ini akan berlangsung menggunakan satu server perantara, beberapa server penyimpanan data dan satu client. Saat client meminta untuk memodifikasi atau membuat file maka request tersebut akan dikirim pada server perantara, kemudian server perantara akan memilih server penyimpanan data yang memenuhi permintaan dari client. berikut adalah beberapa langkah yang dilakukan server perantara saat client melakukan operasi untuk pengolahan berkas. • Server perantara memilih beberapa server penyimpanan data yang sesuai untuk proses pengolahan data yang diminta dari client. • Saat server penyimpanan data telah menemukan letak server penyimpanan data untuk menyimpan atau mengambil data, maka server perantara akan mengirimkan request GET untuk mengambil data dan POST untuk menyimpan data pada server penyimpanan data. • Mengirimkan berkas pada client. Berikut ini adalah gambaran arsitektur FUSE:
Python Remote Object (PYRO)
Adalah sebuah library yang memungkinkan untuk membangun sebuah aplikasi dimana antar objek dapat saling berkomunikasi satu sama lain dalam jaringan dengan mudah. Dengan menggunakan pyro, memanggil objek lain dapat dilakukan dengan menggunakan method call standar milik python dari mesin satu ke mesin lainnya. Pyro ditulis menggunakan bahasa pemrograman python dan dapat berjalan pada berbagai macam platform dan versi python. III. PERANCANGAN PERANGKAT LUNAK 1.
Deskripsi Umum
Dalam pengerjaan tugas akhir ini akan membangun file system yang mengintegrasikan beberapa server penyimpanan data yang berkomunikasi menggunakan protocol HTTP dengan server perantara. Server perantara akan berkomunikasi dengan client menggunakan library PyRO dan fuse python. PyRO merupakan Remote procedure call yang nantinya dimanfaatkan sebagai module yang digunakan agar fungsi (prosedur) dapat dipanggil melalui jaringan. Pada sisi client nantinya akan memanfaatkan fuse python untuk menangani system call yang dipilih oleh client dan PyRO digunakan untuk me-remote prosedur yang ada pada server perantara. Server perantara dan server penyimpanan data berkomunikasi menggunakan protocol HTTP. Proses yang akan terjadi saat client mengirimkan permintaan modifikasi data pada server perantara adalah server perantara akan memilih file yang sesuai pada beberapa server penyimpanan data kemudian menyimpannya kedalam directory khusus. Pengambilan file akan dilakukan saat
Gambar 1. Arsitektur FUSE Proses pengiriman data dari client ke server perantara diusahakan semirip mungkin dengan remote procedur call (RPC) dari Sun Network File system NFS. Oleh karena itu digunakanlah salah satu library RPC yang tersedia untuk bahasa pemrograman Python yaitu Python Remote Object (PyRO). PyRO Server Daemon akan menyediakan layanan pengaksesan berbagai macam prosedur yang telah disediakan. client hanya perlu mengakses alamat PyRO
3
• Prosedur getattr Prosedur getattr adalah prosedur mandatory diantara semua prosedur yang ada dalam FUSE python. prosedur getattr merupakan prosedur yang sering kali dipanggil saat client meminta untuk memproses suatu file atau folder. prosedur ini akan mengembalikan attribut-attribut yang diperlukan untuk melakukan pengolahaan file, seperti atime (access time), mtime (modify time), ctime (create time), size, DLL. Jika prosedur ini tidak mengembalikan attribut-attribut yang diperlukan maka fuse tidak akan melanjutkan pada prosedur berikutnya. Berikut adalah flow chart dari masing-masing proses pada client, storage server perantara, dan server penyimpanan data saat terjadi pemanggilan prosedur getattr pada FUSE python.
tersebut dan langsung memanggil prosedur yang ada pada sisi server perantara, alur proses yang akan dilakukan oleh aplikasi ini seperti gambar berikut.
Gambar 2. Alur proses Pyro server daemon 3.
Implementasi Jalur Komunikasi
Secara keseluruhan maka alur proses FUSEFS pada aplikasi ini diawali dari sisi client yang menangkap perintah yang dimasukkan oleh pengguna. Perintah-perintah itulah yang kemudian ditangkap oleh kernel dan dicari pada system call-nya yang ada dalam dalam kernel virtual file system. Virtual file system inilah yang akan melakukan proses pemetaan untuk memetakan system call dengan API yang ada pada FUSE. Dari FUSE ini langsung akan memanggil fungsi-fungsi FUSE yang telah didefinisikan sendiri dan mengeksekusinya. Karena berkas berada pada sisi remote maka pada fungsi FUSE akan memanggil prosedur yang disediakan. Prosedur yang disediakan akan ada berbagai jenis • Prosedur rmdir Prosedur ini memiliki fungsi yang hampir sama dengan prosedur unlink. Letak perbedaannya adalah prosedur unlink merupakan proses penghapusan yang dilakukan pada file sedangkan prosedur rmdir merupakan proses penghapusan yang dilakukan pada directory. Berikut adalah flow chart dari masing-masing proses pada client, storage server perantara, dan storage server penyimpanan data saat terjadi pemanggilan prosedur rmdir pada FUSE python.
Gambar 4. Flow chart Prosedur getattr • Prosedur create Prosedur ini akan dipanggil saat terjadi permintaan pembuatan file dari client. Berikut adalah flow chart dari masing-masing proses pada client, storage server perantara, dan storage server penyimpanan data saat terjadi pemanggilan prosedur create pada FUSE python.
Gambar 3. Flow chart prosedur rmdir Gambar 5. Flow chart prosedur create
4
• Prosedur read Prosedur read adalah prosedur yang digunakan untuk membaca isi dari suatu file. Prosedur ini memerlukan adanya sebuah file yang terbuka terlebih dahulu sebelum client dapat membacanya. Berikut adalah flow chart dari masing-masing proses pada client, storage server perantara, dan server penyimpanan data saat terjadi pemanggilan prosedur read pada FUSE python.
Gambar 8 Flow chart prosedur release • Prosedur write Prosedur write adalah prosedur yang digunakan saat terjadi permintaan untuk menulis atau mengubah file. Prosedur ini memerlukan adanya file yang telah melalui pemanggilan prosedur open dan read. Berikut adalah flow chart dari masing-masing proses pada client, storage server perantara, dan storage server penyimpanan data saat terjadi pemanggilan prosedur write pada FUSE python. Gambar 6. Flow chart prosedur read • Prosedur unlink Prosedur unlink adalah prosedur yang digunakan untuk dilakukan pelepasan pointer pada sebuah file. Prosedur ini digunakan untuk menghapus file. Berikut adalah flow chart dari masing-masing proses pada client, storage server perantara, dan server penyimpanan data saat terjadi pemanggilan prosedur unlink pada FUSE python.
Gambar 7. Flow chart prosedur unlink • Prosedur release Prosedur ini merupakan prosedur yang dipanggil saat client mengakhiri prosedur pemprosesan data seperti write, open dan read. Berikut adalah flow chart dari masing-masing proses pada client, storage server perantara, dan server penyimpanan data saat terjadi pemanggilan prosedur release pada FUSE python.
Gambar 9. Flow chart prosedur write
5
• Prosedur mkdir Prosedur yang dipanggil ketika client melakukan pembuatan directory, Prosedur ini bukan hanya dipanggil saat permintaan pembuatan directory saja namun saat proses copy directory-pun prosedur ini juga sering dipanggil tergantung dari struktur directory yang akan di-copy. Berikut adalah flowchart dari masing-masing proses pada client, storage server perantara, dan server penyimpanan data saat terjadi pemanggilan prosedur mkdir pada FUSE python.
Gambar 10. Flow chart prosedur mkdir • Prosedur fsdestroy Prosedur ini dipanggil ketika terjadi permintaan umount dilakukan oleh client. Nantinya dalam pembuatan aplikasi tugas akhir prosedur ini akan digunakan untuk menghapus cache directory yang berada pada storage server perantara. Berikut adalah flow chart dari masing-masing proses pada client, storage server perantara, dan server penyimpanan data saat terjadi pemanggilan prosedur fsdestroy pada FUSE python.
Gambar 11 Flow chart prosedur fsdestroy • Prosedur readdir Prosedur readdir adalah prosedur digunakan untuk melakukan listing file pada suatu directory dan memasukkannya pada sebuah queue untuk menampung list dari file-file yang ada pada directory tertentu. Berikut adalah flow chart dari masing-masing proses pada client, storage server perantara, dan server penyimpanan data saat terjadi pemanggilan prosedur readdir pada FUSE python.
Gambar 12 Flow chart prosedur readdir IV. UJI COBA DAN EVALUASI Uji coba yang dilakukan berdasarkan uji coba fungsionalitas dan juga uji coba performa dari file system. Uji coba fungsionalitas nantinya akan diakukan berdasarkan dengan perintah file system semantic unix dari linux operating system. Sedangkan uji coba performa atau uji coba kecepatan dilakukan dengan cara membandingkan kecepatan file system yang dibuat dengan file system local.
6
Gambar 15 Uji coba perintah echo 1.
•
Uji Fungsionalitas
Uji coba ini akan dilakukan dengan menggunakan perintah standar yang biasa digunakan oleh user yang menggunakan operating system linux. Operasi-operasi tersebut adalah operasi pembuatan file atau directory, operasi duplikasi file atau directory (copy), dan operasi pemindahan file atau directory. Berikut adalah beberapa operasi pengolahan berkas linux yang akan digunakan dalam uji coba fungsionalitas ini: • cat Merupakan syntax linux yang digunakan untuk menampilkan isi file text.
ls Merupakan syntax linux yang digunakan untuk menampikan list dari suatu directory.
Gambar 16 Uji coba perintah ls •
mkdir Merupakan syntax linux yang digunakan untuk membuat directory.
Gambar 13 Uji coba perintah cat •
echo Merupakan syntax linux yang apabila diikuti dengan '>' maka akan menyimpan file. Contohnya, syntax berikut akan menyimpan file dengan nama 'tes' dengan isi 'ini tes' ; ‘echo “ini tes” > tes’.
Gambar 17 List directory sebelum perintah mkdir
Gambar 18 Uji coba perintah mkdir
Gambar 14 List directory sebelum perintah echo
•
7
mv Merupakan syntax linux yang digunakan untuk memindahkan file atau directory.
Gambar 23 Membaca file sebelum perintah vi
Gambar 19 List directory sebelum perintah mv
Gambar 24 Uji coba perintah vi Gambar 20 Uji coba perintah mv •
rm Merupakan syntax linux yang digunakan untuk menghapus file atau directory.
Gambar 25 Membaca file setelah perintah vi 2.
Ujicoba performa dilakukan untuk melakukan perbandingan kecepatan rata-rata kecepatan transfer rate antara pengiriman dari client menuju server penyimpanan data dengan local file system. proses pengiriman dilakukan dari server menuju client. Pada uji coba ini file yang akan disalin dari server berada pada [root path]/oriven-paper.pdf dengan tujuan path pada client yaitu /home. Besar file oriven-paper.pdf yang akan di-copy adalah 874353 bytes Untuk mendapatkan nilai rata-rata trasfer rate maka diperlukan pemanggilan syntax linux yaitu time. syntax time apabila diikuti dengan pemanggilan semantic linux yang lain maka akan menampilkan kecepatan pemprosesan semantik tersebut. Gambar berikut adalah proses waktu pengiriman file dari server menuju client dengan menggunakan syntax time:
Gambar 21 List directory sebelum perintah rm
Gambar 22 Uji coba perintah rm •
Uji kecepatan (perfoma)
vi Merupakan syntax linux yang digunakan untuk membuat atau meng-edit text file.
8
Dari dua uji coba diatas maka dapat diambil perbandingan data kecepatan seperti berikut. Tabel 1 Perbandingan kecepatan Uji coba ke
Server to Client
local
1
138 milisecond
28 milisecond
2
167 milisecond
30 milisecond
3
170 milisecond
31 milisecond
4
160 milisecond
30 milisecond
5
207 milisecond
31 milisecond
Total
0.841 second
0.150 second
Dari data diatas maka dapat ditemukan kecepatan ratarata pengiriman file dari server menuju client adalah
Gambar 26 Tranfer rate Server to Client
Kecepatan rata-rata pada file system yang telah dibuat adalah 5198293.697 Bytes/second. Sedangkan kecepatan rata-rata pengiriman pada local file system adalah.
Berikut ini merupakan uji perfoma yang dilakukan untuk mendapatkan kecepatan rata-rata dalam file local dengan meng-copy file yang sama.
Pengiriman data pada file system local dapat mengolah file lebih cepat bila dibandingkan dengan pengiriman data dari local file system ke dalam file system yang telah dibuat. Persentase kecepatan transfer data pada file system yang telah dibuat adalah 17,84% bila dibandingkan dengan kecepatan transfer local file system. V. KESIMPULAN DAN SARAN Kesimpulan yang didapat dalam pengerjaan tugas akhir ini adalah: 1. Telah dimplementasikan pengolahan data dengan menggunakan remote procedure call yang mirip dengan NFS pada client dengan server perantara dan menggunakan protocol HTTP untuk mengintegrasikan server perantara dengan beberapa server penyimpanan data. 2. Pengolahan file pada network file system yang telah dibuat berjalan lebih lambat yaitu 17,84% bila dibandingkan dengan pengolahan file pada file system local. Beberapa saran yang dapat dijadikan perbaikan pada Tugas akhir ini adalah. Gambar 27 Tranfer rate Local file
9
1.
2. 3.
Peningakatan algorima pentransferan data pada client, server perantara, dan server penyimpanan data sehingga dapat meningkatkan transfer rate pada proses copy file. Pemberian hak akses pada tiap-tiap user yang menggunakan file system ini. Penambahan perintah Semantic linux yaitu chmod dan chown. DAFTAR PUSTAKA
1.
Greg Ward., dan Anthony Baxter.Python v2.7.2 documentation >> Distributing python modules [internet] 2011 [updated 2011 July 23]. Avalaible from : http://docs.python.org/distutils/index.html
2.
Michael William. Handbook of the Physics Computing Course [internet]. 2002 [cited 2002 December 3]. Avalaible from : http://pentangle.net/python/handbook/ node39.html
3.
Wesley J.Chun. Core Prentice Hall PTR; 2000
4.
Peter J. Braam.The Coda Distributed System; 1998
5.
M. Satyanarayanan.Coda : A Highly Avalaible File System for a Distributed Workstation Environment; 1989
6.
Fuse. Fuse Filesystem in Userspace [internet] 2011 [updated 2011 April 19]. Avalaible from : http://fuse.sourceforge.net/
7.
RPC: Remote Procedure Call Protocol Specification Version 2. Available from : http://tools.ietf.org/html/rfc1057.
8.
NFS: Network File System Protocol Specification. Available from : http://tools.ietf.org/html/rfc1094.
9.
NFS Version 3 Protocol Specification. Available from : http://tools.ietf.org/html/rfc1813.
Python
10. Hypertext Transfer Protocol. http://tools.ietf.org/html/rfc2616.
Programming,
Available
from
:
11. Purwanto Yoyok Sungging. Interface FUSE untuk membangun Integrated Network File System menggunakan FUSE Python; 2009
10