En el presente capítulo se hace un acercamiento conceptual a la hipótesis planteada al principio de este trabajo Para ello se parte del estado de la
3.3 Propuesta de Arquitectura para SKC
3.3.5 Módulo de Interacción
3.3.5.1 Red de Nodos SKC
Para la integración de nodos SKC (NSKC) formando redes se propone un diseño basado en agentes [Dinverno 2001] que, cuando es posible, utiliza los recursos de búsqueda disponibles en la Web como medio de publicar la existencia de los nodos y de localizar a otros. Cualquier nodo aislado procura encontrar otros nodos en la red y asociarse con ellos formando una red SKC. El ansia mantenida de integración llevará a la incorporación de todos los nodos accesibles entre sí en redes SKC únicas por red IP, si las condiciones y recursos de ésta son los adecuados y la configuración de los nodos también. Además, un mecanismo parecido al de agregación permite la segregación de las redes SKC de los nodos que dejen de funcionar.
Todos los NSKC son autónomos, pero intentan integrarse con otros nodos formado redes SKC. Cada nodo tiene un agente de red encargado de sus relaciones con otros nodos, de establecer contacto con ellos, de intercambiar con ellos información, de conservar un registro del estatus de cada relación y de mantener un repositorio actualizado de la información obtenida de los nodos que son de interés para el NSKC que representa.
Las relaciones de cada NSKC no son iguales con todos los nodos de la red. Con la mayoría se mantiene un sencillo protocolo de reconocimiento mutuo y de intercambio de información básica sobre los nodos conocidos, que soporta la existencia de la propia red. Con algunos, sin embargo, las relaciones son más profundas: entonces además se intercambian datos relativos al
conocimiento gestionado en los nodos interlocutores, que se utilizará después para las gestiones del conocimiento de tales nodos.
En general la información intercambiada con otros nodos no es la que constituye el soporte fundamental de la base de conocimiento de cada uno -documentos, grafos o datos de usuarios- sino la meta-información empleada por el sistema que se aplica a esos elementos, es decir la obtenida del análisis de los registros del sistema y la elaborada por el sistema a partir de todas sus fuentes.
Este tipo de vínculos más profundos sólo tiene sentido que se establezca entre nodos dedicados al mismo dominio de conocimiento o áreas afines. Con ello se incorpora en el sistema el tipo de relaciones que se establecen en el mundo real entre repositorios de datos y grupos de trabajos dedicados a temas parecidos –considérense por ejemplo los grupos de investigación de distintas universidades o las diferentes publicaciones especializadas dedicadas a un tema-.
Además tales relaciones, también como en el mundo real, no son todas iguales; pueden clasificarse en varios tipos dependiendo de la consideración que la comunidad de usuarios de los nodos tengan sobre ellas. En unas ocasiones simplemente se pretende mantener un seguimiento del otro nodo, una referencia; en otras se trata de establecer una auténtica colaboración que, respetando los ámbitos delimitados por la independencia de ambos nodos, permita el trabajo independiente pero comprometido; en algunas otras se plantea una autentica subordinación entre los nodos, puesto que uno considera al otro como referencia ineludible que no puede perderse de vista asumiendo su autoridad absoluta en la materia; o también en otras se considera al nodo interlocutor como un autentico competidor que se pretende mantener siempre bajo vigilancia para no ser sorprendido, etc.
Al mismo tiempo, las relaciones establecidas entre los nodos SKC no tienen porqué ser simétricas, en realidad las vinculaciones entre dos NSKC tienen dos sentidos, la relación establecida entre un nodo hacia el otro y la de éste hacía el primero. Podría darse el caso de que un nodo considere a otro competidor, mientras que el segundo se considere subordinado al primero o no tenga ningún interés en él. De la gestión adecuada de esta asimetría se encargan los agentes de red implicados por parte de cada nodo.
También los agentes de red se dedican a limitar el acceso a la información suministrada a otros nodos y de no revelar a terceros los datos proporcionados por estos, al tiempo que los propios nodos se encargan de garantizar que toda la información obtenida en la red SKC se emplea sólo para los fines establecidos en el marco del tipo de relación implantada entre los nodos. Salvo en casos excepcionales la mayoría de los nodos encontrarán más beneficios en el intercambio de datos que en su reserva.
En general, todos los nodos que permiten a personas el acceso libre para revisar sus contenidos, no deberían tener ningún problema en que entidades automáticas como los agentes de red de otros nodos también lo hagan, teniendo en cuenta que los propios agentes de red de cada uno de ellos se encargaran de limitar el acceso a la información de acuerdo a condiciones predeterminadas. En este sentido, los nodos pueden restringir el suministro de datos sobre su base de conocimiento y su actividad, pero no el intercambio básico de información sobre los nodos que el sistema utiliza para el soporte de la red SKC.
Siempre que se crea un nuevo nodo se establece una página principal accesible desde la red IP donde este se sitúa. En esta página se incluye toda la meta-información necesaria para el establecimiento de comunicación entre nodos SKC. Si la ubicación no es visible desde toda Internet es preciso indicar al nuevo nodo dónde puede encontrar otros NSKC accesibles. En caso de que el nuevo nodo sea visible libremente desde Internet, además de poderse indicar explícitamente las ubicaciones de otros nodos, se procura el registro de su página principal en los buscadores más importantes. Todos los nodos SKC con acceso a esos buscadores realizarán periódicamente búsquedas específicas para intentar localizar nuevos NSKC. Cuando un nodo identifica uno nuevo, registra automáticamente su ubicación en su base de datos.
Independientemente del modo en que se haya identificado un nuevo nodo SKC, por registro explicito, a través de un buscador o mediante información de otro NSKC, el nodo descubridor intenta ponerse en contacto con el nuevo. En este primer contacto se intercambia información básica sobre los dominios de conocimientos sobre los que ambos trabajan y datos sobre todos los nodos registrados por cada lado. Por ambas partes, si se producen descubrimientos de nuevos nodos, se establece contacto con ellos. En todas las comunicaciones entre nodos se actualizan las respectivas bases de datos sobre otros nodos existentes.
Paralelamente a este proceso de identificación de nuevos nodos, cada nodo mantiene una política de segregación de los nodos que no dan señales de vida. Los agentes de red de cada NSKC establecen comunicaciones periódicas con todos nodos que tienen registrados: cuando uno no es accesible se anota la incidencia, si en varias ocasiones sucesivas se produce el mismo fenómeno se considera que el nodo en cuestión ha desaparecido. Cuando se identifica un nodo sospechoso de haber desaparecido se comunica al resto de los nodos el caso para que inicien sus procesos correspondientes.
Todos los datos intercambiados entre agentes van anotados con información temporal. Para evitar los problemas de sincronización, dicha información siempre se expresa en términos relativos referidos al momento de su intercambio. De esta forma, cuando, por ejemplo, un nodo informa a otro de que un tercero no ha respondido a sus requerimientos, indicará además que no
lo hace desde un cierto número de minutos, horas, días, etc. Cada nodo interpretará esta información respecto a su referencia de tiempo.
Para todo lo anterior, los nodos necesitan un modelo de sí mismos, de los otros nodos, de la red, de las relaciones establecidas entre ellos, de su propia base de conocimiento y comunidad de usuarios, y de ambas en los demás [Dinverno 2001]. Este entendimiento de las cosas compartido por todas las instancias del sistema, que permite el intercambio de información entre ellas, se basa en algunas de las ontologías que incluye el sistema, de las que se ha hablado en otros apartados de esta sección.