The Ninja Architecture Extended abstract Pietu Pohjalainen Department of Computer Science Helsinki University The Ninja Project is a research effort for exploring the problems and possible resolving patterns of scalable and highly available distributed applications. The problem area includes issues to be resolved in areas of client/server-communication, thin client software construction as well as server-side application distribution. This paper concentrates on the distribution of server-side applications: why should applications be distributed (motivation), what different approaches have been made in order to resolve these problems and what is the Ninja project approach to these problems. The structure of this paper is divided to six chapters. Chapter one presents the motivation for the paper: why should applications be scalable and highly available and what are the specific problems when distributing applications. Chapter two presents the traditional approaches for achieving scalability while chapter three presents the traditional model for high availability. Then, chapter four offers the reader a high level view of the Ninja architechture; how does this architecture offer support for applications that need to be both highly available and scalable. Chapter five drills more deeply into this architecture. Last, but not least, chapter six presents a conclusion of the whole paper. References: - The Ninja Architecture for Robust Internet-Scale Systems and Services. Steven D. Gribble, Matt Welsh, et al. Special Issue of Computer Networks on Pervasive Computing. Volume 25 Issue 4, March 2001. pp. 473-497. - A Design Framework and a Scalable Storage Platform to Simplify Internet Service Construction. Steven D. Gribble. Ph.D. thesis, September 2000. - Scalable, Distributed Data Structures for Internet Service Construction. Steven D. Gribble et al. Proceedings of the 4th USENIX Symposium on Operating System Design and Implementation (OSDI 2000), San Diego, California, USA. October 200. - Blueprints for High Availability: Designing Resilient Distributed Systems. Evan Marcus, Hal Stern. John Wiley & Sons, 2000. - Distributed Systems, Principles and Paradigms. Andrew S. Tanenbaum, Marten van Steen. Prentice-Hall, 2002. - Enterprise Java Beans Technology. Sun Microsystems. http://java.sun.com/products/ejb/. - Java Remove Method Invocation - Distributed Computing for Java. Sun Microsystems. http://java.sun.com/. - HP Application Server 8.0, A Technical White Paper. TechMatrix Research. 2001. - HP Application Server 8.0, performance tuning guide. Hewlett-Packard Company. 2002.