9906620

Extensible, Asynchronous, Centralized Analysis And Optimization Of Server Responses To Client Requests

PublishedFebruary 27, 2018
Assigneenot available in USPTO data we have
InventorsKent Alstad
Technical Abstract

Patent Claims
47 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

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.

2

2. The method of claim 1 , wherein the analysis of the copy of the response is performed concurrently with generating and transmitting responses.

3

3. The method of claim 1 , wherein generating the at least one optimization instruction set comprises: identifying a plurality of resources to be consolidated; and generating instructions for consolidating the identified plurality of resources; and wherein the optimization instruction set comprises instructions for replacing the plurality of resources with the consolidated resources.

4

4. The method of claim 3 , wherein identifying a plurality of resources to be consolidated comprises at least one selected from the group consisting of: identifying a plurality of cascading style sheet resources to be consolidated; identifying a plurality of images to be consolidated; and identifying a plurality of JavaScript resources to be consolidated.

5

5. The method of claim 1 , wherein applying the at least one generated optimization instruction set comprises at least one selected from the group consisting of: consolidating a plurality of cascading style sheets; consolidating a plurality of images; and consolidating a plurality of JavaScript resources.

6

6. The method of claim 1 , wherein applying the at least one generated optimization instruction set comprises rewriting resource references to use a URI stem that increases the number of concurrent connections.

7

7. The method of claim 1 , wherein applying the at least one generated optimization instruction set comprises aliasing references.

8

8. The method of claim 1 , wherein applying the at least one generated optimization instruction set comprises: predicting resource usage; and preloading at least one resource based on the prediction.

9

9. The method of claim 1 , wherein applying the at least one generated optimization instruction set comprises: identifying static links within the subsequent response; and transmitting the identified static links to the client prior to rendering of other portions of the subsequent response.

10

10. The method of claim 1 , wherein applying the at least one generated optimization instruction set comprises: identifying JavaScript code within the subsequent response; and deferring at least one of loading and execution of the identified JavaScript code.

11

11. The method of claim 1 , wherein each response comprises a server response to a request.

12

12. The method of claim 1 , wherein each response comprises a response to an HTTP request.

13

13. The method of claim 1 , wherein performing the analysis of the copy of the response and generating the at least one optimization instruction set are performed at an appliance located in a data path between the server and the client.

14

14. The method of claim 1 , wherein: performing the analysis of the copy of the response comprises generating the at least one optimization instruction set comprises compiling instructions for at least one token type.

15

15. The method of claim 1 , wherein performing the analysis of the copy of the response comprises determining at least one portion of the copy of the response that is suitable for optimization.

16

16. The method of claim 1 , further comprising: performing additional analysis of a plurality of copies of responses to collect additional data for optimization; and modifying at least one previously stored optimization instruction set based on the additional analysis.

17

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.

18

18. The system of claim 17 , wherein the compiler generates the at least one optimization instruction set by: identifying a plurality of resources to be consolidated; and generating instructions for consolidating the identified plurality of resources; and wherein the at least one optimization instruction set comprises instructions for replacing the plurality of resources with the consolidated resources.

19

19. The system of claim 18 , wherein the compiler identifies a plurality of resources to be consolidated by performing at least one selected from the group consisting of: identifying a plurality of cascading style sheet resources to be consolidated; identifying a plurality of images to be consolidated; and identifying a plurality of JavaScript resources to be consolidated.

20

20. The system of claim 17 , wherein the rewriter applies the at least one generated optimization instruction set by performing at least one selected from the group consisting of: consolidating a plurality of cascading style sheets; consolidating a plurality of images; and consolidating a plurality of JavaScript resources.

21

21. The system of claim 17 , wherein the rewriter applies the at least one generated optimization instruction set by rewriting resource references to use a URI stem that increases the number of concurrent connections.

22

22. The system of claim 17 , wherein the rewriter applies the at least one generated optimization instruction set by aliasing references.

23

23. The system of claim 17 , wherein the rewriter applies the at least one generated optimization instruction set by: predicting resource usage; and preloading at least one resource based on the prediction.

24

24. The system of claim 17 , wherein the rewriter applies the at least one generated optimization instruction set by: identifying static links within the subsequent response; and transmitting identified static links to the client prior to rendering of other portions of the subsequent response.

25

