Data source synthesis
OwnerNorman H. Cohen, Apratim Purakayasthainventors
Life of this patent
Estimating the term…
Abstract
A method, system, and computer program providing data of a requested kind includes a repository of descriptors for external data sources and a repository of templates for synthesizers that, given inputs satisfying stated requirements, can act as data sources satisfying a stated requirement. A set of data sources satisfying a stated requirement is constructed by selecting appropriate external data sources from the repository of data-source descriptors, discovering appropriate synthesizer templates in the repository of synthesizer templates, and synthesizing data sources by instantiating templates to use other external or synthesized data sources as inputs, in accordance with the requirements associated with the inputs and outputs of the templates.
Claims10
A method for obtaining data sources satisfying a result requirement in a network environment that includes external data sources and synthesizer templates, each external data source having an output contract and each synthesizer template corresponding to a synthesis method capable of producing an output value from input values, synthesizer-input requirements to be satisfied by inputs, and a synthesizer-output contract satisfied by each resulting output, the method comprising:
- selecting a synthesizer template to be instantiated;
- selecting for each input of the synthesizer template at least one data source from an external or synthesized data source whose output contract satisfies the synthesizer-input requirement for the input of the synthesizer template;
- instantiating the synthesizer template using the data source selected for the input of the synthesizer template, thereby obtaining a new synthesized data source that may be selected in subsequent performances of the selecting the data source;
- and
- constructing a set consisting of at least one resulting synthesized data source or external data source whose output contract satisfies the result requirement.
A system for obtaining data sources satisfying a result requirement in a network environment that includes external data sources and synthesizer templates, each external data source having an output contract and each synthesizer template corresponding to a synthesis method capable of producing an output value from input values, synthesizer-input requirements to be satisfied by inputs, and a synthesizer-output contract satisfied by each resulting output, the method comprising:
- a first selecting module configured to select a synthesizer template to be instantiated;
- a second selecting module configured to select for each input of the synthesizer template at least one data source from an external or synthesized data source whose output contract satisfies the synthesizer-input requirement for the input of the synthesizer template;
- an instantiating module configured to instantiate the synthesizer template using the data source selected for the input of the synthesizer template, thereby obtaining a new synthesized data source that may be selected subsequently by the second selecting module;
- and
- a constructing module configured to construct a set consisting of at least one resulting synthesized data source or external data source whose output contract satisfies the result requirement.
A computer program product embodied in a tangible media comprising:
- computer readable program codes coupled to the tangible media for obtaining data sources satisfying a result requirement in a network environment that includes external data sources and synthesizer templates, each external data source having an output contract and each synthesizer template corresponding to a synthesis method capable of producing an output value from input values, synthesizer-input requirements to be satisfied by inputs, and a synthesizer-output contract satisfied by each resulting output, the computer readable program codes configured to cause the program to:
- select a synthesizer template to be instantiated;
- select for each input of the synthesizer template at least one data source from an external or synthesized data source whose output contract satisfies the synthesizer-input requirement for the input of the synthesizer template;
- instantiate the synthesizer template using the data source selected for the input of the synthesizer template, thereby obtaining a new synthesized data source that may be selected in subsequent performances of the selecting the data source;
- and
- construct a set consisting of at least one resulting synthesized data source or external data source whose output contract satisfies the result requirement.
Dependencies are inferred from the claim text.