ВОССТАНОВЛЕНИЕ ДОСТУПА ДЛЯ ИСПОЛЬЗОВАНИЯ ОСНОВАННОЙ НА ОБЛАКЕ УСЛУГИ ПОСЛЕ ОТКАЗА СИСТЕМЫ
RECOVERY OF ACCESS FOR USE OF CLOUD-BASED SERVICE AFTER SYSTEM FAILURE

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
[0001] Распределенные вычислительные технологии позволили нескольким вычислительным ресурсам предоставлять скоординированные и различные решения. Пример распределенных вычислений, облачные вычисления объединяют несколько систем, чтобы предоставлять решения для потребностей пользователя. Облачные вычисления могут охватывать широкий спектр вычислительных ресурсов. Вычислительные ресурсы, используемые в приложениях и услугах облачных вычислений, рассредоточены по сетям и местоположениям. Осуществляется удаленное управление и администрирование рассредоточенных вычислительных ресурсов. Как правило, реализуемые вручную решения обеспечивают поддержку инсталляции и конфигурации средствам облачных вычислений. Решения инсталляции вручную, посредством человека, компонентов крайне рассредоточенных вычислительных ресурсов не являются экономически эффективными.
[0002] Традиционные решения восстановления применительно к системам облачных вычислений обладают ограничениями. Традиционные решения восстановления, как правило, направлены на отказы в индивидуальных компонентах системы облачных вычислений. Мониторинг работоспособности индивидуального компонента осуществляется локально. Уведомления касательно работоспособности индивидуального компонента передаются центральному контроллеру. Традиционные решения восстановления также осуществляют мониторинг кластера из компонентов. Действия восстановления передаются и исполняются кластером, чтобы урегулировать отказы, ассоциированные с индивидуальными элементами в кластере.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0003] Это краткое изложение сущности изобретения приведено, чтобы представить подборку концепций в упрощенной форме, которые дополнительно описываются ниже в подробном описании. Данное краткое изложение сущности изобретения не предназначено ни для того, чтобы исключительно идентифицировать ключевые признаки или неотъемлемые признаки заявленного изобретения, ни для того, чтобы служить в качестве средства при определении объема заявленного изобретения.
[0004] Варианты осуществления направлены на восстановление доступности для использования основанной на облаке услуги после отказа системы. В некоторых примерных вариантах осуществления, приложение администрирования основанной на облаке услуги может имитировать транзакцию потребителя, ассоциированную с работой с потребителем. Работа с потребителем может включать в себя одну или более транзакций потребителя, которые формируют сценарий использования, ассоциированный с основанной на облаке услугой. Отказ, ассоциированный с основанной на облаке услугой, может быть обнаружен из выходных данных транзакции потребителя, которая была сымитирована. Отказ может быть проанализирован, чтобы определить действие восстановления посредством соотнесения отказа с действием восстановления. Действие восстановления может быть исполнено и может быть осуществлен его мониторинг, чтобы определять статус успешности.
[0005] Эти и другие признаки и преимущества будут очевидны из прочтения нижеследующего подробного описания и просмотра ассоциированных чертежей. Должно быть понятно, что как предшествующее общее описание, так и последующее подробное описание являются поясняющими и не ограничивают заявленные аспекты.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0006] Фиг. 1 является концептуальным графическим представлением, иллюстрирующим примерное восстановление основанной на облаке системы на основании работы с потребителем, в соответствии с вариантами осуществления;
[0007] Фиг. 2 иллюстрирует компоненты схемы, чтобы восстанавливать основанную на облаке услугу на основании работы с потребителем, в соответствии с вариантами осуществления;
[0008] Фиг. 3 иллюстрирует дополнительные компоненты схемы, чтобы восстанавливать основанную на облаке услугу на основании работы с потребителем, в соответствии с вариантами осуществления;
[0009] Фиг. 4 иллюстрирует свойства отчетности схемы, чтобы восстанавливать основанную на облаке услугу на основании работы с потребителем, в соответствии с вариантами осуществления;
[0010] Фиг. 5 является упрощенной сетевой средой, где может быть реализована система в соответствии с вариантами осуществления;
[0011] Фиг. 6 иллюстрирует вычислительное устройство общего назначения, которое может быть выполнено с возможностью восстановления доступности для использования основанной на облаке услуги после отказа системы; и
[0012] Фиг. 7 иллюстрирует логическую блок-схему для процесса, чтобы восстанавливать доступность для использования основанной на облаке услуги после отказа системы, в соответствии с вариантами осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
[0013] Как кратко описано выше, доступность для использования основанной на облаке услуги может быть восстановлена после отказа системы посредством приложения администрирования, ассоциированного с основанной на облаке услугой. Транзакция потребителя, ассоциированная с работой с потребителем, может быть имитирована, чтобы сымитировать работу с потребителем. Отказ, ассоциированный с основанной на облаке услугой, может быть обнаружен из выходных данных транзакции потребителя. Может быть определено действие восстановления, как ассоциированное с отказом. Действие восстановления может быть исполнено и может быть осуществлен его мониторинг, чтобы определять статус успешности.
[0014] В нижеследующем подробном описании, приводятся ссылки на сопроводительные чертежи, которые формируют его часть, и на которых в качестве иллюстраций показаны конкретные варианты осуществления или примеры. Эти аспекты могут быть объединены, могут быть использованы другие аспекты, и могут быть выполнены структурные изменения, не отступая от объема настоящего раскрытия. Нижеследующее подробное описание, вследствие этого, не должно восприниматься в духе ограничения, а объем настоящего изобретения определяется прилагаемой формулой изобретения и ее эквивалентами.
[0015] Несмотря на то, что варианты осуществления будут описаны в общем контексте программных модулей, которые исполняются в связи с прикладной программой, которая работает в операционной системе на вычислительном устройстве, специалистам в соответствующей области техники будет понятно, что аспекты также могут быть реализованы в сочетании с другими программными модулями.
[0016] В целом, программные модули включают в себя подпрограммы, программы, компоненты, структуры данных, и другие типы структур, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Более того, специалистам в соответствующей области техники следует иметь в виду, что варианты осуществления могут быть реализованы на практике с помощью других конфигураций компьютерной системы, включая переносные устройства, многопроцессорные системы, основанную на микропроцессоре или программируемую потребительскую электронику, миникомпьютеры, компьютеры класса мэйнфрейм, и сравнимые вычислительные устройства. Варианты осуществления также могут быть реализованы на практике в распределенных вычислительных средах, где задачи выполняются посредством удаленных устройств обработки которые связаны посредством сети связи. В распределенной вычислительной среде, программные модули могут располагаться как в локальных, так и удаленных запоминающих устройствах памяти.
[0017] Варианты осуществления могут быть реализованы в качестве реализуемого компьютером процесса (способа), вычислительной системы, или в качестве изделия, такого как компьютерный программный продукт или машиночитаемые запоминающие носители информации. Компьютерный программный продукт может быть компьютерным запоминающим носителем информации с возможностью чтения посредством компьютерной системы и кодирующий компьютерную программу, которая содержит инструкции для предписания компьютеру или вычислительной системе выполнять примерный процесс(ы). Машиночитаемый запоминающий носитель информации является машиночитаемым устройством памяти. Машиночитаемый запоминающий носитель информации может, например, быть реализован посредством одного или более из следующего: энергозависимой компьютерной памяти, энергонезависимой компьютерной памяти, накопителя на жестком диске, и флэш-накопителя.
[0018] На всем протяжении данного технического описания, понятие «платформа» может быть сочетанием компонентов программного обеспечения и аппаратного обеспечения, чтобы восстанавливать доступность для использования основанной на облаке услуги после отказа системы. Примеры платформ включают в себя, но не ограничиваются, размещенную услугу, которая исполняется через множество серверов, приложение, которое исполняется на одном вычислительном устройстве, и сравнимые системы. Понятие «сервер», в целом, относится к вычислительному устройству, исполняющему одну или более программы программного обеспечения, как правило, в сетевой среде. Тем не менее, сервер также может быть реализован в качестве виртуального сервера (программ программного обеспечения) исполняемого на одном или более вычислительных устройствах, рассматриваемых в качестве сервера в сети. Больше подробностей в отношении этих технологий и примерные варианты осуществления можно найти в нижеследующем описании.
[0019] Фиг. 1 является концептуальным графическим представлением, иллюстрирующим примерное восстановление основанной на облаке услуги на основании работы с потребителем, в соответствии с вариантами осуществления.
[0020] На графическом представлении 100, основанная на облаке услуга 106 может предоставлять услуги потребителю 108 посредством клиентского устройства 102. Основанная на облаке услуга 106 может предоставлять широкое многообразие услуг через клиентский интерфейс на клиентском устройстве 102. Услуги могут включать в себя совместное использование документов, услуги электронной почты, услуги хранения, среди прочего. В дополнение, потребитель 108 (который является авторизованным, чтобы взаимодействовать с клиентским устройством 102) может быть субъектом, который включает в себя человека, несколько людей, группу людей, организацию, среди прочего.
[0021] Основанная на облаке услуга 106 может быть распределенным приложением, которое предоставляет услуги через одно или более вычислительных устройств, которые исполняют один или более компонентов распределенного приложения. Одно или более вычислительные устройства могут быть соединены через одну или более сети, которые используют проводную или беспроводную инфраструктуру. Пример основанной на облаке услуги 106 может включать в себя услугу электронной почты. Услуга электронной почты может размещаться на нескольких вычислительных устройствах. Услуга электронной почты может быть разделена между вычислительными устройствами на основании доступной емкости обработки каждого вычислительного устройства. В другом примерном сценарии, основанная на облаке услуга 106 может включать в себя услугу совместного использования документов. Услуга совместного использования документов может распространять сохраненные документы по нескольким вычислительным устройствам на основании доступной емкости хранения каждого вычислительного устройства. Примеры основанной на облаке услуги 106 в качестве услуги электронной почты и услуги совместного использования документов были предоставлены не в духе ограничения. Основанная на облаке услуга 106 может включать в себя любое решение распределенного вычисления, которое предоставляет услугу одному или более потребителям, таким как потребитель 108.
[0022] Потребителю 108 может быть разрешено взаимодействовать с основанной на облаке услугой 106 через клиентское устройство 102. Клиентское устройство 102 может включать в себя ряд вычислительных устройств, таких как настольный компьютер, интеллектуальный телефон, компьютер класса ноутбук, планшетный компьютер, среди прочего. Потребитель 108 может взаимодействовать с основанной на облаке услугой 106 через клиентский интерфейс основанной на облаке услуги, который предоставляется посредством клиентского устройства 102. В качестве альтернативы, основанная на облаке услуга 106 может предоставлять клиентский интерфейс, а клиентское устройство 102 может осуществлять рендеринг клиентского интерфейса внутри клиентского приложения. Потребитель 108 может взаимодействовать с клиентским интерфейсом посредством ряда модальностей ввода, которые могут включать в себя основанное на касание действие 110, основанный на клавиатуре ввод, основанный на мыши ввод, среди прочего. Основанное на касании действие 110 может включать в себя ряд жестов, таких как действие касания, действие проводки, среди прочего.
[0023] Одно или более взаимодействия потребителя 108 с клиентским интерфейсом основанной на облаке услуги 106 могут входить в работу 104 с потребителем. Работа 104 с потребителем может быть контейнером для одной или более задач потребителя. Пример работы 104 с потребителем может включать в себя потребителя 108, инициирующего клиентский интерфейс услуги электронной почты и читающего одно или более сообщения электронной почты, ассоциированные с учетной записью пользователя у потребителя 108. Другой пример работы 104 с потребителем может включать в себя потребителя 108, инициирующего клиентский интерфейс редактирования услуги совместного использования документов, чтобы редактировать документ. Работа 104 с потребителем также может включать в себя потребителя 108, редактирующего документ и сохраняющего документ.
[0024] Несмотря на то, что примерная система на Фиг. 1 была описана с особыми компонентами, включая основанную на облаке услугу 106 и работу 104 с потребителем, варианты осуществления не ограничиваются этими компонентами или конфигурациями системы и могут быть реализованы с другой конфигурацией системы, использующей меньшее число или дополнительные компоненты.
[0025] Фиг. 2 иллюстрирует компоненты схемы, чтобы восстанавливать основанную на облаке услугу на основании работы с потребителем, в соответствии с вариантами осуществления.
[0026] На графическом представлении 200, может быть описана схема, чтобы восстанавливать основанную на облаке услугу 206 на основании работы 204 с потребителем. Приложение 210 администрирования может имитировать транзакцию 202 потребителя, чтобы определять отказ 212, ассоциированный с подсистемой 208 основанной на облаке услуги 206.
[0027] Приложение 210 администрирования может включать в себя приложение, которое осуществляет мониторинг и администрирование основанной на облаке услуги 206. Приложение 210 администрирования может быть компонентом основанной на облаке услуги 206. В качестве альтернативы, приложение 210 администрирования может быть стационарным приложением, которое может быть авторизованным, чтобы взаимодействовать с основанной на облаке услугой 206.
[0028] Приложение 210 администрирования может выбирать работу с потребителем из набора работ с потребителем, ассоциированных с мониторингом работоспособности основанной на облаке услуги 206. Мониторинг работоспособности основанной на облаке услуги 206 может включать в себя процессы (такие как мониторинг и урегулирование нарушенной функциональности) для продолжения операций, предоставляемых посредством основанной на облаке услуги 206. В дополнение, работа 204 с потребителем может быть выбрана на основании критерия, который включает в себя частоту использования, историческое распределение использования, и давность использования работы 204 с потребителем. В примерном сценарии, приложение 210 администрирования может выбирать работу 204 с потребителем, которая является наиболее часто используемой, из набора работ с потребителем, которые отсортированы на основании частоты использования. В другом примерном сценарии, приложение 210 администрирования может выбирать работу 204 с потребителем, которая находится в верхней части исторического распределения использования набора работ с потребителем. В еще одном другом примерном сценарии, приложение 210 администрирования может выбирать работу 204 с потребителем, которая является самой последней используемой, из набора работ с потребителем, которые отсортированы на основании давности использования.
[0029] В качестве альтернативы, приложение 210 администрирования может принимать выбор работы 204 с потребителем из набора работ с потребителем, ассоциированных с мониторингом работоспособности основанной на облаке услуги 206. Выбор может быть сделан посредством заинтересованной стороны, включающей в себя потребителя, ассоциированного с работой 204 с потребителем, или администратора основанной на облаке 206 услуги.
[0030] Кроме того, работа 204 с потребителем может хранить транзакцию 202 потребителя. Транзакция 202 потребителя может включать в себя одну или более команд, которые могут быть исполнены посредством основанной на облаке услуги 206 через подсистему 208. Подсистема 208 может генерировать выходные данные во время имитации транзакции 202 потребителя. Выходные данные могут быть использованы, чтобы определять отказ, ассоциированный с транзакцией 202 потребителя.
[0031] Приложение 210 администрирования также может определять, что работа 204 с потребителем может хранить одну или более других транзакции потребителя наряду с транзакцией 202 потребителя. Одна или более другие транзакции потребителя также могут быть сымитированы, чтобы обнаружить отказ 212 или один или более другие отказы, ассоциированные с основанной на облаке услугой 206. Пример может включать в себя имитацию работы 204 с потребителем в услуге электронной почты в качестве примера основанной на облаке услуги 206. Транзакция 202 потребителя может включать в себя действие инициирования интерфейса электронной почты. Одна или более другие транзакции потребителя могут включать в себя извлечение сообщений электронной почты и осуществление рендеринга сообщений электронной почты, ассоциированных с работой 204 с потребителем.
[0032] Подсистема 208 основанной на облаке услуги 206 может имитировать транзакцию 202 потребителя. Отказ 212 может быть обнаружен во время имитации транзакции 202 потребителя. Подсистема 208 может представлять отчет об отказе 212 посредством выходных данных транзакции 202 потребителя.
[0033] В качестве альтернативы, отказ 212 также может быть экстраполирован по данным использования. Данные использования также могут именоваться пассивными данными. Данные использования могут включать в себя измерения одной или более транзакций потребителя сценария использования основанной на облаке услуги 206. Измерения могут захватывать ошибки, ассоциированные со сценарием использования основанной на облаке услуги 206. Клиентское устройство, ассоциированное с основанной на облаке услугой 206, может захватывать данные использования и передавать данные использования приложению анализа, такому как приложение 210 администрирования. Приложение 210 администрирования может обрабатывать данные использования, чтобы обнаружить отказ 212 на основании количества ошибок, представляемого в отчете посредством данных использования, которое превышает пороговую величину. Пороговая величина может быть сконфигурирована заинтересованной стороной основанной на облаке услуги 206. Конфиденциальные данные также могут быть удалены из данных использования, чтобы придать анонимность данным использования. Пример конфиденциальных данных может включать в себя местоположение потребителя, среди прочего. Данные использования также могут быть агрегированы на основании общих критериев, таких как информация идентификации одной или более подсистем, ассоциированных с основанной на облаке услугой 206, которые отказывают, среди прочего.
[0034] Данные использования могут быть зафиксированы в файлы журнала регистрации посредством клиентского устройства и переданы приложению 210 администрирования. Приложение 210 администрирования может разбирать файлы журнала регистрации, чтобы извлекать информацию, ассоциированную с отказом 212. Приложение 210 администрирования также может извлекать данные использования из других источников, таких как устройства основанной на облаке услуги 206. Основанная на облаке услуга 206 может распределять ресурсы, чтобы захватывать измерения сценариев использования, ассоциированных с потребителями. Измерения могут быть сохранены в качестве данных использования и сделаны доступными для приложений анализа, таких как приложение 210 администрирования, для мониторинга и анализа отказа 212.
[0035] Фиг. 3 иллюстрирует дополнительные компоненты схемы, чтобы восстанавливать основанную на облаке услугу на основании работы с потребителем, в соответствии с вариантами осуществления.
[0036] В графическом представлении 300, приложении 310 администрирования может определять отказ 312 из выводных данных 314 транзакции потребителя, сымитированной в основанной на облаке услуге 306. Выходные данные 314 также могут быть агрегированы на основании общих критериев, таких как информация идентификации одной или более подсистем, ассоциированных с основанной на облаке услугой 306, которые отказывают, среди прочего. Отказ 312 может быть соотнесен с действием 316 восстановления, которое может быть исполнено в подсистеме 308, ассоциированной с отказом 312. Может быть осуществлен мониторинг действия 316 восстановления, чтобы определять статус успешности 318 действия 316 восстановления.
[0037] Приложение 310 администрирования может исполнять действие 316 восстановления в подсистеме 308, чтобы восстанавливать подсистему 308 до работоспособного статуса. В качестве альтернативы, действие 316 восстановления может быть исполнено, чтобы перенаправить один или более процессов, ассоциированных с подсистемой 308 (отказавшей подсистемой), в работоспособную подсистему, которая предоставляет функциональную возможность преодоления отказа.
[0038] В соответствии с некоторыми примерами, одна или более метрики, ассоциированные с работой с потребителем, могут быть отслежены при мониторинге 316 действия восстановления. Одна или более метрики могут включать в себя измерения, ассоциированные с одной или более транзакциями потребителя, сымитированными в одной или более подсистемах основанной на облаке услуги 306. Мониторинг метрик может быть осуществлен во время действия 316 восстановления, чтобы определять, что одна или более метрики выше одной или более пороговых величин, ассоциированных с статусом успешности 318.
[0039] Показатель доступности может быть сгенерирован из метрик, ассоциированных с подсистемой 308, которая может быть имитирующей работу с потребителем. Метрики могут быть определены из выходных данных 314. Отказ 312 может быть определен в ответ на другое определение того, что показатель доступности находится ниже, чем пороговая величина. Пороговая величина может быть конфигурируемой посредством администратора основанной на облаке услуги 306.
[0040] Приложение 310 администрирования также может определять другое действие восстановления, которое является ассоциированным с отказом 312, в ответ на определение того, что статус успешности 318 является отрицательным. Когда действию 316 восстановления не удается восстановить подсистему 308 до работоспособного статуса, тогда приложение 310 администрирования может извлечь другое действие восстановления из списка действий восстановления, которое сопоставлено с отказом 312, и исполнить другое действие восстановления. Также может быть осуществлен мониторинг другого действия восстановления, чтобы определять статус успешности 318 для восстановления подсистемы 308 до работоспособного статуса. Действие 316 восстановления может быть первым действием восстановления. Другое действие восстановления может быть вторым действием восстановления.
[0041] В соответствии с другими примерами, приложение 310 администрирования может анализировать выходные данные 314, чтобы определять один или более критериев. Критерии могут включать в себя информацию идентификации одной или более подсистем, ассоциированных с основанной на облаке услугой 306, которые отказывают, количество из одной или более подсистем, которые отказывают, шаблон, ассоциированный с одной или более подсистемами, которые отказывают, среди прочего. Критерии могут быть включены в отказ 312. Отказ 312 может быть соотнесен с действием 316 восстановления на основании критериев.
[0042] Фиг. 4 иллюстрирует свойства отчетности схемы, чтобы восстанавливать основанную на облаке услугу на основании работы с потребителем, в соответствии с вариантами осуществления.
[0043] В графическом представлении 400, приложение 410 администрирования может генерировать отчет 420 на основании имитации работы с потребителем в основанной на облаке услуге, чтобы определять один или более отказы в основанной на облаке услуге. Отчет 420 может включать в себя информацию, ассоциированную с отказом 412, действие 416 восстановления, или статус успешности 418. Отчет 420 может быть отформатирован, чтобы совпадать с форматом отчетности, как запрошено заинтересованной стороной 422.
[0044] Заинтересованная сторона 422 может включать в себя потребителя, ассоциированного с работой с потребителем. Заинтересованная сторона 422 также может включать в себя администратора основанной на облаке системы. Отчет 420 может быть передан на основании расписания. В качестве альтернативы, отчет 420 может быть передан динамически на основании заключения имитации работы с пользователем и урегулирования отказа 412.
[0045] Технический результат восстановления доступности для использования основанной на облаке услуги после отказа системы может включать в себя улучшения в возобновлении основанной на облаке услуги, когда обнаруживаются условия отказа касательно одной или более подсистем услуги.
[0046] Примерные сценарии и схемы на Фиг. 2 и 4 показаны с особыми компонентами, типами данных и конфигурациями. Варианты осуществления не ограничиваются системами в соответствии с этими примерными конфигурациями. Восстановление доступности для использования основанной на облаке услуги после отказа системы может быть реализовано в конфигурациях, использующих меньшее число или дополнительные компоненты в приложениях и интерфейсах пользователя. Кроме того, примерная схема и компоненты, показанные на Фиг. 2 и 4, и их субкомпоненты могут быть реализованы сходным образом с другими значениями, используя принципы, описанные в данном документе.
[0047] Фиг. 5 является примерной сетевой средой, где могут быть реализованы варианты осуществления. Приложение администрирования, выполненное с возможностью предоставления основанного на потребители восстановления основанной на облаке услуги, может быть реализовано через программное обеспечение, исполняемое через один или более серверы 514, такое как размещенная услуга. Платформа может осуществлять связь с клиентскими приложениями на индивидуальных вычислительных устройствах, таких как интеллектуальный телефон 513, компьютер 512 класса лэптоп, настольный компьютер 511 (ʹклиентские устройстваʹ) посредством сети(ей) 510.
[0048] Клиентские приложения, исполняемые на любом из клиентских устройств 511-513, может способствовать связи через приложение(я), исполняемое посредством серверов 514, или на индивидуальном сервере 516. Приложение администрирования может имитировать работу с потребителем, чтобы определять один или более отказы в основанной на облаке услуге. Отказ может быть соотнесен с действием восстановления, которое может быть исполнено и мониторинг которого может быть осуществлен, чтобы определять статус успешности действия восстановления. Приложение администрирования может хранить данные, ассоциированные с отказом и действием восстановления, в хранилище(ах) 519 данных непосредственно или посредством сервера 518 базы данных.
[0049] Сеть(и) 510 может содержать любую топологию серверов, клиентов, поставщиков услуг Интернет, и средств связи. Система в соответствии с вариантами осуществления может иметь статическую или динамическую топологию. Сеть(и) 510 может включать в себя защищенные сети, такие как корпоративная сеть, незащищенную сеть, такую как беспроводная открытая сеть, или Интернет. Сеть(и) 510 также может осуществлять координацию связи по другим сетям, таким как Телефонная Коммутируемая Сеть Общего Пользования (PSTN) или сотовые сети. Кроме того, сеть(и) 510 может включать в себя беспроводные сети малого радиуса действия, такие как Bluetooth и сходные. Сеть(и) 510 обеспечивает связь между узлами, описываемыми в данном документе. В качестве примера, а не ограничения, сеть(и) 510 может включать в себя беспроводные средства связи, такие как акустические, RF, инфракрасные и другие беспроводные средства связи.
[0050] Много других конфигураций вычислительных устройств, приложений, источников данных, и систем распространения данных может быть использовано, чтобы восстанавливать доступность для использования основанной на облаке услуги после отказа системы. Кроме того, сетевые среды, которые обсуждались на Фиг. 5, служат лишь в целях иллюстрации. Варианты осуществления не ограничиваются примерными приложениями, модулями, или процессами.
[0051] Фиг. 6 иллюстрирует вычислительное устройство общего назначения, которое может быть выполнено с возможностью восстановления доступности для использования основанной на облаке услуги после отказа системы, скомпонованное в соответствии с, по меньшей мере, некоторыми вариантами осуществления, описываемыми в данном документе.
[0052] Например, вычислительное устройство 600 может быть использовано, чтобы восстанавливать доступность для использования основанной на облаке услуги после отказа системы. В примере базовой конфигурации 602, вычислительное устройство 600 может включать в себя один или более процессоры 604 и системную память 606. Шина 608 памяти может быть использована для связи между процессором 604 и системной памятью 606. Базовая конфигурация 602 может быть проиллюстрирована на Фиг. 6 теми компонентами, которые находятся внутри пунктирной линии.
[0053] В зависимости от требуемой конфигурации, процессор 604 может быть любого типа, включая, но не ограничиваясь, микропроцессор (μP), микроконтроллер (μC), цифровой сигнальный процессор (DSP), или любое их сочетание. Процессор 604 может включать в себя еще уровни кэширования, такие как кэш-память 612 уровня, ядро 614 процессора, и регистры 616. Ядро 614 процессора может включать в себя арифметико-логическое устройство (ALU), блок арифметики с плавающей точкой (FPU), ядро цифровой сигнальной обработки (DSP Ядро), или любое их сочетание. Контроллер 618 памяти также может быть использован с процессором 604, или в некоторых реализациях, контроллер 618 памяти может быть внутренней частью процессора 604.
[0054] В зависимости от требуемой конфигурации, системная память 606 может быть любого типа, включая, но не ограничиваясь, энергозависимую память (такую как RAM), энергонезависимую память (такую как ROM, флэш-память, и т.д.), или любое их сочетание. Системная память 606 может включать в себя операционную систему 620, приложение 622 администрирования, и данные 624 программы. Приложение 622 администрирования может имитировать работу с потребителем, чтобы определять один или более отказы в основанной на облаке услуге. Приложение администрирования 622 может соотносить отказ с действием восстановления и исполнять действие восстановления, чтобы восстанавливать подсистему, ассоциированную с отказом. Данные 624 программы могут включать в себя, среди прочих данных, данные 628 имитации, или подобное, как описывается в данном документе. Данные 628 имитации могут включать в себя информацию, ассоциированную с отказом и действием восстановления.
[0055] Вычислительное устройство 600 может обладать дополнительными признаками или функциональными возможностями, и дополнительными интерфейсами, чтобы способствовать связи между базовой конфигурацией 602 и любыми требуемыми устройствами и интерфейсами. Например, контроллер 630 шины/интерфейса может быть использован, чтобы способствовать связи между базовой конфигурацией и одним или более устройствами 632 хранения данных через шину 634 интерфейса хранения. Устройства 632 хранения данных могут быть одним или более съемными запоминающими устройствами 636, одним или более несъемными запоминающими устройствами 638, или их сочетанием. Примеры съемных запоминающих и несъемных запоминающих устройств могут включать в себя устройства магнитного диска, такие как накопители на гибком диске и накопители на жестком диске (HDD), накопители на оптическом диске, такие как накопители на компакт-диске (CD) или накопители на цифровом универсальном диске (DVD), твердотельные накопители (SSD), накопители на ленте, чтобы перечислить лишь некоторые. Примерные компьютерные запоминающие носители информации могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители информации, реализованные любым способом или по любой технологии для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули, или другие данные.
[0056] Системная память 606, съемные запоминающие устройства 636, и несъемные запоминающие устройства 638 могут быть примерами компьютерных запоминающих носителей информации. Компьютерные запоминающие носители информации могут включать в себя, но не ограничиваются, RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, цифровые универсальные диски (DVD), твердотельные накопители, или другое оптическое хранилище, магнитные кассеты, магнитную ленту, хранилище на магнитном диске или другие магнитные запоминающие устройства, или любой другой носитель информации, который может быть использован, чтобы хранить требуемую информацию, и доступ к которому может быть осуществлен посредством вычислительного устройства 600. Любые такие компьютерные запоминающие носители информации могут быть частью вычислительного устройства 600.
[0057] Вычислительное устройство 600 также может включать в себя шину 640 интерфейса, чтобы способствовать осуществлению связи от разнообразных устройств интерфейса (например, одного или более устройств 642 вывода, одного или более периферийных интерфейсов 644, и одного или более устройств 666 связи) к базовой конфигурации 602, через контроллер 630 шины/интерфейса. Некоторые из примерных устройств 642 вывода могут включать в себя блок 648 обработки графики и блок 650 обработки аудио, которые могут быть выполнены с возможностью осуществления связи с разнообразными внешними устройствами, такими как дисплей или громкоговорители через один иди более A/V порты 652. Один или более примерные периферийные интерфейсы 644 могут включать в себя контроллер 654 последовательного интерфейса или контроллер 656 параллельного интерфейса, которые могут быть выполнены с возможностью осуществления связи с внешними устройствами, такими как устройства ввода (например, клавиатура, мышь, перо, устройство голосового ввода, устройство сенсорного ввода, и т.д.) или другие периферийные устройства (например, принтер, сканер, и т.д.) через один или более порты 658 I/O. Примерное устройство 666 связи может включать в себя сетевой контроллер 660, который может быть выполнен, чтобы способствовать осуществлению связи с одним или более другими вычислительными устройствами 662 по сетевой линии связи через один или более порты 664 связи. Одно или более другие вычислительные устройства 662 могут включать в себя серверы, клиентское оборудование, и сравнимые устройства.
[0058] Сетевая линия связи может быть одним примером средств связи. Средства связи могут быть воплощены посредством машиночитаемых инструкций, структур данных, программных модулей, или других данных в модулированном сигнале данных, таком как несущая волна или другой механизм транспорта, и могут включать в себя любые средства доставки информации. «Модулированный сигнал данных» может быть сигналом, у которого одна или более характеристики модулированного сигнала данных установлены или изменены таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, средства связи могут включать в себя проводные средства, такие как проводная сеть или непосредственное проводное соединение, беспроводные средства, такие как акустические, радиочастотные (RF), микроволновые, инфракрасные (IR) и другие беспроводные средства. Понятие машиночитаемый носитель информации, используемое в данном документе, может включать в себя как запоминающие носители информации, так и средства связи.
[0059] Вычислительное устройство 600 может быть реализовано как часть сервера общего назначения или специализированного сервера, мэйнфрейма, или сходного компьютера, который включает в себя любую из вышеуказанных функций. Вычислительное устройство 600 также может быть реализовано в качестве персонального компьютера, включающего в себя как конфигурацию компьютера класса лэптоп, так и конфигурацию компьютера класса не-лэптоп.
[0060] Примерные варианты осуществления также могут включать в себя восстановление доступности для использования основанной на облаке услуги после отказа системы. Эти способы могут быть реализованы любым количеством путей, включая структуры, описываемые в данном документе. Один такой путь может быть посредством машинных операций, используя устройства типа, описанного в настоящем раскрытии. Другой опциональный путь может состоять в том, что применительно к одной или более индивидуальным операциям способов, они должны выполняться в таком сочетании, что некоторые из операций выполняет один или более люди-операторы, тогда как другие операции могут быть выполнены посредством машин. Не требуется чтобы эти люди-операторы находились рядом друг с другом, однако каждый может быть с машиной, которая выполняет часть программы. В других примерах, взаимодействие человека может быть автоматизировано например, посредством предварительно выбранных критериев, которое может быть автоматизировано машиной.
[0061] Фиг. 7 иллюстрирует логическую блок-схему для процесса, чтобы восстанавливать доступность для использования основанной на облаке услуги после отказа системы, в соответствии с вариантами осуществления. Процесс 700 может быть реализован в приложении администрирования основанной на облаке услуги.
[0062] Процесс 700 начинается в операции 710, где может быть имитирована транзакция потребителя, ассоциированная с работой с потребителем. Транзакция потребителя может включать в себя одну или более команд, чтобы имитировать работу с потребителем в основанной на облаке услуге. На операции 720, отказ, ассоциированный с основанной на облаке услугой, может быть обнаружен исходя из выходных данных транзакции потребителя. Действие восстановления, ассоциированное с отказом, может быть определено на операции 730. Отказ может быть соотнесен с действием восстановления на основании сопоставления в списке действий восстановления. Далее, действие восстановления может быть исполнено на операции 740. На операции 750, может быть осуществлен мониторинг действия восстановления, чтобы определять статус успешности, ассоциированный с действием восстановления.
[0063] Операции, включенные в процесс 700, служат в целях иллюстрации. Приложение администрирования в соответствии с вариантами осуществления может быть реализовано посредством сходных процессов с меньшим числом или дополнительными этапами, как впрочем и с отличной очередностью операций, используя принципы, описанные в данном документе.
[0064] В соответствии с некоторыми примерами, может быть описан способ, который исполняется на вычислительном устройстве, чтобы восстанавливать доступность для использования основанной на облаке услуги после отказа. Способ может включать в себя этапы, на которых: имитируют транзакцию потребителя, ассоциированную с работой с потребителем; обнаруживают отказ, ассоциированный с основанной на облаке услугой, из выходных данных транзакции потребителя; определяют действие восстановления, ассоциированное с отказом; исполняют действие восстановления; и осуществляют мониторинг действия восстановления, чтобы определять статус успешности, ассоциированный с действием восстановления.
[0065] В соответствии с другими примерами, работа с потребителем может быть выбрана из набора работ с потребителем, ассоциированных с мониторингом работоспособности основанной на облаке услуги, где работа с потребителем выбирается на основании критериев, которые включают в себя, по меньшей мере, одно из набора в виде: частоты использования, исторического распределения использования и давности использования. Может быть принят выбор работы с потребителем из набора работ с потребителем, ассоциированных с мониторингом работоспособности основанной на облаке услуги, где выбор может быть сделан посредством заинтересованной стороны, включающей в себя одно из набора в виде потребителя, ассоциированного с работой с потребителем, и администратора основанной на облаке услуги. Работа с потребителем может быть определена, как хранящая транзакцию потребителя наряду с одной или более другими транзакциями потребителя. Одна или более транзакции потребителя могут быть сымитированы, чтобы обнаружить отказ или один или более другие отказы, ассоциированные с основанной на облаке услугой.
[0066] В соответствии с дополнительными примерами, способ может дополнительно включать в себя этапы, на которых соотносят отказ с подсистемой, ассоциированной с основанной на облаке услугой, и исполняют действие восстановления в подсистеме, чтобы восстановить подсистему до работоспособного статуса. Способ может дополнительно включать в себя этапы, на которых соотносят отказ с отказавшей подсистемой, ассоциированной с основанной на облаке услугой, и исполняют действие восстановления, чтобы перенаправить один или более процессов, ассоциированных с отказавшей подсистемой, в работоспособную подсистему, которая предоставляет функциональную возможность преодоления отказа. Одна или более метрики, ассоциированные с работой с потребителем, может быть отслежена при мониторинге действия восстановления, чтобы определять, что одна или более метрики выше одной или более пороговых величин, ассоциированных с статусом успешности. Отказ может быть сопоставлен с действием восстановления из списка действий восстановления.
[0067] В соответствии с другими примерами, способ может дополнительно включать в себя в ответ на определение того, что статус успешности является негативным, этапы, на которых определяют другое действие восстановления, которое является ассоциированным с отказом, и исполняют другое действие восстановления. Может быть осуществлен мониторинг действия восстановления, чтобы определять статус успешности, ассоциированный с другим действием восстановления. Отказ может быть сгенерирован из выходных данных посредством анализа выходных данных, чтобы различать одну или более отказавшие подсистемы, ассоциированные с основанной на облаке услугой.
[0068] В соответствии с некоторыми примерами, может быть описано вычислительное устройство, чтобы восстанавливать доступность для использования основанной на облаке услуги после отказа. Вычислительное устройство может включать в себя память, процессор, связанный с памятью. Процессор может быть выполнен с возможностью исполнения приложения администрирования в связи с инструкциями, хранящимися в памяти. Приложение администрирования может быть выполнено с возможностью: имитации транзакции потребителя, ассоциированной с работой с потребителем, где работа с потребителем хранит транзакцию потребителя; обнаружения отказа, ассоциированного с основанной на облаке услугой, из выходных данных транзакции потребителя; определения действия восстановления, ассоциированного с отказом; исполнения действия восстановления; и мониторинга действия восстановления, чтобы определять статус успешности, ассоциированный с действием восстановления.
[0069] В соответствии с другими примерами, приложение администрирования дополнительно выполнено с возможностью: генерирования отчета, который включает в себя информацию, ассоциированную с отказом, и передачи отчета заинтересованной стороне, ассоциированной с основанной на облаке системой, где заинтересованная сторона включает в себя потребителя, ассоциированного с работой с потребителем, и администратора основанной на облаке системы. Приложение администрирования дополнительно выполнено с возможностью: генерирования отчета, который включает в себя информацию, ассоциированную с действием восстановления и статусом успешности, и передачи отчета заинтересованной стороне, ассоциированной с основанной на облаке системой, где заинтересованная сторона включает в себя потребителя, ассоциированного с работой с потребителем, и администратора основанной на облаке системы.
[0070] В соответствии с некоторыми примерами, приложение администрирования дополнительно выполнено с возможностью анализа выходных данных, чтобы определять один или более критерии, которые включают в себя, по меньшей мере, одно из набора в виде: одной или более подсистем, ассоциированных с основанной на облаке услугой, которые отказывают; количество из одной или более подсистем, которые отказывают; и шаблон, ассоциированный с одной или более подсистемами, которые отказывают. Один или более критерии могут быть включены в отказ и отказ может быть соотнесен с действием восстановления, на основании критериев. Показатель доступности может быть сгенерирован из метрик, ассоциированных с одной или более подсистемами основанной на облаке услуги в рамках выходных данных. Отказ может быть определен в ответ на определение того, что показатель доступности меньше, чем пороговая величина, где пороговая величина является конфигурируемой посредством администратора основанной на облаке услуги.
[0071] В соответствии с некоторыми примерами, может быть описано машиночитаемое устройство памяти с хранящимися на нем инструкциями, чтобы восстанавливать доступность для использования основанной на облаке услуги после отказа. Инструкции могут включать в себя действия, которые сходны со способом, описанным выше.
[0072] Приведенное выше техническое описание, примеры и данные предоставляют законченное описание изготовления и использования состава вариантов осуществления. Несмотря на то, что изобретение было описано языком, специфичным для структурных признаков и/или методологических действий, должно быть понятно, что объем изобретения, определяемый прилагаемой формулой изобретения, не обязательно ограничивается конкретными признаками или действиями описанными выше. Наоборот, конкретные признаки и действия, описанные выше, раскрываются в качестве примерных форм реализации формулы изобретения и вариантов осуществления.