EA031078B1 - Способ и устройство для хранения и обработки данных - Google Patents

Способ и устройство для хранения и обработки данных Download PDF

Info

Publication number
EA031078B1
EA031078B1 EA201650049A EA201650049A EA031078B1 EA 031078 B1 EA031078 B1 EA 031078B1 EA 201650049 A EA201650049 A EA 201650049A EA 201650049 A EA201650049 A EA 201650049A EA 031078 B1 EA031078 B1 EA 031078B1
Authority
EA
Eurasian Patent Office
Prior art keywords
file
data
pdd
parts
fragments
Prior art date
Application number
EA201650049A
Other languages
English (en)
Other versions
EA201650049A1 (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 EA201650049A1 publication Critical patent/EA201650049A1/ru
Publication of EA031078B1 publication Critical patent/EA031078B1/ru

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • H04L1/0058Block-coded modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/154Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

Настоящее изобретение относится к способу и устройству для хранения и обработки данных.
В целом, настоящее изобретение относится главным образом к защищенному хранению и передаче данных, в частности относится к распределенному защищенному хранению и передаче данных для использования в потоковом мультимедиа и прочих приложениях.
Сведения о предшествующем уровне техники
Перспективная идея коренного изменения современного состояния технологии обработки информации при помощи осуществления вычислений в удаленной (облачной) среде строится на предпосылке, что доступ как к аппаратным, так и к программным ресурсам, поддерживавшийся ранее из корпоративного центра обработки информации, теперь может осуществляться через сеть серверов виртуального хранения данных, контролируемых сторонними Интернет провайдерами, устраняя таким образом необходимость для компаний содержать и эксплуатировать свои собственные, отличающиеся сложностью, информационно-технологические инфраструктуры и центры обработки данных. Однако чтобы добиться согласия компаний разместить свои хранилища информации и требования к вычислительным ресурсам на указанных стороннем виртуальном сервере или группе таких виртуальных серверов, сторонним владельцам виртуальных серверов необходимо обеспечить соответствие критериям в части обеспечения определенного уровня качества работы оборудования, защиты информации, пропускной способности и удобства эксплуатации всех программных и аппаратных средств, поддерживающих работу указанных серверов, с обеспечением при этом потребностей абонентов и учетом их озабоченности в вопросах защищенности информации от несанкционированного доступа. Например, основным препятствием на пути полномасштабного внедрения на предприятиях технологии вычислений в удаленной (облачной) среде остаются ресурсы хранения информации. Имеющиеся в настоящее время ресурсы облачного хранения являются предметом озабоченности пользователей в части их эксплуатационных качеств, в том числе в части опасной уязвимости в вопросах защищенности информации, факторов неопределенности в отношении доступности данных и чрезмерности эксплуатационных расходов. Удаленное хранение информации в облачном хранилище или сервис хранения информации (СХИ) должен предусматривать создание виртуального устройства хранения в облаке, которое сопоставимо по своей емкости со средствами хранения информации, задействованными в центре обработки данных внутри предприятия.
В основе существующих в настоящее время технических решений в области облачного хранения информации чаще всего заложена традиционная технология хранения массивов информации (с протоколами файлового доступа CIFS, NFS), при которой целые файлы и группы файлов хранятся в одном физически существующем месте хранения на сервере. Данный подход не обеспечивает приемлемую скорость передачи данных в типичных условиях связи в сети Интернет. Время ожидания сети оставляет желать лучшего, а конечный пользователь или потребитель сталкивается с ограничением по качеству обслуживания при обращении даже к наилучшим образом организованным облачным приложениям. Кроме того, передача значительного объема информации может потребовать неоправданно длительного периода времени, лишая тем самым целесообразности такой процесс передачи информации. Например, при существующих технологиях передачи информации на завершение передачи данных объемом 1 Тб потребуются недели времени.
Облачное хранилище информации, в котором хранение целостных файлов происходит в пределах одного пункта хранения данных, также представляет собой соблазнительную мишень для хакеров, заинтересованных в овладении конфиденциальной корпоративной информацией. Все усилия, потраченные на разработку мероприятий по защите информации в корпоративном центре обработки данных, могут оказаться бесполезными по вине одного единственного хакера, действующего через сеть Интернет. Таким образом, наиболее желательным моментом является повышение защищенности облачных систем хранения информации.
Технические решения в области удаленного хранения информации на облачных накопителях данных также очень уязвимы к сбоям в работе сети передачи данных, которые могут происходить вследствие ухудшения качества соединения с сетью Интернет, являющейся связующим звеном между корпоративными пользователями и сервером облачного хранилища информации. Указанные сбои могут характеризоваться различной длительностью и могут быть продолжительными как, например, в случае сетевой (DOS) атаки, выражающейся в виде отказа в обслуживании пользователей. В случае вынужденного прерывания своей производственной деятельности вследствие подобных сетевых сбоев предприятию может грозить серьезный ущерб.
Варианты хранения информации, предусматривающие хранение целостных файлов на одном сервере, также делают потенциально опасным процесс аварийного восстановления работы сети в случае раскрытия местоположения сервера. Если репликация и резервное копирование данных также осуществляются по одному и тому же физическому местонахождению сервера, проблема сетевых отказов и послеаварийного восстановления может быть чревата для предприятия реальной опасностью потери огромного количества данных.
В целях обеспечения сохранности хранимых корпоративных данных современная технология хранения информации на виртуальных облачных носителях требует совмещения процесса хранения с пол
- 1 031078 ной репликацией данных и их резервным копированием. В ходе проведения процедур настройки в соответствии с современной технологией хранения информации на виртуальных облачных носителях это может потребовать до 800% избыточности хранимых данных. Это значительное количество требуемой избыточности данных добавляет серьезные накладные расходы в перечень издержек, направленных на поддержание емкости облачного хранилища. Необходимость в такой степени избыточности данных приводит не только к приросту издержек, но также порождает новые сложности, связанные с защищенностью данных. Кроме того, вся эта избыточность данных также несет с собой ухудшение рабочих характеристик, поскольку серверы облачного хранения информации постоянно используют репликацию данных во всех групповых операциях сервера с данными.
Благодаря возросшей способности Интернет-соединений функционировать в условиях передачи данных с высокой скоростью, потоковое мультимедиа стало чрезвычайно популярным способом создания мультимедийного контента, например видеофильмов и музыки, со снижением риска недобросовестного копирования. Облачное хранение играет важную роль во множестве схем организации потокового мультимедийного контента. В обычном случае местонахождением мультимедийного контента является корпоративный веб-сервер. По пользовательскому запросу, мультимедийный контент передается по сети Интернет в виде устойчивого потока последовательных сегментов данных, получаемых клиентом в момент воспроизведения следующего сегмента мультимедийного файла, тем самым обеспечивая пользователю кажущийся эффект непрерывности воспроизведения аудио или видео.
В настоящее время технология потокового мультимедиа основана на идее передачи мультимедийных файлов в сжатом виде через веб-серверы в виде разбитого на сегменты потока данных, получаемого клиентом в момент воспроизведения следующего сегмента мультимедийного файла с тем, чтобы обеспечить непрерывность указанного воспроизведения. В некоторых случаях, скорость передачи данных превышает скорость, при которой указанные данные воспроизводятся, а дополнительные данные заносятся в буферную память для последующего использования. Если скорость передачи данных меньше, чем скорость воспроизведения данных, то произойдет остановка отображения данных на время, пока клиент накапливает данные, необходимые для воспроизведения следующего сегмента мультимедиа. Преимущества технологии потокового мультимедиа усматриваются в том, что клиенту нет необходимости ожидать загрузки всего крупного мультимедийного файла целиком (например, файла с полнометражным кинофильмом), а также в том, что принцип загрузки мультимедийного контента по запросу пользователя допускает взаимодействие с техническими средствами защиты авторских прав (ТСЗАП), защищающими мультимедийный контент от несанкционированного копирования пользователями.
В соответствии с современной технологией потокового мультимедиа предусматривается хранение полной копии мультимедийного файла на веб- либо медиа-сервере, к которому подключается клиент для получения потока данных. Потери данных в процессе их передачи легко могут стать причиной прерывания передачи данных и остановки воспроизведения мультимедийного контента у клиента. Для недопущения подобных проблем в соответствии с известной из предшествующего уровня техники технологией один и тот же мультимедийный файл нередко размещают в группе серверных узлов и в группе центров обработки данных, находящихся в государственном или частном владении в различных странах мира, обеспечивая таким образом пользователям возможность соединения с ближайшим к ним серверным узлом. Несмотря на необходимость обеспечения стабильной скорости передачи данных, требуемой в условиях потерь пакетов данных, обусловленных особенностями телекоммуникаций, на провайдеров мультимедийного контента возлагается основная нагрузка, связанная с размещением дубликатов одного и того же файла на множестве серверов по всему миру.
Сущность изобретения
Задача настоящего изобретения направлена на минимизацию и/или устранение по меньшей мере одной из вышеперечисленных проблем и на создание более безопасного способа хранения и передачи данных, в частности на создание более безопасного способа хранения и передачи данных, предназначенного для применения в потоковом мультимедиа и прочих приложениях.
Технический результат настоящего изобретения заключается в повышении надежности и безопасности хранения и передачи данных, в том числе в потоковом мультимедиа и прочих приложениях.
Для достижения вышеуказанного технического результата предложен способ хранения и обработки файлов данных для распределительных систем хранения данных, заключающийся в преобразовании файлов в блоки данных с присвоением каждому блоку уникального идентификатора и генерации метаданных, включающих схемы преобразования файлов, и включающий:
a) кодирование частей файла данных, которое выполняют по меньшей мере одним процессором, с применением алгоритма смешивания данных (АСД), который используют для преобразования части F в n неузнаваемых блоков Fj, F2, ... Fn, при этом:
i) часть F может быть восстановлена из любой группы из m блоков, где m меньше n и размер каждого блока Fi в m раз меньше размера части F;
ii) АСД, по меньшей мере, осуществляет такое кодирование с прямым исправлением ошибок (КПИО), при котором выходные аргументы КПИО не содержат копий составляющих входных аргументов и
- 2 031078 входные аргументы при кодировании представляют в виде группы отдельных последовательностей символов, где каждая последовательность имеет длину m и независимо преобразуется в соответствующую выходную последовательность длины n посредством КПИО, при этом входная последовательность длины m может быть восстановлена из любого подмножества символов мощности m множества символов выходной последовательности, при этом перед этапом a) осуществляют:
b) разбиение файла на части с учетом структуры, обеспечивающее возможность потокового воспроизведения мультимедийного файла посредством последовательного восстановления частей файла; и
c) построение схемы разбиения файла, которая специфицирует процедуру воссоздания файла по его частям, указываемым с помощью идентификаторов, после этапа а) выполняют
d) построение схемы разбиения части файла данных, которая специфицирует процедуру воссоздания части файла данных из блоков данных и места хранения соответствующих блоков данных, где части и блоки указаны посредством соответствующих идентификаторов.
Согласно настоящему изобретению способ включает хранение, которое осуществляют с использованием по меньшей мере одного процессора и по меньшей мере части исполняемого кода, который в случае выполнения процессором обеспечивает восстановление файла данных с получением при этом частей файла данных из наиболее доступных неузнаваемых блоков и который как минимум частично выполняется в пункте, физически удаленном по своему местоположению от указанных неузнаваемых блоков.
Согласно настоящему изобретению кодирование частей файла данных, полученных при вышеуказанном разбиении файла, с получением неузнаваемых блоков осуществляют в группе рассредоточенных пунктов, причем выбор пунктов осуществляется с целью минимизации задержки.
Согласно настоящему изобретению способ включает распределение указанных неузнаваемых блоков с использованием по меньшей мере одного процессора в группе запоминающих устройств, причем ни на одном из указанных запоминающих устройств не имеется достаточного количества информации для восстановления любого из указанных файлов данных, и выбор запоминающих устройств осуществляется с целью минимизации средней задержки.
Согласно настоящему изобретению способ включает разбиение части файла данных F с использованием по меньшей мере одного процессора на m сегментов Si, S2, ... Sm одинакового размера, при этом указанные m фрагментов кодируют для получения n неузнаваемых блоков F1, F2, .... Fn с использованием выражения (θι> S2,... Sm) Gm x n = (Fv F2..... Fn), где:
a) mxn матрица Gmxn является порождающей матрицей кода смешивания m до n, удовлетворяющей следующим условиям: порождающая матрица Gmxn не содержит ни одного столбца mxm единичной матрицы; любые m столбцов порождающей матрицы Gmxn образуют невырожденную матрицу размерности mxm; любая квадратная подматрица порождающей матрицы Gmxn является невырожденной; и
b) кодирование последовательности i-х символов фрагментов S1, S2,... Sm осуществляется независимо от кодирования последовательности j-х символов, где индексы i и j имеют различные значения.
Согласно настоящему изобретению способ включает построение алгоритма смешивания данных (АСД), обеспечивающего высокую степень защиты данных и возможность быстрого восстановления исходных данных на базе произвольного кода смешивания m до (m+n) посредством выбора произвольного кода смешивания m до (m+n) с порождающей матрицей θηη х (m+n) ~ (θπι х m I x n)>
построения АСД, использующего код смешивания m до n, заданный порождающей матрицей:
Г’1 · D mxm m х η·
Согласно настоящему изобретению указанной порождающей матрицей является матрица Коши или матрица Вандермонда.
Также для достижения вышеуказанного технического результата предложено компьютерное устройство хранения и обработки файлов данных, включающее по меньшей мере один процессор, выполненный с возможностью осуществления операций вышеуказанного способа.
В целом в настоящем изобретении раскрывается способ и устройство для защищенного распределенного хранения данных, в частности, пригодного для решения задач в области потокового мультимедиа.
В частном варианте осуществления способа хранения данных в соответствии с изобретением предусматривается разделение мультимедийного файла данных на группу дискретных частей, помехоустойчивое кодирование этих дискретных частей файла и направление их на рассредоточенное хранение в группу запоминающих устройств, причем ни на одном из указанных запоминающих устройств не содержится достаточной информации для восстановления указанного файла данных. Далее, составляется карта, указывающая в каких запоминающих устройствах хранится каждая из частей указанного файла данных. В частности, каждой дискретной части файла присваивают свой уникальный идентификатор, и для
- 3 031078 облегчения восстановления файлов данных используют карту указанных уникальных идентификаторов.
В другом варианте осуществления изобретения раскрытый в нем способ хранения данных предусматривает разделение файла данных на части (слайсы), присвоение каждой части файла уникального идентификатора, создание карты указанных уникальных идентификаторов частей файла для облегчения восстановления файла, разбиение каждой части файла на дискретные фрагменты, выполнение помехоустойчивого кодирования посредством корректирующих кодов фрагментов частей файла, направление указанных фрагментов на рассредоточенное хранение в группу запоминающих устройств, причем ни на одном из указанных запоминающих устройств не содержится достаточной информации для восстановления указанного файла данных, создание карты, указывающей в каких запоминающих устройствах хранится каждый фрагмент частей указанного файла.
Задачи обеспечения защищенности данных и минимизации последствий потерь пакетов данных решаются благодаря описанному здесь процессу помехоустойчивого кодирования корректирующими кодами. Во-первых, данные в процессе помехоустойчивого кодирования кодируют с получением нераспознаваемых частей информации, обеспечивая тем самым высокую степень ее защищенности. Вовторых, данные закодированные помехоустойчивыми стирающими кодами обеспечивают исправление ошибок в случае потери данных. Несмотря на возрастание объема данных в результате помехоустойчивого кодирования, потери данных, не превышающие прироста их объема, могут быть скомпенсированы с восстановлением потерянных данных. В частности, обработанные и закодированные стирающими кодами данные, хранящиеся в соответствии с предпочтительными вариантами осуществления изобретения, не содержат каких-либо репликаций исходных данных, чем в огромной мере увеличивают защищенность информации.
Перечень фигур, чертежей и иных материалов
Вышеизложенное раскрытие сущности изобретения, предпочтительные варианты его осуществления и прочие аспекты раскрытого в настоящей заявке будут поняты наилучшим образом со ссылкой на нижеследующее подробное описание конкретных вариантов осуществления данного изобретения при изучении указанных сведений в тесном сочетании с сопровождающими чертежами, на которых представлены:
фиг. 1 - изображение блок-схемы примера организации системы хранения данных;
фиг. 2 - изображение блок-схемы, отражающей действия по обработке файла в соответствии с примером осуществления настоящего изобретения;
фиг. 3 - табличное описание содержания различных действий по обработке файла в соответствии с примером осуществления настоящего изобретения;
фиг. 4А - изображение блок-схемы первого этапа обработки файла в соответствии с примером осуществления настоящего изобретения;
фиг. 4В - изображение блок-схемы помехоустойчивого кодирования частей файла с получением фрагментов указанных частей файла для распределения по устройствам памяти для хранения;
фиг. 5 - изображение подробной схемы процесса загрузки файла на узлы хранения данных в соответствии с примером осуществления настоящего изобретения;
фиг. 6 - подробное табличное описание содержания действий процесса передачи данных от запоминающего устройства к клиенту в соответствии с примером осуществления настоящего изобретения;
фиг. 7А - изображение блок-схемы клиентского запроса на получение данных, направляемого на клиентский центральный процессор (КЦП);
фиг. 7В - изображение блок-схемы запроса на получение фрагментов частей файла в соответствии с примером осуществления настоящего изобретения;
фиг. 8 - изображение подробной блок-схемы с описанием взаимодействия между клиентским центральным процессором (КЦП), процессором телеобработки данных (ПТД) и сетью узлов хранения данных (СУХД);
фиг. 9 - изображение блок-схемы процесса сбора файлового мусора в соответствии с одним из вариантов осуществления изобретения.
Одинаковыми ссылочными номерами и обозначениями, фигурирующими на различных чертежах, обозначаются одинаковые элементы.
Сведения, подтверждающие возможность осуществления изобретения
В настоящей заявке раскрывается способ хранения на облачном носителе мультимедийных файлов для потоковой передачи, в котором каждый файл данных разделяют на фрагменты частей файла, которые хранятся в группе облачных серверов, распределенных предпочтительно по различным географическим районам. В соответствии с одним вариантом осуществления изобретения корпоративные мультимедийные данные клиента разделяют на фрагменты частей файла с использованием технологии объектноориентированного хранения информации. Все полученные в результате этого фрагменты частей файла зашифровывают и оптимизируют для исправления ошибок с использованием помехоустойчивого кодирования перед распространением по группе облачных серверов. Благодаря этому в облаке создается виртуальное устройство хранения и передачи данных. Серверы, используемые для хранения данных в облаке, могут выбираться клиентом для оптимизации как скорости передачи данных, так и защищенности
- 4 031078 данных и их достоверности. Для извлечения данных, зашифрованные и распределенные по местам хранения фрагменты частей файла извлекаются и восстанавливаются с получением исходного файла по клиентскому запросу. Данная методика рассредоточенного хранения создает устройство, представляющее собой виртуальный жесткий диск, в котором мультимедийный файл не хранится в одном физическом устройстве, а распределен по группе физических устройств в облаке, каждое из которых содержит лишь зашифрованный фрагмент указанного файла. Доступ к файлу с целью его перемещения, удаления, чтения или редактирования реализуется за счет быстрого восстановления файла из его фрагментов в масштабе реального времени. Такая методика обеспечивает многочисленные преимущества в скорости передачи данных и доступа к ним, в защищенности и доступности данных. Указанная методика также допускает применение существующей инфраструктуры аппаратных и программных средств и позволяет значительно снизить материальные издержки в области технологии хранения информации.
Несмотря на то что распределенное хранение данных, в частности потоковых мультимедийных данных, на облачных серверах является особенно полезной прикладной задачей, тот же самый способ хранения информации также применим в таких конфигурациях, в которых данные могут храниться в группе запоминающих устройств, соединенных друг с другом любым возможным образом, например как элементы локальной вычислительной сети (ЛВС) или глобальной вычислительной сети (ГВС). Преимущества раскрытого способа в части скорости передачи данных и защищенности информации могут оставаться реализованными на устройствах хранения информации, установленных в центре обработки данных корпоративного отдела информационных технологий, где оконечными устройствами хранения информации являются физические жесткие диски либо группа виртуальных жестких дисков. Пользователь, являющийся специалистом в области информационных технологий, может остановить свой выбор на использовании сразу всех имеющихся в распоряжении компании устройств хранения информации, соединенных друг с другом высокоскоростной ЛВС, в которой реализована раскрываемая технология. При этом группа устройств хранения информации может быть даже распределенной среди многих индивидуальных пользователей в киберпространстве с хранением файлов в группе имеющихся в сети физических либо виртуальных жестких дисков. В каждом случае имеет место значительное увеличение скорости передачи данных и улучшение защищенности хранения информации в системе.
Варианты применения раскрытого в настоящей заявке объекта изобретения предусматривают наличие вторичного устройства хранения данных, предназначенного для резервного копирования либо аварийного восстановления системы. Раскрытый объект изобретения также применим и к первичному устройству хранения данных, в которых доступ к файлам организован без его выполнения на стороне сервера. В некоторых вариантах осуществления изобретения, это предусматривает хранение мультимедийного контента, в том числе без каких-либо ограничений видеоконтента или аудиоконтента, который может быть подготовлен для потоковой передачи в сети Интернет.
Преимущества в части хранения данных.
Раскрытый способ хранения данных предоставляет многочисленные преимущества по сравнению с существующими системами хранения информации. Указанные преимущества состоят в нижеследующем:
А. Повышение скорости передачи данных.
По сравнению с существующим способом облачного хранения данных, в раскрытых вариантах осуществления изобретения предусматриваются значительные усовершенствования, касающиеся скорости передачи данных в стандартных условиях организации связи в сети Интернет. При этом была продемонстрирована возможность передачи данных со скоростью до 300 Мбит/с, что могло бы означать, например, возможность передачи файла размером 1 Тб за 10 ч, в то время как в некоторых существующих системах хранения и передачи информации для завершения данной операции потребовалось бы 30 суток. Данное приращение в скорости передачи данных проистекает из следующих факторов.
При восстановлении файла, составляющие его части передаются на группу серверов либо с группы указанных серверов в параллельном режиме, обеспечивая тем самым существенное увеличение пропускной способности канала передачи данных. Это может быть связано с несколькими применяемыми в современной практике популярными технологиями ускорения загрузки данных, в соответствии с которыми также предусматривается многоканальная загрузка частей файлов, позволяющими в результате значительно повысить скорость загрузки данных. Проблемы, связанные с временем ожидания сети (задержкой в сети), которые могут возникнуть при передачи данных в процессе соединения с одним из облачных серверов, никак не прерывают передачу данных с более высокой скоростью на другие серверы, функционирующие при сетевых задержках, остающихся в условиях нормы.
Присущие заявляемому техническому решению преимущества в части лучшей защищенности и достоверности данных обусловлены тем, что при распределенном хранении массивов информации отпадает необходимость в постоянном дублировании считываемых/записываемых данных посредством их репликации, что позволяет добиться дополнительного приращения в скорости передачи данных, ведущего к улучшению пропускной способности канала передачи информации.
В обычном случае наиболее ресурсоемкий процесс обработки данных происходит на стороне сервера, где установлены один либо несколько высокопроизводительных облачных серверов, которые оп
- 5 031078 тимизированы по скорость передачи данных и возможностям сетевых подключений как к средствам хранения информации на облачном сервере, так и к пользовательским ресурсам хранения информации.
В частности, помехоустойчивое кодирование корректирующими кодами в некоторых вариантах осуществления изобретения выполняется со стороны сервера, например, как это будет описано далее в тексте настоящей заявки, в группе серверов обработки данных. В качестве указанных серверов могут выбираться устройства с высокой производительностью обработки данных, поскольку процесс помехоустойчивого кодирования корректирующими кодами представляет собой задачу с интенсивной вычислительной загрузкой на центральный процессор (ЦП). Это дает возможность получить выигрыш по производительности в сравнении с выполнением помехоустойчивого кодирования на одном сервере либо на стороне клиента, где недостаточность инфраструктуры программно-аппаратных средств может отражаться на эффективности выполнения помехоустойчивого кодирования. В сравнении с существующими техническими решениями перенос такой обработки информации в группу оптимизированных серверов снижает нагрузку на сеть и требования к производительности аппаратных средств на стороне клиента.
Б. Защищенность данных.
С точки зрения защищенности данных раскрытое виртуальное устройство хранения обеспечивает существенные преимущества над известными ранее техническими решениями. Посредством разделения каждого мультимедийного файла на множество фрагментов его частей и распределения указанных фрагментов частей данного файла по многочисленной группе мест облачного хранения данных, предпочтительно с географическим рассредоточением указанных мест хранения, представляется возможным максимально усложнить для хакеров задачу восстановления данного файла в его первоначальном виде. Кроме того, в некоторых вариантах осуществления изобретения предусматривается шифрование всех фрагментов частей файла, создавая тем самым дополнительную степень защищенности данных и делая их неуязвимыми для потенциальных злоумышленников. Успешная попытка взлома одного из хранилища данных на облачном сервере не предоставит хакеру возможности восстановить файл полностью. В этом и заключается значительное преимущество с точки зрения защищенности данных по сравнению с известными ранее техническими решениями.
В некоторых вариантах осуществления изобретения предусматривается возможность для группы клиентов коллективно использовать указанные серверы, предназначенные для обработки и хранения данных, при этом для хакеров представляется совершенно невозможным по полученному ими фрагменту данных идентифицировать их принадлежность конкретному клиенту. При использовании данного технологического приема хакеру становится еще сложнее нанести ущерб защищенности хранящемуся таким образом файлу данных. Фрагменты частей файла могут распределяться в случайном порядке по разным облачным серверам хранения, обеспечивая тем самым еще большую защищенность хранения информации. В соответствии с некоторыми вариантами осуществления изобретения, даже от клиента может быть скрыто точное местонахождение всех фрагментов частей файла. Также не предусмотрено хранение в одном единственном месте ключей, необходимых для восстановления и/или дешифрования фрагментов частей файла. Наконец, в качестве дополнительного преимущества с точки зрения защищенности данных может быть задействована двумерная модель хранения метаданных, причем хранение необходимых для восстановления файла метаданные осуществляется как на стороне клиента, так и на удаленных серверах облачного хранения информации.
В. Доступность данных.
С точки зрения доступности данных раскрытое виртуальное устройство хранения также обеспечивает существенные преимущества над известными из предшествующего уровня техники способами хранения информации. Разделение файла на многочисленную группу фрагментов частей файла с их последующим хранением на группе облачных серверов позволяет скомпенсировать проблемы связи между местоположением клиента и физическим положением одного из мест хранения облачного информации за счет нормальных условий связи и незначительного времени ожидания сети, характеризующих прочие варианты размещения данных. Общий результат распределения фрагментов файлов по группе мест хранения данных состоит в ограждении всей системы от отказов, возникающих вследствие нарушений связи на одном из участков сети.
В предпочтительном варианте промежуточные узлы обработки информации на сервере, о которых пойдет речь ниже, все полностью укомплектованы высокопроизводительными процессорами и характеризуются коротким временем ожидания в сети. Это обеспечивает для клиента высокую степень доступности передачи данных.
В предпочтительном варианте указанные промежуточные узлы обработки информации на сервере могут выбираться динамическим образом в ответ на каждый запрос со стороны клиента для сведения к минимуму время ожидания в сети для клиента, запрашивающего услуги со стороны указанных узлов. Клиент также может выбрать какой именно сервер из перечня серверов облачного хранения надлежит использовать для хранения фрагментов частей файла, а также может оптимизировать указанный перечень на основании своего географического местоположения и доступности указанных серверов. Это также до максимального уровня повышает доступность данных для каждого клиента в момент поступления каждого запроса о передаче информации.
- 6 031078
Г. Достоверность данных.
С точки зрения достоверности данных раскрытое виртуальное устройство хранения данных также обеспечивает существенные преимущества над известными из предшествующего уровня техники способами улучшения надежности системы облачного хранения информации. Разделение каждого файла на многочисленную группу фрагментов частей файла означает, что отказы средств аппаратного и программного обеспечения либо возникновение ошибок на одном из пунктов физического облачного хранения не нарушает доступ к указанному файлу, что было бы невозможным в случае хранения целостного файла на одном физическом носителе, как это имеет место в некоторых имевшихся ранее системах хранения информации. Далее, применение обсуждаемой здесь методики помехоустойчивого кодирования корректирующими кодами гарантирует высокое качество исправления ошибок в указанной системе хранения, обеспечивая тем самым как защищенность данных, так и их достоверность. Сочетание фрагментирования частей файла с используемыми здесь приемами помехоустойчивого кодирования обеспечивает основной вклад в надежность и достоверность данных, побуждая корпоративных пользователей к внедрению облачной технологии хранения информации.
Д. Применение ресурсов с существующей облачной инфраструктурой.
Элементы раскрытого объекта изобретения могут использовать существующую облачную серверную инфраструктуру с привлечением как общедоступных, так и выделенных ресурсов. Существующие провайдеры услуг облачного хранения данных могут привести имеющуюся в их распоряжении инфраструктуру аппаратных и программных средств в состояние готовности для применения в рамках раскрытой здесь методики. Таким образом, большая часть из усовершенствований, предлагаемых в рамках раскрытого в настоящей заявке способа, может быть реализована с наименьшим вложением средств, поскольку имеется возможность использовать существующие в настоящее время ресурсы облачного хранения в неизменном виде либо с внесением минимальных изменений.
Е. Снижение издержек на инфраструктуру.
В некоторых вариантах осуществления изобретения требуется гораздо меньшая степень избыточности данных, чем это имеет место в существующих технических решениях в области облачного хранения информации. Как указано выше, в ранее известных устройствах хранения информации могло быть необходимым иметь не менее 500% дополнительного объема памяти, предназначенного для дублирования и репликации данных. В раскрытых в настоящей заявке вариантах осуществления изобретения возможна успешная работа устройств хранения информации с избыточностью данных 30% от первоначального размера файла благодаря их более высокой собственной надежности. Даже при избыточности данных 30% возможно достижение большей степени достоверности данных, чем это имеет место в существующих устройствах хранения информации. Сокращение необходимости в наличии высокой избыточности данных ведет к снижению издержек, связанных с емкостью облачного хранилища информации. При наблюдаемом из года в год экспоненциальном росте потребностей корпоративных пользователей в объеме передаваемых на хранение данных и емкости хранилищ информации, подобная возможность снижения избыточности данных представляется важным фактором в процессе превращения облачного хранения информации в экономически оправданное мероприятие для корпоративных клиентов, позволяющее последним полностью отказаться от эксплуатации собственных локальных центров обработки данных.
Как дополнительно раскрывается в настоящей заявке, варианты осуществления предлагаемого способа хранения данных на виртуальном устройстве предполагают решение некоторых задач: разделение файлов на части и разделение указанных частей файлов на фрагменты с последующей передачей на заранее определенное количество пунктов хранения данных; создание карт указанных частей файлов и фрагментов указанных частей файлов, которые описывают, как именно указанное разделение файлов на части и фрагменты было выполнено и в каком именно облачном хранилище информации хранится конкретная группа фрагментов частей файлов с целью обеспечения возможности восстановления из них клиентом указанного исходного файла; шифрование частей файла и фрагментов частей файла для получения дополнительной защищенности данных; включение в состав частей файла информации о помехоустойчивом кодировании для проведения проверки на наличие ошибок и для восстановления файла; и сбор файлового мусора, содержащего фрагменты частей файлов с утраченным именем, которые не были надлежащим образом записаны и разбиты на части либо не были надлежащим образом считаны и восстановлены.
Как показано на фиг. 1, базовая конфигурация системы хранения и передачи данных в соответствии с примером осуществления настоящего изобретения может быть графически представлена как содержащая три уровня. Первым уровнем указанной системы является клиентский центральный процессор (КЦП), который может быть расположен в служебном помещении клиента либо в центре обработки данных. Доступ к указанному ЦКП может быть организован с использованием клиентского приложения (например, веб-приложения, работающего непосредственно в браузере) для настройки параметров указанной прикладной программы и запуска передачи файлов из клиентского центра обработки данных в сеть узлов хранения данных и передачи файлов из сети узлов хранения данных в клиентский центр обработки данных. На чертежах понятием Часть обычно обозначается часть файла, а понятием элемент обычно обозначается фрагмент части файла.
- 7 031078
Второй уровень указанной системы хранения и передачи данных в соответствии с примером осуществления настоящего изобретения содержит процессор телеобработки данных (ПТД), осуществляющий промежуточную обработку данных. Указанный ПТД может быть расположен в группе распределенных облачных хранилищ данных. Группа серверов с процессором телеобработки данных может быть доступна каждому клиенту, причем каждый сервер, оснащенный ПТД, обеспечивает высокий уровень производительности в процессе обработки данных и высокую доступность сетевых подключений по месту расположения клиента.
Третий уровень указанной системы хранения и передачи данных в соответствии с примером осуществления настоящего изобретения содержит сеть узлов хранения данных (СУХД). Указанная СУХД может состоять из различных центров облачного хранения данных, управляемых коммерческими поставщиками услуг хранения данных с использованием облачных ресурсов. Номер и идентификатор узла хранения данных в указанной СУХД могут дополнительно выбираться клиентом из клиентского приложения для оптимизации времени ожидания в сети и защищенности конфигурации хранения посредством выбора таких узлов хранения данных, которые обеспечивают наилучшее среднее время ожидания в сети и являются доступными из места расположения клиента.
На фиг. 1 представлена блок-схема, отражающая взаимосвязи между КЦП, ПТД и СУХД.
Описание базовых функций, выполняемых этими тремя уровнями указанной системы хранения и передачи данных, может быть представлено нижеследующим образом. Указанный КЦП выполнен с возможностью получения и формирования запроса о загрузке файла из клиентского приложения в СУХД. На первом этапе это устройство выполняет разделение файла на группу частей, каждая из которых характеризуется заданным размером. При этом количество и размер частей файла может варьироваться при помощи параметров, доступных клиентскому приложению. Каждая часть файла может быть зашифрована клиентским ключом с присвоением ей уникального идентификатора. Кроме того, КЦП производит также формирование файла метаданных, описывающего в виде карты указанные части файла для обеспечения возможности их сборки с получением исходного полного файла данных. Указанный файл метаданных может храниться в клиентском центре обработки данных, а также он может быть зашифрован и скопирован для хранения в СУХД. В примере осуществления настоящего изобретения КЦП обладает возможностью отправки разделенных на части файлов на следующий системный уровень, а именно на процессор телеобработки данных (ПТД) для дальнейшей обработки.
Указанный ПТД может получать разделенные на части файлы и производить далее обработку каждой такой части. Данная обработка может предусматривать деление каждой части файла на группу фрагментов. Исправление ошибок обеспечивается помехоустойчивым кодированием корректирующими кодами, например, в случае потери части данных в процессе их передачи. Как будет описано далее в тексте данной заявки, в результате указанного помехоустойчивого кодирования, выполняемого для исправления ошибок, происходит увеличение размера каждого фрагмента части файла. При помощи своего собственного ключа шифрования ПТД также может шифровать фрагмент части файла. При этом ПТД создаст другой файл метаданных, описывающий в виде карты все фрагменты частей файла для обеспечения возможности обратного восстановления указанных разбитых на фрагменты частей, и формирует запись, указывающую какие серверы, входящие в состав СУХД, надлежит использовать для хранения фрагментов частей файла. Поскольку имеет место промежуточная обработка данных, ПТД отправляет группы фрагментов частей файла на назначенные облачные серверы, входящие в состав СУХД, и направляет сформированную им копию файла метаданных на каждый такой сервер СУХД.
На третьем уровне серверы СУХД осуществят теперь размещение обработанных процессором фрагментов частей файла в облачном хранилище на обычно доступных серверах облачного хостинга, ожидая при этом получения будущего запроса по системе на раздачу файлов. Для выполнения задач восстановления исходного файла или частей файла на КЦП, этапы процесса раздачи в обычном случае осуществляется в обратной последовательности по сравнению с вышеописанным относительно трех уровней обработки данных.
На фиг. 2 изображены в виде схемы различные этапы обработки файла, описанные выше для каждого из КЦП, ПТД и СУХД при загрузке файла в СУХД в соответствии с примером осуществления изобретения. Фиг. 3 содержит табличное описание содержания различных операций обработки файла, которые могут быть включены в процесс загрузки файла, осуществляемый в соответствии с примером осуществления настоящего изобретения.
Загрузка файлов на облачные ресурсы.
На фиг. 4А и 4В соответственно показаны два основных этапа передачи файла с КЦП в ПТД и далее в СУХД: обработка файла посредством КЦП с разделением на части и обработка указанных частей файла посредством ПТД с получением фрагментов частей файла для их распределения в СУХД. На фиг. 5 процесс загрузки файлов иллюстрируется поэтапно с указанием промежуточных операций.
Загрузка файлов клиентам.
Процесс загрузки файлов для раздачи клиентам, то есть файлов, загруженных ранее в СУХД, предусматривает выполнение в обратной последовательности этапов процесса загрузки на облачный ресурс. Фрагменты частей файла, хранящихся в группе узлов хранения данных, объединенных в сеть, должны
- 8 031078 быть собраны вместе для восстановления при этом данных частей файла с использованием второго файла метаданных, указывающего каким образом эти части файла должны быть собраны из фрагментов указанных частей файла. Для выполнения этой задачи используют ПТД. Сформированные таким образом части файла должны быть вновь собраны при помощи КЦП в целостный файл с использованием первого файла метаданных, описывающего в виде карты каким образом данные части надлежит собрать с получением целостного файла для направления в клиентский центр обработки данных. Резервная копия второго файла метаданных имеется в каждой СУХД, используемой для хранения файла данных, а первый файл метаданных хранится в клиентском центре обработки данных и также в каждой СУХД.
Фиг. 6 содержит табличное описание содержания различных действий, которые могут быть включены в процесс загрузки файлов для раздачи клиентам.
На фиг. 7А показан процесс загрузки файлов для раздачи клиентам, осуществляемый по трем указанным уровням, при котором обмен запросами происходит между КЦП и ПТД, а также между ПТД и СУХД. На фиг. 7В показаны действия, производимые когда ПТД запрашивает фрагменты частей файла из СУХД для сборки из них требуемой части файла с использованием второго файла метаданных.
На фиг. 8 представлено подробное описание этапов взаимодействия между КЦП, ПТД и СУХД при загрузке файлов для раздачи клиентам.
Варианты оптимизации технологии.
Как указано выше, раскрытые способ и система хранения и передачи данных обеспечивают основные преимущества изобретения как в части скорости передачи данных, их доступности и достоверности, так и в части защищенности данных.
Ускорение загрузки и выгрузки данных достигается благодаря наличию группы, состоящей из множества узлов загрузки и выгрузки данных, применяемых в системе хранения и передачи информации. Повышение производительности может быть получено за счет оптимизации времени ожидания между КЦП и ПТД, а также при выборе ПТД, характеризующегося наилучшим текущим временем ожидания. Не существует необходимости в проведении оптимизации по времени ожидания между ПТД и СУХД, поскольку указанный ПТД выполнен с возможностью работы в качестве высокопроизводительного и доступного сервера, предназначенного для автоматической минимизации времени ожидания в СУХД. Применение группы узлов хранения данных также нивелирует ухудшение рабочих характеристик системы, наблюдаемое, если один конкретный путь к серверу характеризуется длительным временем ожидания.
Применение множества сетевых узлов для хранения фрагментов частей файла в значительной степени повышает защищенность хранящихся данных, принадлежащих клиенту. Перед злоумышленником при этом возникнет чрезвычайно трудная задача получения доступа ко всем фрагментам частей файлов, разрозненно хранящихся на огромном количестве сетевых узлов, и соединения указанных фрагментов в пригодный для использования файл.
Применение помехоустойчивого кодирования корректирующими кодами при распространении фрагментов частей файлов обеспечивает дополнительную степень надежности благодаря свойственной данному виду кодирования процедуре поиска/исправления ошибок, что позволяет системе распределять данные без необходимости их многократной репликации, без ухудшения рабочих характеристик системы и без рисков нарушения защищенности информации.
Дополнительные вопросы.
Как указано выше, одним из наиболее ресурсоемких процессов остается помехоустойчивое кодирование, характеризующееся возникновением интенсивной вычислительной нагрузки на центральный процессор. Для решения указанной проблемы в конфигурации ПТД предусмотрены высокопроизводительные аппаратные средства, гарантирующие, что ЦП (либо его виртуальный аналог), используемый для серверов с ПТД, удовлетворяют рабочим потребностям системы. Кроме того, пакет программного обеспечения может кодироваться с использованием языка программирования Go, включая серверы с ПТД. Объекты с неуправляемым кодом, создаваемые с использованием языка программирования Go, помогают улучшить общую производительность системы, в частности производительность серверов с ПТД, где процедура помехоустойчивого кодирования, занимает основные ресурсы ЦП.
В качестве клиентского приложения может использоваться любой клиентский агент, выполненный с возможностью работы на клиентской платформе операционной системы (ОС). При необходимости, клиентское приложение может быть написано на Javascript для работы в браузере. Это способствует доступности такого клиентского приложения для широкой номенклатуры физических устройств.
Вышеописанные методы хранения данных могут быть выстроены под реализацию практики повсеместного использования виртуализированных серверов. Например, три виртуальных сервера, работающих параллельно, могли бы использоваться вместо одного физического аппаратного сервера для улучшения рабочих характеристик оборудования и обеспечения независимости от конкретного вида технических средств. Существующая система хранения и передачи данных основана на технологии объектноориентированной памяти и данные при этом воспринимаются как ссылочный массив информации, независимый от какой-либо конкретной файловой структуры. Задача тут состоит в создании системы с возможностью ее превращения в систему блочного хранения данных для соответствия современным стан
- 9 031078 дартам виртуализации при хранении информации. В будущем, существующую объектную модель возможно будет без труда преобразовать в блоковое хранилище данных.
В некоторых вариантах осуществления изобретения исправление ошибок посредством помехоустойчивого кодирования на стороне ПТД производится с использованием кодов Рида-Соломона. При этом ПТД также снабжен средством сбора файлового мусора для случаев неполного считывания и записи данных со стороны ПТД на/из СУХД.
На фиг. 9 представлена блок-схема с последовательностью операций процесса сбора файлового мусора, который является необходимым для удаления объектов, записанных не полностью в блок памяти узла хранения данных, то есть объектов, для которых маска кардинально меньше, чем k. Такие объекты могут редко появляться в системе при условии, что в силу какой-либо причины не происходит загрузка на сервер блока данных больше чем n-k и приложение неожиданно завершает работу. Последовательность состоит из четырех операций.
1. Получение списка неполных объектов. В каждый установленный период времени (который может быть задаваемой величиной) возможно получение списка неполных объектов с использованием функции LIST INCOMPLETE хранилища метаданных.
2. Получение уникальных идентификаторов. Получение соответствующих уникальных идентификаторов блоков данных осуществляется при помощи функции GET (см. табл. 2).
3. Удаление данных. Извлечение идентификаторов узлов хранения данных и идентификаторов блоков данных из вышеуказанных уникальных идентификаторов и удаление соответствующих блоков данных из узлов хранения данных с использованием функции DELETE (см. табл. 1).
4. Удаление метаданных. Удаление из метаданных записи об удаленном объекте с использованием функции DELETE.
Прикладные программы.
Миграция корпоративных данных из корпоративного центра обработки информации в облачное хранилище.
Существенное улучшение скорости передачи данных, их защищенности, достоверности и доступности в соответствии с раскрытым в настоящей заявке способом дает возможность корпоративным пользователям перемещать многие типы своих данных, в том числе и в частности потоковый мультимедийный контент, из своих корпоративных центров обработки информации в облачные хранилища. Данная возможность обеспечит доступность указанных корпоративных данных для гораздо более широкого круга пользователей, расположенных как в самой компании, так и в сторонних организациях.
В соответствии с раскрытым в настоящей заявке способом недоиспользованные в настоящее время корпоративные ресурсы хранения данных станут доступны для пользователей на защищенных узлах хранения данных. Это может в значительной мере снизить корпоративные издержки на хранение данных и даст возможность сетям защищенного и распределенного хранения данных получить разветвленность своей структуры.
В перспективе, тот же самый вариант доступа к недоиспользованным ресурсам хранения данных могут получить и обычные категории пользователей, состоящие из владельцев компьютеров, со своими наборами устройств хранения данных с низким коэффициентом использования. При этом появляется возможность создания обширных сетей распределенного хранения данных, в основе которых будет лежать известный принцип действия файлообменного приложения BitTorrent, но дополненный быстро возрастающей скоростью передачи данных и большей защищенностью информации. Целый переворот в области электронно-вычислительной техники, совершенный мобильными устройствами, строится на возможности доступа к данным, хранящимся в облачном хранилище. В устройствах, известных из предшествующего уровня техники, потребность в возможности такого доступа была едва ли обусловлена этими взаимосвязанными технологиями, учитывая недостаточность скорости передачи данных и слабую защищенность информации в ресурсах облачного хранения данных. В настоящее время существует особая необходимость в организации для большего количества как частных, так и корпоративных клиентов доступа к данным через мобильные устройства, в частности через приложения, предназначенные для воспроизведения потокового мультимедиа. Поскольку тенденция эксплуатации компьютерной техники сместилась в сторону интенсивного использования мобильных устройств, а не в сторону настольных компьютеров и не столь мобильных портативных компьютеров, доступность данных для пользователей требует широкомасштабного переноса данных в облачные хранилища. Раскрытый в настоящей заявке способ облегчает реализацию указанной миграции данных.
Цифровое потоковое мультимедиа.
Раскрытый в настоящей заявке способ по своей сущности естественным образом согласуется с потребностями, продиктованными технологией цифрового потокового мультимедиа. Предложенные в заявляемом изобретении усовершенствования в отношении скорости передачи данных и защищенности информации, а также более значительная степень использования доступных ресурсов хранения данных обеспечивают более существенную скорость передачи поточных данных с использованием современных протоколов обмена и техники связи. В соответствии с примерами осуществления изобретения, раскрытыми в данной заявке, значительность объема памяти, необходимого для хранения видео-, аудио- и про
- 10 031078 чих мультимедийных данных может быть дополнительно достигнута за счет большей доступности и более интенсивного использования существующих ресурсов и инфраструктуры, предназначенных для хранения информации.
Спутниковое телевидение.
Применение в составе аппаратных средств спутникового телевидения накопителей на жестких дисках высокой емкости является примером того, как ресурсы хранения данных с низким коэффициентом использования могут быть приспособлены для реализации раскрытого в данной заявке способа для организации высокоскоростной, защищенной сети распределенного хранения данных с участием широкого круга абонентов спутникового телевидения. Данный ресурс может самым существенным образом увеличить ценность сети спутникового телевидения и открыть дорогу для абсолютно новых коммерческих возможностей.
В соответствии с некоторыми примерами осуществления настоящего изобретения применяется высокозащищенный алгоритм помехоустойчивого кодирования для кодирования фрагментов файла с целью обеспечения восстановления данных при их частичной потере в результате возникновения ошибок в процессе передачи информации.
В частности, применяется алгоритм смешивания данных (АСД), который кодирует объект F, имеющий размер L = /F/ с получением, при этом n нераспознаваемых частей Fb F2, ... Fn, каждая из которых имеет размер L/m (где m меньше n), таким образом, что указанный первоначальный объект F может быть восстановлен из любых m частей. В основе АСД лежит код смешивания m до n. Данные, содержащиеся во фрагментах, обработанных с использованием АСД, являются надежными. Это означает, что не представляется возможным явным образом восстановить данные в исходном объекте F, если количество указанных частей меньше, чем m. Ниже приводится подробное описание работы АСД в соответствии с примером осуществления настоящего изобретения.
Указанный код смешивания m до n представляет собой код прямого исправления ошибок (КПИ), чей кодовый выходной сигнал не содержит каких-либо входных символов и который преобразует сообщение, состоящее из m символов, в более длинное сообщение, состоящее из n символов, таким образом, что исходное сообщение может быть восстановлено из подмножества, содержащего n символов с длиной m.
Исходный объект F первоначально делится на m сегментов Si, S2, ... Sm, причем размер каждого такого сегмента составляет L/m. Далее, указанные m сегментов кодируют для получения n нераспознаваемых частей F1, F2, ... Fn с использованием кода смешивания m до n, например:
(S1,S2,...Sm)*Gmxn = (F1,F2..... Fn), где Gmxn является порождающей матрицей указанного кода смешивания и удовлетворяет следующим условиям:
1) любой столбец порождающей матрицы Gmxn не равен любому столбцу единичной матрицы mxn;
2) любые столбцы порождающей матрицы Gmxn образуют невырожденную матрицу mxn;
3) любая квадратная подматрица своей порождающей матрицы Gmxn является невырожденной. Первое условие обеспечивает получение в результате кодирования n нераспознаваемых частей.
Второе условие обеспечивает возможность восстановления исходного объекта F из любых m частей, где m меньше n, а третье условие гарантирует, что АСД обладает высокой надежностью.
Эффективным способом построения АСД с высокой надежностью из произвольного кода смешивания m до (m+n) является следующий:
1) выбирается произвольный код смешивания m до (m+n), чья порождающая матрица имеет вид:
2) строится АСД, принимающий код смешивания m до n, чья порождающая матрица имеет вид:
Например, указанной порождающей матрицей может быть матрица Коши, показанная ниже. Любая подматрица матрицы Коши
Г 1 1 1
%1 + Л 1 А + У2 1 А + ут 1
Х2 + У1 х2 + У2 е х2 + Ут
i i ' i
где x1, ..., xn, y1, ..., yn принадлежит Zp, xi+yj не равно нулю; i не равно j, следовательно x; не равно Xj и у; не равно yj, является невырожденной матрицей.
Таким образом, основанный на данной матрице код смешивания обладает высокой надежностью.
- 11 031078
В соответствии с другим примером порождающим кодом может быть матрица Вандермонда.
Для построения АСД с высокой надежностью из кода смешивания, чьей порождающей матрицей является матрица Вандермонда, выбираем код смешивания, m до (m+n) с порождающей матрицей, имеющей вид:
>
Ят+п м-i где И1, a2, ..., am+n являются четко заданными.
Далее, имеется возможность восстановить АСД, характеризующийся высокой надежностью, в ко тором порождающая матрица имеет вид:
( _0 0 о Л -1 < 0 0 0 λ
а1 ат гН+1 ат+2 ' • (1 ит+п
1 1 1 1 1 1
- а1 а2 • · <7 X ' ^т+п
_и-1 .т-1 „м-1 т—1 т-1 т-1
а2 ‘' ат > 1^+1 ат+2 · ат+пJ
Пример выполнения кодирования.
Предположим, что имеется объект F с размером L = /F/. В конкретном примере, L = 1048576 (файл объемом 1 Мбайт). Для выполнения кодирования выполняют следующие операции:
1. Выбирается m и n (см. описание выше). Например, m=4, n=6.
2. Выбирается число с размером w (обычно 8, 16, 32, которым в данном примере будет число 8). Все арифметические операции будут производиться в отношении выражения GF(2W).
3. Выбирается размер пакета z (должен быть кратным размеру машинного слова, и в данном примере он будет равен 256).
4. Вычисляется размер кодирующего блока Z = wxz, который также должен быть кратным m. В данном примере, Z = 8x256 = 2048 (байт) и данная величина кратна числу 4.
5. Исходный объект F заполняется произвольными байтами с увеличением в результате его размер от L до L' таким образом, что L' является кратным Z.
6. Объект F разбивается на части с размером Z. Все последующие операции будут выполняться над этими частями объекта, но, однако, обозначим их пока буквой F.
7. Производится разбиение F на последовательности F = (Ъь ... bm), (bm+1, ... b2m), ..., где b, является символом, имеющим длину w бит. В данном примере, он является просто байтом. Для удобства обозначим S1 = (b1, ... bm) и т.д.
8. Применяется схема смешения:
F, = си, С|2.....Cjn, где cik ~ ai*§k = ai1*b(k-l)m+1 + ··· + aim*bkm>
где aij являются элементами матрицы Коши nxm (см. выше).
Отметим, что размер F, составляет L,=L/m, в рассматриваемом примере это составляет 250 кбайт (162144 байт).
Пример выполнения декодирования.
Теперь предположим, что имеется m частей объекта F, с размером L,. В данном примере пусть i = 1, 3, 5, 6 на основании предположения, что F2 и F4 были потеряны из-за ошибок при передаче данных. Для выполнения декодирования и восстановления первоначального объекта F выполняются следующие операции.
1. Строится матрица A mxm из использовавшейся для процедуры кодирования матрицы Коши nxm посредством удаления всех рядов, за исключением тех, которые носят номера i. В данном примере удаляются ряды 2 и 4.
- 12 031078
2. Производится инвертирование матрицы А и применение алгоритма разделения:
---------------------1 _____________________1 1 _____________________1
= А~1
_Си1_
для каждого сегмента S1=(b1, ... bm) и т.д.
3. Производится соединение сегмента S; в исходную часть объекта F, характеризующуюся длиной Z.
4. Производится соединение вместе блоков, имеющих длину Z, с получением исходного объекта F с блоком незначащей информации.
5. Производится удаление блока незначащей информации из F, согласовав, таким образом, данный объект с размером L.
В примерах осуществления настоящего изобретения вышеуказанные методики обработки данных для распределенного хранения информации и выполнения помехоустойчивого кодирования корректирующими кодами, обеспечивающего нераспознаваемость исходных данных, находят применение для обработки потокового мультимедийного контента. Как объясняется выше, мультимедийный файл провайдера мультимедийного контента разбивают на малые фрагменты частей файла в два этапа. На первом этапе весь файл (который может быть сжатым или несжатым) разделяют на группу частей файла. Эти части файла могут быть зашифрованы с формированием файла метаданных, описывающих в виде карты каким образом указанные части файла могут быть собраны в исходный файл.
На втором этапе производится разбиение каждой части файла на фрагменты данных меньшего размера, которые подвергают затем помехоустойчивому кодированию в соответствии с вышеописанными методиками с получением при этом исходных данных в нераспознаваемом виде. Операция помехоустойчивого кодирования может быть выполнена группой файловых серверов, работающих с высокой производительностью, причем каждый отдельно взятый файловый сервер осуществляет помехоустойчивое кодирование своей(их) части(ей) файла. Это представляет собой систему виртуального помехоустойчивого кодирования, распределенную среди n серверных блоков помехоустойчивого кодирования. Указанное помехоустойчивое кодирование обеспечивает заданную степень избыточности в процесс накопления данных при формировании группы фрагментов частей файла, которые затем рассредоточиваются по группе узлов хранения данных. Заданная степень избыточности данных при помехоустойчивом кодировании составляет 30% или более. При получении частых запросов о доступе к мультимедийному файлу, указанная система может увеличить объектную избыточность конкретных частей файла.
Раскрытая в данной заявке методика помехоустойчивого кодирования также предусматривает наличие мощной системы автоматического исправления ошибок, которая обеспечивает получение клиентом правильных пакетов данных при работе с потоковым мультимедийным контентом, исключая при этом потерю указанных пакетов данных. В процессе помехоустойчивого кодирования, каждый фрагмент данных также может быть зашифрован. Назначением второго файла метаданных является описание проведения необходимой последовательности операций для сборки фрагментов частей файла в правильные пакеты потокового мультимедиа. В обычном случае может потребоваться не менее 5 узлов хранения информации для успешной обработки данных для организации из/в поток (хотя количество указанных узлов хранения является функцией загрузки системы и прочих параметров). Указанные узлы хранения информации необязательно должны быть в полном составе расположены вблизи клиента, который выступит получателем потоковых данных, но они могут быть расположены в пределах широкой географической зоны обслуживания.
Для воспроизведения потокового мультимедийного контента клиенты загружают с серверных узлов требуемые фрагменты данных, которые затем собираются в правильном порядке в восстановленный мультимедийный файл. Операция сборки фрагментов производится в порядке обратном последовательности создания указанных фрагментов данных. Эти фрагменты данных собирают в части файла, которые затем собираются, по меньшей мере, в сегменты исходного мультимедийного файла. Как это повсюду имеет место в технологии потоковой передачи информации, скорость загрузки и обработки фрагментов данных должна быть достаточно высокой для обеспечения своевременности обработки пакета данных, необходимого в конкретный момент времени для воспроизведения мультимедиа. Клиентское программное приложение, в составе которого может фигурировать любое средство воспроизведения потокового мультимедиа, осуществляет выборку фрагментов частей файла в правильной последовательности для начала воспроизведения файла с потоковым мультимедиа.
В случае потокового мультимедиа важным моментом является последовательный характер сборки всех фрагментов данных в правильном порядке для последующего просмотра либо прослушивания указанного мультимедийного файла от начала до конца. Сборка фрагментов информации на клиентском устройстве происходит с использованием данных карты, содержащихся в файлах метаданных, с целью надлежащего получения указанных фрагментов информации в правильной своей последовательности. По аналогии с современными технологиями потоковой передачи данных, если скорость загрузки превы
- 13 031078 шает время, необходимое для воспроизведения следующих пакетов мультимедийных данных, устройство считывания произведет загрузку и сборку следующих временных фрагментов, хранящихся в буферном запоминающем устройстве, для их использования, когда устройство воспроизведения мультимедийных файлов достигнет того самого временного сегмента. Указанные фрагменты файла вполне могут так и остаться невосстановленными когда-либо до исходного медиафайла, а просто оказаться воспроизведенными в нужное время и оставленными храниться в виде фрагментов файла. Это повышает защищенность цифровых мультимедийных файлов при их воспроизведении, если у пользователя не имеется законных прав на данный медиафайл. Разумеется, поскольку загрузка всех фрагментов файла уже произошла, при отсутствии у пользователя законных прав на исходный медиафайл фрагменты могут быть собраны на клиентском устройстве в форме целостного исходного медиафайла. Поскольку данный медиафайл передается из группы узлов хранения данных, скорость загрузки файла существенно превысит обычную скорость загрузки, известную из предшествующего уровня техники. В предпочтительном варианте для загрузки файлов задействованы узлы хранения данных, характеризующиеся в текущий момент времени наилучшими свойствами соединения с клиентом. Так как хранящиеся на узлах данные являются избыточными, то клиентское программное обеспечение при считывании поточных данных в приоритетном порядке выбирает для загрузки данных лишь те узлы хранения, которые обеспечивают наивысшую скорость передачи данных.
Данный способ применим ко всем типам клиентских устройств, к которым могут относиться настольные компьютеры, портативные компьютеры, планшетные компьютеры, смартфоны и т.д. Он вовсе не призван заменить современные программные средства работы с поточными данными, а лишь служит для них еще одним дополняющим уровнем, благодаря использованию файлов распределения памяти для соединения требуемых фрагментов данных в правильном порядке.
Преимущества над ранее известными системами.
Раскрытый в заявке способ распределенного хранения и помехоустойчивого кодирования корректирующими кодами потоковых данных обеспечивает существенные преимущества в свете вышеуказанных ограничений присущих известным из уровня техники способам потоковой передачи контента.
А. Скорость передачи данных.
В силу вышеизложенных причин, раскрытые в настоящей заявке варианты осуществления изобретения обеспечивают значительные преимущества в части скорости передачи данных при обычных свойствах подключения к сети Интернет по сравнению с известными из уровня техники способами потоковой передачи контента.
Наряду с решением распределить указанные фрагменты данных по облачным хранилищам с использованием высокопроизводительных серверов, у провайдера мультимедийного контента также может возникнуть намерение направить указанные фрагменты данных на хранение в группу запоминающих устройств, объединенных в сеть любого типа. При восстановлении медиафайла его части могут передаваться из группы или в группу серверов параллельно с получением при этом значительного увеличения скорости передачи данных. Это достигается благодаря используемым в настоящее время популярным способам ускорения загрузки, предусматривающим также возможность многоканальной загрузки частей файла, обеспечивающей значительное увеличение скоростей загрузки. Проблемы, связанные с сетевыми задержками, имеющиеся в одном из сетевых подключений для передачи данных на один из узловых серверов хранения, не станут препятствием для более скоростной передачи данных на другие серверы, функционирующие в условиях нормальной сетевой задержки. При этом более скоростная передача данных делает возможным воспроизведение в реальном масштабе времени больших, несжатых мультимедийных файлов и тем самым обеспечивает высококачественное воспроизведение потокового мультимедиа.
Клиентские средства программного обеспечения выполнены с возможностью приоритетного выбора загрузки данных с тех узлов хранения информации, которые характеризуются наивысшей скоростью передачи данных в направлении местоположения конкретного клиента, что обеспечивает дополнительные преимущества в скорости передачи данных. Из всего набора узлов хранения данных, расположенных во всех странах мира, каждое клиентское приложение выполнено с возможностью выбора для считывания потоковых мультимедийных данных лишь тех узлов хранения информации, которые характеризуются наибольшей скоростью передачи данных в текущий момент времени. Избыточность данных при помехоустойчивом кодировании также означает, что более чем один узел хранения информации содержит следующий требуемый фрагмент, давая клиенту тем самым возможность выбора из всех имеющихся узлов хранения информации лишь такие, которые характеризуются наибольшей скоростью передачи данных.
В зависимости от текущих условий скорости передачи данных, оптимизация также может быть выполнена и в отношении задачи распределения фрагментов данных по различным узлам хранения информации. Для хранения фрагментов данных более крупного размера могут быть выбраны узлы хранения информации с наилучшими характеристиками сетевого подключения, оптимально выделяя таким образом имеющиеся узлы хранения информации с наибольшей скоростью передачи данных при их распределении по местам хранения.
- 14 031078
В частности, применяемое в данном способе помехоустойчивое кодирование может осуществляться и со стороны сервера, в случае если выбор конкретных серверов для указанной задачи обусловлен их высокой производительностью, поскольку в процессе помехоустойчивого кодирования имеет место интенсивная вычислительная нагрузка на ЦП.
Б. Защищенность данных.
Как описано выше, раскрытый в настоящей заявке способ распределенного и виртуального помехоустойчивого кодирования потоковых данных предусматривает лучшую защищенность информации по сравнению с предшествующим уровнем техники, предусматривающим хранение целостного файла на физическом носителе в одном пункте облачного хранения данных.
Кроме того, имеется возможность организации коллективного доступа для группы пользователей к указанным серверам, используемым как для обработки, так и для хранения фрагментов частей файлов, при этом задача определения принадлежности частей файлов конкретному пользователю становится для злоумышленника невыполнимой. Таким образом, злоумышленникам становится еще сложнее преодолеть защищенность данных с фрагментами мультимедийных файлов при использовании данного способа хранения информации.
В. Доступность данных.
Как описано выше, раскрытый в настоящей заявке способ распределенного хранения данных и их виртуального помехоустойчивого кодирования также позволяет достичь преимущества в части доступности данных по сравнению с известной из уровня техники существующей методики потоковой передачи мультимедиа. Разделение файла на группу фрагментов файловых частей с хранением их в группе физических узлов хранения данных, расположенных предпочтительно в различных географических пунктах, позволяет пользователям в случае ухудшения качества связи с одним из физических узлов хранения данных получать идентичные данные из других узлов хранения данных с иным местонахождением, качество связи с которыми остается удовлетворительным. Общим техническим результатом хранения данных в группе узлов хранения является обеспечение бесперебойности в работе системы хранения и передачи информации в условиях возможного ухудшения качества связи на одном из участков указанной системы.
Применение помехоустойчивого кодирования, делающего исходные данные нераспознаваемыми, в сочетании с использованием группы узлов хранения с избыточными данными дополнительно создает средство исправления ошибок, характеризующееся производительностью и защищенностью. Проблемы, связанные с потерями пакетов данных и представляющие собой недостаток известного из уровня техники способа потоковой передачи информации, уже утрачивают при этом свою актуальность. В соответствии с известным из уровня техники способом потоковой передачи информации нередко требуется направлять группу копий одного и того же файла на множество серверов в пределах зоны географического обслуживания и обеспечивать при этом хорошее качество подключения пользователя к серверу, предназначенному для хранения потоковых данных, воспроизведение которых необходимо получить указанному пользователю. Раскрытый в настоящей заявке способ потоковой передачи информации исключает необходимость хранения полностью избыточных копий исходного мультимедийного файла в группе серверов в пределах зоны обслуживания.
Г. Достоверность данных.
По сравнению с известными из уровня техники техническими решениями раскрытый в настоящей заявке способ распределенного хранения данных и их виртуального помехоустойчивого кодирования также позволяет достичь значительных преимуществ в части обеспечения достоверности потоковых мультимедийных данных. Разделение каждого файла на фрагменты частей указанного файла означает, что сбои либо ошибки в работе аппаратных или программных средств, которые могут возникнуть в одном из пунктов хранения данных на физическом сервере, будут не в состоянии нарушить доступ к указанному файлу, в отличие от того положения дел, которое имеет место при использовании известного из уровня техники способа, когда весь файл целиком хранится в одном пункте хранения на физическом накопителе данных. При этом применение помехоустойчивого кодирования, обеспечивающего нераспознаваемость исходных данных, предоставляет возможности, гарантирующие высокое качество при исправлении ошибок наряду с повышением защищенности мультимедийного контента.
Защита авторских прав техническими средствами.
Вопрос взаимодействия с техническими средствами защиты авторских прав (ТСЗАП), защищающими мультимедийный контент от несанкционированного копирования пользователями, представляется в особенности важным, когда речь идет о передаче файлов с потоковым мультимедийным контентом. Имеющаяся на рынке мультимедийная продукция от сторонних производителей снабжена средствами, позволяющими обходить алгоритмы защиты авторских прав при воспроизведении потокового мультимедиа. Поскольку в раскрытом способе предусматривается разделение поточных данных на фрагменты с возможностью их последующего шифрования и помехоустойчивого кодирования каждого фрагмента, делающего исходные данные нераспознаваемыми, возможности алгоритмов защиты авторских прав существенным образом возрастают. Если пользователь, направляющий запрос о получении потокового мультимедийного контента, не владеет правом собственности на мультимедийный файл, а лишь обладает
- 15 031078 правом на воспроизведение такого файла, то физическая сборка реального мультимедийного файла на клиентском устройстве из файловых фрагментов, зашифрованных и подвергнутых ранее помехоустойчивому кодированию, может не состояться, даже при сохранении возможности воспроизведения указанного файла. При этом применяется гораздо более надежный алгоритм защиты авторских прав владельца контента, исключающий возможность быстрого обхода данного защитного алгоритма со стороны третьих лиц, использующих существующие в настоящее время способы преодоления такой защиты.
Таким образом, обобщая вышеизложенное, раскрытый в настоящей заявке способ распределенного хранения и виртуального помехоустойчивого кодирования потокового мультимедийного контента в соответствии с примером осуществления настоящего изобретения предусматривает выполнение нижеследующих основных задач:
1) разделение мультимедийного файла, поступающего от провайдера мультимедийного контента, на группу сегментов или частей, которые в конечном счете будут дополнительно разбиты на фрагменты частей файла с выполнением помехоустойчивого кодирования указанных фрагментов на распределенных серверах помехоустойчивого кодирования с получением при этом указанных фрагментов файла нераспознаваемыми;
2) создание карты указанных частей файла с описанием, каким образом было выполнено разделение указанного файла и с возможностью обратной сборки указанного файла из его частей на стороне пользователя. Указанное описание в виде карты содержится в первом файле метаданных;
3) необязательное шифрование указанных частей файла для дополнительной защищенности данных;
4) необязательное сжатие указанных частей файла для сокращения требуемого объема хранилища данных и улучшения скорости их передачи;
5) помехоустойчивое кодирование указанных частей файла для повышения возможностей исправления ошибок и восстановления данных;
6) создание карты с описанием указанных фрагментов частей файла, необходимых для обратной сборки из них частей файлов. Указанное описание в виде карты содержится во втором файле метаданных;
7) необязательное шифрование указанных фрагментов частей файла для дополнительной защищенности данных;
8) необязательное сжатие указанных фрагментов частей файла для сокращения требуемого объема хранилища данных и улучшения скорости их передачи;
9) дешифрование на клиентском устройстве указанных фрагментов частей файла и обратная сборка из них соответствующих частей файла с последующим восстановлением из данных частей всего мультимедийного файла для воспроизведения на клиентском устройстве воспроизведения мультимедийного контента (либо с использованием браузера). Следует отметить, что сборка указанных фрагментов с получением частей файла должна осуществляться в правильном порядке, и что правильность порядка должна также соблюдаться при восстановлении из данных частей всего мультимедийного файла. Этот алгоритм двухэтапного восстановления указанного мультимедийного файла с использованием описательной информации из указанных двух файлов метаданных заложен в программные средства пользователя.
Структурные составляющие указанного способа можно наглядным образом представить в виде нижеследующих четырех уровней.
1. При помощи КЦП (см. фиг. 1) осуществляют разделение мультимедийного файла, поступающего от провайдера мультимедийного контента на группу частей файла, необязательно производят шифрование указанных частей файла и формируют первый файл метаданных с описанием в виде карты, указывающей как именно указанные части могут быть собраны в исходный мультимедийный файл. Указанный первый файл метаданных также содержит информацию о надлежащем порядке сборки указанных частей в файл.
2. При помощи ПТД (см. фиг. 1), осуществляют разделение каждой части мультимедийного файла на фрагменты с применением при этом помехоустойчивого кодирования, делающего указанные фрагменты частей файла нераспознаваемыми. В соответствии с примером осуществления настоящего изобретения возрастание избыточности данных при помехоустойчивом кодировании составляет 30%. Далее формируют второй файл метаданных с описанием в виде карты, указывающей, как именно указанные фрагменты частей мультимедийного файла могут быть собраны в исходную часть мультимедийного файла в надлежащем порядке при воспроизведении указанных фрагментов на устройстве пользователя.
3. В составе СУХД (см. фиг. 1) содержатся различные узлы хранения данных, используемые для распределения в них фрагментов данных. Указанные узлы хранения данных необязательно все в полном составе являются серверами облачного хранения. Таким узлом хранения может быть центр обработки информации, жесткий диск компьютера, мобильное устройство либо иное мультимедийное устройство, выполненное с возможностью хранения данных. Количество и идентификационные сведения этих узлов хранения выбираются провайдером мультимедийного контента для оптимизации времени ожидания в сети и защищенности конфигурации хранения информации при помощи использования узлов хранения данных, характеризующихся самым низким временем ожидания и наилучшей доступностью.
- 16 031078
4. На верхнем структурном уровне средств программного обеспечения, предназначенных для воспроизведения потокового мультимедийного контента, хранение и передача которого осуществляется в соответствии с настоящим способом, может располагаться клиентский декодер конечного пользователя (ДКП). На указанном четвертом структурном уровне формируется запрос, адресованный провайдеру мультимедийного контента, о направлении пользователю потокового мультимедиа, а затем на указанный уровень поступают файлы соответствия, полученные из двух файлов метаданных, сформированных на уровнях (1) и (2), за пределами которых при помощи ДКП осуществляется сборка указанных фрагментов мультимедийного файла в части мультимедийного файла, а из указанных частей происходит восстановление исходного мультимедийного файла, предназначенного для воспроизведения либо хранения. Представляется очевидным, что восстановление мультимедийного файла необходимо производить в правильном порядке для воспроизведения мультимедийного контента по запросу пользователя. В случае приобретения клиентом прав на потоковый мультимедийный контент, предусматривающих загрузку целого файла, то при помощи ДКП будет осуществляться как воспроизведение, так и сборка исходного файла, поскольку имела место загрузка файла полностью. В случае приобретения клиентом прав лишь на воспроизведение указанного мультимедийного файла, то при помощи ДКП будет осуществляться только воспроизведение такого файла в правильной последовательности его частей и с занесением в блок памяти фрагментов указанных частей данного мультимедийного файла с возможностью его повторного воспроизведения, но без сборки целого файла из указанных фрагментов. При этом ДКП также занесет фрагменты данных в буферную память клиентского устройства воспроизведения, если скорость загрузки данных превысит скорость воспроизведения мультимедийного файла, что должно случаться большую часть времени. Также указанный ДКП может быть выполнен с возможностью взаимодействия с устройством воспроизведения мультимедийных файлов в целях получения и обработки запросов о получении сегментов мультимедийных файлов, расположенных с опережением либо с отставанием относительно текущего времени воспроизведения мультимедийного файла.
Прочие вопросы производительности в системе хранения файлов.
При высокой востребованности конкретного мультимедийного файла в многочисленной группе пользователей имеется два основных варианта действий, позволяющих удовлетворить возросшую потребность в мультимедийном контенте.
Во-первых, для распределенного хранения фрагментов мультимедийных данных, подвергнутых операции помехоустойчивого кодирования, может быть задействовано более существенное количество узлов хранения таких фрагментов. Если запросы на конкретный мультимедийный контент поступают преимущественно из одной географической зоны, то выбираемые для хранения фрагментов контента узлы должны характеризоваться наилучшей скоростью передачи данных для пользователей, расположенных в указанной зоне.
Во-вторых, этап помехоустойчивого кодирования может выполняться в варианте с повышенной степенью избыточности данных. Например, вместо степени избыточности данных 30% может быть выбрана повышенная степень такой избыточности, что поможет обеспечить передачу более существенных объемов данных в условиях нагруженности сети клиентскими запросами.
Два вышеуказанных действия могут осуществляться в динамическом режиме для удовлетворения конкретных клиентских запросов и соответствия требованиям по загрузке данных, которые могут возникать в реальном масштабе времени.
Кроме того, в целях улучшения доступности данных некоторые части или фрагменты мультимедийного файла могут быть выбраны для придания им повышенной степени избыточности. В частности, первым сегментам указанного мультимедийного файла может даваться наиболее высокая степень избыточности для удовлетворения возросших потребностей со стороны пользователей в мультимедийном контенте.
Несмотря на то что описание и графические иллюстрации заявленного объекта изобретения приведены применительно к конкретным примерам осуществления изобретения, квалифицированным специалистам в данной области техники следует понимать, что признаки раскрытых вариантов осуществления изобретения могут сочетаться друг с другом, меняться местами и видоизменяться с получением в результате этого дополнительных вариантов осуществления изобретения, не выходящих за пределы объема притязаний заявителя, и что при этом также допускается внесение различных иных изменений, исключений и дополнений в указанные варианты осуществления изобретения и характеризующие их признаки без отступления от сущности и объема настоящего изобретения.
- 17 031078
Таблица 1
1 Клиентское приложение посылает запрос о загрузке файла в КЦП относительно файла в клиентском центре обработки данных. Клиентское приложение также посылает в КЦП список оптимизированных и объединенных в сеть узлов хранения данных для последующего использования в целях хранения фрагментов файлов. Производится создание файла метаданных с наименованием метаданные О для описания физических параметров файлов в клиентском центре обработки данных (размер файла, место расположения, контрольная сумма, и.т.д.). Выполняется шифрование указанного файла метаданных о последующим сохранением в клиентском центре обработки данных и также с отправкой на узлы хранения. Целый файл в центре обработки данных Клиентское приложение
2 КЦП присваивает уникальный идентификатор файлу, который должен быть загружен на сервер. Целый файл в центре обработки данных КЦП
- 18 031078
3 КЦП делит файл на η частей с размером каждой части х. Количество частей η и размер каждой части х, в зависимости от размера целого файла, является параметром, который может задаваться клиентским приложением с последующей передачей на КЦП. Типовой вариант разделения файла: файл объемом 1 гигабайт разделяют на 500 частей. В η частей с размером X КЦП
настоящее время предполагается использовать части одного размера, хотя в дальнейшем будет применяться- более интеллектуальный подход к разделению файлов на части по более сложному алгоритму с оптимизацией защищенности клиента. Каждая часть содержит свои ^сформированные данные и информацию о клиентских параметрах и узлах хранения данных, предназначенных для хранения этого файла, в том виде как он был передан ранее при помощи клиентского приложения.
4 Каждой части файла присваивается свой уникальный идентификатор, используемый для составления описания частей файла в виде карты для последующего η частей с размером X КЦП
восстановления файла.
- 19 031078
5 6 Производится создание файла метаданных с наименованием метаданные 1 для описания каким образом указанные части файлов, имеющих свои идентификаторы, соединяются до исходного файла. Производится шифрование этого файла метаданных с использованием клиентского ключа шифрования и сохранение файла в клиентском центре обработки данных, при этом также осуществляется отправка файла метаданных на узлы хранения. Производится шифрование каждой части файла с использованием клиентского ключа шифрования. Чтение части файла может производиться исключительно клиентом. Применяется алгоритм ' симметричного шифрования. метаданные 1, шифрованные части файла с описанием в виде карты η шифрованных частей с размером X КЦП КЦП
7 Шифрованные части файлов при помощи КЦП отправляют на ПТД. Оптимизация по времени ожидания в сети выполняется при помощи КЦП посредством выбора конкретных ПТД для обработки указанных частей файла. Необходимость в данной процедуре обусловлена тем, что со стороны клиентских центров обработки информации может быть не обеспечена оптимальная скорость передачи и доступность данных, направляемых на ПТД. После осуществления выбора, указанные части файла в произвольном порядке направляются на ПТД для следующего этапа обработки. η шифрованных частей с размером X КЦП
- 20 031078
а ПТД представляют собой серверы обработки данных, функционирующие с поддержкой со стороны серверов, в соответствии с изобретением, и предназначены они для следующего этапа обработки данных. К их характеристикам относится высокая степень оптимизации их рабочих свойств, времени задержки и доступности со стороны узлов хранения данных. В оптимальном варианте, количество ПТД должно быть в два раза больше, чем количество объединенных в сеть узлов хранения данных в конкретной конфигурации клиентского оборудования с целью добиться оптимизации по скорости передачи и защищенности данных в предлагаемом способе в соответствии с изобретением. В обычном случае, группа таких ПТД серверов будет расположена в облачном ресурсе за пределами клиентского центра обработки данных, хотя при этом клиент вправе оговорить, что указанные серверы, используемые в роли ПТД, могут быть также размещены на по месту расположения клиента в целях оптимизации рабочих характеристик системы. Количество используемых серверов, задействованных в роли ПТД, η шифрованных частей с размером X, обычно вне местоположения клиента ПТД
- 21 031078
Помехоустойчивое кодирование на фрагменты частей
ПТД каждом ПТД осуществляется с использованием кодов РидаСоломона для разделения каждой части файла на фрагменты с добавлением некоторого количеств использованных в алгоритмах файла, созданные для каждой части с использованием помехоустойчивог о кодирования поиска и исправления ошибок в процессе помехоустойчивого кодирования. Типовой пример был указан выше, когда файл объемом гигабайт первоначально разделили (с помощью КЦП) на 500 частей равного размера, а каждую часть указанного файла с помощью
ПТД затем разделили на 15 фрагментов с использованием помехоустойчивого кодирования.
Этот процесс создает высокую вычислительную нагрузку на указанные серверы выполнены с возможностью оптимизации своей
- 22 031078
10 Каждому фрагменту части файла присваивается так называемый идентификатор фрагмента (ID) с последующим направлениемтакого фрагмента на один из назначенных Создание файла с именем метаданные 2 для описания в виде карты всех ПТД
ранее центров обработки фрагментов
информации, снабженного частей файла в
объединенными в сеть узлами сравнении с их
хранения данных. Производится исходными
создание файла - метаданных с частями файлов и
именем метаданные 2 для направление
описания каждого из фрагментов файла метаданных
части файла сравнительно с той в каждый узел
частью файла из которого данный фрагмент был образован и с указанием конкретного узла хранения куда фрагмент будет записан. Производится шифрование указанного файла метаданных с использованием серверного ключа шифрования с последующим направлением на каждый из узлов хранения данных, используемых для хранения хранения данных
- 23 031078
Производится шифрование каждого фрагмента частей файла с соотношение фрагментов на
ПТДСУХД использованием серверного ключа часть файла шифрования с последующим направлением фрагментов на предназначенные для хранения таких фрагментов узлы сети хранения данных. Нет необходимости в проведении оптимизации по времени ожидания между ПТД и СУХД, поскольку ПТД функционируют на базе серверов с высоким уровнем производительности и доступности, предварительнооптимизированных по времени ожидания для взаимодействия с группой СУХД.
- 24 031078
12 Для восстановления частей файла, в каждой СУХД сохраняется в целостном виде файл метаданные 2, содержащий описание в виде карты фрагментов частей файла, необходимых для такого восстановления, и описание тех фрагментов, которые предназначены для хранения в конкретной СУХД. В целях обеспечения скорости передачи данных не требуется очень значительного количества СУХД при наличии пяти таких СУХД, оптимизированных по уровню производительности, но с точки зрения защищенности информации значительное количество СУХД представляется разумным решением, поскольку это позволяет распределить фрагменты частей файла по гораздо ' большему количеству узлов хранения данных. Поэтому, соотношение фрагментов на часть файла СУХД
13 Все СУХД могут быть ранжированы по времени задержки относительно системы хранения данных в соответствии с изобретением в целях упрощения для пользователя задачи выбора конкретной СУХД для распределенного хранения файлов на ее узлах. СУХД
- 25 031078
Таблица 2
1 Клиентское приложение посылает запрос о загрузке файла в КЦП относительно Загруженный файл, хранящийся в СУХД Клиентское приложение
файла, который был ранее загружен на
сервер для хранения. Клиентское
приложен ле также посылает
идентификатор файла, который должен
быть загружен с сервера хранения в КЦП.
2 На указанном КЦП также происходит файл метаданные 1 от КЦП
получен и е файла метаданные 1, клиента
содержащего описание частей файла,
подлежащих восстановлению в целый
файл. Данный файл метаданных должен
быть дешифрован с использованием
клиентского „ ключа шифрования.
3 На указанный КЦП должны поступить из Запрос о получении КЦП
ПТД части файла. На ПТД поступает идентификатора части
запрос οι КЦП о получении файла
идентификатора части файла.
4 ПТД получает запрос о идентификаторе ПТД получает файл ПТД
части файла х, в результате которого метаданные 2
направляется запрос на одну из СУХД для
получения файла метаданных метаданные
2. Указанный файл метаданных должен
быть дешифрован с использованием
серверного ключа шифрования. >
5 После получения и дешифрования файла ПТД получает ПТД
метаданные 2, в распоряжении ПТД фрагменты части
появляется карта с описанием файла по
местонахождения фрагментов указанной идентификатору
' части файла, соответствующих данному указанной части файла
идентификатору части файла х и
хранящихся в различных центрах
обработки данных, входящих в состав
СУХД.
- 26 031078
6 Теперь ПТД отправляет запросы на все СУХД, содержащие указанные фрагменты данной части файла с идентификатором х, для поиска и загрузки этих фрагментов в соответствии с их собственными идентификаторами. При работе ПТД СУХД передает на ПТД запрашиваемые фрагменты части файла ПТД
используются средства помехоустойчивого
кодирования, внедренные в состав
каждого фрагмента части файла и
обеспечивающие загрузку данных
фрагментов с выполнением процедуры
поиска и исправления ошибок для
обеспечения точности получения
фрагментов части файла при их приходе
на ПТД.
7 ПТД осуществляет дешифрование всех ПТД производит ПТД
фрагментов части файла с восстановление части
использованием серверного ключа файла с
шифрования и производит из указанных идентификатором х.
фрагментов восстановление части файла с
идентификатором х.
- 27 031078
8 ПТД осуществляет отправку части файла с идентификатором х обратно на КЦП, в соответствии с запросом КЦП, при условии успешного прохождения восстановленной частью файла проверки на наличие ошибок. ПТД отправляет восстановленную часть файла обратно на КЦП ПТД
9 КЦП выбирает часть файла с КЦП осуществляет КЦП
идентификатором х, только что полученную дешифрование
от ПТД, и осуществляет ее дешифрование идентификатора части
с использованием клиентского ключа файла
шифрования. . ,
10 кцп использует файл метаданные 1 для КЦП осуществляет КЦП
запроса следующей части файла с запрос следующей
идентификатором у из ПТД. части файла из ПТД
11 ПТД осуществляет повторение КЦП продолжает ПТД
вышеуказанных действий 4 - 8 для запрашивать все части
восстановления части файла с файла, указанные
идентификатором у из фрагментов файле метаданные 1
указанной части файла, хранимых в СУХД,
до полного восстановления
запрашиваемой части файла с
идентификатором у и далее отправляет
восстановленную часть файла обратно на
КЦП.
- 28 031078
12 КЦП осуществляет дешифрование части КЦП и ПТД КЦП, ПТД
файла с идентификатором у, как описано осуществляют повтор
выше в пункте 9. Производится повтор действий вплоть до
выполнения указанных действий в полной загрузки в КЦП
отношении каждого идентификатора, всех частей файла
обозначающего часть файла и
содержащегося в файле метаданные 1,
причем КЦП запрашивает у ПТД
восстановленные части файла, который
. выполняет указанное восстановление
части файла и з ее фрагментов,
распределенных для хранения в различных
СУХД.
13 Получив все части файла, описанные в КЦП осуществляет КЦП
виде карты в файле метаданные 1, КЦП восстановление
использует указанный файл метаданные 1 исходного . файла С
для восстановления исходного, целостного соответствующи м ему
и загруженного на сервер файла с идентификатором FID
соответствующим . ему идентификатором из всех его частей С
FID. использованием
файла метаданные 1
14 КЦП отправл яет Целостный, КЦП передает КЦП
восстановленный, дешифрованный файл восстановленный файл
обратно в центр обработки данных в центр обработки
клиента, завершая тем самым действие данных клиента.
запроса, направляемого из клиентского
приложения.
- 29 031078

