ISBN: 3-540-66984-1
TITLE: Computer-Supported Cooperative Work
AUTHOR: Borghoff, Uwe M.; Schlichter, Johann H.
TOC:

Part I. Introduction to Distributed Systems and Computer-Supported Cooperative Work
1. Fundamental Principles of Distributed Systems 3
1.1 Introduction 4
1.2 Transparency 5
1.2.1 Levels of transparency 6
1.2.2 Transparency levels of existing systems 10
1.2.3 Problems with transparency in CSCW 10
1.3 Mechanisms for Communication 11
1.3.1 Information sharing 12
1.3.2 Message exchange 12
1.3.3 Bidirectional communication 16
1.3.4 Producer-consumer interaction 18
1.4 Client-Server Model 19
1.4.1 Terms and definitions 21
1.4.2 Client-server communication 23
1.4.3 Processing requests for service operations 24
1.5 Remote Procedure Call (RPC) 29
1.5.1 RPC properties 3 1
1.5.2 Mediation and brokering 38
1.5.3 Asynchronous RPC 39
1.5.4 Failure semantics of remote procedure calls 41
1.6 Object-Oriented Distributed Systems 43
1.6.1 Definitions 43
1.6.2 Object distribution 45
1.6.3 Object mobility 46
1.6.4 Common Object Request Broker Architecture (CORBA) 50
1.6.5 Tuple space 53
1.6.6 Linear Objects 54
1.7 Distributed Applications 59
1.7.1 Group communication 60
1.7.2 Design of distributed applications 65
1.7.3 Distributed applications in ODP 71
1.7.4 Resource allocation 74
1.7.5 History of highly influential distributed systems 78
1.7.6 Caching 82
1.8 Further Reading 85
2. Computer-Supported Cooperative Work
2.1 Introduction 88
2.2 Background for Team Support 89
2.3 Terminology 90
2.4 CSCW in Practice - Scenarios 95
2.4.1 Support of face-to-face meetings 95
2.4.2 Support of distributed electronic meetings 98
2.4.3 Support in between meetings 100
2.5 Application Domains and their Characteristics 103
2.5.1 Software design and development 103
2.5.2 Teaching environment 104
2.5.3 Telecooperation 105
2.5.4 Further examples for teamwork 106
2.6 Interpretation of CSCW 107
2.6.1 CSCW: Work 109
2.6.2 CSCW: Cooperative Work 109
2.6.3 CSCW: Supported Cooperative Work 111
2.6.4 CSCW: Computer-Supported Cooperative Work 112
2.7 History of the Most Important CSCW Systems 112
2.8 Groupware Classification 118
2.8.1 Time space taxonomy 118
2.8.2 Application level classification 119
2.8.3 Classification according to the 3C model 125
2.8.4 More classification models 126
2.9 Design of Groupware 126
2.9.1 Possible aspects 126
2.9.2 Criteria for the acceptance of groupware systems 128
2.9.3 Why groupware systems sometimes fail 128
2.9.4 Benefits and risks of groupware 130
2.9.5 Development methodology of groupware systems 130
2.9.6 Methods for studying groups 134
2.9.7 The Portland experiment 136
2.9.8 Lotus Notes 139
2.10 Further Reading 140
Part II. Basic Concepts of Computer-Supported Cooperative Work
3. Concepts of Asynchronous and Synchronous Cooperation 145
3.1 Group Processes 146
3.1.1 Group process models 150
3.1.2 Group communication 152
3.1.3 Concurrency control 155
3.1.4 Roles of group members 158
3.2 Cluster Model 158
3.2.1 Direct point-to-point connection. 159
3.2.2 Indirect communication links 160
3.3 Strategies for the Distribution of Information Units 163
3.3.1 Direct point-to-point connection 163
3.3.2 Cluster hierarchy 163
3.3.3 Broadcast flooding 165
3.3.4 Routing 167
3.4 Structures of Asynchronous Group Interaction 167
3.4.1 Linear model (Emisari) 167
3.4.2 Comb model (Confer, Usenet) 168
3.4.3 Branch model (Parti) 169
3.5 Management of Shared Context 170
3.5.1 The concept WYSIWIS 172
3.5.2 Relaxed forms of WYSIWIS 172
3.5.3 Telepointing 175
3.5.4 Group awareness 175
3.6 Groupware Architectures 178
3.6.1 Centralized architectures 178
3.6.2 Replicated architectures 180
3.7 Further Reading 182
4. Concurrency Control 185
4.1 Introduction 186
4.1.1 Motivation 186
4.1.2 Classification of concurrency control approaches 187
4.2 Optimistic Concurrency Control 188
4.3 Centralized Control 189
4.3.1 Control unit 189
4.3.2 Token-passing 190
4.4 Decentralized Control: Overview 191
4.5 Simple Locking Schemes 191
4.6 Floor-passing Schemes 194
4.6.1 Explicit floor-passing scheme, 195
4.6.2 Implicit floor-passing with coordination unit 195
4.6.3 Implicit floor-passing with distributed coordination 196
4.7 Transactions l97
4.8 Operation Transformation 201
4.8.1 Sites 201
4.8.2 Group Outline Viewing Editor (Grove) 202
4.8.3 The Grove algorithm: distributed Operational Transformation (dOPT) 206
4.8.4 Correctness of the Grove algorithm 208
4.9 Further Reading 209
5. Replication and Concurrency Control 211
5.1 Introduction 212
5.2 Voting Schemes 218
5.2.1 Majority consensus 220
5.2.2 Weighted voting 224
5.2.3 Write-all-read-any 226
5.2.4 Voting with witnesses 227
5.2.5 Available-copy 239
5.2.6 Dynamic voting 245
5.2.7 Voting-class 259
5.2.8 Multidimensional voting 261
5.2.9 Hierarchical Voting 263
5.3 Additional Schemes with Decentralized Control 266
5.3.1 Coding scheme 267
5.3.2 Grid protocol 274
5.4 Regeneration 279
5.5 Further Reading 280
Part III. Application Classes of Computer-Supported Cooperative Work
6. Communication Systems and Shared Information Spaces 285
6.1 Email Systems 286
6.1.1 Message transfer agent 287
6.1.2 User agents 288
6.1.3 Message envelope 289
6.1.4 Email address 290
6.1.5 Groupware characteristics of an email system 290
6.2 Video Conferencing 291
6.2.1 Aspects in the usage of video conferencing 291
6.2.2 Conference management 293
6.3 Shared Information Spaces 295
6.3.1 General definitions 295
6.3.2 History of hypertext systems 296
6.3.3 Architecture of hypertext systems 301
6.3.4 Dexter reference model 307
6.3.5 Navigation in hypertext networks 309
6.3.6 Trellis model 315
6.3.7 IBIS method 315
6.3.8 Campiello - Information spaces and communities 318
6.3.9 Case studies: cooperative nature of information search activities 322
6.4 Further Reading 325
7. Workflow Management, Conversation and Coordination Systems 327
7.1 Introduction 328
7.1 The history of workflow management 330
7.1.2 Terminology 331
7.1.3 Goals, barriers and features 333
7.1.4 Taxonomy 335
7.2 Conversation Model 337
7.2.1 Definition of speech act 338
7.2.2 Conversation networks 340
7.2.3 Conversation systems 341
7.2.4 The Coordinator 343
7.2.5 The office procedure system Domino 344
7.2.6 The activity management system Tacts 346
7.3 Coordination Models 350
7.3.1 The coordination theory according to Malone 352
7.3.2 Customer-performer model 353
7.4 Workflow Modeling 354
7.4.1 Aspect-oriented workflow model 355
7.4.2 Process grammar 358
7.5 Execution Environments for Workflows 360
7.6 Further Developments 361
7.6.1 Problems and open issues 362
7.6.2 Workflow Management Coalition (WfMC) 363
7.6.3 Adaptive workflow 364
7.6.4 Workflow life cycle 368
7.7 F'urther Reading. 372
8. Workgroup Computing 373
8.1 Electronic Meeting Support 374
8.1 l Architectures for electronic meeting systems 376
8.1.2 General characteristics of electronic meeting systems 378
8.1.3 Design alternatives for meeting rooms 379
8.2 Distributed Document Systems 382
8.2.1 Cooperative document creation 383
8.2.2 Group editors - overview 387
8.2.3 The group editor Iris 387
8.2.4 DistEdit 389
8.2.5 User interface layer of a group editor 390
8.2.6 Access layer of a group editor 394
8.2.7 Architecture of a distributed group editor 397
8.2.8 Document structure 401
8.2.9 Logical views of the document structure 402
8.2.10 Structure editor 404
8.2.11 Versioning/history management 406
8.3 Undo in Distributed Group Editors 407
8.3.1 Basic concepts 408
8.3.2 Simple undo 409
8.3.3 Selective undo according to Prakash and Knister 409
8.3.4 Selective undo (extended version) 412
8.4 Further Reading 413
9. Multiagent Systems 415
9.1 Introduction 416
9.2 Characteristics and Classification 418
9.3 Modeling 424
9.3.1 Distributed problem solving 425
9.3.2 Agent model 425
9.3.3 Conceptual framework 426
9.3.4 Layer concept 427
9.4 Cooperation among Agents 430
9.4.1 Cooperation by (semi) structured messages 430
9.4.2 Cooperation strategies 433
9.4.3 Cooperation methods 434
9.4.4 Communication types 436
9.5 The Contract Net Protocol 438
9.5.1 Basic concepts of the contract net protocol 438
9.5.2 Task announcement phase 439
9.5.3 Bid creation phase. 440
9.5.4 Bid selection phase 441
9.5.5 Task assignment phase 443
9.5.6 Task execution phase 443
9.5.7 Assessment of the contract net protocol 443
9.6 Agent-based Information Brokering 444
9.6.1 Systems of agent-based information brokering 445
9.6.2 Constraint-Based Knowledge Brokers 452
9.6.3 Protocols 459
9.6.4 Agent processing 463
9.7 Distributed Meeting Scheduling 469
9.7.1 Formal definition of the meeting scheduling problem 471
9.7.2 Scheduling process. 473
9.7.3 Scheduling model 473
9.7.4 Strategies 475
9.8 Actor Model 476
9.81 Actor definition 476
9.8.2 Generic actor system 477
9.8.3 Example for an actor system 478
9.9 Further Reading 479
References 481
List of Figures 509
List of Tables 515
Index 517
END
