Method and apparatus for leveraging wireless connectivity for pre-service preparation in service lanes

A computer-implemented method at a service facility for capturing vehicle state and service information (VSSI) is provided. The method includes: detecting the arrival of a vehicle at the service facility; initiating, by a processor at the service facility, the establishment of a secure communication link with the vehicle via an in-vehicle wi-fi hotspot; wirelessly retrieving, by the processor at the service facility from the vehicle, a subset of VSSI via the wi-fi hotspot, wherein the retrieved VSSI includes the subset of the VSSI that has changed since the last update of the VSSI to a cloud-based server and wherein the subset of the VSSI includes some, but not all of the VSSI; and scheduling a vehicle service based on service indications derived from the VSSI.

TECHNICAL FIELD

The technology described in this patent document relates generally to systems and methods for accessing vehicle state and service information, and more particularly to systems and methods for wirelessly accessing vehicle state and service information.

Modern vehicles (e.g., automobile, car, light truck, and others) employ various embedded electronic controllers that improve the performance, comfort, safety, etc. of the vehicle. Such controllers include engine controllers, suspension controllers, steering controllers, power train controllers, climate control controllers, infotainment system controllers, chassis system controllers, etc. These controllers communicate over in-vehicle networks such as a controller area network (CAN). Modern vehicles also possess self-diagnostic and reporting capabilities via an on-board diagnostic (OBD) system. Vehicle state and service information (VSSI) can be captured by the OBD system in the vehicle, and the VSSI can be used by a vehicle owner or repair technician to identify vehicle service needs. The VSSI may include a diagnostic trouble code (DTC) which can be used to diagnose the cause of a specific problem the vehicle is experiencing. The VSSI may include information identifying preventive services that are due for the vehicle, such as an oil change or other fluid change. The VSSI may include other information that can be useful for determining vehicle service needs. Presently, a service technician can physically connect a diagnostic tool to the vehicle's diagnostic link connector (DLC) to obtain VSSI such as DTCs. A reliable way for obtaining VSSI without physically connecting to the vehicle, however, is not available.

Accordingly, it is desirable to provide a system and method for obtaining VSSI without physically connecting to the vehicle. Furthermore, other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description of the invention and the appended claims, taken in conjunction with the accompanying drawings and the background of the invention.

SUMMARY

Systems and methods for accessing vehicle state and service information (VSSI) are provided. In one embodiment, a computer-implemented method at a service facility for capturing vehicle state and service information (VSSI) is provided. The method includes: detecting the arrival of a vehicle at the service facility; initiating, by a processor at the service facility, the establishment of a secure communication link with the vehicle via an in-vehicle wi-fi hotspot; wirelessly retrieving, by the processor at the service facility from the vehicle, a subset of VSSI via the wi-fi hotspot, wherein the retrieved VSSI includes the subset of the VSSI that has changed since the last update of the VSSI to a cloud-based server and wherein the subset of the VSSI includes some, but not all of the VSSI; and scheduling a vehicle service based on service indications derived from the VSSI.

In one embodiment, the initiating the establishment of a secure communication link with the vehicle includes: wirelessly transmitting a pairing request to the vehicle; receiving a first message from the cloud-based server containing a vehicle private key via a backbone network; receiving a second message from the vehicle containing a code word that has been encrypted by the vehicle using a service facility private key; decrypting the code word using the service facility private key; re-encrypting the decrypted code word using the vehicle private key; and transmitting the re-encrypted code word to the vehicle; wherein the secure communication link is established after the vehicle decrypts the re-encrypted code word and verifies that the decrypted re-encrypted code word is the same as the code word that was encrypted by the vehicle and received by the service facility in the second message.

In one embodiment, the wirelessly retrieving the subset of the VSSI includes retrieving, from the vehicle, data for determining the subset of the VSSI that has changed since the last update of the VSSI to the cloud-based server.

In one embodiment, the retrieving data for determining the subset of the VSSI that has changed since the last update of the VSSI to the cloud-based server includes: receiving from the vehicle the results from applying a hash function to the VSSI; and sending the hash function results to the cloud-based server for use in performing a membership test.

In one embodiment, the applying a hash function to the VSSI includes applying a bloom filter to the VSSI, and the sending the hash function results to the cloud-based server includes sending the bloom filter results to the cloud-based server for use in performing a membership test.

