Inferring server state in s stateless communication protocol
First Claim
1. A method for identifying server state objects among packets transmitted between a server and a client device on a network based upon a communication protocol, the method comprising:
- intercepting, by a device intermediary to a client and server, a plurality of data packets transmitted between the server and the client;
computing, by the device, entropy measures for each of a plurality of data objects in the plurality of packets by concatenating the data objects having a same name field, compressing the concatenated data objects, and dividing a total size of the compressed concatenated data objects by a total number of data objects having the same name field;
selecting, by the device, candidate data objects from the plurality of data objects having higher computed entropy measures than a threshold; and
identifying, by the device, at least one of the candidate data objects as a server state object in response to the at least one candidate data object being transmitted bi-directionally between the server and the client.
8 Assignments
0 Petitions
Accused Products
Abstract
Server state objects are identified by an intermediate server among packets transmitted between an application server and a client device on a network based upon a stateless communication protocol, by monitoring and analyzing the packets transmitted between the application server and the client device. The packets are parsed into a plurality of name-value pairs. The entropy of the name-value pairs having a same name field is computed, and candidate data objects that are likely to be server state objects are selected based upon the computed entropy. Candidate data objects that were transmitted bi-directionally between the application sever and the client device are identified as server state objects.
12 Citations
48 Claims
-
1. A method for identifying server state objects among packets transmitted between a server and a client device on a network based upon a communication protocol, the method comprising:
-
intercepting, by a device intermediary to a client and server, a plurality of data packets transmitted between the server and the client; computing, by the device, entropy measures for each of a plurality of data objects in the plurality of packets by concatenating the data objects having a same name field, compressing the concatenated data objects, and dividing a total size of the compressed concatenated data objects by a total number of data objects having the same name field; selecting, by the device, candidate data objects from the plurality of data objects having higher computed entropy measures than a threshold; and identifying, by the device, at least one of the candidate data objects as a server state object in response to the at least one candidate data object being transmitted bi-directionally between the server and the client. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for identifying server state objects among packets transmitted between a server and a client device on a network based upon a communication protocol, the method comprising:
-
intercepting by a device intermediary to a client and a server, a plurality of data packets transmitted between the server and the client; parsing, by the device, the plurality of packets to identify a plurality of name-value pairs; computing, by the device, the entropies for each of the name-value pairs by concatenating value fields of the name-value pairs having a same name field, compressing the concatenated value fields, and dividing a total size of the compressed concatenated value fields by a total number of name-value pairs having the same name field; selecting, by the device, the name-value pairs having computed entropies higher than a threshold as candidates for the server state objects; determining, by the device, whether the candidates were sent bi-directionally between the server and the client device; and determining, by the device, that at least one of the candidates is a server state object in response to determining that the at least one candidate was sent bi-directionally between the server and the client. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for identifying server state objects among packets transmitted between a server and a client device on a network based upon a communication protocol, the system comprising:
-
a device intermediary to a client and a server; a parsing module, executing on the device, which intercepts a plurality of data packets transmitted between the server and the client, and parses the plurality of packets to identify a plurality of data objects; and an analysis module, executing on the device, coupled to the parsing module which computes entropy measures for each of the data objects by concatenating the data objects having a same name field, compressing the concatenated data objects, and dividing a total size of the compressed concatenated data objects by a total number of data objects having the same name field;
selects candidate data objects from the data objects having higher computed entropy measures than a threshold; and
identifies at least one of the candidate data objects as a server state object in response to the at least one candidate data object being transmitted bi-directionally between the server and the client.- View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A system for identifying server state objects among packets transmitted between a server and a client device on a network based upon a communication protocol, the system comprising:
-
a device intermediary to a client and a server; a parsing module, executing on the device, which intercepts a plurality of data packets transmitted between the server and the client, and parses the plurality of packets to identify a plurality of name-value pairs; and an analysis module, executing on the device, coupled to the parsing module which computes the entropies for each of the name-value pairs having a same name by concatenating value fields of the name-value pairs having a same name field, compressing the concatenated value fields, and dividing a total size of the compressed concatenated value fields by a total number of name-value pairs having the same name field;
selects the name-value pairs having computed entropies higher than a threshold as candidates for the server state objects;
determines whether the candidates were sent bi-directionally between the server and the client device; anddetermines that at least one of the candidates is a server state object in response to determining that the at least one candidate was sent bi-directionally between the server and the client. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer program product stored on a computer storage device and adapted to perform a method for identifying server state objects among packets transmitted between a server and a client device on a network based upon a communication protocol, the method comprising:
-
intercepting, by a device intermediary to a client and a server, a plurality of data packets transmitted between the server and the client; computing, by the device, entropy measures for each of a plurality of data objects in the plurality of packets by concatenating the data objects having a same name field, compressing the concatenated data objects, and dividing a total size of the compressed concatenated data objects by a total number of data objects having the same name field; selecting, by the device, candidate data objects from the plurality of data objects having higher computed entropy measures than a threshold; and identifying, by the device, at least one of the candidate data objects as a server state object in response to the at least one candidate data object being transmitted bi-directionally between the server and the client. - View Dependent Claims (38, 39, 40, 41)
-
-
42. A computer program product stored on a computer storage device and adapted to perform a method for identifying server state objects among packets transmitted between a server and a client device on a network based upon a communication protocol, the method comprising:
-
intercepting, by a device intermediary to a client and a server, a plurality of data packets transmitted between the server and the client; parsing, by the device, the plurality of packets to identify a plurality of name-value pairs; computing, by the device, the entropies for each of the name-value pairs by concatenating value fields of the name-value pairs having a same name field, compressing the concatenated value fields, and dividing a total size of the compressed concatenated value fields by a total number of name-value pairs having the same name field; selecting, by the device, the name-value pairs having computed entropies higher than a threshold as candidates for the server state objects; determining, by the device, whether the candidates were sent bi-directionally between the server and the client device; and determining, by the device, that at least one of the candidates is the server state object in response to determining that the at least one candidate was sent bi-directionally between the server and the client. - View Dependent Claims (43, 44, 45, 46)
-
-
47. A system for identifying server state objects among packets transmitted between a server and a client device on a network based upon a communication protocol, the system comprising:
-
a device intermediary to a client and a server; parsing means, executing on the device, for intercepting a plurality of data packets transmitted between the server and the client and parsing the packets transmitted to identify a plurality of data objects; and analysis means, executing on the device, coupled to the parsing means for receiving the data objects and determining whether the name-value pairs are server state objects by;
computing entropy measures for each of the data objects by concatenating the data objects having a same name field, compressing the concatenated data objects, and dividing a total size of the compressed concatenated data objects by a total number of data objects having the same name field;
selecting candidate data objects from the data objects having higher computed entropy measures than a threshold; and
identifying at least one of the candidate data objects as a server state object in response to the at least one candidate data object being transmitted bi-directionally between the server and the client.
-
-
48. A system for identifying server state objects among packets transmitted between a server and a client device on a network based upon a communication protocol, the system comprising:
-
parsing means, executing on a device intermediary to a client and a server, for intercepting a plurality of data packets transmitted between the server and the client and parsing the packets transmitted to identify a plurality of name-value pairs; and analysis means, executing on the device, coupled to the parsing means for receiving the name-value pairs and determining whether the name-value pairs are server state objects by; computing the entropies for each of the name-value pairs by concatenating value fields of the name-value pairs having a same name field, compressing the concatenated value fields, and dividing a total size of the compressed concatenated value fields by a total number of name-value pairs having the same name field;
selecting the name-value pairs having computed entropies higher than a predetermined threshold as candidates for the server state objects;determining whether the candidates were sent bi-directionally between the server and the client device; and determining that at least one of the candidates is a server state object in response to determining that the at least one candidate was sent bi-directionally between the server and the client.
-
Specification