Способ управления синхронизацией файлов (варианты), электронное устройство (варианты) и машиночитаемый носитель
Иллюстрации
Показать всеИзобретение относится к средствам управления синхронизацией файлов между первой файловой системой первого электронного устройства и второй файловой системой второго электронного устройства. Технический результат заключается в уменьшении числа запросов при синхронизации файловых систем. Первое электронное устройство соединено со вторым электронным устройством через сеть передачи данных. Идентифицируют файлы, которые будут синхронизированы между первой файловой системой и второй файловой системой. Создают индекс, который включает в себя - по отношению к каждому из файлов - признак каждого из: первого состояния, связанного с первой файловой системой, второго состояния, связанного со второй файловой системой, и третьего состояния, представляющего собой синхронизированное состояние между двумя файловыми системами. 5 н. и 18 з.п. ф-лы, 12 ил.
Реферат
Настоящая технология относится к способам и системам синхронизации файлов между файловыми системами.
Уровень техники
Все чаще и популярней для современных настольных компьютеров и мобильных устройств становятся механизмы синхронизации между файловыми системами сетевых устройств. Эти технологии предусматривают удобный механизм, позволяющий пользователям осуществлять резервное копирование и/или удаленно управлять своими данными через сеть передачи данных, например Интернет.
В соответствии с обычными технологиями (см. Фиг. 1) первая файловая система и вторая файловая система находятся под мониторингом. Периодически, для каждой файловой системы создается соответствующий индекс (например, с использованием графических представлений, например клиентского индекса 110 и серверного индекса 120), и далее он сравнивается с индексом синхронизации (например, стабильный индекс 130), который представляет собой ожидаемое состояние каждой из первой и второй файловых систем. Любые различия между наблюдаемым состоянием и ожидаемым состоянием каждой файловой системы затем идентифицируются для определения набора операций, необходимых для синхронизации двух файловых систем (например, при передаче файлов, удалении и т.д. - представлено на Фиг. 1 цифрами 112 и 122). Затем операции выполняются последовательно или параллельно, и при завершении каждой операции индекс синхронизации обновляется, чтобы вести учет текущего состояния синхронизации.
Например, известные системы и способы общего доступа и синхронизации файлов между одной или несколькими компьютерными системами описаны в Международной публикации № WO 2013/162387 А1 "Общий доступ и синхронизации файлов" (далее именуемой "Публикация Безена").
Раскрытие изобретения
В то время как обычные способы синхронизации файловых систем могут быть эффективными в синхронизации файлов между файловыми системами, изобретатель настоящей технологии обращает внимание на наличие некоторых неудобств и недостатков. Примечательно, что процесс определения операций, необходимых для синхронизации файлов между файловыми системами в ответ на изменения в одной файловой системе, может требовать существенных вычислительных ресурсов и/или много времени на обработку, особенно если число файлов, которое необходимо синхронизировать, растет. Поэтому изобретатель предлагает улучшенные способы и системы для управления синхронизацией файлов между файловыми системами.
Вкратце, объекты настоящей технологии предусматривают способы (и связанные устройства) управления синхронизацией файлов между файловыми системами с помощью универсального индекса, который включает в себя информацию о состоянии, относящуюся ко множеству файловых систем. При создании и ведении единого индекса изобретатель настоящей технологии установил, что можно добиться заметных улучшений обычной технологии, которая требует ведения и сравнения отдельных индексов, относящихся к каждой файловой системе.
Соответственно, одним объектом различных вариантов осуществления настоящей технологии является способ управления синхронизацией файлов между первой файловой системой первого электронного устройства и второй файловой системой второго электронного устройства, причем первое электронное устройство соединено со вторым электронным устройством через сеть передачи данных; способ включает в себя:
- идентификацию файлов, которые будут синхронизированы между первой файловой системой и второй файловой системой; и
- создание индекса, который включает в себя - по отношению к каждому из файлов - признак каждого из: первого состояния, связанного с первой файловой системой, второго состояния, связанного со второй файловой системой, и третьего состояния, представляющего собой синхронизированное состояние.
В некоторых вариантах осуществления технологии, способ дополнительно включает в себя добавление в индекс связи каждого из файлов по меньшей мере с одним каталогом из единой структуры каталогов, причем единая структура каталогов указывает одновременно на первую структуру каталогов, с которой связаны файлы в первой файловой системе, и на вторую структуру каталогов, с которой связаны файлы во второй файловой системе. В некоторых, не необязательно во всех подобных вариантах осуществления технологии, единая структура каталогов представляет собой древовидную структуру, и связь каждого из файлов по меньшей мере с одним каталогом из единой структуры каталогов представляет собой связь каждого из файлов с единственным соответствующим каталогом единой структуры каталогов. Структура каталогов, которая представляет собой древовидную структуру, содержит один корневой каталог (каталог, который не обладает подкаталогами или какими-либо другими каталогами) и также может содержать другие каталоги, причем каждый каталог, отличный от корневого каталога, является подкаталогом по отношению только к одному другому каталогу (то есть, корневому каталогу или другим каталогами). В других вариантах осуществления технологии может существовать более одного корневого каталога, и/или один или несколько каталогов могут представлять собой подкаталоги более чем одного другого каталога, и/или один или несколько файлов могут быть связаны более чем с одним каталогом. Пример такой не-древообразной структуры каталогов описан в публикации Безена со ссылкой на "облачную файловую систему" (публикация Безена, стр. 20, строки 5-9 и Фиг. 4д), с тем замечанием, что термины "папка" и "подпапка" взаимозаменяемы с терминами "каталог" и "подкаталог", что очевидно для специалистов в данной области техники.
Файлы, которые будут синхронизированы между файловыми системами, могут быть идентифицированы с помощью просмотра одного из следующего: первой структуры каталогов или второй структуры каталогов. Таким образом, в некоторых вариантах осуществления технологии идентификация файлов, которые будут синхронизированы, включает в себя получение признака каталога синхронизации, который представляет собой каталог одной из следующих структур: первой структуры каталогов и второй структуры каталогов, и идентификацию файлов, каждый из которых связан по меньшей мере с одним каталогом синхронизации и по меньшей мере одним подкаталогом каталога синхронизации.
Единая структура каталогов может создаваться на основе каталога, относящегося к одному из следующего: первой файловой системе и второй файловой системе. Таким образом, в некоторых вариантах осуществления технологии способ дополнительно включает в себя создание единой структуры каталогов с помощью тиражирования по меньшей мере части структуры каталогов с корнем в каталоге синхронизации.
В некоторых вариантах осуществления технологии один или несколько файлов могут быть добавлены к набору файлов, которые будут синхронизированы. Таким образом, в некоторых вариантах осуществления технологии способ дополнительно включает в себя:
- получение признака по меньшей мере одного дополнительного файла, который будет синхронизирован; и
- обновление индекса, чтобы он включал в себя - по отношению по меньшей мере к одному дополнительному файлу - признак каждого из: состояния, связанного с первой файловой системой, состояния, связанного со второй файловой системой, и синхронизированного состояния.
Варианты осуществления технологии, в которых файлы связаны с единой структурой каталогов, которая указывает на первую структуру каталогов, с которой файлы связаны в первой файловой системе, и на вторую структуру каталогов, с которой файлы связаны во второй файловой системе, дополнительный(е) файл(ы) может(гут) стать частью тех файлов, которые будут синхронизированы между файловыми системами, в результате того, что они становятся связанными по меньшей мере с одним каталогом из следующего: каталогом, относящимся к первой структуре каталогов, и каталогом, относящимся ко второй структуре каталогов. Таким образом, в некоторых вариантах осуществления технологии получение признака по меньшей мере одного дополнительного файла включает в себя получение признака того, что по меньшей мере один дополнительный файл становится связанным по меньшей мере с одним каталогом из следующего: каталогом, относящимся к первой структуре каталогов, и каталогом, относящимся ко второй структуре каталогов. Например, подобный признак может быть получен от первого электронного устройства, второго электронного устройства или откуда-либо еще.
Когда изменяется состояние одного или нескольких файлов в одной из файловых систем (например, из-за того, что файл был удален, изменен или перемещен), может быть необходимо обновить индекс, и одной из других файловых систем может быть необходимо выполнить операцию записи для ведения синхронизации файлов между файловыми системами. Эта ситуация может возникнуть в том случае, если один или несколько файлов были, например, удалены из первой файловой системы. Таким образом, в некоторых вариантах осуществления технологии способ дополнительно включает в себя:
- обнаружение удаления по меньшей мере одного из файлов из первой файловой системы;
- обновление индекса, чтобы указать на удаление соответствующего по меньшей мере одного из файлов;
- выполнение анализа обновленного индекса, соответствующего по меньшей мере одному из файлов; и
- на основе анализа, инициирование удаления вторым электронным устройством по меньшей мере одного из файлов из второй файловой системы.
В различных вариантах осуществления технологии один или несколько файлов, синхронизированных между первым электронным устройством и вторым электронным устройством, также могут быть синхронизированы между первым электронным устройством и третьим электронным устройством, находящимся в соединении с первым электронным устройством, причем третье электронное устройством может по этой причине инициировать удаление или изменение одного или нескольких файлов, которые будут синхронизированы в первой файловой системе. Таким образом, в некоторых вариантах осуществления технологии удаление по меньшей мере одного из файлов первой файловой системы представляет собой удаление, инициированное третьим электронным устройством, находящимся в связи с первым электронным устройством.
Индекс также может быть необходимо обновить, если один или несколько файлов были изменены в первой файловой системе. Таким образом, в некоторых вариантах осуществления технологии способ дополнительно включает в себя:
- обнаружение измененного состояния, связанного с первой файловой системой, соответствующей по меньшей мере одному из файлов;
- обновление индекса, чтобы указать на измененное состояние вместо первого состояния, соответствующего по меньшей мере одному из файлов;
- выполнение анализа обновленного индекса, соответствующего по меньшей мере одному из файлов; и
- на основе анализа, инициирование передачи по меньшей мере одного из по меньшей мере одной из файлов с первого электронного устройства на второе электронное устройство и запись вторым электронным устройством переданного второй файловой системе по меньшей мере одного из по меньшей мере одного из файлов.
В некоторых вариантах осуществления технологии обнаружение измененного состояния, связанного с первой файловой системой, по отношению по меньшей мере к одному из файлов, происходит как следствие изменения по меньшей мере одного из файлов в первой файловой системе, инициированного третьим электронным устройством, связанным с первым электронным устройством. В некоторых вариантах осуществления технологии выполнение анализа обновленного индекса включает в себя сравнение измененного состояния по меньшей мере с одним из второго или третьего состояния. Сравнение может позволить определить, какие именно операции необходимо выполнить для ведения синхронизации файлов между файловыми системами.
В некоторых случаях соответствующее состояние, связанное с каждой файловой системой, может быть одинаковым (например, в тех вариантах осуществления технологии, где один или несколько файлов синхронизированы между файловыми системами). В таких случаях нет необходимости поддерживать отдельные признаки первого состояния, второго состояния и третьего состояния. Напротив, все три состояния могут быть представлены одним элементом (например, одной величиной или объектом). Например, в зависимости от дизайна, отсутствие явной информации о первом состоянии и/или втором состоянии может означать, что это состояние идентично третьему состоянию, и в данном случае необходимо будет явно характеризовать только третье состояние. Таким образом, в некоторых вариантах осуществления технологии и при определенных условиях каждое из состояний: первое, второе и третье являются одним и тем же состоянием по отношению по меньшей мере к одному из файлов, и признак каждого из этих состояний является одним признаком одного и того же состояния. Аналогичная логика применима в том случае, когда первое состояние и второе состояние являются такими же, как и третье состояние. Таким образом, в некоторых вариантах осуществления технологии одно из состояний: первое или второе совпадают с третьим состоянием по отношению по меньшей мере к одному из файлов, и признак каждого из: третьего состояния и одного из: первого или второго состояния - является одним признаком одного и того же состояния.
Способ может выполняться любым электронным устройством, выполненным с возможностью осуществления этого способа. В некоторых вариантах осуществления технологии способ выполняется первым электронным устройством, причем индекс создается на постоянном машиночитаемом носителе, относящемся к первому электронному устройству. В других вариантах осуществления технологии способ выполняется вторым электронным устройством, причем индекс создается на постоянном машиночитаемом носителе, относящемся ко второму электронному устройству. В других вариантах осуществления технологии способ выполняется другим электронным устройством, отличным от первого электронного устройства или второго электронного устройства.
Другим объектом различных вариантов осуществления настоящей технологии является выполняемый на компьютере способ управления синхронизацией файлов между файловой системой клиентского устройства и файловой системой сервера, причем клиентское устройство связано с сервером через сеть передачи данных, способ включает в себя осуществление клиентским устройством:
- идентификации файлов, которые будут синхронизированы между файловой системой клиента и файловой системой сервера; и
- создания индекса, который включает в себя, по отношению к каждому из файлов:
- признак каждого состояния клиента, связанного с файловой системой клиента, состояния сервера, связанного с файловой системой сервера, и синхронизированного состояния; и
- установление связи по меньшей мере с одним каталогом из единой структуры каталогов, причем единая структура каталогов указывает одновременно на клиентскую структуру каталогов, с которой связаны файлы в файловой системе клиента, и на серверную структуру каталогов, с которой связаны файлы в файловой системе сервера.
В некоторых вариантах осуществления технологии способ дополнительно включает в себя осуществление на клиентском устройстве:
- обнаружения изменения по меньшей мере одного из файлов, связанных с файловой системой клиента;
- обновления индекса, чтобы указать на измененное состояние вместо клиентского состояния по отношению по меньшей мере к одному из файлов;
- анализа обновленного индекса, соответствующего по меньшей мере одному из файлов; и
- на основе анализа, передачи по меньшей мере одного из по меньшей мере одного из файлов серверу и инициирования записи сервером переданного файловой системе сервера по меньшей мере одного из по меньшей мере одного из файлов.
В некоторых вариантах осуществления технологии способ дополнительно включает в себя осуществление клиентским устройством:
- получения от сервера признака измененного состояния по меньшей мере одного из файлов, связанных с файловой системой сервера;
- обновления индекса, чтобы указать на измененное состояние вместо состояния сервера по отношению по меньшей мере к одному из файлов;
- анализа обновленного индекса, соответствующего по меньшей мере одному из файлов; и
- на основе анализа, инициирования передачи по меньшей мере одного из по меньшей мере одного из файлов от сервера клиентскому устройству и записи переданного файловой системе клиента по меньшей мере одного из по меньшей мере одного из файлов.
Другим объектом различных вариантов осуществления настоящей технологии является электронное устройство для выполнения одного или нескольких вышеописанных способов. Таким образом, различные варианты осуществления технологии предусматривают электронное устройство для управления синхронизацией файлов между первой файловой системойи второй файловой системой, причем электронное устройство включает в себя:
- постоянный машиночитаемый носитель, обладающий закодированной на нем файловой системой;
- интерфейс связи, настроенный и выполненный с возможностью установления соединения через сеть передачи данных со вторым электронным устройством, включающим в себя вторую файловую систему; и
- по меньшей мере один процессор, функционально соединенный с интерфейсом связи, первым постоянным машиночитаемым носителем и вторым постоянным машиночитаемым носителем, процессор настроен и выполнен с возможностью:
- идентифицировать файлы, которые будут синхронизированы между первой файловой системой и второй файловой системой; и
- создать индекс, который включает в себя - по отношению к каждому из файлов - признак каждого из: первого состояния, связанного с первой файловой системой, второго состояния, связанного со второй файловой системой, и третьего состояния, представляющего собой синхронизированное состояние.
Различные варианты осуществления технологии предусматривают электронное устройство для управления синхронизацией файлов между первой файловой системой и второй файловой системой, причем электронное устройство включает в себя:
- постоянный машиночитаемый носитель;
- интерфейс связи, настроенный и выполненный с возможностью установления соединения через сеть передачи данных с каждым из следующего: первым электронным устройством, включающим в себя первую файловую систему, и вторым электронным устройством, включающим в себя вторую файловую систему; и
- по меньшей мере один процессор, функционально соединенный с интерфейсом связи и постоянным машиночитаемым носителем, процессор настроен и выполнен с возможностью:
- идентифицировать файлы, которые будут синхронизированы между первой файловой системой и второй файловой системой; и
- создать индекс, который включает в себя - по отношению к каждому из файлов - признак каждого из: первого состояния, связанного с первой файловой системой, второго состояния, связанного со второй файловой системой, и третьего состояния, представляющего собой синхронизированное состояние.
Другим объектом различных вариантов осуществления настоящей технологии является постоянный машиночитаемый носитель, содержащий закодированные программные инструкции, при выполнении которых процессором электронного устройства осуществляется один или несколько вышеописанных способов. Таким образом, различные варианты осуществления технологии могут предусматривать постоянный машиночитаемый носитель, обладающий закодированными программными инструкциями, при выполнении которых по меньшей мере одним процессором осуществляется:
- идентификация файлов, которые будут синхронизированы между первой файловой системой первого электронного устройства и второй файловой системой второго электронного устройства, причем второе электронное устройство соединено с первым электронным устройством через сеть передачи данных; и
- создание индекса, который включает в себя - по отношению к каждому из файлов - признак каждого из: первого состояния, связанного с первой файловой системой, второго состояния, связанного со второй файловой системой, и третьего состояния, представляющего собой синхронизированное состояние.
В контексте настоящего описания «сервер» подразумевает под собой одно или несколько цифровых электронных устройств, которые способны (но не обязаны) включать в себя один или несколько процессоров, работающих на соответствующем оборудовании, которые способны получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. В контексте настоящей технологии использование выражения «сервер» не означает, что каждая задача (например, полученные инструкции или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в термин «сервер».
В контексте настоящего описания «клиентское устройство» подразумевает под собой цифровое электронное устройство, которое способно (но не обязано) включать в себя один или несколько процессоров, которые работают с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами клиентских устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного метода.
В контексте настоящего описания «информация» включает в себя любую информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.
В контексте настоящего описания "признак" информационного элемента может представлять собой сам информационный элемент или указатель, отсылку, ссылку или другой косвенный способ, позволяющий получателю указания найти сеть, память, базу данных или другой машиночитаемый носитель, из которого может быть извлечен информационный элемент. Например, признак файла может включать в себя сам файл (т.е. его содержимое), или же он может являться уникальным дескриптором файла, идентифицирующим файл по отношению к конкретной файловой системе, или каким-то другими средствами передавать получателю указание на сетевую папку, адрес памяти, таблицу в базе данных или другое место, в котором можно получить доступ к файлу. Как будет понятно специалистам в данной области техники, степень точности, необходимая для такого указания, зависит от степени первичного понимания того, как должна быть интерпретирована информация, которой обмениваются получатель и отправитель указателя. Например, если до установления связи между отправителем и получателем понятно, что признак информационного элемента принимает вид ключа базы данных для записи в конкретной таблице заранее установленной базы данных, содержащей информационный элемент, то передача ключа базы данных - это все, что необходимо для эффективной передачи информационного элемента получателю, несмотря на то, что сам по себе информационный элемент не передавался между отправителем и получателем указания.
В контексте настоящего описания термин "состояние" файла подразумевает под собой содержимое файла и/или метаданные, связанные с файлом, в зависимости от варианта осуществления технологии. Таким образом, в некоторых вариантах осуществления технологии первое состояние, связанное с первой файловой системой, относящейся к файлу, может отличаться от второго состояния, связанного со второй файловой системой, относящейся к файлу, в силу того факта, что содержимое файла, хранящегося в первой файловой системе, отличается от содержимого файла, хранящегося во второй файловой системе. В других вариантах осуществления технологии состояния файла, связанные с первой и второй файловыми системами, могут отличаться друг от друга, даже если содержимое файла одинаково, например, по причине того, что метаданные, связанные с файлом (не исчерпывающие примеры этого включают в себя имя файла, время создания, время изменения, номер версии и т.д.) в первой файловой системе, отличаются от вторых метаданных, связанных с файлом во второй файловой системе. Поэтому изменение метаданных, связанных с файлом в первой файловой системе, может считаться - в некоторых вариантах осуществления технологии - изменением состояния файла, относящегося к первой файловой системе, которое может привести к необходимости синхронизации метаданных, связанных с файлом во второй файловой системе.
В контексте настоящего описания "машиночитаемый носитель" подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
В контексте настоящего описания слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной связи между этими существительными. Так, например, следует иметь в виду, что использование терминов "первый сервер" и "третий сервер " не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание "первого" элемента и "второго" элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, "первый" сервер и "второй" сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
Каждый вариант осуществления настоящей технологии включает по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.
Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящей технологии станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
Для лучшего понимания настоящей технологии, а также других ее аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
На Фиг. 1 представлена диаграмма, демонстрирующая пример обычной технологии определения операций, которые необходимо выполнить для синхронизации файлов между файловой системой клиента и файловой системой сервера;
На Фиг. 2 представлена схема сетевой вычислительной среды, подходящей для использования вариантов осуществления настоящей технологии;
На Фиг. 3 представлена схема компьютерной системы, обладающей различными аппаратными компонентами, подходящими для реализации вариантов осуществления настоящей технологии;
На Фиг. 4 представлена блок-схема диаграммы, демонстрирующая систему для реализации настоящей технологии с помощью различных логических компонентов;
На Фиг. 5 представлена диаграмма, иллюстрирующая пример единого индекса в соответствии с вариантом осуществления настоящей технологии;
На Фиг. 6 представлена таблица различных потенциальных комбинаций, относящихся к информации о состоянии, связанной с файлом или каталогом, которые будут синхронизированы между первой и второй файловыми системами;
На Фиг. 7 представлена таблица, отображающая файл и операции индекса, которые необходимо выполнить в каждой из множества возможных ситуаций в соответствии с примерным вариантом осуществления настоящей технологии; и
На Фиг. 8-12 представлены блок-схемы, иллюстрирующие различные варианты осуществления настоящей технологии.
Осуществление изобретения
Следует иметь в виду, что все примеры и используемые здесь условные конструкции предназначены, главным образом, для того, чтобы помочь читателю понять принципы настоящей технологии, а не для установления границ ее объема. Следует также отметить, что специалисты в данной области техники могут разработать различные схемы, отдельно не описанные и не показанные здесь, но которые, тем не менее, воплощают собой принципы настоящей технологии и находятся в границах ее объема.
Кроме того, для помощи в понимании, следующее описание касается достаточно простых вариантов осуществления настоящей технологии. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящей технологии будут обладать гораздо большей сложностью.
Некоторые полезные примеры модификаций настоящей технологии также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящей технологии. Эти модификации не представляют собой исчерпывающего списка, и специалисты в данной области техники могут создавать другие модификации, остающиеся в границах объема настоящей технологии. Кроме того, те случаи, где не были представлены примеры модификаций, не должны интерпретироваться как то, что никакие модификации невозможны, и/или что то, что было описано, является единственным вариантом осуществления этого элемента настоящей технологии.
Более того, все заявленные здесь принципы, аспекты и варианты осуществления технологии, равно как и конкретные их примеры, предназначены для обозначения их структурных и функциональных основ, вне зависимости от того, известны ли они на данный момент или будут разработаны в будущем. Таким образом, например, специалистами в данной области техники будет очевидно, что представленные здесь блок-схемы представляют собой концептуальные иллюстративные схемы, отражающие принципы настоящей технологии. Аналогично, любые блок-схемы, диаграммы переходного состояния, псевдокоды и т.п. представляют собой различные процессы, которые могут быть представлены на машиночитаемом носителе и, таким образом, использоваться компьютером или процессором вне зависимости от того, показан явно подобный компьютер или процессор или нет.
Функции различных элементов, показанных на фигурах, включают в себя функциональные блоки, обозначенные как "процессоры", могут быть обеспечены с помощью специализированного аппаратного обеспечения или же аппаратного обеспечения, способного использовать подходящее программное обеспечение. Когда речь идет о процессоре, функции могут обеспечиваться одним специализированным процессором, одним общим процессором или множеством индивидуальных процессоров, причем некоторые из них могут являться общими. Более того, использование термина "процессор" или "контроллер" не должно подразумевать исключительно аппаратное обеспечение, способное поддерживать работу программного обеспечения, и может включать в себя, без установления ограничений, цифровой сигнальный процессор (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянное запоминающее устройство (ПЗУ) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ) и энергонезависимое запоминающее устройство. Также может быть включено другое аппаратное обеспечение, обычное и/или специальное. Программные модули или простые модули, представляющие собой программное обеспечение, которое может быть использовано здесь в комбинации с элементами блок-схемы или другими элементами, которые указывают на выполнение этапов процесса и/или текстовое описание. Подобные модели могут быть выполнены на аппаратном обеспечении, показанном напрямую или косвенно. Также следует отметить, что чертежи выполнены не в масштабе, если не специально указано иное.
Далее будут рассмотрены некоторые не ограничивающие иллюстративные варианты осуществления аспектов настоящей технологии.
На Фиг. 2 представлена схема, демонстрирующая пример реализации схемы 200, состоящей из смартфона 210 и персонального компьютера 220, каждый из которых соединен с сервером 230 через сеть 201 передачи данных (например, Интернет, локальную сеть или любую другую подходящую сеть передачи данных). В других вариантах осуществления технологии (не показаны) смартфон 210 и персональный компьютер 220 могут быть соединены с сервером 230 через отдельную сеть передачи данных вместо сети 201 передачи данных. Соответствующие сетевые технологии, которые могут быть использованы для реализации сети 201 передачи данных, включают в себя, среди прочего, коммутируемый удаленный доступ, выделенную линию, цифровую сеть с интеграцией служб, оптическую, широкополосную, электрическую, оптоволоконную сеть, цифровую абонентскую линию, Wi-Fi, кабельную, спутниковую и мобильную связь. Известные межсетевые протоколы (т.е. TCP/IP) могут быть использованы в сочетании с подобными технологиями наряду с протоколами более высокого уровня (т.е. HTTP) для осуществления связи между электронными устройствами, соединенными с сетью 201 передачи данных.
Смартфон 210 может представлять собой стандартный смартфон, например Apple iPhone™, работающий на операционной системе Apple iOS™, или Samsung Galaxy™ серии S, работающий на операционной системе Google Android™, а персональный компьютер 220 может представлять собой стандартный настольный компьютер, работающий на стандартной операционной системе, например Microsoft Windows™ или Apple OSX™. Сервер 230 может представлять собой один или несколько физических компьютеров и/или виртуальных машин, настроенных и выполненных с возможностью выполнять задачи, необходимые для выполнения функций, описанных ниже.
На Фиг. 3 представлен примерный вариант осуществления каждого элемента - смартфона 210, персонального компьютера 220 и сервера 230, которые могут представлять собой компьютерную систему 300, включающую в себя компоненты аппаратного обеспечения: один или несколько одиночных мультиядерных процессоров 310, память 210, запоминающее устройство 330 и сетевой интерфейс 340 (подходящие для установления связи через сеть 201 передачи данных, представленную на Фиг. 2). Связь между различными компонентами возможна с помощью одной или нескольких внутренних или внешних шин 350 (например, PCI или USB), к которым могут быть присоединены компоненты электронным образом. Вышеописанные аспекты настоящей технологии могут быть реализованы в компьютерной системе 300. Например, компьютерная система 300 может включать в себя или иметь доступ к постоянному машиночитаемому носителю (например, память 320), обладающему закодированными программными инструкц