SlideShare a Scribd company logo
GS1 Object Name Service
Daeyoung Kim
Apr. 28, 2020
Professor, School of Computing, KAIST
Director, Auto-ID Labs, KAIST
‱ kimd@kaist.ac.kr, 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
ONS Motivation [1/2]
By FDA policy, all medical equipment should have UDI from GS1
© Auto-ID Lab Korea / KAIST
Slide 3
ONS Motivation [2/2]
I don’t know what
it exactly means..
Also it’s not enough..
When you try to use it, however,
I have an UDI reader machine,
but..
© Auto-ID Lab Korea / KAIST
Slide 4
ONS Intro [1/2]
Service server
Access
Object Name Service
(ONS)
GS1 ID
from clients
Service List
manual
html
epcis


© Auto-ID Lab Korea / KAIST
Slide 5
ONS Intro [2/2]
Object Name Service
(ONS)
Available for all other things which have GS1 ID
GS1 ID
from clients
Service server
Access
Service List
© Auto-ID Lab Korea / KAIST
Slide 6
Object Name Service
(ONS)
SGLN
GIAI
GSRN
manual
html
epcis


Tour bus in Busan(GIAI)
Tour bus station at Busan station(SGLN)
Tour bus drivers(GSRN)
ONS Application
Access
Service List
https://play.google.com/store/apps/details?id=com.AutoIDLabs.KAIST.GS1Beacon&hl=en_US
© Auto-ID Lab Korea / KAIST
Slide 7
Object Name Service 2.0 Specification
 ONS (Object Name Service) uses DNS (Domain Name System)
 GS1 takes advantage of existing standards and infrastructure.
 ONS use internet DNS to look up GS1 identification key.
 GS1 identification keys are converted to domain names.
 The results are returned in a valid DNS Resource Record (RR).
 Dynamic Delegation Discovery System (DDDS) algorithm
 to find trusted metadata and services associated with a given GS1 identification key.
© Auto-ID Lab Korea / KAIST
Slide 8
Difference between DNS and ONS
 Domain Name System (DNS)
 DNS translates domain names to IP addresses so browsers can load Internet resources
 Object Name Service (ONS)
 Finds services related with a GS1 identification key using DNS
© Auto-ID Lab Korea / KAIST
Slide 9
Domain Name System (DNS)
Client’s View
 Used to determine the IP address of a fully qualified domain name (FQDN) such as
"www.gs1.org"
 Minimum information required for DNS Resolver to obtain information about a query: the
domain name being queried and the type of resource record (RR) requested.
 In the above example, to obtain Mail Exchange information, a Resource Record can be obtained
