98
SPRINGONE2GX WASHINGTON, DC Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ IoT Realized The Connected Car By Phil Berman, Michael Minella, and Derrick Shields @pivotalphil, @michaelminella

IoT Realized - The Connected Car

Embed Size (px)

Citation preview

Page 1: IoT Realized - The Connected Car

SPRINGONE2GX WASHINGTON, DC

Unless otherwise indicated, these sl ides are © 2013-2015 Pivotal Software, Inc. and l icensed under a Creat ive Commons Attr ibut ion-NonCommercial l icense: ht tp: / /creat ivecommons.org/ l icenses/by-nc/3.0/

IoT Realized The Connected Car

By Phil Berman, Michael Minella, and Derrick Shields @pivotalphil, @michaelminella

Page 2: IoT Realized - The Connected Car

Michael Minella Twitter: @michaelminella Podcast: http://javaOffHeap.com or @OffHeap Website: http://spring.io Derrick Shields Website: http://pivotal.io

Phil Berman Twitter: @pberman Website: http://pivotal.io

Page 3: IoT Realized - The Connected Car
Page 4: IoT Realized - The Connected Car

https://github.com/pivotal/IoT-ConnectedCar

Page 5: IoT Realized - The Connected Car

B A C K T O T H E BEGINNING

Page 6: IoT Realized - The Connected Car

REALLY COOL IoT PROJECT

Page 7: IoT Realized - The Connected Car

COVERED BY AN

NDA

Page 8: IoT Realized - The Connected Car
Page 9: IoT Realized - The Connected Car

CONNECTED

CAR

Page 10: IoT Realized - The Connected Car

P R E D I C T T H E DESTINATION

Page 11: IoT Realized - The Connected Car

PREDICT THE RANGE

Page 12: IoT Realized - The Connected Car

PIECES ARE THE

SAME

Page 13: IoT Realized - The Connected Car

I o T I S A B O U T OPERATIONAL EFFECIENCIES

Page 14: IoT Realized - The Connected Car

GE Video?

Page 15: IoT Realized - The Connected Car

1% I S A

BIG DEAL

Page 16: IoT Realized - The Connected Car

W O R L D W I D E 1 BILLION CARS

Page 17: IoT Realized - The Connected Car

2 0 3 5 2 BILLION CARS

Page 18: IoT Realized - The Connected Car

BARRELS PER DAY 120 MILLION

Page 19: IoT Realized - The Connected Car

AS MUCH CARBON AS

Page 20: IoT Realized - The Connected Car

CONNECTED

CAR

Page 21: IoT Realized - The Connected Car

Storage

Ingest Process Analyze Edge

Applications React

Page 22: IoT Realized - The Connected Car

Edge

Applications React

Process Analyze

Storage

Ingest

Page 23: IoT Realized - The Connected Car
Page 24: IoT Realized - The Connected Car

HOW DOES THIS

WORK?

Page 25: IoT Realized - The Connected Car

START IN THE

CAR

Page 26: IoT Realized - The Connected Car

ON BOARD DIAGNOSTICS

OBD II

Page 27: IoT Realized - The Connected Car

01 0D !01 0D !18 DA F1 11 03 41 0D 30 !> !

Page 28: IoT Realized - The Connected Car

PHONE PROVIDES CONNECTIVITY

127.0.0.1:9000

Page 29: IoT Realized - The Connected Car

{ ! "vehicle_speed":103, ! "obd_standards":2, ! "intake_manifold_pressure":"", ! "accelerator_throttle_pos_e":14, ! "engine_load":89, ! "maf_airflow":33, ! "latitude":"32.897554", ! "vin":"1HGCM82633A004352", ! "bearing":"343.922580", ! "catalyst_temp":779, ! "relative_throttle_pos":12, ! "fuel_level_input":89, ! "fuel_system_status":[2,0], ! "accelerator_throttle_pos_d":29, ! "acceleration":"0.953", ! "throttle_position":21, ! "barometric_pressure":97, ! "control_module_voltage":13, ! "longitude":"-96.810236", ! "distance_with_mil_on":0, ! "coolant_temp":94, ! "intake_air_temp":34, ! "rpm":1593, ! "short_term_fuel":-2, ! "time_since_engine_start":4054, ! "absolute_throttle_pos_b":38, ! "long_term_fuel":3 !} !

