Vehicle monitoring and maintenance
Patent Information
- Application Number
- EP2023721017
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-03-27
- Publication Date
- 2026-02-11
AI Technical Summary
Fleet management companies face challenges in efficiently managing and maintaining diverse vehicle fleets, including accurately diagnosing technical issues and scheduling maintenance across different vehicle models and manufacturers, leading to increased queuing times and reduced customer satisfaction.
A central vehicle monitoring and maintenance system using generic-vehicle-function monitors that receive data from vehicle-side agents to detect technical issues and initiate control operations, such as software updates or service appointments, optimizing maintenance processes.
The system enables accurate diagnosis and efficient scheduling of maintenance, reducing queuing times and improving customer satisfaction by integrating data from multiple vehicle systems and sources to address diverse maintenance needs.
Smart Images

Figure IL2023050315_03102024_PF_FP_ABST
Abstract
Description
[0001] VEHICLE MONITORING AND MAINTENANCE
[0002] FIELD AND BACKGROUND OF THE INVENTION
[0003] The present invention relates to vehicle maintenance and, more particularly, but not exclusively to a system and method of vehicle monitoring and maintenance.
[0004] Many entities, whether small or large, face a challenge of managing a fleet of vehicles.
[0005] For example, a car manufacturer may need to guarantee the correction of technical issues that may occur in thousands and even millions of vehicles under warranty.
[0006] Similarly, a company may provide vehicles for members of the company’s sales force and / or other employees. Such a company may have from only a few vehicles to many thousands of vehicles.
[0007] As may be appreciated, providing and maintaining a fleet of vehicles can be very challenging and expensive for the company. Indeed, many companies seek to find efficient ways of managing their vehicle fleets.
[0008] To that end, a company may create its own fleet management structure or rather employ the services of a fleet management company.
[0009] Typically, a fleet management company oversees the fleets of many different companies. In particular, the fleet management company needs to monitor and oversee various activities that have to do with the maintenance of many vehicles, etc.
[0010] Whether fleet management is provided by a separate company or is handled internally by a company, a key aspect of fleet management has to do with the challenges of central processing and with providing for different maintenance requirements of different fleet vehicles - i.e. with providing for the maintenance of vehicles that are potentially, of different models, manufacturers, trim levels, etc.
[0011] For example, routine services, recalls, major and minor repairs and emergency services may need to be performed by different service providers, under different circumstances (say for different mechanical issues, accidents, etc.) and / or in different time intervals (say in time intervals prescribed by each vehicle’s manufacturer, say for routine services), etc. For example, an operator of a fleet of vehicles may need to routinely bring each specific one of the vehicles of the fleet (especially when the vehicle is still under warranty) to a service provider authorized by the manufacturer of the specific vehicle, say to have the vehicle’s brake fluid changed.
[0012] However, the same operator may bring that vehicle, but also vehicles of different manufacturers or models, to a same tire shop, say based on a package deal that the operator has with the owner of the tire shop.
[0013] Another challenge faced by the fleet operator, has to do with efficiently dealing with vehicle problems, say with the need to accurately diagnose a technical problem in a vehicle and send the vehicle to a service provider who can best handle the technical problem.
[0014] For example, when a driver of one of a company’s vehicles complains about certain mechanical noises, a fleet operator who accurately diagnoses a problem based on the noises complained about, may be able to send the vehicle to a service provider who can best handle the problem, rather than send the vehicle to a second service provider and hear the same complaints from the driver again, a few days after the vehicle returns from the second service provider.
[0015] Further, fleet management companies currently process millions of requests every year.
[0016] As a result, technical assistants employed by such companies spend a great deal of time, reviewing and deciding whether to approve requests, which time increases overall queuing time and reduces customer satisfaction among clients and service providers alike.
[0017] SUMMARY OF THE INVENTION
[0018] According to one aspect of the present invention there is provided a method of central vehicle monitoring and maintenance, the method comprising using a server computer, for: monitoring a plurality of vehicles using a plurality of generic-vehicle-function monitors, each generic-vehicle-function monitor configured to receive monitoring data of a respective one of a plurality of predefined generic vehicle functions, and to communicate with the monitored vehicles, for receiving the monitoring data from vehicle- side agents associated with vehicle parts used for the generic vehicle function, detecting a technical issue in at least one of the vehicles based on the monitoring data received by at least one of the generic-vehicle-function monitors, and initiating a control operation based on the detecting. According to a second aspect of the present invention there is provided a system for central vehicle monitoring and maintenance, the system implemented on a server computer and comprising: a processing circuitry, and a memory in communication with the processing circuitry, the memory containing instructions that, when executed by the processing circuitry, cause the system to: monitor a plurality of vehicles using a plurality of generic-vehicle-function monitors, each generic-vehicle-function monitor configured to receive monitoring data of a respective one of a plurality of predefined generic vehicle functions, and to communicate with the monitored vehicles, for receiving the monitoring data from vehicle-side agents associated with vehicle parts used for the generic vehicle function, detect a technical issue in at least one of the vehicles based on the received monitoring data, and initiate a control operation based on the detecting.
[0019] According to a third aspect of the present invention there is provided a non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry of a server computer to perform a process of central vehicle monitoring and maintenance, the process comprising: monitoring a plurality of vehicles using a plurality of generic-vehicle- function monitors, each generic-vehicle-function monitor configured to receive monitoring data of a respective one of a plurality of predefined generic vehicle functions, and to communicate with the monitored vehicles, for receiving the monitoring data from vehicle-side agents associated with vehicle parts used for the generic vehicle function; detecting a technical issue in at least one of the vehicles based on the received monitoring data; and initiating a control operation based on the detecting.
[0020] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The materials, methods, and examples provided herein are illustrative only and not intended to be limiting.
[0021] Implementation of the method and system of the present invention involves performing or completing certain selected tasks or steps manually, automatically, or a combination thereof.
[0022] Moreover, according to actual instrumentation and equipment of preferred embodiments of the method and system of the present invention, several selected steps could be implemented by hardware or by software on any operating system of any firmware or a combination thereof.
[0023] For example, as hardware, selected steps of the invention could be implemented as a chip or a circuit. As software, selected steps of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system. In any case, selected steps of the method and system of the invention could be described as being performed by a data processor, such as a computing platform for executing a plurality of instructions.
[0024] BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
[0025] The invention is herein described, by way of example only, with reference to the accompanying drawings.
[0026] With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the preferred embodiments of the present invention only, and are presented in order to provide what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. The description taken with the drawings making apparent to those skilled in the art how the several forms of the invention may be embodied in practice.
[0027] In the drawings:
[0028] Fig. 1 is a simplified block diagram schematically illustrating an exemplary system for vehicle monitoring and maintenance, according to an exemplary embodiment of the present invention.
[0029] Fig. 2 is a flowchart schematically illustrating an exemplary method of vehicle monitoring and maintenance, according to an exemplary embodiment of the present invention.
[0030] Fig. 3 is a simplified block diagram schematically illustrating an exemplary non- transitory computer readable medium having stored thereon, instructions for causing a processing circuitry to perform a process of vehicle monitoring and maintenance, according to an exemplary embodiment of the present invention.
[0031] Fig. 4 is a simplified block diagram schematically illustrating an exemplary implementation scenario of a system for vehicle monitoring and maintenance, according to an exemplary embodiment of the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0032] The present embodiments comprise a system and a method of vehicle monitoring and maintenance.
[0033] Providing and maintaining a fleet of vehicles can be very challenging.
[0034] Whether provided by an fleet management company or handled internally by a company or other fleet owner, fleet management needs to take into consideration different maintenance requirements of different fleet vehicles - i.e. maintenance requirements that have to do with vehicles that are potentially, of different models, manufacturers, trim levels, etc., as described in further detail hereinabove.
[0035] For example, for different fleet vehicles, routine services, recalls, major and minor repairs and emergency services may need to be performed by different service providers, under different circumstances (say for different mechanical issues, accidents, etc.) and / or in different time intervals (say in time intervals prescribed by each vehicle’s manufacturer, say for routine services or for a recall), etc.
[0036] An operator of a fleet of vehicles may need to routinely bring each specific one of the vehicles of a fleet, especially if still under warranty, to a service provider authorized by the manufacturer of the specific vehicle, say in order to have the vehicle’ s engine oil changed.
[0037] However, the same operator may bring that vehicle, but also vehicles of different manufacturers or models, to a same tire shop, say based on a package deal that the operator has with the owner of the tire shop.
[0038] Another challenge faced by the fleet operator, has to do with efficiently dealing with vehicle problems, say with the need to send a vehicle to a service provider who can best handle a specific vehicle problem
[0039] Further, fleet management companies currently process millions of requests per year. As a result, technical assistants employed by such companies spend a great deal of time, reviewing and deciding whether to approve requests, which time increases overall queuing time, and reduces customer satisfaction among clients and service providers.
[0040] According to an exemplary embodiment of the present invention, two or more vehicles are monitored using a plurality of generic-vehicle-function monitors. Each generic-vehicle- function monitor of the exemplary embodiment monitors a specific one of a number of generic vehicle functions, in the two or more vehicles, as described in further detail hereinbelow.
[0041] The generic vehicle functions are defined in advance of the monitoring, say by a user or programmer of a system according to an exemplary embodiment of the present invention, as described in further detail hereinbelow.
[0042] Optionally, by defining the generic vehicle functions, the user or programmer classifies the functions that all electric vehicles have and / or all internal combustion engine vehicles have and / or a certain category of vehicles have, and / or any combination thereof, into groups, as described in further detail hereinbelow.
[0043] Thus, in one example, a programmer of the system may define the generic vehicle functions of: Engine Systems, Transmission and Steering, Suspension and Brakes, Body and Chassis, and Software.
[0044] In a second example, a programmer of the system may define the generic vehicle functions of: Engine Systems, Fuel Systems, Ignition Systems, Electric Systems, Exhaust System, Drive Train, Suspension and Steering Systems, Braking System, Frame and Body.
[0045] Each one of the generic vehicle-function-monitors is configured (say by the programmer) to receive monitoring data of a respective, specific one of the predefined generic vehicle functions, and to communicate with the monitored vehicles, for receiving the monitoring data from vehicle-side agents associated with vehicle parts that are used for the specific generic vehicle function, as described in further detail hereinabove.
[0046] Each one of the generic-vehicle-function monitors is thus mapped to the respective, specific generic function, and to vehicle side agents installed in the two or more vehicles. Each vehicle-side agent that the monitor is in communication with, is installed in a one of the vehicles and is associated with vehicle parts that are used for the specific predefined generic vehicle function, on that vehicle.
[0047] Optionally, the mapping of the monitors to the agents is exhaustive, such that by that mapping, each one of the vehicle’s parts that need to be monitored is associated with at least one of the vehicle-side agents installed in the vehicle. The vehicle’s part is thus also mapped to the generic vehicle function that the monitor in communication with the vehicle-side agent is mapped to, as described in further detail hereinbelow. Optionally, each vehicle’s part that needs to be monitored is associated with a specific one of the vehicle- side agents installed in the vehicle, as describedin further detail hereinbelow.
[0048] The vehicle-side agents may be implemented as software, as hardware, as electric circuitry, as one or more sensors, as one or more computer processors, as one or more computer memories, etc., or any combination thereof, as describedin further detail hereinbelow.
[0049] According to the exemplary embodiment, based on the monitoring data received by at least one of the generic-vehicle-function monitors, there is detected a technical issue in at least one of the vehicles.
[0050] Then, based on the detecting, there is initiated a control operation, say a one that includes an over-the-air (OTA) software update of one of the vehicle’s systems, a control operation that limits the vehicle speed, an automatic scheduling of a service appointment for the vehicle, etc., as describedin further detail hereinbelow.
[0051] Optionally, the detection of the technical issue is based on logic implemented by a specific one of the generic-vehicle-function monitors, and on integration at the level of data received from only one of the vehicle-side agents associated with the specific generic-vehicle- function monitor, which vehicle-side agent is installed in a specific one of the vehicles, as described in further detail hereinbelow.
[0052] Optionally, the detection of the technical issue is rather based on logic implemented by a specific one of the generic-vehicle-function monitors, and on integration at the level of data received from two or more of the vehicle- side agents associated with the specific generic- vehicle-function monitor, which two or more agents are installed in a same one of the vehicles.
[0053] Thus, in one example, a generic-vehicle-function monitor that monitors Suspension and Steering Systems, receives sensor data that indicates occurrences of steering wheel vibrations, from a first vehicle- side agent installed in a specific one of the vehicles. The sensor data could indicate a technical problem with the specific vehicle’s steering wheel, and would make the system schedule a steering shop appointment for the specific vehicle. That is to say that, in the example, the monitor could generate diagnostic data that is based on data that is at a level of the single vehicle- agent.
[0054] However, in the example, the generic-vehicle-function monitor that monitors Suspension and Steering Systems further receives tire pressure measurement data from a second vehicle- side agent installed in that specific vehicle. The tire pressure measurement data is indicative of an accelerated pressure loss by one of the vehicle’s tires. The accelerated pressure loss may be the reason for the steering wheel vibrations.
[0055] Accordingly, the generic-vehicle-function monitor generates diagnostic data that indicates a possible problem with one of the vehicle’s tires rather than a possible problem with the vehicle’s steering wheel itself. That is to say that, in the example, the monitor generates diagnostic data that is based on data that is at a higher level - namely, that of integrating sensor data that originates from two vehicle- agents.
[0056] Accordingly, in the example, the system detects a tire problem and schedules a tire shop appointment for the vehicle, as described in further detail hereinbelow.
[0057] Optionally, the detection of the technical issue is based on integration of diagnostic data generated by two or more of the generic-vehicle-function monitors, and is thus made at a hierarchical level that is even higher than that of one the generic-vehicle-function monitor.
[0058] Thus, in one example, a first one of the generic-vehicle-function monitors, which monitor monitors Suspension and Steering Systems, receives sensor data that indicates occurrences of steering wheel vibrations from a first vehicle-side agent installed in one of the vehicles, as well as tire pressure measurement data that does not indicate any technical problem with the vehicle’s tires, from a second vehicle- side agent installed in the vehicle.
[0059] Accordingly, the generic-vehicle-function monitor could generate diagnostic data that indicates a possible mechanical problem with the vehicle’s steering wheel. Such a mechanical problem may be caused, for example, by a damaged tie rod and / or by ball joints that have become worn.
[0060] As a result, the system could detect a technical problem with the steering wheel, which technical problem would make the system schedule a steering shop appointment for the vehicle, at a service center authorized by the vehicle manufacturer, so as to allow the manufacturer’s authorized technicians to more accurately diagnose and attend to the technical problem.
[0061] However, in the example, a generic-vehicle-function monitor that monitors Software Systems of the vehicles, receives data from a vehicle-side agent installed in the vehicle, which data indicates the presence of a computer virus (or other malware) known to cause steering issues. As a result, the generic-vehicle-function monitor that monitors Software Systems generates diagnostic data that indicates that a potential computer virus issue may cause the vibrations. Accordingly, the system detects a technical problem in the vehicle’s software rather than a problem with the vehicle’s steering wheel itself, and triggers an over-the-air (OTA) software update of one of the vehicle’s system, as described in further detail hereinbelow.
[0062] The software update of the example installs a software patch that is supposed to fix one or more vulnerabilities exploited by the virus, for causing the wheel vibrations.
[0063] Thus, potentially, with the exemplary embodiments, the hierarchical mapping between the generic-vehicle-function monitors and the vehicle-side agents, allows to diagnose more accurately a problem based on data integration that is made at the level of a single vehicle- agent, at the level of a predefined vehicle generic function, or at a level that involves integration between diagnostic data related to two or more of the predefined generic functions.
[0064] Optionally, the diagnosis may also be based on integration of data that originates from two or more of the vehicles (say on diagnostic data generated based on sensor data that originates from two or more of the vehicles), from other sources (say from recall data provided by a vehicle manufacturer), etc., as describedin further detail hereinbelow.
[0065] Thus, in one example, a first generic-vehicle-function monitor generates diagnostic data that indicates computer virus presence in two of the vehicles, and a second generic-vehicle- function monitor generates diagnostic data that indicates a possible mechanical brake failure in a third one of the vehicles. Accordingly, there is determined a technical problem with the software of the third vehicle rather than a mechanical problem with the third vehicle’ s brakes themselves.
[0066] The principles and operation of a system according to the present invention may be better understood with reference to the drawings and accompanying description.
[0067] Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of the components set forth in the following description or illustrated in the drawings.
[0068] The invention is capable of other embodiments or of being practiced or carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein is for the purpose of description and should not be regarded as limiting. Reference is now made to Fig. 1, which is a simplified block diagram schematically illustrating an exemplary system for vehicle monitoring and maintenance, according to an exemplary embodiment of the present invention.
[0069] A system 1000 for vehicle monitoring and maintenance, according to an exemplary embodiment of the present invention, may be implemented using electric circuits, computer software, computer hardware, etc., or any combination thereof.
[0070] Optionally, the system 1000 is implemented on a computing device, say on a computer server of a party (say a company, a family, etc.) that operates a fleet of vehicles, on a computer server of a fleet management company that oversees the fleets of two or more companies, etc., as described in further detail hereinabove.
[0071] The computing device may be a single computer, a group of computers in communication over a network, a computing circuitry that includes one or more electric circuits, a computer processor, a computer memory, etc., or any combination thereof, as described in further detail hereinbelow.
[0072] Optionally, the system 1000 includes one or more electric circuits, say a circuit that includes one or more computer processor(s) 101 and at least one computer memory 102, say one or more circuits of a computer or circuits of two or more computers.
[0073] The computer memory 102 may include, but is not limited to: a Micro SD (Secure Digital) Card, a CD-ROM, a USB-Memory, a Hard Disk Drive (HDD), a Solid State Drive (SSD), a computer’s ROM chip, an SRAM (Static Random Access Memory), a DRAM (Dynamic Random Access Memory) or other RAM (Random Access Memory) component, a cache memory component of a computer processor, etc., or any combination thereof, as known in the art.
[0074] The at least one computer memory 102 stores instructions that are executable by the at least one computer processor 101, other parts of the circuitry, or both, for causing the system 1000 to perform the steps of the exemplary method described in further detail and illustrated using Fig. 2 hereinbelow.
[0075] In one exemplary embodiment, the computer processor 101 is programmed to perform the instructions, and thereby to implement one or more additional parts (say modules) of the system 1000, say parts 111-113, as described in further detail hereinbelow. Optionally, one or more of the parts 111-113 is rather implemented as one or more electric circuits (say a logic circuit), or rather as combination of one or more electric circuits and the computer processor 101.
[0076] Each one of parts 111-113 may thus be implemented as software - say by programming the computer processor(s) 101 to execute at least a part of the exemplary method described in further detail hereinbelow, as hardware - say as one or more hardware part of the electric circuits) that execute(s) at least a part of the exemplary method, etc., or any combination thereof.
[0077] The system 1000 includes one or more generic-vehicle-function monitors 111 that monitor two or more vehicles, as described in further detail hereinbelow.
[0078] Each generic-vehicle-function monitor 111 monitors a respective, specific one of a number of generic vehicle functions, in the two or more vehicles, as described in further detail hereinbelow.
[0079] Optionally, each one of the generic vehicle functions is a vehicle function predefined in advance of the monitoring, say by a user or programmer of the system 1000, as described in further detail hereinbelow.
[0080] Optionally, by defining the generic vehicle functions, the user or programmer of the system 1000 divides (and thus maps) functions that all electric vehicles have and / or all internal combustion engine vehicles have and / or all vehicles of a certain category (say trucks, tractors, etc.) have, or any combination thereof, into groups.
[0081] Thus, in one example, a programmer of the system 1000 defines the generic vehicle functions to include the functions of: Engine System, Transmission and Steering, Suspension and Brakes, Body and Chassis, Electric Systems, and Software, and respective generic-vehicle- function monitors.
[0082] In a second example, the programmer defines the generic vehicle functions to include the functions of: Engine System, Fuel System, Ignition System, Exhaust System, Drive Train, Suspension and Steering Systems, Braking System, Frame and Body, and respective generic- vehicle-function monitors.
[0083] Each one of the generic-vehicle-function monitors 111 receives monitoring data of the respective, specific one of the predefined generic vehicle functions, by communicating with the monitored vehicles, for receiving the data from vehicle-side agents 151 associated with vehicle parts 161 that are used for the respective generic vehicle function, as described in further detail hereinbelow.
[0084] Thus, each one of the generic-vehicle-function monitors 111 is mapped to the respective, specific generic vehicle function, and to vehicle side agents 151 installed in the two or more vehicles.
[0085] Each one of the vehicle-side agent 151 is installed in one of the vehicles and is associated with vehicle parts 161 that are used for the specific predefined generic vehicle function, on that vehicle, as described in further detail hereinbelow.
[0086] The vehicle-side agent may 151 be implemented as software, as hardware, as electric circuitry, as sensors, as computer processors, as computer memories, etc., or any combination thereof, as described in further detail hereinbelow.
[0087] The vehicle-side agent 151 may be associated with a hardware part of the vehicle, with a software part of the vehicle, with a mechanical part of the vehicle, etc., or any combination thereof, as described in further detail hereinbelow.
[0088] Thus, in one example, a vehicle-side agent 151 is in communication with one or more sensors that measure different parameters related to vehicle engine activity, say temperatures of an engine of a vehicle, vibration of the engine, noise of the engine, the engine’s oil pressure, etc., as known in the art.
[0089] In a second example, a vehicle-side agent 151 is in communication with one or more sensors that measure different parameters related to software systems of a vehicle, say with one or more computer applications that extract data from logs of software components such as an anti-virus application or other application installed on one of the vehicle’s Electric Control Units (say an error log), say using APIs (Application Programming Interfaces), etc., as known in the art.
[0090] Thus, each monitor 111 monitors the specific predefined generic vehicle function as implemented on all vehicles monitored by system 1000, as described in further detail hereinbelow. Optionally, the mapping of the monitors 111 to the vehicle- side agents 151 is exhaustive, such that in that mapping, each vehicle part 161 that needs to be monitored is associated with at least one of the vehicle- side agents 151, as describedin further detail hereinbelow.
[0091] Optionally, each vehicle’s part 161 that needs to be monitored is associated with a specific one of the vehicle-side agents 151 installed in the vehicle, as described in further detail hereinbelow.
[0092] Optionally, each one of the generic-vehicle-function monitors 111 includes one or more Electronic Control Unit (ECU) specific monitors, and each ECU specific monitor 111 is configured to receive and process ECU data that is monitoring data that pertains to a respective predefined type of Electronic Control Units, and to communicate with the monitored vehicles, for receiving the ECU data from Electronic Control Units of the predefined type.
[0093] In one example, one or more of the vehicle- side agents 151 is configured to extract computer virus presence data from a log of an anti-virus application installed on Electric Control Units of a specific type or model, say on Electric Control Units that control vehicle steering systems of the monitored vehicles, as describedin further detail hereinbelow.
[0094] Optionally, in an exemplary embodiment of the present invention, the mapping between generic-vehicle-function monitors 111, predefined generic vehicle functions, generic vehicleside agents 151, and vehicle parts 161, serves as a basis for a hierarchically based detection of a technical issue (say a problem) that occurs in one of the monitored vehicles, as described in further detail hereinbelow.
[0095] Thus, for example, a detection based on sensor data received by one of the monitors 111 - i.e. at the level of one of the predefined generic vehicle functions - may change when weighted against sensor data received by another one of the monitors, and thus turn out differently, at a higher level - namely, a level that involves two or more of the predefined functions, as described in further detail hereinbelow.
[0096] In the exemplary method, based on the monitoring data received by at least one of the generic-vehicle-function monitors 111, the generic- vehicle-function monitor 111 generates diagnostic data.
[0097] Optionally, the diagnostic data is generated based one or more predefined rules, Artificial Intelligence (say a Neural Network), etc., or any combination thereof, as described in further detail hereinbelow. The system 1000 further includes a technical issue detector 112, in communication with the generic-vehicle-function monitors 111.
[0098] Then, based the generated diagnostic data, the technical issue detector 112 detects a technical issue in at least one of the vehicles, as describedin further detail hereinabove.
[0099] Optionally, the technical issue detector 112 detects the technical issue, based one or more predefined rules, Artificial Intelligence (say a Neural Network), etc., or any combination thereof, as describedin further detail hereinbelow.
[0100] The system 1000 further includes a control operation initiator 113, in communication with the technical issue detector 112.
[0101] The control operation initiator 113 initiates a control operation, based on the technical issue detected by the technical issue detector 112.
[0102] The control operation may include, but is not limited to: an over-the-air (OTA) software update of one of the vehicle’s systems, a control operation the limits the vehicle speed, a preconditioning of the vehicle’s battery, a tuning of the vehicle’s active suspension system, an automatic scheduling of a service appointment for the vehicle, a sending of a message that guides the vehicle driver on how to try to fix the problem by himself, etc., as described in further detail hereinbelow.
[0103] Optionally, the control operation initiator 113 initiates the control operation, based on optimization of vehicle maintenance, as described in further detail hereinbelow.
[0104] Thus, for example, when the initiated control operation includes the automatic scheduling of a tire shop appointment for the vehicle, the control operation may further include a scheduling of a tire rotation or wheel balancing, for the vehicle, as describedin further detail hereinbelow.
[0105] Similarly, when the initiated control operation includes the automatic scheduling of a service appointment for the vehicle, to repair a mechanical issue, the control operation may further include a scheduling of a recall service, an oil change that would otherwise be scheduled to a later day, etc., as describedin further detail hereinbelow.
[0106] Optionally, the technical issue detector 112 detects the technical issue, based on diagnostic data generated by a specific one of the generic- vehicle-function monitors 111, and on integration of data received from two or more of the vehicle-side agents 151 that are associated with the specific generic-vehicle-function monitor 111. Thus, in one example, a generic-vehicle-function monitor 111 that monitors Suspension and Steering Systems, receives sensor data that indicates occurrences of steering wheel vibration from a first vehicle- side agent 151.
[0107] Based on the received sensor data, the generic-vehicle-function monitor 111 generates diagnostic data that indicates the possible occurrence of a problem in the steering wheel itself (i.e. the mechanical problem in one or more of the wheel parts).
[0108] As a result, the technical issue detector 112 could detect a steering wheel issue and accordingly, the control operation initiator 113 could initiate a control operation that schedules a steering shop appointment for the vehicle, as described in further detail hereinbelow.
[0109] However, in the example, the generic-vehicle-function monitor 111 that monitors the Suspension and Steering Systems further receives tire pressure measurement data from a second one of the vehicle-side agents 151, which pressure measurement data is indicative of an accelerated pressure loss by one of the vehicles tires, say a loss that exceeds a threshold predefined by a programmer of the system 1000.
[0110] Accordingly, in the example, the generic-vehicle-function monitor 111 rather generates diagnostic data that indicates a possible technical problem with the tire.
[0111] As a result, the technical issue detector 112 detects a technical issue with the vehicle’s tire and accordingly, the control operation initiator 113 initiates a control operation that schedules a tire shop appointment for the vehicle, as described in further detail hereinbelow.
[0112] Optionally, the technical issue detector 112 detects the technical issue, based on monitoring data received by at least two of the generic- vehicle-function monitors 111, say on sensor data received from vehicle- side agents 151 that are in communication with different ones of the generic-vehicle-function monitors 111.
[0113] That is to say that optionally, the detection of the technical issue is based on integration of diagnostic data generated by two or more of the generic- vehicle-function monitors 111, as described in further detail hereinbelow.
[0114] Optionally, the detection of the technical issue by the technical issue detector 112, the generation of the diagnostic data by one or more of the generic-vehicle-function monitors 111, or both, are based on a database of predefined rules. Optionally, the one or more rules are defined in advance of the monitoring, say by a programmer or administrator of a system 1000, as describedin further detail hereinbelow.
[0115] Optionally, the programmer or administrator defines the rules, using a dedicate Graphical User Interface (GUI), using Al (Artificial Intelligence) based natural language processing, etc., or any combination thereof, as known in the art.
[0116] In a first example, according to one of the rules, if diagnostic data generated by one of the generic-vehicle-function monitors 111 indicates a possible mechanical problem with a specific vehicle’s shock-absorbing components (say springs), but diagnostic data generated by a second one of the generic-vehicle-function monitors 111 indicates that one of the vehicle’s software modules needs a software update, then the technical issue detector 112 detects a technical issue with the vehicle’s software, as describedin further detail hereinbelow.
[0117] In a second example, according to one of the rules, if sensor data received by one of the generic-vehicle-function monitors 111 indicates occurrences of steering wheel vibrations, but other sensor data received by the monitor 111 indicates accelerated pressure loss by one of the vehicles tires, the generic-vehicle-function monitor 111 rather generates diagnostic data that indicates a possible tire issue, as describedin further detail hereinabove.
[0118] Optionally, the detection of the technical issue by the technical issue detector 112, the generation of the diagnostic data by one or more of the generic-vehicle-function monitors 111, or both, are carried out using a neural network trained to recognize the technical issue based on the monitoring data received by the generic- vehicle-function monitors 111, as described in further detail hereinabove.
[0119] Optionally, the technical issue detector 112 and / or one or more of the generic-vehicle- function monitors 111 further receives maintenance data from one or more vehicle manufacturers, sellers or service providers, and uses the received maintenance data for detecting the problem and / or for generating the diagnostic data, as described in further detail hereinbelow.
[0120] In one example, the received maintenance data includes a list of vehicle models, specific vehicles (say Vehicle Identification Numbers (VIN)), vehicle parts (say vehicle part serial numbers), etc., that have to be subjected to a software update, a recall, a replacement, etc., as described in further detail hereinbelow. In the example, based on the maintenance data received by the technical issue detector 112 and / or the monitors 111, the technical issue detector 112 detects a technical issue (say a recall or OTA software update issue).
[0121] Accordingly, in the example, the control operation initiator 113 initiates the sending of messages (say email messages) to owners of all monitored vehicles that the received maintenance data pertains to (say to all owners of vehicles of models mentioned in the list, to all owners of vehicles in the list, etc.).
[0122] Optionally, the technical issue detector 112 further takes the received maintenance data into consideration when receiving diagnostic data from one or more of the monitors 111.
[0123] In one example, a generic-vehicle-function monitor 111 that monitors vehicle braking systems, generates diagnostic data that indicates a possible mechanical failure in a specific vehicle’s brake.
[0124] However, in the example, the technical issue detector 112 is also in receipt of manufacturer-provided maintenance data that indicates that a software version update may be needed in vehicles of a same model as the specific vehicle’ s model, as described in further detail hereinbelow. As a result, the technical issue detector 112 detects a technical issue of software update, and accordingly, the control operation initiator 113 initiates an OTA software update on the specific vehicle, as described in further detail hereinbelow.
[0125] The detection of the technical issue by the technical issue detector 112 may be based on logic implemented at different hierarchical levels: the level of data received from only one vehicle-side agent 151, the level of integrating data received from two or more vehicle-side agents 151 that are in communication with one specific generic- vehicle-function monitor 111, the level of integrating diagnostic data generated by two or more of the generic-vehicle- function monitors 111, etc., as describedin further detail hereinbelow.
[0126] Thus, potentially, the hierarchical mapping between the generic-vehicle- function monitors 111 and the vehicle-side agents 151, allows to diagnose more accurately a technical issue, based on data integration that may be made at the level of a single vehicle-agent 151, at the level of a predefined vehicle generic function, or at a level that involves integration between diagnostic data related to two or more of the predefined generic functions.
[0127] Optionally, the detection of the technical issue by the technical issue detector 112 may also be based on integration of data that originates from two or more of the vehicles (say on diagnostic data generated based on sensor data that originates from two or more of the vehicles), from other sources (say from recall data provided by a vehicle manufacturer (say OEM)), etc., as described in further detail hereinbelow.
[0128] Thus, in a first example, a first generic-vehicle-function monitor 111 generates diagnostic data that indicates computer virus presence in two of the vehicles, and a second generic-vehicle- function monitor 111 generates diagnostic data that indicates a possible brake failure in a third one of the vehicles.
[0129] In the example, the technical issue detector 112 detects a technical issue with the third vehicle’s software rather than with the third vehicle’s brakes themselves, as described in further detail hereinbelow.
[0130] Reference is now made to Fig. 2, which is a flowchart schematically illustrating an exemplary method of vehicle monitoring and maintenance, according to an exemplary embodiment of the present invention.
[0131] An exemplary method of vehicle monitoring and maintenance, according to an exemplary embodiment of the present invention, may be executed by a computing device, say be a server computer, as describedin further detail hereinbelow.
[0132] Optionally, the computing device is used by a party that provides a vehicle maintenance service to one or more vehicle fleets, say by a fleet management company that oversees the fleets of two or more companies. Indeed, fleet management companies may need to monitor and oversee various activities that have to do with the maintenance of different vehicles, as described in further detail hereinabove.
[0133] Optionally, the computing device is used by an organization that is internal to a party (say a company) that operates a fleet of vehicles owned or leased by the party, which fleet may include vehicles that may potentially, be of different models, manufacturers, trims, etc., as described in further detail hereinabove.
[0134] The computing device may be a single computer, a group of computers in communication over a network, a computer circuitry that includes one or more electric circuits, a computer processor and a computer memory, etc., or any combination thereof, as described in further detail hereinbelow. Thus, in one example, the method of vehicle monitoring and maintenance is executed by a system (say system 1000) that includes a circuit (say an integrated electric circuit), as described in further detail hereinabove.
[0135] The circuit of the example includes one or more computer processors, one or more computer memories (say a DRAM (Dynamic Random Access Memory) component, an SRAM (Static Random Access Memory) component, an SSD (Solid State Drive) component, etc.), one or more other components, etc., or any combination thereof, as described in further detail hereinbelow.
[0136] The computer memory stores instructions, say instructions that are executable by one or more of the computer processor(s), for performing the steps of the exemplary method, as described in further detail hereinbelow.
[0137] In the exemplary method, two or more vehicles are monitored 210, say by the generic- vehicle-function monitors 111 of system 1000.
[0138] According to an exemplary embodiment, each generic-vehicle-function monitor 111 of a system (say system 1000) that implements the exemplary method, monitors 210 a respective, specific one of a number of generic vehicle functions, in the two or more vehicles, as described in further detail hereinbelow.
[0139] Optionally, each one of the generic vehicle functions is a vehicle function predefined in advance of the monitoring, say by a user or programmer of the system 1000, as described in further detail hereinabove.
[0140] Optionally, by defining the generic vehicle functions, the user or programmer maps functions that all electric vehicles have and / or all internal combustion engine vehicles have and / or all vehicles of a certain category (say trucks, tractors, etc.) have, or any combination thereof, into groups.
[0141] Thus, in one example, a programmer of the system 1000 defines the generic vehicle functions to include the functions of: Engine System, Transmission and Steering, Suspension and Brakes, Body and Chassis, Electric Systems, and Software.
[0142] In a second example, the programmer defines the generic vehicle functions to include the functions of: Engine System, Fuel System, Ignition System, Exhaust System, Drive Train, Suspension and Steering Systems, Braking System, Frame and Body. Each one of the generic-vehicle-function monitors 111 receives 210 monitoring data of the respective, specific one of the predefined generic vehicle functions, by communicating with the monitored vehicles, for receiving 210 the monitoring data from vehicle-side agents 151 associated with vehicle parts 161 that are used for the respective generic vehicle function.
[0143] Thus, each one of the generic-vehicle-function monitors 111 is mapped to vehicle side agents 151 installed in the two or more vehicles. Each vehicle-side agent 151 is installed in one of the vehicles and is associated with vehicle parts 161 that are used for the specific predefined generic vehicle function, on that vehicle, as described in further detail hereinbelow.
[0144] Thus, each one of the monitors 111 monitors the specific predefined generic vehicle function as implemented on all vehicles monitored 210 by system 1000, as described in further detail hereinabove.
[0145] Optionally, the mapping of the monitors 111 to the vehicle- side agents 151 is exhaustive, such that in that mapping, each vehicle part 161 that needs to be monitored 210 is associated with one of the vehicle-side agents 151, and is thus mapped to the monitor 111 that is in communication with the vehicle- side agent 151, as describedin further detail hereinbelow.
[0146] Optionally, each vehicle’s part 161 that needs to be monitored 210 is associated with a specific one of the vehicle-side agents 151 installed in the vehicle, as described in further detail hereinbelow.
[0147] The vehicle-side agent may 151 be implemented as software, hardware, electric circuitry, sensors, computer processors, computer memories, etc., or any combination thereof, as described in further detail hereinabove.
[0148] The vehicle-side agent 151 may be associated with a hardware part 161 of the vehicle, with a software part 161 of the vehicle, with a mechanical part 161 of the vehicle, etc., or any combination thereof, as described in further detail hereinbelow.
[0149] Optionally, each one of the generic-vehicle-function monitors 111 includes one or more Electronic Control Unit (ECU) specific monitors, and each ECU specific monitor 111 is configured to receive and process ECU data that is monitoring data that pertains to a respective predefined type of Electronic Control Units, and to communicate with the monitored 210 vehicles, for receiving the ECU data from Electronic Control Units of the predefined type. In one example, one or more of the vehicle-side agents 151 is configured to extract computer virus presence data from a log of an anti-virus application installed on Electric Control Units of a specific type or model, say on Electric Control Units that control vehicle steering systems of the monitored 210 vehicles, as describedin further detail hereinbelow.
[0150] Optionally, in an exemplary embodiment of the present invention, the mapping between generic-vehicle-function monitors 111, vehicle-side agents 151, and vehicle parts 161, serves as a basis for a hierarchically based detection 220 of a technical problem that occurs in one of the monitored 210 vehicles, as described in further detail hereinbelow.
[0151] Thus, for example, a detection 220 based on sensor data received 210 by one of the monitors 111 - i.e. at the level of one of the predefined generic vehicle functions - may change when weighted against sensor data received 210 by another one of the monitors 111, and thus turn out differently, at a higher level - namely, a level that involves two or more of the predefined functions, as describedin further detail hereinbelow.
[0152] In the exemplary method, based on the monitoring data received 210 by at least one of the generic- vehicle-function monitors 111, the generic-vehicle-function monitor generates diagnostic data.
[0153] Optionally, the diagnostic data is generated based one or more predefined rules, Artificial Intelligence (say a Neural Network), etc., or any combination thereof, as described in further detail hereinbelow.
[0154] Then, based the generated diagnostic data, there is detected 220 a technical issue (say problem) in at least one of the vehicles, say by the technical issue detector 112 of system 1000, as describedin further detail hereinabove.
[0155] Optionally, the technical issue is detected 220 based on one or more predefined rules, Artificial Intelligence (say a Neural Network), etc., or any combination thereof, as described in further detail hereinbelow.
[0156] Then, based on the detection 220 of the technical issue, there is initiated 230 a control operation, say by the control operation initiator 113 of system 1000, as described in further detail hereinbelow.
[0157] The initiated 230 control operation may include, but is not limited to: an over-the-air (OTA) software update of one of the vehicle’s systems, a control operation the limits the vehicle speed, a preconditioning of the vehicle’s battery, a tuning of the vehicle’s active suspension system, an automatic scheduling of a service appointment for the vehicle, the sending of a message that guides the vehicle driver on how to try to fix the problem by himself, etc., as described in further detail hereinbelow.
[0158] Optionally, the initiated 230 control operation is based on optimization of vehicle maintenance, as describedin further detail hereinbelow.
[0159] Thus, in one example, when the initiated 230 control operation includes the automatic scheduling of a tire shop appointment for the vehicle, the control operation may further include a scheduling of a tire rotation, wheel balancing, etc, or any combination thereof, as described in further detail hereinbelow.
[0160] In a second example, when the initiated 230 control operation includes initiating an over- the-air (OTA) software update of an electric vehicle, the OTA software update is scheduled for a time in which the vehicle’s battery is charged to at least 70% capacity.
[0161] In a third example, when the initiated 230 control operation includes the automatic scheduling of a service appointment for the vehicle, to repair a mechanical issue, the control operation may further include a scheduling of an oil change that would otherwise be scheduled to a later day, etc.
[0162] Optionally, the detection 220 of the technical issue is based on diagnostic data generated by a specific one of the generic-vehicle-function monitors 111, and on integration of data received 210 from two or more of the vehicle-side agents that are associated with the specific generic-vehicle-function monitor 111.
[0163] Thus, in one example, a generic-vehicle-function monitor 111 that monitors 210 Suspension and Steering Systems, receives 210 sensor data that indicates occurrences of steering wheel vibrations from a first vehicle- side agent 151.
[0164] Based on the received 210 sensor data, the generic-vehicle-function monitor 111 generates diagnostic data that indicates the possible occurrence of a mechanical problem in the steering wheel itself, as describedin further detail hereinbelow.
[0165] As a result, the technical issue detector 112 could detect 220 a steering wheel problem and accordingly, the control operation initiator 113 could initiate 230 a control operation that schedules a steering shop appointment for the vehicle, say by inserting an appointment in the shop’s calendar and sending an email invitation to the vehicle’s owner (say to an officer of the company that operates the vehicle fleet), as known in the art.
[0166] However, in the example, the generic-vehicle-function monitor 111 that monitors the Suspension and Steering Systems, further receives 210 tire pressure measurement data from a second one of the vehicle-side agents 151. The received 210 pressure measurement data is indicative of an accelerated pressure loss by one of the vehicle’s tires, say a loss that exceeds a threshold predefined by a programmer of the system 1000. The accelerated pressure loss may be the reason for the steering wheel vibrations, and can be more easily (and less expensively) dealt with.
[0167] Accordingly, in the example, the generic-vehicle-function monitor 111 rather generates diagnostic data that indicates a possible tire issue.
[0168] As a result, the technical issue detector 112 detects 220 a problem with one of the vehicle’s tires and accordingly, the control operation initiator 113 initiates 230 a control operation that schedules a tire shop appointment for the vehicle, as described in further detail hereinbelow.
[0169] Optionally, the detection 220 of the technical problem is based on monitoring data received 210 by at least two of the generic-vehicle-function monitors 111, say on sensor data received 210 from vehicle-side agents 151 that are in communication with different ones of the monitors 111.
[0170] That is to say that optionally, the detection 230 of the technical issue (say the technical problem) may be based on integration of diagnostic data generated by two or more of the generic-vehicle-function monitors 111, and thus at a level data that pertains to two different ones of the predefined generic vehicle functions, as described in further detail hereinbelow.
[0171] Thus, in one example, a first one of the generic-vehicle-function monitors 111, which monitors 210 Suspension and Steering Systems, receives 210 sensor data that indicates occurrences of steering wheel vibrations from a first vehicle-side agent. The generic-vehicle- function monitors 111 further receives 210 tire pressure measurement data that does not indicate any technical problem with the vehicle’s tires, from a second vehicle-side agent.
[0172] Accordingly, the generic-vehicle-function monitor 111 could generate diagnostic data that indicates a mechanical problem with the vehicle’ s steering wheel itself. Such a problem may be caused, for example, by a damaged tie rod and / or by ball joints that have become worn. Based on the generated diagnostic data that indicates the mechanical problem with the vehicle’s steering wheel itself, the technical issue detector 112 could detect 220 a technical problem with the steering wheel.
[0173] Accordingly, the control operation initiator 113 would initiate 230 a control operation that schedules a steering shop appointment for the vehicle, at a service center authorized by the vehicle manufacturer, so as to allow manufacturer- authorized technicians to more accurately diagnose and attend to the technical problem
[0174] However, in the example, a second generic-vehicle-function monitor 111, which second monitor 111 monitors 210 Software Systems of the vehicles and receives data from vehicle- side agents 151 installed in one or more of the vehicles, receives 210 sensor data that indicates the presence of a computer virus (or other malware) known to cause steering issues, from a vehicleside agent 151 of one of the vehicles.
[0175] Optionally, the data that indicates the presence of the virus is extracted by one of the vehicle-side agents 151, say from a log of messages generated by anti-virus software installed on one of the vehicle parts 161, say on one of the vehicle’s computers, as known in the art.
[0176] Accordingly, the second generic-vehicle-function monitor 111 generates diagnostic data that indicates a technical problem with the vehicle’s software.
[0177] The technical issue detector 112 receives both the diagnostic data generated by the first generic-vehicle-function monitor 111 and the diagnostic data generated by the second generic- vehicle-function monitor 111. Based on both generated diagnostic data, the technical issue detector 112 detects 220 a technical problem with the vehicle’s software, say with a software module of a specific ECU (Electronic Control Unit), as described in further detail hereinbelow.
[0178] Accordingly, in the example, the control operation initiator 113 initiates 230 an over-the- air (OTA) software update of one of the systems of the vehicle that the technical issue (i.e. the technical problem with the software) is detected 220 in, say of the specific ECU. The software update of the example installs a software patch that is supposed to fix one or more vulnerabilities exploited by the virus that causes the wheel vibrations, as known in the art.
[0179] Optionally, the control operation initiator 113 further initiates 230 an over-the-air (OTA) software update of one or more vehicles, in addition to the vehicle that the technical issue is detected 220 in, say an update of each monitored 210 vehicle’s Electronic Control Unit of a same type as the specific ECU’s, as describedin further detail hereinbelow. Thus, the initiated 230 control operation may be an over-the-air software update of one or more of the monitored 210 vehicles, based on susceptibility of the monitored vehicles 210 subject to the update, to the technical issue (i.e. even if the technical problem is not detected 220 yet in all monitored vehicles 210 subject to the update).
[0180] Optionally, the detection 220 of the technical issue, the generation of the diagnostic data, or both, are based on a database of predefined rules, say on one or more rules defined (say by a programmer or administrator of a system 1000), in advance of the monitoring 210.
[0181] Optionally, the rules are defined using a dedicate Graphical User Interface (GUI), using Al (Artificial Intelligence) based natural language processing, etc., or any combination thereof, as known in the art.
[0182] In a first example, according to one of the rules, if diagnostic data generated by one of the generic-vehicle-function monitors 111 indicates a possible mechanical problem with a specific vehicle’s shock- absorbing components (say springs and dampers), but diagnostic data generated by a second one of the generic-vehicle-function monitors 111 indicates that one of the vehicle’s software modules needs a software update, then the technical issue detector 112 detects 220 a technical issue with the vehicle’s software, as describedin further detail hereinabove.
[0183] In a second example, according to one of the rules, if sensor data received 210 by one of the generic-vehicle-function monitors 111 indicates occurrences of steering wheel vibrations, but other sensor data received 210 by the monitor 111 indicates accelerated pressure loss by one of the vehicles tires, the generic-vehicle-function monitor 111 rather generates diagnostic data that indicates a possible tire issue, as describedin further detail hereinabove.
[0184] Optionally, the detection 220 of the technical problem, the generation of the diagnostic data, or both, are carried out using a neural network trained to recognize the technical issue based on the monitoring 210 data, as describedin further detail hereinbelow.
[0185] In a first example, the neural network is trained to indicate an occurrence of a possible technical issue, by feeding the neuronal network with test data that represents sensor data measured by different vehicle sensors, software modules, hardware parts, etc, received by different vehicle-side agents 151, and received 210 by monitors 111 that monitor 210 different ones of the predefined generic vehicle functions. In the training, there is found, for example, the appropriate weighting between neural connections among neurons of the neural network that receive and / or process the sensor data, using a feedback loop that is called Gradient Backward Propagation, as known in the art.
[0186] Thus, in the example, there may be found, for example, the proper weighting between sensor data that indicates excessive vibration of a vehicle’s steering wheel and sensor data that indicates accelerated pressure loss in one of the vehicle’s tires.
[0187] With a proper weighting between the two, for example, strong vibrations and accelerated tire pressure loss may be indicative of a mechanical suspension problem, whereas, mild to moderate vibrations and accelerated tire pressure loss may be indicative of a tire problem.
[0188] Accordingly, a generic-vehicle-function monitor 111 that monitors 210 steering and wheels, may generate diagnostic data that is indicative of a possible technical problem, using the neural network trained to indicate the possible occurrence of the technical problem.
[0189] In a second example, the neural network is trained to indicate an occurrence of a possible technical issue, by feeding the neuronal network with test data that represents diagnostic data generated by different ones of the generic-vehicle-function monitors 111.
[0190] In the training, there are also found the appropriate weights of neural connections between neurons of the neural network that receive and process the generated diagnostic data, using Gradient Backward Propagation, as known in the art.
[0191] Thus, in the example, there may be found, for example, the proper weighting between diagnostic data generated by a generic-vehicle-function monitor 111 that monitors 210 suspension systems of the vehicles and a generic-vehicle-function monitor 111 that monitors 210 software systems of the vehicles, under different circumstances.
[0192] For example, the weighting between the different diagnostic data may depend on the technical problems that the diagnostic data is indicative of, say by giving a higher weight to tire issues when weighted against mechanical wheel issues, but a lower weight to tire issues when weighted against software issues, etc.
[0193] Accordingly, the technical issue detector 112 may detect 220 a technical problem, using the neural network trained to indicate the possible occurrence of different technical problems, based on different diagnostic data generated by different ones of the generic-vehicle- function monitors 111. Optionally, in the method, there is further received maintenance data from one or more vehicle manufacturers, sellers or service providers, say by the control operation initiator 113, the technical issue detector 112 and / or one or more of the monitors 111, as described in further detail hereinabove.
[0194] In one example, maintenance data received by the technical issue detector 112 includes a list of vehicle models, specific vehicles (Vehicle Identification Numbers (VIN)), vehicle parts (say vehicle part serial numbers), etc., that have to be subjected to a software update, recall, replacement, etc.
[0195] In the example, based on the maintenance data received by the technical issue detector 112, the technical issue detector 112 detects a technical issue (say a recall or OTA software update issue), and the control operation initiator 113 initiates 230 the sending of messages (say email messages) to owners of all monitored 210 vehicles that the received maintenance data pertains to (say to all owners of vehicles of models mentioned in the list, to all owner of vehicles in the list, etc.).
[0196] Optionally, the technical issue detector 112 further takes the received maintenance data into consideration when receiving diagnostic data from one or more of the monitors 111.
[0197] Thus, in one example, a generic-vehicle-function monitor 111 that monitors 210 vehicle braking systems, generates diagnostic data that indicates a possible mechanical failure in a specific vehicle’ s brake.
[0198] However, in the example, the technical issue detector 112 is also in receipt of maintenance data that indicates that a software version update may be needed in vehicles of a same model as the specific vehicle’s model. As a result, the technical issue detector 112 detects a technical issue of software update, and accordingly, the control operation initiator 113 initiates an OTA software update of the specific vehicle.
[0199] Thus, optionally, the detection 220 of the technical issue is based on logic implemented by a specific one of the generic-vehicle-function monitors 111, and on integration at the level of data received 210 from only one of the vehicle-side agents 151 that are in communication with the specific generic- vehicle-function monitor 111, which agent is installed in a specific one of the vehicles.
[0200] Optionally, the detection 220 of the technical issue is rather based on logic implemented by a specific one of the generic-vehicle-function monitors 111, and on integration at the level of data received 210 from two or more of the vehicle- side agents 151 that are in communication with the specific generic- vehicle-function monitor 111, which two or more agents 151 are installed in a same one of the vehicles.
[0201] Thus, in one example, a generic-vehicle-function monitor 111 that monitors Suspension and Steering Systems, receives 210 sensor data that indicates occurrences of steering wheel vibrations, from a first vehicle-side agent 151 installed in a specific one of the vehicles.
[0202] The received 210 sensor data of the example could indicate a mechanical problem with the specific vehicle’s steering wheel and make the system 1000 schedule a steering shop appointment for the specific vehicle. That is to say that, in the example, the generic-vehicle- function monitor 111 could generate diagnostic data that is based on data that is at a level of the single vehicle-agent 151.
[0203] However, in the example, the generic -vehicle- function monitor 111 that monitors 210 Suspension and Steering Systems further receives 210 tire pressure measurement data from a second vehicle-side agent 151 installed in the specific vehicle. The received 210 pressure measurement data is indicative of an accelerated pressure loss by one of the vehicle’s tires. The accelerated pressure loss may be the reason for the steering wheel vibrations.
[0204] Accordingly, the generic-vehicle-function monitor 111 generates diagnostic data that indicates a possible technical problem with one of the vehicle’s tires rather than a possible technical problem with the vehicle’ s steering wheel itself.
[0205] That is to say that, in the example, the generic-vehicle-function monitor 111 generates diagnostic data that is based on data that is at a higher level - namely, that of integrating sensor data that originates from two of the vehicle- agents 115.
[0206] Optionally, the integration of the sensor data is carried out by the generic-vehicle- function monitor 111, using the neural network, as describedin further detail hereinabove.
[0207] Accordingly, in the example, there is detected 220 (say by system 1000’ s technical issue detector 112), a tire problem and accordingly, there is scheduled (say by the system 1000’ s control operation initiator 113), a tire shop appointment for the vehicle, as described in further detail hereinabove.
[0208] Optionally, the detection 220 of the technical issue is based on integration of diagnostic data generated by two or more of the generic-vehicle-function monitors 111, and is thus made at a hierarchical level that is even higher than that of the specific one generic-vehiclefunction monitor 111. The integration may thus be made at a level of two or more of the predefined generic vehicle functions, as described in further detail hereinabove.
[0209] Thus, in one example, a first one of the generic-vehicle-function monitors 111, which monitor 111 monitors Suspension and Steering Systems, receives 210 sensor data that indicates occurrences of steering wheel vibrations from a first vehicle-side agent 151 installed in one of the vehicles, as well as tire pressure measurement data that does not indicate any technical problem with the vehicle’s tires, from a second vehicle-side agent 151 installed in the vehicle.
[0210] Accordingly, the generic-vehicle-function monitor 111 could generate diagnostic data that indicates a possible technical problem with the vehicle’s steering wheel. Such a problem may be caused, for example, by a damaged tie rod and / or by ball joints that have become worn.
[0211] As a result, the system 1000 (say system’s technical issue detector 112) could detect 220 a technical problem with the steering wheel, which technical problem would make the system 1000 (say the system’s control operation initiator 113) schedule 230 a steering shop appointment for the vehicle, at a service center authorized by the vehicle manufacturer.
[0212] However, in the example, a generic-vehicle-function monitor 111 that monitors 210 Software Systems of the vehicles, receives 210 data from a vehicle-side agent 115 installed in the vehicle. The received 210 data indicates the presence of a computer virus (or other malware) known to cause steering issues. The generic-vehicle-function monitor 111 that monitors 210 Software Systems generates diagnostic data that indicates that a potential computer virus issue may cause the vibrations.
[0213] Accordingly, the system 1000 detects 220 a technical issue with the vehicle’s software rather than a technical issue with the vehicle’s steering wheel itself, and accordingly, triggers 230 an over-the-air (OTA) software update of one of the vehicle’s system, as described in further detail hereinabove.
[0214] Thus, potentially, with the exemplary embodiments, the hierarchical mapping between the generic-vehicle-function monitors 111 and the vehicle-side agents 151, allows to diagnose more accurately a technical issue, based on data integration at different levels.
[0215] That is to say that the integration may be made at the level of a single vehicle-agent 151, at the level of a predefined vehicle generic function (and thus a single one of the monitors 111), and / or at a level that involves integration between diagnostic data related to two or more of the predefined generic functions.
[0216] Optionally, the diagnosis may also be based on integration of data that originates from two or more of the vehicles (say on diagnostic data generated based on sensor data that originates from two or more of the vehicles), from other sources (say from recall data provided by a vehicle manufacturer and input to the system 1000), etc., as described in further detail hereinbelow.
[0217] Thus, in a first example, a first generic-vehicle-function monitor 111 generates diagnostic data that indicates computer virus presence in two of the vehicles. In the example, a second generic-vehicle-function monitor 111 generates diagnostic data that indicates a possible mechanical brake failure in a third one of the vehicles.
[0218] Accordingly, in the example, there is determined 220 a technical issue with the third vehicle’s software rather than with the third vehicle’s brakes themselves, as described in further detail hereinbelow.
[0219] Reference is now made to Fig. 3, which is a simplified block diagram schematically illustrating an exemplary non-transitory computer readable medium having stored thereon, instructions for causing a processing circuitry to perform a process of vehicle monitoring and maintenance, according to an exemplary embodiment of the present invention.
[0220] According to an exemplary embodiment of the present invention, there is provided a non- transitory computer readable medium 3000.
[0221] The medium 3000 may include, but is not limited to, a Micro SD (Secure Digital) Card, a CD-ROM, a USB-Memory, a Hard Disk Drive (HDD), a Solid State Drive (SSD), a computer’s ROM chip, an SRAM (Static Random Access Memory), a DRAM (Dynamic Random Access Memory) or other RAM (Random Access Memory) component, a cache memory component of a computer processor, etc., or any combination thereof, as known in the art.
[0222] Optionally, the computer readable medium 3000 is a part of a system used to implement the exemplary method illustrated in Fig. 2, say of system 1000, as described in further detail hereinabove. Optionally, the instructions are computer-executable instructions coded and stored on the medium 3000 by a programmer. The instructions may be executed on one or more computers, say by one or more processors of system 1000, as described in further detail hereinabove.
[0223] When executed, the instructions cause a processing circuitry, such as system 1000’ s, to perform a process of vehicle monitoring and maintenance, by implementing the exemplary method, as describedin further detail hereinabove and illustrated using Fig. 2.
[0224] Thus, the instructions include, but are not limited to instructions that when executed, implement the exemplary method’s step of monitoring 310, as described in further detail hereinabove.
[0225] In the step of monitoring 310, two or more vehicles are monitored 310, say by the generic-vehicle-function monitors 111 of system 1000, as described in further detail hereinabove.
[0226] According to an exemplary embodiment, each generic-vehicle-function monitor 111 of a system (say system 1000) that implements the exemplary method, monitors 310 a respective, specific one of a number of generic vehicle functions, in the two or more vehicles, as described in further detail hereinabove.
[0227] Optionally, the instructions further include a preliminary step in which each generic vehicle function is defined in advance of the monitoring, say by a user or programmer of the system 1000, as described in further detail hereinabove.
[0228] Each one of the generic-vehicle-function monitors 111 receives 310 monitoring data of the respective, specific one of the predefined generic vehicle functions, by communicating with the monitored vehicles, for receiving 310 the data from vehicle-side agents 151 associated with vehicle parts 161 that are used for the respective generic vehicle function, as described in further detail hereinabove.
[0229] Thus, each one of the generic-vehicle-function monitors 111 is mapped to vehicle side agents 151 installed in the two or more vehicles. Each vehicle-side agent 151 is installed in one of the vehicles and is associated with vehicle parts 161 that are used for the specific predefined generic vehicle function, on that vehicle, as described in further detail hereinabove. Thus, each one of the monitors 111 monitors the specific predefined generic vehicle function as implemented on all monitored 310 vehicles, as described in further detail hereinabove.
[0230] Optionally, the mapping of the monitors 111 to the vehicle- side agents 151 is exhaustive, such that in that mapping, each vehicle part 161 that needs to be monitored 210 is associated with at least one of the vehicle- side agents 151, as described in further detail hereinabove.
[0231] Optionally, each vehicle’s part 161 that needs to be monitored 310 is associated with a specific one of the vehicle-side agents 151 installed in the vehicle, as described in further detail hereinabove.
[0232] The vehicle-side agent may 151 be implemented as software, hardware, electric circuitry, sensors, computer processors, computer memories, etc., or any combination thereof, as described in further detail hereinabove.
[0233] The vehicle-side agent 151 may be associated with one or more hardware parts of the vehicle, with one or more software parts of the vehicle, with one or more mechanical parts of the vehicle, etc., or any combination thereof, as describedin further detail hereinabove.
[0234] Optionally, each one of the generic-vehicle-function monitors 111 includes one or more Electronic Control Unit (ECU) specific monitors, and each ECU specific monitor 111 is configured to receive and process ECU data that is monitoring data that pertains to a respective predefined type of Electronic Control Units, and to communicate with the monitored 310 vehicles, for receiving the ECU data from Electronic Control Units of the predefined type.
[0235] The instructions further include, but are not limited to instructions that when executed, implement the exemplary method’s step of detecting 320 the technical issue, as described in further detail hereinabove.
[0236] Optionally, in an exemplary embodiment of the present invention, the mapping between the generic-vehicle-function monitors 111, the generic vehicle- side agents 151, and the vehicle parts 161, serves as a basis for a hierarchically based detection 320 of a technical problem that occurs in one of the monitored 310 vehicles, as described in further detail hereinabove.
[0237] Thus, for example, a detection 320 based on sensor data received 310 by one of the monitors 111 - i.e. at the level of one of the predefined generic vehicle functions - may change when weighted against sensor data received 310 by another one of the monitors 111. The detection 320 may thus turn out differently, at the higher level - namely, the level that involves two or more of the predefined generic vehicle functions, as described in further detail hereinabove.
[0238] Optionally, based on the monitoring data received 310 by at least one of the generic- vehicle-function monitors 111, the generic- vehicle-function monitor 111 generates diagnostic data, as described in further detail hereinabove.
[0239] Optionally, the diagnostic data is generated based one or more predefined rules, Artificial Intelligence (say a Neural Network), etc., or any combination thereof, as described in further detail hereinabove.
[0240] The instructions further include, but are not limited to instructions that when executed, implement the exemplary method’s step of initiating 330 a control operation, based on the detected 320 technical issue, as described in further detail hereinabove.
[0241] The initiated 330 control operation may include, but is not limited to: an over-the-air (OTA) software update of one of the vehicle’s systems, a control operation the limits the vehicle speed, a preconditioning of the vehicle’s battery, a tuning of the vehicle’s active suspension system, an automatic scheduling of a service appointment for the vehicle, the sending of a message that guides the vehicle driver on how to try to fix the problem by himself, etc., as described in further detail hereinabove.
[0242] The instructions further may further include, but are not limited to instructions that when executed, implement the one or more other steps of the exemplary method, as described in further detail hereinabove.
[0243] Reference is now made to Fig. 4, which is a simplified block diagram schematically illustrating an exemplary implementation scenario of a system for vehicle monitoring and maintenance, according to an exemplary embodiment of the present invention.
[0244] In one exemplary implementation scenario, system 1000 for vehicle monitoring and maintenance, is implemented using electric circuits, computer software, computer hardware, etc., or any combination thereof, as describedin further detail hereinabove.
[0245] In the exemplary scenario, the system 1000 is implemented on a computing device of a party (say a company, a family, etc.) that operates a fleet of vehicles, on a computer server of a fleet management company that oversees the fleets of two or more companies, etc., as described in further detail hereinabove.
[0246] The computing device may be a single computer, a group of computers in communication over a network, a computing circuitry that includes one or more electric circuits, a computer processor, a computer memory, etc., or any combination thereof, as described in further detail hereinabove.
[0247] In the exemplary implementation scenario, the system 1000 includes one or more electric circuits, say a circuit that includes one or more computer processor(s) 101 and at least one computer memory 102, say one or more circuits of a computer or circuits of two or more computers, as described in further detail hereinabove.
[0248] The at least one computer memory 102 stores instructions that are executable by the at least one computer processor 101, other parts of the circuitry, or both, for causing the system 1000 to perform the steps of the exemplary method described in further detail and illustrated using Fig. 2 hereinabove.
[0249] In one exemplary embodiment, the computer processor 101 is programmed to perform the instructions, and thereby to implement one or more additional parts of the system 1000, say parts 111-113, as described in further detail hereinabove.
[0250] Optionally, one or more of the parts 111-113 is rather implemented as one or more electric circuits (say a logic circuit), or rather as combination of one or more electric circuits and the computer processor 101.
[0251] Each one of parts 111-113 may thus be implemented as software - say by programming the computer processor(s) 101 to execute at least a part of the exemplary method described in further detail hereinbelow, as hardware - say as one or more hardware part of the electric circuits) that execute(s) at least a part of the exemplary method, etc., or any combination thereof.
[0252] In the exemplary implementation scenario, the system 1000 includes one or more generic-vehicle-function monitors 111 that monitor two or more vehicles, as described in further detail hereinabove. Each generic-vehicle-function monitor 111 monitors a respective, specific one of a number of generic vehicle functions, in the two or more vehicles 421, as described in further detail hereinbelow.
[0253] In one example, the generic vehicle functions include the functions of: Engine System, Transmission and Steering, Suspension and Brakes, Body and Chassis, Electric Systems, and Software, as describedin further detail hereinabove.
[0254] In a second example, the generic vehicle functions include the functions of: Engine System, Fuel System, Ignition System, Exhaust System, Drive Train, Suspension and Steering Systems, Braking System, Frame and Body, as describedin further detail hereinabove.
[0255] Each one of the generic-vehicle-function monitors 111 receives monitoring data of the respective, specific one of the predefined generic vehicle functions, by communicating with the monitored vehicles 421, for receiving the data from vehicle-side agents 151 associated with vehicle parts 161 that are used for the respective generic vehicle function, as described in further detail hereinbelow.
[0256] Thus, each one of the generic-vehicle-function monitors 111 is mapped to vehicle side agents 151 installed in the two or more vehicles 421. Each vehicle-side agent 151 is installed in one of the vehicles 421 and is associated with vehicle parts 161 that are used for the specific predefined generic vehicle function, on that vehicle 421, as described in further detail hereinabove.
[0257] The vehicle-side agent may 151 be implemented as software, hardware, electric circuitry, sensors, computer processors, computer memories, etc., or any combination thereof, as described in further detail hereinabove.
[0258] The vehicle-side agent 151 may be associated with one or more hardware parts 161 of the vehicle 421, with one or more software parts 161 of the vehicle 421, with one or more mechanical parts 161 of the vehicle 421, etc., or any combination thereof, as described in further detail hereinabove.
[0259] Thus, in one example, a vehicle-side agent 151 is in communication with one or more sensors 161 that measure different parameters related to vehicle engine activity, say temperatures of an engine of a vehicle 421, vibration of the engine, noise of the engine, the engine’s oil pressure, etc., as known in the art. In a second example, a vehicle- side agent 151 is in communication with one or more sensors 161 that measure different parameters related to software systems of a vehicle, say with one or more computer applications that extract data from logs of software components such as an anti-virus application or an application installed on one of the vehicle’s Electric Control Units (say an error log), say using APIs (Application Programming Interfaces), etc., as known in the art.
[0260] Indeed, vehicle maintenance today is a complex matter. In addition to the traditional mechanical fixes and regular maintenance at the auto repair shop there is also software maintenance - i.e. fixes and upgrades applied by OEM (Original Equipment Manufacturer) initiated software updates. With prior art technologies, the monitoring of the hardware status usually falls under the responsibility of the vehicle owner, including performing the periodic required maintenance or taking care of mechanical faults that occur from time to time.
[0261] With prior art technologies, these are often notified to the driver by the vehicle via messages or indicators in the vehicle. But the monitoring of the software status and the performing of software updates for vehicle electronic components are under the responsibility of the OEM.
[0262] With prior art systems and methods, a vehicle or fleet owner himself would need to coordinate mechanical fixes with third party service providers (say OEM service centers). Similarly, for performing a software update, the OEM would need to coordinate with the vehicle owner / fleet manager a time for the update when the vehicle is not in use and is fully charged.
[0263] In the exemplary implementation scenario, a central system 1000 would be responsible for all aspects of the maintenance of the vehicle - i.e. for both hardware / mechanics and software, thus shifting responsibility from the OEM and / or driver to the system 1000.
[0264] In the exemplary scenario, in a very broad simplistic manner, the system 1000 may monitor both mechanics (hardware) and software statuses, detect issues (say by system 1000’ s technical issue detector 112), suggest alternatives for fixes, and coordinate the time and place with the vehicle owner and fix provider.
[0265] Optionally, the detection of technical issues and suggested fixes or other action initiated by the a control operation initiator 113, is done based on diagnostic data generated by the generic-vehicle-function monitors 111, as described in further detail hereinabove. Optionally, in the exemplary implementation scenario, the control operation initiator 113 and the technical issue detector 112 and / or other parts 111-113 of the system 1000, are implemented together in a single subsystem 410 of system 1000.
[0266] The detection, suggested fixes, or other action(s) initiated by system 1000’ s control operation initiator 113 may additionally or alternatively, be based on data available from other sources 431 - say from a computer of the OEM 431, from a computer of a dealership 431, from a computer of a repair shop 431, from a computer 431 (say smart cellular phone or laptop computer) of the driver, from a computer of a vehicle testing service provider 431, etc., as described in further detail hereinabove.
[0267] In the implementation scenario, a mechanical fix may thus be decided or recommended based on the vehicle’s 421 software status such as the software current version, last update, known vulnerabilities of the software, etc.
[0268] Optionally, a software update or new software feature may be decided on, postponed, or rejected by the system 1000 based on possible / suggested addition to mechanic al / hardw are parts of the vehicle.
[0269] Thus, in one example, an improvement (whether mechanical or software-based) that renders the vehicle more sportive is not applied if the technical issue detector 112 detects a wear of vehicle tires.
[0270] In the example, the system 1000 uses the vehicle's 421 sensors, to monitor the vehicle’s 421 current conditions, say the vehicle’s oil level, tire pressure, battery status, lights, brakes, etc., as describedin further detail hereinabove.
[0271] With prior art systems and methods, a fault in one of the above, may be detected by the vehicle's sensors and indicated to the driver. For example, there may be an indication on a need to change the lights. However, a day or two later, an indication to add water, change filter etc, may be added.
[0272] Optionally, the system 1000 optimizes maintenance, say by optimizing service appointment scheduling needed, to fix the faults, as described in further detail hereinabove.
[0273] Thus, in one example, when one of the indicators is turned on, the system 1000 (say the monitors 111) checks the status of other mechanical parts of the vehicle and the technical issue detector 112 detects one or more other technical issues, as described in further detail hereinabove.
[0274] As a result, the control operation initiator 113 coordinates one visit to the garage for taking care of all technical issues detected by technical issue detector 112 (say both the replacement of lights and an oil / filter change), as described in further detail hereinabove.
[0275] Optionally, the system 1000 (say the technical issue detector 112 and / or the control operation initiator 113) further consults with one or more computers 431 of one or more service providers, say for receiving information (say on available appointment time slots and / or location (say GPS data) of the service provider), as describedin further detail hereinabove.
[0276] Then, based on the received information, the control operation initiator 113 may offer a number of options - i.e. a number of alternative service locations and / or time slots, to the vehicle’s driver.
[0277] Once one of the offered options is approved by the driver, the control operation initiator 113 contacts the garage to make an appointment. Optionally, shortly (say a few hours) before the time of the appointment, the control operation initiator 113 further directs the vehicle 421 to the garage, say using the vehicle’s 421 navigational system and / or using an autonomous driving system if installed in the vehicle 421, as known in the art.
[0278] Optionally, the technical issue detector 112 and / or the control operation initiator 113 and / or one or more of the generic-vehicle-function monitors 111 may use software status information.
[0279] For example, the system 1000 may monitor and acquire data on software components in the car - both data available in the car and additional information received from a computer of the OEM 431, say planned update campaigns aimed at specific upgrades / new features, recalls, former updates that failed, etc. The system may use the acquired data for detecting the technical issue and initiating the control operation, as described in further detail hereinabove.
[0280] In one example, one or more of the monitors 111 of the system 1000 further monitor performance of software installed on the vehicle, say resource usage, error messages and notifications, etc., as describedin further detail hereinabove.
[0281] In the example, based on the monitored software performance, the technical issue detector 112 detects a technical issue with the vehicle’s software, and accordingly, the control operation initiator 113 initiate the performing of a specific software update or rather, blocks application of another software update.
[0282] Optionally, in the example, the technical issue detector 112 may also make recommends on the order of maintenance actions such as first change some brake related parts and only afterwards update software of the brake ECU, say according to information received from the OEM. Accordingly, the control operation initiator 113 may schedule messages that guide the vehicle driver accordingly.
[0283] In a second example, based on diagnostic data generated by one or more of the monitors 111, the technical issue detector 112 detects one or more faults that occur following the software update (say an issue with the vehicle wipers that may occur due the software update, as per information that the technical issue detector 112 received from the OEM, but also due to a mechanical failure).
[0284] Accordingly, the control operation initiator 113 initiates either a rolling back of the vehicle software to a previous software version or a scheduling of a vehicle appointment to a mechanical wiper fix.
[0285] The system 1000 may manage one or more vehicle(s) for a vehicle owner, a group of more than one vehicle for the group’s owner / manager, etc. Thus, a fleet managed by the system 1000, may include a small number of vehicles (say one, two or three family cars) or a larger fleet of vehicles, say of a corporation, a car rental company, or all cars sold by a specific OEM.
[0286] For the larger fleet, the implementation scenario may also require a more sophisticated User Interface (UI), say a Graphical User Interface (GUI) that includes a dashboard, for facilitating the owner's monitoring of statuses of the owner’s vehicles and approving of actions recommended by the control operation initiator 113.
[0287] Optionally, the system 1000 may enable further optimization by scheduling various vehicle maintenance actions (whether related to software or hardware) according to available resources and according to demands.
[0288] Thus, for example, with the system 1000, a car rental company’s hardware maintenance of vehicles of different models, may be prioritized according to the vehicle upcoming lease times and / or brand, say to have the vehicles serviced together. Moreover, optionally, a large fleet may be managed the system 1000, using data received from many vehicles for predicting faults and plan preventive actions.
[0289] In one example, one or more of the monitors 111 often generates diagnostic information that indicates, for different vehicles of a same model, that a tire replacement is needed earlier than indicated by the vehicle’s manufacturer. For example, the vehicle’s odometer may show a traveled distance lower than a traveled distance threshold indicated by the vehicle’s OEM.
[0290] Based on the diagnostic information generated by the one or more monitors 111, the control operation initiator 113 may suggest and / or schedule such a tire replacement prior to the occurring of the fault in other vehicles of that model.
[0291] Thus, a system 1000 according to an exemplary embodiment, may be implemented holistically, such that both mechanical and software-based maintenance aspects of vehicle maintenance activities are taken in consideration, and by integrating monitoring data that pertains to different vehicles 421 and / or different levels used.
[0292] Further, potentially, the system 1000 may have a full picture of the parts of all vehicles monitored by the monitors 111, as described in further detail hereinabove.
[0293] As seen in Fig. 4, optionally, the system 1000 monitors various parts 161 of the vehicles, using the system 1000’ s monitors 111 that are implemented as a cloud-off board part.
[0294] Each one of the monitors 111 interacts with one or more corresponding vehicle agents 151 that are implemented as on-board clients installed in the different ones of the fleet vehicles 421, and that are associated with vehicle parts that implement the specific generic vehicle function monitored by the monitor 111, as described in further detail hereinabove.
[0295] Optionally, the vehicle agents 151 get data from and / or are implemented on corresponding ECUs and / or from one or more sensors installed in vehicle, as described in further detail hereinabove.
[0296] Optionally, at least one of the monitors 111 is in charge of software, say ECU software, as describedin further detail hereinabove.
[0297] Optionally, at least one the monitors 111 further receives information from a computer 431 of an external party, and uses the information for detecting the issue, as described in further detail hereinabove. The information may include, but is not limited to, for example, driving matrices of the driver (say an average speed, a number of flat tires, etc.). The detection of issues by the system 1000 may be based on sensor data received by one or more of the monitors 111, on OEM information (say information that indicate that low tire low pressure may cause driving wheel vibration (say vibrations of a particular pattern), etc., as described in further detail hereinabove.
[0298] It is expected that during the life of this patent many relevant devices and systems will be developed and the scope of the terms herein, particularly of the terms “Computer”, “Vehicle”, “Computer Processor”, “Memory”, “Micro SD”, “CD-ROM”, “USB -Memory”, “HDD”, “SSD”, “ROM”, “DRAM”, “DRAM”, “SRAM”, “OTA” and “ECU’, is intended to include all such new technologies a priori.
[0299] It is appreciated that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination.
[0300] Although the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims.
[0301] All publications, patents and patent applications mentioned in this specification are herein incorporated in their entirety by reference into the specification, to the same extent as if each individual publication, patent or patent application was specifically and individually indicated to be incorporated herein by reference. In addition, citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the present invention.
Claims
WHAT IS CLAIMED IS:
1. A method of central vehicle monitoring and maintenance, the method comprising using a server computer, for: monitoring a plurality of vehicles using a plurality of generic-vehicle-function monitors, each generic-vehicle-function monitor configured to receive monitoring data of a respective one of a plurality of predefined generic vehicle functions, and to communicate with the monitored vehicles, for receiving the monitoring data from vehicle- side agents associated with vehicle parts used for the generic vehicle function; detecting a technical issue in at least one of the vehicles based on the monitoring data received by at least one of the generic- vehicle-function monitors; and initiating a control operation based on said detecting.
2. The method of claim 1, wherein said detecting is based on the monitoring data received by at least two of the generic- vehicle-function monitors.
3. The method of claim 1, wherein the control operation is an over-the-air software update of the at least one vehicle having the detected technical issue.
4. The method of claim 1, wherein the control operation is an over-the-air software update of at least one of the monitored vehicles, based on susceptibility of the at least one monitored vehicle subject to the update, to the technical issue.
5. The method of claim 1, wherein at least one of the generic-vehicle-function monitors is further configured to receive and process monitoring data of a software-based generic vehicle function.
6. The method of claim 1, wherein each one of the generic-vehicle-function monitors comprises at least one Electronic Control Unit (ECU) specific monitor, and each one of said at least one ECU specific monitor is configured to receive and process ECU data pertaining to a respective predefined type of Electronic Control Units and to communicate with the monitored vehicles, for receiving the ECU data from Electronic Control Units of the predefined type.
7. The method of claim 1, wherein said detecting is based on a database of predefined rules.
8. The method of claim 1, wherein said detecting is carried out using a neural network trained to recognize the technical issue based on the monitoring data.
9. A system for central vehicle monitoring and maintenance, the system implemented on a server computer and comprising: a processing circuitry; and a memory in communication with said processing circuitry, the memory containing instructions that, when executed by the processing circuitry, cause the system to: monitor a plurality of vehicles using a plurality of generic-vehicle-function monitors, each generic-vehicle-function monitor configured to receive monitoring data of a respective one of a plurality of predefined generic vehicle functions, and to communicate with the monitored vehicles, for receiving the monitoring data from vehicle- side agents associated with vehicle parts used for the generic vehicle function; detect a technical issue in at least one of the vehicles based on the received monitoring data; and initiate a control operation based on said detecting.
10. The system of claim 9, wherein the control operation is an over-the-air software update of the at least one vehicle having the detected technical issue.
11. The system of claim 9, wherein the control operation is an over-the-air software update of at least one of the monitored vehicles, based on susceptibility of the at least one monitored vehicle subject to the update, to the technical issue.
12. The system of claim 9, wherein at least one of the generic-vehicle-function monitors is further configured to receive and process monitoring data of a software-based generic vehicle function.
13. The system of claim 9, wherein each one of the generic- vehicle-function monitors comprises at least one Electronic Control Unit (ECU) specific monitor, and each one of said at least one ECU specific monitor is configured to receive and process ECU data pertaining to arespective predefined type of Electronic Control Units and to communicate with the monitored vehicles, for receiving the ECU data from Electronic Control Units of the predefined type.
14. The system of claim 9, wherein when executed by the processing circuitry, the instructions further cause the system to detect the technical issue based on a database of predefined rules.
15. The system of claim 9, wherein when executed by the processing circuitry, the instructions further cause the system to detect the technical issue, using a neural network trained to recognize the technical issue based on the monitoring data.
16. A non- transitory computer readable medium having stored thereon instructions for causing a processing circuitry of a server computer to perform a process of central vehicle monitoring and maintenance, the process comprising: monitoring a plurality of vehicles using a plurality of generic vehicle-function monitors, each generic-vehicle-function monitor configured to receive monitoring data of a respective one of a plurality of predefined generic vehicle functions, and to communicate with the monitored vehicles, for receiving the monitoring data from vehicle-side agents associated with vehicle parts used for the generic vehicle function; detecting a technical issue in at least one of the vehicles based on the received the monitoring data; and initiating a control operation based on said detecting.