10 likes | 126 Vues
BonAHA is a robust service discovery framework designed for opportunistic networks, enabling seamless mobile applications in highly mobile and decentralized environments. It empowers users to create ad-hoc applications that can operate without centralized infrastructure, providing capabilities such as group chat, file sharing, and bulletin board systems in local networks. By using BonAHA, applications can dynamically discover peers, adapt to network transitions, and facilitate interactive content sharing among users. Supported by NSF, it opens possibilities for future work in various network models.
E N D
BonAHA: a Service Discovery Framework for Opportunistic Networks Suman Srinivasan, Henning Schulzrinne, Internet Real Time Lab, Computer Science Department, Columbia University {sumans, hgs}@cs.columbia.edu Applications written using BonAHA Opportunistic Networks • Mobile nodes; highly mobile networks • No infrastructure • OLPC; mesh networks • “Ad-hoc applications”/ “Mobile P2P applications” • Applications need to • Be aware of network transitions • State/metadata of nodes in the network BBS application • Runs on iPod/iPhone • Allows users to upload “posts” • Other users can pick up “posts” and share their own • Information on events, etc that they are interested in sharing BonAHA framework [1] node1.register() key11 = value11key12 = value12key13 = value13key14 = value14 Group Chat • Really localized applications • Work in “cloud” or “opportunistic” networks • Examples • File synchronization • Bulletin Board system • We have a framework for this: BonAHA • And applications built using it • Allows users to discover peers in local network and chat • Rooms can be set up for private chats Node 1 [2] node1.get(key13) key21 = value21key22 = value22key23 = value23key24 = value24 [3] data = node1.fileGet( value13); BonAHA [CCNC 2009] File Sharing Node 2 • Users can share files with each other by dragging and dropping files onto peers’ computers • Handles peers entering and leaving network BonAHA API Related Work • For registration • service = new BService(“loc", "tcp"); • service.set("Latitude", lat); • service.register(); • service.setListener(this); • For network transitions • nodeUpdated() • nodeExited() • Proem (2001) • Peer2Me (2004) • System on a Device (SyD) (2004) • LightPeers (2007) • Market Content Protocol (MCP) (2008) Future work: common ground? Application • Several network models • Opportunistic network frameworks • DHTs • Overlay networks • Disruption tolerant networks • Is a common framework possible for all models? Network Framework –get(), set(), put(), rm(), onUpdate() ZigBee BlueTooth mDNS/ DNS-SD DHTs? Gnutella? This work was supported by the National Science Foundation (NSF) under Grant 04-54288. The authors would also like to thank the following people for their help: - Ming Ge (file sharing application), Heming Cui (group chat application), Kiwoon Sung (BBS application)