Deliverable D8.9 - First release of DM services

Similar documents
Deliverable D8.6 - Data Management Integration

Documented first release of the security infrastructure and APIs

IST GridLab - A Grid Application Toolkit and Testbed. Result Evaluation. Jason Maassen, Rob V. van Nieuwpoort, Andre Merzky, Thilo Kielmann

The GAT Adapter to use GT4 RFT

Grid Data Management

Data Management 1. Grid data management. Different sources of data. Sensors Analytic equipment Measurement tools and devices

NeuroLOG WP1 Sharing Data & Metadata

COMPUTE CANADA GLOBUS PORTAL

Understanding StoRM: from introduction to internals

A Simple Mass Storage System for the SRB Data Grid

Database Assessment for PDMS

THE GLOBUS PROJECT. White Paper. GridFTP. Universal Data Transfer for the Grid

Grid Architectural Models

Introduction to Grid Computing

CSMC 412. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 2. September 15 CMSC417 Set 2 1

Universidad Carlos III de Madrid Computer Science and Engineering Department Operating Systems Course

EPCC Sun Data and Compute Grids Project Update

Grid Computing Systems: A Survey and Taxonomy

bytes per disk block (a block is usually called sector in the disk drive literature), sectors in each track, read/write heads, and cylinders (tracks).

Architecture Proposal

Using Resources of Multiple Grids with the Grid Service Provider. Micha?Kosiedowski

RSA NetWitness Logs. Salesforce. Event Source Log Configuration Guide. Last Modified: Wednesday, February 14, 2018

Deliverable Final Data Management Plan

Data Movement and Storage. 04/07/09 1

Knowledge Discovery Services and Tools on Grids

The Grid Monitor. Usage and installation manual. Oxana Smirnova

CSE 124: Networked Services Fall 2009 Lecture-19

Deliverable D5.3. World-wide E-infrastructure for structural biology. Grant agreement no.: Prototype of the new VRE portal functionality

Microsoft SQL Installation and Setup

CSI 402 Systems Programming LECTURE 4 FILES AND FILE OPERATIONS

The Grid Application Toolkit: Toward Generic and Easy Application Programming Interfaces for the Grid

Map-Reduce. Marco Mura 2010 March, 31th

DIRAC data management: consistency, integrity and coherence of data

Redesigning the SEGL Problem Solving Environment: A Case Study of Using Mediator Components

CSE 124: Networked Services Lecture-16

Introduction to SRM. Riccardo Zappi 1

Tivoli SecureWay Policy Director Authorization ADK. Developer Reference. Version 3.8

Scientific data management

GFS-python: A Simplified GFS Implementation in Python

Coveo Platform 7.0. Yammer Connector Guide

XtreemFS a case for object-based storage in Grid data management. Jan Stender, Zuse Institute Berlin

CS519: Computer Networks. Lecture 6: Apr 5, 2004 Naming and DNS

#include <tobii/tobii.h> char const* tobii_error_message( tobii_error_t error );

Checkpoint/Restart System Services Interface (SSI) Modules for LAM/MPI API Version / SSI Version 1.0.0

Gridbus Portlets -- USER GUIDE -- GRIDBUS PORTLETS 1 1. GETTING STARTED 2 2. AUTHENTICATION 3 3. WORKING WITH PROJECTS 4

OptimiData. JPEG2000 Software Development Kit for C/C++ Reference Manual. Version 1.6. from

Introduction Data Management Jan Just Keijser Nikhef Grid Tutorial, November 2008

Infoblox Authenticated DHCP

Unified-E OPC-UA Adapter

Contents. Chapter 1 Overview of the JavaScript C Engine...1. Chapter 2 JavaScript API Reference...23

COS 318: Operating Systems. Journaling, NFS and WAFL

Computer Networks Prof. Ashok K. Agrawala

Chapter 4:- Introduction to Grid and its Evolution. Prepared By:- NITIN PANDYA Assistant Professor SVBIT.

