Peer-to-Peer Communication on Android-Based Mobile ... - IEEE Xplore

12 downloads 118413 Views 273KB Size Report
applications for Peer-to-Peer (P2P) communication in Android- based smartphones as ubiquitous. Such increasing interest has been attributed to their ...
Peer-to-Peer Communication on Android-Based Mobile Devices: Middleware and Protocols Waheb A. Jabbar*1, M. Ismail*2 and R. Nordin*3 Dep. of Electrical, Electronic and System Engineering, Universiti Kebangsaan Malaysia 43600 Bangi, Selangor, Malaysia 1 [email protected], [email protected], [email protected]

*

Abstract— There has been an increasing interest of a wide number of scholars and researchers in promoting the applications for Peer-to-Peer (P2P) communication in Androidbased smartphones as ubiquitous. Such increasing interest has been attributed to their increasing perception of these devices. There is a wide use of many P2P applications in mobile devices. These applications include IM, VoIP, file sharing, social networks, and video streaming. This paper describes a proposed Android-based middleware acts as the interface point between mobile nodes and higher application layers for mobile ubiquitous computing. The middleware mainly aims at supporting and enhancing the protocols for direct P2P communication among users in the ensemble mobile environment. Moreover, the paper presents a discussion of the available P2P middleware for the mobile environment along with its applications. Furthermore, the paper moves on to providing the mobile devices limitations and the challenges encountered in the adoption of the P2P communication technology in the mobile environment. Finally, the paper is concluded by presenting the directions for future research as to develop a middleware with necessary APIs and implement an enhanced P2P protocol in the proposed middleware on Android-Based mobile devices. Keywords- Android OS, P2P Protocols, Middleware, Ensemble Mobile Environment, MANET.

I.

INTRODUCTION

Recently, Android-based Smartphones and tablets have been rapidly advancing. The popularity of these advances of smartphones has been increasing because they are powerful multimedia devices which are accompanied with rapid processors, effective energy consumption, and good quality, high-resolution touch screen with embedded cameras and sensors. A lot of users are still increasingly interested in capturing and sharing their multimedia content. For example, in the development of an entertainment system at home, there may be willingness on the part of the smartphone user to upload their generated content such as newly-taken photos or videos to a nearby smartphone or tablet device as a part of this system. For some users, the kind of multimedia receiving the content automatically from one particular source can be perceived as of great interest. However, such users still encounter the problem relevant to the prohibitively expensive

978-1-4673-5814-9/13/$31.00 ©2013 IEEE

Fig. 1.

Ensemble Mobile Wi-Fi network

transfers when using a mobile wireless data connection such as 3G and uploading to a traditional web server. Thus, it is pointed out that users are usually subjected to wireless data plans with limited usage. It is a matter of fact that the design of P2P protocol in a mobile environment mainly relies on the underlying wireless technology such as Wi-Fi and Bluetooth. However, for designing the P2P applications for different devices, it only relies on the Lightweight Operating Systems running on these devices [1]. The manufacturers are developing and produced smart devices with a relatively cheap cost because of the ongoing competition, demand and critical mass. In the present proposed study, there are different reasons for selecting the Android-Based mobile devices including the widely opened source nature of the Google Android platform [2] where the entire operating system is open and accessible to developers and application writing is supported by the programming language Java, and can access easily to its software development kits (SDKs), which all have led to an explosive revolution of Android applications. What is most important is the way of being able to develop new applications as a necessity, thus, implementing them to the platform libraries. There has been a steady growth in the popularity of P2P communications and applications in the wired network

environment for the last few years. However, there is no efficient adaptation of these new technologies to the ensemble mobile environment[3],[4]. At the current time, smart phones and tablets have become a commodity and multimedia devices with high capability in the ensemble mobile environment as shown in Figure 1. In addition, the introduction of Wi-Fi Direct protocol on top of the existing wireless technologies has supported users with more chances of making a good use of the P2P communication with mobile devices at anytime and anywhere in a direct manner without any interface router or access point [5],[6]. The rest of the paper is structured as follows: Section II presents examples of related works. The proposed middleware with P2P protocol is described in Section III. Section IV provides a research methodology and hypothesis. A brief description of Android platform architecture is presented in Section V followed by an overview of the traditional P2P system applications and services in Section VI. The challenges and limitations are described in Section VII. Finally, the conclusions are drawn up in section VIII. II.

