Recently there has been an increasing interest in smart
objects, which can connect to the Internet to cooperate and
create new services to citizens (e.g., smart home, mobile
health) and for industrial applications (e.g., smart grid, efficient transportation and logistics).
The resulting ecosystem is typically referred to as the Internet of Things (IoT) [1] and the interconnection of smart objects is called Machine-toMachine (M2M) communication.
While the use of wireless technology is often the only viable solution, for economic
and practical reasons, many smart objects are not capable to connect directly to the Internet due to their communication, computational, and memory constraints.