Cooperative Caching for a Distributed System

number: 
1871
إنجليزية
department: 
Degree: 
Author: 
Wurood Saad Ibraheem Al-Obaidi
Supervisor: 
Dr. Lamia H. Khalid
Dr. Ban N. Al-Kallak
year: 
2007

          Caching is the technique of storing the frequently used data in a fast memory, either at a client or at a server, which is connected to clients via a network. Cooperative Caching seeks to improve network file system performance by coordinating the contents of client caches and allowing requests not satisfied by a client’s local in-memory file cache to be satisfied by the cache of another client.This thesis aims to built and implement a cooperative caching for a distributed system (CCDS), which manages remote and local caches in a Local Area Network (LAN) working under windows operating system. It is developed using Java programming language. The CCDS consists of three components: manager, client, and server. The manager is the controller of the CCDS, which includes locating the required blocks in the local and
global caches and decides from which cache to get the block. The manager controls the whole cooperative caches. Client accesses the blocks stored on the servers. It is the sender of the request to the distributed caches. The client controls local client cache. Server serves the requested clients. It is the receiver of the requests from the distributed caches client. The server controls server cache. Every machine in the LAN contains the CCDS with its three entities. The advantage of CCDS can effectively support the scalability of the cooperative caching system because the communication and the data distribution are based on multicast and unicast routing techniques and support sharing resources of distributed data.