RELATED WORKS

The current paper provides a review of research on Mobile middleware systems. This section presents a review of previous research involving the definitions of the necessary concepts and middleware design goals and some middleware examples. Some work relevant to the development of lightweight mobile P2P involves”P2P Protocol for Mobile Phones” [7], the JXTA Project [8], JXME [9] Project, and Jupiter [10]. P2P Protocol and Applications for Mobile Phones has made great and practical attempts in designing and implementing a set of P2P protocols that facilitate direct communication between mobile phones. The set of protocols is recognized to support pure P2P network and hybrid networks with gateways Peers and a controller Peer. JXTA development began in 2001 and is still going on. JXTA is a set of open protocols that enable the formation and deployment of P2P networks. The developers can deploy P2P applications by using XML messages and benefits from a generic set of functionalities provided by JXTA. Groups of Peers are organized automatically or manually and are either protected private or public peers groups which are visible to each other. The next JXTA project, which is JXTE for J2ME is known as JXME [9] which defines relays peers to connect mobile peer with limited capabilities such as processor, memory and battery life to the JXTA environment. This project developed two versions of JXME proxied and proxyless depending on the way that mobile JXME peer can access the service of JXTA network. In the first version the peer needs to use a fixed relay peer to get the service and the relay becomes a gateway to enable the communications between two peers from the same JXME. However, in the second version of JXME, the Proxyless offers a light P2P framework for mobile environments and it is infrastructure-less and does not need any relays. Though different approaches which have recently emerged such as Gnutella 0.6 [10] CAN [12], Chord [13], or Tapestry [14] have led to a significant reduction in the signaling

overhead, the main area for their applications is still a static network. The aim of such approaches is not to match the virtual P2P overlay network to the real network, thus, making them not compatible within MANET scenarios. Here several examples of current or proposed middleware systems are presented, which place a heavy emphasis on mobile middleware, and at the same time, different problem areas where middleware can be used. “Jupiter” [10] as a P2P networking platform is taken as an example of platforms over heterogeneous networks .The purpose of this platform is to permit various devices to communicate with one another across various networks. Furthermore, the use of the architecture of the platform with protocols, P2P applications, and APIs is to realize P2P networking among various devices. Some middleware systems are especially invented or developed for P2P networking. Besides these different implementations of P2P systems which are middleware in their functionalities and they run between the network layer and the application layer, there are particular software systems for P2P networking which are obviously called middleware by their developers. Examples of such mobile P2P middleware include Plug-and-Play Application Platform (PnPAP) [1] to carry out dynamic switching of networking technology entities such as P2P protocols. Chedar [15] is another example and applied for exchanging resources among the peers. In [16] surveying the middleware systems that used on top of P2P for distributed computing services, the infrastructures of grid computing are presented. It is stated that there is still a necessity for more easy-to-use middleware to facilitate P2P communication among mobile users. The applicability of other middleware systems for facilitating operations in wireless ad-hoc networks has been also provided in previous work. However, the integration of MANETs and P2P applications for Androidbased mobile devices still new area for researchers. III.

THE PROPOSED MOBILE P2P MIDDLEWARE

The basic assumption of constructing the proposed P2P communication protocol for mobile middleware in the ensemble mobile environment is that it is expected to empower smart devices so that they can carry out both synchronous and asynchronous patterns and kinds of communication. Each device in this particular environment comprises of the layer structure as displayed in Figure 2. Due to the increasing perception of Android-based smartphones as ubiquitous, many scholars and researchers have become increasingly interested in developing the applications for P2P communication in these devices. Moreover, P2P communication in these devices is increasingly applied because Google’s Android (OS) is a free and open source for developers to construct their applications employing the Android SDK, thus, adding them to the Android libraries. Therefore, the major focus of the present work in this paper is an Android-based middleware as the proposed middleware, which plays a major role in functioning as the interface point between mobile nodes and higher application layers of ensemble mobile computing environment. It is assumed that the current proposed P2P communication protocol in the proposed mobile middleware will be able to facilitate the P2P communication between various nodes and

