Patents by Inventor Jonathan Nicholas Hotra
Jonathan Nicholas Hotra has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 12242876Abstract: A host computer for virtualizing a target multicore processor includes a host CPU and a host memory storing a virtual time object and a VM, the VM including target code. The host CPU executes the plurality of threads in parallel on corresponding virtual cores, including a first thread executing on a first virtual core and a second thread executing on a second virtual core. The VM assigns a designation to the first virtual core to increment the virtual time object by a first count of a first plurality of instructions executed in the first thread over a first duration. The VM moves the designation to the second virtual core in response to detecting an event that defines an end of the first duration. The second virtual core increments the virtual time object by a second count of instructions executed in the second thread over a second duration.Type: GrantFiled: January 19, 2022Date of Patent: March 4, 2025Assignee: The Boeing CompanyInventors: Timothy James Dale, Glenn Alan Patterson, Jonathan Nicholas Hotra, Craig H. Sowadski
-
Patent number: 12222842Abstract: A host computer includes a memory storing a proxy VM, and a host CPU. The proxy VM emulates target hardware having an incomplete design. The proxy VM includes a virtual processor for emulating a target processor. The proxy VM includes an emulated memory coupled to the virtual processor over a virtual memory bus. The emulated memory includes at least one portion storing the target code. The host CPU is configured to execute the proxy VM to emulate the target hardware. The proxy VM, upon execution by the host CPU, is configured to execute, by the virtual processor, the target code.Type: GrantFiled: August 23, 2021Date of Patent: February 11, 2025Assignee: The Boeing CompanyInventor: Jonathan Nicholas Hotra
-
Patent number: 11874761Abstract: An apparatus includes a memory configured to store one or more parameters associated with assignment of threads of a first program. Assignment of threads can be configured through a user interface or machine learning. The apparatus further includes a plurality of processor cores coupled to the memory. One or more of plurality of processor cores have a first hardware configuration and are configured to execute, during execution of the first program, a second program associated with virtualization of a second hardware configuration different than the first hardware configuration. The second program includes a scheduler executable to assign the threads of the first program to the plurality of processor cores based on the one or more parameters.Type: GrantFiled: December 17, 2019Date of Patent: January 16, 2024Assignee: The Boeing CompanyInventors: Kenn Robert Luecke, Jonathan Nicholas Hotra
-
Patent number: 11797323Abstract: A host computer for emulating a target system includes a host memory, a CPU, and a host GPU. The host memory is configured to store a library of graphics functions and a VM. The VM includes a section of emulated memory storing target code configured to execute on the target system. The CPU is configured to execute the VM to emulate the target system. The VM is configured to execute the target code and intercept a graphics function call in the target code. The VM is further configured to redirect the graphics function call to a corresponding graphics function in the library of graphics functions stored in the host memory. The host GPU is configured to execute the corresponding graphics function to determine at least one feature configured to be rendered on a display coupled to the host GPU.Type: GrantFiled: August 11, 2021Date of Patent: October 24, 2023Assignee: The Boeing CompanyInventors: Timothy James Dale, Jonathan Nicholas Hotra, Glenn Alan Patterson, Craig H. Sowadski
-
Publication number: 20220244978Abstract: A host computer for virtualizing a target multicore processor includes a host CPU and a host memory storing a virtual time object and a VM, the VM including target code. The host CPU executes the plurality of threads in parallel on corresponding virtual cores, including a first thread executing on a first virtual core and a second thread executing on a second virtual core. The VM assigns a designation to the first virtual core to increment the virtual time object by a first count of a first plurality of instructions executed in the first thread over a first duration. The VM moves the designation to the second virtual core in response to detecting an event that defines an end of the first duration. The second virtual core increments the virtual time object by a second count of instructions executed in the second thread over a second duration.Type: ApplicationFiled: January 19, 2022Publication date: August 4, 2022Inventors: Timothy James Dale, Glenn Alan Patterson, Jonathan Nicholas Hotra, Craig H. Sowadski
-
Publication number: 20220083362Abstract: A host computer for emulating a target system includes a host memory, a CPU, and a host GPU. The host memory is configured to store a library of graphics functions and a VM. The VM includes a section of emulated memory storing target code configured to execute on the target system. The CPU is configured to execute the VM to emulate the target system. The VM is configured to execute the target code and intercept a graphics function call in the target code. The VM is further configured to redirect the graphics function call to a corresponding graphics function in the library of graphics functions stored in the host memory. The host GPU is configured to execute the corresponding graphics function to determine at least one feature configured to be rendered on a display coupled to the host GPU.Type: ApplicationFiled: August 11, 2021Publication date: March 17, 2022Inventors: Timothy James Dale, Jonathan Nicholas Hotra, Glenn Alan Patterson, Craig H. Sowadski
-
Publication number: 20220066911Abstract: A host computer includes a memory storing a proxy VM, and a host CPU. The proxy VM emulates target hardware having an incomplete design. The proxy VM includes a virtual processor for emulating a target processor. The proxy VM includes an emulated memory coupled to the virtual processor over a virtual memory bus. The emulated memory includes at least one portion storing the target code. The host CPU is configured to execute the proxy VM to emulate the target hardware. The proxy VM, upon execution by the host CPU, is configured to execute, by the virtual processor, the target code.Type: ApplicationFiled: August 23, 2021Publication date: March 3, 2022Inventor: Jonathan Nicholas Hotra
-
Publication number: 20210182180Abstract: An apparatus includes a memory configured to store one or more parameters associated with assignment of threads of a first program. Assignment of threads can be configured through a user interface or machine learning. The apparatus further includes a plurality of processor cores coupled to the memory. One or more of plurality of processor cores have a first hardware configuration and are configured to execute, during execution of the first program, a second program associated with virtualization of a second hardware configuration different than the first hardware configuration. The second program includes a scheduler executable to assign the threads of the first program to the plurality of processor cores based on the one or more parameters.Type: ApplicationFiled: December 17, 2019Publication date: June 17, 2021Inventors: Kenn Robert Luecke, Jonathan Nicholas Hotra
-
Patent number: 10810108Abstract: A method, apparatus, and virtual computer system for testing application software. A first operating system of a first operating type is run on a first processor of a first processor type in a physical computer system. A virtual machine that emulates a second processor of a second processor type is run on the first processor. A second operating system of a second operating type is run on the virtual machine with the virtual machine running on the first processor. The first processor running the first operating system and the virtual machine running the second operating system together form the virtual computer system. A tool qualifier module performs verification of an application testing tool on the virtual machine using tool qualification data to qualify the application testing tool before the application testing tool is run using the second operating system on the virtual machine to test an application program.Type: GrantFiled: May 3, 2016Date of Patent: October 20, 2020Assignee: The Boeing CompanyInventors: Jonathan Nicholas Hotra, Murali Rangarajan
-
Patent number: 10409632Abstract: Systems and methods consistent with this disclosure provide for high fidelity emulation of special-purpose hardware devices systems by virtual hardware. The systems and methods can emulate a physical hardware system in a virtual machine by performing operations including constructing the virtual machine from the physical hardware system. The operations can also include emulating hardware components of the physical hardware system in the virtual machine. The operations can further include emulating operation the physical hardware system using the virtual machine based on a memory map that reproduces memory locations used by the physical hardware system to exchange information. Additionally, the operations can include performing testing of the physical hardware system via operation of the virtual machine.Type: GrantFiled: March 31, 2017Date of Patent: September 10, 2019Assignee: THE BOEING COMPANYInventors: Jonathan Nicholas Hotra, Jason W. Shelton
-
Patent number: 10108531Abstract: A method and apparatus for testing application software for installation on hardware platforms. A software tool is verified using a tool qualifier module running on a physical computer system that has a processor of a first processor type and an operating system of a first operating type. A benchmark performance is established for the physical computer system. A virtual machine in a virtual computer system is verified using a qualifier module to determine whether its performance is consistent with the benchmark performance to form a qualified virtual machine. The virtual computer system has a configuration that comprises a processor of a second type; an operating system of a second operating type; the virtual machine emulating the processor of the first processor type; and an operating system of the first operating type. The software tool can be transferred from the physical computer system to the qualified virtual machine without requiring requalification.Type: GrantFiled: May 3, 2016Date of Patent: October 23, 2018Assignee: The Boeing CompanyInventors: Jonathan Nicholas Hotra, Murali Rangarajan
-
Publication number: 20180285134Abstract: Systems and methods consistent with this disclosure provide for high fidelity emulation of special-purpose hardware devices systems by virtual hardware. The systems and methods can emulate a physical hardware system in a virtual machine by performing operations including constructing the virtual machine from the physical hardware system. The operations can also include emulating hardware components of the physical hardware system in the virtual machine. The operations can further include emulating operation the physical hardware system using the virtual machine based on a memory map that reproduces memory locations used by the physical hardware system to exchange information. Additionally, the operations can include performing testing of the physical hardware system via operation of the virtual machine.Type: ApplicationFiled: March 31, 2017Publication date: October 4, 2018Inventors: Jonathan Nicholas Hotra, Jason W. Shelton
-
Patent number: 9996450Abstract: A method and apparatus for testing application software for installation on hardware platforms. A software tool is qualified using a tool qualifier module running on a first virtual computer system having a configuration that comprises a processor of first processor type and a first virtual machine emulating a processor of second processor type. A benchmark performance is established for the first virtual machine. A second virtual computer system has a configuration that comprises a processor of third type and a second virtual machine emulating the processor of the second processor type. The second virtual machine is verified using a qualifier module to determine whether its performance is consistent with the benchmark performance to form a qualified second virtual machine. After the tool has been qualified, the tool is transferred from the first virtual machine to the qualified second virtual machine without needing to be requalified.Type: GrantFiled: May 3, 2016Date of Patent: June 12, 2018Assignee: THE BOEING COMPANYInventors: Jonathan Nicholas Hotra, Murali Rangarajan
-
Publication number: 20170322869Abstract: A method and apparatus for testing application software for installation on hardware platforms. A software tool is qualified using a tool qualifier module running on a first virtual computer system having a configuration that comprises a processor of first processor type and a first virtual machine emulating a processor of second processor type. A benchmark performance is established for the first virtual machine. A second virtual computer system has a configuration that comprises a processor of third type and a second virtual machine emulating the processor of the second processor type. The second virtual machine is verified using a qualifier module to determine whether its performance is consistent with the benchmark performance to form a qualified second virtual machine. After the tool has been qualified, the tool is transferred from the first virtual machine to the qualified second virtual machine without needing to be requalified.Type: ApplicationFiled: May 3, 2016Publication date: November 9, 2017Inventors: Jonathan Nicholas Hotra, Murali Rangarajan
-
Publication number: 20170322868Abstract: A method, apparatus, and virtual computer system for testing application software. A first operating system of a first operating type is run on a first processor of a first processor type in a physical computer system. A virtual machine that emulates a second processor of a second processor type is run on the first processor. A second operating system of a second operating type is run on the virtual machine with the virtual machine running on the first processor. The first processor running the first operating system and the virtual machine running the second operating system together form the virtual computer system. A tool qualifier module performs verification of an application testing tool on the virtual machine using tool qualification data to qualify the application testing tool before the application testing tool is run using the second operating system on the virtual machine to test an application program.Type: ApplicationFiled: May 3, 2016Publication date: November 9, 2017Inventors: Jonathan Nicholas Hotra, Murali Rangarajan
-
Publication number: 20170322870Abstract: A method and apparatus for testing application software for installation on hardware platforms. A software tool is verified using a tool qualifier module running on a physical computer system that has a processor of a first processor type and an operating system of a first operating type. A benchmark performance is established for the physical computer system. A virtual machine in a virtual computer system is verified using a qualifier module to determine whether its performance is consistent with the benchmark performance to form a qualified virtual machine. The virtual computer system has a configuration that comprises a processor of a second type; an operating system of a second operating type; the virtual machine emulating the processor of the first processor type; and an operating system of the first operating type. The software tool can be transferred from the physical computer system to the qualified virtual machine without requiring requalification.Type: ApplicationFiled: May 3, 2016Publication date: November 9, 2017Inventors: Jonathan Nicholas Hotra, Murali Rangarajan
-
Patent number: 8966478Abstract: Methods and systems for use in executing a software application using a virtual machine (VM). A hardware description language (HDL) description of a target hardware platform is determined. A programmable hardware component is configured to be functionally equivalent to the target hardware platform based on the HDL description. The software application is executed using the configured programmable hardware component, such as by executing the software application in a VM that is, in turn, executed by the configured programmable hardware component.Type: GrantFiled: June 28, 2011Date of Patent: February 24, 2015Assignee: The Boeing CompanyInventors: Jonathan Nicholas Hotra, Donald Eugene Turner
-
Patent number: 8522237Abstract: This description provides tools and techniques for virtualizing embedded systems. Systems are described for embedding into a vehicle, with the systems including subsystems and centralized physical platforms that include computing resources operating on behalf of the subsystems. Systems may also include shared bus systems that place the centralized physical platforms and the subsystems in communication with one another. The centralized physical platforms may also include virtualization layers for operating virtual machines, with the virtual machines being associated respectively with the subsystems.Type: GrantFiled: April 9, 2008Date of Patent: August 27, 2013Assignee: The Boeing CompanyInventor: Jonathan Nicholas Hotra
-
Publication number: 20130007730Abstract: Methods and systems for use in executing a software application using a virtual machine (VM). A hardware description language (HDL) description of a target hardware platform is determined. A programmable hardware component is configured to be functionally equivalent to the target hardware platform based on the HDL description. The software application is executed using the configured programmable hardware component, such as by executing the software application in a VM that is, in turn, executed by the configured programmable hardware component.Type: ApplicationFiled: June 28, 2011Publication date: January 3, 2013Inventors: Jonathan Nicholas Hotra, Donald Eugene Turner
-
Publication number: 20090260006Abstract: This description provides tools and techniques for virtualizing embedded systems. Systems are described for embedding into a vehicle, with the systems including subsystems and centralized physical platforms that include computing resources operating on behalf of the subsystems. Systems may also include shared bus systems that place the centralized physical platforms and the subsystems in communication with one another. The centralized physical platforms may also include virtualization layers for operating virtual machines, with the virtual machines being associated respectively with the subsystems.Type: ApplicationFiled: April 9, 2008Publication date: October 15, 2009Inventor: Jonathan Nicholas Hotra