Method of altering a software product in response to predetermined events
First Claim
Patent Images
1. A method of adapting a software product to an environment, the method comprising:
- providing the software product with a stable portion of code including instructions for performing a predetermined function, at least one aspect of performing the predetermined function being controllable by a functional parameter value;
providing the software product with a variable portion of code having stored therein the functional parameter value and a mutation rate; and
responsive to an occurrence of a predetermined event associated with the environment, using the mutation rate to determine if the functional parameter value should mutate, andchanging the functional parameter value in response to a determination that the functional parameter value should mutate.
3 Assignments
0 Petitions
Accused Products
Abstract
Software lineages arise through purchase and reproduction. Lineages are tracked by storing lineage-relevant information in variable regions of software instances and/or in a central database according to methods disclosed.
132 Citations
35 Claims
-
1. A method of adapting a software product to an environment, the method comprising:
-
providing the software product with a stable portion of code including instructions for performing a predetermined function, at least one aspect of performing the predetermined function being controllable by a functional parameter value; providing the software product with a variable portion of code having stored therein the functional parameter value and a mutation rate; and responsive to an occurrence of a predetermined event associated with the environment, using the mutation rate to determine if the functional parameter value should mutate, and changing the functional parameter value in response to a determination that the functional parameter value should mutate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of adapting a software product to an environment, the method comprising:
-
providing the software product with a stable portion of code including instructions for performing a predetermined function, at least one aspect of performing the predetermined function being controllable by a functional parameter value; providing the software product with a variable portion of code having stored therein the functional parameter value, a mutation rate, and a set of lineage-relevant information relating to a plurality of lineage-relevant events resulting in the software product; providing the software product with a portion of code that includes instructions for changing the functional parameter value in response to an occurrence of a predetermined event associated with the environment and a determination that the functional parameter value should mutate; and responsive to an occurrence of a second predetermined event associated with the environment; using the mutation rate to determine if the functional parameter value should mutate; and changing the functional parameter value in response to a determination that the functional parameter value should mutate, wherein said second predetermined event is the same event as, or a different event from, the predetermined event associated with the environment. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of adapting a software product to an environment, the method comprising:
-
providing the software product with a stable portion of code including instructions for performing a predetermined function, at least one aspect of performing the predetermined function being controllable by a functional parameter value; providing the software product with a variable portion of code having stored therein the functional parameter value, a mutation rate, and a set of lineage-relevant information relating to a plurality of lineage-relevant events resulting in the software product; providing the software product with a portion of code that includes instructions for changing the functional parameter value in response to an occurrence of a predetermined event associated with the environment and a determination that the functional parameter value should mutate; and responsive to an occurrence of a predetermined event selected from the group consisting of a user-to-user copying event, an operation of the software product, an unlocking of a product feature, and a change to a predetermined functional parameter of the software product, using the mutation rate to determine if the functional parameter value should mutate, changing the functional parameter value by substantially randomly selecting a new functional parameter from a predetermined range of values in response to a determination that the functional parameter value should mutate, and modifying the set of lineage-relevant information to include information relating to the occurrence of the predetermined event associated with the environment. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A method of adapting a software product to an environment, the method comprising:
-
providing a plurality of software products, each having a stable portion of code including instructions for performing a predetermined function, at least one aspect of performing the predetermined function being controllable by a functional parameter value, a variable portion of code having stored therein the functional parameter value, a mutation rate, and a set of lineage-relevant information relating to a plurality of lineage-relevant events resulting in the software product, and a portion of code that includes instructions for changing the functional parameter value in response to an occurrence of a predetermined event associated with the environment and a determination that the functional parameter value should mutate; receiving at a central database a transmission of the lineage-relevant information from at least a portion of the plurality of software products; and performing a statistical analysis of the lineage-relevant information from all of the at least a portion of the plurality of software products to ascertain a set of characteristics for the software products. - View Dependent Claims (26, 27)
-
-
28. A computer program product for performing a predetermined function, the computer program product comprising:
-
a computer readable medium; first code including a stable portion that is stored on the medium and that includes instructions for performing the predetermined function, at least one aspect of performing the predetermined function being controllable by a functional parameter value; second code including a variable portion that is stored on the medium and that includes the functional parameter value and a mutation rate; and third code that is stored on the medium and that includes instructions for modifying the functional parameter value in response to an occurrence of a predetermined event. - View Dependent Claims (29, 30, 31, 32)
-
-
33. A computer program product for performing a predetermined function, the computer program product comprising:
-
a computer readable medium; first code including a stable portion that is stored on the medium and that includes instructions for performing the predetermined function, at least one aspect of performing the predetermined function being controllable by a functional parameter value; second code including a variable portion that is stored on the medium and that includes the functional parameter value, a mutation rate, and a set of lineage-relevant information relating to at least one lineage-relevant event resulting in the computer program product, the variable portion being configured for receiving additional information relating to at least one of a user-to-user copying event, an operation of the computer program product, an unlocking of features of the computer program product, or a change to functional parameters of the computer program product; and third code that is stored on the medium and that includes means for identifying an occurrence of a predetermined event, and means for modifying the functional parameter value in response to the occurrence of the predetermined event. - View Dependent Claims (34, 35)
-
Specification