10 |
\usepackage{amsfonts} % AmS-LaTeX fontit |
\usepackage{amsfonts} % AmS-LaTeX fontit |
11 |
\usepackage{graphicx} % EPS-tiedostojen ottaminen mukaan, PS-temput,... |
\usepackage{graphicx} % EPS-tiedostojen ottaminen mukaan, PS-temput,... |
12 |
\usepackage{url} |
\usepackage{url} |
13 |
|
\usepackage{booktabs} |
14 |
|
\usepackage{longtable} |
15 |
|
|
16 |
%*********************** |
%*********************** |
17 |
% Tyyliluokan pakolliset määritykset |
% Tyyliluokan pakolliset määritykset |
353 |
there are few projects that analyse systems' different approaches. However, the most important question is that how existing approaches can be combined into one |
there are few projects that analyse systems' different approaches. However, the most important question is that how existing approaches can be combined into one |
354 |
practical and high performance approach, currently known as ``Gnutella++''. |
practical and high performance approach, currently known as ``Gnutella++''. |
355 |
|
|
356 |
|
\chapter{Open Problems in P2P} |
357 |
|
\scriptsize |
358 |
|
|
359 |
|
%\begin{tabular*}{|llll|} |
360 |
|
%\begin{longtable}{\columnwidth}{@{\extracolsep{\fill}}|lllr|} |
361 |
|
\begin{longtable}{|l|l|l|l|} |
362 |
|
\caption[Open problems in P2P]{Open problems in P2P} \label{table_problems_p2p} \\ |
363 |
|
|
364 |
|
\multicolumn{4}{c}{} \\ \cmidrule(l){1-4} |
365 |
|
\textbf{Problem} & \textbf{Problem description} & \textbf{Solutions} & \textbf{Comments/Status} |
366 |
|
\\ \midrule |
367 |
|
|
368 |
|
\parbox{90pt}{Routing} & |
369 |
|
\parbox{110pt}{Incorrect forwarding (hostile), incorrect routing (hostile)} & |
370 |
|
\parbox{110pt}{Query monitoring, cross check routing tables, verify routing tables, create routing table invariants} & |
371 |
|
Increases system complexity |
372 |
|
\\ \hline |
373 |
|
|
374 |
|
|
375 |
|
\parbox{90pt}{DoS attack} & |
376 |
|
\parbox{110pt}{Distributed, controlled burden againts specific computer(s)} & |
377 |
|
\parbox{110pt}{Client puzzles, load balancing, traffic measurements, traffic models, replication} & |
378 |
|
\parbox{110pt}{Only partial solutions, traffic models most effective} |
379 |
|
\\ \hline |
380 |
|
|
381 |
|
|
382 |
|
\parbox{90pt}{Sybil attack} & |
383 |
|
\parbox{110pt}{Single hostile entity present multiple entities} & |
384 |
|
\parbox{110pt}{Identify all nodes simultaneously across the system, collect pool of nodes which are validated, distributed node ID creation} & |
385 |
|
\parbox{110pt}{Not practically realizable, research focused on persistence, not on identity distinction} |
386 |
|
\\ \hline |
387 |
|
|
388 |
|
|
389 |
|
\parbox{90pt}{Spam attack} & |
390 |
|
\parbox{110pt}{Hostile entity creates false versions of data} & |
391 |
|
\parbox{110pt}{Do not trust to single entity, get information from multiple entities, trust on majority's opinion} & |
392 |
|
\parbox{110pt}{Easy to implement, creates more network traffic} |
393 |
|
\\ \hline |
394 |
|
|
395 |
|
|
396 |
|
\parbox{90pt}{Resource spoofing} & |
397 |
|
\parbox{110pt}{Hostile entity gives wrong information about the data which entity is responsible for/knows about} & |
398 |
|
\parbox{110pt}{Do not trust to single entity, get information from multiple entities, trust on majority's opinion} & |
399 |
|
\parbox{110pt}{Easy to implement, creates more network traffic} |
400 |
|
\\ \hline |
401 |
|
|
402 |
|
|
403 |
|
\parbox{90pt}{Sudden network partition} & |
404 |
|
\parbox{110pt}{Sub network is isolated from other network because of network disconnection} & |
405 |
|
\parbox{110pt}{Self-tuning, environment observatorion, backup connections} & |
406 |
|
\parbox{110pt}{Creates more overhead/space requirements per node} |
407 |
|
\\ \hline |
408 |
|
|
409 |
|
|
410 |
|
\parbox{90pt}{Searching} & |
411 |
|
\parbox{110pt}{Efficient searching requires exploiting of previous queries} & |
412 |
|
\parbox{110pt}{View trees, bloom filters its variations} & |
413 |
|
\parbox{110pt}{Effective, but not flexible} |
414 |
|
\\ \hline |
415 |
|
|
416 |
|
|
417 |
|
\parbox{90pt}{Efficient data discovery} & |
418 |
|
\parbox{110pt}{Find resources efficiently, if resource exists (broadcasting)} & |
419 |
|
\parbox{110pt}{Super nodes, node clusters, caching techiques} & |
420 |
|
\parbox{110pt}{More effiecient, less network traffic, not comparable to DHT's efficiency} |
421 |
|
\\ \hline |
422 |
|
|
423 |
|
|
424 |
|
\parbox{90pt}{Entity identification} & |
425 |
|
\parbox{110pt}{Identify participating entities reliably and efficiently } & |
426 |
|
\parbox{110pt}{Digital signatures, key infrastrucure} & |
427 |
|
\parbox{110pt}{Not practically realizable} |
428 |
|
\\ \hline |
429 |
|
|
430 |
|
|
431 |
|
\parbox{90pt}{Fail Stop} & |
432 |
|
\parbox{110pt}{A faulty node stops working} & |
433 |
|
\parbox{110pt}{Environment observatorion, informing protocols} & |
434 |
|
\parbox{110pt}{Creates more network traffics, node's information can be outdated} |
435 |
|
\\ \hline |
436 |
|
|
437 |
|
|
438 |
|
\parbox{90pt}{Byzantine faults} & |
439 |
|
\parbox{110pt}{Faulty nodes may behave arbitrarily} & |
440 |
|
\parbox{110pt}{Byzantine replication protocols } & |
441 |
|
\parbox{110pt}{Much research has been done on this field, practical solutions, decreases system's, performance slighly} |
442 |
|
\\ \hline |
443 |
|
|
444 |
|
|
445 |
|
\parbox{90pt}{Richness of queries} & |
446 |
|
\parbox{110pt}{Query languages should be more powerful} & |
447 |
|
\parbox{110pt}{SQL-like queries} & |
448 |
|
\parbox{110pt}{Hard to implement, increases system complexity, not much research has been done} |
449 |
|
\\ \hline |
450 |
|
|
451 |
|
|
452 |
|
\parbox{90pt}{Robustness} & |
453 |
|
\parbox{110pt}{How well system performs under hostile attacks/in the case of severe failure ? } & |
454 |
|
\parbox{110pt}{Self-tuning, backup links, use diverse routing paths} & |
455 |
|
\parbox{110pt}{Working solutions} |
456 |
|
\\ \hline |
457 |
|
|
458 |
|
|
459 |
|
\parbox{90pt}{Quality of Service} & |
460 |
|
\parbox{110pt}{The system cannot promise the quality of service in all cases} & |
461 |
|
\parbox{110pt}{Use Network proximity for better network performance (bandwidth, latency, jitter, packet loss)} & |
462 |
|
\parbox{110pt}{Increases system complexity, no real world experiences} |
463 |
|
\\ \hline |
464 |
|
|
465 |
|
|
466 |
|
\parbox{90pt}{Data availability} & |
467 |
|
\parbox{110pt}{Data might be temporary unavailable, or lost permanently} & |
468 |
|
\parbox{110pt}{Data caching, data replication} & |
469 |
|
\parbox{110pt}{Working solutions, but creates more traffic and overhead per node} |
470 |
|
\\ \hline |
471 |
|
|
472 |
|
|
473 |
|
\parbox{90pt}{Data integrity/authenticity} & |
474 |
|
\parbox{110pt}{Integrity/originality of data is unknown} & |
475 |
|
\parbox{110pt}{Cryptographic content hashes, key architectures} & |
476 |
|
\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} |
477 |
|
\\ \hline |
478 |
|
|
479 |
|
|
480 |
|
\parbox{90pt}{Anonymity} & |
481 |
|
\parbox{110pt}{Anonymity cannot be provided in all cases} & |
482 |
|
\parbox{110pt}{Remailers, pre-routing} & |
483 |
|
\parbox{110pt}{Total anonymity cannot be provided yet} |
484 |
|
\\ \hline |
485 |
|
|
486 |
|
|
487 |
|
\parbox{90pt}{Malicious nodes} & |
488 |
|
\parbox{110pt}{There are malicious nodes in the system how we are able to discover them ?} & |
489 |
|
\parbox{110pt}{Create invariants for node behaviour, verify invariants, self-certifying data} & |
490 |
|
\parbox{110pt}{Partial solutions, self-certifying data most realiable} |
491 |
|
\\ \hline |
492 |
|
|
493 |
|
|
494 |
|
\parbox{90pt}{Mutual distrust} & |
495 |
|
\parbox{110pt}{Nobody trust anybody} & |
496 |
|
\parbox{110pt}{Different reputation methods, key infrastructures} & |
497 |
|
\parbox{110pt}{Resource demanding, not practical to implement/not working solutions, no real world experience in a wide scale} |
498 |
|
\\ \hline |
499 |
|
|
500 |
|
|
501 |
|
\parbox{90pt}{Lack of motivation to cooperate} & |
502 |
|
\parbox{110pt}{All participants do not behave like they should be, instead they go for own profit} & |
503 |
|
\parbox{110pt}{Different reputation methods} & |
504 |
|
\parbox{110pt}{No real world experience in a wide scale} |
505 |
|
\\ \hline |
506 |
|
|
507 |
|
|
508 |
|
\parbox{90pt}{Heterogeneity} & |
509 |
|
\parbox{110pt}{There are different kind of nodes in the system, in light of bandwidth and computing power} & |
510 |
|
\parbox{110pt}{Super peers (broadcasting), cluster (broadcasting) additional layer upn DHT, structural simplicity (DHTs)} & |
511 |
|
\parbox{110pt}{Working solutions, increases system complexity (additional layer)} |
512 |
|
\\ \hline |
513 |
|
|
514 |
|
|
515 |
|
\parbox{90pt}{Network proximity} & |
516 |
|
\parbox{110pt}{Can we take account the underlying network's properties better when forming overlay network (network-awareness for performance) ?} & |
517 |
|
\parbox{110pt}{Global Network Positioning, Lighthouse technique, trianqulated heuristics} & |
518 |
|
\parbox{110pt}{Increases system complexity, no real world experience in a wide scale} |
519 |
|
\\ \hline |
520 |
|
|
521 |
|
|
522 |
|
\parbox{90pt}{Locality} & |
523 |
|
\parbox{110pt}{In the case on DHTs, can we take account locality ?} & |
524 |
|
\parbox{110pt}{Constrained Load Balancing, using network properties for nearest neighbor selection} & |
525 |
|
\parbox{110pt}{Working solutions} |
526 |
|
\\ \hline |
527 |
|
|
528 |
|
|
529 |
|
\parbox{90pt}{Hotspots} & |
530 |
|
\parbox{110pt}{What will happen if some resource is extremely popular and only one node is hosting it ?} & |
531 |
|
\parbox{110pt}{Caching, multisource downloads, replication, load balancing} & |
532 |
|
\parbox{110pt}{For query hotspots, caching and multisource downloads efficiently reduces hotspots, for routing hotspots, benefits are smaller} |
533 |
|
\\ \hline |
534 |
|
|
535 |
|
|
536 |
|
\parbox{90pt}{Scalability} & |
537 |
|
\parbox{110pt}{Broadcasting doesn't scale when performing searches} & |
538 |
|
\parbox{110pt}{Super peers, peer clusters, mutual index caching} & |
539 |
|
\parbox{110pt}{Better scalability, but not comparable to DHTs} |
540 |
|
\\ \hline |
541 |
|
|
542 |
|
|
543 |
|
\parbox{90pt}{Programming guidelines} & |
544 |
|
\parbox{110pt}{Set of programming guidelines/frameworks is needed for better interoperability between different systems} & |
545 |
|
\parbox{110pt}{Common frameworks and APIs} & |
546 |
|
\parbox{110pt}{Common framework/API is still missing, a lot of proposals has been made} |
547 |
|
\\ \hline |
548 |
|
|
549 |
|
|
550 |
|
\parbox{90pt}{Access Control} & |
551 |
|
\parbox{110pt}{Can we define access control levels in peer-to-peer network ?} & |
552 |
|
\parbox{110pt}{-} & |
553 |
|
\parbox{110pt}{Working solutions are missing, mainly because they are hard/not practically realizable} |
554 |
|
\\ \hline |
555 |
|
|
556 |
|
|
557 |
|
\parbox{90pt}{System in flux} & |
558 |
|
\parbox{110pt}{Nodes join and leave system constantly: load balancing, efficiency ?} & |
559 |
|
\parbox{110pt}{Half-life phenomenon (for analysis), simple overlay maintenance and construction protocol} & |
560 |
|
\parbox{110pt}{Initial theoretical anasysis has been created, but not comprehensive model for analysing different system states} |
561 |
|
\\ \hline |
562 |
|
|
563 |
|
|
564 |
|
\parbox{90pt}{Inconsistent behaviour} & |
565 |
|
\parbox{110pt}{Hostile node could act correctly with its neighbors, but incorrectly with other} & |
566 |
|
\parbox{110pt}{Public keys, digital signatures} & |
567 |
|
\parbox{110pt}{Not practical approach/working proposal created yet} |
568 |
|
\\ \hline |
569 |
|
|
570 |
|
|
571 |
|
\parbox{90pt}{Hostile groups} & |
572 |
|
\parbox{110pt}{Joining node may join parallel network, formed a group of hostile nodes} & |
573 |
|
\parbox{110pt}{Use trusted nodes, based on history information} & |
574 |
|
\parbox{110pt}{Not 100\% sure if Centreal Authority is missing} |
575 |
|
\\ \hline |
576 |
|
|
577 |
|
|
578 |
|
\parbox{90pt}{External threats} & |
579 |
|
\parbox{110pt}{Viruses, troijans, sniffers} & |
580 |
|
\parbox{110pt}{Data integrity/authenticity, distributed antivirus software} & |
581 |
|
\parbox{110pt}{Not much research has been done on this} |
582 |
|
\\ \hline |
583 |
|
|
584 |
|
|
585 |
|
\parbox{90pt}{Illegal overlay construction} & |
586 |
|
\parbox{110pt}{Hostile node(s) controls the construction of the network} & |
587 |
|
\parbox{110pt}{Cryptography, key infrastructure} & |
588 |
|
\parbox{110pt}{Not practical approach/working proposal created yet} |
589 |
|
\\ \hline |
590 |
|
|
591 |
|
|
592 |
|
\parbox{90pt}{Comprehensive simulations/analysis of peer-to-peer network} & |
593 |
|
\parbox{110pt}{Ability to simulate whole p2p network's usage patterns, network traffics, flux state etc} & |
594 |
|
\parbox{110pt}{Use same techniques as simulating/analysing the Internet} & |
595 |
|
\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} |
596 |
|
\\ \hline |
597 |
|
|
598 |
|
|
599 |
|
|
600 |
|
\end{longtable} |
601 |
|
|
602 |
\chapter{Gzz System} |
\chapter{Gzz System} |
603 |
|
|
604 |
\section{Overview of Gzz} |
\section{Overview of Gzz} |