STUNT Enhanced Java RMI

Java RMI uses HTTP tunneling for NAT traversal. While HTTP tunneling is a valid technique for traditional client-server-architectures, it is too heavy-weight for highly distributed systems such as peer-to-peer applications. In this paper, we propose a STUNT enhanced RMI mechanism that takes advantage of the hole punching NAT traversal technique that many successful peer-to-peer applications use. Because the modified communication behavior is made part of the RMI server stub, our approach is fully transparent to the RMI client.