2.7   Gopher

Gopher [Ankles93] es un servicio de información distribuido, desarrollado inicialmente para proveer información dentro de un campus, pero posteriormente difundido a nivel mundial [FAQGop].

El cliente Gopher esta basado en menús, en donde cada ítem puede ser otro menú o un archivo. En el caso de ser otro menú, se puede seleccionar una nueva opción o volver al menú anterior, si se desea. Si se ha seleccionado un archivo, la acción a realizar dependerá del tipo del archivo, y que al finalizar, se desplegará nuevamente el último menú accesado.

Un archivo puede contener información de alguna de las muchas clases estandarizadas. Pueden ser documentos con texto plano (en código ASCII), documentos en algún formato de procesamiento de palabras conocido, un programa (archivo binario), un sonido digitalizado, una imagen, un índice de búsqueda, el resultado de un programa que se acaba de ejecutar, o una película, entre otros.

Dependiendo de las capacidades del programa que el usuario utilice para accesar el servidor, sus menús y archivos, serán las acciones que podrán realizarse sobre cada documento obtenido. Por ejemplo, si el usuario tiene acceso a algún tipo de dispositivo de audio que el programa reconoce, al seleccionar un archivo de tipo sonido en algún menú, éste podrá ser escuchado en el momento. De la misma forma pueden ser desplegadas imágenes gráficas como dibujos o fotografías.

Los ítemes de menú también pueden ser enlaces a algún menú remoto, es decir, un menú que está disponible en otro servidor. Es así como se construye un servicio distribuido de información. Si un administrador conoce la localización de un menú de interés para él, puede fácilmente crear el enlace entre sus menús y el deseado.

En varias organizaciones, algunos menús poseen información de interés general, incluyendo enlaces a organizaciones líderes en cada área o a servicios de búsqueda de información. Estos son tan solicitados, que los administradores de esos menús deben mantener al día todas las referencias.

Las siguientes figuras muestran como ejemplo el acceso a un servidor Gopher a través de un cliente en un terminal Unix. En la Figura 2.6 se presenta el menú principal del servidor Gopher de la Universidad Técnica Federico Santa María.

Internet Gopher Information Client v2.1.4
 
                    Home Gopher server: gopher.inf.utfsm.cl
 
 -->  1.  Bienvenido a la Universidad Tecnica Federico Santa Maria
      2.  Informacion General de la Universidad/
      3.  Casa Central/
      4.  Sede Jose Miguel Carrera/
      5.  Sede Rey Balduino de Belgica/
      6.  Informaciones Generales/
      7.  Otros Servidores Gopher en Chile/
      8.  Servidores Gopher en el Mundo/
      9.  Bibliotecas Internet/
      10. Busqueda de Informacion/
 
 
 
 
 
 
 
 
 
Press ? for Help, q to Quit                                         Page: 1/1   

Figura 2.6: Visualizador Gopher en terminal ASCII

El caracter “/” al final de algunas opciones indica que al seleccionarlas, se obtendrá un nuevo menú. La opción 1 de la Figura 2.6 es la única que entrega un documento si es seleccionada. Optando por la opción 3, se obtiene un menú con los departamentos de la Casa Central, desde donde al escoger aquella que dice “Departamento de Informática”, se obtiene como resultado el menú de la Figura 2.7.

Internet Gopher Information Client v2.1.4
 
                          Departamento de Informatica
 
      1.  Docentes/
      2.  Memorias/
 -->  3.  Planes de Carrera/
      4.  Laboratorio de Software/
      5.  Proyectos de Investigacion
      6.  Publicaciones
      7.  Exposicion Departamento
      8.  Feria de Aplicaciones
 
 
 
 
 
 
 
 
 
 
 
Press ? for Help, q to Quit                                         Page: 1/1   

Figura 2.7

Este menú está en el tercer nivel de recursividad en la estructura de árbol de los documentos en este servidor.

Seleccionando la opción 3, se obtiene un menú con los planes de carrera que dicta el Departamento de Informática. Al seleccionar la opción “Ingeniería Civil Informática”, se puede visualizar el documento respectivo, como lo muestra la Figura 2.8.

Ingenieria Civil Informatica (7k)                                          12% 
+------------------------------------------------------------------------------+
                  plan de estudio ingenieria civil informatica
                                  (plan 1990)

Sigla        Descripcion               CRE  HC  HA HL EX preq.1  preq.2  preq.3

            Semestre 1
IWG-100 Introduccion a la Ingenieria    2    4   0  0 0
DEW-100 Educacion Fisica I              0    2   0  0 0
HCW-310 Ingles I                        1    2   0  0 0
FIS-100 Introduccion a la Fisica        3    6   0  0 0
MAT-111 Algebra Elemental I             4    4   2  0 0
MAT-121 Calculo I                       4    6   2  0 0
                                Total  14   24   4  0 0

            Semestre 2
IWI-131 Programacion                    3    4   0  4 0
DEW-101 Educacion Fisica II             0    2   0  0 0 DEW-100
FIS-110 Fisica General I                5    4   2  2 0 FIS-100 MAT-121
MAT-112 Algebra Elemental II            4    4   2  0 0 MAT-111
+------------------------------------------------------------------------------+
[Help: ?]  [Exit: u]  [PageDown: Space]  

Figura 2.8: Documento desplegado en un visualizador Gopher en terminal ASCII

En la Figura 2.9 se muestra una versión gráfica de cliente Gopher para Windows, llamada HGopher. En ella se distinguen mediante íconos los distintos tipos de archivos que el menú presenta. El ítem seleccionado corresponde a un documento que puede ser leído, el botón con ceros y unos representa un archivo binario que debe ser grabado en disco, y las flechas indican que es posible desplazarse a otros menús. En el extremo inferior derecho del visualizador gráfico, están disponibles otros botones que permiten navegar en forma simple por los menús ya cargados, y acceder directamente a menús predeterminados.

