Issue 12509: The specification does not state how to generate unique GUIDs (dds-interop-rtf) Source: PrismTech (Mr. Niels Kortstee, niels.kortstee@prismtech.com Niels.Kortstee@prismtech.com) Nature: Uncategorized Issue Severity: Summary: In RTPS each entity has a so-called GUID_t. It consists of a 12 Byte GuidPrefix_and a 4-Byte EntityId_t and must be globally unique. In heterogeneous systems (with multiple RTPS implementations), the specification provides no mechanism or guidance to ensure global uniqueness. A solution would be to make the vendorId part of the GuidPrefix_t. Resolution: The first two bytes of the GUID_t prefix should be the vendor id. Resolution: The first two bytes of the GUID_t prefix should be the vendor id. Revised Text: Add the following paragraphs to section 9.3.1.5 (Mapping of the GUID) above the paragraph that starts with "The reserved constant GUID_UNKNOWN " Section 8.2.4 states that all RTPS Entities with a DomainParticipant share the same guidPrefix. Furthermore section Section 8.2.4.2 states that implementors have freedom to choose the guidPrefix as long as each DomainParticipant within a DDS Domain has a unique guidPrefix. The PIM restrict this freedom. Implementations of the protocol must choose the guidPrefix in such way that the first two Bytes match the vendorId . This will ensure that the guidPrefix remains unique within a DDS Domain even if multiple implementations are used. In other words, the guidPrefix must be chosen such that: guidPrefix[0] = vendorId[0] guidPrefix[1] = vendorId[1] The reserved values of the vendorId are listed in Appendix A. Proposed Disposition: Resolved Actions taken: May 20, 2008: received issue Discussion: End of Annotations:===== MG Issue No: 12509R#12 Title: The specification does not state how to generate unique GUIDs Source: PrismTech (Niels Kortstee, Niels.Kortstee@prismtech.com) Summary: In RTPS each entity has a so-called GUID_t. It consists of a 12 Byte GuidPrefix_and a 4-Byte EntityId_t and must be globally unique. In heterogeneous systems (with multiple RTPS implementations), the specification provides no mechanism or guidance to ensure global uniqueness. A solution would be to make the vendorId part of the GuidPrefix_t. Resolution: The first two bytes of the GUID_t prefix should be the vendor id. Revised Text: Add the following paragraphs to section 9.3.1.5 above the paragraph that starts with .The reserved constant GUID_UNKNOWN . Section 8.2.4 states that all RTPS Entities with a DomainParticipant share the same guidPrefix. Furthermore section Section 8.2.4.2 states that implementors have freedom to choose the guidPrefix as long as each DomainParticipant within a DDS Domain has a unique guidPrefix. The PIM restrict this freedom. Implementations of the protocol must choose the guidPrefix in such way that the first two Bytes match the vendorId . This will ensure that the guidPrefix remains unique within a DDS Domain even if multiple implementations are used. In other words, the guidPrefix must be chosen such that: guidPrefix[0] = vendorId[0] guidPrefix[1] = vendorId[1] The reserved values of the vendorId are listed in Appendix A. Disposition: