2/20/2002 08:57:00 PM
Ping/Pong Scheme
The Heart Beat Process will keep a table of all the main computers to which it will send a ping at the first cycle.
Once it has sent a ping it will check if it has received a response on the next cycle, if it has received a response
it will send another ping to that computer. For the computer which it has not yet received a response it will check to
see if the maxium number of cycles of wait time has passed. If it has, it will sever connections with that computer
and invoke the fault tolerance sw to start the redundancy procedure. Otherwise, it will skip to the next cycle.
Refactoring of the kernel
The kernel, for our intents and purposes, is basically an object that encapsulates the core functionality of the task given to a particular computer. Given that the core functionality of any given computer in our case is executed either when a message arrives or when there is spare time in between connection polling, we can nicely factor our the code so that the kernel object is the one that actually carries out the tasks, and not the embodying Server. This refactoring also enables us to easily run a backup functioality of any particular computer from within any other Experiment computer.
Random Ideas
- we should flush the formatted data received at the Ground Computer to a text file and open an extra xterm for the ground computer which basically tails that data. That way we can free up the xterm for the Ground Computer to be able to receive user input.
Demo script
- all computer gets instantiated
- visual feedback on screen that each of the computer is ready
- ground computer sends experiment on messages for all the experiment computers to the command computer
- visual feedback on each experiment computer that each experiment computer has now been turned on
- experiment computers start sending floods of data to the data computer which then forwards formatted data to the Ground Computer.
- the xterm which tails the data file should give visual feedback of the formatted data
- ground computer sends attitude change message to the command computer
- visual feedback on the attitude computer acknowledging attitude change
- kill the Data Computer
- visual feedback on the Fault Tolerance Sw that it noticed Data Computer's death
- visual feeback on Fault Tolerance Sw which Experiment Computer it decided to invoke redundancy measures
- visual feedback on the chosen Experiment computer that it assumes responsibility of Data Computer
- The Data Computer re-establishes connection with the Ground Computer and all of the Experiment Computers
- Kill the Attitude Computer
- visual feedback on the Fault Tolerance Sw that it noticed Attitude Computer's death
- visual feeback on Fault Tolerance Sw which Experiment Computer it decided to invoke redundancy measures
- visual feedback on the chosen Experiment computer that it assumes responsibility of Attitude Computer
- The Command Computer re-establishes connection with the backup Attitude Computer
- Kill the Command Computer
- visual feedback on the Fault Tolerance Sw that it noticed Command Computer's death
- visual feeback on Fault Tolerance Sw which Experiment Computer it decided to invoke redundancy measures
- visual feedback on the chosen Experiment computer that it assumes responsibility of Command Computer
- The backup Command Computer now re-establishes connections to all the experiment computers, and the attitude computer
- Professor Tomayko buys us something nicer than Pizza, maybe? It's all about the food, babyeeeee!
posted by dJsLiM | Link | Edit
2/18/2002 02:07:00 PM
I think I was trying to help Sarah out, but may have ended up being too much of a back seat driver . =( I found myself constantly reminding myself to not jump ahead and look far ahead rather than focusing on stuff Sarah should be thinking about. Sorry about that if you felt I was being too pushy. ;) However, we did get everything that we watned to get DONE done. As Sarah said we didn't get started on the stuff we thought we might be able to get started, so I think the main things left to do are:
- complete the fault tolerance related stuff (heartbeat, recovery of kernels, reestablising of connections)
- formatting the data being sent around to be displayed more nicely on screen
- giving the ground computer the ability to take user input so that it can send attitude change messages and experiment on/off messages
We'll talk more in detail at this week's meeting.
posted by dJsLiM | Link | Edit
2/18/2002 01:55:00 PM
Statistics thus far:
Number of objects:
1 Command Computer
1 Data Computer
2 Experiment Computers
1 Ground Computer
1 Attitude Computer
2 Experiments (1 per Experiment Computer)
numerous Coordinate, Message and Data objects are created dynamically
Number of defects:
5 defects found
NUmber of lines of code (
including comments)
1224
The demo went well, and Prof. Tomayko confirmed that using random numbers as Experiment results is perfectly acceptable. :)
posted by dJsLiM | Link | Edit