Тайм-ауты адаптивного сервиса

Авторы патента:


Тайм-ауты адаптивного сервиса
Тайм-ауты адаптивного сервиса
Тайм-ауты адаптивного сервиса
Тайм-ауты адаптивного сервиса
Тайм-ауты адаптивного сервиса

 


Владельцы патента RU 2617331:

ЭМАЗН ТЕКНОЛОДЖИЗ, ИНК. (US)

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

 

Приведенная ниже заявка утверждает приоритет над и преимущество по отношению к Патентной Заявке США под названием "Adaptive Service Timeouts", поданной 18 сентября 2012 года, имеющей номер заявки 13/622,094, которая включена здесь в качестве ссылки во всей своей полноте.

Уровень техники

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

Краткое описание графических материалов

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

Фиг. 1 иллюстрирует сетевую среду в соответствии с различными вариантами реализации настоящего раскрытия.

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

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

Фиг. 4 является блок-схемой, представляющей один пример иллюстрации вычислительной среды, работающей в сетевой среде на Фиг. 1 в соответствии с различными вариантами реализации настоящего раскрытия.

Подробное описание изобретения

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

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

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

Со ссылкой на Фиг. 1, показанное является сетевой средой 100 в соответствии с различными вариантами реализации. Сетевая среда 100 содержит вычислительную среду 101 и клиента 104, которые друг с другом осуществляют коммуникацию данных через сеть 107. Сеть 107 содержит, например, Интернет, интранеты, экстранеты, глобальные сети (WAN), локальные сети (LAN), проводные сети, беспроводные сети, или другие подходящие сети и т.д., или любую комбинацию двух или более таких сетей.

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

Различные приложения и/или другие функциональные возможности могут быть выполнены в вычислительной среде 101 в соответствии с различными вариантами реализации. Также, вычислительной среде 101 доступны различные данные, размещенные в хранилище данных 111. Хранилище данных 111 - по оценке - может быть представителем множества хранилищ данных 111. Данные, хранящиеся в хранилище данных 111, например, связаны с работой различных приложений и/или функциональных объектов, описанные ниже.

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

В состав сервисов 117 входят функциональные возможности, которые, в ответ на запрос, выполняют некоторое действие или возвращают в ответ некоторые данные. Сервисы 117 могут включать в себя функциональные возможности обслуживания сетевых страниц, чтения данных из или загрузки данных в хранилище данных, выполнения преобразований данных, коммуникацию с другими приложениями, управления сетевым трафиком или некоторые другие функциональные возможности. Сервисы 117 могут быть воплощены в архитектуре передачи репрезентативного состояния (RESTful) или некоторых других архитектурах. Сервис 117 может потребовать выполнения одного или более дочерних сервисов 117 для завершения сервисного вызова 117. Сервис 117 может быть выполнен и вызван для облегчения обработки запросов 122, посланных клиентом 104, чтобы генерировать ответ срабатывания 123, или для других целей.

Каждый из сервисов 117, выполненный в вычислительной среде 101, связан по меньшей мере с одним тайм-аутом 121. Вызываемый сервис 117 может иметь много тайм-аутов 121, каждый из которых соответствует другому сервису 117, который вызывает названный сервис 117. Тайм-аут 121 определяет максимальный порог времени, чтобы завершить вызов сервиса 117. Если сервису 117 не удается завершить вызов в течение тайм-аута 121, сервис 117 возвращает сообщение об ошибке источнику вызова.

Каждый из сервисов 117 также соответствует задержке, свидетельствующей о времени, необходимом для завершения вызова, соответствующего одному из сервисов 117. Задержка может зависеть от количества используемых системных ресурсов в вычислительной среде 101 относительно общей мощности системных ресурсов. Например, вычислительная среда 101 может иметь высокое количество используемых системных ресурсов при обработке многих сервисных запросов 117 или когда услуги 117 называют затратными, что приводит к увеличению задержек в некоторых сервисах 117.

Данные, накопленные в хранилище данных 111, содержат, например, данные, отражающие классы сервисов 124, приоритетный список сервисов 127, модель зависимости 131 и, возможно, другие данные. Классы сервисов 124 представляют собой распределение выполненных услуг 117 по одной или более группировкам. Группировки могут быть взаимоисключающими или допускать для сервиса 117 принадлежность к нескольким группам. Группировки могут быть упорядочены самими собой или упорядочены в некоторую иерархию. Группировки также могут быть основаны на некоторых качественных оценках включенных сервисов 117, таких как, например, по приоритету.

Приоритетный список сервисов 127 воплощает упорядочивание выполненных сервисов 117 с учетом их приоритета доступности. Приоритетный список сервисов 127 может содержать суммарный объем выполненных сервисов 117 или его подмножество. Может быть сохранено множество приоритетных списков сервисов 127 для извлечения с целью поиска в качестве функции одного или более заранее определенных условий.

Модель зависимости 131 воплощает связи и зависимости между выполненными сервисами 117. Структура модели зависимости 131 может содержать дерево, какой-либо другой направленный ациклический граф или иную структуру данных. Узлы в схеме модели зависимости 131, представляющие сервисы 117, могут относиться к родительским или дочерним узлам как функция от сервиса 117, вызывающая другие сервисы 117 в течение выполнения. Модель зависимости 131 может воплощать полный связный граф или может допускать независимые узлы.

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

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

Клиент 104 может передавать запросы 122 вычислительной среде 101 для получения ответов 123. Эти запросы 122 могут включать запросы сетевых страниц, обслуживаемых вычислительной средой 101, запросы на получение данных, запросы на какую-то функцию или приложение, выполняемых вычислительной средой 101, или другой тип запроса. Запрос может быть передан по протоколу передачи гипертекста (HTTP), протоколу передачи файлов (FTP), простому протоколу доступа к объектам (SOAP), простому протоколу передачи почты (SMTP), по другому протоколу или с помощью какого-то другого подхода. Передача запросов 122 может быть облегчена с помощью клиентского приложения 142. Например, запрос 122 на сетевую страницу может быть облегчен с помощью клиентского приложения 142 браузер. Другие клиентские приложения 142 также выполняются для облегчения передачи запросов 122 вычислительной среде 101.

Далее приводится общее описание работы различных компонентов сетевой среды 100. В начале вычислительная среда 101 выполняет один или более сервисов 117, в целях облегчения обработки запросов 122 переданных клиентом 104 и генерации ответов 123. Приложение управления тайм-аутами 114 получает информацию о задержке, соответствующей каждому из выполненных сервисов 117. В некоторых вариантах реализации данные о задержке могут быть получены из процесса мониторинга. Например, сервисы 117 могут сообщать данные о задержках журналу, доступному процессу мониторинга, который затем объединяет данные для передачи приложению управления тайм-аутами 114. Сервисы 117 могут передавать данные о задержках в журналы в заранее заданные интервалы или в ответ на некоторые события. Данные о задержках могут содержать самую последнюю задержку по время передачи журналам или данные о задержках, собранные за определенный период времени. Данные о задержках могут быть также переданы журналам и другим образом.

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

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

В некоторых вариантах реализации приложение управления тайм-аутами 114 может настроить таймаут 121 сервиса 117, когда количество системных ресурсов, используемых в вычислительной среде 101, падает ниже заданного порога или ниже минимального значения из предварительно заданного диапазона. В этих вариантах реализации, такое условие будет означать, что вычислительная среда 101 имеет обрабатывающих ресурсов достаточно, чтобы позволить увеличение тайм-аута сервиса 117.

В других вариантах реализации, приложение управления тайм-аутами 114 может настроить тайм-аут 121 сервиса 117, когда количество системных ресурсов, используемых в вычислительной среде 101, превышает заданный порог или выше максимального значения из предварительно заданного диапазона. В этих вариантах реализации, такое условие будет означать, что вычислительная среда 101 достигла или приближается к мощности, при которой выполненные сервисы 117 могут испытывать задержки, которые превышают собственные тайм-ауты 121, таким образом, в результате повышается уровень пользовательских отказов. Уменьшение тайм-аута 121 указанного сервиса 117 приведет к увеличению отказов указанного сервиса 117, но позволяет другим сервисам 117 использовать дополнительные доступные системные ресурсы вычислительной среды 101.

