The Storage Resource Management (SRM) technology was initiated by the Scientific Data Management Group at Lawrence Berkeley National Laboratory (LBNL) and developed in response to the growing needs of managing large datasets on a variety of storage systems. Dynamic storage management is essential to ensure: prevention of data loss, decrease of error rates of data replication, and decrease of the analysis time by ensuring that analysis tasks have the storage space to run to completion. Storage Resource Managers (SRMs) address issues by coordinating storage allocation, streaming the data between sites, and enforcing secure interfaces to the storage systems (i.e. dealing with special security requirements of each storage system at its home institution.) In a production environment, using SRMs has reduced error rates of large-scale replication from 1% to 0.02% in the STAR project. Furthermore, SRMs can prevent job failures. When running jobs on clusters, some of the local disks get filled before the job finishes resulting in loss of productivity, and therefore a delay in analysis. This occurs because space was not dynamically allocated and previous unneeded files were not removed. While there are tools for dynamically allocating compute and network resources, SRMs are the only tool available for providing dynamic space reservation, guaranteeing secure file availability with lifetime support, and automatic garbage collection that prevents clogging of storage systems. The SRM specification has evolved into an international standard, and many projects have committed to using this technology, especially in the HEP and HENP communities, such as the Worldwide Large Hadron Collider (LHC) Computing Grid (WLCG) that supports ATLAS and CMS. The SRM approach is to develop a uniform standard interface that allows multiple implementations by various institutions to interoperate. This approach removes the dependence on a single implementation and permits multiple groups to develop SRM systems for their specific storage resources. Hence, it became crucial to the interoperation of storage systems for such large-scale projects that have to manage and distribute massive amounts of data efficiently and securely. Without such a unifying technology, such projects cannot scale and are bound to fail. This problem will only grow over time as computing facilities move into the petascale regime. Another important problem that SRMs address is storage clogging. Storage clogging is a critical problem for large-scale shared storage systems since the removal of files after they are used is not automated. This increases the cost of storage and slows the analysis