Method and system for providing and applying diagnostic screening lists

By displaying the symptoms-based PID subgroup generated by the remote server on the display device, the problem of difficulty in selecting PID values ​​in vehicle maintenance is solved, and diagnostic efficiency and accuracy are improved.

CN113378054BActive Publication Date: 2024-12-17SNAP ON INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110682682.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2017-08-23
Publication Date
2024-12-17
Estimated Expiration
2037-08-23

AI Technical Summary

Technical Problem

It is difficult for technicians to diagnose the symptoms of a vehicle quickly and accurately when maintaining a vehicle, because hundreds of parameter identifiers (PIDs) are suitable for different types of vehicles, resulting in the guessing PID values ​​may be inaccurate, affecting diagnostic efficiency.

Method used

The display device receives the vehicle's identification information and symptom identifiers, and requests a PID filtering list from the remote server. The server generates a symptom-based PID subgroup based on the vehicle information and symptom identifiers, and displays it on the display interface.

Benefits of technology

A fast and accurate diagnostic screening list is provided to help technicians identify appropriate PID values ​​and improve diagnostic efficiency and accuracy of vehicle maintenance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure HDA0003117238910000011
    Figure HDA0003117238910000011
  • Figure HDA0003117238910000021
    Figure HDA0003117238910000021
  • Figure HDA0003117238910000031
    Figure HDA0003117238910000031
Patent Text Reader

Abstract

The example method includes determining identification information of a vehicle to be maintained. The method also includes receiving at least one symptom identifier of the vehicle. The method also includes issuing a request to a remote server via a communication network to obtain a PID filter list for the vehicle, the request including the identification information of the vehicle and at least one symptom identifier of the vehicle. The method also includes receiving a response to the request from the remote server via the communication network, the response including the PID filter list for the vehicle. The method also includes determining a symptom-based PID subgroup for the vehicle from a set of available PIDs based on the PID filter list for the vehicle. The method also includes displaying the symptom-based PID subgroup for the vehicle on a display interface.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application with the application date of August 23, 2017, application number 201780047365.1, and invention name “Method and system for providing and applying diagnostic screening lists”.

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS

[0003] This application claims the benefit of U.S. Patent Application No. 15 / 236,060, filed on August 12, 2016, and U.S. Patent Application No. 15 / 236,123, filed on August 12, 2016. U.S. Patent Application No. 15 / 236,060 and U.S. Patent Application No. 15 / 236,123 are each incorporated herein by reference in their entirety. Background Art

[0004] Most vehicles are maintained at least once during their service life. In many cases, vehicles are maintained at facilities with professional mechanics (e.g., technicians). Technicians can use any of a variety of non-computerized hand tools to maintain (e.g., repair) any of the various mechanical parts on the vehicle. When maintaining a vehicle, technicians sometimes need information for diagnosing and / or repairing the vehicle, as well as post-repair activities performed on the repaired vehicle. Such technicians can use a vehicle information system that provides parameter identifier (PID) values. Since hundreds of PIDs can be used for each of hundreds of different types of vehicles, technicians may not know which PID is suitable for or convenient for diagnosing a specific symptom of a specific vehicle. This may cause the technician to guess which PIDs should be requested to diagnose the symptoms. If the technician guesses wrong, the technician may not see the PID value that will result in a faster and more accurate diagnosis of the symptom. In that case or in another case, the technician cannot obtain a filtered list of PID values ​​based on repair order data, past user selections of PID values, and / or abnormal PID values. Summary of the invention

[0005] Several example embodiments related to diagnostic lists, such as PID filter lists, component test filter lists, functional test filter lists, and / or reset process filter lists are described herein. Some example embodiments relate to displaying PIDs based on PID filter lists or to determining diagnostic filter lists, providing diagnostic filter lists for display on a display device, and / or displaying diagnostic filter lists.

[0006] From one aspect, an example embodiment takes the form of a method, which includes determining, by a display device, identification information of a vehicle to be maintained. The method also includes receiving at least one symptom identifier of the vehicle at the display device. The method also includes issuing, by the display device, a request to a remote server via a communication network to obtain a PID filter list for the vehicle, the request including the identification information of the vehicle and the at least one symptom identifier of the vehicle. The method also includes receiving, at the display device, a response to the request from the remote server via a communication network, the response including a PID filter list for the vehicle. The method also includes determining, by the display device, a symptom-based PID subgroup of the vehicle from a set of available PIDs based on the PID filter list of the vehicle. The method also includes displaying, by the display device, the symptom-based PID subgroup of the vehicle on a display interface.

[0007] From another aspect, the exemplary embodiment takes the form of a display device, which includes a display interface, one or more processors, a non-transitory computer-readable medium, and program instructions stored on the non-transitory computer-readable medium. The program instructions can be executed by the one or more processors to determine the identification information of the vehicle to be maintained. The program instructions can also be executed by the one or more processors to receive at least one symptom identifier of the vehicle. The program instructions can also be executed by the one or more processors to send a request to a remote server via a communication network to obtain a PID filter list for the vehicle, the request including the identification information of the vehicle and the at least one symptom identifier of the vehicle. The program instructions can also be executed by the one or more processors to receive a response to the request from the remote server via a communication network, the response including the PID filter list. The program instructions can also be executed by the one or more processors to determine a symptom-based PID subgroup of the vehicle from a set of available PIDs based on the vehicle's PID filter list. The program instructions can also be executed by the one or more processors to display the symptom-based PID subgroup of the vehicle on the display interface.

[0008] From another aspect, an example embodiment takes the form of a non-transitory computer-readable medium having instructions stored therein that can be executed by one or more processors to cause a computing system to perform functions. The functions include determining identification information of a vehicle to be maintained. The functions also include receiving at least one symptom identifier of the vehicle. The functions also include issuing a request to a remote server via a communication network to obtain a PID filter list for the vehicle, the request including the identification information of the vehicle and the at least one symptom identifier of the vehicle. The functions also include receiving a response to the request from the remote server via the communication network, the response including the PID filter list for the vehicle. The functions also include determining a symptom-based PID subgroup for the vehicle from a set of available PIDs based on the PID filter list for the vehicle. The functions also include displaying the symptom-based PID subgroup for the vehicle on a display interface.

[0009] Viewed from another aspect, an example embodiment takes the form of a method at a server for outputting a PID filter list, comprising: (i) receiving repair order (RO) data at the server, wherein the RO data includes data from one or more ROs indicating specific vehicle identification information, at least one symptom identifier, and a specific vehicle component, (ii) determining, at the server, symptom-PID mapping data based on the received RO data and component-PID mapping data, wherein the component-PID mapping data maps one or more PIDs from a set of available PIDs from a set of vehicles identifiable by the specific vehicle identification information to the specific vehicle component, and wherein the symptom-PID mapping data maps one or more PIDs from the set of vehicles identifiable by the specific vehicle identification information to the specific vehicle component. (iii) determining, at a server, a PID filter list based on the group of available PIDs for the group of vehicles and the symptom-PID mapping data, wherein the PID filter list is associated with specific vehicle identification information and the at least one symptom identifier, and wherein the PID filter list indicates a symptom-based subset of the group of available PIDs from the group of vehicles, (iv) receiving, at the server, a request sent from a display device over a communication network, wherein the request includes the specific vehicle identification information and the at least one symptom identifier, and (v) sending, by the server to the display device over the communication network, a response to the request, the response including the PID filter list.

[0010] Viewed from another aspect, an example embodiment takes the form of a server comprising: a network communication interface for communicating with a display device via a communication network; and at least one processor coupled to the network communication interface and programmed to: (i) receive RO data at the server, wherein the RO data includes data from one or more ROs indicating specific vehicle identification information, at least one symptom identifier, and specific vehicle components, (ii) determine, at the server, symptom-PID mapping data based on the received RO data and component-PID mapping data, wherein the component-PID mapping data maps one or more PIDs from a set of available PIDs for a set of vehicles identifiable by the specific vehicle identification information to the specific vehicle components, and wherein the symptom-PID mapping data maps the PIDs from the one or more ROs to the specific vehicle components. The one or more PIDs in the group of available PIDs of the group of vehicles identified by the specific vehicle identification information are mapped to the at least one symptom identifier, (iii) determining a PID filter list at a server based on the group of available PIDs of the group of vehicles and symptom-PID mapping data, wherein the PID filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the PID filter list indicates a symptom-based subset of PIDs in the group of available PIDs from the group of vehicles, (iv) receiving a request at the server from a display device via a communication network, wherein the request includes the specific vehicle identification information and the at least one symptom identifier; and (v) sending a response to the request by the server to the display device via the communication network, the response including the PID filter list.

[0011] Viewed from another aspect, an example embodiment takes the form of a non-transitory computer-readable memory having instructions stored therein, the instructions executable by one or more processors to cause a server to perform functions including: (i) receiving RO data at the server, wherein the RO data includes data from one or more ROs indicating specific vehicle identification information, at least one symptom identifier, and a specific vehicle component, (ii) determining, at the server, symptom-PID mapping data based on the received RO data and component-PID mapping data, wherein the component-PID mapping data maps one or more PIDs from a set of available PIDs for a set of vehicles identifiable by the specific vehicle identification information to the specific vehicle component, and wherein the symptom-PID mapping data maps one or more PIDs from a set of available PIDs for a set of vehicles identifiable by the specific vehicle identification information to the specific vehicle component. (iii) determining, at a server, a PID filter list based on the group of available PIDs for the group of vehicles and symptom-PID mapping data, wherein the PID filter list is associated with specific vehicle identification information and the at least one symptom identifier, and wherein the PID filter list indicates a symptom-based subset of PIDs from the group of available PIDs for the group of vehicles, (v) receiving, at the server, a request sent from a display device via a communication network, wherein the request includes the specific vehicle identification information and the at least one symptom identifier, and (v) sending, by the server to the display device via the communication network, a response to the request, the response including the PID filter list.

[0012] Viewed from another aspect, an example embodiment takes the form of a method for outputting a PID filter list, comprising: (i) receiving at a server a first set of PID values ​​and a second set of PID values, wherein the first set of PID values ​​is for a specific PID from a first set of vehicles, wherein all diagnostic trouble codes (DTCs) of a specific electronic control unit (ECU) in each of the first set of vehicles are set to invalid, wherein the second set of PID values ​​is for a specific PID from a second set of vehicles, wherein one or more specific DTCs of the specific ECU in each of the second set of vehicles are set to valid, and wherein the first set of vehicles and the second set of vehicles are identifiable by specific vehicle identification information, and (ii) determining, by the server, a PID value of the specific PID from the first set of PID values. range, (iii) determining, by the server, from the second set of PID values, that one or more PID values ​​of the specific PID are outside the PID value range of the specific PID by a threshold value, (iv) in response to determining that the one or more PID values ​​of the specific PID are outside the PID value range of the specific PID by the threshold value, adding, by the server, the specific PID to a PID filter list, (v) receiving, at the server, a request sent from a display device over a communication network, wherein the request includes specific vehicle identification information and specific DTCs, (vi) retrieving, by the server, the PID filter list based on the specific vehicle identification information and the specific DTCs received in the request, and (vii) sending, by the server, a response to the request to the display device over the communication network, the response including the PID filter list.

[0013] Viewed from another aspect, an example embodiment takes the form of a server comprising: a network communication interface for communicating with a display device via a communication network; and at least one processor coupled to the network communication interface and programmed to: (i) receive at the server a first set of PID values ​​and a second set of PID values, wherein the first set of PID values ​​are for a specific PID from a first group of vehicles, wherein all DTCs for a specific ECU in each vehicle in the group of vehicles are set to invalid, wherein the second set of PID values ​​are for a specific PID from a second group of vehicles, wherein one or more specific DTCs for a specific ECU in each vehicle in the second group of vehicles are set to valid, and wherein the first group of vehicles and the second group of vehicles are identifiable by specific vehicle identification information, and (ii) receive, by the server, from the first set of PID values ​​a specific DTC for a specific ECU in each vehicle in the second group of vehicles. determining a PID value range for a specific PID, (iii) determining, by a server, from a second set of PID values, that one or more PID values ​​of the specific PID are outside the PID value range for the specific PID by a threshold, (iv) in response to determining that the one or more PID values ​​of the specific PID are outside the PID value range for the specific PID by the threshold, adding, by the server, the specific PID to a PID filter list, (v) receiving, at the server, a request sent from a display device over a communication network, wherein the request includes specific vehicle identification information and specific DTC, (vi) retrieving, by the server, the PID filter list based on the specific vehicle identification information and the specific DTC received in the request, and (vii) sending, by the server, a response to the request to the display device over the communication network, the response including the PID filter list.

[0014] Viewed from another aspect, an example embodiment takes the form of a non-transitory computer-readable memory having instructions stored therein, the instructions executable by one or more processors to cause a server to perform functions including: (i) receiving at the server a first set of PID values ​​and a second set of PID values, wherein the first set of PID values ​​is for a specific PID from a first group of vehicles, wherein all diagnostic trouble codes (DTCs) of a specific ECU in each vehicle in the group of vehicles are set to invalid, wherein the second set of PID values ​​is for a specific PID from a second group of vehicles, wherein one or more specific DTCs of the specific ECU in each vehicle in the second group of vehicles are set to valid, and wherein the first group of vehicles and the second group of vehicles are identifiable by specific vehicle identification information, (ii) receiving, by the server, a first set of PID values ​​from the first set of PID values ​​and a second set of PID values, wherein the first set of PID values ​​is for a specific PID from a first group of vehicles, wherein all diagnostic trouble codes (DTCs) of a specific ECU in each vehicle in the group of vehicles are set to invalid, and wherein the first group of vehicles and the second group of vehicles are identifiable by specific vehicle identification information. The invention relates to a method for controlling a display device and a plurality of display devices in a plurality of different display devices. The method comprises: determining a PID value range of a specific PID from the second set of PID values, (iii) determining by the server from the second set of PID values ​​that one or more PID values ​​of the specific PID are outside the PID value range of the specific PID by a threshold value, (iv) in response to determining that the one or more PID values ​​of the specific PID are outside the PID value range of the specific PID by the threshold value, adding by the server the specific PID to a PID filter list, (v) receiving at the server a request sent from a display device via a communication network, wherein the request includes specific vehicle identification information and specific DTC, (vi) retrieving by the server the PID filter list based on the specific vehicle identification information and the specific DTC received in the request, and (vii) sending by the server a response to the request to the display device via the communication network, wherein the response includes the PID filter list.

[0015] Viewed from another aspect, an example embodiment takes the form of a method for providing a modified PID filter list to a display device, comprising: (i) receiving, at a server, a first request issued from a first display device connected to a first vehicle over a communication network, wherein the first request includes specific vehicle identification information and at least one symptom identifier, wherein the specific vehicle identification information identifies a specific vehicle group, wherein the specific vehicle group includes the first vehicle, and wherein the at least one symptom identifier includes symptoms that each vehicle in the specific vehicle group may exhibit, (ii) sending, by the server to the first display device over the communication network, a response to the first request, the response to the first request including the PID filter list; table, (iii) determining by the server that the first display device displays an additional PID not included in the PID filter list in response to a request from the first vehicle, (iv) generating by the server a modified PID filter list by adding the additional PID to the PID filter list, (v) after generating the modified PID filter list, receiving at the server a next request sent from the second display device through the communication network, wherein the next request includes specific vehicle identification information and the at least one symptom identifier, and (vi) sending by the server a response to the next request to the second display device through the communication network, the response to the next request including the modified PID filter list.

[0016] Viewed from another aspect, an example embodiment takes the form of a server comprising: a network communication interface for communicating with a display device via a communication network; and at least one processor coupled to the network communication interface and programmed to: (i) receive at the server a first request issued via the communication network from a first display device connected to a first vehicle, wherein the first request comprises specific vehicle identification information and at least one symptom identifier, wherein the specific vehicle identification information identifies a specific vehicle group, wherein the specific vehicle group comprises the first vehicle, and wherein the at least one symptom identifier comprises symptoms that each vehicle in the specific vehicle group may exhibit, (ii) send, by the server via the communication network, a response to the first request to the first display device, The response to the first request includes a PID filter list, (iii) determining by the server that the first display device responds to the request of the first vehicle to display an additional PID not included in the PID filter list by the first display device, (iv) generating by the server a modified PID filter list by adding the additional PID to the PID filter list, (v) after generating the modified PID filter list, receiving at the server a next request sent from the second display device via the communication network, wherein the next request includes specific vehicle identification information and the at least one symptom identifier, and (vi) sending by the server to the second display device via the communication network a response to the next request, the response to the next request including the modified PID filter list.

[0017] Viewed from another aspect, an example embodiment takes the form of a non-transitory computer-readable memory having instructions stored therein, the instructions being executable by one or more processors to cause a server to perform functions including: (i) receiving at the server a first request sent from a first display device connected to a first vehicle via a communication network, wherein the first request includes specific vehicle identification information and at least one symptom identifier, wherein the specific vehicle identification information identifies a specific vehicle group, wherein the specific group of vehicles includes the first vehicle, and wherein the at least one symptom identifier includes symptoms that each vehicle in the specific vehicle group may exhibit, (ii) sending, by the server to the first display device via the communication network, a response to the first request, wherein the first request includes specific vehicle identification information and at least one symptom identifier; a response to a request including a PID filter list, (iii) determining by the server that the first display device is to display an additional PID not included in the PID filter list in response to a request of the first vehicle, (iv) generating by the server a modified PID filter list by adding the additional PID to the PID filter list, (v) after generating the modified PID filter list, receiving at the server a next request sent from the second display device via the communication network, wherein the next request includes specific vehicle identification information and the at least one symptom identifier, and (vi) sending by the server to the second display device via the communication network a response to the next request, wherein the response to the next request includes the modified PID filter list.

[0018] These and other aspects and advantages will become apparent to those of ordinary skill in the art by reading the following detailed description and referring to the appropriate drawings.In addition, it should be understood that the embodiments described in this summary and elsewhere are only examples and do not necessarily limit the scope of the invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Example embodiments are described herein with reference to the accompanying drawings.

[0020] Figure 1 is a schematic diagram illustrating an example operating environment in which example embodiments may operate.

[0021] Figure 2 It is a communication flow chart.

[0022] Figure 3 This is another workflow diagram.

[0023] Figure 4 This is another workflow diagram.

[0024] Figure 5 is a schematic diagram of a vehicle showing example placement of a display device.

[0025] Figure 6 is a block diagram of an example server.

[0026] Figure 7 is a schematic diagram illustrating example mapping data according to an example embodiment.

[0027] Figure 8 is a diagram illustrating an example index according to an example embodiment.

[0028] Fig. 9 is a schematic diagram illustrating example mapping data according to an example embodiment.

[0029] Fig.10 is a schematic diagram illustrating example symptom-component mapping data according to an example embodiment.

[0030] Fig.11 is a schematic diagram illustrating example mapping data according to an example embodiment.

[0031] Fig.12 Example PID indices are shown.

[0032] Fig.13 An example component test index is shown.

[0033] Fig.14 An example functional test index is shown.

[0034] Fig.15 An example reset process index is shown.

[0035] Fig.16 An example repair order is shown.

[0036] Fig.17 is a flow diagram depicting a set of functions that may be performed according to an example embodiment.

[0037] Fig.18 and Fig.19 is a flow diagram depicting a set of functions that may be performed according to an example embodiment.

[0038] Fig. 20 is a flow diagram depicting a set of functions that may be performed according to an example embodiment.

[0039] Fig.21 is a flow diagram depicting a set of functions that may be performed according to an example embodiment.

[0040] Fig. 22 is a schematic diagram showing example PIDs and PID values ​​communicated by a vehicle.

[0041] Fig.23 is a block diagram of an example display device.

[0042] Fig.24 An example display interface of a display device is shown.

[0043] Fig.25An example display interface with a code-specific diagnostics list is shown.

[0044] Fig.26 An example display interface is shown with a code-specific PID list and a baseline range.

[0045] Fig. 27 An example display interface is shown with a code-specific list of PIDs and PIDs with out-of-range values.

[0046] Fig.28 An example display interface with a code-specific PID list and a PID value graph is shown.

[0047] Fig.29 An example display interface with multiple vehicle operating states is shown.

[0048] Fig.30 An example display interface with code specific functional testing and reset procedures is shown.

[0049] Fig.31 An example display interface with code-specific component testing is shown.

[0050] Fig.32 An example display interface is shown in a disconnected state.

[0051] Fig.33 An example PID filter list is shown.

[0052] Fig.34 is a flow diagram depicting a set of functions that may be performed according to an example embodiment.

[0053] Fig.35 An example of component level data is shown.

[0054] Fig.36 is a functional block diagram illustrating a computing system arranged in accordance with at least some example embodiments.

[0055] Fig.37 is a schematic diagram illustrating a conceptual partial view of a computer program product for executing a computer process on a computing system according to an example embodiment. DETAILED DESCRIPTION

[0056] This description describes several example embodiments, at least some of which relate to determining a diagnostic list and / or providing a diagnostic list to a display device configured to display a diagnostic list. The diagnostic list may include a diagnostic filter list. The diagnostic filter list may include a PID filter list, a component test filter list, a functional test filter list, and / or a reset process filter list. The display device is operable to display the diagnostic list. The diagnostic filter list may be applicable to a group of vehicles and symptoms presented by vehicles within the group of vehicles. The diagnostic filter list may also be based on other criteria. In the aforementioned examples, the diagnostic filter list is contextually related to the group of vehicles, symptoms, and / or other criteria. The display device may be connected to a vehicle presenting symptoms so as to display PID data values ​​from the vehicle for the PID that the server has determined to be most suitable for the group of vehicles and symptoms. The display device may also display the component test, functional test, and / or reset process that the server has determined to be most suitable for the group of vehicles and symptoms. The display device may then cause the selected component test, functional test, and / or reset process to be performed on the vehicle.

[0057] Figure 1 is a schematic diagram illustrating an example operating environment 1 in which an example embodiment may operate. The operating environment 1 includes a server 2, a communication network 3, a display device 4, communication links 5, 6 and 7, a repair shop 8, a vehicle 9, and a repair order (RO) device 10. The RO device 10 is configured to generate a RO and provide the RO to the server 2. The RO device 10 may operate within and / or outside the repair shop 8.

[0058] The communication network 3 may include communication links 5, 6 and 7 and other communication links (not shown). The communication network 3 and the communication links 5, 6 and 7 may include various network components, such as switches, modems, gateways, antennas, cables, transmitters and / or receivers. The communication network 3 may include a wide area network (WAN). The WAN may use packet switching and / or circuit switching technology to carry data. The WAN may include an air interface or line to carry data. The communication network 3 may include a network (such as a communication network commonly referred to as the Internet) or at least a portion of a network that uses a transmission control protocol (TCP) and an Internet protocol (IP) to perform communication.

[0059] The repair shop 8 may include various workshop tools, such as a brake lathe, a wheel alignment machine, a wheel balancer and / or a diagnostic device for diagnosing the vehicle. The workshop tools may include a display device 4. Figure 1 As shown, the display device 4 is located in the repair shop 8. However, the display device 4 can be operated inside and / or outside the repair shop 8. For example, when the vehicle 9 is driving on the road outside the repair shop 8, the display device 4 can be used in the vehicle 9 for various purposes. The server 2 can be scaled so as to be able to serve any number of display devices, such as one display device (such as Figure 1 as shown), one hundred display devices, one thousand display devices, or some other number of display devices.

[0060] A vehicle, such as vehicle 9, is a mobile machine that can be used to transport people, crowds, or cargo. As an example, any vehicle discussed herein can be driven and / or otherwise guided along a path (e.g., paved roads or otherwise) on land, in water, in the air, or in outer space. As another example, any vehicle discussed herein can be wheeled, tracked, tracked, or gliding. As yet another example, any vehicle discussed herein can include an automobile, a motorcycle, an all-terrain vehicle (ATV) as defined by ANSI / SVIA-1-2007, a snowmobile, a personal watercraft (e.g., Personal watercraft), light trucks, medium trucks, heavy trucks, semi-tractors or agricultural machinery. As an example, the vehicles guided along the path may include vans (e.g., dry vans or refrigerated trucks), tank trailers, platform trailers or car carriers. As another example, any vehicle discussed herein may include or use any appropriate voltage or current source (such as a battery, an alternator, a fuel cell, etc.) to provide any appropriate current or voltage, such as about 12 volts, about 42 volts, etc. As another example, any vehicle discussed herein may include or use any desired system or engine. These systems or engines may include items using fossil fuels (such as gasoline, natural gas, propane, etc.), electricity (such as generated by batteries, magnetic generators, fuel cells, solar cells, etc.), wind and hybrid power or a combination thereof. As another example, any vehicle discussed herein may include an ECU, a data link connector (DLC) and a vehicle communication link connecting the DLC to the ECU.

[0061] Vehicle manufacturers may build various numbers of vehicles in each calendar year (i.e., January 1 to December 31). In some cases, a vehicle manufacturer defines a model year for a specific vehicle model to be built. A model year may start on a date other than January 1 and / or may end on a date other than December 31. A model year may span parts of two calendar years. A vehicle manufacturer may build one vehicle model or multiple different vehicle models. Two or more different vehicle models built by a vehicle manufacturer during a specific calendar year may have the same differently defined model year. A vehicle manufacturer may build vehicles of a specific vehicle model with different vehicle options. For example, a specific vehicle model may include a vehicle with a six-cylinder engine and a vehicle with an eight-cylinder engine. A vehicle manufacturer or another entity may define vehicle identification information for each vehicle built by the vehicle manufacturer. Specific vehicle identification information identifies a specific vehicle group (e.g., all vehicles of a specific vehicle model of a specific vehicle model year or all vehicles of a specific vehicle model of a specific vehicle model year with a set of specific vehicle options).

[0062] As an example, specific vehicle identification information may include indicators of characteristics of the vehicle, such as when the vehicle was built (e.g., a vehicle model year), who built the vehicle (e.g., a vehicle manufacturer (i.e., a vehicle maker)), a marketing name associated with the vehicle (e.g., a vehicle model name, or more simply a "model"), and characteristics of the vehicle (e.g., an engine type). According to this example, the specific vehicle identification information may be referred to by the abbreviations YMME or Y / M / M / E, where each letter in the order shown represents a model year identifier, a vehicle manufacturer identifier, a vehicle model name identifier, and an engine type identifier, respectively, or by the abbreviations YMM or Y / M / M, where each letter in the order shown represents a model year identifier, a vehicle manufacturer identifier, and a vehicle model name identifier, respectively. An example Y / M / M / E is 2004 / Toyota / Camry / 4Cyl, where "2004" represents the vehicle model year in which the vehicle was built, "Toyota" represents the automobile manufacturer Toyota Motor Corporation of Aichi Prefecture, Japan, "Camry" represents the vehicle model built by the manufacturer, and "4Cyl" represents the engine type in the vehicle (i.e., a four-cylinder internal combustion engine). Those skilled in the art will appreciate that other features may be used in addition to or as an alternative to "engine type" to identify a vehicle using specific vehicle identification information. These other features may be identified in a variety of ways, such as a regular production option (RPO) code, such as the RPO codes defined by General Motors Company LLC of Detroit, Michigan.

[0063] The vehicle communication link within the vehicle may include one or more conductors (e.g., copper wire conductors) or may be wireless. As an example, the vehicle communication link may include one or two conductors for carrying vehicle data messages according to a vehicle data message (VDM) protocol. The VDM protocol may include the Society of Automotive Engineers (SAE) J1850 (PWM or VPW) VDM protocol, the International Organization for Standardization (ISO) 15764-4 Controller Area Network (CAN) VDM protocol, the ISO 9141-2 K-Line VDM protocol, the ISO 14230-4 KWP2000 K-Line VDM protocol, or some other protocol currently defined for performing communications within a vehicle.

[0064] The ECU may control individual aspects of vehicle operation or components within the vehicle. For example, the ECU may include a powertrain (PT) system ECU, an engine control module (ECM) ECU, a supplemental inflatable restraint (SIR) system (i.e., an airbag system) ECU, an entertainment system ECU, or some other ECU. The ECU may receive inputs (e.g., sensor inputs), control output devices (e.g., solenoids), generate vehicle data messages (VDMs) (such as VDMs based on received inputs or controlled outputs), and set diagnostic trouble codes (DTCs) as valid or historical records of faults or fault conditions detected within the vehicle. The performance of the functional test may or may include a display device 4 sending the VDM to the vehicle regarding the reset process of the ECU. The VDM received by the ECU may include a PID request. The VDM sent by the ECU may include a response including a PID and a PID data value of the PID.

