@author Ulf Wiger <ulf.wiger@erlang-consulting.com>
@author Joseph Wayne Norton <norton@geminimobile.com>

@doc Extended process dictionary
<h2>Introduction</h2>

Gproc was first introduced at the ACM SIGPLAN Erlang Workshop in
Freiburg 2007 (<a href="erlang07-wiger.pdf">Paper available here</a>).

This application was designed to meet the following requirements:

<li>
  <ul>A process can register itself using any term.</ul>
  <ul>A process can register more than one name</ul>
  <ul>A process can publish non-unique {Key,Value} 'properties' </ul>
  <ul>The registry must be efficiently searchable</ul>
</li>

As additional features, the registry was designed to allow global
registration, and a special {Key,Value} property called a counter.
It is also possible to create an 'aggregate counter', which will
continuously reflect the sum of all counters with the same name.

<em>In its current state, the global registration facility is broken
and should not be used. It will be migrated over to a new version of 
gen_leader. This work will be done with low priority unless people
express a strong urge to use this functionality.</em>

@end