ВИЗУАЛЬНЫЕ ИНСТРУМЕНТЫ ДЛЯ АНАЛИЗА ОТКАЗОВ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ
VISUAL TOOLS FOR FAILURE ANALYSIS IN DISTRIBUTED SYSTEMS

УРОВЕНЬ ТЕХНИКИ
[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 сервис 104 на основе облака может обеспечивать сервисы клиенту 116 посредством клиентского устройства 118. Сервис 104 на основе облака может быть примером распределенной системы, которая включает в себя множество компонентов, взаимодействующих для обеспечения одного или нескольких сервисов. Сервис 104 на основе облака может обеспечивать обширное множество различных сервисов посредством интерфейса клиента в клиентском устройстве 118. Сервисы могут включать в себя совместное использование документов, сервисы электронной почты, сервисы хранения, помимо прочего. Дополнительно, клиент 116 (который авторизован для взаимодействия с клиентским устройством 118) может быть объектом, который включает в себя человека, множество людей, группу людей, организацию, помимо прочего.
[0021] Сервис 104 на основе облака может быть распределенным приложением, которое обеспечивает сервисы посредством одного или нескольких вычислительных устройств, которые исполняют один или несколько компонентов распределенного приложения. Одно или несколько вычислительных устройств могут быть соединены через одну или несколько сетей, которые используют проводную или беспроводную инфраструктуру. Пример сервиса 104 на основе облака может включать в себя сервис электронной почты. Сервис электронной почты может размещаться во множестве вычислительных устройств. Сервис электронной почты может быть разделен между вычислительными устройствами на основе доступной обрабатывающей способности каждого вычислительного устройства. Сервис электронной почты может быть обеспечен посредством множества компонентов, которые обеспечивают функциональные возможности директорий, сетевые функциональные возможности, функциональные возможности почтового ящика, помимо прочего.
[0022] В другом примерном сценарии сервис 104 на основе облака может включать в себя сервис совместного использования документов. Сервис совместного использования документов может распространять сохраненные документы по множеству вычислительных устройств на основе доступной емкости хранилища каждого вычислительного устройства. Сервис совместного использования документов может быть обеспечен посредством множества компонентов, которые обеспечивают функциональные возможности директории, сетевые функциональные возможности, функциональные возможности размещения документов, помимо прочего. Примеры сервиса 104 на основе облака в качестве сервиса электронной почты и сервиса совместного использования документов были обеспечены не в ограничивающем смысле. Сервис 104 на основе облака может включать в себя любое решение распределенного вычисления, которое обеспечивает сервис одному или нескольким клиентам, таким как клиент 116.
[0023] Клиенту 116 может быть обеспечена возможность взаимодействия с сервисом 104 на основе облака посредством клиентского устройства 118. Клиентское устройство 118 может включать в себя некоторое количество вычислительных устройств, таких как настольный компьютер, интеллектуальный телефон, компьютер-ноутбук, планшетный компьютер, помимо прочих. Клиент 116 может взаимодействовать с сервисом 104 на основе облака посредством интерфейса клиента сервиса 104 на основе облака, который обеспечен клиентским устройством 118. В качестве альтернативы, сервис на основе облака 104 может обеспечивать интерфейс клиента, и клиентское устройство 118 может представлять интерфейс клиента внутри клиентского приложения. Клиент 116 может взаимодействовать с интерфейсом клиента посредством некоторого количества способов ввода, которые могут включать в себя действие 114 на основе прикосновения, ввод на основе клавиатуры, ввод на основе мыши, помимо прочих. Действие 114 на основе прикосновения может включать в себя некоторое количество жестов, таких как действие прикосновения, действие проведения пальцем, помимо прочих.
[0024] Приложение 102 администрирования может анализировать синтетические измерения 108 и данные 110 использования для определения отказа, ассоциированного с компонентом 106 сервиса 104 на основе облака. Приложение 102 администрирования может быть другим компонентом сервиса 104 на основе облака. В качестве альтернативы, приложение администрирования может быть обособленным приложением, которое обеспечивает сервис анализа в связи с распределенными системами, такими как сервис 104 на основе облака.
[0025] Данные 110 использования могут включать в себя вывод от действий клиента, ассоциированного со сценарием использования сервиса 104 на основе облака. Пример действий клиента может включать в себя то, что клиент 116 инициирует схему аутентификации с сервисом 104 на основе облака и взаимодействует с интерфейсом клиента сервиса 104 на основе облака. В сервисе электронной почты в качестве примера сервиса 104 на основе облака примеры действий клиента могут включать в себя то, что клиент 116 аутентифицируется в интерфейсе клиента, извлекает электронную почту и взаимодействует с электронной почтой. В сервисе совместного использования документов в качестве примера сервиса 104 на основе облака примеры действий клиента могут включать в себя то, что клиент 116 аутентифицируется с интерфейсом клиента, извлекает документ и взаимодействует с документом.
[0026] Синтетические измерения 108 могут включать в себя вывод от моделирований действий клиента. Данные 110 использования могут извлекаться из файлов журнала от компонентов сервиса 104 на основе облака или устройств клиента, таких как клиентское устройство 118, захватывающее измерения сценария использования. Синтетические измерения 108 могут выполняться приложением 102 администрирования для определения работоспособности сервиса 104 на основе облака путем обнаружения отказов, ассоциированных со смоделированными сценариями использования. Вывод от данных 110 использования и синтетических измерений 108 может быть синтаксически проанализирован для обнаружения ошибок 107, ассоциированных с компонентами сервиса на основе облака, такими как компонент 106. Компонент 106 может включать в себя аппаратный компонент, такой как сервер, сетевое устройство, процессор, память, устройство хранения, помимо прочего.
[0027] Ошибки 107, обнаруженные из синтетических измерений 108 и данных 110 использования, могут агрегироваться. Ошибки 107 могут агрегироваться на основе критериев, которые включают в себя тип ошибки, идентификацию ассоциированного компонента сервиса 104 на основе облака, тип ассоциированного компонента, помимо прочего. Ошибки 107 могут обрабатываться для создания распределения 112, которое сегментирует ошибки 107 на основе компонентов сервиса 104 на основе облака. В одном примерном сценарии ошибки 107, ассоциированные с компонентом 106, могут быть использованы для создания сегмента распределения.
[0028] Отказавший компонент, такой как компонент 106, который генерирует поднабор ошибок 107, ассоциированных с отказом 109, может быть выделен. Отказ может быть идентифицирован путем вычисления процентного содержания поднабора ошибок 107, ассоциированных с отказавшим компонентом, путем деления количества поднабора на количество ошибок 107. Сегмент распределения 112, ассоциированный с отказом 109, может быть выделен посредством графической схемы, которая включает в себя цветовую схему, вариацию фона сегмента относительно подобных элементов в распределении 112, анимацию, применяемую к сегменту, увеличение размера или вариацию линии сегмента (например, изменение цвета линии и изменение типа штриховки), помимо прочего.
[0029] Распределение 112 может представляться в интерфейсе клиента, отображаемом на клиентском устройстве 118. Распределение 112 может представляться в визуализации, такой как гистограмма, круговая диаграмма, график, помимо прочего. Приложение администрирования может обеспечивать распределение 112, чтобы подчеркнуть информацию отказа вблизи отказавшего компонента для определения отказа 109. Визуализация может включать в себя распределение 112, отображаемое на веб-странице в качестве пользовательского интерфейса (UI) приложения 102 администрирования. Распределение 112 может включать в себя ошибки 107, обработанные в течение некоторого периода времени приложением 102 администрирования, для определения отказа 109, ассоциированного с компонентом 106.
[0030] Дополнительно к обеспечению визуальных инструментов для анализа отказов сервиса 104 на основе облака, приложение 102 администрирования может также быть сконфигурировано для обеспечения визуальных инструментов для анализа отказов других сервисов на основе облака. Приложение 102 администрирования может быть сконфигурировано для отображения визуальных инструментов для других сервисов на основе облака в различных представлениях UI. В качестве альтернативы, приложение 102 администрирования может обеспечивать признаки для интегрирования анализа отказов между сервисом 104 на основе облака и другими сервисами на основе облака.
[0031] В то время как примерная система на фиг.1 была описана с конкретными компонентами, включающими в себя сервис 104 на основе облака и распределение 112, варианты осуществления не ограничиваются этими компонентами или конфигурациями системы и могут осуществляться с другой конфигурацией системы, задействующей меньшее количество или дополнительные компоненты.
[0032] Фиг.2 изображает пример визуализации распределения, которая обеспечивает анализ отказов в распределенных системах, согласно вариантам осуществления.
[0033] В схеме 200 распределение 202, которое обеспечивает визуальные инструменты для анализа отказов в сервисе на основе облака, может быть описано. Приложение администрирования может генерировать распределение 202 из ошибок, идентифицированных в выводе от синтетических измерений и данных использования сервиса на основе облака. Данные использования могут быть анонимизированы перед обработкой путем удаления данных идентификации клиента, таких как IP-адреса клиента, помимо прочего. Ошибки могут быть разделены на группы на основе ассоциации с компонентами. Гистограмма может создаваться из групп в качестве распределения 202. Каждая из групп может быть представлена в виде сегментов распределения 202.
[0034] Согласно некоторым примерам, значение процентного содержания сегментов может сравниваться с порогом 204. Значение процентного содержания может быть вычислено путем деления количества ошибок в одном из сегментов, таком как сегмент 206, на количество ошибок и умножения получившегося в результате значения на 100. В ответ на определение, что значение процентного содержания превосходит порог 204, отказавший компонент, ассоциированный с сегментом 206, может быть идентифицирован как источник отказа. Дополнительно, порог 204 может быть сконфигурирован участником, таким как администратор сервиса на основе облака и член команды, которая администрирует отказавший компонент. Участнику может быть обеспечена возможность увеличить или уменьшить значение порога 204, чтобы уменьшить или увеличить чувствительность приложения администрирования, обнаруживающего отказ сервиса на основе облака.
[0035] Фиг.3 изображает другой пример визуализации распределения, которое обеспечивает анализ отказов в распределенных системах, согласно вариантам осуществления.
[0036] На схеме 300 приложение администрирования может обеспечивать анализ отказов в системе на основе облака. Распределение 302 может генерироваться из вывода от синтетических измерений и данных использования сервиса на основе облака. Выходные данные могут анализироваться для обнаружения ошибок, ассоциированных с компонентами сервиса на основе облака. Ошибки могут быть синтаксически проанализированы и обработаны для генерирования сегментов распределения 302 на основе ассоциаций между ошибками и компонентами.
[0037] Согласно некоторым примерам, приложение администрирования может обеспечивать визуализацию, которая включает в себя распределение 302. Визуализация может включать в себя веб-страницу, представленную в UI приложения администрирования. Распределение 302 может определять отказавший компонент 306 сервиса на основе облака. Отказавший компонент 306 может быть обнаружен на основе того, что поднабор ошибок, ассоциированных с отказавшим компонентом, превзошел порог 304.
[0038] Отказавший компонент 306 может быть выделен информацией отказа путем включения периода времени, ассоциированного с поднабором ошибок, которые были сгенерированы отказавшим компонентом 306. Тип ошибок может быть помечен для описания ошибок участнику распределения 302. Тип ошибок может включать в себя тип 1 (310) ошибки или тип 2 (312) ошибки. Типы ошибок могут сортироваться на основе критериев актуальности для участника. Пример может включать в себя ошибки выхода сети из строя, помеченные как тип 1 (310) ошибки. Ошибки выхода сети из строя могут иметь более высокую ценность для сетевой команды, ассоциированной с отказавшим компонентом 306. Тип 2 (312) ошибки, такой как ошибки ввода/вывода (I/O) подсистемы хранения могут иметь более низкую актуальность для сетевой команды. В результате тип 2 (312) ошибки может быть помещен ниже типа 1 (310) ошибки.
[0039] Приложение администрирования может также определять родственный компонент 308 в распределении 302. Родственный компонент 308, ассоциированный с отказавшим компонентом 306, может быть обнаружен на основе родственного отношения, которое включает в себя совместно используемое соединение, совместно используемый ресурс данных, совместно используемую операцию, помимо прочего. Ошибки, ассоциированные с родственным компонентом 308, могут быть разделены на основе критериев, таких как тип ошибки. Ошибки могут ранжироваться и размещаться на основе актуальности для участника на основе типа ошибки, подобного ошибкам отказавшего компонента 306. Тип 1 (314) ошибки может быть помещен выше типа 2 (316) ошибки на основе того, что актуальность типа 1 (314) ошибки выше, чем у типа 2 (316) ошибки для участника.
[0040] Родственный компонент 308 и другие родственные компоненты могут ранжироваться на основе ассоциированного процентного содержания ошибок, генерируемых родственными компонентами. Родственные компоненты могут быть помещены вблизи отказавшего компонента внутри распределения 302 на основе ассоциированного процентного содержания для выделения родственных компонентов, подверженных воздействию отказа. Родственный компонент 308 с процентным содержанием ошибок, более высоким, чем другие родственные компоненты, может быть помещен по соседству с отказавшим компонентом 306. Другие родственные компоненты могут быть помещены в смежных позициях на основе ассоциированного процентного содержания ошибок. Другой родственный компонент с более низким процентным содержанием ошибок, чем родственный компонент 308, может быть помещен по соседству с родственным компонентом 308, но не как смежный с отказавшим компонентом 306. Родственные компоненты могут быть помещены вблизи отказавшего компонента 306, чтобы подчеркнуть для участника, что родственные компоненты могут иметь необходимость учета вместе с отказавшим компонентом 306.
[0041] Дополнительно, другой компонент 318 может быть помещен в распределении. Другой компонент 318 может генерировать ошибки. Ошибки могут быть разделены на типы ошибок, которые могут быть помечены типом ошибки, таким как тип 3 (320) ошибки. Другой компонент 318 не может относиться к отказавшему компоненту 306. Другой компонент 318 может генерировать ошибки, но недостаточные для превышения порога 304, чтобы требовать обозначения.
[0042] Фиг.4 изображает другой пример визуализации распределения, которое обеспечивает анализ отказов в распределенных системах, согласно вариантам осуществления.
[0043] На схеме 400 приложение администрирования может генерировать распределение 402, чтобы подчеркнуть отказавший компонент 410, который генерирует ошибки, которые превосходят порог 404. Более одного компонента может превосходить порог 404 и побуждать отказ сервиса на основе облака. Дополнительно, родственный компонент 408 может быть помещен смежным образом с отказавшим компонентом, чтобы привлечь внимание к родственному компоненту и ошибкам, генерируемым родственным компонентом 408.
[0044] Согласно некоторым примерам, информация 412 отказа может быть обеспечена приложением администрирования, чтобы подчеркнуть отказ в отказавшем компоненте 410. Информация 412 отказа может определять отказавший компонент 410 с идентификацией отказавшего компонента, процентное содержание поднабора ошибок, ассоциированных с отказавшим компонентом 410, или частоту поднабора внутри распределения 402. Информация 412 отказа может быть представлена в виде всплывающего подокна вблизи отказавшего компонента 410, в виде текста внутри отказавшего компонента 410 или в виде подобной схемы.
[0045] Привилегия доступа участника может быть обнаружена посредством схемы аутентификации. Приложение администрирования может обеспечивать администратору сервиса на основе облака (как участнику) доступ к просмотру детализированной информации, ассоциированной с ошибками, ассоциированными с отказавшим компонентом 410, родственным компонентом 408 и другими компонентами сервиса на основе облака. Приложение администрирования может также обеспечивать члену команды, который управляет отказавшим компонентом 410 (как участнику), доступ к просмотру детализированной информации, ассоциированной с ошибками, ассоциированными с отказавшим компонентом 410 и родственным компонентом 408 сервиса на основе облака. Доступ к ошибками, ассоциированным с другими компонентами сервиса на основе облака, может быть ограниченным или ограниченным членами команды, которая администрирует отказавший компонент 410.
[0046] Техническим эффектом визуальных инструментов для анализа отказов в распределенных системах может быть улучшение анализа ошибки, чтобы охватывать распределенную систему и компоненты распределенной системы, по сравнению с решениями на основе отдельных компонентов.
[0047] Примерные сценарии и схемы на фиг.2 и 4 показаны с конкретными компонентами, типами данных и конфигурациями. Варианты осуществления не ограничиваются системами согласно этим примерным конфигурациям. Обеспечение визуальных инструментов для анализа отказов в распределенных системах может осуществляться в конфигурациях, задействующих меньшее количество или дополнительные компоненты в приложениях и пользовательских интерфейсах. Кроме того, примерная схема и компоненты, изображенные на фиг.2 и 4, и их подкомпоненты могут осуществляться подобным образом с другими значениями с использованием принципов, описанных здесь.
[0048] Фиг.5 изображает примерную сетевую среду, где варианты осуществления могут осуществляться. Приложение администрирования, сконфигурированное для обеспечения визуальных инструментов для анализа отказов в распределенных системах, может осуществляться посредством программных средств, исполняемых над одним или несколькими серверами 514, такими как аутсорсинговый сервис. Платформа может осуществлять связь с приложениями клиентов в отдельных вычислительных устройствах, таких как интеллектуальный телефон 513, компьютер-ноутбук 512 или настольный компьютер 511 ("клиентские устройства") через сеть(-и) 510.
[0049] Клиентские приложения, исполняемые на любом из клиентских устройств 511-513, могут обеспечивать возможность связи через приложение(-я), исполняемое серверами 514 или на отдельном сервере 516. Приложение администрирования может обрабатывать ошибки от синтетических измерений и данные использования сервиса на основе облака для создания распределения, которое сегментирует ошибки на основе компонентов сервиса на основе облака. Один или несколько компонентов, которые отказывают, могут выделяться в распределении и обеспечиваться посредством визуализации. Приложение администрирования может сохранять данные, ассоциированные с распределением, в хранилище(-ах) 519 данных непосредственно или посредством сервера 518 баз данных.
[0050] Сеть(-и) 510 может содержать любую топологию серверов, клиентов, поставщиков сервисов Интернета и носителей связи. Система согласно вариантам осуществления может иметь статическую или динамическую топологию. Сеть(-и) 510 могут включать в себя защищенные сети, такие как сеть предприятия, незащищенную сеть, такую как беспроводная открытая сеть, или Интернет. Сеть(-и) 510 может также координировать связь через другие сети, такие как телефонная коммутируемая сеть общего пользования (PSTN) или сотовые сети. Кроме того, сеть(-и) 510 может включать в себя беспроводные сети ближнего действия, такие как Bluetooth или подобные. Сеть(-и) 510 обеспечивают связь между узлами, описанными здесь. В качестве примера и не ограничения, сеть(-и) 510 могут включать в себя беспроводные носители, такие как акустический, RF, инфракрасный и другие беспроводные носители.
[0051] Множество других конфигураций вычислительных устройств, приложений, источников данных и систем распределения данных могут быть задействованы для обеспечения визуальных инструментов для анализа отказов в распределенных системах. Кроме того, сетевые среды, рассмотренные на фиг.5, приведены только в целях иллюстрации. Варианты осуществления не ограничиваются примерными приложениями, модулями или процессами.
[0052] Фиг.6 изображает универсальное вычислительное устройство, которое может быть сконфигурировано для обеспечения визуальных инструментов для анализа отказов в распределенных системах, скомпонованных в соответствии с по меньшей мере некоторыми вариантами осуществления, описанными здесь.
[0053] Например, вычислительное устройство 600 может быть использовано для обеспечения визуальных инструментов для анализа отказов в распределенных системах. В одном примере базовой конфигурации 602 вычислительное устройство 600 может включать в себя один или несколько процессоров 604 и системную память 606. Шина 608 памяти может быть использована для связи между процессором 604 и системной памятью 606. Базовая конфигурация 602 может быть изображена на фиг.6 компонентами внутри внутренней пунктирной линии.
[0054] В зависимости от желаемой конфигурации, процессор 604 может быть любого типа, включая, но не ограничиваясь, микропроцессор (μΡ), микроконтроллер (μC), процессор цифровых сигналов (DSP) или любую их комбинацию. Процессор 604 может включать в себя еще один уровень кэширования, такой как кэш-память 612 уровня, ядро 614 процессора и реестры 616. Ядро 614 процессора может включать в себя арифметико-логический блок (ALU), блок плавающей точки (FPU), ядро цифровой обработки сигналов (ядро DSP) или любую комбинацию перечисленного. Средство 618 управления памяти может также быть использовано с процессором 604, или в некоторых осуществлениях средство 618 управления памяти может быть внутренней частью процессора 604.
[0055] В зависимости от желаемой конфигурации, системная память 606 может быть любого типа, включая, но не ограничиваясь, энергозависимую память (такую как RAM), энергонезависимую память (такую как ROM, флэш-память и т. д.) или любую их комбинацию. Системная память 606 может включать в себя операционную систему 620, приложение 622 администрирования и программные данные 624. Приложение 622 администрирования может создавать распределение ошибок, разделенных на основе компонентов, которые генерируют ошибки в сервисе на основе облака. Программные данные 624 могут включать в себя, помимо других данных, данные 628 распределения или подобное, как описано здесь. Данные 628 распределения могут включать в себя информацию, ассоциированную с ошибками и отказами.
[0056] Вычислительное устройство 600 может иметь дополнительные признаки или функциональные возможности и дополнительные интерфейсы для обеспечения возможности связи между базовой конфигурацией 602 и любыми желаемыми устройствами и интерфейсами. Например, средство 630 управления шиной/интерфейсом может быть использовано для обеспечения возможности связи между базовой конфигурацией 602 и одним или несколькими устройствами 632 хранения данных посредством шины 634 интерфейса хранилища. Устройства 632 хранения данных могут быть одним или несколькими сменными устройствами хранения 636, одним или несколькими несменными устройствами хранения 638 или их комбинацией. Примеры сменного хранилища и несменных устройств хранения могут включать в себя устройства на основе магнитного диска, такие как накопители на гибких дисках и накопители на жестких дисках (HDD), накопители на оптических дисках, такие как накопители на компакт-дисках (CD) или накопители на универсальных цифровых дисках (DVD), твердотельные накопители (SSD) и ленточные накопители, помимо прочего. Примерные компьютерные носители памяти могут включать в себя энергозависимые и энергонезависимые, сменные и несменные носители, осуществляемые любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные.
[0057] Системная память 606, сменные устройства 636 хранения и несменные устройства 638 хранения могут быть примерами компьютерных носителей информации. Компьютерные носители информации могут включать в себя, но могут не ограничиваться, RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, универсальные цифровые диски (DVD), твердотельные накопители или другое оптическое хранилище, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие магнитные устройства хранения или любой другой носитель, который может быть использован для хранения желаемой информации и к которому может осуществляться доступ вычислительным устройством 600. Любой такой компьютерный носитель информации может входить в состав вычислительного устройства 600.
[0058] Вычислительное устройство 600 может также включать в себя шину 640 интерфейса для обеспечения связи от различных интерфейсных устройств (например, одного или нескольких устройств 642 вывода, одного или нескольких периферийных интерфейсов 644 и одного или нескольких устройств 666 связи) к базовой конфигурации 602 посредством средства 630 управления шины/интерфейса. Некоторые из примерных устройств 642 вывода могут включать в себя графический обрабатывающий блок 648 и звуковой обрабатывающий блок 650, которые могут быть сконфигурированы для осуществления связи с различными внешними устройствами, такими как дисплей или динамики, посредством одного или нескольких A/V-портов 652. Один или несколько примерных периферийных интерфейсов 644 могут включать в себя a средство 654 управления последовательным интерфейсом или средство 656 управления параллельным интерфейсом, которое может быть сконфигурировано для связи с внешними устройствами, такими как устройства ввода (например, клавиатура, мышь, стилус, устройство голосового ввода, устройство сенсорного ввода и т. д.) или другими периферийными устройствами (например, принтером, сканером и т. д.) посредством одного или нескольких I/O-портов 658. Примерное устройство 666 связи может включать в себя средство 660 управления сетью, которое может быть выполнено с возможностью обеспечения возможности связи с одним или несколькими другими вычислительными устройствами 662 по линии сетевой связи посредством одного или нескольких портов 664 связи. Одно или несколько других вычислительных устройств 662 могут включать в себя серверы, клиентское оборудование и сопоставимые устройства.
[0059] Сетевая линия связи может быть одним примером среды связи. Среда связи может осуществляться машиночитаемыми инструкциями, структурами данных, программными модулями или другими данными в модулированном сигнале данных, таком как несущая волна или другой транспортный механизм, и может включать в себя любые носители доставки информации. "Модулированный сигнал данных" может быть сигналом, одна или несколько из характеристик модулированного сигнала данных которого установлены или изменены таким образом, чтобы кодировать информацию в сигнале. В качестве примера и не ограничения, среда связи может включать в себя проводные носители, такие как проводная сеть или непосредственное проводное соединение, и беспроводные носители, такие как акустические, радиочастотные (RF), микроволновые, инфракрасные (IR) и другие беспроводные носители. Термин "машиночитаемые носители", используемый здесь, может включать в себя как носители хранения, так и носители связи.
[0060] Вычислительное устройство 600 может осуществляться в составе универсального или специализированного сервера, мэйнфрейма или подобного компьютера, который включает в себя любую из вышеупомянутых функций. Вычислительное устройство 600 может также осуществляться в качестве персонального компьютера включающего в себя конфигурации как с переносным компьютером, так и с непереносным компьютером.
[0061] Примерные варианты осуществления могут также включать в себя визуальные инструменты для анализа отказов в распределенных системах. Эти способы могут осуществляться любым количеством способов, включая структуры, описанные здесь. Один такой способ может осуществляться посредством машинных операций с использованием устройств типа, описанного в настоящем раскрытии. Другой опциональный способ может быть для одной или нескольких из отдельных операций способов, которые должны быть выполнены в сочетании с тем, как один или несколько людей-операторов выполняют некоторые из операций, в то время как другие операции могут выполняться машинами. Эти люди-операторы могут не находиться в одном месте друг с другом, но каждый может быть с машиной, которая выполняет часть программы. В других примерах, человеческое взаимодействие может быть автоматизировано, например, посредством предварительно выбранных критериев, которые могут быть автоматизированы посредством машины.
[0062] Фиг.7 изображает логическую блок-схему для процесса для обеспечения визуальных инструментов для анализа отказов в распределенных системах согласно вариантам осуществления. Процесс 700 может осуществляться в приложении администрирования сервиса на основе облака.
[0063] Процесс 700 начинается с операции 710, где ошибки от синтетических измерений и данных использования, ассоциированных с сервисом на основе облака, могут агрегироваться. Данные использования могут включать в себя вывод от действий клиента, ассоциированных со сценарием использования сервиса на основе облака. Синтетические измерения могут включать в себя вывод от моделирований действий клиента. На операции 720 ошибки могут обрабатываться для создания распределения, которое сегментирует ошибки на основе компонентов сервиса на основе облака. Отказавший компонент, который генерирует поднабор ошибок, может выделяться на операции 730, где отказавший компонент может быть одним из компонентов сервиса на основе облака. На операции 740 распределение может быть обеспечено в визуализации для определения отказа путем обозначения отказавшего компонента информацией отказа вблизи отказавшего компонента.
[0064] Операции, включенные в процесс 700, приведены в целях иллюстрации. Приложение администрирования согласно вариантам осуществления может осуществляться подобными процессами с меньшим количеством или дополнительными этапами, а также в другом порядке операций с использованием принципов, описанных здесь.
[0065] Согласно некоторым примерам, способ, который, исполняется на вычислительном устройстве для обеспечения визуальных инструментов для анализа отказов в распределенных системах, может быть описан. Способ может включать в себя этапы, на которых агрегируют ошибки от синтетических измерений и данных использования, ассоциированных с сервисом на основе облака, обрабатывают ошибки для создания распределения, которое сегментирует ошибки на основе компонентов сервиса на основе облака, выделяют отказавший компонент, который генерирует поднабор ошибок, ассоциированных с отказом, где отказавший компонент является одним из компонентов, и обеспечивают распределение в визуализации для определения отказа путем обозначения отказавшего компонента информацией отказа вблизи отказавшего компонента.
[0066] Согласно другим примерам, способ может дополнительно включать в себя этапы, на которых анонимизируют данные использования, которые включают в себя вывод от одного или нескольких действий клиента, ассоциированных со сценарием использования сервиса на основе облака, и синтаксически анализируют данные использования и синтетические измерения, которые включают в себя вывод от моделирований одного или нескольких действий клиента. Синтетические измерения и данные использования могут агрегироваться на основе одного или нескольких критериев, которые включают в себя одно или несколько из набора: тип ошибки, идентификация ассоциированного компонента сервиса на основе облака и тип ассоциированного компонента, где синтетические измерения и данные использования собираются в течение совместно используемого периода времени. Ошибки могут быть разделены на группы на основе ассоциации с компонентами, и гистограмма может создаваться из групп в качестве распределения.
[0067] Согласно дополнительным примерам, способ может дополнительно включать в себя этапы, на которых вычисляют процентное содержание ошибок, ассоциированных с поднабором ошибок, путем деления количества поднабора на количество ошибок, в ответ на определение, что процентное содержание превосходит порог, определяют отказавший компонент как источник отказа, выделяют отказавший компонент информацией отказа путем включения периода времени поднабора и типа поднабора в распределение вблизи отказавшего компонента. Информация отказа может быть обеспечена одним или несколькими из набора идентификации отказавшего компонента, процентного содержания поднабора и частоты поднабора внутри распределения для определения отказавшего компонента.
[0068] Согласно некоторым примерам, способ может дополнительно включать в себя этапы, на которых обнаруживают родственные компоненты, ассоциированные с отказавшим компонентом на основе родственного отношения, которое включает в себя одно или несколько из набора совместно используемого соединения, совместно используемого ресурса данных и совместно используемой операции, ранжируют родственные компоненты на основе ассоциированного процентного содержания ошибок, генерируемых родственными компонентами, и помещают родственные компоненты вблизи отказавшего компонента на основе ассоциированного процентного содержания для выделения родственных компонентов, подверженных воздействию отказа.
[0069] Согласно некоторым примерам, вычислительное устройство для обеспечения визуальных инструментов для анализа отказов в распределенных системах может быть описано. Вычислительное устройство может включать в себя память, процессор, объединенный с памятью. Процессор может быть сконфигурирован для исполнения приложения администрирования в сочетании с инструкциями, сохраненными в памяти. Приложение администрирования может быть сконфигурировано, чтобы агрегировать ошибки от синтетических измерений и данных использования, ассоциированных с сервисом на основе облака, где данные использования включают в себя анонимизированный вывод от действий клиента сценария использования сервиса на основе облака, и синтетические измерения включают в себя вывод от моделирований действий клиента, обрабатывать ошибки для создания распределения, которое сегментирует ошибки на основе компонентов сервиса на основе облака, выделять отказавший компонент, который генерирует поднабор ошибок, ассоциированных с отказом, где отказавший компонент является одним из компонентов, и обеспечивать распределение в визуализации для определения отказа путем обозначения отказавшего компонента информацией отказа вблизи отказавшего компонента.
[0070] Согласно другим примерам, приложение администрирования дополнительно сконфигурировано, чтобы обнаруживать привилегию доступа участника посредством схемы аутентификации, где участник является администратором сервиса на основе облака, и обеспечивать доступ к просмотру детализированной информации, ассоциированной с ошибками, ассоциированными с отказавшим компонентом, родственными компонентами отказавшего компонента и другими компонентами сервиса на основе облака.
[0071] Согласно некоторым примерам, приложение администрирования дополнительно сконфигурировано, чтобы обнаруживать привилегию доступа участника посредством схемы аутентификации, где участник является членом команды, которая администрирует отказавший компонент сервиса на основе облака, обеспечивать доступ к просмотру детализированной информации, ассоциированной с ошибками, ассоциированными с отказавшим компонентом, и ошибками, ассоциированными с родственными компонентами отказавшего компонента, и ограничивать доступ к ошибкам, ассоциированным с другими компонентами сервиса на основе облака. Участнику может быть обеспечена возможность конфигурировать порог, ассоциированный с обнаружением отказа, где участник включает в себя администратора сервиса на основе облака и команду, которая администрирует отказавший компонент сервиса на основе облака.
[0072] Согласно некоторым примерам, считываемое компьютером запоминающее устройство с инструкциями, сохраненными на нем для обеспечения визуальных инструментов для анализа отказов в распределенных системах, может быть описано. Инструкции могут включать в себя действия, которые подобны способу, описанному выше.
[0073] Вышеприведенное техническое описание, примеры и данные обеспечивают полное описание изготовления и использования композиции вариантов осуществления. Хотя изобретение было описано на языке, характерном для структурных признаков и/или методологических действий, следует понимать, что изобретение, определенное в прилагаемой формуле изобретения, не обязательно ограничивается конкретными признаками или действиями, описанными выше. В действительности, конкретные признаки и действия, описанные выше, раскрываются в качестве примерных форм осуществления формулы и вариантов осуществления.