ОБЪЕДИНЕНИЕ СОБЫТИЙ ГЕОЗОНЫ Российский патент 2018 года по МПК H04W4/02 

Описание патента на изобретение RU2642348C2

УРОВЕНЬ ТЕХНИКИ

[0001] Поскольку вычислительная технология развивается, все больше и больше мощных мобильных устройств становятся доступными. Например, смартфоны становятся обычным явлением. Мобильность таких устройств привела в результате к различным типам разрабатываемой функциональности, таких как функциональность на основе местоположения, в которой некоторые действия предпринимаются устройством на основе местоположения устройства. В то время как эта функциональность имеет множество преимуществ, не обходится без проблем. Одна такая проблема заключается в том, что программа может пытаться получать уведомления о местоположении устройства более часто, чем ожидается от программ, которые должны получать уведомления. Это может приводить в результате к обходу управлений устройством, относящихся к частоте, с которой программы, как ожидается, должны работать, что ведет к повышенному использованию энергии и уменьшенному сроку эксплуатации аккумулятора в устройстве и, таким образом, плохому восприятию пользователем во время использования устройства.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

[0003] В соответствии с одним или более аспектами, обнаруживается возникновение одного или более событий геозоны для вычислительного устройства в течение периода экономии ресурсов операционной системы, в течение которого некоторые программы не запланированы для работы. Запись событий геозоны для каждой из множества геозон сохраняется. Когда программа, ассоциированная с по меньшей мере одной из множества геозон, запланирована для работы в течение периода выполнения операционной системы, указание одного или более событий геозоны для по меньшей мере одной из множества геозон из записи событий геозоны предоставляется программе.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0004] Одинаковые номера используются на всех чертежах для того, чтобы ссылаться на аналогичные признаки.

[0005] Фиг. 1 иллюстрирует примерную систему, в которой объединение событий геозоны, обсуждаемое в данном документе, может быть использовано.

[0006] Фиг. 2 – это блок-схема, иллюстрирующая примерную систему, реализующую объединение событий геозоны в соответствии с одним или более вариантами осуществления.

[0007] Фиг. 3 иллюстрирует примерный пользовательский интерфейс, который может быть отображен пользователю, чтобы предоставлять возможность пользователю выбирать, должны ли местоположения быть определены в соответствии с одним или более вариантами осуществления.

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

[0009] Фиг. 5 – это блок-схема последовательности операций, иллюстрирующая примерный процесс объединения событий геозоны в соответствии с одним или более вариантами осуществления.

[0010] Фиг. 6 иллюстрирует примерную систему, которая включает в себя примерное вычислительное устройство, которое является показательным для одной или более систем и/или устройств, которые могут реализовывать различные технические приемы, описанные в данном документе.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

[0011] Объединение событий геозоны обсуждается в данном документе. Местоположение вычислительного устройства определяется, и местоположение интересующей области идентифицируется. Интересующая область является географической областью, которая также называется геозоной. Множество геозон могут быть идентифицированы посредством вычислительного устройства, и различные геозоны могут быть ассоциированы с различными программами на вычислительном устройстве. Операционная система вычислительного устройства реализует множество различных периодов работы для вычислительного устройства, включающих в себя период экономии ресурсов, в течение которого некоторые программы типично не планируются для работы, и период выполнения, в течение которого такие программы типично планируются для работы. Система вычислительного устройства идентифицирует события геозоны, которые происходят, когда вычислительное устройство входит или выходит в геозону. Система сохраняет запись событий геозоны для каждой из множества геозон и предоставляет программе выбранные события из этих событий геозоны (например, события геозоны для самого последнего входа и выхода из каждой геозоны, ассоциированной с программой) во время, когда программа планируется для работы на вычислительном устройстве в течение периода выполнения операционной системы.

[0012] Фиг. 1 иллюстрирует примерную систему 100, в которой объединение событий геозоны, обсуждаемое в данном документе, может быть использовано. Система 100 включает в себя вычислительное устройство 102, которое может быть любым из множества типов устройств, хотя типично является мобильным устройством. Например, вычислительное устройство 102 может быть смартфоном или другим беспроводным телефоном, портативным компьютером или нетбуком, планшетным компьютером или записной книжкой, миниатюрным компьютером, мобильной станцией, развлекательным устройством, устройством воспроизведения звука и/или видео, игровой консолью, передвижным компьютером и т.д. Вычислительное устройство 102 типично называется мобильным устройством, поскольку устройство 102 спроектировано или предназначено, чтобы перемещаться во множество различных местоположений (например, носится пользователем вместе с ним или ней, когда пользователь идет в различные местоположения).

[0013] Местоположение вычислительного устройства 102 может быть определено с помощью любого из множества различных технических приемов, таких как триангуляция беспроводной сети (например, Wi-Fi), сотовое позиционирование, позиционирование по глобальной навигационной спутниковой системе (GNSS), позиционирование по сетевому адресу (например, адресу протокола Интернета (IP)) и т.д., как обсуждается более подробно ниже. Различные технические приемы определения местоположения могут иметь различные систематические погрешности или ассоциированные неопределенности. Например, технический прием определения местоположения может быть точным до 10 метров (м) или 10 километров (км). Точная позиция вычислительного устройства 102, таким образом, точно не указывается, а иллюстрируется как область 104, окружающая вычислительное устройство 102. Область 104 представляет неопределенность в определенном местоположении или позиции вычислительного устройства 102, таким образом, хотя вычислительное устройство определяется как находящееся в конкретном местоположении или позиции (например, приблизительно в центре области 104), вычислительное устройство 102 может фактически быть где угодно в пределах области 104.

[0014] Система 100 также иллюстрирует множество геозон 112, 114, 116 и 118. Каждая геозона 112-118 может быть любым из множества различных интересующих мест для вычислительного устройства 102, пользователя вычислительного устройства 102, программы, работающей на вычислительном устройстве 102, и т.д. Например, геозона 112-118 может быть домом пользователя, местом работы пользователя, ресторанами или организациями, которые могут быть посещены пользователем, образовательными учреждениями, общественными службами (например, больницами или библиотеками), географическими местами (например, городами или штатами) и т.д.

[0015] Местоположение геозон 112-118 сохраняется в или иначе доступно для вычислительного устройства 102. Следует отметить, что различные пользователи вычислительного устройства 102 могут необязательно иметь различные сохраненные или доступные геозоны. Вычислительное устройство 102 является мобильным и может входить и выходить из геозон 112-118. В любое данное время вычислительное устройство 102 может быть в одной из геозон 112-118 или не в геозоне. Если вычислительное устройство 102 определяется как находящееся в области, которая охватывает конкретную геозону, тогда вычислительное устройство 102 называется находящимся внутри или в пределах этой конкретной геозоны. Однако, если вычислительное устройство 102 определяется как не находящиеся в области, которая охватывает конкретную геозону, тогда вычислительное устройство 102 называется находящимся за пределами или не в пределах этой конкретной геозоны. Также могут возникать ситуации, в которых две или более геозон перекрываются, в таком случае вычислительное устройство 102 может быть в двух или более геозонах 112-118 в одно время. Следует отметить, что иллюстрация фиг. 1 существует не в масштабе, и что геозоны 112-118 могут быть, и типично являются, значительно большими по размеру, чем вычислительное устройство 102.

[0016] В иллюстрированном примере область 104 не пересекает какую-либо из геозон 112-118, и, таким образом, вычислительное устройство 102 находится за пределами каждой из геозон 112-118. Однако, если область 104, по меньшей мере, частично перекрыла одну из геозон 112-118, тогда вычислительное устройство 102 возможно находится внутри геозоны, которая перекрывается. То, находится ли вычислительное устройство 102 внутри геозоны или за пределами геозоны в таких ситуациях, может быть определено различными способами, например, на основе наличия перекрывания, насколько большого перекрывания геозон, и т.д.

[0017] Фиг. 2 – это блок-схема, иллюстрирующая примерную систему 200, реализующую объединение событий геозоны в соответствии с одним или более вариантами осуществления. Система 200 может быть реализована посредством одного устройства, такого как вычислительное устройство 102 на фиг. 1, или альтернативно множества устройств, таких как вычислительное устройство 102 и один или более серверных компьютеров, доступных по сети (например, сотовой или другой беспроводной телефонной сети, Интернету и т.д.). Система 200 включает в себя один или более модулей 202 определения местоположения, модуль 204 определения геозоны, модуль 206 обнаружения события геозоны, модуль 208 инициирования геозоны и хранилище 210 данных.

[0018] Хранилище 210 данных хранит различные данные, используемые посредством технических приемов, обсуждаемых в данном документе. Хранилище 210 данных может быть реализовано с помощью любого из множества различных устройств хранения, таких как системная память (например, оперативное запоминающее устройство (RAM)), флэш-память или другая твердотельная память, магнитные диски, оптические диски и т.д. Данные, сохраненные в хранилище 210 данных, идентифицируют множество геозон, включая в себя данные 220 геозоны для каждой из множества геозон. Данные 220 геозоны могут быть получены из различных источников, например, от распространителя или дилера хранилища 210 данных, который хранит данные в хранилище 210 данных, из программы, работающей на вычислительном устройстве, реализующем систему 200, от другого устройства или службы и т.д. Данные геозоны для геозоны описывают границы геозоны, а также критерии, которые должны быть удовлетворены для того, чтобы геозона была инициирована.

[0019] Критерии, которые должны быть удовлетворены, могут ссылаться на вхождение устройства в геозону, выход из геозоны, пребывание в геозоне в течение конкретного интервала времени (например, по меньшей мере, порогового интервала времени, не более порогового интервала времени и т.д.), период времени для геозоны (например, время начала и время окончания, время начала и продолжительность), их комбинацию и т.д. Различные дополнительные критерии также могут необязательно быть включены, такие как состояние системы, которое должно быть удовлетворено. Например, критерии могут включать в себя то, включен или выключен дисплей вычислительного устройства, имеет ли вычислительное устройство связность сети (например, Интернет-связность), состояние питания вычислительного устройства (например, имеет ли вычислительное устройство, по меньшей мере, пороговый интервал оставшегося срока службы аккумулятора), и т.д.

[0020] Одно или более действий, которые предпринимаются в ответ на инициирование геозоны (удовлетворяемые критерии), могут также быть включены как часть данных геозоны. Любое из множества действий может быть предпринято, когда геозона инициируется, такое как уведомление конкретной программы, отображение конкретного контента или иное воспроизведение посредством вычислительного устройства, данные геозоны удаляются из хранилища 210 данных, их комбинации и т.д. Множество различных действий могут быть предприняты на основе способа, которым геозона инициируется, такие как одно действие, предпринятое в ответ на вхождение устройства в геозону, и другое действие, предпринятое в ответ на выход устройства из геозоны.

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

[0022] Хранилище 210 данных иллюстрируется на фиг. 2 как являющееся частью системы 200. Следует отметить, что данные, хранящиеся в хранилище 210 данных, могут быть получены из программ 230 (например, из программ 230, когда они загружаются в вычислительное устройство, реализующее систему 200). Альтернативно, одна или более программ 230 могут включать в себя хранилище данных, которое используется в дополнение к или вместо хранилища 210 данных.

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

[0024] Данные, сохраненные в хранилище 210 данных, могут также включать в себя дополнительные данные, используемые с техническими приемами, обсуждаемыми в данном документе. Например, хранилище 210 данных может включать в себя запись событий 222 геозоны, которые являются событиями геозоны, обнаруженными посредством модуля 206 обнаружения события геозоны, как обсуждается более подробно ниже.

[0025] Модули 202 определения местоположения включают в себя один или более модулей, которые определяют местоположение вычислительного устройства 102. В иллюстрированном примере модули 202 определения местоположения включают в себя Wi-Fi-модуль 212, GNSS-модуль 214, модуль 216 сетевого адреса и сотовый модуль 218. Следует отметить, однако, что эти модули 212-218 являются примерами, и что модули 202 определения местоположения не должны включать каждый из модулей 212-218, и/или что модули 202 определения местоположения могут включать в себя один или более дополнительных модулей, которые определяют местоположение вычислительного устройства 102 различными способами. Например, модули определения местоположения могут включать в себя MEMS (микроэлектромеханические системы), камеры, микрофоны и т.д.

[0026] Wi-Fi-модуль 212 использует Wi-Fi-сигналы, например, триангуляцию Wi-Fi-сигналов, чтобы определять местоположение вычислительного устройства 102. Wi-Fi-модуль 212 может принимать сигналы от различных беспроводных точек доступа, включающие в себя идентификатор конкретной беспроводной точки доступа и/или конкретной беспроводной сети, из которой принимается сигнал. Например, беспроводная точка доступа может отправлять адрес управления доступом к среде (MAC) беспроводной точки доступа, идентификатор основных наборов служб (BSSID) беспроводной сети, поддерживаемой беспроводной точкой доступа, и т.д. Wi-Fi-модуль 212 может также измерять мощность (например, значения индикатора мощности принятого сигнала (RSSI)) этих принимаемых сигналов. Следует отметить, что Wi-Fi-модуль 212 может, в любое данное время для любой данной позиции вычислительного устройства, принимать сигналы от множества беспроводных точек доступа. Wi-Fi-модуль 212 может хранить или иначе осуществлять доступ к записи беспроводных точек доступа, мощностей сигнала и соответствующих местоположений, чтобы определять местоположение вычислительного устройства в любое конкретное данное время, беспроводные точки доступа, от которых сигналы принимаются, и мощность этих сигналов в конкретное данное время. Альтернативно, Wi-Fi-модуль 212 может предоставлять указание беспроводных точек доступа, от которых сигналы принимаются, и мощность этих сигналов в конкретное данное время удаленной службе (например, доступной через любую из множества различных типов сетей), которая определяет и возвращает Wi-Fi-модулю 212 указание местоположения вычислительного устройства в это конкретное данное время.

[0027] GNSS-модуль 214 использует GNSS-позиционирование, чтобы определять местоположение вычислительного устройства 102, определяя местоположение вычислительного устройства на основе конкретного числа спутников (например, четырех или более спутников), от которых GNSS-модуль 214 может принимать сигналы или иначе связываться. GNSS-модуль 214 может реализовывать GNSS-функциональность с помощью множества различных технологий, включающих в себя, но не только, систему глобального позиционирования (GPS), глобальную навигационную спутниковую систему (GLONASS), навигационную систему BeiDou (или Compass), систему позиционирования Galileo, их комбинацию и т.д. GNSS-модуль 214 работает любым из множества публичных и/или патентованных способов, чтобы определять, при наличии одного или более спутников, от которых GNSS-модуль 214 может принимать сигналы или иначе связываться в любое конкретное данное время, местоположение вычислительного устройства в это конкретное данное время.

[0028] Модуль 216 сетевого адреса использует позиционирование по сетевому адресу, чтобы определять местоположение вычислительного устройства 102. Используемый сетевой адрес может быть любым из множества сетевых адресов, таким как IP-адрес вычислительного устройства. Модуль 216 сетевого адреса может хранить или иначе осуществлять доступ к записи IP-адресов или диапазонов адресов и соответствующих местоположений, чтобы определять местоположение вычислительного устройства в любое конкретное время, при наличии IP-адреса, назначенного вычислительному устройству в конкретное данное время. Альтернативно, модуль 216 сетевого адреса может предоставлять указание IP-адреса вычислительного устройства в конкретное данное время удаленной службе (например, доступной через любую из множества различных типов сетей), которая определяет и возвращает модулю 216 сетевого адреса указание местоположения вычислительного устройства в это конкретное данное время.

[0029] Сотовый модуль 218 использует сотовое позиционирование, чтобы определять местоположение вычислительного устройства 102. Сотовый модуль 218 может принимать сигналы от различных сотовых приемопередатчиков, включающие в себя идентификатор конкретного сотового приемопередатчика (например, вышки сотовой связи или идентификатор приемопередатчика), от которого сигнал принят. Сотовый модуль 218 может также измерять мощность этих принятых сигналов. Следует отметить, что сотовый модуль 218 может, в любое данное время для любой данной позиции вычислительного устройства, принимать сигналы от множества сотовых приемопередатчиков. Сотовый модуль 218 может поддерживать или иначе осуществлять доступ к записи сотовых приемопередатчиков, мощностей сигнала и соответствующих местоположений, чтобы определять местоположение вычислительного устройства в любое конкретное время при наличии сотовых приемопередатчиков, от которых сигналы принимаются, и мощности этих сигналов в конкретное данное время. Альтернативно, сотовый модуль 218 может предоставлять указание приемопередатчиков, от которых сигналы принимаются, и мощность этих сигналов в конкретное данное время удаленной службе (например, доступной через любую из множества различных типов сетей), которая определяет и возвращает сотовому модулю 218 указание местоположения вычислительного устройства в это конкретное данное время. Дополнительно или альтернативно, сотовый модуль 218 может наблюдать за изменениями состояния при низкой мощности и предоставлять уведомления (например, модулю 206 обнаружения события геозоны), предоставляющие возможность обнаружения перемещения при низкой мощности без необходимости постоянного опроса.

[0030] Местоположения, определенные посредством модулей 202 определения местоположения, типично являются координатами широты и долготы, хотя местоположение может альтернативно быть указано другими способами. Каждый из модулей 202 определения местоположения имеет ассоциированную неопределенность в местоположении, которую он определяет, также называемую систематической погрешностью или оцененной систематической погрешностью местоположения. Величина этой неопределенности может быть определена различными способами, например, сообщается посредством самого модуля определения местоположения, предварительно конфигурируется в или иначе доступна другим модулям системы 200 (например, модулю 206 обнаружения события геозоны), и т.д. Неопределенность приводит в результате к области неопределенности позиции для местоположения, определенного посредством модуля определения местоположения, область неопределенности позиции является областью, в которой вычислительное устройство 102 может фактически быть для определенного местоположения. В одном или более вариантах осуществления область неопределенности позиции является приблизительно круглой областью с местоположением, определенным посредством модуля определения местоположения, являющимся приблизительно центром круглой области, и радиус приблизительно круглой области является радиусом погрешности, определенным в качестве неопределенности для модуля определения местоположения. Альтернативно, область неопределенности позиции может быть описана с помощью различных других правильных или других геометрических форм. Таким образом, область неопределенности позиции для модуля определения местоположения может быть функцией пространственного распределения погрешностей. Аппроксимация функции пространственного распределения погрешностей может быть плосковершинным распределением по области, хотя различные другие аппроксимации или описания функции пространственного распределения погрешностей могут альтернативно быть использованы.

[0031] В одном или более вариантах осуществления местоположение определяется посредством модулей 202 определения местоположения только после приема согласия пользователя на это. Это согласие пользователя может быть явным согласием, когда пользователь предпринимает утверждающее действие на запрос, что местоположение должно быть определено посредством модулей 202 определения местоположения, прежде чем какое-либо такое местоположение определяется. Альтернативно, это согласие пользователя может быть явным отказом, когда пользователь предпринимает утверждающее действие на запрос, что местоположение не должно быть определено посредством модулей 202 определения местоположения. Если пользователь не выбирает явный отказ от определения местоположения, тогда подразумевается согласие пользователя, чтобы определять его или ее местоположение. Кроме того, следует отметить, что местоположение, определенное посредством модулей 202 определения местоположения, может быть сохранено в вычислительном устройстве, принимающем определенное местоположение (например, вычислительном устройстве 102 на фиг. 1), и не должно передаваться другим устройствам или службам.

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

[0033] Фиг. 3 иллюстрирует примерный пользовательский интерфейс, который может быть отображен пользователю, чтобы предоставлять возможность пользователю выбирать, должны ли местоположения быть определены в соответствии с одним или более вариантами осуществления. Отображается окно 300 управления местоположением, включающее в себя описание 302, объясняющее пользователю, почему информация о местоположении определяется. Ссылка 304 на заявление о конфиденциальности также отображается. Если пользователь выбирает ссылку 304, отображается заявление о конфиденциальности системы 200, объясняющее пользователю, как пользовательская информация поддерживается конфиденциальной.

[0034] Дополнительно, пользователь имеет возможность выбирать зависимый переключатель 306, чтобы явно соглашаться на определение информации о местоположении, или зависимый переключатель 308, чтобы явно отказываться от определения информации о местоположении. После того как зависимый переключатель 306 или 308 выбран, пользователь может выбирать кнопку 310 "OK", чтобы сохранять выбор. Следует понимать, что зависимые переключатели и кнопка "OK" являются лишь примерами пользовательских интерфейсов, которые могут быть представлены пользователю, чтобы явно соглашаться или явно отказываться от определения информации о местоположении, и что множество других традиционных технических приемов пользовательских интерфейсов могут альтернативно быть использованы. Система 200 на фиг. 2 затем переходит к определению местоположения вычислительного устройства, или неопределению местоположения вычислительного устройства, в соответствии с выбором пользователя.

[0035] Возвращаясь к фиг. 2, модуль 204 определения геозоны определяет одну или более геозон, идентифицированных в хранилище 210 данных, для которых определение должно выполняться относительно того, инициируется ли геозона. Данные для многочисленных различных геозон могут быть сохранены в хранилище 210 данных, и одна или более из этих геозон выбирается посредством модуля 204 определения геозоны. Модуль 204 определения геозоны может выполнять это определение множеством различных способов, например, на основе текущего расстояния между геозонами и вычислительным устройством, на основе размеров (охваченных областей) геозон, на основе которых геозона является самой (или почти самой) точной, как обсуждается более подробно ниже, и т.д. Одна или более геозон, которые определяются посредством модуля 204, являются геозонами, которые считаются более вероятными для входа или выхода на основе различных критериев, таких как текущее местоположение вычислительного устройства, и такие одна или более геозон могут быть фокусом модуля 204 до тех пор, пока критерии не изменятся. Однако, следует отметить, что модуль 204 определения геозоны может определять, инициируется ли геозона, для любой из геозон в хранилище 210 данных.

[0036] Модуль 206 обнаружения события геозоны получает текущее местоположение вычислительного устройства с регулярными или нерегулярными интервалами и обнаруживает, происходит ли событие геозоны. Эти интервалы могут быть выбраны динамически на основе текущих условий (например, приблизительного расстояния до ближайшей геозоны, энергетических характеристик для вычислительного устройства, оцененной скорости перемещения вычислительного устройства и т.д.). Событие геозоны ссылается на вхождение устройства в геозону, выход из геозоны или пребывание в геозоне в течение конкретного интервала времени (например, находится в геозоне и не выходит из геозоны). Модуль 206 обнаружения события геозоны может оценивать неопределенность, ассоциированную с определенным местоположением, относительно размера геозоны для того, чтобы определять, находится ли вычислительное устройство внутри геозоны или за пределами геозоны. Альтернативно, модуль 206 обнаружения события геозоны может использовать местоположение, определенное посредством модуля определения местоположения, чтобы определять, находится ли вычислительное устройство внутри геозоны или за пределами геозоны, безотносительно неопределенности, ассоциированной с определенным местоположением. Модуль 206 обнаружения события геозоны может также отслеживать, находится ли вычислительное устройство внутри или за пределами геозоны, в динамике по времени, и, таким образом, узнает, переместилось ли вычислительное устройство изнутри геозоны за пределы геозоны, переместилось ли вычислительное устройство из-за пределов геозоны внутрь геозоны, интервал времени, в течение которого вычислительное устройство было внутри геозоны, и т.д.

[0037] Модуль 206 обнаружения геозоны включает в себя модуль 224 хранения события геозоны, и в ответ на обнаружение события геозоны посредством модуля 206 модуль 224 хранения события геозоны сохраняет обнаруженное событие геозоны в записи 222 события геозоны. Запись 222 события геозоны может быть реализована множеством различных способов, таких как база данных, список событий геозоны для каждой геозоны, и т.д. Сохранение обнаруженного события геозоны ссылается на сохранение данных, идентифицирующих событие геозоны и необязательно различные аспекты события геозоны. Данные, сохраненные для обнаруженного события геозоны, могут включать в себя указание того, является ли событие геозоны входом в геозону или выходом в геозону, указание (например, идентификатор) геозоны, в которую осуществлен вход или выход, продолжительность, в течение которой вычислительное устройство находилось в (или было в) геозоне, программу, ассоциированную с геозоной (например, программу, которая должна быть уведомлена о событии геозоны), временную отметку (например, дату и/или время) того, когда событие геозоны было обнаружено, и т.д. Сохраненные данные могут также идентифицировать геозону, для которой событие геозоны обнаружено, или события геозоны могут быть сохранены способом, в котором идентификация геозоны, для которой событие геозоны обнаружено, является характерной (например, события геозоны могут быть добавлены в список для геозоны, каждая геозона имеет различный список). Продолжительность, в течение которой вычислительное устройство находилось в или было в геозоне, может быть определена различными способами, например, посредством модуля 206 обнаружения события геозоны, наблюдающего за тем, как долго он там находился после осуществления входа в геозону, определяя время, которое прошло с тех пор, как последнее событие входа в геозону для геозоны было обнаружено (или время, которое прошло между тем, когда самое последнее событие выхода из геозоны для геозоны было обнаружено, и тем, когда предыдущее событие входа в геозону для геозоны было обнаружено), и т.д.

[0038] В одном или более вариантах осуществления каждое событие геозоны, обнаруженное посредством модуля 206 обнаружения события геозоны, сохраняется в хранилище 210 данных, например, в упорядоченном списке, отсортированном по времени возникновения события геозоны. Запись 222 события геозоны может включать в себя события геозоны для различных продолжительностей, таких как последние 24 часа, последняя неделя и т.д. Альтернативно, запись 222 события геозоны может включать в себя, для каждого события геозоны, самое последнее событие выхода из геозоны для геозоны и самое последнее событие входа в геозону для геозоны. Каждый раз, когда новое событие геозоны обнаруживается для геозоны, ранее записанное событие геозоны того же типа (выход или вход в геозону) может быть заменено вновь обнаруженным событием геозоны. Таким образом, в некоторых вариантах осуществления только самое последнее событие выхода из геозоны для геозоны и самое последнее событие входа в геозону для геозоны записываются для геозоны, в то время как в других вариантах осуществления множество событий входа и выхода из геозоны записываются для геозоны (например, записываются все события входа и выхода из геозоны). Записанные события геозоны для геозоны могут также быть удалены из хранилища 210 данных в ответ на различные события, такие как то, что приложение, которое предоставило данные геозоны для геозоны, инсталлируется или иначе удаляется из системы 200).

[0039] Модуль 208 инициирования геозоны анализирует критерии, ассоциированные с геозоной, и определяет, удовлетворяются ли критерии. Это определение выполняется, по меньшей мере, частично на основе возникновения одного или более событий геозоны, которые определяются посредством модуля 206 обнаружения события геозоны. В ответ на удовлетворение критериев модуль 208 определяет, что геозона инициируется, и предпринимает соответствующее действие. Предпринятое действие может быть ассоциировано с данными геозоны для инициированной геозоны, сохраненными в хранилище 210 данных, или может быть определено другими способами, например, предварительно конфигурируется в модуле 208 инициирования геозоны, получается от другого модуля или устройства и т.д.

[0040] В одном или более вариантах осуществления действие, предпринятое модулем 208 инициирования геозоны в ответ на инициирование геозоны, является уведомлением одной или более программ 230 о том, что геозона была инициирована. Одна или более программ 230 могут включать в себя многообразные различные типы программ, такие как приложения, модули или компоненты операционной системы и т.д. Одна или более программ 230, которые должны быть уведомлены (также называемые программами 230, ассоциированными с инициированной геозоной), могут быть идентифицированы различными способами, например, конфигурируются в модуле 208 инициирования геозоны, идентифицируются как часть данных геозоны для геозоны в хранилище 210 данных, получаются от другого модуля или службы, и т.д. Программа 230 может быть оповещена о событии геозоны, которое произошло, также как необязательно о дополнительной информации (например, что вычислительное устройство было в пределах геозоны в течение, по меньшей мере, порогового интервала времени). Программа 230 может затем предпринимать действие, которое она желает, на основе инициируемой геозоны.

[0041] Модуль 208 инициирования геозоны включает в себя модуль 226 сообщения о событии геозоны, который управляет уведомлением программ о том, что геозона была инициирована. Модуль 226 сообщения о событии геозоны выбирает одно или более событий геозоны из записи 222 о событии геозоны, например, для каждой геозоны, ассоциированной с программой 230, самое последнее событие выхода из геозоны (самое последнее событие геозоны, которое является выходом из геозоны) и самое последнее событие входа в геозону (самое последнее событие геозоны, которое является входом в геозону). Модуль 226 сообщения о событии геозоны объединяет события геозоны для каждой геозоны, ассоциированной с программой 230, и предоставляет программе 230 набор событий геозоны для геозон, ассоциированных с программой 230.

[0042] В одном или более вариантах осуществления геозона инициируется в ответ на событие геозоны (вход или выход из геозоны), и модуль 226 сообщения о событии геозоны уведомляет программу об этом событии геозоны. Альтернативно, модуль 226 сообщения о событии геозоны может принимать во внимание другие критерии, ассоциированные с геозоной, в определении того, уведомлять ли программу о событии геозоны, и уведомлять программу, только если такие дополнительные критерии удовлетворяются. Например, если критерии указывают, что Интернет-связность желательна, но в настоящее время нет доступа в Интернет, тогда модуль 226 сообщения о событии геозоны не будет уведомлять программу о событии геозоны. Эти и другие критерии могут быть сохранены как часть записи 222 о событии геозоны и/или данные 220 геозоны.

[0043] Кроме того, модуль 226 сообщения о событии геозоны может принимать во внимание любые критерии, ассоциированные с самой программой. Например, если критерии указывают, что программа, которая должна быть уведомлена, не должна работать в течение некоторых моментов времени дня, тогда модуль 226 сообщения о событии геозоны не будет уведомлять программу о событии геозоны, если оно происходит в течение этих определенных моментов времени дня.

[0044] Дополнительно, могут возникать ситуации, когда модуль 226 сообщения о событии геозоны не уведомляет программу 230 о некоторых событиях геозоны, таких как автоматическое истечение срока геозоны. Например, если геозона действительна только в течение конкретного периода времени (например, ежедневная торговля для магазина, который закрывается в 21:00), тогда геозона может быть автоматически удалена из системы 200, после того как истекает ее срок, и программа 230, ассоциированная с геозоной, может не быть уведомлена об этом событии удаления.

[0045] В одном или более вариантах осуществления программа 230, которая ассоциирована с геозоной, является программой на вычислительном устройстве, реализующем систему 200. Операционная система вычислительного устройства, реализующего систему 200, реализует множество различных периодов работы для вычислительного устройства. Эти множественные различные периоды работы включают в себя период экономии ресурсов, в котором вычислительное устройство работает в режиме экономии энергии. В течение периода экономии ресурсов некоторые программы (такие как приложения, отличные от программ операционной системы) типично не планируются для работы, и различные другие технические приемы экономии энергии могут быть использованы операционной системой, чтобы уменьшать использование энергии вычислительного устройства. Множество различных периодов работы также включают в себя период выполнения, в котором вычислительное устройство работает в режиме выполнения. В течение периода выполнения программы, которые типично не планируются во время периода экономии ресурсов, планируются для работы посредством механизма планировки операционной системы. Механизм планировки может принимать во внимание множество различных факторов, чтобы определять, какую программу запускать, и как долго программа должна работать, например, насколько недавно программа была последний раз запланирована для работы, как долго программа работала в прошлый раз, когда программа была запланирована для работы (или в течение некоторого интервала времени в прошлом), другие программы, которые должны быть запланированы, доступную энергию (например, оставшийся срок службы аккумулятора) вычислительного устройства, принят ли запрос пользователя на запуск программы, и т.д. Следует отметить, что механизм планировки работает независимо от системы 200 – механизм планировки может принимать во внимание то, были ли события геозоны обнаружены для программы при определении того, когда запланировать программу, но механизм планировки не должен (и типично не делает этого) планировать программу к запуску просто в ответ на то, что событие геозоны, ассоциированное с программой, обнаруживается.

[0046] Фиг. 4 иллюстрирует пример различных периодов работы в соответствии с одним или более вариантами осуществления. Иллюстрируется ось 402 времени, включающая в себя разбросанные периоды 404 выполнения и периоды 406 экономии ресурсов. В течение периодов 404 выполнения операционная система работает в режиме выполнения, а в течение периодов 406 экономии ресурсов операционная система работает в режиме экономии энергии. Хотя иллюстрированы как имеющие одинаковую продолжительность по времени, следует отметить, что различные периоды 404 выполнения могут иметь различные продолжительности, и что различные периоды 406 экономии ресурсов могут иметь различные продолжительности. Эти продолжительности периодов 404 выполнения и/или периодов 406 экономии ресурсов могут изменяться со временем в течение работы вычислительного устройства.

[0047] Обращаясь к фиг. 2, модуль 226 сообщения о событии геозоны объединяет события геозоны для каждой геозоны, ассоциированной с программой 230, и предоставляет программе 230 набор событий геозоны для геозон, ассоциированных с программой 230, когда программа 230 позже запланирована для работы. Набор событий геозоны (например, сохраненный хронологически, начиная с самого последнего события) может быть предоставлен программе 230 в следующий раз, когда программа планируется для работы, или альтернативно в последующее время. Моменты времени, когда программа 230 планируется для работы, могут управляться посредством механизма планировки операционной системы и могут быть в следующем периоде выполнения или некотором более позднем периоде выполнения. Следует отметить, что в течение обоих периодов выполнения и экономии ресурсов, модуль 206 обнаружения события геозоны работает, чтобы обнаруживать события геозоны, а модуль 224 хранения события геозоны сохраняет обнаруженные события геозоны в записи 222 события геозоны. Таким образом, даже если программа 230, которая должна быть уведомлена об обнаруженных событиях геозоны, не работает или не запланирована для работы (или операционная система находится в периоде экономии ресурсов), события геозоны для геозон, ассоциированных с программой, все еще обнаруживаются и записываются и могут быть предоставлены программе 230, когда программа 230 позже работает. После того как события геозоны принимаются программой 230, они могут быть впоследствии удалены из хранилища 210 данных.

[0048] Хотя иллюстрированы как модули, отдельные от модулей 202 определения местоположения, следует отметить, что один или более модулей 204-208 могут альтернативно быть реализованы, по меньшей мере, частично в одном из модулей 202 определения местоположения. Например, по меньшей мере, часть одного или более модулей 204-208 может быть реализована в аппаратных компонентах GNSS-модуля 214 или Wi-Fi-модуля 212.

[0049] Фиг. 5 – это блок-схема последовательности операций, иллюстрирующая примерный процесс 500 объединения событий геозоны в соответствии с одним или более вариантами осуществления. Процесс 500 выполняется посредством системы, такой как система 200 на фиг. 2, и может быть реализован в программном обеспечении, микропрограммном обеспечении, аппаратных средствах или их комбинации. Процесс 500 показан как набор этапов и не ограничивается показанным порядком для выполнения операций и различных этапов. Процесс 500 является примерным процессом объединения событий геозоны; дополнительные обсуждения объединения событий геозоны включены в данный документ со ссылкой на различные чертежи.

[0050] В процессе 500 возникновения событий геозоны для вычислительного устройства обнаруживаются (этап 502). Возникновение события геозоны основывается на местоположении вычислительного устройства, которое определено посредством одного или более модулей 202 определения местоположения на фиг. 2, и местоположения различных геозон идентифицируются в данных геозоны в хранилище 210 данных.

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

[0052] Указание одного или более событий геозоны, обнаруженных для по меньшей мере одной геозоны, ассоциированной с программой, предоставляются программе, когда программа работает (этап 506), и программа может затем выполнять различные операции на основе указанных геозон, когда желательно программе. Указание одного или более событий геозоны может принимать различные формы, такие как информация, идентифицирующая событие геозоны и различные аспекты события геозоны, которая хранится в хранилище 210 данных на фиг. 2, идентификатор местоположения в хранилище 210 данных, где хранится информация, идентифицирующая событие геозоны, и т.д. Указание может быть предоставлено программе с помощью различных механизмов, таких как программа, запрашивающая событие геозоны из системы 200 на фиг. 2, система 200, автоматически уведомляющая программу о событиях геозоны (например, вызывая прикладной программный интерфейс программы или другую функцию обратного вызова), и т.д.

[0053] Время, когда программа работает на этапе 506, определяется посредством механизма планирования операционной системы, как обсуждалось выше. Следует отметить, что программа может ожидать запланированного запуска или не работает вовсе, когда события геозоны обнаруживаются. Обнаруженные события геозоны предоставляются программе на этапе 506 (например, немедленно), если программа уже работает, или предоставляются программе на этапе 506 в следующий раз, когда программа работает. Следующий раз, когда программа работает, может быть определен различными способами. Например, программа может работать, когда активизирована пользователем, или когда определено посредством механизма планирования операционной системы. Если множество экземпляров одной и той же программы работают в одно и то же время, только один экземпляр программы может быть снабжен событиями геозоны, чтобы избегать дублирования доставки события и получающегося в результате дублирующего действия от программы по приеме конкретного события геозоны. В одном или более вариантах осуществления одно или более событий геозоны являются самым последним событием входа в геозоны и самым последним событием выхода из геозоны для каждой геозоны, ассоциированной с программой (или, по меньшей мере, каждой геозоны, ассоциированной с программой, для которой события геозоны обнаруживаются).

