Web of Things (WoT) Architecture - Use Cases & RequirementsThe W3C Web of Things (WoT) is intended to enable interoperability across IoT platforms and application domains. Overall, the goal of the WoT is to preserve and complement existing IoT standards and solutions. In general, the W3C WoT architecture is designed to describe what exists rather than to prescribe what to implement.This WoT Architecture specification describes the abstract architecture for the W3C Web of Things. This abstract architecture is based on a set of requirements that were derived from use cases for multiple application domains, both given in this document. A set of modular building blocks are also identified whose detailed specifications are given in other documents. This document describes how these building blocks are related and work together. The WoT abstract architecture defines a basic conceptual framework that can be mapped onto a variety of concrete deployment scenarios, several examples of which are given. However, the abstract architecture described in this specification does not itself define concrete mechanisms or prescribe any concrete implementation.World Wide Web ConsortiumW3C_ba25b042-92e3-4875-a5d5-389a1f54c910WoT UsersUse Cases -- This section is non-normative.
This section presents the application domains and use cases targeted by the W3C WoT and which are used to derive the abstract architecture discussed in § 7. WoT Building Blocks.
The Web of Things architecture does not put any limitations on use cases and application domains. Various application domains have been considered to collect common patterns that have to be satisfied by the abstract architecture.
The following sections are not exhaustive. Rather they serve as illustrations, where connected things can provide additional benefit or enable new scenarios.ConsumersIn the consumer space there are multiple assets that benefit from being connected. Lights and air conditioners can be turned off based on room occupancy. Window blinds can be closed automatically based on weather conditions and presence. Energy and other resource consumption can be optimized based on usage patterns and predictions.IndustriesThe industrial use cases in this section are applicable to different industry verticals.
Due to the nature of overlaps in the application scenarios, different verticals have similar use cases.Vehicle Fleet ManagersTransportation & Logistics -- Monitoring of vehicles, fuel costs, maintenance needs and assignments helps to optimize the full utilization of the vehicle fleet.
Shipments can be tracked to be en-route to ensure consistent quality and condition of the transported goods. This is especially useful to assert the integrity of the cold-chain from warehouses to refrigerated trucks to delivery.
Centralized monitoring and management of stock in warehouses and yards can prevent out of stock and excessive stock situations.UtilitiesAutomated reading of residential and C&I (Commercial and Industrial) meters, and billing offers continuous insights into resource consumption and potential bottlenecks.
Monitoring the condition and output of distributed renewable energy generation equipment enables optimization of distributed energy resources.
Monitoring and remote-controlling of distribution equipment helps to automate the distribution process.
Continuous monitoring of generation and distribution infrastructure is improving safety of utilities crew in the field.Oil & Gas ProvidersOffshore platform monitoring, leakage detection and prediction of pipelines as well as monitoring and controlling the levels in tanks and reservoirs helps to improve the industrial safety for the workforce as well as for the environment.
Automated calculation of a distributed stock through various storage tanks and delivery pipes/trucks allows for improved planning and resource optimization.Insurance ProvidersProactive Asset Monitoring of high value assets such as connected structures, fleet vehicles, etc. mitigates the risk of severe damage and high costs due to predictions and early detection of incidents.
Usage based insurance can be offered with usage tracking and customized insurance policies.
Predictive weather monitoring and re-routing fleet vehicles to covered garages can limit loss due to hail damage, tree damage.EngineersEngineering and Construction -- Monitoring for industrial safety reduces the risks of security hazards. Monitoring of assets at construction site can prevent damage and loss.BuildersFarmersAgriculture -- Soil condition monitoring and creating optimal plans for watering, fertilizing as well as monitoring the produce conditions optimize the quality and output of agricultural produce.Healthcare ProvidersData collection and analytics of clinical trial data helps to gain insights into new areas.
Remote patient monitoring mitigates the risk of undetected critical situations for elderly people and patients after hospitalization.Environmental StewardsEnvironment Monitoring -- Environment monitoring typically relies on a lot of distributed sensors that send their measurement data to common gateways, edge devices and cloud services.
Monitoring of air pollution, water pollution and other environmental risk factors such as fine dust, ozone, volatile organic compound, radioactivity, temperature, humidity to detect critical environment conditions can prevent unrecoverable health or environment damages.Smart CitiesMonitoring of Bridges, Dams, Levees, Canals for material condition, deterioration, vibrations discovers maintenance repair work and prevents significant damage. Monitoring of highways and providing appropriate signage ensures optimized traffic flow.
Smart Parking is optimizing and tracking the usage and availability of parking spaces and automates billing/reservations.
Smart control of street lights based on presence detection, weather predictions, etc. reduces cost.
Garbage containers can be monitored to optimize the waste management and the trash collection route.Building ManagersSmart Buildings -- Monitoring the energy usage throughout the building helps to optimize resource consumption and reduce waste.
Monitoring the equipment in the buildings such as HVAC, Elevators, etc. and fixing problems early improves the satisfaction of occupants.Vehicle DriversConnected Car -- Monitoring of operation status, prediction of service needs optimizes maintenance needs and costs. Driver safety is enhanced with notifications of an early warning system for critical road and traffic conditions.Web of Things (WoT) Architecture EditorsMatthias KovatschHuaweiRyuichi MatsukuraFujitsu Ltd.Michael LagallyOracle Corp.Toru KawaguchiPanasonic Corp.Kunihiko ToumuraHitachi, Ltd.Kazuo KajimotoFormer Editor, when at PanasonicWeb of Things (WoT) Architecture ContributorsSpecial thanks to Michael McCool, Takuki Kamiya, Kazuyuki Ashimura, Sebastian Käbisch, Zoltan Kis, Elena Reshetova, Klaus Hartke, Ari Keränen, Kazuaki Nimura, and Philippe Le Hegaret for their contributions to this document.Michael McCoolTakuki KamiyaKazuyuki AshimuraSebastian KäbischZoltan KisElena ReshetovaKlaus HartkeAri KeränenKazuaki NimuraPhilippe Le HegaretW3C StaffMany thanks to the W3C staff and all other active Participants of the W3C Web of Things Interest Group (WoT IG) and Working Group (WoT WG) for their support, technical input and suggestions that led to improvements to this document.W3C Web of Things Interest Group (WoT IG)International Workshop on the Web of ThingsThe WoT WG also would like to appreciate the pioneering efforts regarding the concept of "Web of Things" that started as an academic initiative in the form of publications such as [WOT-PIONEERS-1] [WOT-PIONEERS-2] [WOT-PIONEERS-3] [WOT-PIONEERS-4] and, starting in 2010, a yearly International Workshop on the Web of Things.Joerg HeuerFinally, special thanks to Joerg Heuer for leading the WoT IG for 2 years from its inception and guiding the group to come up with the concept of WoT building blocks including the Thing Description.An interoperable Web of Things (WoT)_5e249c62-7a7c-11ea-b97a-765a2883ea00To enable interoperability across IoT platforms and application domains._5e249e4c-7a7c-11ea-b97a-765a2883ea00PrinciplesCommon Principles --
* WoT architecture should enable mutual interworking of different eco-systems using web technology.
* WoT architecture should be based on the web architecture using RESTful APIs.
* WoT architecture should allow to use multiple payload formats which are commonly used in the web.
* WoT architecture must enable different device architectures and must not force a client or server implementation of system components.FlexibilityThere are a wide variety of physical device configurations for WoT implementations. The WoT abstract architecture should be able to be mapped to and cover all of the variations.CompatibilityThere are already many existing IoT solutions and ongoing IoT standardization activities in many business fields. The WoT should provide a bridge between these existing and developing IoT solutions and Web technology based on WoT concepts. The WoT should be upwards compatible with existing IoT solutions and current standards.ScalabilityWoT must be able to scale for IoT solutions that incorporate thousands to millions of devices. These devices may offer the same capabilities even though they are created by different manufacturers.InteroperabilityWoT must provide interoperability across device and cloud manufacturers. It must be possible to take a WoT enabled device and connect it with a cloud service from different manufacturers out of the box.Functionalities_5e24a02c-7a7c-11ea-b97a-765a2883ea001Thing Functionalities -- WoT architecture should allow things to have functionalities such as:StatusRead thing's status information_5e24a19e-7a7c-11ea-b97a-765a2883ea001.1UpdatingUpdate thing's status information which might cause actuation_5e24a2e8-7a7c-11ea-b97a-765a2883ea001.2Status NotificationEnable subscription, receipt and unsubscription to notifications of changes of the thing's status information_5e24a43c-7a7c-11ea-b97a-765a2883ea001.3InvocationInvoke functions with input and output parameters which would cause certain actuation or calculation_5e24a590-7a7c-11ea-b97a-765a2883ea001.4Event NotificationEnable subscription, receipt and unsubscription to event notifications that are more general than just reports of state transitions_5e24a6e4-7a7c-11ea-b97a-765a2883ea001.5Search & Discovery_5e24a842-7a7c-11ea-b97a-765a2883ea002Attributes & FunctionalitiesEnable clients to know thing's attributes, functionalities and their access points_5e24a996-7a7c-11ea-b97a-765a2883ea002.1WoT architecture should allow clients to know thing's attributes, functionalities and their access points, prior to access to the thing itself.QueriesEnable clients to search things by attributes and functionalities_5e24aae0-7a7c-11ea-b97a-765a2883ea002.2WoT architecture should allow clients to search things by its attributes and functionalities.SemanticsSupport semantic search of things based on a unified vocabulary_5e24ac20-7a7c-11ea-b97a-765a2883ea002.3WoT architecture should allow semantic search of things providing required functionalities based on a unified vocabulary, regardless of naming of the functionalities.Description MechanismSupport a common description mechanism_5e24ad7e-7a7c-11ea-b97a-765a2883ea003WoT architecture should support a common description mechanism which enables describing things and their functions.ReadabilityMake descriptions both human- and machine-readable_5e24aec8-7a7c-11ea-b97a-765a2883ea003.1Such descriptions should be not only human-readable, but also machine-readable.Structure & ContentSupport semantic annotation of the structure and content of descriptions_5e24b0da-7a7c-11ea-b97a-765a2883ea003.2Such descriptions should allow semantic annotation of its structure and described contents.ExchangeEnable exchange of descriptions using multiple common formats_5e24b30a-7a7c-11ea-b97a-765a2883ea003.3Such description should be able to be exchanged using multiple formats which are commonly used in the web.DescriptionsDescribe the attributes of IoT things_5e24b468-7a7c-11ea-b97a-765a2883ea004Description of AttributesAttributesSupport description of things' attributes_5e24b774-7a7c-11ea-b97a-765a2883ea004.1WoT architecture should allow describing thing's attributes such as
* name
* explanation
* version of spec, format and description itself
* links to other related things and metadata informationInternationalizationSupport internationalization_5e24b8e6-7a7c-11ea-b97a-765a2883ea004.2Such descriptions should support internationalization.FunctionalitiesEnable description of things' functionalities_5e24ba3a-7a7c-11ea-b97a-765a2883ea005Description of Functionalities -- WoT architecture should allow describing thing's functionalities which is shown in § 5.1.2 Thing Functionalities_5e24bc7e-7a7c-11ea-b97a-765a2883ea00Network_5e24bdfa-7a7c-11ea-b97a-765a2883ea006ProtocolsSupport multiple web protocols_5e24bf4e-7a7c-11ea-b97a-765a2883ea006.1WoT architecture should support multiple web protocols which are commonly used.
Such protocols include:
* protocols commonly used in the internet and
* protocols commonly used in the local area networkAccessEnable usage of multiple web protocols to access to the same functionality_5e24c0a2-7a7c-11ea-b97a-765a2883ea006.2WoT architecture should allow using multiple web protocols to access to the same functionality.CombinationsSupport usage of a combination of multiple protocols to the functionalities of the same thing_5e24c278-7a7c-11ea-b97a-765a2883ea006.3WoT architecture should allow using a combination of multiple protocols to the functionalities of the same thing (e.g., HTTP and WebSocket).Deployment_5e24c3cc-7a7c-11ea-b97a-765a2883ea007CapabilitiesSupport a wide variety of thing capabilities_5e24c7fa-7a7c-11ea-b97a-765a2883ea007.1WoT architecture should support a wide variety of thing capabilities such as edge devices with resource restrictions and virtual things on the cloud, based on the same model.HierarchiesSupport multiple levels of thing hierarchy_5e24c976-7a7c-11ea-b97a-765a2883ea007.2WoT architecture should support multiple levels of thing hierarchy with intermediate entities such as gateways and proxies.AccessSupport access to things in the local network from the outside of the local network_5e24cade-7a7c-11ea-b97a-765a2883ea007.3WoT architecture should support accessing things in the local network from the outside of the local network (the internet or another local network), considering network address translation.ApplicationsSupport description of applications for a wide variety of things based on the same model._5e24cc46-7a7c-11ea-b97a-765a2883ea008WoT architecture should allow describing applications for a wide variety of things such as edge device, gateway, cloud and UI/UX device, using web standard technology based on the same model._5e24cdc2-7a7c-11ea-b97a-765a2883ea00Legacy Adoption_5e24cf8e-7a7c-11ea-b97a-765a2883ea009Protocol MappingEnable mapping of legacy IP and non-IP protocols to web protocols_5e24d0ec-7a7c-11ea-b97a-765a2883ea009.1WoT architecture should allow mapping of legacy IP and non-IP protocols to web protocols, supporting various topologies, where such legacy protocols are terminated and translated.TransparencyEnable transparent use of existing IP protocols without translation_5e24d25e-7a7c-11ea-b97a-765a2883ea009.2WoT architecture should allow transparent use of existing IP protocols without translation, which follow RESTful architecture.RolesRefrain from enforcing client or server roles on devices and services_5e24d3c6-7a7c-11ea-b97a-765a2883ea009.3WoT architecture must not enforce client or server roles on devices and services. An IoT device can be either a client or a server, or both, depending on the system architecture; the same is true of edge and cloud services.2020-04-092020-04-09OwenAmburOwen.Ambur@verizon.net