1. A method for determining whether an element within an organization is a member of one or more target groups pre-defined within the organization, the organization maintaining a computer network comprising a plurality of storage devices organized into X levels and storing element-group information, the storage devices including a directory at a higher, more-costly level X and at least one cache, each cache being at a lower, less-costly level below X and including at least a portion of the element-group information in the directory, the levels 1 to X corresponding to least-costly to most-costly, the method comprising: validating each target group by searching the levels of storage devices to find an item for the target group and, if the target group is found, placing the target group in a validated target bin (V); validating the element by searching the levels of storage devices to find an item for the element, and if the item for the element is found, determining from the item all groups that the element is listed as being a member of and placing such member-of groups in a search bin (S); firstly determining whether any group in (S) matches any group in (V): if so, concluding that the element is a member of a target group; and if not continuing by moving all groups in (S) to a queue (Q 1 ) corresponding to the storage device at level 1 and performing an iterative process to search for a membership path from the element to any target group, the iterative process comprising, for each level x from 1 to X: secondly determining whether a queue (Qx) corresponding to the level is empty; if empty, incrementing the level and returning to the secondly determining step if x<X, and concluding that the element is not a member of any target group if x&equals;X; if not empty, removing a group from (Qx) and determining whether the removed group is already in a discard bin (D); if in (D), returning to the secondly determining step; if not in (D), searching for an item corresponding to the removed group in the storage device corresponding to the level; if no such item is found from the search, moving the removed group to (Q(x&plus;1)) if x<X and moving the removed group to (D) if x&equals;X, and returning to the secondly determining step; if such an item is found from the search, placing each newly discovered group that the removed group is a member of as determined from the found item into (S), moving the removed group to (D), and returning to the firstly determining step, whereby the iterative process develops all possible paths from the element to any of the validated target groups, and more costly operations at a higher level storage device do not occur until all possible less costly operations at all lower level storage devices are exhausted.