Page 30: IoT Realized - The Connected Car

TCP SOCKET OVER

BLUETOOTH HTTP POST

OVER CELLULAR

Page 31: IoT Realized - The Connected Car

O N T H E SERVER

Page 32: IoT Realized - The Connected Car
Page 33: IoT Realized - The Connected Car

EASY 1

Page 34: IoT Realized - The Connected Car

MATURE 2

Page 35: IoT Realized - The Connected Car

NOT DEPENDENT 3

Page 36: IoT Realized - The Connected Car

SPRING CLOUD STREAM

Page 37: IoT Realized - The Connected Car
Page 38: IoT Realized - The Connected Car

EVOLUTION OF DATA APPLICATIONS

Page 39: IoT Realized - The Connected Car

MONOLITHS

Page 40: IoT Realized - The Connected Car

EXISTING INTEGRATION AND BATCH

Page 41: IoT Realized - The Connected Car

DATA MICROSERVICES

Page 42: IoT Realized - The Connected Car

CLOUD NATIVE

Page 43: IoT Realized - The Connected Car

DEVELOPED AND TESTED IN ISOLATION

Page 44: IoT Realized - The Connected Car

APPLY MICROSERVICES PATTERNS

Page 45: IoT Realized - The Connected Car

OPERATIONALLY EASY TO

GOVERN

Page 46: IoT Realized - The Connected Car

DATA INTEGRATION AS A SERVICE

Page 47: IoT Realized - The Connected Car

COMPOSTION OF MICROSERVICES

Page 48: IoT Realized - The Connected Car

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch.xsd

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<job id="ioSampleJob" xmlns="http://www.springframework.org/schema/batch">

<step id="step1"> <tasklet> <chunk reader="itemReader" processor="itemProcessor" writer="itemWriter"

commit-interval="2" />

</tasklet> </step> </job>

<bean id="itemProcessor" class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditIncreaseProcessor" />

</beans>

ZERO CODING

Page 49: IoT Realized - The Connected Car

OPERATIONAL AND ORCHESTRATION COVERAGE

Page 50: IoT Realized - The Connected Car
Page 51: IoT Realized - The Connected Car

WARS AND APP SERVERS

Page 52: IoT Realized - The Connected Car

DECOMPOSE INTO BOOT MICROSERVICES

Page 53: IoT Realized - The Connected Car

SPRING CLOUD STREAMS

Page 54: IoT Realized - The Connected Car

SPRING XD EXTREME DATA

Page 55: IoT Realized - The Connected Car

Processor Sink

Bus

Source

Page 56: IoT Realized - The Connected Car

transformer

Redis

http

filter

hdfs type-transformer

python gemfire

Page 57: IoT Realized - The Connected Car

transformer http filter hdfs

type-transformer

python

Gemfire

REST

Hadoop

Gemfire

Page 58: IoT Realized - The Connected Car

transformer http filter hdfs

type-transformer

python

Gemfire

REST

Hadoop

Gemfire

Page 59: IoT Realized - The Connected Car

/** ! * Perfo

rms the domain t

ransformation in

to an acme motor

s specific domai

n

model. ! * ! * @auth

or gfoster!

* ! */ !public c

lass AcmeMotorEn

richingTransform

er implements Tr

ansformer{ !

! @Bean !public M

essage<?> transf

orm(final Messag

e<?> message) { !

final Object pay

load = message.g

etPayload(); !

Map<String, Obje

ct> = new HashMa

p<>(); !

try { !

if (

payload != null)

{ !

map = mapper.r

eadValue(payload

.toString(),

Map.class);

} ! map.put(“times

tamp”,

System.currentTi

meMillis());

} !

map.put(“guid”

, UUID.randomUUI

D()); !

} !

} catch (fina

l Exception e) {

!

Page 60: IoT Realized - The Connected Car

REALTIME DATA SCIENCE

Page 61: IoT Realized - The Connected Car

1 PREDICT JOURNEY

Page 62: IoT Realized - The Connected Car

2 PREDICT RANGE

Page 63: IoT Realized - The Connected Car

HOW DOES I T

WORK?

Page 64: IoT Realized - The Connected Car

STORE SENSOR

DATA

Page 65: IoT Realized - The Connected Car

OFFLINE BATCH TRAINING

Page 66: IoT Realized - The Connected Car

J O U R N E Y CLUSTERS

Page 67: IoT Realized - The Connected Car
Page 68: IoT Realized - The Connected Car
Page 69: IoT Realized - The Connected Car
Page 70: IoT Realized - The Connected Car

INITIAL PREDICTION

Page 71: IoT Realized - The Connected Car

DRIVING HOME TO WORK

Page 72: IoT Realized - The Connected Car

DRIVING WORK TO HOME

Page 73: IoT Realized - The Connected Car

… !"Predictions": { ! "ClusterPredictions": { ! "0": { ! "EndLocation": [ ! 32.98525175453122, ! -96.70940837440399 ! ], ! "MPG_Journey": 25.60900810315203, ! "Probability": 0.63736 ! }, !… !

Page 74: IoT Realized - The Connected Car

REALTIME EVALUATION

Page 75: IoT Realized - The Connected Car

0.05

0.10

0.15

0.20

0.25

0 1 2 3 4 5 6 7 8 9 10Minute

Med

ian

Log−

Loss

PERFORMANCE OF CLASSIFICATION

Page 76: IoT Realized - The Connected Car

RANGE PREDICTION

Page 77: IoT Realized - The Connected Car

R E A LT I M E DASHBOARD

Page 78: IoT Realized - The Connected Car

GEMFIRE 1

Page 79: IoT Realized - The Connected Car

REST 2

Page 80: IoT Realized - The Connected Car

YOEMAN 3

Page 81: IoT Realized - The Connected Car

ANGULARJS 4

Page 82: IoT Realized - The Connected Car

SOLUTION AT SCALE

Page 83: IoT Realized - The Connected Car

100,000’s OF CLIENTS

Page 84: IoT Realized - The Connected Car

MILLIONS OF MESSAGES

Page 85: IoT Realized - The Connected Car

PER MINUTE OVER

100 GB

Page 86: IoT Realized - The Connected Car

IoT

ISSUES

Page 87: IoT Realized - The Connected Car

COMPATIBILITY

Page 88: IoT Realized - The Connected Car

CONNECTIVITY

Page 89: IoT Realized - The Connected Car

SECURITY

Page 90: IoT Realized - The Connected Car

A D D I T I O N A L USE CASES

Page 91: IoT Realized - The Connected Car

Q U A L I T Y FEEDBACK

Page 92: IoT Realized - The Connected Car

F L E E T MANAGEMENT

Page 93: IoT Realized - The Connected Car

Spring XD

Data Science Data Warehouse

Gemfire

Greenplum

Page 94: IoT Realized - The Connected Car

A C C I D E N T ASSISTANCE

Page 95: IoT Realized - The Connected Car

IoT PRESENTS UNIQUE CHALLENGES

Page 96: IoT Realized - The Connected Car

IF YOU CAN BRIDGE THE GAPS

Page 97: IoT Realized - The Connected Car

SPRING CLOUD MAKES THE REST EASY

Page 98: IoT Realized - The Connected Car

Unless otherwise indicated, these sl ides are © 2013-2015 Pivotal Software, Inc. and l icensed under a Creat ive Commons Attr ibut ion-NonCommercial l icense: ht tp: / /creat ivecommons.org/ l icenses/by-nc/3.0/ 98

Visit spring.io for more information about Spring Cloud

Attend the keynote tonight to learn more about the connected fleet app

Learn More. Stay Connected.

@springcentral Spring.io/video