Many software packages can model a network and the data flowing through its devices. With the Internet of Things, though, this isn’t enough. The devices obtain input from their environment, and their actions affect it. Really modeling their actions requires including their interactions with the physical environment.
Microsoft’s Azure Digital Twins addresses this need. It models physical spaces and the IoT devices within them. This lets designers conduct realistic simulations, try out configurations, and find out coverage requirements, costs, and other important measures. The idea is a bit like SimCity and similar games, but the object is to design and test real spaces. It has been in public preview since October 2018. Users with Azure accounts can create an instance and try it out.
Spatial issues and the IoT
The Internet of Things includes devices which incorporate sensors or controls that relate to their surroundings. They affect physical measures such as heat and lighting, and physical inputs such as motion and temperature changes affect their actions. One device can affect another through its physical effects. The presence and activity of people in a space are inputs to the device.
The placement of devices is critical to their operation. There need to be enough to cover their environment, and placing them optimally will avoid waste. The deployment needs to take human interactions into account as well as physical parameters.
Introduction to Azure Digital Twins
In brief, Azure Digital Twins is a cloud-based platform for digital models with a spatial context. It can model any kind of physical environment. Users can define a hierarchy of spaces for an environment such as a hotel, an office building, or a stadium.
The term “digital twin” is well known to engineers. It’s a name for a software model that accurately emulates a physical system. Digital twins for machines and vehicles are familiar in industrial development. Azure has expanded the concept to large systems of electronic devices in complex spaces.
Azure Digital Twins is a platform, not an application. Developers will write applications using its API, adding their own user interfaces. The API uses REST, so the application can be in any programming language. The software comes with a sample application which developers can try out and use as a model for their own.
An application which uses the API lets designers set up a model of one or more physical spaces. The model specifies people, places, and devices and identifies their locations. It simulates the behavior of the environment over time.
Spatial intelligence graphs
The central concept is the spatial intelligence graph, which holds the information on physical spaces and the devices in them. It organizes spaces in a hierarchy. A top node might represent an office building. Below it could be a node for each floor, then nodes for suites, and finally rooms at the most detailed level.
Each object in the graph can have arbitrary metadata attached to it. It could include anything which is useful to the application. Metadata could include maps to display and navigate, descriptive text, pictures, or AR data. The application could let the user walk through the building, interacting with devices through the graph. Lights could go on as they entered a room, or a simulated alarm could go off if they opened a fire exit door.
Graphs are scalable almost without limit. A graph could represent an entire hotel chain or real estate portfolio, down to each room in each building.
Customizing the environment
These features are possible because of Azure Digital Twins’ extensible object model. Each use case can have a different object model with its own ontology. An ontology is a set of property and relation types which fits a use case. The ontology for a building might include the dimensions of a room, its number, connections to other rooms, its occupancy status, current temperature, and a visual representation. The application can use this information to fill out the user interface or to model the devices’ effects.
Azure’s terminology calls simulated occupants “users.” This could confuse the real people using the system, who are also called users. Perhaps Microsoft will change the term to “occupants” or something else.
User-defined functions can make occupants into active participants. They can adjust settings when they enter a space. They might have a satisfaction level which goes up or down based on their environment. If application designers find themselves borrowing ideas from games, that’s not necessarily bad.
The customization features lend themselves to a rapid cycle of testing and modification. Designers can try out configurations and see which ones perform best. When they’ve settled on a configuration, they can tweak it for further improvement.
The models are suitable for many uses. Setting up schedules and sensor responses for lighting, heating, and cooling can eliminate waste and save money. Leaving spaces on standby settings when they aren’t in use reduces costs, but the settings can’t take too long to adjust to occupants. Security systems should prevent and detect unauthorized entry but not set off false alarms or trap innocent people behind a lock.
Simulations of usage patterns can show how the system behaves under peak load conditions. It could show where additional facilities are needed or suggest different ways of positioning the existing devices. Used with traffic and transit systems, the model can help in scheduling and route planning.
Microsoft provides predefined protocols tailored to use cases. This simplifies the design of models for common situations, from buildings to whole cities. Service providers will be able to add their own protocols and make them available to customers.
Security and access control
An application with a large spatial intelligence graph might have accounts for independent users. They might include franchise operators, design engineers, and testers. Azure Digital Twins includes a powerful system of role-based access control. Permissions can be granted to users, user-defined functions, devices, and domains. Permissions in a node are inherited by its subnodes; for example, a permission for a floor implies the same permission for all the rooms on the floor.
Microsoft recommends following the principle of least privilege. A tester, for example, could have read access and nothing more for all the rooms in a building. A support engineer might have full access to devices but not authorization to change the room layout. Architectural engineers would be allowed to change the rooms themselves, but they probably wouldn’t be allowed to add or remove floors.
The platform has full multi-tenancy and nested tenancy support. A service provider can make parts of the model available to different customers, even if they’re competitors with each other. Each one sees only the parts of the graph to which it has access, and the rest isn’t visible unless the provider chooses otherwise.
Integration with other software
Azure Digital Twins is designed to work smoothly with other Azure services. It supports logging, analytics, and monitoring. Activity logging is enabled by default. An administrator can set up Azure Stream Analytics to obtain information on the current state of the model or its history over simulated time. They can serve first to debug the model and then to show the behavior of the modeled environment.
Support for Dynamics 365 and Office 365 allow users to view and work with the information from a model in many ways, bringing it into ERP or spreadsheets.
Microsoft is working on data migration from databases, building information management (BIM), and 3D modeling software. Little is available so far, but this is sure to be an area where Microsoft or third-party developers will offer many options before long.
Microsoft has declared it will “shift the paradigm in IoT” with Azure Digital Twins. Successful deployment of digital sensors and control devices isn’t just a matter of treating them as networked computing units but of understanding their relationship with the physical world.
The platform will facilitate the setting up of “smart” environments. Designers will be able to test a deployment in software before installing it. Not only will that save on cost, it will help designers to get it right the first time. People taking up residence in a new building shouldn’t have to feel like test subjects. If their simulated equivalents experience the problems, live humans don’t have to.
Azure Digital Twins opens up many opportunities for third-party developers. They’ll provide visualizations and analytics which will let designers and engineers plan new spaces more easily than ever. The people using the spaces will be more satisfied, and costs will be lower.
If you’re looking for new ways to get the most out of Azure cloud services, we’re ready to help. Get in touch with us to learn more.