Developments in mobile computing have changed user preference for computing in modern era. However, Smartphones have limited resources - smaller memory and cache, less powerful processors, limited screen size, etc. Therefore, it take too much time for computational intensive jobs. One way of improving performance of Smartphones is to offload its computation intensive tasks to more powerful servers, keeping the GUI to the phones. As the Smartphone and the backend server have different Software and Hardware Architectures and different Memory address Space, to migrate an executing process we need to clone the Stack, Heap and Process Control Block. In case of Recursive algorithms, additionally, we need to migrate the Data and the Control Stacks. A network monitor should check the network condition and take a decision dynamically for offloading. This paper introduces a system prototype named OCRA that shows such an offloading scheme using the Tower of Hanoi (TOH) as an example. The Smartphone is connected to the server through Wi-Fi. The system can perform multiple back and forth offloading between the server and the Smartphone. The system uses URLClass Loader to load the TOH class once into the JVM from Network at the beginning of the offload and uses Java Reflection API to instantiate and dynamically invoke the Tower of Hanoi methods by examining Stack Object. The system was tested and achieved more than 50% improvement in performance for higher values of N (no. of disks) as compared to execution on Smartphone alone.
Keywords
Cloud Computing, JVM, Network Monitoring, Smart Phone.
User
Font Size
Information