Title: Project Awareness
1Awareness and Architecture of Groupware
Applications
- Project Awareness
- WYSIWIS
- Gaze Awareness
2Project Awareness
- Project Awareness Users informed of important
developments that affect their efforts - To achchieve this users must be able to publish,
subscribe to and monitor events relavent to their
work on the project.
3Multi-User Editors - WYSIWIS Awareness
- Desirable Features - 1
- Collaboration Awareness
- awareness of other active and passive
participants - facilitate view sharing
- awareness of others activities
- communication to facilitate work and avoid
conflict - Fault Tolerance and Good response Time
- smooth running as people leave and join
- interactive response
- real-time propagation of updates
4Multi-User Editors
- Desirable Features - 2
- Concurrency Control
- maintain consistency during parallel editing
- minimise the impact of network latency on
response times - Multi-user Undo
- separate undo stacks per individual
- undo for group edits
- Usable as a Single user editor
- Rich Document structures to serve as a medium
for communication - medium for brain storming, e.g. graphical sketch
pad - medium for organising ideas, etc, e.g. hypertext
- and of course plan text production
5Designing for Concurrency Control
Concurrency control is most relevant for a
synchronous groupware application. We can
distinguish between concurrency control in
hypertext/graphic editors and text editors. Most
hypertext editors are asynchronous - items are
edited by individuals and then linked into the
documents. Concurrency control is easier in a
graphic editor because most operations are done
with reference to absolute co-ordinates whereas
with text, usually operations are relative to the
position of existing characters already in the
document being edited.
6Architecture of Single User Editor
Control/User Interface
Display Manager
Document Data Structures
Buffer Update Routines
7Example Group Editor Architecture
DistEdit has a fully replicated document state
using ISIS Comms. Package. N.B. existing
versions of emacs have been modified to plug-in
to DistEdit.
8Achieving State Consistency
Basic problem in a replicated architecture
Generate A Execute A Broadcast A
Execute B
Site 1
Order A,B at Site1 Inconsistency Order B,A at
Site 2
Site 2
Generate B Execute B Broadcast B
Execute A
9Solution of Ordered Broadcast Protocol
Generate A Broadcast A
Execute B
Site 1
Execute A
Achieved by delaying B
Site 2
Execute A
Generate B Broadcast B
Execute B
10Additional Considerations
State consistency - if replicated architecture If
centralised the equivalent to ordered broadcast
but likely to have response time problems. Also
the state consistency may be achieved at the
expense of intention consistency as user at Site
2 intended B and not B after A. Use of fine
grain locks provides one solution (used in
DistEdit).
11Use of Locks
Site 1 gets lock-specific token from a remote
site for first operation A. For subsequent
operations that require the same lock, no token
needs to be acquired over the network. The lock
release action involves retaining the token, but
marks it available so whoever has the token can
continue using the locked segment. This is an
example of what is called pessimistic Concurrency
control.
12General Group Editor Collaboration Model
Application
Interactions either single user or collaborative
Active Rendering Display
Active Rendering Display
interactions
Collaboration semantics
User
User
13References
- Chapter 5 - Group Editors, by Atul Prakash, in
Computer Supported Cooperative Work, edited by
Beauduin-Lafon, Wiley, 1999.
14Gaze Awareness