System and methods for network call load simulation
First Claim
1. A method of simulating responses to request calls in a computer comprising:
- receiving a call to perform a task by a simulation agent;
identifying currently pending requests operable for concurrent processing by the simulation agent;
computing, based on a collective load burden of the identified currently pending requests, a completion time for the processing of the received task call including determining a contention period for each interval during which a fixed number of currently pending requests are executing concurrently with the received task;
recalculating, based on the received call, the completion time of the currently pending requests; and
transmitting a response to the received task call at the recalculated completion time, the computer responsive to the transmitted response for invoking instructions.
9 Assignments
0 Petitions
Accused Products
Abstract
Configurations of the invention simulate an exchange of calls emanating from a SAN management application to a plurality of manageable entities. The simulated call load provides simultaneous simulated calls for observing and analyzing responses to various loading scenarios characterized by multiple pending calls to the SAN. Configurations discussed herein identify a processing work burden and corresponding completion time associated with each of the simulated calls. A simulation agent aggregates the work burden of concurrent requests and computes a latency factor associated with each call based on the load presented by all pending calls. By adjusting the latency time of each pending call, and adjusting the latency to represent the additional processing imposed by successive pending calls, the simulated responses provide an accurate set of responses, rather than merely returning an unencumbered rapid response of expected content which may elusively represent the actual timeliness of responses in a loaded system.
27 Citations
28 Claims
-
1. A method of simulating responses to request calls in a computer comprising:
-
receiving a call to perform a task by a simulation agent; identifying currently pending requests operable for concurrent processing by the simulation agent; computing, based on a collective load burden of the identified currently pending requests, a completion time for the processing of the received task call including determining a contention period for each interval during which a fixed number of currently pending requests are executing concurrently with the received task; recalculating, based on the received call, the completion time of the currently pending requests; and transmitting a response to the received task call at the recalculated completion time, the computer responsive to the transmitted response for invoking instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of simulating processing contention comprising:
-
receiving a new task identifying pending tasks in concurrent contention with the new task calculating an estimated completion time for the new task; calculating completion time for each of the pending tasks; identifying a time until the earliest of the calculated completion time as the contention period; extending the processing time of each of the current tasks during the contention period based on the addition of the new task; computing remaining processing to be performed on the new tasks; establishing, if there is no remaining processing to be performed on the new task, the end of the current contention period as the completion time for the new task; and identifying the next successive termination of the new task and the pending tasks as the current contention period; repeating the recalculating of completion times, extending the processing time, and computing remaining processing on the new task until the remaining processing on the new task is complete.
-
-
13. A method for processing storage area network resource access requests, the method comprising:
-
receiving a storage area network resource access request for access to a simulated resource within a simulated storage area network environment; calculating a resource access response time that simulates contention for access to the simulated resource by other resource requests; preparing a resource access response to the storage area network resource access request based on a contention period indicative of the calculated resource access response time; and forwarding the resource access response at the calculated resource access response time. - View Dependent Claims (14)
-
-
15. A computing device for simulating responses to a request call load comprising:
-
a simulation agent for receiving a call to perform a task, the simulation agent operable as an emulated resource; a processing queue operable for identifying currently pending requests operable for concurrent processing by the simulation agent; a latency simulator operable for computing, based on a collective load burden of the identified currently pending requests, a completion time for the processing of the received task call; and scheduling logic in the latency simulator for recalculating, based on the received call, the completion time of the currently pending requests, the scheduling logic further operable to determine a contention period for each interval during which a fixed number of currently pending requests are executing concurrently with the received task, the latency simulator transmitting a response to the received task call at the computed completion time, the computing device responsive to the transmitted response for invoking instructions. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A computer program product having a computer readable medium operable to store computer program logic embodied in computer program code encoded as a set of instructions thereon which, when executed by a processor in a computer responsive to the instructions, cause the computer to perform steps for simulating responses to request calls comprising:
-
receiving a call to perform a task by a simulation agent; identifying currently pending requests operable for concurrent processing by the simulation agent; computing, based on the collective load burden of the identified currently pending requests, a completion time for the processing of the received task call; recalculating, based on the received call, the completion time of the currently pending requests; transmitting a response to the received task call at the recalculated completion time; receiving successive task calls requesting an associated response; recalculating the completion time of each of the currently pending requests; and transmitting the associated response for each of the currently pending requests at the corresponding recalculated completion time, the computer responsive to the transmitted response for invoking instructions.
-
-
27. A computer program on a computer readable storage medium having program code including a set of instructions, which when executed by a computer, perform a method for simulating responses to request calls, the method comprising:
-
receiving a call to perform a task by a simulation agent; identifying currently pending requests operable for concurrent processing by the simulation agent; computing, based on the collective load burden of the identified currently pending requests, a completion time for the processing of the received task call including determining a contention period for each interval during which a fixed number of currently pending requests are executing concurrently with the received task; recalculating, based on the received call, the completion time of the currently pending requests; and transmitting a response to the received task call at the recalculated completion time, the computer responsive to the transmitted response for invoking instructions.
-
-
28. A simulator device having program code on a computer readable storage medium, the code including a set of instructions, which when executed on a computer, perform steps for simulating responses to request calls to nodes in a storage area network comprising:
-
means for receiving a call to perform a task by a simulation agent; means for identifying currently pending requests operable for concurrent processing by the simulation agent; means for computing, based on the collective load burden of the identified currently pending requests, a completion time for the processing of the received task call including determining a contention period for each interval during which a fixed number of currently pending requests are executing concurrently with the received task; means for recalculating, based on the received call, the completion time of the currently pending requests; and means for transmitting a response to the received task call at the recalculated completion time, the node responsive to the transmitted response for invoking instructions.
-
Specification