IP Library Granted Patent US 7,930,395
Granted Patent B2
US 7,930,395 · App. 12/325,326 · Granted Apr 19, 2011

System and method for managing system resources in a network environment

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,930,395
App. No.
12/325,326
Granted
Apr 19, 2011
Kind
B2
Abstract

A method for managing system resources in a network environment. The method begins by reading from a first log both timestamp T i and actual response R i for i=1, 2, . . . , I. Each T i comprising a timestamp corresponding to a request to utilize system resources. Each R i comprising a length of time necessary for the system to respond to the request. After reading timestamps and response times, for each combination of both T i and R i where R i does not equal zero: calculating active thread AT(T i +j) for j=0, 1, . . . , R i −1, according to a function AT(T i +j)=AT(T i +j)+1. Active thread AT(T i +j) comprising the total number of threads active in the system at time T i +j. Finally, storing active thread AT(T i +j) for in a second log. The second log comprising both timestamp T i +j and active thread AT(T i +j).

Claims (88)

1. A method for managing system resources in a network environment, said method comprising:

reading from a first log both timestamp T i and actual response R i for i=1, 2, . . . , I, said T i comprising a timestamp corresponding to a request to utilize said system resources, said R i comprising a length of time necessary for said system to respond to said request, said R i being expressed in dimensionless units, said I corresponding to the total number of both said timestamps and said actual responses residing in said first log, said I being a positive integer having a value greater than 1; and

for each combination of both timestamp T i and actual response R i for i=1, 2, . . . , I, where R i does not equal zero:

calculating a number active threads AT(T i +j) in said system at time T i +j for j=0, 1, . . . , R 1 −1, according to a function AT(T i +j)=AT(T i +j)+1, said AT(T i +j) comprising the total number of threads active at time T i +j; and

storing AT(T i +j) for j=0, 1, . . . , R i −1, in a second log, said second log comprising both timestamp T i +j and AT(T i +j).

2. The method of claim 1 , said method further comprising:

comparing a threshold value to each said active thread AT y for y=1, 2, . . . , Y, said index Y being a positive integer equal to the total number of active thread values residing in said second log, said threshold value being a positive integer having a value greater than 1; and

sending a message to an output device if said comparing determines that at least one said active thread AT y has a value greater than said threshold value.

3. The method of claim 2 , wherein said threshold value is both provided by an administrator and received prior to said comparing.

4. The method of claim 2 , said message further comprising:

each of said at least one active thread AT y determined to have a value greater than said threshold value; and

each timestamp T y corresponding to each said at least one active thread AT y determined to have a value greater than said threshold value.

5. The method of claim 1 , wherein prior to said reading from said first log:

reading from a third log timestamp T i for i=1, 2, . . . , I;

after said reading from said third log, calculating estimated response E i for i=1, 2, . . . , I, according to a function E i =max(T x |1<x<i);

calculating said actual response R i for i=1, 2, . . . , I, according to a function R i =E i −T i , wherein if said R i is equal to a negative number then R i is changed to being equal to 0; and

storing said actual response Ri for i=1, 2, . . . , I, in said first log, said second log comprising both timestamp T i and actual response R i for i=1, 2, . . . , I.

6. The method of claim 5 , wherein prior to said reading from said third log:

monitoring a network server for at least one said request to utilize said system resources;

monitoring said network server for at least one response, each response of said at least one response corresponding to a unique request of said at least one said request;

in response to having identified said at least one said request, recording a timestamp T corresponding to the time in which said at least one said request was identified; and

in response to having identified said at least one said response, storing said timestamp T in said third log.

7. A computer program product, comprising a computer readable storage device having a computer-readable program code stored therein, said computer-readable program code containing instructions that when executed by a processor of a computer system implement a method for managing system resources in a network environment, said method comprising:

reading from a first log both timestamp T i and actual response R i for i=1, 2, . . . , I, said T i comprising a timestamp corresponding to a request to utilize said system resources, said R i comprising a length of time necessary for said system to respond to said request, said R i being expressed in dimensionless units, said I corresponding to the total number of both said timestamps and said actual responses residing in said first log, said I being a positive integer having a value greater than 1; and

for each combination of both timestamp T i and actual response R i for i=1, 2, . . . , I, where R i does not equal zero:

calculating a number active threads AT(T i +j) in said system at time T i +j for j=0, 1, . . . , R i −1, according to a function AT(T i +j)=AT(T i +j)+1, said AT(T i +j) comprising the total number of threads active at time T i +j; and

storing AT(T i +j) for j=0, 1, . . . , R i −1, in a second log, said second log comprising both timestamp T i +j and AT(T i +j).

8. The computer program product of claim 7 , said method further comprising:

comparing a threshold value to each said active thread AT y for y=1, 2, . . . , Y, said index Y being a positive integer equal to the total number of active thread values residing in said second log, said threshold value being a positive integer having a value greater than 1; and

sending a message to an output device if said comparing determines that at least one said active thread AT y has a value greater than said threshold value.

9. The computer program product of claim 8 , wherein said threshold value is both provided by an administrator and received prior to said comparing.

10. The computer program product of claim 8 , said message further comprising:

each of said at least one active thread AT y determined to have a value greater than said threshold value; and

each timestamp T y corresponding to each said at least one active thread AT y determined to have a value greater than said threshold value.

11. The computer program product of claim 7 , wherein prior to said reading from said first log:

reading from a third log timestamp T i for i=1, 2, . . . , I;

after said reading from said third log, calculating estimated response E i for i=1, 2, . . . , I, according to a function E i =max(T x |1<x<i);

calculating said actual response R i for i=1, 2, . . . , I, according to a function R i =E i −T i , wherein if said R i is equal to a negative number then R i is changed to being equal to 0; and

storing said actual response Ri for i=1, 2, . . . , I, in said first log, said second log comprising both timestamp T i and actual response R i for i=1, 2, . . . , I.

12. The computer program product of claim 11 , wherein prior to said reading from said third log:

monitoring a network server for at least one said request to utilize said system resources;

monitoring said network server for at least one response, each response of said at least one response corresponding to a unique request of said at least one said request;

in response to having identified said at least one said request, recording a timestamp T corresponding to the time in which said at least one said request was identified; and

in response to having identified said at least one said response, storing said timestamp T in said third log.

13. A computing system comprising a processor coupled to a computer-readable memory unit, said memory unit comprising a software application, said software application comprising instruction that when executed by said processor, implement a method for managing system resources in a network environment, said method comprising:

reading from a first log both timestamp T i and actual response R i for i=1, 2, . . . , I, said T i comprising a timestamp corresponding to a request to utilize said system resources, said R i comprising a length of time necessary for said system to respond to said request, said R i being expressed in dimensionless units, said I corresponding to the total number of both said timestamps and said actual responses residing in said first log, said I being a positive integer having a value greater than 1; and

for each combination of both timestamp T i and actual response R i for i=1, 2, . . . , I, where does not equal zero:

calculating a number active threads AT(T i +j) in said system at time T i +j for j=0, 1, . . . , R i −1, according to a function AT(T i +j)=AT(T i +j)+1, said AT(T i +j) comprising the total number of threads active at time T i +j; and

storing AT(T i +j) for j=0, 1, . . . , R i −1, in a second log, said second log comprising both timestamp T i +j and AT(T i +j).

14. The computing system of claim 13 , said method further comprising:

comparing a threshold value to each said active thread AT y for y=1, 2, . . . , Y, said index Y being a positive integer equal to the total number of active thread values residing in said second log, said threshold value being a positive integer having a value greater than 1; and

sending a message to an output device if said comparing determines that at least one said active thread AT y has a value greater than said threshold value.

15. The computing system of claim 14 , wherein said threshold value is both provided by an administrator and received prior to said comparing.

16. The computing system of claim 14 , said message further comprising:

each of said at least one active thread AT y determined to have a value greater than said threshold value; and

each timestamp T y corresponding to each said at least one active thread AT y determined to have a value greater than said threshold value.

