KIVFS - Distributed file System

Wireless Sensor Networks


KIVFS Architecture

KIVFS consists of several modules. These modules are: Authorization module, Synchronization module, VFS module, Database module, and File system module. Individual modules are briefly described below.

  • Authorization module. The server entry point is the proxy module. This module ensures authorization and secure communication with the client
  • Synchronization module. This is a crucial part of the whole system. Several clients can access the system via several nodes. Generally, different delays occur in delivering the messages. The KIVFS system uses Lamportís logical clocks for synchronization.
  • VFS module. This module hides the technology used for data and metadata storing. Based on the request, the module determines whether it is aimed at the metadata, or is aimed at the file access. Then, the request is sent to the DB module or to the File System module.
  • Database module. This module serves for communication with the database. The database stores metadata, the list of authorized users, and the client request queue. Metadata contain all information about files, such as names, the location in the directory structure, ACL information, size, and the physical location of the file.
  • File System module. This module serves for storing file content on physical device like hard disks. It is utilized to work with the content of the files that the user works with.

Dynamic Requests Routing

The goal of dynamic routing in distributed file system is to find a server which has smallest latency. This site may not contain all the required data. Data that are not on the selected server are requested from another server using fast lines interconnecting servers. From the client's point of view, the server will play the role of a proxy data server. As the computer network is heterogeneous, it is impossible to use the routing protocols RIP or OSPF to find the most suitable path for data transmission. Nevertheless, we can use the theory of routing tables and, similar to OSPF, convert the problem of finding the most favorable path into finding the shortest path in an oriented graph.

Multi-Master On-line Data Replication

KIVFS supports multi-master online replications. Data are recorded on the most suitable server which is selected using the routing table. Before the start of writing the data, the file is locked for writing with the help of metadata on all servers. Immediately after the transmission of data to the server is completed, the metadata file revision number is increased, followed by replication to all other servers which contain the file replicas according to the metadata, in parallel.

Caching Policies

Mainly for mobile clients, two caching policies (LFU-SS and LRFU-SS) were proposed. These policies attempt to overcome others policies in saved network and cache read hit ratio indicators by using additional statistics from the server. LFU-SS (LFU with server statistics) is an algorithm based on LFU. Statistics are used only for initialization of the hit counter. LRFU-SS is a hybrid caching policy. It uses combination of LRU and LFU-SS for replacement decision. Brief description of these algorithms can be found here (only in Czech). Detailed description can be found in full text of papers in Publications section.

Consistency Control

For maintaining cache consistency, three algorithms were proposed. The first algorithm guaranties near strong consistency for continuously connected users by verifying the version of the file. The second (MMWP) and third (MMWP batch) algorithms provide weak consistency. They verify the consistency of cached files periodically. The period is based on number of updates made to the file lately. The number of verification messages can be lowered by using batch verification. This algorithm also saves energy thus it may be used in mobile network environment. Brief description of these algorithms can be found here (only in Czech). Detailed description can be found in full text of papers in Publications section.

Wireless Sensor Networks

Energy aware routing in mobile wireless sensor networks

Energy conservation is the most crucial problem for wireless sensor networks because they are meant to run for several months and even years only on a battery power. Optimal routing algorithms will spread the processor and radio transmitter consumption uniformly across the network so it will ensure that some nodes will not be depleted prematurely. Many routing algorithms were already presented for static WSNs where all nodes do not change its position. Introducing mobile nodes into such networks represents new challenges.