Приложение управления тайм-аутами 114 может также настраивать тайм-аут 121 сервиса 117, как функцию надежности системы. Например, приложение управления тайм-аутами 114 может определить суммарную надежность системы на основе числа успешно выполненных вызовов сервиса 117 и/или других данных. Модификация тайм-аута 121 может быть инициирована, если надежность системы падает ниже заданного заранее порога надежности. Другие события могут также инициировать модификацию тайм-аута 121 с помощью приложения управления тайм-аутами 114.

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

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

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

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

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

Рассмотренные выше примеры методик выбора сервиса 117 для модификации тайм-аута 121 являются неограничивающими примерами, и другие методики также могут использоваться при выборе сервиса 117 для модификации тайм-аута 121. Кроме того, любая из ранее рассмотренных методик, а также иные методики могут использоваться отдельно или в комбинации друг с другом. Например, сервисы 117 могут быть объединены в классы сервисов 124, которые распределяются в каждом классе сервисов 124 в соответствии с приоритетным списком сервисов 127. Другие комбинации и методики также могут быть использованы.

После того как сервис 117 был выбран для модификации тайм-аута 121, приложение управления тайм-аутами 114 назначает сервису 117 новый тайм-аут 121. Новый тайм-аут 121 может быть функцией тайм-аута 121, подлежащего модификации. Например, новый тайм-аут 121 может представлять собой процент от исходного тайм-аута 121. Новый тайм-аут 121 также может представлять собой исходный тайм-аут 121, увеличенный или уменьшенный на заранее заданный шаг. В вариантах реализации, использующих классы сервисов 124, новый тайм-аут 121 может быть основан на классе сервиса 124, к которому сервис 117 принадлежит. Например, сервису 117 из высокоприоритетного класса сервиса 124 может быть назначен новый тайм-аут 121, который на пять секунд больше, чем исходный тайм-аут 121, в то время как сервису 117 из среднеприоритетного класса сервиса 124 может быть назначен новый тайм-аут 121, который на три секунды больше, чем исходный тайм-аут 121. Для назначения нового тайм-аута 121 классы сервисов 124 также могут быть использованы и другими способами.

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

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

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

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

Ссылаясь далее на Фиг. 2, где показанное является блок-схемой, представляющей один пример работы части приложения управления тайм-аутами 114 (Фиг. 1) в соответствии с различными вариантами реализации. Понятно, что блок-схема на Фиг. 2 представляет собой лишь один пример из многих различных типов функциональных мероприятий, которые могут быть применены для осуществления эксплуатации части приложения управления тайм-аутами 114, как описано в настоящем документе. В качестве альтернативы, блок-схема на Фиг. 2 может рассматриваться как изображающая пример этапов метода, реализованного в вычислительной среде 101 (Фиг. 1) согласно одному или более вариантам реализации.

На Фиг. 2 показан пример варианта реализации приложения управления тайм-аутами 114 при перенастройке тайм-аутов 121 (Фиг. 1) выполненных сервисов 117 (Фиг. 1), пока количество используемых сервисных мощностей находится вне заранее заданного допустимого диапазона. Сервисы 117 выбраны интерактивно, и их тайм-ауты 121 модифицированы до тех пор, пока используемые сервисные мощности остаются в пределах заданного диапазона.

Начиная с блока 201, приложение управления тайм-аутами 114 получает данные о задержках, связанных по меньшей мере с одним сервисом 117, выполненным в вычислительной среде 101. В некоторых вариантах реализации, выполненные сервисы 117 обновляют файлы журнала данных, связанных с их задержками. Данные могут содержать задержку в случае того, что файл журнала обновлен, совокупную функцию задержки за заранее заданный период времени или другие данные. В других вариантах реализации приложение управления тайм-аутами 114 может напрямую запросить функциональные возможности выполненных сервисов 117, которые возвращают данные о задержках. Чтобы получить данные о задержках, могут также использоваться другие методы.

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

В блоке 207 приложение управления тайм-аутами 114 определяет, находится ли количество используемой сервисной мощности за пределами заранее заданного диапазона. Заранее заданный диапазон может быть функцией от общей доступной сервисной мощности, или от других данных, или может быть заранее установленной независимой величиной. Если количество используемой сервисной мощности находится внутри заданного диапазона, процесс заканчивается, указывая, что вычислительная среда 101 работает в пределах допустимых мощностей и тайм-ауты 121 сервисов 117 не нуждаются в регулировке.

