Abstract:
A system for managing a vehicle component includes a controller executing a task, at least one of a receiver and a transmitter for transmitting data to/from an off-board communication unit, and a memory. The memory temporarily stores at least a portion of the data received from or transmitted to the communication unit and subsequently deletes at least some of the data the controller has completed executing the task and/or communication with the external communication unit is complete. A method for managing a component of a vehicle using temporary storage in on-board memory is also disclosed.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims foreign priority benefits under 35 U.S.C. §119(a)-(d) to EP 08021974.4 filed Dec. 18, 2008, which is hereby incorporated by reference in its entirety. 
       BACKGROUND 
       [0002]    1. Technical Field 
         [0003]    The present invention concerns a system and method for communicating with off-board monitoring equipment to manage the operation of components of a vehicle. 
         [0004]    2. Background Art 
         [0005]    An electronic control unit (ECU) (also known as an electronic control module) is an embedded system that controls one or more of the electrical systems or subsystems in a vehicle. ECUs can for example be arranged to monitor a vehicle&#39;s engine, transmission, traction, anti-lock braking system, airbags, doors or seats. An ECU can be arranged to gather data, such as a vehicle&#39;s coolant temperature or the amount of a particular gas in the vehicle&#39;s exhaust, from a plurality of different sensors and to perform millions of calculations each second using the data it acquires, including looking up values in tables and solving equations, in order to determine optimum operating conditions to ensure the lowest emissions and best mileage for example. 
         [0006]    An ECU can be arranged to store information, such as information concerning faults with a specific component/system. This information can be retrieved from the ECU, by means of connecting an external tester to the on-board diagnostics (OBD) contacts in a vehicle when the vehicle is taken to be repaired/serviced. This can make it easier for a mechanic to diagnose problems with the vehicle, especially intermittent problems, which have a tendency to disappear as soon as the vehicle is taken to be repaired/serviced. 
         [0007]    A modern passenger car today can however contain up to one hundred ECUs and a single ECU can contain multiple micro-processors. As the number and complexity of ECU&#39;s in vehicles increase, the vehicles&#39; electrical systems will require more processing power and more computer data storage space in order to execute tasks and store data. 
         [0008]    U.S. Pat. No. 7,184,866 discloses a system comprising a vehicle and an off-board computer system. The vehicle includes an on-board computer system that is capable of performing diagnostic tests to assess the vehicle&#39;s operational readiness and diagnose vehicle malfunctions. The on-board computer system is arranged to store information that it collects from a plurality of input devices and is arranged and to transmit at least some of the stored information by way of a wireless radio-frequency communication link to the off-board computer system. Such a system will increase a vehicle&#39;s processing power requirements and computer data storage space requirements, since the on-board computer system will not only need to store information from a plurality of input devices, but also transmit at least part of the stored information to an off-board computer. 
       SUMMARY 
       [0009]    An object of the invention is to overcome or ameliorate at least one of the disadvantages of the prior art, or to provide a useful alternative. A further object of the present invention is to provide an improved system for managing at least one component of a vehicle in which it is mounted. 
         [0010]    The expression “managing at least one component of a vehicle” as used in this document is intended to mean to monitor, keep track of, and/or check/test a vehicle component to ensure that it is functioning correctly, perform programming, such as ECU programming, and/or to collect data concerning the status/performance of the vehicle or one or more vehicle components. It should be noted that “a component of a vehicle” as used in this document is intended to mean a hardware or a software component of a vehicle. 
         [0011]    At least one of these objects is achieved by a device arranged to manage at least one component of a vehicle The device comprises a controller that is arranged to execute at least one of the following tasks: collect data, download software or script, carry out a measurement, and perform a test, programming and/or diagnostics on at least one component of the vehicle. The device optionally comprises a receiver that is arranged to receive incoming data associated with at least one of the tasks from an external communication unit that is remote to the vehicle, such as an off-board computer or a system comprising components such as a database, a queue handler, a user portal and/or a user interface etc. Alternatively or additionally to the receiver the device comprises a transmitter that is arranged to transmit outgoing data to an external communication unit. The device also comprises a memory that is arranged to only temporarily store any incoming and/or outgoing data associated with at least one of the tasks so as to minimize the amount of data storage capacity required in the vehicle. 
         [0012]    The expression “only temporarily store the incoming and/or outgoing data associated with at least one of the tasks” as used in this document is intended to mean that the device comprises means to delete outgoing data associated with at least one of the tasks executed by its controller from its memory substantially as soon as they have been transmitted to an external communication unit or, optionally, on receipt of confirmation that the outgoing data have been received by an external communication unit. Additionally, or alternatively the device comprises means to delete incoming data associated with at least one of the tasks from its memory substantially as soon as its controller has executed the task(s) and/or as soon as the controller has been sent a command to abort a task. Data are not therefore statically/permanently stored in the device itself. They are only temporarily stored in the device while they are needed to execute a particular task until the task has been completed and any data/commands generated during the execution of the task have been sent. 
         [0013]    Such a system can be used to perform diagnostics, measurements and to program itself to execute certain tasks. Tasks may be carried out on the system itself or on an ECU or a component/function connected via the vehicle&#39;s busses. Tests/checks and programming may consequently be carried out on different vehicles/vehicle components without a user having to take a vehicle to a workshop. Instead, tests/checks are carried out while the vehicle is in operation or parked in a user&#39;s garage for example. It should be noted that diagnostics measurements and programming may be arranged to be performed only after a user has given his/her approval and optionally only when a vehicle is not being used and is locked and its alarm is turned on. As soon as the results of the tests have been analysed, vehicle components that will need to be replaced can be ordered in advance, thus limiting the amount of time a vehicle is out of service. Furthermore, since all data is stored and analyzed remotely from a vehicle, the utilization of a system according to the present invention can decrease the processing power and computer data storage space required to support monitoring of the vehicle without compromising the complexity or efficiency of the vehicle&#39;s monitoring systems. A system according to the present invention may also be used to detect trends in, and defects and faults from, the data being sent to an external communication unit from a plurality of vehicles. 
         [0014]    It should be noted that a device according to the present invention may solely consist of software components. Software components which constitute the device may be provided in an existing ECU in a vehicle. The device may however comprise both software and hardware components. 
         [0015]    Furthermore, the device according to the present invention itself need not necessarily comprise a receiver, transmitter or a memory. A receiver, transmitter or memory may be provided elsewhere in the vehicle and merely be arranged to communicate with the other components of the device. The device according to the present invention may at least partly utilize at least part of the memory of one or more ECUs in the vehicle for example. 
         [0016]    According to an embodiment of the invention the controller is arranged to execute a task only if/when a particular condition, such as a particular vehicle operating condition, such as if/when the vehicle&#39;s handbrake is applied, or a date or time, is met. A controller may be arranged to prioritise a certain task (if the task is defined as being urgent in the commands received from an external communication unit for example). The controller may be arranged to arrange tasks in a queue for execution in order of priority. Each task may contain an “execute by . . . ” indication such as a time and/or date by which the task should be initiated or completed, and/or an indication that specifies that a certain condition should be met before the a particular task is executed. The device may be arranged to inform an external communication unit that a task has not been completed/initiated by a certain time/date or when a particular condition was met and optionally to delete the task from its memory without executing the task. 
         [0017]    According to a further embodiment of the invention the controller is arranged to execute a task only on receipt of a command to do so from the external communication unit and/or from a user of the vehicle. The device may for example comprise input means such as a keypad, touch screen or microphone to allow a user to provide such a command. An input means may also be used to allow a user to request/approve that certain data/commands are downloaded from an external communication unit or to send data/commands to the external communication unit. A user of the external communication unit may for example request that a particular test is carried out (optionally on a particular date and/or a particular time), or that a particular component is ordered. 
         [0018]    According to an embodiment of the invention the system is arranged to send a message to the user of a vehicle to inform him/her of when his/her vehicle needs to be brought in for service and/or to inform him/her that his/her vehicle or a vehicle component thereof is the subject of a software update/ECU programming and/or to ask the user to approve that the system performs a programming or diagnostics task and/or inform the user that the system is performing a programming or diagnostics task. 
         [0019]    The present invention also concerns a vehicle, such as a car, truck, heavy goods vehicle or bus, which comprises a device according to any of the embodiments of the invention. The device may form an integral part of the vehicle or may be removably mounted therein. 
         [0020]    The present invention further concerns a system for monitoring and managing at least one component of at least one vehicle, which comprises at least one device according to any of the embodiments of the invention and an external communication unit that is arranged to send data associated with at least one of the tasks that are to be executed by the system&#39;s controller to the at least one device/vehicle. Additionally or alternatively, the system is arranged to receive data associated with at least one of the tasks from the at least one device/vehicle. Such a system may be used to test and/or program one or more parts of each of a plurality of vehicles, such a selected population of passenger cars, substantially simultaneously. 
         [0021]    According to an embodiment of the invention the device is arranged to interrupt its internal communication, via the vehicle&#39;s busses for example, i.e. to be overridden, if an external tester is connected (wirelessly or in a wired manner) to the vehicle, via the vehicle&#39;s on-board diagnostics (OBD) contacts for example. Alternatively, the device may be arranged to continue to function while an external tester is connected to the on-board diagnostics (OBD) contacts in a vehicle and is carrying out tasks. The external tester may furthermore be arranged to program the device. 
         [0022]    The present invention also concerns a method for monitoring at least one component of at least one vehicle. The method comprises the steps of: executing at least one of the following tasks: collecting data, downloading software, carrying out a measurement, performing a test and/or diagnostics on at least one component of the vehicle, and only temporarily storing any incoming and/or outgoing data associated with execution of the task(s) in the device&#39;s memory. The method therefore comprises the step of deleting incoming data associated with at least one of the tasks from the memory substantially as soon as a task has been executed and/or substantially as soon as outgoing data have been transmitted to the external communication unit, optionally on receipt of confirmation that the external communication unit has received the outgoing data. Incoming data may however be stored if a task is to be repeated, such as if a fault detection task is to be carried out several times a week. 
         [0023]    According to an embodiment of the invention the task execution step is carried out only if/when a particular condition is met. This embodiment of the method does not necessarily require only temporarily storing any incoming and/or outgoing data associated with task execution in the device&#39;s memory. 
         [0024]    According to a further embodiment of the invention the method comprises the step of causing the controller to execute at least one task by sending a command from the external communication unit or from a user of the vehicle to the receiver. 
         [0025]    The present invention further concerns a computer program product that comprises a computer program containing computer program code means arranged to cause a computer or a processor to execute the steps of a method according to any of the embodiments of the invention, stored on a computer-readable medium or a carrier wave. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0026]    The present invention will hereinafter be further explained by means of non-limiting examples with reference to the appended schematic figures where; 
           [0027]      FIG. 1  shows a system according to an embodiment of the invention; 
           [0028]      FIG. 2  shows the components of a system according to an embodiment of the invention; 
           [0029]      FIG. 3  is a flow diagram showing the steps of a method according to an embodiment of the invention. 
       
    
    
       [0030]    It should be noted that the drawings have not been drawn to scale and that the dimensions of certain features have been exaggerated for the sake of clarity. 
       DETAILED DESCRIPTION 
       [0031]      FIG. 1  shows a system according to an embodiment of the invention. The system comprises a vehicle  10 , namely a passenger car in the illustrated embodiment, in which an internal device  12  has been mounted. An external communication unit  14  is arranged to send data associated with at least one of the tasks that the controller of the device  12  executes to the device  12  and/or to receive data associated with the at least one of the task from the device  12  via a wireless radio frequency communication link. It should be noted that the device  12  may be mounted anywhere in the vehicle  10 , such as in one of the vehicle&#39;s ECUs, and that it may be constituted by a plurality of separate parts mounted in the same location or at different locations in the vehicle  10 . A vehicle  10  may furthermore comprise a plurality of devices  12  according to the present invention. The term data as used herein is understood to include any and all software, instructions, commands, or other information associated with a task related to any vehicle component or system. 
         [0032]      FIG. 2  shows the device  12  that is mounted in the vehicle  10  illustrated in  FIG. 1 . The device  12  comprises a controller  16  that is arranged to execute at least one of the following tasks: collect data from a plurality of devices  18  such as sensors, ECUs, input-output devices, or any other equipment distributed throughout the vehicle  10 . The controller  16  is arranged to download software and/or data from a first external communication unit  14   a  that is remote to the vehicle  10 , carry out a measurement, perform a test, programming and/or diagnostics on at least one component of the vehicle  10  using equipment  18  distributed throughout the vehicle  10  to monitor a vehicle&#39;s engine, transmission system, traction, anti-lock braking system, airbags, doors or seats for example and/or to manage any tasks related thereto, such as programming an ECU or detecting a fault. The device may optionally comprise a queue handler  17  to prioritize the order in which tasks are executed. 
         [0033]    The device  12  also comprises a receiver  20  that is arranged to wirelessly receive incoming data associated with at least one of the tasks executed by the controller  16  from the first external communication unit  14   a.  The device  12  also comprises a transmitter  22  that is arranged to wirelessly transmit outgoing data to a second external communication unit  14   b.  The controller  16 , the memory  24 , the receiver  20  and the transmitter  22  may be interconnected by wireless or wired means, such as via internal buses although it should be noted that all of these components are mounted on the vehicle  10 . It should be noted that the receiver  20  and transceiver  22  could of course be combined in a single transceiver. 
         [0034]    In the illustrated embodiment incoming data are received from a first external communication unit  14   a  and outgoing data are sent to a second external communication unit  14   b.  Incoming and outgoing data may however be sent to and/or from any number of external communication units  14 . If a system comprises a plurality of external communication units  14   a,    14   b,  the external communication units  14   a,    14   b  may of course communicate with one another. A first external communication unit  14   a  may for example be responsible for ordering spare parts once test results have been analyzed by a second external communication unit  14   b.  The second communication unit  14  may also be arranged to permanently store all test results in one or more external databases  26 . 
         [0035]    The device  12  also comprises a memory  24  that is arranged to only temporarily store the incoming and/or outgoing data associated with at least one of the tasks so as to minimize the amount of data storage capacity required in the vehicle  10 . 
         [0036]      FIG. 3  shows a method according to an embodiment of the invention. The method comprises the step of a user of an external communication unit  14  choosing one or more vehicles  10  in which a task is to be executed (step  100 ) and creating a task (step  110 ). Data associated with the task is then distributed to the chosen vehicle(s) (step  120 ), i.e. a script or commands that will cause a vehicle-mounted device&#39;s controller  16  to execute that particular task is sent to the appropriate vehicle  10 . The device  12  in each vehicle will then function as a programmable internal tester, that can be configured to perform tasks, such as ECU programming and/or vehicle performance monitoring and recording. The distributed commands may for example include an alert command instructing the vehicle-mounted device  12  to collect software from a file server (not shown). The device  12 , on receiving/collecting the task software, temporarily stores it in its memory  24  (step  130 ). The external communication unit  14  in the illustrated embodiment is arranged to send a START command to cause the controller  16  to execute the task (step  140 ) together with or subsequently to receiving/collecting the task software. This START command may require that a particular condition, such as a particular vehicle operating condition or date or time, is met before the task is executed. Sending a vehicle a command to execute task software when a predetermined condition has been met is however optional. 
         [0037]    Once any required condition has been met the device  12  executes the task, it temporarily stores the task results in its memory  24  and will then, at this (or a later point) in time, deletes the task software from its memory  24  (step  150 ). 
         [0038]    A requirement that a pre-determined condition should be met before a task is executed can be incorporated when the task is created, whereby no subsequent command is necessary. Instead, the task will automatically be executed when the pre-determined condition is met. 
         [0039]    The task results are sent to the external communication unit  14  (step  160 ) and once confirmation of their receipt has been sent from the external communication unit  14  (step  170 ) and received by the device  12 , the task results are deleted from the device&#39;s memory  24  (step  180 ). The external communication unit  14  may be arranged to immediately or subsequently analyse and/or store the results in a database and/or update the task status in a database (step  190 ). 
         [0040]    It should be noted that a particular task does not necessarily need to be completed before task results start being sent to the external communication unit  14 . Task results may be sent to an external communication unit as soon as the results have been obtained for example. Furthermore, outgoing data need not necessarily be stored in the device&#39;s memory  24  at all, they may for example be sent directly to an external communication unit  14   b.  The memory  24  may be used solely for temporarily storing incoming data. Likewise, incoming data need not necessarily be stored in the device&#39;s memory  24  at all, they may for example cause a controller to directly execute at least one task. The memory  24  may then be used solely for temporarily storing outgoing data. 
         [0041]    It should also be noted that the method steps shown in  FIG. 3  may be repeated any number of times. For example, one or more new tasks can be distributed to a vehicle after the results of previously executed task have been received or analysed. 
         [0042]    Such a method may be used to monitor a particular task or a set of tasks in a plurality of vehicles, such as a fleet of one hundred vehicles or more. Data associated with a task or tasks, such as updating the software in an ECU in each vehicle and/or performing fault detection, in the form of software or a script, may be sent to the plurality of vehicles simultaneously or sequentially. A transmitter in each vehicle may be arranged to inform an external communication unit as to whether each vehicle has executed the task. The method may then be used to monitor the percentage of vehicles in which the task has been executed. 
         [0043]    Further modifications of the invention within the scope of the claims would be apparent to a skilled person. 
         [0044]    While the best mode has been described in detail, those familiar with the art will recognize various alternative designs and embodiments within the scope of the following claims. Where one or more embodiments have been described as providing advantages or being preferred over other embodiments and/or over prior art in regard to one or more desired characteristics, one of ordinary skill in the art will recognize that compromises may be made among various features to achieve desired system attributes, which may depend on the specific application or implementation. These attributes include, but are not limited to: cost, strength, durability, life cycle cost, marketability, appearance, packaging, size, serviceability, weight, manufacturability, ease of assembly, etc. The embodiments described as being less desirable relative to other embodiments with respect to one or more characteristics are not outside the scope of the disclosure as claimed.