Динамическое размещение данных точных копий

Иллюстрации

Показать все

Изобретение относится к системам и/или способам, которые обеспечивают распределенное хранение данных. Технический результат заключается в повышении надежности распределенного хранения данных. Технический результат достигается за счет распределенной файловой системы, которая может быть реализована на узлах хранения таким образом, чтобы система размещала множественные копии данных на множестве неодинаковых узлов хранения, чтобы гарантировать доступность данных и минимизировать потери данных. Узлы хранения динамически оцениваются для идентификации соответствующих характеристик. Характеристики включают в себя доступность узла хранения, емкость узла хранения, затраты на хранение данных, ассоциированные с узлом хранения, затраты на передачу данных, ассоциированные с узлом хранения, местоположение узла хранения, топологию сети или предпочтения пользователя, ассоциированные с узлом хранения. 2 н. и 10 з.п. ф-лы, 10 ил.

Реферат

УРОВЕНЬ ТЕХНИКИ

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

[0002] Существующие решения хранения системы и/или данных позволяют пользователю сохранять информацию в местоположении и/или носителях, отдельных от своего первоначального источника. Таким образом, например, данные от вычислительного устройства могут быть скопированы с накопителя на жестких дисках на внешние носители, такие как накопитель на магнитной ленте, внешний накопитель на жестких дисках или подобное. Однако реализация основанного на сети хранения и/или другие решения, которые могут быть использованы для обеспечения физически удаленных местоположений для хранения данных, затрат и сложности, ассоциированных с передачей и восстановлением пользовательских данных между пользовательской машиной и удаленным местоположением хранения, по существу может ограничивать полноценность системы.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0003] Нижеследующее представляет упрощенную сущность изобретения одного или более аспектов, чтобы обеспечить основное понимание некоторых аспектов, описанных в настоящем описании. Эта сущность изобретения не является обширным обзором заявленной сущности изобретения. Она не предназначается ни для идентификации ключевых или критических элементов заявленной сущности изобретения, ни для описания объема настоящего изобретения. Единственная цель состоит в том, чтобы представить некоторые понятия заявленной сущности изобретения в упрощенной форме в качестве вступления к более подробному описанию, которое будет представлено позже.

[0004] Настоящее изобретение относится к системам и/или способам, которые облегчают распределенное хранение данных. Распределенная файловая система может быть реализована в узлах хранения таким образом, чтобы система размещала множественные копии данных (например, точные копии) на множестве отличных друг от друга узлах хранения, чтобы гарантировать доступность данных и минимизировать потерю данных. Размещение и количество точных копий может быть выбрано, чтобы удовлетворить требования доступности и долговечности. В дополнение, решения размещения могут быть оптимизированы, чтобы уменьшить затраты (например, затраты на хранение, затраты полосы пропускания, затраты времени ожидания и т.д.).

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

[0006] В соответствии с другим аспектом, гибридная архитектура резервного копирования может поддерживаться посредством распределенных способов хранения, описанных в настоящем описании. В гибридной архитектуре резервного копирования данные резервного копирования могут быть сохранены в глобальном местоположении в сети или интерсети (объединенной сети) (например, "облаке"), а также в одном или более одноранговых узлах. Соответственно, некоторые или все данные резервного копирования могут быть получены или из "облака", или посредством соседнего однорангового узла, таким образом, уменьшая время ожидания и потребление полосы пропускания, ассоциированные с операциями восстановления. В одном примере выбор местоположений, которые должны быть использованы для хранения и/или извлечения данных резервного копирования, может быть выбран интеллектуальным и автоматизированным способом на основании факторов, таких как, но не ограниченных, доступность местоположений, топология сети, ресурсы местоположения или подобных.

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

[0009] Фиг. 2 иллюстрирует блок-схему примерной системы, которая облегчает генерирование требования к точной копии в соответствии с различными аспектами.

[0010] Фиг. 3 иллюстрирует блок-схему примерной системы, которая облегчает распределение точных копий данных по набору узлов хранения в соответствии с одним или более аспектами.

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

[0012] Фиг. 5 иллюстрирует блок-схему реализации примерной сети, которая может быть использована применительно к различным аспектам, описанным в настоящем описании.

[0013] Фиг. 6 иллюстрирует блок-схему примерной системы, которая облегчает генерирование и распределение точных копий данных в соответствии с различными аспектами.

