СПОСОБ СТРУКТУРИЗАЦИИ ХРАНЯЩИХСЯ ОБЪЕКТОВ В СВЯЗИ С ПОЛЬЗОВАТЕЛЕМ НА СЕРВЕРЕ И СЕРВЕР
METHOD OF STRUCTURING STORED USER-RELATED OBJECTS ON SERVER

ОБЛАСТЬ ТЕХНИКИ, КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящая изобретение относится к области электронной коммуникации через сеть передачи данных в целом и, конкретнее - к способу и системе группировки объектов на устройстве хранения.
УРОВЕНЬ ТЕХНИКИ
[0002] Обычное электронное устройство - ноутбук, настольный компьютер или телефон - позволяет связанному с ним пользователю выполнять множество функций. Например, обычный пользователь одного из электронных устройств компании Apple 1 Infinite Loop, Купертино, Калифорния, Соединенные Штаты Америки (такого как iPhone™ или iPad™), может выполнять с помощью подобного электронного устройства огромное количество различных функций. Они включают в себя такие функции как, передача и получение электронных сообщений, передача и получение коротких текстовых сообщений (таких как Messages™ или текстовые сообщения), прослушивание аудиофайлов, просмотр видеофайлов; разговор, хранение и обмен фотографиями и видео; использование одного из множества приложений из так называемого Apple.Store™ - хранилища приложений, специально разработанных для подобных электронных устройств.
[0003] Несмотря на то, что емкость устройств хранения (таких как жесткие диски подобных электронных устройств или внешняя память, связанная с ними) в последние годы значительно возросла, а стоимость на нее снизилась, электронные устройства все еще обладают ограниченной памятью.
[0004] Например, смартфон iPhone5™ представлен вариантами с жестким диском объемом 8 Гб, 16 Гб, 32 Гб, 64 Гб и 128 Гб. Естественно, стационарные электронные устройства (такие как настольные компьютеры и, в меньшей степени, портативные компьютеры) обладают существенно большим, но, тем не менее, ограниченным объемом памяти.
[0005] Современный обычный пользователь хранит на своих электронных устройствах большие объемы данных. Эти данные включают в себя, среди прочего, документы, аудиофайлы, видеофайлы, фотографии и так далее. Для того чтобы освободить локальную память или в качестве средства резервного копирования, пользователи загружают часть данных или все данные с электронных устройств (например, фотографии, видео, документы и тому подобное) на облачные хранилища (такие как сервис хранения DropBox™, сервис хранения JustCloud™, облачный сервис Yandex.Disk™ и тому подобное).
[0006] Если данные хранятся локально на электронном устройстве или облаке, обычный пользователь сталкивается с проблемой того, что ему приходится пробираться сквозь большой объем информации для нахождения искомых данных, которые требуются ему в данный момент времени. На известном уровне техники существует несколько решений такой проблемы.
[0007] Например, для аудиофайлов используется создание списков воспроизведения. Аналогичным образом, для фотографий используется создание альбомов или "хроник".
[0008] В патентной заявке US 2011/0060738, опубликованной 10 марта 2011 под авторством Гейтса и др., раскрыты способ и механизмы упрощения создания наборов смешанных медиа для пользователей программы на основе по меньшей мере частично информации о содержании медиа-библиотеки, представленной различными пользователями программы. Лица, которые считаются пользователями программы, заинтересованы в организации, размещении и воспроизведении их музыки на основе, по меньшей мере, частично, данных, полученных от других пользователей программы. Пользователи программы передают, а система получает, данные, которые представляют собой медиа-коллекцию этого пользователя программы. Система или программа определяют относительную схожесть каждого элемента из коллекции пользователей программы посредством сравнения элементов друг с другом и исходя из схожести информационных кластеров схожих элементов. Кластеры могут быть использованы для определения кластеров схожих элементов в личной медиа-библиотеке пользователя программы и, далее, могут быть созданы наборы схожих медиа-элементов.
[0009] В заявке US 2014/0040262, опубликованной 6 февраля 2014 года под авторством Винтера и др., раскрыты способы упрощения поиска схожести для цифровых ресурсов (например, аудиофайлов, изображений, видеофайлов и тому подобного). В соответствии с некоторыми вариантами осуществления этой технологии, сервис облачного поиска управляет одним или несколькими структурами данных дерева поиска для использования в организации цифровых ресурсов таким образом, чтобы в них можно было производить поиск. Каждый цифровой ресурс связан с вектором характеристик на основе нескольких признаков и/или характеристик цифрового ресурса. Цифровые ресурсы далее связываются с листовыми узлами в одном или нескольких структурах данных дерева поиска на основе измерения расстояния между вектором характеристик цифрового ресурса и виртуальным вектором характеристик, связанным с листовым узлом. При проведении поиска схожих цифровых ресурсов, приоритетная ширина первого поиска в дереве поиска выполняется для определения тех цифровых ресурсов, которые обладают наиболее близкими по расстоянию векторами характеристик по отношению к рассматриваемому цифровому ресурсу.
[0010] В заявке US 2014/0250126, опубликованной 4 сентября 2014 под авторством Болдвина и др., раскрыт способ, включающий в себя автоматическую группировку без пользовательского ввода одного или нескольких изображений, распределенных первым пользователем по кластерам, относящимся к конкретным моментам, на основе, по меньше мере, частично, метаданных, связанных с одним или несколькими изображениями или данными, которые были определены с помощью анализа одного или нескольких изображений. Каждый конкретный момент связан с конкретным географическим местоположением и временем. Способ также включает в себя для каждого из одного или нескольких кластером определение курирующей информации, которая соответствует кластеру, на основе, по меньшей мере, частично, метаданных, связанных с изображениями в кластере, причем данные определяются через анализ изображений в кластере или социально-графическую информацию, связанную с изображениями в кластере; и предоставление кластерам изображений по меньшей мере части курирующей информации, соответствующей им, для отображения на вычислительном устройстве первого пользователя.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0011] Таким образом, задачей предлагаемого решения является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники.
[0012] Варианты осуществления настоящего решения были разработаны с учетом изобретательского понимания по меньшей мере одной проблемы, связанной с известным уровнем техники. Возьмем для примера решение, существующее в известном уровне техники, касающееся кластеризации файлов в нечто вроде кластеров на основе альбома или исполнителя. Обычно такая кластеризация выполняется на электронном устройстве и требует очень больших затрат вычислительной мощности. Таким образом, когда пользователь, например, скачивает аудио-библиотеку на электронное устройство и запрашивает кластеризацию, то процесс кластеризации будет значительно загружать вычислительные мощности электронного устройства. Это, в свою очередь, может привести к значительной разрядке батареи, особенно в том случае, если электронное устройство выполнено в виде беспроводного устройства связи (например, смартфона и т.п.). Кроме того, выполнение процесса кластеризации на электронном устройстве может привести к задержке отображения пользователю тех объектов, которые подвергаются кластеризации и, соответственно, к неудовлетворительной работе пользователя с электронным устройством.
[0013] Таким образом, одним из объектов настоящего решения является способ структуризации хранящихся на сервере объектов, связанных с пользователем. Способ выполняется на сервере, который соединен с сетью передачи данных. Способ включает: получение через сеть передачи данных от электронного устройства, связанного с пользователем, первого запроса на кластеризацию для привязки первых метаданных первого подмножества объектов в по меньшей мере первый кластер; получение метаданных, связанных с каждым объектом из первого подмножества; на основе, по меньшей мере, части метаданных, создание первой привязки метаданных первого подмножества объектов по меньшей мере к одному кластеру; передачу через сеть передачи данных первой привязки метаданных электронному устройству, причем первая привязка метаданных позволяет электронному устройству отображать первое подмножество объектов, собранных по меньшей мере в один первый кластер; получение через сеть передачи данных от электронного устройства указания на действие пользователя в первом подмножестве, которое отображается на электронном устройстве, причем действие пользователя инициирует изменение первого подмножества объектов во второе подмножество объектов; получение метаданных, связанных с каждым объектов из второго подмножества; на основе по меньшей мере метаданных, связанных со вторым подмножеством объектом, создание второй привязки метаданных второго подмножества объектов по меньшей мере ко второму кластеру, и передачу второй привязки вторых метаданных электронному устройству, причем вторая привязка метаданных позволяет электронному устройству отображать подмножество объектов, собранных по меньшей мере во второй кластер.
[0014] В некоторых вариантах осуществления способа действие пользователя представляет собой удаление объекта из первого подмножества объектов для создания второго подмножества объектов.
[0015] В вариантах осуществления способа этап создания второй привязки метаданных далее включает определение того, необходимо ли добавить какие-то дополнительные объекты во второе подмножество объектов для создания второго кластера.
[0016] В вариантах способа этап создания второй привязки метаданных далее включает определение по меньшей мере одного кластера, который нужно удалить.
[0017] В некоторых вариантах осуществления способа действие пользователя представляет собой добавление нового объекта в первое подмножество объектов для создания второго подмножества объектов.
[0018] В некоторых вариантах осуществления способ дополнительно включает в себя определение того, необходимо ли заново структурировать первый кластер в ответ на добавление нового объекта во второй кластер и третий кластер, причем второй кластер и третий кластер являются частью по меньшей мере второго кластера.
[0019] В некоторых вариантах осуществления способа в ответ на определение положительного результата, этап создания второй привязки метаданных включает в себя: создание второй привязки метаданных первой части второго подмножества объектов ко второму кластеру; и создание третьей привязки второй части второго подмножества объектов ко второму кластеру.
[0020] В некоторых вариантах осуществления способа действие пользователя представляет собой прокрутку и первое подмножество объектов соответствует разрешению страницы на дисплее электронного устройства, и этап создания второй привязки метаданных включает в себя: на основе прокрутки, определение смещения между первым подмножеством объектов и вторым подмножеством объектов; и создание второго подмножества объектов, которые собраны по меньшей мере во втором кластере, с помощью смещения последнего объекта в первом подмножестве.
[0021] В некоторых вариантах осуществления способа по меньшей мере первый кластер представляет собой группировку объектов в первый промежуток времени создания объектов, и по меньшей мере второй кластер представляет собой группировку объектов во второй промежуток времени создания объектов, и действие пользователя указывает на желание пользователя переключиться из первого промежутка времени во второй; и этап создания второй привязки метаданных включает в себя: на основе действия пользователя, определение времени сдвига между первом и вторым промежутками времени; и создание второго подмножества объектов, собранных по меньшей мере во втором кластере, с помощью временного сдвига с конца первого промежутка.
[0022] В некоторых вариантах осуществления способа объекты включают в себя фотографии, а метаданные включают в себя по меньшей мере одно из: (i) указание на географическое местоположение, где было создано соответствующее изображение, (ii) указание на время, когда было создано соответствующее изображение, (iii) указание на одно или несколько лиц, которые зафиксированы на соответствующих фотографиях.
[0023] В некоторых вариантах способа объекты включают в себя аудиофайлы, а метаданные включают по меньшей мере одно из: (i) указание на исполнителя, связанного с аудиотреком, (ii) указание на название, связанное с аудиофайлом, (iii) указание на альбом, связанный с аудиотреком и (iv) длительность аудиофайла.
[0024] В некоторых вариантах осуществления способа этап создания второй привязки второго подмножества объектов по меньшей мере ко второму кластеру дополнительно включает в себя анализ метаданных всех объектов для создания второго кластера.
[0025] В некоторых вариантах осуществления способа электронное устройство представляет собой беспроводное электронное устройство, и этап передачи второй привязки метаданных к электронному устройству далее инициирует обновление электронным устройством первой привязки метаданных изменениями на основе анализа второй привязки метаданных.
[0026] В некоторых вариантах способа электронное устройство представляет собой стационарное вычислительное устройство, и этап передачи второй привязки метаданных к электронному устройству далее инициирует замену электронным устройством первой привязки метаданных на вторую привязку метаданных.
[0027] В некоторых вариантах осуществления способа, электронное устройство представляет собой первое электронное устройство, и этап передачи через сеть передачи данных первой привязки метаданных включает в себя передачу первой привязки метаданных первому электронному устройству и второму электронному устройству, причем первая привязка метаданных позволит первому и второму электронным устройствам отображать первое подмножество объектов, собранных по меньшей мере в первом кластере.
[0028] В некоторых вариантах способа, электронное устройство представляет первое электронное устройство, и этап передачи через сеть передачи данных второй привязки метаданных включает передачу второй привязки метаданных первому электронному устройству и второму электронному устройству, причем вторая привязка метаданных позволит первому и второму электронным устройствам отображать второе подмножество объектов, собранных по меньшей мере во втором кластере.
[0029] В некоторых вариантах осуществления способа этап передачи через сеть передачи данных первой привязки метаданных электронному устройству дополнительно включает в себя передачу указания на каждый из объектов в рамках первого подмножества объектов.
[0030] В некоторых вариантах осуществления способа этап передачи через сеть передачи данных второй привязки метаданных электронному устройству дополнительно включает в себя передачу указания на каждый из объектов в рамках второго подмножества объектов.
[0031] В некоторых вариантах осуществления способа этап передачи через сеть передачи данных второй привязки метаданных электронному устройству дополнительно включает в себя передачу указания только на те объекты из второго подмножества, которые изменились по сравнению с первым подмножеством объектов.
[0032] Еще одним объектом является сервер. Сервер включает: интерфейс связи, связанный с электронным устройством через сеть передачи данных, запоминающее устройство; процессор, функционально связанный с интерфейсом связи и запоминающем устройством, который настроен и выполнен с возможностью хранить объекты, связанные с пользователем, на запоминающем устройстве, процессор выполнен с возможностью: получать через интерфейс связи от электронного устройства, связанного с пользователем, первый запрос на кластеризацию для привязки первых метаданных первого подмножества объектов в по меньшей мере первый кластер; получать с запоминающего устройства метаданные, связанные с каждым объектом из первого подмножества; на основе, по меньшей мере, части метаданных, создавать первую привязку метаданных первого подмножества объектов по меньшей мере к одному кластеру; передавать через сеть передачи данных первую привязку метаданных электронному устройству, причем первая привязка метаданных позволяет электронному устройству отображать первое подмножество объектов, собранных по меньшей мере в один первый кластер; получать через интерфейс данных от электронного устройства указания на действие пользователя в первом подмножестве, которое отображается на электронном устройстве, причем действие пользователя инициирует изменение первого подмножества объектов во второе подмножество объектов; получать с запоминающего устройства метаданные, связанные с каждым объектом из второго подмножества; на основе по меньшей мере метаданных, связанных со вторым подмножеством объектом, создавать вторую привязку метаданных второго подмножества объектов по меньшей мере ко второму кластеру, и передавать вторую привязку вторых метаданных электронному устройству, причем вторая привязка метаданных позволяет электронному устройству отображать подмножество объектов, собранных по меньшей мере во второй кластер.
[0033] В некоторых вариантах осуществления сервера действие пользователя представляет собой удаление объекта из первого подмножества объектов для создания второго подмножества объектов.
[0034] В некоторых вариантах осуществления сервера для создания второй привязки метаданных процессор выполнен с возможностью определить, необходимо ли добавить какие-либо дополнительные объекты во второе подмножество объектов для создания второго кластера.
[0035] В некоторых вариантах осуществления сервера для создания второй привязки метаданных процессор выполнен с возможностью определить, необходимо ли удалить по меньшей мере один кластер.
[0036] В некоторых вариантах действие пользователя представляет добавление нового объекта в первое подмножество объектов для создания второго подмножества.
[0037] В некоторых вариантах сервера процессор дополнительно выполнен с возможностью определить, необходимо ли заново структуризовать первый кластер в ответ на добавление нового объекта во второй кластер и третий кластер, причем второй кластер и третий кластеры являются частью по меньшей мере второго кластера.
[0038] В некоторых вариантах осуществления сервера для определения положительного результата и создания второй привязки метаданных, процессор выполнен с возможностью: создать вторую привязку метаданных первой части второго подмножества объектов ко второму кластеру; и создать третью привязку второй части второго подмножества объектов ко второму кластеру.
[0039] В некоторых вариантах осуществления действие пользователя представляет собой прокрутку, и первое подмножество объектов соответствует разрешению страницы на дисплее электронного устройства, и для создания второй привязки метаданных процессор выполнен с возможностью: на основе прокрутки, определять смещение между первым и вторым подмножеством объектов; и создавать второе подмножество объектов, которые собраны по меньшей мере во втором кластере, с помощью смещения последнего объекта в первом подмножестве.
[0040] В некоторых вариантах осуществления по меньшей мере первый кластер представляет собой группировку объектов в первый промежуток времени создания объектов, и по меньшей мере второй кластер представляет собой группировку объектов во второй промежуток времени создания объектов, и действие пользователя указывает на желание пользователя переключиться из первого промежутка времени во второй; и для создания второй привязки метаданных процессор выполнен с возможностью: на основе действия пользователя, определять время сдвига между первом и вторым промежутками времени; и создавать второе подмножество объектов, собранных по меньшей мере во втором кластере, с помощью временного сдвига с конца первого промежутка.
[0041] В некоторых вариантах сервера объекты включают фотографии, а метаданные включают по меньшей мере одно из: (i) указание на географическое местоположение, где было создано соответствующее изображение, (ii) указание на время, когда было создано соответствующее изображение, (iii) указание на одно или несколько лиц, которые зафиксированы на соответствующих фотографиях.
[0042] В некоторых вариантах сервера объекты включают аудиофайлы, а метаданные включают в себя по меньшей мере одно из: (i) указание на исполнителя, связанного с аудиотреком, (ii) указание на название, связанное с аудиофайлом, (iii) указание на альбом, связанный с аудиотреком и (iv) длительность аудиофайла.
[0043] В некоторых вариантах для создания второй привязки второго подмножества объектов по меньшей мере ко второму кластеру процессор выполнен с возможностью включает в себя анализ метаданных всех объектов для создания второго кластера.
[0044] В некоторых вариантах электронное устройство представляет беспроводное электронное устройство, и передача второй привязки метаданных к электронному устройству инициирует обновление электронным устройством первой привязки метаданных изменениями на основе анализа второй привязки метаданных.
[0045] В некоторых вариантах сервера электронное устройство представляет собой стационарное вычислительное устройство, и передача второй привязки метаданных к электронному устройству далее инициирует замену электронным устройством первой привязки метаданных на вторую привязку метаданных.
[0046] В некоторых вариантах осуществления сервера, электронное устройство представляет собой первое электронное устройство, и для передачи через сеть передачи данных первой привязки метаданных процессор выполнен с возможностью передавать первую привязку метаданных первому электронному устройству и второму электронному устройству, причем первая привязка метаданных позволит первому и второму электронным устройствам отображать первое подмножество объектов, собранных по меньшей мере в первом кластере.
[0047] В некоторых вариантах осуществления сервера, электронное устройство представляет собой первое электронное устройство, и для передачи через сеть передачи данных второй привязки метаданных процессор выполнен с возможностью передавать вторую привязку метаданных первому электронному устройству и второму электронному устройству, причем вторая привязка метаданных позволит первому и второму электронным устройствам отображать второе подмножество объектов, собранных по меньшей мере во втором кластере.
[0048] В некоторых вариантах осуществления сервера для передачи через сеть передачи данных первой привязки метаданных электронному устройству процессор дополнительно выполнен с возможностью передавать указания на каждый из объектов в рамках первого подмножества объектов.
[0049] В некоторых вариантах осуществления сервера для передачи через сеть передачи данных второй привязки метаданных электронному устройству процессор дополнительно выполнен с возможностью передавать указания на каждый из объектов в рамках второго подмножества объектов.
[0050] В некоторых вариантах осуществления сервера для передачи через сеть передачи данных второй привязки метаданных электронному устройству процессор дополнительно выполнен с возможностью передавать указания только на те объекты из второго подмножества, которые изменились по сравнению с первым подмножеством объектов.
[0051] В контексте настоящего описания, если конкретно не указано иное, «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте описания использование выражения «сервер» не означает, что каждая задача (например, полученные инструкции или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может являться одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».
[0052] В контексте настоящего описания, если конкретно не указано иное, «клиентское устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами клиентских устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного метода.
[0053] В контексте описания, если конкретно не указано иное, термин «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, которое выполняет процесс, который сохраняет или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.
[0054] В контексте настоящего описания, если конкретно не указано иное, термин «информация» включает в себя информацию любую информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (фотографии, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.
[0055] В контексте настоящего описания, если конкретно не указано иное, термин «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
[0056] В контексте настоящего описания, если конкретно не указано иное, термин «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
[0057] В контексте настоящего описания, если конкретно не указано иное, слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной связи между этими существительными. Так, например, следует иметь в виду, что использование терминов "первый сервер" и "третий сервер " не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание "первого" элемента и "второго" элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, "первый" сервер и "второй" сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
[0058] В контексте настоящего описания, если специально не указано иное, слово "фотография" подразумевает под собой файл, содержащий данные о цифровом изображении, например, данные, связанные с созданной фотографией, и тому подобное. Формат файла изображения никак конкретно не ограничен и в различных вариантах осуществления файл изображения может храниться в сжатом, несжатом или векторном формате. Тип файла никак конкретно не ограничен и может включать в себя RAW-файлы, JPEG, GIF, TIFF и так далее.
[0059] В контексте настоящего описания, если специально не указано иное, слово "кластер" подразумевает под собой подмножество объектов (например, фотографий, но не только), виртуально собранных на основе их соответствующих метаданных. Процесс сбора объектов в кластеры может называться кластеризацией. В рамках вариантов осуществления кластеры формируются на основе событий, и события определены на основе метаданных объектов. Некоторые примеры различных кластеров, которые могут быть использованы для фотографий (фотографии используются только в качестве примеров объектов), включают в себя: дату, место создания изображения, дату и место создания изображения и тому подобное.
[0060] В контексте настоящего описания, если специально не указано иное, слово "промежуток" подразумевает под собой конкретный промежуток времени, который, например, может представлять собой день, месяц, год и тому подобное.
[0061] В контексте настоящего описания, если конкретно не указано иное, слово "географическое местоположение" или просто "местоположение" подразумевает под собой понятное для человека место, где была сделана фотография. Географическое местоположение может быть основано на метаданных о местоположении данной фотографии. В некоторых вариантах географическое местоположение создается путем перевода географических координат фотографии в понятное для человека место.
[0062] В контексте описания, если специально не указано иное, слово "версия хранилища" подразумевает под собой указание на текущее состояние хранилища, текущее состояние версии, выраженное как время стандарта Unix (также известное как POSIX или Epoch), который является описанием в определенный момент времени, определяемое как число секунд, прошедших с момента 00:00:00 Всемирного координированного времени (UTC), Четверга, 1 января 1970 года. В некоторых вариантах Unix-время может быть представлено до шести знаков после запятой.
[0063] В контексте настоящего описания, если специально не указано иное, слово "версия политики кластеризации" подразумевает под собой указание на конкретную версию политики кластеризации, которое может быть выражено в виде цифровой последовательности, буквенной последовательности или комбинации любых буквенных и цифровых символов.
[0064] Каждый вариант осуществления включает по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять другим целям, отдельно не указанным здесь.
[0065] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы технологии.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0066] Для лучшего понимания решения, а также других его аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
[0067] На Фиг. 1 представлена принципиальная схема системы, выполненной в соответствии с вариантом осуществления.
[0068] На Фиг. 2 представлен неограничивающий пример привязки метаданных, соответствующей объектам, которые загружены пользователем на сервер удаленного хранения системы, представленной на Фиг. 1.
[0069] На Фиг. 3 представлена блок-схема способа, реализованного в соответствии с вариантами осуществления настоящей технологии, и выполняемого на сервере удаленного хранения системы, представленной на Фиг. 1.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0070] На Фиг. 1 представлена диаграмма системы 100, выполненной в соответствии с вариантами осуществления решения, не ограничивающими его объем. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание иллюстративных вариантов осуществления. Таким образом, все последующее описание представлено только как описание иллюстративного примера решения. Это описание не предназначено для определения объема или установления границ решения. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где это еще не было сделано, т.е. там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления, и в подобных случаях представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления будут обладать гораздо большей сложностью.
[0071] Система 100 включает в себя первое электронное устройство 102. Первое электронное устройство 102 обычно связано с пользователем (не показан) и, таким образом, иногда может упоминаться как «клиентское устройство». Следует отметить, что тот факт, что первое электронное устройство 102 связано с пользователем, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, быть зарегистрированным, или чего-либо подобного.
[0072] Варианты первого электронного устройства 102 конкретно не ограничены, но в качестве примера перового электронного устройства 102 могут использоваться персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), беспроводные электронные устройства (мобильные телефоны, смартфоны, планшеты и т.п.), а также сетевое оборудование (маршрутизаторы, коммутаторы или шлюзы). Исключительно в целях иллюстрации предполагается, что первое электронное устройство 102 реализовано как ноутбук, например ноутбук LENOVO™ THINKPAD™ Х220, работающий на операционной системе WINDOWS™.
[0073] Первое электронное устройство 102 включает аппаратное и/или прикладное программное, и/или системное программное обеспечение (или их комбинацию), для исполнения различных приложений. Для целей иллюстрации вариантов осуществления, считается что электронное устройство 102 выполнено с возможностью выполнять приложение 108 для фотографий. В общем случае, целью приложения 108 для фотографий является предоставление пользователю (не показан) возможности (i) создать одну или несколько фотографий или видеозаписей с помощью встроенной камеры (отдельно не показана) первого электронного устройства 102; (ii) хранить и структурировать таким образом созданные фотографии и видео; (iii) обращаться с таким образом созданными фотографиями и видеозаписями; (iv) обмениваться таким образом созданными фотографиями и видеозаписями с другими пользователями с помощью электронных писем, текстовых сообщений или приложений социальных сетей и (v) выполнять различные дополнительные функции, известные в данной области техники. Приложение 108 для фотографии может быть "родным" для операционной системы первого электронного устройства 102 (т.е. быть установленным вместе с операционной системой) или быть загружено и установлено пользователем первого электронного устройства 102. Важно иметь в виду, что решение не ограничивается приложениями для фотографий и теми случаями, когда фотографии являются объектами кластеризации, т.е. может применяться к приложениям других типов, которые используются на первом электронном устройстве 102.
[0074] Система 100 включает в себя второе электронное устройство 104. Второе электронное устройство 104 также связано с тем же пользователем, что и первое электронное устройство 102. Варианты осуществления второго электронного устройства 104 также конкретно не ограничены, но в качестве примера второго электронного устройства 104 могут использоваться персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), беспроводное электронное устройство (мобильные телефоны, смартфоны, планшеты и т.п.), а также сетевое оборудование (маршрутизаторы, коммутаторы или шлюзы). Исключительно в целях иллюстрации предполагается, что второе электронное устройство 104 реализовано в виде смартфона, например смартфона iPhone 5™ от корпорации Apple.
[0075] Второе электронное устройство 104 также включает в себя аппаратное и/или прикладное программное, и/или системное программное обеспечение (или их комбинацию), для исполнения приложения 108 для фотографий.
[0076] Оба электронных устройства: первое электронное устройство 102 и второе электронное устройство 104 соединены с сетью 114 передачи данных через соответствующую линию передачи данных - конкретно, первую линию 112 передачи данных и вторую линию 113 передачи данных.
[0077] В некоторых вариантах осуществления, сеть 114 передачи данных может представлять собой Интернет. В других вариантах осуществления, сеть 114 передачи данных может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п.
[0078] То, как именно реализованы первая линия 112 передачи данных и вторая линия 113 передачи данных, никак конкретно не ограничено, и будет зависеть только от того, как именно реализованы соответствующие первое электронное устройство 102 и второе электронное устройство 104.
[0079] С учетом того, что первое электронное устройство 102 представляет собой, в данном примере, ноутбук, первая линия 112 передачи данных может быть как беспроводной (беспроводной интернет Wireless Fidelity или коротко WiFi, Bluetooth и т.п.) так и проводной (соединение на основе сети EthernetTM). С учетом того, что второе электронное устройство 104 представляет собой, в данном примере, смартфон, вторая линия 113 передачи данных может быть как беспроводной (беспроводной интернет Wireless Fidelity или коротко WiFi, Bluetooth и т.п.) так и сотовой (например, 3G, LTE и так далее).
[0080] Важно иметь в виду, что варианты осуществления воплощения первого электронного устройства 102, второго электронного устройства 104, первой линии 112 передачи данных, второй линии 113 передачи данных и сети 114 передачи данных представлены исключительно в иллюстрационных целях. Таким образом, специалисты в данной области техники смогут понять подробности других конкретных вариантов осуществления первого электронного устройства 102, второго электронного устройства 104, первой линии 112 передачи данных, второй линии 113 передачи данных и сети 114 передачи данных. То есть, представленные здесь примеры не ограничивают объем решения.
[0081] В рамках вариантов осуществления также представлен сервер 116 удаленного хранения (для простоты также упоминаемый как "сервер 116"). Сервер 116 удаленного хранения может быть реализован как обычный компьютерный сервер. В примере варианта осуществления, сервер 116 удаленного хранения может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 116 удаленного хранения может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления, сервер 116 удаленного хранения является одиночным сервером. В других вариантах осуществления, функциональность сервера 116 удаленного хранения может быть разделена, и может выполняться с помощью нескольких серверов.
[0082] Второй сервер 116 удаленного хранения включает в себя аппаратное и/или прикладное программное, и/или системное программное обеспечение (или их комбинацию), для выполнения приложения 180 удаленного хранения. Приложение 180 удаленного хранения также известно специалистам в данной области техники как "удаленное хранилище" или "облачное хранилище".
[0083] Общий вариант осуществления приложения 180 удаленного хранения известен в области техники, и поэтому не будет здесь подробно описан. Достаточно сказать, что сервер 116 удаленного хранения может выполнять или получать доступ к память 182, память 182 может быть реализована как обычное запоминающее устройство, например одно или несколько дисковых запоминающих устройств.
[0084] Приложение 180 удаленного хранения выполнено с возможностью поддерживать один или несколько профилей, связанных с одним или несколькими пользователями, например, пользователем первого электронного устройства 102 или второго электронного устройства 104. Такой пользователь приложения 180 удаленного хранения может рассматриваться как "подписчик" сервиса удаленного хранения, предоставляемого приложением 180 удаленного хранения. В общем случае, термин "подписчик" не подразумевает собой какого-либо конкретного смысла и, соответственно, в контексте настоящей технологии применим, как к "бесплатной", так и "оплачиваемой" подписке на сервисы удаленного хранения.
[0085] В соответствии с вариантами осуществления приложение 180 удаленного хранения выполнено с возможностью (i) поддерживать участок хранения (т.е. соответствующую часть памяти), связанный с подписчиком; (ii) получать один или несколько объектов для хранения на участке хранения, связанном с пользователем; (iii) кластеризовать один или несколько объектов, хранящихся на участке хранения в одном или нескольких кластерах для создания привязки между данным одним из одного или нескольких объектов и соответствующим кластером; (iv) передавать электронному устройству подписчика (например, первому электронному устройству 102 и/или второму электронному устройству 104) указания на привязку метаданных и/или объектов, которые будут отображаться пользователю, объекты собраны в кластеры.
[0086] С этой целью, сервер 116 удаленного хранения выполнен с возможностью выполнять или получать доступ к модулю 184 контроля. Модуль 184 в широком смысле выполнен с возможностью выполнять функции: (i) модуля конечной обработки, (ii) модуля начальной обработки и (iii) модуля кластеризации. Функциональность модуля 184 вместе с функциональностью памяти 182 выполнены с возможностью поддерживать выполнение приложения 180 удаленного хранения.
[0087] Для целей иллюстрации ниже будет использован пример со следующим сценарием. Предполагается, что "пользователь A" связан с первым электронным устройством 102 и вторым электронным устройством 104. Далее предполагается, что пользователь A является подписчиком сервиса удаленного хранения, предоставляемым сервером 116 удаленного хранения. Естественно, обычный пользователь может обладать большим или меньшим числом объектов, хранящихся на сервере 116 удаленного хранения.
[0088] Далее предполагается, что пользователь A загрузил 40 фотографий на свою учетную запись, связанную с сервером 116 удаленного хранения. Каждая из 40 фотографий связана с метаданными, указывающими на дату, когда фотография была сделана, и географическое местоположение, где фотография была сделана.
[0089] На Фиг. 2 представлен не ограничивающий пример привязки 202 метаданных, созданных и хранящихся в связи с объектами, загруженными пользователем A на сервере 116 удаленного хранения. Привязка 202 метаданных включает в себя привязку каждой из 40 фотографий, хранящихся на сервере 116 удаленного хранения, к соответствующему кластеру. Конкретнее, как показано на Фиг. 2, сервер 116 удаленного хранения собирает 40 фотографий, связанных с пользователем A, в восемь кластеров, причем кластеризация осуществляется на основе метаданных, которые связаны с каждой из 40 фотографий. В рамках представленного варианта осуществления метаданные, которые используются для кластеризации, включаются в себя дату и место создания соответствующей фотографии. Тем не менее, в альтернативных вариантах, кластеризация может осуществляться на основе подмножества этих параметров метаданных или других параметров метаданных.
[0090] В вариантах осуществления, метаданные, связанные с фотографиями, могут храниться в памяти 182. В других вариантах осуществления, метаданные, связанные с фотографиями, могут храниться в отдельном хранилище памяти (не показано).
[0091] В рамках иллюстрации привязки 202 метаданных, представлено восемь кластеров, как было упомянуто выше: первый кластер 204, второй кластер 206, третий кластер 208, четвертый кластер 210, пятый кластер 212, шестой кластер 214, седьмой кластер 216 и восьмой кластер 218. Каждый из кластеров (первый кластер 204, второй кластер 206, третий кластер 208, четвертый кластер 210, пятый кластер 212, шестой кластер 214, седьмой кластер 216 и восьмой кластер 218) связан с объектами, которые обладают метаданными, совпадающими с параметрами метаданных, которые использовались для создания соответствующего кластера (первый кластер 204, второй кластер 206, третий кластер 208, четвертый кластер 210, пятый кластер 212, шестой кластер 214, седьмой кластер 216 и восьмой кластер 218) на основе соответствующей версии политики кластеризации.
[0092] Каждый из кластеров (первый кластер 204, второй кластер 206, третий кластер 208, четвертый кластер 210, пятый кластер 212, шестой кластер 214, седьмой кластер 216 и восьмой кластер 218) включает указание на заголовок 220 кластера и указание на один или несколько элементов 222 кластера. Заголовок 220 кластера может быть основан на метаданных, которые были использованы для создания соответствующего кластера. Таким образом, заголовок 220 кластера соответствует первому кластеру 204 содержит "Московский Кремль 2014-05-04", что указывает на дату и географическое местоположение, где были созданы фотографии - элементы кластера. То же с соответствующими изменениями относится к одному из кластеров (второму кластеру 206, третьему кластеру 208, четвертому кластеру 210, пятому кластеру 212, шестому кластеру 214, седьмому кластеру 216 и восьмому кластеру 218).
[0093] В рамках каждого из одного или нескольких элементов 222 кластера, элементы кластера определены соответствующим идентификатором объектов, который может представлять собой имя файла, идентификатор объекта и тому подобное. Используя в качестве примера второй кластер 206 заголовок 220 кластера, связанный со вторым кластером 206 "Москва, Красная площадь 2014-05-03" (также на основе метаданных, использованных для кластеризации), второй кластер 206 обладает четырьмя элементами, который были сгруппированы во втором кластере 206 на основе их метаданных. Конкретнее, второй кластер 206 включает в себя следующие четыре элемента: <file 5 id>, <file 6 id>, <file 7 id> and <file 8 id>.
[0094] Следует отметить, что, несмотря на то, что в описании Фиг. 2 объекты кластеризованы в восемь кластеров (первый кластер 204, второй кластер 206, третий кластер 208, четвертый кластер 210, пятый кластер 212, шестой кластер 214, седьмой кластер 216 и восьмой кластер 218) и связаны с последовательно пронумерованными именами файлов, это не является необходимым для всех вариантов осуществления и было осуществлено только для целей иллюстрации.
[0095] Стоит отметить, что сбор фотографий, связанных с пользователем A, в кластеры (первый кластер 204, второй кластер 206, третий кластер 208, четвертый кластер 210, пятый кластер 212, шестой кластер 214, седьмой кластер 216 и восьмой кластер 218) может осуществляться на основе политики кластеризации, которая поддерживается (и потенциально может изменяться время от времени) сервером 116 удаленного хранения. Например, политика кластеризации может предписывать, какие именно из различных параметров метаданных, которые могут быть использованы для создания кластеров (например, только дата, только географическое местоположение, разрешение, приложение, которое было использовано для создания фотографии, комбинация одно или нескольких из этих и других параметров метаданных и так далее).
[0096] Сервер 116 удаленного хранения может быть выполнен с возможностью создавать привязку 202 метаданных и передавать привязку 202 метаданных одному или обоим из первого электронного устройства 102 и второго электронного устройства 104. Привязка 202 метаданных выполнена с возможностью позволить одному из или обоим из первого электронного устройства 102 и второго электронного устройства 104 отображать пользователю некоторые или все объекты (т.е. фотографии), собранные в кластеры. Сервер 116 удаленного хранения может быть выполнен с возможностью передавать сами объекты одному или обоим из первого электронного устройства 102 и второго электронного устройства 104, причем передача может происходить одновременно или раздельно с передачей привязки 202 метаданных.
[0097] Сервер 116 удаленного хранения также выполнен с возможностью переструктурировать привязку 202 метаданных на основе либо изменения политики кластеризации или на основе пользовательских изменений, которые инициируют изменения в одном или нескольких кластерах (или в элементах кластеров).
[0098] С учетом описанной выше архитектуры, возможно реализовать способ структуризации хранящихся объектов, связанных с пользователем, на сервере 116 удаленного хранения. На Фиг. 3 представлена блок-схема способа 300, который выполняется в соответствии с не ограничивающими вариантами осуществления настоящей технологии. Способ 300 может беспрепятственно выполняться на сервере 116 удаленного хранения.
[0099] Этап 302 - получение через сеть передачи данных от электронного устройства, связанного с пользователем, первого запроса кластеризации для первой привязки метаданных первого подмножества объектов по меньшей мере в первом кластере.
[00100] Способ 300 начинается на этапе 302, на котором сервер 116 удаленного хранения получает через сеть передачи данных от электронного устройства, связанного с пользователем, первый запрос кластеризации для первой привязки метаданных первого подмножества объектов по меньшей мере в первом кластере.
[00101] В некоторых вариантах осуществления, запрос на первую привязку метаданных может быть создан на одном из первого электронного устройства 102 и второго электронного устройства 104. В некоторых вариантах осуществления первое электронное устройство 102 и второе электронное устройство 104 создает первый запрос кластеризации в ответ на то, что пользователь запускает приложение 108 для фотографий. В рамках этих вариантов осуществления, приложению 108 для фотографий требуется информация о привязке для структуризации фотографий в один или несколько кластеров для отображения их пользователю.
[00102] Альтернативно, первый запрос на привязку метаданных может быть создан одним из первого электронного устройства 102 и второго электронного устройства 104 в ответ на загрузку объектов, хранящихся на сервере 116 удаленного хранения, на соответствующее одно (или оба) первое электронное устройство 102 и второе электронное устройство 104. В других вариантах осуществления, первый запрос на привязку метаданных может быть создан одним из первого электронного устройства 102 и второго электронного устройства 104 (или самим сервером 116 удаленного хранения) в ответ на изменения в политике кластеризации.
[00103] Этап 304 - получение метаданных, связанных с каждым из первого подмножества объектов
[00104] Далее, на этапе 304 сервер 116 удаленного хранения получает метаданные, связанные с каждым из первого подмножества объектов.
[00105] Тип метаданных, полученных в виде части этапа 304, естественно, будет зависеть от типа объектов, которые подвергаются кластеризации. Например, в тех вариантах осуществления, где объекты включают в себя фотографии, метаданные могут включать по меньшей мере одно из: (i) указание на местоположение, где было создано соответствующее изображение, (ii) указание на время, когда было создано соответствующее изображение, (iii) указание на одно или несколько лиц, которые зафиксированы на соответствующих фотографиях.
[00106] В вариантах осуществления, где объекты включают в себя аудиофайлы, метаданные могут включать по меньшей мере одно из: (i) указание на исполнителя, связанного с аудиотреком, (ii) указание на название, связанное с аудиофайлом, (iii) указание на альбом, связанный с аудиотреком и (iv) длительность аудиофайла.
[00107] В некоторых вариантах осуществления, сервер 116 удаленного хранения получает метаданные, связанные с объектами из памяти 182.
[00108] Этап 306 - на основе, по меньшей мере, частично, метаданных, создание первой привязки метаданных первого подмножества объектов по меньшей мере к одному кластеру.
[00109] Далее, на этапе 306 сервер 116 удаленного хранения на основе, по меньшей мере, частично, метаданных, создает первую привязку метаданных первого подмножества объектов по меньшей мере к одному кластеру.
[00110] Конкретнее, сервер 116 удаленного хранения создает первую привязку метаданных, аналогичную той, что представлена на Фиг.2. В некоторых вариантах осуществления сервер 116 удаленного хранения создает привязку метаданных на основе политики кластеризации. В примере, представленном со ссылкой на Фиг.2, политика кластеризации основана на создании кластеров на основе географического местоположения и даты создания. Например, третий кластер 208 основан на местоположении "Московский Парк" и дате создания "2014-05-04".
[00111] В некоторых вариантах осуществления сервер 116 удаленного хранения выполнен с возможностью хранить первую привязку метаданных, как показано на Фиг.2, в связи с привязкой 202 метаданных.
[00112] В некоторых вариантах осуществления сервер 116 удаленного хранения может создать первую привязку метаданных на основе политики кластеризации. Излишне говорить, что политика кластеризации может быть основана на некоторых дополнительных или других параметрах метаданных.
[00113] Этап 308 - передача через сеть передачи данных первой привязки метаданных к электронному устройству, первая привязка метаданных позволяет электронному устройству отображать первое подмножество объектов, собранных по меньшей мере в первом кластере.
[00114] Далее, на этапе 308 сервер 116 удаленного хранения передает через сеть передачи данных первую привязку метаданных к электронному устройству, первая привязка метаданных позволяет электронному устройству отображать первое подмножество объектов, собранных по меньшей мере в первом кластере.
[00115] В некоторых вариантах осуществления, сервер 116 удаленного хранения также может передавать объекты, которые будут кластеризованы, одновременно или отдельно от первой привязки метаданных.
[00116] Этап 310 - получение через сеть передачи данных от электронного устройства указания на действие пользователя над первым подмножеством объектов, которое отображается на электронном устройстве, действие пользователя инициирует изменение первого подмножества объектов на второе подмножество объектов.
[00117] Далее, на этапе 310 сервер 116 удаленного хранения получает через сеть передачи данных от электронного устройства указание на действие пользователя над первым подмножеством объектов, которое отображается на электронном устройстве, действие пользователя инициирует изменение первого подмножества объектов на второе подмножество объектов.
[00118] Указание на действие пользователя может быть создано с помощью различных событий, которые связаны с действием пользователя с использованием соответствующего одного из первого электронного устройства 102 и второго электронного устройства 104.
[00119] Некоторые примеры действий пользователя включают в себя, среди прочего: удаление объекта из одного из кластеров, добавление нового объекта к одному из кластеров, прокрутка через кластеры и тому подобное.
[00120] Этап 312 - получение метаданных, связанных с каждым из второго подмножества объектов
[00121] Далее, на этапе 312 сервер 116 удаленного хранения получает метаданные, связанные с каждым из второго подмножества объектов.
[00122] В некоторых вариантах, сервер 116 удаленного хранения получает метаданные, связанные со всеми объектами из второго подмножество объектов. Альтернативно, сервер 116 удаленного хранения может заново получать метаданные, связанные только с теми объектами из второго подмножества, которые отличаются объектов из первого подмножества.
[00123] В некоторых вариантах осуществления, сервер 116 удаленного хранения получает метаданные, связанные с объектами из памяти 182.
[00124] Этап 314 - на основе по меньшей мере метаданных, связанных со вторым подмножеством объектов, создание второй привязки метаданных второго подмножества объектов по меньшей мере ко второму кластеру
[00125] Далее, на этапе 314 сервер 116 удаленного хранения на основе по меньшей мере метаданных, связанных со вторым подмножеством объектов, создает вторую привязку метаданных второго подмножества объектов по меньшей мере ко второму кластеру.
[00126] Сервер 116 удаленного хранения создает вторую привязку метаданных, аналогичную тому, что представлено на Фиг. 2, с учетом принятия во внимание изменений, инициированных действием пользователя, указание на которое было получено на этапе 210.
[00127] В некоторых вариантах осуществления сервер 116 удаленного хранения создает привязку метаданных на основе политики кластеризации. В некоторых вариантах осуществления способ 300 дополнительно включает в себя проверку того, не изменилась ли версия политики кластеризации с момента выполнения этапа 306.
[00128] В некоторых вариантах способа 300, когда действие пользователя представляет собой удаление объекта из первого подмножества объектов для создания второго подмножества объектов, этап создания второй привязки метаданных включает определение, необходимости добавить объекты во второе подмножество объектов для создания второго кластера. Это актуально, когда на основе действия число объектов, связанных с измененным кластером, необходимо увеличить и, необходимо добавить (переместить) дополнительные объекты в соответствующий кластер.
[00129] Способ 300 может включать определение, необходимо ли удалить по меньшей мере один кластер. Это актуально, если все объекты данного кластера были удалены или перемещены.
[00130] В некоторых вариантах осуществления способа 300, когда действие пользователя представляет собой добавление нового объекта в первое подмножество объектов для создания второго подмножества объектов, способ 300 включает определение того, необходимо ли заново структурировать первый кластер в ответ на добавление нового объекта во второй кластер и третий кластер, причем второй кластер и третий кластер являются частью по меньшей мере второго кластера. В некоторых вариантах способа 300 в ответ на определение положительного результата, создание второй привязки метаданных включает в себя: создание второй привязки метаданных первой части второго подмножества объектов ко второму кластеру; и создание третьей привязки второй части второго подмножества объектов ко второму кластеру.
[00131] В вариантах осуществления способа 300, когда действие пользователя представляет собой прокрутку, первое подмножество объектов может соответствовать разрешению страницы на дисплее электронного устройства, этап создания второй привязки метаданных включает: на основе прокрутки, определение смещения между первым подмножеством объектов и вторым подмножеством объектов; и создание второго подмножества объектов, которые собраны по меньшей мере во втором кластере, с помощью смещения последнего объекта в первом подмножестве.
[00132] В некоторых вариантах осуществления способа 300 по меньшей мере первый кластер представляет собой группировку объектов в первый промежуток времени создания объектов, и по меньшей мере второй кластер представляет собой группировку объектов во второй промежуток времени создания объектов, и действие пользователя указывает на желание пользователя переключиться из первого промежутка времени во второй; и этап создания второй привязки метаданных включает в себя: на основе действия пользователя, определение времени сдвига между первом и вторым промежутками времени; и создание второго подмножества объектов, собранных по меньшей мере во втором кластере, с помощью временного сдвига с конца первого промежутка.
[00133] Этап 316 - передача второй привязки метаданных электронному устройству, вторая привязка метаданных позволяет электронному устройству отображать второе подмножество объектов, собранных по меньшей мере во втором кластере.
[00134] Далее, на этапе 316 сервер 116 удаленного хранения передает вторую привязку метаданных электронному устройству, вторая привязка метаданных позволяет электронному устройству отображать второе подмножество объектов, собранных по меньшей мере во втором кластере.
[00135] Способ 300 далее заканчивается или возвращается к выполнению этапа 310, если было получено указание на другое действие пользователя.
[00136] В вариантах осуществления способа 300, в которых электронное устройство представляет беспроводное электронное устройство, например, как в случае второго электронного устройства 104, этап передачи второй привязки метаданных второму электронному устройству 104 инициирует обновление вторым электронным устройством 104 первой привязки метаданных изменениями на основе анализа второй привязки метаданных. После получения второй привязки метаданных, второе электронное устройство 104 может обновлять ранее хранящуюся привязку первых метаданных посредством изменений, указываемых второй привязки метаданных. В некоторых вариантах, где электронное устройство реализовано в виде беспроводного электронного устройства, первая привязка метаданных может быть загружена в тот момент, когда второе электронное устройство 104 получает доступ к серверу 116 удаленного хранения. Одновременно, второе электронное устройство 104 может хранить указание на версию политики кластеризации, которая была использована для создания первой привязки метаданных. В более поздний момент времени, когда вторая привязка метаданных передается второму электронному устройству 104, вторая привязка метаданных может включать в себя указание на изменения на основе предыдущей и текущей версий политики кластеризации.
[00137] В других вариантах осуществления способа 300, в котором электронное устройство представляет стационарное вычислительное устройство, например, как в случае первого электронного устройства 102, этап передачи второй привязки метаданных устройству инициирует замену первым электронным устройством 102 первой привязки метаданных изменениями второй привязкой метаданных.
[00138] Возможно иначе выполнять этапы обновления первой привязки метаданных с помощью второй привязки метаданных. Например, даже в случае первого электронного устройства 102, первое электронное устройство 102 может обновлять первую привязку метаданных с помощью изменений, на которые указывает вторая привязка метаданных. То же относится и ко второму электронному устройству 104, где вторая привязка метаданных может заменять первую привязку метаданных.
[00139] В некоторых вариантах осуществления способа 300 сервер 116 удаленного хранения может передавать вторую привязку метаданных (и первую привязку метаданных) как первому электронному устройству 102 так и второму электронному устройству 104. Следовательно, передача первой привязки метаданных и второй привязки метаданных как первому электронному устройству 102 так и второму электронному устройству 104 позволяет обоим устройствам соответственно собирать объекты в первый кластер и второй кластер. В частности, сбор объектов во второй кластер реализован как на первом электронном устройстве 102 так и втором электронном устройстве 104, вне зависимости от того, на каком устройстве было выполнено действие пользователя, изменяющее первый кластер на второй. Другими словами, варианты способа 300 позволяют синхронизировать кластеризацию между первым электронным устройством 102 и вторым электронным устройством 104.
[00140] В некоторых вариантах осуществления способа 300 этап передачи через сеть передачи данных первой привязки метаданных электронному устройству (т.е. соответствующему первому электронному устройству 102 и второму электронному устройству 104) включает в себя передачу указания на каждый из объектов в рамках первого подмножества объектов.
[00141] В некоторых вариантах осуществления способа 300 этап передачи через сеть передачи данных второй привязки метаданных электронному устройству (т.е. соответствующему первому электронному устройству 102 и второму электронному устройству 104) включает в себя передачу указания на каждый из объектов в рамках второго подмножества объектов.
[00142] В других вариантах осуществления способа 300 этап передачи через сеть передачи данных второй привязки метаданных электронному устройству (т.е. соответствующему первому электронному устройству 102 и второму электронному устройству 104) дополнительно включает в себя передачу указания только на те объекты из второго подмножества, которые были изменены по сравнению с первым подмножеством объектов.
[00143] В некоторых вариантах осуществления различные процедуры, описанные выше, могут выполняться с помощью интерфейса программирования приложений (API). Предполагается, что специалисты в данной области техники могут реализовать различные API, представленные в описании выше. Тем не менее, для полноты описания и для примера, далее представлены некоторые примеры API, которые могут быть использованы для реализации вариантов осуществления.
[00144] API для получения списка промежутков:
[00149] Специалисты в данной области техники поймут, что в настоящем описании выражение "получение данных" от пользователя подразумевает получение электронным устройством данных от пользователя в виде электронного (или другого) сигнала. Кроме того, специалисты в данной области техники поймут, что отображение данных пользователю через графический интерфейс пользователя (например, экран электронного устройства и тому подобное) может включать в себя передачу сигнала графическому интерфейсу пользователя, этот сигнал содержит данные, которые могут быть обработаны, и по меньшей мере часть этих данных может отображаться пользователю через графический интерфейс пользователя.
[00150] Некоторые из этих этапов, а также передача-получение сигнала хорошо известны в данной области техники и поэтому для упрощения были опущены в конкретных частях данного описания. Сигналы могут быть переданы-получены с помощью оптических средств (например, оптоволоконного соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, на основе давления, температуры или другого подходящего параметра).
[00151] Модификации и улучшения вышеописанных вариантов осуществления будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем решения ограничен только объемом прилагаемой формулы изобретения.