17. The computing system of claim 13 , wherein prior to said reading from said first log:

reading from a third log timestamp T i for i=1, 2, . . . , I;

after said reading from said third log, calculating estimated response E i for i=1, 2, . . . , I, according to a function E i =max(T x |1<x<i);

calculating said actual response for i=1, 2, . . . , I, according to a function R i =E i −T i , wherein if said is equal to a negative number then R i is changed to being equal to 0; and

storing said actual response Ri for i=1, 2, . . . , I, in said first log, said second log comprising both timestamp T i and actual response R i for i=1, 2, . . . , I.

18. The computing system of claim 17 , wherein prior to said reading from said third log:

monitoring a network server for at least one said request to utilize said system resources;

monitoring said network server for at least one response, each response of said at least one response corresponding to a unique request of said at least one said request;

in response to having identified said at least one said request, recording a timestamp T corresponding to the time in which said at least one said request was identified; and

in response to having identified said at least one said response, storing said timestamp T in said third log.

19. A process for supporting computer infrastructure, said process comprising providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer-readable code in a computing system, wherein said code in combination with the computing system is capable of implementing a method for managing system resources in a network environment, said method comprising:

reading from a first log both timestamp T i and actual response R i for i=1, 2, . . . , I, said T i comprising a timestamp corresponding to a request to utilize said system resources, said R i comprising a length of time necessary for said system to respond to said request, said R i being expressed in dimensionless units, said I corresponding to the total number of both said timestamps and said actual responses residing in said first log, said I being a positive integer having a value greater than 1; and

for each combination of both timestamp T i and actual response R i for i=1, 2, . . . , I, where R i does not equal zero:

calculating a number active threads AT(T i +j) in said system at time T i +j for j=0, 1, . . . , R i −1, according to a function AT(T i +j j )=AT(T i +j)+1, said AT(T i +j) comprising the total number of threads active at time T i +j; and

storing AT(T i +j) for j=0, 1, . . . , R i −1, in a second log, said second log comprising both timestamp T i +j and AT(T i +j).

20. The process for supporting computer infrastructure of claim 19 , said method further comprising:

comparing a threshold value to each said active thread AT y for y=1, 2, . . . , Y, said index Y being a positive integer equal to the total number of active thread values residing in said second log, said threshold value being a positive integer having a value greater than 1; and

sending a message to an output device if said comparing determines that at least one said active thread AT y has a value greater than said threshold value.

21. The process for supporting computer infrastructure of claim 20 , wherein said threshold value is both provided by an administrator and received prior to said comparing.

22. The process for supporting computer infrastructure of claim 20 , said message further comprising:

each of said at least one active thread AT y determined to have a value greater than said threshold value; and

each timestamp T y corresponding to each said at least one active thread AT y determined to have a value greater than said threshold value.

23. The process for supporting computer infrastructure of claim 19 , wherein prior to said reading from said first log:

reading from a third log timestamp T i for i=1, 2, . . . , I;

after said reading from said third log, calculating estimated response E i for i=1, 2, . . . , I, according to a function E i =max(T x |1<x<i);

calculating said actual response R i for i=1, 2, . . . , I, according to a function R i =E i −T i , wherein if said R i is equal to a negative number then R i is changed to being equal to 0; and

storing said actual response Ri for i=1, 2, . . . , I, in said first log, said second log comprising both timestamp T i and actual response R i for i=1, 2, . . . , I.

24. The process for supporting computer infrastructure of claim 19 , wherein prior to said reading from said third log:

monitoring a network server for at least one said request to utilize said system resources;

monitoring said network server for at least one response, each response of said at least one response corresponding to a unique request of said at least one said request;

in response to having identified said at least one said request, recording a timestamp T corresponding to the time in which said at least one said request was identified; and

in response to having identified said at least one said response, storing said timestamp T in said third log.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2008
From: MORIBAYASHI, AKIRA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021903/0491 →
Continuity (1)
Related Publication 20100138510A1 · Jun 3, 2010