the- best-cloud-storage-providers-and-file-syncing-...

32
1 1 http://www.pcmag.com/roundup/306323/the- best-cloud-storage-providers-and-file-syncing- services 2

Upload: doanbao

Post on 26-Jan-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

1

1

� http://www.pcmag.com/roundup/306323/the-best-cloud-storage-providers-and-file-syncing-services

2

2

� ¿Qué son las Redes P2P?� Ventajas y Desventajas� Áreas de Aplicación� Arquitecturas� Búsquedas y Localización � Tendencias� Conclusiones

3

� En un sistema P2P los usuarios finales compartenrecursos vía intercambio directo entre sus computadoras.

� La información se encuentra distribuida entre los nodosmiembros del sistema en lugar de concentrarse en unservidor central

� Estrictamente un sistema P2P “puro” refiere aquel sistematotalmente distribuido, en el cual todos los nodos soncompletamente equivalentes en términos de funcionalidady tareas que desempeñan.

� Esta definición dejaría fuera algunos sistemas actualesP2P que utilizan el término de Super Nodo.

4

3

5

• ¿Qué compartimos?

• Creamos redes virtuales a nivel de aplicación=> Overlay Networks <=

• Descentralización• La Infraestructura crítica de la aplicación está en posesión de muchos

Res

urs

os

de

So

ftw

are

Espacio Disco

Ancho Banda1001010

Contenidos

Responsabilidad

Ciclos de cómputo

client-server• Server well connected to the “center” of

the Internet

• Servers carries out critical tasks

• Clients only talk to server

• Only nodes located on the “periphery” of

the Internet

• Tasks distributed across all nodes

• Clients talk to other clients

peer-to-peer

4

� Ventajas◦ Escalabilidad inherente◦ Mayor disponibilidad ◦ Auto-organización

� Desventajas◦ No hay Garantías de Calidad de Servicio◦ Propenso a un Mayor Consumo de Ancho de Banda

7

Client-server: YouTube

client-server

Advantages

• Client can disconnect after upload

• Uploader needs little bandwidth

• Other users can find the file easily

(just use search on server webpage)

Disadvantages

• Server may not accept file or remove it

later (according to content policy)

• Whole system depends on the server

(what if shut down like Napster?)

• Server storage and bandwidth

are expensive!

uploader

downloader downloader

downloader

downloaderdownloader

5

Peer-to-peer: BitTorrent

peer-to-peer

Advantages

• Does not depend on a central server

• Bandwidth shared across nodes

(downloaders also act as uploaders)

• High scalability, low cost

Disadvantages

• Seeder must remain on-line to guarantee

file availability

• Content is more difficult to find

(downloaders must find .torrent file)

• Freeloaders cheat in order to download

without uploading

seeder

downloader downloader

downloader

downloaderdownloader

Client-server

• Asymmetric: client and servers

carry out different tasks

• Global knowledge: servers have a

global view of the network

• Centralization: communications

and management are centralized

• Single point of failure: a server

failure brings down the system

• Limited scalability: servers easily

overloaded

• Expensive: server storage and

bandwidth capacity is not cheap

Peer-to-peer

• Symmetric: each node carries out the

same tasks

• Local knowledge: nodes only know a

small set of other nodes

• Decentralization: nodes must self-

organize in a decentralized way

• Robustness: several nodes may fail

with little or no impact

• High scalability: high aggregate

capacity, load distribution

• Low-cost: storage and bandwidth are

contributed by users

6

The main characteristics of P2P systems are:

• decentralization (i.e., no central server)

• self-organization (e.g., adding new nodes and removing disconnected ones)

• symmetric communications (e.g., peers act as clients and servers)

• scalability (thanks to high aggregate capacity and load distribution)

• shared ownership (i.e., storage and bandwidth are contributed by peers)

• overlay construction and routing (i.e., nodes form a logical network on top of the

underlying IP network)

a message from one peer to another is sent through the underlying IP network

� Compartir Recursos◦ Archivos: Napster, Gnutella,Kazaa, FreeNet◦ Recursos de Cómputo: SETI@home

� Comunicación◦ VoIP, Chat, Video Conferencias,..

� Colaboración◦ Edición de archivos de manera compartida◦ Foros, Mails, Calendarios, …

12

7

13