[0014] Фиг. 7 иллюстрирует примерный способ для генерирования требования к точным копиям части данных, которые должны быть сохранены в распределенной системе файла в соответствии с различными аспектами.

[0015] Фиг. 8 иллюстрирует примерный способ для распределения точных копий части данных среди узлов хранения в соответствии с различными аспектами.

[0016] Фиг. 9 иллюстрирует примерную сетевую среду, в которой могут быть использованы новые аспекты заявленной сущности изобретения.

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

ПОДРОБНОЕ ОПИСАНИЕ

[0018] Заявленная сущность изобретения описывается с ссылками на чертежи, в которых аналогичные номера позиций используются, чтобы ссылаться на аналогичные элементы повсюду. В следующем описании в целях объяснения сформулированы многочисленные конкретные подробности, чтобы обеспечивать полное понимание настоящего изобретения. Однако может быть очевидно, что заявленная сущность изобретения может осуществляться без этих конкретных подробностей. В других случаях известные структуры и устройства показаны в форме блок-схемы, чтобы облегчать описание рассматриваемого настоящего изобретения.

[0019] Используемые в настоящем описании термины "компонент", "система", "хранилище данных," "облако," "одноранговый узел", "суперодноранговый узел", "клиент" и т.п. предназначаются, чтобы ссылаться на связанный с компьютером объект или аппаратное обеспечение, программное обеспечение при выполнении на аппаратном обеспечении, и/или программно-аппаратное обеспечение. Например, компонент может быть процессом, выполняющимся на процессоре, объектом, выполняемой программой, программой, функцией, библиотекой, подпрограммой и/или компьютером, или комбинацией программного обеспечения и аппаратного обеспечения. Посредством иллюстрации, как приложение, выполняющееся на сервере, так и сервер могут быть компонентом. Один или более компонентов могут постоянно находиться в пределах процесса, и компонент может быть размещен на одном компьютере и/или распределен между двумя или более компьютерами.

[0020] Различные аспекты будут представлены относительно систем, которые могут включать в себя ряд компонентов, модулей и т.п. Должно быть понятно и оценено, что различные системы могут включать в себя дополнительные компоненты, модули и т.д. и/или могут не включать в себя все компоненты, модули и т.д., рассмотренные применительно к фигурам. Также может быть использована комбинация этих подходов. Различные аспекты, раскрытые в настоящем описании, могут быть выполнены на электрических устройствах, включающих в себя устройства, которые используют технологии сенсорного экранного дисплея и/или интерфейсы типа "мышь и клавиатура". Примеры таких устройств включают в себя компьютеры (настольный и мобильный), смартфоны, персональные цифровые ассистенты (ассистенты PDA) и другие электронные устройства, как проводные, так и беспроводные.

[0021] Кроме того, заявленная сущность изобретения может быть реализована как способ, устройство или изделие изготовления, используя способы стандартного программирования и/или конструирования, чтобы произвести программное обеспечение, программно-аппаратное обеспечение, аппаратное обеспечение или любую их комбинацию, чтобы управлять компьютером для реализации рассматриваемой сущности изобретения. Термин "изделие производства", который используется в настоящем описании, предназначается, чтобы охватить компьютерную программу, доступную с любого считываемого компьютером устройства или носителей. Например, считываемые компьютером носители могут включать в себя, но не ограничиваться, магнитные запоминающие устройства (например, жесткий диск, дискету, магнитные полосы...), оптические диски (например, компакт-диск (CD), цифровой универсальный диск (DVD)...), смарт-карты и устройства флэш-памяти (например, карту, стик, ключевой носитель...). Дополнительно должно быть оценено, что несущая может быть использована, чтобы переносить считываемые компьютером электронные данные, такие как данные, используемые при передаче и приеме электронной почты или при получении доступа, к сети, такой как Интернет или локальная сеть (LAN). Конечно, специалисты в данной области техники признают, что многие модификаций могут быть сделаны для этой конфигурации, не отступая от области или сущности заявленной сущности изобретения.