Если количество используемой сервисной мощности оказывается за пределами заранее заданного диапазона, процесс переходит к блоку 211, причем приложение управления тайм-аутами 114 выбирает сервис 117 для реконфигурации тайм-аута 121. В некоторых вариантах реализации сервисы 117 связаны по меньшей мере с одним классом сервисов 124 (Фиг. 1). В таких вариантах выбор может быть сделан в виде функции класса сервисов 124. Например, если количество используемой сервисной мощности было ниже минимального значения из заранее заданного диапазона, приложение управления тайм-аутами 114 может выбрать сервис 117 из высокоприоритетного класса сервисов 124, чтобы их тайм-аут 121 был увеличен, с тем чтобы назначить ему больше сервисной мощности. В качестве другого примера, если количество используемой сервисной мощности было выше максимального значения из заранее заданного диапазона, приложение управления тайм-аутами 114 может выбрать сервис 117 из низкоприоритетного класса сервисов 124, чтобы их тайм-аут 121 был уменьшен, с тем чтобы уменьшить мощность, используемую сервисом 117 с более низким приоритетом. Класс сервисов 124 также может быть использован в других методиках для выбора сервиса 117.

В вариантах реализации, в которых сервисы 117 упорядочиваются по меньшей мере в одном приоритетном списке сервисов 127, приложением управления тайм-аутами 114 может быть сделан выбор в качестве функции приоритетного списка сервисов 127. Например, если количество используемой сервисной мощности было выше максимального значения из заранее заданного диапазона, приложение управления тайм-аутами 114 может выбрать для модификации сервис 117, расположенный ниже моего приоритетного списка сервисов 127, чтобы свести к минимуму воздействие на более высокоприоритетные сервисы 117. Если количество используемой сервисной мощности было ниже минимального значения из заранее заданного диапазона, приложение управления тайм-аутами 114 может выбрать сервис 117, расположенный выше в приоритетном списке сервисов 127, для поддержания надежности этих высокоприоритетных сервисов 117. Приоритетный список сервисов 127 может быть использован при выборе сервиса 117 для модификации тайм-аута 121 и при другой методике.

В вариантах реализации, в которых сервисы 117 связаны моделью зависимостей 131 (Фиг. 1), выбор может быть функцией модели зависимости. Например, если количество используемой сервисной мощности ниже минимального значения заранее заданного порога, приложение управления тайм-аутами 114 может выбрать сервис 117, который зависит от других сервисов 117 с целью повышения надежности зависимых сервисов 117. В качестве другого примера, если количество используемой сервисной мощности выше максимального значения заранее заданного порога, приложение управления тайм-аутами 114 может выбрать сервис 117, который не зависит от других сервисов для снижения их тайм-аута 121, минимизируя влияние на другие сервисы 117. Модель зависимости 131 может быть использована при выборе сервиса 117 для модификации тайм-аута 121 и при другой методике.

Выбор сервиса 117 может быть также основан на данных задержки. Например, сервис 117 с высокой задержкой может быть выбран для понижения его тайм-аута 121 с целью предотвращения чрезмерного потребления сервисной мощности сервисом 117 с высокой задержкой. Выбор сервиса 117 может быть также основан на максимальном или минимальном пороге тайм-аута 121. Например, приложение управления тайм-аутами 114 не будет выбирать сервис 117 для снижения его тайм-аута 121, когда тайм-аут 121 уже равняется минимальному порогу тайм-аута 121. Для выбора сервиса 117 также могут использоваться другие данные, функции и методики.

После того как сервис 117 был выбран, тайм-аут 121 выбранного сервиса 117 перенастраивается в блоке 214. Новое значение тайм-аута 121 может быть функцией количества используемой сервисной мощности. Например, если количество используемой сервисной мощности выше максимального значения заранее заданного порога, новое значение тайм-аута 121 может быть меньше исходного значения тайм-аута 121. В вариантах реализации, в которых сервисы 117 связаны моделью зависимости 131, новое значение тайм-аута 121 может быть функцией значения тайм-аута 121 соответствующих сервисов 117. Например, если выбранный сервис 117, имеет пониженный тайм-аут 121, новое значение тайм-аута 121 может не быть установлено ниже суммы или некоторых других функций тайм-аутов 121 сервисов 117, от которых зависит выбранный сервис 117. В качестве другого примера, реконфигурация тайм-аутов 121 сервиса 117 может также потребовать многократно повторяющейся реконфигурации тайм-аутов 121 для сервисов, от которых зависит выбранный сервис 117. Приложением управления тайм-аутами 114 могут быть также использованы и другие методики для определения нового значения тайм-аута 121.

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

Ссылаясь далее на Фиг. 3, показанная блок-схема представляет один пример многократно повторяющегося выбора тайм-аута 121 (Фиг. 1) и реконфигурацию с использованием модели зависимости 131 (Фиг. 1) приложением управления тайм-аутами 114 (Фиг. 1) в блоке 214 (Фиг. 2) в соответствии с различными вариантами реализаций. Понятно, что блок-схема на Фиг. 3 приведена лишь как пример из многих различных типов функциональных механизмов, которые могут быть использованы для выполнения работы частью приложения управления тайм-аутами 114, как описано в настоящем документе. В качестве альтернативы, блок-схема на Фиг. 3 может рассматриваться как изображающая пример пошагового способа выполнения в вычислительной среде 101 (Фиг. 1) согласно одному или более вариантов реализаций.

Фиг. 3 иллюстрирует один вариант реализации приложения управления тайм-аутами 114, осуществляющей модель зависимости 131. Выбранный сервис 117 (Фиг. 1), чей тайм-аут 121 был модифицирован, может быть связан с несколькими дочерними сервисами 117, от которых он зависит. Сумма тайм-аутов 121 дочернего сервиса 117 должна быть меньше тайм-аута 121 родительского сервиса 117. Приложение управления тайм-аутами 114 рекурсивно обходит модель зависимостей 131 для модификации тайм-аутов 121 дочерних сервисов 117, чтобы убедиться, что сумма тайм-аутов 121 дочернего сервиса 117 меньше, чем тайм-аут 121 их родительского сервиса 117.

Начиная с блока 301, после выполнения реконфигурации тайм-аута 121 родительского сервиса 117 на меньшее значение в блоке 211 (Фиг. 2), приложение управления тайм-аутами 114 получает дочерний сервис 117 для выбранного родительского сервиса 117, используя модель зависимости 131. Получение дочернего сервиса 117 может быть достигнуто с помощью алгоритма обхода дерева, алгоритма обхода графа, такого как поиск в ширину или поиск в глубину или по другой методике.

В блоке 304, если выбранный сервис 117 не имеет дочерних сервисов 117, процесс заканчивается. В противном случае, в блоке 307, приложение управления тайм-аутами 114 суммирует тайм-ауты 121 полученных дочерних сервисов 117. Если сумма тайм-аутов 121 дочерних сервисов 117 относительно выбранного сервиса 117 меньше, чем тайм-аут 121 выбранного сервиса 117, то процесс заканчивается. В противном случае, если сумма тайм-аутов 121 дочернего сервиса 117 превосходит тайм-аут 121 выбранного сервиса 117, то тайм-ауты 121 по меньшей мере одного дочернего сервиса 117 должны быть реконфигурированы.

В блоке 311 по меньшей мере один из дочерних сервисов 117 выбран для реконфигурации тайм-аута 121. В некоторых вариантах реализации дочерние сервисы 117 могут быть выбраны во всей своей полноте. В других вариантах реализации может быть выбрано подмножество дочерних сервисов 117. Выбор может быть функцией данных задержки, связанных с дочерним сервисом 117 (Фиг. 1), классами сервисов 124 (Фиг. 1), приоритетным списком сервисов 127 (Фиг. 1), моделью зависимости 131, минимальным или максимальным порогами тайм-аута или другими данными, описываемыми иными методиками по отношению к блоку 211 (Фиг. 2), или по другим методикам.

В блоке 314, как только дочерние сервисы 117 были выбраны, их соответствующие тайм-ауты 121 были реконфигурированы, как описано в блоке 214, или по другой методике. После того как дочерние сервисы 117 были реконфигурированы, итерация повторяется для каждого из реконфигурированных дочерних сервисов 117. Процесс будет продолжаться до тех пор, пока все сервисы 117, включая и идя по убыванию от исходного выбранного сервиса 117, имеют тайм-ауты 121 большие, чем сумма тайм-аутов 121 их дочерних сервисов 117 или вовсе не имеют дочерних сервисов 117.

Со ссылкой на Фиг. 4, показана принципиальная блок-схема вычислительной среды 101 в соответствии с вариантом реализации настоящего раскрытия. Вычислительная среда 101 содержит одно или более вычислительных устройств 401. Каждое вычислительное устройство 401 содержит по меньшей мере одну процессорную схему, например, имея процессор 402 и память 404, оба из которых присоединяются к локальному интерфейсу 407. С этой целью, каждое вычислительное устройство 401 может содержать, например, по меньшей мере один компьютер-сервер или подобное ему устройство. Локальный интерфейс 407 может содержать, например, шину данных с сопровождающей шиной адреса/управления или другие структуры шин, как это можно оценить.

Хранящееся в памяти 404 - это как данные, так и несколько компонентов, выполняемых процессором 402. В частности, хранящиеся в памяти 404 и выполняемые процессором 402 приложение управления тайм-аутами 114 (Фиг. 1), один или более сервисов 117 (Фиг. 1), имеющие соответствующий тайм-аут 121 (Фиг. 1), и, возможно, другие приложения. Также хранящимся в памяти 404 может быть хранилище данных 111 (Фиг. 1), содержащее классы сервисов 124 (Фиг. 1), приоритетный список сервисов 127 (Фиг. 1) или модель зависимости 131 (Фиг. 1) и другие данные. Кроме того, операционная система может храниться в памяти 404 и выполняться процессором 402.

Следует понимать, что могут быть и другие приложения, которые хранятся в памяти 404 и выполняются процессором 402, как это можно оценить. Если любой компонент, обсуждаемый в настоящем документе, реализован в виде программного обеспечения, любой из языков программирования также может быть использован, как, например, C, С++, C#, Objective C, Java®, JavaScript®, Perl, PHP, Visual Basic®, Python®, Ruby, Flash®, или другие языки программирования.

Ряд программных компонентов хранится в памяти 404 и выполняется процессором 402. В этом отношении, термин "выполняемый" означает программный файл программы, который находится в такой форме, что в конечном итоге может выполняться процессором 402. Примерами выполняемых программ могут быть, например, скомпилированная программа, которая может быть переведена в машинный код в формате, который может быть загружен в оперативную часть памяти 404 и выполняться процессором 402, исходный код, что может быть выражено в правильном формате, например объектный код, который может быть загружен в оперативную часть памяти 404 и выполняться процессором 402, или исходный код, который может быть интерпретирован иной выполняемой программой для создания команд в части памяти произвольного доступа 404 для выполнения процессором 402 и т.д. Выполняемая программа может храниться в любой части или компоненте памяти 404, в их числе, например, оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), жесткий диск, твердотельный накопитель, USB флэш-диск, карта памяти, оптические диски, такие как компакт-диск (CD) или цифровой универсальный диск (DVD), гибкий диск, магнитная лента или другие компоненты памяти.

Память 404 определена в данном документе, как содержащая как энергозависимую и энергонезависимую память, так и компоненты хранения данных. Энергозависимыми компонентами являются те, которые не сохраняют значения данных при потере питания. Энергонезависимыми компонентами являются те, которые сохраняют данные при потере питания. Таким образом, память 404 может включать, например, оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), жесткие диски, твердотельные накопители, USB флэш-накопители, карты памяти, доступ к которым осуществляется через устройство считывания карт памяти, флоппи-дисков, доступ к которым осуществляется через соответствующее устройство считывания флоппи-дисков, оптические диски, доступные через привод оптических дисков, магнитные ленты, доступные через соответствующий привод магнитных лент, и/или другие компоненты памяти, или комбинации любых двух или более из этих компонентов памяти. Кроме того, в состав RAM может входить, например, статическое оперативное запоминающее устройство (SRAM), динамическое оперативное запоминающее устройство (DRAM) или магнитное оперативное запоминающее устройство (MRAM) и другие подобные устройства. В состав ROM может входить, например, программируемое постоянное запоминающее устройство (PROM), стираемое программируемое постоянное запоминающее устройство (EPROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM) или другие аналогичные устройства памяти.

Кроме того, процессор 402 может представлять собой несколько процессоров 402 и/или несколько процессорных ядер, а память 404 может представлять собой несколько устройств памяти 404, которые работают в параллельных цепях обработки, соответственно. В таком случае локальным интерфейсом 407 может быть соответствующая сеть, которая облегчает взаимодействие между любыми двумя из нескольких процессоров 402, между любым процессором 402 и любым из устройств памяти 404 или между любыми двумя из устройств памяти 404 и т.д. Локальный интерфейс 407 может содержать дополнительные системы, предназначенные для координации этой связи, включая, например, выполнение балансировки нагрузки. Процессор 402 может быть электрической или другой доступной конструкции.

Хотя приложение управления тайм-аутами 114 и другие различные системы, описанные в настоящем документе, могут быть реализованы программным обеспечением или кодом, выполняемыми на оборудовании общего назначения, как описано выше, в качестве альтернативы все это также может быть реализовано на специализированном оборудовании или комбинации из программного обеспечения/оборудования общего назначения и специализированного оборудования. Если реализация осуществлена на специализированном оборудовании, каждое из них может быть реализовано в виде схемы или конечного автомата, которые используют любую одну или комбинацию из нескольких технологий. Эти технологии могут содержать, но не ограничиваясь, дискретные логические схемы, имеющие логические вентили для реализации различных логических функций при применении одного или более сигналов данных, применении специализированных интегральных схем (ASICs), имеющих соответствующие логические вентили, полевые программируемые вентильные матрицы (FPGAs) или другие компоненты и т.д. Такие технологии, как правило, хорошо известны специалистам в данной области техники и, следовательно, не описываются подробно в данном документе.

Блок-схемы на Фиг. 2 и 3 иллюстрируют функциональные возможности и работу по реализации частей приложения управления тайм-аутами 114. Если реализация осуществляется в программном обеспечении, каждый блок может представлять модуль, сегмент или часть кода, который содержит программные команды для выполнения специальных логических функций. Программные команды могут быть реализованы в виде исходного кода, который содержит удобочитаемые операторы, написанные на языке программирования или в машинном коде, который содержит числовые команды, распознаваемые подходящий исполнительной системой, такой как процессор 402 в компьютерной системе или другой системой. Машинный код может быть образован из исходного кода и т.д. Если реализованы в оборудовании, каждый блок может представлять собой схему или несколько взаимосвязанных схем для реализации заданных логических функций.

Хотя блок-схемы на Фиг. 2 и 3 иллюстрируют определенный порядок выполнения, следует понимать, что порядок выполнения может отличаться от того, который изображен. Например, порядок выполнения двух или более блоков может быть нарушен относительно показанной последовательности. Кроме того, два или более блоков, приведенных подряд на Фиг. 2 и 3, могут быть выполнены одновременно или частично одновременно. Далее, в некоторых вариантах реализации, один или более блоков, показанных на Фиг. 2 и 3, могут быть пропущены или опущены. Кроме того, любое количество счетчиков, переменных состояния, предупреждающих семафоров или сообщений могут быть добавлены в логическую последовательность, описанную в настоящем документе, в целях увеличения пользы, учета, измерения производительности, помощи в устранении неисправностей и т.д. Понятно, что все такие вариации находятся в пределах объема настоящего раскрытия.

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

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

1. Долговременный машиночитаемый носитель, воплощающий программу, выполняемую по меньшей мере на одном вычислительном устройстве, содержащий:

код, который получает данные о задержках от множества сервисов, каждый из которых связан с множеством тайм-аутов и связан с одним из множества классов, каждый из тайм-аутов соответствует паре сервисов, и по меньшей мере один из сервисов является родительским - одним из сервисов, связанных с подмножеством дочерних сервисов;

код, который вычисляет совокупное время задержки относительно временного интервала, основываясь по меньшей мере частично на данных задержки, полученных в течение этого временного интервала;

код, который вычисляет количество используемой сервисной мощности, основываясь по меньшей мере частично на совокупной задержке;

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

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

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

2. Долговременный машиночитаемый носитель по п. 1, отличающийся тем, что код, который выбирает один из сервисов, дополнительно основывается по меньшей мере частично на пороге надежности.

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

4. Система, содержащая:

по меньшей мере одно вычислительное устройство; и

