Patents by Inventor Dmitry Malloy

Dmitry Malloy 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: 20240111573
    Abstract: Systems and methods for providing cross-partition preemption analysis and prevention. Computing devices typically include a main central processing unit (CPU) with multiple cores to execute instructions independently, cooperatively, or in other suitable manners. In some examples, one or more cores are partitioned and dedicated to a particular application, where exclusive access of the cores in the partition is intended for running processes of the application. In some examples, some “noise” can be introduced in a partition, where preemptions associated with other processes can interrupt execution of the particular application. A preemption diagnostics system and method identify and prevent sources of cross-partition preemption events from running in a dedicated CPU partition. Thus, the particular application has dedicated use of the cores in the partition. As a result, latency of the application is reduced and bounded latency corresponding to a service level agreement can be achieved.
    Type: Application
    Filed: September 29, 2022
    Publication date: April 4, 2024
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Omar CARDONA, Matthew WOOLMAN, Giovanni PITTALIS, Dmitry MALLOY, Christopher Peter KLEYNHANS
  • Publication number: 20240094992
    Abstract: Examples of the present disclosure describe systems and methods for the non-disruptive servicing of components of a user mode process. In examples, a user mode process comprises multiple components, each encapsulating a distinct piece of functionality. A replacement component is loaded and initialized. The replacement component is validated to ensure that the required dependencies of the replacement component are satisfied by the other components of the user mode process. The component to be serviced and the components having dependencies on the component to be serviced are suspended to enable a snapshot of the runtime state of the component to be serviced to be captured. The runtime state is copied to the replacement component and the components having dependencies on the component to be serviced are updated to reference the replacement component. The replacement component is executed and the suspended components are resumed. The component to be serviced is unloaded.
    Type: Application
    Filed: September 16, 2022
    Publication date: March 21, 2024
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Robert Tyler RETZLAFF, Omar CARDONA, Jie ZHOU, Dmitry MALLOY
  • Publication number: 20240086215
    Abstract: Examples of the present disclosure describe systems and methods for non-disruptively hibernating and resuming a guest environment using a network virtual service client. In examples, when a guest environment is hibernated, a network virtual service client provides an instruction to a virtual network interface card to set the device power state of the virtual network interface card to a low power state. The network virtual service client disables the communication channels used by the network virtual service client and saves the operating state of the virtual network interface card. When the guest environment is resumed, the network virtual service client provides an instruction to set the device power state of the virtual network interface card to a full power state. The network virtual service client reenables the communication channels used by the network virtual service client and restores the operating state of the virtual network interface card.
    Type: Application
    Filed: September 12, 2022
    Publication date: March 14, 2024
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Jie ZHOU, Dmitry MALLOY, Khoa A. TO, Omar CARDONA
  • Publication number: 20240007412
    Abstract: Examples of the present disclosure describe systems and methods for transmit side scaling. In examples, transmission side configuration information is received by a host operating system from a guest operating system, where the transmission side scaling configuration information specifies the manner in which data packets transmitted by the host operating system are to be distributed to a network interface card of the host operating system. The transmission side configuration scaling information is implemented in an outbound transmission table of the host operating system. When a data packet is received by the host operating system, the host operating system evaluates the data packet using the outbound transmission table. Based on the evaluation, that data packet is transmitted using a specified transmit queue of the network interface card.
    Type: Application
    Filed: June 29, 2022
    Publication date: January 4, 2024
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Khoa A. TO, Omar CARDONA, Dmitry MALLOY
  • Publication number: 20240004772
    Abstract: Systems and methods for determining and reporting actual utilization of a core of a central processing unit (CPU) of a host. Prior to implementation of aspects of the present disclosure, running a poll querying endpoints of a process for work appears to the host's operating system as busy work (e.g., taking full use of the core for the poll duration). However, only a percentage of the duration of the poll is used to process a task of the process, where the remaining duration of the poll is spent querying the endpoints (idle time) and the core is not performing a task. Accordingly, a core utilization reporting system and method automatically detects the processing time of the tasks of a process, determines actual CPU utilization of the core based on a percentage of the time the core is busy polling (doing effectively no work) versus doing actual work (processing a task).
    Type: Application
    Filed: June 30, 2022
    Publication date: January 4, 2024
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Khoa A. TO, Omar CARDONA, Dmitry MALLOY, Narcisa Ana Maria VASILE, Robert Tyler RETZLAFF
  • Patent number: 11283718
    Abstract: Embodiments of hybrid network processing load distribution in a computing device are disclosed therein. In one embodiment, a method includes receiving, at a main processor, an indication from the network interface controller to perform network processing operations for first and second packets in a queue of a virtual port of the network interface controller, and in response to receiving the request, assigning multiple cores for performing the network processing operations for the first and second packets, respectively. The method also includes performing the network processing operations at the multiple cores to effect processing and transmission of the first and second packets to first and second applications, respectively, both the first and second applications executing in a virtual machine hosted on the computing device.
    Type: Grant
    Filed: December 17, 2019
    Date of Patent: March 22, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck
  • Publication number: 20210105221
    Abstract: Embodiments of network processing resource management in computing devices are disclosed therein. In one embodiment, a method includes receiving a request from a network interface controller to perform network processing operations at a first core of a main processor for packets assigned by the network interface controller to a queue of a virtual port of the network interface controller. The method also includes determining whether the first core has a utilization level higher than a threshold when performing the network processing operations to effect processing and transmission of the packets. If the first core has a utilization level higher than the threshold, the method includes issuing a command to the network interface to modify affinitization of the queue from the first core to a second core having a utilization level lower than the threshold.
    Type: Application
    Filed: September 25, 2020
    Publication date: April 8, 2021
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck
  • Patent number: 10826841
    Abstract: Embodiments of network processing resource management in computing devices are disclosed therein. An example method includes receiving a request from a network interface controller to perform network processing operations at a first core of a main processor for packets assigned by the network interface controller to a queue of a virtual port of the network interface controller. The method also includes determining whether the first core has a utilization level higher than a threshold when performing the network processing operations to effect processing and transmission of the packets. If the first core has a utilization level higher than the threshold, the method includes issuing a command to the network interface to modify affinitization of the queue from the first core to a second core having a utilization level lower than the threshold.
    Type: Grant
    Filed: March 15, 2017
    Date of Patent: November 3, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck
  • Patent number: 10715424
    Abstract: Techniques of network traffic management in a computing device are disclosed. One example method includes receiving, at a main processor, a request from a network interface controller to perform network processing operations for packets assigned by the network interface controller to a queue of a virtual port of the network interface controller. The method also includes, in response to receiving the request, causing one of multiple cores of the main processor with which the queue of the virtual port is affinitized to perform the network processing operations to effect processing and transmission of the packets to an application executing in a virtual machine hosted on the computing device.
    Type: Grant
    Filed: March 15, 2017
    Date of Patent: July 14, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck
  • Publication number: 20200127922
    Abstract: Embodiments of hybrid network processing load distribution in a computing device are disclosed therein. In one embodiment, a method includes receiving, at a main processor, an indication from the network interface controller to perform network processing operations for first and second packets in a queue of a virtual port of the network interface controller, and in response to receiving the request, assigning multiple cores for performing the network processing operations for the first and second packets, respectively. The method also includes performing the network processing operations at the multiple cores to effect processing and transmission of the first and second packets to first and second applications, respectively, both the first and second applications executing in a virtual machine hosted on the computing device.
    Type: Application
    Filed: December 17, 2019
    Publication date: April 23, 2020
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck
  • Patent number: 10554554
    Abstract: Embodiments of hybrid network processing load distribution in a computing device are disclosed therein. In one embodiment, a method includes receiving, at a main processor, an indication from the network interface controller to perform network processing operations for first and second packets in a queue of a virtual port of the network interface controller, and in response to receiving the request, assigning first and second cores for performing the network processing operations for the first and second packets, respectively. The method also includes performing the network processing operations at the first and second cores to effect processing and transmission of the first and second packets to first and second applications, respectively, both the first and second applications executing in a virtual machine hosted on the computing device.
    Type: Grant
    Filed: March 15, 2017
    Date of Patent: February 4, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck
  • Patent number: 10222993
    Abstract: A computing device and method for establishing more direct access to a storage device from unprivileged code in an unprivileged storage architecture component. Using a storage infrastructure driver to discover and enumerate storage architecture component(s), a user-mode application requests at least one portion of the storage device to store application-related data corresponding to executing input/output activity. The storage infrastructure driver maps the at least one portion of the storage device to substantially match an address space associated with the application-related data and configures at least one path for the user-mode application to perform block-level input/output between the storage device and the unprivileged storage architecture component. A virtual function may be generated corresponding to at least one path between a computing device and the unprivileged storage architecture component to execute input/output activity using the address space.
    Type: Grant
    Filed: July 6, 2016
    Date of Patent: March 5, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Dmitry Malloy, Dexter Paul Bradshaw, Suyash Sinha
  • Publication number: 20180157515
    Abstract: Embodiments of network processing resource management in computing devices are disclosed therein. In one embodiment, a method includes receiving a request from a network interface controller to perform network processing operations at a first core of a main processor for packets assigned by the network interface controller to a queue of a virtual port of the network interface controller. The method also includes determining whether the first core has a utilization level higher than a threshold when performing the network processing operations to effect processing and transmission of the packets. If the first core has a utilization level higher than the threshold, the method includes issuing a command to the network interface to modify affinitization of the queue from the first core to a second core having a utilization level lower than the threshold.
    Type: Application
    Filed: March 15, 2017
    Publication date: June 7, 2018
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck
  • Publication number: 20180157514
    Abstract: Embodiments of network traffic management in a computing device are disclosed therein. In one embodiment, a method includes receiving, at a main processor, a request from a network interface controller to perform network processing operations for packets assigned by the network interface controller to a queue of a virtual port of the network interface controller. The method also includes, in response to receiving the request, causing one of multiple cores of the main processor with which the queue of the virtual port is affinitized to perform the network processing operations to effect processing and transmission of the packets to an application executing in a virtual machine hosted on the computing device.
    Type: Application
    Filed: March 15, 2017
    Publication date: June 7, 2018
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck
  • Publication number: 20180159771
    Abstract: Embodiments of hybrid network processing load distribution in a computing device are disclosed therein. In one embodiment, a method includes receiving, at a main processor, an indication from the network interface controller to perform network processing operations for first and second packets in a queue of a virtual port of the network interface controller, and in response to receiving the request, assigning first and second cores for performing the network processing operations for the first and second packets, respectively. The method also includes performing the network processing operations at the first and second cores to effect processing and transmission of the first and second packets to first and second applications, respectively, both the first and second applications executing in a virtual machine hosted on the computing device.
    Type: Application
    Filed: March 15, 2017
    Publication date: June 7, 2018
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck