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: 20240056361Abstract: 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: ApplicationFiled: August 12, 2022Publication date: February 15, 2024Applicant: Microsoft Technology Licensing, LLCInventors: Wei BAI, Jitendra PADHYE, Shachar RAINDEL, Zhuolong YU, Mahmoud ELHADDAD, Abdul KABBANI
-
Publication number: 20230300053Abstract: 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: ApplicationFiled: April 30, 2021Publication date: September 21, 2023Inventors: 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: 20230231806Abstract: 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: ApplicationFiled: March 28, 2023Publication date: July 20, 2023Inventors: 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: 11652742Abstract: 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: GrantFiled: October 16, 2020Date of Patent: May 16, 2023Assignee: Microsoft Technology Licensing, LLCInventors: 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: 20220124031Abstract: 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: ApplicationFiled: October 16, 2020Publication date: April 21, 2022Inventors: 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: 11218537Abstract: 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: GrantFiled: May 12, 2020Date of Patent: January 4, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Rohan Gandhi, Shachar Raindel, Daniel Firestone, Jitendra Padhye, Lihua Yuan
-
Patent number: 11121934Abstract: 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: GrantFiled: December 8, 2020Date of Patent: September 14, 2021Assignee: Microsoft Technology Licensing, LLCInventors: 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: 20210126966Abstract: 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: ApplicationFiled: May 12, 2020Publication date: April 29, 2021Inventors: Rohan Gandhi, Shachar Raindel, Daniel Firestone, Jitendra Padhye, Lihua Yuan
-
Patent number: 10891253Abstract: 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: GrantFiled: June 14, 2017Date of Patent: January 12, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Shachar Raindel, Anirudh Badam, Jitendra Padhye
-
Patent number: 10652320Abstract: 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: GrantFiled: February 21, 2017Date of Patent: May 12, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Rohan Gandhi, Shachar Raindel, Daniel Firestone, Jitendra Padhye, Lihua Yuan
-
Patent number: 10630601Abstract: 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: GrantFiled: September 6, 2018Date of Patent: April 21, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Khoa To, Jitendra Padhye, George Varghese, Daniel Firestone
-
Publication number: 20190007338Abstract: 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: ApplicationFiled: September 6, 2018Publication date: January 3, 2019Inventors: Khoa To, Jitendra Padhye, George Varghese, Daniel Firestone
-
Patent number: 10097478Abstract: 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: GrantFiled: January 20, 2015Date of Patent: October 9, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Khoa To, Jitendra Padhye, George Varghese, Daniel Firestone
-
Publication number: 20180241809Abstract: 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: ApplicationFiled: February 21, 2017Publication date: August 23, 2018Inventors: Rohan Gandhi, Shachar Raindel, Daniel Firestone, Jitendra Padhye, Lihua Yuan
-
Publication number: 20180067893Abstract: 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: ApplicationFiled: June 14, 2017Publication date: March 8, 2018Inventors: Shachar RAINDEL, Anirudh Badam, Jitendra Padhye
-
Publication number: 20170060731Abstract: 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: ApplicationFiled: November 10, 2016Publication date: March 2, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Lenin Ravindranath Sivalingam, Jitendra Padhye, Ian Obermiller, Ratul Mahajan, Sharad Agarwal, Ronnie Ira Chaiken, Shahin Shayandeh, Christopher M. Moore, Sirius Kuttiyan
-
Patent number: 9524225Abstract: 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: GrantFiled: March 26, 2012Date of Patent: December 20, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Lenin Ravindranath Sivalingam, Jitendra Padhye, Ian Obermiller, Ratul Mahajan, Sharad Agarwal, Ronnie Ira Chaiken, Shahin Shayandeh, Christopher M. Moore, Sirius Kuttiyan
-
Publication number: 20160212065Abstract: 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: ApplicationFiled: January 20, 2015Publication date: July 21, 2016Inventors: Khoa To, Jitendra Padhye, George Varghese, Daniel Firestone
-
Patent number: 9246982Abstract: 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: GrantFiled: September 14, 2012Date of Patent: January 26, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Sharad Agarwal, Christopher Riederer, Lenin Ravindranath Sivalingam, Jitendra Padhye
-
Patent number: 8966063Abstract: 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: GrantFiled: February 6, 2012Date of Patent: February 24, 2015Assignee: Microsoft CorporationInventors: Jacob R. Lorch, Jitendra Padhye, Brian Zill, Wenbiao Xing, Wei Wan, Li Chen