ecampbel writes "This patent should scare many, many different sites. Their specific invention is that they store the live data used to fill in their site?s templates in shared memory that the sub-processes that actually generate the page have access to. This method cuts down on the time it takes to generate their page since quering another server or process isn't necessary. What does Slashdot and the readers of Slashdot think of this new patent?" Thats it! Nobody is allowed to cache data in shared memory space any more! Slashdot actually runs really close to this, although I cache the custom Slashboxes in httpd child memory space, not in shared memory owned by the parent Apache (hey, is there a shared memory module for perl? :) The abstract is attached below, anyone have any opinions on this one?
Here is the abstract of their patent: United States Patent 5,983,227 (Nov. 9, 1999)
Dynamic page generator
A custom page server is provided with user preferences organized into templates stored in compact data structures and the live data used to fill the templates stored local to the page server which is handing user requests for custom pages. One process is executed on the page server for every request. The process is provided a user template for the user making the request, where the user template is either generated from user preferences or retrieved from a cache of recently used user templates. Each user process is provided access to a large region of shared memory which contains all of the live data needed to fill any user template. Typically, the pages served are news pages, giving the user a custom selection of stock quotes, news headlines, sports scores, weather, and the like. With the live data stored in a local, shared memory, any custom page can be built within the page server, eliminating the need to make requests from other servers for portions of the live data. While the shared memory might include RAM (random access memory) and disk storage, in many computer systems, it is faster to store all the live data in RAM.