In one embodiment, the wirelessly retrieving the subset of the VSSI further includes: receiving, from the cloud-based server, a request for a subset of the VSSI that failed a membership test performed by the cloud-based server on cloud-based server stored VSSI; requesting, from the vehicle, the subset of the VSSI that failed the membership test; receiving, from the vehicle, the subset of the VSSI that failed the membership test; and sending the received subset of the VSSI that failed the membership test to the cloud-based server.

In one embodiment, the scheduling a vehicle service based on service indications derived from the VSSI includes identifying automotive service needs from the VSSI.

In one embodiment, the identifying automotive service needs from the VSSI includes: receiving, from the cloud-based server, service indications determined by cloud-based server analysis of the VSSI; or receiving, from the cloud-based server, VSSI for analysis by the service facility to determine maintenance indications.

In another embodiment, a computer-implemented method in a vehicle for facilitating automatic scheduling of an automotive service by a service facility is provided. The method includes: establishing, by a processor in the vehicle, a secured communication link with the service facility via an in-vehicle wi-fi hotspot responsive to a connection request from the service facility; and securely transmitting a subset of the vehicle state and service information (VSSI) via the secured communication link, wherein the transmitted VSSI includes the subset of the VSSI that has changed since the last update of the VSSI to a cloud-based server, and wherein the subset of the VSSI includes some, but not all of the VSSI; wherein a vehicle service is automatically scheduled by the service facility based on maintenance indications derived from the VSSI without user request for service.

In one embodiment, the establishing a secured communication link with the service facility includes: receiving a wirelessly transmitted pairing request from the service facility wherein the pairing request includes a service facility identifier; transmitting a request, which includes the service facility identifier, to the cloud-based server to authenticate the service facility; receiving a first message from the cloud-based server containing a service facility private key after the cloud-based server has authenticated the service facility; encrypting a first code word using the service facility private key; sending a first encrypted message containing the encrypted first code word to the service facility via an in-vehicle wi-fi hotspot; receiving a second message from the service facility containing an encrypted second code word; decrypting the encrypted second code word using a vehicle private key; determining if the decrypted second code word is the same as the first code word; and establishing secure communication with the service facility when the vehicle verifies that the decrypted second code word is the same as the first code word.

In one embodiment, securely transmitting a subset of the VSSI includes: securely transmitting VSSI metadata to the cloud-based server via a cellular network; and securely transmitting results from the application of a Bloom filter to the VSSI to the service facility via the secured communication link.

In one embodiment, the VSSI metadata includes the identity of a hash function and bloom filter parameters.

In one embodiment, securely transmitting a subset of the VSSI includes securely transmitting the subset of VSSI requested by the service facility.

In another embodiment, a computer-implemented method in a cloud-based server for facilitating automatic scheduling of an automotive service for a vehicle by a service facility is provided. The method includes: providing security credentials to the vehicle and the service facility to facilitate secured communications between the service facility and the vehicle; storing VSSI for the vehicle in a data store; performing a membership test on the stored VSSI to determine if a subset of the VSSI is stale; requesting that the service facility obtain from the vehicle a subset of current VSSI to replace the subset of VSSI that is stale; receiving the subset of current VSSI from the service facility; and alerting the service facility of vehicle service needs based on analysis of VSSI or providing a subset of VSSI that identifies vehicle service needs; wherein the service facility can automatically schedule an automotive service based on the service needs derived from the VSSI without user request for service.

In one embodiment, the providing security credentials to the vehicle and the service facility to facilitate secured communications includes: receiving a request from the vehicle that includes a service facility identifier to validate the service facility via a cellular network; validating the service facility using the service facility identifier; sending encryption credentials to the vehicle via the cellular network and the service facility via a backbone network for use in secured communication between the vehicle and the service facility.

In one embodiment, the sending encryption credentials to the vehicle and the service facility includes: sending a service facility private key to the vehicle via the cellular network; and sending a vehicle private key to the service facility via the backbone network.

In one embodiment, performing a membership test on the stored VSSI to determine if a subset of the VSSI is stale includes: receiving VSSI metadata from the vehicle via the cellular network; and receiving, from the service facility, data for determining the subset of the VSSI that has changed since the last update of the VSSI to the cloud-based server via the backbone network.

