Patents by Inventor Sunil Kotian

Sunil Kotian 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: 11880301
    Abstract: Techniques for enabling efficient guest OS access to PCIe configuration space are provided. In one set of embodiments, a hypervisor can reserve a single host physical memory page in the host physical memory of a host system and can populate the single host physical memory page with a value indicating non-presence of PCIe device functions. The hypervisor can then create, for each guest physical memory page in a guest physical memory of a virtual machine (VM) corresponding to a PCIe configuration space of an absent PCIe device function in the VM, a mapping in the hypervisor's second-level page tables that maps the guest physical memory page to the single host physical memory page.
    Type: Grant
    Filed: December 21, 2022
    Date of Patent: January 23, 2024
    Assignee: VMware LLC
    Inventors: Andrei Warkentin, Alexander Fainkichen, Ye Li, Regis Duchesne, Cyprien Laplace, Shruthi Hiriyuru, Sunil Kotian
  • Patent number: 11847015
    Abstract: A combined data processing unit (DPU) and server solution with DPU operating system (OS) integration is described. A DPU OS is executed on a DPU or other computing device, where the DPU OS exercises secure calls provided by a DPU's trusted firmware component, that may be invoked by DPU OS components to abstract DPU vendor-specific and server vendor-specific integration details. An invocation of one of the secure calls made on the DPU to communicate with its associated server computing device is identified. In an instance in which the one of the secure calls is invoked, the secure call invoked is translated into a call or request specific to an architecture of the server computing device and the call is performed, which may include sending a signal to the server computing device in a format interpretable by the server computing device.
    Type: Grant
    Filed: January 24, 2022
    Date of Patent: December 19, 2023
    Assignee: VMware, Inc.
    Inventors: Andrei Warkentin, Sunil Kotian, Jared McNeill, Cyprien Laplace, Shruthi Hiriyuru
  • Publication number: 20230350815
    Abstract: Disclosed are various embodiments for various approaches for implementing trust domains to provide boundaries between PCIe devices connected to the same PCIe switch. A first trust identifier can be assigned to a first virtual machine hosted by the computing device. The first trust identifier can also be assigned to a first PCIe device assigned to the first virtual machine. Later, it can be determined that a second PCIe device connected to the PCIe switch is assigned a second trust identifier assigned to a second virtual machine. An Address Control Services (ACS) direct translated bit for peer-to-peer memory requests in the PCIe switch can be disabled in response to a determination that the second PCIe device is associated with the second trust identifier assigned to the second virtual machine.
    Type: Application
    Filed: June 23, 2023
    Publication date: November 2, 2023
    Inventors: Srihari Venkatesan, Sunil Kotian, Andrei Warkentin, Kalaiselvi Sengottuvel
  • Patent number: 11803304
    Abstract: Disclosed are various examples of providing efficient bit compression for direct mapping of physical memory addresses. In some examples, a hypervisor operating system component generates a mask of used address space bits indicated by memory map entries for a computing device. A longest range of unused address space bits is identified using the mask. The memory map entries are transformed to omit the longest range of unused address space bits.
    Type: Grant
    Filed: January 19, 2022
    Date of Patent: October 31, 2023
    Assignee: VMWARE, INC.
    Inventors: Andrei Warkentin, Sunil Kotian
  • Patent number: 11803445
    Abstract: Boot failure protection on smartNICs and other computing devices is described. During a power-on stage of a booting process for a computing device, a boot loading environment is directed to install an application programming interface (API) able to be invoked to control operation of a hardware-implemented watchdog. During an operating system loading stage of the booting process, the application programming interface is invoked to enable the hardware-implemented watchdog. During an operating system hand-off stage of the booting process, a last watchdog refresh of the hardware-implemented watchdog is performed, and execution of the boot loading environment is handed off to a kernel boot loader of an operating system. The application programming interface may not be accessible after the hand off to the kernel boot loader.
    Type: Grant
    Filed: January 18, 2022
    Date of Patent: October 31, 2023
    Assignee: VMWARE, INC.
    Inventors: Andrei Warkentin, Jared McNeill, Sunil Kotian, Alexander Fainkichen, Shruthi Hiriyuru
  • Publication number: 20230325220
    Abstract: Disclosed are various examples of hosting a data processing unit (DPU) management operating system using an operating system software stack of a preinstalled DPU operating system. The preinstalled DPU operating system of the DPU is leveraged to provide a virtual machine environment. A DPU management operating system is executed within the virtual machine environment of the preinstalled DPU operating system. A third-party DPU function or a management service function is provided using the DPU hardware resources accessed through the DPU management operating system and the virtual machine environment.
    Type: Application
    Filed: April 7, 2022
    Publication date: October 12, 2023
    Inventors: Andrei Warkentin, Sunil Kotian, Cyprien Laplace, Shruthi Hiriyuru, Regis Duchesne, Ye Li, Alexander Fainkichen
  • Publication number: 20230325222
    Abstract: Disclosed are various examples of lifecycle and recovery management for virtualized data processing unit (DPU) management operating systems. A DPU device executes a DPU management hypervisor that communicates with a management service over a network. The DPU management hypervisor virtualizes DPU hardware resources and passes control of the virtualized DPU hardware resources to a DPU management operating system (OS) virtual machine (VM). The DPU management hypervisor maintains control of a management network interface card (NIC) of the DPU device.
    Type: Application
    Filed: April 7, 2022
    Publication date: October 12, 2023
    Inventors: Andrei Warkentin, Sunil Kotian, Ye Li, Cyprien Laplace, Regis Duchesne, Alexander Fainkichen, Shruthi Hiriyuru
  • Publication number: 20230325203
    Abstract: Disclosed are various examples of provisioning a data processing unit (DPU) management operating system (OS). A host device boots a host provisioning image, which executes a host provisioning agent. The host provisioning agent launches a server component that serves a DPU management OS. A provisioning command is transmitted to a DPU device installed to the host device. The server component transmits the DPU management OS from the host device to the DPU device. A host OS is executed once an indication that the DPU device is executing on the DPU management OS is received.
    Type: Application
    Filed: April 7, 2022
    Publication date: October 12, 2023
    Inventors: Andrei Warkentin, Sunil Kotian
  • Publication number: 20230325224
    Abstract: Disclosed are various examples of loading management hypervisors from a system control processor. In some examples, a host device executes a first stage bootloader of a management hypervisor from a system control processor. The first stage bootloader loads management hypervisor data and firmware instructions into a main processor memory of a main processor, and initializes the main processor to execute the firmware instructions. The system then jumps to a second stage bootloader that configures and launches the management hypervisor using the management hypervisor data.
    Type: Application
    Filed: April 8, 2022
    Publication date: October 12, 2023
    Inventors: Andrei Warkentin, Sunil Kotian
  • Publication number: 20230325223
    Abstract: Disclosed are various examples of loading management hypervisors from user space. In some examples, a host device executes a first stage bootloader of a management hypervisor from within a host operating system. The first stage bootloader loads management hypervisor data and handoff instructions into a memory of the host device, and invokes a kernel execute call of the host operating system. The handoff instructions invoke a second stage bootloader that configures and launches the management hypervisor using the management hypervisor data.
    Type: Application
    Filed: April 8, 2022
    Publication date: October 12, 2023
    Inventors: Andrei Warkentin, Sunil Kotian
  • Patent number: 11741021
    Abstract: Disclosed are various embodiments for various approaches for implementing trust domains to provide boundaries between PCIe devices connected to the same PCIe switch. A first trust identifier can be assigned to a first virtual machine hosted by the computing device. The first trust identifier can also be assigned to a first PCIe device assigned to the first virtual machine. Later, it can be determined that a second PCIe device connected to the PCIe switch is assigned a second trust identifier assigned to a second virtual machine. An Address Control Services (ACS) direct translated bit for peer-to-peer memory requests in the PCIe switch can be disabled in response to a determination that the second PCIe device is associated with the second trust identifier assigned to the second virtual machine.
    Type: Grant
    Filed: January 18, 2022
    Date of Patent: August 29, 2023
    Assignee: VMWARE, INC.
    Inventors: Srihari Venkatesan, Sunil Kotian, Andrei Warkentin, Kalaiselvi Sengottuvel
  • Patent number: 11726852
    Abstract: A hardware-assisted paravirtualized hardware watchdog is described that is used to detect and recover from computer malfunctions. A computing device determines that a hardware-implemented watchdog of the computing device does not comply with predetermined watchdog criteria, where the hardware-implemented watchdog is configured to send a reset signal when a first predetermined amount of time elapses without receipt of a first refresh signal. If the hardware-implemented watchdog does not comply with the predetermined watchdog criteria, a runtime watchdog service is initialized using a second predetermined amount of time. The runtime watchdog service is directed to periodically send the refresh signal to the hardware-implemented watchdog before an expiration of the first predetermined amount of time that causes the hardware-implemented watchdog to expire.
    Type: Grant
    Filed: January 18, 2022
    Date of Patent: August 15, 2023
    Assignee: VMWARE, INC.
    Inventors: Andrei Warkentin, Sunil Kotian, Jared McNeill, Shruthi Hiriyuru, Alexander Fainkichen
  • Publication number: 20230237010
    Abstract: Disclosed are various examples of providing provide efficient waiting for detection of memory value updates for Advanced RISC Machines (ARM) architectures. An ARM processor component instructs a memory agent to perform a processing action, and executes a waiting function. The waiting function ensures that the processing action is completed by the memory agent. The waiting function performs an exclusive load at a memory location, and a wait for event (WFE) instruction that causes the ARM processor component to wait in a low-power mode for an event register to be set. Once the event register is set, the waiting function completes and a second processing action is executed by the ARM processor component.
    Type: Application
    Filed: January 21, 2022
    Publication date: July 27, 2023
    Inventors: Regis Duchesne, Andrei Warkentin, Cyprien Laplace, Ye Li, Alexander Fainkichen, Shruthi Hiriyuru, Sunil Kotian
  • Publication number: 20230236916
    Abstract: A combined data processing unit (DPU) and server solution with DPU operating system (OS) integration is described. A DPU OS is executed on a DPU or other computing device, where the DPU OS exercises secure calls provided by a DPU's trusted firmware component, that may be invoked by DPU OS components to abstract DPU vendor-specific and server vendor-specific integration details. An invocation of one of the secure calls made on the DPU to communicate with its associated server computing device is identified. In an instance in which the one of the secure calls is invoked, the secure call invoked is translated into a call or request specific to an architecture of the server computing device and the call is performed, which may include sending a signal to the server computing device in a format interpretable by the server computing device.
    Type: Application
    Filed: January 24, 2022
    Publication date: July 27, 2023
    Inventors: Andrei Warkentin, Sunil Kotian, Jared McNeill, Cyprien Laplace, Shruthi Hiriyuru
  • Publication number: 20230229480
    Abstract: Disclosed are various examples of provisioning a data processing unit (DPU) management operating system using a capsule. A management hypervisor installer executed on a host device receives a listing DPU device from a baseboard management controller (BMC). A preinstalled DPU management operating system image is identified for a DPU device from the listing, and is wrapped with a capsule that specifies the capsule as a DPU management operating system image capsule. A server component provides the DPU management operating system image capsule at a particular URI, and the URI is transmitted to the BMC.
    Type: Application
    Filed: March 25, 2022
    Publication date: July 20, 2023
    Inventors: Andrei Warkentin, Karthik Ramachandra, Timothy P. Mann, Jared McNeill, Sunil Kotian, Cyprien Laplace, David A. Dunn
  • Publication number: 20230229602
    Abstract: Disclosed are various embodiments for various approaches for implementing trust domains to provide boundaries between PCIe devices connected to the same PCIe switch. A first trust identifier can be assigned to a first virtual machine hosted by the computing device. The first trust identifier can also be assigned to a first PCIe device assigned to the first virtual machine. Later, it can be determined that a second PCIe device connected to the PCIe switch is assigned a second trust identifier assigned to a second virtual machine. An Address Control Services (ACS) direct translated bit for peer-to-peer memory requests in the PCIe switch can be disabled in response to a determination that the second PCIe device is associated with the second trust identifier assigned to the second virtual machine.
    Type: Application
    Filed: January 18, 2022
    Publication date: July 20, 2023
    Inventors: Srihari Venkatesan, Sunil Kotian, Andrei Warkentin, Kalaiselvi Sengottuvel
  • Publication number: 20230229307
    Abstract: Disclosed are various examples of providing efficient bit compression for direct mapping of physical memory addresses. In some examples, a hypervisor operating system component generates a mask of used address space bits indicated by memory map entries for a computing device. A longest range of unused address space bits is identified using the mask. The memory map entries are transformed to omit the longest range of unused address space bits.
    Type: Application
    Filed: January 19, 2022
    Publication date: July 20, 2023
    Inventors: Andrei Warkentin, Sunil Kotian
  • Publication number: 20230229558
    Abstract: Boot failure protection on smartNICs and other computing devices is described. During a power-on stage of a booting process for a computing device, a boot loading environment is directed to install an application programming interface (API) able to be invoked to control operation of a hardware-implemented watchdog. During an operating system loading stage of the booting process, the application programming interface is invoked to enable the hardware-implemented watchdog. During an operating system hand-off stage of the booting process, a last watchdog refresh of the hardware-implemented watchdog is performed, and execution of the boot loading environment is handed off to a kernel boot loader of an operating system. The application programming interface may not be accessible after the hand off to the kernel boot loader.
    Type: Application
    Filed: January 18, 2022
    Publication date: July 20, 2023
    Inventors: Andrei Warkentin, Jared McNeill, Sunil Kotian, Alexander Fainkichen, Shruthi Hiriyuru
  • Publication number: 20230229538
    Abstract: A hardware-assisted paravirtualized hardware watchdog is described that is used to detect and recover from computer malfunctions. A computing device determines that a hardware-implemented watchdog of the computing device does not comply with predetermined watchdog criteria, where the hardware-implemented watchdog is configured to send a reset signal when a first predetermined amount of time elapses without receipt of a first refresh signal. If the hardware-implemented watchdog does not comply with the predetermined watchdog criteria, a runtime watchdog service is initialized using a second predetermined amount of time. The runtime watchdog service is directed to periodically send the refresh signal to the hardware-implemented watchdog before an expiration of the first predetermined amount of time that causes the hardware-implemented watchdog to expire.
    Type: Application
    Filed: January 18, 2022
    Publication date: July 20, 2023
    Inventors: Andrei Warkentin, Sunil Kotian, Jared McNeill, Shruthi Hiriyuru, Alexander Fainkichen
  • Publication number: 20230122654
    Abstract: Techniques for enabling efficient guest OS access to PCIe configuration space are provided. In one set of embodiments, a hypervisor can reserve a single host physical memory page in the host physical memory of a host system and can populate the single host physical memory page with a value indicating non-presence of PCIe device functions. The hypervisor can then create, for each guest physical memory page in a guest physical memory of a virtual machine (VM) corresponding to a PCIe configuration space of an absent PCIe device function in the VM, a mapping in the hypervisor's second-level page tables that maps the guest physical memory page to the single host physical memory page.
    Type: Application
    Filed: December 21, 2022
    Publication date: April 20, 2023
    Inventors: Andrei Warkentin, Alexander Fainkichen, Ye Li, Regis Duchesne, Cyprien Laplace, Shruthi Hiriyuru, Sunil Kotian