Vous êtes sur la page 1sur 4

ASIA PACIFIC UNIVERSITY COLLEGE OF TECHNOLOGY AND

INNOVATION
Distributed Computer Systems (DCS)
Individual Assignment
Intake
Lecturer
Email ID
Date Due

:
: David Tan
: davidt@apiit.edu.my
:

LEARNING OUTCOME
Give expert advise on and contribute to the development of distributed applications.
Discuss projected future developments in distributed system technology and standards.
Utilise appropriate language and system facilities to develop distributed and faulttolerant applications.
Choose any One of the following questions:
Question 1
You are required to implement a very simple FTP server and client.
The server (applies to both TCP sockets and RMI) should take the list of available files as
command-line arguments.
For example:
java tcp.FileServer graphics.jpg sample.doc DCS.txt
or:
java rmi.FileServer graphics.jpg sample.doc DCS.txt
The client should take the server address and port as command-line arguments.
For example:
java tcp.FileClient 127.0.0.1 5115
or:
java rmi.FileClient mycomputer.ucti.dcs.lect 5115
Then, the client should wait for user input from STDIN, and should support the following
three commands:

dir -- retrieves the list of files offered, and prints them on the screen

get <filename> -- retrieves the file with the given filename

bye -- closes the communication with the server and exits

Any other input should be ignored (not exiting!) with a simple syntax error message
printed on the screen.

Module: DCS

Asia Pacific University College of Technology and Innovation

Page 1 of 4

Socket interface:
For the TCP sockets implementation, your client should connect to the server, and send it
a String (use ObjectInputStream and ObjectOutputStream) containing one of the
following commands, and expecting the respective responses from the server:

dir -- The server sends back a String[] containing the filenames of available files

blocks filename (for instance: blocks graphics.jpg) -- The server sends back an
integer (use ObjectOutputStream.writeInt()) denoting the number of 1024-byte
blocks in that file. For instance, if a file has 5000 bytes, it has 5 blocks (4 blocks
of 1024 bytes and a final block of 904 bytes)

get filename block (for instance: get graphics.jpg 4) -- The server sends back a
1024 byte long block of the file. The last block of the file may have less than 1024
bytes.

RMI interface:
For the RMI implementation, your server should support the following simple API:

String[] dir() -- returns an array of String containing the filenames of all available
files

int blocks(String filename) -- returns the number of blocks that the given file has

byte[] getBlock(filename, blockNumber) -- returns a 1024-byte-long block of the


file. The last block of the file may have less than 1024 bytes.

Assessment and deliverables:


Following is the grading criteria for the required report:
Programs
85%
- Program correctness
70%
- Reliability of the program
10%
- Readability of the program 5%
Documentation
10%
- Program user guide
5%
- Inline comments
5%
Presentation
5%
- Clarity of explanation
2%
- Question and Answer
3%
Note: Produce the hardcopy of the above report and enclose a softcopy of the report
together with the program source code in a secondary storage media.
Resources:
TCP sockets: http://java.sun.com/docs/books/tutorial/networking/sockets/index.html
RMI: http://java.sun.com/j2se/1.3/docs/guide/rmi/getstart.doc.html
Question 2
Conduct a survey of software tools that support the development of distributed,
client/server applications. Group them by category, purpose, operating system. Discuss &
summarise their main features, methodologies/standards supported, strengths, and
Module: DCS

Asia Pacific University College of Technology and Innovation

Page 2 of 4

limitations/dependencies. Attach brochures, reference data if available. Quote source of


information for products or opinions of other authors.
Assessment and deliverables:
Following is the grading criteria for the required report:
Introduction
15%
-Topic of research
7%
-Scope and Assumptions
8%
Content body
70%
-Description of the different Software tools for developing distributed, client/server
application based on the three criteria mentioned above.
10%
-For each of the three criteria, focus on the following areas of research:
- Main features
21%
- Methodologies/standard supported
21%
- Strengths
9%
- Limitations/dependencies
9%
Conclusion
5%
- Summary of the learning outcome for research conducted
Presentation
- Clarity of explanation
- Question and Answer

5%
2%
3%

References
- Consistent citation of report contents using Harvard convention
- Relevant and proper approach used for references

5%
3%
2%

ASSIGNMENT REQUIREMENTS
1. You are required to work individually.
2. As part of project management, you are required to develop a Gantt chart (project
plan) that indicates clearly the activities required in order for the project to be a
success.
3. The report has to be well presented and should be typed. Submission of reports that
are unprofessional in its outlook (dirty, disorganised, inconsistent look, varying
coloured paper and size) will not fair well when marks are allocated.
4. Ensure that the report is printed on standard A4 (210 X 297 mm) sized paper. Paper
weight of 80 grams and above is highly recommended.

5. The report should have a one (1) margin all around the page as illustrated below:

Module: DCS

Asia Pacific University College of Technology and Innovation

Page 3 of 4

1 inch

1 inch

1 inch

1 inch

1 inch

1 inch

The Typed Text

1 inch

1 inch

6. Every report must have a front cover. A transparent plastic sheet can be placed in front
of the report to protect the front cover. The front cover should have the following
details:a) Student name.
b) Intake code.
c) Subject.
d) Project Title.
e) Date Assigned (the date the report was handed out).
f) Date Completed (the date the report is due to be handed in).
7. Plagiarism is a serious offence and will automatically be awarded zero (0) marks.
8. All information, figures

and

diagrams obtained from external sources must be

referenced using the Harvard referencing system accordingly.


*IMPORTANT*
You have to hand in your assignment hardcopy on time with the Course Work Submission
and Feed Back Form.

Module: DCS

Asia Pacific University College of Technology and Innovation

Page 4 of 4

Vous aimerez peut-être aussi