Compartir recursos

Cómputo distribuido

Mensajería instantanea

Trabajo colaborativo

mediado puro hibrido

P2P systems are deployed in a challenging environment:

• High latency and low bandwidth between nodes

- a high hop count will result in a high end-to-end latency

- transferring large files may take a long time

• Churn

- nodes may disconnect temporarily

- new nodes are constantly joining the system, while others leave the

overlay permanently

• Security

- P2P clients run on machines under full control of their users

- data sent to other nodes may be erased, corrupted, disclosed, etc.

- malicious users may try to bring down the system (e.g., routing attack)

• Selfishness

- users may run hacked P2P clients in order to avoid contributing resources

8

Some of the problems that a P2P systems designer must face:

• Overlay construction and maintenance

- maintain a given overlay topology (e.g., random, two-level, ring, etc.)

• Data location

- locate a given data object among a large number of nodes

• Data dissemination

- propagate data in an efficient and robust manner

• Per-node state

- keep the amount of state per node small

• Tolerance to churn

- maintain system invariants (e.g., topology, data location, data availability)

despite node arrivals and departures

� Napster, Gnutella, Freenet…

� Intended for large scale sharing of data files

� Reliable content location was not guaranteed

� Self-organization and scalability: two issues to be addressed

9

� Pastry, Tapestry, Chord, CAN…� They guarantee a definite answer to a query in a bounded number of network hops.

� They form a self-organizing overlay network. � They provide a load balanced, fault-tolerant distributed hash table, in which items can be inserted and looked up in a bounded number of forwarding hops.

18

� Los Sistemas P2P por naturaleza son Distribuidos.

� Por su forma de interconectarse son:� No Estructurados: Más simple, forman un grafo aleatorio.Pueden o no manejar índices.� Estructurados: Definen topologías (anillo, árboles binarios,toroides multidimensionales, entre otros). También conocidas comoDHT (Distributed Hash Tables)� Super Peers: Se eligen “Super Nodos”, mantienen índices yretransmiten las consultas

� Por sus forma de manejar sus directorios:� Híbridos� Totalmente Descentralizados (o Puros)� Parcialmente Centralizados

10

� Este tipo de arquitectura normalmente se utiliza en sistemaspara compartir archivos P2P que cuentan con un Servidorque sirve como directorio central y que mantiene un índicegeneral de los metadatos de todos los archivos almacenadosen la red

� Este Servidor mantiene también una tabla con la informaciónde las conexiones de los usuarios, incluyendo su IP y suvelocidad de conexión.

� Las consultas por archivos son enviadas a este Servidor,consisten en una lista de palabras.

� Los archivos son descargados de las máquinas Peer.

19

20

Servidor

Descaraga “Titanic”

Mary

JuanJosé

¿Dónde está “Titanic”?

Juan lo tiene

Consulta en Napster

El Servidor envía los posibles usuarios que tienen el archivo buscado

11

� Todos los nodos en la red tienen las mismas tareas y responsabilidades.

� La comunicación entre los miembros es simétrica.� No existe un servidor índice como directorio central de los

metadatos almacenados. Cada miembro almacena los metadatos de los archivos compartidos entre ellos.

� No existe un coordinador central.� Ejemplos:

� Ares Galaxy� Gnutella 2� Freenet� FreeServe

21

� Gnutella y Freenet

22

Descarga “Titanic

¿Dónde está “Titanic”?

Mary

Juan

JoséCarlos

Yo lo tengo

¿Dónde está “Titanic”?

Lo tiene Juan

¿Dónde está “Titanic”? Lo tiene Juan

12

� Ventajas◦ Ubica archivos de manera rápida y eficiente◦ Las búsquedas son exhaustivas◦ Todos los usuarios se deben registrar para estar en la red

� Desventajas◦ Vulnerable a la censura◦ Los datos populares vienen a ser menos accesibles debido a

la carga por peticiones en un servidor central.◦ El índice podría estar sin actualizar debido a que la base de

datos central se actualiza sólo en ciertos periodos.

23

� Ventajas:◦ Escalabilidad inherente.◦ Se evita el “problema” de tener un sólo punto de litigación.◦ Tolerancia a fallos.

� Desventajas:◦ El proceso de descubrimiento de la información es más lento.◦ El tráfico en la red por concepto de consultas es mayor.

24

13

� Similar a la descentralizada, sin embargo, algunos de sus nodos asumenpapeles de mayor importancia, actuando, por ejemplo, como servidores(Super Nodos) de índices locales para archivos compartidos pormiembros de un grupo determinado.

� Un servidor central registra los usuarios al sistema y facilita el proceso dedescubrimiento de miembros.

� Por ejemplo, en Morpheus, después de que un miembro es autenticadoen el servidor, el servidor le proporciona una dir. IP y un puerto (1214) deuno o más “Super Nodos” a los cuales este miembro se conectará.◦ Ejemplos: Morpheus, KazaA

25

26

Peer1: Archivo 1, Archivo 2, Archivo 3, ..…Peer2: Archivo 1, Archivo 2, Archivo 3, ..…Peer3: Archivo 1, Archivo 2, Archivo 3, ..…

Super Nodo A

Super Nodo C

Super Nodo B

Consulta

Peer 1Peer 2

Peer 3

Peer 2, Archivo 1

Get Archivo 1

1) Las consultas son enviadas a los Super Nodos2) En el caso de Morpheus devuelve el IP del Peer3) Los Peers se conectan directamente

14

� Las diversas arquitecturas definen distintos mecanismos para descubrir los archivos en una red P2P.

� Representan un factor importante que define la eficiencia del sistema para compartir archivos P2P

� Redes No Estructuradas:◦ FreeNet

◦ Gnutella

27

� Primero-Amplitud y Primero-Profundidad (Inundación)� Caminata aleatoria (Random Walk)� Manejo de Índices Locales (nodos en cierto radio)� Estrategias que explotan el comportamiento de la topología

de red que sigue la ley de potencia (power law). X = Ry

� Considerar Reputación de los Peers� Construcción de redes de capa de aplicación (overlays) en

base a contenidos: Semantic Overlay Network (SON).

28

15

� No index information is used◦ i.e. the information (k, p) is only available directly from p

� Simplest approach: Message Flooding (Gossiping)◦ send query message to C neighbors

◦ messages have limited time-to-live TTL

◦ messages have IDs to eliminate cycles

k="jingle-bells"

Example: C=3, TTL=2

©2006, Karl Aberer, Manfred Hauswirth - EPFL-IC, Laboratoire de systèmes d'informations répartis

� Developed in a 14 days “quick hack” by Nullsoft (winamp)

◦ Originally intended for exchange of recipes

� Evolution of Gnutella

◦ Published under GNU General Public License on the Nullsoft web server

◦ Taken off after a couple of hours by AOL (owner of Nullsoft)

◦ This was enough to “infect” the Internet

◦ Gnutella protocol was reverse engineered from downloaded versions of the original Gnutella software

◦ Third-party clients were published and Gnutella started to spread

� Based on message flooding

◦ Typical values C=4, TTL=7

◦ One request leads to messages

◦ Hooking up to the Gnutella systems requires that a new peer knows at least one Gnutella host (gnutellahosts.com:6346; outside the Gnutella protocol specification)

◦ Neighbors are found using a basic discovery protocol (ping-pong messages)

