International journal of parallel programming, 2009 Feb., v. 37, no. 1, p. 37-57.
Includes references The object-oriented scripting language Ruby is admired by many programmers for being easy to write in, and for its flexible, dynamic nature. In the last few years, the Ruby on Rails web application framework, popular for its productivity benefits, has brought about a renewed attention to Ruby for enterprise use. As the focus of Ruby has broadened from small tools and scripts, to large applications, the demands on Ruby's distributed object environment have also increased, as has the need for information about its usage, performance and examples of common practices. dRuby and Rinda were developed by the author as the distributed object environment and shared tuplespace implementation for the Ruby language, and are included as part of Ruby's standard library. dRuby extends method calls across the network while retaining the benefits of Ruby. Rinda builds on dRuby to bring the functionality of Linda, the glue language for distributed co-ordination systems, to Ruby. This article discusses the design policy and implementation points of these two systems, and demonstrates their simplicity with sample code and examples of their usage in actual applications. In addition to dRuby and Rinda's appropriateness for prototyping distributed systems, this article will also demonstrate that dRuby and Rinda are building a reputation for being suitable infrastructure components for real-world applications.
Bjornson, Robert D., Carriero, Nicholas J., Schultz, Martin H., Shields, Patrick M., and Weston, Stephen B.
International journal of parallel programming, 2009 Feb., v. 37, no. 1, p. 106-125.
Includes references As languages and systems for rapid prototyping and application development have grown in popularity and the problems that they are being used to solve have grown in size, so has the need for enhancing them with a coordination facility to support distributed and parallel computations and the creation of application ensembles. We describe NetWorkSpace, a coordination facility based on the fundamental concept of a variable/value binding. NetWorkSpace is implemented as an open source server with clients available for a variety of environments. We present an overview of its design, implementation, performance and usage case studies.