Java Distributed Memory Caching Using Binary Tree