СПОСОБ И СИСТЕМА СОЗДАНИЯ ИНФОРМАЦИИ О МАРШРУТЕ В КАРТОГРАФИЧЕСКОМ ПРИЛОЖЕНИИ НА ЭЛЕКТРОННОМ УСТРОЙСТВЕ
METHOD AND SYSTEM FOR CREATING ROUTE INFORMATION IN MAP APPLICATION ON ELECTRONIC DEVICE

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящая технология относится к картографическим приложениям и, конкретнее, к способам и системам для создания информации о маршруте, которая будет использована в картографическом приложении, исполняемом на электронном устройстве.
УРОВЕНЬ ТЕХНИКИ
[0002] Множество доступных пользователю электронных устройств обеспечивает геолокацию, а также предоставляет информацию посредством выполнения "картографического приложения".
[0003] Некоторые из этих устройств специализируется исключительно на обеспечении геолокации и предоставлении информации о маршруте. Примером такого устройства может быть портативный GPS-навигатор, предоставляемый, например, компанией TomTom Corporation, Амстердам, Нидерланды. Другим примером такого устройства будет GPS-навигатор, встроенный в автомобиль. Например, многие производители автомобилей предоставляют возможность включения встроенной навигационной системы в свои машины.
[0004] Другие электронные устройства предоставляют геолокацию и информацию о маршруте как дополнение к другим функциям. Например, большинство современных смартфонов, доступных на рынке, включает приложение, которое предоставляет сервисы геолокации и информации о маршруте. Некоторые из картографических приложений являются "нативными" для смартфона, т.е. предоставляются как часть операционной системы или набор заранее установленных приложений. Другие из подобных картографических приложений могут быть загружены из хранилищ приложений (так называемых "магазинов приложений", например, APPLE™ STORE и тому подобное).
[0005] Большая часть этих картографических приложений позволяет пользователю прокладывать "маршрут" из точки А (начальная точка) к точке В (конечная точка). В зависимости от конкретного варианта осуществления картографического приложения, пользователю также предоставляется дополнительный выбор, например: наиболее быстрого маршрута, наиболее короткого маршрута, маршрут, который проходит мимо автомагистралей, маршрут, который проходит мимо платных дорог и т.д. После того как пользователю предоставляются все опции выбора, картографическое приложение создает один или несколько предлагаемых маршрутов, которые приводят пользователя от точки А в точку В, учитывают выбранные пользователем настройки для созданного таким образом маршрута.
[0006] Когда пользователь начинает движение по одному из одного или нескольких предлагаемых маршрутов, картографическое приложение обычно отображает продвижение пользователя по маршруту (как правило, показывая продвижение пользователя по маршруту с помощью движущейся стрелки или другого символа, представляющего положение пользователя на предложенном маршруте). Картографическое приложение также может предоставить пользователю дополнительную информацию - такую как: время, оставшееся до конечной точки, какие-либо препятствия на маршруте (например, аварии или дорожные работы), информация о дорожном движении по маршруту, альтернативные предложенные маршруты (как правило, они показаны "менее выделенным" образом, например, серым цветом или тому подобное), и так далее.
[0007] Как только пользователь приближается к конечной точке (т.е. точке В), пользователю необходимо найти место для парковки, чтобы оставить свой автомобиль. В зависимости от расположения точки В (например, центр или окраина и т.д.), найти место для парковки пользователю может быть затруднительно. Пользователь может потратить значительное количество времени на поиск места для парковки. Текущие картографические приложения обладают очень малыми возможностями для представления пользователю возможных мест для парковки. Наиболее распространенным решением в наши дни является отображение картографическим приложением, на карте, местоположения парковок и тому подобного.
[0008] Патентная заявка US 9,674,237 (выдана 6 июня 2017 года авторам Бостик и др., и принадлежит корпорации International Business Machines) описывает способ, систему и программный продукт для координации фокуса в географически распределенных системах. Смещение фокуса на первый объект в первом виде определяется первой системой обработки данных на первом местоположении в географически распределенном множестве систем обработки данных. Идентифицируются метаданные первого вида, которые могут использоваться для идентификации второго объекта во втором виде во второй системе обработки данных во втором расположении в географически распределенном множестве систем обработки данных, причем второй объект соответствует рассматриваемому объекту. Создается пакет фокусной информации, который включает в себя признак первого объекта и метаданные первого вида. Пакет фокусной информации передается во вторую систему обработки данных.
[0009] Патентная заявка US 9,470,540 (выдана 18 октября 2016 года автора Кастелучи и др., и принадлежит корпорации International Business Machines) описывает подход к поиску парковки. Компьютер идентифицирует маршрутные инструкции к конечной точке. Компьютер получает от пользователя навигационные данные для поиска парковки, связанной с конечной точкой. Компьютер вычисляет один или несколько навигационных путей на основе конечной точки, которые включают в себя один или несколько участков улиц, которые соединяют одинаковые начальную и конечную точки с, по меньшей мере, одним другим участком улицы, и общие величины, указывающие на приоритет, основаны на одном или нескольких весовых коэффициентах, связанных с одним или несколькими участками улиц. Компьютер выбирает первый навигационный путь из вычисленных одного или нескольких навигационных путей с помощью упорядоченного ранжирования одного или нескольких навигационных путей. Компьютер предоставляет маршрутные инструкции, связанные с первым навигационным путем. Компьютер определяет, обнаруживает ли пользователь парковку, используя первый навигационный путь.
[00010] Патентная заявка US 2014/0214319 (опубликована 31 июля 2017 под авторством Вуцетич и др., и принадлежит Parkways, Inc.) описывает компьютерную систему и способ рекомендации маршрута передвижения, что сокращает время поиска парковки и стоимость парковки. Система выполнена с возможностью получать информацию о текущем местоположении автомобиля, желаемую конечную точку и предпочтения парковки, для обработки этой информации вместе с движением и парковкой для вычисления рекомендованного маршрута, которому автомобиль должен следовать во время поиска парковки, и передачи рекомендуемого маршрута водителю автомобиля. Водителю рекомендуется припарковаться на первом доступном месте вдоль выбранных участков рекомендованного маршрута.
[00011] Патентная заявка US 2016/0025503 (опубликована 28 января 2016 г. под авторством Кис и др., и принадлежит Ford Global Technologies LLC.) описывает конечную точку для транспортного средства, используемого для идентификации набора парковочных мест. Одно из парковочных мест выбирается, по меньшей мере частично, на основе одного пользовательского параметра и данных, полученных из исторических данных о парковочных местах. Определяется маршрут до выбранного парковочного места.
РАСКРЫТИЕ ТЕХНОЛОГИИ
[00012] Варианты осуществления данной технологии были разработаны на основе оценки разработчиками того, что для картографического приложения желательно создавать "парковочный маршрут", когда транспортное средство пользователя приближается к конечной точке маршрута, созданного картографическим приложением.
[00013] В соответствии с неограничивающими вариантами осуществления настоящей технологии, по мере приближения транспортного средства пользователя (примерно определяемого по положению электронного устройства) к конечной точке, картографическое приложение получает указание на положение электронного устройства (которое может быть одним или несколькими из текущего положения электронного устройства и указания на конечную точку). Картографическое приложение далее создает набор парковок-кандидатов и рассчитывает парковочный маршрут вдоль по меньшей мере части парковок-кандидатов, причем парковочный маршрут оптимизируется на основе: расстояния от по меньшей мере некоторых из набора парковок-кандидатов до конечной позиции; общего времени вдоль парковочного маршрута; общей вероятности запарковаться, которая основана на вероятности наличия свободного парковочного места на каждой из по меньшей мере набора парковок-кандидатов.
[00014] Разработчики настоящей технологии разработали неограничивающие варианты осуществления технологии на основе следующих предположений. Далее следует описание нескольких определений задач оптимизации, а также описание компьютерных подходов к осуществлению исполняемого на компьютере способа решения подобной проблемы оптимизации.
[00015] Задача оптимизации парковочного маршрута, предусмотренная вариантами осуществления данной технологии, может быть описана как серия оптимизационных задач с увеличенным числом оптимизационных ограничений и демонстрация того, как решение может эволюционировать в соответствии с изменением проблемы оптимизации. В представленном ниже описании, n обозначает количество парковочных мест, участвующих в процессе принятия решений системой.
[00016] В некоторых вариантах осуществления настоящей технологии, может быть необходимо или желательно определить парковочный маршрут, т.е. последовательность парковок, которая охватывает все парковочные места и занимает наименьшее время в пути. Система разработана на основе предположения о том, что движение начинается с парковочного места #0 и проходит через все остальные парковочные места в соответствии с парковочным маршрутом. Эту задачу можно классифицировать как Гамильтонов путь наименьшего веса. Для того чтобы создать такой парковочный маршрут, система может использовать динамический подход к программированию. Подзадача, которая будет определена для такого динамического подхода к программированию, может представлять собой: "Найти последовательность парковки, которая посещает заданное подмножество парковочных мест S и заканчивается заданным парковочным местом Р". Р должно быть частью S. Для S={0} и Р=0 последовательность будет равна нулю и ее весовой коэффициент будет равен нулю.
[00017] Далее, происходит построение решения подзадачи с использованием меньших подзадач. Допустим, дано S и Р. Последним парковочным местом в этой последовательности является Р, а предыдущее может быть любым из S\{Р}. Таким образом, оптимальное решение может быть построено как решение для S\{Р} и X с добавлением Р в конце, где X находится в S\{Р}. Короче говоря:
[00018] Следует отметить сложность выполнения задачи нахождения ответа как наилучшего из решений({0…n-1}, k) для k, находящегося в [0…n-1] равна О (2^n * n^2). Система может хранить рассчитанные таким образом ответы.
[00019] Следующая проблема, которая может быть определена, - поиск последовательности парковки, которая охватывает не менее k парковочных мест и обладает наименьшим временем в пути. Система может проанализировать все сохраненные ответы для решения в соответствии с Формулой 1 и выбрать тот ответ, который является лучшим ответом, соответствующим следующему требованию: |S/>=k.
[00020] Далее более сложную задачу можно определить как нахождение последовательности парковки, обладающей вероятностью запарковаться не ниже p и наименьшим временем в пути. Эту более сложную проблему можно проиллюстрировать следующим образом. Например, если два парковочных места обладают вероятностями парковки p1 и p2 соответственно, и маршрут парковки создается таким образом, чтобы водитель проехал их оба, то вероятность запарковаться p не зависит от их порядка. Действительно, нетрудно заметить, что вероятность запарковаться равна
[00021] И Формула 2 будет обладать тем же значением, если величины p1 и р2 поменять местами. Это свойство Формулы 2 позволяет использовать вышеупомянутый динамический подход к программированию. Система хранит вероятности запарковаться для каждого S.
[00022] Наконец, система выбирает лучшее решение среди всех величин S и Р, при которых вероятность запарковатьсся (S)>=p.
[00023] Наконец, проблема может быть определена как поиск последовательности парковки, которая обладает вероятностью запарковаться не ниже p, временем поездки не больше t, и обладает наименьшим E(d|припаркованных), где E(d|припаркованных) - это ожидаемая величина расстояния от парковочного места (т.е. места, где парковка действительно осуществилась) до конечной точки обусловлено тем, что парковка действительно осуществилась.
[00024] В рамках этого определения проблемы может оказаться невозможным использовать динамический подход к программированию. Это связано с тем, что каждый из S и Р имеет два критерия, которые система должна оптимизировать. А именно, система должна оптимизировать как время, так и E(d|припаркованных). В соответствии с неограниченными вариантами осуществления настоящей технологии, система решает эту проблему путем создания и хранения всех последовательностей оптимума по Парето вместе со временем и Е(d/припаркованных) для каждого S и Р.
[00025] С практической точки зрения это означает, что вместо хранения одной наилучшей последовательности, система выбирает все последовательности, соответствующие оптимуму по Парето.
[00026] Таким образом, первым объектом настоящей технологии, является способ создания парковочного маршрута до конечной точки, причем парковочный маршрут будет отображаться в картографическом приложении, которое выполняется электронным устройством. Электронное устройство подключается к серверу через сеть передачи данных. Способ может выполняться сервером. Способ выполняется сервером и включает в себя: получение, от электронного устройства, указания на геопозицию, связанную с электронным устройством; создание, на основе геопозиции, набора парковок-кандидатов; определение сервером вероятности наличия свободного парковочного места для каждой из набора парковок-кандидатов; создание сервером парковочного маршрута, включающего в себя по меньшей мере некоторые из набора парковок-кандидатов, создание выполняется чтобы оптимизировать парковочный маршрут на основе: расстояния от по меньшей мере некоторых из набора парковок-кандидатов до конечной точки; общего времени поездки по парковочному маршруту; общей вероятности запарковаться, которая основана на вероятности наличия свободного парковочного места для каждой из по меньшей мере набора парковок-кандидатов.
[00027] В некоторых вариантах осуществления способа, геопозиция включает в себя текущее положение электронного устройства и указание на конечную точку, и создание набора парковок-кандидатов включает в себя создание набора парковок-кандидатов таким образом, чтобы: каждая из набора парковок-кандидатов находилась в пределах заранее определенного радиуса от по меньшей мере одного из: текущей позиции и конечной позиции.
[00028] В некоторых вариантах осуществления способа, создание парковочного маршрута выполняется таким образом, чтобы: минимизировать расстояние от данного одного из по меньшей мере некоторых из набора парковок-кандидатов до конечной точки, причем данная парковка-кандидат является фактическим местом парковки; минимизировать общее время в пути.
[00029] В некоторых вариантах осуществления способа, общее время поездки является временем поездки от текущего положения к фактическому месту парковки.
[00030] В некоторых вариантах осуществления способа, оптимизация парковочного маршрута включает в себя применение алгоритма эффективности по Парето.
[00031] В некоторых вариантах осуществления способа, создание парковочного маршрута включает в себя, для каждой данной из набора парковок-кандидатов: определение расстояния от текущего положения до данной из набора парковок-кандидатов; определение величины одно-стадийной оптимизации, которая основана на вероятности запарковаться на данной из набора парковок-кандидатов, причем величина одно-стадийной оптимизации представляет собой: расстояние от данной из набора парковок-кандидатов до конечной точки; общее время поездки по парковочному маршруту от текущего положения до данной из набора парковок-кандидатов; общей вероятности запарковаться, которая основана на вероятности наличия свободного парковочного места на данной из набора парковок-кандидатов.
[00032] В некоторых вариантах осуществления способа, создание парковочного маршрута для данной из набора парковок-кандидатов, далее включает в себя: определение величины двух-стадийной оптимизации, которая основана на вероятности запарковаться на следующей за данной из набора парковок-кандидатов, причем величина двух-стадийной оптимизации представляет собой: расстояния от следующей из набора парковок-кандидатов до конечной точки; общее время поездки по парковочному маршруту от текущего положения до следующего; общей вероятности запарковаться, которая основана на вероятности наличия свободного парковочного места на данной и следующей из набора парковок-кандидатов.
[00033] В некоторых вариантах осуществления способа, способ далее включает в себя повторение этапа определения величины N-стадийной оптимизации с помощью N-последующих после следующей за данной из набора парковок-кандидатов.
[00034] В некоторых вариантах осуществления способа, способ далее включает в себя повторение процесса определения для всех из набора парковок-кандидатов.
[00035] В некоторых вариантах осуществления способа, далее включает в себя сокращение величин N-стадийной оптимизации, которые обладают и общим временем поездки и расстоянием, которые находятся ниже заранее определенной соответствующей пороговой величины.
[00036] В некоторых вариантах осуществления способа, способ далее включает в себя: выбор по меньшей мере некоторых из набора парковок-кандидатов из набора парковок-кандидатов на основе величин N-стадийной оптимизации, которые связаны с общей вероятностью запарковаться, находящейся выше заранее определенной пороговой величины.
[00037] В некоторых вариантах осуществления способа, выбор по меньшей мере некоторых из набора парковок-кандидатов из набора парковок-кандидатов включает в себя: на основе минимальной величины среднего расстояния к конечной точке, среднее расстояние, которое является вкладом в общую величину расстояния из каждого индивидуального расстояния для членов группы, связанных с конкретной стадией величин N-стадийной оптимизации.
[00038] В некоторых вариантах осуществления способа, способ далее включает в себя: вычисление общей вероятности запарковаться как суммы вероятности наличия свободного парковочного места на данной из набора парковок-кандидатов и вероятности наличия свободного парковочного места на следующей.
[00039] В некоторых вариантах осуществления способа, повтор процесса определения для всех из набора парковок-кандидатов выполняется итеративно для всех из набора парковок-кандидатов, причем итеративный процесс начинается с данной и увеличивает цепь кандидатов до длины N меньшей мере некоторых из набора парковок-канидатов.
[00040] В некоторых вариантах осуществления способ далее включает в себя получение конечной позиции из картографического приложения.
[00041] Таким образом, другим объектом настоящей технологии, является сервер, выполненный с возможностью осуществлять создание парковочного маршрута до конечной точки, причем парковочный маршрут будет отображаться в картографическом приложении, которое выполняется электронным устройством. Электронное устройство подключается к серверу через сеть передачи данных, причем сервер включает в себя: сетевой интерфейс для связи через сеть передачи данных; процессор соединен с сетевым интерфейсом. Процессор выполнен с возможностью осуществлять: получение, от электронного устройства, указания на геопозицию, связанную с электронным устройством; создание, на основе геопозиции, набора парковок-кандидатов; определение сервером вероятности наличия свободного парковочного места для каждой из набора парковок-кандидатов; создание сервером парковочного маршрута, включающего в себя по меньшей мере некоторые из набора парковок-кандидатов, создание выполняется чтобы оптимизировать парковочный маршрут на основе: расстояния от по меньшей мере некоторых из набора парковок-кандидатов до конечной точки; общего времени поездки по парковочному маршруту; общей вероятности запарковаться, которая основана на вероятности наличия свободного парковочного места для каждой из по меньшей мере набора парковок-кандидатов.
[00042] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один компьютер или одну компьютерную систему, однако ни то, ни другое не является обязательным в отношении предлагаемой технологии. В контексте настоящей технологии, использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».
[00043] В контексте настоящего описания «клиентское устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. В контексте настоящего описания, термин "электронное устройство" указывает на то, что устройство может функционировать как сервер для других электронным устройств и электронных устройство, хотя это не является необходимым для настоящей технологии. Таким образом, примерами электронных устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Важно иметь в виду, что в контексте настоящего описания факт того, что устройство функционирует как электронное устройство не означает того, что оно не может функционировать как сервер для других электронных устройств. Использование выражения «электронное устройство» не исключает возможности использования множества электронных устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного метода.
[00044] В контексте настоящего описания «клиентское устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. В контексте настоящего описания в общем случае «клиентское устройство» связано с пользователем клиентского устройства. Таким образом, некоторые (неограничивающие) варианты осуществления клиентских устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и так далее), смартфоны и планшеты, а также сетевое оборудование, например, маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что устройство, функционирующее как клиентское устройство в настоящем контексте может функционировать как сервер для других клиентских устройств. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.
[00045] В контексте настоящего описания термин «информация» включает в себя информацию любую информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.
[00046] В контексте настоящего описания, «программный компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
[00047] В контексте настоящего описания, «носитель компьютерной информации» (также упоминаемый как носитель информации) подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д. Множество компонентов может быть объединено в носитель компьютерной информации, включая два или более мультимедийных компонента одного типа и/или два или более компонента разных типов.
[00048] В контексте настоящего описания, «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. В контексте настоящего описания слова «первый», «второй», «третий» и и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными.
[00049] В контексте настоящего описания слова «первый», «второй», «третий» и и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов "первая база данных" и "третий сервер" не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, "первый" сервер и "второй" сервер могут являться одним и тем же программным и/или компонентами аппаратного обеспечения, а в других случаях они могут являться разными компонентами программного и/или аппаратного обеспечения.
[00050] Каждый вариант осуществления настоящей технологии преследует по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.
[00051] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящей технологии станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения. Технический результат настоящего решения заключается в достижении назначения, заключающегося в создании парковочного маршрута к конечной точке.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[00052] Эти и другие аспекты, свойства и преимущества настоящей технологии будут лучше понятны с учетом следующего описания, прилагаемой формулы изобретения и чертежей, где:
[00053] На Фиг. 1 изображена схема примера компьютерной системы для осуществления определенных вариантов системы и/или способов настоящей технологии;
[00054] На Фиг. 2 представлена схема сетевой вычислительной среды, подходящей для использования совместно с некоторыми вариантами осуществления настоящей технологии;
[00055] На Фиг. 3 представлено электронное устройство сетевой вычислительной среды, показанной на Фиг. 2, с выводом картографического приложения.
[00056] На Фиг. 4 представлена блок-схема, представляющая прохождение сигнала между электронным устройством и сервером сетевой вычислительной среды, изображенной на Фиг. 2, блок-схема сигнала выполнена в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[00057] На Фиг. 5 представлена блок-схема способа создания парковочного маршрута, способ выполняется сервером в соответствии с вариантами осуществления настоящей технологии, не ограничивающими ее объем.
[00058] На Фиг. 6 представлен процесс роста цепи кандидатов до длины N по меньшей мере некоторых из набора парковок-кандидатов.
ОСУЩЕСТВЛЕНИЕ
[00059] Все примеры и используемые здесь условные конструкции предназначены, главным образом, для того, чтобы помочь читателю понять принципы настоящей технологии, а не для установления границ ее объема. Следует также отметить, что специалисты в данной области техники могут разработать различные схемы, отдельно не описанные и не показанные здесь, но которые, тем не менее, воплощают собой принципы настоящей технологии и находятся в границах ее объема.
[00060] Кроме того, для ясности в понимании, следующее описание касается достаточно упрощенных вариантов осуществления настоящей технологии. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящей технологии будут обладать гораздо большей сложностью.
[00061] Некоторые полезные примеры модификаций настоящей технологии также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящей технологии. Эти модификации не представляют собой исчерпывающего списка, и специалисты в данной области техники могут создавать другие модификации, остающиеся в границах объема настоящей технологии. Кроме того, те случаи, где не были представлены примеры модификаций, не должны интерпретироваться как то, что никакие модификации невозможны, и/или что то, что было описано, является единственным вариантом осуществления этого элемента настоящей технологии.
[00062] Более того, все заявленные здесь принципы, аспекты и варианты осуществления технологии, равно как и конкретные их примеры, предназначены для обозначения их структурных и функциональных основ, вне зависимости от того, известны ли они на данный момент или будут разработаны в будущем. Таким образом, например, специалистами в данной области техники будет очевидно, что представленные здесь блок-схемы представляют собой концептуальные иллюстративные схемы, отражающие принципы настоящей технологии. Аналогично, любые блок-схемы, диаграммы, псевдокоды и т.п. представляют собой различные процессы, которые могут быть представлены на машиночитаемом носителе и, таким образом, использоваться компьютером или процессором, вне зависимости от того, показан явно подобный компьютер или процессор, или нет.
[00063] Функции различных элементов, показанных на фигурах, включая функциональный блок, обозначенный как «процессор», могут быть обеспечены с помощью специализированного аппаратного обеспечения или же аппаратного обеспечения, способного использовать подходящее программное обеспечение. Когда речь идет о процессоре, функции могут обеспечиваться одним специализированным процессором, одним общим процессором или множеством индивидуальных процессоров, причем некоторые из них могут являться общими. Более того, использование термина «процессор» или «контроллер» не должно подразумевать исключительно аппаратное обеспечение, способное поддерживать работу программного обеспечения, и может включать в себя, без установления ограничений, цифровой сигнальный процессор (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянное запоминающее устройство (ПЗУ) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ) и энергонезависимое запоминающее устройство. Также в это может быть включено другое аппаратное обеспечение, обычное и/или специальное.
[00064] Программные модули или простые модули, представляющие собой программное обеспечение, могут быть использованы здесь в комбинации с элементами блок-схемы или другими элементами, которые указывают на выполнение этапов процесса и/или текстовое описание. Подобные модели могут быть выполнены на аппаратном обеспечении, показанном напрямую или косвенно.
[00065] С учетом этих примечаний, далее будут рассмотрены некоторые не ограничивающие варианты осуществления аспектов настоящей технологии.
[00066] Описание системы
[00067] На Фиг. 1 представлена компьютерная система 100, которая подходит для некоторых вариантов осуществления настоящей технологии, причем компьютерная система 100 включает в себя различные аппаратные компоненты, включая один или несколько одно- или многоядерных процессоров, которые представлены процессором 110, твердотельный накопитель 120, память 130, которая может быть ОЗУ, сетевой модуль 140, и модуль 150 GPS. Связь между различными компонентами компьютерной системы 100 может осуществляться с помощью одной или нескольких внутренних и/или внешних шин (представлено в общем виде под номером 102), например, шины PCI, универсальной последовательной шины, высокоскоростной шины IEEE 1394, шины SCSI, шины Serial ATA и так далее, с которыми электронными средствами соединены различные аппаратные компоненты. В неограничивающем варианте осуществления технологии, показанном на Фиг. 1, связь между компьютерной системой 101 реализована в виде "звезды" с помощью процессора 110; тем не менее, в альтернативных вариантах осуществления настоящей технологии, связь может быть реализована иначе.
[00068] В соответствии с вариантами осуществления настоящей технологии твердотельный накопитель 120 хранит программные инструкции, подходящие для загрузки в память 130, и использующиеся процессором 110 для отображения информации пользователю компьютерной системы 100, как будет описано далее более подробно. Например, программные инструкции могут представлять собой часть картографического или навигационного приложения, выполняемого процессором 110. Сетевой модуль 140 и модуль 150 GPS дают возможность различным компьютерным системам, серверам и/или иным устройствам обмениваться данными.
[00069] На Фиг. 2 показана сетевая компьютерная среда 200, подходящая для использования с некоторыми вариантами осуществления систем и/или способов настоящей технологии. Сетевая вычислительная среда 200 включает в себя множество электронных устройств 202. Множество электронных устройств 202 включает в себя электронные устройства 210, 212 и 214 (индивидуально упоминаются как "навигационное устройство"), соответственно связанные с пользователями 211, 213 и 215 (индивидуально упоминаются как "пользователь"). Как будет более подробно описано далее, каждый из пользователей 211, 213, 215, может управлять соответствующим транспортным средством (не показано).
[00070] Следует иметь в виду, что, несмотря на то множество электронных устройств 202 представлено как содержащие три отдельных навигационных устройства, это не является обязательным в каждом варианте осуществления настоящей технологии. Фактически множество электронных устройств 202 может содержать большее число навигационных устройств, например, 100, 1000, 10000, 1000000 и так далее.
[00071] Сетевая компьютерная среда 200 далее включает в себя сервер 230, обменивающийся данными со множеством электронных устройств 202 через сеть 240 передачи данных и спутник 250 GPS, передающий и/или получающий GPS-сигнал 260 идущий от электронного устройства 202 или на него. Следует иметь в виду, что настоящая технология не ограничивается GPS и может использовать технологию определения местоположения, отличающуюся от GPS (например, ГЛОНАСС, и т.д.).
[00072] В некоторых вариантах осуществления настоящей технологии сеть 240 передачи данных может представлять собой Интернет. В альтернативных вариантах осуществления технологии, не ограничивающих ее объем, сеть передачи данных может быть реализована как любая подходящая локальная сеть передачи данных (LAN), глобальная сеть передачи данных (WAN), частная сеть передачи данных и тому подобное. Важно иметь в виду, что варианты реализации сети передачи данных даны исключительно для наглядности. Реализация линии передачи данных (отдельно не пронумерована) между данным навигационным устройством и сетью 240 передачи данных будет зависеть, среди прочего, от того, как именно реализовано данное навигационное устройство.
[00073] В некоторых вариантах осуществления настоящей технологии сервер 230 реализован как обычный компьютерный сервер. В одном варианте осуществления технологии, не ограничивающем ее объем, сервер 230 представляет собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™, но он может быть реализован с помощью любого другого подходящего аппаратного, программного и/или системного обеспечения, или их комбинации. В представленном варианте осуществления настоящей технологии, не ограничивающем ее объем, сервер является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих ее объем, (не показаны) функциональность сервера 230 может быть разделена и может выполняться с помощью нескольких серверов.
[00074]
[00075] Реализация данного навигационного устройства из любого из множества электронных устройств 202 никак конкретно не ограничивается, но, в качестве примера, данное навигационное устройство может быть выполнено как беспроводное устройство передачи данных, например, как мобильный телефон (смартфон или радиотелефон), навигационное устройство транспортного средства (например, TomTom™, Garmin™), планшет, персональный компьютер и так далее. Тем не менее, на Фиг. 2 каждое навигационное устройство представлено как смартфон (хотя они не обязаны быть одинаковыми, и данное навигационное устройство может быть реализовано как другое из множества навигационных устройств).
[00076] Данное навигационное устройство может включать в себя некоторые или все компоненты компьютерной системы 100, изображенной на Фиг. 1. В некоторых вариантах осуществления настоящей технологии, данное навигационное устройство включает в себя сетевой модуль 140 для обмена данными с сервером 230 по сети 240 передачи данных, модуль 150 GPS для получения и передачи сигнала 260 GPS на спутник 250 GPS (т.е. для использования возможностей GPS данного навигационного устройства), процессор 110, память 130 и интерфейс отображения, например, сенсорный экран. Данное навигационное устройство включает в себя аппаратное и/или прикладное программное, и/или системное программное обеспечение для выполнения картографического приложения, только один вариант осуществления которого представлен на Фиг. 1 под номером 280, связанный с электронным устройством 214. В некоторых вариантах осуществления настоящей технологии, данное навигационное устройство может быть выполнено с возможностью дополнять GPS-информацию с помощью способов сопоставления беспроводных сетей, которые определяют географическое положение на основе наличия конкретных беспроводных сетей поблизости от пользовательского устройства (например, Wi-Fi).
[00077] В неограничивающем варианте осуществления настоящей технологии, картографическое приложение 280 может представлять собой приложения Яндекс.Карты™ или Яндекс.Навигатор™, которые доступны от компании Яндекс.
[00078] Картографическое приложение 280 выполнено с возможностью двусторонней связи с сервером 230. Сервер 230 выполнен с возможностью осуществлять картографическое приложение 282 на стороне сервера. Картографическое приложение 280 и картографическое приложение 282 на стороне сервера выполнено для доставки пользователю (например, пользователю 215) картографической и маршрутной информацией. В некоторых вариантах осуществления настоящей технологии, картографическое приложение 280 выполнено с возможностью создавать и передавать серверу 230 картографический запрос 236, который содержит информацию о картографической информации, запрошенной пользователем 215 (например, адрес для предоставления конкретной точки интереса или маршрутизации информации для создания маршрута). Картографический запрос 236 может создаваться в ответ на то, что пользователь 215 взаимодействует с картографическим приложением 280 (например, вводит запрошенную информацию и т.д.). В ответ на получение картографического запроса 236, сервер 230 может создавать и передавать картографическому приложению 280 пакет 238 картографической информации, который содержит данные, требуемые для картографического приложения 280 для создания и отображения картографического вида, который соответствует информации, запрошенной пользователем 215 и переданной как часть картографического запроса 236.
[00079] В альтернативных вариантах осуществления технологии, картографическое приложение 280 может сохранять локально (т.е. на электронном устройстве 214) некоторую картографическую информацию для так-называемого оффлайн просмотра (т.е. создание картографической информации без необходимости передачи картографического запроса 236 и/или получения пакета 238 картографической информации). Другими словами и в широком смысле, картографическая информация 280 может отрисовывать картографическое приложение на основе информации, полученной от сервера 230 либо в реальном времени либо в оффлайн-режиме.
[00080] На Фиг. 3 представлено поисковое приложение 214 с выводом картографического приложения 280. Картографическое приложение 280 представляет вывод (маршрутную информацию), который может создаваться на основе пакета 238 картографической информации, полученной от сервера 230. Картографическое приложение 280 представляет картографический вид 302. Картографический вид 302 включает в себя указание на транспортное средство 304 пользователя и указание на предлагаемый маршрут 306 (показано "стрелкой") в направлении конечной позиции 308, показанной флажком.
[00081] Предполагается, что пользователь 215 транспортного средства 304 запросил маршрутную информацию и следует предлагаемому маршруту 306 и находится почти на конечной позиции 308. Ситуация, которая показана на Фиг. 3, типична для ситуации когда пользователь 215 достигает своей конечной точки и ему необходимо припарковаться. На Фиг. 3 представлен набор возможных парковочных мест, включая первый парковочный гараж 310, второй парковочный гараж 312, третий парковочный гараж 314, первый набор парковочных мест 316 (который включает в себя три индивидуальных парковочных места), второй набор парковочных мест 318 (который включает в себя три индивидуальных парковочных места), третий набор парковочных мест 320 (который включает в себя два индивидуальных парковочных места), первое индивидуальное парковочное место 322 и второе индивидуальное парковочное место 324. Набор возможных парковочных мест (первый парковочный гараж 310, второй парковочный гараж 312, третий парковочный гараж 314, первый набор парковочных мест 316, второй набор парковочных мест 318, третий набор парковочных мест 320, первое индивидуальное парковочное место 322 и второе индивидуальное парковочное место 324) представляет собой все потенциальные парковочные места, где пользователь 215 может быть способен парковать транспортное средство 304 пользователя.
[00082] Как уже упоминалось ранее, в этот первый момент (который хорошо представляет собой то, на что способны существующие картографические приложения) можно сделать очень мало для предложения возможных парковочных мест пользователю 215 (кроме, например, демонстрации наличия потенциальных парковочных мест или числа общих парковочных мест, доступных в данном многоместном парковочном гараже, например, третьем гараже 314).
[00083] В рамках данного примера, пользователь 215 имеет несколько вариантов выбора. Пользователь 215 может повернуть налево (а затем снова налево), в этом случае пользователь 215 может получить доступ и потенциально найти парковочное место в одном из: первом гараже 310 или первом наборе парковочных мест 316. Альтернативно, пользователь 215 может повернуть направо (а затем снова направо), в этом случае пользователь 215 может получить доступ и потенциально найти парковочное место в одном из третьего набора парковочных мест 320. Наконец, пользователь 215 может повернуть направо, затем повернуть налево, после чего пользователь 215 может повернуть направо. Перемещаясь по этому маршруту, пользователь 215 может найти парковочное место на одном из (в этом порядке): втором наборе 318 парковочных мест, первом индивидуальном парковочном месте 322, и втором индивидуальном парковочном месте 324, Пользователь 215 может далее повернуть налево (используя отрезок дороги, который не виден), в этом случае пользователь 215 может быть в состоянии получить доступ и найти парковочное место во втором парковочном гараже 312. Аналогичным образом, пользователь 215 может далее повернуть направо (используя отрезок дороги, который не виден), в этом случае пользователь 215 может получить доступ и найти парковочное место в третьем парковочном гараже 314.
[00084] Можно увидеть, что на Фиг. 3 показана очень упрощенная версия карты и, следовательно, в реальности, пользователь 215 может в конечном итоге потратить значительное количество времени, чтобы объехать все возможные парковочные места (первый парковочный гараж 310, второй парковочный гараж 312, третий парковочный гараж 314, первый набор парковочных мест 316, второй набор парковочных мест 318, третий набор парковочных мест 320, первое индивидуальное парковочное место 322 и второе индивидуальное парковочное место 324) в надежде найти свободное парковочное место.
[00085] В соответствии с неограничивающими вариантами осуществления настоящей технологии, картографическое приложение 280 выполнено с возможностью отображения (а сервер 230 выполнен с возможностью создавать - для отображения картографическим приложением 280) парковочного маршрута 380. Как будет описано далее более подробно, сервер 230 создает парковочный маршрут 380 таким образом, чтобы оптимизировать парковочный маршрут 380 на основе: расстояния от по меньшей мере некоторых из набора парковок-кандидатов до конечной позиции 308; общего времени вдоль парковочного маршрута 380; общей вероятности запарковаться, которая основана на вероятности наличия свободного парковочного места на каждой из, по меньшей мере, набора парковок-кандидатов. В пределах этого конкретного неограничивающего примера, парковочный маршрут 380 охватывает подмножество расположений парковок-кандидатов (т.е. второй набор парковочных мест 318, первое индивидуальное парковочное место 322, второе индивидуальное парковочное место 324, третий набор парковочных мест 320) из всей совокупности парковок-кандидатов в рамках вида выхода картографического приложения 280, показанного на Фиг. 3 (т.е. первый парковочный гараж 310, второй парковочный гараж 312, третий парковочный гараж 314, первый набор парковочных мест 316, второй набор парковочных мест 318, третий набор парковочных мест 320, первое индивидуальное парковочное место 322 и второе индивидуальное парковочный место 324).
[00086] На Фиг. 4 представлена диаграмма движения сигнала, на которой представлен сигнал между электронным устройством 214 и сервером 230, которые реализованы в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[00087] Поток 402 сигнала
[00088] Как часть потока 402 сигналов, электронное устройство 214 передает на сервер 230 запрос на маршрутную информацию.
[00089] В некоторых вариантах осуществления настоящей технологии, поток сигнала 402 может быть создан в ответ на то, что пользователь 215 взаимодействует с картографическим приложением 280. Точный типа взаимодействия пользователя с картографическим приложением 280 не является ограничивающим. Пользователь 215 ввел адрес конечной точки и адрес начальной точки. Кроме того, адрес начальной точки может быть определен с использованием GPS (или других возможностей) электронного устройства 214 (например, с помощью вышеупомянутого модуля 150 GPS).
[00090] В дальнейших возможных вариантах осуществления технологии, пользователь 215 мог щелкнуть или иным образом активировать ссылку (из сообщения электронной почты или веб-сайта), которая автоматически загрузила адрес конечной точки в картографическое приложение 280.
[00091] Поток 404 сигнала
[00092] Как часть потока 404 сигнала, сервер 230 передает электронному устройству 214 информацию, достаточную для отображения картографическим приложением 280 пользователю 215 информации о маршруте между запрошенными начальной и конечной точками.
[00093] Когда пользователь 215 начинает движение по маршруту, картографическое приложение 280 постоянно отслеживает геопозицию электронного устройства 214. Для большинства картографических приложений 280 неотъемлемой функцией является отображение картографическим приложением 280 пользователю 215 обновленного положения пользователя 215 по мере продвижения пользователя 215 по маршруту.
[00094] Поток 406 сигнала
[00095] Как часть потока сигналов 406, сервер 230 получает от электронного устройства 214 указание на геопозицию, связанную с электронным устройством 214. В некоторых вариантах осуществления настоящей технологии, картографическое приложение 280 создает поток 406 сигнала по мере приближения электронного устройства 214 к конечной точке на заранее определенное расстояние. Например, электронное устройство 214 может создавать поток 406 сигнала, поскольку электронное устройство 214 находится в пределах 300 метров от конечной точки. Естественно, любая другая подходящая величина для заранее определенного расстояния может быть выбрана оператором компьютерной системы 100.
[00096] В альтернативных вариантах осуществления технологии, величина расстояния может быть выбрана пользователем 215 как часть настройки предпочтений для картографического приложения 280.
[00097] Поток 408 сигнала
[00098] Как часть потока 408 сигналов, сервер 230 создает, исходя из геопозиции электронного устройства 214, набор парковок-кандидатов.
[00099] В некоторых вариантах осуществления настоящей технологии, сервер 230 создает, исходя из геопозиции электронного устройства 214, набор парковок-кандидатов, основанный исключительно на геопозиции электронного устройства. В этих вариантах осуществления настоящей технологии, из всех возможных парковочных мест выбирается такой набор парковок-кандидатов, чтобы набор парковок-кандидатов находился в заранее определенном радиусе от геопозиции электронного устройства 214. Заранее определенный радиус может представлять собой любую подходящую величину, например, в пределах 200 метров, 500 метров, километра и тому подобное. Как и в приведенном выше примере, в отношении заранее определенного расстояния, этот заранее определенный радиус может быть задан оператором компьютерной системы 100 или пользователем 215.
[000100] В других вариантах осуществления настоящей технологии, сервер 230 создает набор парковок-кандидатов, исходя из расстояния от по меньшей мере некоторых из набора парковок-кандидатов до конечной позиции 308, и расстояния от по меньшей мере некоторых из набора парковок-кандидатов до геопозиции (т.е. текущего местоположения пользователя 215).
[000101] Используя приведенный выше пример, сервер создает набор парковка кандидатов из всех возможных парковок-кандидатов - первый парковочный гараж 310, второй парковочный гараж 312, третий парковочный гараж 314, первый набор парковочных мест 316, второй набор парковочных мест 318, третий набор парковочных мест 320, первое индивидуальное парковочное место 322 и второе индивидуальное парковочное место 324.
[000102] Поток 410 сигнала
[000103] Как часть потока 410 сигналов, сервер 230 определяет вероятность наличия свободного парковочного места в каждом из наборов парковок-кандидатов, выбранных в как часть потока 408 сигналов. В некоторых вариантах осуществления настоящей технологии, сервер 230 определяет вероятность наличия свободного парковочного места с помощью алгоритма, описанного в находящейся в совместном владении патентной заявке "SYSTEM AND METHOD FOR DETERMINING PARKING AVAILABILITY" (англ. "Система и способ определения наличия свободного парковочного места"), поданной в российское патентное ведомство (Роспатент) 7 ноября 2017 г., номер заявки 2017138515, содержание которой включено в настоящую заявку полностью посредством ссылки.
i
[000104] Вкратце, в конкретном неограничивающем варианте осуществления настоящей технологии, сервер 230 может определить вероятность наличия свободного парковочного места на основе вероятности того, что данное парковочное место свободно P(park), которая может рассматриваться как зависящая от текущего спроса на парковочное место, его доступности и максимальной вместимости, как показано в уравнении (1) ниже:
cool
cool
где f - функция для определения конкретной вероятности и может быть разной для разных городов. Например, для первого города (например, Москва) и парковочных мест на улицах, ƒ может быть функцией первой вероятности, которая представляет линейные парковочные места на улицах, а для второго города (например, Лос-Анджелес) и соответствующих парковочных площадках перед торговыми центрами с сотнями парковочных мест на каждой парковке, может применяться вторая функция вероятности. В некоторых вариантах осуществления, первая функция вероятности может быть общей функцией распределения, а вторая функция вероятности может быть функцией распределения масс. В некоторых аспектах, каждая функция вероятности использует набор факторов, например таких как как многомерная случайная величина или случайный вектор.
[000105] Поток 412 сигнала
[000106] Как часть потока 412 сигнала, сервер 230 создает парковочный маршрут 380 таким образом, чтобы оптимизировать парковочный маршрут 380 на основе: расстояния от по меньшей мере некоторых из набора парковок-кандидатов до конечной позиции 308; общего времени вдоль парковочного маршрута 380; общей вероятности запарковаться, которая основана на вероятности наличия свободного парковочного места на каждой из, по меньшей мере, набора парковок-кандидатов.
[000107] В некоторых вариантах осуществления настоящей технологии, сервер 230 оптимизирует парковочный маршрут 380 таким образом, чтобы: (i) минимизировать расстояния от данной из по меньшей мере некоторых из набора парковок-кандидатов до целевой позиции, причем данная парковка является фактическим местом парковки, где пользователь 215 может осуществить парковку; и (ii) минимизировать общее время в пути по таким образом рекомендованному парковочному маршруту 380. Следует отметить, что общее время в пути является временем в пути от текущего местоположения до фактического места парковки, и общее время в пути определяется для пути через отрезок парковочного маршрута из текущего положения до фактического места парковки.
[000108] Теперь обратим внимание на различные неограничивающие примеры того, как сервер 230 может реализовать этап создания парковочного маршрута 380.
[000109] В конкретном неограничивающем примере, оптимизация парковочного маршрута 380 может быть выполнена путем применения сервером 230 алгоритма оптимума (или эффективности) по Парето. Как известно специалистам в данной области техники, эффективность Парето - это такое состояние распределения ресурсов, которое нельзя перераспределить иным образом так, чтобы улучшить ни один личный критерий или критерий предпочтения, не ухудшив при этом хотя бы один из личного критерия или критерия предпочтения.
[000110] В некоторых вариантах осуществления настоящей технологии. Сервер 230 создает оптимизацию парковочного маршрута 380 путем осуществления, для заданного набора парковок-кандидатов: (i) определения расстояния от текущего положения до данной из набора парковок-кандидатов; и (ii) определения величины одно-стадийной оптимизации, которая основана на вероятности запарковаться на данной из набора парковок-кандидатов, причем величина одно-стадийной оптимизации представляет собой: (а) расстояние от данной из набора парковок-кандидатов до конечной точки; (b) общее время поездки по парковочному маршруту от текущего положения до данной из набора парковок-кандидатов; и общей вероятности запарковаться, которая основана на вероятности наличия свободного парковочного места на данной из набора парковок-кандидатов.
[000111] После того как определена величина одно-стадийной оптимизации, сервер 230 осуществляет создание парковочного маршрута 380 путем дальнейшего осуществления: определения величины двух-стадийной оптимизации, которая основана на вероятности запарковаться на следующей за данной из набора парковок-кандидатов, причем величина двух-стадийной оптимизации представляет собой: расстояние от следующей из набора парковок-кандидатов до конечной позиции; общее время поездки по парковочному маршруту от текущего положения до следующего; общей вероятности запарковаться, которая основана на вероятности наличия свободного парковочного места на данной и следующей из набора парковок-кандидатов.
[000112] Далее сервер 230 повторяет процесс для всех остальных парковок-кандидатов. Другими словами, можно сказать, что сервер 230 осуществляет повторение этапа определения величины N-стадийной оптимизации с помощью N-последующих после следующей за данной из набора парковок-кандидатов. В некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 230 далее осуществляет повторение процесса определения для всех из набора парковок-кандидатов.
[000113] Следовательно, можно сказать, что в некоторых вариантах осуществления настоящей технологии, сервер 230 может далее осуществлять повтор процесса определения для всех из набора парковок-кандидатов выполняется итеративно для всех из набора парковок-кандидатов, причем итеративный процесс начинается с данной и увеличивает цепь кандидатов до длины N по меньшей мере некоторых из набора парковок-кандидатов.
[000114] Процесс быть наилучшим образом показан с помощью схематической иллюстрации, представленной на Фиг. 6, где показан процесс 602 роста цепи кандидатов до длины N по меньшей мере некоторых из набора парковок-кандидатов. В иллюстрации на Фиг. 6, для целей простоты показано только три итерации - первая итерация 604, вторая итерация 606 и третья итерация 608. Однако следует четко понимать, что возможен ряд дополнительных итераций (совокупно изображенных под номером 610), пока не будет разработана цепочка, обладающая длиной N.
[000115] Первая итерация 604, сервер 230 определяет для данного из набора парковок-кандидатов определяет величину одно-стадийной оптимизации, которая основана на вероятности запарковаться на данной из набора парковок-кандидатов, причем величина одно-стадийной оптимизации представляет собой: (а) расстояние от данной из набора парковок-кандидатов до конечной точки; (b) общее время поездки по парковочному маршруту от текущего положения до данной из набора парковок-кандидатов; и (iii) общую вероятность запарковаться, которая основана на вероятности наличия свободного парковочного места на данной из набора парковок-кандидатов.
[000116] Как показано на Фиг. 6, сервер 230 создает величину одно-стадийной оптимизации для каждой из парковок-кандидатов - А, В и С (а также для любых других дополнительных парковок-кандидатов, совместно представленных номером 612).
[000117] На второй итерации 606, сервер 230 осуществляет определение величины двух-стадийной оптимизации, которая основана на вероятности запарковаться на следующей за данной из набора парковок-кандидатов, причем величина двух-стадийной оптимизации представляет собой: расстояние от следующей из набора парковок-кандидатов до конечной позиции; общее время поездки по парковочному маршруту от текущего положения до следующего; общую вероятность запарковаться, которая основана на вероятности наличия свободного парковочного места на данной и следующей из набора парковок-кандидатов.
[000118] Как показано на Фиг. 6, создаются величины двух-стадийной оптимизации для А-->В, В-->А, и С-->В двух кандидатов-стадий (а также двух других потенциальных кандидатов-стадий, которые совместно представлены под номером 612).
[000119] На итерации 608, сервер 230 осуществляет определение величины трех-стадийной оптимизации, которая основана на вероятности запарковаться на следующей за данной из набора парковок-кандидатов, причем величина трех-стадийной оптимизации представляет собой: расстояние от следующей из набора парковок-кандидатов до конечной позиции; общее время поездки по парковочному маршруту от текущего положения до следующего; общую вероятность запарковаться, которая основана на вероятности наличия свободного парковочного места на данной и следующей из набора парковок-кандидатов.
[000120] Как показано на Фиг. 6, создаются величины трех-стадийной оптимизации для А-->В-->С, В-->А-->С, и С-->В-->А трех кандидатов-стадий (а также трех других потенциальных кандидатов-стадий, которые совместно представлено номером 612).
[000121] Как упоминалось ранее, сервер 230 осуществляет повтор процесса - т.е. повтор определения для всех из набора парковок-кандидатов выполняется итеративно для всех из набора парковок-кандидатов, причем итеративный процесс начинается с данной и увеличивает цепь кандидатов до длины N по меньшей мере некоторых из набора парковок-кандидатов (как показано на 610).
[000122] С учетом того, что сервер 230 может выполнять оптимизацию по Парето, в некоторых вариантах осуществления способа, сервер 230 далее может выполнять сокращение величин N-стадийной оптимизации, которые обладают и общим временем поездки и расстоянием, которые находятся ниже заранее определенной соответствующей пороговой величины. Другими словами, вместо обработки всех возможных комбинаций маршрутов, сервер 230 может далее оптимизировать процесс, динамически отбрасывая некоторые из созданных парковочных маршрутов, которые априори не подходят, например, те, в которых время в пути и/или расстояние находится ниже заранее определенного порога приемлемости.
[000123] В некоторых вариантах осуществления настоящей технологии, сервер 230 может далее выполнять: выбор по меньшей мере некоторых из набора парковок-кандидатов из набора парковок-кандидатов на основе величин N-стадийной оптимизации, которые связаны с общей вероятностью запарковаться, находящейся выше заранее определенной пороговой величины.
[000124] Процесс может далее включать в себя: на основе минимальной величины среднего расстояния к конечной точке, среднее расстояние, которое является вкладом в общую величину расстояния из каждого индивидуального расстояния для членов группы, связанных с конкретной стадией величин N-стадийной оптимизации.
[000125] В некоторых вариантах осуществления настоящей технологии, сервер 230 может далее осуществлять вычисление общей вероятности запарковаться как суммы вероятности наличия свободного парковочного места на данной из набора парковок-кандидатов и вероятности наличия свободного парковочного места на следующей.
[000126] Поток 414 сигнала
[000127] Как часть потока 414 сигналов, сервер 230 передает указание на парковочный маршрут 380 электронному устройству 214 потока 414 сигнала, что позволяет электронному устройству 214 отображать парковочный маршрут 380 пользователю.
[000128] Поток 416 сигнала
[000129] Как часть потока 416 сигналов, картографическое приложение 280 отображает на карте 302 указание на парковочный маршрут 380. Следует отметить, что вариант отображения парковочного маршрута 380 (т.е. его визуальных характеристик) не является ограничивающим, и возможны различные конкретные неограничивающие варианты осуществления.
[000130] В некоторых неограничивающих вариантах осуществления технологии, предполагается, что визуальное представление парковочного маршрута 380 может отличаться от предложенного маршрута 306. Например, предлагаемый маршрут 306 может быть изображен сплошной линией, а парковочный маршрут 380 - пунктирной линией. Альтернативно или дополнительно, предлагаемый маршрут 306 может быть изображен первым цветом, а парковочный маршрут 380 - вторым цветом. В рамках этих вариантов осуществления настоящей технологии, различающиеся визуальные представления предлагаемого маршрута 306 и парковочного маршрута 380 позволяет пользователю 215 легко и удобно различать их.
[000131] Однако в альтернативных неограниченных вариантах существующей технологии, маршрут парковки 380 может быть изображен таким же визуальным образом, как и предлагаемый маршрут 306.
[000132] Описание способа;
[000133] Учитывая архитектуру, описанную выше, можно выполнить способ создания парковочного маршрута 380, причем парковочный маршрут должен отображаться в картографическом приложении 280, которое выполняется электронным устройством 214 (которое подключается к серверу 230 через сеть 240 перед данных). На Фиг. 5 представлена блок-схема способа 500, выполняемого сервером 230.
[000134] Этап 502 - получение от электронного устройства указания на геопозицию, связанную с электронным устройством
[000135] На этапе 406, получение от электронного устройства указания на геопозицию, связанную с электронным устройством.
[000136] Как было описано ранее с отсылкой на поток 406 сигналов, сервер 230 получает от электронного устройства 214 указание на геопозицию, связанную с электронным устройством 214. В некоторых вариантах осуществления настоящей технологии, картографическое приложение 280 создает поток 406 сигнала по мере приближения электронного устройства 214 к конечной точке на заранее определенном расстоянии. Например, электронное устройство 214 может создавать поток 406 сигнала, поскольку электронное устройство 214 находится в пределах 300 метров от конечной точки. Естественно, любая другая подходящая величина для заранее определенного расстояния может быть выбрана оператором компьютерной системы 100.
[000137] В альтернативных вариантах осуществления технологии, величина расстояния может быть выбрана пользователем 215 как часть настройки предпочтений для картографического приложения 280.
[000138] Этап 504 - создание, на основе геопозиции, набора парковок-кандидатов
[000139] На этапе 504, сервер 230 создает, на основе геопозиции, набора парковок-кандидатов. Как уже упоминалось ранее со ссылкой на потока 408 сигналов, сервер 230 создает, исходя из геопозиции электронного устройства 214, набор парковок-кандидатов.
[000140] В некоторых вариантах осуществления настоящей технологии, сервер 230 создает, исходя из геопозиции электронного устройства 214, набор парковок-кандидатов, основанный исключительно на геопозиции электронного устройства. В этих вариантах осуществления настоящей технологии, из всех возможных парковочных мест выбирается такой набор парковок-кандидатов, чтобы набор парковок-кандидатов находился в заранее определенном радиусе от геопозиции электронного устройства 214. Заранее определенный радиус может представлять собой любую подходящую величину, например, в пределах 200 метров, 500 метров, километра и тому подобное. Как и в приведенном выше примере, в отношении заранее определенного расстояния, этот заранее определенный радиус может быть задан оператором компьютерной системы 100 или пользователем 215.
[000141] В других вариантах осуществления настоящей технологии, сервер 230 создает набор парковок-кандидатов, исходя из расстояния от по меньшей мере некоторых из набора парковок-кандидатов до конечной позиции 308, и расстояния от по меньшей мере некоторых из набора парковок-кандидатов до геопозиции (т.е. текущего местоположения пользователя 215).
[000142] Используя приведенный выше пример, сервер создает набор парковка кандидатов из всех возможных парковок-кандидатов - первый парковочный гараж 310, второй парковочный гараж 312, третий парковочный гараж 314, первый набор парковочных мест 316, второй набор парковочных мест 318, третий набор парковочных мест 320, первое индивидуальное парковочное место 322 и второе индивидуальное парковочное место 324.
[000143] Этап 506 - определение сервером вероятности наличия свободного парковочного места на каждой из парковок-кандидатов
[000144] На этапе 506, сервер 230 определяет вероятность наличия свободного парковочного места на каждой из парковок-кандидатов. Как было описано выше со ссылкой на поток 410 сигналов, сервер 230 определяет вероятность наличия свободного парковочного места в каждом из наборов парковок-кандидатов, выбранных в как часть потока 408 сигналов. В некоторых вариантах осуществления настоящей технологии, сервер 230 определяет вероятность наличия свободного парковочного места с помощью алгоритма, описанного в находящейся в совместном владении патентной заявке "SYSTEM AND METHOD FOR DETERMINING PARKING AVAILABILITY" (англ. "Система и способ определения наличия свободного парковочного места"), поданной в российское патентное ведомство (Роспатент) 7 ноября 2017 г., номер заявки 2017138515, содержание которой включено в настоящую заявку полностью посредством ссылки.
i
[000145] Вкратце, в конкретном неограничивающем варианте осуществления настоящей технологии, сервер 230 может определить вероятность наличия свободного парковочного места на основе вероятности того, что данное парковочное место свободно P(park), которая может рассматриваться как зависящая от текущего спроса на парковочное место, его доступности и максимальной вместимости, как показано в уравнении (1) ниже:
cool
cool
где f - функция для определения конкретной вероятности и может быть разной для разных городов. Например, для первого города (например, Москва) и парковочных мест на улицах, ƒ может быть функцией первой вероятности, которая представляет линейные парковочные места на улицах, а для второго города (например, Лос-Анджелес) и соответствующих парковочных площадках перед торговыми центрами с сотнями парковочных мест на каждой парковке, может применяться вторая функция вероятности. В некоторых вариантах осуществления, первая функция вероятности может быть общей функцией распределения, а вторая функция вероятности может быть функцией распределения масс. В некоторых аспектах, каждая функция вероятности использует набор факторов, например таких как как многомерная случайная величина или случайный вектор.
[000146] Этап 508 - создание сервером парковочного маршрута, который содержит по меньшей мере некоторые из набора парковок-кандидатов, причем создание выполняется для оптимизации парковочного маршрута на основе: расстояния от по меньшей мере некоторых из набора парковок-кандидатов до конечной позиции; общего времени вдоль парковочного маршрута; общей вероятности запарковаться, которая основана на вероятности наличия свободного парковочного места на каждой из по меньшей мере набора парковок-кандидатов.
[000147] На этапе 508, сервер 230 создает парковочный маршрут 380, который содержит по меньшей мере некоторые из набора парковок-кандидатов, причем создание выполняется для оптимизации парковочного маршрута на основе: расстояния от по меньшей мере некоторых из набора парковок-кандидатов до конечной позиции; общего времени вдоль парковочного маршрута; общей вероятности запарковаться, которая основана на вероятности наличия свободного парковочного места на каждой из, по меньшей мере, набора парковок-кандидатов.
[000148] Как было описано выше со ссылкой на поток 412 сигнала, сервер 230 создает парковочный маршрут 380 таким образом, чтобы оптимизировать парковочный маршрут 380 на основе: расстояния от по меньшей мере некоторых из набора парковок-кандидатов до конечной позиции 308; общего времени вдоль парковочного маршрута 380; общей вероятности запарковаться, которая основана на вероятности наличия свободного парковочного места на каждой из по меньшей мере набора парковок-кандидатов.
[000149] В некоторых вариантах осуществления настоящей технологии, сервер 230 оптимизирует парковочный маршрут 380 таким образом, чтобы: (i) минимизировать расстояния от данной из по меньшей мере некоторых из набора парковок-кандидатов до целевой позиции, причем данная парковка является фактическим местом парковки, где пользователь 215 может осуществить парковку; и (ii) минимизировать общее время в пути через таким образом рекомендуемый парковочный маршрут 380. Следует отметить, что общее время в пути является временем в пути от текущего местоположения до фактического места парковки, и общее время в пути определяется для проезда через отрезок парковочного маршрута из текущего положения до фактического места парковки.
[000150] Теперь обратим внимание на различные неограничивающие примеры того, как сервер 230 может реализовать этап создания парковочного маршрута 380.
[000151] В конкретном неограничивающем примере, оптимизация парковочного маршрута 380 может быть выполнена путем применения сервером 230 алгоритма оптимума (или эффективности) по Парето. Как известно специалистам в данной области техники, эффективность Парето - это такое состояние распределения ресурсов, которое нельзя перераспределить иным образом так, чтобы улучшить ни один личный критерий или критерий предпочтения, не сделав ухудшив при этом хотя бы один из личного критерия или критерия предпочтения.
[000152] В некоторых вариантах осуществления настоящей технологии. Сервер 230 создает оптимизацию парковочного маршрута 380 путем осуществления, для заданного набора парковок-кандидатов: (i) определения расстояния от текущего положения до данной из набора парковок-кандидатов; и (ii) определения величины одно-стадийной оптимизации, которая основана на вероятности запарковаться на данной из набора парковок-кандидатов, причем величина одно-стадийной оптимизации представляет собой: (а) расстояние от данной из набора парковок-кандидатов до конечной точки; (b) общее время поездки по парковочному маршруту от текущего положения до данной из набора парковок-кандидатов; и общей вероятности запарковаться, которая основана на вероятности наличия свободного парковочного места на данной из набора парковок-кандидатов.
[000153] После того как определена величина одно-стадийной оптимизации, сервер 230 осуществляет создание парковочного маршрута 380 путем дальнейшего осуществления: определения величины двух-стадийной оптимизации, которая основана на вероятности запарковаться на следующей за данной из набора парковок-кандидатов, причем величина двух-стадийной оптимизации представляет собой: расстояние от следующей из набора парковок-кандидатов до конечной позиции; общее время поездки по парковочному маршруту от текущего положения до следующего; общую вероятность запарковаться, которая основана на вероятности наличия свободного парковочного места на данной и следующей из набора парковок-кандидатов.
[000154] Сервер 230 далее повторяет этот процесс для всех парковок-кандидатов. Другими словами, можно сказать, что сервер 230 осуществляет повторение этапа определения величины N-стадийной оптимизации с помощью N-последующих после следующей за данной из набора парковок-кандидатов. В некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 230 далее осуществляет повторение процесса определения для всех из набора парковок-кандидатов.
[000155] Следовательно, можно сказать, что в некоторых вариантах осуществления настоящей технологии, сервер 230 может далее осуществлять повтор процесса определения для всех из набора парковок-кандидатов выполняется итеративно для всех из набора парковок-кандидатов, причем итеративный процесс начинается с данной и увеличивает цепь кандидатов до длины N по меньшей мере некоторых из набора парковок-кандидатов.
[000156]
[000157]
[000158] Модификации и улучшения вышеописанных вариантов осуществления настоящей технологии будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не устанавливает никаких ограничений. Таким образом, объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.