Patents by Inventor Anil Shetty

Anil Shetty 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: 20090300407
    Abstract: The present invention provides methods and systems for performing load balancing via a plurality of virtual servers upon a failover using metrics from a backup virtual server. The methods and systems described herein provide systems and methods for an appliance detecting that a first virtual server of a plurality of virtual servers having one or more backup virtual servers load balanced by an appliance is not available, identifying at least a first backup virtual server of a one or more backup virtual servers of the first virtual server is available, maintaining a status of the first virtual server as available in response to the identification, obtaining one or more metrics from the first backup virtual server of a one or more backup virtual servers, and determining the load across the plurality of virtual servers using the metrics obtained from the first backup virtual server associated with the first virtual server.
    Type: Application
    Filed: May 29, 2008
    Publication date: December 3, 2009
    Inventors: Sandeep Kamath, Josephine Suganthi, Sergey Verzunov, Murali Raja, Anil Shetty
  • Publication number: 20090034417
    Abstract: Systems and methods for load balancing services based on fewest connections by decreasing granularity of service selection as a number of fewest connections serviced by the services increases may include establishing, by an appliance, a set of identifiers corresponding to a number of connections serviced by a service, the set comprising a first plurality of identifiers each identifying a predetermined number of connections and a second plurality of identifiers each identifying a predetermined range of numbers of connections. The appliance assigns, to each service servicing connections, an identifier corresponding to the number of connections serviced by the service, at least one of the identifiers selected from the second plurality of identifiers. The appliance receives a request for a service, and forwards the request to a service assigned to the identifier corresponding to a fewest number of connections with at least one service assigned to the identifier.
    Type: Application
    Filed: August 3, 2007
    Publication date: February 5, 2009
    Inventors: Ravi Kondamuru, Henk Bots, Josephine Suganthi, Anil Shetty
  • Publication number: 20080049616
    Abstract: A method for an appliance to switch handling of transport layer connection requests from a first virtual server of the appliance managing a first plurality of services to a second virtual server of the appliance managing a second plurality of services upon exceeding, by the first virtual server, a maximum connection threshold determined dynamically from a status of the first plurality of services.
    Type: Application
    Filed: August 22, 2006
    Publication date: February 28, 2008
    Applicant: Citrix Systems, Inc.
    Inventors: Sandeep Kamath, Josephine Suganthi, Sergey Verzunov, Anil Shetty
  • Publication number: 20080043622
    Abstract: A method for enabling decentralized dynamic load balancing among a plurality of appliances providing access to a plurality of sites, each site comprising a local area network and at least one server includes: determining, by a first appliance, a first number of services currently available for access via a local area network connected to the first appliance; receiving, by the first appliance from a second appliance, a communication indicating a second number of services currently available for access via a local area network connected to the second appliance; receiving, by the first appliance, a plurality of requests to connect to a service; determining, by the first appliance, a weight to be assigned to the second appliance, wherein the determination is responsive to the second number; and forwarding, by the first appliance to the second appliance, a subset of the plurality of requests, wherein the number of requests comprising the subset is determined in response to the determined weight.
    Type: Application
    Filed: August 21, 2006
    Publication date: February 21, 2008
    Applicant: CITRIX SYSTEMS, INC.
    Inventors: Sandeep Kamath, Murali Raja, Josephine Suganthi, Anil Shetty, Sergey Verzunov
  • Publication number: 20080046616
    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: Application
    Filed: August 21, 2006
    Publication date: February 21, 2008
    Applicant: Citrix Systems, Inc.
    Inventors: Sergey Verzunov, Charu Venkatraman, Junxiao He, Shashi Nanjundaswamy, Bharath Bhushan, Saravana Annamalaisami, Josephine Suganthi, Anil Shetty
  • Publication number: 20080046558
    Abstract: In a method and appliance for using a dynamic response time to determine responsiveness of one or more network services on a server, a monitor determines a response time for each of one or more network services. The monitor establishes an average response time based on the determined response time for each of the one or more network services. The monitor associates with the established average response time a predetermined threshold for which the response time of the one or more network services may deviate from the average response time and maintain an indication of responsiveness. The monitor monitors the response time of the one or more network services to one or more requests. The monitor determines that the response time of the one or more network services deviates from the average response time by the predetermined threshold. The monitor indicates that the one or more network services are unavailable.
    Type: Application
    Filed: August 3, 2006
    Publication date: February 21, 2008
    Inventors: Murali Raja, Ravi Kondamuru, Josephine Suganthi, Sergey Verzunov, Sandeep Kamath, Anil Shetty
  • Publication number: 20080043617
    Abstract: A method for determining service availability using a plurality of weighted monitoring agents includes: establishing, by an appliance, a plurality of agents, the plurality of agents monitoring a service executing on a server, and each agent having an assigned weight; computing, by the appliance, a sum of the assigned weights of the agents reporting the service as currently operational; determining, by the appliance, the sum falls below a given threshold; and transmitting, by the appliance, an indication that the service is unusable. Corresponding systems are also described.
    Type: Application
    Filed: August 21, 2006
    Publication date: February 21, 2008
    Applicant: Citrix Systems, Inc.
    Inventors: Arcady Schekochikhin, Sandeep Kamath, Anil Shetty, Sergey Verzunov
  • Publication number: 20080034111
    Abstract: Systems and methods are disclosed for providing a hierarchy of appliances to more efficiently access resources across a plurality of branch offices.
    Type: Application
    Filed: August 3, 2006
    Publication date: February 7, 2008
    Inventors: Sandeep Kamath, Josephine Suganthi, Anil Shetty
  • Publication number: 20080034119
    Abstract: Systems and methods are disclosed for communicating compressed and uncompressed content over a transport layer connection established by an appliance between a client and a server. One method comprises the steps of: establishing, by an appliance, a transport layer connection between a client and a server, and receiving, by the appliance, a first response from the server to a first client request, and a second response from the server to a second client request The first response and the second response has uncompressed data. The method includes transmitting, by the appliance, the first response to the client. The appliance identifies first type of compression from a plurality of compression types for compressing the second response to the client, compresses the second response based on the identified compression type, and transmits the compressed second response to the client.
    Type: Application
    Filed: August 3, 2006
    Publication date: February 7, 2008
    Inventors: Sergey Verzunov, Junxiao He, Shashi Nanjundaswamy, Charu Venkatraman, Bharath Bhushan, Saravana Annamalaisami, Anil Shetty
  • Publication number: 20080034072
    Abstract: Methods for redirecting, on a client, a communication of the client to a server to upon determining the server is not useable to communicate to the client include the steps of: establishing, by an client agent on a client, a transport layer connection between the client and an intermediary appliance, the intermediary appliance providing access to one or more servers; receiving, by the client agent from the intermediary appliance, address information identifying at least one of the one or more servers available to communicate; determining, by the client agent, the transport layer connection is unusable to communicate; establishing, by the client agent, a second transport layer connection between the client and one of the identified available servers to bypass the appliance. Corresponding systems are also described.
    Type: Application
    Filed: August 3, 2006
    Publication date: February 7, 2008
    Inventors: Junxiao He, Josephine Suganthi, Sergey Verzunov, Anil Shetty, Charu Venkatraman
  • Publication number: 20080034110
    Abstract: Methods for using a client agent to route client requests among a plurality of appliances using transport layer information include the steps of: establishing, by a client agent executing on a client, a first transport layer connection with a first appliance of a plurality of appliances, the first appliance providing access to one or more servers; establishing, by a client agent executing on the client, a second transport layer connection with a second appliance of a plurality of appliances, the second appliance providing access to one or more servers; intercepting, by the client agent, a packet transmitted by the client; selecting, by the client agent, one of the connections to transmit the intercepted packet based on a characteristic of at least one of: the transport layer connections, the plurality of appliances, or the servers; and transmitting the intercepted packet via the selected connection.
    Type: Application
    Filed: August 3, 2006
    Publication date: February 7, 2008
    Inventors: Josephine Suganthi, Junxiao He, Sergey Verzunov, Anil Shetty, Charu Venkatraman
  • Publication number: 20060253605
    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 plurality of the following acceleration techniques in an integrated and efficient manner: 1) multi-protocol compression 2) transport control protocol pooling, 3) transport control protocol multiplexing 4) transport control protocol buffering, and 5) caching. The acceleration program establishes a transport layer connection between the client and server, and intercepts network packets at the transport layer.
    Type: Application
    Filed: December 30, 2005
    Publication date: November 9, 2006
    Inventors: Prabakar Sundarrajan, Junxiao He, Josephine Suganthi, Shashi Nanjundaswamy, Bharath Bhushan KR, Saravana Annamalaisami, Sergey Verzunov, Charu Venkatraman, Anil Shetty
  • Publication number: 20060248581
    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: Application
    Filed: December 30, 2005
    Publication date: November 2, 2006
    Inventors: Prabakar Sundarrajan, Junxiao He, Josephine Suganthi, Sergey Verzunov, Charu Venkatraman, Anil Shetty
  • Publication number: 20060200849
    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: Application
    Filed: December 30, 2005
    Publication date: September 7, 2006
    Inventors: Prabakar Sundarrajan, Junxiao He, Shashi Nanjundaswamy, Sergey Verzunov, Charu Venkatraman, Anil Shetty
  • Publication number: 20060195605
    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: Application
    Filed: December 30, 2005
    Publication date: August 31, 2006
    Inventors: Prabakar Sundarrajan, Junxiao He, Sergey Verzunov, Charu Venkatraman, Anil Shetty
  • Publication number: 20060195547
    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 multiplexing 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 multiplexes requests from one or more applications via the same transport layer connection maintained by the acceleration program.
    Type: Application
    Filed: December 30, 2005
    Publication date: August 31, 2006
    Inventors: Prabakar Sundarrajan, Junxiao He, Shashi Nanjundaswamy, Sergey Verzunov, Charu Venkatraman, Anil Shetty
  • Publication number: 20060195840
    Abstract: The present invention is directed towards systems and methods for dynamically deploying and executing an acceleration program 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: Application
    Filed: December 30, 2005
    Publication date: August 31, 2006
    Inventors: Prabakar Sundarrajan, Junxiao He, Sergey Verzunov, Charu Venkatraman, Anil Shetty
  • Publication number: 20040199646
    Abstract: An apparatus, method and computer program product for guaranteeing network client-server response time while providing a way of putting the client on-hold when the response time temporarily prohibits access to the requested server. The apparatus is implemented within an interface unit connecting a plurality of servers and an on-hold server to the Internet, which is connected to a plurality of clients.
    Type: Application
    Filed: April 19, 2004
    Publication date: October 7, 2004
    Applicant: NetScaler, Inc.
    Inventors: Michel K. Susai, Anil Shetty, Wanqun Bao, Jose K. Raphel, Rajiv Sinha, Venugopal Botlaguduru, Sivaprasad R. Udupa, Vamsimohan Korrapati, Sergey Verzunov
  • Patent number: 6725272
    Abstract: An apparatus, method and computer program product for guaranteeing network client-server response time while providing a way of putting the client on-hold when the response time temporarily prohibits, access to the requested server. The apparatus is implemented within an interface unit connecting a plurality of servers and an on-hold server to the Internet, which is connected to a plurality of clients.
    Type: Grant
    Filed: February 18, 2000
    Date of Patent: April 20, 2004
    Assignee: Netscaler, Inc.
    Inventors: Michel K. Susai, Anil Shetty, Wanqun Bao, Jose K. Raphel, Rajiv Sinha, Venugopal Botlaguduru, Sivaprasad R. Udupa, Vamsimohan Korrapati, Sergey Verzunov