by specifying the domain name (“dns: //corp.example.com”) and the desired type of information
(“MX”).
Java coding example
© Auto-ID Lab Korea / KAIST
Slide 10
Domain Name System (DNS)
Publisher’s View
 Data related to the
domain name is
included in the
resource records (RR)
 RR defines some
attributes of domain
names such as IP
addresses, text strings,
and mail routes
© Auto-ID Lab Korea / KAIST
Slide 11
Object Name Service (ONS)
 A service that looks up static information
(services) for a specified GS1
identification key using the Internet's
existing Domain Name System (DNS)
protocol.
ONS in Oliot
(Open Language for Internet of Things)
ONS lookup for service
information (E.g. product
information service)
© Auto-ID Lab Korea / KAIST
Slide 12
ONS Application ONS Client
EPCIS Server
ONS Peer Roots
(1)
(2)
(3)
(6) (7)
Local caching
nameserver
(5)
(8)
(4)
ONS Structure
Federated ONS Infrastructure
GS1 ID AUS
Application unique
string
FQDN
Fully qualified
domain name
NAPTR records
Name authority
pointer
The result is returned in the DNS
record type NAPTR
(Naming Authority PoinTeR)
[RFC 3403].
© Auto-ID Lab Korea / KAIST
Slide 13
 ONS does not support serial number level queries, but supports class level queries.
 Queries requesting things information of the same type but not identical to each other, that is, instance
level queries
 Instance level vs. Class level
 How to process instance level queries?
 Can be obtained by additionally querying the serial number for the application layer service specified by
ONS
Serial Number level query?
Class level(Coca Cola)
Instance level
(Coca Cola B)
Instance level
(Coca Cola A)
Class level(Pepsi)
Instance level
(Pepsi B)
Instance level
(Pepsi A)
© Auto-ID Lab Korea / KAIST
Slide 14
‱ Extract the desired GS1 ID key type and GS1 ID key from the GS1 list read from the reader.
‱ (00)306141417782246356(02)50614141322607(37)20
Type: GTIN (02) Key: 50614141322607
‱ Structure of AUS
‱ Language code | Country code | GS1 ID Type | GS1 ID Key
‱ Optional fields without values ​​are encoded using an empty string and all field delimiters are required
‱ AUS Conversion example
‱ GTIN 0614141665815, English service in Canada
AUS: en|ca|gtin|0614141665815
ONS Application
GS1 ID AUS
Convert GS1 ID to Application Unique String (AUS)
© Auto-ID Lab Korea / KAIST
Slide 15
‱ According to RFC 3402, AUS becomes the initial input for DDDS applications
‱ AUS consists of:
 Lowercase ISO 639-1 language code for the client querying the database (optional)
 Lowercase ISO 3166-1 alpha-2 country code for clients querying the database (optional)
 Lowercase GS1 identification key type abbreviation
 Full length GS1 identification key itself and serial number
 Each field in AUS is separated by a vertical bar ('|', ASCII 124: 10 decimal or 0x7C: 16 decimal)
Convert GS1 ID to Application Unique String
(AUS)
© Auto-ID Lab Korea / KAIST
Slide 16
‱ From AUS to FQDN
AUS
FQDN
||gtin|00614141322602
0 0614141 32260 2
indicator company prefix itemref check
00614141322602 Strip checksum
0.061414132260 Hold indicator
0.062231414160 Reverse all remaining characters
0.0.6.2.2.3.1.4.1.4.1.6.0. Append a ‘.’
0.0.6.2.2.3.1.4.1.4.1.6.0.gtin Append ID key type
0.0.6.2.2.3.1.4.1.4.1.6.0.gtin.gs1.id
0.0.6.2.2.3.1.4.1.4.1.6.0.gtin.gs1.id.onsepc.com
Append ‘.gs1.id.’
Append peer root
ONS Application ONS Client
AUS FQDN
Convert AUS to Fully Qualified Domain Name
(FQDN)
© Auto-ID Lab Korea / KAIST
Slide 17
‱ ONS query
‱ Fully Qualified Domain Name (FQDN) Query for ONS Query Response
‱ ONS query response
‱ A series of Naming Authority PoinTeR (NAPTR) records
ONS Formal Specification
- ONS query response
ONS Query
ONS Query response
ONS Client
Local caching
nameserver
ONS Peer Roots
0.0.6.2.2.3.1.4.1.4.1.6.0.gtin.gs1.id.onsepc.com
© Auto-ID Lab Korea / KAIST
Slide 18
Why Federated Model?
‱ DNS-based ONS lookup functionality is implemented by distributed servers with a single
(replicated) Root ONS currently on onsepc.com
‱ However, ONS’s governance model and architecture raises concern within some industrial and
political communities.
‱ One Root ONS is more likely to encounter security issues
‱ Fatal if problems occur in weapons, nuclear waste or sensitive application product recalls, anti-
counterfeiting applications, or logistics applications that may mean food or drug safety controls.
‱ Also, because laws vary from country to country, there is a lot of trouble for one Root ONS to
follow the laws of various countries.
‱ Therefore, each country has a peer root ONS and exchanges information between it.
© Auto-ID Lab Korea / KAIST
Slide 19
‱ Nameserver (NS) delegation
‱ When the target Name Server is currently under ONS Peer Root
‱ Delegation name (DNAME) delegation
‱ When the target Name Server is under another ONS Peer Root
‱ Using the GS1 prefix (last 3 digits), delegate to the ONS Peer Root of target country
Federated ONS
- Delegation
GS1 Prefix Domain Country
1.6.0 onsepc.com America
0.8.8 onsepc.kr Korea
0.0.3 onsepc.fr France
Korean
ONS Peer Root
American
ONS Peer Root
French
ONS Peer Root
ONS Server
In Korea
ONS Server
In America
ONS Server
In France
NS Delegation
DNAME Delegation
~.1.4.1.4.X.X.X.gtin.gs1.id.onsepc.XXX
© Auto-ID Lab Korea / KAIST
Slide 20
ONS peer Roots
Local system
ONS
Application
ONS
Client
Recursive Name
Server
EPCIS Server
DNS
Query
DNS
Response
Korean Root
onsepc.kr
Local ONS
American Root
onsepc.com
Local ONS
Local ONS
French Root
onsepc.fr
Federated ONS
- NS Delegation
1
2
3
4
5 6
GS1 Prefix Domain Country
1.6.0 onsepc.com America
0.8.8 onsepc.kr Korea
0.0.3 onsepc.fr France
~.0.8.8.onsepc.kr.
Resolution
Success
© Auto-ID Lab Korea / KAIST
Slide 21
ONS peer Roots
Local system
ONS
Application
ONS
Client
Recursive Name
Server
EPCIS Server
DNS
Query
DNS
Response
Korean Root
onsepc.kr
Local ONS
American Root
onsepc.com
Local ONS
Local ONS
French Root
onsepc.fr
Federated ONS
- DNAME Delegation
1
2
3
45
6 7
GS1 Prefix Domain Country
1.6.0 onsepc.com America
0.8.8 onsepc.kr Korea
0.0.3 onsepc.fr France
~.1.6.0.onsepc.kr.
Resolution
Success
© Auto-ID Lab Korea / KAIST
Slide 22
ONS peer Roots
Local system
ONS
Application
ONS
Client
Recursive Name
Server
EPCIS Server
DNS
Query
DNS
Response
Korean Root
onsepc.kr
Local ONS
American Root
onsepc.com
Local ONS
Local ONS
French Root
onsepc.fr
Local ONS
Chinese ONS Root
ons.epcglobal.cn
Federated ONS
- GS1 Prefix Updated Case : Not Synchronized
1
2
3
GS1 Prefix Domain Country
1.6.0 onsepc.com America
0.8.8 onsepc.kr Korea
0.0.3 onsepc.fr France
~.0.9.6.onsepc.kr.
Resolution
Failure
© Auto-ID Lab Korea / KAIST
Slide 23
Peer Delegation file
‱ Peer Delegation File
‱ File that exchanges information needed for DNAME delegation between
ONS Peer Roots
‱ Notify other ONS Peer Roots via this file when there is a change in
information on any ONS Peer Root
‱ All ONS Peer Roots can share a table that allows GS1 Prefix and Domain to
match each other.
‱ Example
‱ If Chinese ONS Peer Root is added, Peer Delegation File is notified to other ONS
Peer Root so that all ONS Peer Root can share the same table as below.
GS1 Prefix Domain Country
1.6.0 onsepc.com America
0.8.8 onsepc.kr Korea
0.0.3 onsepc.fr France
0.9.6 ons.epcglobal.cn China
© Auto-ID Lab Korea / KAIST
Slide 24
Peer Delegation file example (1/2)
© Auto-ID Lab Korea / KAIST
Slide 25
Peer Delegation file example (2/2)
© Auto-ID Lab Korea / KAIST
Slide 26
ONS peer Roots
Local system
ONS
Application
ONS
Client
Recursive Name
Server
EPCIS Server
DNS
Query
DNS
Response
Korean Root
onsepc.kr
Local ONS
American Root
onsepc.com
Local ONS
Local ONS
French Root
onsepc.fr
Local ONS
Chinese ONS Root
ons.epcglobal.cn
Federated ONS
- GS1 Prefix Updated case: Synchronized
1
2
3
5
6 7
4
GS1 Prefix Domain Country
1.6.0 onsepc.com America
0.8.8 onsepc.kr Korea
0.0.3 onsepc.fr France
0.9.6 ons.epcglobal.cn China
~.0.9.6.onsepc.kr.
Resolution
Success
© Auto-ID Lab Korea / KAIST
Slide 27
ONS DDDS Database [1/7]
‱ NAPTR RR
‱ ONS contains pointers to trusted information about GS1 identification keys in the DNS
database.
‱ DNS Type Code 35 (NAPTR) Record [RFC 3403]
Format of NAPTR RR
© Auto-ID Lab Korea / KAIST
Slide 28
ONS DDDS Database [2/7]
‱ NAPTR RR field definitions
‱ Pref –Nonnegative integer
‱ When a service in one record has the same service field, this indicates the priority with services in the
other record
‱ For example, to specify a secondary backup server so that it is used only when the primary server
fails.
‱ Flags
‱ Set to "u" to indicate that the Regexp field contains a URI, or "t" to indicate that the Regexp field
contains plain text.
‱ Services
‱ URI to access service type
‱ Regexp
‱ Specify regular expressions and service addresses to be applied for AUS language and country codes
‱ Replacement
‱ Not used, simply appoint “.”
© Auto-ID Lab Korea / KAIST
Slide 29
ONS DDDS Database [3/7]
‱ ServiceType
‱ ONS supports a dynamic service definition model that allows you to define GS1 Global, the GS1
Member Organization, industry groups, members, service providers, or any component that actually
wants to publish services based on GS1 identification.
‱ Service definitions can be scoped at the global and local level.
‱ The service type URL represents an XML document describing the service, which may not be
publicly accessible.
‱ You may need credentials to access the document (e.g. basic HTTP authentication, FTP
username and password).
© Auto-ID Lab Korea / KAIST
Slide 30
ONS DDDS Database [4/7]
‱ ServiceType.xml Schema
© Auto-ID Lab Korea / KAIST
Slide 31
ONS DDDS Database [5/7]
‱ ServiceType.xml
© Auto-ID Lab Korea / KAIST
Slide 32
ONS DDDS Database [6/7]
‱ Services / Service Type Class
Field Description
ServiceTypeIdentifier Service type identifier, a URL where the XML representation of this structure can be found.
Abstract True if this is an abstract service type; the abstract service type is used as the base type for other service types, not
its own concrete implementation.
Extends Service type identifier extended by this service type
TimeToLive TimeToLive in minutes, cached on client for published time.
WSDL Location (address) of web service description language file
HomePage A page that provides a homepage address, typically a basic overview of a service type, and can contain links to
associated service types.
Documentation Multilingual documentation of the service type.
Obsoletes Service identifier list for service type version management, list of previous version service type of current version
ObsoletedBy Service identifier list for service type version management, list of later version service type of current version
© Auto-ID Lab Korea / KAIST
Slide 33
ONS DDDS Database [7/7]
Service Type XML example
© Auto-ID Lab Korea / KAIST
Slide 34
Example
- ONS Query Conversion and Response
(1)
ONS Peer Roots
Product Mobile
Shop Infomation
(2)
(3)
(4)
(5)
(6)
Service Type
Server
Service provide server
ONS Infrastructure
ONS Query
flow
Broadcast GTIN of
Product
Product Advertising
Beacon
Provider
Server
© Auto-ID Lab Korea / KAIST
Slide 35
Example
- Response of NAPTR
© Auto-ID Lab Korea / KAIST
Slide 36
Example
- Description of NAPTR Response
Each column of NAPTR has the following meaning
1. Represents a GS1 Company Prefix in an inquired GS1 code.
-! ^. * $! 06,7! Regexp means GS1 company prefix starting with “06” is 7 digits long.
2. Represents an EPCIS address containing information from the GS1 code.
- Get the URL of the EPCIS server.
3. Represents an Internet page with information about mobile commerce data providers.
- Regexp gets the URL of the mobile commerce server for French and Canadian data.
4. 5. 6. 8. Represents an Internet page with information about mobile commerce data providers.
- Same service type as before, but provides appropriate internet pages based on AUS language and country
code.
7. Represents an Internet page with information about mobile commerce data providers.
- If the first six URLs do not respond, the URL for this record is used.
© Auto-ID Lab Korea / KAIST
Slide 37
Example
- Search for GS1 Company Prefix
(1)
ONS Peer Roots
Company Prefix
(2)
(3)
(4)
(5)
(6)
Service Type
Server
Service provide server
ONS Infrastructure
GTIN
50614141322607
Product Advertising
Beacon
Provider
Server
5.0.6.2.2.3.1.4.1.4.1.6.0.gtin.
gs1.id.onsepc.com
Company
Prefix
0614141
© Auto-ID Lab Korea / KAIST
Slide 38
Example
- Search for EPCIS Server
(1)
ONS Peer Roots
EPCIS
Information
(2)
(3)
(4)
(5)
(6)
Service Type
Server
Service provide server
ONS Infrastructure
GTIN
50614141322607
Product Advertising
Beacon
Provider
Server
5.0.6.2.2.3.1.4.1.4.1.6.0.gtin.
gs1.id.onsepc.com
http://epcis.example
.com/
EPCIS
© Auto-ID Lab Korea / KAIST
Slide 39
Example
- Search for a mobile commerce service
(1)
ONS Peer Roots
Product Mobile
Shop Information
(2)
(3)
(4)
(5)
(6)
Service Type
Server
Service provide server
ONS Infrastructure
GTIN
50614141322607
Product Advertising
Beacon
Provider
Server
5.0.6.2.2.3.1.4.1.4.1.6.0.gtin.
gs1.id.onsepc.com
http://es-
us1.example.com
© Auto-ID Lab Korea / KAIST
Slide 40
Web Based ONS Record Management and Access
Delegation
‱ Oliot-ONS
‱ Web based ONS records management
‱ Secure access delegation to others
‱ ONS Managing API
‱ Add/edit/delete records
‱ Manage access control
‱ Authentication
‱ PostgreSQL based oauth 2.0 server
‱ Store users’ authentication information (e.g.
ID, PW, token)
‱ Access Control
‱ Neo4j based access control
‱ Dynamic modification and easy
visualization of access relationships
‱ ONS Server
‱ PowerDNS : process ONS query
‱ MySql : back-end DB storing ONS records
Web Enabled Devices
ONS Managing API
Access ControlWeb Server
ONS Server
Back-end DB
PowerDNS
ONS Server
Back-end DB
PowerDNS
Manage
ONS Infrastructure
Authentication
© Auto-ID Lab Korea / KAIST
Slide 41
Oliot ONS System Overview
ONS ServerONS Management Web Server
ons_wep
_app
ons_web
_api
ons_db_
api
PostgreSQL Neo4j MySQL
PowerDNS
ONS
Manager
Web GUI based
Records management
Web API based
Records management
User
ONS query/response
© Auto-ID Lab Korea / KAIST
Slide 42
ONS Tutorial
- Oliot-ONS source code
‱ How to get Source code?
‱ Using GIT
‱ $ git clone https://github.com/gs1oliot/oliot-ons-1.1.git
‱ Components of Oliot-ONS source code
‱ oliot-ons-web-app
‱ User friendly GUI based web application
‱ oliot-ons-web-api
‱ Restful web API managing ONS records and access control
‱ oliot-ons-db-api
‱ Restful web API accessing back-end DB of ONS server
‱ oliot-ons-docker-config
‱ Set of shell scripts for building and running pdns & DB containers on Docker
engine
© Auto-ID Lab Korea / KAIST
Slide 43
ONS Tutorial
- Oliot-ONS PDNS and DB Set Up
‱ Prerequisite
‱ Docker
‱ Manual for installation of Docker on Ubuntu
‱ https://docs.docker.com/engine/installation/linux/ubuntulinux/
‱ oliot-ons-docker-config
‱ mysql_docker, postgre_docker, neo4j_docker, pdns_docker
‱ Build docker image (mysql_docker, postgre_docker only)
‱ $ sh docker_build_image.sh
‱ Modify docker_run_container.sh for your purpose (you need to change
environment parameters for password at least)
‱ $ vi docker_run_container.sh
‱ Run docker image
‱ $ sh docker_run_container.sh
© Auto-ID Lab Korea / KAIST
Slide 44
ONS Tutorial
- Oliot-ONS Web Services Set Up
‱ oliot-ons-web-api, oliot-ons-db-api, oliot-ons-web-app
‱ Build docker image
‱ $ sh docker_build_image.sh
‱ Make config dir. & Copy example_conf.json to ./config/conf.json
‱ $ cp example_conf.json ./config/conf.json
‱ Modify ./config/conf.json for your purpose
‱ $ vi ./config/conf.json
‱ Run docker container (you may need to change path for ./config folder if
you do not clone oliot-ons-1.1 in home folder)
‱ $ sh docker_run_container.sh
‱ Bug exists for oliot-ons-web-api. You need to retry this several times until container is
correctly ran.
‱ Reference
‱ Docker information:
https://docs.docker.com/engine/reference/commandline/cli/
‱ Pdns information: https://doc.powerdns.com/3/
© Auto-ID Lab Korea / KAIST
Slide 45
Example: ONS Record Management
- Main page
‱ Open web app in the browser
‱ http://localhost:4000
‱ Since you do not have ID yet, click ‘sign up’
© Auto-ID Lab Korea / KAIST
Slide 46
Example: ONS Record Management
– Sign up
‱ Sign up page opens
‱ http://localhost:4000/signup
‱ Select user type
‱ Choose company now
‱ Type your own ID and password and click ‘sign up’ button
‱ If sign up is correctly finished, automatically back to login page
‱ Otherwise, stay in this page with error
‱ Tip: your authentication (PostgreSQL) and access control (Neo4j) database may have problem
© Auto-ID Lab Korea / KAIST
Slide 47
Example: ONS Record Management
- Log in
‱ If login page is showed up normally
‱ Type you ID and password
‱ You would get temporally valid token from authentication server
‱ But, after token is expired, you need to re-log in to get new token
© Auto-ID Lab Korea / KAIST
Slide 48
Example: ONS Record Management
- ONS server list
‱ If ID and password are correct, browser shows ONS server list you manage
‱ You can add, edit, and delete your ONS server
© Auto-ID Lab Korea / KAIST
Slide 49
Example: ONS Record Management
- Add ONS server
‱ If ‘add new server’ is selected, ‘addserver’ page opens
‱ http://localhost:4000/addserver
‱ Type server information
‱ Server Address: server address where oliot-ons-db-api is installed
‱ Do not designate localhost or 127.0.0.1, only public address (ex.www.xxx.yyy.zzz) is possible
‱ Server Port: server port (default: 4002)
‱ Database Username: ID for mysql (default: poweruser)
‱ Database Password: PW for mysql
© Auto-ID Lab Korea / KAIST
Slide 50
Example: ONS Record Management
- New ONS server list after adding server
‱ If adding new ONS server is correctly finished, new ONS server list is shown
‱ You can see new ONS server is correctly added (143.248.56.xxx:4002)
‱ If click ‘delete’ button, clicked ONS server is removed from list
New ONS Server
© Auto-ID Lab Korea / KAIST
Slide 51
Example: ONS Record Management
- Edit ONS server
‱ If click ‘edit’ button on ONS server list, edit server page opens and domain list is showed up
‱ http://locahost:4000/server/143.248.56.xxx:4002
‱ You can also add, edit, and delete your domains for specific ONS server
© Auto-ID Lab Korea / KAIST
Slide 52
Example: ONS Record Management
- Add domain
‱ If ‘add new domain’ is selected, ‘addDomain’ page opens
‱ http://localhost:4000/server/143.248.56.164:4002/addDomain
‱ Type domain name you want add
‱ Domain name should follow DNS syntax (dotted string)
‱ ex) 1.8.0.0.0.0.1.2.3.4.5.8.8.gtin.gs1.id.onsepc.kr
© Auto-ID Lab Korea / KAIST
Slide 53
Example: ONS Record Management
- New domain list after adding new domain
‱ If adding new domain is correctly finished, new domain list is shown
‱ You can see new domain is correctly added (1.8.0.0.0.0.1.2.3.4.5.8.8.gtin.gs1.id.onsepc.kr)
‱ If click ‘delete’ button, clicked ONS domain is removed from list
New domain
© Auto-ID Lab Korea / KAIST
Slide 54
Example: ONS Record Management
- Edit domain
‱ If click ‘edit’ button on the domain list, edit domain page opens
‱ http://locahost:4000/server/143.248.56.xxx:4002/domain/1.8.0.0.0.0.1.2.3.4.5.8.8.gtin.gs1.id.onsepc.kr
‱ You can edit this zone by adding or deleting records
‱ Click ‘save’ button after fill in the blanks, then new record is added
‱ The record should follow DNS syntax
‱ Click ‘delete’ button located on the right side of each record, then the record is removed
0 0 "U" "http://www.gs1.org/ons/epcis" "!^.*$!http://stis.iotlab.eu:8
080/epcis-repository-0.6.4/query!" .
New record
© Auto-ID Lab Korea / KAIST
Slide 55
Example: ONS query test
‱ nslookup
‱ $ nslookup -type=NAPTR <gs1code> localhost(or public IP of localhost)
‱ If you correctly set up all, you can see NAPTR typed ONS records in response to
the above command including the gs1code (<gs1code>)
‱ Screenshot
GS1 Digital Link
Daeyoung Kim
Professor, School of Computing, KAIST
Director, Auto-ID Labs, KAIST
‱ kimd@kaist.ac.kr, http://oliot.org, http://autoidlab.kaist.ac.kr, http://resl.kaist.ac.kr http://autoidlabs.org http://gs1.org
https://www.gs1.org/standards/gs1-digital-link
© Auto-ID Lab Korea / KAIST
Slide 57
UPC/EAN
© Auto-ID Lab Korea / KAIST
Slide 58
GS1 Data Matrix
© Auto-ID Lab Korea / KAIST
Slide 59
QR
© Auto-ID Lab Korea / KAIST
Slide 60
QR with GS1 Digital Link URI
© Auto-ID Lab Korea / KAIST
Slide 61
QR with GS1 Digital Link URI
© Auto-ID Lab Korea / KAIST
Slide 62
QR with GS1 Digital Link URI
© Auto-ID Lab Korea / KAIST
Slide 63
QR with GS1 Digital Link URI
© Auto-ID Lab Korea / KAIST
Slide 64
GS1 Digital Link
‱Digital Link syntax B2B video: https://adobe.ly/31urWRu
© Auto-ID Lab Korea / KAIST
Slide 65
‱ GS1 Digital Link allows multiple services to be connected via a single data carrier by creating a standard
for URI information that includes URLs that can be inserted into existing data carriers, such as 1D and 2
D bar codes, QR codes, datamatrix, RFID, NFC, etc
‱ GS1 Digital Link is a standard for combining service links (URIs) related to GS1 code into existing data
carriers. Just as the URL address points to a specific website, GS1 Digital Link can connect all objects in
the world to associated services via GS1 code.
GS1 Digital Link
© Auto-ID Lab Korea / KAIST
Slide 66
Why GS1 Digital Link?
‱ Multi-functional data carriers
‱ It is increasingly common to see multiple data
carriers on a single item. This is because each
one is placed there for a single purpose such as
supply chain operations, point of sale, extended
consumer information and promotional
interaction.
‱ GS1 DL enables a single code to perform
multiple functions, both online and offline,
reducing the need for multiple codes on a pack
and has the future potential to realize a single
data carrier for all functions.
© Auto-ID Lab Korea / KAIST
Slide 67
Why GS1 Digital Link?
‱ Simpler data sharing
‱ Barcodes and other data carriers have always
been a reference to data about the identified object
stored in a computer.
‱ GS1 DL connects identified items to limitless
sources of data, whether stored locally or remotely,
whoever they are curated by, enabling many new
possibilities in addition to the data carrier's current
role in supply chain and POS tasks.
‱ GS1 DL syntax effectively provides a common API
for multiple points on the Web making it easy to
query different sources for information about the
same item.
© Auto-ID Lab Korea / KAIST
Slide 68
Why GS1 Digital Link?
‱ Granular identification
‱ There is a growing demand for more data to be
encoded in the data carrier such as the batch/lot,
expiry date, measured weight and, in some cases,
individual item level identification through
serialization.
‱ GS1 DL is applicable at all levels of identification
including batch/lot and serialised level.
‱ GS1 DL can be used with any data carrier, such as
URL, such as QR, NFC or non-GS1 Data Matrix,
© Auto-ID Lab Korea / KAIST
Slide 69
Why GS1 Digital Link?
‱ Reduced latency
‱ When data is copied and aggregated, there is
almost always a delay between the facts on the
ground changing and copies of the data being
updated. This inherent latency can mean that
important updates to the data on which a business
depends are not reflected with due speed.
‱ Because GS1 DL avoids the need for data
aggregation and simply points to the original
source data, latency is eliminated.
© Auto-ID Lab Korea / KAIST
Slide 70
What is Web URI?
‱ Uniform Resource Identifiers (URIs) consist of URNs and URLs, URLs (Uniform Resource Locators)
refer to addresses to tell you where resources are on the network, and URN (Uniform Resource Name) is
used to refer to the only name worldwide.
‱ Web URI is a intersection of URN and URLs, which means accessing the data (URL) of a Web service
using the name of an object (URN).
© Auto-ID Lab Korea / KAIST
Slide 71
Internal structure of a Web URI
‱ The Web URI consists of Scheme, Hostname, Path Information, Query String and Fragment ID.
‱ The service provider can access multiple services using a single URI by inserting a URI up to Path
Information with GS1 code information in the QR code and adding the service user's desired service
to the URI.
© Auto-ID Lab Korea / KAIST
Slide 72
Explicit links to related URIs, ideally expressed with
semantic annotation, using Linked Data properties
https://lov.linkeddata.es/dataset/lov/vocabs/dcterms
https://en.wikipedia.org/wiki/Dublin_Core
© Auto-ID Lab Korea / KAIST
Slide 73
Explicit links to related URIs, ideally expressed with
semantic annotation, using Linked Data properties
‱ GS1 Web URI provides a new syntax
‱ for expressing GS1 Identifier Keys, Key qualifiers and data attributes
in a format that can be used on the Web in an intuitive manner to
enable consumers and others to directly access relevant information
and services about products, assets, locations, etc.
© Auto-ID Lab Korea / KAIST
Slide 74
Use of barcodes containing GS1 Web URI and
GS1 barcodes
‱ One barcode instead of two, therefore increasing supply
chain scanning performance and making consumer
experiences easier and more beneficial than today.
© Auto-ID Lab Korea / KAIST
Slide 75
Examples of GS1 Web URIs - GTIN
‱ (01)00614141123452 - GS1 Element String
‱ https://id.gs1.org/gtin/614141123452
‱ https://id.gs1.org/01/614141123452
‱ https://brand.example.com/gtin/614141123452
‱ https://brand.example.com/some-extra/pathinfo/gtin/614141123452
‱ https://retailer.example.com/some-extra/pathinfo/gtin/614141123452
© Auto-ID Lab Korea / KAIST
Slide 76
Examples of GS1 Web URIs
- GTIN + Batch/Lot + Serial Number + Expiry Date
‱ (01)00614141123452(17)180426(10)ABC1(21)12345 - GS1 Element String
‱ https://id.gs1.org/gtin/614141123452/lot/ABC1/ser/12345?exp=180426
‱ https://id.gs1.org/01/614141123452/10/ABC1/21/12345?17=180426
‱ https://example.com/gtin/614141123452/lot/ABC1/ser/12345?exp=180426
‱ https://example.com/01/614141123452/10/ABC1/21/12345?17=180426
© Auto-ID Lab Korea / KAIST
Slide 77
Examples of GS1 Web URIs
- GTIN + Typed Link
‱ Redirect directly to the instruction manual for the product
‱ https://id.gs1.org/gtin/614141123452?linkType=gs1_instructionsForUse
‱ https://id.gs1.org/01/614141123452?linkType =gs1_instructionsForUse
‱ https://example.com/gtin/614141123452?linkType =gs1_instructionsForUse
‱ https://example.com/01/614141123452&linkType =gs1_instructionsForUse
‱ Note that at this stage, “linkType” is only an example of a key.
Its values have not yet been standardized by GS1
© Auto-ID Lab Korea / KAIST
Slide 78
Examples of GS1 Web URIs
- SSCC with specified Content, Count and Batch/Lot
‱ GS1 Web URIs for SSCC 106141412345678908 containing a count [ AI (37) ] of
25 instances of Content [ AI (02) ] 00614141123452 having Batch/Lot identifier
[ AI (10) ] 'ABC123'
‱ https://id.gs1.org/sscc/106141412345678908?02=00614141123452&37=25&10=ABC123
‱ https://id.gs1.org/00/106141412345678908?02=00614141123452&37=25&10=ABC123
© Auto-ID Lab Korea / KAIST
Slide 79
Examples of GS1 Web URIs
- Physical location represented by a GLN or GLN + GLN Extension
‱ (414)0614141123452(254)32a%2Fb - GS1 Element String
‱ https://id.gs1.org/gln/0614141123452
‱ https://id.gs1.org/414/0614141123452
‱ https://id.gs1.org/gln/0614141123452/glnx/32a%2Fb
‱ https://id.gs1.org/414/0614141123452/254/32a%2Fb
© Auto-ID Lab Korea / KAIST
Slide 80
Resolving Protocol
‱ For redirection, use of HTTP response 302 (Found) is not recommended because of a number of
inconsistent implementations in clients. It is safer and more flexible to use HTTP response 307 (Temporary
Redirect) since this has been implemented more consistently and also provides greater flexibility in
changing redirections, since it is not cached by the client or web browser.
© Auto-ID Lab Korea / KAIST
Slide 81
Resolving Protocol
- Simple Resolution
© Auto-ID Lab Korea / KAIST
Slide 82
Resolving Protocol
- Chained Resolution
© Auto-ID Lab Korea / KAIST
Slide 83
Resolving Protocol
- Replacing the domain to call an alternative resolver
‱ To provide additional information from other parties, including information about price
comparison, availability and promotions, as well as comparisons with related products.
‱ Link to independent accreditation agencies who certify claims about the product. (such as
organic status, fair trade status, sustainable sourcing etc.)
© Auto-ID Lab Korea / KAIST
Slide 84
Resolving Protocol
- Retailer operates their own resolver
© Auto-ID Lab Korea / KAIST
Slide 85
Thank you, new version 1.1 published

