<?xml version="1.0"?>

<document>
  <properties>
    <title>Java Caching System</title>
    <author email="pete@kazmier.com">Pete Kazmier</author>
    <author email="asmuts@apache.org">Aaron Smuts</author>
  </properties>

  <body>
    <section name="Java Caching System"> 
      <p> 
        JCS is a distributed caching system written in java.  It is intended to speed up
        applications by providing a means to manage cached
        data of various dynamic natures.  Like any caching system, the
        JCS is most useful for high read, low put applications.  Dynamic
        content and reporting systems can benefit most.  However, any
        site that repeatedly constructs pages, dropdowns, or common
        search results from a database that is updated at intervals
        (rather than across categories continuously) can improve
        performance and scalability by implementing caching. Latency
        times drop sharply and bottlenecks move away from the database
        in an effectively cached system.
      </p>
      <p>
        The JCS goes beyond simply caching objects in memory.  It
        provides several important features, necessary for any
        Enterprise level caching system:
      </p>
      <ul>
        <li>Memory management</li>
        <li>Disk overflow (and defragmentation)</li>
        <li>Thread pool controls</li>
        <li>Element grouping</li>
        <li>Quick nested categorical removal</li>
        <li>Data expiration (idle time and max life)</li>
        <li>Extensible framework</li>
        <li>Fully configurable runtime parameters</li>
        <li>Region data separation and configuration</li>
        <li>Fine grained element configuration options</li>        
        <li>Remote synchronization</li>
        <li>Remote store recovery</li>
        <li>Non-blocking "zombie" (balking facade) pattern</li>
        <li>Lateral distribution of elements via HTTP, TCP, or
          UDP</li>
        <li>UDP Discovery of other caches</li>
        <li>Element event handling</li>
        <li>Remote server chaining (or clustering) and failover</li>
      </ul>
    </section>
  </body>
</document>

