Capítulo 1 – ciberFlujos

1.1 Introducción

Tal como afirma el visionario David Gelernter (1): “No podemos dejar que la Web sólo ocurra, tenemos que darle forma”. Todos estamos convencidos que la Web es útil y que no ha habido ningún tiempo como el presente tecnológicamente hablando, y hemos estado como en trance con ella. Hemos navegado la Web desde nuestros dispositivos buscando información y nos hemos maravillado con lo que hemos encontrado. Es obvio que tenemos más información disponible que nuestros padres tuvieron y en el futuro tendremos aún más. Sin embargo, los problemas que se resuelven en la Web en la actualidad son sencillos comparados con los problemas que podría ayudarnos a resolver.

Este libro trata sobre cómo debemos organizar los accesos en Web para que la información que fluye en ella tenga sentido para las personas. Trata sobre cuáles son los problemas científicos que debemos afrontar pronto y de manera seria. Específicamente, emprendemos la elaboración de una teoría de concurrencia que sea holística y completa aplicable a lo que llamamos “ciberFlujos”.

Estos ciberFlujos constituyen las unidades de información con sentido para las personas y van hacia el usuario y lo satisface con información pertinente e interesante. Si quisiéramos hacer una analogía con algo que usamos a diario, sería como la TV: la encendemos cuando queremos, vemos lo que queremos y cuando queremos, contratamos nuevos canales en línea, y la apagamos cuando deseamos. Imagínense la misma capacidad de la TV, pero de data útil. Esta viene hacia Ud. sin que Ud. necesariamente la busque.

Las tecnologías masivas en la Web se relacionan con 2 actividades básicas (y sus muchas variantes) de las personas: el escribir y el buscar. Lo que estas tecnologías han producido es mucha,  pero no necesariamente mejor información. A la dificultad  y la angustia de esxtraerle significado a esta enorme cantidad de datos se le denomina “sobrecarga de información”.

Este serio problema tiene dos partes:

  1. El aumento del número de fuentes de información, y
  2. El aumento del flujo de información por cada fuente.

Hay más fuentes de información y cada una de ellas tiene más información. Ensayemos un planteamiento de solución para ambos problemas de la sobrecarga:

Si el conocimiento es información absorbida por la consciencia de las personas, entonces, cualquier solución al problema de la sobrecarga de información debe buscar personalizar el conocimiento para que éste tenga sentido a cada uno de nosotros.

Si esto es así, entonces deberíamos:

(Para el problema 1): ser capaces de personalizar las fuentes que nos interesen de acuerdo a nuestras preferencias. Es decir, debemos ser capaces de orientar los flujos de información de acuerdo a nuestros intereses.

(Para el problema 2): ser capaces de combinar estas fuentes escogidas con nuestras propias fuentes personales de información, nuestros correos, blogs, documentos, etc. Es decir, debemos ser capaces de combinar información propia con los otros flujos de información en la Web.

Si cada persona, empresa, organización, o país, logra combinar  y personalizar otras fuentes de información con las propias, es muy probable que pueda mejorar la calidad de la información que recibe. Es decir, estas personas, empresas, y organizaciones usarían mejor el conocimiento en la Web y no estarían tan preocupadas por la información que no están leyendo o a la que no tienen acceso: tendrían acceso a la información que les sirve y no tendrían la sensación que se están perdiendo algo importante.  

Es más, es muy común que si no se cuenta con la información pertinente, entonces generalmente no se toman las decisiones importantes que deben tomarse. Se espera hasta obtener la información. En caso que se obtenga la información pertinente pero ésta se encuentra modificada y o corrupta por las mismas operaciones de extracción de esta información, entonces las decisiones que se tomen basadas en esta información, serán erróneas. Esto causará perjuicios a las personas y a la propiedad. Al problema de mantener la información de manera consistente a pesar de los múltiples accesos, se le denomina el “problema del control de la concurrencia”.  

Si logramos accesar la información necesaria y a tiempo y somos capaces de mantenerla en un estado consistente, entonces es posible que desaparezca el problema de la sobrecarga de información. Este libro elabora sobre cómo modelar la Web de manera teórica y formal para lograr controlar los flujos de la información para personalizarlos de acuerdo a los intereses del usuario. A este enfoque de estudiar los datos en la Web lo denominamos “ciberFlujos”.

1.2  Qué es un ciberFlujo

Denominamos ciberFlujo al esfuerzo y al resultado de personalizar la Web para que sirva a un interés. Denominamos ciberFlujos a los muchísimos y diferentes esfuerzos en la Web para el mismo propósito. Al conjunto de ciberFlujos en toda la Web y las redes de comunicaciones en el planeta, se le denomina ciberConocimiento (2). A las operaciones sobre los ciberFlujos también los denominamos ciberFlujos. Los ciberFlujos van hacia el usuario y no al revés. Las herramientas para modelar y sacar provecho de estos flujos son las de las ciencias de computación e información y la ingeniería de software.

La Web es considerada un repositorio de datos que eventualmente contendrá todo el conocimiento humano. Los humanos hacemos uso de la Web y cada vez dependemos más de ella.  Los datos representan el espacio de la Web. Por otro lado, tenemos que la Web no es estática, no sólo en las versiones de datos sino en la existencia misma de estos datos. Es decir, los datos nacen, viven, y mueren. Esto no debe sorprendernos ya que los datos en la Web reflejan la actividad humana y todos sabemos que el aspecto temporal de la vida de los humanos es tan importante como el espacial.

Los seres humanos actuamos y hablamos siempre en términos de espacio-tiempo aunque no nos percatemos de ello. Por ejemplo, si 2 personas acuerdan en reunirse,  siempre incluyen el dónde y cuándo de la reunión. Este es el espacio-tiempo. Cuando estamos solos en casa trabajando con información extraída de la Web siempre existe el cuándo, que en este caso, es el ahora.  Si deseamos documentar el espacio-tiempo de nuestra lectura en casa escribiríamos: en mi casa, a las cuatro de la tarde. Si quisiéramos documentar el espacio-tiempo de la información escribiríamos: el dato X en la Web fue creado en fecha Y.

El primer ejemplo del párrafo anterior: “en mi casa, a las cuatro de la tarde”, corresponde al espacio-tiempo del lector. El segundo ejemplo corresponde al espacio-tiempo del dato X. El primero documenta nuestra vida en el espacio-tiempo. El segundo documenta la vida del dato en espacio-tiempo Web. Establecida la diferencia y el significado de los espacios-tiempos reales y de los datos,  podemos afirmar que las operaciones sobre los ciberFlujos corresponden a las transacciones estándar que ya conocemos pero aumentadas con el aspecto temporal.

Debemos incluir y hacer cumplir el criterio de corrección y confianza de los datos después de una transacción. Es decir, mantener los datos confiables antes y después de cualquier operación. Teóricamente hablando, esto corresponde al Control de la Concurrencia. Es preciso que entendamos y podamos modelar formalmente el concepto espacio-tiempo Web. La Web debe ser concebida como un universo de datos en donde el concepto espacio-tiempo debe existir para que sea compatible y refleje nuestras actividades. Todo dato en la Web ocupa tiempo y espacio. Si deseamos documentar nuestras vidas, incluiríamos lugar y fecha. Debe hacerse lo mismo con los datos. El objetivo es el crear las operaciones fundamentales de este espacio-tiempo “sintético” de la  Web.

Este espacio-tiempo Web sintético no está restringido por las leyes de la física. El poder manipular el espacio-tiempo Web nos permitirá crear y encontrar nuevas y sorprendentes realidades, las cuales también deben estar también al servicio del hombre.  De la misma manera que los humanos viven sus vidas en su espacio-tiempo y éstas se pueden representar por entradas en bitácoras (en Inglés, logs), así los datos en la Web, deberían poder manipularse y observarse en “flujos” que nos brinden información temporal. En otras palabras, deberíamos ser capaces de ver nuestras vidas reflejadas en flujos de datos que deberíamos ser capaces de manipular a voluntad. No sólo eso, deberíamos ser capaces de observar simulaciones sobre nuestras vidas, relaciones, circunstancias, etc. y obtener las ventajas que esta capacidad nos pueda brindar sin ningún temor ni riesgo.

