SAM Internals

SAM Development - status and plans

SAM Status Reports at:

SAM project meetings at:

A list, not in any particular order, of current and future development can be found at:

SAM History

SAM has a long evolution from 1998 to the present. SAM started as a D0 project, then was deployed to CDF in 2003. When storage systems were fragile, the SAM layer provided needed throttling and protection. Reliability and scalability continue to be important.

Around 2004, early sites in US, Europe and Brazil wrote their own middleware while standard middleware was maturing. This required a large effort to maintain and operate. The lesson learned was to migrate to standard tools when they mature. It's better when someone else maintains and operates the tools.

SAM used to have a heavyweight client implementation which made integration with experiment frameworks difficult. SAM now uses lightweight HTTP REST. REST (Representational state transfer) is an architectural style with coordinated architectural constraints applied to components, connectors, and data elements, within a distributed hypermedia system. REST ignores the details of component implementation and protocol syntax to focus on the roles of components, the constraints upon their interaction with other components, and their interpretation of significant data elements.

HTTP REST allows use of standard Grid Public Key Infrastructures (PKI) authentication methods. The use of simpler interfaces implemented using a familiar protocol enables a loose coupling between SAM and Grid components such as job submission and storage, making it possible to interoperate with other services, if required.


  1. A Data Handling System for Modern and Future Fermilab Experiments at:
  2. A description (from 2011) of new SAM interfaces at:;filename=samweb_samfs.pdf;version=1
  3. Intensity Frontier (from 2010) Computing Model and GRID Tools requirements and design documents at:
  4. Paper on SAMGrid Integration of SRMs at: