Collaborative applications over peer-to-peer systems–challenges and solutions

  • Published on

  • View

  • Download

Embed Size (px)


<ul><li><p>Collaborative applications over peer-to-peersystemschallenges and solutions</p><p>H. M. N. Dilum Bandara &amp; Anura P. Jayasumana</p><p>Received: 1 September 2011 /Accepted: 28 June 2012 /Published online: 20 July 2012# Springer Science+Business Media, LLC 2012</p><p>Abstract Emerging collaborative Peer-to-Peer (P2P) systemsrequire discovery and utilization of diverse, multi-attribute,distributed, and dynamic groups of resources to achieve greatertasks beyond conventional file and processor cycle sharing.Collaborations involving application specific resources anddynamic quality of service goals are stressing current P2Parchitectures. Salient features and desirable characteristics ofcollaborative P2P systems are highlighted. Resource advertis-ing, selecting, matching, and binding, the critical phases inthese systems, and their associated challenges are reviewedusing examples from distributed collaborative adaptive sensingsystems, cloud computing, and mobile social networks. State-of-the-art resource discovery/aggregation solutions are com-pared with respect to their architecture, lookup overhead, loadbalancing, etc., to determine their ability to meet the goals andchallenges of each critical phase. Incentives, trust, privacy, andsecurity issues are also discussed, as they will ultimately de-termine the success of a collaborative P2P system. Open issuesand research opportunities that are essential to achieve the truepotential of collaborative P2P systems are discussed.</p><p>Keywords Collaborative applications . Multi-attributeresources . Peer-to-peer . Resource discovery</p><p>1 Introduction</p><p>Resource-rich computing devices, decreasing communica-tion cost, and Web 2.0 technologies are fundamentally</p><p>changing the way we communicate, learn, socialize, andcollaborate. With these changes, we envision Peer-to-Peer(P2P) systems that play an even greater role in collaborativeapplications. P2P computing fits naturally to this new era ofuser-driven, distributed applications utilizing resource-richedge devices. There is thus a tremendous opportunity tocreate value by combining societal trends with P2P systems.Peer collaboration has expanded beyond its conventionalapplications wherein files or processor cycles are sharedby peers to perform similar tasks. Emerging collaborativeP2P systems look for diverse peers that could bring inunique capabilities to a community, thereby empowering itto engage in greater tasks beyond that can be accomplishedby individual peers, yet are beneficial to all the peers. This issimilar to a team that thrives due to the diversity of mem-bers expertise. A collaborative P2P system is a P2P systemthat aggregates a group(s) of diverse resources (e.g., hard-ware, software, services, and data) to accomplish a greatertask. Such collaborations involving diverse and applicationspecific resources and dynamic Quality of Service (QoS)goals stress the current P2P architectures.</p><p>Collaborative P2P systems are applicable in a wide varietyof contexts such as Distributed Collaborative Adaptive Sens-ing (DCAS) [1], grid/cloud computing, opportunistic comput-ing [2], Internet of Things, social networks, and emergencymanagement. We consider four representative applications toillustrate the salient features and characteristics of collabora-tive P2P systems. First is Collaborative Adaptive Sensing ofthe Atmosphere (CASA) [1, 3], an emerging DCAS systembased on a dense network of weather radars that collaborate inreal time to detect hazardous atmospheric conditions such astornados and severe storms. CASA also employs many smallsensors such as pressure sensors and rain gauges to furtherenhance the detectability and prediction accuracy of weatherevents. Collaborative P2P data fusion provides an attractiveimplementation choice for CASA real-time radar data fusion</p><p>H. M. N. D. Bandara :A. P. Jayasumana (*)Colorado State University,Fort Collins, CO 80523, USAe-mail:</p><p>H. M. N. D. Bandarae-mail:</p><p>Peer-to-Peer Netw. Appl. (2013) 6:257276DOI 10.1007/s12083-012-0157-3</p></li><li><p>[3], wherein data are constantly being generated, processed,and pushed and pulled among groups of heterogeneous radars,sensors, storage, and processing nodes. The group of radars,sensors, processing, and storage elements involved in trackinga particular weather event may continue to change as theweather event migrates in both time and space. Thus, newgroups of resources may have to be aggregated and currentresources may be released as and when needed. Moreover,certain rare but severe weather events require specific meteo-rological algorithms (e.g., signal processing and prediction)and more computing, storage, and bandwidth resources totrack and forecast/nowcast1 about the behavior of thoseevents. It is neither feasible nor economical to provisionresources for such rare peak demands everywhere in theCASA system. Instead, a collaborative P2P system can exploitthe temporal and spatial diversity of weather events to aggre-gate underutilized resources from anywhere in the system asfar as desired performance and QoS goals are satisfied. On theother end of the spectrum, we are also seeing the emergence ofcrowd-sourced, community-based weather monitoring sys-tems [4] that aggregate armature weather stations andcommunity-based computing resources to provide local andnational weather forecasts. The second application is cloudcomputing, which is transforming the way we host and runapplications because of its rapid scalability and pay-as-you-goeconomic model [5]. Open cloud initiatives are pressing forinteroperability among multiple cloud providers and sites ofthe same provider. Alternatively, community cloud computing[6], based on underutilized computing resources in homes orbusinesses for example, targets issues such as centralized data,privacy, proprietary applications, and cascading failures inmodern clouds. Certain applications also benefit from a mix-ture of dedicated and voluntary cloud resources [7, 8]. Acollaborative P2P system is the core of such a multi-site orcommunity-cloud system that interconnects dedicated/volun-tary resources while dealing with rapid scalability and re-source fluctuations. We refer to such systems as P2P clouds.Third application, Global Environment for Network Innova-tions (GENI) [9], is a collaborative and exploratory platformfor discoveries and innovation. GENI allows users to aggre-gate diverse resources (e.g., processing, networks, sensors,actuators, and software) frommultiple administrative domainsfor a common task. A collaborative P2P system is a natural fitfor GENI because of its distributed, dynamic, heterogeneous,and collaborative nature. Fourth, the value of social networkscan be enhanced by allowing users to share diverse resourcesavailable in their mobile devices [2]. For example, a personwith a basic mobile phone could connect to a friends smartphone with GPS capability to locate a nearby ATM. In anotherexample, a group sharing their holiday experiences in a coffee</p><p>shop could use one members projection phone to showpictures from others mobiles/tablets or stream videos fromtheir home servers. Moreover, in large social gatherings suchas carnivals, sports events, or political rallies, users mobiledevices can be used to share hot deals, comments, videos, orvote for a certain resolution without relying on a networkinfrastructure. Such applications are already emerging underthe domain of opportunistic networking and computing [2].These applications, hereafter referred to as mobile social net-works, also benefit from collaborative mobile P2P technology.Further, envision an agglomeration of many collaborative P2Psystems into a single unified P2P framework wherein peerscontribute and utilize diverse resources for both altruistic andcommercial purposes. For example, a cloud provider couldcontribute its processor cycles to the P2P community hopingto gain monetary benefits whenever possible, and duringperiods of lower demand it could provide similar or degradedservices to gain nonmonetary benefits (e.g., to demonstrate itshigh availability or gain reputation). Alternatively, an applica-tion provider that accesses free/unreliable resources for itsregular operations could tap into dedicated/reliable resourcesduring periods of high demand [7]. The framework could alsoenable resource-rich home users to earn virtual currency2 orpoints for their contributions that they can later use to accessother services offered within the system [10, 11]. Such aframework also enables a level playing field for both smalland large-scale contributors.</p><p>CASA, P2P clouds, GENI, mobile social networks, andaggregated P2P systems depend on some form of resourcecollaboration. These systems share a variety of resourcessuch as processor cycles, storage capacity, network band-width, sensors/actuators, special hardware, middleware, sci-entific algorithms, application software, services (e.g., webservices and spawning nodes in a cloud), and data to notonly consume a variety of contents but also to generate,modify, and manage those contents. Moreover, these resour-ces are characterized by multiple static and dynamic attrib-utes. For example, CPU speed, free CPU capacity, memory,bandwidth, operating system, and a list of installed applica-tions/middleware and their versions may characterize a pro-cessing node. These multi-attribute resources need to becombined in a timely manner to meet the performance andQoS requirements of collaborative P2P applications. Yet, itis nontrivial to discover, aggregate, and utilize heteroge-neous and dynamic resources that are distributed.</p><p>This paper attempts to formalize the P2P resource collab-oration problem and reviews the current solution space. Keyphases and desirable characteristics of collaborative P2P sys-tems are identified first. We then evaluate the (in)ability ofexisting solutions to support those key phases and desired</p><p>1 Nowcast refers to a 530 min short-term forecast of an active weatherevent.</p><p>2 Electronic money that is not a tangible commodity and are typicallynot contractually backed by tangible assets nor by legal laws.</p><p>258 Peer-to-Peer Netw. Appl. (2013) 6:257276</p></li><li><p>characteristics. Incentives, trust, privacy, and security relatedissues and existing solutions are also discussed. Finally, adetailed discussion on open issues and research oppor-tunities is provided. Key phases and desirable character-istics of resource collaboration are introduced in Section2. Section 3 discusses how different solutions for struc-tured and unstructured P2P systems are designed toprovide the functionality required by each phase. Sec-tion 4 presents incentives, trust, privacy, and securityissues and solutions proposed to address those. Researchopportunities and challenges in resource collaborationover P2P systems are discussed in Section 5. Conclud-ing remarks are presented in Section 6.</p><p>2 Phases in resource collaboration</p><p>We identify seven phases of resource collaboration in P2Psystems as shown in Fig. 1. These separate phases are identi-fied for the sake of conceptual understanding while anactual implementation may combine multiple phasestogether. Specific systems may skip some of themdepending on the application requirements. However,complexities, implementation details, and available relat-ed work on each of these phases significantly vary. Theseven phases are as follows:</p><p>1. Advertise Each node advertises its resources and theircapabilities using one or more Resource Specifications(RSs). Taxonomy of RSs is given in Fig. 2(a). A re-source is characterized by a set of attributes A and atypical RS is as follows:</p><p>RS a1 v1; a2 v2; :::; ai vi </p><p>Each attribute ai A has a value vi Di that belongsto a given domain Di. Di is typically bounded and mayrepresent a continuous/discrete value or a category/name. For example, free CPU is continuous, numberof CPU cores is discrete, Doppler radar is a category,and a file is represented by a name. In some cases, vimay specify a range or list of values, e.g., a time rangeor a list of software libraries. Attribute values are fur-ther classified as static (e.g., CPU speed, operatingsystem, and Doppler radar) and dynamic (e.g., CPUand memory free). RSs are also classified based onthe number of attributes. RSs are referred to as single-attribute when the cardinality of set A, |A| 0 1 and theyare referred to as multi-attribute when |A| &gt; 1. Someresources are advertised using a single-attribute thatprovides an abstract representation of the resource. Forexample, cloud-computing nodes are typically described</p><p>as high CPU, high memory, and cluster instances [12]:</p><p>RS Type00High CPU 0 0 </p><p>RSs may also specify constraints on how those resourcescan be used. For example, a computing node may indicatewhen it is available, to what extent the CPU can be utilized,who can use it, and howmany concurrent licenses are available.Hence, a detailed hybrid, multi attribute RS may look like:</p><p>RS </p><p>CPUSpeed 2:0GHz; Architecture 86;CPUFree 53%; MemoryFree 1071MB;OSLinux 2:6:31; Available12 : 00am6 : 00am;CPUUtilization 60%;UseBy00Friends0 0 ; Licenses 2</p><p>0BBBBBBBBB@</p><p>In practice, a RS is advertised as a tuple, set of (attribute,value) pairs, vector [13], or as a detailed XML specification[14]. A node may either hold on to its RSs hoping otherswill discover its resources by sending probe messages, orexplicitly send/advertise its RSs to a centralized database,Distributed Hash Tables (DHTs), or to a set of randomnodes. Resources that are characterized by dynamic attrib-utes are typically re-advertised when the attribute valueschange significantly.</p><p>2. Discover Nodes may send probing messages to pro-actively discover and build a local repository of usefulRSs, particularly if specifications are unadvertised.Such a collection of RSs can speed up the query reso-lution and may be used to keep track of inter-resourcerelationships such as latency, bandwidth, and trust.</p><p>ii vavavaRS ,...,, 2211</p><p>Advertise</p><p>Discover</p><p>Select</p><p>MatchBind</p><p>Use</p><p>Release</p><p>Fig. 1 Phases in resource collaboration</p><p>1CCCCCCCCCA</p><p>Peer-to-Peer Netw. Appl. (2013) 6:257276 259</p></li><li><p>3. Select Select a group(s) of resources that satisfies thegiven application requirements. Application require-ments are typically specified using queries that list oneor more attributes and range of attribute values. Thetaxonomy of queries is given in Fig. 2(b). A typicalrange query may be defined as follows:</p><p>Q Resources m; a1 2 l1; u1 ; a2 2 l2; u2 ; :::; aj 2 lj; uj </p><p>where mZ+ specifies the required number of resources andaj 2 lj; uj</p><p> ; aj 2 A specifies the desired range of attribute</p><p>values (lj and uj are lower and upper bounds, respectively).If lj0uj, aj A, Q is referred to as a point query. Queriesthat are more complex may also specify Boolean conditions.</p><p>A hybrid query consists of a set of attributes that mayspecify a mix of point values, ranges, and Boolean condi-tions. The set of attributes specified in a query (QA) maycontain only a subset of the attributes for a resource (i.e.,QA A). Unspecifi...</p></li></ul>


View more >