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: 10270740Abstract: 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: GrantFiled: February 7, 2014Date of Patent: April 23, 2019Assignee: Citrix Systems, Inc.Inventors: Puneet Agarwal, Srinivasan Thirunarayanan, Vamsi Korrapatti, Prakash Khemani, Rajiv Mirani, Anoop Reddy
-
Patent number: 9628571Abstract: 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: GrantFiled: August 15, 2014Date of Patent: April 18, 2017Assignee: CITRIX SYSTEMS, INC.Inventors: Prakash Khemani, Anil Kumar
-
Patent number: 9621437Abstract: 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: GrantFiled: April 18, 2014Date of Patent: April 11, 2017Assignee: CITRIX SYSTEMS, INC.Inventors: Anil Shetty, Josephine Suganthi, Prakash Khemani
-
Patent number: 9471436Abstract: 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: GrantFiled: April 23, 2013Date of Patent: October 18, 2016Inventors: Samuel Rash, Dhrubajyoti Borthakur, Prakash Khemani, Zheng Shao
-
Patent number: 9450837Abstract: 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: GrantFiled: December 16, 2013Date of Patent: September 20, 2016Assignee: CITRIX SYSTEMS, INC.Inventors: Prakash Khemani, Vishal Bandekar
-
Patent number: 9438672Abstract: 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: GrantFiled: February 14, 2014Date of Patent: September 6, 2016Inventor: Prakash Khemani
-
Publication number: 20150237127Abstract: 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: ApplicationFiled: February 14, 2014Publication date: August 20, 2015Inventor: Prakash Khemani
-
Patent number: 8955033Abstract: 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: GrantFiled: November 25, 2008Date of Patent: February 10, 2015Assignee: Citrix Systems, Inc.Inventors: Prakash Khemani, Anil Kumar
-
Publication number: 20140380410Abstract: 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: ApplicationFiled: August 15, 2014Publication date: December 25, 2014Applicant: Citrix Systems, Inc.Inventors: Prakash Khemani, Anil Kumar
-
Publication number: 20140317448Abstract: 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: ApplicationFiled: April 23, 2013Publication date: October 23, 2014Applicant: Facebook, Inc.Inventors: Samuel Rash, Dhrubajyoti Borthakur, Prakash Khemani, Zheng Shao
-
Patent number: 8848710Abstract: 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: GrantFiled: July 25, 2012Date of Patent: September 30, 2014Assignee: Citrix Systems, Inc.Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharat Bhushan K.R., Anil Kumar
-
Patent number: 8812714Abstract: 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: GrantFiled: November 12, 2009Date of Patent: August 19, 2014Assignee: Citrix Systems, Inc.Inventors: Rajiv Sinha, Minoo Gupta, Prakash Khemani, Youcef Laribi, Salvatore Orlando, Sovit Garg, Sanjay Gupta, Raghu Goyal
-
Publication number: 20140229600Abstract: 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: ApplicationFiled: April 18, 2014Publication date: August 14, 2014Applicant: Citrix Systems, Inc.Inventors: Anil Shetty, Josephine Suganthi, Prakash Khemani
-
Patent number: 8788581Abstract: 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: GrantFiled: January 18, 2013Date of Patent: July 22, 2014Assignee: Citrix Systems, Inc.Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharath Bhushan K. R., Anil Kumar
-
Publication number: 20140157361Abstract: 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: ApplicationFiled: February 7, 2014Publication date: June 5, 2014Applicant: CITRIX SYSTEMS, INC.Inventors: Puneet Agarwal, Srinivasan Thirunarayanan, Vamsi Korrapatti, Prakash Khemani, Rajiv Mirani, Anoop Reddy
-
Patent number: 8739274Abstract: 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: GrantFiled: June 29, 2005Date of Patent: May 27, 2014Assignee: Citrix Systems, Inc.Inventors: Prakash Khemani, Prabakar Sundarrajan, Lakshmi Kumar, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravanakumar Annamalaisami
-
Patent number: 8737407Abstract: 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: GrantFiled: June 22, 2009Date of Patent: May 27, 2014Assignee: Citrix Systems, Inc.Inventors: Anil Shetty, Josephine Suganthi, Prakash Khemani
-
Patent number: 8724654Abstract: 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: GrantFiled: December 22, 2010Date of Patent: May 13, 2014Assignee: Citrix Systems, Inc.Inventors: Ratnesh Sinh Thakur, Prakash Khemani
-
Publication number: 20140108635Abstract: 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: ApplicationFiled: December 16, 2013Publication date: April 17, 2014Applicant: Citrix Systems, Inc.Inventors: Prakash Khemani, Vishal Bandekar
-
Patent number: 8667146Abstract: 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: GrantFiled: January 26, 2009Date of Patent: March 4, 2014Assignee: Citrix Systems, Inc.Inventors: Puneet Agarwal, Srinivasan Thirunarayanan, Vamsi Korrapati, Prakash Khemani, Rajiv Mirani, Anoop Reddy