Haggle: Opportunistic mobile content sharing using search
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)
- 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....
- 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:...
Cited by (25)
Decentralized content sharing in mobile ad-hoc networks: A survey
2023, Digital Communications and NetworksBridging separate communities with common interest in distributed social networks through the use of social objects
2022, Future Generation Computer SystemsCitation 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.
Device-to-Device based mobile social networking in proximity (MSNP) on smartphones: Framework, challenges and prototype
2017, Future Generation Computer SystemsAccess control for secure information sharing in smart content spaces
2017, Journal of Information Security and ApplicationsCitation 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 CommunicationsCitation 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