System and method for searching heterogeneous electronic directories
View Patent ↗The present invention comprises a computerized system and method for searching heterogeneous electronic directories. An embodiment of the system includes a database, containing data necessary to perform a search, a user interface, and a component for performing the searches. Embodiments of the system provide a user with the ability to search directories in multiple locations and in multiple formats, both standard and non-standard, for contacts and to display the results of the search in one unified list. A system administrator or a user determines which directories the system searches and in what order the system performs the search.
1. A system for searching for a contact comprising:
a database comprising a plurality of references to electronic directories, wherein said plurality comprises:
a first reference to a first electronic directory, wherein said first electronic directory comprises a standard electronic directory format, and
a second reference to a second electronic directory, wherein said second electronic directory comprises a non-standard electronic directory;
the database also comprising a search-order field, the search-order field determining an order in which the plurality of references is searched, the search-order field having an integer value and a reference having a lowest numerical value within the search-order field being first searched, and subsequent references are searched in an ascending order of the search-order field;
a searching component in communication with said database.
2. The system of claim 1 , wherein each of said plurality of references comprises:
a location of an electronic directory;
a format descriptor of said electronic directory; and
a search descriptor of said electronic directory.
3. The system of claim 1 , wherein said searching component comprises an executant on a web application server.
4. The system of claim 1 , further comprising a directory entry display interface.
5. The system of claim 4 , wherein a single executant comprises said searching component and said directory entry display interface.
6. The system of claim 1 , further comprising a query format converter.
7. The system of claim 5 , wherein said query format converter comprises a hypertext transfer protocol (HTTP) query string to lightweight directory access protocol (LDAP) query converter.
8. The system of claim 1 , further comprising a display format converter.
9. A method for searching for a contact comprising:
receiving a search criterion;
searching a database comprising a plurality of references to electronic directories, the database also comprising a search-order field, the search-order field having an integer value that determines an order in which the plurality of references is searched, a reference having a lowest numerical value within the search-order field being first searched, and subsequent references are searched in an ascending order of the search-order field, wherein said plurality comprises:
a first reference to a first electronic directory, wherein said first electronic directory comprises a standard electronic directory format, and
a second reference to a second electronic directory, wherein said second electronic directory comprises a non-standard electronic directory; and
iteratively performing the following steps a-c for each of said plurality of references:
a. connecting to an electronic directory to which said reference refers,
b. performing a search of said electronic directory, using said search criterion, and
c. receiving a result of said search.
10. The method of claim 9 , wherein each of said plurality of references comprises:
a location of an electronic directory;
a format descriptor of said electronic directory; and
a search descriptor of said electronic directory.
11. The method of claim 9 , further comprising displaying a contact search user interface.
12. The method of claim 11 , wherein after the step of receiving a result of said search, the method further comprises:
d. formatting said result; and
e. displaying said result in said contact search user interface.
13. The method of claim 11 , further comprising:
accepting a selection of said result in said contact search user interface; and
in response to said selection, creating an email message addressed to an email address associated with said selection.
14. The method of claim 9 , wherein after the step of searching said database, the method further comprises finding a directory.
15. The method of claim 9 further comprising:
searching for a directory of contacts; and
inserting a record corresponding to said directory in said database.
16. The method of claim 9 , further comprising converting said search criterion into a format supported by said electronic directory.
17. The method of claim 9 , further comprising billing for the use of said service.
18. The method of claim 17 , wherein said billing comprises billing a fixed amount per search.
19. The method of claim 17 , wherein said billing comprises billing a fixed amount per time period.
20. The method of claim 9 , wherein said search comprises a query selected from the group consisting of a fragment-matching query; a whole-word-matching query; and an exact-match query.
21. The method of claim 9 , wherein said displaying further comprises filtering said result based on said search criterion.
22. A computer-readable medium on which is encoded computer program code for searching for a contact comprising:
computer program code for receiving a search criterion;
computer program code for searching a database containing a plurality of references to electronic directories, the database also comprising a search-order field, the search-order field having an integer value that determines an order in which the plurality of references is searched, a reference having a lowest numerical value within the search-order field being first searched, and subsequent references are searched in an ascending order of the search-order field, wherein said plurality comprises:
a first reference to a first electronic directory, wherein said first electronic directory comprises a standard electronic directory format, and
a second reference to a second electronic directory, wherein said second electronic directory comprises a non-standard electronic directory; and
computer program code for iteratively performing the following steps a-c for each of said plurality of references:
a. connecting to an electronic directory to which said reference refers,
b. performing a search of said directory, using said search criterion, and
c. receiving a result of said search.
23. The computer-readable medium of claim 22 , wherein each of said plurality of references comprises:
a location of an electronic directory;
a format descriptor of said electronic directory; and
a search descriptor of said electronic directory.
24. The computer-readable medium of claim 22 , further comprising computer program code for displaying a contact search user interface;
25. The computer-readable medium of claim 24 , further comprising computer program code for performing the following steps d-e:
d. formatting said result; and
e. displaying said result in said contact search user interface.
26. The computer-readable medium of claim 24 , further comprising:
computer program code for accepting a selection of said result in said contact search user interface; and
in response to said selection, computer program code for creating an email message addressed to an email address associated with said selection.
27. The computer-readable medium of claim 22 , further comprising computer program code for finding a directory.
28. The computer-readable medium of claim 22 further comprising:
computer program code for searching for a directory of contacts; and
computer program code for inserting a record corresponding to said directory in said database.
29. The computer-readable medium of claim 22 , further comprising computer program code for converting said search criterion into a format supported by the said electronic directory.
30. The computer-readable medium of claim 22 , further comprising computer program code for billing for the use of said service.
31. The computer-readable medium of claim 22 , wherein said search comprises a query selected from the group consisting of a fragment-matching query; a whole-word-matching query; and an exact-match query.
32. The computer-readable medium of claim 22 , wherein said displaying further comprises program code for filtering said result based on said search criterion.