Para crear y observar los flujos de información propuestos para cada usuario debemos dejar de pensar en la Web como un conjunto enorme de direcciones o sitios Web. Debemos empezar a concebirla como un conjunto enorme de flujos de información. El contar con una visión del espacio y el tiempo en la Web nos permitirá completar el planteamiento de solución al problema de la sobrecarga de información.

Para el observador desinformado la Web actual podría parecer estática. Sin embargo, la información tiene movimiento. Tiene velocidad y dirección en el espacio. Los datos de los flujos de información se trasladan en estructuras conocidas como ciberFlujos o Flujos de Vida (En Inglés, Life Streams). Estos ciberFlujos que recorren la ciber-realidad están compuestos por datos frescos que nacen en el tiempo y corresponden a las noticias, blogs, twitts, alimentadores (en Inglés, Feeds), actividades, eventos, etc.

Todos estos documentos digitales están arreglados por tiempo de creación y van cambiando en tiempo real al ritmo del tiempo y tienen pasado y presente y futuro: El pasado viaja a través del presente hacia el futuro.

Todos los documentos digitales de cada persona pueden visualizarse de esta manera: en un ciberFlujo que vive y mora en esta “ciberRealidad”. Estos documentos digitales incluyen entre otros: comunicaciones, documentos, fotos, videos, referencias, llamadas telefónicas, mensajes de voz, de texto, etc., y muchísimos más que aún no se han creado.

1.3 Operaciones Básicas con los ciberFlujos

Podemos visualizar nuestra interacción con los ciberFlujos de varias maneras: sentados frente a nuestras pantallas de nuestro dispositivo de comunicaciones o parados frente a una pantalla panorámica visualizando o escuchando a nuestro ciberFlujo personal. Siempre es conveniente recurrir a un ejemplo familiar para explicar el futuro. Un dispositivo de video sería un buen ejemplo. Todos los elementos de este ciberFlujo personal podrán ser manipulados por el usuario. Tendríamos entonces la capacidad de parar el ciberFlujo,  avanzarlo, retrocederlo, adelantarlo y escucharlo. También podríamos bajar y subir el volumen; ver menos del ciberFlujo o ver más del mismo. Podría separar su ciberFlujo en varios sub-ciberFlujos para concentrarse en algo específico. Cuando su interés cambie, fusionará nuevamente sus sub-ciberFlujos en su ciberFlujo de siempre. Podrá eliminar temporalmente elementos del ciberFlujo o marcarlos para observarlos en un futuro.

Es perfectamente posible que un individuo, negocio, organización, etc. posea u observe más de un ciberFlujo. Podría tener más de un interés en la Web o podría tener un ciberFlujo personal y uno del trabajo. Podría tener un ciberFlujo por cada grupo de amigos que tenga en la Web. Serán muchas las razones que tendremos para crear o conectarnos a un ciberFlujo. No es muy difícil imaginarse que queramos operar estos ciberFlujos para efectos, por ejemplo, de comparación y análisis.

Cualquier persona, negocio u organización  podrá crear su propio ciberFlujo a partir de sus datos personales, sus gustos, sus intereses, etc. y podrá adicionar ciberFlujos al suyo propio o podrá restar información que no le interesa.   El resultado será un ciberFlujo personal que será diferente a otros ciberFlujos existentes en la Web; un flujo de rápido movimiento de información digital personalizada.

Sumar y Restar de ciberFlujos

