IP based coherent file system
<p>when i search about IPCFS , I have got the following steps to work with IPCFS. from the link <a href="http://ztest.net/t-ip-based-coherent-file-system-ipcfs" rel="nofollow">here</a>.</p>

<p>It will be more helpful if anyone who give more technical informations ( Java ) related to the steps below.</p>

<p><strong>IP BASED COHERENT FILE SYSTEM (IPCFS)</strong></p>

<p>In the case of a larger computer system inter connected through lan, wan or internet the data/storage manipulation is a major issue. The IPCFS is a flexible filesystem that can be used for creating a larger space which is mountable as a formal filesystem like ext3/NTFS to the linux machine and can perform all the properties of a filesytem.
The IPCFS gets bigger than a normal filesystem that can be build on a hard disk, cdrom or flash memmory, IPCFS is a virtual filesystem using all the storage area allocated to it in the network. The storage area that can be given to the IPCFS can be controlled by using all the memmory area allocated to IPCFS in the network. Over all storage capacity of the IPCFS is high probably in the range of terrabytes.
A central server machine handles the virtual file system. The memmory can be used by any system who got the permission to mount the IPCFS. After monuting this user level file system will perform all the operations similar to a normal filesystem in the full form.
A fixed area can be used for sharing in a system due to security resons. This fixed area to be shared is specified by the administrator since he is the only person responsible for security issues occured in the shared area. </p>

<p>The different modules of the IPCFS are:</p>

<pre><code>1.Client Module
2.Master Server Module
3.Data Server Module
4.Network Module
</code></pre>

<p><strong>1.Client Module</strong></p>

<pre><code>The is module is used to mount the IPCFS. FUSE-'the user level file system' is used for mounting. The FUSE module performs the file system operations that actualy makes the IPCFS a file system. Filesystem in Userspace (FUSE) is a loadable kernel module for Unix-like computer operating systems that lets non-privileged users create their own file systems. This is achieved by running file system code in user space while the FUSE module provides only a "bridge" to the actual kernel interfaces.
</code></pre>

<p><strong>2.Master Server Module</strong></p>

<pre><code>This module creates a virtual view of the mounted IPCFS. All client systems initially interact with the Master Server. All the data servers are connected with Master Server. It decides the routing of the requests from client systems to data servers. Every client systems which mounts the IPCFS feels a large file system has been mounted to it but its actually a virtual collection of data from data servers.
</code></pre>

<p><strong>3.Data Server Module</strong></p>

<pre><code>The Data Servers holds the actual/physical data collection. Fixed areas in the data servers are shared with this module. The actual file system operations are happening in this module. Overall output is visible only in the mounted systems. The normal file systems like EXT3, EXT2 etc are used in data servers. This file system is used to mount as the IPCFS in client systems.
</code></pre>

<p><strong>4.Network Module</strong></p>

<pre><code>TCP sockets are the data carriers in IPCFS. Since it is distributed over network data trasfer between the systems must be reliable and fast. Only TCP sockets can provide these features perfectly. Each client systems are inter connected with the master server initialy for routing and then with data servers for data transfer. Data servers are also con
</code></pre>

<p><strong>Software Requirement</strong></p>

<pre><code>FUSE 2.6
Linux kernel 2.6
</code></pre>

<p><strong>Tools</strong></p>

<pre><code>C
GCC compiler
GDB Debugger
</code></pre>

<p><strong>Hardware</strong></p>

<pre><code>Intel p4 processor, 128 RAM, LAN with 100mbps 
</code></pre>

<p>Thanks in advance.</p>
