Patents by Inventor Jitendra Padhye

Jitendra Padhye 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: 20240056361
    Abstract: This document relates to analyzing of network stack functionality that is implemented in hardware, such as on a network adapter. The disclosed implementations employ a programmable network device, such as a switch, to inject events into traffic and mirror the traffic for subsequent analysis. The events can have user-specified event parameters to test different types of network stack behavior, such as how the network adapters respond to corrupted packets, dropped packets, or explicit congestion notifications.
    Type: Application
    Filed: August 12, 2022
    Publication date: February 15, 2024
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Wei BAI, Jitendra PADHYE, Shachar RAINDEL, Zhuolong YU, Mahmoud ELHADDAD, Abdul KABBANI
  • Publication number: 20230300053
    Abstract: A network verification system uses general-purpose programming language to create network verification tests. A test orchestrator builds a model of the network only using data from the network verification test. An optimization testing manager creates symbolic packets for verification tests using assertions based on a packet library embedded into the testing manager and the general-purpose programming language.
    Type: Application
    Filed: April 30, 2021
    Publication date: September 21, 2023
    Inventors: Ryan Andrew BECKETT, Karthick JAYARAMAN, Neha Milind RAJE, Jitendra PADHYE, Christopher Scott JOHNSTON, Steven Jeffrey BENALOH, Nikolaj BJORNER, Andrey Aleksandrovic RYBALCHENKO, Nuno CERQUEIRA AFONSO, Nuno CLAUDINO PEREIRA LOPES, Sharad AGARWAL, Hang Kwong LEE, Aniruddha PARKHI, Maik RIECHERT
  • Publication number: 20230231806
    Abstract: Ghost routing is a network verification technique that uses a portion of a production network itself to verify the impact of potential network changes. Ghost routing logically partitions the production network into a main network and a ghost network. The main network handles live traffic while the ghost network handles traffic generated for diagnostic purposes. The ghost network may have a network topology identical to the production network and may use the same hardware and software as the production network. An operator may implement a network configuration change on the ghost network and then use verification tools to verify that the network configuration change on the ghost network does not result in bugs. Verifying on the ghost network may not affect the main network. If the network operator verifies the network configuration change on the ghost network, the network operator may implement the network configuration change on the main network.
    Type: Application
    Filed: March 28, 2023
    Publication date: July 20, 2023
    Inventors: Jitendra PADHYE, Karthick JAYARAMAN, Wei BAI, Rachee SINGH, Ryan Andrew BECKETT, Sarah Elisabeth MCCLURE, Neha Milind RAJE, Steven Jeffrey BENALOH, Christopher Scott JOHNSTON
  • Patent number: 11652742
    Abstract: Ghost routing is a network verification technique that uses a portion of a production network itself to verify the impact of potential network changes. Ghost routing logically partitions the production network into a main network and a ghost network. The main network handles live traffic while the ghost network handles traffic generated for diagnostic purposes. The ghost network may have a network topology identical to the production network and may use the same hardware and software as the production network. An operator may implement a network configuration change on the ghost network and then use verification tools to verify that the network configuration change on the ghost network does not result in bugs. Verifying on the ghost network may not affect the main network. If the network operator verifies the network configuration change on the ghost network, the network operator may implement the network configuration change on the main network.
    Type: Grant
    Filed: October 16, 2020
    Date of Patent: May 16, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jitendra Padhye, Karthick Jayaraman, Wei Bai, Rachee Singh, Ryan Andrew Beckett, Sarah Elisabeth McClure, Neha Milind Raje, Steven Jeffrey Benaloh, Christopher Scott Johnston
  • Publication number: 20220124031
    Abstract: Ghost routing is a network verification technique that uses a portion of a production network itself to verify the impact of potential network changes. Ghost routing logically partitions the production network into a main network and a ghost network. The main network handles live traffic while the ghost network handles traffic generated for diagnostic purposes. The ghost network may have a network topology identical to the production network and may use the same hardware and software as the production network. An operator may implement a network configuration change on the ghost network and then use verification tools to verify that the network configuration change on the ghost network does not result in bugs. Verifying on the ghost network may not affect the main network. If the network operator verifies the network configuration change on the ghost network, the network operator may implement the network configuration change on the main network.
    Type: Application
    Filed: October 16, 2020
    Publication date: April 21, 2022
    Inventors: Jitendra PADHYE, Karthick JAYARAMAN, Wei BAI, Rachee SINGH, Ryan Andrew BECKETT, Sarah Elisabeth MCCLURE, Neha Milind RAJE, Steven Jeffrey BENALOH, Christopher Scott JOHNSTON
  • Patent number: 11218537
    Abstract: Techniques for facilitating load balancing in distributed computing systems are disclosed herein. In one embodiment, a method includes receiving, at a destination server, a request packet from a load balancer via the computer network requesting a remote direct memory access (“RDMA”) connection between an originating server and one or more other servers selectable by the load balancer. The method can also include configuring, at the destination server, a rule for processing additional packets transmittable to the originating server via the RDMA connection based on the received reply packet. The rule is configured to encapsulate an outgoing packet transmittable to the originating server with an outer header having a destination field containing a network address of the originating server and a source field containing another network address of the destination server.
    Type: Grant
    Filed: May 12, 2020
    Date of Patent: January 4, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rohan Gandhi, Shachar Raindel, Daniel Firestone, Jitendra Padhye, Lihua Yuan
  • Patent number: 11121934
    Abstract: A network verification system uses general-purpose programming language to create network verification tests. A test orchestrator builds a model of the network only using data from the network verification test. An optimization testing manager creates symbolic packets for verification tests using assertions based on a packet library embedded into the testing manager and the general-purpose programming language.
    Type: Grant
    Filed: December 8, 2020
    Date of Patent: September 14, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ryan Andrew Beckett, Karthick Jayaraman, Neha Milind Raje, Jitendra Padhye, Christopher Scott Johnston, Steven Jeffrey Benaloh, Nikolaj Bjorner, Andrey Aleksandrovic Rybalchenko, Nuno Cerqueira Afonso, Nuno Claudino Pereira Lopes, Sharad Agarwal, Hang Kwong Lee, Aniruddha Parkhi, Maik Riechert
  • Publication number: 20210126966
    Abstract: Techniques for facilitating load balancing in distributed computing systems are disclosed herein. In one embodiment, a method includes receiving, at a destination server, a request packet from a load balancer via the computer network requesting a remote direct memory access (“RDMA”) connection between an originating server and one or more other servers selectable by the load balancer. The method can also include configuring, at the destination server, a rule for processing additional packets transmittable to the originating server via the RDMA connection based on the received reply packet. The rule is configured to encapsulate an outgoing packet transmittable to the originating server with an outer header having a destination field containing a network address of the originating server and a source field containing another network address of the destination server.
    Type: Application
    Filed: May 12, 2020
    Publication date: April 29, 2021
    Inventors: Rohan Gandhi, Shachar Raindel, Daniel Firestone, Jitendra Padhye, Lihua Yuan
  • Patent number: 10891253
    Abstract: An originating host device in a distribution chain is provided upstream from multiple host devices including intermediary and terminating host devices. The originating host device includes a core with a generation application and a first RDMA NIC. The core: determines a plan for transferring data between the originating host device and the other host devices; and generates WQEs to implement the plan. The first RDMA NIC includes a read application, a descriptor application, and a reception application. The read application is configured such that the first RDMA NIC reads the WQEs from a first memory. The descriptor application is configured such that the first RDMA NIC: writes a portion of the WQEs directly from the first RDMA NIC to a second memory of the intermediary host device; and triggers a second RDMA NIC of the intermediary host device to process the portion of the WQEs stored in the second memory.
    Type: Grant
    Filed: June 14, 2017
    Date of Patent: January 12, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Shachar Raindel, Anirudh Badam, Jitendra Padhye
  • Patent number: 10652320
    Abstract: Techniques for facilitating load balancing in distributed computing systems are disclosed herein. In one embodiment, a method includes receiving, at a destination server, a request packet from a load balancer via the computer network requesting a remote direct memory access (“RDMA”) connection between an originating server and one or more other servers selectable by the load balancer. The method can also include configuring, at the destination server, a rule for processing additional packets transmittable to the originating server via the RDMA connection based on the received reply packet. The rule is configured to encapsulate an outgoing packet transmittable to the originating server with an outer header having a destination field containing a network address of the originating server and a source field containing another network address of the destination server.
    Type: Grant
    Filed: February 21, 2017
    Date of Patent: May 12, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rohan Gandhi, Shachar Raindel, Daniel Firestone, Jitendra Padhye, Lihua Yuan
  • Patent number: 10630601
    Abstract: Micro-schedulers control bandwidth allocation for clients, each client subscribing to a respective predefined portion of bandwidth of an outgoing communication link. A macro-scheduler controls the micro-schedulers, by allocating the respective subscribed portion of bandwidth associated with each respective client that is active, by a predefined first deadline, with residual bandwidth that is unused by the respective clients being shared proportionately among respective active clients by a predefined second deadline, while minimizing coordination among micro-schedulers by the macro-scheduler periodically adjusting respective bandwidth allocations to each micro-scheduler.
    Type: Grant
    Filed: September 6, 2018
    Date of Patent: April 21, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Khoa To, Jitendra Padhye, George Varghese, Daniel Firestone
  • Publication number: 20190007338
    Abstract: Micro-schedulers control bandwidth allocation for clients, each client subscribing to a respective predefined portion of bandwidth of an outgoing communication link. A macro-scheduler controls the micro-schedulers, by allocating the respective subscribed portion of bandwidth associated with each respective client that is active, by a predefined first deadline, with residual bandwidth that is unused by the respective clients being shared proportionately among respective active clients by a predefined second deadline, while minimizing coordination among micro-schedulers by the macro-scheduler periodically adjusting respective bandwidth allocations to each micro-scheduler.
    Type: Application
    Filed: September 6, 2018
    Publication date: January 3, 2019
    Inventors: Khoa To, Jitendra Padhye, George Varghese, Daniel Firestone
  • Patent number: 10097478
    Abstract: Micro-schedulers control bandwidth allocation for clients, each client subscribing to a respective predefined portion of bandwidth of an outgoing communication link. A macro-scheduler controls the micro-schedulers, by allocating the respective subscribed portion of bandwidth associated with each respective client that is active, by a predefined first deadline, with residual bandwidth that is unused by the respective clients being shared proportionately among respective active clients by a predefined second deadline, while minimizing coordination among micro-schedulers by the macro-scheduler periodically adjusting respective bandwidth allocations to each micro-scheduler.
    Type: Grant
    Filed: January 20, 2015
    Date of Patent: October 9, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Khoa To, Jitendra Padhye, George Varghese, Daniel Firestone
  • Publication number: 20180241809
    Abstract: Techniques for facilitating load balancing in distributed computing systems are disclosed herein. In one embodiment, a method includes receiving, at a destination server, a request packet from a load balancer via the computer network requesting a remote direct memory access (“RDMA”) connection between an originating server and one or more other servers selectable by the load balancer. The method can also include configuring, at the destination server, a rule for processing additional packets transmittable to the originating server via the RDMA connection based on the received reply packet. The rule is configured to encapsulate an outgoing packet transmittable to the originating server with an outer header having a destination field containing a network address of the originating server and a source field containing another network address of the destination server.
    Type: Application
    Filed: February 21, 2017
    Publication date: August 23, 2018
    Inventors: Rohan Gandhi, Shachar Raindel, Daniel Firestone, Jitendra Padhye, Lihua Yuan
  • Publication number: 20180067893
    Abstract: An originating host device in a distribution chain is provided upstream from multiple host devices including intermediary and terminating host devices. The originating host device includes a core with a generation application and a first RDMA NIC. The core: determines a plan for transferring data between the originating host device and the other host devices; and generates WQEs to implement the plan. The first RDMA NIC includes a read application, a descriptor application, and a reception application. The read application is configured such that the first RDMA NIC reads the WQEs from a first memory. The descriptor application is configured such that the first RDMA NIC: writes a portion of the WQEs directly from the first RDMA NIC to a second memory of the intermediary host device; and triggers a second RDMA NIC of the intermediary host device to process the portion of the WQEs stored in the second memory.
    Type: Application
    Filed: June 14, 2017
    Publication date: March 8, 2018
    Inventors: Shachar RAINDEL, Anirudh Badam, Jitendra Padhye
  • Publication number: 20170060731
    Abstract: Methods and systems for dynamically providing application analytic information are provided herein. The method includes inserting instrumentation points into an application file via an application analytic service and dynamically determining desired instrumentation points from which to collect application analytic data. The method also includes receiving, at the application analytic service, the application analytic data corresponding to the desired instrumentation points and analyzing the application analytic data to generate application analytic information. The method further includes sending the application analytic information to a client computing device.
    Type: Application
    Filed: November 10, 2016
    Publication date: March 2, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Lenin Ravindranath Sivalingam, Jitendra Padhye, Ian Obermiller, Ratul Mahajan, Sharad Agarwal, Ronnie Ira Chaiken, Shahin Shayandeh, Christopher M. Moore, Sirius Kuttiyan
  • Patent number: 9524225
    Abstract: Methods and systems for dynamically providing application analytic information are provided herein. The method includes inserting instrumentation points into an application file via an application analytic service and dynamically determining desired instrumentation points from which to collect application analytic data. The method also includes receiving, at the application analytic service, the application analytic data corresponding to the desired instrumentation points and analyzing the application analytic data to generate application analytic information. The method further includes sending the application analytic information to a client computing device.
    Type: Grant
    Filed: March 26, 2012
    Date of Patent: December 20, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Lenin Ravindranath Sivalingam, Jitendra Padhye, Ian Obermiller, Ratul Mahajan, Sharad Agarwal, Ronnie Ira Chaiken, Shahin Shayandeh, Christopher M. Moore, Sirius Kuttiyan
  • Publication number: 20160212065
    Abstract: Micro-schedulers control bandwidth allocation for clients, each client subscribing to a respective predefined portion of bandwidth of an outgoing communication link. A macro-scheduler controls the micro-schedulers, by allocating the respective subscribed portion of bandwidth associated with each respective client that is active, by a predefined first deadline, with residual bandwidth that is unused by the respective clients being shared proportionately among respective active clients by a predefined second deadline, while minimizing coordination among micro-schedulers by the macro-scheduler periodically adjusting respective bandwidth allocations to each micro-scheduler.
    Type: Application
    Filed: January 20, 2015
    Publication date: July 21, 2016
    Inventors: Khoa To, Jitendra Padhye, George Varghese, Daniel Firestone
  • Patent number: 9246982
    Abstract: Methods and systems for reducing network usage of a computing device are provided herein. The method includes receiving a network call relating to a network transfer from an application at an application programming interface of the computing device. The method also includes determining whether the network transfer is relevant to a current state of the application and procrastinating the network transfer if it is not relevant to the current state of the application.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: January 26, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sharad Agarwal, Christopher Riederer, Lenin Ravindranath Sivalingam, Jitendra Padhye
  • Patent number: 8966063
    Abstract: The claimed subject matter provides a method for operating a sleep management service. The method include identifying a set of guardians based on a local state for each of a plurality of compute nodes. The method also includes sending a wake request to all sleeping compute nodes in the identified set. The method further includes sending a request to become a guardian to all compute nodes in the identified set. Additionally, the method includes stopping a current guardian from being a guardian if the current guardian is less suitable than a threshold number of current guardians.
    Type: Grant
    Filed: February 6, 2012
    Date of Patent: February 24, 2015
    Assignee: Microsoft Corporation
    Inventors: Jacob R. Lorch, Jitendra Padhye, Brian Zill, Wenbiao Xing, Wei Wan, Li Chen