More Related Content

PDF
Ʞ후대응을 위한 EU ë””ì§€í„žì œí’ˆì—Źê¶Œëȕ ë™í–„êłŒ GS1 ꔭ제표쀀 적용 방안 소개
PDF
ë°ìŽí„°êł”ìœ  농축산식품-GS1적용(êč€ëŒ€ì˜)
PDF
êł”ê°„ì •ëłŽ 씜귌 ë™í–„êłŒ 디지턞튞윈, 메타ëČ„ìŠ€
PDF
[FOSS4G Korea 2021]Workshop-QGIS-TIPS-20211028
PDF
OpenStreetMap Ʞ반의 Mapbox 였픈소슀 맀핑 서ëč„슀
PDF
환êČœì˜í–„í‰ê°€ ì˜ì‚ŹêČ°ì •ì§€ì› ì‹œêł”ê°„ 표출Ʞ술
PDF
QGIS넌 활용한 êł”ê°„ë¶„ì„ ìž…ëŹž ver.1.0
PDF
디지턞 튞윈 플랫폌 êž°ìˆ êłŒ ì‚ŹëĄ€(LXêł”ì‚Ź íŠč강)
Ʞ후대응을 위한 EU ë””ì§€í„žì œí’ˆì—Źê¶Œëȕ ë™í–„êłŒ GS1 ꔭ제표쀀 적용 방안 소개
ë°ìŽí„°êł”ìœ  농축산식품-GS1적용(êč€ëŒ€ì˜)
êł”ê°„ì •ëłŽ 씜귌 ë™í–„êłŒ 디지턞튞윈, 메타ëČ„ìŠ€
[FOSS4G Korea 2021]Workshop-QGIS-TIPS-20211028
OpenStreetMap Ʞ반의 Mapbox 였픈소슀 맀핑 서ëč„슀
환êČœì˜í–„í‰ê°€ ì˜ì‚ŹêČ°ì •ì§€ì› ì‹œêł”ê°„ 표출Ʞ술
QGIS넌 활용한 êł”ê°„ë¶„ì„ ìž…ëŹž ver.1.0
디지턞 튞윈 플랫폌 êž°ìˆ êłŒ ì‚ŹëĄ€(LXêł”ì‚Ź íŠč강)

