NorduGrid Note


proposal

2003-05-18




Data Management

Aleksandr Konstantinov*









  1. Terms



SE

storage element

NI

names index

VO

virtual organization

UT

user tools, used to request operations at SE and NI

user

person with key+certificate belonging to at least one VO

file

logical file (name + all related metadata)

instance of file

content (data) stored at one of SEs

full_name of file

set of information containing URL of NI, VO, string representing file (name) and optionally list of instances/SEs to use.



  1. Requirements



  1. Atomic operations - There are no rollbacks. Every operation is either successful or failed.

  1. All operations must have timeout. Timeout should be given either as total timeout or as transfer speed limit (adaptive timeout).

  2. Service ownership - interoperating SE and NI can belong to different VOs. NI and SE can server multiple VOs.

  3. In first implementation NI is centralized (per VO, experiment,etc.). This requires flexible authorization rules.

  4. There is no limit on number of interoperating NIs and SEs. UT should be able to communicate with multiple NIs.

  5. NI registers to MDS (or any other Information System) and provides information about served VOs.

  6. SE registers to MDS (or any other Information System)and provides information about served VOs and subtrees (see below).

  1. Scenarios



    1. Creation of new file.



  1. UT contacts NI and provides all metadata necessary to create file

  1. UT contacts SE to reserve place and provide file's metadata to be passed to NI

  2. SE contacts NI to register new file and it's instance as not ready yet

  3. UT uploads file to SE

  4. SE marks instance in NI as ready to be used

  1. UT contacts SE and provides file's metadata and URL for source

  2. SE registers new file and it's instance as not ready yet in NI

  3. SE downloads file instance from provided URL

  4. SE marks downloaded instance in NI as ready to be used

  1. UT contacts SE and provides name of file to be replicated to that SE

  2. SE contacts NI to obtain information about available instances

  3. SE registers new instance as not ready yet in NI

  4. SE downloads file

  5. SE marks downloaded instance in NI as ready to be used

  1. UT contacts SE and provides name of file to be deleted.

  2. SE removes instance and contacts NI to unregister instance

  1. UT contacts NI to obtain information about all instances.

  2. UT contacts all SEs and deletes instances

  1. UT searches in MDS for suitable NI.

  2. UT contacts NI to obtain list of SEs and optionally handles of those instances

  3. UT contacts SE to obtain handle (if not available yet) and uses it to access file instance.

  1. Same as through MDS with first step skipped (assuming UT already knows URL of NI).

  1. UT searches in MDS for suitable NI.

  2. UT fails to contact NI.

  3. UT search in MDS for suitable Ses.

  4. UT contacts SEs asking for full file name.

  5. UT uses obtained handles to access file instances.

  1. UT knows about super-fast local SE.

  2. UT contacts that SE and asks for replication of file instance.

  3. Either SE does not respond to UT's request till replication is finished or UT checks for completion periodically (both ways should be possible).



  1. SE

For each instance stored at SE following information is stored:



Each file instance has corresponding handle (URL) generated by SE. UT obtains such handle from querying SE for full file name or from NI. This handle is used to access file instance.

SE service is responsible of refreshing information in NI. Deleting temporary files. Caching files on request



  1. NI



NI can serve different VOs. Each VO has directory-like structure of objects. Tree consists of objects Group (directory). Groups contain other Groups and

*aleks@fys.uio.no