[0022] Кроме того, слово "примерный" используется в настоящем описании, чтобы обозначать "служить в качестве примера, частного случая или иллюстрации". Любой аспект или структура, описанные в настоящем описании как "примерный", не обязательно должна быть рассмотрена как предпочтительная или выгодная по отношению к другим аспектам или структурам. Наоборот, использование слова "примерный" предназначается, чтобы представлять понятия конкретным способом. Используемый в данной заявке термин "или" предназначается, чтобы обозначать включающее "или", а не исключающее "или". Таким образом, если не определено иначе или не ясно из контекста, "X использует A или B", предназначается, чтобы обозначать любую из естественных включающих в себя перестановок. Таким образом, если X использует A; X использует B; или X использует как A так и B, то X использует A или B" удовлетворяется любым из вышеупомянутых случаев. В дополнение, использования единственного числа, которые используются в данной заявке и приложенной формуле изобретения, должны в общем быть рассмотрены, чтобы обозначать "один или более", если не определено иначе или не ясно из контекста, что они должны указывать единственное число.

[0023] Теперь ссылаясь на фигуры, Фиг. 1 иллюстрирует систему 100, которая облегчает распределенное размещение данных точной копии среди набора узлов хранения в соответствии с различными аспектами. В одном примере система 100 может быть использована для реализации распределенной файловой системы, которая размещает файлы копий, образы системы и/или другие данные на множественных машинах. В одном аспекте машины могут быть персональным компьютером, ноутбуком, сервером, портативным цифровым ассистентом (PDA), мобильным устройством, смартфоном, сотовым телефоном, портативным игровым устройством, медиаплеером или любым другим подходящим вычислительным устройством, которое может сохранять, управлять и/или передавать данные.

[0024] В соответствии с одним аспектом, система 100 может быть использована применительно к основанному на сети или онлайн решению резервного копирования (например, система резервного копирования "облака", как описано более подробно ниже), которая сохраняет информацию резервного копирования из клиентской машины на одном или более удаленных местоположениях хранения в сети или интерсети, с которой ассоциирована клиентская машина. Обычные онлайн решения резервного копирования работают посредством поддержания набора файлов, полученных от клиента резервного копирования в различные моменты времени в удаленном местоположении хранения. Затем восстановление проводится посредством извлечения одного или более файлов из местоположений хранения, если запрошено.

[0025] Чтобы гарантировать доступность данных и/или предотвратить потерю данных, система 100 может облегчать распределенное хранение данных по набору узлов 108 хранения. Набор узлов 108 хранения может включать в себя клиентские машины (например, персональные компьютеры, ноутбуки и т.д.), серверы, мобильные устройства, сетевые устройства хранения, местоположения хранения "облака" и/или любые другие подходящие устройства хранения, доступные в распределенной среде. Более подробно, когда пользователь на клиентской машине желает надежно сохранить данные, такие как часть 104 данных, может быть использован компонент 102 репликации для генерирования требования к точной копии, чтобы удовлетворить стандартам доступности, долговечности и/или избыточности. Требование к точной копии может быть параметром, который определяет общее количество точных копий части 104 данных для распределения среди узлов 108 хранения. В одном примере компонент 102 репликации может идентифицировать требование к точной копии на основании характеристик узлов 108 хранения. Характеристики узла хранения могут включать в себя признаки, такие как, но не ограниченные, доступность узла хранения, емкость запоминающего устройства узла хранения, затраты на хранение на узлах хранения, затраты на передачу на узел хранения, близость к сети и/или местоположение узла хранения относительно исходного узла и топологию сети, и т.д. Такие характеристики могут динамически оцениваться индивидуально для каждого узла 108 хранения посредством компонента 102 репликации. Должно быть оценено, что такая оценка и/или повторная оценка могут быть постоянными таким образом, чтобы историческая и/или статистическая информация относительно характеристик узлов поддерживалась в течение времени, чтобы облегчить интеллектуальное определение требований к точной копии.

[0026] В другом аспекте после генерирования требования к точной копии, которое отражает количество точных копий файла, которые должны быть распределены, компонент 106 размещения может быть использован для репликации части 104 данных по одному или более узлам 108 хранения в соответствии с требованием к точной копии. В одном примере требование к точной копии может указывать, что три точные копии или копии части 104 данных являются необходимыми для удовлетворения уровня доступности, избыточности и/или долговечности. Соответственно, компонент 106 размещения может распространять три точные копии на три узла в наборе узлов 108 хранения. Аналогично компоненту 102 репликации, компонент 106 размещения может воспроизводить решения размещения на основании оцененных характеристик узлов 108 хранения. Компонент 106 размещения может выбирать один или более узлов из узлов 108 хранения, чтобы сохранять точные копии. Посредством примера компонент 106 размещения может выбирать местоположение хранения, которое находится около клиентской машины, чтобы сохранять точную копию новой версии резервной копии, чтобы облегчить более быстрое извлечение, которое экономит полосу пропускания сети после восстановления.

[0027] Должно быть оценено, что система 100 может включать в себя любые подходящие и/или необходимые компоненты интерфейса (не показаны), которые обеспечивают различные адаптеры, соединители, каналы, пути связи и т.д. для интегрирования компонента 102 репликации и компонента 106 размещения в фактически любое приложение, операцию и/или систему(ы) базы данных и/или друг с другом. В дополнение, компоненты интерфейса могут обеспечивать различные адаптеры, соединители, каналы, пути связи и т.д., которые предусматривают взаимодействие с и между компонентом 102 репликации, компонентом 106 размещения, узлами 108 хранения и/или компонентом, ассоциированным с системой 100.

[0028] Теперь ссылаясь на Фиг. 2, иллюстрируется система 200, которая облегчает генерирование требования к точной копии в соответствии с различными аспектами. Как иллюстрирует Фиг. 2, система 200 может включать в себя компонент 102 репликации, который может создавать требование к точной копии (например, количество копий, необходимых для гарантии доступности и/или надежности хранения данных), на основании характеристик местоположений хранения и/или данных. В одном примере часть 104 данных может быть выдана в компонент 102 репликации, где компонент 102 репликации может определять требование к точной копии, ассоциированное с частью 104 данных.

[0029] В соответствии с одним аспектом, компонент 102 репликации может анализировать часть 104 данных, чтобы облегчить определение требования к точной копии. В частности, компонент 102 репликации может использовать компонент 202 оценки данных, чтобы проверить свойства части 104 данных, которые могут повлиять на количество копий, требуемых и/или возможных. В одном примере компонент 202 оценки данных может устанавливать размер части 104 данных. В другом примере компонент 202 оценки данных может оценивать часть 104 данных для определения, может ли часть 104 данных быть сжата и/или сегментирована для уменьшения воздействия хранения на индивидуальный узел хранения. Например, часть 104 данных может быть разделена на сегменты (например, порции, блоки и т.д.) таким образом, чтобы соответствующие порции могли быть распределены индивидуально на различные узлы хранения. Такая сегментация может увеличить надежность, уменьшая требование к точной копии, поскольку большая диверсификация узлов хранения может быть достигнута без относительного увеличения затрат на хранение. В дополнение, компонент 202 оценки данных может установить любые лицензии (например, управление цифровыми правами), присоединяемые к части 104 данных. Кроме того, компонент 202 оценки данных может анализировать лицензии для элементов, которые запрещают и/или ограничивают копирование, сегментацию или другие манипуляции данных.

[0030] Согласно дополнительному аспекту, компонент 102 размещения может включать в себя компонент 204 сетевого анализатора, который может анализировать вычислительную сеть, ассоциированную с системой 200, а также анализировать узлы 108 хранения. Компонент 204 сетевого анализатора может идентифицировать характеристики узлов хранения таким образом, чтобы идентифицированные характеристики могли облегчать принятие решения о требовании к точной копии. Эти характеристики могут включать в себя доступность узлов хранения (например, на основании уровней активности устройства, статус «включено» или «выключено» и т.д.), доступное место для хранения в узлах, затраты на хранение в узлах, затраты на передачу данных на узлы, сетевое местоположение узлов и т.п. Характеристики могут облегчать, например, балансирование доступности различных данных с оптимальным местоположением.

