IP Library › Granted Patent US 10,872,479
Granted Patent B1
US 10,872,479 · App. 16/672,955 · Granted Dec 22, 2020

Secure log capture

Inventors: Daryl Martin (Kitchener, CA); Christopher Sartori (Waterloo, CA); Glenn Vording (Waterloo, CA); Jonathan Niemi (Waterloo, CA)
Assignee: Ford Global Technologies, LLC
G07C5/0816G05B9/03G07C5/008G07C5/085
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,872,479
App. No.
16/672,955
Granted
Dec 22, 2020
Kind
B1
Abstract

A vehicle includes a first controller; and a second controller, wherein the first controller is programmed to responsive to detecting a failure, generate a failure event, identify the second controller as related to the failure event, identify logs of the first controller and second controller as related to the failure event, collect logs of the first controller, and transmit a failure message including a request for the logs of the second controller to the second controller, and the second controller is programmed to responsive to receiving the failure message from the first controller, collect logs of the second controller as requested, and send a request for a security token to a server, and responsive to receiving the security token from the server, upload the logs of the second controller, as collected using the security token, to the server, and send the security token to the first controller.

Claims (105)

1. A vehicle, comprising:

a first controller; and

a second controller,

wherein the first controller is programmed to:

responsive to detecting a failure, generate a failure event,

identify the second controller as related to the failure event,

identify logs of the first controller and second controller as related to the failure event,

collect logs of the first controller as identified, and

transmit a failure message including a request for the logs of the second controller to the second controller, and

the second controller is programmed to:

responsive to receiving the failure message from the first controller, collect logs of the second controller as requested, and send a request for a security token to a server, and

responsive to receiving the security token from the server, upload the logs of the second controller, using the security token, to the server, and send the security token to the first controller, and

the first controller is further programmed to:

responsive to receiving the security token from the second controller, upload the logs of the first controller, as collected using the security token, to the server.

2. The vehicle of claim 1 , further comprising:

a third controller,

wherein the first controller is further programmed to:

identify the third controller as related to the failure event,

identify logs of the third controller as related to the failure event, and

include an identity and a request for the logs of the third controller in the failure message, and

the second controller is further programmed to:

send the request for logs of the third controller and the security token to the third controller, and

the third controller is further programmed to:

responsive to receiving the request for logs, collect the logs as requested, and

upload the logs of the third controller as collected using the security token to the server.

3. The vehicle of claim 2 , wherein the second controller is an enhanced central gateway programmed to coordinate data communication between the first controller and the third controller.

4. The vehicle of claim 3 , wherein the third controller is a telematics control unit programmed to communicate with the server via a wireless network, and upload logs from the first controller and the second controller to the server.

5. The vehicle of claim 2 , further comprising:

a wireless transceiver programmed to

communicate with the server via an access point, and

upload logs from the first controller, the second controller, and the third controller to the server.

6. The vehicle of claim 2 , further comprising:

an analytics library shared by a plurality of controllers,

wherein the first controller is further programmed to:

generate the failure event using the analytics library.

7. The vehicle of claim 2 , wherein the first controller is further programmed to:

generate a global event identification (GEID) for the failure event,

associate logs of the first controller with the GEID as parent events to upload to the server, and

send the GEID to the second controller in the failure message.

8. The vehicle of claim 7 , wherein the second controller is further programmed to:

responsive to receiving the GEID, associate the logs of the second controller with the GEID as child events to upload to the server.

9. The vehicle of claim 1 , wherein the first controller is further programmed to:

capture a screenshot of a display within a predefined time from the failure is detected and save the screenshot as one of the logs of the first controller.

10. The vehicle of claim 1 , wherein the first controller is further programmed to:

record an audio sound via a microphone for a predefined time responsive to the failure and save the audio sound as one of the logs of the first controller.

11. The vehicle of claim 1 , wherein the first controller is further programmed to:

record a video image via a camera for a predefined time responsive to the failure and save the video image as one of the logs of the first controller.

12. A log collecting system for a vehicle, comprising:

a first controller;

a second controller; and

