1 epcglobal training suite. 2 epcglobal architecture framework

Post on 17-Jan-2016

244 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

EPCglobal Training SuiteEPCglobal Training SuiteEPCglobal Training SuiteEPCglobal Training Suite

2

EPCglobal Architecture Framework

EPCglobal Architecture Framework

3

Application Level Events (ALE)Application Level Events (ALE)

Responsibility of ALE• Managing Reader operations

• Filtering and grouping the data collected by Readers

• Report data collection result in user specified format

• Reduce operation overhead of applications

4

ALE  ServicesALE  Services

Reader  Configuration• Manage ALE readers.

Reading API• Set ECSpec and its operation.

Writing API• Set CCSpec and its operation.

Tag Configuration• Manage tag fields.

Access Control• Manage user permissions.

5

Reader  ConfigurationReader  Configuration

Base Reader• The physical reader that

actually communicating with Tags

Composite Reader• The conceptual reader that

contain one or more Base Readers and Composite Readers

Logical Reader• The abstract names that a

client uses to refer to one or more Readers that have a single logical purpose

6

Base Reader SettingBase Reader Setting

7

Composite Reader SettingComposite Reader Setting

8

Logical Reader SettingLogical Reader Setting

9

ALE Fundamental ConceptALE Fundamental Concept

Spec• A set of operation rules and data formats specified by ALE

Client

Report• A response sent from ALE to client at the conclusion of an event

cycle or command cycle

Interface Operation Cycle Specification Report

Reading API Event Cycle ECSpec ECReport

Writing API Command Cycle CCSpec CCReport

10

Reading APIReading API

Define• Creating a new ECSpec and Storing the ECSpec in ALE for

further use

Undefine• Deleting an existing ECSpec from ALE

Subscribe• Send a subscription request to ALE by choosing an ECSpec

has defined in ALE• Subscribe once, execution many times

Unsubscribe• Canceling a subscription that has subscribed in ALE

11

Reading APIReading API

Poll• Send a request to ALE by choosing an ECSpec has defined in

ALE• Poll once, execution one time

Immediate• Send a request with a ECSpec to ALE• Immediate once, execution one time• The ECSpec used in immediate will vanish after execution

12

ECSpecECSpec

ECSpec• Describes an event cycle

and one or more reports that are to be generated from it

• Contains …• One or more logical

Readers• A boundary spec• One or more report spec

13

New ECSpecNew ECSpec

14

ECSpec General SettingECSpec General Setting

15

Boundary SpecBoundary Spec

Boundary Spec• Specifies how the beginning and end of event cycles are to be

determined• Parameters

• startTriggerList and stopTriggerList (describes at next page)

• repeatPeriod and duration

• stableSetInterval

• whenDataAvailable

16

TriggerTrigger

Trigger• Syntax

• urn:epcglobal:ale:trigger:rtc:period.offset

• urn:epcglobal:ale:trigger:rtc:period.offset.timezone

• The period, in milliseconds, between consecutive triggers occurring within one day ( 1 period 86400000 )

• The offset, in milliseconds, between midnight and the first trigger delivered after midnight ( 0 offset period )

• The timezone in which to interpret “midnight” in the specification of the trigger timing (+hh:mm, -hh:mm, Z)

• Example• urn:epcglobal:ale:trigger:rtc:60000. 0.+08:00

• Start at AM 00:00, repeats every minutes in Taiwan

17

Boundary Spec SettingBoundary Spec Setting

18

Report SpecReport Spec

ReportSpec• Specifies one report to be included in the list of reports that

results from executing an event cycle• An ECSpec contains a list of one or more ECReportSpec

instances• Fields

• reportName, reportSet

• filterSpec, groupSpec, output

• reportIfEmpty, reportOnlyOnChange

• statProfileNames

19

Report SetReport Set

20

Report Spec SettingReport Spec Setting

21

Report Output SpecReport Output Spec

ReportOutputSpec• Specifies how the final set of EPCs is to be reported• includeEPC

• The Tag represented in the epc-pure format

• includeTag• The Tag represented in the epc-tag format

• includeRawHex• The Tag represented in the epc-hex format

• includeRawDecimal• The Tag represented in the epc-decimal format

• includeCount• Giving the number of Tags in the group

• fieldList• An ordered list of fields to include in the result

22

Report Output Spec SettingReport Output Spec Setting

23

Filter SpecFilter Spec

FilterSpec• Specifies what Tags are to be included in the final report• includeExclude

• Specifies whether the Tags that match designate pattern is inclusive or exclusive

• fieldspec• Specifies which field of the Tag is considered in evaluating this filter

• patList• An unordered list that specifies the patterns against which the

value of the specified Tag field is to be compared

24

Filter Spec SettingFilter Spec Setting

25

