PART 1
The Architecture
Chapter 1. What Are Smart Objects?
Chapter 2. IP Protocol Architecture
Chapter 3. Why IP for Smart Objects?
Chapter 4. IPv6 for Smart Object Networks and the Internet of Things
Chapter 5. Routing
Chapter 6. Transport Protocols
Chapter 7. Service Discovery
Chapter 8. Security for Smart Objects
Chapter 9. Web Services for Smart Objects
Chapter 10. Connectivity Models for Smart Object Networks
Chapter 1
What Are Smart Objects?
This book is about smart objects, networks of smart objects, and how these networks can be interconnected using the Internet Protocol (IP). In this chapter, we define smart objects, give an overview of the history of smart object technology, and discuss the present challenges.
Smart object technology has many names. In this book, we use the term smart objects, but the technology and its applications have names such as the Internet of Things, the web of objects, the web of things, and cooperating objects. Even though there are slight differences in the connotations and definitions of those names, they represent the same fundamental type of technology.
One definition of smart objects is a purely technical definition — a smart object is an item equipped with a form of sensor or actuator, a tiny microprocessor, a communication device, and a power source. The sensor or actuator gives the smart object the ability to interact with the physical world. The microprocessor enables the smart object to transform the data captured from the sensors, albeit at a limited speed and at limited complexity. The communication device enables the smart object to communicate its sensor readings to the outside world and receive input from other smart objects. The power source provides the electrical energy for the smart object to do its work.
For smart objects, size matters. They are significantly smaller than both laptops and cell phones. For smart objects to be embedded in everyday objects, their physical size cannot exceed a few cubic centimeters.
Although this technical definition of a smart object is important — we review it at length in Part II — it does not help us understand the behavior, interaction, and other implications of smart objects. Thus we must define smart objects based on their behavior.
We already know that smart objects are able to interact with the physical world by performing limited forms of computation as well as communicate with the outside world and with other smart objects. But what do smart objects, given their technical abilities, actually do?
The answer to this question is not as easy as it seems. First, the behavior of a smart object depends heavily on where and how it is used. A smart object deployed in a freighter container to monitor its temperature behaves differently than a smart object that monitors parking spaces. Second, and more important, we cannot know at this point how future smart objects will be used. Even though we can accurately predict future smart object uses based on how smart objects are used today, we cannot know exactly what the future usage patterns will be. This is an important point, because it tells designers of smart object systems that they must future-proof their systems, protocols, and architectures.
Despite not knowing the exact behavior of a smart object, there are two behavioral properties common to any smart object: interaction with the physical world and communication.
Smart objects interact with the physical world by obtaining information from the physical world with their sensors and by affecting the physical world with their actuators. Smart objects use their sensors to sense physical properties ranging from simple and easy-to-measure properties such as light, temperature, and air humidity, to more complex properties such as air pollution, the presence of a car, or when an industrial machine is about to break down. Smart objects affect the physical world using different forms of actuators. This may be as simple as switching on a small LED or as complex as switching on the heat in a particular part of a building.
Smart objects communicate. Even though a single smart object can be very useful, by turning on the light in a doorway when the door opens, for example, the real power of smart objects comes from their ability to communicate. The smart object that would previously switch on the door light is now able to communicate that the door was opened to every other nearby smart object. These smart objects may turn on other lights in the house, turn up the heat, and so forth. Likewise, smart objects in an industrial plant that sense the vibration of machinery may communicate their vibration reading both to each other and to the plant’s operator. Communication is essential to the behavior of smart objects, thus we frequently use the term smart object networks throughout this book.
In Part III of this book, we further explore the question of how smart objects behave through detailed case studies of deployed smart object networks. These case studies provide important insights into how smart objects are used now and how they are intended to be used in the near future to support the myriad of applications impacting our day-to-day lives, but they do not allow us to look into the future. We have to use the available tools — knowledge of history, understanding and experience, and sound engineering practices — to build this technology for the future.
1.1 Where Do Smart Objects Come From?
Smart objects come from a number of different technology areas and scientific disciplines with each area making its own imprint on the technology.
To understand the origins of smart objects, we must look at the conceptual developments as well as the technological progress that makes smart objects possible. The concepts and the technology have coexisted for a long time and the developments in their respective areas are intertwined, but they have largely progressed and matured independently of each other.
Computing and telephony are two disparate strands of development that have led to the development of smart objects. Both computing and telephony play a large part in the formulation of smart objects, but the two technologies have different cultural and technical histories.
The roots of computing can be traced back to the academic environments that spun out of the aftermath of World War II. Computer scientists such as John von Neumann, who were employed by the US military during WW II, continued their work in the US academic system, often funded by the US military. It was this environment that developed the first computers, the first operating systems, and subsequently the Internet. This culture was often characterized by witty engineering, the development of evolvable systems, and the desire to make the most out of available tools. Frequently, the systems developed in this environment were never intended to have a world-wide distribution, but because they were built to evolve and built on solid engineering principles, they often succeeded in reaching monumental importance. Examples of this include the UNIX family of operating systems whose heirs support most of the Internet today, and indeed, the global Internet itself.
The roots of telephony are older than those of computing, and have taken a slightly different path. The first patent on telephony was filed by Alexander Graham Bell in 1876 (even though others had built telephones prior to Bell). In its humble beginnings, telephony was available only to a lucky few. Installation of a telephone in one’s house required a significant investment in infrastructure. Not only were wires needed within the house, but they also had to be drawn all the way from a central switchboard to the house. Furthermore, to connect these wires together across larger distances, the switchboards had to be connected using wires drawn across long distances and each switchboard could even be operated by a different company. All in all, large investments were needed up front, before the system would be able to work, and once the system was installed, it was of utmost importance that it worked. This led to a culture where systems were rigorously specified before they were ever implemented. Without rigorous specification, it would be extremely difficult, if not impossible, to connect disparate operators and their various equipment. To make things even more difficult, the telephony companies have always been monitored by legislators and governments, requiring even more rigorous attention to detail.
Smart objects represent the middle ground between computing and telephony, borrowing from both. From its computing heritage, smart objects have assumed the culture of engineering evolvable systems. This is important because at this point, it is impossible to fully specify the expected behavior of future smart object systems, even if we have a good idea of where smart objects are heading today. From its telephony heritage, smart objects have applied the principles from connecting disparate systems that may be managed by different companies and organizations. Smart objects are not manufactured by a single organization, but by multitudes of different people and parties. Smart object technology must be both evolvable and standardized.
In the remainder of this chapter, we discuss areas leading up to today’s smart objects as shown in Figure 1.1: embedded systems, ubiquitous and pervasive computing, mobile telephony, telemetry, wireless sensor networks, mobile computing, and computer networking. Some of these areas come from the computing heritage and some from the telephony heritage. Some have sprung out of academic research communities, some from an industrial background. What they have in common, however, is that they either deal with computationally assisted connectivity among physical items, wireless communication, or with interaction between the virtual and the physical world.
Figure 1.1 Smart objects are the intersection of embedded systems, ubiquitous computing, mobile telephony, telemetry, wireless sensor networks, mobile computing, and computer networking.
1.1.1 Embedded Systems
An embedded system is a computer embedded in something other than a computer. Under this defi...