WO2022256742A1 - System, method, and apparatus for managing vehicle data collection - Google Patents

System, method, and apparatus for managing vehicle data collection Download PDF

Info

Publication number
WO2022256742A1
WO2022256742A1 PCT/US2022/032380 US2022032380W WO2022256742A1 WO 2022256742 A1 WO2022256742 A1 WO 2022256742A1 US 2022032380 W US2022032380 W US 2022032380W WO 2022256742 A1 WO2022256742 A1 WO 2022256742A1
Authority
WO
WIPO (PCT)
Prior art keywords
automation
vehicle
response
description
data
Prior art date
Application number
PCT/US2022/032380
Other languages
English (en)
French (fr)
Inventor
Yu Fang
Thurston Zhu
Andrew Ling
Yixiang Chen
Robin Reed
Sudhir Ramphal Dhankhar
Xuelin Wang
Jaime Alcantara
Felipe Andres Valdes Valenzuela
Xuanran Zong
Rohit Sharma
Original Assignee
Sonatus, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sonatus, Inc. filed Critical Sonatus, Inc.
Priority to CN202280040013.4A priority Critical patent/CN117425921A/zh
Priority to KR1020237044530A priority patent/KR20240018508A/ko
Priority to EP22816990.0A priority patent/EP4315284A1/en
Publication of WO2022256742A1 publication Critical patent/WO2022256742A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/30Conjoint control of vehicle sub-units of different type or different function including control of auxiliary equipment, e.g. air-conditioning compressors or oil pumps
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0006Digital architecture hierarchy

