30
Jun. 25, 2014 Auto-ID Labs, KAIST Dept. of Computer Science, KAIST GS1/Oliot LLRP: ELFIN Enhanced LLRP-enabling Framework for the INternet of Things Sehyeon Heo [email protected], http://oliot.org, http://autoidlab.kaist.ac.kr, http://resl.kaist.ac.kr http://autoidlabs.org http://gs1.org

GS1/Oliot LLRP and next

Embed Size (px)

Citation preview

Page 1: GS1/Oliot LLRP and next

Jun. 25, 2014

Auto-ID Labs, KAIST

Dept. of Computer Science, KAIST

GS1/Oliot LLRP: ELFIN

Enhanced LLRP-enabling Framework

for the INternet of Things

Sehyeon Heo

[email protected], http://oliot.org, http://autoidlab.kaist.ac.kr, http://resl.kaist.ac.kr http://autoidlabs.org http://gs1.org

Page 2: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 2

Introduction

Low Level Reader Protocol (LLRP)

ELFIN System Architecture

LLRP Next & Future Work

Contents

Page 3: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 3

Things

Connectivity

Acquisition

Protocol

Platform

Introduction

*RFID

CoAP

How things are collected and utilized?

LLRP

Page 4: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 4

Introduction

Things

Connectivity

Acquisition

Protocol

Platform

Adopted from LLRP 1.1 Specification

In case of

*Filtering &

Collection

LLRP

C1G2

TDS(EPC)

ALE

EPCIS

etc.

*Application

Level Event

Page 5: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 5

Introduction

Low Level Reader Protocol (LLRP)

ELFIN System Architecture

LLRP Next & Future Work

Page 6: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 6

Low Level Reader Protocol (LLRP) - What is Electronic Product Code (EPC)?

Reference:

http://www.slideshare.net

/cpqd/i-international-

workshop-rfid-and-iot-

dia-19-delivering-value-

through-gs1-ep-cglobal-

standards-wilson

Page 7: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 7

LLRP is a protocol between ALE Server and RFID Reader

– Defines control of RFID readers up to low level details of RFID

– Defines inventory, read, write, and other access commands for tags

– Defines capabilities of reader device

– Defines status reporting and error handling

Low Level Reader Protocol (LLRP) - Overview

ALE Server

(LLRP Client)

RFID Reader

(LLRP Server)

Tag Operation

RF Link Control

Capability Discovery

Status Report &

Error Handling

RFID Tags

Inventory

Read

Write

Kill, Lock, etc.

Page 8: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 8

Every product has attached RFID tag

– Every RFID tag is distinguishable based on the residing EPC code

ALE Server registers commands named ROSpec to RFID Reader

RFID Reader reads tags in FOV(field-of-view) of its antennas and

sends reports to ALE Server, based on the ROSpec

Low Level Reader Protocol (LLRP) - Tag Operations

RFID Reader

Product

RFID tag

containing

EPC code

ALE Server

To upper layer

of EPCglobal

Page 9: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 9

ROSpec (Reader Operation Spec)

– Operations to be executed at one or more

antennas of the reader

– Composed of one or more AISpecs and other

parameters (e.g. triggers, report format, etc.)

AISpec (Antenna Inventory Spec)

– The smallest unit of interaction between a

reader and tags in the antenna’s FOV

AccessSpec (Access Operation Spec)

– Describes target tags and the operations to be

performed (read, write, lock, etc. for the

memory banks of the tag)

– Executed during the Antenna Inventory

Low Level Reader Protocol (LLRP) - Tag Operations

ROSpec

AISpec AISpec

Ac

ce

ssS

pe

c

Ac

ce

ssS

pe

c

Ac

ce

ssS

pe

c

Ac

ce

ssS

pe

c

Ac

ce

ssS

pe

c

Ac

ce

ssS

pe

c

Simplified Runtime of ROSpec

time

Page 10: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 10

Low Level Reader Protocol (LLRP) - Tag Operations

Typical LLRP Runtime Timeline (adopted from LLRP 1.1 standard)

Page 11: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 11

Low Level Reader Protocol (LLRP) - Tag Operations

AccessSpec #2

ROSpec: 1

TagSpec: MB1, ends with 0001

OpSpec: READ, MB3, all

AccessSpec #1

