IP Library Granted Patent US 12,591,447
Granted Patent B2
US 12,591,447 · App. 18/422,068 · Granted Mar 31, 2026

Hardware apparatus for isolated virtual environments

Inventors: Marc Couture (Alexandria, VA); Michael Palmer (Alexandria, VA)
Assignee: Parry Labs, LLC
G06F9/45558G06F2009/45562
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,591,447
App. No.
18/422,068
Granted
Mar 31, 2026
Kind
B2
Abstract

A hardware apparatus for isolated virtual environments includes graphics processing unit comprising a first dedicated memory and a first plurality of processing cores, a central processing unit comprising a second dedicated memory and a second plurality of processing cores, a field programmable gate array comprising a third dedicated memory, a control and data bus assembly connecting the field programmable gate array, the central processing unit, and the graphics processing unit, and a hypervisor located on a non-volatile memory of the hardware apparatus, the hypervisor configured to create one or more virtual machines by isolating the graphics processing unit, the central processing unit and the field programmable gate array.

Claims (60)

1 . A hardware apparatus for isolated virtual environments comprising:

a plurality of embedded processor and memory pairs comprising:

a graphics processing unit comprising a first dedicated memory and a first plurality of processing cores;

a central processing unit comprising a second dedicated memory and a second plurality of processing cores; and

a field programmable gate array comprising a third dedicated memory;

a control and data bus assembly connecting the field programmable gate array, the central processing unit, and the graphics processing unit; and

a hypervisor located on a non-volatile memory of the hardware apparatus, the hypervisor configured to:

select, using a fixed allocated application program interface comprising an allocation machine learning model, an embedded processor and memory pair of the plurality of embedded processor and memory pairs for software to be executed,

wherein the allocation machine learning model selects the embedded processor and memory pair as a function of at least a performance metric and a safety-criticality metric associated with the software to be executed,

wherein the safety-criticality metric indicates that the software to be executed is either safety-critical or non-safety critical, and

wherein the allocation learning model:

 determines an anticipated performance metric for each embedded processor and memory pair of the plurality of embedded processor and memory pairs for the software to be executed based on training data; and

 determines that the software must be allocated to a singular embedded processor and corresponding unpartitioned dedicated memory as a function of an indication that the software is safety-critical;

allocate the software to a singular embedded processor and corresponding unpartitioned dedicated memory based on an anticipated performance metric associated with the singular embedded processor and corresponding unpartitioned dedicated memory; and

run the software on the selected embedded processor and memory pair.

2 . The hardware apparatus of claim 1 , wherein the plurality of embedded processor and memory pairs comprises a plurality of heterogenous processing components.

3 . The hardware apparatus of claim 1 , wherein the plurality of embedded processor and memory pairs comprise a plurality of heterogenous memory components.

4 . The hardware apparatus of claim 1 , wherein the hardware apparatus comprises a host operating system.

5 . The hardware apparatus of claim 1 , wherein the hypervisor comprises a type 1 hypervisor.

6 . The hardware apparatus of claim 1 , wherein the hardware apparatus further comprises a controller card.

7 . The hardware apparatus of claim 6 , wherein controller card comprises a field replaceable unit.

8 . A method for generation of isolated virtual environments comprising:

receiving a computing device, the computing device comprising:

a plurality of embedded processor and memory pairs comprising:

a graphics processing unit comprising a first dedicated memory and a first plurality of processing cores;

a central processing unit comprising a second dedicated memory and a second plurality of processing cores; and

a field programmable gate array comprising a third dedicated memory; and

a control and data bus assembly connecting the field programmable gate array, the central processing unit, and the graphics processing unit;

selecting, using a hypervisor located on a non-volatile memory of the computing device, a fixed allocated application program interface and an allocation machine learning model, an embedded processor and memory pair of the plurality of embedded processor and memory pairs,

wherein the allocation machine learning model selects the embedded processor and memory pair as a function of at least a performance metric and a safety-criticality metric associated with software to be executed,

wherein the safety-criticality metric indicates that the software to be executed is either safety-critical or non-safety critical, and

wherein the allocation learning model:

determines an anticipated performance metric for each embedded processor and memory pair of the plurality of embedded processor and memory pairs for the software to be executed based on training data; and

determines that the software must be allocated to a singular embedded processor and corresponding unpartitioned dedicated memory as a function of an indication that the software is safety-critical;

allocating, using the hypervisor located on the non-volatile memory of the computing device, the software to a singular embedded processor and corresponding unpartitioned dedicated memory based on an anticipated performance metric associated with the singular embedded processor and corresponding unpartitioned dedicated memory; and

running, using the hypervisor, the software on the selected embedded processor and memory pair.

9 . The method of claim 8 , wherein the plurality of embedded processor and memory pairs comprises a plurality of heterogenous processing components.

10 . The method of claim 8 , wherein the plurality of embedded processor and memory pairs comprise a plurality of heterogenous memory components.

11 . The method of claim 8 , wherein the computing device comprises a host operating system.

12 . The method of claim 8 , wherein the hypervisor comprises a type 1 hypervisor.

