The Junction Protocol for Ad Hoc Peer-to-Peer Mobile Applications

Junction is an application-level communication protocol and library designed for writing mobile applications for ad hoc groups without centralized application servers. We propose that applications be built using a generic switchboard service for communication. Each dynamic instance can designate a unique switchboard, hosted by a peer or by a third-party, for the session. Our convention of naming a session by a Junction URI, which encodes the location of the switchboard, enables a simple click-and-run user experience. The Junction abstraction allows developers a choice of switchboard implementations: XMPP for scalability, IRC for free availability, Pocket Switchboard for mobility, and OpenFlow, a software-defined network, for performance. Invitations to sessions can be carried over NFC, Bluetooth, or QR codes. Junction is available as open source for Android, iPhone and Javascript platforms. Over ten applications in multimedia sharing, games, communication, education, and for enhancing security for online transactions have been developed in Junction.

[1]  Ken Hinckley,et al.  Synchronous gestures for multiple persons and computers , 2003, UIST '03.

[2]  Manuel Blum,et al.  Coin flipping by telephone a protocol for solving impossible problems , 1983, SIGA.

[3]  A. Fox,et al.  Integrating information appliances into an interactive workspace , 2000, IEEE Computer Graphics and Applications.

[4]  Chengzheng Sun,et al.  Operational transformation in real-time group editors: issues, algorithms, and achievements , 1998, CSCW '98.

[5]  René Mayrhofer,et al.  Shake Well Before Use: Intuitive and Secure Pairing of Mobile Devices , 2009, IEEE Transactions on Mobile Computing.

[6]  Barbara Rosario,et al.  Context-aware composition , 2009, HotMobile '09.

[7]  Barbara Rosario,et al.  Dynamic composable computing , 2008, HotMobile '08.

[8]  Kok-Kiong Yap,et al.  Towards software-friendly networks , 2010, APSys '10.

[9]  Mark W. Newman,et al.  Experiences with recombinant computing: Exploring ad hoc interoperability in evolving digital networks , 2009, TCHI.

[10]  Nigel Davies,et al.  Using bluetooth device names to support interaction in smart environments , 2009, MobiSys '09.

[11]  Nick McKeown,et al.  OpenFlow: enabling innovation in campus networks , 2008, CCRV.

[12]  Jeffrey Nichols,et al.  An infrastructure for extending applications' user experiences across multiple personal devices , 2008, UIST '08.

[13]  David A. Smith,et al.  Croquet - a collaboration system architecture , 2003, First Conference on Creating, Connecting and Collaborating Through Computing, 2003. C5 2003. Proceedings..

[14]  C. A. Neff Verifiable Mixing (Shuffling) of ElGamal Pairs , 2004 .

[15]  Robert Hardy,et al.  Touch & interact: touch-based interaction of mobile phones with displays , 2008, Mobile HCI.

[16]  Rafael Ballagas,et al.  Spontaneous marriages of mobile devices and interactive spaces , 2005, CACM.

[17]  Paul Bettner,et al.  1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond , 2004 .

[18]  Constantinos Dovrolis,et al.  Bandwidth requirement and state consistency in three multiplayer game architectures , 2003, NetGames '03.