СИСТЕМА УПРАВЛЕНИЯ И ВЫЧИСЛЕНИЙ ДЛЯ ТРАНСПОРТНОГО СРЕДСТВА
VEHICLE MANAGEMENT AND COMPUTATION SYSTEM

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение в целом относится к автомобильным применениям, использующим облачные вычисления, и в частности, к интерфейсу между транспортным средством и ресурсами облачных вычислений.
УРОВЕНЬ ТЕХНИКИ
Бортовые вычислительные устройства транспортного средства (например, такие как управляемые микропроцессором электронные модули, такие как контроллеры силовой передачи, системы информирования водителя и развлекательные системы) в целом ограничены относительно низкими мощностями обработки компьютеров транспортного средства, небольшими хранилищами данных и отсутствием легкого доступа к обновлениям программ или другим данным, которые создаются после того, как транспортное средство запущено в работу. Усовершенствования возможности установления мобильной связи между транспортными средствами и внешней вычислительной облачной инфраструктурой начинают задействовать новые классы электронных признаков, которые не ограничены таким образом.
Беспроводное соединение, имеющееся в распоряжении для беспроводной связи транспортного средства, часто характеризуется переменной шириной полосы пропускания, переменным временем ожидания и спорадической доступностью. Типичный компьютер или электронный блок управления (ECU) в транспортном средстве характеризуется высокой надежностью, высокой долговечностью, жесткой реакцией в реальном времени, низкой вычислительной мощностью и очень небольшой памятью (в частности, энергонезависимой памятью). ECU является мобильным, выдерживает срок службы транспортного средства и является частью закупки транспортного средства. Данные, созданные в ECU, имеют тенденцию быть связанными с событиями, которые произошли в прошлом в очень краткосрочных масштабах. В противоположность, облачные компьютеры характеризуются высокой надежностью, высокой вычислительной мощностью, большой памятью и (с ракурса транспортного средства) отсутствием реакции реального времени. Они являются стационарными администрируемыми системами, которые часто пополняются и работают на основе аренды, собственности или платы за использование. Данные, созданные в облаке, склоняются к тому, чтобы иметь прогнозную сущность, которая скорее сообщает, что может ожидаться когда-нибудь в будущем, нежели что произошло в прошлом.
Несмотря на то что бортовая сетевая архитектура управления остается преобладающим подходом для критичных по безопасности функциональных возможностей и функциональных возможностей реального времени, применения облачных вычислений могут давать улучшенные функциональные возможности управления/адаптации автомобиля и новые функциональные возможности. Например, облачные вычисления могут предоставлять интенсивные по ресурсам услуги чтобы добиваться более экономных, более безопасных, более развитых, более экологичных и более приятных автомобильных операций.
Облачные вычисления являются моделью для предоставления возможности сетевого доступа к совместно используемому пулу конфигурируемых вычислительных ресурсов, которые имеют виртуально неограниченное пространство для хранения и по существу неограниченную вычислительную мощность. Области, в которых облачные вычисления предлагают улучшенные рабочие характеристики транспортного средства и удобство для водителя, включают в себя решение проблем с пробками на дороге, планирование маршрута, адаптацию целевых скоростей под дорожные условия и условия движения, калибровку систем транспортного средства (например, активной подвески) под меняющиеся условия окружающей среды, и многие другие.
Доступу к облачным ресурсам необходимо предоставляться быстро и освобождаться с минимальными усилиями на управление или взаимодействие с поставщиком услуг. Операционное сопряжение и управление вычислениями для осуществления доступа к облачным ресурсам должны оптимизироваться относительно относительных ограничений и сильных сторон двух сред обработки.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
В изобретении предложена система управления вычислениями для надзора за и реализации связанных с вычислениями задач, использующих облачные ресурсы, некоторым образом, который эффективно удовлетворяет потребности связи в реальном времени между сетями в транспортном средстве и облачным сервером, вызова агентов по требованию (например, прогона и освобождения), интерактивных и автономных вычислений и сохранения, частых вычислительных циклов (например, запуска, прогона и окончания), обработки информации (например, классификации, совместного использования, хранения), и устойчивой и надежной работы и связи.
Со сложностью вычислений можно справляться благодаря разным комбинациям приоритетов и требований. Локальные вычисления, проводимые в сетях в транспортном средстве, находятся в диапазоне от простых (требующих меньших вычислительных ресурсов) до сложных (требующих больших вычислительных ресурсов). То же самое правильно для удаленных вычислений, проводимых на серверах облачных вычислений (CCS), давая в результате следующие возможные комбинации:
проведение простых вычислений в локальных ECU с высокими частотами выборки и использованием имеющихся в распоряжении данных CCS для улучшения локальных вычислений на низкой частоте выборки, дающие в результате стратегию локального простого и удаленного простого (LSRS),
проведение простых вычислений в локальных ECU с высокими частотами выборки и привлечение внешних ресурсов для сложных вычислений с CCS, чтобы агенты облачных вычислений обращались с низкой частотой выборки, дающие в результате стратегию локального простого и удаленного сложного (LSRC),
проведение сложных вычислений, которые совместимы с возможностями современных ECU, на высокой частоте выборки и использование имеющихся в распоряжении данных CCS для улучшения локальных вычислений на низкой частоте выборки, дающие в результате стратегию локального сложного и удаленного простого (LCRS), и
проведение сложных вычислений, которые совместимы с возможностями современных ECU, на высокой частоте выборки и привлечение внешних ресурсов для еще более ресурсоемких вычислений у CCS, чтобы агенты облачных вычислений обращались с низкой частотой выборки, дающие в результате стратегию локального сложного и удаленного сложного (LCRC).
Система управления вычислениями по изобретению распределяет сложные задачи согласно соответствующей сложности, которой необходимо обеспечиваться.
Что касается каждой соответствующей задачи, инициированной на борту транспортного средства, которая зависит от какого-нибудь взаимодействия с облачными ресурсами, соответствующая программная сущность, известная в виде агента, может вводиться в действие в облаке. Агенты иллюстрируют преимущества объединения облачных вычислений с элементами управления транспортного средства. Агенты в целом могут выполнять задачи согласно трем основным группам: обслуживание, надзор и краудсорсинг. Агенты обслуживания имеют дело главным образом с диспетчеризацией данных, и они сосредотачиваются на обработке, упорядочении, обобщении и хранении информации в CCS. Надзорные агенты расширяют возможности бортовых элементов управления транспортного средства выполнением обширных задач управления, которые требуют значительных вычислительных ресурсов, и которые не пригодны для реализации на борту, например, обучения моделей водителя, оценивания состояний транспортного средства, расчета оптимального профиля скорости вдоль заданного маршрута, калибровок управления в реальном времени, и т.д. Агенты краудсорсинга собирают и обобщают информацию с многочисленных транспортных средств, комбинируют эту информацию с другими облачными источниками информации (например, погодными условиями, обновлениями дорожного движения, географическими данными) и оценивают состояния групп транспортных средств, такие как характеризующие текущие условия движения и дорожные условия в определенном местоположении.
В одном из аспектов изобретения, система управления и вычислений транспортного средства содержит контроллер задач в транспортном средстве и специфичный транспортному средству диспетчер вычислений в облачной сети. Беспроводный канал передачи данных связывает контроллер задач и облачную сеть. Контроллер задач выполняет операционные задачи в транспортном средстве с использованием связанных с данными ресурсов в облачной сети. После инициирования одной из операционных задач, контроллер задач отправляет сигнал квитирования установления связи диспетчеру вычислений в виде запроса ресурсов. Диспетчер вычислений вызывает по меньшей мере одного основанного на облаке агента из базы данных заданных агентов в ответ на сигнал квитирования установления связи. Контроллер задач выполняет операционную задачу посредством осуществления связи с вызванным агентом.
В одном из вариантов предложена система, в которой диспетчер вычислений хранит список задач и долгосрочный архив данных, соответствующие транспортному средству.
В одном из вариантов предложена система, в которой диспетчер вычислений принимает множество перекрывающихся запросов ресурсов от транспортного средства, при этом диспетчер вычислений выполняет задачу Приоритезации для приоритезации каждого принятого запроса ресурса относительно списка задач и для регулировки осуществления вызванного агента согласно приоритезации.
В одном из вариантов предложена система, в которой диспетчер вычислений выполняет задачу Инициирования при вызове вызванного агента для установки начальных данных и условий, используемых вызванным агентом.
В одном из вариантов предложена система, в которой начальные данные и условия включают в себя содержимое сигнала квитирования установления связи.
В одном из вариантов предложена система, в которой начальные данные и условия включают в себя содержимое архива данных.
В одном из вариантов предложена система, в которой начальные данные и условия включают в себя краудсорсинговые данные, хранимые в облачной сети.
В одном из вариантов предложена система, в которой диспетчер вычислений выполняет задачу Перебалансирования для остановки вызванного агента и повторной идентификации агента замещения в ответ на изменяющиеся условия транспортного средства.
В одном из вариантов предложена система, в которой диспетчер вычислений выполняет задачу Результатов для отправки результатов в контроллер задач в ответ на успешную операцию вызванного агента.
В одном из вариантов предложена система, в которой диспетчер вычислений выполняет задачу Неисправности в ответ на неуспешную операцию вызванного агента, при этом задача Неисправности включает в себя повторную инициализацию для повторной установки начальных данных и условий, используемых вызванным агентом, и повторный запуск вызванного агента.
В одном из вариантов предложена система, в которой диспетчер вычислений выполняет задачу Завершения для освобождения вызванного агента и связанных с данными ресурсов после 1) выполнения задачи Результатов или 2) неспособности задачи Неисправности повторно запустить вызванный агент.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - схема, показывающая обмен информацией транспортного средства с облачными ресурсами через систему беспроводной связи.
Фиг. 2 - структурная схема, показывающая системы транспортного средства согласно варианту осуществления изобретения.
Фиг. 3 - структурная схема, показывающая более подробно канал связи.
Фиг. 4 - модель, показывающая различные функциональные элементы среды транспортного средства/облачных вычислений по изобретению.
Фиг. 5 - структурная схема системы управления вычислениями согласно варианту осуществления изобретения.
Фиг. 6 - структурная схема, показывающая задачи управления вычислениями для системы по фиг. 5.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Фиг. 1 показывает систему облачных вычислений, в которой транспортные средства 10 и 11 беспроводным образом поддерживают связь с облачными ресурсами 12 через систему передачи данных, основанную на системе мобильной сотовой связи. Транспортное средство 10 поддерживает связь с сетью 13 оператора сотовой связи через вышку 14 сотовой связи, и транспортное средство 11 поддерживает связь с сетью 15 оператора сотовой связи через вышку 16 сотовой связи. Сети 13 и 15 поставщиков взаимосвязаны. Облачные ресурсы 12 присоединены к сотовым сетям через шлюз 17. Облако 12 может включать в себя любой произвольный набор ресурсов, в том числе, множество серверов 20-22.
Фиг. 2 показывает типичную вычислительную архитектуру в транспортном средстве 10, в которой вычислительные ресурсы распределены среди множества электронных модулей, в том числе контроллера 25 задач и контроллера 26 задач. Каждый контроллер задач в транспортном средстве 10, например, может взаимодействовать с соответствующими датчиками 27, исполнительными механизмами 28 и человеко-машинным интерфейсом 29 (HMI). Контроллеры 25 и 26 задач взаимосвязаны интерфейсной или коммуникационной шиной 24 в транспортном средстве, которая известна в данной области техники. Беспроводный интерфейс 30 передачи данных присоединен к контроллерам 25 и 26 задач через шину 24, чтобы устанавливать беспроводный канал передачи данных, присоединяющий контроллеры задач к облачной сети.
Беспроводный канал передачи данных показан подробнее на фиг. 3, при этом множество разных технологий связи может использоваться, чтобы помогать обеспечивать максимальную возможность установления связи между транспортным средством и облачными ресурсами. Облачная вычислительная сеть 12 присоединена к сотовой сети 31, включающей в себя вышки сотовой связи для беспроводного обмена данными с бортовым модемом 32 сотовой связи и/или мобильным устройством 33 водителя, чтобы переносить пакеты сетевой передачи информации в и из сетей в транспортном средстве через шину 24. Установленный на транспортном средстве беспроводный интерфейс 30 передачи данных может включать в себя порт 34 связи, расширяющий возможности связи устройствами Wi-Fi, Bluetooth, и присоединенными через USB. Более того, порт 35 проводной связи может быть предусмотрен для других типов режимов сетевой передачи информации, таких как сеть Интернет.
Фиг. 4 показывает модель интерфейса между транспортным средством и облаком, в которой  обозначает совокупность всех уместных исполнительных механизмов в транспортном средстве,  - силовая установка транспортного средства,  - совокупность всех датчиков, а  - совокупность всех контроллеров. Кроме того,  представляет водителя, а  обозначает опорные сигналы.  - задаваемое приращениями управление, сформированное из локальных измерений транспортного средства,  - задаваемое приращениями управление, сформированное как из локальной, так и облачной информации,  - задаваемый приращениями опорный сигнал, сформированный из локальных измерений транспортного средства, и  задаваемые приращениями опорные сигналы, сформированные как из локальной, так и облачной информации.  представляет беспроводные устройства связи.  - совокупность блоков хранения данных, обработки данных, вычислений и программного обеспечения в облаке 12.  обозначает цифровой сигнал управления, сформированный из контроллеров , который проходит через цифро-аналоговый преобразователь a перед подачей команды на исполнительный механизм .  представляет команды управления водителя, которые находятся под влиянием i) неизвестной информации, обозначенной , в виде наблюдаемой водителем, ii) , которые являются измерениями датчиков исполнительных механизмов, iii) , которые являются цифровыми измерениями датчиков посредством пропускания выходных сигналов  через аналого-цифровой преобразователь , и iv) , который является опорным сигналом.  - представляет сигнал, передаваемый между  и .  - сигнал, передаваемый между  и , а  - сигнал, передаваемый между  и .  - сигнал, передаваемый между и , а  - сигнал, передаваемый между  и .
Сложность вычислений, которые должны быть проведены в или для транспортного средства, которое является работающим вместе с облачным сервером, сильно отлична от типичных бортовых вычислений, которые традиционно проводились в локальных автономных ECU на транспортном средстве. В традиционных бортовых архитектурах, ECU главным образом проводили вычисления независимо и с минимальной информацией, совместно используемой по сетям в транспортном средстве, таким как CAN. Все вычислительные мощности были выделены под отдельные ECU, и было невозможно переключать объекты обслуживания ECU. В облачных вычислениях по настоящему изобретению, облачный сервер является динамически масштабируемым и адаптируемым, создавая виртуальный ECU, который имеет неограниченную вычислительную мощность и неограниченное пространство для хранения. Такой «расширенный» ECU потенциально может быть адаптирован для обслуживания любого транспортного средства и выполнения любых требуемых функций. Вычислительные потребности для каждого транспортного средства или реализованные функции каждого транспортного средства могут управляться благодаря различным комбинациям приоритетов, арбитрирования, диспетчеризации и циклического повторения.
Фиг. 5 показывает один из предпочтительных вариантов осуществления для системы управления вычислениями, развернутой в пределах облачной сети 12. Для каждого конкретного транспортного средства, авторизованного использовать конкретную систему сервера облачных вычислений, предусмотрен отдельный специфичный транспортному средству диспетчер 40-43 (VCM) 40-43. Внутренние детали и другие соединения облачной сети показаны только для VCM 40.
VCM 40 присоединен к центральному диспетчеру 45, через который поставщик услуг осуществляет централизованный контроль над всеми VCM. Центральный диспетчер 45 и VCM 40 присоединены к базе 46 данных агентов, в которой хранится множество заданных агентов, которые были разработаны раньше, чтобы выполнять заданные задачи, которые делаются имеющимися в распоряжении у отдельных транспортных средств. Каждый агент выполнен с возможностью вызываться (то есть, запускаться) соответствующим VCM, чтобы добиваться соответствующей задачи, которая может, когда необходимо, поддерживать связь с или использовать дополнительные облачные ресурсы 47.
VCM 40 (который выделен под конкретное отдельное транспортное средство) включает в себя список 50 задач, архив 51 данных и рабочее пространство 52 агента для управления и выполнения операционных задач, определенных запросами транспортного средства, которые активизируют связанные с данными ресурсы облачной сети 12. Список 50 задач используется для отслеживания многочисленных одновременных запросов ресурсов, которые были инициированы соответствующим транспортным средством, так чтобы одновременные задачи могли быть приоритезированы согласно заданным критериям. Архив 51 хранит специфичную транспортному средству информацию для поддержки операционных задач, которые могут применять исторические данные. Рабочее пространство 52 агента поддерживается, чтобы поддерживать создание отдельных экземпляров заданных агентов, вызываемых в ответ на запрошенные транспортным средством операционные задачи.
Согласно изобретению, когда любой один из контроллеров задач в пределах транспортного средства инициирует операционную задачу, которая осуществляет взаимодействие с облачными вычислительными ресурсами, сигнал квитирования установления связи формируется для отправки специфичному транспортному средству диспетчеру вычислений (VCM) в облаке. Сигнал квитирования установления связи может иметь следующую структуру.
Сигнал квитирования установления связи
Байт
Значение и смысл байта
0
0
Нет запросов из локальных ECU и облака.Нет связи между облаком и локальными ECU.
1Запрос связи
0
Не активен
1
Локальные ECU запрашивают облачные данные, облаку не нужны данные из локальных ECU (используемые для LSRS или LCRS).
2
Облаку нужна информация из локальных ECU, локальные ECU не запрашивают данные из облака.
3
Локальный ECU и облако обмениваются данными.
2Запрос сохранения данных
0
Не активен
1
Локальные ECU отправляют данные в облако и запрашивают, чтобы облако сохраняло данные в определенных категориях.
2
Локальные ECU отправляют данные в облако и запрашивают, чтобы облако сохраняло данные в неопределенных категориях.
3Запрос вычислений
0
Не активен
1
Локальные ECU запрашивают облако провести некоторое вычисление на основании облачных данных.
2
Локальные ECU отправляют данные в облако и запрашивают облако обеспечивать некоторое вычисление исключительно на основании данных локальных ECU.
3
Локальные ECU отправляют данные в облако и запрашивают облако обеспечивать некоторое вычисление на основании как данных локальных ECU, так и облачных данных.
4
Локальные ECU и облако должны подвергаться динамическим обменам данными, а именно, вычисление зависит от обмена данных на каждом временном такте.
4Запрос краудсорсинга
0
Не активен
1
Облаку нужно, чтобы ECU отправляли данные транспортного средства, которые необходимы в целях облачного обслуживания.
2
Локальные ECU отправляют основанные на событиях данные в облако и запрашивают, чтобы облако использовало управляемые событиями данные в целях краудсорсинга.
от 5 до концаПолезная нагрузка данных
...
Полезная нагрузка любой длины. Может включать в себя наименование или идентификатор специального агента(ов), который должен вызываться, и/или данных транспортного средства для поддержки запрошенных задач.
Фиг. 6 показывает один из предпочтительных вариантов осуществления взаимодействующих задач, которые должны выполняться специфичным транспортному средству диспетчером вычислений в ответ на поступающий сигнал квитирования установления связи, который передается контроллером задач в транспортном средстве при инициации одной из его операционных задач, которая требует содействия от облачных ресурсов. Таким образом, задача 60 запрашивания инициируется в VCM, чтобы разбирать и анализировать содержимое сигнала квитирования установления связи. В случае, если одиночный запрос включает в себя многочисленные агенты, которые должны быть вызваны, или в случае, если один или более агентов для других операционных задач уже были вызваны и являются одновременно выполняющимися в рабочем пространстве агента VCM, то задача 61 приоритезации приоритезирует функции выполнения и передачи данных в связи с соответствующими агентами (например, на основании заданных ранжирований приоритета или динамически определяемого наличия в распоряжении функции). В результате приоритезации, список задач, поддерживаемый VCM, заполняется информацией, определяющей, какие агенты будут вызваны, время, когда они будут вызваны и местоположение для отыскания или хранения данных, используемых агентами, вместе с информацией, определяющей требуемые результаты, и какие-нибудь конкретные местоположения, где должны быть сохранены результаты вычислений.
С использованием списка задач, задача 62 диспетчеризации выполняется, чтобы идентифицировать и определять местоположение экземпляров прототипа требуемого агента или агентов в центральной базе данных агентов, поддерживаемой в пределах облачной вычислительной сети. В задаче 63 запроса агента, идентифицированные прототипы агента извлекаются и переносятся в рабочее пространство агента VCM, в какой момент каждая задача вызывается диспетчером вычислений. При вызове, выполняется задача 64 инициализации агента, в которой начальные данные и/или другие связанные с задачей условия, требуемые каждому специфичному агенту, инициализируются посредством диспетчера вычислений. Инициализация может проводиться посредством нескольких механизмов, таких как использование a) средних значений вовлеченных переменных в виде измеренных или вычисленных на борту транспортного средства, b) средних значений вовлеченных переменных, определенных из данных краудсорсинга, или c) исторических данных вовлеченных переменных в виде хранимых в архиве данных в специфичном транспортному средству диспетчере вычислений.
После инициализации, агент или агенты используют данные транспортного средства или облачные данные для проведения целевого вычисления(ий) в задаче 65 запуска. Что касается задачи 65 запуска, все входные сигналы, данные и необходимые модели вычислений собираются вместе в специфичном рабочем пространстве по мере необходимости, чтобы поддерживать операционную задачу(и), идентифицированную из первоначального сигнала квитирования установления связи.
Формальный прогон вызванного агента или агентов проводится в задаче 66 прогона агента. Потенциальные результаты прогона агентов включают в себя задачу 67 перебалансирования агентов, задачу 68 неисправности или задачу 70 результатов. В задаче 67 перебалансирования агентов, динамически меняющиеся агенты могут быть замещены в результате изменяющихся условий транспортного средства (например, в тех случаях, когда изменяющиеся условия делают необходимым использование другого набора входных сигналов, чтобы выполнять требуемую операционную задачу). Таким образом, если выявлена необходимость перебалансирования, производится возврат в задачу 62 диспетчеризации, чтобы повторно идентифицировать еще одного агента, который затем извлекается, инициализируется и запускается.
В случае если задача 66 прогона дает в результате ошибку или другую неспособность давать требуемый результат, то задача 68 неисправности осуществляет проверку для определения, может или нет операционная задача успешно выполняться, принимая во внимание текущие условия. Если нет, то выполняется задача 71 завершения. Иначе, существующий экземпляр агента повторно инициализируется в задаче 72 повторной инициализации агента, а затем, перезапускается в задаче 73 запуска перед возвратом в задачи 65 и 66.
Если успешные результаты получены в задаче 70 результатов, то результат форматируется для передачи обратно в контроллер задач в транспортном средстве, причем, результаты потенциально приоритезируются для передачи относительно других происходящих в настоящее время процессов, вовлекающих то же самое транспортное средство. После выдачи результатов, выполняется задача 71 завершения, включающая в себя освобождение связанных ресурсов (например, в рабочем пространстве агента и списке агентов) в задаче 74. Как только связанные ресурсы освобождены, диспетчер вычислений завершает работу относительно связанной операционной задачи.