Protocol-configurable transaction processing
First Claim
1. A network device, comprising:
- a memory device that stores an interpreter; and
a processor configured to execute the interpreter and perform actions, including;
receiving a configuration rule change adapted to a protocol that is foreign to the network device where the protocol is not natively supported by the network device without the configuration rule change to the network device;
employing the configuration rule change to detect a boundary of a transaction in received traffic;
inspecting one or more portions of the received traffic to determine a header length of the transaction, wherein the header length is employed to determine a header of the transaction;
determining a record type and a record length that correspond to the transaction based on contents of the header;
managing a connection splitting using the record type, the record length, and the detected boundary of the transaction to allocate two or more requests within the received traffic on a same input connection to two or more different backend servers having different backend server connections, wherein a destination backend server is chosen from among the two or more different backend servers based on at least the configuration rule change and at least one criteria for load-balancing the destination backend server; and
reusing at least one connection to the two or more backend servers for a second client application when responses by the two or more backend servers to a first client application are complete.
1 Assignment
0 Petitions
Accused Products
Abstract
A traffic management device or other intermediate network device is configured to enable the device to support connection splitting and/or connection aggregation or to otherwise process network transactions for an arbitrary transaction-oriented protocol. The configuration may be accomplished by providing one or more traffic management rules defined by way of a scripting language and provided to an interpreter. The traffic management rule may follow a basic approach common to many protocols and is adapted to the particular protocol being supported. The rule may configure the network device to inspect incoming data, extract length and record type specifiers, buffer an appropriate amount of data to determine transactions or transaction boundaries, and perform other operations. Transaction processing may be enabled for various kinds of protocols, including application-level, proprietary, quasi-proprietary, and special-purpose protocols, protocols for which limited information is available, and protocols not natively supported by the network device.
-
Citations
20 Claims
-
1. A network device, comprising:
-
a memory device that stores an interpreter; and a processor configured to execute the interpreter and perform actions, including; receiving a configuration rule change adapted to a protocol that is foreign to the network device where the protocol is not natively supported by the network device without the configuration rule change to the network device; employing the configuration rule change to detect a boundary of a transaction in received traffic; inspecting one or more portions of the received traffic to determine a header length of the transaction, wherein the header length is employed to determine a header of the transaction; determining a record type and a record length that correspond to the transaction based on contents of the header; managing a connection splitting using the record type, the record length, and the detected boundary of the transaction to allocate two or more requests within the received traffic on a same input connection to two or more different backend servers having different backend server connections, wherein a destination backend server is chosen from among the two or more different backend servers based on at least the configuration rule change and at least one criteria for load-balancing the destination backend server; and reusing at least one connection to the two or more backend servers for a second client application when responses by the two or more backend servers to a first client application are complete. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus comprising a non-transitory computer readable medium, having computer-executable instructions stored thereon, that in response to execution by a network device, cause the network device to perform operations, comprising:
-
receiving a configuration rule change adapted to a protocol that is foreign to the network device where the protocol is not natively supported by the network device without the configuration rule change to the network device; employing the configuration rule change to detect a boundary of a transaction in received traffic; inspecting one or more portions of the received traffic to determine a header length of the transaction, wherein the header length is employed to determine a header of the transaction; determining a record type and a record length that correspond to the transaction based on contents of the header; managing a connection splitting using the record type, the record length, and the detected boundary of the transaction to allocate two or more requests within the received traffic on a same input connection to two or more different backend servers having different backend server connections, wherein a destination backend server is chosen from among the two or more different backend servers based on at least the configuration rule change and at least one criteria for load-balancing the destination backend server; and reusing at least one connection to the two or more backend servers for a second client application when responses by the two or more backend servers to a first client application are complete. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
a plurality of backend server devices having processors and arranged to receive requests and provide responses; and a network device having one or more processors that perform actions, including; receiving a configuration rule change adapted to a protocol that is foreign to the network device where the protocol is not natively supported by the network device without the configuration rule change to the network device; employing the configuration rule change to detect a boundary of a transaction in received traffic; inspecting one or more portions of the received traffic to determine a header length of the transaction, wherein the header length is employed to determine a header of the transaction; determining a record type and a record length that correspond to the transaction based on contents of the header; managing a connection splitting using the record type, the record length, and the detected boundary of the transaction to allocate two or more requests within the received traffic on a same input connection to two or more different backend server devices in the plurality of server devices having different backend server connections, wherein a destination backend server is chosen from among the two or more different backend servers based on at least the configuration rule change and at least one criteria for load-balancing the destination backend server; and reusing at least one connection to the two or more backend servers for a second client application when responses by the two or more backend servers to a first client application are complete. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification