система и способ записи данных в облачное хранилище

Классы МПК:G11C7/00 Устройства для записи или считывания информации в цифровых запоминающих устройствах
Автор(ы):, ,
Патентообладатель(и):Государственное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина) (RU),
Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." (KR)
Приоритеты:
подача заявки:
2010-12-13
публикация патента:

Изобретение относится к вычислительной технике. Технический результат заключается в улучшении эффективности работы за счет построения более точного прогноза путем использования для прогнозирования происходящих в операционной системе событий. Система записи данных в облачное хранилище, содержащая облачное хранилище и, по меньшей мере, одно пользовательское устройство, которое содержит драйвер облачного хранилища, который включает в себя роутер, модуль прогнозирования, кеш, менеджер кеша, коннектор к облачному хранилищу, модуль трассировки системных событий и историю запросов пользовательского приложения, причем кеш и история запросов содержатся в локальной файловой системе, при этом пользовательское устройство выполнено с возможностью выполнения пользовательского приложения в операционной системе; роутер выполнен с возможностью перехвата запросов пользовательского приложения к файловой системе и, если запрос направлен к облачному хранилищу, перенаправления запроса к менеджеру кеша и модулю прогнозирования, а также с возможностью возвращения данных, полученных от менеджера кеша, пользовательскому приложению. 2 н. и 1 з.п. ф-лы, 4 ил. система и способ записи данных в облачное хранилище, патент № 2435236

система и способ записи данных в облачное хранилище, патент № 2435236 система и способ записи данных в облачное хранилище, патент № 2435236 система и способ записи данных в облачное хранилище, патент № 2435236 система и способ записи данных в облачное хранилище, патент № 2435236

Формула изобретения

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

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

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

формируют в пользовательском устройстве запросы пользовательского приложения к файловой системе;

перехватывают запросы пользовательского приложения к файловой системе с помощью роутера;

если запрос направлен к облачному хранилищу, направляют запрос к менеджеру кеша и модулю прогнозирования с помощью роутера;

определяют с помощью менеджера кеша, находится ли затребованный ресурс в кеше или нет;

если ресурс находится в кеше, то направляют с помощью менеджера кеша запрос пользовательского приложения к кешированному файлу;

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

после загрузки данных возвращают с помощью менеджера кеша данные роутеру, через который возвращают данные пользовательскому приложению;

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

Описание изобретения к патенту

Изобретение относится к области распределения данных в системах или архитектурах памяти, а именно к системам и способам записи данных в облачное хранилище и может применяться в локальных устройствах (например, ПК или мобильных устройствах) с ограниченным объемом ресурсов, подключенных к внешнему облачному хранилищу данных (cloud storage).

В последнее время все чаще используются технологии облачных вычислений или cloud computing, которые позволяют использовать внешние вычислительные ресурсы (процессорное время, память, сети) для расширения возможностей локальных устройств (ПК, мобильных устройств). Методы использования внешних устройств хранения (внешняя память) уже нашли широкое применение на практике. Так, сервис dropbox.com и его аналоги позволяют арендовать устройства хранения и использовать их с ПК или мобильных устройств. Это позволяет пользователям иметь доступ к одним и тем же данным с любого ПК или устройства, подключенного к сети Интернет. При этом данные, хранящиеся на ПК или мобильном устройстве, полностью синхронизируются с внешним облачным хранилищем.

Мобильные устройства могут использовать облачные хранилища для расширения объема памяти. Имея 1-10 Гб памяти в мобильном устройстве, можно использовать дополнительных 100 Гб из «облака», не увеличивая физический размер памяти устройства и соответственно его стоимость. Но указанные сервисы используют полную синхронизацию данных, что неприменимо в мобильных устройствах с небольшим объемом памяти.

Для эффективного использования облачных дисков в мобильных телефонах необходимо производить эффективное кеширование данных, т.е. необходимо выбирать, какие из данных должны находиться на устройстве, а какие оставаться в «облаке». Модуль системы, выполняющий эту функцию, называется менеджером кеша. Он может располагаться как на мобильном устройстве, так и в «облаке». В различных технических решениях менеджер кеша использует различные данные для определения кешируемого подмножества данных, в частности:

кешируют все данные (синхронизация);

