Fault tolerant and combinatorial software environment system, method and medium
First Claim
1. A computer-based method for processing at least one codon in a construct containing one or more codons, comprising the steps of:
- a. obtaining a codon to be processed from the construct;
b. determining the number of and/or type of argument(s) expected by said codon of said step (a);
c. where said step (b) determines that one or more arguments are expected, determining whether said expected number and/or type of argument(s) for said step (b) are available to said codon of said step (a);
d. where said expected number and/or type of argument(s) are available, processing said codon of said step (a), and proceeding to step (f);
e. where said expected number and/or type of argument(s) are not available, continuing to process said one or more codons in the construct by performing one of;
(1) generating randomly said expected number and/or type of argument(s) that are not available, and(2) skipping said codon;
f. returning to said step (a) to obtain and process a next codon, upon determining that there exist additional codons in the construct to be processed.
3 Assignments
0 Petitions
Accused Products
Abstract
A fault tolerant software environment, in which various program components (e.g., portions of computer programs, applications, etc) are objectized into entities represented by “codons.” This allows for improper syntax to occur, enabling, for example, combinatorial operations such as genetic programming. The present invention also contemplates such features as the ability to probabilistically execute individual codons, to switch between treating information as executable code or as data (or passing over it), provides that the individual codons can be tagged so that additional information can be associated with them, and provides for tagging of the stack.
-
Citations
37 Claims
-
1. A computer-based method for processing at least one codon in a construct containing one or more codons, comprising the steps of:
-
a. obtaining a codon to be processed from the construct; b. determining the number of and/or type of argument(s) expected by said codon of said step (a); c. where said step (b) determines that one or more arguments are expected, determining whether said expected number and/or type of argument(s) for said step (b) are available to said codon of said step (a); d. where said expected number and/or type of argument(s) are available, processing said codon of said step (a), and proceeding to step (f); e. where said expected number and/or type of argument(s) are not available, continuing to process said one or more codons in the construct by performing one of; (1) generating randomly said expected number and/or type of argument(s) that are not available, and (2) skipping said codon; f. returning to said step (a) to obtain and process a next codon, upon determining that there exist additional codons in the construct to be processed. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-based method for generating constructs to obtain potential solutions to a problem, comprising the steps of:
-
a. obtaining a target goal for the problem; b. accessing two or more constructs, or portions thereof, from a group of available constructs, wherein each of said two or more constructs, or portions thereof, contains one or more codons; c. combining said two or more accessed constructs, or portions thereof, to form a new construct; d. processing codons in said new construct to determine a result of said new construct, the step comprising the steps of; (i) obtaining a next codon to be processed from said new construct; (ii) determining the number of and/or type of argument(s) expected by said codon of said step (i); (iii) where said step (ii) determines that one or more arguments are expected, determining whether said expected number and/or type of argument(s) for said step (ii) are available to said codon of said step (i); (iv) where said expected number and/or type of argument(s) are available, processing said codon of said step (i), and proceeding to step (vi); (v) where said expected number and/or type of argument(s) are not available, continuing processing said one or more codons in said new construct by performing one of; (1) generating randomly said expected number and/or type of argument(s) that are not available, and (2) skipping said codon of said step (i); (vi) returning to said step (i) upon determining that there exist additional codons in said new construct to be processed, and e. upon completion of processing each codon to be processed in said new construct, producing an indication of the proximity of said result of said new construct to said target goal. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer-based method for recombining codons within a fault tolerant, recombinatorial computing environment, comprising the steps of:
-
a. generating a program comprised of codons; b. evaluating and/or executing codons in said program, the step (for each codon to be evaluated and/or executed in said program) comprising the steps of; (i) determining the number and/or type of argument(s) that a codon being evaluated and/or executed expects; (ii) where said step (i) determines that one or more arguments are expected, determining whether the expected number and/or type of argument(s) for said step (i) are available to said codon being evaluating and/or executing; (iii) where said expected number of and/or type of argument(s) are available, evaluate/execute said codon to yield the appropriate result; and (iv) where said expected number of and/or type of argument(s) are not available, continue processing said program by performing one of; (1) generating randomly said expected number and/or type of argument(s) that are not available, and (2) skipping said codon. - View Dependent Claims (14, 15, 16)
-
-
17. A system for facilitating a fault tolerant software environment, and for processing at least one codon in a construct containing one or more codons, comprising:
-
a. one or more computer processors for implementing the fault tolerant software environment; b. a memory for storing computer program aspects of the fault tolerant software environment and the construct; c. a codon accesser, wherein said codon accesser obtains each codon to be processed from the construct; d. an argument resolver, wherein said argument resolver determines the number and/or type of argument(s) expected by each said codon to be processed as obtained by said codon acccesser; e. wherein, upon determining that said expected number and/or type of argument(s) are available to said codon obtained by said codon accesser, processing said codon and accessing a next codon, if any, in the construct, and upon determining that said expected number and/or type of argument(s) are not accessible, performing one of; (1) generating randomly said expected number and/or type of argument(s) that are not available, and (2) skipping said codon, and accessing a next codon, if any, in the construct. - View Dependent Claims (18, 19)
-
-
20. A computer readable medium comprising a program for processing at least one codon in a construct containing one or more codons, by performing the steps of:
-
a. obtaining a codon to be processed from the construct; b. determining the number of and/or type of argument(s) expected by said codon of said step (a); c. where said step (b) determines that one or more arguments are expected, determining whether said expected number and/or type of argument(s) for said step (b) are available to said codon of said step (a); d. where said expected number and/or type of argument(s) are accessible, processing said codon of said step (a), and proceeding to step (f); e. where said expected number and/or type of argument(s) are not accessible, continuing processing said one or more codons in the construct by performing one of; (1) generating randomly said expected number and/or type of argument(s) that are not available, and (2) skipping said codon of said step (a); f. returning to said step (a) to obtain and process a next codon, upon determining that there exist additional codons in the construct to be processed. - View Dependent Claims (21, 22, 23)
-
-
24. A computer readable medium for evaluating potential solutions to a problem, by performing the steps of:
-
a. obtaining a target goal for the problem; b. accessing two or more constructs, or portions thereof, from a group of available constructs, wherein each of said two or more constructs contains one or more codons; c. combining said two or more accessed constructs to form a new construct; d. processing codons in said new construct to determine a result of said new construct, the step comprising the steps of; (i) obtaining a next codon to be processed from said new construct; (ii) determining the number of and/or type of argument(s) expected by said condon being processed of said step (i); (iii) where said step (ii) determines that one or more arguments are expected, determining whether said expected number and/or type of argument(s) for said step (ii) are available to the codon being processed; (iv) where said expected number and/or type of argument(s) are accessible, executing said codon being processed, and proceeding to step (vi); (v) where said expected number and/or type of argument(s) are not accessible, continuing processing said one or more codons in said new construct by performing one of; (1) generating randomly said expected number and/or type of argument(s) that are not available, and (2) skipping said codon being processed; (vi) returning to said step (i) upon determining that there exist additional codons in said new construct to be processed, and e. upon completion of processing each codon to be processed in said new construct, producing an indication of how close said result of said new construct is to said target goal. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31)
-
-
32. A computer-based method for evaluating potential solutions to a problem or generating new computer programs, comprising the steps of:
-
a. obtaining a target goal for the problem; b. accessing a construct, wherein said construct contains two or more codons; c. selectively not executing at least one of said two or more codons in said construct, to functionally form a new construct; d. processing codons in said new construct to determine a result of said new construct, the step comprising the steps of; (i) obtaining a next codon to be processed from said new construct; (ii) determining the number of and/or type of argument(s) expected by said codon of said step (i); (iii) where said step (ii) determines that one or more arguments are expected, determining whether said expected number and/or type of argument(s) for said step (ii) are available to said codon of said step (i); (iv) where said expected number and/or type of argument(s) are available, processing said codon of said step (i) and proceeding to step (vi); (v) where said expected number and/or type of argument(s) are not available, continuing processing said one or more codons in said new construct by performing one of; (1) generating randomly said expected number and/or type of argument(s) that are not available, and (2) skipping said codon of said step (i); (vi) returning to said step (i) upon determining that there exist additional codons in said new construct to be processed, and e. upon completion of processing each codon to be processed in said new construct, producing an indication of the proximity of said result of said new construct to said target goal. - View Dependent Claims (33)
-
-
34. A computer-based method for processing at least one codon in a construct containing one or more codons, comprising the steps of:
-
a. obtaining a codon to be processed from the construct; b. recording the number of instances of said codon; c. determining the number of and/or type of argument(s) expected by said codon of said step (a); d. where said step (c) determines that one or more arguments are expected, determining whether said expected number and/or type of argument(s) for said step (c) are available to said codon of said step (a); e. where said expected number and/or type of argument(s) are available, processing said codon of said step (a), and proceeding to step (g); f. where said expected number and/or type of argument(s) are not available, tracking the number of errors associated said codon and continuing to process said one or more codons in the construct by performing one of; (1) generating randomly said expected number and/or type of argument(s) that are not available, and (2) skipping said codon of said step (a); g. returning to said step (a) to obtain and process a next codon, upon determining that there exist additional codons in the construct to be processed. - View Dependent Claims (35, 36, 37)
-
Specification