Data Transfer Scheduler

From Gcube Wiki
Jump to: navigation, search

Data Transfer Schedule Service

The Data Transfer Scheduler Service is responsible for the transfer scheduling activity delegating and spawning the transfer logic to the series of gDT Agent deployed on the infrastructure. It relies on Messaging to consume transfer results from gDT Agent. In detail the main service consists of one gCore statefull service (singleton) and one gCore stateless service.

  • The statefull service has the factory porttype so that the submitting API of the Data Transfer Scheduler Library can access it and every WS Resource that the factory creates for a different transfer-operation has one statefull porttype.
Statefull Service
  • The stateless service has the stateless porttype so that the management API of the Data Transfer Scheduler Library can get and set information about the users, the scopes, the files and what else the client wants to manage.
Stateless Service

The following figure indicates the complete parts of the Data Transfer Scheduler Service:

Data Transfer Scheduler Service

Data Transfer Scheduler Database Library

The Data Transfer Scheduler Database Library implements the API so that Data Transfer Scheduler Service (either the statefull one or the stateless) can access the database.

Data Transfer Scheduler DB Lib

Data Transfer Agent Library

The Data Transfer Scheduler Library is the Client Library implementing the API for Data Transfer Scheduling. In particular it consists of two separate API’s, one for the management and one for the submitting.

  • The management API is responsible for:
    • Retrieving information about the users of the node that the Scheduler service is running to.
    • Setting permissions to these users about the transfers.
    • Storing and retrieving information about the scopes.
    • …(TODO)
  • The submitting API is responsible for submitting a specific or several transfer operations by providing the different parameters (source, destination, file, type of transfer, date to transfer etc…) from XML (or JSON) files.

The Library implements Asynchronous operations for the data transfer scheduling.

Data Transfer Scheduler Lib