240 likes | 454 Views
CS244B Final Review Session. Anthony Ho. Administration. Distributed File Systems project: -Working on grading -Majority of students fail at least one test. Final exam. Tuesday 3:30 – 6:30 pm Gates B01 Cumulative Closed book Multiple choice and short answer. Agenda.
E N D
CS244B Final Review Session Anthony Ho
Administration • Distributed File Systems project:-Working on grading-Majority of students fail at least one test.
Final exam • Tuesday 3:30 – 6:30 pm Gates B01 • Cumulative • Closed book • Multiple choice and short answer
Agenda • Directories and Naming • Accounts and Authentication • Transactions, Agreement, and Reconciliation
Common, Proper Names, Description • Common names can refer to a set of objects • Proper names refer to a specific object • Common names have synonymy, ambiguity, substitutability with description
Pure and Impure names • Pure names – No encoding or description of the entity being referred to • Impure names – Contains some information about the entity
Advantages/Disadvantages of Impure Names • Can encode structure used for mappingEx: • Can include some information about the object. Ex: dev/cdrom • Can use structure to facilitate distributed allocation – Some controller assigned responsibility for some subset of names • Can lose flexibility – Entities cannot as easily change without changing their name • Longer names
External/Internal names • External names are necessary for: -error reporting-referring to objects from user-visible interfaces-address-space and machine-independent identification of objects
Internal Names • More efficient and simpler for software to implement • “External names are a necessity; internal names are an optimization” • Sometimes a necessary optimization • Internal names cannot capture intent • Examples: IP addresses
UUID • Identifiers that can be unique for every object in the universe. An internal name • 256 bits? • May introduce impurities for structuring to facilitate mapping due to size of identifier • All problems of internal names. • Legacy issues. • Semantics of UUID naming unclear
When to use internal names • Internal names are much shorter than external names • Only must be unique in the context that uses them. Transient • How large should they be, 32 usually. Up to 64. Or variable length
Cheriton’s view of names • Usually, a server maps names to objects. • Cheriton argues that each object maps external names for objects that it implements • Fate-sharing violated if a name server used
Decentralized/Centralized naming • Centralized. All naming lookups go to one place • Decentralized: Multiple name authorities • Security issue of decentralized: How to know a server is responsible for naming of a certain object
Examples: • Lampson Directory Naming: Database changes updated in “sweeps” • Epidemic approach: Names spread like an epidemic • V-system: Uses internal naming
URLs • Initially impurity limits the flexibility of this name. Cannot move object without renaming it • Benefit: Associated brand • Benefit: Subtree redirection • Benefit: Logical or virtual name
Shared vs Public Key Encryption • Shared key – Symmetric key. Same key used for encryption and decryption • Public key – Asymmetric key. Different keys used for encryption and decryption. • Public key encryption much slower than Shared keys
Encryption Terms • Confidentiality – Communication cannot be read by others • Integrity – Communication cannot be modified without detection • Authentication – Can determine who the message is from
Three issues with key management • Lifetime – How long before regenerating key. • Selection – How to generate a key • Distribution – How to distribute keys among parties: Outside channel, chained key distribution, two-level key distribution, trusted third party
How to Authenticate • Supply key or password • Encrypt a value, if decrypts to the right value, then the principal must have the key • Third party vouches for principal. Certificates
Problems with Certificates • Revocation difficult • Difficult to determine liability • Verifying entities is expensive and might not be worth it
Open Security vs Secrecy • Secrecy has a single point of failure, the key • Cannot tell when key is no longer secret • Open security goes for safety and availability • Open security puts everything in the open and clear to everyone • Unexpected actions will be contested and detected quickly
Non-blocking commit • Disseminate result of prepare to commit and before to commit. • Two phase commit is blocking. Servers block while waiting for result of prepare to commit • Surviving server that knows state of prepare to commit can complete the protocol by committing
Consistency vs Availability • The more servers you have the more possibility for inconsistency • Consistency is safer, but typically availability is more useful
Any questions? • Good luck on the final!