Patents by Inventor Mohit Prakash Saxena

Mohit Prakash Saxena 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: 20240103926
    Abstract: Managing an autoscaled user space networking stack is provided. A cluster of containers are disposed in a userspace separate from a kernel space of a device. Each container in the cluster of containers can execute a respective one of a plurality of virtual functions, for a network interface card of the device, to cause packets received by the device to bypass the kernel space. The device can forward, via a load balancing technique, a packet received by the device to a container in the cluster of containers. The container can execute a virtual function of the plurality of virtual functions. The device can update a queue for a core managed by the virtual function. The update can cause the core to process the packet in accordance with the queue.
    Type: Application
    Filed: September 28, 2022
    Publication date: March 28, 2024
    Inventors: Mohit Prakash Saxena, Harihara Sudhan, Nagesh Mallappa
  • Patent number: 11843575
    Abstract: The present disclosure is directed towards systems and methods for transmitting data packets to a software container executing on a host computing device. A network service can be enabled within a software container established on the host computing device. A data packet of a request formatted according to the network service can be received via a first port of a first subnetwork assigned to the host computing device. The data packet can be forwarded to a second port assigned to the software container, responsive to a network address translation rule associating the second port assigned to the software container with the first port of the host computing device. The second port can be a port of a second subnetwork assigned to the software container. The data packet can be processed according to the network service within the software container.
    Type: Grant
    Filed: December 17, 2019
    Date of Patent: December 12, 2023
    Assignee: Citrix Systems, Inc.
    Inventor: Mohit Prakash Saxena
  • Patent number: 11816057
    Abstract: A user space driver for input/output traffic distribution and packet processing is provided. A device can establish a driver in user space with access to a memory mapped region shared with a kernel of the device. The driver can access a packet stored to the memory mapped region by a network interface of the device responsive to receipt of the packet. The driver can provide the packet to a selected application of a plurality of applications for processing by the selected application.
    Type: Grant
    Filed: October 19, 2021
    Date of Patent: November 14, 2023
    Assignee: Citrix Systems, Inc.
    Inventors: Mohit Prakash Saxena, Rukmangada Naidu Kathem, Sameer Bagepalli Ramesh, Satish Shankarnaidu
  • Publication number: 20230119494
    Abstract: A user space driver for input/output traffic distribution and packet processing is provided. A device can establish a driver in user space with access to a memory mapped region shared with a kernel of the device. The driver can access a packet stored to the memory mapped region by a network interface of the device responsive to receipt of the packet. The driver can provide the packet to a selected application of a plurality of applications for processing by the selected application.
    Type: Application
    Filed: October 19, 2021
    Publication date: April 20, 2023
    Applicant: Citrix Systems, Inc.
    Inventors: Mohit Prakash Saxena, Rukmangada Naidu Kathem, Sameer Bagepalli Ramesh, Satish Shankarnaidu
  • Publication number: 20220360531
    Abstract: Systems and methods of vertical auto-scaling a networking stack by adjusting the number of packet engines executing on a device are provided. A device intermediary to clients and servers executes first packet engines to process network traffic of a first set of connections. The device determines to adjust the number of packet engines executing on the device based on trigger parameters. The device activates second packet engines to process network traffic for a second set of connections. The device mirrors the network traffic from the first and second set of connections. The first packet engines reject the traffic from the second connections, and the second packet engines reject the traffic from the first connections. The device deactivates the first packet engines when the first connections timeout.
    Type: Application
    Filed: May 10, 2021
    Publication date: November 10, 2022
    Applicant: Citrix Systems, Inc.
    Inventors: Harihara Sudhan, Mohit Prakash Saxena, Saravanan Jayaraman
  • Patent number: 11489775
    Abstract: Systems and methods of vertical auto-scaling a networking stack by adjusting the number of packet engines executing on a device are provided. A device intermediary to clients and servers executes first packet engines to process network traffic of a first set of connections. The device determines to adjust the number of packet engines executing on the device based on trigger parameters. The device activates second packet engines to process network traffic for a second set of connections. The device mirrors the network traffic from the first and second set of connections. The first packet engines reject the traffic from the second connections, and the second packet engines reject the traffic from the first connections. The device deactivates the first packet engines when the first connections timeout.
    Type: Grant
    Filed: May 10, 2021
    Date of Patent: November 1, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Harihara Sudhan, Mohit Prakash Saxena, Saravanan Jayaraman
  • Patent number: 11477102
    Abstract: Described embodiments provide systems and methods for upgrading user space networking stacks without disruptions to network traffic. A first packet engine can read connection information of existing connections of a second packet engine written to a shared memory region by the second packet engine. The first packet engine can establish one or more virtual connections according to the connection information of existing connections of the second packet engine. Each of the first packet engine and the second packet engine can receive mirrored traffic data. The first packet engine can receive a first packet and determine that the first packet is associated with a virtual connection corresponding to an existing connection of the second packet engine. The first packet engine can drop the first packet responsive to the determination that the first packet is associated with the virtual connection.
    Type: Grant
    Filed: August 4, 2020
    Date of Patent: October 18, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Saravanan Jayaraman, Mohit Prakash Saxena, Jyotheesh Rao Kurma, Pulkit Gupta
  • Publication number: 20210399966
    Abstract: Described embodiments provide systems and methods for upgrading user space networking stacks without disruptions to network traffic. A first packet engine can read connection information of existing connections of a second packet engine written to a shared memory region by the second packet engine. The first packet engine can establish one or more virtual connections according to the connection information of existing connections of the second packet engine. Each of the first packet engine and the second packet engine can receive mirrored traffic data. The first packet engine can receive a first packet and determine that the first packet is associated with a virtual connection corresponding to an existing connection of the second packet engine. The first packet engine can drop the first packet responsive to the determination that the first packet is associated with the virtual connection.
    Type: Application
    Filed: August 4, 2020
    Publication date: December 23, 2021
    Inventors: Saravanan Jayaraman, Mohit Prakash Saxena, Jyotheesh Rao Kurma, Pulkit Gupta
  • Publication number: 20200127971
    Abstract: The present disclosure is directed towards systems and methods for transmitting data packets to a software container executing on a host computing device. A network service can be enabled within a software container established on the host computing device. A data packet of a request formatted according to the network service can be received via a first port of a first subnetwork assigned to the host computing device. The data packet can be forwarded to a second port assigned to the software container, responsive to a network address translation rule associating the second port assigned to the software container with the first port of the host computing device. The second port can be a port of a second subnetwork assigned to the software container. The data packet can be processed according to the network service within the software container.
    Type: Application
    Filed: December 17, 2019
    Publication date: April 23, 2020
    Inventor: Mohit Prakash Saxena
  • Patent number: 10530747
    Abstract: The present disclosure is directed towards systems and methods for transmitting data packets to a software container executing on a host computing device. A network service can be enabled within a software container established on the host computing device. A data packet of a request formatted according to the network service can be received via a first port of a first subnetwork assigned to the host computing device. The data packet can be forwarded to a second port assigned to the software container, responsive to a network address translation rule associating the second port assigned to the software container with the first port of the host computing device. The second port can be a port of a second subnetwork assigned to the software container. The data packet can be processed according to the network service within the software container.
    Type: Grant
    Filed: January 13, 2017
    Date of Patent: January 7, 2020
    Assignee: CITRIX SYSTEMS, INC.
    Inventor: Mohit Prakash Saxena
  • Patent number: 10320696
    Abstract: Systems and methods of providing fine grained control over MSS values of transport layer connections. A device intermediary to a plurality of clients and a plurality of servers can identify a first MSS value based on a MTU value of a VLAN interface responsive to a request to establish a transport layer connection. Device determines that a MSS value of the VLAN is less than the first MSS value. Device updates, responsive to the determination, the first MSS value to a second MSS value corresponding to the MSS value of the VLAN. Device determines that an MSS value specified by a profile configured for a virtual server of the device is less than the second MSS value. Device updates the second MSS value to the MSS value of the profile responsive to determining that the MSS value specified by the profile is less than the second MSS value.
    Type: Grant
    Filed: February 27, 2017
    Date of Patent: June 11, 2019
    Assignee: Citrix Systems, Inc.
    Inventors: Ashwin Jagadish, Saravana Annamalaisami, Muthukumar Shunmugiah, Mohit Prakash Saxena
  • Publication number: 20180205652
    Abstract: The present disclosure is directed towards systems and methods for transmitting data packets to a software container executing on a host computing device. A network service can be enabled within a software container established on the host computing device. A data packet of a request formatted according to the network service can be received via a first port of a first subnetwork assigned to the host computing device. The data packet can be forwarded to a second port assigned to the software container, responsive to a network address translation rule associating the second port assigned to the software container with the first port of the host computing device. The second port can be a port of a second subnetwork assigned to the software container. The data packet can be processed according to the network service within the software container.
    Type: Application
    Filed: January 13, 2017
    Publication date: July 19, 2018
    Inventor: Mohit Prakash Saxena
  • Patent number: 9894008
    Abstract: This disclosure is directed generally to systems and methods for implementation of Jumbo frames in an existing network stack. In some embodiments, a connection handler of a device receives data having a size greater than an Ethernet frame size. That data includes header data and payload data. The device partitions the data into segments including a first segment and a second segment. The first segment includes the header data and a first portion of the payload data, while the second segment includes a second portion of the payload data. The device stores the first and second segments in first and second network buffers, respectively, of a pool of network buffers. The device forms a packet chain of the first and second network buffers having a size greater than the Ethernet frame size. The device transmits the packet chain via a network connection.
    Type: Grant
    Filed: August 20, 2014
    Date of Patent: February 13, 2018
    Assignee: Citrix Systems, Inc.
    Inventors: Mohit Prakash Saxena, Ramanjaneyulu Y Talla, Saravana Annamalaisami, Ashwin Jagadish, Muthukumar Shunmugiah
  • Publication number: 20170230300
    Abstract: Systems and methods of providing fine grained control over MSS values of transport layer connections. A device intermediary to a plurality of clients and a plurality of servers can identify a first MSS value based on a MTU value of a VLAN interface responsive to a request to establish a transport layer connection. Device determines that a MSS value of the VLAN is less than the first MSS value. Device updates, responsive to the determination, the first MSS value to a second MSS value corresponding to the MSS value of the VLAN. Device determines that an MSS value specified by a profile configured for a virtual server of the device is less than the second MSS value. Device updates the second MSS value to the MSS value of the profile responsive to determining that the MSS value specified by the profile is less than the second MSS value.
    Type: Application
    Filed: February 27, 2017
    Publication date: August 10, 2017
    Inventors: Ashwin Jagadish, Saravana Annamalaisami, Muthukumar Shunmugiah, Mohit Prakash Saxena
  • Patent number: 9584427
    Abstract: Systems and methods of providing fine grained control over MSS values of transport layer connections. A device intermediary to a plurality of clients and a plurality of servers can identify a first MSS value based on a MTU value of a VLAN interface responsive to a request to establish a transport layer connection. Device determines that a MSS value of the VLAN is less than the first MSS value. Device updates, responsive to the determination, the first MSS value to a second MSS value corresponding to the MSS value of the VLAN. Device determines that an MSS value specified by a profile configured for a virtual server of the device is less than the second MSS value. Device updates the second MSS value to the MSS value of the profile responsive to determining that the MSS value specified by the profile is less than the second MSS value.
    Type: Grant
    Filed: August 19, 2014
    Date of Patent: February 28, 2017
    Assignee: Citrix Systems, Inc.
    Inventors: Ashwin Jagadish, Saravana Annamalaisami, Muthukumar Shunmugiah, Mohit Prakash Saxena
  • Publication number: 20160057070
    Abstract: This disclosure is directed generally to systems and methods for implementation of Jumbo frames in an existing network stack. In some embodiments, a connection handler of a device receives data having a size greater than an Ethernet frame size. That data includes header data and payload data. The device partitions the data into segments including a first segment and a second segment. The first segment includes the header data and a first portion of the payload data, while the second segment includes a second portion of the payload data. The device stores the first and second segments in first and second network buffers, respectively, of a pool of network buffers. The device forms a packet chain of the first and second network buffers having a size greater than the Ethernet frame size. The device transmits the packet chain via a network connection.
    Type: Application
    Filed: August 20, 2014
    Publication date: February 25, 2016
    Applicant: Citrix Systems, Inc.
    Inventors: Mohit Prakash Saxena, Ramanjaneyulu Y. Talla, Saravana Annamalaisami, Ashwin Jagadish, Muthukumar Shunmugiah
  • Publication number: 20160057067
    Abstract: Systems and methods of providing fine grained control over MSS values of transport layer connections. A device intermediary to a plurality of clients and a plurality of servers can identify a first MSS value based on a MTU value of a VLAN interface responsive to a request to establish a transport layer connection. Device determines that a MSS value of the VLAN is less than the first MSS value. Device updates, responsive to the determination, the first MSS value to a second MSS value corresponding to the MSS value of the VLAN. Device determines that an MSS value specified by a profile configured for a virtual server of the device is less than the second MSS value. Device updates the second MSS value to the MSS value of the profile responsive to determining that the MSS value specified by the profile is less than the second MSS value.
    Type: Application
    Filed: August 19, 2014
    Publication date: February 25, 2016
    Applicant: CITRIX SYSTEMS, INC.
    Inventors: Ashwin Jagadish, Saravana Annamalaisami, Muthukumar Shunmugiah, Mohit Prakash Saxena