I suppose this question takes several forms.
1) What do you mean by P2P?
In my experience this is a very misleading term. At a system level it
seems to indicate a desire to avoid the use of servers, presumably to
avoid single point of failure. As a practical matter, most P2P systems
are dependent on servers if only as directories.
At the programming level, P2P simply means that the programmer does not
need to worry about servers. Often as not, this is because the servers
have become part of the presumed infrastructure. We certainly treat
TCP/IP that way, since we rarely ask whether the routers are there. We
just assume they are.
At the user level, P2P often just means that the user does not have to
think about the server. Presumably, the application hides the use of
servers. (And the administration of the servers is so reliable that no
one ever sees the difference: :-) )
2) Given your focus on virtualization, why do you care about P2P?
Ideally, our virtualization of conferencing would be agnostic about
whether we have a server-based implementation or not. So, why raise the
issue?