The prolific growth in mobile internet usage, mobile applications and standards has opened up opportunities that were unimaginable a decade ago. But it has also led to frustration, as consumers must constantly replace their mobile devices to keep up with the pace of change.
The reason is simple: the wireless industry applies standardised protocols governing wireless and radio spectrum networks. These can change as networks evolve, whether WiFi, 3G, WiMAX and LTE or something else. This means that it takes a while for new protocols to reach a critical mass of customers and become standardised. And when a new app or networking scenario is released – be it a game or video service – the standards must be extended. This takes time, and eventually means users need to buy a new smartphone or other mobile device to take advantage of the new services. Operators must also update their network infrastructure.
The FLAVIA project sought to turn this situation on its head by moving away from everything being defined by standards, and instead towards programmable devices able to run on any network. Users would do this by simply downloading software from the network. Instead of a new device, they would get the right protocol. This shift requires programmable link processors within the device itself.
An obvious beneficiary would be someone travelling, first from home, where he uses Wi-Fi, to an airport hotspot, and then finally from Europe to the US. The user would no longer have the frustration of no data connection – in FLAVIA’s vision, anyone entering a wireless network would simply download and run the appropriate pre-programmable protocol from the network operator, allowing the phone to access the spectrum bands and services available locally.
"The paradigm shift proposed by the project shares some similarities with the evolution of computers. A few years ago, a computer was just integrated into a circuit, doing very specific processing operations. Now, they are general purpose machines that can run very different programs," explains FLAVIA’s technical coordinator, Ilenia Tinnirello, from CNIT – the consortium of Italian universities running the project. "We simply transformed a wireless network card, which in the past was designed for a very specific standard, into a general purpose processor which can run any desired protocol as a software program."
The project’s main success was proving that this vision is possible, says Tinnirello. Proof of concept came when the FLAVIA architecture was implemented on a standard device. "We were able to prove our architecture, and importantly the decoupling between what is programmable and what is, in principle, provided as a primitive operation in a very cheap wireless device," says Tinnirello.
The FLAVIA team used abstractions to get around the complexity inherent in different wireless devices. So instead of knowing the inner workings of each Intel, Atheros or Broadcom wireless chipset deployed within a Samsung, Nokia or Apple smartphone, they used an abstraction – a general model of the components and the interface between the different components. To do this, the programmer only needs a high-level description of the component’s behaviour.
"Ultimately," says Tinnirello, "a wireless protocol combines a set of blocks like a lego game; all protocols need to transmit packets using some modulation and coding techniques, properly schedule and prioritise transmission times, react appropriately to events such as reception errors, place and exchange signalling information into frames or frame headers, and so on." The building blocks are similar across different protocols and can be implemented by wireless device vendors, so there is no need to make them programmable; what makes a protocol differ from all others is the way blocks are combined.
The team found a promising way to formally specify the "logic" of a wireless access protocol. They then invented a machine-code that could run independently on a wireless network card.
The team is keen to point out the difference between the FLAVIA approach and software defined radio (SDR). SDR systems are usually fully open, which allows developers to program everything from scratch: modems, filters, amplifiers, detectors, and in general all radio signal operations. "In our vision, we propose a trade-off between programmability and flexibility. We don’t want to change everything. We just want to have a set of instructions to change the behaviour of the wireless access operation rather than the behaviour of the signals," says Tinnirello. Key to the concept is not interfering with a device’s internal design. A program written in a very high-level language should be compatible with all wireless devices, regardless of how it is built. This is crucial for getting industry onside – none are keen to disclose details of how their devices are designed.
It is important to keep manufacturers on board as they are crucial to the roll out of the FLAVIA vision. For the concept to become a commercial reality, vendors must change the way they design wireless interfaces.
In the meantime, the FLAVIA team is improving the architecture design so that it can support further operations on wireless devices. The team is also enhancing the self-optimising and self-organising aspects of networks.
The team will also apply for funding for a new research project involving manufacturers in a position to take the architecture from a proven concept to implementation.