Design and implement a communication protocol for a network application. The
network application enables a group of nodes (end systems) to communicate over TCP/IP networks.
The nodes in this network application are divided into two groups, namely job-seeker and job-creator.
For simplicity, assume that the node during any active communication scenario could only play one
role (job-seeker or job-creator). Also, the job-seeker nodes do not connect directly to each others.
Each job-seeker connects to one job-creator at a time, even if there are more than one job-creator.
The job-seeker offers his services (e.g., computational resources) to the job-creator. The job-creator
depends on the availability of a job (e.g. computational task). It could assign the job immediately to
the job-seeker or take a note of the job-seeker availability to give it a job when a job becomes available.
There is a predefined set of job-types that the job-creator could assign to the seekers. Depend on the
job size, the creator could give the same job to multiple job-seekers. After the job is assigned to the
seeker, the connection could be maintained or terminated depending on the job. When the seeker
completed the job, it reports the job status and any result to the job creator. The creator could assign
multiple jobs to the job-seeker, but one job at a time. The job seeker could accept/reject a job. The
creator or the seeker could choose to terminate the connection at any time.
Q1) Design a network application protocol for this application and justify your design decision. In
your protocol design, you should address the following. [35 points]
- The communication patterns of the network application.
- Define the protocol design goals.
- Define the message format, structure and semantics
- Design the communication rules.
Q2) Argue the need for a new application layer protocol for this network application instead of using
existing standard protocols (e.g. HTTP, SMTP, WebSocket, etc.) [10 points]
Q3) Provide the implication source code of your network application protocol with sufficient test cases
based on the design goals, message philosophy
Sample Solution
The post A communication protocol for a network application. appeared first on ACED ESSAYS.