No hay manera estándar de juntar 2 sitios Web ya que se podría usar cualquiera de muchos criterios.  Sin embargo, es sencillo juntar 2 ciberFlujos por tiempo de ocurrencia de los eventos o por las actividades incluidas en el ciberFlujo. Tal como juntaríamos 2 mazos de cartas de naipes pero manteniendo el orden por tiempo de ocurrencia de cada evento o actividad de ambos ciberFlujos. El operar sobre estos ciberFlujos es importante ya que deseamos resolver el problema de la sobrecarga de la información.

  1. Para personalizar los flujos de información debemos restringir (restar) o focalizarnos en algún tema de los ciberFlujos  de alguna manera (sección 1.1, Problema 2),
  2. Debemos ser capaces de combinar (sumar) los ciberFlujos de información (sección 1.1, Problema 1).

El resultado de una suma o una resta de ciberFlujos siempre será un ciberFlujo.  De esta manera podemos operar sobre los ciberFlujos que recorren la Web sin modificar su naturaleza. Toda la información dinámica de la Web se comportará como ciberFlujos. Es importante encontrar leyes de manipulación de ciberFlujos que sean cerradas y completas en este sentido.

Juntar y Separar ciberFlujos

Para separar ciberFlujos en varios sub-ciberFlujos debemos especificar el criterio de separación. Esta operación la haremos cuando queramos concentrar nuestra atención en puntos específicos. Es decir, cuando queramos más detalles sobre un tema específico. También se podrá realizar la separación por velocidades de ocurrencia. El número de sub-ciberFlujos sólo estará limitado por el número de  elementos visualizadores con los que cuenta. Más tarde se podrán unir nuevamente en un sólo ciberFlujo sumando varios ciberFlujos; para juntar ciberFlujos los sumamos.

Zoom en ciberFlujos

Se podrá descartar temporalmente una serie de aspectos para que nuestro sistema de visualización se concentre en algún aspecto específico del ciberFlujo. Esto es parecido a cuando operamos sobre mapas y usamos la opción Zoom; acercarse para ver más detalles o alejarse para ver mejor los macro-aspectos.

Escuchar ciberFlujos

También podrá escuchar su ciberFlujo si así lo desea. Por ejemplo, el software de lectura de texto le leerá a Ud. eventos pre-programados. Al software que administre su ciberFlujo le será muy fácil el adelantarse a sus deseos y sus hábitos. Analizará el uso que Ud. le da a su ciberFlujo y se adelantará a sus deseos. Así mismo, será fácil (y peligroso) analizar su conducta y adelantarse a sus acciones futuras. Habrá que tener mucho cuidado con este último punto para hacer respetar el derecho a la privacidad de los individuos.

Visualizar ciberFlujos

La capacidad de visualización de ciberFlujos será directamente proporcional a la capacidad computacional y de definición de los dispositivos computacionales de presentación que usemos. No sólo nos referimos a los ciclos de CPU o la definición de sus pantallas, sino a las tecnologías disponibles como la holografía e inventos en la capacidad de análisis y presentación de los datos.

Proyectar ciberFlujos al futuro o al pasado

Una importante ventaja de la manipulación de ciberFlujos a voluntad, es que podemos hacer predicciones de algún aspecto de nuestra vida en el futuro. Si deseamos tomar decisiones y sumamos los ciberFlujos relevantes, podríamos proyectar con cierto grado de certeza nuestro propio futuro. También podríamos extrapolar hacia el pasado cierto aspecto que consideremos importante y buscar en esa extrapolación explicaciones a nuestras actitudes pasadas frente a alguna decisión tomada.

Estas proyecciones nos permitirán “ver” el pasado y “analizar pasados posibles” y estudiar cómo se relacionan con nuestra historia y actitudes del presente y del futuro.

1.4  Tiempo y Orden

El principio de organización guía de la Web del futuro será el tiempo. Éste, unido al criterio de espacio (contenido) con el que los  humanos ordenamos el conocimiento, dará como resultado una Web ordenada por tiempo y espacio. El ciberEspacio estará lleno de ciberFlujos en el que cada humano, negocio, u organización contará su historia,  hará análisis predictivos, y analizará su pasado. A este conjunto de ciberFlujos, conjuntamente con la organización del ciberConocimiento, lo denominamos el “Espacio-Tiempo Web”.

