You are on page 1of 2

SCHOOL OF COMPUTING

UNIVERSITI UTARA MALAYSIA

COURSE CODE : STIJ3064


COURSE : DISTRIBUTED COMPUTING (A202)
ASSIGNMENT : GROUP PROJECT (30%)

1.0 OBJECTIVES
This project aims to expose students to the practical aspect of distributed
system development. Students are expected to apply design principles and
theory of distributed systems to develop a distributed application. Additionally,
this project aims to promote critical thinking, problem solving, and
collaborative learning and project management principles.

2.0 TASKS
Students are required to work in group of TWO (2) to THREE (3) people. Each
group is required to develop a system (web-based or mobile) that uses and
applies some distributed system principles and techniques. The following is a list
of potential project ideas that might be of your interest:
• Openstack - open-source cloud computing platform
(https://www.openstack.org/)
• Tahoe least authority file system - distributed file storage
(https://www.tahoe-lafs.org/trac/tahoe-lafs)
• Distrusted key-value stores (http://www.project-
voldemort.com/voldemort/)
• Git - relatively simple distributed system (https://git-scm.com/)
• BitTorrent clients - it is the classic distributed system, and there are a lot of
approaches and different clients out there (system alike)
• DHT implementations like Open chord, Pastry (Distributed Hash Table)
• Freenet (https://freenetproject.org/)
• A Bitcoin client (https://bitcoin.org/en/)
• Hadoop (https://hadoop.apache.org/)
• Apache ZooKeeper- open-source server which enables highly reliable
distributed coordination (similarities with google chubby lock service)
(http://zookeeper.apache.org/)
• OR create your own project: Clearly you have the freedom to choose
anything you would like to do. If you would like to discuss your idea with me
before the project proposal deadline, feel free to do so.

3.0 DELIVERABLES:
Evaluation of the project comprises the following components:
• Proposal 20% (Ninth week – 20 May 2021): The goal of project proposal
is to make you think hard about what you want to do; choose a specific
application domain, do some preliminary background work; and start
to develop some of the details. The project proposal should include the
following three parts: Overview, including motivation and briefly what
the related works are (find at least 5 papers that describe the current
status, challenges, or requirements); Using ideas from these papers put
on your own Project Idea, which includes as much detail about what
you are actually building; and Project testing, which includes a
description of how you plan to test your work.

1
• Presentation 20%: Please prepare a video presentation describing
about the system and conduct a demo.
• System 40%: The basic functionality of the system must be
demonstrated. The system must be accessible via the Internet (please
upload your system to a free web hosting provider). You can choose
your own preferred scripting language. Any web programming
languages can be used.
• Report (paper) 20%: Please write 4 to 6 pages that explains the concepts
of the system, the interface, the benefits of the systems, and future
recommendation to improve the system. Please submit your paper
through Turnitin (the similarity report must be less than 20%).
Submission of the Report & presentation: Week 14, Thursday, 24/6/2021

You might also like