A computer-implemented method for transitioning from an asynchronous communication mode to a synchronous communication mode for accessing a shared object (252, 264, 272), wherein the asynchronous communication mode allows a revision of the shared object while being connected through a physical server, wherein revisions of the shared object by a client device are synchronized with the shared object on the physical server, the synchronous communication mode allows a revision of the shared object while being connected through a peer-to-peer network formed by client devices, revisions to the shared object being instantly replicated to the client devices of the peer-to-peer network, a peer group identifies users who are authorized to access the shared object, and a manifest file (254, 266) associated with the shared object includes a peer group identifier for the peer group where a version of the shared object is stored, the method comprising the steps of: accessing, by a client device, the shared object on a server according to the asynchronous communication mode; identifying, by the client device, a location of the manifest file based on a unique location identifier included in the accessed shared object; retrieving, by the client device, the manifest file from the identified location, wherein the manifest file identifies the locations where any other versions and instances of the shared object are stored; transitioning from the asynchronous communication mode to the synchronous communication mode by: establishing the peer-to-peer network with any other client in the peer group that accesses a version or instance of the shared object identified by the manifest file when said any other client accesses a version or instance of the shared object identified by the manifest file, wherein the client device is automatically connected to other clients that are accessing the shared object; and disconnecting, by the client device, from the server and continuing to access the shared object on the peer-to-peer network. accessing, by a client device, the shared object on a server according to the asynchronous communication mode; identifying, by the client device, a location of the manifest file based on a unique location identifier included in the accessed shared object; retrieving, by the client device, the manifest file from the identified location, wherein the manifest file identifies the locations where any other versions and instances of the shared object are stored; transitioning from the asynchronous communication mode to the synchronous communication mode by: establishing the peer-to-peer network with any other client in the peer group that accesses a version or instance of the shared object identified by the manifest file when said any other client accesses a version or instance of the shared object identified by the manifest file, wherein the client device is automatically connected to other clients that are accessing the shared object; and disconnecting, by the client device, from the server and continuing to access the shared object on the peer-to-peer network. establishing the peer-to-peer network with any other client in the peer group that accesses a version or instance of the shared object identified by the manifest file when said any other client accesses a version or instance of the shared object identified by the manifest file, wherein the client device is automatically connected to other clients that are accessing the shared object; and disconnecting, by the client device, from the server and continuing to access the shared object on the peer-to-peer network.