Patent ID: 8200647

Claim:
A method of processing descriptive queries for data sources, comprising a set of data providers, each data provider distinguished by a type of data that the data provider provides and a set of attributes, each attribute with a unique name and a particular type of value, and the data providers being grouped into named provider kinds, wherein the data providers grouped into a same provider kind provide a same type of data and have a same set of attributes, the method comprising: obtaining a descriptive query, the descriptive query comprising the name of a provider kind and a specification of a mapping from an assignment of one or more values for one or more attributes of the data provider to one of a true value and a false value; and resolving the descriptive query, the resolving comprising determining data providers in the set of data providers that belong to the provider kind specified in the descriptive query and for which the mapping specification in the descriptive query maps the one or more values of the one or more attributes of the data provider to the true value; wherein each data provider has a set of uniquely named activation parameters, each of a specified type, wherein a first provider kind is designated as a subkind of a second provider kind when: type of the data provided by the first provider kind is a subtype of the type of the data provided by the second provider kind; the set of uniquely named activation parameter names of the first provider kind is a subset of the set of uniquely named activation parameter names of the second provider kind; and type of each activation parameter of the first provider kind is a supertype of the type of identically named activation parameter of the second kind; and wherein the resolving alternatively determines data providers in the set of data providers that belong to the provider kind specified in the descriptive query, or to any subkind of the provider kind, and for which the mapping specification in the descriptive query maps the values of the attributes of the data provider to the true value, wherein the obtaining and resolving steps are performed at least in part by a processor coupled to a memory.