Radix Tree, IDR APIs and their test suite. Rehas Sachdeva & Sandhya Bankar

IBM Education Assistance for z/os V2R2

irods for Data Management and Archiving UGM 2018 Masilamani Subramanyam

DQ2 - Data distribution with DQ2 in Atlas

Write a technical report Present your results Write a workshop/conference paper (optional) Could be a real system, simulation and/or theoretical

SkylineGlobe Server. Version Getting Started

KIP-95: Incremental Batch Processing for Kafka Streams

Using SQL Developer. Oracle University and Egabi Solutions use only

[6 marks] All parts of this question assume the following C statement. Parts (b) through (e) assume a variable called ptrs.

Grid Programming: Concepts and Challenges. Michael Rokitka CSE510B 10/2007

Chapter 11: File System Implementation. Objectives

Deploy Enhancements from Sandboxes

Magnolia Community Edition vs. Enterprise Edition. Non-Functional Features. Magnolia EE. Magnolia CE. Topic. Good value for money.

1. Introduction to the Common Language Infrastructure

Distributed System. Gang Wu. Spring,2018

Distributed Systems 16. Distributed File Systems II

Grid Middleware and Globus Toolkit Architecture

Chapter 11: File-System Interface. Long-term Information Storage. File Structure. File Structure. File Concept. File Attributes

COS 318: Operating Systems. NSF, Snapshot, Dedup and Review

IBM Security Access Manager Version January Federation Administration topics IBM

C# 6.0 in a nutshell / Joseph Albahari & Ben Albahari. 6th ed. Beijin [etc.], cop Spis treści

!! How is a thread different from a process? !! Why are threads useful? !! How can POSIX threads be useful?

ebay s Architectural Principles

SharePoint Portal Server 2003 Advanced Migration Scenarios

AMGA metadata catalogue system

What is a file system

GROWL Scripts and Web Services

Visual Profiler. User Guide

Yves Goeleven. Solution Architect - Particular Software. Shipping software since Azure MVP since Co-founder & board member AZUG

Accessing DB2 Everyplace using J2ME devices, part 1

NextData System of Systems Infrastructure (ND-SoS-Ina)

ExtraHop 7.3 ExtraHop Trace REST API Guide

Distributed Filesystem

Introduction. Kelly Davis. MPI-AEI. Author s name

grib_api.h File Reference

4. CONTAINER DATABASE OBJECT ORIENTED DESIGN

Input & Output 1: File systems

Grid Computing. MCSN - N. Tonellotto - Distributed Enabling Platforms

The Google File System

CS514: Intermediate Course in Computer Systems

Microsoft SharePoint Server 2013 Plan, Configure & Manage

The Materials Data Facility

OGCE User Guide for OGCE Release 1

Chapter 11: File-System Interface. File Concept. File Structure

Hybrid Backup & Disaster Recovery. Back Up SAP HANA and SUSE Linux Enterprise Server with SEP sesam

SciX Open, self organising repository for scientific information exchange. D15: Value Added Publications IST

extensible Access Method (XAM) - a new fixed content API Mark A Carlson, SNIA Technical Council, Sun Microsystems, Inc.

Transcription:

GridLab - A Grid Application Toolkit and Testbed Deliverable D8.9 - First release of DM services Author(s): Document Filename: Work package: Partner(s): Lead Partner: Config ID: Document classification: Felix Hupfeld, Andrei Hu tanu, Andre Merzky, Thorsten Schütt, Brygg Ullmer WP 8 - Data Handling and Visualization ZIB GridLab-08-DATA-0006-M24 Internal Abstract: This document describes the APIs for WP8 s high level data access services and libraries. These prototypes have been deployed on the GridLab testbed. Last amendment date: 2004/01/16 & time: 10:03:52

