Method of altering a software product in response to predetermined events
AssigneeSL Patent Holdings LLC
InventorJonathan Schull
Life of this patent
Estimating the term…
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.
Claims35
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.
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.
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.
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.
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.
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.
Dependencies are inferred from the claim text.