UUIDs(2)

En 1980, usar una computadora para compartir datos en realidad significaba compartir una computadora física. Las instituciones intercambiaron información utilizando minicomputadoras y mainframes potentes con cientos o miles de terminales tontas.

Si bien las PC estaban revolucionando la informática en esta década, carecían de capacidades de red y, por lo tanto, no eran más que grandes calculadoras, muy flexibles, para aceptar otros tipos de datos más allá de sólo números.

Apollo Computer, fundada en 1980,  fue una de las primeras compañías en ingresar al incipiente mercado de estaciones de trabajo. Las estaciones de trabajo fueron realmente las primeras computadoras en red. Parece un poco ridículo usar este término, pero vale la pena afirmar que en este momento la mayor parte de la tecnología de redes que damos por sentado ahora, aún no había florecido.

Entonces, bajo este modelo y en marcado contraste con el mundo del mainframe, los datos y el cómputo se distribuyeron en muchas computadoras interconectadas. Así, la idea de la computación distribuida entró en el escenario.

Al igual que su contemporáneo, Sun Microsystems, Apollo era de perfil completo (full-stack) y debía construir desde cero. El hardware y el software de esa época no fueron diseñados para los casos de uso que imaginaban (como lo mismo ocurría con IBM y otros fabricantes; cada nuevo modelo de computadora implicaba crear un nuevo sistema operativo y todo un nuevo conjunto de herramientas y aplicaciones).

La asincronía de las redes y la naturaleza exigente de las estaciones de trabajo, requerían computadoras mucho más capaces. Capacidad multitarea, los controles de seguridad, las redes y el almacenamiento masivo eran demasiado caros o poco prácticos para incluirse en las PC en ese momento. Sin embargo, se consideró apostar por la visión de la estación de trabajo.

A pesar de un impresionante auge tecnológico en el mercado de estaciones de trabajo, todos estos proveedores se encontraron con el mismo obstáculo: pocos desarrolladores sabían algo sobre redes y, para hacer un caso comercial de las sus costosas estaciones de trabajo, necesitaban un entorno de programación apropiado. Los desarrolladores necesitaban una forma de crear fácilmente aplicaciones que pudieran explotar completamente las capacidades de red de sus respectivos productos.

La respuesta de Apollo fue su Sistema de Computación en Red (NCS, por sus siglas en inglés). NCS tomó prestadas ideas de la programación orientada a objetos y se construyó alrededor de llamadas de procedimiento remoto (RPC). Aunque ahora es, en su mayor parte, obsoleto, este enfoque logró el resultado final que Apollo esperaba: cualquier desarrollador sabía cómo invocar a una función en un entorno distribuido y el paradigma de programación era el de la época, orientado a objetos.

En un artículo publicado en Network World en 1989 sobre RPC, un director de IT en Burlington Coat Factory hizo una observación particularmente destacada: «Le toma solo un día a un buen programador para aprender a construir aplicaciones distribuidas utilizando RPC«. Ese año, Apollo se vendió a Hewlett-Packard por la friolera de $ 476 millones de dólares, casi mil millones de dólares de 2017.

Las cosas (objetos, interfaces, operaciones, métodos, etc.) o “entidades” en la terminología NCS, necesitaban identidades únicas para ser tratadas en un entorno en red. En la arquitectura estándar de von Neumann esto es trivial: la memoria o la dirección de almacenamiento masivo sirven fácilmente para este propósito. En un modelo informático distribuido que permite que muchas computadoras funcionen de forma independiente, esto no es trivial. La escala de su caso de uso significaba que la coordinación a través de la red estaba fuera de la mesa: era demasiado lenta y propensa a fallar.

NCS introdujo el concepto de UID (Universal IDentifier), que sirvió como la identidad primaria única para las entidades. Los UID son números de 64 bits que combinan un reloj monótono con una ID de host única incrustada permanentemente en el hardware de todas sus estaciones de trabajo. Bajo este esquema, los identificadores podrían generarse miles de veces por segundo en cada host y seguir siendo globalmente únicos para siempre, sin ningún cuello de botella de escala. El único punto de coordinación eran las fábricas de Apollo, donde las máquinas eran marcadas permanentemente con sus respectivos identificadores.

Fuente:

Principalmente basado en el artículo:

  1. Rick Branson, «A brief history of the UUIDsegment.com, blog; Published: 2017.06.07; visited: 2021.01.23. URL: https://segment.com/blog/a-brief-history-of-the-uuid/. Traducción de Dr. Eduardo René Rodríguez Ávila.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.