'Utility computing' (also known as 'on demand computing') is the packaging of
computing resources, such as computation and storage, as a metered service similar to a physical
public utility (such as
water or
natural gas). This system has the advantage of a low or no initial cost to acquire hardware; instead, computational resources are essentially rented. Customers with very large computations or a sudden peak in demand can also avoid the delays that would result from physically acquiring and assembling a large number of computers.
Conventional
Internet hosting services have the capability to quickly arrange for the rental of individual servers, for example to provision a bank of
web servers to accommodate a sudden surge in traffic to a web site.

Virtual Organizations accessing different and overlapping sets of resources
"Utility computing" usually envisions some form of
virtualization so that the amount of storage or computing power available is considerably larger than that of a single
time-sharing computer. Multiple servers are used on the "back end" to make this possible. These might be a dedicated
computer cluster specifically built for the purpose of being rented out, or even an under-utilized
supercomputer. The technique of running a single calculation on multiple computers is known as
distributed computing.
The term "
grid computing" is often used to describe a particular form of distributed computing, where the supporting nodes are geographically distributed or cross
administrative domains. To provide utility computing services, a company can "bundle" the resources of members of the public for sale, who might be paid with a portion of the revenue from clients.
One model, common among
volunteer computing applications, is for a central server to dispense tasks to participating nodes, on the behest of approved end-users (in the commercial case, the paying customers). Another model, sometimes called the
virtual organization, is more decentralized, with organizations buying and selling computing resources as needed or as they go idle.
The definition of "utility computing" is sometimes extended to specialized tasks, such as
web services.
History
Utility computing is not a new concept but has a long history. It was first described as:
IBM conducted this kind of business offering computing power and database storage to big banks from its world wide data centers. As Intel increased the desktop power, the computer architecture has gone through terminal/mainframe, client/server, browser/middleware. Recently, it was re-initiated by Sun offering the
Sun Grid service to consumers in 2000. InsynQ (
[1]), Inc. launched utility computing, [on-demand] applications, and desktop hosting services in 1997 using HP equipment. HP introduced the Utility Data Center in 2001. Since 2000 many important computing companies have entered the market, but there have also been smaller organizations that have used utility computing. Some of these organizations use utility computing to help offset the cost of their own hardware, others use it to share the cost of resources within organizations. In 1999, InsynQ launched [e-Accounting], focusing on providing Intuit's QuickBooks accounting products as on-demand application services. In December 2005,
Alexa launched Alexa Web Search Platform, a Web search building tool for which the underlying power is utility computing. Alexa charges users for storage, utilization, etc. There is space in the market for specific industries and applications as well as other niche applications powered by utility computing. For example,
PolyServe Inc. offers a
clustered file system based on commodity server and storage hardware that creates highly available utility computing environments for mission-critical applications including Oracle and Microsoft SQL Server databases, as well as workload optimized solutions specifically tuned for bulk storage, high-performance computing, vertical industries such as financial services, seismic processing, and content serving. The Database Utility and File Serving Utility enable IT organizations to independently add servers or storage as needed, retask workloads to different hardware, and maintain the environment without disruption.
In summer 2006 Amazon launched
Amazon EC2 (Elastic Computing Cloud) which,
as of August 2007, is still in "Limited Beta". This allows the launching and use of (in principle) unlimited numbers of virtual computers with a 1.7Ghz x86 processor, 1.75GB of RAM, 160GB of local disk, and 250Mb/s of network bandwidth, at a price (1 August 2007) of $0.10 per hour each. The software that provides the virtualisation is Xen and the most commonly used operating system on the virtual computers is Linux. There are also charges for data storage and for data transfer across the Internet. Uses include not only image rendering and processing but also general-purpose Web server clusters.
Legal problems
A problem that is emerging with all attempts to provide utility computing is the legal framework in which it is undertaken. At present (2007) it is considered that computing takes place where the computer is, and is at least partly the responsibility of the owner of the computer. This inhibits the wide international spread of utility computing, since if your compute job may use CPUs in the USA, Britain and India, you are subject to the legal systems of three different countries, which may have incompatible restrictions and requirements. For example, if a CPU is in England or Wales, the
Regulation of Investigatory Powers (RIP) Act 2000 says that as part of an investigation “in the interests of national security, for the purpose of preventing or detecting serious crime, or for the purpose of safeguarding the economic well-being of the United Kingdom” the police may demand the keys to any encrypted data. It is an offence (with sentence of up to two years in jail) to fail to provide your encryption keys, and it can also be an offence to reveal the fact that the keys have even been demanded. A truly international computing network thus places intolerable risks on large classes of computer use, especially if virtual CPUs migrate from one country to another outside the control (or even knowledge) of the user.
To take
Amazon EC2 as an example: this originally required that "You will not use Amazon Web Services in … any manner that might be discriminatory based on race, sex, religion, nationality, disability, sexual orientation or age." The "might be" includes practically every human activity. The more recent version adds that Amazon EC2 may not be used for gambling (which is a legal activity in most parts of the world) or "any activities that might be libelous or defamatory or otherwise malicious or harmful to any person or entity".
[1] Presumably, therefore, even law enforcement is not a permitted activity.
Utility computing should be contrasted with other utilities such as electricity. In the terms and conditions of electricity suppliers (in the UK at least) it is contractually permitted to use electricity for any purpose at all
[2], including torture, genocide or drug production, whether done in a discriminatory fashion or not. The presumption is that the criminal law is the proper way to control criminal activities.
Although the Amazon service has been used as an example the problem is inherent in all utility computing and therefore needs to be resolved internationally. No responsible organisation can make use of a utility if using it demands a detailed knowledge of international law and a judgment how that law is currently being interpreted by all of the jurisdictions involved.
References
1. Amazon Web Services™ Customer Agreement
2. S3 in Business
★
Systems Journal - Vol. 43, No. 1, 2004 - Utility Computing
★
Distribute Computing, white paper review
★ [ http://sun.com/grid Sun Utility Computing]
See also
★
Edge computing
External links
★
Utility Computing Website
★
Tech Target
★
eWeek.com
★
A Multics based definition
; Technical documents
★
Australian GRIDS Lab's Report on -
Utility Computing and Global Grids