Patents by Inventor Prakash Khemani

Prakash Khemani 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: 20100322250
    Abstract: The present invention is directed towards systems and methods for using a distributed hash table to maintain the same configuration and resource persistency across a plurality of cores in a multi-core system. The distributed hash table includes a plurality of partitions, each partition being owned by a respective core of the multi-core system. A core may establish resources in the partition it owns. A core may request other cores to establish resources in the partitions they own and send resource information to the core. The core may locally cache the resource information.
    Type: Application
    Filed: June 22, 2009
    Publication date: December 23, 2010
    Inventors: Anil Shetty, Josephine Suganthi, Prakash Khemani
  • Publication number: 20100325357
    Abstract: The present invention is directed towards systems and methods for integrating cache managing and application firewall processing in a networked system. In various embodiments, an integrated cache/firewall system comprises an application firewall operating in conjunction with a cache managing system in operation on an intermediary device. In various embodiments, the application firewall processes a received HTTP response to a request by a networked entity serviced by the intermediary device. The application firewall generates metadata from the HTTP response and stores the metadata in cache with the HTTP response. When a subsequent request hits in the cache, the metadata is identified to a user session associated with the subsequent request. In various embodiments, the application firewall can modify a cache-control header of the received HTTP response, and can alter the cookie-setting header of the cached HTTP response.
    Type: Application
    Filed: June 22, 2009
    Publication date: December 23, 2010
    Inventors: Anoop Kandi Reddy, Craig Steven Anderson, Prakash Khemani
  • Patent number: 7853678
    Abstract: Systems and methods for configuring and evaluating policies that direct processing of one or more data streams are described. A configuration interface is described for allowing users to specify object oriented policies. These object oriented policies may allow any data structures to be applied with respect to a payload of a received packet stream, including any portions of HTTP traffic. A configuration interface may also allow the user to control the order in which policies and policy groups are executed, in addition to specifying actions to be taken if one or more policies are undefined. Systems and methods for processing the policies may allow efficient processing of object-oriented policies by applying potentially complex data structures to unstructured data streams. A device may also interpret and process a number of flow control commands and policy group invocation statements to determine an order of execution among a number of policies and policy groups.
    Type: Grant
    Filed: March 12, 2007
    Date of Patent: December 14, 2010
    Assignee: Citrix Systems, Inc.
    Inventors: Prakash Khemani, Vishal Bandekar
  • Patent number: 7853679
    Abstract: Systems and methods for configuring and evaluating policies that direct processing of one or more data streams are described. A configuration interface is described for allowing users to specify object oriented policies. These object oriented policies may allow any data structures to be applied with respect to a payload of a received packet stream, including any portions of HTTP traffic. A configuration interface may also allow the user to control the order in which policies and policy groups are executed, in addition to specifying actions to be taken if one or more policies are undefined. Systems and methods for processing the policies may allow efficient processing of object-oriented policies by applying potentially complex data structures to unstructured data streams. A device may also interpret and process a number of flow control commands and policy group invocation statements to determine an order of execution among a number of policies and policy groups.
    Type: Grant
    Filed: March 12, 2007
    Date of Patent: December 14, 2010
    Assignee: Citrix Systems, Inc.
    Inventors: Prakash Khemani, Vishal Bandekar
  • Patent number: 7849270
    Abstract: The present invention is directed towards a method and system for modifying by a cache responses from a server that do not identify a dynamically generated object as cacheable to identify the dynamically generated object to a client as cacheable in the response. In some embodiments, such as an embodiment handling HTTP requests and responses for objects, the techniques of the present invention insert an entity tag, or “etag” into the response to provide cache control for objects provided without entity tags and/or cache control information from an originating server. This technique of the present invention provides an increase in cache hit rates by inserting information, such as entity tag and cache control information for an object, in a response to a client to enable the cache to check for a hit in a subsequent request.
    Type: Grant
    Filed: July 16, 2010
    Date of Patent: December 7, 2010
    Assignee: Citrix Systems, Inc.
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharath Bhushan K R, Anil Kumar
  • Patent number: 7849269
    Abstract: The present invention is directed towards a method and system for modifying by a cache responses from a server that do not identify a dynamically generated object as cacheable to identify the dynamically generated object to a client as cacheable in the response. In some embodiments, such as an embodiment handling HTTP requests and responses for objects, the techniques of the present invention insert an entity tag, or “etag” into the response to provide cache control for objects provided without entity tags and/or cache control information from an originating server. This technique of the present invention provides an increase in cache hit rates by inserting information, such as entity tag and cache control information for an object, in a response to a client to enable the cache to check for a hit in a subsequent request.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: December 7, 2010
    Assignee: Citrix Systems, Inc.
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharath Bhushan K R, Anil Kumar
  • Publication number: 20100281217
    Abstract: The present invention is directed towards a method and system for modifying by a cache responses from a server that do not identify a dynamically generated object as cacheable to identify the dynamically generated object to a client as cacheable in the response. In some embodiments, such as an embodiment handling HTTP requests and responses for objects, the techniques of the present invention insert an entity tag, or “etag” into the response to provide cache control for objects provided without entity tags and/or cache control information from an originating server. This technique of the present invention provides an increase in cache hit rates by inserting information, such as entity tag and cache control information for an object, in a response to a client to enable the cache to check for a hit in a subsequent request.
    Type: Application
    Filed: July 16, 2010
    Publication date: November 4, 2010
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharath Bhushan K R, Anil Kumar
  • Patent number: 7788346
    Abstract: A client-server system may include a distributed store configured to maintain a primary state of session data including one or more attributes. One or more other nodes may include other instances of the primary state. The system may compare the primary state to a benchmark primary state to generate a subset of the attributes of the session data that have been modified in the primary state. Another instance of the primary state may be synchronized with the primary state using the subset of the attributes. In one embodiment, the comparing may include performing binary differencing of binary representations of the primary state and the benchmark primary state to determine the modified attributes. In another embodiment, the comparing may include performing object graph differencing of object graph representations of the primary state and the benchmark primary state to determine the modified attributes.
    Type: Grant
    Filed: March 1, 2002
    Date of Patent: August 31, 2010
    Assignee: Oracle America, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla, Prakash Khemani
  • Publication number: 20100131668
    Abstract: The present application is generally directed to systems and method for throttling a rate of requests between a client and a server using user specified inputs. A rate of requests for an object may be throttled by an intermediary which receives requests transmitted between a client and a server and via the intermediary. The intermediary may receive a request from a client for an object of a server. The intermediary may identify a policy specifying a mode of throttling for the request, the policy specifying a mode of throttling, a rate threshold and a period of time for the rate threshold. The rate throttler of the intermediary may determine whether the request exceeds the rate threshold for the period of time based on the mode of throttling of the policy and allow or block the request responsive to the determination.
    Type: Application
    Filed: November 25, 2008
    Publication date: May 27, 2010
    Inventors: Sandeep Kamath, Prakash Khemani
  • Publication number: 20100132009
    Abstract: A method of identifying an action of a policy in association with communications between a client and one or more servers includes determining, by an intermediary, a policy action based on using a callout based policy. In one aspect, an intermediary receives communications between a client and one or more servers. The intermediary identifies a policy for the communications, the policy specifying a request and a server to communicate the request. Responsive to the policy, the intermediary transmits the request to the server. Based on the server response to the request, the intermediary determines an action of the policy. In another aspect, a system for the present method includes an intermediary and a policy engine for identifying a policy to specify a request and a destination server. Responsive to a server response to the request, the intermediary determines an action of the policy.
    Type: Application
    Filed: November 25, 2008
    Publication date: May 27, 2010
    Inventors: Prakash Khemani, Anil Kumar
  • Publication number: 20100121975
    Abstract: The present solution is directed towards embodiments of a feature generally referred to as Application Templates or AppTemplates, which allows a administrator of an intermediary, such as an appliance, to configure and manage settings per application on a basis of a subset of application network traffic. Once configured, the application settings can be exported in a file called the Application Template, and imported into other intermediary systems. The Application Template includes the settings for the application as configured via the intermediary.
    Type: Application
    Filed: November 12, 2009
    Publication date: May 13, 2010
    Inventors: Rajiv Sinha, Minoo Gupta, Prakash Khemani, Youcef Laribi, Salvatore Orlando, Sovit Garg, Sanjay Gupta, Raghu Goyal
  • Publication number: 20100095018
    Abstract: Systems and methods for configuring and evaluating policies that direct processing of one or more data streams are described. A configuration interface is described for allowing users to specify object oriented policies. These object oriented policies may allow any data structures to be applied with respect to a payload of a received packet stream, including any portions of HTTP traffic. A configuration interface may also allow the user to control the order in which policies and policy groups are executed, in addition to specifying actions to be taken if one or more policies are undefined. Systems and methods for processing the policies may allow efficient processing of object-oriented policies by applying potentially complex data structures to unstructured data streams. A device may also interpret and process a number of flow control commands and policy group invocation statements to determine an order of execution among a number of policies and policy groups.
    Type: Application
    Filed: October 9, 2009
    Publication date: April 15, 2010
    Inventors: Prakash Khemani, Vishal Bandekar
  • Publication number: 20090193126
    Abstract: The present disclosure provides solutions for an enterprise providing services to a variety of clients to enable the client to use the resources provided by the enterprise by modifying URLs received and the URLs from the responses from the servers to the client's requests before forwarding the requests and the responses to the intended destinations. An intermediary may identify an access profile for a clients' request to access a server via a clientless SSL VPN session. The intermediary may detect one or more URLs in content served by the server in response to the request using one or more regular expressions of the access profile. The intermediary may rewrite or modify, responsive to detecting, the one or more detected URLs in accordance with a URL transformation specified by one or more rewrite policies of the access profile. The response with modified URLs may be forwarded to the client.
    Type: Application
    Filed: January 26, 2009
    Publication date: July 30, 2009
    Inventors: Puneet Agarwal, Srinivasan Thirunarayanan, Vamsi Korrapatti, Prakash Khemani, Rajiv Mirani, Anoop Reddy
  • Publication number: 20080225719
    Abstract: Systems and methods for configuring and evaluating policies that direct processing of one or more data streams are described. A configuration interface is described for allowing users to specify object oriented policies. These object oriented policies may allow any data structures to be applied with respect to a payload of a received packet stream, including any portions of HTTP traffic. A configuration interface may also allow the user to control the order in which policies and policy groups are executed, in addition to specifying actions to be taken if one or more policies are undefined. Systems and methods for processing the policies may allow efficient processing of object-oriented policies by applying potentially complex data structures to unstructured data streams. A device may also interpret and process a number of flow control commands and policy group invocation statements to determine an order of execution among a number of policies and policy groups.
    Type: Application
    Filed: March 12, 2007
    Publication date: September 18, 2008
    Inventors: Vamsi Korrapati, Prakash Khemani, Rajiv Mirani, Abhishek Chauhan
  • Publication number: 20080225753
    Abstract: Systems and methods for configuring and evaluating policies that direct processing of one or more data streams are described. A configuration interface is described for allowing users to specify object oriented policies. These object oriented policies may allow any data structures to be applied with respect to a payload of a received packet stream, including any portions of HTTP traffic. A configuration interface may also allow the user to control the order in which policies and policy groups are executed, in addition to specifying actions to be taken if one or more policies are undefined. Systems and methods for processing the policies may allow efficient processing of object-oriented policies by applying potentially complex data structures to unstructured data streams. A device may also interpret and process a number of flow control commands and policy group invocation statements to determine an order of execution among a number of policies and policy groups.
    Type: Application
    Filed: March 12, 2007
    Publication date: September 18, 2008
    Inventors: Prakash Khemani, Vishal Bandekar
  • Publication number: 20080225748
    Abstract: Systems and methods for configuring and evaluating policies that direct processing of one or more data streams are described. A configuration interface is described for allowing users to specify object oriented policies. These object oriented policies may allow any data structures to be applied with respect to a payload of a received packet stream, including any portions of HTTP traffic. A configuration interface may also allow the user to control the order in which policies and policy groups are executed, in addition to specifying actions to be taken if one or more policies are undefined. Systems and methods for processing the policies may allow efficient processing of object-oriented policies by applying potentially complex data structures to unstructured data streams. A device may also interpret and process a number of flow control commands and policy group invocation statements to determine an order of execution among a number of policies and policy groups.
    Type: Application
    Filed: March 12, 2007
    Publication date: September 18, 2008
    Inventors: Prakash Khemani, Vishal Bandekar
  • Publication number: 20080225722
    Abstract: Systems and methods for configuring and evaluating policies that direct processing of one or more data streams are described. A configuration interface is described for allowing users to specify object oriented policies. These object oriented policies may allow any data structures to be applied with respect to a payload of a received packet stream, including any portions of HTTP traffic. A configuration interface may also allow the user to control the order in which policies and policy groups are executed, in addition to specifying actions to be taken if one or more policies are undefined. Systems and methods for processing the policies may allow efficient processing of object-oriented policies by applying potentially complex data structures to unstructured data streams. A device may also interpret and process a number of flow control commands and policy group invocation statements to determine an order of execution among a number of policies and policy groups.
    Type: Application
    Filed: March 12, 2007
    Publication date: September 18, 2008
    Inventors: Prakash Khemani, Vishal Bandekar
  • Publication number: 20080225720
    Abstract: Systems and methods for configuring and evaluating policies that direct processing of one or more data streams are described. A configuration interface is described for allowing users to specify object oriented policies. These object oriented policies may allow any data structures to be applied with respect to a payload of a received packet stream, including any portions of HTTP traffic. A configuration interface may also allow the user to control the order in which policies and policy groups are executed, in addition to specifying actions to be taken if one or more policies are undefined. Systems and methods for processing the policies may allow efficient processing of object-oriented policies by applying potentially complex data structures to unstructured data streams. A device may also interpret and process a number of flow control commands and policy group invocation statements to determine an order of execution among a number of policies and policy groups.
    Type: Application
    Filed: March 12, 2007
    Publication date: September 18, 2008
    Inventors: Prakash Khemani, Vishal Bandekar
  • Publication number: 20080222363
    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: Application
    Filed: January 28, 2008
    Publication date: September 11, 2008
    Inventors: Prakash KHEMANI, Prabakar SUNDARRAJAN, Lakshmi KUMAR, Kailash KAILASH, Ajay SONI, Rajiv SINHA, Saravanakumar ANNAMALAISAMI
  • Publication number: 20080140938
    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: Application
    Filed: January 28, 2008
    Publication date: June 12, 2008
    Inventors: Prakash KHEMANI, Prabakar SUNDARRAJAN, Lakshmi KUMAR, Kailash KAILASH, Ajay SONI, Rajiv SINHA, Saravanakumar ANNAMALAISAMI