Accelerator Technical Summary

Home
Frequently Asked Questions
Technical Summary
Screen Shots
Download Demos
Download Accelerator
What's New In Version 1.2?
Pricing
Buy License Now
About Metolius

Support/Knowledge base
Consulting Services
Email Us

Accelerator inserts itself between IIS (Internet Information Server) and the SPS 2001 server. When a hit comes in targeted for SPS, Accelerator determines whether the requested page of content has been previously fetched, and if so, it directs IIS to immediately pull the data from Accelerator’s file-system cache, eliminating the expensive access to SPS server. If the content is not present, or not current, in Accelerator’s cache, the hit is allowed to go through to SPS server. Accelerator monitors this transaction, and copies the resulting content into its cache in anticipation of future requests for the same page. Accelerator can store multiple personalized renditions of the same page using a sophisticated scheme so that optimized caching is supported even for secure or personalized content.

Accelerator for SPS 2001 provides two distinct file-system based caching facilities to maximize the performance of SPS 2001:

bulletCaching SPS 2001 (Webstore) resources and documents (.gif, .jpg, .css, as well as documents), and
bulletCaching pre-rendered SPS 2001 Dashboard markup

The two facilities share significant code, but are largely independent and can be separately enabled. Both are implemented within an ISAPI filter, and use a standard file system directory for it's file based cache. This allows the use of IIS's highly optimized facility of serving up static files, which itself implements an in-memory cache for even better performance.

Resource and document caching

In the case of Resource Caching, Accelerator's filter detects that an HTTP GET operation has occurred for an SPS 2001 resource or document. The filter checks to see if it has already cached the request. If so, it tells IIS to satisfy the request from the file-system cache. If not, it queues the URL to a background process and allows the HTTP GET request to proceed normally to SPS 2001. Importantly, the background process reads both the resource or document and the resource or document's ACLs. The filter then copies the resource or document to the file-system and sets the ACL's to match the ACL's in Web Store. Once the file is in place and the ACL's set, the filter will begin satisfying hits to a given URL using the file-system cache. Since the ACL's are identical, security against the files is identical.

Updates to cached resources and documents

While Accelerator is running, various SPS 2001 resources and documents are likely to be updated. These updates are detected by Accelerator so that “old” entries in the cache can be flushed out and replaced by the new content. The Accelerator ISAPI filter does this by monitoring DAV (Document Authoring and Versioning) requests against any of its cached resources. Any such DAV request causes an immediate removal ("invalidation") from the cache of the affected resource or document. The next time an HTTP Get request targets this newly updated resource or document URL, the newly updated information, including any updates to the resource/document or security settings, will then be copied into Accelerator’s cache in the normal way, in anticipation of any future requests. This somewhat pessimistic, or conservative policy, ensures that the cache always contains the latest versions of Web Store resources.

Since most SPS 2001 dashboards contain references to many resources (e.g. the out-of-the-box default Dashboard has 10 such references), caching resources and documents can make a significant improvement in performance perceived by the user. Its impact is more pronounced as the load on Web Store increases.

Dashboard caching

Though resource and document caching is highly effective, even more performance is possible. To this end, Accelerator offers a second major caching facility to cache pre-rendered Dashboard-markup.

One of the key benefits of SPS 2001 is the ease with which authors can create secure and personalized Dashboards that support both group-level and individual user level personalization and dynamically adapt their content based on the credentials of each visitor. For instance, one common pattern involves creating a Dashboard that displays one set of public content to all company employees, but which displays a richer super set of content including secure content and content editing controls only to the restricted members of a trusted group. Thus the same Dashboard must deliver different content to different groups of users Accelerator's Dashboard markup cache stores and tracks each unique rendition of a pre-rendered Dashboard and dynamically associates the correct rendition with the correct user. In addition, the removal or "invalidation" of a cached Dashboard rendition requires tracking changes to the structure and security of the Dashboards, underlying content, and time-outs.

The facility for Dashboard caching is significantly more complicated than the resource and document caching, but Accelerator makes it simple to accomplish and the performance gains can be significant.


A more detailed explanation of Accelerator's Dashboard caching mechanism and other technical information can be found in the product helpfile, which can be found in: 
Downloads.

 

 

© 2002 Metolius Software, Inc..  All rights reserved.
Terms of Use    Privacy Policy