What's hot (20)

PDF
Human Action Recognition
PDF
êł”ê°„ì •ëłŽ 씜귌 ë™í–„êłŒ 디지턞튞윈, 메타ëČ„ìŠ€
PPTX
Zero shot learning
PDF
였픈소슀 GIS 싀슔 (4)
PDF
êł”ê°„ì •ëłŽ, 디지턞튞윈, ê·žëŠŹêł  슀마튞시티
PDF
GS1 food ecosystem trial in Korea
PPTX
Seminar ppt on google cardboard
PDF
디지턞 튞윈 êž°ìˆ êłŒ 활용 ì‚ŹëĄ€ - êł”ê°„ì •ëłŽë„Œ ì€‘ì‹ŹìœŒëĄœ
PDF
3찚원 위ìč˜ êž°ë°˜ì˜ CAD/BIM/GIS 윔합 활용 ë°©í–„
PPTX
êł”ê°„ì •ëłŽ 슀터디 2ìŁŒì°š
PDF
ì§€ëŠŹì •ëłŽìČŽêł„(GIS) - [2] ìąŒí‘œêł„ 읎핎하Ʞ
PDF
ìąŒì¶©ìš°ëŒ 디지턞튞윈 ê”Źì¶•êž°
PDF
CVML2011: human action recognition (Ivan Laptev)
 
PDF
CAD/BIM/GIS ìœ”ëł”í•© 활용 ë°©í–„êłŒ 디지턞 튞윈
PDF
QuantYOLOModels.pdf
PDF
YOLO V6
PPT
GeoTools와 GeoServer넌 읎용한 KOPSS Open API의 ê”Źí˜„
PDF
I have an idea!
PDF
큎띌우드 컎퓚팅 êž°ëłž ì‚Źí•­ (Fundamentals)
PDF
FOSS4G Firenze 2022 찞가Ʞ
Human Action Recognition
êł”ê°„ì •ëłŽ 씜귌 ë™í–„êłŒ 디지턞튞윈, 메타ëČ„ìŠ€
Zero shot learning
였픈소슀 GIS 싀슔 (4)
êł”ê°„ì •ëłŽ, 디지턞튞윈, ê·žëŠŹêł  슀마튞시티
GS1 food ecosystem trial in Korea
Seminar ppt on google cardboard
디지턞 튞윈 êž°ìˆ êłŒ 활용 ì‚ŹëĄ€ - êł”ê°„ì •ëłŽë„Œ ì€‘ì‹ŹìœŒëĄœ
3찚원 위ìč˜ êž°ë°˜ì˜ CAD/BIM/GIS 윔합 활용 ë°©í–„
êł”ê°„ì •ëłŽ 슀터디 2ìŁŒì°š
ì§€ëŠŹì •ëłŽìČŽêł„(GIS) - [2] ìąŒí‘œêł„ 읎핎하Ʞ
ìąŒì¶©ìš°ëŒ 디지턞튞윈 ê”Źì¶•êž°
CVML2011: human action recognition (Ivan Laptev)
 
CAD/BIM/GIS ìœ”ëł”í•© 활용 ë°©í–„êłŒ 디지턞 튞윈
QuantYOLOModels.pdf
YOLO V6
GeoTools와 GeoServer넌 읎용한 KOPSS Open API의 ê”Źí˜„
I have an idea!
큎띌우드 컎퓚팅 êž°ëłž ì‚Źí•­ (Fundamentals)
FOSS4G Firenze 2022 찞가Ʞ
Ad

Similar to GS1 ONS and Digital Link Tutorial, Auto-ID Labs, KAIST (Apr 28, 2020) (20)

PDF
GS1/Oliot ONS/DS and Next
PDF
Internet of Things Platform for Open Process, Open Data, and Open Service
PDF
GS1 standards and Blockchain Technology for Traceability in Agriculture and S...
PDF
Oliot samsung-daeyoungkim-kaist wide-version-final
PPT
ć…­ćˆćœ©|éŠ™æžŻć…­ćˆćœ©
 
