IP Library › Granted Patent US 12,314,763
Granted Patent B2
US 12,314,763 · App. 18/525,748 · Granted May 27, 2025

Managing resources of a system based on hardware transactional memory

Inventor: Dipnarayan Guha (Victoria, AU)
Assignee: ENSO TECHNOLOGY LAB L.L.C
G06F9/5016
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,314,763
App. No.
18/525,748
Granted
May 27, 2025
Kind
B2
Abstract

A system manages resources based on a hardware transactional memory unit. The system stores a system profile map comprising system profiles of applications. The system profile of an application stores information describing system resource utilization of the application. If a request for resources for executing a new application is received, a hardware transactional memory unit determines an amount of memory to be allocated for executing the new application and allocates memory partitions for executing the new application. The system profile of the new application is compared with system profiles in the system profile map. If there are any indicators of compromise representing potential compromise of the new application the request for resources for the new application is denied. The system generates and uses true random numbers.

Claims (46)

1. A computer-implemented method comprising:

storing a plurality of policies in a policy database, wherein a policy identifies a particular set of component units from one or more computer systems, each component unit generating data values used for generating seed values for generating random numbers;

selecting from the policy database, a policy identifying a set of component units;

generating a set of seed values based on the policy, comprising:

receiving data values generated by each of the set of component units,

combining the data values received from the set of component units to generate a seed value, and

using the seed value to generate random numbers;

determining a randomness quality score of seed values generated using the policy, the randomness quality score determined based on one or more statistical properties associated with the set of seed values; and

responsive to determining that the randomness quality score of seed values generated using the policy indicates a quality that is below a threshold value, selecting a different policy from the policy database.

2. The computer-implemented method of claim 1 , wherein a policy further specifies an operation used for modifying data values generated by a component unit.

3. The computer-implemented method of claim 1 , wherein a policy further specifies an expression for combining data values generated based on multiple component units.

4. The computer-implemented method of claim 1 , wherein a policy further specifies an expression for generating a permutation of data values generated by different component units.

5. The computer-implemented method of claim 1 , wherein the randomness quality score is based on a measure of correlation between sets of data values obtained from two different component units.

6. The computer-implemented method of claim 1 , wherein the randomness quality score is based on a measure of correlation between sets of data values obtained from a component unit at different points in time.

7. The computer-implemented method of claim 1 , wherein the randomness quality score is inversely related to a degree of correlation between sets of data values used for generating seed values.

8. The computer-implemented method of claim 1 , wherein a random number generated is used as an estimate of an amount of memory to be allocated for executing an application.

9. The computer-implemented method of claim 1 , further comprising, generating new policies and adding to the policy database, wherein a new policy is generated by modifying one or more existing policies by changing one or more attributes of the policy, wherein an attribute represents a component unit, an operator applied to data values of a component unit, an expression for combining data generated by component units, or a permutation of data values generated by a component unit.

10. A non-transitory computer readable storage medium storing instructions that when executed by one or more computer processors cause the one or more computer processors to perform steps comprising:

storing a plurality of policies in a policy database, wherein a policy identifies a particular set of component units from one or more computer systems, each component unit generating data values used for generating seed values for generating random numbers;

selecting from the policy database, a policy identifying a set of component units;

generating a set of seed values based on the policy, comprising:

receiving data values generated by each of the set of component units,

combining the data values received from the set of component units to generate a seed value, and

using the seed value to generate random numbers;

determining a randomness quality score of seed values generated using the policy, the randomness quality score determined based on one or more statistical properties associated with the set of seed values; and

responsive to determining that the randomness quality score of seed values generated using the policy indicates a quality that is below a threshold value, selecting a different policy from the policy database.

11. The non-transitory computer readable storage medium of claim 10 , wherein a policy further specifies an operation used for modifying data values generated by a component unit.

12. The non-transitory computer readable storage medium of claim 10 , wherein a policy further specifies an expression for combining data values generated based on multiple component units.

13. The non-transitory computer readable storage medium of claim 10 , wherein a policy further specifies an expression for generating a permutation of data values generated by different component units.

14. The non-transitory computer readable storage medium of claim 10 , wherein the randomness quality score is based on a measure of correlation between sets of data values obtained from two different component units.

15. The non-transitory computer readable storage medium of claim 10 , wherein the randomness quality score is based on a measure of correlation between sets of data values obtained from a component unit at different points in time.

16. The non-transitory computer readable storage medium of claim 10 , wherein the randomness quality score is inversely related to a degree of correlation between sets of data values used for generating seed values.

17. The non-transitory computer readable storage medium of claim 10 , wherein a random number generated is used as an estimate of an amount of memory to be allocated for executing an application.

18. The non-transitory computer readable storage medium of claim 10 , further comprising instructions that cause the one or more computer processors to generate new policies and adding to the policy database, wherein a new policy is generated by modifying one or more existing policies by changing one or more attributes of the policy, wherein an attribute represents a component unit, an operator applied to data values of a component unit, an expression for combining data generated by component units, or a permutation of data values generated by a component unit.

19. A computer system comprising:

one or more computer processors; and

a non-transitory computer readable storage medium storing instructions that when executed by the one or more computer processors cause the one or more computer processors to perform steps comprising:

storing a plurality of policies in a policy database, wherein a policy identifies a particular set of component units from one or more computer systems, each component unit generating data values used for generating seed values for generating random numbers;

selecting from the policy database, a policy identifying a set of component units;

generating a set of seed values based on the policy, comprising:

receiving data values generated by each of the set of component units,

combining the data values received from the set of component units to generate a seed value, and

using the seed value to generate random numbers;

determining a randomness quality score of seed values generated using the policy, the randomness quality score determined based on one or more statistical properties associated with the set of seed values; and

responsive to determining that the randomness quality score of seed values generated using the policy indicates a quality that is below a threshold value, selecting a different policy from the policy database.

20. The computer system of claim 19 , further comprising instructions that cause the one or more computer processors to generate new policies and adding to the policy database, wherein a new policy is generated by modifying one or more existing policies by changing one or more attributes of the policy, wherein an attribute represents a component unit, an operator applied to data values of a component unit, an expression for combining data generated by component units, or a permutation of data values generated by a component unit.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2024
From: GAMMA INVENTIONS PTY LTD
To: ENSO TECHNOLOGY LAB L.L.C
Reel/Frame 067532/0568 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2024
From: B Q T TECHNOLOGIES
To: GAMMA INVENTIONS PTY LTD
Reel/Frame 066571/0138 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2023
From: GUHA, DIPNARAYAN
To: B Q T TECHNOLOGIES
Reel/Frame 065739/0027 →
Continuity (2)
Continuation 18207664 · Jun 8, 2023
Related Publication 20240411596A1 · Dec 12, 2024
References Cited (2)
US 20210019190A1 · Punadikar · 2021 [cited by examiner]
US 20230017844A1 · Gan et al. · 2023 [cited by applicant]