Contents 1 Introduction 2 2 Metadata Catalog 2 2.1 Architecture....................................... 2 2.2 Interface......................................... 2 2.3 Relations to other workpackages........................... 5 2.3.1 WP9 - Portal.................................. 5 2.3.2 WP12 - Messaging............................... 5 2.4 Planned Improvements................................. 5 2.4.1 Query language................................. 6 2.4.2 Schema Management.............................. 6 3 Remote Partial File Access 6 4 Replica Catalog 6 4.1 Namespace for logical file names........................... 6 4.2 Database for replica locations............................. 6 4.3 Interface to File Movement.............................. 7 4.4 Integration with other Services............................ 7 5 File movement 7 5.1 ns FileTask Struct Reference............................. 7 5.2 Function Documentation................................ 8 6 File browsing 12 6.1 Directory entry Struct Reference........................... 13 6.2 Directory entries Struct Reference.......................... 13 6.3 List response Struct Reference............................ 13 6.4 List structured response Struct Reference...................... 13 6.5 Size response Struct Reference............................ 14 6.6 Time response Struct Reference............................ 14 6.7 Function Documentation................................ 14 GridLab-08-DATA-0006-M24 Internal 1/16

1 Introduction This deliverable produces a report on the first release of the data handling tools, and their integration and usability in testbed and application environments. 2 Metadata Catalog 2.1 Architecture The services and infrastructure of a Grid host a number of persistent and semi-persistent objects like files, jobs and messages. These objects are scattered all over the Grid; their unifying property is that they can be named, ie. they have a unique identifier, preferably in URI form. In order to be able to access these objects, the Grid user needs an interface to search this object space for objects of interest. Having found the wanted objects, the user can locate and access them. This functionality is provided by the Metadata Catalog which acts as the Grid s interface for searching for Grid objects. These objects are registered in the Metadata Catalog along with their metadata automatically by other services or manually by a user. The registered metadata is an extract of the object s properties and content and acts as a descriptive representation of the object. This representation is formated as attribute-value pairs and can be searched by clients of the service. The Metadata Catalog is organized as a set of namespaces, each of which is a closed compartment that contains the metadata for a set of objects. Users that authenticate with the Metadata Catalog have certain access rights to a namespace and its objects. These access rights are specified by the access policy for the respective namespace. Each user owns an associated private namespace whose access policy grants access only to the owner of these resources. This namespace can be used to register private objects of the user or to add private metadata to visible objects of other namespaces. This namespace can refered to by the namespace name alias Private. The Metadata Catalog usually keeps one public namespace whose access policy grants read access to all authenticated users, but limits write access to owners of the respective objects. This namespace is called Public. Further namespaces for example, supporting collaboration in closed user groups can be created and given an access policy. 2.2 Interface The Metadata Catalog is accessible as a web service. Authentication is done with TLS/SSL or GSI. This web service interface implements the following functions. void createobject (in string namespace, in string object, out string retcode) Create a new object and establish the necessary access control information so that the user owns the object. namespace The namespace in which the object should be created. object The object s identifier GridLab-08-DATA-0006-M24 Internal 2/16

200 Object created 201 Made public 403 User not authorized 405 Object already exists 503 Service Unavailable void deleteobject (in string namespace, in string object, out string retcode) Delete the object in the given namespace. namespace The namespace in which the object should be created. object The object s identifier 200 Object deleted 403 User not authorized 404 Object not found 503 Service Unavailable void addattribute (in string namespace, in string object, in string attribute, in string value, out string retcode) Add an attribute to the given object. namespace The namespace to which the value should be added. object The object s identifier attribute The name of the attribute value The value of the attribute 200 Value added 403 User not authorized 404 Object not found (create it first) 406 Attribute name not found (Attribute does not fit to scheme) 409 Value wrong type (like adding a string to a number attribute) 412 Only set operation is allowed 503 Service Unavailable void setattribute (in string namespace, in string object, in string attribute, in string value, out string retcode) Set an attribute for the given object. namespace The namespace in which the value should be set. object The object attribute The name of the attribute value The value of the attribute See addattribute(), without 412. GridLab-08-DATA-0006-M24 Internal 3/16

