Blogia
Blog de Jordi Sequero per FT

Arq. Informàtiques

Arquitectura Peer-to-Peer

La tercera i última arquitectura a comentar és l’anomenada Peer-to-Peer o P2P. Aquesta està basada en una relació teòrica d’igual a igual (sistema distribuït on tots els nodes tenen les mateixes possibilitats i responsabilitat i on tota la comunicació és simètrica) entre dos o més ordinadors. I, on aquests, usen alhora un mateix sistema de telecomunicació amb el propòsit de comunicar-se o compartir recursos. Però aquesta arquitectura P2P pura no és molt usual. Actualment es tendeix més cap a una P2P híbrida amb la inclusió d’altres elements com els DNS i altres protocols que el fa actuar com una arquitectura del tipus client/servidor i P2P de manera simultània segons les tasques a realitzar. Alguns exemples d’això són el sistema Usenet news server, el correu electrònic SMTP, OpenNAP, els canals IRC o Napster. Aquest és un clar exemple d’un sistema P2P híbrid, per que el seu èxit es basava en la utilització d’un gran índex (client/servidor) que feia possible compartir els arxius, en aquest cas d’àudio, disponibles gràcies a l’arquitectura P2P.

Si a principis de la dècada dels noranta la tecnologia JAVA era la base del P2P, actualment aquesta ha estat millorada amb els projectes JXTA, Chord project, PAST storage utility, P-Grid i el CoopNet content distribution sistem.

Com a desavantatges podem destacar el fet de ser un sistema obert no centralitzat i, per tant, difícil de controlar i garantir la seguretat, integritat i confidencialitat, que el fan objectiu de molts atacs per motius i vies molt diferents amb l’encriptació com a defensa. Un altre desavantatge el trobem en l’àmbit legal en relació als drets d’autor. Si en els Estats Units els casos més destacats són els de Sony Corp. Vs Universal City Studios (The Betamax decision) i MGM vs Grokster al nostre país també s’han començat a donar aquests litigis.

Però les avantatges d’aquesta arquitectura són majors que les desavantatges i radiquen en que la inclusió d’un nou membre és molt fàcil i no afecta al sistema sinó tot el contrari, perquè tots aquestes aporten recursos, espai d’emmagatzemament i potència de computació, millorant les capacitats del sistema, gran tolerància a les fallades, al ésser descentralitzat, que són substituïdes per la resta de clients o usuaris, amb un cost econòmic molt baix, amb un alt nivell d’anonimat i amb la possibilitat de realitzar diferents actuacions que, moltes d’elles influiran en les nostres vides.

Arquiectura Publicació / Subscripció

L'arquitectura Publicació/Subscripció es diferencia de l’anterior model client/servidor en que està formada per una relació Productor d’informació/consumidor d’informació, on el primer és una aplicació per difondre informació sense tenir en consideració qui és el client, i aquest és una aplicació que es subscriu als canals de distribució d’informació (productors) segons els seus interessos econòmics, culturals, tecnològics o esportius. Però, la transacció d’informació necessita d’un nou vehicle inexistent en el paradigma anterior, el mediador o Broker que pot ser central o distribuït (cal una organització d’aquest tipus per un millor servei) per tal de dirigir la informació publicada als usuaris subscriptors al canal o connectors lògics. Aquest determina el tipus d’informació, el format de les dades, característiques de personalització, caducitat i actualitzacions de la informació, mode d’operació i sistema de pagament.

El model de relació Publicació/Subscripció és de 1 (productor) a molts (consumidors) encara que es pot donar un canal de relació 1 a 1 per facilitar la comunicació directa entre aquests. Però això entraria fora d’aquesta arquitectura i estaria dintre del sistema client/servidor degut a que seria el client qui realitzi una demanda al servidor esperant resposta.

En relació a aquesta arquitectura podem destacar els RSS (amb una extensió d’arxiu .rss, .xml) que, segons els estàndards pot ésser (Rich Site Summary, RDF Site Summary o Really Simple Syndication). Aquests formen part de la família dels formats XML i és un format de dades desenvolupat específicament per llocs o sites que s’utilitzen amb freqüència i per mitja del qual es pot compartir informació amb la sindicació o redifusió de continguts a subscriptors d’un lloc web. Aquest format permet distribuir la informació sense necessitat d’un navegador encara que en les noves versions dels navegadors, amb nova programació dels scripts de navegació, permeten llegir els RSS sense necessitat de software addicional com passava abans. Els programes que llegeixen i presenten les fonts RSS s’anomenen agregadors i són lectors de feeds per tal d’obtenir resums de tots els llocs web que es vulgui, mitjançant subscripció, des de l’escriptori del sistema operatiu, correu electrònic, o aplicacions web del consumidor. Amb això, s’evita la necessitat d’obrir el navegador i visitar totes les webs i es crea una nova cadena de valor al sector dels continguts que està canviat el tipus de relació normal entre els client o subscriptors i el servidor o productor.

