Shared Networked Objects and Windows

Computer Supported Collaborative Working is becoming a commonplace facility. The combination of shared applications with audio and video conferencing makes a very powerful tool. There is a great deal of work currently going on in the areas of network and workstation support for video and audio. In the past there has been some work on shared applications. This falls into two camps:
  1. Replicating the application, typically through rebuilding the application so that it shares its persistent data through a shared file system. Of course, the main problem with this is it assumes that
  2. Replicating the view of the application, typically through a shared window system.
These two approaches both require a coordination facility that determines which of the many concurrent users has control of change or input, whilst all the others see the same output. This is more easily achieved for the latter with the shared window approach. this has one major advantage over the former approach which is that users may use any application they are familiar with that can run under the particular window system. However, there is one serious drawback to sharing a view of a modern graphic user interface application: The cost of replicating the output can scale poorly. It has been achieved either through an intermediate agent (e.g. an X bridge) or by having the application treat n displays as 1 by replicating all output. In the former case, the load through the X bridge is excessive as soon as there are more than a very small number of participants. In the latter, the network traffic load is excessve. Modern network services include multicast where a packet destined for more than one destination can be optimally delivered by the network to only those segments/links that contain members of a multicast group. It is clear that we could combine this with a shared window system to minimise the traffic, thus countering the problems mentioned above.