Si actualmente vivimos en la sociedad de la información, ¿Qué saben nuestros hijos que no sabían nuestros padres? La respuesta es el “ahora”. Ellos saben del ahora. El diluvio de información sobre el ahora ahoga todos los momentos que no sean el ahora.

Debemos corregir este problema. En la Web todo estará organizado y registrado en la forma de ciberFlujos. Cada uno de éstos estará compuesto de manera inherente por el pasado, el presente, y una versión del futuro del dueño del ciberFlujo.  La Web nos brinda todas las facilidades para estudiar los ciberFlujos. Sabemos que la Web actual es un diluvio de información sobre el ahora.

Si sabemos que esto es así, entonces podemos compensar por este problema y usar la Web como una de las mejores herramientas para analizar la historia y debatir sobre líneas de tiempo alternativas y encontrar explicaciones a eventos ocurridos. Por supuesto, la cultura del ahora ni desaparecerá ni se detendrá.

Sin embargo, sí estaremos en mejor posición de analizar y entender este fenómeno cultural. Es más, a medida que el uso de los ciberFlujos se haga más común, la capacidad de  análisis de vida que nos proporcionarán los ciberFlujos aumentará.

Es indispensable definir el espacio-tiempo Web. La realidad de la Web está compuesta  por eventos y sus trayectorias. Estos eventos están  dispuestos en jerarquías. El tiempo en la Web juega el mismo papel que el tiempo en nuestra realidad. Excepto que sí estamos permitidos viajar al pasado y al futuro. Es decir, el ciberFlujo puede ser analizado a voluntad. Llegaremos a un punto en la utilización de los ciberFlujos en el que podremos manipular la realidad Web de la manera que queramos y sin malas consecuencias. Podremos estudiar múltiples posibilidades futuras y escoger la que más nos convenga. También podremos analizar el pasado y averiguar cómo se relaciona con eventos posteriores al período estudiado. Así aprenderemos  lecciones de la historia que antes (sin la Web y el concepto de los ciberFlujos) no nos hubiera sido posible.

El ciberConocimiento vivirá en la Web y debe ser organizado de manera semántica e incorporando lo mejor que los modelos de datos nos ofrecen. Así mismo, la dimensión tiempo es el criterio sobre el cual se organizarán los ciberFlujos. No todos los eventos estarán relacionados unos con otros. Un evento estará relacionado por tiempo con eventos pertinentes y otros eventos estarán relacionados con otros eventos. Esta relación de tiempos de manera parcial es la que organizará los eventos en la Web por el factor tiempo. Si un evento ocurre antes que otro decimos habrá una “relación binaria de precedencia” con el segundo evento. Haremos uso de esta relación binaria para organizar la Web por el factor tiempo. Esto lo veremos al detalle en capítulos posteriores.

Los eventos, los flujos, y los procesos constituyen los ingredientes del aspecto tiempo del espacio-tiempo Web.   Estos describen el contexto y las oportunidades de captación y detección de ocurrencias en la Web o descubrimiento del conocimiento. Si esta capacidad se automatiza, es posible contar con un cuadro situacional en tiempo real que sería muy beneficioso en el futuro. Usaremos los ciberFlujos para nuestro beneficio personal, organizacional y social.

1.5  Transacciones y Serialidad

En la computación moderna se denomina Transacción a la unidad de  interacción con los repositorios y los sistemas de tratamiento en línea de datos. En el resto del libro denominaremos transacción a aquella unidad de interacción con los ciberFlujos. La razón es que el vocablo “transacción” se ha convertido a través de los años en el estándar mundial para estos efectos y el lector, estimamos, estará más familiarizado con este vocablo que con una descripción alternativa más compleja o más larga.

Como requisito para el tratamiento del sistema de consulta de procesos mediante transacciones en línea debemos diferenciar 2 temas importantes. El primero es el significado de un modelo de transacciones, y el segundo es la implementación del modelo propuesto. En todo sistema de consulta y actualización de datos existe el concepto de consistencia de los datos. Es decir, en todo momento debe mantenerse la corrección del contenido de cada dato (sin excepción). De lo contrario tendremos data corrupta e invalida. ¿Cómo  se corrompen los datos? Pues en presencia de operaciones simultáneas y actualizaciones mal coordinadas o sincronizadas.

