Питання управління ресурсами у системах автоматичної дистанційної інсталяції



Стаття | Article    

Download

Теленик Андрій

КПІ ім. Ігоря Сікорського

Київ, Україна

andrzej.telenik@gmail.com

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

Ключові слова: системні ресурси; помилка інсталяції; сумісність версій; інсталяційні пакеті; алгоритм Дейкстри.

Andrew Telenyk

Kyiv, Ukraine

Annotation: The purpose of the article is to review available means of solving the problem of centralized installation of software in computer networks, to clarify the aspects of their deployment, and to describe author’s vision for solving the problem. The best solution to the problem will be the implementation of error-fixing utilities in the projectant remote software installation system based on Dijkstra’s algorithm, changed accordingly to task, which will allow easy installation of software within the computer network.

Keywords: system resources; installation error; version compatibility; installation packages; Dijkstra’s algorithm.

У минулій статті [1] автором була визначена проблема синхронізації та централізації управління ПЗ у комп’ютерних мережах, що полягає у необхідності забезпечення вчасного встановлення уніфікованого програмно-го забезпечення на комп’ютери підприємства, проаналізовані наявні методи її вирішення, описані їх недоліки та переваги. З урахуванням цієї інформації автором були сформовані вимоги до оптимальної системи автоматичної інсталяції програмного забезпечення: така система має мати клієнт-серверну структуру зі зв’язком між елемента-ми системи, незалежним від топології (працювати як в мережах з P2P-зв’язком, так і в мережах, побудованих за принципом «зірки») та підтримувати «тиху інсталяцію» без конфлікту з основними потоками роботи операційної системи абоненту мережі.

Використання такої системи вимагає наявності у розпорядженні компаній таких важливих ресурсів як операційна пам’ять та пам’ять для запису щоб забезпечити функціонування встановленого корпоративного програмного забезпечення (ПЗ). На відміну від централізації інсталяції ПЗ, централізація менеджменту пам’яті на комп’ютерах корпоративної мережі практично неможлива (і непотрібна) через розподілення функцій комп’ютерів та різницю у факторах їх використання, як-то їх потужність, час роботи, графік оператора та ін. Системні вимоги до програми, що встановлюється за допомогою автоматичної системи віддаленої інсталяції (або цілого пакету ПЗ) можуть виявитися поза можливостей наявної машини з різних причин, як-то фізичне або моральне застаріння обладнання або завеликий розмір пакету інсталяції.

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

Огляд існуючих рішень проблеми менеджменту ресурсів показав, що ні одна з наявних програм автоматичної віддаленої інсталяції – ні Total Software Deployment, ні Maestro AutoInstaller – не мають вбудованого арсеналу інструментів для виправлення можливих помилок ресурсів. Більш того, вони не мають вбудованих сигналізаторів помилки, усі повідомлення про нестачу ресурсів виводяться у вигляді малозрозумілого для користувача системного коду стандартними повідомленнями Windows про помилку.

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

Отже, для вирішення проблеми нестачі ресурсів потрібно:

1) автоматично сповістити адміністратора мережі, який проводить інсталяцію відповідно до об’єму наявних на машині ресурсів ;

2) Прийняти рішення про повторну інсталяцію, корекцію інсталяційних параметрів або припинення інсталяції.

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

Рис. 1. Блок-схема запропонованого алгоритму

Цей алгоритм має проводити пошук маючих найменшу вагу ребер та, переходячи у результаті до версій, що мінімально поступаються бажаній за системними вимогами (це робиться для того, щоб мінімізувати можливі негативні наслідки від розбіжності у версіях з машинами, інсталяція програми на котрі вдалася) порівнювати вимоги, що виносяться до них з вимогами бажаної версії. Якщо обрана версія «вкладається» у задані рамки, то робота алгоритму припиняється та версія запаковується для інсталяції, якщо ні – пошук продовжується вже з нової «вершини» графу версій програми.

Для графу з вершинами версій V, ребрами е з вагами e.len:

for v∈V

d[v] = ∞∞

used[v] = false

d[s] = 0

for i∈V

v = null

for j∈V

if !used[j] and (v == null or d[j]

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

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

ВИСНОВКИ

У результаті проведених досліджень була визначена проблема менеджменту системних вимог та виправлення помилок у системі автоматичної віддаленої інсталяції програмного забезпечення. Проведений аналіз існуючих рішень, запропонований власний шлях вирішення даної проблеми та побудований його алгоритм. З урахуванням цього автором були намічені додаткові вимоги для розробки автоматичної системи дистанційної інсталяції.

ЛІТЕРАТУРА

  1. Теленик А.,Автоматизована система віддаленої інсталяції програмного забезпечення. В матеріалах VIII міжнародної науково-практичної конференції з інформаційних систем та технологій Winter InfoCom Advanced Solutions 2019, 2-3 грудня 2019 року, Україна, Київ, стор. 23-24.

  2. Dijkstra E. W. A note on two problems in connexion with graphs // Numer. MathSpringerScience+Business Media, 1959. —Vol. 1, Iss. 1. — P. 269–271. — ISSN 0029-599X; 0945-3245doi:10.1007/BF01386390

  3. http://maestro\-kit.ucoz.ru/\(дата звернення 01.11.2019).

  4. http://computerologia.ru/obzor\-programmy\-total\-software\-deployment/\(дата звернення 01.11.2019).

  5. https://en.wikipedia.org/wiki/Dijkstra%27s\_algorithm\(дата звернення 31.12.2019).
May 31, 2020