Elsevier

Computer Communications

Volume 48, 15 July 2014, Pages 121-132
Computer Communications

Haggle: Opportunistic mobile content sharing using search

https://doi.org/10.1016/j.comcom.2014.03.017Get rights and content

Abstract

We present Haggle, a content-sharing system for mobile devices, allowing users to opportunistically share content without the support of infrastructure. Mobile devices share content and interests over direct WiFi or Bluetooth links, and may store-carry-forward content on behalf of others based on interests, bridging otherwise disconnected devices. Unlike traditional Internet-based content sharing systems, Haggle faces disconnections, unpredictable mobility, and time-limited contacts, which pose unique challenges to the system’s design and implementation.

While similar content-sharing systems typically value every content item the same, Haggle uses a ranked search to judiciously decide which content to exchange, and in which order. The search matches a device’s locally stored content against the interests of other users that the device has collected, prioritizing relevant content when contacts are time limited and resources scarce. Thus, search enables dissemination of content in order of how strongly users desire it, offering delay and resource savings by exchanging the content that matters. An optional content delegation mechanism allows Haggle to altruistically disseminate a limited amount of items based on the interests of third-party nodes, increasing the benefit of the network as a whole, and protecting against networks that are partitioned along interests. Ranked searches, combined with delegation, allow Haggle to balance the short-term benefit of exchanging a content item between two nodes against the long-term benefit to the network as a whole.

We evaluate Haggle through a real-world experiment with mobile phones, running a picture sharing application, complemented by trace-based emulations. Our results show that a content item whose interest group (the nodes that desire it) has strong interests is delivered with lower delay, and to a higher fraction of members, than an item with a similar sized group with weak interests. Compared to a relevance-agnostic system, Haggle can deliver the most relevant items in one third of the time and at a lower cost.

Introduction

Mobile devices, such as smartphones and tablets, have increased the opportunities to access and share content while on the move. Yet most sharing schemes rely on intermediary services, such as Dropbox, Facebook and Twitter (for sharing files, pictures, and status updates), and infrastructure for the underlying communication. The increasing dependence on online services puts strain on wireless access networks (e.g., 3G), forcing providers to offload traffic onto local networks (e.g., WiFi)—which may also be overloaded or inaccessible. Even with flat wireless tariffs, providers are increasingly implementing data caps for their wireless plans, forcing constraints on heavy data users.1

Complementary ad hoc or opportunistic approaches to content sharing can offer attractive alternatives to cloud services and can work together with infrastructure or independent of it, allowing users to share content without having to worry about overrunning their monthly data caps. Additionally, such sharing may open up new possibilities for social networking, file-sharing, games, and other applications that take advantage of user proximity and social interactions. In situations where infrastructure is out of reach, or where services are costly, slow, or inaccessible—as in many developing countries or disaster areas—ad hoc content sharing can enable communication where it otherwise would not be possible. As recent events have shown, people under the rule of dictatorial regimes cannot always rely on infrastructure to get their “tweets” and status updates out to the world.2

However, despite this potential, ad hoc content sharing faces challenges in delivering the most relevant content to users, and doing so efficiently in a way that minimizes strain on resources, such as battery and storage. Unfortunately, existing content sharing systems [1], [2], [3] offer coarse definitions of relevance and view every delivered content item as contributing the same “value” to the network, expending resources on delivering sometimes low-relevance content. These systems do not reflect the reality that all content items are not created equal and instead have varying relevance to users.

In this paper we present Haggle, a system for ad hoc content sharing, focusing on how search can be leveraged for relevance-aware dissemination. Unlike previous mobile content sharing systems, Haggle prioritizes content based on how relevant it is to users, and allows highly desirable content to propagate faster than less desirable content—even when the group of interested users is small (i.e., the content is not so popular, but those that desire it have strong interests). While other systems optimize for high delivery ratios and low average delay for all content—irrespective of its relevance to users—Haggle can discourage the dissemination of low-relevance content in order to save battery, storage, bandwidth, and to reduce the spreading of “junk”.

