NameHunter Distributed Search allows you to scale up the number of concurrent searches allowed and the number of names to be searched (up to 200 million) by adding more processor resources to support additional search servers.
The following chart shows the high level design of Distributed Search. Multiple clients (not a part of Distributed Search) communicate with a central communications middleware process via XML over TCP/IP. The middleware process queues client requests and sends them to a set of search servers. The middleware process manages responses from the search servers and returns one aggregated response to the requesting client. Clients are not aware that multiple servers contributed to the response generated for their requests.
Each Distributed Search server manages one portion of a larger name data list. The data list managed by each Distributed Search server consists of a memory-resident search list, along with an index to a disk-based repository of the original name data that you provide. One server is typically allocated to handle any updates that need to be made to the combined repository of names during a Distributed Search session, for example when add requests are created.
The data managed by each server is created by a Distributed Search utility called Name Preprocessor. When provided with a comma-delimited file of name data, Name Preprocessor parses, classifies, regularizes, remove duplicates, and partitions a large name file into smaller portions to be shared by all participating Distributed Search servers. The output from Name Preprocessor is binary and system-specific.