![Page 1: Mars Rover… …Finally By: Rich Heisler December 7, 2006 Distributed Systems 8530 To Dr Schragger Villanova University](https://reader035.vdocuments.mx/reader035/viewer/2022072006/56649f425503460f94c61947/html5/thumbnails/1.jpg)
Mars Rover…Mars Rover………FinallyFinally
By: Rich HeislerBy: Rich HeislerDecember 7, 2006December 7, 2006
Distributed Systems 8530Distributed Systems 8530To Dr SchraggerTo Dr Schragger
Villanova UniversityVillanova University
![Page 2: Mars Rover… …Finally By: Rich Heisler December 7, 2006 Distributed Systems 8530 To Dr Schragger Villanova University](https://reader035.vdocuments.mx/reader035/viewer/2022072006/56649f425503460f94c61947/html5/thumbnails/2.jpg)
HistoryHistory
We dropped an orbiterWe dropped an orbiter Want to simulate the “rescue” of a Want to simulate the “rescue” of a
remote deviceremote device
![Page 3: Mars Rover… …Finally By: Rich Heisler December 7, 2006 Distributed Systems 8530 To Dr Schragger Villanova University](https://reader035.vdocuments.mx/reader035/viewer/2022072006/56649f425503460f94c61947/html5/thumbnails/3.jpg)
IssuesIssues
DistanceDistance It’s sooooo far…It’s sooooo far… TimeTime
Round trip time optimally is ≈ 12 Round trip time optimally is ≈ 12 minutesminutes
6 minutes each way6 minutes each way StateState
![Page 4: Mars Rover… …Finally By: Rich Heisler December 7, 2006 Distributed Systems 8530 To Dr Schragger Villanova University](https://reader035.vdocuments.mx/reader035/viewer/2022072006/56649f425503460f94c61947/html5/thumbnails/4.jpg)
ArchitectureArchitecture
Concept 3-tierConcept 3-tier Changed to 2-tier “Spoke & Wheel”Changed to 2-tier “Spoke & Wheel”
Made more senseMade more sense Roles:Roles:
ManMan MachineMachine EnvironmentEnvironment
![Page 5: Mars Rover… …Finally By: Rich Heisler December 7, 2006 Distributed Systems 8530 To Dr Schragger Villanova University](https://reader035.vdocuments.mx/reader035/viewer/2022072006/56649f425503460f94c61947/html5/thumbnails/5.jpg)
FeaturesFeatures
Pilot Console – Pilot Console – “Man”“Man”
Event / Device Event / Device Console – Console – “Machine”“Machine”
Simulator Server – Simulator Server – “Environment“Environment
![Page 6: Mars Rover… …Finally By: Rich Heisler December 7, 2006 Distributed Systems 8530 To Dr Schragger Villanova University](https://reader035.vdocuments.mx/reader035/viewer/2022072006/56649f425503460f94c61947/html5/thumbnails/6.jpg)
CommunicationsCommunications
Transient Asynchronous Transient Asynchronous CommunicationsCommunications Everyone must be able to respond Everyone must be able to respond
though…though… … … or no data gets updated…or no data gets updated… ……anywhereanywhere
![Page 7: Mars Rover… …Finally By: Rich Heisler December 7, 2006 Distributed Systems 8530 To Dr Schragger Villanova University](https://reader035.vdocuments.mx/reader035/viewer/2022072006/56649f425503460f94c61947/html5/thumbnails/7.jpg)
ConceptsConcepts
TransparenciesTransparencies Replication – mimic of stateReplication – mimic of state Concurrency – look & feel of time delayConcurrency – look & feel of time delay Failure – what happens when…Failure – what happens when… Location – sim uses TCP/IP – as long as Location – sim uses TCP/IP – as long as
I know the address…I know the address…
![Page 8: Mars Rover… …Finally By: Rich Heisler December 7, 2006 Distributed Systems 8530 To Dr Schragger Villanova University](https://reader035.vdocuments.mx/reader035/viewer/2022072006/56649f425503460f94c61947/html5/thumbnails/8.jpg)
ProblemsProblems
To Block or not to BlockTo Block or not to Block Spawned threads vs. .NET GUI updateSpawned threads vs. .NET GUI update Spawned threads (time) vs. .NET mainSpawned threads (time) vs. .NET main
![Page 9: Mars Rover… …Finally By: Rich Heisler December 7, 2006 Distributed Systems 8530 To Dr Schragger Villanova University](https://reader035.vdocuments.mx/reader035/viewer/2022072006/56649f425503460f94c61947/html5/thumbnails/9.jpg)
ResultResult
BlockBlock Block the .NET GUI threadBlock the .NET GUI thread
UpdateDisplayDelegate del = new UpdateDisplayDelegate del = new UpdateDisplayDelegate(processBaseMsg);UpdateDisplayDelegate(processBaseMsg);
this.BeginInvoke(del, new object[] this.BeginInvoke(del, new object[] { szData });{ szData });
Not to BlockNot to Block Had to rip out all time issuesHad to rip out all time issues Capability completely destroyedCapability completely destroyed
![Page 10: Mars Rover… …Finally By: Rich Heisler December 7, 2006 Distributed Systems 8530 To Dr Schragger Villanova University](https://reader035.vdocuments.mx/reader035/viewer/2022072006/56649f425503460f94c61947/html5/thumbnails/10.jpg)
Success?Success?
Sure…Sure… Learned more about the .NET platformLearned more about the .NET platform Ditto C#Ditto C# Protocols are sweet!Protocols are sweet! Common Module a success (Logging, Common Module a success (Logging,
Protocols, & State)Protocols, & State) ……Not reallyNot really
Lost main thrust with Time removalLost main thrust with Time removal
![Page 11: Mars Rover… …Finally By: Rich Heisler December 7, 2006 Distributed Systems 8530 To Dr Schragger Villanova University](https://reader035.vdocuments.mx/reader035/viewer/2022072006/56649f425503460f94c61947/html5/thumbnails/11.jpg)
Do it again?Do it again?
Nah…Nah… ……although…although…
![Page 12: Mars Rover… …Finally By: Rich Heisler December 7, 2006 Distributed Systems 8530 To Dr Schragger Villanova University](https://reader035.vdocuments.mx/reader035/viewer/2022072006/56649f425503460f94c61947/html5/thumbnails/12.jpg)
Future ThoughtsFuture Thoughts
Fix the time thread issueFix the time thread issue Add cross-component interactionsAdd cross-component interactions Fix the socket read buffer…Fix the socket read buffer…
……and pad the data betterand pad the data better Figure out the deprecated IP APIsFigure out the deprecated IP APIs Catalog all clientsCatalog all clients