Applications APIs Support P2P Communication

Middleware P2P Communication Protocol

Light-weight OS (Android)

Linux Kernel

Radio Technology Bluetooth, Wi-Fi, Wi-Fi Direct

However, the common problem which still faced by many users is relevant to the prohibitively expensive transfers especially in cases when using a mobile wireless data connection such as 3G and uploading to a traditional web server. It is stated that users are usually subjected to limited plans of wireless data. Finally, it is hoped that by integrating Wi-Fi Direct into some Android-based smartphones as well as Bluetooth and IEEE 802.11 WLAN technology as a short range wireless network technologies, it is possible for users to be given more opportunities to make a good use of the P2P communication with mobile devices at anytime and anywhere in a direct manner without any interface router or access points. However, it should be admitted that the proposed applications are still restricted due to the limited connection numbers for using Bluetooth and the high energy consumption for using Wi-Fi in an ad-hoc network.

Hardware IV. Fig. 2. Node’s Structure

will be an enhanced version of the existing P2P protocols. For the APIs layer, it will support the interface for P2P and other diverse applications to communicate with the middleware layers. Since the device hardware layer is the lowest layer under the operating system, the lightweight operating system of the mobile devices will be an Android OS and its location is just under the middleware layer. The formation of ad-hoc networks, which are categorized as a local network for real time communication will be provided by the smart mobile devices. To enable all of these networks for performing synchronous communication, they are proposed to be connected via the Internet. Thus, the current research mainly aims to enhance the protocol for mobile P2P middleware on the top of Android OS together with APIs as to support application development for an Innovative Digital Economy environment. To achieve this, the mobile middleware will use the existing wireless technologies such as Bluetooth, Wi-Fi or Wi-Fi Direct which are supported by Smartphones and the middleware mainly aims to support and enhance the direct P2P communication among users in the ensemble mobile environment. Since there has been an increasing tendency of using an Android-Based mobile Smartphones and tablets among many users, the proposed middleware has various applications in the current paper. For example, in a given university campus where students and staffs move around inside the campus between faculties, departments and offices, they usually need to communicate with their colleagues by using their cell phones but the network carrier charges for these calls. However, by applying the proposed middleware for P2P communication in such a university campus, it would be more possible for them to be able to make calls and exchange data at no cost at all by using the available wireless technology supported by their devices easily and free of charge. Thus, to sum up the applications and the developed APIs for the proposed middleware, users will be enabled to make voice calls, IM, and share files such as audio/video files or documents based on Bluetooth or Wi-Fi which depends on the distance between user’s devices.

RESEARCH METHODOLOGY AND HYPOTHESIS

The research methodology adopted in the current research is illustrated in Figure 3. It is expected that the network routing would become very complicated in dense mobile networks. Therefore, the routing protocol of the mobile ad hoc network still remains the major issue for this hypothesis. Based on the aim of this research, it is expected that by applying the proposed middleware, the functionality and the user experience of the Android-Based Smartphone in several points can be enhanced or improved. Moreover, it will be able to control the short range wireless connectivity, such as Bluetooth, Wi-Fi and Wi-Fi Direct (if applicable). By applying the middleware, it will be more possible to decide the type of wireless technology to be used based on different tasks and the distance between devices. Position Number of nodes

Formation of MANET Android-based mobile devices

Which application to run?

Node residual energy Node transmission power Distance between nodes

Which wireless technology to use?

Simulate Routing Protocol

Packet Delivery between nodes

Evaluate the performance of the protocol and applications (Middleware)

Results Fig. 3 Research methodology

