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:
-
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
-
you have source for the application
-
that the users wish to use this particular application.
-
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.