Patents by Inventor Daniel Michael Hecht

Daniel Michael Hecht 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).

  • Publication number: 20150058847
    Abstract: A host computer has a plurality of virtual machines executing therein under the control of a hypervisor, where the host also includes a physical network interface controller (NIC). An interrupt controller detects an interrupt generated by the physical NIC, where the interrupt corresponds to a virtual machine. If the virtual machine has exclusive affinity to one or more physical central processing units (CPUs), then the interrupt is forwarded to the virtual machine. If the virtual machine does not have exclusive affinity, then a process in the hypervisor is invoked to forward the interrupt to the virtual machine.
    Type: Application
    Filed: August 25, 2014
    Publication date: February 26, 2015
    Inventors: Haoqiang ZHENG, Lenin SINGARAVELU, Shilpi AGARWAL, Daniel Michael HECHT, Garrett SMITH
  • Publication number: 20150055499
    Abstract: A host computer has a plurality of containers including a first container executing therein, where the host also includes a physical network interface controller (NIC). A packet handling interrupt is detected upon receipt of a first data packet associated with the first container. If the first virtual machine is latency sensitive, then the packet handling interrupt is processed. If the first virtual machine is not latency sensitive, then the first data packet is queued and processing of the packet handling interrupt is delayed.
    Type: Application
    Filed: August 25, 2014
    Publication date: February 26, 2015
    Inventors: Haoqiang ZHENG, Lenin SINGARAVELU, Shilpi AGARWAL, Daniel Michael HECHT, Garrett SMITH
  • Publication number: 20150058861
    Abstract: A host computer has one or more physical central processing units (CPUs) that support the execution of a plurality of containers, where the containers each include one or more processes. Each process of a container is assigned to execute exclusively on a corresponding physical CPU when the corresponding container is determined to be latency sensitive. The assignment of a process to execute exclusively on a corresponding physical CPU includes the migration of tasks from the corresponding physical CPU to one or more other physical CPUs of the host system, and the directing of task and interrupt processing to the one or more other physical CPUs. Tasks of the process corresponding to the container are then executed on the corresponding physical CPU.
    Type: Application
    Filed: August 25, 2014
    Publication date: February 26, 2015
    Inventors: Haoqiang ZHENG, Lenin SINGARAVELU, Shilpi AGARWAL, Daniel Michael HECHT, Garrett SMITH
  • Publication number: 20150058846
    Abstract: A host computer has a virtualization software that supports execution of a plurality of virtual machines, where the virtualization software includes a virtual machine monitor for each of the virtual machines, and where each virtual machine monitor emulates a virtual central processing unit (CPU) for a corresponding virtual machine. A virtual machine monitor halts execution of a virtual CPU of a virtual machine by receiving a first halt instruction from a corresponding virtual machine and determining whether the virtual machine is latency sensitive. If the virtual machine is latency sensitive, then a second halt instruction is issued from the virtual machine monitor to halt a physical CPU on which the virtual CPU executes. If the virtual machine is not latency sensitive, then a system call to a kernel executing on the host computer is executed to indicate to the kernel that the virtual CPU is in an idle state.
    Type: Application
    Filed: August 25, 2014
    Publication date: February 26, 2015
    Inventors: Haoqiang ZHENG, Lenin SINGARAVELU, Shilpi AGARWAL, Daniel Michael HECHT, Garrett SMITH
  • Publication number: 20130219389
    Abstract: Methods, apparatus, and articles of manufacture to virtualize performance counters are disclosed. An example method includes scheduling a virtual machine on a processor, incrementing a virtual performance counter in response to an occurrence of a speculative event during direct execution of guest instructions by the virtual machine on the processor, and incrementing the virtual performance counter in response to an occurrence of the speculative event during execution of emulated instructions by a hypervisor on behalf of the virtual machine on the processor.
    Type: Application
    Filed: August 23, 2012
    Publication date: August 22, 2013
    Applicant: VMWARE, INC.
    Inventors: Benjamin Charles Serebrin, Daniel Michael Hecht
  • Publication number: 20120317551
    Abstract: The invention is directed to instrumenting object code of an application and/or an operating system on a target machine so that execution trace data can be generated, collected, and subsequently analyzed for various purposes, such as debugging and performance. Automatic instrumentation may be performed on an application's object code before, during or after linking. A target machine's operating system's object code can be manually or automatically instrumented. By identifying address space switches and thread switches in the operating system's object code, instrumented code can be inserted at locations that enable the execution trace data to be generated. The instrumentation of the operating system and application can enable visibility of total system behavior by enabling generation of trace information sufficient to reconstruct address space switches and context switches.
    Type: Application
    Filed: August 20, 2012
    Publication date: December 13, 2012
    Applicant: GREEN HILLS SOFTWARE, INC.
    Inventors: Daniel Michael Hecht, Michael Lindahl, David Kleidermacher
  • Patent number: 8266608
    Abstract: The invention is directed to instrumenting object code of an application and/or an operating system on a target machine so that execution trace data can be generated, collected, and subsequently analyzed for various purposes, such as debugging and performance. Automatic instrumentation may be performed on an application's object code before, during or after linking. A target machine's operating system's object code can be manually or automatically instrumented. By identifying address space switches and thread switches in the operating system's object code, instrumented code can be inserted at locations that enable the execution trace data to be generated. The instrumentation of the operating system and application can enable visibility of total system behavior by enabling generation of trace information sufficient to reconstruct address space switches and context switches.
    Type: Grant
    Filed: August 10, 2006
    Date of Patent: September 11, 2012
    Assignee: Green Hills Software, Inc.
    Inventors: Daniel Michael Hecht, Michael Lindahl, David Kleidermacher