IPLM Cache administration

Learn about the components and architecture of IPLM Cache.

IPLM CacheServer overview

The IPLM Cache server handles creation, updates and removal of data in the PerforceIPLM IP cache.

  • A cached copy is created for each IP version that is requested by a user.
  • Once created it is shared by all users who require read-only access to the IP version.
  • Each IP version is uniquely mapped to the cache based on its Library name, cell name, line and version.

If the server goes down, the cached data is still available on the file system but cannot be updated.

System architecture

The Pi client sends build/update requests to the IPLM Cache server and waits for the resulting server jobs to complete. 

An IPLM Cache server job populates or updates IPV data in the cache by running Perforce commands. The status of each job is stored in a database and is available for querying by clients.

IPLM Cache architecture

The IPLM Cache Server has three main components: 

  1. A job queue (Redis)

  2. Workers to handle incoming requests and run jobs

  3. A large data store (MongoDB, optional as of IPLM Cache version 1.6.0)

The basic flow is as follows:

  1. The IPLM Cache Server requests from Pi clients are sent to the job queue.

  2. The workers automatically pick up the jobs from the job queue, privately instantiate the jobs and populate/update data files in the caching area.

  3. The workers write all job processing logs and IPV usage information into the data store.