Group formation in P2P networks
But next-generation P2P networks must enable users to form groups according to the social rules inherent in human society. Let's use school kids as an example. My daughter takes the bus to and from school each day, but there are different children on the bus in the morning versus the afternoon (don't ask me why). In the morning, my daughter sits with her friends who congregate in the back of the bus. In the afternoon, she sits with an afternoon-only friend in the front of the bus. Life is good.
Yesterday, we were told that children on the bus must have assigned seats. They must sit in the same seat in the morning and the afternoon (if they take the same bus to and from school). This threw my daughter's world into disarray. Clearly, if there are different children on the bus in the morning and afternoon, the bus driver will need two separate seating charts. Doesn't matter, rules are rules (it's allegedly a state law). Never mind that it made no sense or that the driver took 2 months to enforce the rule. So we'll be driving our daughter to school in the morning and letting her sit where she wants in the afternoon. We're too lazy to fight the institutional stupidity because we are moving in a few weeks.
So what are the lessons for P2P networks?
First of all, you shouldn't change the group-forming rules mid stream if there is a risk of alienating your users. (Phone companies learned that customers would rather dial 10-digit numbers than have their area code changed every time the phone company ran out of numbers).
Secondly, if software doesn't mesh with the way people operate in the real world, they simply won't use it.
Thirdly, human peer groups form along very complicated criteria not reflected in most computer architectures. My daughter had a preference for a specific peer and fell back to other peers only when the first peer was unavailable.
Lastly, human peers are not interchangeable. If I want to talk to a peer who is unavailable, I might prefer to wait for that peer to become available instead of talking to someone else. So whereas in a pure computational or file-sharing P2P group, I'll settle for the most readily available resource, in a communicative peer group, I need a proxy to buffer the conversation if my target peer is not immediately available.
The winners in next-generation P2P applications will be those that reflect social networks, such as email and IM already do. However, pure peer-to-peer architectures in which no server is available will be unable to handle the asynchronous nature of certain peer communication.
### Get your Daily Bruce! ###
Bruce A. Epstein is the author of Director in a Nutshell and Lingo in a Nutshell, the coauthor of Dreamweaver in a Nutshell and the editor of ActionScript: The Definitive Guide.
Comments on this weblog
1 to 1 of 1
1 to 1 of 1
Return to weblogs.oreilly.com.