Claims (1)

  1. ФОРМУЛА ИЗОБРЕТЕНИЯ
    1. Способ хранения и обработки файлов данных для распределительных систем хранения данных, заключающийся в преобразовании файлов в блоки данных с присвоением каждому блоку уникального идентификатора и генерации метаданных, включающих схемы преобразования файлов, и включающий:
    a) кодирование частей файла данных, которое выполняют по меньшей мере одним процессором, с применением алгоритма смешивания данных (АСД), который используют для преобразования части F в n неузнаваемых блоков F1, F2, ... Fn, при этом:
    i) часть F может быть восстановлена из любой группы из m блоков, где m меньше n и размер каждого блока Fi в m раз меньше размера части F;
    ii) АСД, по меньшей мере, осуществляет такое кодирование с прямым исправлением ошибок (КПИО), при котором выходные аргументы КПИО не содержат копий составляющих входных аргументов и входные аргументы при кодировании представляют в виде группы отдельных последовательностей символов, где каждая последовательность имеет длину m и независимо преобразуется в соответствующую выходную последовательность длины n посредством КПИО, при этом входная последовательность длины m может быть восстановлена из любого подмножества символов мощности m множества символов выходной последовательности, отличающийся тем, что перед этапом а) осуществляют:
    b) разбиение файла на части с учетом структуры, обеспечивающее возможность потокового воспроизведения мультимедийного файла посредством последовательного восстановления частей файла; и
    c) построение схемы разбиения файла, которая специфицирует процедуру воссоздания файла по его частям, указываемым с помощью идентификаторов; после этапа a) выполняют:
    d) построение схемы разбиения части файла данных, которая специфицирует процедуру воссоздания части файла данных из блоков данных и места хранения соответствующих блоков данных, где части и блоки указаны посредством соответствующих идентификаторов.
    2. Способ по п.1, отличающийся тем, что он включает хранение, которое осуществляют с использованием по меньшей мере одного процессора и по меньшей мере части исполняемого кода, который в случае выполнения процессором обеспечивает восстановление файла данных с получением при этом частей файла данных из наиболее доступных неузнаваемых блоков и который, как минимум, частично выполняется в пункте, физически удаленном по своему местоположению от указанных неузнаваемых блоков.
    3. Способ по п.1, отличающийся тем, что кодирование частей файла данных, полученных при вышеуказанном разбиении файла, с получением неузнаваемых блоков осуществляют в группе рассредоточенных пунктов, причем выбор пунктов осуществляется с целью минимизации задержки.
    4. Способ по п.1, отличающийся тем, что он включает распределение указанных неузнаваемых блоков с использованием по меньшей мере одного процессора в группе запоминающих устройств, причем ни на одном из указанных запоминающих устройств не имеется достаточного количества информации для восстановления любого из указанных файлов данных, и выбор запоминающих устройств осуществляется с целью минимизации средней задержки.
    5. Способ по п.1, отличающийся тем, что он включает разбиение части файла данных F с использованием по меньшей мере одного процессора на m сегментов S1, S2, ... Sm одинакового размера, при этом указанные m фрагментов кодируют для получения n неузнаваемых блоков F1, F2, ... Fn с использованием выражения (S1, S2, ... Sm)xGmxn = (F1, F2, ... Fn), где:
    a) mxn матрица Gmxn является порождающей матрицей кода смешивания m до n, удовлетворяющей следующим условиям: порождающая матрица Gmxn не содержит ни одного столбца mxm единичной матрицы; любые m столбцов порождающей матрицы Gmxn образуют невырожденную матрицу размерности mxm; любая квадратная подматрица порождающей матрицы Gmxn является невырожденной;
    b) кодирование последовательности i-х символов фрагментов S1, S2, ... Sm осуществляется независимо от кодирования последовательности j-х символов, где индексы i и j имеют различные значения.
    6. Способ по п.1, отличающийся тем, что он включает построение алгоритма смешивания данных (АСД), обеспечивающего высокую степень защиты данных и возможность быстрого восстановления исходных данных, на базе произвольного кода смешивания m до (m+n) посредством выбора произвольного кода смешивания m до (m+n) с порождающей матрицей θιη х (m+n) ~ (θπι х m I ^m x n) >
    построения АСД, использующего код смешивания m до n, заданный порождающей матрицей р-1 · Г) mxm mxn‘
    7. Способ по п.6, отличающийся тем, что указанной порождающей матрицей является матрица Коши или матрица Вандермонда.
    - 30 031078
    8. Компьютерное устройство хранения и обработки файлов данных, включающее по меньшей мере один процессор, выполненный с возможностью осуществления операций способа по любому из пп.1-7.
    Фиг. 1
    Фиг. 2
    - 31 031078
    1 Клиентское приложение посылает запрос о загрузке файла в КЦП относительно файла в клиентском центре обработки данных. Клиентское приложение также посылает в КЦП список оптимизированных и объединенных в сеть узлов хранения данных для последующего использования в целях хранения фрагментов файлов. Производится создание файла метаданных с наименованием метаданные О для описания физических параметров файлов в клиентском центре обработки данных (размер файла, место расположения, контрольная сумма, и.т.д.). Выполняется шифрование указанного файла метаданных с последующим сохранением в клиентском центре обработки данных и также с отправкой на узлы хранения. Целый файл в центре обработки данных Клиентское приложение 2 КЦП присваивает уникальный идентификатор файлу, который должен быть загружен на сервер. Целый файл в центре обработки данных КЦП 3 КЦП делит файл на η частей с размером каждой части х. Количество частей η и размер каждой части х, в зависимости от размера целого файла, является параметром, который может задаваться клиентским приложением с последующей передачей на КЦП. Типовой вариант разделения файла: файл объёмом 1 гигабайт разделяют на 500 частей. В настоящее время предполагается использовать части одного размера, хотя в дальнейшем будет применяться более интеллектуальный подход к разделению файлов на части по более сложному алгоритму с оптимизацией защищенности клиента. Каждая часть содержит свои несформированные данные и информацию о клиентских параметрах и узлах хранения данных, предназначенных для хранения этого файла, в том виде как он был передан ранее при помощи клиентского приложения. η частей с размером X КЦП 4 Каждой части файла присваивается свой уникальный идентификатор, используемый для составления описания частей файла в виде карты для последующего восстановления файла. η частей с размером X КЦП 5 Производится создание файла метаданных с наименованием метаданные 1 для описания каким образом указанные части файлов, имеющих свои идентификаторы, соединяются до исходного файла. Производится шифрование этого файла метаданных с использованием клиентского ключа шифрования и сохранение файла в клиентском центре обработки данных, при этом также осуществляется отправка файла метаданных на узлы хранения. метаданные 1, шифрованные части файла с описанием в виде карты КЦП 6 Производится шифрование каждой части файла с использованием клиентского ключа шифрования. Чтение части файла может производиться исключительно клиентом. Применяется алгоритм симметричного шифрования. η шифрованных частей с размером X КЦП 7 Шифрованные части файлов при помощи КЦП отправляют на ПТД. Оптимизация по времени ожидания в сети выполняется при помощи КЦП посредством выбора конкретных ПТД для обработки указанных частей файла. Необходимость в данной процедуре обусловлена тем, что со стороны клиентских центров обработки информации может быть не обеспечена оптимальная скорость передачи и доступность данных, направляемых на ПТД. После осуществления выбора, указанные части файла в произвольном порядке направляются на ПТД для следующего этапа обработки. η шифрованных частей с размером X КЦП 8 ПТД представляют собой серверы обработки данных, функционирующие с поддержкой со стороны серверов, в соответствии с изобретением, и предназначены они для следующего этапа обработки данных. К их характеристикам относится высокая степень оптимизации их рабочих свойств, времени задержки и доступности со стороны узлов хранения данных. В оптимальном варианте, количество ПТД должно быть в два раза больше, чем количество объединенных в сеть узлов хранения данных в конкретной конфигурации клиентского оборудования с целью добиться оптимизации по скорости передачи и защищенности данных в предлагаемом способе в соответствии с изобретением. В обычном случае, группа таких ПТД серверов будет расположена в облачном ресурсе за пределами клиентского центра обработки данных, хотя при этом клиент вправе оговорить, что указанные серверы, используемые в роли ПТД, могут быть также размещены напо месту расположения клиента в целях оптимизации рабочих характеристик системы. Количество используемых серверов, задействованных в роли ПТД, оптимизированно по размеру передаваемых файлов и доступной ширине полосы пропускания. η шифрованных частей с размером X, обычно вне местоположения клиента ПТД
    - 32 031078
    9 Помехоустойчивое кодирование на каждом ПТД осуществляется с использованием кодов Рида-Соломона для разделения каждой части файла на фрагменты с добавлением некоторого количества данных, использованных в алгоритмах поиска и исправления ошибок в процессе помехоустойчивого кодирования. Типовой пример был указан выше, когда файл объёмом 1 гигабайт первоначально разделили (с помощью КЦП) на 500 частей равного размера, а каждую часть указанного файла с помощью ПТД затем разделили на 15 фрагментов с использованием помехоустойчивого кодирования. Этот процесс создаёт высокую вычислительную нагрузку на центральный процессор и указанные серверы выполнены с возможностью оптимизации своей работы под указанную специфику обработки данных. фрагменты частей файла, созданные для каждой части с использованием помехоустойчивого кодирования ПТД 10 Каждому фрагменту части файла присваивается так называемый идентификатор фрагмента (ID) с последующим направлением такого фрагмента на один из назначенных ранее центров обработки информации, снабженного объединенными в сеть узлами хранения данных. Производится создание файла метаданных с именем метаданные 2 для описания каждого из фрагментов части файла сравнительно с той частью файла из которого данный фрагмент был образован и с указанием. конкретного узла хранения куда фрагмент будет записан. Производится шифрование указанного файла метаданных с использованием серверного ключа шифрования с последующим направлением на каждый из узлов хранения данных, используемых для хранения фрагментов файла, составляющих части файла и, наконец, сам исходный файл, состоящий из данных частей. Таким образом на каждом из узлов хранится избыточная копия файла метаданных с именем метаданные 2. Создание файла с именем метаданные 2 для описания в виде карты всех фрагментов частей файла в сравнении с их исходными частями файлов и направление файла метаданных в каждый узел хранения данных ПТД 11 Производится шифрование каждого фрагмента частей файла с использованием серверного ключа шифрования с последующим направлением фрагментов на предназначенные для хранения таких фрагментов узлы сети хранения данных. Нет необходимости в проведении оптимизации по времени ожидания между ПТД и СУХД, поскольку ПТД функционируют на базе серверов с высоким уровнем производительности и доступности, предварительно оптимизированных по времени ожидания для взаимодействия с группой СУХД. соотношение фрагментов на часть файла ПТД-СУХД 12 Для восстановления частей файла, в каждой СУХД сохраняется в целостном виде файл метаданные 2, содержащий описание в виде карты фрагментов частей файла, необходимых для такого восстановления, и описание тех фрагментов, которые предназначены для хранения в конкретной СУХД. В целях обеспечения скорости передачи данных не требуется очень значительного количества СУХД при наличии пяти таких СУХД, оптимизированных по уровню производительности, но с точки зрения защищенности информации значительное количество СУХД представляется разумным решением, поскольку это позволяет распределить фрагменты частей файла по гораздо большему количеству узлов хранения данных. Поэтому, может использоваться по меньшей мере 20 СУХД или даже 50, что обеспечивает дополнительную защищенность данных. соотношение фрагментов на часть файла СУХД 13 Все СУХД могут быть ранжированы по времени задержки относительно системы хранения данных в соответствии с изобретением в целях упрощения для пользователя задачи выбора конкретной СУХД для распределенного хранения файлов на ее узлах. СУХД Фиг. 3
    Вход в систему со стороны клиента
    Фиг. 4А
    КЦП
    ПТД
    - 33 031078
    Фиг. 4В
    Фиг. 5
    - 34 031078
    1 Клиентское приложение посылает запрос о загрузке файла в КЦП относительно файла, который был ранее загружен на сервер для хранения. Клиентское приложение также посылает идентификатор файла, который должен быть загружен с сервера хранения в КЦП. Загруженный файл, хранящийся в СУХД Клиентское приложение 2 На указанном КЦП также происходит получение файла метаданные 1, содержащего описание частей файла, подлежащих восстановлению в целый файл. Данный файл метаданных должен быть дешифрован с использованием клиентского ключа шифрования. файл метаданные 1 от клиента КЦП 3 На указанный КЦП должны поступить из ПТД части файла. На ПТД поступает запрос от КЦП о получении идентификатора части файла. Запрос о получении идентификатора части файла КЦП 4 ПТД получает запрос о идентификаторе части файла х, в результате которого направляется запрос на одну из СУХД для получения файла метаданных метаданные 2. Указанный файл метаданных должен быть дешифрован с использованием серверного ключа шифрования. ПТД получает файл метаданные 2 ПТД 5 После получения и дешифрования файла метаданные 2, в распоряжении ПТД появляется карта с описанием местонахождения фрагментов указанной части файла, соответствующих данному идентификатору части файла х и хранящихся в различных центрах обработки данных, входящих в состав СУХД. ПТД получает фрагменты части файла по идентификатору указанной части файла ПТД 6 Теперь ПТД отправляет запросы на все СУХД, содержащие указанные фрагменты данной части файла с идентификатором х, для поиска и загрузки этих фрагментов в соответствии с их собственными идентификаторами. При работе ПТД используются средства помехоустойчивого кодирования, внедрённые в состав каждого фрагмента части файла и обеспечивающие загрузку данных фрагментов с выполнением процедуры поиска и исправления ошибок для обеспечения точности получения фрагментов части файла при их приходе на ПТД. СУХД передаёт на ПТД запрашиваемые фрагменты части файла ПТД 7 ПТД осуществляет дешифрование всех фрагментов части файла с использованием серверного ключа шифрования и производит из указанных фрагментов восстановление части файла с идентификатором х. ПТД производит восстановление части файла с идентификатором X. ПТД 8 ПТД осуществляет отправку части файла с идентификатором х обратно на КЦП, в соответствии с запросом КЦП, при условии успешного прохождения восстановленной частью файла проверки на наличие ошибок. ПТД отправляет восстановленную часть файла обратно на КЦП ПТД 9 КЦП выбирает часть файла с идентификатором х, только что полученную от ПТД, и осуществляет её дешифрование с использованием клиентского ключа шифрования. КЦП осуществляет дешифрование идентификатора части файла КЦП 10 КЦП использует файл метаданные 1 для запроса следующей части файла с идентификатором у из ПТД. КЦП осуществляет запрос следующей части файла из ПТД КЦП 11 ПТД осуществляет повторение вышеуказанных действий 4 - 8 для восстановления части файла с идентификатором уиз фрагментов указанной части файла, хранимых в СУХД до полного восстановления запрашиваемой части файла с идентификатором у и далее отправляет восстановленную часть файла обратно на КЦП. КЦП продолжает запрашивать все части файла, указанные файле метаданные 1 ПТД 12 КЦП осуществляет дешифрование части файла с идентификатором у, как описано выше в пункте 9. Производится повтор выполнения указанных действий в отношении каждого идентификатора, обозначающего часть файла и содержащегося в файле метаданные 1, причём КЦП запрашивает у ПТД восстановленные части файла, который выполняет указанное восстановление части файла из её фрагментов, распределенных для хранения в различных СУХД. КЦП и ПТД осуществляют повтор действий вплоть до полной загрузки в КЦП всех частей файла КЦП, ПТД 13 Получив все части файла, описанные в виде карты в файле метаданные 1, КЦП использует указанный файл метаданные 1 для восстановления исходного, целостного и загруженного на сервер файла с соответствующим ему идентификатором FID. КЦП осуществляет восстановление исходного файла с соответствующим ему идентификатором FID из всех его частей с использованием файла метаданные 1 КЦП 14 КЦП отправляет целостный, восстановленный, дешифрованный файл обратно в центр обработки данных клиента, завершая тем самым действие запроса, направляемого из клиентского приложения. КЦП передаёт восстановленный файл в центр обработки данных клиента КЦП
    Фиг. 6
    - 35 031078
    КЦП
    Облачный ресурс
    ПТД
    Данные
    Фиг. 7В
    Фиг. 8
    Фиг. 9
