Notes
NASD & Tapestry
---------------
What problem(s) is NASD designed to solve?
What's the standard architecture for a file server?
- you have a server with attached storage
- that server reads storage then sends what it reads over the network to a client
Limitations of this approach
- bandwidth bottleneck on the server: reading lots of disks in parallel only to copy to memory then send over the network puts huge strain on server memory system
- also limits clients inherently, again because of bandwidth constraints
Idea: have clients talk directly to the disks, server just has to authorize access
Why aren't the disks just smaller servers? Because they don't understand the concept of files
- traditionally this abstraction is blocks, but NASD does something different, why?
What problem is Tapestry designed to solve?
- routing when you don't want to retrieve information from fixed hosts
- need to propagate messages to find who has what information
- also, hosts will come and go, so need to deal with that
WHEN is this problem relevant? When is it not?
How well does this kind of architecture deal with untrusted or even malicious nodes?
Big question: do you think we use these kinds of architectures so much nowadays? Why or why not?