wiki:UseCases

Version 11 (modified by zooko, at 2007-12-18T16:39:59Z) (diff)

remove a use case which is too fine a distinction, and scale up prop grid

Network Configurations

There are several ways that people might want to use Tahoe. We're not necessarily committed to satisfying all of these use cases -- these are just possibilities.

As these network configurations develop, the node roles section develops in complement.

namenumber of nodesadministrative domainsnode capacitynode availabilitychurn
friendnet2-10many domains, but all trustedmixedmixedlow
proprietary grid3-1000 servers, up to 50,000 clientsone domain for servers, many for clientsuniformhighlow
hivecache10-1000one domain, but not as well controlledsomewhat uniformhighlow
Allmydata plus customers10-10,000manymixedmixedmedium
global gridanymanymixedmixedhigh
  • friendnet: A group of friends want to share backup and files.
  • proprietary grid -- 1x upload: A sysadmin, or Allmydata Inc. wants to backup data onto a set of servers. The data is uploaded to the servers over a streaming protocol such as HTTP (using the Web API).
  • proprietary grid -- p2p upload: A sysadmin, or Allmydata Inc. wants to backup data onto a set of servers. The data is uploaded to the servers over the Tahoe distributed upload protocol.
  • hivecache: A sysadmin wants to backup data onto hundreds of employee workstations.
  • Allmydata plus customers: Allmydata, Inc. and its customers share a storage grid including the customer's computers.
  • global grid: A large, diverse ecosystem of people and organizations who want a storage grid with extremely high reliability and availability.

Node Roles

Network configurations can usually be thought of in terms of a topology connecting particular node roles. These roles often fulfill the same abstraction across network configurations. By allowing specialized role configurations, a plethora of custom network configurations can be deployed without modifying the code.

Here are some archetypal roles:

  • The Available Migrator consumes storage from a changing address.
    • Migration Pattern Availability - Availability is high, but address changes are frequent.
    • Examples: Laptops, mobile devices, poor DHCP configurations.
    • Should this role supply storage? If so, how does it affect average file availability? -reliability?
  • The Ephemeral Consumer consumes storage, but lacks availability.
    • Poor availability - Availability is low, such as a node that is only up when consuming storage service.
    • Examples: Backup service customer.
    • Hints:
      • Set size limit config option to 0. (Is this a kludge currently? -Nejucomo)
  • A Grid Storage Servant provides storage but does not consume it.
    • High Availability - An individual file's availability is largely dependent on average storage availability.
    • Remote Control - Typically a provider configures many nodes through a centralized manner for convenience.
    • Non Consumer - Specialized storage providers do not consume storage services.

  • A Grid Manager does not provide storage services but controls storage servents.

Deployment

The Test Grid

... Put your experience with particular configurations here ...