The notion of impedance matching can be found in other areas, in particular in VR systems, although the mechanism adopted is not explicitly called impedance matching and it has been employed to achieve different purposes. However, it does satisfy a similar functionality.
The collaborative model of awareness based on the spatial interaction of objects (Benford and Fahlén, 1993) lies on the concepts of aura, nimbus and focus. Aura is a volume in space that delimits the presence of a particular object. Focus represents the objects in space that a user is interested in while nimbus represents the space controlled by those objects. The quality of information transmitted is said to depend on the level of awareness a user has of an object and this is negotiated through focus and nimbus. The role of the focus and nimbus are fairly similar to that of the focus objects (Section 7.3.4). The closer the focus and nimbus, the greater is the level of awareness, hence the higher is the quality of information transmitted.
This model has been augmented with third party objects (Benford et al., 1997), which use aggregation to achieve a form of volume impedance in collaborative virtual environments, whereby a reduced level of detail is presented to the users without sacrificing the quality of the information. In order to manage the volume of data in such a complex environment, objects are grouped together and aggregate views of those objects are provided, which expand further when they are selected (Ingram et al., 1996). This technique is also used in the HIBROWSE interface (Ellis et al., 1994) to provide users with an overview of the contents of the database while searching and browsing large data sets.
The implementation on the HIVE CVE system (Greenhalgh et al., 2000) uses full fidelity information but it seems likely that scaleable implementation will require pace management.
7.7 Summary
The discussion in this chapter has centred on the analytic framework for impedance matching − the matching of the required and supplied of update events. The notification server, through its central mediating position, was found to be ideally placed to support impedance matching, by adjusting the frequency of notification to meet the users pace of interaction. Users can thus see the changes in the objects they are highly interested in almost instantly, while still being informed about changes to the peripheral objects, albeit at a lower pace. Impedance matching therefore enhances both goal-directed feedthrough and awareness, thus exploiting the limited availability of computer resources and network bandwidth.
In order to enable the notification server to provide effective impedance matching that satisfies each client’s requirements, the clients should inform the notification server of their required pace interest on particular objects via some form of protocol. The communication between the clients and the notification server does not require the latter to have any knowledge of the application semantics; hence the notification server can still remain as a separate entity.
The issues surrounding pace impedance and volume impedance were then examined. Pace impedance can be achieved by using the notification server as an intermediary to match the required pace of updates of the passive client (user client who views the changes) with the supplied rate of the active clients (users’ client who perform changes). Volume impedance can be largely met by having different forms of application-specific, low-granularity update events. However, the issues surrounding volume impedance have not been dealt with in much detail in this chapter. Pace impedance policies were analysed further by investigating the different triggers for regulating pace and showing their effects on the flow of events through the use of time-space diagrams.
Some implementation issues related to impedance matching were also considered. A few scenarios were then explored to assess the feasibility of impedance matching within a collaborative environment. The example systems facilitated communication over different timescales, thus producing different rates of feedthrough. Impedance matching was found to improve the temporal behaviour especially in situations where a large number of updates were rapidly generated. Finally, some outstanding issues related to impedance matching were discussed.
Impedance matching controls the pace of feedthrough to the clients by delaying the updates events. This may affect the order in which the events are propagated to the clients. The incorrect ordering of events will not have a big impact if there is no causality or dependency between them. But in a chat system for instance, users can be easily confused if the messages exchanged reach them in the wrong order. Furthermore, the way in which people interact socially with one another can also influence the order of the messages. Some
systems avoid getting things in the wrong order by manipulating the semantics and interconnections between the events, at the expense of some complex algorithms.
Additional issues such as the priority of notification, the notification of non-events and the optimisation of notification delivery were considered and their impact on the impedance matching framework, in particular the way in which they may affect ordering of events was discussed.
In order to investigate the actual behaviour of a notification server as an impedance matcher, an experimental notification server called Getting-to-Know (GtK) has been constructed, which will be described in the next chapter. GtK demonstrates most of the design principles discussed in this chapter, but the provision of impedance matching is limited to pace impedance matching based on the ‘fixed time interval’ and ‘volume of messages’ triggers.