- Introduce location-independent Web idea (citing benefits from hash-based addressing) - `Standing on the shoulders of giants`_: Webrotting example - Problems with location-depencence, other articles recognizing these - Location-independent, semantic-free, *self-verifying* identifiers (ref SFR paper (Balakrishnan et.al. IPTPS'03), ref Walfish paper) - Benefits of hash-based addressing: - Pages easily movable between servers - Data accessible as long as anyone keeps a copy - Load balancing (download from everyone who has a copy) - Can use one addressing scheme with different protocols, searching different networks for the content behind a hash (see the ``hash`` URN namespace proposal) - Closest thing to location-independent is actually, it seems, Freenet - SFR (semantic-free referencing) not all that close, though semantic-free idea shared (SFR takes along many problems of the Web) - Other projects exploit some of the advantages of hash-based (storage systems: CFS, PAST; web caching: Squirrel), but don't address the Web. - Possibility of desktop integration in ways that the location-dependent Web cannot archieve, through the unique combination of network transparency and location independence (ref ourselves). - However, there's a problem with this: versioning - Basic problem: Hash-based addressing allows no updates - Contributions; structure of this paper - Main contrib: Pointer records for implementing updating - Other contribs: - The idea of a location-independent Web including location-independent version management - Non-linear versioning through obsoletion - Related work: How current systems deal with it - No updates: - PAST - Free Haven - Centralized updates (destructive): - SFS &c - Publius (apparently) - Oceanstore - Network-level destructive updates: - Freenet - SFR (apparently) - CFS - Conclusion: Doesn't provide the benefits of hash-based addressing; doesn't allow accessing past versions - Pointer records - Basic model of underlying system: Only blocks and reverse indexing (nicely provided through DHT) - Key idea: Pointers are abstract references that *point* to different blocks (versions) over time - The association between a pointer and a version is formed by a special kind of block, the *pointer record* - Signatures - Timestamp for ordering the records/versions (note on problems this entails-- if a computer's clock is set into future etc) - Implementable in other systems, too - Carries over the four benefits from hash-based addressing: - Version references movable between servers - Past versions accessible as long as anyone keeps a copy - Load balancing (download the pointer record from whoever has it) - Can use one addressing scheme for *updateable* information, searching different networks for versions - Non-linear versioning for asynchronous collaboration - (also one person using more than one computer) - Permanent signatures - To archieve the permanence alluded to above, need to take into consideration stolen/cryptoanalyzed private keys - Simple measure: use only hashes; but obviously, we don't want to do that always [could do it in academic articles, though...] - Will now outline two schemes for permanent signatures. The first comes from the literature, but has patent problems; the second is a sketch of a system invented by us. - KASTS: - ... - Our system: - ... - Conclusions