[en] The thesis presents an approach to on-demand capacity expansion in communities of Internet users that aggregate their resources to achieve a common objective. Such communities are emerging as forms of organisation taking advantage of an increasing broadband access and computational capacity. Volunteer computing such as SETI@home, Collab- orative Grids such as OurGrid and LaCOLLA, Ad-hoc and Peer-to-Peer Grids, such as P-Grid and the XGrid project from Apple, Open Grids such as those addressed by SORMA and Grid4All and many other approaches of Grid Computing based on Virtual Organisations are the focus of our work. These systems are characterised by the purpose of their participants, i.e. to achieve a common objective taking advantage of the aggregation of other resources. The cited systems, in contrast to high performance computing Grids, are open to new participants, which makes their behaviour unpredictable and dynamic, and resources are usually connected and disconnected spontaneously. While the critical aspect of high performance Grids is computational performance, stability and availability are the main issues for the systems addressed in this work. The thesis homogenises the concepts of those paradigms under the term Contributory System, which is used throughout the thesis to refer to the systems where users provide their resources to be used collectively to achieve a common objective. Resource expansion in Contributory Systems is required so as to increase the limited capacities of ad-hoc collaborative groups under unexpected load surges, temporary resource requirements or other policies defined by the objectives of the Virtual Organisation that they constitute. Four aspects are addressed by the dissertation. Firstly, it identifies the main properties and applications of Contributory Systems and motivates the need for infrastructures to enable on-demand resource expansion. This goes in the direction of Utility Computing trends which are main business lines for IT companies. Thus the thesis proposes the on-demand provision of idle resources from the extremes of the Internet, other Virtual Organisations or Resource Providers to those organisations that have resource needs. In this work, resource allocation is handled by market models which provide efficient while simple mechanisms to mediate the allocation of resources. This proposal enables new emerging opportunities to Internet users to make their business on the Internet by selling their idle resources. Besides, this brings the opportunity to small communities to grow and to bring super-computing capacities to Internet end-users. Secondly, the thesis describes semantically Computational Resources so as to build a common knowledge about the Internets resources. The semantic description enables a common understanding of the nature of resources, permitting the pooling and aggregation of distinct types of technologies while maintaining the same semantics. This makes applications and resource management frameworks independent of the real nature of the resources which we claim as a fundamental aspect to keep resource management independent of the dynamics and evolution of technology in computational environments, such as in Contributory Systems. A semantic description permits the development of generic specifications to provide bid and offer descriptions in computational markets. Thirdly, the architecture for on-demand resource expansion in Contributory Systems is presented. It has been designed to provide the main functionalities to on-demand provision of resources through markets to scenarios characterized by dynamism, evolution and heterogeneity. The architecture provides the main market oriented functionalities and enables dynamic and on-demand execution of market mechanisms. Finally, a specific Grid-oriented market mechanism is presented. The approach is motivated due to the unsuitability of current auctions to efficiently allocate time-differentiated resources (usually provided by many different resource providers) such as most of the re- sources in a Contributory System. The thesis builds a roadmap to achieve flexible and decentralized resource expansion in communities where resources are shared by their participants by analysing the main scenarios where it can be applied, providing the semantics and specification to enable the description of the users' requirements, proposing a flexible and configurable architecture to deal with on-demand resource expansion in Virtual Organisations and proposing an specific mechanism adapted to trade computational resources.