In one embodiment, the VSSI metadata includes a hash function and bloom filter parameters.

In one embodiment, the receiving data for determining the subset of the VSSI that has changed since the last update of the VSSI to the cloud-based server includes receiving, from the service facility, the results from applying a hash function to the VSSI.

In one embodiment, the applying a hash function to the VSSI includes applying a bloom filter to the results from the application of the hash function to the VSSI; and the receiving the results from applying a hash function to the VSSI includes receiving the bloom filter results from the service facility.

In one embodiment, performing a membership test on the stored VSSI to determine if a subset of the VSSI is stale further includes performing a membership test using the bloom filter data.

In another embodiment, a computer-implemented method in a system for facilitating automatic scheduling of an automotive service for a vehicle by a service facility is provided. The method includes: transmitting, by a processor at a service facility, a pairing request containing a dealer signature to a vehicle upon detection by the service facility of vehicle approach; responsive to the pairing request, transmitting, by the vehicle, a request to a cloud-based server to verify the service facility; validating the service facility by the cloud-based server; generating, by the cloud-based server, security credentials for the vehicle and the service facility for secured communications between the service facility and the vehicle; transmitting, by the cloud-based server, a first message to the vehicle with a service facility private key via the cellular network; transmitting, by the cloud-based server, a second message to the service facility with a vehicle private key via a backbone network; generating, by the vehicle, a code word; encrypting the code word, by the vehicle, using the service facility private key, and transmitting, by the vehicle, a third message containing the encrypted code word to the service facility via an in-vehicle wi-fi network; decrypting, by the service facility, the encrypted code word from the third message using the service facility private key; encrypting, by the service facility, the decrypted code work using the vehicle private key; transmitting, by the service facility, the re-encrypted code word in a fourth message to the vehicle; decrypting, by the vehicle, the encrypted code word in the fourth message using the vehicle private key; determining, by the vehicle, that a challenge and response sequence has been validated by determining whether the decrypted code word from the fourth message equals the unencrypted code word from the third message; and using the security credentials provided by the cloud-based server for secured communication between the vehicle and the service facility when the challenge response sequence has been validated.

In one embodiment, the method further includes: after successful pairing, sending, by the vehicle, results from applying a Bloom filter to VSSI to the service facility; sending, by the service facility, the results to the cloud-based server for membership test performance; performing, by the cloud-based server, a membership test on cloud-saved VSSI; when the cloud-based server determines from the membership test that a subset of the cloud-saved VSSI is stale: (i) transmitting, by the cloud-based server, a request to the service facility to obtain a subset of current VSSI; (ii) requesting, by the service facility, the subset of current VSSI from vehicle; (iii) transmitting by the vehicle the requested subset of current VSSI to the service facility; (iv)transmitting by the service facility the subset of current VSSI to the cloud-based server; (v) and transmitting by the cloud-based server to the service facility vehicle service needs information derived from the VSSI; and when the cloud-based server determines from the membership test that a subset of the cloud-saved VSSI is not stale, transmitting, by the cloud-based server to the service facility, service needs information derived from the VSSI.

DETAILED DESCRIPTION

The following detailed description is merely exemplary in nature and is not intended to limit the application and uses. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, summary, or the following detailed description. As used herein, the term “module” refers to any hardware, software, firmware, electronic control component, processing logic, and/or processor device, individually or in any combination, including without limitation: application specific integrated circuit (ASIC), a field-programmable gate-array (FPGA), an electronic circuit, a processor (shared, dedicated, or group) and memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.

The subject matter described herein discloses apparatus, systems, techniques and articles for allowing access to vehicle state and service information (VSSI) without making a physical connection to the vehicle. An authorized service facility, such as an authorized dealership, can make use of the apparatus, systems, techniques and articles described herein to expedite vehicle servicing. The apparatus, systems, techniques and articles described herein can allow an authorized service facility to obtain VSSI before having physical access to the vehicle. This can allow for increased service facility productivity and can lead to reductions in an OEM's cost structure. The apparatus, systems, techniques and articles described herein can allow an authorized service facility to obtain VSSI when a vehicle arrives for service, identify service needs, order parts, and schedule services to remedy the identified service needs prior to physical access to the vehicle by a service technician. The apparatus, systems, techniques and articles described herein can allow for a more accurate collection of VSSI that may affect vehicle warranty claims and an OEM's cost structure. The apparatus, systems, techniques and articles described herein provide a multi-stage, multi-party content transmission protocol for authorized service facility usage. The apparatus, systems, techniques and articles described herein provide a multi-party security/privacy isolation protocol to protect a vehicle owner's security/privacy.

