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).
-
Patent number: 8631120Abstract: An apparatus, method and computer program product for efficiently pooling network client-server connections. The apparatus is implemented within an interface unit connecting a plurality of servers to the Internet, which is in turn connected to a plurality of clients. The method includes the steps of opening a connection between a first client and the interface unit; determining whether a connection between the interface unit and a server is finished being utilized by the first client; opening a connection between a second client and the interface unit; if no free connection is open between the interface unit and the server, then allowing the second client to access information on the server via the same connection utilized by the first client without waiting for the first client to initiate closing the connection; and delinking the connections between the first and second clients and the interface unit while keeping open the connection between the interface unit and the server.Type: GrantFiled: August 12, 2010Date of Patent: January 14, 2014Assignee: Citrix Systems, Inc.Inventors: Michel K. Susai, Rajiv Sinha, Anil Shetty
-
Patent number: 8626946Abstract: Systems and methods are disclosed for providing a hierarchy of appliances to access resources across branch offices. A method comprises: establishing, by a first aggregator appliance, connections with a first plurality of branch office appliances; establishing, by a second aggregator appliance, connections with a second plurality of branch office appliances, the first plurality not having information identifying the second plurality; receiving, by the first aggregator appliance, from a first branch office appliance a request from a client for access to a resource; identifying, by the first aggregator appliance via the second aggregator appliance, a second branch office appliance from the second plurality to service the request; transmitting, by the first aggregator appliance, to the first branch office appliance information identifying the second branch office appliance; and establishing, by the first branch office appliance, a connection with the second branch office appliance.Type: GrantFiled: August 3, 2006Date of Patent: January 7, 2014Assignee: Citrix Systems, Inc.Inventors: Sandeep Kamath, Josephine Suganthi, Anil Shetty
-
Patent number: 8621105Abstract: 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: GrantFiled: April 25, 2011Date of Patent: December 31, 2013Assignee: Citrix Systems, Inc.Inventors: Josephine Suganthi, Junxiao He, Sergey Verzunov, Anil Shetty, Charu Venkatraman
-
Publication number: 20130318232Abstract: 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 The appliance establishes a predetermined threshold identifying a maximum active transport layer connection capacity for the first virtual server that comprising a sum of a predetermined connection capacity for each of the plurality of services. The appliance determines via monitoring that the status of a service of the plurality of services indicates the service is not available and adjusts the predetermined threshold to comprise the sum of the predetermined connection capacity for each of the plurality of services having a status of available.Type: ApplicationFiled: June 27, 2013Publication date: November 28, 2013Applicant: Citrix Systems, Inc.Inventors: Sandeep Kamath, Josephine Suganthi, Anil Shetty, Sergey Verzunov
-
Publication number: 20130286839Abstract: The present solution is related to a method for distributing flows of network traffic across a plurality of packet processing engines executing on a corresponding core of a multi-core device. The method includes receiving, by a multi-core device intermediary to clients and servers, a packet of a first flow of network traffic between a client and server. The method also includes assigning, by a flow distributor of the multi-core device, the first flow of network traffic to a first core executing a packet processing engine and distributing the packet to this core. The flow distributor may distribute packets of another or second flow of traffic between another client and server to a second core executing a second packet processing engine. When a packet for the flow of traffic assigned to the first core is received, such as a third packet, the flow distributor distributes this packet to the first core.Type: ApplicationFiled: June 28, 2013Publication date: October 31, 2013Inventors: Rajiv Mirani, Rajiv Sinha, Abhishek Chauhan, Anil Shetty
-
Patent number: 8549149Abstract: 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: GrantFiled: December 30, 2005Date of Patent: October 1, 2013Assignee: Citrix Systems, Inc.Inventors: Prabakar Sundarrajan, Junxiao He, Shashi Nanjundaswamy, Sergey Verzunov, Charu Venkatraman, Anil Shetty
-
Patent number: 8503459Abstract: The present solution is related to a method for distributing flows of network traffic across a plurality of packet processing engines executing on a corresponding core of a multi-core device. The method includes receiving, by a multi-core device intermediary to clients and servers, a packet of a first flow of network traffic between a client and server. The method also includes assigning, by a flow distributor of the multi-core device, the first flow of network traffic to a first core executing a packet processing engine and distributing the packet to this core. The flow distributor may distribute packets of another or second flow of traffic between another client and server to a second core executing a second packet processing engine. When a packet for the flow of traffic assigned to the first core is received, such as a third packet, the flow distributor distributes this packet to the first core.Type: GrantFiled: April 23, 2010Date of Patent: August 6, 2013Assignee: Citrix Systems, IncInventors: Rajiv Mirani, Rajiv Sinha, Abhishek Chauhan, Anil Shetty
-
Patent number: 8493858Abstract: 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: GrantFiled: August 22, 2006Date of Patent: July 23, 2013Assignee: Citrix Systems, IncInventors: Sandeep Kamath, Josephine Suganthi, Sergey Verzunov, Anil Shetty
-
Patent number: 8458331Abstract: Described are methods and systems for managing the connections between a client, an intermediary appliance and a server, so that asynchronous messages can be transmitted over HTTP from the server to a client. When a connection is established between a client and an intermediary, and the intermediary and a server to establish a logical client-server connection, that logical client-server connection is labeled and not maintained, while the connection between the client and the intermediary is maintained. Messages generated by the server and destined for the client are transmitted to the intermediary along with the connection label. The intermediary can then use the connection label to determine which client should receive the message.Type: GrantFiled: October 8, 2009Date of Patent: June 4, 2013Assignee: Citrix Systems, Inc.Inventors: Abhishek Chauhan, Ravi Kondamuru, Josephine Suganthi, Murali Raja, Anil Shetty
-
Publication number: 20130022051Abstract: The present application is directed towards systems and methods for handling a multi-connection protocol communication between a client and a server traversing a multi-core system. The multi-connection protocol comprises a first connection and a second connection, which may be used respectively for control communications and data communications. Because different cores in the multi-core system may handle the first connection and second connection, the present invention provides systems and methods for efficiently coordinating protocol management between a plurality of cores.Type: ApplicationFiled: September 28, 2012Publication date: January 24, 2013Inventors: Josephine Suganthi, Anil Shetty
-
Publication number: 20130007239Abstract: The present solution is directed to providing, transparently and seamlessly to any client or server, layer 2 redirection of client requests to any services of a device deployed in parallel to an intermediary device An intermediary device deployed between the client and the server may intercept a client request and check if the request is to be processed by a service provided by one of the devices deployed in parallel with the intermediary device. The service may be any type and form of service or feature for processing, checking or modifying the request, including a firewall, a cache server, a encryption/decryption engine, a security device, an authentication device, an authorization device or any other type and form of service or device described herein. The intermediary device may select the machine to process the request and use layer 2 redirection to the machine.Type: ApplicationFiled: June 30, 2011Publication date: January 3, 2013Inventors: Mugdha Agarwal, Josephine Suganthi, Saravana Annamalaisami, Jyotheesh Rao Kurma, Deepak Goel, Anil Shetty
-
Patent number: 8289975Abstract: The present application is directed towards systems and methods for handling a multi-connection protocol communication between a client and a server traversing a multi-core system. The multi-connection protocol comprises a first connection and a second connection, which may be used respectively for control communications and data communications. Because different cores in the multi-core system may handle the first connection and second connection, the present invention provides systems and methods for efficiently coordinating protocol management between a plurality of cores.Type: GrantFiled: June 22, 2009Date of Patent: October 16, 2012Assignee: Citrix Systems, Inc.Inventors: Josephine Suganthi, Anil Shetty
-
Publication number: 20120226804Abstract: The present invention is directed towards systems and methods for aggregating and providing statistics from cores of a multi-core system intermediary between one or more clients and servers. The system may maintain in shared memory a global device number for each core of the multi-core system. The system may provide a thread for each core of the multi-core system to gather data from the corresponding core. A first thread may generate aggregated statistics from a corresponding core by parsing the gathered data from the corresponding core. The first thread may transfer the generated statistics to a statistics log according to a schedule. The system may adaptively reschedule the transfer by monitoring the operation of each computing thread. Responsive to a request from a client, an agent of the client may obtain statistics from the statistics log.Type: ApplicationFiled: December 27, 2011Publication date: September 6, 2012Inventors: Murali Raja, Sridhar Srinivasan, Saravana Annamalaisami, Devesh Prakash, Josephine Suganthi, Anil Shetty
-
Patent number: 8244883Abstract: 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: GrantFiled: August 3, 2006Date of Patent: August 14, 2012Assignee: Citrix Systems, Inc.Inventors: Sergey Verzunov, Junxiao He, Shashi Nanjundaswamy, Charu Venkatraman, Bharath Bhushan, Saravana Annamalaisami, Anil Shetty
-
Publication number: 20120203825Abstract: The present disclosure describes systems and methods for load balancing multiple application delivery controllers (ADCs) in multiple tiers. An upper layer of the tier comprises ADCs that load balance the plurality of ADCs of a lower layer of the tier. In order to appropriately share and maintain client IPs for transparent cache redirection scenarios, the transport layer (Transport Control Protocol (TCP)) port range is split among the ADCs of the lower tier. The lower tier ADCs would then create a connection only using a source port assigned to them. The response from the origin will then be sent to the upper level ADC which looks at the destination port and forward the packet to the correct lower tier ADC. Hence, the ADCs at two levels will work in conjunction to provide transparent cache direction.Type: ApplicationFiled: February 8, 2012Publication date: August 9, 2012Inventors: Akshat Choudhary, Anil Kumar Gavini, Anil Shetty
-
Patent number: 8230055Abstract: In a method and appliance for determining responsiveness of a service via a particular protocol, a device intermediary to a plurality of clients and a plurality of services determines response times from each of a plurality of services to respond to requests via a first type of protocol of a plurality of protocols. The device calculates an average response time for the first type of protocol from each of the response times of the plurality of services. The device establishes a predetermined threshold for which a response time of a service for the first type of protocol may deviate from the average response time. The device identifies a service as available responsive to determining that a deviation of the response time of the service from the average response falls within the predetermined threshold.Type: GrantFiled: April 2, 2010Date of Patent: July 24, 2012Assignee: Citrix Systems, Inc.Inventors: Ravi Kondamuru, Josephine Suganthi, Murali Raja, Sandeep Kamath, Sergey Verzunov, Anil Shetty
-
Publication number: 20120072588Abstract: 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: ApplicationFiled: November 22, 2011Publication date: March 22, 2012Inventors: Sandeep Kamath, Josephine Suganthi, Sergey Verzunov, Murali Raja, Anil Shetty
-
Patent number: 8141164Abstract: 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: GrantFiled: August 21, 2006Date of Patent: March 20, 2012Assignee: Citrix Systems, Inc.Inventors: Sandeep Kamath, Murali Raja, Josephine Suganthi, Anil Shetty, Sergey Verzunov
-
Patent number: 8116207Abstract: 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: GrantFiled: August 21, 2006Date of Patent: February 14, 2012Assignee: Citrix Systems, Inc.Inventors: Arcady Schekochikhin, Sandeep Kamath, Anil Shetty, Sergey Verzunov
-
Patent number: 8077622Abstract: 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: GrantFiled: August 3, 2007Date of Patent: December 13, 2011Assignee: Citrix Systems, Inc.Inventors: Ravi Kondamuru, Henk Bots, Josephine Suganthi, Anil Shetty