How Mentor Graphics Uses Google Cloud for the Internet of Things - Mentor Gra...
Inventit ServiceSync Technology Introduction
1. Inventit ServiceSync
Platform Technology
Introduction
April 8, 2013
dbaba@yourinventit.com
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
1
2. Let’s take a look at
Technology Overview.
and User Apps
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
2
3. Suppose There is
An IoT/M2M Service App
Network
Access
Internet IoT/M2M App
Service App
Machines on
Remote Site
Internet Users
Mobile Users
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
3
4. This Service App
will be created
on like this:
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
4
5. User Application Category
UI/UX
Service App User Domain
etc.
App I/F
IoT/M2M
A
Server App Core Server Side
P
Client I/F
I
Server I/F
IoT/M2M
Device App
Device / Gateway
Client
Side
C etc.
Gateway
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
5
6. What kind of APIs
does have?
-There are 4 API sets
called MOAT.
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
6
7. User Application Category
UI/UX
Service App User Domain
MOAT
etc. REST
App I/F
IoT/M2M
Server App Core Server Side
MOAT Client I/F
js
Server I/F
IoT/M2M
Device App
Device / Gateway
Client
Side
C etc.
MOAT Gateway
C&Java
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
7
9. Model Centric
Things in IoT API are Objects
represented by Models.
Thus, is able to share Models and
Objects between Clients and Server.
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
9
10. BloodPressureMeter Modeling
- systolic: int32
- diastolic: int32
- pulse: int32
- time: int64
+ applyPolicy():void
Represented as A Blood Pressure
Class Diagram Meter app is...
Descriptor
"BloodPressureMeter" : {
Coded with
"attributes":{
"systolic":{"type":"int32"},
"diastolic":{"type":"int32"},
"pulse":{"type":"int32"},
"time":{"type":"int64"}
},
"commands":{ Interpreted by
Described "applyPolicy":
{"paramType":null}
as JSON }
}
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
10
11. The Model is used by
apps on all categories
like this:
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
11
12. User Application Category
UI/UX
Service App User Domain
MOAT
etc. REST
Use App I/F
IoT/M2M
Server App Core Server Side
BloodPressureMeter
- systolic: int32 MOAT Client I/F
- diastolic: int32
- pulse: int32
js
- time: int64
+ fetchData():void Use Server I/F
IoT/M2M
Device App
Device / Gateway
Client
Side
Use C etc.
MOAT Gateway
C&Java
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
12
13. This picture will help
you to imagine more:
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
13
14. 1 Requests Applying Policies
2 Requests
Doctors
Applying Policies
Service App
6 Sends/Alerts
7 Browses Data
Receives Alerts
3Applies Data Attributes and Operation
Monitoring Policy 5 Sends Blood pressure Come from this model:
records and/or
Alerts based on the applied policy
BloodPressureMeter
- systolic: int32
- diastolic: int32
Fetches Data - pulse: int32
Returns Data
4 - time: int64
+ applyPolicy():void
Patients
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
14
15. Unified Design
All IoT API sets bring as similar
usability as possible through the
languages and their paradigms.
A developer having C knowledge
easily uses Java and even js and
REST.
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
15
16. Shared API Objects between
API sets
Key API REST js C & Java
Objects Web Clients Server Client/GW
Moat ✓ (URL) ✓ ✓
ModelMapper N/A ✓ (Stub) ✓
Model ✓ ✓ (Incl. Stub) ✓
Device ✓ ✓ N/A
Dmjob ✓ ✓ N/A
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
16
18. MOAT REST is a
RESTful interface in
order for external
systems to access .
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
18
19. MOAT REST
HTTP GET
Service App App I/F
etc.
HTTP/
JSON
Login
[Request]
GET /moat/v1/sys/auth?a=...&u=...&c=... HTTP/1.1
HOST: ...
[Response]
{
"authUserId":".....@.....",
"accessToken":"....",
"lastSignedIn":"Mon, 21 Jan 2013 06:38:13 GMT"
}
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
19
20. MOAT js is a Javascript
API in order for IoT/
M2M server apps to
interact with
Clients/Gateways.
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
20
21. MOAT js
update() update()
IoT/M2M IoT/M2M
Server App Device App
Javascript IPC/ C etc.
Runtime Method
Call
Update Data
var moat = require('moat');
var context = moat.init();
var session = context.session;
var myDataMapper = session.newModelMapperStub(
'MyData');
var myData = myDataMapper.newModelStub();
myData.setX(123.45);
myData.setY(345.67);
myDataMapper.update(myData);
session.commit('Update MyData');
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
21
22. MOAT C&Java are API
sets to build IoT/M2M
device apps running on
Client/Gateway.
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
22
23. MOAT C&Java
Client
IoT/M2M
Device App
Gateway
C etc. IPC/
Method
Call
Android/Java
public void uploadMySensingData(
MyData[] myDataArray) {
if (isTimeToUpload()) {
moat.sendNotification("moat:urn:...", null,
myDataArray);
}
}
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
23
24. And
One More Thing
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
24
25. C o
om n!
Web Console
So
in
g
Offers Standard Functions to Client/GW
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
25
26. Standard Functions Available
from Web Console
• Initial Provisioning
Provisions Initial Configuration Parameters to
Clients/Gateways.
• Generic Data Uploading
Allows Clients to upload arbitrary data and store it
into the cloud database. Model is pre-defined.
• Application Management (Gateway Only)
Install/Uninstall/Start/Stop apps
CONFIDENTIAL and RESTRICTED :: Copyright 2013 Inventit Inc. All Rights Reserved.
26