[0065] Next, Figure 2 is a communication flow diagram illustrating an example communication 20 occurring between a RO device 10 and a server 2. The communication 20 includes RO data sent by the RO device 10 over the communication network 3. In one aspect, the RO device 10 may generate some or all of the RO data sent to the server 2. In another aspect, some or all of the RO data sent to the server 2 may be generated remote from the RO device 10 and provided to the RO device 10 from a remote device. The remote device may include a display device 4, a vehicle 9, or some other remote device that generates data for inclusion on the RO. The communication 20 may occur in response to a request from the RO sent by the server 2 to the RO device 10 over the communication network 3. The communication 20 may include RO data from one RO or multiple ROs. The communication 20 may include separate communications with RO data from multiple repair shops 8. The following description Fig.16 An example of RO data that may be sent to the server 2 via communication 20 is shown.

[0066] Figure 2Also shown are example communications 21 and 22 occurring between the display device 4 and the server 2. Communication 21 includes a PID data value, a PID identifying what the PID data value represents, and information about the state of a particular vehicle that is the source of the PID data value. Communication 22 includes vehicle identification information that identifies the particular vehicle that is the source of the PID data value within communication 21. The information about the state of a particular vehicle may include information indicating whether the ECU that is the source of the PID data value within the particular vehicle has any valid or invalid DTCs. The server 2 may determine a baseline value for the PID using the PID data values ​​provided from the particular vehicle and from other vehicles that may be identified by the same vehicle identification information provided in communication 22.

[0067] Next, Figure 3 An example workflow between a display device and a server is shown. More specifically, the display device 4 can communicate with the server 2 to assist a technician in maintaining the vehicle 9. The display device 4 can send a request 24 for a diagnostic filter list to the server 2 via a communication network. The request 24 may include information describing one or more symptoms of the vehicle 9. The server 2 may send a response 25 to the request 24 back to the display device 4. The response 25 to the request 24 may include the requested diagnostic filter list. Typically, a diagnostic filter list may be generated by the server 2 to filter data or information displayed on a display interface of the display device 4. For example, the server 2 may provide the display device 4 with an indication of which data or information is most relevant to a technician considering the one or more symptoms of the vehicle 9. Therefore, the response 25 to the request 24 provided by the server 2 may allow the display device 4 to display context-related data or information about the vehicle 9 to the technician, wherein the context is based on the one or more symptoms of the vehicle 9.

[0068] Next, Figure 4An example workflow between a vehicle, a display device, and a server is shown. In an example embodiment, the display device 4 may initially collect information from the vehicle 9 before communicating with the server 2. Specifically, the display device 4 may receive vehicle identification information 26 and one or more symptom identifiers 27 from the vehicle 9. As previously described, the vehicle identification information 26 may include features of the vehicle 9, such as year, manufacturer, model, and engine. In some examples, the one or more symptom identifiers 27 may be one or more diagnostic trouble codes (DTCs). In other examples, the one or more symptom identifiers 27 may be one or more non-DTC symptom identifiers (such as, "engine misfire", "misfire", or "engine no start", or "no start"). Non-DTC symptom identifiers indicate symptoms other than DTCs. In other examples, the one or more symptom identifiers 27 may be one or more DTCs and one or more non-DTC symptom identifiers. In addition, any symptom identifiers discussed in this application (including any one or more symptom identifiers and / or at least one symptom identifier) ​​may be (i) one or more DTCs, (ii) one or more non-DTC symptom identifiers, or (iii) one or more DTCs and one or more non-DTC symptom identifiers. In other examples, the vehicle identification information 26 and / or the one or more symptom identifiers 27 may be received by the display device 4 from a different source other than the vehicle 9 .

[0069] The display device 4 may send the vehicle identification information 26 and the one or more symptom identifiers 27 to the server 2. The server 2 may process the vehicle identification information 26 and the one or more symptom identifiers 27 to determine one or more context-related diagnostic filter lists to provide back to the display device 4. Specifically, the server 2 may provide any combination of the PID filter list 182, the functional test filter list 184, the reset procedure filter list 186, and the component test filter list 188.

[0070] The PID filter list 182 may indicate a context-related PID of the vehicle 9 using the vehicle identification information 26 and symptoms corresponding to the one or more symptom identifiers 27. The function test filter list 184 may indicate a context-related function test of the vehicle 9 using the vehicle identification information 26 and symptoms corresponding to the one or more symptom identifiers 27. The reset procedure filter list 186 may indicate a context-related reset procedure of the vehicle 9 using the vehicle identification information 26 and symptoms corresponding to the one or more symptom identifiers 27. The component test filter list 188 may indicate a context-related component test of the vehicle 9 using the vehicle identification information 26 and symptoms corresponding to the one or more symptom identifiers 27.

[0071] After receiving one or more diagnostic filter lists from the server 2, the display device 4 can use the one or more diagnostic filter lists to determine and display contextually relevant data or information subgroups to the technician. Specifically, the display device 4 can display a symptom-based PID subgroup, a symptom-based functional test subgroup, a symptom-based reset procedure subgroup, and / or a symptom-based subgroup of component tests.

[0072] Next, Figure 5 Example details of a vehicle 9 and an example arrangement of a display device 4 within the vehicle 9 are shown. Specifically, Figure 5 The vehicle 9 is shown to include an airbag system ECU 30, a traction control system ECU 31, a powertrain system ECU 32, an anti-lock brake system (ABS) ECU 33, and a DLC 34, each connected to a vehicle communication link 36. Other examples of ECUs within the vehicle 9 are also possible. The DLC 34 may be located, for example, within a passenger compartment of the vehicle 9, within an engine compartment of the vehicle 9, or within a storage compartment within the vehicle 9. The display device 4 may include and / or be connected to the DLC 34 via a DLC-display device communication link 35. The display device 4 is typically removed after the vehicle 9 is serviced at the repair shop 8. In this way, the display device 4 may be used to diagnose other vehicles after they arrive at the repair shop 8.

[0073] The DLC 34 may include a connector, such as an OBD I connector, an OBD II connector, or some other connector. The OBD II connector may include slots for retaining up to 16 connector terminals, but may include a different number of slots or no slots at all. As an example, the DLC connector may include an OBD II connector that complies with the SAE J1962 specification, such as connector 16M, part number 12110252, available from Delphi Automotive LLP in Troy, Michigen. The DLC 34 may include conductor terminals connected to conductors in the vehicle. For example, the DLC 34 may include connector terminals connected to conductors that are connected to the positive and negative terminals of the vehicle battery, respectively. The DLC 34 may include one or more conductor terminals connected to a conductor of a vehicle communication link so that the DLC 34 is communicatively connected to an ECU in the vehicle 9.

[0074] Next, Figure 6 is a block diagram of server 2. Figure 6 As shown, server 2 includes a processor 50, a communication interface 51, and a memory 52. ​​Two or more of these components may be communicatively coupled or linked together via a system bus, network, or other connection mechanism 53.

