Patent ID: 8868538

Claim:
A method performed by servers comprising and/or cooperating with a search engine, the method for providing search results to a user, the method comprising: with at least one processor: accessing a first data store storing a plurality of user contexts for respective users of the search engine; selecting a context for the user, the context comprising information specifically about the user; accessing a collection of pre-defined task models, each pre-defined task model comprising respective criteria and comprising respective attributes that are independent of any user and of any query and that characterize a data set, wherein the pre-defined task model specifies one or more data set operations to be performed on a given data set to which the predefined task model is being applied, each of the data set operations comprising a rule, a constraint, or a calculation, and when generating or modifying the given data the data set operations are performed to generate or modify the given data set ; automatically selecting from among the collection of pre-defined task models, based on a user context associated with the user, a plurality of task models, the plurality of task models selected based on their respective criteria being satisfied by the context, the plurality of task models including at least one task model that has a plurality of associated goals; receiving a search string inputted or selected by the user using a client device communicating through a network with the servers or the search engine; performing a search, via the search engine, for the search string using the selected task models and goals to generate respective data sets that are specific to the search string and the user; and providing, via the network, to the client device, indicia of the data sets, such that at the client device the user is enabled to interact with the indicia to alternately display the data sets.