Распределенная информационная система WAIS

Распределенная информационная система WAIS (Wide Area Information Servers) — исторически первый сетевой аналог тра­диционных информационно-поисковых систем, позволявший пользователям сети осуществлять поиск в полнотекстовых базах данных с использованием традиционного для И ПС информаци- онно-поискового языка, поисковые предписания которого стро­ятся на основе ключевых слов и/или их усечений, связанных ме­жду собой логическими операторами OR или AND.

Реально WAIS стала широко применяться только с появлени­ем версии Free WAIS для операционных систем Unix. В настоя­щее время существует большое количество реализаций WAIS, главным образом коммерческих, и система стала своеобразным стандартом информационно-поисковой машины для Internet.

Концептуальная модель WAIS. Система состоит из двух ос­новных компонентов: поисковой машины и интерфейса пользо­вателя. Поисковая машина и интерфейс связаны между собой универсальным протоколом WAIS, который базируется на стан­дарте Z39.50.

Протокол Z39.50. Разработка протокола передачи гипертекста (HTTP) в 1989 г. оказала значительное влияние на развитие Internet — возникла гипертекстовая сеть, получившая название «Всемирная паутина» (WWW — World Wide Web). Одним из ос­новных достоинств HTTP является его простота: протокол не имеет «памяти» (Stateless). Это достоинство протокола позволило создать множество серверов и клиентов. Но это достоинство яви­лось и существенным недостатком протокола при попытке при­менения его для решения сколько-нибудь сложных задач поиска и обработки информации, отличающихся от простого перемеще­ния по гипертекстовым связям.

Этот недостаток HTTP проявляется в отстутствии каких-либо средств сохранения уже найденной информации (или хотя бы сведений об уже найденной информации) — в протоколе отсут­ствует понятие о сеансе (session). Уже ранние программы навига­ции в WWW (browsers) стали пытаться преодолеть этот недо­статок, фиксируя историю навигации в отдельном сеансе работы с программой. Все современные программы навигации в WWW содержат и другое средство сохранения сессионной информа­ции — закладки. Существует и множество отдельных дополни­тельных средств работы с закладками. Несколько позже стали развиваться средства поддержания сеансов со стороны серве­ров — cookie и различного рода сценарии, включаемые в гипер­текст (Java, JavaScript, PerlScript, ActiveX).

Дело в том, что при работе с достаточно сложной информа­цией, содержание которой не может быть быстро оценено поль­зователем, необходимо многократное возвращение к тем или иным опорным точкам с тем, чтобы исследовать многие возмож­ные варианты навигации от той точки, оценка которой как от­носительно полезной уже сложилась. Несомненно, описания программного обеспечения для высокопроизводительных вычис­лений относятся к именно такой сложной информации. В то же время уже в 80-е гг. сложился стандарт на языки поиска вторич­ной информации — типа библиографической и реферативной — на базе языка информационно-поисковой системы STAIRS (Storage & Information! Retrieval System) разработки IBM, полу­чивший статус стандарта ISO. Этот стандарт, помимо собственно языка запросов, включает сессионную информацию (результаты прежних поисков, на которые можно ссылаться в дальнейшем) и средства управления объемом получаемой информации (легко представить себе, что при поиске в полнотекстовой базе данных объем результата может быть столь велик, что время на передачу результата может оказаться чрезмерно большим).

Обеспечение доступа через Internet к серверам, поддержи­вающим STAIRS-подобные языки запросов (и содержащим, пре­жде всего, библиографическую и реферативную информацию), потребовало создания специального поискового протокола, со­держащего средства поддержания сеанса. Такой протокол был создан группой организаций США во главе с Библиотекой Кон­гресса США и стандартизован ANSI.

В 1994 г. правительство США выступило с инициативой пре­вращения Internet в информационную супермагистраль. В каче­стве информационного наполнения программы были предложе­ны несколько составляющих, и одной из них стало программное обеспечение для высокопроизводительных вычислений. В каче­стве стандарта для доступа к вторичным информационным ре­сурсам (т. е. описаниям других информационных ресурсов) было решено использовать протокол Z39.50.

С появлением в США института High Performance Computing Centers Software Exchange (Биржа программного обеспечения центров высокопроизводительных вычислений), принявшего протокол Z39.50 в качестве стандартного, применение этого протокола стало естественным шагом при создании информаци­онных систем по программному обеспечению для высокопроиз­водительных вычислений. Этот протокол нашел применение при размещении в Internet библиотечных коллекций, для этого в ре­естр протокола был внесен формат MARC (USMARC, IKMARC, UNIMARC), призванный хранить библиографические данные.

Рассматривая различные подходы к проблеме размещения баз данных в Internet, можно подразделить решения этой про­блемы на две группы:

• крупные программные комплексы (DB2, MS SQL, Sybase, Ultraseek Server и др.);

• малое программное обеспечение (Microsoft Index Server, Search Engines for Web-Servers).

Стоит отметить, что первая категория решений предостав­ляет максимальные возможности, но очень требовательна к ап­паратному уровню, сложна в использовании, требует больших затрат, а последняя категория предоставляет минимум возмож­ностей, но очень проста в использовании. Следовательно, мож­но было говорить о нехватке «промежуточного» звена в этой иерархии. Создание таких комплексов позволяет решать ряд за­дач, не «доросших» до крупных комплексов, максимально эко­номя ресурсы и добиваясь максимальных возможностей. Осо­бенностями протокола Z39.50 является возможность сохранения состояний системы и присвоение каждому состоянию соответ­ствующего идентификатора. Эта особенность протокола позво­ляет производить «навигацию во времени», т. е. в любой мо­мент можно вернуться в определенную точку поиска, произве­денного ранее. Наличие памяти в протоколе позволяет также использовать результаты поиска, полученные ранее в составле­нии дальнейших запросов. Например, возможно составление запроса типа: (Resultl) AND NOT (Result2) и др.

В качестве дополнительных возможностей протокол предо­ставляет возможность выполнять параллельные операции поис­ка, уведомлять пользователя о состоянии сервера, сортировать данные на сервере, получать информацию о подключенных ба­зах, наборах атрибутов, синтаксисах записей и т. д. Для описа­ния баз данных внутри протокола был создан соответствующий абстрактный формат описания.

Следует заметить, что ни в одной сети не существует про­граммных комплексов, реализующих полностью стандарт Z39.50. Существующие системы в той или иной степени реализуют лишь его подмножества, опуская подчас важные элементы, ко­торые связаны как с обработкой запросов, так и с генерацией отчетов на эти запросы.

Z39.50 описывает прикладной уровень взаимодействия рас­пределенных информационно-поисковых систем. Протокол оп­ределяет сам механизм информационного обмена в процессе обработки поисковых запросов и протокол обмена данными в системах, которые осуществляют поиск. Область применения протокола — библиотечные системы и системы научно-техниче­ской информации. Стандарт не определяет протоколы взаимо­действия с физическими устройствами или их виртуальными аналогами, например терминалами. В настоящее время область применения протокола значительно шире вышеперечисленных приложений, он применяется в информационно-поисковых сис­темах общего назначения.

При разработке протокола подразумевалось, что он будет описывать порядок обмена информацией между пользователями информационной системы и ядром системы через сеть передачи данных. При этом сами системы могут управлять данными, используя разные модели данных и различные языки манипули­рования этими данными. Таким образом, информационно-поис­ковую систему можно построить на основе любой системы управ­ления данными, будь то обычная И ПС или объектно-ориентиро­ванная СУБД.

База данных. Термин база данных в спецификации Z39.50 оз­начает набор файлов, каждый из которых имеет свое уникальное имя. Группа файлов внутри базы данных может также иметь свое собственное имя и образовывать отдельную базу данных. Такой подход аналогичен понятию схемы и подсхемы для сис­тем управления базами данных. Единицей хранения информа­ции, которая может быть найдена при обращении к базе данных, является запись файла. Все записи одного файла должны иметь одинаковую структуру (т. е. состоять из одного и того же набора элементов и точек доступа). Точка доступа — это уникальный или неуникальный ключ, который может быть использован са­мостоятельно или в совокупности с другими ключами для зада­ния критерия поиска. Ключ может быть элементом данных, со­стоять из нескольких элементов или быть частью элемента.

Запрос выполняется по всей базе данных. При этом проверя­ется совпадение точек доступа записей и элементов запроса. На­бор записей, удовлетворяющих запросу, является ответом систе­мы на запрос. Ответ может быть использован для последующих поисков в базе данных (расширение или сужение запроса поль­зователя). Если говорить более точно, то при формулировании запроса можно ссылаться на результаты поисков по предыдущим запросам.

В общем случае предполагается, что выполнение запроса на поиск информации не требует физического доступа к базе дан­ных. В отчет о проведенном поиске включаются только иденти­фикаторы записей, удовлетворяющих запросу, но не сами записи.

В рамках работы распределенной информационно-поиско­вой системы рассматриваются два типа прикладных задач:

• задача, инициирующая взаимодействие и посылающая за­просы на обслуживание;

• задача, отвечающая за ответы на запросы первой задачи.

Первая задача называется «источник» (origin), а вторая —

«мишень» (target). Взаимодействие источника и мишени осу­ществляется путем установки соединения. Соединение может быть инициализировано только источником и может быть разо­рвано либо другим источником, либо мишенью, либо по внеш­ним причинам (например, физический разрыв линии связи). В процессе взаимодействия источник и мишень не могут поме­няться ролями. Таким образом, протокол Z39.50 описывает ин­терактивную сессию между источником запросов и мишенью, которая эти запросы обслуживает, т. е. реализует типичное взаи­модействие по схеме «клиент — сервер».

Согласно Z39.50 существует семь основных видов информа­ционного обмена в рамках распределенной информационно-по­исковой системы:

• инициализация сессии;

• поиск информации по запросу;

• представление результатов поиска;

• удаление результатов поиска;

• контроль доступа к информационному ресурсу;

• контроль прав доступа к информационному ресурсу;

• завершение сессии.

Инициализация. При инициализации сессии источник и мишень должны договориться о возможности использования отдельных баз данных, которые поддерживает мишень, — проидентифици- ровать пользователя и его права доступа к различным режимам обмена информацией. Разрешение на использование того или иного режима запрашивает источник, а мишень подтверждает или отвергает эти запросы. Обычно источник запрашивает режи­мы search, present и delete. В свою очередь существует два типа запросов мишени: на управление ресурсом и управление доступом. Кроме установления возможностей использования различных режимов доступа протокол регламентирует и физиче­ские параметры сеанса:

• рекомендованную длину записи данных при обмене;

• максимальную длину записи данных при обмене.

Поиск. При реализации запроса на поиск информации подра­зумевается следующая логика его выполнения: «Из обозначенного набора единиц хранения идентифицировать те, которые удовле­творяют запросу».

Набор проидентифицированных записей называется резуль­татом поиска, и он может быть использован для последующих поисков информации. В зависимости от параметров запросов ответ сервера может варьироваться.

Получение найденной информации осуществляется с помощью указания идентификатора документа в виде text-address@domain. host.zone, где text-address — местоположение документа на сер­вере, domain.hosl.zone — адрес машины. В реальных системах документ хранится под идентификатором, который и указывают при запросе результатов поиска.

Из оставшихся режимов реально используется только режим завершения работы. Режимы удаления, контроля доступа и на­личия доступа к ресурсу либо совмещены с режимом иницииро­вания, либо просто не реализованы.

Интерфейс WAIS реализуется в виде программы-клиента, в основу которой заложен принцип навигации по контексту. Под этим понимают, что запрос составляется из ключевых слов. В ответ на запрос выдается список документов, удовлетворяю­щих критерию смыслового соответствия запроса.

Описание поискового предписания отличается от традицион­ного, принятого в локальных ИПС. Это выражено в том, что явно введено понятие близости документов запросу, который сам рассматривается как виртуальный документ. Такой подход допус­кает использование различных мер близости. Понятие меры ис­пользуется только в протоколе, но на практике не всегда.

Другим фундаментальным понятием WAIS-интерфейса явля­ются динамические списки (динамические папки). Динамиче­ский список — это результат выполнения запроса. Само понятие Dynamic folders было введено Apple для работы в системе HyperCard. Набор соответствующих поисковому критерию доку­ментов выдается в любой ИПС, но здесь он имеет специальное значение, поскольку это не набор документов, а список указате­лей на эти документы.

Список является результатом выполнения запроса. В тради­ционной ИПС список документов скрыт от пользователя. Поль­зователь реально просматривает сами документы. Однако поль­зователь может вернуться к результатам предыдущих поисков, что говорит о том, что списки все-таки существуют и хранятся системой. В WAIS пользователь реально получает список доку­ментов и только после его изучения переходит к просмотру до­кументов из списка.

Список представляет собой такой же элемент хранения, как и обычный документ. Он может быть включен в другой список, если его образ соответствует критерию другого запроса. При по­иске в качестве образа списка выступает запрос, по которому он был получен. Наиболее убедительно это выглядит в системах, где запрос формулируется на естественном языке и выглядит осмыс­ленной фразой.

Динамический список может изменяться со временем. Это происходит из-за того, что базы данных постоянно меняются: старые документы удаляются, новые вводятся. При одном и том же запросе могут быть получены различные результаты. В этом смысле список выполняет функции постоянно действующего за­проса обычных ИПС.

Следует отметить, что кроме механизма поиска по поисково­му критерию, который выполняется сервером, существует еще один механизм отбора документов — фильтрация — отсеивание документов из ответа сервера по дополнительным критериям, не входящим в поисковый критерий. Фильтрацию различают уда­ленную и местную.

Удаленная фильтрация осуществляется сервером WAIS. По­сле того как документы отобраны на основе анализа индексов в соответствии с поисковым критерием, они перед отправкой про­сеиваются через фильтр и только после этого высылаются кли­енту.

Местная фильтрация выполняется клиентом при получении документов. Отображаются только те, которые прошли входной фильтр.

Для быстрого отображения документов в системе предусмот­рен их «захват». Под «захватом» понимают пересылку документа по сети и временное хранение его на машине пользователя. Дан­ная возможность реально ограничивается параметрами машины пользователя. При этом с позицией в динамической папке свя­зан не удаленный документ, а местный. Это существенно повы­шает скорость доступа к «захваченному» документу, но может привести к тому, что пользователь будет иметь устаревшую вер­сию документа. Поэтому при работе с динамическими папками «захват» документов лучше отменить.

Взаимодействие с сервером. Во время работы все клиенты ве­дут учет обращений к WAIS-серверам и времени отклика на них. Реальную настройку клиента пользователь осуществляет вруч­ную. Это важно в том случае, когда запрос отправляется на вы­полнение нескольким серверам, когда выдачу результата будет тормозить самый медленный сервер.

Сервер WAIS установлен на сети и отвечает на запросы WAIS-клиентов. Реально существует три программы, которые совместно образуют WAIS-сервер: программа построения индек­сов, поисковая и программа отправки документов.

Программа построения индексов создает инвертированные списки слов, которые используются системой для быстрого вы­полнения запроса. Фактически они позволяют реализовать ин- дексно-последовательный поиск.


Программа поискаосуществляет поиск документов, удовле­творяющих запросу. При этом она использует индексы для со­кращения времени поиска. Реально поиск по полному списку (лобовой просмотр документов) в WAIS не применяется, ис­пользуются только индексы. В качестве результата поиска кли­енту возвращается динамический список.

Программа отправки документовотправляет найденные до­кументы пользователя для их реального просмотра.

Дополнительной услугой является возможность конфигури­рования сервера как ргоху-сервера. Собственно, любой WAIS- сервер — это посредник, так как он может переадресовывать за­прос на другие серверы, однако эта возможность сервера ис­пользуется редко.

Пример экрана WAIS-клиента приведен на рис. 7.14.