Patent Document ID: 9542294
Application ID: 13937697
Patent Flag: 1

Claim One:
1. A method of detecting resource bottleneck of a software entity, comprising: identifying a resource type from multiple resource types in a system that is used while executing the software entity; intentionally inducing perturbation from multiple perturbations that vary the supply amount of the resource type in the system; measuring performance of the software entity at multiple variation levels of the supply amount of the resource type in the system; modeling a relationship between the measured performance and the variation levels; and applying the model to detect the resource bottleneck, wherein the perturbation comprises adding a packet delay to a set of outgoing packets in a network and at least one of reducing a processor speed, disabling one or more cores in a multi-core processor, increasing network latency, setting an input/output scheduling class and priority, controlling input/output bandwidth, wherein the identifying comprises identifying the multiple resource types, and the intentionally inducing comprises intentionally inducing the multiple perturbations to the multiple resource types simultaneously, wherein the model comprises a multi-dimensional model that incorporates the multiple resource types that are perturbed simultaneously; and determining a response time of a candidate network without replacing a link in the network by executing the model with a negative extra packet delay, wherein the candidate network is faster than the network; scaling up the system using information from the detected resource bottleneck.