| Introduction to Distributed Systemsand Computer-Supported Cooperative Work | |
| Fundamental Principles of Distributed Systems | p. 3 |
| Introduction | p. 4 |
| Transparency | p. 5 |
| Levels of transparency | p. 6 |
| Transparency levels of existing systems | p. 10 |
| Problems with transparency in CSCW | p. 10 |
| Mechanisms for Communication | p. 11 |
| Information sharing | p. 12 |
| Message exchange | p. 12 |
| Bidirectional communication | p. 16 |
| Producer-consumer interaction | p. 18 |
| Client-Server Model | p. 19 |
| Terms and definitions | p. 21 |
| Client-server communication | p. 23 |
| Processing requests for service operations | p. 24 |
| Remote Procedure Call (RPC) | p. 29 |
| RPC properties | p. 31 |
| Mediation and brokering | p. 38 |
| Asynchronous RPC | p. 39 |
| Failure semantics of remote procedure calls | p. 41 |
| Object-Oriented Distributed Systems | p. 43 |
| Definitions | p. 43 |
| Object distribution | p. 45 |
| Object mobility | p. 46 |
| Common Object Request Broker Architecture (CORBA) | p. 50 |
| Tuple space | p. 53 |
| Linear Objects | p. 54 |
| Distributed Applications | p. 59 |
| Group communication | p. 60 |
| Design of distributed applications | p. 65 |
| Distributed applications in ODP | p. 71 |
| Resource allocation | p. 74 |
| History of highly influential distributed systems | p. 78 |
| Caching | p. 82 |
| Further Reading | p. 85 |
| Computer-Supported Cooperative Work | p. 87 |
| Introduction | p. 88 |
| Background for Team Support | p. 89 |
| Terminology | p. 90 |
| CSCW in Practice - Scenarios | p. 95 |
| Support of face-to-face meetings | p. 95 |
| Support of distributed electronic meetings | p. 98 |
| Support in between meetings | p. 100 |
| Application Domains and their Characteristics | p. 103 |
| Software design and development | p. 103 |
| Teaching environment | p. 104 |
| Telecooperation | p. 105 |
| Further examples for teamwork | p. 106 |
| Interpretation of CSCW | p. 107 |
| CSCW: Work | p. 109 |
| CSCW: Cooperative Work | p. 109 |
| CSCW: Supported Cooperative Work | p. 111 |
| CSCW: Computer-Supported Cooperative Work | p. 112 |
| History of the Most Important CSCW Systems | p. 112 |
| Groupware Classification | p. 118 |
| Time space taxonomy | p. 118 |
| Application level classification | p. 119 |
| Classification according to the 3C model | p. 125 |
| More classification models | p. 126 |
| Design of Groupware | p. 126 |
| Possible aspects | p. 126 |
| Criteria for the acceptance of groupware systems | p. 128 |
| Why groupware systems sometimes fail | p. 128 |
| Benefits and risks of groupware | p. 130 |
| Development methodology of groupware systems | p. 130 |
| Methods for studying groups | p. 134 |
| The Portland experiment | p. 136 |
| Lotus Notes | p. 139 |
| Further Reading | p. 140 |
| Basic Concepts of Computer-Supported Cooperative Work | |
| Concepts of Asynchronous and Synchronous Cooperation | p. 145 |
| Group Processes | p. 146 |
| Group process models | p. 150 |
| Group communication | p. 152 |
| Concurrency control | p. 155 |
| Roles of group members | p. 158 |
| Cluster Model | p. 158 |
| Direct point-to-point connection | p. 159 |
| Indirect communication links | p. 160 |
| Strategies for the Distribution of Information Units | p. 163 |
| Direct point-to-point connection | p. 163 |
| Cluster hierarchy | p. 163 |
| Broadcast flooding | p. 165 |
| Routing | p. 167 |
| Structures of Asynchronous Group Interaction | p. 167 |
| Linear model (Emisari) | p. 167 |
| Comb model (Confer, Usenet) | p. 168 |
| Branch model (Parti) | p. 169 |
| Management of Shared Context | p. 170 |
| The concept WYSIWIS | p. 172 |
| Relaxed forms of WYSIWIS | p. 172 |
| Telepointing | p. 175 |
| Group awareness | p. 175 |
| Groupware Architectures | p. 178 |
| Centralized architectures | p. 178 |
| Replicated architectures | p. 180 |
| Further Reading | p. 182 |
| Concurrency Control | p. 185 |
| Introduction | p. 186 |
| Motivation | p. 186 |
| Classification of concurrency control approaches | p. 187 |
| Optimistic Concurrency Control | p. 188 |
| Centralized Control | p. 189 |
| Control unit | p. 189 |
| Token-passing | p. 190 |
| Decentralized Control: Overview | p. 191 |
| Simple Locking Schemes | p. 191 |
| Floor-passing Schemes | p. 194 |
| Explicit floor-passing scheme | p. 195 |
| Implicit floor-passing with coordination unit | p. 195 |
| Implicit floor-passing with distributed coordination | p. 196 |
| Transactions | p. 197 |
| Operation Transformation | p. 201 |
| Sites | p. 201 |
| Group Outline Viewing Editor (Grove) | p. 202 |
| The Grove algorithm: distributed Operational Transformation (dOPT) | p. 206 |
| Correctness of the Grove algorithm | p. 208 |
| Further Reading | p. 209 |
| Replication and Concurrency Control | p. 211 |
| Introduction | p. 212 |
| Voting Schemes | p. 218 |
| Majority consensus | p. 220 |
| Weighted voting | p. 224 |
| Write-all-read-any | p. 226 |
| Voting with witnesses | p. 227 |
| Available- copy | p. 239 |
| Dynamic voting | p. 245 |
| Voting-class | p. 259 |
| Multidimensional voting | p. 261 |
| Hierarchical Voting | p. 263 |
| Additional Schemes with Decentralized Control | p. 266 |
| Coding scheme | p. 267 |
| Grid protocol | p. 274 |
| Regeneration | p. 279 |
| Further Reading | p. 280 |
| Application Classes of Computer-Supported Cooperative Work | |
| Communication Systems and Shared Information Spaces | p. 285 |
| Email Systems | p. 286 |
| Message transfer agent | p. 287 |
| User agents | p. 288 |
| Message envelope | p. 289 |
| Email address | p. 290 |
| Groupware characteristics of an email system | p. 290 |
| Video Conferencing | p. 291 |
| Aspects in the usage of video conferencing | p. 291 |
| Conference management | p. 293 |
| Shared Information Spaces | p. 295 |
| General definitions | p. 295 |
| History of hypertext systems | p. 296 |
| Architecture of hypertext systems | p. 301 |
| Dexter reference model | p. 307 |
| Navigation in hypertext networks | p. 309 |
| Trellis model | p. 315 |
| IBIS method | p. 315 |
| Campiello - Information spaces and communities | p. 318 |
| Case studies: cooperative nature of information search activities | p. 322 |
| Further Reading | p. 325 |
| Workflow Management, Conversation and Coordination Systems | p. 327 |
| Introduction | p. 328 |
| The history of workflow management | p. 330 |
| Terminology | p. 331 |
| Goals, barriers and features | p. 333 |
| Taxonomy | p. 335 |
| Conversation Model | p. 337 |
| Definition of speech act | p. 338 |
| Conversation networks | p. 340 |
| Conversation systems | p. 341 |
| The Coordinator | p. 343 |
| The office procedure system Domino | p. 344 |
| The activity management system Tacts | p. 346 |
| Coordination Models | p. 350 |
| The coordination theory according to Malone | p. 352 |
| Customer-performer model | p. 353 |
| Workflow Modeling | p. 354 |
| Aspect-oriented workflow model | p. 355 |
| Process grammar | p. 358 |
| Execution Environments for Workflows | p. 360 |
| Further Developments | p. 361 |
| Problems and open issues | p. 362 |
| Workflow Management Coalition (WfMC) | p. 363 |
| Adaptive workflow | p. 364 |
| Workflow life cycle | p. 368 |
| Further Reading | p. 372 |
| Workgroup Computing | p. 373 |
| Electronic Meeting Support | p. 374 |
| Architectures for electronic meeting systems | p. 376 |
| General characteristics of electronic meeting systems | p. 378 |
| Design alternatives for meeting rooms | p. 379 |
| Distributed Document Systems | p. 382 |
| Cooperative document creation | p. 383 |
| Group editors - overview | p. 387 |
| The group editor Iris | p. 387 |
| DistEdit | p. 389 |
| User interface layer of a group editor | p. 390 |
| Access layer of a group editor | p. 394 |
| Architecture of a distributed group editor | p. 397 |
| Document structure | p. 401 |
| Logical views of the document structure | p. 402 |
| Structure editor | p. 404 |
| Versioning/history management | p. 406 |
| Undo in Distributed Group Editors | p. 407 |
| Basic concepts | p. 408 |
| Simple undo | p. 409 |
| Selective undo according to Prakash and Knister | p. 409 |
| Selective undo (extended version) | p. 412 |
| Further Reading | p. 413 |
| Multiagent Systems | p. 415 |
| Introduction | p. 416 |
| Characteristics and Classification | p. 418 |
| Modeling | p. 424 |
| Distributed problem solving | p. 425 |
| Agent model | p. 425 |
| Conceptual framework | p. 426 |
| Layer concept | p. 427 |
| Cooperation among Agents | p. 430 |
| Cooperation by (semi) structured messages | p. 430 |
| Cooperation strategies | p. 433 |
| Cooperation methods | p. 434 |
| Communication types | p. 436 |
| The Contract Net Protocol | p. 438 |
| Basic concepts of the contract net protocol | p. 438 |
| Task announcement phase | p. 439 |
| Bid creation phase | p. 440 |
| Bid selection phase | p. 441 |
| Task assignment phase | p. 443 |
| Task execution phase | p. 443 |
| Assessment of the contract net protocol | p. 443 |
| Agent-based Information Brokering | p. 444 |
| Systems of agent-based information brokering | p. 445 |
| Constraint-Based Knowledge Brokers | p. 452 |
| Protocols | p. 459 |
| Agent processing | p. 463 |
| Distributed Meeting Scheduling | p. 469 |
| Formal definition of the meeting scheduling problem | p. 471 |
| Scheduling process | p. 473 |
| Scheduling model | p. 473 |
| Strategies | p. 475 |
| Actor Model | p. 476 |
| Actor definition | p. 476 |
| Generic actor system | p. 477 |
| Example for an actor system | p. 478 |
| Further Reading | p. 479 |
| References | p. 481 |
| List of Figures | p. 509 |
| List of Tables | p. 515 |
| Index | p. 517 |
| Table of Contents provided by Publisher. All Rights Reserved. |