EA201650049A 2014-05-13 2015-05-11 Способ и устройство для хранения и обработки данных EA031078B1 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461992286P 2014-05-13 2014-05-13
US201462053255P 2014-09-22 2014-09-22
PCT/US2015/030163 WO2015175411A1 (en) 2014-05-13 2015-05-11 Distributed secure data storage and transmission of streaming media content

Publications (2)

Publication Number Publication Date
EA201650049A1 EA201650049A1 (ru) 2017-04-28
EA031078B1 true EA031078B1 (ru) 2018-11-30

Family

ID=54480500

Family Applications (1)

Application Number Title Priority Date Filing Date
EA201650049A EA031078B1 (ru) 2014-05-13 2015-05-11 Способ и устройство для хранения и обработки данных

Country Status (14)

Country Link
US (1) US20170048021A1 (ru)
EP (1) EP3143525A4 (ru)
JP (1) JP6296316B2 (ru)
KR (1) KR101896048B1 (ru)
CN (1) CN106462605A (ru)
AU (1) AU2015259417B2 (ru)
BR (1) BR112016026524A2 (ru)
CA (1) CA2948815A1 (ru)
EA (1) EA031078B1 (ru)
IL (1) IL248808A (ru)
MX (1) MX364334B (ru)
PH (1) PH12016502261A1 (ru)
SG (1) SG11201609471TA (ru)
WO (1) WO2015175411A1 (ru)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2720951C1 (ru) * 2018-12-29 2020-05-15 Общество С Ограниченной Ответственностью "Яндекс" Способ и распределенная компьютерная система для обработки данных
US10705761B2 (en) 2018-09-14 2020-07-07 Yandex Europe Ag Method of and system for scheduling transmission of I/O operations
US10908982B2 (en) 2018-10-09 2021-02-02 Yandex Europe Ag Method and system for processing data
US10996986B2 (en) 2018-12-13 2021-05-04 Yandex Europe Ag Method and system for scheduling i/o operations for execution
US11003600B2 (en) 2018-12-21 2021-05-11 Yandex Europe Ag Method and system for scheduling I/O operations for processing
US11048547B2 (en) 2018-10-09 2021-06-29 Yandex Europe Ag Method and system for routing and executing transactions
US11055160B2 (en) 2018-09-14 2021-07-06 Yandex Europe Ag Method of determining potential anomaly of memory device
US11061720B2 (en) 2018-09-14 2021-07-13 Yandex Europe Ag Processing system and method of detecting congestion in processing system
US11184745B2 (en) 2019-02-06 2021-11-23 Yandex Europe Ag Actor system and method for transmitting a message from a first actor to a second actor

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256904B1 (en) 2008-08-14 2016-02-09 Experian Information Solutions, Inc. Multi-bureau credit file freeze and unfreeze
GB2532039B (en) 2014-11-06 2016-09-21 Ibm Secure database backup and recovery
US10437676B2 (en) * 2015-02-27 2019-10-08 Pure Storage, Inc. Urgent reads and using data source health to determine error recovery procedures
US11188665B2 (en) * 2015-02-27 2021-11-30 Pure Storage, Inc. Using internal sensors to detect adverse interference and take defensive actions
JP6055023B2 (ja) * 2015-05-11 2016-12-27 レノボ・シンガポール・プライベート・リミテッド クラウド環境にデータを保存する情報処理装置、端末装置および保存方法
US10891058B2 (en) 2015-05-29 2021-01-12 Pure Storage, Inc. Encoding slice verification information to support verifiable rebuilding
US10235240B2 (en) * 2015-07-03 2019-03-19 Acronis International Gmbh System and method of reliable distributed data storage with controlled redundancy
US10089180B2 (en) * 2015-07-31 2018-10-02 International Business Machines Corporation Unfavorable storage growth rate abatement
US11782789B2 (en) 2015-07-31 2023-10-10 Pure Storage, Inc. Encoding data and associated metadata in a storage network
US10375144B2 (en) * 2015-09-28 2019-08-06 Sony Corporation Uploading over parallel requests
EP3331204A4 (en) * 2015-09-30 2018-08-29 Ntt Docomo, Inc. Service allocation determining method
US10757154B1 (en) 2015-11-24 2020-08-25 Experian Information Solutions, Inc. Real-time event-based notification system
KR102482324B1 (ko) 2016-01-05 2022-12-29 삼성전자주식회사 클라우드 스토리지 서비스를 지원하는 무선 통신 시스템에서 파일 송/수신 장치 및 방법
EP3430515B1 (en) 2016-03-15 2021-09-22 Datomia Research Labs Ou Distributed storage system data management and security
US10931402B2 (en) 2016-03-15 2021-02-23 Cloud Storage, Inc. Distributed storage system data management and security
US10356158B2 (en) 2016-05-16 2019-07-16 Carbonite, Inc. Systems and methods for aggregation of cloud storage
US10116629B2 (en) 2016-05-16 2018-10-30 Carbonite, Inc. Systems and methods for obfuscation of data via an aggregation of cloud storage services
US11100107B2 (en) 2016-05-16 2021-08-24 Carbonite, Inc. Systems and methods for secure file management via an aggregation of cloud storage services
US10404798B2 (en) * 2016-05-16 2019-09-03 Carbonite, Inc. Systems and methods for third-party policy-based file distribution in an aggregation of cloud storage services
CN106170014A (zh) * 2016-07-11 2016-11-30 安徽斗转星移信息科技有限公司 一种云存储系统和方法
EP3321846A1 (en) * 2016-11-15 2018-05-16 Mastercard International Incorporated Systems and methods for secure biometric sample raw data storage
US10491378B2 (en) * 2016-11-16 2019-11-26 StreamSpace, LLC Decentralized nodal network for providing security of files in distributed filesystems
CN110383319B (zh) 2017-01-31 2023-05-26 益百利信息解决方案公司 大规模异构数据摄取和用户解析
CN108696559B (zh) * 2017-04-11 2021-08-20 华为技术有限公司 流处理方法及装置
CA3061047A1 (en) * 2017-04-27 2018-11-01 Financial & Risk Organisation Limited Systems and methods for distributed data mapping
US10430350B1 (en) * 2017-06-27 2019-10-01 Wells Fargo Bank, N.A. Secure storage of data through a multifaceted security scheme
US10735183B1 (en) 2017-06-30 2020-08-04 Experian Information Solutions, Inc. Symmetric encryption for private smart contracts among multiple parties in a private peer-to-peer network
CN107689926B (zh) * 2017-08-03 2021-01-26 深圳市盛路物联通讯技术有限公司 一种通讯协议的数据传输方法及系统
WO2019033368A1 (zh) * 2017-08-17 2019-02-21 深圳市优品壹电子有限公司 数据存储方法及装置
EP3659042B1 (en) * 2017-08-25 2021-10-06 Huawei Technologies Co., Ltd. Apparatus and method for deduplicating data
CN107506153B (zh) * 2017-09-26 2021-07-02 深信服科技股份有限公司 一种数据压缩方法、数据解压方法及相关系统
WO2019124610A1 (ko) * 2017-12-21 2019-06-27 문인식 블록체인을 이용한 개인정보 분리 후 분산 저장 및 조합을 통한 인증 방법
WO2019125081A1 (ko) * 2017-12-21 2019-06-27 문인식 블록체인을 이용한 일회성 접근 권한 부여 시스템
WO2019125041A1 (ko) * 2017-12-21 2019-06-27 바스아이디 랩 재팬 컴퍼니 리미티드 블록체인을 이용한 개인정보 분리 후 분산저장을 통한 인증 시스템
WO2019125069A1 (ko) * 2017-12-21 2019-06-27 바스아이디 랩 재팬 컴퍼니 리미티드 블록체인을 이용한 개인정보 분리 후 조합을 통한 인증 시스템
KR102288521B1 (ko) * 2017-12-22 2021-08-09 주식회사 케이티 블록체인 기반의 데이터 저장 장치 및 방법
CN109995821A (zh) * 2017-12-29 2019-07-09 中移(苏州)软件技术有限公司 文件上传的方法及系统、客户端、服务器、对象存储系统
EP3750097A4 (en) * 2018-02-07 2021-11-03 Medicapture, Inc. DECENTRALIZED DATA STORAGE SYSTEM AND PROCESS
CN108551450B (zh) * 2018-04-18 2021-04-20 何小林 一种基于无线协议的数据分段传输方法和系统
CN108777803A (zh) * 2018-06-05 2018-11-09 四川师范大学 广电云平台视频流处理方法、装置、设备及介质
CN108897497B (zh) * 2018-06-29 2021-10-08 吴俊杰 一种无中心的数据管理方法及装置
CN109302391B (zh) * 2018-09-21 2021-03-02 深圳市九洲电器有限公司 一种安防数据上传方法及装置、客户端
CN109088729B (zh) * 2018-09-28 2021-03-26 北京金山安全软件有限公司 一种密钥存储方法及装置
RU2711348C1 (ru) 2018-10-15 2020-01-16 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для обработки запросов в распределенной базе данных
CN109753809B (zh) * 2018-11-27 2021-07-06 国网浙江省电力有限公司 一种基于云存储系统的电网数据块分割方法
WO2020146667A1 (en) * 2019-01-11 2020-07-16 Experian Information Solutions, Inc. Systems and methods for secure data aggregation and computation
MX2021009011A (es) 2019-01-29 2021-11-12 Cloud Storage Inc Método de reparación de nodos de codificación y almacenamiento para códigos de regeneración de almacenamiento mínimo para sistemas de almacenamiento distribuido.
WO2020160292A1 (en) * 2019-01-30 2020-08-06 Practechal Solutions, Inc. A method and system for data storage and management
CN109936769B (zh) * 2019-04-23 2021-06-04 深圳大学 一种视频卡顿检测方法、检测系统、移动终端及存储装置
CN116232582A (zh) * 2019-05-22 2023-06-06 妙泰公司 具有增强的安全性、弹性和控制的分布式数据存储方法及系统
KR102295263B1 (ko) * 2019-06-13 2021-08-30 주식회사 한컴위드 블록체인을 기반으로 데이터의 분산 암호화 관리를 가능하게 하는 데이터 관리 장치 및 그 동작 방법
US10990324B2 (en) 2019-06-25 2021-04-27 Western Digital Technologies, Inc. Storage node processing of predefined data functions
US11055018B2 (en) 2019-06-25 2021-07-06 Western Digital Technologies, Inc. Parallel storage node processing of data functions
US11314593B2 (en) * 2019-06-25 2022-04-26 Western Digital Technologies, Inc. Storage node processing of data functions using overlapping symbols
US11281531B2 (en) 2019-06-25 2022-03-22 Western Digital Technologies, Inc. Serial storage node processing of data functions
CN110381061A (zh) * 2019-07-19 2019-10-25 广东省新一代通信与网络创新研究院 文件的多云存储方法、下载方法、装置及存储介质
CN111095218B (zh) * 2019-08-01 2022-01-11 创新先进技术有限公司 基于纠错编码存储共享的区块链数据的方法、系统及装置
US11277467B1 (en) * 2019-09-30 2022-03-15 Cadence Design Systems, Inc. Method, system, and product for orchestrating uploads of very large design files to selected cloud providers in a multi-cloud arrangement
KR102275389B1 (ko) * 2019-10-22 2021-07-08 한국항공대학교산학협력단 블록 동기화 과정 생략 및 원격 저장소 제공을 위한 분산파일시스템 활용 블록 데이터 매핑 방법 및 노드 장치
US11308041B2 (en) * 2019-10-31 2022-04-19 Seagate Technology Llc Distributed secure edge storage network utilizing redundant heterogeneous storage
KR102496436B1 (ko) * 2019-12-30 2023-02-06 주식회사 안랩 블록체인 네트워크에서 저장소에 복수의 데이터 조각들을 저장하는 방법 및 저장된 복수의 데이터 조각들을 수신하는 방법
JP7152723B2 (ja) 2020-02-04 2022-10-13 株式会社Terada Oaタップ格納ボックス
CN111459940B (zh) * 2020-04-02 2023-09-19 中电工业互联网有限公司 一种高效可靠的数据集成方法
CN114070576B (zh) * 2020-08-07 2024-03-08 腾讯科技(深圳)有限公司 内容显示方法、内容生成方法、装置、设备及存储介质
JP2022074807A (ja) * 2020-11-05 2022-05-18 株式会社日立製作所 ファイルストレージ及びコンピュータシステム
CN112612411A (zh) * 2020-12-01 2021-04-06 北京亿智云科技有限公司 基于分布式云存储的数据备份和即时访问的系统及方法
CN112612668A (zh) * 2020-12-24 2021-04-06 上海立可芯半导体科技有限公司 一种数据处理方法、装置和计算机可读介质
CN112860189B (zh) * 2021-02-19 2022-12-30 山东大学 一种成本驱动的冷热分层云存储冗余存储方法与系统
CN113194330A (zh) * 2021-03-25 2021-07-30 电子科技大学 一种碎片化多云视频资源管理方法及系统
US11936699B2 (en) 2022-06-03 2024-03-19 Micro Focus Llc Optimal usage of content storage in a managed network
CN115982503B (zh) * 2023-02-07 2023-10-13 深圳慧梧科技有限公司 一种基于云平台的网站信息采集方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079083A1 (en) * 2005-09-30 2007-04-05 Gladwin S Christopher Metadata management system for an information dispersed storage system
US20100218037A1 (en) * 2008-09-16 2010-08-26 File System Labs Llc Matrix-based Error Correction and Erasure Code Methods and Apparatus and Applications Thereof
US20110161666A1 (en) * 2009-12-29 2011-06-30 Cleversafe, Inc. Digital content retrieval utilizing dispersed storage
US20110219100A1 (en) * 2005-09-30 2011-09-08 Cleversafe, Inc. Streaming media software interface to a dispersed data storage network
US20120060072A1 (en) * 2010-09-08 2012-03-08 Microsoft Corporation Erasure coding immutable data
WO2014005279A1 (zh) * 2012-07-03 2014-01-09 北京大学深圳研究生院 一种可精确再生的分布式存储码的构建方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307868B1 (en) * 1995-08-25 2001-10-23 Terayon Communication Systems, Inc. Apparatus and method for SCDMA digital data transmission using orthogonal codes and a head end modem with no tracking loops
US6665308B1 (en) * 1995-08-25 2003-12-16 Terayon Communication Systems, Inc. Apparatus and method for equalization in distributed digital data transmission systems
JP2007018563A (ja) * 2005-07-05 2007-01-25 Toshiba Corp 情報記憶媒体、情報記録方法及び装置、情報再生方法及び装置
US8285878B2 (en) * 2007-10-09 2012-10-09 Cleversafe, Inc. Block based access to a dispersed data storage network
JP4772752B2 (ja) * 2007-06-14 2011-09-14 日本電信電話株式会社 分散型マルチメディアサーバシステム、そのためのバッファサーバ、およびその分割マルチメディア情報蓄積配信方法
US20100094958A1 (en) * 2008-10-15 2010-04-15 Patentvc Ltd. Systems and methods for aggregating erasure-coded fragments
US10509709B2 (en) * 2009-10-30 2019-12-17 Pure Storage, Inc. Indirect storage of data in a dispersed storage system
US20110314070A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Optimization of storage and transmission of data
US8627066B2 (en) * 2011-11-03 2014-01-07 Cleversafe, Inc. Processing a dispersed storage network access request utilizing certificate chain validation information
US8868647B2 (en) * 2012-01-11 2014-10-21 Alcatel Lucent Reducing latency and cost in resilient cloud file systems
CN103281400A (zh) * 2013-06-18 2013-09-04 清华大学 用于云存储网关的数据切分编码和恢复方法
US9241044B2 (en) * 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079083A1 (en) * 2005-09-30 2007-04-05 Gladwin S Christopher Metadata management system for an information dispersed storage system
US20110219100A1 (en) * 2005-09-30 2011-09-08 Cleversafe, Inc. Streaming media software interface to a dispersed data storage network
US20100218037A1 (en) * 2008-09-16 2010-08-26 File System Labs Llc Matrix-based Error Correction and Erasure Code Methods and Apparatus and Applications Thereof
US20110161666A1 (en) * 2009-12-29 2011-06-30 Cleversafe, Inc. Digital content retrieval utilizing dispersed storage
US20120060072A1 (en) * 2010-09-08 2012-03-08 Microsoft Corporation Erasure coding immutable data
WO2014005279A1 (zh) * 2012-07-03 2014-01-09 北京大学深圳研究生院 一种可精确再生的分布式存储码的构建方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Rizzo, L. (1997) Effective erasure codes for reliable computer communication protocols. ACM SIGCOMM computer communication review, 27(2), 24-36. Retrieved from the internet on 31-08-2015, <http://ccr.sigcomm.org/archive/1997/apr97/ccr-9704-rizzo.pdf>Rizzo, L. 31 Dec 1997 (1997/12/31), whole document *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10705761B2 (en) 2018-09-14 2020-07-07 Yandex Europe Ag Method of and system for scheduling transmission of I/O operations
US11055160B2 (en) 2018-09-14 2021-07-06 Yandex Europe Ag Method of determining potential anomaly of memory device
US11061720B2 (en) 2018-09-14 2021-07-13 Yandex Europe Ag Processing system and method of detecting congestion in processing system
US11449376B2 (en) 2018-09-14 2022-09-20 Yandex Europe Ag Method of determining potential anomaly of memory device
US10908982B2 (en) 2018-10-09 2021-02-02 Yandex Europe Ag Method and system for processing data
US11048547B2 (en) 2018-10-09 2021-06-29 Yandex Europe Ag Method and system for routing and executing transactions
US10996986B2 (en) 2018-12-13 2021-05-04 Yandex Europe Ag Method and system for scheduling i/o operations for execution
US11003600B2 (en) 2018-12-21 2021-05-11 Yandex Europe Ag Method and system for scheduling I/O operations for processing
RU2720951C1 (ru) * 2018-12-29 2020-05-15 Общество С Ограниченной Ответственностью "Яндекс" Способ и распределенная компьютерная система для обработки данных
US11010090B2 (en) 2018-12-29 2021-05-18 Yandex Europe Ag Method and distributed computer system for processing data
US11184745B2 (en) 2019-02-06 2021-11-23 Yandex Europe Ag Actor system and method for transmitting a message from a first actor to a second actor

Also Published As

Publication number Publication date
CN106462605A (zh) 2017-02-22
MX364334B (es) 2019-04-23
CA2948815A1 (en) 2015-11-19
EP3143525A1 (en) 2017-03-22
US20170048021A1 (en) 2017-02-16
PH12016502261A1 (en) 2017-02-06
SG11201609471TA (en) 2016-12-29
AU2015259417A1 (en) 2016-09-01
BR112016026524A2 (pt) 2017-08-15
IL248808A (en) 2017-07-31
KR101896048B1 (ko) 2018-09-06
WO2015175411A1 (en) 2015-11-19
AU2015259417B2 (en) 2016-09-22
EA201650049A1 (ru) 2017-04-28
WO2015175411A9 (en) 2016-07-07
JP2017523493A (ja) 2017-08-17
KR20170010787A (ko) 2017-02-01
EP3143525A4 (en) 2017-03-22
MX2016014221A (es) 2017-05-04
JP6296316B2 (ja) 2018-03-20

Similar Documents

Publication Publication Date Title
EA031078B1 (ru) Способ и устройство для хранения и обработки данных
US10613776B2 (en) Appyling multiple hash functions to generate multiple masked keys in a secure slice implementation
US20190036648A1 (en) Distributed secure data storage and transmission of streaming media content
US10656998B2 (en) End-to-end secure data storage in a dispersed storage network
US10095441B2 (en) End-to-end secure data retrieval in a dispersed storage network
US10387249B2 (en) Migrating data slices within a dispersed storage network
JP6704856B2 (ja) 通信ネットワーク上の情報の安全な記憶と加速された伝送
JP5905068B2 (ja) 分散的な記憶及び通信
US10693640B2 (en) Use of key metadata during write and read operations in a dispersed storage network memory
US9665429B2 (en) Storage of data with verification in a dispersed storage network
US20130305046A1 (en) System and Method for Virtual Machine Data Protection in a Public Cloud
US11005663B2 (en) Secure audit scheme in a distributed data storage system
JP2013521555A (ja) 分散型の記憶および通信
Kumar et al. A Virtual Cloud Storage Architecture for Enhanced Data Security.
RU2656836C2 (ru) Система и способ взаимодействия пользователей с облачными объектными хранилищами данных
WO2017039538A1 (en) Systems and methods for unified storage services

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 TJ TM RU