gs1/oliot epcis and next
TRANSCRIPT
Jun. 25, 2014
Auto-ID Labs, KAIST
Dept. of Computer Science, KAIST
GS1 / Oliot: EPC Information Service &
Big Data Analytics
Jaewook Byun
[email protected], http://oliot.org, http://autoidlab.kaist.ac.kr, http://resl.kaist.ac.kr, http://autoidlabs.org, http://gs1.org
© Auto-ID Lab Korea / KAIST
Slide 2
EPCIS and Next
– Introduction
– Four dimensions
– Event Types
– Services
Oliot- Distributed Storage
Oliot- Real-time Big-data Processing
Conclusion
Contents
© Auto-ID Lab Korea / KAIST
Slide 3
Introduction EPCIS
RFID Reader
& Antenna
Event
Processing
Everyday
Object
EPCIS
Distributed Data Storage
RFID
Tag
+
+ +
+
EPCIS Event
Tag Event
EPCIS in GS1 architecture
⁃ To share visible RFID event data
⁃ Pros.
Supporting existing standardized
identifier
⁃ RFID TAG
⁃ Barcode
Distributed database for SCM
⁃ Standard
⁃ Flexible
© Auto-ID Lab Korea / KAIST
Slide 4
Introduction EPCIS for IoT
RFID Reader
& Antenna
Everyday
Object
EPCIS for IoT
RFID
Tag
IoT Devices Support
Environmental
Sensor Medical Device Healthcare Device Smart Appliance
Gateway Server Mobile Device
Event
Processing
EPCIS Event Sensor Event, Medicare Event,
…
© Auto-ID Lab Korea / KAIST
Slide 5
Introduction EPCIS Application
Visualization & Big Data Analysis
Wholesale Shipping Manufacturer
Supply Chain Management
Fine Dust Map Daily Medical Graph
EPCIS
© Auto-ID Lab Korea / KAIST
Slide 6
Four dimensions of any EPCIS event
© Auto-ID Lab Korea / KAIST
Slide 7
EPCIS Event Types
EPCISEvent – Base event type
Object Event Transaction Event Transformation Event
Receiving time at Capturing Application
Receiving time at EPCIS repository
TimeZone, offset from UTC
Aggregation Event
Extends
© Auto-ID Lab Korea / KAIST
Slide 8
EPCIS Event Types Object Event
Object Event
– Observation of object(s)
List of Observed objects
e.g.Created, Observed, Destroyed
c.F RED: new in EPCIS v1.1 (Optional)
Instance level master data: e.g. expiration date
(Optional)
(Optional)
© Auto-ID Lab Korea / KAIST
Slide 9
EPCIS Event Types Aggregation
Aggregation Event
– Association between containing/contained object(s)
Aggregation Event
(e.g. box, case, pallet)
e.g. Box, case, pallet
e.g. Trade items in box
e.g. child added, observed, or deleted from parents
(Optional)
© Auto-ID Lab Korea / KAIST
Slide 10
EPCIS Event Types Transaction Event
Transaction Event
– (Dis)Association of object(s) to business transaction(s)
(Optional)
e.g. Item (dis)associated to the BizTransaction
Business Step
Business process
e.g. Loading, Packing, Shipping, Receiving
Disposition
Status of object
Available for sale, in Storage
Business Transaction
Transaction information
e.g. Purchase, Invoice
Transaction Event
© Auto-ID Lab Korea / KAIST
Slide 11
EPCIS Event Types Transformation Event
Transformation Event
– Capture the relationship between the input (source) and the outputs (product)
Many to one
One to many
Many to many
e.g. One to many
COW Slides of Beef
Input Outputs
(Optional)
c.F RED: new in EPCIS v1.1
© Auto-ID Lab Korea / KAIST
Slide 12
EPCIS Event Types Extended Event for Oliot storage
Extended Event for IoT in a case of Medical/Healthcare
– Complying EPCglobal Standard
– Supporting various sensor devices
EEG
Blood Pressure
ECG
BreathingGlucometerOxygen
Static/Medical Sensors
Accelerometer
Skin Response Temperature
Mobile/Healthcare Sensors
Wristband Headset
ScaleChestband
Oliot Distributed Storage
Need!
Extended Event
with Extended Voc.
© Auto-ID Lab Korea / KAIST
Slide 13
EPCIS Event Types Extended Event for Oliot storage
Extended Event for IoT in a case of Medical/Healthcare (Cont.)
MedicalEvent
eventTime: Time
recordTime: Time
eventTimeZoneOffset: string
sensorEPC: EPC
patientEPC: EPC
bizLocation: BizLocationID
BizStep: Business Step ID
Disposition: DispositionID
sensorValueList: List<sensorValue>
ilmd: ILMD
• sensorEPC: Sensor Device ID
• e.g. EEG sensor
• patientEPC: Patient ID
• bizLocation: Location ID
• bizStep: Business Step ID
in operation Medicine Injection
© Auto-ID Lab Korea / KAIST
Slide 14
EPCIS Event Types Extended Event for Oliot storage
Extended Event for IoT in a case of Medical/Healthcare (Cont.)
• disposition: Patient’s status
• SensorValueList
• Example
<iot:SensorList>
<iot:Sensor type=“urn:oliot:sensor:bloodpressure”>117/87</iot:Sensor>
<iot:Sensor type=“urn:oliot:sensor:stepcount”>5700</iot:Sensor>
<iot:Sensor type=“urn:oliot:sensor:temperature”>36</iot:Sensor>
</iot:SensorList>
• ilmd: Master data for individual patient
DateOfBirth Name Gender
Height Weight Country
Extension point Vocabulary for healthcare
© Auto-ID Lab Korea / KAIST
Slide 15
EPCIS Service
© Auto-ID Lab Korea / KAIST
Slide 16
Oliot Distributed Storage Previous Work
Fosstrak – Open Source RFID platform
– Implements the GS1 EPCglobal Network specifications.
– Relational Database is implemented for EPCIS Repository
Limitations:
– Centralized approach
– Focus on RFID data from supply chain management
– Not pay attention to tremendous amounts of IoT data generated at a rapid
pace.
FossTrak EPCIS
© Auto-ID Lab Korea / KAIST
Slide 17
Oliot Distributed Storage Cassandra
One of the first and most widely used NoSQL solution
Initially developed by Facebook
Free, open-source under Apache license
Features
– Decentralized
No Single Point of Failure
– High Availability
– Tunable Consistency
© Auto-ID Lab Korea / KAIST
Slide 18
Oliot Distributed Storage Cassandra over EPCIS
© Auto-ID Lab Korea / KAIST
Slide 19
Oliot Distributed Storage Cassandra Data Model
© Auto-ID Lab Korea / KAIST
Slide 20
Oliot Distributed Storage Data Modelling Example
ObjectEvent Column Family
AggregationEvent Column Family
• Compound primary key (EPC|yyyymm : EventTime)
• EPC|yyyymm acts as a partition key for distributing row in the Column Family
among the various nodes that comprise the cluster.
• The EventTime acts as a clustering mechanism and ensures that columns in
one row are stored in sorted order (of EventTime) on disk.
© Auto-ID Lab Korea / KAIST
Slide 21
Oliot Distributed Storage Evaluation
Method:
– Multiple Accessing Client for Multiple Reads
– Multiple Capturing Client for Multiple Writes
– Using nGrinder as a platform for stress tests
– Comparison between Cassandra 1 node and MySQL
– Intel Core i5 3.0GHz x 4 cores, 8GB RAM, 500GB HDD 7200rpm
© Auto-ID Lab Korea / KAIST
Slide 22
Oliot Distributed Storage Performance Evaluation Result
Capture Interface
Query Interface
© Auto-ID Lab Korea / KAIST
Slide 23
Oliot Real-time Big-Data Processing Motivation
Data Analyst
Company Director
Big Data
Doctor
Question Example
– Q1: Stock Statistics for inventory control in last 1 hours?
– Q2: Contagious disease probabilistic in specific area?
Storm vs. Hadoop
Oliot Platform
Q1
Q2
© Auto-ID Lab Korea / KAIST
Slide 24
Oliot Real-time Big-Data Processing Storm vs. Hadoop
Storm Hadoop
Cluster Coordination Zookeeper Zookeeper
Master Node Daemon Nimbus Job Tracker
Worker Node Daemon Supervisor Task Tracker
Computation
Topologies.
Running forever
or until explicitly terminated
Map/Reduce Jobs.
Running until finish
Primary Usage Real-time processing Batch processing
Running functions Incremental functions Idempotent functions
Latency Very low High
Big-Data on IoT
– Continuous incoming data needs real-time analysis
– On-demand analysis
Storm!
© Auto-ID Lab Korea / KAIST
Slide 25
Oliot Real-time Big-Data Processing Features on Storm
An Apache open source project for distributed real-time data processing
KEY properties:
Stream Processing Continuous Query Scalability
© Auto-ID Lab Korea / KAIST
Slide 26
Oliot Real-time Big-Data Processing Storm Topology
A tuple: An ordered list of key:value
pairs. For example, a tuple
{“word”:“KAIST”, “count”:10}
A Stream: An unbounded sequence
of tuples.
A Spout: A source of streams.
A Bolt: A processing component to
transform streams. It consumes any
number of streams and possibly
emits new streams to other bolts.
A Topology: The overall computation,
visually represented by a graph of
spouts and bolts. Users need to
program a topology and then submit
it to a Storm cluster.
Topology
© Auto-ID Lab Korea / KAIST
Slide 27
Oliot Real-time Big-Data Processing Storm and EPC network
A Storm cluster runs multiple topologies for different applications.
Data sources from EPC network is published to a Pub/Sub System in different channels.
Topologies may subscribe to these channels on demand.
Output from Topologies may be consumed by Applications or persisted in Databases
© Auto-ID Lab Korea / KAIST
Slide 28
EPCIS
–Authoritative standard distributed storage for Supply Chain Management
–Oliot will broaden its SCOPE!
Oliot distributed storage
–Cassandra-based approach
–Oliot shows improved response time, throughput, and flexibility
Oliot event processing
– IoT needs real-time, on-demand event processing over continuous incoming
sensir big-data
–Storm-based approach
Conclusion
© Auto-ID Lab Korea / KAIST
Slide 29
EPC Information Services (EPCIS) Version 1.1 Specification
– http://www.gs1.org/gsmp/kc/epcglobal/epcis/epcis_1_1-standard-20140520.pdf
The new EPCIS 1.1, GS1 Global Forum 17 Feb. 2014
E-Health Sensor Platform V2.0
– http://www.cooking-hacks.com/documentation/tutorials/ehealth-biometric-sensor-platform-
arduino-raspberry-pi-medical
Fitbit Flex- Make fitness a lifestyle with Flex
– http://www.fitbit.com/flex
Neurosky ThinkGear EEG Hardware & Software
– http://neurosky.com/products-markets/eeg-biosensors/hardware/
Withings Wireless Scale- Effortless weight tracking for everyone
– http://vitrine.withings.com/eu/ws-30.html
H7 Heart Rate Sensor
– http://www.polar.com/en/products/accessories/H7_heart_rate_sensor
Reference
© Auto-ID Lab Korea / KAIST
Slide 30
FossTrak EPCIS Repository
– https://code.google.com/p/fosstrak/wiki/EpcisMain
The Apache Cassandra
– http://cassandra.apache.org/
Apache Hadoop
– http://hadoop.apache.org/
Apache Storm- Distributed and fault-tolerant realtime computation
– http://storm.incubator.apache.org/
Reference
© Auto-ID Lab Korea / KAIST
Slide 31
Thank you for listening
Q & A