КРУПНОМАСШТАБНАЯ СИСТЕМА ХРАНЕНИЯ ДАННЫХ
LARGE-SCALE DATA STORAGE SYSTEM

ОБЛАСТЬ ИЗОБРЕТЕНИЯ
Изобретение относится к крупномасштабным системам хранения данных и, в частности, к устройству и способу реализации таких систем.
УРОВЕНЬ ТЕХНИКИ
По мере роста пропускной способности и скорости сетей происходит быстрое развитие распределенных систем хранения данных. С расширением сетей от локальных (LAN) до глобальных (WAN) бизнес становится более распределенным в мировом масштабе, что вызывает требования к распределенным системам по обеспечению хранения данных и доступу из различных удаленных географических объектов. Таким образом, в данной области существует потребность в новом способе и системе для распределенного хранения данных по сети общего пользования.
Ссылки на уже известный уровень техники, считающиеся актуальными в качестве первоисточника для раскрытого в данном документе объекта изобретения, перечислены ниже. Указание ссылок в данном документе не подразумевает того, что они каким-либо образом соответствуют патентоспособности раскрытого в данном документе объекта изобретения.
Публикация патента США №2009/0070337 "Apparatus and Method for a Distributed Storage Global Database " относится к «Географически распределенной системе хранения данных для управления распределением элементов данных, где запросы установленных элементов данных следуют из географической инерции. Географически распределенная система хранения данных состоит из географически распределенных сайтов, каждый из которых включает запоминающее устройство сайта для локального хранения части глобально связанной распределенной базы данных, которая включает элементы данных, и локальную точку доступа для приема запросов, связанных с запросами элементов данных. Географически распределенная система хранения данных включает модуль управления данными для переадресации по меньшей мере одного запрашиваемого элемента данных в локальную точку доступа в первом из географически распределенных сайтов, из которого запрос принимается, и хранения по меньшей мере одного запрашиваемого элемента данных в первом сайте, обеспечивая тем самым локальную доступность к элементам данных для будущих запросов из первого сайта, в то же время, поддерживая согласованность распределенной базы данных».
Патент США №5987505 "Remote Access and Geographically Distributed Computers in a Globally Addressable Storage Environment" относится к "Компьютерной системе использующей глобально доступную среду хранения, которая позволяет множеству сетевых компьютеров доступ к данным посредством адресации даже в том случае, когда данные хранятся в постоянном запоминающем устройстве, например, на жестком диске компьютера, и других традиционно неадресуемых устройствах хранения данных. Компьютеры могут быть расположены в одиночной вычислительной сети или в множестве взаимосвязанных вычислительных сетей, таких, как две локальные сети (LAN), соединенные с помощью глобальной сети (WAN). Глобально доступная среда хранения позволяет доступ к данным и распределение посредством ряда компьютеров и между ними в множестве сетей".
International Journal of Computer Applications 2010 (0975-8887), том 1, №22 "Unified Virtual Storage; Virtualization of Distribyted Storage in a Network ", С.В. Патил и др., описывает "способ эффективного использования свободного дискового пространства на настольном компьютере, подключенном к сети. В настоящее время во многих сетях локальные диски клиентского узла используются нерегулярно. Это является попыткой эффективного управления хранилищами данных и обеспечения программной поддержки для распределения пространства на диске настольных компьютеров в локальной сети. В сложившейся ситуации увеличение хранилищ на стандартных серверах имеет ограничения, такие, как ограничение максимального расширения, что является дорогостоящим мероприятием, и в случае замены оборудования или модернизации ручное перемещение данных становится ненадежным. UVS (Unified Virtual Storage, унифицированная виртуальная память) представляет собой попытку эффективно использовать неограниченно доступное дисковое пространство настольных компьютеров, соединенных по сети. Она предназначена для снижения нагрузки потока данных на сетевом сервере, чтобы эффективно использовать пространство на клиентских узлах, тем самым избегая потери пространства. Кроме того, это исключает аппаратное ограничение при расширении хранилища, а также обеспечивает прозрачность местоположения хранилища данных. Основное преимущество UVS заключается в том, что ее можно легко интегрировать в существующую инфраструктуру (систему локальных сетей). Виртуальная память виртуально безгранична, что обеспечивает поддержку динамически расширяемой архитектуры. Клиентский узел может использовать унифицированный виртуальный диск в качестве одиночной точки доступа для распределенного хранилища среди различных серверов, тем самым, исключая индивидуальную адресацию серверов. Производительность прототипа реализована на сервере UVS, подключенном по сети, и производительность лучше, чем в централизованной системе, и поэтому ограничения среды снижаются даже при высокой нагрузке".
Публикация патента США №2011/0153770 "Dynamic Structural Manegement of a Distributed Caching Infrastructure" относится к "способу, системе и компьютерному программному продукту для динамического структурного управления многоуровневой распределенной инфраструктуры кэширования. В воплощениях изобретения способ динамического структурного управления многоуровневой распределенной инфраструктуры кэширования включает создание коммуникативного соединения с множеством кэш-серверов, организованных в соответствующие многоуровневые узлы многоуровневого кэша, сбор метрик производительности для каждого кэш-сервера в соответствующих многоуровневых узлах многоуровневого кэша, идентификацию характеристики определенного кэш-уровня в соответствующем уровне многоуровневых узлов многоуровневого пересечения порога, и динамическое структурирование набора кэш-ресурсов, включая определенный кэш-ресурс для подсчета идентифицированных характеристик".
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В соответствии с аспектом раскрытого в данном документе объекта изобретения предлагается компьютерный узел, сконфигурированный для подключения к инфраструктурному уровню, включающему взаимосвязанные компьютерные узлы, по меньшей мере один из взаимосвязанных компьютерных узлов, содержащих один или более ресурсов хранения, компьютерный узел, содержащий по меньшей мере один обрабатывающий ресурс, сконфигурированный для выполнения агента унифицированной распределенной платформы хранения данных (UDSP), в котором агент UDSP сконфигурирован для получения задачи, включающей по меньшей мере одно задание, вычисление степеней по меньшей мере одного задания относительно по меньшей мере одного из взаимосвязанных компьютерных узлов таким образом, что каждая степень является показателем пригодности соответствующего из взаимосвязанных компьютерных узлов для исполнения соответствующего из заданий, в то же время удовлетворяя по меньшей мере одно из требований соглашения об уровне услуги (SLS), степень также вычисляется на основании данных параметров, относящихся к одному или нескольким ресурсам хранения, подключенных к соответствующему компьютерному узлу при его наличии; исполнение одного или более заданий или маршрутизация задачи в наиболее подходящий компьютерный узел на основании вычисленных степеней.
Вычисление степеней для заданий следующих задач относительно по меньшей мере одного добавленного взаимосвязанного компьютерного узла усовершенствованного инфраструктурного уровня; усовершенствованный инфраструктурный уровень создается в ответ на добавление по меньшей мере одного дополнительного взаимосвязанного компьютерного узла, подключенного к нему; и выполнение одного или более заданий следующих задач или маршрутизация следующих задач в наиболее подходящий компьютерный узел усовершенствованного инфраструктурного уровня на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором при вычислении степеней для задания следующих задач создается усовершенствованный инфраструктурный уровень, и вычисление выполняется относительно по меньшей мере одного добавленного взаимосвязанного компьютерного узла созданного усовершенствованного инфраструктурного уровня.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором при вычислении степеней для задания следующих задач создается усовершенствованный инфраструктурный уровень, и вычисление выполняется относительно по меньшей мере одного взаимосвязанного компьютерного узла созданного усовершенствованного инфраструктурного уровня.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором усовершенствованный инфраструктурный уровень создается в динамическом режиме.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором степени вычисляются только для отложенных заданий.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором один или более ресурсов хранения включают по меньшей мере один ресурс хранения из следующих категорий ресурсов хранения: кэш-ресурсы, ресурсы хранения данных и сетевые ресурсы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором один или более ресурсов хранения включают по меньшей мере один ресурс хранения каждой из следующих категорий ресурсов хранения: кэш-ресурсы, ресурсы хранения данных и сетевые ресурсы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором степени заданий вычисляются с помощью механизма оптимизации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютер, в котором механизм оптимизации использует одну или более следующих методик оптимизации: линейное программирование; математический аннилинг; генетические алгоритмы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором одна или более методик оптимизации используют эвристику или аппроксимации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором наиболее подходящий компьютерный узел представляет собой самый подходящий компьютерный узел, основанный на вычисленных степенях.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором агент UDSP также конфигурируется для вычисления интегрированной степени, основанной на вычисляемых степенях заданий, и в котором исполнение одного или более вышеуказанных заданий или маршрутизация задачи в наиболее подходящий компьютерный узел выполняется на основании вычисления интегрированной степени.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения также предлагается компьютерный узел, в котором задача принимается из клиент-сервера.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором задача принимается из клиент-сервера через ресурс шлюза.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором агент UDSP также сконфигурирован для: контроля по меньшей мере одного параметра, свидетельствующего о текущем состоянии компьютерного узла, или о текущем состоянии одного или более ресурсов хранения, подключенных к компьютерному узлу, если таковой имеется; распространения уведомления, указывающего на изменение по меньшей мере одного контролируемого параметра, относящегося по меньшей мере к одному из взаимосвязанных компьютерных узлов.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором агент UDSP также сконфигурирован для вычисления степеней заданий следующих задач относительно по меньшей мере одного модифицированного взаимосвязанного компьютерного узла усовершенствованной инфраструктуры; усовершенствованный инфраструктурный уровень включает по меньшей мере один модифицированный взаимосвязанный компьютерный узел; модификация, включающая, по меньшей мере (i) как минимум один новый ресурс хранения данных подключен к соответствующему узлу (ii) как минимум один существующий ресурс хранения данных отключен от соответствующего узла (iii) как минимум один существующий ресурс хранения данных модифицирован; вычисление степеней для задания следующих задач относительно по меньшей мере одного взаимосвязанного компьютерного узла с новыми ресурсами хранения, подключенными к нему, или имеющего ресурсы хранения, отключенные от него; и
исполнение одного или более заданий следующих задач или маршрутизация следующих задач в наиболее подходящий компьютерный узел усовершенствованного инфраструктурного уровня на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором агент UDSP также сконфигурирован для: приема не менее одного параметра уровня услуги (SLS), включающего требования к хранению, назначаемые пользователем, относящиеся по меньшей мере к одному логическому объекту хранения, и данные параметров ресурсов хранения, относящиеся к одному или нескольким ресурсам хранения, подключенным к взаимосвязанным компьютерным узлам; вычисления конфигурации распределенной системы хранения данных на основании по меньшей мере не менее одного SLS и данных параметров ресурсов хранения; и автоматического размещения по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором агент UDSP также сконфигурирован для приема параметров данных динамического режима, относящихся к динамическому режиму распределенной системы хранения данных; при нарушении по меньшей мере одного SLS, вычисление повторной конфигурации системы хранения данных, основанной по меньшей мере на одном SLS, параметре данных ресурсов хранения и параметре данных динамического режима; и автоматическое размещение по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ эксплуатации компьютерного узла, сконфигурированного для подключения к инфраструктурному уровню, включая взаимосвязанные компьютерные узлы, при этом по меньшей мере один из взаимосвязанных компьютерных узлов включает один или более ресурсов хранения, и способ включает:
получение задачи, включающей по меньшей мере одно задание;
вычисление степеней по меньшей мере одного из заданий относительно по меньшей мере одного из взаимосвязанных компьютерных узлов таким образом, что каждая степень является показателем пригодности соответствующего из взаимосвязанных компьютерных узлов для исполнения соответствующего из заданий, в то же время, удовлетворяя по меньшей мере одно из требований параметра уровня услуги (SLS), степень также вычисляется на основании данных параметров, относящихся к одному или нескольким ресурсам хранения, подключенных к соответствующему компьютерному узлу при его наличии; исполнение одного или более заданий или маршрутизации задач в наиболее подходящий компьютерный узел на основании вычисленных степеней;
вычисление степеней для заданий следующих задач относительно по меньшей мере одного добавленного взаимосвязанного компьютерного узла усовершенствованного инфраструктурного уровня; усовершенствованный инфраструктурный уровень создан в связи с добавлением по меньшей мере одного дополнительного взаимосвязанного компьютерного узла, связанного с ним; и исполнение одного или более заданий следующих задач или маршрутизация следующих задач в наиболее подходящий компьютерный узел усовершенствованного инфраструктурного уровня на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором при вычислении степеней заданий следующих задач создается усовершенствованный инфраструктурный уровень, и вычисление выполняется относительно по меньшей мере одного добавленного взаимосвязанного компьютерного узла созданного усовершенствованного инфраструктурного уровня.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором при вычислении степеней заданий следующих задач создается усовершенствованный инфраструктурный уровень, и вычисление выполняется относительно по меньшей мере одного взаимосвязанного компьютерного узла созданного усовершенствованного инфраструктурного уровня.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором усовершенствованная инфраструктура создается в динамическом режиме.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором степени вычисляются только для отложенных заданий.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором один или более ресурсов хранения включают по меньшей мере один ресурс хранения из следующих категорий ресурсов хранения: кэш-ресурсы, ресурсы хранения данных и сетевые ресурсы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором один или более ресурсов хранения включают по меньшей мере один ресурс хранения из следующих категорий ресурсов хранения: кэш-ресурсы, ресурсы хранения данных и сетевые ресурсы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором степени заданий вычисляются с помощью механизма оптимизации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором механизм оптимизации использует одну или более следующих методик оптимизации: линейное программирование; математический аннилинг; генетические алгоритмы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором одна или более методик оптимизации используют эвристику или аппроксимации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором наиболее подходящий компьютерный узел представляет собой наиболее подходящий компьютерный узел, основанный на вычисленных степенях.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, включающий: вычисление интегрированной степени на основании вычисляемых степеней заданий, и в котором исполнение одного или более заданий или маршрутизация задачи в наиболее подходящий компьютерный узел выполняется на основании вычисления интегрированных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором задача принимается из клиент-сервера.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором задача принимается из клиент-сервера через ресурсы шлюза.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, включающий контроль по меньшей мере одного параметра, свидетельствующего о текущем состоянии компьютерного узла, или о текущем состоянии одного или более ресурсов хранения, подключенных к компьютерному узлу, если таковой имеется; распространение уведомления, указывающего на изменение по меньшей мере одного контролируемого параметра, относящегося по меньшей мере к одному из взаимосвязанных компьютерных узлов.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, включающий: вычисление степеней для заданий следующих задач относительно по меньшей мере одного модифицированного взаимосвязанного компьютерного узла усовершенствованного инфраструктурного уровня; усовершенствованный инфраструктурный уровень включает по меньшей мере один модифицированный взаимосвязанный компьютерный узел; модификация, включающая по меньшей мере (i) как минимум один новый ресурс хранения данных подключен к соответствующему узлу (ii) как минимум один существующий ресурс хранения данных отключен от соответствующего узла (iii) как минимум один существующий ресурс хранения данных модифицирован; вычисление степеней для задания следующих задач относительно по меньшей мере одного взаимосвязанного компьютерного узла, имеющего новые ресурсы хранения, подключенные к нему, или имеющего ресурсы хранения, отключенные от него; и исполнение одного или более заданий следующих задач или маршрутизация следующих задач в наиболее подходящий компьютерный узел усовершенствованного инфраструктурного уровня на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, включающий: прием не менее одного параметра уровня услуги (SLS), включающего требования по хранению, назначаемые пользователем, относящиеся по меньшей мере к одному логическому объекту хранения, и данные параметров ресурсов хранения, относящиеся к одному или нескольким ресурсам хранения, подключенным к взаимосвязанным компьютерным узлам; вычисление конфигурации распределенной системы хранения данных на основании по меньшей мере не менее одного SLS и данных параметров ресурсов хранения; и автоматическое размещение по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, также включающий прием параметров данных динамического режима относительно динамического режима распределенной системы хранения данных; при нарушении по меньшей мере одного SLS вычисление повторной конфигурирования системы хранения данных, основанной по меньшей мере на одном SLS, параметре данных ресурсов хранения и параметре данных динамического режима; и автоматическое размещение по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, включающая: инфраструктурный уровень, включающий взаимосвязанные компьютерные узлы, где каждый из взаимосвязанных компьютерных узлов, содержащих один или более обрабатывающих ресурсов, сконфигурирован для выполнения агента унифицированной распределенной платформы хранения данных (UDSP); по меньшей мере один из взаимосвязанных компьютерных узлов включает один или более ресурсов хранения; агент UDSP сконфигурирован для получения задачи, содержащей по меньшей мере одно задание; вычисление степеней по меньшей мере одного из заданий относительно по меньшей мере одного из взаимосвязанных компьютерных узлов таким образом, что каждая степень является показателем пригодности соответствующего из взаимосвязанных компьютерных узлов для исполнения соответствующего из заданий, в то же время, удовлетворяя по меньшей мере одно из требований параметра уровня услуги (SLS), степень также вычисляется на основании данных параметров, относящихся к одному или нескольким ресурсам хранения, подключенным к соответствующему компьютерному узлу при его наличии; исполнение одного или более заданий или маршрутизации задач в наиболее подходящий компьютерный узел инфраструктурного уровня на основании вычисленных степеней; вычисление степеней для заданий следующих задач относительно по меньшей мере одного добавленного взаимосвязанного компьютерного узла усовершенствованного инфраструктурного уровня; усовершенствованный инфраструктурный уровень создан в связи с добавлением по меньшей мере одного дополнительного взаимосвязанного компьютерного узла, связанного с ним; и исполнение одного или более заданий следующих задач или маршрутизация следующих задач в наиболее подходящий компьютерный узел усовершенствованного инфраструктурного уровня на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой при вычислении степеней заданий следующих задач создается усовершенствованный инфраструктурный уровень, и вычисление выполняется относительно по меньшей мере одного добавленного взаимосвязанного компьютерного узла созданного усовершенствованного инфраструктурного уровня.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой при вычислении степеней заданий следующих задач создается усовершенствованный инфраструктурный уровень, и вычисление выполняется относительно по меньшей мере одного взаимосвязанного компьютерного узла созданного усовершенствованного инфраструктурного уровня.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой усовершенствованная инфраструктура создается в динамическом режиме.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой степени вычисляются только для отложенных заданий.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой один или более ресурсов хранения включают по меньшей мере один ресурс хранения из следующих категорий ресурсов хранения: кэш-ресурсы, ресурсы хранения данных и сетевые ресурсы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой один или более ресурсов хранения включают по меньшей мере один ресурс хранения каждой из следующих категорий ресурсов хранения: кэш-ресурсы, ресурсы хранения данных и сетевые ресурсы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой степени заданий вычисляются с помощью механизма оптимизации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой механизм оптимизации использует одну или более из следующих методик оптимизации: линейное программирование; математический аннилинг; генетические алгоритмы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой одна или более методик оптимизации используют эвристику или аппроксимации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором наиболее подходящий компьютерный узел представляет собой наиболее подходящий компьютерный узел, основанный на вычисленных степенях.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой агент UDSP также конфигурируется для вычисления интегрированной степени на основании вычисляемых степенях заданий, и в которой исполнение одного или более вышеуказанных заданий или маршрутизация задачи в наиболее подходящий компьютерный узел выполняется на основании вычисления интегрированных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой задача принимается из клиент-сервера.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой задача принимается из клиент-сервера через ресурсы шлюза.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой агент UDSP также сконфигурирован для контроля по меньшей мере одного параметра, свидетельствующего о текущем состоянии компьютерного узла, или о текущем состоянии одного или более ресурсов хранения, подключенных к компьютерному узлу, если таковой имеется; распространение уведомления, указывающего на изменение по меньшей мере одного контролируемого параметра, относящегося по меньшей мере к одному из взаимосвязанных компьютерных узлов.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный распределенная система хранения данных, в которой агент UDSP также сконфигурирован для:
вычисления степеней для заданий следующих задач относительно по меньшей мере одного модифицированного взаимосвязанного компьютерного узла усовершенствованной инфраструктуры; усовершенствованный инфраструктурный уровень включает по меньшей мере один модифицированный взаимосвязанный компьютерный узел; модификации, включающей, по меньшей мере (i) как минимум один новый ресурс хранения данных подключен к соответствующему узлу (ii) как минимум один существующий ресурс хранения данных отключен от соответствующего узла (iii) как минимум один существующий ресурс хранения данных модифицирован; вычисления степеней для задания следующих задач относительно по меньшей мере одного взаимосвязанного компьютерного узла, имеющего новые ресурсы хранения, подключенные к нему, или имеющего ресурсы хранения, отключенные от него; и исполнения одного или более заданий следующих задач или маршрутизация следующих задач в наиболее подходящий компьютерный узел усовершенствованного инфраструктурного уровня на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный распределенная система хранения данных, в которой агент UDSP также сконфигурирован для:
приема не менее одного параметра уровня услуги (SLS), включающего требования к хранению, назначаемые пользователем, относящиеся по меньшей мере к одному логическому объекту хранения; вычисления конфигурации распределенной системы хранения данных на основании по меньшей мере не менее одного SLS и данных параметров ресурсов хранения; и автоматического размещения по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой агент UDSP также сконфигурирован для:
приема параметров данных динамического режима относительно динамического режима распределенной системы хранения данных; при нарушении по меньшей мере одного SLS вычисления повторной конфигурации системы хранения данных, основанной по меньшей мере на одном SLS, параметре данных ресурсов хранения и параметре данных динамического режима; и автоматического размещения по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, включающая: инфраструктурный уровень, включающий взаимосвязанные компьютерные узлы, в котором: каждый из взаимосвязанных компьютерных узлов, включающих ресурсы для обработки, сконфигурированные для исполнения агента унифицированной распределенной платформы хранения данных (UDSP); по меньшей мере один из взаимосвязанных компьютерных узлов включает один или более ресурсов хранения; агент UDSP сконфигурирован для: получения задачи, включающей по меньшей мере одно задание; вычисления степеней по меньшей мере одного из заданий относительно по меньшей мере одного из взаимосвязанных компьютерных узлов таким образом, что каждая степень является показателем пригодности соответствующего из взаимосвязанных компьютерных узлов для исполнения соответствующего из заданий, в то же время удовлетворяя по меньшей мере одно из требований параметра уровня услуги (SLS), степень также вычисляется на основании данных параметров, относящихся к одному или нескольким ресурсам хранения, подключенных к соответствующему компьютерному узлу при его наличии; исполнения одного или более заданий или маршрутизации задач в наиболее подходящий компьютерный узел инфраструктурного уровня на основании вычисленных степеней; вычисления степеней для заданий следующих задач относительно по меньшей мере одного модифицированного взаимосвязанного компьютерного узла усовершенствованной инфраструктуры; усовершенствованный инфраструктурный уровень создан в связи с модификацией по меньшей мере одного взаимосвязанного компьютерного узла; модификации, включающей, по меньшей мере (i) как минимум один новый ресурс хранения данных подключен к соответствующему узлу (ii) как минимум один существующий ресурс хранения данных отключен от соответствующего узла (iii) как минимум один существующий ресурс хранения данных модифицирован; вычисления степеней для задания следующих задач относительно по меньшей мере одного взаимосвязанного компьютерного узла, имеющего новые ресурсы хранения, подключенные к нему, или имеющего ресурсы хранения, отключенные от него, что приводит к возникновению усовершенствованного инфраструктурного уровня; и исполнения одного или более заданий следующих задач или маршрутизация следующих задач в наиболее подходящий компьютерный узел усовершенствованного инфраструктурного уровня на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой агент UDSP также сконфигурирован для:
приема параметров данных динамического режима относительно динамического режима распределенной системы хранения данных; при нарушении по меньшей мере одного SLS, вычисления повторной конфигурации распределенной системы хранения данных, основанной по меньшей мере на одном SLS, параметре данных ресурсов хранения и параметре данных динамического режима; и автоматического размещения по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой при вычислении степеней заданий следующих задач создается усовершенствованный инфраструктурный уровень, и вычисление выполняется относительно по меньшей мере одного модифицированного взаимосвязанного компьютерного узла созданного усовершенствованного инфраструктурного уровня.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой при вычислении степеней заданий следующих задач создается усовершенствованный инфраструктурный уровень, и вычисление выполняется относительно по меньшей мере одного взаимосвязанного компьютерного узла созданного усовершенствованного инфраструктурного уровня.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой усовершенствованная инфраструктура создается в динамическом режиме.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой один или более ресурсов хранения включают по меньшей мере один ресурс хранения из следующих категорий ресурсов хранения: кэш-ресурсы, ресурсы хранения данных и сетевые ресурсы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, сконфигурированный для подключения к инфраструктурному уровню, включая взаимосвязанные компьютерные узлы, при этом по меньшей мере один из взаимосвязанных компьютерных узлов включает один или более ресурсов хранения, и компьютерный узел включает: по меньшей мере один обрабатывающий ресурс, сконфигурированный для выполнения агента унифицированной распределенной платформы хранения данных (UDSP), в котором агент UDSP сконфигурирован для: получения задачи, включающей по меньшей мере одно задание; вычисления степеней по меньшей мере одного из заданий относительно по меньшей мере одного из взаимосвязанных компьютерных узлов таким образом, что каждая степень является показателем пригодности соответствующего из взаимосвязанных компьютерных узлов для исполнения соответствующего из заданий, в то же время удовлетворяя по меньшей мере одно из требований параметра уровня услуги (SLS), степень также вычисляется на основании данных параметров, относящихся к одному или нескольким ресурсам хранения, подключенным к соответствующему компьютерному узлу при его наличии; исполнения одного или более заданий или маршрутизации задач в наиболее подходящий компьютерный узел инфраструктурного уровня на основании вычисленных степеней; вычисления степеней для заданий следующих задач относительно по меньшей мере одного модифицированного взаимосвязанного компьютерного узла усовершенствованной инфраструктуры; усовершенствованный инфраструктурный уровень создан в связи с модификацией по меньшей мере одного взаимосвязанного компьютерного узла; модификация, включающая по меньшей мере (i) как минимум один новый ресурс хранения данных подключен к соответствующему узлу (ii) как минимум один существующий ресурс хранения данных отключен от соответствующего узла (iii) как минимум один существующий ресурс хранения данных модифицирован; вычисления степеней для задания следующих задач относительно по меньшей мере одного взаимосвязанного компьютерного узла, имеющего новые ресурсы хранения, подключенные к нему, или имеющего ресурсы хранения, отключенные от него, что приводит к возникновению усовершенствованного инфраструктурного уровня; и исполнения одного или более заданий следующих задач или маршрутизации следующих задач в наиболее подходящий компьютерный узел усовершенствованного инфраструктурного уровня на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором агент UDSP также сконфигурирован для:
приема параметров данных динамического режима относительно динамического режима системы хранения данных; при нарушении по меньшей мере одного SLS, вычисления повторной конфигурации распределенной системы хранения данных, основанной по меньшей мере на одном SLS, параметре данных ресурсов хранения и параметре данных динамического режима; и автоматического размещения по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается система компьютерных узлов, в которой при вычислении степеней для задания следующих задач создается усовершенствованный инфраструктурный уровень, и вычисление выполняется относительно по меньшей мере одного модифицированного взаимосвязанного компьютерного узла созданного усовершенствованного инфраструктурного уровня.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается система компьютерных узлов, в которой при вычислении степеней для задания следующих задач создается усовершенствованный инфраструктурный уровень, и вычисление выполняется относительно по меньшей мере одного взаимосвязанного компьютерного узла созданного усовершенствованного инфраструктурного уровня.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается система компьютерных узлов, в которой усовершенствованная инфраструктура создается в динамическом режиме.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается система компьютерных узлов, в которой один или более один или более ресурсов хранения включают по меньшей мере один ресурс хранения из следующих категорий ресурсов хранения: кэш-ресурсы, ресурсы хранения данных и сетевые ресурсы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ эксплуатации компьютерного узла, сконфигурированного для подключения к инфраструктурному уровню, включая взаимосвязанные компьютерные узлы, при этом по меньшей мере один из взаимосвязанных компьютерных узлов включает один или более ресурсов хранения, и способ включает:
получение задачи, включающей по меньшей мере одно задание; вычисление степеней по меньшей мере одного из заданий относительно по меньшей мере одного из взаимосвязанных компьютерных узлов таким образом, что каждая степень является показателем пригодности соответствующего из взаимосвязанных компьютерных узлов для исполнения соответствующего из заданий, в то же время удовлетворяя по меньшей мере одно из требований параметра уровня услуги (SLS), степень также вычисляется на основании данных параметров, относящихся к одному или нескольким ресурсам хранения, подключенным к соответствующему компьютерному узлу при его наличии; исполнение одного или более заданий или маршрутизации задач в наиболее подходящий компьютерный узел инфраструктурного уровня на основании вычисленных степеней; вычисление степеней для заданий следующих задач относительно по меньшей мере одного модифицированного взаимосвязанного компьютерного узла усовершенствованного инфраструктурного уровня; усовершенствованный инфраструктурный уровень создан в связи с модификацией по меньшей мере одного взаимосвязанного компьютерного узла; модификация, включающая, по меньшей мере (i) как минимум один новый ресурс хранения данных подключен к соответствующему узлу (ii) как минимум один существующий ресурс хранения данных отключен от соответствующего узла (iii) как минимум один существующий ресурс хранения данных модифицирован; вычисление степеней для задания следующих задач относительно по меньшей мере одного взаимосвязанного компьютерного узла, имеющего новые ресурсы хранения, подключенные к нему, или имеющего ресурсы хранения, отключенные от него, что приводит к возникновению усовершенствованного инфраструктурного уровня; и исполнение одного или более заданий следующих задач или маршрутизация следующих задач в наиболее подходящий компьютерный узел усовершенствованного инфраструктурного уровня на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, также включающий прием параметров данных динамического режима относительно динамического режима распределенной системы хранения данных; при нарушении по меньшей мере одного SLS, вычисление повторной конфигурации распределенной системы хранения данных, основанной по меньшей мере на одном SLS, параметре данных ресурсов хранения и параметре данных динамического режима; и автоматическое размещение по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором при вычислении степеней заданий следующих задач создается усовершенствованный инфраструктурный уровень, и вычисление выполняется относительно по меньшей мере одного модифицированного взаимосвязанного компьютерного узла созданного усовершенствованного инфраструктурного уровня.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором при вычислении степеней заданий следующих задач создается усовершенствованный инфраструктурный уровень, и вычисление выполняется относительно по меньшей мере одного взаимосвязанного компьютерного узла созданного усовершенствованного инфраструктурного уровня.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором усовершенствованная инфраструктура создается в динамическом режиме.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором один или более ресурсов хранения включают по меньшей мере один ресурс хранения из следующих категорий ресурсов хранения: кэш-ресурсы, ресурсы хранения данных и сетевые ресурсы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, сконфигурированный для подключения к инфраструктурному уровню распределенной системы хранения данных, инфраструктурный уровень включает взаимосвязанные компьютерные узлы, компьютерный узел включает по меньшей мере один обрабатывающий ресурс, сконфигурированный для выполнения агента унифицированной распределенной платформы хранения данных (UDSP), в котором агент UDSP сконфигурирован для:
приема не менее одного параметра уровня услуги (SLS), включающего требования по хранению, назначаемые пользователем, относящиеся по меньшей мере к одному логическому объекту хранения, и данные параметров ресурсов хранения, относящиеся к одному или нескольким ресурсам хранения, подключенным к взаимосвязанным компьютерным узлам; вычисления конфигурации распределенной системы хранения данных на основании по меньшей мере не менее одного SLS и данных параметров ресурсов хранения;
автоматического размещения по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией, приема параметров данных динамического режима относительно динамического режима распределенной системы хранения данных; при нарушении по меньшей мере одного SLS, вычисления повторной конфигурации системы хранения данных, основанной по меньшей мере на одном SLS, параметре данных ресурсов хранения и параметре данных динамического режима; и автоматического размещения по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором агент UDSP также сконфигурирован для: получения задачи, включающей по меньшей мере одно задание; вычисления степеней по меньшей мере одного из заданий относительно по меньшей мере одного из взаимосвязанных компьютерных узлов таким образом, что каждая степень является показателем пригодности соответствующего из взаимосвязанных компьютерных узлов для исполнения соответствующего из заданий, в то же время удовлетворяя по меньшей мере одно из требований параметра уровня услуги (SLS), степень также вычисляется на основании данных параметров, относящихся к одному или нескольким ресурсам хранения, подключенным к соответствующему компьютерному узлу при его наличии; исполнения одного или более заданий или маршрутизации задач в наиболее подходящий компьютерный узел на основании вычисленных степеней; вычисления степеней для заданий следующих задач относительно по меньшей мере одного добавленного взаимосвязанного компьютерного узла усовершенствованного инфраструктурного уровня; усовершенствованный инфраструктурный уровень создан в связи с добавлением по меньшей мере одного дополнительного взаимосвязанного компьютерного узла, связанного с ним; и исполнения одного или более заданий следующих задач или маршрутизации следующих задач в наиболее подходящий компьютерный узел усовершенствованного инфраструктурного уровня на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором конфигурация вычисляется с помощью механизма оптимизации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором механизм оптимизации использует одну или более следующих методик оптимизации: линейное программирование; математический аннилинг; генетические алгоритмы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором одна или более методик оптимизации используют эвристику или аппроксимации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором требования к хранению включают, по меньшей мере: местоположение; уровень локальной защиты; политика резервного хранения; уровень удаленной защиты; уровни производительности; уровень шифрования; удаление дубликатов; сжатие; способ хранения.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором один или более ресурсов хранения включают по меньшей мере один ресурс хранения из следующих категорий ресурсов хранения: кэш-ресурсы, ресурсы хранения данных и сетевые ресурсы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором ресурсы хранения распределены по меньшей мере между двумя местоположениями.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором конфигурация включает переполнение ресурсов системы хранения данных.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором агент UDSP также конфигурируется в ответ на неисправность при определении конфигурации, чтобы обеспечить пользователя уведомлениями о неисправностях или рекомендациями, свидетельствующими о добавлении по меньшей мере одного дополнительного ресурса хранения, с помощью которого можно выполнить успешное вычисление конфигурации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ эксплуатации компьютерного узла, сконфигурированного для подключения к инфраструктурному уровню, включая взаимосвязанные компьютерные узлы, при этом по меньшей мере один из взаимосвязанных компьютерных узлов включает один или более ресурсов хранения, и способ включает:
прием не менее одного параметра уровня услуги (SLS), включающего требования по хранению, назначаемые пользователем, относящиеся по меньшей мере к одному логическому объекту хранения, и данные параметров ресурсов хранения, относящиеся к одному или нескольким ресурсам хранения, подключенным к взаимосвязанным компьютерным узлам; вычисление конфигурации распределенной системы хранения данных на основании по меньшей мере не менее одного SLS и данных параметров ресурсов хранения;
автоматическое размещение по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией; прием параметров данных динамического режима относительно динамического режима распределенной системы хранения данных; при нарушении по меньшей мере одного SLS, вычисление повторной конфигурирования системы хранения данных, основанной по меньшей мере на одном SLS, параметре данных ресурсов хранения и параметре данных динамического режима;
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, включающий: получение задачи, включающей по меньшей мере одно задание; вычисление степеней по меньшей мере одного из заданий относительно по меньшей мере одного из взаимосвязанных компьютерных узлов таким образом, что каждая степень является показателем пригодности соответствующего из взаимосвязанных компьютерных узлов для исполнения соответствующего из заданий, в то же время удовлетворяя по меньшей мере одно из требований параметра уровня услуги (SLS), степень также вычисляется на основании данных параметров, относящихся к одному или нескольким ресурсам хранения, подключенных к соответствующему компьютерному узлу при его наличии; вычисление степеней для заданий следующих задач относительно по меньшей мере одного добавленного взаимосвязанного компьютерного узла усовершенствованного инфраструктурного уровня; усовершенствованный инфраструктурный уровень создан в связи с добавлением по меньшей мере одного дополнительного взаимосвязанного компьютерного узла, связанного с ним; и исполнение одного или более заданий следующих задач или маршрутизация следующих задач в наиболее подходящий компьютерный узел усовершенствованного инфраструктурного уровня на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором степени заданий вычисляются с помощью механизма оптимизации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором механизм оптимизации использует одну или более следующих методик оптимизации: линейное программирование; математический аннилинг; генетические алгоритмы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором одна или более методик оптимизации используют эвристику или аппроксимации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором требования к хранению включают, по меньшей мере: местоположение; уровень локальной защиты; политика резервного хранения; уровень удаленной защиты; уровни производительности; уровень шифрования; удаление дубликатов; сжатие; способ хранения.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором один или более ресурсов хранения включают по меньшей мере один ресурс хранения из следующих категорий ресурсов хранения: кэш-ресурсы, ресурсы хранения данных и сетевые ресурсы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором ресурсы хранения распределены по меньшей мере между двумя местоположениями.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором конфигурация включает переполнение ресурсов системы хранения данных.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, включающий: в ответ на неисправность при определении конфигурации, чтобы обеспечить пользователя уведомлениями о неисправностях или рекомендациями, свидетельствующими о добавлении по меньшей мере одного дополнительного ресурса хранения, с помощью которого можно выполнить успешное вычисление конфигурации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, включающая: инфраструктурный уровень, включающий взаимосвязанные компьютерные узлы, в котором: каждый из взаимосвязанных компьютерных узлов, включающих ресурсы для обработки, сконфигурирован для исполнения агента унифицированной распределенной платформы хранения данных (UDSP); агент UDSP сконфигурирован для: приема не менее одного параметра уровня услуги (SLS), включающего требования к хранению, назначаемые пользователем, относящиеся по меньшей мере к одному логическому объекту хранения, и данные параметров ресурсов хранения, относящиеся к одному или нескольким ресурсам хранения, подключенным к взаимосвязанным компьютерным узлам; вычисления конфигурации распределенной системы хранения данных на основании по меньшей мере не менее одного SLS и данных параметров ресурсов хранения; автоматического размещения по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией; приема параметров данных динамического режима относительно динамического режима распределенной системы хранения данных; при нарушении по меньшей мере одного SLS, вычисления повторной конфигурации системы хранения данных, основанной по меньшей мере на одном SLS, параметре данных ресурсов хранения и параметре данных динамического режима; и автоматического размещения, по меньшей мере, части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой агент UDSP также сконфигурирован для:
получения задачи, включающей по меньшей мере одно задание; вычисления степеней по меньшей мере одного из заданий относительно по меньшей мере одного из взаимосвязанных компьютерных узлов таким образом, что каждая степень является показателем пригодности соответствующего из взаимосвязанных компьютерных узлов для исполнения соответствующего из заданий, в то же время удовлетворяя по меньшей мере одно из требований параметра уровня услуги (SLS), степень также вычисляется на основании данных параметров, относящихся к одному или нескольким ресурсам хранения, подключенным к соответствующему компьютерному узлу при его наличии; исполнения одного или более заданий или маршрутизации задач в наиболее подходящий компьютерный узел на основании вычисленных степеней; вычисления степеней для заданий следующих задач относительно по меньшей мере одного добавленного взаимосвязанного компьютерного узла усовершенствованного инфраструктурного уровня; усовершенствованный инфраструктурный уровень создан в связи с добавлением по меньшей мере одного дополнительного взаимосвязанного компьютерного узла, связанного с ним; и исполнения одного или более заданий следующих задач или маршрутизации следующих задач в наиболее подходящий компьютерный узел усовершенствованного инфраструктурного уровня на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой конфигурация вычисляется с помощью механизма оптимизации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой механизм оптимизации использует одну или более следующих методик оптимизации: линейное программирование; математический аннилинг; генетические алгоритмы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой одна или более методик оптимизации используют эвристику или аппроксимации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой требования к хранению включают, по меньшей мере: местоположение; уровень локальной защиты; политика резервного хранения; уровень удаленной защиты; уровни производительности; уровень шифрования; удаление дубликатов; сжатие; способ хранения.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой один или более ресурсов хранения включают по меньшей мере один ресурс хранения из следующих категорий ресурсов хранения: кэш-ресурсы, ресурсы хранения данных и сетевые ресурсы.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой ресурсы хранения распределены по меньшей мере между двумя местоположениями.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой конфигурация включает переполнение ресурсов системы хранения данных.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой агент UDSP также конфигурируется в ответ на неисправность при определении конфигурации, чтобы обеспечить пользователя уведомлениями о неисправностях или рекомендациями, свидетельствующими о добавлении по меньшей мере одного дополнительного ресурса хранения, с помощью которого можно выполнить успешное вычисление конфигурации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, включающая:
инфраструктурный уровень, включающий взаимосвязанные компьютерные узлы, в котором: каждый из взаимосвязанных компьютерных узлов, включающих ресурсы для обработки, сконфигурирован для исполнения агента унифицированной распределенной платформы хранения данных (UDSP); агент UDSP сконфигурирован для: приема не менее одного параметра уровня услуги (SLS), включающего требования к хранению, назначаемые пользователем, относящиеся по меньшей мере к одному логическому объекту хранения, и данные параметров ресурсов хранения, относящиеся к одному или нескольким ресурсам хранения, подключенным к взаимосвязанным компьютерным узлам; вычисление конфигурации распределенной системы хранения данных на основании по меньшей мере не менее одного SLS и данных параметров ресурсов хранения; и автоматическое размещение по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, сконфигурированный для подключения к инфраструктурному уровню распределенной системы хранения данных, инфраструктурный уровень включает взаимосвязанные компьютерные узлы, компьютерный узел включает: по меньшей мере один обрабатывающий ресурс, сконфигурированный для выполнения агента унифицированной распределенной платформы хранения данных (UDSP), в котором агент UDSP сконфигурирован для:
приема не менее одного параметра уровня услуги (SLS), включающего требования к хранению, назначаемые пользователем, относящиеся по меньшей мере к одному логическому объекту хранения, и данные параметров ресурсов хранения, относящиеся к одному или нескольким ресурсам хранения, подключенным к взаимосвязанным компьютерным узлам; вычисления конфигурации распределенной системы хранения данных на основании по меньшей мере не менее одного SLS и данных параметров ресурсов хранения; и автоматического размещения по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, сконфигурированный для подключения к инфраструктурному уровню распределенной системы хранения данных, инфраструктурный уровень включает взаимосвязанные компьютерные узлы, способ включает: прием не менее одного параметра уровня услуги (SLS), включающего требования к хранению, назначаемые пользователем, относящиеся по меньшей мере к одному логическому объекту хранения, и данные параметров ресурсов хранения, относящиеся к одному или нескольким ресурсам хранения, подключенным к взаимосвязанным компьютерным узлам; вычисление конфигурации системы хранения данных на основании по меньшей мере не менее одного SLS и данных параметров ресурсов хранения; и автоматическое размещение по меньшей мере части одного из ресурсов хранения в соответствии с вычисленной конфигурацией.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, включающая: инфраструктурный уровень, включающий взаимосвязанные компьютерные узлы, в котором: каждый из взаимосвязанных компьютерных узлов, включающих ресурсы для обработки, сконфигурирован для исполнения агента унифицированной распределенной платформы хранения данных (UDSP); по меньшей мере один из взаимосвязанных компьютерных узлов включает один или более ресурсов хранения; агент UDSP сконфигурирован для получения задачи, содержащей по меньшей мере одно задание; вычисление степеней по меньшей мере одного из заданий относительно по меньшей мере одного из взаимосвязанных компьютерных узлов таким образом, что каждая степень является показателем пригодности соответствующего из взаимосвязанных компьютерных узлов для исполнения соответствующего из заданий, в то же время удовлетворяя по меньшей мере одному из требований параметра уровня услуги (SLS); исполнение одного или более заданий или маршрутизации задач в наиболее подходящий компьютерный узел инфраструктурного уровня на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, сконфигурированный для подключения к инфраструктурному уровню, включая взаимосвязанные компьютерные узлы, которые включают: по меньшей мере один обрабатывающий ресурс, сконфигурированный для выполнения агента унифицированной распределенной платформы хранения данных (UDSP), в котором агент UDSP сконфигурирован для: получения задачи, включающей по меньшей мере одно задание; вычисление степеней по меньшей мере одного из заданий относительно по меньшей мере одного из взаимосвязанных компьютерных узлов таким образом, что каждая степень является показателем пригодности соответствующего из взаимосвязанных компьютерных узлов для исполнения соответствующего из заданий, в то же время удовлетворяя по меньшей мере одно из требований параметра уровня услуги (SLS); исполнения одного или более заданий или маршрутизации задач в наиболее подходящий компьютерный узел на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ эксплуатации компьютерного узла, сконфигурированный для подключения к инфраструктурному уровню, включающему взаимосвязанные компьютерные узлы, способ включает: получение задачи, включающей по меньшей мере одно задание; вычисление степеней по меньшей мере одного из заданий относительно по меньшей мере одного из взаимосвязанных компьютерных узлов таким образом, что каждая степень является показателем пригодности соответствующего из взаимосвязанных компьютерных узлов для исполнения соответствующего из заданий, в то же время удовлетворяя, по меньшей мере одно из требований параметра уровня услуги (SLS); и исполнение одного или более заданий или маршрутизации задач в наиболее подходящий компьютерный узел на основании вычисленных степеней.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, включающая взаимосвязанные компьютерные узлы; каждый из взаимосвязанных компьютерных узлов, включающих ресурсы для обработки, сконфигурирован для исполнения агента унифицированной распределенной платформы хранения данных (UDSP); по меньшей мере один из компьютерных узлов включает один или более ресурсов, в том числе по меньшей мере один кэш-ресурс для запоминания объектов, и имеющий соответствующие кэш-параметры; по меньшей мере один агент UDSP соответствующего компьютерного узла, имеющий по меньшей мере один кэш-ресурс, сконфигурирован для: контроля кэш-параметров по меньшей мере одного кэш-ресурса, подключенного к соответствующему компьютерному узлу, для определения, соответствуют ли кэш-параметры по меньшей мере одному первому критерию SLS; и в случае когда по меньшей мере не выполняется один первый критерий SLS, инициирования переадресации по меньшей мере части одного или более пространств кэш-объектов по меньшей мере одного кэш-ресурса в по меньшей мере один другой компьютерный узел, у которого после приема по меньшей мере части одного или более пространств кэш-объектов кэш-параметры соответствуют по меньшей мере одному второму критерию SLS.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой каждый агент UDSP соответствующего компьютерного узла, имеющий по меньшей мере один кэш-ресурс, также сконфигурирован для: контроля, что кэш-параметры соответствуют по меньшей мере одному третьему критерию SLS, указывающему на неполное использование соответствующих кэш-ресурсов; и в случае, когда по меньшей мере не выполняется один третий критерий SLS, инициирования переадресации по меньшей мере части одного или более пространств кэш-объектов по меньшей мере одного кэш-ресурса в по меньшей мере один другой компьютерный узел, у которого после приема по меньшей мере части одного или более пространств кэш-объектов кэш-параметры соответствуют по меньшей мере одному второму критерию SLS.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой первые компьютерные узлы, имеют соответствующие репозитории данных UDSP, так что репозиторий данных UDSP первого компьютерного узла включает данные на кэш-параметры, соответствующие одному или нескольким кэш-ресурсам вторых компьютерных узлов; агент UDSP первого компьютерного узла сконфигурирован для: контроля кэш-параметров в соответствии с данными, извлекаемыми из его репозитория данных UDSP относительно одного или более кэш-ресурсов по меньшей мере одного второго компьютерного узла для определения, соответствуют ли кэш-параметры соответствующего второго компьютерного узла по меньшей мере одному первому критерию SLS; и в случае когда по меньшей мере не выполняется один первый критерий SLS, инициирования сообщения в соответствующий второй компьютерный узел, включающий по меньшей мере один из кэш-параметров соответствующего второго компьютерного узла, извлеченного из репозитория данных UDSP первого компьютерного узла, таким образом позволяя соответствующему второму компьютерному узлу определить, являются ли кэш-параметры, полученные из первого компьютерного узла, предпочтительными по сравнению с кэш-параметрами второго компьютерного узла.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой первый компьютерный узел имеет по меньшей мере один кэш-ресурс, подключенный к нему:
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой репозиторий данных UDSP первого компьютерного узла также включает данные собственных кэш-параметров, соответствующих кэш-ресурсам первого компьютерного узла.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой агент UDSP далее конфигурируется в ответ на сбой при инициировании переадресации, чтобы обеспечить пользователя уведомлением о сбое или рекомендацией, свидетельствующей о добавлении по меньшей мере одного дополнительного кэш-ресурса, с помощью которого можно выполнить успешное инициирование переадресации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой ресурсы шлюза или клиент-серверы имеют соответствующие репозиторий данных UDSP, так что репозиторий данных UDSP ресурса шлюзов или клиента-сервера включает данные на кэш-параметры, соответствующие одному или нескольким кэш-ресурсам компьютерных узлов; агент UDSP ресурса шлюзов или клиент-сервера также сконфигурирован для: контроля кэш-параметров в соответствии с данными, извлекаемыми из его репозитория данных UDSP относительно одного или более кэш-ресурсов по меньшей мере одного компьютерного узла для определения, соответствуют ли кэш-параметры соответствующего компьютерного узла, по меньшей мере одному первому критерию SLS; и в случае, когда по меньшей мере не выполняется один первый критерий SLS, инициирование сообщения в соответствующий компьютерный узел, включающий по меньшей мере один из кэш-параметров соответствующего компьютерного узла, извлеченного из репозитория данных UDSP ресурса шлюзов или клиент-сервера, позволяя таким образом соответствующему компьютерному узлу определить, являются ли кэш-параметры, полученные из ресурса шлюзов или клиент-сервера, предпочтительными по сравнению с кэш-параметрами компьютерного узла.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой агент UDSP соответствующего компьютерного узла также сконфигурирован для: создания отображения постпереадресации кэш-ресурса, указывающего новые расположения по меньшей мере части одного или более пространств кэш-объектов; отправки отображения постпереадресации кэш-ресурса в другие компьютерные узлы и в один или более клиент-серверов, связанных с по меньшей мере частью одного или более пространств кэш-объектов, при их наличии; и передачи права собственности по меньшей мере части одного или более пространств кэш-объектов в другой компьютерный узел.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой агент UDSP соответствующего компьютерного узла также сконфигурирован для: приема запроса, относящегося к объекту в пределах отображения постпереадресации кэш-ресурса во время переадресации; если объект не принадлежит соответствующему компьютерному узлу в соответствии с отображением постпереадресации кэш-ресурса, и соответствующий компьютерный узел не имеет прав собственности объекта, передачи запроса в другой компьютерный узел.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, сконфигурированный для подключения к инфраструктурному уровню, включая взаимосвязанные компьютерные узлы, и компьютерный узел включает: по меньшей мере один кэш-ресурс, сконфигурированный для кэширования объектов и имеющий соответствующие кэш-параметры;
по меньшей мере один обрабатывающий ресурс, сконфигурированный для выполнения агента унифицированной распределенной платформы хранения данных (UDSP), в котором агент UDSP сконфигурирован для: контроля кэш-параметров по меньшей мере одного кэш-ресурса, подключенного к компьютерному узлу, для определения, соответствуют ли кэш-параметры по меньшей мере одному первому критерию SLS, и в случае когда по меньшей мере не выполняется один первый критерий SLS, инициирования переадресации по меньшей мере части одного или более пространств кэш-объектов по меньшей мере одного кэш-ресурса в по меньшей мере один другой компьютерный узел взаимосвязанных компьютерных узлов, у которого после приема по меньшей мере части одного или более пространств кэш-объектов кэш-параметры соответствуют по меньшей мере одному второму критерию SLS.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором агент UDSP также сконфигурирован для: контроля, что кэш-параметры соответствуют по меньшей мере одному третьему критерию SLS, указывающему на неполное использование соответствующих кэш-ресурсов; и в случае когда по меньшей мере не выполняется один третий критерий SLS, инициирования переадресации по меньшей мере части одного или более пространств кэш-объектов по меньшей мере одного кэш-ресурса в по меньшей мере один другой компьютерный узел взаимосвязанных компьютерных узлов, у которого после приема по меньшей мере части одного или более пространств кэш-объектов кэш-параметры соответствуют по меньшей мере одному второму критерию SLS.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором компьютерный узел также включает репозиторий данных UDSP, включая данные на кэш-параметры, соответствующие одному или нескольким кэш-ресурсам одного другого компьютерного узла взаимосвязанных компьютерных узлов; и в котором агент UDSP сконфигурирован для: контроля кэш-параметров в соответствии с данными, извлекаемыми из его репозитория данных UDSP относительно одного или более кэш-ресурсов по меньшей мере одного другого компьютерного узла для определения, соответствуют ли кэш-параметры соответствующего другого компьютерного узла по меньшей мере одному первому критерию SLS; и в случае когда по меньшей мере не выполняется один первый критерий SLS, инициирования сообщения в соответствующий другой компьютерный узел, включающий по меньшей мере один из кэш-параметров соответствующего другого компьютерного узла, извлеченного из репозитория данных UDSP первого компьютерного узла, таким образом позволяя соответствующему другому компьютерному узлу определить, являются ли кэш-параметры, полученные из первого компьютерного узла, предпочтительными по сравнению с кэш-параметрами другого компьютерного узла.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается распределенная система хранения данных, в которой репозиторий данных UDSP также включает данные собственных кэш-параметров, соответствующих кэш-ресурсам компьютерного узла.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором агент UDSP также конфигурируется в ответ на сбой при инициировании переадресации, чтобы обеспечить пользователя уведомлением о сбое или рекомендацией, свидетельствующей о добавлении по меньшей мере одного дополнительного кэш-ресурса, с помощью которого можно выполнить успешное инициирование переадресации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором агент UDSP также сконфигурирован для: создания отображения постпереадресации кэш-ресурса, указывающего новые расположения по меньшей мере части одного или более пространств кэш-объектов; отправки отображения постпереадресации кэш-ресурса в другой компьютерный узел или в один или более клиент-серверов, связанных с по меньшей мере частью одного или более пространств кэш-объектов, при их наличии; и передачи права собственности по меньшей мере части одного или более пространств кэш-объектов в другой компьютерный узел.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором агент UDSP также сконфигурирован для: приема запроса, относящегося к объекту в пределах отображения постпереадресации кэш-ресурса во время переадресации; если объект не принадлежит соответствующему компьютерному узлу в соответствии с отображением постпереадресации кэш-ресурса, и соответствующий компьютерный узел не имеет прав собственности объекта, передачи запроса в другой компьютерный узел.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ эксплуатации компьютерного узла, имеющего по меньшей мере один кэш-ресурс, подключенный к нему, и сконфигурированного для подключения к инфраструктурному уровню, включающему взаимосвязанные компьютерные узлы, способ включает: контроль кэш-параметров по меньшей мере одного кэш-ресурса, имеющего соответствующие кэш-параметры и сконфигурированного для кэширования объектов, для определения, соответствуют ли кэш-параметры, по меньшей мере одному первому критерию SLS, и в случае когда по меньшей мере не выполняется один первый критерий SLS, инициирования переадресации по меньшей мере части одного или более пространств кэш-объектов по меньшей мере одного кэш-ресурса в по меньшей мере один другой компьютерный узел взаимосвязанных компьютерных узлов, у которого после приема по меньшей мере части одного или более пространств кэш-объектов кэш-параметры соответствуют по меньшей мере одному второму критерию SLS.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, включающий: контроль, что кэш-параметры соответствуют по меньшей мере одному третьему критерию SLS, указывающему на неполное использование соответствующих кэш-ресурсов; и в случае когда по меньшей мере выполняется один третий критерий SLS, инициирование переадресации по меньшей мере части одного или более пространств кэш-объектов по меньшей мере одного кэш-ресурса в по меньшей мере один другой компьютерный узел взаимосвязанных компьютерных узлов, у которого после приема по меньшей мере части одного или более пространств кэш-объектов кэш-параметры соответствуют по меньшей мере одному второму критерию SLS.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается компьютерный узел, в котором компьютерный узел также включает репозиторий данных UDSP, включая данные на кэш-параметры, соответствующие одному или нескольким кэш-ресурсам одного другого компьютерного узла взаимосвязанных компьютерных узлов; способ, также включает: контроль кэш-параметров в соответствии с данными, извлекаемыми из его репозитория данных UDSP относительно одного или более кэш-ресурсов по меньшей мере одного другого компьютерного узла для определения, соответствуют ли кэш-параметры соответствующего другого компьютерного узла, по меньшей мере одному первому критерию SLS; и в случае когда по меньшей мере не выполняется один первый критерий SLS, инициирование сообщения в соответствующий другой компьютерный узел, включающий по меньшей мере один из кэш-параметров соответствующего другого компьютерного узла, извлеченного из репозитория данных UDSP первого компьютерного узла, позволяя, таким образом, соответствующему другому компьютерному узлу определить, являются ли кэш-параметры, полученные из компьютерного узла, предпочтительными по сравнению с кэш-параметрами другого компьютерного узла.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, в котором репозиторий данных UDSP также включает данные собственных кэш-параметров для кэширования кэш-ресурсов компьютерного узла.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, включающий в ответ на сбой при инициировании переадресации, чтобы обеспечить пользователя уведомлением о сбое или рекомендацией, свидетельствующей о добавлении по меньшей мере одного дополнительного кэш-ресурса, с помощью которого можно выполнить успешное инициирование переадресации.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, включающий: создание отображения постпереадресации кэш-ресурса, указывающего новые расположения по меньшей мере части одного или более пространств кэш-объектов; отправку отображения постпереадресации кэш-ресурса в другой компьютерный узел и в один или более клиент-серверов, связанных с по меньшей мере частью одного или более пространств кэш-объектов, при их наличии; и передачу права собственности по меньшей мере части одного или более пространств кэш-объектов в другой компьютерный узел.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения далее предлагается способ, включающий: прием запроса, относящегося к объекту в пределах отображения постпереадресации кэш-ресурса во время переадресации; если объект не принадлежит соответствующему компьютерному узлу в соответствии с отображением постпереадресации кэш-ресурса, и соответствующий компьютерный узел не имеет прав собственности объекта, передачу запроса в другой компьютерный узел.
КРАТКОЕ ОПИСАНИЕ ФИГУР
Чтобы понять раскрытый в данном документе объект изобретения и увидеть, как он может быть осуществлен на практике, объект изобретения будет описан только с помощью не имеющих ограничительного характера примеров, со ссылкой на прилагаемые Фигуры, в которых:
На Фигуре 1 в виде схемы изображена архитектура верхнего уровня распределенной системы хранения данных, включая инфраструктурный уровень, в соответствии с примером осуществления изобретения;
На Фигуре 2 в виде схемы изображен упрощенный пример системы конфигурирования распределенной системы хранения данных в соответствии с раскрытым в данном документе объектом изобретения;
На Фигуре 3 в виде схемы изображена упрощенная и типовая блок-схема процесса оптимизации, выполняемого объектной системой управления в соответствии с раскрытым в данном документе объектом изобретения;
На Фигуре 4 в виде схемы изображена упрощенная блок-схема типового рабочего алгоритма процесса конфигурирования, выполняемого объектной системой управления в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 5 представляет собой блок-схему, схематично изображающую типовой компьютерный узел, подключенный к распределенной системе хранения данных в соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения;
Фигура 6 представляет собой блок-схему, изображающую последовательность операций, выполняемых для создания задачи в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 7 представляет собой блок-схему, изображающую последовательность операций, выполняемых для создания задачи записи блоков хранения в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 8 представляет собой блок-схему, изображающую последовательность операций, выполняемых для управления задачами, получаемыми UDSP в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 9 представляет собой блок-схему, изображающую последовательность операций, выполняемых для сортировки пригодности узлов с целью исполнения отложенных задач заданий в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 10 представляет собой блок-схему, изображающую последовательность операций, выполняемых для исполнения отложенных заданий на компьютерном узле в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 11 представляет собой блок-схему, изображающую последовательность операций, выполняемых с целью повторных конфигурирований распределенной системы хранения данных (Distributed Storage System DSS) в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 12 представляет собой блок-схему, изображающую последовательность операций, выполняемых с целью контроля локальных параметров компьютерного узла и ресурсов, подключенных к нему в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 13 представляет собой блок-схему, изображающую последовательность операций, выполняемых с целью обнаружения и управления ресурсами, подключенными к компьютерному узлу в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 14 представляет собой блок-схему, изображающую последовательность операций, выполняемых для подключения нового компьютерного узла к распределенной системе хранения данных (Distributed Storage System DSS) в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 15 представляет собой блок-схему, изображающую последовательность операций, выполняемых для приема уведомлений из удаленного компьютерного узла и обновления репозитория данных унифицированной распределенной платформы хранения данных (UDSP) соответственно, в соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения;
Фигура 16 представляет собой блок-схему, изображающую модуль управления кэшем в соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения;
Фигура 17 представляет собой блок-схему, изображающую последовательность операций, выполняемых с целью управления локальными кэш-ресурсами компьютерного узла в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 18 представляет собой блок-схему, изображающую последовательность операций, выполняемых с целью управления удаленными кэш-ресурсами удаленных компьютерных узлов в соответствии с раскрытым в данном документе объектом изобретения;
На Фигуре 19 в виде схемы изображены различные сценарии кэш-ресурсов распределения в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 20 представляет собой блок-схему, изображающую последовательность операций, выполняемых для переадресации кэша с помощью инициатора переадресации в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 21 представляет собой блок-схему, изображающую последовательность операций, выполняемых для переадресации кэша с помощью адресата переадресации в соответствии с раскрытым в данном документе объектом изобретения;
Фигура 22 представляет собой блок-схему, изображающую последовательность операций, выполняемых для обработки запроса объекта, принятого инициатором переадресации во время переадресации в соответствии с раскрытым в данном документе объектом изобретения; и
Фигура 23 представляет собой блок-схему, изображающую последовательность операций, выполняемых для обработки запроса объекта, принятого адресатом переадресации во время переадресации в соответствии с раскрытым в данном документе объектом изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
На предлагаемых Фигурах и в описаниях одинаковые позиционные обозначения указывают на те элементы, которые являются общими для различных вариантов воплощений или конфигураций.
Если особо не оговорено иное, то, как видно из следующих обсуждений, следует принимать во внимание, что во всех обсуждениях описания изобретения использование таких терминов, как "прием", "вычисление", "исполнение", "маршрутизация", "контроль", "распространение", "распределение", "обеспечение" или что-либо в этом роде, включая действие и/или процессы компьютера, которые управляют и/или преобразуют данные из одного вида в другой, вышеупомянутые данные, представлены в виде физических величин, например, электронных величин, и/или вышеупомянутые данные, представляющие физические объекты. Термин "компьютер" должен быть расширенно истолкован для обозначения любого вида электронного устройства с возможностями обработки данных, включая, в виде неограничивающего примера, персональный компьютер, сервер, вычислительная система, устройство связи, процессор (например, цифровой процессор сигналов (DSP), микроконтроллер, программируемая вентильная матрица (FPGA), прикладная микросхема (ASIC), и т.д.), любое другое электронное вычислительное устройство, и или любая их комбинация.
Операции в соответствии с обучением могут выполняться компьютером, специально разработанным для заданных целей или универсальный компьютер, специально сконфигурированный для заданной цели с помощью компьютерной программы, хранящейся в машиночитаемом носителе памяти.
В данном контексте фраза "например" и ее варианты описывают неограниченные воплощения раскрытого в данном документе объекта изобретения. Ссылка в описании изобретения на "один случай", "некоторые случаи", "другие случаи" или их варианты означают, что отдельное свойство, структура или характеристика, описываемая в связи с воплощениями, включена по меньшей мере в один вариант воплощения раскрытого в данном документе объекта изобретения. Таким образом, появление фразы "один случай", "некоторые случаи", "другие случаи" или их варианты не обязательно относятся к тому же варианту воплощения.
Следует принимать во внимание, что определенные признаки раскрытого в данном документе объекта изобретения, которые для ясности описаны в контексте отдельных вариантов воплощения, могут также быть представлены совместно с одиночным вариантом воплощения. В свою очередь, различные признаки раскрытого в данном документе объекта изобретения, которые, для краткости описаны в контексте одиночного варианта воплощения, могут также быть представлены отдельно или в любой подкомбинации.
В вариантах воплощения раскрытого в данном документе объекта изобретения может осуществляться меньше, больше и/или различные фазы, чем те, которые показаны на Фигурах 3, 4, 6-18 и 20-23. В вариантах воплощения раскрытого в данном документе объекта изобретения одна или более фаз, приведенных на Фигурах 3, 4, 6-18 и 20-23, могут осуществляться в различном порядке и/или могут одновременно осуществляться одна или более групп фаз. На Фигурах 1, 2, 5 и 19 показана общая схема архитектуры системы в соответствии с вариантом воплощения раскрытого в данном документе объекта изобретения. Каждый модуль, изображенный на Фигурах 1, 2, 5 и 19, может состоять из любой комбинации программного, аппаратного или микропрограммного обеспечения, выполняющего функции, описанные и раскрытые в данном документе. Модули, изображенные на Фигурах 1, 2, 5 и 19, могут быть сосредоточены в одном месте или рассредоточены в более местах. В других вариантах воплощения раскрытого в данном документе объекта изобретения система может включать меньше, больше и/или другие модули, отличающиеся от показанных на Фигурах 1, 2, 5 и 19.
Имея в виду данное обстоятельство, обращаем внимание на Фигуру 1, на котором в виде схемы изображена архитектура верхнего уровня распределенной системы хранения данных, включая инфраструктурный уровень, в соответствии с раскрытым в данном документе объектом изобретения. В соответствии с примерами раскрытого в данном документе объекта изобретения распределенная система хранения данных (DSS) 200 может включать один или более следующих уровней: Инфраструктурный уровень 201, уровень унифицированной распределенной платформы хранения данных (UDSP) 202, и уровень API/структуры 203.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения инфраструктурный уровень 201 может включать один или более взаимосвязанных компьютерных узлов 205 (например, любой тип компьютера, включая в числе других один или более обрабатывающих ресурсов, таких, как один или более блоков обработки, один или более ресурсов хранения данных, например, память, и один или более сетевых интерфейсов), и в некоторых случаях, два или более взаимосвязанных компьютерных узла 205, для которых здесь предусмотрено более подробное описание, в том числе со ссылкой на Фигуру 5. Инфраструктурный уровень 201 также может включать один или более следующих ресурсов хранения: (a) ресурсы хранения данных (например, устройство хранения данных 204, RAID (redundant array of independent disks, избыточный массив из независимых дисков) 206, DAS (direct attached storage, накопитель с прямым подключением) 208, JBOD (just a bunch of drives, просто пачка приводов) 210, сетевое устройство для хранения данных 207 (например, SAN (Storage Area Net rking, сеть хранения данных), NAS (Net rk Access Server, сервер сетевого доступа), и т.д.), SSD (Solid State Disk, твердотельный SSD-накопитель) 213, и т.д.); (b) кэш-ресурсы 212, такие, как ресурсы памяти (например, RAM, DRAM, и т.д.), энергозависимые и/или энергонезависимые, и/или ресурсы хранения данных (например, SSD 213), которые в некоторых случаях могут использоваться дополнительно или в качестве альтернативы как кэш-ресурс), и т.д.; (c) сетевые ресурсы 214; и (d) дополнительные ресурсы, обеспечивающие дополнительные функциональные возможности для DSS 200 и/или повышающие его производительность (например, ускоритель сжатия, ускоритель шифрования 209, адаптер главной шины (Host Bus adapter, HBA), обеспечивающий связь с ресурсами SAN, и т.д.).
В некоторых случаях ресурсы могут включать более устройств одного типа и/или более устройств различных типов. Более подробное описание некоторых ресурсов будет приведено в данном документе ниже.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения, компьютерные узлы 205 могут быть взаимосвязаны с помощью сети (например, сеть общего пользования)
В некоторых случаях один или более ресурсов инфраструктурного уровня 201 могут быть напрямую подключены к одному или нескольким компьютерным узлам 205. В некоторых случаях один или более ресурсов инфраструктурного уровня 201 могут быть включены в компьютерный узел 205 и образовывать его часть. В некоторых случаях один или более ресурсов инфраструктурного уровня 201 могут быть подключены (например, с помощью логического соединения, такого, как iSCSI 222, и т.д.) к одному или нескольким компьютерным узлам 205 с помощью сети (например, сеть общего пользования).
В некоторых случаях сеть может быть сетью общего пользования. В некоторых случаях сеть может включать WAN. В некоторых случаях WAN может быть глобальной, как, например, Интернет. В некоторых случаях сетевые ресурсы могут взаимодействовать с помощью инфраструктуры IP-сети. В некоторых случаях сеть может быть сетью хранения данных (SAN). В некоторых случаях сеть может включать виртуализацию памяти. В некоторых случаях сеть может включать локальную сеть. В некоторых случаях инфраструктура сети может включать Ethernet, Infiniband, FC (Fibre Channel, волоконно-оптический канал) 217, FCoE (Fibre Channel over Ethernet, волоконно-оптический канал поверх Ethernet), и т.д., или любую комбинацию двух или более инфраструктур сети. В некоторых случаях сеть может относиться к любому типу сетей, известных в данной области, в том числе, к сети общего пользования и/или к сети хранения. В некоторых случаях сеть может относиться к любому типу сетей, подходящих для применения объектной системы управления с целью распределения и управления ресурсами в сети, как подробно описано далее. В некоторых случаях сеть может быть комбинацией любых двух или более типов сетей (в том числе включая типы сетей, приведенные в данном документе).
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения по меньшей мере один ресурс инфраструктурного уровня 201 (в том числе включая компьютерные узлы 205, ресурсы хранения данных кэш-ресурсы, сетевые ресурсы, дополнительные ресурсы, подключенные к компьютерному узлу 205, или любые другие ресурсы) могут быть в наличии, в продаже, не изготовленным для специальных целей ресурсом, подключенными к сети и/или к одному или нескольким компьютерным узлам 205. Следует отметить, что ресурс может быть взаимосвязан, как подробно описано в данном документе, независимо от таких характеристик ресурса, как, например, производитель, размер, вычислительная мощность, емкость, и т.д. Следовательно, любой ресурс (в том числе включая компьютерные узлы 205) независимо его производителя, который может взаимодействовать с компьютерным узлом 205, может быть подключен к инфраструктурному уровню 201 и использован DSS 200, как подробно описано далее. В некоторых случаях к сети и/или к одному или нескольким компьютерным узлам 205 может быть подключено любое количество ресурсов и использоваться DSS 200, обеспечивая, таким образом, масштабируемость DSS 200. В некоторых случаях любое количество компьютерных узлов 205 может быть подключено и любое количество ресурсов может быть подключено к компьютерным узлам 205 и использоваться DSS 200, обеспечивая, таким образом, масштабируемость DSS 200. Следует отметить, что более подробное описание процесса подключения новых ресурсов (в том числе включая компьютерных узлов 205) к DSS 200 подробно описано далее, в том числе относительно Фигуры 5.
Обращаясь к уровню UDSP 202, в соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения, он может включать один или более агентов UDSP 220 которые могут быть установлены в компьютерных узлах 205 (или каким-либо иным способом связаны с или входить в их состав). В некоторых случаях агент UDSP 220 может быть установлен в каждом из компьютерных узлов 205 (или каким-либо иным способом связан с ним). В некоторых случаях агент UDSP 220 может быть дополнительно установлен (или каким-либо иным способом связан) в одном или более ресурсах шлюзов 216 (которые в том числе могут действовать как преобразователи протоколов, как подробно описано далее), и в некоторых случаях на каждом из ресурсов шлюзов 216. В некоторых случаях агент UDSP 220 может быть установлен (или каким-либо иным способом связан) в каждом из клиент-серверов 218 (например, серверы и/или другие устройства, подключенные к DSS 200 в качестве клиентов), и в некоторых случаях на каждом из клиент-серверов 218. Следует отметить, что в некоторых случаях клиент-серверы 218 могут взаимодействовать с DSS 200 напрямую без необходимости применения ресурсов шлюзов 216, применяемых дополнительно. Также следует отметить, что в некоторых случаях агенты UDSP 220 могут отличаться друг от друга (например, отличаться по своим функциональным возможностям и/или по своей производительности) в соответствии с местом установки или их связанностью (например, может существовать разница между агентом UDSP 220, установленным в компьютерном узле 205 или каким-либо иным способом, связанным с ним, агентом UDSP 220, установленным в шлюзе ресурсов 216 или каким-либо иным способом связанным с ним, и агентом UDSP 220, установленным в клиент-сервере 218 или каким-либо иным способом связанным с ним).
Следует отметить, что в данном документе представлено более подробное описание агентов UDSP 220, в том числе относительно Фигуры 5. Вместе с тем следует отметить, что в соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения, агенты UDSP 220 могут быть сконфигурированы для контроля и управления различными операциями, выполняемыми DSS 200 (в том числе распределение и управление ресурсами инфраструктурным уровнем 201, обработка операций с информационным каналом, и т.д.). В некоторых случаях агенты UDSP 220 могут быть сконфигурированы для управления подключением нового компьютерного узла 205 к инфраструктурному уровню 201 DSS 200. В некоторых случаях агенты UDSP 220 могут быть сконфигурированы для обнаружения ресурсов, подключенных к компьютерному узлу 205, в котором они установлены, и для управления таким ресурсами. Как указано выше, в данном документе представлено более подробное описание агентов UDSP 220, в том числе относительно Фигуры 5.
В некоторых случаях уровень UDSP 202 может включать UDSP 225, который, в свою очередь, включает систему управления DSS 200. В некоторых случаях работа системы управления может быть реализована с помощью одного или более агентов UDSP 220, установленных в компьютерных узлах 205 инфраструктурного уровня 201, или с помощью одного или более агентов UDSP 220, установленных в ресурсе шлюза 216 или клиент-сервере 218 с доступом к DSS 200 (напрямую и/или через ресурсы шлюза 216), или с любой их комбинацией.
Система управления позволяет пользователю выполнять различные административные задачи (включая, между прочим, задачи мониторинга и передачи информации) относящиеся к DSS 200, такие, как создание новых логических объектов хранения (например, логические устройства, хранилища объектов, экземпляры файловой системы, и т.д.), которые могут быть связаны с параметрами уровня услуги (SLS) (в некоторых случаях каждый логический объект хранения связан с единственным SLS), обновление логических объектов хранения, разрешения на предоставление доступа логических объектов хранения к ресурсам шлюза 216 и/или клиент-серверам 218, создание снимков, создание резервных копий, аварийное переключение на удаленный узел, возврат на главный узел, контроль динамического режима DSS 200, контроль соответствия различных SLS, формирование различных (например, стандартных и/или пользовательских) отчетов (например, отчеты о производительности, отчеты о наличии ресурсов, отчеты об инвентаризации, отчеты о связи, отображающие связи между компьютерными узлами 205 и другими ресурсами, отчеты о тенденциях, отчеты о прогнозах различных параметров, включая ключевые показатели эффективности и т.д.), относящихся к различным сферам DSS 200, (например, в разрешении всей DSS 200, определенных узлов, определенных типов использования, например, определенного SLS, определенных ресурсов и т.д.), управление различными предупреждениями, поступающими из DSS 200 (например, предупреждения о неисправном оборудовании и т.д.). Следует отметить, что вышеназванные административные задачи используются только как неограниченные примеры. Следует отметить, что в некоторых случаях логические объекты хранения могут автоматически создаваться с помощью DSS 200 в соответствии с SLS, как подробно описано далее. Следует отметить, что каждый из логических объектов хранения может быть связан с одним или несколькими ресурсами хранения данных.
Следует отметить, что во всем описании изобретения, если ссылка сделана на пользователя, это может относиться к человеку-оператору, например, к системному администратору или к любому типу вспомогательного объекта. Вспомогательный объект может относиться, например, к внешнему приложению, такому, как внешняя система управления, включая вспомогательный объект, который не требует никакого вмешательства человека, и т.д.
В некоторых случаях система управления может разрешить пользователю предоставить системе DSS 200 пользовательские требования к хранению, определяющие параметра уровня услуги (SLS), назначив различные требования, которые DSS 200 должна выполнять по требованию пользователя. В некоторых случаях SLS может быть связано с логическим объектом хранения. Кроме того, SLS может содержать такую информацию, как, например, описания одного или более географических местоположений, в которых данные могут храниться и/или обрабатываться; уровень локальной защиты, определяющий параметры доступности, хранения, восстановления (RPO - Recovery Point Objective (целевая точка восстановления), RTO - Recovery Time Objective (целевое время восстановления)); политика резервного хранения, определяющая срок хранения информации; уровень удаленной защиты для восстановления в аварийных ситуациях (disaster recovery, DR), определяющий одно или более удаленных географических местоположений для получения намеченных целей доступности, хранения и восстановления при различных сценариях аварийной ситуации; политика локальной и/или удаленной репликации; уровни производительности (фиксируемые дополнительно), определяющие использование количественных показателей, например, IOPS (входные/выходные операции в секунду), время отклика и пропускную способность, требования к шифрованию; требования к удалению дубликатов; требования к сжатию; способ хранения (физическая емкость, динамическое выделение емкости) и т.д.
В некоторых случаях система управления может разрешить управление различными группами уровня обслуживания (Service Level Group, SLG), включая создание, обновление и удаление. SLG представляет собой шаблонное SLS, которое может быть разделено между несколькими логическими объектами хранения. SLG может быть частичным SLS (требующим увеличения) и/или содержать настройки, которые могут быть отменены. Таким образом, SLG может назначать только те различные параметры восстановления, которые могут быть переняты различными SLS, каждое из которых может добавлять или отменять параметры SLS.
В соответствии с определенными примерами раскрытого в данном документе объекта изобретения UDSP 225 может включать систему автоматизированного управления для распределения и управления ресурсами в DSS 200. В некоторых случаях система автоматизированного управления может представлять собой объектную систему управления (OBMS) 100, которая может быть сконфигурирована для распределения и управления ресурсами в сети, среди прочего, на основании одного или любой комбинации пользовательских требований, определяемых одним или несколькими параметрами уровня услуги (SLS), данными различных параметров компьютерных узлов 205 и/или ресурсов, подключенных к этим узлам, данными различных параметров, которые относятся к DSS 200 или ее частям (максимально допустимое невосполнимое распределение ресурсов на уровне сайта, максимально допустимое общее невосполнимое распределение ресурсов, различные параметры безопасности и т.д.), и данными различных параметров, которые относятся к динамическому режиму DSS 200 и среде (например, клиент-серверы 218, ресурсы шлюзов 216 и т.д.), как подробно описано далее, в том числе на Фигурах 2 и 5. В некоторых случаях работа OBMS 100 может быть реализована с помощью одного или более агентов UDSP 220, установленных в компьютерных узлах 205 инфраструктурного уровня 201, или с помощью одного или более агентов UDSP 220, установленных в ресурсе шлюза 216 или клиент-сервере 218 с доступом к DSS 200 (к примеру, напрямую и/или через ресурсы шлюза 216), или с любой их комбинацией.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения уровень API/структуры 203 включает уровень плагинов, который упрощает добавление программных расширений (плагинов) в DSS 200. Такие плагины могут быть использованы, например, для применения процессов к данным, ввода новых функций и характеристик в DSS 200, взаимодействия DSS 200 со специальными приложениями и реализации задач специализированного применения (например, задач, относящихся к хранению и т.д.), реализации ресурсных драйверов, ввода новых параметров SLS и/или параметров групп (например, относительно функций и/или целей плагинов), реализации функций управления, и т.д. В некоторых случаях уровень плагинов может также включать драйверы, связанные с различными элементами аппаратных средств (например, карты шифрования и т.д.).
В некоторых случаях плагины могут быть развернуты на одном или более агентах UDSP 220. В некоторых случаях плагины могут быть развернуты на одном или более агентах UDSP 220, например, в соответствии с описаниями плагинов (например, плагин программного шифрования может быть установлен на любом агенте UDSP 220), в соответствии с различными ресурсами, подключенными к компьютерному узлу 205, и/или к ресурсу шлюзов 216, и/или к клиент-серверу 218, на которых установлен агент UDSP 220 (например, плагин аппаратного ускорителя может быть автоматически развернут на агенте UDSP 220, связанном с компьютерным узлом 205, который связан с таким аппаратным ускорителем), в соответствии с решением системы автоматизированного управления (например, OBMS 100), или в соответствии с выбором системного администратора, и т.д. В некоторых случаях плагины могут быть развернуты автоматически, например, с помощью системы автоматизированного управления (например, OBMS 100) и/или с помощью компьютерного узла 205. В некоторых случаях программные расширения могут включать плагины обработки данных 226, такие, как, например, плагин удаления дубликатов данных, позволяющий, например, удалять дубликаты данных, хранящихся в DSS 200, плагин шифрования данных, позволяющий, например, шифрование/дешифрование данных, хранящихся в DSS 200, плагин сжатия данных, позволяющий, например, сжатие/распаковку данных, хранящихся в DSS 200, и т.д. В некоторых случаях программные расширения могут включать плагины функций хранения 228, такие, как, например, плагин индексации содержания, позволяющий, например, индексацию данных, хранящихся в DSS 200, плагин управления снимками, позволяющий управлять снимками данных, хранящихся в DSS 200, плагин управления ярусами, позволяющий, например, распределять по уровням данные, хранящиеся в DSS 200, плагин восстановления в аварийных ситуациях, позволяющий, например, управлять процессами, политиками и процедурами, связанными с восстановлением в аварийных ситуациях, плагин защиты аналоговых данных, позволяющий, например, управление резервированием данных, хранящихся в DSS 200, как постоянным, так и в режиме реального времени, и т.д.
В некоторых случаях программные расширения могут включать плагины приложений 230, такие, как, например, плагин базы данных, позволяющий, например, ускорение обработки запросов, плагин управления 233, позволяющий, например, выполнение различных задач управления DSS 200 и другие взаимодействия с пользователями, клиент-серверами 218, и другими объектами, подключенными к DSS 200, а также другие пригодные плагины приложений.
Как указано в данном документе, в некоторых случаях плагин может вводить новые параметры SLS и/или группы параметров (например, относящиеся к функциям и/или целям плагинов). В этих случаях, в соответствии с функциями плагинов, соответствующие параметры SLS и/или группы параметров могут быть введены в DSS 200. Эти введенные параметры SLS могут применяться для установки плагинов, относящихся к требованиям, например, пользователем, и/или автоматически с помощью системы автоматизированного управления (например, OBMS 100), и т.д.
В некоторых случаях программные расширения могут храниться на одном из компьютерных узлов 205 или распределяться на более компьютерных узлах 205. В некоторых случаях программные расширения могут храниться на одном или более ресурсах хранения данных, подключенных к одному или нескольким компьютерных узлам 205. В некоторых случаях программные расширения могут храниться в виртуальной библиотеке программных расширений, которая может совместно использоваться агентами UDSP 220.
В некоторых случаях управление программными расширениями может выполняться автоматически и/или вручную (например, системным администратором). Такое управление может иногда выполняться с помощью плагина управления 233. В этих случаях плагин управления 233 может разрешить добавление программных расширений в DSS 200 и удаление их из нее, добавление программные расширений в один или более агентов UDSP 220 и удаление их из этих агентов, и т.д.
Следуя описания архитектуры верхнего уровня DSS 200, в данном документе содержится подробное описание процесса конфигурирования DSS 200, выполняемого объектной системой управления (OBMS) 100. Поэтому обращаем ваше внимание на Фигуру 2, изображающий упрощенный пример системы конфигурации распределенной системы хранения данных 200 в соответствии с раскрытым в данном документе объектом изобретения. С этой целью OBMS 100 может быть сконфигурирована, в частности, для автоматического размещения и управления ресурсами в инфраструктурном уровне 201. OBMS 100 может включать модуль ввода 102, один или более процессоров 104, и модуль вывода 106.
В некоторых случаях модуль ввода 102 может быть сконфигурирован для приема входных данных. Такие входные данные могут включать, в частности, какие-либо, или любые комбинации пользовательских требований к хранению, определенных одним или несколькими параметрами уровня услуг SLS, задания одного или более логических объектов хранения, данные различных параметров, относящиеся к компьютерным узлам 205 и/или ресурсам, подключенным к этим узлам (включая ресурсы хранения, также называемые данными ресурсов хранения), данные различных параметров, относящиеся к DSS 200 или ее частям (максимально допустимое невосполнимое распределение ресурсов на уровне сайта, максимально допустимое общее невосполнимое распределение ресурсов, различные параметры безопасности и т.д.), данные различных параметров, которые относятся к динамическому режиму (данные параметров динамического режима) DSS 200 и среды (например, клиент-серверы 218, ресурсы шлюзов 216 и т.д.) и т.д.
В некоторых случаях пользовательские требования могут назначать одно или более параметров уровня услуг (SLS), определяющие различные требования, выполнение которых один или более пользователей требуют от DSS 200 или от одного или более логических объектов хранения.
В некоторых случаях данные различных параметров, которые относятся к динамическому режиму DSS 200 и среды (данные параметров динамического режима) могут включать данные различных параметров, отображающие текущее состояние одного или более элементов DSS 200 (включая компьютерные узлы 205 и ресурсы, подключенные к нему). Эти данные могут включать данные наличия, нагрузок, доступности, неисправностей, характеристик, времен отклика, подключаемости, расходов (например, расходы на сетевые подключения, различные типы ресурсов хранения данных) и/или любые другие данные об одном или более ресурсах, включая данные об одном или более компьютерных узлах 205, одном или более, ресурсах шлюзов 216, одном или более клиент-серверах 218, и т.д. В некоторых случаях эти данные могут включать, в частности, различные статистические данные.
В некоторых случаях данные различных параметров, относящиеся к компьютерным узлам 205 и/или ресурсам, подключенным к этим узлам (включая ресурсы хранения, также называемые данными ресурсов хранения) могут включать данные различных параметров, отображающие состояние ресурсов DSS 200, включая аппаратные ресурсы, включая ресурсы хранения, такие, как, например:
а. параметры, относящиеся к ресурсу хранения данных (например, для каждого из его жестких дисков):
1. Параметры категорий жестких дисков (например, размер жесткого диска, тип интерфейса (например, SAS, SAT A, FC, Ultra-SCSI, и т.д.), размер кэш-памяти, особенности (например, встроенное в привод шифрование, и т.д.), и т.д.).
2. Рабочие характеристики жестких дисков (например, время отклика, среднее время задержки, случайное время установки головок, скорость передачи данных и т.д.):
3. Потребляемая мощность жестких дисков.
4. Параметры надежности жестких дисков (например, средняя наработка на отказ (Mean Time Between Failure, MTBF), годовая интенсивность отказов (Annual Failure Rate, AFR), и т.д.).
б. Параметры компьютерного узла 205:
1. Количество ЦПУ и ядер в каждом ЦПУ.
2. Рабочие характеристики каждого ЦПУ и/или ядра, например, частота, размеры кэш-памяти L2 и L3.
3. Архитектура (например, поддерживает ли ЦПУ и/или ядро 64-битное вычисление, имеет ли он прямой порядок байтов или обратный).
4. Поддержка определенных наборов команд (например, AES-NI, новый набор команд для ускорения шифрования AES).
5. Количество доступных слотов жестких дисков.
6. Доступные интерфейсы хранения (SATA, SAS и т.д.).
7. Максимальный объем памяти.
8. Поддерживаемые конфигурации памяти.
в. Параметры кэш-ресурсов:
1. Тип кэш-ресурса (например, DRAM, SSD), размер и производительность.
2. Является ли кэшированное хранилище локальным или удаленным.
3. Параметры NUMA.
г. Параметры ресурса шлюза:
1. Количество ЦПУ и ядер в каждом ЦПУ.
2. Рабочие характеристики каждого ЦПУ и/или ядра, например, частота, размеры кэш-памяти L2 и L3.
3. Архитектура (например, поддерживает ли ЦПУ и/или ядро 64-битное вычисление, имеет ли он прямой порядок байтов или обратный).
4. Поддержка определенных наборов команд (например, AES-NI, новый набор команд для ускорения шифрования AES).
5. Количество доступных слотов жестких дисков в корпусе.
6. Доступные интерфейсы хранения (SATA, SAS и т.д.).
7. Максимальный объем памяти.
8. Поддерживаемые конфигурации памяти.
9. Параметры организации сетей, относящихся к шлюза (количество шлюзов, скорость и тип каждого порта и т.д.).
д. Параметры сетевых ресурсов:
1. Коммутирующая и пропускная способности.
2. Типы сетей.
3. Параметры безопасности.
Следует отметить, что все вышеназванное является примерами, и могут применяться различные дополнительные и/или альтернативные параметры.
В некоторых случаях данные, которые относятся к динамическому режиму DSS 200 и среды (данные параметров динамического режима) могут включать различные параметры, отображающие состояние ресурсов DSS 200, включая аппаратные ресурсы, такие, как, например:
а. Параметры, относящиеся к ресурсу хранения данных (например, для каждого из его жестких дисков):
1. Свободное пространство жесткого диска.
2. Параметры S.M.A.R.T. жесткого диска.
3. Состояние питания жесткого диска (выключен, в фазе разгона, готов и т.д.).
4. Последняя и текущая нагрузка на жесткий диск.
5. Существующие распределения и резервирования.
б. Параметры компьютерного узла 205:
1. Статистика последней и текущей нагрузки на каждое ядро.
2. Существующие распределения и резервирования.
3. Текущий объем памяти.
в. Параметры кэш-ресурсов:
1. Доступный размер.
2. Уровень занятости кэш-памяти.
3. Статистика последней и текущей замены/страничной ошибки.
4. Существующие распределения и резервирования.
г. Параметры ресурса шлюза:
1. Статистика последних и текущих сетевых соединений.
2. Статистика последних и текущих нагрузок узла.
3. Статистика последнего и текущего времени задержки.
4. Статистика последней и текущей стоимости маршрутизации (для команд, маршрутизируемых шлюзом в DSS).
5. Существующие распределения и резервирования.
д. Параметры сетевых ресурсов:
1. Последняя и текущая нагрузка сегментов сети.
2. Последняя и текущая надежность и параметры качества сегментов сети.
3. Существующие распределения и резервирования.
Следует отметить, что все вышеназванное является примерами, и могут применяться различные дополнительные и/или альтернативные параметры.
В некоторых случаях модуль ввода 102 может быть сконфигурирован для передачи входных данных в один или более процессоров 104. Как указывалось, работа OBMS 100 может быть реализована с помощью одного или более агентов UDSP 220 (например, во время использования объектного конфигурационного модуля 380, как подробно описано далее, в том числе со ссылкой на Фигуру 5), например, с помощью агентов UDSP 220, установленных в одном или более компьютерных узлах 205 инфраструктурного уровня 201, или с помощью агентов UDSP 220, установленных в одном или более ресурсах шлюза 216, или с помощью агентов UDSP 220, установленных в одном или более клиент-серверах 218 с доступом к DSS 200 (к примеру, напрямую и/или через ресурсы шлюза 216), или с любой их комбинацией. В таких случаях один или более процессоров 104 могут представлять собой один или более обрабатывающих ресурсов (например, процессорных блоков), связанных с такими агентами UDSP 220 (например, если обработка реализуется с помощью агента UDSP 220, установленного на компьютерном узле 205, то процессор может быть процессорным блоком этого компьютерного узла 205, и т.д.). Следует отметить, что в случае, например, параллельной и/или распределенной обработки данных может использоваться более обрабатывающих ресурсов (например, процессорных блоков).
Один или более процессоров 104 могут быть сконфигурированы для приема входных данных из модуля ввода 102 и для выполнения процесса оптимизации на основании входных данных для задания конфигурационных требований, которые соответствуют пользовательским требованиям к хранению данных (например, SLS), установленных одним или несколькими пользователями DSS 200, в том числе относительно объектов, на которые они влияют (например, логические объекты хранения, связанные с такими SLS). Более подробное описание процесса оптимизации и заданных конфигурационных требований приведено в данном документе, в том числе со ссылкой на Фигуру 3.
Конфигурационные требования могут передаваться в модуль вывода 106, который в некоторых случаях может определить, достаточны ли ресурсы текущей DSS 200 для соответствия заданным конфигурационным требованиям. Соответственно модуль вывода 106 может быть сконфигурирован для выполнения действий, управляемых решениями, которые включают распределение, резервирование, фиксацию или невосполнимое распределение ресурсов (например, виртуальное распределение числа ресурсов, превышающего реальное число ресурсов, доступных, в инфраструктурном уровне 201), если конфигурационные требования могут выполняться системой, или выдача рекомендаций по улучшению, которые должны выполняться пользователем, и которые могут включать добавление ресурсов, и/или плагинов, и/или любых других рекомендаций, с помощью которых система сможет выполнить конфигурационные требования. Такие рекомендации по усовершенствованию могут включать, например, рекомендации по добавлению одного или более ресурсов, по добавлению или обновлению одного или более плагинов, по изменению инфраструктуры по дополнительным и/или различным местоположениям (локальным и/или удаленным), и т.д.
Следует отметить, что в некоторых случаях процесс конфигурации или какие-либо его части могут быть инициализированы при первом развертывании DSS 200 и/или одного или более логических объектов, и/или отслеживание одного или более изменений (например, предварительно заданных), применяемых в DSS 200 и/или в один или более логических объектов (например, добавление/удаление ресурса, например, компьютерных узлов 205, кэш-ресурсов, ресурсов хранения данных, сетевых ресурсов, плагинов или любых других ресурсов в DSS 200); изменение в одном или более пользовательских требований к хранению и т.д.), и/или в соответствии с динамическим режимом DSS 200 (как подробно описано далее, в том числе относительно Фигур 5 и 11), и т.д. В дополнение к этому или в качестве альтернативы, процесс конфигурирования или какие-либо его части могут быть инициализированы полунепрерывным способом (например, в предварительно установленные временные интервалы и т.д.). В дополнение к этому или в качестве альтернативы, процесс конфигурирования или какие-либо его части могут выполняться непрерывно.
Следует также отметить, со ссылкой на Фигуру 2, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
На Фигуре 3 в виде схемы изображена упрощенная и типовая блок-схема процесса оптимизации, выполняемого объектной системой управления в соответствии с раскрытым в данном документе объектом изобретения; в некоторых случаях один или более процессоров 104 могут быть сконфигурированы для приема входных данных (например, из модуля ввода 102) и, в некоторых случаях, преобразования принятых входных данных в формат, подходящий для их обработки механизмом оптимизации (например, в представление проблем оптимизации) (блок 112).
Механизм оптимизации, связанный с одним или несколькими процессорами 104, может быть сконфигурирован для выполнения процесса оптимизации на основании исходных и/или преобразованных входных данных для поступления в требуемой конфигурации, которая удовлетворяет требованиям, определяемым входными данными (как подробно описано далее, в том числе на Фигуре 2) (блок 114). Следует отметить, что в некоторых случаях процессу оптимизации могут быть даны команды на возврат первого достоверного решения, которое он найдет, между тем, как в остальных случаях процессу оптимизации могут быть даны команды поиск оптимального решения, находящегося за пределами набора вычисленных достоверных решений. В некоторых случаях методики оптимизации могут включать линейное программирование, математический аннилинг, генетические алгоритмы, как по отдельности, так и любую их комбинацию, или любую другую подходящую методику оптимизации, известную в данной области. В некоторых случаях методика оптимизации может использовать эвристику и/или аппроксимации. В некоторых случаях решения по оптимизации могут быть предприняты на основании частичных и/или не новейших данных.
В некоторых случаях вывод механизма оптимизации может быть преобразован одним или несколькими процессорами 104 из представления оптимизационного решения в представление конфигурационных требований (блок 116).
В некоторых случаях конфигурационные требования являются выводом одного или более процессоров 104, например, каким-либо одним, или любой комбинацией следующего: местные требования (например, доступность по меньшей мере одного дополнительного узла, доступность определенного количества пространства для хранения данных в Дополнительных узлах, максимальная задержка между узлами, минимальная географическое расстояние между узлами, например, для восстановления в аварийных ситуациях, и т.д.), требования к кэш-ресурсам (например, требуемый размер кэш-памяти, требуемый тип кэш-памяти, требуемые местоположения кэш-памяти, требуемые рабочие характеристики кэш-памяти и т.д.), требования к ресурсам шлюзов (например, ширина полосы пропускания волоконно-оптического канала, требуемые рабочие характеристики обработки и т.д.), требования к вычислительным ресурсам (например, рабочие характеристики обработки компьютерных узлов, количество ядер ЦПУ компьютерных узлов и т.д.), требования к ресурсам хранения данных (например, требуемое пространство для хранения данных, требуемый тип хранилища и т.д.), дополнительные требования к ресурсам (например, требуемые характеристики сжатия, требуемые характеристики шифрования и т.д.), требования к плагинам (например, требуемый плагин базы данных и т.д.), требования к среде (например, требуемый уровень физической безопасности и т.д.), и т.д. (блок 117).
Следует также отметить, со ссылкой на Фигуру 3, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
На Фигуре 4 в виде схемы изображена упрощенная блок-схема типового рабочего алгоритма процесса конфигурирования, выполняемого объектной системой управления в соответствии с раскрытым в данном документе объектом изобретения; в некоторых случаях, как указано выше, модуль ввода 102 может принимать входные данные и передавать их в один или более процессоров 104 (блок 110). Как указано выше, один или более процессоров 104 в некоторых случаях могут преобразовывать данные в формат, пригодный для их обработки механизмом оптимизации (например, в представление проблем оптимизации) (блок 112).
Механизм оптимизации, связанный с одним или несколькими процессорами 104, может быть сконфигурирован для выполнения процесса оптимизации на основании исходных и/или преобразованных входных данных для поступления в требуемой конфигурации, которая удовлетворяет требованиям, определяемым входными данными (как подробно описано далее, в том числе на Фигуре 2) (блок 114). В некоторых случаях вывод механизма оптимизации может быть преобразован одним или несколькими процессорами 104 из представления оптимизационного решения в представление конфигурационных требований (блок 116).
В некоторых случаях модуль вывода может сравнивать требуемую конфигурацию с реальными данными ресурсов DSS 200 (например, компьютерные узлы 205, ресурсы хранения и т.д.) и/или средой, для определения, соответствует ли DSS 200 требуемой конфигурации (блок 118). Следует отметить, что в некоторых случаях реальные ресурсы DSS 200 могут ссылаться на доступные части ресурсов DSS 200. В случае, если реальные ресурсы DSS 200 и/или среда могут соответствовать требуемой конфигурации, OBMS 100 может быть сконфигурирована для резервирования и/или распределения ресурсов в соответствии с требуемой конфигурацией (блок 126). В некоторых случаях OBMS 100 может быть сконфигурирована для настройки конфигурации DSS 200 и/или для выполнения каких-либо вынужденных действий по развертыванию (блок 128). В некоторых случаях действия по настройке и/или развертыванию могут включать в том числе автоматическое создание новых логических объектов хранения (например, логические устройства, хранилища объектов, экземпляры файловой системы, и т.д.), которые могут быть связаны с параметрами уровня услуги (SLS). В некоторых случаях каждый логический объект хранения связан с единственным SLS.
В качестве части настройки конфигурации хранилища и/или выполнения каких-либо вынужденных действий по развертыванию, соответствующие запросы на выполнение настройки и/или развертывания могут передаваться в агенты UDSP 205; в некоторых случаях такие запросы передаются в агенты UDSP 205, которые связаны с ресурсами хранения, соответствующими запрошенному действию по настройке и/или развертыванию. В некоторых случаях агенты UDSP 205, которые получают такие запросы, могут быть сконфигурированы для обновления репозитория данных, связанного с настройкой и/или развертыванием, запрошенным DSS 200 для использования, как подробно описано далее, в том числе со ссылкой на Фигуру 5. В некоторых случаях процесс развертывания DSS 200 завершается успешно (блок 130).
В случае, если реальные ресурсы DSS 200 и/или среда не соответствуют требуемой конфигурации, OBMS 100 может быть сконфигурирована, чтобы отправить сообщение пользователю (например, системному администратору), содержащую уведомление об отказе и/или рекомендации относительно мер по исправлению, которые пользователь должен предпринять для реализации требуемой конфигурации инфраструктуры (блок 120). В некоторых случаях действие может включать добавление инфраструктурных ресурсов, которые обеспечат успешное вычисление конфигурации. В некоторых случаях действие может включать добавление важных плагинов. В некоторых случаях действие может включать охват инфраструктурных ресурсов во всех дополнительных и/или альтернативным местоположениям. Следует отметить, что рекомендации, описанные в данном документе, являются примерами, и пользователю могут быть выданы другие рекомендации, как дополнительно, так и в качестве альтернативы. В некоторых случаях OBMS 100 может быть сконфигурирована для выдачи решения о том, должна ли требуемая конфигурация инфраструктуры быть повторно оценена, в частности, после некоторого интервала/задержки или нет. Если должна, OBMS 100 может быть сконфигурирована для возврата к блоку 112. В некоторых случаях модуль вывода 106, если он установлен в режим непрерывной работы, автоматически переходит к блоку 112, в частности, после некоторого интервала/задержки. В некоторых случаях решение, повторить или нет, основывается на вводе пользователем команды повтора. Если нет, процесс развертывания DSS 200 заканчивается неудачей. В некоторых случаях OBMS 100 может быть сконфигурирована для выдачи отчетов об отказах.
Следует также отметить, со ссылкой на Фигуру 4, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Теперь рассмотрим Фигуру 5, на которой показана блок-схема, схематично изображающая типовой компьютерный узел, подключенный к распределенной системе хранения данных в соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения компьютерный узел 205 может включать один или более обрабатывающих ресурсов 310. Один или более обрабатывающих ресурсов 310 могут образовывать блок обработки данных, микропроцессор, микроконтроллер или любое другое вычислительное устройство или модуль, включая более, и/или параллельных, и/или распределенных блоков обработки, которые выполнены с возможностью обеспечения независимой или совместной обработки данных для управления значимыми ресурсами компьютерного узла 205 и/или ресурсами хранения, подключенными к компьютерному узлу 205, или для разрешения операций, связанных с ресурсами компьютерного узла 205 и/или ресурсами хранения, подключенными к компьютерному узлу 205.
Компьютерный узел 205 также может включать один или более сетевых интерфейсов 320 (например, сетевой адаптер или любое другое подходящее устройство), позволяющий компьютерному узлу 205 связываться в том числе с другими компьютерными узлами и/или другими ресурсами, подключенными к DSS 200.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения компьютерный узел 205 может быть связан с репозиторием данных UDSP 330, сконфигурированным для хранения данных, в том числе включая данные различных пользовательских требований к хранению, определяющих различные SLS, и/или данных логических объектов хранения, связанных с каждым SLS, и/или данных различных параметров, относящихся к компьютерным узлам 205, и/или ресурсов хранения, подключенным к нему, и/или данных, относящихся к различным параметрам, которые относятся к DSS 200 или ее частям, и/или данных, относящихся к динамическому режиму DSS 200 и среды (например, клиент-серверы 218, ресурсы шлюзов 216 и т.д.), и/или данных, относящихся к настройке и/или DSS 200, и/или к любым другим данным. В некоторых случаях репозиторий данных UDSP 330 может быть также сконфигурирован для разрешения извлечения, обновления и удаления хранящихся данных. Следует отметить, что в некоторых случаях репозиторий данных UDSP 330 может быть расположен локально на компьютерном узле 205, на ресурсе хранения, подключенном к компьютерному узлу 205 (например, ресурс хранения данных, кэш-ресурс, или любой другой подходящий ресурс), на клиент-сервере 218, на ресурсе шлюзов 216, или в любом другом подходящем местоположении. В некоторых случаях репозиторий данных UDSP 330 может быть распределен между двумя или несколькими местоположениями. В некоторых случаях репозиторий данных UDSP 330 может, как дополнительно, так или в качестве альтернативы, храниться на одном или более логических объектах хранения в DSS 200. В некоторых случаях репозиторий данных UDSP 330 может, как дополнительно, так или в качестве альтернативы, совместно использоваться между несколькими компьютерными узлами.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения компьютерный узел 205 также может включать агент UDSP 220 может выполняться, например, с помощью одного или более обрабатывающих ресурсов 310. Как указано выше, агенты UDSP 220 могут быть сконфигурированы, между прочим, для контроля и управления различными операциями компьютерного узла 205 и/или DSS 200. Агент UDSP 220 может включать один или более следующих модулей: модуль управления задачами 335, многоадресный модуль 340, модуль создания задач 345, исполнительный модуль 350, модуль текущего контроля локальных параметров 360, модуль текущего контроля параметров удаленных узлов 370, облачный самонастраиваемый модуль 380, модуль обнаружения и управления ресурсами 385, объектный конфигурационный модуль 390, модуль управления кэш-памятью 397 и объектный модуль маршрутизации 395.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения модуль управления задачами 335 может быть сконфигурирован для управления полученной задачей, например, функционированием тракта данных (например, операция чтения/записи), как подробно описано далее, в том числе с помощью Фигуры 8.
Многоадресный модуль 340 может быть сконфигурирован для распространения (например, с помощью одноадресной/многоадресной/преобразованной передачи) различных уведомлений в разные агенты UDSP 220 (например, агенты UDSP, установленные на других компьютерных узлах, ресурсах шлюзов 216, клиент-серверах 218 и т.д.). Такие уведомления могут включать, например, уведомления об изменении состояния ресурса, уведомления о добавлении нового ресурса, уведомления о отключении ресурса, уведомления об изменении локального параметра и т.д. Кроме того, многоадресный модуль 340 может быть сконфигурирован для обработки любых протоколов между различными агентами UDSP 220 и другими объектами DSS 200, а также внешними объектами (такими, как внешние системы управления и т.д.).
Модуль создания задач 345 может быть сконфигурирован для создания новой задачи, исполняемой в DSS 200, как подробно описано далее, в том числе со ссылкой на Фигуры 8 и 9.
Исполнительный модуль 350 может быть сконфигурирован для локального исполнения одного или более заданий, связанных с принятой задачей, как подробно описано далее, в том числе со ссылкой на Фигуру 10.
Модуль текущего контроля локальных параметров 360 может быть сконфигурирован для контроля различных локальных параметров, таких, как параметры, отображающие динамический режим компьютерного узла 205 и/или любого ресурса, подключенного к нему, и распространения (например, при использовании многоадресного модуля 340) уведомлений, отображающих изменения одного или более локальных параметров, как подробно описано далее, в том числе со ссылкой на Фигуру 12. Следует отметить, что в некоторых случаях локальные параметры - это параметры, относящиеся к определенному компьютерному узлу 205 (или к ресурсу шлюзов 216, или к клиент-серверу 218, с соответствующими поправками), на котором выполняется контроль, и/или к ресурсам, подключенным к нему.
Модуль текущего контроля параметров удаленных узлов 370 может быть сконфигурирован для приема уведомлений, отображающих изменение одного или более параметров одного или более удаленных компьютерных узлов 205 и/или ресурсов, подключенных к нему, и, соответственно, обновления репозитория данных UDSP 330, как подробно описано далее, в том числе со ссылкой на Фигуру 15. В некоторых случаях модуль текущего контроля параметров удаленных узлов 370 может быть сконфигурирован для регистрации на другом компьютерном узле 205 (например, с агентом UDSP 220, связанным с другим компьютерным узлом 205) для приема от него выборочных уведомлений. Следует отметить, что в некоторых случаях модуль текущего контроля параметров удаленных узлов 370 может быть сконфигурирован для независимого и/или активного запроса удаленного компьютерного узла 205 для получения любой требуемой информации.
Облачный самонастраиваемый модуль 380 может быть сконфигурирован для разрешения автономного и/или автоматического подключения компьютерного узла 205 к DSS 200, как подробно описано далее, в том числе со ссылкой на Фигуру 14.
Модуль обнаружения и управления ресурсами 385 может быть сконфигурирован для обнаружения и управления ресурсами, подключенными к компьютерному узлу 205, как подробно описано далее, в том числе со ссылкой на Фигуру 13.
Объектный конфигурационный модуль 390 может быть сконфигурирован для настройки и перенастройки DSS 200, как подробно описано далее, в том числе со ссылкой на Фигуры 2-4 и 11.
Объектный модуль маршрутизации 395 может быть сконфигурирован для маршрутизации принятой задачи в компьютерный узел 205, как подробно описано далее, в том числе со ссылкой на Фигуры 6 и 8.
Модуль управления кэш-памятью 397 может быть сконфигурирован, в частности, для контроля параметров, связанных с кэш-ресурсами, и для управления кэш-ресурсами, подключенными к компьютерному узлу (включая, в том числе выполнение переадресации кэша), как подробно описано далее, в том числе со ссылкой на Фигуру 16-22.
Следует отметить, что один или более обрабатывающих ресурсов 310 могут быть сконфигурированы для исполнения агента UDSP 220 и любого из модулей, включенного в него.
Следует отметить, что в соответствии с определенными примерами раскрытого в данном документе объекта изобретения некоторые или все модули агентов UDSP 220 могут быть объединены и представлены в виде единого модуля, или, как пример, по меньшей мере один из них может быть реализован в виде двух или более модулей. Следует также отметить, что в некоторых случаях агенты UDSP 220 могут быть как дополнительно, так и в качестве альтернативы установлены на одном или более ресурсах шлюзов 216 и/или на клиент-серверах 218 и т.д. В таких случаях частичные или модифицированные варианты агентов UDSP 220 могут быть установлены на одном или более ресурсах шлюзов 216 и/или на клиент-серверах 218 и/или использоваться ими, и т.д.
На Фигуре 6 показана блок-схема, изображающая последовательность операций, выполняемых для создания задачи в соответствии с описанным в данном документе объектом изобретения. Задача может быть сформирована с целью исполнения запрошенной операции, принятой в DSS 200 (например, операция чтения/записи, операция управления и т.д.). В некоторых случаях задача может включать список одного или более заданий, которые должны исполняться как часть запрашиваемой операции.
В некоторых случаях модуль создания задач 345 может выполнять процесс создания задачи 500. Для этой цели, в некоторых случаях, модуль создания задач 345 может принимать запрашиваемую операцию (блок 510), исходящую, например, из клиент-сервера 218, компьютерного узла 205 или любого другого источника. Принятая запрашиваемая операция может включать данные, указывающие на тип операции (например, чтение, запись, управление и т.д.), и/или любые другие данные, соответствующие запрашиваемой операции (например, в запросе записи содержатся данные, указывающие на соответствующий логический объект хранения, в котором должна выполняться операция, блок, который должен быть записан, и т.д.).
Модуль создания задач 345 может быть сконфигурирован для создания контейнера задачи (блок 520). Контейнер задачи может, в частности включать: данные, указывающие на отправителя запрашиваемой операции (например, идентификатор этой сети), данные, указывающие на соответствующий логический объект хранения, в котором должна выполняться операция, данные, определяющие операцию (например, в случае операции записи блока - блок, который должен быть записан), и пустой список заданий.
В некоторых случаях, например, когда запрос связан с логическим объектом хранения, модуль создания задач 345 может быть сконфигурирован для извлечения SLS, связанного с логическим объектом хранения, и для создания одного или более заданий, которые должны быть выполнены в соответствии с SLS (например, если SLS запрашивает данные, которые должны быть зашифрованы, может автоматически создаваться задание шифрования, и т.д.) (блок 530).
Следует отметить, что процесс создания задачи 500 может выполняться с помощью модуля создания задач 345 агента UDSP 220, связанного с компьютерным узлом 205. Тем не менее, следует отметить, что дополнительно и/или в качестве альтернативы процесс создания задачи 500 может выполняться с помощью модуля создания задач 345 агента UDSP 220, связанного с клиент-сервером 218 и/или ресурсом шлюзов 216, или с любым другим источником, имеющим модуль создания задач 345. Таким образом, в некоторых случаях компьютерный узел 205 может принимать одну или более задач, которые уже были созданы, например, с помощью клиент-сервера 218 и/или ресурса шлюзов 216, и т.д.
Следует также отметить, со ссылкой на Фигуру 6, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Для лучшего понимания процесса создания задачи следует обратить внимание на Фигуру 7, представляющую блок-схему, изображающую последовательность операций, выполняемых для создания задачи записи блоков хранения в соответствии с раскрытым в данном документе объектом изобретения. В примере, приведенном в данном документе, модуль создания задач 345 может принимать данные блока, которые должны быть записаны в DSS 200, и данные, указывающие на соответствующий логический объект хранения, в который блок должен быть записан (блок 605).
В некоторых случаях модуль создания задач 345 может быть сконфигурирован для создания нового контейнера задач. Контейнер задач может в том числе включать данные, указывающие на отправителя, от которого исходит операция (например, идентификатор этой сети), данные, указывающие на соответствующий логический объект хранения, в который блок должен быть записан, данные блока хранения, которые должны быть записаны в логический объект хранения, и пустой список заданий(блок 610).
В некоторых случаях каждая задача может быть задана с помощью номера генерации. Такой номер генерации может быть уникальным последовательным (или любым другим упорядоченным значением) идентификатором, который может использоваться различными плагинами и ресурсами с целью разрешения конфликтов и обработки нестандартных сценариев. Например, предположим, что первая задача (FT) выдана перед второй конфликтной задачей (ST), и что ST принята на обработку первой. В таких случаях исполнительный модуль 350 может быть сконфигурирован для проверки, является ли номер генерации FT меньше, чем номер генерации ST, и в таких случаях исполнительный модуль 350 может быть сконфигурирован так, чтобы не перезаписывать данные, обновленные ранее в соответствии с ST.
Кроме того, модуль создания задач 345 может быть сконфигурирован для извлечения SLS, связанного с логическим объектом хранения, в котором должна быть выполняться операция (блок 615), и для ввода соответствующих заданий в список заданий, связанный таким образом с задачей. Следовательно, модуль создания задач 345 может быть сконфигурирован для проверки, требуется ли сжатие в соответствии с SLS (блок 620), и если так, модуль создания задач 345 может быть сконфигурирован для добавления соответствующего задания (например, данные сжатия) в список заданий (блок 625). Модуль создания задач 345 может быть также сконфигурирован для проверки, требуется ли шифрование в соответствии с SLS (блок 630), и если так, модуль создания задач 345 может быть сконфигурирован для добавления соответствующего задания (например, данные шифрования) в список заданий (блок 635).
Предположим, что в соответствии с SLS требуется выполнить только два задания, модуль создания задач 345 успешно создал новую задачу, и новая задача готова для исполнения (блок 640).
Следует также отметить, со ссылкой на Фигуру 7, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Следуя краткому описанию задач и их создания, следует обратить внимание на Фигуру 8, который представляет собой блок-схему, изображающую последовательность операций, выполняемых для управления задачами, получаемыми агентом UDSP в соответствии с описанным в данном документе объектом изобретения.
В некоторых случаях модуль управления задачами 335 агента UDSP 220 может быть сконфигурирован для получения задачи (блок 405). Следует отметить, что задача может быть принята из клиент-сервера 218 (к примеру, напрямую и/или через ресурс шлюза 216, который может действовать в том числе как преобразователь протоколов), из ресурса шлюза 216, из другого компьютерного узла 205, из внешнего объекта (например, приложения и т.д.), или из любого другого источника.
Вслед за приемом задачи, модуль управления задачами 335 может быть сконфигурирован для извлечения всех или части данных, отображающих динамический режим всех или части ресурсов DSS 200 (например, компьютерных узлов и/или ресурсов хранения, и т.д.) (блок 410).
В некоторых случаях модуль управления задачами 335 может быть сконфигурирован для проверки, связана ли задача с SLS (например, задача относится к определенному логическому объекту хранения, и т.д.) (блок 412), и если так, для извлечения SLS, связанного с логическим объектом хранения задачи (например, из репозитория данных UDSP 330 или, в случае недоступности в репозитории данных UDSP 330, из репозитория данных UDSP другого компьютерного узла, и т.д.) (блок 413).
Модуль управления задачами 335 может быть сконфигурирован для использования объектного модуля маршрутизации 395 с целью классификации пригодности одного или более компьютерных узлов 205 DSS 200 для исполнения одного или более заданий отложенных задач (блок 415).
Задания отложенных задач - это задания, которые не имеют невыполненных предварительных условий до их исполнения. Например, задание сжатия может зависеть от досрочного исполнения задания удаления дубликатов, задание шифрования может зависеть от досрочного исполнения задания сжатия, и т.д.
Пригодность компьютерных узлов 205 к исполнению заданий отложенных задач и, следовательно, их степеней, может зависеть, например, от их ресурсов (например, их возможностей обработки данных), включая ресурсы хранения и/или, в случае, если задача относится к логическому объекту хранения, от их способности выполнять одно или более требований SLS (например, наличие ресурса, который может применяться для исполнения одного или более заданий задач в составе логического объекта хранения), если такие требования существуют, и/или от их динамического режима и текущего состояния, и т.д. Более подробное описание процесса классификации приведено со ссылкой на Фигуру 9.
С учетом вычисленных степеней модуль управления задачами 335 может быть сконфигурирован для использования объектного модуля маршрутизации 395 с целью маршрутизации задачи, например, в наиболее подходящий компьютерный узел 205, и иногда в самый подходящий компьютерный узел, на основании результатов классификации (например, задача может быть маршрутизирована в компьютерный узел 205, имеющий самую высокую степень) (блок 420).
Модуль управления задачами 335 может быть сконфигурирован для проверки того, была ли задача маршрутизирована в другой компьютерный узел (блок 425). Если задача была маршрутизирована в другой компьютерный узел, то процесс, относящийся к локальному компьютерному узлу 205 (например, компьютерный узел 205, выполняющий процесс), завершается (блок 440). Однако, если локальный компьютерный узел 205 является самым подходящим, то одно или более заданий отложенных задач могут выполняться на локальном компьютерном узле 205 (блок 430), например, с помощью исполнительного модуля 350 агента UDSP 220.
Следует отметить, что в некоторых случаях исполняются не все задания отложенных задач, которые локальный компьютерный узел 205 способен исполнять, а только те, для которых этот узел был выбран как самый подходящий. Таким образом, например, если задача включает три задания отложенных задач, два из которых могут исполняться локальным компьютерным узлом 205, для одного из которых он имеет самую высокую степень, а для другого - не имеет самую высокую степень - агент UDSP 220, связанный с локальным компьютерным узлом 205, может быть сконфигурирован для исполнения только того задания, для которого локальный компьютерный узел 205 имеет самую высокую степень. Также следует отметить, что агент UDSP 220 локального компьютерного узла 205 в некоторых случаях может использовать более обрабатывающих ресурсов локального компьютерного узла 205 (если такой существует) для параллельной и/или одновременной обработки одного или более заданий. В некоторых случаях для такой параллельной и/или одновременной обработки более заданий локальный компьютерный узел 205 может использовать удаленные обрабатывающие ресурсы (например, обрабатывающие ресурсы, связанные с одним или несколькими удаленными компьютерными узлами 205). Более подробное описание исполнений заданий также приведено с помощью Фигуры 10.
Также модуль управления задачами 335 может быть сконфигурирован для проверки, продолжаются ли дополнительные задания после исполнения заданий на локальном компьютерном узле 205, и/или в случае, если исполнение заданий на локальном компьютерном узле 205 инициировало создание одной или более новых задач (например, задание на репликацию может вызвать образование более задач записи, каждая из которых назначена в разные местоположения) и/или заданий (блок 435).
Если не продолжаются - процесс завершается (блок 440). Если продолжаются - процесс возвращается к блоку 405, в котором задача с оставшимися заданиями, и/или одна или более задач, принимаются агентом UDSP 220, связанным с локальным компьютерным узлом 205, и начинаются процессы управления каждой задачей.
В некоторых случаях инфраструктурный уровень может быть усовершенствован путем добавления к нему одного или более взаимосвязанных компьютерных узлов, путем удаления из него одного или более компьютерных узлов 205, путем модификации одного или более компьютерных узлов 205 (например, добавление к нему обрабатывающих ресурсов 310 и/или других ресурсов хранения, удаление из него обрабатывающих ресурсов 310 и/или других ресурсов хранения, и т.д.) инфраструктурного уровня, и т.д. В некоторых случаях такие изменения, вносимые в инфраструктурный уровень, могут выполняться динамически (например, всякий раз, когда пожелает пользователь), в том числе во время работы DSS 200.
Модуль управления задачами 335 может быть сконфигурирован для использования объектного модуля маршрутизации 395 с целью классификации пригодности одного или более компьютерных узлов 205, которые были добавлены или модифицированы, для исполнения одного или более заданий отложенных задач. В некоторых случаях усовершенствованный инфраструктурный уровень может быть создан во время такого вычисления степени, и вычисление может выполняться применительно к одному или нескольким компьютерным узлам 205 усовершенствованного инфраструктурного уровня. В некоторых случаях вычисление может выполняться применительно к одному или нескольким добавленным или модифицированным компьютерным узлам 205 усовершенствованного инфраструктурного уровня.
В некоторых случаях модуль управления задачами 335 может быть сконфигурирован для исполнения одного или более названных отложенных заданий следующих задач или маршрутизации следующих задач в наиболее подходящий компьютерный узел 205 (а в некоторых случаях в самый подходящий компьютерный узел 205 усовершенствованного инфраструктурного уровня на основании вычисленных степеней).
Следует также отметить, со ссылкой на Фигуру 8, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Как подробно описано в данном документе, модуль управления задачами 335 может быть сконфигурирован для использования объектного модуля маршрутизации 395 с целью классификации пригодности одного или более компьютерных узлов 205 DSS 200 для исполнения одного или более отложенных назначений задач. Обратимся к Фигуре 9, которая изображает последовательность операций, выполняемых для сортировки пригодности узлов с целью исполнения заданий отложенных задач в соответствии с раскрытым в данном документе объектом изобретения.
Процесс классификации 700 может начаться, например, с помощью объектного модуля маршрутизации 395, получающего, по меньшей мере, следующее: задачу, которая должна быть выполнена, данные, отображающие динамический режим всех или части ресурсов DSS 200 (включая компьютерные узлы и/или ресурсы хранения, и т.д.), или любые другие данные, которые могут быть использованы процессом классификации (блок 710). В некоторых случаях, когда задача связана с определенным логическим объектом хранения, объектный модуль маршрутизации 395 может также принимать SLS, связанные с логическим объектом хранения, который связан с этой задачей.
Объектный модуль маршрутизации 395 может быть сконфигурирован для классификации пригодности одного или более компьютерных узлов 205 с целью исполнения каждым из заданий отложенных задач (блок 720). Классификация может выполняться также с учетом принятых данных.
Следует отметить, что степень можно вычислить для каждого из компьютерных узлов 205, подключенных к DSS 200, или только для некоторых компьютерных узлов 205 (например, в соответствии с топологией сети, географическим расстоянием от локального компьютерного узла 205, произвольно и/или детерминированно выбирая компьютерные узлы 205, пока не будет найдено достаточное количество компьютерных узлов 205, подходящих для исполнения одного или более заданий отложенных задач, и т.д.). Также следует отметить, что с целью классификации пригодности компьютерного узла 205 для исполнения одного или более заданий отложенных задач могут применяться различные алгоритмы классификации. Более того, следует упомянуть, что процесс классификации может содержать и/или использовать эвристику и/или аппроксимации. В некоторых случаях действия по классификации могут быть предприняты на основании частичных и/или неновейших данных.
В некоторых случаях для каждого компьютерного узла 205, для которого должна быть вычислена степень, объектный модуль маршрутизации 395 может быть сконфигурирован для проверки по каждому заданию отложенных задач, может ли компьютерный узел 205 исполнять задание отложенных задач. В случае, когда задача связана с логическим объектом хранения, объектный модуль маршрутизации 395 может также проверять, может ли компьютерный узел 205 исполнять задание отложенных задач, удовлетворяя в то же время требованиям, определенным соответствующим SLS. В случае, когда компьютерный узел 205 не может исполнить задание отложенных задач (или удовлетворять требованиям, определенным соответствующим SLS), степень для этого узла может быть меньше степени компьютерного узла 205, способного исполнить задание отложенных задач (удовлетворяя в то же время требованиям, определенным соответствующим SLS). В некоторых случаях степень также вычисляется на основании данных параметров, относящихся к одному или нескольким ресурсам хранения, подключенным к соответствующему компьютерному узлу 205 (например, данные параметров, относящиеся к наличию, нагрузкам, доступности, неисправностям, характеристикам, времени отклика, подключаемости, расходам, связанным с ресурсами хранения), и на способности таких ресурсов хранения исполнять задание отложенных задач (удовлетворяя в то же время требованиям, определенным соответствующим SLS).
В качестве примера, и для лучшего понимания, степень компьютерного узла 205, который не может исполнять задание отложенных задач (удовлетворяя в то же время требованиям, определенным соответствующим SLS) равна нулю, тогда как степень компьютерного узла 205, который не может исполнять задание отложенных задач (удовлетворяя в то же время требованиям, определенным соответствующим SLS) выше нуля.
Следует отметить, что в некоторых случаях вычисленные степени могут быть представлены в виде нескалярных величин, например, с помощью многоразмерных величин. Также следует отметить, что вычисленные степени могут не принадлежать к упорядоченному множеству. Кроме того, следует отметить, что решение о подходящем узле и/или наиболее подходящем узле (например, решение, какая степень "выше") может быть произвольным (например, в случае, когда степени могут не принадлежать к упорядоченному множеству, и т.д.).
В некоторых случаях, если пригодность локального компьютерного узла 205 исполнять задание отложенных задач идентична пригодности одного или более удаленных компьютерных узлов 205, если они все имеют одинаковые расходы на связь для подключения задачи к ним, степень локального компьютерного узла 205 будет выше вследствие расходов, связанных с подключением задачи к любому удаленному компьютерному узлу 205.
В некоторых случаях, для каждого компьютерного узла 205, для которого должна быть вычислена степень, объектный модуль маршрутизации 395 может быть сконфигурирован для вычисления интегрированной степени на основании степеней, вычисленных для каждого задания отложенных задач (блок 730). Такая интегрированная степень может быть, например, суммой степеней заданий компьютерного узла 205, усреднением степеней заданий компьютерного узла 205, или любым другим вычислением, сделанным на основании степеней заданий компьютерного узла 205.
Следует также отметить, со ссылкой на Фигуру 9, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Обращаясь к Фигуре 10, можно видеть блок-схему, изображающую последовательность операций, выполняемых для исполнения задания отложенных задач на компьютерном узле в соответствии с раскрытым в данном документе объектом изобретения.
Как подробно описано в данном документе, модуль управления задачами 335 может быть сконфигурирован для использования исполнительного модуля 350 для выполнения процесса исполнения заданий 800, исполняющего одно или более заданий отложенных задач. В таких случаях исполнительный модуль 350 может быть сконфигурирован для исполнения одного или более заданий отложенных задач (блок 810).
Как указано в данном документе, в некоторых случаях исполняются не все задания отложенных задач, которые локальный компьютерный узел 205 способен исполнять, а только те, для которых этот узел был выбран. Также следует отметить, что агент UDSP 220, связанный с локальным компьютерным узлом 205, в некоторых случаях может использовать более обрабатывающих ресурсов (если такой существует) для параллельной и/или одновременной обработки одного или более заданий. В некоторых случаях для такой параллельной и/или одновременной обработки более заданий локальный компьютерный узел 205 может использовать удаленные обрабатывающие ресурсы (например, обрабатывающие ресурсы, связанные с одним или несколькими удаленными компьютерными узлами 205).
Вслед за исполнением одного или более заданий отложенных задач, исполнительный модуль 350 может быть сконфигурирован для обновления состояний исполняемых заданий с целью отображения, что задания были исполнены (блок 820).
В некоторых случаях задания могут исполняться частично или их исполнение может потерпеть неудачу. В этих случаях исполнительный модуль 350 может быть сконфигурирован для обновления состояния задания с соответствующими указаниями. В некоторых случаях состояния могут также содержать данные результатов исполнения.
В некоторых случаях исполнительный модуль 335 может быть сконфигурирован для проверки, требуется ли проверка текущей конфигурации DSS 200 (включая в том числе доступность и распределение ресурсов) (блок 830). Такая необходимость может возникнуть, например, в случае, когда исполнение одного или более исполняемых заданий, связанных с логическим объектом хранения, не удовлетворяет (или стремится к неудовлетворению, например, в соответствии с предварительно установленными пороговыми величинами) соответствующим требованиям SLS, и/или если одно или более исполнений заданий завершилось неудачей, и/или исполнение задания приводит к изменению данных параметров компьютерных узлов 205 и/или ресурсов, подключенных к нему, которые превышают предварительно установленные или вычисленные пороговые величины (такие, как недостаток пространства для хранения данных или любых других ресурсов), и/или по какой-либо другой причине.
В случае, когда есть необходимость проверки текущей конфигурации DSS 200, исполнительный модуль 350 может быть сконфигурирован, чтобы рекомендовать агентам UDSP 220, связанным с одним или несколькими компьютерными узлами 205, проверить, необходимо ли повторное конфигурирование (блок 840). Следует отметить, что в некоторых случаях рекомендация может обрабатываться объектным конфигурационным модулем 390 агента UDSP 200, связанного с компьютерным узлом 250, на котором исполняется одно или более заданий. В остальных случаях рекомендация может быть послана в агенты UDSP 220, связанные с одним или несколькими компьютерными узлами 205, которые могут отвечать за выполнение процесса повторного конфигурирования (например, компьютерные узлы выделения). Далее в данном документе приведено описание проверки повторного конфигурирования, в том числе со ссылкой на Фигуру 11.
В случае, когда проверка текущей конфигурации DSS 200 не требуется, или следуя рекомендации выполнить проверку в случае, если требуется повторное конфигурирование, исполнительный модуль 350 может быть сконфигурирован для проверки, завершилась ли задача при последующем исполнении одного или более заданий отложенных задач (например, всех заданий, связанных с уже выполненной задачей) (блок 850).
Если задача не завершилась, процесс заканчивается (блок 860). Если задача завершилась, исполнительный модуль 350 может быть сконфигурирован для проверки, требуется ли какое-либо уведомление о том, что задача завершилась (например, уведомление отправителю задачи, и т.д.) (блок 870). Если уведомление не требуется - процесс заканчивается (блок 860). Если уведомление требуется, исполнительный модуль 335 может быть сконфигурирован для выдачи уведомления об исполнении задачи, если это потребуется (880), и процесс завершается (860).
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения, для каждого требуемого уведомления может создаваться специализированное задание отправки требуемого уведомления, например, во время процесса создания задачи, раскрытого в данном документе. В этих случаях, при желании, блоками 850-880 можно пренебречь.
Следует также отметить, со ссылкой на Фигуру 10, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Теперь рассмотрим Фигуру 11, изображающую последовательность операций, выполняемых с целью управления повторными конфигурированиями (DSS) в соответствии с раскрытым в данном документе объектом изобретения.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения, в некоторых случаях, при необходимости повторного конфигурирования DSS 200 требуется проверка процесса повторного конфигурирования 900. В некоторых случаях такая проверка может выполняться периодически (например, в соответствии с предварительно назначенным временным интервалом, например, каждую минуту, каждые пять минут, каждый час, или с любым другим с предварительно назначенным временным интервалом), постоянно (например, в повторяющемся цикле, и т.д.), вслед за запускающим событием (например, контролируемый параметр превышает предварительно назначенное или вычисленное пороговое значение, получение рекомендации от агента UDSP 220, связанного с компьютерным узлом 205, как подробно описано далее, в том числе со ссылкой на Фигуру 10, и т.д.), и т.д.
Как указано в данном документе, в некоторых случаях каждый агент UDSP 220, связанный с компьютерным узлом 205, может быть сконфигурирован для выполнения процесса повторного конфигурирования 900, например, при использовании объектного конфигурационного модуля 390. В некоторых случаях агенты UDSP 220, связанные с одним или несколькими компьютерными узлами 205 (например, компьютерными узлами выделения), могут отвечать за выполнение процесса повторного конфигурирования 900, например, при использовании объектного конфигурационного модуля 390.
В некоторых случаях объектный конфигурационный модуль 390 может быть сконфигурирован для приема любого SLS или любой их комбинации, связанных с одним или несколькими логическими объектами хранения в DSS 200, данных, отображающих динамический режим DSS 200 и ее ресурсов и среды, данных, отображающих текущие конфигурации DSS 200, статистические и исторические данные, связанные с DSS 200, и т.д. (блок 910). Следует отметить, что в некоторых случаях все данные или их часть могут как дополнительно, так или в качестве альтернативы, извлекаться из репозитория данных UDSP 330, связанного с компьютерным узлом 205, на котором выполняется процесс повторного конфигурирования 900.
В некоторых случаях объектный конфигурационный модуль 390 может быть сконфигурирован для использования принятых данных с целью проверки, нарушено ли какое-нибудь из SLS (или близко к нарушению, например, в соответствии с предварительно установленными пороговыми величинами, и т.д.), и/или по какой-либо другой причине (например, невозможность выполнения одного или более заданий независимо от SLS, и т.д.) для выполнения повторного конфигурирования DSS 200 (блок 920).
Следует отметить, что несмотря на то, что в некоторых случаях, каждый раз, когда нарушено SLS (следует отметить, что нарушение SLS может иногда включать приближение к нарушению SLS, например, в соответствии с предварительно установленными пороговыми величинами, и т.д.), может быть инициировано повторное конфигурирование DSS 200, в остальных случаях такое повторное конфигурирование DSS 200 может быть инициировано в зависимости от выполнения некоторых предварительно установленных критериев. К таким критериям может относиться, например, предварительно установленное количество обнаруженных нарушений SLS, требуемое для выполнения либо в пределах предварительно установленного периода времени, либо независимо от времени, и т.д. Следовательно, например, к показательным критериям может относиться обнаружение трех нарушений SLS, или обнаружение трех нарушений SLS в течение одного дня, и т.д. В некоторых случаях важность нарушения может дополнительно или в качестве альтернативы рассматриваться как критерий. С этой целью объектный конфигурационный модуль 390 может быть сконфигурирован для использования статистических и исторических данных, связанных с DSS 200.
В случае, когда требуется повторное конфигурирование DSS 200, объектный конфигурационный модуль 390 может быть сконфигурирован для активизации объектной системы управления (OBMS) 100 с целью выполнения процесса конфигурирования DSS 200, как подробно описано выше, в том числе со ссылкой на Фигуру 2-4 (блок 930). Следует отметить, как указано в данном документе, что в случае повторного конфигурирования DSS 200, OBMS 100 может получить текущие конфигурации DSS 200 как часть входов для процесса конфигурирования и учитывать их во время повторного конфигурирования DSS 200. В некоторых случаях, во время такого повторного конфигурирования, OBMS 100 может быть сконфигурирована для резервирования и/или распределения и/или перераспределения свободных ресурсов и/или их части.
В случае если ни одно SLS не нарушено (или не приближается к нарушению SLS) и отсутствуют причины для выполнения повторного конфигурирования, или вслед за инициированием повторного конфигурирования DSS 200 процесс повторного конфигурирования 900 завершается (блок 940).
Следует также отметить, со ссылкой на Фигуру 11, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Теперь рассмотрим Фигуру 12, изображающую последовательность операций, выполняемых с целью контроля локальных параметров компьютерного узла и ресурсов, подключенных к нему в соответствии с раскрытым в данном документе объектом изобретения.
В некоторых случаях модуль текущего контроля локальных параметров 360 может быть сконфигурирован для контроля различных параметров компьютерного узла 205 и/или ресурсов, подключенных к нему (блок 1010). Как указано в данном документе, контролируемые параметры могут быть любыми параметрами, отображающими наличие, нагрузки, доступность, неисправности, характеристики, времена отклика, подключаемость, расходы (например, расходы на сетевые подключения, различные типы ресурсов хранения данных), и/или любые другие параметры, отображающие динамический режим компьютерного узла 205 и/или любых ресурсов хранения, подключенных к нему, и/или любые другие данные, относящиеся к компьютерному узлу 205 и/или к одному или нескольким ресурсам хранения, подключенных к нему. В некоторых случаях модуль текущего контроля локальных параметров 360 может быть сконфигурирован для контроля различных параметров клиент-сервера 218 и/или ресурса шлюзов 216, с соответствующими поправками.
Следует отметить, что такой контроль может выполняться периодически например, в соответствии с предварительно назначенным временным интервалом, например, каждую минуту, каждые пять минут, каждый час, или с любым другим с предварительно назначенным временным интервалом), постоянно (например, в повторяющемся цикле, и т.д.), вслед за запускающим событием (например, подключение к компьютерному узлу 205 нового ресурса, и т.д.) и т.д.
В некоторых случаях модуль текущего контроля локальных параметров 360 может быть сконфигурирован для проверки, были ли обнаружены новый параметр или изменение значения любого из контролируемых параметров (блок 1020). Если ничего не обнаружено, модуль контроля локальных параметров 360 может быть сконфигурирован для продолжения контроля параметров. Если же новый параметр или изменение значения любого из контролируемых параметров были обнаружены, модуль контроля локальных параметров 360 может быть сконфигурирован для распространения (например, при использовании многоадресного модуля 340) уведомлений, отображающих изменения одного или более локальных параметров. В некоторых случаях такие уведомления могут быть посланы в один или более компьютерных узлов 205, и/или клиент-серверов 218, и/или ресурсов шлюзов 216 (например, с помощью одноадресной/многоадресной/преобразованной передачи) (блок 1030).
Следует отметить, что в некоторых случаях модуль контроля локальных параметров 360 может быть сконфигурирован для отправки различных типов уведомлений, которые могут включать различные показания (например, показания различных групп одного или более локальных параметров, и т.д.) в различные предварительно назначенные периоды времени или в ответ на различные запускающие события. Также следует отметить, что некоторые уведомления могут выборочно отправляться, например, в один или более компьютерных узлов 205, зарегистрированных для приема таких уведомлений.
В некоторых случаях модуль текущего контроля локальных параметров 360 может быть сконфигурирован для обновления значения параметра, и в некоторых случаях, дополнительно или в качестве альтернативы, их производных (например, различные статистические данные, относящиеся к параметру) в репозитории данных UDSP 330 (блок 1040).
В некоторых случаях модуль текущего контроля локальных параметров 360 может быть сконфигурирован для проверки, необходима ли проверка текущей конфигурации DSS 200. Такая необходимость может существовать, например, в случае, когда один из контролируемых параметров превысил предварительно назначенное или вычисленное пороговое значение, связанное с ним, и/или по какой-либо другой причине.
В случае, когда есть необходимость проверки текущей конфигурации DSS 200, модуль текущего контроля локальных параметров 360 может быть сконфигурирован, чтобы рекомендовать агентам UDSP 220, связанным с одним или несколькими компьютерными узлами 205, проверить, необходимо ли повторное конфигурирование. Следует отметить, что в некоторых случаях рекомендация может обрабатываться объектным конфигурационным модулем 390 агента UDSP 220, связанного с локальным компьютерным узлом 205, на котором запущен модуль текущего контроля локальных параметров 360. В остальных случаях рекомендация может быть послана в агенты UDSP 220, связанные с одним или несколькими компьютерными узлами 205, которые могут отвечать за выполнение процесса повторного конфигурирования (например, компьютерные узлы выделения). Далее в данном документе приведено описание проверки повторного конфигурирования, в том числе со ссылкой на Фигуру 11.
Следует также отметить, со ссылкой на Фигуру 12, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Теперь рассмотрим Фигуру 13, изображающую последовательность операций, выполняемых с целью обнаружения и управления ресурсами, подключенными к компьютерному узлу в соответствии с раскрытым в данном документе объектом изобретения.
В некоторых случаях модуль обнаружения и управления ресурсами 385 может быть сконфигурирован для выполнения процесса обнаружения и управления 1200. В некоторых случаях модуль обнаружения и управления ресурсами 385 может быть сконфигурирован для сканирования ресурсов хранения, подключенных к одному или нескольким компьютерным узлам 205 (блок 1210). В некоторых случаях модуль обнаружения и управления ресурсами 385 может быть сконфигурирован для постоянного и/или периодического сканирования (т.е., каждый предварительно установленный временной интервал, например, каждую минуту, каждые пять минут, каждый час, и т.д.) и т.д. В некоторых случаях сканирование может быть запущено пользователем (например, системным администратором, и т.д.).
Модуль обнаружения и управления ресурсами 385 может быть сконфигурирован для проверки, найден ли какой-нибудь новый ресурс хранения (блок 1220). Если ни один новый ресурс хранения не обнаружен, модуль обнаружения и управления ресурсами 385 может быть сконфигурирован для продолжения сканирования ресурсов хранения. При обнаружении одного или более новых ресурсов хранения модуль обнаружения и управления ресурсами 385 может быть сконфигурирован для проверки, требуется ли для использования такого ресурса хранения один или более плагинов, и если требуется, существуют ли такие плагины локально (например, на компьютерном узле 205, к которому новый ресурс присоединен/подключен) (блок 1230).
Если появляется необходимость в одном или более плагинах, и все они существуют локально, модуль обнаружения и управления ресурсами 385 может быть сконфигурирован для соединения плагинов с новым ресурсом хранения, и этот ресурс может быть добавлен к локальной совокупности ресурсов (блок 1240).
Если необходимость в одном или более плагинах, которые не существуют локально, отсутствует, модуль обнаружения и управления ресурсами 385 может быть сконфигурирован для проверки, существуют ли один или более недостающих плагинов, например, на одном или более компьютерных узлах 205, и/или клиент-серверах 218, и/или ресурсах шлюзов 216 (например, при использовании многоадресного модуля 340), и/или в совместно используемой виртуальной библиотеке программных расширений, как описано в данном документе (блок 1250), и/или в любом другом местоположении в DSS 220, и/или в любом вспомогательном объекте.
Если модуль обнаружения и управления ресурсами 385 обнаружил требуемые плагины, модуль обнаружения и управления ресурсами 385 может быть сконфигурирован для соединения плагинов с новым ресурсом хранения, и этот ресурс может быть добавлен к локальной совокупности ресурсов (блок 1240).
В некоторых случаях, если модуль обнаружения и управления ресурсами 385 не обнаружил требуемые плагины, то он может быть сконфигурирован для выдачи одного или более запросов о плагинах 385. Такие запросы о плагинах в некоторых случаях могут быть отправлены пользователю (блок 1270), таким образом позволяя этому пользователю добавить соответствующие плагины в DSS 200 (например, после его приобретения, загрузки из Интернета, и т.д.). Вслед за отправкой этого запроса модуль обнаружения и управления ресурсами 385 может быть сконфигурирован для продолжения сканирования ресурсов хранения (блок 1210).
Следует отметить, что в некоторых случаях, до тех пор, пока плагины не будут найдены, извлечены (если необходимо) и установлены, новый ресурс хранения может быть отмечен, как новый ресурс хранения, который идентифицируется при каждом сканировании ресурсов хранения, и, следовательно, процесс, описанный в данном документе, повторяется, до тех пор, пока не будут найдены требуемые плагины.
В некоторых случаях модуль обнаружения и управления ресурсами 385 может быть дополнительно или в качестве альтернативы сконфигурирован для проверки, обнаружено ли удаление ресурса хранения, которое выполняется вслед за сканированием ресурсов хранения (блок 1280). В этих случаях, если удаление ресурса хранения обнаружено, модуль обнаружения и управления ресурсами 385 может быть сконфигурирован для удаления ресурса хранения из локальной совокупности ресурсов и, в некоторых случаях, для очистки любым плагинов, которые больше не требуются (например, с учетом факта, что удалены ресурсы, использующие эти плагины) (блок 1290).
Следует отметить, что в некоторых случаях модуль обнаружения и управления ресурсами 385 может быть дополнительно или в качестве альтернативы сконфигурирован для выполнения процесса обнаружения и управления 1200 для ресурсов хранения, подключенных к, или отключенных от клиент-серверов 218 и ресурсов шлюзов 216, с соответствующими поправками. Также следует отметить, что применение модуля обнаружения и управления ресурсами 385 может обеспечить плавное добавление, и/или удаление, и/или присоединение, и/или отсоединение ресурсов хранения к компьютерным узлам 205, и/или клиент-серверам 218, и/или ресурсам шлюзов 216 (например, технология "включай и работай"), в том числе во время эксплуатации DSS 200, и в некоторых случаях, без выполнения пользователем какого-либо управляющего воздействия (включая, в том числе, любое предварительное управляющее воздействие).
Также следует отметить, что в некоторых случаях добавление ресурсов хранения к локальной совокупности ресурсов и/или удаление их из нее может привести к изменениям контролируемых локальных параметров компьютерного узла 205 (например, добавление, и/или удаление, и/или обновление, и/или любое другое изменение различных локальных параметров). Как указано в данном документе, в некоторых случаях при обнаружении новых ресурсов модуль текущего контроля локальных параметров 360 может отправлять соответствующие уведомления, как подробно описано здесь, в том числе со ссылкой на Фигуру 12. Следует отметить, что в некоторых случаях такие уведомления могут инициировать повторное конфигурирование.
Следует также отметить, со ссылкой на Фигуру 13, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Теперь рассмотрим Фигуру 14, которая изображает последовательность операций, выполняемых для подключения нового компьютерного узла к распределенной системе хранения данных (Distributed Storage System DSS) в соответствии с раскрытым в данном документе объектом изобретения.
В некоторых случаях, когда новый компьютерный узел 205, включающий агент UDSP 220, подключается к сети, облачный самонастраиваемый модуль 380 нового компьютерного узла 205 может быть сконфигурирован для обнаружения нового сетевого подключения и/или изменения в существующем сетевом подключении (например, что компьютерный узел 205, в котором подключен облачный самонастраиваемый модуль 380 к новой или к другой сети) (блок 1305). После обнаружения нового сетевого подключения облачный самонастраиваемый модуль 380 нового компьютерного узла может быть сконфигурирован для отправки (например, с помощью одноадресной/многоадресной/преобразованной передачи) сообщение об обнаружении, например, с помощью многоадресного модуля 340 (блок 1310). Такое сообщение об обнаружении может вызвать ответ любого приемного компьютерного узла 205, выполняемый, например, путем отправки отклика, включающего, по меньшей мере, идентификатора DSS 200 (каждая DSS 200 может иметь уникальный идентификатор, который обеспечивает ее идентификацию).
Облачный самонастраиваемый модуль 380 может быть сконфигурирован для прослушивания любого отклика, принимаемого в пределах предварительно установленного временного интервала (например, временной интервал, который может обеспечить отклик приемных компьютерных узлов 205 на сообщение об обнаружении), и проверки, принят ли какой-либо отклик (блок 1315). Если ни один отклик не был принят, и компьютерный узел 205 не может подключиться к DSS 200, облачный самонастраиваемый модуль 380 может быть сконфигурирован для повторения блока 1310 и повторной отправки сообщения об обнаружении.
Если отклик принят, облачный самонастраиваемый модуль 380 может быть сконфигурирован для проверки, относятся ли отклики к одной DSS 200 (например, в соответствии с принятыми идентификаторами DSS 200) (блок 1320). В данном случае облачный самонастраиваемый модуль 380 может быть сконфигурирован для подключения компьютерного узла 205 к обнаруженной DSS 200 (блок 1325). Следует отметить, что в результате подключения к DSS 200 компьютерный узел 205 может автоматически начать передачу и прием различных уведомлений, как подробно описано в данном документе.
При обнаружении более DSS 200 (например, более идентификаторов DSS 200 принято в качестве отклика на сообщение об обнаружении), облачный самонастраиваемый модуль 380 может быть сконфигурирован для проверки, существует ли стандартная DSS 200 (блок 1330). Для этой цели в некоторых случаях может быть извлечено сообщение о стандартной DSS 200 из локального реестра (например, из репозитория данных, доступного в локальной сети), из системы доменных имен (Domain Name System, DNS) (например, под предварительно установленной записью DNS, и т.д.), и т.д. В некоторых случаях сообщение о стандартной DSS 200 может быть отправлено одним из отвечающих компьютерных узлов 205, чей отклик может включать сообщение о стандартной DSS 200. Следует отметить, что для идентификации стандартной DSS 200 могут также применяться и другие способы и технологии.
Если такая стандартная DSS 200 существует, облачный самонастраиваемый модуль 380 может быть сконфигурирован для подключения компьютерного узла 205 к стандартной DSS 200 (блок 1325). Если ни одна стандартная DSS 200 не обнаружена, пользователю может быть представлено сообщение о новом компьютерном узле 205, чтобы он смог выбрать DSS 200, к которой можно подключить новый компьютерный узел 205, и облачный самонастраиваемый модуль 380 может быть сконфигурирован для ожидания этого выбора (блок 1335). После выполнения выбора облачный самонастраиваемый модуль 380 может быть сконфигурирован для подключения компьютерного узла 205 к выбранной DSS 200 (блок 1325).
В некоторых случаях при обнаружении нового сетевого подключения (блок 1305) облачный самонастраиваемый модуль 380 может быть дополнительно или в качестве альтернативы сконфигурирован для поиска реестровой службы локального реестра (например, репозитория данных, доступного в локальной сети) и/или глобального реестра (например, репозитория данных, доступного в Интернете), например, по предварительно назначенному сетевому адресу и/или по службе каталогов (например, DNS, служба каталогов Active Directory, и т.д.) (блок 1340). Такая реестровая служба может, в том числе обеспечить идентификацию доступных DSS 200 и/или стандартной DSS 200.
Облачный самонастраиваемый модуль 380 может быть сконфигурирован для проверки, найден ли локальный реестр (блок 1345), и в данном случае он может быть сконфигурирован для внесения в локальный реестр (если он уже не внесен) (блок 1355). Такая регистрация может включать сохранение различных конфигурационных параметров, относящихся к локальному компьютерному узлу 205 в реестре. Облачный самонастраиваемый модуль 380 может быть сконфигурирован для проверки, разрешает ли политика, определенная локальным реестром, глобальную регистрацию (блок 1355). В данном случае, и если никакой локальный реестр не обнаружен, облачный самонастраиваемый модуль 380 может быть сконфигурирован для проверки, обнаружен ли глобальный реестр (блок 1360). В данном случае облачный самонастраиваемый модуль 380 может быть сконфигурирован для регистрации в глобальном реестре (блок 1365). Такая регистрация может включать сохранение различных конфигурационных параметров, относящихся к локальному компьютерному узлу 205 в реестре.
Вслед за регистрацией в глобальном реестре или в случае, когда политика, определенная локальным реестром, не разрешает глобальную регистрацию облачный самонастраиваемый модуль 380 может быть сконфигурирован для перехода к блоку 1320 и продолжению с этого места.
Следует отметить, что для подключения нового компьютерного узла 205 к DSS 200 могут применяться другие способы, как автоматически, так и вручную, и способы, приведенные в данном документе, являются только примерами.
Следует отметить, что за счет облачного самонастраиваемого модуля 380 компьютерный узел 205 в любой момент времени может быть легко добавлен, и/или удален, и/или присоединен, и/или отсоединен к/от сети, в том числе во время работы DSS 200, и в некоторых случаях, без выполнения пользователем какого-либо управляющего воздействия (включая, в том числе, любое предварительное управляющее воздействие), при условии, что агент UDSP 220 установлен на компьютерном узле 205 (более подробное описание агентов UDSP 220 представлено в данном документе). Также следует отметить, что в некоторых случаях вслед за добавлением, и/или удалением, и/или присоединением, и/или отсоединением компьютерного узла 205 к/от сети ни один пользователь не требуется для разрешения продолженной работы DSS 200.
Следует также отметить, со ссылкой на Фигуру 14, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Теперь рассмотрим Фигуру 15, изображающую последовательность операций, выполняемых для приема уведомлений из удаленного компьютерного узла и обновления репозитория данных унифицированной распределенной платформы хранения данных (UDSP) соответственно, в соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения.
В некоторых случаях модуль текущего контроля параметров удаленных узлов 370 агента UDSP 220 компьютерного узла 205 может быть сконфигурирован для приема различных уведомлений (общих уведомлений и/или уведомлений, исходящих из источника, в котором компьютерный узел 205 зарегистрирован для получения от него сообщений), исходящих из компьютерных узлов 205 и/или клиент-серверов 218, и/или ресурсов шлюзов 216, и/или пользователей, и т.д. (блок 1410).
В некоторых случаях модуль текущего контроля параметров удаленных узлов 370 может быть сконфигурирован для обновления соответствия репозитория данных UDSP 330 (блок 1420).
Следует отметить, что данные, хранящиеся в репозитории данных UDSP 330, могут использоваться для локальной поддержки знаний о состоянии DSS 200 (например, ее динамический режим, и т.д.) или ее частей, которые связаны с процессами, выполняемыми компьютерным узлом 205, как подробно описано в данном документе.
Следует также отметить, со ссылкой на Фигуру 15, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
За описанием DSS 200 следует описание системы и способа управления кэш-ресурсами в DSS 200. Как указано в данном документе, инфраструктурный уровень 201 может включать один или более, а в некоторых случаях два или более компьютерных узлов 205. Также инфраструктурный уровень 201 может включать один или более кэш-ресурсов 212 и/или ресурсы, которые могут использоваться в качестве кэш-ресурсов (например, RAM, DRAM, SSD 213, и т.д.). Каждый из кэш-ресурсов 212 и/или ресурсы, которые могут использоваться в качестве кэш-ресурсов, могут быть подключены к одному или нескольким компьютерным узлам 205 (например, напрямую, по сети, и т.д.). Как указано выше, каждый компьютерный узел 205 может иметь агента UDSP 220, установленного в нем (или связанного с ним иным способом).
Как указано выше, агент UDSP 220 может включать модуль управления кэш-памятью 397. Модуль управления кэш-памятью 397 может быть сконфигурирован для обработки различных операций, связанных с ресурсами, в том числе одного или более кэш-ресурсов, с которыми работают стандартные и/или специализированные алгоритмы, способы и технологии кэширования. Модуль управления кэш-памятью 397 может быть сконфигурирован для управления отображений кэш-памяти пространств объектов, хранящихся в одном или более кэш-ресурсах, подключенных к одному или нескольким компьютерным узлам 205, подключенных к DSS 200.
Фигура 16 представляет собой блок-схему, изображающую модуль управления кэш-памятью в соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения.
В соответствии с примерами раскрытого в данном документе объекта изобретения модуль управления кэш-памятью 397 может включать один или более следующих модулей: Локальный модуль управления кэш-ресурсами 2510, удаленный модуль контроля кэш-ресурсов 2520, модуль переадресации кэш-ресурсов 2530 и модуль управления запросами объектов 2540.
Локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для управления локальными кэш-ресурсами компьютерного узла 205, как подробно описано далее, в том числе со ссылкой на Фигуру 17.
Удаленный модуль контроля кэш-ресурсов 2520 может быть сконфигурирован для контроля кэш-ресурсов удаленных компьютерных узлов 205 и выдачи рекомендаций и/или команд переадресации соответственно, как подробно описано далее, в том числе со ссылкой на Фигуру 18.
Модуль переадресации кэш-ресурсов 2530 может быть сконфигурирован для выполнения различных процессов, связанных с переадресацией кэш-ресурсов, как подробно описано далее, в том числе со ссылкой на Фигуры 20 и 21.
Модуль управления запросами объектов 2540 может быть сконфигурирован для управления запросами, связанными с объектами, полученными во время переадресации, как подробно описано далее, в том числе со ссылкой на Фигуры 22 и 23.
Следует отметить, что в соответствии с определенными примерами раскрытого в данном документе объекта изобретения некоторые или все модули управления кэш-памятью 397 могут быть объединены и представлены в виде единого модуля, или, как пример, по меньшей мере один из них может быть реализован в виде двух или более модулей.
Теперь рассмотрим Фигуру 17. Фигура 17 представляет собой блок-схему, изображающую последовательность операций, выполняемых с целью управления локальными кэш-ресурсами компьютерного узла в соответствии с раскрытым в данном документе объектом изобретения.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения, локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для контроля различных параметров, относящихся к кэш-памяти, включая параметры кэш-ресурсов, подключенных к компьютерному узлу 205 (блок 1510).
Параметры кэш-ресурсов 205 могут включать параметры кэш-ресурсов узлового уровня, соответствующие компьютерному узлу 205 и/или ресурсам (включая кэш-ресурсы), подключенным к нему (например, параметры нагрузки, параметры производительности, параметры наличия, параметры доступности, параметры сбоев, параметры мощности, параметры времени отклика, параметры подключаемости, параметры расходов, параметры местоположения, и т.д.) Параметры кэш-ресурсов могут дополнительно или в качестве альтернативы включать параметры кэш-ресурсов объектного уровня (например, местоположение кэшированного объекта, тип среды, на которой объект кэширован, и т.д.) относительно кэшированных объектов (например, объектов, кэшированных на кэш-ресурсах). Параметры кэш-ресурсов могут дополнительно или в качестве альтернативы включать внешние параметры кэш-ресурсов, такие, как параметры различных объектов, использующих кэш-память (например, клиент-серверы 218, и т.д.).
Локальный модуль управления кэш-ресурсами 2510 может быть также сконфигурирован для приема сторонних рекомендаций (например, рекомендаций из компьютерного узла 205) для выполнения переадресации кэш-ресурсов (как подробно описано ниже, в том числе со ссылкой на Фигуру 18). Следует отметить, что такие сторонние рекомендации могут включать данные одного или более параметров кэш-ресурсов, эти данные в некоторых случаях могут включать параметров кэш-ресурсов, указывающие на причину, в соответствии с которой третья сторона рекомендует выполнить переадресацию кэш-ресурсов. При приеме сторонних рекомендаций локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для определения, являются ли такие параметры более предпочтительными (например, если получены новые и/или обновленные параметры), чем локально известные параметры (например, параметры, хранящиеся в репозитории данных UDSP 330, связанном с компьютерным узлом 205), и в таком случае - учитывать их, в дополнение и/или взамен локально известных параметров, в следующих блоках.
Следует отметить, что такой контроль может выполняться периодически (например, в соответствии с предварительно назначенным временным интервалом, например, каждую минуту, каждые пять минут, каждый час, или с любым другим предварительно назначенным временным интервалом), постоянно (например, в повторяющемся цикле, и т.д.), вслед за запускающим событием (например, подключение/отключение ресурса хранения, в том числе кэш-ресурса, подключение к компьютерному узлу 205 и отключение от него, и т.д.) и т.д.
Следует отметить, что в некоторых случаях контроль кэш-параметров может выполняться с помощью модуля текущего контроля локальных параметров 360, как подробно описано далее, в том числе со ссылкой на Фигуру 12.
Если обнаружено изменение значения одного или более контролируемых параметров, и/или обнаружен новый параметр, и/или какой-либо параметр больше не обнаруживается (например, удален определенный кэш-ресурс, и т.д.) и/или периодически (например, в соответствии с предварительно назначенным или вычисленным временным интервалом, например, каждую минуту, каждые пять минут, каждый час, или с любым другим предварительно назначенным временным интервалом), локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для проверки, отображают ли контролируемые параметры нарушение одного или более требований к кэш-ресурсам, определенным одним или несколькими SLS. Такая проверка может быть выполнена, например, путем оценки контролируемых параметров с учетом SLS, связанных с объектами, которые в данный момент хранятся в кэш-ресурсе, и объектами, которые отображаются в кэш-ресурсе (с помощью любого из отображений, описанных в данном документе), например, с учетом SLS, связанных с логическими объектами хранения, с которыми эти объекты связаны.
Также локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для определения, соответствуют ли контролируемые параметры одному или нескольким первым критериям SLS, таким, как метка "высокая вода" (например, предварительно установленные максимальные пороговые значения, вычисленные максимальные пороговые значения, и т.д.), связанным с этими SLS, которые относятся к кэш-ресурсам, отображающими приближение к нарушению (или нарушение) одного или более таких SLS.
Кроме того, локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для определения, указывают ли контролируемые параметры на нарушение или приближение к нарушению (например, в соответствии с одним или несколькими первыми критериями SLS, такими, как одна или более меток "высокая вода") одного или более пороговых значений и/или SLS, которые относятся к DSS 200 или ее частям (например, максимально допустимое невосполнимое распределение ресурсов на уровне сайта, максимально допустимое общее невосполнимое распределение ресурсов, различные параметры безопасности и т.д.) (блок 1520).
Следует отметить, что для этих целей локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для извлечения соответствующих SLS из репозитория данных UDSP 330.
В случае если SLS нарушено или приближается к состоянию нарушения, или нарушены один или более параметров, которые относятся к DSS 200 или ее частям, локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для поиска одного или более адресатов переадресации (например, другой, удаленный, компьютерный узел 205, имеющий один или более кэш-ресурсов 212, и/или один или более ресурсов, которые могут быть использованы в качестве кэш-ресурсов, подключенных к нему), в которые первый, локальный, компьютерный узел 205 (инициатор переадресации) способен передавать права собственности (например, ответственность за обработку) на один или более пространств кэш-объектов, с тем, чтобы после передачи выполнялись все SLS, которые относятся к кэш-ресурсам, и/или пороговые значения, и/или SLS, которые относятся к DSS 200 или ее частям (например, максимально допустимое невосполнимое распределение ресурсов на уровне сайта, максимально допустимое общее невосполнимое распределение ресурсов, различные параметры безопасности и т.д.) (блок 1530). SLS, которые относятся к кэш-ресурсам, представляют собой любые SLS, содержащие требования, которые относятся, и/или воздействуют, на один или более кэш-объектов, и/или один или более компьютерных узлов 205, содержащих эти объекты, и/или кэш-ресурсы, связанные с ними, и/или любой объект, связанный с таким компьютерным узлом 205.
Следует отметить, что инициатор переадресации может отвечать за обработку одного или более пространств кэш-объектов, связанных с одним или несколькими логическими объектами хранения. Переадресация (передача прав собственности) одного или более пространств кэш-объектов или их частей приводит к приему адресатом переадресации прав собственности переданных одного или более пространств кэш-объектов, или их частей.
В некоторых случаях локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для поиска адресатов переадресации, в который локальный компьютерный узел 205 (инициатор переадресации) способен передавать права собственности на один или более пространств кэш-объектов, с тем, чтобы в некоторых случаях выполнялись один или более вторых критериев SLS, таких, как метки "средняя вода" инициатора (например, предварительно назначенные средние пороговые значения, вычисленные средние пороговые значения, и т.д.), связанных с SLS, которые относятся к кэш-ресурсам.
Также локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для проверки, найдены ли один или более адресатов переадресации (блок 1540). Если не найден, то, в некоторых случаях, локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для выдачи пользователю отчета о недостаточных кэш-ресурсах (ошибка из-за недостатка ресурсов), и, дополнительно, рекомендации о действиях, которые следует выполнить, чтобы кэш-ресурсы удовлетворяли требованиям одного или более SLS, которые относятся к кэш-ресурсам (например, добавление кэш-ресурсов, и т.д.).
При обнаружении одного или более адресатов переадресации локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для инициализации процесса переадресации с помощью одного или более обнаруженных адресатов переадресации (блок 1560), как подробно описано далее, в том числе со ссылкой на Фигуру 20. В некоторых случаях, после инициализации процесса переадресации, локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для возврата к блоку 1510 и продолжению контроля кэш-параметров.
Следует отметить, что в некоторых случаях, в виде неограниченного примера, выбор одного или более адресатов переадресации может быть выполнен путем произвольного выбора (или выбора в соответствии с любым другим правилом, и т.д.) одного или более возможных адресатов переадресации, обнаруженных в блоке 1530.
Как еще один неограничивающий пример, выбор одного или более адресатов переадресации может выполняться с помощью любого типа алгоритма ранжирования, чтобы упорядочить пригодность одного или более возможных адресатов переадресации, найденных в блоке 1530, и выбор наиболее подходящего из них.
В случае, когда после контроля кэш-параметров, относящихся к кэш-ресурсам, подключенным к локальному компьютерному узлу 205, и/или приема сторонних рекомендаций выполнить переадресацию кэш-ресурсов, отсутствуют нарушения SLS или препятствия одному или нескольким первым критериям SLS (например, метка "высокая вода"), локальный модуль управления кэш-ресурсами 2510 может быть также сконфигурирован для проверки, соответствуют или нет какие-либо из контролируемых кэш-параметров одному или нескольким третьим критериям SLS, таким, как метки "низкая вода" (например, предварительно назначенные минимальные пороговые значения, вычисленные минимальные пороговые значения, и т.д.), связанных с одним или несколькими SLS, которые относятся к кэш-ресурсам, и/или пороговым значениям, и/или SLS, которые относятся к DSS 200 или ее частям (максимально допустимое невосполнимое распределение ресурсов на уровне сайта, максимально допустимое общее невосполнимое распределение ресурсов, различные параметры безопасности и т.д.), и, следовательно, рассматривается как незагруженный (блок 1570). В случае, если кэш-ресурсы компьютерного узла 205 не являются незагруженными, локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для возврата к блоку 1510 и продолжению контроля кэш-параметров.
В случае если кэш-ресурсы компьютерного узла 205 или его частей незагружены, локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для поиска одного или более адресатов переадресации, в которые локальный, компьютерный узел 205 способен передавать права собственности на один или более пространств кэш-объектов, с тем, чтобы после передачи выполнялись все SLS, которые относятся к кэш-ресурсам, и/или пороговые значения, и/или SLS, которые относятся к DSS 200 или ее частям (например, максимально допустимое невосполнимое распределение ресурсов на уровне сайта, максимально допустимое общее невосполнимое распределение ресурсов, различные параметры безопасности и т.д.) (блок 1580). В некоторых случаях локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для поиска адресатов переадресации, в который локальный компьютерный узел 205 способен передавать права собственности на один или более пространств кэш-объектов, с тем, чтобы в некоторых случаях выполнялись один или более вторых критериев SLS, таких, как метки "средняя вода" (например, предварительно назначенные средние пороговые значения, вычисленные средние пороговые значения, и т.д.), связанных с SLS, которые относятся к кэш-ресурсам.
Следует отметить, что в некоторых случаях, в виде неограничивающего примера, выбор одного или более адресатов переадресации может быть выполнен путем произвольного выбора (или выбора в соответствии с любым другим правилом, и т.д.) одного или более возможных адресатов переадресации, обнаруженных в блоке 1530.
Как еще один неограничивающий пример, выбор одного или более адресатов переадресации может выполняться с помощью любого типа алгоритма ранжирования (например, алгоритмов, которые способствуют объединению отображений кэшированных объектов, и т.д.), чтобы упорядочить пригодность одного или более возможных адресатов переадресации, найденных в блоке 1530, и выбор наиболее подходящего из них.
Следует отметить, что такая передача кэшированных объектов может привести к реализации кэш-ресурсов, которые могут использоваться, при возможности, для других целей, как DSS 200, так и любым другим объектом. Кроме того, такая передача кэшированных объектов может разрешить отключение кэш-ресурсов, если они полностью реализованы (отсутствуют объекты, кэшированные на нем и ни один объект не использует его), что вызывает снижение энергопотребления.
Также локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для проверки, найдены ли один или более адресатов переадресации (блок 1590). При обнаружении одного или более адресатов переадресации локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для инициализации процесса переадресации с помощью одного или более обнаруженных адресатов переадресации (блок 1560), как подробно описано далее, в том числе со ссылкой на Фигуру 20.
В некоторых случаях, после инициализации процесса переадресации, локальный модуль управления кэш-ресурсами 2510 может быть сконфигурирован для возврата к блоку 1510 и продолжению контроля кэш-параметров.
Следует также отметить, со ссылкой на Фигуру 17, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Теперь рассмотрим Фигуру 18, которая изображает последовательность операций, выполняемых с целью контроля удаленных кэш-ресурсов удаленных компьютерных узлов в соответствии с раскрытым в данном документе объектом изобретения.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения, удаленный модуль управления кэш-ресурсами 2520 может быть сконфигурирован для контроля различных кэш-параметров, включая параметры кэш-ресурсов, подключенных к одному или нескольким удаленным компьютерным узлам 205 (блок 1510). Параметры кэш-ресурсов 205 могут включать параметры кэш-ресурсов узлового уровня удаленных компьютерных узлов 205 и/или ресурсов (включая кэш-ресурсы), подключенные к нему (например, параметры нагрузки, параметры производительности, параметры наличия, параметры доступности, параметры сбоев, параметры мощности, параметры времени отклика, параметры подключаемости, параметры расходов, параметры местоположения, и т.д.). Параметры кэш-ресурсов могут дополнительно или в качестве альтернативы включать параметры кэш-ресурсов объектного уровня (например, местоположение кэшированного объекта, тип среды, на которой объект кэширован, и т.д.) относительно кэшированных объектов. Параметры кэш-ресурсов могут дополнительно или в качестве альтернативы включать внешние параметры кэш-ресурсов, такие, как параметры различных объектов, использующих кэш-память (например, клиент-серверы 218, и т.д.) (блок 1610).
С этой целью удаленный модуль управления кэш-ресурсами 2520 может быть сконфигурирован для извлечения кэш-параметров из репозитория данных UDSP 330.
Удаленный модуль управления кэш-ресурсами 2520 может быть сконфигурирован для использования этих параметров, чтобы определить, должны ли быть выданы одна или более рекомендаций переадресации (блок 1620).
Следует отметить, что рекомендация переадресации должна быть выдана, например, в случае, если контролируемые кэш-параметры указывают на нарушение или приближение к нарушению (например, в соответствии с одним или несколькими первыми критериями SLS, такими, как одна или более меток "высокая вода") одного или более SLS, которые относятся к кэш-ресурсам (любые SLS, содержащие требования, которые относятся, и/или воздействуют, на один или более кэш-объектов, и/или один или более компьютерных узлов 205, содержащих эти объекты, и/или кэш-ресурсы, связанные с ними, и/или любой объект, связанный с таким компьютерным узлом 205), и/или пороговые значения, и/или SLS, которые относятся к DSS 200 или ее частям (например, максимально допустимое невосполнимое распределение ресурсов на уровне сайта, максимально допустимое общее невосполнимое распределение ресурсов, различные параметры безопасности и т.д.).
Другим примером в некоторых случаях является то, что рекомендация переадресации должна быть выдана, если какой-нибудь из контролируемых кэш-параметров препятствует одному или нескольким третьим критериям SLS, таким, как метки "low water" (например, предварительно назначенные минимальные пороговые значения, вычисленные минимальные пороговые значения, и т.д.), и, следовательно, рассматривается как незагруженный, и т.д.
Следует отметить, что для этих целей удаленный модуль управления кэш-ресурсами 2520 может быть сконфигурирован для извлечения соответствующих SLS из репозитория данных UDSP 330.
Если рекомендация переадресации должна быть выдана, удаленный модуль управления кэш-ресурсами 2520 может быть сконфигурирован для выдачи такого уведомления одному или нескольким компьютерным узлам 205, контролируемые параметры которых указывают на нарушение SLS, приближение к такому нарушению или незагруженность, как подробно описано в данном документе (блок 1630).
В некоторых случаях удаленный модуль управления кэш-ресурсами 2520 может быть сконфигурирован для дополнительного или альтернативного предоставления одной или более команд переадресации. Если команда переадресации может быть командой на выполнение переадресации кэш-ресурсов, рекомендация переадресации может быть отклонена адресатом/инициатором переадресации. В некоторых случаях такую команду переадресации может выдать один или более инициаторов переадресации, вынуждая начать поиск адресата переадресации и инициализировать переадресацию. В некоторых случаях такую команду переадресации может выдать один или более инициаторов переадресации и один или более соответствующих адресатов переадресации, с помощью которых может быть выполнена переадресация, вынуждая одного или более инициаторов переадресации инициализировать переадресацию с помощью одного или более соответствующих адресатов переадресации.
Следует также отметить, со ссылкой на Фигуру 18, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Рассмотрим Фигуру 19, в котором изображены различные сценарии кэш-ресурсов распределения в соответствии с раскрытым в данном документе объектом изобретения.
Рассматривая Фигуру 19, нетрудно понять, что компьютерный узел с кэш-памятью 2010 (по термином "компьютерный узел с кэш-памятью" подразумевается компьютерный узел с подключенными к нему кэш-ресурсами) в некоторых случаях способен действовать в качестве инициатора переадресации, передающего права собственности на один или более пространств кэш-объектов или их частей в компьютерный узел с кэш-памятью 2020, и в качестве адресата переадресации, получающего права собственности на один или более пространств кэш-объектов или их частей, например, из компьютерного узла с кэш-памятью 2030. Следует отметить, что в некоторых случаях компьютерный узел с кэш-памятью 2010 одновременно может действовать как в качестве инициатора, так и в качестве адресата переадресации.
В некоторых случаях компьютерный узел с кэш-памятью, например, компьютерный узел с кэш-памятью 2030 может действовать в качестве инициатора переадресации, выполняя переадресацию с помощью одного или более адресатов переадресации, например, с помощью компьютерного узла с кэш-памятью 2010 и компьютерного узла с кэш-памятью 2040, и в некоторых случаях это может происходить одновременно.
В некоторых случаях компьютерный узел с кэш-памятью, например, компьютерный узел с кэш-памятью 2040 может действовать в качестве адресата переадресации, выполняя переадресацию с помощью одного или более инициаторов переадресации, например, с помощью компьютерного узла с кэш-памятью 2030 и компьютерного узла с кэш-памятью 2050, и в некоторых случаях это может происходить одновременно.
В некоторых случаях определенный компьютерный узел с кэш-памятью, например, компьютерный узел с кэш-памятью 2090 может действовать в качестве адресата переадресации, выполняя переадресацию с помощью инициатора переадресации, например, с помощью компьютерного узла с кэш-памятью 2095, и действовать в качестве инициатора переадресации, выполняя переадресацию с тем же инициатором переадресации, например, с компьютерным узлом с кэш-памятью 2095, действующим в качестве адресата переадресации, и в некоторых случаях это может происходить одновременно. Следовательно, к примеру, компьютерный узел с кэш-памятью 2955 может инициализировать переадресацию с компьютерным узлом с кэш-памятью 2090, а компьютерный узел с кэш-памятью 2090 может инициализировать переадресацию с компьютерным узлом с кэш-памятью 2095, и в некоторых случаях это может происходить одновременно.
В некоторых случаях определенный компьютерный узел (с кэш-ресурсами, подключенными к нему, или без них), например, компьютерный узел 205, может быть сконфигурирован для выдачи рекомендаций одному или нескольким компьютерным узлам с кэш-памятью, например, компьютерному узлу с кэш-памятью 2080 и компьютерному узлу с кэш-памятью 2070, инициализировать одну или более переадресаций с помощью одного или более адресатов переадресации.
В некоторых случаях определенный клиент-сервер, например, клиент-сервер 218, может быть сконфигурирован для выдачи рекомендаций одному или нескольким компьютерным узлам с кэш-памятью, например, компьютерному узлу 2070, инициализировать одну или более переадресаций с помощью одного или более адресатов переадресации.
В некоторых случаях определенный ресурс шлюзов, например, ресурс шлюзов 216, может быть сконфигурирован для выдачи рекомендаций одному или нескольким компьютерным узлам с кэш-памятью, например, компьютерному узлу с кэш-памятью 2080, инициализировать одну или более переадресаций с помощью одного или более адресатов переадресации (эти переадресации, в которых компьютерный узел узлу с кэш-памятью 2080 инициирует переадресацию, в соответствии с такой рекомендацией, на схеме не показаны).
В некоторых случаях определенный компьютерный узел с кэш-ресурсами 2070, например, компьютерный узел с кэш-ресурсами 2080, может быть сконфигурирован для приема одной или более рекомендаций от одного или более компьютерных узлов (с кэш-ресурсами, подключенными к нему, или без них), и/или от клиент-серверов, и/или от ресурсов шлюзов, например, от компьютерного узла 205, ресурса шлюзов 216, клиент-сервера 218, инициализировать одну или более переадресаций с помощью одного или более адресатов переадресации.
В некоторых случаях определенный компьютерный узел с кэш-ресурсами, например, компьютерный узел с кэш-ресурсами 2070, может быть сконфигурирован для приема одной или более рекомендаций от одного или более компьютерных узлов (с кэш-ресурсами, подключенными к нему, или без них), и/или от клиент-серверов, и/или от ресурсов шлюзов, например, от компьютерного узла 205, клиент-сервера 218, инициализировать одну или более переадресаций с помощью одного или более адресатов переадресации, и действовать в качестве инициатора переадресации, передающего права собственности на один или более пространств кэш-объектов или их частей в другой компьютерный узел с кэш-ресурсами, например, компьютерный узел с кэш-ресурсами 2080, и в некоторых случаях это может происходить одновременно.
Следует отметить, как любое лицо, располагающее специальными знаниями, может оценить, что сценарии, приведенные выше, являются примерами, и может существовать ряд других сценариев, не представленных на Фигуре 19.
Рассмотрим Фигуру 20, изображающую последовательность операций, выполняемых для переадресации кэш-ресурсов с помощью инициатора переадресации в соответствии с раскрытым в данном документе объектом изобретения.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения, модуль переадресации кэш-ресурсов 2530, связанный с инициатором переадресации (компьютерный узел 205 с кэш-ресурсами, подключенными к нему, который инициирует передачу прав собственности на один или более пространств кэш-объектов или их частей в другой компьютерный узел 205 с кэш-ресурсами, подключенными к нему) может быть сконфигурирован для запуска переадресации прав собственности на один или более пространств кэш-объектов или их частей (блок 1710).
С этой целью модуль переадресации кэш-ресурсов 2530 может быть сконфигурирован для создания нового отображения постпереадресации кэш-ресурса, указывающего на местоположение постпереадресации каждого из пространств кэш-объектов, или их частей, затронутых процессом переадресации (блок 1720).
Следует отметить, что каждый клиент-сервер 218 (или любой другой пользователь DSS 200) может иметь одно или более отображений кэш-ресурсов, указывающих, что один или более компьютерных узлов 205 выполняют обработку пространств кэш-объектов, относящихся к одному или нескольким логическим объектам хранения, к которым относится клиент-сервер 218 (или любой другой пользователь DSS 200). Нетрудно понять, что переадресации кэш-ресурсов требуют обновления таких одного или более отображений кэш-ресурсов соответственно, как подробно описано далее, в том числе со ссылкой на блок 1770.
В некоторых неограниченных примерах такие отображения кэш-ресурсов могут быть описаны с помощью иерархической структуры функций разбиения, которая кратко отображает любые изменения разбиения, соединения и местоположения пространств кэш-объектов, обусловленных процессами переадресации. К некоторым примерам таких функций разбиения относятся хеш-функции (функции расстановки), которые разделяют четные и нечетные адресные объекты, и т.д. Следует отметить, что такие способы описания отображений кэш-ресурсов и такие функции разбиения являются примерами, и дополнительно или в качестве альтернативы могут использоваться любые другие способы и/или технологии.
Также модуль переадресации кэш-ресурсов 2530 может быть сконфигурирован для ввода состояния "переадресация выполняется", например, путем установки локального флага, указывающего такое состояние (блок 1730), и отправки уведомления "запуск переадресации", включая отображение постпереадресации кэш-ресурса, адресату переадресации (компьютерный узел 205 с кэш-ресурсами, подключенными к нему, который выбран для приема прав собственности на один или более пространств кэш-объектов или их частей от инициатора переадресации), для которого переадресация запрошена, указывая на его запрос для инициализации процесса переадресации(блок 1740). Также модуль переадресации кэш-ресурсов 2530 может быть сконфигурирован для ожидания (например, в предварительно назначенный или вычисленный период времени, и т.д.) отклика на запрос переадресации от адресата переадресации. Следует отметить, что адресат переадресации может принимать такой запрос переадресации, отклонять такой запрос переадресации, или принимать его частично (например, принимать получение прав собственности только на часть одного или более пространств кэш-объектов или их частей, которые инициатор переадресации пытается передать ему, и т.д.).
Кроме того, модуль переадресации кэш-ресурсов 2530 может быть сконфигурирован для проверки, был ли принят запрос переадресации адресатом переадресации (блок 1750). Если запрос переадресации был отклонен (или, в некоторых случаях, если отклик был получен в предварительно назначенный период времени, и т.д.), модуль переадресации кэш-ресурсов 2530 может быть сконфигурирован для выхода из состояния "переадресация выполняется" (блок 1760).
Если же запрос был принят, модуль переадресации кэш-ресурсов 2530 может быть сконфигурирован для отправки отображения постпереадресации кэш-ресурса в один или более клиент-серверов 218 (или любой другой пользователь DSS 200), например, в клиент-серверы 218, связанные с одним или несколькими пространствами кэш-объектов (например, которые имеют права доступа к логическим объектам хранения, связанными с ними) или их частей, для его отправки(блок 1770). Следует отметить, что в некоторых случаях новое отображение кэш-ресурсов может быть отправлено в каждый клиент-сервер 218 (или любой другой пользователь DSS 200), подключенный к DSS 200.
Кроме того, модуль переадресации кэш-ресурсов 2530 может быть сконфигурирован для передачи прав собственности "негрязных" кэшированных объектов (кэш-объекты, которые не были модифицированы с последнего сохранения в постоянное хранилище, связанное с соответствующим пространством кэш-объектов), которые были отображены в адресат переадресации в отображении постпереадресации кэш-ресурса, в адресат переадресации, например, путем таких кэшированных объектов (например, с помощью передачи их данных) в адресат переадресации и/или с помощью "упущения" их (например, путем маркировки их как удаленных, или путем физического их удаления из кэш-ресурсов инициатора переадресации) (блок 1780).
И еще, модуль переадресации кэш-ресурсов 2530 может быть сконфигурирован для передачи прав собственности "грязных" кэшированных объектов (кэш-объекты, которые были модифицированы с последнего сохранения в постоянное хранилище, связанное с соответствующим пространством кэш-объектов), которые отображаются в адресат переадресации в отображении постпереадресации кэш-ресурса путем их сброса (сохранение их в постоянное хранилище, связанное с соответствующим пространством кэш-объектов), и/или путем отправки таких кэшированных объектов (например, с помощью передачи их данных) в адресат переадресации, и последующего "упущения" их (блок 1790).
В некоторых случаях модуль переадресации кэш-ресурсов 2530 может быть сконфигурирован для передачи в адресат переадресации уведомления "переадресация завершена", указывая, что переадресация была выполнена (блок 1795) и для выхода из состояния "переадресация выполняется" (блок 1760). В некоторых случаях блок 1795 может быть выполнен только после завершения выполнения блоков 1780 и 1790.
Следует также отметить, со ссылкой на Фигуру 20, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Рассмотрим Фигуру 21, изображающую последовательность операций, выполняемых для переадресации кэш-ресурсов с помощью адресата переадресации в соответствии с раскрытым в данном документе объектом изобретения.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения, модуль переадресации кэш-ресурсов 2530, связанный с адресатом переадресации, может быть сконфигурирован для приема из инициатора переадресации уведомления "запуск переадресации" (включая отображение постпереадресации кэш-ресурса), сохранения резервной копии локального отображения препереадресации кэш-ресурса, обновления отображения кэш-ресурса, соответствующего отображению постпереадресации кэш-ресурса, полученного из инициатора переадресации, и ввода состояния "переадресация выполняется" (блок 1810).
Модуль переадресации кэш-ресурсов 2530 в некоторых случаях может быть сконфигурирован для проверки, приемлем ли запрос переадресации, полученный из инициатора переадресации (блок 1820), например, в соответствии со сведениями об адресате переадресации SLS, которые относятся к кэш-ресурсам, и/или о пороговых значениях, и/или об SLS, которые относятся к DSS 200 или ее частям (например, максимально допустимое невосполнимое распределение ресурсов на уровне сайта, максимально допустимое общее невосполнимое распределение ресурсов, различные параметры безопасности и т.д.), и/или о кэш-параметрах, хранящихся в репозитории данных UDSP 330, связанном с ним.
Нетрудно понять, что в некоторых случаях адресат переадресации может иметь доступ к информации об SLS, которые относятся к кэш-ресурсам, и/или о пороговых значениях, и/или об SLS, которые относятся к DSS 200 или ее частям (например, максимально допустимое невосполнимое распределение ресурсов на уровне сайта, максимально допустимое общее невосполнимое распределение ресурсов, различные параметры безопасности и т.д.), и/или о кэш-параметрах, связанных с ним и/или с кэш-ресурсами, связанными с ним, отличающейся от информации, к которой имеет доступ инициатор переадресации (и в некоторых случаях, к новой и/или более обновленной информации). Например, в некоторых случаях, к тому моменту, когда адресат переадресации получил запрос переадресации, один или более параметров, относящихся к кэш-ресурсам, подключенным к нему, уже был изменен.
Если запрос переадресации не приемлем (например, основан на сведениях об адресате переадресации), модуль переадресации кэш-ресурсов 2530 в некоторых случаях может быть сконфигурирован для отправки инициатору переадресации уведомления об отклонении (указывающего, что адресат переадресации не принимает запрос переадресации, посланный инициатором переадресации), восстановления локального отображения препереадресации кэш-ресурса (сохраненного для резервного копирования в блоке 1810), и для выхода из состояния "переадресация выполняется" (блок 1830).
Если запрос переадресации приемлем, модуль переадресации кэш-ресурсов 2530 в некоторых случаях может быть сконфигурирован для отправки инициатору переадресации уведомления о принятии (указывающего, что адресат переадресации принимает запрос переадресации, посланный инициатором переадресации) (блок 1840). В таких случаях модуль переадресации кэш-ресурсов 2530 может быть сконфигурирован для ожидания уведомления "переадресация завершена", указывающего, что одно или более пространств кэш-объектов, или их часть, были переданы под ответственность адресата переадресации, и, после получения такого уведомления, для выхода из состояния "переадресация выполняется" (блок 1850).
Следует также отметить, со ссылкой на Фигуру 21, некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Теперь рассмотрим Фигуру 22, изображающую последовательность операций, выполняемых для обработки запроса объекта, принятого инициатором переадресации во время переадресации в соответствии с раскрытым в данном документе объектом изобретения.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения модуль управления запросами объектов 2540, связанный с инициатором переадресации, может быть сконфигурирован для приема во время переадресации запроса объекта (например, запрос чтения/записи), относящегося к объекту в пределах отображения препереадресации или постпереадресации кэш-ресурса, например, от клиента (например, клиент-сервер 218, ресурс шлюзов 216, или любой другой источник) (блок 1910).
Следует отметить, что в некоторых случаях запрашивающий клиент может послать запрос до обновления своего локального отображения кэш-ресурса (если, в некоторых случаях, отображение постпереадресации кэш-ресурса не принято клиентом сразу же, например, из-за интенсивного графика в сети, или по другой причине). Следовательно, такой запрос объекта может быть послан инициатору переадресации, в то время как запрашиваемый объект больше не принадлежит (не обрабатывается) ему. Соответственно, при получении такого запроса объекта, модуль управления запросами объектов 2540 может быть сконфигурирован для проверки, принадлежит ли запрашиваемый объект инициатору переадресации, соответствующему отображению постпереадресации кэш-ресурса (блок 1920), и если принадлежит, модуль управления запросами объектов 2540 может быть сконфигурирован для обработки запроса (блок 1930).
Однако если запрашиваемый объект не принадлежит инициатору переадресации, соответствующему отображению постпереадресации кэш-ресурса, то модуль управления запросами объектов 2540 может быть сконфигурирован для проверки, принадлежат ли инициатору переадресации права собственности на запрашиваемый объект (например, если инициатор переадресации еще не передал права собственности на запрашиваемый объект) (блок 1940).
Если права собственности на запрашиваемый объект все еще принадлежат инициатору переадресации, модуль управления запросами объектов 2540 может быть сконфигурирован для обработки запроса (блок 1930). Однако, если такой запрашиваемый объект больше не принадлежит инициатору переадресации, модуль управления запросами объектов 2540 может быть сконфигурирован для передачи запроса объекта адресату переадресации (блок 1950).
Следует отметить, со ссылкой на Фигуру 22, что некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.
Теперь рассмотрим Фигуру 23, изображающую последовательность операций, выполняемых для обработки запроса объекта, относящегося к объекту в отображении постпереадресации кэш-ресурса, принятого инициатором переадресации во время переадресации в соответствии с раскрытым в данном документе объектом изобретения.
В соответствии с некоторыми примерами раскрытого в данном документе объекта изобретения модуль управления запросами объектов 2540, связанный с адресатом переадресации, может быть сконфигурирован для приема запроса объекта (например, запрос чтения/записи), относящегося к объекту в пределах отображения постпереадресации кэш-ресурса, например, от клиента (например, клиент-сервер 218, ресурс шлюзов 216, или любой другой источник), или от инициатора переадресации (блок 2110). При получении такого запроса модуль управления запросами объектов 2540 может быть сконфигурирован для проверки, поступает ли запрос от инициатора переадресации (блок 2120).
Как указано в данном документе, инициатор переадресации будет передавать запрос объекта адресату переадресации после определения, что инициатор переадресации не имеет прав собственности на запрашиваемый объект, соответствующий отображению постпереадресации кэш-ресурса, и что инициатор переадресации не является текущим владельцем запрашиваемого объекта (указанием, что инициатор переадресации является владельцем, может быть, например, то, что объект все еще "загрязнен" в кэш-памяти инициатора переадресации, и т.д.). Таким образом, всякий раз, когда запрос исходит от инициатора переадресации, модуль управления запросами объектов 2540 может быть сконфигурирован для обработки запроса (блок 2130), поскольку это указывает, что инициатор переадресации уже передал права собственности на запрашиваемый объект адресату переадресации.
Если запрос не исходит от инициатора переадресации, модуль управления запросами объектов 2540 может быть сконфигурирован для проверки, принадлежат ли запрашиваемый объект адресату переадресации (если, например, адресат переадресации уже получил от инициатора переадресации права собственности на запрашиваемый объект, и т.д.) (блок 2140). Если права собственности на запрашиваемый объект принадлежат адресату переадресации, модуль управления запросами объектов 2540 может быть сконфигурирован для обработки запроса (блок 2130).
Если права собственности на запрашиваемый объект не принадлежат адресату переадресации, (если, например, права собственности еще не переданы и процесс переадресации не закончились), модуль управления запросами объектов 2540 может быть сконфигурирован для передачи запроса инициатору переадресации (блок 2150). Следует отметить, что такой сценарий может происходить, например, вследствие того, что определенный пользователь может иметь обновленное отображение постпереадресации кэш-ресурса, указывающее, что запрашиваемый объект передается адресату переадресации, в то время, когда он запрашивает запрашиваемый объект, процесс переадресации все еще продолжается и, следовательно, права собственности на запрашиваемый объект еще не переданы адресату переадресации.
Следует отметить, со ссылкой на Фигуру 23, что некоторые блоки могут быть встроены в объединенный блок или разбиты на более блоков, и/или более блоков может быть добавлено. Кроме того, в некоторых случаях блоки могут выполняться в другом порядке, отличающемся от раскрытого в данном документе. Кроме того, следует отметить, что хотя блок-схемы описываются также со ссылкой на системные элементы, реализующие их, это никоим образом не является привязкой, и блоки могут выполняться с помощью других элементов, не описываемых в данном документе.