Improved Mechanism for Efficient object Pooling in J2ME Based Mobile Phone

Similar documents
Overview of Java 2 Platform, Micro Edition (J2ME )

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming

DAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming

An Object Oriented Record Management System (OORMS) for M-Commerce System Based on J2ME Wireless Tool Kit

Comprehensive Analysis with KVM Techniques and Implementation of Object Pool Based on J2ME RMS

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course?

CM0256 Pervasive Computing

JXTA for J2ME Extending the Reach of Wireless With JXTA Technology

Device Technologies I J2ME & WinCE

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Imperative model of computation

Developing Games for J2ME Technology- Enabled Mobile Devices

Distributed Gaming using J2ME. By Rekha Vaddepalli

Towards Introducing Code Mobility on J2ME. Laurentiu Lucian Petrea and Dan Grigoras Computer Science Department UCC Cork, Ireland

A Location based Secure Access Control Method for Geospatial Data using Fine Grained Security Access Method

A Multi-Tenant Framework for Multimedia Conference System

Requirements and Issues of V**s for Mobile Terminals

Operating- System Structures

Bluetooth Scatternet Application. Sun Code for Freedom

Simulating a Finite State Mobile Agent System

A Finite State Mobile Agent Computation Model

AES and DES Using Secure and Dynamic Data Storage in Cloud

Software Development & Education Center. Java Platform, Micro Edition. (Mobile Java)

Research on Embedded Java Virtual Machine and its Porting

Mobile Application Design and Development With the use of J2ME Technology & UML m.khlaif Computer Science Dept Garyounis University

Research on Heterogeneous Communication Network for Power Distribution Automation

Research on the Application of Digital Images Based on the Computer Graphics. Jing Li 1, Bin Hu 2

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA

Software optimization technique for the reduction page fault to increase the processor performance

The Novel HWN on MANET Cellular networks using QoS & QOD

Advanced Data Organization for Java-Powered Mobile Devices

ST.MARTIN'S ENGINEERING COLLEGE Dhulapally,Secunderabad-014

J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES

Developing Mobile Applications

The principle of a fulltext searching instrument and its application research Wen Ju Gao 1, a, Yue Ou Ren 2, b and Qiu Yan Li 3,c

A Centralized Approaches for Location Management in Personal Communication Services Networks

Servlet Performance and Apache JServ

GrinderBench for the Java Platform Micro Edition Java ME

ProvideX On Handhelds

IX: A Protected Dataplane Operating System for High Throughput and Low Latency

Avoidance of Bottleneck in PCS Network

Research on Two - Way Interactive Communication and Information System Design Analysis Dong Xu1, a

Universal Communication Component on Symbian Series60 Platform

Qlik Sense Enterprise architecture and scalability

SDR Forum Meeting Report

MATLAB BASED LOCATION IDENTIFICATION WITHOUT USING GPS

JavaME TAMZ. Department of Computer Science VŠB-Technical University of Ostrava

Mitigating Hot Spot Problems in Wireless Sensor Networks Using Tier-Based Quantification Algorithm

Version 11

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

AC Care Mobile Application

Bhopal, , India 3 M.Tech Scholor,Department Of Computer Science, BIST Bhopal. Bhopal, , India

Protected Replica Placement Scheme to Improve Data Availability in Cloud Data Center

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne

Target Tracking in Wireless Sensor Network

CSE544 Database Architecture

File Annotation and Sharing on Low end Devices in PAN

AUTOMATIC VISUAL CONCEPT DETECTION IN VIDEOS

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

SR college of engineering, Warangal, Andhra Pradesh, India 1

BlackBerry Java Development Environment (JDE)

An Efficient Image Processing Method Based on Web Services for Mobile Devices

Mobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol)

Test Cases Generation from UML Activity Diagrams

MMAPI (Mobile Media API) Multimedia Framework for Mobile Devices