Definitions

  • Previously known systems are available for updating vehicle operational capabilities, adjusting the operation of vehicle features, or the like.
  • previously known systems suffer from a number of drawbacks.
  • previously known systems require direct vehicle access, or utilize over the air (OTA) software updates to perform these functions.
  • OTA over the air
  • previously known systems introduce significant risks, for example requiring a shutdown of the vehicle, updating software or firmware on the vehicle that imposes downtime and a risk that the vehicle will not be operational (e.g., if the update is interrupted) and/or significant management expense (e.g., keeping multiple versions of software available in case an update is unsuccessful) is imposed on updates or changes.
  • Vehicle communication networks are utilized to connect sensors, actuators, controllers, user interfaces, rider personal devices, trailers, and communication devices throughout a vehicle.
  • Recent trends have been increasing the burden on these vehicle communication networks, with more devices being connected, more data passing between devices, lower latency requirements to meet vehicle performance, safety, and emissions requirements, and added vehicle features.
  • consumers expect increasing connectivity, enhanced and/or customized features for the vehicle, features to reduce driver burden, and other features that increase the burdens on vehicle communication networks. These trends are expected to continue, and to accelerate, for the foreseeable future.
  • the automation action description further includes an automation scheduling value, and wherein the automation management circuit is further structured to provide the automated action plan in response to the automation scheduling value.
  • the automation trigger description further includes a trigger scheduling value, and wherein the automation management circuit is further structured to provide the automated trigger plan in response to the trigger scheduling value.
  • the automated vehicle response includes a plurality of automated actions.
  • the automation action description further includes an automation scheduling value, and wherein the plurality of automated actions are performed in response to the automation scheduling value.
  • the automation scheduling value includes at least one of an order or a timing of the plurality of automated actions.
  • the automated vehicle response includes at least one of: an actuator command; an actuator activation; or an actuator trajectory.
  • the action interruption description includes an action response description for a vehicle off event.
  • the action interruption description includes an action response description for a vehicle fault event.
  • the action interruption description includes an action response description for a vehicle operation interruption.
  • the action interruption description includes an action response description for a timeout event.
  • An example system includes a vehicle having a network including a plurality of end points; a controller, including: an automation definition circuit structured to interpret a task description; an automation management circuit structured to provide a task action plan in response to the task description; and an automation execution circuit structured to provide a task execution command in response to the task action plan; wherein an end point of the plurality of end points is responsive to the task execution command to implement a task for the vehicle.
  • the task includes monitoring an operating condition of the vehicle.
  • the task includes selectively activating an actuator.
  • the task includes moving an actuator to a selected position.
  • the task includes monitoring an external operating condition.
  • the task includes determining whether an event has occurred.
  • the task includes collecting selected data for the vehicle.
  • the task includes providing a notification in response to at least one of the task execution command or a response from the end point.
  • the task includes providing a report in response to at least one of the task execution command or a response from the end point.
  • the task includes storing data associated with the task in response to at least one of the task execution command or a response from the end point.
  • the task includes transmitting data associated with the task in response to at least one of the task execution command or a response from the end point.
  • the task description further includes a task scheduling value, and wherein the automation management circuit is further structured to provide the task action plan in response to the task scheduling value.
  • the task description further includes a task initiation value, and wherein the automation management circuit is further structured to provide the task action plan in response to the task initiation value.
  • An example system includes a vehicle having a network including a plurality of end points; a controller, including: an automation definition circuit structured to interpret an automation trigger description and an automation action description; an automation management circuit structured to provide a trigger detection plan and an automated action plan in response to the automation trigger description and the automation action description; and an automation execution circuit structured to determine a trigger event value in response to the trigger detection plan, and to provide an automation command in response to the trigger event value and the automation action plan; wherein an end point of the plurality of end points is responsive to the automation command to implement an automated vehicle response.
  • the automation trigger description includes a data parsing description for at least one of a vehicle operating parameter, a network message, or a controller parameter, and wherein the automation management circuit is further structured to provide the trigger detection plan in response to the data parsing description.
  • the automation trigger description includes a map description, and wherein the automation management circuit is further structured to provide the trigger detection plan in response to the map description.
  • the map description includes a multi-parameter value map for a plurality of values, the plurality of values each including at least one of: a vehicle operating parameter, an external operating parameter, a fault value, or a state value.
  • the map description includes a geographical description.
  • the map description includes at least a portion of an expert system.
  • the automation trigger description includes an aggregated data description, and wherein the automation management circuit is further structured to provide the trigger detection plan in response to the aggregated data description.
  • the aggregated data description includes an aggregation description for at least one vehicle operating parameter.
  • the aggregation description includes at least one aggregation scheme selected from: a summation of a plurality of values of the at least one vehicle operating parameter; a rolling summation of a plurality of values of the at least one vehicle operating parameter; an average of a plurality of values of the at least one vehicle operating parameter; a rolling average of a plurality of values of the at least one vehicle operating parameter; a comparison of a plurality of values of the at least one vehicle operating parameter to corresponding threshold values; an aggregation based on a time derivative of the at least one vehicle operating parameter; an aggregation based on an operational derivative of the at least one vehicle operating parameter; or an aggregation based a frequency analysis of the at least one vehicle operating parameter.
  • the trigger time description includes a delay period enforceable between the trigger event value and the automation command.
  • the trigger time description includes a time window, and wherein the automation execution circuit is further structured to determine the trigger event value in response to the time window.
  • the trigger time description includes a delay period enforceable between a first portion of the trigger detection plan and a second portion of the trigger detection plan.
  • the automation trigger description includes a delay period enforceable between a first portion of the automated action plan and a second portion of the automated action plan.
  • the automated action plan includes a data transmission operation.
  • the automated action plan includes a data collection operation.
  • An example system includes a vehicle having a network including a plurality of end points; a controller, including: an automation definition circuit structured to interpret an automation description; an automation management circuit structured to provide an automated action plan in response to the automation description, and to store the automated action plan as a data file on a data storage communicatively coupled to the controller; and an automation execution circuit structured to provide an automation command in response to the automated action description; and wherein an end point of the plurality of end points is responsive to the automation command to implement an automated vehicle response.
  • An example apparatus includes a controller, including: an automation definition circuit structured to interpret an automation description from an external device; an automation management circuit structured to provide an automated action plan in response to the automation description; and an automation execution circuit structured to provide an automation command in response to the automated action description; and wherein an end point of a plurality of end points is responsive to the automation command to implement an automated vehicle response.
  • the apparatus further including an automation reporting circuit structured to provide a confirmation communication to the external device in response to the implementation of the automated vehicle response.
  • the automation management circuit is further structured to store a policy responsive to the automated action plan, and wherein the automation execution circuit provides the automation command in response to the policy.
  • the automation management circuit is further structured to adjust a stored policy responsive to the automated action plan, and wherein the automation execution circuit provides the automation command in response to the adjusted stored policy.
  • the automation command includes an actuator command.
  • the automation command includes a data collection command.
  • the apparatus further including an automation reporting circuit structured to provide, to the external device, at least portion of data collected in response to the data collection command.
  • the automation command includes a calibration adjustment for one of a flow, an application, or a service of a vehicle having the controller.
  • the automation management circuit is further structured to determine an authorization of the external device to provide the automation description.
  • An example apparatus includes a controller, including: an automation definition circuit structured to implement an automation user interface, and to interpret an automation request in response to user communications with the automation user interface; an automation management circuit structured to determine an automation description in response to the automation request; and an automation command circuit structured to provide the automation description to a controller of a vehicle, wherein the controller of the vehicle is configured to implement an automated vehicle response, responsive to the automation description.
  • the automation management circuit is further structured to confirm an authorization of the user for the automation request, and to determine the automation description in response to the authorization.
  • the automation management circuit is further structured to confirm the authorization in response to at least one of: data to be collected for the automated vehicle response; data to be provided on a network of the vehicle for the automated vehicle response; an actuator to be accessed for the automated vehicle response; a service to be accessed for the automated vehicle response; a flow to be accessed for the automated vehicle response; an application to be accessed for the automated vehicle response; or an operational impact associated with the automated vehicle response.
  • the automation management circuit is further structured to determine the automation description as an amended version of the automation request in response to the authorization.
  • the automation definition circuit is further structured to provide an amendment communication to the automation user interface in response to the amended version of the automation request.
  • the automation management circuit is further structured to refuse the automation request in response to the authorization.
  • the automation management circuit is further structured to provide a refusal communication to the automation user interface in response to the refusal of the automation request.
  • the automation command circuit is further structured to provide the automation description as one of a policy or a policy update.
  • the automation command circuit is further structured to receive a confirmation communication from the vehicle controller.
  • the automation definition circuit is further structured to provide a confirmation communication to the automation user interface.
  • An example system includes a vehicle having a network including a plurality of end points; a controller, including: an automation definition circuit structured to interpret an automation trigger description and an automation action description; an automation management circuit structured to provide a trigger detection plan and an automated action plan in response to the automation trigger description and the automation action description, and to provide a data storage command in response to the trigger detection plan; a data caching circuit structured to perform at least one of confirming available data storage or reserving data storage in response to the data storage command; and an automation execution circuit structured to: determine a trigger event value in response to the trigger detection plan; store trigger evaluation data in response to the trigger detection plan; and provide an automation command in response to the trigger event value and the automation action plan; wherein an end point of the plurality of end points is responsive to the automation command to implement an automated vehicle response.
  • the automation management circuit is further structured to provide the data storage command in response to an amount of data utilized to support the trigger evaluation data.
  • the data caching circuit is further structured to perform the reserving data storage, and to reserve the data storage on a memory storage associated with at least one vehicle controller.
  • the at least one vehicle controller includes the controller including the data caching circuit.
  • the automation management circuit is further structured to provide the data storage command as a data storage trajectory of the trigger evaluation data.
  • the automation management circuit is further structured to provide the data storage command as a data storage schedule of the trigger evaluation data.
  • the automation management circuit is further structured to provide at least a portion of the data storage command as a conditional data storage command.
  • the data storage command further includes a priority description for at least one data element of the trigger evaluation data.
  • the data storage command further includes an aging data description for at least one data element of the trigger evaluation data.
  • the data caching circuit performs a scheduled deletion of at least a portion of the trigger evaluation data in response to the aging data description.
  • the data caching circuit performs a compression operation of at least a portion of the trigger evaluation data in response to the aging data description.
  • the data caching circuit performs a summarization operation of at least a portion of the trigger evaluation data in response to the aging data description.
  • the data caching circuit is further structured to confirm available data storage on a shared data storage device.
  • the data caching circuit is further structured to reserve data storage on a shared data storage device.
  • An example system includes a vehicle having a network including a plurality of end points; a controller, including: an automation definition circuit structured to interpret an automation trigger description and an automation action description; an automation management circuit structured to provide a trigger detection plan and an automated action plan in response to the automation trigger description and the automation action description, and to provide a data storage command in response to the automation action description; a data caching circuit structured to perform at least one of confirming available data storage or reserving data storage in response to the data storage command; and an automation execution circuit structured to: determine a trigger event value in response to the trigger detection plan; provide an automation command in response to the trigger event value and the automation action plan; and store automated collected data in response to the automation action plan; wherein an end point of the plurality of end points is responsive to the automation command to implement an automated vehicle response, wherein the automated vehicle response includes at least one of providing or collecting the automated collected data.
  • the automation management circuit is further structured to provide the data storage command in response to an amount of data utilized to support the automated collected data.
  • the data caching circuit is further structured to perform the reserving data storage, and to reserve the data storage on a memory storage associated with at least one vehicle controller.
  • the at least one vehicle controller includes the controller including the data caching circuit.
  • the automation management circuit is further structured to provide the data storage command as a data storage trajectory of the automated collected data.
  • the automation management circuit is further structured to provide the data storage command as a data storage schedule of the automated collected data.
  • the automation management circuit is further structured to provide at least a portion of the data storage command as a conditional data storage command.
  • the data storage command further includes a priority description for at least one data element of the automated collected data.
  • the data storage command further includes an aging data description for at least one data element of the automated collected data.
  • the data caching circuit performs a scheduled deletion of at least a portion of the automated collected data in response to the aging data description.
  • the data caching circuit performs a compression operation of at least a portion of the automated collected data in response to the aging data description.
  • the data caching circuit performs a summarization operation of at least a portion of the automated collected data in response to the aging data description.
  • the data caching circuit is further structured to confirm available data storage on a shared data storage device.
  • the data caching circuit is further structured to reserve data storage on a shared data storage device.
  • An example apparatus includes a controller, including: an automation definition circuit structured to: implement an automation user interface; provide at least one automation recipe to the user interface; and interpret an automation request in response to user communications with the automation user interface; an automation management circuit structured to determine an automation description in response to the automation request; and an automation command circuit structured to provide the automation description to a controller of a vehicle, wherein the controller of the vehicle is configured to implement an automated vehicle response, responsive to the automation description.
  • the automation definition circuit is further structured to select a group of automation recipes in response to a user characteristic of the user, and to provide the at least one automation recipe in response to the selected group of automation recipes.
  • the user characteristic includes at least one of: a user role, an entity associated with the user, a user authorization, or a user historical activity with the user interface.
  • the automation request includes a selected one of the at least one automation recipes.
  • the automation request includes a modified one of the at least one automation recipes.
  • Each of the at least one automation recipe includes at least one of: an automated operation of the vehicle; a portion of an automated operation of the vehicle; or a template for an automated operation of the vehicle.
  • the automation request includes at least one parameter description that is an agnostic parameter description.
  • the automation description includes at least one parameter description that is a vehicle specific parameter description.
  • An example apparatus includes a controller, including: an automation definition circuit structured to interpret a plurality of automation descriptions; an automation management circuit structured to provide an automated action plan in response to the plurality of automation descriptions; and an automation execution circuit structured to provide a plurality of automation commands to end points of a vehicle network in response to the automated action plan.
  • the automation definition circuit is further structured to interpret a priority value corresponding to at least one of the plurality of automation descriptions, and wherein the automation management circuit is further structured to provide the automated action plan in response to the priority value.
  • the automation definition circuit is further structured to interpret a hierarchy value corresponding to at least one of the plurality of automation descriptions, and wherein the automation management circuit is further structured to provide the automated action plan in response to the hierarchy value.
  • the automation management circuit is further structured to determine a dependency value between at least two of the plurality of automation descriptions, and to provide the automated action plan in response to the dependency value.
  • the automation management circuit is further structured to determine an operational impact for at least one of the automation descriptions, and to provide the automated action plan in response to the operation impact.
  • At least one of the plurality of automation descriptions includes an automation recipe.
  • the automation management circuit is further structured to store the automation recipe.
  • the automation management circuit is further structured to determine a life cycle value for the automation recipe, and to store the automation recipe in response to the life cycle value.
  • the automation definition circuit is further structured to receive at least one of the plurality of automation descriptions from a tool.
  • the automation definition circuit is further structured to receive at least one of the plurality of automation descriptions from a cloud server.
  • the automation definition circuit is further structured to receive at least one of the plurality of automation descriptions from a mobile application.
  • the automation definition circuit is further structured to receive at least one of the plurality of automation descriptions from a web portal.
  • the automation management circuit is further structured to deprecate at least one of the plurality of automation descriptions in response to the operations of the automation execution circuit.
  • the automation management circuit is further structured to deprecate at least one of the plurality of automation descriptions by performing at least one operation selected from the operations consisting of: updating the automated action plan to remove the at least one of the plurality of automation descriptions; deleting stored data responsive to the at least one of the plurality of automation descriptions; deleting a stored recipe corresponding to the at least one of the plurality of automation descriptions; or adjusting at least one of a priority value or a hierarchy value corresponding to the at least one of the plurality of automation descriptions.
  • the apparatus further including an automation confirmation circuit further structured to receive collected data from the vehicle in response to the automated vehicle response, and to store the collected data for asynchronous access.
  • the automation confirmation circuit is further structured to provide at least a portion of the stored collected data to the automation user interface in response to a user request.
  • the automation confirmation circuit is further structured to provide a redacted portion of the stored collected data to the automation user interface.
  • the automation confirmation circuit is further structured to determine the redacted portion of the stored collected data in response to at least one of a user role, user authorization, or an entity associated with the user.
  • the automation confirmation circuit is further structured to determine the redacted portion of the stored collected data in response to at least one of proprietary information in the stored collected data, personally identifiable information in the stored collected data, or metadata in the stored collected data.
  • the at least one responsive data selection includes at least one of: a confirmation value associated with the automated vehicle response, data collected pursuant to the automated vehicle response, or a modification value associated with the automated vehicle response.
  • the automation definition circuit is further structured to provide the at least one available input parameter in a menu of available input parameters.
  • the automation definition circuit is further structured to determine the available input parameters in response to at least one of a user role, user authorization, or an entity associated with the user.
  • the automation definition circuit is further structured to provide the at least one available actuation parameter in a menu of available actuation parameters.
  • the automation definition circuit is further structured to determine the available actuation parameters in response to at least one of a user role, user authorization, or an entity associated with the user.
  • the automation definition circuit is further structured to provide at least one automation recipe to the user interface.
  • the automation management circuit is further structured to determine the automation description in response to at least one of a selection or a modification of at least one of the automation recipes by the user.
  • An example system includes a vehicle having a network including a plurality of end points; a controller, including: an automation management circuit structured to provide an automated action plan; an automation execution circuit structured to provide an automation command in response to the automated action plan; and an automation continuity circuit structured to determine whether an automation interruption event has occurred, and to provide an automation continuity command in response to the automation interruption event.
  • the automation continuity circuit is further structured to provide the automation continuity command as a cancel command.
  • the automation continuity circuit is further structured to provide the automation continuity command as a restart command.
  • the automation continuity circuit is further structured to provide the automation continuity command as a stage command including a stage of the automated action plan at which the automated action plan is to be resumed.
  • the automation continuity circuit is further structured to provide the automation continuity command as a continuation command.
  • the automation interruption event includes a vehicle shutdown event.
  • the automation interruption event includes a trigger event interruption for a trigger event associated with the automated action plan.
  • the automation interruption event includes an operational interruption event including an indication of at least one of: a determination that a vehicle operating condition precludes the completion of the automated action plan, a determination that a vehicle operating condition precludes the continuation of the automated action plan, or a determination that a vehicle operating condition precludes the execution of at least one aspect of the automated action plan.
  • the automated action plan includes a portion of a policy, wherein the policy includes a continuity description, and wherein the automation continuity circuit is further structured to determine whether the automation interruption event has occurred in response to the continuity description.
  • the automated action plan includes a portion of a policy, wherein the policy includes a continuity description, and wherein the automation continuity circuit is further structured to provide the automation continuity command in response to the continuity description.
  • An example apparatus includes a storage manager circuit structured to selectively access a data store, and configured to selectively read data, write data, or edit data on the data store; a storage gatekeeper circuit structured to interpret a data storage request value from a vehicle data storage requestor, and to provide a data storage profile in response to the data storage request value; and wherein the storage manager circuit is further structured to perform at least one of reserving memory on the data store or saving requestor associated data on the data store in response to the data storage profile.
  • the vehicle data storage requestor includes at least one of: an end point on a network zone of a vehicle; a flow associated with a vehicle; an application associated with a vehicle; or a vehicle controller positioned on a vehicle.
  • the data store includes a shared data store positioned on a controller of a vehicle.
  • the data store includes a shared data store positioned at least partially off the vehicle.
  • the data store is configured as a file system based shared storage.
  • the storage gatekeeper circuit is further structured to publish data storage access as a service on a vehicle, and to interpret the data storage request value in response to a subscription request for the data storage access.
  • the storage gatekeeper circuit is further structured to provide the data storage profile in response to a permissions value associated with the vehicle data storage requestor.
  • the data storage profile further includes at least one parameter selected from the parameters consisting of: a data storage amount; a data storage priority; or a data storage retention description.
  • the data store is configured as an object store.
  • the data store is configured as a relational database.
  • the data store is configured as a key-value store.
  • the apparatus further including wherein the storage gatekeeper circuit is further structured to publish stored data on the data store as a service on a vehicle, to interpret a data access request value in response to a subscription request for the stored data access from a stored data requestor, and to provide a data access profile in response to the data access request value; and wherein the storage manager circuit is further structured to provide data from the data store to the stored data requestor in response to the data access profile.
  • the storage gatekeeper circuit is further structured to provide the data access profile in response to a permissions value associated with the stored data requestor.
  • the stored data requestor includes at least one of an end point on a network zone of a vehicle; a flow associated with a vehicle; an application associated with a vehicle; or a vehicle controller positioned on a vehicle.
  • An example apparatus includes a service manager circuit structured to maintain a service registry including a listing of vehicle associated entities and corresponding service descriptions; a service gatekeeper circuit structured to interpret a service request value from a vehicle service requestor, and to provide a service access profile in response to the service request value; wherein the service manager circuit is further structured to update the service registry in response to the service access profile; and a service execution circuit structured to allow one of a service publication or a service subscription to a vehicle associated entity in response to the service registry.
  • the service registry further includes a plurality of listings of vehicle associated entities and corresponding service descriptions, and wherein the service gatekeeper circuit exposes one of the plurality of listing to a prospective vehicle service requestor in response to a permissions value associated with the vehicle service requestor.
  • At least one of the service descriptions includes vehicle data values provided by a plurality of end points positioned on a plurality of network zones of the vehicle.
  • the plurality of network zones include a plurality of network protocols.
  • the plurality of network zones include a plurality of network types.
  • At least one of the service descriptions includes vehicle data values provided, at least in part, by an off- vehicle end point.
  • At least one of the service descriptions includes a vehicle function performed by a plurality of end points positioned on a plurality of network zones of the vehicle.
  • the plurality of network zones include a plurality of network protocols.
  • the plurality of network zones includes a plurality of network types.
  • At least one of the service descriptions includes a vehicle related function performed, at least in part, by
  • FIG. 1 is schematic diagram of an automated vehicle system according to certain embodiments of the present disclosure.
  • FIG. 2 is schematic diagram of an automation command system according to certain embodiments of the present disclosure.
  • Fig. 3 is a schematic diagram of an example automated action plan according to certain embodiments of the present disclosure.
  • Fig. 4 is a schematic diagram of an example automated vehicle response system according to certain embodiments of the present disclosure.
  • Fig. 5 is a schematic diagram of an example automation description according to certain embodiments of the present disclosure.
  • Fig. 6 is a schematic diagram of an example controller system according to certain embodiments of the present disclosure.
  • Fig. 7 is a schematic diagram of an example automation action description according to certain embodiments of the present disclosure.
  • Fig. 8 is a schematic diagram of an example automation trigger description according to certain embodiments of the present disclosure.
  • Fig. 9 is a schematic diagram of example automated vehicle responses according to certain embodiments of the present disclosure.
  • Fig. 12 is a schematic diagram of an example task description according to certain embodiments of the present disclosure.
  • Fig. 15 is a schematic diagram of an example controller configured to provide an automation description according to certain embodiments of the present disclosure.
  • Fig. 19 is a schematic diagram of example data storage command(s) according to certain embodiments of the present disclosure.
  • Fig. 20 is a schematic diagram of an example controller configured to provide an automation description apparatus according to certain embodiments of the present disclosure.
  • Fig. 23 is a schematic diagram of an example automated user interface according to certain embodiments of the present disclosure.
  • Fig. 28 is a schematic diagram of an example implementation of an automated vehicle response activity according to certain embodiments of the present disclosure.
  • Fig. 33 is a schematic diagram of example automation continuity command(s) according to certain embodiments of the present disclosure.
  • Fig. 34 is a schematic diagram of an example controller configured to manage a service oriented architecture according to certain embodiments of the present disclosure.
  • Fig. 35 is a schematic diagram of an example controller configured to manage a service oriented architecture according to certain embodiments of the present disclosure.
  • Fig. 36 is a schematic flow diagram according to certain embodiments of the present disclosure.
  • Fig. 37 is a schematic flow diagram according to certain embodiments of the present disclosure.
  • Fig. 40 is a schematic flow diagram according to certain embodiments of the present disclosure.
  • Fig. 41 is a schematic flow diagram according to certain embodiments of the present disclosure.
  • Fig. 43 is a schematic flow diagram according to certain embodiments of the present disclosure.
  • Fig. 44 is a schematic flow diagram according to certain embodiments of the present disclosure.
  • Fig. 45 is a schematic flow diagram according to certain embodiments of the present disclosure.
  • Fig. 49 is a schematic flow diagram according to certain embodiments of the present disclosure.
  • Fig. 52 is a schematic flow diagram according to certain embodiments of the present disclosure.
  • Fig. 54 is a schematic flow diagram according to certain embodiments of the present disclosure.
  • Fig. 55 is a schematic flow diagram according to certain embodiments of the present disclosure.
  • Fig. 56 is a schematic diagram of an example automation manager according to certain embodiments of the present disclosure.
  • aspects of the disclosure herein reduce and/or eliminate any one or more of: a cost per entity added to a vehicle functionality interaction system, a basic learning cost for a new entity to implement an application to implement new vehicle functionality, an adaptation cost to changing vehicle network configuration(s), a cost incurred to meet the increasing demand to support new vehicle functions, a cost to adapt to a changing regulatory environment, a cost to secure data and/or losses incurred for breaches or unauthorized use, and a cost to modify vehicle functions or features via software development and deployment. Certain embodiments and/or aspects of the disclosure herein may address one or more of the described cost parameters.
  • Certain embodiments and/or aspects of the disclosure herein may increase one or more given cost parameters, but nevertheless be beneficial by decreasing the overall cost function for a target vehicle, vehicle type, entity, industry, etc. Certain embodiments and/or aspects of the disclosure herein may increase one or more given cost parameters, but provide other benefits such as improved functionality and improve time-to-market for a feature. In certain embodiments, improved functionality may be achieved at an increased cost, but at a lower cost than previously known systems configured to achieve a similar improved functionality. [00097] For the purposes of promoting an understanding of the principles of the disclosure, reference will now be made to the embodiments illustrated in the drawings and described in the following written specification. It is understood that no limitation to the scope of the disclosure is thereby intended.
  • Example supported operations include, without limitation: operations to collect data from, provide data to, and/or provide instructions to end points on a vehicle network, regardless of the network zone, and without the requestor requiring vehicle- specific information about the end point address or network location, data configuration, communication protocol, etc.; implementation of a policy for a vehicle, for example initialization, amendment, replacement, updating, authorization, etc.
  • configuration of network communications between zones configuration of collected or provided data, including for example adjusting data units, data resolution, performing up-sampling and/or down-sampling of data, and/or passing data between end points on distinct network zones; storage of collected data, including short term, medium-term, and/or long-term storage, storage of rolling buffer data to support trigger evaluations and/or execution of trigger operations, and including treatment of aging data including prioritization, deletion, transmission, summarization, and/or compression of aging data, and including a determination of whether data is aging data; transmission of any data from off- vehicle to any end point of the vehicle, and/or from any end point of the vehicle to an off- vehicle recipient, including operations to manage transmission resources and/or prioritize data for transmission; operations to support a service oriented architecture (SOA), including controlling the publication and visibility of services, controlling the subscription to services for applications, flows, end points, or the like, and operations to support execution of a service including collecting or providing related data, commands, communications, or the like; and/or operations to
  • SOA
  • Support for any of these features, as well as any other features described throughout the present disclosure, may include configurations such as: the inclusion, in whole or part, of one or more circuits, controllers, processors, engines, apparatus, and/or computing devices of the referenced applications with one or more circuits, controllers, processors, engines, apparatus, and/or computing devices of the present disclosure; cooperation between one or more circuits, controllers, processors, engines, apparatus, and/or computing devices of the referenced applications with one or more circuits, controllers, processors, engines, apparatus, and/or computing devices of the present disclosure; the inclusion, in whole or part, of one or more circuits, controllers, processors, engines, apparatus, and/or computing devices of the present disclosure with one or more circuits, controllers, processors, engines, apparatus, and/or computing devices of the referenced applications; and/or performing one or more operations, using one or more circuits, controllers, processors, engines, apparatus, and/or computing devices of the present disclosure to perform one or more operations described in a procedure and/or
  • Embodiments herein reference a recipe, workflow, automation description, automated action plan, automation trigger description, automation trigger plan, rules, task description, task action plan, or the like. Such terminology is utilized for clarity of the description to set forth automated vehicle operations to be performed, where the automated vehicle operations may exist in more than one location for a given embodiment, to illustrate the context of the automated vehicle operations description at various stages and/or locations in the embodiments herein.
  • a requestor of the automated vehicle operations may work with and/or request the automated vehicle operations on an automated user interface, by exercising an API, or the like, where the description of the automated vehicle operations may be simplified (e.g., using industry standard names, descriptive names for parameters, graphical depictions of operations and/or workflows, etc.), vehicle agnostic (e.g., configured without knowledge of the vehicle specific parameter names, end point locations, end point addresses, distribution of parameters on controllers and/or networks of the vehicle, etc.).
  • a cloud application or circuit and/or a vehicle side application or circuit may adjust the description of the automated vehicle operations, for example converting the description into a data file, as a part of a policy, as a separate policy, or the like, for communication to the vehicle or as an intra- vehicle communication to an implementer of the automated vehicle operations.
  • the example description of the automated vehicle operations utilized by the communicator of the data file, policy, plan, or the like may be distinct from the version of the description submitted by the requestor, for example configured such that the desired operations according to the automated vehicle operations can be identified and performed as desired.
  • an implementing component such as a vehicle controller, a circuit on the vehicle, and/or a distributed group of these, may have yet another version of the description, for example allowing the implementing component to provide specific actuator commands that can be utilized by the actuator to perform the desired operations.
  • a recipe, workflow, automation description, automated action plan, automation trigger description, automation trigger plan, rules, task description, task action plan, or the like may be distinct elements for a particular embodiments, and one or more of these may be the same for a particular embodiment, for example depending upon where the automated vehicle operations are requested (e.g., by a cloud-connected device and/or by a direct vehicle-connected device), and/or the implementing circuit(s) for communication of the operations to the vehicle, and/or for implementing the operations on the vehicle (e.g., whether translation from an agnostic description to a vehicle description occurs on the vehicle, in the cloud, in another location such as a tool, and/or a combination of these).
  • recipes, workflows, descriptions, plans, rules, or the like may be encrypted, for example during transmission and/or while stored (e.g., preventing access to memory from accessing an unencrypted version).
  • the recipes, workflows, descriptions, plans, rules, or the like may be decrypted just before utilization, for example before parsing, processing for conversion to the next stage (e.g., converting and automation description to an automated action plan), execution (e.g., of a workflow on the vehicle), and/or checks (e.g., authorization, operational capability, etc.).
  • the present disclosure describes systems, method, and apparatuses to perform automated vehicle operations, including, without limitation to any other aspect of the present disclosure, operations to manipulate (e.g., move to a selected position, limit a range of available positions, enable or disable actuation, etc.) any actuator on the vehicle, operations to manipulate (e.g., enable or disable, adjust calibrations or other behaviors of the feature, and/or to create or eliminate features in certain instances) any feature on the vehicle, to have the vehicle perform selected functions, to collect data (e.g., data related to any actuator, sensor, fault condition, vehicle function, application, flow, or the like, and/or to collect data for utilization at a later time, whether on the vehicle or off the vehicle - for example operations to confirm or verify an aspect of the vehicle and/or another aspect of an automated vehicle operation, to support fault detection or state determination for the vehicle and/or for a group of related vehicles, etc.), operations to respond to a vehicle condition (e.g., a fault code, off-nominal operation or data value, an a vehicle
  • performance of automated vehicle operations can be performed without modification to base software for the vehicle - for example control software for the vehicle, for example by providing an interface where parameters in a data structure (e.g., a policy, an automation recipe, an automation action description, a task description, or the like) can be implemented to effect the automated vehicle operations without changes to the base software of the vehicle.
  • a data structure e.g., a policy, an automation recipe, an automation action description, a task description, or the like
  • An example embodiment allows for the building of a feature for operation on the vehicle, either for a selected time period, to be executed a selected number of times (e.g., a single time, multiple times, periodically, etc.), to be executed until it is later removed (e.g., by the creator of the feature), or the like.
  • a feature includes any selected operation or operational behavior of the vehicle performed or adjusted in response to any selected condition (e.g., vehicle operating condition, operator input, external condition, etc.), and may include a feature that might typically be on the vehicle (e.g., cruise control, windshield wiper delay, automatic seat positioning, etc.) or a feature that is created by a user for any purpose, such as service operations, manufacturer operations, operator convenience, operator preference, or the like.
  • An example embodiment allows for automation of a number of operations, for example to perform a test on the vehicle without requiring dedicated tools (e.g., a service tool, manufacturing tool, or engineering tool).
  • a test should be understood broadly, and may include operations to perform one or more of: observation of vehicle behavior, driver behavior, and/or a feature on the vehicle, which may include observing one or more of these based on specific conditions; exercising of one or more vehicle actuators, features, flows, applications, or the like; observation of vehicle behavior, driver behavior, and/or a feature on the vehicle, for example in response to the exercised aspects; confirmation of the behavior (e.g., collecting relevant data, repeating as needed based on the confidence level that the observed behavior is due to the exercising, etc.); and reporting (e.g., communicating parameters relevant to the test, including for example result values, confidence values, related data, or the like).
  • An example embodiment allows for automation of operations to respond to an off-nominal condition, such as an operation to respond to a detected intrusion event (e.g., where it is determined that an improper actor may be attempting to collect data, provide improper data, introduce disruptive information such as through a denial of service attack, and/or modify data improperly such as trying to perform an unauthorized control operation of the vehicle).
  • a detected intrusion event e.g., where it is determined that an improper actor may be attempting to collect data, provide improper data, introduce disruptive information such as through a denial of service attack, and/or modify data improperly such as trying to perform an unauthorized control operation of the vehicle.
  • Example operations to respond to a detected intrusion event include, without limitation, performing operations to reconfigure the network (e.g., listing requestors, addresses, or the like that should be blocked or ignored), reporting data related to the detected intrusion event (e.g., identifiers of an intrusion source; operational parameters related to the intrusion, such as attempt frequency, targets such as data, end points, control parameters, etc.; authorization data utilized during the intrusion event; and/or values utilized by the intrusion, such as communication headers, communication payloads, etc.).
  • data related to the detected intrusion event e.g., identifiers of an intrusion source; operational parameters related to the intrusion, such as attempt frequency, targets such as data, end points, control parameters, etc.; authorization data utilized during the intrusion event; and/or values utilized by the intrusion, such as communication headers, communication payloads, etc.
  • operations to respond to a detected intrusion event can mitigate the intrusion attempt, prevent the intrusion attempt, be utilized to detect later intrusion attempts on the vehicle or other vehicles, and/or capture data relevant to the intrusion attempt (e.g., to mitigate further damage, to identify a perpetrator, and/or to prove aspects related to the intrusion attempt).
  • An example embodiment allows for automation of operations to provide additional information to a user, and/or to adjust vehicle operations based on a user preference and/or user characteristic.
  • a vehicle owner that is a parent may set up a feature using embodiments of the present disclosure to provide information about another driver (e.g., their child), for example determining significant operational events such as vehicle speed values, time of day of operation, location of operation, significant acceleration events, or the like.
  • Such information may be utilized to monitor the other driver, and/or to assist the other driver (e.g., contacting the parent when the vehicle is in a location unlikely to be consistent with normal operation, such as stopped for an extended period on a highway).
  • automation of operations may additionally or alternatively include adjustment of the vehicle features based on the driver, for example the parent operator may set up various vehicle features (e.g., maximum speed, power rating, light configurations such as daytime headlight usage, etc.) that can assist a child driver in safe operation of the vehicle.
  • vehicle features e.g., maximum speed, power rating, light configurations such as daytime headlight usage, etc.
  • data may be provided to the parent directly (e.g., acceleration events provided in a reporting message), and/or may be stored for selective access.
  • the examples utilize a parent-child relationship between a primary vehicle operator and a secondary vehicle operator as a non-limiting example, but any other primary /secondary relationship is understood herein, including in a situation such as: a fleet of vehicles, vehicles used for employment, a stolen vehicle (e.g., taking certain operations in response to a vehicle theft, which may include allowing some level of vehicle operation, for example to allow the vehicle to be moved to a safe location), a loaned vehicle, a rental vehicle, etc.
  • a parent-child relationship between a primary vehicle operator and a secondary vehicle operator as a non-limiting example, but any other primary /secondary relationship is understood herein, including in a situation such as: a fleet of vehicles, vehicles used for employment, a stolen vehicle (e.g., taking certain operations in response to a vehicle theft, which may include allowing some level of vehicle operation, for example to allow the vehicle to be moved to a safe location), a loaned vehicle, a rental vehicle, etc.
  • the description herein utilizing off- vehicle, extra-vehicle, and/or cloud-based interactions references any external network communications of the vehicle, including without limitation wireless-based communications (e.g., mobile data, WiFi, and/or Bluetooth) to external devices. Communications to external devices may be to a general network (e.g., over the internet), a WAN, a LAN, a mobile device in proximity to the vehicle, and/or combinations of these. Certain systems and procedures described herein particularly contemplate run-time operations of the vehicle, for example external communications occurring during operating conditions wherein the vehicle is executing a mission (e.g., moving, performing operations while not moving, etc.).
  • a mission e.g., moving, performing operations while not moving, etc.
  • the disclosure herein further contemplates communications that may occur during any period, including during down-time of the vehicle and/or during service events.
  • the disclosure herein further contemplates communications that may occur through wired communication channels, such as when the vehicle network is in communication with a service tool, on-board diagnostics (OBD) instrument, or other physically coupled device.
  • OBD on-board diagnostics
  • Example and non-limiting embodiments include one or more of: industrial equipment; robotic systems (including at least mobile robots, autonomous vehicle systems, and/or industrial robots); mobile applications (that may be considered “vehicles”, or not) and/or manufacturing systems. It will be understood that certain features, aspects, and/or benefits of the present disclosure are applicable to any one or more of these applications, not applicable to others of these applications, and the applicability of certain features, aspects, and/or benefits of the present disclosure may vary depending upon the operating conditions, constraints, cost parameters (e.g., operating cost, integration cost, operating cost, data communication and/or storage costs, service costs and/or downtime costs, etc.) of the particular application.
  • cost parameters e.g., operating cost, integration cost, operating cost, data communication and/or storage costs, service costs and/or downtime costs, etc.
  • a flow should be understood broadly.
  • An example flow includes a related group of data (e.g., speed data, temperature data, audio-visual data, navigation data, etc.), a related group of functions (e.g., among vehicle functions, extra-vehicle functions such as service operations and/or data collection, aggregations between related vehicles, and/or combinations of these that are related for a particular system), a related group of devices (e.g., door actuators), and/or a related group of applications.
  • Flows as used herein, provide an organizing concept that may be utilized to relate certain data, certain end points, certain applications, and/or related functions of the vehicle or apart from the vehicle.
  • a controller can utilize a flow to identify a data source, a data destination, permissions available for the flow, priority information related to the flow, or the like, to implement certain data regulating operations here.
  • the controller can utilize a flow to identify a data intrusion attempt, for example by determining that a flow is providing unexpected information or operational requests, by determining that information or operational requests are coming from an unexpected location, and/or according to the frequency and/or values of information or operational requests relative to historical parameters, expected parameters, and/or pre-determined limits.
  • the utilization of the flow allows the controller to perform separate operations that may involve the same end points to support the desired network management.
  • a vehicle speed management application may have a high priority, and a speedometer end point may be associated with the vehicle speed management application.
  • the controller applies a high priority to the vehicle speed message.
  • the controller may apply a lower priority to the vehicle speed message.
  • a failure of a vehicle controller, portion of a network, or other off-nominal condition may result in the migration of the vehicle speed management application to another controller in the system, whereby the vehicle speed message is being communicated (e.g., where the backup controller is on another network) to support the vehicle speed management application, and the controller may apply a higher priority to the vehicle speed message.
  • the utilization of flows and applications to organize the components of the system allows for the same or similar information to be regulated by the controller in a differential manner to support various functions, allowing for improvements in the performance and security of network regulation operations (e.g., reducing unnecessary cross-network traffic, and providing information only as needed), and supports additional functionality relative to previously known systems, such as redundancy support, distributed control, and granular cross-network messaging.
  • Embodiments of the present disclosure provide for systems, apparatuses, and methods for operating and/or managing vehicle automation features and/or functions.
  • Embodiments herein allow for the addition, deployment, configuration, and/or updating of vehicle automation features and/or functions without coding (e.g., algorithm development, compiling, and/or updating of computer readable instructions, operating system changes, and/or firmware updates).
  • Embodiments herein allow for the addition, deployment, configuration, and/or updating of vehicle automation features utilizing an index of automation recipes, interactions with an operator, and/or interactions with an application that further interfaces with an operator, owner, service personnel, manufacturer, fleet personnel, and/or OEM.
  • Embodiments herein support management, initiation, and/or updating of flexible triggers for vehicle automation features and/or functions, and/or execution of vehicle automation features and/or functions.
  • Embodiments of the present disclosure provide for systems, apparatuses, and methods for managing and/or operating vehicle remote control enhancements.
  • Embodiments herein allow for reduced latency and/or no latency vehicle-external network communications, for example utilizing low power persistent vehicle-cloud communications.
  • Embodiments herein allow for extensive control functions for customer support, customer service, business analysis, manufacturer/OEM application differentiation, consumer applications, customized features, and/or aftermarket features.
  • Embodiments herein allow for implementation of remote control enhancements utilizing programmable complex control procedures, with high capability for secure access to vehicle networks, devices, end points, and/or flows, and for access to ancillary aspects to allow for implementation of high capability features (e.g., determining supporting vehicle states, conditions, etc., and/or capabilities to ensure mission functions are not inhibited).
  • high capability features e.g., determining supporting vehicle states, conditions, etc., and/or capabilities to ensure mission functions are not inhibited.
  • Embodiments of the present disclosure provide for systems, apparatuses, and methods for management and/or operation of shared network storage for a mobile application having a number of data storage devices associated therewith, and/or may further include where the number of data storage devices are distributed across at least two networks and/or across networks of a mixed network for the mobile application.
  • Embodiments include a unified storage shared by multiple applications, flows, processors, circuits, end points, devices, services, and the like.
  • Embodiments herein provide for network file system access to end points, devices, applications, and/or flows on the networks of the mobile application.
  • Embodiments herein provide for an overlaid database service for shared stored data, and/or portions thereof.
  • Embodiments herein provide for selected encryption schemes for shared stored data, including at least encryption of data at rest.
  • Embodiments herein provide for authentication, access control, and auditing of shared network storage operations, including at least scheduled operations according to a policy, permissions of participating devices, etc.
  • Embodiments herein provide for data life cycle management of shared stored data, including at least: implementation of policies; data retention schemes; and/or prioritization between devices, end points, applications, flows, related services, data types, and/or determined operating conditions of the mobile application.
  • Implementations of the present disclosure are provided as a service oriented architecture (SOA), faster development, code reuse, reduced complexity, and easier deployment.
  • OEMs benefit from reduced development costs, improved time-to-market, reduced warranty expenses, and recall expenses.
  • Customer benefits include vehicles with more capabilities, feature upgrades after purchase, and less inconveniences due to work associated with warranties and/or recalls.
  • a SOA includes operations for devices, end points, applications, and/or flows to publish (e.g., a service provider) the availability of a service (e.g., data values, actuator operations, and/or functions available), and to subscribe (e.g., a service requestor) or otherwise request an available service.
  • Services may be selectively published (e.g., only to subscribers having sufficient permissions, and/or only by providers having sufficient permissions). Services may have distinct permissions on both the publication and request side, for example with owners, manufacturers, OEMs, body builders, fleet operators, third-party applications, etc. having distinct permissions to publish and/or request services. Service providers and/or requestors may be on- vehicle or off- vehicle.
  • Examples of the present disclosure provide for the ability to provide frequent feature upgrades, addition or removal of features, and a personalized configuration of features for a mobile application.
  • An example embodiment enables customized vehicle behavior by providing a simple, flexible, automation capability.
  • An example embodiment includes an interface and integration tools allowing developers and users to quickly and easily create custom workflows that manipulate vehicle features based on user input and vehicle state.
  • an example automation manager is capable to respond to any input capable of being provided as a network communication and/or data parameter stored on a computer readable medium, and to provide any response capable of being commanded to any actuator in the system, including actuators under the control of another controller in the system (e.g., a vehicle display, system speakers, vehicle powertrain, etc.).
  • An example customized operation includes an operation to set the passenger’s seat heating in response to a driver tapping a driver’s seat heating switch twice and setting the passenger’s seat heating.
  • the example operation returns the driver’s seat heating switch to control of the driver’s side heating after a brief delay (e.g., a few seconds).
  • the example operation allows the driver to conveniently set the passenger seat heating from the driver’ s side of the vehicle.
  • An example customized operation includes an operation to configure a number of vehicle aspects in response to a command, such as “Hey car, start my morning commute.”
  • configured vehicle aspects may include tuning the radio to a selected station and volume, setting a pre-selected navigation destination (e.g., an office), setting the performance mode of the vehicle (e.g., fuel economy mode), setting the driver’s seat position (e.g., forward/reverse, height, tilt, lumbar support, etc.), and/or setting HVAC parameters (e.g., selected cabin temperature).
  • An example customized operation includes an operation to configure a number of vehicle aspects in response to a system condition, such as an approach of the vehicle to the driver’s home at night.
  • the customized operation implements a workflow that dims the headlights, lowers the radio volume, sends a message to a home automation system to turn on lights and open the garage door, and retracts the side mirrors as the car pulls into the garage.
  • the approach of the vehicle to the driver’s home at night may be determined by any operations, such as determining from GPS coordinates, direct interaction with a network of the home automation system, etc.
  • An example customized operation includes an operation to configure a number of vehicle aspects in response to an input, such as a hard coded button on a vehicle display.
  • An example includes setting an HVAC system of the vehicle to a desired temperature in response to the hard coded button, without having to navigate a climate control system, utilize multiple button presses, and/or turn related knobs where visibility may be lacking (e.g., the vehicle is dark) and/or the driver does not want to utilize attention to find and focus on the related knobs.
  • An example automation manager (or vehicle automation manager) allows users to create arbitrary trigger- action rules which can be executed on the vehicle, such as by the centralized controller. For instance, the user could create a trigger- action rule that would automatically turn on the high-beam headlights when there is no oncoming traffic while driving at night.
  • An example schematic flow description of the customized operation includes:
  • the user accesses an app on her phone or web browser and uses it to create custom trigger- action rules, or enable predefined ones created by the OEM;
  • the trigger- action rules are sent to the cloud, and the enabled trigger- action rules are consolidated as a “recipe” on the cloud side;
  • the cloud pushes the recipe to the vehicle through a vehicle update controller (VUC- for example embodied on an automation manager 1404) (e.g., downloading, storing, and installing configuration information related to customized operations);
  • VUC- vehicle update controller
  • automation manager 1404 e.g., downloading, storing, and installing configuration information related to customized operations
  • the trigger evaluation engine receives the latest recipe, it analyzes each workflow in the recipe and executes each workflow in a controlled and isolated manner;
  • Accounting data (such as the number of times a trigger- action rule has been executed, trigger event detections, trigger event data, and/or events where the action is taken or triggered but suppressed based on operating conditions, etc.) is sent back to the cloud, where it can be further reviewed, e.g., from the phone app and/or other monitoring application [000126] It can be seen that the vehicle automation manager 1404 allows users to enrich their vehicle experience without waiting for a feature request, approval, and update process. The example vehicle automation manager further allows the user to leverage their own creativity and/or the creativity of 3 rd party application providers to implement improved vehicle interactions.
  • vehicle brand owner e.g., manufacturer or OEM
  • other supporting or responsible party can implement trigger- action rules to more rapidly and/or more frequently provide updates or features to many users, or even to specific users.
  • a Vehicle Automation Manager takes recipes from the cloud as inputs and executes the trigger-action rules in the recipes.
  • Each trigger-action rule is composed of triggers, conditions, and actions.
  • the triggers are the inputs to the rule that encompass signals from the CAN bus, time, location, diagnostic states, vehicle status, video/audio, driving log, etc.
  • Conditions take trigger input values and decide if certain conditions are met.
  • the conditions are described using a custom syntax, in order to express complex logical conditions, such as multi-level AND/OR logic, comparators, and advanced utility functions to calculate sum/mean/stddev etc. If the conditions are met, then the corresponding actions will be executed, and/or requested (but may be blocked due to operating conditions, etc.).
  • the actions could include calling services in the SOA or sending CAN signals to the CAN ECUs.
  • an example apparatus 5600 includes an automation manager 1404 is schematically depicted, and positioned on a centralized controller.
  • the automation manager 1404 receives recipes (and/or configuration information describing a customized operation) from the cloud using MQTT/HTTP/WebSocket, etc.
  • the VAM controls the vehicle automation based on the recipes, and includes a lexical engine to parse the recipes, and a rule engine to orchestrate the rule execution by leveraging a trigger evaluation engine and a task execution engine (and/or a trigger execution engine).
  • Operations of the automation manager such as in Fig. 56 may include vehicle automation operations, event trigger operations, remote control operations, and/or any configurable operations performed in response to an application, feature, trigger, or other automated application created by a manufacturer, OEM, fleet owner, vehicle owner, vehicle operator, and/or a third party.
  • An example trigger evaluation engine takes trigger data as inputs and evaluates the trigger conditions based on the trigger data values.
  • the trigger data can come from any network, such as a CAN bus, for example using a configurable edge gateway to adjust the routing table to retrieve the signal values dynamically.
  • the data could also come from any ECU 1406, such as a Ethernet ECU through a SOA, from other modules on the centralized controller (e.g., Diagnostic Server), or raw sensor data such as video/RADAR/LiDAR streams over Ethernet or other types of network (for example to support an advanced driver assistance system - ADAS 1408).
  • the centralized controller may further share the data collection performed for customized operations with other aspects of the system, such as data collection operations for other purposes, and/or between multiple customized operations utilizing at least some of the same trigger data parameters, thereby reducing redundant requests for the same data parameters.
  • data collection may be a separate operation that may additionally be based on a trigger condition, and/or data collection may be performed as a customized operation.
  • the trigger manager (e.g., as the automation/remote manager in the example of Fig. 56) manages triggers from various trigger related clients, such as vehicle automation, remote control, and/or data collection triggered flows.
  • various trigger related clients such as vehicle automation, remote control, and/or data collection triggered flows.
  • a data listener that receives data related to the triggers, which may be taken from any location in the vehicle, such as: a CAN bus; Ethernet packets (including EthCC packets having state information such as vehicle location); a diagnostic manager providing DET errors, RDBI data, fault codes, etc.; a system manager (e.g., providing vehicle power state information); a time manager (e.g., providing a current time value); and/or any other information such as from the SOA.
  • the trigger data may also be taken from any location outside of the vehicle, such as a REST API endpoint in the cloud.
  • the data cache stores the data for condition evaluation, for example including buffered data, intermediate parameters, etc.
  • the condition evaluation runtime is an engine to evaluate the conditions based on the trigger values in the cache, and to determine whether the trigger condition is met in response to the evaluation.
  • the condition evaluation supports any type of analysis or determination operations, including at least: basic logical operators (e.g., AND, OR, numerical comparisons, etc.); nested logical expressions with appropriate formatting (e.g., ((X > 5 && Y ⁇ 10)
  • the task execution engine performs actions defined in the action catalog (e.g., the actuators to be adjusted according to the customized operation).
  • Example and non limiting actions include turning on a light, turning on and/or adjusting the HVAC, turning on the ignition, etc.
  • Embodiments of the present disclosure are capable to access any actuator that is reachable through any network, including actuators provided on more than one network (e.g., an Ethernet for one actuator, and a CAN for the other actuator).
  • actions include a request for operation of an actuator (e.g., to another controller having direct control of the actuator), actions to request a published service be performed, and/or actions having complex interactions which may further be present on more than one other controller.
  • An example operation includes receiving a customer configuration of a scheduled acclimatization, where remote control operations include activating the HVAC system at a scheduled time (e.g., 7 AM) on selected days (e.g., weekdays), to a selected condition (e.g., a selected temperature, and/or utilization of defrost to ensure the windows are clear).
  • a scheduled time e.g. 7 AM
  • selected days e.g., weekdays
  • a selected condition e.g., a selected temperature, and/or utilization of defrost to ensure the windows are clear.
  • the customer may configure the operation using an application (e.g., a 3 rd party application), using a cloud or web-based interface, and/or using an application provided by a manufacturer, dealer, etc.
  • the applied limits for the vehicle management setting may be an actual applied limit (e.g., a maximum speed, performance value, etc.) or a notification limit (e.g., typically a geographic restriction may be implemented as a notification limit rather than a shutdown limit), where a notification is sent to the owner and/or to a selected device if a limit of the vehicle management setting is exceeded (and/or tested, such as with an actual applied limit).
  • an actual applied limit e.g., a maximum speed, performance value, etc.
  • a notification limit e.g., typically a geographic restriction may be implemented as a notification limit rather than a shutdown limit
  • An example operation includes a security mode, for example requesting data from a camera, microphone, vehicle display, dashboard, etc., in response to a request for the security mode.
  • the user can select one or more devices (e.g., specific cameras and/or locations within or relative to the vehicle), and can receive streaming video and/or a snapshot from the selected device(s).
  • the security mode allows for a data request from a device communicatively coupled to the vehicle, for example a security camera of a home security system in communication with the vehicle (e.g., see customized operations preceding).
  • An example operation includes a personalized operation, such as playing “Happy Birthday to You” and/or manipulating cabin lights upon the driver entering the vehicle on her birthday.
  • a personalized operation can be any type of operation such as: playing a selected song or play list on a given calendar date, day of the week, etc.; reminding an operator of a calendar event (e.g., linking to a calendar function of a smart phone, etc.), an anniversary, etc. upon entry to the vehicle; and/or reminding an operator of a scheduled stop (e.g., picking up groceries upon entering the vehicle to return home from work).
  • a calendar event e.g., linking to a calendar function of a smart phone, etc.
  • an anniversary, etc. upon entry to the vehicle
  • a scheduled stop e.g., picking up groceries upon entering the vehicle to return home from work.
  • Example and non-limiting remote control operations include performing one or more operations, such as: sending a note to the operator, showing the note on a vehicle display, and/or announcing the note on a speaker; taking a snapshot from one or more cameras and sending it to an operator and/or requestor; allowing a 3 rd party service (e.g., mobile re-fueling, vehicle service, and/or delivery company) to access vehicle location and door status, but only under specified conditions (e.g., selected times of the day, until the completion of an event, and/or in response to a proximity of the 3 rd party service to the vehicle); beginning start-up operations of the vehicle, a controller, the head unit, etc., as an operator approaches; reacting to environmental changes by defrosting the vehicle (e.g., in response to frost build-up, ambient temperature determination, etc.); and/or running a scheduled test for diagnostic purposes (e.g., running an active diagnostic test when the operator is away from the vehicle, reducing impact of the test on the
  • Example remote control operations include a prerequisite condition, a task, and/or a status report.
  • the prerequisite condition includes any combination of vehicle status, CAN signals, Ethernet packets, information stored on a computer readable medium (e.g., log information, trip information, and/or other vehicle information stored in a memory location), time and/or date, location, etc. to be utilized as a prerequisite trigger condition for the remote operation, and can further be configured as a complex logical expression and may further be based on a number of conditions.
  • the task includes an action that can be performed utilizing a CAN signal, Ethernet packet, or other network communication, including at least any action described under customized operation preceding.
  • an example remote control manager is schematically depicted, being a part of a centralized controller in the example, although the remote control manager may be a distinct device, and/or positioned on another device.
  • the interface to the CAN controller may be performed through a configurable edge gateway.
  • the task execution engine and trigger evaluation engine is depicted as separate and dedicated to the remote control manager, solely for clarity of the present description.
  • the task execution engine and/or trigger evaluation engine may be positioned, in whole or part, with another device or controller such as an automation manager, shared between the remote control manager and the automation manager, and/or each of the remote control manager and automation manager (where present) may have separate trigger evaluation engine(s) and/or task execution engine(s).
  • the example controllers 104, 112, 124 are depicted in an example arrangement. Aspects of the present disclosure, including circuits, controllers, engines, or the like, may be provided in whole or part on depicted controllers 104, 112, 124 in any arrangement, distributed across depicted controllers, positioned in other locations (e.g., on a network zone 106, 108, including being positioned in whole or part on an end point of a network zone 106, 108), and/or positioned in distinct locations depending upon the current operating condition of the system (e.g., a circuit positioned on the cloud server 110 in a first operating condition, and positioned on a service tool 122 in a second operating condition), time of day, calendar date, position of the operator, position of the vehicle 102, etc.
  • the current operating condition of the system e.g., a circuit positioned on the cloud server 110 in a first operating condition, and positioned on a service tool 122 in a second operating condition
  • the example data stores depicted in Fig. 1 may be positioned at any place in the system 100, and any data store that is at least selectively or intermittently in communication with any controller embodying a portion of the system 100 is contemplated herein as a data store for certain operations herein, including at least storing data, moving stored data, providing data to an operator or other entity associated with the vehicle (e.g., service personnel, fleet management personnel, a manufacturer, owner, dealer, aftermarket provider, etc.).
  • an operator or other entity associated with the vehicle e.g., service personnel, fleet management personnel, a manufacturer, owner, dealer, aftermarket provider, etc.
  • Example controllers herein are depicted having a number of circuits configured to perform operations of the controller.
  • a circuit includes components configured to perform the operations set forth for the circuit, and may include components such as: an actuator responsive to commands to perform selected operations and/or to provide communications such as an actuator state, fault condition, or the like; a sensor providing one or more information values utilized by the circuit, including direct sensors (e.g., a temperature, speed, voltage, etc.) and/or virtual sensors (e.g., a value determined from a number of other values available on the system); a processor and/or executable instructions stored on a computer readable medium, where a processor is configured to execute the instructions to perform one or more operations of the circuit; and/or a data store configured to store related data, executable instructions, or the like associated with the circuit.
  • direct sensors e.g., a temperature, speed, voltage, etc.
  • virtual sensors e.g., a value determined from a number of other values available on the system
  • the components and/or distribution of the circuit are dependent upon the operations performed by the circuit, the operating conditions of the vehicle, and/or the communication connectivity of components (e.g., availability of communications with the cloud server, a tool, and/or an external device).
  • a sensor, actuator, supporting controller, data store, or the like may be communicatively coupled to the circuit, for example a circuit that interprets a temperature value may include a data store having a data value stored thereon representing the temperature value, where the operations of the circuit to interpret the temperature value may include reading the data value, and in another example a circuit that interprets a temperature value may include a temperature sensor that provides the temperature value for utilization by the remainder of the circuit.
  • the example automation description 212 includes operations to be performed to implement an automated vehicle response, and may be provided by an external device, tool, cloud server, or the like.
  • the utilization of the automation description 212 allows for the planning of the automated vehicle response to be performed by a user that does not have vehicle specific information (e.g., parameter names, end point locations, network addresses, and/or information about the distribution of control operations and/or end points on the vehicle).
  • vehicle specific information e.g., parameter names, end point locations, network addresses, and/or information about the distribution of control operations and/or end points on the vehicle.
  • a user interface allowing for a user to provide the automation description 212 can inherently limit the user to seeing or accessing only information, functions, or the like that are permitted for that user.
  • an example controller 202 provides a notification or alert to indicate that an automated action plan 222 has been refused, discontinued, and/or modified.
  • the notification or alert may be communicated to the requestor, an administrator (e.g., of a cloud server 110 or application running on controller 112), a vehicle manufacturer, or any other entity associated with the system 100.
  • an example automated action plan 222 includes aspects of the automated description 212 that are configured for the specific vehicle, such as: a data description of data to be collected 302 (e.g., including network addresses, end point identifiers, data processing values, etc.); actuator responses 304 (e.g., including network addresses, end point identifiers, actuator command values, etc.); data transmission operations 306 (e.g., including transmission timing, priority, loss of transmission responses, etc.); data storage operations 308 (e.g., including data storage locations, data storage format, data storage life cycle, etc.); event detection descriptions 310 (e.g., events to be detected relevant to the automated vehicle response activities, for example utilized to initiate actions, to modify actions, to initiate or set timer values, to set state values, or the like); trigger descriptions 312 (e.g., triggers utilized to initiate an action or workflow, to initiate data collection, to initiate a timer or other delay operation, etc.); and/or action sequences or schedules 314
  • Example and non- limiting automated vehicle responses 402 include responses such as: selectively activating an actuator 404 (e.g., commanding the actuator to open or closed, commanding the actuator to a selected position, and/or commanding an outcome for the actuator - for example a set point for a control algorithm that utilizes the actuator); collection of selected data 406 (e.g., data collected relating to an event detection, a trigger evaluation, during operations of the automated commands, confirmation data related to the automated commands, and/or alerts or notifications related to the automated commands); delaying the automated vehicle response for a hold period 408 (e.g., detecting that a trigger evaluation indicates that the automated vehicle response activity is to be performed, and delaying to perform the activity for a predetermined period, until another condition is detected, and/or according to an operating condition of the vehicle, such as waiting until the vehicle is stopped, moving at a threshold speed, below a set fuel or battery level, in a shutdown condition, etc.); delaying the automated vehicle response for a detected event 410 (e.g.
  • the automated vehicle responses 402 are a non-limiting example of a few operations that may be performed by an automation command 214.
  • a given automated vehicle response activity may include a number of automated vehicle responses 402.
  • an automated vehicle response 402 may be performed as a task in a workflow, such as set forth in relation to Figs. 25-27 and 31).
  • An example automation execution circuit 208 detects an event in response to an event detection description 224 of the automated action plan, and implements the automated vehicle further in response to the detected event.
  • An example automation management circuit 206 provides the automated action plan 222 in response to an external operating condition of the automation description 212, and the automation execution circuit 208 receives the external operating condition from an external device (e.g., a device at least intermittently in communication with controller 202 and/or the vehicle, for example a web based service operating on an external device).
  • an external device e.g., a device at least intermittently in communication with controller 202 and/or the vehicle, for example a web based service operating on an external device.
  • An example automation definition circuit 204 receives the automation description 212 from an external device, for example by operations such as: receiving the automation description 212 from a cloud server as an automation workflow to be performed on the vehicle; as a policy including the automation description 212; as a portion of a policy including the automation description 212 (e.g., to be appended to a main policy, and/or to be performed as a second policy where the system implementation allows for multiple policies to be serviced); and/or as a remote command (e.g., provided by a data file having the automation description 212, and formatted to be recognized and implemented by controller 202) by any external device such as a service tool, an application on the cloud server in communication with the vehicle, a web portal in communication with the vehicle, and/or a mobile application such as an application on a mobile device of an operator of the vehicle.
  • a service tool e.g., an application on the cloud server in communication with the vehicle, a web portal in communication with the vehicle, and/or a mobile application such as an application on
  • an example apparatus 600 depicts a controller 601 including the automation definition circuit 204 that interprets an automation trigger description 602 (e.g., describing criteria to initiate, continue, discontinue, and/or move between tasks or states of a workflow associated with an automated vehicle response activity), and an automation action description 604 (e.g., describing operations performed as a part of a workflow associated with an automated vehicle response activity).
  • an automation trigger description 602 e.g., describing criteria to initiate, continue, discontinue, and/or move between tasks or states of a workflow associated with an automated vehicle response activity
  • an automation action description 604 e.g., describing operations performed as a part of a workflow associated with an automated vehicle response activity.
  • the example controller 601 includes the automation management circuit that provides a trigger detection plan 610 and an automated action plan 222 in response to the automation trigger description 602 and the automation action description 604 (e.g., providing vehicle specific parameters to implement the descriptions 602, 604, appending within a policy, and/or performing any other operations to implement the automated vehicle response activity as set forth herein).
  • the example controller 601 includes the automation execution circuit 208 that determines a trigger event value 612 (e.g., checking current vehicle conditions or other relevant data to determine whether criteria for a trigger of the trigger detection plan 610 have been met), and provides an automation command 214 in response to the trigger event value 612 (e.g., beginning execution of automation commands 214 after the trigger is confirmed) and the automated action plan 222 (e.g., executing the selected automation operations).
  • a trigger event value 612 e.g., checking current vehicle conditions or other relevant data to determine whether criteria for a trigger of the trigger detection plan 610 have been met
  • an automation command 214 in response to the trigger event value 612 (e.g., beginning execution of automation commands 214 after the trigger is confirmed) and the automated action plan 222 (e.g., executing the selected automation operations).
  • An example automation execution circuit 208 further provides a trigger evaluation command 606 in response to the trigger detection plan 610, for example allowing for serial trigger conditions (e.g., check for condition A to exist before beginning to check for condition B).
  • End point(s) responsive to the trigger evaluation commands 606 may be distinct from end points performing the automation commands 214, and further end points supporting each trigger level (e.g., where serial trigger conditions are considered) may be distinct from end points supporting other trigger levels (e.g., the check for condition A versus condition B may use a distinct set of sensors, vehicle data, etc. to determine whether the trigger conditions for each one are met).
  • An example automation execution circuit 208 is responsive to a trigger evaluation value 608 determined from the trigger evaluation commands 606, for example where the trigger evaluation value 608 includes data from end points utilized to check whether the related trigger condition has been met (e.g., a temperature from a sensor, a position feedback from an actuator, and/or a state parameter from a controller of the vehicle such as “door ajar”), where the automation execution circuit 208 executes the appropriate aspects of the automated action plan 222 and/or trigger detection plan 610 in response to the trigger evaluation data 608.
  • the trigger evaluation value 608 includes data from end points utilized to check whether the related trigger condition has been met (e.g., a temperature from a sensor, a position feedback from an actuator, and/or a state parameter from a controller of the vehicle such as “door ajar”), where the automation execution circuit 208 executes the appropriate aspects of the automated action plan 222 and/or trigger detection plan 610 in response to the trigger evaluation data 608.
  • an example automation action description 604 includes an automation scheduling value 706 (e.g., times and/or sequencing of tasks of a workflow).
  • Example aspects of the automation action description 604 include one or more of: a data description of data to be collected 702; an actuator response 704 of actuators to be controlled; an event detection description 708 (e.g., for events to be detected as part of a workflow); an action repeat value 710 (e.g., a number of times for an action to be repeated, a repeating schedule, a time window during with the repeating behavior is adjusted, etc.); and/or an action interruption description 712 (e.g., describing criteria such as operating conditions, response times, state values, etc., at which an action should be considered to be interrupted; and/or a description of actions that should be performed in the event of an interruption, such as data deletion or management, setting of state values or other stored parameters, and/or a description of whether the action should be resumed and/or related criteria for resumption
  • an automation scheduling value 706
  • an example automation trigger description 602 includes a trigger scheduling value 810 (e.g., times and/or sequencing of various trigger determinations for a workflow).
  • Example aspects of the automation trigger description 602 include one or more of: an event detection description 802 (e.g., for events relevant to trigger determinations); a trigger description 806 (e.g., criteria to be evaluated to determine the trigger event value 612); a trigger time description 814 (e.g., relevant time frames for the trigger check, including delay periods relative to other values, such as 10 minutes after vehicle start, and 5 seconds after engine speed exceeds 1000 rpm, and continue for 30 seconds); a filter description for vehicle operating parameter(s) 804 (e.g., allowing for a change in response time and/or real-time accuracy for operating parameters, for example to hide system dynamics from an observer of the related data, or to increase the difficulty of reverse engineering an aspect of the vehicle, while providing sufficient data for the purpose of the trigger and action of the workflow); a map description 808 (e
  • a statistical analysis description 816 e.g., allowing trigger determination from anomalous data such as: a temperature value outside a range expected by a temperature model, a data value that is several standard deviations outside of an expected value, and/or a metadata statistic, such as a number of times a value is communicated that exceeds or falls below an expected frequency or distribution of frequencies
  • a data parsing description 818 for vehicle operating parameters, network messages, and/or controller parameters e.g., allowing the automation execution circuit 208 to: provide or utilize only data of interest such as data within selected time windows and/or data associated with a detected event or trigger; to adjust reported data according to a selected formatting, message protocols, or the like, and/or providing reporting utilizing the payload (e.g., the data values) with full or partially removed headers (e.g., network addresses, etc., which may depend upon the network type and protocols for the end point providing the data).
  • the payload e.g., the data values
  • full or partially removed headers e
  • information about the message apart from the payload may be removed from the data - for example due to permissions values (e.g., a requestor providing an automation request 1506 that is not authorized to see certain aspects of the data), to reduce utilization (e.g., providing only the payload with message headers removed reduces network communications and data storage utilization), and/or to normalize data (e.g., an end point utilizing the wrong system time may have time corrected data, for example to allow for later synchronization of data).
  • permissions values e.g., a requestor providing an automation request 1506 that is not authorized to see certain aspects of the data
  • reduce utilization e.g., providing only the payload with message headers removed reduces network communications and data storage utilization
  • normalize data e.g., an end point utilizing the wrong system time may have time corrected data, for example to allow for later synchronization of data.
  • example automated vehicle responses 902 include one or more of: providing an actuator command 904, providing an actuator activation 906 (e.g., blocking or allowing the use of an actuator, for example enabling or disabling a feature of the vehicle such as a cruise control system, door lock actuator, or steering wheel); and/or an actuator trajectory 908 (e.g., controlling a rate of the actuator response, commanding the actuator through a series of time-position commands; commanding the actuator through a series of time-set point commands; etc.).
  • An automated vehicle response 902, as utilized herein, includes actions provided by any controller herein that performs operations to: complete an automated vehicle response activity, execute an automated workflow, to perform an automated vehicle response, or any other similar automation operations described herein.
  • example automated vehicle responses 902 include one or more of: selectively enabling a vehicle feature 1002 (e.g., turning on or off a vehicle capability); adjusting a calibration of a vehicle feature 1004 (e.g., adjusting a maximum speed, limiting a radio volume to selected values, and/or adjusting any other feature of the vehicle); adjusting a display of the vehicle 1006 (e.g., providing a selected camera to a screen; providing a light or notification to the operator; and/or changing which values are displayed on a screen or dashboard); adjusting an operator control response of the vehicle 1008 (e.g., switching to an economy or performance mode; adjusting a maximum speed or power; and/or adjusting a transmission shifting scheme); adjusting an environmental management system of a vehicle 1010 (e.g., adjusting a temperature, blower level, blower scheme, etc., for example allowing a response according to the operator identity, time of day, weather information, etc.); adjusting a sound
  • An example automation action description 604 includes an action repeat value, and the automation management circuit 206 further provides the automated action plan 222 in response to the action repeat value.
  • an action may be repeated as a part of a workflow (e.g., reference Figs. 25-27, and 31), or a given action may be repeated multiple times (e.g., which may be treated together as a single task in a workflow such as in Figs. 25-27, and 31), depending upon the organization of the automation description 212, automation trigger description 602, and/or automation action description 604, and/or the implementation scheme for a workflow for a particular system.
  • An example automation description 604 includes an action interruption description, where the automation management circuit 206 further provides the automated action plan 222 in response to the action interruption description.
  • Example and non-limiting action interruption descriptions include one or more of: an action response description for a vehicle off event (e.g., actions to be taken when a vehicle off event is detected, for example in response to an operator requested state, key removal, etc.); an action response description for a vehicle fault event (e.g., actions to be taken when a fault disrupts the action, for example when a commanded actuator indicates a fault has occurred); an action response description for a vehicle operation interruption (e.g., the action requires 10 seconds at 60 mph, and the vehicle has just reduced speed to 55 mph after 6 seconds; in another example a network communication dropout for selected parameters has exceeded a threshold value); and/or a timeout event such as an amount of time for an interruption (e.g., loss of a parameter, loss of a trigger condition, failure to progress to a task stage, etc.) of task progress is
  • Example interruption descriptions include determinations of whether to pause or cancel operations (e.g., of a related workflow), whether to reinstate trigger conditions before proceeding or restarting, whether to count the action as complete or incomplete, whether and where to provide a notification or alert of the action interruption, and/or treatment of stored data pursuant to the action (e.g., hold the data, delete the data, move the data, etc.).
  • an example apparatus 1100 includes a controller 1101 having an automation definition circuit structured to interpret a task description 1102 (e.g., for a task provided by a requestor that may not have knowledge of the vehicle, end point configurations, and/or parameter names), an automation management circuit 206 that provides a task action plan 1106 in response to the task description 1102 (e.g., where the task is converted into vehicle specific parameters and configured into a workflow or other organizing scheme for tasks as set forth throughout the present disclosure), and an automation execution circuit 208 that provides task execution command(s) 1104 in response to the task action plan 1106 (e.g., providing network communications, actuator commands, and/or collecting data pursuant to the task action plan 1106).
  • An example system 100 includes one or more end points responsive to the task execution command(s) 1104 to implement a task for the vehicle.
  • an example task description 1102 includes one or more of: a task scheduling value 1206 (e.g., setting time values and/or command sequences associated with the task); a task initiation value 1208 (e.g., setting criteria for the task to begin); actuator response(s)
  • a task scheduling value 1206 e.g., setting time values and/or command sequences associated with the task
  • a task initiation value 1208 e.g., setting criteria for the task to begin
  • a task may be any automated vehicle response activity, automated workflow, or automated vehicle response, and/or an operation within any one or more of these.
  • the example tasks 1302 include operations such as: monitoring a vehicle operating condition 1304 (e.g., speed, fuel economy, alarm system, etc.); selectively activating an actuator 1306 (e.g., disabling or enabling any actuator, feature, or other aspect of the vehicle); moving an actuator to a selected position 1308 (e.g., open the trunk; and/or set an actuator rate limit or target, move the actuator through a time-position or time-value trajectory, etc.); transmitting task data (e.g., any data associated with the task, for example data confirming the task, verification data, and/or data collected as an operation of the task) in response to a task execution command (e.g., if the task was attempted) and/or an end point response (e.g., if the task was completed) 1310; storing task data in response to a task execution command and/or an end point response 1312; providing a report (e.g., with selected data, formatting, verification data, headers, metadata, etc.) in response to a
  • FIG. 14 an example automated action plan 222 is schematically depicted.
  • the example automated action plan 222 includes one or more actions such as: implementing a conditional operation 1410 (e.g., performing a task based on the completion of another task, the detection of an event, and/or a trigger evaluation); implementing a branched operation 1412 (e.g., performing more than one task based upon a single completion of another task, detected event, and/or trigger evaluation); implementing a state machine operation 1414 (e.g., any state machine based workflow, for example moving between operating modes based upon selected trigger conditions, where each operating mode has a distinct task set from other operating modes); and/or implementing a cyclical operation 1416 (e.g., allowing for looping and/or repeating behavior for one or more tasks).
  • a conditional operation 1410 e.g., performing a task based on the completion of another task, the detection of an event, and/or a trigger evaluation
  • implementing a branched operation 1412 e.g., performing more than one task based upon a single
  • An example automated action plan 222 includes a continuity description 1418, for example describing interruption parameters (e.g., to determine whether an interruption of a task, workflow, automated vehicle response activity, etc., has occurred) and continuity parameters (e.g., treatment of data, resumption criteria, etc., for the interrupted task, workflow, and/or automated vehicle response activity).
  • continuity parameters e.g., treatment of data, resumption criteria, etc., for the interrupted task, workflow, and/or automated vehicle response activity.
  • aspects of the action interruption description 712 are applicable to embodiments of the automated action plan 222.
  • an example apparatus 1500 includes a controller 1501 to provide an automation description 212 to a vehicle controller 1510 is schematically depicted.
  • the example controller 1501 includes an automation definition circuit 204 that implements an automation user interface 1504, and interprets an automation request 1506 in response to user communications with the automation user interface 1504.
  • the automation user interface 1504 may include any interface, such as an interactive user interface allowing a user to build a task, workflow, or the like, a coding interface allowing a user to insert a code element into a file that is utilized to generate the automation request 1506, and/or an API where exercising the API is utilized to submit automation requests 1506 to the controller 1501.
  • a user accesses the automation user interface 1504 using an external device 1508, for example by accessing a web portal, mobile application, cloud server, and/or by direct vehicle access such as using a tool, laptop, mobile device, or the like (which access may be supported by a cloud server having at least a portion of the controller 1701, and/or with the controller 1701 positioned on the vehicle).
  • an external device 1508 for example by accessing a web portal, mobile application, cloud server, and/or by direct vehicle access such as using a tool, laptop, mobile device, or the like (which access may be supported by a cloud server having at least a portion of the controller 1701, and/or with the controller 1701 positioned on the vehicle).
  • the example controller 1501 includes an automation management circuit 206 that determines an automation description 212 in response to the automation request 1506.
  • the automation request 1506 and the automation description 212 may be the same, for example where the automation user interface 1504 allows for the user to provide an automation description 212 directly.
  • the automation request 1506 and the automation description 212 may be distinct, for example where the automation request 1506 references a recipe by reference (e.g., Recipe 178, or “Rapid warm-up recipe”), and/or where the automation request 1506 utilizes shorthand parameters (e.g., Task A, rather than the steps executed in Task A) or abbreviations.
  • allowing the automation request 1506 and automation description 212 to be distinct allows for a reduction in resource utilization to support embodiments herein, and/or allows for convenient implementation for a user (e.g., allowing the user to simply select recipes or templates, and/or to modify those).
  • allowing the automation request 1506 and automation description 212 to be the same provides for a simplified implementation, and/or ease of troubleshooting and/or debugging of the system.
  • the example controller 1501 includes an automation command circuit 1502 that provides the automation description 212 to the vehicle controller 1510, where the vehicle controller 1510 is configured to implement an automated vehicle response that is responsive to the automation description 212.
  • the controller 1501 may be positioned, at least in part, on the vehicle (e.g., determining all or a portion of the automation description 212 on a vehicle side controller).
  • the vehicle side portion of the controller 1501, where present, may be positioned on a same substrate (e.g., board, memory, processor) as vehicle controller 1510, or on another controller in the vehicle (not shown).
  • the controller 1501 is positioned completely apart from the vehicle.
  • the controller 1501 is positioned on a cloud server, and/or implemented as a web portal.
  • An example automation management circuit 206 confirms an authorization 1512 of the user for the automation request 1506, and determines the automation description 212 in response to the authorization 1512.
  • the automation request 1506 includes an aspect such as a parameter value, parameter characteristic (e.g., resolution, sampling rate), operation request (e.g., specific actuators affected), data storage request (e.g., explicit, such as data storage to support data collection operations, or implicit, such as data storage to support event detection, trigger evaluation, data processing operations, or the like to support the task, workflow, etc.), or the like that requires a specific authorization to access
  • the example automation management circuit 206 compares an authorization 1512 associated with the user (e.g., for the user personally, according to an entity associated with the user, according to an access location of the user, etc.) to the required authorization for the aspect.
  • the automation management circuit 206 may refuse the automation description 212 (e.g., prohibit the automation description 212 from including the automation request 1506, for example by providing an automation description 212 including only other - authorized - requests, and/or omitting the automation description 212 altogether), and/or provide an adjusted automation description 212 (e.g., removing the aspects that are not authorized, such as parameters, tasks, data storage, etc.).
  • the automation description 212 e.g., prohibit the automation description 212 from including the automation request 1506, for example by providing an automation description 212 including only other - authorized - requests, and/or omitting the automation description 212 altogether
  • an adjusted automation description 212 e.g., removing the aspects that are not authorized, such as parameters, tasks, data storage, etc.
  • an example automation management circuit 206 provides an amendment and/or notification communication 1514 to the automation user interface 1504, which may be provided to the requesting user (e.g., an amendment to the automation request 1506, and/or including information about the amendment), and/or to another user (e.g., allowing the other user to monitor access to sensitive parameters, to adjust the authorization of the requesting user, to improve interface elements of the automation user interface 1504, and/or to assist other users through direct communications and/or training about the automation user interface 1504).
  • the requesting user e.g., an amendment to the automation request 1506, and/or including information about the amendment
  • another user e.g., allowing the other user to monitor access to sensitive parameters, to adjust the authorization of the requesting user, to improve interface elements of the automation user interface 1504, and/or to assist other users through direct communications and/or training about the automation user interface 1504.
  • an example automation management circuit 206 provides a refusal communication to the automation user interface 1504, which may be provided to the requesting user (e.g., a rejection of the automation request 1506, and/or including information about the rejection) and/or to another user.
  • An example automation command circuit 1502 provides the automation description 212 as a policy and/or a policy update.
  • An example automation command circuit 1502 receives a confirmation communication 1516 from the vehicle controller 1510, where the confirmation communication 1516 confirms one or more aspects, such as: a confirmation the automation description was received; a confirmation the automation description is approved (e.g., based on availability of parameters, actuators, etc.
  • the automation definition circuit 204 is further structured to provide a confirmation communication, which may be the same as, or based upon, the confirmation communication 1516, to the automation user interface 1504.
  • the confirmation communication 1516 is provided to the same or a distinct user than a requesting user (e.g., where a first user is responsible to set up the task, and a second user utilizes data from the task).
  • example authorizations 1512 may relate to one or more of: data to be collected 1602 for the automated vehicle response; data to be provided on a network 1604 of the vehicle for the automated vehicle response (e.g., including an impact to network traffic to support the task, and/or to support inter-network traffic such as by a CND to connect end points on distinct network zones); an actuator to be accessed 1606 for the automated vehicle response; a service to be accessed 1608 for the automated vehicle response; a flow to be accessed 1610 for the automated vehicle response; an application to be accessed 1612 for the automated vehicle response; and/or an operational impact 1614 associated with the automated vehicle response (e.g., fuel economy impact, data storage impact, network utilization impact, etc.).
  • aspects of the authorization 1512 may be binary (e.g., the user has permission or does not have permission) or graduated (e.g., the user has authorization for a selected amount of memory storage).
  • an apparatus 1700 includes a controller 1701 for performing triggered automated actions for a vehicle.
  • the example controller 1701 includes an automation definition circuit 204 that interprets an automation trigger description 602 and an automation action description 604, and an automation management circuit 206 that provides a trigger detection plan 610 and an automated action plan 222 in response to the automation trigger description 602 and the automation action description 604.
  • the example automation management circuit 206 further provides a data storage command 1704 in response to the trigger detection plan 610 (e.g., providing sufficient storage to perform trigger operations, including trigger evaluation, support for rolling buffers of data, and/or support for data collection operations instructed as part of the trigger detection plan 610).
  • the example controller 1701 includes a data caching circuit 1702 that confirms available data storage on a data storage device, and/or reserves storage on a data storage device, in response to the data storage command(s) 1704.
  • the availability of data storage e.g. whether current available storage, reservable storage, or a combination
  • the availability of data storage may be a part of determining an event detection, such as an interruption of a task, workflow, or automated vehicle response activity (e.g., deciding a task is interrupted when memory storage to complete the task is determined to be unavailable).
  • the example controller 1701 includes an automation execution circuit 208 that determines a trigger event value 1706 (e.g., whether a trigger event has occurred) in response to the trigger detection plan 610, and stores trigger evaluation data in response to the trigger event value 1706 and the automated action plan 222 (e.g., as data storage commands 1704 storing the trigger evaluation data).
  • the example automation execution circuit 208 further provides an automation command 214 in response to the trigger event value 1706 (e.g., providing the automation command 214 after the trigger event has occurred, which may further include a delay period).
  • An example system includes one or more end points responsive to the automation command(s) 214 to thereby implement an automated vehicle response.
  • An example data caching circuit 1702 reserves and/or confirms data storage on a memory storage associated with at least one vehicle controller, which may be the controller 1701 including the data caching circuit 1702, or another controller on the vehicle.
  • example data storage command(s) 1704 provided by the automation manager circuit 206 include one or more of: a data storage schedule 1810 of the trigger evaluation data 1802 (e.g., a data retention time, priority information related to the data or portions thereof, etc.); a data storage trajectory 1808 of the trigger evaluation data 1802 (e.g., storage amount over time); a conditional data storage command 1812 (e.g., data storage based upon detected events, triggers that are met, etc., for example allowing for statistical estimation of a data storage amount to support a number of tasks, workflows, automated vehicle responses, or the like, for example based upon the likelihood of simultaneous trigger events for a number of tasks, workflows, automated vehicle responses, etc.); a priority description 1814 for at least one data element of the trigger evaluation data 1802 (e.g., allowing for a prioritization within the data, differential treatment for aging data, and the like); an aging data description 1816 for at least one data element of the trigger evaluation
  • An example data caching circuit 1702 performs memory management operations in response to the aging data description 1816, such as: performing a scheduled deletion of at least a portion of the trigger evaluation data 1802; performing a compression operation of at least a portion of the trigger evaluation data 1802; performing a summarization operation of at least a portion of the trigger evaluation data 1802; confirming available storage on a shared data storage device; and/or reserving and/or confirming the reservation of data storage on a shared data storage device.
  • Example embodiments herein utilizing shared storage may include a shared storage controller and/or any aspects thereof, for example as described in U.S. Patent Application Serial No. 17/195,589 (SONA- 0010-U01), for example at Fig. 16 of the ‘589 application, and the related descriptions.
  • an example automation management circuit 206 provides a data storage command 1704 in response to the automation action description 604. All preceding operations and aspects set forth in relation to Fig. 17, which were described in relation to trigger evaluation data 1802, are also applicable to data collected as a part of the task, workflow, and/or automated vehicle response, determined from the automation action description 604. Example operations include confirming and/or reserving data storage, management of aging data, confirmation communications, conditional data storage, and/or any data storage command 1704 examples, including for example those depicted in relation to Figs. 18 or 19.
  • an example apparatus 2000 includes a controller 2001 configured to provide an automation description 212 to a vehicle controller 1510.
  • the example controller includes an automation definition circuit 204 that implements an automation user interface 1504, and provides at least one automation recipe 2004 to the automation user interface 1504, and interprets an automation request 1506 in response to user communications with the automation user interface 1504.
  • the automation recipe 1506 may include one or more selected recipes from the automation recipes 2004, a modified or adjusted version (e.g., by the user) of one or more selected recipes, and/or may be generated independently of the automation recipes 2004 (e.g., through a task or workflow builder, such as depicted in Figs. 25-27, and 31).
  • An example automation definition circuit 204 selects a group of automation recipes 2004 in response to a user characteristic 2002 of the user, and provides the at least one automation recipe to the automation user interface 1504 in response to the selected group (e.g., provide all of the selected recipes, provide the top 10 selected recipes, etc.) ⁇
  • the selection of recipes from the automation recipes 2004 based on the user characteristic 2002 includes selecting recipes for which the user has authorization, and/or selecting recipes that may be of interest to the user (e.g., based on a role of the user, and tags for the recipes, and/or recipes utilized by users having a similar role, and/or based on another aspect of the user such as an entity type - e.g., manufacturer, OEM, dealer, fleet owner, operator, etc.).
  • Example and non-limiting user characteristics 2002 include one or more of: a user role, an entity associated with the user, a user authorization, or a user historical activity with the automation user interface 1504.
  • each of the automation recipes 2004 includes operations for one or more of: an automated operation of the vehicle; a portion of an automated operation of the vehicle (e.g., with portions to be completed by the user); and/or a template for an automated operation of the vehicle (e.g., a recipe built to be a good starting point for a range of potential automated operations).
  • An example automation request 1506 includes at least one parameter description that is an agnostic parameter description, or a parameter description that is not vehicle- specific, for example including parameter naming, units, resolution, sampling rate, etc.
  • the automation description 212 includes vehicle specific parameters.
  • the automation description 212 includes normalized parameters, where vehicle specific parameters are determined on the vehicle controller 1510, for example by a CND, policy engine, or the like.
  • a number of aspects of an example automation command 214 are schematically depicted.
  • the example automation commands 214 may each include one or more aspects depicted in Fig. 21, and an automation command 214 may include other aspects that are not depicted in the example of Fig. 21.
  • An example automation command 214 includes one or more of: a data collection command 2102 (e.g., data to be collected for trigger evaluation, event detection, and/or as a part of a task, workflow, automated vehicle response, etc.); a data processing command 2104 (e.g., parameter naming; unit selection; resolution such as byte depth, display resolution, or the like; sampling rates including up-sampling and/or down-sampling operations; synchronizing or time spacing processing of sequential data values; a data communication command 2106 (e.g., which elements of data are to be communicated on a network, to which end points, as a multi-cast, etc.); a data transmission command 2108 (e.g., which elements of data are to be transmitted, including potentially related time frames, priority, etc.); an actuator command 2110; a calibration adjustment 2112; and/or a data storage command 2114 (e.g., including data reservation, aging data treatment, storage priority, etc.).
  • a data collection command 2102 e.g.
  • an example automation definition circuit 204 interprets a number of automation requests 1506 and/or automation descriptions 212, where the automation management circuit 206 provides an automated action plan 222 in response to the automation requests 1506 and/or automation descriptions 212.
  • the automation requests 1506 and/or automation descriptions 212 further include corresponding priority values, and to provide the automated action plan 222 in response to the priority values.
  • the automation requests 1506 and/or automation descriptions 212 further include corresponding hierarchy values, and to provide the automated action plan 222 in response to the hierarchy values.
  • a hierarchy value may relate to an ordering of automation descriptions, tasks, workflows, or the like, and/or may relate to an entity associated with the automation descriptions, tasks, workflows, or the like.
  • An entity associated with an automation descriptions, tasks, workflows, or the like may relate to any entity requesting information (e.g., a user, user role, and/or entity role such as of a company for the user), any entity providing information (e.g., a vehicle controller, end point, flow, application, vehicle function, or the like that provides information as a part of the automation description, task, workflow, or the like), and/or any entity significantly affected by the automation description, task, workflow, or the like (e.g., due to related network zone traffic, controller processing operations to support the task, and/or data storage operations to support the task).
  • entity requesting information e.g., a user, user role, and/or entity role such as of a company for the user
  • any entity providing information e.g., a vehicle controller, end point, flow, application, vehicle function, or the like that provides information as a part of the automation description, task, workflow, or the like
  • any entity significantly affected by the automation description, task, workflow, or the like e.
  • An example automation management circuit 206 determines a dependency value between at least two of the automation descriptions 212 (e.g., based on parameter determination and/or ordering, an indicated dependency in the automation descriptions 212, and/or based on enforced execution schedules of related functions of the vehicle that provide or respond to data affected by the automation description, task, workflow, or the like).
  • An example automation management circuit 206 determines an operation impact for at least one of the automation descriptions 212, and provides the automated action plan 222 in response to the operation impact.
  • the automation management circuit determines a life cycle value for an automation recipe and/or for an automation description 212, and stores the automation recipe and/or an automation description 212 in response to the life cycle value.
  • the life cycle value may indicate that the automation description 212 (and/or an automation recipe) should be performed one time, should be performed a selected number of times, should be performed persistently, should be performed over a selected time period (e.g., for the next six months), and/or should be performed while another condition is true or false (e.g., ending the life cycle of the automation description 212 and/or automation recipe, for example when the condition changes).
  • An example automation management circuit 206 deprecates at least one of the automation descriptions 212, for example by marking a description for removal, by deleting a description, and/or by ceasing operations to support a description (e.g., including stopping trigger evaluation, data storage, data storage reservation, etc.).
  • Example and non- limiting operations to deprecate an automation description 212 and/or an automation recipe include one or more of: updating the automated action plan 222 to remove deprecated automation descriptions; deleting stored data responsive to the deprecated automation descriptions; deleting a stored recipe corresponding to the deprecated automation descriptions; and/or adjusting at least one of a priority value or a hierarchy value corresponding to the deprecated automation descriptions.
  • an example apparatus 2200 includes a controller 2201 configured to store collected data related to a task, workflow, automated vehicle response, or the like.
  • the example controller 2201 includes an automation definition circuit 204 that implements an automation user interface 1506 includes at least one available input parameter (e.g., a data parameter that is available on the vehicle, and/or that can be made available on the vehicle), at least one available actuation parameter (e.g., an actuator that is available for at least partial manipulation; and/or a feature that is available for at least partial manipulation, such as having available calibration adjustments, and/or feature enable/disable operations), and at least one responsive data selection, such as data available for collection, confirmation data that can be provided, verification data that can be provided, and/or confirmation communications that can be provided.
  • an available input parameter e.g., a data parameter that is available on the vehicle, and/or that can be made available on the vehicle
  • at least one available actuation parameter e.g., an actuator that is available for at least partial manipulation
  • the example controller 2201 includes an automation confirmation circuit 2202 that receives collected data 2208 from the vehicle in response to the automated vehicle response (e.g., the performance of tasks, workflows, automated vehicle response activity, etc.), and to store the collected data 2204 for asynchronous access.
  • receiving the collected data 2208 from the vehicle includes receiving the collected data 2208 from an end point of the vehicle that may be a separate end point from an end point hosting the portion of the automation confirmation circuit 2202.
  • the stored collected data 2204 may be stored on the vehicle, on a cloud server, and/or on a shared data store.
  • the stored collected data 2204 is made available for a vehicle function, flow, application, or end point to access at a later time.
  • the stored collected data 2204 is stored on a cloud server, and accessed by a vehicle function, flow, application, or end point at a later time, where at least a portion of the stored collected data 2204 is brought back to the vehicle at a later time (e.g., when requested).
  • the stored collected data 2204 is made available for an external device, for example a cloud server application, fleet manager application, manufacturer application, or the like, for example to allow access to data for a number of vehicles together, for a fleet of vehicles, and/or for a machine learning process that performs an iterative improvement operation for the vehicle using the stored collected data 2204.
  • a portion of the stored collected data 2204 is provided, for example by the automation confirmation circuit 2202, to the automation user interface 1504 in response to a user request (e.g., a request for the data, and/or a request by an application operated by the user for the data).
  • a user receiving and/or requesting the stored collected data 2204 may be a distinct user from the user providing the automation request 1506.
  • a redacted portion of the stored collected data 2204 is provided to a vehicle function, flow, application, or end point, to an application operating on an external device, and/or to the automation user interface 1504.
  • the redacted portion of the data to be supplied, and/or the portion of the data to be supplied otherwise may be stored on a separate data store (e.g., data store 116 versus data store 114) from the stored collected data 2204, which may include separate encryption and credentials.
  • the automation confirmation circuit 2202 determines the redacted portion of the stored collected data 2204 in response to information such as: a characteristic 2206 of the stored collected data 2204 (e.g., proprietary information in the stored collected data 2204, personally identifiable information in the stored collected data 2204, and/or metadata in the stored collected data 2204).
  • a characteristic 2206 of the stored collected data 2204 e.g., proprietary information in the stored collected data 2204, personally identifiable information in the stored collected data 2204, and/or metadata in the stored collected data 2204.
  • a responsive data selection for display and/or selection on the automation user interface 1504 include one or more of: a confirmation value associated with the automated vehicle response, data collected pursuant to the automated vehicle response, and/or a modification value associated with the automated vehicle response.
  • An example automation definition circuit 204 provides available input parameters in a menu of available input parameters.
  • An example automation definition circuit 204 determines available input parameters in response to a user characteristic 2002, such as a user role, user authorization, and/or an entity associated with the user.
  • An example automation definition circuit 204 provides automation recipe(s) to the automated user interface 1504, and may further determine the automation description 212 in response to selection(s) and/or modification(s) of the automation recipe(s) by the user.
  • an example automated user interface 1504 is depicted, which may be utilized to help users determine available parameters, to provide parameters to a workflow, to request specific parameter formatting, processing, and the like.
  • the example automated user interface 1504 is depicted to illustrate certain aspects of the present disclosure, but is not limiting to embodiments herein.
  • the example automated user interface 1504 includes an input parameter portion 2302, allowing the user to confirm or select a parameter name, parameter units, parameter resolution (e.g., byte depth, but may instead be a precision description or the like), and/or a sampling rate for the parameter.
  • a parameter name e.g., byte depth, but may instead be a precision description or the like
  • parameter resolution e.g., byte depth, but may instead be a precision description or the like
  • buttons are provided to allow the user to convenient set the parameter for data collection, to make the parameter available to a workflow, and/or to confirm or edit the data processing to be applied to the parameter.
  • Some selections may not be available to the user based on permissions, authorizations, user characteristics, or the like - for example certain parameters, resolution values, sampling rate values, or the like.
  • unavailable selections may be hidden from the automated user interface 1504, and/or may be displayed in a distinct manner (e.g., grayed out values that cannot be selected in a menu).
  • the example automated user interface 1504 includes an actuator parameter portion 2304, including an actuator parameter name, available values, and/or a value type (e.g., Boolean, integer, etc.).
  • the example actuator parameter portion 2304 allows a user to convenient confirm proper parameter notation in a workflow, and to make an actuation parameter available to a workflow.
  • an action button is provided to allow a user to conveniently open a workflow creation window, and/or to review a list of available recipes.
  • an example recipe access interface which may be a part of an automated user interface 1504, is schematically depicted.
  • the example of Fig. 24 depicts which workflow and/or features are related to the recipe (e.g., which workflows use the recipe, and/or which workflows are included in the recipe), where each workflow includes one or more actions to be performed, and/or one or more triggers associated with the workflow.
  • a first workflow 2502 includes a single trigger and an action associated with the trigger.
  • the example workflow 2502 which may be a collection recipe, provides a convenient data collection format based on a trigger of interest.
  • a second workflow 2504 includes a two-task sequence, with a trigger associated with each task, providing a convenient conditional data collection format based on triggers of interest.
  • three example workflows 2602, 2604, 2606 are schematically depicted.
  • the example of Fig. 26 illustrates the flexibility of workflow creation of embodiments herein, including allowing for sequenced tasks (workflow 2602), branched tasks (workflow 2604), and/or cyclical tasks 2606.
  • FIG. 27 an example workflow is depicted as a state machine, with tasks associated with each state, and with transition conditions provided for transitioning between states.
  • the displays of Figs. 25-27 may be provided to an automated user interface 1504, for example to allow a user to visualize, arrange, and edit workflows.
  • an example system 2800 is schematically depicted to support implementation of automated vehicle response activity, for example including aspects of, and/or embodied in whole or part, by controllers and/or circuits herein that are configured to perform operations associated with the components depicted in the example of Fig. 28.
  • the example system 2800 includes a recipe manager 2802 configured to create a recipe (e.g., through interaction with a user exercising the automated user interface 1504, and/or to create an auto-generated recipe to detect certain conditions, data elements, and/or to support data collection for machine learning operations designed to improve vehicle operations, detect fault conditions, or the like).
  • the example system 2800 includes an analytics component including an analytics engine 2814 configured to determine analytics 2812 such as trends, predict future failures, identify anomalous data (e.g., for a vehicle, a vehicle component, and/or related to an associated group of vehicles such as a model year, specific fleet, vehicles have a related role or duty cycle, etc.), which may be utilized to determine recipes, to suggest recipes (or tasks, workflows, or data collection activities), and/or to assist a user in determining whether a recipe (or task, workflow, or data collection activity) is likely to develop more information about a particular condition, and/or to provide useful information for a specific goal of the user.
  • analytics engine 2814 configured to determine analytics 2812 such as trends, predict future failures, identify anomalous data (e.g., for a vehicle, a vehicle component, and/or related to an associated group of vehicles such as a model year, specific fleet, vehicles have a related role or duty cycle, etc.), which may be utilized to determine recipes, to suggest recipes (or tasks, workflows, or data
  • the example system 2800 includes a recipe processing engine 2804, for example processing the recipe as an automation description 212, and determining a trigger detection plan 610 and an automated action plan 222.
  • the trigger detection plan 610 is provided to a trigger evaluation engine 2808
  • the automated action plan 222 is provided to a task execution engine 2806.
  • the example trigger evaluation engine 2808 processes the trigger detection plan 610 to determine when a task is indicated
  • the example task execution engine 2806 processes the automated action plan 222 to perform the operations of the task described therein.
  • the example system 2800 includes a data preparation engine 2810 that collects data related to the trigger evaluation and/or task execution, storage and/or caching associated with the data, processing associated with the data, and transmission of the data off-vehicle (e.g., back to the analytics engine 2814 in the example of Fig. 28).
  • a data preparation engine 2810 that collects data related to the trigger evaluation and/or task execution, storage and/or caching associated with the data, processing associated with the data, and transmission of the data off-vehicle (e.g., back to the analytics engine 2814 in the example of Fig. 28).
  • an example trigger evaluation engine 2900 is schematically depicted.
  • the example trigger evaluation engine 2900 may be utilized in a system 2800, and/or may be embodied, in whole or part, by one or more circuits or controllers described herein and configured to perform operations of the trigger evaluation engine 2900.
  • the example trigger evaluation engine 2900 includes a support layer 2902, which in the example of Fig. 29 manages communications, retrieving external data, configuring messages to a network zone, and the like the example trigger evaluation engine 2900 includes an analysis layer 2904 configured to parse and/or extract relevant data, for example data utilized to determine whether the trigger condition is TRUE or FALSE.
  • the example analysis layer 2904 is further configured to filter the data, for example utilizing a sampling of data, aspects of the data (e.g., maximum or minimum values, or the like), perform mapping of the data (e.g., comparing the data to relevant criteria and/or task operations for the data), and/or may further be configured to aggregate the data (e.g., summarization, moving averages, bucketed data, state values based on the whole of the data or aggregated subsets of the data, or the like), and/or to perform statistical analysis of the data (e.g., where statistical values are related to trigger thresholds, to determine outlier data, and/or to support heuristic triggers such as heuristics based on certain data effects, dynamics, likelihood that the data is meaningful, etc.).
  • the trigger evaluation engine 2900 provides a trigger event value 1706, for example providing an indication of whether the trigger condition has been met.
  • FIG. 30 an example task execution engine 3000 is schematically depicted.
  • the example task execution engine 3000 may be utilized in a system 2800, and/or may be embodied, in whole or part, by one or more circuits or controllers described herein and configured to perform operations of the task execution engine 3000.
  • the example task execution engine 3000 includes an action selection layer 3002, for example selecting a task for execution based on trigger conditions, task priority, task hierarchy, or the like.
  • the example task execution engine 3000 includes an action scheduling layer 3004, for example scheduling the commencement, duration, ordering, and the like for a number of active tasks on the system 2800.
  • the example task execution engine 3000 includes an action initiation layer 3006, for example commencing the operation of one or more actions for a task.
  • the example task execution engine 3000 includes a support layer 3008, controlling data communications, data storage, API interactions, database interactions, and/or service interactions (e.g., publishing and/or subscribing to service(s) related to tasks, for example to provide data utilized by the task, and/or to provide actions that may be available as a service and performed as a part of a task).
  • the example task execution engine 3000 includes an action monitor layer 3010, for example determining a task state, task stage, determining confirmation values associated with the task, and/or determining an outcome of the task.
  • an example automated user interface 1504 is schematically depicted, providing an example interface that illustrates aspects of an example recipe and/or recipe creation interface.
  • the example of Fig. 31 includes a recipe name (which may be a name such as “Morning seat adjustment recipe”), and a display area to depict data utilized by the recipe, and/or modifications made to the original data available in the unmodified recipe.
  • the example of Fig. 31 further depicts a number of tasks included in the recipe (e.g., A, B,...H in Fig. 31), which in the example of Fig. 31 includes a description of a trigger for the task, actions performed by the task, and/or other tasks called by each given task.
  • a recipe name which may be a name such as “Morning seat adjustment recipe”
  • a display area to depict data utilized by the recipe, and/or modifications made to the original data available in the unmodified recipe.
  • the example of Fig. 31 further depicts a number of tasks included in the recipe (e.g.,
  • the automated user interface 1504 is provided for user reference, for example by parsing a code block embodying the recipe, and/or the automated user interface 1504 may be interactive, for example allowing the user to edit the tasks, triggers for the tasks, actions associated with the tasks, and/or relationships between tasks - for example by text edits of the user in data fields, dragging and dropping tasks in the graphical portion, or the like.
  • an example and non-limiting automation continuity command(s) 3208 include one or more of: a cancel command 3302 (e.g., the task is canceled, and will not be resumed, and/or will only be resumed based on future determined trigger conditions); a restart command 3304 (e.g., the task is stopped, and will be resumed when operating conditions are consistent with further progression of the task); a stage command 3306 (e.g., the task is stopped, and should be continued at a particular stage, whether in response to a future determined trigger condition and/or when operating conditions are consistent with further progression of the task - for example when relevant data collected in earlier stages of the task are likely to be still applicable to later stages of the task); and/or a continuation command 3308 (e.g., when an interrupted task can be continued, for example when a limiting value such as data storage availability is relieved).
  • a cancel command 3302 e.g., the task is canceled, and will not be resumed, and/or will only be resumed based on future determined trigger
  • the controller 3402 manages a service oriented architecture for utilization by any end point, vehicle function, flow, or the like on the vehicle, and/or for utilization by an external device, for example accessing an automation user interface 1504 and allowing the user to publish services to the vehicle, and/or to subscribe to services available on the vehicle.
  • a service may include a task, workflow, and/or automated vehicle response activity, for example providing a selected actuator response, an automated operation, a data collection operation, or the like.
  • the example controller 3402 includes a storage manager circuit 3404 that selectively accesses a data store, and that is configured to selectively read data, write data, or edit data on the data store.
  • the example data store may be on- vehicle, off- vehicle, or a combination.
  • the example controller 3402 includes a storage gatekeeper circuit 3406 that interprets a data storage request value 3410 (e.g., from a flow, vehicle function, application, and/or end point), and provides a data storage profile 3418 in response to the data storage request value 3410.
  • the data storage profile 3418 may indicate a reserved amount of memory, and/or a physical location of the memory (e.g., where a shared memory store is distributed across multiple physical devices).
  • An example vehicle data storage requestor includes at least one of: an end point on a network zone of a vehicle; a flow associated with a vehicle; an application associated with a vehicle; or a vehicle controller positioned on a vehicle.
  • An example data store includes a shared data store positioned on a controller of a vehicle, for example a single consolidated large memory, and/or a distributed data store that is collectively treated by the storage manager circuit 3404 as the shared data store.
  • An example data store includes a shared data store positioned at least partially off the vehicle, which may be utilized for long-term data storage, low access frequency data storage, and/or to preserve data that would otherwise be lost due to operations related to aging data and/or limited available on- vehicle storage.
  • An example data store is configured as a file system based shared storage, for example where stored data 3408 is stored in files (e.g., delimited files, XML files, and/or files stored in a database configured data file).
  • An example storage gatekeeper circuit 3406 publishes available data storage as a service 3412 on a vehicle.
  • An example storage gatekeeper circuit 3406 further publishes stored data 3408 on the data store as a service on a vehicle, and/or to an automated user interface 1504.
  • the example of Fig. 34 allows the storage gatekeeper circuit 3406 to provide data storage as a service, and/or to provide collected data, stored on the data store, as a service.
  • the example storage gatekeeper circuit 3406 controls access to data storage, and/or to the stored data, utilizing permissions associated with a requestor to regulate the data storage profile 3418, a data access profile 3420, and/or regulating approval to published services in response to the permissions.
  • an example procedure 4100 for providing a task execution command is schematically depicted.
  • the example procedure 4100 includes the operation 4002 and operation 4004, and further includes operation 4102 to determine whether a task scheduling value and/or a task initiation value is met.
  • the example procedure 4100 includes operation 4006 to provide the task execution command.
  • the example procedure continues operation 4102 (e.g., continuing to monitor against the task scheduling value, and/or whether the task initiation value is met).
  • an example procedure 4500 includes an operation 4502 to implement an automation user interface, an operation 4504 to interpret an automation request (e.g., a code block, data structure block, selected recipe, selected workflow, modified recipe, modified workflow, and/or interactively created automation description), an operation 4506 to determine an automation description 4506 in response to the automation request, and an operation 4508 to provide the automation description to a controller of a vehicle.
  • an automation request e.g., a code block, data structure block, selected recipe, selected workflow, modified recipe, modified workflow, and/or interactively created automation description
  • an operation 4506 to determine an automation description 4506 in response to the automation request
  • an operation 4508 to provide the automation description to a controller of a vehicle.
  • the example procedure 4600 includes an operation 4608 to determine whether the automation request can be amended (e.g., whether the requestor allows an amendment, whether amended operations are available, such as a subset of operations, closely related or similar operations are available, and/or whether the priority of the automation request allows an amendment to be made).
  • the example procedure 4600 includes an operation 4610 to amend the automation request and determine the automation description in response to the amended automation request. Operation 4610 may optionally include providing a notification related to the amendment, for example to the requestor or to another entity such as a recipient or beneficiary of the automated operations.
  • an example procedure 4900 includes an operation 4502 to implement an automation user interface, an operation 4902 to provide at least one recipe to the automation user interface, and an operation 4504 to interpret an automation request (e.g., as a selected one and/or modified one of the recipe(s) provided to the automation user interface).
  • the example procedure 4900 further includes an operation 4506 to determine an automation description in response to the automation request, and an operation 4508 to provide the automation description to a controller of a vehicle.
  • an example procedure 5200 includes an operation 5202 to provide an automated action plan, an operation 5204 to provide automation commands in response to he automated action plan.
  • the example procedure 5200 includes an operation 5206 to determine whether an interruption event of automated operations has occurred.
  • the procedure 5200 includes an operation 5208 to provide an automation continuity command, for example to continue, discontinue, pause, resume, perform data clean-up operations, or the like.
  • the example procedure 5200 continues operation 5206 (e.g., continuing to monitor the automated operations for an interruption event).
  • an example procedure 5400 includes operation 5302 and operation 5304, and further includes an operation 5402 to reserve memory and/or store data in response to the data storage profile.
  • the example procedure 5400 further includes an operation 5404 to publish the stored data as a service, and/or an operation 5406 to publish available data storage as a service.
  • Referencing Fig. 54 includes operation 5302 and operation 5304, and further includes an operation 5402 to reserve memory and/or store data in response to the data storage profile.
  • the example procedure 5400 further includes an operation 5404 to publish the stored data as a service, and/or an operation 5406 to publish available data storage as a service.
  • An example embodiment includes a cloud-side executed vehicle automation manager, which can be utilized to create, delete, and/or query vehicle automation descriptions, such as a recipe, automation description, workflow, or the like.
  • the example cloud-side executed vehicle automation manager may be embodied in any controllers, circuits, components, managers, engines, or the like as set forth throughout the present disclosure.
  • a vehicle automation description may be stored in a data store accessible to a cloud server, and selectively sent to the vehicle for execution.
  • a single vehicle automation description may be active on the vehicle at a given time, although embodiments support multiple vehicle automation descriptions at a given time, and/or multiple automated functions contained within a vehicle automation description.
  • An example organization includes the workflow having a schedule and/or associated trigger evaluation utilized to determine when the workflow should be commenced, which may be determined according to any aspects of the description, such as a time based determination, a determination based upon operating conditions (e.g., vehicle operating conditions and/or external operating conditions), a determination based upon a specific request (e.g., by an operator, user of an automated user interface, service personnel, manufacturer, etc.), and/or a determination based upon a detected event.
  • a number of tasks may be performed by the workflow, where some or all of the tasks may each have a schedule and/or associated trigger evaluation utilized to determine when each task should be commenced.
  • the progression of a workflow at any level may be reported as a status value, for example as data collected and/or as trigger evaluation data, allowing for a user to confirm the progression and/or status of the workflow, to perform statistical analysis for the workflow (e.g., for the vehicle, and/or across a group of vehicles), and/or to troubleshoot the workflow, task, or action, for example to see where the workflow, task, or action had a problem, and/or to see what else was happening on the vehicle at the time of the problem and/or before the problem occurred.
  • a status value for example as data collected and/or as trigger evaluation data
  • notifications may be provided for detected events, selected status values, and/or error values during the performance of a workflow, task, or action.
  • detected events, selected status values, and/or error values may be utilized to trigger additional workflows or tasks, for example to collect relevant data, to determine effects of the problem on the vehicle or for a system including the vehicle, or the like.
  • progression data about a workflow and/or task, status data, other operating condition data relevant to the workflow and/or task (e.g., before, during, or after) may be utilized for future development and/or iterative improvement, for example to make the implementation and/or execution of tasks or workflows more efficient, more effective, and/or to reduce undesirable side effects of the task and/or workflow.
  • trigger evaluation data e.g., data utilized as a parameter for an action
  • data present on the vehicle e.g., data external to the vehicle, and/or data created on the vehicle or externally (e.g., a virtual sensor, determined state value, etc.) to specifically support the task or workflow, and/or to support selected capability for the automation user interface (e.g., to give users a specific type of information for utilization in workflows, recipes, and/or automation descriptions).
  • any action may be performed on the vehicle or may be performed off the vehicle (e.g., opening a door, interacting with a camera, sending a notification, etc.).
  • an action may be implemented by an automation command as set forth throughout the present disclosure.
  • the creation of a recipe, workflow, automation description, or the like, as set forth herein further provides for the creation of constants and/or variables which may be utilized in workflows, tasks, actions, or other automated operations as set forth herein.
  • constants and/or variables may be created in a manner similar to the inclusion of input parameters (e.g., reference Fig. 23 and the related description).
  • the scope of a constant and/or variable may be selectable, for example making the constant and/or variable available to any workflow, available to any task within a workflow, and/or available to any action within a task.
  • each computing device may be on separate hardware, and/or one or more hardware devices may include aspects of more than one computing device, for example as separately executable instructions stored on the device, and/or as logically partitioned aspects of a set of executable instructions, with some aspects comprising a part of one of a first computing device, and some aspects comprising a part of another of the computing devices.
  • a computing device may be part of a server, client, network infrastructure, mobile computing platform, stationary computing platform, or other computing platform.
  • a processor may be any kind of computational or processing device capable of executing program instructions, codes, binary instructions and the like.
  • the processor may be or include a signal processor, digital processor, embedded processor, microprocessor or any variant such as a co-processor (math co processor, graphic co-processor, communication co-processor and the like) and the like that may directly or indirectly facilitate execution of program code or program instructions stored thereon.
  • the processor may enable execution of multiple programs, threads, and codes. The threads may be executed simultaneously to enhance the performance of the processor and to facilitate simultaneous operations of the application.
  • the methods and systems described herein may be deployed in part or in whole through a machine that executes computer readable instructions on a server, client, firewall, gateway, hub, router, or other such computer and/or networking hardware.
  • the computer readable instructions may be associated with a server that may include a file server, print server, domain server, internet server, intranet server and other variants such as secondary server, host server, distributed server and the like.
  • the server may include one or more of memories, processors, computer readable transitory and/or non-transitory media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other servers, clients, machines, and devices through a wired or a wireless medium, and the like.
  • the methods, programs, or codes as described herein and elsewhere may be executed by the server.
  • other devices required for execution of methods as described in this application may be considered as a part of the infrastructure associated with the server.
  • the methods, program code, instructions, and/or programs may be associated with a client that may include a file client, print client, domain client, internet client, intranet client and other variants such as secondary client, host client, distributed client and the like.
  • the client may include one or more of memories, processors, computer readable transitory and/or non-transitory media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other clients, servers, machines, and devices through a wired or a wireless medium, and the like.
  • the methods, program code, instructions, and/or programs as described herein and elsewhere may be executed by the client.
  • other devices required for execution of methods as described in this application may be considered as a part of the infrastructure associated with the client.
  • the client may provide an interface to other devices including, without limitation, servers, other clients, printers, database servers, print servers, file servers, communication servers, distributed servers, and the like. Additionally, this coupling and/or connection may facilitate remote execution of methods, program code, instructions, and/or programs across the network. The networking of some or all of these devices may facilitate parallel processing of methods, program code, instructions, and/or programs at one or more locations without deviating from the scope of the disclosure.
  • all the devices attached to the client through an interface may include at least one storage medium capable of storing methods, program code, instructions, and/or programs.
  • a central repository may provide program instructions to be executed on different devices.
  • the remote repository may act as a storage medium for methods, program code, instructions, and/or programs.
  • the methods, program code, instructions, and/or programs described herein and elsewhere may be implemented on a cellular network having multiple cells.
  • the cellular network may either be frequency division multiple access (FDMA) network or code division multiple access (CDMA) network.
  • FDMA frequency division multiple access
  • CDMA code division multiple access
  • the cellular network may include mobile devices, cell sites, base stations, repeaters, antennas, towers, and the like.
  • the methods, program code, instructions, and/or programs described herein and elsewhere may be implemented on or through mobile devices.
  • the mobile devices may include navigation devices, cell phones, mobile phones, mobile personal digital assistants, laptops, palmtops, netbooks, pagers, electronic books readers, music players and the like. These devices may include, apart from other components, a storage medium such as a flash memory, buffer, RAM, ROM and one or more computing devices.
  • the computing devices associated with mobile devices may be enabled to execute methods, program code, instructions, and/or programs stored thereon. Alternatively, the mobile devices may be configured to execute instructions in collaboration with other devices.
  • the mobile devices may communicate with base stations interfaced with servers and configured to execute methods, program code, instructions, and/or programs.
  • the mobile devices may communicate on a peer to peer network, mesh network, or other communications network.
  • the methods, program code, instructions, and/or programs may be stored on the storage medium associated with the server and executed by a computing device embedded within the server.
  • the base station may include a computing device and a storage medium.
  • the storage device may store methods, program code, instructions, and/or programs executed by the computing devices associated with the base station.
  • the methods, program code, instructions, and/or programs may be stored and/or accessed on machine readable transitory and/or non-transitory media that may include: computer components, devices, and recording media that retain digital data used for computing for some interval of time; semiconductor storage known as random access memory (RAM); mass storage typically for more permanent storage, such as optical discs, forms of magnetic storage like hard disks, tapes, drams, cards and other types; processor registers, cache memory, volatile memory, non-volatile memory; optical storage such as CD, DVD; removable media such as flash memory (e.g.
  • RAM random access memory
  • mass storage typically for more permanent storage, such as optical discs, forms of magnetic storage like hard disks, tapes, drams, cards and other types
  • processor registers cache memory, volatile memory, non-volatile memory
  • optical storage such as CD, DVD
  • removable media such as flash memory (e.g.
  • Certain operations described herein include interpreting, receiving, and/or determining one or more values, parameters, inputs, data, or other information (“receiving data”).
  • Operations to receive data include, without limitation: receiving data via a user input; receiving data over a network of any type; reading a data value from a memory location in communication with the receiving device; utilizing a default value as a received data value; estimating, calculating, or deriving a data value based on other information available to the receiving device; and/or updating any of these in response to a later received data value.
  • a data value may be received by a first operation, and later updated by a second operation, as part of the receiving a data value.
  • the determining of the value may be required before that operational step in certain contexts (e.g. where the time delay of data for an operation to achieve a certain effect is important), but may not be required before that operation step in other contexts (e.g. where usage of the value from a previous execution cycle of the operations would be sufficient for those purposes). Accordingly, in certain embodiments an order of operations and grouping of operations as described is explicitly contemplated herein, and in certain embodiments re-ordering, subdivision, and/or different grouping of operations is explicitly contemplated herein.
  • the methods and systems described herein may transform physical and/or or intangible items from one state to another.
  • the methods and systems described herein may also transform data representing physical and/or intangible items from one state to another.
  • the methods and/or processes described above, and steps thereof, may be realized in hardware, program code, instructions, and/or programs or any combination of hardware and methods, program code, instructions, and/or programs suitable for a particular application.
  • the hardware may include a dedicated computing device or specific computing device, a particular aspect or component of a specific computing device, and/or an arrangement of hardware components and/or logical circuits to perform one or more of the operations of a method and/or system.
  • the processes may be realized in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable device, along with internal and/or external memory.
  • the processes may also, or instead, be embodied in an application specific integrated circuit, a programmable gate array, programmable array logic, or any other device or combination of devices that may be configured to process electronic signals. It will further be appreciated that one or more of the processes may be realized as a computer executable code capable of being executed on a machine readable medium.
  • the computer executable code may be created using a structured programming language such as C, an object oriented programming language such as C++, or any other high-level or low- level programming language (including assembly languages, hardware description languages, and database programming languages and technologies) that may be stored, compiled or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and computer readable instructions, or any other machine capable of executing program instructions.
  • a structured programming language such as C
  • an object oriented programming language such as C++
  • any other high-level or low- level programming language including assembly languages, hardware description languages, and database programming languages and technologies
  • each method described above and combinations thereof may be embodied in computer executable code that, when executing on one or more computing devices, performs the steps thereof.
  • the methods may be embodied in systems that perform the steps thereof, and may be distributed across devices in a number of ways, or all of the functionality may be integrated into a dedicated, standalone device or other hardware.
  • the means for performing the steps associated with the processes described above may include any of the hardware and/or computer readable instructions described above. All such permutations and combinations are intended to fall within the scope of the present disclosure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Testing And Monitoring For Control Systems (AREA)
PCT/US2022/032380 2021-06-04 2022-06-06 System, method, and apparatus for managing vehicle data collection WO2022256742A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202280040013.4A CN117425921A (zh) 2021-06-04 2022-06-06 用于管理车辆数据收集的系统、方法和装置
KR1020237044530A KR20240018508A (ko) 2021-06-04 2022-06-06 차량 자동화를 위한 시스템, 방법 및 장치
EP22816990.0A EP4315284A1 (en) 2021-06-04 2022-06-06 System, method, and apparatus for managing vehicle data collection

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163197021P 2021-06-04 2021-06-04
US63/197,021 2021-06-04

Publications (1)

Publication Number Publication Date
WO2022256742A1 true WO2022256742A1 (en) 2022-12-08

Family

ID=84324599

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2022/032380 WO2022256742A1 (en) 2021-06-04 2022-06-06 System, method, and apparatus for managing vehicle data collection

Country Status (4)

Country Link
EP (1) EP4315284A1 (zh)
KR (1) KR20240018508A (zh)
CN (1) CN117425921A (zh)
WO (1) WO2022256742A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11736357B2 (en) 2019-09-20 2023-08-22 Sonatus, Inc. System, method, and apparatus to extra vehicle communications control
US11772583B2 (en) 2020-03-06 2023-10-03 Sonatus, Inc. System, method, and apparatus for managing vehicle automation
US12003374B2 (en) 2022-02-17 2024-06-04 Sonatus, Inc. System, method, and apparatus for extra vehicle communications control

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080258939A1 (en) * 2006-02-02 2008-10-23 Signature Control Systems, Inc. Method, system and device for monitoring vehicle usage
US20170248965A1 (en) * 2006-12-13 2017-08-31 Crown Equipment Corporation Fleet management system
US20180293809A1 (en) * 2017-04-07 2018-10-11 Toyota Research Institute, Inc. Systems and methods for remotely controlling data collection by a vehicle

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080258939A1 (en) * 2006-02-02 2008-10-23 Signature Control Systems, Inc. Method, system and device for monitoring vehicle usage
US20170248965A1 (en) * 2006-12-13 2017-08-31 Crown Equipment Corporation Fleet management system
US20180293809A1 (en) * 2017-04-07 2018-10-11 Toyota Research Institute, Inc. Systems and methods for remotely controlling data collection by a vehicle

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11736357B2 (en) 2019-09-20 2023-08-22 Sonatus, Inc. System, method, and apparatus to extra vehicle communications control
US11805018B2 (en) 2019-09-20 2023-10-31 Sonatus, Inc. System, method, and apparatus to extra vehicle communications control
US11824722B2 (en) 2019-09-20 2023-11-21 Sonatus, Inc. System, method, and apparatus to support mixed network communications on a vehicle
US11929878B2 (en) 2019-09-20 2024-03-12 Sonatus, Inc. System, method, and apparatus for extra vehicle communications control
US11943109B2 (en) 2019-09-20 2024-03-26 Sonatus, Inc. System, method, and apparatus for extra vehicle communications control
US11772583B2 (en) 2020-03-06 2023-10-03 Sonatus, Inc. System, method, and apparatus for managing vehicle automation
US12003374B2 (en) 2022-02-17 2024-06-04 Sonatus, Inc. System, method, and apparatus for extra vehicle communications control

Also Published As

Publication number Publication date
KR20240018508A (ko) 2024-02-13
EP4315284A1 (en) 2024-02-07
CN117425921A (zh) 2024-01-19

Similar Documents

Publication Publication Date Title
US20220297635A1 (en) System, method, and apparatus for managing vehicle data collection
US11721137B2 (en) System, method, and apparatus for managing vehicle data collection
US20230158975A1 (en) System, method, and apparatus for managing vehicle automation
US20230150523A1 (en) System, method, and apparatus for managing vehicle automation
US11929878B2 (en) System, method, and apparatus for extra vehicle communications control
WO2021178979A1 (en) System, method, and apparatus for managing vehicle data collection
WO2022256742A1 (en) System, method, and apparatus for managing vehicle data collection
US11772583B2 (en) System, method, and apparatus for managing vehicle automation
US20230154246A1 (en) System, method, and apparatus for managing vehicle automation
US20230161583A1 (en) System, method, and apparatus for managing vehicle automation
US20230154245A1 (en) System, method, and apparatus for managing vehicle automation
US20230154244A1 (en) System, method, and apparatus for managing vehicle automation
US12003374B2 (en) System, method, and apparatus for extra vehicle communications control

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22816990

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022816990

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022816990

Country of ref document: EP

Effective date: 20231031

WWE Wipo information: entry into national phase

Ref document number: 202280040013.4

Country of ref document: CN

Ref document number: 2023574645

Country of ref document: JP

ENP Entry into the national phase

Ref document number: 20237044530

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE