back to API     back to index     prev     next  

ProActive File Transfer Model

The following document describes our current proposal model for supporting file transfer in ProActive.

Introduction and Concepts

We believe it is interesting for us, and the ProActive users, to provide support for FileTransfer

Currently we recognize the following type of files:

Also, this files can be transfered:

The FileTransfer could happen:

Objectives

Main objective

Specific Objectives

Supported Protocols

FileTransfer Design

FileTransfer definitions are divided in two:

Abstract Definition

This definitions can be referenced from a VirtualNode. They contain the most basic information of a FileTransfer:

References from the VirtualNode are made using the unique definition name.

Concrete Definition

These definitions contain more architecture specific information, and are therefore contained within the Process:

If some of this information (like username or hostname) can be inferred from the process, it is not necessary to declare it in the definition. Optionally, the information contained in the protocol can be overridden if specified.

How it works

When a FileTransfer starts, both abstract and concrete information are merged using the FileTransfer Workshop. The result of this process correspons to a sequence of CopyProtocols, as specified in the Concrete Definition.

Each CopyProtocol will be tried before the deployment takes place, until one succeeds. After one succeed are all fail, the process deployment will take place.

Descriptor FileTransfer XML Tags

The abstract concept: "FileTransfer" is introduced. This concept is independent off the actual process used, but also flexible and configurable at the process level. To define this abstract representation of the FileTransfer:

....
</deployment>
<FileTransferDefinitions>
   <FileTransfer id="example">
      <file src="hello.dat" dest="world.dat"/>
      <file src="hello.jar" dest="world.jar"/>
      <file src="hello.class" dest="world.class"/>
      <dir src="exampledir" dest="exampledir"/>
  </FileTransfer>
  ...
</FileTransferDefinitions>
<infrastructure>
....   

Note: exclude and include are not yet supported features

This tags can be referenced at the the VirtualNode level and the Process level.

The implicit keyword means the FileTransferDeploy identifier is inherited from the VN definition. If hostname and username are implicitly defined in the process tag, then this information will be used. But, if the user desires to override this information he can specify it as an attribute in the destinationInfo tag. When coallocating more than one VN on a JVM, and therefore on the same process, all files inherited from the multiple VN definitions will be transfered.

Note: FileTransferRetrieve is not yet supported.



Copyright © August 2001-2005 INRIA All Rights Reserved.