GRENDL: grid enabled distribution and control for Laptop Orchestras

Laptop Orchestras (LOs) have recently become a very popular mode of musical expression. They engage groups of performers to use ordinary laptop computers as instruments and sound sources in the performance of specially created music software. By using an orchestral metaphor, LOs provide an engaging and challenging environment to experiment with human-computer interaction, network and machine latency, and sound/signal processing. While the LOs at Princeton and Stanford are perhaps the best known, LOs have now been established at many universities in the US and UK, and as private ensembles around the world.Perhaps the biggest challenge for LOs is the distribution, management and control of software across heterogeneous collections of networked computers. Software must be stored and distributed from a central repository, but launched on individual laptops immediately before performance. Each "composition" consists of unique combinations of software, user interfaces, and physical devices.Moreover, performers in a Laptop Orchestra can have a complex array of application layers to manage and launch before the start of a specific piece's performance. For example, one work written for our LO requires a bluetooth middleware application which reads gestures from a Wii-mote and converts them into OpenSoundControl [Wright and Freed 1997] messages to be forwarded to a custom Max application, all of which must be launched and configured before any performance. Combine this with the rapid turnaround from one composition to the next during a concert performance, and the problem of preparing members of the laptop orchestra with the appropriate tools for each piece becomes daunting.The GRENDL project leverages proven grid computing frameworks and approaches the Laptop Orchestra as a distributed computing platform for interactive computer music. This allows us to readily distribute software to each laptop in the orchestra depending on the laptop's internal configuration, its role in the composition, and the player assigned to that computer. Using the SAGA framework [Goodale et al.], GRENDL is able to run pre-distribution scripts on a master computer, distribute software to client computers, launch post-distribution scripts on the master computer and launch application scripts on client computers that in turn manage application environments for each composition.SAGA, the Simple API for Grid Applications, is a distributed computing middleware used to distribute, manage and process grid-based applications, typically for scientific research problems in such diverse fields as numerical relativity, computational fluid dynamics and materials science. Its functionality and stability are well regarded within the computational science community and SAGA has become a standard API for grid computing.Our initial experiments have demonstrated that SAGA can be used successfully in a concert environment. The Laptop Orchestra of Louisiana (LOLs) debut concert on April 14, 2010 used a prototype version of GRENDL to manage two of the seven works performed, and GRENDL worked flawlessly.GRENDL proposes to go further than just applying SAGA to the LO environment. We will use tangible and physical objects [Ullmer et al. 2008] to represent individuals, resources, roles and compositions such that GRENDL knows how to distribute software appropriate to the LO's environment, the individuals performing and their role in the composition. By using RFID-embeded objects [Ullmer et al. 2010], master and client computers determine who is at which computers, and what is being performed. Just as a music librarian knows where to place parts for each composition on which music stands, GRENDL will know where to send software and how to launch that software for each composition, laptop and performer.Extending SAGA to work with tangibles and in novel runtime environments, will require extensions to SAGA -- support for new interfaces and instruments -- as well as require some performance engineering in order for commands to be processed with lower latency than "traditional" distributed systems are designed to tolerate. The trans-disciplinary nature of GRENDL provides potential to shed new light on existing challenges in computational and computer science. The LO setting presents a unique perspective from which to investigate topics such as time-sensitive and dynamic job scheduling, latency-bound interaction, and effective user interfaces for grid computing environments. Some of the first iteration interaction technologies have been developed for distributed computational science applications, and some of what is learned through GRENDL will likely be applicable in that area.