Paper Presents an Architecture for up Read-Only Access at the Cost of Slower Update Queries
Total Page:16
File Type:pdf, Size:1020Kb
An architecture for the Web of Things Dave Raggett W3C/ERCIM 2004, route des Lucioles Sophia Antipolis - France [email protected] ABSTRACT end servers that handle the HTTP client requests can spread the The real World consists of physical things that computer software computational load across multiple back-end servers. can interact with through sensors and actuators. This can be com- Cloud computing refers to the means to fulfil compute or storage bined with rich descriptions, e.g. of devices, people, places and requirements by connecting a large number of computers. These events. There is a huge potential for services, and most of the work computers are often hosted by third parties as a service at a lower to date has focused on communication technologies for the Internet cost that it would be to provision these yourself. Virtualization of Things. It is now timely for an increased focus on how to create allows a single physical computer to be shared as a number of services, and the importance of standards for realizing the potential. virtual computers. This gives users the ability to install and configure The Web of Things extends the Semantic Web into the real World their own software as needed. Scalable solutions for data storage for an open ecosystem of value added services based upon physi- involve mechanisms for replication and synchronization. If most cal sensors, actuators and tags, together with rich descriptions of data queries are read-only, the mechanisms can be designed to speed physical and abstract things. This paper presents an architecture for up read-only access at the cost of slower update queries. a scalable services platform for the Web of Things with APIs for Graphics processing units (GPUs) are very efficient for matrix services layered on top of HTTP and Representational State Transfer and vector operations compared to traditional computer processing (REST). units (CPUs). Cloud based GPUs [7] are expected to be increas- ingly important for speech and image processing, machine learning, Categories and Subject Descriptors translation, and emulation of neural networks [8]. For highly distributed solutions, some form of peer to peer com- X.4 [Insert]: ACM Categories puting is appropriate. This can be made more efficient if the number of peer connections per node follows a power law [9], so that any Keywords arbitrary pair of nodes can be connected to each other through a Internet of Things, Services, Cloud computing, REST, Semantic relatively small number of intermediaries [10]. Distributed hash Web, Web Security, Privacy, Open Standards tables (DHTs) allow you to distribute tasks across a large number of nodes through a mechanism that maps the task description to an index in an array. A related technique is to use Bloom filters which 1. WEB ARCHITECTURE have the property of constant time to add items or to check whether The Web is based upon open standards for addressing resources an item is in the set, independent of the size of the set. (URIs [1]), protocols for accessing resources (HTTP [2]), and for- mats such as HTML [3], CSS [4] and JavaScript [5], for more details, see W3C Web Architecture [6]. The Web has evolved from brows- 2. THE WEB OF THINGS ing static web pages to applications and services, with the browser Bar codes have made it easy to scan identifiers for physical items. hosting the user interface. The application processing is distributed: This has had a huge impact on tracking items through the supply some occurs in the web page scripts executed in the browser, other chain or assembly line, or as they are transported across the World, processing occurs in the server. as well as speeding checkout at a retail point of sales terminal. The HTTP protocol is designed to support caching of resources The year on year improvements in electronic circuits has made to reduce the load on servers for static or infrequently changing it practical to provide inexpensive radio frequency identification content. Applications often involve dynamically generated pages (RFID) tags. These are often more convenient than barcodes, e.g. tailored to a specific user’s needs. This is typically data driven, not requiring direct line of sight to the scanner. RFID has evolved to involving database queries, and sourcing information from third support integrated storage, computation, and even simple sensors. party servers. At the same time the communications technologies for sensors The distributed nature of clients and servers provides a degree and actuators have evolved at a rapid pace. Low cost battery powered of scalability compared to centralized approaches. Scaling to fulfil sensors are now available that operate for several years. Falling increases in demand for a given web site can be accomplished in costs are making it practical to integrate sensors in all kinds of a number of ways. The DNS servers can be configured to map a environments. Application areas include: given domain name to multiple servers to spread the load. Front- • Smart cities – transport, power, water, planning, . Copyright is held by the author/owner(s). • Smart homes – home automation, extended warranties & WS-REST 2014, Seoul, Korea proactive maintenance, security, entertainment, . ACM (to be determined). • Home healthcare – improved outcomes and reduced costs Value-Added Services A cloud-based platform can be designed to support both scalability • Retail – stock taking, and richer shopping experiences and easy registration of services. The starting point is a description of the service as a REST API. The platform also provides a basis • Smart factories and distribution for value added services that build upon other services: Work on the Internet of Things [11] has mainly focused on com- • By combining multiple services in some useful way munications technologies and much less so on how to create services. • By combining services with rich descriptions and other sources There are plenty of challenges: scalability, security, interoperability, of information coping with continuing change in communications technologies, a lack of clarity in respect to business models, privacy, personal • By transforming service data into the same, higher or lower control and threats to individual freedoms. level of abstraction The Web of Things is a term coined in 2007 [12] for applying Data fusion combines multiple sources of information, e.g. anonymised web technologies to blend the Internet of Things with the Semantic data on the locations of cars with map data to generate traffic density Web [13] to enable value added services. maps. An example of a transformation at the same level of abstrac- tion is a conversion of data units such as temperatures from Celsius • Interaction with the physical world through tags, sensors and to Farenheight. Another example is a conversion of data formats, e.g. actuators (the Internet of Things), from XML to JSON. Biological metaphors for pipelined perception and actuation are applicable to tranformations at different levels of • Machine interpretable descriptions and context (i.e. the Se- abstraction: mantic Web and linked data) and • Extracting meaning from progressive interpretation of am- • Open markets and ecosystems for services using scalable biguous or noisy data distributed cloud-based platforms. • Mapping high level intent to coordinated & synchronized control of actuators The basic idea is to expose sensors and actuators via HTTP. The server involved hides the details of how the sensors and actuators Examples of perception include: speech recognition, face detec- are connected to it. This allows you to use whatever communication tion, tracking of pedestrians and cars in street scenes. Examples technologies make the most sense for the given environment. The of actuation include: coordinating traffic lights based upon current sensors and actuators in many cases won’t be using HTTP due to the traffic conditions, and signalling smart appliances to reduce the load need to conserve battery life. Some examples of communications on a electrical grid in response to peaks in demand. technologies: Biological insights are also relevant to creating intelligent agents that act on their user’s behalf, e.g. based upon a representation of goals, the ability to construct and execute plans, and to learn from • WiFi, Weightless, ZigBee, CoAP & 6LoWPAN, NFC, Blue- experience. This is something where an interdisciplinary approach Tooth & BLE, ANT, Infrared, USB, IEEE 1394, DASH7, is likely to pay dividends, e.g. computational linguistics, cognitive KNX for buildings, EnOcean, GPRS/3G/4G, WiMAX, etc. science and artificial intelligence. All this suggests the value of a service platform with support Web applications can directly access services exposed by HTTP, for a heterogenous mix of programming languages, e.g. simple subject to the same origin security restriction. This limits web page expressions for data conversions, scripting languages for flexibil- scripts to accessing HTTP on the same server that provided the ity, rule-based languages for logical inferences, and specialized HTML web page. This is not a problem if the web applications languages for exploiting GPUs for efficient operations on numeric are installed onto the same server as the server side scripts for ac- data. cessing the sensors and actuators. Several companies have recently Markets of services involve people in a variety of different roles. announced plans for open standards for services running on home Some people design and sell services. Others purchase services gateways [14] and apply them to their personal or business needs. The former is There are work arounds for the same origin restriction. One analogous to selling native apps through app stores for use on iOS approach is to use the HTML script element to load data into the and Android devices. As an example Peter sells a service for home page’s scripting execution environment. A related approach uses security webcams. Mary purchases this as a packaged service, and document.write to dynamically extend the web page.