Friday, November 30, 2007

Detailed Architecture

Zhenhua Guo

Job Submission


Assumption:

User has logged in.

Detailed Steps:

  1. End user submits workflow to the agent server. In the meanwhile, username must be submitted as well.

  2. Agent checks the validity of the user.

Then it generates a unique id based on the user name and generates a unique workflow id based on the workflow.

  1. Agent server sends user id, workflow id and workflow to both Status server and Executor.

  2. Executor fetches a proxy certificate from MyProxy server.

  3. Executor submits workflow and proxy certificate to back end grid infrastructure.

Then grid infrastructure executes the workflow actually.

  1. Grid infrastructure returns result to executor.

  2. Executor returns result to agent server.

  3. Agent server returns result to end user.

Note: workflow id will be used in status query.

Job Status Query


Functionality:

Support query of status of all workflows submitted by a user. Currently, user can not specify a certain workflow of which status will be queried.

Event notification:

  1. During the execution of a workflow by underlying grid infrastructure, executor is notified when status of the workflow changes.

  2. Executor sends notification to status server.

The request consists of:

  • user id: to identify the user who owns the workflow

  • workflow id: to uniquely identify a workflow submitted by the user. It is necessary because a user can submit more than one workflow.

  • element: the element in a workflow of which status changes. A workflow contains many sub tasks/elements. This piece of information identifies the element of which status changes.

  • status: the new status of an element.

Status query:

  1. Client sends job query request to agent. Note: currently only user name is submitted.

  2. Agent checks validity of the user. The user account is transformed to a user id.

  3. Agent sends the user id to status server to query status of workflows submitted by this user.

  4. Status returns status report to agent. The user id is returned as well.

  5. Agent sends result to end user.

No comments: