
1. Virtual tree
  
  Under mount point of jobplugin gridftp client can see directories 
representing job belonging to user, who started client. Directory per job.
Directories names are same as jobs' identifiers. Those directories are
directly connected to session directories of jobs and contain same files
and subdirectories. Except if jobs session directory is moved to computing
node. In that case directories only contains files with redirected stdout 
and strderr as specified in xRSL.
  If job's xRSL has stdlog specified job's directory also contians 
subdirectory with same name, which contains files with information about
job as created by GM. The most important are 'errors' and 'status'. 
'errors' contains stderr of separate modules run by GM in order to process 
job (downloader, uploader, job's submission to LRMS). 'status' contains
one word representing state of job. 
  Also under mount point there is one additional directory named "new".

2. Submission

  Each xRSL put into directory "new" is accepted as job's description. 
jobplugin parses it and client gets positive response if there are no errors 
in request. 
  Job gets identifier and directory with corresponding name appears. If 
job's description contains input files which should be delivered from 
client's machine, client must upload them to that directory under specified
names.
  Because each job gets identifier there should be a way for client to obtain 
it. For that prior to providing xRSL client sends command CWD to change current
directory to "new". In this way job's identifier is reserved, new directory 
corresponding to that identifier is created and client is redirected to it 
(as specified in FTP protocol). Job's description put into "new" will get
reserved identifier.

3. Cancelation

  Job is canceled by performing DELE (delete file) command on directory 
representing job. It cantake some time (few minutes) before job is
actually canceled. Nevertheless client gets response immeadeately.

4. Cleaning

  Job's content is cleaned by performing RMD (remove directory) command on 
directory representing job. If job is in "FINISHED" state it will be cleaned
immeadeately. Otherwise it will be cleaned after it reaches state "FINISHED".

