An Architecture for Supporting "Pay-per-use" Downloadable Systems based on Java 2 and JavaSpaces Giancarlo Succi ¥ , Raymond Wong ¥ , Eric Liu ¥ , Carlo Bonamico § , Tullio Vernazza § ¥ Department of Electrical and Computer Engineering –University of Calgary § DIST – Università di Genova Abstract The widespread using of Internet creates new ways to distribute software. Currently, software companies are able to sell their software products to customers through direct downloading. This software distribution model can be extended to "rent" software services to customers and charge them based on their usage of the delivered services, but there have not been many researches done in this area. We have developed a web-based application called WebMetrics to experiment the possibility of developing a "pay-per-use" system. The experience of building the first version shows that a distributed computing platform is required to support the security and administration features, which are necessary in any "pay-per-use" systems. Through the investigation of available Java distributed computing platform, we selected a most suitable platform and refined the architecture to solve the difficulties faced in the first version of WebMetrics. 1. Introduction Software developers can use the Internet as a medium to distribute their products at a very low cost. The popularity of the Web has altered the way developers deploy software to customers customers can now directly download the required software and execute the code in their local environment. This enables a more direct link between customers and providers, thus cutting down entry barriers for software producers. In principle, the Internet could be used to "rent" software services to users and charge them based on a per-use basis. However, this requires a scaleable Internet application to manage the distribution and the accounting of the services. WebMetrics is a web-based application jointly developed by the Software Engineering Laboratory (SELab, University of Calgary, Canada) and the Software Process Engineering Laboratory (LIPS, University of Genova, Italy). It is a pay-per-use system to supply software tools for metrics collection, analysis and management. From our experience with the first version of WebMetrics (Succi et al, 1998), it is evident that a pay-per-use policy is difficult to implement without a distributed computing platform, especially in system security and administration features. In this paper we present a new architecture for WebMetrics which overcomes such difficulties through the use of Java 2 and Sun’s JavaSpaces (Sun Microsystems, 1999). We explain how these new technologies support the development of a more secure pay-per-use application. In the following sections, we first describe the original architecture of WebMetrics and outline its limitations. Then, we present some newly available Java-based frameworks for distributed computing platforms and propose a new architecture for WebMetrics. We conclude by specifing our on-going research directions. Page 1 of 8 Introduction 23.05.02 http://sern.ucalgary.ca/~maurer/ICSE99WS/Submissions/Succi/Succi.html G. Succi, R. Wong, E. Liu, C. Bonamico, T. Vernazza (May 1999) “An Architecture for Supporting “Pay-per-use” Downloadable Systems based on Java 2 and JavaSpaces” Proceedings of the 1999 ICSE Workshop on Software Engineering over the Internet, Los Angeles, California.