Video 10 · FrogNet Memory
Assumes: video 09
One value, no history, always somewhere
A note on the nameThis video and the one before it say "FrogNet Memory" throughout, because that is what it was called when they were recorded. The build manual has since retired the term: the thing you write to is FrogNet Memory, and tuple space is the computational model underneath it. Same mechanism, settled name.
The origin is the ARINC 429 bus, from engineering flight simulation at Boeing — autopilot and autothrottle work, where sensor data from the rest of the aircraft simply arrived. You addressed the data on the bus and used it. No worry about who produced it, or where, or when. That is the property FrogNet Memory was built to have.
Two things define it. It is transient — it lives on whichever node best satisfies the requirements at the time, one node or fifty, and it moves by itself when networks merge. And it holds one value: the current one, whatever was written last. No history, no records.
Then the edge. Stale data is possible — split off, write locally, rejoin, split again, and you are reading what you left. So the envelope carries a last-written time and it is the consumer’s job to decide whether that is stale enough to matter. The database does no consistency checking, and the video says plainly why: across a wide-area network it is extremely hard, and there was no reason to do it.
"I didn’t realise it at the time, but I invented a network addressable shared memory."
— FrogNet Memory, 30 Jul
Ends onThe three indices being arbitrary — for a program, the program name, the variable, and the user — and one line about what got built with it: “Tell you what we did. We made the Communicator.”