70 likes | 166 Vues
GROWL: Storage Resource Broker Library. SRB BASICS. SRB is the Storage Resource Broker developed by SDSC This project has forked, and we use the SDSC branch in preference to the commercial General Dynamics branch SRB is a client-server piece of middleware
E N D
SRB BASICS • SRB is the Storage Resource Broker developed by SDSC • This project has forked, and we use the SDSC branch in preference to the commercial General Dynamics branch • SRB is a client-server piece of middleware • Provides a uniform interface to heterogeneous networked data resources • Datasets can be accessed by metadata properties rather than physical name/location. This feature appears not to be widely exploited. • Primary use of SRB is as a distributed file system, especially for archives of large files.
EXAMPLE SYSTEM CLIENT SRB SERVER SRB SERVER TAPE STORE UNIX FILESTORE NTFS FILESTORE
CURRENT INTERFACES • Scommands • UNIX shell-like command line interface • JARGON • Java programming interface • MySRB • Web based, graphical explorer-type model • SDSC C API • Allows total control but at the cost of a complex interface
OUR APPROACH • A new C-based API • Commonly used language • Highly portable • Requires no extra additions to GROWL • Greatly simplified interface • Easier to pick up and use • Option to use existing interfaces is left open • Originally designed to statically link with client code
EXAMPLES status=srbStart(); if(0==status) { srbSetCurrResource(DEFAULT_RESOURCE); srbSetTransferBufferSize(65536); status=srbPutFile(“/home/alb23.eminerals/uploaded.txt”, ”test.txt”, NULL); (void) srbGetDirectory(“./dl_directory”, ”/home/alb23.eminerals/bin”); srbEnd(); }
FUTURE DEVELOPMENT • To fit new GROWL architecture, a new C++ module is being written • Will run on the GROWL server • Uses the GROWL C API to communicate with SRB resources • Uses the GROWL Files API to communicate with non-SRB resources • New user interface becomes a rough 2-phase commit model. • Transaction history will be kept