Contributed Software

From SRB

(Difference between revisions)
Revision as of 19:35, 6 December 2006
Toaster (Talk | contribs)
Contributed Software Tools
← Previous diff
Revision as of 19:36, 6 December 2006
Toaster (Talk | contribs)
Contributed Software Tools
Next diff →
Line 103: Line 103:
| [ Project page] | [ Project page]
| mwitt at | mwitt at
-|- The Simple URL Gateway is a servlet that allows for easy access to holdings in the SRB via url (ie, ). +|-
-| [ DOwnload and setup]+| The Simple URL Gateway is a servlet that allows for easy access to holdings in the SRB via url (ie, ).
 +| [ Download and setup]
| toaster at | toaster at
|} |}

Revision as of 19:36, 6 December 2006

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

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
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.


Oh-kyoung Kwon, okkwon at
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.


Simon Metson, s.metson at
SRB Perl interface. This package provides an interface whereby many SRB calls are available directly from within perl programs.


Mike Smorul, toaster at
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.


Michal Wronski, michal.wronski at
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.

Link1 Link2

Anthony Kolasny, akolasny at

lufs-srb. A LUFS (Linux Userland File System ) system with extensions allowing it to operate in SRB space.


Tim Warnock, twarnock at
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.


Tim Warnock, twarnock at
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.


Karen Pease (u of iowa), Arcot Rajasekar, sekar at
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
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 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.


talk2matrix at
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
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).



discuss at (list) or schroede at
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:,,,,, and, each focusing on different aspects of SRB operation. Some of these are used as part of the 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, 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 ( 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.

Link to NCHC SRBfs

barz at
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.

Link to Sinica SRB SRG

huimin at
Chitter Chatter: High level methods for SRB Jargon Project page nigel.sim at
Personal Grid Library: User metadata based digital library built using SRB and Gridsphere Project page nigel.sim at

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.

Project page mwitt at
The Simple URL Gateway is a servlet that allows for easy access to holdings in the SRB via url (ie, image.jpg ). Download and setup toaster at