[Pgi-wg] OGF PGI open issue Q3 : Activity ID: any special requirement

Etienne URBAH urbah at lal.in2p3.fr
Tue Mar 9 10:51:04 CST 2010


Balazs, Morris, Luigi, Johannes and all,


Concerning OGF PGI open issue Q3 :  Activity ID: any special requirement :


Thanks to all for their participation to the telephone conference on 
Monday 08 March 2010.

I now understand the issues much better, and I write down below some 
clear statements which should be quite easy to accept and reject :


A) PGI Terminology
------------------
Job    = Activity,     therefore
Job ID = Activity ID

Client = Job Submitter

Job migration = Job delegation


B) Local and Global Uniqueness
------------------------------
-  As agreed before, IDs generated by a client can NOT be trusted to be 
unique at all.

-  IDs generated by a server are trusted :
    - to be unique for this server,
    - but NOT to be globally unique (among all servers)

-  If we really want an ID to be globally unique, we need something like 
a GUID.


C) Human traceability of Jobs
-----------------------------
In case of problems, the Job ID MUST be suitable for manual transfer by 
a human.  Therefore, the Job ID MUST :

-  contain only 7-bits non-blank printable characters (such as MIME64 or 
GUID), or 7-bits XML with non-meaningful blanks and newlines.

-  NOT be too long.
    I suggest to specify a maximum length of 1000 chars.


D)  EPRs are suitable for Services, NOT for Jobs
------------------------------------------------
As far as I know, an EPR is an URL of a Service to which a Client MAY 
submit requests.

Therefore, anything pointed by an EPR is a Service instance which MUST 
be able to receive requests from Clients.

A Job is NOT a Service, but an Activity managed by an Execution Service. 
  Therefore, the Job itself does NOT receive requests from Clients, and 
the Job ID MUST NOT be an EndPoint.

In particular, PGI can decide that a Job ID MAY have an XML syntax, or 
PGI can decide that a Job ID MUST have an XML syntax, but in any case, 
the Job ID MUST NOT begin with <wsa:EndpointReference>.


E) Execution Service responsible for the management of a particular Job
-----------------------------------------------------------------------
As soon as a Job is created, there is an Execution Service responsible 
for the management of this Job.

This responsible Execution Service MAY delegate the execution of the Job 
to a second Execution Service (and so on ...).

The responsible Execution Service MAY return to the Client some 
information about the second Execution Service, and the Client MAY be 
able to use this information.

But the Client MAY also be unable to use this information.

Therefore, the responsible Execution Service MUST stay wholly 
responsible for the Job during the Job lifetime.


F) Endpoint(s) of Execution Service(s)
--------------------------------------
At the beginning, a Client has picked a (hopefully) suitable EndPoint of 
an Execution Service from a GLUE-based Information Service, and has 
submitted a vector of Job descriptions to this EndPoint.


E.A) If the Execution Service receiving a vector of Job descriptions is 
designed so that the Client has to submit ALL subsequent requests to the 
ORIGINAL Endpoint, then :

-  The Client does NOT need to extract any Endpoint from the Job ID, and

-  The Job ID can be completely opaque (such as GUID).


E.B) If the Execution Service receiving a vector of Job descriptions is 
NOT designed so that the Client has to submit ALL subsequent requests to 
the ORIGINAL Endpoint, then :

-  Each Job ID must be built so that the Client easily extracts the 
EndPoint of the Execution Service responsible for the Job,

-  This EndPoint must stay the SAME for the whole Job lifetime, as 
explained in chapter E above.

-  PGI has to specify a limited number of Job ID syntaxes, which MUST be 
understood by ALL Clients.  For example :
    - URL  +  '?'  +  GUID
    - <pgi:jobid>
         <wsa:Address>xs:anyURI - PGI SERVICE URL +  '?' + GUID
         </wsa:Address>
         <wsa:ReferenceParameters>xs:any* - GUID
         </wsa:ReferenceParameters> ?
      </pgi:jobid>


F)  Instances and Shares
------------------------
A Client MUST NOT have to bother with Instances and Shares of an 
Execution Service.

The Execution Service MUST store any information about Instances, 
Shares, ... inside the Job ID in such a way that :
A Client willing to issue a request for the Job just has to send the 
Request containing the whole Job ID to the URL of the responsible 
Execution Service as explained in chapter E above.


I will also write that inside the WIKI at 
http://forge.gridforum.org/sf/wiki/do/viewPage/projects.pgi-wg/wiki/ExecutionServicePoints

To be carefully criticized.


Best regards.

-----------------------------------------------------
Etienne URBAH         LAL, Univ Paris-Sud, IN2P3/CNRS
                       Bat 200   91898 ORSAY    France
Tel: +33 1 64 46 84 87      Skype: etienne.urbah
Mob: +33 6 22 30 53 27      mailto:urbah at lal.in2p3.fr
-----------------------------------------------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5073 bytes
Desc: S/MIME Cryptographic Signature
Url : http://www.ogf.org/pipermail/pgi-wg/attachments/20100309/3a6171e6/attachment.bin 


More information about the Pgi-wg mailing list