US 11,727,154 B2
Crypto device operation
Klaus Werner, Moetzingen (DE); Joerg Schmidbauer, Boeblingen (DE); Jakob Christopher Lang, Tuebingen (DE); and Angel Nunez Mencias, Stuttgart (DE)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by International Business Machines Corporation, Armonk, NY (US)
Filed on Jul. 16, 2021, as Appl. No. 17/377,589.
Prior Publication US 2023/0018503 A1, Jan. 19, 2023
Int. Cl. G06F 21/72 (2013.01); G06F 9/50 (2006.01)
CPC G06F 21/72 (2013.01) [G06F 9/50 (2013.01); G06F 9/5005 (2013.01); G06F 9/5027 (2013.01); G06F 9/5038 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A computer-implemented method for operating a crypto device, wherein multiple work requests from one or more applications are queued to be processed by the crypto device, the method comprising:
generating a prediction table that includes multiple request types that correspond to the multiple work requests;
assigning, each of the multiple request types in the prediction table, a predicted execution time, wherein the predicted execution time corresponds to a type value of each of the multiple request types;
determining, for each application of the one or more applications, a credit value;
storing, for each application of the one or more applications, the credit value as an initial credit value;
determining, for each work request of the multiple work requests, a corresponding application of the one or more applications, a request type, and a current time stamp;
storing, for each work request of the multiple work requests, one or more entries in an ordered queue, wherein each entry of the one or more entries includes the determined corresponding application, the determined request type, and the determined current time stamp;
selecting, from the ordered queue and in response to the credit value being greater than or equal to the predicted execution time, a queued work request to be processed by the crypto device to create a selected work request;
processing, in response to determining none of the multiple work requests are being processed, the selected work request to create a processed work request;
removing an entry of the one or more entries in the ordered queue that corresponds to the processed work request;
determining a first execution time of the processed work request; and
reducing, based on the first execution time, the credit value to create an updated credit value for the application of the one or more applications.