{"id":8495,"date":"2021-10-25T15:02:04","date_gmt":"2021-10-25T12:02:04","guid":{"rendered":"http:\/\/journals.khnu.km.ua\/vestnik\/?p=8495"},"modified":"2021-11-22T13:05:19","modified_gmt":"2021-11-22T11:05:19","slug":"udoskonalennya-algorytmiv-zabezpechennya-vidmovostijkosti-programnyh-system","status":"publish","type":"post","link":"https:\/\/journals.khnu.km.ua\/vestnik\/?p=8495","title":{"rendered":"\u0423\u0434\u043e\u0441\u043a\u043e\u043d\u0430\u043b\u0435\u043d\u043d\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0456\u0432 \u0437\u0430\u0431\u0435\u0437\u043f\u0435\u0447\u0435\u043d\u043d\u044f \u0432\u0456\u0434\u043c\u043e\u0432\u043e\u0441\u0442\u0456\u0439\u043a\u043e\u0441\u0442\u0456 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043d\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c"},"content":{"rendered":"<p><!--more--><\/p>\n<p style=\"text-align: center;\">\u0423\u0414\u041e\u0421\u041a\u041e\u041d\u0410\u041b\u0415\u041d\u041d\u042f \u0410\u041b\u0413\u041e\u0420\u0418\u0422\u041c\u0406\u0412 \u0417\u0410\u0411\u0415\u0417\u041f\u0415\u0427\u0415\u041d\u041d\u042f \u0412\u0406\u0414\u041c\u041e\u0412\u041e\u0421\u0422\u0406\u0419\u041a\u041e\u0421\u0422\u0406 \u041f\u0420\u041e\u0413\u0420\u0410\u041c\u041d\u0418\u0425 \u0421\u0418\u0421\u0422\u0415\u041c<\/p>\n<p style=\"text-align: center;\">IMPROVEMENT OF SOFTWARE SYSTEMS FAULT TOLERANCE ENSURING ALGORITHMS<\/p>\n<p><strong>\u0421\u0442\u043e\u0440\u0456\u043d\u043a\u0438: 54-58. \u041d\u043e\u043c\u0435\u0440: \u21164, 2021 (299)<\/strong> <a href=\"http:\/\/journals.khnu.km.ua\/vestnik\/wp-content\/uploads\/2021\/10\/299-text_2021_4_t-54-58.pdf\"> <img loading=\"lazy\" class=\"size-full wp-image-69 alignnone\" src=\"http:\/\/journals.khnu.km.ua\/vestnik\/wp-content\/uploads\/2021\/01\/pdf.png\" alt=\"\" width=\"76\" height=\"32\" \/><\/a><br \/>\n<strong>\u0410\u0432\u0442\u043e\u0440\u0438:<\/strong><br \/>\n\u0414. \u042e. \u0410\u041d\u0422\u0406\u0427, \u0413. \u0406. \u0420\u0410\u0414\u0415\u041b\u042c\u0427\u0423\u041a<br \/>\n\u0425\u043c\u0435\u043b\u044c\u043d\u0438\u0446\u044c\u043a\u0438\u0439 \u043d\u0430\u0446\u0456\u043e\u043d\u0430\u043b\u044c\u043d\u0438\u0439 \u0443\u043d\u0456\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442<br \/>\nDMYTRO YURIIOVYCH ANTICH, GALINA IVANIVNA RADELCHUK<br \/>\nKhmelnytsky National University<br \/>\n<strong>DOI:<\/strong> <a href=\"https:\/\/www.doi.org\/10.31891\/2307-5732-2021-299-4-54-58\">https:\/\/www.doi.org\/10.31891\/2307-5732-2021-299-4-54-58<\/a><br \/>\n<strong>\u0420\u0435\u0446\u0435\u043d\u0437\u0456\u044f\/Peer review :<\/strong> 08.07.2021 \u0440.<br \/>\n<strong>\u041d\u0430\u0434\u0440\u0443\u043a\u043e\u0432\u0430\u043d\u0430\/Printed :<\/strong> 26.08.2021 \u0440.<\/p>\n<p style=\"text-align: center;\"><strong>\u0410\u043d\u043e\u0442\u0430\u0446\u0456\u044f \u043c\u043e\u0432\u043e\u044e \u043e\u0440\u0438\u0433\u0456\u043d\u0430\u043b\u0443<\/strong><\/p>\n<p>\u0423 \u0440\u043e\u0431\u043e\u0442\u0456 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0456\u0457 \u0432\u0456\u0434\u043c\u043e\u0432\u043e\u0441\u0442\u0456\u0439\u043a\u043e\u0441\u0442\u0456 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043d\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0442\u0430 \u043c\u0435\u0442\u043e\u0434\u0438 \u0440\u0435\u0430\u0433\u0443\u0432\u0430\u043d\u043d\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0438 \u043d\u0430 \u0432\u0456\u0434\u043c\u043e\u0432\u0443. \u0423 \u0434\u043e\u0441\u043b\u0456\u0434\u0436\u0435\u043d\u043d\u0456 \u0432\u0434\u043e\u0441\u043a\u043e\u043d\u0430\u043b\u0435\u043d\u043e \u043c\u0435\u0442\u043e\u0434 \u0440\u0435\u0430\u0433\u0443\u0432\u0430\u043d\u043d\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0438 \u043d\u0430 \u0432\u0456\u0434\u043c\u043e\u0432\u0443 \u0448\u043b\u044f\u0445\u043e\u043c \u043f\u0440\u043e\u0454\u043a\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u043e\u0433\u043e \u0440\u0456\u0448\u0435\u043d\u043d\u044f, \u0449\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0454 \u0432 \u0441\u0435\u0431\u0435 \u0434\u043e\u043e\u043f\u0440\u0430\u0446\u044e\u0432\u0430\u043d\u043d\u044f \u0442\u0430 \u0440\u043e\u0437\u0448\u0438\u0440\u0435\u043d\u043d\u044f \u043a\u043b\u0430\u0441\u0438\u0447\u043d\u0438\u0445 \u043f\u0430\u0442\u0435\u0440\u043d\u0456\u0432 \u0432\u0456\u0434\u043c\u043e\u0432\u043e\u0441\u0442\u0456\u0439\u043a\u043e\u0441\u0442\u0456. \u041e\u0431\u0491\u0440\u0443\u043d\u0442\u043e\u0432\u0430\u043d\u043e \u0434\u043e\u0446\u0456\u043b\u044c\u043d\u0456\u0441\u0442\u044c \u0442\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0456\u0441\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0443 \u0432\u0456\u0434\u043c\u043e\u0432\u043e\u0441\u0442\u0456\u0439\u043a\u043e\u0441\u0442\u0456. \u0423\u0434\u043e\u0441\u043a\u043e\u043d\u0430\u043b\u0435\u043d\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u00ad\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0440\u0435\u0430\u0433\u0443\u0432\u0430\u043d\u043d\u044f \u0442\u0430 \u043f\u043e\u043f\u0435\u0440\u0435\u0434\u0436\u0435\u043d\u043d\u044f \u0432\u0456\u0434\u043c\u043e\u0432, \u0449\u043e \u0434\u043e\u0437\u0432\u043e\u043b\u044f\u0454 \u0437\u043c\u0435\u043d\u0448\u0438\u0442\u0438 \u043a\u0456\u043b\u044c\u043a\u0456\u0441\u0442\u044c \u043f\u043e\u043c\u0438\u043b\u043e\u043a, \u044f\u043a\u0456 \u0432\u0438\u043d\u0438\u043a\u0430\u044e\u0442\u044c \u0443 \u0441\u0438\u0441\u00ad\u0442\u0435\u043c\u0456, \u0443 \u043f\u043e\u0440\u0456\u0432\u043d\u044f\u043d\u043d\u0456 \u0437 \u0456\u0441\u043d\u0443\u044e\u0447\u0438\u043c\u0438 \u0440\u0456\u0448\u0435\u043d\u043d\u044f\u043c\u0438. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0434\u043e\u0441\u043b\u0456\u0434\u0436\u0435\u043d\u043d\u044f \u0454 \u043f\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 \u0437\u0430\u0431\u0435\u0437\u043f\u0435\u0447\u0435\u043d\u043d\u044f \u0432\u0456\u0434\u043c\u043e\u0432\u043e\u0441\u0442\u0456\u0439\u043a\u043e\u0441\u0442\u0456 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043d\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.<br \/>\n<strong>\u041a\u043b\u044e\u0447\u043e\u0432\u0456 \u0441\u043b\u043e\u0432\u0430:<\/strong> \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0432\u0456\u0434\u043c\u043e\u0432\u043e\u0441\u0442\u0456\u0439\u043a\u0456\u0441\u0442\u044c, \u043f\u0430\u0442\u0435\u0440\u043d \u0432\u0456\u0434\u043c\u043e\u0432\u043e\u0441\u0442\u0456\u0439\u043a\u043e\u0441\u0442\u0456<\/p>\n<p style=\"text-align: center;\"><strong>\u0420\u043e\u0437\u0448\u0438\u0440\u0435\u043d\u0430 \u0430\u043d\u043e\u0442\u0430\u0446\u0456\u044f \u0430\u043d\u0433\u043b\u0456\u0439\u0441\u044c\u043a\u043e\u044e \u043c\u043e\u0432\u043e\u044e<\/strong><\/p>\n<p>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.<br \/>\n<strong>Keywords:<\/strong> software system, algorithm, fault tolerance, fault tolerance pattern<\/p>\n<p style=\"text-align: center;\"><strong>References<\/strong><\/p>\n<ol>\n<li>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\/<\/li>\n<li>Warren Axelrod \u0421. Investing in Software resiliency. ResearchGate. URL: https:\/\/www.researchgate.net\/publication\/293515438_Investing_in_software_resiliency\u00ad<\/li>\n<li>Frese M. Error management or error prevention. Two strategies to deal with errors in software design. ResearchGate. URL: https:\/\/www.researchgate.net\/publication\/\u00ad30811276_Error_management_or_error_prevention_Two_strategies_to_deal_with_errors_in_software_design<\/li>\n<li>Circuit breaker pattern. MICROSOFT.COM. URL: https:\/\/docs.microsoft.com\/en-us\/azure\/architecture\/patterns\/circuit-breaker<\/li>\n<li>Retry pattern. MICROSOFT.COM. URL: https:\/\/docs.microsoft.com\/en-us\/azure\/\u2013architecture\/patterns\/retry<\/li>\n<li>Compensation transaction pattern. MICROSOFT.COM. URL: https:\/\/docs.microsoft.com\/\u00aden-us\/azure\/architecture\/patterns\/compensating-transaction<\/li>\n<li>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\/<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[52],"tags":[],"_links":{"self":[{"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=\/wp\/v2\/posts\/8495"}],"collection":[{"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8495"}],"version-history":[{"count":8,"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=\/wp\/v2\/posts\/8495\/revisions"}],"predecessor-version":[{"id":9491,"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=\/wp\/v2\/posts\/8495\/revisions\/9491"}],"wp:attachment":[{"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8495"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}