DWTA '97

Abstract for Christian Tschudin

Name: Christian Tschudin
Organization: University of California - Berkeley
E-mail: tschudin@icsi.berkeley.edu

Go to the bio


Funny Money Arbitrage for Mobile Code

Christian F. Tschudin International Computer Science Institute, Berkeley

Keywords: Mobile software agents, messengers, M0, resource allocation, agoric systems, continuous double auction, arbitrage.

Resource control is -- beside security -- the major problem of mobile software agents: an agent execution platform will permanently be faced with conflicting and unpredictable resource requests for which it must have decision procedures to allocate its limited resources to the requesting software agents. The question then is how such allocation strategies should look like and how they can be implemented such that they scale for networks with thousands of execution platforms. Proposed concepts gravitate around some form of money or energy to limit an agent's resource consumption, but this aims more at limiting the ``damage'' an agent can do and does by itself not help in the allocation problem: it just transforms it into the problem of steering money distribution (you would have to prevent that too much agents with too much money invade a specific host).

In our approach we follow an economic model of resource allocation where prices are used as selection criteria and at the same time `scarcity' signals. Each platform has its own local funny money in which local prices are expressed. Platforms become small economies that are linked with neighboring economies, where mobile software agents do business by by selling the services they provide. Having local funny money has many attractive properties when compared to a single global currency: double spending is trivial to prevent, price fixing is based on local information only, inflation (increase of the circulating money) affects a single platform only. The idea is that money exchange rates will be established between neighboring platforms that express the platforms' relative economic power. These exchange rates will not be negotiated by the platforms themselves but result from the activities of {\em mobile arbitrage agents} which provide the basic money exchange service {\em on top of} the mobile code execution substrate. This arbitrage concept, well known in the economic literature and practiced every day in the real world, was implemented in the messenger mobile code environment M0, one of the oldest and probably the most radical mobile code approach.

All resource consumption in a messenger execution platform is charged for at low level. First, prices are imposed by the executing system which raises or lowers prices according to a resource's load. In M0 we currently monitor CPU usage, a messenger's private as well as a platform's shared memory, thread creation, outgoing channel bandwidth, internal tables and even the amount of money circulating in the (local) system. A second level where prices are fixed is the messenger sphere itself where messengers can sell resources they possess and buy resources from other messengers. For this purpose, we added to M0 the basic support for {\em continuous double auctions} (CDA) with limited orderbook. CDAs can be created on the fly and provide the bare matching functionality -- the actual good exchange phase is carried out by ordinary inter messenger communications. Small ``standard'' bidding routines were developed to facilitate the usage of CDAs. These routines were tested for their ``good behavior'': a) they are effective in finding exactly the fair price, b) the resulting prices are stable for a varying number of market participants, and finally c) these routines have a good market clearing capacity. Of course, messengers are free to bring their own bidding logic with them, but our experience suggests that more sophisticated bidding routines usually perform worse.

In the purist messenger view, locality of decision taking is a major design criterion which, for example, excludes a globally valid money to be built into the system. Instead, every execution platform has its own funny money and fixes prices independently of other platforms. The bridging of two platforms and their money system is accomplished by messengers. We developed a set of arbitrage messengers which permanently go forth and back, selling and buying foreign money bills using the new CDA mechanism. They establish a money exchange ratio between the two platform's money systems which depends on the load difference of the two platforms, but also on the difference in the demand for foreign money. This fully mobile code based money exchange application is a central building block for a messenger economy: it establishes adaptive exchange rates and provides a basic money transportation mechanism. Currently we are exploring the dynamics of these arbitrage messengers i.e., their adaption and transport capacity, also with respect to multi-hop arbitrage cycles.


Generated automatically on Mon Feb 23 20:26:04 EST 1998