590 |
|
|
591 |
2.8.3. Open questions |
2.8.3. Open questions |
592 |
-how Xanadu links are saved: is there somekind of urn/uri/hash in the block's header, which refers to another block ? |
-how Xanadu links are saved: is there somekind of urn/uri/hash in the block's header, which refers to another block ? |
593 |
|
|
594 |
|
|
595 |
|
2.9 Models |
596 |
|
|
597 |
|
This sections presents formal models for various p2p architectures. |
598 |
|
|
599 |
|
2.9.1. Centralized |
600 |
|
-this category: Napster |
601 |
|
|
602 |
|
2.9.2. Decentralized, but structured |
603 |
|
-this category: DHTs, SWANs, Skip Graphs, hierarchical Gnutella's (superpeers, clusters) |
604 |
|
|
605 |
|
a) DHT |
606 |
|
(in our case, service is data block) |
607 |
|
-let S be the aggregate of all services s in system |
608 |
|
-let P be the aggregate of all peers (providers) p in system |
609 |
|
-let I be the aggregate of all identifiers i in system |
610 |
|
-let C be the aggregate of all coordinate points c in system |
611 |
|
-for each service s 'mathematical belongs to' S, there is a provider of the service, expressed as 'p = provider(s)' |
612 |
|
-service's identifier is defined as 'i = identifier(s)' |
613 |
|
-metric space is defined as a pair '(C,d)', where d is the distance between coordinate points c |
614 |
|
-hash function is defined as 'hash: K -> C', and coordinate point as 'c = hash(identifier(s))', which maps service, expressed by a identifier to coordinate point c in '(C,d)' |
615 |
|
-peer p is mapped onto a set C = {c 'mathematical belongs to' C: 'mathematical there exists at least one' s 'mathematical belongs to' S, c = hash(identifier(s)) 'boolean AND' (provider(s) = p)} |
616 |
|
|
617 |
|
2.9.2 Decentralized and unstructured |
618 |
|
-this category: Gnutella |
619 |
|
|