Abstract:
Methods and systems for performing application deployments in a computing environment are presented herein. One or more components of the computing environment may perform a canary deployment of an updated version of an application. As the canary deployment is performed, one or more determinations as to whether to continue, stop, or complete the canary deployment may be performed. These determinations may be based on one or more metrics determined by an application delivery controller of the computing environment. The application delivery controller may be configured to divert or forward traffic to application resources that execute the updated version. Additionally, the canary deployment may be performed in an automated fashion.
Abstract:
The present invention is related to a method for routing requests among a plurality of database servers. A device intermediary to a client and a plurality of database servers receives a request to access a database provided by the plurality of database servers. The plurality of database servers can include a first database server configured to process write requests and one or more second database servers configured to process read requests. The device determines that the request to access the database is a read request. The device identifies, responsive to determining that the request is a read request, one of the one or more second database servers to send the request instead of the first database server. The device then transmits the request to the identified second database server.
Abstract:
The present application is directed towards systems and methods for application specific load-balancing for web servers. A device intermediary to a plurality of clients and a plurality of services executing on a plurality of servers, may receive a request from a client for an application. The device may identify an identifier for the application from a table comprising a list of applications and a corresponding identifier assigned to each application. In an embodiment, the device may establish one or more monitors to monitor each service to determine applications available on each service. In an embodiment, the device may determine that one or more services of the plurality of services provides the application and select a service from the one or more services to forward the request. The device may forward the request to the selected service.
Abstract:
Systems and methods of the present disclosure provide for caching, by a device intermediary to a client and a database, a result of a structured query language (SQL) query request. In some embodiments, the device intermediary to a plurality of clients and a database receives a SQL response from the database to a first SQL query request of a client of the plurality of clients. The device may maintain a cache of SQL responses from the database. The device may identify that the first SQL query request matches a rule of a policy for caching SQL responses from the database. The policy may include a cache action to take when the rule is matched. The device may perform, responsive to the policy, on the SQL response the cache action identified by the policy.
Abstract:
The present disclosure is directed to systems and methods for performing load balancing and message routing by a device intermediary to a plurality of short message peer to peer (SMPP) clients and a plurality of SMPP servers. The device can receive a request from an SMPP client to establish an SMPP session, replace a first sequence identifier in the request with a second sequence identifier generated by the device, and store a mapping of the second sequence identifier to the first sequence identifier. The device can select an SMPP server to forward the request with the second sequence identifier and receive a response from the SMPP server with the second sequence identifier. The device can identify, from the mapping, the first sequence identifier and the connection to the SMPP client using the second sequence identifier to forward the SMPP response with the first sequence identifier.
Abstract:
The present application is directed towards systems and methods for application specific load-balancing for web servers. A device intermediary to a plurality of clients and a plurality of services executing on a plurality of servers, may receive a request from a client for an application. The device may identify an identifier for the application from a table comprising a list of applications and a corresponding identifier assigned to each application. In an embodiment, the device may establish one or more monitors to monitor each service to determine applications available on each service. In an embodiment, the device may determine that one or more services of the plurality of services provides the application and select a service from the one or more services to forward the request. The device may forward the request to the selected service.
Abstract:
Methods and systems for providing congestion control to a transport control protocol implementation are described. A device detects that there is a congestion event on a transport control protocol (TCP) connection of the device. The device determines that a bandwidth estimate is lower than half a current value of a slow start threshold for the TCP connection. In response to the determination, the device changes the slow start threshold to half of the current value of the slow start threshold for the TCP connection. The bandwidth estimate can be the product of the eligible rate estimate and the minimum round trip time. In some implementations, the transport control protocol implementation is a TCP Westwood implementation.
Abstract:
The present disclosure is directed towards systems and methods for monitoring application level flow for database applications served by a cluster of servers. An application flow monitor may receive and distribute write requests of a client to at least one master server and read requests of the client to one or more slave servers, based on load balancing or similar policies. The application flow monitor may receive responses from the recipient server and may aggregate the requests and responses into Internet Protocol Flow Information Export (IPFIX) messages that may describe the entire communication flow for the application. Accordingly, application flow statistics may be monitored, regardless of which server was involved in any particular request/response exchange, allowing scalability without impairment of administrative processes.
Abstract:
The present disclosure is directed towards a system and method for providing a SPDY to HTTP gateway via a device intermediary to a plurality of clients and a server. An NPN handshake by the intermediary device may establish SPDY support. The intermediary device may receive and process one or more control frames via SPDY session with the client. The intermediary device may generate and transmit HTTP communication to server corresponding to SPDY control frames. The intermediary device may receive and process one or more HTTP responses from server. The intermediary device may generate and transmit SPDY communication via SPDY session to client corresponding to HTTP response.