Group SpecGroup Spec

GroupSpec• Defines how filtered EPCs are grouped together for reporting• fieldspec

• Specifies which field of the Tag is used for grouping

• patternList• An unordered list that specifies the grouping patterns used to

generate a group name from the value of the specified Tag field

26

Group Spec SettingGroup Spec Setting

27

GroupingGrouping

Grouping Pattern• Using for separating Tags into different groups• Only used in epc-pure and epc-tag format• The following field of * or X must also be a * or X

Syntax

Pattern URI Field Meaning

X Create a different group for each distinct value of this field

* All values of this field belong to the same group

Number Only EPCs having Number in this field will belong to this group

[Lo-Hi] Only EPCs whose value for this field falls within the specified range will be long to this group

28

Filter & GroupFilter & GroupPattern URI Field Meaning

X Create a different group for each distinct value of this field.

* All values of this field belong to the same group.

Number Only EPCs having Number in this field will belong to this group.

[Lo-Hi] Only EPCs whose value for this field falls within the specified range will belong to this group.

29

ExampleExample

urn:epc:tag:sgtin-96:3.0036000.123456.400urn:epc:tag:sgtin-96:3.0036000.123456.500urn:epc:tag:sgtin-96:3.0029000.111111.100urn:epc:tag:sscc-96:3.0012345.31415926

Group Name EPCs in Group

urn:epc:pat:sgtin-96:*.0036000.*.* urn:epc:tag:sgtin-96:3.0036000.123456.400urn:epc:tag:sgtin-96:3.0036000.123456.500

urn:epc:pat:sgtin-96:*.0029000.*.* urn:epc:tag:sgtin-96:3.0029000.111111.100

[default group] urn:epc:tag:sscc-96:3.0012345.31415926

urn:epc:pat:sgtin-96:*.X.*.*

30

ExerciseExercise

urn:epc:pat:sgtin-96:1.1.1.1urn:epc:pat:sgtin-96:2.1.1.2urn:epc:pat:sgtin-96:3.1.1.3urn:epc:pat:sgtin-96:4.1.1.4urn:epc:pat:sgtin-96:5.1.1.5urn:epc:pat:sgtin-96:6.1.2.1

1. Filter pattern : urn:epc:pat:sgtin-96:*.1.1.*2. Filter pattern : urn:epc:pat:sgtin-96:*.1.*.*3. Group pattern: urn:epc:pat:sgtin-96:*.X.1.* 4. Group pattern: urn:epc:pat:sgtin-96:[2-3].X.X.*

31

ECReportECReport

ECReport• The output from an event cycle

32

ECReport Tree SampleECReport Tree Sample

33

ECReport Text SampleECReport Text Sample

34

Writing APIWriting API

Define• Creating a new CCSpec and Storing the CCSpec in ALE for

further use

Undefine• Deleting an existing CCSpec from ALE

Subscribe• Send a subscription request to ALE by choosing an CCSpec

has defined in ALE• Subscribe once, execution many times

Unsubscribe• Canceling a subscription that has subscribed in ALE

35

Writing APIWriting API

Poll• Send a request to ALE by choosing an CCSpec has defined in

ALE• Poll once, execution one time

Immediate• Send a request with a CCSpec to ALE• Immediate once, execution one time• The CCSpec used in immediate will vanish after execution

36

CCSpecCCSpec

CCSpec• A complex type that

describes a command cycle

• Contains …• One or more logical

Readers• A boundary spec• One or more command

spec

37

CCSpec General SettingCCSpec General Setting

38

Boundary SpecBoundary Spec

BoundarySpec• Specifies how the beginning and end of command cycles are to

be determined

• Parameters• startTriggerList and stopTriggerList (What is Trigger?)

• repeatPeriod and duration

• noNewTagsInterval

• tagsProcessedCount

• afterError

39

Boundary Spec SettingBoundary Spec Setting

40

Command SpecCommand Spec

CommandSpec (CmdSpec)• Attempts carry out the commands specified by the operation

specifications on each of the tags selected by the filter specification

• Fields• Name

• filterSpec

• opSpecs

• reportIfEmpty

• statProfileNames

FilterSpec• Specifies what Tags are to be processed by a CmdSpec

41

Command Spec SettingCommand Spec Setting

42

Filter Spec SettingFilter Spec Setting

43

Operation SpecOperation Spec

OperationSpec (OpSpec)• Specifies an operation to perform on a Tag,

such as reading a field, writing a field, or other Tag operation

• Fields• opType

• fieldspec

• dataSpec

• opName

• The relation of opType, fieldspec, and dataSpec• (See next page)

DataSpec

LITERAL

PARAMETER

CACHE

ASSOCIATION

RANDOM

LockOperation

LOCK

UNLOCK

PERMALOCK

