УПРАВЛЕНИЕ ЛОКАЦИОННЫМИ СЕРВИСАМИ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ
LOCATION SERVICES MANAGEMENT FOR MOBILE DEVICES

Область техники
[1] Настоящее техническое решение в некоторых вариантах осуществления относится к управлению ресурсами и, конкретнее, но без установления ограничений, к способам и системам управления локационными сервисами для мобильных устройств.
Уровень техники
[2] Сервисы на основе локации (англ. Location based services (LBS)) обычно используются пользователями мобильных устройств для получения доступа к информации через мобильное устройство на основе географического положения мобильного устройства. В настоящее время, LBS предоставляет огромное количество сервисов для пользователя мобильных устройств на основе географического положения мобильного устройства. LBS очень широко применимы и могут охватывать множество тем - от информационных сервисов до развлекательных сервисов, включая игры.
[3] Обычно географическое положение мобильных устройств определяется путем идентификации мобильной сотовой сети, с которой связано мобильное устройство, определения с помощью мобильного устройства одной или нескольких беспроводных сетей, обладающих известными положениями, и/или получения координат от модуля глобальной системы позиционирования (GPS) мобильного устройства и/или устройства, сопряженного и/или как-либо иначе соединенного с ним.
Раскрытие
[4] Одним объектом настоящего технического решения является способ эксплуатации одного или нескольких локационных сервисов мобильного устройства. Способ включает в себя получение набора данных, который географически определяет множество точек интереса (POI), оценку расчетного маршрута движения пользователя мобильного устройства к желаемому пользователем местоназначению, выбор по меньшей мере одной из множества точек на основе близости к расчетному маршруту движения, вычисление расчетного времени прибытия пользователя в область, близкую по меньшей мере одной выбранной точке интереса, и вычисление времени переключения режима работы по меньшей мере одного локационного сервиса из режима ожидания в активный режим в соответствии с расчетным временем прибытия.
[5] Опционально, способ включает в себя: отслеживание множества событий передвижения пользователя за период по меньшей мере в один день; и вычисление по меньшей мере одной постоянной схемы перемещения пользователя в соответствии с отслеживаемыми событиями передвижения. По меньшей мере один маршрут передвижения и желаемое пользователем местоназначение рассчитываются в соответствии по меньшей мере с одной постоянной схемой движения.
[6] Опционально, по меньшей мере один маршрут передвижения и желаемое пользователем местоназначение рассчитывается в соответствии с назначением, заданным пользователем в сервисе навигации, предоставляемом мобильным устройством.
[7] Опционально, по меньшей мере один маршрут передвижения и желаемое пользователем местоположение рассчитывается в соответствии с положением, заданным пользователем в сервисе навигации, предоставляемом мобильным устройством.
[8] Опционально, по меньшей мере один маршрут передвижения и желаемое пользователем местоназначение рассчитывается в соответствии с семантическим анализом пользовательских данных, хранящихся на мобильном устройстве.
[9] Опционально, по меньшей мере один маршрут передвижения и желаемое пользователем местоназначение рассчитывается в соответствии с данными, полученными с помощью датчика движения мобильного устройства.
[10] Опционально, пользовательские данные включают в себя по меньшей мере одно из множества календарных событий и множества электронных сообщений.
[11] Опционально, по меньшей мере один маршрут передвижения и желаемое пользователем местоназначение рассчитывается в соответствии с анализом журнала входящих и исходящих вызовов, совершенных с помощью мобильного устройства.
[12] Опционально, множество точек интереса определяется и используется приложением, которое расположено на мобильном устройстве и использует по меньшей мере один локационный сервис; дополнительно включает в себя использование данных, полученных с помощью по меньшей мере одного локационного сервиса для инициирования приложением события приложения.
[13] Также опционально, множество точек интереса включает в себя первую группу точек интереса, полученных от приложения, которое расположено на мобильном устройстве, и вторую группу точек интереса, полученных из другого приложения, расположенного на мобильном устройстве; причем точки интереса первой группы используются для инициирования события приложения в другом приложении.
[14] Опционально, событие приложения является проверкой того, находится ли мобильное устройство в одной из множества точек интереса.
[15] Опционально, способ включает в себя идентификацию множества приложений, расположенных на мобильном устройстве; причем по меньшей мере одна выбранная точка интереса определяется и используется по меньшей мере одним из множества приложений.
[16] Также опционально, способ дополнительно включает в себя автоматическое обновление множества точек интереса в соответствии с вводными данными по меньшей мере от одного из множества приложений.
[17] Опционально, выбор выполняется в соответствии с текущим временем.
[18] Опционально, определение времени включает в себя определение частоты повтора промежуточного переключения в соответствии с расчетным временем прибытия.
[19] Опционально, способ включает в себя: загрузку подгруппы из множества точек интереса на основе статистических данных, указывающих на передвижение пользователя, и локальное выполнение выбора из подгруппы на мобильном устройстве.
[20] Другим объектом настоящего технического решения является мобильное устройство, на котором работают один или несколько локационных сервисов. Мобильное устройство включает в себя процессор, датчик движения, который улавливает движение мобильного устройства, по меньшей мере один модуль локационного сервиса, который определяет положение мобильного устройства, базу данных, хранящую набор данных, которые географически указывают на множество точек интереса, клиентский модуль, который рассчитывает с помощью процессора, маршрут движения пользователя мобильного устройства к желаемому местоназначению в соответствии с данными по меньшей мере от одного датчика движения и по меньшей мере одного модуля локационного сервиса, выбирает одну из множества точек интереса, выбранные точки интереса для пользователя основаны на текущем движении, и вычисляет расчетное время прибытия пользователя в область, близкую к выбранной точке интереса, и модуль интерфейса, который следит за работой по меньшей мере одного локационного сервиса в соответствии с расчетным временем прибытия.
[21] Если не указано иное, все использованные в данном описании технические и/или научные термины обладают тем же самым значением, которое широко используется в области техники, к которой относится настоящее техническое решение, и оно будет понятно специалистам в этой области техники. Далее представлены иллюстративные способы и/или материалы, хотя способы и материалы, аналогичные или эквивалентные описанным здесь, также могут быть использованы при использовании или проверке работы вариантов осуществления настоящего технического решения, а также способов и/или материалов, которые описаны здесь. В случае возникновения конфликтов, описание технического решения, включая определения, будет иметь преимущество. Стоит также отметить, что материалы, способы и примеры представлены здесь только для иллюстративных целей и не устанавливают никаких ограничений.
Краткое описание чертежей
[22] Далее представлены некоторые иллюстративные варианты осуществления настоящего технического решения со ссылками на соответствующие чертежи. Со ссылкой на чертежи, стоит отметить, что указанные сведения приведены исключительно в качестве примера и для целей иллюстрации вариантов осуществления настоящего технического решения. С учетом этого, приведенное описание чертежей должно прояснить специалистам в данной области техники реализацию вариантов осуществления настоящего технического решения.
[23] На чертежах:
[24] на Фиг. 1 представлена блок-схема способа работы одного или нескольких локационных сервисов мобильного устройства на основе предполагаемой близости к одной или нескольким точкам интереса (POI) из набора данных о точках интереса в соответствии с некоторыми вариантами осуществления настоящего технического решения;
[25] на Фиг. 2 представлена принципиальная схема точек интереса, определенных в области нахождения, установленной в соответствии с ограничивающим радиусом и границами уведомлений, установленными в соответствии с радиусом активации - в соответствии с некоторыми вариантами осуществления настоящего технического решения;
[26] на Фиг. 3 представлена принципиальная схема системы управления работой одного или нескольких локационных сервисов мобильного устройства в соответствии с некоторыми вариантами осуществления настоящего технического решения.
Осуществление
[27] Некоторые варианты осуществления настоящего технического решения относятся к управлению ресурсами и, конкретнее, но без установления ограничений, к способам и системам управления локационными сервисами для мобильных устройств.
[28] В соответствии с вариантами осуществления настоящего технического решения, предлагаются способы и системы снижения потребления ресурсов на мобильном устройстве путем управления работой модуля(ей) локационных сервисов, например, модуля GPS, на основе расчетного маршрута передвижения и географического положения точек интереса, связанных с приложениями, выполняемыми на мобильном устройстве.
[29] Опционально, маршрут движения рассчитывается на основе анализа динамического и статистического профиля пользователя, который создается путем отслеживания пользовательских передвижений и/или активности. Динамико-статистический профиль пользователя позволяет рассчитывать будущее местоназначение пользователя и маршрут для прибытия на это местоназначение.
[30] Опционально, маршрут движения рассчитывается на основе данных, полученных от датчиков движения мобильного устройства. Например, акселерометра, гироскопического модуля, компаса и/или датчика изображения.
[31] Опционально, маршрут движения рассчитывается на основе данных, полученных от навигационного сервиса, работающего на мобильном устройстве.
[32] Опционально, маршрут движения рассчитывается на основе данных, полученных при семантическом анализе связанных с пользователем данных, например, недавно полученных и/или отправленных текстовых сообщениях и/или календарных объектах, связанных с грядущими и/или недавними событиями.
[33] Перед подробным описанием по меньшей мере одного варианта осуществления настоящего технического решения, важно иметь в виду, что настоящее техническое решение не ограничивается подробностями своего описания или организации компонентов и/или способами, которые описаны в описании и/или представлены на чертежах и/или в качестве примеров. Настоящее техническое решение в других вариантах осуществления может быть применено или реализовано по-разному.
[34] Как будет понятно специалисту в данной области техники, аспекты настоящего технического решения могут быть выполнены в виде системы, способа или компьютерного программного продукта. Соответственно, различные аспекты настоящего технического решения могут быть реализованы исключительно как аппаратное обеспечение, как программное обеспечение (включая прикладное программное обеспечение, резидентное программное обеспечение, микропрограмма и так далее) или как вариант осуществления, сочетающий в себе программные и аппаратные аспекты, которые в общем случае могут упоминаться как «модуль», «система» или «схема». Кроме того, аспекты настоящего технического решения могут принимать форму компьютерного программного продукта, реализованного на одном или нескольких машиночитаемых носителях, обладающих машиночитаемым программным кодом, который на них реализован.
[35] Также может быть использована любая комбинация одного или нескольких машиночитаемых носителей. Машиночитаемый носитель может представлять собой машиночитаемый носитель сигнала или машиночитаемый носитель хранилища. Машиночитаемый носитель хранилища может представлять собой, без установления ограничений, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, аппарат, устройство или любую подходящую их комбинацию. Конкретнее, примеры (неисчерпывающий список) машиночитаемого носителя хранилища включают в себя: электрическое соединение с помощью одного или нескольких проводов, портативную компьютерную дискету; жесткий диск, оперативную память (ОЗУ), постоянную память (ПЗУ), стираемую программируемую постоянную память (EPROM или Flash-память), оптоволоконное соединение, постоянную память на компакт-диске (CD-ROM), оптическое устройство хранения, магнитное устройство хранения или любую комбинацию вышеперечисленного. В контексте настоящего описания, машиночитаемый носитель хранилища может представлять собой любой гибкий носитель, который может содержать или хранить программу для использования самой системой, устройством, аппаратом или в соединении с ними.
[36] Машиночитаемый носитель сигнала может включать в себя распространяемый сигнал данных со встроенным машиночитаемым программным кодом, например, в основной полосе частот или в части несущей волны. Такой распространяемый сигнал может принимать любые формы, включая, без установления ограничений, электромагнитную, оптическую или любую подходящую их комбинацию. Машиночитаемый носитель сигнала может представлять собой любой машиночитаемый носитель, который не является машиночитаемым носителем хранилища и который может связываться, распространяться или передавать программу для использования самой системой устройством, аппаратом или в соединении с ними.
[37] Программный код встроенный в машиночитаемый носитель может быть передан с помощью любого носителя, включая, без установления ограничений, беспроводную, проводную, оптоволоконную, инфракрасную и любую другую подходящую сеть или комбинацию вышеперечисленного.
[38] Компьютерный программный код для выполнения операций для аспектов настоящего технического решения может быть написан на любом языке программирования или комбинаций языков программирования, включая объектно-ориентированный язык программирования, например Java, Smalltalk, С++ и так далее, и обычные процедурные языки программирования, например язык программирования «С» или аналогичные языки программирования. Программный код может выполняться на компьютере пользователя полностью, частично, или же как отдельный пакет программного обеспечения, частично на компьютере пользователя и частично на удаленном компьютере, или же полностью на удаленном компьютере. В последнем случае, удаленный компьютер может быть соединен с компьютером пользователя через сеть любого типа, включая локальную сеть (LAN), глобальную сеть (WAN) или соединение с внешним компьютером (например, через Интернет с помощью Интернет-провайдеров).
[39] Аспекты настоящего технического решения описаны подробнее далее со ссылкой на блок-схемы, принципиальные схемы и/или диаграммы способов, устройств (систем) и компьютерных программных продуктов в соответствии с вариантами осуществления настоящего технического решения. Следует иметь в виду, что каждый блок из блок-схемы и/или диаграмм, а также комбинации блоков из блок-схемы и/или диаграмм, могут быть реализованы компьютерными программными инструкциями. Эти компьютерные программные инструкции могут быть предоставлены процессору компьютера общего назначения, компьютера специального назначения или другому устройству обработки данных для создания процедуры, таким образом, чтобы инструкции, выполняемые процессором компьютеры или другим программируемым устройством обработки данных, создавали средства для реализации функций/действий, указанных в блоке или блоках блок-схемы и/или диаграммы.
[40] Эти компьютерные программные инструкции также могут храниться на машиночитаемом носителе, который может управлять компьютером, отличным от программируемого устройства обработки данных или отличным от устройств, которые функционируют конкретным образом, таким образом, что инструкции, хранящиеся на машиночитаемом носителе, создают устройство, включающее инструкции, которые осуществляют функции/действия, указанные в блоке блок-схемы и/или диаграммы.
[41] Компьютерные программные инструкции также могут быть загружены на компьютер, другое программируемое устройство обработки данных или другие устройства для инициирования серии функциональных этапов, которые будут выполняться на компьютере, другом программируемом устройстве или других устройствах, для выполнения исполняемого на компьютере процесса, таким образом, что инструкции, осуществляемые на компьютере или другом программируемом устройстве, исполняют процесс в котором реализуют функции/действия, указанные в блоке или блоках блок-схемы и/или диаграммы.
[42] Далее будет описана Фиг. 1, на которой представлена блок-схема способа 100 выполнения одного или нескольких локационных сервисов мобильного устройства на основе ожидаемой близости к одной или нескольким точкам интереса из набора данных о точках интереса в соответствии с некоторыми вариантами осуществления настоящего технического решения. Способ позволяет снизить уровень использования ресурсов, например, мощности, сетевого доступа, потребления объема памяти и вычислительной мощности. Например, способ позволяет снизить потребление заряда батареи с помощью работы модулей локационных сервисов в режиме ожидания, пока мобильное устройство не находится в близости к одной или нескольким точкам интереса. Как показано в данном случае, точки интереса представляют собой локацию, определенную таким образом, что когда пользователь мобильного устройства, например, подписчик и/или пользователь мобильного приложения, находится рядом с ней, инициируется событие(я) мобильного приложения. Например, точка интереса может представлять собой точку интереса действия, что установлено приложением, которая инициирует действие, на которое реагирует пользователь, а следующее местоположение точки интереса является результатом прогнозирования следующего места, в котором будет находиться пользователь, например, как контрольную точку. Примерами события(й) приложения могут быть: событие с представлением уведомления, при котором извещение(я), например, промо-данные отображаются на экране мобильного; событие-регистрация, при котором регистрируется присутствие пользователя мобильного устройства в конкретной зоне; событие-запись, при котором данные, указывающие на присутствие пользователя мобильного устройства поблизости к конкретной зоне, записываются в журнал; и событие-мониторинг, при котором данные, указывающие на передвижение пользователя, подвергаются мониторингу и/или записываются в журнал. Примерами событий приложения также могут быть push-уведомления на точке интереса и/или запись в журнале событий, указывающая на присутствие в контрольной точке.
[43] Опционально, каждая точка интереса обладает геозоной, т.е. виртуальным периметром, который ограничивает одну или несколько реальных географических зон. Например, точка интереса может представлять собой торговый центр, и геозона располагается вокруг границ торгового центра. Геозона может создаваться динамически или вручную как радиус вокруг интересующей зоны, например, магазина. Опционально, как показано на Фиг. 2, точка интереса определяется наличием зоны 151 идентификации присутствия, которая устанавливается в соответствии с ограничивающим радиусов и границами зоны push-уведомлений 153, установленной в соответствии с радиусом активации события. Как описано далее, модуль(и) локационного сервиса функционируют в режиме ожидания, когда мобильное устройство не находится вблизи точки интереса, и в рабочем режиме, когда мобильное устройство находится возле точки интереса. Таким образом, наличие пользователя в радиусе активации события может фиксироваться модулем(ями) локационного сервиса.
[44] Способ может быть использован для активации приложения(й) локационного сервиса, установленного на мобильном устройстве, когда это необходимо, и/или деактивации приложения(й) локационного сервиса, установленного на мобильном устройстве, когда локационная информация была обновлена.
[45] Далее будет описана Фиг. 3, на которой представлена принципиальная схема системы 200 управления работой одного или нескольких локационных сервисов мобильного устройства в соответствии с некоторыми вариантами осуществления настоящего технического решения, например, для реализации способа, представленного на Фиг. 1. Система 200 включает в себя ноду 201 сетевого управления, например, один или несколько серверов, которые соединены через сеть 205 передачи данных, например Интернет, со множеством клиентских модулей 206, каждый из которых установлен на мобильном устройстве 207, например смартфоне, планшете и/или надеваемом устройстве, например Google GLASS™. Нода 201 сетевого управления, для краткости, упоминаемая здесь как сервер 201 управления, соединена с базой 210 данных точек интереса либо напрямую через сеть 205, которая хранит набор данных, которые географически связывают множество точек интереса. Дополнительно или альтернативно, копия набора данных и/или его части хранятся в памяти мобильных устройств 207, что упрощает локальный доступ к ней и/или одноранговый доступ в соответствии с методами обмена данными.
[46] Точка интереса может представлять собой торговую зону, например, магазин, заправку и/или тому подобное, и/или любую другую интересную область, которая может предоставлять содержимое, например, информационное и/или рекламное содержимое. Опционально, набор данных о точках интереса включает в себя множество поднаборов данных, и каждый из них географически связывает точки интереса, связанные с конкретным приложением, например, с приложением сети магазинов, в котором магазин представлен отдельной точкой интереса, с приложением, связанным с заправкой, в котором заправка представлена отдельной точкой интереса, или с приложением модного бренда, в котором каждая точка продажи представлена отдельной точкой интереса.
[47] База 210 данных точек интереса может быть обновлена с помощью сетевой ноды, которая управляется оператором(ами) 211, например поставщиками приложений и/или менеджерами, например, через клиента(ов) и/или пользователей мобильных устройств 207.
[48] Способ, описанный на Фиг. 1, описан как выполняемый на одном из мобильных устройств 207. Этот способ выполняется отдельно всеми мобильными устройствами 207, например, одновременно или взаимозаменяемо. Некоторые вычисления могут выполняться сервером управления.
[49] Как показано на шаге 101, локальная и/или центральная база 210 данных точек интереса может быть доступна с помощью клиентского модуля 206 для получения некоторых или всех точек интереса из набора данных, который хранится в базе 210 данных точек интереса, либо напрямую либо через сервер 210 управления. Например, подгруппа точек интереса может быть загружена на клиентский терминал 207, чтобы снижать количество доступов к базе 210 данных точек интереса и использование сети. Подгруппа точек интереса выбирается на основе статистических данных, что гарантирует то, что все точки интереса, необходимые для данного процесса, сохранены локально. Подгруппа точек интереса опционально подгружается раз в определенный период времени, например каждые 4 часа, на основе статистического анализа. Размер подгруппы позволяет предотвратить чрезмерное использование кэша и повышает надежность работы клиентского модуля 206. Подгруппа точек интереса опционально выбирается в соответствии с историей передвижений и данными передвижений пользователя клиентского терминала 207, оценивая места, где пользователь будет в грядущий период, например в следующие 0,5, 1, 2, 4, 6, 8 и/или 10 часов или любой промежуточный или более долгий период.
[50] Опционально, клиентский модуль 206 получает и/или локально документирует точки интереса одного или нескольких приложений, которые установлены в соответствующем мобильном клиенте и/или точки интереса маркируются как относящиеся к пользователю соответствующего мобильного клиента. Опционально, клиентский модуль 206 получает только те точки интереса, которые относятся к расчетному маршруту движения пользователя мобильного устройства, например, расчетному маршруту движения, который вычисляется ниже. Опционально, точки интереса одного приложения являются общими для других приложений, что задокументировано в системе, например, на основе совпадений. В некоторых вариантах осуществления, точка интереса, которая является рестораном, связанным с приложением, может быть общей с приложением доставки. Это позволяет приложению использовать точки интереса других приложений для улучшения отображения и положительного взаимодействия с пользователем.
[51] Во время работы, как показано позицией 102, маршрут движения пользователя мобильного устройства 207 к желаемой точке оценивается на основе данных от датчика(ов) 212 движения мобильного устройства 207 и/или одного или нескольких модулей 211 сервисов локализации мобильного устройства и/или динамически-статического профиля пользователя, например, динамически-статистического профиля, как описано ниже. Маршрут движения может вычисляться клиентским модулем 206 или предоставляться соответствующим модулем 213 вычисления, установленным на сервере 201 управления и используемым процессором(ами) 214. В данном случае, датчик движения может быть акселерометром, гироскопическим модулем, компасом и/или датчиком изображения, который захватывает последовательность изображений, которая обрабатывается для обнаружения по меньшей мере движения. В данном случае, модуль сервиса локализации может включать в себя модуль GPS, сотовый модуль, который получает локационные данные из сотовой сети и/или беспроводной сети на основе локационного модуля, который направляет данные о беспроводных сетях, находящихся в зоне обнаружения мобильного устройства 207, на удаленный сервис, например, данные о точках доступа (АР) беспроводных локальных сетей (WLAN).
[52] Опционально, вычисление маршрута движения инициируется движением, которое зафиксировано с помощью датчика(ов) движения и/или модулем(ями) сервиса локализации. Опционально, вычисление маршрута движения основано на пользовательской точке назначения, введенной в навигационный сервис, расположенный на устройстве, например WAZE™ и/или Google Maps™, и/или пользовательском местоназначении, рассчитанном навигационным сервисом.
[53] В соответствии с некоторыми вариантами осуществления настоящего технического решения, вычисление маршрута движения основано на данных из динамического и статистического профиля пользователя, созданного, как показано позицией 99, путем мониторинга событий передвижения (например, нахождение на месте в течение определенного времени, движение от одного места к другому, время, которое требуется для движения от одного места к другому, и/или расстоянии при движении от одного места к другому) и вычисления обычных схем движения пользователя за некоторый период времени - например, дни, недели, месяцы и/или года, или, например, по меньшей мере день или по меньшей мере неделю. Обычная схема движения может быть любой сменой позиции пользователя, которая повторяется за период наблюдения дольше одного дня, например ежедневное или еженедельное повторение поездки и/или пешей прогулки от точки А в точку В, нахождение в точке В в течение некоторого времени и поездка или пешая прогулка от точки В к точке А. Профиль пользователя может храниться локально на мобильном клиенте 207 и/или в базе 209 данных пользовательских профилей. Записи из динамического и статического профиля пользователя указывают на домашний адрес пользователя и время, в которое он(а) обычно приезжает домой и обычно покидает дом, а также рабочий адрес и время, в которое он(а) обычно приезжает на работу и обычно покидает работу, а также на часто посещаемые адреса, например спортзал, торговый центр, супермаркет и время, в которое он(а) обычно прибывает в эти места и покидает их. Записи в динамическом и статическом профиле пользователя указывают на время, которое требуется пользователю для передвижения из одного места в другое, опционально, в различные дни недели и времена года.
[54] В некоторых вариантах осуществления настоящего технического решения, некоторые или все движения пользователя записываются и анализируются для идентификации повторяющихся схем движения, например, ежедневных, еженедельных и/или ежемесячных маршрутов, например, из дома на работу, на работе в рабочие дни и часы, места семейных встреч в выходные дни, часто посещаемые места продаж, например, магазины и так далее. Например, динамический профиль пользователя может включать в себя множество записей из различных дней недели; каждая запись включает в себя множество записей за каждый час.
[55] Каждая запись за час связывает час дня с записью о движении, указывающей на обычную схему движения пользователя, например, ожидаемое местоположение, ожидаемый автомобильный маршрут, пешеходный маршрут и/или ожидаемое прибытие на ожидаемое местоположение. Опционально, коэффициент вариации (CV) вычисляется для каждой записи о движении, например, на основе нормализованного значения дисперсии, распределения вероятности и/или распределения частоты в отслеживаемых исторических событиях движений. Следует отметить, что записи могут представлять собой любой момент времени.
[56] В некоторых вариантах осуществления настоящего технического решения, совпадающие записи о движениях автоматически анализируются и, опционально, сравниваются с текущими данными о движении для вычисления текущего маршрута движения.
[57] В соответствии с некоторыми вариантами осуществления настоящего технического решения, вычисление маршрута движения основано на данных, полученных от анализа посещенных веб-страниц и/или поисковых запросов и/или результатов поиска и/или целевых страниц, введенных и/или доступных в течение первых нескольких минут, часов и/или дней. В подобных вариантах осуществления настоящего технического решения, семантический анализ поисковых запросов и/или содержимого веб-страниц и/или результатов поиска и/или целевых страниц может указывать на желаемое местоназначение пользователя. Например, желание посетить конкретное место, спортзал и/или театр, может быть извлечено из проанализированного содержимого.
[58] Опционально, вычисление маршрута движения основано на данных из анализа адресов в календаре пользователя, например, адреса встречи, которая состоится через несколько часов. Опционально, вычисление маршрута движения основывается на данных из анализа адресов входящих и/или исходящих звонков, сделанных за определенный период. Адреса могут быть извлечены из телефонного интерфейса пользователя мобильного устройства. Опционально, вычисление маршрута движения основано на данных из анализа адресов электронных сообщений, отправленных за определенный период (например, электронные сообщения, мгновенные сообщения, и CMC сообщения) - входящих и/или исходящих. Адреса могут быть извлечены из списка контактов мобильного устройства.
[59] Далее, как показано позицией 103, одна или несколько точек интереса выбираются как выбранные точки интереса для пользователя на основе текущего маршрута движения. Точки интереса могут вычисляться клиентским модулем 206 и/или предоставляться соответствующим модулем вычисления, установленным на сервере 201 управления. Например, вычисляется, какие точки интереса (POI) расположены вдоль и/или близко к маршруту движения пользователя и/или близко к конечному местоназначению маршрута движения и/или вдоль и/или близко к альтернативным маршрутам движения к желаемому для пользователя конечному местоназначению. Для краткости, находиться «близко» в данном случае означает быть в области, которая окружает точку интереса и/или находится в точке интереса и/или граничит с точкой интереса и/или областью, из которой точка интереса доступна за ограниченное количество времени, например, пара и/или несколько минут пешей ходьбы или езды.
[60] Выбранные точки интереса опционально фильтруются и/или выбираются в соответствии с релевантностью приложений, установленных на мобильном устройстве 207. Например, выбираются только точки интереса, которые связаны с приложениями, расположенными и/или работающими на мобильном устройстве 207. В другом примере, выбираются только точки интереса, релевантные для времени дня, недели или месяца.
[61] Как показано под номером 104, расчетное время прибытия (ЕТА) пользователя в область поблизости от каждой из выбранных точек интереса вычисляется на основе маршрута движения и/или альтернативного маршрута движения, вычисленного для прибытия к желаемому местоназначению. Расчетное время прибытия может вычисляться клиентским модулем 206 или предоставляться соответствующим модулем вычисления, установленным на сервере 201 управления. Опционально, расчетное время прибытия вычисляется на основе статистического анализа темпа ходьбы пользователя и/или стиля езды. Опционально, расчетное время прибытия основывается на данных навигационного сервиса, например WAZE™ и/или Google Maps™, таким образом, чтобы учитывать текущий траффик.
[62] Опционально, расчетное время прибытия включает в себя точный радиус, который устанавливается вокруг пользователя, учитывая точность отклонения от параметров данных, используемых для расчета маршрута движения, например, размера данных, используемых для расчета профиля пользователя, точность датчиков движения, точность модулей локационных сервисов и/или тому подобное.
[63] [0063] Как показано позицией 105, все вышеуказанное позволяет мобильному устройству запускать один или несколько модулей 211 локационных сервисов в соответствии с расчетным временем прибытия. Например, переключение режимов работы модулей 211 локационных сервисов рассчитано по времени в соответствии с расчетным временем прибытия. Переключение может быть, например, из режима ожидания в активный режим или наоборот. Режим ожидания может представлять собой любое состояние модуля локационного сервиса, в котором локационные данные собираются и/или вычисляются, например, когда модуль локационного сервиса не используется. Активный режим может представлять собой любое состояние модуля локационного сервиса, в котором локационные данные собираются и/или вычисляются, например, когда модуль локационного сервиса получает GPS сигналы; соединяется с сервером сотовой сети, ищет беспроводные локальные сети и/или вычисляет текущее положение на основе GPS сигналов, данных сотовой сети и/или данных о наличии беспроводных локальных сетей.
[64] В подобных вариантах осуществления настоящего технического решения модули локационного сервиса могут быть инициированы в расчетное время прибытия или непосредственно перед ним, например, за 5 секунд, 5 минут, 15 минут и/или какой-то промежуточный или более долгий период времени до приблизительного времени прибытия(й). Опционально, как показано под номером 106, проверка местоположения выполняется для указания на то, что пользователь действительно находится поблизости от точки интереса. Если проверка местоположения дает отрицательный результат, могут быть выбраны новые точки интереса и может быть вычислен новый маршрут. Если проверка местоположения дает положительный результат, процесс продолжается. Дополнительно или альтернативно, частота сессий идентификации местоположения, точнее, частота, с которой модуль локационного сервиса переключается из режима ожидания в активный режим и получает локационные данные является производной от расчетного расстояния до точки интереса. Например, когда примерное расстояние равно 100 километров, частота составит один раз в 40 минут, когда примерное расстояние равно 10 километров, частота составит раз в 5 минут, когда примерное расстояние равно 1 километр, частота составит раз в полминуты.
[65] Опционально, мобильное устройство 207 движется по направлению к точке интереса, но не достигает ее врасчетное время прибытия, модули локационных сервисов переключаются в рабочий режим из режима ожидания или закрытого режима для промежуточной проверки местоположения до тех пор, пока мобильное устройство 207 не будет поблизости или непосредственно в точке интереса.
[66] Опционально, когда мобильное устройство 207 идентифицируется как находящееся в точке интереса, модули локационных сервисов переключаются в режим ожидания на определенное время, например, в соответствии профилем пользователя. Опционально, модули локационного сервиса работают в соответствии с показаниями датчика 212 движения, периодически проверяя изменения местоположения.
[67] Вышеописанные способы используются в производстве интегральных микросхем.
[68] Блок-схема и диаграммы на чертежах демонстрируют архитектуру, функции и работу возможных вариантов осуществления систем, способа и компьютерных программных продуктов в соответствии с различными вариантами осуществления настоящего технического решения. С этой целью, каждый блок в принципиальной схеме или блок-схеме может представлять собой модуль, сегмент или часть кода, которая включает в себя одну или несколько инструкций для выполнения конкретной логической функции. Следует отметить, что в некоторых альтернативных вариантах осуществления настоящего технического решения, функций, указанные в блоке, могут выполняться не в том порядке, который указан на фигурах. Например, два блока, показанные как следующие друг за другом, фактически могут выполняться последовательно, одновременно или же блоки могут иногда выполняться в обратном порядке, в зависимости от участвующих функций. Также следует отметить, что каждый блок в диаграммах и/или блок-схеме и комбинации блоков в диаграммах и/или блок-схеме может быть реализован аппаратной системой специального назначения, которая выполняет отдельные функции или действия, или комбинации аппаратного обеспечения специального назначения и компьютерных инструкций.
[69] Описания различных вариантов осуществления настоящего технического решения были представлены для целей иллюстрации, а не для установления ограничений в осуществлении настоящего технического решения. Специалистам в данной области техники будут понятны многие другие модификации и варианты осуществления настоящего технического решения, не выходя за рамки настоящего технического решения и без установления ограничений. Используемая здесь терминология выбрана для наилучшего объяснения принципов вариантов осуществления настоящего технического решения, практического применения или технического эффекта, или для того чтобы помочь специалистам в данной области техники понять варианты осуществления настоящего технического решения.
[70] [0071] В данном случае термин «примерно» равен 10%.
[71] Термины «включает», «включают», «содержит», «содержат», «обладает» и их синонимы означают «включают, но не ограничиваются». Это также относится к терминам типа «состоящий из» и «состоящий в основном из».
[72] Словосочетание «состоящий в основном» означает, что соединение или способ могут включать в себя дополнительные ингредиенты и/или этапы, но только если дополнительные ингредиенты и/или этапы по существу не меняют основные и новаторские характеристики заявленного соединения или способа.
[73] В настоящем описании, единственное число существительного априори включает в себя множественное число, если только контекст специально не указывает на обратное. Например, термин «соединение» или «по меньшей мере одно соединение» может включать в себя множество соединений, включая их комбинации.
[74] Термин «примерный» используется здесь как «служащий в качестве примера, варианта или иллюстрации». Любой вариант осуществления, описываемый как «примерный» необязательно должен рассматриваться как предпочтительный или обладающий достоинствами по сравнению с другими вариантами осуществления технологии и/или исключающий возможность добавления каких-либо характеристик из других вариантов осуществления настоящего технического решения.
[75] Термин «опционально» используется как означающий «предоставлен в одних вариантах осуществления настоящего технического решения и не представлен в других». Любой конкретный вариант осуществления настоящего технического решения включает в себя множество «опциональных» характеристик, если только они не конфликтуют друг с другом.
[76] В данном описании, различные варианты осуществления настоящего технического решения могут быть представлены в широком диапазоне форматов. Следует иметь в виду, что описание «в широком диапазоне форматов» представлено для краткости и удобства и не должно считаться ограничением объема или рамок настоящего технического решения. Соответственно, описание «в диапазоне» следует рассматривать как включающее в себя все возможные субдиапазоны, а также все отдельные числовые значения в этом диапазоне. Например, описание «в диапазоне», например, «от 1 до 6» должно рассматриваться как включающее в себя все субдиапазоны «от 1 до 3», «от 1 до 4», «от 1 до 5», «от 2 до 4», «от 2 до 6», «от 3 до 6» и т.д., а также все отдельные числовые значения в этом диапазоне, например 1, 2, 3, 4, 5 и 6. Это относится к любому диапазону, вне зависимости от их широты.
[77] Каждый раз, когда в данном описании встречается числовое значение, подразумевается, что оно включает в себя любое число (дробное или целое) в указанном диапазоне. Словосочетания «находящийся в диапазоне между» первым указанным номером и вторым указанным номером и «ранжируется от» первого указанного номера «до» второго указанного номера являются синонимами и включают в себя первый и второй указанные номера, а также все дробные и целые числительные, которые находятся между ними.
[78] Подразумевается, что конкретные характеристики настоящего технического решения, которые были описаны в контексте отдельных вариантов осуществления настоящего технического решения, также могут быть представлены вместе в одном варианте осуществления настоящего технического решения. И напротив, различные характеристики настоящего технического решения, которые описаны в контексте одного и того же осуществления настоящего технического решения, также могут быть представлены по отдельности в подходящей субкомбинации или в любом другом подходящем варианте осуществления настоящего технического решения. Конкретные характеристики, описанные в контексте различных вариантов осуществления настоящего технического решения, не считаются существенными характеристиками этих вариантов осуществления настоящего технического решения, если только вариант осуществления настоящего технического решения не является рабочим без этих элементов.
[79] Несмотря на то что настоящее техническое решение было описано с помощью конкретных его вариантов осуществления, подразумевается, что многие альтернативы, модификации и вариации будут очевидны специалистам в данной области техники. Соответственно, подразумевается, что описание охватывает все альтернативы, модификации и вариации, которые входят в объем прилагаемой формулы изобретения.