Several applications have been built on top of Haggle: PhotoShare shares pictures taken with a mobile phone’s camera, MailProxy allows emailing without infrastructure, MobiClique [4] and Opportunistic Twitter [5] enable ad hoc “facebooking” and “tweeting”, while Haggle-ETT [6] provides an electronic triage tag for disaster areas. Haggle allows these applications to transparently share and disseminate content over ad hoc networks (using, e.g., WiFi or Bluetooth), or over existing local area networks (LANs)—without requiring intermediary service providers. Devices in contact exchange interests and then push matching content items in order of rank, based on a local search. Received content items are stored locally until another dissemination opportunity occurs. Thus, content items propagate based on their relative ranks, without the need for endhost names or addresses.

Push-based search dissemination—as a primary mechanism for relevance-aware content sharing—is one of the main contributions of Haggle when compared to related systems, such as DTN [7], PodNet [1] and traditional pub/sub systems [8]. Our results show that incorporating content relevance in forwarding decisions can significantly improve the delivery of relevant content compared to relevance-agnostic dissemination schemes. Push-based dissemination also naturally supports content delegation, where nodes carry content on behalf of others although they may have no interest in it. This altruistic delegation can be achieved by using existing forwarding algorithms, increasing the likelihood that content items reach interested parties that are only connected via nodes with no interest in the items. The combining of content sharing with delegation is our second contribution. Comparable content sharing systems that we know of only disseminate among interested nodes. The lessons learned from designing Haggle’s architecture, and then implementing it, comprise our third contribution; figuring out the right abstractions and primitives and how they fit together into a system is a significant research undertaking. Our architecture and prototype represent several years of research and experimentation that provide valuable insights into the most important aspects of building a real system. Finally, our evaluation of Haggle is first to explore how content relevance and delegation can achieve a more efficient dissemination in real-world settings.

In the rest of the paper, we begin with a discussion of the challenges and concepts underlying Haggle’s design in Section 2. We then address related work in Section 3, before describing the Haggle design in Section 4, focusing on content search and relevance-aware dissemination, how to avoid unnecessary transmissions, and how to deal with security and resources. Section 5 then continues with describing our implementation, while Section 6 presents our evaluation. In Section 7, we round off the paper with our conclusions.

Section snippets

Challenges and design concepts

There are significant challenges to overcome when designing and building a system for ad hoc content sharing; here we discuss the most important ones.

First, naming and addressing determine the content desires in the network, i.e., how content items map to nodes. At any point in time, the network has a pool of content items distributed across devices in the network. The goal of a content-sharing system is to move the content items to the devices whose users desire them, preferably at minimal

Related work

We discuss related works in terms of how they approach four of the main design challenges discussed in the previous section. These challenges relate to decisions made during time-limited node contacts and determine: (i) which content items are desired by the other node, (ii) the order in which items are transferred, (iii) which undesired items to replicate/delegate (in order to increase the likelihood of reaching other interested nodes), and (iv) which items to drop (due to finite storage).

The Haggle design

Haggle’s dissemination relies on users sharing interests. Depending on application, these interests are manually input or can be inferred from the user’s content consumption patterns. The content items that users share are indexed into a data store based on their metadata; such a data store exists on each device and is updated with content and the interests of other users as they are encountered.