Existen varios mecanismos para generar índices de los documentos que posee un servidor a partir de los contenidos de cada uno de ellos. Estos índices pueden ser accesados a través del mismo servidor Gopher, realizando una búsqueda. Uno de estos indexadores es WAIS [Kahle89], que es en sí un servidor de información, y al usarlo en conjunto con Gopher, provee índices de todos los documentos que Gopher mantiene. Además, Gopher ofrece una interfaz para accesar a los índices de WAIS.

Cliente Gopher

Figura 2.9: Visualizador Gopher en ambiente gráfico

Para realizar una búsqueda, el servidor debe proveer un elemento de menú que permita al usuario ingresar una expresión que represente su inquietud. El resultado será presentado como un nuevo menú formado por todos los documentos que cumplen la condición, o al menos las primeras decenas en el caso de haber muchos.

En la Figura 2.10 se muestra, usando un visualizador gráfico como ejemplo, una búsqueda de documentos disponibles en el servidor accesado (CONYCYT), relativos al ítem seleccionado (Proyectos FONDECYT), y que mencionen “UTFSM”.

Otro tipo de índice más liviano que el anterior, es uno que permite buscar por palabras en los títulos de los documentos, es decir, en los nombres de los ítemes de menú. La forma de operar, sin embargo, es la misma. VERONICA [Foster95] es un servidor centralizado que permite realizar este tipo de búsquedas sobre los títulos de los ítemes de menú de los todos los servidores Gopher registrados, y de aquellos referenciados a través de enlaces desde servidores registrados.

Este tipo de índices tiene un problema debido a que en la actualidad se está utilizando Gopher para accesar otro tipo de servicios, poniendo los enlaces a aquellos servicios en alguno de los menú del servidor que se desea indexar. Esto hace que sean indexados ciertos menús no deseados, como los últimos artículos que han aparecido en algún grupo de News, los cuales son de carácter temporal. Esto obliga a realizar el proceso de indexación periódicamente. VERONICA indexa los menús cada una o dos semanas.

Búsqueda con Cliente Gopher

Figura 2.10: Búsqueda en un servidor Gopher

Por otro lado, la ventaja de este tipo de índices es que al consumir pocos recursos, se pueden construír índices conjuntos, es decir, para varios servidores a la vez, llegando a realizar un índice mundial como el de VERONICA. Este servidor requería aproximadamente 360 MBytes para sus índices mundiales en junio de 1993 [FosBar94], y sobre 2 Gbytes en enero de 1995 [Foster95].

La Figura 2.11 muestra un menú de búsquedas usando VERONICA. En esta figura, las marcas “<?>” indican cuáles de los ítemes del menu son referencias a búsquedas en un servidor específico.

Para ingresar un tópico de búsqueda, se debe seleccionar alguno de los servidores que ofrecen el servicio VERONICA. Al optar por la opción 8 del menú, se presenta una ventana que permite ingresar el patrón buscado. En la Figura 2.12 se está buscando documentos que contengan la palabra “CPU”. Si la búsqueda resulta exitosa, se obtendrá un menú con los primeros 200 nombres de las referencias a documentos que fueron encontrados que contenían la palabra “CPU”. Al seleccionar alguna de aquellas referencias se obtendrá el contenido del documento, el que puede ser visualizado o almacenado localmente para un uso posterior.

Internet Gopher Information Client v2.1.4
 
               Veronica (Busqueda en los Menus del GopherEspacio)
 
      1.  Veronica FAQ
      2.  How to compose veronica queries
      3.  Veronica Server at UNINETT/U. of Bergen <?>
      4.  Veronica Server at U.Texas, Dallas <?>
      5.  Veronica Server at University of Pisa <?>
      6.  Veronica Server at University of Koeln <?>
      7.  Veronica Server at U. of Manitoba <?>
 -->  8.  Veronica Server at NYSERNet <?>
      9.  Veronica Server at SUNET <?>
      10. Search Gopher Directory Titles at UNINETT/U. of Bergen <?>
      11. Search Gopher Directory Titles at U.Texas, Dallas <?>
      12. Search Gopher Directory Titles at University of Pisa <?>
      13. Search Gopher Directory Titles at University of Koeln <?>
      14. Search Gopher Directory Titles at U. of Manitoba <?>
      15. Search Gopher Directory Titles at NYSERNet <?>
      16. Search Gopher Directory Titles at SUNET <?>
      17. Search Veronica From Utfsm Testing <?>
 
 
 
                                                                                

Figura 2.11: Índice de búsquedas de VERONICA

                   Internet Gopher Information Client v2.1.4
 
               Veronica (Busqueda en los Menus del GopherEspacio)
 
      1.  Veronica FAQ
      2.  How to compose veronica queries
      3.  Veronica Server at UNINETT/U. of Bergen <?>
      4.  Veronica Server at U.Texas, Dallas <?>
+-------------------------Veronica Server at NYSERNet-------------------------+
|                                                                             |
| Words to search for                                                         |
|                                                                             |
| CPU                                                                         |
|                                                                             |
| [Help: ^-]  [Cancel: ^G]  [Accept: Enter]  [Next field: TAB]                |
+-----------------------------------------------------------------------------+
      13. Search Gopher Directory Titles at University of Koeln <?>
      14. Search Gopher Directory Titles at U. of Manitoba <?>
      16. Search Gopher Directory Titles at SUNET <?>
      17. Search Veronica From Utfsm Testing <?>
 
 
 
Press ? for Help, q to Quit, u to go up a menu                  Connecting...

Figura 2.12: Búsqueda en el Gopherespacio

2.7.1   Ventajas

2.7.2   Desventajas