The computing environment is changing and software licensing models are struggling to keep up. In a world where processors have multiple cores, where a single hardware server may be running multiple virtual machines and where processes are dynamically allocated to resources, the traditional models often don’t apply.
Take the idea of restricting a program to run on a particular processor, or even a single machine at a time. Does this apply to a single processor or a single core? Dual core processors are commonplace and servers already have more. This is a trend that will increase, because chip designers can no longer increase clock speeds in the manner to which we have become accustomed and so they are putting multiple processing units – or “cores” – on each chip instead.
Virtualisation is also becoming common, as IT managers look to improve the utilisation of their hardware and to manage heterogeneous environments. This also confuses the “per-machine” model of licensing. Microsoft has been in the news regarding its licensing terms for virtual machines but it is far from the only vendor that faces this problem.
Virtualisation is made most effective when applications are dynamically assigned to resources as needed. This is a key concept of grid computing and is already found in many data centres. Some multinationals use the same idea on a global scale, using whatever resources are relatively idle as demand fluctuates at different times of the day (or night). Again, per-processor models break down in this new world. For those multinationals shipping jobs around the time zones (“chasing the moon”), even site licences no longer apply.
There is an extra complication on the global scale. Software is not the same price throughout the world, as vendors set prices at what the local markets can bear. What price should be charged to multinationals chasing the moon?
Utility computing and “Software as a Service” also put strain on traditional licensing models. Per-user licensing is not practical in these situations and vendors may not be happy if their per-processor licences are used to serve many buyers instead of one.
So what can you do about it? If your enterprise is large enough, you can negotiate a custom deal with your supplier. Many large companies are doing just that. But this doesn’t scale to the many SMEs trying to increase their server utilisation and reliability with new IT techniques.
One suggestion is that we should pay per unit of use, just as we do for mobile phones. The telecommunications companies are keen on this idea, as they have the technology to handle the billing involved. But there are complications.
For one thing, it is not clear what to measure as a unit of use. Should we pay the same for an hour running on a new, fast, processor as we do for an hour on a four-year-old model due for recycling? Are we paying for processor cycles or user time? What about memory and disk storage?
The answers to these questions will differ from application to application and between vendors, as each adopts a model that is most appropriate for their business. Therefore any licensing infrastructure must be flexible enough to cope with a variety of charging models.
In addition, the financial director buying a pay-by-usage licence will want to know how much this will cost him over the year. He or she doesn’t want to be in the position of a parent paying for a teenager’s uncontrolled overuse of the phone.
On the other side of the deal, the vendors need stable cash flow too. So they will both want an agreed price for an agreed amount of use – again analogous to a phone contract. This in turn will require tools to monitor use and to pay extra when exceptional workloads occur.
This would require an infrastructure that securely tracks usage metrics that vendors might want to use in their licensing models. Preferably, this infrastructure would be an agreed standard so that vendors and clients can build their licensing agreements on a common underlying framework. This infrastructure will also need sophisticated monitoring and notification tools.
But what if you’re just running a number of copies of a package at a single site? A sophisticated infrastructure may be overkill for simple cases. What we need is a few generic solutions that cover most situations. At the complex end, a system of usage tracking, with appropriate exception monitoring, could handle specialist software packages. For simple cases, a site licence based on the number of users may be sufficient.
To make this happen, users and vendors need to get together and thrash out the requirements and solutions in detail. The Grid Computing Now! Conference will convene a panel to discuss these issues and propose solutions. This will form part of the Grids Mean Business track at the meeting of the Open Grid Forum in Manchester. This conversation will build on several previous discussions, both public and private, that have lead to a growing understanding of the potential solutions in this area.
The computing environment is changing. Software licensing models must adapt to survive. We need to make this happen.
Dave Berry is technical lead at Grid Computing Now! , the Department of Traded and Industry funded group promoting grid computing in the public and private sectors
Grid Computing Now! is co-organising the business track at OGF20, which will be held on May 7-11 at Manchester International Convention Centre, Manchester, England.