PPT
éŠ™æžŻć…­ćˆćœ©
PPT
ć…­ćˆćœ©|éŠ™æžŻć…­ćˆćœ©
PPT
éŠ™æžŻć…­ćˆćœ©
PPT
éŠ™æžŻć…­ćˆćœ© » SlideShare
PPT
ć…­ćˆćœ©,éŠ™æžŻć…­ćˆćœ© » SlideShare
PDF
Analysis of RD=0 and RD=1 queries seen at Root; JP
 
PDF
TLD Anycast DNS servers to ISPs
 
PPTX
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
PDF
Securing Search Index with Searchable Encryption
PPTX
CPaaS.io Y1 Review Meeting - Use Cases
PPTX
Druid at naver.com - part 1
PDF
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
 
PDF
Fast RTPS
PDF
(Final) Tutorial: Standardization Efforts for Smart Cities - GS1/ISO/IEC Stan...
PDF
GS1 EPCglobal framework and Oliot Project Overview
GS1/Oliot ONS/DS and Next
Internet of Things Platform for Open Process, Open Data, and Open Service
GS1 standards and Blockchain Technology for Traceability in Agriculture and S...
Oliot samsung-daeyoungkim-kaist wide-version-final
ć…­ćˆćœ©|éŠ™æžŻć…­ćˆćœ©
 
éŠ™æžŻć…­ćˆćœ©
ć…­ćˆćœ©|éŠ™æžŻć…­ćˆćœ©
éŠ™æžŻć…­ćˆćœ©
éŠ™æžŻć…­ćˆćœ© » SlideShare
ć…­ćˆćœ©,éŠ™æžŻć…­ćˆćœ© » SlideShare
Analysis of RD=0 and RD=1 queries seen at Root; JP
 
TLD Anycast DNS servers to ISPs
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
Securing Search Index with Searchable Encryption
CPaaS.io Y1 Review Meeting - Use Cases
Druid at naver.com - part 1
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
 
Fast RTPS
(Final) Tutorial: Standardization Efforts for Smart Cities - GS1/ISO/IEC Stan...
GS1 EPCglobal framework and Oliot Project Overview
Ad

More from Daeyoung Kim (20)

PDF
ìŁŒì†Œêž°ë°˜í˜ì‹ ì„±ìž„ 산업 - ìŁŒì†Œê°€ ë°”êż€ 믾래 ì‚ŹíšŒì™€ 산업 - 행정안전부와 ìŁŒì†ŒíŹëŸŒ
PDF
Standards and AI Transformation (SAX) ê”­ì œí‘œì€€êłŒ ìžêł”ì§€ëŠ„ Ʞ반의 ìČ ë„ì‚°ì—… 디지턞 전환
PDF
gs1 standards in building smart cities
PDF
Smartship in GS1's perspective
PDF
GS1 standards in agriculture - Jan. 2017
PDF
GS1 standards - Jan. 2017
PDF
Gs1au newsletter-building-march-2021
PDF
GS1 smart city platforms and case studies
PDF
GS1 Data Revolution Series #3 Healthcare
PDF
GS1 Data Revolution Series 2 - Internet of Trains
PDF
Digital revolution series 1-seafood industry
PDF
GS1 EPCIS and CBV Tutorial, Auto-ID Labs, KAIST (Apr 28, 2020)
PDF
Smart city position paper - GS1 standards perspective
PDF
GS1 Tutorial (Korean) by Daeyoung Kim, Auto-ID Labs, KAIST
PDF
Global Seafood Traceability System
PDF
GS1 Standards in Building Smart Cities
PDF
Soscon2019 oliot-auto-id-labs-kaist
PDF
Lh iot-bigdata-20181023
PDF
GS1 Railway - Internet of Trains
PDF
Tutorial: Standardization Efforts for Smart Cities - GS1/ISO/IEC Standards At...
ìŁŒì†Œêž°ë°˜í˜ì‹ ì„±ìž„ 산업 - ìŁŒì†Œê°€ ë°”êż€ 믾래 ì‚ŹíšŒì™€ 산업 - 행정안전부와 ìŁŒì†ŒíŹëŸŒ
Standards and AI Transformation (SAX) ê”­ì œí‘œì€€êłŒ ìžêł”ì§€ëŠ„ Ʞ반의 ìČ ë„ì‚°ì—… 디지턞 전환
gs1 standards in building smart cities
Smartship in GS1's perspective
GS1 standards in agriculture - Jan. 2017
GS1 standards - Jan. 2017
Gs1au newsletter-building-march-2021
GS1 smart city platforms and case studies
GS1 Data Revolution Series #3 Healthcare
GS1 Data Revolution Series 2 - Internet of Trains
Digital revolution series 1-seafood industry
GS1 EPCIS and CBV Tutorial, Auto-ID Labs, KAIST (Apr 28, 2020)
Smart city position paper - GS1 standards perspective
GS1 Tutorial (Korean) by Daeyoung Kim, Auto-ID Labs, KAIST
Global Seafood Traceability System
GS1 Standards in Building Smart Cities
Soscon2019 oliot-auto-id-labs-kaist
Lh iot-bigdata-20181023
GS1 Railway - Internet of Trains
Tutorial: Standardization Efforts for Smart Cities - GS1/ISO/IEC Standards At...

Recently uploaded (20)

PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
history of c programming in notes for students .pptx
PDF
System and Network Administraation Chapter 3
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Digital Strategies for Manufacturing Companies
PPTX
Transform Your Business with a Software ERP System
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
top salesforce developer skills in 2025.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
ai tools demonstartion for schools and inter college
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Design an Analysis of Algorithms II-SECS-1021-03
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Upgrade and Innovation Strategies for SAP ERP Customers
history of c programming in notes for students .pptx
System and Network Administraation Chapter 3
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Digital Strategies for Manufacturing Companies
Transform Your Business with a Software ERP System
Softaken Excel to vCard Converter Software.pdf
Operating system designcfffgfgggggggvggggggggg
Navsoft: AI-Powered Business Solutions & Custom Software Development
PTS Company Brochure 2025 (1).pdf.......
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
top salesforce developer skills in 2025.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Which alternative to Crystal Reports is best for small or large businesses.pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
ai tools demonstartion for schools and inter college
How Creative Agencies Leverage Project Management Software.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool

GS1 ONS and Digital Link Tutorial, Auto-ID Labs, KAIST (Apr 28, 2020)

  • 1. GS1 Object Name Service Daeyoung Kim Apr. 28, 2020 Professor, School of Computing, KAIST Director, Auto-ID Labs, KAIST ‱ kimd@kaist.ac.kr, http://oliot.org, http://autoidlab.kaist.ac.kr, http://resl.kaist.ac.kr http://autoidlabs.org http://gs1.org
  • 2. © Auto-ID Lab Korea / KAIST Slide 2 ONS Motivation [1/2] By FDA policy, all medical equipment should have UDI from GS1
  • 3. © Auto-ID Lab Korea / KAIST Slide 3 ONS Motivation [2/2] I don’t know what it exactly means.. Also it’s not enough.. When you try to use it, however, I have an UDI reader machine, but..
  • 4. © Auto-ID Lab Korea / KAIST Slide 4 ONS Intro [1/2] Service server Access Object Name Service (ONS) GS1 ID from clients Service List manual html epcis 

  • 5. © Auto-ID Lab Korea / KAIST Slide 5 ONS Intro [2/2] Object Name Service (ONS) Available for all other things which have GS1 ID GS1 ID from clients Service server Access Service List
  • 6. © Auto-ID Lab Korea / KAIST Slide 6 Object Name Service (ONS) SGLN GIAI GSRN manual html epcis 
 Tour bus in Busan(GIAI) Tour bus station at Busan station(SGLN) Tour bus drivers(GSRN) ONS Application Access Service List https://play.google.com/store/apps/details?id=com.AutoIDLabs.KAIST.GS1Beacon&hl=en_US
  • 7. © Auto-ID Lab Korea / KAIST Slide 7 Object Name Service 2.0 Specification  ONS (Object Name Service) uses DNS (Domain Name System)  GS1 takes advantage of existing standards and infrastructure.  ONS use internet DNS to look up GS1 identification key.  GS1 identification keys are converted to domain names.  The results are returned in a valid DNS Resource Record (RR).  Dynamic Delegation Discovery System (DDDS) algorithm  to find trusted metadata and services associated with a given GS1 identification key.
  • 8. © Auto-ID Lab Korea / KAIST Slide 8 Difference between DNS and ONS  Domain Name System (DNS)  DNS translates domain names to IP addresses so browsers can load Internet resources  Object Name Service (ONS)  Finds services related with a GS1 identification key using DNS
  • 9. © Auto-ID Lab Korea / KAIST Slide 9 Domain Name System (DNS) Client’s View  Used to determine the IP address of a fully qualified domain name (FQDN) such as "www.gs1.org"  Minimum information required for DNS Resolver to obtain information about a query: the domain name being queried and the type of resource record (RR) requested.  In the above example, to obtain Mail Exchange information, a Resource Record can be obtained by specifying the domain name (“dns: //corp.example.com”) and the desired type of information (“MX”). Java coding example
  • 10. © Auto-ID Lab Korea / KAIST Slide 10 Domain Name System (DNS) Publisher’s View  Data related to the domain name is included in the resource records (RR)  RR defines some attributes of domain names such as IP addresses, text strings, and mail routes
  • 11. © Auto-ID Lab Korea / KAIST Slide 11 Object Name Service (ONS)  A service that looks up static information (services) for a specified GS1 identification key using the Internet's existing Domain Name System (DNS) protocol. ONS in Oliot (Open Language for Internet of Things) ONS lookup for service information (E.g. product information service)
  • 12. © Auto-ID Lab Korea / KAIST Slide 12 ONS Application ONS Client EPCIS Server ONS Peer Roots (1) (2) (3) (6) (7) Local caching nameserver (5) (8) (4) ONS Structure Federated ONS Infrastructure GS1 ID AUS Application unique string FQDN Fully qualified domain name NAPTR records Name authority pointer The result is returned in the DNS record type NAPTR (Naming Authority PoinTeR) [RFC 3403].
  • 13. © Auto-ID Lab Korea / KAIST Slide 13  ONS does not support serial number level queries, but supports class level queries.  Queries requesting things information of the same type but not identical to each other, that is, instance level queries  Instance level vs. Class level  How to process instance level queries?  Can be obtained by additionally querying the serial number for the application layer service specified by ONS Serial Number level query? Class level(Coca Cola) Instance level (Coca Cola B) Instance level (Coca Cola A) Class level(Pepsi) Instance level (Pepsi B) Instance level (Pepsi A)
  • 14. © Auto-ID Lab Korea / KAIST Slide 14 ‱ Extract the desired GS1 ID key type and GS1 ID key from the GS1 list read from the reader. ‱ (00)306141417782246356(02)50614141322607(37)20 Type: GTIN (02) Key: 50614141322607 ‱ Structure of AUS ‱ Language code | Country code | GS1 ID Type | GS1 ID Key ‱ Optional fields without values ​​are encoded using an empty string and all field delimiters are required ‱ AUS Conversion example ‱ GTIN 0614141665815, English service in Canada AUS: en|ca|gtin|0614141665815 ONS Application GS1 ID AUS Convert GS1 ID to Application Unique String (AUS)
  • 15. © Auto-ID Lab Korea / KAIST Slide 15 ‱ According to RFC 3402, AUS becomes the initial input for DDDS applications ‱ AUS consists of:  Lowercase ISO 639-1 language code for the client querying the database (optional)  Lowercase ISO 3166-1 alpha-2 country code for clients querying the database (optional)  Lowercase GS1 identification key type abbreviation  Full length GS1 identification key itself and serial number  Each field in AUS is separated by a vertical bar ('|', ASCII 124: 10 decimal or 0x7C: 16 decimal) Convert GS1 ID to Application Unique String (AUS)
  • 16. © Auto-ID Lab Korea / KAIST Slide 16 ‱ From AUS to FQDN AUS FQDN ||gtin|00614141322602 0 0614141 32260 2 indicator company prefix itemref check 00614141322602 Strip checksum 0.061414132260 Hold indicator 0.062231414160 Reverse all remaining characters 0.0.6.2.2.3.1.4.1.4.1.6.0. Append a ‘.’ 0.0.6.2.2.3.1.4.1.4.1.6.0.gtin Append ID key type 0.0.6.2.2.3.1.4.1.4.1.6.0.gtin.gs1.id 0.0.6.2.2.3.1.4.1.4.1.6.0.gtin.gs1.id.onsepc.com Append ‘.gs1.id.’ Append peer root ONS Application ONS Client AUS FQDN Convert AUS to Fully Qualified Domain Name (FQDN)
  • 17. © Auto-ID Lab Korea / KAIST Slide 17 ‱ ONS query ‱ Fully Qualified Domain Name (FQDN) Query for ONS Query Response ‱ ONS query response ‱ A series of Naming Authority PoinTeR (NAPTR) records ONS Formal Specification - ONS query response ONS Query ONS Query response ONS Client Local caching nameserver ONS Peer Roots 0.0.6.2.2.3.1.4.1.4.1.6.0.gtin.gs1.id.onsepc.com
  • 18. © Auto-ID Lab Korea / KAIST Slide 18 Why Federated Model? ‱ DNS-based ONS lookup functionality is implemented by distributed servers with a single (replicated) Root ONS currently on onsepc.com ‱ However, ONS’s governance model and architecture raises concern within some industrial and political communities. ‱ One Root ONS is more likely to encounter security issues ‱ Fatal if problems occur in weapons, nuclear waste or sensitive application product recalls, anti- counterfeiting applications, or logistics applications that may mean food or drug safety controls. ‱ Also, because laws vary from country to country, there is a lot of trouble for one Root ONS to follow the laws of various countries. ‱ Therefore, each country has a peer root ONS and exchanges information between it.
  • 19. © Auto-ID Lab Korea / KAIST Slide 19 ‱ Nameserver (NS) delegation ‱ When the target Name Server is currently under ONS Peer Root ‱ Delegation name (DNAME) delegation ‱ When the target Name Server is under another ONS Peer Root ‱ Using the GS1 prefix (last 3 digits), delegate to the ONS Peer Root of target country Federated ONS - Delegation GS1 Prefix Domain Country 1.6.0 onsepc.com America 0.8.8 onsepc.kr Korea 0.0.3 onsepc.fr France Korean ONS Peer Root American ONS Peer Root French ONS Peer Root ONS Server In Korea ONS Server In America ONS Server In France NS Delegation DNAME Delegation ~.1.4.1.4.X.X.X.gtin.gs1.id.onsepc.XXX
  • 20. © Auto-ID Lab Korea / KAIST Slide 20 ONS peer Roots Local system ONS Application ONS Client Recursive Name Server EPCIS Server DNS Query DNS Response Korean Root onsepc.kr Local ONS American Root onsepc.com Local ONS Local ONS French Root onsepc.fr Federated ONS - NS Delegation 1 2 3 4 5 6 GS1 Prefix Domain Country 1.6.0 onsepc.com America 0.8.8 onsepc.kr Korea 0.0.3 onsepc.fr France ~.0.8.8.onsepc.kr. Resolution Success
  • 21. © Auto-ID Lab Korea / KAIST Slide 21 ONS peer Roots Local system ONS Application ONS Client Recursive Name Server EPCIS Server DNS Query DNS Response Korean Root onsepc.kr Local ONS American Root onsepc.com Local ONS Local ONS French Root onsepc.fr Federated ONS - DNAME Delegation 1 2 3 45 6 7 GS1 Prefix Domain Country 1.6.0 onsepc.com America 0.8.8 onsepc.kr Korea 0.0.3 onsepc.fr France ~.1.6.0.onsepc.kr. Resolution Success
  • 22. © Auto-ID Lab Korea / KAIST Slide 22 ONS peer Roots Local system ONS Application ONS Client Recursive Name Server EPCIS Server DNS Query DNS Response Korean Root onsepc.kr Local ONS American Root onsepc.com Local ONS Local ONS French Root onsepc.fr Local ONS Chinese ONS Root ons.epcglobal.cn Federated ONS - GS1 Prefix Updated Case : Not Synchronized 1 2 3 GS1 Prefix Domain Country 1.6.0 onsepc.com America 0.8.8 onsepc.kr Korea 0.0.3 onsepc.fr France ~.0.9.6.onsepc.kr. Resolution Failure
  • 23. © Auto-ID Lab Korea / KAIST Slide 23 Peer Delegation file ‱ Peer Delegation File ‱ File that exchanges information needed for DNAME delegation between ONS Peer Roots ‱ Notify other ONS Peer Roots via this file when there is a change in information on any ONS Peer Root ‱ All ONS Peer Roots can share a table that allows GS1 Prefix and Domain to match each other. ‱ Example ‱ If Chinese ONS Peer Root is added, Peer Delegation File is notified to other ONS Peer Root so that all ONS Peer Root can share the same table as below. GS1 Prefix Domain Country 1.6.0 onsepc.com America 0.8.8 onsepc.kr Korea 0.0.3 onsepc.fr France 0.9.6 ons.epcglobal.cn China
  • 24. © Auto-ID Lab Korea / KAIST Slide 24 Peer Delegation file example (1/2)
  • 25. © Auto-ID Lab Korea / KAIST Slide 25 Peer Delegation file example (2/2)
  • 26. © Auto-ID Lab Korea / KAIST Slide 26 ONS peer Roots Local system ONS Application ONS Client Recursive Name Server EPCIS Server DNS Query DNS Response Korean Root onsepc.kr Local ONS American Root onsepc.com Local ONS Local ONS French Root onsepc.fr Local ONS Chinese ONS Root ons.epcglobal.cn Federated ONS - GS1 Prefix Updated case: Synchronized 1 2 3 5 6 7 4 GS1 Prefix Domain Country 1.6.0 onsepc.com America 0.8.8 onsepc.kr Korea 0.0.3 onsepc.fr France 0.9.6 ons.epcglobal.cn China ~.0.9.6.onsepc.kr. Resolution Success
  • 27. © Auto-ID Lab Korea / KAIST Slide 27 ONS DDDS Database [1/7] ‱ NAPTR RR ‱ ONS contains pointers to trusted information about GS1 identification keys in the DNS database. ‱ DNS Type Code 35 (NAPTR) Record [RFC 3403] Format of NAPTR RR
  • 28. © Auto-ID Lab Korea / KAIST Slide 28 ONS DDDS Database [2/7] ‱ NAPTR RR field definitions ‱ Pref –Nonnegative integer ‱ When a service in one record has the same service field, this indicates the priority with services in the other record ‱ For example, to specify a secondary backup server so that it is used only when the primary server fails. ‱ Flags ‱ Set to "u" to indicate that the Regexp field contains a URI, or "t" to indicate that the Regexp field contains plain text. ‱ Services ‱ URI to access service type ‱ Regexp ‱ Specify regular expressions and service addresses to be applied for AUS language and country codes ‱ Replacement ‱ Not used, simply appoint “.”
  • 29. © Auto-ID Lab Korea / KAIST Slide 29 ONS DDDS Database [3/7] ‱ ServiceType ‱ ONS supports a dynamic service definition model that allows you to define GS1 Global, the GS1 Member Organization, industry groups, members, service providers, or any component that actually wants to publish services based on GS1 identification. ‱ Service definitions can be scoped at the global and local level. ‱ The service type URL represents an XML document describing the service, which may not be publicly accessible. ‱ You may need credentials to access the document (e.g. basic HTTP authentication, FTP username and password).
  • 30. © Auto-ID Lab Korea / KAIST Slide 30 ONS DDDS Database [4/7] ‱ ServiceType.xml Schema
  • 31. © Auto-ID Lab Korea / KAIST Slide 31 ONS DDDS Database [5/7] ‱ ServiceType.xml
  • 32. © Auto-ID Lab Korea / KAIST Slide 32 ONS DDDS Database [6/7] ‱ Services / Service Type Class Field Description ServiceTypeIdentifier Service type identifier, a URL where the XML representation of this structure can be found. Abstract True if this is an abstract service type; the abstract service type is used as the base type for other service types, not its own concrete implementation. Extends Service type identifier extended by this service type TimeToLive TimeToLive in minutes, cached on client for published time. WSDL Location (address) of web service description language file HomePage A page that provides a homepage address, typically a basic overview of a service type, and can contain links to associated service types. Documentation Multilingual documentation of the service type. Obsoletes Service identifier list for service type version management, list of previous version service type of current version ObsoletedBy Service identifier list for service type version management, list of later version service type of current version
  • 33. © Auto-ID Lab Korea / KAIST Slide 33 ONS DDDS Database [7/7] Service Type XML example
  • 34. © Auto-ID Lab Korea / KAIST Slide 34 Example - ONS Query Conversion and Response (1) ONS Peer Roots Product Mobile Shop Infomation (2) (3) (4) (5) (6) Service Type Server Service provide server ONS Infrastructure ONS Query flow Broadcast GTIN of Product Product Advertising Beacon Provider Server
  • 35. © Auto-ID Lab Korea / KAIST Slide 35 Example - Response of NAPTR
  • 36. © Auto-ID Lab Korea / KAIST Slide 36 Example - Description of NAPTR Response Each column of NAPTR has the following meaning 1. Represents a GS1 Company Prefix in an inquired GS1 code. -! ^. * $! 06,7! Regexp means GS1 company prefix starting with “06” is 7 digits long. 2. Represents an EPCIS address containing information from the GS1 code. - Get the URL of the EPCIS server. 3. Represents an Internet page with information about mobile commerce data providers. - Regexp gets the URL of the mobile commerce server for French and Canadian data. 4. 5. 6. 8. Represents an Internet page with information about mobile commerce data providers. - Same service type as before, but provides appropriate internet pages based on AUS language and country code. 7. Represents an Internet page with information about mobile commerce data providers. - If the first six URLs do not respond, the URL for this record is used.
  • 37. © Auto-ID Lab Korea / KAIST Slide 37 Example - Search for GS1 Company Prefix (1) ONS Peer Roots Company Prefix (2) (3) (4) (5) (6) Service Type Server Service provide server ONS Infrastructure GTIN 50614141322607 Product Advertising Beacon Provider Server 5.0.6.2.2.3.1.4.1.4.1.6.0.gtin. gs1.id.onsepc.com Company Prefix 0614141
  • 38. © Auto-ID Lab Korea / KAIST Slide 38 Example - Search for EPCIS Server (1) ONS Peer Roots EPCIS Information (2) (3) (4) (5) (6) Service Type Server Service provide server ONS Infrastructure GTIN 50614141322607 Product Advertising Beacon Provider Server 5.0.6.2.2.3.1.4.1.4.1.6.0.gtin. gs1.id.onsepc.com http://epcis.example .com/ EPCIS
  • 39. © Auto-ID Lab Korea / KAIST Slide 39 Example - Search for a mobile commerce service (1) ONS Peer Roots Product Mobile Shop Information (2) (3) (4) (5) (6) Service Type Server Service provide server ONS Infrastructure GTIN 50614141322607 Product Advertising Beacon Provider Server 5.0.6.2.2.3.1.4.1.4.1.6.0.gtin. gs1.id.onsepc.com http://es- us1.example.com
  • 40. © Auto-ID Lab Korea / KAIST Slide 40 Web Based ONS Record Management and Access Delegation ‱ Oliot-ONS ‱ Web based ONS records management ‱ Secure access delegation to others ‱ ONS Managing API ‱ Add/edit/delete records ‱ Manage access control ‱ Authentication ‱ PostgreSQL based oauth 2.0 server ‱ Store users’ authentication information (e.g. ID, PW, token) ‱ Access Control ‱ Neo4j based access control ‱ Dynamic modification and easy visualization of access relationships ‱ ONS Server ‱ PowerDNS : process ONS query ‱ MySql : back-end DB storing ONS records Web Enabled Devices ONS Managing API Access ControlWeb Server ONS Server Back-end DB PowerDNS ONS Server Back-end DB PowerDNS Manage ONS Infrastructure Authentication
  • 41. © Auto-ID Lab Korea / KAIST Slide 41 Oliot ONS System Overview ONS ServerONS Management Web Server ons_wep _app ons_web _api ons_db_ api PostgreSQL Neo4j MySQL PowerDNS ONS Manager Web GUI based Records management Web API based Records management User ONS query/response
  • 42. © Auto-ID Lab Korea / KAIST Slide 42 ONS Tutorial - Oliot-ONS source code ‱ How to get Source code? ‱ Using GIT ‱ $ git clone https://github.com/gs1oliot/oliot-ons-1.1.git ‱ Components of Oliot-ONS source code ‱ oliot-ons-web-app ‱ User friendly GUI based web application ‱ oliot-ons-web-api ‱ Restful web API managing ONS records and access control ‱ oliot-ons-db-api ‱ Restful web API accessing back-end DB of ONS server ‱ oliot-ons-docker-config ‱ Set of shell scripts for building and running pdns & DB containers on Docker engine
  • 43. © Auto-ID Lab Korea / KAIST Slide 43 ONS Tutorial - Oliot-ONS PDNS and DB Set Up ‱ Prerequisite ‱ Docker ‱ Manual for installation of Docker on Ubuntu ‱ https://docs.docker.com/engine/installation/linux/ubuntulinux/ ‱ oliot-ons-docker-config ‱ mysql_docker, postgre_docker, neo4j_docker, pdns_docker ‱ Build docker image (mysql_docker, postgre_docker only) ‱ $ sh docker_build_image.sh ‱ Modify docker_run_container.sh for your purpose (you need to change environment parameters for password at least) ‱ $ vi docker_run_container.sh ‱ Run docker image ‱ $ sh docker_run_container.sh
  • 44. © Auto-ID Lab Korea / KAIST Slide 44 ONS Tutorial - Oliot-ONS Web Services Set Up ‱ oliot-ons-web-api, oliot-ons-db-api, oliot-ons-web-app ‱ Build docker image ‱ $ sh docker_build_image.sh ‱ Make config dir. & Copy example_conf.json to ./config/conf.json ‱ $ cp example_conf.json ./config/conf.json ‱ Modify ./config/conf.json for your purpose ‱ $ vi ./config/conf.json ‱ Run docker container (you may need to change path for ./config folder if you do not clone oliot-ons-1.1 in home folder) ‱ $ sh docker_run_container.sh ‱ Bug exists for oliot-ons-web-api. You need to retry this several times until container is correctly ran. ‱ Reference ‱ Docker information: https://docs.docker.com/engine/reference/commandline/cli/ ‱ Pdns information: https://doc.powerdns.com/3/
  • 45. © Auto-ID Lab Korea / KAIST Slide 45 Example: ONS Record Management - Main page ‱ Open web app in the browser ‱ http://localhost:4000 ‱ Since you do not have ID yet, click ‘sign up’
  • 46. © Auto-ID Lab Korea / KAIST Slide 46 Example: ONS Record Management – Sign up ‱ Sign up page opens ‱ http://localhost:4000/signup ‱ Select user type ‱ Choose company now ‱ Type your own ID and password and click ‘sign up’ button ‱ If sign up is correctly finished, automatically back to login page ‱ Otherwise, stay in this page with error ‱ Tip: your authentication (PostgreSQL) and access control (Neo4j) database may have problem
  • 47. © Auto-ID Lab Korea / KAIST Slide 47 Example: ONS Record Management - Log in ‱ If login page is showed up normally ‱ Type you ID and password ‱ You would get temporally valid token from authentication server ‱ But, after token is expired, you need to re-log in to get new token
  • 48. © Auto-ID Lab Korea / KAIST Slide 48 Example: ONS Record Management - ONS server list ‱ If ID and password are correct, browser shows ONS server list you manage ‱ You can add, edit, and delete your ONS server
  • 49. © Auto-ID Lab Korea / KAIST Slide 49 Example: ONS Record Management - Add ONS server ‱ If ‘add new server’ is selected, ‘addserver’ page opens ‱ http://localhost:4000/addserver ‱ Type server information ‱ Server Address: server address where oliot-ons-db-api is installed ‱ Do not designate localhost or 127.0.0.1, only public address (ex.www.xxx.yyy.zzz) is possible ‱ Server Port: server port (default: 4002) ‱ Database Username: ID for mysql (default: poweruser) ‱ Database Password: PW for mysql
  • 50. © Auto-ID Lab Korea / KAIST Slide 50 Example: ONS Record Management - New ONS server list after adding server ‱ If adding new ONS server is correctly finished, new ONS server list is shown ‱ You can see new ONS server is correctly added (143.248.56.xxx:4002) ‱ If click ‘delete’ button, clicked ONS server is removed from list New ONS Server
  • 51. © Auto-ID Lab Korea / KAIST Slide 51 Example: ONS Record Management - Edit ONS server ‱ If click ‘edit’ button on ONS server list, edit server page opens and domain list is showed up ‱ http://locahost:4000/server/143.248.56.xxx:4002 ‱ You can also add, edit, and delete your domains for specific ONS server
  • 52. © Auto-ID Lab Korea / KAIST Slide 52 Example: ONS Record Management - Add domain ‱ If ‘add new domain’ is selected, ‘addDomain’ page opens ‱ http://localhost:4000/server/143.248.56.164:4002/addDomain ‱ Type domain name you want add ‱ Domain name should follow DNS syntax (dotted string) ‱ ex) 1.8.0.0.0.0.1.2.3.4.5.8.8.gtin.gs1.id.onsepc.kr
  • 53. © Auto-ID Lab Korea / KAIST Slide 53 Example: ONS Record Management - New domain list after adding new domain ‱ If adding new domain is correctly finished, new domain list is shown ‱ You can see new domain is correctly added (1.8.0.0.0.0.1.2.3.4.5.8.8.gtin.gs1.id.onsepc.kr) ‱ If click ‘delete’ button, clicked ONS domain is removed from list New domain
  • 54. © Auto-ID Lab Korea / KAIST Slide 54 Example: ONS Record Management - Edit domain ‱ If click ‘edit’ button on the domain list, edit domain page opens ‱ http://locahost:4000/server/143.248.56.xxx:4002/domain/1.8.0.0.0.0.1.2.3.4.5.8.8.gtin.gs1.id.onsepc.kr ‱ You can edit this zone by adding or deleting records ‱ Click ‘save’ button after fill in the blanks, then new record is added ‱ The record should follow DNS syntax ‱ Click ‘delete’ button located on the right side of each record, then the record is removed 0 0 "U" "http://www.gs1.org/ons/epcis" "!^.*$!http://stis.iotlab.eu:8 080/epcis-repository-0.6.4/query!" . New record
  • 55. © Auto-ID Lab Korea / KAIST Slide 55 Example: ONS query test ‱ nslookup ‱ $ nslookup -type=NAPTR <gs1code> localhost(or public IP of localhost) ‱ If you correctly set up all, you can see NAPTR typed ONS records in response to the above command including the gs1code (<gs1code>) ‱ Screenshot
  • 56. GS1 Digital Link Daeyoung Kim Professor, School of Computing, KAIST Director, Auto-ID Labs, KAIST ‱ kimd@kaist.ac.kr, http://oliot.org, http://autoidlab.kaist.ac.kr, http://resl.kaist.ac.kr http://autoidlabs.org http://gs1.org https://www.gs1.org/standards/gs1-digital-link
  • 57. © Auto-ID Lab Korea / KAIST Slide 57 UPC/EAN
  • 58. © Auto-ID Lab Korea / KAIST Slide 58 GS1 Data Matrix
  • 59. © Auto-ID Lab Korea / KAIST Slide 59 QR
  • 60. © Auto-ID Lab Korea / KAIST Slide 60 QR with GS1 Digital Link URI
  • 61. © Auto-ID Lab Korea / KAIST Slide 61 QR with GS1 Digital Link URI
  • 62. © Auto-ID Lab Korea / KAIST Slide 62 QR with GS1 Digital Link URI
  • 63. © Auto-ID Lab Korea / KAIST Slide 63 QR with GS1 Digital Link URI
  • 64. © Auto-ID Lab Korea / KAIST Slide 64 GS1 Digital Link ‱Digital Link syntax B2B video: https://adobe.ly/31urWRu
  • 65. © Auto-ID Lab Korea / KAIST Slide 65 ‱ GS1 Digital Link allows multiple services to be connected via a single data carrier by creating a standard for URI information that includes URLs that can be inserted into existing data carriers, such as 1D and 2 D bar codes, QR codes, datamatrix, RFID, NFC, etc ‱ GS1 Digital Link is a standard for combining service links (URIs) related to GS1 code into existing data carriers. Just as the URL address points to a specific website, GS1 Digital Link can connect all objects in the world to associated services via GS1 code. GS1 Digital Link
  • 66. © Auto-ID Lab Korea / KAIST Slide 66 Why GS1 Digital Link? ‱ Multi-functional data carriers ‱ It is increasingly common to see multiple data carriers on a single item. This is because each one is placed there for a single purpose such as supply chain operations, point of sale, extended consumer information and promotional interaction. ‱ GS1 DL enables a single code to perform multiple functions, both online and offline, reducing the need for multiple codes on a pack and has the future potential to realize a single data carrier for all functions.
  • 67. © Auto-ID Lab Korea / KAIST Slide 67 Why GS1 Digital Link? ‱ Simpler data sharing ‱ Barcodes and other data carriers have always been a reference to data about the identified object stored in a computer. ‱ GS1 DL connects identified items to limitless sources of data, whether stored locally or remotely, whoever they are curated by, enabling many new possibilities in addition to the data carrier's current role in supply chain and POS tasks. ‱ GS1 DL syntax effectively provides a common API for multiple points on the Web making it easy to query different sources for information about the same item.
  • 68. © Auto-ID Lab Korea / KAIST Slide 68 Why GS1 Digital Link? ‱ Granular identification ‱ There is a growing demand for more data to be encoded in the data carrier such as the batch/lot, expiry date, measured weight and, in some cases, individual item level identification through serialization. ‱ GS1 DL is applicable at all levels of identification including batch/lot and serialised level. ‱ GS1 DL can be used with any data carrier, such as URL, such as QR, NFC or non-GS1 Data Matrix,
  • 69. © Auto-ID Lab Korea / KAIST Slide 69 Why GS1 Digital Link? ‱ Reduced latency ‱ When data is copied and aggregated, there is almost always a delay between the facts on the ground changing and copies of the data being updated. This inherent latency can mean that important updates to the data on which a business depends are not reflected with due speed. ‱ Because GS1 DL avoids the need for data aggregation and simply points to the original source data, latency is eliminated.
  • 70. © Auto-ID Lab Korea / KAIST Slide 70 What is Web URI? ‱ Uniform Resource Identifiers (URIs) consist of URNs and URLs, URLs (Uniform Resource Locators) refer to addresses to tell you where resources are on the network, and URN (Uniform Resource Name) is used to refer to the only name worldwide. ‱ Web URI is a intersection of URN and URLs, which means accessing the data (URL) of a Web service using the name of an object (URN).
  • 71. © Auto-ID Lab Korea / KAIST Slide 71 Internal structure of a Web URI ‱ The Web URI consists of Scheme, Hostname, Path Information, Query String and Fragment ID. ‱ The service provider can access multiple services using a single URI by inserting a URI up to Path Information with GS1 code information in the QR code and adding the service user's desired service to the URI.
  • 72. © Auto-ID Lab Korea / KAIST Slide 72 Explicit links to related URIs, ideally expressed with semantic annotation, using Linked Data properties https://lov.linkeddata.es/dataset/lov/vocabs/dcterms https://en.wikipedia.org/wiki/Dublin_Core
  • 73. © Auto-ID Lab Korea / KAIST Slide 73 Explicit links to related URIs, ideally expressed with semantic annotation, using Linked Data properties ‱ GS1 Web URI provides a new syntax ‱ for expressing GS1 Identifier Keys, Key qualifiers and data attributes in a format that can be used on the Web in an intuitive manner to enable consumers and others to directly access relevant information and services about products, assets, locations, etc.
  • 74. © Auto-ID Lab Korea / KAIST Slide 74 Use of barcodes containing GS1 Web URI and GS1 barcodes ‱ One barcode instead of two, therefore increasing supply chain scanning performance and making consumer experiences easier and more beneficial than today.
  • 75. © Auto-ID Lab Korea / KAIST Slide 75 Examples of GS1 Web URIs - GTIN ‱ (01)00614141123452 - GS1 Element String ‱ https://id.gs1.org/gtin/614141123452 ‱ https://id.gs1.org/01/614141123452 ‱ https://brand.example.com/gtin/614141123452 ‱ https://brand.example.com/some-extra/pathinfo/gtin/614141123452 ‱ https://retailer.example.com/some-extra/pathinfo/gtin/614141123452
  • 76. © Auto-ID Lab Korea / KAIST Slide 76 Examples of GS1 Web URIs - GTIN + Batch/Lot + Serial Number + Expiry Date ‱ (01)00614141123452(17)180426(10)ABC1(21)12345 - GS1 Element String ‱ https://id.gs1.org/gtin/614141123452/lot/ABC1/ser/12345?exp=180426 ‱ https://id.gs1.org/01/614141123452/10/ABC1/21/12345?17=180426 ‱ https://example.com/gtin/614141123452/lot/ABC1/ser/12345?exp=180426 ‱ https://example.com/01/614141123452/10/ABC1/21/12345?17=180426
  • 77. © Auto-ID Lab Korea / KAIST Slide 77 Examples of GS1 Web URIs - GTIN + Typed Link ‱ Redirect directly to the instruction manual for the product ‱ https://id.gs1.org/gtin/614141123452?linkType=gs1_instructionsForUse ‱ https://id.gs1.org/01/614141123452?linkType =gs1_instructionsForUse ‱ https://example.com/gtin/614141123452?linkType =gs1_instructionsForUse ‱ https://example.com/01/614141123452&linkType =gs1_instructionsForUse ‱ Note that at this stage, “linkType” is only an example of a key. Its values have not yet been standardized by GS1
  • 78. © Auto-ID Lab Korea / KAIST Slide 78 Examples of GS1 Web URIs - SSCC with specified Content, Count and Batch/Lot ‱ GS1 Web URIs for SSCC 106141412345678908 containing a count [ AI (37) ] of 25 instances of Content [ AI (02) ] 00614141123452 having Batch/Lot identifier [ AI (10) ] 'ABC123' ‱ https://id.gs1.org/sscc/106141412345678908?02=00614141123452&37=25&10=ABC123 ‱ https://id.gs1.org/00/106141412345678908?02=00614141123452&37=25&10=ABC123
  • 79. © Auto-ID Lab Korea / KAIST Slide 79 Examples of GS1 Web URIs - Physical location represented by a GLN or GLN + GLN Extension ‱ (414)0614141123452(254)32a%2Fb - GS1 Element String ‱ https://id.gs1.org/gln/0614141123452 ‱ https://id.gs1.org/414/0614141123452 ‱ https://id.gs1.org/gln/0614141123452/glnx/32a%2Fb ‱ https://id.gs1.org/414/0614141123452/254/32a%2Fb
  • 80. © Auto-ID Lab Korea / KAIST Slide 80 Resolving Protocol ‱ For redirection, use of HTTP response 302 (Found) is not recommended because of a number of inconsistent implementations in clients. It is safer and more flexible to use HTTP response 307 (Temporary Redirect) since this has been implemented more consistently and also provides greater flexibility in changing redirections, since it is not cached by the client or web browser.
  • 81. © Auto-ID Lab Korea / KAIST Slide 81 Resolving Protocol - Simple Resolution
  • 82. © Auto-ID Lab Korea / KAIST Slide 82 Resolving Protocol - Chained Resolution
  • 83. © Auto-ID Lab Korea / KAIST Slide 83 Resolving Protocol - Replacing the domain to call an alternative resolver ‱ To provide additional information from other parties, including information about price comparison, availability and promotions, as well as comparisons with related products. ‱ Link to independent accreditation agencies who certify claims about the product. (such as organic status, fair trade status, sustainable sourcing etc.)
  • 84. © Auto-ID Lab Korea / KAIST Slide 84 Resolving Protocol - Retailer operates their own resolver
  • 85. © Auto-ID Lab Korea / KAIST Slide 85 Thank you, new version 1.1 published