Extensible, asynchronous, centralized analysis and optimization of server responses to client requests
First Claim
1. A computer-implemented method for optimizing a messaging system for communicating between at least one server and at least one client, comprising:
- establishing a threshold representing an amount of data collection to generate at least one optimization instruction set;
intercepting a plurality of server-originated responses;
for each of the plurality of intercepted responses;
making a copy of the response; and
performing an analysis of the copy of the response to collect data for optimization by at least parsing the copy of the response to derive a plurality of tokens and classify the response-derived tokens into a plurality of predefined token categories;
responsive to the analysis and when having collected data to reach the established threshold,generating at least one optimization instruction set, wherein each of the at least one optimization instruction set is based on a predefined token category from a plurality of predefined token categories having a particular token type, wherein each of the at least one optimization instruction set is generated for at least one content element common to responses associated with at least two users;
storing the generated at least one optimization instruction set in a storage device; and
intercepting at least one subsequent response originating at a server; and
applying the at least one generated optimization instruction set, based on a tokenization of the at least one subsequent response, to modify the at least one subsequent intercepted response so as to improve client performance when rendering the response;
wherein interception of any response is performed external to its originating server; and
wherein a timeout condition is established for expiry of at least one stored instruction set, and wherein, responsive to the timeout condition being met for a stored instruction set;
flagging the stored instruction set as expired;
initiating analysis of a plurality of copies of responses to collect data for optimization to replace the expired instruction set by at least parsing the copies of the responses to derive a new plurality of tokens and classifying the new responses derived tokens into a plurality of predefined token categories;
responsive to the analysis having collected data to reach the established threshold, generating a replacement optimization instruction set; and
storing the generated replacement optimization instruction set.
5 Assignments
0 Petitions
Accused Products
Abstract
An optimizer for messaging systems learns the purpose and context of each message and combines that information with knowledge of the specific client that will be rendering the response, such as a specific HTML browser. Any of a number of optimization factors can be applied, singly or in any combination. Messages are analyzed offline until a configurable threshold is reached, indicating that enough data has been sampled to develop a valid instruction set, to be applied to the responses that a server generates for a particular request. Responses are parsed into tokens and instructions for each type of token are compiled into instruction sets that are stored. These instructions sets continue to be iteratively improved as more data is collected, until the configurable sampling threshold is reached.
71 Citations
47 Claims
-
1. A computer-implemented method for optimizing a messaging system for communicating between at least one server and at least one client, comprising:
-
establishing a threshold representing an amount of data collection to generate at least one optimization instruction set; intercepting a plurality of server-originated responses; for each of the plurality of intercepted responses; making a copy of the response; and performing an analysis of the copy of the response to collect data for optimization by at least parsing the copy of the response to derive a plurality of tokens and classify the response-derived tokens into a plurality of predefined token categories; responsive to the analysis and when having collected data to reach the established threshold, generating at least one optimization instruction set, wherein each of the at least one optimization instruction set is based on a predefined token category from a plurality of predefined token categories having a particular token type, wherein each of the at least one optimization instruction set is generated for at least one content element common to responses associated with at least two users; storing the generated at least one optimization instruction set in a storage device; and intercepting at least one subsequent response originating at a server; and applying the at least one generated optimization instruction set, based on a tokenization of the at least one subsequent response, to modify the at least one subsequent intercepted response so as to improve client performance when rendering the response; wherein interception of any response is performed external to its originating server; and wherein a timeout condition is established for expiry of at least one stored instruction set, and wherein, responsive to the timeout condition being met for a stored instruction set; flagging the stored instruction set as expired; initiating analysis of a plurality of copies of responses to collect data for optimization to replace the expired instruction set by at least parsing the copies of the responses to derive a new plurality of tokens and classifying the new responses derived tokens into a plurality of predefined token categories; responsive to the analysis having collected data to reach the established threshold, generating a replacement optimization instruction set; and storing the generated replacement optimization instruction set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 47)
-
-
17. A system for optimizing a messaging system for communicating between at least one server and at least one client, comprising:
-
a computing device, for intercepting a plurality of server-originated responses and for making a copy of each intercepted response; a compiler, for performing analysis of the copies of the intercepted responses to collect data for optimization, wherein the compiler is further configured to parse a copy of the response to derive a plurality of tokens and classify the response-derived tokens into predefined token categories, and responsive to the analysis and when having collected data to reach an established threshold, generate at least one optimization instruction set, wherein each of the at least one optimization instruction set is based on a predefined token category having a particular token type, wherein generating each of the at least one optimization instruction set is generated for at least one content element common to responses associated with at least two users; a storage device, coupled to the compiler, for storing the at least one generated optimization instruction set; and a rewriter, coupled to the storage device, for applying the at least one generated optimization instruction set to modify at least one subsequent response originating at a server and intercepted by the computing device, so as to improve client performance when rendering the response; wherein applying the at least one generated optimization instruction is based on a tokenization of the at least one subsequent response; and wherein interception of any response is performed external to its originating server; and wherein a timeout condition is established for expiry of at least one stored instruction set, and wherein, responsive to the timeout condition being met for a stored instruction set; the compiler flags the stored instruction set as expired; the compiler initiates analysis of a plurality of copies of responses to collect data for optimization to replace the expired instruction set by at least parsing the copies of the responses to derive a new plurality of tokens and classifying the new responses derived tokens into a plurality of predefined token categories; responsive to the analysis having collected data to reach the established threshold, the compiler generates a replacement optimization instruction set; and the storage device stores the generated replacement optimization instruction set. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A computer program product for optimizing a messaging system for communicating between at least one server and at least one client, comprising:
-
a non-transitory computer-readable storage medium; and computer program code, encoded on the medium, for; establishing a threshold representing an amount of data collection to generate at least one optimization instruction set; intercepting a plurality of server-originated responses for each of the plurality of intercepted responses; making a copy of the response; and performing analysis of the copy of the response to collect data for optimization by at least parsing the copy of the response to derive a plurality of tokens and classifying the response-derived tokens into a plurality of predefined token categories; responsive to the analysis and when having collected data to reach the established threshold, generating at least one optimization instruction set, wherein each of the at least one optimization instruction set is based on a predefined token category from a plurality of predefined token categories having a particular token type, wherein each of the at least one optimization instruction set is generated for at least one content element common to responses associated with at least two users; storing the at least one generated optimization instruction set in a storage device; intercepting at least one subsequent response originating at a server; and applying the at least one generated optimization instruction set, based on a tokenization of the at least one subsequent response, to modify the at least one subsequent intercepted response so as to improve client performance when rendering the response wherein interception of any response is performed external to its originating server; and wherein a timeout condition is established for expiry of at least one stored instruction set, and wherein, responsive to the timeout condition being met for a stored instruction set; flagging the stored instruction set as expired; initiating analysis of a plurality of copies of responses to collect data for optimization to replace the expired instruction set by at least parsing the copies of the responses to derive a new plurality of tokens and classifying the new responses derived tokens into a plurality of predefined token categories; responsive to the analysis having collected data to reach the established threshold, generating a replacement optimization instruction set; and storing the generated replacement optimization instruction set. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
Specification