СИСТЕМА И СПОСОБ ДЛЯ ПАССИВНЫХ ПЛАТЕЖЕЙ НА ОСНОВЕ ОПРЕДЕЛЕНИЯ МЕСТОПОЛОЖЕНИЯ
PASSIVE PAYMENTS SYSTEM AND METHOD BASED ON LOCATION DETERMINATION

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001] Настоящая заявка испрашивает приоритет предварительной заявки США № 62/247,997, поданной 29 октября 2015, которая включена в настоящий документ посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ
[0002] Варианты осуществления настоящего изобретения относятся, в общем, к онлайн-покупкам и, в частности, к пассивным платежам на основе определения местоположения.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0003] Большинство форм традиционной перевозки по билетам предусматривает использование пользовательского ввода для покупки билета. Клиенты на поездах и железнодорожном транспорте облегченного типа полагаются на приобретение долгосрочных билетов, онлайн-продажи через мобильные приложения или веб-сайты или приобретение физических билетов в киосках и билетных кассах на железнодорожных вокзалах и у проводников на транспортном средстве. Каждая из этих покупок билетов требует ввода от клиента. Этот ввод может быть речью (в билетных кассах) или через программный интерфейс. Для этого требуется ввод того, откуда клиент уезжает, куда он отправляется, какой поезд ему нужен, и каким классом ему желательно ехать. Пользовательский ввод, необходимый для поездки, требует затрат времени пассажира и может вызвать неудобства, когда ввод должен происходить в определенное время или в определенном месте. В некоторых случаях, пользователи могут быть оштрафованы за неоплату билета, если пользователь не может, из-за технических сбоев или ограничений по времени, предоставить правильные данные ввода для поездки, чтобы купить билет.
[0004] Приобретение билета обычно может являться пустой тратой времени и ресурсов. Например, покупка билета для посещения фильма требует стояния в очереди или заполнения информации онлайн. Кроме того, ресурсы затрачиваются впустую, когда нужно распечатать билет для входа в кинотеатр. В качестве другого примера, при парковке автомобиля в гаражном помещении, часто требуется получать талон и подходить к киоску, чтобы оплатить талон. Впустую расходуется как время, так и бумага, с точки зрения времени пользователя и печати билета.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
[0005] В настоящем документе описаны системы и способы для пассивной обработки платежа за действие, которая с выгодой использует данные местоположения пользователя, участвующего в действии. В некоторых вариантах осуществления, вычислительное устройство принимает пользовательские данные, причем пользовательские данные включают в себя множество точек местоположения пользователя, и время, связанное с каждой из множества точек местоположения пользователя, определяет действие, связанное с пользователем, на основе пользовательских данных, причем действие связано по меньшей мере с одним из транспортировки и посещения места проведения мероприятия, идентифицирует случай действия и обрабатывает сумму платежа для пользователя на основе случая действия.
[0006] В некоторых вариантах осуществления, определение действия включает в себя извлечение метаданных из пользовательских данных для каждой точки местоположения, помечание метаданных информацией, соответствующей действию, чтобы сформировать совокупность признаков, описывающих метаданные, и связывание информации о действии каждой из точек местоположения на основе совокупности признаков, описывающих метаданные. В некоторых вариантах осуществления, определение случая действия включает в себя сравнение пользовательских данных по меньшей мере с одной из информации о местоположении, связанной со случаем действия, и информации о времени, связанной со случаем действия.
[0007] В некоторых вариантах осуществления, системы и способы, описанные здесь, включают в себя вычислительное устройство для приема по меньшей мере одной из информации о местоположении и информации о времени, связанной со случаем действия, из базы данных, внешней по отношению к вычислительному устройству. В некоторых вариантах осуществления, вычислительное устройство определяет, на основе множества точек местоположения, по меньшей мере одно из времени начала действия, времени окончания, связанного с действием, и продолжительности действия. В некоторых вариантах осуществления, действие дополнительно связано по меньшей мере с одним из просмотра фильма, присутствия на концерте, парковки в гаражном помещении, поездки по меньшей мере на одном из поезда, автобуса и парома и проезда через контрольный пост платы за проезд. В некоторых вариантах осуществления, случай действия представляет по меньшей мере одно из одного кинотеатра из множества кинотеатров, связанного с пользователем, смотрящим фильм, одного места проведения концерта из множества мест проведения концертов, связанного с пользователем, присутствующим на концерте, одного гаража из множества гаражных помещений, связанного с пользователем, паркующим автомобиль, одного поезда из множества поездов, связанного с пользователем, едущим в поезде, одного автобуса из множества автобусов, связанного с пользователем, едущим на автобусе, одного парома из множества паромов, связанного с пользователем, едущим на пароме, и одного контрольного поста оплаты за проезд из множества местоположений контрольных постов оплаты за проезд, связанного с пользователем, проезжающим через контрольный пост оплаты за проезд.
[0008] В некоторых вариантах осуществления, сумма платежа больше нуля, когда действие связано со стоимостью участия в действии. В некоторых вариантах осуществления, системы и способы включают в себя вычислительное устройство, которое передает информацию, связанную с платежом, в пользовательское устройство, связанное с пользователем.
[0009] Эти и другие функциональные возможности раскрытого предмета станут более понятными после рассмотрения приложенных чертежей, подробного описания и формулы изобретения. Следует понимать, что фразеология и терминология, используемые здесь, предназначены для целей описания и не должны рассматриваться как ограничивающие.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0010] Различные цели, признаки и преимущества раскрытого предмета могут быть более полно оценены со ссылкой на следующее подробное описание раскрытого предмета при его рассмотрении во взаимосвязи с приложенными чертежами, на которых одинаковые ссылочные позиции идентифицируют одинаковые элементы.
[0011] Фиг. 1 - схема, показывающая традиционный способ приобретения билета на поезд.
[0012] Фиг. 2 - схема, показывающая общий вид процесса пассивных платежей за билет на поезд в соответствии с некоторыми вариантами осуществления.
[0013] Фиг. 3 - системная схема, показывающая сетевую систему в соответствии с некоторыми вариантами осуществления настоящего раскрытия.
[0014] Фиг. 4 - системная схема пользовательского устройства в соответствии с некоторыми вариантами осуществления настоящего раскрытия.
[0015] Фиг. 5 - системная схема, показывающая сервер 306 в соответствии с некоторыми вариантами осуществления настоящего раскрытия.
[0016] Фиг. 6 - системная схема, показывающая модуль 530 предсказания действия в соответствии с некоторыми вариантами осуществления настоящего раскрытия.
[0017] Фиг. 7 - диаграмма, показывающая информацию немаркированного местоположения, принятую сервером от пользовательского устройства в соответствии с некоторыми вариантами осуществления настоящего раскрытия.
[0018] Фиг. 8 - диаграмма, показывающая часть обработки в модуле 530 предсказания действия, включающем в себя модуль 601 метаданных в соответствии с некоторыми вариантами осуществления настоящего раскрытия.
[0019] Фиг. 9 - схема, показывающая модуль 602 предсказания в соответствии с некоторыми вариантами осуществления настоящего раскрытия.
[0020] Фиг. 10 - схема, показывающая вывод 905 предсказания в соответствии с некоторыми вариантами осуществления настоящего раскрытия.
[0021] Фиг. 11 - блок-схема последовательности операций, показывающая процесс обнаружения случая действия, как реализуется модулем 502 обнаружения случая действия, в соответствии с некоторыми вариантами осуществления настоящего раскрытия.
[0022] Фиг. 12 - диаграмма, показывающая процесс определения начального и конечного местоположения действия в соответствии с некоторыми вариантами осуществления настоящего раскрытия.
[0023] Фиг. 13 - диаграмма, показывающая процесс оценки возможных поездок на основе действия в соответствии с некоторыми вариантами осуществления настоящего раскрытия.
[0024] Фиг. 14 - блок-схема последовательности операций, показывающая процесс пассивных платежей в соответствии с некоторыми вариантами осуществления настоящего раскрытия.
ПОДРОБНОЕ ОПИСАНИЕ
[0025] Здесь раскрыты системы и способы для использования отслеживания местоположения на мобильных устройствах, чтобы понимать, когда пользователь садится в поезд и способен понять, на каком поезде он находится и какой билет ему нужен. Билет затем приобретается для пользователя без необходимости ввода данных от пользователя на устройстве, что позволяет ему продолжать свое путешествие без перерыва.
[0026] В некоторых вариантах осуществления настоящего раскрытия, системы и способы, описанные здесь для пассивного платежа, применимы ко всему общественному транспорту, включая, но без ограничения указанным, поезда, трамваи, автобусы, такси, паромы, метро и самолеты. Описанные здесь системы и способы также применимы к событиям, включая, но без ограничения указанным, театр, фильмы и спортивные мероприятия.
[0027] Примеры транспортировки включают поездку на поезде, автобусе, автомобиле, пароме, самолете, велосипеде и автономном транспортном средстве. В некоторых вариантах осуществления, алгоритм обнаружения вида транспорта идентифицирует используемое транспортное средство, соединяется с расписанием транспортного средства и вычисляет поездку пользователя с использованием этого вида транспорта. API может подключаться к платежной системе, чтобы обрабатывать покупку билета для поездки.
[0028] Примеры места проведения мероприятий включают концертные залы, спортивные мероприятия, кинотеатры, фитнес-центры и гаражные помещения. В этих случаях использования, алгоритм обнаружения, в некоторых вариантах осуществления, обнаруживает, находится ли человек в конкретном местоположении в течение некоторого периода времени. Затем API могут подключаться к билетной платформе места проведения мероприятия.
[0029] В некоторых вариантах осуществления, системы и способы, описанные здесь, могут использоваться для шлагбаумов (застав), где взимается сбор за проезд. В случае заставы, где взимается сбор за проезд, вид транспорта может быть объединен с конкретным сегментом дороги, по которому проезжает пользователь, и транспортное средство или водитель транспортного средства могут подключаться к API системы оплаты дорожного сбора, чтобы выполнить оплату сбора. Эта технология может выполняться в интеллектуальном (смарт-) устройстве водителя, но также может быть установлена в самом автомобиле, если автомобиль оснащен системой GPS и средствами связи.
[0030] Фиг. 1 является диаграммой, показывающей традиционный способ покупки билета на поезд.
[0031] Фиг. 1 показывает пользователя, покупающего билет у обслуживающего персонала 100, пользователя, покупающего билет на автомате 101 по продаже билетов, пользователя, покупающего билет с мобильного устройства 102, пользователя, покупающего билет с компьютера 103, и пользователя, покупающего билет от агента по продаже билетов в поезде 104. Как описано выше, каждый из этих способов покупки билета имеет свои недостатки. Например, пользователь должен выделять дополнительное время в своем расписании с учетом времени, связанного с ожиданием в очереди при покупке билета от обслуживающего персонала 100 или на автомате 101 по продаже билетов. Покупка билета через устройство, подключенное к Интернету (например, 102, 103) требует, чтобы пользователь вводил информацию о комбинации начального пункта назначения, конечного пункта назначения, времени поездки и информации о платеже. Приобретение билета у служащего в поезде 104 может потребовать, чтобы пользователь имел бумажную валюту. Результатом приобретения билета у служащего в поезде также может быть повышение тарифов из-за структуры ценообразования или штрафов, связанных с покупкой билетов в поезде.
[0032] Фиг. 2 является диаграммой, показывающей общий вид процесса пассивных платежей за билет на поезд, согласно некоторым вариантам осуществления.
[0033] Со ссылкой на этап 200, пользователь садится в поезд в исходном пункте назначения. Как описано более подробно ниже, чтобы использовать некоторые из описанных здесь систем и способов, пользователь имеет мобильное устройство, способное соединяться с другими устройствами или серверами, а также передавать и принимать информацию в/от других устройств или серверов (например, через сеть). В некоторых вариантах осуществления, мобильное устройство также имеет функциональную возможность отслеживания местоположения (например, GPS, Wifi, ID соты, Bluetooth). Как описано более подробно ниже, мобильное устройство может также хостировать приложение, которое записывает информацию о местоположении и передает информацию на сервер.
[0034] Со ссылкой на этап 202, пользователь едет в поезде от начального пункта назначения до конечного пункта назначения. Как отмечено выше, мобильное устройство может хостировать приложение, которое записывает информацию о местоположении пользователя и передает информацию на сервер. Определение и запись местоположения пользователя могут быть выполнены без какого-либо взаимодействия с пользователем. В некоторых вариантах осуществления, билет покупается для пользователя на основе информации о местоположении.
[0035] Со ссылкой на этап 204, пользователь высаживается из поезда. В некоторых вариантах осуществления, пользователь уведомляется после высадки из поезда, что билет был куплен. В некоторых вариантах осуществления, уведомление о покупке может быть сообщено пользователю, пока пользователь еще находится в поезде. В любом случае, пользователь совершил поездку и купил билет для поездки без необходимости ждать в очереди или тратить время на покупку билета.
[0036] Фиг. 3 является системной схемой, показывающей сетевую систему в соответствии с некоторыми вариантами осуществления настоящего раскрытия. Фиг. 3 показывает пользовательское устройство 302, сеть 304 и сервер 306.
[0037] Как описано выше, пользовательское устройство 302 может быть связано с пользователем, участвующим в пассивных системах и способах продажи билетов, описанных здесь, и может собирать информацию от пользователей, участвующих в сетевой системе. В некоторых вариантах осуществления, пользовательское устройство 302 может включать в себя любое компьютеризованное устройство, способное записывать и передавать информацию о близости пользователя другому пользователю или местоположению. В некоторых вариантах осуществления, компьютеризованное устройство может включать смартфон, планшет, компьютер, ноутбук, автомобиль или смарт-часы, которые могут быть установлены с мобильным приложением, которое облегчает сбор данных. Как описано более подробно ниже в тексте, относящемся к фиг. 4, пользовательское устройство может включать в себя модуль сбора данных и модуль уведомления.
[0038] В некоторых вариантах осуществления, пользовательское устройство 302 может включать в себя агенты сбора данных на транспортном средстве, такие как автоматические бортовые диагностические модули, телеметрические и телематические модули, транспондеры, бортовые GPS-модули и другие системы, которые собирают соответственные данные.
[0039] В некоторых вариантах осуществления, пользовательское устройство 302 может включать в себя потребительские носимые устройства или фитнес-мониторы, такие как устройства Jawbone Up, Fitbit Charge или Apple Watch.
[0040] В некоторых вариантах осуществления, данные могут передаваться непосредственно от пользовательского устройства 302 в сеть 304 (например, в случае мобильного приложения) или могут быть собраны посредством промежуточного этапа. Например, в случае системы телеметрии транспортного средства, промежуточный модуль может использоваться для сбора информации от бортового устройства и передачи ее по беспроводной линии связи на смартфон, где она затем может быть передана в сеть 304.
[0041] В некоторых вариантах осуществления, мобильное приложение может быть установлено на вычислительном устройстве смартфона пользователя и может предоставлять пользователю возможность подписки (opt-in) на различные механизмы сбора данных. Например, пользователь может разрешить системе, описанной здесь, через мобильное приложение, собирать контакты пользователя, друзей Facebook, друзей Instagram, данные о местоположении во времени и платежи, выполненные с использованием вычислительного устройства смартфона, телефона и шаблонов передачи сообщений.
[0042] В некоторых вариантах осуществления, пользовательское устройство 302 может принимать форму приложения или апплетов, которые предоставляются с различными подключенными устройствами. Например, приложение, встроенное в DVR, может передавать данные о наблюдаемых привычках и предпочтениях, в то время как программное обеспечение, встроенное в навигационную систему автомобиля, может передавать данные, касающиеся шаблонов положения и движения.
[0043] Специалистам в данной области техники будет понятно, что нет ограничений на тип и разнообразие пользовательских устройств, которые могут быть использованы с системами, описанными в настоящем раскрытии.
[0044] Сеть 304 обеспечивает связь между пользовательским устройством 302. Сеть 304 может быть общедоступной сетью, такой как Интернет, причем каждое из пользовательского устройства 302 и сервера 304 соединено через шлюз с использованием протоколов связи, таких как Wi-Fi, Ethernet и 4G wireless. В качестве альтернативы, сеть 304 может быть замкнутой сетью, такой как локальная сеть (LAN), с различными компонентами системы анализа взаимосвязей, недоступной в открытом Интернете. В некоторых вариантах осуществления, связь через сеть 304 может быть зашифрована или могут использоваться дополнительные протоколы безопасности, такие как виртуальная частная сеть (VPN) или туннелирование оболочки защищенных сокетов (SSH).
[0045] Сервер 306 может включать в себя один или несколько серверных компьютеров, реализующих базу данных для хранения собранных данных о пользователе. Как описано более подробно ниже в тексте, относящемся к фиг. 5, сервер 306 также может включать в себя модуль обнаружения действия, модуль сопоставления случая (действия) и модуль биллинга для обработки информации о местоположении пользователя и, соответственно, выставления счетов пользователю. В некоторых вариантах осуществления, конкретная конфигурация сервера 306 может зависеть от ряда факторов, таких как тип базы данных, ожидаемый размер базы данных и ожидания активности пользователей. В некоторых вариантах осуществления, система является масштабируемой, и при необходимости могут быть добавлены дополнительные функциональные возможности обработки. В некоторых вариантах осуществления, система может быть самим пользовательским устройством 302, и одна или несколько сетей 304 и сервер 306 не требуются.
[0046] Фиг. 4 является системной схемой пользовательского устройства в соответствии с некоторыми вариантами осуществления настоящего раскрытия. Пользовательское устройство 302 включает в себя модуль 410 датчика, модуль 412 предварительной обработки, базу 414 данных пользовательского устройства, модуль 416 уведомления, модуль 418 связи.
[0047] Модуль 410 датчика может включать в себя один или несколько датчиков, которые включают в себя GPS, Wifi, ID соты, Bluetooth, барометр, акселерометр, гироскоп и датчик магнитного поля. В некоторых вариантах осуществления, модуль 410 датчика может периодически определять измерения датчика, инициируемые несколькими различными условиями, включая время, пройденное расстояние и близость к представляющим интерес точкам. Эти измерения могут включать в себя местоположение и время устройства, а также могут включать в себя барометрическое давление, ускорение, магнитные поля и ориентацию устройства.
[0048] Модуль 412 предварительной обработки может принимать данные датчика от модуля датчика и предварительно обрабатывать данные до сохранения данных локально или отправки данных по сети. Например, в некоторых вариантах осуществления, модуль 412 предварительной обработки может использоваться для обработки данных с датчиков устройства, которые имеют большой объем для передачи по сети (например, данные акселерометра) или которые могут быть легко обработаны на устройстве.
[0049] База 414 данных пользовательского устройства может принимать и хранить данные от модуля 410 датчика или модуля 412 предварительной обработки. Например, в некоторых вариантах осуществления, пользовательское устройство 200 может кэшировать данные локально для сбережения ресурса батареи или ввиду плохого сетевого соединения.
[0050] Модуль 416 уведомления может предоставлять обновления и предупреждения пользователю на основе действия, связанного с системами и способами, описанными здесь. Например, уведомление может быть отображено (например, на дисплее мобильного устройства) или иным образом передано (например, посредством аудио или вибрации) пользователю через мобильное устройство 200, предупреждая пользователя о завершении его поездки и уведомляя его о том, что с пользователя была взята плата.
[0051] Модуль 418 связи передает и принимает данные в/от мобильного устройства 302. Например, модуль 418 связи может передавать пользовательские данные на сервер 306 для дальнейшей обработки. Модуль 418 связи также может принимать сообщения от сервера (например, указывающие, что платеж был обработан).
[0052] Как описано более подробно ниже, в некоторых вариантах осуществления, модули и связанная функциональность, показанные на фиг. 5 и описанные в тексте, относящемся к фиг. 5, могут быть размещены в пользовательском устройстве 302.
[0053] На фиг. 5 изображена системная схема, показывающая сервер 306, в соответствии с некоторыми вариантами осуществления настоящего раскрытия. Сервер 306 включает в себя серверный кэш 520, модуль 501 извлечения, модуль 502 обнаружения случая (действия) и модуль 503 выставления счета на оплату. Модуль 501 извлечения включает в себя модуль 530 предсказания действия и базу 532 данных истории пользователя. Модуль корреляции включает в себя модуль 640 сопоставления с расписанием и базу 542 данных сопоставления с расписанием.
[0054] Серверный кэш 520 хранит данные, принятые от пользовательского устройства 302 через сеть 304. В некоторых вариантах осуществления, серверный кэш 520 используется для хранения данных до тех пор, пока не будет накоплено достаточное количество данных для обеспечения точной оценки действий пользователя. В некоторых вариантах осуществления, данные, принятые от пользовательского устройства 302, обрабатываются немедленно, чтобы обеспечить непрерывную оценку действий пользователя. Одним примером использования непрерывного сопоставления являются приложения путешествий, в которых множество точек данных о местоположении пользователя могут информировать о типе путешествия. Примером использования серверного кэша 520 для хранения данных является приложение транзакций, например, покупка билетов в кино или на мероприятие, или покупка талона для гаражного помещения, где точное предсказание возникновения и местоположения события с использованием исторических данных является более важным, чем обработка множества точек данных пользователя в течение текущего периода времени.
[0055] Модуль 501 извлечения принимает данные из комбинации серверного кэша 520 и непосредственно от пользовательского устройства 302 через сеть 304. Модуль 501 извлечения извлекает соответственные части потока данных для конкретного сопоставления с расписанием. В примере поездки на поезде, это может включать в себя определение того, когда начинается и закачивается поездка на поезде, и передачу точек местоположения в пределах этого диапазона на модуль 530 предсказания действия. Этот модуль также может обнаруживать возникновение необходимых событий для сопоставления в модуле 502. Например, для случая использования гаражного помещения, модуль 530 предсказания действия может обнаружить, когда пользователь оставил свой автомобиль в гаражном помещении. Для случая использования места проведения концерта, модуль 530 предсказания действия может обнаружить, что пользователь посетил место проведения мероприятия, и возвратить моменты времени, между которыми происходило это посещение. Как описано более подробно ниже в тексте, относящемся к фиг. 6-9, модуль 530 предсказания действия обрабатывает пользовательские данные для извлечения информации о действии, сохраняет информацию о действии в базе 532 данных истории пользователя и предсказывает действие пользователя на основе информации пользователя в серверном кэше 520 и базе данных 532 истории пользователя. База 538 данных истории пользователя используется для хранения прошлых действий пользователя, так что модуль предсказания действия может обучаться на прошлых действиях пользователя при помечании последующих действий. Например, в примере с продажей билетов на поезд, когда модуль 501 извлечения извлекает поездки на поезде из потока точек местоположения, может быть полезным знать, что пользователь обычно добирается до работы поездом каждое утро. В примере действия, основанного на событии, может быть полезным знать, что пользователь никогда не паркуется на улице вблизи гаражного помещения, поэтому точность предсказания того, что пользователь припарковал свой автомобиль в гаражном помещении, выше. В некоторых вариантах осуществления, действие может быть любым действием, выполняемым в течение определенного периода времени, например, при парковке автомобиля, поездке на поезде, посещении мероприятия. В некоторых вариантах осуществления, модуль 501 извлечения принимает информацию о действии, связанную с пользовательским устройством 302, до приема данных точки местоположения от пользовательского устройства 302. Например, пользовательское устройство 302 может подписаться на услугу, привязанную к конкретному действию (например, услугу приобретения билетов на поезд, услугу приобретения билетов в кино). В некоторых вариантах осуществления, модуль 501 извлечения определяет действие, связанное с пользователем, на основе принятых пользовательских данных.
[0056] Модуль 502 обнаружения случая (действия) принимает соответственные части извлеченных данных из модуля 501 извлечения и сопоставляет извлеченные данные с конкретным действием или расписанием с использованием модуля 502 обнаружения случая действия, как более подробно описано ниже в тексте, относящемся к фиг. 9-11. Например, если действием является поездка на поезде, модуль 502 обнаружения случая действия будет сопоставлять извлеченные данные с конкретным расписанием поездов. В случае места проведения концерта, модуль 502 обнаружения случая действия может идентифицировать конкретное событие, происходящее во время посещения пользователем этого места. Модуль 502 обнаружения случая действия также сохраняет прошлые действия пользователя в базе 542 данных сопоставления с расписанием и вводит архивные данные расписания в свои предсказания. Используя пример с жителем пригорода, ежедневно добирающимся до работы на поезде: если система имеет архивные данные, указывающие, что пользователь всегда садится на поезд в 7:30, чтобы доехать до работы, система может на этой основе сделать прогноз для дня с редкими или некачественными данными. Используя пример пользователя, отправляющегося в фитнес-центр каждый понедельник и четверг утром, модуль 502 обнаружения случая действия может ограничить объем данных, необходимых для идентификации этих событий. Как описано более подробно ниже в тексте, относящемся к фиг. 11, модуль 502 обнаружения случая действия может просматривать, например, в приложении транспорта, соответствующую транспортную сеть и точно определять, какая поездка была предпринята (например, поезд номер X от станции A до станции B во время T).
[0057] Модуль 503 выставления счета на оплату выставляет пользователю счет на оплату за обслуживание. Как только действие или расписание были успешно обнаружены, система может автоматически выставить счет пользователю. Как описано выше, в некоторых вариантах осуществления, указание выполненной оплаты отправляется на пользовательское устройство 302 по сети 304.
[0058] Модуль 503 выставления счета на оплату выставляет пользователю счет на оплату за обслуживание. Как только действие или расписание были успешно обнаружены, система может автоматически выставить счет пользователю. Как описано выше, в некоторых вариантах осуществления, указание выполненной оплаты отправляется на пользовательское устройство 302 по сети 304.
[0059] В некоторых вариантах осуществления, модули и связанная функциональность, показанные на фиг. 5 и описанные в тексте, относящемся к фиг. 5, могут находиться в пользовательском устройстве 302.
[0060] На фиг. 6 изображена системная схема, показывающая модуль 530 предсказания действия в соответствии с некоторыми вариантами осуществления настоящего раскрытия. Модуль 530 предсказания действия включает в себя внешнее хранилище 600 данных, модуль 601 метаданных и модуль 602 предсказания.
[0061] Модуль 601 метаданных принимает данные из серверного кэша 520 и внешнего хранилища 600 данных. Модуль 601 метаданных вычисляет метаданные или признаки (термин, используемый в моделях машинного обучения) на основе принятых данных. Для генерации метаданных, модуль 601 метаданных может принимать метки или параметры из внешнего хранилища 600 данных. Например, внешнее хранилище 600 данных может представлять транспортные/железнодорожные линии от провайдеров географической информационной системы (GIS), таких как Google или OpenStreetMap, или информацию о месте проведения мероприятия. Используя пример точек-меток, соответствующих поездам, метаданные, извлеченные модулем 601 метаданных, могут включать в себя: скорость пользователя в определенной точке времени-местоположения, расстояние каждой точки времени-местоположения до ближайшего железнодорожного пути, расстояние до ближайшей железнодорожной станции и расстояние до ближайшего участка шоссе. В примерах точек-меток в отношении кинопросмотров, метаданные, извлеченные модулем 601, могут включать в себя наличие Wifi-роутеров в пределах диапазона, ID соты, наличие других устройств Bluetooth вокруг пользователя в течение периода времени просмотра фильма и действие акселерометра. В таких случаях, когда действие основано на событии или месте проведения мероприятия, используемые внешние хранилища данных могут включать информацию о местах проведения мероприятий, такую как гео-пространственные координаты, часы работы или расписание (в случае события), категория (или тип) места проведения мероприятия. В примере гаражного помещения, это может включать в себя режим перемещения до и после посещения гаража (указывающий, что пользователь поехал в гараж и шел пешком из него). Это может также включать барометрическое давление (указывающее, что пользователь поехал по пандусам гаража, и на каком уровне пользователь припарковался).
[0062] Модуль 602 предсказания использует модель машинного обучения, которая, как более подробно описано ниже в тексте, относящемся к фиг. 7-9, создает предсказание на основе метаданных, сгенерированных модулем 601 метаданных, и данных из базы 532 данных истории пользователя. Информация предсказания, которая выводится из модуля 602 предсказания, также вводится в базу 532 данных истории пользователя в качестве исторических данных, которые используются в будущих прогнозах. Например, в случае, когда действие связано с видом транспорта, оно может идентифицировать пользователя, едущего на автомобиле из дома на вокзал, с последующей ежедневной поездкой на поезде до ближайшего города, где пользователь работает, и путем, пройденным пешком от железнодорожной станции до работы. Этот пример может привести к пассивной оплате как поездки на поезде, так и парковки автомобиля на платном парковочном месте.
[0063] На фиг. 7 представлена диаграмма, показывающая информацию немаркированных местоположений, полученную сервером от пользовательского устройства, в соответствии с некоторыми вариантами осуществления настоящего раскрытия. На фиг. 7 показаны данные, принятые от мобильного устройства 700, и немаркированные точки 702 местоположения.
[0064] В некоторых вариантах осуществления, данные, принятые от пользовательского устройства 700, включают в себя информацию местоположения, которая является немаркированной. Как описано выше, данные, принятые от пользовательского устройства, могут быть приняты непосредственно модулем 501 извлечения или сохранены сначала в серверном кэше 520. Используя пример извлечения расписания поездов из данных мобильного телефона, некоторые из немаркированных точек 702 могут соответствовать поездке на поезде, а некоторые немаркированные точки 702 могут соответствовать пешему маршруту. Чтобы успешно сопоставить пользователя с конкретным расписанием, немаркированные точки местоположения могут быть помечены корректным видом транспорта. Часто эти точки нерегулярно позиционированы во времени и пространстве. Немаркированные точки 702 также могут содержать ошибки, которые могут смещать точки на расстояние до нескольких сотен метров от места нахождения пользователя.
[0065] Фиг. 8 является схемой, показывающей часть обработки в модуле 530 предсказания действия, включающем в себя модуль 601 метаданных, в соответствии с некоторыми вариантами осуществления настоящего раскрытия. На фиг. 8 показана совокупность признаков 800 и агрегированный набор 801 признаков.
[0066] Как описано выше, модуль 601 метаданных комбинирует данные, принятые от мобильного устройства 700, которые могут включать в себя данные, принимаемые непосредственно от мобильных устройств через сеть или из серверного кэша 520, и из внешнего хранилища 600 данных. Это комбинирование данных происходит для каждой точки, для которой приняты данные. Данные комбинируются для генерации метаданных (признаков). Совокупность признаков в каждой точке обозначена рамкой 800. Они могут включать в себя вычисленные величины, такие как расстояние от точки местоположения до различных элементов, представляющих интерес, например расстояние до ближайшего шоссе или железной дороги, независимо от того, находится ли точка местоположения на суше или в воде, скорость, возвращенная устройством или вычисленная из времени и местоположения соседних точек местоположения. Каждые из совокупности признаков 800 связаны с точкой и упорядочены по времени. Набор из совокупности признаков 800 группируется для формирования агрегированного набора признаков 801. Агрегирование выполняется между разделителями, которые могут быть любым событием, которое позволяет провести четкое различие между двумя последовательностями действий. Например, если пользователь регистрирует длительный период пребывания дома, за которым следуют несколько точек местоположения и время пребывания на рабочем месте, указанные пребывания могут быть разделителями, а точки местоположения между ними могут быть агрегированы в последовательность. Эти разделители могут быть выбраны на основе приложения. Используя пример посещения музыкального концерта, соответственный разделитель может быть временем, когда пользователь находится на определенном расстоянии от места проведения мероприятия. В примере гаражного помещения, разделитель может быть основан на времени, и система может анализировать поведение пользователя в течение определенного временного окна, окружающего его посещение гаражного помещения.
[0067] Фиг. 9 является схемой, показывающей модуль 602 предсказания, в соответствии с некоторыми вариантами осуществления настоящего раскрытия. Модуль 602 предсказания включает в себя модуль 902 очистки данных, модуль 903 помечания действия, модуль 904 коррекции и предсказание 905.
[0068] Модуль 902 очистки данных принимает агрегированный набор признаков 801, который был описан в тексте, относящемся к фиг. 8. Модуль 902 очистки данных очищает принятые данные, фильтрует или корректирует любые побочные данные, вызванные неточностями устройства. Например, точность определения местоположения может ухудшаться, когда устройство не может выполнить GPS-измерение. Кроме того, устройство может выполнять измерения местоположения путем сканирования доступных сетей WiFi. Это предполагает, что сети WiFi являются стационарными, что может не иметь места (например, WiFi в поезде или в автобусе). Другой распространенный артефакт возникает, когда GPS-измерение становится неточным из-за отражения сигнала от высоких зданий. Очистка данных может быть выполнена множеством различных алгоритмов, таких как кластеризация или фильтры среднего медианного отклонения.
[0069] Модуль 903 помечания действия принимает очищенные данные из модуля 902 очистки данных и помечает очищенные данные информацией, соответствующей действию. Например, в случае покупки билетов на поезд, модуль 903 помечания действия маркирует режимы транзита. Модуль 903 помечания действия включает в себя алгоритм машинного обучения, который обучается на последовательностях данных, которые были маркированы точными видами транспорта (известных как ʺистинные данныеʺ) и могут точно помечать данные действиями, учитывая признаки, сгенерированные на этапе 601. Поскольку алгоритм машинного обучения, используемый модулем 903 помечания действия, является алгоритмом помечания последовательности, алгоритм устойчив к неточным входным данным. Используя поезда в качестве примера, короткая последовательность поезд -> поезд -> пеший маршрут -> поезд -> поезд является маловероятной последовательностью. Гораздо более вероятно, что точка пешего маршрута в середине является ложной, и последовательность состоит только из точек местоположения на поезде. Алгоритм помечания последовательности способен компенсировать эти случаи. Эта модель помечания последовательности также может выводить свою доверительную вероятность для выбранных меток, а также альтернативные метки. Например, в приведенной выше последовательности поезда/пешего маршрута, каждый элемент может представлять собой ансамбль вероятностей или доверия, такой как (поезд: 90%, ходьба 8%, автомобиль 2%) или (ходьба 50%, поезд 48%, автомобиль 2%), в результате получается метка, назначенная на основе некоторого критерия, такого как метка с наибольшей вероятностью.
[0070] Модуль 904 коррекции принимает помеченные данные из модуля 903 помечания действия и принимает данные истории пользователя из базы 532 данных истории пользователя. На основе данных истории пользователя, доверительных вероятностей, связанных с метками, и наличия альтернативных меток, модуль 904 коррекции может выбрать коррекцию помеченных данных. Пример коррекции помеченных данных включает в себя случай, когда поезд останавливается на станции. В этом сценарии, низкая измеренная скорость может привести к тому, что модель помечает точки местоположения пользователя во время остановки как ʺходьбуʺ. Контекст позволяет модулю 904 корректировать метку, поскольку пользователь все еще находится в поезде, и метка поезда более уместна. Точно так же, если пользователь, смотрящий фильм, ненадолго выходит, чтобы использовать туалетную комнату, а затем возвращается, модель не должна приходить к заключению, что пользователь пошел посмотреть два коротких фильма и отправился на прогулку между ними, а должен делаться вывод, что пользователь смотрел один фильм нормальной длины. После того как помеченные данные обработаны модулем 904 коррекции, данные предсказания выводятся, 905. Данные предсказания включают в себя метку, описывающую каждую точку данных, как более подробно изложено ниже в описании, относящемся к фиг. 10.
[0071] На фиг. 10 представлена схема, показывающая вывод 905 предсказания в соответствии с некоторыми вариантами осуществления настоящего раскрытия. На фиг. 10 показана точка 1002 местоположения ходьбы и точка 1004 местоположения поезда.
[0072] Возвращаясь к фиг. 7, данные, принятые от мобильного устройства 700, включали точки на карте, которые все были обозначены как немаркированные точки 702. После обработки принятых данных 700 с использованием модуля 530 предсказания действия, выведенные данные 905 предсказания включают в себя точки на карте, которые все маркированы как точки 1002 местоположения ходьбы или точки 1004 местоположения поезда. Точка 1002 местоположения ходьбы относится к данным местоположения, измеренным, когда пользователь идет пешком, а точка 1004 местоположения поезда относится к данным местоположения, измеренным, когда пользователь ехал на поезде.
[0073] Фиг. 11 является блок-схемой, показывающей процесс обнаружения случая действия, как реализовано модулем 502 обнаружения случая действия, в соответствии с некоторыми вариантами осуществления настоящего раскрытия. В некоторых вариантах осуществления, модуль 502 обнаружения случая действия может просматривать, например, в приложении транспорта, соответствующую транспортную сеть и точно определять, какая поездка была предпринята (например, поезд номер X от станции A до станции B во время T).
[0074] Со ссылкой на этап 1100, модуль 502 обнаружения случая действия идентифицирует границы заданного действия. Например, действие может включать в себя поездку, посещение мероприятия или парковку. Границы для каждого из этих действий могут включать начало и конец действия; например, для поездки на поезде началом будет железнодорожная станция, на которой пользователь сел на поезд, и концом, - где пользователь высадился. Модуль 502 обнаружения случая действия может использовать данные местоположения действия, но улучшает их за счет своего понимания базовой транспортной сети и фильтрует известные артефакты. Известные артефакты включают местоположения, которые не представляют точное местоположение пользователя (слабый/отсутствующий сигнал, кэш устройства обнаруживает ошибочные местоположения, сигналы GPS, отраженные от близлежащих высотных зданий). Другие источники данных также могут быть включены в этот момент для уточнения этой оценки, например, из базы данных 542 сопоставления с расписанием.
[0075] Со ссылкой на этап 1101, модуль 502 обнаружения случая действия получает возможные случаи (например, поездки, места проведения мероприятий) на основе действия. Например, в случае езды на поезде, возможные поездки включают в себя начальные станции и связанные моменты времени, а также конечные станции и связанные моменты времени на основе данных, доступных модулю 502 обнаружения случая действия (например, загружаемых с внешнего сайта, хостирующего информацию, или хранящихся на внешних серверах). В примере с поездом, одним из многих способов уменьшить количество возможных поездок могло бы быть обнаружение пользователя, задерживающегося (находящегося в определенном местоположении) перед и после поездки на поезде. В примере, когда пользователь идет в кино, проблема заключается в том, чтобы правильно определить место поведения мероприятия среди многочисленных возможных мест поведения мероприятия поблизости.
[0076] Со ссылкой на этап 1102, модуль 502 обнаружения случая действия вычисляет различие между данными пользователя и всеми возможными поездками. Например, модуль 502 обнаружения случая действия может вычислить расстояние между каждой точкой местоположения пользователя и точкой каждой возможной поездки, как описано более подробно ниже. Модуль 502 обнаружения случая действия может использовать известные траектории для каждого сегмента поездки и временные диаграммы, полученные из разных источников, для установления точных положений во все соответственные моменты времени.
[0077] Со ссылкой на этап 1103, модуль 502 обнаружения случая действия фильтрует данные различия, вычисленные на этапе 1102, с учетом выбросов. В некоторых вариантах осуществления, модуль 502 обнаружения случая фильтрует данные различия с использованием таких способов, как обнаружение элементов не по порядку в последовательности, среднее отклонение медианы и известные артефакты из-за сбора данных на устройстве. Когда обнаружен известный артефакт, эти точки могут игнорироваться или обрабатываться с меньшей доверительной вероятностью. Например, некоторые артефакты встречаются только на поездах, поэтому, хотя местоположение такой ложной точки имеет ограниченную значимость, знание, что пользователь был в поезде в это время, является определенно полезным.
[0078] Со ссылкой на этап 1104, модуль 502 обнаружения случая действия оценивает, какая поездка была наиболее вероятной. Модуль 502 обнаружения случая оценивает ʺстепень согласованностиʺ каждой возможной поездки, чтобы выбрать лучшую. Расстояния, возвращаемые на этапе 1102, корректируются на различные факторы (плотность точек, неопределенность и т.д.) и усредняются вместе в метрику качества, характеризующую, насколько хорошо каждая поездка согласуется с пользовательскими данными. Это еще один этап, когда, если желательно, исторические данные с этапа 542 могут вводить известные специфические для пользователя поведения, чтобы помочь устранить неоднозначность между возможными поездками.
[0079] Со ссылкой на этап 1105, модуль 502 обнаружения случая оценивает доверительную вероятность в результатах. Модуль 502 обнаружения случая действия выполняет оценку доверительной вероятности на данных, полученных с этапа 1104. Модуль 502 обнаружения случая действия использует многофакторный анализ, включающий в себя, среди других факторов, степень согласованности, качество пользовательских данных и наличие трудно различимых поездок. Если доверительная вероятность высока, модуль 502 корреляции отправляет запрос на платеж (этап 1107). Если доверительная вероятность недостаточно высока, модуль 502 корреляции отправляет ее для проверки (этап 1106).
[0080] Со ссылкой на этап 1106, модуль 502 обнаружения случая действия может проверить результат, если модуль 502 обнаружения случая действия определяет, что результат не является удовлетворительным. Модуль 502 обнаружения случая действия может разрешать проверку неопределенных поездок кураторами-людьми с помощью расширенных инструментальных средств, которые помогают им либо проводить более точную оценку, либо выявлять сбой любого из компонентов (данных с устройства, обнаружения действия и т.д.), либо при невозможности устранить неоднозначность нескольких возможных поездок с имеющимися данными. Затем он корректирует неправильные оценки и может отбросить поездки, если обнаружены (например, пользователь вел автомобиль по шоссе вдоль железной дороги, и алгоритм не идентифицировал автомобиль, а вместо этого сделал ошибочное назначение поезда). Модуль 502 обнаружения случая действия затем отправляет действительные поездки для обработки платежа (на этапе 1107), когда посредством дополнительного анализа устанавливается высокая доверительная вероятность.
[0081] Со ссылкой на этап 1107, модуль 502 обнаружения случая действия может отправить запрос на платеж, если результат является удовлетворительным. Модуль 502 обнаружения случая действия может отправить запрос на оплату в модуль 503 выставления счета на оплату за обнаруженное оплачиваемое действие определенного пользователя, например, посадку в поезд, что требует билета на поездку.
[0082] На фиг. 12 изображена схема, показывающая процесс определения начального и конечного местоположения действия в соответствии с некоторыми вариантами осуществления настоящего раскрытия. На фиг. 12 показана точка 1200 местоположения, точка 1201 местоположения, сегмент 1202, конец действия 1204, конец действия 1205 и процесс, которым конец действия 1204 и 1205 идентифицированы, 1203.
[0083] Точка 1200 местоположения - это точка местоположения, которая соответствует началу анализируемого сегмента. Точка 1201 местоположения - это точка местоположения, которая соответствует концу анализируемого сегмента. Сегмент 1202 представляет собой сегмент, представляющий интерес, который включает в себя все соответственные точки местоположения, возникающие между точкой 1200 начального местоположения и точкой 1201 конечного местоположения. Сегмент 1202 представлен жирной черной линией, соединяющей местоположения 1200 и 1201 в последовательном порядке.
[0084] Этап 1203 представляет собой процесс отказоустойчивого обнаружения начальной и конечной станций. Этап 1203 может компенсировать артефакты, шум, систематические ошибки и другие источники ошибок в данных, а также факторизацию в базовой транспортной сети, используемой для перехода от точки 1200 начального местоположения до точки 1201 конечного местоположения, и выводит одну или несколько потенциальных начальных и конечных станций (1204 и 1205 соответственно). 1204 представляет место проведения мероприятия или местоположение, где пользователь начал действие, а 1205 - место проведения мероприятия или местоположение, где пользователь завершил действие. Выбор лучшей комбинации станции отправления/прибытия может включать, среди прочего, расстояние между точками местоположения действия и возможными станциями, количество соединений, необходимых для перемещения между станциями, наличие пребывания (задержки) на железнодорожной станции непосредственно перед или после поездки на поезде, прошлую историю пользователя, различную специфическую для пользователя информацию, такую как дом, работа, привычки, интересы и т.д.
[0085] Фиг. 13 является схемой, показывающей процесс оценки возможных путешествий на основе действия в соответствии с некоторыми вариантами осуществления настоящего раскрытия. Фиг. 13 показывает оцениваемый маршрут, 1300, местоположение 1301 пользователя, известные данные 1302, отклонение между местоположением пользователя и известными данными, 1303.
[0086] Маршрут, который оценивается, 1300, может относиться к путешествию, совершаемому пользователем пешком или на транспортном средстве (например, по железной дороге, используемой конкретным поездом в путешествии).
[0087] Местоположение 1301 пользователя относится к принятой сервером точке местоположения пользователя. В некоторых вариантах осуществления, в течение периода времени может иметься несколько принятых местоположений 1301 пользователя.
[0088] Известные данные 1302 относятся к положению средства транспортировки (например, автобуса, поезда, парома и т.д.) в ходе путешествия для соответствующего местоположения пользователя. В некоторых вариантах осуществления, положение средства транспортировки оценивается с использованием расписаний и известных задержек или фактического положения, если оно доступно. Как показано на фиг. 13, местоположение 1301 пользователя может отличаться от известных данных 1302.
[0089] Отклонение между местоположением пользователя и известными данными 1303 представляет расстояние между пользователем и средством транспортировки. Отклонение 1303 является мерой отклонения между наблюдаемыми местоположениями и ожидаемым расписанием. Чем больше это значение, тем меньше вероятность того, что анализируемое путешествие является правильным. Например, если пользователь находится в поезде А, то расстояние до ожидаемого положения поезда А будет близким к 0. Однако, если пользователь был в действительности на поезде В, который ехал на 10 минут позже, то расстояние до поезда А составит 10 минут*скорость поезда (например, 60 миль/ч), что соответствует расстоянию в 10 миль.
[0090] На фиг. 14 изображена блок-схема последовательности операций, показывающая процесс пассивных платежей в соответствии с некоторыми вариантами осуществления настоящего раскрытия.
[0091] На этапе 1400 принимаются данные от пользователя. Данные включают в себя информацию о местоположении пользователя в различные моменты времени. В некоторых вариантах осуществления, данные принимаются с предопределенным временным интервалом (например, один раз в секунду, раз в минуту). В некоторых вариантах осуществления, частота, с которой принимаются пользовательские данные, может быть коррелированной с пользовательским параметром (например, скоростью пользователя, местоположением). Например, пользовательские данные могут приниматься с большей частотой, когда система обнаруживает, что пользователь путешествует с большей скоростью. Пользовательские данные также могут приниматься с большей частотой, когда система обнаруживает, что пользователь приближается к месту, связанному с мероприятием, которое может посещать пользователь (например, кинотеатр, концерт).
[0092] На этапе 1401 извлекаются соответственные действия. Данные пользователя обрабатываются для идентификации соответственных действий, включая маркируемые путешествия (например, поездка на поезде, поездка на пароме) и посещения (например, время, проведенное в парке развлечений, в зоопарке). Поток точек местоположения и данных различного рода, предоставляемых устройством, подается в модель машинного обучения, которая разбивает поток на сегменты, которые соответствуют непрерывному блоку одного действия, и идентифицирует их с соответствующей меткой (например, поезд, автомобиль, ходьба и т.д.).
[0093] На этапе 1402 идентифицируется контекст (также называемый здесь ʺслучаемʺ) действия. Система, описанная здесь, может идентифицировать контекст действия, такой как точный поезд, использованный для поездки (поезд номер Х от станции А до станции В во время Т) или посещенное место проведения мероприятия (заведение Y от времени T1 до времени T2). Система, описанная здесь, может принимать маркированный сегмент одного действия и может использовать данные транспортной сети, связанные с ним (например, железнодорожные операторы, органы транзита, другие пользователи, источники в реальном времени и т.д.) для проведения оценки.
[0094] На этапе 1403 обрабатывается платеж. Платеж обрабатывается по мере необходимости на основе типа и контекста действия. Например, платеж обрабатывается, когда пользователь фактически находится в поезде, требующем билет для проезда, но не тогда, когда пользователь едет вдоль железнодорожного пути. В некоторых вариантах осуществления, платеж обрабатывается только тогда, когда платеж, связанный со случаем действия, больше нуля.
[0095] Предмет, описанный здесь, может быть реализован в цифровой электронной схеме или в компьютерном программном обеспечении, встроенном программном обеспечении или аппаратных средствах, включая структурные средства, раскрытые в этой спецификации, и их структурные эквиваленты, или их комбинации. Предмет, описанный здесь, может быть реализован как один или несколько компьютерных программных продуктов, таких как одна или несколько компьютерных программ, материально воплощенных в носителе информации (например, в машиночитаемом устройстве хранения данных) или воплощенных в распространяющемся сигнале, для исполнения посредством, или для управления, работой устройства обработки данных (например, программируемого процессора, компьютера или нескольких компьютеров). Компьютерная программа (также известная как программа, программное обеспечение, программное приложение или код) может быть написана в любой форме языка программирования, включая компилируемые или интерпретируемые языки, и может быть введена в действие в любой форме, в том числе в виде отдельной программы или как модуль, компонент, подпрограмма или другой блок, подходящий для использования в вычислительной среде. Компьютерная программа не обязательно соответствует файлу. Программа может быть сохранена в части файла, который содержит другие программы или данные, в одном файле, предназначенном для данной программы, или в нескольких скоординированных файлах (например, файлах, которые хранят один или несколько модулей, подпрограмм или частей кода). Компьютерная программа может быть развернута для исполнения на одном компьютере или на нескольких компьютерах на одном месте или распределена по нескольким местам и взаимосвязана между собой сетью связи.
[0096] Процессы и логические потоки, описанные в настоящей спецификации, включая этапы способа описанного здесь предмета, могут выполняться одним или несколькими программируемыми процессорами, исполняющими одну или несколько компьютерных программ для выполнения функций описанного здесь предмета посредством оперирования с входными данных и генерирования выхода. Процессы и логические потоки также могут выполняться, и устройство описанного здесь предмета может быть реализовано как специализированная логическая схема, например, FPGA (программируемая вентильная матрица) или ASIC (специализированная интегральная схема).
[0097] Процессоры, подходящие для исполнения компьютерной программы, включают в себя, в качестве примера, микропроцессоры общего и специального назначения и любой один или несколько процессоров любого цифрового компьютера. Как правило, процессор будет принимать инструкции и данные из постоянной памяти или памяти с произвольным доступом или их обеих. Существенными элементами компьютера являются процессор для исполнения инструкций и одно или несколько устройств памяти для хранения инструкций и данных. Как правило, компьютер также будет включать в себя, или будет операционно связан для приема данных и/или для передачи данных в/на, одно или несколько устройств массовой памяти для хранения данных, таких как магнитные, магнитооптические диски или оптические диски. Носители информации, подходящие для воплощения компьютерных программных инструкций и данных, включают в себя все формы энергонезависимой памяти, в том числе, например, полупроводниковые устройства памяти (например, EPROM, EEPROM и устройства флэш-памяти), магнитные диски (например, внутренние жесткие диски или съемные диски), магнитооптические диски и оптические диски (например, CD и DVD диски). Процессор и память могут быть дополнены специализированной логической схемой или встроены в нее.
[0098] Чтобы обеспечить взаимодействие с пользователем, описанный здесь предмет может быть реализован на компьютере, имеющем устройство отображения, например, CRT (электронно-лучевую трубку) или LCD (жидкокристаллический дисплей) для отображения информации пользователю, и клавиатуру и координатно-указательное устройство (например, мышь или трекбол), с помощью которых пользователь может осуществлять ввод в компьютер. Другие виды устройств также могут использоваться для обеспечения взаимодействия с пользователем. Например, обратная связь, обеспечиваемая к пользователю, может быть любой формой сенсорной обратной связи (такой как визуальная обратная связь, слуховая обратная связь или тактильная обратная связь), и ввод от пользователя может приниматься в любой форме, включая акустический, речевой или тактильный вход.
[0099] Описанный здесь предмет может быть реализован в вычислительной системе, которая включает в себя внутренний (удаленный, серверный) компонент (например, сервер данных), компонент промежуточного программного обеспечения (например, сервер приложений) или внешний (клиентский) компонент (например, клиентский компьютер, имеющий графический пользовательский интерфейс или веб-браузер, через который пользователь может взаимодействовать с реализацией предмета, описанного здесь) или любую комбинацию таких серверного компонента, компонента промежуточного программного обеспечения и клиентского компонента. Компоненты системы могут быть связаны между собой любой формой или средой передачи цифровых данных, например, сетью связи. Примеры сетей связи включают в себя локальную сеть (ʺLANʺ) и глобальную сеть (ʺWANʺ), например Интернет.
[0100] Следует понимать, что раскрытый предмет не ограничен в своем применении деталями конструкции и компоновками компонентов, изложенными в описании или проиллюстрированными на чертежах. Раскрытый предмет может иметь другие варианты осуществления и может быть практически реализован и выполнен различными способами. Кроме того, следует понимать, что фразеология и терминология, используемые здесь, предназначены для целей описания и не должны рассматриваться как ограничивающие.
[0101] Таким образом, специалистам в данной области техники должно быть понятно, что концепция, на которой основано настоящее раскрытие, может быть легко использована в качестве основы для проектирования других структур, способов и систем для выполнения различных целей раскрытого предмета. Поэтому важно, чтобы формула изобретения рассматривалась как включающая такие эквивалентные конструкции, если они не отклоняются от сущности и объема раскрытого предмета.
[0102] Хотя раскрытый предмет был описан и проиллюстрирован на приведенных выше примерных вариантах осуществления, понятно, что настоящее раскрытие было сделано только в качестве примера и что многочисленные изменения в деталях реализации раскрытого предмета могут выполняться без отклонения от сущности и объема раскрытого предмета, который ограничен только следующими пунктами формулы изобретения.