acm - an acm publication

Internet Programmable IoT: On the role of APIs in IoT
The Internet of Things (Ubiquity symposium)

Ubiquity, Volume 2015 Issue November, November 2015 | BY Maja Vukovic 

Full citation in the ACM Digital Library  | PDF


Volume 2015, Number November (2015), Pages 1-10

Ubiquity symposium: the internet of things: Internet programmable IoT: on the role of APIs in IoT
Maja Vukovic
DOI: 10.1145/2822873

With everything and everyone accessible as a virtual resource on the web, novel applications that are created out of existing capabilities will continue to emerge. This article discusses the role and challenges for APIs in transforming the IoT capabilities.

Computing capabilities are continuously becoming faster, tinier, more ubiquitous and universally connected as the wireless networking transformation continues. At the same time advances in sensing technologies and knowledge extraction and management capabilities are providing rich contextual information, such as location, physiological state, and motion. This suggests a vision of systems that are intimately embedded in physical and social contexts, promising truly ubiquitous computing [1]. The Internet of Things (IoT), a fabric that emerges from complex, heterogeneous networks of pervasive sensors and actuators is enabling novel intelligent capabilities. Fridges that monitor and manage our nutritional goals [2], coffee mugs that sense their surroundings [3], wearable devices that measure our physiological state [4], and the ability to control sensor networks in water management plants [5] are no longer just a futuristic vision, or concepts created in the laboratory. Emergence of open standards and interfaces [6, 7]—cheap, pay-per-use access to deep computing capabilities—are enabling developers to quickly build and co- create novel applications that leverage vast amounts of data and capabilities exposed by IoT [8, 9].

IoT Infrastructure

The IoT is about the interconnected instrumentation that enables novel applications both for an individual and organizations through orchestration of intelligent capabilities [10, 11]. One of the main benefits of the IoT is analytics, which can be derived by monitoring and analyzing the information generated by the physical world. At the same time, the physical world is going to be monitored and actuated by billions of these devices, which requires advances in building, managing, and running this infrastructure. In that context end-to-end management and security are key, in particular when one takes into account the growing areas in smarter grid, transportation road systems and railway, which are vulnerable to attacks and can have unintended impact on society.

The machine-to-machine model, which commonly refers to a set of devices of the same type that communicate via wireless or wired technologies, is the underlying foundation of the IoT [12]. Still, the fabric of the IoT is a heterogeneous network of devices. It is anticipated more than 50 billion devices [13] will be connected to the Internet by 2020. All industries will have some aspect of monitoring the physical phenomena of the world, such as transportation, utilities, and health care. Similarly, these interconnected devices will be controlling and actuating certain processes. Yet, these devices will also have different data rates, different devices that communicate at different bandwidth, and different amounts of information. As a result the collected data will not go to the analytics applications directly in the datacenter. There is a need for a layered-approach, which is enabled by an end-to-end infrastructure that is able to manage the growing number of devices.

To enable a layered approach in data collection and processing, we first consider the role of IoT access and gateway appliances. Firstly the IoT access appliance is close to the device layers and its primary purpose is to manage the variety of the communication protocols that these devices communicate in, enabling a uniform presentation through the layers up above. The second and more important function of this particular IoT access appliance is to provide local storage and local intelligence. This will help manage the data traffic up the stack, by enabling localized analytics through IoT access appliance. The other key function the appliance performs is the hooks for management and security. This will allow for batch management and run diagnostics on individual devices.

Even beyond the IoT access appliance, data should not talk to the individual applications, which can create a lot of overhead and communication between the individual applications in the datacenter and the IoT access appliance. Therefor the role of the IoT application gateway is to perform data remediation. It essentially encodes and decodes the data that is needed by individual applications so there is only one point of attack or one point of layer for communication within the applications. Of course the other capabilities that it performs are end-to-end management and end-to-end security. In particular the IoT application gateway and the access appliance work together in diagnostic scenarios to do the device diagnostics, isolate the system check, and provide any possible solution.

Transformation of IoT using APIs

Representational state transfer (REST) is a software architectural style consisting of a coordinated set of architectural constraints applied to components, connectors, and data elements within a distributed hypermedia system. Thanks to the loose coupling, simplicity and scalability of RESTful architectures, and the wide availability of HTTP libraries and clients, RESTful architectures are becoming one of the most ubiquitous and lightweight integration platforms. Simplicity of REST application programming interfaces (APIs) has resulted in rapid development of highly consumable services, through power of reuse [14, 15]. Because of this, using web standards to interact with IoT is an increasingly acceptable approach [16].

