In this paper, we investigate the issues to support Java RMI over Bluetooth environments. Our supports include several technical items. First, we develop a set of protocol stack layers written in Java for Bluetooth support, called JavaBT. In JavaBT, the HCI layer provides a uniform interface of accessing the Bluetooth hardware capabilities. The L2CAP provides connection-oriented and connection-less data services to upper layer protocols with protocol multiplexing capability, segmentation and reassembly operation, and group abstractions. These two layers of protocol driver can help programmers to write Bluetooth applications in the Java programming language. Next, we provide supports in L2CAP layer with socket for RMI socket. This enables the support of Java RMI over Bluetooth environments with efficiency.In addition, we model the cost for the access patterns of Java RMI communications. The cost model is used to guide the formation and optimizations of the scatternets of Bluetooth environments associated Java RMI environments. In our approach, we first perform a method for initial configurations for the number of piconets. This is based on well-known BTCP [2] algorithm. However, this does not take the access patterns of RMI communications into considerations. In our method, we provide a cost model for access patterns of RMI communications. With the support of runtime profiling in Java, we can then dynamically re-configure the scatternets to optimize the Java RMI performance over scatternets. This is particularly useful for systems with periodical behaviors or system behaviors with similarity related to historical or profiling data. With the cost model for access patterns of RMI communications, we then perform a two step algorithm. In the first stage, we employ a recursive spectral bisection method and KL-refinement procedure to cluster nodes making the frequent transmissions. After this stage, a post-configuring method is used to determine the role of nodes and form the scatternet topology.In the experiment, we evaluate the robustness of our implementation of RMI software over Bluetooth environments. We perform experiments of numerous benchmarks from RMI Benchmark Suite [1], DHPC Java Benchmarks, and the Java Grande Forum MPJ Benchmarks. In our testbed, the EBDKs (Ericsson Bluetooth Develop Kit) are connected to two computers by the COM port. We test the performance on one node and two nodes, respectively. The one node version is a sequential version and the two node version is a parallel version with RMI over Bluetooth.Despite limited COM port performance, we still observe performance gains on Hamming, EP, Series, RayTracer, and SelSort. The performance is shown in Figure 1. Note that due to the server and client are different machines, the optimal speedup for this case is around 1.7 times. With better connections between host and Bluetooth devices, we expect the performance to be improved. With the data rate in the peak to be 723k bps, it's still much slower than fast Ethernet. Therefore, the type of numerical applications run well with RMI over Bluetooth can also be observed from our experimental results. Note that our support with RMI over Bluetooth also gives more high-level control with Bluetooth environments. System loads in the OS level can also be distributed to remote site servers with RMIs.
[1]
Dennis Gannon,et al.
Java RMI performance and object model interoperability: experiments with Java/HPC++
,
1998,
Concurr. Pract. Exp..
[2]
Geoffrey C. Fox,et al.
mpiJava 1.2: API Specification
,
1999
.
[3]
Dennis Gannon,et al.
Java RMI performance and object model interoperability: experiments with Java/HPC++
,
1998
.
[4]
George K. Thiruvathukal,et al.
Reflective remote method invocation
,
1998
.
[5]
Jason Maassen,et al.
An efficient implementation of Java's remote method invocation
,
1999,
PPoPP '99.
[6]
H. Kuhn.
The Hungarian method for the assignment problem
,
1955
.
[7]
Kathryn Fraughnaugh,et al.
Introduction to graph theory
,
1973,
Mathematical Gazette.
[8]
Michael Philippsen,et al.
A more efficient RMI for Java
,
1999,
JAVA '99.
[9]
H. W. Kuhn B R Y N Mawr College.
Variants of the Hungarian Method for Assignment Problems'
,
1955
.
[10]
James M. Rehg,et al.
A Compilation Framework for Power and Energy Management on Mobile Computers
,
2001,
LCPC.
[11]
Jenq Kuen Lee,et al.
Object oriented parallel programming: experiments and results
,
1991,
Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).
[12]
Alex Pothen,et al.
PARTITIONING SPARSE MATRICES WITH EIGENVECTORS OF GRAPHS*
,
1990
.
[13]
Ilya Baraev,et al.
JAVA APIS FOR BLUETOOTH WIRELESS TECHNOLOGY
,
2002
.
[14]
Leandros Tassiulas,et al.
Distributed topology construction of Bluetooth personal area networks
,
2001,
Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).
[15]
Brian W. Kernighan,et al.
An efficient heuristic procedure for partitioning graphs
,
1970,
Bell Syst. Tech. J..
[16]
Jenq Kuen Lee,et al.
Parallel Array Object I/O Support on Distributed Environments
,
1997,
J. Parallel Distributed Comput..