


SRM v3.0 Functional Specifications The Details Scientific Data Management Group Computational Research Division Lawrence Berkeley National Laboratory
Organization • Introduction • Notes and Terminology • Common type definitions • Core functions • Advanced Feature Set • Remote Access functions • Space Management functions • Directory Management Functions • Authorization Functions • Request Administration Functions
How it looks • Each function has the following • Short description of what it does • Input and output parameters • Behavior as core function • Behavior with advanced features • Each item has a label, and when issues come up, those labels will be used. • For example,2.1. srmAbortRequestdescriptioninputs/outputs in a table2.1.1 core behaviora) behavior_1b) behavior_2Behavior with advanced featurs2.1.2. Remote Access Featurea) behavior_1
Core functions • srmAbortRequest • srmAbortRequestedFiles • srmChangeFileStorageType • srmChangeFileStorageTypeStatus • srmExtendFileLifetime • srmGetFeatures • srmGetRequestSummary • srmGetRequestTokens • srmGetSRMStorageInfo • srmGetTransferProtocols • srmLs • srmLsStatus • srmPrepareToGet • srmPrepareToPut • srmPutFileDone • srmPutRequestDone • srmReleaseFiles • srmRm • srmRmStatus • srmStatusOfGetRequest • srmStatusOfPutRequest
Core - srmGetFeatures • Discovery function for clients to find out which features an SRM supports • ReturnFeatureSet { EnumSpaceType spaceType, EnumSRMFeatures supportedFeature[]}[] • Will be changed to EnumSRMFeatures supportedFeature[] as we decided in the meeting • SRMFeatures := SRM_CORE SRM_REMOTE_ACCESS SRM_SPACE_MANAGEMENT SRM_DIRECTORY_MANAGEMENT SRM_AUTHORIZATION SRM_ADMINISTRATION SRM_ACCOUNTING
srmGetSRMStorageInfo • To retrieve SRM storage info, such as storage capacity, user quota, etc. • Input • EnumStorageAttributes desiredAttributes[] • Output • SupportedAttributes { EnumStorageAttributes storageAttr, String value, String valueType} [] • EnumStorageAttributes := SRM_STORAGE_TYPE SRM_STORAGE_CAPACITY SRM_STORAGE_ACCESS_TYPE SRM_USER_STORAGE_MAX SRM_USER_STORAGE_MIN SRM_USER_STORAGE_DEFAULT_LIFETIME SRM_DEFAULT_FILE_LIFETIME SRM_DEFAULT_FILE_STORAGE_TYPE SRM_REQUEST_INFO_AVAILABILITY SRM_DEFAULT_RETURN_COUNT
srmLs • srmLs on a file returns the file meta data • Permissions reflect unix style • One group associated with the file • Two additional output options will be added • Is the file available on disk for immediate access? • Lifetime on the file • Regular express with minimum wild card support in SURL
Remote Access Functions • srmRemoteCopy • srmStatusOfRemoteCopyRequest
Space Management Functions • srmCleanupFilesFromSpace • srmCompactSpace • srmGetSpaceMetaData • srmGetSpaceTokens • srmReleaseSpace • srmReserveSpace • srmUpdateSpace
srmReserveSpace • ExpectedFileSize[] as a hint for space allocation
Directory Management Functions • srmCp • srmCpStatus • srmMkdir • srmMkdirStatus • srmMv • srmMvStatus • srmRmdir
srmCp, srmMkdir, srmMv • Local operation only • requestToken for output is optional • In case result is fast enough to be returned at once synchronously.
Authorization Functions • srmCheckPermission • srmReassignToUser • srmReassignToUserStatus • srmSetPermission
Request Administration Functions • srmResumeRequest • srmSuspendRequest
Summary • Functions are close to v2.1.1 • A few enhancements and additions • E.g. srmGetFeatures • A few restrictions • E.g. srmRemoteCopy to copies from/to remote sites only and srmCp to local • Easy transition for existing V2.1.1 implementations • Smaller number of functions to implement for SRM-Core providers