INST 346
Technologies, Infrastructure and Applications
Fall 2017
Assignment H2


Protocol Design

This homework is designed to give you experience working with application layer protocol design.

Your task is to design and fully describe Thermostat Application Protocol (TAP) for controlling the temperature of a home heating and cooling thermostat using an Internet connection. TAP must be an application-layer client-server Internet protocol in which your computer is the client and the thermostat is the server. Your protocol must use TCP to make the connection. Your protocol must have two capabilities: (a) read the current temperature (as reported by the thermostat), and (b) set the thermostat's desired temperature.

Start by writing a narrative that describes what messages are exchanged between the client and the server. Just use general descriptions at this point -- you are "storyboarding" the protocol.

Next, design the actual messages. Do so initially with everything fully specified (e.g., with the temperature values filled in). Your narrative description should tell you how many messages you need and what each one does. If you find it doesn't, go back and fix it and then do this step.

Then generate a specification of the messages in which there are blanks to be filled in (e.g., for the temperature, or for the IP address of the thermostat). You can do this using text or using figures (the book contains examples of each).

Finally, draw a diagram with time in the vertical axis, the client's actions on the left and the server's actions on the right, similar to what we have used in class to diagram protocol behavior.

Turn it all in on ELMS as one or more PDF files before class on the date indicated in the schedule.


Doug Oard
Last modified: Tue Sep 12 16:20:03 2017