Patents by Inventor Madhusudhan Ravi
Madhusudhan Ravi 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: 20230014835Abstract: A method of selecting an egress interface for a source process running on an electronic device is provided. The device implements a TCP/IP stack utilized by a plurality of applications for sending network packets. The method receives a packet from a particular application in the plurality of applications to send to a network destination over a socket tagged with an identifier of the particular application. The method compares the socket tag with a set of network egress interface tags. Each network egress interface tag is associated with a network egress interface in a plurality of network egress interfaces. Each network egress interface tag includes the identifier of an application that utilizes the network egress interface. The method selects a network egress interface with a tag that matches the socket tag. The method sends the packet to the network destination through the selected network egress interface.Type: ApplicationFiled: September 26, 2022Publication date: January 19, 2023Inventors: Madhusudhan Ravi, Wilson Wang, Rajeev Nair
-
Patent number: 11457096Abstract: A method of selecting an egress interface for a source process running on an electronic device is provided. The device implements a TCP/IP stack utilized by a plurality of applications for sending network packets. The method receives a packet from a particular application in the plurality of applications to send to a network destination over a socket tagged with an identifier of the particular application. The method compares the socket tag with a set of network egress interface tags. Each network egress interface tag is associated with a network egress interface in a plurality of network egress interfaces. Each network egress interface tag includes the identifier of an application that utilizes the network egress interface. The method selects a network egress interface with a tag that matches the socket tag. The method sends the packet to the network destination through the selected network egress interface.Type: GrantFiled: July 2, 2020Date of Patent: September 27, 2022Assignee: NICIRA, INC.Inventors: Madhusudhan Ravi, Wilson Wang, Rajeev Nair
-
Publication number: 20200396207Abstract: A solution for firewall auto-learning in in zero trust environments, such as cloud environments, includes: based at least on a first trigger event, determining a first set of restricted dependencies for a cloud service firewall to learn for a first application; during a first learning phase, learning a first set of candidate rules corresponding to at least a portion of the first set of restricted dependencies; receiving an indication of verifying, blocking, or tailoring one or more candidate rules within the first set of candidate rules, to generate a first set of verified rules; and operating the firewall with the first set of verified rules for the first application. Some examples include receiving a set of constraints, such as a selection from a set of preset constraints and/or a custom constraint. Some examples include retraining based at least on a second trigger event and/or learning rules for a second application.Type: ApplicationFiled: June 17, 2019Publication date: December 17, 2020Inventors: Girish M. MOTWANI, Yair TOR, Sinead C. O'DONOVAN, Murali K. SANGUBHATLA, Andrey TERENTYEV, Madhusudhan RAVI
-
Publication number: 20200336571Abstract: A method of selecting an egress interface for a source process running on an electronic device is provided. The device implements a TCP/IP stack utilized by a plurality of applications for sending network packets. The method receives a packet from a particular application in the plurality of applications to send to a network destination over a socket tagged with an identifier of the particular application. The method compares the socket tag with a set of network egress interface tags. Each network egress interface tag is associated with a network egress interface in a plurality of network egress interfaces. Each network egress interface tag includes the identifier of an application that utilizes the network egress interface. The method selects a network egress interface with a tag that matches the socket tag. The method sends the packet to the network destination through the selected network egress interface.Type: ApplicationFiled: July 2, 2020Publication date: October 22, 2020Inventors: Madhusudhan Ravi, Wilson Wang, Rajeev Nair
-
Patent number: 10721338Abstract: A method of selecting an egress interface for a source process running on an electronic device is provided. The device implements a TCP/IP stack utilized by a plurality of applications for sending network packets. The method receives a packet from a particular application in the plurality of applications to send to a network destination over a socket tagged with an identifier of the particular application. The method compares the socket tag with a set of network egress interface tags. Each network egress interface tag is associated with a network egress interface in a plurality of network egress interfaces. Each network egress interface tag includes the identifier of an application that utilizes the network egress interface. The method selects a network egress interface with a tag that matches the socket tag. The method sends the packet to the network destination through the selected network egress interface.Type: GrantFiled: July 30, 2018Date of Patent: July 21, 2020Assignee: NICIRA, INC.Inventors: Madhusudhan Ravi, Wilson Wang, Rajeev Nair
-
Patent number: 10608908Abstract: Techniques disclosed herein provide an approach for diagnosing problems in a network connection established between applications running on two endpoints. In one embodiment, upon identification of a potential issue in the network connection, a connection detector is triggered in one of the endpoints and requests a kernel of that endpoint to transmit an on-demand, non-invasive packet to the other endpoint. The connection detector then determines whether the application running on the other endpoint is available via the connection based on whether an acknowledgment packet is received from the other endpoint after the transmission of the non-invasive packet.Type: GrantFiled: September 3, 2016Date of Patent: March 31, 2020Assignee: Nicira, Inc.Inventors: Akshay Kumar Sreeramoju, Corentin Derbois, Madhusudhan Ravi, Gopakumar Pillai
-
Publication number: 20190068759Abstract: A method of selecting an egress interface for a source process running on an electronic device is provided. The device implements a TCP/IP stack utilized by a plurality of applications for sending network packets. The method receives a packet from a particular application in the plurality of applications to send to a network destination over a socket tagged with an identifier of the particular application. The method compares the socket tag with a set of network egress interface tags. Each network egress interface tag is associated with a network egress interface in a plurality of network egress interfaces. Each network egress interface tag includes the identifier of an application that utilizes the network egress interface. The method selects a network egress interface with a tag that matches the socket tag. The method sends the packet to the network destination through the selected network egress interface.Type: ApplicationFiled: July 30, 2018Publication date: February 28, 2019Inventors: Madhusudhan Ravi, Wilson Wang, Rajeev Nair
-
Patent number: 10200277Abstract: Example methods are provided to influence path selection during a multipath connection between a first endpoint and a second endpoint. The method may comprise configuring, for a first subflow of a multipath connection, a first set of tuples and establishing, over a network interface of the first endpoint, the first subflow with the second endpoint. The method may further comprise configuring, for a second subflow of the multipath connection, a second set of tuples based a path selection algorithm learned by the first endpoint; and establishing the second subflow with the second endpoint. The method may further comprise sending first packets having the first set of tuples on the first subflow and second packets having the second set of tuples on the second subflow to the second endpoint via an intermediate device that uses the path selection algorithm.Type: GrantFiled: June 8, 2016Date of Patent: February 5, 2019Assignee: NICIRA, INC.Inventors: Akshay Kumar Sreeramoju, Madhusudhan Ravi, Benjamin Basler
-
Patent number: 10129372Abstract: Example methods are provided for a first endpoint to transfer a first data set and a second data set to a second endpoint using a multipath connection. The method may comprise detecting the first data set and the second data set from an application executing on the first endpoint for transfer to the second endpoint. The method may comprise, in response to determination that in-order transfer is not required for the first data set and the second data set, establishing a first subflow of a multipath connection with the second endpoint to send the first data set and establishing a second subflow of the multipath connection to send the second data set. The method may further comprise sending the first data set on the first subflow and the second data set on the second subflow to the second endpoint.Type: GrantFiled: April 6, 2016Date of Patent: November 13, 2018Assignee: NICIRA, INC.Inventors: Madhusudhan Ravi, Akshay Kumar Sreeramoju
-
Patent number: 10097465Abstract: Example methods are provided to perform data transfer between a first endpoint and a second endpoint. The method may comprise detecting an elephant flow of data from an application executing on the first endpoint for transfer to the second endpoint; and splitting the elephant flow to obtain first packets and second packets. The first endpoint may have cognizance of a first path and a second path between a first network interface of the first endpoint and a second network interface of the second endpoint. The method may comprise establishing a first subflow and a second subflow of a multipath connection with the second endpoint; and sending, over the first network interface, the first packets on the first subflow and the second packets on the second subflow to the second network interface.Type: GrantFiled: June 8, 2016Date of Patent: October 9, 2018Assignee: NICIRA INC.Inventors: Akshay Kumar Sreeramoju, Madhusudhan Ravi, Benjamin Basler
-
Patent number: 10038616Abstract: Embodiments relate to classifying network streams and regulating behavior of the streams based on their respective classes. One technique for managing streams involves analyzing applications, obtaining indicia of features of the applications, and using those features to infer classes to which streams of the applications may be assigned. Another technique involves deploying beacon nodes at the edge of a network. The beacon nodes inform a stream manager about network conditions such as latencies with regard to network boundaries or regions. Another embodiment for facilitating management of streams involves a subscription service for UDP applications. A UDP application may subscribe to the service, which may be provided by an operating system hosting the application. Events are published to any subscribed UDP applications to inform the UDP applications of changes in networking conditions. The UDP applications, in turn, may adapt their internal transmission control logic.Type: GrantFiled: September 25, 2014Date of Patent: July 31, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Ahmed Talat, Vibhor Bhatt, Jeff Sinnemaki, Alexei Aleksenko, Ilia Sacson, Jeffrey C. Fuller, Milena Salman, Madhusudhan Ravi, Mohammed Karam, Neel Jain
-
Patent number: 9794184Abstract: Some embodiments provide a method for reducing congestion in a network stack that includes a series of components that send data packets through the network stack to a network. At a first component of the network stack, the method receives a data packet from a second component of the network stack. The method identifies a usage indicator value for a flow to which the data packet belongs. The usage indicator value is based on a comparison of a size of the flow to a size of a queue for a third component of the network stack. The method determines whether to send the data packet based on a comparison of the usage indicator value to a threshold usage value. The method sends the data packet to a next component of the network stack only when the usage indicator value is less than the threshold usage value.Type: GrantFiled: January 3, 2017Date of Patent: October 17, 2017Assignee: NICIRA, INC.Inventors: Akshay K. Sreeramoju, Madhusudhan Ravi, Ricardo Koller
-
Publication number: 20170230262Abstract: Techniques disclosed herein provide an approach for diagnosing problems in a network connection established between applications running on two endpoints. In one embodiment, upon identification of a potential issue in the network connection, a connection detector is triggered in one of the endpoints and requests a kernel of that endpoint to transmit an on-demand, non-invasive packet to the other endpoint. The connection detector then determines whether the application running on the other endpoint is available via the connection based on whether an acknowledgment packet is received from the other endpoint after the transmission of the non-invasive packet.Type: ApplicationFiled: September 3, 2016Publication date: August 10, 2017Inventors: AKSHAY KUMAR SREERAMOJU, CORENTIN DERBOIS, MADHUSUDHAN RAVI, GOPAKUMAR PILLAI
-
Publication number: 20170163539Abstract: Example methods are provided to perform data transfer between a first endpoint and a second endpoint. The method may comprise detecting an elephant flow of data from an application executing on the first endpoint for transfer to the second endpoint; and splitting the elephant flow to obtain first packets and second packets. The first endpoint may have cognizance of a first path and a second path between a first network interface of the first endpoint and a second network interface of the second endpoint. The method may comprise establishing a first subflow and a second subflow of a multipath connection with the second endpoint; and sending, over the first network interface, the first packets on the first subflow and the second packets on the second subflow to the second network interface.Type: ApplicationFiled: June 8, 2016Publication date: June 8, 2017Inventors: AKSHAY KUMAR SREERAMOJU, MADHUSUDHAN RAVI, BENJAMIN BASLER
-
Publication number: 20170163775Abstract: Example methods are provided for a first endpoint to transfer a first data set and a second data set to a second endpoint using a multipath connection. The method may comprise detecting the first data set and the second data set from an application executing on the first endpoint for transfer to the second endpoint. The method may comprise, in response to determination that in-order transfer is not required for the first data set and the second data set, establishing a first subflow of a multipath connection with the second endpoint to send the first data set and establishing a second subflow of the multipath connection to send the second data set. The method may further comprise sending the first data set on the first subflow and the second data set on the second subflow to the second endpoint.Type: ApplicationFiled: April 6, 2016Publication date: June 8, 2017Inventors: MADHUSUDHAN RAVI, AKSHAY KUMAR SREERAMOJU
-
Publication number: 20170163522Abstract: Example methods are provided to influence path selection during a multipath connection between a first endpoint and a second endpoint. The method may comprise configuring, for a first subflow of a multipath connection, a first set of tuples and establishing, over a network interface of the first endpoint, the first subflow with the second endpoint. The method may further comprise configuring, for a second subflow of the multipath connection, a second set of tuples based a path selection algorithm learned by the first endpoint; and establishing the second subflow with the second endpoint. The method may further comprise sending first packets having the first set of tuples on the first subflow and second packets having the second set of tuples on the second subflow to the second endpoint via an intermediate device that uses the path selection algorithm.Type: ApplicationFiled: June 8, 2016Publication date: June 8, 2017Inventors: AKSHAY KUMAR SREERAMOJU, MADHUSUDHAN RAVI, BENJAMIN BASLER
-
Patent number: 9674099Abstract: An operating system implements classes of network streams. Applications assign their network streams to the classes. The operating system, in turn, regulates the streams according to which classes the streams are in. As conditions change, network resources may be made available or more fully utilized by regulating streams according to which classes they have been assigned to. Network resources may be made available, perhaps rapidly or preemptively, for streams in higher priority classes by restricting streams in lower priority classes.Type: GrantFiled: September 25, 2014Date of Patent: June 6, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Ahmed Talat, Vibhor Bhatt, Jeff Sinnemaki, Alexei Aleksenko, Ilia Sacson, Jeffrey C. Fuller, Milena Salman, Madhusudhan Ravi, Mohammed Karam, Neel Jain
-
Publication number: 20170118130Abstract: Some embodiments provide a method for reducing congestion in a network stack that includes a series of components that send data packets through the network stack to a network. At a first component of the network stack, the method receives a data packet from a second component of the network stack. The method identifies a usage indicator value for a flow to which the data packet belongs. The usage indicator value is based on a comparison of a size of the flow to a size of a queue for a third component of the network stack. The method determines whether to send the data packet based on a comparison of the usage indicator value to a threshold usage value. The method sends the data packet to a next component of the network stack only when the usage indicator value is less than the threshold usage value.Type: ApplicationFiled: January 3, 2017Publication date: April 27, 2017Inventors: Akshay K. Sreeramoju, Madhusudhan Ravi, Ricardo Koller
-
Patent number: 9544238Abstract: Some embodiments provide a method for reducing congestion in a network stack that includes a series of components that send data packets through the network stack to a network. At a first component of the network stack, the method receives a data packet from a second component of the network stack. The method identifies a usage indicator value for a flow to which the data packet belongs. The usage indicator value is based on a comparison of a size of the flow to a size of a queue for a third component of the network stack. The method determines whether to send the data packet based on a comparison of the usage indicator value to a threshold usage value. The method sends the data packet to a next component of the network stack only when the usage indicator value is less than the threshold usage value.Type: GrantFiled: March 11, 2015Date of Patent: January 10, 2017Assignee: NICIRA, INC.Inventors: Akshay K. Sreeramoju, Madhusudhan Ravi, Ricardo Koller
-
Publication number: 20160269305Abstract: Some embodiments provide a method for reducing congestion in a network stack that includes a series of components that send data packets through the network stack to a network. At a first component of the network stack, the method receives a data packet from a second component of the network stack. The method identifies a usage indicator value for a flow to which the data packet belongs. The usage indicator value is based on a comparison of a size of the flow to a size of a queue for a third component of the network stack. The method determines whether to send the data packet based on a comparison of the usage indicator value to a threshold usage value. The method sends the data packet to a next component of the network stack only when the usage indicator value is less than the threshold usage value.Type: ApplicationFiled: March 11, 2015Publication date: September 15, 2016Inventors: Akshay K. Sreeramoju, Madhusudhan Ravi, Ricardo Koller