This is an incredibly interesting topic. If you haven't had the chance to take a networking course, you'd probably really enjoy it.
Anyway... It would seem like the number of nodes in the network would be prohibitive. The idea behind most routing algorithms is to lower the number of hops from the current node to the destination.
The only trouble is that there is absolutely no way to know if you're getting closer to that PDA halfway around the world or farther away. My guess would be that GPS would help tremendously in order to 'score' a routing algorithm. It's not perfect, but:
a) If you don't know whether a certain PDA is at the North Pole, or the South Pole, or Australia even, you have to send the packet to both places, and hope that it gets there.
b) with 100million nodes in the network, in order to reliably reach any particular node, you'd need to know where it is. Meaning that your node-cache table would be really really big.
Take a look at the Gnutella protocol for an example of this: Gnutella Protocol ... Besides all the buzz about mp3's and file-sharing capabilities of gnutella, it's still really interesting to read the protocol specification.
[ rate all comments , for great justice | sell.com ]