Clarens logo
This site
 Release notes
  HTML Manual
 Python client tutorial
 Service tutorial
 ACL admin tutorial
  Python client API
 ROOT client
 Service APIs
 TODO list
Projects using Clarens
DPE distribution
  Installation Guide
  Build Instructions
  User Guide
  Example Servers
  Developers Guide
  Development team
  API docs
Project sponsors:
CMS logo
PPDG logo
Caltech logo
Hosted by:

SourceForge Logo


The Clarens Grid-Enabled Web Services Framework is an open source, secure, high-performance "portal" for ubiquitous access to data and computational resources provided by computing grids.

Clarens was developed as part of a wide-area network Grid-enabled Analysis Environment for collaborative analysis of data generated by the Compact Muon Solenoid (CMS) detector at the European Organization for Nuclear Research, CERN.

The server-side application environment provides a standard, easy to use framework for developing Grid services, with mechanisms for PKI-based authentication, authorization based on access control lists in the context of distributed virtual organizations. Services are automatically published for discovery using a global service registry, and can be used from a variety of clients, including web browsers, scripts and full-scale applications.

Grid Computing

A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities.
Kesselman, Foster, The Grid: Blueprint for a new Computing Infrastructure, 1998. As quoted by Foster, 2002.

Grid services

  • File system access (download, directory listings, read/write with fine-grained access control).
  • The ubiquitous echo service for testing and overhead/ping time measurements
  • Proxy escrow service, similar to MyProxy.
  • VO management
  • Job submission.
  • Virtual data catalog access
  • Metadata catalog access
  • Service registration and discovery
  • Session logging
  • Configuration management
A more detailed description of individual services and interfaces can be found here.

Client server communication

Communication between the client and server is conducted via the lightweight XML-RPC remote precedure call mechanism, JSON-RPC, and SOAP (only in JClarens). All serialization formats are supported by the same server.

The Server

The server is implemented using Python within the mod_python framework for the Apache web server.


There are currently a few clients that are evolving along with the server:

  • A Python command-line client
  • A compiled module for the ROOT analysis application.
  • A browser-based Javascript/Java-applet client can be seen here. Most US Grid CAs are supported by this demo installation. See the screenshots page for a look at the Root client.

  • The Clarens server and Root clients was used by two different groups for demonstrating remote analysis of Physics data at the Supercomputing 2002 conference.
  • The above demo was repeated for Supercomputing 2003, but with a focus on disk-to-disk file transfer as part of the bandwidth challenge. A transfer rate of 400MB/s using two Clarens servers and two clients was achieved.

High Performance

On a desktop 2.6 GHz P4 running the Fedora Core OS, call latency, including fine grained access control, is 1.4 ms (around 700 calls/s).
On a dual Xeon 3.0 GHz over a LAN performance is around 1450 calls/s. Moreover, this performance is mainatained at a constant level for large numbers of users (tested for up to 70 simultaneous users).

SourceForge Project

The project is hosted by SourceForge, with an extensive summary page.


We are transitioning to using the monotone distributed version control system to store Clarens source code. The main repository can be browsed here. The repository currently contains the Apache web server code, the web interface, the Clarens web pages, as well as the (in-progress) standalone Clarens server. The SourceForge CVS pages can still be browsed at CVS.

Mailing list

Subscribe to the Clarens mailing list clarens-general. The list is also archived.


Complete archive

July 23, 2007

Complete overhaul of OpenPkg infrastructure, and new clarens-server-0.7.6-2 package. See installation instructions or more details.

Aug 8, 2006

New version 0.7.3-2 of clarens-server packages to fix a configuration issue. Use clump update upgrade. New installations will receive this update by default.

May 24, 2006

New version 0.7.3 of clarens-server and clarens-server-web packages.

Apr 11, 2006

Monotone server updated to 0.26, see the GAE Wiki page for more information.

Oct 24, 2005

[UPDATED] Released clarens-server-, and see the clarens-server-web-0.7.2. See the list of changes. Tagged as RELEASE_0_7_2 in monotone.

Jul 13, 2005

Released clarens-server-0.7.1, and clarens-server-web-0.7.1. See the list of changes. Tagged as RELEASE_0_7_1 in CVS.

Jul 8, 2005

- Added link to the novel JobMon project that allows web service access and monitoring to jobs running on worker nodes, even behind firewalls. See more here.

- Updated the manual to include a chapter on web client development.

June 29, 2005

Created online documentation for the stand-alone Python client, available here.

May 2, 2005

Released clarens-server-0.7.0 with changes in preparation for the MCPS service. See the list of changes here. Tagged as RELEASE_0_7_0 in CVS.

Feb 4, 2005

Released clarens-server-0.6.9 with many changes. Tagged as RELEASE_0_6_9 in CVS.

Dec 11, 2004

Stand-alone Python client released.

Download here. Or see the short release notes.

Modified on 13 Jun 2007/20:41:23 by conrad