FIG. 1is a diagram illustrating an example system100for automatically uploading vehicle state and service information (VSSI) from a vehicle102, using in-vehicle wi-fi, to a pre-service check-in system104at an authorized service facility106upon the arrival of the vehicle102at the authorized service facility106. When the vehicle102arrives at the authorized service facility106and the pre-service check-in system104is within the wi-fi range of an in-vehicle wi-fi system provided by the vehicle102, the pre-service check-in system104can detect the arrival of the vehicle102, initiate a secure wi-fi, point-to-point (P2P) connection110with the vehicle102, and attempt to retrieve VSSI to identify vehicle service needs. After retrieving sufficient VSSI to identify vehicle service needs, the authorized service facility106, either manually, via the pre-service check-in system104, or via some other system can take a number of actions, such as schedule vehicle services, order parts, etc., based on service needs identified through the VSSI.

The authorized service facility may not directly obtain the VSSI that is sufficient to identify vehicle service needs from the vehicle, but instead may obtain the VSSI from a cloud-based server108. For privacy and/or data security reasons it may not be advantageous for the authorized service facility106to have direct access to all of the VSSI from a vehicle102. For privacy and/or security concerns, the VSSI may not be stored at the authorized service facility, but instead at the cloud-based server108, such as one operated and/or controlled by an OEM (original equipment manufacturer), which can store VSSI for multiple vehicles. When the authorized service facility106needs some of the VSSI to identify service needs for a vehicle102, the cloud-based server108can provide the needed VSSI upon authorization by the vehicle102. The example cloud-based server108includes non-transient computer readable storage media for storing VSSI for the vehicle102. The VSSI in the vehicle102will change at times, and the VSSI stored in the cloud-based system108at times will not be up to date and will need updating.

The example cloud-based server108can establish a communication link with both the vehicle102and the authorized service facility106. The communication link with the vehicle102may be through a cellular connection. Using a cellular connection to pass VSSI from the vehicle102to the cloud-based server108, however, can be costly. The communication link with the authorized service facility106may be through a backbone network112. Using the backbone network112to pass VSSI from the vehicle to the cloud-based server108can be a more economical solution in terms of monetary costs and computing resource utilization.

Also, uploading the entire VSSI to the cloud-based server108each time there are changes in the VSSI can waste transmission and computing resources. To conserve resources, the complete VSSI is not uploaded to the cloud-based server108each time there is a change in the VSSI stored in the vehicle. Instead, only a subset of the VSSI to replace the non-current (i.e., stale) VSSI can be transmitted to the cloud-based server108, and the subset of replacement VSSI may be transmitted when more economical communication links are available for the transmission, such as when the vehicle102enters an authorized service facility106. When the vehicle102enters an authorized service facility106, the cloud-based server108is notified, can perform a membership test on its stored VSSI using membership information from the vehicle102to determine the portion of the VSSI stored in the cloud-based server108that is stale, and request that the authorized service facility retrieve the current version of the stale VSSI from the vehicle102and send that portion to the cloud-based server108via the backbone network112.

The cloud-based server108may use a lightweight data abstraction structure (e.g., a Hash-based Bloom Filter) to conduct an approximate membership test, to check if the different VSSI items stored in the vehicle102are also stored in the cloud database before uploading VSSI. A Bloom Filter (BF) is a randomized data abstraction structure for concisely representing a set of interested items. It maps a set S={x_1,x_2, . . . , x_n} of n elements to a m-bit array (initially all set to zero), via k independent hash functions {h_1,h_2, . . . , h_k}.

FIG. 2is a diagram illustrating an example use of a Bloom Filter (BF) for membership testing. A controller in the vehicle102maps a set of n elements (e.g., a or b) in the VSSI to an original BF bit vector202, by setting the position {h_1 (a),h_2 (a), . . . , h_k (a)} to value=1, via the k independent hash functions. Once a bit is changed to value=1, it always stays at value=1. The mapped BF bit vector204is transmitted to the cloud-based server for use in performing membership testing.

