Web Site Implementation by Mapping Expression Evaluation
First Claim
1. A computer-readable non-transitory storage medium configured with data and with instructions that when executed by at least one processor causes the processor(s) to perform a process for implementing a web site, the process comprising the steps of:
- receiving an HTTP request which includes a path;
mapping at least a portion of the path to locate an expression E in a nestable data structure which contains multiple expressions collectively representing the web site;
evaluating the expression E thereby obtaining a result R, while avoiding evaluating other expressions of the data structure; and
repeating the mapping and evaluating steps for successive expression(s) E and corresponding successive result(s) R until an evaluating step yields website content as a result R-final; and
thengenerating an HTTP response to the HTTP request, the HTTP response containing the result R-final.
2 Assignments
0 Petitions
Accused Products
Abstract
Web sites are modeled using mappings from paths to expressions. A mapping data structure of expressions represents a web site'"'"'s hierarchical structure, and an enumerator, an array of characters, or an array of bytes represents the web site'"'"'s content. Expressions are written in a declarative programming language, and are lazily evaluated to provide results used in HTTP responses. A mapping may be recursive. An expression may contain a function call which returns contents of a file named in the HTTP request path, or the expression may evaluate to a text string, for example. Expressions may call functions which produce side-effects. An expression may recursively map a directory name to a mapping of a file name. Scalability is promoted by concurrently evaluating expression(s) on different machines in a stateless middle tier, and by streaming results. An arbitrarily large web site may be implemented in this manner.
-
Citations
20 Claims
-
1. A computer-readable non-transitory storage medium configured with data and with instructions that when executed by at least one processor causes the processor(s) to perform a process for implementing a web site, the process comprising the steps of:
-
receiving an HTTP request which includes a path; mapping at least a portion of the path to locate an expression E in a nestable data structure which contains multiple expressions collectively representing the web site; evaluating the expression E thereby obtaining a result R, while avoiding evaluating other expressions of the data structure; and repeating the mapping and evaluating steps for successive expression(s) E and corresponding successive result(s) R until an evaluating step yields website content as a result R-final; and
thengenerating an HTTP response to the HTTP request, the HTTP response containing the result R-final. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A process for implementing a web site, the process comprising:
-
electronically declaring a computer data structure which maps portions of a Uniform Resource Indicator (URI) path to respective expressions, the declared data structure residing in and configuring a computer-readable storage medium; and making digital web site content electronically accessible to a fully automatic evaluation mechanism which is operable to perform lazy evaluation of the expressions based on automatically located dependencies that have been made declaratively. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A computer system comprising:
-
at least one logical processor; a memory in operable communication with the logical processor(s), the memory located in at least one machine; a mapping residing in the memory which maps portions of a network application layer request to respective expressions which, upon evaluation, produce a response to the request; a lazy expression evaluator residing in the memory and operable to evaluate an expression in response to a request to access a request portion which is mapped to the expression. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification