The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by alena-kovalenko2021, 2021-02-23 07:23:59

SysAdmin01-02_2021

SysAdmin01-02_2021

безопасность Open Source

что искать иголку в стоге сена. Особенно это проблематич- ***
но человеку со стороны, не имеющему соответствующей Сегодня ошибки в ПО – далеко не основное средство на-
подготовки и опыта. Да вообще будет ли этим заниматься падения. Многие крупные взломы последних лет были воз-
среднестатистический сисадмин/пользователь? можны благодаря другим технологиям, и в том числе чело-
веческому фактору. Поэтому заострять внимание на  одной
Логически обе стороны по-своему правы. Я, например, проблеме, выпуская из виду остальные, не стоит. Взламыва-
за  все время работы с Open Source ни разу не занимался ется все, вне зависимости от того, есть или нет исходный код,
анализом кода на предмет безопасности, в этом просто поэтому здесь более важно помнить о рисках вообще и уметь
не было необходимости. Зато примеры собственноручно на- контролировать их. А время массовых эпидемий Linux, оче-
писанных патчей, упрощающих локализацию, добавляющих видно, еще не пришло. Не интересна эта ОС пока взломщи-
некоторые дополнительные функции или устраняющих не- кам, хотя бы потому, что она не стала массовой и  для нее
которые ошибки, уже не раз приводили авторы на страни- характерна фрагментация (наличие множества дистрибути-
цах журнала. На форумах любого Open Source-проекта мож- вов и их версий). Хороший пример Mac OS X. Стоило этой
но найти сотни страниц кода, представленных сторонними ОС набрать свои 7% (это, наверное, и есть тот порог, после
разработчиками. Поэтому, если я не смотрю чужой код, которого пользователям Linux стоит начать волноваться), как
это ведь не значит, что этого не делает кто-то другой, нельзя сразу же получили ботнет на 700 с лишним тысяч ПК, а со-
же подписаться за все шесть миллиардов жителей планеты. общения об уязвимостях посыпались как из рога изобилия. В
том числе подвела пользователей маков и самоуверенность,
Многие специалисты по безопасности в своих выска- ведь благодаря активной рекламе многие считали эту ОС не
зываниях утверждают, что наличие исходного кода благо- взламываемой, соответственно не было никакого дополни-
творно влияет на защищенность приложения. Например, тельного ПО, снижающего риски (вроде антивирусов). Сама
Винсент Рэймен (Vincent Rijmen), соавтор криптоалгоритма Apple, кстати, не очень активно реагировала на угрозу, вы-
AES/Rijndael, в своем интервью в LinuxSecurity.com заявил, пуская патчи с опозданием на месяц. EOF
что «считает открытый код полезным, так как больше людей
его могут анализировать, а разработчики писать понятный 1. Лукацкий А. Open Source – враг безопасности? – http://www.
код и  соблюдать стандарты» [12]. Вспомним недавнее со- it-world.ru/upload/iblock/4fc/60-63.pdf.
общение Google о том, что россиянин Сергей Глазунов стал
первым, кто нашел уязвимости в браузере Chrome в рамках 2. Trustworthy Computing: Learning About Threats Over 10 Years–
Google Pwnium. То есть если хорошо попросить или заин- Part 5 – http://blogs.technet.com/b/security/archive/2012/03/20/
тересовать, то искать будут (хакера, впрочем, упрашивать trustworthy-computing-learning-about-threats-over-10-years-
не нужно). Но в нашем случае эти уязвимости были сразу же part-5.aspx (http://clck.ru/10224); Apple, Oracle, Google Lead
устранены, и взломщики ими уже не воспользуются, хотя, Major Vendors with Software Vulnerabilities in Q1, Security Report
вероятно, это мероприятие хорошо подпортило Google ста- Says – http://www.cio.com/article/704561/Apple_Oracle_Google_
тистику. В свою очередь, исследователи Google обнаружили Lead_Major_Vendors_with_Software_Vulnerabilities_in_Q1_
и опубликовали уязвимость в библиотеке OpenSSL, показав Security_Report_Says.
проблемный участок исходного кода. А вот в этом и прояв-
ляется основное преимущество Open Source – при обнару- 3. Статистика Netcraft – http://news.netcraft.com.
жении проблемы пользователь может исправить ее немед- 4. Статистика Netmarketshare – http://marketshare.hitslink.com.
ленно, не дожидаясь реакции разработчиков или  выхода 5. Статистика StatCounter – http://gs.statcounter.com.
корректирующего пакета в дистрибутиве. Не это ли называ- 6. Маркелов А. Статистика по уязвимостям в RHEL 4 за два года –
ется безопасностью?
http://markelov.blogspot.com/2007/04/rhel-4.html.
Утечка кода проприетарного проекта не означает проб- 7. Страница Red Hat на Secunia – http://secunia.com/advisories/
лемы. Здесь показательна реакция VMware, опубликованная
после того, как в Сети появился архив с исходными текста- vendor/3.
ми. «Тот факт, что исходные коды могли попасть в открытый 8. Отчеты об уязвимостях для Windows Server 2008 – http://
доступ, не обязательно означает, что существует повышен-
ный риск для пользователей VMware» [13]. Да и утечка кода secunia.com/advisories/product/18255.
Windows, произошедшая несколько лет назад, не постави- 9. Статистика уязвимостей в 2011 году – http://www.securitylab.ru/
ла на колени корпорацию (хотя пару эпидемий связывают
именно с этим событием). Аналогично ничего не меняет не- analytics/422328.php.
доступность кода, при необходимости программа дизассем- 10. Microsoft: червь Conficker по-прежнему опасен – http://www.
блируется, и алгоритм работы восстанавливается. Здесь
достаточно вспомнить историю Skype, протокол которого itsec.ru/newstext.php?news_id=84564.
был вскрыт относительно быстро. 11. Отчет о проверке безопасности открытого и проприетарного

Чтобы найти уязвимость, взломщику часто даже не нужно кода за 2011 год – http://www.linux.org.ru/news/security/7461868.
анализировать исходный код, он просто подбирает нужную 12. Интервью Винсента Рэймена – http://www.linuxsecurity.com/
комбинацию, основываясь на уже имеющейся базе проблем.
content/view/117552/49.
Поэтому будем справедливы: наличие или отсутствие до- 13. VMware отреагировала на утечку исходников – http://www.
ступного исходного кода никак не должно вызывать чувство
ложной безопасности, ошибки допускают все и уязвимость xakep.ru/post/58610.
может быть найдена в любом продукте вне зависимости 14. Перевод Secure-Programs-HOWTO – http://linuxportal.ru/forums/
от лицензии.
index.php/fa/121.

Ключевые слова: Open Source, техподдержка, разработка, прог-
рамма, пользователь, открытый код, финансирование, кадры

С татья была опубликована в №6 (115), 2012 г.

системный администратор январь-февраль 2021 99

Open Source безопасность

АНДРЕЙ БИРЮКОВ

Open Source в ИБ: враг или друг?

Можно ли использовать Open Source для защиты
информации? Какие есть риски и проблемы?

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

При этом еще одной важной статьей расходов является за- документирования исходного кода приложения. Перед на-
купка ПО и его поддержки. Будучи «размазанными» по вре- чалом модернизации аналитикам необходимо убедиться,
мени, в сумме и эти расходы могут быть воистину огромны. что код корректно задокументирован, описание соответ-
К примеру, стоимость лицензий на ПО Microsoft для крупной ствует реальному функционалу и специалистам понятно,
компании может достигать миллионов долларов. Поэтому как работает программа. Учитывая тот факт, что речь идет
многие компании стали активно внедрять решения с от- о решениях по ИБ, следует также предусмотреть, чтобы
крытым исходным кодом в надежде снизить свои расходы. вносимые изменения не сказались на защищенности и це-
Не являются исключением и системы информационной бе- лостности самого приложения.
зопасности. Хотя и с некоторыми оговорками, но для систем
ИБ также существуют решения Open Source. В этой статье Следовательно, при планировании внедрения системы
я хочу рассмотреть различные аспекты использования сис- с открытым исходным кодом нужно учесть затраты на соот-
тем с открытым исходным кодов в ИБ и обсудить их досто- ветствующих специалистов. И надо понимать, что внедрение
инства и недостатки. Open Source с модернизацией – процесс не слишком быст-
рый. Но вопросы поддержки мы детально рассмотрим чуть
Преимущества модернизации позже. А пока более подробно поговорим о коммерческих
характеристиках Open Source.
Начнем с рассмотрения достоинств открытого кода. Для того
чтобы получить то или иное приложение, достаточно его про- Мнимая дешевизна
сто скачать с сайта разработчика. Далее исходные коды
необходимо скомпилировать, и здесь открывается большой Многие не слишком знакомые со сферой ИТ руководители
простор для различного рода «кастомизаций», то есть из- воспринимают понятие свободного ПО буквально – считая
менения приложения под свои нужды. Этого особенно по- его бесплатным. Однако это не совсем так. Прежде всего
лезно, когда нужно интегрировать внедряемое решение под любой софт необходимо закладывать аппаратное обес-
с уже работающими в компании системами. Например, если печение, то есть серверы, системы хранения, сетевое обо-
в организации используется система сбора событий ИБ, рудование и т.д. Это является важным фактором при выборе
то полезно было бы подключить новое приложение к данной между коммерческими программно-аппаратными комплек-
системе и настроить так, чтобы из этого нового приложения сами и программными решениями на основе Open Source.
передавалась нужная информация (события входа пользо-
вателя в систему с указанием IP-адреса источника, имени При планировании в недрения
пользователя, подробного описания самого события и про- системы с открытым
чая полезная информация). Однако не все программные исходным кодом нужно учесть
продукты как с открытым, так и с закрытым исходным кодом затраты на соответствующих
умеют передавать такие события. Поэтому приветствуется специалистов
наличие возможности дополнить функционал приложения
корректным журналированием событий. Возьмем, к примеру, средства межсетевого экраниро-
вания. Брандмауэр можно развернуть на основе физиче-
Однако для того чтобы самостоятельно модернизировать ского или (что еще хуже) виртуального сервера. Учитывая
приложения, необходимы соответствующие специалисты,
прежде всего программисты и аналитики, способные гра-
мотно спроектировать и внедрить необходимый функци-
онал. Кроме того, важным критерием является качество

100 январь-февраль 2021 системный администратор

безопасность Open Source

Бесплатную информацию
по проблемам можно
пытаться найти в Интернете,
н о на это нужны время
и специалисты
соответствующей
квалификации

текущие экономические сложности, это может показаться Для того чтобы оперативно решать возникающие проб-
гораздо более выгодным, чем приобретать дорогостоящие лемы, необходима квалифицированная служба техничес-
аппаратные решения, в том числе и российского произ- кой поддержки. Если для коммерческого ПО все достаточ-
водства. но просто: приобретаем техподдержку на год и в случае
проблем обращаемся непосредственно к разработчику
Проблема в том, что производительность программного или к его партнерам, то для открытого ПО нам обращаться,
межсетевого экрана будет целиком и полностью зависеть по сути, не к кому.
от того «железа», на котором его развернули. Производи-
тельность процессора, сетевой карты, количество свободной Бесплатную информацию по проблемам можно пытаться
оперативной памяти и другие параметры играют ключевую найти в Интернете, но на это нужны время и специалисты
роль. Собственно, это касается не только решений с от- соответствующей квалификации.
крытым кодом, но и любого ПО, однако в случае с Open
Source часто пытаются увеличивать производительность Кроме того, далеко не все можно найти в глобальной
за счет описанной ранее кастомизации, то есть правки ис- сети. Многие компании решают данную проблему, нанимая
ходного кода ПО. в свой штат людей, знакомых с соответствующими Open
Source-продуктами.
Очень часто стоимость
поддержки бесплатных Альтернативным решением может стать приобретение
продуктов м ожет существенно техподдержки непосредственно у разработчиков решений
превышать стоимость Open Source. Дело в том, что многие компании-разработчики
коммерческих аналогов свободно распространяют свои приложения в виде исход-
ных кодов. Однако если требуется техническая поддержка,
Не стоит рассчитывать на серьезное увеличение произ- то они предлагают свои платные услуги. При этом очень
водительности, так как программными средствами заставить часто стоимость поддержки бесплатных продуктов может
сервер работать в разы быстрее не получится. А кроме существенно превышать стоимость коммерческих аналогов.
того, для осуществления такой модернизации нужны высоко- В частности, я был свидетелем случая, когда стоимость под-
оплачиваемые квалифицированные специалисты, о которых держки бесплатного сканера уязвимостей Nessus заметно
уже говорилось. превышала платный аналог Max Patrol.

Теперь подробнее поговорим о поддержке решений Open Кроме того, для некоторых малораспространенных при-
Source и ее стоимости. Большинство систем, выполняющих ложений с открытым исходным кодом сложно найти даже
задачи ИБ, являются критичными для бизнеса. Неработоспо- платную поддержку.
собность межсетевых экранов, как правило, влечет за собой
отсутствие доступа к ресурсам Интернета. Менее заметные Век живи – век учись
на первый взгляд проблемы с антивирусной системой могут
привести к серьезной вирусной эпидемии, заражающей Еще одним недостатком Open Source являются сложности
все ресурсы организации. с обучением работе с данными приложениями. Разработ-
чики коммерческого ПО заинтересованы в том, чтобы спе-
циалисты, работающие с их решениями, были обучены,
поэтому в учебных центрах можно найти курсы и экзамены
практически по любому распространенному приложению.
Эти авторизованные курсы придумывают сами вендоры,
и хотя их содержание не лишено недостатков, в целом такое
обучение достаточно полезно.

системный администратор январь-февраль 2021 101

Open Source безопасность

По решениям с открытым исходным кодом курсы, ко- кодом были созданы любителями, что является как плюсом,
нечно, тоже есть, но они не являются авторизованными. так и одновременно риском, о котором должны помнить те,
То есть в разных учебных центрах работе с одним и тем же кто применяет данные решения.
решением будут обучать по-разному. К тому же далеко
не для всех Open Source-решений существуют курсы во- Показательным в этом отношении является уязвимость
обще. в OpenSSL, появившаяся из-за ошибки разработчика, кото-
рый даже не являлся профессиональным программистом,
Требования регуляторов а был всего лишь аспирантом в одном из университетов.

Во многих организациях можно встретить такое откры- Но, с другой стороны, если исходный код приложения
тое программное обеспечение для ИБ, как Squid, OSSEC, доступен любому, то соответственно и ошибки в нем най-
OpenVPN, OpenPGP, и другое [1]. Для выполнения требова- ти гораздо легче, чем в закрытых коммерческих аналогах.
ний международных стандартов по ИБ (например, стандарт Именно этот довод обычно приводят сторониики ОС Linux
безопасности данных индустрии платежных карт – PCI DSS) и FreeBSD.
можно использовать программные Open Source-решения
для защиты информации. Успешные примеры

Однако коммерческим организациям и госорганам, кото- У читателя может сложиться впечатление, что автор этих
рым необходимо соответствовать требованиям российско- строк люто ненавидит Open Source. Но это не так. В статье
го законодательства в части применения средств защиты, я лишь пытался указать на те недостатки и трудности, с ко-
прошедших оценку соответствия в установленном порядке, торыми придется столкнуться тем, кто решит использовать
вариант с использованием Open Source ПО не подойдет. Open Source для защиты информации.
Типичным нормативным требованием, которому должна со-
Безусловно, есть немало успешных примеров использова-
Многие специалисты ния Open Source в качестве основы для создания серьезных
по ИБ считают, средств защиты информации. Крупные компании – раз-
что для обеспечения работчики программного обеспечения активно используют
защиты информации н ельзя открытый исходный код для своих проектов. В частности,
использовать решения аппаратные криптографические маршрутизаторы ViPNet
с открытым исходным кодом от «ИнфоТеКС» [2] используют в качестве операционной
системы урезанный дистрибутив Linux. А криптошлюзы
ответствовать любая организация сегодня, является феде- от «Кода Безопасности» «Континент» [3] построены на ос-
ральный закон №152 «О персональных данных». нове ОС FreeBSD.

К сожалению, до сих пор нет ни одного средства защиты Что в итоге?
Open Source, имеющего сертификат ФСТЭК. То есть нельзя
просто скачать бесплатный антивирус или программный При использовании Open Source для обеспечения защиты
межсетевой экран и закрыть с его помощью соответству- информации стоит четко оценивать те риски и затраты, к ко-
ющие риски. В случае проверки регулятором несертифи- торым может привести работа с данным видом ПО. Необхо-
цированные СЗИ не будут считаться элементом защиты. димо заранее продумать, кто будет осуществлять внедрение,
Соответственно их нельзя использовать с точки зрения сопровождение и развитие решения с открытым исходным
российских регуляторов. кодом, и на основе этих сведений рассчитать стоимость
владения системой. После этого неплохо бы сравнить полу-
Конечно, есть случаи, когда компании брали решение с от- ченную информацию со стоимостью коммерческих аналогов.
крытым исходным кодом и сертифицировали его во ФСТЭК В случае если данная система должна обеспечивать защиту
как средство защиты от НСД, например, какой-либо бесплат- по требованиям регулятора, необходимо убедиться, что она
ный дистрибутив Linux. Однако такое «легальное» использо- полностью выполняет эти требования.
вание средств защиты Open Source требует дополнительных
затрат, так что ПО уже не будет бесплатным. В целом существование средств защиты с открытым кодом
вполне нормально, потому что вендоры продают, по сути,
Open Source в ИБ – это нонсенс? больше поддержу решений, чем сам программный код. А по-
явление его в открытом виде может даже сделать это ПО бо-
Многие специалисты по информационной безопасности лее привлекательным для компаний, благодаря возможности
считают, что для обеспечения защиты информации нельзя самостоятельно провести аудит, а не верить сертификатам.
использовать решения с открытым исходным кодом. Основа- Возможно, таких решений будет не так много, как коммер-
ния для такого мнения кроются в самом названии «открытый ческих, но они тоже имеют право на существование.  EOF 
исходный код». Это одна из сильных сторон и одновременно
слабостей открытого программного обеспечения, потому [1] Статьи по Open Source в ИБ – http://www.osp.ru/
что любой может посмотреть, как устроено приложение. cio/2008/05/4954189.
Также любой может вносить свой вклад, несмотря на его био-
графию или профессионализм. Многие проекты с открытым [2] Сайт компании «ИнфоТеКС» – http://infotecs.ru.
[3] Сайт компании «Код Безопасности» – http://www.securitycode.ru.

Ключевые слова: Open Source, техподдержка, разработка, прог-
рамма, пользователь, открытый код, финансирование, кадры

Статья была опубликована в журнале «БИТ» №4 (47), 2015 г.

102 январь-февраль 2021 системный администратор

лицензирование Open Source

АНДРЕЙ САВЧЕНКО

Уязвимости в лицензиях СПО

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

Представленные материалы излагаются в надежде, что будут кода еще не означает, что это свободное программное
полезны, но автор отмечает, что данная работа не является обеспечение.
официальной юридической консультацией и что высказыва-
ется личная точка зрения автора на освещаемые проблемы. По мере роста сложности лицензий на программное
обеспечение они сами приобретают признаки программы,
Четыре свободы программного обеспечения поскольку они описывают набор правил и алгоритмов по ис-
пользованию программного обеспечения. Лицензии раз-
Философия свободного программного обеспечения (СПО) виваются, выходят новые версии и варианты, возникают
определяет четыре свободы пользователей [1]: вопросы наследования и совместимости. Как и любое прог-
раммное обеспечение, лицензии не идеальны, они содержат
0. Свобода использования в любых целях. как архитектурные ошибки, так и проблемы реализации,
1. Свобода изучения и модификации. поскольку при разработке лицензии невозможно предус-
2. Свобода копирования. мотреть все краевые случаи и особые ситуации, которые
3. Свобода распространения модифицированных версий. могут возникнуть при ее использовании.
В более простом и наглядном виде эти свободы отраже-
ны на рис.  1  [2]. Эти свободы – это то, что разработчики Взаимодействие основных свободных лицензий показано
хотят защитить свободными лицензиями. Важно напомнить, на рис.  2  [3]. Здесь приведены далеко не все существую-
что свободная не означает бесплатная, а наличие исходного щие лицензии, но важно отметить четыре класса свободных
лицензий:
Рисунок 1. Философия свободного программного обеспечения определяет четыре
свободы пользователей 1. Пермиссивные (разрешающие) лицензии. Эти ли-
цензии накладывают лишь незначительные ограничения
на то, как можно использовать код: например, запрещают
использовать имена авторов или организаций, создавших
код, для продвижения производных продуктов (лицензии
семейства BSD) или запрещают предъявлять к авторам
кода патентные иски (лицензии семейства Apache). Однако
при соблюдении этих требований программный код можно
использовать как в свободных, так и в закрытых, пропри-
етарных программах.

2. Слабый копилефт (слабо защищающие лицензии)
направлены на защиту четырех свобод программного
обеспечения, упомянутых ранее. В частности, они запре-
щают совмещать код под данными лицензиями с кодом
под менее строгими лицензиями, но разрешают линковку
(динамическое связывание объектных файлов) с любым
другим программным обеспечением. Эти лицензии чаще
всего применяются для библиотек в целях обеспечения
наиболее широкой аудитории пользователей. Данный класс
лицензий представлен, в частности, лицензиями семейств
LGPL и MPL.

системный администратор январь-февраль 2021 103

Open Source лицензирование

3. Строгий копилефт (сильно защищающие лицензии) >> SaaS (Software as a Service) – программное обеспечение
обеспечивают строгую защиту четырех свобод, не позволяя как платформа. Суть в том, что пользователи передают
как использование кода в приложениях под более разре- свои данные на удаленный сервис и получают результат.
шающими или проприетарными лицензиями, так и линковку При этом у них нет никакого контроля, как их данные
объектных файлов с ними, стимулируя тем самым исполь- обрабатываются, нет даже бинарных файлов соответ-
зование GPL в производных приложениях. Использование ствующих программ. Это полное отсутствие всех че-
данных лицензий рекомендуется FSF.
Суть в том, что пользователи
4. Лицензии, обеспечивающие сетевую защиту. Ли- передают свои
цензии GPL и LGPL регламентируют использование кода данные на удаленный
при распространении бинарных или исходных файлов тре- сервис и получают
тьим лицам, т.е. если код используется несовместимым об- результат. При этом
разом, но полученные программы никому не передаются, у них нет никакого контроля,
то это не нарушает GPL/LGPL. Создается проблема, когда как их данные обрабатываются,
берется свободный код, улучшается и дорабатывается, а за- нет даже бинарных файлов
тем на его основе создается сетевой сервис, обслужива- соответствующих программ.
ющий клиентов; при этом исходный код не выкладывается, Это полное отсутствие всех
что законно, но нарушает дух лицензий GPL. Поэтому была четырех свобод, но лицензии
создана новая лицензия Affero GPLv3 (AGPLv3), которая поз- здесь почти бессильны
воляет защитить свободу пользователей получать и приме-
нять код программного обеспечения, которым они публично тырех свобод, но лицензии здесь почти бессильны,
и удаленно пользуются. так что пользователи должны быть осведомлены об этой
проблеме и должны осознанно принимать решение о до-
Как мы теряем нашу свободу пустимости использования соответствующих сервисов.
>> JavaScript и прочее программное обеспечение на сай-
Итак, на бумаге все выглядит неплохо. Но в реальности наши тах. Все мы используем веб и браузеры, но большин-
свободы во многом ограничиваются. Почему это происходит? ство сайтов использует несвободные скрипты и иное
программное обеспечение, выполняющееся на стороне
Во многих сферах ограничение свобод находится вне пользователя. Отключение JavaScript во многих случаях
возможностей, регулируемых лицензией, например: делает использование ресурсов невозможным, поэто-
му пользователи постоянно подвергают свои системы
>> Прошивки и микрокод устройств: они выполняются
на специализированном оборудовании (сетевые, ви-
деокарты, микрокод процессора). Почти все это прог-
раммное обеспечение закрытое, хотя оно выполняет
критически важную функциональность и создает риски
безопасности.

>> Экосистема мобильных устройств. Найти телефон
со свободными ключевыми программными компонен-
тами очень сложно; таким образом, звонки, контакты,
sms и иные виды коммуникации находятся под угрозой
скрытого сбора и неправомерного использования.

Рисунок 2. Взаимодействие основных свободных лицензий

104 январь-февраль 2021 системный администратор

лицензирование Open Source

большому риску с точки зрения безопасности их систем лицензию, просто используя разные части кода под раз-

и конфиденциальности их данных. ными лицензиями в одном приложении.

>> Сетевое, встраиваемое и иное специализированное Проблема совместимости свободных лицензий стоит до-

оборудование часто работает на закрытом программ- статочно остро, т.к. совмещение кода под несовмещаемыми

ном обеспечении, что лишает пользователей контроля лицензиями нарушает как минимум одну из них. На рис. 2 по-

над этими устройствами, подвергая их данные опас- казан граф совместимости между наиболее распростра-

ности несанкционированного доступа.

Если упомянутое выше программное обеспечение не было «Серая зона» – это те случаи,
основано на свободном программном обеспечении, то ли-

цензии тут бессильны. Однако есть ситуации, когда лицензии когда из‑за несовершенства
явно или косвенно нарушаются. лицензии она формально

Рассмотрим их подробнее. Нарушения можно разделить на:

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

>> Умышленно спорные. Есть случаи, когда лицензия фор-
мально или оспариваемо выполняется, но нарушает дух,
идею лицензии и лишает пользователя одной или нес-

кольких из четырех свобод.

Причин случайных нарушений много, в частности:

>> Забыли добавить исходные коды для всех автомати- ненными свободными лицензиями. A → B означает, что код

чески сгенерированных файлов. Это часто касается под лицензией A можно включать в код под лицензией B (час-

jar файлов, исходных данных bison, flex, *.am файлов то это подразумевает перелицензирование кода A, разре-

autotools и т.п. Проблема очень коварна, т.к. проект шаемое его лицензией). Важно учитывать эту информацию

часто собирается и работает без этих файлов на сгене- при включении стороннего кода в свой проект.

рированных данных. Даже GNU Emacs – один из флаг-

манов программного обеспечения проекта GNU – уму- Серая зона

дрился нарушить GPL [4, 5], забыв поставить исходные «Серая зона» – это те случаи, когда из-за несовершенства

файлы лексического анализа в формате bison, исполь- лицензии она формально соблюдается, но в реальности

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

>> Недоступность исходных кодов по техническим причи- ограничиваются, дух лицензии нарушается. Рассмотрим сна-

нам: битые ссылки, упавший сервер, просто потеряли чала случаи, когда проблему, существующую в лицензии,

исходники по небрежности. устранили в следующей версии этой лицензии.

>> Совместили несовмещаемое. Не  все свободные ли- Ярким примером является проблема тивоизации [6].

цензии совместимы друг с другом. Можно нарушить В GPLv2 содержится недоработка, позволяющая произво-

дителям на аппаратном уровне блокировать

Рисунок 3. Изменение числа строк лицензии в зависимости от поколения семейства лицензий GPL свободу пользователя обновлять ПО на уст-
ройстве, оставляя при этом такую возмож-

ность для производителя, – этот процесс

и называется тивоизацией, в честь компа-

нии Tivo, его придумавшей и реализовавшей.

Тем самым возможность использовать мо-

дифицированное программное обеспечение

и все связанные с этим свободы блокируются

на аппаратном уровне. Формально такое по-

ведение не нарушает GPLv2 из-за несовер-

шенства лицензии, не оговаривающей при-

менение свобод программного обеспечения

при использовании на целевом оборудовании.

Для решения данной проблемы и устране-

ния иных недочетов была создана лицензия

GPLv3 [7].

Следующим примером является патентный

шантаж: когда крупные компании объединя-

ют свои патентные пулы [7, 8] и держатели

патентов вносили вклад в свободное прог-

раммное обеспечение и подавали патентные

системный администратор январь-февраль 2021 105

Open Source лицензирование

иски к авторам кода, пользователям и мелким участникам Sun Microsystems было как раз ограничение конкуренции
рынка в целях вытеснения конкурентов. со стороны Linux [12].

Еще одним примером являются технологии DRM, связан- Юридическая проблема здесь в том, что понимать под «про-
ные с ним законодательные акты (DMCA и т.п. в зависимости изводной работой». Поскольку нет строгого юридическо-
от юрисдикции). Суть проблемы в том, что законодательство го определения для программного обеспечения, нечистые
может накладывать ограничение на четыре свободы про- на руку участники пытаются нарушить дух GPLv2, формально
граммного обеспечения, например, запрещая продавать соответствуя ей. Это спорный краевой случай, где корпора-
оборудование без DRM. ции пытаются ослабить ограничения копилефта, и многие
пользователи поддерживают их, поскольку им интересны
Как были решены эти вопросы? Рассмотрим на примере технические решения и не важны лицензионные тонкости.
GPLv3.
Следует обратить внимание, что сборка из исходных
>> Тивоизация была решена явным ее запретом в лицен- кодов ядра Linux и модуля ZFS без распространения по-
зии. Если производитель оставляет возможность обнов- лученных бинарных файлов законна, т.к. GPLv2 наклады-
ления программного обеспечения для себя, он обязан вает ограничение на распространение полученного про-
предоставить такую же возможность пользователю; дукта [12, 13]. А вот распространять полученные бинарные
при этом он имеет право аннулировать гарантию при ис- файлы совместно, в т.ч. в рамках одного продукта, нельзя,
пользовании модифицированного программного обес- т.к. это будет нарушение лицензии ядра GPLv2.
печения.
Контрактные ограничения
>> Патентный шантаж решается защитой от патентных Примером являются патчи Grsecurity для ядра Linux [14]: про-
исков. Требуется от всех держателей прав на прог- ект Grsecurity основан строго на исходных текстах ядра Linux
раммное обеспечение не предъявлять патентные иски (GPLv2) и не имеет смысла без него, но распространение
к любым лицензиатам (пользователям) такового про- кода и бинарных сборок ограничивается дополнительным
граммного обеспечения [9]. Предъявление подобных коммерческим договором подписки. Данный договор содер-
исков приведет к отзыву лицензии и потере связанных жит параграф об аннулировании подписки в случае публика-
с ней патентов.
Юридическая проблема
Проблема с законодательным принуждением к DRM устра- в том, что понимать
няется тем, что GPL разрешает использовать и реализовы- под «производной работой».
вать любые вариации DRM, но не позволяет ограничивать Поскольку нет строгого
возможность распространения способов обхода этой за- юридического определения
щиты, в т.ч. модифицированных вариантов данного про- для ПО, нечистые на руку
граммного обеспечения. Таким образом, за пользователями участники пытаются нарушить
сохраняются все четыре свободы. дух GPLv2, формально
соответствуя ей
Открытые вопросы
ции исходного кода. Это может быть легально в некоторых
Разумеется, в «серой зоне» есть нерешенные проблемы. юрисдикциях, хотя оспаривается специалистами [14].
Обсудим некоторые из них.
В данной ситуации базовые свободы распространения
Обфускация изменений и модификации СПО нарушаются.
В качестве примера рассмотрим действия компании Red
Hat, которая стала предоставлять патчи ядра Linux, слитые Пути решения проблем
в единое изменение, примененное к ядру [10].
Программное обеспечение обрабатывает и защищает дан-
Поскольку воедино сливаются сотни, если не тысячи ные, однако, если оно не справляется с защитой, подклю-
как связанных, так  и независимых изменений на перекры- чается юридическая сфера. Но лицензии как программы
вающиеся участки кода, разбор и последующая полезная несовершенны. Что делать, когда в них тоже находятся уяз-
модификация данных изменений чрезвычайно усложнены. вимости и проблемы? Что можно сделать, если юридическая
защита не сработала? Простых путей здесь нет.
Формально GPLv2 строго соблюдается, т.к. исходные
коды предоставлены, но фактически свобода модификации Совершенствование лицензий
и использования кода сильно ограничена, поскольку лицен- Уточнение лицензий приводит к увеличению их сложности.
зия не ограничивает умышленное существенное усложнение Более строгие и точные лицензии также будут намного боль-
работы с модификациями. ше и сложнее для понимания. Чрезмерная сложность будет
отпугивать пользователей, т.к. одно дело – изучить лицензию
Примечательно, что данные действия совершенно от- на две страницы и совсем другое – на 50.
крыто были объяснены действиями по ограничению конку-
ренции [11].

Форсирование несовместимых лицензий
Примером является проблема ZFS для Linux: лицензирование
модуля ядра под свободной лицензией CDDL, несовместимой
с лицензией ядра GPLv2 [12, 13].

Суть проблемы проста: обе лицензии требуют, чтобы
производный продукт был под той же лицензией. Пред-
полагаемой причиной выпуска ZFS под CDDL компанией

106 январь-февраль 2021 системный администратор

лицензирование Open Source

Важно применять лицензии >> Всегда следует использовать последние версии лицен-
по назначению. Лицензии зий. Они выходят не просто так, а с учетом накопив-
для программ следует шихся проблем и замечаний. Точно так же, как и с про-
использовать для программ, граммами: для того чтобы быть в безопасности, нужно
лицензии для документации использовать актуальные версии.
или мультимедиа –
д ля документации >> Важно применять лицензии по назначению. Лицензии
или мультимедиа для программ следует использовать для программ,
лицензии для документации или мультимедиа – для до-
На примере семейства лицензий GPL можно рассмотреть кументации или мультимедиа. К примеру, не следу-
рост сложности с эволюцией лицензий. На рис. 3 показано ет использовать GPL для музыки или документации,
изменение числа строк лицензии в зависимости от поколе- т.к. в этом случае придется предоставлять все сы-
ния. Красной кривой показано число строк строго в лицен- рые машиночитаемые данные. Для этого есть Creative
зии GPL. Однако следует учитывать, что GPL – это семейство Commons или GNU FDL (для документации). Точно
лицензий. так же не нужно использовать лицензии для докумен-
тации или мультимедиа для исходных кодов, поскольку
В первом поколении была только одна лицензия GPLv1, они не учитывают специфики программного обеспе-
во втором поколении появилась необходимость в дополни-
тельной лицензии LGPL, ориентированной на библиотеки, чения.  EOF   
в третьем добавилась еще одна лицензия AGPL для обес-
печения сетевой защиты приложений. [1] Что такое свободная программа? – https://www.gnu.org/
philosophy/free-sw.ru.html.
Поэтому правильнее суммировать число строк всех лицен-
зий в каждом поколении, что и отражено на синей кривой. [2] Why use Free Software? – https://www.softwarefreedomday.org/
about/why-foss.
Видно, что из ~250 строк в первом поколении группа
лицензий развилась до ~1500 строк в третьем. Это та цена, [3] David A. Wheeler. The Free-Libre / Open Source Software (FLOSS)
которую приходится платить за уточнение лицензий и ис- License Slide – https://www.dwheeler.com/essays/floss-license-slide.
правление накопившихся в них проблем. html.

Здесь могут помочь упрощенные пояснения и инструмен- [4] Richard M. Stallman. Re: Compiled files without sources???? –
ты выбора лицензий, понятные простым пользователям, как, https://lwn.net/Articles/453374/.
например, сделано для семейства Creative Commons [15]
(лицензии для документации и мультимедиа). [5] David Kastrup. Re: Compiled files without sources???? – http://
article.gmane.org/gmane.emacs.devel/142405.
Для выбора и сравнения свободных лицензий можно
использовать ресурс Software licenses in Plain English [16], [6] Что такое тивоизация? Как GPLv3 ее предотвращает? – https://
позволяющий на простом и понятном языке посмотреть ос- www.gnu.org/licenses/gpl-faq.ru.html#Tivoization.
новную информацию по всем распространенным свободным
лицензиям. [7] Richard M. Stallman. Why Upgrade to  GPL Version 3 – http://gplv3.
fsf.org/rms-why.html.
Профессиональным юристам эти инструменты тоже по-
могут, поскольку будет уменьшено число лицензий, которые [8] Joris Evers. Microsoft makes Linux pact with Novell – https://www.
нужно тщательно проанализировать. cnet.com/news/microsoft-makes-linux-pact-with-novell/.

Развитие культуры использования лицензий [9] Есть ли в GPLv3 «параграф о защите от патентных исков»? –
Повышение грамотности в работе с лицензиями также спо- https://www.gnu.org/licenses/gpl-faq.ru.html#v3PatentRetaliation.
собствует уменьшению проблем при их использовании.
[10] Corbet. Red Hat’s «obfuscated» kernel source – https://lwn.net/
На что следует обратить внимание? Articles/430098/.
>> Грамотный выбор лицензий. У каждой лицензии
[11] Metz Cade. Red Hat: `Yes, we undercut Oracle with hidden Linux
есть свои особенности, нужно учитывать поставлен- patches’ – https://www.theregister.co.uk/2011/03/04/red_hat_twarts_
ную задачу при выборе лицензии. Помочь в этом могут oracle_and_novell_with_change_to_source_code_packaging/
инструменты [15, 16].
>> Следует предпочитать строгие копилефтные лицензии [12] Bradley M. Kuhn, Karen M. Sandle. GPL Violations Related to
(см. рис. 2) для своих проектов, поскольку только они Combining ZFS and Linux – https://sfconservancy.org/blog/2016/
могут помочь сохранить и преумножить свободы поль- feb/25/zfs-and-linux/.
зователей и разработчиков.
>> Важно уделить внимание корректному заимствованию [13] 13. Richard M. Stallman. Interpreting, enforcing and changing the
кода. Некорректное совмещение кода, созданного GNU GPL, as applied to combining Linux and ZFS – https://www.
под разными лицензиями, – распространенная ошибка. fsf.org/licensing/zfs-and-linux.
Рис. 2 и подобные схемы помогут понять, когда можно
заимствовать код, а когда – нет. [14] Bruce Perens. Warning: Grsecurity: Potential contributory
infringement and breach of contract risk for customers – https://
perens.com/2017/06/28/warning-grsecurity-potential-contributory-
infringement-risk-for-customers/.

[15] Explore the Creative Commons licenses – https://
creativecommons.org/choose/.

[16] Software licenses in Plain English – https://tldrlegal.com/.

Ключевые слова: Open Source, техподдержка, разработка, прог-
рамма, пользователь, открытый код, финансирование, кадры

Статья была опубликована в журнале «БИТ» №8 (81), 2018 г.

системный администратор январь-февраль 2021 107

Open Source закон есть закон

ТАТЬЯНА НИКИФОРОВА

Правовые риски свободных программ

Чем юристы пугают ваших инвесторов

Каждый ИТ-стартап рассчитывает рано или поздно привлечь солидного инвестора
и вырасти в преуспевающий и стабильный ИТ-бизнес. Разумеется, главное на пути
к этой цели – содержание самого ИТ‑продукта, именно уникальный продукт позволит
привлечь внимание к вашему проекту. Но простого внимания недостаточно. Чтобы
привлечь инвестиции или получить заказ на разработку, нужно показать тот актив,
в который инвестору предлагается вложить свои деньги

И в этот момент на передний план выходят юридические произведения, т.е. объектом правовой охраны является
аспекты организации проекта. прежде всего программный код (текст).
>> Свободной программу делает не то, что ее можно бес-
Ваш  продукт, разработчики и методология разработки платно скачать в интернете, а тот факт, что программа
становятся объектом внимания юристов, задача которых – распространяется на основании особого вида лицен-
выявить возможные правовые риски и доложить о них инве- зионного договора – открытой лицензии.
стору, чтобы уберечь его от необдуманных решений >> Чтобы законно выпустить свой продукт под открытой
лицензией, нужно подтвердить происхождение всех
Картина, которую видит юрист, проводящий юридическую составляющих частей программного кода.
проверку (due diligence) ИТ-стартапа, зачастую такова: до-
говоры между разработчиками не заключались, создание А авторы кто?
программного продукта документально не оформлено. А тут
еще выясняется, что разработка на 80% состоит из Open Не бывает программного кода, который никому не принад-
Source… «Все ясно, концов не найти!» – понимает юрист лежит. Бывает программный код, автор которого неизвестен.
и выносит свой вердикт – «Высокий риск потери прав на объ- Неизвестность – это риск.
ект интеллектуальной собственности».
Определение авторства может представлять сложность
С точки зрения методологии выявления правовых рисков, как в философском (кого вообще можно считать автором?),
свободные программы не сильно отличаются от «несвобод- так и в сугубо организационном плане (разве упомнишь всех,
ных». Однако, будучи под влиянием опасного заблуждения, кто когда-либо работал на проекте?). Тот факт, что продукт
что свободное ПО находится за пределами традиционного или какие-то его составные части распространяются по мо-
правового поля, разработчики свободных программ зача- дели свободного ПО, не отменяют необходимости ответить
стую уделяют юридическим формальностям еще меньше на вопрос, кто является их автором.
внимания, чем их коллеги из лагеря проприетарного ПО.
Необходимо помнить, что компьютерные программы охра-
Как повысить юридическую, няются правом, как литературные произведения. Это озна-
а значит, и инвестиционную, привлекательность чает, что объектом охраны является прежде всего сам про-
своего проекта? граммный код, а авторами программы признаются те лица,
которые непосредственно участвуют в создании этого кода.
Мой опыт работы в юридическом консалтинге показывает, Автор идеи, разработчик алгоритма, аналитик или тести-
что ваши шансы на положительное заключение юриста ровщик не являются авторами программы, если только они
значительно возрастают, если вы можете внятно ответить не пишут программный код.
на три следующих вопроса:
Какие ваши доказательства?
1. Кто авторы продукта?
2. Как подтверждается творческий вклад каждого автора? После того как определились с составом авторов, следует
3. Как юридически оформлены отношения между участ- подумать о том, как можно подтвердить авторство каждого
никами проекта? из них. В данном вопросе законодательное регулирование
Небольшой экскурс в то, как смотрят на программные выглядит обманчиво простым: авторское право на програм-
продукты юристы: му возникает с момента ее создания и не требует каких-
>> Программные продукты, в том числе свободные, либо обязательных формальностей (в отличие, например,

охраняются авторским правом, как литературные

108 январь-февраль 2021 системный администратор

закон есть закон Open Source

от изобретений). Однако, не устанавливая обязательных тре- использовалась автоматизированная система управления
бований к процедуре создания объектов авторского права, разработкой, оказалось, что задачи в ней направлялись
закон тем не менее не отменяет необходимости иметь такие тем или иным отделам без дальнейшего распределения
доказательства в случае возникновения спора об авторстве. по конкретным разработчикам.
Традиционно в качестве таких доказательств рекомендует-
ся оформлять письменные служебные задания и отчеты Необходимо помнить,
работников. Однако в случае с разработкой программного ч то компьютерные
обеспечения такая практика плохо приживается. программы охраняются
правом, как литературные
В разработке одного программного продукта могут одно- произведения
временно участвовать десятки разработчиков, требования
к итоговому результату постоянно изменяются и уточняются, Это дало основания бывшему сотруднику заявлять в суде,
а важные изменения в программу могут представлять собой что задания работодателя не были адресованы конкрет-
незначительные по объему фрагменты кода. но ему, а следовательно, созданный им программный код
не является служебным произведением и компания не может
Эти обстоятельства делают традиционный бумажный до- претендовать на обладание исключительным правом.
кументооборот неэффективным и порождают необходимость
альтернативы. Работники и неработники

Решением являются различные автоматизированные сис- Необходимо, чтобы со всеми авторами были оформлены
темы, предназначенные для управления циклом разработки договорные отношения, т.к. только договор обеспечивает
и трекинга вносимых изменений (Jira, Yodiz, Redmine etc.). переход прав на программу от автора к иному лицу: рабо-
тодателю, заказчику, пользователю.
Эти системы создаются и используются в первую очередь
для решения задач управления проектами и контроля каче- Это может быть:
ства разработки, однако имеющийся функционал позволяет >> трудовой договор;
решать также и правовую задачу подтверждения авторства >> гражданско-правовой договор.
программного продукта, поскольку дает возможность отсле- Исключительное право на служебные произведения при-
дить, какой фрагмент программы был поручен тому или ино- надлежит работодателю в силу ст. 1295 Гражданского ко-
му работнику и когда задача была работником выполнена. декса РФ. Соответственно, если разработка осуществляется
силами штатных разработчиков, необходимо проследить,
Однако для того, чтобы информация в автоматизирован- чтобы наличествовали трудовые договоры, а наименования
ной системе могла быть использована как доказательство, должностей и содержание должностных обязанностей ра-
имеющее юридическую силу, необходимо провести опре- ботников соответствовали фактически выполняемым ими
деленную документальную работу на уровне внутренних функциям. В судебной практике нередки примеры споров,
нормативных документов компании. Рекомендуется: в которых выясняется, что разработчик ценной для компании
программы работает по трудовому договору, но занимает
>> оформить использование в компании определенной должность, обязанности по которой не включают создание
трекинговой системы приказом генерального директора программных продуктов, например веб-дизайнер или сис-
или иного уполномоченного должностного лица, темный администратор. Суды в таких случаях, как правило,
встают на сторону работников и признают их правооблада-
>> включить обязанность применения трекинговой телями созданных программ.
системы в должностные инструкции работников,
а также

>> обеспечить возможность однозначной идентификации
работников в трекинговой системе.

Важно, чтобы задачи в системе адресовались конкретным
лицам, а не отделам или коллективам. Мне известен случай,
когда компания была вынуждена судиться со своим бывшим
работником, который оспаривал служебный статус написан-
ного им программного кода. Несмотря на то что в компании

системный администратор январь-февраль 2021 109

Open Source закон есть закон

Если к созданию программы привлекаются сторонние раз- Характерный для открытых лицензий принцип наследова-
работчики, отношения с ними тоже должны быть оформлены ния лицензионных условий производными произведениями
договором. Вне зависимости от того, как такой договор мо- в российском законодательстве раскрывается через следу-
жет быть назван сторонами (договор на разработку, договор ющую формулировку (ч. 2 ст. 1286.1):
заказа и т.д.), по своей правовой природе он в большинстве
случаев будет являться договором авторского заказа, ре- «Лицензиар может предоставить лицензиату право на ис-
гулирование которого определяется статьей 1288 Граж- пользование принадлежащего ему произведения для создания
данского кодекса РФ. Особенность этого вида договоров нового результата интеллектуальной деятельности. В данном
состоит в том, что предметом договора является творческая случае, если иное не предусмотрено открытой лицензией, счи-
деятельность автора по созданию произведения, а переход тается, что лицензиар сделал предложение заключить договор
к заказчику исключительного права на созданное произ- об использовании принадлежащего ему произведения любым
ведение происходит только в том случае, если это прямо лицам, желающим использовать новый результат интеллек-
предусмотрено договором. Договор фиксирует возникнове- туальной деятельности, созданный лицензиатом на основе
ние обязательств, а их исполнение фиксируется в другом этого произведения, в пределах и на условиях, которые пре-
документе – акте. Соответственно, юристам, которые будут дусмотрены открытой лицензией. Акцепт такого предложения
считается также акцептом предложения лицензиара заключить
С открытыми copyleft- лицензионный договор в отношении этого произведения».
лицензиями м ожет быть
связана еще одна опасность: Таким образом, программа, созданная на основе дру-
не все открытые лицензии гой программы, распространяемой на условиях открытой
совместимы между собой лицензии, содержит в себе два результата интеллектуаль-
ной деятельности: первоначальную программу и произво-
проверять правовой статус программы, нужно предъявить дную программу. Пользователь новой программы вступает
не только сам договор, но и все относящиеся к нему акты, в лицензионные отношения сразу с двумя лицензиарами:
свидетельствующие о создании произведения (или его фраг- с лицензиаром изначальной программы и лицензиаром про-
ментов) и о передаче заказчику исключительного права. изводной программы. Чем больше программа дорабаты-
вается и развивается, тем больше становится количество
Если нештатные разработчики подключаются к авто- входящих в нее результатов интеллектуальной деятельности
матизированной системе управления разработкой наряду и тем с большим количеством лицензиаров заключает до-
со штатными сотрудниками, рекомендуется также отра- говор каждый следующий лицензиат.
жать это в договорах авторского заказа. При этом в от-
личие от служебных произведений, исключительное право Для юриста, проверяющего правовой статус итогового
на которые принадлежит работодателю в силу закона, пере- программного продукта, это означает, что необходимо раз-
дача исключительного права на результат работ нештатного мотать этот клубок лицензионных отношений до самого
разработчика требует совершения отдельного задокументи- основания, выявить всех лиц, участвовавших в доработке
рованного действия. Поэтому с внештатными работниками продукта, начиная с автора самой первой версии, и про-
рекомендуется периодически составлять акты передачи ис- верить соблюдение прав каждого из них.
ключительных прав даже в том случае, когда само создание
продукта фиксируется в трекинговой системе. Зачем так сложно?

Все сказанное выше по поводу формализации отноше- Дело в том, что закон (ч. 4 ст. 1286.1 ГК РФ) дает каждому
ний с авторами в равной мере касается как свободного, автору в этой цепочке право в одностороннем порядке от-
так и обычного (проприетарного) программного обеспече- казаться от договора (отозвать лицензию) в случае, если
ния. Однако есть правовые вопросы, характерные именно использование производного произведения будет нарушать
для свободных программ. Они проистекают из особенностей условия открытой лицензии, применимой к творческому
правового статуса открытых лицензий, установленного за- вкладу данного автора. Это может сделать невозможным
конодательством, и правовых норм, содержащихся в самих использование итогового программного продукта и даже
открытых лицензиях. повлечь применение мер ответственности, включая воз-
мещение убытков и выплату компенсации (ст. 1252 ГК РФ).
Открытая лицензия в контексте ГК РФ
Поэтому, если вы не уверены в том, кто в действительно-
Правовой статус открытых лицензий в России определяется сти написал программу, тот факт, что она распространяется
статьей 1286.1 Гражданского кодекса РФ. Открытая лицен- под открытой лицензией, не снимает риска незаконного
зия – это лицензионный договор, заключаемый в упрощен- использования объекта авторского права.
ном порядке. По модели заключения открытая лицензия
является договором присоединения, поскольку все условия Какие еще правовые риски нужно учитывать?
такого вида договоров формируются одной стороной (ли-
цензиаром), а другая сторона (лицензиат) может либо при- При анализе лицензионной чистоты свободного ПО учиты-
соединиться к договору в целом, либо отказаться от него. ваются следующие риск-факторы:

>> Применимые лицензии могут содержать ограничения,
которые несовместимы с бизнес-целями проекта.

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

может представлять сложность.
>> Правообладатель может изменить порядок лицензиро-

вания своего продукта.

110 январь-февраль 2021 системный администратор

закон есть закон Open Source

Соответствие бизнес-целям проекта пояснила в суде, что, по ее мнению, нарушения лицензии
GPL не произошло, так как не было прямого заимствования
Открытая лицензия может содержать требования обязатель- кода. По мнению VMware, в рамках продукта ESXi компо-
ного раскрытия программного кода при распространении ненты под лицензией GPL осуществляют взаимодействие
лицензируемой программы или производных произведений с компонентом vmkernel, однако программный код само-
(так называемые copyleft-лицензии, например, лицензия GNU го vmkernel не является заимствованием какого-либо кода
GPL различных версий). Для сообщества разработчиков под лицензией GPL, а следовательно, требования данной
это гарантия того, что программные продукты будут оста- лицензии на vmkernel не распространяются.
ваться свободными и будут далее развиваться по модели
свободного ПО. Однако для потенциального инвестора такое К сожалению, поскольку в иске было отказано по ряду
условие лицензии – это повод задуматься, насколько оно процессуальных оснований, суду не пришлось высказывать
соответствует бизнес-целям проекта. Если заказчик не го- свою позицию по вопросу о том, приводит ли технологиче-
тов раскрывать программный код своего продукта каждому ское взаимодействие между GPL-компонентами и прочими
пользователю, использование copyleft-лицензии в продукте компонентами системы к тому, чтобы итоговый продукт рас-
будет для него стоп-фактором. сматривался как производный от GPL-компонентов. По мне-
нию некоторых экспертов, если бы суд в этом вопросе встал
Другие примеры лицензионных требований, возможность на сторону истца, то аналогичные претензии могли бы быть
соблюдения которых юрист посоветует заказчику проверить предъявлены ко многим производителям проприетарных
до сделки: продуктов, которые используют подобные методы стыковки
компонентов в своих продуктах.
>> Android SDK License Agreement запрещает созда-
вать программы, не предназначенные для платформы Что если лицензиар передумал?
Android или не совместимые с ней.
Еще одной проблемой может стать решение лицензиара изме-
>> Лицензионное соглашение на использование набора нить условия лицензирования своего продукта. Например, про-
средств разработки Yandex AppMetrica SDK обязывает граммный продукт в течение некоторого времени распростра-
пользователя предоставлять лицензиару статистические нялся по открытой лицензии, допускавшей его модификацию
данные об использовании объекта лицензирования, при- лицензиатом, но с какого-то момента правообладатель стал
чем перечень такой информации является открытым. предлагать свой продукт по обычной коммерческой лицензии
с традиционным набором прав и ограничений. Теоретически,
Вопрос совместимости лицензий если вы начали использовать эту программу, пока она еще
была свободным ПО, ваша открытая лицензия продолжает
С открытыми copyleft-лицензиями может быть связана еще действовать и вы можете по-прежнему использовать програм-
одна опасность: не все открытые лицензии совместимы му или ее модифицированную версию. Однако для этого нужно
между собой. Если в программном продукте использованы будет документально подтвердить момент заключения соот-
компоненты, распространяемые под различными copyleft- ветствующего лицензионного договора (открытой лицензии).
лицензиями (например, GPL и EPL), то требования, предъяв-
ляемые каждой из этих лицензий к использованию итогового Что же делать?
программного продукта, могут оказаться взаимно противо-
речащими. Поэтому для того, чтобы сделать заключение Для того чтобы подготовить свой проект к юридической про-
о наличии или отсутствии правовых рисков программного верке со стороны потенциального инвестора, рекомендуется
продукта, созданного с использованием свободного ПО, провести следующий комплекс мероприятий:
юристу потребуется выявить все применимые лицензии
и проверить их на совместимость правовых условий. По- 1. В части подтверждения исключительных прав на про-
мочь разобраться в вопросах совместимости открытых ли- граммный продукт:
цензий могут лицензионные обзоры и карты лицензионной
совместимости, которые время от времени выпускаются >> Вспомните всех авторов продукта.
отдельными разработчиками или сообществами. >> Определите творческий вклад каждого автора.
>> Документально оформите отношения с авторами.
Что есть производное произведение? >> Помните: нет кода, который никому не принадлежит!
2. В части обеспечения лицензионной чистоты програм-
Толкование понятий «модификация» и «производное произ- много продукта:
ведение» может составлять практические сложности. Это хо- >> Составьте перечень всех компонентов продукта.
рошо видно на примере судебного дела Hellwig vs VMware. >> Определите применимые лицензии.
В 2015 году один из разработчиков ядра Linux Кристоф >> Проверьте совместимость лицензий.
Хельвиг (Christoph Hellwig) подал в окружной суд Гамбурга >> По спорным правовым вопросам заручитесь мнением
судебный иск о нарушении авторских прав к корпорации
VMware. По мнению г-на Хельвига, его имущественные ав- юриста.
торские права были нарушены тем, что компания VMware Итогом этих усилий будет положительное юридическое
при создании своего продукта ESXi (а точнее, его компонента заключение, которое наверняка оценит ваш будущий ин-
vmkernel) скомбинировала код ядра Linux со своим пропри- вестор.  EOF 
етарным кодом, не раскрывая при этом свои исходные тек-
сты. Это является нарушением GPL-лицензии, под которой Ключевые слова: Open Source, техподдержка, разработка, прог-
создается и распространяется операционная система Linux, рамма, пользователь, открытый код, финансирование, кадры
и в том числе программный код, созданный г-ном Хельвигом.
Защищаясь от предъявленного обвинения, компания VMware С татья была опубликована в журнале «БИТ» №8 (81), 2018 г.

системный администратор январь-февраль 2021 111

Open Source технологии

ДЖИМ УАЙТХЕРСТ (JIM WHITEHURST)

Будущее за открытостью:

Open Source поможет не упустить возможность

Несколько лет назад, выступая на конференции, я перечислял действия, которые,
возможно, выполняли слушатели: снятие денег в банкомате, проверка соцсетей,
совершение онлайн-покупок, регистрация на рейс, просмотр фильма. И за каждым
из этих действий стояли технологии Open Source, которые уже тогда были в тренде
и набирали силу

Сейчас же Open Source стал практически повсеместен. Се- секторе, покорив даже некоторые из крупнейших и наи-
годня технологии эволюционируют с небывалой для исто- более консервативных организаций. Понятно, что я всегда
рии человечества скоростью, а жизнь в эпоху цифровых с оптимизмом смотрел на перспективы контейнеров в плане
потрясений стала нормой. Open Source движет вперед мно- кардинального пересмотра подходов к ИТ-инфраструктуре.
гие технологические инновации, которые мы наблюдаем, Но скорость, с которой корпоративный сектор переходит
и все ключевые мега-тренды в области технологии происхо- на контейнеры Open Source и сопутствующие техноло-
дят благодаря участию пользователей. Именно внося свой гии, наподобие Ansible, поражает даже меня. За все годы
вклад, каждый участник сообщества Open Source помогает я никогда не видел, чтобы компании так быстро вводили
формировать будущее технологий. новые технологии в производственный цикл. Поэтому то,
что мы наблюдаем, на мой взгляд, просто не имеет преце-
Это затрагивает и работу организаций, и отдельных лю- дентов в истории отрасли.
дей. Open Source с его установками на обмен наработками,
сотрудничество и адаптивность играет решающую роль, Вспомните, как было с виртуализацией. Несмотря
предоставляя людям возможность действовать. Перенимая на все обещания кардинально сократить расходы, ей пона-
культуру открытых инноваций, организации начинают созда- добилось 10, а то и более лет, чтобы стать мейнстримом.
вать атмосферу, поощряющую людей экспериментировать А сегодня мы видим, как некоторые организации запускают
и пробовать новое вместо того, чтобы планировать все за- контейнеры в продакшн буквального с первого же дня.
ранее и действовать строго по сценарию. Именно благо-
даря коллективным усилиям экстраординарных личностей, Успех этих новых контейнерных платформ обусловлен
готовых рисковать и попробовать новое, мы видим, как орга- двумя факторами: они сокращают затраты и сроки внедре-
низации добиваются столь востребованных инновационных ния и одновременно повышают скорость инноваций. Раньше
прорывов. внедрение корпоративных ИТ-проектов инфраструктурного
уровня занимало недели, месяцы и годы. Сегодня, когда со-
Меня поразило, как быстро временные адаптивные ИТ-услуги стали нормой, на это ухо-
и широко распространились дят считаные часы и минуты. И это главная причина столь
контейнерные технологии высокой популярности и скорости распространения этих
в корпоративном секторе, технологии.
покорив даже некоторые
из крупнейших и наиболее Другой секрет привлекательности контейнеров состо-
консервативных организаций ит в том, что, будучи отнюдь не простой, а на самом деле
довольно сложной технологией, она чрезвычайно понятна
В ИТ-индустрии Open Source приводит к невероятным ин- и доступна в использовании. Сегодня никого не удивля-
новациям и к еще более невероятной скорости этих иннова- ет, что ребенок впервые в жизни берет в руки смартфон
ций. В частности, меня поразило, как быстро и широко рас- или планшет и начинает пользоваться им без всяких ин-
пространились контейнерные технологии в корпоративном струкций, но для мира инфраструктурных решений кор-
поративного класса подобный уровень – это настоящий
прорыв. Благодаря этой простоте использования и внед-
рения организации могут получить значительную отдачу
от вложенных трудозатрат и ресурсов. На мой взгляд, такой
акцент на пользовательском опыте станет важной темой
в мире корпоративных ИТ-технологий, где, вообще говоря,
есть большой простор для улучшений.

112 январь-февраль 2021 системный администратор

технологии Open Source

Open Source служит
двигателем инноваций
в самых разных областях
нашей жизни

С учетом той скорости распространения контейнеров, Прошедший год показал, что Open Source как принцип
которую мы наблюдаем, я считаю, что перед нами откры- решения задач продолжает успешно выходить за рамки ИТ-
вается океан перемен в мире технологий, и там нам пред- технологий, помогая справиться с самыми сложными про-
стоит столкнуться с принципиально новыми, невиданными блемами нашего общества. Например, открытый доступ
ранее темпами функциональных перемен в таких областях, к обработке медицинских данных пациента помогает диа-
как частные и общедоступные облака. гностировать и потенциально излечить опасные для жизни
заболевания. Другой пример: инициатива по созданию отк-
В истории ИТ-индустрии еще никогда не было столь за- рытых учебников, сулящая прорыв в области образования.
хватывающего периода. Более того, мы видели, как лидеры в разработке искусствен-
ного интеллекта строят работу на принципах Open Source.
И по мере того, как разворачивается эта эволюция, сто-
ит отметить решающую роль, которую мы отводим в ней Оpen Source как принцип
Open Source. Поскольку контейнеры открывают безгра- решения задач продолжает
ничные возможности для взаимодействия корпоративных успешно выходить за рамки
приложений друг с другом, очевидно, возникает вопрос: ИТ-технологий
как сопровождать и поддерживать столь динамичную сре-
ду? Если у вас есть четыре миллиона микросервисов, ко- Также было приятно наблюдать, как принципы «Откры-
торые постоянно обновляются и общаются друг с другом, той организации» вдохновляют самые разные организации
то как отслеживать все эти взаимодействия и эффективно по всему миру – от международных страховых компаний
управлять производительностью приложений? Как диагно- до ведущих бизнес-школ. Эти компании-лидеры пришли к по-
стировать проблемы, когда что-то идет не так? Короче гово- ниманию того, что мы в Red Hat осознали и практикуем уже
ря, все это потребует фундаментального переосмысления многие годы: сделайте свой бизнес открытым, и вы сможете
всех технологиq и функций, задействованых при выполне- быстрее и эффективнее реагировать на изменения в окру-
нии приложений. жающем мире. И с учетом этого я надеюсь, что в ближайшие
годы число компаний и отраслей, понимающих и принимаю-
Организации просто не могут полагаться на проприетар- щих открытый подход к своему бизнесу, будет только расти.
ный исходный код при управлении растущим множеством
прикладных микросервисов, стоящих за критически важ- Open Source служит двигателем инноваций в самых разных
ными бизнес-транзакциями. Кроме того, на этом пути, без- областях нашей жизни. Планомерно внося свой вклад, люди
условно, возникнут препятствия, о которых мы пока даже меняют мир, ломая стереотипы и решая проблемы, над кото-
не догадываемся, но которые будут только расти по мере рым безуспешно бились поколениями. Открытые инновации –
того, как распространение контейнеров будет набирать это не только сегодняшний день, это наше будущее.  EOF 
обороты.
Ключевые слова: Open Source, технологии, инновации.
Вот почему Red Hat вкладывает значительные средства
в инфраструктуру, лежащую в основе центра управления Статья была опубликована в №10 (191), 2018 г.
данными и приложениями будущего, поскольку мы понима-
ем, как именно адаптивность Open Source может сыграть
здесь решающую роль. Кроме того, мы по-прежнему берем
на себя функции лидера в сообществах Open Source, помо-
гая формировать дорожные карты того, как решать пробле-
мы, с которыми организациям предстоит столкнуться в бли-
жайшем будущем.

системный администратор январь-февраль 2021 113

Карьера/Образование ретроспектива

Визитка

ВЛАДИМИР ГАКОВ, писатель, специалист по научной фантастике, журналист, лектор. Окончил физфак МГУ. Работал в НИИ. С 1984 г. на творческой
работе. В 1990-1991 гг. – Associate Professor, Central Michigan University. С 2003 г. читает курс по истории бизнеса в Институте бизнеса и делового
администрирования (ИБДА) Российской академии народного хозяйства и государственной службы (РАНХиГС). Автор 8 книг и более 2000 публикаций

Трудно быть «Бошем»

В списке крупнейших мировых компаний, включившихся в «гонку десятилетия»
по созданию тестов, вакцин и лекарств против бушующей в мире пандемии
коронавируса, неожиданно натыкаешься на название, прямо скажем, неожиданное.
Всем известен немецкий промышленный гигант Robert Bosch GmbH – ведущий
мировой производитель бытовых потребительских товаров и разнообразных
технологий: автомобильных, промышленных, энергетических, строительных,
упаковочных. Но – но уж никак не медицинской! И однако же, в самом начале
пандемии – в марте прошлого года – Bosch объявила о создании новой экспресс-
диагностики коронавируса (как «старого» SARS-CoV-2, так и нынешнего COVID-19).
Впрочем, это не первый и, надо думать, не последний пример того, как немецкий
многопрофильный концерн умудрялся успевать за техническим прогрессом
по всем направлениям – в том числе и особенно интересующем читателей журнала
«айтишном»…

Ключ зажигания сгорания. Усовершенствовав эту систему для высокообо-
ротного двигателя, компания Robert Bosch на десятилетия
Группа компаний Robert Bosch GmbH вперед превратилась в ведущего (в первое время едва ли
(которую все в мире знают как про- не единственного) поставщика комплектующих для ново-
сто Bosch) со штаб-квартирой в Гер- рожденной автомобильной промышленности. Среди них
лингене (под Штутгартом) берет свое главной оставалась упомянутая система зажигания от маг-
начало со скромной «Мастерской нето, сменившая небезопасные «калильные трубки Дайм-
точной механики и электротехники», лера» с использованием открытого пламени.
открытой в ноябре 1886 года на за-
днем дворе своего дома 25-летним К 1906 году была выпущена 100-ты-
инженером-изобретателем Робертом сячная система зажигания Боша
Бошем. Штат мастерской состоял (а для рабочих был установлен 8-ча-
из двух человек – самого Боша (вло- совой рабочий день – задолго до того,
жившего в качестве уставного капита- как столь же революционное новшество
ла 10 тысяч рейхсмарок из отцовского было реализовано за океаном на заво-
наследства) и подмастерья. де Форда). И четырьмя годами позже
в Фейербахе Robert Bosch построила
И уже через год Бош выпу- свой первый завод по производству ав-
стил первую систему зажига- томобильных комплектующих.
ния от магнето (или искровую)
для двигателей внутреннего К концу третьего десятилетия про-
шлого века сотрудники компании
114 (с 1917-го – корпорации) подарили
стремительно растущему миру авто-
любителей и водителей-профи такие
новинки, как автомобильная фара, ав-
томобильный аккумулятор, топливный
фильтр, электрический стартер, клак-
сон, стеклоочистители («дворники»)
и указатели поворота. В 1927 году был
разработан первый впрыскивающий

январь-февраль 2021 системный администратор

ретроспектива Карьера/Образование

С этой целью были построены два закрытых предприя-
тия – машиностроительный завод в Кляйнмахове под Бер-
лином и электромеханический в Хильдесхайме. В годы
Второй мировой войны на первом более половины из 5 ты-
сяч рабочих составляли заключенные концлагерей (в том
числе женщины, выжившие и арестованные после восста-
ния в варшавском гетто), изготавливавшие авиазапчасти
для «люфтваффе».

А на заводе в Хильдесхайме – электропродукцию для тан-
ков и прочих военно-транспортных средств. К концу войны

насос для дизельного двигателя ни один немецкий танк не обходился без стартера от Bosch,
для грузовиков (а менее чем через как ни один военный самолет – без соответствующего элек-
десятилетие – для легковых автомо- трооборудования.
билей). Наконец, в 1932 году дочер-
няя компания Blaupunkt выпустила Это активное участие в укреплении обороноспособности
первое на континенте серийное ав- Третьего рейха не могло не аукнуться компании Роберта
томобильное радио. Боша в конце войны. Как и заводы других лидеров не-
мецкой промышленности, трудившихся на «оборонку»,
Кроме того, к этому времени к лету 1945 года большинство предприятий Robert Bosch
Robert Bosch производила мно- GmbH (последняя аббревиатура – аналог нашего ООО;
жество всякой полезной техни- в 1937 году Бош преобразовал свое АО в ООО с целью
ки – бытовой и промышленной превращения компании в семейное предприятие) лежало
электроаппаратуры: от телефонных в руинах после налетов союзной авиации Великобритании
аппаратов, электродрелей, машинок и США. Сам глава компании – к счастью для него – этого
для стрижки волос и холодильников уже не увидел: в 1942 году Роберт Бош умер в возрас-
до дистанционных сигнализаторов те 80 лет.
уровня воды и термоэлектрического
оборудования (в 1932 году произ- Набор скорости
водство последнего приобретено у компании Junkers).
В том же 1932-м, кстати, Bosch выпустила первый в мире За два первых послевоенных десятилетия полностью раз-
электроперфоратор. рушенная немецкая экономика (точнее, экономика той части
Германии, которая оставалась в зоне оккупации США, Англии
А в конце первой трети прошлого века произошло и Франции и впоследствии стала Федеративной Республикой
то, что и должно было произойти с любым из тогдашних Германия) была практически восстановлена – в основном
лидеров немецкой промышленности. В 1933 году, после благодаря знаменитому «плану Маршалла». В советское
прихода Гитлера к власти, самопровозглашенный фюрер время всячески замалчивалось, что программа мер экономи-
немецкого народа обратил особое внимание на капитанов ческому возрождению послевоенной Европы, разработанная

В 1932 году дочерняя
компания Blaupunkt в ыпустила
первое на континенте
серийное автомобильное
радио

национальной индустрии. Каковым отныне следовало без-
оговорочно стать «национал-социалистическим» – или по-
кинуть рынок (хорошо если мирно). И компания Robert
Bosch AG срочно перепрофилировала часть своих активов
на производство вооружений для стремительно милитари-
зовавшегося рейха.

системный администратор январь-февраль 2021 115

Карьера/Образование ретроспектива

под руководством тогдашнего госсекретаря США Джорджа Всю вторую половину прошлого века Bosch активно ос-
Маршалла, предполагала получение американской помощи, ваивала новые сферы бизнеса. Среди них упаковочная
в том числе, и Советским Союзом, но Сталин отверг ее. техника, производство пневматического и гидравлического
А западные оккупационные сектора поверженной Германии оборудования. А также телефония – в 1981 году Bosch уста-
никто и не спрашивал… новила партнерские отношения с Telefonbau & Normalzeit
GmbH и спустя 6 лет поглотила последнюю, образовав ком-
Как бы то ни было, немецкое «экономическое чудо» со- панию Bosch Telecom GmbH.
стоялось. И среди бенефициаров его была, естественно,
и компания Bosch. А в начале нового века и нового тысячелетия детище
Роберта Боша начало активно скупать активы. Среди по-
Как бы то ни было, следних – немецкая инжиниринговая компания Mannesmann
немецкое «экономическое Rexroth AG (в результате слияния была образована Bosch
чудо» состоялось. И среди Rexroth AG) и американские Philips CSI Inc. – производитель
бенефициаров его была, коммуникационной техники и систем безопасности и Telex
естественно, и компания Communications/Electro-Voice.
Bosch
За последние десять лет Robert Bosch купила американские
В 1950-х годах были открыты компании – производителя софта SPX Service Solutions и про-
производства в Австралии, Бра- изводителя твердотельных ионно-литиевых батарей Seeo, Inc.,
зилии, Индии и установлены пар- а также выкупила партнерские доли в совместных предприя-
тнерские отношения с крупной тиях с Siemens Hausgerate GmbH и ZF Lenksysteme GmbH.
японской машиностроительной
компанией Denso. В 1951 году Bosch начала
серийное производство
В 1964 году был основан механических топливных
благотворительный фонд Robert насосов д ля бензиновых
Bosch Stiftung (которому в насто- двигателей легковых
ящее время принадлежат 92 % автомобилей
акций компании). Четырьмя года-
ми позже был открыт новый на- За первые два десятилетия XXI века специалисты немец-
учно-исследовательский центр кой компании дали миру электрогидравлические тормоза,
в Швибердингене, а еще через цифровое автомобильное радио с дисководом, первую ак-
пару лет штаб-квартира ком- кумуляторную отвертку Ixo с литий-ионным аккумулятором,
пании окончательно переехала приводы для первых гибридных автомобилей.
в Герлинген под Штутгартом.
В 2009 году только на научно-исследовательские раз-
В 1951 году Bosch начала се- работки компания потратила 3,6 млрд евро, и это дало
рийное производство механиче- впечатляющий результат: за тот же год патентный портфель
ских топливных насосов для бен-
зиновых двигателей легковых
автомобилей. Годом позже уже упоминавшаяся дочерняя
компания Blaupunkt выпустила первую в Европе автомаг-
нитолу с УКВ-диапазоном, а в 1989 году – навигационную
систему TravelPilot.

Всего к наступлению миллениума также увидели свет:
система электронного управления впрыском топлива
для бензиновых двигателей D-Jetronic (1967), датчик оста-
точного кислорода (лямбда-зонд) (1976), первая антиблоки-
ровочная система ABS (1978), контроллер электродвигателя
(1979), электронный блок управления дизельным двигате-
лем EDC (1986), ксеноновые лампы для автомобиля (1991),
электронная система контроля устойчивости автомобиля
(электронной стабилизации ESP – 1995), аккумуляторная
топливная система (топливный насос высокого давления
Common Rail – 1997), система непосредственного впрыска
бензинового топлива DI-Motronic и адаптивный круиз-кон-
троль (обе – 2000) и многое другое.

Но техническими новациями в одной только сфере транс-
порта немецкая компания не ограничилась.

116 январь-февраль 2021 системный администратор

ретроспектива Карьера/Образование

Bosch пополнился почти 4000 новых патентов. А в 2015-м со-
ответствующие цифры – более 6 млрд евро и почти 5,5 тысяч
патентов.

Bosch’шой бизнес

Сегодня Bosch – это не большой, а очень большой бизнес.
В последний предпандемийный год усилиями почти 400 тысяч
сотрудников холдинга выручка составила астрономическую
сумму в 78 млрд евро.

При этом, как уже говорилось, 92 % всех активов этой
группы компаний (кроме Robert Bosch GmbH там еще чис-
лится до полусотни дочерних предприятий и региональных
компаний в шести десятках стран) принадлежит благотвори-
тельному фонду Robert Bosch Stiftung. Управлением компании
данный фонд не занимается, а осуществляет финансовую

В последний предпандемийный слияния прежних «бензинового» и «дизельного» и представ-
год у силиями почти 400 тысяч ленное брендами AutoCrew, Bosch Car Servis, ITK Engineering,
сотрудников холдинга выручка Robinair, HC Cargo, Zexel, ETAS, приносит компании бо-
составила а строномическую лее 60 % выручки от всех продаж. Это технологии прямого
сумму в 78 млрд евро впрыска топлива, периферийные устройства для трансмис-
сии (для двигателей внутреннего сгорания) и различные ре-
поддержку в традиционных (для благотворительности) об- шения по электрификации последней, а также для системы
ластях – таких как образование, здравоохранение, взаимо- безопасности и помощи водителю, системы информирова-
понимание между народами, культура и наука. Таково было ния и развлечения пассажиров, системы автомобильной
завещание Роберта Боша, оставившего 7 % акций своим связи (автомобиль – автомобиль и автомобиль – инфраструк-
наследникам и лишь 1 % – собственно компании Robert тура), оборудование для ремонтных мастерских, для рынка
Bosch GmbH. автозапчастей и оборудования.

В целом же деятельность Robert Bosch GmbH развивается Кроме того, начиная с 2011 года, Bosch в рамках совмест-
по четырем главным направлениям. ного предприятия с Daimler AG – EM-motive разрабатывала
электромоторы на упомянутом выше заводе в Хильдесхайме,
1. Технологии и компоненты для автомобильной про- а в прошлом году, выкупив у партнера его долю, установила
мышленности. Это направление, возникшее в результате полный контроль над этим производством. А еще раньше,

в 2008-м, компания Bosch создала другое
совместное предприятие – SB LiMotive,
на сей раз с южнокорейской Samsung
SDI – по производству литий-ионных ба-
тарей для «гибридного» автотранспорта.

2. Промышленные технологии (до 14 %
всей выручки). Представлено дочерней
компанией Bosch Rexroth (приводы и ав-
томатизированные решения и системы
для промышленности) и подразделениями
Drive and Control Technology (оборудова-
ние для заводских автоматизированных
линий) и Bosch Packaging Technology
(разработка и установка упаковочного
оборудования для фармацевтической
и пищевой промышленности).

В позапрошлом году было созда-
но еще одно подразделение – Bosch
Connected Industry для развития софта
и продвижения проекта Industry 4.0 –
иначе говоря, «четвертой промышленной
революции», связанной с массовым вне-
дрением киберфизических систем в про-
изводство и обслуживание человеческих

системный администратор январь-февраль 2021 117

Карьера/Образование ретроспектива

потребностей, включая быт, труд Это и известные у нас «умный дом» (от Ivideon), «умный
и досуг. транспорт» (пресловутая система «Платон»), «умный город»
(«Яндекс. Пробки»), «умные часы-доктор» (Apple Watch)...
3. Потребительские товары К прошлому «пандемийному» году количество устройств,
(до четверти всей выручки). Этот подключенных к Интернету, по подсчетам компании Cisco,
бизнес-сектор представлен такими достигло 50 миллиардов. То есть где-то по 7 устройств
брендами как Hawera, Skil, Dremel, на каждого жителя планеты, включая младенцев и глубо-
RotoZip, Freud, Vermont American, ких стариков.
Gaggenau, Neff, Thermador,
Constructa, Viva, Ufesa и др. Кон- Разумеется, немецкая компания не могла не отметиться
кретно это производство электро- на этом «празднике жизни».
инструментов для строительной
отрасли, промышленности и домаш- Для этого было создано особое подразделение Bosch
него пользования, садовая и изме- Software Innovations, перед сотрудниками которого постави-
рительная техника, бытовая техни- ли задачу перейти от «теоретизирования на перспективу»
ка (посудомоечные машины, плиты, к практическому внедрению и конкретной помощи бизнесу
стиральные и сушильные автоматы, в процессе «цифровой трансформации». Этой же цели
холодильники, пылесосы, кофевар- способствует и развиваемое в подразделении машинное
ки и проч.). обучение (machine learning) – «класс методов искусственного
интеллекта, характерной чертой которых является не прямое
4. Строительные технологии решение задачи, а обучение в процессе применения реше-
и энергетика (до 7 % всей вы- ний множества сходных задач» (Википедия).
ручки). Представлено подразде-
лениями Bosch Thermotechnology Пока это звучит достаточно туманно («заоблачно» – во всех
(энергоэффективное отопительное смыслах) для неспециалиста. Но ясно, что утопиями и фантази-
оборудование для горячего водо- ями практичные немцы заниматься не собираются. Во всяком
снабжения, кондиционеры), Bosch Security Systems (системы случае на сегодняшний день сеть Bosch.IO состоит из почти ты-
видеонаблюдения и управления доступом, включая охранные сячи экспертов по цифровизации и IoT, разбросанных по всему
и пожарную сигнализацию, системы аудио- и конференц- миру. И связанных с 30 тысячами специалистами в самой
компании, о профессиях которых еще десяток лет назад мало
На протяжении последнего кто слышал: разработчик облачных технологий, «архитектор
десятилетия руководство решений» (solution architects), проект-менеджер, UX-дизайнер,
Robert Bosch GmbH уделяет «инноватор бизнес-модели» (business model innovator)…
повышенное внимание
Интернет-технологиям. Так что, имея за спиной более чем полуторавековое про-
Особенно «Интернету вещей» шлое, Bosch смело смотрит в будущее.  EOF 

связи, удаленный мониторинг), Bosch Global Service Solutions Ключевые слова: Robert Bosch GmbH, компания, система зажига-
(услуги аутсорсинга для бизнеса, главным образом в ав-
томобильной промышленности, туриндустрии, логистике, ния, многопрофильный концерн, комплектующие, интернет-техно-
информации и коммуникаций).
логии, Интернет вещей, искусственный интеллект
Интернет вещей – для людей

Кроме того, к последнему из указанных направлений отно-
сятся самостоятельные компании Bosch Energy and Building
Solutions GmbH (энергосберегающие технологии для коммер-
ческих зданий) и Robert Bosch Smart Home GmbH, название
которой говорит само за себя.

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

На протяжении последнего десятилетия руководство
Robert Bosch GmbH уделяет повышенное внимание Ин-
тернет-технологиям. Особенно – «модному» (во всяком
случае, бурно развивающемуся) ныне направлению – «Ин-
тернету вещей» (Internet of Things – или сокращенно IoT).

118 январь-февраль 2021 системный администратор

НАУКА
И ТЕХНОЛОГИИ

120 Анализ существующих
автоматизированных систем обучения
и их роль в процессе обучения
студентов в высших учебных
заведениях

124 Разработка программных
средств увеличения изображений
с использованием их фрактальных
свойств

128 СУБД класса NoSQL
130 Организация управления

компьютерным узлом инфраструктуры
современного предприятия на основе
методов стохастической аппроксимации
134 Программа для вычисления площади
фигуры сложной конфигурации
разными способами
138 Применение языков программирования
высокого уровня JavaScript и Prolog
для аналитического моделирования
многоканальной системы массового
обслуживания

Наука и технологии

Люлява Д.В., с тудент РТУ МИРЭА, [email protected] Тебинов Н.С., с тудент РТУ МИРЭА, [email protected]
Дуксин Н.А., студент РТУ МИРЭА, [email protected] Шепухин Д.О., студент РТУ МИРЭА, [email protected]
Гушель В.О., студент РТУ МИРЭА, [email protected] Долидзе И.И., с тудент РТУ МИРЭА, [email protected]

Анализ существующих
автоматизированных систем обучения

и их роль в процессе обучения студентов в высших
учебных заведениях

В предложенной работе рассмотрены основные методы проверки знаний обучающегося,
проанализированы существующие автоматизированные системы обучения, проведено
сравнение между ними, отдельно выделена система АСО «Аврора» как альтернатива
существующим системам АСО, проведен ее подробный анализ, сделан вывод
о ее достоинствах и недостатках, исходя из результатов попытки внедрения данной системы
для обучения в высших учебных заведениях

Введение может позволить себе обзавестись персональным компьютером (ПК),
Сегодня можно точно утверждать, что рано или поздно автомати- но любой человек может зайти в магазин и купить бумагу и пишущие
зация будет задействована во всех сферах жизни человека. В сто- принадлежности, поэтому подобный способ остается популярным
роне не осталась и сфера образования. Хотя долгое время в ней ис- и по сей день. Выше рассмотренные методы хоть и сильно распро-
пользовались традиционные методы обучения, уже сейчас многие странены, в нынешнее время от них всё больше начинают отказы-
процессы в данной сфере подверглись автоматизации. Однако одна ваться в силу определенных недостатков. Среди наиболее заметных
из важнейших частей обучения, а именно, проверка знаний обуча- можно отметить отсутствие возможности автоматизированной про-
ющегося, по-прежнему остается весьма консервативной. верки работ. В рамках 20–50 работ ручная проверка еще является эф-
фективной, но что говорить, когда количество работ исчисляется сот-
В высших учебных заведениях на постоянной основе прева- нями, и даже наилучший преподаватель с огромным стажем работы
лируют методы ручного выполнения и ручной проверки заданий может уставать и совершать ошибки. Несмотря на то, что за послед-
различного рода. Работы в большинстве своем оформляются на ли- ние 10 лет работники ИТ-сферы в области распознавания объектов
стах бумаги в письменном виде с использованием канцелярских достигли серьезных успехов, всё равно существует множество проб-
принадлежностей, затем они складываются в стопку и попадают лем, из-за которых порой невозможно однозначно идентифицировать
к преподавателю, при этом стопка весьма немалая. ручные записи. К тому же использование такого рода решений зача-
стую связано со значительными (порой необоснованными) тратами
При проверке преподаватель вынужден тратить неоправданно денежных средств. Также можно отметить и другие трудности, встре-
большое количество времени на второстепенные действия, например: чающиеся при проверке работ: сложность передачи работы вживую
распознавание почерка, сортировка бумажных носителей, преодоле- (это не всегда возможно, актуальный пример – во время пандемии,
ние различных неудобств, связанных с доступом к информации и про- что показала практика 2020 года; сложность транспортировки в слу-
чее. В связи с этим, учитывая сжатые сроки проверки (порой ее не- чае необходимости проверки вне учебного заведения; сложности, свя-
обходимо выполнить в день сдачи работы), у преподавателя остается занные с учетом и контролем деятельности преподавателя и студента;
мало времени на непосредственно сам процесс проверки работ. а также неэффективное использование времени на занятии и прочее.

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

120 январь-февраль 2021 системный администратор

Наука и технологии

В связи с этим возникает необходимость в создании систем ав- Однако в подавляющем большинстве высших учебных заведе-
томатизированной проверки, позволяющих решить большинство
проблем проверки вручную. Также необходимо создавать специ- ний пока используются зарубежные системы, в основном, Moodle
ализированные АРМ – для решения проблем, связанных с процес-
сом обучения. Эти два типа систем не существуют порознь, а слу- или Blackboard Learn, поскольку они имеют свободную лицензию и от-
жат частями единой системы – системы управления обучением.
Такие системы еще называют автоматизированными системами крытый исходный код, кроме того, эти системы с легкостью могут быть
обучения (АСО) или системами дистанционного обучения (СДО),
однако последнее определение не совсем корректно, поскольку развернуты на внутренних компьютерах/серверах учебного заведения.
эти системы могут также использоваться и для очного обучения
при наличии необходимого оборудования. Помимо этого, в некоторых вузах сейчас начинают внедрять

Существующие автоматизированные системы такие приложения как Webinar или Zoom, однако они не позици-
обучения
Сегодня на рынке программного обеспечения существует множе- онируются как АСО, вследствие чего с их помощью нельзя пол-
ство систем управления обучением, причем как от именитых про-
изводителей, так и от небольших частных компаний. Большинство ноценно реализовать учебный процесс. Эти программы имеют
из этих систем ориентированы на обучение персонала в сфере ма-
лого, среднего или крупного бизнеса, в связи с чем примерно 90 % ограниченный функционал и могут использоваться только для про-
из них являются проприетарными.
ведения занятий в формате видеоконференции.
Тем не менее в этих системах можно выделить функционал,
подходящий для расширения возможностей АСО для учебных за- Поэтому остановимся на ранее упомянутых системах и в ка-
ведений, а именно:
честве примера возьмем систему управления обучением Moodle.
• гибкая настройка интерфейса клиента системы с возможно-
стью изменения стилей и цветов, а также наличие специальных Перечислим ее основные достоинства и недостатки.
режимов для обучающихся с проблемами зрения или слуха;
• Достоинства системы:
• индивидуальные программы для каждого обучающегося; »» Универсальность, т.е. создатели не накладывают ограни-
• наличие тренажеров для совершенствования практических чений на тематику курсов обучения.
»» Возможность создавать собственные наборы тестовых за-
навыков обучающихся; даний с возможностью автоматизированной проверки.
• возможность проводить обсуждение между студентами и пре- »» Возможность добавлять лекционные и методические ма-
териалы к учебному курсу.
подавателем по теме лекции или конкретному заданию; »» Возможность проводить опросы для обучающихся.
• возможность совместной работы преподавателей в рамках »» Наличие подсистемы для аналитики процесса обучения,
а также предоставление статистических данных по актив-
одной дисциплины;
• использование игровых подходов в обучении, например, сис- ности студентов в рамках работы в системе.
»» Низкие требования к ПК для развертывания.
темы достижений и наград за особые успехи обучающегося; »» Программная поддержка как самими разработчиками,
• возможностьпроведениявебинароввнутрисистемыобучения;
• привязка задач к дате и времени с возможностью оповещения так и членами внутреннего сообщества.

о выдаче и контроля над выполнением; • Недостатки системы:
• возможность доступа к системе с мобильного устройства. »» Проверка знаний возможна только в формате тестовых за-
Такие системы как TalentLMS, Docebo, LearnUpon LMS, даний, в связи с этим может наблюдаться низкая эффек-
Mindflash, Coursera и др. получили широкое распространение за ру-
бежом и хорошо зарекомендовали себя в сфере бизнеса, однако они тивность оценки знаний обучаемых.
плохо адаптированы для проведения курсов в учебных заведениях. »» Расширение возможностей платформы доступно только
Такие системы как Moodle, Scolera, Blackboard Learn, Google
Classroom, Open edX LMS, Canvas и др. лучше подходят для образо- с использованием сторонних модификаций сообщества.
вания, вследствие чего они весьма прочно закрепились в этой обла- »» Неполный контроль за действиями обучающихся внутри
сти, при этом наряду с платными услугами системы предоставляют
и бесплатный пакет, что позволяет использовать их даже при малом системы.
бюджете организации. В России также ведутся разработки систем »» Неоправданно большой объем предоставляемого функци-
управления обучением. Для реализации таких программных про-
дуктов в государственном и частном секторах необходимо, чтобы онала при невозможности выборочного использования.
они соответствовали федеральным законам № 152-ФЗ «О персо-
нальных данных» и № 242-ФЗ «О внесении изменений в отдельные Исходя из анализа, можно сделать вывод о том, что Moodle
законодательные акты Российской Федерации по вопросам приме-
нения информационных технологий в сфере охраны здоровья», и схожие с ней системы имеют ряд недостатков, которые являют-
а также входили в Единый реестр российских программ.
Среди систем для корпоративных задач, разработанных в Рос- ся критическими для полноценного внедрения в учебный процесс
сии, можно выделить такие как iSpring Learn, eTutorium LMS, Кри-
сталл, MirapolisLMS, Teachbase и др., для образовательных задач – в большинстве учебных заведений.
Diskurs, Яндекс.Школа, Ё-Стади и др.
Более того, каждое учебное заведение имеет ряд особенностей,

которые универсальная система учесть не может, вследствие чего

системы, носящие локальный характер, в каждом конкретном слу-

чае будут занимать более выигрышную позицию относительно

универсальных.

Сегодня в некоторых российских вузах существуют собствен-

ные локальные системы, разработанные преподавателями и сту-

дентами с целью оптимизации учебного процесса.

Например, в Рязанском государственном радиотехническом

университете для ведения рейтинговой системы оценивания была

разработана автоматизированная система контроля знаний сту-

дентов, в основе которой лежат оценка обучающихся с помощью

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

Похожая система была разработана в Белгородском государст-

венном национальном исследовательском институте. Система пред-

ставляет собой веб-приложение, связанное с СУБД, с помощью

которого студент может зайти в личный кабинет, посмотреть собст-

венную статистику выполнения работ, а также пройти тестирование.

системный администратор январь-февраль 2021 121

Наука и технологии

По большому счету, существующие локальные системы обуче- что при определенной доработке он подойдет и для использования
ния не имеют серьезных преимуществ в сравнении с универсаль- в других дисциплинах, рассмотрим его более подробно.
ными, как Moodle или Blackboard Learn, при этом у них есть ряд
недостатков, которых универсальные системы лишены. Процесс выполнения задания представляет собой поэтапную
разработку некоего программного приложения (по водопадной мо-
Система АСО «Аврора» как система управления дели). Этапы выполнения связаны между собой и построены таким
обучением образом, чтобы максимально подробно отразить процесс разработ-
В противовес рассмотренным локальным системам можно поста- ки программы: от постановки задачи до готовой реализации с не-
вить АСО «Аврора», созданную в 2018 году в университете РТУ обходимой отчетностью.
МИРЭА. Данная система еще дорабатывается, но уже сейчас она
имеет ряд интересных особенностей, делающих ее уникальной Выполнение каждой задачи начинается с определения того,
в своем роде. Среди них можно отметить: что необходимо сделать. За это отвечает постановка задачи на ра-
боту. Ознакомившись и разобравшись в сути задачи, важно опре-
1. Возможность создания и модификации различных типов за- делить перечень инструментов, с помощью которых задача будет
даний, отличных от формата тестирования. решаться, т. е. определить метод.

2. Многообразие инструментов для выполнения заданий. Оно Следующим важным этапом является разработка последова-
позволяет, с точки зрения структуры, корректно отобразить про- тельности действий для решения задачи, т. е. составление алгорит-
цесс выполнения задания и практически в полной мере имитиро- ма. В рамках АСО «Аврора» для этого можно воспользоваться раз-
вать привычные для этого методы представления информации. личными формами представления вплоть до графического.

3. Возможность эффективной тренировки студентов перед вы- После завершения аналитической части разработки обучающий-
полнением основного набора заданий. ся переходит к реализации своего решения. Для этого ему предо-
ставлена среда разработки. После написания кода студент может
4. Наличие входного и завершающего тестирования. перейти к составлению перечня испытаний работоспособности го-
5. Проведение лекций в формате видеоконференции. тового программного продукта. При этом тестирование происходит
6. Возможность совместной работы нескольких преподавателей в автоматическом режиме без непосредственного участия человека.
в рамках одной дисциплины.
7. Усовершенствованная система контроля над выполнением По окончании испытаний студент может воспользоваться ин-
заданий, позволяющая следить за активностью студента в режиме струментом автоматической генерации отчетного материала с по-
реального времени. следующей отправкой готовой работы на проверку преподавателем.
8. Предоставление актуальных статистических данных.
9. Автоматическая генерация отчетных материалов. Особенности построения системы позволяют безболезненно пе-
10. Интуитивно понятный интерфейс. рейти к гибкой методологии разработки, что является важной частью
адаптации системы под изменяющиеся условия в современном мире.
АСО «Аврора» разработана таким образом, чтобы при рабо-
те с ней студент был максимально сосредоточен на выполнении Структура АСО «Аврора»
своего задания, минимизируя влияние внешних факторов. Каждо- АСО «Аврора» разделена на несколько различных подсистем, каж-
му студенту предоставляется индивидуальное пространство, где дая из которых отвечает за определенную часть учебного процесса.
он независимо от других, в удобном ему режиме может осуществ- Ниже представлен список подсистем:
лять необходимые в учебном процессе действия. Также личное
пространство предоставляется преподавателю, ответственному • АРМ методиста.
за выдачу заданий и проверку отчетности по работам, и методисту, • АРМ преподавателя.
ответственному за разработку курса заданий. • АРМ студента.
• АРМ администратора.
Учебный процесс с использованием данной системы построен • Серверная часть.
следующим образом. Преподаватель читает лекцию студентам, Подсистемы содержат в себе функции, необходимые для каж-
причем он может делать это как в традиционном (очном) формате, дой из ролей в учебном процессе. Все подсистемы взаимосвязаны
так и в формате вебинара в рамках АСО с возможностью обще- друг с другом, каждая из них имеет встроенную авторизацию.
ния со студентами. Во время семинарских занятий и лабораторных Далее описан функционал подсистем АРМ методиста, препода-
практикумов преподаватели открывают доступ к конкретным за- вателя, студента и серверной части.
даниям, после чего студенты приступают к их выполнению. После
выполнения работы происходит автоматическая генерация отчета АРМ методиста
с возможностью исправления найденных ошибок. Далее студенты • Просмотр личного кабинета.
отправляют выполненное задание и отчет по нему на сервер. • Подготовка лекционно-справочных материалов.
• Подготовка вопросов для тестирования.
Первоначально происходит автоматическая проверка реше- • Подготовка лабораторно-практических работ.
ния системой. Если решение не проходит эту проверку, то препо- • Подготовка заданий для курсовых работ.
даватель и студент получают сообщение об этом. Затем на основе
результатов автоматической проверки и прочтения отчета препо- АРМ студента
даватель может вернуть работу студенту с соответствующими ком- • Просмотр личного кабинета.
ментариями либо оценить задание. • Просмотр лекций.
• Просмотр справки.
Сейчас в системе АСО «Аврора» реализованы необходимые • Просмотр новостной ленты.
инструменты для проведения занятий по дисциплине «Програм- • Выполнение лабораторно-практических работ на тренажерах.
мирование», которая преподается студентам на 1-м курсе РТУ • Выполнение лабораторно-практических работ на отметку.
МИРЭА. Поскольку подход к данной дисциплине выработан так, • Выполнение курсовых работ на отметку.

122 январь-февраль 2021 системный администратор

Наука и технологии

АРМ преподавателя система практически не выдавала серьезных сбоев, а если они и слу-
• Просмотр личного кабинета. чались, то накопившиеся за учебный период материалы сохранялись
• Управление учебным процессом согласно расписанию. без потерь, а система в автоматическом режиме восстанавливалась.
• Ведение лекций. При этом система позволила кардинально оптимизировать учеб-
• Просмотр новостной ленты. ный процесс: если раньше студенты за весь курс успевали решить
• Назначение студенту лабораторно-практического задания. до пяти задач, то сейчас этот объем увеличился примерно вчетверо.
• Назначение студенту курсовой работы.
• Проверка отчета по лабораторно-практической работе. Также благодаря частично автоматизированной проверке работ
• Предварительная проверка отчета по курсовой работе для до- у преподавателя появилось больше времени на индивидуальное
пуска к защите. общение со студентами для ответов на вопросы. Во время панде-
• Оценивание работы студента. мии 2020 года работа с системой без особых сложностей перешла
• Закрытие доступа студенту к лабораторно-практической работе. в дистанционный режим, и даже в такой непростой период студен-
• Просмотр статистики группы/студента. ты и преподаватели смогли продолжать работу в системе.

Серверная часть Подводя итог, можно сказать, что систему АСО «Аврора» по пра-
• Ведение архива описания задач, теоретических материалов, ву можно считать конкурентоспособной на фоне существующих
видеокурсов, статистики, данных относительно выполнения сегодня автоматизированных локальных систем обучения. Быть мо-
заданий. жет, пройдет некоторое время, и система примет глобальный харак-
• Проверка выполнения задания. тер в отношении полноценного внедрения в учебный процесс.  EOF 
• Ведение данных относительно учебного процесса, участни-
ков, расписаний, новостной ленты и проч. [1] Путуридзе З.Ш., Данилович Е.С., Кошкин Р.О., Хромов Д.Р., Кри-
вошея М.С., Панкратов А.В. Система автоматизации организации
Такое разделение позволяет эффективно оптимизировать учеб- и проведения практических занятий // Современные информационные
ный процесс, предоставляя каждому его участнику возможность технологии в управлении и образовании. НИИ «Восход». Сборник на-
работать обособленно друг от друга. Модульность системы при по- учных трудов. 19 апреля 2018. С. 317; М., 2018.
мощи небольших усилий позволяет расширить список дисциплин.
[2] Горюнов И.В., Дьяков С.Н. Автоматизированная система контроля
Помимо расширения такое построение системы полностью со- знаний студентов. Вестник Владивостокского государственного уни-
ответствует критериям учебного процесса и предусматривает со- верситета экономики и сервиса, 2013.
вмещение ролей участников процесса (преподаватель, методист).
Выделение подсистемы, связанной именно с методистом, позволя- [3] Минкин И. В. СИСТЕМА АВТОМАТИЧЕСКОЙ ПРОВЕРКИ ЛА-
ет минимизировать влияние индивидуальных особенностей препо- БОРАТОРНЫХ РАБОТ ПО ПРОГРАММИРОВАНИЮ // Молодежь
давателей, что приводит к большей унификации образовательного и наука: Сборник материалов VI Всероссийской научно-технической
процесса. конференции студентов, аспирантов и молодых ученых [Электронный
ресурс]. Красноярск: Сибирский федеральный ун-т, 2011.
Текущая разработка АСО «Аврора»
Как уже упоминалось ранее, сейчас система находится на стадии [4] Moodle Docs 3.10 [Электронный ресурс] // URL: https://docs.
активной доработки. Несмотря на ряд преимуществ в сравнении moodle.org/310/en/Main_page (дата обращения: 27.12.2020)
с другими локальными системами, АСО «Аврора» имеет опреде-
ленные проблемы, связанные с оптимизацией работы клиента и не- Ключевые слова: автоматизированное рабочее место (АРМ), автоматизи-
которыми техническими особенностями системы. рованная система обучения (АСО), система управления обучением (СУО),
система дистанционного обучения (СДО), программное обеспечение (ПО)
Также к недостаткам можно отнести отсутствие возможности
распространения в других вузах, отсутствие обратной связи с раз- Analysis of existing automated educational systems and their role in the
работчиками и удобной системы отладки для единственной реали- process of teaching students in universities
зованной сейчас дисциплины – «Программирование».
Lyulyava Daniil, RTU MIREA Student, [email protected]
Уже сегодня многие проблемы решаются разработчиками. В до- Duksin Nikita, RTU MIREA Student, [email protected]
полнении к этому функционал программы планируется регулярно Gushel Vasiliy, RTU MIREA Student, [email protected]
обновлять в следующих направлениях: Tebinov Nikita, RTU MIREA Student, [email protected]
Shchepukhin Denis, RTU MIREA Student, [email protected]
• усовершенствование раздела лекционно-теоретических мате- Dolidze Ilona, RTU MIREA Student, [email protected]
риалов;
Abstract: This article focuses on the main methods of checking the
• расширение набора инструментов для выполнения работы; student's knowledges and analyzing of the existing automated education
• расширение перечня доступных дисциплин (добавление дис- systems (AES) and differences between them. Also, in this article the
automated education system "Aurora" is presented as alternative to the
циплины «Информатика»); existing AESs. Based on analysis of this system, a conclusion was made
• добавление новых типов работ (например, экзаменационная about its advantages and disadvantages in cases of its implementation in
universities for educational purposes.
работа);
• усовершенствование подсистем статистики и аналитики. Keywords: automated education system (AES), automated workplace,
learning management system (LMS), distance education system, software
Выводы
На протяжении двух лет активного использования в рамках дис-
циплины «Программирование» в университете РТУ МИРЭА АСО
«Аврора» показала себя очень достойно. За всё время эксплуатации

системный администратор январь-февраль 2021 123

Наука и технологии

Ильичев В.Ю., к .т.н., Калужский филиал ФГОУ ВО «Московский государственный технический университет имени Н.Э. Баумана
(национальный исследовательский университет)», [email protected]

Разработка программных средств

увеличения изображений с использованием
их фрактальных свойств

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

Введение Ключевым моментом осуществляемых алгоритмов является
В последнее время появляется всё больше способов использования выделение из матрицы значений пикселей исходного изображения
теории фракталов [1]. Это объясняется тем, что большое количест- блоков определенного размера (названных доменами, также пред-
во явлений и процессов в природе обладают свойствами самопо- ставляющими из себя матрицы), из которых в дальнейшем форми-
добия, соответственно во многих случаях эти свойства могут быть руется увеличенное изображение. При этом мелкие детали изобра-
успешно использованы для математического моделирования. жения как бы «восстанавливаются» за счет фрактальных свойств
доменов, в предположении, что мелкие блоки изображения подоб-
Фрактальная теория успешно используется в математике, фи- ны крупным.
зике, биологии, социологии, искусстве и в других науках, а также
для разработки новых практических методик проектирования из- На рис. 1 показан пример разбиения области исходного изо-
делий, создания новых эффектных форм дизайна [2], объяснения бражения размером 20×20 пикселей на доменные блоки разме-
строения окружающего мира, политических процессов и т. д. ром 4×4 пикселя.

Целью данной работы являлась разработка методов применения Домены выделены жирными линиями. В данном случае вся ма-
элементов фрактальной теории для улучшения качества растровых трица значений пикселей исходного изображения разбита на 25 до-
изображений при увеличении их размеров [3]. При этом ставилась менных блоков.
задача разработки такого математического аппарата преобразований
исходного изображения, который будет являться достаточно простым Рисунок 1. Разбиение исходного изображения на доменные блоки
и наглядным для непрофессионалов в области обработки данных.

Еще одна задача – сравнение результатов, получаемых при ре-
ализации разных вариантов фрактального преобразования [4, 5]
с традиционным увеличением изображения путем «размножения»
пикселей.

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

Идея рассматриваемых методов состоит в использовании
для формирования нового, увеличенного изображения не отдель-
ных пикселей, а целых блоков исходного изображения (доменов).
Тем самым априори предполагается наличие в исходном изобра-
жении свойств фрактальности – подобия элементов графической
информации, имеющих разные размеры.

Достаточно доступно данная концепция изложена в книге [6].
На ее основе и разрабатывались конкретные алгоритмы фракталь-
ного преобразования информации.

Методы исследования
Разработанные методы основаны на представлении исходного изо-
бражения в виде матрицы, а дальнейшие операции представляют
из себя преобразования матриц.

124 январь-февраль 2021 системный администратор

Наука и технологии

Рассмотрены два варианта преобразований для увеличения ис- Преобразование файла изображения в матричную форму, под-
ходного изображения: ходящую для обработки (и обратное превращение матрицы чисел
после всех операций над ней в файл изображения), осуществля-
1. Пиксели исходного изображения непосредственно заменяют- лось с использованием еще одной библиотеки – Matplotlib [9].
ся на доменные блоки размером 2×2.
После разработки методов увеличения изображений необходи-
2. Пиксели исходного изображения «размножаются» (такой ме- мо составить алгоритм их последовательной реализации с учетом
тод называют линейным преобразованием, при котором генериру- возможностей и особенностей выбранного языка программирова-
ются матрицы 2×2, содержащие одинаковые значения), затем бло- ния и его библиотек.
ки пикселей 4×4 заменяются на доменные блоки такого же размера.
Алгоритм первого метода увеличения изображения в 2 раза
В обоих случаях происходит увеличение исходного изображе- по каждой из осей состоит из следующих последовательно выпол-
ния в два раза по каждой из осей координат. няемых операций:

При указанных преобразованиях доменные блоки, заменяющие 1. Загрузка модулей Numpy и Matplotlib.
исходные, выбираются не произвольным образом, а по наименьше- 2. Чтение файла исходного изображения и преобразование
му среднеквадратичному отклонению значений соответствующих его в матрицу значений пикселей.
пикселей. 3. Создание доменного массива путем разбиения матрицы
на блоки 2×2.
Как видим, оба метода являются достаточно простыми для по- 4. Преобразование исходной матрицы на блоки 2×2 пикселя,
нимания, однако требуют создания и использования большого ко- каждый из которых заполняется четырьмя одинаковыми значени-
личества функций преобразования матриц. ями (линейное увеличение изображения).
5. Замена блоков 2×2 с одинаковыми значениями пикселей
Следует отметить, что любой фрактальный метод требует боль- на доменные блоки 2×2, среднеквадратичное отклонение значений
шого количества расчетов, поэтому данный класс исследований пикселей которых является наименьшим.
и начал развиваться только с появлением мощных компьютеров 6. Обратное преобразование блоков 2×2 в матрицу исходного
и совершенных средств программирования. В рассматриваемых размера.
случаях процесс вычислений также занимает много времени, 7. Преобразование полученной матрицы в файл изображения.
так как каждый исходный блок необходимо сравнивать с каждым
доменным блоком. Алгоритм второго метода увеличения изображения несколько
сложнее:
При большом количестве преобразований матриц понимание
программного кода возможно сохранить только при осуществле- 1. Начальные операции те же, что и у первого метода (пп. 1–4),
нии блочного принципа его построения (каждый вид преобразо- только доменный массив получается из исходного путем разбие-
вания матрицы должен осуществляться отдельно составленной ния на блоки 4×4.
функцией). Указанному требованию в полной мере отвечает очень
распространенный сейчас язык программирования Python [7], во- 2. Объединение блоков исходного изображения разме-
просы использования которого широко освещены как в литературе, ром 2×2 пикселя, каждый из которых состоит из 4 одинаковых зна-
так и на многочисленных площадках сети Интернет. чений исходного пикселя, в блоки 4×4.

Для решения задач преобразований матриц значений пикселей
исходного изображения и доменных блоков как нельзя лучше под-
ходит специальная библиотека Numpy языка Python [8].

Рисунок 2. Сравнение результатов увеличения исходного изображения путем «размножения» пикселей и путем применения первого разработанного
фрактального метода

системный администратор январь-февраль 2021 125

Наука и технологии

Рисунок 3. Сравнение результатов увеличения исходного изображения путем «размножения» пикселей и путем применения второго разработанного фрак-
тального метода

3. Замена полученных блоков 4×4 на доменные блоки 4×4, сред- При увеличении отчетливо видно, что изображение, получен-
неквадратичное отклонение значений пикселей которых является ное новым методом, отличается отсутствием размытия контуров
наименьшим. и четкостью. Однако при увеличении фотореалистичных изобра-
жений различие традиционного и разработанного метода не столь
6. Обратное преобразование блоков 4×4 в матрицу исходного заметно. Это можно объяснить низкой степенью использования
размера. фрактальных свойств исходного изображения, т. к. разработанный
метод достаточно несовершенен.
7. Преобразование полученной матрицы в файл изображения.
Некоторые пункты указанных алгоритмов являются достаточно Гораздо интереснее рассмотреть результаты применения второ-
интересными и неординарными при реализации в программных го, более совершенного, разработанного метода (рис. 3). Доменные
кодах на языке Python. Для проверки правильности выполнения блоки в данном методе больше по размеру, поэтому степень обна-
всех функций при разработке программ использовался искусствен- ружения подобия (фрактальных свойств) в исходном изображении
но созданный массив значений исходной матрицы (он остался за- гораздо выше.
комментированным в коде программы, реализующей второй алго-
ритм). В этом случае улучшение качества, увеличенного новым мето-
Коды созданных программ не представляется возможным пред- дом изображения, проявляется намного отчетливее – появились
ставить в статье из-за достаточно большого объема, поэтому они новые мелкие детали (окружности), которые отсутствуют на изо-
расположены для ознакомления на странице сайта автора [10]. бражении, полученном с помощью обычного линейного метода
При этом в текстах программ выделены все части вышеприведен- увеличения. Изображение получилось четким, без излишних арте-
ных алгоритмов. фактов.

Обсуждение результатов Более подробно рассмотреть представленные рис. 2 и 3 можно
Правильность исполнения составленных кодов была проверена на веб-странице [10]. Также у читателей есть возможность само-
на изображениях размером 256×256 пикселей, которые самими стоятельно испытать оба разработанных метода при обработке дру-
программами автоматически приводятся к изображениям в оттен- гих изображений с помощью представленных там же программ.
ках серого, с целью сокращения объема и времени вычислений.
Результаты увеличения изображений с помощью разработанных
На рис. 2 приведено сравнение исходного изображение, увели- методов показывают одно их неоспоримое достоинство – увеличе-
ченное обычным методом «размножения» пикселей (слева) и изо- ние четкости контуров. В случае применения второго рассматрива-
бражения, полученного путем исполнения программы, работаю- емого метода увеличенное изображение отличается от исходного
щей по первому методу фрактальных преобразований. Специально большей детальностью проработки.
выбрано контурное изображение, изначально обладающее фрак-
тальными свойствами. Внизу в рамках приведены дополнительно Однако применение данных методов при обработке сильно не-
увеличенные фрагменты для детального рассмотрения структуры однородных полутоновых изображений, не имеющих выраженных
полученной графики. фрактальных свойств, приводит к появлению излишней деталь-
ности, не свойственной таким изображениям. Но из этого факта
можно сделать еще одно важное заключение – описанные методы

126 январь-февраль 2021 системный администратор

Наука и технологии

подходят не только для улучшения качества некоторых изображе- [3] Тулякова М.С. Методы и алгоритмы сжатия графической информации //
ний при увеличении, но и для обнаружения «степени фрактально- Научно-технический вестник Санкт-Петербургского государствен-
сти» исходного изображения, т. е. того, насколько его мелкие дета- ного университета информационных технологий, механики и опти-
ли подобны крупным. ки. 2006. № 29. С. 141–144.

Таким образом, если увеличение детальности изображения [4] Кудрина М.А., Мурзин А.В. Аффинные преобразования объектов
не приводит к появлению искажений, а улучшает его, то данное в компьютерной графике // Труды международного симпозиума На-
изображение имеет свойство фрактальности. дежность и качество. 2014. Т. 1. С. 307–310.

Заключение и рекомендации [5] Лабинский А.Ю. Особенности фрактального сжатия изображений //
Рассмотрение множества обработанных образцов изображений Природные и техногенные риски (физико-математические и приклад-
позволяет сделать несколько важных выводов: ные аспекты). 2018. № 2 (26). С. 5–12.

1. Второй разработанный метод более совершенен, поэтому [6] Welstead S. Fractal and wavelet image compression techniques. – SPIE
первый метод применять для увеличения изображений вообще Publications. 1999. 254 p. DOI: 10.1117/3.353798.
не рекомендуется. Он хорошо подходит для демонстрации приме-
нения методов преобразования матриц значений пикселей, однако [7] Ильичев В.Ю., Юрик Е.А. Анализ массивов данных с использованием
фактически не выявляет фрактальные свойства изображений. библиотеки Pandas для Python // Научное обозрение. Технические на-
уки. 2020. № 4. С. 41–45.
2. Второй метод увеличения графики рекомендуется применять
для увеличения изображений с ярко выраженным подобием дета- [8] Ивина О.А. Программирование массивов с помощью Numpy // Донец-
лей малого и большого размера и может использоваться для визу- кие чтения 2020: образование, наука, инновации, культура и вызовы
ального выявления такого подобия. современности. 2020. С. 220–222.

3. Методы можно применять и для увеличения цветных изо- [9] Ильичев В.Ю., Гридчин Н.В. Визуализация масштабируе-
бражений, в этом случае каждый цветовой канал изображения мых 3D-моделей с помощью модуля Matplotlib для Python // Систем-
следует обрабатывать отдельно. В дальнейшем планируется осу- ный администратор. 2020. № 12 (217). С. 86–89.
ществление такой задачи – это может привести как к улучшению,
так и к ухудшению получаемых результатов обработки. [10] Коды программ увеличения размеров растровых изображений с ис-
пользованием их фрактальных свойств. [Электронный ресурс]. – URL:
4. Изучение описанных методов и программ может помочь http://turbopython.ru/fractal_increase (дата обращения: 20.01.2021).
при изучении различных видов преобразования матриц и осу-
ществления прочих рассмотренных операций с помощью языка [11] Дроботов А.С., Садовникова Н.П. Исследование возможности при-
Python, т. е. данное исследование преследует и образовательные менения фракталов для решения задач нелинейной оптимизации //
цели. Известия Волгоградского государственного технического университе-
та. 2008. № 8 (46). С. 28–30.
5. Разработанные методы являются простыми для понимания,
но в то же время продемонстрировали достаточно многообещаю- [12] Лагун А.В. Фракталы в экономике // Образование и наука без границ:
щие результаты, поэтому рекомендуется их дальнейшее развитие социально-гуманитарные науки. 2015. № 2. С. 307–309.
с помощью применения дополнительных алгоритмов, математиче-
ских и программных приемов [11]. [13] Молчатский С.Л. Топологическая и динамическая характеристики
нейронных ансамблей мозга как перколирующих фрактальных мно-
Основную цель данной работы, заключающуюся в разработке жеств // В мире научных открытий. 2017. Т. 9. № 4. С. 96–105.
методов, алгоритмов и программ для увеличения размеров изобра-
жений с одновременным улучшением их качества, можно считать [14] Потапов А.А. Турбулентность, фракталы и волны // В книге: Турбу-
выполненной. С помощью популярного языка программирования лентность, динамика атмосферы и климата. Международная конфе-
Python созданы программные коды для обработки графических ренция, посвященная столетию со дня рождения академика Алексан-
элементов, доступные для изучения и использования в своих раз- дра Михайловича Обухова. Сборник тезисов докладов. 2018. С. 211.
работках всеми желающими.
[15] Репин Д.С., Филаретов Г.Ф., Червова А.А. Исследование фрактальных
Выше даны рекомендации по применению полученных про- характеристик сетевого трафика // Информатизация образования и на-
грамм для обработки определенного типа изображений, а также уки. 2019. № 2 (42). С. 48–67.
для выявления их фрактальных свойств. Возможно внедрение раз-
работанных методов не только в отношении обработки графики, Ключевые слова: преобразование графики, фракталы, увеличение изобра-
но и для других типов данных, имеющих свойства самоподобия, жений, доменные блоки, операции над матрицами, язык Python
и даже выявления фрактальной природы экономических [12], био-
логических [13], физических [14], социальных и прочих структур Development of software tools to enlarge images using their fractal
и явлений [15]. properties

В качестве следующего шага совершенствования рассмотрен- Ilichev V.Yu., Ph. D. (Eng.), Associate Professor of MK3 department «Heat
ных методов увеличения изображений необходимо создать ал- engines and hydraulic machines», Kaluga Branch of Bauman Moscow State
горитмы использования доменных блоков других форм и разме- Technical University, [email protected]
ров.  EOF 
Abstract: Methods, algorithms and programs have been created that, when
[1] Дмитриев В.Л., Мухаметова А.К. Популярно о фракталах: Приме- enlarging images, allows to calculate their quality using detectable self-
similarity.
нение фракталов и обзор программ // NovaInfo.Ru. 2015. Т. 1. № 38.
Keywords: graphics conversion, fractals, image magnification, domain
С. 64–73. blocks, matrix operations, Python language.

[2] Семенихин Д.В. Применение фракталов в дизайне изделий // Наука

в центральной России. 2013. № 5. С. 17–22.

системный администратор январь-февраль 2021 127

Наука и технологии

Фролов А.В., с истемный администратор, отдел администрирования и слаботочных систем, ФГБОУ ВО «Морской государственный
университет имени адмирала Г.И. Невельского», Владивосток, [email protected]

СУБД класса NoSQL

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

Введение высокую доступность и массивный параллелизм, гарантируя вы-
Традиционные не масштабируемые и негибкие базы и системы уп- сокий уровень производительности. Новое поколение приложений
равления неэффективны при кластерной обработке в облачных ар- в области бизнес-аналитики, корпоративной аналитике, управле-
хитектурах[5]. Как правило, используется модель данных NoSQL, нии взаимоотношениями с клиентами, обработке документов, со-
не использующая SQL-доступ, инструментарий категории Open циальных сетей, облачных вычислений требуют горизонтального
Source. масштабирования тысяч узлов.

Разработана соответствующая модель данных (не противоре- Традиционные СУБД (для реляционных БД) не справляют-
чащих теореме САР) – NoSQL. БД под управлением СУБД класса ся с управлением в такой инфраструктуре: данные генерируются
NoSQL не используют SQL-доступ, как правило, они являются кла- интерактивно, одновременно востребованы множеством пользо-
стерными проектами категории Open Source [1–2]. вателей (распределенная обработка). Превышение возможностей
реляционных баз (см., например, рис.) заставляет сосредоточиться
В работе исследуются комплексно, системно проблемы исполь- на внедрении NoSQL, СУБД решающей проблемы масштабирова-
зования возможностей СУБД NoSQL. ния, производительности, как в реляционных вариантах, за счет
использования разделов, ослабления жестких протоколов согласо-
Системный анализ СУБД NoSQL ванности и распределения систем, которые могут охватить ЦОД,
Для удовлетворения растущих потребностей в управлении данны- безболезненно справляться со сценариями сбоев.
ми требуются решения, способные обеспечить масштабируемость,

Рисунок. Время выполнения операции обновления представителями класса NoSQL (PostgreSQL и MongoDB) [3]

128 январь-февраль 2021 системный администратор

Наука и технологии

Промышленная динамика и технические компетенции повы- не влияя на доступ к кластеру, обрабатывать онлайн-транзакции
сили спрос на качество, производительность продукции (товара, (резервное копирование, аварийное восстановление и др.).
услуги) и привели к автоматизации реальных процессов сборки,
производства путем манипулирования данными и объектами (клас- 4. Простота разработки. Реляционные базы данных требу-
сами), используя сбор, валидацию, структурирование, хранение, ют жесткой схемы. Если приложение изменить, то и схема БД
агрегирование, актуализацию и защиту данных в «плоских» (2D) должна измениться. NoSQL обладают рядом важных преимуществ,
файлах. позволяющих изменять структуру данных без ущерба приложе-
нию. Поддержка распределенной обработки больших объемов дан-
Плоская файловая БД описывает различные средства кодирова- ных требует адекватных схем обработки.
ния модели (например, табличные) в виде одного файла. Они пред-
ставлены двоичным файлом. Появление новых форм профилей трафика, основанных на со-
циальной сети, растущая популярность e-Commerce в сочетании
Стали неадекватными, не могли удовлетворять требованиям бе- с колебаниями трафика, привели к необходимости в быстро адап-
зопасности, не содержали никакой информации о данных, при ин- тирующейся инфраструктуре.
терпретации требовались дополнительные знания.
Массивный рост объемов данных, передаваемых через Ин-
Появилась реляционная теория, которая привела к развитию тернет в решения для хранения данных, может привести к тому,
СУБД как решения проблем, связанных с плоской системой. Повы- что трафик станет узким местом.
силась безопасность, СУБД смогли адаптироваться к значительно-
му росту данных. SQL – непроцедурный язык программирования, Популярность гибких методов разработки требует примене-
используемый для запросов, обновления БД реляционного типа. ния методов, обеспечивающих более высокую масштабируемость
Долгое время СУБД являлась предпочтительным методом управ- и производительность, чтобы идти в ногу с постоянно меняющейся
ления. технической средой.

Однако их неспособность справиться с современными рабочи- Заключение
ми нагрузками привела к проблемам масштабируемости, произво- Чтобы понимать данные, следует знать, что и как с ними мы же-
дительности и доступности при ее жестко схематическом проек- лаем сделать, следовательно, перейти к БД приложений, NoSQL.
тировании. Проделанный анализ обеспечит кластерное использование и про-
изводительность приложений при обмене данными.  EOF 
Предприятия во всем мире, включая Amazon, Facebook, Twitter
и Google, приняли новые способы хранения и масштабирования [1] Nayak A. Type of NoSQL databases and its comparison with relational
в Big Data [4]. NoSQL – класс СУБД, разработанных с учетом ситу- databases // International J. of Appl. Information Syst., 2013, v.5, No 4. –
аций, в которых СУБД не хватает. Он отличается от традиционных pp. 16–19.
реляционных баз данных тем, что не имеет схемы. Это главное,
что делает его пригодным для использования с неструктурирован- [2] Фаулер М., Садаладж П. NoSQL: Новая методология разработки не-
ными данными. реляционных баз данных. М.: ДМК-Пресс, 2013. 192 c.

«Движки» обычно предоставляют язык запросов, подмножество [3] Новиков Б.А., Левин М.Ю. Сравнительный анализ производительно-
того, что может сделать SQL, плюс некоторые дополнительные сти SQL и NoSQL СУБД // Компьютерные инструменты в образова-
возможности. Подход к NoSQL характеризуется гибкостью – в хра- нии. 2017. № 4. С. 48–63.
нении, манипулировании данными, производительностью и легко-
стью масштабирования. [4] Фролов А.В. Big data и инфраструктура актуализации данных судо-
вождения / Фролов А.В., Фролова Е.С. // Эксплуатация морского
БД NoSQL практически неограниченно масштабируемы. Одна- транспорта. 2019. № 4 (93). С. 45–47. DOI: 10.34046/aumsuomt93/8
ко выбор интерактивного веб-приложения может быть сложным.
Наиболее важными факторами являются: [5] Фролов А.В. Информационные технологии и модели облачных вычис-
лений / Фролов А.В. // Системный администратор. 2020. № 12 (217).
1. Масштабируемость. Принятие метода Sharding может быть С. 90–91.
полезным для достижения масштаба независимо от используемой
технологии БД. Шардинг использует горизонтальное разбиение, Ключевые слова: данные, управление, базы, NoSQL, анализ, системный
которое является принципом проектирования, при котором строки
таблицы БД хранятся отдельно, а таблицы могут быть расположе- NoSQL DBMS
ны на отдельном сервере, физически.
Frolov A.V., system administrator, administration and low-current systems
Быстрое масштабирование, по требованию и без каких-либо department, Federal state budgetary educational institution of higher
изменений приложений, стало определяющим фактором в веб- education "Maritime state university named after admiral G.I. Nevelskogo",
трафике. Конфликт ресурсов между серверами не страшен. Интел- Vladivostok, [email protected]
лектуальная параллельная обработка и максимизация ЦП/память
на экземпляр БД выполнены. Abstract: The NoSQL data model, which does not use SQL access, is being
activated more often now. The work carried out a systematic analysis of the
2. Производительность. Интерактивные приложения требуют capabilities of the NoSQL category.
очень низких задержек. Производительность достигается распре-
делением нагрузки между несколькими серверами. БД должна Keywords: data, management, databases, NoSQL, analysis, system.
обеспечивать стабильно низкие задержки независимо от нагрузки
и размера данных. Задержки (транзакции чтения-записи) в NoSQL
малы, данные между узлами активного кластера распределяются
релевантно, рабочее приложение – в памяти.

3. Доступность. Приложения в силу интерактивности требуют
доступности БД. Высокая доступность потребует возможности вы-
полнять обновления, с легкостью удаления узла для обслуживания,

системный администратор январь-февраль 2021 129

Наука и технологии

Ткаченко К.С., Ф ГАОУ ВО «Севастопольский государственный университет», г. Севастополь, Российская Федерация,
e-mail: [email protected]

Организация управления

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

Для совершенствования инфраструктуры современного предприятия требуются
возможности по свободной и взаимной передаче информации между подсистемами
предприятия и отдельными объектами этих подсистем. Регулирование процессов этой
передачи производится по результатам тестирования состояний бизнес-процессов
и подсистем. Бизнес-процессы предприятия могут при определенных условиях быстро
и динамично изменяться, поэтому и способы регулирования также должны в соответствии
с требуемыми модернизациями видоизменяться. Обеспечение бесперебойного доступа
к необходимым информационным ресурсам путем реорганизации процессов управления
на основе анализа функционирования структурных единиц требует реализации особых
программных системных решений. Для управления компьютерными узлами инфраструктур
современных предприятий могут применены методы стохастической аппроксимации.
Проекционные и беспроекторные алгоритмы стохастической аппроксимации позволяют
обеспечивать поддержку выбора варианта из конечного дискретного множества вариантов.
Известно большое количество алгоритмов стохастической аппроксимации, в том числе,
Нарендры – Шапиро, Льюиса, Варшавского – Воронцовой, Буша – Мостеллера, Назина –
Позняка и др. Их программная реализация ложится в основу программной системы
для поддержки принятия управленческих решений. Применение этой программной системы
повышает эффективность работы компьютерных узлов, за счет чего совершенствуется
компьютерная инфраструктуры промышленного предприятия.

На современном предприятии большое количество процессов, промышленного предприятия, проработки и детализации необхо-
в том числе и снабжение, требует использования информационных димых для этого планов. Это необходимо, поскольку бизнес-про-
технологий и методов информационной экономики [1]. Их приме- цессы могут при определенных условиях быстро и динамично
нение необходимо для согласования бизнес-процессов промыш- изменяться, поэтому и способы регулирования также должны в со-
ленного предприятия между собой и со внешней, по отношению ответствии с требуемыми модернизациями видоизменяться. Архи-
к предприятию, средой. Активное внедрение таких средств и раз- тектура используемых для этого компьютерных решений основана
витие бизнес-процессов может привести к развитию производ- на применении специализированных программных сервисов.
ственного потенциала предприятия и обеспечению его стабильного
экономического роста при одновременном укреплении матери- Малоэффективные и громоздкие системы управления промыш-
ально-технического оснащения фундамента совершенствования ленными предприятиями тормозят процессы совершенствования
предприятия. Для этого требуются возможности по свободной их внутренней информационной инфраструктуры [2]. В частнос-
и взаимной передаче информации между подсистемами предприя- ти, внутренние процессы взаимодействий от этого приобретают
тия и отдельными объектами этих подсистем. Регулирование про- нерационально возросшее количество дублированных функций.
цессов этой передачи производится по результатам тестирования Некоторые бизнес-процессы можно вынести за пределы инфра-
состояний бизнес-процессов и подсистем. Фильтрация передачи структуры предприятия, чтобы уменьшить нагрузку на вертикаль-
информации в режиме «точка – точка» («от каждого – к каждому») ное управленческое взаимодействие. Поддержка информационных
требует совершенствования информационной инфраструктуры технологий предприятия, включающих в себя как отдельные ком-
пьютеры, так и сложные сетевые системы, требует дополнительных

130 январь-февраль 2021 системный администратор

Наука и технологии

расходов на сопровождение. Реинжиниринг информационных Корректное функционирование перечисленных алгоритмов воз-
систем промышленного предприятия для обеспечения высокого можно в тех случаях, когда имеется конечное число N дискретных
качества их функционирования уменьшает возможные простои. вариантов выбора. Для организации управления непрерывный
Обеспечение бесперебойного доступа к необходимым информа- период времени T функционирования компьютерных узлов ин-
ционным ресурсам путем реорганизации процессов управления фраструктуры предприятия разбивается на n = 1, 2, … временных
на основе анализа функционирования структурных единиц требует интервалов фиксированной по продолжительности. Длительность
реализации особых программных системных решений. этих интервалов определяется экспертом. Каждому такому интер-
валу ставится в соответствие вектор xn = (x(1), …, x(N)). В этом
Обеспечение процессов совершенствования и трансформации векторе в случае, когда x(i)  =  1 происходит выбор i-го варианта,
инфраструктуры промышленных предприятий для повышения а при x(i) = 0 – не происходит. На n-м шаге выбирается один и толь-
их готовности к изменениям производится на основе количествен- ко один вариант.
ных оценок состояний их отдельных подсистем [3]. Анализ качества
функционирования отдельных компьютерных систем для выявле- Пересчет вектора выбора вариантов происходит по форму-
ния существующих недостатков обеспеченности инфраструктуры лам [4]:
предприятия может производиться по модельным количественным
оценкам. Обеспечение внедрений изменений в функционирование Для беспроекторных алгоритмов:
информационной инфраструктуры путем их структурных измене-
ний на основе полученных модельных оценок производится за счет pn+1 = pn - gnR(xn, pn, xn), (1)
корректировки выявленных факторов. Формирование необходи-
мых для этого инструкций и рекомендаций, приводящих к повы- Для проекционных алгоритмов:
шению эффективности деятельности предприятия, требует реше-
ния оптимизационных задач. Количественная оценка возможных pn+1 = p {pN - gnR(xn, pn, xn)},. (2)
изменений ложится в основу обратной связи, позволяющей произ- en+1 n
водить в реальном времени самоконфигурирование информацион-
ных инфраструктур промышленного предприятия. В формулах (1), (2) R(xn, pn, xn) = RN – вектор движения алгорит-

Поскольку достаточно часто управление компьютерными уз- ма, gn > 0 – скалярный множитель – длина шага, n = 1, 2, ... – номер
лами инфраструктуры производится на основе выбора вариантов
из конечного дискретного множества, то для этого можно приме- шага, pN – оператор проецирования Назина – Позняка, en ∈ 0, N-1) –
нять проекционные и беспроекторные алгоритмы стохастической en+1
аппроксимации [4–7]. Поэтому в дальнейшем будут рассмотрены
процессы организации управления компьютерным узлом инфра- параметр проектора pN на n-м шаге.
структуры современного предприятия на основе методов стохасти- en+1
ческой аппроксимации.
Для таких алгоритмов стохастической аппроксимации как На-
К основным алгоритмам стохастической аппроксимации (опти-
мизации) по Назину – Позняку относятся алгоритмы Нарендры – рендры – Шапиро, Льюиса, Варшавского – Воронцовой, Буша – Мо-
Шапиро, Льюиса, Варшавского – Воронцовой, Буша – Мостеллера,
Назина – Позняка, которые могут быть реализованы в виде состав- стеллера, Назина – Позняка существуют программные реализации
ляющей части программной системы для поддержки управленче-
ских решений [4]. Rn [4, 6]. Для решения задачи организация управления компьютер-
ным узлом инфраструктуры современного предприятия на основе

методов стохастической аппроксимации используется разработан-

ная программная система с графическим интерфейсом пользовате-

ля, перечень функций которой составляет [5]: реализация расчета

описательных статистик для сформированных системой данных;

реализация единственного шага алгоритма стохастической аппрок-

симации (Нарендры – Шапиро, Льюиса, Варшавского – Воронцо-

вой, Буша – Мостеллера, Назина – Позняка и др. [4]); оценка теку-

щих и средних значений бинарных и небинарных потерь; выбор

варианта методом деления отрезка; выполнение перечисленных

выше функций для заданного числа шагов и заданных параметров

Рисунок 1. Результаты расчетов в графическом интерфейсе пользователя

системный администратор январь-февраль 2021 131

Наука и технологии

Рисунок 2. График функций средних потерь в графическом интерфейсе пользователя

алгоритмов стохастической аппроксимации; поддержка пользова- [6] Ткаченко К.С. Программная система для выбора вариантов на основе
тельского интерфейса. проекционных и беспроекционных алгоритмов // Системы контроля
окружающей среды. 2016. № 3 (23). С. 59–62.
На рис. 1 изображаются результаты расчетов в графическом ин-
терфейсе пользователя, на рис. 2 – график функции средних потерь [7] Ткаченко К.С. Программная система адаптивного принятия решений
для случая использования алгоритма Назина – Позняка в разрабо- при априорной неопределенности входных данных // Вестник СевН-
танной системе. ТУ. 2012. № 131. С. 78–81.

Предлагаемая программная система позволяет на основе реали- Ключевые слова: компьютерный узел, управление, стохастическая аппрок-
зованных алгоритмов стохастической аппроксимации производить симация, поддержка принятия решений, программная система
выбор управляющих воздействий на компьютерные узлы инфра-
структуры современного предприятия для уменьшения предель- Organization of control of a computer node of a modern enterprise
ных значений средних значений текущих потерь. infrastructure based on stochastic approximation methods

Выводы Tkachenko K.S., FSAEI НЕ “Sevastopol State University”, Sevastopol,
В работе были рассмотрены процессы организации управления Russian Federation, e-mail: [email protected]
компьютерным узлом инфраструктуры современного предприя-
тия на основе методов стохастической аппроксимации. Органи- Abstract: Improving the infrastructure of a modern enterprise requires the ability
зация управления производится на основе программной системы to freely and mutually transfer information between the subsystems of the enter-
поддержки принятия решений, реализующей эти методы ап- prise and individual objects of these subsystems. The processes of this transfer
проксимации. Применение этой программной системы повыша- are regulated based on the results of testing the states of business processes and
ет эффективность работы компьютерных узлов, за счет чего со- subsystems. The business processes of an enterprise can change rapidly and dy-
вершенствуется компьютерная инфраструктуры промышленного namically under certain conditions, so the methods of regulation must also change
предприятия.  EOF  in accordance with the required upgrades. Ensuring uninterrupted access to the
necessary information resources by reorganizing management processes based on
[1] Бухаринов Р.А. Ключевые аспекты применения методов неформаль- the analysis of the functioning of structural units requires the implementation of
ной информационной экономики при организации снабжения про- special software system solutions. Stochastic approximation methods can be used
мышленного предприятия // Национальные интересы: приоритеты to control the computer nodes of modern enterprises ' infrastructures. Projection-
и безопасность. 2009. № 24. С. 45–47. based and vector-free stochastic approximation algorithms provide support for
selecting a variant from a finite discrete set of variants. A large number of stochas-
[2] Ершов К.О., Грибанов Ю.И. Перспективы развития ИТ-аутсорсинга tic approximation algorithms are known, including Narendra-Shapiro, Lews, Var-
в промышленности // Креативная экономика. 2013. № 1 (73). С. 29–31. shavsky-Vorontsova, Bush-Mosteller, Nazin-Poznyak, and others. Their software
implementation forms the basis of a software system to support management deci-
[3] Исаев Е.А., Коровкина Н.Л., Табакова М.С. Оценка готовности sion-making. The use of this software system increases the efficiency of computer
ИТ-подразделения компании к цифровой трансформации бизнеса // nodes, thereby improving the computer infrastructure of an industrial enterprise.
Бизнес-информатика. 2018. № 2 (44). С. 55–64.
Keywords: computer node, control, stochastic approximation, decision
[4] Назин А.В., Позняк А.С. Адаптивный выбор вариантов: Рекуррентные support, software system.
алгоритмы. Наука, 1986. 288 c.

[5] Ткаченко К.С. Управление распределенными вычислительными сре-
дами с использованием проекционных и беспроекционных алгорит-
мов // Современные проблемы транспортного комплекса России. 2018.
Т. 8. № 1. С. 30–37.

132 январь-февраль 2021 системный администратор

Марина Аншина – известный эксперт в области
управления ИТ, автор нескольких книг,

преподаватель, председатель правления СоДИТ,
делится своими идеями и наработками в сфере
управления ИТ-проектами

Чем хороша ее новая книга?

Во-первых, Марина Аншина
провела сравнительный анализ
разнообразных методов управления
ИТ-проектами, что очень ценно.
Во-вторых, издание буквально
пропитано обширным опытом автора

по выполнению ИТ-проектов.
В-третьи, это подробное

практическое пособие – можно
открыть его и методично переходить

при работе над проектом
от этапа к этапу, руководствуясь

подсказками автора.
В-четвертых, книга снабжена
большим справочным материалом.
И наконец, что немаловажно, читать
ее легко и приятно – она написана

хорошим русским языком.

Бумажная версия –
537 руб. + доставка
Электронная версия –
273 руб.

Покупайте и читайте
на бумаге или экране!

book.samag.ru

Наука и технологии

Ильичев В.Ю., к .т.н., Калужский филиал ФГОУ ВО «Московский государственный технический университет имени Н.Э. Баумана
(национальный исследовательский университет)», [email protected]

Программа для вычисления

площади фигуры сложной конфигурации
разными способами

Описаны структура и алгоритм программы для вычисления площадей фигур, имеющих
контуры сложной формы, произведено сравнение разных способов вычисления

Введение Развитие различных отраслей науки приводит к появлению новых
Фигуры с профилями, имеющими сложную форму, часто приме- сложных поверхностей, обладающих характеристиками, улучшен-
няются во многих отраслях промышленности, науки, а также в ис- ными по сравнению с прежними формами.
кусстве – в дизайнерских проектах. В качестве типичного примера
таких фигур можно привести аэродинамические профили (сечения Одной из главных проблем при исследовании сложных, «изви-
лопастей ветрогенераторов, лопаток турбин, компрессоров, насо- листых» форм является задача вычисления площади их сечений.
сов). Они обычно строятся по координатам, которых задается до- Одним из самых распространенных способов для этого является
статочно большое количество для обеспечения плавности формы давно известный способ подсчета количества квадратов или прямо-
профиля. Такому построению посвящена, например, одна из работ угольников известной площади, вписывающихся в контуры фигу-
автора [1]. ры. Однако этот способ обладает низкой точностью и значительной
трудоемкостью.
Необходимость в построении сечений сложной формы
в последнее время во много раз возросла благодаря широкому Целью данной работы являлась разработка программы на языке
внедрению 3D-моделирования [1, 2] и созданию трёхмерных де- программирования Python, позволяющая всем желающим с легко-
талей на 3D-принтерах, специальных многокоординатных станках. стью вычислять площадь сложных фигур. Рассматриваются и срав-
ниваются два метода такого вычисления – метод разбиения фигуры

Рисунок 1. Пример профиля сложной формы.

134 январь-февраль 2021 системный администратор

Наука и технологии

Рисунок 2. Элемент таблицы для представления координат профиля Остается лишь автоматизировать описанный процесс вычис-
ления площадей. Как известно из геометрии, площадь трапеции
на трапеции и очень интересный и мало применяемый (хотя давно равна произведению половины суммы длин оснований на её вы-
известный) метод подсчета точек. соту. То же самое действие применимо и к треугольнику, у ко-
торого длина одного основания (являющегося вершиной) равна
Оба этих метода хорошо поддаются алгоритмизации и не тре- нулю. Длинами оснований треугольников или трапеций является
буют от конечного пользователя программы никаких специальных разность координат (ymax i – ymin i). Их высотой является разница
знаний. координат (xi+1 – xi). Указанный алгоритм легко реализовать пу-
тем перебора в цикле всех трапеций и треугольников, представ-
Еще одной рассматриваемой проблемой является оценка точно- ленных координатами их вершин.
сти и других особенностей процессов вычисления площади разны-
ми способами. Второй метод вычисления площади сложной фигуры является
необычным и очень интересным. Хотя он мало распространен,
Методы решения поставленных задач но прекрасно поддается реализации программными методами, раз-
Идея создания данной программы была продиктована практической рабатываемыми в рассматриваемой работе. Это метод подсчета то-
необходимостью, давно назревшей в МГТУ им. Н.Э. Баумана, – в аэ- чек или «теорема Пика», доказанная еще в 1899 году – результат
родинамике и в других отраслях науки при создании новых установок комбинаторной геометрии и геометрии чисел. Для использования
каждый раз приходится проектировать лопаточные аппараты и дру- данного метода необходимо создать сетку с одинаковым размером
гие детали, профили которых отличаются сильным разнообразием. ячеек, накладываемую на фигуру, площадь которой измеряется.

При отработке сечений профилей практически всегда прихо- Затем необходимо подсчитать количество узлов сетки, попада-
дится вычислять их площади, например, с целью расчета деталей ющих внутрь и на границу фигуры. Простейший пример таких вы-
на прочность. Простой универсальной программной методики вы- числений приведен в книге [3].
полнения этой задачи в библиотечных системах не найдено.
Формула подсчета точек по этому методу выглядит следующим
Пример исследуемого профиля, площадь которого необходимо образом:
определить, изображен на рис. 1.
F = n + m / 2 - 1 (1),
Для большей наглядности приведен пример достаточно «глад-
кого» профиля, строящегося по 26 парам координат – (xi, ymin i) где: n – число узлов сетки, попадающих внутрь фигуры; m – число
и (xi, ymax i), когда каждому значению x соответствует два значения y. узлов, попадающих строго на границу фигуры.
Пара вертикальных координат y соответствует нижней и верхней
частям профиля – так называемым «корытцу» и «спинке». Существуют и другие, более сложные, методы вычисления пло-
щадей фигур (например, метод Монте-Карло [4]), но их примене-
Данные координаты удобнее всего занести в форму таблицы ние в данном случае необоснованно, так как они не являются столь
Microsoft Excel, элемент которой для данного профиля представ- точными или наглядными, как рассматриваемые.
лен на рис. 2.
Алгоритм программы, разработанной для вычисления площади
Всего в таблице в данном примере содержится 26 строк (не счи- фигуры, состоит из нескольких частей:
тая строки наименования координат), по количеству пар точек по-
строения. Полностью этот файл приведен на странице моего сайта 1. Подключение необходимых модулей языка Python: xlrd
http://turbopython.ru/prog/1.xlsx. для считывания координат фигуры из файла Excel и Matplotlib.
pyplot для вывода графической информации.
В общем случае в таблице координат для обработки может со-
держаться любое количество строк (пар координат нижних и верх- 2. Перевод координат точек из формата Excel в списки Python
них обводов фигуры). для дальнейшей удобной работы с ними путем обращения по ин-
дексам элементов.
Единственным требованием к данной фигуре является отсутствие
внутренних полостей и отверстий (когда одной горизонтальной коор- 3. Вычисление в цикле (по известным координатам) площадей
динате x может соответствовать более чем две вертикальные коорди- треугольников и трапеций участков исходной фигуры и нахожде-
наты). Однако площадь отверстий можно рассчитать отдельно и за- ние их суммы. Данная сумма является точной площадью фигуры,
тем вычесть из вычисленной площади сложной фигуры. В остальном с которой можно сверять вычисления с помощью других методов.
исследуемая фигура может иметь совершенно разную форму.
4. Реализация первого численного метода расчета площади фи-
Как видно из рис. 1, фигура, представленная подобным обра- гуры (метода трапеций) путем разбиения всей фигуры на трапеции
зом, состоит из совокупности треугольников и трапеций, разделен- малой фиксированной ширины xx, определяемой по их количеству
ными координатами xi (рис. 2), сумма площадей которых и является n, заданному пользователем. Координаты начала и окончания осно-
точной площадью всей фигуры. ваний трапеций при этом вычисляются по формуле прямой линии,
исходя из того, на сторону какой исходной трапеции попадает каж-
дая рассматриваемая точка.

5. Нахождение в цикле суммы площадей трапеций количеством
n, равной площади всей фигуры.

6. Начало реализация второго численного метода расчета пло-
щади фигуры (метода точек), описанного в [3]. Для применения
этого метода необходимо создать координатную сетку, перекры-
вающую исследуемую фигуру. Горизонтальные координаты этой
сетки x уже найдены на шаге 4. Список вертикальных координат
создается, исходя из максимальной и минимальной из всех коор-
динат y, представленных в списке (рис. 2); высота ячеек сетки при-
нимается равной их ширине xx.

системный администратор январь-февраль 2021 135

Наука и технологии

Рисунок 3. Зависимость относительной погрешности вычислений площади фигуры, определен- не представляет интереса. Значительно более
ной двумя методами, от количества числа разбиений расчетной сетки:
method_1 – методом трапеций; полезным является сравнение точности опреде-
method_2 – методом точек (по теореме Пика).
ления площади разными методами.

Для осуществления такого сравнения был

организован цикл расчета площадей Fопред, опре-
деленных методом трапеций и методом точек.

Затем определяется относительная погрешность

каждого из двух методов в процентах [5] при ва-
рьировании числа разбиений сетки n относи-

тельно точного значения площади фигуры Fточн,
рассчитанного в п. 3 по формуле:

7. Подсчет количества узлов сетки, попавших внутрь фигуры, n, D = 100% · (Fточн - Fопред) / Fточн
и на границу фигуры m.
Зависимости относительной погрешности
8. Расчет площади фигуры по формуле (1). расчета каждым методом от количества разбие-
9. Вывод всех определенных площадей фигур (одной, получен- ний по оси x выведены в графическом виде с по-
ной точным методом, и двух, полученных численными методами) мощью модуля Python – Matplotlib.pyplot и пред-
на экран. ставлены на рис. 3.
Программа, написанная на языке Python согласно приведенному
алгоритму, размещена на сайте http://turbopython.ru/prog/square.py, Из графиков можно сделать вывод, что для ис-
и любой желающий может её подробно изучать и пользоваться. следуемой фигуры график точности результата,
В ходе данного исследования простой вывод на экран зна- полученного методом трапеций, является глад-
чений площади фигуры, определенных разными методами, ким и точность вычислений напрямую зависит
от количества разбиений n. Для высокой точ-
ности вычислений рекомендуется выбирать
количество разбиений n, равное нескольким
тысячам.
Расчет методом точек дает менее устойчивый результат,
и для получения стабильного и точного значения площади фигуры
в данном случае необходимо выбирать n > 5000.
При n  =  5000 площадь фигуры, вычисленная точно, рав-
на 195.23739999999998 мм2. По методу трапеций она по-
лучилась равной 195.23736314341897 мм2, а по методу то-
чек 195.23646113919995 мм2. Как видим, различие начинается
только с третьего знака после запятой, что является хорошим за-
пасом по точности вычислений для практического использования.
Так как рассмотренная фигура является достаточно простой,
было принято решение испытать программу на искусственно

Рисунок 4. Сгенерированная фигура сложной формы

136 январь-февраль 2021 системный администратор

Наука и технологии

Рисунок 5. Зависимость площади фигуры, представленной на рис. 4, определенная двумя мето- но и объемных. Для этого вместо списков в теле
дами, от количества числа разбиений расчётной сетки: программы придется использовать матрицы.
method_1 – методом трапеций; Возможно, в ходе совершенствования данной
method_2 – методом точек (по теореме Пика) программы, вместо модуля xlrd для конверта-
ции координат фигуры из файла Excel в списки
или матрицы Python будет удобнее использовать
библиотеку Pandas [6].

Материалы данной статьи и представленно-
го сайта создавались в рамках проекта автора
по внедрению свободно распространяемого
и очень популярного в среде программистов
языка Python в сферу проектирования техни-
ческих средств, способствующего повышению
их качества.  EOF 

созданной фигуре, имеющей более сложную форму. Она была сге- [1] Ильичев В.Ю., Гридчин Н.В. Визуализация мас-
нерирована из двух синусоид, имеющих разную частоту и ампли- штабируемых 3D-моделей с помощью модуля
туду, и изображена на рис. 4. Matplotlib для Python. // Системный администра-
тор. 2020. № 12 (217). С. 86–89.
Для усложнения задачи расчета численными методами масшта-
бы по горизонтальной и вертикальной осям также сильно отлича- [2] Ковалев А.С., Шалимова О.А., Польшакова Н.В.
ются. Зависимость площади данной фигуры от количества разби- Новые технологии компьютерной графики объ-
ений по горизонтальной оси n также была рассчитана с помощью емного 3D моделирования и их практическая
вышеописанной программы методами трапеций и точек. Результа- реализация. // Успехи современного естествозна-
ты расчетов представлены на рис. 5. ния. 2010. № 10. С. 85–88.

Графики показывают, что для точного вычисления площади [3] Балханов В.К. Основы фрактальной геометрии
более сложной фигуры уже требуется разбиение горизонтальной и фрактального исчисления. Улан-Удэ: Изд-
координаты не менее чем на 5000 участков при вычислении любым во Бурятского госуниверситета, 2013. 224 с.
из двух способов.
[4] Белобородов Е.И. Применение метода Монте-Карло для определения
Заключение и рекомендации площади фигуры. // Аллея науки. 2018. Т. 3. № 1 (17). С. 257–261.
Цель данной работы выполнена в полном объеме – разработан ал-
горитм и программный код вычисления площади фигуры сложной [5] Поздняков Ю.В., Лапишко М.Л. Корреляционный анализ относитель-
конфигурации двумя методами: трапеций и точек. Так как оба метода ных погрешностей альтернативных результатов независимой оценки
показали примерно одинаковую точность вычислений при использо- стоимости торговых марок. // Журнал Белорусского государственного
вании для сложных профилей, рекомендуется применять их совмест- университета. Экономика. 2020. № 1. С. 17–28.
но, увеличивая количество разбиений горизонтальной координаты
до такого значения, пока результаты вычисления двумя способами [6] Ильичев В.Ю., Юрик Е.А. Анализ массивов данных с использованием
не начнут совпадать в пределах необходимой точности. библиотеки Pandas для Python. // Научное обозрение. Технические на-
уки. 2020. № 4. С. 41–45.
Разработанная программа и небольшое её описание выложе-
ны для свободного распространения на странице моего сайта – [7] Национальная программа «Цифровая экономика Российской Фе-
http://turbopython.ru/square. Повторюсь, что её можно использовать дерации» [Электронный ресурс]. – URL: http://government.ru/
для вычисления площади любой сложной фигуры, которую мож- rugovclassifier/614/events/ (дата обращения: 15.12.2020).
но описать парами координат, как описано выше. Так как данная
программа содержит в себе множество циклических конструкций, Ключевые слова: сложная фигура, аэродинамический профиль, конверта-
анализ её кода может быть полезным при изучении организации ция данных, геометрические методы, язык Python
циклов на языке Python.
A program for calculating the area of a figure of a complex configuration
Желающие могут модернизировать код для подсчета in different ways
не только площадей плоских фигур, имеющих сложную форму,
Ilichev V.Yu., Ph. D. (Eng.), Associate Professor of MK3 department «Heat
engines and hydraulic machines», Kaluga Branch of Bauman Moscow State
Technical University, [email protected]

Abstract: The structure and algorithm of the program for calculating areas
of figures having complex form contours are described, comparison of
different calculation methods is made.

Keywords: complex figure, aerodynamic profile, data conversion, geometric
methods, Python language.

системный администратор январь-февраль 2021 137

Наука и технологии

Ткаченко К.С., и нженер 1-й кат., ФГАОУ ВО «Севастопольский государственный университет», [email protected],
[email protected]

Применение языков
программирования высокого уровня
JavaScript и Prolog

для аналитического моделирования
многоканальной системы массового обслуживания

Рассматривается пример использование языков программирования высокого уровня
JavaScript и Prolog для решения вычислительных задач. В примере выполняется
разработка программ на этих языках для аналитического моделирования многоканальной
системы массового обслуживания с буферированием. Приводятся полные исходные
коды и результаты работы. Работа может быть полезна системным администраторам,
изучающим веб- и логическое программирование

Деятельность системных администраторов является очень слож- K-1 ρj ρK (1 - ρsN+1)
ной и требовательной, в том числе, к их способностям. Для раз- j! K!(1 - ρs)
вития и совершенствования этих способностей необходимо целе- [ ]p0 =∑ + -1 (3)
направленно их упражнять, решая различные интересные задачи
по программированию. К одной из таких задач можно отнести .
программную реализацию аналитического моделирования систем
массового обслуживания (СМО). j=0 

Моделирование СМО является классическим способом Формула (3) предназначается для определения вероятности
для описания компьютерных систем [1–5]. Интересной для про-
граммирования задачей является аналитическое моделирование простоя p0.
многоканальной СМО с буферированием типа M/M/K/N. Ранее
в журнале «Системный администратор» были опубликованы ра- potk = pK+N = ρK+N p0 . (4)
боты, где была предложена программная реализация этой инте- K!KN
ресной задачи на языках 1С [6], школьном алгоритмическом язы-
ке [7], PowerShell [8], Python [9], PHP [10], Ada и Common Lisp [11], Формула (4) предназначается для определения вероятности от-
Fortran 95 и Rust [12].
каза в обслуживании заявок potk.
Поэтому в настоящей публикации рассматривается программ-
ная реализация аналитического моделирования M/M/K/N на язы- Kz = ρ(1 - potk ). (5)
ках JavaScript и Prolog – известных и интересных во многих отно-
шениях языках программирования высокого уровня. Формула (5) предназначается для определения среднего числа
занятых каналов Kz.
Аналитическое моделирование СМО типа M/M/K/N выполня-
ется по формулам [1–5]: ρK+1 p0 1- ρsN (N + 1 - Nρs)
K!K (1- ρs)2
[ ]Wq= . (6)

Формула (6) предназначается для определения среднего числа

заявок в очереди Wq.

Tq = Wq . (7)
λ

ρ = λ . (1) Формула (7) предназначается для определения среднего време-
μ

Формула (1) предназначается для определения загрузки ρ СМО. ни пребывания заявки в очереди Tq.

ρs = ρ . (2) Ws = Wq + Kz. (8)
K

Формула (2) предназначается для определения загрузки канала Формула (8) предназначается для определения среднего числа
ρs СМО. заявок в системе Ws.

138 январь-февраль 2021 системный администратор

Наука и технологии

Ts = Tq + 1 - potk  . (9) Если расчет вероятностей pi закончен, то последние значения
μ числителя и знаменателя равны заданным:

Формула (9) предназначается для определения среднего време- I > K,
PoslChisl is Chisl,
ни пребывания заявки в системе Ts. PoslZnam is Znam,
!;
pi = ρii!p0; 1≤i≤K (10)
K < i ≤ K + N Иначе пересчитываются по «верхней» части формулы (10)
ρi Kp0i-K; числитель и знаменатель, формируется значение pi, которое затем
K! выводится на стандартное устройство вывода (здесь и далее вы-
вод характеристик СМО производится с четырьмя знаками после
Формула (10) предназначается для определения вероятности запятой) вместе с порядковым, происходит рекурсивный расчет
пребывания i заявок системе pi. для следующего значения i:

Результирующая программа на высокоуровневом языке Chisl1 is Chisl * Rho,
JavaScript предназначена для работы в браузере, на языке Prolog – Znam1 is Znam * I,
в системе SWI-Prolog. В качестве примера рассматривается СМО P_i is Chisl1 / Znam1,
M/M/4/7 с λ  =  30,0 и μ  =  17,0, расчет для которой производился format("p~d = ~4f~n", [I, P_i]),
ранее [6–12]. I1 is I + 1,
p_ia(Rho, K, I1, Chisl1, Znam1, PoslChisl, PoslZnam).
Программа для аналитического моделирования многоканаль-
ной системы массового обслуживания на языке программирования Правило p_ib(Rho, K, K2, I, Chisl, Znam) используется
Prolog начинается с правила p0sum(Rho, K, J, Chisl, Znam, P0sum, для определения вероятности пребывания i заявок системе pi, когда
KFakt) для нахождения суммы в «левой» части формулы (3), пред- K < i ≤ K + N.
назначенной для определения вероятности простоя p0.
В аргументе Rho находится значение ρ, K – количество каналов,
В аргументе Rho находится значение ρ, K и J – количество K2 есть K + N – 1, I – номер i, расчеты по этому правилу ведутся,
каналов и текущее значение j из (3), Chisl и Znam – текущие начиная с i = K + 1, Chisl и Znam – текущие значения числителя
значения числителя и знаменателя дроби в «левой» части (3), и знаменателя дроби в «нижней» части (10):
P0sum – текущее накопленное значение искомой суммы, KFakt –
значение K!: p_ib(Rho, K, K2, I, Chisl, Znam) :-

p0sum(Rho, K, J, Chisl, Znam, P0sum, KFakt) :- Если расчет вероятностей pi закончен, то по этому правилу рас-
четы завершаются:
Если расчет суммы закончен, то текущее накопленное значение
есть 0, а величина K! равна заданному значению знаменателя: I > K2,
!;
J >= K,
P0sum is 0, Иначе пересчитываются по «нижней» части формулы (10) чис-
KFakt is Znam, литель и знаменатель, формируется значение pi, которое затем вы-
!; водится на стандартное устройство вывода, происходит рекурсив-
ный расчет для следующего значения i:
Иначе увеличивается значение j, пересчитываются числитель
и знаменатель по формуле (3), рекурсивно определяется накоплен- Chisl1 is Chisl * Rho,
ное значение искомой суммы, которое затем увеличивается на от- Znam1 is Znam * K,
ношение числителя к знаменателю: P_i is Chisl1 / Znam1,
format("p~d = ~4f~n", [I, P_i]),
J1 is J + 1, I1 is I + 1,
Chisl1 is Chisl * Rho, p_ib(Rho, K, K2, I1, Chisl1, Znam1).
Znam1 is Znam * J1,
p0sum(Rho, K, J1, Chisl1, Znam1, Res, KFakt), Программа на языке программирования JavaScript в данном
P0sum is Res + Chisl / Znam. случае является частью HTML-документа и начинается с тегов,
формирующих структуру документа, задания используемой коди-
Расчет по формуле (9) происходит при использовании двух раз- ровки и активации строгого режима:
личных правил для «верхней» и «нижней» частей формулы (10).
Правило p_ia(Rho, K, I, Chisl, Znam, PoslChisl, PoslZnam) исполь- <!DOCTYPE html>
зуется для определения вероятности пребывания i заявок системе <html>
pi, когда 1 ≤ i ≤ K. <head>
<meta charset="utf-8">
В аргументе Rho находится значение ρ, K и I – это количест- <title>SAMAG</title>
во каналов и текущее значение i из (10), Chisl и Znam – текущие </head>
значения числителя и знаменателя дроби в «верхней» части (10), <body>
PoslChisl и PoslZnam – последние значения указанных числителя <script>
и знаменателя, которые необходимы для расчета по «нижней» час- "use strict";
ти формулы (10):

p_ia(Rho, K, I, Chisl, Znam, PoslChisl, PoslZnam) :-

системный администратор январь-февраль 2021 139

Наука и технологии

Далее определяется функция nf4(x), которая служит для преоб- for (let j = 1; j < K; ++j) {
разования вещественного числа в строковое с четырьмя знаками chisl *= rho;
после запятой: znam *= j;
p0 += chisl / znam;
function nf4(x) { }
return new Intl.NumberFormat("ru-RU", chisl *= rho * (1.0 - rhos ** (N + 1));
{ minimumFractionDigits: 4, maximumFractionDigits: 4 let kfakt = znam * K;
}).format(x); p0 += chisl / (kfakt * (1.0 - rhos));
} p0 = 1.0 / p0;
rez += "p0 = " + nf4(p0) + "\n";

На языке программирования Prolog определяется правило На языке программирования Prolog по формуле (4) определяет-
smo(K, N, Lam, Mu), предназначенное для расчета характеристик ся вероятность отказа в обслуживании заявок potk:
СМО M/M/K/N, где λ = Lam, а μ = Mu:
Potk is (Rho ^ (K + N) * P0) / (KFakt * K ^ N),
smo(K, N, Lam, Mu) :- format("potk = ~4f~n", Potk),

Затем по формуле (1) вычисляется загрузка ρ СМО: Аналогичным образом на языке программирования JavaScript
по формуле (4) определяется вероятность отказа в обслуживании
Rho is Lam / Mu, заявок potk:
format("rho = ~4f~n", Rho),
let potk = (rho ** (K + N)) * p0 / (kfakt * (K ** N));
На языке программирования JavaScript определяется функция rez += "potk = " + nf4(potk) + "\n";
smo(K, N, lam, mu) для расчета характеристик СМО M/M/K/N, в ко-
торой λ = lam, а μ = mu: На языке программирования Prolog по формуле (5) рассчитыва-
ется среднее число занятых каналов Kz:
function smo(K, N, lam, mu) {
Kz is Rho * (1 - Potk),
После по формуле (1) вычисляется загрузка ρ СМО: format("Kz = ~4f~n", Kz),

let rho = lam / mu; Также на языке программирования JavaScript по формуле (5)
let rez = "rho = " + nf4(rho) + "\n"; рассчитывается среднее число занятых каналов Kz:

На языке программирования Prolog по формуле (2) вычисляется let Kz = rho * (1.0 - potk);
загрузка канала ρs СМО: rez += "Kz = " + nf4(Kz) + "\n";

Rho_s is Rho / K, На языке программирования Prolog по формуле (6) получается
format("rho_s = ~4f~n", Rho_s), среднее число заявок в очереди Wq:

На языке программирования JavaScript по формуле (2) вычисля- Wq is (Rho ** (K + 1) * P0) * (1 - (Rho_s ^ N) *
ется загрузка канала ρs СМО: (N + 1 - N * Rho_s)) / ((KFakt * K) * (1 - Rho_s) ^ 2),
format("Wq = ~4f~n", Wq),
let rhos = rho / K;
rez += "rho_s = " + nf4(rhos) + "\n"; Похожим образом на языке программирования JavaScript
по формуле (6) получается среднее число заявок в очереди Wq:
Далее на языке программирования Prolog с использованием
ранее описанного правила p0sum по формуле (3) рассчитывается let Wq = (rho ** (K + 1)) * p0 / (kfakt * K);
вероятность простоя p0: Wq *= (1.0 - (rhos ** N) * (N + 1 - N * rhos)) /
((1 - rhos) ** 2);
p0sum(Rho, K, 0, 1, 1, P0sum, KFakt), rez += "Wq = " + nf4(Wq) + "\n";
P0 is 1 / (P0sum + Rho ^ K * (1 - Rho_s ^ (N + 1)) /
(KFakt * (1 - Rho_s))), По формуле (7) определяется среднее время пребывания заявки
format("p0 = ~4f~n", P0), в очереди Tq на языке программирования Prolog:

В свою очередь, на языке программирования JavaScript по фор- Tq is Wq / Lam,
муле (3) также рассчитывается вероятность простоя p0. При этом format("Tq = ~4f~n", Tq),
расчете происходит циклическое раздельное вычисление числи-
телей и знаменателей суммируемых в «левой» части формулы (3) По формуле (7) определяется среднее время пребывания заявки
дробей, их накопление, после чего, собственно, и оценивается p0: в очереди Tq на языке программирования JavaScript:

let p0 = 1.0; let Tq = Wq / lam;
let chisl = 1.0; rez += "Tq = " + nf4(Tq) + "\n";
let znam = 1.0;

140 январь-февраль 2021 системный администратор

Наука и технологии

По формуле (8) рассчитывается среднее число заявок в системе Строка, содержащая результаты расчетов характеристик СМО,
Ws на языке программирования Prolog: возвращается:

Ws is Wq + Kz, return rez;
format("Ws = ~4f~n", Ws), }

По формуле (8) рассчитывается среднее число заявок в системе На языке программирования Prolog происходит определе-
Ws на языке программирования JavaScript: ние головного правила samag для расчета характеристик СМО
M/M/4/7 с λ = 30,0 и μ = 17,0:
let Ws = Wq + Kz;
rez += "Ws = " + nf4(Ws) + "\n"; samag :-
smo(4, 7, 30, 17).
По формуле (9) определяется среднее время пребывания заявки
в системе Ts на языке программирования Prolog: По этому правилу и работает программа:

Ts is Tq + (1 - Potk) / Mu, :- samag, halt.
format("Ts = ~4f~n", Ts),
На языке программирования JavaScript результаты расчетов
По формуле (9) определяется среднее время пребывания заявки характеристик сообщаются пользователю, и программа заверша-
в системе Ts на языке программирования JavaScript: ется:

let Ts = Tq + (1.0 - potk) / mu; alert(smo(4, 7, 30, 17));
rez += "Ts = " + nf4(Ts) + "\n"; </script>
</body>
Наконец на языке программирования Prolog с использованием </html>
ранее определенного правила p_ia вычисляется «верхняя» часть
формулы (10) для определения вероятности пребывания i заявок Полный исходный код программы на языке JavaScript приводит-
системе pi: ся в приложении А, результаты работы этой программы – в прило-
жении Б, исходный код программы на языке Prolog – в приложении
p_ia(Rho, K, 1, P0, 1, PoslChisl, PoslZnam), В, соответствующие результаты – в приложении Г.

В свою очередь, на языке программирования JavaScript расчет Предложенные в работе программы станут полезны для систем-
«верхней» части формулы (10) производится путем циклического ных администраторов, изучающих веб- и логическое программи-
накопления величин числителей и знаменателей: рование, и всех, увлекающихся программированием.  EOF 

chisl = p0; [1] Клейнрок Л. Вычислительные системы с очередями. М.:
znam = 1.0; Мир, 1979. 600 с.
for (let i = 1; i <= K; ++i) {
chisl *= rho; [2] Клейнрок Л. Теория массового обслуживания. М.: Машинострое-
znam *= i; ние, 1979. 432 с.
let psost = chisl / znam;
rez += `p${i} = ` + nf4(psost) + "\n"; [3] Вентцель Е.С. Теория вероятностей / Е.С. Вентцель, Л.А. Овчаров. М.:
} Наука, 1973. 368 с.

Расчет по «нижней» части формулы (10) на языке программи- [4] Новиков О.А. Прикладные вопросы теории массового обслужива-
рования Prolog происходит с использованием ранее определенного ния / О.А. Новиков, Б.В. Гнеденко, С.И. Петухов. М.: Советское ра-
правила p_ib: дио, 1969. 398 с.

K1 is K + 1, [5] Балакирева И.А. Методические указания для выполнения типовой
K2 is K + N - 1, выпускной квалификационной работы бакалавра по тематике анализа
p_ib(Rho, K, K2, K1, PoslChisl, PoslZnam). эффективности компьютерных систем обработки данных / И.А. Бала-
кирева, А.В. Скатков. Севастополь: СевГУ, 2015. 32 с.
А на языке программирования JavaScript – по частично моди-
фицированному программному коду, аналогично «верхней» части [6] Ткаченко К.С. Аналитическое моделирование в 1С многоканальной
формулы (10): системы массового обслуживания // Системный администратор. 2018.
№ 11 (192). С. 36–38.
for (let i = K + 1; i < K + N; ++i) {
chisl *= rho; [7] Ткаченко К.С. Аналитическое моделирование систем массового об-
znam *= K; служивания // Системный администратор. 2019. № 1–2 (194–195).
let psost = chisl / znam; С. 95–97.
rez += `p${i} = ` + nf4(psost) + "\n";
} [8] Ткаченко К.С. Применение языка PowerShell для математических рас-
четов // Системный администратор. 2019. № 4 (197). С. 64–66.

[9] Ткаченко К.С. Аналитическое моделирование системы массового об-
служивания на популярном языке системного администрирования //
Системный администратор. 2020. № 4 (209). С. 77–79.

[10] Ткаченко К.С. Аналитическое моделирование многоканальной сис-
темы массового обслуживания с буферированием на популярном

системный администратор январь-февраль 2021 141

Наука и технологии

языке веб-программирования // Системный администратор. 2020. chisl *= rho;
№ 10 (215). С. 89–91. znam *= i;
[11] Ткаченко К.С. Разработка программ для аналитического моделиро- let psost = chisl / znam;
вания многоканальных систем массового обслуживания с буфери- rez += `p${i} = ` + nf4(psost) + "\n";
рованием на стандартизированных языках программирования высо- }
кого уровня Ada и Common Lisp // Системный администратор. 2020.
№ 11 (216). С. 75–79. for (let i = K + 1; i < K + N; ++i) {
[12] Ткаченко К.С. Аналитическое моделирование на языках chisl *= rho;
Fortran 95 и Rust многоканальной системы массового обслуживания // znam *= K;
Системный администратор. 2020. № 12 (217). – http://samag.ru/archive/ let psost = chisl / znam;
article/4316 rez += `p${i} = ` + nf4(psost) + "\n";
}
Ключевые слова: JavaScript, Prolog, аналитическое моделирование, система
массового обслуживания return rez;
}
Приложение А
Полный исходный текст программы на языке alert(smo(4, 7, 30, 17));
программирования JavaScript </script>
</body>
<!DOCTYPE html> </html>
<html>
<head> Приложение Б
<meta charset="utf-8">
<title>SAMAG</title> Результаты работы программы на языке
</head> программирования JavaScript
<body>
<script> Приложение В
"use strict"; Полный исходный текст программы на языке
программирования Prolog
function nf4(x) {
return new Intl.NumberFormat("ru-RU", p0sum(Rho, K, J, Chisl, Znam, P0sum, KFakt) :-
{ minimumFractionDigits: 4, maximumFractionDigits: 4 }).format(x); J >= K,
} P0sum is 0,
KFakt is Znam,
function smo(K, N, lam, mu) { !;
let rho = lam / mu; J1 is J + 1,
let rez = "rho = " + nf4(rho) + "\n"; Chisl1 is Chisl * Rho,
Znam1 is Znam * J1,
let rhos = rho / K; p0sum(Rho, K, J1, Chisl1, Znam1, Res, KFakt),
rez += "rho_s = " + nf4(rhos) + "\n";

let p0 = 1.0;
let chisl = 1.0;
let znam = 1.0;
for (let j = 1; j < K; ++j) {
chisl *= rho;
znam *= j;
p0 += chisl / znam;
}
chisl *= rho * (1.0 - rhos ** (N + 1));
let kfakt = znam * K;
p0 += chisl / (kfakt * (1.0 - rhos));
p0 = 1.0 / p0;
rez += "p0 = " + nf4(p0) + "\n";

let potk = (rho ** (K + N)) * p0 / (kfakt * (K ** N));
rez += "potk = " + nf4(potk) + "\n";

let Kz = rho * (1.0 - potk);
rez += "Kz = " + nf4(Kz) + "\n";
let Wq = (rho ** (K + 1)) * p0 / (kfakt * K);
Wq *= (1.0 - (rhos ** N) * (N + 1 - N * rhos)) /
((1 - rhos) ** 2);
rez += "Wq = " + nf4(Wq) + "\n";
let Tq = Wq / lam;
rez += "Tq = " + nf4(Tq) + "\n";
let Ws = Wq + Kz;
rez += "Ws = " + nf4(Ws) + "\n";
let Ts = Tq + (1.0 - potk) / mu;
rez += "Ts = " + nf4(Ts) + "\n";

chisl = p0;
znam = 1.0;
for (let i = 1; i <= K; ++i) {

142 январь-февраль 2021 системный администратор

P0sum is Res + Chisl / Znam. Наука и технологии
p_ia(Rho, K, I, Chisl, Znam, PoslChisl, PoslZnam) :-
I > K, Ws is Wq + Kz,
PoslChisl is Chisl, format("Ws = ~4f~n", Ws),
PoslZnam is Znam,
!; Ts is Tq + (1 - Potk) / Mu,
Chisl1 is Chisl * Rho, format("Ts = ~4f~n", Ts),
Znam1 is Znam * I,
P_i is Chisl1 / Znam1, p_ia(Rho, K, 1, P0, 1, PoslChisl, PoslZnam),
format("p~d = ~4f~n", [I, P_i]),
I1 is I + 1, K1 is K + 1,
p_ia(Rho, K, I1, Chisl1, Znam1, PoslChisl, PoslZnam). K2 is K + N - 1,
p_ib(Rho, K, K2, I, Chisl, Znam) :- p_ib(Rho, K, K2, K1, PoslChisl, PoslZnam).
I > K2,
!; samag :-
Chisl1 is Chisl * Rho, smo(4, 7, 30, 17).
Znam1 is Znam * K,
P_i is Chisl1 / Znam1, :- samag, halt.
format("p~d = ~4f~n", [I, P_i]),
I1 is I + 1, Приложение Г
p_ib(Rho, K, K2, I1, Chisl1, Znam1). Результаты работы программы на языке
smo(K, N, Lam, Mu) :- программирования Prolog
Rho is Lam / Mu,
format("rho = ~4f~n", Rho), rho = 1.7647
Rho_s is Rho / K, rho_s = 0.4412
format("rho_s = ~4f~n", Rho_s), p0 = 0.1678
p0sum(Rho, K, 0, 1, 1, P0sum, KFakt), potk = 0.0002
P0 is 1 / (P0sum + Rho ^ K * (1 - Rho_s ^ (N + 1)) / Kz = 1.7643
(KFakt * (1 - Rho_s))), Wq = 0.0943
format("p0 = ~4f~n", P0), Tq = 0.0031
Potk is (Rho ^ (K + N) * P0) / (KFakt * K ^ N), Ws = 1.8586
format("potk = ~4f~n", Potk), Ts = 0.0620
Kz is Rho * (1 - Potk), p1 = 0.2961
format("Kz = ~4f~n", Kz), p2 = 0.2613
Wq is (Rho ** (K + 1) * P0) * (1 - (Rho_s ^ N) * p3 = 0.1537
(N + 1 - N * Rho_s)) / ((KFakt * K) * (1 - Rho_s) ^ 2), p4 = 0.0678
format("Wq = ~4f~n", Wq), p5 = 0.0299
Tq is Wq / Lam, p6 = 0.0132
format("Tq = ~4f~n", Tq), p7 = 0.0058
p8 = 0.0026
p9 = 0.0011
p10 = 0.0005

Application of high-level programming languages JavaScript and Prolog for analytical modeling of multichannel queuing system

Tkachenko K.S., Federal State Autonomous Educational Institution of Higher Education «Sevastopol State University», Russian Federation, Sevastopol

Abstract: An example of using high-level programming languages JavaScript and Prolog to solve computational problems is considered. There are programs in this
example developed on these languages for analytical modeling of a multi-channel queuing system with buffering. Full source codes and work results are provided.
The work can be useful for system administrators studying Web- and logical programming.

Keywords: JavaScript, Prolog, analytical modeling, queuing system.

системный администратор январь-февраль 2021 143

Зал славы «СА»

Чайник on-line Издается с 2002 года

На сей раз очередной экспонат наше- Журнал включен в РИНЦ www.elibrary.ru
го виртуального музея – наверное, один
из самых необычных. В полном смысле Научный руководитель журнала –
неосязаемый. Хотя, с другой стороны, председатель Редакционной коллегии
это уже десятки миллиардов (!) вполне А.И. Аветисян, директор ИСП РАН, д.ф.-м.н.,
осязаемых, конкретных и всем знакомых академик РАН
материальных объектов – от бытовых при-
боров до офисных помещений, жилых кон- Главный редактор
струкций и промышленных сооружений, Галина Положевец, [email protected]
соединенных… сетью Интернет. Не живых
пользователей Сети, а именно подключен- Генеральный директор
ных к ней приборов и целых сооружений. В Китае – даже целый экспериментальный город! Иначе Владимир Положевец
говоря – перед вами «Интернет вещей» (Internet of Things, или сокращенно IoT).
IoT формально определяется как «концепция сети передачи данных между физическими объектами, ос- Руководитель экспертного совета журнала
нащенными встроенными средствами и технологиями для взаимодействия друг с другом или с внешней «Системный администратор»
средой». То есть это идея связать неодушевленные объекты некоей сетью, в которой они смогут «об- Алексей Бережной, [email protected]
щаться» между собой, минуя посредника – человека. «Интернет вещей» возник на стыке – и как результат
техноэволюции – сразу нескольких новейших идей и технологий: машинного обучения, анализа данных Заместитель главного редактора,
в реальном времени, встраиваемых систем, беспроводных сенсорных сетей, облачных вычислений, «ум- официальный представитель редакции в Украине
ного дома», перехода на новый протокол IPv6, искусственного интеллекта и других. Сергей Яремчук, [email protected]

В идеале (хотя это слово, по мнению многочисленных скептиков, следовало бы писать в кавычках) Главный бухгалтер Юридический отдел
это та самая Окончательная (английское прилагательное terminal тоже, как известно, имеет разные зна- Надежда Кан Владимир Столяров
чения: в медицине, к примеру, это «неизлечимый»…) Всемирная Сеть. Она охватывает не только живых [email protected] [email protected]
пользователей, но и всю созданную ими «вторую природу» – технологическую.
Реклама Распространение
Концепция сети для «умных» приборов и объектов впервые была выдвинута давно – аж в 1982 году, [email protected] [email protected]
когда специалисты американского Университета Карнеги – Меллона продемонстрировали модифици-
рованный автомат по продаже банок Coca-Cola, подсоединенный к Интернету. Первый механический Дизайн обложки Дизайн-макет
«юзер» мог, к примеру, сообщить покупателю, достаточно ли охладилась загруженная партия напитка. Виктор Чумачев Марина Рязанцева,
Позже, в 1990-х, появились первые научные статьи, в которых был сформулирован прообраз «Интернета Дмитрий Бессонов
вещей». А авторство самого термина приписывается основателю исследовательской группы MIT и экс- Иллюстрация
сотруднику компании Procter & Gamble Кевину Эштону. На одной из презентаций в 1999 году Эштон рас- Виктор Чумачев
сказал о перспективах широкого применения средств радиочастотной идентификации (меток) для взаи-
модействия физических предметов между собой и с внешним миром, назвав это «Интернетом для вещей» Редакционная коллегия
(Internet for Things). Оттуда всё и пошло.
Д. Ю. Гудзенко, к.т.н., директор Центра компьютерного обучения
Широкая публика узнала о новинке в 2004 году – из пространной статьи в журнале Scientific American. «Специалист» при МГТУ им. Н.Э. Баумана
Там было впечатляюще показано, каким станет мир, когда всем известные бытовые приборы (кондицио- Д. Ю. Динцис, д.т.н., ведущий преподаватель Центра
неры, кофеварки, утюги), домашние системы (охранная, освещения), всевозможные датчики и даже ле- компьютерного обучения «Специалист» при МГТУ им. Н.Э.Баумана
карственные препараты (снабженные указанными «метками») с помощью единых сетевых протоколов О. В. Китова, д.э.н., доцент, зав. кафедрой информатики РЭУ
будут взаимодействовать между собой без непосредственного участия человека. Естественно, с целью им. Г.В.Плеханова, директор Академического центра компетенции
оптимального выполнения своих функций и в итоге – создания для хозяина дома максимального комфор- IBM «Разумная коммерция» в РЭУ им. Г.В.Плеханова
та. Типа технологического «рая в шалаше». А. С. Крюковский, д.ф-м.н., профессор, лауреат Государственной
премии СССР, декан факультета информационных систем
По мнению оптимистов, внедрение IoT приведет не только к «домашнему раю», но кардинально улуч- и компьютерных технологий Российского нового университета
шит корпоративную, городскую и даже общенациональную среду. По мнению скептиков (к которым от- Н. И. Гданский, д.т.н., профессор НОЦ инфокогнитивных
носятся спецслужбы – и парадоксальным образом гражданские активисты и правозащитники!), IoT еще технологий ФГБОУ ВО «Московский государственный
больше «закабалит» индивидуума, за которым теперь будут неотрывно следить не только люди и органи- политехнический университет»
зации, но и окружающие его вещи. Даже те, на которые мы зачастую не обращаем внимание: товарная Э. С. Клышинский, к.т.н., доцент департамента компьютерной
упаковка, мебель, бумажные документы… Все это не пустые страхи, и нынешние попытки властей разных инженерии НИУ ВШЭ
стран перейти к тотальному электронному мониторингу граждан в обстановке пандемии служат тому сви- С. Р. Тумковский, д.т.н., профессор департамента компьютерной
детельством. инженерии НИУ ВШЭ, лауреат Премии Правительства РФ
в области науки и техники
Споры идут, но остановить развитие IoT, кажется, уже никому не под силу. Специалисты компании В. П. Лунин, д.т.н., профессор, зав. кафедрой Электротехники
Cisco датируют «рождение» – не концепции, а самого IoT – 2008–2009 годами. И оценивают отношение и Интроскопии, директор АВТИ ФГБОУ ВО «НИУ «МЭИ».
числа «вещей» к числу пользующихся ими людей к 2010 году как 1,84. А по данным за прошлый год, в мире А. В. Сарафанов, д.т.н., профессор, лауреат премии
насчитывается уже более двух десятков миллиардов «неживых» пользователей. И денег в эту индустрию Правительства РФ в области науки и техники, директор
вкладывают всё больше и больше: в 2017 году – более $800 млрд, а к началу этого года – около $1.4 трлн! по развитию бизнеса ЗАО «Ай-Теко»
Б. Б. Славин, к.ф-м.н., научный руководитель факультета
Вот ведь как конкретно зависли в Сети утюги и кофеварки!  EOF  прикладной математики и информационных технологий
Финансового университета при Правительстве РФ
Владимир Гаков А. В. Тетюшев, к.т.н., доцент Вологодского государственного
технического университета

Экспертный совет

Алексей Бережной, руководитель совета, эксперт по
администрированию и ИБ
Рашид Ачилов, главный специалист по защите информации
Сергей Барамба, эксперт по системным решениям
Андрей Бирюков, ведущий системный инженер по ИБ
Алексей Вторников, эксперт по вопросам разработки ПО
Леонид Шапиро, эксперт по ИБ и инфраструктурным проектам
Сергей Яремчук, эксперт по ИБ
Сергей Болдин, ведущий инженер по продуктам Microsoft
Александр Календарев, ведущий программист
Игорь Орещенков, инженер-программист

Издатель
ООО «Издательский дом Положевец и партнеры»
Адрес редакции
128017, г. Москва, 3-й пр-д Марьиной Рощи, д. 40, стр. 1, офис 322, 338
тел.: (499) 277-12-41, (499) 277-12-45
Сайт журнала: www.samag.ru

Отпечатано в типографии
Типография «МСК-Пресс»
123298, г. Москва, ул. 3-я Хорошевская, д. 18 к. 1.
Общий тираж 17000 экз.

Все права на материалы принадлежат журналу «Системный
администратор». Перепечатка и использование материалов
в любой форме, в том числе и в электронных СМИ, без разрешения
запрещена. При использовании материалов ссылка на журнал
«Системный администратор» обязательна. Материалы отмеченные
знаком ADV публикуются на коммерческой основе. Редакция
не несет ответственности за достоверность информации
в материалах, опубликованных на правах рекламы.

144 январь-февраль 2021 системный администратор

Весь мир ИТ – в журнале «БИТ»

Оформив редакционную подписку на журнал
«БИТ. Бизнес&Информационные технологии»,
вы получите возможность узнавать о событиях в мире

информационных технологий из первых уст!

#01(104) февраль 2021 Все об ИТ

Тема номера в бизнесе
Чорелиоевнетикор-ованные и для бизнеса
технологии

КИаТк-пнраойеткитабха,лраенаслсиозцуиеамлыьхных Бумажная
через механизм ГЧП?
эвлееркстирионная
Импортозамещение
ОСН«оАваляьтв8ерСсПи»я 7000 руб.
БИТ.Рунет

ИТ-отрасТлоипв-1020с2о0быготидйу

Управление предприятием
EкрRиPз-исис сжтаенмрыа сегодня: Бумажная версия –
или новые возможности? 6000 руб.
Электронная версия –
ISSN 2313-8718 http://bit.samag.ru 4000 руб.

Подписывайтесь
прямо на сайте!

bit.samag.ru/subscribe

CallShark.ru - гарантия
роста заявок с вашего

сайта в 2-3 раза!

Все функции привычного мессенджера
в одном виджете на вашем сайте!

Чат - бот | Видеозвонок | Аудиозвонок | Чат

По промокоду SAMAG получаете дополнительно 2 недели бесплатного
использования CallShark без ограничений и спец-тариф!


Click to View FlipBook Version