EA026842B1 - Способ и сервер для записи данных в системе хранения данных - Google Patents

Способ и сервер для записи данных в системе хранения данных Download PDF

Info

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
Application number
EA201291023A
Other languages
English (en)
Other versions
EA201291023A1 (ru
Inventor
Стефан Бернбо
Кристиан Меландер
Густав Петерссон
Рогер Перссон
Original Assignee
Компуверде Аб
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Компуверде Аб filed Critical Компуверде Аб
Publication of EA201291023A1 publication Critical patent/EA201291023A1/ru
Publication of EA026842B1 publication Critical patent/EA026842B1/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1845Arrangements for providing special services to substations for broadcast or conference, e.g. multicast broadcast or multicast in a specific location, e.g. geocast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

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. ФОРМУЛА ИЗОБРЕТЕНИЯ
    1. Способ записи данных в системе хранения данных, содержащей узлы хранения данных, где указанный способ используется сервером, использующим приложение, которое обращается к данным в системе хранения данных, в котором передают (41) с помощью упомянутого сервера многоадресный запрос на сохранение нескольким из указанных узлов хранения данных по сети;
    получают (43) с помощью упомянутого сервера ответы от подмножества указанных узлов, где указанные ответы содержат информацию о каждом из узлов хранения данных, по сети;
    выбирают (45) с помощью упомянутого сервера из этого подмножества по меньшей мере два узла хранения данных исходя из полученных ответов, при этом в процессе выбора:
    вычисляют с помощью упомянутого сервера для каждого узла хранения данных, принадлежащего к указанному подмножеству, вероятностный коэффициент исходя из информации об узле хранения данных, полученной по сети и относящейся к соответствующему узлу;
    выбирают с помощью упомянутого сервера указанные по меньшей мере два узла, при этом вероятность выбора узла зависит от его вероятностного коэффициента;
    передают (47) с помощью упомянутого сервера данные и соответствующий им идентификатор данных в выбранные узлы хранения данных по сети.
  2. 2. Способ по п.1, где информация об узлах хранения данных содержит данные о географическом положении каждого из узлов.
  3. 3. Способ по п.2, где данные о географическом положении содержат широту и долготу соответствующего узла хранения данных.
  4. 4. Способ по п.2 или 3, где узлы хранения данных выбирают из подмножества, удовлетворяющего критерию, основанному на географическом разделении, так, что узлы, не имеющие необходимого уровня географического разделения, исключаются из процесса выбора.
  5. 5. Способ по п.1, где информация об узле хранения данных содержит сведения о сроке службы соответствующего узла.
  6. 6. Способ по любому из предыдущих пунктов, где информация об узле хранения данных включает сведения о системной нагрузке для соответствующего узла.
    - 7 026842
  7. 7. Способ по любому из предыдущих пунктов, где многоадресный запрос на сохранение данных содержит идентификатор данных, позволяющий идентифицировать данные, подлежащие сохранению.
  8. 8. Способ по любому из предыдущих пунктов, где выбирают не менее трех узлов.
  9. 9. Способ по любому из предыдущих пунктов, где перечень узлов, успешно использованных для сохранения данных, направляют выбранным узлам хранения данных.
  10. 10. Способ по любому из предыдущих пунктов, где узлы хранения данных выбирают из части указанного подмножества, содержащей узлы с наибольшими значениями вероятностных коэффициентов.
  11. 11. Сервер, адаптированный для записи данных в системе хранения данных, содержащей узлы хранения данных, содержащий средства передачи многоадресного запроса на сохранение данных указанным узлам хранения данных по сети;
    средства получения ответов от подмножества указанных узлов, где указанные ответы содержат информацию о каждом из узлов хранения данных, по сети;
    средства выбора из этого подмножества по меньшей мере двух узлов хранения данных исходя из полученных ответов, где процедура выбора предусматривает вычисление упомянутым сервером для каждого узла хранения данных, принадлежащего к указанному подмножеству, вероятностного коэффициента исходя из информации об узле хранения данных, полученной по сети и относящейся к соответствующему узлу;
    выбор упомянутым сервером указанных по меньшей мере двух узлов, где вероятность выбора узла зависит от его вероятностного коэффициента;
    средства передачи данных и соответствующего им идентификатора данных в выбранные узлы хранения данных по сети.
EA201291023A 2010-04-23 2011-04-20 Способ и сервер для записи данных в системе хранения данных EA026842B1 (ru)

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 (37)

* Cited by examiner, † Cited by third party
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
US9385874B2 (en) 2013-01-23 2016-07-05 Nexenta Systems, Inc. Scalable transport with client-consensus rendezvous
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
US8997124B2 (en) 2011-09-02 2015-03-31 Compuverde Ab Method for updating data in a distributed data storage system
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
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
US8645978B2 (en) 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
US8769138B2 (en) 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
CN103019614B (zh) 2011-09-23 2015-11-25 阿里巴巴集团控股有限公司 分布式存储系统管理装置及方法
US9203625B2 (en) * 2011-11-28 2015-12-01 Cleversafe, Inc. Transferring encoded data slices in a distributed storage network
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
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 杭州安恒信息技术股份有限公司 一种文件同步方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
ATE223595T1 (de) 1998-01-23 2002-09-15 Emc Corp Einkapselung, datendarstellung und übertragung von inhaltsaddressierbaren daten
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
US6738766B2 (en) 2000-02-02 2004-05-18 Doongo Technologies, Inc. Apparatus and methods for providing personalized application search results for wireless devices based on user profiles
US6952737B1 (en) 2000-03-03 2005-10-04 Intel Corporation Method and apparatus for accessing remote storage in a distributed storage cluster architecture
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
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
US6970939B2 (en) 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
DE60131900T2 (de) 2000-10-26 2008-12-04 Flood, James C. jun., Portland Verfahren und system zur verwaltung von verteilten inhalten und verwandten metadaten
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
WO2002044835A2 (en) 2000-11-28 2002-06-06 Gingerich Gregory L 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
US6732171B2 (en) 2002-05-31 2004-05-04 Lefthand Networks, Inc. Distributed network storage system with virtualization
US7574488B2 (en) 2002-05-31 2009-08-11 Hitachi, Ltd. Method and apparatus for peer-to-peer file sharing
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
CA2497825A1 (en) 2002-09-10 2004-03-25 Exagrid Systems, Inc. Method and apparatus for server share migration and server recovery using hierarchical storage management
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
US7509645B2 (en) 2002-10-17 2009-03-24 Intel Corporation Methods and apparatus for load balancing storage nodes in a distributed network attached storage system
WO2004040846A2 (en) 2002-10-29 2004-05-13 British Telecommunications Public Limited Company 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
CN100578493C (zh) * 2003-07-16 2010-01-06 乔蒂德有限公司 分布式数据库系统
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
WO2005114959A1 (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
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
US20070028291A1 (en) 2005-07-29 2007-02-01 Bit 9, Inc. Parametric content control in a network security system
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
EP1961158B1 (en) 2005-11-23 2013-05-15 EnvisionIT LLC Message broadcasting admission control system and method
US7716180B2 (en) 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US8589574B1 (en) 2005-12-29 2013-11-19 Amazon Technologies, Inc. Dynamic application instance discovery and state management within a distributed system
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
US8255420B2 (en) 2006-05-23 2012-08-28 Noryan Holding Corporation Distributed storage
KR101366220B1 (ko) 2006-05-23 2014-02-21 노리안 홀딩 코포레이션 분산형 저장소
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
DE602007010040D1 (de) 2007-02-22 2010-12-02 Ericsson Telefon Ab L M Overlay-Netzwerk mit einheitlicher und fehlertoleranter verteilter Hash-Tabelle (DHT)
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
JP4696089B2 (ja) 2007-03-30 2011-06-08 三菱電機インフォメーションシステムズ株式会社 分散ストレージシステム
JP2008250773A (ja) 2007-03-30 2008-10-16 Brother Ind Ltd 情報配信システム、管理装置用プログラム及び情報処理装置用プログラム
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
WO2009032712A2 (en) 2007-08-29 2009-03-12 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
US8156117B2 (en) 2007-09-03 2012-04-10 Obschestvo S Ogranichennoi Otvetstvennostiyu “Meralabs” Method and system for storing, searching and retrieving information based on semistructured and de-centralized data sets
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
US8533256B2 (en) 2007-10-09 2013-09-10 Cleversafe, Inc. Object interface to a dispersed data storage network
US7979662B2 (en) 2007-12-28 2011-07-12 Sandisk Il Ltd. Storage device with transaction indexing capability
US7913030B2 (en) 2007-12-28 2011-03-22 Sandisk Il Ltd. Storage device with transaction logging 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 同級間冗餘檔案伺服器系統及方法
US8458128B2 (en) 2008-08-26 2013-06-04 Microsoft Corporation Minimal extensions required for multi-master offline and collaboration for devices and web services
US8255430B2 (en) 2008-08-26 2012-08-28 Caringo, Inc. Shared namespace for storage clusters
US9390102B2 (en) 2008-09-29 2016-07-12 Oracle International Corporation Client application program interface for network-attached storage system
JP5557840B2 (ja) * 2008-10-03 2014-07-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 分散データベースの監視メカニズム
WO2010045109A1 (en) 2008-10-17 2010-04-22 Azuki Systems, Inc. Method and apparatus for efficient http data streaming
US8347386B2 (en) 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
US9781148B2 (en) 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
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
EP2377294B1 (en) 2008-12-18 2017-05-17 Scality, SA 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
CN102640125B (zh) * 2009-09-21 2015-07-08 高通股份有限公司 分布式内容存储和取回
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
US8683119B2 (en) 2010-03-15 2014-03-25 Cleversafe, Inc. Access control in a dispersed storage network
WO2011116087A2 (en) 2010-03-16 2011-09-22 Copiun, Inc. Highly scalable and distributed data de-duplication
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
CN106055930A (zh) 2010-11-05 2016-10-26 交互数字专利控股公司 设备检验和遇险指示
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
US20170048321A1 (en) 2017-02-16
EP2712149A3 (en) 2014-05-14
EP2387200A1 (en) 2011-11-16
CN102939740B (zh) 2016-08-03
US9503524B2 (en) 2016-11-22
EA201291023A1 (ru) 2013-05-30
US8850019B2 (en) 2014-09-30
KR20130115983A (ko) 2013-10-22
US20120084383A1 (en) 2012-04-05
EP2712149A2 (en) 2014-03-26
WO2011131717A1 (en) 2011-10-27
US9948716B2 (en) 2018-04-17
AU2011244345A1 (en) 2012-11-08
KR101905198B1 (ko) 2018-10-05
EP2712149B1 (en) 2019-10-30
IL222630A (en) 2017-05-29
CA2797053C (en) 2016-05-31
US20140379845A1 (en) 2014-12-25
CA2797053A1 (en) 2011-10-27
AU2011244345B2 (en) 2015-01-15
JP2013525895A (ja) 2013-06-20
JP5612195B2 (ja) 2014-10-22
ZA201208755B (en) 2014-01-29
CN102939740A (zh) 2013-02-20
EP2387200B1 (en) 2014-02-12
IL222630A0 (en) 2012-12-31
BR112012027012A2 (pt) 2016-09-13
MX2012012198A (es) 2013-03-12

Similar Documents

Publication Publication Date Title
EA026842B1 (ru) Способ и сервер для записи данных в системе хранения данных
US11468088B2 (en) Selection of storage nodes for storage of data
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