US 7,353,285 B2
Apparatus, system, and method for maintaining task prioritization and load balancing
Angqin Bai, Tucson, Ariz. (US); Alex Q. Chen, Tucson, Ariz. (US); James Chien-Chiung Chen, Tucson, Ariz. (US); and Theodore Timothy Harris, Jr., Tucson, Ariz. (US)
Assigned to International Business Machines Corporation, Armonk, N.Y. (US)
Filed on Nov. 20, 2003, as Appl. No. 10/717,942.
Prior Publication US 2005/0114286 A1, May 26, 2005
Int. Cl. G06F 15/16 (2006.01)
U.S. Cl. 709—235  [718/102; 370/237] 23 Claims
OG exemplary drawing
 
1. A prioritization apparatus for data in a communication channel, comprising:
a prioritization module comprising executable code stored on a storage device, executed by a processor, and configured to define a plurality of prioritization levels;
a communication module comprising executable code stored on the storage device, executed by the processor, and configured to process tasks over a plurality of communication channels and indicate that tasks are processed on selected communication channels;
an upgrade module comprising executable code stored on the storage device, executed by the processor, and configured to upgrade the prioritization level of unsuccessful tasks; and
a task controller comprising executable code stored on the storage device, executed by the processor, and configured to increment a counter for a selected communication channel, decrement the counter of the selected communication channel if the task is processed, and if the task is unsuccessful, maintain system resources on the failed selected target channel by maintaining a count of the counter of the failed selected communication channel while resubmitting the unsuccessful task to a different channel and decrementing the counter of the failed selected communication channel when the task is successfully processed on the different channel.