View other issues

Contents

elasticLM – Software License Management for Distributed Computing Infrastructures

by Claudio Cacciari, Daniel Mallmann, Csilla Zsigri, Francesco D’Andria, Björn Hagemeier, Angela Rumpl, Wolfgang Ziegler and Josep Martrat

One of the major obstacles to using commercial applications in Distributed Computing Infrastructures like Grids or Clouds is the current technology that relies on controlling the use of these applications with software licenses. “Software licensing practices are limiting the acceleration of grid adoption” was one of the results of a survey of the 451group in 2005. Just recently the 451group published a similar report on obstacles to the broad adoption of Cloud Computing - and again licensing practices were listed among the top five obstacles. elasticLM overcomes the limitations of existing licensing technologies allowing seamless running of license protected applications in computing environments ranging from local infrastructures to external Grids and Clouds.

So far, commercial software has rarely been used in Grids and is – except for Software as a Service (SaaS) – also rarely used in “public” Clouds. This is due to current limitations of license management technology and the fact that business models of independent software vendors (ISV) do not allow for the use of their software in the Grid.

Only recently MathWorks provided a technical solution (and a business model) allowing use of their MATLAB suite in the EGEE (Enabling Grids for E-sciencE project) Grid. However, this is a bilateral agreement only and has no implications for other Grids. IBM recently achieved an agreement on providing licenses for certain IBM applications inside EC2 with Amazon. Apart from these exceptions however, license management technology for software is still based on the model of local computing centres providing both resources for computation and the software used for simulations together with the required licenses. Usually, these licenses are provided on the basis of named users, IP-addresses, or sometimes as a site license. Executing these applications is almost impossible or illegal when using resources that are spread across different administrative domains. Licenses are usually bound to the license server within the domain of the user which does not allow access for verification from outside, due to firewalls or similar.

The European project SmartLM laid the foundations for elasticLM. After the SmartLM project ended in July 2010, three of the project’s partners (Atos Origin, Gridcore Aktiebolag and the Fraunhofer Institute SCAI) agreed to develop the new product based on the SmartLM prototype.. The SmartLM approach reflects the changing paradigms within information technology. The transition from monolithic infrastructures to agile, service-based architectures was at the heart of the SmartLM project. Treating and implementing software licenses as Web Service resources, thus providing platform independent access to licenses just like to other virtualized resources, is at the core of the SmartLM architecture. Licenses are managed through a license service implemented as a bag of services and realised as mobile tokens, delivering the required flexibility and mobility. In order to execute a license protected application under current technology, a permanent bi-directional network connection to the license service at runtime controlling the authorization is required. elasticLM aims to solve this problem by decoupling authorization for license usage from authorization for application execution.. All authorizations for license usage are expressed and guaranteed by Service Level Agreements based on the WS-Agreement specification of the Open Grid Forum (OGF).

A built-in license scheduling service allows licenses to be reserved in advance, which means license availability can be guaranteed at a given later point in time, eg when the computing resources to execute the simulation become available. Thus there is no risk of encountering blocked licenses while an application is idling waiting for computing resources to become available. Similarly, there is no risk of aborted applications because the required license is used by another user at the time the application starts up after waiting for resources. An orchestration service can be used to synchronize license reservation and resource availability.

Figure 1: Basic scenario for using elasticLM licenses in a distributed computing infrastructure.
Figure 1: Basic scenario for using elasticLM licenses in a distributed computing infrastructure.

Using open standards as far as possible,instead of proprietary protocols, is considered crucial for the interoperability with and integration into existing middleware stacks. Figure 1 shows the basic SmartLM scenario for environments where at run-time there is no bi-directional network link available between the license service that created the license token and the remote execution environment, eg due to firewall restrictions.

SmartLM addresses the licensing management issues not only from a technological point of view, but also from the perspective of developing new business models. This approach is necessary in order to convince Independent Software Vendors adopting to the new license technology. More details can be found on the project web pages.

The major part of the licensing technology presented in this article has been designed and implemented prototypically in the European Commissions ICT programme in the FP7 project SmartLM. In the European funded project OPTIMIS (Optimized Infrastructure Services) we will further improve the capabilities of the SmartLM solution, developing additional features, for instance a feature that makes the SmartLM solution more secure in Clouds or extending the capabilities if there is a bi-directional network connection available at run-time.

Links:
elasticLM: http://www.elasticlm.com
SmartLM: http://www.smartlm.eu/

Please contact:
Wolfgang Ziegler
Fraunhofer SCAI, Germany,
Tel: +49 2241 14 2258
E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.{jcomments on}