void removeattribute (in string namespace, in string object, in string attribute, in string value, out string retcode) Remove an attribute frome the given object. namespace The namespace from which the value should be removed. object The object attribute The name of the attribute value The value of the attribute see addattribbute(), without 409, 412, additional 400 Not found void getattribute (in string object, in string attribute name, out set< Attribute- Value > result, out string retcode) Retrieve the values of the attribute of the object from all accessible namespaces. The result set contains a local object identifier for each attribute value pair that allows the client to relate attributes to objects. Furthermore, each element of the result set contains the namespace name it is coming from. object The object attribute name The name of the attribute 200 Values retrieved 403 User not authorized 404 Object not found 406 Attribute name not found (Attribute does not fit to scheme) 503 Service Unavailable void getattributes (in string object, out set< AttributeValue > result, out string retcode) Retrieve all the values of all the attributes (incl. public, user s private, internal) of the object. object The object See above, without 406 void getattributesforobjects (in set< string > objects, out set< AttributeValue > result, out string retcode) Retrieve all the values of all the attributes (incl. public, user s private, internal) of all the given objects. objects An array of LFNs for which to retrieve the attributes. See above, without 406. GridLab-08-DATA-0006-M24 Internal 4/16

void getobjects (in string query, out set< string > objects, out string retcode) Execute the query and retrieve all object ids (ie. LFN) of the result set. Queries are currently of the from AttributeName1=Value1&&AttributeName2=Value2&&.... This will be extended later. query The query. 200 Ok 403 User not authorized 420 Parse error 406 Attribute name not found (Attribute does not fit to scheme) 409 Value wrong type for operator 503 Service Unavailable void getattributesforquery (in string query, out set< AttributeValue > result, out string retcode) Execute the query and retrieve all attributes of the objects in the result set. query The query. See above. void getservicedescription (out string description) Give status information A string with service status information 2.3 Relations to other workpackages 2.3.1 WP9 - Portal The Gridlab Portal, as GridLab s principle user interface, will contain a data management portlet which will present the Metadata Catalog s functionality to the user. We worked together with the Portal WP to begin integrating our web service interface with the portal. 2.3.2 WP12 - Messaging The Messaging work package has developed a client library which supports the storage of message metadata within the Metadata Catalog. This library is communicating successfuly via the web service interface. 2.4 Planned Improvements This section lists improvements to the service that are planned for implementation before the final release. GridLab-08-DATA-0006-M24 Internal 5/16

2.4.1 Query language Currently, the query language supports only conjunctions of predicates which contain the equality operator. We plan to enhance a query language to support parenthesis, other boolean query operators, and greater than and smaller than operators for predicates. 2.4.2 Schema Management Currently, the metadata schema is implicitly defined by the way the namespaces are used. We plan to add an interface for explicit schema management. 3 Remote Partial File Access In parallel to this deliverable we have also delivered D8.5. The document for that deliverable discusses the Remote Partial File Access mechanism. We also wrote a paper on the theoretical background which has been accepted for CCGrid 2004 [1]. We have integrated the remote partial file access with Amira to provide efficient visualization of remote data. The next associated step will be to integrate partial file access support with Triana. 4 Replica Catalog The replica catalog consists of 3 components: a namespace for logical file names; a database of replica locations; and an interface to file movement to replicate files on demand. 4.1 Namespace for logical file names In the last release, our interface to the replica provided two abstractions: logical files and collections of logical files. After speaking with users, we came to the conclusion that a more powerful abstraction was necessary. We eventually decided to use a model which is already in widespread use: directories and files. Following this approach, we changed our API to reflect its similarity with POSIX filesystems. The functions are now called: mkdir, rmdir, create, rm and ls. We do not guarantee POSIX semantics; instead, we roughly mimic the associated interface. As an aside, for performance reasons, it is difficult to guarantee consistency between replicas. 4.2 Database for replica locations The replica location database has not changed significantly since the last release. The same three core functions remain: add location of file remove location of file list locations In contrast to the last release, the logical file is now specified by a path instead of collection name + file name. GridLab-08-DATA-0006-M24 Internal 6/16

