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: 12242876
    Abstract: 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: Grant
    Filed: January 19, 2022
    Date of Patent: March 4, 2025
    Assignee: The Boeing Company
    Inventors: Timothy James Dale, Glenn Alan Patterson, Jonathan Nicholas Hotra, Craig H. Sowadski
  • Patent number: 12222842
    Abstract: 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: Grant
    Filed: August 23, 2021
    Date of Patent: February 11, 2025
    Assignee: The Boeing Company
    Inventor: Jonathan Nicholas Hotra
  • Patent number: 11874761
    Abstract: 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: Grant
    Filed: December 17, 2019
    Date of Patent: January 16, 2024
    Assignee: The Boeing Company
    Inventors: Kenn Robert Luecke, Jonathan Nicholas Hotra
  • Patent number: 11797323
    Abstract: 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: Grant
    Filed: August 11, 2021
    Date of Patent: October 24, 2023
    Assignee: The Boeing Company
    Inventors: Timothy James Dale, Jonathan Nicholas Hotra, Glenn Alan Patterson, Craig H. Sowadski
  • Publication number: 20220244978
    Abstract: 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: Application
    Filed: January 19, 2022
    Publication date: August 4, 2022
    Inventors: Timothy James Dale, Glenn Alan Patterson, Jonathan Nicholas Hotra, Craig H. Sowadski
  • Publication number: 20220083362
    Abstract: 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: Application
    Filed: August 11, 2021
    Publication date: March 17, 2022
    Inventors: Timothy James Dale, Jonathan Nicholas Hotra, Glenn Alan Patterson, Craig H. Sowadski
  • Publication number: 20220066911
    Abstract: 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: Application
    Filed: August 23, 2021
    Publication date: March 3, 2022
    Inventor: Jonathan Nicholas Hotra
  • Publication number: 20210182180
    Abstract: 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: Application
    Filed: December 17, 2019
    Publication date: June 17, 2021
    Inventors: Kenn Robert Luecke, Jonathan Nicholas Hotra
  • Patent number: 10810108
    Abstract: 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: Grant
    Filed: May 3, 2016
    Date of Patent: October 20, 2020
    Assignee: The Boeing Company
    Inventors: Jonathan Nicholas Hotra, Murali Rangarajan
  • Patent number: 10409632
    Abstract: 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: Grant
    Filed: March 31, 2017
    Date of Patent: September 10, 2019
    Assignee: THE BOEING COMPANY
    Inventors: Jonathan Nicholas Hotra, Jason W. Shelton
  • Patent number: 10108531
    Abstract: 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: Grant
    Filed: May 3, 2016
    Date of Patent: October 23, 2018
    Assignee: The Boeing Company
    Inventors: Jonathan Nicholas Hotra, Murali Rangarajan
  • Publication number: 20180285134
    Abstract: 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: Application
    Filed: March 31, 2017
    Publication date: October 4, 2018
    Inventors: Jonathan Nicholas Hotra, Jason W. Shelton
  • Patent number: 9996450
    Abstract: 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: Grant
    Filed: May 3, 2016
    Date of Patent: June 12, 2018
    Assignee: THE BOEING COMPANY
    Inventors: Jonathan Nicholas Hotra, Murali Rangarajan
  • Publication number: 20170322869
    Abstract: 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: Application
    Filed: May 3, 2016
    Publication date: November 9, 2017
    Inventors: Jonathan Nicholas Hotra, Murali Rangarajan
  • Publication number: 20170322868
    Abstract: 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: Application
    Filed: May 3, 2016
    Publication date: November 9, 2017
    Inventors: Jonathan Nicholas Hotra, Murali Rangarajan
  • Publication number: 20170322870
    Abstract: 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: Application
    Filed: May 3, 2016
    Publication date: November 9, 2017
    Inventors: Jonathan Nicholas Hotra, Murali Rangarajan
  • Patent number: 8966478
    Abstract: 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: Grant
    Filed: June 28, 2011
    Date of Patent: February 24, 2015
    Assignee: The Boeing Company
    Inventors: Jonathan Nicholas Hotra, Donald Eugene Turner
  • Patent number: 8522237
    Abstract: 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: Grant
    Filed: April 9, 2008
    Date of Patent: August 27, 2013
    Assignee: The Boeing Company
    Inventor: Jonathan Nicholas Hotra
  • Publication number: 20130007730
    Abstract: 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: Application
    Filed: June 28, 2011
    Publication date: January 3, 2013
    Inventors: Jonathan Nicholas Hotra, Donald Eugene Turner
  • Publication number: 20090260006
    Abstract: 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: Application
    Filed: April 9, 2008
    Publication date: October 15, 2009
    Inventor: Jonathan Nicholas Hotra