2.0 Updates:
  1. 2023-04-21: Major revisions for clarity

Network Gossip Calculations Checklist


Refer to Checklist Instructions as needed.

Change "No" to "Yes" as you complete the tasks:

Task Complete?
--------------- ADMINISTRATION -----------------
[ENTER YOUR NAME HERE] .
I understand that making false claims on this checklist is an academic integrity violation. No
Except for the ColorServer code, and the helper code for this assignment, or my own code from a previous assignment, I have not copied any other Java source code for this assignment. No
Academic Integrity quiz completed with perfect score? (Required before assignments can be graded for credit.) No
<>
My code is compatible with the version of Java required by this course. No
Included the required full Header Information in my Java file? No
Removed all package statements from my .java source code. No
Saved THIS file in plain-text HTML format, and viewed it in a browser to check the appearance? No
Copied my completed and compiling Gossip.java file to Gossip.java.txt and submitted the .txt version to D2L? No
Will have submitted ChecklistGossip.html? (This file). No
Downloaded my own Gossip.java.txt file submission from D2L, renamed it to Gossip.java and checked that it still compiles and runs? RECOMMENDED. No
<>
GOSSIP NETWORK
.
Partial Credit section one
Gossip.java fully compiles? No
Runs and accepts input from any of the consoles? No
Starts up with an argument and announces itself as the appropriately named node (Node0—Node9)? No
Implemented "t" to display (tell us) the list of commands available, one to a line. LOCAL NODE. No
Communicates exclusively via UDP. No
Implemented "l" to display the local values on the console of each node. ALL NODES. No
Nodes can each be started and stopped at will, in any order, without affecting the rest of the gossip network. No
Posted at least two interesting comments, questions or responses in the Gossip discussion forum on D2L and also included them as Java comments at the bottom of my source code. No
I created a GossipLog.txt file using copy and paste from several consoles and included it as Java comments at the bottom of my source code. No
.
Partial Credit section two
I have at least two server threads of execution so that I can listen for Gossip connections and handle them, but also am always able to listen for console input on all my consoles at the same time. No
Implemented "p" Ping to check if I have a neighbor one node number higher and one node number lower. (Will probably require sending manual UDP acknowledgments.) LOCAL NODE No
Implemented "m" to display the minimum value and the maximum value on the consoles of ALL NODES, along with the name of the nodes where those values reside. No
Implemented "a" to calculate the average of all the values in the [sub-]network and displayed it at ALL NODES, preceded by Local Node ID and Local Node Value). No
Implemented "z" to calculate the current [sub-]network size of the network. Display on ALL consoles. No
Implemented "v" to create new random local values throughout the network at each node. Display the old value and the new value on the console of ALL NODES. No
.
Partial Credit section three
Implemented "d" to delete the current node. Fully stop the process. Be sure to gracefully close the socket [this is non-trivial; see HostServer], so that we can restart a node later at the same node ID and port number. May need to send a "wakeup" message to the same node so you can stop the server loop. No
Implemented "k" to Kill the entire network. No
Implemented "y" to display the number of cycles since the beginning of time on every node in the network. Note that this may not be the same on all consoles if two sub-networks have been joined. No
Implemented "n" such that N is an integer that sets the number of gossip messages that can be sent to the same neighbor during any one cycle. No
Extra command of your own choosing that you implement (not required). ETC. Describe here one to a line. No
. .

Comments:

Comment one if needed

Comment two if needed

etc.