Las operaciones o transacciones están compuestas de varios pasos. Los pasos de diferentes transacciones se ejecutan de manera concurrente o aparentemente simultánea. Es decir se puede ejecutar un paso de una transacción que consista en leer un dato y luego se ejecuta un paso de otra transacción que escribe sobre el mismo dato. Luego, la primera transacción que leyó el dato asume que lo que leyó es correcto. Sin embargo, la segunda lo cambió después que la primera transacción lo leyera. Tenemos un problema de conflicto de accesos; esto es un ejemplo de data corrupta para la primera transacción. Hubo un conflicto y no se controló la concurrencia. La solución obviamente es controlar la concurrencia de acceso a los datos y saber de estos conflictos para no permitir que sucedan estas “condiciones de carrera” como en el ejemplo presentado. Para lograr este control es necesario lograr que las diferentes transacciones que interactúen sean “serializables”.

Una ejecución de transacciones es “serial” si por cada par de transacciones, los accesos de una preceden a los de la otra. Una ejecución es “serializable” si produce los mismos resultados y tiene el mismo efecto en las bases de datos, que una ejecución serial de las mismas transacciones (3). Definido el problema de la serialidad debemos, de todas maneras, lograr que las ejecuciones de las transacciones (todas ellas) sean serializables. De esta manera se evitarán los conflictos en los accesos a los datos y se preservará la consistencia de los mismos.  

El resto de libro trata de sobre cómo lograr que esto sea así en presencia de la Web misma y las transacciones sobre los ciberFlujos.  Se proponen modelos para las transacciones basadas en mensajes y se crea un sistema de control de concurrencia que permita la co-existencia de diferentes y conocidos mecanismos de control de concurrencia existentes en la actualidad. No debemos descartar lo que ya funciona, debemos usarlo. El modelo propuesto para el control de la concurrencia respeta los mecanismos previos, los usa y los une en un meta-sistema de control. Así mismo, se analiza la complejidad en tiempo y espacio de los algoritmos propuestos.

Toda transacción sobre ciberFlujos se ejecuta sobre unos datos en unos reservorios. En el caso de este libro el repositorio es la Web misma y toda comunicación es a través de mensajes. Los grupos de mensajes de un proceso a otro, y que constituyen su único medio de comunicación y sincronización, deben estructurarse como transacciones.

1.6 CiberFlujos Transaccionales y el Control de Concurrencia

El propósito del libro es el de crear las teorías, los modelos y los algoritmos computacionales para comenzar a desarrollar estas capacidades de concurrencia y plasmarlas en teorías operativas. Los ciberFlujos deben ser administrados cuidadosamente de manera que cualquier operación que se ejecute sobre ellos mantenga la integridad de los datos. Es decir, que no se corrompan o invaliden.

Todas las transacciones que componen un ciberFlujo deben controlar la concurrencia en el tratamiento de los datos asociados sin importar el número de transacciones que son parte del ciberFlujo. Así mismo, cada una de las múltiples transacciones que operan sobre el ciberFlujo están formadas, cada una de ellas, por múltiples pasos que contienen potenciales accesos a datos. Es imposible saber en el contexto paralelo y distribuido de la Web qué ocurre en muchos millones de máquinas, predecir qué datos y en qué momento estos billones o trillones de datos serán leídos o modificados o por quién lo serán. Lo único que podemos asumir es que existirán conflictos en el acceso y que es posible que los datos se corrompan (que pierdan la consistencia debida).

