Autonomous Cooperation in The Internet of Things

More Info


The Internet of Things (IoT) represents the concept of cognitive networked devices that measure their environment and act on it intelligently. For instance, health sensors monitor vital human signs and inform their owner; smart meters measure the energy consumption and relay the information in real time to energy providers and consumers; and smart thermostats optimize heating while reducing costs. Though most IoT devices are designed to work alone, collective operation advances their capabilities. In a smart building application, for instance, several devices from temperature and presence sensors to heating and lighting appliances, cooperate to maximize energy efficiency and comfort. From the application perspective, presence sensors feed lighting and heating appliances with information; from the networking perspective, all these sensors and actuators relay each other's traffic for connectivity (if the medium is wireless). Without cooperation context awareness fails and wireless multi-hop networks collapse. Unfortunately, when the altruistic act of cooperation is costly, devices become selfish. For a battery-powered device, forwarding a neighbor's packet increases its energy consumption and consequently, decreases its lifetime. Therefore, that device does not cooperate and refrains from forwarding foreign packets. When all nodes in a wireless network follow the same reasoning, none of the packets are relayed, and consequently the network gets disconnected. In this thesis, first, we investigate the mechanisms and incentives for cooperation and reveal that social relations such as family and friendship are crucial. Then, we automate cooperation mechanism for devices based on social relations. Advancing ``smart'' IoT devices by making them ``social'' is becoming a hot topic in IoT research. It is argued that social devices can share their data and assist each other without requiring human intervention and consequently, improve their management. But, what is the meaning of a social device? Being a social device does not necessarily mean assisting all others by sharing data and forwarding packets. A social device has its own identity and social profile such that it is aware of its owner. The criterion of assisting others is its owner's preferences, which are embedded in social relations. As we prove in the thesis, consumers desire to know to whom they assist, suggesting that peers should be inside the circle of trusted social relations. Social relations are crucial for cooperation, now the question is: how can we automate cooperation decisions based on social relations? Without automation, consumers cannot manage all their devices' interactions. The reason is that IoT imposes the challenge of scaling up to billions of devices such that each person will be equipped with tens of devices. Our solution is a decentralized architecture where every device is identified by a URI that points to the social profile of that device. Ownership relations are declared in this social profile. When a resource server (e.g., light bulb, temperature sensor) receives a request from a client device (e.g., smartphone), the resource server crawls the client's and its owner's social profile. If the resource server discovers a social relation that grants access, it responds positively to the client's request. Unlike centralized approaches, our decentralized proposal protects privacy, provides end-to-end security, and can operate without an Internet connection. The drawback of our approach is the complexity of searching decentralized social profiles especially for indirect relations such as friend-of-a-friend. For unconstrained devices, we limit the search space based on proximity. In an access point (AP) scenario, the AP overhears WiFi beaconing messages from clients to discover their existence. For constrained devices, the whole search operation is delegated to a more resourceful cloud service. Our solutions for social network integration depend on secured identity information. Unfortunately, highly constrained devices that have less than 20~KBs of memory cannot be protected from identity-related attacks. These constrained devices can neither punish their defector neighbors nor reward only cooperators. They either cooperate always and are exploited by free-riders or defect always and disrupt network traffic. In this thesis, we offer adaptability to these devices via meta-strategies that only require local information. Devices overhear the traffic in their neighborhood and practice the best local strategy (defection or cooperation). We show that even if free-riders change their identities, meta-strategies protect them against exploitation while still promoting cooperation throughout the network. All in all, in this thesis we make a few stepts towards the goal of autonomous cooperation in IoT; and in particular we show that 1. social relations are crucial in cooperation decisions, 2. decentralized social-device networks (proposed in this thesis) can automate cooperation and provide secure-by-default IoT systems, 3. constrained devices that are vulnerable to identity-change attacks can protect themselves by observing the traffic in their neighborhood.