WeChat:lovexc60
Network Programming (COSC1176/1179) Assignment 2
Figure.1 TCP/IP Model structure Figure.2 Linux structure
Aim
• Investigate Socket Programming applications for better handling concurrent threads
• Present an academic report follow the best practice model
Specification
• This assignment contributes to 35% of final marks, due at 20th June.
• You are required to use the given template to write a report
• You can do as an individual or a group. Maximum 4 members in a group:
o Individual or group of 2 students only need to complete stage 1.
The report must less than 4 pages for stage 1.
o Groups of 3-4 students are required to complete both stage 1 and stage 2
Stage 2 is classified as Appendix in the template.
Stage 1 Task: Write a report to explore Network Programming applications
Your topic may include, but are not limited to:
1. Tickets selling (handling large number of concurrent clients and performance)
2. Car park management (handling thread safety and performance)
Using the best practice “STAR” rule to organise your report. Points to be covered in your report:
• Situation: What technical knowledge or skills you would like to discuss
• Task: Clearly state which application (e.g., above topic 1 or 2) you are investigating
• Action (main body of the report): discussion the relevant technology/protocol in details
o Discuss TCP/IP, concurrency, thread safety, Operating System support, etc
o How the relevant knowledge (delivered in NP) could provide a solution
o Drawing structure diagram and sequence diagram is strongly encouraged
• Result: To demonstrate the performance
• Reference (at least 5) should be included with uniform format.
Note that: the technical details should include how different components interact and collaborate for
achieving the goal (e.g. available low-level computer and network resources for reliable concurrent
thread management). You may discuss using one of the following figures.
2
Stage 2 Task (only 3-4 member teams need to complete this task):
Following the Action in stage 1, to implement the concurrent threads without race condition,
deadlock, and discuss how these are achieved in your implementation.
You can use screenshot to show the functions, and add an appendix (4 pages maximum) to the
report.
If you use Figure 1: Explore the detailed implementation of using TCP and UDP protocols.
If you use Figure 2: Explore how the Kernel functions will be used to support scalability.
Hint and Warm-up:
The main technical part of your report is to handle multithread appropriately in Java Socket
Programming with client-server model.
The overall requirement of your report is self-contained which can be organised by the STAR
structure: Situation Tasks Action Result, plus reference.
To start this assignment, you may investigate:
• An online tickets booking system to handle over 100 concurrent clients (You may
referenced to video in weeks 3-4 folder/Canvas),
• Watching the Multi-Client Chat Server, and
• Car Park management (can be found in Assignment 2/Discussion/Canvas), and
• You are encouraged to analyse the Car Park code to review the details.