IP Library Granted Patent US 11,237,809
Granted Patent B1
US 11,237,809 · App. 17/062,722 · Granted Feb 1, 2022

Feature set selection using parallel code fragments in executable code

Inventors: Matthew Miller (Irvine, CA); David Strong (Irvine, CA); Anthony Matyok (Irvine, CA)
Assignee: Unisys Corporation
G06F8/456G06F8/447G06F8/48G06F21/6245
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 11,237,809
App. No.
17/062,722
Granted
Feb 1, 2022
Kind
B1
Abstract

Systems and methods for executing compiled code having parallel code fragments is provided. One method includes storing executable code having a plurality of parallel code fragments, each of the plurality of parallel code fragments representing alternative executable paths through a code stream. The method includes translating the executable code into machine-readable code executable by a processor of the computing system. Translating the executable code includes selecting a code fragment from among the plurality of parallel code fragments for execution to select features for inclusion in execution at a time of execution. The method includes executing the machine-readable code within the hosted computing environment.

Claims (45)

1. A computing system comprising:

a processor; and

a memory communicatively coupled to the processor and storing instructions which, when executed by the processor, cause the computing system to perform:

storing executable code having at least one set of parallel code fragments including a plurality of parallel code fragments, each of the plurality of parallel code fragments included in the set representing alternative executable paths through a code stream;

determining at a processor executable at least one executable feature selected for use at execution of the executable code based on an identifier interpreted by the processor executable at the computing system, the processor executable supporting a hosted computing environment;

translating the executable code into machine-readable code executable by the processor, wherein translating the executable code includes selecting a code fragment from among the set of parallel code fragments for execution that includes the feature based on the identifier;

executing the machine-readable code within the hosted computing environment by the processor executable;

during execution of the machine-readable code, detecting, via the hosted computing environment and the processing executable, a change to the identifier indicating to discontinue use of the feature;

selecting an alternative code fragment from among the set of parallel code fragments that excludes the feature; and

replacing the code fragment with the alternative code fragment in the machine-readable code and continuing execution of the machine-readable code within the hosted computing environment.

2. The computing system of claim 1 , wherein the identifier comprises one or more feature bits indicative of one or more features to be used during execution of the executable code.

3. The computing system of claim 1 , wherein the at least one executable feature comprises an audit feature, and wherein separate parallel code fragments included in the set of parallel code fragments implement different audit features.

4. The computing system of claim 3 , wherein the different audit features include a Sarbanes-Oxley audit feature, a Health Insurance Portability and Accountability Act (HIPAA) audit feature, or a General Data Protection Regulation (GDPR) audit feature.

5. The computing system of claim 1 , wherein the at least one executable feature is selected from among an audit feature, a debug feature, and a logging feature.

6. The computing system of claim 1 , wherein at least one of the parallel code fragments included in the set of parallel code fragments lacks the at least one executable feature, thereby avoiding execution overhead caused by execution of the at least one executable feature.

7. The computing system of claim 6 , wherein the instructions cause the computing system to:

at a time of initial execution of the executable code, translating the executable code includes selecting the at least one parallel code fragment that lacks the at least one executable feature for inclusion in the machine-readable code and executing the machine readable code; and

during execution of the executable code, determining a change to the identifier indicating to include the at least one executable feature; and

without halting execution, re-translating a portion of the executable code to select the alternative code fragment from among the set of parallel code fragments that includes the feature based on the identifier; and

continuing execution of the executable code via the processor executable.

8. The computing system of claim 7 , wherein determining a change to the identifier comprises determining, via the processor executable and hosted computing environment, a change in feature bits that are selected to define features included from among the parallel code fragments.

9. The computing system of claim 1 , wherein the at least one executable feature resides only within a portion of the executable code.

10. The computing system of claim 1 , wherein translating the executable code includes selecting for execution a code fragment from among each of a plurality of sets of parallel code fragments throughout the executable code that include the feature based on the identifier.

11. A method of selecting, at execution time, features for execution that are included in parallel code fragments of executable code, the method comprising:

determining, at a processor executable that is executing on a host computing system, at least one executable feature selected based on an identifier interpreted by the processor executable in cooperation with a hosted computing environment;

translating executable code into machine-readable code, wherein translating the executable code includes selecting a code fragment from among a set of parallel code fragments for execution that includes the feature based on the identifier;

executing the machine-readable code within the hosted computing environment by the processor executable;

during execution of the machine-readable code, detecting, via the hosted computing environment and the processor executable, a change to the identifier indicating to discontinue use of the feature;

selecting an alternative code fragment from among the set of parallel code fragments that excludes the feature; and

replacing the code fragment with the alternative code fragment in the machine-readable code and continuing execution of the machine-readable code within the hosted computing environment.

12. The method of claim 11 , wherein execution of the machine-readable code including the alternative code fragment does not incur overhead experienced during execution of the machine-readable code including the code fragment.

13. The method of claim 11 , wherein translating the executable code is performed by the processor executable.

14. The method of claim 11 , wherein the processor executable translates the executable code from a first instruction set that is non-native to the host computing system to a second instruction set that is natively executable by the host computing system.

15. The method of claim 11 , wherein the identifier comprises one or more feature bits indicative of one or more features to be used during execution of the executable code.

16. The method of claim 11 , wherein the at least one executable feature resides only within a portion of the executable code.

17. The method of claim 11 , wherein translating the executable code includes selecting for execution a code fragment from among each of a plurality of sets of parallel code fragments throughout the executable code that include the feature based on the identifier.

18. The method of claim 11 , further comprising receiving the executable code from a second computing system remote from the host computing system after compilation of the executable code.

19. A method of selecting, at execution time, features for execution that are included in parallel code fragments of executable code, the method comprising:

determining, at a processor executable that is executing on a host computing system, at least one executable feature selected based on an identifier interpreted by the processor executable in cooperation with a hosted computing environment;

translating executable code into machine-readable code, wherein translating the executable code includes selecting a code fragment from among a set of parallel code fragments for execution that excludes the feature based on the identifier;

executing the machine-readable code within the hosted computing environment by the processor executable;

during execution of the machine-readable code, detecting, via the hosted computing environment and the processor executable, a change to the identifier indicating to initiate use of the feature;

selecting an alternative code fragment from among the set of parallel code fragments that includes the feature; and

replacing the code fragment with the alternative code fragment in the machine-readable code and continuing execution of the machine-readable code within the hosted computing environment, thereby enabling the feature during execution of the executable code.

20. The method of claim 19 , wherein the at least one executable feature is selected from among an audit feature, a debug feature, and a logging feature.

Assignments (5)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
SECURITY INTEREST Recorded Mar 16, 2021
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 055602/0846 →
SECURITY INTEREST Recorded Nov 19, 2020
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 054481/0865 →
SECURITY INTEREST Recorded Oct 30, 2020
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054226/0638 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2020
From: STRONG, DAVID; MILLER, MATTHEW; MATYOK, ANTHONY
To: UNISYS CORPORATION
Reel/Frame 053970/0808 →