As shown in Fig. 1 (a), two devices in contact share their interests (as detailed later, interests

Implementation

We have implemented Haggle for smartphone platforms such as Android, iOS and Windows Mobile, but it runs also on Windows, Linux or Mac OS X computers. The implementation comprises around 20,000 lines of C and C++ code, excluding applications. The initial choice to develop the implementation in a native language has shown crucial for cross-platform development and for access to lower layer APIs. Higher-level languages require virtual machines and libraries that are incompatible between platforms

Evaluation

In this section we evaluate three main questions about Haggle’s design:

  • Does Haggle do content prioritization, i.e., do users receive content in order of relevance?

  • How does the popularity of a content item affect its propagation in the network?

  • Does Haggle have significant adverse effects on a phone’s resources, such as battery?

Conclusions

We have presented Haggle—a system that allows mobile phone users to share content based on its relevance, allowing prioritization of content when node contacts are time limited. Our evaluation shows that search with relative rankings provides more flexibility than the simple on/off-matching of comparable systems, while content delegation proves useful when interest groups are partitioned and can be bridged by non-members.

Haggle’s source code is available online9

Acknowledgement

This work was funded by the European Commission inside the FET-SAC HAGGLE project (027918).

References (35)

  • S. Brin et al.

    The anatomy of a large-scale hypertextual web search engine

    Comput. Netw. ISDN Syst.

    (1998)
  • V. Lenders, G. Karlsson, M. May, Wireless ad hoc podcasting, in: IEEE SECON, 2007, pp....
  • O.R. Helgason, E.A. Yavuz, S.T. Kouyoumdjieva, L. Pajevic, G. Karlsson, A mobile peer-to-peer system for opportunistic...
  • A. Krifa, C. Barakat, T. Spyropoulos, MobiTrade: trading content in distruption tolerant networks, in: CHANTS, 2011,...
  • A.-K. Pietiläinen, E. Oliver, J. LeBrun, G. Varghese, C. Diot, MobiClique: middleware for mobile social networking, in:...
  • N. Ristanovic, G. Theodorakopoulos, J.-Y.L. Boudec, Traps and pitfalls of using contact traces in performance studies...
  • A. Martín-Campillo, J. Crowcroft, E. Yoneki, R. Martí, C. Martínes-García, Using haggle to create an electronic triage...
  • K. Fall, A delay-tolerant network architecture for challenged internets, in: SIGCOMM, 2003, pp....
  • P.T. Eugster et al.

    The many faces of publish/subscribe

    ACM Comput. Surv.

    (2003)
  • V. Jacobson, D.K. Smetters, J.D. Thornton, M.F. Plass, N.H. Briggs, R.L. Braynard, Networking named content, in:...
  • F. Bjurefors, P. Gunningberg, C. Rohner, S. Tavakoli, Congestion avoidance in a data-centric opportunistic network, in:...
  • A. Moghadam, S. Srinivasan, H. Schulzrinne, 7DS – a modular platform to develop mobile disruption-tolerant...
  • A. Moghadam, H. Schulzrinne, Interest-aware content distribution protocol for mobile disruption-tolerant networks, in:...
  • M. Conti, M. Mordacchini, A. Passarella, Data dissemination in opportunistic networks using cognitive heuristics, in:...
  • L. Valerio, M. Conti, E. Pagani, A. Passarella, Autonomic cognitive-based data dissemination in opportunistic networks,...
  • S. Bayhan, E. Hyytiè, J. Kangasharju, J. Ott, Seeker-assisted information search in mobile clouds, in: ACM SIGCOMM...
  • M. McPherson, L. Smith-Lovin, J.M. Cook, Birds of a feather: homophily in social networks, in: Annual Review of...
  • Cited by (25)

    • Bridging separate communities with common interest in distributed social networks through the use of social objects

      2022, Future Generation Computer Systems
      Citation Excerpt :

      In it, mobile devices share contents and interests and can store–carry–forward contents on behalf of other nodes, based on interests, therefore connecting otherwise disconnected devices. In [31], Haggle introduces a content delegation mechanism that allows to selflessly disseminate a given number of items based on the interests of other nodes (third-party nodes). This is particularly important in the presence of network Partitions.

    • Access control for secure information sharing in smart content spaces

      2017, Journal of Information Security and Applications
      Citation Excerpt :

      To address the concerns introduced by cloud-based applications, peer-to-peer mobile storage and content sharing solutions are a current focus of research. Solutions such as Haggle (Nordström et al., 2014) and Mobistore (Fleming et al., 2014) demonstrate how content can be shared automatically between devices using local connections such as WiFi or Bluetooth. Without any doubt, these solutions can offer new benefits, but also introduce new threats for users making use of their services.

    • Mobile social networks: Design requirements, architecture, and state-of-the-art technology

      2017, Computer Communications
      Citation Excerpt :

      This implies that the developers must design such networking mechanisms along with the application, which is hard for pure programmers if they do not have in-depth understanding of networking in MSNs. Fortunately, networking mechanisms are being developed as indispensable components in MSN middleware, e.g., CAMEO [27] and Haggle [127]. With such networking mechanisms in place, MSN application developers will only need to call their APIs to obtain the networking services.

    • Decentralized content sharing among tourists in visiting hotspots

      2017, Journal of Network and Computer Applications
    View all citing articles on Scopus
    View full text