240,26)1(**20

=−∑=

TTL

i

iCC

16

Type Description Contained Information

Ping Announce availability and probe for

other servents

None

Pong Response to a ping IP address and port# of responding servent;

number and total kb of files shared

Query Search request Minimum network bandwidth of responding

servent; search criteria

QueryHit Returned by servents that have

the requested file

IP address, port# and network bandwidth of

responding servent; number of results and

result set

Push File download requests for

servents behind a firewall

Servent identifier; index of requested file; IP

address and port to send file to

CA

B D

EA’s ping

B’s pong

C’s pong

D’s pong

E’s pong

17

CA

B D

EA’s query (e.g., X.mp3)

C’s query hit

E’s query hit

X.mp3

X.mp3

GET X.mp3 X.mp3

� Very popular documents are approximately equally popular

� Less popular documents follow a Zipf-like distribution (i.e., the probability of seeing a query for the iiiithththth most popular query is proportional to 1/(i1/(i1/(i1/(ialphaalphaalphaalpha))))

� Access frequency of web documents also follows Zipf-like distributions ⇒ caching might work for Gnutella

18

Most Gnutella users are free riders

Of 33,335 hosts:

� 22,084 (66%) of the peers share no files

� 24,347 (73%) share ten or less files

� Top 1 percent (333) hosts share 37% (1,142,645) of total files shared

� Top 5 percent (1,667) hosts share 70% (1,142,645) of total files shared

� Top 10 percent (3,334) hosts share 87% (2,692,082) of total files shared

Many servents share files nobody downloads

Of 11,585 sharing hosts:• Top 1% of sites provide nearly 47% of all answers

• Top 25% of sites provide 98% of all answers

• 7,349 (63%) never provide a query response

� Follows a power-law distribution: P(k) ~ k-g

◦ k number of links a node is connected to, g constant (e.g. g=2)

◦ distribution independent of number of nodes N

◦ preferential attachment

◦ low connected nodes follow a constant distribution (?): more robust

19

� Average distance between nodes approx. 7

� Expanding Ring

◦ start search with small TTL (e.g. TTL = 1)

◦ if no success iteratively increase TTL (e.g. TTL = TTL +2)

� k-Random Walkers

◦ forward query to one randomly chosen neighbor only, with large TTL

◦ start k random walkers

◦ random walker periodically checks with requester whether to continue

20

� Performance

◦ Search latency: low (graph properties)

◦ Message Bandwidth: high

� improvements through random walkers, but essentially the whole network needs to be explored

◦ Storage cost: low (only local neighborhood)

◦ Update and maintenance cost: low (only local updates)

◦ Resilience to failures good: multiple paths are explored and data is replicated

� Qualitative Criteria

◦ search predicates: very flexible, any predicate is possible

◦ global knowledge: none required

◦ peer autonomy: high

� How are unstructured P2P networks characterized ?

� What is the purpose of the ping/pong messages in Gnutella ?

� Why is search latency in Gnutella low ?

� Which are methods to reduce message bandwidth in unstructured networks ?

21

� Reduce el tiempo de localización de archivos encomparación con el sistema de índice totalmentedescentralizado (como el de Gnutella y Freenet).

� Reduce la carga de trabajo en servidores centrales encomparación a los sistemas de índices totalmentecentralizados como el de Napster.

41

� El servidor central de Napster sólo mantiene el índice de losarchivos compartidos en el sistema. El servidor central no compartearchivos con otros Peers, tampoco descarga archivos desde ellos.

� En Morpheus y KazaA, un Super Nodo es un Peer, por tanto,comparte archivos con otros Peers.

� Naspter Colapsa si el servidor central falla. Si alguno o varios de losSuperNodos fallan, los Peers conectados a estos SuperNodospueden abrir conexiones con otros SuperNodos en el sistema, portanto, la red podrá funcionar. Si todos los SuperNodos fallan, losPeers existentes podrán tomar el papel de SuperNodos.

42

22

43

Identificar y Organizar Nodos (topología).Definir sucesores y predecesores.

44

Ingreso y abandono de la Red:Simultaneo…

23

� Utilizan un identificador de m-bits (se generan llaves e identifican nodos)◦ 2m posibles llaves y nodos◦ N = 2m

� Cada nodo puede tomar cualquier identificador [0 , 2m) sin traslapar� Sea k el conjunto de identificadores de nodos ordenados� El nodo k[i] es responsable de mantener todas las claves entre los valores

[ k[i-1]+1, k[i] ] ◦ El nodo k[i] es el nodo sucesor de k[i-1]◦ El nodo k[i-1] es el nodo predecesor de k[i]

� ej: m=3 && k={0,4,7} ◦ El nodo 4 es responsable de las llaves {1,2,3,4}◦ El nodo 7 es responsible de las llaves {5,6,7}◦ El nodo 0 es responsible de las llaves {0}

� Diseñado para permitir entrar y salir a los nodos con un mínimo de pertubación.

45

46

Nodo inactivo

Nodo activo

24

47

� Chord: MIT. [Stoica et al. 2001] � Servicio escalable de búsqeda P2P. Dada una llave, la mapea a un nodo

� CAN [Ratnasamy et al. 2001]: Content Addressable Network. � Insfraestructura distribuida que provee funcionalidad de tabla hash para mapear nombres de archivos a localidades.

� Pastry: Microsoft Research [Rowstron and Druschel 2001]� Infraestructura para localización y ruteo tolerante a fallas en un red de área amplia

� Tapestry [Zhao et al. 2001]� Infraestructura para localización y ruteo tolerante a fallas en un red de área amplia

� Kademlia: NY University [Mayamounkov and Mazieres 2002]� Servicio de búsqueda escalable basado en la métrica XOR

48

SON

Clasificación

Creacióny uso de

SON

Rock

RapCountry

Jazz

25

� Una comparación:◦ Yong Yang, Rocky Dunlap, Michael Rexroad, and Brian F. Cooper. Performance of Full Text Search in

Structured and Unstructured Peer-to-Peer Systems. In Proceedings of IEEE INFOCOM06, April 2006.

� Las redes Estructuradas ofrecen una mejora de 30% en los tiempos derespuesta comparados con las redes de Super Peers. Pero necesitan 6veces más recursos de red para publicar sus contenidos.

� Las redes No-Estructuradas que implementan sus búsquedas contécnicas de tipo “caminata aleatoria” (random walk) no necesitan publicarsus recursos, pero es más lento en responder sus consultas comparadocon otras estrategias.

� Opción: Combinar!

49

50

Tabla obtenida de Principles of Distributed Database System, third Edition.. M. Tamer Özsu, Patrick Valduriez; Springer november, 2010 page: 624 (Traducción libre)

26

� Diseñar estructuras de datos y algoritmos para la distribución y localización de archivos en donde se maximice la eficiencia, seguridad y la escalabilidad, tanto en redes estructuradas como sin estructura.

� El estudio de esquemas de anonimato, resistencia a censura y seguridad, especialmente para información que es sensible.

� Esquemas para combinar los beneficios de P2P con lasventajas que ofrece la computación distribuida bien establecidaque incluye la interoperabilidad y el manejo de estándarescomo en la Grid

52

� Diseño de mecanismos para el manejo de incentivos y paracontrol de reputación que ayudarán a estimular elcomportamiento de cooperación de los participantes y quepropiciará una operación más justa en la red P2P

� Estudio y propuestas de esquemas para agrupamiento ybúsqueda de información considerando su contenidosemántico. Tema muy relacionado con la Web Semántica.Pasar de la Música al Conocimiento!!!

27

53

• Plataformas Emergentes

• Convergencia entre computación Cloud, Grid y P2P

• Mejoras en la eficiencia de los sistemas P2P • Búsquedas Semánticas

(Tapestry, CAN -Content Addressable Networks …)• Uso de Caching en Consultas/Respuestas

54

Para operadores de redes

Las aplicaciones P2P pueden ser muy consumidoras BW• extremadamente populares (y hasta adictivas)• algunas siguen un uso de estrategias ineficientes (broadcast, inundación,..)• Dolor de cabeza!

Riesgo de Cuellos de Botella• Las redes overlay tienen poca relación con la estructura física• Relación simétrica entre Pares

Cambios en el Comportamiento de los Usuarios• “siempre” en línea!• Provedores y Consumidores de Información

28

55

Para Desarrolladores de Aplicaciones

La gente desea compartir recursos gratis!(e incluso se gasta su dinero …)• conviene hacer sentir a la gente que participan en proys. grandes • reconocer y dar crédit a los usuarios (favorece competencia)

Evitar cavar nuestra propia sepultura• evitar estrategias que consuman mucho ancho de banda• incluir mecanismos de micropagos/confianza como

- motivación para participar - evitar el free-riding- evitar ataques DoS

La gente está MUY interesada en contenidos digitales

56

Para Desarrolladores de Aplicaciones

Riesgo por Hackers • son necesarios los mecanismos de encripción

Tomar en cuenta que están emergiendo Plataformas eficientes de P2P

• reutilizar esfuerzos• reutilizar lo que haga la comunidad de usuarios

Asegurarse que nuestras aplicaciones siempre sean escalables

• Entre más usuarios, mayor será el interés por integrarse a la red.

29

� Proyecto que se encuentra en evaluación para decidirsi se introduce la tecnología P2P en un Sistema deAlmacenamiento Distribuido y Escalable (SADE)actualmente en desarrollo en Cinvestav – Tamaulipas.

57

58

30

59

Administración

60

31

61

32

63