Надіслати статтю
вул. Інститутська 11, м. Хмельницький, 29016

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

IMPROVEMENT OF SOFTWARE SYSTEMS FAULT TOLERANCE ENSURING ALGORITHMS

Сторінки: 54-58. Номер: №4, 2021 (299)
Автори:
Д. Ю. АНТІЧ, Г. І. РАДЕЛЬЧУК
Хмельницький національний університет
DMYTRO YURIIOVYCH ANTICH, GALINA IVANIVNA RADELCHUK
Khmelnytsky National University
DOI: https://www.doi.org/10.31891/2307-5732-2021-299-4-54-58
Рецензія/Peer review : 08.07.2021 р.
Надрукована/Printed : 26.08.2021 р.

Анотація мовою оригіналу

У роботі представлено концепції відмовостійкості програмних систем та методи реагування системи на відмову. У дослідженні вдосконалено метод реагування системи на відмову шляхом проєктування комплексного рішення, що включає в себе доопрацювання та розширення класичних патернів відмовостійкості. Обґрунтовано доцільність та актуальність проектування нового методу відмовостійкості. Удосконалено алгоритми автома­тичного реагування та попередження відмов, що дозволяє зменшити кількість помилок, які виникають у сис­темі, у порівнянні з існуючими рішеннями. Результатом дослідження є покращений метод забезпечення відмовостійкості програмних систем.
Ключові слова: програмна система, алгоритм, відмовостійкість, патерн відмовостійкості

Розширена анотація англійською мовою

The study investigates the concepts of fault tolerance and methods of system responses to failures. The study is based on the research of modern resiliency patterns and common approaches of reaction to failures. During the research, the common unresolved issues with modern resiliency and fault tolerance approaches were defined. The study improved the method of the system response to failures by designing a comprehensive solution that includes refinement and expansion of classical patterns of fault tolerance as a proposal to resolve common problems. The new solution of fault tolerance is based on the combination of basic monitoring approaches, load balancing approaches, circuit breaker pattern, and re-designing of the sharding pattern to be applicable not only for databases but also for modern applications. The new solution is based on an automatic decision-making expert system, which based on anonymous data saved by the monitoring layer decides the root cause of the issue and validates which scenario is applicable for the current situation. Based on the decision system can either enable a user and load balancing approaches by isolating harmful users using improved sharding and load-balancing solutions or enable a circuit breaker to temporarily disable the faulty features. The new method of resiliency is supposed to prevent and reduce more errors compared to the existing solutions in the domain of fault tolerance and resiliency, thus the efficiency of the new approach is higher. The expediency and urgency of designing a new method of fault tolerance are substantiated by expressing the importance of resolving existing problems. Improved methods of automatic response and failure prevention, which allowed to reduce the number of errors that occur in the system compared to existing solutions in resiliency and fault tolerance.
Keywords: software system, algorithm, fault tolerance, fault tolerance pattern

References

  1. Firesmith D. System resilience what exactly is it. Software Engineering Institute (SEI) at Carnegie Mellon University. URL: https://insights.sei.cmu.edu/blog/system-resilience-what-exactly-is-it/
  2. Warren Axelrod С. Investing in Software resiliency. ResearchGate. URL: https://www.researchgate.net/publication/293515438_Investing_in_software_resiliency­
  3. Frese M. Error management or error prevention. Two strategies to deal with errors in software design. ResearchGate. URL: https://www.researchgate.net/publication/­30811276_Error_management_or_error_prevention_Two_strategies_to_deal_with_errors_in_software_design
  4. Circuit breaker pattern. MICROSOFT.COM. URL: https://docs.microsoft.com/en-us/azure/architecture/patterns/circuit-breaker
  5. Retry pattern. MICROSOFT.COM. URL: https://docs.microsoft.com/en-us/azure/–architecture/patterns/retry
  6. Compensation transaction pattern. MICROSOFT.COM. URL: https://docs.microsoft.com/­en-us/azure/architecture/patterns/compensating-transaction
  7. Choudhury S. How data sharding works in a distributed sql database. YugabyteDB. URL: https://blog.yugabyte.com/how-data-sharding-works-in-a-distributed-sql-database/

 

Post Author: npetliaks

Translate