4.3 Interface to File Movement The catalog provides several functions to create replicas of files at new locations. In the case where several physical locations are already known to the catalog, a suitable replica must be chosen for transfer to the new location. As the catalog has no notion of bandwidth or distance between hosts, we rely on the Adaptive Service from WP-7 to provide a ranking of the replicas by available bandwidth to the destination host. The actual file transfer is provided by the Data Movement Service. 4.4 Integration with other Services The earliest user of the Replica Catalog were the authors of the Resource Management Service. They use the catalog for registering input and output files as well as executables. The Replica Catalog also plays an important role for job migration. In parallel, we began integration with the GAT. For both versions, the replica management adaptor was one of the earliest adaptors completed for the GAT. In the last quarter, we began integration with the Visualization Service. If jobs register their output files or intermediate results, the visualization service can utilize logical files names instead of physical locations. This approach is much more user-friendly. 5 File movement The file movement service s interface and behavior was previously implemented and shared as a prototype, as described in our deliverable 8.3. Based on the valuable feedback provided by other work packages (including WP2, WP4, WP5 and WP9) this interface was modified and extended, and has evolved into the form presented here as a first release of the data movement service. 5.1 ns FileTask Struct Reference xsd int ns FileTask::error code Numeric error code (200 - OK, 300 - service error, other - ftp error codes) xsd string ns FileTask::error string Human-readable error string xsd long ns FileTask::id Unique (per service instance) identifier of the transfer xsd double ns FileTask::progress percentage Percentage of completion for copy and move xsd int ns FileTask::status Operation status : 0 - New, 1 - Active, 2 - Pending, 3 - Failed, 4 - Done xsd int ns FileTask::type Operation type : 0 - Copy, 1 - Move, 2 - Delete GridLab-08-DATA-0006-M24 Internal 7/16

xsd string ns FileTask::user DN DN of the user that initiated the transfer 5.2 Function Documentation int ns DATACopyFile (char source URL, char dest URL, int max retries, int use parallel, char response) Copies a single file. This method blocks until the operation is completed (with success or failure) source URL the URL of the source file dest URL the URL of the destination max retries the maximum number of restarts to be tried before a complete failure(momentarily unused) use parallel true if the usage of parallel streams is desired response return parameter a string containing a numeric error code followed by a human-readable description int ns DATACopyFileDefaults (char source URL, char dest URL, char response) Copies a file using default parameters. This method blocks until the operation is completed (with success or failure). The defaults are currently 0 for max retries and 1 for use parallel. source URL the URL of the source file dest URL the URL of the destination response return parameter ns DATACopyFile a string containing a numeric error code followed by a human-readable description int ns DATADeleteFileDefaults (char in URL, char response) Deletes a file. This method blocks until the operation is completed (with success or failure). in URL the URL of the file response return parameter a string containing a numeric error code followed by a human-readable description GridLab-08-DATA-0006-M24 Internal 8/16

int ns DATAdeleteFileTask (xsd long id, int response) Deletes information about a transfer. The transfer should have been initiated with one of the init methods. This method stops the transfer if in progress. After delete is called, the information about the transfer will be erased and the id will be reused. This method should always be called after the transfer is completed so that the memory on the machine hosting the service can be freed. id the transfer identifier integer containing error code int ns DATAgetFileTask (xsd long id, struct ns FileTask response) Returns information about the status of a transfer. The transfer should have been initiated with one of the init methods. The method returns immediately. id the transfer identifier a handle containing data on the transfer status int ns DATAinit CopyFile (char source URL, char dest URL, int max retries, int use parallel, struct ns FileTask response) Starts a non-blocking copy operation. Non-blocking operations have similar parameters to the blocking versions. Every non-bocking operation is handled by a separate thread. ns DATACopyFile a handle containing the transfer id and other data on the transfer status int ns DATAinit DeleteFile (char source URL, struct ns FileTask response) Starts a non-blocking delete operation. ns DATAinit CopyFile source URL the URL of the file a handle containing the transfer id and other data on the transfer status GridLab-08-DATA-0006-M24 Internal 9/16