кешируемые данные задаются пользователем;

прогнозируют кешируемые данные, исходя из статистики запросов к данным из «облака».

Известен клиент к сервису облачного хранения файлов Dropbox (http://dropbox.com) [1], который позволяет пользователям хранить свои данные во внешнем хранилище. На устройство пользователя инсталлируется программа-клиент. Данные хранятся на сервере, клиент их синхронизирует с пользовательским устройством.

В данной системе не используют кеш небольшого, заранее заданного размера, а для выбора кешируемого подмножества данных не используют алгоритмы прогнозирования, основанные на статистике пользовательских запросов к «облаку» и системных событий, что снижает эффективность работы системы. Кроме того, серьезный недостаток такого решения заключается в том, что система может работать только с одним облачными хранилищами (dropbox), что делает пользователя зависимым от поставщика услуг, ухудшая удобство пользования системой.

В патенте США № 6032227 [2] описана система по доставке пользовательских данных из хранилища в память пользовательского устройства, имеющего ограниченный кеш. Система состоит из следующих элементов: драйвер файловой системы (IFS), менеджер кеша, сетевая файловая система на сервере (NFS). Драйвер файловой системы перехватывает системные вызовы к файловой системе от различных пользовательских приложений. Затем драйвер перенаправляет полученный системный вызов в менеджер кеша, который, анализируя системный вызов, определяет, где находится затребованный файл, и обращается или к локальной файловой системе устройства или же к сетевой файловой системе (NFS) на сервере. Менеджер кеша хранит историю недавно использованных файлов (статистика пользовательских запросов). В случае когда в кеше не хватает места для вновь потребовавшегося файла, система и способ записи данных в облачное хранилище, патент № 2435236 менеджер кешасистема и способ записи данных в облачное хранилище, патент № 2435236 , основываясь на истории недавно использовавшихся файлов, удаляет из кеша наиболее система и способ записи данных в облачное хранилище, патент № 2435236 старыесистема и способ записи данных в облачное хранилище, патент № 2435236 файлы до тех пор, пока не освободится необходимое дисковое пространство.

Недостатки данной системы заключаются в следующем. В некоторых случаях (например, при переполнении кеша) загрузка пользовательских файлов из хранилища в кеш устройства происходит по запросу пользователя, таким образом, пользователь работает с хранилищем не прозрачно, а в диалоговом режиме. При этом не строится прогноз пользовательских потребностей, в результате чего при каждой операции чтения неиспользуемых ранее данных происходит задержка на время, пока эти данные не будут загружены в кеш. Для передачи данных с сервера используют только одну сетевую файловую систему (NIS), что снижает универсальность системы. Элементы системы, включая механизм IFS и менеджер кеша, работают на уровне ядра ОС, что накладывает существенные ограничения на объем используемой памяти и делает невозможным использование эффективных алгоритмов прогнозирования потребностей пользователя в данных.

Существует система по доставке контента (структурированные данные) с персонального компьютера на мобильное устройство посредством сети (выложенная заявка на патент США № 2010/0174735) [3]. В данной системе персональный компьютер представляет собой сервер, на котором хранится различный контент, данные о пользователях и история их запросов, а также работают модули прогноза, конвертации контента и модуль качества услуги (QoS). Пользователь на мобильном устройстве через специализированное ПО формирует поисковый запрос на определенный контент и отправляет его на сервер. Сервер, согласно данному запросу, делает выборку подходящего контента и отправляет ее пользователю, затем, основываясь на данном и предыдущих запросах пользователя, он делает предположение о том, какой еще контент может заинтересовать пользователя, и отправляет его тоже. Контент может доставляться на устройство как в исходном, так и в преобразованном виде. В последнем случае перед отправлением контента пользователю контент проходит через модуль конвертации контента и преобразовывается в подходящий для мобильного устройства формат (например, из avi в 3gp).

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

Наиболее близкими к заявляемому изобретению являются система и способ доставки данных от произвольного сетевого ресурса (www, ftpсистема и способ записи данных в облачное хранилище, патент № 2435236 ) на мобильное устройство по средствам сети, описанные в выложенной заявке на патент США № 2005/0108322 [4]. В качестве посредника по передаче данных используют некоторый сервер, доступ к которому с мобильного устройства осуществляется по беспроводной сети. Сервер представляет собой система и способ записи данных в облачное хранилище, патент № 2435236 вычислительную средусистема и способ записи данных в облачное хранилище, патент № 2435236 (ПК, кластер, распределенная система), в которой содержится три программных модуля: модуль хранения, модуль предсказания и модуль доставки. На мобильном устройстве установлено специализированное ПО, которое позволяет делать запросы к различным ресурсам сети через промежуточный сервер и получать от него запрошенные данные. Когда пользователь делает запрос, то этот запрос отправляется на промежуточный сервер по беспроводной сети, где запрос сохраняется в модуле хранения. На основании информации, содержащейся в модуле хранения, модуль прогноза выполняет предсказание последующего запроса пользователя, загружает прогнозируемую информацию, сохраняет ее в модуле хранения и передает в модуль доставки. Наличие прогнозируемой информации в модуле хранения обеспечивает, при последующем доступе к ней, быстрый доступ к данным по беспроводной локальной сети без обращения в Интернет. Предсказание последующей активности пользователя определяется с помощью цепей Маркова. Модуль доставки транзитом передает на мобильное устройство запрошенный ресурс и ресурсы, которые предположительно понадобятся пользователю на следующем этапе (результат работы модуля прогноза). Данные система и способ выбраны в качестве прототипа заявленного изобретения.

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

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

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

В данном контексте термин «коннектор» понимается в том смысле, как это определено рекомендациями для Microsoft Exchange Server (см. http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D0%BD%D0%B5%D0%BA%D1%82%D0%BE%D1%80_%28Exchange%29) [5], a именно, как настроенное соединение между почтовыми серверами в различных группах маршрутизации или почтовых системах. При этом конкретные коннекторы могут быть выполнены в виде коннекторов, адаптированных к соединениям с конкретными типами серверов.

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

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

- формируют в пользовательском устройстве запросы пользовательского приложения к файловой системе;

- перехватывают запросы пользовательского приложения к файловой системе посредством роутера;

- если запрос направлен к облачному хранилищу, то направляют запрос к менеджеру кеша и модулю прогнозирования посредством роутера;

- определяют с помощью менеджера кеша, находится затребованный ресурс в кеше или нет;

- если ресурс находится в кеше, то с помощью менеджера кеша направляют запрос пользовательского приложения к кешированному файлу;

- если затребованных данных нет в кеше, то с помощью менеджера кеша отправляют запрос на загрузку данных в коннектор к облачному хранилищу;

- после загрузки данных возвращают с помощью менеджера кеша данные роутеру, посредством которого возвращают данные пользовательскому приложению;

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

Для лучшего понимания заявленного изобретения далее приводится его подробное описание с привлечением соответствующих графических материалов.

Фиг.1. Общая схема системы записи данных в облачное хранилище, выполненная согласно изобретению.

Элементы:

101 - пользователь;

110 - мобильное устройство;

111 - драйвер облачного хранилища;

113.1 - кеш на мобильном устройстве;

113.2- кеш на персональном компьютере;

120 - персональный компьютер;

130 - сеть;

140 - облачное хранилище;

145 - данные.

Фиг.2. Схема драйвера облака, выполненная согласно изобретению.

Элементы:

112 - роутер;

113 - кеш;

114 - модуль трассировки системных событий;

115 - менеджер кеша;

116 - история;

117 - модуль прогнозирования;

118 - коннектор к облачному хранилищу;

119.1, 119.2 - адаптированные коннекторы к облачным хранилищам.

Фиг.3. Блок-схема способа записи данных в облачное хранилище согласно изобретению.

Фиг.4. Подробная схема системы записи данных в облачное хранилище согласно изобретению.

Элементы:

420 - пользовательские приложения;

450 - локальная ФС;

500.1, 500.2 - облачные хранилища.

Заявленная система записи данных в облачное хранилище может быть инсталлирована в мобильное устройство. Пользователь инсталлирует систему в устройство для расширения используемого дискового пространства без установки дополнительных физических модулей памяти (флеш-карт). Пользователь выбирает одного из поставщиков услуг (поддерживаемых системой облачных хранилищ) и, в случае необходимости, вводит свои авторизационные данные (логин и пароль к хранилищу). В качестве параметра работы системы задается максимальный размер кеша.

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

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

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

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

Вся работа по загрузке и удалению файлов из кеша осуществляется прозрачно для пользователя.

Рассмотрим функционирование заявленных системы и способа записи данных в облачное хранилище в случае наличия двух локальных устройств: мобильного устройства и персонального компьютера (Фиг.1-4). Когда пользовательское приложение 420 посылает запрос на доступ к файловой системе 450, он перехватывается роутером 112. Роутер 112 перенаправляет пришедший запрос в менеджер кеша 115 и модуль прогнозирования 117.

Менеджер кеша 115 определеяет, где реально находится затребованный ресурс: в кеше 113 или нет. Если затребованные данные находятся в кеше 113, то осуществляется доступ к этому кешированному файлу. В случае если затребованных данных нет в кеше 113, менеджер 115 кеша определяет наличие достаточного места в кеше 113 для загрузки затребованного файла и освобождает место в случае необходимости. После этого менеджер 115 кеша отправляет запрос на загрузку данных в коннектор 118 к облачному хранилищу.

Коннектор 118 к облачному хранилищу в зависимости от используемого облачного хранища 500 (500.1 или 500.2) выбирает соответствующий адаптированный коннектор 119 (119.1 или 119.2) и загружает затребованные данные в кеш 113. После загрузки данных менеджер 115 кеша возвращает данные роутеру 112, а тот возвращает данные пользовательскому приложению 420.

Также при приходе запроса в роутер 112 он отправляет данные о запросе в модуль 117 прогнозирования. Модуль 117 прогнозирования, основываясь на текущем запросе и истории 116 пользовательской активности, делает предположение о том, какие файлы понадобятся пользователю на следующем этапе, и отправляет заявку на их загрузку в менеджер 115 кеша, и если эти данные отсутствуют в кеше 113, то менеджер 115 кеша загружает их из облачного хранилища 500 (500.1 или 500.2) при помощи коннетора 118 к облачному хранилищу.

Модуль 117 прогнозирования получает информацию о системных событиях из модуля 114 трассировки системных событий. Модуль 117 прогнозирования, основываясь на текущем системном событии и истории 116 пользовательской активности, делает предположение о том, какие файлы понадобятся пользователю на следующем этапе, и отправляет заявку на их загрузку в менеджер 115 кеша, и если эти данные отсутствуют в кеше 113, то менеджер 115 кеша загружает их из облачного хранилища 500 (500.1 или 500.2) при помощи коннектора 118 к облачному хранилищу.

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

- Облачное хранилище не может содержать каких-либо вычислительных элементов (включая модуль кеширования). Хранилище выполняет строго определенную функцию хранения данных.

- Система должна быть работоспособна с различными облачными хранилищами (dropbox, files.ovi.com и д.р.).

- Использование хранилища должно выполняться прозрачно для пользователя. Пользователь не может задавать данные, которые необходимо кешировать.

- Менеджер кеширования должен выполнять прогноз, исходя не только из статистики запросов к данным, но и исходя из системных событий мобильного устройства (запуск процесса, обнаружение новой сети, подключение к устройству, изменение GPS координат).

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

Класс G11C7/00 Устройства для записи или считывания информации в цифровых запоминающих устройствах

носитель записи, устройство воспроизведения и интегральная схема -  патент 2521288 (27.06.2014)
устройство запоминания частот свч сигналов -  патент 2514090 (27.04.2014)
устройство записи информации и способ управления им -  патент 2507610 (20.02.2014)
мультиплексирование адресов в псевдо двухпортовой памяти -  патент 2490731 (20.08.2013)
потоковая передача данных в режиме реального времени или в режиме, близком к реальному времени -  патент 2481720 (10.05.2013)
запоминающее устройство для применений основанной на сопротивлении памяти -  патент 2476940 (27.02.2013)
программатор -  патент 2470389 (20.12.2012)
улучшение устойчивости считывания памяти с использованием избирательной предварительной зарядки -  патент 2444073 (27.02.2012)
устройство изготовления носителя записи информации, носитель записи информации, их способы -  патент 2440630 (20.01.2012)
устройство стирания записанной информации -  патент 2428754 (10.09.2011)
Наверх