The cloud-based server108can perform a membership test by using the same k independent hash functions used in the vehicle102to map a set of n elements in the VSSI stored at the cloud-based server to an m-bit array206. To determine if an unknown item c in the VSSI stored in the cloud-based server matches the equivalent item in the VSSI stored in the vehicle, the cloud-based server108compares the cloud-based server generated BF bit vector206with the vehicle generated BF bit vector204. If there is an inconsistency (e.g., value=0 (at207) in its footprint of item c), then item c does not belong to original set S and the portion of the VSSI represented by item c is stale and needs to be replaced.

FIG. 3is a flow diagram depicting example communications300between a service facility302, cloud-based server304, and vehicle306to establish a secure connection link for secure communications between the service facility302and the vehicle306. The order of communications300is not limited to the sequential execution as illustrated in the figure, but may be performed in one or more varying orders as applicable and in accordance with the present disclosure. For privacy and security concerns, a secure connection methodology may be used for communication between the vehicle306and the service facility302.

When the arrival of a vehicle306is detected at the service facility302, the service facility302sends a pairing request301to the vehicle306via an in-vehicle wi-fi network. The pairing request301may include an address or other identifier for the service facility302.

The vehicle306then sends a verification request303to the cloud-based server304for the cloud-based server304to verify the authenticity of the service facility302. The verification request is sent via a cellular network. The verification request303includes the service facility identifier and an identifier for the vehicle306.

The cloud-based server304retrieves the service facility identifier and the vehicle identifier from the verification request303. When the cloud-based server304verifies the authenticity of the service facility302, the cloud-based server304generates a session key, retrieves a private key for the vehicle306and retrieves a private key for the service facility302. The cloud-based server304sends a first message305to the vehicle306via the cellular network and a second message307to the service facility302via a backbone network. The first message305includes the private key for the service facility302and the session key. The second message307includes the private key for the vehicle306and the session key.

The vehicle306retrieves the private key for the service facility302and the session key from the first message305. The vehicle306generates a secrecy challenge message309. The secrecy challenge message309includes the session key and a code word, such as a random number, that is encrypted using the private key for the service facility302, which was received from the cloud-based server304. The secrecy challenge message309is transmitted from the vehicle306to the service facility302via the wi-fi connection.

The service facility retrieves the private key for the vehicle306and the session key from the second message307. Responsive to receipt of the secrecy challenge message309, the service facility302decrypts the code word using the service facility's private key, encrypts the code word using the private key for the vehicle306, which was received from the cloud-based server304, and generates a response message311that includes the code word that has been encrypted using the private key for the vehicle306. The service facility302transmits the response message311to the vehicle using the in-vehicle wi-fi network.

Upon receipt of the response message311, the vehicle decrypts the code word and compares the decrypted code word with the original code word. If the decrypted code word matches the original code word, then a secure communication link is established and the service facility and the vehicle may communicate with each other in a secure manner.

The service facility302includes a computerized system comprising one or more processors and storage media. The one or more processors are programmed by programming instructions on non-transient computer readable media to perform the operations for establishing the secure communication link. These operations include: detecting the arrival of a vehicle at the service facility302, generating a pairing request message301that includes an identifier for the service facility302, sending the pairing request301to the vehicle306via an in-vehicle wi-fi network, retrieving a private key from the second message307received from the cloud-based server via a backbone network, decrypting using the private key of the service facility the code word from the secrecy challenge message309received from the vehicle via the in-vehicle wi-fi network, encrypting the code word using the private key retrieved from the second message307, sending the encrypted code word to the vehicle306in a response message311via the in-vehicle wi-fi network, and any other operation necessary for performing the communications300identified in the flow diagram.

