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).

  • Patent number: 10270740
    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: Grant
    Filed: February 7, 2014
    Date of Patent: April 23, 2019
    Assignee: Citrix Systems, Inc.
    Inventors: Puneet Agarwal, Srinivasan Thirunarayanan, Vamsi Korrapatti, Prakash Khemani, Rajiv Mirani, Anoop Reddy
  • Patent number: 9628571
    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 a 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: Grant
    Filed: August 15, 2014
    Date of Patent: April 18, 2017
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Prakash Khemani, Anil Kumar
  • Patent number: 9621437
    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: Grant
    Filed: April 18, 2014
    Date of Patent: April 11, 2017
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Anil Shetty, Josephine Suganthi, Prakash Khemani
  • Patent number: 9471436
    Abstract: A method and system on failure recovery in a storage system are disclosed. In the storage system, user data streams (e.g., log data) are collected by a scribeh system. The scribeh system may include a plurality of Calligraphus servers, HDFS and Zookeeper. The Calligraphus servers may shard the user data streams based on keys (e.g., category and bucket pairs) and stream the user data streams to Puma nodes. Sharded user data streams may be aggregated according to the keys in memory of a specific Puma node. Periodically, aggregated user data streams cached in memory of the specific Puma node, together with a Incremental checkpoint, are persisted to HBase. When a specific process on the specific Puma node fails, Ptail retrieves the Incremental checkpoint from HBase and then restores the specific process by requesting user data streams processed by the specific process from the scribeh system according to the Incremental checkpoint.
    Type: Grant
    Filed: April 23, 2013
    Date of Patent: October 18, 2016
    Inventors: Samuel Rash, Dhrubajyoti Borthakur, Prakash Khemani, Zheng Shao
  • Patent number: 9450837
    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: December 16, 2013
    Date of Patent: September 20, 2016
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Prakash Khemani, Vishal Bandekar
  • Patent number: 9438672
    Abstract: A new method is provided for a database client to interact with a database server that allows the client to observe all changes happening in the server. Using this method is efficient to aggregate changes at the database record level before delivering them to the client. The method can also ensure exactly-once delivery of every change to the client. This method is implemented in the database server by a new data structure that maintains all database pages being modified on a linked list. Any database can incorporate this method to provide this aggregated, exactly-once change observation functionality.
    Type: Grant
    Filed: February 14, 2014
    Date of Patent: September 6, 2016
    Inventor: Prakash Khemani
  • Publication number: 20150237127
    Abstract: A new method is provided for a database client to interact with a database server that allows the client to observe all changes happening in the server. Using this method is efficient to aggregate changes at the database record level before delivering them to the client. The method can also ensure exactly-once delivery of every change to the client. This method is implemented in the database server by a new data structure that maintains all database pages being modified on a linked list. Any database can incorporate this method to provide this aggregated, exactly-once change observation functionality.
    Type: Application
    Filed: February 14, 2014
    Publication date: August 20, 2015
    Inventor: Prakash Khemani
  • Patent number: 8955033
    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: Grant
    Filed: November 25, 2008
    Date of Patent: February 10, 2015
    Assignee: Citrix Systems, Inc.
    Inventors: Prakash Khemani, Anil Kumar
  • Publication number: 20140380410
    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 a 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: August 15, 2014
    Publication date: December 25, 2014
    Applicant: Citrix Systems, Inc.
    Inventors: Prakash Khemani, Anil Kumar
  • Publication number: 20140317448
    Abstract: A method and system on failure recovery in a storage system are disclosed. In the storage system, user data streams (e.g., log data) are collected by a scribeh system. The scribeh system may include a plurality of Calligraphus servers, HDFS and Zookeeper. The Calligraphus servers may shard the user data streams based on keys (e.g., category and bucket pairs) and stream the user data streams to Puma nodes. Sharded user data streams may be aggregated according to the keys in memory of a specific Puma node. Periodically, aggregated user data streams cached in memory of the specific Puma node, together with a Incremental checkpoint, are persisted to HBase. When a specific process on the specific Puma node fails, Ptail retrieves the Incremental checkpoint from HBase and then restores the specific process by requesting user data streams processed by the specific process from the scribeh system according to the Incremental checkpoint.
    Type: Application
    Filed: April 23, 2013
    Publication date: October 23, 2014
    Applicant: Facebook, Inc.
    Inventors: Samuel Rash, Dhrubajyoti Borthakur, Prakash Khemani, Zheng Shao
  • Patent number: 8848710
    Abstract: The present invention is directed towards a method and system for providing a technique referred to as flash caching to respond to requests for an object, such as a dynamically generated object, from multiple clients. This technique of the present invention uses a dynamically generated object stored in a buffer for transmission to a client, for example in response to a request from the client, to also respond to additional requests for the dynamically generated object from other clients while the object is stored in the buffer. Using this technique, the present invention is able to increase cache hit rates for extremely fast changing dynamically generated objects that may not otherwise be cacheable.
    Type: Grant
    Filed: July 25, 2012
    Date of Patent: September 30, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharat Bhushan K.R., Anil Kumar
  • Patent number: 8812714
    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: Grant
    Filed: November 12, 2009
    Date of Patent: August 19, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Rajiv Sinha, Minoo Gupta, Prakash Khemani, Youcef Laribi, Salvatore Orlando, Sovit Garg, Sanjay Gupta, Raghu Goyal
  • Publication number: 20140229600
    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: April 18, 2014
    Publication date: August 14, 2014
    Applicant: Citrix Systems, Inc.
    Inventors: Anil Shetty, Josephine Suganthi, Prakash Khemani
  • Patent number: 8788581
    Abstract: A method for maintaining a cache of dynamically generated objects. The method includes storing in the cache dynamically generated objects previously served from an originating server to a client. A communication between the client and server is intercepted by the cache. The cache parses the communication to identify an object determinant and to determine whether the object determinant indicates whether a change has occurred or will occur in an object at the originating server. The cache marks the object stored in the cache as invalid if the object determinant so indicates. If the object has been marked as invalid, the cache retrieves the object from the originating server.
    Type: Grant
    Filed: January 18, 2013
    Date of Patent: July 22, 2014
    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: 20140157361
    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: February 7, 2014
    Publication date: June 5, 2014
    Applicant: CITRIX SYSTEMS, INC.
    Inventors: Puneet Agarwal, Srinivasan Thirunarayanan, Vamsi Korrapatti, Prakash Khemani, Rajiv Mirani, Anoop Reddy
  • Patent number: 8739274
    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: June 29, 2005
    Date of Patent: May 27, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Prakash Khemani, Prabakar Sundarrajan, Lakshmi Kumar, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravanakumar Annamalaisami
  • Patent number: 8737407
    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: Grant
    Filed: June 22, 2009
    Date of Patent: May 27, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Anil Shetty, Josephine Suganthi, Prakash Khemani
  • Patent number: 8724654
    Abstract: A streaming rewrite method and system that can execute an efficient multiple pattern search method that parses a response in a data structure of an appliance. The method and system can avoid copying to a buffer by parsing data across a data structure to identify search patterns and phrases that may be identified by one or more actions and/or rules of an appliance or system. A parser can input one or more search patterns, and parse a body of a response or one or more packets for the search patterns. The parser can obtain pattern information about the packets and/or the response, and store this information in a database. The appliance can then perform lookups in the database for pattern information and perform rewrites in accordance with the stored pattern information. The rewritten response and/or packets can then be transmitted to a destination.
    Type: Grant
    Filed: December 22, 2010
    Date of Patent: May 13, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Ratnesh Sinh Thakur, Prakash Khemani
  • Publication number: 20140108635
    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: December 16, 2013
    Publication date: April 17, 2014
    Applicant: Citrix Systems, Inc.
    Inventors: Prakash Khemani, Vishal Bandekar
  • Patent number: 8667146
    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: Grant
    Filed: January 26, 2009
    Date of Patent: March 4, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Puneet Agarwal, Srinivasan Thirunarayanan, Vamsi Korrapati, Prakash Khemani, Rajiv Mirani, Anoop Reddy