El modelo PageRank

Desde 1999 Google tiene como marca registrada la patente de su producto estrella y principal motivo de su exito, el PageRank (PR) . El objetivo de este modelo es clasificar la importancia de cada web en relación al numero de enlaces que tiene a otras paginas. El motor de busqueda de Google utiliza este sistema para poder clasificar las paginas indexadas y mostrarlas como resultado de una búsqueda.

Internamente el PR es un conjunto de algoritmos algunos de los cuales se pueden encontrar el los documentos que Larry Page y Sergey Brin presentaron en la universidad de Stanford como prototipo de su proyecto Google.
The Anatomy of a Large-Scale Hypertextual Web Search Engine.

La reflexión que lleva a Larry Page y Sergey Brin a crear este modelo de pesos fue darse cuenta de la cantidad de documentos académicos que hacían referencia a otros documentos de manera que entre más grande fuera el numero de referencias que tenia un documento, más importante es en su materia con relación a los demás. Partiendo de esta base se crea el siguiente modelo:

PR(A) = (1-d) + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn))

Donde:

PR(A) Es el PageRank de la página A,
PR(Ti) Es el PageRank de las páginas Ti que enlazan a A,
C(Ti) Es el número de links salientes de la página Ti
d es un factor variable que puede estar entre 0 y 1.


Para poder explicar esta formula pondremos una ejemplo con un caso practico.
Imaginemos que tenemos tres paginas A,B,C y que x es el PageRank de una de ellas, en este caso de A, por otro lado tenemos f(x) que será la parte de PageRank de A que se traspasa a sus enlaces.

Por lo tanto :

Si A enlaza con B, A esta dando f(x)*1 de PR a B.
Si A enlaza con B y con C la parte PageRank que recibirán B y C sera F(x)*0.5 cada uno. Y así sucesivamente, de manera que si A enlaza con 100 paginas cada pagina enlazada recibirá un PR de f(x)*0.05. A, esta perdiendo parte de su PR siempre que enlaza a otra pagina, pero lo gana por el numero de paginas que enlazan a A.
El valor PR que tiene un web site (entre 0 y 10) no solo depende del numero de enlaces entrantes o salientes, también depende del flujo de PR que hay en internet, de la frecuencia de las actualizaciones de la pagina o de estar presente en directorios relacionados con la tematica del site.



Como consecuencia de este modelo de valoraciones, alcanzar un buen nivel PR se convierte en muchos casos una prioridad para empresas dedicadas al eComerce, ante esta demanda nace lo que hoy se conoce como SEO (Search Engine Optimization). La idea de SEO consiste en aplicar una serie de metodos que ayudan a optimizar una web site para poder aumentar su trafico, algunos de ellos serian la usabilidad, la estructura y diseño de la pagina, la programación o el contenido. Otra variante de optimización de sites pero más orientada al Marketing es el SEM (Search Engine Marketing) que busca promover un site mediante métodos como la optimización del motor de búsqueda, el pago por la colocación en buscadores PPC(pago por clic) o la publicidad contextual. A mejor, diseño y contenidos, mejor posicionamiento dentro de la red, aumento del trafico en la web los que significa más ventas.

Volviendo al PageRank hay que decir que la idea se basa en el modelo SCI (Science Citation Index )donde en la decada de los 50 en el Instituto de información científica de los Estados Unidos se pretende asignar méritos científicos, suponiendo que los investigadores cuyo factor de impacto es más alto (por sus publicaciones u otros trabajos científicos) , colaboran en mayor medida con el desarrollo de su área de investigación.

Conocer el PR que tiene una pagina web es sencillo paginas como
www.mipagerank.com ofrecen este servicio si no la ToolBar de Google también permite acceder a esta información.



Los servidores de Google

En poco más de una década Google se ha convertido en un referente de creatividad, revolucionando el concepto que el mundo tenia de internet, su revolucionario sistema de clasificación de webs PageRank es el primero de una serie de productos de una compañía que en poco tiempo se ha puesto a la altura de los titanes de la informática. En esa linea de innovación y creatividad Google crea y gestiona productos como Gmail, Picassa, YouTube, Blogger y abre su campo de competencia a otros sectores TIC con su sistema operativo Android. Es de suponer que una compañía con esta visión necesita una infraestructura tecnológica que este a la altura de sus expectativas.

Los servidores

