Claims
- 1. A method for creating a web garden within a web server, the method comprising:
determining at least a maximum web garden size; causing a user-mode administrative process to selectively start a plurality of instances of a user-mode web application, a number of said plurality of instances being no greater than said maximum web garden size; and causing a kernel-mode listener service to establish a plurality of request queues corresponding to said number of said plurality of instances.
- 2. The method as recited in claim 1, further comprising:
causing said administrative process to start instances of said web application when requested to do so by said listener service; and causing said listener service to request an additional instance of said web application based on demand for said web application.
- 3. The method as recited in claim 2, wherein said demand is based on receipt of an additional web request.
- 4. The method as recited in claim 2, wherein causing said listener service to request said additional instance of said web application further includes causing said listener service to always request said additional instance of said web application based on demand for said web application as long as said number of said plurality of instances is no greater than said maximum web garden size.
- 5. The method as recited in claim 4, further comprising:
causing said listener service to request said additional instance of said web application using a ticket scheme, said ticket being earlier issued by said administrative process and redeemable for a demand start of said additional instance of said web application.
- 6. The method as recited in claim 1, further comprising:
causing said listener service to selectively associate a subsequently established connection with a specific one of said plurality of request queues based on a distribution scheme.
- 7. The method as recited in claim 6, wherein said distribution scheme includes a round-robin distribution scheme.
- 8. The method as recited in claim 1, further comprising:
establishing a metabase defining at least said maximum web garden size.
- 9. The method as recited in claim 1, further comprising:
recycling at least one of said plurality of instances of said user-mode web application.
- 10. The method as recited in claim 9, wherein recycling said at least one of said plurality of instances of said user-mode web application, further includes staggering recycling of each of said plurality of instances of said user-mode web application.
- 11. A computer-readable medium having computer implementable instructions for configuring at least one processing unit to performing acts comprising:
creating a web garden within a web server by:
defining at least a maximum web garden size; establishing a user-mode administrative process configured to selectively start a plurality of instances of a user-mode web application, a number of said plurality of instances being no greater than said maximum web garden size; and configuring a kernel-mode listener service to establish a plurality of request queues corresponding to said number of said plurality of instances.
- 12. The computer-readable medium as recited in claim 11, having further computer implementable instructions for configuring at least one processing unit to performing acts comprising:
causing said administrative process to start instances of said web application when requested to do so by said listener service; and configuring said listener service to request an additional instance of said web application based on demand for said web application.
- 13. The computer-readable medium as recited in claim 12, wherein said demand is based on receipt of an additional web request.
- 14. The computer-readable medium as recited in claim 12, having further computer implementable instructions for configuring at least one processing unit to performing acts comprising:
configuring said listener service to always request said additional instance of said web application based on demand for said web application as long as said number of said plurality of instances is no greater than said maximum web garden size.
- 15. The computer-readable medium as recited in claim 14, having further computer implementable instructions for configuring at least one processing unit to performing acts comprising:
configuring said listener service to request said additional instance of said web application using a ticket scheme, said ticket being earlier issued by said administrative process and redeemable for a demand start of said additional instance of said web application.
- 16. The computer-readable medium as recited in claim 11, having further computer implementable instructions for configuring at least one processing unit to performing acts comprising:
configuring said listener service to selectively associate a subsequently established connection with a specific one of said plurality of request queues based on a distribution scheme.
- 17. The computer-readable medium as recited in claim 16, wherein said distribution scheme includes a round-robin distribution scheme.
- 18. The computer-readable medium as recited in claim 11, having further computer implementable instructions for configuring at least one processing unit to performing acts comprising:
establishing a metabase defining at least said maximum web garden size.
- 19. The computer-readable medium as recited in claim 11, having further computer implementable instructions for configuring at least one processing unit to performing acts comprising:
recycling at least one of said plurality of instances of said user-mode web application.
- 20. The method as recited in claim 19, wherein recycling said at least one of said plurality of instances of said user-mode web application, further includes staggering recycling of each of said plurality of instances of said user-mode web application.
- 21. A web server system comprising:
a web garden comprising a plurality of instances of a user-mode web application logic; a kernel-mode listener service logic operatively coupled to said plurality of instances of a user-mode web application logic and configured to receive web requests and selectively provide said web requests to selected ones of said plurality of instances of a user-mode web application logic by establishing a plurality of request queues corresponding to said number of said plurality of instances of said web application logic; and user-mode administrative process logic operatively coupled to said plurality of instances of a user-mode web application logic and said listener service logic and configured to selectively start each of said plurality of instances of a web application logic, and wherein a number of said plurality of instances of said web application logic in said web garden is not greater than a defined maximum web garden size.
- 22. The web server system as recited in claim 21, wherein said administrative process logic is configured to start instances of said web application logic when requested to do so by said listener service logic, and wherein said listener service logic is configured to request an additional instance of said web application logic based on demand for said web application.
- 23. The web server system as recited in claim 22, wherein said demand is based on receipt of an additional web request.
- 24. The web server system as recited in claim 22, wherein said listener service logic is configured to always request said additional instance of said web application logic based on demand for said web application logic as long as said number of said plurality of instances is no greater than said maximum web garden size.
- 25. The web server system as recited in claim 24, wherein said listener service logic is configured to request said additional instance of said web application logic using a ticket scheme wherein a ticket being earlier issued by said administrative process logic is redeemable for a demand start of said additional instance of said web application logic.
- 26. The web server system as recited in claim 21, wherein said listener service logic is configured to selectively associate a subsequently established connection with a specific one of said plurality of request queues based on a distribution scheme.
- 27. The web server system as recited in claim 26, wherein said distribution scheme includes a round-robin distribution scheme.
- 28. The web server system as recited in claim 21, wherein said administrative process logic is further configured to recycle at least one of said plurality of instances of said user-mode web application.
- 29. The web server system as recited in claim 28, wherein said administrative process logic is further configured to stagger said recycling of each of said plurality of instances of said user-mode web application.
RELATED PATENT APPLICATIONS
[0001] This U.S. Patent Application is a Continuation-in-Part (CIP) application and claims the benefit of priority of co-pending U.S. patent application Ser. No. 09/878,950, filed Jun. 11, 2001.
[0002] This U.S. Patent Application further claims the benefit of priority from, and hereby incorporates by reference the entire disclosure of, U.S. Provisional Application for Letters Patent Serial No. 60/361,520, filed Mar. 4, 2002.
[0003] This U.S. Patent Application is related to co-pending U.S. Application for Letters Patent Ser. No. __/____ (Attorney Docket No. MS1-1151US), filed ______, and titled “An Improved Web Server Architecture”.
[0004] This U.S. Patent Application is related to co-pending U.S. Application for Letters Patent Serial No. __/____ (Attorney Docket No. MS1-1210US), filed ______, and titled “Ensuring the Health and Availability of Web Applications”.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60361520 |
Mar 2002 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09878950 |
Jun 2001 |
US |
Child |
10377176 |
Feb 2003 |
US |