Patents by Inventor Saravanakumar Annamalaisami

Saravanakumar Annamalaisami 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: 8392562
    Abstract: 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: Grant
    Filed: December 23, 2009
    Date of Patent: March 5, 2013
    Assignee: Citrix Systems, Inc.
    Inventors: Roy Rajan, Ashwin Jagadish, Saravanakumar Annamalaisami
  • Patent number: 8387143
    Abstract: The present application is directed towards systems and methods for aggressively probing a client side connection to determine and counteract a malicious window size attack or similar behavior from a malfunctioning client. The solution described herein detects when a connection may be under malicious attach via improper or unusual window size settings. Responsive to the detection, the solution described herein will setup probes that determine whether or not the client is malicious and does so within an aggressive time period to avoid the tying up of processing cycles, transport layer sockets and buffers, and other resources of the sender.
    Type: Grant
    Filed: November 30, 2009
    Date of Patent: February 26, 2013
    Assignee: Citrix Systems, Inc.
    Inventors: Varun Taneja, Mahesh Mylarappa, Saravanakumar Annamalaisami
  • Patent number: 8380994
    Abstract: The present application is directed towards systems and methods for generating and maintaining cookie consistency for security protection across a plurality of cores in a multi-core system. A packet processing engine executing on one core designated as a primary packet processing engine generates and maintains a global random seed. The global random seed may be used as an initial seed for creation of cookie signatures by each of a plurality of packet processing engines executing on a plurality of cores of the multi-core system using a deterministic pseudo-random number generation function such that each core creates an identical set of cookie signatures.
    Type: Grant
    Filed: December 23, 2009
    Date of Patent: February 19, 2013
    Assignee: Citrix Systems, Inc.
    Inventors: Roy Rajan, Saravanakumar Annamalaisami
  • Patent number: 8352633
    Abstract: 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: Grant
    Filed: June 22, 2010
    Date of Patent: January 8, 2013
    Assignee: Citrix Systems, Inc.
    Inventors: Ashwin Jagadish, Roy Rajan, Saravanakumar Annamalaisami
  • Patent number: 8271645
    Abstract: The present disclosure is directed towards systems and methods for tracing packets via an intermediary device. The systems and methods include an intermediary device that establishes connections with clients and connections with servers. The intermediary device links a connection to a server with a connection to a client to provide a client with access to the server. When the client requests a packet trace, the intermediary device applies the trace to linked connections with the client to obtain full trace information for network packets servicing the client.
    Type: Grant
    Filed: November 25, 2009
    Date of Patent: September 18, 2012
    Assignee: Citrix Systems, Inc.
    Inventors: Roy Rajan, Sudheer Thokala, Saravanakumar Annamalaisami
  • Patent number: 8250301
    Abstract: A device that implements a method for performing integrated caching in a data communication network. The device is configured to receive a packet from a client over the data communication network, wherein the packet includes a request for an object. At the operating system/kernel level of the device, one or more of decryption processing of the packet, authentication and/or authorization of the client, and decompression of the request occurs prior to and integrated with caching operations. The caching operations include determining if the object resides within a cache, serving the request from the cache in response to a determination that the object is stored within the cache, and sending the request to a server in response to a determination that the object is not stored within the cache.
    Type: Grant
    Filed: January 28, 2008
    Date of Patent: August 21, 2012
    Assignee: Citrix Systems, Inc.
    Inventors: Prakash Khemani, Prabakar Sundarrajan, Lakshmi Kumar, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravanakumar Annamalaisami
  • Patent number: 8214505
    Abstract: The present application presents systems and methods for handling by an HTTP virtual server (HTTPVS), connections via which non-HTTP data is transmitted between clients and servers. HTTPVS intercepts a request from a client to establish first transport layer connection (TLC) with a server. HTTPVS establishes second TLC with the servers in response to receiving an acknowledgment from a client to establish the first TLC. HTTPVS determines if a first network packet transmitted via first TLC comprises an HTTP payload or non-HTTP payload. If HTTPVP the first network packet includes HTTP payload, HTTPVS may process all transmissions from the first TLC in accordance with connection tracking and forward the processed transmissions to the server via the second TLC. If HTTPVS determines that the first network packet does not include an HTTP payload, HTTPVS may link the first TLC and the second TLC so the client and server exchange non-HTTP communication without interruption.
    Type: Grant
    Filed: June 22, 2010
    Date of Patent: July 3, 2012
    Assignee: Citrix Systems, Inc.
    Inventors: Ashok Kumar Jagadeeswaran, Roy Rajan, Saravanakumar Annamalaisami
  • Patent number: 8108608
    Abstract: A device that implements a method for performing integrated caching in a data communication network. The device is configured to receive a packet from a client over the data communication network, wherein the packet includes a request for an object. At the operating system/kernel level of the device, one or more of decryption processing of the packet, authentication and/or authorization of the client, and decompression of the request occurs prior to and integrated with caching operations. The caching operations include determining if the object resides within a cache, serving the request from the cache in response to a determination that the object is stored within the cache, and sending the request to a server in response to a determination that the object is not stored within the cache.
    Type: Grant
    Filed: January 28, 2008
    Date of Patent: January 31, 2012
    Inventors: Prakash Khemani, Prabakar Sundarrajan, Lakshmi Kumar, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravanakumar Annamalaisami
  • Publication number: 20110320617
    Abstract: Described herein is a method and system for preventing Denial of Service (DoS) attacks. An intermediary device is deployed between clients and servers. The device receives a first packet of an application layer transaction via a transport layer connection between the device and client. The device records a last activity time for the transport layer connection based upon the timestamp of the first packet. The device receives subsequent data packets and determines whether the data in the packets completes a protocol data structure of the application layer protocol. If the device determines that the subsequent packet completes the protocol data structure, the last activity time is updated. If the device determines that the application layer protocol remains incomplete, the device retains the last activity time and determines that the duration of inactivity for the transport layer connection exceeds a predetermined threshold. The device may subsequently drop the connection.
    Type: Application
    Filed: June 24, 2010
    Publication date: December 29, 2011
    Inventors: Saravanakumar Annamalaisami, Ashok Kumar Jagadeeswaran, Mahesh Mylarappa, Roy Rajan
  • Publication number: 20110185073
    Abstract: The present disclosure presents systems and methods for maintaining identification of network devices sending or traversing a network packet en route to an intermediary device deployed between a source and a destination network device. An intermediary may receive an acknowledgement packet comprising an option field identified by an option number for a transport layer connection established via intermediary. The acknowledgement packet may comprise overlay network data that identifies IP addresses of the originating network device and host network devices intercepting and forwarding the network packet to the intermediary. The intermediary device may determine the option number for the option field from which to obtain the overlay network data identifying IP addresses.
    Type: Application
    Filed: November 24, 2010
    Publication date: July 28, 2011
    Inventors: Ashok Kumar Jagadeeswaran, Saravanakumar Annamalaisami
  • Publication number: 20110153839
    Abstract: The present application is directed towards systems and methods for providing connection surge protection to one or more servers by an intermediary multi-core system. A packet processing engine of a multi-core device deployed as an intermediary between a plurality of clients and one or more servers determines an estimated number of total pending requests received by all packet processing engines based on a value of a local counter of received requests, the total number of pending requests received by all other packet processing engines at a last predetermined interval, and a rate of change of the total number of pending requests received by all other packet processing engines multiplied by the time since the last predetermined interval. The packet processing engine applies a surge protection policy to received pending requests responsive to the determined estimated number of total pending requests.
    Type: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    Inventors: Roy Rajan, Saravanakumar Annamalaisami
  • Publication number: 20110153822
    Abstract: 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: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    Inventors: Roy Rajan, Ashwin Jagadish, Saravanakumar Annamalaisami
  • Publication number: 20110153937
    Abstract: The present disclosure presents systems and methods for maintaining original source and destination IP addresses of a request while performing intermediary cache redirection. An intermediary receives a request from a client destined to a server identifying a client IP address as a source IP address and a server IP address as a destination IP address. The intermediary transmits the request to a cache server, the request maintaining original IP addresses and identifying a MAC address of the cache server as the destination MAC address. The intermediary receives the request from the cache server responsive to a cache miss, the received request maintaining the original source and destination IP addresses. The intermediary identifying that the third request is coming from the cache server via one or more data link layer properties of the third transport layer connection.
    Type: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    Inventors: Saravanakumar Annamalaisami, Anil Shetty, Josephine Suganthi, Akshat Choudhary
  • Publication number: 20110153720
    Abstract: A method for sampling management includes establishing, for a multi-core intermediary comprising a plurality of packet evaluation components executing on a corresponding plurality of cores, a frequency at which the multi-core intermediary intercepts a response transmitted from a server to a client and injects data into the intercepted response. For each of the plurality of packet evaluation components, an offset and a frequency based on a number of packet evaluation components in the plurality of packet evaluation components is established, a combination of the established frequencies substantially similar to the frequency established for the multi-core intermediary. One of the plurality of cores intercepts a response from the server to the client, at a time specified by the frequency and the offset. The packet evaluation component executing on the one of the plurality of cores injects data into the intercepted response.
    Type: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    Inventors: Roy Rajan, Saravanakumar Annamalaisami
  • Publication number: 20110154488
    Abstract: The present application is directed towards systems and methods for generating and maintaining cookie consistency for security protection across a plurality of cores in a multi-core system. A packet processing engine executing on one core designated as a primary packet processing engine generates and maintains a global random seed. The global random seed may be used as an initial seed for creation of cookie signatures by each of a plurality of packet processing engines executing on a plurality of cores of the multi-core system using a deterministic pseudo-random number generation function such that each core creates an identical set of cookie signatures.
    Type: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    Inventors: Roy Rajan, Saravanakumar Annamalaisami
  • Publication number: 20110131654
    Abstract: The present application is directed towards systems and methods for aggressively probing a client side connection to determine and counteract a malicious window size attack or similar behavior from a malfunctioning client. The solution described herein detects when a connection may be under malicious attach via improper or unusual window size settings. Responsive to the detection, the solution described herein will setup probes that determine whether or not the client is malicious and does so within an aggressive time period to avoid the tying up of processing cycles, transport layer sockets and buffers, and other resources of the sender.
    Type: Application
    Filed: November 30, 2009
    Publication date: June 2, 2011
    Inventors: Varun Taneja, Mahesh Mylarappa, Saravanakumar Annamalaisami
  • Publication number: 20110125892
    Abstract: The present disclosure is directed towards systems and methods for tracing packets via an intermediary device. The systems and methods include an intermediary device that establishes connections with clients and connections with servers. The intermediary device links a connection to a server with a connection to a client to provide a client with access to the server. When the client requests a packet trace, the intermediary device applies the trace to linked connections with the client to obtain full trace information for network packets servicing the client.
    Type: Application
    Filed: November 25, 2009
    Publication date: May 26, 2011
    Applicant: CITRIX SYSTEMS, INC.
    Inventors: Roy Rajan, Sudheer Thokala, Saravanakumar Annamalaisami
  • Patent number: 7924884
    Abstract: The present invention is directed towards “skip” and “differential” recording techniques for recording values of network parameter to a log in a lossless manner while reducing storage resources used to record such values. The counter monitor of the present invention monitors and records values of counters at time intervals to generate a counter log provided via temporary or permanent storage. The counter monitor compares a reading of the value of the counter to a previously obtained value of the counter. If the value of the counter has not changed, the counter monitor records only the timestamp to the counter log, thereby “skipping” the recording of the unchanged value. If there is any change in the value of the counter, then the change in value of the counter, i.e., a “differential” value, along with the timestamp is stored in the counters log. To further reduce storage resource usage, the counter monitor also stores changes to the timestamps as differential changes in time values.
    Type: Grant
    Filed: December 20, 2005
    Date of Patent: April 12, 2011
    Assignee: Citrix Systems, Inc.
    Inventors: Kailash Kailash, Saravanakumar Annamalaisami
  • Publication number: 20100325287
    Abstract: The present application presents systems and methods for handling by an HTTP virtual server (HTTPVS), connections via which non-HTTP data is transmitted between clients and servers. HTTPVS intercepts a request from a client to establish first transport layer connection (TLC) with a server. HTTPVS establishes second TLC with the servers in response to receiving an acknowledgment from a client to establish the first TLC. HTTPVS determines if a first network packet transmitted via first TLC comprises an HTTP payload or non-HTTP payload. If HTTPVP the first network packet includes HTTP payload, HTTPVS may process all transmissions from the first TLC in accordance with connection tracking and forward the processed transmissions to the server via the second TLC. If HTTPVS determines that the first network packet does not include an HTTP payload, HTTPVS may link the first TLC and the second TLC so the client and server exchange non-HTTP communication without interruption.
    Type: Application
    Filed: June 22, 2010
    Publication date: December 23, 2010
    Inventors: Ashok Kumar Jagadeeswaran, Roy Rajan, Saravanakumar Annamalaisami
  • Publication number: 20100325288
    Abstract: 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: Application
    Filed: June 22, 2010
    Publication date: December 23, 2010
    Inventors: Ashwin Jagadish, Roy Rajan, Saravanakumar Annamalaisami