This is my attempt to describe the difference between piid and pi. (UUID is 
defined by RFC-4122)

piid (Protocol Independent ID) - is intended as an identifier that is 
independent of the piid is required to be a UUID.  It is intended to detect if 
multiple instances of the same device has been discovered. One use case you 
have device `A` discovered by two different bridges. So your client it told by 
two different bridges that each bridge has a device. The client can look at the 
`piid` for the device from each bridge and it can conclude that both are the 
same device because they have the same `piid` even though the client is getting 
reports of the device twice over two different connections. The `piid` could be 
used to tell if you have discovered the same device over different protocols. 
For example TCP and Bluetooth. 

pi (Platfrom ID) is used to identify the platform the device is running on. Say 
you have a car with a resources that control the radio and resources that 
control the AC.  The radio and the AC may each have their own device id but 
they could share the platform ID because the car is considered the platform. 
Platform id is required to be a UUID 

di (device id) this id is required to be a uuid as well. It is responsible for 
identifying the device. The security doxm.deviceuuid and di should be the same. 
In the example above the radio and AC may have different device ids. This 
depends a little on if the manufacture considers the radio and ac as different 
devices or the same device. There are no guidelines that I know of that lay out 
the difference between devices and platform.

Depending on your requirement you can use any of the 3 ids to identify your 
device.  Before ownership transfer process is completed the security code in 
iotivity may server you with a dummy piid, pi, or di value to protect privacy 
since these values can be used for tracking a device. (see section 13.12 of the 
OCF Security Specification v1.3.0) 

I may be wrong but I don't think there is anything in the spec preventing using 
the same UUID for all three values. Using the same UUID could cause you 
problems later in the project life so probably best to use a different UUID for 
each value.

I am trying to help but there may be others that understand the difference 
better than me.

George Nash

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Joo-Chul Kevin Lee
Sent: Thursday, March 15, 2018 1:54 AM
To: [email protected]
Subject: [dev] difference between "Platform ID" and "PIID" ?

Hello

I am always confused about difference between role of "platform ID"
and role of "PIID".
Can anybody explain difference between purpose of "platform ID" and "PIID" 
clearly?

More precisely, Can I use "platform ID" instead of "piid" ?

Thanks

- Kevin

-- 
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Joo-Chul Kevin Lee, ETRI
161 Gajeong-dong, Yuseong-gu, daejon, 305-700, KOREA
E-mail: [email protected]/[email protected] Tel: +82-42-860-1021
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
_______________________________________________
iotivity-dev mailing list
[email protected]
https://lists.iotivity.org/mailman/listinfo/iotivity-dev
_______________________________________________
iotivity-dev mailing list
[email protected]
https://lists.iotivity.org/mailman/listinfo/iotivity-dev

Reply via email to