Patents by Inventor Ajay Soni

Ajay Soni 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: 7921184
    Abstract: The present invention is directed towards a “flash crowd” technique for handling situations where the cache receives additional requests, e.g.,. nearly simultaneous requests, for the same object during the time the server is processing and returning the response object for a first requester. Once all such nearly simultaneous requests are responded to by the cache, the object is flushed from the cache, with no additional expire time or invalidation action needed. This technique of the present invention enables data to be cached and served for very small amounts of time for objects that would otherwise be considered non-cacheable. As such, this technique yields a significant improvement in applications that serve fast changing data to a large volume of concurrent users, such, for example, as real time stock quotes, or a fast evolving news story.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: April 5, 2011
    Assignee: Citrix Systems, Inc.
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharath Bhushan KR, Anil Kumar
  • Patent number: 7907621
    Abstract: Systems and methods are described for using a client agent executing on a client to send ICMP messages to an appliance connected via a virtual private network Methods include: establishing, via a client agent executing on a client, a transport layer virtual private network connection with an appliance; intercepting, by the client agent at the network layer, an ICMP request originating from the client; and transmitting, by the client agent via a transport layer connection, the ICMP request to the appliance. Addition methods describe determining, by the appliance, the address identified by the ICMP request corresponds to a second client, the second client also connected via a virtual private network to the remote machine; and transmitting, by the appliance to the second client via the virtual private network connection, the ICMP request. Corresponding systems are also described.
    Type: Grant
    Filed: August 3, 2006
    Date of Patent: March 15, 2011
    Assignee: Citrix Systems, Inc.
    Inventors: Amarnath Mullick, Charu Venkatraman, Shashi Nanjundaswamy, Junxiao He, Roy Rajan, Ajay Soni
  • 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
  • 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: 7843912
    Abstract: A method for intercepting communication of a client to a destination on a virtual private network includes an agent executing on the client that intercepts a network communication of the client. The agent provides a virtual private network connection from a first network to a second network. The decision to intercept is based on a network destination description or an identification of an application authorized to be accessed via the virtual private network. In one case, the agent determines that a destination specified by the intercepted communication corresponds to a network identifier and a port of a network destination description of an application on the second network authorized for access via the virtual private network. In response to this determination, the agent transmits the intercepted communication.
    Type: Grant
    Filed: August 3, 2006
    Date of Patent: November 30, 2010
    Assignee: Citrix Systems, Inc.
    Inventors: James Harris, Charu Venkatraman, Junxiao He, Amarnath Mullick, Shashi Nanjundaswamy, Ajay Soni
  • 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
  • Publication number: 20100281162
    Abstract: The present invention is related to a method for establishing via an appliance a transport layer protocol connection initiated by a server on a first network to a client connected from a second network to the first network via a secure socket layer virtual private network (SSL VPN) connection. The method includes the step of receiving, by an appliance, a transport layer connection request from a server on a first network to connect to a client connected to the first network via a SSL VPN connection from a second network. The transport layer connection request identifies a client destination internet protocol address and a client destination port on the first network.
    Type: Application
    Filed: June 25, 2010
    Publication date: November 4, 2010
    Inventors: Charu Venkatraman, Junxiao He, Ajay Soni, James Harris, Arkesh Kumar
  • Publication number: 20100241846
    Abstract: A system and method for establishing a virtual private network (VPN) between a client and a private data communication network. An encrypted data communication session, such as a—Secure Sockets Layer (SSL) data communication session, is established between a gateway and the client over a public data communication network. The gateway then sends a programming component to the client for automatic installation and execution thereon. The programming component operates to intercept communications from client applications destined for resources on the private data communication network and to send the intercepted communications to the gateway via the encrypted data communication session instead of to the resources on the private data communication network.
    Type: Application
    Filed: June 4, 2010
    Publication date: September 23, 2010
    Inventors: Prabakar Sundarrajan, Junxiao He, Ajay Soni, Shashidhara Nanjundaswamy, Arkesh Kumar
  • Patent number: 7769869
    Abstract: The present invention is related to a method for establishing via an appliance a transport layer protocol connection initiated by a server on a first network to a client connected from a second network to the first network via a secure socket layer virtual private network (SSL VPN) connection. The method includes the step of receiving, by an appliance, a transport layer connection request from a server on a first network to connect to a client connected to the first network via a SSL VPN connection from a second network. The transport layer connection request identifies a client destination internet protocol address and a client destination port on the first network.
    Type: Grant
    Filed: August 21, 2006
    Date of Patent: August 3, 2010
    Assignee: Citrix Systems, Inc.
    Inventors: Charu Venkatraman, Arkesh Kumar, James Harris, Ajay Soni, Junxiao He
  • Patent number: 7757074
    Abstract: A system and method for establishing a virtual private network (VPN) between a client and a private data communication network. An encrypted data communication session, such as a Secure Sockets Layer (SSL) data communication session, is established between a gateway and the client over a public data communication network. The gateway then sends a programming component to the client for automatic installation and execution thereon. The programming component operates to intercept communications from client applications destined for resources on the private data communication network and to send the intercepted communications to the gateway via the encrypted data communication session instead of to the resources on the private data communication network.
    Type: Grant
    Filed: January 24, 2005
    Date of Patent: July 13, 2010
    Assignee: Citrix Application Networking, LLC
    Inventors: Prabakar Sundarrajan, Junxiao He, Ajay Soni, Shashidhara Nanjundaswamy, Arkesh Kumar
  • Publication number: 20100081610
    Abstract: The present invention relates to ?-hydroxy and amino substituted carboxylic acids, which act as matrix metalloprotease inhibitors, particularly diastereomerically pure ?-hydroxy carboxylic acids, corresponding processes for the synthesis of and pharmaceutical compositions containing the compounds of the present invention. Compounds of the present invention are useful in the treatment of various inflammatory, autoimmune and allergic diseases, such as methods of treating asthma, rheumatoid arthritis, COPD, rhinitis, osteoarthritis, psoriatic arthritis, psoriasis, pulmonary fibrosis, wound healing disorders, pulmonary inflammation, acute respiratory distress syndrome, perodontitis, multiple sclerosis, gingivitis, atherosclerosis, neointimal proliferation, which leads to restenosis and ischemic heart failure, stroke, renal diseases, tumor metastasis, and other inflammatory disorders characterized by the over-expression and over-activation of a matrix metalloproteinase using the compounds.
    Type: Application
    Filed: August 21, 2007
    Publication date: April 1, 2010
    Inventors: Viswajanani J. Sattigeri, Venkata P. Palle, Manoj Kumar Khera, Ranaheer Reddy, Manoj Kumar Tiwari, Ajay Soni, Abdul Rehman Abdul Rauf, Sony Joseph, Arpita Musib, Sunanda G. Dastidar, Punit Kumar Srivastava
  • 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
  • Publication number: 20080072311
    Abstract: In a method and appliance for authenticating, by an appliance, a client to access a virtual network connection, based on an attribute of a client-side certificate, a client authentication certificate is requested from a client. A value of at least one field in the client authentication certificate received from the client is identified. One of a plurality of types of access is assigned responsive to an application of a policy to the identified value of the at least one field, each of the plurality of access types associated with at least one connection characteristic.
    Type: Application
    Filed: August 21, 2006
    Publication date: March 20, 2008
    Inventors: Amarnath Mullick, Shashi Nanjundaswamy, Ajay Soni
  • Publication number: 20080043760
    Abstract: The present invention is related to a method for establishing via an appliance a transport layer protocol connection initiated by a server on a first network to a client connected from a second network to the first network via a secure socket layer virtual private network (SSL VPN) connection. The method includes the step of receiving, by an appliance, a transport layer connection request from a server on a first network to connect to a client connected to the first network via a SSL VPN connection from a second network. The transport layer connection request identifies a client destination internet protocol address and a client destination port on the first network.
    Type: Application
    Filed: August 21, 2006
    Publication date: February 21, 2008
    Applicant: Citrix Systems, Inc.
    Inventors: Charu Venkatraman, Junxiao He, Ajay Soni, James Harris, Arkesh Kumar
  • Publication number: 20080046993
    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: August 21, 2006
    Publication date: February 21, 2008
    Inventors: Amarnath Mullick, Charu Venkatraman, Shashi Nanjundaswamy, Junxiao He, Ajay Soni
  • Publication number: 20080046371
    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: Application
    Filed: August 21, 2006
    Publication date: February 21, 2008
    Applicant: Citrix Systems, Inc.
    Inventors: Junxiao He, Charu Venkatraman, Arkesh Kumar, Ajay Soni
  • Publication number: 20080046994
    Abstract: The intranet IP address management solution of the appliance and/or client described herein provides an environment for efficiently assigning, managing and querying virtual private network addresses, referred to as intranet IP (IIP) addresses of virtual private network users, such as a multitude of SSL VPN users on an enterprise network. The appliance provides techniques and policies for assigning previously assigned virtual private network addresses of a user to subsequent sessions of the user as the user logs in multiple times or roams between access points. This technique is referred to IIP stickiness as the appliance attempts to provide the same IIP address to a roaming VPN user. The appliance also provides a configurable user domain naming policy so that one can ping or query the virtual private network address of a user by an easily referenceable host name identifying the user.
    Type: Application
    Filed: August 21, 2006
    Publication date: February 21, 2008
    Applicant: Citrix Systems, Inc.
    Inventors: Charu Venkatraman, Junxiao He, Ajay Soni
  • Publication number: 20080031265
    Abstract: Systems and methods are described for using a client agent executing on a client to send ICMP messages to an appliance connected via a virtual private network Methods include: establishing, via a client agent executing on a client, a transport layer virtual private network connection with an appliance; intercepting, by the client agent at the network layer, an ICMP request originating from the client; and transmitting, by the client agent via a transport layer connection, the ICMP request to the appliance. Addition methods describe determining, by the appliance, the address identified by the ICMP request corresponds to a second client, the second client also connected via a virtual private network to the remote machine; and transmitting, by the appliance to the second client via the virtual private network connection, the ICMP request. Corresponding systems are also described.
    Type: Application
    Filed: August 3, 2006
    Publication date: February 7, 2008
    Inventors: Amarnath Mullick, Charu Venkatraman, Shashi Nanjundaswami, Junxiao He, Roy Rajan, Ajay Soni
  • Publication number: 20080034416
    Abstract: In a method and system for routing packets between clients, a packet is received from a first client connected to a secure sockets layer virtual private network (an SSL/VPN) network appliance. An identification is made, responsive to an inspection of the received packet, of i) a type of connection required for transmission of the received packet to a destination address identified by the received packet and ii) a second client connected via an SSL/VPN connection to the SSL/VPN network appliance and associated with the identified destination address. A request is made for establishment by the second client of a connection of the identified type within the SSL/VPN connection. The received packet is transmitted to the second client via the established connection of the identified type.
    Type: Application
    Filed: August 3, 2006
    Publication date: February 7, 2008
    Inventors: Arkesh Kumar, James Harris, Ajay Soni