Abstract:
Improving load distribution and consistency is provided. A device intermediary to clients and servers can maintain bit values indicative of server availability stored in indices arranged in various levels. A lowest level comprises indices corresponding to a list of servers repeated multiple times. Each index in a higher level maps to a set of indices in a lower level. The device can receive a request from a client to access a server. The device can identify an index in a highest level. The device can determine a second index in the highest level that is after the index in the highest level and has a bit value indicating server availability. The device can identify an index in the lowest level mapping to the second index in the highest level. The device can select a server corresponding to the index in the lowest level.
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:
The present invention is related to a method for load balancing and connection multiplexing structured query language (SQL) queries among a plurality of database servers. A device intermediary to a plurality of clients and a plurality of database servers receives an SQL query to access a database provided by the plurality of database servers from a client via a first connection established between the device and the client. The device identifies for the SQL query a policy for selecting among the plurality of servers. The policy includes an expression to identify predetermined data from content of the SQL query. The device may select a server from the plurality of servers based on applying the expression of the policy to content of the SQL query and forward the SQL query to the selected server via a second connection established between the device and the selected server.
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.
Abstract:
The present disclosure is directed towards systems and methods for lightweight identification of flow information by application. A flow monitor executed by a processor of a device may maintain a counter. The flow monitor may associate an application with the value of the counter and transmit, to a data collector executed by a second device, the counter value and a name of the application. The flow monitor may monitor a data flow associated with the application to generate a data record. The flow monitor may transmit the data record to the data collector, the data record including an identification of the application consisting of the counter value and not including the name of the application. The data collector may then re-associate the data record with the application name based on the previously received counter value.
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 towards systems and methods for compressing messages, such as Short Message Service (SMS) or text messages between fixed or mobile devices through communications networks. The data of, for example, SMS messages is compressed and forwarded through a communication network to an appliance having a processing unit. The appliance decompresses the message and controls its delivery through network communication devices, where the decompressed SMS message is forwarded to its destination.
Abstract:
Disclosed herein includes a system, a method, and a device for disabling services in a cluster. A master node of a plurality of nodes of a cluster can receive a disable instruction for a service of the cluster. The master node can transmit to the plurality of nodes a transition instruction to instruct the other nodes to stop accepting requests from one or more client devices for the service. The master node can receive, from each of the plurality of nodes, a client count value indicative of a number of current client connections from the one or more client devices to one or more respective nodes of the plurality of nodes. The master node can determine that the client count value is a zero value for each node of the plurality of nodes. The master node can transmit an out of service instruction to each node of the plurality of nodes to disable the service on the cluster.
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.