Widespread API availability is transforming IoT deployments across application domains. For example, manufacturing becomes programmable end-to-end across the entire value chain: sourcing the suppliers of designs, parts, and raw materials; electronically submitting orders that can be automatically processed on the manufacturer side; assembly; and reconfiguration of supply chain relationships on demand. The next generation of manufacturing will be software defined, implying a rich ecosystem of services, systems, and manufacturing machines, interconnected into a global manufacturing fabric analogous to how information services are interconnected today on the Internet. Collectively, these services will facilitate software defined supply chains, enabling collaborative manufacturing. Additive manufacturing technologies are allowing for efficient and sustainable use of materials for building complex geometries, with the rest of the manufacturing ecosystem by means of IoT and the cloud.

  • means of development of services and their trajectories that satisfy novel requirements through API orchestration
  • access to data through APIs and data normalization
  • multi-tenancy and shared data services
  • additional layer of security on top of the IoT device
  • versioning and management of "aging" devices and capabilities, and
  • catalogs of APIs thereby creating an API-enabled IoT ecosystem, whether private, public or internal.

Next, we discuss additional opportunities of APIs in the context of IoT.

IoT Extensibility through APIs

The role of the human is often overlooked in the context of IoT, even though humans and human networks are a sensing fabric on their own. Humans tend to sense the environment in three ways: automatically, explicitly, and implicitly [17, 18]. Firstly, automatically, using available sensors on their (mobile) devices. Automatic sensing opens the question of how to treat such cases where the crowd may not be directly aware of its contributions (e.g., roaming information exposed to partner network). Secondly, explicitly through manual input. The type of data captured ranges from low level sensor elements (e.g., temperature or location) to more complex, often inferred, descriptive and subjective experiences about the environment (e.g., noise level or terrain steepness). Other examples may include more interactive scenarios, such as searching for a missing cat and reporting on a clue via Twitter. Finally, implicit sensing also relies on manual inputs, however sensor data are byproducts of other user actions (e.g., swiping an RFID train pass at a gate, may generate useful data for the railway company to predict crowding at a train station). Moreover humans are not only sensors, whether automatic, explicit, and implicit. They often take on a role of actuators and controllers [17, 18].

From the infrastructure perspective IoT tends to focus on vast amounts of data generated by millions of sensors, which is then processed, filtered, and analyzed with the hope of leading to important insight, which then influences future behavior of people, systems, and organizations [19]. Yet, at the same time, in the mobile domain, data is being generated by millions of people with their devices with the same objective of identifying important insight, which then influences future behavior of people, systems, and organizations. There clearly is a tremendous commonality in the infrastructure stack used by both IoT and mobile, and successful analytics and applications can involve both concepts. The question is then are they really two different concepts? Is the next step naturally a fusion of these two domains, and how will that be realized?

Consider a water treatment plant, which is equipped with thousands of sensors (e.g., level, flow and pressure sensors), all connected to the Internet. While such sensors help automate processes and provide warnings and alerts, the knowledge that is derived from them often is augmented with data that maintenance staff publishes and validates using their mobile applications. Furthermore, citizens may be posting status updates on their favorite social networking site and sharing videos about the contaminated reservoir in their area. For IoT to be effective, one cannot disregard the role of the humans. It is foreseeable that a common infrastructure will evolve to integrate physical and human sensors, actuators, and controllers, providing a common process for extracting, cleansing, managing, and inferring knowledge from data. RESTful architectures and APIs naturally fit this role in enabling this unified access across data sources and capabilities to build rich, context-aware and adaptive applications.

APIs and IoT Data Control

IoT amplifies opportunities for intrusion into every aspect of our life [20]. Personal information goes beyond a social profile, purchase history, demographics, and location. How do humans take control of the volumes of instrumented data that is generated and collected from the things that they own—phone, tablet, router, home appliance, car, light switch/bulb, glasses, etc.? Is there an opportunity for IoT to be used to engage humans to create a new digital society of equal between humans and technology, by giving back the control in the sensor centric world to the humans? One can envision humans having the mechanism to manage their personal information so they enrich their lives according to their definition of belonging, esteem, and self-actualization.

Here and again arises the need for this integrated stack that brings together people and things, whether physical or virtual. Data is the commodity in demand, yet humans seem to give up this resource rather easily for the benefit of the organizations—usually in the hope for better service. And implications are huge. For example, how is the IoT fabric going to deal with third party developers in this domain? What does the access control policy look like? APIs will be critical in enabling such control points across the devices and stacks. Moreover, APIs offer a channel to provide a richer service experience in the exchange for, and access to, this personal wealth of information produced through systems of record, social, sensors, or mobile, etc.

Concluding Remarks

