ДИНАМИЧЕСКОЕ РАЗМЕЩЕНИЕ ДАННЫХ ТОЧНЫХ КОПИЙ Российский патент 2015 года по МПК G06F21/60 G06F15/16 

Описание патента на изобретение RU2544777C2

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

[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. Реализация сети, иллюстрированная на Фиг. 5, может использовать распределенную систему хранения, как описано выше с ссылками на предыдущие фигуры, чтобы реализовать гибридную одноранговую/основанную на "облаке" архитектуру резервного копирования.

[0046] В соответствии с одним аспектом, поставщик 510 услуг из "облака" может быть использован, чтобы удаленно реализовать одну или более вычислительные службы от заданного местоположения в сети/интерсети, ассоциированной с суперодноранговым узлом(ами) 520 и/или одноранговым узлом(ами) 530-540 (например, Интернетом). Поставщик 510 услуг из "облака" может происходить от одного местоположения, или, альтернативно, поставщик 510 услуг из "облака" может быть реализован как распределенный основанный на Интернете поставщик услуг. В одном примере поставщик 510 услуг из "облака" может быть использован для обеспечения функциональных возможностей резервного копирования одному или более одноранговым узлам 520-540, ассоциированным с поставщиком 510 услуг "облака". Соответственно, поставщик 510 услуг "облака" может реализовать службу 512 резервного копирования и/или обеспечивать ассоциированное хранилище 514 данных.

[0047] В одном примере хранилище 514 данных может взаимодействовать с клиентом 522 резервного копирования в суперодноранговом узле 520 и/или клиентами 532 или 542 резервного копирования в соответствующих одноранговых узлах 530 или 540, чтобы служить центральным местоположением хранения для данных, постоянно находящихся в соответствующих объектах 520-540 однорангового узла. Таким образом, поставщик 510 услуг "облака" посредством запоминающего устройства 514 данных может эффективно служить онлайн "банковской ячейкой" для данных, расположенных в одноранговых узлах 520-540. Может быть оценено, что резервное копирование может быть проведено для любого подходящего типа(ов) информации, такого как файлы (например, документы, фотографии, аудио, видео и т.д.), системная информация или подобного. Дополнительно или альтернативно, распределенное сетевое хранение может быть реализовано таким образом, чтобы суперодноранговый узел 520 и/или одноранговые узлы 530-540 также конфигурируются, чтобы включать в себя соответствующее запоминающее устройство 524, 534 и/или 544 данных для данных резервного копирования, ассоциированных с одной или более машинами в ассоциированной локальной сети. В другом примере способы, такие как обратная дупликация, пошаговое сохранение и/или другие подходящие способы могут быть использованы для уменьшения количества мест для хранения, требуемых запоминающим устройством 514, 524 534 и/или 544 данных в одном или более соответствующих объектах в сети, представленной в соответствии с диаграммой 500 для реализации основанной на "облаке" службы резервного копирования.

[0048] В соответствии с другим аспектом, поставщик 510 услуг из "облака" может взаимодействовать с одной или более машинами 520, 530 и/или 540 одноранговых узлов. Как иллюстрировано в диаграмме 500, один или более одноранговых узлов 520 могут определяться как суперодноранговый узел и могут служить связью между поставщиком 510 услуг из "облака" и одним или более другими одноранговыми узлами 530-540 в ассоциированной локальной сети. В то время как не иллюстрировано на Фиг. 5, должно быть оценено, что любой подходящий одноранговый узел 530 и/или 540, а также обозначенный суперодноранговый узел(ы) 520 может непосредственно взаимодействовать с поставщиком 510 услуг из "облака", который считается подходящим. Таким образом, может быть оценено, что поставщик 510 услуг из "облака", суперодноранговый узел(ы) 520 и/или одноранговые узлы 530 или 540 могут связываться друг с другом в любое подходящее время, чтобы синхронизировать файлы или другую информацию между соответствующими объектами, иллюстрированными в соответствии с диаграммой 500.

[0049] В одном примере суперодноранговый узел 520 может быть центральным объектом в сети, ассоциированным с одноранговыми узлами 520-540, такими как сеть распределения контента (CDN), сервер предприятия, домашний сервер и/или любое другое подходящее вычислительное устройство(а), определенное как имеющее способность действовать как суперодноранговый узел способами, описанными в настоящем описании. В дополнение к стандартным функциональным возможностям однорангового узла суперодноранговый узел(ы) 520 может быть ответственным за сбор, распределение и/или индексирование данных среди одноранговых узлов 520-540 в локальной сети. Например, суперодноранговый узел 520 может поддерживать индекс 526 хранения, который может включать в себя идентификационную информацию соответствующих файлов и/или сегментов файла, соответствующих одноранговым узлам 520-540, а также указатель(и) на соответствующее местоположение(я) в сети и/или в запоминающем устройстве 514 данных из "облака", где могут быть найдены их файлы или сегменты. Дополнительно или альтернативно, суперодноранговый узел 520 может действовать как шлюз между другими одноранговыми узлами 530-540 и поставщиком 510 услуг из "облака", например, посредством загрузки соответствующих данных в поставщик 510 услуг из "облака" в обозначенных внепиковых периодах с помощью компонента 528 загрузки "облака".

[0050] В другом аспекте обеспечивается одноранговый узел 550 резервного копирования, который может сделать резервные копии файла или другой информации в одноранговых узлах 530 и 540, суперодноранговом узле 520 и/или "облаке" 510. В одном примере файл или часть данных могут быть распределены среди "облака" 510, супероднорангового узла 520 и/или одного или более одноранговых узлов 530-540 таким образом, чтобы точные копии файла или часть данных сохранялись в одном или более местоположениях. Одноранговый узел 550 резервного копирования может включать в себя компонент 552 репликации, который может генерировать требование к точной копии (например, количество точных копий, которые должны быть сохранены). Компонент репликации может анализировать файл или часть данных, сохраненных в хранилище 556 данных, а также идентифицировать характеристики одноранговых узлов 530-540, супероднорангового узла 520 и "облака" 510. На основании анализа компонент 552 репликации может определять подходящее требование к точной копии для файла или части данных.

[0051] Одноранговый узел 550 резервного копирования может дополнительно включать в себя компонент 554 размещения, который выбирает один или более узлов хранения, чтобы сохранять точную копию файла или часть данных. Узлы хранения могут включать в себя "облако" 510, суперодноранговый узел 520 и/или одноранговые узлы 530-540. В одном примере компонент 554 размещения может воспроизводить решения размещения в соответствии с политикой размещения, полученной из характеристик, назначенных на узлы хранения.

[0052] Должно быть оценено, что хранилища данных, иллюстрированные в системе 500 (например, хранилища 514, 524, 534, 544 и 556 данных), могут быть, например, или энергонезависимой памятью, или могут включать в себя как энергозависимую так и энергонезависимую память. Посредством иллюстрации, а не ограничения, энергонезависимая память может включать в себя постоянное запоминающее устройство (ROM), программируемое ROM (PROM), электрически программируемое ROM (EPROM), электрически стираемое PROM (EEPROM) или флэш-память. Энергозависимая память может включать в себя оперативное запоминающее устройство (RAM), которое действует как внешняя кэш-память. Посредством иллюстрации, а не ограничения, RAM доступно во многих формах, таких как синхронное RAM (SRAM), динамическое RAM (DRAM), синхронное DRAM (SDRAM), SDRAM удвоенной скоростью передачи данных (DDR SDRAM), расширенное SDRAM (ESDRAM), DRAM Synchlink (SLDRAM), и прямое Rambus RAM (DRRAM). Хранилище данных рассматриваемых систем и способов предназначается, чтобы содержать, не будучи ограниченной, эти и любые другие подходящие типы памяти. В дополнение, должно быть оценено, что хранилища данных могут быть сервером, базой данных, накопителем на жестких дисках, флешкой, внешним накопителем на жестких дисках, портативным накопителем на жестких дисках и т.п.

[0053] Фиг. 6 иллюстрирует систему 600, которая генерирует и распределяет точные копии данных в соответствии с различными аспектами. Система 600 может включать в себя компонент 102 репликации и компонент 106 размещения, который по существу может быть аналогичным соответствующим компонентам, блокам, системам и интерфейсам, описанным в предыдущих фигурах. Система 600 дополнительно включает в себя интеллектуальный компонент 602. Интеллектуальный компонент 602 может быть использован компонентом 102 репликации и/или компонентом 106 размещения, чтобы логически выводить, например, характеристики узлов хранения, свойства части данных, оптимальные размещения точных копий, требования к точной копии части данных и т.п.

[0054] Интеллектуальный компонент 602 может использовать вычисление значения информации (VOI) для идентификации соответствующих узлов хранения, чтобы достигнуть оптимальных распределений точных копий. Например, посредством использования вычисления VOI могут быть определены самые идеальные и/или подходящие распределения точных копий. Кроме того, должно быть понятно, что интеллектуальный компонент 602 может предусматривать рассуждение или логически выводить состояния системы, среды и/или пользователя из набора наблюдений, которые захватываются с помощью событий и/или данных. Логический вывод может быть использован для идентификации конкретного контекста или действия, или может генерировать распределение вероятности по состояниям, например. Логический вывод может быть вероятностным, то есть вычислением распределения вероятности по состояниям интереса, основанным на рассмотрении данных и событий. Логический вывод может также относиться к способам, используемым для составления высокоуровневых событий из набора событий и/или данных. Такой логический вывод приводит к созданию новых событий или действий из набора наблюдаемых событий и/или сохраненных данных события, коррелированны ли события в близкой временной близости, и исходят ли события и данные из одного или нескольких источников события и данных. Различная классификация (явно и/или неявно сформированная) схем и/или систем (например, машин опорных векторов, нейронных сетей, экспертных систем, доверительных байесовских сетей, нечеткой логики, механизмов совместной обработки данных...) может быть использована применительно к выполнению автоматического и/или логически выведенного действия применительно к заявленной сущности изобретения.

[0055] Классификатор является функцией, которая преобразует вектор вводимых атрибутов, x=(x1, x2, x3, x4, xn) в достоверность, что входные данные принадлежат классу, то есть f (x)=достоверность (класс). Такая классификация может использовать вероятностный и/или основанный на статистике анализ (например, дробление на программы анализа и затраты), чтобы прогнозировать или логически выводить действие, которое пользователь желает, чтобы было автоматически выполнено. Машина опорных векторов (SVM) является примером классификатора, который может быть использован. SVM работает посредством поиска гиперповерхности в пространстве возможных входных данных, при этом гиперповерхность пытается отделить инициирующие критерии от не инициирующих событий. Интуитивно, это делает классификацию корректной для проверки данных, которые являются близкими, но не идентичными данным режима обучения. Другие прямые и косвенные подходы классификации моделей включают в себя, например, упрощенные алгоритмы Байеса, байесовские сети, деревья принятия решений, нейронные сети, модели нечеткой логики, и могут быть использованы вероятностные модели классификации, обеспечивающие различные шаблоны независимости. Классификация, которая используется в настоящем описании, также включает статистическую регрессию, которая используется для развития моделей приоритета.

[0056] Компонент 102 репликации и/или компонент 106 размещения могут дополнительно использовать компонент 604 презентации, который обеспечивает различные типы пользовательских интерфейсов, чтобы облегчить взаимодействие между пользователем и любым компонентом, подсоединенным к системе 600 (например, узлами хранения, компонентами репликации, компонентами размещения, политикой размещения, клиентами резервного копирования, службами резервного копирования и т.д.). Как изображено, компонент 604 презентации является отдельным объектом, который может быть использован компонентом 102 репликации и компонентом 106 размещения. Однако должно быть оценено, что компонент 604 презентации и/или аналогичные компоненты представления могут быть включены в компонент 102 репликации, компонент 106 размещения и/или автономный блок. Компонент 604 презентации может обеспечивать один или более графических пользовательских интерфейсов (интерфейсов GUI), интерфейсов командной строки и т.п. Например, может быть воспроизведен GUI, который обеспечивает пользователю область или средство, чтобы загрузить, импортировать, считать, отредактировать и т.д., данные, и может включать в себя область для представления результатов этого. Эти области могут содержать известный текст и/или графические области, содержащие блоки диалога, статические устройства управления, выводимое на экране меню, блоки списков, всплывающее меню, средство управления редактированием, комбинированные блоки, радиокнопки, флажковые блоки, кнопки и графические блоки. В дополнение, могут быть использованы служебные программы для облегчения презентации, такие как вертикальные и/или горизонтальные линейки прокрутки для навигации и кнопки панели инструментов, чтобы определять, будет ли область видимой. Например, пользователь может взаимодействовать с одним или более компонентами, подсоединенными и/или встроенными в компонент 102 репликации и/или компонент 106 размещения, чтобы указать предпочтения для генерирования, количества и размещения точных копий.

[0057] Пользователь может также взаимодействовать с областями, чтобы выбирать и обеспечивать информацию с помощью различных устройств, таких как мышь, шариковый пишущий элемент, площадка ввода касанием, дополнительная клавиатура, клавиатура, сенсорный экран, перо и/или голосовая активация, обнаружение движения тела, например. Как правило, механизм, такой как кнопка или клавиша ENTER на клавиатуре может быть использован для последовательного ввода информации для инициации поиска. Однако должно быть оценено, что заявленная сущность изобретения этим не ограничивается. Например, простое выделение блока флажка может инициировать транспортировку информации. В другом примере может быть использован интерфейс командной строки. Например, интерфейс командной строки может запросить (например, с помощью текстового сообщения на дисплее и аудиосигнале) у пользователя информацию с помощью обеспечения текстового сообщения. Затем пользователь может выдавать подходящую информацию, такую как алфавитно-цифровой ввод, соответствующий опции, обеспеченной в запросе интерфейса, или ответ на вопрос, изложенный в запросе. Должно быть оценено, что интерфейс командной строки может быть использован применительно к GUI и/или API. В дополнение, интерфейс командной строки может быть использован применительно к аппаратному обеспечению (например, видеокартам) и/или дисплеям (например, черно-белым, EGA, VGA, SVGA и т.д.) с ограниченной графической поддержкой и/или каналам связи с низкой полосой пропускания.

[0058] Фиг. 7-8 иллюстрируют способы и/или блок-схемы в соответствии с заявленной сущностью изобретения. Для простоты объяснения способы изображаются и описываются как набор действий. Должно быть понятно и оценено, что настоящее описание не ограничивается иллюстрированными действиями и/или порядком действий. Например, действия могут иметь место в другом порядке и/или одновременно, и с другими действиями, не представленными и описанными в настоящем описании. Кроме того, не все иллюстрированные действия обязательно могут реализовывать способы в соответствии с заявленной сущностью изобретения. В дополнение, специалисты в данной области техники поймут и оценят, что способы альтернативно могут быть представлены как набор взаимосвязанных состояний с помощью диаграммы состояний или событий. Дополнительно, должно быть дополнительно оценено, что способы, раскрытые в дальнейшем и на протяжении этого описания, могут быть сохранены в изделии изготовления, чтобы облегчать транспортировку и передачу таких способов на компьютеры. Используемый в настоящем описании термин "изделие изготовления" предназначается, чтобы охватить компьютерную программу, доступную с любого считываемого компьютером устройства, несущей или носителей.

[0059] Ссылаясь на Фиг. 7, иллюстрируется способ 700 для генерирования требования к точной копии части данных, которые должны быть сохранены в распределенной файловой системе. На этапе 702 часть данных анализируется, чтобы установить свойства. Свойства могут включать в себя размер хранения части данных, может ли часть данных быть сжата и/или сегментирована, чтобы уменьшить (емкость) хранения, или другие подходящие свойства. В дополнение, часть данных может анализироваться для лицензирования терминов (например, управление цифровыми правами), которые могут ограничивать или иначе влиять на количество доступных точных копий. На этапе 704 один или более узлов хранения могут быть оценены, чтобы установить характеристики узлов. В одном примере характеристики узла хранения могут включать в себя признаки, такие как, но не ограниченные, доступность узла хранения, емкость запоминающего устройства узла хранения, затраты на хранение в узлах хранения, затраты на передачу на узел хранения, близость сети и/или местоположение узла хранения относительно исходного узла и топологию сети, и т.д. На этапе 706 может генерироваться требование к точной копии. Требование к точной копии определяет количество точных копий, которые должны быть распределены среди одного или более узлов хранения. В одном примере требование к точной копии может основываться на свойствах части данных. В другом примере требование к точной копии может генерироваться в соответствии с оцененными характеристиками узлов хранения.

[0060] Теперь ссылаясь на Фиг. 8, иллюстрируется способ 800 для распределения точных копий части данных среди узлов хранения. На этапе 802 может быть получено требование к точной копии. Требование к точной копии указывает ряд точных копий для распределения среди одного или более узлов хранения. На этапе 804 оцениваются характеристики одного или более узлов хранения. На этапе 806 могут быть использованы характеристики для генерирования политики размещения. Политика размещения определяет приоритеты узлов хранения таким образом, чтобы точные копии могли быть помещены в узлы более высокого приоритета. Например, политика размещения может включать в себя списки узлов хранения, которые расположены по приоритетам или ранжированы, где соответствующий список обеспечивается для каждой характеристики. На этапе 808 точные копии могут быть распределены на узлы хранения в соответствии с политикой и/или требованием к точной копии.

[0061] Чтобы обеспечить дополнительный контекст для реализации различных аспектов заявленной точки изобретения, Фиг. 9-10 и следующее рассмотрение предназначаются, чтобы обеспечивать краткое общее описание подходящей вычислительной среды, в которой могут быть реализованы различные аспекты рассматриваемого настоящего изобретения. Например, клиентские машины, такие как одноранговые узлы и суперодноранговые узлы, а также местоположения хранения в "облаке" могут быть реализованы в такой подходящей вычислительной среде. В то время как заявленная сущность изобретения была описана выше в общем контексте выполняемых компьютером команд компьютерной программы, которая работает на локальном компьютере и/или удаленном компьютере, специалисты в данной области техники признают, что настоящее изобретение также может быть реализовано в комбинации с другими программными модулями. В целом, программные модули включают в себя операции, программы, компоненты, структуры данных и т.д., которые выполняют конкретные задачи и/или реализовывают конкретные абстрактные типы данных.

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

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

[0064] Компьютер обычно включает в себя множество считываемых компьютером носителей. Считываемый компьютером носитель может быть любыми доступными носителями, к которым может получить доступ компьютер и включать в себя как энергозависимые так и энергонезависимые носители, сменные и несменные носители. Посредством примера, а не ограничения, считываемые компьютером носители могут содержать компьютерные запоминающие носители и коммуникационные носители. Компьютерные запоминающие носители могут включать в себя как энергозависимые, так и энергонезависимые, сменные и несменные носители, реализованные любым способом или технологией для хранения информации, такой как считываемые компьютером команды, структуры данных, программные модули или другие данные. Компьютерные запоминающие носители включают в себя, но не ограничиваются, RAM, ROM, EEPROM, флэш-память или памяти другой технологии, CD-ROM, цифровой универсальный диск (DVD) или другое запоминающее устройство на оптических дисках, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель, который может быть использован для сохранения желаемой информации и который может быть доступным посредством компьютера.

[0065] Носители связи обычно включают считываемые компьютером команды, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая или другой транспортный механизм, и включают в себя любые носители доставки информации. Термин "модулированный сигнал данных" обозначает сигнал, который имеет одну или более из характеристик, установленных или измененных таким способом, чтобы закодировать информацию в сигнале. Посредством примера, а не ограничения, коммуникационные носители включают в себя проводные носители, такие как проводная сеть или непосредственное проводное соединение, и беспроводные носители, такие как акустические, РЧ, инфракрасные и другие беспроводные носители. Комбинации любого вышеупомянутого также должны быть включены в понятие считываемых компьютером носителей.

[0066] Теперь ссылаясь на Фиг. 9, иллюстрируется схематическая блок-схема примерной компьютерной системы компиляции, действующей для выполнения раскрытой архитектуры. Система 900 включает в себя один или более клиент(ов) 902. Клиент(ы) 902 может быть аппаратным обеспечением и/или программным обеспечением (например, потоками, процессами, вычислительными устройствами). В одном примере клиент(ы) 902 может включать куки и/или ассоциированную контекстную информацию, используя один или более признаков, описанных в настоящем описании.

[0067] Система 900 также включает в себя один или более серверов 904. Сервер(ы) 904 может также быть аппаратным обеспечением и/или программным обеспечением (например, потоками, процессами, вычислительными устройствами). В одном примере серверы 904 могут включать в себя потоки, чтобы выполнять преобразования, используя один или более признаков, описанных в настоящем описании. Одна возможная связь между клиентом 902 и сервером 904 может быть в форме пакета данных, приспособленного для передачи между двумя или более компьютерными процессами. Пакет данных может включать в себя куки и/или ассоциированную контекстную информацию, например. Система 900 включает в себя структуру 906 связи (например, глобальную сеть связи, такую как Интернет), которая может быть использована для облегчения связи между клиентом(ами) 902 и сервером(ами) 904.

[0068] Связь может быть облегчена с помощью проводной (включая оптическое волокно) и/или беспроводной технологии. Клиент(ы) 902 оперативно соединяется с одним или более хранилищем(ами) 908 клиентских данных, которые могут быть использованы для сохранения информации, локальной для клиента(ов) 902 (например, куки и/или ассоциированной контекстной информации). Аналогично сервер(ы) 904 оперативно соединяется с одним или более хранилищами 910 данных сервера, которые могут быть использованы для сохранения информации, локальной для серверов 904.

[0069] Ссылаясь на Фиг. 10, примерная среда 1000 для реализации различных аспектов, описанных в настоящем описании, включает в себя компьютер 1002, причем компьютер 1002 включает в себя блок 1004 обработки, системную память 1006 и системную шину 1008. Системная шина 1008 соединяет компоненты системы, включая в себя, но не ограничиваясь, системную память 1006 к блоку 1004 обработки. Блок 1004 обработки может быть любым из различных коммерчески доступных процессоров. Двойные микропроцессоры и другая многопроцессорная архитектура также могут быть использованы в качестве блока 1004 обработки.

[0070] Системная шина 1008 может быть любой из нескольких типов шинных структур, которая может дополнительно связываться с шиной памяти (с или без контроллера памяти), периферийной шиной и локальной шиной, используя любое множество коммерчески доступных шинных архитектур. Системная память 1006 включает в себя постоянное запоминающее устройство (ROM) 1010 и оперативное запоминающее устройство (RAM) 1012. Базовая система ввода/вывода (BIOS) сохраняется в энергонезависимой памяти 1010, такой как ROM, EPROM, EEPROM, где BIOS содержит основные операции, которые помогают передавать информацию между элементами в компьютере 1002, такую как во время запуска. RAM 1012 может также включать в себя высокоскоростное RAM, такое как статическое RAM для кэширования данных.

[0071] Компьютер 1002 дополнительно включает в себя внутренний накопитель на жестких дисках 1014 (HDD) (например, EIDE, SATA), причем внутренний накопитель на жестких дисках 1014 также может быть сконфигурирован для внешнего применения в подходящем корпусе (не показан), накопитель на магнитных дисках 1016 (FDD), (например, чтобы считать с или записать на сменную дискету 1018) и накопитель на оптических дисках 1020, (например, для считывания диска 1022 CD-ROM или, чтобы считать от или записать на другие оптические носители с высокой производительностью, такие как DVD). Накопитель на жестких дисках 1014, накопитель на магнитных дисках 1016 и накопитель на оптических дисках 1020 могут быть соединены с системной шиной 1008 посредством интерфейса 1024 накопителя на жестких дисках, интерфейса 1026 накопителя на магнитных дисках и интерфейса 1028 накопителя на оптических дисках, соответственно. Интерфейс 1024 для реализации внешнего накопителя включает в себя по меньшей мере одну или обе из технологии универсальной последовательной шины (USB) и интерфейса IEEE 1394. Другие технологии подсоединения внешнего накопителя находятся в пределах рассмотрения рассматриваемого раскрытия.

[0072] Накопители и их ассоциированные считываемые компьютером носители обеспечивают энергонезависимое хранение данных, структур данных, выполняемых компьютером команд и т.д. Для компьютера 1002 накопители и носители адаптируют хранение любых данных в подходящем цифровом формате. Хотя описание считываемых компьютером носителей выше относится к HDD, сменной магнитной дискете и сменным оптическим носителям, таким как компакт-диск или DVD, специалистами в данной области техники должно быть оценено, что другие типы носителей, которые считываются посредством компьютера, такие как zip-дисковод, магнитные кассеты, карты флэш-памяти, картриджи и т.п., также могут быть использованы в примерной операционной среде, и дополнительно, что любые такие носители могут содержать выполняемые компьютером команды для выполнения способов, описанных в настоящем описании.

[0073] Ряд программных модулей могут быть сохранены на накопителях и RAM 1012, включая в себя операционную систему 1030, одну или более прикладных программ 1032, другие программные модули 1034 и программные данные 1036. Все или части операционной системы, приложений, модулей и/или данных также могут кэшироваться в RAM 1012. Следует оценить, что заявленная сущность изобретения может быть реализована различными коммерчески доступными операционными системами или комбинациями операционных систем.

[0074] Пользователь может водить команды и информацию в компьютер 1002 через одно или более проводных/беспроводных устройств ввода, например клавиатуру 1038 и указательное устройство, такое как мышь 1040. Другие устройства ввода (не показаны) могут включать в себя микрофон, средство ИК (IR) дистанционного управления, джойстик, игровой планшет, перо стилуса, сенсорный экран или подобное. Эти и другие устройства ввода часто соединяются с блоком 1004 обработки через интерфейс 1042 устройства ввода, который подсоединяется к системной шине 1008, но может быть соединен с другими интерфейсами, такими как параллельный порт, последовательный порт, порт IEEE 1394, игровой порт, порт USB, интерфейс IR и т.д.

[0075] Монитор 1044 или другой тип устройства отображения также соединяется с системной шиной 1008 с помощью интерфейса, такого как видеоадаптер 1046. В дополнение к монитору 1044, компьютер обычно включает в себя другие периферийные устройства вывода (не показаны), такие как громкоговорители, принтеры и т.д.

[0076] Компьютер 1002 может работать в сетевой среде, используя логические соединения с помощью проводной и/или беспроводной связи с одним или более удаленными компьютерами, такими как удаленный компьютер(ы) 1048. Удаленный компьютер(ы) 1048 может быть рабочей станцией, серверным компьютером, маршрутизатором, персональным компьютером, портативным компьютером, основанным на микропроцессоре прибором развлечения, устройством однорангового узла или другим общим сетевым узлом, и обычно включает в себя многие или все из элементов, описанные относительно компьютера 1002, хотя в целях краткости иллюстрируется только устройство памяти/хранения 1050. Логические изображенные соединения включают в себя проводную/беспроводную возможность подсоединения к локальной сети (LAN) 1052 и/или более крупным сетям, например глобальной сети (WAN) 1054. Такие сетевые среды LAN и WAN являются обыкновенными в офисах и компаниях и развивают компьютерные сети всего предприятия, такие как интранет, все из которых могут соединяться с глобальной системой связи, например Интернетом.

[0077] При использовании в сетевой среде LAN, компьютер 1002 соединяется с локальной сетью 1052 через интерфейс проводной и/или беспроводной сети связи или адаптер 1056. Адаптер 1056 может облегчать проводную или беспроводную связь с LAN 1052, которая может также включать в себя беспроводную точку доступа, расположенную в ней для связи с беспроводным адаптером 1056.

[0078] При использовании в сетевой среде WAN, компьютер 1002 может включать в себя модем 1058 или соединяться с сервером связи в WAN 1054, или иметь другое средство для установления связи в WAN 1054, такое как посредством Интернета. Модем 1058, который может быть внутренним или внешним, и проводным или беспроводным устройством, соединяется с системной шиной 1008 с помощью интерфейса 1042 последовательного порта. В сетевой среде программные модули, изображенные относительно компьютера 1002 или его части, могут быть сохранены на удаленном устройстве 1050 памяти/хранения. Будет оценено, что показанные соединения сети являются примерными, и могут быть использованы другие средства установления линии связи между компьютерами.

[0079] Компьютер 1002 является действующим, чтобы связываться с любыми беспроводными устройствами или объектами, оперативно расположенными в беспроводной связи, например принтером, сканером, настольным и/или портативным компьютером, портативным ассистентом данных, спутником связи, любой частью оборудования или местоположением, ассоциированным с беспроводным образом обнаруживаемым тэгом (например, информационным киоском, новостным киоском, комнатой отдыха) и телефоном. Это включает в себя по меньшей мере беспроводные технологии Wi-Fi и Bluetooth (ТМ). Таким образом, связь может быть предварительно определенной структурой как обычной сетью, или просто связью ad hoc по меньшей мере между двумя устройствами.

[0080] Wi-Fi, или беспроводная достоверность, является беспроводной технологией, аналогичной той, что используется в сотовом телефоне, который позволяет устройству посылать и принимать данные в любом месте в диапазоне действия базовой станции. Сети Wi-Fi используют радиотехнологии IEEE 802.11 (a, b, g и т.д.), чтобы обеспечить безопасную, надежную и быструю беспроводную возможность соединения. Сеть Wi-Fi может быть использована для соединения компьютеров друг с другом, с Интернетом и проводными сетями (которые используют IEEE 802.3 или Ethernet). Сети Wi-Fi работают в нелицензированных 2.4 и радиочастотных диапазонах 5 ГГц, со скоростью передачи данных 13 Мбит/с (802.11a) или 54 Мбит/с (802.11b), например, или с продуктами, которые содержат оба частотных диапазона (двухдиапазонными). Таким образом, сети, использующие беспроводную технологию Wi-Fi, могут обеспечивать реальную производительность, аналогичную проводной сети Ethernet 10BaseT.

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

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

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

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

название год авторы номер документа
ИНТЕЛЛЕКТУАЛЬНЫЕ ЯРУСЫ ДАННЫХ РЕЗЕРВНОГО КОПИРОВАНИЯ 2010
  • Мерфи Элисса Е.С.
  • Мер Джон Д.
RU2555230C2
ИДЕНТИФИКАЦИЯ СЕТЕВОГО УЗЛА, НА КОТОРЫЙ БУДУТ РЕПЛИЦИРОВАТЬСЯ ДАННЫЕ 2017
  • Плетеа, Даниэль
  • Ван Лисдонк, Петер, Петрус
RU2756304C2
РАЗНОСТНЫЕ ВОССТАНОВЛЕНИЯ ФАЙЛА И СИСТЕМЫ ИЗ ОДНОРАНГОВЫХ УЗЛОВ СЕТИ И ОБЛАКА 2010
  • Мерфи Элисса Э.
  • Мер Джон Д.
  • Вирк Нэвджот
  • Сосноски Лара М.
  • Хэмилтон Джеймс Р.
RU2531869C2
СИСТЕМА И СПОСОБ, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ СОВМЕСТНОГО ИСПОЛЬЗОВАНИЯ ФАЙЛОВ В ГРУППОВЫХ СОВМЕСТНО ИСПОЛЬЗУЕМЫХ ОБЛАСТЯХ ОДНОРАНГОВОЙ СЕТИ 2004
  • Лайуаллен Брайан Р.
  • Миллер Джон Л.
  • Шаппелл Майкл Э.
  • Рао Рави Т.
  • Сенкерести Скотт А.
RU2374681C2
НАДЕЖНОЕ ЭФФЕКТИВНОЕ ХРАНЕНИЕ В ОДНОРАНГОВЫХ УЗЛАХ 2007
  • Ли Цзинь
RU2435206C2
ЗАЩИЩЕННОЕ И КОНФИДЕНЦИАЛЬНОЕ ХРАНЕНИЕ И ОБРАБОТКА РЕЗЕРВНЫХ КОПИЙ ДЛЯ ДОВЕРЕННЫХ СЕРВИСОВ ВЫЧИСЛЕНИЯ И ДАННЫХ 2010
  • Аурадкар Рахул В.
  • Д`Суза Рой Питер
RU2531569C2
ПОДДЕРЖАНИЕ ЖУРНАЛА ВСТРЕЧ С МЕДИА КОНТЕНТОМ 2007
  • Пластина Дэниел
  • Джоунз Дэвид
RU2445691C2
МЕХАНИЗМ КООРДИНАЦИИ ДЛЯ ВЫБОРА ОБЛАКА 2012
  • Батроуни Марван
  • Ашкар Шеди Н.
RU2628902C2
СЕТЕВОЕ УПРАВЛЕНИЕ ДАННЫМИ В РАСПРЕДЕЛЕННОМ НАБОРЕ УСТРОЙСТВ 2008
  • Моромисато Джордж П.
  • Эдельштейн Ноа В.
  • Параснис Абхай В.
  • Эндрюс Энтони Д.
  • Оззи Рэймонд Е.
  • Девлин Уилльям Д.
  • Сагар Акаш Дж.
RU2481623C2
ПРИСОЕДИНЕНИЕ УСТРОЙСТВ К СЛУЖБЕ СОВМЕСТНОГО ИСПОЛЬЗОВАНИЯ МУЛЬТИМЕДИА 2007
  • Джоунз Дэвид
  • Пластина Дэниел
  • Хэвесон Райан Александр
RU2449353C2

Иллюстрации к изобретению RU 2 544 777 C2

Реферат патента 2015 года ДИНАМИЧЕСКОЕ РАЗМЕЩЕНИЕ ДАННЫХ ТОЧНЫХ КОПИЙ

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

Формула изобретения RU 2 544 777 C2

1. Система распределения точных копий среди набора узлов хранения, содержащая:
процессор, подсоединенный к памяти, которая хранит выполняемые компьютером команды, причем процессор выполняет:
компонент (102) репликации, который генерирует требование к точной копии для части (104) данных на основании, по меньшей мере частично, свойств данных или характеристик одного или более узлов (108) хранения, причем требования к точной копии задают по меньшей мере количество точных копий для сохранения на упомянутых узлах хранения; и
компонент (106) размещения, который распределяет одну или более точных копий упомянутой части данных среди одного или более узлов хранения в соответствии с упомянутым требованием к точной копии, причем компонент размещения выбирает узлы хранения для сохранения точных копий, при этом компонент размещения включает в себя компонент генерирования политики, который генерирует политику размещения из характеристик упомянутых одного или более узлов хранения, причем политика размещения задает множество ранжирований узлов хранения, причем каждое ранжирование соответствует соответствующей характеристике, и упомянутый компонент размещения использует эту политику размещения для распределения точных копий таким образом, чтобы компонент размещения сохранял точные копии в узлах хранения наиболее высокоранжированных из упомянутых ранжирований.

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

3. Система по п.1, в которой компонент репликации включает в себя компонент оценки данных, который идентифицирует свойства части данных.

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

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

6. Система по п.1, в которой компонент репликации включает в себя компонент определения количества, который выбирает требование к точной копии в соответствии с анализом свойств части данных и характеристик одного или более узлов хранения.

7. Система по п.6, в которой компонент количественного анализа использует статистические модели на основании по меньшей мере одного из: машинного обучения или эвристических процедур.

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

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

10. Система по п.1, в которой компонент репликации использует предпочтения пользователя для генерирования упомянутого требования к точной копии.

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

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

Документы, цитированные в отчете о поиске Патент 2015 года RU2544777C2

Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек 1923
  • Григорьев П.Н.
SU2007A1
US 6332139 B1, 18.12.2001
US 7039757 B2, 02.05.2006
US 7392547 B2, 24.06.2008
US 6466980 B1, 15.10.2002
СИСТЕМА И СПОСОБ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ КЭШ-ПАМЯТИ В РАСПРЕДЕЛЕННОЙ ФАЙЛОВОЙ СИСТЕМЕ 1994
  • Кэнтрелл Томас Джордж
  • Джаджи Себнем
  • Шахин Амаль Ахмед
  • Уорд Ричард Байрон
RU2170454C2

RU 2 544 777 C2

Авторы

Мерфи Элисса Э. С.

Лешински Ян В.

Мер Джон Д.

Даты

2015-03-20Публикация

2010-04-21Подача