Back when I was doing the next-generation (now many generations old) Multi-User Technology (MUTech) for Holodesk I thought it was really cool that there was no "server", it was all just peers where any given object could be hosted on any machine, and the system would let you set up (potentially one-way) proxies on any number of machines. You could pass around references to objects living on a server and users could call methods/send messages to the objects they were given.
Holodesk is long forgotten these days, let alone the still-born NG MuTech.
Reminded of it, however, as I rewrote a bit of Twisted code to use Perspective Broker (twisted.spread.pb). You can have your "client" code pass an object reference to the server which allows the server to call whatever methods the object has defined. The client code is *not* listening on a port for incoming connections, but it can, effectively, be a server for the object it has passed to the other machine.
Anyway, nothing deep or surprising, just thought it was cool.