1. A method, comprising: receiving, by a first computing device, a first triggering event; responding to the first triggering event, by the first computing device, by connecting to temporary storage in a routing system, when the first computing device is disconnected from the routing system; receiving, by the first computing device from the temporary storage, a synchronization message relating to a workspace element, said synchronization message having been transferred to the temporary storage in response to an asynchronously triggering second device trigger of a second computing device, said synchronization message including a set of one or more version identifiers and data indicative of a modification to the workspace element; comparing, by the first computing device, said set of one or more version identifiers with a further set of one or more version identifiers relating to said workspace element, said further set of version identifiers being stored at said first computing device; on the basis of the comparison, performing a first synchronization process or a second synchronization process, the first synchronization process including: synchronizing, at the first computing device, a locally stored copy of said workspace element based on said modification data contained in said synchronization message, the second synchronization process including: transmitting to the second computing device a recovery request message, receiving from the second computing device a set of one or more recovery messages relating to synchronization of a copy of said workspace element stored locally at the second computing device, and processing said set of one or more recovery messages at the first computing device to re-synchronize the copy of said workspace element stored locally at the first computing device.