As one of the most popular forms of distributed computing technology, Grid brings together different scientific communities that are able to deploy, access, and run complex applications with the help of the enormous computational and storage
power offered by the Grid infrastructure.
However as the number of Grid applications has been growing steadily in recent
years, they are now stored on a multitude of different repositories, which remain specific to each Grid. At the time this research was carried out there were no two well-known Grid application repositories sharing the same structure, same
implementation, same access technology and methods, same communication
protocols, same security system or same application description language used for application descriptions. This remained a great limitation for Grid users, who were bound to work on only one specific repository, and also presented a significant
limitation in terms of interoperability and inter-repository access. The research presented in this thesis provides a solution to this problem, as well as to several other related issues that have been identified while investigating these areas of Grid.
Following a comprehensive review of existing Grid repository capabilities, I defined the main challenges that need to be addressed in order to make Grid repositories more versatile and I proposed a solution that addresses these challenges. To this end, I designed a new Grid repository (GAMRS – Grid Application Meta-Repository
System), which includes a novel model and architecture, an improved application
description language and a matchmaking system. After implementing and testing
this solution, I have proved that GAMRS marks an improvement in Grid repository
systems. Its new features allow for the inter-connection of different Grid
repositories; make applications stored on these repositories visible on the web; allow for the discovery of similar or identical applications stored in different Grid repositories; permit the exchange and re-usage of application and applicationrelated objects between different repositories; and extend the use of applications
stored on Grid repositories to other distributed environments, such as virtualized cluster-on-demand and cloud computing