int ns DATAinit MoveFile (char source URL, char dest URL, int max retries, int use parallel, struct ns FileTask response) Starts a non-blocking move operation. ns DATAMoveFile, ns DATAinit CopyFile a handle containing the transfer id and other data on the transfer status int ns DATAinit TransferFile (int operation, char source URL, char dest URL, int max retries, int use parallel, struct ns FileTask response) container method for non-blocking Copy, Move and Delete. operation 0 for copy, 1 for move and 2 for delete source URL the URL of the source file dest URL the URL of the destination (ignored for delete) max retries the maximum number of restarts to be tried before a complete failure(momentarily unused) use parallel true if the usage of parallel streams is desired at copy (ignored for delete) ns DATATransferFile, ns DATAinit CopyFile a handle containing the transfer id and other data on the transfer status int ns DATAMoveFile (char source URL, char dest URL, int max retries, int use parallel, char response) Copies a file and then deletes the source. This method blocks until the operation is completed (with success or failure). source URL the URL of the source file dest URL the URL of the destination max retries the maximum number of restarts to be tried before a complete failure(momentarily unused) use parallel true if the usage of parallel streams is desired at copy response return parameter a string containing a numeric error code followed by a human-readable description GridLab-08-DATA-0006-M24 Internal 10/16

int ns DATAMoveFileDefaults (char source URL, char dest URL, char response) Moves a file using default parameters. This method blocks until the operation is completed (with success or failure) The defaults are currently 0 for max retries and 1 for use parallel. source URL the URL of the source file dest URL the URL of the destination response return parameter ns DATAMoveFile a string containing a numeric error code followed by a human-readable description int ns DATArestartFileTask (xsd long id, struct ns FileTask response) Restarts a stopped or otherwise interrupted copy or move operation. The transfer should have been initiated with one of the init methods. If the operation was interrupted with stopfiletask or by a transient network error and the service was previously able to save a restart marker, the operation is resumed using this call. If the transfer was not interupted (it failed from the beginning) or it was interrupted too early (no restart marker was saved) then the transfer cannot be resumed. id the transfer identifier a handle containing the transfer id and other data on the transfer status int ns DATAstopFileTask (xsd long id, struct ns FileTask response) Stops a copy or move operation (blocking). The transfer should have been initiated with one of the init methods. This methods interrupts (if possible) the transfer. This is especially useful for large file transfers. The operation may be resumed using restartfiletask id the transfer identifier a handle containing data on the transfer status int ns DATATransferFile (int operation, char source URL, char dest URL, int max retries, int use parallel, char response) Container method for Copy, Move, and Delete. This method makes calls to Copy, Move, or Delete depending on the operation type. The other parameters are forwarded. This method blocks until the operation is completed (with success or failure). GridLab-08-DATA-0006-M24 Internal 11/16

operation 0 for copy, 1 for move and 2 for delete source URL the URL of the source file dest URL the URL of the destination (ignored for delete) max retries the maximum number of restarts to be tried before a complete failure(momentarily unused) use parallel true if the usage of parallel streams is desired at copy (ignored for delete) response return prameter ns DATACopyFile, ns DATAMoveFile, ns DATADeleteFileDefaults a string containing a numeric error code followed by a human-readable description int ns DATAwaitFileTask (xsd long id, struct ns FileTask response) Blocks and waits for a transfer to complete. The transfer should have been initiated with one of the init methods. This method waits for the transfer to end; or, if the transfer is already finished, it returns immediately. id the transfer identifier a handle containing data on the transfer status int ns getservicedescription (void dump, char description) Returns a string description of the service. dump unused description return parameter int ns isalive (int dump, int response) Test method. Returns 1 (used to see if the service is running) dump unused response return parameter 6 File browsing The file browsing service s interface and behavior was implemented as a prototype as described in our deliverable 8.4. Based on the valuable feedback provided by other work packages (including WP2 and WP4) this interface was modified and extended, and has evolved into the form presented here as a first release of the file browsing service. GridLab-08-DATA-0006-M24 Internal 12/16