En relació amb el format RSS hem de destacar els blogs o webblogs, terme creat per Jorn Barger al 1997. Aquest, successors de les comunitats digitals com USENET, llistes de correu i BBS, són un lloc web periòdicament actualitzat que recopila cronològicament texts i articles de temàtiques molt heterogènies que poden ser comentats pels lectors, caracteritzat, des d’un punt de vista tècnic, per una multiplicitat de formats de publicació, a més de l’html; per la inclusió d’algun medi de sindicació, generalment a través d’un format RSS i, a partir del 2004, l’Atom (creat per resoldre la confusió creada per la existència d’estàndards de sindicació similars, RSS i RDF, i crear una API i un format més flexible ) i, finalment per la cada vegada més comuna inclusió de podcast. Aquest, unió dels termes Ipod i Broadcasting, consisteix en un arxiu d’àudio distribuït per Internet, per mitjà de la sindicació amb RSS o Atom, per poder ser reproduït en aparells portàtils o ordinadors personals.

Altres variants dels webblogs son els openblog, fotolog, vlogs (videoblogs), audioblogs i els moblogs (per la telefonia mòbil).

Arquitectura Client / Servidor

Arquitectura Client / Servidor

L’arquitectura informàtica més utilitzada en entorns distribuïts és la relació Client/Servidor, essent la web l’exemple més representatiu.

En aquesta relació, el client (habitualment una aplicació que utilitza una interficie gràfica d’ús) realitza peticions al servidor perquè li retorni la informació sol·licitada. En aquesta relació, el client és l’agent actiu (és ell qui inicia la relació enviant preguntes al servidor i esperant les respostes), mentre que el servidor és l’element passiu que espera ésser preguntat. En relació a aquest últim cal destacar que existeixen diferents tipus de servidors segons el seu propòsit encara que la seva arquitectura sigui la mateixa. Alguns d’aquests són els servidors web (que accepta les preguntes http dels clients, donant respostes que, usualment són pàgines web en format html); servidors d’aplicacions (és un motor de software dedicat a posar en funcionament certes aplicacions); servidors terminals (serveixen per connectar múltiples sistemes, possiblement de manera remota cap a un processador central) i els servidors de correu (també conegut com MTA, mail transfer agent, que en el context del sistemes de noms de domini, és un software que transfereix els missatges de correu electrònic d’un ordinador a un altre). Els servidors poden ser “stateless” o “stateful”. En relació al primer destacar que tracten cada pregunta de manera independent i, per tant, no manté informació entre preguntes ni les relaciona. Un exemple d’aquest tipus de servidor pot ésser les pàgines http estàtiques. Aquest tipus de servidor tenen l’avantatge del seu disseny simple però te la desavantatge de necessitar més informació en cada pregunta. Per la seva part, un servidor “stateful” manté informació de les preguntes anterior i les relaciona proporcionant amb això, unes respostes més encertades davant preguntes o demandes més simples, això sí, amb la necessitat d’un disseny molt més complex. Com a possible exemple tenim el servidor Apache Tomcat que utilitza el llenguatge Java.

La relació client/servidor es molt sovint descrita com una seqüència de diagrames que ens mostra amb dos línies verticals paral·leles diferents processos o objectes que interactuen simultàniament i, amb fletxes horitzontals, marca els missatges que s’envien en l’ordre segons s’han donat. Aquesta seqüència està estandarditzada per UML (Unified Modeling Language).


Aquest tipus d’arquitectura, client/servidor és coneguda habitualment com arquitectura de dos nivells, encara que també es pot parlar d’una arquitectura de tres nivells formada pel client, els servidors de aplicacions i els servidors de les bases de dades que emmagatzemen la informació pels anteriors, o bé, d’una arquitectura de n-nivells amb més de dos servidors per facilitar els resultats, però que és molt més difícil de programar. Les avantatges d’utilitzar aquesta arquitectura són que tota la informació està emmagatzemada als servidors i no a diferents sistemes sense control i consta de tecnologies més estables, més segures (degut a que el servidor només permet la modificació de dades als usuaris autoritzats) i amicables. Però aquest sistema també te les seves desavantatges com són les congestions de trànsit quan un gran nombre de clients realitzen la mateixa sol·licitud; si el servidor falla no hi ha possibilitat d’accedir a les sol·licituds; el hardware i software és, generalment molt estricte.

 

Existeixen diferents formes de comunicació: “addressing” en la relació Client/Servidor de les que destacarem el procés/computadora, on la direcció és dividida segons el model “procés@màquina” i d’aquesta manera la direcció 56@453 indica el procés 56 a la màquina o computadora 453; l’anomenada “nom del servidor” on el servidor té un índex de tots els noms i adreces dels servidors d’un domini determinat; “Localització de paquets”, on els missatges són enviats a tots els ordinadors del sistema distribuït per determinar la direcció del sistema receptor i, per últim, el “trader”, que indexa tots els serveis possibles en un sistema distribuït i quan un client demana un servei particular aquest sistema realitza una cerca pel seu índex fins trobar l’ordinador que pot donar millor solució.