12 |
\usepackage{url} |
\usepackage{url} |
13 |
\usepackage{booktabs} |
\usepackage{booktabs} |
14 |
\usepackage{longtable} |
\usepackage{longtable} |
15 |
|
\usepackage{verbatim} |
16 |
|
|
17 |
%*********************** |
%*********************** |
18 |
% Tyyliluokan pakolliset määritykset |
% Tyyliluokan pakolliset määritykset |
384 |
|
|
385 |
|
|
386 |
|
|
387 |
\parbox{90pt}{Routing} & |
\parbox{90pt}{Query routing} & |
388 |
\parbox{110pt}{Incorrect forwarding (hostile), incorrect routing (hostile)} & |
\parbox{110pt}{Incorrect forwarding (hostile), incorrect routing (hostile)} & |
389 |
\parbox{110pt}{Query monitoring, cross check routing tables, verify routing tables, create routing table invariants} & |
\parbox{110pt}{Query monitoring, cross check routing tables, verify routing tables, create routing table invariants} & |
390 |
Increases system complexity |
\parbox{110pt}{Increases system complexity} |
391 |
\\ \hline |
\\ \hline |
392 |
|
|
393 |
|
|
421 |
|
|
422 |
\parbox{90pt}{Sudden network partition} & |
\parbox{90pt}{Sudden network partition} & |
423 |
\parbox{110pt}{Sub network is isolated from other network because of network disconnection} & |
\parbox{110pt}{Sub network is isolated from other network because of network disconnection} & |
424 |
\parbox{110pt}{Self-tuning, environment observatorion, backup connections} & |
\parbox{110pt}{Self-tuning, environment observatorion, localized network connection for minimun latency (backup connections)} & |
425 |
\parbox{110pt}{Creates more overhead/space requirements per node} |
\parbox{110pt}{Creates more overhead/space requirements per node} |
426 |
\\ \hline |
\\ \hline |
427 |
|
|
428 |
|
|
429 |
\parbox{90pt}{Searching} & |
\parbox{90pt}{Searching} & |
430 |
\parbox{110pt}{Efficient searching requires exploiting of previous queries} & |
\parbox{110pt}{Efficient searching requires exploiting of previous queries} & |
431 |
\parbox{110pt}{View trees, bloom filters its variations} & |
\parbox{110pt}{View trees, bloom filters and its variations} & |
432 |
\parbox{110pt}{Effective, but not flexible} |
\parbox{110pt}{Effective, but not flexible} |
433 |
\\ \hline |
\\ \hline |
434 |
|
|
436 |
\parbox{90pt}{Efficient data discovery} & |
\parbox{90pt}{Efficient data discovery} & |
437 |
\parbox{110pt}{Find resources efficiently, if resource exists (broadcasting)} & |
\parbox{110pt}{Find resources efficiently, if resource exists (broadcasting)} & |
438 |
\parbox{110pt}{Super nodes, node clusters, caching techiques} & |
\parbox{110pt}{Super nodes, node clusters, caching techiques} & |
439 |
\parbox{110pt}{More effiecient, less network traffic, not comparable to DHT's efficiency} |
\parbox{110pt}{More efficient, less network traffic, not comparable to DHT's efficiency} |
440 |
\\ \hline |
\\ \hline |
441 |
|
|
442 |
|
|
443 |
\parbox{90pt}{Entity identification} & |
\parbox{90pt}{Entity identification} & |
444 |
\parbox{110pt}{Identify participating entities reliably and efficiently } & |
\parbox{110pt}{Identify participating entities reliably and efficiently } & |
445 |
\parbox{110pt}{Digital signatures, key infrastrucure} & |
\parbox{110pt}{Digital signatures, key infrastructure} & |
446 |
\parbox{110pt}{Not practically realizable} |
\parbox{110pt}{Not practically realizable} |
447 |
\\ \hline |
\\ \hline |
448 |
|
|
449 |
|
|
450 |
\parbox{90pt}{Fail Stop} & |
\parbox{90pt}{Fail Stop} & |
451 |
\parbox{110pt}{A faulty node stops working} & |
\parbox{110pt}{A faulty node stops working} & |
452 |
\parbox{110pt}{Environment observatorion, informing protocols} & |
\parbox{110pt}{Failure detectors, informing protocols} & |
453 |
\parbox{110pt}{Creates more network traffics, node's information can be outdated} |
\parbox{110pt}{Creates more network traffics, node's information can be outdated, failure detectors not reliable} |
454 |
\\ \hline |
\\ \hline |
455 |
|
|
456 |
|
|
457 |
\parbox{90pt}{Byzantine faults} & |
\parbox{90pt}{Byzantine faults} & |
458 |
\parbox{110pt}{Faulty nodes may behave arbitrarily} & |
\parbox{110pt}{Faulty nodes may behave arbitrarily} & |
459 |
\parbox{110pt}{Byzantine replication protocols } & |
\parbox{110pt}{Byzantine replication protocols -> get information from multiple entities, trust majority's opinion} & |
460 |
\parbox{110pt}{Much research has been done on this field, practical solutions, decreases system's, performance slighly} |
\parbox{110pt}{Much research has been done on this field, practical solutions, decreases system's, performance slighly} |
461 |
\\ \hline |
\\ \hline |
462 |
|
|
469 |
|
|
470 |
|
|
471 |
\parbox{90pt}{Robustness} & |
\parbox{90pt}{Robustness} & |
472 |
\parbox{110pt}{How well system performs under hostile attacks/in the case of severe failure ? } & |
\parbox{110pt}{How well system performs under hostile attacks/in the case of severe failure ?} & |
473 |
\parbox{110pt}{Self-tuning, backup links, use diverse routing paths} & |
\parbox{110pt}{Self-tuning, backup links, use diverse routing paths, power-law networks/properties} & |
474 |
\parbox{110pt}{Working solutions} |
\parbox{110pt}{Working solutions} |
475 |
\\ \hline |
\\ \hline |
476 |
|
|
477 |
|
|
478 |
\parbox{90pt}{Quality of Service} & |
\parbox{90pt}{Quality of Service} & |
479 |
\parbox{110pt}{The system cannot promise the quality of service in all cases} & |
\parbox{110pt}{The system can only provide (at most) best effort services)} & |
480 |
\parbox{110pt}{Use Network proximity for better network performance (bandwidth, latency, jitter, packet loss)} & |
\parbox{110pt}{Use network proximity for better network performance (bandwidth, latency, jitter, packet loss)} & |
481 |
\parbox{110pt}{Increases system complexity, no real world experiences} |
\parbox{110pt}{Increases system complexity, some initial experiences, need more research} |
482 |
\\ \hline |
\\ \hline |
483 |
|
|
484 |
|
|
485 |
\parbox{90pt}{Data availability} & |
\parbox{90pt}{Data availability/persistency} & |
486 |
\parbox{110pt}{Data might be temporary unavailable, or lost permanently} & |
\parbox{110pt}{Data might be temporarily unavailable, or lost permanently} & |
487 |
\parbox{110pt}{Data caching, data replication} & |
\parbox{110pt}{Data caching, data replication} & |
488 |
\parbox{110pt}{Working solutions, but creates more traffic and overhead per node} |
\parbox{110pt}{Working solutions, but creates more traffic and overhead per node} |
489 |
\\ \hline |
\\ \hline |
492 |
\parbox{90pt}{Data integrity/authenticity} & |
\parbox{90pt}{Data integrity/authenticity} & |
493 |
\parbox{110pt}{Integrity/originality of data is unknown} & |
\parbox{110pt}{Integrity/originality of data is unknown} & |
494 |
\parbox{110pt}{Cryptographic content hashes, key architectures} & |
\parbox{110pt}{Cryptographic content hashes, key architectures} & |
495 |
\parbox{110pt}{For data integrity, there are working solutions, for data authenticity, there are not working solutions/there are partial solutions, which are not practically realizable} |
\parbox{110pt}{For data integrity, there are working solutions, but for data authenticity, some of the solutions are partial, which may be practically realizable} |
496 |
\\ \hline |
\\ \hline |
497 |
|
|
498 |
|
|
504 |
|
|
505 |
|
|
506 |
\parbox{90pt}{Malicious nodes} & |
\parbox{90pt}{Malicious nodes} & |
507 |
\parbox{110pt}{There are malicious nodes in the system how we are able to discover them ?} & |
\parbox{110pt}{How to identify malicious nodes in the system} & |
508 |
\parbox{110pt}{Create invariants for node behaviour, verify invariants, self-certifying data} & |
\parbox{110pt}{Create invariants for node behaviour, verify invariants, self-certifying data} & |
509 |
\parbox{110pt}{Partial solutions, self-certifying data most realiable} |
\parbox{110pt}{Partial solutions, self-certifying data most realiable} |
510 |
\\ \hline |
\\ \hline |
511 |
|
|
512 |
|
|
513 |
|
|
514 |
\parbox{90pt}{Mutual distrust} & |
\parbox{90pt}{Mutual distrust} & |
515 |
\parbox{110pt}{Nobody trust anybody} & |
\parbox{110pt}{Nobody trusts anybody} & |
516 |
\parbox{110pt}{Different reputation methods, key infrastructures} & |
\parbox{110pt}{Reputation methods, key infrastructures} & |
517 |
\parbox{110pt}{Resource demanding, not practical to implement/not working solutions, no real world experience in a wide scale} |
\parbox{110pt}{Resource demanding, not practical to implement/not working solutions, no real world experience in a wide scale} |
518 |
\\ \hline |
\\ \hline |
519 |
|
|
527 |
|
|
528 |
\parbox{90pt}{Heterogeneity} & |
\parbox{90pt}{Heterogeneity} & |
529 |
\parbox{110pt}{There are different kind of nodes in the system, in light of bandwidth and computing power} & |
\parbox{110pt}{There are different kind of nodes in the system, in light of bandwidth and computing power} & |
530 |
\parbox{110pt}{Super peers (broadcasting), cluster (broadcasting) additional layer upn DHT, structural simplicity (DHTs)} & |
\parbox{110pt}{Super peers (broadcasting), cluster (broadcasting) additional layer upon DHTs, structural simplicity (DHTs)} & |
531 |
\parbox{110pt}{Working solutions, increases system complexity (additional layer)} |
\parbox{110pt}{Working solutions, increases system complexity (additional layer)} |
532 |
\\ \hline |
\\ \hline |
533 |
|
|
535 |
\parbox{90pt}{Network proximity} & |
\parbox{90pt}{Network proximity} & |
536 |
\parbox{110pt}{Can we take account the underlying network's properties better when forming overlay network (network-awareness for performance) ?} & |
\parbox{110pt}{Can we take account the underlying network's properties better when forming overlay network (network-awareness for performance) ?} & |
537 |
\parbox{110pt}{Global Network Positioning, Lighthouse technique, trianqulated heuristics} & |
\parbox{110pt}{Global Network Positioning, Lighthouse technique, trianqulated heuristics} & |
538 |
\parbox{110pt}{Increases system complexity, no real world experience in a wide scale} |
\parbox{110pt}{Increases system complexity, no real world experience in a wide scale, proposed solutions are susceptible to single point of failure} |
539 |
\\ \hline |
\\ \hline |
540 |
|
|
541 |
|
|
542 |
\parbox{90pt}{Locality} & |
\parbox{90pt}{Locality} & |
543 |
\parbox{110pt}{In the case on DHTs, can we take account locality ?} & |
\parbox{110pt}{Could DHTs exploit locality properties better ?} & |
544 |
\parbox{110pt}{Constrained Load Balancing, using network properties for nearest neighbor selection} & |
\parbox{110pt}{Constrained Load Balancing, using network properties for nearest neighbor selection} & |
545 |
\parbox{110pt}{Working solutions} |
\parbox{110pt}{Working solutions} |
546 |
\\ \hline |
\\ \hline |
563 |
\parbox{90pt}{Programming guidelines} & |
\parbox{90pt}{Programming guidelines} & |
564 |
\parbox{110pt}{Set of programming guidelines/frameworks is needed for better interoperability between different systems} & |
\parbox{110pt}{Set of programming guidelines/frameworks is needed for better interoperability between different systems} & |
565 |
\parbox{110pt}{Common frameworks and APIs} & |
\parbox{110pt}{Common frameworks and APIs} & |
566 |
\parbox{110pt}{Common framework/API is still missing, a lot of proposals has been made} |
\parbox{110pt}{Common framework/API is still missing, a lot of proposals have been made} |
567 |
\\ \hline |
\\ \hline |
568 |
|
|
569 |
|
|
570 |
\parbox{90pt}{Access Control} & |
\parbox{90pt}{Access Control} & |
571 |
\parbox{110pt}{Can we define access control levels in peer-to-peer network ?} & |
\parbox{110pt}{Can we define access control levels in peer-to-peer network ?} & |
572 |
\parbox{110pt}{-} & |
\parbox{110pt}{Schema-based rules} & |
573 |
\parbox{110pt}{Working solutions are missing, mainly because they are hard/not practically realizable} |
\parbox{110pt}{Some initial experiences, need more research} |
574 |
\\ \hline |
\\ \hline |
575 |
|
|
576 |
|
|
577 |
\parbox{90pt}{System in flux} & |
\parbox{90pt}{System in flux} & |
578 |
\parbox{110pt}{Nodes join and leave system constantly: load balancing, efficiency ?} & |
\parbox{110pt}{Nodes join and leave system constantly: load balancing, efficiency ?} & |
579 |
\parbox{110pt}{Half-life phenomenon (for analysis), simple overlay maintenance and construction protocol} & |
\parbox{110pt}{Half-life phenomenon (for analysis), simple overlay maintenance and construction protocol} & |
580 |
\parbox{110pt}{Initial theoretical anasysis has been created, but not comprehensive model for analysing different system states} |
\parbox{110pt}{Initial theoretical analysis have been created, but not comprehensive model for analysing different system states and its variations (e.g. complex usage patterns)} |
581 |
\\ \hline |
\\ \hline |
582 |
|
|
583 |
|
|
584 |
\parbox{90pt}{Inconsistent behaviour} & |
\parbox{90pt}{Inconsistent behaviour} & |
585 |
\parbox{110pt}{Hostile node could act correctly with its neighbors, but incorrectly with other} & |
\parbox{110pt}{Hostile node could act correctly with its neighbors, but incorrectly with others} & |
586 |
\parbox{110pt}{Public keys, digital signatures} & |
\parbox{110pt}{Public keys, digital signatures} & |
587 |
\parbox{110pt}{Not practical approach/working proposal created yet} |
\parbox{110pt}{Not practical approach/working proposal created yet} |
588 |
\\ \hline |
\\ \hline |
589 |
|
|
590 |
|
|
591 |
\parbox{90pt}{Hostile groups} & |
\parbox{90pt}{Hostile groups} & |
592 |
\parbox{110pt}{Joining node may join parallel network, formed a group of hostile nodes} & |
\parbox{110pt}{Joining node may join parallel network, formed a group of hostile nodes, hostile node(s) controls the construction of the network} & |
593 |
\parbox{110pt}{Use trusted nodes, based on history information} & |
\parbox{110pt}{Use trusted nodes, based on history information, Cryptography, key infrastructure} & |
594 |
\parbox{110pt}{Not 100\% sure if Centreal Authority is missing} |
\parbox{110pt}{Not 100\% sure if Centreal Authority (CA) is missing, not practical approach/working proposal created yet} |
595 |
\\ \hline |
\\ \hline |
596 |
|
|
597 |
|
|
598 |
\parbox{90pt}{External threats} & |
\parbox{90pt}{External threats} & |
599 |
\parbox{110pt}{Viruses, troijans, sniffers} & |
\parbox{110pt}{Viruses, trojans, sniffers} & |
600 |
\parbox{110pt}{Data integrity/authenticity, distributed antivirus software} & |
\parbox{110pt}{Data integrity/authenticity, distributed antivirus software} & |
601 |
\parbox{110pt}{Not much research has been done on this} |
\parbox{110pt}{Not much research has been done on this} |
602 |
\\ \hline |
\\ \hline |
603 |
|
|
604 |
|
|
605 |
\parbox{90pt}{Illegal overlay construction} & |
\parbox{90pt}{Comprehensive simulations/analysis of peer-to-peer network} & |
606 |
\parbox{110pt}{Hostile node(s) controls the construction of the network} & |
\parbox{110pt}{Ability to simulate whole p2p network's usage patterns, network traffics, flux state etc} & |
607 |
\parbox{110pt}{Cryptography, key infrastructure} & |
\parbox{110pt}{Use same techniques as simulating/analysing the Internet} & |
608 |
\parbox{110pt}{Not practical approach/working proposal created yet} |
\parbox{110pt}{Only small subset of peer-to-peer networks has been able to analyse, because of ad hoc properties of network, more poweful solutions needed} |
609 |
\\ \hline |
\\ \hline |
610 |
|
|
611 |
|
\parbox{90pt}{How to locate existing network} & |
612 |
|
\parbox{110pt}{Ability to simulate whole p2p network's usage patterns, network traffics, flux state etc} & |
613 |
|
\parbox{110pt}{gnutellahosts.com} & |
614 |
|
\parbox{110pt}{Only small subset of peer-to-peer networks has been able to analyse, because of ad hoc properties of network, more poweful solutions needed} |
615 |
|
\\ \hline |
616 |
|
|
617 |
\parbox{90pt}{Comprehensive simulations/analysis of peer-to-peer network} & |
\parbox{90pt}{Overlay management} & |
618 |
\parbox{110pt}{Ability to simulate whole p2p network's usage patterns, network traffics, flux state etc} & |
\parbox{110pt}{Ability to simulate whole p2p network's usage patterns, network traffics, flux state etc} & |
619 |
\parbox{110pt}{Use same techniques as simulating/analysing the Internet} & |
\parbox{110pt}{gnutellahosts.com} & |
620 |
\parbox{110pt}{Only small subset of peer-to-peer networks has been able to analyse, because of ad hoc properties of network, more poweful solutions needed} |
\parbox{110pt}{Only small subset of peer-to-peer networks has been able to analyse, because of ad hoc properties of network, more poweful solutions needed} |
621 |
\\ \hline |
\\ \hline |
622 |
|
|
623 |
|
|
624 |
|
|
625 |
|
|
626 |
\end{longtable} |
\end{longtable} |
627 |
|
|
628 |
|
|
629 |
|
|
630 |
|
|
631 |
|
|
632 |
\begin{longtable}{|l|l|l|} |
\begin{longtable}{|l|l|l|} |
633 |
\caption[Comparison of Broadicasting and Structured approaches]{Comparison of Broadicasting and Structured approaches} |
\caption[Comparison of Broadicasting and Structured approaches]{Comparison of Broadicasting and Structured approaches} |
634 |
\label{table_comparison_approach} \\ |
\label{table_comparison_approach} \\ |
635 |
|
|
636 |
\hline |
\hline |
637 |
\multicolumn{1}{|c|}{\textbf{Property}} & |
\multicolumn{1}{|c|}{\textbf{Property}} & |
638 |
\multicolumn{1}{c|}{\textbf{Structured}} & |
\multicolumn{1}{c|}{\textbf{Unstructured}} & |
639 |
\multicolumn{1}{c|}{\textbf{Broadcast}} |
\multicolumn{1}{c|}{\textbf{Structured}} |
640 |
|
|
641 |
\\ \hline |
\\ \hline |
642 |
\endfirsthead |
\endfirsthead |
643 |
|
|
645 |
{{\tablename\ \thetable{} -- continued from previous page}} \\ |
{{\tablename\ \thetable{} -- continued from previous page}} \\ |
646 |
\hline |
\hline |
647 |
\multicolumn{1}{|c|}{\textbf{Property}} & |
\multicolumn{1}{|c|}{\textbf{Property}} & |
648 |
\multicolumn{1}{c|}{\textbf{Structured}} & |
\multicolumn{1}{c|}{\textbf{Unstructured}} & |
649 |
\multicolumn{1}{c|}{\textbf{Broadcast}} |
\multicolumn{1}{c|}{\textbf{Structured}} |
650 |
\\ \hline |
\\ \hline |
651 |
\endhead |
\endhead |
652 |
|
|
654 |
|
|
655 |
|
|
656 |
|
|
|
|
|
657 |
\parbox{90pt}{Queries} & |
\parbox{90pt}{Queries} & |
658 |
\parbox{100pt}{Controlled} & |
\parbox{100pt}{Uncontrolled} & |
659 |
\parbox{100pt}{Uncontrolled} |
\parbox{100pt}{Controlled} |
660 |
\\ \hline |
\\ \hline |
661 |
|
|
662 |
\parbox{90pt}{A way for performing queries} & |
\parbox{90pt}{A way for performing queries} & |
663 |
\parbox{100pt}{Exact keys} & |
\parbox{100pt}{Keywords} & |
664 |
\parbox{100pt}{Keywords} |
\parbox{100pt}{Exact keys} |
665 |
\\ \hline |
\\ \hline |
666 |
|
|
667 |
\parbox{90pt}{Query traffic} & |
\parbox{90pt}{Query traffic} & |
668 |
\parbox{100pt}{O(1)/O(log n)} & |
\parbox{100pt}{$O(n)/O(n^{2})$} & |
669 |
\parbox{100pt}{O(n)/O(n\^2)} |
\parbox{100pt}{$O(1)/O(log n)$} |
670 |
\\ \hline |
\\ \hline |
671 |
|
|
672 |
\parbox{90pt}{Will find the data item ?} & |
\parbox{90pt}{Guaranteed data lookup} & |
673 |
\parbox{100pt}{Yes} & |
\parbox{100pt}{Not necessarily} & |
674 |
\parbox{100pt}{Not necessarily} |
\parbox{100pt}{Yes} |
675 |
\\ \hline |
\\ \hline |
676 |
|
|
677 |
\parbox{90pt}{Overlay's structure} & |
\parbox{90pt}{Overlay's structure} & |
678 |
\parbox{100pt}{Controlled and structured} & |
\parbox{100pt}{Uncontrolled and ad hoc} & |
679 |
\parbox{100pt}{Uncontrolled and ad hoc} |
\parbox{100pt}{Controlled and structured} |
680 |
\\ \hline |
\\ \hline |
681 |
|
|
682 |
\parbox{90pt}{Max. number of nodes} & |
\parbox{90pt}{Max. number of nodes} & |
683 |
\parbox{100pt}{Billions} & |
\parbox{100pt}{Millions} & |
684 |
\parbox{100pt}{Millions} |
\parbox{100pt}{Billions} |
685 |
\\ \hline |
\\ \hline |
686 |
|
|
687 |
\parbox{90pt}{Data placement} & |
\parbox{90pt}{Data placement} & |
688 |
\parbox{100pt}{Not local} & |
\parbox{100pt}{Local} & |
689 |
\parbox{100pt}{Local} |
\parbox{100pt}{Not local} |
690 |
\\ \hline |
\\ \hline |
691 |
|
|
692 |
\parbox{90pt}{Support for heterogeneiy} & |
\parbox{90pt}{Support for heterogeneity} & |
693 |
\parbox{100pt}{No} & |
\parbox{100pt}{Yes} & |
694 |
\parbox{100pt}{Yes} |
\parbox{100pt}{No} |
695 |
\\ \hline |
\\ \hline |
696 |
|
|
697 |
\parbox{90pt}{Support for locality} & |
\parbox{90pt}{Support for locality} & |
698 |
\parbox{100pt}{Partial} & |
\parbox{100pt}{Yes} & |
699 |
\parbox{100pt}{No} |
\parbox{100pt}{Partial} |
700 |
\\ \hline |
\\ \hline |
701 |
|
|
702 |
\parbox{90pt}{Possibilty for routing hotspots} & |
\parbox{90pt}{Possibility for routing hotspots} & |
703 |
\parbox{100pt}{Yes} & |
\parbox{100pt}{No} & |
704 |
\parbox{100pt}{No} |
\parbox{100pt}{Yes} |
705 |
\\ \hline |
\\ \hline |
706 |
|
|
707 |
\parbox{90pt}{Design/Implementation complexity} & |
\parbox{90pt}{Design/Implementation complexity} & |
708 |
|
\parbox{100pt}{Low} & |
709 |
|
\parbox{100pt}{High} |
710 |
|
\\ \hline |
711 |
|
|
712 |
|
\parbox{90pt}{Fault-tolerant} & |
713 |
\parbox{100pt}{High} & |
\parbox{100pt}{High} & |
714 |
\parbox{100pt}{Low} |
\parbox{100pt}{High} |
715 |
\\ \hline |
\\ \hline |
716 |
|
|
717 |
\end{longtable} |
\end{longtable} |
720 |
|
|
721 |
|
|
722 |
\begin{longtable}{|l|c|c|c|c|l|} |
\begin{longtable}{|l|c|c|c|c|l|} |
723 |
\caption[Comparison of Broadicasting and Structured approaches]{Comparison of Broadicasting and Structured approaches} |
\caption[Different peer-to-peer lookup protocols]{Different peer-to-peer lookup protocols} |
724 |
\label{table_comparison_approach} \\ |
\label{table_p2p_protocols} \\ |
725 |
|
|
726 |
\hline |
\hline |
727 |
\multicolumn{1}{|c|}{\textbf{Protocol}} & |
\multicolumn{1}{|c|}{\textbf{Protocol}} & |
760 |
\parbox{37pt}{$O$($d$)} & |
\parbox{37pt}{$O$($d$)} & |
761 |
\parbox{37pt}{$O(dn^{\frac{1}{d}})$} & |
\parbox{37pt}{$O(dn^{\frac{1}{d}})$} & |
762 |
\parbox{85pt}{2$d$} & |
\parbox{85pt}{2$d$} & |
763 |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, where $d$ is the dimension of virtual key space} |
764 |
\\ \hline |
\\ \hline |
765 |
|
|
766 |
\parbox{37pt}{Pastry} & |
\parbox{37pt}{Pastry} & |
767 |
\parbox{37pt}{$O(\log^2{n})$} & |
\parbox{37pt}{$O(\log^2{n})$} & |
768 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
769 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
770 |
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$} & |
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable parameter for tuning digit-fixing properties (routing table)} & |
771 |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
772 |
\\ \hline |
\\ \hline |
773 |
|
|
775 |
\parbox{37pt}{$O(\log^2{n})$} & |
\parbox{37pt}{$O(\log^2{n})$} & |
776 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
777 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
778 |
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$} & |
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable parameter for tuning digit-fixing properties (routing table)} & |
779 |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
780 |
\\ \hline |
\\ \hline |
781 |
|
|
799 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
800 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
801 |
\parbox{37pt}{$O(\log^2{n})$} & |
\parbox{37pt}{$O(\log^2{n})$} & |
802 |
\parbox{85pt}{$r(2b+2s+2l)$ (r=\# of resurces provided, b=boot, s=short, l=long), typical link conf: 2*(6+7+8)=36} & |
\parbox{85pt}{$r(2b+2s+2l)$ (where r=number of resources provided, b=boot connections, s=short range connections, l=long range connections), typical connection configuration: 2*(6+7+8)=36} & |
803 |
\parbox{85pt}{In this approach, node is treated as 'named resource'; in this approach, \emph{resources} self-organise (opposite to DHTs)} |
\parbox{85pt}{In this approach, node is treated as 'named resource'; in this approach, \emph{resources} self-organise (opposite to DHTs)} |
804 |
\\ \hline |
\\ \hline |
805 |
|
|
806 |
\parbox{37pt}{Gnutellas} & |
\parbox{37pt}{Gnutella} & |
807 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
808 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
809 |
\parbox{37pt}{$O(n)$} & |
\parbox{37pt}{$O(n)$} & |
810 |
\parbox{85pt}{typical conf: 5, depends on implementation --> 2*5=10 total} & |
\parbox{85pt}{Typical configuration is 5 connections (2*5=10 total), however, depends on implementation} & |
811 |
\parbox{85pt}{Number of messages can grow as fast as $O(n^{2})$} |
\parbox{85pt}{Number of messages can grow as fast as $O(n^{2})$} |
812 |
\\ \hline |
\\ \hline |
813 |
|
|
815 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
816 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
817 |
\parbox{37pt}{$O(n)$} & |
\parbox{37pt}{$O(n)$} & |
818 |
\parbox{85pt}{can be 1-10000 connections (aka social connections, connections are permament)} & |
\parbox{85pt}{Can be 1-10000 connections (aka social connections, connections are permament)} & |
819 |
\parbox{85pt}{Connection number depends on node's memory/network capabilities} |
\parbox{85pt}{Connection number depends on node's memory/network capabilities} |
820 |
\\ \hline |
\\ \hline |
821 |
|
|
823 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
824 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
825 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
826 |
\parbox{85pt}{$4r(\log{n}) + (\log{n})$ (r=\# of resurces provided)} & |
\parbox{85pt}{$4r(\log{n}) + (\log{n})$, where r=number of resources provided)} & |
827 |
\parbox{85pt}{In this approach, node is treated as 'named resource'; in this approach, \emph{resources} self-organise (opposite to DHTs)} |
\parbox{85pt}{In this approach, node is treated as 'named resource'; in this approach, \emph{resources} self-organise (opposite to DHTs)} |
828 |
\\ \hline |
\\ \hline |
829 |
|
|
839 |
\parbox{37pt}{$O(\log^2{n})$} & |
\parbox{37pt}{$O(\log^2{n})$} & |
840 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
841 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
842 |
\parbox{85pt}{$2k+2+f$ (k = long, 2 = node's neighbors, f = fault-tolerance links)} & |
\parbox{85pt}{$2k+2+f$, where k = long range connections, 2 = node's neighbors, f = fault-tolerance connections)} & |
843 |
\parbox{85pt}{Space can be also $O(1)$. Additional space of $space^2$ can be used as a lookahed list for better performance} |
\parbox{85pt}{Space can be also $O(1)$. Additional space of $space^2$ can be used as a lookahead list for better performance} |
844 |
\\ \hline |
\\ \hline |
845 |
|
|
846 |
\parbox{37pt}{ODHDHT} & |
\parbox{37pt}{ODHDHT} & |
852 |
\\ \hline |
\\ \hline |
853 |
|
|
854 |
\parbox{37pt}{Plaxton} & |
\parbox{37pt}{Plaxton} & |
855 |
\parbox{37pt}{-} & |
\parbox{37pt}{No support} & |
856 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
857 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
858 |
\parbox{85pt}{$O(\log{n})$} & |
\parbox{85pt}{$O(\log{n})$} & |
859 |
\parbox{85pt}{Plaxton's algortihm is designed to operate in static environment} |
\parbox{85pt}{Plaxton's algortihm is designed to operate in static environment (e.g., web cache)} |
860 |
\\ \hline |
\\ \hline |
861 |
|
|
862 |
\parbox{37pt}{PeerNet} & |
\parbox{37pt}{PeerNet} & |
871 |
\parbox{37pt}{$O(2(\sqrt{n}*(log^2{n})) + (\sqrt{n} + (log^3{n})))$} & |
\parbox{37pt}{$O(2(\sqrt{n}*(log^2{n})) + (\sqrt{n} + (log^3{n})))$} & |
872 |
\parbox{37pt}{$O$($\sqrt{n}$)} & |
\parbox{37pt}{$O$($\sqrt{n}$)} & |
873 |
\parbox{37pt}{$O$(1)} & |
\parbox{37pt}{$O$(1)} & |
874 |
\parbox{85pt}{$\frac{n}{\sqrt{n}} + c*(\sqrt{n}-1) + \frac{Totalnumber of files}{\sqrt{n}}$} & |
\parbox{85pt}{$\frac{n}{\sqrt{n}} + c*(\sqrt{n}-1) + \frac{Totalnumber of files}{\sqrt{n}}$, where n is the number of nodes and c the number of contacts/foreign affinity group} & |
875 |
\parbox{85pt}{Insert/delete overhead is constant and performed background, System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
\parbox{85pt}{Insert/delete overhead is constant and performed background, System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
876 |
\\ \hline |
\\ \hline |
877 |
|
|