Our application's name-to-ACL UUID resolution routine uses the following algorithm:
1. Take the object name that has been passed to it and use it to look up the UUID that identifies the object itself (in the name-indexed database).
2. Use the object UUID to retrieve the object information, which contains (among many other things) the UUID that identifies the object's ACL (in the object UUID-indexed database).
3. Use the retrieved ACL UUID to retrieve the ACL itself (from the ACL UUID-indexed database). If the manager types match, return the ACL UUID extracted in step 2 to the caller.
The caller is usually some routine in the ACL library. All it needs from the resolution routine is the ACL UUID; with this it can retrieve the ACL itself and proceed to do whatever needs to be done with (or to) it.