RU2435236C1 - System and method of recording data into cloud storage - Google Patents
System and method of recording data into cloud storage Download PDFInfo
- Publication number
- RU2435236C1 RU2435236C1 RU2010150731/08A RU2010150731A RU2435236C1 RU 2435236 C1 RU2435236 C1 RU 2435236C1 RU 2010150731/08 A RU2010150731/08 A RU 2010150731/08A RU 2010150731 A RU2010150731 A RU 2010150731A RU 2435236 C1 RU2435236 C1 RU 2435236C1
- Authority
- RU
- Russia
- Prior art keywords
- cloud storage
- cache
- data
- request
- user
- Prior art date
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Изобретение относится к области распределения данных в системах или архитектурах памяти, а именно к системам и способам записи данных в облачное хранилище и может применяться в локальных устройствах (например, ПК или мобильных устройствах) с ограниченным объемом ресурсов, подключенных к внешнему облачному хранилищу данных (cloud storage).The invention relates to the field of data distribution in memory systems or architectures, and in particular to systems and methods for writing data to a cloud storage and can be applied to local devices (for example, PCs or mobile devices) with a limited amount of resources connected to an external cloud data storage (cloud storage).
В последнее время все чаще используются технологии облачных вычислений или cloud computing, которые позволяют использовать внешние вычислительные ресурсы (процессорное время, память, сети) для расширения возможностей локальных устройств (ПК, мобильных устройств). Методы использования внешних устройств хранения (внешняя память) уже нашли широкое применение на практике. Так, сервис dropbox.com и его аналоги позволяют арендовать устройства хранения и использовать их с ПК или мобильных устройств. Это позволяет пользователям иметь доступ к одним и тем же данным с любого ПК или устройства, подключенного к сети Интернет. При этом данные, хранящиеся на ПК или мобильном устройстве, полностью синхронизируются с внешним облачным хранилищем.Recently, cloud computing or cloud computing technologies have been increasingly used, which allow the use of external computing resources (processor time, memory, networks) to expand the capabilities of local devices (PCs, mobile devices). The methods of using external storage devices (external memory) have already found wide application in practice. So, dropbox.com service and its analogues allow you to rent storage devices and use them from PC or mobile devices. This allows users to access the same data from any PC or device connected to the Internet. At the same time, data stored on a PC or mobile device is fully synchronized with external cloud storage.
Мобильные устройства могут использовать облачные хранилища для расширения объема памяти. Имея 1-10 Гб памяти в мобильном устройстве, можно использовать дополнительных 100 Гб из «облака», не увеличивая физический размер памяти устройства и соответственно его стоимость. Но указанные сервисы используют полную синхронизацию данных, что неприменимо в мобильных устройствах с небольшим объемом памяти.Mobile devices can use cloud storage to expand storage capacity. Having 1-10 GB of memory in a mobile device, you can use an additional 100 GB from the "cloud" without increasing the physical size of the device’s memory and, accordingly, its cost. But these services use full data synchronization, which is not applicable in mobile devices with a small amount of memory.
Для эффективного использования облачных дисков в мобильных телефонах необходимо производить эффективное кеширование данных, т.е. необходимо выбирать, какие из данных должны находиться на устройстве, а какие оставаться в «облаке». Модуль системы, выполняющий эту функцию, называется менеджером кеша. Он может располагаться как на мобильном устройстве, так и в «облаке». В различных технических решениях менеджер кеша использует различные данные для определения кешируемого подмножества данных, в частности:For the efficient use of cloud disks in mobile phones, it is necessary to perform efficient data caching, i.e. you need to choose which of the data should be on the device and which to remain in the "cloud". The system module that performs this function is called the cache manager. It can be located both on a mobile device and in the cloud. In various technical solutions, the cache manager uses various data to determine the cached subset of the data, in particular:
кешируют все данные (синхронизация);cache all data (synchronization);
кешируемые данные задаются пользователем;cached data is set by the user;
прогнозируют кешируемые данные, исходя из статистики запросов к данным из «облака».predict cached data based on statistics of requests for data from the "cloud".
Известен клиент к сервису облачного хранения файлов Dropbox (http://dropbox.com) [1], который позволяет пользователям хранить свои данные во внешнем хранилище. На устройство пользователя инсталлируется программа-клиент. Данные хранятся на сервере, клиент их синхронизирует с пользовательским устройством.A well-known client is the Dropbox cloud storage service (http://dropbox.com) [1], which allows users to store their data in external storage. A client program is installed on the user's device. The data is stored on the server, the client synchronizes them with the user device.
В данной системе не используют кеш небольшого, заранее заданного размера, а для выбора кешируемого подмножества данных не используют алгоритмы прогнозирования, основанные на статистике пользовательских запросов к «облаку» и системных событий, что снижает эффективность работы системы. Кроме того, серьезный недостаток такого решения заключается в том, что система может работать только с одним облачными хранилищами (dropbox), что делает пользователя зависимым от поставщика услуг, ухудшая удобство пользования системой.This system does not use a cache of a small, predetermined size, and forecasting algorithms based on statistics of user requests to the “cloud” and system events are not used to select a cached subset of data, which reduces the efficiency of the system. In addition, a serious drawback of this solution is that the system can work only with one cloud storage (dropbox), which makes the user dependent on the service provider, impairing the usability of the system.
В патенте США №6032227 [2] описана система по доставке пользовательских данных из хранилища в память пользовательского устройства, имеющего ограниченный кеш. Система состоит из следующих элементов: драйвер файловой системы (IFS), менеджер кеша, сетевая файловая система на сервере (NFS). Драйвер файловой системы перехватывает системные вызовы к файловой системе от различных пользовательских приложений. Затем драйвер перенаправляет полученный системный вызов в менеджер кеша, который, анализируя системный вызов, определяет, где находится затребованный файл, и обращается или к локальной файловой системе устройства или же к сетевой файловой системе (NFS) на сервере. Менеджер кеша хранит историю недавно использованных файлов (статистика пользовательских запросов). В случае когда в кеше не хватает места для вновь потребовавшегося файла, “менеджер кеша”, основываясь на истории недавно использовавшихся файлов, удаляет из кеша наиболее “старые” файлы до тех пор, пока не освободится необходимое дисковое пространство.US Pat. No. 6,032,227 [2] describes a system for delivering user data from storage to the memory of a user device having a limited cache. The system consists of the following elements: file system driver (IFS), cache manager, network file system on the server (NFS). The file system driver intercepts system calls to the file system from various user applications. The driver then redirects the received system call to the cache manager, which, analyzing the system call, determines where the requested file is located and addresses either the device’s local file system or the network file system (NFS) on the server. The cache manager keeps a history of recently used files (statistics of user requests). In the case when there is not enough space in the cache for the newly needed file, the “cache manager”, based on the history of recently used files, deletes the oldest files from the cache until the necessary disk space is freed up.
Недостатки данной системы заключаются в следующем. В некоторых случаях (например, при переполнении кеша) загрузка пользовательских файлов из хранилища в кеш устройства происходит по запросу пользователя, таким образом, пользователь работает с хранилищем не прозрачно, а в диалоговом режиме. При этом не строится прогноз пользовательских потребностей, в результате чего при каждой операции чтения неиспользуемых ранее данных происходит задержка на время, пока эти данные не будут загружены в кеш. Для передачи данных с сервера используют только одну сетевую файловую систему (NIS), что снижает универсальность системы. Элементы системы, включая механизм IFS и менеджер кеша, работают на уровне ядра ОС, что накладывает существенные ограничения на объем используемой памяти и делает невозможным использование эффективных алгоритмов прогнозирования потребностей пользователя в данных.The disadvantages of this system are as follows. In some cases (for example, when the cache overflows), user files are downloaded from the storage to the device’s cache at the user's request, so the user does not work with the storage transparently, but in a dialogue mode. At the same time, the forecast of user needs is not built, as a result of which, for each operation of reading previously unused data, there is a delay for a time until this data is loaded into the cache. Only one network file system (NIS) is used to transfer data from the server, which reduces the versatility of the system. Elements of the system, including the IFS mechanism and the cache manager, operate at the kernel level of the OS, which imposes significant restrictions on the amount of memory used and makes it impossible to use effective algorithms for predicting user data needs.
Существует система по доставке контента (структурированные данные) с персонального компьютера на мобильное устройство посредством сети (выложенная заявка на патент США №2010/0174735) [3]. В данной системе персональный компьютер представляет собой сервер, на котором хранится различный контент, данные о пользователях и история их запросов, а также работают модули прогноза, конвертации контента и модуль качества услуги (QoS). Пользователь на мобильном устройстве через специализированное ПО формирует поисковый запрос на определенный контент и отправляет его на сервер. Сервер, согласно данному запросу, делает выборку подходящего контента и отправляет ее пользователю, затем, основываясь на данном и предыдущих запросах пользователя, он делает предположение о том, какой еще контент может заинтересовать пользователя, и отправляет его тоже. Контент может доставляться на устройство как в исходном, так и в преобразованном виде. В последнем случае перед отправлением контента пользователю контент проходит через модуль конвертации контента и преобразовывается в подходящий для мобильного устройства формат (например, из avi в 3gp).There is a system for delivering content (structured data) from a personal computer to a mobile device via a network (US Patent Application Laid-Open No. 2010/0174735) [3]. In this system, a personal computer is a server on which various content is stored, data about users and the history of their requests, as well as forecast, content conversion, and quality of service (QoS) modules. A user on a mobile device through specialized software generates a search query for specific content and sends it to the server. The server, according to this request, makes a selection of suitable content and sends it to the user, then, based on this and previous requests of the user, he makes an assumption about what other content may interest the user, and sends it too. Content can be delivered to the device in both its original and converted form. In the latter case, before sending the content to the user, the content passes through the content conversion module and is converted to a format suitable for the mobile device (for example, from avi to 3gp).
Недостатки данного решения состоят в следующем. Хранилищем данных является некоторая вычислительная система, способная выполнять некоторый расчет. Модуль прогноза находится на этой вычислительной системе, что не мешает использованию данного решения для работы с облачными хранилищами, не способными выполнять вычисления. Кроме того, прогноз необходимых пользователю данных основывается на сформированном пользователем поисковом запросе, что подразумевает работу с пользователем в диалоговом режиме.The disadvantages of this solution are as follows. A data warehouse is a computer system capable of performing some calculation. The forecast module is located on this computing system, which does not interfere with the use of this solution for working with cloud storage services that are not able to perform calculations. In addition, the forecast of the data necessary for the user is based on a search query generated by the user, which implies working with the user in a dialogue mode.
Наиболее близкими к заявляемому изобретению являются система и способ доставки данных от произвольного сетевого ресурса (www, ftp…) на мобильное устройство по средствам сети, описанные в выложенной заявке на патент США №2005/0108322 [4]. В качестве посредника по передаче данных используют некоторый сервер, доступ к которому с мобильного устройства осуществляется по беспроводной сети. Сервер представляет собой “вычислительную среду” (ПК, кластер, распределенная система), в которой содержится три программных модуля: модуль хранения, модуль предсказания и модуль доставки. На мобильном устройстве установлено специализированное ПО, которое позволяет делать запросы к различным ресурсам сети через промежуточный сервер и получать от него запрошенные данные. Когда пользователь делает запрос, то этот запрос отправляется на промежуточный сервер по беспроводной сети, где запрос сохраняется в модуле хранения. На основании информации, содержащейся в модуле хранения, модуль прогноза выполняет предсказание последующего запроса пользователя, загружает прогнозируемую информацию, сохраняет ее в модуле хранения и передает в модуль доставки. Наличие прогнозируемой информации в модуле хранения обеспечивает, при последующем доступе к ней, быстрый доступ к данным по беспроводной локальной сети без обращения в Интернет. Предсказание последующей активности пользователя определяется с помощью цепей Маркова. Модуль доставки транзитом передает на мобильное устройство запрошенный ресурс и ресурсы, которые предположительно понадобятся пользователю на следующем этапе (результат работы модуля прогноза). Данные система и способ выбраны в качестве прототипа заявленного изобретения.Closest to the claimed invention are a system and method for delivering data from an arbitrary network resource (www, ftp ...) to a mobile device by means of the network described in US Patent Application Laid-Open No. 2005/0108322 [4]. As a data transfer intermediary, some server is used, access to which is carried out wirelessly from a mobile device. The server is a “computing environment” (PC, cluster, distributed system), which contains three software modules: a storage module, a prediction module, and a delivery module. Specialized software is installed on the mobile device, which allows you to make requests to various network resources through an intermediate server and receive requested data from it. When the user makes a request, this request is sent to the intermediate server over the wireless network, where the request is stored in the storage module. Based on the information contained in the storage module, the forecast module predicts a subsequent user request, downloads the predicted information, stores it in the storage module, and transfers it to the delivery module. The availability of predicted information in the storage module provides, with subsequent access to it, quick access to data over a wireless local area network without Internet access. Prediction of subsequent user activity is determined using Markov chains. The transit delivery module transmits to the mobile device the requested resource and resources that the user will presumably need in the next step (the result of the forecast module). These system and method are selected as a prototype of the claimed invention.
Недостатки системы и способа прототипа заключаются в следующем. В прототипе используется внешняя вычислительная система, доступ к которой осуществляется по беспроводной локальной сети, что снижает универсальность применения системы за пределами локальных сетей с развернутым вспомогательным сервером.The disadvantages of the system and method of the prototype are as follows. The prototype uses an external computing system, access to which is via a wireless local area network, which reduces the versatility of using the system outside of local networks with a deployed auxiliary server.
Задачей заявляемого изобретения является создание системы и способа записи данных в облачное хранилище с повышенным удобством пользования: с обеспечением прозрачной работы пользователя с большими объемами данных при маленьком объеме кеша за счет отсутствия общения системы с пользователем в диалоговом режиме, а также с обеспечением возможности выбора пользователем используемого хранилища данных вне зависимости от поставщика услуг хранения; и с улучшенной эффективностью работы, за счет построения более точного прогноза путем использования для прогнозирования не только статистики по запросам пользователя, но и происходящих в операционной системе событий.The objective of the invention is the creation of a system and method of recording data in a cloud storage with enhanced usability: to ensure transparent operation of the user with large amounts of data with a small cache due to the lack of dialogue between the system and the user in the dialogue mode, as well as providing the possibility of the user choosing data warehousing regardless of the storage service provider; and with improved work efficiency, by constructing a more accurate forecast by using not only statistics for user queries to forecast, but also events occurring in the operating system.
Поставленная задача решена путем создания усовершенствованной системы записи данных в облачное хранилище, при этом заявляемая система содержит: облачное хранилище и, по меньшей мере, одно пользовательское устройство, содержащее драйвер облачного хранилища, причем упомянутый драйвер включает в себя роутер, модуль прогнозирования, кеш, менеджер кеша, коннектор к облачному хранилищу, модуль трассировки системных событий и историю запросов пользовательского приложения, причем кеш и история запросов содержатся в локальной файловой системе, при этом пользовательское устройство выполнено с возможностью выполнения пользовательского приложения в операционной системе; роутер выполнен с возможностью перехвата запросов пользовательского приложения к файловой системе, и если запрос направлен к облачному хранилищу, то перенаправления запроса к менеджеру кеша и модулю прогнозирования, а также с возможностью возвращения данных, полученных от менеджера кеша, пользовательскому приложению; менеджер кеша выполнен с возможностью определения, находится ли затребованный ресурс в кеше или нет, и если затребованных данных нет в кеше, то отправления запроса на загрузку данных в коннектор к облачному хранилищу, а также с возможностью возвращения данных роутеру после загрузки; причем при приходе запроса в роутер роутер также выполнен с возможностью отправления данных о запросе в модуль прогнозирования, который выполнен с возможностью формирования предположения о том, какие файлы понадобятся пользователю на следующем этапе, и отправления заявки на их загрузку в менеджер кеша, основываясь на текущем запросе и истории пользовательской активности, и, если эти данные отсутствуют в кеше, используют менеджер кеша, выполненный с возможностью загрузки этих данных из облачного хранилища с помощью коннектора к облачному хранилищу.The problem is solved by creating an improved system for writing data to the cloud storage, while the inventive system contains: cloud storage and at least one user device containing a cloud storage driver, said driver including a router, prediction module, cache, manager a cache, a cloud storage connector, a system events tracing module and a request history of a user application, and the cache and request history are contained in the local file system e, while the user device is configured to execute the user application in the operating system; the router is capable of intercepting requests of the user application to the file system, and if the request is directed to the cloud storage, then redirecting the request to the cache manager and forecasting module, as well as with the ability to return data received from the cache manager to the user application; the cache manager is configured to determine whether the requested resource is in the cache or not, and if the requested data is not in the cache, then send a request to download data to the connector to the cloud storage, and also with the ability to return data to the router after downloading; moreover, when a request arrives at the router, the router is also configured to send request data to the forecasting module, which is configured to form an assumption about which files the user will need in the next step, and send an application for downloading them to the cache manager based on the current request and user activity history, and if this data is not in the cache, a cache manager is used that is capable of downloading this data from the cloud storage using the connector to the cloud at the store.
В данном контексте термин «коннектор» понимается в том смысле, как это определено рекомендациями для 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 именно, как настроенное соединение между почтовыми серверами в различных группах маршрутизации или почтовых системах. При этом конкретные коннекторы могут быть выполнены в виде коннекторов, адаптированных к соединениям с конкретными типами серверов.In this context, the term “connector” is understood in the sense as defined by the recommendations for Microsoft Exchange Server (see http://en.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D0% BD% D0% B5% D0% BA% D1% 82% D0% BE% D1% 80_% 28Exchange% 29) [5], namely, as a configured connection between mail servers in different routing groups or mail systems. In this case, specific connectors can be made in the form of connectors adapted to connections with specific types of servers.
Для функционирования системы важно, чтобы пользовательское устройство было выбрано из набора пользовательских устройств, содержащего мобильное устройство и персональный компьютер.For the functioning of the system, it is important that the user device is selected from a set of user devices containing a mobile device and a personal computer.
Поставленная задача решена также путем создания способа записи данных в облачное хранилище в системе, которая содержит облачное хранилище и, по меньшей мере, одно пользовательское устройство, которое содержит драйвер облачного хранилища, который включает в себя роутер, модуль прогнозирования, кеш, менеджер кеша, коннектор к облачному хранилищу, модуль трассировки системных событий и историю запросов пользовательского приложения, при этом способ предусматривает выполнение следующих операций:The problem is also solved by creating a way to write data to the cloud storage in a system that contains cloud storage and at least one user device that contains a cloud storage driver, which includes a router, forecast module, cache, cache manager, connector to cloud storage, the module for tracing system events and the request history of the user application, while the method involves the following operations:
- формируют в пользовательском устройстве запросы пользовательского приложения к файловой системе;- form in the user device the requests of the user application to the file system;
- перехватывают запросы пользовательского приложения к файловой системе посредством роутера;- intercept user application requests to the file system through a router;
- если запрос направлен к облачному хранилищу, то направляют запрос к менеджеру кеша и модулю прогнозирования посредством роутера;- if the request is directed to the cloud storage, then the request is sent to the cache manager and forecasting module through the router;
- определяют с помощью менеджера кеша, находится затребованный ресурс в кеше или нет;- determine with the help of the cache manager whether the requested resource is in the cache or not;
- если ресурс находится в кеше, то с помощью менеджера кеша направляют запрос пользовательского приложения к кешированному файлу;- if the resource is in the cache, then with the help of the cache manager send a request for the user application to the cached file;
- если затребованных данных нет в кеше, то с помощью менеджера кеша отправляют запрос на загрузку данных в коннектор к облачному хранилищу;- if the requested data is not in the cache, then with the help of the cache manager they send a request to download data to the cloud storage connector;
- после загрузки данных возвращают с помощью менеджера кеша данные роутеру, посредством которого возвращают данные пользовательскому приложению;- after downloading the data, the data is returned using the cache manager to the router, by which the data is returned to the user application;
- причем при приходе запроса в роутер отправляют данные о запросе в модуль прогнозирования посредством роутера, делают предположение о том, какие файлы понадобятся пользователю на следующем этапе, и отправляют заявку на их загрузку в менеджер кеша, основываясь на текущем запросе и истории пользовательской активности посредством модуля прогнозирования, и, если эти данные отсутствуют в кеше, загружают их с помощью менеджера кеша из облачного хранилища, используя коннектор к облачному хранилищу.- moreover, when a request arrives at the router, the request data is sent to the forecasting module via the router, make an assumption about what files the user will need in the next step, and send a request for their download to the cache manager, based on the current request and the history of user activity through the module forecasting, and if this data is not in the cache, download it using the cache manager from the cloud storage using the connector to the cloud storage.
Для лучшего понимания заявленного изобретения далее приводится его подробное описание с привлечением соответствующих графических материалов.For a better understanding of the claimed invention the following is a detailed description with the involvement of the relevant graphic materials.
Фиг.1. Общая схема системы записи данных в облачное хранилище, выполненная согласно изобретению.Figure 1. A general diagram of a cloud storage data recording system in accordance with the invention.
Элементы:Items:
101 - пользователь;101 - user;
110 - мобильное устройство;110 is a mobile device;
111 - драйвер облачного хранилища;111 - cloud storage driver;
113.1 - кеш на мобильном устройстве;113.1 - cache on a mobile device;
113.2- кеш на персональном компьютере;113.2- cache on a personal computer;
120 - персональный компьютер;120 - personal computer;
130 - сеть;130 - network;
140 - облачное хранилище;140 - cloud storage;
145 - данные.145 - data.
Фиг.2. Схема драйвера облака, выполненная согласно изобретению.Figure 2. Cloud driver circuitry made according to the invention.
Элементы:Items:
112 - роутер;112 - router;
113 - кеш;113 - cache;
114 - модуль трассировки системных событий;114 - module tracing system events;
115 - менеджер кеша;115 - cache manager;
116 - история;116 - history;
117 - модуль прогнозирования;117 - forecasting module;
118 - коннектор к облачному хранилищу;118 - connector to the cloud storage;
119.1, 119.2 - адаптированные коннекторы к облачным хранилищам.119.1, 119.2 - adapted connectors to cloud storage.
Фиг.3. Блок-схема способа записи данных в облачное хранилище согласно изобретению.Figure 3. A flowchart of a method for recording data to a cloud storage according to the invention.
Фиг.4. Подробная схема системы записи данных в облачное хранилище согласно изобретению.Figure 4. A detailed diagram of a cloud storage system according to the invention.
Элементы:Items:
420 - пользовательские приложения;420 - user applications;
450 - локальная ФС;450 - local FS;
500.1, 500.2 - облачные хранилища.500.1, 500.2 - cloud storage.
Заявленная система записи данных в облачное хранилище может быть инсталлирована в мобильное устройство. Пользователь инсталлирует систему в устройство для расширения используемого дискового пространства без установки дополнительных физических модулей памяти (флеш-карт). Пользователь выбирает одного из поставщиков услуг (поддерживаемых системой облачных хранилищ) и, в случае необходимости, вводит свои авторизационные данные (логин и пароль к хранилищу). В качестве параметра работы системы задается максимальный размер кеша.The claimed system for recording data to the cloud storage can be installed on a mobile device. The user installs the system in a device to expand the used disk space without installing additional physical memory modules (flash cards). The user selects one of the service providers (supported by the cloud storage system) and, if necessary, enters his authorization data (username and password for the store). As a parameter of the system, the maximum cache size is set.
При соединении с облачным хранилищем модуль коннектор определяет, какое хранилище необходимо использовать. Выбор происходит на основе выбранного пользователем поставщика услуг.When connecting to cloud storage, the connector module determines which storage should be used. The selection is based on the service provider selected by the user.
Во время работы система перехватывает запросы от пользовательских приложений к файловой системе через роутер и передает их менеджеру кеша и модулю прогнозирования. Возникающие системные события (запуск процесса, обнаружение новой сети, подключение к устройству, изменение GPS координат) фиксируют в модуле трассировки системных событий и передают в модуль прогнозирования.During operation, the system intercepts requests from user applications to the file system via a router and passes them to the cache manager and forecasting module. Emerging system events (starting a process, detecting a new network, connecting to a device, changing GPS coordinates) are recorded in the system events tracing module and passed to the forecasting module.
Менеджер кеша анализирует перехваченный запрос и определяет, находится запрашиваемый файл в кеше или нет. Если файл уже находится в кеше, система использует квитированный файл. В противном случае система загружает требуемый файл из облачного хранилища. Менеджер кеша хранит данные кеша в локальной файловой системе, при этом отслеживает, чтобы размер данных кеша не превосходил заданный максимальный размер кеша.The cache manager analyzes the intercepted request and determines whether the requested file is in the cache or not. If the file is already in the cache, the system uses the acknowledged file. Otherwise, the system downloads the required file from the cloud storage. The cache manager stores cache data in the local file system, while ensuring that the size of the cache data does not exceed the specified maximum cache size.
В процессе работы системы модуль прогнозирования собирает историю обращений к файловой системе и системные события в виде истории, которая, как и данные кеша, хранится на локальной файловой системе. История используется модулем для прогнозирования будущих потребностей пользователя. Если модуль прогнозирование вычисляет, что вероятность запроса пользователем определенного файла высока, то он формирует запрос к модулю менеджер кеша на загрузку этого файла.During the operation of the system, the forecasting module collects the history of accesses to the file system and system events in the form of history, which, like cache data, is stored on the local file system. History is used by the module to predict future user needs. If the forecasting module calculates that the probability of a user requesting a specific file is high, then it generates a request to the cache manager module to load this file.
Вся работа по загрузке и удалению файлов из кеша осуществляется прозрачно для пользователя.All work on downloading and deleting files from the cache is transparent to the user.
Рассмотрим функционирование заявленных системы и способа записи данных в облачное хранилище в случае наличия двух локальных устройств: мобильного устройства и персонального компьютера (Фиг.1-4). Когда пользовательское приложение 420 посылает запрос на доступ к файловой системе 450, он перехватывается роутером 112. Роутер 112 перенаправляет пришедший запрос в менеджер кеша 115 и модуль прогнозирования 117.Consider the operation of the claimed system and method of recording data in a cloud storage in the case of two local devices: a mobile device and a personal computer (Figure 1-4). When
Менеджер кеша 115 определеяет, где реально находится затребованный ресурс: в кеше 113 или нет. Если затребованные данные находятся в кеше 113, то осуществляется доступ к этому кешированному файлу. В случае если затребованных данных нет в кеше 113, менеджер 115 кеша определяет наличие достаточного места в кеше 113 для загрузки затребованного файла и освобождает место в случае необходимости. После этого менеджер 115 кеша отправляет запрос на загрузку данных в коннектор 118 к облачному хранилищу.The
Коннектор 118 к облачному хранилищу в зависимости от используемого облачного хранища 500 (500.1 или 500.2) выбирает соответствующий адаптированный коннектор 119 (119.1 или 119.2) и загружает затребованные данные в кеш 113. После загрузки данных менеджер 115 кеша возвращает данные роутеру 112, а тот возвращает данные пользовательскому приложению 420.The
Также при приходе запроса в роутер 112 он отправляет данные о запросе в модуль 117 прогнозирования. Модуль 117 прогнозирования, основываясь на текущем запросе и истории 116 пользовательской активности, делает предположение о том, какие файлы понадобятся пользователю на следующем этапе, и отправляет заявку на их загрузку в менеджер 115 кеша, и если эти данные отсутствуют в кеше 113, то менеджер 115 кеша загружает их из облачного хранилища 500 (500.1 или 500.2) при помощи коннетора 118 к облачному хранилищу.Also, when a request arrives at
Модуль 117 прогнозирования получает информацию о системных событиях из модуля 114 трассировки системных событий. Модуль 117 прогнозирования, основываясь на текущем системном событии и истории 116 пользовательской активности, делает предположение о том, какие файлы понадобятся пользователю на следующем этапе, и отправляет заявку на их загрузку в менеджер 115 кеша, и если эти данные отсутствуют в кеше 113, то менеджер 115 кеша загружает их из облачного хранилища 500 (500.1 или 500.2) при помощи коннектора 118 к облачному хранилищу.
Заявленное изобретение описывает систему кеширования данных на мобильном устройстве, учитывающую следующие особенности, характерные для облачных хранилищ и мобильных устройств:The claimed invention describes a system for caching data on a mobile device, taking into account the following features specific to cloud storage and mobile devices:
- Облачное хранилище не может содержать каких-либо вычислительных элементов (включая модуль кеширования). Хранилище выполняет строго определенную функцию хранения данных.- Cloud storage cannot contain any computing elements (including caching module). Storage performs a strictly defined data storage function.
- Система должна быть работоспособна с различными облачными хранилищами (dropbox, files.ovi.com и д.р.).- The system must be operational with various cloud storage services (dropbox, files.ovi.com, etc.).
- Использование хранилища должно выполняться прозрачно для пользователя. Пользователь не может задавать данные, которые необходимо кешировать.- The use of storage should be transparent to the user. The user cannot set the data to cache.
- Менеджер кеширования должен выполнять прогноз, исходя не только из статистики запросов к данным, но и исходя из системных событий мобильного устройства (запуск процесса, обнаружение новой сети, подключение к устройству, изменение GPS координат).- The cache manager should make a forecast based not only on statistics of data requests, but also on the basis of system events of a mobile device (starting a process, detecting a new network, connecting to a device, changing GPS coordinates).
Хотя указанный выше вариант выполнения изобретения был изложен с целью иллюстрации настоящего изобретения, специалистам ясно, что возможны разные модификации, добавления и замены, не выходящие из объема и смысла настоящего изобретения, раскрытого в прилагаемой формуле изобретения.Although the above embodiment of the invention has been set forth to illustrate the present invention, it is clear to those skilled in the art that various modifications, additions and substitutions are possible without departing from the scope and meaning of the present invention disclosed in the attached claims.
Claims (3)
формируют в пользовательском устройстве запросы пользовательского приложения к файловой системе;
перехватывают запросы пользовательского приложения к файловой системе с помощью роутера;
если запрос направлен к облачному хранилищу, направляют запрос к менеджеру кеша и модулю прогнозирования с помощью роутера;
определяют с помощью менеджера кеша, находится ли затребованный ресурс в кеше или нет;
если ресурс находится в кеше, то направляют с помощью менеджера кеша запрос пользовательского приложения к кешированному файлу;
если затребованных данных нет в кеше, то отправляют с помощью менеджера кеша запрос на загрузку данных в коннектор к облачному хранилищу;
после загрузки данных возвращают с помощью менеджера кеша данные роутеру, через который возвращают данные пользовательскому приложению;
причем при приходе запроса в роутер отправляют с помощью роутера данные о запросе в модуль прогнозирования, делают предположение о том, какие файлы понадобятся пользователю на следующем этапе, и отправляют заявку на их загрузку в менеджер кеша, основываясь на текущем запросе и истории пользовательской активности, выполненной с помощью модуля прогнозирования, и, если эти данные отсутствуют в кеше, загружают их с помощью менеджера кеша из облачного хранилища, используя коннектор к облачному хранилищу. 3. A method of writing data to the cloud storage in a system that contains cloud storage and at least one user device that contains a cloud storage driver, which includes a router, a prediction module, a cache, a cache manager, a cloud storage connector, a module for tracing system events and a request history of a user application, while the method provides for the following operations:
form in the user device the requests of the user application to the file system;
intercept user application requests to the file system using a router;
if the request is directed to the cloud storage, send a request to the cache manager and forecast module using a router;
determine with the help of the cache manager whether the requested resource is in the cache or not;
if the resource is in the cache, then, with the help of the cache manager, a user application request is sent to the cached file;
if the requested data is not in the cache, then they send a request using the cache manager to download data to the cloud storage connector;
after downloading the data, the data is returned using the cache manager to the router, through which the data is returned to the user application;
moreover, when a request arrives at the router, the request data is sent to the forecasting module using the router, make an assumption about which files the user will need in the next step, and send a request for their download to the cache manager based on the current request and the history of user activity performed using the forecasting module, and if this data is not in the cache, download it using the cache manager from the cloud storage using the connector to the cloud storage.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2010150731/08A RU2435236C1 (en) | 2010-12-13 | 2010-12-13 | System and method of recording data into cloud storage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2010150731/08A RU2435236C1 (en) | 2010-12-13 | 2010-12-13 | System and method of recording data into cloud storage |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2435236C1 true RU2435236C1 (en) | 2011-11-27 |
Family
ID=45318306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2010150731/08A RU2435236C1 (en) | 2010-12-13 | 2010-12-13 | System and method of recording data into cloud storage |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2435236C1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2580425C1 (en) * | 2014-11-28 | 2016-04-10 | Общество С Ограниченной Ответственностью "Яндекс" | Method of structuring stored user-related objects on server |
RU2608666C2 (en) * | 2012-09-11 | 2017-01-23 | Телефонактиеболагет Л М Эрикссон (Пабл) | Method and architecture for mobility of applications in distributed cloud environment |
RU2624574C1 (en) * | 2016-02-04 | 2017-07-04 | Артем Николаевич Золотов | Method and cloud data storage device, using mass storage device |
RU2628208C2 (en) * | 2011-12-27 | 2017-08-15 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Cloud-border topologies |
CN107332737A (en) * | 2017-07-12 | 2017-11-07 | 上海斐讯数据通信技术有限公司 | A kind of method and device of management and control router third-party application |
RU2699397C2 (en) * | 2014-06-30 | 2019-09-05 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Opportunistic connection of private computing resources with external services |
-
2010
- 2010-12-13 RU RU2010150731/08A patent/RU2435236C1/en not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
Уэйн Paш "Правильное хранилище на базе облачных технологий", 25.02.2010. [найдено 24.05.2011]. Найдено в Интернет URL: http://www.pcweek.ru/its/article/detail_print.php?ID=l21862&print=Y, стр.1. * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2628208C2 (en) * | 2011-12-27 | 2017-08-15 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Cloud-border topologies |
US9876851B2 (en) | 2011-12-27 | 2018-01-23 | Microsoft Technology Licensing, Llc | Cloud-edge topologies |
RU2608666C2 (en) * | 2012-09-11 | 2017-01-23 | Телефонактиеболагет Л М Эрикссон (Пабл) | Method and architecture for mobility of applications in distributed cloud environment |
US9942320B2 (en) | 2012-09-11 | 2018-04-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and architecture for application mobility in distributed cloud environment |
US10511662B2 (en) | 2012-09-11 | 2019-12-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and architecture for application mobility in distributed cloud environment |
RU2699397C2 (en) * | 2014-06-30 | 2019-09-05 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Opportunistic connection of private computing resources with external services |
RU2580425C1 (en) * | 2014-11-28 | 2016-04-10 | Общество С Ограниченной Ответственностью "Яндекс" | Method of structuring stored user-related objects on server |
RU2624574C1 (en) * | 2016-02-04 | 2017-07-04 | Артем Николаевич Золотов | Method and cloud data storage device, using mass storage device |
CN107332737A (en) * | 2017-07-12 | 2017-11-07 | 上海斐讯数据通信技术有限公司 | A kind of method and device of management and control router third-party application |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713080B1 (en) | Request-based virtual machine memory transitioning in an on-demand network code execution system | |
US9519585B2 (en) | Methods and systems for implementing transcendent page caching | |
US11010188B1 (en) | Simulated data object storage using on-demand computation of data objects | |
RU2435236C1 (en) | System and method of recording data into cloud storage | |
CN101930449B (en) | Client, brokerage server and method for providing cloud storage | |
US9002932B2 (en) | Cloud computing access gateway and method for providing a user terminal access to a cloud provider | |
US20150213134A1 (en) | Data query method and system and storage medium | |
US8769205B2 (en) | Methods and systems for implementing transcendent page caching | |
US20210342193A1 (en) | Multi-cluster container orchestration | |
JP5032210B2 (en) | Control computer, computer system, and access control method | |
US20170153909A1 (en) | Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine | |
CN113032099B (en) | Cloud computing node, file management method and device | |
US11722553B2 (en) | Function manager for an edge compute network | |
US11416176B2 (en) | Function processing using storage controllers for load sharing | |
US10341454B2 (en) | Video and media content delivery network storage in elastic clouds | |
CN109947667A (en) | Data access prediction technique and device | |
JP2013182509A (en) | Virtualization system, load distribution device, load distribution method and load distribution program | |
CN110347656B (en) | Method and device for managing requests in file storage system | |
US10956084B2 (en) | Drive utilization in multi-tiered systems with read-intensive flash | |
Shariff et al. | An overview to pre-fetching techniques for content caching of mobile applications | |
CN115729438A (en) | Data access method, device and storage medium | |
CN114765612A (en) | Service access method and device | |
Lee et al. | Fair bandwidth allocating and strip-aware prefetching for concurrent read streams and striped RAIDs in distributed file systems | |
KR101754713B1 (en) | Asymmetric distributed file system, apparatus and method for distribution of computation | |
US11829625B2 (en) | Slice memory control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20141214 |