Donnerstag, 5. März 2009

CS4282/CS6282 Internet and Distributed Systems Programming

CS4282/CS6282 Internet and Distributed Systems Programming

Assignment 2: Distributed Discussion Forum

Due date: 20/4/2009, 11:30am.

1. Aim and objective:

The objective of this assignment is to develop a distributed Discussion Forum (DDF) which provides
bulletin board service to users. Users can create / view /
reply posts in the system.

The services are provided by a group of collaborative
servers and should be available even some servers are crashed. In general, the system should provide location, failure and replication transparencies to its users.

2. Requirement:
Basic features (40%)
a) A set of identical server works together and provide discussion forum services.

b) User may connect to any of them to create/view/reply posts. The system should provide an integrated and consistent view of all posts stored in the system to any
user.
c) Optionally, a generic name server can be setup and act as the entry point of the system. The naming server should only provide naming service, i.e. provide server address to newly connected client / servers, and its failure should not affect any existing users.

d) For load balancing, each server should manage the post it created and handle all requests related to the post. In other word, posts are not duplicated to all servers. Location transparency should be provided to the user.

3. Enhanced features (30%)
a). Enhance the availability and fault tolerance of the system by mean of replica. Posts may be replicated on different servers so that even the master copy is crashed, the post is still available to public.

b). Enhance the performance of the system by mean of caching. In addition to part 1, the replica could be updated individually and the system will coordinate the updates and make all cached copies in consistence. Inter-process communication cost should be minimized.

4. Other features (10%): Graphics User Interface / Degree of transparency

5. Bonus feature (20%+)
Any meaningful features that can enhance the efficiency of the system

6. Implementation
Programming : Java 2 Development Kit 1.6.x, PC/Unix (Must be compatible environment: with the running environment of tutorial)

7. Team structure: 4 students / group

Suggested Tasks Division:
Student A:
Network Communication Protocol, Name resolution
Student B:
Server Program (Generic, Multi-Threading and networking)
Student C: Server Program
Post management, coordination, caching
Student D: Replication Algorithm
Demonstration: Week 13. During Tutorial


8 Deliverable:

a) Program with GUI for create/view/reply posts Approach/logic used in managing post and coordinating
the replicated copies (for enhanced features only).

b)Text Report with (no limited to) following content :

- Requirements and challenges analysis -System design with Petri Net Model
- Algorithm designs
- Test plan
- Transparencies support
- Comment on the assignment
(Due: 20-Apirl-2009, 11:30am.
Submit to Assignment Collection box outside CS department)

9. Assessments:
The assignment will be assessed by following criteria:
Criteria CILO Assessed by
1 Clearly identify the requirements and challenges of DS Report
the developed system. E.g. the transparencies
provided by the system. (CILO-DS)

2 Design and implement appropriate DC Report,
algorithms/approaches to fulfill the requirements and Program
tackle the challenges in part 1 (CILO – DC).

3 Provide system specification and test plan of the SDT Report
developed system. (CILO-SDT)

4 Provide reliable and efficient implementation of the MT Report, designed system, featured with multithreading and SP Program
socking programming. Provide analysis and
justification on the implementation and possible
alternative.(CILO-MT, CILO SP)



Keine Kommentare: