Целью данной работы являлась разработка сервера управления оборудованием, обеспечивающего непосредственный доступ к измерительным и исполнительным устройствам экспериментального комплекса. Этот сервер предназначен для созданной в Петрозаводском государственном университете распределенной информационно-измерительной системы, реализующей методы оптической спектроскопии применительно к задачам физики плазмы и обеспечивающей удаленный доступ к своим ресурсам в сетях Интернет/Интранет.
На аппаратном уровне система представляет собой комплекс автоматизированных рабочих мест, объединенных компьютерной сетью.
Ключевым звеном системы является коммуникационный сервер, в задачи которого входит поддержка многопользовательского режима, корректное распределение ресурсов между клиентами, мониторинг системы и обеспечение безопасности. Другими компонентами системы являются серверы оборудования (КАМАК-сервер, сервер канала общего пользования (КОП) и сервер доступа к микроконтроллерам MCS-96), программы-клиенты, осуществляющие сбор, накопление и обработку информации, а также управляющие ходом эксперимента. Программы, управляющие экспериментом, выполняются не на удаленном компьютере (как при использовании Web-технологий), а на пользовательском, который связан с системой через глобальную сеть. Прикладные протоколы построены на базе протокола TCP. Использование стандартного протокола позволяет неограниченно наращивать размеры системы. Программное обеспечение системы написано на языке Java.
Сервер оборудования распределенной системы представляет собой сервер последовательной обработки запросов. В его задачу входит определение допустимости для данного оборудования запрошенной функции и указанного адреса, передача запроса оборудованию, а также пересылка клиенту ответа или номера ошибки при возникновении исключительной ситуации. Сервер имеет типовую структуру и для разных приборных интерфейсов отличается лишь библиотекой методов, реализующих взаимодействие с конкретным приборным интерфейсом. Поскольку сервер - однопоточный, то в данный момент времени он может обслужить только одного клиента, запросы от других клиентов помещаются коммуникационным сервером в очередь. Такой подход к созданию системы обусловлен тем, что в противном случае каждый сервер оборудования должен иметь возможность поддерживать параллельные соединения с несколькими клиентами, распределять аппаратные ресурсы между клиентами, обеспечивать защиту данных одного клиента от другого и т.д., что значительно усложняет систему.
Унификация сервера оборудования упрощает подключение к системе новой исследовательской аппаратуры. В отличие от распространенных систем, добавление к системе нового приборного интерфейса с подсоединенным к нему экспериментальным оборудованием сводится к регистрации соответствующего сервера оборудования в коммуникационном сервере, после чего клиентские программы получают доступ к этой аппаратуре. Отметим, что перенос функций взаимодействия с клиентскими программами с серверов оборудования на коммуникационный сервер, позволил значительно упростить структуру сервера оборудования и ускорить его разработку.
Работа выполнена при поддержке Российского фонда фундаментальных исследований (грант N 02-07-97503), а также Американского фонда гражданских исследований и развития (проект PZ-013-02) и Министерства образования РФ.