6.1 Directory entry Struct Reference char Directory entry::datetime last modification time (example: Apr 8 2003) char Directory entry::group file group long Directory entry::links number of links char Directory entry::name file name char Directory entry::owner file owner char Directory entry::permissions textual permissions (example: drwx ) long long Directory entry::size file size in bytes 6.2 Directory entries Struct Reference struct Directory entry Directory entries:: pointer to directory entries ptr int Directory entries:: vector size size 6.3 List response Struct Reference char List response::response error code (numeric) followed by human-readable text char List response::retlist the string containing the directory listing 6.4 List structured response Struct Reference struct Directory entries List structured response::entries The structured directory listing. char List structured response::response error code (numeric) followed by human-readable text GridLab-08-DATA-0006-M24 Internal 13/16

6.5 Size response Struct Reference char Size response::response error code (numeric) followed by human-readable text unsigned long Size response::size size in bytes 6.6 Time response Struct Reference char Time response::response error code (numeric) followed by human-readable text long Time response::seconds Modification time in seconds. 6.7 Function Documentation int ns DATAConnectedList (char in URL, int verbose, struct List response resp) Lists the content of a directory. This is the main function of the browsing service. When called for the first time, this method initiates a cached connection to the GridFTP server if possible. That connection will be used for all subsequent list operations until the StopCache method is called. Also, the service will not cache more than a fixed number of connections at one time. in URL the URL of the directory to be listed verbose A boolean parameter. When set to 1 will result in detailed listing of the given directory (ls -l). When set to 0, the method will return just a list of entries in that directory. resp the return parameter the unparsed directory listing and an error message ns DATAStopCache int ns DATAConnectedListStructured (char in URL, struct List structured response resp) Lists and parses the content of a directory. This method provides a structured response to a verbose directory listing. The text returned by the server is parsed and separated in directory entries. A cached connection will be used or initiated for this operation. in URL the URL of the directory to be listed resp the return parameter the structured directory listing and an error message GridLab-08-DATA-0006-M24 Internal 14/16

ns DATAConnectedList, ns DATAStopCache int ns DATAConnectedModTime (char in URL, struct Time response resp) Returns the modification time of a directory entry. Returns the time since the Epoch (00:00:00 UTC, January 1, 1970), measured in seconds. A cached connection will be used or initiated for this operation. in URL the URL of the directory entry resp the return parameter the modification time and an error message ns DATAConnectedList, ns DATAStopCache int ns DATAConnectedSize (char in URL, struct Size response resp) Returns the size of a file. Returns the file size in bytes. A cached connection will be used or initiated for this operation. in URL the URL of the directory entry resp the return parameter the file size and an error message ns DATAConnectedList, ns DATAStopCache int ns DATAStopCache (void dump, char response) Destroys the data structure that was used to cache the GridFTP connections. This method deletes the client handle, cached for the user connecting to the service. This removes all cached connections for the user. The method should be used when the user does not need to make any other listing operations to free the memory. dump not used error code (numeric) followed by human-readable text int ns getservicedescription (void dump, char description) Returns a string description of the service. dump unused description return parameter GridLab-08-DATA-0006-M24 Internal 15/16

int ns isalive (int dump, int response) Test method. Returns 1 (used to see if the service is running) dump unused response return parameter References [1] T. Schütt, A. Merzky, A. Hutanu, and F. Schintke. Remote partial file access using compact pattern descriptions. Accepted for CCGrid 2004. 6 GridLab-08-DATA-0006-M24 Internal 16/16