US12443442B2ActiveUtilityA1

Determination of hardware resource utilization

49
Assignee: CITRIX SYSTEMS INCPriority: Apr 30, 2021Filed: Apr 30, 2021Granted: Oct 14, 2025
Est. expiryApr 30, 2041(~14.8 yrs left)· nominal 20-yr term from priority
G06F 2209/509G06F 21/602G06F 9/5011G06F 9/50G06F 21/53
49
PatentIndex Score
0
Cited by
9
References
19
Claims

Abstract

A method may include determining a first weight for a first type of operation and a second weight for a second type of operation. The first weight may correspond to a first quantity of the first type of operation a hardware resource is capable of performing during a time interval. The second weight may correspond to a second quantity of the second type of operation the hardware resource is capable of performing during the time interval. Utilization of the hardware resource may correspond to a weighted sum of the respective quantities of the first type of operation and the second type of operation offloaded to the hardware resource. Allocation of hardware resources may be adjusted based on utilization. Related systems and articles of manufacture are also provided.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system, comprising:
 at least one data processor; and 
 at least one memory storing instructions, which when executed by the least one data processor, cause the at least one data processor to at least:
 determine, based on a weight matrix, a first weight for a first type of operation, the first weight being an inverse of a first quantity of the first type of operation a first hardware resource is capable of performing during a time interval; 
 determine a second quantity of the first type of operation offloaded to the first hardware resource during the time interval; 
 determine, based at least on the first weight and the second quantity, a first utilization of the first hardware resource; 
 adjust, based at least on the first utilization, an allocation of hardware resources; 
 in response to the first utilization of the first hardware resource increasing at an above threshold rate, increase the allocation of hardware resources; and 
 in response to the first utilization of the first hardware resource decreasing at the above threshold rate, decrease the allocation of hardware resources. 
 
 
     
     
       2. The system of  claim 1 , wherein the at least one data processor is further caused to at least:
 determine, based on the weight matrix, a second weight for a second type of operation, the second weight being an inverse of a second quantity of the second type of operation the first hardware resource is capable of performing during the time interval; 
 determine a third quantity of the second type of operation offloaded to the first hardware resource during the time interval; and 
 determine, further based at least on the second weight and third second quantity, the first utilization of the first hardware resource. 
 
     
     
       3. The system of  claim 1 , wherein the at least one data processor is further caused to at least:
 determine a second weight for the first type of operation, the second weight being an inverse of a second quantity of the first type of operation a second hardware resource is capable of performing during the time interval, the second hardware resource being a different type of hardware resource; 
 determine a third quantity of the first type of operation offloaded to the second hardware resource during the time interval; 
 determine, based at least on the second weight and third second quantity, a second utilization of the second hardware resource; and 
 adjust, further based at least on the second utilization, the allocation of hardware resources. 
 
     
     
       4. The system of  claim 3 , wherein the allocation of hardware resources is adjusted based on an average of the first utilization of the first hardware resource and the second utilization of the second hardware resource. 
     
     
       5. The system of  claim 1 , wherein the at least one data processor is further caused to at least:
 detect an operation being offloaded for performance by the first hardware resource; and 
 in response to the operation being the first type of operation, increment a counter associated with the first type of operation, the second quantity of the first type of operation offloaded to the first hardware resource during the time interval being determined based at least on a value of the counter. 
 
     
     
       6. The system of  claim 1 , wherein the at least one data processor is further caused to at least:
 in response to the first utilization of the first hardware resource exceeding a first threshold value, increase the allocation of hardware resources; and 
 in response to the first utilization of the first hardware resource being below a second threshold value, decrease the allocation of hardware resources. 
 
     
     
       7. The system of  claim 1 , wherein the first hardware resource comprises a cryptographic accelerator dedicated to performing cryptographic operations. 
     
     
       8. The system of  claim 1 , wherein the first type of operation comprises a Rivest-Shamir-Adleman (RSA) operation, an Advanced Encryption Standard (AES) operation, a Elliptic Curve Cryptography (ECC) operation, a Data Encryption Standard (DES) operation, a Secure Hash Algorithms (SHA) operation, or a Diffie-Hellman (DH) operation. 
     
     
       9. The system of  claim 1 , wherein the first hardware resource is part of an application delivery controller configured to perform a Secure Socket Layer (SSL) offload by at least performing the second quantity of the first type of operation. 
     
     
       10. A computer-implemented method, comprising:
 determining, based on a weight matrix, a first weight for a first type of operation, the first weight being a first quantity of the first type of operation a first hardware resource is capable of performing during a time interval; 
 determining a second quantity of the first type of operation offloaded to the first hardware resource during the time interval; 
 determining, based at least on the first weight and the second quantity, a first utilization of the first hardware resource; 
 adjusting, based at least on the first utilization, an allocation of hardware resources; 
 in response to the first utilization of the first hardware resource increasing at an above threshold rate, increasing the allocation of hardware resources; and 
 in response to the first utilization of the first hardware resource decreasing at the above threshold rate, decreasing the allocation of hardware resources. 
 
     
     
       11. The method of  claim 10 , further comprising:
 determining, based on the weight matrix, a second weight for a second type of operation, the second weight being an inverse of a second quantity of the second type of operation the first hardware resource is capable of performing during the time interval; 
 determining a third quantity of the second type of operation offloaded to the first hardware resource during the time interval; and 
 determining, further based at least on the second weight and third second quantity, the first utilization of the first hardware resource. 
 
     
     
       12. The method of  claim 10 , further comprising:
 determining a second weight for the first type of operation, the second weight being an inverse of a second quantity of the first type of operation a second hardware resource is capable of performing during the time interval, the second hardware resource being a different type of hardware resource; 
 determining a third quantity of the first type of operation offloaded to the second hardware resource during the time interval; 
 determining, based at least on the second weight and third second quantity, a second utilization of the second hardware resource; and 
 adjusting, further based at least on the second utilization, the allocation of hardware resources. 
 
     
     
       13. The method of  claim 12 , wherein the allocation of hardware resources is adjusted based on an average of the first utilization of the first hardware resource and the second utilization of the second hardware resource. 
     
     
       14. The method of  claim 10 , further comprising:
 detecting an operation being offloaded for performance by the first hardware resource; and 
 in response to the operation being the first type of operation, incrementing a counter associated with the first type of operation, the second quantity of the first type of operation offloaded to the first hardware resource during the time interval being determined based at least on a value of the counter. 
 
     
     
       15. The method of  claim 10 , further comprising:
 in response to the first utilization of the first hardware resource exceeding a first threshold value, increasing the allocation of hardware resources; and 
 in response to the first utilization of the first hardware resource being below a second threshold value, decreasing the allocation of hardware resources. 
 
     
     
       16. The method of  claim 10 , wherein the first hardware resource comprises a cryptographic accelerator dedicated to performing cryptographic operations. 
     
     
       17. The method of  claim 10 , wherein the first type of operation comprises a Rivest-Shamir-Adleman (RSA) operation, an Advanced Encryption Standard (AES) operation, a Elliptic Curve Cryptography (ECC) operation, a Data Encryption Standard (DES) operation, a Secure Hash Algorithms (SHA) operation, or a Diffie-Hellman (DH) operation. 
     
     
       18. A non-transitory computer readable medium storing instructions, which when executed by at least one data processor, result in operations comprising:
 operation means for determining, based on a weight matrix, a first weight for a first type of operation, the first weight corresponding to a first quantity of the first type of operation a first hardware resource is capable of performing during a time interval; 
 operation means for determining a second quantity of the first type of operation offloaded to the first hardware resource during the time interval; 
 operation means for determining, based at least on the first weight and the second quantity, a first utilization of the first hardware resource; and 
 operation means for adjusting, based at least on the first utilization, an allocation of hardware resources; 
 wherein the first weight is an inverse of the first quantity of the first type of operation the first hardware resource is capable of performing during the time interval. 
 
     
     
       19. The non-transitory computer readable medium of  claim 18  wherein the operations further comprise:
 operation means for adjusting, based on a rate of change of the first utilization of the first hardware resource, the allocation of hardware resources.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.