a third controller,

wherein the first controller is programmed to:

responsive to detecting a failure, generate a failure event based on an analytics library,

identify the second controller and the third controller as related to the failure event,

identify logs of the first controller, the second controller and the third controller as related to the failure event,

collect logs of the first controller, and

transmit a failure message including a request for the logs of the second controller and logs of the third controller to the second controller,

the second controller is programmed to:

responsive to receiving the failure message from the first controller, collect logs of the second controller as requested, and send the request for logs of the third controller to the third controller,

send a request for security token to a server, and

responsive to receiving the security token from the server, upload the logs of the second controller as collected using the security token to the server, and send the security token to the first controller and the third controller,

the third controller is programmed to:

responsive to receiving the request for logs, collect the logs as requested, and

upload the logs of the third controller as collected using the security token to the server, and

the first controller is further programmed to:

responsive to receiving the security token from the second controller, upload the logs of the first controller as collected using the security token to the server.

13. The log collecting system of claim 12 , further comprising a wireless transceiver programmed to upload logs from the first controller, the second controller and the third controller to the server via a wireless connection.

14. The log collecting system of claim 12 , wherein the first controller is further programmed to:

capture a screenshot of a display within a predefined time from the failure is detected and save the screenshot as one of the logs of the first controller.

15. The log collecting system of claim 12 , wherein the first controller is further programmed to:

record an audio sound via a microphone for a predefined time responsive to the failure and save the audio sound as one of the logs of the first controller.

16. The log collecting system of claim 12 , wherein the first controller is further programmed to:

record a video image via a camera for a predefined time responsive to the failure and save the video image as one of the logs of the first controller.

17. The log collecting system of claim 12 , wherein the first controller is further programmed to:

generate a global event identification (GEID) for the failure event,

associate logs of the first controller with the GEID as parent events to upload to the server, and

send the GEID to the second controller in the failure message,

the second controller is further programmed to:

responsive to receiving the GEID, associate the logs of the second controller with the GEID as child events to upload to the server.

18. The log collecting system of claim 17 , wherein the second controller is further programmed to:

send the GEID to the third controller, and

the third controller is further programmed to:

responsive to receiving the GEID, associate the logs of the third controller with the GEID as child events to upload to the server.

19. A vehicle system for collecting diagnostics data, comprising:

an infotainment controller;

a gateway controller; and

a telematics control unit (TCU),

wherein the infotainment controller is programmed to:

responsive to detecting a failure, generate a failure event based on an analytics library and assign a global event identification (GEID) to the failure event,

identify the gateway controller and the TCU as related to the failure event,

identify logs of the infotainment controller, the gateway controller and the TCU as related to the failure event,

collect logs of the infotainment controller and associate the logs with the GEID, and

transmit a failure message including the GEID, a request for the logs of the gateway controller and logs of the TCU to the gateway controller,

the gateway controller is programmed to:

responsive to receiving the failure message from the infotainment controller, collect logs of the gateway controller as requested and associate the logs with the GEID,

send the GEID and the request for logs of the TCU to the TCU,

send a request for security token to a server, and

responsive to receiving the security token from the server, upload the logs of the gateway controller as associated with the GEID to the server using the security token, and send the security token to the infotainment controller and the TCU,

the TCU is programmed to:

responsive to receiving the request for logs, collect the logs as requested and associate the logs with the GEID, and

upload the logs of the TCU as associated with the GEID to the server using the security token, and

the infotainment controller is further programmed to:

responsive to receiving the security token from the gateway controller, upload the logs of the infotainment controller as associated with the GEID to the server using the security token.

20. The vehicle system of claim 19 , wherein the infotainment controller is further programmed to:

capture a screenshot of a display within a predefined time from the failure is detected and save the screenshot as one of the logs of the infotainment controller.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2019
From: MARTIN, DARYL; SARTORI, CHRISTOPHER; VORDING, GLENN; NIEMI, JONATHAN
To: FORD GLOBAL TECHNOLOGIES, LLC
Reel/Frame 050910/0639 →
Cited By (1)
US 12,562,009