However, selecting what activity to be performed by other peers via the user interface can be decided by the user. In addition, the proposed middleware will potentially save trusted destinations and blacklist users in a local database to enhance the security issues for future connections. Finally, the aim of the current research will be also realized through testing. V.

ANDROID PLATFORM ARCHITECTURE

Android architecture has built-in tools and support which is a distinguished feature that provides users with more possibility and easiness in carrying out different applications, while at the same time, it is possible to allow the system to maintain control over the various kinds of device application. Only by making a bit of consideration and some small changes in the manifest file of the application, there is a possibility of ensuring that users involved in using such devices which are not capable of carrying out such an application will never be capable of witnessing it in the Android Market, and will not be involved in troubles attempting to download it. This evidently indicates that the system is capable of controlling which types of devices that can access to its applications, and how to make its applications ready in a way that the right audience is reached by them[2],[17].

application is independently or in its own process, and it enjoys the proprietary instance which is distributed by the Dalvik virtual machine, and supports multiple virtual machines operating on the same device efficiently.

Based on this review, it is evident that through Android, it is becoming more possible to provide an open platform for developers who are becoming more able to develop tremendously rich and new applications. They can also be free to enjoy the device superiority, access different locations of information, run background service, add information to the status bar, set up an alarm, and so on.

C. Application Framework The application architecture is designed for simplifying the components reuse; the capabilities of any application can be published and can be reused by other application (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.

The same framework is fully accessible to developers since the major applications use APIs. Thus, the function of the application architecture is regarded as the process of simplifying the re-use of components. This means that it is possible for any application is to publish its abilities which are of great possibility to be utilized by any other applications. Moreover, by using the same mechanism, the user can replace these components. Top-to- bottom description of the Android platform reveals that it comprises the Linux kernel, system libraries, Android run time, and application framework and so on five parts as shown in Figure 4 of the following:

D.

A. Linux Kernel Android mainly relies on the version 2.6 of Linux which can support services of core system including memory management, security, network group, process management and driven model. Thus, the major part of the system is equal to an abstract level between the hardware and other software in the systems. B. Library and Android Runtime Android consists of a set of C/C++ libraries, and it includes different components which are currently used. The exposure of the various functions to developers can be achieved over the Android application framework. The core libraries of Android provide the Java class libraries with the majority of the functions. It is also obvious that the operation of every Android

Fig. 4 Android Operating System Architecture [17]

Applications Java programming language is used in the transcripts of Android applications. The Android SDK tools consist of the code with all data and resource files-into an Android package and an archive with an .apk expansion file. The entire code in a single .apk file is considered as an application and as an installation file for Android-powered devices. The Android platform default includes a group of core applications, and it also comprises home, browser, communication services, contacts, and other applications. The Java programming language is used to write all these different applications. It can also provide developers with a reference. Due to the equality of the applications in the Android platform, there is a possibility for developers to develop their own applications by changing or modifying the default applications provided by Google Android. VI.

P2P SYSTEM APPLICATIONS AND SERVICES

Most of the widely used P2P applications are for file sharing services which started from Napster via Gnutella and KaZaA to BitTorrent [18]-[20]. Moreover, the voice-over P2P applications (VoIP) to make voice calls such as Skype are other services of P2P applications which will benefit from mobile P2P and could be adapted to run in the mobile P2P environment which rely on direct communication among mobile devices of any kind. The heterogeneity of mobile devices and the desirable compatibility of the P2P system with

stationary hosts could create a pool of different features, with peers complementing each other. The following possible areas of P2P applications that can be considered [21], [22]: Voice communication: The P2P networks have high potential to provide real-time audio and video calls through many VoIP applications such as Skype. Voice communication services do not certainly need a dedicated infrastructure, nor a lot of computational power or bandwidth. Text messaging: Instant Messaging (IM) is another widely used category of mobile P2P applications. In order to be a time-insensitive service, IM can easily be implemented to mobile devices. Each peer would buffer a message only until it can be forwarded to another peer which is destination’s neighbor according to the routing protocol. Many IM applications have implemented in the current mobile platforms but all are Internet-based applications. Photo/video sharing during an event: This category of P2P applications may be one of the most popularly so far. Some events such as sports or any other occasions motivate people that share a common interest to gather together. Their proximity allows a local mobile P2P network to be molded, and thus peers can share photos or videos (or any other type of information relevant to that event). It is well-known that such occasions represent a tough challenge for mobile networks due to the many connections within a small area. Video streaming or video on demand (VoD) are currently representing a big portion of the mobile traffic and are rapidly growing. Local social networking: Facebook and Twitter social networks are becoming widely used to connect people who have common interests and the addition of location information, while still unformed, will provide influential capabilities. In addition to encouraging these capabilities, the social networks should be adapted to run over the mobile platform of the ensemble mobile environment regardless of the ability to access the Internet. Multi–player gaming: The proposed adapted P2P applications for the games requiring more than one player will be available in both cases Online through the Internet and Offline in the local P2P network in the ensemble mobile environment. Last–mile connectivity: Many rural areas are out of coverage of the cellular or data networks and there is no Internet connection, such as farms. There is a necessity of the self-organizing mobile P2P network to connect peers with others who have an Internet connection or cellular network coverage. Many other P2P applications can be adapted to be used in the ensemble mobile environment for dissemination of data about traffic, emergency situations, and daily activities.

environment heterogeneity of (users, devices, networks). Therefore, different requirements should be taken into considerable account for P2P in ensemble mobile environments, and they are highlighted as follows [23], [24]: • The traffic overhead of P2P lookup needs to be reduced as much as possible, so that mobile devices transmission data rates of can be increased. • The high churn rates should be addressed because of the open and non-deterministic nature of the nodes which joins and leaves frequently. • The limitation of mobile device resources and the of nodes heterogeneity and their diverse capabilities of device need to be considered. • The probability of failure should be well-managed and mobile devices need to be increased because of the breaks of link, discharged energy of batteries. • The generated traffic in the physical layer by taking into consideration the physical network characteristics. • Reliable and Trust models should be provided for supporting the users’ desires to comply with the rules of protocol. Thus, it is important to take into consideration these requirements in the proposed mobile P2P protocol for the ensemble mobile environment to overcome the challenges especially the mobility and heterogeneity. These limitations represent parameters that may be adjusted by the protocol programmer to optimize it for a particular mobile device. VIII.

CONCLUSION

The need for developing a middleware with an enhanced protocol for Android-based mobile devices is becoming real. Therefore the integrated of this middleware that would support best features of both systems MANET and P2P, namely middleware. It is expected that the proposed middleware with the enhanced protocols will allow smart device users to communicate among each other in real time by using various Android P2P applications. The verifying of the feasibility and outstanding performance of the developed protocol we will implement the protocols for real Android-based mobile devices after simulations to analyze the performance of the developed middleware with protocol and shows that it works as proposed. Further, more detailed, investigations are necessary in the future works. ACKNOWLEDGEMENT The research was supported by Ministry of Higher Education (MoHE) Malaysia, under the grant scheme number LRGS/TD/2011/UKM/ICT/02/02. REFERENCES

VII.

CHALLENGES AND LIMITATIONS

Due to the increasing realization of the P2P concepts in the ensemble mobile environment, there are still a wide number of different challenges posed in this particular domain. To sum up, more such challenges are constituted by the mobile

E. Harjula, M. Ylianttila, J. Ala-Kurikka, J. Riekki, J. Sauvola,: Plug-and-Play Application Platform: Towards Mobile Peer-toPeer, pp. 63-69, (2004). [2] B. Han, "Analysis and Research of System Security Based on Android," in Intelligent Computation Technology and Automation (ICICTA), 2012 Fifth International Conference on, 2012, pp. 581-584. [1]

[3] [4]

[5]

[6]

[7] [8]

[9]

[10] [11] [12]

[13]

[14]

[15] [16]

[17] [18]

[19]

[20]

[21] [22]

[23]

R. Motta, J. Pasquale: Wireless P2P: Problem or Opportunity?, pp. 32-37 (2010). S. Kirsimäe, U. Norbisrath, G. Singer, S. Narayana Srirama, and A. Lind,: Extending Friend-to-Friend Computing to Mobile Environments, pp. 75-80 , (2011). N. Ishikawa, H. Sumino, T. Kato, J. Hjelm, S. Murakami, K. Kitagawa, N. Saito: Peer-to-Peer Networking Platform and Its Applications for Mobile Phones, Mobile peer-to-peer computing for next generation distributed environments: advancing conceptual and algorithmic applications, p. 374, (2009). W. A. Jabbar, M. Ismail, R. Nordin. “Framework for Enhancing P2P Communication Protocol on Mobile Platform”. Proceedings of the ICIA 12 Conference. Malaysia. 2012. H. Sumino, N. Ishikawa, T. Kato: ., "Design and implementation of P2P protocol for mobile phones," 2006, pp. 6 pp.-162. L. Barolli and F. Xhafa, "JXTA-OVERLAY: A P2P platform for distributed, collaborative and ubiquitous computing," Industrial Electronics, IEEE Transactions on, pp. 1-1, 2010. J. Arnedo-Moreno, et al., "Secure Communication Setup for a P2P based JXTA-Overlay Platform," Industrial Electronics, IEEE Transactions on, pp. 1-1, 2011. N. Ishikawa, et al, "Jupiter: Peer-to-Peer Networking Platform over Heterogeneous Networks," 2005 T. Klingberg, R. Manfredi. “Gnutella 0.6 RFC”. June 2002, rfcgnutella.sourceforge.net/draft.txt. S. Ratnasamy, P. Francis, M. Handley, R. Karp. S. Shenker. “A Scalable Content-Addressable Network”. Proceedings of the ACM SIGCOMM Conference. San Diego, CA. 2001 I. Stoica, R. Morris, D. Karger, M. Kaashoek,H. Balakrishnan. "Chord: A scalable peer-to-peer lookup service for internet applications," ACM SIGCOMM Computer Communication Review, vol. 31, pp. 149-160, 2001. K. Hildrum, et al., "Distributed object location in a dynamic network," Theory of Computing Systems, vol. 37, pp. 405-440, 2004. N. Kotilainen, M. Weber, M .Vapa & J .Vuori "Mobile Chedar-a peer-to-peer middleware for mobile devices," 2005, pp. 86-90. F . Xhafa, S . Pllana, L . Barolli and E. Spaho "Grid and P2P middleware for wide‐area parallel processing," Concurrency and Computation: Practice and Experience, vol. 23, pp. 458-476, 2011. Z. S. Hassan, "Ubiquitous computing and Android," 2008, pp. 166-171 J. Feng, et al., "Overlay Construction in Mobile Peer-to-Peer Networks," Mobile peer-to-peer computing for next generation distributed environments: advancing conceptual and algorithmic applications, p. 51, 2009. X. Shen, H. Yu, J. Buford, M. Akon,: Handbook of Peer-to-Peer Networking: Springer Publishing Company, Incorporated, (2009). U. Lee, S. Jung, D. K. Cho, A. Chang, J. Choi, M.Gerla: "P2P Content Distribution to Mobile Bluetooth Users": Vehicular Technology, IEEE Transactions on, vol. 59, pp. 356-367, (2010). F. H. P. Fitzek and H. Charaf, Mobile peer to peer (P2P): a tutorial guide vol. 28: Wiley, 2009. B. C. Seet: Mobile Peer-to-Peer Computing for Next Generation Distributed Environments: Advancing Conceptual and Algorithmic Applications: Information Science Reference, (2009). P. Tysowski, P. Zhao, K. Naik,: "Peer to peer content sharing on ad hoc networks of smartphones," 2011, pp. 1445-1450.

[24] R. Want, E. Schooler, L. Jelinek, J. Jung, , U. Sengupta ,D.

Dahle: Ensemble Computing: Opportunities and Challenges :Intel Industry, (2010).