ROSpec: 1

TagSpec: MB1, starts with 3501

OpSpec: WRITE, MB3, offset 0, ABCD

AISpec #1

AntennaID: 1 2 3

StopTrigger: Tag Observation, upon seeing 5 tag observations

InventortParameterSpec: Protocol C1G2, some antenna configurations

ROSpec

StartTrigger: GPI, port 1, high

StopTrigger: GPI, port 1, low

ROReportSpec: Accumulate report upon 5 TagReportData or end of ROSpec

RO_ACCESS_REPORT

TagReportData #1 {

EPCData: 3500 0203 0405 0607 0809 0001

AntennaID: 2

SpecIndex: AISpec #1

AccessSpecID: AccessSpec #2

OpSpecResult: ABCD EF01 2345 6789 ...

...

}

TagReportData #2 ...

Example of single ROSpec

Example of single RO_ACCESS_REPORT

Example of AccessSpecs

Page 12: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 12

Introduction

Low Level Reader Protocol (LLRP)

ELFIN System Architecture

LLRP Next & Future Work

Page 13: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 13

What is ELFIN?

– Enhanced LLRP-enabling Framework for the INternet of Things

– Targets LLRP 1.1 conformance reader implementation

Framework for collecting real-world environment to virtual-world

Converts any kinds of tag readers to LLRP-conformance reader

– Legacy non-LLRP RFID reader

– Gateway of sensor network

– Home server containing thing registry

Extends current standard for the requirements of IoT scenarios

And it will go public as open-source project soon!

– More extensions can be up to you

ELFIN System Architecture

Page 14: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 14

Core Operational Component

– Core operations of LLRP and other supplementary operations

Structural Abstraction Component

– Abstracts the structure of the real-world reader

– Useful for extension of current LLRP standard

Communicational Abstraction Component

– Abstracts the communication with the real-world reader

– Useful for supporting various kinds of Tag Readers

Messaging Component

– Abstracts LLRP messaging between reader and ALE server

Detailed information about ELFIN would be opened as online document soon

ELFIN System Architecture

Page 15: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 15

ELFIN System Architecture - Enhanced Feature Example

Preemption, Priority(1) < Priority(2) No preemption, FIFO

Conventional mechanism, only single ROSpec at once

Page 16: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 16

ELFIN System Architecture - Enhanced Feature Example

Proposed mechanism, support multiple ROSpecs

Page 17: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 17

ELFIN System Architecture - Test & Analysis

TCR Testcase Name P/F Remarks

TCR-R1 TCP Connections PASS

TCR-R2 Protocol Version Management N/A Out of Scope

TCR-R3 Get Reader Capabilities PASS

TCR-R4 Custom Messages and Custom Parameters N/A Out of Scope

TCR-R5 Errors PASS

TCR-R6 Read Operations and Reporting PASS

TCR-R7 Read Operations in Loop PASS

TCR-R8 Access Operations and Reporting PASS

TCR-R9 Tag Observations, Count-based Triggering PASS

TCR-R10 Immediate Triggering PASS

TCR-R11 AISpec Stop Trigger N/A Covered by TCR-R8

TCR-R12 Omitted in LLRP 1.1 Conformance Document N/A Omitted

TCR-R13 Polled Reporting N/A Optional feature

TCR-R14 Keepalives PASS

TCR-R15 Lock and Kill Access Operations N/A Out of scope

LLRP 1.1 Conformance Test

Page 18: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 18

ELFIN Reader Performance Test

– ELFIN Reader (emulator mode) on Raspberry Pi

ELFIN System Architecture - Test & Analysis

1(Antenna) 5 10 20 50 100

100 (Tags) 78.40(ms) 133.00 78.40 20.00 105.80 77.20

200 150.40 266.00 146.60 168.20 131.60 154.40

250 188.00 195.00 183.25 - 164.50 -

400 291.84 256.80 260.80 265.80 263.20 270.40

500 364.80 321.00 326.00 293.90 329.00 338.00

1000 609.55 742.00 781.60 587.80 714.00 676.00

2000 1219.10 1306.08 1569.60 1390.40 1284.32 1239.80

2500 1523.88 1632.60 1502.50 1537.00 1605.40 1492.13

4000 2438.20 2476.20 2404.00 2459.20 2295.60 2387.40

