к.т.н. В.Ю. ШАДХІН, Р.М. ЛУЦЕНКО, Д.С. ЛИННИК

Черкаський державний технологічний університет

ЕВРИСТИЧНІ АЛГОРИТМИ ДИНАМІЧНОГО КЕРУВАННЯ РОЗПОДІЛОМ ПОТОКУ ЗАЯВОК В КОМПЮТЕРНИХ МЕРЕЖАХ

Існує кілька способів розподілу навантаження:

§        DNS із циклічним обслуговуванням (у більшості систем уже не використовується);

§        кругове балансування навантаження, метод найменшого числа підключень;

§        метод "зважених характеристик";

§        алгоритм балансування навантаження, що одержав назву "найшвидший";

§        метод найбільшого числа підключень;

§        моніторинг за допомогою серверного демона.

Найбільш ефективний і гнучкий, на наш погляд, є метод розподілу навантаження з використанням серверного демона. Використання цього методу розподілу навантаження обумовлене можливістю, одержувати достовірну інформацію про стан інформаційних серверів і на підставі отриманих даних оперативно впливати на розподіл потоку даних.

Механізм розподілу навантаження між серверами мережі

Серверна мережа, як згадувалося раніше, являє собою ряд розподілених серверів зв'язаних між собою каналами зв'язку. У якості каналів зв'язки використовується Internet і Ethernet з'єднання, VPN мережі, або інші способи серверної комунікації. Якість з'єднання й пропускна здатність каналів зв'язки для кожного сервера індивідуальна, як і апаратне забезпечення, через що сервера мають різну продуктивність. Крім забезпечення роботи мережі, сервера вирішують свої локальні завдання, що також впливає на їхню продуктивність.

Сервера мережі розділяються на два типи: інформаційні сервера й "Демон" серверів. Інформаційні сервера обслуговують заявки клієнтів, на кожному з них виконується завдання, яке ми будемо йменувати "агентом" інформаційного сервера. Демон серверів виконує збір даних про систему й ухвалює рішення щодо адміністрування розподіленої серверної мережі. Схематично робота серверної мережі представлено на Рис. 3.1.

Агенти інформаційних серверів - це самостійні одиниці розподіленої серверної мережі, кожний з них має власна вистава про навколишнє його середовище, побудоване виходячи із власних даних і даних отриманих від інших агентів інформаційних серверів. На даному етапі розвитку розподілених систем немає єдиного визначення агента [1]. Ми під інтелектуальним агентом будемо розуміти систему, що володіє рядом характеристик:

-         автономність. Дії агента визначаються тільки його внутрішнім станом, ніякі зовнішні подразники не можуть директивно впливати на поведінку агента, якщо це не було передбачено його структурою;

-         реактивність. Агенти існують у рамках деякого оточення, з яким взаємодіють, тобто здатні сприймати зміни середовища й реагувати на них;

-         проактивність. Проявляють цілеспрямовану поведінку для розв'язку свого завдання, тобто агент намагається розв'язати поставлене перед ним завдання в умовах мінливого середовища, для чого планує свої дії самостійно;

-         соціальні здібності. Здатність взаємодіяти й кооперуватися один з одним для розв'язку поставлених завдань.

Завданням агента є збір інформації про навантаження на свій інформаційний сервер і формуванні звітних даних у якій-небудь формі. Координатором роботи серверної системи виступає виділений сервер - Демон серверів. Даний сервер збирає інформацію від агентів інформаційних серверів, аналізує її й ухвалює рішення щодо розподілу потоку заявок клієнтів між інформаційними серверами мережі.

Клієнтами мережі виступають вилучені термінали. Зв'язок між клієнтами й серверами організована засобами Інтернет з'єднання, можливі варіанти локальної або віртуально-локальної мережі з'єднання [2].

клієнт

 

клієнт

 

клієнт

 

клієнт

 

клієнт

 

клієнт

 

дані

 

запит до серверної системи

 

відсоток навантаження

 

фактична адреса серверу

 

Демон серверів

 

агент

 

Аналізатор стану системи

 

Маршрутизатор

 

агент

 

Сервер Б

 

Сервер А

 

дані

 
Подпись: інформаційні сервера

інтернет

 

Модуль розподілу навантаження

 

Рисунок 1 – Схема роботи системи розподілу навантаження

Наприклад, керуючий проектом може запустити або призупинити виконання завдань, але він не управляє агентами в системі, відмінними від себе самого як агента.

Крім менеджера проекту, передбачається відсутність централізованого керування завданнями. Підзадачі створюються, коли необхідно задовольнити деяких запит. У системі відсутнє глобальне планування, як централізоване, так і розподілене. Хоча, звичайно, існують заздалегідь певні послідовності виконання деяких підзадач. Якщо відомо, що деяку підзадачу найкраще виконувати саме в цьому порядку, то порядок буде застосований.

Важливим є питання глобальної цілісності мережі. У системі підтримується тільки мінімальний рівень цілісності. Передбачається, що кожний агент має локальну копію даних моделі, з якої він працює. У деяких випадках, наприклад при проектуванні механізмів, є можливість організувати одночасну роботу декількох агентів над однією моделлю [3]. Але навіть у цьому випадку різні версії проекту, створювані різними групами зберігаються окремо в окремих базах даних з різними версіями. Об'єднання версій проекту, що надходять від окремих груп, відбувається з деякою періодичністю на нарадах. За цей процес відповідальний менеджер продукту, який, за допомогою відповідного об'єднуючого інструмента, створює загальну версію проекту, з якої робота буде продовжена в рамках груп.

Клієнти є джерелом формування заявок. Потрапляючи в серверну систему, заявки обробляються Демоном серверів.

Даний сервер виконує ряд дій по аналізі стану системи й передає запит клієнта на один з інформаційних серверів мережі. Інформаційний сервер, у свою чергу, одержуючи переадресований запит клієнта, обробляє його, формує пакет звітних даних по запиту й відправляє його клієнтові. Надалі, якщо зв'язок клієнта з інформаційним сервером не переривалася, то всі запити, сформовані клієнтом, обробляються даним інформаційним сервером. На Рисунку 2 представлений алгоритм обміну даними клієнта із серверною системою.

Рисунок 2 – Алгоритм обміну даними клієнта з інформаційної

системою

Розглянутий евристичний алгоритм обміну даними клієнта із серверною системою ілюструє узагальнений механізм роботи серверної мережі (Рисунок 1).

Висновки.

Було отримано евристичний алгоритм обміну даними клієнта з розподіленою серверною мережею. Описана ієрархічна модель розподіленої серверної мережі. Сформульовані загальні принципи взаємодії між об'єктами мережі, дають узагальнена вистава про методи обміну даними в системі у зв'язуваннях: клієнт - сервер, демон - інформаційний сервер.

Література:

1. Олифер В.Г, Олифер Н.А. Компьютерные сети: Принципы, технологии, протоколы. – СПб.: Питер, 2003. – 576с.

2. Ананьев А.Н. Разработка и исследование методов расчета задержки в корпоративных сетях региональных операторов связи. – Автоматика, связь, информатика. – 2002. – №10. – С. 31 – 34.

3. Уолрэнд Дж. Телекоммуникационные и компьютерные сети. Вводный курс. – М.: Постмаркет, 2001. – 480с.