Today, there are several different communication interfaces available and we plug/unplug them at will. However, our network programming interfaces remain similar to those used when there was at most one network interface. As a result, applications must struggle with the problem of adapting to changes in network facilities: they must select the appropriate network, switch to another when the current one fails, re-establish failed connections, and so on. Although there are systems and middleware that solve part of these problems, there is no integrated approach that addresses the underlying problem: a new network programming interface is needed for applications that must run in mobile and ubiquitous computing environments. This paper presents the design, implementation, and experience with a novel network programming interface introduced in the Plan B's operating system, called /net. It also shows how this interface addresses the problems mentioned and simplifies network programming, including some example applications.
['Francisco J. Ballesteros', 'Eva M. Castro', 'Gorka Guardiola Muzquiz', 'Katia Leal Algara', 'Pedro de las Heras Quirós']
A new network abstraction for mobile and ubiquitous computing environments in the Plan B operating system