Patents by Inventor Ashwin Jagadish
Ashwin Jagadish 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: 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
-
Patent number: 10069677Abstract: The systems and methods of the present solution are directed to collecting log information from multiple nodes in a multi-nodal cluster. Generally, a logging process runs to collect log information from multiple nodes in a multi-nodal cluster, e.g., a cluster of appliances. The logging process collects the log information and merges the collected log information to create a coherent unified log. The logging process may run on a node designated for the purpose. The designated node may be internal or external to the cluster. The logging process determines a topology for the cluster, establishes a communication channel with each active intermediary device identified in the topology, collects log entries from each active intermediary device, each log entry comprising information on network traffic traversing the respective intermediary device, and merges the collected log entries into a unified cluster log comprising information on network traffic traversing the cluster.Type: GrantFiled: April 4, 2014Date of Patent: September 4, 2018Assignee: Citrix Systems, Inc.Inventors: Ashwin Jagadish, Saravana Annamalaisami
-
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
-
Patent number: 9866529Abstract: The systems and methods of the present solution are directed to providing Entity Tag persistency by a device intermediary to a client and a plurality of servers. An intermediary device between a client and one or more back-end servers can receive an entity requested by the client from an origin server that provides the requested content. The intermediary device can encode the back-end server information onto an ETag of the entity, cache the entity with the encoded ETag and serve the entity with the encoded ETag to the client. In this way, when the client attempts to validate the entity by sending a request including the encoded ETag to the intermediary device, the intermediary device decodes the encoded ETag to extract the identity of the backend server and sends the request to validate the entity to the identified server that originally sent the entity that included the requested content.Type: GrantFiled: April 4, 2014Date of Patent: January 9, 2018Assignee: Citrix Systems, Inc.Inventors: Krishna Khanal, Ashwin Jagadish, Saravana Annamalaisami
-
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
-
Patent number: 9497281Abstract: The present disclosure is directed towards methods and systems for caching packet steering sessions for steering data packets between intermediary devices of a cluster of intermediary devices intermediary to a client and a plurality of servers. A first intermediary device receives a first data packet and determines, from a hash of a tuple of the first packet, a second intermediary device to which to steer the first packet. The first device stores, to a session for storing packet steering information, the identity of the second device and the tuple. The first device receives a second packet having a corresponding tuple that matches the tuple of the first packet and determines, based on a lookup for the session using the tuple of the second packet, that the second device is the intermediary device to which to steer the second packet. The first device steers the second packet to the second device.Type: GrantFiled: April 4, 2014Date of Patent: November 15, 2016Assignee: CITRIX SYSTEMS, INC.Inventors: Ashwin Jagadish, Mahesh Mylarappa, Sandhya Gopinath, Saravana Annamalaisami, Shashidhara Nanjundaswamy
-
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
-
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
-
Patent number: 8935399Abstract: The present application is directed towards systems and methods for providing a cookie by an intermediary device comprising a plurality of packet processing engines executing on a corresponding plurality of cores, the cookie identifying a session of a user that was redirected responsive to a service exceeding a response time limit. The cookie may be generated with identifiers based off a name of a virtual server managing a service of a server, and a name of a policy associated with the virtual server. Each packet processing engine of the plurality of packet processing engines may interpret cookies generated by other packet processing engines due to the name of the virtual server and name of the policy, and may provide preferred client connectivity based on cookies included in requests for access to a service.Type: GrantFiled: February 25, 2013Date of Patent: January 13, 2015Assignee: Citrix Systems, Inc.Inventors: Roy Rajan, Saravanakumar Annamalaisami, Ashwin Jagadish
-
Publication number: 20140301388Abstract: The present disclosure is directed towards methods and systems for caching packet steering sessions for steering data packets between intermediary devices of a cluster of intermediary devices intermediary to a client and a plurality of servers. A first intermediary device receives a first data packet and determines, from a hash of a tuple of the first packet, a second intermediary device to which to steer the first packet. The first device stores, to a session for storing packet steering information, the identity of the second device and the tuple. The first device receives a second packet having a corresponding tuple that matches the tuple of the first packet and determines, based on a lookup for the session using the tuple of the second packet, that the second device is the intermediary device to which to steer the second packet. The first device steers the second packet to the second device.Type: ApplicationFiled: April 4, 2014Publication date: October 9, 2014Applicant: Citrix Systems, Inc.Inventors: Ashwin Jagadish, Mahesh Mylarappa, Sandhya Gopinath, Saravana Annamalaisami, Shashidhara Nanjundaswamy
-
Publication number: 20140304401Abstract: The systems and methods of the present solution are directed to collecting log information from multiple nodes in a multi-nodal cluster. Generally, a logging process runs to collect log information from multiple nodes in a multi-nodal cluster, e.g., a cluster of appliances. The logging process collects the log information and merges the collected log information to create a coherent unified log. The logging process may run on a node designated for the purpose. The designated node may be internal or external to the cluster. The logging process determines a topology for the cluster, establishes a communication channel with each active intermediary device identified in the topology, collects log entries from each active intermediary device, each log entry comprising information on network traffic traversing the respective intermediary device, and merges the collected log entries into a unified cluster log comprising information on network traffic traversing the cluster.Type: ApplicationFiled: April 4, 2014Publication date: October 9, 2014Applicant: Citrix Systems, Inc.Inventors: Ashwin Jagadish, Saravana Annamalaisami
-
Publication number: 20140304325Abstract: The systems and methods of the present solution are directed to providing Entity Tag persistency by a device intermediary to a client and a plurality of servers. An intermediary device between a client and one or more back-end servers can receive an entity requested by the client from an origin server that provides the requested content. The intermediary device can encode the back-end server information onto an ETag of the entity, cache the entity with the encoded ETag and serve the entity with the encoded ETag to the client. In this way, when the client attempts to validate the entity by sending a request including the encoded ETag to the intermediary device, the intermediary device decodes the encoded ETag to extract the identity of the backend server and sends the request to validate the entity to the identified server that originally sent the entity that included the requested content.Type: ApplicationFiled: April 4, 2014Publication date: October 9, 2014Applicant: Citrix Systems, Inc.Inventors: Krishna Khanal, Ashwin Jagadish, Saravana Annamalaisami
-
Publication number: 20140149605Abstract: This disclosure is directed to dictionary-based compression, which may be employed to achieve stateful header compression without maintaining a complete deflate state. The compressor may maintain a history of data streams compressed by the compressor, compressed according to a compression dictionary. Responsive to the compression of the one or more data streams, the compressor may delete the first compression dictionary from the memory. Subsequent to the deletion, the compressor may compress an additional data stream using the maintained history. The compressor may generate a second compression dictionary from at least one of: the maintained history and a portion of the additional data stream. The compressor may allocate memory for a compression state of the additional data stream and may load the maintained history into the compression state.Type: ApplicationFiled: November 26, 2012Publication date: May 29, 2014Inventors: Saravana Annamalaisami, Ashok Kumar Jagadeeswaran, Syed Ahmed, Ashwin Jagadish
-
Publication number: 20130173801Abstract: The present application is directed towards systems and methods for providing a cookie by an intermediary device comprising a plurality of packet processing engines executing on a corresponding plurality of cores, the cookie identifying a session of a user that was redirected responsive to a service exceeding a response time limit. The cookie may be generated with identifiers based off a name of a virtual server managing a service of a server, and a name of a policy associated with the virtual server. Each packet processing engine of the plurality of packet processing engines may interpret cookies generated by other packet processing engines due to the name of the virtual server and name of the policy, and may provide preferred client connectivity based on cookies included in requests for access to a service.Type: ApplicationFiled: February 25, 2013Publication date: July 4, 2013Inventors: Roy Rajan, Saravanakumar Annamalaisami, Ashwin Jagadish
-
Patent number: 8392562Abstract: The present application is directed towards systems and methods for providing a cookie by an intermediary device comprising a plurality of packet processing engines executing on a corresponding plurality of cores, the cookie identifying a session of a user that was redirected responsive to a service exceeding a response time limit. The cookie may be generated with identifiers based off a name of a virtual server managing a service of a server, and a name of a policy associated with the virtual server. Each packet processing engine of the plurality of packet processing engines may interpret cookies generated by other packet processing engines due to the name of the virtual server and name of the policy, and may provide preferred client connectivity based on cookies included in requests for access to a service.Type: GrantFiled: December 23, 2009Date of Patent: March 5, 2013Assignee: Citrix Systems, Inc.Inventors: Roy Rajan, Ashwin Jagadish, Saravanakumar Annamalaisami
-
Patent number: 8352633Abstract: The present application is directed towards systems and methods of state migration in a multi-core system. An external process on a client or server may initiate a plurality of connections with the multi-core system, such that some cores have a plurality of connections and others have none. The present invention provides systems and methods for redirecting a connection or migrating the state of a connection from being associated with a first core with a plurality of connections to a second core with no connections.Type: GrantFiled: June 22, 2010Date of Patent: January 8, 2013Assignee: Citrix Systems, Inc.Inventors: Ashwin Jagadish, Roy Rajan, Saravanakumar Annamalaisami
-
Patent number: 8219676Abstract: A method and system for generating a web log that includes transaction entries from transaction queues of one or more cores of a multi-core system. A transaction queue is maintained for each core so that either a packet engine or web logging client executing on the core can write transaction entries to the transaction queue. In some embodiments, a timestamp value obtained from a synchronized timestamp variable can be assigned to the transaction entries. When a new transaction entry is added to the transaction queue, the earliest transaction entry is removed from the transaction queue and added to a heap. Periodically the earliest entry in the heap is removed from the heap and written to a web log. When an entry is removed from the heap, the earliest entry in a transaction queue corresponding to the removed entry is removed from the transaction queue and added to the heap.Type: GrantFiled: June 22, 2010Date of Patent: July 10, 2012Assignee: Citrix Systems, Inc.Inventors: Ashwin Jagadish, Abhishek Chauhan, Rajesh Joshi, Saravana Annamalaisami
-
Publication number: 20110153822Abstract: The present application is directed towards systems and methods for providing a cookie by an intermediary device comprising a plurality of packet processing engines executing on a corresponding plurality of cores, the cookie identifying a session of a user that was redirected responsive to a service exceeding a response time limit. The cookie may be generated with identifiers based off a name of a virtual server managing a service of a server, and a name of a policy associated with the virtual server. Each packet processing engine of the plurality of packet processing engines may interpret cookies generated by other packet processing engines due to the name of the virtual server and name of the policy, and may provide preferred client connectivity based on cookies included in requests for access to a service.Type: ApplicationFiled: December 23, 2009Publication date: June 23, 2011Inventors: Roy Rajan, Ashwin Jagadish, Saravanakumar Annamalaisami
-
Publication number: 20100325288Abstract: The present application is directed towards systems and methods of state migration in a multi-core system. An external process on a client or server may initiate a plurality of connections with the multi-core system, such that some cores have a plurality of connections and others have none. The present invention provides systems and methods for redirecting a connection or migrating the state of a connection from being associated with a first core with a plurality of connections to a second core with no connections.Type: ApplicationFiled: June 22, 2010Publication date: December 23, 2010Inventors: Ashwin Jagadish, Roy Rajan, Saravanakumar Annamalaisami