Mechanism for optimizing processing of client requests
First Claim
1. A computer implemented method for processing a request, comprising:
- receiving a request for a particular resource;
determining whether said particular resource has a directive list associated therewith, wherein said directive list comprises references to applicable directives which need to be executed to process requests for said particular resource;
in response to a determination that said particular resource has a directive list associated therewith, accessing said directive list; and
executing all of said applicable directives referenced in said directive list to process said request for said particular resource.
3 Assignments
0 Petitions
Accused Products
Abstract
An improved mechanism for processing client requests is disclosed. The first time a client request for a particular resource is received by a server, it is processed by stepping through a configuration file, and selectively executing directives specified in the configuration file. As the request is processed, a list of executed directives is compiled. This list of directives is stored for future reference. The next time a request for that same resource is received, the configuration file is not consulted. Instead, the stored list of directives is accessed and used to process the request. More specifically, all of the directives on the list are executed to process the request. Processing the subsequent request in this way eliminates much of the overhead associated with request processing. There is no need to open or to step through the configuration file, and there is no need to step through the directives themselves. By removing this overhead for all requests for a resource after the first, request processing efficiency is significantly improved.
38 Citations
24 Claims
-
1. A computer implemented method for processing a request, comprising:
-
receiving a request for a particular resource;
determining whether said particular resource has a directive list associated therewith, wherein said directive list comprises references to applicable directives which need to be executed to process requests for said particular resource;
in response to a determination that said particular resource has a directive list associated therewith, accessing said directive list; and
executing all of said applicable directives referenced in said directive list to process said request for said particular resource. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
receiving a second request, said second request requesting a second particular resource;
determining whether said second particular resource has a second directive list associated therewith, wherein said second directive list comprises references to a second set of applicable directives which need to be executed to process requests for said second particular resource;
in response to a determination that said second particular resource has a second directive list associated therewith, accessing said second directive list; and
executing all of said second set of applicable directives referenced in said second directive list to process said second request for said second particular resource.
-
-
5. The method of claim 1, further comprising:
-
in response to a determination that said particular resource does not have a directive list associated therewith, processing said request for said particular resource;
creating a new directive list for said particular resource, said new directive list comprising references to applied directives which were executed during the processing of said request; and
storing said new directive list into storage for future reference.
-
-
6. The method of claim 5, wherein said references to said applied directives comprise pointers to said applied directives, and wherein said new directive list is an array of said pointers.
-
7. The method of claim 5, wherein processing said request comprises:
-
accessing a general configuration file containing references to substantially all directives that can be executed; and
executing selected directives referenced by said general configuration file to process said request.
-
-
8. The method of claim 5, further comprising:
updating an index to associate said new directive list with said particular resource.
-
9. An apparatus for processing a request, comprising:
-
a mechanism for receiving a request for a particular resource;
a mechanism for determining whether said-particular resource has a directive list associated therewith, wherein said directive list comprises references to applicable directives which need to be executed to process requests for said particular resource;
a mechanism for accessing, in response to a determination that said particular resource has a directive list associated therewith, said directive list; and
a mechanism for executing all of said applicable directives referenced in said directive list to process said request for said particular resource. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
a mechanism for receiving a second request, said second request requesting a second particular resource;
a mechanism for determining whether said second particular resource has a second directive list associated therewith, wherein said second directive list comprises references to a second set of applicable directives which need to be executed to process requests for said second particular resource;
a mechanism for accessing, in response to a determination that said second particular resource has a second directive list associated therewith, said second directive list; and
a mechanism for executing all of said second set of applicable directives referenced in said second directive list to process said second request for said second particular resource.
-
-
13. The apparatus of claim 9, further comprising:
-
a mechanism for processing, in response to a determination that said particular resource does not have a directive list associated therewith, said request for said particular resource;
a mechanism for creating a new directive list for said particular resource, said new directive list comprising references to applied directives which were executed during the processing of said request; and
a mechanism for storing said new directive list into storage for future reference.
-
-
14. The apparatus of claim 13, wherein said references to said applied directives comprise pointers to said applied directives, and wherein said new directive list is an array of said pointers.
-
15. The apparatus of claim 13, wherein the mechanism for processing said request comprises:
-
a mechanism for accessing a general configuration file containing references to substantially all directives that can be executed; and
a mechanism for executing selected directives referenced by said general configuration file to process said request.
-
-
16. The apparatus of claim 13, further comprising:
a mechanism for updating an index to associate said new directive list with said particular resource.
-
17. A computer readable medium having stored thereon instructions which, when executed by one or more processors, cause the one or more processors to process a request, said computer readable medium comprising:
-
instructions for causing one or more processors to receive a request for a particular resource;
instructions for causing one or more processors to determine whether said particular resource has a directive list associated therewith, wherein said directive list comprises references to applicable directives which need to be executed to process requests for said particular resource;
instructions for causing one or more processors to access, in response to a determination that said particular resource has a directive list associated therewith, said directive list; and
instructions for causing one or more processors to execute all of said applicable directives referenced in said directive list to process said request for said particular resource. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
instructions for causing one or more processors to receive a second request, said second request requesting a second particular resource;
instructions for causing one or more processors to determine whether said second particular resource has a second directive list associated therewith, wherein said second directive list comprises references to a second set of applicable directives which need to be executed to process requests for said second particular resource;
instructions for causing one or more processors to access, in response to a determination that said second particular resource has a second directive list associated therewith, said second directive list; and
instructions for causing one or more processors to execute all of said second set of applicable directives referenced in said second directive list to process said second request for said second particular resource.
-
-
21. The computer readable medium of claim 17, further comprising:
-
instructions for causing one or more processors to process, in response to a determination that said particular resource does not have a directive list associated therewith, said request for said particular resource;
instructions for causing one or more processors to create a new directive list for said particular resource, said new directive list comprising references to applied directives which were executed during the processing of said request; and
instructions for causing one or more processors to store said new directive list into storage for future reference.
-
-
22. The computer readable medium of claim 21, wherein said references to said applied directives comprise pointers to said applied directives, and wherein said new directive list is an array of said pointers.
-
23. The computer readable medium of claim 21, wherein the instructions for causing one or more processors to process said request comprises:
-
instructions for causing one or more processors to access a general configuration file containing references to substantially all directives that can be executed; and
instructions for causing one or more processors to execute selected directives referenced by said general configuration file to process said request.
-
-
24. The computer readable medium of claim 21, further comprising:
instructions for causing one or more processors to update an index to associate said new directive list with said particular resource.
Specification