A computer-implemented method for improving responsiveness of a first computing device, the method comprising: receiving one or more indications of a current system context for the first computing device; generating probabilities of potential actions or resource utilizations of the first computing device; selecting based at least in part on the current system context and the probabilities, one or more actions or resource utilizations to be performed by the first computing device, directing performance of the one or more actions or resource utilizations, wherein the generating of the probabilities comprises: generating a flow structure describing steady states and transitions between two steady states of the computing device based on historical data received from the first computing device, wherein a steady state represents a state in which the first computing device is in a consistent state for a particular period of time, wherein a consistent state represents a state in which one more internal parameters of the first computing device remain unchanged; generating the probabilities based on the generated flow structure and a current action that is performed by the first computing device, the generating of the probabilities comprising: receiving the generated flow structure; receiving an indication of a current action; receiving application context tags to identify relevant steady states and transitions in the flow structure; utilizing a sub-structure of the received flow structure that only includes steady states that may be reached after performance of the current action; computing expected values for how often each subsequent steady state may be reached after the current action; computing, from the expected values, probabilities of steady states and resource utilization; and ordering the probabilities by distance in time from the current action. receiving one or more indications of a current system context for the first computing device; generating probabilities of potential actions or resource utilizations of the first computing device; selecting based at least in part on the current system context and the probabilities, one or more actions or resource utilizations to be performed by the first computing device, directing performance of the one or more actions or resource utilizations, wherein the generating of the probabilities comprises: generating a flow structure describing steady states and transitions between two steady states of the computing device based on historical data received from the first computing device, wherein a steady state represents a state in which the first computing device is in a consistent state for a particular period of time, wherein a consistent state represents a state in which one more internal parameters of the first computing device remain unchanged; generating the probabilities based on the generated flow structure and a current action that is performed by the first computing device, the generating of the probabilities comprising: receiving the generated flow structure; receiving an indication of a current action; receiving application context tags to identify relevant steady states and transitions in the flow structure; utilizing a sub-structure of the received flow structure that only includes steady states that may be reached after performance of the current action; computing expected values for how often each subsequent steady state may be reached after the current action; computing, from the expected values, probabilities of steady states and resource utilization; and ordering the probabilities by distance in time from the current action. generating a flow structure describing steady states and transitions between two steady states of the computing device based on historical data received from the first computing device, wherein a steady state represents a state in which the first computing device is in a consistent state for a particular period of time, wherein a consistent state represents a state in which one more internal parameters of the first computing device remain unchanged; generating the probabilities based on the generated flow structure and a current action that is performed by the first computing device, the generating of the probabilities comprising: receiving the generated flow structure; receiving an indication of a current action; receiving application context tags to identify relevant steady states and transitions in the flow structure; utilizing a sub-structure of the received flow structure that only includes steady states that may be reached after performance of the current action; computing expected values for how often each subsequent steady state may be reached after the current action; computing, from the expected values, probabilities of steady states and resource utilization; and ordering the probabilities by distance in time from the current action. receiving the generated flow structure; receiving an indication of a current action; receiving application context tags to identify relevant steady states and transitions in the flow structure; utilizing a sub-structure of the received flow structure that only includes steady states that may be reached after performance of the current action; computing expected values for how often each subsequent steady state may be reached after the current action; computing, from the expected values, probabilities of steady states and resource utilization; and ordering the probabilities by distance in time from the current action.