The vehicle306includes a controller configured by programming instructions on non-transient computer readable media to perform operations for establishing the secure communication link. These operations include: providing an in-vehicle wi-fi network, recognizing a pairing request message301received over the wi-fi network from the service facility302, retrieving the identifier for the service facility from the pairing request message301, generating a verification request message303that includes the identifier for the service facility, sending the verification request message303to the cloud-based server304via the cellular network, retrieving the private key for the service facility302from the first message305received from the cloud-based server304via the cellular network, generating a code word, encrypting the code word using the private key retrieved from the first message, sending the encrypted code word to the service facility302via the in-vehicle wi-fi network in a secrecy challenge message309, retrieving an encrypted code word from the response message311received via the in-vehicle wi-fi network, decrypting the encrypted code word using the secret key of the vehicle, comparing the decrypted code word with the original code word, establishing the secure communication link when the decrypted code word matches the original code word, and any other operation necessary for performing the communications300identified in the flow diagram.

The cloud-based server304includes a computerized system comprising one or more processors and storage media. The one or more processors are programmed by programming instructions on non-transient computer readable media to perform the operations for establishing the secure communication link. These operations include: retrieving the service facility identifier and the vehicle identifier from the verification request message303, verifying the authenticity of the service facility302, generating a session key, retrieving a private key for the vehicle306and a private key for the service facility304key when the cloud-based server304verifies the authenticity of the service facility302, generating and sending a first message305to the vehicle306via the cellular network and a second message307to the service facility302via a backbone network wherein the first message305includes the private key for the service facility302and the session key and the second message307includes the private key for the vehicle306and the session key, and any other operation necessary for performing the communications300identified in the flow diagram.

FIG. 4is a sequence diagram depicting example communications400between an authorized service facility402, cloud-based server404, and vehicle406to establish a secure connection link for secure communications between the service facility402and the vehicle406. The order of communications400is not limited to the sequential execution as illustrated in the figure, but may be performed in one or more varying orders as applicable and in accordance with the present disclosure.

When the arrival of a vehicle406is detected at the service facility402, the service facility402sends a pairing request401to the vehicle406. The pairing request401may include an address or other identifier for the service facility402.

The vehicle406then sends a verification request403to the cloud-based server404for the cloud-based server404to verify the authenticity of the service facility402. The verification request403includes the service facility identifier and an identifier for the vehicle406.

The cloud-based server404retrieves the service facility identifier and the vehicle identifier from the verification request403. When the cloud-based server304verifies the authenticity of the service facility402, the cloud-based server404generates a session key, retrieves a private key for the vehicle406and retrieved a private key for the service facility404. The cloud-based server404sends a first message405to the vehicle406and a second message407to the service facility402. The first message405includes the private key for the service facility402and the session key. The second message407includes the private key for the vehicle406and the session key.

The vehicle406retrieves the private key for the service facility402and the session key from the first message405. The vehicle406generates a secrecy challenge message409. The secrecy challenge message409includes the session key and a code word, such as a random number, that is encrypted using the private key for the service facility402, which was received from the cloud-based server404. The secrecy challenge message409is transmitted from the vehicle306to the service facility402.

The service facility retrieves the private key for the vehicle406and the session key from the second message407. Responsive to receipt of the secrecy challenge message409, the service facility402decrypts the code word using its private key, encrypts the code word using the private key for the vehicle406, which was received from the cloud-based server404, and generates a response message411that includes the code word that has been encrypted using the private key for the vehicle406. The service facility402transmits the response message411to the vehicle.

Upon receipt of the response message411, the vehicle decrypts the code word and compares the decrypted code word with the original code word. If the decrypted code word matches the original code word, then a secure communication link is established and the service facility and the vehicle may communicate with each other in a secure manner.

FIG. 5Ais a sequence diagram depicting example communications500between a vehicle502, an authorized service facility504, and a cloud-based server506to update the VSSI for the vehicle stored in a VSSI database in the cloud-based server.FIG. 5Bis a block diagram depicting example communication links between the vehicle502, the authorized service facility504, and the cloud-based server506.FIG. 5Billustrates that communications between the vehicle502and the authorized service facility504are via a cellular link510, communications between the vehicle502and the authorized service facility504are via a wi-fi network512, and communications between the service facility504and cloud-based server506are via a backbone network514.FIG. 5Balso illustrates that the example vehicle502includes a vehicular NAM module508comprising one or more processors configured by programming instructions on non-transient computer readable media. The example NAM module508is configured to perform the operations necessary for vehicle communications identified inFIG. 5A.

