November 2010

Dining Philosophers

I’m on a lot of conference calls lately. Sometimes the participants don’t all know each other, so we’d like to start by going around the table introducing ourselves.

The only problem is, there is no table.

Furthermore, there’s often no person who has a list of all the current participants, and even if someone did, people might dial in and drop off at random times.

I couldn’t think of any algorithm to solve this, at least not one that humans might be able to reliably run. But then I thought, why should the humans solve it? The conferencing system itself knows who’s dialed in! What if one could issue a command that would cause the central server to go around all its connections, asking each person to introduce themselves? Each participant would hear the system’s voice say “Please introduce yourself, then press # when done.” in their ear (and their ear only) when it was their turn. The central server could automatically adjust for newcomers and dropoffs while the process is under way, and it would know when everyone available has introduced themselves. While it’s telling a given person that it’s their turn, it could even tell all the other people their position in line, so they’d be prepared when it comes around to them.

Does anyone know a conferencing service that does this?

(I’m posting this here partly to create prior art. Whoever implements this first will have a temporary advantage, but we don’t want them turning it into a permanent advantage by patenting the technique. Ideas are cheap — see, I’m giving this one away for free.)