Osama Al-Haj Hassan
- PhD Student (Completed)
- Computer Science
- UGA
Education
Replication and Caching
- Replication and Caching
- Replication techniques are those techniques that replicate resources in a network. The purpose for such techniques is to enhance resource availability. In this case, when a resource fails for some reason, the replicas are there to be used. So, the service will not go down. This is what we usually call "Server Initiated Replication" because the server is the entity responsible of installing and uninstalling replicas. It is also called "Push Based Replication" because the server pushes replicas to sites. Caching is a type of replication, it is called "Client Initiated Replication" because clients have the responsibility of storing replicas (cache) on their machines and they can delete this cache whenever they want. It is also called "Pull Based Replication" because clients pull replicas from the server to their local machine upon request. Replication and caching increase system availability, decrease load on servers (scalability), decrease communication time between clients and servers and sometimes saves computation time on clients.
- Replication Techniques
- There are many types of replication; some times the resource itself can be replicated. Another way is to replicate pointers to resources. Several challenges can be found here:
- What should be replicated? Resources, pointers to resources or what?
- Where to replicate resources? This affects the delay time, load balancing of nodes in the network.
- What relationship should exist between the original copy of the resource and its replicas?
- Up to now, my work in this area includes proposing a new replication techniques, I call it Message Replication. In Gnutella P2P system, the Time To Live (TTL) used for disseminating messages is usually set to 7. This causes a lot of messages to exist in the network, and that causes overloading problem especially when flooding is used to execute search process. In my work (Message Replication), I'm doing the following:
- I'm using lower TTL values for messages, this will produce less messages in the network.
- I replicate messages in various places in the network (CornerStones). After that, the search process starts in parallel from the CornerStones. I found that my technique generates less number of messages, utilizes the bandwidth, causes less dropped messages in the network and has a good success rate values.
- Another work I did in this area is proposing a multi-objective optimization replication approach for finding more optimal replication decisions. The problem here is: given a set of nodes, which of them should be selected to host replicas such that we get optimal delay, storage and reliability values? In literature, replication systems deal with replication problem as a single objective optimization problem, usually they optimize delay while looking at other factors such as reliability, storage consumption as constraints to be satisfied. This will satisfy constraints but will not pick the best values that can be found for them. My point of view of looking at this problem is to have all the previous parameters as objectives, and as a networking fact, these objective conflict with each other. So, I try to optimize all objectives by looking at the problem as a multi-objective optimization problem. This gives us the advantage of optimizing parameters instead of just keeping them under certain constraints. I use a randomized greedy approach and a well known evolutionary computation approach to optimize previously mentioned network parameters. I measure their ability to find pareto fronts that has un-dominated replication solutions and measure execution time for both of the algorithms.
- There are many types of replication; some times the resource itself can be replicated. Another way is to replicate pointers to resources. Several challenges can be found here:
- Osama Al-Haj Hassan, Lakshmish Ramazwamy; "Message Replication in Unstructured Peer to Peer Network", International Conference on Collaborative Computing: Networking, Applications and Worksharing, NewYork, USA, 2007.

- Osama Al-Haj Hassan, Lakshmish Ramaswamy, John Miller, Khaled Rasheed, E.Rodney Canfield; "Replication in Overlay Networks: A Multi-objective Optimization Approach", International Conference on Collaborative Computing: Networking, Applications and Worksharing, Florida, USA, 2008.