With reference toFIG. 5A, after a secure connection link for secure communications between the vehicle502and the service facility504has been established, the vehicle502transmits, in a first message501, the hash functions and Bloom Filter (BF) parameters applied by the vehicle502on its internally stored VSSI to the cloud-based server506. The vehicle502also transmits, in a second message503, its BF bit array for its internally stored VSSI to the service facility504. The vehicle transmits its more sensitive and lower volume hash functions and Bloom Filter (BF) parameters to the cloud-based server via the more costly but more private cellular network and transmits its more voluminous BF bit array to the cloud-based server via the less costly wi-fi and backbone networks.

The service facility504forwards the second message503which includes the vehicle's BF bit array for its internally stored VSSI in a third message505to the cloud-based server. The cloud-based server506, after receipt of the first message501containing the hash functions and Bloom Filter (BF) parameters applied by the vehicle502and the third message505containing the BF bit array generated by the vehicle502can conduct a membership test (operation507) regarding the cloud stored VSSI. Based on the membership test results, the cloud-based server506can generate and send a VSSI request509to the service facility504that requests the portion of the VSSI that failed the membership test. The service facility504then sends a VSSI request511to the vehicle502that requests the portion of the VSSI that failed the membership test.

Responsive to receipt of the VSSI request511, the vehicle502can send the requested VSSI in a VSSI data packet513to the service facility504. The service facility504can send the requested VSSI in a VSSI data packet515to the cloud-based server506.

The cloud-based server506includes a computerized system comprising one or more processors and storage media. The one or more processors are programmed by programming instructions on non-transient computer readable media to perform the operations for updating the VSSI stored in the cloud. These operations include: retrieving from the first message501the hash functions and Bloom Filter (BF) parameters applied by the vehicle502on its internally stored VSSI, retrieving from the third message505the vehicle's BF bit array for its internally stored VSSI, conducting a membership test (operation507) regarding the cloud stored VSSI wherein the membership test may include comparing the vehicle's BF bit array with a cloud-based server generated BF bit array that was generating using the same hash functions and Bloom Filter (BF) parameters applied by the vehicle502, generating and sending based on the membership test results a VSSI request509to the service facility504that requests the portion of the VSSI that failed the membership test, updating the cloud stored VSSI with VSSI data packet515received from the service facility in response to the VSSI request509, and any other operation necessary for performing the communications500identified in the flow diagram.

The service facility504includes a computerized system comprising one or more processors and storage media. The one or more processors are programmed by programming instructions on non-transient computer readable media to perform the operations for updating the VSSI stored in the cloud. These operations include: forwarding the second message503which includes the vehicle's BF bit array for its internally stored VSSI in a third message505to the cloud-based server, forwarding a VSSI request message509received from the cloud-based server506in a VSSI request message511to the vehicle502wherein the VSSI request message511requests the portion of the VSSI that failed the membership test, forwarding requested VSSI received from the vehicle502via a VSSI data packet513in a VSSI data packet515to the cloud-based server506, and any other operation necessary for performing the communications500identified in the flow diagram.

The vehicle502includes a vehicular NAM module508implemented by a controller that is configured by programming instructions in non-transient computer readable media. The NAM module508is configured to perform the operations for updating the VSSI stored in the cloud. The operations include: transmitting in a first message501the hash functions and Bloom Filter (BF) parameters applied by the vehicle502on its internally stored VSSI to the cloud-based server506after a secure connection link for secure communications between the vehicle502and the service facility504has been established, transmitting to the service facility504in a second message503its BF bit array for its internally stored VSSI to the service facility504wherein the vehicle transmits its more sensitive and lower volume hash functions and Bloom Filter (BF) parameters to the cloud-based server via the more costly but more private cellular network and transmits its more sensitive and lower volume hash functions and Bloom Filter (BF) parameters to the cloud-based server via the more costly but more private cellular network, transmitting requested VSSI in a VSSI data packet513to the service facility504responsive to receipt of the VSSI request511, and any other operation necessary for performing the communications500identified in the flow diagram.

FIG. 6is a process flow chart depicting an example process600at a service facility when a vehicle arrives. The order of operation within process600is not limited to the sequential execution as illustrated in the figure, but may be performed in one or more varying orders as applicable and in accordance with the present disclosure. The example process includes detecting that a vehicle has arrived at the service facility (operation602), establishing a secured communication link with the vehicle (operation604), retrieving VSSI to identify vehicle service needs without physically connecting with the vehicle (operation606), and scheduling vehicle services based on service needs identified from the VSSI (operation608).

