

Content

1	Installation
2	Usage
2.1	Available Microservices
2.2	Common Usage Scenarios
2.3	Using Proxy Certificates
3	Further Information
3.1	License
3.2	Contact
3.3	Links






1	Installation

1.	Copy the Globus DRS module to <irods_dir>/modules.
2.	Ensure in info.txt Enabled is set to: yes.
3.	Necessary other software:
	- Globus DRS
	  (http://www.globus.org/toolkit/docs/4.2/4.2.1/data/datarep/)
	Please refer to the project sites for more information and installation. 
4.	Adjust the variables in microservices/src/GlobusDRSVars.h
5.	Compile iRODS.


2	Usage

2.1	Availalble Microservices

Microservice that takes an iRODS file, transfers it to a destination location,
and registers it with a designated logical name.

msiGlobusReplicationPut(
	rlsUrl,		the URL of the Globus RLS
	options,	additional options for the globus-credential-client put command
	rodsFile,	the source iRODS file
	LFN,		the destination LFN
	destUrl,	the URL of the destination file
	out);		output of globus-replication-client


Microservice that looks up a replica using its logical name, randomly
selects a replica source location, and gets the file to a local iRODS file.

msiGlobusReplicationGet(
	rlsUrl,		the URL of the Globus RLS
	options,	additional options for the globus-credential-client put command
	LFN,		the source LFN
	rodsFile,	the destination iRODS file
	out);		output of globus-replication-client


Microservice that looks up a replica using its logical name, randomly
selects a replica source location, and performs a thrid-party transfer to a
remote location. It does not register the new copy in the RLS, hence the new
remote file is called a copy not a replica.

msiGlobusReplicationCopy(
	rlsUrl,		the URL of the Globus RLS
	options,	additional options for the globus-credential-client put command
	LFN,		the source LFN
	destUrl,	the URL of the destination file
	out);		output of globus-replication-client


Microservice that registers data specified by url under a given logical
name in the RLS.

msiGlobusReplicationRegister(
	rlsUrl,		the URL of the Globus RLS
	options,	additional options for the globus-credential-client put command
	LFN,		the LFN to register a replica
	destUrl,	the URL of the replica file
	out);		output of globus-replication-client


Microservice that looks up a replica using its logical name, randomly
selects a replica source location, and performs a thrid-party transfer to a
remote location. The new file is registered in the RLS as another replica
associated with the logical name.

msiGlobusReplicationReplicate(
	rlsUrl,		the URL of the Globus RLS
	options,	additional options for the globus-credential-client put command
	LFN,		the source LFN
	destUrl,	the URL of the destination file
	out);		output of globus-replication-client


Microservice that deletes the specific instance of the replicated data.

msiGlobusReplicationDelete(
	rlsUrl,		the URL of the Globus RLS
	options,	additional options for the globus-credential-client put command
	LFN,		the destination LFN
	destUrl,	the URL of the file to delete
	out);		output of globus-replication-client


2.2	Common Usage Scenarios

	~> irule -v "msiGlobusReplicationGet(*rlsUrl, *options, *LFN, *rodsFile, *out)"		\
		"*rlsUrl=rls://localhost			\
		%*options=options				\
		%*LFN=foo					\
		%*rodsFile=/tempZone/home/rods/regFile"		\
		"*out"

The specification of options isn't necessary and can be left: 

	~> irule -v "msiGlobusReplicationGet(*rlsUrl, *options, *LFN, *rodsFile, *out)"		\
		"*rlsUrl=rls://localhost			\
		%*LFN=foo					\
		%*rodsFile=/tempZone/home/rods/regFile"		\
		"*out"

For more information about the parameters and options of the globus-replication-client 
functions please refer to the Globus DRS documentation.


2.3	Using Proxy Certificates

The microservices make use of user proxy certificates to authenticate the user. 
Therefore the user needs to upload a valid proxy certificate to iRODS:

	~> grid-proxy-init
	Your identity: /C=DE/O=GridGermanyOU=Technische Universitaet Dresden/OU=ZIH/CN=Christian Loeschen
	Enter GRID pass phrase for this identity:
	Creating proxy ............................................ Done
	Your proxy is valid until: Wed May  5 02:58:46 2010
	~> iput /tmp/x509up_u1000 user-proxy
	~> ils
	/tempZone/home/rods:
		user-proxy
	
The proxy certificate can be created using voms-proxy-init, too. The certificate 
must reside within the iRODS home direcory of the user and be named "user-proxy". 
It can be renamed or a path could be added in the PROXY_LOCATION constant within 
GlobusDRSVars.h header file. The module must be compiled after that to take affect.
The Globus DRS module is also able to work with a single server certificate. 
Therefore the iRODS server must be started with the userid of a valid certificate.


3	Further Information

3.1	License

This software is released under BSD license.


3.2	Contact

You can contact the author and developer via email: christian.loeschen@tu-dresden.de


3.3	Links

IRODS				http://www.irods.org/
Globus DRS			http://www.globus.org/toolkit/docs/4.2/4.2.1/data/datarep/
DGI2 homepage		http://dgi.d-grid.de/index.php?id=456&L=1
Project homepage	http://tu-dresden.de/die_tu_dresden/zentrale_einrichtungen/zih/forschung/grid_computing/iRODS
