Method and system to alleviate denial-of-service conditions on a server
First Claim
1. A method for processing data in a multithreaded application in a data processing system, the method comprising:
- placing work items into a data structure that is maintained in the data processing system, wherein the work items are pending processing by the multithreaded application;
processing work items from the data structure by a plurality of threads within the multithreaded application in accordance with a first algorithm;
processing work items from the data structure by a thread within the multithreaded application in accordance with a second algorithm that differs from the first algorithm, wherein the thread is configured distinctly from the plurality of threads.
1 Assignment
0 Petitions
Accused Products
Abstract
A method is presented for processing data in a multithreaded application to alleviate impaired or substandard performance conditions. Work items that are pending processing by the multithreaded application are placed into a data structure. The work items are processed by a plurality of threads within the multithreaded application in accordance with a first algorithm, e.g., first-in first-out (FIFO). A thread within the multithreaded application is configured apart from the plurality of threads such that it processes work items in accordance with a second algorithm that differs from the first algorithm, thereby avoiding the impairing condition. For example, the thread may process a pending work item only if it has a particular characteristic. The thread restricts its own processing of work items by intermittently evaluating workflow conditions for the plurality of threads; if the workflow conditions improve or are unimpaired, then the thread does not process any work items.
-
Citations
31 Claims
-
1. A method for processing data in a multithreaded application in a data processing system, the method comprising:
-
placing work items into a data structure that is maintained in the data processing system, wherein the work items are pending processing by the multithreaded application;
processing work items from the data structure by a plurality of threads within the multithreaded application in accordance with a first algorithm;
processing work items from the data structure by a thread within the multithreaded application in accordance with a second algorithm that differs from the first algorithm, wherein the thread is configured distinctly from the plurality of threads. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer program product on a computer readable medium for use in a data processing system for processing data in a multithreaded application, the computer program product comprising:
-
means for placing work items into a data structure that is maintained in the data processing system, wherein the work items are pending processing by the multithreaded application;
means for processing work items from the data structure by a plurality of threads within the multithreaded application in accordance with a first algorithm; and
means for processing work items from the data structure by a thread within the multithreaded application in accordance with a second algorithm that differs from the first algorithm, wherein the thread is configured distinctly from the plurality of threads. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. An apparatus for processing data, the apparatus comprising:
-
means for placing work items into a data structure that is maintained in the data processing system, wherein the work items are pending processing by the multithreaded application;
means for processing work items from the data structure by a plurality of threads within the multithreaded application in accordance with a first algorithm; and
means for processing work items from the data structure by a thread within the multithreaded application in accordance with a second algorithm that differs from the first algorithm, wherein the thread is configured distinctly from the plurality of threads.
-
Specification