Contributed Software

From SRB

Contributed Software Tools

The following are contributed SRB-related software tools that are available to the community. In some cases these are user contributed, and in some cases they are available from the SRB team. They may have had only limited testing, and may include only a little documentation and support. They are here because they may be useful to many, but they are "buyer beware". If you have software to contribute that should be on this list, please contact the SRB team at srb@sdsc.edu.

Description

More Info

Contact

SRB HotPage (ping/current-status as html). This is a simple script, 'C' source file, and configuration file that periodically tests configured SRB systems and resources and generates a status page as html. An example is the SDSC SRB hot page. This is actually in our SRB release (3.3) under 'utilities/ping', but you can check with us for additional information.

Send Email

sheauc at sdsc.edu

SRB enabled globus-url-copy. This is a modified version of the globus-url-copy application that supports SRB protocols as well as GASS protocols for accessing various data resources and replicated data sets.

GMCat. The GMCat service provides a mapping between SRB filespaces and other Grid tools via the Giggle framework. It is written in Java using the SRB Jargon API as an Axis webservice to run on Apache Tomcat, and is designed for use with SRB3.2 or greater.

SRB Perl interface. This package also provides an SRB Perl interface, but with this almost all of the SRB calls (from SRB 2.0 API) are available. This and the above UMD Perl interface, were created independently as the developers were unaware of each other's work.

Upload/Download wrapper. For ldmm, we made a little wrapper script so that we may address files and directories locally or on the srb. We then made a little script to do the upload and downloads to srb. The two below web links have a description and the 'url_io' script we use for uploads and downloads of SRB.

Scripts from BIRN project. Various scripts, some may be BIRN-specific but most can be adapted to other sites. This includes SRBwrap to allow command line programs to operate on SRB objects by handling the downloading and/or uploading to SRB, Slsf - a faster Sls for WANs, bulkUpload, bulkDownload, and wipeAllContainers.

srbio. This is used to SRB-enable legacy UNIX applications that can be recompiled. This is done by adding and extra line to include srbio.h after stdio.h in the source code before compiling. It will chnage all Unix calls to SRB calls, provided the file name starts with 'srb://'. For example, if one uses: fd = fopen ("srb://home/srb.sdsc/Srm.c","r"); then, the SRB Object '/home/srb.sdsc/Srm.c' is opened for read. Any other file name is treated as a Unix file and dealt accordingly.

unixIO. This is a package that converts/emulates Unix I/O calls into SRB calls. Similar to srbio, but application directly calls either SRB or Unix functions and unixIO has some different emulations. Includes srbUioOpen, srbUioClose, srbUioSeek, srbUioWrite, srbUioRead, srbUioStat, srbUioUnlink, and srbUioRename. Requires changing calls to these srbUio* names and rebuilding. Will be part of the SRB release following 3.0.0.

Send Email

Wayne Schroeder, schroede at sdsc.edu

SRB Python binding. The new SRB Python binding exposes some SRB client APIs which allow any Python program to access SRB systems via POSIX style file I/O calls, to query SRB system metadata for files, and to manipulate SRB systems such as creating and deleting a collection. A file, README.python, included in SRB source tree, provides an overview of SRB Python binding and an example of using SRB Python binding APIs. This has been part of the SRB release since 2.1.

See Release or Send Email

Bing Zhu, bzhu at sdsc.edu

SDSC Matrix. SDSC Matrix can be used to build workflows associated SRB. Multiple SRB operations can be described and executed as dataflow pipelines using the Data Grid Language used in Matrix. The status of execution of these pipelines in a grid environment can be queried dynamically using the Matrix API. Matrix also provides the WSDL/SOAP interface to SRB.

SRB-OpenDAP/DODS integration. Current SRB-DODS integration is to modify/add functionalities in DODS server, and allow it to use SRB as one of its file resources. It is designed and tested with DODS netCDF server.

See "readme.opendap" under Release or Send Email

sifang at sdsc.edu

GridFTP DSI (data storage interface) for SRB. This provides an interface from GridFTP to SRB storage (GridFTP on SRB). There is also an interface from SRB to GridFTP (an SRB GridFTP driver) which is part of the SRB release (starting with SRB 3.3). This DSI interface may be useful in some situations although since users are using GridFTP to get to SRB data much of the SRB functionality is not available. Also, performance will be limited since data is transferred through a gateway host. The SRB DSI was created in collaboration with ANL (John Bresnahan).

Additional SRB Scommand test scripts (python). These are a set of test scripts that execute and verify the results of various Scommands. There are five test scripts: adminCommandTests.py, generalCommandTests.py, collectionTests.py, dataTests.py, containerTests.py, and srbUtils.py, each focusing on different aspects of SRB operation. Some of these are used as part of the autotest.sh automatic testing script (and our tinderbox system), and can also be used at user sites. See the README file for more information. These scripts were developed by Adil Hasan of the UK E-Science Data Management group.

These are part of the SRB release, starting with SRB 3.4. See tests/unittests.

A.Hasan at rl.ac.uk, UK E-Science Data Management group

NCHC SRBfs: This SRBfs package is a mountable filesystem for Storage Resource Broker. SRBfs is based on FUSE project (http://fuse.sourceforge.net/) to provide user-space file system interface. The design principles of SRBfs are not only to provide network unaware filesystem, but also high-throughput file transfer.

The SRB System Report Genertor: The SRB system report generator is designed for the system manager to facilitate the resource management job. This software tool aims to expedite and streamline the monitoring process.

OAISRB: This java serlvet provides an OAI-PMH (Open Archives Initiative Protocol for Metadata Harvesting) interface to the Storage Resource Broker to allow OAI service providers to query and harvest metadata from objects on the SRB. The first release and some documentation is available at the project page.