70 likes | 172 Vues
The Storage Resource Broker (SRB) is a middleware solution developed by SDSC that provides a uniform interface to access heterogeneous networked data resources. SRB can be used as a distributed file system, particularly beneficial for managing archives of large files. It allows users to access datasets via metadata properties instead of relying solely on physical names or locations. With interfaces like Scommands and MySRB, users can interact through UNIX-like command lines or web-based graphical models. Future development includes a new C++ module to align with GROWL architecture.
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