[0031] В соответствии с другим аспектом, компонент 102 репликации может включать в себя компонент 206 количественного анализа, который генерирует требование к точной копии для части данных 104 на основании, по меньшей мере частично, результатов, обеспеченных компонентом 202 оценки и/или компонентом 204 сетевого анализатора. Например, компонент 206 количественного анализа может использовать информацию, полученную посредством оценки 104 части данных для генерирования требования. В одном примере компонент 206 количественного анализа может уменьшать требование к точной копии, когда часть 104 данных является большой (например, потребляет большое количество ресурсов хранения), чтобы сбалансировать доступность и затраты на хранение. В другом примере компонент 206 количественного анализа может аналогично уменьшать требование для частей данных, которые являются разделяемыми. С помощью частей данных, способных быть сегментированными, доступность может быть увеличена посредством большей диверсификации узлов хранения, поддерживая уровень использования хранения. В дополнение, компонент 206 количественного анализа может рассматривать ограничения в отношении репликации, наложенные посредством лицензирования или другого управление цифровыми правами.

[0032] Компонент 206 количественного анализа может дополнительно генерировать требование к точной копии на основании информации, полученной посредством анализа узлов 108 хранения. В частности, компонент 206 количественного анализа может учитывать характеристики узлов 108 хранения, определенных компонентом 204 сетевого анализатора при генерировании требования к точной копии. Компонент 206 количественного анализа может оценивать характеристики узлов 108 хранения по отдельности и/или совокупные характеристики доступных узлов 108 хранения. В одном примере может быть определено более низкое требование к точной копии файла, когда доступность узлов 108 хранения высока. В другом примере может быть указано более высокое требование к точной копии, когда емкость запоминающего устройства является избыточной и/или затраты на хранения низкие.

[0033] В соответствии с другим аспектом, компонент 206 количественного анализа может использовать статистические модели на основании машинного обучения и/или эвристической процедуры, чтобы облегчить интеллектуальную автоматизированную спецификацию требования к точной копии для соответствующей информации. В частности компонент 206 количественного анализа может использовать модели, которые встраивают, объединяют и/или используют индивидуальные решения компонента 206 количественного анализа на основании информации, обеспеченной компонентом 204 сетевого анализатора и/или компонентом 202 оценки данных. В одном примере компонент 206 количественного анализа может использовать любой подходящий алгоритм(ы) искусственного интеллекта (AI), машинного обучения и/или другой, известный в данной области техники. Используемый в этом описании термин "интеллект" относится к способности рассуждать или делать выводы о, например, логически выводить, текущем или будущем состоянии системы на основании существующей информации о системе. Искусственный интеллект может быть использован для идентификации конкретного контекста или действия, или генерирования распределения вероятности конкретных состояний системы без человеческого вмешательства. Искусственный интеллект основывается на применении передовых математических алгоритмов (например, деревья принятия решений, нейронные сети, регрессивный анализ, кластерный анализ, генетический алгоритм и усиленное обучение) к набору доступных данных (информации) в системе. Например, один или более многочисленных способов могут быть использованы для обучения на основе данных и затем для получения логических выводов из моделей, сконструированных таким образом, например, скрытые модели Маркова (модели HMM) и модели связанных прототипных зависимостей, более общие вероятностные графические модели, такие как байесовские сети, например, созданные посредством структурного поиска, используя оценку или приближение согласно байесовской модели, линейные классификаторы, такие как машины опорных векторов (машины SVM), нелинейные классификаторы, такие как способы, называемые способами "нейронной сети", способами нечеткой логики и другими подходами (которые выполняют совместную обработку данных и т.д.) в соответствии с осуществлением различных автоматизированных аспектов, описанных в настоящем описании.

[0034] Фиг. 3 иллюстрирует систему 300 распределения точных копий данных по набору узлов хранения в соответствии с одним или более аспектами. Как иллюстрирует Фиг. 3, система 300 может включать в себя компонент 106 размещения, который может распределять копии части 104 данных среди узлов 108 хранения в соответствии с требованием к точной копии. В одном примере требование к точной копии может генерироваться компонентом репликации, таким как компонент 102 репликации, как описано выше с ссылками на Фиг. 1 и 2.

[0035] В соответствии с аспектом, компонент 106 размещения может включать в себя компонент 302 сетевого анализатора, который может анализировать вычислительную сеть, ассоциированную с системой 300, а также анализировать узлы 108 хранения. Компонент 302 сетевого анализатора может идентифицировать характеристики узлов хранения таким образом, чтобы идентифицированные характеристики могли облегчить принятие решение о требовании к точной копии. Характеристики могут включать в себя доступность узлов хранения (например, на основании уровней активности устройства, статус «включено» или «выключено» и т.д.), доступное пространств для хранения в узлах, затраты на хранение в узлах, затраты на передачу данных на узлы, сетевое местоположение узлов и т.п.

[0036] В другом аспекте компонент 106 размещения может включать в себя компонент 304 генерирования политики, который использует идентифицированные характеристики для генерирования политики 306 размещения. Компонент 106 размещения может дополнительно включать в себя компонент 308 распределения, который распределяет точные копии части 104 данных узлам 108 хранения в соответствии с политикой 306 размещения. В одном примере политика 306 размещения определяет приоритеты узлов хранения таким образом, чтобы компонент 106 размещения мог первоначально попытаться разместить точные копии файла части 104 данных в узлах более высокого приоритета. Например, политика 306 размещения может включать в себя списки узлов хранения, которые расположены по приоритетам или ранжированы, где соответствующие списки обеспечиваются для каждой характеристики, для идентификации компонента 302 сетевого анализатора.

[0037] В другом примере компонент 308 распределения может использовать агрегацию приоритетов узла по всем характеристики. Например, компонент 308 распределения может статистически объединять (например, усреднять, эвристически объединять, подвергать машинному обучению или применять другие статистические модели) приоритеты узла для каждой характеристики, чтобы получить совокупный или полный приоритет. Компонент 308 распределения может реплицировать часть 104 данных на узлы с наиболее высокоранжированные хранения вплоть до количества, определенного в требовании к точной копии.

[0038] В другом примере компонент 308 распределения может использовать один или более критериев, чтобы выбирать узлы хранения в соответствии с политикой 306 размещения. Например, компонент 308 распределения может использовать один критерий таким образом, чтобы реплика была сохранена в узле хранения с самой высокой доступностью. Соответственно, компонент 308 распределения выбирает узел хранения с самым высоким приоритетом относительно доступности из политики размещения. Должно быть отмечено без ограничения или потери общности, что другие критерии могут быть использованы компонентом 308 распределения. Например, другой критерий может предпочитать узел хранения с большой емкостью запоминающего устройства и/или избыточностью недорогого запоминающего устройства. Соответственно, компонент 308 распределения может выбирать узел хранения с самым высоким приоритетом относительно затрат на хранение и/или емкости запоминающего устройства.

[0039] Должно быть оценено, что политика 306 размещения может быть вручную сконфигурирована пользователем в соответствии с одним аспектом. Например, пользователь может определять предпочтительный узел хранения в узлах 108 хранения таким образом, чтобы компонент 308 распределения распределял большое количество точных копий к предпочтительному узлу. Кроме того, пользователь может указывать параметр, который ограничивает запоминающее устройство, доступное для системы 300 на узлах 108 хранения. В другом примере пользователь может определять предпочтения критериев. Например, компонент 308 распределения может устанавливать вес одной характеристики (например, доступности) выше, чем другой характеристики (например, емкости запоминающего устройства) в соответствии с предпочтением, установленным пользователем.

[0040] В соответствии с другим аспектом, компонент 106 размещения может включать в себя и/или иначе быть ассоциирован с компонентом 310 индексации, который может поддерживать индекс (каталог), который ведет список отношений между точными копиями части 104 данных и узлами хранения, которым были распределены точные копии. В одном примере компонент 310 индексации может добавлять, удалять и/или изменять записи в индексе, когда компонент 308 распределения выдает решения распределения относительно размещения точной копии. В другом примере индекс может быть распределен наряду с точными копиями части 104 данных среди узлов 108 хранения. Должно быть отмечено без ограничения или потери общности, что весь индекс может копироваться и сохраняться в одном или более узлах, или что индекс может быть разделен и распределен порциями среди множественных узлов.

