smart meeting room availability dashboard...•iot is a business revolution enabled by ......

Post on 22-May-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

stephan@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?

$

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

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

stephan@cloudguy.pro

Vielen Dank!

SharePointkonferenz

Partner: Veranstalter:

top related