smart meeting room availability dashboard...•iot is a business revolution enabled by ......
TRANSCRIPT
Partner: Veranstalter:
SharePointkonferenz
Smart Meeting Room Availability Dashboard
Stephan Bisser
SOLVION
Stephan• Technical Lead @SOLVION (O365 & Azure)
• Microsoft AI MVP
• P-TSP @Microsoft for Azure
• AI (Cognitive Services & Bots)
• Soccer
@cloudguy_pro
AskCloudgy
www.cloudguy.pro
Graz, Austria
Agenda
1 Business Problem 2 Azure 101
3 Solution Architecture 4 Demo
What is the actual problem?
What is the actual problem?
• Meeting rooms are booked but not used
• Opening 5+ room calendars in Outlook can be a pain
• Many meeting rooms on one floor → manual try and error not acceptable
• Ad hoc meetings get more important
What is the actual problem?
How to solve that problem?
Let‘s build a smart assistant (Bot)
2000s: Mobile
• Social
• User download apps from App Stores
The future: Conversations
• Natural language between people and technology
• Conversational canvas
• Bots and agents
1990s: Internet
• Search
• User “visits” websites
1980s: PC
• Desktop
The evolution of computers and IT
The solution‘s backend design
Microsoft’s Perspective on IoT• IoT is a business revolution enabled by
a technology revolution
• IoT enables a “digital feedback loop”
• This digital feedback loop connects
• Businesses to products to customers, enabling better products and customer insights
• Businesses to assets, enabling transformational optimization
BusinessesProducts
& Assets
Digital Feedback Loop
thysenkrupp Example• Knowing if elevators are not operational
before customers do
• Knowing the maintenance needs, saving 50% of servicing
• Knowing the right part to bring the first time
• 4x reduction in the time spent servicing an elevator using HoloLens
BusinessesProducts
& Assets
Digital Feedback Loop
Microsoft’s Perspective on IoT
IoT is a massive opportunity for developers
IoT in the Cloud and on the Edge
IoT in the Cloud Remote monitoring and management
Merging remote data from multiple IoT devices
Infinite compute and storage to train machine learning and other advanced AI tools
IoT on the EdgeLow latency tight control loops require near real-time response
Pre-process data on prem – E.g. video streams
Intelligence at the edge – ML, AI, Analytics
Offline operations (short and long term)
Protocol translation & data normalization
Privacy of data and protection of IP
Consistency
A Simple View of an IoT Solution
ActionsThings Insights
A More Realistic View…
ActionsThings Insights
… and why IoT needs simplifying
Updating devicesProvisioning
devices
Device updates
Data storage
Cold path analytics
Warm path analytics
Hot path analytics
On device analytics
Securing data
Business process integration
Solution scale
High availability
Disaster recovery
Transport protocols
Cost managementOperations monitoring
Device lifecycle
Data ownership
Data visualization
Cloud-to-devicecommands
< ---- End-to-End Security ---- >
Industry and government compliance
Enterprise integration
Device recovery
Internationalization
HW certification Manufacturing scale
Deployment
Drivers
Device commercialization
Azure IoT Hub
Bi-directional
communication
Enterprise scale
& integration
End-to-end
security
Millions of Devices
Multi-language, open source SDKs
HTTPS/AMQPS/MQTTS
Send Telemetry
Receive Commands
Device Management
Device Twins
Queries & Jobs
Billions of messages
Scale up and down
Declarative Message Routes
File Upload
WebSockets & Multiplexing
Azure Monitor
Azure Resource Health
Configuration Management
Per Device Certificates
Per Device Enable/Disable
TLS Security
X.509 Support
IP Whitelisting/Blacklisting
Shared Access Polices
Firmware/Software Updates
Azure
IoT Hub
Power plant
Elevators
Smart meters
Buildings
Medical devices
Device twin* Device twin
Query
Desired
Reported
Tags
Methods
Desired
Reported
Methods
Jobs
• Used to orchestrate software/firmware/configuration changes• Enables customers to build custom support for any OS
Azure IoT Hub – Device Management
• Query across millions of device twins, schedule jobs to update them* JSON documents that store device state information including metadata, configurations, and conditions. Azure IoT Hub maintains a device twin for each device that you connect to IoT Hub.
Azure Iot Hub
PaaSIaaSOn-Premises
The evolution of application platforms
Serverless
What is serverless?
$
Serverless application platform components
Combine IoT + AI + Serverless • IoT is a lot about processing events
• IoT is also about producing and computing events locally
• Machine Learning is a lot about preparing data
• Intelligence can be added to your app using several services easily
IoT Hub
Stream Analytics
Event Grid
Cognitive Services IoT
Azure Function AppsEvent driven execution off of HTTP, Queues, Databases, Timer/Chron
No brainer for simple jobs and workers
Serverless – never create or manage VMs or clusters, auto-scale
Pay only for resources used during execution (CPU and Memory)
Every 15 minutes Clean tableFind and clean invalid data
Applications
File added to
Blob Storage
Transform CSV to data rows
CSV
Power BI
Chart graphic
Applications
Millions of devices feed
into Stream Analytics
Store data in
SQL Online
Transform to structured data
Applications
? ...
Cortana Analytics answers questionsMessage sent
to Chatbot
Chatbot sends
response
Applications
Azure Functions
1) Trigger
7) Develop Locally
3) Develop 4) Execute
6) Monitor and Improve
2) Input Binding 5) Output Binding
Web Hooks
Azure Services Azure Services
App ServicesHosting Plans
Azure Services
Azure Functions Development Lifecycle
Azure Functions App
Azure Storage
Managed, Scalable and secure data storage
Blobs – object and file storage via an HTTPS URL
Tables – noSQL key/value data
Queues – messages and work items
Files – mountable file shares
Automatically replicated and backed up
Optional geo-replication
x-archive, cold storage, soft delete, snapshot and restore
Azure Storage Table
The solution‘s frontend design
Bots 101“a computer program designed to have a
conversation with a human being, especially over the internet” *
* https://dictionary.cambridge.org/dictionary/english/chatbot
Bots 101
• It’s one thing: it’s an app that performs an automated task
• It solves the user’s needs in the quickest/easiest way compared to any other option... like an app, or a website
• What makes a bot great:
• It is not how much AI it has
• It is not how much natural language it offers
• It is not whether it uses voice or not
Bots 101
{ Your Code }
REST Endpoint
Microsoft Bot Framework
Azure Bot Service1 intents.matches('GetRoom',function(session, args){
2 var statusEntity = builder.EntityRecognizer.findEntity(args.entities, 'Status');
3 var locationEntity = builder.EntityRecognizer.findEntity(args.entities, 'Location');
4 session.sendTyping();
5 session.send("Please wait, I'm geeting the room availability...");
6 var tableService = azure.createTableService(„<ConnectionString>");
7 var query = new azure.TableQuery().top(10);
8 tableService.queryEntities('MeetingRoomStatus', query, null, function(error, result, response) {
9 if (!error) {
10 var objNumber = Object.keys(result.entries).length;
11 var numberIndicator = 0;
12 var outStringRooms = "";
13 var status = statusEntity['entity'];
14 if(objNumber > 1){
15 result.entries.forEach(function(room) {
16 var roomName = room.Name["_"];
17 var roomStatus = capitalize(status);
18 if (room.Status["_"] == roomStatus){
19 outStringRooms += '\n\n';
20 outStringRooms += roomName;
21 numberIndicator = 2;
22 }
23 });
24 sendStatusOutput(session, outStringRooms, numberIndicator);
25 });
26 });
Language Understanding
[ $Operation ] [ $Status ] [ $ObjectType ] [ $Location ]
www.luis.ai
Intent = GetRoom
„Show me all free rooms in 1st floor “„Show me all free rooms in 1st floor “
LUIS
DEMO
Backend
Frontend
Ich freue mich auf Ihr Feedback!
SharePointkonferenz
Partner: Veranstalter:
@cloudguy_pro
AskCloudgy
www.cloudguy.pro
Vielen Dank!
SharePointkonferenz
Partner: Veranstalter: