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).
-
Patent number: 12355578Abstract: Techniques of packet level redundancy in distributed computing systems are disclosed herein. In one example, upon receiving an original packet to be transmitted from a source host to an application executing at a destination host, the source host generates a duplicated packet based on the received original packet. The source host can then encapsulate the original and duplicated packets with first and second outer headers having first and second header values, respectively, and transmitting the original and the duplicated packets from the source host to the destination host via a first network path and a second network path in the computer network, respectively. Then, the transmitted original and duplicated packets can be de-duplicated at the destination host before providing the de-duplicated original and duplicated packets to the application executing at the destination host.Type: GrantFiled: March 15, 2022Date of Patent: July 8, 2025Assignee: Microsoft Technology Licensing, LLCInventors: Daehyeok Kim, Jitendra Padhye, Shachar Raindel, Wei Bai
-
Patent number: 12199863Abstract: 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: March 28, 2023Date of Patent: January 14, 2025Assignee: 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
-
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
-
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
-
Publication number: 20140372216Abstract: Aspects of the subject disclosure are directed towards retrieving advertisements relevant to application content based upon keywords extracted from the application content. In one aspect, a client-side component scrapes application page content to obtain keywords and feature-based weights for those keywords. The keywords are sent to an advertisement server, which returns an advertisement based upon one or more of the keywords. Also described is the hashing of keywords before sending to the advertisement server to protect client privacy, and the use of a Bloom filter to avoid sending keywords to the advertisement server that do not correspond to (e.g., popular) advertisement keywords.Type: ApplicationFiled: June 13, 2013Publication date: December 18, 2014Inventors: Suman K. Nath, Xiaozhu Lin, Lenin Ravindranath Sivalingam, Jitendra Padhye
-
Publication number: 20140082214Abstract: 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: ApplicationFiled: September 14, 2012Publication date: March 20, 2014Applicant: MICROSOFT CORPORATIONInventors: Sharad Agarwal, Christopher Riederer, Lenin Ravindranath Sivalingam, Jitendra Padhye