EA026842B1 - Способ и сервер для записи данных в системе хранения данных - Google Patents
Способ и сервер для записи данных в системе хранения данных Download PDFInfo
- Publication number
- EA026842B1 EA026842B1 EA201291023A EA201291023A EA026842B1 EA 026842 B1 EA026842 B1 EA 026842B1 EA 201291023 A EA201291023 A EA 201291023A EA 201291023 A EA201291023 A EA 201291023A EA 026842 B1 EA026842 B1 EA 026842B1
- Authority
- EA
- Eurasian Patent Office
- Prior art keywords
- nodes
- data storage
- data
- node
- server
- Prior art date
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 139
- 238000000034 method Methods 0.000 title claims description 85
- 230000008569 process Effects 0.000 claims description 45
- 230000004044 response Effects 0.000 claims description 16
- 238000010187 selection method Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000000926 separation method Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 230000007257 malfunction Effects 0.000 abstract description 4
- 230000010076 replication Effects 0.000 abstract 1
- 238000012217 deletion Methods 0.000 description 9
- 230000037430 deletion Effects 0.000 description 9
- 230000036541 health Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 4
- NUHSROFQTUXZQQ-UHFFFAOYSA-N isopentenyl diphosphate Chemical compound CC(=C)CCO[P@](O)(=O)OP(O)(O)=O NUHSROFQTUXZQQ-UHFFFAOYSA-N 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
- G06F16/1844—Management specifically adapted to replicated file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1845—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast broadcast or multicast in a specific location, e.g. geocast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Remote Sensing (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Изобретение относится к системе распределенного хранения данных, содержащей некоторое число узлов хранения данных. Использование многоадресной и одноадресной передачи позволяет осуществлять запись данных в системе хранения данных с помощью серверного приложения. В процессе записи данных выбирают по меньшей мере два узла; выбор осуществляется частично исходя из значений рандомизированной функции, что позволяет гарантировать достаточно широкое распределение данных для обеспечения эффективного и надежного их копирования в случае сбоя одного из узлов хранения данных.
Description
Область техники
Настоящее изобретение относится к способу записи данных в системе хранения данных, содержащей некоторое число узлов хранения данных, где указанный способ используется сервером системы хранения данных. Данное изобретение также относится к серверу, способному обеспечить реализацию указанного способа.
Предпосылки изобретения
Подобный способ описан, в частности, в заявке И8 2005/0246393 А1. Этот способ описан для системы, использующей некоторое количество центров хранения данных, расположенных в географически удаленных друг от друга точках. В системе используются диспетчеры распределенного хранения объектов, предназначенные для хранения и обслуживания информации о хранимых данных.
Одной из проблем, связанных с такой системой, является необходимость обеспечить простую и в то же время устойчивую и надежную процедуру записи, а также обслуживания данных.
Краткое описание изобретения
Соответственно одна из целей данного изобретения - обеспечить устойчивую к сбоям запись данных в системе распределенного хранения.
Эта цель достигается с помощью определенного способа записи данных в системе хранения данных вышеупомянутого типа; указанный способ реализуется сервером, использующим приложение, которое обращается к данным в этой системе хранения данных. Данный способ включает передачу многоадресного запроса на сохранение данных нескольких узлам хранения данных; получение некоторого количества ответов от подмножества указанных узлов, где указанные ответы содержат информацию о каждом из узлов; выбор из этого подмножества по меньшей мере двух узлов хранения данных исходя из полученных ответов. Процедура выбора предусматривает определение с помощью некоторого алгоритма для каждого узла хранения данных, принадлежащего к указанному подмножеству, вероятностного коэффициента исходя из информации о соответствующем узле и случайный выбор указанных по меньшей мере двух узлов; при этом вероятность выбора узла зависит от его вероятностного коэффициента. Указанный способ также предусматривает передачу данных и соответствующего им идентификатора данных в выбранные узлы хранения данных.
Этот способ позволяет обеспечить устойчивую к сбоям запись данных, поскольку даже если выбор узлов хранения данных осуществляется исходя из их временной готовности, информация будет в определенной степени распределена между различными частями системы даже в течение непродолжительного периода времени. Это означает снижение требований к поддержке данной системы хранения данных, поскольку предложенный способ позволяет в определенной степени снизить взаимосвязанность узлов, содержащих одну и ту же информацию. Это означает, что процесс копирования, который может быть задействован в случае нарушения функционирования одного из узлов хранения данных, может осуществляться большим числом других узлов и соответственно протекает намного быстрее. Кроме того, снижается риск перегрузки узлов высокого уровня, поскольку возрастает число узлов, используемых для записи данных, и снижается число неиспользуемых узлов.
Информация об узлах хранения данных может содержать данные о географическом положении каждого из узлов, например широту, долготу и высоту над уровнем моря соответствующего узла. Это позволяет серверу обеспечить географический разброс информации в пределах одного помещения, здания, страны или даже по всему миру.
Возможно обеспечить случайный выбор узлов хранения данных из подмножества, удовлетворяющего основному критерию, основанному на географическом разделении, поскольку это важный момент для обеспечения дублирования.
Информация об узлах хранения данных может содержать сведения о сроке службы и/или системной нагрузке для соответствующего узла.
Многоадресный запрос на сохранение данных может содержать идентификатор данных, позволяющий идентифицировать данные, подлежащие сохранению.
Может быть выбрано не менее трех узлов; перечень узлов, успешно использованных для сохранения данных, может быть направлен выбранным узлам.
Узлы хранения данных могут быть случайным образом выбраны из некоторой части указанного подмножества, содержащей узлы с наибольшими значениями вероятностных коэффициентов. Это позволяет исключить наименее подходящие узлы хранения данных и делать выбор из числа более надежных узлов, сохраняя в то же время случайный характер распределения записываемой информации.
Настоящее изобретение также относится к серверу, предназначенному для записи данных согласно предложенному способу. Указанный сервер в общем случае содержит средства для осуществления операций, предусмотренных указанным способом.
- 1 026842
Краткое описание чертежей
На фиг. 1 изображена система распределенного хранения данных.
На фиг. 2А-2С и 3 изображен процесс считывания данных.
На фиг. 4А-4С и 5 изображен процесс записи данных.
На фиг. 6 схематически изображена ситуация сохранения нескольких файлов на нескольких узлах хранения данных.
На фиг. 7 изображена передача сигналов проверки работоспособности.
Фиг. 8 представляет собой общую схему процесса обслуживания данных.
Подробное описание
Настоящее изобретение относится к системе распределенного хранения данных, содержащей некоторое число узлов хранения данных. Структура системы и контекст ее использования показаны в общих чертах на фиг. 1.
Компьютер 1 пользователя обращается через Интернет 3 к приложению 5, исполняемому на сервере 7. Соответственно пользовательский контекст в иллюстрируемом примере представляет собой стандартную конфигурацию клиент-сервер, которая сама по себе хорошо известна. Однако следует отметить, что предлагаемая система хранения данных может быть полезна и в других конфигурациях.
В иллюстрируемом случае на сервере 7 выполняются два приложения 5 и 9. Разумеется, число приложений может быть иным. Каждое приложение имеет интерфейс 11 прикладного программирования (ИНН), который обеспечивает интерфейс взаимодействия с системой 13 распределенного хранения данных и поддержку запросов (как правило, запросов на запись и считывание данных), поступающих от приложений, выполняемых сервером. С точки зрения приложений, процедуры считывания информации из системы 13 хранения данных и/или записи информации в указанную систему могут не отличаться от использования любых других способов хранения данных, например файлового сервера или просто накопителя на жестких дисках.
Каждый ИПП 11 поддерживает связь с узлами 15 хранения данных системы 13 хранения данных, а узлы хранения данных поддерживают связь друг с другом. Эта связь осуществляется с использованием протоколов ТСР (протокола управления передачей данных) и ИИР (протокола датаграмм пользователя). Эти принципы хорошо известны специалистам в данной области техники и не нуждаются в дополнительных разъяснениях.
Следует отметить, что различные ИПП 11 на одном и том же сервере 7 могут обращаться к различным группам узлов 15. Следует также отметить, что к каждому из узлов 15 хранения данных могут обращаться несколько серверов 7. Это, однако, не оказывает сколько-нибудь значительного влияния на способ функционирования указанных узлов, как будет показано ниже.
Компонентами системы распределенного хранения данных являются узлы 15 хранения данных и ИПП 11 на сервере 7, которые обращаются к узлам 15. Соответственно настоящее изобретение относится к способам, реализуемым на сервере 7 и в узлах 15 хранения данных. Эти способы реализуются в первую очередь программными средствами, которые действуют соответственно на указанных сервере и узлах хранения данных и вместе определяют функционирование и свойства системы распределенного хранения данных в целом.
В стандартном варианте в качестве узла 15 хранения данных может быть использован файловый сервер, имеющий некоторое число функциональных блоков. Соответственно узел хранения данных может содержать среду 17 хранения данных, которая в стандартном варианте содержит некоторое число накопителей на жестких дисках, которые могут иметь конфигурацию КАГО-системы (избыточного массива независимых дисков). Также могут быть использованы другие среды хранения данных.
Узел 15 хранения данных может также содержать каталог 19, в свою очередь, содержащий списки информационных объектов/отношений между узлами в виде списка ключевых узлов, как будет показано ниже.
Помимо списка ключевых узлов, каждый узел также содержит список узлов с 1Р-адресами всех узлов, принадлежащих к той же группе узлов хранения данных, что и данный узел. Число узлов в группе может колебаться от нескольких единиц до нескольких сотен. Список узлов может также иметь номер версии.
Кроме того, узел 15 хранения данных может содержать блок 21 копирования и блок 23 контроля кластера. Блок 21 копирования содержит ИНН 25 узла хранения данных и предназначен для выполнения функций, обеспечивающих идентификацию необходимости в процессе копирования и осуществление процесса копирования, которые более подробно описаны ниже. ИПП 25 блока 21 копирования может содержать код, который в значительной степени соответствует коду ИПП 11 узла хранения данных сервера 7, поскольку процесс копирования включает действия, в значительной степени соответствующие действиям, выполняемым сервером 7 в рамках операций считывания и записи данных, которые будут описаны ниже. Например, операция записи, выполняемая в процессе копирования, в значительной степени соответствует операции записи, выполняемой сервером 7. Блок 23 контроля кластера предназначен для контроля других узлов хранения данных системы 13 хранения данных, как подробно описано ниже.
Узлы 15 хранения данных системы распределенного хранения данных могут считаться такими, ко- 2 026842 торые находятся на одном иерархическом уровне. В назначении основного узла, отвечающего за ведение каталога сохраненных информационных объектов, контроль согласованности данных и т.п., нет необходимости. Напротив, все узлы 15 хранения данных могут считаться равными и могут время от времени выполнять операции хранения данных вместо других узлов системы. Это равенство гарантирует устойчивость системы к сбоям. В случае сбоя функционирования какого-либо из узлов хранения данных остальные узлы системы компенсируют указанный сбой, обеспечивая надежность хранения данных.
Функционирование системы описывается в следующем порядке: считывание данных, запись данных и обслуживание данных. Хотя эти способы превосходно реализуются вместе, следует отметить, что в принципе они могут быть реализованы независимо друг от друга. Иными словами, способ, например, считывания данных может давать превосходные результаты, даже если способ записи данных, предложенный в настоящем описании, не используется, и наоборот.
Ниже приводится описание способа считывания данных со ссылкой на фиг. 2А-2С и 3; последний чертеж представляет собой блок-схему, иллюстрирующую указанный способ.
Считывание, как и другие функции описываемой системы, использует многоадресную передачу для одновременной связи с несколькими узлами хранения данных. Под многоадресной или 1Р-многоадресной передачей в данном описании подразумевается многоточечная связь, которая осуществляется путем передачи сообщения на 1Р-адрес, который зарезервирован для многоадресных приложений.
Например, сообщение, обычно представляющее собой запрос, передается по такому 1Р-адресу (например, 244.0.0.1), а в качестве абонентов этого 1Р-адреса зарегистрировано некоторое число серверовполучателей. У каждого из этих серверов имеется собственный 1Р-адрес. Когда на коммутатор сети поступает сообщение, адресованное 244.0.0.1, коммутатор пересылает указанное сообщение на 1Р-адреса всех серверов, зарегистрированных в качестве абонентов.
В принципе, в качестве абонента адреса многоадресной передачи может быть зарегистрирован только один сервер; в этом случае имеет место прямая связь. Тем не менее, в контексте данного описания такая связь считается многоадресной, поскольку используется схема многоадресной передачи.
Также применяется одноадресная связь, предполагающая связь с одним получателем.
Как показано на фиг. 2А и 3, способ получения данных из системы хранения данных предусматривает передачу 31 многоадресного запроса нескольких узлам 15 хранения данных. В иллюстрируемом случае имеется пять узлов хранения данных с 1Р-адресами 192.168.1.1, 192.168.1.2 и т.д. Очевидно, что указанное число узлов приведено исключительно для примера. Соответствующий запрос содержит идентификатор данных 2Β9Β4Α97-76Ε5-499Ε-Α21Α6Ό7932ΌΌ7927, который может представлять собой, например, универсальный уникальный идентификатор (ИИГО), который сам по себе хорошо известен.
Узлы проверяют свое содержимое на предмет наличия данных, соответствующих идентификатору. Если такие данные найдены, узел хранения данных направляет ответ, принимаемый 33 сервером 7 (см. фиг. 2В). Как показано на чертеже, помимо подтверждения наличия в данном узле копии соответствующих данных, ответ может содержать дополнительную информацию. В частности, ответ может содержать информацию из каталога данного узла о других узлах, содержащих запрошенные данные, информацию о версии данных, содержащихся в данном узле, а также информацию о текущей нагрузке на этот узел хранения данных.
Основываясь на полученных ответах, сервер выбирает 35 один или несколько узлов для получения данных и передает 37 на этот узел (или узлы) одноадресный запрос данным (см. фиг. 2С).
В ответ на запрос данных выбранный узел (или узлы) пересылает путем одноадресной передачи соответствующие данные на сервер, который эти данные принимает 39. В иллюстрируемом случае выбирается только один узел хранения данных. Хотя этого достаточно, могут быть выбраны несколько узлов для получения двух наборов данных, что позволяет проверить их на согласованность. В случае срыва передачи данных сервер может выбрать для получения данных другой узел.
Выбор узлов хранения данных может быть основан на каком-либо алгоритме, учитывающем несколько факторов для достижения приемлемой общей эффективности работы системы. Обычно выбирается узел, содержащий последнюю версию данных и характеризующийся наименьшей нагрузкой, однако могут быть использованы и другие подходы.
Как вариант, данная операция может завершаться тем, что сервер рассылает всем задействованным узлам список с указанием узлов, содержащих требуемые данные, и версий этих данных. Исходя из этой информации, узлы хранения данных могут самостоятельно обеспечивать надлежащее обслуживание данных с помощью описанного ниже процесса копирования.
Фиг. 4А-4С и 5 служат иллюстрациями процесса записи данных для системы распределенного хранения данных.
Как показано на фиг. 4А и 5, соответствующий способ предусматривает передачу 41 многоадресного запроса на сохранение нескольких узлам хранения данных. Запрос на сохранение содержит идентификатор данных и в принципе представляет собой вопрос, могут ли узлы, принимающие данный запрос, сохранить данный конкретный файл. Как вариант, узлы могут провести проверку своих внутренних каталогов на предмет наличия в них файла с таким именем и, если такой файл будет обнаружен, могут оповестить об этом сервер 7, чтобы сервер мог переименовать соответствующий файл.
- 3 026842
В любом случае, по крайней мере, некоторое подмножество узлов хранения данных направит ответ серверу 7 с использованием одноадресной передачи. Как правило, на такой запрос отвечают узлы хранения данных, для которых предварительно установлен минимум свободного места на диске. Сервер 7 принимает 43 ответы, содержащие информацию о свойствах каждого из узлов хранения данных, например данные о географическом расположении каждого сервера. Например, как показано на фиг. 4В, такие географические данные могут включать широту, долготу и высоту над уровнем моря каждого сервера. Также могут использоваться другие виды географических данных, например почтовый индекс или строка адреса (т.е. номер здания, комната, ряд стойки, столбец стойки и т.п.)
Вместо географических данных или в дополнение к ним может быть предоставлена дополнительная информация о параметрах узла хранения данных, используемая в качестве исходных данных в процессе выбора узла хранения данных. В иллюстрируемом примере количество свободного места на каждом из узлов предоставляется вместе с указанием срока службы узла в системе и текущей нагрузки на соответствующий узел.
Основываясь на полученных ответах, сервер выбирает 45 в указанном подмножестве по меньшей мере два (в стандартном варианте три) узла для сохранения данных. Выбор узлов осуществляется с помощью алгоритма, который учитывает различные параметры. Этот выбор может производиться с целью обеспечения определенного географического разнообразия. В предпочтительном варианте такой выбор позволяет, по крайней мере, избежать ситуации, когда в качестве узлов хранения данных выбираются только файловые серверы, находящиеся в одной стойке. Как правило, можно обеспечить значительное географическое разнообразие, вплоть до выбора узлов хранения данных на разных континентах. Помимо географического разнообразия, алгоритм выбора может использовать и другие параметры. В процессе выбора предпочтительно использовать рандомизацию, как показано ниже.
Как правило, процедура выбора может начинаться с выбора некоторого количества узлов, достаточно удаленных друг от друга в географическом отношении. Это можно обеспечить несколькими различными способами. Например, может быть использован алгоритм, обеспечивающий идентификацию нескольких групп узлов хранения данных, или же узлам могут быть присвоены номера в пределах групп, позволяющие легко выбрать по одному узлу в каждой из групп.
Процедура выбора может включать расчет вероятностного коэффициента, соответствующего показателю готовности узла, исходя из информации о каждом из узлов (срок службы в системе, системная нагрузка и т.п.) Например, у более новой и соответственно менее склонной к сбоям системы этот показатель выше. Соответственно вероятностный коэффициент может быть рассчитан как скалярное произведение двух векторов, где первый вектор содержит параметры информации об узле (или противоположные им значения), а второй - соответствующие весовые коэффициенты.
После этого процедура выбора предусматривает случайный выбор узлов, где вероятность выбора конкретного узла зависит от его вероятностного коэффициента. Как правило, если вероятностный коэффициент одного сервера вдвое больше, чем у второго, вероятность выбора первого сервера вдвое больше вероятности выбора второго.
Перед указанным случайным выбором можно исключить определенную долю узлов с наименьшими значениями вероятностных коэффициентов, чтобы выбор производился из некоторой части вышеуказанного подмножества, содержащей узлы с наибольшими значениями вероятностных коэффициентов. Это особенно удобно, если число доступных узлов достаточно велико, что может привести к увеличению затрат времени на выполнение расчетов по алгоритму выбора.
Разумеется, процесс выбора может быть осуществлен другим способом. Например, можно сначала рассчитать вероятностный коэффициент для всех узлов, принадлежащих к подмножеству ответивших на запрос, а затем осуществить случайный выбор. После завершения этой процедуры можно провести проверку достаточности географического разнообразия и, если оно является недостаточным, повторить выбор, исключив из подмножества один из пары наиболее близко расположенных выбранных ранее узлов. Делать первоначальный выбор исходя из критерия географического разнообразия (например, выбрать по одному узлу в каждой из групп, делая последующий выбор, исходя из других критериев), особенно удобно в тех случаях, когда число доступных узлов хранения данных достаточно велико. В таких случаях по-прежнему целесообразно делать выбор, не выполняя расчеты для параметров всех доступных узлов.
После завершения выбора узлов хранения данных подлежащие сохранению данные и соответствующий идентификатор данных передаются на каждый из выбранных узлов, обычно с использованием одноадресной передачи.
Как вариант, эта операция может быть выполнена каждым из узлов хранения данных, успешно выполнивших операцию записи, с передачей подтверждения на сервер. После этого сервер рассылает всем задействованным узлам список с указанием узлов, которые успешно произвели запись данных, а также узлов, которые не выполнили эту операцию. Исходя из этой информации, узлы хранения данных могут самостоятельно обеспечивать надлежащее обслуживание данных с помощью описанного ниже процесса копирования. Например, если произошел сбой записи на один из узлов хранения данных, возникает необходимость копировать этот файл на еще один узел, чтобы достигнуть требуемого числа узлов, исполь- 4 026842 зуемых для хранения данного файла.
Способ записи данных сам по себе позволяет ИНН сервера 7 обеспечить высокую устойчивость сохраняемых данных к сбоям, поскольку способен обеспечить превосходное географическое разнообразие.
Номимо операций записи и считывания ИНН сервера 7 способен выполнять операции удаления и обновления файлов. Эти процессы описываются ниже в связи с процессом обслуживания данных.
Цель процесса ведения данных заключается в том, чтобы обеспечить хранение последней версии каждого файла на приемлемом количестве надлежащим образом функционирующих узлов хранения данных. Кроме того, этот процесс позволяет исключить хранение удаленных файлов на всех узлах хранения данных. Обслуживание данных обеспечивается самими узлами хранения данных. Таким образом, отсутствует потребность в специальном ведущем узле, отвечающем за обслуживание хранения данных. Это позволяет повысить надежность, поскольку такой ведущий узел был бы слабым местом системы.
На фиг. 6 схематически представлена ситуация сохранения нескольких файлов на нескольких узлах хранения данных. В иллюстрируемом случае для примера изображены двенадцать узлов с ΙΡ-адресами от 192.168.1.1 до 192.168.1.12. Разумеется, номера ΙΡ-адресов могут идти не подряд. Узлы расположены по кругу исключительно с целью упрощения описания, т.е. эти узлы не требуют какого-то определенного порядка. На каждом из узлов хранится один или два файла, обозначенных для простоты буквами А-Р.
Как показано на фиг. 8, способ обслуживания данных включает определение 51 в системе хранения данных условий, подразумевающих необходимость в копировании данных между различными узлами указанной системы, и процесс копирования 53.
Результатом процесса копирования 51 является список 55 файлов, для которых определена потребность в копировании. Этот список может также содержать данные от приоритетном характере различных потребностей в копировании. На основании этого списка выполняется процесс копирования 53.
Для обеспечения устойчивости распределенного хранения к сбоям необходимо, чтобы в системе хранилось приемлемое число копий каждого файла правильной версии. В иллюстрируемом случае в системе хранится по три копии каждого файла. Однако в случае, например, отказа узла с адресом 192.168.1.5 число сохраненных копий файлов В и С окажется меньше желаемого.
Таким образом, одним из событий, порождающих необходимость в копировании, является отказ узла хранения данных системы.
Каждый узел хранения данных системы может контролировать статус других узлов этой системы. Такой контроль может осуществляться путем подачи каждым узлом так называемого сигнала проверки работоспособности с постоянным интервалом, как показано на фиг. 7. В иллюстрируемом случае узел хранения данных с адресом 192.168.1.7 подает многоадресный сигнал 57 другим узлам системы, подтверждающий правильность функционирования данного узла. Этот сигнал может приниматься всеми остальными функционирующими узлами хранения данных в системе, которые осуществляют проверку работоспособности 59 (см. фиг. 8) или некоторым их подмножеством. Что касается узла, имеющего адрес 192.168.1.5, этот узел неисправен и не подает сигнала проверки работоспособности. Соответственно другие узлы хранения данных регистрируют отсутствие сигнала проверки работоспособности от данного узла в течение длительного времени, что указывает на неисправность соответствующего узла.
Сигнал проверки работоспособности может помимо адреса соответствующего узла содержать номер версии списка узлов, хранящегося на этом узле. Другой узел хранения данных, принявший такой сигнал проверки работоспособности и определивший, что передающий узел имеет более позднюю версию списка узлов, может направить этому передающему узлу запрос на передачу его списка узлов. Это означает, что добавление и удаление узлов хранения данных может осуществляться просто путем добавления или удаления узла и передачей новой версии списка узлов какому-то одному узлу. Затем этот список узлов распространяется среди всех остальных узлов хранения данных данной системы.
Как показано на фиг. 8, каждый узел хранения данных производит проверку 61 своего внутреннего каталога на наличие файлов, хранящихся на неисправном узле. Узлы хранения данных, на которых также хранятся файлы В и О, обнаруживают неисправность узла и соответственно могут добавить соответствующий файл в свои списки 55.
Нроцесс определения может также выявлять другие условия, означающие необходимость копирования файла. Обычно такие условия представляют собой несогласованность, т.е. наличие по крайней мере на одном из узлов устаревшей версии файла. Операция удаления также предполагает процесс копирования, поскольку этот процесс способен обеспечить подлинное физическое удаление файла. Нри этом используемая сервером операция удаления требует лишь обеспечить установку флажка удаления для соответствующего файла узлами хранения данных. Таким образом, каждый узел может контролировать операции считывания и записи, выполняемые в системе хранения данных. Информация, предоставляемая сервером 7 после завершения операции считывания или соответственно записи, может указывать на то, что один из узлов хранения данных содержит устаревшую версию файла (для операции считывания данных) или что какой-либо из узлов хранения данных не выполняет надлежащим образом операцию записи. В обоих случаях существует необходимость в обслуживании данных путем копирования таким образом, чтобы обеспечить выполнение общих задач процесса обслуживания.
Номимо базовых операций считывания и записи 63, 65 еще по крайней мере два процесса могут
- 5 026842 указывать на необходимость в копировании, а именно процессы удаления 67 и обновления 69, которые кратко описываются ниже.
Процесс удаления инициируется сервером 7 (см. фиг. 1). Как и в случае процесса считывания, сервер направляет многоадресный запрос всем узлам хранения данных с тем, чтобы определить, какие узлы содержат данные с конкретным идентификатором. Узлы хранения проверяют свое содержимое на наличие данных с нужным идентификатором и отвечают путем одноадресной передачи, если у них имеются нужные данные. Ответ может содержать полученный из каталога данного узла список других узлов, содержащих нужные данные. После этого сервер 7 направляет тем узлам хранения данных, которые должны хранить этот файл, одноадресный запрос с инструкцией удалить этот файл. Каждый узел устанавливает флажок, относящийся к указанному файлу и указывающий на необходимость его удаления. Затем файл добавляется в список копирования, а на сервер передается подтверждение. После этого процесс копирования обеспечивает физическое удаление указанного файла описанным ниже способом.
Процесс обновления использует функцию поиска, аналогичную функции процесса удаления, и функцию записи, аналогичную используемой процессом записи данных. Сервер направляет многоадресный запрос всем узлам хранения данных с тем, чтобы определить, какие узлы содержат данные с конкретным идентификатором. Узлы хранения проверяют свое содержимое на наличие данных с нужным идентификатором и отвечают путем одноадресной передачи, если у них имеются нужные данные. Ответ может содержать полученный из каталога данного узла список других узлов, содержащих нужные данные. После этого сервер 7 направляет соответствующим узлам хранения данных одноадресный запрос с инструкцией обновить соответствующие данные. Этот запрос, разумеется, содержит обновленные данные. Узлы, обновляющие данные, передают подтверждение серверу, который реагирует одноадресной передачей, содержащей список узлов, успешно обновивших соответствующие данные, и узлов, которые не выполнили эту операцию. Этот список также может использоваться в процессе обслуживания данных.
Как показано на фиг. 8, каждая из операций считывания 63, записи 65, удаления 67 и обновления 69 может указывать на необходимость в копировании. То же относится к проверке работоспособности 59. Таким образом, в целом процесс 51 определения генерирует данные относительно того, какие файлы необходимо копировать.
Например, операция считывания или обновления может выявить наличие на определенном узле хранения данных устаревшей версии того или иного файла. Процесс удаления может привести к установке флажка удаления для конкретного файла. Проверка работоспособности может выявить необходимость в копировании некоторого числа файлов, хранящихся на неисправном узле, на новый узел хранения данных.
Каждый из узлов хранения данных отслеживает необходимость в копировании для всех хранящихся на данном узле файлов и ведет список 55 копирования. Соответственно список 55 копирования содержит некоторое число файлов, подлежащих копированию. Эти файлы могут быть упорядочены в соответствии с приоритетностью каждой из операций копирования. Как правило, могут быть использованы три различных уровня приоритетности. Высший уровень предназначен для файлов, последняя сетевая копия которых хранится на соответствующем узле. Такие файлы необходимо быстро копировать на другие узлы хранения данных, чтобы обеспечить приемлемый уровень дублирования. Средний уровень приоритетности может относиться к файлам, версии которых на различных узлах не соответствуют друг другу. Низкий уровень приоритетности могут иметь файлы, хранящиеся на неисправном узле.
Узел хранения данных обрабатывает файлы, включенные в список 55 копирования, в соответствии с их уровнем приоритетности. Ниже приведено описание процесса копирования для узла хранения данных, который далее называется рабочим узлом, хотя все узлы хранения данных могут функционировать таким образом.
Фаза 53 копирования процесса обслуживания данных начинается с того, что рабочий узел предпринимает попытку 71 стать ведущим для файла, который нужно копировать. Рабочий узел направляет другим узлам, на которых по имеющейся информации хранится соответствующий файл, одноадресный запрос на получение статуса ведущего узла. В каталоге 19 (см. фиг. 1) хранится список ключевых узлов, содержащий информацию о том, какие узлы следует запрашивать. В случае, если один из запрашиваемых узлов не дал положительного ответа (например, в случае противоречивых запросов), файл временно возвращается в список и предпринимается аналогичная попытка для следующего файла из списка. В противном случае рабочий узел признается ведущим для данного файла и все остальные узлы хранения данных устанавливают флажок, указывающий на то, что рабочий узел является ведущим данного файла.
Следующий шаг заключается в нахождении 73 всех копий нужного файла в системе распределенного хранения данных. Это может быть сделано путем рассылки рабочим узлом всем узлам хранения данных многоадресного запроса с целью определить, какие из этих узлов содержат нужный файл. Узлы хранения данных, на которых имеется нужный файл, дают на полученный запрос ответ, содержащий номер версии файла, которых хранится на таком узле, а также списки ключевых узлов, т.е. список узлов, содержащих соответствующий файл, который хранится в каталоге каждого из узлов хранения данных. Затем рабочий узел объединяет 75 эти списки ключевых узлов с целью создания основного списка ключевых узлов, соответствующего объединению всех полученных списков ключевых узлов. Если будут
- 6 026842 обнаружены дополнительные узлы, которые не были опрошены во время попытки получения рабочим узлом статуса ведущего, этот шаг может быть повторен для таких дополнительных узлов. Основной список ключевых узлов содержит информацию о том, какие версии данного файла содержат разные узлы, и иллюстрирует статус данного файла во всей системе хранения данных.
Если рабочий узел хранения данных не содержит последней версии соответствующего файла, он получает 77 этот файл с одного из узлов, на которых хранится последняя версия файла.
После этого рабочий узел принимает решение 79 о том, требуется ли изменение списка ключевых узлов, обычно решение касается добавления дополнительных узлов хранения данных. Если ответ положительный, рабочий узел может использовать процесс, очень похожий на процесс записи, выполняемый сервером и описанный со ссылкой на фиг. 4А-4С и 5. Результатом этого процесса является запись нужного файла на новый узел хранения данных.
В случае несоответствия версий рабочий узел может обновить 81 копии файла, хранящиеся на других узлах, таким образом, чтобы на всех узлах хранились правильные версии файла.
Лишние копии хранящегося на узлах файла могут быть удалены 83. Если процесс копирования инициирован операцией удаления, возможен переход сразу к этому шагу. Затем, как только все узлы хранения данных примут удаление файла, рабочий узел просто направляет всем узлам с помощью одноадресной передачи команду физического удаления соответствующего файла. Узлы хранения данных подтверждают удаление этого файла.
Затем производится обновление статуса, т.е. основного списка ключевых узлов для данного файла. После этого могут быть повторены шаги 73-83 с тем, чтобы гарантировать отсутствие необходимости в копировании. Это повторение должно привести к получению согласованного основного списка ключевых узлов, который не требует обновления в ходе шага 85.
После этого процесс копирования для данного файла завершается, и рабочий узел может снять с себя 87 статус ведущего узла для данного файла, направив соответствующее сообщение всем остальным узлам, входящим в список ключевых узлов.
Такая система, у которой каждый узел хранения данных отвечает за обслуживание всех хранящихся на нем файлов для всей группы узлов, является исключительно надежной и обеспечивает самовосстановление (в случае отказа какого-либо узла) и самоочистку (в случае несоответствий или необходимости в удалении файлов). Она легко масштабируется и позволяет одновременно хранить файлы для множества различных приложений.
Настоящее изобретение не ограничивается описанными конкретными примерами и допускает внесение различных изменений без отступления от прилагаемой формулы изобретения.
Claims (11)
- ФОРМУЛА ИЗОБРЕТЕНИЯ1. Способ записи данных в системе хранения данных, содержащей узлы хранения данных, где указанный способ используется сервером, использующим приложение, которое обращается к данным в системе хранения данных, в котором передают (41) с помощью упомянутого сервера многоадресный запрос на сохранение нескольким из указанных узлов хранения данных по сети;получают (43) с помощью упомянутого сервера ответы от подмножества указанных узлов, где указанные ответы содержат информацию о каждом из узлов хранения данных, по сети;выбирают (45) с помощью упомянутого сервера из этого подмножества по меньшей мере два узла хранения данных исходя из полученных ответов, при этом в процессе выбора:вычисляют с помощью упомянутого сервера для каждого узла хранения данных, принадлежащего к указанному подмножеству, вероятностный коэффициент исходя из информации об узле хранения данных, полученной по сети и относящейся к соответствующему узлу;выбирают с помощью упомянутого сервера указанные по меньшей мере два узла, при этом вероятность выбора узла зависит от его вероятностного коэффициента;передают (47) с помощью упомянутого сервера данные и соответствующий им идентификатор данных в выбранные узлы хранения данных по сети.
- 2. Способ по п.1, где информация об узлах хранения данных содержит данные о географическом положении каждого из узлов.
- 3. Способ по п.2, где данные о географическом положении содержат широту и долготу соответствующего узла хранения данных.
- 4. Способ по п.2 или 3, где узлы хранения данных выбирают из подмножества, удовлетворяющего критерию, основанному на географическом разделении, так, что узлы, не имеющие необходимого уровня географического разделения, исключаются из процесса выбора.
- 5. Способ по п.1, где информация об узле хранения данных содержит сведения о сроке службы соответствующего узла.
- 6. Способ по любому из предыдущих пунктов, где информация об узле хранения данных включает сведения о системной нагрузке для соответствующего узла.- 7 026842
- 7. Способ по любому из предыдущих пунктов, где многоадресный запрос на сохранение данных содержит идентификатор данных, позволяющий идентифицировать данные, подлежащие сохранению.
- 8. Способ по любому из предыдущих пунктов, где выбирают не менее трех узлов.
- 9. Способ по любому из предыдущих пунктов, где перечень узлов, успешно использованных для сохранения данных, направляют выбранным узлам хранения данных.
- 10. Способ по любому из предыдущих пунктов, где узлы хранения данных выбирают из части указанного подмножества, содержащей узлы с наибольшими значениями вероятностных коэффициентов.
- 11. Сервер, адаптированный для записи данных в системе хранения данных, содержащей узлы хранения данных, содержащий средства передачи многоадресного запроса на сохранение данных указанным узлам хранения данных по сети;средства получения ответов от подмножества указанных узлов, где указанные ответы содержат информацию о каждом из узлов хранения данных, по сети;средства выбора из этого подмножества по меньшей мере двух узлов хранения данных исходя из полученных ответов, где процедура выбора предусматривает вычисление упомянутым сервером для каждого узла хранения данных, принадлежащего к указанному подмножеству, вероятностного коэффициента исходя из информации об узле хранения данных, полученной по сети и относящейся к соответствующему узлу;выбор упомянутым сервером указанных по меньшей мере двух узлов, где вероятность выбора узла зависит от его вероятностного коэффициента;средства передачи данных и соответствующего им идентификатора данных в выбранные узлы хранения данных по сети.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10160910.5A EP2387200B1 (en) | 2010-04-23 | 2010-04-23 | Distributed data storage |
PCT/EP2011/056317 WO2011131717A1 (en) | 2010-04-23 | 2011-04-20 | Distributed data storage |
Publications (2)
Publication Number | Publication Date |
---|---|
EA201291023A1 EA201291023A1 (ru) | 2013-05-30 |
EA026842B1 true EA026842B1 (ru) | 2017-05-31 |
Family
ID=42342003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EA201291023A EA026842B1 (ru) | 2010-04-23 | 2011-04-20 | Способ и сервер для записи данных в системе хранения данных |
Country Status (13)
Country | Link |
---|---|
US (3) | US8850019B2 (ru) |
EP (2) | EP2712149B1 (ru) |
JP (1) | JP5612195B2 (ru) |
KR (1) | KR101905198B1 (ru) |
CN (1) | CN102939740B (ru) |
AU (1) | AU2011244345B2 (ru) |
BR (1) | BR112012027012A2 (ru) |
CA (1) | CA2797053C (ru) |
EA (1) | EA026842B1 (ru) |
IL (1) | IL222630A (ru) |
MX (1) | MX2012012198A (ru) |
WO (1) | WO2011131717A1 (ru) |
ZA (1) | ZA201208755B (ru) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE533007C2 (sv) | 2008-10-24 | 2010-06-08 | Ilt Productions Ab | Distribuerad datalagring |
EP2712149B1 (en) | 2010-04-23 | 2019-10-30 | Compuverde AB | Distributed data storage |
US9137331B2 (en) * | 2011-07-15 | 2015-09-15 | Metalogix International Gmbh | Adaptive replication |
US9338019B2 (en) * | 2013-01-23 | 2016-05-10 | Nexenta Systems, Inc. | Scalable transport method for multicast replication |
US8650365B2 (en) | 2011-09-02 | 2014-02-11 | Compuverde Ab | Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes |
US8997124B2 (en) | 2011-09-02 | 2015-03-31 | Compuverde Ab | Method for updating data in a distributed data storage system |
US8769138B2 (en) | 2011-09-02 | 2014-07-01 | Compuverde Ab | Method for data retrieval from a distributed data storage system |
US9626378B2 (en) | 2011-09-02 | 2017-04-18 | Compuverde Ab | Method for handling requests in a storage system and a storage node for a storage system |
US8645978B2 (en) | 2011-09-02 | 2014-02-04 | Compuverde Ab | Method for data maintenance |
US9021053B2 (en) | 2011-09-02 | 2015-04-28 | Compuverde Ab | Method and device for writing data to a data storage system comprising a plurality of data storage nodes |
CN103019614B (zh) | 2011-09-23 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 分布式存储系统管理装置及方法 |
US10558592B2 (en) | 2011-11-28 | 2020-02-11 | Pure Storage, Inc. | Priority level adaptation in a dispersed storage network |
US11474958B1 (en) | 2011-11-28 | 2022-10-18 | Pure Storage, Inc. | Generating and queuing system messages with priorities in a storage network |
US10469578B2 (en) * | 2011-11-28 | 2019-11-05 | Pure Storage, Inc. | Prioritization of messages of a dispersed storage network |
CN102546782B (zh) * | 2011-12-28 | 2015-04-29 | 北京奇虎科技有限公司 | 一种分布式系统及其数据操作方法 |
CN102646127A (zh) * | 2012-02-29 | 2012-08-22 | 浪潮(北京)电子信息产业有限公司 | 分布式文件系统副本选择方法和装置 |
CN102638567B (zh) * | 2012-03-02 | 2015-05-20 | 深圳市朗科科技股份有限公司 | 多应用云存储平台和云存储终端 |
US20180336097A1 (en) * | 2012-06-25 | 2018-11-22 | International Business Machines Corporation | Namespace affinity and failover for processing units in a dispersed storage network |
CN103514212B (zh) * | 2012-06-27 | 2016-04-27 | 腾讯科技(深圳)有限公司 | 数据写入方法及系统 |
US10547693B2 (en) * | 2012-09-07 | 2020-01-28 | Avigilon Corporation | Security device capability discovery and device selection |
CN103064635B (zh) * | 2012-12-19 | 2016-08-24 | 华为技术有限公司 | 分布式存储方法和分布式存储装置 |
CN103902568B (zh) * | 2012-12-27 | 2017-05-31 | 中国银联股份有限公司 | 一种基于数据划分的多节点数据库同步方法和多节点数据库系统 |
US9479587B2 (en) | 2013-01-23 | 2016-10-25 | Nexenta Systems, Inc. | Scalable object storage using multicast transport |
CN103207897B (zh) * | 2013-03-15 | 2016-08-17 | 北京京东世纪贸易有限公司 | 一种分布式存储查询系统及其运行方法和运行装置 |
CN104636327A (zh) * | 2013-11-06 | 2015-05-20 | 上海语镜汽车信息技术有限公司 | 一种基于增量计算的分布式流式数据系统 |
US20150169609A1 (en) * | 2013-12-06 | 2015-06-18 | Zaius, Inc. | System and method for load balancing in a data storage system |
US10185730B2 (en) * | 2014-12-31 | 2019-01-22 | Nexenta Systems, Inc. | Methods and systems for key-value-tuple-encoded storage |
US10523241B2 (en) * | 2015-05-29 | 2019-12-31 | Pure Storage, Inc. | Object fan out write operation |
US10601683B1 (en) * | 2016-12-19 | 2020-03-24 | Amazon Technologies, Inc. | Availability of a distributed application using diversity scores |
US10209901B2 (en) * | 2017-01-04 | 2019-02-19 | Walmart Apollo, Llc | Systems and methods for distributive data storage |
JP6990055B2 (ja) | 2017-07-12 | 2022-01-12 | 株式会社日立製作所 | 分散コンピューティングシステムにおけるデータをリカバリする方法およびシステム |
CN108429813B (zh) * | 2018-03-22 | 2021-04-06 | 深圳市网心科技有限公司 | 云存储服务的容灾方法、系统及终端 |
RU2697961C1 (ru) * | 2018-03-30 | 2019-08-21 | Акционерное общество "Лаборатория Касперского" | Система и способ оценки деградации устройства хранения данных и обеспечения сохранности наиболее важных данных |
CN108681485A (zh) * | 2018-04-27 | 2018-10-19 | 佛山市日日圣科技有限公司 | 一种接收信息的处理方法及处理装置 |
CN110162270B (zh) * | 2019-04-29 | 2020-08-25 | 平安国际智慧城市科技股份有限公司 | 基于分布式存储系统的数据存储方法、存储节点及介质 |
CN110515916B (zh) * | 2019-07-26 | 2022-12-23 | 济南浪潮数据技术有限公司 | 一种主从分布式文件处理方法、主节点、从节点及系统 |
CN110865987A (zh) * | 2019-11-18 | 2020-03-06 | 杭州安恒信息技术股份有限公司 | 一种文件同步方法、装置、设备及介质 |
US20210294702A1 (en) * | 2021-06-04 | 2021-09-23 | Intel Corporation | High-availability memory replication in one or more network devices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030172089A1 (en) * | 2002-03-07 | 2003-09-11 | Douceur John R. | File availability in distributed file storage systems |
US20070088703A1 (en) * | 2005-10-17 | 2007-04-19 | Microsoft Corporation | Peer-to-peer auction based data distribution |
EP1798934A1 (en) * | 2005-12-13 | 2007-06-20 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for organizing nodes in a network |
US20080077635A1 (en) * | 2006-09-22 | 2008-03-27 | Digital Bazaar, Inc. | Highly Available Clustered Storage Network |
Family Cites Families (215)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3707707A (en) | 1970-11-12 | 1972-12-26 | Cipher Data Prod | Digital cassette magnetic tape recorder and reproducer |
JP3139884B2 (ja) | 1993-06-14 | 2001-03-05 | 株式会社東芝 | 多重要素処理システム |
US5713017A (en) | 1995-06-07 | 1998-01-27 | International Business Machines Corporation | Dual counter consistency control for fault tolerant network file servers |
JPH103421A (ja) | 1995-11-20 | 1998-01-06 | Matsushita Electric Ind Co Ltd | 仮想ファイル管理システム |
US5787247A (en) | 1996-07-12 | 1998-07-28 | Microsoft Corporation | Replica administration without data loss in a store and forward replication enterprise |
US5924094A (en) | 1996-11-01 | 1999-07-13 | Current Network Technologies Corporation | Independent distributed database system |
US6021118A (en) | 1997-02-10 | 2000-02-01 | Lucent Techologies Inc. | Synchronization methods for distributed processing systems having replicated data |
US6003065A (en) | 1997-04-24 | 1999-12-14 | Sun Microsystems, Inc. | Method and system for distributed processing of applications on host and peripheral devices |
US6259701B1 (en) | 1997-09-11 | 2001-07-10 | At&T Corp. | Method and system for a unicast endpoint client to access a multicast internet protocol (IP) session |
US6055543A (en) | 1997-11-21 | 2000-04-25 | Verano | File wrapper containing cataloging information for content searching across multiple platforms |
EP1049988B1 (en) | 1998-01-23 | 2002-09-04 | Emc Corporation | Content addressable information encapsulation, representation, and transfer |
JPH11249874A (ja) | 1998-02-27 | 1999-09-17 | Toshiba Corp | コンピュータシステム、同システムにおける同期処理方法および記録媒体 |
US6510162B1 (en) | 1998-05-27 | 2003-01-21 | 3Com Corporation | System and method for managing channel usage in a data over cable system |
JP4146983B2 (ja) | 1999-02-26 | 2008-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | サーバ・オブジェクトのメソッドを呼び出すプロセス方法及びデータ処理システム |
WO2000052889A1 (en) | 1999-03-05 | 2000-09-08 | Allayer Technologies Corporation | Packet switching fabric having a segmented ring with token based resource control protocol and output queuing control |
US7774469B2 (en) | 1999-03-26 | 2010-08-10 | Massa Michael T | Consistent cluster operational data in a server cluster using a quorum of replicas |
US6389432B1 (en) | 1999-04-05 | 2002-05-14 | Auspex Systems, Inc. | Intelligent virtual volume access |
JP2000322292A (ja) * | 1999-05-10 | 2000-11-24 | Nec Corp | クラスタ型データサーバシステム及びデータ格納方法 |
US6952741B1 (en) | 1999-06-30 | 2005-10-04 | Computer Sciences Corporation | System and method for synchronizing copies of data in a computer system |
US7634453B1 (en) | 1999-08-13 | 2009-12-15 | Storage Technology Corporation | Distributed file data location |
US6976165B1 (en) | 1999-09-07 | 2005-12-13 | Emc Corporation | System and method for secure storage, transfer and retrieval of content addressable information |
US7934251B2 (en) | 1999-12-02 | 2011-04-26 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US6499090B1 (en) | 1999-12-28 | 2002-12-24 | Intel Corporation | Prioritized bus request scheduling mechanism for processing devices |
US6546388B1 (en) | 2000-01-14 | 2003-04-08 | International Business Machines Corporation | Metadata search results ranking system |
US6542972B2 (en) | 2000-01-31 | 2003-04-01 | Commvault Systems, Inc. | Logical view and access to physical storage in modular data and storage management system |
US6928467B2 (en) | 2000-02-02 | 2005-08-09 | Inno Path Software, Inc. | Apparatus and methods for providing data synchronization by facilitating data synchronization system design |
US7506034B2 (en) | 2000-03-03 | 2009-03-17 | Intel Corporation | Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user |
US6952737B1 (en) | 2000-03-03 | 2005-10-04 | Intel Corporation | Method and apparatus for accessing remote storage in a distributed storage cluster architecture |
US6470420B1 (en) | 2000-03-31 | 2002-10-22 | Western Digital Ventures, Inc. | Method for designating one of a plurality of addressable storage devices to process a data transfer request |
US7039694B2 (en) | 2000-05-02 | 2006-05-02 | Sun Microsystems, Inc. | Cluster membership monitor |
US6826564B2 (en) | 2000-07-10 | 2004-11-30 | Fastforward Networks | Scalable and programmable query distribution and collection in a network of queryable devices |
US6732237B1 (en) | 2000-08-29 | 2004-05-04 | Oracle International Corporation | Multi-tier caching system |
US7406484B1 (en) | 2000-09-12 | 2008-07-29 | Tbrix, Inc. | Storage allocation in a distributed segmented file system |
US20040236798A1 (en) | 2001-09-11 | 2004-11-25 | Sudhir Srinivasan | Migration of control in a distributed segmented file system |
US6782389B1 (en) | 2000-09-12 | 2004-08-24 | Ibrix, Inc. | Distributing files across multiple, permissibly heterogeneous, storage devices |
ATE381191T1 (de) | 2000-10-26 | 2007-12-15 | Prismedia Networks Inc | Verfahren und system zur verwaltung von verteilten inhalten und entsprechenden metadaten |
US6970939B2 (en) | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
SE520129C2 (sv) | 2000-10-27 | 2003-05-27 | Terraplay Systems Ab | Kommunikationsinfrastrukturanordning i och en datorläsbar programprodukt för ett databearbetningssystem för fleranvändarapplikationer |
US6985956B2 (en) | 2000-11-02 | 2006-01-10 | Sun Microsystems, Inc. | Switching system |
AU2002232411A1 (en) | 2000-11-28 | 2002-06-11 | Gregory L. Gingerich | A method and system for software and hardware multiplicity |
US7165096B2 (en) | 2000-12-22 | 2007-01-16 | Data Plow, Inc. | Storage area network file system |
WO2002052097A1 (de) | 2000-12-27 | 2002-07-04 | BSH Bosch und Siemens Hausgeräte GmbH | Verfahren und vorrichtung zum glätten von kleidungsstücken |
US7266556B1 (en) * | 2000-12-29 | 2007-09-04 | Intel Corporation | Failover architecture for a distributed storage system |
US6768871B2 (en) | 2001-01-30 | 2004-07-27 | The Regents Of The University Of California | Optical layer multicasting using a multicast switch to effect survivability and security |
US6865603B2 (en) | 2001-01-31 | 2005-03-08 | Hewlett-Packard Development Company, L.P. | Correcting for network address changes |
WO2002065329A1 (en) | 2001-02-14 | 2002-08-22 | The Escher Group, Ltd. | Peer-to peer enterprise storage |
US20020156912A1 (en) | 2001-02-15 | 2002-10-24 | Hurst John T. | Programming content distribution |
US7062490B2 (en) | 2001-03-26 | 2006-06-13 | Microsoft Corporation | Serverless distributed file system |
US6839815B2 (en) | 2001-05-07 | 2005-01-04 | Hitachi, Ltd. | System and method for storage on demand service in a global SAN environment |
US6918013B2 (en) | 2001-07-16 | 2005-07-12 | Bea Systems, Inc. | System and method for flushing bean cache |
US7039622B2 (en) | 2001-09-12 | 2006-05-02 | Sas Institute Inc. | Computer-implemented knowledge repository interface system and method |
US7054867B2 (en) | 2001-09-18 | 2006-05-30 | Skyris Networks, Inc. | Systems, methods and programming for routing and indexing globally addressable objects and associated business models |
GB2381427A (en) | 2001-10-27 | 2003-04-30 | Hewlett Packard Co | Spanning tree in peer to peer networks |
US7975016B2 (en) | 2001-10-29 | 2011-07-05 | Oracle America, Inc. | Method to manage high availability equipments |
US7054910B1 (en) | 2001-12-20 | 2006-05-30 | Emc Corporation | Data replication facility for distributed computing environments |
US6917941B2 (en) | 2001-12-28 | 2005-07-12 | Channel Intelligence, Inc. | Method and apparatus for creation and maintenance of database structure |
JP4202026B2 (ja) | 2002-01-31 | 2008-12-24 | 株式会社アンソナ | ストレージシステムおよびストレージ装置 |
US7243103B2 (en) | 2002-02-14 | 2007-07-10 | The Escher Group, Ltd. | Peer to peer enterprise storage system with lexical recovery sub-system |
JP4198920B2 (ja) | 2002-02-26 | 2008-12-17 | エイディシーテクノロジー株式会社 | バックアップシステム、バックアップ用プログラムおよびバックアップ方法 |
JP2003271316A (ja) | 2002-03-14 | 2003-09-26 | Hitachi Ltd | ストレージシステム、その動作プログラム及びその運用方法、情報処理端末及びその動作プログラム、データ管理システム |
US7257645B2 (en) | 2002-05-01 | 2007-08-14 | Bea Systems, Inc. | System and method for storing large messages |
US7305585B2 (en) | 2002-05-23 | 2007-12-04 | Exludus Technologies Inc. | Asynchronous and autonomous data replication |
US7574488B2 (en) | 2002-05-31 | 2009-08-11 | Hitachi, Ltd. | Method and apparatus for peer-to-peer file sharing |
US6732171B2 (en) | 2002-05-31 | 2004-05-04 | Lefthand Networks, Inc. | Distributed network storage system with virtualization |
US20030233455A1 (en) | 2002-06-14 | 2003-12-18 | Mike Leber | Distributed file sharing system |
US7631313B2 (en) | 2002-06-17 | 2009-12-08 | David Mayhew | System and method for transferring data |
US8060598B1 (en) | 2002-07-01 | 2011-11-15 | Sprint Communications Company L.P. | Computer network multicasting traffic monitoring and compensation |
JP4240930B2 (ja) | 2002-07-15 | 2009-03-18 | 株式会社日立製作所 | 複数ネットワークストレージの仮送想一元化方法及び装置 |
DE10237875A1 (de) | 2002-08-19 | 2004-03-04 | Siemens Ag | Vorrichtung, insbesondere Automatisierungsgerät, mit in Datei gespeicherter Dateiverzeichnisstruktur |
WO2004025470A1 (en) | 2002-09-10 | 2004-03-25 | Exagrid Systems, Inc. | Primary and remote data backup with nodal failover |
US7206836B2 (en) | 2002-09-23 | 2007-04-17 | Sun Microsystems, Inc. | System and method for reforming a distributed data system cluster after temporary node failures or restarts |
US7146499B2 (en) | 2002-09-30 | 2006-12-05 | International Business Machines Corporation | Security system for replicated storage devices on computer networks |
US7774325B2 (en) | 2002-10-17 | 2010-08-10 | Intel Corporation | Distributed network attached storage system |
US20060031439A1 (en) | 2002-10-29 | 2006-02-09 | Saffre Fabrice T | Method and apparatus for network management |
US7945669B2 (en) * | 2002-10-30 | 2011-05-17 | Emc Corporation | Method and apparatus for provisioning storage resources |
US7328243B2 (en) | 2002-10-31 | 2008-02-05 | Sun Microsystems, Inc. | Collaborative content coherence using mobile agents in peer-to-peer networks |
US7565419B1 (en) | 2002-11-22 | 2009-07-21 | Symantec Operating Corporation | Conflict resolution in a peer to peer network |
US20040139167A1 (en) | 2002-12-06 | 2004-07-15 | Andiamo Systems Inc., A Delaware Corporation | Apparatus and method for a scalable network attach storage system |
US7624158B2 (en) | 2003-01-14 | 2009-11-24 | Eycast Inc. | Method and apparatus for transmission and storage of digital medical data |
US7320009B1 (en) | 2003-03-28 | 2008-01-15 | Novell, Inc. | Methods and systems for file replication utilizing differences between versions of files |
US7328256B2 (en) | 2003-06-02 | 2008-02-05 | Apple Inc. | Method and apparatus for distributing computer files across a network to multiple clients |
US20040260775A1 (en) | 2003-06-20 | 2004-12-23 | Xerox Corporation | System and method for sending messages |
US7694086B1 (en) | 2003-06-30 | 2010-04-06 | Symantec Operating Corporation | Method and system for incremental backup of data volumes |
US7523217B2 (en) | 2003-07-15 | 2009-04-21 | Hewlett-Packard Development Company, L.P. | System and method having improved efficiency and reliability for distributing a file among a plurality of recipients |
ATE487987T1 (de) * | 2003-07-16 | 2010-11-15 | Joltid Ltd | Verteiltes datenbanksystem |
US20050015461A1 (en) | 2003-07-17 | 2005-01-20 | Bruno Richard | Distributed file system |
JP2005044003A (ja) | 2003-07-23 | 2005-02-17 | Fujitsu Ltd | 認証装置、方法、及びプログラム |
US6983429B2 (en) | 2003-09-30 | 2006-01-03 | Bull Hn Information Systems Inc. | Formal proof methods for analyzing circuit loading problems under operating conditions |
US7340510B1 (en) | 2003-11-18 | 2008-03-04 | Cisco Technology, Inc. | Content delivery network (CDN) replication status reporter |
US7039661B1 (en) | 2003-12-29 | 2006-05-02 | Veritas Operating Corporation | Coordinated dirty block tracking |
US7822711B1 (en) | 2003-12-31 | 2010-10-26 | Symantec Operating Corporation | Conflict resolution for a distributed file sharing system |
US7383463B2 (en) | 2004-02-04 | 2008-06-03 | Emc Corporation | Internet protocol based disaster recovery of a server |
US7385978B1 (en) | 2004-02-19 | 2008-06-10 | Cisco Technology, Inc. | Method and apparatus for reliable multicast distribution |
US9160571B2 (en) | 2004-03-11 | 2015-10-13 | Hewlett-Packard Development Company, L.P. | Requesting a service from a multicast network |
JP4448719B2 (ja) | 2004-03-19 | 2010-04-14 | 株式会社日立製作所 | ストレージシステム |
US7503052B2 (en) | 2004-04-14 | 2009-03-10 | Microsoft Corporation | Asynchronous database API |
US20060023969A1 (en) | 2004-04-30 | 2006-02-02 | Lara Eyal D | Collaboration and multimedia authoring |
CA2566984A1 (en) * | 2004-05-18 | 2005-12-01 | British Telecommunications Public Limited Company | Peer-to-peer networks |
US7490089B1 (en) | 2004-06-01 | 2009-02-10 | Sanbolic, Inc. | Methods and apparatus facilitating access to shared storage among multiple computers |
US7634566B2 (en) | 2004-06-03 | 2009-12-15 | Cisco Technology, Inc. | Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality |
US7873650B1 (en) | 2004-06-11 | 2011-01-18 | Seisint, Inc. | System and method for distributing data in a parallel processing system |
US20050278552A1 (en) | 2004-06-14 | 2005-12-15 | Vincent Delisle | Secure virtual account |
US20060031230A1 (en) | 2004-07-21 | 2006-02-09 | Kumar Sinha M | Data storage systems |
US20060047776A1 (en) | 2004-08-31 | 2006-03-02 | Chieng Stephen S | Automated failover in a cluster of geographically dispersed server nodes using data replication over a long distance communication link |
US20060080574A1 (en) * | 2004-10-08 | 2006-04-13 | Yasushi Saito | Redundant data storage reconfiguration |
JP4222295B2 (ja) | 2004-11-19 | 2009-02-12 | パナソニック株式会社 | ビデオサーバおよびこれを用いた映像配信システム |
US7631023B1 (en) | 2004-11-24 | 2009-12-08 | Symantec Operating Corporation | Performance-adjusted data allocation in a multi-device file system |
JP4451293B2 (ja) | 2004-12-10 | 2010-04-14 | 株式会社日立製作所 | 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法 |
US7320088B1 (en) | 2004-12-28 | 2008-01-15 | Veritas Operating Corporation | System and method to automate replication in a clustered environment |
JP4843976B2 (ja) | 2005-03-25 | 2011-12-21 | 日本電気株式会社 | レプリケーションシステムと方法 |
US7454426B2 (en) | 2005-04-12 | 2008-11-18 | International Business Machines Corporation | Referential integrity across a distributed directory |
US7631016B2 (en) | 2005-05-04 | 2009-12-08 | Oracle International Corporation | Providing the latest version of a data item from an N-replica set |
WO2006124911A2 (en) | 2005-05-18 | 2006-11-23 | Ibrix, Inc. | Balanced computer architecture |
CN101305350A (zh) | 2005-06-09 | 2008-11-12 | 惠而浦公司 | 与家用电器内的至少一个部件通信以及对其进行管理的软件体系系统和方法 |
US7523146B2 (en) | 2005-06-21 | 2009-04-21 | Apple Inc. | Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment |
US8401997B1 (en) | 2005-06-30 | 2013-03-19 | Symantec Operating Corporation | System and method for replication using consistency interval markers in a distributed storage environment |
US7631045B2 (en) | 2005-07-14 | 2009-12-08 | Yahoo! Inc. | Content router asynchronous exchange |
WO2007014296A2 (en) | 2005-07-25 | 2007-02-01 | Parascale, Inc. | Scalable distributed file storage access and management |
US9305011B2 (en) | 2005-07-27 | 2016-04-05 | Hitachi Data Systems Corporation | Method for improving mean time to data loss (MTDL) in a fixed content distributed data storage |
US20070028291A1 (en) | 2005-07-29 | 2007-02-01 | Bit 9, Inc. | Parametric content control in a network security system |
US7568069B2 (en) | 2005-07-29 | 2009-07-28 | Lsi Corporation | Method for creating a large-scale storage array system out of multiple mid-range storage arrays |
JP4747733B2 (ja) | 2005-08-22 | 2011-08-17 | ブラザー工業株式会社 | ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム |
US20070055703A1 (en) | 2005-09-07 | 2007-03-08 | Eyal Zimran | Namespace server using referral protocols |
US9996413B2 (en) | 2007-10-09 | 2018-06-12 | International Business Machines Corporation | Ensuring data integrity on a dispersed storage grid |
US7788303B2 (en) | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
US20090043922A1 (en) | 2005-11-04 | 2009-02-12 | David Aaron Crowther | Method and Apparatus for Managing Media Storage Devices |
WO2007123577A1 (en) | 2005-11-23 | 2007-11-01 | Envisionit Llc | Message broadcasting admission control system and method |
US7778972B1 (en) | 2005-12-29 | 2010-08-17 | Amazon Technologies, Inc. | Dynamic object replication within a distributed storage system |
US7716180B2 (en) | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
US7546484B2 (en) | 2006-02-08 | 2009-06-09 | Microsoft Corporation | Managing backup solutions with light-weight storage nodes |
US7623474B2 (en) | 2006-02-14 | 2009-11-24 | Cisco Technology, Inc. | Techniques for distributing information using multicast subsets |
US8185576B2 (en) | 2006-03-14 | 2012-05-22 | Altnet, Inc. | Filter for a distributed network |
US7480817B2 (en) * | 2006-03-31 | 2009-01-20 | International Business Machines Corporation | Method for replicating data based on probability of concurrent failure |
US7778183B2 (en) * | 2006-03-31 | 2010-08-17 | International Business Machines Corporation | Data replica selector |
US20070288638A1 (en) * | 2006-04-03 | 2007-12-13 | British Columbia, University Of | Methods and distributed systems for data location and delivery |
US7979771B2 (en) | 2006-04-04 | 2011-07-12 | Permabit Technology Corporation | Erasure coding technique for scalable and fault tolerant storage system |
US20080126357A1 (en) * | 2006-05-04 | 2008-05-29 | Wambo, Inc. | Distributed file storage and transmission system |
WO2007134918A1 (en) | 2006-05-23 | 2007-11-29 | Noryan Holding Corporation | Distributed storage |
US8255420B2 (en) | 2006-05-23 | 2012-08-28 | Noryan Holding Corporation | Distributed storage |
US8117155B2 (en) | 2006-06-30 | 2012-02-14 | Microsoft Corporation | Collection-based object replication |
US7546486B2 (en) | 2006-08-28 | 2009-06-09 | Bycast Inc. | Scalable distributed object management in a distributed fixed content storage system |
US7840992B1 (en) | 2006-09-28 | 2010-11-23 | Emc Corporation | System and method for environmentally aware data protection |
US7680048B2 (en) | 2006-10-06 | 2010-03-16 | International Business Machiens Corporation | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamically adjusting local routing strategies |
US8176265B2 (en) | 2006-10-30 | 2012-05-08 | Nvidia Corporation | Shared single-access memory with management of multiple parallel requests |
US8094585B2 (en) | 2006-10-31 | 2012-01-10 | International Business Machines Corporation | Membership management of network nodes |
US8555335B2 (en) | 2006-11-01 | 2013-10-08 | Microsoft Corporation | Securing distributed application information delivery |
US8190561B1 (en) | 2006-12-06 | 2012-05-29 | At&T Mobility Ii Llc | LDAP replication priority queuing mechanism |
US7590672B2 (en) | 2006-12-11 | 2009-09-15 | Bycast Inc. | Identification of fixed content objects in a distributed fixed content storage system |
GB2445986A (en) | 2007-01-17 | 2008-07-30 | Connect Spot Ltd | Database Update Systems for Wireless communications Systems |
WO2008102195A1 (en) | 2007-02-22 | 2008-08-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Consistent and fault tolerant distributed hash table (dht) overlay network |
US8635691B2 (en) | 2007-03-02 | 2014-01-21 | 403 Labs, Llc | Sensitive data scanner |
US7584294B2 (en) | 2007-03-12 | 2009-09-01 | Citrix Systems, Inc. | Systems and methods for prefetching objects for caching using QOS |
JP2008234445A (ja) | 2007-03-22 | 2008-10-02 | Brother Ind Ltd | コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム |
US8150800B2 (en) | 2007-03-28 | 2012-04-03 | Netapp, Inc. | Advanced clock synchronization technique |
JP2008250773A (ja) | 2007-03-30 | 2008-10-16 | Brother Ind Ltd | 情報配信システム、管理装置用プログラム及び情報処理装置用プログラム |
JP4696089B2 (ja) | 2007-03-30 | 2011-06-08 | 三菱電機インフォメーションシステムズ株式会社 | 分散ストレージシステム |
TWI483584B (zh) | 2007-06-04 | 2015-05-01 | Graco Minnesota Inc | 分配式監視及控制流體處理系統 |
US7676704B2 (en) | 2007-06-29 | 2010-03-09 | Symantec Corporation | Resource management for scalable file system recovery |
US8315999B2 (en) | 2007-08-29 | 2012-11-20 | Nirvanix, Inc. | Policy-based file management for a storage delivery network |
WO2009031915A1 (fr) | 2007-09-03 | 2009-03-12 | Obschestvo S Ogranichennoi Otvetstvennostiyu 'meralabs' | Système et procédés de stockage, de recherche et d'extraction des informations sur la base d'ensembles de données faiblement organisés et décentralisés |
US8533256B2 (en) | 2007-10-09 | 2013-09-10 | Cleversafe, Inc. | Object interface to a dispersed data storage network |
US8185614B2 (en) | 2007-10-09 | 2012-05-22 | Cleversafe, Inc. | Systems, methods, and apparatus for identifying accessible dispersed digital storage vaults utilizing a centralized registry |
US7913030B2 (en) | 2007-12-28 | 2011-03-22 | Sandisk Il Ltd. | Storage device with transaction logging capability |
US7979662B2 (en) | 2007-12-28 | 2011-07-12 | Sandisk Il Ltd. | Storage device with transaction indexing capability |
US7899850B2 (en) | 2008-02-22 | 2011-03-01 | Bycast, Inc. | Relational objects for the optimized management of fixed-content storage systems |
US20090228669A1 (en) | 2008-03-10 | 2009-09-10 | Microsoft Corporation | Storage Device Optimization Using File Characteristics |
WO2009120301A2 (en) | 2008-03-25 | 2009-10-01 | Square Products Corporation | System and method for simultaneous media presentation |
US8577957B2 (en) | 2008-04-01 | 2013-11-05 | Litl Llc | System and method for streamlining user interaction with electronic content |
JP2009259007A (ja) * | 2008-04-17 | 2009-11-05 | Nippon Telegr & Teleph Corp <Ntt> | 分散格納方法、分散格納システム及び分散格納装置 |
TWI476610B (zh) | 2008-04-29 | 2015-03-11 | Maxiscale Inc | 同級間冗餘檔案伺服器系統及方法 |
US8255430B2 (en) | 2008-08-26 | 2012-08-28 | Caringo, Inc. | Shared namespace for storage clusters |
US8458128B2 (en) | 2008-08-26 | 2013-06-04 | Microsoft Corporation | Minimal extensions required for multi-master offline and collaboration for devices and web services |
US9390102B2 (en) | 2008-09-29 | 2016-07-12 | Oracle International Corporation | Client application program interface for network-attached storage system |
WO2010037794A2 (en) * | 2008-10-03 | 2010-04-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Monitoring mechanism for a distributed database |
WO2010045109A1 (en) | 2008-10-17 | 2010-04-22 | Azuki Systems, Inc. | Method and apparatus for efficient http data streaming |
US9781148B2 (en) | 2008-10-21 | 2017-10-03 | Lookout, Inc. | Methods and systems for sharing risk responses between collections of mobile communications devices |
US8347386B2 (en) | 2008-10-21 | 2013-01-01 | Lookout, Inc. | System and method for server-coupled malware prevention |
US8443062B2 (en) | 2008-10-23 | 2013-05-14 | Microsoft Corporation | Quorum based transactionally consistent membership management in distributed storage systems |
SE533007C2 (sv) | 2008-10-24 | 2010-06-08 | Ilt Productions Ab | Distribuerad datalagring |
US8898236B2 (en) | 2008-10-31 | 2014-11-25 | Netapp, Inc. | Automated conversion of versioned data collections |
US8561052B2 (en) | 2008-12-08 | 2013-10-15 | Harris Corporation | Communications device with a plurality of processors and compatibility synchronization module for processor upgrades and related method |
WO2010080533A2 (en) | 2008-12-18 | 2010-07-15 | Bizanga Ltd. | Multipurpose storage system based upon a distributed hashing mechanism with transactional support and failover capability |
US20100185693A1 (en) | 2009-01-20 | 2010-07-22 | Murty Venkataesh V | Methods and apparatus for creating an audit trail |
US8832023B2 (en) | 2009-01-30 | 2014-09-09 | Apple Inc. | System for managing distributed assets and metadata |
US8533151B2 (en) | 2009-05-26 | 2013-09-10 | Microsoft Corporation | Generating a local copy of a virtualized application package from a local installation |
US8165122B2 (en) | 2009-05-26 | 2012-04-24 | Alcatel Lucent | System and method for converting unicast client requests into multicast client requests |
US20130254314A1 (en) | 2009-06-09 | 2013-09-26 | Edmond K. Chow | Digital content delivery |
US10108492B2 (en) | 2009-07-30 | 2018-10-23 | International Business Machines Corporation | Rebuilding data stored in a dispersed storage network |
US20110047413A1 (en) | 2009-08-20 | 2011-02-24 | Mcgill Robert E | Methods and devices for detecting service failures and maintaining computing services using a resilient intelligent client computer |
US8745170B2 (en) | 2009-08-27 | 2014-06-03 | Apple Inc. | Dynamic file streaming |
WO2011034625A1 (en) * | 2009-09-21 | 2011-03-24 | Translattice, Inc. | Distributed content storage and retrieval |
US8745342B2 (en) * | 2009-09-24 | 2014-06-03 | Hitachi Ltd. | Computer system for controlling backups using wide area network |
US8620879B2 (en) | 2009-10-13 | 2013-12-31 | Google Inc. | Cloud based file storage service |
CN101710339B (zh) | 2009-11-20 | 2012-02-01 | 中国科学院计算技术研究所 | 控制机群文件系统中数据存储方法和系统及创建文件方法 |
US8190578B2 (en) | 2009-12-17 | 2012-05-29 | International Business Machines Corporation | Migration of versioned data between configuration management systems |
US8452739B2 (en) | 2010-03-16 | 2013-05-28 | Copiun, Inc. | Highly scalable and distributed data de-duplication |
US8707091B2 (en) | 2010-03-15 | 2014-04-22 | Cleversafe, Inc. | Failsafe directory file system in a dispersed storage network |
US20110238909A1 (en) | 2010-03-29 | 2011-09-29 | Pankaj Kumar | Multicasting Write Requests To Multiple Storage Controllers |
EP2712149B1 (en) | 2010-04-23 | 2019-10-30 | Compuverde AB | Distributed data storage |
US9357328B1 (en) | 2010-06-15 | 2016-05-31 | Thales Avionics, Inc. | Systems and methods for distributing content using attributes |
WO2011161849A1 (ja) | 2010-06-22 | 2011-12-29 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置 |
CN101909058B (zh) | 2010-07-30 | 2013-01-16 | 天维讯达无线电设备检测(北京)有限责任公司 | 一种适合可信连接架构的平台鉴别策略管理方法及系统 |
GB2544888A (en) | 2010-09-08 | 2017-05-31 | Saffron Digital Ltd | Delivering a file from a content provider to a client |
US9253199B2 (en) | 2010-09-09 | 2016-02-02 | Red Hat, Inc. | Verifying authenticity of a sender of an electronic message sent to a recipient using message salt |
US8660986B2 (en) | 2010-10-27 | 2014-02-25 | Microsoft Corporation | Preserving user intent in merging ordered objects |
CN103202045B (zh) | 2010-11-05 | 2016-06-01 | 交互数字专利控股公司 | 设备检验、遇险指示和补救 |
US8949828B2 (en) | 2011-01-11 | 2015-02-03 | International Business Machines Corporation | Single point, scalable data synchronization for management of a virtual input/output server cluster |
US9020996B2 (en) | 2011-06-24 | 2015-04-28 | Stephen P. LORD | Synthetic view |
US9021053B2 (en) | 2011-09-02 | 2015-04-28 | Compuverde Ab | Method and device for writing data to a data storage system comprising a plurality of data storage nodes |
US9225780B2 (en) | 2012-02-24 | 2015-12-29 | Xyratex Technology Limited | Data integrity in a networked storage system |
US20130268632A1 (en) | 2012-04-05 | 2013-10-10 | Canon Kabushiki Kaisha | Server assisted authenticated device |
US9256765B2 (en) | 2012-06-29 | 2016-02-09 | Kip Sign P1 Lp | System and method for identifying software changes |
US9344521B2 (en) * | 2012-12-13 | 2016-05-17 | Red Hat, Inc. | Pluggable infrastructure for cloud provider selection |
US9367448B1 (en) | 2013-06-04 | 2016-06-14 | Emc Corporation | Method and system for determining data integrity for garbage collection of data storage systems |
US20150288659A1 (en) | 2014-04-03 | 2015-10-08 | Bitdefender IPR Management Ltd. | Systems and Methods for Mutual Integrity Attestation Between A Network Endpoint And A Network Appliance |
-
2010
- 2010-04-23 EP EP13198265.4A patent/EP2712149B1/en active Active
- 2010-04-23 EP EP10160910.5A patent/EP2387200B1/en active Active
-
2011
- 2011-04-20 BR BR112012027012A patent/BR112012027012A2/pt not_active Application Discontinuation
- 2011-04-20 CN CN201180028670.9A patent/CN102939740B/zh active Active
- 2011-04-20 WO PCT/EP2011/056317 patent/WO2011131717A1/en active Application Filing
- 2011-04-20 MX MX2012012198A patent/MX2012012198A/es active IP Right Grant
- 2011-04-20 CA CA2797053A patent/CA2797053C/en not_active Expired - Fee Related
- 2011-04-20 KR KR1020127030479A patent/KR101905198B1/ko not_active Expired - Fee Related
- 2011-04-20 EA EA201291023A patent/EA026842B1/ru not_active IP Right Cessation
- 2011-04-20 JP JP2013505473A patent/JP5612195B2/ja not_active Expired - Fee Related
- 2011-04-20 AU AU2011244345A patent/AU2011244345B2/en active Active
- 2011-06-30 US US13/174,350 patent/US8850019B2/en not_active Expired - Fee Related
-
2012
- 2012-10-23 IL IL222630A patent/IL222630A/en active IP Right Grant
- 2012-11-21 ZA ZA2012/08755A patent/ZA201208755B/en unknown
-
2014
- 2014-09-12 US US14/485,502 patent/US9503524B2/en not_active Expired - Fee Related
-
2016
- 2016-10-26 US US15/334,551 patent/US9948716B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030172089A1 (en) * | 2002-03-07 | 2003-09-11 | Douceur John R. | File availability in distributed file storage systems |
US20070088703A1 (en) * | 2005-10-17 | 2007-04-19 | Microsoft Corporation | Peer-to-peer auction based data distribution |
EP1798934A1 (en) * | 2005-12-13 | 2007-06-20 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for organizing nodes in a network |
US20080077635A1 (en) * | 2006-09-22 | 2008-03-27 | Digital Bazaar, Inc. | Highly Available Clustered Storage Network |
Also Published As
Publication number | Publication date |
---|---|
EP2387200B1 (en) | 2014-02-12 |
CN102939740B (zh) | 2016-08-03 |
ZA201208755B (en) | 2014-01-29 |
US9503524B2 (en) | 2016-11-22 |
EA201291023A1 (ru) | 2013-05-30 |
BR112012027012A2 (pt) | 2016-09-13 |
KR101905198B1 (ko) | 2018-10-05 |
JP2013525895A (ja) | 2013-06-20 |
WO2011131717A1 (en) | 2011-10-27 |
US8850019B2 (en) | 2014-09-30 |
US20170048321A1 (en) | 2017-02-16 |
IL222630A (en) | 2017-05-29 |
US9948716B2 (en) | 2018-04-17 |
AU2011244345A1 (en) | 2012-11-08 |
EP2387200A1 (en) | 2011-11-16 |
CA2797053A1 (en) | 2011-10-27 |
KR20130115983A (ko) | 2013-10-22 |
CN102939740A (zh) | 2013-02-20 |
EP2712149B1 (en) | 2019-10-30 |
MX2012012198A (es) | 2013-03-12 |
JP5612195B2 (ja) | 2014-10-22 |
IL222630A0 (en) | 2012-12-31 |
EP2712149A3 (en) | 2014-05-14 |
EP2712149A2 (en) | 2014-03-26 |
US20140379845A1 (en) | 2014-12-25 |
CA2797053C (en) | 2016-05-31 |
AU2011244345B2 (en) | 2015-01-15 |
US20120084383A1 (en) | 2012-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EA026842B1 (ru) | Способ и сервер для записи данных в системе хранения данных | |
US11907256B2 (en) | Query-based selection of storage nodes | |
US9021053B2 (en) | Method and device for writing data to a data storage system comprising a plurality of data storage nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s) |
Designated state(s): AM AZ BY KZ KG MD TJ TM RU |