PERMAUNLOCK

44

Operation TypeOperation Type

OpType, Field Spec, and DataSpec

OpType Description FiledSpec DataSpecREAD Read from memory The field to read [Must be omitted]

CHECK Check memory bank contents for consistency

The memory bank to be checked

A LITERAL dataSpec whose value specifies the encoding of the memory bank

INITIALIZE Initialize the state of a memory so that variable fields may be used

The memory bank to initialize

A LITERAL dataSpec whose value specifies additional information that guides the initialization

ADD Add the specified field to the Tag’s memory, initialized to the specified value. For a fixed field, this operation is equivalent to WRITE

The field to add The value to write into the specified field

45

Operation TypeOperation Type

OpType, Field Spec, and DataSpec (cont.)

OpType Description FiledSpec DataSpecWRITE Write a new value to an existing

fieldThe field to write The value to write into the

specified field

DELETE Delete the specified field from memory; For a fixed field, this operation is equivalent to WRITE with a value of zero

The field to delete [Must be omitted]

PASSWORD

Provide a password to enable subsequent commands

[Must be omitted] Access Password(Datatype: uint, Format: hex)

KILL Kill a tag; for Gen2 Tags this means to use the Gen2 “kill” command

[Must be omitted] Kill Password(Datatype: uint, Format: hex)

LOCK Sets access permissions for a memory field

The field whose permissions are to be set

A LITERAL dataSpec whose value specifies the lock action to be performed

46

Operation Spec SettingOperation Spec Setting

47

CCReportCCReport

CCReport• The output from a command cycle

48

CCReport SampleCCReport Sample

49

Tag Memory APITag Memory API

Define• Creating a new TMSpec and Storing the TMSpec in ALE for

further use

Undefine• Deleting an existing TMSpec from ALE

50

Tag MemoryTag Memory

Concept• The Fieldname, Datatype ,and Format defined by ALE is the way

to access tag memory correctly• Fieldname is the name of fields in tag memory• Datatype is the encoding of tag memory fields• Format is the presentation of tag data

51

Class 1 Gen 2 Memory Map

Class 1 Gen 2 Memory Map

52

Built-in FieldnamesBuilt-in Fieldnames

Built-in Fieldnames• Application Family Identifier (AFI) is defined in ISO 15962

Fieldname Bank DataType Format Content

killPwd 0 uint hex Kill Password

accessPwd 0 uint hex Access Password

epc 1 epc epc-tag EPC

nsi 1 uint hex Numbering System Identifier

afi 1 uint hex Application Family Identifier

epcBank 1 bits hex EPC bank

tidBank 2 bits hex Tag ID

userBank 3 bits hex User defined data

53

Generic FieldnamesGeneric Fieldnames

Generic Fieldnames• Absolute Address Fieldnames

• Specifies the absolute address of tag memory

• Syntax: @bank.length[.offset]

• EPC absolute address: @1.96.32

• Variable Fieldnames• Specifies the variable field presentation of tag memory

• Presents in URN with ISO 15962 Object Identifier (oid) encoding

• Syntax: @bank.oid

54

Data TypeData Type

Datatype• epc

• Defines in the EPCglobal Tag Data Standards

• uint (unsigned integer) • The set of non-negative integers

• bits• The set of all non-empty and finite-length sequences of bits

• ISO 15962 String• A string of zero or more characters drawn from the Unicode

character set, encoded according to ISO 15962

55

FormatFormat

Format• epc datatype formats

• epc-pure is pure epc identity for general reading purpose• urn:epc:id:sgtin:0614141.112345.400

• epc-tag is epc identity with tag encoding information• urn:epc:tag:sgtin-96:3.0614141.112345.400

• epc-hex presents epc identity in hexadecimal format• epc-decimal presents epc identity in decimal format

• uint datatype formats• hex, decimal

• bits datatype formats• hex

• ISO 15962 String datatype formats• string

56

TM Fixed Field SpecTM Fixed Field Spec

57

TM Variable Field SpecTM Variable Field Spec

58

ALE  Operational ConceptALE  Operational Concept

ALE ClientRFID ALE

Internet

DataBase

Physical Reader(Internet)EC/CC

Report

EC/CCSpec

Tag Data

59

Cycle DefinitionCycle Definition

Reader Cycle (RC)• The smallest unit of interaction with a Reader• May correspond to one or several RF protocol iterations

depending on the design of the reader device and its wire protocol

Event Cycle (EC) / Command Cycle (CC)• An interval of time over which an ALE implementation carries

out interactions with one or more Readers on behalf of an ALE client

• Event Cycle is the term used in the reading API• Command Cycle is the term used in the writing API

60

Event Cycle (EC)Event Cycle (EC)

61

Command Cycle (CC)Command Cycle (CC)

top related