Service Level Management System

Abstract
A service level management (SLM) system where the system learns the structure of a web application, monitors the operation of the application, and controls the processing of incoming requests to achieve optimal performance as defined in a service level agreement (SLA). The system is operative for example in enterprise web applications and in enterprise data centers that deploy web applications and optimally is capable of controlling and maintaining a level of service of web applications.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1—is a non-limiting network system utilized for executing web applications (prior art);


FIG. 2—is a diagram of a network system constructed in accordance with an exemplary embodiment of the present invention;


FIG. 3—is a block diagram of the SLM system disclosed in accordance with an embodiment of the present invention;


FIG. 4—is a flowchart describing the operation of the SLM system in accordance with an embodiment of the present invention; and


FIG. 5—is an exemplary diagram of a site tree.


Claims
  • 1. A service level management (SLM) system in a network with a plurality of clients and a plurality of web servers, the SLM system comprising: a traffic processor for processing data traffic sent from the plurality of clients and from the plurality of web servers;an application learner for identifying transactions sent from the plurality of clients;a monitor for monitoring and generating statistics respective of the operation of the web servers and their respective web applications; anda controller for performing corrective actions according to a plurality of predefined policies.
  • 2. The SLM system of claim 1, further comprising a common bus for providing a communication medium between the traffic processor, the application learner, the monitor, and the controller.
  • 3. The SLM system of claim 1, wherein the traffic sent from the clients including at least hypertext transfer protocol (HTTP) requests.
  • 4. The SLM system of claim 3, wherein the traffic sent from the plurality of web servers including at least HTTP replies.
  • 5. The SLM system of claim 5, wherein the application learner further including: discovering transactions executed by the plurality of web servers;classifying incoming requests to discovered web applications;collecting non-classified incoming requests; andgenerating a site tree.
  • 6. The SLM system of claim 5, wherein the site tree includes all identified applications, transactions and modules that belong to a designate web site.
  • 7. The SLM system of claim 5, wherein the collected incoming requests are saved in a first database coupled to the application learner.
  • 8. The SLM system of claim 7, wherein discovering the transactions including: processing requests saved in the first database using at least a plurality of application definers; andsaving information related to the discovered web applications in a classify data structure (CDS).
  • 9. The SLM system of claim 10, wherein the CDS includes a list of identified sites, for each site a list of its web applications, and for each web application a list transactions and modules that construct the web application.
  • 10. The SLM system of claim 3, wherein the CDS is saved in a database, wherein the database is coupled to the application learner.
  • 11. The SLM system of claim 1, wherein the statistics respective of the operation of the web servers are generated for each web application and include at least one of the following measures: throughput, response time, number of errors, hits per second, and latency.
  • 12. The SLM system of claim 11, wherein the generated statistics are saved in a database, wherein the database is coupled to the monitor.
  • 13. The SLM system of claim 1, wherein the monitor is further producing a plurality of reports based on the generated statistics.
  • 14. The SLM system of claim 1, wherein the corrective actions including at least one of: scheduling requests to reduce response time, shaping traffic to balance the load, and recovery actions on web servers.
  • 15. The SLM system of claim 14, wherein each of the plurality of predefined policies defines at least one corrective action to be performed.
  • 16. The SLM system of claim 15, wherein a policy is determined for a web server, a web application, a module and a transaction.
  • 17. The SLM system of claim 15, wherein each policy is assigned with a priority and time periods to be activated.
  • 18. The SLM system of claim 1 is configured to operate in series with data traffic and for controlling and maintaining a level of service of web applications.
  • 19. A method for controlling and maintaining a level of service of web applications, comprising: generating a context for each request sent from a client to a web server and for each reply sent from a web server to a client;determining whether the context belongs to an identified transaction;gathering statistics respective of the identified transaction;determining whether at least one policy predefined for the identified application is violated; andperforming a plurality of corrective actions if at least one policy is determined to be violated.
  • 20. The method of claim 19, further comprising: saving the context in a database if it is determined that the context does not belong to an identified transaction; andlearning new applications using data stored in the database.
  • 21. The method of claim 20, wherein the learning of the new applications is performed using at least one of: an application definer, and a correlation process.
  • 22. The method of claim 21, wherein learning new applications further comprising: discovering transactions and modules that construct each of the web applications; andgenerating a site tree.
  • 23. The method of claim 22, wherein the request is at least a hypertext transfer protocol (HTTP) request.
  • 24. The method of claim 23, wherein generating the context includes parsing the HTTP request.
  • 25. The method of claim 23, wherein determining if the context belongs to an identified transaction, comprising: matching the context against a classify data structure (CDC) and a plurality of application filters.
  • 26. The method of claim 25, wherein the CDC including: a list of identified sites, for each site a list of its web applications, and for each web application a list of transactions and modules that construct the web application.
  • 27. The method of claim 26, wherein the gathered statistics include measures on at least one of: throughput, response time, number of errors, hits per second, and latency.
  • 28. The method of claim 19, wherein the step of gathering statistics further comprising: producing a plurality of reports based on the gather statistics.
  • 29. The method of claim 19, wherein the at least one policy is checked against the gathered statistics.
  • 30. The method of claim 29, wherein the at least one policy defines at least one corrective action to be performed.
  • 31. The method of claim 30, wherein a policy is determined for a web server, a web application, a module, and a transaction.
  • 32. The method of claim 31, wherein the corrective actions include at least one of: scheduling requests to reduce response time, shaping traffic to balance the load, and recovery actions on web servers.
  • 33. The method of claim 19 is configured to operate in the line of traffic.
  • 34. A computer program product including a computer-readable medium comprising software instructions operable to enable a computer to perform a method for controlling and maintaining a level of service of web applications, comprising: generating a context for each request sent from a client to a web server and for each reply sent from a web server to a client;determining whether the context belongs to an identified web application;gathering statistics respective of the identified transaction;determining whether at least one policy predefined for the transaction is violated; andperforming a plurality of corrective actions if at least one policy is determined to be violated.
  • 35. The computer program product of claim 34, further comprising: saving the context in a database if it is determined that the context does not belong to an transaction application;learning new applications using data stored in the database.
  • 36. The computer program product of claim 35, wherein learning of the new applications is performed using at least one of: an application definer, and a correlation process.
  • 37. The computer program product of claim 36, wherein learning new applications further comprising: discovering transactions and modules that construct each of the web applications; andgenerating a site tree.
  • 38. The computer program product of claim 37, wherein the request is at least a hypertext transfer protocol (HTTP) request.
  • 39. The computer program product of claim 38, wherein generating the context includes parsing the HTTP request.
  • 40. The computer program product of claim 38, wherein determining if the context belongs to an identified transaction, comprising: matching the context against a classify data structure (CDC) and a plurality of application filters.
  • 41. The computer program product of claim 40, wherein the CDC including: a list of identified sites, for each site a list of its web applications, and for each web application a list of transactions and modules that construct the web application.
  • 42. The computer program product of claim 41, wherein the gathered statistics include measures on at least one of: throughput, response time, number of errors, hits per second, and latency.
  • 43. The computer program product of claim 34, wherein the step of gathering statistics further comprising: producing a plurality of reports based on the gather statistics.
  • 44. The computer program product of claim 34, wherein the at least one policy is checked against the gathered statistics.
  • 45. The computer program product of claim 44, wherein the at least one policy defines at least one corrective action to be performed.
  • 46. The computer program product of claim 45, wherein a policy is determined for a web server, a web application, a module, and a transaction.
  • 47. The computer program product of claim 46, wherein the corrective actions include at least one of: scheduling requests to reduce response time, shaping traffic to balance the load, and recovery actions on web servers.
  • 48. The computer program product of claim 34 is configured for execution on a controller operating in series with data traffic.
  • 49. A service level management (SLM) system installed in series with data traffic between a plurality of clients and a plurality of web servers, the SLM system comprising: a traffic processor for processing data traffic sent from the plurality of clients and from the plurality of web servers;an application learner for identifying transactions sent from the plurality of clients;a monitor for monitoring and generating statistics respective of the operation of the web servers and their respective web applications; anda controller for performing corrective actions according to a plurality of predefined policies.
Provisional Applications (1)
Number Date Country
60779706 Mar 2006 US