1 EPCglobal Training Suite
2 EPCglobal Architecture Framework
3 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 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 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 Setting
7 Composite Reader Setting
8 Logical Reader Setting
9 ALE 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 InterfaceOperation CycleSpecificationReport Reading API Event CycleECSpecECReport Writing API Command CycleCCSpecCCReport
10 Reading 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 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 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 ECSpec
14 ECSpec General Setting
15 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 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 ) 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 : :00 Start at AM 00:00, repeats every minutes in Taiwan
17 Boundary Spec Setting
18 Report Spec 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 Set
20 Report Spec Setting
21 Report Output Spec 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 Setting
23 Filter Spec Specifies what Tags are to be included in the final report includeExclude S pecifies whether the Tags that match designate pattern is inclusive or exclusive fieldspec S pecifies 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 Setting
25 Group Spec 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 Setting
27 Grouping 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 FieldMeaning XCreate a different group for each distinct value of this field *All values of this field belong to the same group NumberOnly 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 & Group Pattern URI FieldMeaning XCreate a different group for each distinct value of this field. *All values of this field belong to the same group. NumberOnly 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 Example Group NameEPCs in Group urn:epc:pat:sgtin-96:* *.*urn:epc:tag:sgtin-96: urn:epc:tag:sgtin-96: urn:epc:pat:sgtin-96:* *.*urn:epc:tag:sgtin-96: [default group]urn:epc:tag:sscc-96: urn:epc:pat:sgtin-96:*.X.*.*
30 Exercise urn:epc:pat:sgtin-96: urn:epc:pat:sgtin-96: urn:epc:pat:sgtin-96: urn:epc:pat:sgtin-96: urn:epc:pat:sgtin-96: urn:epc:pat:sgtin-96: 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 ECReport The output from an event cycle
32 ECReport Tree Sample
33 ECReport Text Sample
34 Writing 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 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 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 Setting
38 Boundary Spec Specifies how the beginning and end of command cycles are to be determined Parameters startTriggerList and stopTriggerList (What is Trigger?)(What is Trigger?) repeatPeriod and duration noNewTagsInterval tagsProcessedCount afterError
39 Boundary Spec Setting
40 Command 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 Setting
42 Filter Spec Setting
43 Operation 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 Type OpType, Field Spec, and DataSpec OpTypeDescriptionFiledSpecDataSpec READRead from memoryThe field to read[Must be omitted] CHECKCheck memory bank contents for consistency The memory bank to be checked A LITERAL dataSpec whose value specifies the encoding of the memory bank INITIALIZEInitialize 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 ADDAdd 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 addThe value to write into the specified field
45 Operation Type OpType, Field Spec, and DataSpec (cont.) OpTypeDescriptionFiledSpecDataSpec WRITEWrite a new value to an existing field The field to writeThe value to write into the specified field DELETEDelete 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] PASSWORDProvide a password to enable subsequent commands [Must be omitted]Access Password (Datatype: uint, Format: hex ) KILLKill a tag; for Gen2 Tags this means to use the Gen2 “kill” command [Must be omitted]Kill Password (Datatype: uint, Format: hex ) LOCKSets 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 Setting
47 CCReport The output from a command cycle
48 CCReport Sample
49 Tag 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 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
52 Built-in Fieldnames Application Family Identifier (AFI) is defined in ISO FieldnameBankDataTypeFormatContent killPwd0uinthexKill Password accessPwd0uinthexAccess Password epc1 epc-tagEPC nsi1uinthexNumbering System Identifier afi1uinthexApplication Family Identifier epcBank1bitshexEPC bank tidBank2bitshexTag ID userBank3bitshexUser defined data
53 Generic Fieldnames Absolute Address Fieldnames Specifies the absolute address of tag memory EPC absolute Variable Fieldnames Specifies the variable field presentation of tag memory Presents in URN with ISO Object Identifier (oid) encoding
54 Data 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 String A string of zero or more characters drawn from the Unicode character set, encoded according to ISO 15962
55 Format epc datatype formats epc-pure is pure epc identity for general reading purpose urn:epc:id:sgtin: epc-tag is epc identity with tag encoding information urn:epc:tag:sgtin-96: 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 String datatype formats string
56 TM Fixed Field Spec
57 TM Variable Field Spec
58 ALE Operational Concept
59 Cycle 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)
61 Command Cycle (CC)