[0041] Хотя не изображено на Фиг. 3, должно быть оценено, что система 300 может использовать способы машинного обучения и рассуждения (MLR), чтобы облегчить интеллектуальный автоматизированный выбор узлов хранения для соответствующей информации. В одном примере могут быть использованы любой подходящий алгоритм(ы) искусственного интеллекта (AI), машинного обучения и/или другой, известный в данной области техники. Используемый в этом описании термин "интеллект" относится к способности рассуждать или делать выводы, например, логически выводить текущее или будущее состояние системы на основании существующей информации о системе. Искусственный интеллект может быть использован для идентификации конкретного контекста или действия, или генерирования распределения вероятности конкретных состояний системы без человеческого вмешательства. Искусственный интеллект основывается на применении передовых математических алгоритмов (например, деревья принятия решений, нейронные сети, регрессивный анализ, кластерный анализ, генетический алгоритм и усиленное обучение) к набору доступных данных (информации) относительно системы. Например, один или более многочисленных способов может быть использованы для обучения исходя из данных и затем получения логических выводов из моделей, сконструированных таким образом, например, скрытые модели Маркова (модели HMM) и связанные модели прототипных зависимостей, более общие вероятностные графические модели, такие как байесовские сети, например, созданные посредством структурного поиска, используя оценку или приближение согласно байесовской модели, линейные классификаторы, такие как машины опорных векторов (машины SVM), нелинейные классификаторы, такие как способы, называемые способы "нейронной сети", способы нечеткой логики и другие подходы (которые выполняют совместную обработку данных и т.д.) в соответствии с осуществлением различных автоматизированных аспектов, описанных в настоящем описании.

[0042] Ссылаясь на Фиг. 4, иллюстрируется система 400, которая облегчает контроль (мониторинг) узлов хранения для динамического распределения точных копий в соответствии с различными аспектами. Как изображено на Фиг. 4, система 400 может включать в себя компонент 402 наблюдения, который контролирует набор узлов 108 хранения. В то время как компонент 402 наблюдения изображен на Фиг. 4 отдельным от узлов 108 хранения, должно быть оценено, что компонент 402 наблюдения может включать в себя агенты контроля, ассоциированные, соответственно, с каждым узлом хранения. Агенты контроля могут быть ответственны за контроль и представление отчета о статусе соответствующего узла хранения, с которым ассоциируется агент.

[0043] В соответствии с одним аспектом, компонент 402 наблюдения может контролировать узлы 108 хранения. В частности компонент 402 наблюдения может отследить состояние исправности, производительность, доступное запоминающее устройство, доступную полосу пропускания, возможность соединения, полную доступность и/или доступность других ресурсов соответствующих узлов 108 хранения. В дополнение, компонент 402 наблюдения может отслеживать характеристики, идентифицированные компонентами 204 и/или 302 сетевого анализатора, описанными выше с ссылками на Фиг. 2 и 3, соответственно. Компонент 402 наблюдения может передавать результаты контроля на компонент 106 размещения, который может эффективно повторно распределять информацию (например, точные копии). В одном примере компонент 106 размещения может распределять больше точных копий в местоположения хранения, определенные посредством компонента 402 наблюдения, чтобы иметь более высокодоступное хранение. В другом примере компонент 106 размещения может распределять точные копии среди узлов хранения 108 на основании контроля данных, чтобы успешно выполнять требования надежности и/или долговечности. В одном примере конкретный узел хранения может быть оптимальным относительно местоположения к клиентской машине. Однако этот узел хранения может показывать низкую доступность. Соответственно, компонент 106 размещения может выбрать вторичный узел хранения, чтобы сохранять дополнительную точную копию. Такая избыточность предоставляет клиентской машине гарантию, что точная копия данных будет доступна от некоторого узла хранения, если не всегда с оптимальным местоположением.

[0044] В соответствии с другим аспектом, компонент 106 размещения может динамически регулировать распределения точных копий на основании результатов контроля. Компонент 402 наблюдения может непрерывно передавать результаты контроля, связанные с узлами 108 хранения, на компонент 106 размещения. В свою очередь, компонент 106 размещения может размещать точные копии вокруг узлов 108 хранения. В одном примере компонент 106 размещения может увеличивать избыточность, уменьшать избыточность, удалять точные копии из узла, приближающегося к емкости запоминающего устройства, распределяя дополнительные точные копии в узел с увеличенной доступностью хранения и т.п.

[0045] Ссылаясь на Фиг. 5, обеспечивается диаграмма 500, которая иллюстрирует реализацию примерной сети, которая может быть использована применительно к различным аспектам, описанным в настоящем описании. Как иллюстрирует диаграмма 500, реализация сети может использовать гибридную одноранговую и основанную на "облаке" структуру, в которой поставщик 510 услуг "облака" взаимодействует с одним или более суперодноранговыми узлами 520, и одним или более одноранговыми узлами 530-540