25. The system of claim 17 , wherein the rewriter applies the at least one generated optimization instruction set by: identifying JavaScript code within the subsequent response; and deferring at least one of loading and execution of identified JavaScript code.

26

26. The system of claim 17 , wherein each response comprises a server response to a request.

27

27. The system of claim 17 , wherein each response comprises a response to an HTTP request.

28

28. The system of claim 17 , wherein the compiler is a component of an appliance located in a data path between the server and the client.

29

29. The system of claim 17 , wherein: the compiler performs analysis by parsing the copies of the responses to derive a plurality of response-derived tokens and classifying the response-derived tokens according to type; and the compiler generates the at least one optimization instruction set by compiling instructions for at least one associated token type.

30

30. The system of claim 17 , wherein the compiler performs analysis by, for at least one response, determining at least one portion of the copy of the response that is suitable for optimization.

31

31. The system of claim 17 , wherein the compiler: performs additional analysis of a plurality of copies of responses to collect additional data for optimization; and modifies at least one previously stored the at least one optimization instruction set based on the additional analysis.

32

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.

33

33. The computer program product of claim 32 , wherein the computer program code causes the analysis of the copy of the response to be performed concurrently with generating and transmitting responses.

34

34. The computer program product of claim 32 , wherein the computer program code for generating the at least one optimization instruction set comprises computer program code for: identifying a plurality of resources to be consolidated; and generating instructions for consolidating the identified plurality of resources; and wherein the at least one optimization instruction set comprises instructions for replacing the plurality of resources with the consolidated resources.

35

35. The computer program product of claim 34 , wherein the computer program code for identifying a plurality of resources to be consolidated comprises computer program code for performing at least one selected from the group consisting of: identifying a plurality of cascading style sheet resources to be consolidated; identifying a plurality of images to be consolidated; and identifying a plurality of JavaScript resources to be consolidated.

36

36. The computer program product of claim 32 , wherein the computer program code for applying the generated at least one optimization instruction set comprises computer program code for performing at least one selecting from the group consisting of: consolidating a plurality of cascading style sheets; consolidating a plurality of images; and consolidating a plurality of JavaScript resources.

37

37. The computer program product of claim 32 , wherein the computer program code for applying the generated at least one optimization instruction set comprises computer program code for rewriting resource references to use a URI stem that increases the number of concurrent connections.

38

38. The computer program product of claim 32 , wherein the computer program code for applying the generated at least one optimization instruction set comprises computer program code for aliasing references.

39

39. The computer program product of claim 32 , wherein the computer program code for applying the generated at least one optimization instruction set comprises computer program code for: predicting resource usage; and preloading at least one resource based on the prediction.

40

40. The computer program product of claim 32 , wherein the computer program code for applying the generated at least one optimization instruction set comprises computer program code for: identifying static links within the subsequent response; and transmitting the identified static links to the client prior to rendering of other portions of the subsequent response.

41

41. The computer program product of claim 32 , wherein the computer program code for applying the generated at least one optimization instruction set comprises computer program code for: identifying JavaScript code within the subsequent response; and deferring at least one of loading and execution of identified JavaScript code.

42

42. The computer program product of claim 32 , wherein each response comprises a server response to a request.

43

43. The computer program product of claim 32 , wherein each response comprises a response to an HTTP request.

44

44. The computer program product of claim 32 , wherein: the computer program code for performing the analysis of the copy of the response comprises: computer program code for parsing the copy of the response to derive the plurality of tokens and classifying the response-derived tokens into a plurality of predefined token categories; and the computer program code for generating an optimization instruction set comprises: computer program code for compiling instructions for at least one token type.

45

45. The computer program product of claim 32 , wherein the computer program code for performing the analysis of the copy of the response comprises computer program code for determining at least one portion of the copy of the response that is suitable for optimization.

46

46. The computer program product of claim 32 , further comprising computer program code for: performing additional analysis of a plurality of copies of responses to collect additional data for optimization; and modifying at least one previously stored optimization instruction set based on the additional analysis.

47

47. The method of claim 1 , wherein each predefined token category from a plurality of predefined token categories having a particular token type is based on a content-type of an intercepted response.

Patent Metadata

Filing Date

Unknown

Publication Date

February 27, 2018

Inventors

Kent Alstad

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Extensible, Asynchronous, Centralized Analysis And Optimization Of Server Responses To Client Requests” (9906620). https://patentable.app/patents/9906620

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.