<<Documents
Books FAQs Javadoc White Papers  
      
<< < > >>
Search
Help
Login
Register
Print View


Home  > Documents  >
White Papers    
Papers about Telekinesis products and related Java products. All in PDF format except where noted.
RMI/SSL socket factories considered harmful   
In a new White Paper, Esmond Pitt considers the contradictions between RMI's downloadable socket factory model and the assumptions of TLS/SSL. Major security issues are identified and requirements for a solution described.
Scalable SSL for Java   
Esmond Pitt B.A. MIEEE FACS
This white paper discusses the history, motivation, and implementation of Esmond Pitt's Scalable SSL for Java product.
Class loading issues in Java(TM) RMI and Jini(TM) technology   
Michael Warres, Sun Microsystems
SMLI TR-2006-149 January 2006
Abstract
Java class loading plays a key role in the Java Remote Method Invocation (Java RMI) and Jini architectures by enabling code mobility over the network. However, it has also saddled these architectures with a set of type compatibility and code downloading issues that commonly result in run-time errors and programmer confusion. This paper describes the Java RMI class loading model and examines its ramifications.
The Jini Proxy   
Esmond Pitt B.A. MIEEE FACS
The RMI Proxy   
Esmond Pitt B.A. MIEEE FACS and Neil Belford M.Sc. MIEEE
Notes on Typesetting Computer Programs   
Esmond Pitt B.A. MIEEE FACS
A semi-serious look at how to typeset computer code in books.
OPNETWORK 2001 [HTML]   
Bruce Rosenthal speaks at OPNETWORK 2001, the world's largest event for network design, modelling, and management.

Bruce Rosenthal was the technical lead of the Charles Schwab & Co. Network Capacity and Performance Planning Analytics Infrastructure. This infrastructure leverages the monitoring and measurement capabilities of RMON2 data collection devices and advanced analysis applications such as SAS ITSV to facilitate accurate forecasting of network and system performance behavior.

Bruce spent several years developing an integrated design for performance optimization methodology that ties together simulation modeling, object-oriented modeling, and application performance profiling, both at Charles Schwab and at Albertson's Stores. His approach to characterizing the behavior of complex application behavior, the interaction of those applications on network infrastructures, and the interaction of infrastructures on application performance draw together several leading edge simulation methodologies; the use of fractal point processes, asynchronous application flows, and advanced server behavior modeling.
java.rmi: The Guide to Remote Method Invocation, Book chapter   
Esmond Pitt and Kathleen McNiff, java.rmi: The Guide to Remote Method Invocation, Addison-Wesley 2001, ISBN 0-201-70043-3, Chapter 15 "RMI through firewalls".

This extract provides a complete explanation of the Java RMI Firewall problem and describes the various solutions, including HTTP tunnelling, SOCKS proxies, the RMI HTTP CGI/servlet, and of course the RMI Proxy.
Leveraging Security in Internet Applications   
d'Amorim & Ferraz, Federal University of Pernambuco, Brazil
This paper discusses the RMI Firewall problem and cites the RMI Proxy as a viable solution.
TRAM: A Tree-based Reliable Multicast Protocol   
Dah Ming Chiu, Stephen Hurst, Miriam Kadansky and Joseph Wesley, Sun Microsystems
SMLI TR-98-66 July 1998
Abstract
This paper describes TRAM, a scalable reliable multicast transport protocol. TRAM is designed to support bulk data transfer with a single sender and multiple receivers. It uses dynamic trees to implement local error recovery and to scale to a large number of receivers without seriously impacting the sender. It also includes flow control, congestion control, and other adaptive techniques necessary to operate efficiently and fairly with other protocols across the wide variety of link and client characteristics that make up the Internet as well as intranets. TRAM has been successfully used to implement several bulk data delivery applications. TRAM has been tested and simulated in a number of network environments.

(Esmond Pitt notes: TRAM is a component of JRMS described in the paper above.)
The Java(TM) Reliable Multicast(TM) Service: A Reliable Multicast Library   
Steve Hanna, Miriam Kadansky and Phil Rosenzweig, Sun Microsystems
SMLI TR-98-68 September 1998
Abstract
The Java(TM) Reliable Multicast Service(TM) (JRMS) is a set of libraries and services for building multicast-aware applications. It enables building applications that distribute data from "senders" to "receivers" over "channels" with distributed control over content mix. It includes a dynamic filtering mechanism that uses Java software that is pushed into the network for interpreting the data of the receiver. JRMS supports multiple reliable multicast transport protocols via a common programming interface, which provides isolation to applications. Supported transport protocols are selectable by applications based on reliability and type of service needs.

Emerging multimedia or "push" applications can use JRMS as a better platform for reliable delivery of content to very large constituencies. As compared to unicast (point-to-point) protocols), reliable multicast enables broadcasting to groups of receivers, ensuring bandwidth conservation and timely delivery. The JRMS reliable multicast transport protocol (TRAM) is designed for high scalability. JRMS also includes related services for multicast address allocation, channel advertisement and subscription, authentication and encryption, and receiver group management. JRMS is designed to be a flexible toolkit to the application developer for authoring new types of network-centric multimedia applications.

(Esmond Pitt notes: this paper describes JRMS which Telekinesis is now supporting.)
Simple activation for distributed objects   
Jim Waldo, Ann Wollrath and Geoff Wyant, Sun Microsystems
SMLI TR-95-46 November 1995
Abstract
In order to support long-lived distributed objects, object activation is required. Activation allows an object to alternate between periods of activity, where the object executes in a process; and periods of dormancy, where the object is on disk and utilizes no system resources.

We describe an activation protocol for distributed object systems. The protocol features overall simplicity as well as applicability to several different activation models. We use the Modula-3 network object system as a base for our implementation; while we make no changes to the underlying network object subsystem, we suggest a minor modification that could be made to the marshalling of network objects to assist in lazy activation, our preferred activation model.

(Esmond Pitt notes: this paper has an obvious bearing on Activation in Java RMI.)
A note on distributed computing   
Samuel C. Kendall, Jim Waldo, Ann Wollrath and Geoff Wyant, Sun Microsystems
SMLI TR-94-29 November 1994
Abstract
We argue that objects that interact in a distributed system need to be dealt with in ways that are intrinsically different from objects that interact in a single address space. These differences are required because distributed systems require that the programmer be aware of latency, have a different model of memory access, and take into account issues of concurrency and partial failure.

We look at a number of distributed systems that have attempted to paper over the distinction between local and remote objects, and show that such systems fail to support basic requirements of robustness and reliability. These failures have been masked in the past by the small size of the distributed systems that have been built. In the enterprise-wide distributed systems foreseen in the near future, however, such a masking will be impossible.

We conclude by discussing what is required of both systems-level and application-level programmers and designers if one is to take distribution seriously.

(Esmond Pitt notes: this is the seminal paper that led to the design of Java RMI.)
  Powered by Access21