Patent ID: 8751466

Claim:
A method of computing answer results to queries submitted by a user comprising: providing a plug-in executor comprising at least one plug-in created by a plug-in developer; wherein said one or more plug-ins are configured to execute one or more of system-defined programs and plug-in developer-defined programs, and wherein said plug-in executor is configured to one or more of execute arbitrary program text uploaded by said plug-in developer or execute routines parameterized by said plug-in developer; providing a user database configured to store and retrieve user preferences; providing a plug-in database configured to store and retrieve plug-in specifications; providing a content recognizer set determinator configured to compute a subset of all available content recognizers, wherein said computation of said subset depends on one or more of contents of a query submitted by said user, providing an answer generator set determinator configured to compute a subset of all available answer generators, wherein said compute of said subset depends on one or more of contents of said one or more queries submitted by said user and a dictionary of combined recognition results used as an input; and, providing a controller configured to receive a query from a client program, lookup said user's preferences in said user database, determine the subset of content recognizers to execute using said content recognizer set determinator, and lookup specifications for each content recognizer in said subset of content recognizers, submit said specifications for each content recognizer to said plug-in executor, using said query and said user's preferences as input, and combine all content recognition results into a dictionary of combined content recognition results, determine the subset of answer generators to execute using said answer generator set determinator, and lookup the specifications for each answer generator in said subset of answer generators, to yield a set of answer generator specifications, submit said set of answer generators specifications to said plug-in executor, using said query, said user's preferences, and said dictionary of recognition results as input, and combine the answer results from each answer generator into a list of answer results, and respond to said client program with said list of answer results, such that said user is able to customize how an answer engine responds to queries, answers are generated by at least one answer generator plug-in created by one or more plug-in developers, content recognizers are implemented by at least one content recognizer plug-in created by one or more other plug-in developers, and answer generators utilize content recognizers even if said content recognizers are not created by a single plug-in developer, and content recognition execution resources are bounded.