Version 14 (modified by zooko, at 2008-03-13T04:34:10Z) (diff) |
---|
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.
name | number of nodes | administrative domains | node capacity | node availability | churn |
friendnet | 2-10 | many domains, but all trusted | mixed | mixed | low |
proprietary grid | 3-1000 servers, up to 50,000 clients | one domain for servers, many for clients | uniform | high | low |
hivecache | 10-1000 | one domain, but not as well controlled | somewhat uniform | high | low |
Allmydata plus customers | 10-10,000 | many | mixed | mixed | medium |
global grid | any | many | mixed | mixed | high |
- friendnet: You and your friends share a virtual filesystem. It remains accessible even when some of your friends' computers are unreachable. Your friends can't see your files by default, but you can share individual files and directories with individual friends or with all friends.
- proprietary grid -- 1x upload: Pay http://allmydata.com $5/month and you can store your stuff on their grid. Or: run your own grid by buying a few servers, so that you can backup your own stuff on it. The data is uploaded to the servers over a streaming protocol such as HTTP (using the Web API).
- hivecache: Install a tahoe node on each of the workstations in your office, turning their unused disk space into a giant storage pool.
- 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.
- We think that the foolscap/introducer mechanism will dynamically adjust to the changing IP address and make this appear to be a server with good availability, but this use case hasn't been much tested. Please let us know if you try it.
- 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 'no_storage' config option.
- 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 ...