Shared Workspace systems can include those that support chat rooms, shared whiteboards, video conferencing, etc. The main capabilities of such systems include:
Semi-centralised: Server Node
Communication in real time is a crucial aspect for most shared workspace applications. The Real Time Connection Monitor layer is responsible for acting upon information obtained from the Awareness Monitor, Repository Manager and Check in/out data layers to keep shared workspaces synchronised. Once any data or request has passed through the P2P Network Layer and is decomposed by the Message Resolver, it may be passed through the Real Time Connection Monitor layer if there are time constraints attached to it (i.e. a global update of a workspace, video conferencing may be in use or streaming of some form of media). The Real Time Connection Monitor could then make a decision to attach a high priority to the data/request if needs be.
The server node within shared workspace systems would typically create and manage workspaces, and ensure that all the relevant parties are kept up to date.

Figure 1 - Shared Workspace Server Architecture
Server peer Layers
Semi-centralised: Client Node
As with the server node it is the Real Time
Connection Monitor that is liable to be the crucial component for the client.
Aside from this, the client architecture will operate in a similar way to the
generic client discussed previously, liasing with the server for updates from
relevant shared workspaces.

Figure 2 - Shared Workspace Client Architecture
Client peer Layers
Decentralised Node
Achieving a truly decentralised shared workspace system is particularly difficult due to the fact that the workspace itself is going to need to be managed and achieving this in a decentralised manner is unlikely to be a simple task. One possible solution is to allow any peer on the network to create and manage a shared workspace. This, in essence, means that each peer can effectively take on a role as a server within the network (handling authentication, QoS issues, etc). An architecture for such a node would be similar to that for a server node (described above), but also including the requisite mechanisms required for decentralised systems (e.g. publication, discovery and message routing).

Figure 3 – Shared
Workspace Decentralised Architecture
Decentralised peer Layers