Patents by Inventor Charu Venkatraman

Charu Venkatraman 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: 9948608
    Abstract: Systems and methods are described for using a client agent operating in a virtual private network environment to intercept HyperText Transfer Protocol (HTTP) communications. Methods include: intercepting at the network layer, by a client agent executing on a client, an HTTP request from an application executing on the client; modifying the HTTP request; and transmitting, via a transport layer connection, the modified HTTP request to a server. Additional methods may comprise adding, removing, or modifying at least one cookie in the HTTP request. Still other methods may comprise modifying at least one name-value pair contained in the HTTP request. Corresponding systems are also described.
    Type: Grant
    Filed: January 12, 2015
    Date of Patent: April 17, 2018
    Assignee: Citrix Systems, Inc.
    Inventors: Junxiao He, Charu Venkatraman, Ajay Soni
  • Patent number: 9692725
    Abstract: Systems and methods are described for using a client agent operating in a virtual private network environment to intercept HTTP communications. Methods include: intercepting at the network layer, by a client agent executing on a client, an HTTP request from an application executing on the client; modifying the HTTP request; and transmitting, via a transport layer connection, the modified HTTP request to a server. Additional methods may comprise adding, removing, or modifying at least one cookie in the HTTP request. Still other methods may comprise modifying at least one name-value pair contained in the HTTP request. Corresponding systems are also described.
    Type: Grant
    Filed: July 31, 2014
    Date of Patent: June 27, 2017
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Charu Venkatraman, Junxiao He, Ajay Soni, Nicholas Stavrakos, Jeff Monks, Fred Koopmans, Chris Koopmans, Kapil Dakhane
  • Patent number: 9544285
    Abstract: Systems and methods are described for using a client agent to manage HTTP authentication cookies. One method includes intercepting, by a client agent executing on a client, a connection request from the client; establishing, by the client agent, a transport layer virtual private network connection with a network appliance; transmitting, by the client agent via the established connection, an HTTP request comprising an authentication cookie; and transmitting, by the client agent via the connection, the connection request.
    Type: Grant
    Filed: September 30, 2013
    Date of Patent: January 10, 2017
    Assignee: Citrix Systems, Inc.
    Inventors: Junxiao He, Charu Venkatraman, Ajay Soni
  • Patent number: 9497198
    Abstract: A method for allowing or denying, by an appliance, access to a resource by an application on a client via a virtual private network connection includes basing the decision to allow or deny access on identification of the application. The appliance intercepts a request from an application on a client on a first network to access via a virtual private network connection a resource on a second network. The appliance identifies the application and associates with the intercepted request an authorization policy based on the identity of the application. The appliance determines, using the authorization policy and the identity of the application, to either allow or deny access by the application to the resource.
    Type: Grant
    Filed: September 26, 2014
    Date of Patent: November 15, 2016
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Amarnath Mullick, Charu Venkatraman, Junxiao He, Shashi Nanjundaswamy, James Harris, Ajay Soni
  • Patent number: 9407608
    Abstract: An appliance and method for authorizing a level of access of a client to a virtual private network connection, based on a client-side attribute includes the step of establishing, by an appliance, a control connection with a client upon receiving a client request to establish a virtual private network connection with a network. The appliance transmits, via the control connection, a request to the client to evaluate at least one clause of a security string, the at least one clause including an expression associated with a client-side attribute. The client transmits, via the control connection, a response to the appliance comprising a result of evaluating the at least one clause by the client. The appliance assigns the client to an authorization group based on the result of evaluation of the at least one clause.
    Type: Grant
    Filed: July 31, 2014
    Date of Patent: August 2, 2016
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Amarnath Mullick, Charu Venkatraman, Shashi Nanjundaswamy, Junxiao He, Ajay Soni, Nicholas Stavrakos, Chris Koopmans
  • Patent number: 9294439
    Abstract: A method for intercepting, by an agent of a client, communications from the client to be transmitted via a virtual private network connection includes the step of intercepting communications based on identification of an application from which the communication originates. The agent receives information identifying a first application. The agent determines a network communication transmitted by the client originates from the first application and intercepts that communication. The agent transmits the intercepted communication via the virtual private network connection.
    Type: Grant
    Filed: July 16, 2013
    Date of Patent: March 22, 2016
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Charu Venkatraman, Junxiao He, Amarnath Mullick, Shashi Nanjundaswamy, James Harris, Ajay Soni
  • Publication number: 20150128227
    Abstract: Systems and methods are described for using a client agent operating in a virtual private network environment to intercept HTTP communications. Methods include: intercepting at the network layer, by a client agent executing on a client, an HTTP request from an application executing on the client; modifying the HTTP request; and transmitting, via a transport layer connection, the modified HTTP request to a server. Additional methods may comprise adding, removing, or modifying at least one cookie in the HTTP request. Still other methods may comprise modifying at least one name-value pair contained in the HTTP request. Corresponding systems are also described.
    Type: Application
    Filed: January 12, 2015
    Publication date: May 7, 2015
    Applicant: Citrix Systems, Inc.
    Inventors: Junxiao He, Charu Venkatraman, Ajay Soni
  • Patent number: 8954595
    Abstract: The present invention is directed towards systems and methods for dynamically deploying and executing acceleration functionality on a client to improve the performance and delivery of remotely accessed applications. In one embodiment, the client-side acceleration functionality is provided by an acceleration program that performs a transport layer connection buffering technique for improving performance of communications and delivery of a remotely-accessed application. The acceleration program establishes a transport layer connection from the client to the server and buffers requests of the client based on determining a difference between a rate of consumption of responses received by the client from a server and a rate of production of requests transmitted by the client to the server. As such, the acceleration program can throttle transmissions of the client if the client's rate of consumption falls behind the rate of submission of requests.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: February 10, 2015
    Assignee: Citrix Systems, Inc.
    Inventors: Prabakar Sundarrajan, Junxiao He, Sergey Verzunov, Charu Venkatraman, Anil Shetty
  • Patent number: 8943304
    Abstract: Systems and methods are described for using a client agent operating in a virtual private network environment to intercept HTTP communications. Methods include: intercepting at the network layer, by a client agent executing on a client, an HTTP request from an application executing on the client; modifying the HTTP request; and transmitting, via a transport layer connection, the modified HTTP request to a server. Additional methods may comprise adding, removing, or modifying at least one cookie in the HTTP request. Still other methods may comprise modifying at least one name-value pair contained in the HTTP request. Corresponding systems are also described.
    Type: Grant
    Filed: August 3, 2006
    Date of Patent: January 27, 2015
    Assignee: Citrix Systems, Inc.
    Inventors: Junxiao He, Charu Venkatraman, Ajay Soni
  • Publication number: 20150020220
    Abstract: A method for allowing or denying, by an appliance, access to a resource by an application on a client via a virtual private network connection includes basing the decision to allow or deny access on identification of the application. The appliance intercepts a request from an application on a client on a first network to access via a virtual private network connection a resource on a second network. The appliance identifies the application and associates with the intercepted request an authorization policy based on the identity of the application. The appliance determines, using the authorization policy and the identity of the application, to either allow or deny access by the application to the resource.
    Type: Application
    Filed: September 26, 2014
    Publication date: January 15, 2015
    Applicant: CITRIX SYSTEMS, INC.
    Inventors: Amarnath Mullick, Charu Venkatraman, Junxiao He, Shashi Nanjundaswamy, James Harris, Ajay Soni
  • Patent number: 8904475
    Abstract: An appliance and method for authorizing a level of access of a client to a virtual private network connection, based on a client-side attribute includes the step of establishing, by an appliance, a control connection with a client upon receiving a client request to establish a virtual private network connection with a network. The appliance transmits, via the control connection, a request to the client to evaluate at least one clause of a security string, the at least one clause including an expression associated with a client-side attribute. The client transmits, via the control connection, a response to the appliance comprising a result of evaluating the at least one clause by the client. The appliance assigns the client to an authorization group based on the result of evaluation of the at least one clause.
    Type: Grant
    Filed: February 6, 2013
    Date of Patent: December 2, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Amarnath Mullick, Charu Venkatraman, Shashi Nanjundaswamy, Junxiao He, Ajay Soni
  • Publication number: 20140344891
    Abstract: An appliance and method for authorizing a level of access of a client to a virtual private network connection, based on a client-side attribute includes the step of establishing, by an appliance, a control connection with a client upon receiving a client request to establish a virtual private network connection with a network. The appliance transmits, via the control connection, a request to the client to evaluate at least one clause of a security string, the at least one clause including an expression associated with a client-side attribute. The client transmits, via the control connection, a response to the appliance comprising a result of evaluating the at least one clause by the client. The appliance assigns the client to an authorization group based on the result of evaluation of the at least one clause.
    Type: Application
    Filed: July 31, 2014
    Publication date: November 20, 2014
    Inventors: Amarnath Mullick, Charu Venkatraman, Shashi Nanjundaswamy, Junxiao He, Ajay Soni, Nicholas Stavrakos, Chris Koopmans
  • Publication number: 20140344345
    Abstract: Systems and methods are described for using a client agent operating in a virtual private network environment to intercept HTTP communications. Methods include: intercepting at the network layer, by a client agent executing on a client, an HTTP request from an application executing on the client; modifying the HTTP request; and transmitting, via a transport layer connection, the modified HTTP request to a server. Additional methods may comprise adding, removing, or modifying at least one cookie in the HTTP request. Still other methods may comprise modifying at least one name-value pair contained in the HTTP request. Corresponding systems are also described.
    Type: Application
    Filed: July 31, 2014
    Publication date: November 20, 2014
    Inventors: Charu Venkatraman, Junxiao He, Ajay Soni, Nicholas Stavrakos, Jeff Monks, Fred Koopmans, Chris Koopmans, Kapil Dakhane
  • Patent number: 8869262
    Abstract: A method for allowing or denying, by an appliance, access to a resource by an application on a client via a virtual private network connection includes basing the decision to allow or deny access on identification of the application. The appliance intercepts a request from an application on a client on a first network to access via a virtual private network connection a resource on a second network. The appliance identifies the application and associates with the intercepted request an authorization policy based on the identity of the application. The appliance determines, using the authorization policy and the identity of the application, to either allow or deny access by the application to the resource.
    Type: Grant
    Filed: August 3, 2006
    Date of Patent: October 21, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Amarnath Mullick, Shashi Nanjundaswamy, Charu Venkatraman, Junxiao He, James Harris, Ajay Soni
  • Patent number: 8856777
    Abstract: The present invention is directed towards systems and methods for dynamically deploying and executing acceleration functionality on a client to improve the performance and delivery of remotely accessed applications. The acceleration program of the present invention is automatically installed and executed on a client in a manner transparent to and seamless with the operation of the client. An appliance may intercept a request of the client to establish a communication session or connection with a server, and transmit the acceleration program to the client. In some cases, the appliance determines whether the application being accessed by the client can be accelerated and only provides the acceleration program if the application can be accelerated. Upon receipt of the acceleration program, the client automatically performs a silent installation of the acceleration program and executes the acceleration program upon completion of the installation.
    Type: Grant
    Filed: September 2, 2010
    Date of Patent: October 7, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Prabakar Sundarrajan, Junxiao He, Sergey Verzunov, Charu Venkatraman, Anil Shetty
  • Patent number: 8769522
    Abstract: A method for automatically changing a version of a client agent for a non-administrative user account without rebooting the user's machine uses a service having installation privileges. The service executes on the client and installs a client agent. The client agent communicates with a network appliance. The client agent detects a difference between its version and a version of the client agent identified by the network appliance. The agent signals the service that it has detected the difference and, in response, the service executes an installation program that installs, without rebooting the client, the version of the client agent identified by the appliance. A corresponding system is also described.
    Type: Grant
    Filed: August 21, 2006
    Date of Patent: July 1, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Charu Venkatraman, Arkesh Kumar, Junxiao He, Ajay Soni
  • Patent number: 8706877
    Abstract: The present invention is directed towards systems and methods for dynamically redirecting on a client communications of the client with a server to bypass an intermediary that is determined to be unavailable for such communications. An acceleration program on the client establishes a transport layer connection between the client and server, and intercepts communications of the client to the server. The transport layer connection may be established via an intermediary, such as a gateway, proxy or appliance. If the client-side acceleration program determines the intermediary is not available for communicating by the client to the server, the acceleration program automatically establishes a second transport layer connection to the server in order to bypass the intermediary. The acceleration program then transmits the intercepted communications of the client via the second transport layer connection to the server.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: April 22, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Prabakar Sundarrajan, Junxiao He, Sergey Verzunov, Charu Venkatraman, Anil Shetty, Josephine Suganthi
  • Publication number: 20140109202
    Abstract: Systems and methods are described for using a client agent to manage HTTP authentication cookies. One method includes intercepting, by a client agent executing on a client, a connection request from the client; establishing, by the client agent, a transport layer virtual private network connection with a network appliance; transmitting, by the client agent via the established connection, an HTTP request comprising an authentication cookie; and transmitting, by the client agent via the connection, the connection request.
    Type: Application
    Filed: September 30, 2013
    Publication date: April 17, 2014
    Applicant: Citrix Systems, Inc.
    Inventors: Junxiao He, Charu Venkatraman, Ajay Soni
  • Patent number: 8700695
    Abstract: The present invention is directed towards systems and methods for dynamically deploying and executing acceleration functionality on a client to improve the performance and delivery of remotely accessed applications. In one embodiment, the client-side acceleration functionality is provided by an acceleration program that performs a transport layer connection pooling technique for improving performance of communications and delivery of a remotely-accessed application. The acceleration program establishes a transport layer connection from the client to the server that can be used by multiple applications on the client, or that is otherwise shared among applications of the client. The acceleration program maintains the transport layer connection open to reduce the number of transport layer connection requests and number of transport layer connections established with the server for an application or multiple applications running on the client.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: April 15, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Prabakar Sundarrajan, Junxiao He, Sergey Verzunov, Charu Venkatraman, Anil Shetty, Shashi Nanjundaswamy
  • Patent number: 8694684
    Abstract: A method for compressing a stream of application layer network traffic communicated over a transport layer connection of a virtual private network connection between a client and a server using an appliance. The appliance intercepts one or more transport layer packets of a stream of application network traffic communicated via a transport layer connection of a virtual private network connection between a client and a server. The appliance accumulates data from a payload of the intercepted transport layer packets, determines data accumulated for transmission should be compressed based on one or more compression trigger, and compresses the accumulated data into a self-contained compression block for transmission.
    Type: Grant
    Filed: August 21, 2006
    Date of Patent: April 8, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Sergey Verzunov, Charu Venkatraman, Junxiao He, Shashi Nanjundaswamy, Bharath Bhushan, Saravana Annamalaisami, Josephine Suganthi, Anil Shetty