HTTP Storage Requirements
This page tracks the required and desired functionality requested from HTTP storage, as defined by the HTTP Deployment Task Force.
We can classify these requirements in different ways, to discuss at the next meeting, but one possibility is
- A: required for the deployment of HTTP to be worth pursing at all
- B: required for SRM-free operation of disk storage
- C: required for single-protocol (ie HTTP-only) disk storage
- D: desirable feature
- E: irrelevant
Functionality |
Atlas |
LHCb |
dCache |
DPM |
EOS |
StorRM |
xrootd |
Comments |
Create, Read, Update, Delete |
A |
A |
Y |
Y |
Y (GET HEAD PUT DELETE OPTIONS) |
Y |
Y |
(AP: what is HTTP update?) |
WebDAV (which bits?) |
PROPFIND, MOVE |
Partially |
Partially |
Y |
Partially: MKCOL PROPFIND PROPPATCH COPY MOVE LOCK UNLOCK - some special header support |
PROPFIND, CP, MV |
Y |
(AP: complex to answer, impossible to put Y here) |
X509/VOMS AA |
A |
A |
Y |
Y |
RFC Proxies |
at VO granularity per storage area |
Y |
|
Multi-range requests |
D |
|
Y |
Y |
Y |
Y |
Y |
|
Directory Space Reporting |
C |
C |
N |
N (planned) |
custom Rest API using subtree accounting |
N (planned) |
Y via virtual partitions |
To what hierarchical depth is this required? |
Calculate checksum / type |
C, e.g., md5 |
|
N |
Y (md5, adler32) |
implicit (md5,adler32,crc32c,crc32,sha1) |
Y (adler32) |
Y internal |
|
Set checksum / type |
C, e.g., md5 |
|
N |
N |
set XS: support for custom header to preset checksum on PUT for OC - set type:Y |
N (if this means setting the checksum after the transfer) |
Y internal |
|
Get checksum |
C |
C |
Y |
Y |
Y (PROPFIND, custom Rest API) |
Y |
Y internal |
3rd Party Copy Source |
C |
D |
Y |
Y |
N |
N |
Y |
|
3rd Party Copy Destination |
C |
D |
N |
N |
N |
N |
Y |
|
3rd Party Copy ↔ S3 |
D |
D |
N |
Y, prototype |
? |
N |
N |
|
3rd Party Copy ↔ gridFTP |
D |
D |
Y |
? |
|
N |
N |
|
ACL Management |
D |
D |
N |
N |
Y (custom rest API) |
N |
N |
|
Monitoring of HTTP traffic |
C (network monitoring, popularity ?) |
D |
N(planned) |
Y |
Y (internal, not via xrootd) |
N |
Y |
This refers to i/o monitoring (like xrootd fstream or similar) |
Endpoint publication to BDII |
C |
C |
Y |
Y |
N |
Y |
Y |
|