Todas las transacciones deben actuar con respecto a los datos como si se ejecutaran de manera serial. Es decir, debemos serializar las transacciones para que se logre mantener la consistencia de los datos. Una transacción serializable no es una transacción serial. Después de ejecutada la transacción, los resultados en los datos modificados por la transacción, deben ser equivalentes a una transacción serial. Lo mismo debe ocurrir con todas las transacciones que se ejecutan concurrentemente. Este es un problema complejo y tendremos mucho más que decir sobre cómo hacer esto de manera probadamente correcta en los capítulos posteriores.

Existen esfuerzos importantes tal como la Web Semántica, que organiza, jerarquiza, y relaciona datos acerca de un dominio del conocimiento de manera efectiva y práctica. De esta manera se modularizan los accesos y se puede controlar la concurrencia  de los accesos más fácilmente. Por otro lado, existen transacciones que no requieren un control de concurrencia exacto y que no importa que se corrompan. Por ejemplo; si deseamos calcular un promedio entre millones de datos para analizar una tendencia, entonces no importa si unos cuantos datos (leídos) se corrompen ya que no afectan significativamente el resultado.  La variabilidad no es importante y en esos casos se prioriza la velocidad en la respuesta sobre la exactitud.  Hoy en la Web se ven muchos de estos casos. Algunos se han aventurado a decir que en las circunstancias actuales el control de la concurrencia ha perdido importancia.  Creemos que están equivocados.

Ud. no querría confiar sus finanzas a un banco que le garantiza que el saldo en su cuenta es “aproximadamente exacto. Tampoco le confiaría el cuidado de la salud de sus hijos a un médico que le hable de “promedios” cuando diagnostica una dolencia específica a su hijo y ésta requiere de un diagnóstico exacto y no un tratamiento “aproximado”. Existen muchísimos otros contextos en que la exactitud sigue siendo la primera y única preocupación, por lo tanto el control de la concurrencia es imprescindible.

Es en este espíritu que este libro ha sido escrito; el propósito es proveer el contexto, las teorías, los conceptos, y el diseño de los algoritmos que garantice la corrección requerida para este muy importante asunto.

1.7 La Web y el Modelo de Bases de Datos Orientadas a Objetos

El primer paso es proveer un modelo sobre el cual desarrollaremos nuestros conceptos.  Específicamente, debemos incluir una solución que tome en cuenta todos los avances de la ciencia en materia de control de concurrencia. No podemos comenzar desde cero, debemos hacer uso de soluciones que se usan hoy todos los días en todos los manejadores de datos de la web en lo que a control de concurrencia se refiere.

Este libro pretende proveer el concepto, la ejecución, y la prueba de los conceptos utilizados para proveer una solución no sólo probadamente correcta, sino que incluya una solución integral al problema del control de la concurrencia. No consideramos que sea una única solución pero si creemos que es un paso en la dirección correcta.

El capítulo 2 presenta un modelo de bases datos orientado a objetos (MBDOO) y creamos las teorías y los algoritmos sobre este modelo. El modelo de Web Semántica con ontologías y jerarquías está siendo creado en el mismo espíritu. Por lo tanto, usaremos como proxy de la Web del futuro a nuestro modelo de bases de datos orientada a objetos. Es sobre este modelo que crearemos las teorías, las pruebas, y los algoritmos del modelo de transacciones y los mecanismos del control de concurrencia.

1.8 ciberFlujos y Transacciones en Tiempo Real basadas en Mensajes

En los capítulos 3 al 7 desarrollaremos el modelo de transacciones que usamos para actuar sobre la información de los  ciberFlujos o transacciones en tiempo real con ventanas específicas de tiempo; para el resto del libro asumimos que los ciberFlujos son equivalentes a estas transacciones en el tiempo. Desarrollamos los modelos y las teorías usando los modelos de las bases de datos orientadas a objetos y las transacciones en tiempo real y usamos estos dos conceptos como proxis de la web y los ciberFlujos. En el resto del libro sólo nos referiremos a los primeros; el modelo de datos y las transacciones.

Debe entenderse que los conceptos son tecnológicamente equivalentes. Es una cuestión de conveniencia de nomenclatura y un deseo de facilitar la presentación y el entendimiento de los temas a presentar y en los probables conocimientos de la audiencia actual.