Mobile Peer-to-Peer Approach for Social Computing Services in Distributed Environment Ha Manh Tran Khoa Van Huynh School of Computer Science and Engineering International University Vietnam National University Department of Network and Service Management VNPT Dong Thap VNPT Group tmha@hcmiu.edu.vn Khoi Duy Vo khoahv.dtp@vnpt.vn Son Thanh Le School of Computer Science and Engineering International University Vietnam National University School of Computer Science and Engineering International University Vietnam National University khoivd@hcmiu.edu.vn ltson@hcmiu.edu.vn ABSTRACT This paper presents a mobile peer-to-peer approach that can be applied to build social computing services in distributed environment This approach features peer-to-peer networks with the support of mobile devices that allows users to participate in social computing services including data sharing and searching services Due to the limitations of system resource and network connectivity, mobile peers cannot easily undertake complicated operations, such as processing complex queries, indexing and transmitting large amount of data This approach employs a super peer peer-to-peer network to deal with the problem of peer heterogeneity It uses workstations as peers to assist mobile peers with insufficient storage, bandwidth and processing capability in dealing with complicated operations, while mobile peers possess ordinary operations such as publishing and searching data We have extended the Gnutella protocol to provide operations on peers and mobile peers The evaluation of the prototyping system has performed on a number of laboratory workstations and Android emulators to investigate the feasibility and scalability of the system Categories and Subject Descriptors C.2 [Computer Communication Networks]: Distributed Systems—peer-to-peer networks, decentralized online social networks, mobile applications; H.3.3 [Information Search and Retrieval]: [software bug report retrieval] Keywords Peer-to-Peer Networks, Decentralized Online Social Networks, Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee SoICT’13 December 05-06, 2013, Danang, Vietnam Copyright is held by the owner/author(s) Publication rights licensed to ACM ACM 978-1-4503-2454-0/13/12 $15.00 http://dx.doi.org/10.1145/2542050.2542064 Social Computing Services, Mobile Computing Services, Software Bug Report Retrieval INTRODUCTION Content delivery is the tendency of today data communication Social networks, peer-to-peer (P2P) networks and virtual communities, such as Youtube video sharing, Facebook social network, BitTorrent P2P network contribute a significant amount of digital content to the Internet These networks also attract a huge number of users participating in online services, such as online games, multimedia file searching and sharing, video and audio streaming With the growth of mobile and networking technology, users tend to use mobile devices for these online services on the Internet Mobile computing has been recently applied to social networks, P2P networks and virtual communities, where mobile devices not only use services but also undertake operations related to network formation and service provision Applying mobile devices to the complicated operations can be demanding, but challenging Mobile devices contain a number of limitations of network connectivity, system resource, peripherals and power consumption The networks using mobile devices possibly face several problems of intermittent connectivity, processing incapability and data unavailability, thus reducing the performance and reliability of the networks We propose a mobile P2P approach that employs an appropriate P2P network with the support of mobile devices to foster user online activities This approach first applies the super peer P2P network to support mobile devices as mobile peers for network formation This network combines peers and mobile peers to assist peers with limited storage, bandwidth and processing capability in dealing with complicated operations, such as processing complex queries, indexing large databases, or transmitting a large amount of data The approach then exploits the data sharing and searching capability of P2P networks to provide social computing services on distributed environment The contribution is thus threefold: Studying the existing P2P protocols and applications supporting for mobile devices, then proposing a mo- 227 bile P2P approach with network formation and search service Implementing several components of the prototyping system including query handler and data publisher with the extension of the Gnutella protocol Evaluating the feasibility and scalability of the prototyping system using software bug report datasets, such as RedHat, Mozilla, Ubuntu, Asterisk, etc The rest of the paper is structured as follows: the next section includes some background of P2P networks and mobile P2P networks, describes the existing P2P frameworks for building social networks and presents the requirement analysis of a feasible mobile P2P network Section provides a study of the existing mobile P2P protocols and the recent development of mobile P2P applications that help choosing an appropriate P2P protocol and development platform Section proposes a mobile P2P approach with the detailed design of system architecture, component communication and protocol support Several experiments in Section report the feasibility and scalability of the prototyping system before the paper is concluded in Section RELATED WORK A P2P network contains a large number of workstations that share computing resources including storage, bandwidth and processor power Each workstation or peer in the network acts as a client and server to consume and provide services respectively Peers can dynamically join and leave the network without causing the instability of other peers The network also possesses advantages in reducing collaboration cost through ad-hoc communication process and providing high fault-tolerance and scalability There are three types of P2P networks: structured, unstructured and hybrid networks The structured P2P network is tightly controlled in topology and a peer is fixed in a logical location when connecting to other peers This kind of networks uses Distributed Hash Table (DHT) to generate uniquely consistent identifiers for peers and resources such that the peers hold the resource indexes if their identifiers are in the same identifier space Lookup queries are forwarded to the peers which are closer to the resources in the identifier space The prevailing structured P2P systems are CAN [16], Chord [18], Kademlia [15], The unstructured P2P network is loosely controlled in topology and a peer connects to other peers in a random fashion Each peer maintains a list of resources in the local repository Flooding-based search is a common mechanism used to find resources in this kind of networks Peers send queries to the neighboring peers for queryhits The key disadvantage of these networks is severe scalability problem as the number of queries and peers increase The prevailing unstructured P2P systems are Gnutella [2], Freenet [6], BitTorrent [7] The super peer P2P network is a hybrid network that combines the characteristics of the P2P network with the client-server network to address the problem of heterogeneous peers, i.e., peers possess various capability of storage, bandwidth and processing power The study of Yang et al [23] has presented guidelines for designing the super peer network to take advantage of peer capabilities The super peer network comprises many clusters connected to each other to form either structured or unstructured P2P networks, in which each cluster contains a super peer and a set of clients The clients submit queries to, and also obtain queryhits from, their super peer while the super peers forward the queries and receive the queryhits on the super peer network The latest version of the Gnutella protocol has included this super peer concept The study of Hu et al [12] has proposed an architecture that uses mobile agents on Gnutella networks to support file sharing capability for mobile devices This study has used the JXTA framework [1] to implement the architecture However, our study applies mobile computing on P2P networks to build data sharing and searching services on mobile P2P networks It emphasizes data search capability of mobile P2P networks for social computing services, rather than only file sharing capability A mobile P2P network is a P2P network with both mobile devices and workstations acting as peers Differences between a mobile device and a workstation cause several differences between a mobile P2P network and a P2P network First, mobile devices face a problem of intermittent network connectivity due to battery exhaustion, network latency and low bandwidth, signal coverage and mobility Second, mobile devices possess limited system resources including less memory, weak processors and small storage compared to workstations Third, mobile devices contain limited input and output devices With these disadvantages, mobile peers cannot easily perform complicated operations on P2P networks, e.g., the shared data on mobile peers becomes unreliable due to intermittent connectivity; mobile peers become a bottleneck due to the incapability of processing queries To provide a feasible mobile P2P network, the problems of data availability and peer capability need to be addressed Moreover, mobile devices also need an application development environment with the full support of libraries, e.g., Android platform Decentralized online social networks provide various social computing services on distributed environment These services improve the limitations of the centralized servers by using the decentralized servers Several studies have applied P2P technology to building decentralized social networks Safebook [8] adopts a decentralized architecture relying on cooperation among users to deal with the user privacy and provider application It also builds trust relationship between users for using online applications LifeSocial [11, 10] tackles the problem of high administration cost on multimedia online communities that heavily depend on the centralized systems It uses a P2P framework to construct a network architecture and extend functions to include social networking services, such as user profiles, friend lists, groups, photo albums, etc This framework has later been applied for building secure online social networks PeerSoN [5] resolves the problem of user privacy and Internet connectivity on social networks It replaces the centralized authority of social networks and provides direct data communication between network nodes by using a P2P framework with encryption It also use distributed storage to foster local services Some of the studies have provided the prototyping systems and API interfaces for implementing services MOBILE P2P PROTOCOLS AND APPLICATIONS The study of Almudena et al [9] has included the overview of several existing mobile P2P protocols Several proto- 228 Table 1: Overview of mobile P2P protocols (as of Jan 2013) Protocols Platform License Update Proem Java No 2001 JMobiPeer J2ME No 2005 Mobile Chedar J2ME No 2005 Peer2Me J2ME No 2007 Gnutella Android No 2011 Symella Symbian No 2012 BitTorrent Multiple No 2013 Proprietary∗ Multiple Optional 2013 cols along with frameworks have been proposed for years, such as Proem [13], JMobiPeer [4], Mobile Chedar [14] and Peer2Me [22] These protocols share common characteristics of being without license and using the Java/J2ME platform The Symella protocol [3] is a Gnutella-like protocol proposed for file sharing applications on the Symbian platform Only few applications have found on these protocols According to our study, BitTorrent protocol [7] and some proprietary protocols have been heavily used for mobile P2P applications The BitTorrent protocol contains several advantages used for file sharing applications on both workstations and mobile devices A centralized server maintains torrent files that track peers participating in torrent, while downloading files occur on peers The proprietary protocols apply existing protocols such as SIP signalling protocol [17] to VoIP applications These protocols can easily be implemented on multiple platforms of mobile devices Table presents the update of the existing mobile P2P protocols as of January 2013 Items marked with * mean unpublished protocols The existing mobile P2P protocols contain multiple remarkable features We focus on exploiting the resource of mobile devices not only for file sharing applications but also mobile search applications Table reports the sharing and searching capability of the above protocols Except for the proprietary protocols used for VoIP applications, other protocols support file sharing features All protocols ignore sharing computing resources, thus making them hard to support computing applications that heavily use system resource on mobile devices Some protocols such as Proem, JMobiPeer, Mobile Chedar, Gnutella, Symella and BitTorrent provide basic search capability that allow peers to search file names by matching keywords The Mobile Chedar and BitTorrent protocols also use servers to support sharing and searching operations on peers Among several protocols, the Mobile Chedar protocol can be most suitable for mobile search applications except for one limitation of using Bluetooth technology for communication The BitTorrent protocol has been widely applied to file sharing applications Table describes an incomplete list of mobile P2P implementations based on the BitTorrent protocol The Android OS seems to be a good platform for mobile applications because a large number of open source implementations run on the Android OS These implementations have also attracted a large number of users MOBILE P2P APPROACH Figure plots the architecture of the proposed mobile P2P system that focuses on data sharing and searching services Note that the architecture can also be extended to covering specific social computing services There are two kinds of peers in this system: mobile peer and search peer Considering several limitations of mobile peers, search peers are designed to assist mobile peers’ operations while they are offline due to connection problems, resource constraint or battery exhaustion This architecture coincides the architecture of the super peer P2P networks [23], where search peers acts as super peers, and mobile peers are referred to as incapable peers, i.e., peers have insufficient capability to perform complicated operations The key difference is that search peers support searching facility by storing, locating and indexing data for mobile peers, while mobile peers foster sharing facility by publishing all data or a part of data on search peers Figure 1: Mobile P2P system topology With this system, mobile peers connect to at least one search peer when they get online There exist bootstrapping search peers available on the network Mobile peers advertise their data and possibly upload a part of their data to search peers Therefore, searching data only occurs on search peers, while retrieving data occurs on both search peers or mobile peers Mobile peers send queries to search peers, and then search peers in turn forward the queries to other search peers The queryhits with either the resulting data or the resulting mobile peers are responded to the querying mobile peers Mobile peers can also connect to the resulting mobile peers for downloading the resulting data Figure plots the communication of peers and components in the system Search peers and mobile peers possess the same components: peer controller, query handler, data publisher and database However, the functionality of these components can be different on each kind of peers Peer controller manages communication among peers and components This component exchanges information to both 229 Table 2: Overview of sharing and searching features of mobile P2P protocols (as of Jan 2013) Protocols Multimedia Computing Search Server Resource Resource Capability Support Proem Yes No Yes No JMobiPeer Yes No Yes No Mobile Chedar Yes No Yes Yes Peer2Me Yes No No Yes Gnutella Yes No Yes No Symella Yes No Yes No BitTorrent Yes No Yes Yes Proprietary∗ Optional No No Optional peers and components depending on several types of messages, e.g., a query is forwarded to the query handler component or a request of publishing data is forwarded to the data publisher component Query handler is responsible for query processing Upon receiving a query, this component obtains and processes relevant data from the database and returns the queryhit This component requires processing and storage capability, thus mobile peers can only use this component for downloading the results of the queryhits and processing very limited database Data publisher maintains data items and references from mobile peers This component creates indexes from the database for search methods Mobile peers use this component to keep track on the published data data before going offline The Gnutella protocol supports five types of messages: ping and pong used to probe the network, query and queryhit used to exchange data, and push used to deal with peers behind the firewall Downloading data is handled separately from this protocol A Gnutella message consists of header and content The attributes of the header are shown as follows: Original Gnutella message header + + + -+ + + | message id | descriptor | ttl | hops | payload length | + + + -+ + + The message id field is used to detect whether a message has already arrived at a certain peer before The payload descriptor field indicates the type of a message such as, ping (0×00), pong (0×01), query (0×80), queryhit (0×81) and push (0×40) The ttl field is the number of times that a message can be forwarded in the network while the hops field is the number of times that a message has been forwarded The payload length field is the in-byte size of the content that immediately follows the header The detailed structure of the content depending on message types is defined in the protocol specification [2] The ping and query messages remain unchanged, while the pong and queryhit messages are extended to carrying the publishing data and the resulting data exchanging between a mobile peer and a search peer, respectively The attributes of the pong and queryhit messages are shown as follows: Original Gnutella pong message + + + + -+ -+ | port | ip addr | num files | num kb | optional data | + + + + -+ -+ Figure 2: Communication of peers and components in the mobile P2P system The Gnutella P2P protocol [2] is most suitable for this system due to several reasons First, this protocol supports super peers for solving the problem of incapable peers, e.g., super peers are responsible for routing queries Second, this unstructured and flooding-based protocol provides flexible query processing, thus facilitating both keyword and semantic search methods Third, this protocol also bolsters data replication for better data availability Fourth, there are multiple open source implementations of this protocol The applicability of this protocol to the system is straightforward because this protocol has already been extended for the P2P search systems [21, 20] More specifically, the Gnutella messages need to be changed to enable more efficient search methods on search peers and allow mobile peers to upload Original Gnutella queryhit message + -+ + + -+ + + | num hits | port | ip addr | speed | result set | servent id | + -+ + + -+ + + Upon receiving the ping message from a search peer, a mobile peer uses the pong message to advertise the publishing data through number of file shared, number of kilobytes shared and optional data fields Upon responding the query message from a mobile peer, a search peer uses the queryhit message to include the resulting data through speed and result set fields The information of port and IP address specifies the downloaded peers The information of minimum speed and speed discloses the data transmission rate of the downloaded peers SYSTEM EVALUATION 230 Table 3: Overview of mobile P2P implementations based on the BitTorrent protocol (as of Jan 2013) Implementations License OS Update Num of Users Symtorrent Freeware Symbian 2011 100871 WinMobile Torrent Shareware Windows mobile 2013 90549 Transdroid Freeware Android 2013 6077 AndroidTorrent Freeware Android 2010 31657 tTorrent Lite Freeware Android 2013 11462 aDownloader Freeware Android 2013 36509 Swarm Torrent Client Shareware Android 2013 39675 RuTracker Downloader Freeware Android 2013 75864 Torrent Downloader Freeware Android 2013 124675 Torrent Engine Freeware Android 2013 10234 uTorrent Remote Freeware Android 2013 10483 Memory Usage (MB) 250 Search peer 200 150 100 50 20 40 60 80 100 Number of Bug Reports (x1000) Figure 3: Memory usage for different bug datasets on search peers Search peers are required to possess sufficient resource capability, while mobile peers play a role of incapable peers The first experiment measures the memory usage of a peer for different bug datasets Figure shows that a peer needs approximately 200 MB RAM memory to store 100.000 bug reports This memory usage is reasonable for a workstation with a normal hardware configuration A mobile peer possibly uses approximately 10 MB RAM memory to load a small number of 5.000 bug reports Note that bug reports are various in size ranging from few kilobytes to few megabytes A Gnutella peer in the Gnutella network obtains the resulting data indexes in the queryhit messages and then per- 10 Traffic Generation (MB) We have used a Java open source implementation of the Gnutella protocol that can run on workstations We have extended this implementation to run on Android emulators with data sharing and searching capability Note that the Gnutella protocol basically supports simple keyword based search method, while our system aims at providing more complicated search methods We have used software bug datasets [19] to evaluate data sharing and searching operations on the mobile P2P system Bug reports are crawled from several bug tracking systems, such as Bugzilla RedHat, Bugzilla Mozilla, Launchpad Ubuntu, Asterisk Mantis, etc A bug report usually contains meta-data for administrative activity and text description for problem solving, which allow the system to provide both keyword and semantic search methods The experiments mainly focus on the feasibility and scalability of the system In particular, we evaluate memory usage, network traffic generation, data availability and response time on the system Gnutella peer Search peer Mobile peer 20 40 60 80 Number of Queries 100 Figure 4: Average traffic generation comparison for the Gnutella peer, the search peer and the mobile peer forms downloading the resulting data from the other peers The download process is separate from the query process that usually generates a lot of network traffic on the network A search peer in the proposed system uses the queryhit messages to carry the resulting data except for situations that mobile peers refuse to publish data to peers Publishing data to peers improves data availability due to the intermittent connectivity problem of mobile peers The network traffic generated by peers therefore increases on the network considerably as the number of queries increases The second experiment compares the average traffic generated by the Gnutella peer, the search peer and the mobile peer using different query sets, as shown in Figure We have set 30 most relevant bug reports for each queryhit message and the content of each bug report significantly contributes the size of the message while the Gnutella queryhit message only specifies short file names A mobile peer only sends queries, receives queryhits and ignores the majority of the query process, thus generating less network traffic Mobile peers can choose to publish all data, a part of data or no data on search peers Data availability thus depends on the existence of mobile peers, given an assumption that search peers are rarely offline The third experiment compares three situations using different churn rates Churn rate presents the number of peers moving out the network over a certain period of time We have tested on 20 mobile peers with mobile peer rate set to 10% to 50% (or to 5), e.g., with the mobile peer rate of 10%, there are mobile peers publishing no data, mobile peers publishing 50% of 231 Data Provision (MB) 250 200 150 100 Churn rate 10% Churn rate 20% Churn rate 40% 50 0 Mobile Peer Rate Figure 5: Data availability for different sets of mobile peers data, and the remaining mobile peers publishing all data Each mobile peer contains a bug dataset of 5.000 bug reports that provide approximately 10 MB data at maximum Figure shows that data availability slowly reduces as the mobile peer rate increases With the churn rate of 40% and the mobile peer rate of 50%, the amount of data published on the network reduces approximately 50% Note that data is unavailable because mobile peers refuse to upload data to peers before going offline Replication can help resolving the problem Number of Bug Reports 200 Search peer Mobile peer 150 environment, particularly data sharing and searching services This approach allows mobile devices to undertake complicated operations including data sharing and searching operations on P2P networks Due to the limitations of system resource and network connectivity of mobile devices, the architecture design of the proposed mobile P2P system needs to consider: (i) search peers with storage and processing capability that can perform searching operations, (ii) mobile peers with data publishing capability that can improve data availability, and (iii) both keyword and semantic search methods We have found that several existing mobile P2P protocols not focus on data sharing and searching on P2P networks using mobile peers We have implemented the prototyping mobile P2P system with the above requirements The system recruits the Gnutella P2P protocol where peers possess sufficient processing and storage capability to accommodate large databases and perform queries on the databases, while mobile peers can only publish and download relevant data The experiments evaluate the feasibility and scalability of the system using several metrics: memory usage, network traffic generation, data availability and response time The experimental results reveal that while search peers use more memory and generate more network traffic, mobile peers still use reasonable system resource Moreover, data availability and time response are acceptably affected by the leaving of mobile peers due to intermittent connectivity Future work considers the possibility of extending the mobile P2P approach to other social computing services including distributed user profile storage and information sharing group 100 ACKNOWLEDGMENTS This research work is funded by Vietnam National Foundation for Science and Technology Development (NAFOSTED) under grant number 102.02-2011.01 50 Time Consumption (s) Figure 6: Time consumption for obtaining number of bug reports on search peers and mobile peers The system requires fast response time that cannot be easy to achieve on the P2P networks because of the dependence of peer capability The fourth experiment measures the time consumption of the query process for different datasets, as shown in Figure A mobile peer sends each query to its search peer that in turn forwards to other search peers and also replies to the mobile peer if it possesses data relevant to the query Time consumption is therefore measured by recording wall time on search peers and mobile peers when they obtain queryhits Each queryhit contains 30 relevant bug reports at maximum With the same period of time, mobile peers receive fewer bug reports than search peers, e.g., mobile peers and search peers receive 40 and 60 bug reports respectively after seconds Response time to mobile peers is higher than search peers using a laboratory network CONCLUSIONS We have proposed the mobile P2P approach that can be applied to building social computing services on distributed REFERENCES [1] JXTA Project http://jxta.kenai.com/ Last access in Mar 2012 [2] Gnutella Protocol Specification version 0.4 http://rfcgnutella.sourceforge.net/developer/stable/index.html, 2001 Last access in Mar 2013 [3] Symella http://amorg.aut.bme.hu/projects/symella, 2006 Last access in Jan 2013 [4] M Bisignano, G D Modica, and O Tomarchio JMobiPeer: A Middleware for Mobile Peer-to-Peer Computing in MANETs In Proc 1st International Workshop on Mobility in Peer-to-Peer Systems (ICDCSW ’05), pages 785–791, Washington, DC, USA, 2005 IEEE Computer Society [5] S Bucheggerand, D Schi´’oberg, L H Vu, and A Datta PeerSoN: P2P Social Networking: Early Experiences and Insights In Proc 2nd ACM EuroSys Workshop on Social Network Systems (SNS ’09), pages 46–52 ACM, 2009 [6] I Clarke, O Sandberg, B Wiley, and T W Hong Freenet: A Distributed Anonymous Information Storage and Retrieval System In Proc International Workshop on Design Issues in Anonymity and Unobservability, pages 46–66, Heidelberg, Germany, 2000 Springer-Verlag 232 [7] B Cohen Incentives Build Robustness in Bittorrent In Proc 1st Workshop on Economics of Peer-to-Peer Systems, 2003 [8] L A Cutillo, R Molva, and T Strufe A Privacy-Preserving Online Social Network Leveraging on Real-life Trust Communications Magazine, 47(12):94–101, 2009 [9] A D´ıaz, P Merino, L Panizo, and A M Recio A Survey on Mobile Peer-to-Peer Technology In Proc XV Conference on Concurrency and Distributed Systems (JCSD ’07), pages 59–68, Nov 2007 [10] K Graffi, C Gross, D Stingl, D Hartung, A Kovacevic, and R Steinmetz LifeSocial.KOM: A Secure and P2P-based Solution for Online Social Networks In Proc IEEE Consumer Communications and Networking Conference (CCNC ’11) IEEE Computer Society, 2011 [11] K Graffi, S Podrajanski, P Mukherjee, A Kovacevic, and R Steinmetz A Distributed Platform for Multimedia Communities In Proc 10th IEEE International Symposium on Multimedia (ISM ’08), pages 208–213 IEEE Computer Society, 2008 [12] T H Hu, B Thai, and A Seneviratne Supporting Mobile Devices in Gnutella File Sharing Network with Mobile Agents In Proc 8th IEEE Symposium on Computers and Communications (ISCC ’03), pages 1035–1040 IEEE Computer Society, 2003 [13] G Kortuem, J Schneider, D Preuitt, T Thompson, S Fickas, and Z Segall When Peer-to-Peer comes Face-to-Face: Collaborative Peer-to-Peer Computing in Mobile Ad hoc Networks In Proc 1st International Conference on Peer-to-Peer Computing (P2P ’01), pages 75–, Washington, DC, USA, 2001 IEEE Computer Society [14] N Kotilainen, M Weber, M Vapa, and J Vuori Mobile Chedar–A Peer-to-Peer Middleware for Mobile Devices In Proc 3rd IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOMW ’05), pages 86–90, Washington, DC, USA, 2005 IEEE Computer Society [15] P Maymounkov and D Mazi`eres Kademlia: A Peer-to-Peer Information System Based on the XOR Metric In Proc 1st International Workshop on Peer-to-Peer Systems (IPTPS ’01), pages 53–65, London, UK, 2002 Springer-Verlag [16] S Ratnasamy, P Francis, M Handley, R Karp, and S Schenker A Scalable Content Addressable Network In Proc Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM ’01), pages 161–172, New York, NY, USA, 2001 ACM Press [17] J Rosenberg, H Schulzrinne, G Camarillo, A Johnston, J Peterson, R Sparks, M Handley, and E Schooler SIP: Session Initiation Protocol RFC 3261 (Informational), June 2002 [18] I Stoica, R Morris, D Karger, M F Kaashoek, and H Balakrishnan Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications In Proc Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM ’01), pages 149–160, New York, NY, USA, 2001 ACM Press [19] H M Tran, G Chulkov, and J Schă onwă alder Crawling Bug Tracker for Semantic Bug Search In Proc 19th IFIP/IEEE International Workshop on Distributed Systems: Operations and Management, pages 55–66 Springer-Verlag, 2008 [20] H M Tran, S T Le, S V U Ha, and T K Huynh Software Bug Ontology Supporting Bug Search on Peer-to-Peer Networks In Proc 6th International KES Conference on Agents and Multi-agent Systems – Technologies and Applications (AMSTA ’13) IOS Press, 2013 [21] H M Tran and J Schă onwă alder Heuristic Search using a Feedback Scheme in Unstructured Peer-to-Peer Networks In Proc 5th International Workshop on Databases, Information Systems and Peer-to-Peer Computing Springer-Verlag, 2007 [22] A Wang and K Saxlund Peer2Me - Rapid Application Framework for Mobile Peer-to-Peer Applications In Proc International Symposium on Collaborative Technologies and Systems (CTS ’07) IEEE Press, 2007 [23] B Yang and H Garcia-Molina Designing a Super-Peer Network In Proc 19th International Conference on Data Engineering (ICDE’03), page 49, Los Alamitos, CA, USA, 2003 IEEE Computer Society 233 ... applies mobile computing on P2P networks to build data sharing and searching services on mobile P2P networks It emphasizes data search capability of mobile P2P networks for social computing services, ... to perform complicated operations The key difference is that search peers support searching facility by storing, locating and indexing data for mobile peers, while mobile peers foster sharing facility... peer Mobile peer 150 environment, particularly data sharing and searching services This approach allows mobile devices to undertake complicated operations including data sharing and searching