[0054] Таким образом, события геозоны для множества геозон, ассоциированных с программой, объединяются и предоставляются программе как упорядоченный набор событий геозоны на этапе 506. Кроме того, предоставляя события геозоны программе, когда программа работает на основе механизма планирования операционной системы, предоставление событий геозоны программе гармонизируется с механизмом планирования операционной системы. Механизмы предоставления событий геозоны программе, отдельные от механизма планирования, не применяются, предохраняя механизм планирования от обхода, и предотвращая прерывание периодов экономии ресурсов вследствие обнаруженных событий геозоны.

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

[0056] Хотя конкретная функциональность обсуждается в данном документе со ссылкой на конкретные модули, следует отметить, что функциональность отдельных модулей, обсужденных в данном документе, может быть разделена на множество модулей, и/или, по меньшей мере, некоторая функциональность множества модулей может быть объединена в один модуль. Кроме того, следует отметить, что конкретный модуль, обсуждаемый в данном документе как выполняющий действие, включает в себя то, что конкретный модуль сам выполняет действие, или альтернативно то, что конкретный модуль задействует или иначе осуществляет доступ к другому компоненту или модулю, который выполняет действие (или выполняет действие совместно с этим конкретным модулем). Таким образом, конкретный модуль, выполняющий действие, включает в себя сам этот конкретный модуль, выполняющий действие, и/или другой модуль, задействованный, или к которому иначе осуществляет доступ этот конкретный модуль, выполняющий действие.

[0057] Фиг. 6 иллюстрирует примерную систему, в целом, по ссылке 600, которая включает в себя примерное вычислительное устройство 602, которое является показательным для одной или более систем и/или устройств, которые могут реализовывать различные технические приемы, описанные в данном документе. Вычислительное устройство 602 может быть, например, сервером поставщика услуги, устройством, ассоциированным с клиентом (например, клиентским устройством), встроенной в кристалл системой и/или любым другим подходящим вычислительным устройством или вычислительной системой.

[0058] Примерное вычислительное устройство 602, которое иллюстрировано, включает в себя систему 604 обработки, один или более компьютерно-читаемых носителей 606 и один или более I/O-интерфейсов 608, которые соединены с возможностью обмена данными друг с другом. Хотя не показано, вычислительное устройство 602 может дополнительно включать в себя системную шину или другую систему передачи данных и команд, которая соединяет различные компоненты друг с другом. Системная шина может включать в себя любую одну или комбинацию различных шинных структур, таких как шина памяти или контроллер памяти, периферийная шина, универсальная последовательная шина и/или процессорная или локальная шина, которая использует любую из множества шинных архитектур. Множество других примеров также рассматриваются, таких как управляющие и информационные шины.

[0059] Система 604 обработки представляет функциональность, чтобы выполнять одну или более операций с помощью аппаратных средств. Соответственно, система 604 обработки иллюстрируется как включающая в себя элементы 610 аппаратных средств, которые могут быть сконфигурированы как процессоры, функциональные блоки и т.д. Она может включать в себя реализацию в аппаратных средствах в качестве специализированной интегральной микросхемы или другого логического устройства, сформированного с помощью одного или более полупроводников. Элементы 610 аппаратных средство не ограничиваются материалами, из которых они сформированы, или механизмами обработки, используемыми в них. Например, процессоры могут быть составлены из полупроводника(ов) и/или транзисторов (к примеру, электронных интегральных схем (IC)). В этом контексте исполняемыми процессором инструкциями могут быть электронноисполняемые инструкции.

[0060] Компьютерно-читаемые носители 606 иллюстрируются как включающие в себя память/хранилище 612. Память/хранилище 612 представляет емкость памяти/хранилища, ассоциированную с одним или более компьютерно-читаемыми носителями. Память/хранилище 612 может включать в себя энергозависимые носители (такие как оперативное запоминающее устройство (RAM)) и/или энергонезависимые носители (такие как постоянное запоминающее устройство (ROM), флэш-память, оптические диски, магнитные диски и т.д.). Память/хранилище 612 может включать в себя фиксированные носители (например, RAM, ROM, фиксированный жесткий диск и т.д.), а также съемные носители (например, флэш-память, съемный жесткий диск, оптический диск и т.д.). Компьютерно-читаемые носители 606 могут быть сконфигурированы множеством других способов, как дополнительно описано ниже.

[0061] Интерфейс(ы) 608 ввода/вывода представляют функциональность, чтобы предоставлять возможность пользователю вводить команды и информацию в вычислительное устройство 602, а также предоставляют возможность представления информации пользователю и/или другим компонентам или устройствам с помощью различных устройств ввода/вывода. Примеры устройств ввода включают в себя клавиатуру, устройство управления курсором (например, мышь), микрофон (например, для голосовых вводов), сканер, сенсорную функциональность (например, емкостные или другие датчики, которые сконфигурированы, чтобы обнаруживать физическое касание), камеру (например, которая может применять видимые или невидимые длины волн, такие как инфракрасные частоты, чтобы обнаруживать движение, которое не подразумевает касание, в качестве жестов), и т.д. Примеры устройств вывода включают в себя устройство отображения (например, монитор или проектор), динамики, принтер, сетевую карту, тактильно-чувствительное устройство и т.д. Таким образом, вычислительное устройство 602 может быть сконфигурировано множеством способов, как дополнительно описано ниже, чтобы поддерживать взаимодействие с пользователем.

[0062] Вычислительное устройство 602 также включает в себя систему 614 геозоны. Система 614 геозоны предоставляет различную функциональность геозоны, включающую в себя объединение геозоны, как обсуждалось выше. Система 614 геозоны может реализовывать, например, систему 200 на фиг. 2.

[0063] Различные технические приемы могут быть описаны в данном документе в общем контексте программного обеспечения, элементов аппаратных средств или программных модулей. Как правило, такие модули включают в себя процедуры, программы, объекты, элементы, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Термины "модуль", "функциональность" и "компонент", когда используются в данном документе, как правило, представляют программное обеспечение, микропрограммное обеспечение, аппаратные средства или их комбинацию. Признаки технических приемов, описанных в данном документе, являются платформенно-независимыми, означающими, что технические приемы могут быть реализованы на множестве вычислительных платформ, имеющих множество процессоров.

[0064] Реализация описанных модулей и технических приемов может быть сохранена на или передаваться по некоей форме компьютерно-читаемых носителей. Компьютерно-читаемые носители могут включать в себя множество носителей, к которым может быть осуществлен доступ посредством вычислительного устройства 602. В качестве примера, а не ограничения, компьютерно-читаемые носители могут включать в себя "компьютерно-читаемые носители хранения информации" и "компьютерно-читаемую среду передачи сигналов".

[0065] "Компьютерно-читаемые носители хранения информации" ссылаются на носители и/или устройства, которые предоставляют возможность устойчивого хранения информации, и/или хранилищу, которое является материальным, в противоположность простой передаче сигнала, несущим волнам или сигналам самим по себе. Таким образом, компьютерно-читаемые носители хранения информации относятся к ненесущим сигнал носителям. Компьютерно-читаемые носители хранения информации включают в себя аппаратные средства, такие как энергозависимые и энергонезависимые, съемные и несъемные носители и/или запоминающие устройства, реализованные способом или технологией, подходящей для хранения информации, такой как читаемые компьютером инструкции, структуры данных, программные модули, логические элементы/схемы или другие данные. Примеры компьютерно-читаемых носителей хранения информации могут включать в себя, но не только, RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, цифровые универсальные диски (DVD) или другое оптическое запоминающее устройство, жесткие диски, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, или другое запоминающее устройство, материальные носители или изделие производства, подходящее, чтобы хранить желаемую информацию, и к которому может быть осуществлен доступ посредством компьютера.

[0066] "Компьютерно-читаемая среда передачи сигнала" ссылается на несущую сигнал среду, которая сконфигурирована, чтобы передавать инструкции аппаратным средствам вычислительного устройства 602, например, через сеть. Среда передачи сигналов типично может осуществлять компьютерно-читаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущие волны, информационные сигналы или другой механизм передачи. Среда передачи сигнала также включает в себя любую среду доставки информации. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или более своих характеристик, заданных или изменяемых таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среда передачи данных включает в себя проводную среду, такую как проводная сеть или прямое проводное соединение, и беспроводную среду, такую как акустическая среда, RF, инфракрасное излучение и другая беспроводная среда.

[0067] Как ранее описано, элементы 610 аппаратных средств и компьютерно-читаемые носители 606 представляют инструкции, модули, программируемую логику устройства и/или фиксированную логику устройства, реализованную в форме аппаратных средств, которая может быть применена в некоторых вариантах осуществления, чтобы реализовывать, по меньшей мере, некоторые аспекты технических приемов, описанных в данном документе. Элементы аппаратных средств могут включать в себя компоненты интегральной схемы или встроенной в кристалл системы, специализированную интегральную схему (ASIC), программируемую пользователем вентильную матрицу (FPGA), сложное программируемое логическое устройство (CPLD) и другие реализации в полупроводниковых или других аппаратных устройствах. В этом контексте, элемент аппаратных средств может работать как устройство обработки, которое выполняет программные задачи, определенные посредством инструкций, модулей и/или логики, осуществленной посредством элемента аппаратных средств, также как аппаратное устройство, используемое, чтобы хранить инструкции для исполнения, например, компьютерно-читаемые носители хранения информации, описанные ранее.

[0068] Комбинации вышеупомянутого могут также быть использованы, чтобы реализовывать различные технические приемы и модули, описанные в данном документе. Соответственно, программное обеспечение, аппаратные средства или программные модули и другие программные модули могут быть реализованы как одна или более инструкций и/или логика, осуществленная в некоторой форме компьютерно-читаемых носителей хранения и/или посредством одного или более элементов 610 аппаратных средств. Вычислительное устройство 602 может быть сконфигурировано, чтобы реализовывать конкретные инструкции и/или функции, соответствующие программным и/или аппаратным модулям. Соответственно, реализация модулей как модуля, который является исполняемым посредством вычислительного устройства 602 в качестве программного обеспечения, может быть выполнена, по меньшей мере, частично в аппаратных средствах, например, посредством использования компьютерно-читаемых носителей хранения и/или элементов 610 аппаратных средств системы обработки. Инструкции и/или функции могут быть исполняемыми/задействуемыми посредством одного или более изделий производства (например, одного или более вычислительных устройств 602 и/или систем 604 обработки), чтобы реализовывать технические приемы, модули и примеры, описанные в данном документе.

[0069] Как дополнительно иллюстрировано на фиг. 6, примерная система 600 предоставляет возможность повсеместно распространенных окружений для цельного восприятия пользователем при работе приложений на персональном компьютере (PC), мобильном устройстве и/или других устройствах. Службы и приложения работают практически аналогично в этих окружениях для общего восприятия пользователем при переходе от одного устройства к следующему во время использования приложения, игры в видеоигру, просмотра видео и т.д.

[0070] В примерной системе 600 множество устройств взаимосвязаны через центральное вычислительное устройство. Центральное вычислительное устройство может быть локальным для множества устройств или может быть расположено удаленно от множества устройств. В одном или более вариантах осуществления центральное вычислительное устройство может быть облаком из одного или более серверных компьютеров, которые соединены с множеством устройств через сеть, Интернет или другую линию передачи данных.

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

[0072] В различных реализациях вычислительное устройство 602 может предполагать множество различных конфигураций, например, для компьютера 616 или мобильных 618 использований. Каждая из этих конфигураций включает в себя устройства, которые могут иметь, в целом, различные конструкции и возможности, и, таким образом, вычислительное устройство 602 может быть сконфигурировано согласно одному или более различным классам устройств. Например, вычислительное устройство 602 может быть реализовано как компьютерный 616 класс для устройства, который включает в себя персональный компьютер, настольный компьютер, многоэкранный компьютер, портативный компьютер, нетбук и т.д. Вычислительное устройство 602 может также быть реализовано как мобильный 618 класс устройства, который включает в себя мобильные устройства, такие как мобильные телефон, переносной музыкальный проигрыватель, переносное игровое устройство, планшетный компьютер, носимое устройство, многоэкранный компьютер и т.д.

[0073] Технические приемы, описанные в данном документе, могут поддерживаться посредством этих различных конфигураций вычислительного устройства 602 и не ограничены конкретными примерами и техническими приемами, описанными в данном документе. Эта функциональность может также быть реализована вся или частично посредством использования распределенной системы, например, в "облаке" 622 через платформу 624, как описано ниже.

[0074] Облако 622 включает в себя и/или представляет платформу 624 для ресурсов 626. Платформа 624 абстрагирует лежащую в основе функциональность аппаратных средств (например, серверов) и ресурсов программного обеспечения облака 622. Ресурсы 626 могут включать в себя приложения и/или данные, которые могут быть использованы, в то время как компьютерная обработка выполняется на серверах, которые являются удаленными от вычислительного устройства 602. Ресурсы 626 могут также включать в себя службы, предоставляемые через Интернет и/или через абонентскую сеть, такую как сотовая или Wi-Fi-сеть.

[0075] Платформа 624 может абстрагировать ресурсы и функции, чтобы соединять вычислительное устройство 602 с другими вычислительными устройствами. Платформа 624 может также служить для того, чтобы абстрагировать масштабирование ресурсов, чтобы обеспечивать соответствующий уровень масштабирования встречающемуся требованию ресурсов 626, которые реализованы через платформу 624. Соответственно, во взаимосвязанном варианте осуществления устройства реализация функциональности, описанной в данном документе, может быть распределена по всей системе 600. Например, функциональность может быть реализована частично на вычислительном устройстве 602, также как через платформу 624, которая абстрагирует функциональность облака 622.

[0076] Хотя предмет изобретения описан на языке, характерном для структурных признаков и/или технологических этапов, следует понимать, что предмет изобретения, заданный в прилагаемой формуле изобретения, не обязательно ограничен характерными признаками или этапами, описанными выше. Вместо этого, характерные признаки и этапы, описанные выше, раскрываются как примерные формы реализации формулы изобретения.

Похожие патенты RU2642348C2

название год авторы номер документа
ОБНАРУЖЕНИЕ СОБЫТИЙ ГЕОЗОНЫ С ПОМОЩЬЮ ИЗМЕНЯЮЩИХСЯ УРОВНЕЙ ДОСТОВЕРНОСТИ 2013
  • Натуччи Мл., Ленни Д.
  • Шнайдер Джанет Л.
  • Индерхиз Марк А.
  • Горгений Фрэнк
  • Харпер Стьюард Дж.
  • Дель Амо Касадо Кристина
  • Гонсалес Фернандо
  • Саха Санджиб
  • Хедрик Шон С.
RU2640027C2
УЛУЧШЕНИЯ ЭФФЕКТИВНОСТИ В ПРИЛОЖЕНИЯХ АДМИНИСТРИРОВАНИЯ ЗАДАЧ 2017
  • Фаулер, Чэд
  • Мэтив, Бенджамин Людмилов
RU2754990C2
ПРЕДОСТАВЛЕНИЕ УВЕДОМЛЕНИЙ НА ОСНОВЕ РЕЗУЛЬТАТОВ ПОИСКА ГЕОФЕНСИНГА 2016
  • Куонг, Расселл
RU2696294C1
ИНТЕГРАЦИЯ РЕКЛАМЫ И РАСШИРЯЕМЫЕ ТЕМЫ ДЛЯ ОПЕРАЦИОННЫХ СИСТЕМ 2007
  • Флэйк Гари В.
  • Гоунарес Александер Дж.
  • Хорвиц Эрик Дж.
  • Гудмэн Джошуа Т.
  • Джаин Камал
  • Ченг Лили
  • Чикеринг Дэвид М.
  • Коннолли Майкл
  • Дани Нишант В.
  • Наджм Тарек
  • Хеммэн Джеффри Р.
  • Смит Леонард
  • Блинн Арнольд Н.
  • Брюэр Бретт Д.
  • Дикен Даррин
RU2473127C2
ОСНОВАННЫЕ НА ШАБЛОНЕ КАЛЕНДАРНЫЕ СОБЫТИЯ С ГРАФИЧЕСКИМ ОБОГАЩЕНИЕМ 2017
  • Кумар, Майкл Дж.
  • Цукахара, Хироси
  • Карвер, Брайан Т.
  • Клинтон, Маргарет Р.
  • Туоми, Элона
  • Вань, Цзян
RU2758040C2
ОПРЕДЕЛЕНИЕ ДЕТАЛЬНОГО МЕСТОПОЛОЖЕНИЯ СЕТЕВЫХ КОМПЬЮТЕРОВ 2011
  • Доннелли Остин
  • Абоба Бернард
  • Кунтц Рой
  • Монтенегро Гэбриел
  • Сингх Ноор-Е-Гаган
  • Мур Тим
RU2578739C2
ОПОСРЕДОВАННЫЙ ДОСТУП К ЭЛЕМЕНТАМ ДАННЫХ ДЛЯ ИЗОЛИРОВАННЫХ ПРИЛОЖЕНИЙ 2011
  • Бим Тайлер К.
  • Радхакришнан Кавитха
  • Карас Бенджамин Дж.
  • Бланч Катрина М.
  • Вонг Лион
  • Ким Аллен Т.
  • Бол Стивен Дж.
  • Лорайселла Дж. Трейси
  • Грэхем Скотт Б.
  • Мишра Манав
RU2602987C2
СЕТЕВОЕ УПРАВЛЕНИЕ ДАННЫМИ В РАСПРЕДЕЛЕННОМ НАБОРЕ УСТРОЙСТВ 2008
  • Моромисато Джордж П.
  • Эдельштейн Ноа В.
  • Параснис Абхай В.
  • Эндрюс Энтони Д.
  • Оззи Рэймонд Е.
  • Девлин Уилльям Д.
  • Сагар Акаш Дж.
RU2481623C2
ПРЕДОСТАВЛЕНИЕ СВОЕВРЕМЕННЫХ РЕКОМЕНДАЦИЙ ОТНОСИТЕЛЬНО МЕДИА 2015
  • Кермс Эндрю
  • Волович Ярослав
  • Озтаскент Ант
  • Шао Цзе
RU2641711C1
ВИЗУАЛИЗАЦИЯ ПОДПИСОК RSS НА КАЛЕНДАРЕ 2009
  • Салливан Эндрю Джон
  • Беллью Элли
RU2527194C2

Иллюстрации к изобретению RU 2 642 348 C2

Реферат патента 2018 года ОБЪЕДИНЕНИЕ СОБЫТИЙ ГЕОЗОНЫ

Изобретение относится к объединению событий геозоны. Технический результат - уменьшение использования энергии и увеличение срока эксплуатации аккумулятора в мобильном вычислительном устройстве. Для этого местоположение вычислительного устройства определяется и местоположение интересующей области, т.е. географической области, называемой геозоной, идентифицируется. Множество геозон может быть идентифицировано посредством устройства, и различные геозоны могут быть ассоциированы с различными программами на устройстве. Операционная система устройства реализует множество различных периодов работы для устройства, включающих в себя период экономии ресурсов, в течение которого некоторые программы типично не планируются для работы, и период выполнения, в течение которого такие программы типично планируются для работы. Система идентифицирует события геозоны, которые происходят, когда устройство входит или выходит из геозоны. Система сохраняет запись событий геозоны для каждой из множества геозон и предоставляет программе выбранные события из таких событий геозоны в момент времени, когда программа планируется для работы на устройстве во время периода выполнения операционной системы. 3 н. и 15 з.п. ф-лы, 6 ил.

Формула изобретения RU 2 642 348 C2

1. Способ объединения событий геозоны, содержащий этапы, на которых:

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

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

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

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

предоставляют программе, после упомянутого ожидания, собранные события геозоны для программы; и

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

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

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

4. Способ по п. 1, в котором сохранение содержит этап, на котором записывают события геозоны для некоторой геозоны независимо от того, работает ли программа, ассоциированная с этой геозоной.

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

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

7. Способ по п. 1, в котором предоставление содержит этап, на котором предоставляют собранные события геозоны программе, объединяя одно или более событий геозоны для множества геозон, ассоциированных с программой.

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

9. Способ по п. 8, в котором упомянутые дополнительные критерии содержат доступность сетевого соединения.

10. Вычислительное устройство, содержащее:

один или более процессоров;

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

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

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

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

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

11. Вычислительное устройство по п. 10, причем программа впоследствии запланирована для работы в следующем периоде выполнения операционной системы.

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

13. Вычислительное устройство по п. 10, дополнительно содержащее удаление из записи событий геозоны некоторого конкретного события геозоны, основываясь на удалении с вычислительного устройства программы, ассоциированной с этой геозоной.

14. Вычислительное устройство по п. 10, при этом запись является записью обнаруженных событий геозоны для геозоны независимо от того, работает ли программа, ассоциированная с этой геозоной.

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

16. Вычислительное устройство по п. 10, при этом указание является указанием одного или более событий геозоны, предоставленных программе посредством объединения одного или более событий геозоны для множества геозон.

17. Вычислительное устройство по п. 10, при этом указание является указанием события геозоны, предоставленного программе, только если один или более дополнительных критериев, ассоциированных с геозоной, удовлетворяются.

18. Способ объединения событий геозоны, содержащий этапы, на которых:

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

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

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

Документы, цитированные в отчете о поиске Патент 2018 года RU2642348C2

Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
МЕЖСИСТЕМНАЯ ПОДВИЖНОСТЬ В РЕЖИМЕ ОЖИДАНИЯ 2008
  • Джаретта Джерардо
  • Цирцис Джордж
  • Ахмаваара Калле И.
RU2448429C2
СПОСОБЫ И УСТРОЙСТВА ДЛЯ ИСПОЛЬЗОВАНИЯ С НАВИГАЦИОННОЙ РАДИОСТАНЦИЕЙ С ВОЗМОЖНОСТЬЮ ПЕРЕКЛЮЧЕНИЯ РЕЖИМА 2009
  • Фармер Доминик Джерард
  • У Цзе
  • Дайта Лалитапрасад В.
  • Ровитч Дуглас Нил
  • Райли Уайатт Томас
RU2478987C2

RU 2 642 348 C2

Авторы

Горгений, Фрэнк

Эстрада Альва, Дэниэл

Гонсалес, Фернандо

Саха, Санджиб

Даты

2018-01-24Публикация

2013-09-19Подача