5000 3273.20 3061.20 3213.00 3154.00 3210.20 2920.20

This is the constant of Raspberry Pi

Overall tag processing time linearly depends on the number of tags

Page 19: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 19

Introduction

Low Level Reader Protocol (LLRP)

ELFIN System Architecture

LLRP Next & Future Work

Page 20: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 20

EPCglobal was originally designed for supply chain

– RFID readers and antennas are expected to be stable and fixed

– Scope of user is limited as business stakeholders

But in IoT world, following problems may happen:

– Antennas may suddenly vanish or show up (e.g. sensor network)

– Many users may simultaneously request different types of data

LLRP Next & Future Work - Motivation

Enterprise

Users

Supply

Chain

Conventional Scenario Internet of Things Scenario

Image source:

http://www.summitdata.com/blog/

google-in-the-running-for-the-

connected-world/

Page 21: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 21

Things

Connectivity

Acquisition

Protocol

Platform

LLRP Next & Future Work - Support for various things and connectivity

Why should we use only RFID for EPCglobal?

- this was started from EPC Sensor Network

*RFID

CoAP

LLRP

Page 22: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 22

Communicational Abstraction Component

– Abstracts the communication with the real-world reader

– Useful for supporting various kinds of Tag Readers

– We already implemented two kinds of this

Legacy RFID Reader

SNAIL(6LoWPAN) Gateway

ELFIN System Architecture

Page 23: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 23

6LoWPAN Sensor Network Adaptation

(Performed as a part of EU IoT6 Project)

LLRP Next & Future Work - Support for various things and connectivity

Test Server Machine

Raspberry Pi

(Embedded Linux, ELFIN) SNAIL Node

(6LoWPAN)

SNAIL Node

(6LoWPAN)

Page 24: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 24

Test Environment

– ELFIN Reader: Raspberry Pi, 6LoWPAN adaptation mode

– Node 1: SNAIL node, Antenna/Gateway role, Wired to Raspberry Pi.

– Node 2: SNAIL node, Antenna role, Wirelessly connected to Node 1

– Node 3: SNAIL node, Tag role, Wirelessly connected to Node 1, 2

LLRP Next & Future Work - Support for various things and connectivity

ELFIN Reader

(Raspberry Pi)

6LoWPAN Node 1

(SNAIL Node) 6LoWPAN Node 2

(SNAIL Node)

6LoWPAN Node 3

(SNAIL Node) Detected tag is shown in the log of ELFIN Reader

Test EPC of the SNAIL Node

SNAIL Antenna which detected Tag Node

Page 25: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 25

Legacy RFID Reader Adaptation (Performed as a part of Grocery Trace Framework Project)

LLRP Next & Future Work - Support for various things and connectivity

Test Server Machine

(Embedded Linux, ELFIN) Fridge Board

(non-LLRP) RFID Reader Board

RFID Antenna

RFID Tags

Page 26: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 26

LLRP Next & Future Work - Support for various things and connectivity

RFID Reader/Antennas

Page 27: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 27

Things

Connectivity

Acquisition

Protocol

Platform

LLRP Next & Future Work - Support for various protocols

We still have other options for acquisition protocols

*RFID

CoAP

LLRP

Page 28: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 28

LLRP Next & Future Work - Support for various protocols

Things

Connectivity

Acquisition

Protocol

Platform

Adopted from LLRP 1.1 Specification

*Filtering &

Collection

LLRP

C1G2

TDS(EPC)

ALE

EPCIS

etc.

*Application

Level Event

We can collect and utilize anything, if they have GS1 Code

It is just there, and why don’t we use it?

Page 29: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 29

AllJoyn Case

– Include EPC to the UUID of the product?

– ELFIN + AllJoyn LLRP-enabled AllJoyn Device Reader

MQTT Case

– Include EPC to Client Identifier of MQTT CONNECT message?

– ELFIN + MQTT LLRP-enabled MQTT Device Reader

– Or, we can just connect MQTT Device directly to ALE server

Any things can be distinguished and utilized with GS1 Code

You can also implement your own idea to collaborate with us

LLRP Next & Future Work - Support for various protocols

Page 30: GS1/Oliot LLRP and next

© Auto-ID Lab Korea / KAIST

Slide 30

Q & A