This chapter provides an overview of Tycoon and describes its usage model.
This section defines the parts of a Tycoon system and how they relate.
A Tycoon user has a single bank account and multiple host accounts. A bank account keeps track of how much currency a user has. Whether the Tycoon currency is tied to a real currency depends on the bank administrator's policy. A host account keeps track of a user's state at a specific host. This state consists of how much currency that the user has transferred there, what her bid is, how his virtual machine is configured, etc. A virtual machine is a portion of a physical machine that that appears to be an independent physical machine, but is actually sharing resources with other virtual machines on the same hardware.
A virtual machine has various resources assigned to it, based on the user's bid. Bids have a duration, after which they expire. Some resources, like CPU cycles, memory, and disk, are non-unique, i.e., users only care about the amount and not the specific instance. Other resources, like TCP ports and IP addresses, are unique, i.e., users do care about the specific instance. For example, a user who requires TCP port 80 to run a web server prefers that port over port 20000. A bid describes the user's types, quantities, and duration of resource requirements and the user's willingness to pay. For more details, refer to Section 1.2, “Usage Model”.
A Tycoon system consists of four types of software components: clients, auctioneers, the bank, and the Service Location Service (SLS).
Clients help users set up and manage accounts, find resources, and manage resources. An agent is a form of client that performs more sophisticated actions on behalf of users (e.g., selecting from multiple hosts, adjusting resources bids in response to load, etc.).
An auctioneer manages the resources on a single providing host. Clients contact auctioneers to query the availability and current prices of resources, bid on resources, etc. To perform most operations on a providing host, a user must first set up a host account on that host. The auctioneer collects bids and manages the virtualization system to ensure that users receive the resources that they bid on. The auctioneer has an owner, which is a user that has administrative privileges over the auctioneer and receives the funds that users pay to the auctioneer.
The bank keeps track of the amount of currency that different
users have in their bank accounts. There is
an Internet-wide bank available at
tycoon-bank.hpl.hp.com.
The Service Location Service (SLS) keeps track of which
auctioneers are up and what their status is. There is an
Internet-wide SLS available at
tycoon-sls.hpl.hp.com.