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: 20240103926Abstract: 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: ApplicationFiled: September 28, 2022Publication date: March 28, 2024Inventors: Mohit Prakash Saxena, Harihara Sudhan, Nagesh Mallappa
-
Patent number: 11843575Abstract: 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: GrantFiled: December 17, 2019Date of Patent: December 12, 2023Assignee: Citrix Systems, Inc.Inventor: Mohit Prakash Saxena
-
Patent number: 11816057Abstract: 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: GrantFiled: October 19, 2021Date of Patent: November 14, 2023Assignee: Citrix Systems, Inc.Inventors: Mohit Prakash Saxena, Rukmangada Naidu Kathem, Sameer Bagepalli Ramesh, Satish Shankarnaidu
-
Publication number: 20230119494Abstract: 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: ApplicationFiled: October 19, 2021Publication date: April 20, 2023Applicant: Citrix Systems, Inc.Inventors: Mohit Prakash Saxena, Rukmangada Naidu Kathem, Sameer Bagepalli Ramesh, Satish Shankarnaidu
-
Publication number: 20220360531Abstract: 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: ApplicationFiled: May 10, 2021Publication date: November 10, 2022Applicant: Citrix Systems, Inc.Inventors: Harihara Sudhan, Mohit Prakash Saxena, Saravanan Jayaraman
-
Patent number: 11489775Abstract: 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: GrantFiled: May 10, 2021Date of Patent: November 1, 2022Assignee: Citrix Systems, Inc.Inventors: Harihara Sudhan, Mohit Prakash Saxena, Saravanan Jayaraman
-
Patent number: 11477102Abstract: 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: GrantFiled: August 4, 2020Date of Patent: October 18, 2022Assignee: Citrix Systems, Inc.Inventors: Saravanan Jayaraman, Mohit Prakash Saxena, Jyotheesh Rao Kurma, Pulkit Gupta
-
Publication number: 20210399966Abstract: 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: ApplicationFiled: August 4, 2020Publication date: December 23, 2021Inventors: Saravanan Jayaraman, Mohit Prakash Saxena, Jyotheesh Rao Kurma, Pulkit Gupta
-
Publication number: 20200127971Abstract: 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: ApplicationFiled: December 17, 2019Publication date: April 23, 2020Inventor: Mohit Prakash Saxena
-
Patent number: 10530747Abstract: 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: GrantFiled: January 13, 2017Date of Patent: January 7, 2020Assignee: CITRIX SYSTEMS, INC.Inventor: Mohit Prakash Saxena
-
Patent number: 10320696Abstract: 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: GrantFiled: February 27, 2017Date of Patent: June 11, 2019Assignee: Citrix Systems, Inc.Inventors: Ashwin Jagadish, Saravana Annamalaisami, Muthukumar Shunmugiah, Mohit Prakash Saxena
-
Publication number: 20180205652Abstract: 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: ApplicationFiled: January 13, 2017Publication date: July 19, 2018Inventor: Mohit Prakash Saxena
-
Patent number: 9894008Abstract: 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: GrantFiled: August 20, 2014Date of Patent: February 13, 2018Assignee: Citrix Systems, Inc.Inventors: Mohit Prakash Saxena, Ramanjaneyulu Y Talla, Saravana Annamalaisami, Ashwin Jagadish, Muthukumar Shunmugiah
-
Publication number: 20170230300Abstract: 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: ApplicationFiled: February 27, 2017Publication date: August 10, 2017Inventors: Ashwin Jagadish, Saravana Annamalaisami, Muthukumar Shunmugiah, Mohit Prakash Saxena
-
Patent number: 9584427Abstract: 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: GrantFiled: August 19, 2014Date of Patent: February 28, 2017Assignee: Citrix Systems, Inc.Inventors: Ashwin Jagadish, Saravana Annamalaisami, Muthukumar Shunmugiah, Mohit Prakash Saxena
-
Publication number: 20160057070Abstract: 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: ApplicationFiled: August 20, 2014Publication date: February 25, 2016Applicant: Citrix Systems, Inc.Inventors: Mohit Prakash Saxena, Ramanjaneyulu Y. Talla, Saravana Annamalaisami, Ashwin Jagadish, Muthukumar Shunmugiah
-
Publication number: 20160057067Abstract: 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: ApplicationFiled: August 19, 2014Publication date: February 25, 2016Applicant: CITRIX SYSTEMS, INC.Inventors: Ashwin Jagadish, Saravana Annamalaisami, Muthukumar Shunmugiah, Mohit Prakash Saxena