You are looking for a project that will contribute to the Globus open source Grid software? Or for a MS or PhD thesis topic? We hope you can find something of interest here. These ideas have been contributed by Globus developers and users. Each is of interest to someone: some may be of interest to many. We encourage you to let us know if you decide to take a project on.
You want to propose a project? This page is editable by any dev.globus committer; alternatively, send email to email@example.com. We ask that you provide as many details as you can, give a name so that interested parties can follow up with you, and refrain from editing other people's project ideas without coordinating with them.
Note: This wiki is not intended as an alternative to the feature request mechanisms associated with dev.globus projects. Use bugzilla for that.
Monitoring and Discovery
- AJAX frontend to the MDS Index service : AJAX provides a seemingly realtime updates of data exposed by Web Services by doing a persistent XmlHttpRequest/Response in the background. There are a bunch of tools available for free out there especially from google ( good license too) to make a quick prototype. I have a book on the subject that I can loan it to anybody interested. I have to say this though.. we should have AJAX frontend to data stored in the Index service.. Contact: Ravi Madduri (firstname.lastname@example.org)
- Google Maps API for usage-stats and as a client for Registry service. This could be a great demo where we can just have a map of world on the screen and have it updated in real time. Contact: Ravi Madduri (email@example.com) - We are pleased to annonuce that Ujjwal Singh and Priyanka Varma are working from Dhirubhai Ambani - Institute of Information and Communication Technology (http://www.daiict.ac.in/) started working on this and provided us with a early prototype. More details can be found at:http://mapmds.googlepages.com/
- Name based service lookup. Lookup service endpoints (both WS and non-WS?) using sensible short human readable names - something like a hostname-like label (gram.teraport.uchicago.edu, for example) or at the worst a URI.
- Container Status Service. A super simple service that does nothing but register an "I'm alive" RP with an index service so that simple WebMDS views can be created to what containers are up or down.
- Develop a Windows Explorer plug-in that would mount a remote file system running a GridFTP service using GridFTP protocol. One can drag and drop files from local machine to remote machine and the drop happens using GridFTP. Contact: Ravi Madduri (firstname.lastname@example.org), John Bresnahan (email@example.com)
- GridFTP GUI. Help with the packaging and improvement of a newly developed GridFTP GUI that is part of an unofficial Java CoG Kit repository into the main branch. Contact: firstname.lastname@example.org
- Characterize the performance of GridFTP on 10GigE NICs This would involve running various memory-to-memory transfers over both local and wide area networks using TCP as the underlying transport mechanism. It also includes other intersting studies including characterizing the CPU usage against different values of data transfer throughput. Contact: Raj Kettimuthu (email@example.com)
- Profiling the Globus implementation of the GridFTP server to gain an understanding of how time is spent in the GridFTP server while performing a data transfer. Contact: Raj Kettimuthu (firstname.lastname@example.org)
- Simplified GRAM -- Simplify GRAM to do only job submission (i.e. no staging) in favor of more flexible BPEL workflows. A trivial workflow can be placed behind the old service interface to simulate the old behavior.
- A workflow portal to the Grid. Contact: email@example.com. This project can also be leading to a Masters Thesis. University of Muenster has a call issued describing the project in German: http://pvs.uni-muenster.de/pvs/arbeiten/gridportal/
- Distributed Workflow Services. This project develops and demonstrates distributed workflow services as part of a computational Grid. Contact: firstname.lastname@example.org. A Masters thesis would be possible.
- Bandwidth-Delay Product (BDP) estimation service that provides an approximate bandwidth-delay product for a given pair of hosts. Contact: Raj Kettimuthu (email@example.com) - Vijay Prashanth from CIT, India is working on this project.
- Multiple-parent certificates -- certificates which are signed by more than one CA, which are valid when at least one of the signing CAs is recognised.
- MyProxy Login Module -- Create a Java Login module (i.e. for username/password) to lookup a credential in MyProxy and authorize based on that credential. (See http://myproxy.ncsa.uiuc.edu/jaas/.)
- Support for PKCS#12 -- Currently, the Globus GSI layer relies on the PEM credential format. Support in the lowest layer for the PKCS#12 credential store format, combined with auto-detection of which format that's used in a file and an environment variable that determines what format to write in (default PEM), would allow for easier integration with existing PKI environments and commercial CAs.
- Grid scripting tools -- shell-like commands for simple operations on the grid, like "list available sites," "copy data D to remote hosts H, I, and J", "execute P on hosts A, B, C". The intention is that you can do the following: "find me sites that have more than 1 TB free space; deploy software S to those sites; run program P on those sites." Contact: Mike Wilde (firstname.lastname@example.org)
- Grid Shell -- A Grid shell that simplifies interaction with the Grid. A prototype exists. Contact email@example.com. A Masters thesis could be possible based on this topic. This is very similar to the project above. A demonstration of the prototype was shown at SC06.
C WS Core
- Automated generation of command-line Web Services clients -- The globus-wsrf-cgen program generates C language type and service bindings from WSDL and XML schema documents. Add code to generate a client command-line program for each service in a bindings package. Add support for constructing valid input documents via command line. This would be useful for scripting and testing service implementations. Contact: firstname.lastname@example.org
- NAT-friendly service hosting -- Create a message handler which rewrites network addresses in EPRs returned by the service container with an external IP address. Interact with firewalls to allow connections to the service container's network ports. This will be useful for hosting services or receiving notifications when the client is behind an IP-address-rewriting firewall. Contact: email@example.com
- Database-backed resource implementation -- Create a database-backed implementation of the WSRF resource API to allow transparently persistent resources. Add support for reloading resource state when a container is restarted. Contact: firstname.lastname@example.org
- Integrate Globus with standard Linux distributions -- e.g., Suse, RedHat, Debian. Contact: Ian Foster (email@example.com)
- "Error message framework". Create a set of GLOBUS_LOCATIONs and user commands that are buggy. For instance, reference a database as the wrong user in one location, or reference a non-existent file in a file copy command. Run both valid and invalid commands against valid and misconfigured installations, recording the command output. Use the output to help improve error messages. Contact: Charles Bacon (firstname.lastname@example.org)
- Develop a Reliable Blast UDP (RBUDP) Driver for Globus XIO. Contact: Raj Kettimuthu (email@example.com)