the- best-cloud-storage-providers-and-file-syncing-...
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