13 . The method of claim 8 , wherein the computing device further comprises a controller card.

14 . The method of claim 8 , wherein the computing device further comprises a field replaceable unit.

15 . A hardware apparatus for isolated virtual environments comprising:

a plurality of embedded processor and memory pairs comprising:

a graphics processing unit comprising a first dedicated memory and a first plurality of processing cores;

a central processing unit comprising a second dedicated memory and a second plurality of processing cores; and

a field programmable gate array comprising a third dedicated memory;

a control and data bus assembly connecting the field programmable gate array, the central processing unit, and the graphics processing unit; and

a hypervisor located on a non-volatile memory of the hardware apparatus, the hypervisor configured to:

select, using a fixed allocated application program interface comprising an allocation machine learning model, a first embedded processor and memory pair of the plurality of embedded processor and memory pairs for software to be executed,

wherein the allocation machine learning model selects the first embedded processor and memory pair as a function of at least a performance metric and a safety-criticality metric associated with software to be executed,

wherein the safety-criticality metric indicates that the software to be executed is either safety-critical or non-safety critical, and

wherein the allocation learning model:

determines an anticipated performance metric for each embedded processor and memory pair of the plurality of embedded processor and memory pairs for the software to be executed based on training data; and

determines that the software must be allocated to a singular embedded processor and corresponding unpartitioned dedicated memory as a function of an indication that the software is safety-critical;

allocating, using the hypervisor located on the non-volatile memory of a computing device, the software to a singular embedded processor and corresponding unpartitioned dedicated memory based on an anticipated performance metric associated with the singular embedded processor and corresponding unpartitioned dedicated memory;

run the software on the first embedded processor and memory pair; and

run a second virtual machine on the second embedded processor and memory pair;

wherein the software runs on the first embedded processor and memory pair and the second virtual machine runs on the second embedded processor and memory pair.

16 . The hardware apparatus of claim 15 , wherein the first virtual machine and the second virtual machine have different operating systems.

Assignments (2)
SECURITY INTEREST Recorded Dec 23, 2024
From: PARRY LABS, LLC; PARRY LABS HOLDINGS, LLC
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 069665/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2024
From: COUTURE, MARC; PALMER, MICHAEL
To: PARRY LABS, LLC
Reel/Frame 066263/0103 →
Continuity (1)
Related Publication 20250245032A1 · Jul 31, 2025
References Cited (27)
US 9203855B1 · Mooring et al. · 2015 [cited by applicant]
US 9438844B2 · Camer et al. · 2016 [cited by applicant]
US 10699003B2 · Zamir et al. · 2020 [cited by applicant]
US 11016793B2 · Tsirkin · 2021 [cited by applicant]
US 11475140B1 · Buonora · 2022 [cited by applicant]
US 11789764B2 · Vidyadhara et al. · 2023 [cited by applicant]
US 11915026B1 · Chandrashekar · 2024 [cited by examiner]
US 20150205618A1 · Bailey · 2015 [cited by examiner]
US 20190213032A1 · Eyal · 2019 [cited by examiner]
US 20200364088A1 · Ashwathnarayan · 2020 [cited by examiner]
US 20210311798A1 · Desai · 2021 [cited by examiner]
US 20230026505A1 · Lee et al. · 2023 [cited by applicant]
US 20230092214A1 · Wu et al. · 2023 [cited by applicant]
US 20230195485A1 · Nagasundaram · 2023 [cited by examiner]
US 20230244514A1 · Shang · 2023 [cited by examiner]
US 20230305870A1 · Carey · 2023 [cited by examiner]
US 20250077257A1 · Gazvoda · 2025 [cited by examiner]
CN 203561933U · 2014 [cited by applicant]
CN 105721780A · 2016 [cited by applicant]
TW I585612B · 2017 [cited by applicant]
WO 2014031459A1 · 2014 [cited by applicant]
WO 2016102055A2 · 2016 [cited by applicant]
Hosseinabady et al; Heterogeneous FPGA+GPU Embedded Systems: Challenges and Opportunities; arXiv:1901.06331v2 [cs.DC] Jan. 25, 2019. [cited by applicant]
Rodriguez et al; Parallel multiprocessing and scheduling on the heterogeneous Xeon+FPGA platform; The Journal of Supercomputing vol. 76, pages4645-4665 (2020). [cited by applicant]
C Zhang et al; High-Performance and Energy-Efficient FPGA-GPU-CPU Heterogeneous System Implementation; Proceedings from PDPTA'20, CSC'20, MSV'20, and GCC'20; p. No. 477-492. [cited by applicant]
Santiago Lozano et al; A Comprehensive Survey on the Use of Hypervisors in Safety-Critical Systems; accepted Mar. 29, 2023, date of publication Apr. 5, 2023, date of current version Apr. 14, 2023. Digital Object Identif… [cited by applicant]
Shuang Zhang; Virtualization Airborne Trusted General Computing Technology; Appl. Sci. 2023, 13(3) Published: Jan. 19, 2023. [cited by applicant]