[es] La tesis presenta una aproximación a un conjunto de técnicas para permitir la extensión de las capacidades computacionales, bajo pedido, en comunidades formadas por usuarios de Internet que quieren agregar sus recursos para conseguir una finalidad común. Este tipo de comunidades, emergen como nuevas formas de organización gracias al incremento de las capacidades computacionales y lel ancho de banda. La computación voluntaria como la que se da en sistemas como Seti@home, Grids colaborativos como OurGrid o LaCOLLA, Ad-hoc y Grids de igual a igual como P-Grid o X-Grid de Apple, Grids Abiertos como los dirigidos por SORMA o Grid4All y muchas otras formas de computación Grid basadas en agrupación de recursos en forma de Organizaciones Virtuales son el objetivo de este trabajo. Estos sistemas se caracterizan por el propósito de sus participantes, es decir, llevar a cabo un objetivo común haciendo uso de la agregación de sus propios recursos. Los sistemas mencionados, contrariamente a los sistemas Grid de alto rendimiento computacional, son abiertos a nuevos participantes hecho que los convierte en escenarios impredecibles, dinámicos y donde los recursos pueden conectarse y desconectarse de forma espontánea. Mientras que el aspecto crítico de los Grids de altas prestaciones es el rendimiento computacional, la estabilidad y la disponibilidad son los aspectos más importantes en los sistemas dirigidos en este trabajo. La tesis homogeneiza los conceptos de los paradigmas anteriores bajo el nombre de Sistemas Contributivos, nombre que es usado a lo largo de la disertación para referirnos a sistemas en los cuales sus usuarios hacen contribución de sus recursos para que este sean usados de forma colectiva y así conseguir un objetivo común. La expansión de recursos en los Sistemas Contributivos es una funcionalidad requerida para aumentar las limitadas capacidades computacionales de los grupos colaborativos formados de forma ad-hoc. Sobre todo en momentos puntuales cuando los recursos necesarios son mayores que los disponibles en el grupo. Cuatro aspectos son conducidos a lo largo de la disertación. Primero, las propiedades y principales aplicaciones de los Sistemas Contributivos son identificadas, así como se motiva la necesidad de infraestructuras que permitan la expansión de recursos computacionales bajo demanda. Estas ideas van en la dirección de la Utility Computing, emergentes líneas de negocio de las principales compañías de las TIC. De este modo, la tesis propone la provisión de recursos computacionales bajo demanda a aquellas organizaciones que necesiten, mediante la agregación de recursos de los extremos de Internet, ya sean usuarios finales de la red, otras organizaciones virtuales o proveedores de recursos. En este trabajo, la asignación de recursos es gestionada por modelos de mercado puesto que proveen de mecanismos eficientes y simples para gestionar la asignación de recursos. Esta propuesta aporta nuevas oportunidades a los usuarios finales de Internet para establecer su negocio en la red mediante la venta de sus recursos no usados. Además este trabajo da la oportunidad a comunidades pequeñas a crecer y a traer capacidades de super-computación a los usuarios finales de Internet. En segundo lugar, la tesis describe semánticamente los recursos computacionales para construir una base común de conocimiento sobre los recursos de Internet. La descripción semántica de los recursos permite un entendimiento común de la naturaleza de los recursos, permitiendo así la agrupación y agregación de diferentes tipos de tecnologías mientras se mantienen la misma semántica. Una base semántica común permite que aplicaciones y sistemas de gestión de recursos sean independientes de la naturaleza real de los recursos. En este trabajo consideramos como aspecto fundamental aislar la gestión de los recursos de su naturaleza específica. La descripción semántica además permite el desarrollo de especificaciones genéricas que nos permiten definir los requerimientos de los usuarios en sistemas de asignación de recursos basados en mercados computacionales. Tercero, son presentadas arquitecturas que permiten la expansión de recursos computacionales bajo demanda en Sistemas Contributivos. Estas arquitecturas han sido especialmente diseñadas para proveer de recursos computacionales mediante mercados a escenarios caracterizados por el dinamismo, evolución y heterogeneidad de sus recursos. La arquitectura aporta las principales funcionalidades orientadas a la asignación de recursos mediante subastas y permite además la ejecución de estos mercados bajo demanda. Finalmente, se presenta un mecanismo de mercado adaptado a la asignación de recursos computacionales. Esta contribución se motiva por el hecho que no existe hasta hoy ningún mecanismo que permita la asignación eficiente de recursos computacionales en que su única diferencia es la unidad de tiempo en la que se ofrecen. La tesis construye un camino para lograr la expansión de recursos computacionales de forma flexible y descentralizada en comunidades donde los recursos son compartidos por sus participantes. Este camino se construye mediante el análisis de los escenarios de aplicación, el estudio y definición de modelos semánticos que permiten la descripción de los recursos computacionales, proponiendo también arquitecturas flexibles y configurables que permiten conseguir la expansión de los recursos computacionales bajo demanda y proponiendo mecanismos de mercado adaptados a tal escenario.