Patent ID: 7287228

Claim:
A method for incremental adaptation of a computer software application, said method comprising: receiving a request for a component of said application from a device operated by a user of said application; identifying, in response to said request, components of said application that may be requested by said user in the future, wherein the identifying process comprises graph analysis, statistical analysis, learning analysis, and response-time analysis, wherein said learning analysis comprises associating a penalty with an incorrect prediction of said components of said application that may be requested by said user in the future and biases a probability of selection of successive components more towards recently occurring historical patterns than older historical patterns, and wherein in said response-time analysis a maximum number of components in the neighborhood of a current component that can be adapted within a desired response-time are adapted by: calculating the times required to adapt each respective component; and given a maximum response time and starting from said current component, adding said times in a breadth first search order until a sum of the added times reaches said maximum response time without exceeding said maximum response time; and adapting said identified components for operation with said requesting device, wherein only said requested and identified components are adapted for operation with said requesting device.