1 2 Previous Next 21 Replies Latest reply on Dec 24, 2015 4:40 AM by jrenfrew

    PersistentID

    RonSmithMD

      Q: Can older computers have identical PersistentIDs?

       

      In my EMR/Practice management software (PaperCutPro, http://www.papercutpro.com) I record the ID of the machine from the Get (PersistentID) function within the database. My understanding from the documentation, and my experience have shown that these are unique within my small office network of computers except for two machines. I have two older white plastic cased MacBooks with OS X 10.7.5 on 2 GHz Intel Core 2 Duo CPUs with 4 gb of ram that return the exact same PersistentID.

       

      Q: Is the PersistentID not actually then unique, or is this an anomaly because of the aged hardware, the OS X 10.7.5 system software, or both?

       

      My wondering is that perhaps the older machines do not have the hardware capability to create a unique id with PersistentID and thus are simply all returning the same ID?

       

      Comments and discussion on this appreciated.

       

      Ron Smith, MD

      PaperCutPro

      http://www.papercutpro.com

        • 1. Re: PersistentID
          StephenWonfor

          Ron

           

          From HELP "Returns a unique, unchanging identifier for the computer on which FileMaker Pro is running or the device on which FileMaker Go is running, in the form of a 32-digit hexadecimal string. Get(PersistentID) helps you identify devices that access your solution." -although it does say how.

           

          What do you you get with Get ( SystemNICAddress ) on the MacBooks?


          Stephen

           

          "The only way to make sense out of change is to plunge into it, move with it, and join the dance. " --- Alan Watts

          • 2. Re: PersistentID
            RonSmithMD

            Here is it Stephen.

             

            PeristentID seems to fail to provide a unique value on these two older machines.

             

            MacBook 6:

             

            SystemNICAddress: 00:1b:63:2e:e0:d9

            00:1b:63:cb:92:fc

            PersistentID: DDFACBFF01635E50EE50B4BE165078AB

             

            MacBook 8:

             

            SystemNICAddress: 00:1b:63:2f:0e:3f

            00:1b:63:cb:8e:10

            PersistentID: DDFACBFF01635E50EE50B4BE165078AB

             

             

            Ron Smith, MD

            PaperCutPro

            • 3. Re: PersistentID
              StephenWonfor

              Wow

               

              Persistent - but non-uniqueID.  Sure has the feel of a bug.  I suppose you could concatenate the persistentID and first value of the NIC to get a more persistent ID.

               

              Stephen

              • 4. Re: PersistentID
                RonSmithMD

                The problem is that I can't. Sometimes there are local IPs in the 192.168.x.x or 10.0.x.x range that are actually remote networks, but which could still have the same IP address.

                 

                Ron

                 

                Ron Smith, MD, 'The Pediatric Guide For Parents'

                 

                Want to know more about me and my family? Take a look at the free ebook about my daughter below.

                 

                Forever And A Day For Laura Michelle

                • 5. Re: PersistentID
                  BruceHerbach

                  Hi Ron,

                   

                  The function get(SystemNicaddress) returns the hardware address of the network card,  not the IP address.  The IP address is not involved.  In theory the Nic address is unique.  If you look at your Mac Books 6 and 8,  the persistenID is the same,  but the Nic addresses are not.  One additional point,  as long as the hardware isn't changed,  the Nic Address won't change.

                   

                  In short you could use the Nic address as your unique persistent ID,  or as suggested concatinate the actual persistent ID with the Nic address.  Doing this should give you a unique persistent value.

                   

                  Bruce

                  • 6. Re: PersistentID
                    RonSmithMD

                    Bruce, you point is well taken. But the NIC will be different if your primary connection on the machine changes. In other words if you switch a machine from wireless to ethernet the primary NIC address will not be the same. So that introduces an element of inconsistency.

                     

                    All the tricks you all have suggested are things that I used prior to the PersistentID function. And I've experienced all the failings of each. The PersistentID was exciting when it was introduced, because it met a need I've had for years and years.

                     

                    My question thus is really this: is the PersistentID not valid on these older machines? They are about 6 years old you see and I suspect they do not have true hardware capability for the PersistentID function. If I fired up similar older machines then would they too return the same PersistentID as these other machines. I'm having no issues on my newer machines!

                     

                    The technical details of how a PersistentID is determined is the most critical question here. Upon what hardware specifications will it work?

                     

                    Ron

                     

                    Ron Smith, MD, 'The Pediatric Guide For Parents'

                     

                    Want to know more about me and my family? Take a look at the free ebook about my daughter below.

                     

                    Forever And A Day For Laura Michelle

                    • 7. Re: PersistentID
                      StephenWonfor

                      Ron

                       

                      The NIC should be the unique MAC address.  "MAC addresses are most often assigned by the manufacturer of a network interface card (NIC) and are stored in its hardware, the card's read-only memory, or some other firmware mechanism. If assigned by the manufacturer, a MAC address usually encodes the manufacturer's registered identification number and may be referred to as the burned-in address. It may also be known as an Ethernet hardware address (EHA), hardware address or physical address. A network node may have multiple NICs and will then have one unique MAC address per NIC."

                       

                      That should, I think, be machine specific.

                       

                      Stephen

                       

                      --

                       

                      "I possess a device in my pocket that is capable of accessing the entirety of information known to man.  I use it to look at pictures of cats and get in arguments with strangers." --- anon

                      • 8. Re: PersistentID
                        RonSmithMD

                        That may be so about the NIC and MAC addresses, but it is not guaranteed to be unique to all machines on a network I believe, however remotely unlikely.

                         

                        But the question still is why do these older machines have the same Persistent ID? If the MAC and NIC addresses were universally unique among all machines by all manufacturers, then why even have a Get (PersistentID) function in the first place?

                         

                        Ron

                         

                        Ron Smith, MD, 'The Pediatric Guide For Parents'

                         

                        Want to know more about me and my family? Take a look at the free ebook about my daughter below.

                         

                        Forever And A Day For Laura Michelle

                        • 9. Re: PersistentID
                          StephenWonfor

                          Ron

                           

                          NIC seems quite unique.  "The original IEEE 802 MAC address comes from the original Xerox Ethernet addressing scheme.[2] This 48-bit address space contains potentially 248 or 281,474,976,710,656 possible MAC addresses."

                           

                          Stephen

                           

                          ---

                           

                          "No sense in being pessimistic. It won't work anyway."

                          • 10. Re: PersistentID
                            DavidJondreau

                            I don't know why Get ( PersistentID ) is failing on older machines. I don't believe FMI has released the specs on how the function evaluates its result. I suspect its purpose is mostly to provide an "anonymous" method of identifying a machine which is a business/government requirement in some cases. So, it's probably a hashed mix of other identifying info and FMI doesn't want to release that algorithm and lose the anonymity. Also, NIC cards can be changed pretty easily, breaking some uses of Get NIC.

                             

                            Most computers now have a UUID set by the manufacturer. I don't know what that is tied to: BIOS in Windows? Motherboard in Mac? operating system? Is FM pulling a hashed version of that? Not sure, though with some work someone could figure it out and you've already got some clues (the first 20 characters of the UUID on older macs are the same).

                             

                            It is a little worrying, since it indicates a pretty major weakness in the function. Both in its use and possibly its anonymity. Definitely report it as a bug.

                             

                             

                            If neither anonymity nor switching NIC card is a concern, then Get ( SystemNICAddress ) is "unique enough".

                            • 11. Re: PersistentID
                              jgalt

                              DavidJondreau wrote:

                               

                              It is a little worrying, since it indicates a pretty major weakness in the function. Both in its use and possibly its anonymity. Definitely report it as a bug.

                               

                              I was planning to use  "persistentid" as one of two authentication methods for allowing access into my solution. It's disappointing to hear that it's not a reliable method for identifying a device.

                               

                              Has this issue been resolved with FileMaker 13?

                              • 12. Re: PersistentID
                                pjreagan

                                To amplify what Stephan has posted...  In the examples above for those old machines, they each are producing two NIC addresses.  Probably this is because they each have two NICs: one for Ethernet and one for WiFi.  The number of returned NIC addresses will vary depending upon the count of NIC devices a computer is running, not how the computer is connected to the LAN/WAN.

                                 

                                In a test I just ran on a Win7 machine, the Get(SystemNICAddress) function returned the same values no matter if it was connected via Ethernet, WiFi or not connected at all.

                                 

                                So the workaround of concatenating the NIC addresses with a persistent ID could still be viable.

                                • 13. Re: PersistentID

                                  I had the amusing experience of discovering that my electronic beeping key would not only open my Honda Element but a few years older Pontiac. Once I realized that I had a bit of fun with the guy trying to lock his car... 

                                   

                                  There seems to be several threads on this problem so it isn't isolated. It's conceivable that the various factors that go into making up the persistent id could deliver duplicates and the world may be filled with them only we don't know about them since we haven't run into them. I wonder...

                                   

                                  Makes me wonder how unique get(uuid) really is...

                                  • 14. Re: PersistentID
                                    BruceHerbach

                                    This is a old thread and persistentID is a known problem. As far as I know Get(UUID) does not have any issues.  You can always set the field validation to be unique.

                                    1 2 Previous Next