Patents by Inventor Michael Weis

Michael Weis 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: 20210357385
    Abstract: Garbage collection processing in a distributed shared log system includes a client identifying obsoleted log entries for a shared data object. The client sends information associated with the identified obsoleted log entries to a shared log server. The shared log server receives information associated with obsoleted log entries from all clients in the distributed shared log system and uses the information to delete the obsoleted log entries. The shared log server can update a snapshot mark to indicate the earliest time that a snapshot of the shared log can be taken. The snapshot mark can be updated based on the information associated with obsoleted log entries.
    Type: Application
    Filed: May 15, 2020
    Publication date: November 18, 2021
    Inventors: Maithem MUNSHED, Xin LI, Wenbin ZHU, Anny MARTINEZ MANZANILLA, Michael WEI
  • Patent number: 11068422
    Abstract: Described herein are embodiments that adaptively reduce the number of interrupts that occur between a device controller and a computer system. Device commands are submitted to the controller by an operating system on behalf of an application. The device performs the received commands and indicates command completions to the controller. A counter counts completions, and if the count exceeds a threshold number, the controller generates an interrupt to the computer system. If the count is greater than zero and the timeout interval has expired, then the controller generates an interrupt to the computer system. In some embodiments, the application attaches flags to one of the commands indicating that an interrupt relating to completion of the flagged command should be generated as soon as possible or that an interrupt relating to completion of all commands prior to and including the flagged command should be generated as soon as possible.
    Type: Grant
    Filed: February 28, 2020
    Date of Patent: July 20, 2021
    Assignee: VMware, Inc.
    Inventors: Amy Tai, Igor Smolyar, Dan Tsafrir, Michael Wei, Nadav Amit
  • Patent number: 11055184
    Abstract: A log unit provides a shared log for recording updates on data objects. Garbage collection is performed locally and in-place by the log unit. In a marking portion of the garbage collection process, the log unit identifies and marks log entries that record supersedable updates. In a deallocation portion of the process, the log unit deallocates at least portions of the marked log entries that contain supersedable updates.
    Type: Grant
    Filed: December 19, 2018
    Date of Patent: July 6, 2021
    Assignee: VMWARE, INC.
    Inventors: Michael Wei, Maithem Munshed, Anny Martinez Manzanilla, Zeeshan Altaf Lokhandwala, Saeed A Behnam, Medhavi Dhawan, Dahlia Malkhi
  • Publication number: 20210186698
    Abstract: Fixation device for fixation of leaflets of a heart valve includes a central assembly and at least one arm moveably coupled relative to the central assembly. The at least one arm includes a deformable frame having a first end and a second end and a longitudinal axis defined therebetween, the second end being moveable between a closed position and an open position. The deformable frame further includes first and second deformable flex portions, each flex portion extending along a respective lateral side of the deformable frame and having a deformed condition and an undeformed condition, and each flex portion having an outer lateral edge. The at least one arm has a maximum deformed arm lateral cross-dimension with the flex portions in the deformed condition.
    Type: Application
    Filed: December 16, 2020
    Publication date: June 24, 2021
    Applicant: EVALVE, INC.
    Inventors: Chad Abunassar, Santosh Prabhu, Casey Barbarino, Jessie Garcia, Gabriel Gonzales, Brandon Chu, Tamer M. Mahmoud, Michael Wei
  • Patent number: 11016767
    Abstract: A method for redirecting indirect calls to direct calls on a per-process basis includes accessing a memory code region of an operating system kernel that has a different mapping for each of one or more user processes running on the operating system kernel. The memory code region stores a first trampoline that refers directly to a second trampoline, which is an inline or outline trampoline that is correlated with a particular user process. Executing the first trampoline invokes the second trampoline, as a result of which the indirect calls are redirected to direct calls.
    Type: Grant
    Filed: July 24, 2019
    Date of Patent: May 25, 2021
    Assignee: VMWARE, INC.
    Inventors: Nadav Amit, Frederick Joseph Jacobs, Michael Wei
  • Patent number: 11003472
    Abstract: A system and method are disclosed for executing a hardware component of a design in a hardware engine, where the component includes a pre-compiled library component. The hardware component is compiled to include an interface that supports a ‘forward( )’ function which, when invoked, requests that the hardware engine running the hardware component run such that interactions between the library component and the hardware component occur without communicating with the runtime system because interactions between the library component and the hardware component are handled locally by the hardware engine and not the runtime system. Handling the library component without the runtime system intervening allows the library component to run at a speed that is close to the native speed of the target re-programmable hardware fabric. In addition, library components targeted to the specific reprogrammable hardware fabric are available to the design without compilation.
    Type: Grant
    Filed: January 25, 2019
    Date of Patent: May 11, 2021
    Assignee: VMware, Inc.
    Inventors: Eric Schkufza, Michael Wei
  • Patent number: 11003471
    Abstract: A system and method are disclosed for executing a component of a design in a hardware engine. The component is compiled to include an interface that supports an ‘open_loop(n)’ function which, when invoked, requests that the hardware engine run for a specified number of steps before communicating with other hardware or software engines via a runtime system. After the compiled hardware component is transferred to the hardware engine, the hardware engine runs for the specified number of steps unless and until it encounters a system function, such as a ‘display(s)’ function, in the code of the component that requires the runtime system to intervene. The hardware engine pauses awaiting the completion of the system function and continues its execution. The ‘open_loop(n)’ operation of the hardware engine permits components in hardware engines to run at a speed close to the native speed of the target programmable hardware fabric.
    Type: Grant
    Filed: January 25, 2019
    Date of Patent: May 11, 2021
    Assignee: VMware, Inc.
    Inventors: Eric Schkufza, Michael Wei
  • Patent number: 10997338
    Abstract: A system and method for executing a hardware component of a design are disclosed. The system and method execute hardware components that are constructed with a ‘display(s)’ function that permits the hardware component to display values “s” internal to the hardware component while the component is executing on a hardware engine. The values are displayed on a user output interface, such as a user terminal, supported by a runtime system controlling the execution of the hardware engine and thus allows the user to debug the component while it is executing on the hardware engine.
    Type: Grant
    Filed: January 25, 2019
    Date of Patent: May 4, 2021
    Assignee: VMware, Inc.
    Inventors: Eric Schkufza, Michael Wei
  • Patent number: 10990730
    Abstract: A method for implementing a distributed hardware system includes retrieving a hardware design described in a hardware description language, where the hardware design includes a plurality of modules. The method includes sending modules of the design to software engines, where the runtime software maintains for each module being simulated an update queue and evaluate queue. The update queue contains events that update stateful objects in the module and cause evaluation events to be enqueued onto the evaluate queue, while the evaluate queue contains evaluate events that update stateless objects and cause update events to be enqueued onto the update queue. Having a update and evaluate queues for each module permits the runtime to manage module simulations so that the executions of each module run concurrently with each other.
    Type: Grant
    Filed: July 9, 2018
    Date of Patent: April 27, 2021
    Assignee: VMware, Inc.
    Inventors: Eric Schkufza, Michael Wei
  • Patent number: 10945323
    Abstract: This disclosure includes systems, methods, and techniques for controlling a plurality of light-emitting diodes (LEDs). For example, a circuit includes a switching device, where the switching device is electrically connected to an LED of the plurality of LEDs, and where the switching device is configured to control whether the LED receives an electrical signal from a power source. Additionally, the circuit includes processing circuitry configured to determine that the LED is associated with a bright failure condition by attempting to prevent the LED from receiving the electrical signal from the power source using the switching device and disable the LED in response to detecting the bright failure condition.
    Type: Grant
    Filed: April 1, 2020
    Date of Patent: March 9, 2021
    Assignee: Infineon Technologies AG
    Inventors: Adolfo De Cicco, Michael Weis, Gernot Unterweger, Rosario Chiodo, Dietrich Bonart
  • Patent number: 10908912
    Abstract: A method for redirecting an indirect call in an operating system kernel to a direct call is disclosed. The direct calls are contained in trampoline code called an inline jump switch (IJS) or an outline jump switch (OJS). The IJS and OJS can operate in either a use mode, redirecting an indirect call to a direct call, a learning and update mode or fallback mode. In the learning and update mode, target addresses in a trampoline code template are learned and updated by a jump switch worker thread that periodically runs as a kernel process. When building the kernel binary, a plug-in is integrated into the kernel. The plug-in replaces call sites with a trampoline code template containing a direct call so that the template can be later updated by the jump switch worker thread.
    Type: Grant
    Filed: July 24, 2019
    Date of Patent: February 2, 2021
    Assignee: VMWARE, INC.
    Inventors: Nadav Amit, Frederick Joseph Jacobs, Michael Wei
  • Publication number: 20210026785
    Abstract: One or more kernel-modifying procedures are stored in a trusted computing base (TCB) when bringing up a guest operating system (OS) on a virtual machine (VM) on a virtualization platform. When the guest OS invokes an OS-level kernel-modifying procedure, a call is made to the hypervisor. If the hypervisor determines the TCB to be valid, the kernel-modifying procedure in the TCB that corresponds to the OS-level kernel-modifying procedure is invoked so that the kernel code can be modified.
    Type: Application
    Filed: July 23, 2019
    Publication date: January 28, 2021
    Inventors: Michael Wei, Nadav Amit
  • Publication number: 20210011722
    Abstract: A method for redirecting indirect calls to direct calls on a per-process basis includes accessing a memory code region of an operating system kernel that has a different mapping for each of one or more user processes running on the operating system kernel. The memory code region stores a first trampoline that refers directly to a second trampoline, which is an inline or outline trampoline that is correlated with a particular user process. Executing the first trampoline invokes the second trampoline, as a result of which the indirect calls are redirected to direct calls.
    Type: Application
    Filed: July 24, 2019
    Publication date: January 14, 2021
    Inventors: Nadav AMIT, Frederick Joseph JACOBS, Michael WEI
  • Publication number: 20210011728
    Abstract: A method for redirecting an indirect call in an operating system kernel to a direct call is disclosed. The direct calls are contained in trampoline code called an inline jump switch (IJS) or an outline jump switch (OJS). The IJS and OJS can operate in either a use mode, redirecting an indirect call to a direct call, a learning and update mode or fallback mode. In the learning and update mode, target addresses in a trampoline code template are learned and updated by a jump switch worker thread that periodically runs as a kernel process. When building the kernel binary, a plug-in is integrated into the kernel. The plug-in replaces call sites with a trampoline code template containing a direct call so that the template can be later updated by the jump switch worker thread.
    Type: Application
    Filed: July 24, 2019
    Publication date: January 14, 2021
    Inventors: Nadav AMIT, Frederick Joseph JACOBS, Michael WEI
  • Publication number: 20210011738
    Abstract: A method of redirecting an indirect call in a callback list associated with a list of functions that are registered, includes the steps of: upon registering the list of functions, determining a list of function pointers, each of which corresponds to an address in an associated callback; for each function pointer in the list of function pointers, adding a direct call instruction to the registration trampoline corresponding to the associated callback of the function pointer; and upon invoking the associated callback of one of the function pointers in the list of function pointers, invoking the corresponding direct call instruction in the registration trampoline.
    Type: Application
    Filed: January 17, 2020
    Publication date: January 14, 2021
    Inventors: Nadav AMIT, Frederick Joseph JACOBS, Michael WEI
  • Patent number: 10885247
    Abstract: A method for implementing a distributed hardware system includes retrieving a hardware design described in a hardware description language, where the hardware design includes a plurality of components. The method further includes, for each component of the hardware design, sending the component to a hardware compiler and to one of a plurality of software engines, where the hardware compiler compiles the component to run in one of a plurality of hardware engines and the one software engine simulates the component while the hardware compiler compiles the component for the one hardware engine, and upon completion of the compilation of the component, sending the compiled component to one of the hardware engines to be executed by the one hardware engine and monitoring communication so that the one hardware engine can interact with other components in other hardware engines or software engines.
    Type: Grant
    Filed: January 26, 2018
    Date of Patent: January 5, 2021
    Assignee: VMware, Inc.
    Inventors: Eric Schkufza, Michael Wei
  • Patent number: 10878085
    Abstract: In accordance with embodiments of the present disclosure, a compiler can compile source code to produce binary code that includes address shifting code inserted with memory operations. The address shifting code can shift addresses of memory operations that access locations in the kernel address space into address locations in the user space, thus avoiding speculative access into the kernel address space.
    Type: Grant
    Filed: June 8, 2018
    Date of Patent: December 29, 2020
    Assignee: VMware, Inc.
    Inventors: Michael Wei, Dan Tsafrir, Nadav Amit
  • Patent number: 10877881
    Abstract: A log unit provides a shared log for recording updates on data objects. Garbage collection is performed locally and in-place by the log unit. In a marking portion of the garbage collection process, the log unit identifies and marks log entries that record mergeable updates. In a deallocation portion of the process, the log unit merges one or more mergeable log entries and deallocates at least portions of the merged log entries.
    Type: Grant
    Filed: January 11, 2019
    Date of Patent: December 29, 2020
    Assignee: VMware, Inc.
    Inventors: Michael Wei, Maithem Munshed, Anny Martinez Manzanilla, Zeeshan Altaf Lokhandwala, Saeed A Behnam, Medhavi Dhawan, Dahlia Malkhi
  • Patent number: 10871974
    Abstract: A method of redirecting an indirect call in a callback list associated with a list of functions that are registered, includes the steps of: upon registering the list of functions, determining a list of function pointers, each of which corresponds to an address in an associated callback; for each function pointer in the list of function pointers, adding a direct call instruction to the registration trampoline corresponding to the associated callback of the function pointer; and upon invoking the associated callback of one of the function pointers in the list of function pointers, invoking the corresponding direct call instruction in the registration trampoline.
    Type: Grant
    Filed: January 17, 2020
    Date of Patent: December 22, 2020
    Assignee: VMware, Inc.
    Inventors: Nadav Amit, Frederick Joseph Jacobs, Michael Wei
  • Patent number: 10834255
    Abstract: A method redirecting an indirect call in a call table to direct call includes the steps of: recording frequencies of calls in a frequency table; updating a search trampoline to cache, as direct calls, calls of the call table that are most frequently made according to the recorded calls in the frequency table; receiving a request to perform one of the calls in the call table; performing a search of the search trampoline to determine whether or not the requested call is cached in the search trampoline; if the requested call is cached in the search trampoline, performing the requested call that is cached in the search trampoline; and if the requested call is not cached in the search trampoline, performing the requested call by accessing the call via the call table.
    Type: Grant
    Filed: January 21, 2020
    Date of Patent: November 10, 2020
    Assignee: VMware, Inc.
    Inventors: Nadav Amit, Frederick Joseph Jacobs, Michael Wei