The intention of PIID is to facilitate the detection of Devices that support both OCF and one or more non-OCF protocols. For example, a consumer could purchase an OCF Device that implements Printer functionality. If the same device/app implements Printer functionality using the AllJoyn protocol too, that device/app can provide a single UUID (PIID) value during device discovery using both OCF and AllJoyn. That allows a UI app performing discovery using both protocols to detect the common UUID, and to show a single representation of the Printer to the user. It would be confusing to show them two Printers in the UI, one Printer for OCF and a second one for AllJoyn. Nathan, I think your statement “PIID is the Protocol-agnostic ID that can be used by a Client to correlate multiple Platforms (OCF and non-OCF)” would be more clear if you used “correlate multiple Protocols”, instead of “correlate multiple Platforms”. Example of non-OCF Protocols are AllJoyn and UPnP. OCF uses the term Platform for something other than Protocol.
George, https://openconnectivity.org/specs/OCF_Core_Specification_v1.3.1.pdf specifies PIID as a UUID value. That type is working well for the discovery protocols we looked at. If other protocols need other types of PIIDs, a separate OCF property would have to be added to the spec, or an OCF UUID/PIID could be generated in a standard way based on the other protocol’s ID, etc. Dan From: Heldt-Sheller, Nathan <nathan.heldt-shel...@intel.com> Sent: Monday, April 2, 2018 11:03 AM To: Nash, George <george.n...@intel.com>; Gregg Reynolds <d...@mobileink.com> Cc: iotivity-dev <iotivity-dev@lists.iotivity.org>; Daniel Mihai (WINDOWS) <daniel.mi...@microsoft.com> Subject: RE: [dev] difference between "Platform ID" and "PIID" ? Hi George, I think UUID was chosen as a best-effort to match other standards, but you’re right: we can’t really specify it except as it appears in OCF Platforms. Someone more familiar with the feature may have the history behind the decision… Dan Mihai? Thanks, Nathan From: Nash, George Sent: Monday, April 2, 2018 11:00 AM To: Heldt-Sheller, Nathan <nathan.heldt-shel...@intel.com<mailto:nathan.heldt-shel...@intel.com>>; Gregg Reynolds <d...@mobileink.com<mailto:d...@mobileink.com>> Cc: iotivity-dev <iotivity-dev@lists.iotivity.org<mailto:iotivity-dev@lists.iotivity.org>> Subject: RE: [dev] difference between "Platform ID" and "PIID" ? Nathan, That helps. I am a little confused though. If the PIID may be coming from a non-OCF source can we specify that the PIID is a UUID? UUIDs are by far the industry standard and the most common but they are not the only type of unique ID system used. Just wondering since all the documentation I saw seemed to assume UUIDs for PIID. Couldn’t the id be something other than a UUID? George From: Heldt-Sheller, Nathan Sent: Monday, April 2, 2018 9:46 AM To: Nash, George <george.n...@intel.com<mailto:george.n...@intel.com>>; Gregg Reynolds <d...@mobileink.com<mailto:d...@mobileink.com>> Cc: iotivity-dev <iotivity-dev@lists.iotivity.org<mailto:iotivity-dev@lists.iotivity.org>> Subject: RE: [dev] difference between "Platform ID" and "PIID" ? Hi Gregg, George, I don’t know what you’ve discussed already so hopefully I’m not just adding to the confusion. And I’m certainly not the official answer on these identifiers (neither is in the Security Specification). That said, my understanding is this: Platform ID is the OCF-specific ID that is unique to the Platform. So, multiple OCF Devices on a single OCF Platform will have the same Platform ID. PIID is the Protocol-agnostic ID that can be used by a Client to correlate multiple Platforms (OCF and non-OCF). So, multiple Platforms – one appearing as OCF and one appearing as AllSeen, for example – can be understood by a cross-protocol Client to be the same Platform. This helps the Client (for example) display just one set of Devices instead of both to the User. Thanks, Nathan From: iotivity-dev-boun...@lists.iotivity.org<mailto:iotivity-dev-boun...@lists.iotivity.org> [mailto:iotivity-dev-boun...@lists.iotivity.org] On Behalf Of Nash, George Sent: Friday, March 23, 2018 4:35 PM To: Gregg Reynolds <d...@mobileink.com<mailto:d...@mobileink.com>> Cc: iotivity-dev <iotivity-dev@lists.iotivity.org<mailto:iotivity-dev@lists.iotivity.org>> Subject: Re: [dev] difference between "Platform ID" and "PIID" ? No not at all. I was just letting you know that I don’t really have much more I can do to help reduce your confusion. You are also hitting the areas that I am confused about as well. George From: Gregg Reynolds [mailto:d...@mobileink.com] Sent: Friday, March 23, 2018 4:32 PM To: Nash, George <george.n...@intel.com<mailto:george.n...@intel.com>> Cc: Joo-Chul Kevin Lee <cms.r...@gmail.com<mailto:cms.r...@gmail.com>>; iotivity-dev <iotivity-dev@lists.iotivity.org<mailto:iotivity-dev@lists.iotivity.org>> Subject: Re: [dev] difference between "Platform ID" and "PIID" ? On Fri, Mar 23, 2018, 6:23 PM Nash, George <george.n...@intel.com<mailto:george.n...@intel.com>> wrote: I was attempting to do my best to describe the difference based on the documentation. There are definitely some holes in my knowledge. I was hoping that someone else would add onto my description and add clarification since I was really limited by what was provided from the documentation. Hope you did not take my response as a bitch about you - not at all! Just trying to understand. G
_______________________________________________ iotivity-dev mailing list iotivity-dev@lists.iotivity.org https://lists.iotivity.org/mailman/listinfo/iotivity-dev