On Wed, 25 Jul 2001, David Honig wrote:
When "cell phones" get more programmable, and handle text, an interesting "app" could be guerilla-net-like "routing". If everyone's "phone" is a RF repeater/router, its not impossible.
You could probably hack this up now, if you were willing to lose the cell phone functionality of your cell phone. Maybe you could even get by with just replacing the web browser on your cell phone. (I still can't make head or tails out of my phone's browser, but apparently people use them.) cell phones do handle text. In fact people are trying to make a business out of cell phone mailing lists. see www.upoc.com You'd have to add would be some kind of scripting language for forwarding text messages on the phone.
Battery life would probably be the worst impact. A few airline bottles of vodka will keep the fuel cells humming (for the future phone, I mean).
Heh. "One for me, one for my phone." Batch transmissions every hour on the hour might help with this. No reason to be up all the time for sending e-mail. You could also play games in which every phone picks a different minute each hour, then wakes up during that minute for transmission. Your chance of being in the same minute as your destination isn't great, but you could transmit the packet to each of your neighbors in that minute, each of whom tries to relay the packet in different minutes during the next hour. One issue with that, though, is how to stop packets from flying around long after they've been first delivered. A gnutella/freenet-style limit on the number of tries might help. So might announcements of packets received; i.e. a phone says "I've received packet X, so you can drop it." You'd have to be careful about an adversary trying to create packets which live forever (i.e. the hop limit should not live in the packet, unless the packet is signed and these announcements had better have some way of proving they come from the 'intented' sender) (but at the same time, we should avoid any protocol which requires a PKI for phones or even public-key crypto on efficiency and speed grounds; it takes 20 seconds for my phone to negotiate one RSA key exchange). In order to prevent what Anderson calls "sleep deprivation" attacks, you'd also want that the number of minutes the phone is up depends weakly or not at all on parameters under the control of an adversary. like how many packets received during the previous minute up. Random dropping of incoming packets might be a way to get around this, since I'm thinking that every phone broadcasts to every other phone in the same minute anyway. (I keep thinking of _Dayworld_ through all of this, but I don't yet see a good joke or a useful metaphor -- phones are not assigned set minutes for life, unlike in _Dayworld_, so what's a "dayworld breaker"? a phone that continues to relay during the entire hour? that would be a good thing, since it'd speed up packet relay.) I'd be pretty surprised if people haven't already looked at these sorts of schemes and come up with much better ones. Although maybe they haven't been considered with adversaries in mind. Anyone know of references?
Lots of mil apps for fully distributed RF nets, too.
That's where spread-spectrum came from, isn't it? How much is publically known about the toys they already have? -David