제8회 2015 한국 소프트웨어 아키텍트 대회
2015(제8회) 한국 소프트웨어 아키텍트 대회
가치를 만들어 내기 위한 IoT 기술과 아키텍처 구성
2015. 07. 16
회사명: 한국오라클
발표자: 신 현 철
제8회 2015 한국 소프트웨어 아키텍트 대회 2
INTERNET of THINGS
제8회 2015 한국 소프트웨어 아키텍트 대회
SENSOR
3
제8회 2015 한국 소프트웨어 아키텍트 대회
NETWORK
4
제8회 2015 한국 소프트웨어 아키텍트 대회
PEOPLE & PROCESSES
5
제8회 2015 한국 소프트웨어 아키텍트 대회
IoT Market #1
6
제8회 2015 한국 소프트웨어 아키텍트 대회
IoT Market #2
7
제8회 2015 한국 소프트웨어 아키텍트 대회 8
Value!!
제8회 2015 한국 소프트웨어 아키텍트 대회
IoT 최종 Value는 해석과 서비스에서 발생
9
사물인터넷 Data의 Collection 사물인터넷을 통한 Service Value
• 다양한 형태의 Status/Activity 등의 Raw Log 값을 전달
• 가공되거나 해석되지 않은 순수한 형태의 현상데이터를 전달
• 해석을 통한 판단, 전망, 의사결정 • Raw데이터를 조직화하고 관리하고 비교가
필요함 • 분석된 Insight를 통하여 향후의 계획을 수
립하거나, 즉각대응을 위한 연계 • 사람을 위한 서비스로의 적용
제8회 2015 한국 소프트웨어 아키텍트 대회
단계별 Value 모델
10
Devices/”Things” Internet IoT Cloud Service
Other Devices
Other Devices
Other Devices
Java Device
3rd Party Device Cloud
WWAN
2G/3G/LTE Wireless
Endpoint Management
Messaging Proxy
Device Management
Oracle Database
Oracle Event Processing
Integration
Oracle Business Intelligence Service
Oracle Integration Service
Hadoop
Custom Application
Field Service
CRM/OM/SFA Industry Vertical
Applications
Charging Billing
ERP • Financials • SCM • HCM
Enterprise Cloud or On-Premise
1 Collection Value
• 기존에 누락하고 있던 자료들을 더욱 다양하게 많이 편리하게 수집함으로써 다양한 서비스에 대한 가능성을 높임
• 통신기술의 발전으로 인한 Passive Device에서 Active Device로의 전환
Management Value 2
• 다양한 프로토콜의 관리의 자동화
• 시스템확장의 유연성
• 강화된 보안 및 인증
End Point Value 3
• 1 – 2를 커쳐서 들어온 데이터를 분석하여 사용자에게 적합한 서비스를 제공
• 최종사용자들에게 전달되는 Value
• 최종 IoT 서비스에 대한 평가가 이루어짐
제8회 2015 한국 소프트웨어 아키텍트 대회 11
무엇을 할 것인가?
빠르고 조직화된 서비스
귀찮은 것을 대신해 주는 서비스
생각하지 못한 것을 제공해 주는 서비스
어떻게 할 것인가?
Data Scientist 가 그 솔루션인가?
시스템을 통한 자동화/표준화 서비스
결국은 분석을 통한 Insight를 도출
What Value How to make It What Technology
편리함
섬세함
다양함
빠른 데이터 처리
Simple Process
Complex Service Integration
Complex Event Processing
Service Integration Architecture
많은 데이터의 처리 신뢰성 Big Data Processing
지속성 24/7 Stable Service Monitoring
HUMAN
WHO/WHERE
DEVICE
Process Management
Value의 형태와 추구의 대상
제8회 2015 한국 소프트웨어 아키텍트 대회 12
GE는 엔진에 센서를 연결해 엔진의 성능, 부품 상태, 고장 유무 등을 실시간으로 파악하는 엔진 모니터링 서비스를 제공
사례1: GE 엔진 모니터링 서비스
제8회 2015 한국 소프트웨어 아키텍트 대회 13
Overview
• 연동된 의료기기의 원격 상태의 점검 및 상태 모니터링과 유지보수 시스템 용도로 적용
• Portal시스템 및 자동화된 프로세스 관리 시스템을 적용
• 75%의 서비스 요청 성능 향상
사례2: Lifetech 의료기기 관리 서비스
Tech Architecture
• IoT를 적용한 동작감시 센서 모니터링
• 실시간 원격 모니터링
• Multi Player 시스템
• 프로세스 관리 시스템
제8회 2015 한국 소프트웨어 아키텍트 대회
사례3. 서울시 포트홀 관리 서비스
14
Overview
• 최근 5년간 포트홀 발생 건수 급속 증가, 포트홀로 인한 사고 발생 증가
• 서울은 계절의 변화 / 부산은 컨테이너트럭
• 도로의 포트홀 발생을 확인하고 신속히 보수함 (24시간내)
• 버스 및 택시를 이용한 감시 시스템으로 확장
Technology
• 동작감지 센서와 GPS연동한 상황 및 위치정보 기록
• 실시간 관제 센터로의 연계
• 도로 보수 서비스와의 연계
제8회 2015 한국 소프트웨어 아키텍트 대회
사례4. NEST 온도조절기
15
• 문제 해결 : 집안 온도조절 분야에서의 사용자 니즈와 시스템 구조를 이해하고 무엇을 어떻게 제공해야 할지 정확하게 파악함
• 센싱, 학습 : 기기 자체의 센서를 활용하여 환경에 반응하고, 온도조절 패턴을 학습함
• 네트워크 : 인터넷에 연결되어 외부 날씨를 파악하거나 에너지 러시아워 등의 정보를 활용함
• 에너지 절약 : 사람이 조절하는 것보다 집안 온도를 더 잘 관리해주고 에너지를 아껴줌
• 새로운 서비스 : 전력회사의 전력 피크 부담을 줄여주고, 사용자에게 돈을 돌려주는 것을 알아서 해주는 서비스 모델을 만듦
• 플랫폼화 : 집안 온도 조절을 넘어서 기기들간의 연동을 통해 집 자체를 똑똑하게 만들고 있음
제8회 2015 한국 소프트웨어 아키텍트 대회
사례5. Dropcam[NEST CAM] 클라우드 비디오 저장/분석
16
기존의 CCTV구축비용을 절감하고, 클라우드를 통한 영상의 저장 및 다양한 기기로의 공유를 통한 편리한 영상관리서비스 제공. 여기에 영상을 분석하여 필요한 정보를 찾는데 걸리는 시간 가능
제8회 2015 한국 소프트웨어 아키텍트 대회
사례6. 오라클 아메리카스컵 IoT/AR
17
단조로운 요트경기를 박진감 넘치게 하기 위하여 위치, 속도 센서 등을 부착하고, 이를 사용하여 요트의 운항 상태 와 예측방향을 제공하고 이를 AR (증강현실) 시스템과 연계한 TV중계를 제공
제8회 2015 한국 소프트웨어 아키텍트 대회
IoT Reference Architecture
18
Smart Sensor
IoT Comm. Agent
Application Framework
Sensor
IoT Comm. Agent
Application Framework
Gateway
Application Framework
IoT Comm. Agent & Mgmt Proxy
IoT Common Gateway
Protocol Mediation
Web Services Security
Web Services Mgmt
IoT Identity & Access Mgmt
Device Access Management
Device Identity Management
Identity Directory/Database
IoT Management
Device Registration & Mgmt
Message Cache
Management Console
Applications Provisioning
Data Routing & Analysis
Distributed Data Grid
Complex Event Processing
Big Data
Big Data Store
Data Aggregator
NoSQL DB
Key Value Data Store
Database
RDBMS
Business Intelligence
Performance Management
Alerts, Dashboards & Reports
Advanced Analysis & Data Science
Tools
Data & Knowledge Discovery Tools
Enterprise Integration
Complex applications integration & SOA
Datacenter Management
Gather Enrich Stream Manage Acquire Organize & Analyze
Local Event Analysis
Intr
anet
Firew
all
Data
base
Firew
all
제8회 2015 한국 소프트웨어 아키텍트 대회
EVENT PROCESSING #1
19
목표
• 양질의 데이터
• 데이터를 정보로 변환
• 효과적인 의사결정을 위한 정보의 활용
• …모든 것이 실시간으로
필수요소
• Legacy system간의 연결성 확보
• 적합한 신규시스템의 도입
• Device 정보의 절대량 증가
• 기기 및 센서의 장소,경로, 방식의 종별 확산에 대한 대응
• 상황 정보의 제공
더욱더 많아지는 자료 더욱 어려워지는 정보의 의미의 파악: 위험과 기회
Quantitative Change has led to a Qualitative Change in the nature of the problem...
제8회 2015 한국 소프트웨어 아키텍트 대회 20
Streams
Continuous input, often in high-volume
Time ordered
Does not end
Impossible to process / analyze in real-time with traditional relational database systems
Example: Raw Sensor Event streams, GPS, Market Data Feeds
BA BOEING D 77.575 800 20080305 10:03:02:78
DO DUPONT D 41.575 3000 20080305 10:03:04:12
AA ALCOA INC D 20.125 1000 20080305 10:03:01:55
AXP AMER EXPRESS CO D 45.875 500 20080305 10:03:02:10
BA BOEING D 77.575 800 20080305 10:03:02:78
C CITIGROUP D 34.125 2000 20080305 10:03:03:05
CAT CATERPILLAR D 22.5 600 20080305 10:03:03:46
DO DUPONT D 41.575 3000 20080305 10:03:04:12
AA ALCOA INC D 20.125 1000 20080305 10:03:01:55
AXP AMER EXPRESS CO D 45.875 500 20080305 10:03:02:10
BA BOEING D 77.575 800 20080305 10:03:02:78
C CITIGROUP D 34.125 2000 20080305 10:03:03:05
CAT CATERPILLAR D 22.5 600 20080305 10:03:03:46
DO DUPONT D 41.575 3000 20080305 10:03:04:12
AA ALCOA INC D 20.125 1000 20080305 10:03:01:55
AXP AMER EXPRESS CO D 45.875 500 20080305 10:03:02:10
BA BOEING D 77.575 800 20080305 10:03:02:78
C CITIGROUP D 34.125 2000 20080305 10:03:03:05
CAT CATERPILLAR D 22.5 600 20080305 10:03:03:46
DO DUPONT D 41.575 3000 20080305 10:03:04:12
AA ALCOA INC D 20.125 1000 20080305 10:03:01:55
AXP AMER EXPRESS CO D 45.875 500 20080305 10:03:02:10
BA BOEING D 77.575 800 20080305 10:03:02:78
…
…
Tim
e
Event Processing provides a new data management infrastructure to support and analyze Streams in real-time
EVENT PROCESSING #2
제8회 2015 한국 소프트웨어 아키텍트 대회 21
Event Processing Output Filtering
• New stream filtered for specific criteria, e.g. stock price > $22
Correlation & Aggregation
• Scrolling, time-based window metrics, e.g. average # of stock trades in the last hour
Pattern Matching
• Notification of detected event patterns, e.g. price changes A, B and C occurred within 15 minute window
CAT CATERPILLAR D 22.5 600 20080305 10:03:03:46
DO DUPONT D 41.575 3000 20080305 10:03:04:12
AA ALCOA INC D 20.125 1000 20080305 10:03:01:55
AXP AMER EXPRESS CO D 45.875 500 20080305 10:03:02:10
BA BOEING D 77.575 800 20080305 10:03:02:78
…
…
EP
Runs In-Memory (not in Database) Logic is defined through Continuous
Queries on the data
Example: Stock Trading “W” Pattern
1 9 12 19
minutes
X
Y W
Z
EVENT PROCESSING #3
제8회 2015 한국 소프트웨어 아키텍트 대회 22
Processors
• Set of queries
applied to the
streams
Listeners
• Handle triggers
raised by the
processors
Events
• Implemented as
JavaBean or Map
Enriched Streams
• From any source: data
streams, web services,
Java, Database
Adapters
• Translate external
events/data into java
objects for processing
Data/Msg.
Feeds Listener/SINK:
User Code
(Plain Java)
Data Feed
Adapters
Process
Events
(CEP)
Incoming Data Streams
1M+ Messages/Sec
Aggregate, correlate, filter data
Can Handle Unlimited Queries
Resulting Data fed to vast
business opportunities
with Java language
Latency
Microsecond Latency (Avg.)
EDA Java Application Container
Complex Event Processor
Average Latency vs. Injection Rate (10 Connections)
0
10
20
30
40
50
60
70
80
0 200000 400000 600000 800000 1000000 1200000
Injection Rate (events/second)
Avera
ge L
ate
ncy
(mic
roseco
nd
s)
Distribution of Latency Values
20,136,515
3,054,550
131,5980
5,000,000
10,000,000
15,000,000
20,000,000
25,000,000
0 - 99 100 - 199 >=200
Latency Range (microseconds)
# o
f O
utp
ut
Ev
en
ts
OSGi Lightweight, Low Latency, Extreme High Throughput, and Java-based Application Solution Container
EVENT PROCESSING #4
제8회 2015 한국 소프트웨어 아키텍트 대회 23
A simple decision tree Becomes quickly too complex
to manage
단순한 정보에서의 의사결정은 쉽지만 수많은 정보를 통한 의사결정은 관리와 의사결정 비용의 문제가 발생한다.
MACHINE LEARNING #1
제8회 2015 한국 소프트웨어 아키텍트 대회 24
Real time contextual data
Historical data
Relevant external sources
eg Social Media
Target Audience
Predictive Modeling
σ
Self-Learning Loop
Personalized recommendations, offers & actions
MACHINE LEARNING #2
제8회 2015 한국 소프트웨어 아키텍트 대회 25
Traditional Approach
Source Databases
Analytical Mart
Data Mining Tools
Scores and Lists
Operational Applications
feedback: days or weeks
Learning 기반의 실시간 Approach
Operational Applications
Machine-Learning Analytics
feedback: immediate
decisions
events input from
external models and lists
► 전통적인 Data Mining방법론은 무수한 많은 예측Rule을 관리해야 하는 업무적 부담 있으며, 분석 전문가의 도움이 반드시 필요함
► 예측 Rule을 개발하는 시점과 적용하는 시점간의 Time Gap이 발생하게 됨
► Decision과 Event결과를 바탕으로 자동으로 model 생성
► 변화에 따른 빠른 반응
► 데이터가 증가할 수록 모델의 정확도가 높아짐
► Rule 기반의 Data Mining과 비교하여 분석의 폭이 넓으며, 구현 및 실현이 용이함
What’s Different ? : Real-Time, Immediate Action
(with User Base Collaborative Filtering)
MACHINE LEARNING #3
제8회 2015 한국 소프트웨어 아키텍트 대회 26
Different Goal for Each Segment Change Performance Goal
What’s Different ? : Changeable Performance Goal
MACHINE LEARNING #4
제8회 2015 한국 소프트웨어 아키텍트 대회 27
Traditional Approach Learning 기반의 실시간 Approach
데이터 이동, Offer 및 결과 분석
분석대상 Segment
각 Segment에 대한 Rule 개발
Segments에 추천
Wait Weeks for Results
목표 설정 ( Performance Goal)
Supply All Relevant Data
자동화된 개인 추천
informed on success or failure of each offer
Self Adjusts the Offer Model (Learning)
What’s Different ? : Fully Automated
MACHINE LEARNING #5
제8회 2015 한국 소프트웨어 아키텍트 대회 28
Control Group (Static) RTD Page (Machine Learning)
► 시간의 경과에 관계없이 일정한 수준의 Acceptance
► 적확도를 향상시키기 위해서는 지속적인 예측모델의 업데이트가 필요
► 시간이 흐름에 따라 예측모델이 더욱 더 정교해져 Acceptance 크게 증가
Test : Onlineshop.com, 2012
What’s Different ?: Accurate over Time
MACHINE LEARNING #6
제8회 2015 한국 소프트웨어 아키텍트 대회 29
• 인공 신경망 • 결정 트리 • 유전 알고리즘 • 유전자 프로그래밍 • 가우스 과정 회귀
• 선형 분별 분석 • K 근접 이웃 • 퍼셉트론 • 방사 기저 함수 네트워크 • 서포트 벡터 머신
MACHINE LEARNING #7
제8회 2015 한국 소프트웨어 아키텍트 대회 30
Machine Learning기반의 Collaborative Filtering 기법 Real Time Offer & Personalization
고객정보
가맹점 (Offer) 정보
거래정보 (구매 History)
Self-Learning 예측 고객 카드 사용
Offer List 검토
(Eligibility Rules)
Offer List
Scoring
개인화 추천
(Decision)
사용여부(또는
관심여부) 확인
Insight Reporting 자동 생성 & 검증
위치
정보
Segmentation, Filtering & Scoring
Rule
MACHINE LEARNING #8
제8회 2015 한국 소프트웨어 아키텍트 대회 31
MACHINE LEARNING #9
제8회 2015 한국 소프트웨어 아키텍트 대회 32
Deployment Choice Public or Private Cl
oud
High Performance, Scalable & Elastic Infrastructure (IaaS)
Compute, Storage & Network Services
One Platform (PaaS) for All On-premise, Cloud & Mobile Innovations
Automated
Management Development & Deplo
yment Services Content, Analytics & User Engagement Services
Integration Services
Security & Identity Services
Self Hosted/ Managed On Premise
(Private Cloud)
Provider Hosted/ Managed
(Public Cloud)
CLOUD #1
기존의 제한된 자원에 기반한 시스템/서비스 아키텍처에서 클라우드 환경으로의 변화에 따라 거의 무한한 확장이 가능한 아키텍처로의 변화가 가능
제8회 2015 한국 소프트웨어 아키텍트 대회 33
Data as a Service
Software as a Service
Platform as a Service
Infrastructure as a Service
Line of Business
BUSINESS ANALYTICS
CONTENT AND
COLLABORATION
Architects & IT Ops
ENTERPRISE MANAGEMENT
INTEGRATION
Developers & DevOps
MOBILE
APPLICATION DEVELOPMENT
DATA MANAGEMENT
CLOUD #2
제8회 2015 한국 소프트웨어 아키텍트 대회 34
REFERENCE ARCHITECTURE : SMART TOUR #1
제8회 2015 한국 소프트웨어 아키텍트 대회 35
실외 위치 확인
멀티미디어정보
Notification
로그기록
메타데이터관리
컨텐츠관리시스템
다국어지원
실내 위치 정보
경로분석시스템
기기관리 이미지분석
인증시스템
Location Contents Analysis Management Communication
정보공유시스템 사용자패턴분석
스마트관광에 필요한 Service Module Requirement 를 분석
REFERENCE ARCHITECTURE : SMART TOUR #2
제8회 2015 한국 소프트웨어 아키텍트 대회 36
IoT Tour Service
IoT Platform
BigData Discovery
Steam Explorer
Real-time Decision
통합데이터베이스
실시간 사용패턴 판단 및 이벤트 발생 • 관광정보안내 (관광객 판단) • 정보 알림 시스템
개인화 및 지능화 분석/추천 • 개인 맟춤형 관광분석정보 • 시스템 스스로 학습 모델
관광정보 및 사용자 트렌트 분석 • 다양한 정보의 취합 분석 • 다차원 분석 • MARKET INSIGHT
* 실시간 지능화 이벤트
* 정형/비정형 통합 분석 데이터
* 시스템 반응 Rule/변화된 정보
1
2
3
관광정보 조회 IoT 서비스 이용
위치정보
가격정보, 평가 정보 경로정보, 관광정보 쇼핑정보 (Text, 비디오 등)
REFERENCE ARCHITECTURE : SMART TOUR #3
제8회 2015 한국 소프트웨어 아키텍트 대회 37
Reference Architecture for Smart Tour
Smart Phone
Digital Signage
Kiosk
Beacon
Gateway Proxy
API Gateway
Device Management
Business Application
Business Hub
Common Application Platform
Map
Translate
File Storage
RDB
BigData Analysis
Key Value DB
File Storage
Event Processing
Monitoring
Notification
Machine Learning
Streaming
REFERENCE ARCHITECTURE : SMART TOUR #4
CLOUD INFRASTRUCTURE
제8회 2015 한국 소프트웨어 아키텍트 대회 38
Cloud BigData
Internet Of Things Mobile
ONE THING
SUMMARY
Top Related