приложение управления тайм-аутами, выполняемое на по меньшей мере одном вычислительном устройстве, при этом приложение управления тайм-аутами содержит:

логику, которая контролирует множество задержек, при этом каждая задержка соответствует одному из множества сервисов; и

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

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

6. Система по п. 4, отличающаяся тем, что тайм-аут дополнительно основывается по меньшей мере частично на количестве использованной сервисной мощности.

7. Система по п. 6, отличающаяся тем, что логика назначает тайм-аут, увеличивая тайм-аут в ответ на количество используемой сервисной мощности относительно общей сервисной мощности, расположенной ниже порога.

8. Система по п. 6, отличающаяся тем, что логика назначает тайм-аут, уменьшая тайм-аут в ответ на количество используемой сервисной мощности относительно общей сервисной мощности, расположенной выше порога.

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

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

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

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

13. Способ, содержащий следующие этапы:

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

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

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

14. Способ по п. 13, отличающийся тем, что по меньшей мере один из сервисов зависит от подмножества сервисов.

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

16. Способ по п. 14, отличающийся тем, что один из выбранных сервисов дополнительно основывается по меньшей мере частично на степени зависимости.

17. Способ по п. 13, отличающийся тем, что один из выбранных сервисов дополнительно основывается по меньшей мере частично на приоритетном списке.

18. Способ по п. 13, отличающийся тем, что каждый из сервисов связан с одним из множества классов и, выбирая один из сервисов, он в дальнейшем основывается на классе.

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

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

В составе машиночитаемых носителей может быть любой один из многих физических носителей, таких как, например, магнитные, оптические или полупроводниковые носители. Более конкретные примеры подходящего машиночитаемого носителя содержат, но не ограничиваются, магнитные ленты, магнитные дискеты, магнитные жесткие диски, карты памяти, твердотельные накопители, USB флэш-накопители или оптические диски. Кроме того, машиночитаемым носителем может быть оперативное запоминающее устройство (RAM), в том числе, например, статическое оперативное запоминающее устройство (SRAM) и динамическое оперативное запоминающее устройство (DRAM) или магнитное оперативное запоминающее устройство (MRAM). Кроме того, машиночитаемым носителем может быть постоянное запоминающее устройство (ROM), программируемое постоянное запоминающее устройство (PROM), стираемое программируемое постоянное запоминающее устройство (EPROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM) или другие типы устройств памяти

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

1. Система управления тайм-аутами, содержащая:

по меньшей мере одно вычислительное устройство и

приложение управления тайм-аутами, выполняемое по меньшей мере одним вычислительным устройством, при этом приложение управления тайм-аутами содержит:

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

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

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

2. Система по п. 1, отличающаяся тем, что приложение управления тайм-аутами дополнительно содержит логику, которая вычисляет совокупную задержку относительно временного интервала, основываясь по меньшей мере частично на множестве задержек, при этом тайм-аут дополнительно основывается по меньшей мере частично на совокупной задержке.

3. Система по п. 1, отличающаяся тем, что логика, которая назначает тайм-аут, увеличивает тайм-аут в качестве отклика, когда количество используемой сервисной мощности по отношению к общей сервисной мощности ниже порогового значения.

4. Система по п. 1, отличающаяся тем, что логика, которая назначает тайм-аут, уменьшает тайм-аут в качестве отклика, когда количество используемой сервисной мощности по отношению к общей сервисной мощности превышает пороговое значение.

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

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

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

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

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



 

Похожие патенты:

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

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

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

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

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

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

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

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

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

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

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

Таймер // 2213366
Изобретение относится к импульсной технике. .

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

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

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

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

Изобретение относится к области вычислительной техники и предназначено для непрерывного отсчета астрономического времени (функция Часы), для фиксации заранее заданного момента времени (функция Компаратор), для измерения истекшего времени работы процессора (функция Таймер процессора) и для формирования продвигающих ии/пульсов с заданной частотой следования, предназначенных для продвижения интервального таймера, и может быть применено в ЭВМ любого класса, например в ЕС ЭВМ, а также в мультипроцессорных системах.

Изобретение относится к автоматике и импульсной технике. .

Таймер // 1691826
Изобретение относится к автоматике и может быть использовано в автоматизированных системах управления технологическими процессами для отсчета интервалов времени.

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