ACM Computing
Surveys 28A(4), December 1996,
http://www-cse.ucsd.edu/~pasquale/SDCR96-NET/PasqualeJ.html. Copyright ©
1996 by the Association for Computing Machinery, Inc. See the permissions statement below.
Position Statement:
Towards Internet Computing
Joseph
Pasquale
Dept. of Computer Science and Engineering,
U. C. San Diego
La Jolla, CA 92093-0114, USA
pasquale@cs.ucsd.edu,
http://www-cse.ucsd.edu/~pasquale/
Abstract:
Internet Computing is highly network-integrated computing
on existing networks of computers, done on the grand scale of the Internet.
Supporting Internet Computing will require advances in network communications
architectures. I outline three research directions that I believe are
critical: resource sharing based on market-economic principles; communication
of agents (i.e. where the basic type of message is a program and not simply
data); and provisions for ranges of qualities of service.
See also the citation page
[Pasquale 1996] for this position statement.
Categories and Subject Descriptors:
C.2.1 [Computer-Communication Networks]: Network Architecture and
Design -
network communications, store and forward networks;
C.2.4 [Computer-Communication Networks]: Distributed Systems -
network operating systems;
D.4.4 [Operating Systems]: Communications Management -
network communication;
D.4.6 [Operating Systems]: Security and Protection -
authentication;
D.4.7 [Operating Systems]: Organization and Design -
distributed systems;
General Terms: Design, Management, Performance.
Additional Key Words and Phrases:
market-based resource allocation, agent-based computing, quality of service.
1 Internet Computing
Today's large networks offer, for the most part, a simple message-based
communication service between computing nodes. I would like to briefly
put forth what I think is needed to achieve much larger-scale and more
highly network-integrated computing environments out of existing networks
of computers, such as the Internet.
The promise of a "network computing" system, an idea that is certainly
not new but is now gaining popularity, over more traditional
ones like high-performance multiprocessors and supercomputers
is increased scalable cumulative power, more efficient (and economical)
use of existing resources, and more effective system management.
Ultimately, large economies of scale are achievable by the ability to
arbitrarily deliver and redirect the shared power of the network
to any user, in contrast to today's systems where power is essentially
statically distributed and preallocated, and not shared.
On the scale of the Internet, we call this Internet Computing.
Much work has been done in network operating systems and distributed
computing that support the idea of Internet Computing. However, to
realize this idea on a truly grand scale, I see three areas of networking
research as being pivotal.
2 Resource-sharing based on market-economic principles
The prospect of harnessing a significant fraction of a network to execute
a distributed application is tantalizing, but how would these resources be
made available? They will generally be owned by different organizations
that will not necessarily volunteer to make them freely available, even when
they are not being used. To provide the incentives for large-scale resource
sharing, resources need to be buyable and sellable, with the possibility of
contracts that (at least in theory) can be enforced.
This requires flexible communication
protocols for establishing contracts. A set of protocols are needed that
range from ones that are very light-weight for small "micro-value"
transactions,
to those that are more heavy-weight where enforceability
(perhaps at a later time) is more important than efficiency.
This will support the creation of a market economy of network-accessible
resources, including those that are specifically part of the network such
as link bandwidth, and switch/router processing and memory capacities.
These resources would be purchased on demand, in very short periods of time,
and for very short (and larger when necessary) periods of time. Users
will rely more on buying the power in the network, only when and for how
long they need it, rather than on relying solely on what is locally available.
This will be more economical and offer the user more potential power.
3 Communication (and remote execution) of foreign software agents
Today's most popular Internet application, browsing the World Wide Web,
is based on the computing paradigm whereby data (and more recently, programs)
are retrieved from remote sites and processed (executed) locally. However,
this model assumes a significant amount of local computing and storage power,
and lots of bandwidth for moving large data items.
If processing, memory, and storage, can be purchased remotely, it makes
more sense to run the computations near the data, alleviating the user's
requirement for local power, and getting better
performance by reducing communication time and costs. In other words,
I am arguing that buying remote compute (and memory and storage) resources,
on demand, will be cheaper than buying local power as well as the bandwidth
needed to obtain data objects. This makes even more sense when you consider
that in the future, the typical scenario will be that what the user has
locally is some small cheap low-power wireless computing/communication
device, e.g. telephone or personal digital assistant, and so retrieving and
absorbing large data objects and processing them locally is the wrong model.
The alternative model of doing the computation remotely, ideally near the
data, requires a more flexible communication (and computation) architecture,
e.g. one that supports the dissemination of "agents". An agent is simply
a software module that (1) is executable, (2) is mobile (over computing nodes
of a network), (3) can maintain state across movements, and (4) can be
authenticated (as to who it is an agent for). The latter requirement is
especially important since an agent must have purchasing power to be a
player in a market economy as described above, and will carry digital
certificates representing funds.
In this communication model, the basic type of message is not (simple)
data, but a program, i.e. an agent programmed to buy computational (and
communication) resources as it moves about. I expect that applications
will often involve the dissemination of many agents as part of a distributed
computation. A simple but illustrative example is a remote video browser
which generates two agents. One agent runs at the remote video server,
buying the necessary processing, memory, and I/O resources at the server
to (1) obtain and send the video frames to the user, and (2) support
adaptivity to trade off bandwidth and processing. Since network
communication bandwidth may not be guaranteed, the remote agent will
work with the other agent, which runs locally, to insure smooth-motion
video despite fluctuations in bandwidth and delay by adapting the frame
rate, the level of compression, the quality of resolution, the amount of
buffering, or some other parameter to control performance. The client
simply receives frames from the local agent and displays them. This is
an example of two disseminated agents that negotiate an application-specific
end-to-end function on behalf of the client. One might also imagine a
set of agents running on a set of nodes along the path from server to
client, implementing some type of negotiated application-specific
hop-by-hop function (e.g. distributed phased filtering).
4 Providing a range of qualities of service
A market economy will not work if buyers don't know the quality of what
they are buying, or sellers can't insure the quality of what they are
selling. In networking, one would like various types of assurances
regarding bandwidth, (end-to-end) delay, etc., and be willing to pay
based on the strength of the assurance. These assurances may range
from weak hints to strong guarantees. In some cases, like mobile devices
in a wireless network environment, weak assurances may be the best one
can expect.
This points to two research directions: (1) how to provide a range of
qualities of service, including those that are at least predictable (but
not necessarily guaranteed), and (2) how to provide adaptivity tools for
applications that require more than best-effort services in environments
that support services whose qualities are less than guaranteed. Given
that control over resources, including those pertaining to the network,
will be decentralized, it is clear that one cannot hope for a world of
purely guaranteed service as has been the case for telephone networks;
indeed, it will not be economical, and in many cases, unnecessary.
And yet, there is certainly a place for guarantees where they can be
provided, especially in a market economy where they are worth implementing
despite their high cost if there is a market.
5 Conclusions
Supporting Internet Computing will require advances in network communications
architectures. I have outlined three research directions that I believe
are critical: resource sharing based on market-economic principles;
communication of agents (i.e. where the basic type of message is a
program and not simply data); and provisions for ranges of qualities
of service. In fact, these directions have dimensions other than just that
of communication (which is not surprising, given the trend toward higher
levels of integration between computation, communication, and storage).
For example, operating systems must provide finer control over physical
resources if stronger assurances for quality of service are required;
they must also provide more controlled execution environments if foreign
agents are to be allowed to execute while limiting their potential damage.
At the application level, new methods are required for building programs
that are more adaptive to changes in underlying resources during their
executions. Advances in these areas in any one dimension should provide
insight on how to achieve the same advances in the other dimensions.
References
-
[Pasquale 1996]
- Pasquale, J., 1996.
Position Statement,
Strategic Directions in Computing Research:
Working Group on Networks and Telecommunications
Computing Surveys,
28A(4), December 1996,
http://www-cse.ucsd.edu/~pasquale/SDCR96-NET/PasqualeJ.html.
Permission to make digital
or hard copies of part or all of this work for personal or classroom
use is granted without fee provided that copies are not made or
distributed for profit or commercial advantage and that copies bear
this notice and the full citation on the first page. Copyrights for
components of this work owned by others than ACM must be honored.
Abstracting with credit is permitted. To copy otherwise, to
republish, to post on servers, or to redistribute to lists, requires
prior specific permission and/or a fee. Request permissions from
Publications Dept, ACM Inc., fax +1 (212) 869-0481, or
permissions@acm.org.
Last modified: Thu Oct 17 13:11:11 EDT
Joseph Pasquale
<pasquale@cse.ucsd.edu>