View Single Post
Old March 25th, 2009   #2
ericthegeek
Task Group Member
 
Join Date: Aug 2008
Posts: 369
Default

If you're doing an exhaustive discovery (full binary search with no shortcuts), there are some data dependencies. Depending on which leaf nodes of the tree are populated, discovery can require different numbers of packets. For example, finding six sequential UIDs will be faster than finding six UIDs with different Vendor IDs.

Finding two devices where the *high* bit of the UID is different would take longer because you have to descend one branch all the way to the bottom, then work your way all the way back up to the top of the tree and decent the other branch all the way to the bottom.

Realistically though, all of this is academic. There are numerous shortcuts you can take to speed up discovery so you don't have to fully walk every populated branch of the tree. One such shortcut is to try and decode responses you get even when you're not at the bottom of tree. If the responders statistically vary their timing, it's possible to get 2, three or more fully formed responses in a single discovery reply period.
ericthegeek is offline   Reply With Quote