Introducing ufo.js: A browser-oriented p2p network

In this paper we present ufo.js, a novel network architecture enabling the development of browser-based peer-to-peer web applications. Ufo.js leverages state-of-the-art technologies in the field of real time communications in the web and provides programmers with the functionality needed in order to embed novel peer-to-peer applications directly into web browsers. Ufo.js makes use of the W3C WebRTC datachannel API. This new interface allows two web browsers to establish a communication channel for the exchanging of either raw data or strings. Ufo.js uses the datachannel as the default communication means between any pair of peers and hence represents a valid alternative to classic client-server desktop solutions. The article describes the design, implementation and deployment of an ufo.js network, while also presenting the results of a test campaign aimed at assessing both its performance and potential overhead.