User Task Automator. Himanshu Prasad 1, P. Geetha Priya 2, S.Manjunatha 3, B.H Namratha 4 and Rekha B. Venkatapur 5 1,2,3&4

ADAPTIVE HANDLING OF 3V S OF BIG DATA TO IMPROVE EFFICIENCY USING HETEROGENEOUS CLUSTERS

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9

JSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level

Enhanced Live Migration of Virtual Machine Using Comparison of Modified and Unmodified Pages

Chapter 9: Virtual Memory

Related Work The Concept of the Signaling. In the mobile communication system, in addition to transmit the necessary user information (usually voice

An Efficient Image Sharpening Filter for Enhancing Edge Detection Techniques for 2D, High Definition and Linearly Blurred Images

In the most general sense, a server is a program that provides information

A QoS Load Balancing Scheduling Algorithm in Cloud Environment

Most common example today: wireless (cell) phones

Distributed Computing Environment (DCE)

Developing corporate mobile applications. An alternative approach to native development

Baoping Wang School of software, Nanyang Normal University, Nanyang , Henan, China

Chapter 8 & Chapter 9 Main Memory & Virtual Memory

Research Article A Two-Level Cache for Distributed Information Retrieval in Search Engines

ACCELERATING 2D GRAPHIC APPLICATIONS WITH LOW ENERGY OVERHEAD

OPERATING SYSTEM. Chapter 9: Virtual Memory

Performance Study of Interweave Spectrum Sharing Method in Cognitive Radio

High Level Architecture and Agent Technology based Astronautics Simulation Platform and Cluster Computing Environment s Construction

BVRIT HYDERABAD College of Engineering for Women Department of Information Technology. Hand Out

Liberate, a component-based service orientated reporting architecture

Java 2 Platform, Micro Edition

Mobile Game Programming. Just that facts.

Operating Systems. Computer Science & Information Technology (CS) Rank under AIR 100

Demand fetching is commonly employed to bring the data

Data Model Considerations for Radar Systems

Construction and Application of Cloud Data Center in University

MobileFinance (MF)-- A Component Based Approach to Financial Services

PennBench: A Benchmark Suite for Embedded Java

Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications

About a Framework for Integrating Smart Devices in Java Applications

TEFS: A Flash File System for Use on Memory Constrained Devices

Data Interface Design for Java-Based Mysql Database

Chapter 1: Distributed Information Systems

Transcription:

Abstract Nowadays mobile phones are expected to handle huge volume of multimedia data which is very challenging due to the small memory size of the mobile phone sets. J2ME services play an important role in the field of communication industry. J2ME provides newest java virtual machine technology called K Virtual Machine (KVM) and it is designed for product with approximately 128 KB of available memory. The KVM plays an important role in java virtual machine and will form a part of a completely new java runtime environment. This environment is highly optimized for small memory limited resources connected devices such as cell phone, pagers etc. In the proposed system, an object pool has been designed using virtual memory. An object pool is set of initialized objects that are kept ready for use, rather than allocated and destroyed on demand. In the proposed system, an object replacement algorithm called Least Recently Used (LRU) is applied. In LRU least recently used object are dropped when object pool is overflow, only frequently used objects are stored in the object pool and reuse them when needed next time. In the proposed system, J2ME component like CLDC, MIDP and RMS for local storage are used. At last, result clearly shows that the comparison between traditional method and using pooling method. Improved Mechanism for Efficient object Pooling in J2ME Based Mobile Phone 1 Zuber Fraooqui, 2 Vineet Richharia, 3 Suneel Phulre A. J2ME Architecture The J2ME architecture is intended to be modular and scalable so that it can support the kinds of flexible deployment demanded Keywords CLDC, MIDP, RMS, LRU, object pool. Fig. 1: J2ME Architecture. I. Introduction In the modern world, people communicate with each other more and more tightly because of all kinds of advanced communication solutions. Traditional telephone cannot satisfy the growing demands in an informational fast pace society. The Mobile phone makes the user be able to initiate or receive a voice call from anywhere within the service coverage. Messages can be sent by just flipping the keyboard. Things become more instantly to be solved via a cell phone or a laptop within an IP based wireless network. But for the cellular network and the wireless solutions themselves, the way they passed by was not that easy. All of these have gone through a long term development, and are still on their way to go forward. II. J2ME Java Platform, Micro Edition, or Java ME, is a Java platform designed for embedded systems (mobile devices are one kind of such systems). Target devices range from industrial controls to mobile phones (especially feature phones) and settop boxes. Java ME was formerly known as Java 2 Platform, Micro Edition (J2ME). Java ME devices implement a profile. The most common of these are the Mobile Information Device Profile aimed at mobile devices, such as cell phones, and the Personal Profile aimed at consumer products and embedded devices like set-top boxes and PDAs. Profiles are subsets of configurations, of which there are currently two: the Connected Limited Device Configuration (CLDC) and the Connected Device Configuration (CDC). by the consumer and embedded markets. To enable this, the J2ME environment provides a range of Java Virtual Machine technologies, each optimized for the different processor types and memory footprints commonly found in the consumer and embedded marketplace. For low-end, resource-limited consumer products, the J2ME environment supports minimal configurations of the Java Virtual Machine and Java libraries that embody just the essential capabilities of each kind of device. As device manufacturers develop new features in their devices or service providers develop new and exciting applications, these minimal configurations can be expanded with additional libraries that address the needs of a particular market segment. To support this kind of customizability and extensibility, three essential concepts are defined by the J2ME architecture: 1. Configuration. A J2ME configuration defines a minimum platform for a horizontal category or grouping of devices, each with similar requirements on total memory budget and processing power. A configuration defines the Java language and virtual machine features and minimum class libraries that a device manufacturer or a content provider can expect to be available on all devices of the same category. 2. Profile. A J2ME profile is layered on top of (and thus extends) a configuration. A profile addresses the specific demands of a certain vertical market segment or device family. The main goal of a profile is to guarantee interoperability within a certain vertical device family or domain by defining a standard Java platform for that market. Profiles typically include class libraries that are far more domain-specific www.ijcst.com In t e r n a t i o n a l Jo u r n a l o f Co m p u t e r Sc i e n c e & Te c h n o l o g y 113

3. than the class libraries provided in a configuration. One device can support multiple profiles. Optional package. Some APIs are applicable to a large number of devices and device families. A J2ME optional package is a set of APIs that is layered on top of (and thus extends) a profile. An optional package typically contains functionality that is independent of any particular vertical market segment or device family. The main goal of an optional package is to allow the definition of APIs that can be added flexibly on top of a number of different profiles. One device can support multiple optional packages. III. RECORD MANAGEMENT SYSTEM (RMS) Data storage and retrieval is an essential aspect of application development. The data that is stored will depend on the type and complexity of the application. In some cases the only persistent data to be stored is the application user preferences. In other cases you may need to store and manage a repository of contact information. On the high end, we could be designing a data storage solution for a full range of supply-chain data. No matter what the case, there is just one all-purpose data storage and management solution for MIDP-enabled devices and that is the Record Management System (RMS). The J2ME record management system (RMS) provides a mechanism through which MIDlets can persistently store data and retrieve it later. In a record-oriented approach, J2ME RMS comprises multiple record stores. An overview of J2ME RMS and MIDlet interfacing is given in Fig. 2. Fig.2: Architecture of the RMS database Each record store can be visualized as a collection of records, which will remain persistent across multiple invocations of the MIDlet. The device platform is responsible for making its best effort to maintain the integrity of the MIDlet s record stores throughout the normal use of the platform, including reboots, battery changes, etc. A record store is created in platform-dependent locations, like nonvolatile device memory, which are not directly exposed to the MIDlets. The RMS classes call into the platform-specific native code that uses the standard OS data manager functions to perform the actual database operations. IV. Related Work 1. Zhao Liang, Xia Yang and Zhang Wei, an object pool model based on RMS is proposed. Aimed to solve the Memory peak problem in J2ME, on the basis of object pool design pattern, an object pool model used RMS is designed and implemented. According to the test result, the performance 114 International Journal of Computer Science & Technology ISSN : 0976-8491 (Online) ISSN : 2229-4333(Print) of program can be increased and the memory overhead can be reduced by using the model. 2. Shahiduzzaman M.M., Naznin M., Ur Rahman A.A, they have developed an application that incorporates a novel technique which uses and enhances the Record Management Store (RMS), a subsystem of Mobile Information Device Profile (MIDP), which not only captures, upload and download multimedia data efficiently but also provides significant improvement over existing mobile applications in terms of portability and security. 3. Haklin Kimm, Shin, S.Y., Shim, C.Y., they propose two approaches to improve current Java mobile information device profile (MIDP) record management system (RMS) in wireless devices and compare the approaches with current MIDP RMS. These approaches promote the efficient use of Java MIDP RMS in wireless devices such that a faster record retrieval using a smaller memory is achieved, which makes the device consume less battery power. 4. Xu JunWu and Liang JunLing, describe about the use of The Java 2 Platform, Micro Edition (J2ME) to develop mobile applications. For 3G networks which introduces the structure of our J2ME computer vision library and describes the implementation of algorithms in our library. A type of J2ME-based mobile e-commerce system design program is presented; the program has the advantages such as simple realization, strong manoeuvrability. 5. Sanjay Chadha discusses various issues about J2ME applications. In particular, he discusses two security concerns. First, he points out that the J2ME built-in security is not enough because the application has to be delivered to the device before it is processed through the security verification process. He claims that this is not sufficient in the wireless world since it is already too late if a malign application is delivered to a mobile device V. Proposed Methodology And Implementation In this section, the methodology of the proposed system has been described. Fig. 3 shows the overall working of the proposed system. Proposed system works in two modes, one with pooling mode and other without pooling mode. Whenever an object needed by a mobile device, firstly system checks whether it is in with pooling mode or without pooling mode. If it is in without pooling mode then request is given to the server directly and server responds to that request. Whenever a mobile device again requests for the same object the same procedure will apply. This process is time consuming because there are three stages in life cycle of Java object: object creation, object using and object destruction. Every object uses these three stages every time. This drawback is removed by the concept of object pooling. In with pooling mode, whenever an object needed by a mobile device, system checks whether that object exists in the object pool or not. If it does not exist in the object pool then that request is given to the server and server responds of that request but at this time object pool keeps a copy from the mobile device of that object before destroying, for future use. Whenever a mobile device accesses the same object again then this object is fetched from the object pool. www.ijcst.com

Fig. 3 : The overall steps of the proposed system When object reside in the object pool, then that object is given to the mobile device directly. An object pool is a set of initialized objects that are kept ready to use on demand, rather than allocated and destroyed on demand. A mobile device will request an object from the pool and perform operations on the returned object. It is a specific type of factory object. Object pooling can offer a significant performance boost in situations where the cost of initializing a class instance is high, the rate of instantiation of a class is high, and the number of instances in use at any one time is low. The pooled object is obtained in predictable time when creation of the new objects (especially over network) may take variable time. However these benefits are mostly true for objects which are expensive with respect to time, such as database connections, socket connections, threads and large graphic objects like fonts or bitmaps. An object pool uses the virtual memory for storing the object. Virtual memory is a catch-all phrase for the abstraction of physical memory via a virtual address space. In all cases a virtual memory manager is responsible for maintaining this virtual address translation. Generally speaking the definition also includes the responsibility of operating a large virtual address range within a smaller available physical memory. This process involves the transfer of blocks of memory from a secondary source to the primary memory whenever necessary for program execution. It is the virtual memory manager s responsibility to provide a level of abstraction for programs, allowing them to operate seamlessly without any knowledge of the underlying system. If implemented properly, software can be written for these systems using a relatively large virtual address range, while running on a small amount of physical memory with little reduction in speed. In the proposed system, Least Recently Used (LRU) is used for replacing object in the object pool. LRU is one of the most basic page or object replacement approaches and uses a page as an indication of its worth when searching for a victim page. LRU was designed to take advantage of normal program operation, which generally consists of a series of loops with calls to rarely executed code. fig. 4 shows overall working of the LRU in proposed system. Fig. 4 : Working of LRU In proposed system, an object pool can store maximum four objects at a time. In fig. 6, indexing of an object pool start from zero to three i.e. it contain four object. Initially object pool is empty; when first object arrives then it will be store in third indexing position of an object pool. When second object (No. 3 object) arrives in an object pool, it will be store top of the previous object, means indexing of that object is two. When new object arrives same procedure will be apply. Now mobile device sends a request for number 3 object again, at this time third object come from index number 2 to index no 1 and number 4 object shifted to second position of an object pool, means recently used object reside in the pool at the top position of an object pool. In case an object pool is full then least recently used object will be deleted. In our example, index number 3 of an object pool store least recently used object, means number 1 object will be deleted in an object pool. This procedure will be repeated when all request generated by the mobile device. Fig. 5 : Design of proposed system. VI. Result Analysis This section describes the experimental results and performance evaluation of the proposed system. The proposed system is implemented in Java 2 ME and the performance of the system is evaluated using Java Micro edition SDK simulator and compared with traditional system. In J2ME, Object initialization contains a number of time-consuming operations mobile devices need to access some objects frequently to instantiate the object. This makes equipment focus on creating these objects rather than the using these objects. The use of the object pool technology properly can effectively reduce the consumption of object generation and initialization improves the operating efficiency of system. Fig.6 shows the proposed system works in the without pooling mode. In this mode, whenever a request is generated by a www.ijcst.com In t e r n a t i o n a l Jo u r n a l o f Co m p u t e r Sc i e n c e & Te c h n o l o g y 115

mobile device then request is given to the server for processing and server respond for that request. In this procedure large amount of time was taken for loading image in the mobile device. In our example, four images with different size and different dimension. Image loading time varies with respect to the dimension of the image ISSN : 0976-8491 (Online) ISSN : 2229-4333(Print) object pool rather than server. Due to this mechanism the access time of loading image object is reduced. Image object which is frequently used in J2ME phone, will lead to memory peak by using excessive number of images. In the proposed system, Image object used effectively shows the advantage of object pool technology. LRU is also used for object replacement in the object pool. LRU one of the basic algorithms for object replacement and it was designed to take advantage of the basic algorithms for object replacement and it was designed to take advantage of normal program operation, which generally consists of a series of loops with calls to rarely executed code. Fig. 6 : Proposed system in without pooling mode. For analyzing the result, four images having dimension are 59 X 44, 103 X 77, 113 X 85 and 186 X 141. Small dimension image loading time is less as compare to the large dimension image. Time taken for storing image in the memory depends upon the dimension. In this process request is given to the server and server process that request and then reply. This process is time consuming because there are three steps for initialization of object i.e. object creation, object using and object destroyed. Fig. 8 clearly shows that how much of time required for loading different image objects. This drawback is reduced by the concept of object pooling. For object pooling proposed system works in with pooling mode. Fig. 7 shows the proposed system works in with pooling mode. In this mode, when first time request is generated by a mobile device then this request given to the server and server respond for that request in traditional method same as discuss in without pooling mode. Whenever same object needed mobile device again then system checks whether that object exist in the pool or not. In first time, before destroying object mobile device copy that object into object pool. Whenever same object needed then mobile device fetch that object from object pool. And object pool can store set of initialized objects that are ready to use on demand, rather than allocated and destroyed on demand. In object pool, LRU manage the mechanism of allocation and deletion of objects in an object pool, same as discuss above in working of LRU in section proposed methodology. For analyzing the result, same four image object used in without pooling mode. In with pooling mode loading time of image object is less as compare to the without pooling mode. In object pooling, the object is fetched by the mobile device from the 116 International Journal of Computer Science & Technology Fig. 7 : Proposed system in with pooling mode Fig. 8 clearly shows the difference in performance of the proposed system without pooling mode and also with pooling mode. For same dimension image object, loading time of object in with pooling mode is less then object loading time in without pooling mode. For example, image object having 186 X 141 dimension takes 70 ms in the without pooling mode but it takes 30 ms in the with pooling mode. In this scenario clearly shows that the proposed system reduces the access time using object pool mechanism. Fig. 8 : Result calculation of proposed system www.ijcst.com

VII. Conclusion In the proposed system, an object pool in virtual memory of RMS has been developed. Proposed system works in two modes one is without pooling mode and other is with pooling mode. In without pooling mode mobile device request is given to the server and server responds to the mobile device normally. This process requires large amount of time for initialization and destroying the object. But in with pooling mode, first time object access from the server side and before destroying object is stored in the object pool. Whenever mobile device wants to access same object again then this object is fetched from the object pool. If object pool is full then the object is deleted from the object pool with the help of Least Recently used (LRU) algorithm. In LRU method the objects that are least recently used by the mobile device were deleted. In the proposed system, results are analyzed with the help of Java Micro Edition SDK simulator. Results clearly show the comparison between proposed system and traditional system. The size of the object pool is very important. Also, the pool size must be properly tuned to get the desired performance result. If it is too small, it will not prevent allocation; and if it is too large, resources that could get reclaimed will instead sit idle in the pool. The number of the resources can affect the efficiency of the object pool. Zuber Farooqui received his B.E. degree in Computer Science and Engineering from All Saints College of Technology, Rajeev Gandhi Technical University Bhopal, India in 2007. He is pursuing M. Tech. from Laxmi Narain College of Technology, Rajeev Gandhi Technical University Bhopal, India. His research interests include Mobile Communication, Intrusion Detection System, Mobile Computing, Fuzzy Logic and Neural Network. Reference [1] Zhao Liang, Xia Yang, Zhang Wei, design and implementation of object pool based on j2me rms, 2010 International Symposium on Intelligence Information Processing and Trusted Computing, IEEE. [2] Shahiduzzaman M.M., Naznin M., Ur Rahman A.A, Portable and secure multimedia data transfer in mobile phones using Record Management Store (RMS), Computer Science and Information Technology (ICCSIT), 2010 3rd IEEE International Conference July 2010. [3] Haklin Kimm, Shin, S.Y., Shim, C.Y., Two approaches to improve Java MIDP record management system in wireless devices, Electro Information Technology, 2005 IEEE International Conference May 2005. [4] Xu JunWu, Liang JunLing 2010 Second International Workshop on Education Technology and Computer Science, IEEE. [5] S. Chadha. J2me issues in the real wireless world. [Online] Available: http://www.microjava. com/articles/ perspective/issues/content_id=4323, January 2003. [6] LIAO Yong-gang, YU Dong-mei, ZHANG Qiu-yu, Study of architecture and securitymechanism for J2ME, Computer Engineering and Design, 2006.8, 52-54. [7] GAO Zhengguang and LI Qiyan, An Object Pool Model in Multi-thread Concurrency Environment, Computer Engineering, 2005.11, 104-106 [8] Wu Yueliang Mobile Business Application based on J2ME and Web Services, Eighth International Conference on Mobile Business, IEEE 2009. www.ijcst.com In t e r n a t i o n a l Jo u r n a l o f Co m p u t e r Sc i e n c e & Te c h n o l o g y 117