- •Синхронизация и Управление вычислительными процессами в распределенных системах
- •Общие сведения о выполнении домашних заданий по дисциплине
- •Содержание и порядок выполнения работы
- •Техническое задание на проектирование программного комплекса «Система удалённого управления рабочими станциями лвс игрового зала»
- •Введение
- •1. Теоретическая часть
- •2. Концептуальная модель
- •3. Интерфейс программного комплекса
- •Заключение
- •Приложение b Листинг клиентской части программы
- •Примерный перечень заданий
- •1. Ревизор аппаратуры и памяти удалённых рабочих станций
- •2. Почтовый сервер с реализацией основных функций
- •3. Сервер разделения доступа к периферийному устройству
- •4. Распределённая обработка данных в сети
- •5. Сетевая игра
- •6. Эмулятор работы сервера www
- •7. Управление запуском и выполнением процессов с консоли
- •Литература
1. Теоретическая часть
В данном домашнем задании за основу были взяты два сетевых протокола UDP и TCP/IP. Сетевой протокол TCP/IP используется, как позволяющий устанавливать устойчивые соединения между компьютерами в локальной сети и контролировать передачу данных между ними. Протокол UDP применяется в качестве воспомогательного в рамках клиентской части комплекса для удобства поиска серверных частей, что достигается при использовании широковещательной (Broadcast) рассылки информационных пакетов. Благодаря этим особенностям были выбраны два вышеназванных протокола.
В качестве среды разработки выбрана Borland Delphi 6.0, которая позволяет существенно сократить время на пректирование интерфейса программного комплекса за широкого набора стандартных визуальных компонентов, а также упрощает отладку приложениий в среде Windows.
Кроме данной среды были также использованы следующие программные продукты:
Install Shield Express – среда создания исталляционных версий программ.
HTML Kit – среда для разработки пакетов документации к программным продуктам в формате языка гипертекстовой разметки текста.
Сетевой протокол TCP/IP реализован в Delphi при помощи невизуальных компонентов TclientSocket и TserverSocket. Эти компоненты расположены в палитре компонентов на странице с названием Internet. На этой странице собраны компоненты Delphi, которые или обеспечивают коммуникацию по протоколу TCP/IP - протоколу обмена данными, или используются для обработки данных, передаваемых через конкретный порт.
При детальном рассмотрениии механизм передачи данных между компьютерами в вычислительной сети по протоколу TCP/IP состоит в следующем.
Каждый компьютер, поддерживающий протокол TCP/IP, имеет свой 32-битный IP-адрес, например 192.168.0.3. В компонентах Delphi этот адрес определяется либо в свойстве Host, либо в свойстве Address. Иногда вместо IP-адреса используется имя компьютера, например www.torry.ru. При использовании имени первоначально происходит обращение к серверу имен, который возвращает IP-адрес для данного имени.
Перед тем, как передавать данные по протоколу TCP/IP, необходимо установить связь между двумя компьютерами. Компьютер, который инициализирует эту связь принято называть «клиентом», а компьютер, который должен откликнуться на инициализацию связи для обмена данными, - «сервером». В связи с этим сетевые компоненты Delphi, которые обеспечивают коммуникацию по протоколу TCP/IP, разбиваются на две группы - клиентские (TclientSocket - используется для реализации клиентских приложений) и серверные (TserverSocket - для реализации приложений на сервере).
При использовании компонентов TclientSocket и TserverSocket, связь всегда инициализирует клиент. Приложение сервера должно постоянно работать, и основная его задача –проверять, не хочет ли какой-либо клиент установить с ним связь. Поэтому сервер постоянно опрашивает тот или иной порт, чтобы установить, не появились ли на нем какие-либо данные. Серверные компоненты имеют методы, позволяющие начать или прекратить опрос соответствующего порта.
После установки связи между клиентом и сервером можно начинать передачу данных. Данные упаковываются в пакеты (информационные сообщения специального формата, каждый из которых содержит IP-адреса клиента и сервера, а также указание на порт).
При этом порт в протоколе TCP/IP играет двойную роль. Прежде всего одновременно может работать несколько приложений, обеспечивающих обмен данными через разные порты, и при этом они не будут захватывать данные друг у друга. Формально это соответствует многоканальной коммуникации - как будто компьютер имеет несколько сетевых карт и каждое из приложений работает со своей картой. Во-вторых, номер порта несет в себе информацию о типе передаваемых данных. Например, если данные поступили на 80-й порт, то их следует обрабатывать как гипертекст, если на 21-й порт - то как данные протокола обмена файлами. Впрочем, легко можно создать пару приложений (клиентское и серверное), которые через 80 порт будут осуществлять обмен данными в собственном формате. В компонентах Delphi порт обычно задается в свойстве Port, причем это свойство имеется как у клиентских компонентов, так и у серверных. Следует специально отметить, что после установки связи инициировать отправку данных может как клиент, так и сервер. Но, по умолчанию принято считать, что инициатором обычно должен выступать клиент.
Компоненты ServerSocket и ClientSocket предназначены для реализации коммуникационных функций между двумя компьютерами (клиентом и сервером) через протокол TCP/IP. Для использования этих компонентов необходимо после установки компонента на форму…
…
Для поддержки протокола UDP в домашнем задании используется соответствующий компонент NMUDP со страницы FastNet. Этот компонент который совмещает в себе сервер и клиент одновременно. Он осуществляет пересылку данных с использованием протокола UDP …
…
Также в работе применяется компонент дополнительного инсталлируемый в палитру Delphi – Animated Tray Icon VCL v3.3 Professional Edition. Он применяется…
…
В клиетской части программы (которая выполняется на ЭВМ администратора ЛВС игрового зала) компоненты типа TclientSocket создаются динамически по мере необходимости, что можно отнести к несомненным достоинствам программы (экономия ресурсов системы, занимаемой памяти и т.д.). В серверной части комплекса (на рабочих местах посетителей игрового зала) применяется компонент типа TserverSocket, который является единственным и служит для приёма сообщений от клиентской части комплекса.
В разделе описания концептуальной модели (примерный объём - 3 и более страниц) должны быть раскрыты и подробно описаны (желательно с приведением блок-схем):
-
основной алгоритм, связанный с совместным использованием процессами (компонентами программного комплекса) ресурсов распределенной системы;
-
правила взаимодействия процессов с приведением набора и форматов примитивов для обмена данными;
-
алгоритм синхронизации процессов, предлагаемый разработчиком или выбранный из уже известных.