Techniques from Network Games for Improving Groupware Performance Jeff Dyck1, Carl Gutwin1, T
Total Page:16
File Type:pdf, Size:1020Kb
Beyond the LAN: Techniques from Network Games for Improving Groupware Performance 1 1 2 3 Jeff Dyck , Carl Gutwin , T. C. Nicholas Graham , and David Pinelle 1Department of Computer Science 2Department of Computer Science 3Department of Computer Science University of Saskatchewan Queen’s University University of Nevada, Las Vegas Saskatoon, SK, Canada Kingston, ON, Canada Las Vegas, NV, USA [email protected], [email protected], [email protected], [email protected] ABSTRACT bandwidth is limited and packet loss is common, and current approaches to networking for CSCW applications quickly run into Networked games can provide groupware developers with severe difficulty. Networking infrastructures have been important lessons in how to deal with real-world networking improving, with the widespread presence of high-speed issues such as latency, limited bandwidth and packet loss. Games connections to the home. However, the increase of wireless and have similar demands and characteristics to groupware, but unlike mobile platforms means that it is as important as ever for the applications studied by academics, games have provided groupware applications to operate effectively under limited production-quality real-time interaction for many years. The networking conditions. Poor networks cause problems for visual techniques used by games have not traditionally been made communication, coordination and anticipation of actions, and public, but several game networking libraries have recently been generally reduce the richness and quality of real-time released as open source, providing the opportunity to learn how collaboration [11,12]. Effective use of limited networks involves games achieve network performance. We examined five game tradeoffs – e.g., between jitter and feedthrough time – and if real- libraries to find networking techniques that could benefit time groupware is to succeed, it must find ways to manage these groupware; this paper presents the concepts most valuable to tradeoffs and optimize limited network resources. groupware developers, including techniques to deal with limited There are several disciplines that could be used as a source of bandwidth, reliability, and latency. Some of the techniques have ideas for improving groupware networking (see [4] for a survey): been previously reported in the networking literature; therefore, for example, there is a great deal of research into techniques for the contribution of this paper is to survey which techniques have improving video distribution, voice over IP, file transfer, been shown to work, over several years, and then to link these distributed simulations, and large-scale collaborative virtual techniques to quality requirements specific to groupware. By environments. It is not a given, however, that the techniques that adopting these techniques, groupware designers can dramatically have been introduced in these research communities will be improve network performance on the real-world Internet. valuable for real-time groupware. Often, the data used in these Categories and Subject Descriptors domains has very different characteristics and different quality of service (QoS) requirements than the messages used in groupware H.5.3 [Information Interfaces and Presentation]: Group and systems. Networking algorithms for Internet-based applications Organization Interfaces—Computer-supported cooperative work. are designed to optimize application-specific performance General Terms: Performance, Design, Reliability. attributes – for example, minimizing page load time when web browsing or maximizing throughput when serving video or sound. Keywords In contrast, the performance of real-time groupware is typically Networking, QoS, Network Games, Groupware Performance. measured in terms of feedback and feedthrough times, and are characterized by workloads involving frequent, small bursts of information. Most networking algorithms have not been designed 1. INTRODUCTION with the needs of groupware in mind, and are not necessarily The goal of real-time distributed groupware is to support applicable to this kind of distributed system. synchronous shared work at a distance. In order to achieve this goal, groupware must perform well on real-world wide-area There is, however, one area of previous work that has much in networks like the Internet. Although many systems succeed in the common with real-time groupware – in fact, that is a type of real- research lab, network performance becomes a major problem time groupware – and that already has a proven record in efficient when they move beyond the LAN and into real-world networking. That area is networked multiplayer games: the deployment. On a local area network, it is easy for any network gaming industry has more than a decade of experience in networking infrastructure to perform well, since bandwidth is delivering a high-quality multiplayer experience over the Internet, plentiful and packet loss is rare. On the Internet, however, with millions of users and thousands of game titles. Games also have more in common with groupware than other types of Permission to make digital or hard copies of all or part of this work for distributed systems: they send short, frequent messages that are personal or classroom use is granted without fee provided that copies are generated from human interaction with the system, and they send not made or distributed for profit or commercial advantage and that copies several different types of messages with different requirements for bear this notice and the full citation on the first page. To copy otherwise, reliability and latency. A reasonable starting point for improving or republish, to post on servers or to redistribute to lists, requires prior groupware networking, therefore, is to determine how games send specific permission and/or a fee. information, and to evaluate the applicability of these techniques. GROUP’07, November 4–7, 2007, Sanibel Island, Florida, USA. Copyright 2007 ACM 978-1-59593-845-9/07/0011...$5.00. 291 In this paper, we present what is to our knowledge the first review under study, and finally show through a detailed example how and classification of the networking algorithms used in these techniques can be applied to groupware. multiplayer computer games, and discuss the conditions under which these algorithms are applicable to the development of real- 2. NETWORKING IN GROUPWARE time groupware. Learning how games deal with networking is Real-time distributed groupware communicates by sending difficult since game companies do not generally publicize their messages over a network. These messages indicate the actions and techniques. Even previous surveys (e.g., [20]) have primarily changes made by the people using the system, and can include been based on academic research papers. As a result, many of the awareness messages (e.g., telepointer motion), explicit novel aspects of game networking have remained, until now, communication (e.g., chat, voice), operations and transactions on undocumented in academic literature. Our review was possible the data model, and session events. Awareness messages are the due to the release of the source code for several game networking most common (e.g., since telepointers move frequently), but other libraries. Our results are based on a comprehensive study of these messages types are often more important (e.g., creation or libraries – TNL, Raknet, Zoidcom, Enet, and Zig – to find out deletion operations). The way that the underlying groupware how they achieve good network performance. Our classification system composes, organizes, and sends these various message reveals several networking techniques and principles that have not types has a dramatic impact on network performance and on the been considered before by groupware researchers, and shows how user’s experience of the collaborative activity. they can be useful to other types of real-time distributed One particular approach to networking can be seen in many of the groupware. The techniques address the three critical issues that groupware systems and toolkits that have appeared in the CSCW both games and groupware must deal with on the Internet – community (such as Groupkit [19], Disciple [17], Java Shared limited bandwidth, reliability, and latency – and are organized Data Toolkit [2], Collabrary [1], MAUI [15], CoWord and according to the problems they solve. CoPowerPoint [21], Clock [7], and Habanero [3]). These Our methodology in exploring the techniques was to delve into ‘academic groupware’ systems all use what we call event-driven the source of the libraries themselves and reverse-engineer the TCP, an approach that works reasonably well on a LAN, but precise designs of the mechanisms from the code. We then which is completely unsuitable for use on the Internet. synthesized the specific implementations into general techniques In event-driven TCP, applications trigger events (e.g., keyboard, used across the libraries. Finally, we classified the techniques mouse, or transaction events) that result in messages to be sent according to the problems they address, allowing us to link the over the network. Each message is immediately put into a TCP techniques to specific issues in groupware development. packet and sent; therefore, packet rate is governed by the The networking techniques that we report are not themselves new; application’s event model. Event-driven TCP is relatively simple our contribution is their classification and evaluation as to implement, and performs well when events are