[0075] A processor, such as processor 50 or any other processor discussed in this specification, may include one or more processors. A processor may include a general purpose processor (e.g., Single core microprocessor or The processor 50 may be a computer program product (e.g., a processor such as a processor 50, a multi-core microprocessor), or a special purpose processor (e.g., a digital signal processor, a graphics processor, or an application specific integrated circuit (ASIC) processor). The processor may be configured to execute computer readable program instructions (CRPI). For example, the processor 50 may execute the CRPI 60 stored in the memory 52. ​​The processor may be configured to execute hard-coded functions in addition to or as an alternative to software-coded functions (e.g., via the CRPI). The at least one processor of the processor 50 may be programmed to perform any function or combination of functions described herein as performed by the server 2.

[0076] Memory, such as memory 52 or any other memory discussed in this specification, may include one or more memories. Memory may include non-transitory memory, temporary memory, or both non-transitory memory and temporary memory. Non-transitory memory or a portion thereof may be located within the processor or as part of the processor (e.g., within a single integrated circuit chip). Non-transitory memory or a portion thereof may be separate and distinct from the processor.

[0077] The non-transitory memory may include volatile or non-volatile storage components, such as optical, magnetic, organic, or other memory or disk storage components. Additionally or alternatively, the non-transitory memory may include or be configured as a random access memory (RAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a compact disk read-only memory (CD-ROM). The RAM may include static RAM or dynamic RAM.

[0078] The temporary memory may include, for example, CRPI provided via a communication link, such as a communication link connected to or as part of the communication network 3. The communication link may include a digital or analog communication link. The communication link may include a wired communication link including one or more lines or conductors, or a wireless communication link including an air interface.

[0079] “Memory” may be referred to by other terms such as “computer-readable memory,” “computer-readable medium,” “computer-readable storage medium,” “data storage device,” “memory device,” “computer-readable medium,” “computer-readable database,” “at least one computer-readable medium,” or “one or more computer-readable media.” Any of these alternative terms may be preceded by the prefix “transitory” if the memory is transitory, or by the prefix “non-transitory” if the memory is non-transitory.

[0080] The memory 52 stores computer readable data such as CRPI 60, index 61, mapping data 62, RO data 63, diagnostic session data (DSD) 64, diagnostic list 65, threshold 66, component level 67 and baseline range 68. RO data 63 may include data from one or more ROs. Data from each RO may be stored in RO data 63 as a separate record related to a vehicle in the group of vehicles being processed at the repair shop. RO data 63 may include RO data aggregated from multiple ROs. Threshold 66 may include any threshold and / or threshold percentage discussed in this specification.

[0081] The DSD 64 may include data that the server 2 may use to determine the operating status of the display device 4. The data that the server 2 uses to determine the operating status of the display device 4 may include the vehicle identification information 26, data indicating the time that has elapsed since the server 2 last received a communication from the display device 4, data indicating the most recent type of diagnostic list requested by and / or sent to the display device 4, and / or data indicating that repairs have been performed on a particular vehicle.

[0082] The DSD 64 may include data indicating a determined operating state of the display device 4. Examples of operating states include (i) the display device 4 is connected to the server 2, (ii) the display device is not connected to the server 2 (i.e., disconnected from the server 2), (iii) the display device 4 is connected to a particular vehicle (e.g., vehicle 9), (iv) the display device 4 is no longer connected to the particular vehicle (i.e., disconnected from the particular vehicle), (v) the display device 4 is in a request and / or display diagnostic list mode for the particular vehicle, (vi) the display device 4 has exited a request and / or display diagnostic list mode for the particular vehicle, and (vii) the display device has returned to a request and / or display diagnostic list mode for the particular vehicle.

[0083] The DSD 64 may also include data indicating whether the diagnostic session at the display device 4 is valid or invalid. The server 2 may determine that a new diagnostic session is valid when receiving vehicle identification information for a specific vehicle, while the DSD 64 does not include data indicating that the diagnostic session is valid for the specific vehicle. The server 2 may determine that a valid diagnostic session for a specific vehicle has been transformed into an invalid session when receiving vehicle identification information for a different specific vehicle. Upon determining that a threshold amount of time has passed since a specific activity of a valid diagnostic session, the server 2 may determine that a valid diagnostic session for a specific vehicle has been transformed into an invalid session. As an example, the specific activity may include receiving a request from the display device 4, receiving a communication indicating that the display device 4 is connected to the communication network 3, and / or sending a response with a diagnostic list to the display device 4. Other examples of specific activities are also possible.

[0084] The baseline range 68 may include a baseline range for the PIDs. The baseline range for each PID may include a baseline maximum data value and a baseline minimum data value. The baseline range 68 may include a baseline range for the PIDs from each group of vehicles that may be identified by some specific vehicle identification information. In this way, the server 2 may provide the display device 4 with an applicable baseline range for a specific vehicle connected to the display device 4.

[0085] In one aspect, the baseline range 68 may include a baseline range defined by the vehicle manufacturer. For a particular PID associated with a DTC, the vehicle manufacturer may define a baseline maximum data value as the maximum data value for the particular PID that the ECU will output when the associated DTC is set to invalid, and the vehicle manufacturer may define a baseline minimum data value as the minimum data value for the particular PID that the ECU will output when the associated DTC is set to invalid.

[0086] In another aspect, the baseline range 68 may include a baseline range determined by the server 2 based on PID data values ​​received in a communication (such as communication 21) including the PID data values. The server 2 may store the received PID data values ​​in the baseline range 68 and determine the maximum and minimum data values ​​for each PID for each group of vehicles that can be identified by the specific vehicle identification information. The server 2 may maintain a PID count indicating how many PID data values ​​have been received and / or stored for a specific PID. The server 2 may compare the PID count with a first threshold PID count value stored in the threshold 66. If the server 2 determines that the PID count is less than the first threshold PID count value, the server 2 may generate a first baseline range for the specific PID. As an example, the server 2 may determine the first baseline range for the PID as the average maximum PID data value plus X standard deviations of the average maximum PID data value and the average minimum PID data value minus X standard deviations of the average minimum PID data value. The average maximum PID data value is the average of the maximum PID data values ​​for the specific PID on a specific vehicle that can be identified by the specific vehicle identification information, where all DTCs from the ECU providing the specific PID are set to invalid. The average minimum PID data value is an average value of the minimum PID data value of the specific PID on a specific vehicle identifiable by specific vehicle identification information, where all DTCs from the ECU providing the specific PID are set to invalid.

[0087] As server 2 continues to receive PID data values ​​for a particular PID, server 2 may determine that the amount of received PID data values ​​for the particular PID exceeds a first threshold PID count value, but is less than a second threshold PID count value. In this case, server 2 may generate a second baseline range for the particular PID. As an example, server 2 may determine the second baseline range for the PID as the average maximum PID data value plus X-1 standard deviation of the average maximum PID data value and the average minimum PID data value minus X-1 standard deviation of the average minimum PID data value. The first baseline range may refer to a loose baseline range with respect to the second baseline range. The second baseline range may refer to a tighter baseline range with respect to the first baseline range.

[0088] The server 2 may determine the loose and tight baseline ranges in other ways. For example, the server 2 may add a first percentage of the average maximum PID data value for the particular PID to the average maximum PID data value, or add a first percentage of the maximum PID data value for the particular PID to the maximum PID data value, before the server 2 has received a plurality of PID data values ​​for the particular PID that exceed the first threshold PID count value. Additionally, the server 2 may subtract a first percentage of the average minimum PID data value for the particular PID from the average minimum PID data value, or subtract a first percentage of the minimum PID data value for the particular PID from the minimum PID data value, before the server 2 has received a plurality of PID data values ​​for the particular PID that exceed the first threshold PID count value.

[0089] As server 2 continues to receive PID data values ​​for a particular PID, server 2 may determine that the amount of received PID data values ​​for the particular PID exceeds a first threshold PID count value, but is less than a second threshold PID count value. In this case, server 2 may add a second percentage of the average maximum PID data value for the particular PID to the average maximum PID data value, or add a second percentage of the maximum PID data value for the particular PID to the maximum PID data value, and server 2 may subtract a second percentage of the average minimum PID data value for the particular PID from the average minimum PID data value, or subtract a second percentage of the minimum PID data value for the particular PID from the minimum PID data value. The second percentage may be less than the first percentage, so that a baseline range determined using the second percentage is generally a tighter baseline range than a baseline range determined using the first percentage.

[0090] The server 2 may provide the display device 4 with a baseline range for a specific PID without any tolerance value, so that the display device 4 does not need to calculate the baseline range to be displayed on the display interface of the display device 4. Alternatively, the server 2 may provide the display device 4 with a baseline range for a specific PID with at least one tolerance value. The at least one tolerance value may be, for example, the first percentage or the second percentage discussed above, or a value of X standard deviation or X-1 standard deviation. Other examples of the at least one tolerance value are also possible.

[0091] CRPI 60 may include a plurality of program instructions. CRPI 60 and any other CRPI described in this specification may include data structures, objects, programs, routines, or other program modules that can be accessed by a processor and executed by the processor to perform a specific function or group of functions and as examples of program code for implementing the steps of the methods described in this specification.

[0092] In general, CRPI 60 may include program instructions to cause server 2 to perform any of the functions described herein as being performed by server 2, or to cause any component of server 2 to perform any of the functions described herein as being performed by that component of server 2. As an example, CRPI 60 may include program instructions to perform Fig.17 The functional group 200 shown in Fig.18 and Fig.19 The functional group 210 shown in Fig. 20 The functional group 220 shown in FIG. Fig.21 As another example, the CRPI 60 may include program instructions to receive a request for a filter list 24, send a response to the request 25, receive vehicle identification information 26, receive a symptom identifier 27, send a PID filter list 182, send a functional test filter list 184, send a reset process filter list 186, and a component test filter list 188.

[0093] As another example, the CRPI 60 may include program instructions to perform session management with respect to the display device 4. The processor 50 may use the DSD 64 to determine the operating state of the display device 4. When and / or in response to determining that the display device 4 is in a request and / or display diagnostic list mode for a particular vehicle, the processor 50 may determine a requested diagnostic list and provide a response to the display device 4 including the requested diagnostic list.

[0094] When and / or in response to determining that the display device 4 has exited the request and / or display diagnostic list mode for a specific vehicle and that a repair has been performed on the specific vehicle, the processor 50 may provide a session change response to the display device 4 to instruct the display device 4 to display the previously displayed diagnostic list or a different diagnostic list. The session change response may include the previously displayed diagnostic list or a different diagnostic list. As an example, the previously displayed diagnostic list may include a PID filter list, and the different diagnostic list may include a component test filter list, so that the display device 4 displays a list of component tests that can be performed to verify that the repair corrects the symptoms presented by the specific vehicle. As another example, the previously displayed diagnostic list may include a PID filter list, and the different diagnostic list may include a functional test filter list, so that the display device 4 displays a list of functional tests that can be performed to verify that the repair corrects the symptoms presented by the specific vehicle. As yet another example, the previously displayed diagnostic list may include a PID filter list, and the different diagnostic list may include a reset process filter list, so that the display device 4 displays a list of reset processes that can be performed with respect to vehicle components repaired on a specific vehicle. The diagnostic list previously displayed may include any diagnostic list discussed in this specification.

[0095] When and / or in response to determining that display device 4 has returned to the vehicle-specific request and / or display diagnostic list mode, processor 50 may provide a session change response to display device 4 to instruct display device 4 to display the previously displayed diagnostic list or a different diagnostic list.

[0096] A communication interface, such as communication interface 51 or any other communication interface discussed in this specification, may include one or more communication interfaces. Each communication interface may include one or more transmitters configured to send data to a network, such as communication network 3. The data sent by communication interface 51 may include any data described herein as being sent, outputted, and / or provided by server 2. In addition, each communication interface may include one or more receivers configured to receive data carried over a network, such as communication network 3. The data received by communication interface 51 may include any data described herein as being received by a server, such as repair order data and any request described herein.

[0097] A transmitter may transmit radio signals that carry data, and a receiver may receive radio signals that carry data. A communication interface having the transmitter and receiver may include one or more antennas, and may be referred to as a "radio communication interface," "RF communication interface," or a "wireless communication interface." Radio signals transmitted or received by the radio communication interface may be arranged according to one or more wireless communication standards or protocols, such as the IEEE 802.15.1 standard for WPANs, the Bluetooth version 4.1 standard developed by the Bluetooth Special Interest Group (SIG) of Kirkland, Washington, or the IEEE 802.11 standard for wireless LANs (sometimes referred to as the 802.15.1 standard for wireless LANs). standard), or a cellular wireless communication standard, such as the Long Term Evolution (LTE) standard, the Code Division Multiple Access (CDMA) standard, the Integrated Digital Enhanced Network (IDEN) standard, the Global System for Mobile Communications (GSM) standard, the General Packet Radio Service (GPRS) standard, the Universal Mobile Telecommunications System (UMTS) standard, the Enhanced Data Rates for GSM Evolution (EDGE) standard, or the Multi-channel Multipoint Distribution Service (MMDS) standard.

[0098] Additionally or alternatively, the transmitter may transmit a signal (i.e., one or more signals or one or more waves) carrying or representing data onto a line (e.g., one or more lines), and the receiver may receive the signal carried by the line or representing data via the line. The line may be part of a network (such as the communication network 3). The signal carried by the line may be arranged according to a wired communication standard, such as TCP / IP, IEEE 802.3 Ethernet communication standard for LAN, wired data service interface specification (DOCSIS standard) such as DOCSIS 3.1, USB specification (as described above), or some other wired communication standard.

[0099] The data sent by the communication interface may include a destination identifier or address of the network device to which the data is to be sent. The data sent by the communication interface may include a source identifier or address of the system component that contains the communication interface. The source identifier or address may be used to send a response to the network device that includes the communication interface that sent the data.

[0100] A communication interface (such as communication interface 51) configured to perform communication via the communication network 3 may include a modem, a network interface card, and / or a chip that may be mounted on a circuit board. As an example, the chip may include a CC3100 available from Texas Instruments located in Dallas, Texas. Network processor, CC256MODx available from Texas Instruments Host Controller Interface (HCI) module and / or for or other communication protocols to communicate with different chips.

[0101] Next, Figure 7 An example of mapping data 62 is shown. As shown, mapping data 62 may include symptom-PID mapping data (MD) 71, component-PID MD 72, symptom-component test MD 73, component-component test MD 74, symptom-functional test MD 75, component-functional test MD 76, symptom-reset procedure MD 77, and component-reset procedure MD 78. More specific examples of the above-mentioned mapping data are discussed below.

[0102] Next, Figure 8 Examples of different indexes that may be stored within index 61 are shown. As shown, index 61 may include PID index 81, component test index (CTI) 82, functional test index (FTI) 83, and reset procedure index (RPI) 84. Two or more of these indexes may be combined and stored as a single index. More specific examples of the foregoing indexes are discussed below.

[0103] Next, Fig. 9 An example of the mapping data 62 is shown. Specifically, Fig. 9 An example of the Symptom-PIDMD 71 for four symptoms is shown: Symptom 1 is mapped to one PID, Symptom 2 is mapped to one PID, Symptom 3 is mapped to one PID, and Symptom 4 is mapped to two PIDs. Fig. 9 Also shown is an example of a symptom-component test MD 73 of four symptoms: symptom 1 is mapped to two component tests, symptom 2 is mapped to two component tests, symptom 3 is mapped to zero component tests, symptom 4 is mapped to two component tests. Fig. 9 An example of a symptom-functional test MD 75 of four symptoms is also shown: symptom 1 is mapped to four functional tests, symptom 2 is mapped to four functional tests, symptom 3 is mapped to four functional tests, symptom 4 is mapped to four functional tests. Fig. 9 An example of a symptom-reset process MD 77 for five symptoms is also shown: symptom 1 is mapped to one reset process, symptom 2 is mapped to one reset process, symptom 3 is mapped to zero reset processes, symptom 4 is mapped to one reset process, and symptom 5 is mapped to two reset processes. Fig. 9 , example symptoms are shown in parentheses, and the PID, component tests, functional tests, and reset procedures are listed after the colon.

[0104] Next, Fig.10 is a schematic diagram illustrating example symptom-component mapping data 89 that may be stored in the mapping data 62 . Fig.10 Symptom 85 in the display is a DTC, but if Fig. 9 As shown, the mapped symptoms may include symptoms other than DTCs. Fig.10 A symptom count 86 is shown in parentheses for each symptom. The server 2 may determine the symptom count 86 based on the RO data 63.

[0105] Fig.10 The DTCs shown in the figure may refer to "P codes" from the powertrain controller ECU. Fig.10 As shown in Figure 1, a symptom (e.g., symptoms P0171 and P0172) can be mapped to multiple components. The mapping between symptoms and components is shown in Figure 1. Fig.10 denoted by mapping line 87.

[0106] Next, Fig.11 Additional examples of mapping data 62 are shown. Specifically, Fig.11 An example of a component-PIDMD 72 is shown for four components: component 1 is mapped to three PIDs, component 2 is mapped to three PIDs, component 3 is mapped to two PIDs, and component 4 is mapped to one PID. Fig.11Also shown is an example of a component-component test MD 74 for five components: component 1 is mapped to two component tests, component 2 is mapped to three component tests, component 3 is mapped to three component tests, component 4 is mapped to two component tests, and component 5 is mapped to one component test. Fig.11 Also shown is an example of component-functional test MD 76 for six components: component 1 is mapped to two functional tests, component 2 is mapped to zero functional tests, component 3 is mapped to two functional tests, component 4 is mapped to zero functional tests, component 5 is mapped to zero tests, and component 6 is mapped to one functional test. Fig.11 An example of a component-reset process MD 78 for eight components is also shown: components 1, 2, 3, 4, 5 and 6 are each mapped to zero reset processes, component 7 is mapped to two reset processes, and component 8 is mapped to two reset processes. Fig.11 In the example symptoms are shown in parentheses, and the PID, component tests, functional tests, and reset procedures are listed after the colon.

[0107] Next, Fig.12 An example PID index 90 is shown. The PID index 90 comprises an ordered list of PIDs. Fig.12 Three example representations of PIDs within PID Index 90 are shown. Fig.12 As shown, PID index 90 may represent a PID using a PID number 91, an index value 92, and a PID name 93 (i.e., at least one word describing the PID). Different PID indexes (for example embodiments) may represent a PID using only one of these three example representations, a combination of any two of these three example representations, or using different example PID representations. Index value 92, for example, may include decimal, hexadecimal, or some other base to represent the PID within PID index 90. PID index 81 (e.g., Figure 8 90) may include multiple PID indexes, such as a separate PID index for each of multiple different groups of specific identification information (e.g., a separate PID index for each Y / M / M or Y / M / M / E). These separate PID indexes may be arranged like PID index 90 or in other ways. PID index 90 may include or be associated with specific vehicle identification information.

[0108] Next, Fig.13 An example component test index (CTI) 95 is shown. The CTI 95 includes an ordered list of component tests. Fig.13 Three example representations of component tests within CTI 95 are shown. Fig.13As shown, CTI 95 may represent a component test using a component test number 96, an index value 97, and a component test name 98 (i.e., at least one word describing the component test). Different CTIs (for example embodiments) may represent component tests using only one of these three example representations, a combination of any two of these three example representations, or using different example component test representations. Index value 97 may include, for example, decimal, hexadecimal, or some other base to represent a component test within CTI 95. CTI 82 ( Figure 8 95) may include multiple component test indexes, such as a separate CTI for each of multiple different sets of specific identification information (e.g., a separate CTI for each Y / M / M or Y / M / M / E). Those separate CTIs may be arranged like CTI 95 or otherwise. CTI 95 may include or be associated with specific vehicle identification information.

[0109] Next, Fig.14 An example functional test index (FTI) 101 is shown. The FTI 101 includes an ordered list of functional tests. Fig.14 Three example representations of functional tests within FTI 101 are shown. Fig.14 As shown, FTI 101 may represent a functional test using a functional test number 103, an index value 105, and a functional test name 107 (i.e., at least one word describing the functional test). Different FTIs (for example embodiments) may represent functional tests using only one of these three example representations, a combination of any two of these three example representations, or using different example functional tests. Index value 105 may, for example, include decimal, hexadecimal, or some other base to represent a functional test within FTI 101. FTI 83 ( Figure 8 101 ) may include multiple functional test indexes, such as a separate FTI for each of multiple different groups of specific identification information (e.g., a separate FTI for each Y / M / M or Y / M / M / E). Those separate FTIs may be arranged like FTI 101 or otherwise. FTI 101 may include or be associated with specific vehicle identification information.

[0110] Next, Fig.15 An example reset procedure index (RPI) 111 is shown. The RPI 111 includes an ordered list of reset procedures. Fig.15 Three example representations of the reset process within the RPI 111 are shown. Fig.15As shown, RPI 111 may represent a reset process using a reset process number 113, an index value 115, and a reset process name 117 (i.e., at least one word describing the reset process). Different RPIs (for example embodiments) may represent a reset process using only one of these three example representations, a combination of any two of these three example representations, or using different example reset processes. Index value 115 may, for example, include decimal, hexadecimal, or some other base to represent a reset process within RPI 111. RPI 84 ( Figure 8 100 ) may include multiple reset process indexes, such as a separate RPI for each of multiple different groups of specific identification information (e.g., a separate RPI for each Y / M / M or Y / M / M / E). These separate RPIs may be arranged like RPI 111 or otherwise. RPI 111 may include or be associated with specific vehicle identification information. Index value 115 may be different from the index values ​​of other indexes (e.g., PID index 90, CTI 95, and FTI 101) so that a single index using the index numbers of multiple indexes can be formed without any overlap of index numbers.

[0111] Next, Fig.16 An example repair order 100 is shown. The RO 100 may be generated by the RO device 10. In one aspect, the RO 100 may be initially generated as a paper version of the RO, and the paper version of the RO may be converted into a computer-readable version of the RO. In another aspect, the RO 100 may be initially generated as a computer-readable RO. The RO device 10 may send the RO 100 sent via the communication network 3 to the server 2 via the communication 20. The server 2 may receive the RO 100 from the communication network 3, and then store the RO 100 and / or the data contained on the RO 100 as part of the RO data 63.

[0112] The RO 100 includes a maintenance provider identifier 102, a maintenance date identifier 104, a customer indicator 106 indicating a customer seeking maintenance for a given vehicle, vehicle information 108 indicating a given vehicle, vehicle maintenance requests 110, 112, and 114 indicating a complaint or maintenance requested by a customer, component information 116 indicating components obtained for maintenance on a given vehicle, maintenance procedure information 118, 120, and 122 performed on a given vehicle, and a vehicle usage indicator 130 (e.g., vehicle mileage data indicating the number of miles a given vehicle has traveled). The vehicle usage indicator 130 on the RO 100 may indicate the distance traveled using kilometers or some other unit as an alternative or in addition to the vehicle mileage data. In addition to or as an alternative to indicating distance, the vehicle usage indicator 130 may include a time usage indicator, such as an hour indicator indicating, for example, how long a vehicle or engine has been used.

[0113] The maintenance provider identifier 102 may include information indicating the name and geographic location of a maintenance provider (e.g., repair shop 8). The vehicle information 108 may include a vehicle identification number (VIN) 132 associated with a given vehicle and a description of the given vehicle. The vehicle information 108 is an example of specific vehicle identification information for a group of vehicles including the given vehicle. The maintenance procedure information 118, 120, and 122 may include information within different RO sections 124, 126, and 128 of the RO 100, respectively. The maintenance procedure information within any one different RO section 124, 126, and 128 may be independent of the maintenance procedure information within any other different sections. Alternatively, two or more different sections including maintenance procedure information may relate to related maintenance operations performed on a given vehicle.

[0114] RO 100 includes a Labor Operation Code (LOC). The LOC may conform to those defined by the vehicle manufacturer, the maintenance provider that generated the RO, a maintenance information provider (such as Mitchell Repair Information LLC of Poway, California), or some other entity. Fig.16 , the LOC is shown in brackets, such as (C45) and (C117, C245). The different LOCs in brackets are separated by commas. Each service operation code (LOC) can refer to a specific operation performed on a given vehicle. The processor 50 can use the LOC to determine what type of maintenance or repair operation was performed on a given vehicle. Using the LOC in this manner is helpful if other information about the operation is incomplete or described using non-standard phrases or terms. The processor 50 can use the LOC to determine the context of maintenance procedure information on or within the RO 100.

[0115] Next, Fig.17 A flow chart depicting a set of functions 200 (or more simply "group 200") that may be performed according to the example embodiments described in this specification is shown. Group 200 includes the functions shown in the boxes labeled with integers 201 to 203. The following description of group 200 includes references to elements shown in other figures described in this specification, but the functions of group 200 are not limited to being performed by only the referenced elements. Various methods may be performed using all of the functions shown in group 200 or any suitable subset of the functions shown in group 200. Any of these methods may be performed using other functions (such as one or more of the other functions described in this specification).

[0116] Block 201 includes determining at the server 2 a diagnostic filter list to be provided to the display device 4 in response to a request. The diagnostic filter list may include a PID filter list, a component test filter list, a functional test filter list, and / or a reset process filter list. Table 1 represents those diagnostic filter lists as diagnostic filter lists 1, 2, 3, and 4. The diagnostic filter list may include two or more diagnostic filter lists, such as shown in diagnostic filter lists 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, and 15 in Table 1.

[0117] Diagnostic Filter List 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 PID filter list X X X X X X X X Component Test Filter List X X X X X X X X Functional Test Filter List X X X X X X X X Reset process filter list X X X X X X X X

[0118] Table 1

[0119] Next, block 202 includes receiving at the server 2 the request sent from the display device 4 via the communication network 3, wherein the request includes specific vehicle identification information and the at least one symptom identifier. The request may be as in Figure 3 The specific vehicle identification information may be configured and / or communicated as in the request 24 for the filter list shown in FIG. Figure 4 The at least one symptom identifier may be configured and / or communicated as the vehicle identification information 26 shown in FIG. Figure 4 1 and / or communicate with the system identifier 27 shown in FIG.

[0120] Next, block 203 includes sending a response to the request by the server 2 to the display device 4 via the communication network 3, the request including the diagnostic filter list. The response to the request may be as in Figure 3 The response including the PID filter list may include: Figure 4 PID filter list 182 shown in FIG. A response including a component test filter list may include Figure 4 Component test filter list 188 is shown in FIG. A response including a functional test filter list may include Figure 4 The functional test filter list 184 shown in FIG. 184. A response including a reset process filter list may include Figure 4 The reset process filter list 186 is shown in FIG.

[0121] Next, Fig.18 and Fig.19A flow chart depicting a set of functions 210 (or more simply "group 210") that may be performed according to the example embodiments described in this specification is shown. Group 210 includes the functions shown in the boxes labeled with integers 211 to 215. The following description of group 210 includes references to elements shown in other figures described in this specification, but the functions of group 210 are not limited to being performed by only the referenced elements. Various methods may be performed using all of the functions shown in group 210 or any suitable subset of the functions shown in group 210. Any of these methods may be performed using other functions, such as one or more of the other functions described in this specification.

[0122] Block 211 includes receiving RO data at the server 2 , wherein the RO data includes data from one or more ROs indicating specific vehicle identification information, at least one symptom identifier, and specific vehicle components. The received RO data may be stored as RO data 63 . Fig.16 1 shows example RO data that may be included in the received RO data. Thus, the server 2 may receive RO data indicating the components actually replaced on the vehicle to repair the symptoms identified on the RO. The received RO data may include and / or be included in a computer readable file such as an extensible markup language (XML) file. The RO data received at the server 2 may include RO data sent by the RO device 10 and / or the display device 4.

[0123] The specific vehicle identification information referred to throughout this specification may include a vehicle manufacturer identifier, and (i) at least one vehicle model year identifier and at least one vehicle model identifier, or (ii) at least one vehicle model year identifier, at least one vehicle model identifier, and at least one engine identifier. The server 2 may determine the vehicle identification information contained in the vehicle information 108 of the RO. For the RO 100, the vehicle identification information may include Y / M / M (1997 / Ford / Crown Victoria) identified on the RO 100, Y / M / M / E (1997 / Ford / CrownVictoria / 4.6L) identified on the RO 100, and / or at least a portion of the VIN 132. The server 2 may use a classification method to determine which portions of the RO data contain the vehicle identification information.

[0124] The server 2 may determine the at least one symptom identifier from the individual portions of the RO. For example, the server 2 may determine the at least one symptom identifier from the vehicle maintenance request (e.g., Fig.16 vehicle maintenance request 110, 112 or 114 shown on RO 100 in FIG. 1 ), maintenance process information (e.g., Fig.16The at least one symptom identifier is determined from maintenance procedure information 118, 120, or 122 shown on the RO 100 in the group of vehicles, or from some other portion of the RO. As an example, the at least one symptom identifier includes at least one DTC that can be set as valid for each vehicle in the group of vehicles (e.g., DTCs P0171 and P0174 from maintenance procedure information 118, or DTC 117 from maintenance procedure information 122). For embodiments in which the at least one symptom identifier includes at least one DTC, the symptom-based subgroup of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles.

[0125] The specific vehicle components may include vehicle components identified in the component information 116 of the RO. For the RO 100, the specific vehicle components may include a mass air flow (MAF) sensor, an oil filter, and an engine coolant temperature (ECT) sensor. The server 2 may use a taxonomy to determine which vehicle component listed in the component information 116 is associated with which symptom identifier and / or maintenance procedure on the RO 100.

[0126] Next, box 212 includes determining symptom-PID mapping data 71 at the server 2 based on the received RO data and the component-PID mapping data 72, wherein the component-PID mapping data 72 maps one or more PIDs from a set of available PIDs for a group of vehicles identifiable by the specific vehicle identification information to a specific vehicle component, and wherein the symptom-PID mapping data 71 maps the one or more PIDs from the set of available PIDs for the group of vehicles identifiable by the specific vehicle identification information to the at least one symptom identifier.

[0127] Next, block 213 includes determining, at the server 2, a PID filter list (e.g., a PID filter list from the diagnostic list 65) based on the set of available PIDs for the set of vehicles and the symptom-PID mapping data 71, wherein the PID filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the PID filter list indicates a symptom-based subset of PIDs from the set of available PIDs from the set of vehicles. Determining the PID list may include the server 2 retrieving the PID list stored in a memory before the server 2 receives the request. Alternatively, determining the PID list may include generating the PID list after the server 2 receives the request (e.g., without retrieving the PID list stored in the memory before the server 2 receives the request).

[0128] The PID filter list may include a list of one or more PIDs. The one or more PIDs may be represented in various formats, such as a PID name consisting of one or more words, an index value (e.g., Fig.33 ) and / or alphanumeric PIDs (such as in Fig.12 The alphanumeric PID 91 shown in Fig.33 PID list 350 is shown in FIG. 1 ). The ordered list of PIDs 350 is for vehicles that can be identified by specific vehicle identification information.

[0129] Next, block 214 ( Fig.19 ) includes receiving at the server 2 a request sent from the display device 4 via the communication network 3, wherein the request includes specific vehicle identification information and the at least one symptom identifier.

[0130] Next, block 215 includes sending, by the server 2, a response to the request (e.g., a response 25 to the request) to the display device 4 via the communication network 3, the response including the PID filter list. The display device 4 may then display the PID filter list. The response to the request may include a computer-readable file containing the PID filter list. The computer-readable file may include an extensible markup language (XML) file or other type of computer-readable file.

[0131] Additional methods including the functionality of group 210 may be performed to determine the diagnostic list shown in Table 1 .

[0132] A first additional method including the functionality of group 210 includes: (i) determining, at server 2, symptom-component test mapping data based on received RO data and component-component test mapping data, wherein the symptom-component test mapping data maps one or more component tests from a set of available component tests for the group of vehicles identifiable by specific vehicle identification information to the at least one symptom identifier, (ii) determining, at server 2, a component test filter list based on the set of available component tests for the group of vehicles and the symptom-component test mapping data, wherein the component test filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the component test filter list indicates a symptom-based subset of component tests from the set of available component tests for the group of vehicles, and (iii) retrieving, by server 2, the component test filter list based on the specific vehicle identification information and the at least one symptom identifier received in the request. For the first additional method including group 210, a response to the request includes the component test filter list. For a first additional method including group 210, the PID filter list may include index value 92 into an ordered list of PIDs 90 for vehicles identifiable by specific vehicle identification information, and / or the component test filter list may include index value 97 into an ordered list of component tests 95 for vehicles identifiable by specific vehicle identification information.

[0133] For a first additional method including group 210, the at least one symptom identifier may include at least one DTC that each vehicle in the group of vehicles may be set to have valid. A symptom-based subgroup of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles. A symptom-based subgroup of component tests in the group of available component tests from the group of vehicles includes a DTC-based subgroup of component tests in the group of available component tests from the group of vehicles. For a first additional function including group 210, a component test filter list may include component tests that may be performed by an oscilloscope of display device 4 or a multimeter of display device 4.

[0134] The first additional method including the functions of group 210 may also include: (i) determining, at the server 2, symptom-functional test mapping data based on the received RO data and the component-functional test mapping data, wherein the symptom-functional test mapping data maps one or more functional tests from a set of available functional tests for the group of vehicles identifiable by the specific vehicle identification information to the at least one symptom identifier, (ii) determining, at the server 2, a functional test filter list based on the set of available functional tests for the group of vehicles and the symptom-functional test mapping data, wherein the functional test filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the functional test filter list indicates a symptom-based functional test subset of the set of available functional tests from the group of vehicles, and (iii) retrieving, by the server 2, the functional test filter list based on the specific vehicle identification information and the symptom received in the request. For the first additional method including group 210, the response to the request may also include the functional test filter list. The functional test filter list may indicate a functional test that includes sending a vehicle data message from the display device 4 to the vehicle 9. The PID filter list may include index values ​​into an ordered list of PIDs, component tests, and functional tests for a vehicle that is identifiable by specific vehicle identification information.

[0135] For a first additional method including group 210, the at least one symptom identifier may include that each vehicle in the group of vehicles may be set to valid at least one DTC, a symptom-based subgroup of PIDs in the group of available PIDs from the group of vehicles may include a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles, a symptom-based subgroup of component tests in the group of available component tests from the group of vehicles may include a DTC-based subgroup of component tests in the group of available component tests from the group of vehicles, and a symptom-based subgroup of functional tests in the group of available functional tests from the group of vehicles may include a DTC-based subgroup of functional tests in the group of available functional tests from the group of vehicles.

[0136] A second additional method for the functionality of group 210 includes: (i) determining, at the server 2, symptom-functional test mapping data based on the received RO data and the component-functional test mapping data, wherein the symptom-functional test mapping data maps one or more functional tests from a set of available functional tests for the group of vehicles identifiable by the specific vehicle identification information to the at least one symptom identifier, (ii) determining, at the server 2, a functional test filter list based on the set of available functional tests for the group of vehicles and the symptom-functional test mapping data, wherein the functional test filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the functional test filter list indicates a symptom-based subset of functional tests from the set of available functional tests for the group of vehicles, and (iii) retrieving, by the server 2, the functional test filter list based on the specific vehicle identification information and the symptoms received in the request. For the second additional functionality of group 210, a response to the request includes the functional test filter list.

[0137] For a second additional method including group 210, the at least one symptom identifier may include at least one diagnostic trouble code (DTC) that each vehicle in the group of vehicles may set to be valid, the symptom-based PID subgroup in the group of available PIDs from the group of vehicles may include a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles, and the symptom-based functional test subgroup in the group of available functional tests from the group of vehicles may include a DTC-based subgroup of functional tests in the group of available functional tests from the group of vehicles. For a second additional method including group 210, the functional test filter list may indicate a functional test that includes sending a vehicle data message from a display device to a vehicle. For a second additional method including group 210, the PID filter list may include a PID of a vehicle identifiable by specific vehicle identification information and an index value in an ordered list of functional tests.

[0138] A third additional method including the functionality of group 210 includes: (i) determining, at server 2, symptom-reset process mapping data based on received RO data and component-reset process mapping data, wherein the symptom-reset process mapping data maps one or more reset processes from a set of available reset processes for the group of vehicles identifiable by specific vehicle identification information to the at least one symptom identifier, (ii) determining, at server 2, a reset process filter list based on the set of available reset processes for the group of vehicles and the symptom-reset process mapping data, wherein the reset process filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the reset process filter list indicates a symptom-based subset of reset processes from the set of available reset processes for the group of vehicles, and (iii) retrieving, by server 2, the reset process filter list based on the specific vehicle identification information and the symptom received in the request. For the third additional method including group 210, the response to the request includes the reset process filter list. For the third additional method including group 210, the reset process filter list may include an index value compiled into an ordered list of reset processes for the vehicle identifiable by the specific vehicle identification information.

[0139] For a third additional method including group 210, the at least one symptom identifier may include at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, a subgroup of symptom-based reset procedures from the group of available reset procedures for the group of vehicles may include a subgroup of DTC-based reset procedures from the group of available reset procedures for the group of vehicles, and a subgroup of symptom-based reset procedures from the group of available reset procedures from the group of vehicles may include a subgroup of DTC-based reset procedures from the group of available reset procedures for the group of vehicles.

[0140] A third additional method including group 210 may include: (i) establishing a diagnostic session for a display device 4 at a server 2 regarding a first response and a second response, (ii) determining at the server 4 that a vehicle repair has been made regarding the diagnostic session, and (iii) in response to determining that a vehicle repair has been made regarding the diagnostic session, sending, by the server 2, a second response to the display device 4 via the communication network 3. In this regard, the response includes a first response and a second response, the first response including a PID filter list, the second response including a reset process filter list, and sending the response including the PID filter list includes sending the first response. Determining that a vehicle repair has occurred may include determining that a threshold amount of time has passed since sending the first response to the display device 4.

[0141] A fourth additional method including the functionality of group 210 includes: determining the PID filter list may include modifying an existing PID filter list. The existing PID filter list may include different subsets of PIDs from the set of available PIDs for the group of vehicles. The existing PID filter list is associated with the specific vehicle identification information and the at least one symptom identifier. Modifying the existing PID filter list may include adding at least one PID from the set of available PIDs for the group of vehicles to the existing PID filter list and / or removing at least one PID from the existing PID filter list.

[0142] A fifth additional method including the functionality of group 210 includes determining, at processor 50, a subgroup of the RO data based on the set of RO data by determining that the set of RO data indicates that a particular vehicle component is the most replaced component and that the at least one symptom identifier is the most reported symptom of a vehicle in the set of vehicles identifiable by the particular vehicle identification information. For this method, the RO data includes a subgroup of the set of RO data, and receiving the RO data includes receiving the set of RO data. In addition, the set of RO data includes data from a plurality of ROs indicating (i) the particular vehicle identification information or different vehicle identification information, (ii) the at least one symptom identifier or different symptoms, and (iii) the particular vehicle component or different vehicle components.

[0143] A sixth additional method including the functionality of group 210 includes: (i) determining at the server 2 a vehicle component associated with a particular vehicle component, (ii) determining at the server 2 at least one PID to be added to a PID filter list based on component-PID mapping data that maps one or more PIDs from the set of available PIDs for the group of vehicles identifiable by the particular vehicle identification information to a vehicle component associated with the particular vehicle component, and (iii) adding, by the server, the at least one PID to the PID filter list. The server 2 may determine the vehicle component associated with the particular vehicle component by searching for data in the memory 52 that identifies vehicle components of the vehicles in the group of vehicles in a hierarchical format based on systems and / or subsystems of the vehicles in the group of vehicles. The searched data may include a component hierarchy 67.

[0144] Next, Fig.35 A specific example of a component hierarchy 67 is shown. The component hierarchy 67 may include a separate component hierarchy for each group of vehicles identifiable by specific vehicle identification information. In an alternative arrangement, the separate component hierarchies may relate to multiple groups of vehicles identifiable by different specific vehicle identification information. Fig.35 , component level 67 relates to a vehicle having a gasoline powered engine having an electrical system, an exhaust system, a fuel system, and an air intake system. Fig.35The vehicle systems are shown to be broken down into subsystems, as the electrical system is shown to include an ignition subsystem and a charging subsystem.

[0145] Each indented line including a rectangular bullet "" lists a vehicle component that is part of an identified system or subsystem within the vehicle. Each vehicle component in the component hierarchy 67 may be associated with a PID, component test, functional test, and / or reset procedure. Fig.11 Examples of PID, component testing, functional testing, and / or reset processes associated with vehicle components are shown in FIG. Fig.35 The EGR (Exhaust Gas Recirculation) valve is shown as part of the exhaust system, and Fig.11 The EGR valve is shown to be associated with PID 13, PID 14, PID 24, CT 1, CT 4, FT 13, and FT 14. The component level 67 may include data (e.g., metadata) indicating which PID, component test, functional test, and / or reset process is associated with a vehicle component. System and subsystem identifiers in the component level may also be associated with PIDs, component tests, functional tests, and / or reset processes. The association with systems and subsystems may apply to all vehicle components within the system and subsystem, respectively.

[0146] As an example, if a particular vehicle component of group 210 includes an oxygen sensor, processor 50 may determine another PID, component test, functional test, and / or reset process to include in the diagnostic list by referencing component hierarchy 67. The other PIDs, component tests, functional tests, and / or reset processes may be associated with vehicle components within the same system or subsystem as the particular vehicle component or with vehicle components within a different system or subsystem. The vehicle components within each system and subsystem within the component hierarchy may be ranked so that processor 50 may determine which vehicle components within other systems or subsystems to consider to determine whether the vehicle component is associated with a PID, component test, functional test, and / or reset process.

[0147] Next, Fig. 20 A flow chart depicting a set of functions 220 (or more simply "group 220") that may be performed according to the example embodiments described in this specification is shown. Group 220 includes the functions shown in the boxes labeled with integers 221 to 227. The following description of group 220 includes references to elements shown in other figures described in this specification, but the functions of group 220 are not limited to being performed by only the referenced elements. Various methods may be performed using all of the functions shown in group 220 or any suitable subset of the functions shown in group 220. Any of these methods may be performed using other functions (such as one or more other functions described in this specification).

[0148] Box 221 includes receiving a first set of PID values ​​and a second set of PID values ​​at the server 2, wherein the first set of PID values ​​is for a specific PID from a first group of vehicles, wherein all DTCs of a specific ECU in each vehicle in the first group of vehicles are set to invalid, wherein the second set of PID values ​​is for a specific PID from a second group of vehicles, wherein one or more specific DTCs of a specific ECU in each vehicle in the second group of vehicles are set to valid, and the first group of vehicles and the second group of vehicles can be identified by specific vehicle identification information.

[0149] The first set of PID values ​​may include and / or be associated with data indicative of the first set of vehicles, the status of the DTCs within the first set of vehicles for a particular ECU, and the PID. Fig. 22 An example first set of PID values ​​255 is shown for a particular PID 253 (e.g., PID 6 representing fuel pressure) from a first set of vehicles 251, with all DTCs 257 of a particular ECU (e.g., a powertrain control system ECU) set to invalid. A second set of PID values ​​may include and / or be associated with data indicative of a second set of vehicles, states of DTCs within the second set of vehicles for a particular ECU, and PIDs. Fig.17 An example second set of PID values ​​261 is shown for a particular PID 253 (e.g., PID 6 representing fuel pressure) from a second set of vehicles 259, where one or more particular DTCs (e.g., DTC 5 and DTC 9) of a particular ECU (e.g., a powertrain control system ECU) are set to active. The units associated with the PID values ​​255 and 261 may be pounds per square inch (PSI).

[0150] return Fig. 20 , block 222 includes determining, by the server, a PID value range for a particular PID from the first set of PID values. Assuming that the PID values ​​of vehicles between vehicle 3 and vehicle X in the set of vehicles 251 are within the PID value range within the PID value 255 of vehicles 1, 2, 3, and X, the PID value range of the set of PID values ​​255 is 35 to 41. The PID value range may be stored in the baseline range 68.

[0151] Next, block 223 includes determining, by the server, from the second set of PID values ​​that one or more PID values ​​of a particular PID are outside a PID value range for the particular PID by a threshold. As an example, the threshold for the example PID 6 regarding fuel pressure may be seven, such as adding seven from a maximum value in the determined range, and / or subtracting seven from a minimum value in the determined range. According to this example, PID values ​​27, 26, 25, and 23 of vehicle 1 are PID values ​​outside the PID value range for PID 6 by the threshold, PID values ​​26, 26, 24, 22, and 24 of vehicle 2 are PID values ​​outside the PID value range for PID 6 by the threshold, PID values ​​25, 24, 26, and 26 of vehicle 3 are PID values ​​outside the PID value range for PID 6 by the threshold, and PID values ​​27, 24, 24, 25, and 26 of vehicle X are PID values ​​outside the PID value range for PID 6 by the threshold.

[0152] Determining that the one or more PID values ​​for a particular PID are outside a range of PID values ​​may include (i) determining that a second set of PID values ​​includes a first number of PIDs, (ii) determining that the one or more PID values ​​for a particular PID include a second number of PIDs, and (iii) determining that the second number of PIDs exceeds a threshold percentage of the first number of PIDs.

[0153] Determining the PID value range for the particular PID may include determining a range of values ​​for the particular PID at a certain number of standard deviations (e.g., one, two, three, or four standard deviations) of a mean PID value for the particular PID within the first set of PID values. Server 2 may determine the PID value mean.

[0154] The PID value range for a particular PID may include a first PID value range. The server 2 may determine that in a vehicle in the first group of vehicles, each PID value in the first PID value range is generated when the vehicle is operated in a first operating state. The response may also include data indicating that the first PID value range is associated with the first operating state. The data may be used to place a vehicle connected to the display device 4 in the first operating state and / or to guide a user to place a vehicle connected to the display device 4 in the first operating state. The PID value range may be stored in the baseline range 68.

[0155] Next, block 224 includes adding, by the server, the specific PID to the PID filter list in response to determining that the one or more PID values ​​of the specific PID are outside the PID value range of the specific PID by the threshold. The PID filter list may be stored as and / or within the diagnostic list 65. The PID filter list may be associated with and / or include specific vehicle identification information and specific DTCs to enable the server 2 to retrieve the PID filter list in response to a request.

[0156] The PID filter list may include one or more default PIDs before and after a particular PID is added to the PID filter list. As an example, PIDs 1, 3, 5, 8-12, 14, 15, 18, 20, 22, 24, 25, and 30 from the PID list 350 may be default PIDs, and PID 6 may be a particular PID added to the PID filter list 350. The PID filter list may include an index value 351 compiled into an ordered list of PIDs (e.g., the PID list 350) of vehicles identifiable by particular vehicle identification information. A condition for adding a particular PID to the PID filter list may be that it is determined on the server 2 that the one or more PID values ​​of the particular PID include at least a threshold number of PID values.

[0157] Next, block 225 includes receiving at the server 2 a request from the display device 4 via the communication network 3 , wherein the request includes specific vehicle identification information and specific DTCs. Figure 3 An example request 26 is shown issued from the display device 4 to the server 2. The communication interface 51 may receive the request issued via the communication network 3 and provide the request to the processor 50 and / or the memory 52.

[0158] Next, block 226 includes retrieving, by the server 2 , a PID filter list based on the specific vehicle identification information and the specific DTC received in the request. The server 2 may retrieve the PID filter list from the diagnostic list 65 .

[0159] Next, block 227 includes sending a response to the request by the server 2 to the display device 4 via the communication network 3 , the response including the PID filter list. Figure 3 An example request 26 is shown from the server 2 to the display device 4. The response may include data indicating a range of PID values ​​for a particular PID (e.g., a minimum and maximum value of the range of PID values). The communication interface 51 may receive the response from the processor 50 and / or from the memory 52, and then send the response to the communication network 3.

[0160] In addition to determining the first PID value range, the method 220 may also include determining, by the server 2, a second PID value range for a particular PID from the first set of PID values. The server may determine that in a vehicle in the first set of vehicles, each PID value in the second PID value range is generated when the vehicle is operated in a second operating state different from the first operating state. The response may also include the second PID value range and data indicating that the second PID value range is associated with the second operating state. The data may be used to place the vehicle connected to the display device 4 in the second operating state and / or to guide a user to place the vehicle connected to the display device 4 in the second operating state.

[0161] The operating state associated with the PID value range can be defined by one or more vehicle operating parameters. Each vehicle operating parameter can include a single parameter value or a parameter value range. A single parameter value can include multiple parameter value averages. As an example, a first operating state can include a first engine revolutions per minute (RPM) value, a first engine load value, and / or a first engine temperature value. According to this example, if the first operating state includes a first RPM value, the second operating state can include a second engine RPM value, if the first operating state includes a first engine load value, the second operating state can include a second engine load value, if the first operating state includes a first engine temperature value, the second operating state can include a second engine temperature value. The vehicle operating parameters can be determined based on the PID values. For example, the first and second engine load values ​​can be determined based on the PID value indicating the calculated engine load.

[0162] Next, Fig.21 A flow chart depicting a set of functions 230 (or more simply "group 230") that may be performed according to the example embodiments described in this specification is shown. Group 230 includes the functions shown in the boxes labeled with integers 231 to 236. The following description of group 230 includes references to elements shown in other figures described in this specification, but the functions of group 230 are not limited to being performed by only the referenced elements. Various methods may be performed using all of the functions shown in group 230 or any suitable subset of the functions shown in group 230. Any of these methods may be performed using other functions (such as one or more other functions described in this specification).

[0163] Block 231 includes receiving, at the server 2, a first request issued over the communication network from a first display device connected to a first vehicle, wherein the first request includes specific vehicle identification information and at least one symptom identifier, wherein the specific vehicle identification information identifies a specific vehicle group, wherein the specific vehicle group includes the first vehicle, and wherein the at least one symptom identifier includes a symptom that each vehicle in the specific vehicle group may exhibit. The first request may be as in Figure 324 for a filter list as shown in FIG.

[0164] The at least one symptom identifier may include at least one diagnostic trouble code that may be set as active for each vehicle in the specific vehicle group. The specific vehicle identification information may include a vehicle manufacturer identifier, and (i) at least one vehicle model year identifier and at least one vehicle model identifier, or (ii) at least one vehicle model year identifier, at least one vehicle model identifier, and at least one engine identifier.

[0165] Next, at block 232, the server sends a response to the first request to the first display device via the communication network, wherein the response to the first request includes the PID filter list. The response to the first request may be as follows: Figure 3 The PID filter list may be configured and / or communicated as in the response 25 to the request shown in FIG. The PID filter list may include index values ​​compiled into an ordered list of PIDs 350 of vehicles that can be identified by specific vehicle identification information. As an example, the PID filter list may include the index values ​​shown in index value 351, except for the index value 6 of PID 6. The PID filter list may be stored in the diagnostic list 65.

[0166] Next, block 233 determines by the server that the first display device is requested by the first vehicle to display additional PIDs not included in the PID filter list by the first display device. Determining that the first display device is requested by the first vehicle to display additional PIDs not included in the PID filter list by the first display device may include determining that the additional PIDs are requested within a threshold amount of time after the server receives the first request or after the server sends the response.

[0167] Next, block 234 generates a modified PID filter list by the server by adding the additional PID to the PID filter list. The modified PID filter list may include an index value into an ordered list of PIDs 350 of vehicles that can be identified by the specific vehicle identification information. The modified PID filter list may be stored in the diagnostic list 65. Based on the example where the additional PID is PID 6 for fuel pressure, the modified PID filter list may include an index value 351.

[0168] Next, block 235 receives at the server a next request from the second display device via the communication network after generating the modified PID filter list, wherein the next request includes the specific vehicle identification information and the at least one symptom identifier. The next request may be as in Figure 3 24 for a filter list as shown in FIG.

[0169] Next, block 236 sends a response to the next request by the server to the second display device via the communication network, the response to the next request including the modified PID filter list. In one aspect, the second display device is the first display device. In a second aspect, the second display device is not the first display device. In other words, the first display device and the second display device are individual display devices. The response to the next request may be as in Figure 3 25 as shown in the response to the request.

[0170] As an example, a first additional function that can be performed using group 230 includes: (i) receiving, at server 2, PID data provided from the first vehicle to the first display device, and (ii) determining, by server 2, that the PID data provided from the first vehicle to the first display device and subsequently received by the server includes PID data of an additional PID to be displayed by the first display device.

[0171] As another example, a second additional function that can be performed using group 230 includes receiving data at server 2 indicating that the first display device has received an input requesting display of additional PIDs, wherein server 2 determines, at least in part based on the data indicating that the first display device has received the input requesting display of additional PIDs, that the first display device should display additional PIDs that are not included in the PID filter list at the request of the first vehicle.

[0172] As another example, a third additional function that may be performed using group 230 includes: (i) retrieving, by server 2, a PID filter list from computer-readable memory 52 based on specific vehicle identification information and the at least one symptom identifier received in a first request, and / or (ii) retrieving, by server 2, a modified PID filter list from computer-readable memory 52 based on specific vehicle identification information and the at least one symptom identifier received in a next request.

[0173] According to an example embodiment including group 230, the first display device may be one of a plurality of display devices registered with server 2. Therefore, a condition for generating a modified PID filter list may be that determining on server 2 that the first display device displays an additional PID not included in the PID filter list at the request of the first vehicle by the first display device is after server 2 has sent the PID filter list to any one of the plurality of display devices, and the any one of the plurality of display devices has requested for the nth time to display the additional PID not included in the PID filter list on the any one of the plurality of display devices. For this example embodiment, the "n" of the nth time includes a predetermined threshold number greater than one.

[0174] In a further example, a functional test filter list, a component test filter list, or a reset process filter list may be modified based on information received by the server 2 indicating which specific tests or reset processes are performed on a vehicle having specific vehicle identification information and the at least one symptom identifier. The server 2 may receive a message from a display device indicating when the test or reset process is performed. The server 2 may then determine one of the adjustment diagnostic filter lists based on the received message. For example, if the server 2 determines that a specific functional test that is not in the functional test filter list has been performed above a threshold frequency on a vehicle having specific vehicle identification information and the at least one symptom identifier, the server 2 may add the specific functional test to the functional test filter list. Additionally, if the server 2 determines that an existing functional test in the functional test filter list has been performed below a threshold frequency on a vehicle having specific vehicle identification information and the at least one symptom identifier, the server 2 may remove the existing functional test from the functional test filter list.

[0175] In another example, the server 2 may monitor the frequency of execution of the functional tests, component tests, and / or reset procedures to determine a ranking. The server 2 may then provide an indication of the ranking as part of the functional test filter list, the component test filter list, and / or the reset procedure list. For example, a component test filter list for a vehicle having specific vehicle identification information and the at least one symptom identifier may include five component tests. The server 2 may receive messages from multiple display devices indicating when one of the five component tests has been performed on a vehicle having the specific vehicle identification information and the at least one symptom identifier. The server 2 may determine the ranking of the five component tests based on the frequency of performance of each of the five component tests indicated by the received messages. The server 2 may then indicate the ranking when providing the component test filter list so that the display device may display the five component tests in order based on the frequency of performance.

[0176] In other examples, the server 2 may provide rankings of functional tests, component tests, and / or reset processes based on the probability of component failure of different associated components. For example, the functional test filter list may include two functional tests associated with a first vehicle component and two functional tests associated with a second vehicle component. The server 2 may determine the respective probabilities that each of the first vehicle component and the second vehicle component has failed for a vehicle having specific vehicle identification information and the at least one symptom identifier. If the server 2 determines that the first vehicle component has a higher probability of failure, the two functional tests associated with the first vehicle component may be ranked higher than the two functional tests associated with the second vehicle component. When providing the functional test filter list to the display device, the server 2 may provide a ranking of each functional test and an indication of the associated vehicle component.

[0177] In other examples, the server 2 may provide a ranking of functional tests and / or component tests based on determining an amount of time required to perform the test. The time required to perform a particular test may be determined based on data indicating when the particular test was previously selected and when performance of the particular test was completed. As an example, a functional test filter list may include a first functional test and a second functional test associated with a first vehicle component. The server 2 may determine that the time required to perform the first functional test is greater than the time required to perform the second test. The server 2 may then rank the second test first and then the first test within the functional test filter list.

[0178] Next, Fig.23 is a block diagram of a display device 4. In some examples, the display device 4 may be a vehicle diagnostic tool or scanner. In other examples, the display device 4 may be a tablet device, a cellular phone, a laptop or desktop computer, a head-mounted device (HMD), or a different type of fixed or mobile computing device. Fig.23 As shown, the display device 4 includes a processor 250, a communication interface 251, a memory 252, and a display interface 300. Two or more of these components may be communicatively coupled or linked together via a system bus, network, or other connection mechanism 253.

[0179] Processor 250 may include one or more processors. Processor 250 may include a general-purpose processor (e.g., Single core microprocessor or The processor 250 may be a computer-readable program of instructions (CRPI). For example, the processor 250 may execute a CRPI 260 stored in the memory 252. The processor 250 may be configured to execute hard-coded functions in addition to or as an alternative to software-coded functions (e.g., via the CRPI). The processor 250 may be programmed to perform any function or combination of functions performed by the display device 4 as described herein.

[0180] Memory 252 may include one or more memories. Memory 252 may include non-transitory memory, temporary memory, or both non-transitory memory and temporary memory. Non-transitory memory or a portion thereof may be located within the processor or as part of the processor (e.g., within a single integrated circuit chip). Non-transitory memory or a portion thereof may be separate and distinct from the processor.

[0181] The memory 252 stores computer-readable data, such as a CRPI 260 , an index 261 , and a default diagnostic list 262 .

[0182] CRPI 260 may include a plurality of program instructions. CRPI 260 may include data structures, objects, programs, routines or other program modules that can be accessed and executed by a processor to perform a specific function or group of functions and as an example of program code for implementing the steps of the methods described in this specification.

[0183] In general, CRPI 260 may include program instructions to cause display device 4 to perform any function described herein as being performed by display device 4, or to cause any item of display device 4 to perform any function described herein as being performed by that item of display device 4. As an example, CRPI 260 may include program instructions to perform Fig.34 Functional group 360 is shown in FIG.

[0184] Index 261 can be compared with reference Figure 6 and Figure 8 The same as the index 61 described above. Specifically, the index 261 may include a list of PIDs, component tests, functional tests, and / or reset processes. In some examples, the index 261 may also include additional associated information. For example, as part of the PID index, the PID descriptor may also be stored for display by the display device 4. As another example, information indicating how to communicate a request for each PID value to the vehicle 9 may also be stored as part of the PID index.

[0185] The default diagnostic list 262 can be used with reference Figure 6 The default diagnostic list 262 is the same as the diagnostic list 65 described above. Specifically, the default diagnostic list 262 can be a cached version of the diagnostic list 65, in which case the default diagnostic list 262 can indicate that a specific PID, functional test, component test, and / or reset process is displayed for a given symptom or symptom group. In other examples, the default diagnostic list 262 can indicate which PIDs, functional tests, component tests, and / or reset processes are displayed for any symptom when a symptom-based filter list is not available from the server 2.

[0186] The communication interface 251 may include one or more communication interfaces. Each communication interface may include one or more transmitters configured to send data to a network (such as the communication network 3). The data sent by the communication interface 251 may include any data described herein as being sent, outputted and / or provided by the display device 4. In addition, each communication interface may include one or more receivers configured to receive data carried by a network (such as the communication network 3). The data received by the communication interface 251 may include any data described herein as being received by the display device 4, such as vehicle identification information or DTC.

[0187] Next, Fig.24An example display interface is shown. Specifically, the display interface 300 can be part of the display device 4. In other examples, the display interface 300 can be communicatively coupled to the display device 4. In some examples, input data can be input via the display interface 300 using one or more input devices (such as a mouse, keyboard, or microphone). In another example, the display interface 300 can be a touch-based interface.

[0188] The display interface 300 may display identification information 304 about the vehicle to be serviced. The identification information 304 may include Fig.24 . In other examples, identification information 304 may also or alternatively include different types of vehicle information. Identification information 304 may be received directly from vehicle 9 by display device 4. In other examples, identification information 304 may be received in another manner, such as by user input via display interface 300.

[0189] The display interface 300 may additionally include an indication of at least one symptom identifier 302. The at least one symptom identifier 302 may include a single DTC, such as engine code P0171. In other examples, the at least one symptom identifier 302 may include two or more DTCs. In other examples, the at least one symptom identifier 302 may also or alternatively include different types of symptom identifiers. For example, the at least one symptom identifier 302 may be input via the display interface 300 or a different user interface. In another example, the at least one symptom identifier 302 may be captured from a repair order.

[0190] The display interface 300 may also include an indicator of a network connection 306 of the display device 4. For example, the indicator of the network connection 306 may indicate that the display device 4 has a valid wireless or wired network connection. In some examples, whether the display device 4 has a network connection may be used to determine the state of the display interface 300. Different information may be displayed on the display interface 300 depending on the current state of the display interface 300.

[0191] Display interface 300 may additionally include one or more information cards 310, 330, and 340. Each of information cards 310, 330, and 340 may be selected via display interface 300. In some examples, selection of an information card may cause the card to switch to a dynamic mode that displays real-time data. In other examples, the display interface may include information cards associated with the display interface 300. Fig.24 Different or additional information cards are displayed in the .

[0192] The display interface 300 includes a PID card 310 that can be used to display a code-specific customized PID list. Specifically, the card 310 can display a subset of PIDs selected from a set of available PIDs based on at least one symptom identifier 302. Fig.24 As shown, the PID card 310 can be selected to view a PID custom list with real-time PID data. In addition, individual PIDs can be highlighted in the PID card 310 when they are outside the normal operating range.

[0193] The display interface 300 further includes a functional test card 330, which can be used to display a code-specific list of functional tests. Specifically, the functional test card 330 can display a subset of functional tests selected from a set of available functional tests based on at least one symptom identifier 302. Fig.24 As shown, the functional test card 330 can provide functional tests that allow vehicle components from the vehicle 9 to receive commands directly from the display device 4. In some examples, the functional test card 330 can additionally display one or more code-specific reset procedures that can be performed after one or more repair operations are completed. In other examples, a separate reset procedure card can be provided within the display interface to display the code-specific reset procedures.

[0194] The display interface 300 further includes a component test card 340, which can be used to display a code-specific list of component tests. Specifically, the component test card 340 can display a subset of component tests selected from a set of available component tests based on at least one symptom identifier 302. Fig.24 As shown, the component test card 340 can provide component tests that allow code-related components to be tested using preset instrument and connector views. More specifically, selecting a component test within the display interface 300 can cause the display device 4 to provide instructions to an oscilloscope or multimeter connected to the vehicle 9 to perform the selected component test on the component of the vehicle 9.

[0195] Next, Fig.25 An example display interface showing symptom-based subgroups after applying a diagnostic filter list is shown. Specifically, the PID card 310 shows symptom-based PID subgroups, the functional test card 330 shows functional test and symptom-based reset process subgroups, and the component test card 340 shows symptom-based subgroups of component tests.

[0196] The PID card 310 displays a code-specific customized PID list including six different PIDs. The six PIDs have six corresponding descriptors: engine speed, short-term FT bank 2, MAP sensor (kPa), HO2S bank 1 sensor 1, short-term FT bank 1, and ECT sensor. This symptom-based subset of PIDs can be determined by the display device 4 based on a PID filter list for the at least one symptom identifier 302 provided from the server 2. In one example, when the PID card 310 is in a static mode, the PID descriptors can be displayed, but real-time PID data may not be displayed. When the PID card 310 is selected via the display interface 300, the PID card 310 can be switched to a dynamic mode in which real-time PID data is displayed. In some examples, real-time PID data can be requested by the display device 4 and received from the vehicle 9 in response to selecting the PID card 310 via the display interface 300.

[0197] The functional test card 330 displays a code-specific functional test list including three different functional tests and reset procedures. The three functional tests and reset procedures have three corresponding descriptors: engine speed control, fuel trim enable, and fuel trim reset. The symptom-based subset of functional tests and reset procedures can be determined by the display device 4 based on the functional test filter list for the at least one symptom identifier 302 from the server 2. In one example, when a specific functional test is selected from the functional test card 330, the functional test can be initiated by communication from the display device 4 to the vehicle 9.

[0198] The component test card 340 displays a code-specific component test list including three different component tests. The three component tests relate to three different vehicle components: a fuel pump, an oxygen sensor, and a mass airflow sensor. The symptom-based subset of component tests can be determined by the display device 4 based on the component test filter list for the at least one symptom identifier 302 from the server 2. In one example, when a specific component test is selected from the component test card 340, the component test can be initiated by communication from the display device 4 to a multimeter or oscilloscope connected to the vehicle 9.

[0199] Next, Fig.26A display interface showing real-time PID data is shown. Specifically, after selecting a PID card 310 via the display interface 300, the PID card 310 may be switched to a dynamic mode in which real-time PID values ​​are displayed. For each PID within the symptom-based PID subgroup, a PID value may be received by the display device 4 from the vehicle 9. For example, the engine speed PID 311 has a corresponding value 312 of 515. When the value 312 of the engine speed PID 311 received from the vehicle 9 changes, the value 312 may be dynamically updated on the display interface 300. Similarly, the MAP sensor PID may have a corresponding displayed value of 45, the short-term FT bank 1 PID may have a corresponding displayed value of -1, the short-term FT bank 2 PID may have a corresponding displayed value of 1, the HO2S bank 1 sensor 1 PID may have a corresponding value of 0.1, and the ECT sensor PID may have a corresponding value of 199.

[0200] For each PID in the symptom-based PID subgroup, a baseline range may also be displayed within the display interface 300. For example, a baseline range 313 may be displayed for the engine speed PID 311. The baseline range 313 may indicate that the typical operating range of the engine speed PID 311 is between 500 and 720. For each additional PID in the symptom-based PID subgroup, a baseline range is similarly displayed. Specifically, the MAP sensor PID has a baseline range between 20 and 64, the short term FT bank 1 PID has a baseline range between -1 and 1, the short term FT bank 2 PID has a baseline range between -1 and 1, the HO2S bank 1 sensor 1 PID has a baseline range between 0.1 and 1, and the ECT sensor PID has a baseline range between 190 and 221.

[0201] In some examples, the displayed baseline ranges may be received by the display device 4 from the server 2. In other examples, the baseline ranges for one or more displayed PIDs in the symptom-based PID subgroup may not be available from the server 2. For such PIDs, a prompt may be provided via the display interface 300 to allow the technician to enter a minimum and maximum value for the PID. In other examples, default baseline ranges may be stored on the display device 4 for certain PIDs. In such examples, when the baseline range for a given PID is not available from the server 2, the default baseline range stored on the display device 4 for the given PID may be displayed instead. If the baseline range is not available from the server 2 and the display device 4 also lacks a default baseline range for the given PID, the technician may only query the minimum and maximum values.

[0202] The display interface 300 may additionally provide a list of other available PIDs that are not in the symptom-based PID subgroup for selection by the technician. For example, the other available PIDs may be viewed in a drop-down menu. When a specific PID is selected from the other available PIDs, the specific PID may be added to the PID card 310 so that the technician can view the real-time value of the specific PID. In addition, the display device 4 may send a message to the server 2 indicating the selection of a specific PID for the vehicle having the identification information 304 and the at least one symptom identifier 302. The server 2 may process such a message in order to determine an association between the specific PID and the vehicle symptom.

[0203] In another example, the display interface 300 may additionally provide an option to remove one or more PIDs from the PID card 310. For example, when a specific PID from other available PIDs is added to the PID card 310 by a technician, the technician may be required to select an existing PID from the PID card 310 for removal. The display device 4 may issue a message to the server 2 indicating the selection of an existing PID for removal for a vehicle having the identification information 304 and the at least one symptom identifier 302. The server 2 may process such a message in order to disassociate the specific PID from the vehicle symptom.

[0204] Next, Fig. 27 A display interface is shown in which PIDs having corresponding values ​​outside of a baseline range are highlighted. Specifically, the MAP sensor PID 314 may have a value 315 of 65, which is outside of a baseline range 316 between 20 and 64. Therefore, the MAP sensor PID 314 may be highlighted in the display interface 300 by changing its color (e.g., red), providing a separate out-of-range indicator, or otherwise distinguishing it. Additionally, the ECT sensor PID 317 may have a value 318 of 183, which is outside of a baseline range 319 between 190 and 221. Therefore, the ECT sensor PID 317 may also be highlighted in the display interface 300.

[0205] Thus, the display interface 300 may first provide a DTC-based subgroup or a symptom-based subgroup of the PIDs to provide the technician with the PIDs of interest to focus on a specific DTC or a specific symptom. If a machine-learned baseline range is available for those PIDs of interest, the display interface 300 may also display the baseline range and highlight the out-of-range PIDs to further facilitate the technician's ability to diagnose the vehicle being serviced.

[0206] In some examples, the baseline range received by the display device 4 from the server 2 may not be displayed on the display interface 300, but may still be used to highlight out-of-range PIDs. Therefore, the derived baseline range provided by the server 2 may be hidden by the display device 4. In contrast, the baseline range input by the user may always be displayed within the display interface 300.

[0207] Next, Fig.28 A display interface is shown in which a graph of PID values ​​is displayed. Specifically, the value 315 of the MAP sensor PID 314 can be plotted over time as a graph 320. In addition, a baseline range 316 can be shown on the graph as two horizontal lines corresponding to the minimum and maximum values ​​of the baseline range 316. Once the value 315 crosses the baseline range 316 (e.g., by rising to a value of 65, which is outside the range between 20 and 64), the MAP sensor PID 314 can be highlighted. In addition, a cursor 321 can be provided to allow a technician to quickly scroll back through past values ​​of the PID.

[0208] In further example embodiments, once a PID value crosses its baseline range (e.g., the previous 10 seconds), a history of PID data may be recorded. The history of PID data may be recorded only for the specific PID that is out of range, or the history of PID data may be recorded for all displayed PIDs. The recording may be used to allow a technician to replay the PID values ​​to help diagnose why a specific PID was outside of its baseline range at a specific point in time.

[0209] Next, Fig.29 A display interface is shown in which the displayed baseline range varies based on the vehicle operating state. Specifically, the vehicle operating state 322 can indicate the current RPM of the engine of the vehicle 9. In one example, multiple different possible states can be displayed in the display interface 300. Specifically, multiple different RPM ranges can be displayed. The range corresponding to the current operating state of the vehicle 9 can be selected or highlighted. In this case, the RPM value range 323 corresponding to between 0 and 500 can be highlighted. The baseline range of the PID displayed in the PID card 310 can then be selected based on the current vehicle operating state. Specifically, the baseline range 319 of the ECT sensor PID 317 can be adjusted to correspond to the current vehicle operating state. For example, when the vehicle operating state indicates a lower RPM value, a narrower baseline range can be used.

[0210] Multiple baseline ranges for a particular PID may be provided by the server 2 to the display device 4. Each baseline range may correspond to a different operating state of the vehicle 9. In this way, a more accurate baseline range may be displayed to a technician in situations where the typical value range for the PID differs depending on the vehicle operating state. When the vehicle operating state changes, the baseline range displayed on the display interface 300 may responsively change to correspond to the new vehicle operating state.

[0211] In some examples, the display device 4 can detect the current vehicle operating state. For example, the display device 4 can determine the current vehicle operating state based on data received from the vehicle 9 or from another device in communication with the vehicle 9. The display device 4 can then automatically determine the vehicle operating state and provide an indication of the current vehicle operating state to the technician.

[0212] In other examples, an input mechanism may be provided for the technician to select the current vehicle operating state. For example, a drop-down menu may be provided with several different possible vehicle operating states for which the baseline range provided by the server may be used. When the technician selects the current vehicle operating state via the input mechanism, the corresponding baseline range for the displayed PID may be automatically displayed. In other examples, the corresponding baseline range may not be displayed, but may still be used to identify when the PID value exceeds the range as previously described.

[0213] In other examples, the baseline ranges may only be available for a particular vehicle operating state. For example, a particular vehicle operating state may have been used to generate the baseline ranges (e.g., PID data collected only when the vehicle was in the particular vehicle operating state may have been used by the server 2 to generate the baseline ranges). In this case, an indication of the particular vehicle operating state may be displayed on the display interface 300 to help the technician place the vehicle in an operating state for which the displayed baseline ranges are accurate.

[0214] In another example, one or more prompts may be provided to help the technician place the vehicle in an operating state for which a baseline range is available. The prompt may be a visual prompt, an audio prompt, a tactile prompt, or a different type of feedback. For example, an audio prompt may instruct the technician to increase the RPM of the vehicle until an RPM is reached for which a baseline range for the displayed PID is available.

[0215] In another example, the vehicle operating state may correspond to the geographic location of the vehicle. For example, the server 2 may generate different baseline ranges for vehicles located in a first area than for vehicles located in a second area. External factors (such as weather conditions) may cause the typical operating baseline ranges for the same type of vehicles to be different when the vehicles are located in different geographic locations.

[0216] In another example, the vehicle operating state may correspond to different ranges of engine temperature of the vehicle engine. In some examples, the vehicle operating state may include a combination of two or more different states, such as a combination of RPM and engine temperature. Other vehicle operating states may also or alternatively be used.

[0217] In another example, for a given at least one symptom identifier, the server 2 may provide a plurality of different PID filter lists corresponding to different vehicle operating states. In this case, the display device 4 may determine which PID filter list to apply and which symptom-based subgroup of PIDs to display based on the current operating state of the vehicle 9. Similarly, for a given at least one symptom identifier, the server 2 may also provide a plurality of different functional test filter lists or component test filter lists corresponding to different vehicle operating states. In that case, the display device 4 may determine which tests to display as part of the symptom-based subgroup based on the current vehicle operating state.

[0218] In another example, the display device 4 may stop marking the PID with an out-of-range value based on the current vehicle operating state. Specifically, the server 2 may provide an indication of the vehicle operating state for which the PID baseline range is applied. If the display device 4 determines that the current vehicle operating state does not correspond to the vehicle operating state indicated by the server 2, the display device 4 may stop marking the PID with an out-of-range value so as not to distract the technician with an inapplicable warning. As an example, the baseline range for a particular PID may be generated by the server 2 based on PID data from a vehicle at idle (e.g., between 600RPM and 900RPM). If the display device 4 determines that the current vehicle being maintained is operating at 2200RPM, the display device 4 may avoid marking the particular PID even if the particular PID has a value outside the baseline range indicated by the server 2. As previously described, the display device 4 may additionally provide one or more prompts to indicate to the technician how to switch the vehicle to an operating state where the baseline range may be applied.

[0219] Next, Fig.30 A display interface showing symptom-based functional test and reset processes and other available functional test and reset processes is shown. Specifically, the functional test card 330 can display functional test and reset processes associated with engine code P0171. These symptom-based functional test and reset processes can be identified by the server 2 for the display device 4 and provided as a functional test filter list. In this example, the identified functional test and reset processes include engine speed control (functional test), fuel adjustment enable (functional test) and fuel adjustment reset (reset process).

[0220] In addition, the display interface 300 may also show all available functional tests and reset processes 331, which may include any available functional tests and reset processes not identified for a symptom-based subgroup. The other available functional tests and reset processes 331 may be displayed within the functional test card 330, or as part of a separate window. In this case, the other available functional tests and reset processes 331 include CKP change learning, calibration P / N, EVAP maintenance dock test, injector balance, output control, and VIN.

[0221] In some cases, when a particular functional test or reset process from other available functional tests and reset processes 331 is selected to be performed on the vehicle 9, the display device 4 may send a message to the server 2 indicating the selected test or reset process and the at least one symptom identifier 302. Such a message may help the server 2 learn to associate the selected functional test or reset process with the at least one symptom identifier 302 for future requests.

[0222] As previously described, the reset process may be included in the functional test or may be provided in a separate section. In some cases, the reset process may only be displayed as part of a symptom-based reset process subset or other available reset processes after the specific maintenance operation has been completed on the vehicle 9. In some cases, the server 2 may identify a specific maintenance operation (e.g., installation of a vehicle component) for which a specific reset process should be displayed. The display device 4 may then monitor the vehicle 9 for completion of the specific maintenance operation in order to determine when to display the specific reset process within the display interface.

[0223] Next, Fig.31 A display interface showing symptom-based component tests and other available component tests is shown. Specifically, the component test card 340 can display component tests associated with engine code P0171. These symptom-based component tests can be identified by the server 2 for the display device 4 and provided as a component test filter list. In this example, the identified components include component tests for the fuel pump, oxygen sensor, and mass air flow sensor.

[0224] In addition, the display interface 300 may also show all available component tests 341, which may include any available components not identified for the symptom-based subgroup. The other available component tests 341 may be displayed within the component test card 340, or as part of a separate window. In this case, the other available component tests 341 include component tests for anti-lock brakes (ABS), body electrical, charging system, fuel injection, transmission, and gearbox.

[0225] When a particular component test is selected from the symptom-based subgroup or other available component tests, the display device 4 may send a message to another device (such as a multimeter or oscilloscope) to perform the selected component test. In some cases, when a particular component test from other available component tests 331 is selected to be performed on the vehicle 9, the display device 4 may send a message to the server 2 indicating the selected component test and the at least one symptom identifier. Such a message may help the server 2 learn to associate the selected component test with the at least one symptom identifier 302 for future requests.

[0226] In another example, the functional tests, reset procedures, and / or component tests displayed within the symptom-based subgroups may be arranged within the display interface 300 based on information received by the display device 4 from the server 2. In one example, the tests may be arranged based on associated vehicle components. For example, two symptom-based functional tests may involve a first vehicle component, while two different symptom-based functional tests may involve a second vehicle component. In that case, the display interface 300 may indicate which component each functional test involves. In addition, the functional tests may be sorted on the display interface 300 according to which component they involve. For example, the server 2 may indicate that a first vehicle component has a higher probability of failure than a second vehicle component based on the at least one symptom identifier 304. In that case, two symptom-based functional tests associated with the first vehicle component may be displayed before two symptom-based functional tests associated with the second vehicle component.

[0227] In another example, the functional tests, reset procedures, and / or component tests may be sorted according to a ranking based on performance frequency. For example, a symptom-based subgroup of component tests may include three component tests. The server 2 may provide a ranking of the three component tests based on the frequency of each component test that has been applied in the past for the vehicle having the identification information 304 and the at least one symptom identifier 302. The component tests may then be sorted on the display interface 300 according to the provided ranking. The display interface 300 may additionally display a numerical ranking for each of the three component tests.

[0228] Next, Fig.32The display interface is shown in a degraded state. More specifically, the network connectivity indicator 306 within the display interface 300 may indicate that the display device 4 lacks a network connection to the server 2. In this state, the display device 4 may still have a connection to the vehicle 9 to receive PID data from the vehicle 9 and / or perform one or more tests on the vehicle 9. However, the display device 4 may not be able to receive a filtered list associated with a PID, functional test, or component test. The PID card 310, the functional test card 330, and the component test card 340 may display a message to indicate that a symptom-based subset of PIDs and tests is available and can be displayed when a network connection is valid.

[0229] In some examples, when the PID and / or test are not available from the server 2 for the display device 4, the display device 4 can access one or more default filter lists stored in a memory on the display device 4. The default filter lists may include a default PID filter list, a default functional test filter list, and / or a default component test filter list. In some examples, the default filter list may indicate the PID and / or test to be displayed regardless of the at least one symptom identifier 302. In other examples, different default filter lists may be associated with different symptom identifiers. For example, the default filter list may be a cached version of a symptom-based filter list previously provided by the server 2 to the display device 4. When one or more default filter lists are available in the local memory of the display device 4, the display interface 300 may be considered to be in a partially degraded state.

[0230] In other examples, the display device 4 may not be able to receive a filter list from the server 2 and may also lack a default filter list in local memory. In this case, the display interface 300 may be considered to be in a fully degraded state. In this state, any available PIDs, functional tests, and / or component tests may be displayed in the display interface 300. The technician may then be provided with a prompt to select a PID to be displayed and / or a test to be performed. Additional prompts may be provided to allow entry of baseline ranges corresponding to different PIDs.

[0231] In another example, the display interface 300 may be in a mixed state in which certain types of symptom-based information are available, but not other types. For example, a symptom-based PID subset of a particular symptom identifier may be displayed. However, symptom-based functional tests and component tests may not be available. In that case, all available functional tests and component tests may be displayed via the display interface 300.

[0232] In other examples, the state of display interface 300 can be based on other factors besides network connection. For example, different subscription levels to different types of filter lists may be available. In that case, the user's current subscription can be used to determine what information is displayed via display interface 300.

[0233] Next, Fig.33 The application of the PID filter list is shown to display PID subgroups based on symptoms. More specifically, the PID ordered list 350 can be stored in the memory of the display device 4. In some examples, the ordered list 350 can be a single ordered list of PIDs for all vehicle types. In other examples, the ordered list 350 can be determined and / or stored specifically for vehicles that share certain identification information. The ordered list 350 can be the same as the corresponding ordered list stored at the server 2 to facilitate the application of the PID filter list received from the server 2 by the display device 4.

[0234] The display device 4 may receive an index value 351 constituting a PID filter list from the server 2. The index value 351 may represent an entry from an ordered list 350 of PIDs stored in a memory of the display device 4. The display device 4 may select a PID corresponding to the index value 351 from the ordered list 350 in order to determine a symptom-based PID subgroup 352 for display within the display interface 300. In this manner, a minimal amount of information may be sent over the network connection between the server 2 and the display device 4. The display device 4 may locally store information about individual PIDs as part of the ordered list 350. For example, the stored information may include a complete PID descriptor for display within the display interface 300. The stored information may also include instructions for requesting a corresponding PID value from the vehicle 9.

[0235] In a further example, the ordered list of functional tests stored on the display device 4 may be identical to a corresponding ordered list of functional tests stored at the server 2. The functional test filter list received by the display device 4 from the server 2 may include index values ​​representing entries from the ordered list of functional tests. The functional test filter list may be applied by the display device 4 to determine a symptom-based subgroup of functional tests for display to the technician.

[0236] In another example, the ordered list of reset procedures stored on the display device 4 may be the same as the corresponding ordered list of reset procedures stored at the server 2. The reset procedure filter list received by the display device 4 from the server 2 may include an index value representing an entry from the ordered list of reset procedures. The reset procedure filter list may be applied by the display device 4 to determine a symptom-based subset of reset procedures for display to the technician.

[0237] In a further example, the ordered list of component tests stored on the display device 4 may be identical to a corresponding ordered list of component tests stored at the server 2. The component test filter list received by the display device 4 from the server 2 may include index values ​​representing entries from the ordered list of component tests. The component test filter list may be applied by the display device 4 to determine a symptom-based subgroup of component tests for display to the technician.

[0238] In other examples, a single ordered list may include multiple types of entries, including any combination of PIDs, functional tests, reset procedures, and component tests. The diagnostic filter list sent by the server 2 to the display device 4 may then include index values ​​for the multiple types of entries. For example, the diagnostic filter list may include index values ​​corresponding to PIDs and component tests. In that case, the diagnostic filter list may be applied by the display device 4 to determine symptom-based subgroups of PIDs and symptom-based subgroups of component tests for display.

[0239] Next, Fig.34 A flow chart depicting a set of functions 360 (or more simply "set 360") that may be performed according to example embodiments described in this specification is shown. Set 360 includes the functions shown in the boxes labeled with integers 361 to 366. The following description of set 360 includes references to elements shown in other figures described in this specification, but the functions of set 360 are not limited to being performed by only the referenced elements. Various methods may be performed using all of the functions shown in set 360 or any suitable subset of the functions shown in set 360. Any of these methods may be performed using other functions, such as one or more other functions described in this specification.

[0240] Block 361 includes determining identification information of the vehicle to be maintained. The identification information may define a particular group of vehicles in any manner described herein, including but not limited to year, make, model, and / or engine. In some examples, the identification information may be received from the vehicle 9. In other examples, the identification information may be received in a different manner. For example, the identification information may be input via the display interface 300 or captured from a repair order. The vehicle may be maintained as part of a repair process, a maintenance process, or a different type of maintenance process.

[0241] Next, box 362 includes receiving at least one symptom identifier for the vehicle. In some examples, the at least one symptom identifier may be a single DTC. In other examples, the at least one symptom identifier may include two or more DTCs. One or more DTCs may be received by the display device 4 from the vehicle 9. In other examples, the at least one symptom identifier may be a different type of identifier. For example, the at least one symptom identifier may be input via the display interface 300 (e.g., by selecting one or more vehicle symptoms from a predetermined drop-down menu). In another example, the at least one symptom identifier may be captured from a repair order.

[0242] Next, block 363 includes sending a request to a remote server via a communication network to obtain a PID filter list for the vehicle. The request may include identification information of the vehicle and the at least one symptom identifier of the vehicle. The request may be sent via a wireless or wired connection. In some examples, in addition to or in lieu of a request for a PID filter list, the request may be for a functional test filter list, a reset process filter list, and / or a component test filter list.

[0243] Next, block 364 includes receiving a response to the request from the remote server via the communication network. The response may include a PID filter list for the vehicle. In some examples, the PID filter list may include an index value compiled into an ordered list of PIDs stored in a memory of the display device 4. In other examples, the PID filter list may include another type of PID identifier and / or descriptor.

[0244] In other examples, the response may include a functional test filter list, a reset process filter list, and / or a component test filter list in addition to or in place of the PID filter list. In some examples, a single filter list may identify multiple types of diagnostic information. For example, a single filter list may identify both PIDs and tests. In one example, an ordered list of diagnostic information may be stored in a memory of the display device 4, the ordered list including both PIDs and tests. The filter list may then include an index value compiled into the ordered list, the index value identifying at least one PID and at least one test.

[0245] Next, block 365 includes determining a symptom-based PID subgroup for the vehicle from a set of available PIDs based on the vehicle's PID filter list. The set of available PIDs may be all PIDs available for a vehicle with a particular identification information. In other examples, the set of available PIDs may include PIDs for multiple groups of vehicles, each group of vehicles having different identification information. In one example, the symptom-based PID subgroup may be determined by selecting a PID from an ordered list of PIDs stored on the display device 4.

[0246] In other examples, a subset of symptom-based functional tests may also or alternatively be determined from a set of available functional tests. In other examples, a subset of symptom-based reset procedures may also or alternatively be determined from a set of available reset procedures. In other examples, a subset of symptom-based component tests may also or alternatively be determined from a set of available component tests.

[0247] Next, box 366 includes displaying the symptom-based PID subgroups of the vehicle on the display interface. Specifically, the corresponding descriptors of the PIDs within the subgroup can be displayed within the PID card. When the PID card is selected, the PID card can be switched to a dynamic mode in which real-time PID values ​​are displayed for the PIDs within the subgroup. In other examples, indications of the components to which the PIDs within the subgroup are related can also be displayed within the display interface. In another example, some PIDs within the subgroup can relate to specific vehicle components, and other PIDs within the subgroup can relate to one or more related components. In this case, the PIDs can be classified within the display interface based on the components or systems to which they are related.

[0248] In other examples, a symptom-based functional test subgroup, a symptom-based reset procedure subgroup, and / or a symptom-based subgroup of component tests may also or alternatively be displayed. When a functional test or reset procedure is selected, instructions may be provided by the display device 4 to the vehicle 9 to perform the selected functional test or reset procedure. When a component test is selected, instructions may be issued to a multimeter or oscilloscope to perform the selected component test on the vehicle 9.

[0249] The server 2, the display device 4 and the RO device 10 include a computing system. The server 2, the display device 4 and / or the RO device 10 may include Fig.36 Any component of the example computing system 450 shown in Fig.36 is a functional block diagram illustrating an example computing system.

[0250] In basic configuration 451, computing system 450 may include one or more processors 452 and system memory 454. Memory bus 459 may be used for communication between processor 452 and system memory 454. Depending on the desired configuration, processor 452 may be of any type, including but not limited to a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. Memory controller 453 may also be used with processor 452, or in some embodiments, memory controller 453 may be an internal part of processor 452.

[0251] Depending on the desired configuration, the system memory 454 may be of any type, including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof. The system memory 454 may include one or more applications 455 and program data 457. The application 455 may include an algorithm 456 arranged to perform the functions described as being performed by the server 2, the display device 4, or the RO device. The program data 457 may include system data 458, which may point to any number of types of data, such as one or more of the following types of data: index 61, mapping data 62, RO data 63, diagnostic session data 64, diagnostic list 65, threshold 66, and / or component hierarchy 67. In some example embodiments, the application 455 may be arranged to operate on an operating system executable by the processor 452 using the program data 457.

[0252] The computing system 450 may have additional features or functionality, and additional interfaces to facilitate communication between the basic configuration 451 and any devices and interfaces. For example, a data storage device 460 may be provided, which includes a removable storage device 461, a non-removable storage device 462, or a combination thereof. Examples of removable storage and non-removable storage devices include magnetic disk devices (such as floppy disk drives and hard disk drives (HDD)), optical disk drives (such as compact disk (CD) drives or digital video disk (DVD) drives), solid state drives (SSDs), and tape drives, etc. Computer storage media may include volatile and non-volatile, non-transitory, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable program instructions, data structures, program modules, or other data, such as data stored in a computer-readable memory (such as memory 52).

[0253] System memory 454 and storage 460 are examples of computer-readable media such as memory 52. ​​System memory 454 and storage 460 may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other storage technology, CD-ROM, digital video disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage, or any other medium that can be used to store the desired information and that can be accessed by computing system 450.

[0254] For display device 4 and RO device 10, computing system 450 may include or be implemented as part of a small portable (ie, mobile) electronic device such as a smart phone (e.g., a smartphone from Apple Inc. located in Cupertino, California). Smartphone, or GALAXY from Samsung Electronics Co., Ltd., located in Maetan-Dong, Yeongtong-Gu Suwon-Si, Gyeonggi-Do, Republic of Korea The application 455 or program data 457 may include a computer program that is downloaded from an APP or a computer program that is not ... Online retail stores, from GOOGLE The online retail store or another source of applications downloads to the communication interface 467 the application or CRPI described herein for use on the display device and the RO device 10 .

[0255] Additionally or alternatively, computing system 450 may include or be implemented as part of a personal computing system (including both laptop and non-laptop configurations) or a server. In some embodiments, the disclosed methods may be implemented as a CRPI encoded in a machine-readable format on a non-transitory computer-readable storage medium or on other non-transitory media or articles of manufacture. Fig.37 is a schematic diagram illustrating a conceptual partial view of an example computer program product 480 including a computer program for executing a computer process on a computing system arranged in accordance with at least some embodiments presented herein.

[0256] The computing system 450 may also include an output interface 463, which may include a graphics processing unit 464, which may be configured to communicate with various external devices (such as a display device 466 or a speaker) via one or more A / V ports 465 or a communication interface 467. The communication interface 467 may include a network controller 468, which may be arranged to facilitate communication with one or more other computing systems 470 via one or more communication ports 469 via network communication. A communication connection is an example of a communication medium. The communication medium may be embodied by computer-readable program instructions, data structures, program modules, or other data in a modulated data signal (such as a carrier wave or other transmission mechanism), and includes any information transfer medium. The modulated data signal may be a signal that sets or changes one or more of the characteristics of the signal in a manner that encodes the information in the signal. By way of example and not limitation, the communication medium may include a wired medium (such as a wired network or a direct wired connection) and a wireless medium (such as acoustic, radio frequency (RF), infrared (IR), and other wireless media).

[0257] In one embodiment, the example computer program product 480 is provided using a signal bearing medium 481. The signal bearing medium 481 may include one or more programming instructions 482 that, when executed by one or more processors, may provide the computer program product 480 described above with respect to FIG. Figures 1 to 35 The functions or partial functions described. In some examples, the signal bearing medium 481 may include a computer readable medium 483, such as but not limited to a hard drive, a compact disk (CD), a digital video disk (DVD), a digital tape, or any other memory described herein. In some embodiments, the signal bearing medium 481 may include a computer recordable medium 484, such as but not limited to a memory, a read / write (R / W) CD, a R / W DVD, etc. In some embodiments, the signal bearing medium 481 may include a communication medium 485, such as but not limited to a digital and / or analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communication link, a wireless communication link, etc.). Therefore, for example, the signal bearing medium 481 can communicate by a wireless form of a communication medium 485 (e.g., a wireless communication medium that complies with the IEEE 802.11 standard or other transmission protocol).

[0258] One or more programming instructions 482 can be, for example, computer-executable and / or logic-implemented instructions. In some examples, a computing system (such as Fig.36 The computing system 450 may be configured to provide various operations, functions, or actions in response to programming instructions 482 transmitted to the computing system 450 by one or more of computer-readable media 483, computer-recordable media 484, and / or communication media 485.

[0259] The processor 50 may be configured similarly to the processor 452. The memory 52 may be configured as part or all of the system memory 454 or the storage device 460. The communication interface 51 may be configured as part or all of the communication interface 467.

[0260] Each of the server 2, the display device 4, and the computing system 450 may include a power supply. According to an example embodiment, the power supply may include connections programmed into an external power source and circuitry to allow current to flow to other elements connected to the power source. As an example, the external power source may include a wall socket at which a connection to alternating current may be formed. As another example, the external power source may include an energy storage device (e.g., a battery) or a generator.

[0261] Additionally or alternatively, the power supply may include connections programmed into an internal power source and power delivery circuitry to allow current to flow to other components connected to the power supply. As an example, the internal power supply may include an energy storage device, such as a battery. In addition, any power supply described herein may include various circuit protectors and signal conditioners. The power supplies described herein may provide a means of delivering current to other electrically operated components.

[0262] It should be understood that the arrangements described herein and / or shown in the accompanying drawings are for illustrative purposes only. Thus, those skilled in the art will understand that other arrangements and elements (e.g., machines, interfaces, functions, sequences and / or functional groupings) may be used alternatively, and that some elements may be omitted entirely depending on the desired results. In addition, the various functions described and / or shown in the accompanying drawings as being performed by one or more elements may be performed by a processor executing computer-readable program instructions or by a combination of hardware, firmware and / or software. For the purposes of this specification, executing CRPIs contained in some computer-readable media to perform certain functions may include executing all program instructions of those CRPIs or only executing a portion of those CRPIs.

[0263] The term "data" in this specification may be used interchangeably with the term "information" or similar terms (e.g., "content"). The data described in this article may be sent and received. As an example, any transmission of the data described in this article may occur directly from a transmitting device (e.g., a transmitter) to a receiving device (e.g., a receiver). As another example, any transmission of the data described in this article may occur indirectly from a transmitter to a receiver via one or more intermediate network devices (such as access points, antennas, base stations, hubs, modems, relays, routers, switches, or other network devices). The transmission of any data described in this article may include sending data through an air interface (e.g., using a radio signal (i.e., wirelessly)). The transmission of any data described in this article may include sending data through a line (e.g., a single line, a twisted pair, a fiber optic cable, a coaxial cable, a wiring harness, a power line, a printed circuit, a CAT5 cable, or a CAT6 cable). The line may be referred to as a "conductor" or another term. As an example, sending data through a conductor may occur electrically or optically.

[0264] The data may represent various things, such as objects and conditions. Objects and conditions may be mapped to data structures (e.g., tables). The processor may reference the data structures to determine what objects or conditions are represented by the data. As an example, the data received by the processor may represent a calendar date. The processor may determine the calendar date by comparing the data to a data structure that defines the calendar date. As another example, the data received by the processor may represent vehicle parts. The processor may determine what type of vehicle parts are represented by the data by comparing the data to a structure that defines various vehicle parts.

[0265] Although various aspects and embodiments are described herein, other aspects and embodiments will be apparent to those skilled in the art. The individual aspects and embodiments disclosed herein are for illustrative purposes and are not intended to be limiting, with the true scope being indicated by the claims and the full range of equivalents to which these claims are entitled. It should also be understood that the terminology used herein is intended only for the purpose of describing specific embodiments and is not intended to be limiting.

[0266] In this specification, the articles “a,” “an,” and “the” are used to introduce elements and / or functions of example embodiments. Use of these articles means that there are one or more of the introduced elements and / or functions.

[0267] In this specification, the use of the term "and / or" within a list of at least two elements or functions and the use of the terms "at least one" and "one or more" immediately preceding a list of at least two components or functions is intended to cover each embodiment, each embodiment independently including the listed components or functions, and each embodiment including a combination of the listed components or functions. For example, an embodiment described as including "A, B, and / or C" or "at least one of A, B, and C" or "one or more of A, B, and C" is intended to cover each of the following possible embodiments: (i) an embodiment including A but not including B and C, (ii) an embodiment including B but not including A and C, (iii) an embodiment including C but not including A and B, (iv) an embodiment including A and B but not including C, (v) an embodiment including A and C but not including B, (v) an embodiment including B and C but not including A, and (vi) an embodiment including A, B, and C. For an embodiment including component or function A, the embodiment may include one A or multiple A. For an embodiment including component or function B, the embodiment may include one B or multiple B. For embodiments including a component or function C, the embodiments may include one C or multiple Cs. Ordinal numbers (such as "first," "second," "third," etc.) are used to distinguish corresponding elements but do not indicate a particular order of these elements unless the context in which these terms are used clearly indicates otherwise.

[0268] Embodiments of the present disclosure may thus be directed to one of the Enumerated Example Embodiments (EEE) listed hereinafter.

[0269] EEE 1 is a method, comprising: (i) determining, by a display device, identification information of a vehicle to be maintained; (ii) receiving, at the display device, at least one symptom identifier of the vehicle; (iii) issuing, by the display device, a request to a remote server through a communication network to obtain a PID filter list of the vehicle, the request comprising the identification information of the vehicle and at least one symptom identifier of the vehicle; (iv) receiving, at the display device, a response to the request from the remote server through the communication network, the response comprising the PID filter list of the vehicle; (v) determining, by the display device, a symptom-based PID subgroup of the vehicle from a set of available PIDs based on the PID filter list of the vehicle; and (vi) displaying, by the display device, the symptom-based PID subgroup of the vehicle on a display interface.

[0270] EEE 2 is the method of EEE 1, wherein the at least one symptom identifier includes at least one diagnostic test code (DTC).

[0271] EEE 3 is the method of EEE 2, further comprising receiving the at least one DTC from the vehicle at the display device.

[0272] EEE 4 is the method of any one of EEEs 1 to 3, wherein the identification information of the vehicle indicates year, make, model, and engine.

[0273] EEE 5 is a method of any one of EEE 1 to 4, further comprising: (i) receiving corresponding values ​​of symptom-based PID subgroups of the vehicle at a display device of the vehicle; (ii) receiving input data indicating selection of a symptom-based PID subgroup of the vehicle at the display device; (iii) in response to receiving the input data, displaying the corresponding values ​​of the symptom-based PID subgroup of the vehicle on a display interface by the display device.

[0274] EEE 6 is the method of EEE 5 , further comprising in response to receiving the input data, initiating a request by the display device to the vehicle to obtain a corresponding value of the symptom-based PID subset of the vehicle.

[0275] EEE 7 is a method of any one of EEEs 1 to 6, wherein the PID filter list includes index values ​​compiled into an ordered list of PIDs, wherein the ordered list of PIDs is stored on a display device, and the method further includes determining a symptom-based PID subset of the vehicle by selecting a PID corresponding to the index value from the ordered list of PIDs stored on the display device.

[0276] EEE 8 is a method of any one of EEE 1 to 7, wherein the response to the request also includes a baseline range of one or more PIDs in a symptom-based PID subset of the vehicle, and the method also includes displaying the baseline range of the one or more PIDs on a display interface by a display device.

[0277] EEE 9 is a method of any one of EEE 1 to 7, wherein the response to the request also includes a baseline range of one or more PIDs in a symptom-based PID subgroup of the vehicle, and the method further includes: (i) receiving corresponding values ​​of the one or more PIDs from the vehicle at a display device; (ii) determining, by the display device, that the corresponding value of a given PID is outside the baseline range of the given PID; and (iii) displaying, by the display device, on a display interface, an indication that the corresponding value of the given PID is outside the baseline range of the given PID.

[0278] EEE 10 is the method of any one of EEEs 1 to 7, wherein the response to the request also includes a baseline range for one or more PIDs in a symptom-based PID subgroup of the vehicle, and wherein the response to the request also includes a vehicle operating state that generates the baseline range for the one or more PIDs, the method further comprising displaying, by a display device, an indication of the vehicle operating state on a display interface.

[0279] EEE 11 is a method of any one of EEEs 1 to 7, wherein the response to the request also includes a baseline range for one or more PIDs in a symptom-based PID subgroup of the vehicle, the method further comprising: (i) determining, by a display device, that the baseline range is not available for a specific PID in the PID subgroup; (ii) displaying, by the display device, a query for the baseline range for the specific PID on a display interface; (iii) receiving, at the display device, input data indicating a baseline range for the specific PID in response to the query; and (iv) displaying, by the display device, on the display interface, the baseline range for the specific PID indicated by the input data.

[0280] EEE 12 is a method of any one of EEEs 1 to 7, wherein the response to the request also includes multiple baseline ranges for a given PID in a symptom-based PID subgroup of the vehicle, corresponding to multiple vehicle operating states, the method further comprising: (i) determining, by a display device, a current operating state of the vehicle; (ii) selecting, by the display device, a baseline range for the given PID from the multiple baseline ranges, such that the selected baseline range corresponds to the current operating state of the vehicle; and (iii) displaying, by the display device, the selected baseline range for the given PID on a display interface.

[0281] EEE 13 is the method of EEE 12, further including: (i) determining, by a display device, that a current operating state of the vehicle has changed to a different operating state among the multiple vehicle operating states; (ii) selecting, by the display device, a different baseline range for a given PID from the multiple baseline ranges, such that the selected different baseline range corresponds to a different operating state; and (iii) displaying, by the display device, the selected different baseline range for the given PID on a display interface.

[0282] EEE 14 is the method of EEE 12 , wherein the plurality of vehicle operating states correspond to a plurality of different geographic locations of the vehicle.

[0283] EEE 15 is a method of any one of EEEs 1 to 7, wherein the response to the request also includes multiple baseline ranges of multiple vehicle operating states corresponding to a given PID in a subset of the PIDs, the method further comprising: (i) displaying an indication of the multiple vehicle operating states on a display interface by a display device; (ii) receiving input data at the display device indicating selection of a specific vehicle operating state from the multiple vehicle operating states; (iii) selecting, by the display device, a baseline range for the given PID from the multiple baseline ranges, such that the selected baseline range corresponds to the selected specific vehicle operating state; and (iv) displaying the selected baseline range for the given PID on the display interface by the display device.

[0284] EEE 16 is the method of any one of EEEs 1 to 15, wherein the response to the request also includes a functional test filter list for the vehicle, the method further comprising: (i) determining, by the display device, a symptom-based functional test subgroup for the vehicle from a set of available functional tests based on the functional test filter list for the vehicle; and (ii) displaying, by the display device, the symptom-based functional test subgroup for the vehicle on a display interface.

[0285] EEE 17 is the method of EEE 16, further comprising: (i) receiving input data at a display device indicating selection of a specific functional test from a subset of symptom-based functional tests for a vehicle; and (ii) sending instructions from the display device to the vehicle to perform the selected specific functional test on the vehicle.

[0286] EEE 18 is a method of any one of EEEs 1 to 17, wherein the response to the request also includes a component test filter list, the method further comprising: (i) determining, by the display device, a symptom-based subgroup of component tests for the vehicle from a set of available component tests based on the component test filter list; and (ii) displaying, by the display device, the symptom-based subgroup of component tests for the vehicle on a display interface.

[0287] EEE 19 is the method of EEE 18, further comprising: (i) receiving input data at a display device indicating selection of a specific component test from a symptom-based subset of component tests for a vehicle; and (ii) providing instructions, by the display device, to an oscilloscope or multimeter to perform the selected specific component test on the vehicle.

[0288] EEE 20 is the method of any one of EEEs 1 to 19, further comprising: (i) sending, by the display device, a second request to a remote database via a communication network, the second request comprising identification information and the at least one symptom identifier; and (ii) determining, by the display device, that the display device is in a partially degraded state, the partially degraded state comprising (1) the requested PID filter list being unavailable from the remote database and (2) the default PID filter list being available from a memory device on the display device. In response to determining that the display device is in a partially degraded state, EEE 20 further comprises: (i) determining, by the display device, a default PID subgroup from the set of available PIDs based on the default PID filter list; and (ii) displaying, by the display device, the default PID subgroup from the set of available PIDs on a display interface.

[0289] EEE 21 is the method of EEE 20, further comprising: (i) issuing, by the display device, a third request to a remote database via a communication network, the third request comprising identification information and the at least one symptom identifier; and (ii) determining, by the display device, that the display device is in a fully degraded state, the fully degraded state comprising (1) the requested PID filter list being unavailable from the remote database, and (2) the default PID filter list being unavailable from a memory device on the display device. In response to determining that the display device is in a fully degraded state, EEE 21 further comprises: (i) displaying, by the display device, the set of available PIDs on a display interface; (ii) receiving, by the display device, input data indicating selection of certain PIDs from the set of available PIDs; and (iii) displaying, by the display device, corresponding values ​​of the selected certain PIDs on the display interface.

[0290] EEE 22 is a display device, including: (i) a display interface; (ii) one or more processors; (iii) a non-transitory computer-readable medium; and (iv) program instructions stored on the non-transitory computer-readable medium. The program instructions can be executed by the one or more processors to: (i) determine identification information of a vehicle to be maintained; (ii) receive at least one symptom identifier of the vehicle; (iii) issue a request to a remote server through a communication network to obtain a PID filter list of the vehicle, the request including the identification information of the vehicle and the at least one symptom identifier of the vehicle; (iv) receive a response to the request from the remote server through the communication network, the response including the PID filter list; (v) determine a symptom-based PID subgroup of the vehicle from a set of available PIDs based on the PID filter list of the vehicle; and (vi) display the symptom-based PID subgroup of the vehicle on the display interface.

[0291] The EEE 23 is a display device of the EEE 22, wherein the at least one symptom identifier includes at least one diagnostic test code (DTC).

[0292] The EEE 24 is a display device for the EEE 23 , wherein program instructions are also executable by the one or more processors to receive the at least one DTC from the vehicle at the display device.

[0293] EEE 25 is the display device of any one of EEEs 22 to 24, in which identification information of the vehicle indicates the year, make, model, and engine.

[0294] EEE 26 is a display device of any one of EEEs 22 to 25, wherein program instructions may also be executed by the one or more processors to: (i) receive corresponding values ​​of symptom-based PID subgroups of a vehicle at a display device of the vehicle; (ii) receive input data indicating selection of a symptom-based PID subgroup of the vehicle at the display device; and (iii) in response to receiving the input data, display the corresponding values ​​of the symptom-based PID subgroup of the vehicle on a display interface by the display device.

[0295] EEE 27 is a display device of EEE 26 , wherein program instructions are also executable by one or more processors to, in response to receiving the input data, initiate a request by the display device to the vehicle to obtain corresponding values ​​of the symptom-based PID subgroup of the vehicle.

[0296] EEE 28 is the display device of any one of EEEs 22 to 27, wherein the PID filter list includes an index value compiled into an ordered list of PIDs, wherein the ordered list of PIDs is stored on the display device, and wherein the program instructions are further executable by the one or more processors to determine a symptom-based PID subset of the vehicle by selecting a PID corresponding to the index value from the ordered list of PIDs stored on the display device.

[0297] EEE 29 is the display device of any one of EEEs 22 to 28, wherein the response to the request also includes a baseline range for one or more PIDs in a symptom-based PID subset of the vehicle, and wherein the program instructions are also executable by the one or more processors to display the baseline range for the one or more PIDs on a display interface by the display device.

[0298] EEE 30 is the display device of any one of EEEs 22 to 28, wherein the response to the request also includes a baseline range for one or more PIDs in a symptom-based PID subset of the vehicle, and wherein the program instructions are also executable by the one or more processors to: (i) receive corresponding values ​​of the one or more PIDs from the vehicle at the display device; (ii) determine, by the display device, that the corresponding value of a given PID is outside the baseline range of the given PID; and (iii) display, by the display device, on a display interface, an indication that the corresponding value of the given PID is outside the baseline range of the given PID.

[0299] EEE 31 is the display device of any one of EEEs 22 to 28, wherein the response to the request also includes a baseline range for one or more PIDs in a symptom-based PID subset of the vehicle, and wherein the response to the request also includes a vehicle operating state that generated the baseline range for the one or more PIDs, and wherein the program instructions are also executable by the one or more processors to display an indication of the vehicle operating state on a display interface by the display device.

[0300] EEE 32 is the display device of any one of EEEs 22 to 28, wherein the response to the request also includes a baseline range for one or more PIDs in a symptom-based PID subgroup of the vehicle, and wherein the program instructions are also executable by the one or more processors to: (i) determine, by the display device, that the baseline range is not available for a particular PID in the PID subgroup; (ii) display, by the display device, a query for the baseline range for the particular PID on a display interface; (iii) receive, at the display device, input data indicating a baseline range for the particular PID in response to the query; and (iv) display, by the display device, on the display interface, the baseline range for the particular PID indicated by the input data.

[0301] EEE 33 is the display device of any one of EEEs 22 to 28, wherein the response to the request also includes multiple baseline ranges corresponding to multiple vehicle operating states for a given PID in a symptom-based PID subgroup of the vehicle, and wherein the program instructions are also executable by the one or more processors to: (i) determine, by the display device, a current operating state of the vehicle; (ii) select, by the display device, a baseline range for the given PID from the multiple baseline ranges, so that the selected baseline range corresponds to the current operating state of the vehicle; and (iii) display, by the display device, the selected baseline range for the given PID on a display interface.

[0302] EEE 34 is a display device of EEE 33, wherein the program instructions can also be executed by the one or more processors to: (i) determine, by the display device, that the current operating state of the vehicle has changed to a different operating state among the multiple vehicle operating states; (ii) select, by the display device, a different baseline range for a given PID from the multiple baseline ranges, so that the selected different baseline range corresponds to a different operating state; and (iii) display, by the display device, the selected different baseline range for the given PID on a display interface.

[0303] The EEE 35 is a display device of the EEE 33, wherein the plurality of vehicle operating states correspond to a plurality of different geographic locations of the vehicle.

[0304] EEE 36 is the display device of any one of EEEs 22 to 28, wherein the response to the request also includes multiple baseline ranges for multiple vehicle operating states corresponding to a given PID in the subset of PIDs, wherein the program instructions are also executable by the one or more processors to: (i) display an indication of the multiple vehicle operating states on a display interface by the display device; (ii) receive input data at the display device indicating a selection of a specific vehicle operating state from the multiple vehicle operating states; (iii) select, by the display device, a baseline range for the given PID from the multiple baseline ranges, such that the selected baseline range corresponds to the selected specific vehicle operating state; and (iv) display, by the display device, the selected baseline range for the given PID on the display interface.

[0305] EEE 37 is the display device of any one of EEEs 22 to 36, wherein the response to the request also includes a functional test filter list for the vehicle, wherein the program instructions are also executable by the one or more processors to: (i) determine, by the display device, a symptom-based functional test subgroup for the vehicle from a set of available functional tests based on the functional test filter list for the vehicle; and (ii) display, by the display device, the symptom-based functional test subgroup for the vehicle on a display interface.

[0306] EEE 38 is a display device of EEE 37, wherein program instructions are also executable by the one or more processors to: (i) receive input data at the display device indicating selection of a specific functional test from a subset of symptom-based functional tests for the vehicle; and (ii) send instructions to the vehicle via the display device to perform the selected specific functional test on the vehicle.

[0307] EEE 39 is the display device of any one of EEEs 22 to 38, wherein the response to the request also includes a component test filter list, wherein the program instructions are also executable by the one or more processors to: (i) determine, by the display device, a symptom-based subset of component tests for the vehicle from a set of available component tests based on the component test filter list; and (ii) display, by the display device, the symptom-based subset of component tests for the vehicle on a display interface.

[0308] EEE 40 is a display device of EEE 39, wherein program instructions are also executable by the one or more processors to: (i) receive input data at the display device indicating selection of a specific component test from a symptom-based subset of component tests for a vehicle; and (ii) provide instructions from the display device to an oscilloscope or multimeter to perform the selected specific component test on the vehicle.

[0309] EEE 41 is a display device of any one of EEEs 22 to 40, wherein the program instructions are also executable by the one or more processors to: (i) determine that the PID filter list of the vehicle is not available from the remote server; (ii) identify a default PID filter list stored on the display device; (iii) determine a default PID subgroup from the group of available PIDs based on the default PID filter list; and (iv) display the default PID subgroup from the group of available PIDs on the display interface.

[0310] EEE 42 is a display device of any one of EEEs 22 to 40, wherein the program instructions are also executable by the one or more processors to: (i) determine that a PID filter list for the vehicle is not available from a remote server; (ii) determine that the display device lacks a default PID filter list; (iii) in response to determining that the PID filter list for the vehicle is not available from the remote server and the display device lacks a default PID filter list, display the set of available PIDs on a display interface; (iv) receive input data indicating selection of certain PIDs from the set of available PIDs; and (v) display a corresponding value of the selected specific PID on the display interface.

[0311] EEE 43 is a non-transitory computer-readable medium having instructions stored therein, which can be executed by one or more processors to cause a server to perform functions including the following: (i) determining identification information of a vehicle to be maintained; (ii) receiving at least one symptom identifier of the vehicle; (iii) issuing a request to a remote server through a communication network to obtain a PID filter list of the vehicle, the request including the identification information of the vehicle and the at least one symptom identifier of the vehicle; (iv) receiving a response to the request from the remote server through the communication network, the response including the PID filter list of the vehicle; (v) determining a symptom-based PID subgroup of the vehicle from a set of available PIDs based on the PID filter list of the vehicle; and (vi) displaying the symptom-based PID subgroup of the vehicle on a display interface.

[0312] EEE 44 is a non-transitory computer readable medium of EEE 43, wherein the at least one symptom identifier includes at least one diagnostic test code (DTC).

[0313] The EEE 45 is a non-transitory computer readable medium of the EEE 44 , the functions also including receiving the at least one DTC from the vehicle at the display device.

[0314] EEE 46 is a non-transitory computer-readable medium of any one of EEEs 43 to 45, wherein identification information of the vehicle indicates year, make, model, and engine.

[0315] EEE 47 is a non-transitory computer-readable medium of any one of EEEs 43 to 46, the function also including: (i) receiving corresponding values ​​of symptom-based PID subgroups of the vehicle from the vehicle at a display device; (ii) receiving input data indicating selection of a symptom-based PID subgroup of the vehicle at the display device; and (iii) in response to receiving the input data, displaying the corresponding values ​​of the symptom-based PID subgroup of the vehicle on a display interface by the display device.

[0316] The EEE 48 is a non-transitory computer readable medium of the EEE 47 , the functionality further comprising initiating a request by the display device to the vehicle to obtain corresponding values ​​of the symptom-based PID subgroup of the vehicle in response to receiving the input data.

[0317] EEE 49 is a non-transitory computer-readable medium of any one of EEEs 43 to 48, wherein the PID filter list includes index values ​​compiled into an ordered list of PIDs, wherein the ordered list of PIDs is stored on a display device, and the function also includes determining a symptom-based PID subset of the vehicle by selecting a PID corresponding to the index value from the ordered list of PIDs stored on the display device.

[0318] EEE 50 is a non-transitory computer-readable medium of any one of EEEs 43 to 49, wherein the response to the request also includes a baseline range of one or more PIDs in a symptom-based PID subset of the vehicle, and the function also includes displaying the baseline range of the one or more PIDs on a display interface by a display device.

[0319] EEE 51 is a non-transitory computer-readable medium of any one of EEEs 43 to 49, wherein the response to the request also includes a baseline range of one or more PIDs in a symptom-based PID subgroup of the vehicle, and the function also includes: (i) receiving corresponding values ​​of the one or more PIDs from the vehicle at a display device; (ii) determining, by the display device, that the corresponding value of a given PID is outside the baseline range of the given PID; and (iii) displaying, by the display device, on a display interface, an indication that the corresponding value of the given PID is outside the baseline range of the given PID.

[0320] EEE 52 is a non-transitory computer-readable medium of any one of EEEs 43 to 49, wherein the response to the request also includes a baseline range for one or more PIDs in a symptom-based PID subset of the vehicle, and wherein the response to the request also includes a vehicle operating state that generates the baseline range for the one or more PIDs, and the function also includes displaying an indication of the vehicle operating state on a display interface by a display device.

[0321] EEE 53 is a non-transitory computer-readable medium of any one of EEEs 43 to 49, wherein the response to the request also includes a baseline range for one or more PIDs in a symptom-based PID subgroup of the vehicle, and the function also includes: (i) determining, by a display device, that the baseline range is not available for a particular PID in the PID subgroup; (ii) displaying, by the display device, a query for the baseline range for the particular PID on a display interface; (iii) receiving, at the display device, input data indicating a baseline range for the particular PID in response to the query; and (iv) displaying, by the display device, on the display interface, the baseline range for the particular PID indicated by the input data.

[0322] EEE 54 is a non-transitory computer-readable medium of any one of EEEs 43 to 49, wherein the response to the request also includes multiple baseline ranges corresponding to multiple vehicle operating states for a given PID in a symptom-based PID subgroup of the vehicle, and the function also includes: (i) determining, by a display device, a current operating state of the vehicle; (ii) selecting, by the display device, a baseline range for the given PID from the multiple baseline ranges so that the selected baseline range corresponds to the current operating state of the vehicle; and (iii) displaying, by the display device, the selected baseline range for the given PID on a display interface.

[0323] EEE 55 is a non-temporary computer-readable medium of EE54, and its functions also include: (i) determining by a display device that a current operating state of the vehicle has changed to a different operating state among the multiple vehicle operating states; (ii) selecting by the display device a different baseline range for a given PID from the multiple baseline ranges, so that the selected different baseline range corresponds to a different operating state; and (iii) displaying by the display device the selected different baseline range for the given PID on a display interface.

[0324] EEE 56 is a non-transitory computer-readable medium of EEE 54 , wherein the plurality of vehicle operating states correspond to a plurality of different geographic locations of the vehicle.

[0325] EEE 57 is a non-transitory computer-readable medium of any one of EEEs 43 to 49, wherein the response to the request also includes multiple baseline ranges for multiple vehicle operating states corresponding to a given PID in the subset of PIDs, and the function also includes: (i) displaying an indication of the multiple vehicle operating states on a display interface by a display device; (ii) receiving input data at the display device indicating selection of a specific vehicle operating state from the multiple vehicle operating states; (iii) selecting, by the display device, a baseline range for the given PID from the multiple baseline ranges, so that the selected baseline range corresponds to the selected specific vehicle operating state; and (iv) displaying the selected baseline range for the given PID on the display interface by the display device.

[0326] EEE 58 is a non-transitory computer-readable medium of any one of EEEs 43 to 57, wherein the response to the request also includes a functional test filter list for the vehicle, the function further comprising: (i) determining, by the display device, a symptom-based functional test subgroup for the vehicle from a set of available functional tests based on the functional test filter list for the vehicle; and (ii) displaying, by the display device, the symptom-based functional test subgroup for the vehicle on a display interface.

[0327] EEE 59 is a non-transitory computer-readable medium of EEE 58, the functions also including: (i) receiving input data at a display device indicating selection of a specific functional test from a subset of symptom-based functional tests for the vehicle; and (ii) sending instructions from the display device to the vehicle to perform the selected specific functional test on the vehicle.

[0328] EEE 60 is a non-transitory computer-readable medium of any one of EEEs 43 to 59, wherein the response to the request also includes a component test filter list, and the function also includes: (i) determining, by the display device, a symptom-based subgroup of component tests for the vehicle from a set of available component tests based on the component test filter list; and (ii) displaying, by the display device, the symptom-based subgroup of component tests for the vehicle on a display interface.

[0329] EEE 61 is a non-transitory computer-readable medium of EEE 60, the functions also including: (i) receiving input data at a display device indicating selection of a specific component test from a symptom-based subset of component tests for a vehicle; and (ii) providing instructions by the display device to an oscilloscope or multimeter to perform the selected specific component test on the vehicle.

[0330] EEE 62 is a non-transitory computer-readable medium of any one of EEEs 43 to 61, the function also including: (i) sending a second request to a remote database via a communication network by the display device, the second request including identification information and the at least one symptom identifier; and (ii) determining by the display device that the display device is in a partially degraded state, the partially degraded state including (1) the requested PID filter list is not available from the remote database and (2) the default PID filter list is available from a memory device on the display device. In response to determining that the display device is in a partially degraded state, the function also includes: (i) determining by the display device a default PID subgroup from the set of available PIDs based on the default PID filter list; and (ii) displaying by the display device the default PID subgroup from the set of available PIDs on a display interface.

[0331] EEE 63 is a non-transitory computer-readable medium of EEE 62, the function also includes: (i) sending a third request to a remote database via a communication network by the display device, the third request including identification information and the at least one symptom identifier; and (ii) determining by the display device that the display device is in a fully degraded state, the fully degraded state including (1) the requested PID filter list cannot be obtained from the remote database and (2) the default PID filter list cannot be obtained from a memory device on the display device. In response to determining that the display device is in a fully degraded state, the function also includes: (i) displaying the set of available PIDs on a display interface by the display device; (ii) receiving input data indicating selection of certain PIDs from the set of available PIDs by the display device; and (iii) displaying corresponding values ​​of the selected certain PIDs on the display interface by the display device.

[0332] EEE 64 is a method for outputting a parameter identifier (PID) filter list at a server, comprising: (i) receiving repair order (RO) data at the server, wherein the RO data includes data indicating specific vehicle identification information, at least one symptom identifier, and a specific vehicle component from one or more ROs; (ii) determining, at the server, symptom-parameter identifier (PID) mapping data based on the received RO data and component-PID mapping data, wherein the component-PID mapping data maps one or more PIDs from a set of available PIDs from a set of vehicles identifiable by the specific vehicle identification information to the specific vehicle component, and wherein the symptom-PID mapping data maps one or more PIDs from the set of vehicles identifiable by the specific vehicle identification information to the specific vehicle component. (iii) determining, at a server, a PID filter list based on the group of available PIDs for the group of vehicles and the symptom-PID mapping data, wherein the PID filter list is associated with specific vehicle identification information and the at least one symptom identifier, and wherein the PID filter list indicates a symptom-based subset of the group of available PIDs from the group of vehicles; (iv) receiving, at the server, a request sent from a display device via a communication network, wherein the request includes the specific vehicle identification information and the at least one symptom identifier; and (v) sending, by the server to the display device via the communication network, a response to the request, the response including the PID filter list.

[0333] EEE 65 is the method of EEE 64, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, and wherein a symptom-based subset of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subset of PIDs in the group of available PIDs from the group of vehicles.

[0334] EEE 66 is the method of any one of EEEs 64 to 65, wherein the specific vehicle identification information includes a vehicle manufacturer identifier, and (i) at least one vehicle model year identifier and at least one vehicle model identifier, or (ii) at least one vehicle model year identifier, at least one vehicle model identifier, and at least one engine identifier.

[0335] EEE 67 is a method of any one of EEE 64 to 66, further comprising: (i) determining symptom-component test mapping data at a server based on the received RO data and component-component test mapping data, wherein the symptom-component test mapping data maps one or more component tests from a set of available component tests for the group of vehicles identifiable by specific vehicle identification information to the at least one symptom identifier; (ii) determining a component test filter list at the server based on the set of available component tests for the group of vehicles and the symptom-component test mapping data, wherein the component test filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the component test filter list indicates a symptom-based subset of component tests from the set of available component tests for the group of vehicles; and (iii) retrieving the component test filter list by the server based on the specific vehicle identification information and the at least one symptom identifier received in the request; wherein a response to the request includes the component test filter list.

[0336] EEE 68 is the method of EEE 67, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, wherein a symptom-based subgroup of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles, and wherein a symptom-based subgroup of component tests in the group of available component tests from the group of vehicles includes a DTC-based subgroup of component tests in the group of available component tests from the group of vehicles.

[0337] EEE 69 is the method of any of EEEs 67 and 68, wherein the component test filter list includes component tests that can be performed by an oscilloscope of the display device or a multimeter of the display device.

[0338] EEE 70 is a method of any one of EEEs 67 to 69, wherein the PID filter list includes index values ​​compiled into an ordered list of PIDs for vehicles identifiable by specific vehicle identification information, and / or the component test filter list includes index values ​​compiled into an ordered list of component tests for vehicles identifiable by specific vehicle identification information.

[0339] EEE 71 is a method of any one of EEE 67 to 70, further comprising: (i) determining symptom-functional test mapping data at a server based on the received RO data and component-functional test mapping data, wherein the symptom-functional test mapping data maps one or more functional tests from a set of available functional tests for the group of vehicles identifiable by specific vehicle identification information to the at least one symptom identifier, (ii) determining a functional test filter list at the server based on the set of available functional tests for the group of vehicles and the symptom-functional test mapping data, wherein the functional test filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the functional test filter list indicates a symptom-based subgroup of functional tests from the set of available functional tests for the group of vehicles, and (iii) retrieving the functional test filter list by the server based on the specific vehicle identification information and the symptom received in the request.

[0340] EEE 72 is the method of EEE 71, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, wherein a symptom-based subgroup of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles, wherein a symptom-based subgroup of component tests in the group of available component tests from the group of vehicles includes a DTC-based subgroup of component tests in the group of available component tests from the group of vehicles, and wherein a symptom-based subgroup of functional tests in the group of available functional tests from the group of vehicles includes a DTC-based subgroup of functional tests in the group of available functional tests from the group of vehicles.

[0341] EEE 73 is the method of any of EEEs 71 and 72, wherein the functional test filter list indicates functional tests including sending a vehicle data message from the display device to the vehicle.

[0342] EEE 74 is the method of any one of EEEs 71 to 73, wherein the PID screening list includes index values ​​into an ordered list of PIDs, component tests, and functional tests for vehicles identifiable by specific vehicle identification information.

[0343] EEE 75 is the method of EEE 64, further comprising: (i) determining, at a server, symptom-functional test mapping data based on the received RO data and component-functional test mapping data, wherein the symptom-functional test mapping data maps one or more functional tests from a set of available functional tests for the group of vehicles identifiable by specific vehicle identification information to the at least one symptom identifier; (ii) determining, at the server, a functional test filter list based on the set of available functional tests for the group of vehicles and the symptom-functional test mapping data, wherein the functional test filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the functional test filter list indicates a symptom-based subgroup of functional tests from the set of available functional tests for the group of vehicles; and (iii) retrieving, by the server, the functional test filter list based on the specific vehicle identification information and the symptoms received in the request, wherein a response to the request includes the functional test filter list.

[0344] EEE 76 is the method of EEE 75, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, wherein a symptom-based subgroup of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles, and wherein a symptom-based subgroup of functional tests in the group of available functional tests from the group of vehicles includes a DTC-based subgroup of functional tests in the group of available functional tests from the group of vehicles.

[0345] EEE 77 is the method of any of EEEs 75 and 76, wherein the functional test filter list indicates functional tests including sending a vehicle data message from the display device to the vehicle.

[0346] EEE 78 is the method of any one of EEEs 75 to 77, wherein the PID screening list includes index values ​​into an ordered list of PIDs and functional tests for vehicles identifiable by specific vehicle identification information.

[0347] EEE 79 is the method of EEE 64, further comprising: (i) determining, at a server, symptom-reset process mapping data based on the received RO data and component-reset process mapping data, wherein the symptom-reset process mapping data maps one or more reset processes from a set of available reset processes for the group of vehicles identifiable by specific vehicle identification information to the at least one symptom identifier; (ii) determining, at the server, a reset process filter list based on the set of available reset processes for the group of vehicles and the symptom-reset process mapping data, wherein the reset process filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the reset process filter list indicates a symptom-based subset of reset processes from the set of available reset processes for the group of vehicles; and (iii) retrieving, by the server, the reset process filter list based on the specific vehicle identification information and the symptom received in the request, wherein a response to the request includes the reset process filter list.

[0348] EEE 80 is the method of EEE 79, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, wherein a subgroup of symptom-based reset procedures in the group of available reset procedures from the group of vehicles includes a subgroup of DTC-based reset procedures in the group of available reset procedures from the group of vehicles, and wherein the subgroup of symptom-based reset procedures in the group of available reset procedures from the group of vehicles includes a subgroup of DTC-based reset procedures in the group of available reset procedures from the group of vehicles.

[0349] EEE 81 is the method of any of EEEs 79 and 80, wherein the reset procedure filter list includes an index value indexed into an ordered list of reset procedures for a vehicle identifiable by the specific vehicle identification information.

[0350] EEE 82 is a method of any one of EEE 79 to 81, wherein the response includes a first response and a second response, wherein the first response includes a PID filter list, the second response includes a reset process filter list, and wherein sending the response including the PID filter list includes sending the first response, the method further comprising: (i) establishing a diagnostic session for a display device regarding the first response and the second response at a server; (ii) determining at the server that a vehicle repair has been performed regarding the diagnostic session, and (iii) in response to determining that a vehicle repair has been performed regarding the diagnostic session, sending a second response by the server to the display device via a communication network.

[0351] EEE 83 is the method of EEE 82 , wherein determining that vehicle repair has occurred includes determining that a threshold amount of time has elapsed since the first response was sent to the display device.

[0352] EEE 84 is the method of any one of EEEs 64 to 83, wherein determining the PID filter list includes modifying an existing PID filter list, wherein the existing PID filter list includes different subsets of PIDs from the set of available PIDs for the group of vehicles, wherein the existing PID filter list is associated with specific vehicle identification information and the at least one symptom identifier, and wherein modifying the existing PID filter list includes adding at least one PID from the set of available PIDs for the group of vehicles to the existing PID filter list and / or removing at least one PID from the existing PID filter list.

[0353] EEE 85 is a method of any one of EEE 64 to 84, wherein the RO data includes a subgroup of a set of RO data, wherein the set of RO data includes data from multiple ROs, the data indicating (i) specific vehicle identification information or different vehicle identification information, (ii) the at least one symptom identifier or different symptoms, and (iii) specific vehicle components or different vehicle components, and wherein receiving the RO data includes receiving the set of RO data, the method further comprising: determining, at a processor based on the set of RO data, the subgroup of the RO data by determining that the set of RO data indicates that the specific vehicle component is the most replaced component and the at least one symptom identifier is the most reported symptom of a vehicle in the group of vehicles identifiable by the specific vehicle identification information.

[0354] EEE 86 is the method of any one of EEEs 64 to 85, wherein the PID filter list includes index values ​​into an ordered list of PIDs of vehicles identifiable by the specific vehicle identification information.

[0355] EEE 87 is the method of any one of EEEs 64 to 86, further comprising: (i) determining, at a server, a vehicle component associated with a specific vehicle component; (ii) determining, at the server, at least one PID to be added to a PID filter list based on component-PID mapping data, the component-PID mapping data mapping one or more PIDs from the group of available PIDs of the group of vehicles identifiable by the specific vehicle identification information to the vehicle component associated with the specific vehicle component, and (iii) adding, by the server, the at least one PID to the PID filter list.

[0356] EEE 88 is the method of EEE 87, wherein the server determines vehicle components related to a particular vehicle component by searching data in a memory that identifies vehicle components of vehicles in the group of vehicles in a hierarchical format based on systems and / or subsystems of the vehicles in the group of vehicles.

[0357] EEE 89 is a method of any one of EEEs 64 to 88, further comprising: (i) receiving a first set of PID values ​​and a second set of PID values ​​at a server, wherein the first set of PID values ​​is for a specific PID from a first set of vehicles, wherein all diagnostic trouble codes (DTCs) of a specific ECU in each vehicle in the first set of vehicles are set to invalid, and wherein the second set of PID values ​​is for a specific PID from a second set of vehicles, wherein one or more specific DTCs of a specific ECU in each vehicle in the second set of vehicles are set to valid, and wherein the first group of vehicles and the second group of vehicles are identifiable by specific vehicle identification information, (ii) determining, by the server, a PID value range for the specific PID from the first set of PID values, (iii) determining, by the server from the second set of PID values, that one or more PID values ​​of the specific PID are outside the PID value range for the specific PID by a threshold, and (iv) in response to determining that the one or more PID values ​​of the specific PID are outside the PID value range for the specific PID by the threshold, adding, by the server, the specific PID to a PID filter list.

[0358] EEE 90 is the method of EEE 89, wherein the PID filter list includes one or more default PIDs before adding the specific PID to the PID filter list and after adding the specific PID to the PID filter list.

[0359] EEE 91 is a method of any one of EEE 89 to 90, wherein the response further includes data indicating a range of PID values ​​for the particular PID.

[0360] EEE 92 is a method of any one of EEEs 89 to 91, wherein determining that the one or more PID values ​​for a particular PID are outside a range of PID values ​​comprises (i) determining that a second set of PID values ​​includes a first number of PIDs, (ii) determining that the one or more PID values ​​for the particular PID include a second number of PIDs, and (iii) determining that the second number of PIDs exceeds a threshold percentage of the first number of PIDs.

[0361] EEE 93 is the method of any one of EEEs 89 to 92, wherein adding the specific PID to the PID filter list is conditioned on the server determining that the one or more PID values ​​of the specific PID include at least a threshold number of PID values.

[0362] EEE 94 is the method of any one of EEE 89 to 93, wherein the PID value range for a particular PID includes a first PID value range; wherein the server can determine that in a vehicle in a first group of vehicles, each PID value in the first PID value range is generated when the vehicle is operating in a first operating state, and wherein the response also includes data indicating that the first PID value range is associated with the first operating state.

[0363] EEE 95 is the method of EEE 94, further comprising: determining, by the server, a second PID value range for a particular PID from the first set of PID values, wherein the server determines that each PID value in the second PID value range is generated in a vehicle in the first set of vehicles when the vehicle is operating in a second operating state different from the first operating state, and the response also comprises the second PID value range and data indicating that the second PID value range is associated with the second operating state.

[0364] EEE 96 is the method of any of EEE 94 and 95, wherein the first operating state includes a first engine revolutions per minute (RPM) value, a first engine load value, and / or a first engine temperature value, wherein if the first operating state includes the first RPM value, the second operating state includes a second engine RPM value, wherein if the first operating state includes the first engine load value, the second operating state includes a second engine load value, and wherein if the first operating state includes the first engine temperature value, the second operating state includes a second engine temperature value.

[0365] EEE 97 is the method of any one of EEE 89 to 96, wherein determining the range of PID values ​​for the particular PID comprises determining a series of values ​​for the particular PID at one, two, three or four standard deviations from a mean of the PID values ​​for the particular PID within the first set of PID values.

[0366] EEE 98 is EEE The method of any one of items 64 to 97 further includes: (i) receiving at a server a second request issued from a first display device connected to a first vehicle via a communication network, wherein the second request includes specific vehicle identification information and the at least one symptom identifier, wherein the specific vehicle identification information identifies a specific vehicle group, wherein the specific vehicle group includes the first vehicle, and wherein the at least one symptom identifier includes symptoms that can be presented by each vehicle in the specific vehicle group; (ii) sending by the server a response to the second request to the first display device via the communication network, the response to the second request including a PID filter list; (iii) determining by the server that the first display device responds to the request of the first vehicle to display an additional PID not included in the PID filter list by the first display device; (iv) generating by the server a modified PID filter list by adding the additional PID to the PID filter list; (v) after generating the modified PID filter list, receiving at the server a next request issued from the second display device via the communication network, wherein the next request includes the specific vehicle identification information and the at least one symptom identifier; and (vi) sending by the server a response to the next request to the second display device via the communication network, the response to the next request including the modified PID filter list.

[0367] EEE 99 is the method of EEE 98, wherein the PID filter list and the modified PID filter list include index values ​​into an ordered list of PIDs of vehicles identifiable by the specific vehicle identification information.

[0368] EEE 100 is the method of any of EEEs 98 and 99, wherein the second display device is the first display device.

[0369] EEE 101 is the method of any one of EEEs 98 to 100, further comprising: receiving, at a server, PID data provided from a first vehicle to a first display device; and determining, by the server, that the PID data provided from the first vehicle to the first display device and subsequently received by the server includes PID data of an additional PID to be displayed by the first display device.

[0370] EEE 102 is a method of any one of EEEs 98 to 101, further comprising: receiving data at a server indicating that the first display device has received an input requesting display of additional PIDs, wherein the server determines, at least in part based on the data indicating that the first display device has received an input requesting display of additional PIDs, that the first display device displays additional PIDs not included in the PID filter list in response to a request from the first vehicle.

[0371] EEE 103 is a method of any one of EEEs 98 to 102, further comprising: retrieving, by the server, a PID filter list from a computer-readable memory based on the specific vehicle identification information and the at least one symptom identifier received in the second request; and / or retrieving, by the server, a modified PID filter list from a computer-readable memory based on the specific vehicle identification information and the at least one symptom identifier received in the next request.

[0372] EEE 104 is a method of any one of EEEs 98 to 103, wherein determining that the first display device responds to a request by the first vehicle to display additional PIDs not included in the PID filter list by the first display device includes determining that the additional PIDs are requested within a threshold amount of time after the server receives the second request or after the server sends the response.

[0373] EEE 105 is a method of any one of EEEs 98 to 104, wherein the first display device is one of a plurality of display devices registered with a server, wherein a condition for generating a modified PID filter list may be: determining on the server that the first display device responds to a request from the first vehicle to display an additional PID not included in the PID filter list by the first display device is after the server has sent the PID filter list to any one of the plurality of display devices, and the any one of the plurality of display devices has requested for an nth time to display the additional PID not included in the PID filter list on the any one of the plurality of display devices, and wherein "n" of the nth time includes a predetermined threshold number greater than one.

[0374] EEE 106 is a server, comprising: a network communication interface for communicating with a display device via a communication network; at least one processor coupled to the network communication interface and programmed to: (i) receive repair order (RO) data at the server, wherein the RO data includes data indicating specific vehicle identification information, at least one symptom identifier, and specific vehicle components from one or more ROs; (ii) determine symptom-parameter identifier (PID) mapping data at the server based on the received RO data and component-PID mapping data, wherein the component-PID mapping data maps one or more PIDs from a set of available PIDs for a set of vehicles identifiable by the specific vehicle identification information to the specific vehicle components, and wherein the symptom-PID mapping data maps the PIDs from the set of available PIDs for the specific vehicle components to the specific vehicle components. (iii) determining, at a server, a PID filter list based on the group of available PIDs for the group of vehicles and symptom-PID mapping data, wherein the PID filter list is associated with specific vehicle identification information and the at least one symptom identifier, and wherein the PID filter list indicates a symptom-based subset of PIDs from the group of available PIDs for the group of vehicles; (iv) receiving, at the server, a request sent from a display device via a communication network, wherein the request includes the specific vehicle identification information and the at least one symptom identifier; and (v) sending, by the server to the display device via the communication network, a response to the request, the response including the PID filter list.

[0375] EEE 107 is a server of EEE 106, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, and wherein a symptom-based subgroup of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles.

[0376] EEE 108 is a server of any of EEEs 106 and 107, wherein the specific vehicle identification information includes a vehicle manufacturer identifier, and (i) at least one vehicle model year identifier and at least one vehicle model identifier, or (ii) at least one vehicle model year identifier, at least one vehicle model identifier, and at least one engine identifier.

[0377] EEE 109 is a server of any one of EEEs 106 to 108, wherein the processor is further programmed to: (i) determine symptom-component test mapping data based on the received RO data and the component-component test mapping data, wherein the symptom-component test mapping data maps one or more component tests from a set of available component tests for the group of vehicles identifiable by the specific vehicle identification information to the at least one symptom identifier; (ii) determine a component test filter list based on the set of available component tests for the group of vehicles and the symptom-component test mapping data, wherein the component test filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the component test filter list indicates a symptom-based subset of component tests from the set of available component tests for the group of vehicles; and (iii) retrieve the component test filter list based on the specific vehicle identification information and the at least one symptom identifier received in the request; wherein the response to the request includes the component test filter list.

[0378] EEE 110 is a server of EEE 109, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, wherein a symptom-based subgroup of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles, and wherein a symptom-based subgroup of component tests in the group of available component tests from the group of vehicles includes a DTC-based subgroup of component tests in the group of available component tests from the group of vehicles.

[0379] The EEE 111 is a server of any one of the EEEs 109 and 110 , wherein the component test filter list includes component tests executable by an oscilloscope of the display device or a multimeter of the display device.

[0380] EEE 112 is a server of any one of EEEs 109 to 111, wherein the PID filter list includes index values ​​into an ordered list of PIDs for vehicles identifiable by specific vehicle identification information, and / or the component test filter list includes index values ​​into an ordered list of component tests for vehicles identifiable by specific vehicle identification information.

[0381] EEE 113 is a server of any one of EEEs 109 to 112, further comprising: (i) determining symptom-functional test mapping data at the server based on the received RO data and component-functional test mapping data, wherein the symptom-functional test mapping data maps one or more functional tests from a set of available functional tests of the group of vehicles identifiable by specific vehicle identification information to the at least one symptom identifier; (ii) determining a functional test filter list at the server based on the set of available functional tests of the group of vehicles and the symptom-functional test mapping data, wherein the functional test filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the functional test filter list indicates a symptom-based functional test subgroup of the set of available functional tests from the group of vehicles; and (iii) retrieving the functional test filter list by the server based on the specific vehicle identification information and the symptoms received in the request, wherein a response to the request includes the functional test filter list.

[0382] EEE 114 is a server of EEE 113, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, wherein a symptom-based subgroup of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles, wherein a symptom-based subgroup of component tests in the group of available component tests from the group of vehicles includes a DTC-based subgroup of component tests in the group of available component tests from the group of vehicles, and wherein a symptom-based subgroup of functional tests in the group of available functional tests from the group of vehicles includes a DTC-based subgroup of functional tests in the group of available functional tests from the group of vehicles.

[0383] The EEE 115 is a server of any one of the EEEs 113 to 114 , wherein the functional test filter list indicates a functional test including sending a vehicle data message from the display device to the vehicle.

[0384] EEE 116 is a server of any of EEEs 113 to 115, wherein the PID filter list includes index values ​​into an ordered list of PIDs, component tests, and functional tests for vehicles identifiable by specific vehicle identification information.

[0385] EEE 117 is a server of EEE 106, and further includes: (i) determining symptom-functional test mapping data at the server based on the received RO data and component-functional test mapping data, wherein the symptom-functional test mapping data maps one or more functional tests from a set of available functional tests of the group of vehicles that can be identified by the specific vehicle identification information to the at least one symptom identifier; (ii) determining a functional test filter list at the server based on the set of available functional tests of the group of vehicles and the symptom-functional test mapping data, wherein the functional test filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the functional test filter list indicates a symptom-based functional test subgroup of the set of available functional tests from the group of vehicles; and (iii) retrieving the functional test filter list by the server based on the specific vehicle identification information and the symptoms received in the request, wherein the response to the request includes the functional test filter list.

[0386] EEE 118 is a server of EEE 117, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, wherein a symptom-based subgroup of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles, and wherein a symptom-based subgroup of functional tests in the group of available functional tests from the group of vehicles includes a DTC-based subgroup of functional tests in the group of available functional tests from the group of vehicles.

[0387] The EEE 119 is a server of any one of the EEEs 117 and 118 , wherein the functional test filter list indicates a functional test including sending a vehicle data message from the display device to the vehicle.

[0388] EEE 120 is a server of any of EEEs 117 to 119, wherein the PID screening list includes index values ​​into an ordered list of PIDs and functional tests for vehicles identifiable by specific vehicle identification information.

[0389] EEE 121 is a server of EEE 106, and further includes: (i) determining symptom-reset process mapping data at the server based on the received RO data and component-reset process mapping data, wherein the symptom-reset process mapping data maps one or more reset processes from a set of available reset processes for the group of vehicles that can be identified by the specific vehicle identification information to the at least one symptom identifier; (ii) determining a reset process filter list at the server based on the group of available reset processes for the group of vehicles and the symptom-reset process mapping data, wherein the reset process filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the reset process filter list indicates a symptom-based reset process subgroup of the group of available reset processes from the group of vehicles; and (iii) retrieving the reset process filter list by the server based on the specific vehicle identification information and the symptoms received in the request, wherein the response to the request includes the reset process filter list.

[0390] EEE 122 is a server of EEE 121, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, wherein a subgroup of symptom-based reset procedures in the group of available reset procedures from the group of vehicles includes a subgroup of DTC-based reset procedures in the group of available reset procedures from the group of vehicles, and wherein a subgroup of symptom-based reset procedures in the group of available reset procedures from the group of vehicles includes a subgroup of DTC-based reset procedures in the group of available reset procedures from the group of vehicles.

[0391] EEE 123 is a server of any one of EEEs 121 and 122, wherein the reset procedure screening list includes an index value indexed into an ordered list of reset procedures for a vehicle identifiable by specific vehicle identification information.

[0392] EEE 124 is a server of any one of EEEs 121 to 123, wherein the response includes a first response and a second response, wherein the first response includes a PID filter list, the second response includes a reset process filter list, and wherein sending the response including the PID filter list includes sending the first response, wherein the at least one processor is further programmed to: (i) establish a diagnostic session for the display device regarding the first response and the second response; (ii) determine that a vehicle repair has been performed regarding the diagnostic session; and (iii) in response to determining that a vehicle repair has been performed regarding the diagnostic session, send the second response to the display device via the communication network.

[0393] EEE 125 is a server of EEE 124, wherein determining that vehicle repair has occurred includes determining that a threshold amount of time has elapsed since a first response was sent to the display device.

[0394] EEE 126 is a server of any one of EEEs 106 to 125, wherein determining the PID filter list includes modifying an existing PID filter list, wherein the existing PID filter list includes different subsets of PIDs from the set of available PIDs for the group of vehicles, wherein the existing PID filter list is associated with specific vehicle identification information and the at least one symptom identifier, and wherein modifying the existing PID filter list includes adding at least one PID from the set of available PIDs for the group of vehicles to the existing PID filter list and / or removing at least one PID from the existing PID filter list.

[0395] EEE 127 is a server of any one of EEEs 106 to 126, wherein the RO data includes a subgroup of a set of RO data, wherein the set of RO data includes data from multiple ROs, the data indicating (i) specific vehicle identification information or different vehicle identification information, (ii) at least one symptom identifier or different symptoms, and (iii) specific vehicle components or different vehicle components, and wherein receiving the RO data includes receiving the set of RO data, wherein the at least one processor is further programmed to: determine the subgroup of the RO data based on the set of RO data by determining that the set of RO data indicates that the specific vehicle component is the most replaced component and the at least one symptom identifier is the most reported symptom of the vehicle in the set of vehicles identifiable by the specific vehicle identification information.

[0396] EEE 128 is a server of any of EEEs 106 to 127, wherein the PID filter list includes index values ​​into an ordered list of PIDs of vehicles identifiable by specific vehicle identification information.

[0397] EEE 129 is a server of any one of EEEs 106 to 128, further comprising: (i) determining, at the server, a vehicle component associated with a specific vehicle component; (ii) determining, at the server, at least one PID to be added to a PID filter list based on component-PID mapping data, the component-PID mapping data mapping one or more PIDs from the group of available PIDs of the group of vehicles identifiable by the specific vehicle identification information to the vehicle component associated with the specific vehicle component; and (iii) adding, by the server, the at least one PID to the PID filter list.

[0398] EEE 130 is a server of EEE 129, wherein the server determines vehicle components related to a particular vehicle component by searching data in a memory that identifies vehicle components of vehicles in the group of vehicles in a hierarchical format based on systems and / or subsystems of the vehicles in the group of vehicles.

[0399] EEE 131 is a server of any one of EEEs 64 to 129, wherein the processor is further programmed to: (i) receive a first set of PID values ​​and a second set of PID values, wherein the first set of PID values ​​is for a specific PID from a first set of vehicles, wherein all diagnostic trouble codes (DTCs) of a specific ECU in each vehicle in the first set of vehicles are set to invalid, wherein the second set of PID values ​​is for a specific PID from a second set of vehicles, wherein one or more specific DTCs of a specific ECU in each vehicle in the second set of vehicles are set to valid, and wherein the first group of vehicles and the second group of vehicles are identifiable by specific vehicle identification information; (ii) determine a PID value range for the specific PID from the first set of PID values; (iii) determine from the second set of PID values ​​that one or more PID values ​​of the specific PID are outside the PID value range for the specific PID by a threshold value; and (iv) in response to determining that the one or more PID values ​​of the specific PID are outside the PID value range for the specific PID by the threshold value, add the specific PID to a PID filter list.

[0400] The EEE 132 is a server of the EEE 131, wherein the PID filter list includes one or more default PIDs before a specific PID is added to the PID filter list and after the specific PID is added to the PID filter list.

[0401] EEE 133 is a server of any one of EEEs 131 to 132, wherein the response further includes data indicating a range of PID values ​​for the specific PID.

[0402] EEE 134 is a server of any one of EEEs 131 to 133, wherein determining that the one or more PID values ​​of a particular PID are outside a range of PID values ​​comprises (i) determining that a second set of PID values ​​includes a first number of PIDs, (ii) determining that the one or more PID values ​​of a particular PID include a second number of PIDs, and (iii) determining that the second number of PIDs exceeds a threshold percentage of the first number of PIDs.

[0403] EEE 135 is the server of any one of EEEs 131 to 134, wherein adding the specific PID to the PID filter list is conditional on determining on the at least one processor that one or more PID values ​​of the specific PID include at least a threshold number of PID values.

[0404] EEE 136 is a server of any one of EEEs 131 to 135, wherein the PID value range for a particular PID includes a first PID value range; wherein the processor is further programmed to determine that in a vehicle in a first group of vehicles, when the vehicle is operating in a first operating state, each PID value in the first PID value range is generated, and wherein the response also includes data indicating that the first PID value range is associated with the first operating state.

[0405] EEE 137 is a server of EEE 136, wherein the processor is further programmed to: determine a second PID value range for a particular PID from the first set of PID values, wherein the processor is further programmed to determine that in a vehicle in the first set of vehicles, each PID value in the second PID value range is generated in the vehicle when the vehicle is operated in a second operating state different from the first operating state, and wherein the response also includes the second PID value range and data indicating that the second PID value range is associated with the second operating state.

[0406] EEE 138 is a server of any of EEEs 136 and 137, wherein the first operating state includes a first engine revolutions per minute (RPM) value, a first engine load value, and / or a first engine temperature value, wherein if the first operating state includes the first RPM value, the second operating state includes a second engine RPM value, wherein if the first operating state includes the first engine load value, the second operating state includes a second engine load value, and wherein if the first operating state includes the first engine temperature value, the second operating state includes a second engine temperature value.

[0407] EEE 139 is the server of any one of EEEs 131 to 138, wherein determining the range of PID values ​​for the specific PID comprises determining a series of values ​​for the specific PID at one, two, three or four standard deviations from a mean of the PID values ​​for the specific PID within the first set of PID values.

[0408] EEE 140 is EEE A server of any one of items 106 to 139, wherein the at least one processor is further programmed to: (i) receive a second request issued from a first display device connected to a first vehicle via a communication network, wherein the second request includes specific vehicle identification information and the at least one symptom identifier, wherein the specific vehicle identification information identifies a specific vehicle group, wherein the specific vehicle group includes the first vehicle, and wherein the at least one symptom identifier includes symptoms that can be presented by each vehicle in the specific vehicle group; (ii) send a response to the second request to the first display device via the communication network, the response to the second request including a PID filter list; (iii) determine by the server that the first display device responds to the request of the first vehicle to display an additional PID not included in the PID filter list by the first display device; (iv) generate a modified PID filter list by adding the additional PID to the PID filter list; (v) after generating the modified PID filter list, receive a next request issued from the second display device via the communication network, wherein the next request includes the specific vehicle identification information and the at least one symptom identifier; and (vi) send a response to the next request to the second display device via the communication network, the response to the next request including the modified PID filter list.

[0409] EEE 141 is a server of EEE 140, wherein the PID filter list and the modified PID filter list include index values ​​into an ordered list of PIDs of vehicles identifiable by specific vehicle identification information.

[0410] EEE 142 is a server of any one of EEEs 140 and 141, wherein the second display device is the first display device.

[0411] EEE 143 is a server of any one of EEEs 140 to 142, wherein the at least one processor is also programmed to: receive PID data provided from the first vehicle to the first display device; and determine that the PID data provided from the first vehicle to the first display device and subsequently received by the server includes PID data of an additional PID to be displayed by the first display device.

[0412] EEE 144 is a server of any one of EEEs 140 to 143, wherein the at least one processor is further programmed to: receive data indicating that the first display device receives an input requesting display of additional PIDs, wherein the at least one processor determines, at least in part based on the data indicating that the first display device receives an input requesting display of additional PIDs, that the first display device displays additional PIDs not included in the PID filtering list at the request of the first vehicle.

[0413] EEE 145 is a server of any one of EEEs 140 to 144, wherein the at least one processor is further programmed to: retrieve a PID filter list from a computer-readable memory based on the specific vehicle identification information and the at least one symptom identifier received in the second request; and / or retrieve a modified PID filter list from the computer-readable memory based on the specific vehicle identification information and the at least one symptom identifier received in the next request.

[0414] EEE 146 is a server of any one of EEEs 140 to 145, wherein determining that the first display device responds to the request of the first vehicle to display additional PIDs not included in the PID filtering list by the first display device includes determining that the additional PIDs are requested within a threshold amount of time after the server receives the second request or after the server sends the response.

[0415] EEE 147 is a server of any one of EEEs 140 to 146, wherein the first display device is one of a plurality of display devices registered with the server, wherein a condition for generating a modified PID filter list is: determining on the at least one processor that the first display device responds to a request of the first vehicle to display an additional PID not included in the PID filter list by the first display device is after the at least one processor has sent the PID filter list to any one of the plurality of display devices, the any one of the plurality of display devices has requested for the nth time to display the additional PID not included in the PID filter list on the any one of the plurality of display devices, and wherein "n" of the nth time includes a predetermined threshold number greater than one.

[0416] EEE 148 is the server of any one of EEEs 106 to 147, further comprising: a non-transitory computer-readable memory coupled to the at least one processor, wherein the at least one processor is programmed by program instructions stored on the non-transitory computer-readable memory according to any one of EEEs 106 to 147.

[0417] EEE 149 is a non-transitory computer-readable memory storing instructions executable by one or more processors to cause a server to perform functions including: (i) receiving repair order (RO) data at the server, wherein the RO data includes data indicating specific vehicle identification information, at least one symptom identifier, and a specific vehicle component from one or more ROs; (ii) determining, at the server, symptom-parameter identifier (PID) mapping data based on the received RO data and component-PID mapping data, wherein the component-PID mapping data maps one or more PIDs from a set of available PIDs for a set of vehicles identifiable by the specific vehicle identification information to the specific vehicle component, and wherein the symptom-PID mapping data maps one or more PIDs from a set of available PIDs for a set of vehicles identifiable by the specific vehicle identification information to the specific vehicle component. (iii) determining, at a server, a PID filter list based on the group of available PIDs for the group of vehicles and the symptom-PID mapping data, wherein the PID filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the PID filter list indicates a symptom-based subset of the group of available PIDs from the group of vehicles; (iv) receiving, at the server, a request sent from a display device over a communication network, wherein the request includes the specific vehicle identification information and the at least one symptom identifier; and (v) sending, by the server to the display device over the communication network, a response to the request, the response including the PID filter list.

[0418] EEE 150 is a non-transitory computer-readable memory of EEE 149, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, and wherein a symptom-based subset of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subset of PIDs in the group of available PIDs from the group of vehicles.

[0419] EEE 151 is a non-transitory computer-readable memory of any one of EEEs 149 to 150, wherein the specific vehicle identification information includes a vehicle manufacturer identifier, and (i) at least one vehicle model year identifier and at least one vehicle model identifier or (ii) at least one vehicle model year identifier, at least one vehicle model identifier, and at least one engine identifier.

[0420] EEE 152 is a non-transitory computer-readable memory of any one of EEEs 149 to 151, the function also including: (i) determining symptom-component test mapping data at a server based on the received RO data and component-component test mapping data, wherein the symptom-component test mapping data maps one or more component tests from a set of available component tests for the group of vehicles that can be identified by the specific vehicle identification information to the at least one symptom identifier; (ii) determining a component test filter list at the server based on the set of available component tests for the group of vehicles and the symptom-component test mapping data, wherein the component test filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the component test filter list indicates a symptom-based subgroup of component tests from the set of available component tests for the group of vehicles; (iii) retrieving the component test filter list by the server based on the specific vehicle identification information and the at least one symptom identifier received in the request; wherein the response to the request includes the component test filter list.

[0421] EEE 153 is a non-transitory computer-readable memory of EEE 152, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, wherein a symptom-based subgroup of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles, and wherein a symptom-based subgroup of component tests in the group of available component tests from the group of vehicles includes a DTC-based subgroup of component tests in the group of available component tests from the group of vehicles.

[0422] EEE 154 is a non-transitory computer readable memory of any one of EEEs 152 and 153 , wherein the component test filter list includes component tests executable by an oscilloscope of the display device or a multimeter of the display device.

[0423] EEE 155 is a non-transitory computer readable memory of any one of EEEs 152 to 154, wherein the PID filter list includes index values ​​into an ordered list of PIDs for vehicles identifiable by specific vehicle identification information, and / or the component test filter list includes index values ​​into an ordered list of component tests for vehicles identifiable by specific vehicle identification information.

[0424] EEE 156 is a non-transitory computer-readable memory of any one of EEEs 152 to 155, wherein the function further includes: (i) determining, at the server, symptom-functional test mapping data and component-functional test mapping data based on the received RO data, wherein the symptom-functional test mapping data maps one or more functional tests from a set of available functional tests for the group of vehicles that can be identified by the specific vehicle identification information to the at least one symptom identifier; (ii) determining, at the server, a functional test filter list based on the set of available functional tests for the group of vehicles and the symptom-functional test mapping data, wherein the functional test filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the functional test filter list indicates a symptom-based subgroup of functional tests from the set of available functional tests from the group of vehicles; and (iii) retrieving, by the server, the functional test filter list based on the specific vehicle identification information and the symptoms received in the request, wherein a response to the request includes the functional test filter list.

[0425] EEE 157 is a non-transitory computer-readable memory of EEE 156, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, wherein a symptom-based subgroup of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles, wherein a symptom-based subgroup of component tests in the group of available component tests from the group of vehicles includes a DTC-based subgroup of component tests in the group of available component tests from the group of vehicles, and wherein a symptom-based subgroup of functional tests in the group of available functional tests from the group of vehicles includes a DTC-based subgroup of functional tests in the group of available functional tests from the group of vehicles.

[0426] EEE 158 is a non-transitory computer readable memory of any one of EEEs 156 and 157 , wherein the functional test filter list indicates functional tests including sending a vehicle data message from the display device to the vehicle.

[0427] EEE 159 is a non-transitory computer readable memory of any one of EEEs 156 to 158, wherein the PID filter list includes index values ​​into an ordered list of PIDs, component tests, and functional tests for a vehicle identifiable by specific vehicle identification information.

[0428] EEE 160 is a non-transitory computer-readable memory of EEE 159, wherein the function further includes: (i) determining symptom-functional test mapping data at the server based on the received RO data and the component-functional test mapping data, wherein the symptom-functional test mapping data maps one or more functional tests from a set of available functional tests for the group of vehicles that can be identified by the specific vehicle identification information to the at least one symptom identifier; (ii) determining a functional test filter list at the server based on the set of available functional tests for the group of vehicles and the symptom-functional test mapping data, wherein the functional test filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the functional test filter list indicates a symptom-based functional test subgroup of the set of available functional tests from the group of vehicles; and (iii) retrieving the functional test filter list by the server based on the specific vehicle identification information and the symptoms received in the request, wherein a response to the request includes the functional test filter list.

[0429] EEE 161 is a non-transitory computer-readable memory of EEE 160, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, wherein a symptom-based subgroup of PIDs in the group of available PIDs from the group of vehicles includes a DTC-based subgroup of PIDs in the group of available PIDs from the group of vehicles, and wherein a symptom-based subgroup of functional tests in the group of available functional tests from the group of vehicles includes a DTC-based subgroup of functional tests in the group of available functional tests from the group of vehicles.

[0430] The EEE 162 is a non-transitory computer readable memory of any one of the EEEs 160 and 161 , wherein the functional test filter list indicates functional tests including sending a vehicle data message from the display device to the vehicle.

[0431] EEE 163 is a non-transitory computer readable memory of any one of EEEs 160 to 162, wherein the PID filter list includes index values ​​into an ordered list of PIDs and functional tests for vehicles identifiable by specific vehicle identification information.

[0432] EEE 164 is a non-transitory computer-readable memory of EEE 149, wherein the function also includes: (i) determining symptom-reset process mapping data at the server based on the received RO data and the component-reset process mapping data, wherein the symptom-reset process mapping data maps one or more reset processes from a set of available reset processes for the group of vehicles that can be identified by the specific vehicle identification information to the at least one symptom identifier; (ii) determining a reset process filter list at the server based on the set of available reset processes for the group of vehicles and the symptom-reset process mapping data, wherein the reset process filter list is associated with the specific vehicle identification information and the at least one symptom identifier, and wherein the reset process filter list indicates a symptom-based reset process subset of the set of available reset processes from the group of vehicles; (iii) retrieving the reset process filter list by the server based on the specific vehicle identification information and the symptoms received in the request, wherein the response to the request includes the reset process filter list.

[0433] EEE 165 is a non-transitory computer-readable memory of EEE 164, wherein the at least one symptom identifier includes at least one diagnostic trouble code (DTC) that can be set as valid for each vehicle in the group of vehicles, wherein a subset of symptom-based reset procedures in the group of available reset procedures from the group of vehicles includes a subset of DTC-based reset procedures in the group of available reset procedures from the group of vehicles, and wherein the subset of symptom-based reset procedures in the group of available reset procedures from the group of vehicles includes a subset of DTC-based reset procedures in the group of available reset procedures from the group of vehicles.

[0434] EEE 166 is a non-transitory computer readable memory of any of EEEs 164 and 165, wherein the reset procedure filter list includes an index value into an ordered list of reset procedures for a vehicle identifiable by the specific vehicle identification information.

[0435] EEE 167 is a non-transitory computer-readable memory of any one of EEEs 164 to 166, wherein the response includes a first response and a second response, wherein the first response includes a PID filter list, and the second response includes a reset process filter list, and wherein sending the response including the PID filter list includes sending the first response, wherein the function also includes: (i) establishing a diagnostic session for the display device regarding the first response and the second response at the server; (ii) determining at the server that a vehicle repair has been performed regarding the diagnostic session; and (iii) in response to determining that a vehicle repair has been performed regarding the diagnostic session, sending the second response by the server to the display device via the communication network.

[0436] EEE 168 is a non-transitory computer readable memory of EEE 167 , wherein determining that vehicle repair has occurred includes determining that a threshold amount of time has elapsed since the first response was sent to the display device.

[0437] EEE 169 is a non-transitory computer readable memory of any one of EEEs 149 to 168, wherein determining the PID filter list includes modifying an existing PID filter list, wherein the existing PID filter list includes different PID subsets of PIDs from the set of available PIDs for the group of vehicles, wherein the existing PID filter list is associated with specific vehicle identification information and the at least one symptom identifier, and wherein modifying the existing PID filter list includes adding at least one PID from the set of available PIDs for the group of vehicles to the existing PID filter list and / or removing at least one PID from the existing PID filter list.

[0438] EEE 170 is a non-transitory computer readable memory of any one of EEEs 149 to 169, wherein the RO data includes a subset of a set of RO data, wherein the set of RO data includes data from multiple ROs, the data indicating (i) specific vehicle identification information or different vehicle identification information, (ii) at least one symptom identifier or different symptoms, and (iii) specific vehicle components or different vehicle components, and wherein receiving the RO data includes receiving the set of RO data, wherein the function further includes: determining, at the processor, based on the set of RO data by determining that the set of RO data indicates that the specific vehicle component is the most replaced component and the at least one symptom identifier is the most reported symptom of a vehicle in the group of vehicles identifiable by the specific vehicle identification information.

[0439] EEE 171 is a non-transitory computer readable memory of any one of EEEs 149 to 170, wherein the PID filter list includes index values ​​into an ordered list of PIDs of vehicles identifiable by specific vehicle identification information.

[0440] EEE 172 is a non-transitory computer-readable memory of any one of EEEs 149 to 171, wherein the functions further include: (i) determining, at a server, a vehicle component associated with a specific vehicle component; (ii) determining, at the server, at least one PID to be added to a PID filter list based on component-PID mapping data, the component-PID mapping data mapping one or more PIDs from the group of available PIDs of the group of vehicles identifiable by the specific vehicle identification information to the vehicle component associated with the specific vehicle component; and (iii) adding, by the server, the at least one PID to the PID filter list.

[0441] EEE 173 is a non-transitory computer-readable memory of EEE 172, wherein the server determines vehicle components related to a particular vehicle component by searching the memory for data that identifies vehicle components of vehicles in the group of vehicles in a hierarchical format based on systems and / or subsystems of the vehicles in the group of vehicles.

[0442] EEE 174 is a non-transitory computer-readable memory of any one of EEEs 149 to 173, wherein the functions further include: (i) receiving a first set of PID values ​​and a second set of PID values ​​at a server, wherein the first set of PID values ​​is for a specific PID from a first set of vehicles, wherein all diagnostic trouble codes (DTCs) of a specific ECU in each vehicle in the first set of vehicles are set to invalid, wherein the second set of PID values ​​is for a specific PID from a second set of vehicles, wherein one or more specific DTCs of a specific ECU in each vehicle in the second set of vehicles are set to valid, and wherein the first set of vehicles and the second set of vehicles are identifiable by specific vehicle identification information; (ii) determining, by the server, a PID value range for the specific PID from the first set of PID values; (iii) determining, by the server, from the second set of PID values ​​that one or more PID values ​​of the specific PID are outside the PID value range for the specific PID by a threshold value; and (iv) in response to determining that the one or more PID values ​​of the specific PID are outside the PID value range for the specific PID by the threshold value, adding, by the server, the specific PID to a PID filter list.

[0443] The EEE 175 is a non-transitory computer readable memory of the EEE 174, wherein the PID filter list includes one or more default PIDs before a specific PID is added to the PID filter list and after the specific PID is added to the PID filter list.

[0444] EEE 176 is a non-transitory computer readable memory of any one of EEEs 174 to 175, wherein the response further includes data indicating a range of PID values ​​for the particular PID.

[0445] EEE 177 is a non-transitory computer readable memory of any one of EEEs 174 to 176, wherein determining that the one or more PID values ​​of the particular PID are outside the PID value range includes (i) determining that the second set of PID values ​​includes a first number of PIDs, (ii) determining that the one or more PID values ​​of the particular PID include a second number of PIDs, and (iii) determining that the second number of PIDs exceeds a threshold percentage of the first number of PIDs.

[0446] EEE 178 is a non-transitory computer readable memory of any one of EEEs 174 to 177, wherein adding a specific PID to the PID filter list is conditioned on determining at the server that the one or more PID values ​​of the specific PID include at least a threshold number of PID values.

[0447] EEE 179 is a non-transitory computer-readable memory of any one of EEEs 174 to 178, wherein the PID value range for a particular PID includes a first PID value range; wherein the server determines that in a vehicle in a first group of vehicles, each PID value in the first PID value range is generated when the vehicle is operated in a first operating state, and wherein the response also includes data indicating that the first PID value range is associated with the first operating state.

[0448] EEE 180 is a non-transitory computer-readable memory of EEE 179, wherein the function also includes: determining, by the server, a second PID value range for a specific PID from the first set of PID values, wherein the server determines that each PID value in the second PID value range is generated in a vehicle in the first set of vehicles when the vehicle is operating in a second operating state different from the first operating state and wherein the response also includes the second PID value range and data indicating that the second PID value range is associated with the second operating state.

[0449] EEE 188 is a non-transitory computer readable memory of any of EEEs 179 and 180, wherein the first operating state includes a first engine revolutions per minute (RPM) value, a first engine load value, and / or a first engine temperature value, wherein if the first operating state includes the first RPM value, the second operating state includes a second engine RPM value, wherein if the first operating state includes the first engine load value, the second operating state includes the second engine load value, and wherein if the first operating state includes the first engine temperature value, the second operating state includes the second engine temperature value.

[0450] EEE 182 is a non-transitory computer readable memory of any one of EEEs 179 to 181, wherein determining the range of PID values ​​for the particular PID comprises determining a series of values ​​for the particular PID at one, two, three, or four standard deviations from a mean of the PID values ​​for the particular PID within the first set of PID values.

[0451] EEE 183 is a non-transitory computer readable memory of any one of EEEs 149 to 182, wherein the function further comprises: (i) receiving at the server a second request sent from a first display device connected to the first vehicle via a communication network, wherein the second request comprises specific vehicle identification information and the at least one symptom identifier, wherein the specific vehicle identification information identifies a specific vehicle group, wherein the specific vehicle group comprises the first vehicle, and wherein the at least one symptom identifier comprises symptoms that can be presented by each vehicle in the specific vehicle group; (ii) sending, by the server to the first display device via the communication network, a response to the second request, wherein the response to the second request comprises a PID filter list; (ii) (i) determining, by the server, that the first display device displays an additional PID not included in the PID filter list in response to a request from the first vehicle; (iv) generating, by the server, a modified PID filter list by adding the additional PID to the PID filter list; (v) after generating the modified PID filter list, receiving, at the server, a next request sent from the second display device via the communication network, wherein the next request includes specific vehicle identification information and the at least one symptom identifier; and (vi) sending, by the server, a response to the next request to the second display device via the communication network, the response to the next request including the modified PID filter list.

[0452] EEE 184 is a non-transitory computer readable memory of EEE 183, wherein the PID filter list and the modified PID filter list include index values ​​into an ordered list of PIDs for vehicles identifiable by the particular vehicle identification information.

[0453] EEE 185 is a non-transitory computer readable memory of any one of EEEs 183 and 184, wherein the second display device is the first display device.

[0454] EEE 186 is a non-transitory computer-readable memory of any one of EEEs 188 to 185, wherein the function also includes: receiving, at a server, PID data provided from a first vehicle to a first display device; and determining, by the server, that the PID data provided from the first vehicle to the first display device and subsequently received by the server includes PID data of an additional PID to be displayed by the first display device.

[0455] EEE 188 is a non-transitory computer-readable memory of any one of EEEs 188 to 186, wherein the function also includes: receiving data at the server indicating that the first display device has received an input requesting display of additional PIDs, wherein the server determines, at least in part based on the data indicating that the first display device has received the input requesting display of the additional PIDs, that the first display device should display the additional PIDs not included in the PID filter list at the request of the first vehicle.

[0456] EEE 188 is a non-transitory computer-readable memory of any one of EEEs 188 to 187, wherein the function further includes: retrieving, by the server, a PID filter list from the computer-readable memory based on the specific vehicle identification information and the at least one symptom identifier received in the second request; and / or retrieving, by the server, a modified PID filter list from the computer-readable memory based on the specific vehicle identification information and the at least one symptom identifier received in the next request.

[0457] EEE 189 is a non-transitory computer readable memory of any one of EEEs 188 to 188, wherein determining that the first display device, at the request of the first vehicle, displays additional PIDs not included in the PID filter list by the first display device includes determining that the additional PIDs are requested within a threshold amount of time after the server receives the second request or after the server sends the response.

[0458] EEE 190 is a non-transitory computer-readable memory of any one of EEEs 183 to 189, wherein the first display device is one of a plurality of display devices registered with a server, wherein a condition for generating a modified PID filter list may be: determining on the server that the first display device responds to a request from the first vehicle to display an additional PID not included in the PID filter list by the first display device is after the server has sent the PID filter list to any one of the plurality of display devices, the any one of the plurality of display devices has again requested for the nth time to display the additional PID not included in the PID filter list on the any one of the plurality of display devices, and wherein "n" of the nth time includes a predetermined threshold number greater than one.

[0459] EEE 191 is a method for outputting a parameter identifier (PID) filter list, comprising: (i) receiving a first set of PID values ​​and a second set of PID values ​​at a server, wherein the first set of PID values ​​is for a specific PID from a first set of vehicles, wherein all diagnostic trouble codes (DTCs) of a specific ECU in each of the first set of vehicles are set to invalid, wherein the second set of PID values ​​is for a specific PID from a second set of vehicles, wherein one or more specific DTCs of the specific ECU in each of the second set of vehicles are set to valid, and wherein the first set of vehicles and the second set of vehicles are identifiable by specific vehicle identification information; (ii) determining, by the server, a PID value range for the specific PID from the first set of PID values; and (iii) ) determining, by the server, from the second set of PID values ​​that one or more PID values ​​of the specific PID are outside the PID value range of the specific PID by a threshold value; (iv) in response to determining that the one or more PID values ​​of the specific PID are outside the PID value range of the specific PID by the threshold value, adding, by the server, the specific PID to a PID filter list; (v) receiving, at the server, a request sent from a display device via a communication network, wherein the request includes specific vehicle identification information and specific DTC; (vi) retrieving, by the server, the PID filter list based on the specific vehicle identification information and the specific DTC received in the request; and (vii) sending, by the server, a response to the request to the display device via the communication network, the response including the PID filter list.

[0460] EEE 192 is the method of EEE 191, wherein the specific vehicle identification information includes a vehicle manufacturer identifier, and (i) at least one vehicle model year identifier and at least one vehicle model identifier, or (ii) at least one vehicle model year identifier, at least one vehicle model identifier, and at least one engine identifier.

[0461] EEE 193 is the method of any of EEEs 191 and 192, wherein the PID filter list includes one or more default PIDs before adding the specific PID to the PID filter list and after adding the specific PID to the PID filter list.

[0462] EEE 194 is the method of any one of EEEs 191 to 193, wherein the response further includes data indicating a range of PID values ​​for the particular PID.

[0463] EEE 195 is the method of any one of EEEs 191 to 194, wherein the PID filter list includes index values ​​into an ordered list of PIDs of vehicles identifiable by the specific vehicle identification information.

[0464] EEE 196 is a method of any one of EEEs 191 to 195, wherein determining that the one or more PID values ​​for a particular PID are outside a range of PID values ​​comprises (i) determining that a second set of PID values ​​includes a first number of PIDs, (ii) determining that the one or more PID values ​​for the particular PID include a second number of PIDs, and (iii) determining that the second number of PIDs exceeds a threshold percentage of the first number of PIDs.

[0465] EEE 197 is the method of any one of EEEs 191 to 196, wherein a condition for adding the specific PID to the PID filter list is that it is determined at the server that the one or more PID values ​​of the specific PID include at least a threshold number of PID values.

[0466] EEE 198 is a method of any one of EEEs 191 to 197, wherein the PID value range for a particular PID includes a first PID value range; wherein the server determines that in a vehicle in a first group of vehicles, when the vehicle is operating in a first operating state, each PID value in the first PID value range is generated, and wherein the response also includes data indicating that the first PID value range is associated with the first operating state.

[0467] EEE 199 is the method of EEE 198, wherein the function further comprises: determining, by the server, a second PID value range for a particular PID from the first set of PID values, wherein the server determines that each PID value in the second PID value range is generated in a vehicle in the first set of vehicles when the vehicle is operating in a second operating state different from the first operating state, and wherein the response further comprises the second PID value range and data indicating that the second PID value range is associated with the second operating state.

[0468] EEE 200 is the method of any of EEEs 198 and 199, wherein the first operating state includes a first engine revolutions per minute (RPM) value, a first engine load value, and / or a first engine temperature value, wherein if the first operating state includes the first RPM value, the second operating state includes a second engine RPM value, wherein if the first operating state includes the first engine load value, the second operating state includes a second engine load value, and wherein if the first operating state includes the first engine temperature value, the second operating state includes a second engine temperature value.

[0469] EEE 201 is the method of any one of EEEs 191 to 200, wherein determining the range of PID values ​​for the particular PID comprises determining a series of values ​​for the particular PID at one, two, three, or four standard deviations from a mean of the PID values ​​for the particular PID within the first set of PID values.

[0470] EEE 202 is a server, comprising: a network communication interface for communicating with a display device via a communication network; at least one processor coupled to the network communication interface and programmed to: (i) receive at the server a first set of PID values ​​and a second set of PID values, wherein the first set of PID values ​​is for a specific PID from a first group of vehicles, wherein all diagnostic trouble codes (DTCs) of a specific ECU in each vehicle in the group of vehicles are set to invalid, wherein the second set of PID values ​​is for a specific PID from a second group of vehicles, wherein one or more DTCs of a specific ECU in each vehicle in the second group of vehicles are set to valid, and wherein the first group of vehicles and the second group of vehicles are identifiable by specific vehicle identification information; and (ii) determine, by the server, from the first set of PID values ​​a specific PID. (iii) determining by the server from a second set of PID values ​​that one or more PID values ​​of the specific PID are outside the PID value range of the specific PID by a threshold value; (iv) in response to determining that the one or more PID values ​​of the specific PID are outside the PID value range of the specific PID by the threshold value, adding the specific PID to the PID filter list by the server; (v) receiving at the server a request se...

Claims

1. A method for providing and applying a diagnostic screening list, comprising: determining, by the display device, identification information of the vehicle to be maintained; receiving at least one other identifier of the vehicle at a display device; issuing, by the display device over the communication network, a request to a remote server for a context-relevant diagnostic filter list for the vehicle, the request including identification information of the vehicle and the at least one other identifier of the vehicle, wherein the context-relevant diagnostic filter list includes at least one index value indexed into an ordered test list, wherein the ordered test list is stored on the display device and each index value corresponds to a respective test in the ordered test list; A response to the request is received at a display device from a remote server via a communication network, and context-related data or information about the vehicle is displayed, wherein the context is based on one or more symptoms of the vehicle, and the response includes a context-related diagnostic filter list for the vehicle; the display device determines a test subgroup for the vehicle based on the at least one index value in the context-related diagnostic filter list for the vehicle, wherein the test subgroup includes at least one test corresponding to the at least one index value in an ordered test list stored on the display device; and the display device sends an instruction to perform a specific test on the vehicle, the specific test being one of the at least one test from the test subgroup for the vehicle. The method of claim 1 , wherein sending the instruction comprises sending the instruction to a vehicle. 3 . The method of claim 1 , wherein sending the instruction comprises sending vehicle data information to an electronic control unit of the vehicle. The method according to claim 1 , wherein sending the instruction comprises sending the instruction to an oscilloscope or a multimeter.

5. The method according to claim 1, wherein: The test subgroup includes one or more from functional testing or component testing, and optionally, the test subgroup also includes a reset process.

6. The method according to claim 1, wherein: The test subgroup includes one or more functional tests, and the one or more functional tests include a functional test for controlling a function of an electronic control unit on the vehicle, or a reset process for resetting an electronic control unit on the vehicle.

7. The method according to claim 1, wherein: The ordered test list includes an ordered functional test list, the context-dependent diagnostic filter list includes a functional test filter list, the functional test filter list includes at least at least one index value compiled into the ordered functional test list, the functional test index is stored on the display device, the functional test index includes the ordered functional test list and the at least one index value representing at least one specific functional test in the ordered functional test list, and the at least one specific functional test includes a functional test that causes an electronic control unit at the vehicle to control an output device.

8. The method of claim 1, wherein: The ordered test list includes an ordered component test list, the context-related diagnostic filter list includes a component test filter list, the component test filter list includes at least one index value compiled into the ordered component test list, the component test index is stored on the display device, the component test index includes the ordered component test list and the at least one index value representing at least one specific component test in the ordered component test list, and the at least one specific component test in the ordered component test list can be executed by an oscilloscope or a multimeter of the display device.

9. The method according to claim 1, wherein: The at least one other identifier of the vehicle includes at least one symptom identifier of the vehicle, the at least one symptom identifier of the vehicle includes at least one diagnostic test code, and / or identification information of the vehicle indicates one or more of the following: vehicle model year, vehicle make, vehicle model, engine type, vehicle identification number, a portion of the vehicle identification number, or a regular production option code used by the vehicle manufacturer.

10. The method of claim 1, wherein: The identification information of the vehicle indicates a vehicle model year, a vehicle make and a vehicle model, the at least one other identifier of the vehicle comprises a component identifier or a system identifier, and optionally, the component identifier or system identifier comprises an engine identifier.

11. The method according to claim 10, wherein: Determining a test subgroup for the vehicle includes determining the test subgroup based at least in part on one or more of component-component-test mapping data, component-function-test mapping data, or component-reset-procedure mapping data.

12. The method of claim 11, wherein determining the test subset further comprises determining the parameter identifier subset based at least in part on component-parameter-identifier mapping data.

13. The method according to claim 10, further comprising: A symptom identifier is determined at the display device, and a component identifier is determined at the display device based on the symptom identifier and the symptom-component mapping data.

14. The method according to claim 1, further comprising: Input data indicative of selection of a particular test on the vehicle is received at the display device, wherein the transmitted instructions are executed in response to receiving the input data.

15. The method according to claim 1, further comprising: A display device displays a test subgroup of the vehicle on a display interface, wherein displaying each test of the test subgroup includes displaying at least one word describing the test, and each of the at least one index value includes a decimal number, hexadecimal number, or other base number for representing the test.

16. The method of claim 15, wherein: The test subgroup includes one or more functional tests and one or more reset processes, displaying the test subgroup includes displaying the one or more functional tests in a first information card, displaying the one or more reset processes in a second information card, and sending instructions in response to selecting a functional test from the first information card or selecting a reset process from the second information card.

17. The method of claim 15, wherein the test subgroups are ordered on the display interface based on the respective vehicle components involved in the testing of the test subgroups.

18. The method according to claim 17, further comprising: Instructions for corresponding vehicle components involved in each test of the test subgroup are displayed by the display interface.

19. The method of claim 17, wherein: The at least one other identifier includes at least one symptom identifier of the vehicle, the test subgroups are ordered on the display interface based on a probability of failure of a corresponding vehicle component involved in each test of the test subgroups, and the failure probability is based on the at least one symptom identifier of the vehicle.

20. The method of claim 15, wherein: The at least one other identifier includes at least one symptom identifier for the vehicle, and the test subgroups are ordered on the display interface based on: (1) a past frequency with which each test of the test subgroup has been performed on a vehicle having the identification information and the at least one symptom identifier for the vehicle, or (2) a determination of a respective amount of time required to perform each respective test of the test subgroup.

21. The method of claim 15, further comprising: Tests from the ordered test list stored on the display device that are not indicated by the context-related diagnostic filter list are individually displayed by the display device on the display interface.

22. The method of claim 1, wherein: The context-dependent diagnostic filter list includes index values ​​corresponding to reset procedures to be performed after completing a service operation on the vehicle, and the method further includes displaying, by the display device, the reset procedures on the display interface after completing the service operation on the vehicle.

23. The method of claim 1, wherein: The at least one other identifier includes at least one symptom identifier of the vehicle, and the method also includes: the display device sends a second request to the remote server through the communication network, the second request includes identification information and the at least one symptom identifier; the display device determines that the display device is in a partially degraded state, the partially degraded state includes: (1) the requested diagnostic filter list cannot be obtained from the remote server, and (2) a default diagnostic list can be obtained from a memory device on the display device; in response to determining that the display device is in a partially degraded state: the display device determines a default test subgroup from the ordered test list based on the default diagnostic list; and the display device displays the default test subgroup from the ordered test list on a display interface.

24. The method of claim 23, wherein: The at least one other identifier includes at least one symptom identifier of the vehicle, and the method also includes: the display device issues a third request to the remote server via the communication network, the third request including identification information and the at least one symptom identifier; the display device determines that the display device is in a fully degraded state, the fully degraded state including (1) a context-related diagnostic filter list cannot be obtained from the remote server, and (2) a default diagnostic list cannot be obtained from a memory device on the display device; and in response to determining that the display device is in a fully degraded state, the display device displays each functional test from the ordered test list on a display interface.

25. The method of claim 1, wherein: The at least one other identifier includes at least one symptom identifier of the vehicle, and the method also includes: receiving, by the display device, a parameter identifier (PID) based on the at least one symptom identifier of the vehicle from a remote server; sending, by the display device, a request for a PID value corresponding to the PID to the vehicle; and displaying, by the display device, the PID value on a display interface.

26. The method according to claim 25, further comprising: receiving, by the display device, a baseline range of parameter identifiers (PIDs) from a remote server; And the display device displays on the display interface (i) a baseline range of the PID and (ii) an indication when the PID value exceeds the baseline range of the PID.

27. The method of claim 25, further comprising: A first baseline range and a second baseline range of parameter identifiers are received by the display device from a remote server, wherein the first baseline range corresponds to a first vehicle operating state and the second baseline range corresponds to a second vehicle operating state.

28. The method of claim 27, further comprising: displaying, by the display device, a first baseline range of the parameter identifier on the display interface when the vehicle is in a first vehicle operating state; and displaying, by the display device, a second baseline range of the parameter identifier on the display interface when the vehicle is in a second vehicle operating state.

29. A method according to claim 27, wherein a first operating state is defined by a plurality of different parameter identifiers and a corresponding baseline range for each of the plurality of different parameter identifiers that is used to define the first operating state, and wherein a second operating state is defined by a plurality of different parameter identifiers and a corresponding baseline range for each of the plurality of different parameter identifiers that is used to define the second operating state.

30. The method of claim 27, wherein: Receiving a parameter identifier includes receiving a first parameter identifier filter list corresponding to a first vehicle operating state and a second parameter identifier filter list corresponding to a second vehicle operating state, the first parameter identifier filter list is different from the second parameter identifier filter list, and one or more of the first parameter identifier filter list and the second parameter identifier filter list includes an index value corresponding to the parameter identifier.

31. The method of claim 27, wherein displaying the first baseline range and the second baseline range includes highlighting parameter identifiers outside of the first baseline range or the second baseline range for diagnosing the vehicle.

32. The method of claim 1, wherein: The response identifies a plurality of different types of diagnostic information, and one of the different types of diagnostic information includes a diagnostic filter list associated with the context.

33. The method of claim 1, further comprising: receiving, at a remote server over a communications network, a request for a list of context-relevant diagnostic filters for the vehicle; And a response to the request is sent from the remote server to the display device through the communication network.

34. The method of claim 1, further comprising: A diagnostic session of a display device is established, wherein: the response includes a first response and a second response, receiving the response includes receiving the first response before servicing the vehicle and receiving the second response after servicing the vehicle, and the second response includes an ordered list of reset processes, the display device determines a reset process subgroup to be displayed on the display device; and the display device sends an instruction to perform a specific reset process on the vehicle, the specific reset process being one reset process from at least one reset process in the reset process subgroup.

35. The method of claim 1, wherein the ordered test list comprises an ordered component test list and / or an ordered functional test list.

36. The method of claim 35, wherein: The context-related diagnostic list further includes a vehicle reset process subgroup and / or a vehicle parameter identifier subgroup, the reset process subgroup including at least one reset process corresponding to at least one index value entered into an ordered list of reset processes stored on the display device, and the parameter identifier subgroup including at least one parameter identifier corresponding to at least one index value entered into an ordered list of parameter identifiers stored on the display device.

37. The method of claim 1, wherein: The ordered test list includes a combination of parameter identifiers, functional tests, reset procedures, and component tests.

38. A display device comprising: one or more processors; a non-transitory computer-readable medium; and program instructions stored on the non-transitory computer-readable medium and executable by the one or more processors to: determine identification information of a vehicle to be serviced; receive at least one other identifier of the vehicle; issue a request to a remote server over a communications network to obtain a context-dependent diagnostic filter list for the vehicle, the request including the identification information of the vehicle and the at least one other identifier of the vehicle, wherein the context-dependent diagnostic filter list includes at least one index value programmed into an ordered list of tests, wherein the ordered list of tests is stored on a display device and each index value corresponds to a respective test in the ordered list of tests; receive a response to the request from the remote server over the communications network and display context-dependent data or information about the vehicle, wherein the context is based on one or more symptoms of the vehicle, the response including the context-dependent diagnostic filter list for the vehicle; determine a test subgroup for the vehicle based on the at least one index value in the context-dependent diagnostic filter list for the vehicle, wherein the test subgroup includes at least one test corresponding to the at least one index value programmed into the ordered list of tests stored on the display device; and send instructions to perform a specific test on the vehicle, the specific test being one of the at least one tests from the test subgroup for the vehicle.

39. A non-transitory computer-readable medium having instructions stored therein, the instructions being executable by one or more processors to cause a computing system to perform functions including: determining identification information of a vehicle to be serviced; receiving at least one other identifier of the vehicle; issuing a request to a remote server over a communications network to obtain a context-dependent diagnostic filter list for the vehicle, the request including the identification information of the vehicle and the at least one other identifier of the vehicle, wherein the context-dependent diagnostic filter list includes at least one index value indexed into an ordered list of tests, wherein the ordered list of tests is stored on the computing system and each index value corresponds to a respective test in the ordered list of tests; receiving a response to the request from the remote server over the communications network and displaying context-dependent data or information about the vehicle, wherein the context is based on one or more symptoms of the vehicle, the response including the context-dependent diagnostic filter list for the vehicle; determining a test subgroup for the vehicle based on the at least one index value in the context-dependent diagnostic filter list for the vehicle, wherein the test subgroup includes at least one test corresponding to the at least one index value in the ordered list of tests stored on the computing system; and sending instructions to perform a specific test on the vehicle, the specific test being one of the at least one test from the test subgroup for the vehicle.