Method and apparatus and program storage device for generating a workflow in response to a user objective and generating software modules in response to the workflow and executing the software modules to produce a product
First Claim
1. A method executed by a computer of determining a desired product corresponding to a user objective, comprising the steps of:
- providing a first user objective and a second user objective;
providing a first set of input data selected from one or both of wellbore data and reservoir data, and providing a second set of input data selected from one or both of wellbore data and reservoir data;
automatically generating a first workflow in response to the first user objective, and automatically generating a second workflow in response to the second user objective;
automatically selecting a first subset of software modules of a first tool and a second subset of software modules of a second tool in response to the first workflow, wherein the first subset corresponds to a first path in the first tool that defines a first order of execution of the software modules in the first subset, and wherein the second subset corresponds to a second path in the second tool that defines a second order of execution of the software modules in the second subset;
automatically selecting a third subset of software modules of the first tool and a fourth subset of software modules of the second tool in response to said second workflow, wherein the third subset is different from the first subset, and the fourth subset is different from the second subset, wherein the third subset corresponds to a third path in the first tool that defines a third order of execution of the software modules in the third subset, wherein the third path is different from the first path, wherein the fourth subset corresponds to a fourth path in the second tool that defines a fourth order of execution of the software modules in the fourth subset, and wherein the fourth path is different from the second path;
executing the software modules of the first subset according to the first path on a processor in response to said first set of input data;
executing the software modules of the second subset according to the second path on said processor in response to output from the software modules of the first subset;
executing the software modules in the third subset according to the third path on said processor in response to said second set of input data;
executing the software modules in the fourth subset according to the fourth path on said processor in response to output from the software modules of the third subset;
determining a first said desired product in response to at least executing the software modules of the first and second subsets, wherein the first said desired product includes a model of a reservoir to be produced by a well; and
determining a second said desired product in response to at least executing the software modules of the third and fourth subsets, wherein the second said desired product includes another model of the reservoir.
5 Assignments
0 Petitions
Accused Products
Abstract
A Single Well Predictive Model (SWPM) software based computer system stores a Single Well Predictive Model (SWPM) software therein. When the SWPM software is executed, the SWPM computer system will: (1) automatically produce a first specific workflow comprised of a first plurality of software modules in response to a first set of user objectives and automatically execute the first specific workflow in response to a first set of input data to produce a first desired product, and (2) automatically produce a second specific workflow comprised of a second plurality of software modules in response to a second set of user objectives and automatically execute the second specific workflow in response to a second set of input data to produce a second desired product. There is no longer any need to separately and independently execute the first plurality of software modules of the first workflow in order to produce the first desired product, and there is no longer any need to separately and independently execute the second plurality of software modules of the second workflow in order to produce the second desired product. A considerable amount of time and labor is saved.
-
Citations
27 Claims
-
1. A method executed by a computer of determining a desired product corresponding to a user objective, comprising the steps of:
-
providing a first user objective and a second user objective; providing a first set of input data selected from one or both of wellbore data and reservoir data, and providing a second set of input data selected from one or both of wellbore data and reservoir data; automatically generating a first workflow in response to the first user objective, and automatically generating a second workflow in response to the second user objective; automatically selecting a first subset of software modules of a first tool and a second subset of software modules of a second tool in response to the first workflow, wherein the first subset corresponds to a first path in the first tool that defines a first order of execution of the software modules in the first subset, and wherein the second subset corresponds to a second path in the second tool that defines a second order of execution of the software modules in the second subset; automatically selecting a third subset of software modules of the first tool and a fourth subset of software modules of the second tool in response to said second workflow, wherein the third subset is different from the first subset, and the fourth subset is different from the second subset, wherein the third subset corresponds to a third path in the first tool that defines a third order of execution of the software modules in the third subset, wherein the third path is different from the first path, wherein the fourth subset corresponds to a fourth path in the second tool that defines a fourth order of execution of the software modules in the fourth subset, and wherein the fourth path is different from the second path; executing the software modules of the first subset according to the first path on a processor in response to said first set of input data; executing the software modules of the second subset according to the second path on said processor in response to output from the software modules of the first subset; executing the software modules in the third subset according to the third path on said processor in response to said second set of input data; executing the software modules in the fourth subset according to the fourth path on said processor in response to output from the software modules of the third subset; determining a first said desired product in response to at least executing the software modules of the first and second subsets, wherein the first said desired product includes a model of a reservoir to be produced by a well; and determining a second said desired product in response to at least executing the software modules of the third and fourth subsets, wherein the second said desired product includes another model of the reservoir. - View Dependent Claims (10, 11, 12)
-
-
2. A computer-readable medium readable by a computer tangibly embodying a set of instructions executable by said computer to perform method steps for determining a desired product corresponding to a user objective, said method steps comprising:
-
receiving a first user objective and a second user objective; receiving a first set of input data selected from one or both of wellbore data and reservoir data, and receiving a second set of input data selected from one or both of wellbore data and reservoir data; automatically generating a first workflow in response to the first user objective, and automatically generating a second workflow in response to the second user objective; automatically selecting a first subset of software modules of a first tool and a second subset of software modules of a second tool in response to the first workflow, wherein the first subset corresponds to a first path in the first tool that defines a first order of execution of the software modules in the first subset, and wherein the second subset corresponds to a second path in the second tool that defines a second order of execution of the software modules in the second subset; automatically selecting a third subset of software modules of the first tool and a fourth subset of software modules of the second tool in response to said second workflow, wherein the third subset is different from the first subset, and the fourth subset is different from the second subset, wherein the third subset corresponds to a third path in the first tool that defines a third order of execution of the software modules in the third subset, wherein the third path is different from the first path, wherein the fourth subset corresponds to a fourth path in the second tool that defines a fourth order of execution of the software modules in the fourth subset, and wherein the fourth path is different from the second path; executing the software modules in the first subset according to the first path on a processor in response to said first set of input data; executing the software modules of the second subset according to the second path on said processor in response to output from the software modules of the first subset; executing the software modules in the third subset according to the third path on said processor in response to said second set of input data; executing the software modules in the fourth subset according to the fourth path on said processor in response to output from the software modules of the third subset; determining a first said desired product in response to at least executing the software modules of the first and second subsets, wherein the first said desired product includes a model of a reservoir to be produced by a well; and determining a second said desired product in response to at least executing the software modules of the third and fourth subsets, wherein the second said desired product includes another model of the reservoir. - View Dependent Claims (13, 14, 15)
-
-
3. A system responsive to a set of input data and a user objective for generating a desired product corresponding to said user objective, comprising:
-
first apparatus for receiving a first user objective and a first set of input data selected from one or both of wellbore data and reservoir data, and for receiving a second user objective and a second set of input data selected from one or both of wellbore data and reservoir data; second apparatus for automatically generating a first workflow in response to the first user objective, and automatically generating a second workflow in response to the second user objective; third apparatus for automatically selecting a first subset of software modules of a first tool and a second subset of software modules of a second tool in response to the first workflow, and automatically selecting a third subset of software modules of the first tool and a fourth subset of software modules of the second tool in response to said second workflow, wherein the third subset is different from the first subset, and the fourth subset is different from the second subset, wherein the first subset corresponds to a first path in the first tool that defines a first order of execution of the software modules in the first subset, the second subset corresponds to a second path in the second tool that defines a second order of execution of the software modules in the second subset, the third subset corresponds to a third path in the first tool that defines a third order of execution of the software modules in the third subset, and the fourth subset corresponds to a fourth path in the second tool that defines a fourth order of execution of the software modules in the fourth subset, where the third path is different from the first path, and the fourth path is different from the second path; and processor apparatus for automatically executing the software modules of the first subset according to the first path in response to said first set of input data, executing the software modules of the second subset according to the second path in response to output from the software modules of the first subset, executing the software modules of the third subset according to the third path in response to said second set of input data, executing the software modules in the fourth subset according to the fourth path in response to output from the software modules of the third subset, generating a first said desired product in response to at least execution of the software modules of the first and second subsets, and generating a second said desired product in response to at least execution of the software modules of the third and fourth subsets, wherein the first said desired product includes a model of a reservoir to be produced by a well, and wherein the second said desired product includes another model of the reservoir. - View Dependent Claims (16, 17, 18)
-
-
4. A method executed by a computer for determining a final product in response to a user objective, comprising the steps of:
-
providing a first user objective and providing first input data selected from one or both of wellbore data and reservoir data, and providing a second user objective and providing second input data selected from one or both of wellbore data and reservoir data; generating a first workflow corresponding to said first user objective, and generating a second workflow corresponding to said second user objective; selecting a plurality of software modules in response to said first workflow, said plurality of software modules including a first subset of software modules having a first predetermined sequence, and a second subset of software modules having a second predetermined sequence, wherein the software modules of the first subset are part of a first tool, and the software modules of the second subset are part of a second tool; selecting a different plurality of software modules in response to said second workflow, said different plurality of software modules including a third subset of software modules having a third predetermined sequence, and a fourth subset of software modules having a fourth predetermined sequence, wherein the software modules of the third subset are part of the first tool, the software modules of the fourth subset are part of the second tool, wherein the third predetermined sequence is different from the first predetermined sequence, and the fourth predetermined sequence is different from the second predetermined sequence; executing said software modules of the first subset in said first predetermined sequence in response to said first input data; executing said software modules of the second subset in said second predetermined sequence in response to output of the first subset of software modules; executing said software modules of the third subset in said third predetermined sequence in response to said second input data; executing said software modules of the fourth subset in said fourth predetermined sequence in response to output of the third subset of software modules; generating a first final product when the execution of said first and second subsets of software modules is complete, wherein said first final product includes a model of a reservoir to be produced by a well; and generating a second final product when the execution of said third and fourth subsets of said software modules is complete, wherein said second final product includes another model of the reservoir. - View Dependent Claims (5, 19, 20, 21)
-
-
6. A computer-readable medium readable by a computer tangibly embodying a set of instructions executable by the computer to perform method steps for determining a final product in response to a user objective, said method steps comprising:
-
providing a first user objective and providing first input data selected from one or both of wellbore data and reservoir data, and providing a second user objective and providing second input data selected from one or both of wellbore data and reservoir data; generating a first workflow corresponding to said first user objective, and generating a second workflow corresponding to said second user objective; selecting a plurality of software modules in response to said first workflow, said plurality of software modules including a first subset of software modules having a first predetermined sequence, and a second subset of software modules having a second predetermined sequence, wherein the software modules of the first subset are part of a first tool, and the software modules of the second subset are part of a second tool; selecting a different plurality of software modules in response to said second workflow, said different plurality of software modules including a third subset of software modules having a third predetermined sequence, and a fourth subset of software modules having a fourth predetermined sequence, wherein the software modules of the third subset are part of the first tool, the software modules of the fourth subset are part of the second tool, wherein the third predetermined sequence is different from the first predetermined sequence, and the fourth predetermined sequence is different from the second predetermined sequence; executing said software modules of the first subset in said first predetermined sequence in response to said first input data; executing said software modules of the second subset in said second predetermined sequence in response to output of the first subset of software modules; executing said software modules of the third subset in said third predetermined sequence in response to said second input data; executing said software modules of the fourth subset in said fourth predetermined sequence in response to output of the third subset of software modules; generating a first final product when the execution of said first and second subsets of software modules is complete, wherein said first final product includes a model of a reservoir to be produced by a well; and generating a second final product when the execution of said third and fourth subsets of said software modules is complete, wherein said second final product includes another model of the reservoir. - View Dependent Claims (7, 22, 23, 24)
-
-
8. A system for determining a final product in response to a user objective, comprising:
-
first apparatus for receiving a first user objective and receiving first input data selected from one or both of wellbore data and reservoir data, and for receiving a second user objective and receiving second input data selected from one or both of wellbore data and reservoir data; second apparatus for generating a first workflow corresponding to said first user objective, and for generating a second workflow corresponding to said second user objective; third apparatus for selecting a plurality of software modules in response to said first workflow, said plurality of software modules including a first subset of software modules having a first predetermined sequence, and a second subset of software modules having a second predetermined sequence, wherein the software modules of the first subset are part of a first tool, and the software modules of the second subset are part of a second tool; and
for selecting a different plurality of software modules in response to said second workflow, said different plurality of software modules including a third subset of software modules having a third predetermined sequence, and a fourth subset of software modules having a fourth predetermined sequence, wherein the software modules of the third subset are part of the first tool, and the software modules of the fourth subset are part of the second tool, and wherein the third predetermined sequence is different from the first predetermined sequence, and the fourth predetermined sequence is different from the second predetermined sequence;fourth apparatus for executing said software modules of the first subset in said first predetermined sequence in response to said first input data, executing said software modules of the second subset in said second predetermined sequence in response to output of the first subset of software modules, executing said software modules of the third subset in said third predetermined sequence in response to said second input data, and executing said software modules of the fourth subset in said fourth predetermined sequence in response to output of the third subset of software modules; and fifth apparatus for generating a first final product when the execution of said first and second subsets of software modules is complete, and generating a second final product when the execution of said third and fourth subsets of software modules is complete, wherein said first final product includes a model of a reservoir to be produced by a well, and wherein said second final product includes another model of the reservoir. - View Dependent Claims (9, 25, 26, 27)
-
Specification