Method and apparatus for managing software processes
First Claim
1. An automated method of managing a software process, comprising:
- registering a first process when said first process begins executing;
maintaining a set of rules for the first process, wherein said set of rules indicate when to recycle the first process, and wherein said set of rules identify one or more of a threshold length of time and a threshold number of transactions;
periodically receiving operating statistics from the first process, said operating statistics comprising;
a time indicator configured to indicate a length of time the first process has been continuously executing; and
a transaction indicator configured to indicate a number of transactions handled by the first process during said length of time;
comparing said length of time to a threshold length of time associated with the first process;
comparing said number of transactions to a threshold number of transactions associated with the first process;
comparing a minimum desired capacity of a set of software processes that includes the first process to a current capacity of the set of software processes minus a first capacity of the first process; and
instructing the first process to recycle if said current capacity minus said first capacity is not less than said minimum desired capacity and;
said length of time exceeds a threshold length of time associated with the first process;
orsaid number of transactions exceeds a threshold number of transactions associated with the first process.
10 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for managing software processes to improve their stability. Each instance of a software process periodically reports its operating status to a recycler. The status information identifies how long the instance has been continuously executing and how many transactions the instance has executed during that time. If either value exceeds a threshold associated with the process or that specific instance of the process, the instance is instructed to recycle. If instructed to recycle, the instance may stop accepting new transactions, finish handling its current transactions, then restart and resume normal operation. The recycler may postpone or cancel a recycle instruction if the combined capacity of all active instances of the process is below, or may fall below, a minimum desired capacity for the process. The recycler may also recycle itself.
48 Citations
27 Claims
-
1. An automated method of managing a software process, comprising:
-
registering a first process when said first process begins executing; maintaining a set of rules for the first process, wherein said set of rules indicate when to recycle the first process, and wherein said set of rules identify one or more of a threshold length of time and a threshold number of transactions; periodically receiving operating statistics from the first process, said operating statistics comprising; a time indicator configured to indicate a length of time the first process has been continuously executing; and a transaction indicator configured to indicate a number of transactions handled by the first process during said length of time; comparing said length of time to a threshold length of time associated with the first process; comparing said number of transactions to a threshold number of transactions associated with the first process; comparing a minimum desired capacity of a set of software processes that includes the first process to a current capacity of the set of software processes minus a first capacity of the first process; and instructing the first process to recycle if said current capacity minus said first capacity is not less than said minimum desired capacity and; said length of time exceeds a threshold length of time associated with the first process;
orsaid number of transactions exceeds a threshold number of transactions associated with the first process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of managing a software process, the method comprising:
-
registering a first process when said first process begins executing; maintaining a set of rules for the first process wherein said set of rules indicate when to recycle the first process, and wherein said set of rules identify one or more of a threshold length of time and a threshold number of transactions; periodically receiving operating statistics from the first process, said operating statistics comprising; a time indicator configured to indicate a length of time the first process has been continuously executing; and a transaction indicator configured to indicate a number of transactions handled by the first process during said length of time; comparing said length of time to a threshold length of time associated with the first process; comparing said number of transactions to a threshold number of transactions associated with the first process; comparing a minimum desired capacity of a set of software processes that includes the first process to a current capacity of the set of software processes minus a first capacity of the first process; and instructing the first process to recycle if said current capacity minus said first capacity is not less than said minimum desired capacity and; said length of time exceeds a threshold length of time associated with the first process;
orsaid number of transactions exceeds a threshold number of transactions associated with the first process.
-
-
20. An automated method of managing software processes, comprising:
-
for each of multiple software processes, identifying multiple instances of each software process executing on a plurality of computing devices; applying a first set of rules associated with a first software process to determine when to recycle a first instance, wherein said first set of rules identify one or more of a threshold length of time and a threshold number of transactions and wherein the first instance is an instance of the first software process; periodically receiving from each instance of each software process one or more of; an indicator of a length of time the instance has been continuously executing;
ora number of transactions handled by the instance during said length of time; determining whether a length of time an instance has been continuously executing exceeds a threshold length of time associated with the instance; determining whether a number of transactions handled by an instance exceeds a threshold number of transactions associated with the instance; determining whether a processing capacity of the multiple instances of the first software process that include the first instance may fall below a minimum desired capacity if the first instance is recycled; and instructing the first instance of the first software process to recycle if; said length of time the first instance has been continuously executing exceeds said threshold length of time;
orsaid number of transactions handled by the first instance during said length of time exceeds said threshold number of transactions. - View Dependent Claims (21, 22)
-
-
23. A computer readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of managing software processes, the method comprising:
-
for each of multiple software processes, identifying multiple instances of each software process executing on a plurality of computing devices; applying a first set of rules associated with a first software process to determine when to recycle a first instance, wherein said first set of rules identify one or more of a threshold length of time and a threshold number of transactions, and wherein the first instance is an instance of the first software process; periodically receiving from each instance of each software process one or more of; an indicator of a length of time the instance has been continuously executing;
ora number of transactions handled by the instance during said length of time; determining whether a length of time an instance has been continuously executing exceeds a threshold length of time associated with the instance; determining whether a number of transactions handled by an instance exceeds a threshold number of transactions associated with the instance; determining whether a processing capacity of the multiple instances of the first software process that include the first instance may fall below a minimum desired capacity if the first instance is recycled; and instructing the first instance of the first software process to recycle if; said length of time the first instance has been continuously executing exceeds said threshold length of time;
orsaid number of transactions handled by the first instance during said length of time exceeds said threshold number of transactions.
-
-
24. An apparatus for managing a set of software processes, comprising:
-
a processor; and a memory configured to store; a set of rules configured to indicate when an instance of a software process should be recycled, said set of rules including; a threshold period of time, wherein an instance of the software process may be instructed to recycle after executing continuously for a length of time exceeding said threshold period of time; a threshold number of transactions, wherein an instance of the software process may be instructed to recycle after handling said threshold number of transactions; and a minimum desired capacity for the software process; a communication module configured to periodically receive, from each executing instance of the software process; a length of time the instance of the software process has been continuously executing; and a number of transactions handled by the instance of the software process during said length of time; an interface configured to indicate when an instance of the software process should be recycled; and a recycler configured to instruct a first instance of the software process to recycle if; the first instance of the software process has been executing continuously for a period of time exceeding said threshold period of time;
orthe first instance of the software process has handled a number of transactions greater than said threshold number of transactions without restarting, wherein said recycler only instructs the first instance of the software process to recycle if the combined capacity of all other executing instances of the software process is not less than said minimum desired capacity. - View Dependent Claims (25, 26, 27)
-
Specification