APIs are going to play a key role in growing the IoT capabilities, both vertically along the infrastructure stack and horizontally across other sources of data and domains (e.g., human sensors, mobile infrastructure, etc.). With everything and everyone accessible as a virtual resource on the Web, novel applications that are created out of existing capabilities will continue to emerge. Well-designed APIs are highly consumable, yet they often may be reused in unanticipated contexts. As IoT and corresponding API ecosystem grow it will be key to optimize APIs for the scenarios that are in line with human-in-the- loop considerations, both from the infrastructure perspective, but more importantly by ensuring the availability of control points over the newly generated, inferred and shared data.


[1] Weiser, M. The computer for the 21st century. Scientific American 265, 3 (1991), 66–75.

[2] Luo, S., Jin, J. S., and Li, J. A smart fridge with an ability to enhance health and enable better nutrition. International Journal of Multimedia and Ubiquitous Engineering 4, 2 (2009), 69–80.

[3] Gellersen, H. W., Beigl, M., and Krull, H. The MediaCup: Awareness technology embedded in an everyday object. Handheld and Ubiquitous Computing. Springer Berlin Heidelberg, 1999.

[4] El Kaliouby, R., Teeters, A., and Picard, R. W. An exploratory social-emotional prosthetic for autism spectrum disorders. International Workshop on Wearable and Implantable Body Sensor Networks (BSN 2006). IEEE, Washington D.C., 2006.

[5] Roman, R. et al. Key management systems for sensor networks in the context of the Internet of Things. Computers & Electrical Engineering 37, 2 (2011), 147–159.

[6] IEEE IoT Standard.

[7] Fielding, R. T. Architectural Styles and the Design of Network-based Software Architectures, Doctoral dissertation, University of California, Irvine.2000/

[8] Schmidt, A., and Van Laerhoven, K. How to build smart appliances? Personal Communications, IEEE 8, 4 (2001), 66–71.

[9] Kortuem, G. et al. Smart objects as building blocks for the Internet of Things. Internet Computing, IEEE 14, 1 (2010), 44–51.

[10] Atzori, L., Iera, A., and Morabito, G. The Internet of Things: A survey. Computer Networks 54, 15 (2010), 2787–2805.

[11] Miorandi, D. et al. Internet of things: Vision, applications and research challenges. Ad Hoc Networks 10, 7 (2012), 1497–1516.

[12] Höller, J., Tsiatsis, V., Mulligan, C., Karnouskos, S., Avesand, S., and Boyle, D. From Machine-to-Machine to the Internet of Things: Introduction to a new age of intelligence. Elsevier, 2014, ISBN 978-0-12-407684-6.

[13] Internet of Things. Cisco.

[14] Pautasso, C., Zimmermann, O., and Leymann, F. Restful web services vs. big'web services: Making the right architectural decision. In Proceedings of the 17th international conference on World Wide Web. ACM, New York, 2008.

[15] DuVander, A. 9,000 APIs: mobile gets serious. ProgrammableWeb. 2013.

[16] Guinard, D. et al. From the Internet of things to the web of things: Resource-oriented architecture and best practices. Architecting the Internet of Things. Springer, Berlin Heidelberg, 2011, 9-129.

[17] Vukovic, M., Rajarshi, D., and Kumara, S. From sensing to controlling: The state of the art in ubiquitous crowdsourcing. International Journal of Communication Networks and Distributed Systems 11, 1 (2013) 11-25.

[18] Konomi, S. Beyond mobile collaboration: Toward metropolitan-scale geocentric crowdsourcing. Workshop on Ubiquitous Crowdsourcing. International Conference on Ubiquitous Computing (Beijing). 2011.

[19] Harrison, C., Eckman, B., Hamilton, R., Hartswick, P., Kalagnanam, J., Paraszczak, J., and Williams, P. Foundations for smarter cities. IBM Journal of Research and Development 54, 4, (2010).

[20] Round Table: Internet of Things - IEEE ICAT 2013. Sarajevo. Oct/Nov 2013.


Dr. Maja Vukovic works at IBM as a research staff member and a technical lead for cloud transformation research, with focus on analytics and automation to enable clients to rapidly migrate existing workloads to the cloud. She is an IBM Master Inventor and a member of the IBM Academy of Technology. Dr. Vukovic received her Ph.D. from University of Cambridge, UK, for her work on context aware service composition. Dr. Vukovic has 60-plus publications at top international conferences and journals, and 70-plus patents filed. She is a senior member of Institute of Electrical and Electronics Engineers (IEEE).

©2015 ACM  $15.00

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.

The Digital Library is published by the Association for Computing Machinery. Copyright © 2015 ACM, Inc.


Leave this field empty