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