Los servidores de Google son una pieza importante en el éxito de la compañía. En un principio se creía que tenían servidores propios, especialmente diseñados para poder atender a 5.000 millones de búsquedas cada mes o lo que es lo mismo 2.000 peticiones de búsqueda por segundo, pero la realidad es que los servidores que tiene Google son ordenadores montados a medida con piezas disponibles en el mercado, lo cual hace que los costes por mantenimiento se reduzcan considerablemente. Posiblemente el detalle que marca la diferencia entre un servidor convencional y un servidor Google es que este ultimo dispone de una batería propia de 12v que actúa como un SAI dedicado, por lo general los SAIs se utilizan de forma conjunta para varios servidores, con esta solución se reducen problemas con las maquinas, costes energéticos y sobrecalentamiento del procesador, lo cual afecta al rendimiento.
De la cantidad de servidores de los que dispone este gigante se ha hablado mucho, algunas fuentes aseguran que dispone de más de 600.000 servidores unificados en clusters.
Cada clúster se compone de 359 racks, 31.654 servidores, 63.184 CPUs, 126.368 GHz de potencia de procesador (Intel o AMD), 63.184 GBytes de RAM y 2.527 TBytes de espacio en HD. Cada uno de estos clusters puede atender hasta 40 millones de búsquedas por día y La información está replicada más de tres veces para garantizar la fiabilidad a base de redundancia.
Estos clusters están repartidos en 7 data centers por todo el mundo, Washington (USA), Herndon (Virginia, USA), Santa Clara (California, USA) o Zurich (Suiza).
Debido a la multitud de servidores de los que se dispone, el tamaño disponible es muy importante, para ello la compañía Rackable Systems compacta varios servidores Google en un espacio realmente reducido.
Google utiliza su propio gestor de tráfico y su software de administración y balanceo de cargas para dirigir las peticiones al servidor más adecuado en cada momento.



Sistemas operativos y software de desarrollo.

El sistema operativo que gobierna los servidores y PCs de Google es Linux. En el año 2002 Google firmo un acuerdo con Linux RedHat como suministrador del sistema operativo.
Google eligió Linux como S.O por el coste, la posibilidad de personalización del sistema, estabilidad, seguridad y rendimiento. Por estos motivos Linux se utiliza a nivel de servidores y en los PCs de los empleados. Con ello Google forma el mayor cluster de Linux del mundo. Esta relación entre Linux y Google hace incluso que en ocasiones, este último se ponga en contacto con los desarrolladores del Kernel de Linux para tratar aspectos muy concretos del núcleo.
Bajo Linux se instalan lenguajes de programación como C++, Python, PHP y Java, utilizan herramientas como gcc, compilador genérico para diferentes lenguajes, gnats para el seguimiento de fallos reportados a un sistema central o administradores de versiones como el p4.

Referente a la seguridad, la mayoría de las máquinas de Google no están accesibles desde Internet, ya que se encuentran detrás de un router/firewall que lo impide. Las que sí están accesibles (los servidores web) son auditados periódicamente para encontrar posibles agujeros de seguridad.

Servidores DNS

Google quiere minimizar la cadena de intermediarios que hay entre el usuario y sus servidores. Teme a los proveedores de Internet, para los que cada vez representa una mayor amenaza al competir sus servicios con los ofrecidos por las operadoras, como Google Voice o Youtube de pago. Con esa intención acaba de presentar un servicio de resolución DNS con el que Google pasará a dominar un campo estratégico hasta ahora en manos de los ISP: la traducción de los nombres de dominio en la IP del servidor donde se aloja la web.
No solo se quita de en medio a los ISP y la posibilidad de que intercepten resoluciones DNS para por ejemplo introducir publicidad, como ya ha pasado en alguna ocasión, si no que le abre la posibilidad de ofrecer nuevos servicios cuando el usuario teclea una dirección de forma errónea, o lanzando una advertencia cuando vamos a visitar un sitio malicioso. De universalizarse el uso de sus DNS bien podría convertirse en el servidor autoritativo de nuevos tipos de dominios. Por ejemplo, tecleando el nombre de la cuenta de Google podría llevar a la página con el perfil del usuario. O tecleando un número de Google Voice iniciar una llamada.
Las DNS de Google estarán preparadas para resolver de forma muy rápida. Bien es cierto que ese es a menudo el problema que presentan las DNS oficiales de nuestro proveedor de Internet. También habla de seguridad, ya que frecuentemente surgen vulnerabilidades serias relacionadas con la resolución de dominios y no todos los servidores las parchean igual de rápido.

Google Public DNS

Las IPs que ha elegido Google son sumamente fáciles de recordar:

8.8.8.8 google-public-dns-a.google.com
8.8.4.4 google-public-dns-b.google.com

Si quieres probarlas, puedes seguir la guía para cambiar las DNS o las instrucciones oficiales.
En el analizador DNS ya hemos incluidos los dos nuevos servidores de Google. Aunque resuelven rápido, en la mayoría de los casos no lo harán mejor que las DNS de nuestros ISP, puesto que las de Google parecen estar en su cuartel general en EEUU (txuspe aclara que sólo lo parecen). Desde España con un ADSL de Telefónica hay 15 saltos con un RTT de 80 ms. Desde el servidor de bandaancha.eu desde donde realiza las consultas el analizador hay 30 ms. Es probable que en el futuro Google instale nuevos servidores en Europa o incluso en cada país.

Google ya tiene su propio navegador, sistema operativo, servicio de correo electrónico, telefonía VoIP, vídeo bajo demanda de pago muy pronto, servidores DNS. ¿cuándo podremos contratar su ADSL?