The detecting that a vehicle has arrived at the service facility may include automatically sensing that a new in-vehicle wi-fi network is available, for example, by a processor-implemented system comprising one or more processors configured by programming instructions on computer readable media. The detecting may be performed automatically by other mechanisms. The establishing a secure communication link with the vehicle may be performed using the example communications300or example communications400.

The retrieving VSSI data to identify vehicle service needs without physically connecting with the vehicle may include retrieving data for determining a subset of VSSI needed to update cloud stored VSSI (operation610) and retrieving a subset of VSSI needed to update cloud stored VSSI (operation612). Retrieving data for determining the subset of VSSI needed to update cloud stored VSSI may include receiving from the vehicle results from the application of the BF to vehicle VSSI (operation614) and sending the BF results to the cloud-based server for performance of a membership test (operation616). Retrieving the subset of VSSI needed to update the cloud stored VSSI may include receiving from the cloud-based server a request for a subset of VSSI that failed the membership test (operation618), sending a request for the subset of VSSI that failed the membership test to the vehicle (operation620), receiving the requested subset of VSSI from the vehicle (operation622), and transmitting the requested subset of VSSI to the cloud-based server (operation624).

The scheduling vehicle services based on service needs identified from the VSSI may include diagnosing vehicle service needs (operation626). Diagnosing vehicle service needs may include receiving from the cloud-based server an indication of vehicle service needs based on an analysis of the VSSI (operation628) and/or receiving, from the cloud-based server, VSSI for diagnosing service needs (operation630).

FIG. 7is a process flow chart depicting an example process700in a vehicle for transmitting VSSI. The order of operation within process700is not limited to the sequential execution as illustrated in the figure, but may be performed in one or more varying orders as applicable and in accordance with the present disclosure. The example process includes arriving at a service facility (operation702), establishing secure communications with the service facility (operation704) responsive to a request by the service facility, transmitting Bloom filter metadata to a cloud-based server (operation706), transmitting BF data to the service facility (operation708), and securely transmitting a subset of the VSSI to the service facility responsive to a request from the service facility (operation710), wherein one or more services are scheduled based on an analysis of the VSSI without the service facility physically connecting to vehicle connectors to physically extract VSSI from the vehicle. The establishing secure communications with the service facility may be performed using the communications300or communications400. The Bloom filter metadata transmitted to a cloud-based server may include the identity of hash functions used and Bloom filter parameters. The one or more services may be scheduled prior to user request for the service.

FIG. 8depicts an example vehicle800that may be configured to communicate with a service facility and cloud-based server to provide VSSI. The vehicle800is depicted in the illustrated embodiment as a passenger car, but other vehicle types, including motorcycles, trucks, sport utility vehicles (SUVs), recreational vehicles (RVs), marine vessels, aircraft, etc., may also be used.

The example vehicle800generally includes a chassis12, a body14, front wheels16, and rear wheels18. The body14is arranged on the chassis12and substantially encloses components of the vehicle800. The body14and the chassis12may jointly form a frame. The wheels16-18are each rotationally coupled to the chassis12near a respective corner of the body14. The example vehicle800further includes a propulsion system20, a transmission system22, a steering system24, a brake system26, a sensor system28, an actuator system30, at least one data storage device32, at least one controller34, and a communication system36. The propulsion system20may, in various embodiments, include an internal combustion engine, an electric machine such as a traction motor, and/or a fuel cell propulsion system. The transmission system22is configured to transmit power from the propulsion system20to the vehicle wheels16and18according to selectable speed ratios. The brake system26is configured to provide braking torque to the vehicle wheels16and18. The steering system24influences a position of the vehicle wheels16and/or18. The sensor system28includes one or more sensing devices40a-40nthat sense observable conditions of the exterior environment and/or the interior environment of the vehicle800and generate sensor data relating thereto. The actuator system30includes one or more actuator devices42a-42nthat control one or more vehicle features such as, but not limited to, the propulsion system20, the transmission system22, the steering system24, and the brake system26. The data storage device32stores data for use in automatically controlling the vehicle800. The data storage device32may be part of the controller34, separate from the controller34, or part of the controller34and part of a separate system.