Rule prioritization system and method of using the same

The claim search system addresses the inefficiencies in in-vehicle data collection by prioritizing rules based on resource availability and customer types, ensuring efficient use of vehicle resources and reliable data collection even when capacity is limited.

JP7692067B2Active Publication Date: 2025-06-12WOVEN BY TOYOTA INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024000785
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2023-03-31
Filing Date
2024-01-05
Publication Date
2025-06-12
Estimated Expiration
2044-01-05

AI Technical Summary

Technical Problem

Existing in-vehicle systems face challenges in efficiently managing data collection and rule prioritization, particularly when the vehicle's processing or storage capacity is reached, leading to potential data collection failures and resource inefficiencies.

Method used

A claim search system that prioritizes rules based on resource availability, type of third-party customer, and rule type, ensuring that only rules with sufficient resources are executed, and that data collection is optimized by skipping or delaying non-essential rules when capacity is limited.

Benefits of technology

The system ensures efficient use of in-vehicle resources by prioritizing data collection tasks, preventing resource overload, and ensuring that critical data collection operations are completed even when capacity is limited, thereby enhancing the reliability and efficiency of data collection processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007692067000001
    Figure 0007692067000001
  • Figure 0007692067000002
    Figure 0007692067000002
  • Figure 0007692067000003
    Figure 0007692067000003
Patent Text Reader

Abstract

To more effectively use the processing capacity and storage capacity of a vehicle.SOLUTION: A method of collecting data in a vehicle includes the steps of: receiving a set of rules; detecting a trigger event using a sensor connected to the vehicle; determining whether or not the detected trigger event is associated with a plurality of rules from the set of rules; and prioritizing the plurality of rules upon determination that the detected trigger event is associated with each of the plurality of rules. The method further includes the steps of: determining whether resources in the vehicle are sufficient for execution of a first data collection procedure for the rule with the highest priority; applying the rule with the highest priority upon determination that the resources are sufficient; and suppressing application of the rule of the highest priority upon determination that the resources are insufficient.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Computer technology used in in-vehicle systems has been advancing. In such computer technology, in-vehicle sensors are increasingly used to collect information related to the operation of the vehicle or the surrounding environment of the vehicle. This information is evaluated and analyzed to assist in improving the operation of the vehicle, and may also be transmitted to a central server to collect information related to the driving environment of the vehicle. In some cases, third parties such as application developers, insurance companies, and government agencies may inquire about information related to the operation of the vehicle or the environment around the vehicle.

Brief Description of the Drawings

[0002] Aspects of the present disclosure will be fully understood by reading the following detailed description together with the accompanying drawings. Note that the various drawings are not drawn to scale according to industry standard practices. In fact, the dimensions of various shapes may be enlarged or reduced as appropriate for clarity of explanation.

[0003]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Modes for Carrying Out the Invention

[0004] The following disclosure provides many different embodiments or examples for implementing different features of the present subject matter. Specific examples such as components, values, operations, materials, combinations, etc. described below are for the purpose of simplifying the present disclosure. These are of course merely examples and are not intended to be limiting. Other components, values, operations, materials, combinations, etc. are also applicable. For example, in the following description, a structure in which a first shape is on a second shape may include embodiments formed such that the first shape and the second shape are in direct contact, and may also include embodiments in which an additional shape is formed between the first shape and the second shape such that the first shape and the second shape are not in direct contact. Further, in some examples in the present disclosure, reference numerals may be repeatedly used. Such repetition is for the purpose of simplicity and clarity and does not indicate a relationship between the embodiments and / or configurations in which it is used.

[0005] Furthermore, spatial relationship terms such as "beneath", "below", "lower", "above", "upper" may be used herein to briefly describe the relationship of one element or shape represented in a drawing to another element or shape. The spatial relationship terms are used with the intention of encompassing different orientations in addition to the orientation of the device or operation used in the drawing. The device may be oriented in other directions (90-degree rotation or other orientation), and the spatial relationship descriptors may be interpreted similarly according to that orientation.

[0006] Data collection based on trigger events detected in one or more vehicles can be used to fulfill rules or requirements received by third-party customers. Data collection for a certain rule or requirement is performed in response to the detected trigger event. In some embodiments, data collection includes retrieving data stored in the vehicle's memory. In some embodiments, data collection includes obtaining newly detected data from one or more sensors in the vehicle. In some embodiments, data collection includes both retrieving stored data and obtaining new data.

[0007] By prioritizing rules or requirements to be executed when the storage capacity or processing capacity of a vehicle reaches its limit, the number of targeted rules or requirements is improved, and the processing capacity of the in-vehicle system can be used more efficiently. The rules or requirements are inquiries regarding the operation of the vehicle or information regarding the surrounding environment of the vehicle. In one embodiment, the rule is a fixed inquiry that is required to be fulfilled while a certain trigger event occurs multiple times. In one embodiment, the requirement is a one-time inquiry that is fulfilled in response to the detection of a certain trigger event or in response to the receipt of that requirement. In one embodiment, the rules and requirements are used interchangeably.

[0008] When a trigger event for a certain rule is detected, data collection for that rule is executed. When data collection for a rule is started, the data collection continues until all data for that rule is collected. In one embodiment, the processing capacity or storage capacity of the resources within the vehicle reaches its limit. If such a situation exists prior to the start of data collection, it is determined whether all data collection for the triggered rule can be executed based on the available resources. In response to a determination that the available resources are sufficient for the completion of data collection, the rule is started and all data for the fulfillment of that rule is collected. In response to a determination that the available resources are not sufficient for the completion of data collection, the rule is not started and data collection for the fulfillment of that rule is skipped. In one embodiment, a notification is generated corresponding to the rule not being started. The notification is, for example, an entry into a log or a visual or audible notification to a third-party customer who generated that rule.

[0009] In a situation where a single trigger event causes data collection for multiple rules to start simultaneously, it is determined whether there are sufficient resources for data collection for all the rules. If there are sufficient resources for data collection for all the rules, all the rules are started and data collection for all the rules is performed. If there are not sufficient resources for data collection for all the rules, the rules are prioritized. In one embodiment, the rules are prioritized based on the type of third-party customers such as police, government, and private enterprises. In one embodiment, the rules are prioritized based on the type of rules such as safety, navigation, and entertainment. In one embodiment, a combination of ranking systems is used for prioritizing the rules.

[0010] When the rules are prioritized, for at least one highest-priority rule, it is determined whether there are sufficient resources for collecting the data associated with this at least one highest-priority rule. In response to a determination that there are sufficient resources, at least one highest-priority rule is applied. In response to a determination that there are not sufficient resources, at least one highest-priority rule is skipped and the check proceeds to the next-highest-ranked rule. This process is recursively repeated until all of the multiple rules triggered by the same trigger event are either applied or skipped.

[0011] FIG. 1 is a schematic diagram of a request search system 100 in one embodiment. The request search system 100 includes a user interface (UI) 110. The UI 100 is configured to receive a user request for data from a vehicle 140. The request search system 100 further includes a server 120. The server 120 is configured to receive a user request from the UI 110, send the user request to the vehicle 140, receive data from the vehicle 140, and provide the data to the user via an accessible console 150. The server 120 includes a communication unit 130 for communicating with the UI 110 and the vehicle 140. The request search system 100 further includes an accessible console 150 configured to convey data collected from the vehicle 140 to the user.

[0012] UI110 is configured to receive input instructions from a user. In some embodiments, the user includes a software developer. In some embodiments, the user includes a developer of a machine learning model. In some embodiments, the user includes an insurance company. In some embodiments, the user includes a law enforcement agency. In some embodiments, the user includes a market research company. UI110 provides options for the user to select the vehicle type and data type that are the subject of the data request. In some embodiments, UI110 can generate a data request using a form regarding vehicle identification information, the requested data type, start time, and end time. In some embodiments, the start time and end time are absolute times, such as UNIX time representing the elapsed time since the UNIX (registered trademark) epoch. In some embodiments, the start time and end time are relative times based on the time when the data request is received by the vehicle. In some embodiments, the start time and end time are relative times based on a trigger event. In some embodiments, UI110 also provides the user with options to select a trigger event and a data collection period based on the trigger event. In some embodiments, UI110 includes information regarding the type of vehicle for which data is requested. In some embodiments, UI110 includes a vehicle ID that can uniquely identify the vehicle that is the subject of the request. For example, the vehicle ID includes the UUID (Universally Unique Identifier) format. In some embodiments, UI110 includes a data type that can identify the source of the data that the user wishes to collect. For example, the data type includes the sensor ID of the sensor from which sensor data is collected, and the application ID of the application from which application logs are collected. In some embodiments, the format of the sensor ID and the application ID includes the UUID format. In some embodiments, UI110 includes a drop-down menu. In some embodiments, UI110 includes an editable area for receiving information related to the data request. In some embodiments, UI110 provides information regarding the types of data options available to the user. In some embodiments, the types of data options available depend on the user.For example, in one embodiment, a law enforcement agency can select more data options than an insurance company.

[0013] In one embodiment, UI110 includes a graphical user interface (GUI). In one embodiment, UI110 includes a mobile terminal connectable to server 120, such as a mobile phone. In one embodiment, UI110 includes a web interface such as a RESTful API. In one embodiment, UI110 includes a computer connectable to server 120. In one embodiment, UI110 is capable of a wireless connection to server 120. In one embodiment, UI110 is connectable to server 120 by a wired connection. Also, UI110 can provide the user with up-to-date information regarding the status of a data request. In one embodiment, UI110 provides up-to-date information regarding the status of a data request in response to an additional inquiry by the user. In one embodiment, in one embodiment, UI110 automatically provides up-to-date information regarding the status of a data request without user intervention in response to receiving the latest information from server 120. In one embodiment, the up-to-date information regarding the status serves as a trigger for UI110 to notify the user. In one embodiment, the notification includes an auditory notification or a visual notification.

[0014] In one embodiment, UI110 includes means for receiving payment from the user. In one embodiment, UI110 includes a data entry field where the user can enter payment card information. In one embodiment, UI110 includes a reader for detecting information of a payment card, such as a magnetic stripe reader, a barcode reader, an IC chip reader, or other suitable reader.

[0015] Server 120 includes a communication unit 130 configured to communicate with UI 110 and vehicle 140. The communication unit 130 includes a receiver 131 configured to receive a data request from UI 110. In some embodiments, the receiver 131 includes a wireless receiver. In some embodiments, the receiver 131 is configured to receive a data request via a wired connection. In some embodiments, the receiver 131 is further configured to perform an initial process on the received data request. In some embodiments, the received data request includes priority level information. In some embodiments, the receiver 131 is configured to associate a priority level with the data request based on the identity of the user who registered the data request, or the fee paid by the user who registered the data request. In some embodiments, the receiver 131 is configured to associate a request identification number (request ID) with each received data request. In some embodiments, the server 120 is configured to restrict access to a predetermined sensor in the vehicle 140 based on the identity of the user. For example, in some embodiments, a third-party user cannot access sensors related to the safety functions of the vehicle 140.

[0016] The communication unit 130 further includes a storage unit 132 configured to store the data requests received by the receiver 131. In certain embodiments, the storage unit 132 includes a random access memory, a semiconductor memory, or other types of memory. In certain embodiments, the storage unit 132 is configured to store the data requests along with the status of the data requests. In certain embodiments, the status of the data requests includes pending registration (before transmission of the data request to the vehicle 140), registered (after transmission of the data request to the vehicle 140), and completed (after reception of the requested data from the vehicle 140). In certain embodiments, the storage unit 132 is accessible by the user. In certain embodiments, the update of the information in the storage unit 132 triggers a notification to the user associated with the information updated in the storage unit 132. In certain embodiments, the storage unit 132 stores the data requests along with timestamp information indicating the time when the data requests were received. In certain embodiments, the storage unit 132 stores the data requests in association with a priority level. In certain embodiments, the priority level is determined based on the identity of the user. For example, in certain embodiments, a law enforcement agency has a higher priority than an insurance company, and an insurance company has a higher priority than a general user such as a software developer. In certain embodiments, the user can pay a fee to raise the priority level of their requests or to obtain the requested data faster. In certain embodiments, the priority level of the data requests increases as the time interval from when the data requests are first stored until they are transmitted to the vehicle increases.

[0017] The communication unit 130 further includes a transmitter 133. The transmitter 133 is configured to transmit the status of the data request to the UI 110. In certain embodiments, the status of the data request is wirelessly transmitted to the UI 110. In certain embodiments, the status of the data request is transmitted to the UI 110 via a wired connection. In certain embodiments, the transmitter 133 is configured to automatically provide the latest information on the data request in response to an update in the storage unit 132. In certain embodiments, the transmitter 133 is configured to provide the latest information on the data request in response to a latest information request received from the user. In certain embodiments, the transmitter 133 is configured to automatically transmit a request ID when the data request is first stored in the storage unit 132. In certain embodiments, the status of the data request includes the priority level of the data request. In certain embodiments, the status of the data request includes the estimated time until the data request is transmitted to the vehicle 140.

[0018] The communication unit 130 further includes an inquiry queue 134 configured to store data requests according to a priority for transmission to the vehicle 140. In certain embodiments, the inquiry queue 134 is integrated with the storage unit 132. In certain embodiments, the inquiry queue 134 is separated from the storage unit 132. In certain embodiments, the inquiry queue 134 is configured to read data requests from the storage unit 132 based on the priority level and timestamp information. In certain embodiments, the inquiry queue 134 is configured to sort the data requests based on the priority level, and for data requests having the same priority level, sort them according to the elapsed time since they were first stored in the storage unit 132.

[0019] The communication unit 130 further includes a transmitter 135 configured to send data requests from the query queue 134 to the vehicle 140. The transmitter 135 is configured to send data requests to the vehicle 140 based on the order of the data requests in the query queue 134. In some embodiments, the data requests are wirelessly sent to the vehicle 140. In some embodiments, the data supply is sent to the vehicle 140 by a wired connection. The data requests sent to the vehicle 140 include trigger event information, data period information regarding how long a period before and after the trigger event the data should be collected, and sensor information indicating the types of sensors among the sensors of the vehicle 140 that should be the target of data collection. In some embodiments, the data requests sent to the vehicle 140 include priority level information. In some embodiments, the transmitter 135 is configured to send data requests to the vehicle 140 when the vehicle 140 sends a request to the server 120 to send data requests to the vehicle 140. In some embodiments, the transmitter 135 is configured to send data requests to the vehicle 140 at any time as long as the communication unit 130 has not received information indicating that the vehicle 140 cannot receive new data requests when the communication unit 130 has a sufficient connection to send data requests to and from the vehicle 140. In some embodiments, the transmitter 135 is configured to periodically send data requests to the vehicle 140 as long as the vehicle 140 can receive new data requests and the transmitter 135 has a sufficient connection to the vehicle 140. In some embodiments, the transmitter 135 is configured to send data requests to the vehicle 140 in batches such as five data requests, 20 data requests, or other numbers of data requests. In some embodiments, the transmitter 135 is configured to request an acknowledgment of receipt of the data requests from the vehicle 140. If an acknowledgment of receipt is not received from the vehicle within a predetermined period, the transmitter 135 is configured to resend the data requests. In some embodiments, the status of the data requests stored in the storage unit 132 is updated to indicate registered to the vehicle 140 in response to the communication unit 130 receiving an acknowledgment of receipt of the data requests from the vehicle 140.

[0020] The communication unit 130 further includes a receiver 136 configured to receive a notification of the occurrence of a trigger event from the vehicle 140. In certain embodiments, the occurrence of the trigger event is the receipt of a data request. In certain embodiments, the receiver 136 is configured to receive the notification of the trigger event wirelessly. In certain embodiments, the receiver 136 is configured to receive the notification of the trigger event via a wired connection. In certain embodiments, the receiver 136 is configured to send a signal to the storage unit 132 to update the status of the data request associated with the notified trigger event.

[0021] The communication unit 130 further includes a receiver 137 configured to receive data from the vehicle 140 in response to the data request transmitted by the transmitter 135. In certain embodiments, the data is divided by the vehicle 140 into packets, which are the units when transmitting from the vehicle 140 to the server 120, and the receiver 137 receives data packets from the vehicle 140. In certain embodiments, the receiver 137 is configured to receive the data wirelessly. In certain embodiments, the receiver 137 is configured to receive the data via a wired connection. In certain embodiments, the receiver 137 is configured to send a signal to the storage unit 132 to update the status of the data request associated with the received requested data. In certain embodiments, the data corresponding to one data request is received in one packet from the vehicle 140. In certain embodiments, the data corresponding to one data request is received in multiple packets from the vehicle 140. The receiver 137 passes the received data to the pre-processor 122.

[0022] Server 120 includes a pre-processor 122 configured to receive data from receiver 137 and perform pre-processing on the data to generate collected data. In certain embodiments, the pre-processing includes reconstructing data from a plurality of packets and collating the data into data corresponding to a data request. In certain embodiments, the pre-processing includes deserializing and structuring the data from the byte array when the data is received. In certain embodiments, the pre-processing includes decompressing data that was compressed prior to transmission from vehicle 140. In certain embodiments, the pre-processing includes error correction by an error correction code (ECC) such as a Reed-Solomon (RS) code, Bose-Chaudhuri-Hocquenghem (BCH) code, Low Density Parity Check (LDPC) code, etc. In certain embodiments, the pre-processing includes removing outliers and smoothing the data to reduce the risk of reporting inaccurate data to the user. In certain embodiments, the pre-processing includes associating data received from receiver 137 with data request ID information, priority level information, or other appropriate information. In certain embodiments, the data is pre-processed such that it is provided to the user in a format that does not require special knowledge or equipment to understand and read.

[0023] Server 120 further includes a data storage 126 configured to store the collection data generated by the pre-processor 122. In certain embodiments, data storage 126 is integrated with the storage unit 132. In certain embodiments, data storage 126 is separated from the storage unit 132. In certain embodiments, data storage 126 includes a solid state drive (SSD), random access memory, or other suitable memory. In certain embodiments, data storage 126 is accessible by a user, for example, using UI 110 or the accessible console 150. In certain embodiments, data storage 126 is configured to notify the user that data related to the data request has become available. In certain embodiments, the notification includes a notification to the user. In certain embodiments, the notification includes an auditory or visual notification. In certain embodiments, data storage 126 is configured to automatically display a notification about the availability of the collection data on UI 110 or the accessible console 150. In certain embodiments, data storage 126 is accessible by a user using the accessible console 150 without the user registering a data request. In certain embodiments, the data within data storage 126 is searchable by the user via the accessible console 150. In certain embodiments, the collection data is visualized on the accessible console 150.

[0024] The request search system 100 further includes a vehicle 140. The vehicle 140 includes a plurality of sensors that detect both the internal state of the vehicle 140 and the external environment around the vehicle 140. In certain embodiments, the sensors include cameras, LiDAR (Light Distance And Ranging) sensors, RADAR (Radio Distance And Ranging) sensors, SONAR (Sound Navigation And Ranging) sensors, acceleration sensors, steering wheel position, vehicle speed sensors, or other suitable sensors. The vehicle 140 can receive data requests wirelessly or via a wired connection.

[0025] In one embodiment, vehicle 140 is configured to assign a data request ID to the received data request in response to receiving the data request. The data request is processed without depending on the original system or program of the data request. In other embodiments, instead of vehicle 140, communication unit 130 assigns a data request ID, and the data request ID is included in the data request that communication unit 130 sends to vehicle 140. By making the data request independent of the original system or program of the data request, vehicle 140 can receive and process data requests from a wider range of different users and systems. Vehicle 140 includes a processor that processes the data request and determines which type of data from sensors such as available in vehicle 140 can satisfy the data request. Vehicle 140 further includes a memory that stores data from the sensors. In one embodiment, the processor accesses the memory to determine whether the stored data can satisfy the data request. Vehicle 140 can further transmit the data determined to satisfy the data request to server 120 wirelessly or via a wired connection. In one embodiment, the processor is configured to satisfy the received data requests in order of priority based on the priority level of the received data requests. In one embodiment, vehicle 140 is configured to preferentially transmit data to the server based on the priority level of the received data requests.

[0026] In one embodiment, the memory and processor of vehicle 140 are configured to store and execute software applications of the ECUs (Electronic Control Units) within vehicle 140. In one embodiment, the data requests are generated by the software applications stored in the ECUs. In one embodiment, the data requests are generated in response to trigger events such as hard acceleration, hard braking, acquisition of sensor data including a specific object or a specific scene predefined in the software application, stoppage (crash) of the operation of the software application, detection of an anomaly in the software application, or detection of other appropriate events. In one embodiment, vehicle 140 is configured to generate a notification to a maintenance administrator of the software application, such as a user, in response to detection of a trigger event associated with the software application. In one embodiment, the notification is transmitted directly to the user wirelessly or via a wired connection, such as via UI110. In one embodiment, the notification is transmitted to the user via server 120 wirelessly or via a wired connection. In one embodiment, the notification is configured to automatically display the notification on UI110 without user intervention.

[0027] The request search system 100 further includes an accessible console 150. The accessible console 150 enables a user to access the collected data stored in the data storage 126. In one embodiment, the accessible console 150 is integrated with the UI110. In one embodiment, the accessible console 150 is separated from the UI110. In one embodiment, the accessible console 150 includes a separate server separated from the server 120. In one embodiment, the accessible console 150 automatically receives the collected data related to the data request from the user when the data storage 126 receives the collected data. In one embodiment, the accessible console 150 enables the user to search the data storage 126 and determine which of the collected data stored in the data storage 126 is useful to the user even if the user has not registered a data request.

[0028] By using the request search system 100, a user can obtain information from one or more vehicles 140 in an easy-to-understand format without the need for special devices for data requests or readings. Since the request search system 100 can prioritize data requests, law enforcement agencies or other users can surely obtain data, and users who pay fees can quickly obtain data. Since the request search system 100 is thus flexible, it becomes more useful for a wide range of users.

[0029] FIG. 2 is a diagram showing GUIs (Graphical User Interfaces) 200 and 250 in the request search system of the embodiment. In one embodiment, the GUI 200 can be used as the UI 110 (FIG. 1) of the request search system 100. In one embodiment, the GUI 200 can be used to generate data requests received by the receiver 131 (FIG. 1). The GUI 200 includes a plurality of information types 210 that identify the types of information that the GUI 200 can receive from the user. The GUI 200 further includes a plurality of fields 220 configured to receive information related to the corresponding information type 210 of the GUI 200. The GUI 200 includes a registration button 230 configured to register a data request with a server, such as server 120 (FIG. 1), based on the information in the field 220. Those skilled in the art will recognize that the names and numbers of the plurality of information types 210 are merely examples and that different numbers and types of information are also within the scope of the present disclosure.

[0030] In one embodiment, column 220 includes fields for the user to enter a vehicle ID, data type, start time, and end time. In one embodiment, column 220 further includes a field for the user to enter a priority level of the data request. In one embodiment, GUI 200 further includes information regarding how a user can raise the priority level of a data request, such as a posting of a fee associated with each applicable priority level. In one embodiment, the GUI includes column 220 where the user can enter login information for identity verification. In one embodiment, GUI 200 is configured to display the priority level of the user who subsequently received the login information. In one embodiment, GUI 200 further includes column 220 for receiving payment information regarding a fee for determining the priority of a data request.

[0031] GUI 250 is configured to be displayed to the user after the user selects the registration button 230 of GUI 200. In one embodiment, GUI 250 can be used as GUI 110 (FIG. 1) in the request search system 100. GUI 250 includes information indicating that a data request has been received. GUI 250 includes a request ID label 260 and a request ID field 270. Information to be displayed in the request ID field 270 is received from a server, such as server 120 (FIG. 1), after the server receives and stores the data request. In one embodiment, GUI 250 includes information about the vehicle ID. In one embodiment, GUI 250 includes information related to the priority level of the data request. In one embodiment, GUI 250 includes information regarding the status of a data request, such as pending registration, registered, completed, etc. In one embodiment, GUI 250 includes information related to an estimated time until the data request is registered with a vehicle, such as vehicle 140 (FIG. 1). In one embodiment, GUI 250 is automatically displayed in response to receiving inquiry ID information from the server. In one embodiment, GUI 250 is displayed in response to the user's registration of a latest information request for the uploaded data request.

[0032] FIG. 3 is a diagram of a data structure 300 of a request search instruction 310 in an embodiment. In one embodiment, the request search instruction 310 is transmitted from the server 120 to the vehicle 140 (FIG. 1). The request search instruction 310 includes information related to the type of data that the data request requests from the vehicle, for example, the vehicle 140 (FIG. 1).

[0033] The request search command 310 includes a transfer priority parameter 311 indicating the priority level of the data request. The request search command 310 further includes a log level parameter 312 indicating the type of data (if any) to be obtained from other applications of the vehicle. For example, in one embodiment, the request search command 310 obtains data from an object detection application. The log level parameter 312 determines which type of data, such as error level or critical issue level, to obtain from other applications. In one embodiment, the log level parameter 312 is omitted from the request search command 310, or the log level parameter 312 remains in a null state. The request search command 310 further includes a collection time range parameter 313 indicating the time range in which data should be collected before and after the trigger event. The time range corresponds to the start time and end time input by the user into the GUI 200 (Figure 2). The request search command 310 further includes a URL (Uniform Resource Locator) endpoint parameter 314 indicating the destination of the data collected in response to the data request. The request search command 310 further includes a frequency parameter 315 indicating how often the data should be sampled assuming that the data is sampled in the time range indicated by the collection time range parameter 313. For example, if the time t of the event is 100 seconds, the time range has a start time of -1 second and an end time of 2 seconds, and the frequency is 10 Hz (100 millisecond period), the data at times t of 99.0 seconds, 99.1 seconds, 99.2 seconds, …, 101.9 seconds, 102.0 seconds is collected by the request search command. The request search command 310 further includes a log ID parameter 316 indicating the type of sensors and / or applications available for collecting the data requested by the data request. In one embodiment, a unique ID (e.g., UUID (Universally Unique Identifier)) is pre-assigned to all sensors and applications, and the unique ID requested by the user for data collection is specified by the log ID parameter 316. The request search command 310 further includes a requester ID parameter 317 indicating the identity of the user who created the data request.The request search command 310 further includes an event ID parameter 318 indicating a trigger event associated with the data request. The request search command 310 further includes an allocation ID parameter 319 indicating to what extent resources of a vehicle, such as vehicle 140 (FIG. 1), are to be allocated to satisfy the data request. Those skilled in the art will also understand that the request search command 310 does not always include all the parameters shown in FIG. 3. For example, in certain embodiments, the allocation ID parameter 319 is omitted.

[0034] FIG. 4 is a block diagram of a request search system 400 of an embodiment. In certain embodiments, the request search system 400 is part of the request search system 100 (FIG. 1). In certain embodiments, the request search system 400 can be used in cooperation with the request search system 100 (FIG. 1). In certain embodiments, the request search system 400 is separable from the request search system 100 (FIG. 1).

[0035] The request search system 400 includes a detection vehicle system 410 configured to obtain information of or around a vehicle. The detection vehicle system 410 obtains information of the vehicle and its surroundings and transmits the information to a server. The request search system 400 is configured to receive the information, encode the information, and disseminate the information to a user interface 460.

[0036] The detection vehicle system 410 includes an ECU 420 configured to receive data from a sensor 414, a GPS (Global Positioning System) 416, and a map 418. The ECU 420 includes a situation detection unit 422, a data identification unit 432, a log collection unit 434, and a log transmission unit 436. The situation detection unit 422 includes a vehicle control monitor 424, an object detection unit 426, and a scene detection unit 428.

[0037] In one embodiment, the ECU 420 further includes a localization unit configured to receive data from the GPS 416 and the map 418 to determine the position and orientation of the vehicle and the state of the vehicle with respect to detected and / or known objects and / or road positions. The orientation is the direction of the vehicle with respect to a reference point such as a lane. In one embodiment, the position of the vehicle is represented together with the position vector of the vehicle. The orientation and the state of the vehicle are represented by the speed and the traveling direction of the vehicle. In one embodiment, the orientation and the state of the vehicle are represented together with the velocity vector, acceleration vector, and jerk vector of the vehicle. In one embodiment, the position vector, velocity vector, acceleration vector, and jerk vector include an angle vector. In one embodiment, the state of the vehicle is represented together with whether the engine or motor of the vehicle is operating or not.

[0038] The sensor 414 is configured to capture information about the surrounding environment of the vehicle, such as an image. In one embodiment, the sensor 414 includes a visible light camera and an infrared light camera. In one embodiment, the sensor 414 is replaced by or further includes a LiDAR sensor, a RADAR sensor, a SONAR sensor, or other suitable sensors. In one embodiment, the sensor 414 includes additional cameras at other positions of the vehicle. For example, in one embodiment, the additional camera is located at a lateral position of the vehicle to more widely detect the left and right environments of the target vehicle. Since the occupants of the vehicle can look out from the side windows of the vehicle, the detection accuracy of the objects or situations around the vehicle can be improved by using an additional camera that more widely detects the surrounding environment of the vehicle. For example, in one embodiment, the additional camera is located at a rear position of the vehicle to more widely detect the environment behind the vehicle. With this information, information about the object can be captured. In one embodiment, the data from the sensor 414 includes a time stamp or other metadata to synchronize the data from the sensor 414 with the data from other devices.

[0039] The GPS 416 is configured to determine the position of a vehicle. By knowing the position of the target vehicle, an object or situation can be associated with the determined position on the map 418.

[0040] The map 418 includes information related to lanes and known objects along the lanes. In one embodiment, the map 418 can be used in conjunction with the GPS 416 to determine the position and direction of travel of the vehicle. In one embodiment, the map 418 is received from an external device such as the server 440. In one embodiment, the map 418 is periodically updated based on information from the sensor 414 and / or the GPS 416. In one embodiment, the map 418 is periodically updated based on information received from an external device. In one embodiment, the map 418 is generated from sensor data by a SLAM (Simultaneous Localization And Mapping) algorithm. By including the map 418, it is possible to determine whether an object is a known object. By including the map 418 with known objects, the detection accuracy of new objects can be improved.

[0041] The situation detection unit 422 is configured to generate information regarding the operation of the vehicle and in-vehicle systems. The situation detection unit 422 can collect information from in-vehicle devices such as the sensor 414, the braking system, the acceleration system, and other suitable devices. Using such information, the situation detection unit 422 can determine the operation of the vehicle. In one embodiment, the situation detection unit 422 is further configured to monitor the operation of the software and network within the vehicle. For example, in one embodiment, the situation detection unit 422 is configured to receive information regarding a "crash" of software or an application within the vehicle. In one embodiment, the situation detection unit 422 is configured to collect information regarding the storage capacity of the storage device within the vehicle. In one embodiment, the situation detection unit 422 is configured to receive information regarding the processing capacity of the processor within the vehicle.

[0042] The vehicle control monitor 424 is configured to receive sensor data and a control log regarding the current operation of the vehicle. In one embodiment, the sensor data includes information regarding vehicle speed, acceleration, jerk, braking, steering, pitch, roll, yaw, hazard lamp blinking, horn, or other suitable information. The vehicle control monitor 424 is configured to determine whether any of the received sensor data indicates satisfaction of a fulfillment criterion for a request, such as satisfaction of a trigger event.

[0043] The object detection unit 426 is configured to receive sensor data from the sensor 414 and determine whether there is a foreign object in the lane. In one embodiment, the object detection unit 426 is further configured to determine whether there is an object along or near the lane. In one embodiment, the sensor data from the sensor 414 includes an image, and the object detection unit 426 is configured to perform image recognition on the received image, for example, using a trained neural network, to detect a foreign object. In one embodiment, the object detection unit 426 is configured to compare the identified object with information from the GPS 416 and the map 418 so as to be able to determine the type of the identified object. In one embodiment, the object detection unit 426 is configured to identify an object as, for example, a tire, a vehicle part, an animal, a hole, a traffic sign, an emergency vehicle, a vehicle with its hazard lamp on, or other suitable object.

[0044] The scene detection unit 428 is configured to receive sensor data from the sensor 414 and determine whether a scene that satisfies the conditions for fulfilling the request exists in the vehicle's surrounding environment. In one embodiment, the scene detection unit 428 is configured to determine that a vehicle accident has occurred based on detecting that two or more vehicles are in contact with each other or that the vehicle is surrounded by a plurality of falling objects. In one embodiment, the scene detection unit 428 is configured to determine that construction work is being carried out when a plurality of construction vehicles are detected in extremely close proximity. In one embodiment, the scene detection unit 428 is configured to determine that the vehicle has stopped on the road shoulder based on detecting that the vehicle is near the lane and is not moving or is moving at a significantly slower speed than other vehicles. In one embodiment, the scene detection unit 428 is configured to determine the content of the vehicle's surrounding scene using, for example, image recognition using a trained neural network.

[0045] In one embodiment, each of the object detection unit 426 and the scene detection unit 428 operates throughout the operation of the vehicle, for example, while the vehicle's engine or motor is operating. In one embodiment, at least one of the object detection unit 426 and the scene detection unit 428 operates in response to a determination by the vehicle control monitor 424 of a predetermined state, such as the detection of a trigger event.

[0046] The data identification unit 432 is configured to receive a determination that a request has been fulfilled or that a trigger event has been detected. The data identification unit 432 analyzes the received information and is configured to determine which sensor data from the sensor 414 should be collected based on the received data. For example, in one embodiment, the data identification unit 432 is configured to determine that image data from the front camera among the sensors 414 should be captured when an abnormal steering operation by the driver is detected. Further, the data identification unit 432 is configured to determine the time interval during which data should be collected from the determined sensor based on the time of the detected situation. In one embodiment, the data identification unit 432 is configured to determine the sensor 414 to be the target of data collection based on the instruction in the request received from the user.

[0047] In one embodiment, the data identification unit 432 is configured to determine the area of the received sensor data related to the detected situation. In one embodiment, the area of the received sensor data is identified based on object recognition performed by the object detection unit 426 or the scene detection unit 428. In one embodiment, the data identification unit 432 is configured to trim the image received from the sensor or delete unnecessary data from the sensor data if the sensor data is not an image in order to reduce the amount of information in the abnormal situation log. In one embodiment, the data identification unit 432 is configured to delete personal information such as license plates and human faces from the sensor data.

[0048] The log collection unit 434 is configured to receive data from the data identification unit 432. In certain embodiments, the log collection unit 434 is configured to directly receive data from the sensor 414, the GPS 416, or the situation detection unit 422 based on the information provided by the data identification unit 432. Further, the log collection unit 434 determines which of the information, such as position information from, for example, the GPS 416 or the map 418, image information from the sensor 414, trimmed or reduced information from the data identification unit 432, timestamp information regarding the time when an object or a scene was detected, or other suitable information, can be used to identify the type and location of the object.

[0049] The log collection unit 434 generates log data based on the received and correlated data, such as trimmed images and position data. Further, the log collection unit 434 associates timestamp information with the log data to facilitate synchronization of the collected data and sorting by priority at the server 440. In certain embodiments, the log collection unit 434 generates log data that further includes world coordinates associated with the trimmed image. In certain embodiments, the log collection unit 434 generates log data that further includes map positions associated with the trimmed image. In certain embodiments, the log collection unit 434 generates log data that includes additional information that contributes to a more accurate determination of an object or a scene.

[0050] Although the above is related to the generation of log data based on image data from the sensor 414, those skilled in the art will understand that the log collection unit 434 is not limited to only generating log data based on images. In certain embodiments, the log collection unit 434 is configured to generate log data based on information from other sensors mounted on the vehicle, such as RADAR, LiDAR, or other suitable sensors. In certain embodiments, the log collection unit 434 is configured to generate log data based further on information received from smart glasses when a passenger is using them.

[0051] The log transmission unit 436 is configured to receive log data from the log collection unit 434 and transmit it to the server 440. In certain embodiments, the log transmission unit 436 is configured to transmit log data wirelessly. In certain embodiments, the log transmission unit 436 is configured to transmit log data via a wired connection. In certain embodiments, the log transmission unit 436 is configured to directly transmit log data to the user interface 460. In certain embodiments, the log transmission unit 436 transmits log data to a portable device accessible by the user. At this time, the portable device is configured to transmit the log data to the server 440. In certain embodiments, the log transmission unit 436 is configured to transmit log data to the portable device using Bluetooth (registered trademark) or other suitable wireless technology. In certain embodiments, the ECU 420 is configured to determine whether the data transfer rate from the portable device to the server 440 is higher than the transfer rate from the log transmission unit 436 to the server 440. If it is determined that the data transfer rate from the portable device to the server 440 is higher, the log transmission unit 436 is configured to transmit the log data to the portable device so that the log data is transmitted to the server 440 from the portable terminal. If it is determined that the data transfer rate from the portable device to the server 440 is not higher, the log transmission unit 436 is configured to directly transmit the log data from the detected vehicle system 410 to the server 440 without transferring the log data to the portable terminal.

[0052] In one embodiment, the detection vehicle system 410 further includes a memory configured to store sensor data from sensors mounted on the vehicle. In one embodiment, the memory is further configured to store information associated with objects or scenes detected in the past. In one embodiment, when an object or scene matching a past object or scene is detected, the data identification unit 432 is configured to provide a result based on the matching object or scene. In one embodiment, the detection vehicle system 410 is further configured to determine whether the detection vehicle has received information related to an object or scene that matches the determined object or scene from the situation detection unit 422. In one embodiment, when it is determined that the detection vehicle has already received information related to the determined object or scene, the detection vehicle system 410 is configured to suppress the transmission of log data to the server 440. By preventing duplicate information from being sent to the server 440, the data transmitted to the server 440 can be reduced, and the power consumption of the detection vehicle system 410 can be reduced. In one embodiment, the storage of past requests is referred to as a cache. Those skilled in the art will understand that the cache uses hardware or software to store data so that the data can be provided more quickly for future requests.

[0053] The server 440 includes a log data receiving unit 442 configured to receive log data from the log transmission unit 436. In one embodiment, the log data receiving unit 442 is configured to receive log data from a mobile device. The server 440 further includes a log encoding unit 444 that encodes the log data. The server 440 further includes a log transfer unit 446 that transfers the encoded log data to the user terminal 160. The server 440 further includes a request / rule receiving unit 448 configured to receive requests or rules from the user interface 460.

[0054] The log data receiving unit 442 is configured to receive log data from the log transmitting unit 436. In certain embodiments, the log data receiving unit 442 is configured to receive log data from a mobile device. In certain embodiments, the log data receiving unit 442 is configured to receive log data wirelessly. In certain embodiments, the log data receiving unit 442 is configured to receive log data via a wired connection. In certain embodiments, the log data receiving unit 442 is configured to attach a time stamp of the time when the log data was received to the log data.

[0055] The log encoding unit 444 is configured to encode the received log data according to a predetermined encoding protocol. By encoding the log data according to the predetermined encoding protocol, when the log data is used in the user interface 460, the user interface 460 can surely decode the log data. In certain embodiments, the log encoding unit 444 is configured to perform compression of the log data, image encoding, generation of thumbnail images, or other appropriate encoding protocols. In certain embodiments, the log encoding unit 444 is configured to perform encryption of the log data. In certain embodiments, the log encoding unit 444 is configured to perform super-resolution processing in order to make the data more visible to the user. Those skilled in the art will understand that super-resolution processing is a process of obtaining a high-resolution image from a low-resolution image. By improving the resolution of the log data, false detection or detection omission can be reduced.

[0056] In some embodiments, server 440 further includes a database for storing the received log data. In some embodiments, the log data is stored in the database before or after being encoded by log encoding unit 444. In some embodiments, the log data is stored in a priority queue of the database. In some embodiments, the priority queue is determined based on an object or scene, for example, the time when a trigger event is detected, the time when log data receiving unit 442 receives the log data, the type of the object or scene, the identity of the driver of the detecting vehicle, or other appropriate priority criteria.

[0057] Log transfer unit 446 is configured to receive the encoded log data from log encoding unit 444. Log transfer unit 446 is configured to transmit the encoded log data to user interface 460. In some embodiments, log transfer unit 446 is configured to transmit the encoded log data to a portable device accessible by the user. In some embodiments, log transfer unit 446 is configured to wirelessly transmit the encoded log data. In some embodiments, log transfer unit 446 is configured to transmit the encoded log data via a wired connection. In some embodiments, log transfer unit 446 is configured to transmit the encoded protocol information together with the encoded log data. By transmitting the encoded protocol information of the encoded log data, the portable device or user interface 460 can accurately decode the encoded log data so that it can be used in user interface 460.

[0058] The request / rule receiver 448 is configured to receive new or updated rules or requests about data from a user. In certain embodiments, the request / rule receiver 448 is configured to receive new or updated rules or requests wirelessly. In certain embodiments, the request / rule receiver 448 is configured to receive new or updated rules or requests via a wired connection. In certain embodiments, the request / rule receiver 448 is configured to receive new or updated rules or requests from the UI 110 (FIG. 1).

[0059] In certain embodiments, the server 440 is configured to receive location information from a plurality of vehicles. In certain embodiments, the server 440 is configured to receive navigation information from a plurality of vehicles. In certain embodiments, the log transfer unit 446 is configured to limit the transmission destination of the encoded log data to vehicles within a predetermined distance from the detected trigger event.

[0060] In certain embodiments, the server 440 is configured to transmit only the log data associated with the newly detected trigger event. That is, if a trigger event has been reported by the server 440, that trigger event is not reported again. By not repeatedly reporting trigger events, the server 440 can reduce the duplicate data received by the user terminal.

[0061] The user interface 460 is a user terminal accessible to a user associated with a fulfilled request. In certain embodiments, the user interface 460 includes a GUI. In certain embodiments, the user interface 460 is configured to automatically generate a notification in response to receiving data from the server 440. In certain embodiments, the notification includes an auditory or visual notification.

[0062] One skilled in the art will understand that changes to the claim search system 400 are within the scope of the present disclosure. For example, in one embodiment, the detection vehicle system 410 can directly transmit log data to the user interface 460 via a network such as a wireless network. In certain embodiments, the mobile device of the occupant of the detected vehicle can directly transmit log data to the user interface 460 via a network such as a wireless network.

[0063] By automatically identifying and disseminating data detected in the environment inside or around the vehicle in relation to the satisfaction of rules or requirements, the user can structure the operation of applications or software used by a vehicle's processing system such as the ECU 420. In certain embodiments, object information related to an event such as an accident can be received.

[0064] FIG. 5 is a flowchart of a method 500 executed by a rule prioritization system of an embodiment. In certain embodiments, the method 500 is executed by the claim search system 100 (FIG. 1) or the claim search system 400 (FIG. 4). In certain embodiments, the method 500 is executed by a system 700 (FIG. 7) in which the claim search system is implemented. In certain embodiments, the method 500 is executed by a system other than the claim search system 100 (FIG. 1), the claim search system 400, or the system 700 (FIG. 7). The following description relates to the processing of rules or requirements received from a vehicle.

[0065] In operation 505, sensor data is collected. The sensor data is collected by one or more sensors connectable to the vehicle. In certain embodiments, the sensor data includes control parameters of the vehicle. In certain embodiments, the sensor data includes information about the environment around the vehicle. In certain embodiments, the sensor data includes data from the sensor 414 (FIG. 4) and / or other sensors of the vehicle.

[0066] In operation 510, the sensor data is processed. The sensor data is processed to identify one or more trigger events related to one or more rules stored in the vehicle's memory. In certain embodiments, the sensor data is processed by the situation detection unit 422 (FIG. 4). In certain embodiments, the sensor data is processed based on preprocessing instructions related to one or more rules stored in the vehicle's memory. In certain embodiments, the sensor data is processed to remove privacy concerns from the sensor data. In certain embodiments, the sensor data is processed to compress the sensor data for storage in the vehicle's memory.

[0067] In operation 515, a determination is made as to whether the vehicle's processing capacity or storage capacity is sufficient to fully satisfy the rules corresponding to the detected trigger events. In certain embodiments, the determination is made by the situation detection unit 422 (FIG. 4). In certain embodiments, a determination is made as to whether the vehicle's processing capacity is sufficient to fully satisfy the rules corresponding to the detected trigger events. In certain embodiments, a determination is made as to whether the vehicle's storage capacity is sufficient to fully satisfy the rules corresponding to the detected trigger events. In certain embodiments, a determination is made as to whether both the vehicle's processing capacity and storage capacity are sufficient to fully satisfy the rules corresponding to the detected trigger events. The determination is made for each rule corresponding to the detected trigger event.

[0068] In certain embodiments, each rule is stored in the vehicle's memory along with an estimated processing load or storage load when that rule is fully satisfied. In certain embodiments, the estimated processing load or storage load when a rule is fully satisfied is determined in response to the detection of the trigger event associated with that rule.

[0069] In one embodiment, multiple rules are associated with the same trigger event. That is, if the processing capacity or memory capacity of the vehicle is sufficient, when one trigger event is detected, multiple rules may be applied. If it is determined that the processing capacity or memory capacity of the vehicle is not sufficient to apply all of the rules associated with the detected trigger event, in operation 515, the capacity assigned to each rule is determined according to the priority. That is, at least one highest-priority rule is first analyzed, and it is determined whether the processing capacity or memory capacity of the vehicle is sufficient to fully satisfy at least one highest-priority rule. After determining whether to apply at least one highest-priority rule, operation 515 proceeds to determine whether the processing capacity or memory capacity of the vehicle is sufficient to apply the second-highest-priority rule. This determination is repeated until all of the rules corresponding to the detected trigger event are analyzed, and each rule is either applied or not applied.

[0070] The following description is an example, not a limitation, for more clearly explaining the prioritization of rules associated with the same trigger event. In this example, three rules are mentioned. However, those skilled in the art will understand that the situations where there are more than three or less than three rules associated with the same trigger event are also within the scope of this specification. In this specification, the first rule has at least one highest priority, the second rule has an intermediate priority, and the third rule has the lowest priority. In response to the detection of the trigger event, operation 515 checks, for the first rule, whether the processing capacity or storage capacity of the vehicle is sufficient to fully satisfy the data collection associated with the first rule. In this example, operation 515 determines that the vehicle has sufficient capacity for the application of the first rule, and the first rule is applied and the data collection for the first rule begins. Next, operation 515 proceeds to the analysis of the second rule. Operation 515 checks, in the situation after the first rule has been applied, whether the processing capacity or storage capacity of the vehicle is sufficient to fully satisfy the data collection associated with the second rule. In this example, operation 515 determines that the vehicle does not have sufficient capacity for the application of the second rule, the second rule is not applied, and the data collection associated with the second rule is not executed. Operation 515 proceeds to the analysis of the third rule and determines whether the vehicle has a processing capacity or storage capacity that fully satisfies the third rule in the situation after the first rule has been applied and the second rule has not been applied. In this example, operation 515 determines that the vehicle has sufficient capacity for the application of the third rule, and the third rule is applied. As an overall result of this example, the data collection for the first rule and the third rule is executed, and the data collection for the second rule is not executed.

[0071] In response to the determination that the vehicle has sufficient capacity for the rule, method 500 proceeds to operation 520. In response to the determination that the vehicle does not have sufficient capacity for the rule, method 500 returns to operation 505 or performs an analysis of the rule priority in the next rule associated with the same detected trigger event.

[0072] By thus limiting the rules for data collection targets to those that can be fully satisfied based on the processing capacity or storage capacity of the vehicle, method 500 can use the processing power and storage capacity of the vehicle more efficiently. Further, collecting data partially for rules that cannot be completed increases the risk of situations where a part of the vehicle's memory is permanently occupied or the processing of the vehicle's processor loops. That is, if the vehicle continues to process rules that are not fully satisfied, an example occurs where data stored in the vehicle's memory is not permitted to be overwritten and the processor attempts to continue collecting data that is not available. Thus, by permitting the application of only rules that can be fully satisfied, the vehicle can reduce the risk of a decrease in the usage efficiency of the vehicle's processing capacity and storage capacity and provide maximum results for the rules.

[0073] In one embodiment, operation 515 is implemented in response to the storage capacity or processing capacity of the vehicle reaching a predetermined threshold lower than the maximum capacity. By using the predetermined threshold, the speed of data collection and transmission in a situation where the vehicle always has sufficient storage capacity and processing capacity can be improved. That is, in a situation where the usage amount of the vehicle's memory or processing amount is low, since all rules are applied because the usage amount of the memory or processing amount is small, it is not worth spending time determining whether to apply one or more rules associated with the trigger event. In one embodiment, by using the predetermined threshold, the efficiency of data collection and transmission can be improved compared to other approaches. In one embodiment, the predetermined threshold is determined based on the usage amount of memory or processing amount assumed for each rule. In one embodiment, the predetermined threshold is set to at least 10 times the average usage amount by the rule. In one embodiment, the predetermined threshold is set independently of the usage amount assumed by the rule. In one embodiment, the predetermined threshold is 90% or more of the maximum capacity of the vehicle. If the predetermined threshold is too high, the risk of applying rules that should not be applied increases. If the predetermined threshold is too low, the processing capacity is used to determine whether to apply a rule, and subsequent rule applications may become impossible.

[0074] In operation 520, a determination is made as to which sensor information should be collected based on rules. The rules stored in the vehicle's memory include information related to the type of sensor data and the period during which the sensor data is to be collected. In certain embodiments, the collected data is trimmed or processed to reduce or eliminate unnecessary data.

[0075] In operation 525, the collected data is stored. In certain embodiments, the collected data is stored in memory. In certain embodiments, the collected data is stored in association with timestamp information regarding when the data was collected or when the trigger event occurred. In certain embodiments, the collected data is stored using the log collection unit 434 (FIG. 4).

[0076] In operation 530, the stored data is transmitted to the server 440. In certain embodiments, the stored data is transmitted wirelessly. In certain embodiments, the stored data is transmitted via a wired connection. In certain embodiments, the stored data is transmitted using the log transmission unit 436 (FIG. 4).

[0077] In operation 535, the transmitted data is received by the server 440. In certain embodiments, the data is received by the log data reception unit 442 (FIG. 4). In certain embodiments, the received data is stored in the memory of the server 440. In certain embodiments, the received data is stored in the priority queue of the server 440.

[0078] In operation 540, the received data is encoded. In certain embodiments, the received data is encoded according to a predetermined coding protocol. In certain embodiments, the received data is encoded according to criteria determined by rules associated with the received data. In certain embodiments, the received data is encoded according to the priority of the data in the priority queue. In certain embodiments, the encoded data is stored in the memory of server 440. In certain embodiments, the encoded data is stored in the memory in the priority queue of server 440. In certain embodiments, operation 540 is omitted and the received data is not encoded.

[0079] In operation 545, the encoded data is transmitted to user interface 460. In certain embodiments, the encoded data is transmitted wirelessly. In certain embodiments, the encoded data is transmitted via a wired connection. In certain embodiments, the encoded data is transmitted according to the priority of the encoded data in the priority queue. In certain embodiments, the encoded data is transmitted by log transfer unit 446 (FIG. 4).

[0080] In operation 550, the encoded data is received. In certain embodiments, the encoded data is received by user interface 460 (FIG. 4). In certain embodiments, the received data is stored in the memory of user interface 460 (FIG. 4) prior to decoding. In certain embodiments, the received data is stored in the priority queue of user interface 460 (FIG. 4).

[0081] In operation 555, the data is decoded. In certain embodiments, the data is decoded according to a predetermined decoding protocol. In certain embodiments, the data is decoded based on the encoded protocol information received with the data from server 440. In certain embodiments, the data is decoded according to the type of data received. In certain embodiments, the data is decoded based on the priority in the priority queue. In certain embodiments, the decoded data is stored in the memory of user interface 460 (FIG. 4). In certain embodiments, the decoded data is stored in the priority queue in the memory of user interface 460 (FIG. 4).

[0082] In operation 560, the decoded data is visualized. Visualizing the decoded data provides a visual representation of the data. In certain embodiments, the visual representation includes an image of the data from the vehicle. In certain embodiments, the visual representation includes an icon representing the data from the vehicle. In certain embodiments, the visual representation includes a table of the data. In certain embodiments, the visual representation includes text such as JSON text. In certain embodiments, the visual representation includes the location on a map of a detected trigger event. In certain embodiments, the decoded data is visualized using user interface 460 (FIG. 4).

[0083] In operation 565, the user receives a notification about the visualized data. In certain embodiments, the user receives the notification using a UI, such as UI110 (FIG. 1). In certain embodiments, the user receives the notification using a portable device accessible by a passenger. In certain embodiments, the notification includes an auditory or visual notification. In certain embodiments, the notification is configured to automatically generate a notification on a portable device accessible by the user.

[0084] One skilled in the art will understand that modifications to method 500 are within the scope of this specification. In certain embodiments, at least one additional operation is included in method 500. For example, in one embodiment, method 500 further includes receiving confirmation of a trigger event from an occupant of the vehicle. In certain embodiments, at least one operation is removed from method 500. For example, in one embodiment, operation 540 is removed and the data is supplied to user interface 460 without being encoded. In certain embodiments, the order of operations in method 500 is changed. For example, in one embodiment, operation 525 is performed prior to determining whether a trigger event has been detected in order to store sensor data. One skilled in the art will understand that other modifications to method 500 are within the scope of this specification.

[0085] FIG. 6 is a flowchart of a method 600 for determining whether to apply rules in an embodiment. In certain embodiments, method 600 is performed as operation 515 (FIG. 5) of method 500. In certain embodiments, method 600 is performed by situation detection unit 422 (FIG. 4). In certain embodiments, method 600 is performed using request search system 100 (FIG. 1) or request search system 400 (FIG. 4). In certain embodiments, method 600 is performed using a system other than request search system 100 (FIG. 1) or request search system 400 (FIG. 4). Method 600 can be used to determine whether to apply rules based on the storage capacity or processing capacity of the vehicle.

[0086] In operation 605, a trigger event is detected. The trigger event is detected based on a comparison of data collected by sensors mounted on the vehicle with information stored in the vehicle's memory regarding the rules. That is, the rules include the conditions under which data should be collected, i.e., the information indicating the trigger event. In certain embodiments, the data is collected by sensor 414 (FIG. 4).

[0087] In operation 610, it is determined whether more than one rule is associated with the trigger event. The determination is made based on an analysis of the trigger events associated with each rule stored in the vehicle's memory. In response to a determination that only one rule is associated with the detected trigger event, method 600 proceeds to operation 620. In response to a determination that more than one rule is associated with the detected trigger event, method 600 proceeds to operation 615.

[0088] In operation 615, method 600 selects the next rule having at least one highest priority for the analysis. When operation 615 is first executed for a particular trigger event, operation 615 selects a rule having at least one highest priority for the analysis. The priority level of each rule is determined based on criteria set in the vehicle. In one embodiment, the priority level is set based on the type of data to be collected by the rule. In one embodiment, the priority level is set based on the identity of the rule creator. In one embodiment, the priority level is set based on the fee paid by the rule creator. In one embodiment, the priority level is set based on the date the vehicle received the rule.

[0089] In operation 620, it is determined whether the vehicle has sufficient memory capacity or processing capacity to fully satisfy the rules identified in operation 610 or operation 615. The determination is based on a comparison between the available memory capacity or processing capacity of the vehicle and the memory capacity or processing capacity of the vehicle that is assumed to be used to fully satisfy the rules. In one embodiment, the determination is made by the situation detection unit 422 (FIG. 4). In one embodiment, the determination is made as to whether the processing capacity of the vehicle is sufficient to fully satisfy the rules corresponding to the detected trigger event. In one embodiment, the determination is made as to whether the memory capacity of the vehicle is sufficient to fully satisfy the rules corresponding to the detected trigger event. In one embodiment, the determination is made as to whether both the processing capacity and the memory capacity of the vehicle are sufficient to fully satisfy the rules corresponding to the detected trigger event.

[0090] In one embodiment, each rule is associated with the amount of processing or memory assumed to fully satisfy that rule and stored in the vehicle's memory. In one embodiment, the amount of processing or memory assumed to fully satisfy the rule is determined in response to the detection of the trigger event associated with that rule.

[0091] By thus limiting the rules targeted for data collection to those that can be fully satisfied based on the vehicle's processing capacity or memory capacity, method 600 can use the vehicle's processing power and memory capacity more efficiently. Furthermore, collecting data related to rules that cannot be completed partially increases the risk of situations such as a portion of the vehicle's memory being permanently occupied or the vehicle's processor getting into a loop.

[0092] In one embodiment, operation 620 is implemented in response to the vehicle's memory capacity or processing capacity reaching a predetermined threshold that is lower than the maximum capacity. By using the predetermined threshold, the speed of data collection and transmission in situations where the vehicle always has sufficient memory capacity and processing capacity can be improved. That is, in situations where the usage amount or processing amount of the vehicle's memory is low, since all rules are applied because the usage amount or processing amount of the memory is small, it is not worth spending time on determining whether to apply one or more rules associated with a trigger event. In one embodiment, by using the predetermined threshold, the efficiency of data collection and transmission can be improved compared to other approaches. In one embodiment, the predetermined threshold is determined based on the assumed memory usage amount or processing amount for each rule. In one embodiment, the predetermined threshold is set independently of the usage amount assumed by the rule. In one embodiment, the predetermined threshold is set to at least 10 times the average usage amount by the rule. In one embodiment, the predetermined threshold is 90% or more of the vehicle's maximum capacity. If the predetermined threshold is too high, the risk of applying rules that should not be applied increases. If the predetermined threshold is too low, processing capacity may be used to determine whether to apply a rule, and subsequent rule application may be impossible.

[0093] If the vehicle has sufficient capacity, method 600 proceeds to operation 625. If the vehicle has insufficient capacity, method 600 proceeds to operation 630.

[0094] In operation 625, rules are applied. When a rule is applied, collection of data that satisfies the information requirements of that rule is initiated. The collected data is transmitted to a server, such as server 440 (FIG. 4), or a user terminal, such as user interface 460 (FIG. 4), for inspection or further analysis. In one embodiment, the data is processed or encoded by the vehicle before transmission.

[0095] In operation 630, it is determined whether the analysis of all rules associated with the detected trigger event has been completed. The determination is made based on whether a determination has been made as to whether to apply each rule associated with the trigger event detected in operation 605. In response to the determination that the analysis of all rules associated with the detected trigger event has been completed, method 600 returns to operation 605. Based on the determination that the analysis of fewer rules than all rules associated with the detected trigger event has been completed, method 600 returns to operation 615.

[0096] Those skilled in the art will understand that modifications to method 600 are within the scope of this specification. In some embodiments, at least one additional operation is included in method 600. For example, in some embodiments, method 600 further includes sending a notification to a user terminal, such as user interface 460 (FIG. 4). In some embodiments, at least one operation is removed from method 600. For example, in some embodiments, operation 620 is removed if the storage capacity or processing capacity of the vehicle is lower than a predetermined threshold. In some embodiments, the order of operations in method 600 is changed. For example, in some embodiments, operation 615 is executed prior to operation 610. Those skilled in the art will understand that other modifications to method 600 are within the scope of this specification.

[0097] FIG. 7 is a schematic diagram of a system 700 in which the claim search system of the embodiment is implemented. The system 700 includes a processor 702 which is hardware, and a non-transitory computer-readable storage medium 704 in which computer program code 706, for example, a set of executable instructions, is encoded and which includes, for example, this. Instructions 707 for connecting to an external device are also encoded in the computer-readable storage medium 704. The processor 702 is electrically connected to the computer-readable storage medium 704 via a bus 708. Also, the processor 702 is electrically connected to an I / O interface 710 by the bus 708. Also, a network interface 712 is electrically connected to the processor 702 via the bus 708. The network interface 712 is connected to a network 714, whereby the processor 702 and the computer-readable storage medium 704 can be connected to external elements via the network 714. In order for the system 700 to be usable to execute some or all of the operations described in the claim search system 100 (FIG. 1), the claim search system 400 (FIG. 4), the method 500 (FIG. 5), or the method 600 (FIG. 6), the processor 702 is configured to execute the computer program code 706 encoded in the computer-readable storage medium 704.

[0098] In one embodiment, the processor 702 is a CPU (Central Processing Unit), a multiprocessor, a distributed processing system, an ASIC (Application Specific Integrated Circuit), and / or a suitable processing unit.

[0099] In one embodiment, the computer-readable storage medium 704 is an electronic, magnetic, optical, electromagnetic, infrared, and / or semiconductor system (or apparatus or device). For example, the computer-readable storage medium 704 includes semiconductor or solid state memories, magnetic tapes, removable computer disks, RAM (Random Access Memory), ROM (Read-Only Memory), rigid magnetic disks, and / or optical disks. In one embodiment using an optical disk, the computer-readable storage medium 704 includes CD-ROM (Compact Disk - Read Only Memory), CD-R / W (Compact Disk - Read / Write), and / or DVD (Digital Versatile Disk).

[0100] In one embodiment, the storage medium 704 stores computer program code 706 configured to cause the system 700 to perform some or all of the operations described by the request search system 100 (FIG. 1), the request search system 400 (FIG. 4), the method 500 (FIG. 5), or the method 600 (FIG. 6). In one embodiment, the storage medium 704 stores information necessary for the execution of some or all of the operations described by the request search system 100 (FIG. 1), the request search system 400 (FIG. 4), the method 500 (FIG. 5), or the method 600 (FIG. 6), and information generated in the execution of some or all of the operations described by the request search system 100 (FIG. 1), the request search system 400 (FIG. 4), the method 500 (FIG. 5), or the method 600 (FIG. 6), such as sensor data parameters 716, rule parameters 718, collected data parameters 720, priority data parameters 722, and / or a set of executable instructions for performing some or all of the operations described by the request search system 100 (FIG. 1), the request search system 400 (FIG. 4), the method 500 (FIG. 5), or the method 600 (FIG. 6).

[0101] System 700 includes an I / O interface 710. The I / O interface 710 is coupled to an external circuit. In some embodiments, the I / O interface 710 includes a keyboard, keypad, mouse, trackball, trackpad, and / or cursor direction keys for communicating information and commands to the processor 702.

[0102] System 700 also includes a network interface 712 coupled to the processor 702. The network interface 712 enables the system 700 to communicate with a network 714 to which one or more other computer systems are connected. The network interface 712 includes a wireless network interface such as Bluetooth, Wi-Fi, WiMAX, GPRS, or WCDMA (registered trademark), or a wired network interface such as Ethernet, USB, or IEEE 1394. In some embodiments, some or all of the operations described in the request search system 100 (FIG. 1), request search system 400 (FIG. 4), method 500 (FIG. 5), or method 600 (FIG. 6) are implemented in two or more systems 700, and information such as priority levels, query IDs, query statuses, and query data is exchanged between different systems 700 via the network 714.

[0103] [Appendix 1]

[0104] A method for collecting vehicle data includes receiving a set of rules, each of the set of rules being associated with a corresponding trigger event, and each of the set of rules defining a corresponding data collection procedure. The method further includes detecting a trigger event using at least one sensor connected to the vehicle. The method further includes determining whether the detected trigger event is associated with a plurality of rules of the set of rules. The method further includes prioritizing each of the plurality of rules in response to a determination that the detected trigger event is associated with each of the plurality of rules. The method further includes determining whether resources within the vehicle are sufficient to execute a first data collection procedure for at least one of the plurality of highest-priority rules. The method further includes applying at least one of the highest-priority rules in response to a determination that resources within the vehicle are sufficient to execute the first data collection procedure. The method further includes suppressing application of at least one of the highest-priority rules in response to a determination that resources within the vehicle are insufficient to execute the first data collection procedure.

[0105] [Appendix 2]

[0106] The method according to Appendix 1, wherein the resources include at least one of a storage capacity or a processing capacity.

[0107] [Appendix 3]

[0108] The method according to Appendix 1 or 2, wherein the prioritization of each of the plurality of rules includes prioritizing each of the plurality of rules based on at least one of the identity of the creator of the rule, the type of data to be collected, or the fee received from the creator of the rule.

[0109] [Appendix 4]

[0110] After determining whether the resources in the vehicle are sufficient for the execution of the first data collection procedure, further determining whether the resources in the vehicle are sufficient for the execution of a second data collection procedure associated with a second rule having a priority lower than at least one highest priority rule, the method according to any one of Appendices 1-3.

[0111] [Appendix 5]

[0112] Further including applying the second rule in response to a determination that the resources in the vehicle are sufficient for the execution of the second data collection procedure, and suppressing the application of the second rule in response to a determination that the resources in the vehicle are insufficient for the matters of the second data collection procedure, the method according to Appendix 4.

[0113] [Appendix 6]

[0114] Further including collecting data according to the first data collection procedure in response to the application of at least one highest priority rule, and transmitting the collected data to at least one of a server or a user terminal, the method according to any one of Appendices 1-5.

[0115] [Appendix 7]

[0116] Further including generating a notification in response to the suppression of the application of at least one highest priority rule, and transmitting the notification to at least one of a server or a user terminal, the method according to any one of Appendices 1-6.

[0117] [Appendix 8]

[0118] A system for collecting vehicle data. The system includes a non-transitory computer-readable medium configured to store instructions and a processor connected to the non-transitory computer-readable medium. The processor is configured to execute instructions for receiving a set of rules, each of the set of rules being associated with a corresponding trigger event and each of the set of rules defining a corresponding data collection procedure. The processor is configured to execute instructions for detecting a trigger event using at least one sensor connected to the vehicle. The processor is configured to execute instructions for determining whether the detected trigger event is associated with multiple rules of the set of rules. The processor is configured to execute instructions for prioritizing each of the multiple rules in response to a determination that the detected trigger event is associated with each of the multiple rules. The processor is configured to execute instructions for determining whether resources within the vehicle are sufficient for executing a first data collection procedure for at least one highest-priority rule of the multiple rules. The processor is configured to execute instructions for applying at least one highest-priority rule in response to a determination that resources within the vehicle are sufficient for executing the first data collection procedure. The processor is configured to execute instructions for suppressing application of at least one highest-priority rule in response to a determination that resources within the vehicle are insufficient for executing the first data collection procedure.

[0119] [Appendix 9]

[0120] The system according to Appendix 8, wherein the resources include at least one of a storage capacity or a processing capacity.

[0121] [Appendix 10]

[0122] The system according to Appendix 9 or 10, wherein the processor is further configured to execute instructions for prioritizing each of the multiple rules based on at least one of the identity of the creator of the rule, the type of data to be collected, or the fee received from the creator of the rule.

[0123] [Appendix 11]

[0124] After determining whether the resources in the vehicle are sufficient for the execution of the first data collection procedure, the processor is further configured to execute instructions for determining whether the resources in the vehicle are sufficient for the execution of a second data collection procedure associated with a second rule having a lower priority than at least one highest priority rule. The system according to any one of Appendices 8-10.

[0125] [Appendix 12]

[0126] The processor is further configured to execute instructions for applying the second rule in response to a determination that the resources in the vehicle are sufficient for the execution of the second data collection procedure, and suppressing the application of the second rule in response to a determination that the resources in the vehicle are insufficient for the execution of the second data collection procedure. The system according to Appendix 11.

[0127] [Appendix 13]

[0128] The processor is further configured to execute instructions for collecting data according to the first data collection procedure in response to the application of at least one highest priority rule, and instructing a transmitter to transmit the collected data to at least one of a server or a user terminal. The system according to any one of Appendices 8-12.

[0129] [Appendix 14]

[0130] The processor is further configured to execute instructions for generating a notification in response to the suppression of the application of at least one highest priority rule, and instructing a transmitter to transmit the notification to at least one of a server or a user terminal. The system according to any one of Appendices 8-13.

[0131] [Appendix 15]

[0132] A non - transitory computer - readable medium configured to store instructions for causing an operation including receiving a set of rules by a processor in a vehicle, wherein each of the set of rules is associated with a corresponding trigger event and each of the set of rules defines a corresponding data collection procedure. The instructions are further configured to cause the processor in the vehicle to detect a trigger event using at least one sensor connected to the vehicle. The instructions are further configured to cause the processor in the vehicle to determine whether the detected trigger event is associated with a plurality of rules among the set of rules. The instructions are further configured to cause the processor in the vehicle to rank each of the plurality of rules according to priority in response to a determination that the detected trigger event is associated with each of the plurality of rules. The instructions are further configured to cause the processor in the vehicle to determine whether resources in the vehicle are sufficient for executing a first data collection procedure for at least one highest - priority rule among the plurality of rules. The instructions are further configured to cause the processor in the vehicle to apply at least one highest - priority rule in response to a determination that the resources in the vehicle are sufficient for executing the first data collection procedure. The instructions are further configured to cause the processor in the vehicle to suppress the application of at least one highest - priority rule in response to a determination that the resources in the vehicle are insufficient for executing the first data collection procedure.

[0133] [Appendix 16]

[0134] The resource includes at least one of a storage capacity or a processing capacity, and is the non - transitory computer - readable medium described in Appendix 15.

[0135] [Appendix 17]

[0136] The instructions are further configured to cause the processor in the vehicle to rank each of the plurality of rules according to priority based on at least one of the identity of the creator of the rule, the type of data to be collected, or the fee received from the creator of the rule, and is the non - transitory computer - readable medium described in Appendix 15 or 16.

[0137] [Appendix 18]

[0138] The command is further configured to cause a processor in the vehicle to determine whether the resources in the vehicle are sufficient for executing a second data collection procedure associated with a second rule having a priority lower than at least one highest priority rule, after determining whether the resources in the vehicle are sufficient for executing a first data collection procedure. The non-transitory computer-readable medium according to any one of Appendices 15-17.

[0139] [Appendix 19]

[0140] The command is further configured to cause a processor in the vehicle to apply a second rule in response to a determination that the resources in the vehicle are sufficient for executing the second data collection procedure, and to suppress the application of the second rule in response to a determination that the resources in the vehicle are insufficient for the matters of the second data collection procedure. The non-transitory computer-readable medium according to Appendix 18.

[0141] [Appendix 20]

[0142] The command is further configured to cause a processor in the vehicle to generate a notification in response to suppressing the application of at least one highest priority rule, and to instruct a transmitter to transmit the notification to at least one of a server or a user terminal. The non-transitory computer-readable medium according to any one of Appendices 15-19.

[0143] The above outlines the features of some embodiments so that those skilled in the art can better understand the aspects of the present disclosure. Those skilled in the art should understand that they can easily utilize the present disclosure for the purpose of designing or improving other processes or structures to achieve the same objectives and / or the same advantages as the embodiments introduced herein. Also, those skilled in the art should recognize that such equivalent components do not depart from the spirit and scope of the present disclosure, and that changes, substitutions, and modifications can be made to the present disclosure without departing from the spirit and scope of the present disclosure.

Claims

1. A vehicle data collection system comprising: receiving a set of rules, each rule in the set being associated with a corresponding trigger event, each rule in the set defining a corresponding data collection procedure; Detecting a triggering event using at least one sensor coupled to the vehicle; determining whether the detected trigger event is associated with a plurality of rules in the set of rules; responsive to determining that the detected triggering event is associated with each of the plurality of rules, prioritizing each of the plurality of rules; determining whether resources within the vehicle are sufficient to perform a first data collection procedure for at least one highest priority rule of the plurality of rules; applying the at least one highest priority rule in response to determining that resources within the vehicle are sufficient to perform the first data collection procedure; inhibiting application of the at least one highest priority rule in response to determining that resources within the vehicle are insufficient to perform the first data collection procedure. Including, The method of collecting vehicle data, wherein prioritizing each of the plurality of rules includes prioritizing each of the plurality of rules based on at least one of an identity of a creator of the rule, a type of data to be collected, or a fee received from a creator of the rule.

2. A vehicle data collection system, comprising: receiving a set of rules, each rule in the set being associated with a corresponding trigger event, each rule in the set defining a corresponding data collection procedure; detecting a triggering event using at least one sensor coupled to the vehicle; determining whether the detected trigger event is associated with a plurality of rules in the set of rules; responsive to determining that the detected triggering event is associated with each of the plurality of rules, prioritizing each of the plurality of rules; determining whether resources within the vehicle are sufficient to perform a first data collection procedure for at least one highest priority rule of the plurality of rules; applying the at least one highest priority rule in response to determining that resources within the vehicle are sufficient to perform the first data collection procedure; inhibiting application of the at least one highest priority rule in response to determining that resources within the vehicle are insufficient to perform the first data collection procedure; after determining whether resources within the vehicle are sufficient to perform the first data collection procedure, determining whether resources within the vehicle are sufficient to perform a second data collection procedure associated with a second rule having a lower priority than the at least one highest priority rule. (a) how vehicle data is collected;

3. applying the second rule in response to determining that resources within the vehicle are sufficient to perform the second data collection procedure; inhibiting application of the second rule in response to determining that resources within the vehicle are insufficient to perform the second data collection procedure. The method of claim 2 further comprising:

4. A vehicle data collection system, comprising: receiving a set of rules, each rule in the set being associated with a corresponding trigger event, each rule in the set defining a corresponding data collection procedure; detecting a triggering event using at least one sensor coupled to the vehicle; determining whether the detected trigger event is associated with a plurality of rules in the set of rules; responsive to determining that the detected triggering event is associated with each of the plurality of rules, prioritizing each of the plurality of rules; determining whether resources within the vehicle are sufficient to perform a first data collection procedure for at least one highest priority rule of the plurality of rules; applying the at least one highest priority rule in response to determining that resources within the vehicle are sufficient to perform the first data collection procedure; inhibiting application of the at least one highest priority rule in response to determining that resources within the vehicle are insufficient to perform the first data collection procedure; generating a notification in response to suppressing application of the at least one highest priority rule; sending said notification to at least one of a server or a user terminal; (a) how vehicle data is collected;

5. A method according to any preceding claim, wherein the resources comprise at least one of storage capacity or processing capacity.

6. collecting data in response to application of the at least one highest priority rule according to the first data collection procedure; transmitting the collected data to at least one of a server or a user terminal; The method of any one of claims 1-4, further comprising:

7. a non-transitory computer-readable medium configured to store instructions; a processor coupled to the non-transitory computer readable medium; The processor, receiving a set of rules, each rule in the set being associated with a corresponding trigger event, each rule in the set defining a corresponding data collection procedure; Detecting a trigger event using at least one sensor coupled to the vehicle; determining whether the detected trigger event is associated with a plurality of rules in the set of rules; responsive to determining that the detected triggering event is associated with each of the plurality of rules, prioritizing each of the plurality of rules; determining whether resources within the vehicle are sufficient to perform a first data collection procedure for at least one highest priority rule of the plurality of rules; applying the at least one highest priority rule in response to determining that resources within the vehicle are sufficient to perform the first data collection procedure; inhibiting application of the at least one highest priority rule in response to determining that resources within the vehicle are insufficient to perform the first data collection procedure; prioritizing each of the plurality of rules based on at least one of the identity of the creator of the rule, the type of data collected, or the fee received from the creator of the rule; A vehicle data collection system configured to execute instructions for:

8. A method for manufacturing a computer-readable medium comprising: a processor coupled to the non-transitory computer readable medium; The processor, receiving a set of rules, each rule in the set being associated with a corresponding trigger event, each rule in the set defining a corresponding data collection procedure; Detecting a trigger event using at least one sensor coupled to the vehicle; determining whether the detected trigger event is associated with a plurality of rules in the set of rules; responsive to determining that the detected triggering event is associated with each of the plurality of rules, prioritizing each of the plurality of rules; determining whether resources within the vehicle are sufficient to perform a first data collection procedure for at least one highest priority rule of the plurality of rules; applying the at least one highest priority rule in response to determining that resources within the vehicle are sufficient to perform the first data collection procedure; inhibiting application of the at least one highest priority rule in response to determining that resources within the vehicle are insufficient to perform the first data collection procedure; after determining whether resources within the vehicle are sufficient to perform the first data collection procedure, determining whether resources within the vehicle are sufficient to perform a second data collection procedure associated with a second rule having a lower priority than the at least one highest priority rule. A vehicle data collection system configured to execute instructions for:

9. The processor, applying the second rule in response to determining that resources within the vehicle are sufficient to perform the second data collection procedure; inhibiting application of the second rule in response to determining that resources within the vehicle are insufficient to perform the second data collection procedure. The system of claim 8 further configured to execute instructions for:

10. A method for manufacturing a computer-readable medium comprising: a processor coupled to the non-transitory computer readable medium; The processor, receiving a set of rules, each rule in the set being associated with a corresponding trigger event, each rule in the set defining a corresponding data collection procedure; Detecting a trigger event using at least one sensor coupled to the vehicle; determining whether the detected trigger event is associated with a plurality of rules in the set of rules; responsive to determining that the detected triggering event is associated with each of the plurality of rules, prioritizing each of the plurality of rules; determining whether resources within the vehicle are sufficient to perform a first data collection procedure for at least one highest priority rule of the plurality of rules; applying the at least one highest priority rule in response to determining that resources within the vehicle are sufficient to perform the first data collection procedure; inhibiting application of the at least one highest priority rule in response to determining that resources within the vehicle are insufficient to perform the first data collection procedure; generating a notification in response to suppressing application of the at least one highest priority rule; instructing the transmitter to transmit the notification to at least one of a server or a user terminal; A vehicle data collection system configured to execute instructions for:

11. A system according to any one of claims 7 to 10, wherein the resources include at least one of storage capacity or processing capacity.

12. The processor, collecting data in response to application of the at least one highest priority rule according to the first data collection procedure; instructing a transmitter to transmit the collected data to at least one of a server or a user terminal; A system according to any one of claims 7 to 10, further configured to execute instructions for:

13. receiving a set of rules, each rule in the set being associated with a corresponding trigger event, each rule in the set defining a corresponding data collection procedure; Detecting a trigger event using at least one sensor coupled to the vehicle; determining whether the detected trigger event is associated with a plurality of rules in the set of rules; responsive to determining that the detected triggering event is associated with each of the plurality of rules, prioritizing each of the plurality of rules; determining whether resources within the vehicle are sufficient to perform a first data collection procedure for at least one highest priority rule of the plurality of rules; applying the at least one highest priority rule in response to determining that resources within the vehicle are sufficient to perform the first data collection procedure; inhibiting application of the at least one highest priority rule in response to determining that resources within the vehicle are insufficient to perform the first data collection procedure; further causing a processor in the vehicle to prioritize each of the plurality of rules based on at least one of an identity of an author of the rule, a type of data collected, or a fee received from an author of the rule. A non-transitory computer-readable medium configured to store instructions for causing a processor within the vehicle to perform operations including:

14. A method for detecting a data collection procedure comprising: receiving a set of rules, each rule of the set being associated with a corresponding trigger event, each rule of the set defining a corresponding data collection procedure; Detecting a trigger event using at least one sensor coupled to the vehicle; determining whether the detected trigger event is associated with a plurality of rules in the set of rules; responsive to determining that the detected triggering event is associated with each of the plurality of rules, prioritizing each of the plurality of rules; determining whether resources within the vehicle are sufficient to perform a first data collection procedure for at least one highest priority rule of the plurality of rules; applying the at least one highest priority rule in response to determining that resources within the vehicle are sufficient to perform the first data collection procedure; inhibiting application of the at least one highest priority rule in response to determining that resources within the vehicle are insufficient to perform the first data collection procedure; after determining whether resources within the vehicle are sufficient to perform the first data collection procedure, determining whether resources within the vehicle are sufficient to perform a second data collection procedure associated with a second rule having a lower priority than the at least one highest priority rule; A non-transitory computer-readable medium configured to store instructions for causing a processor within the vehicle to perform operations including:

15. The instruction: applying the second rule in response to determining that resources within the vehicle are sufficient to perform the second data collection procedure; and inhibiting application of the second rule in response to determining that resources within the vehicle are insufficient to perform the second data collection procedure; and 15. The non-transitory computer-readable medium of claim 14, further configured to cause a processor in the vehicle to execute:

16. A method for detecting a data collection procedure comprising: receiving a set of rules, each rule of the set being associated with a corresponding trigger event, each rule of the set defining a corresponding data collection procedure; Detecting a trigger event using at least one sensor coupled to the vehicle; determining whether the detected trigger event is associated with a plurality of rules in the set of rules; responsive to determining that the detected triggering event is associated with each of the plurality of rules, prioritizing each of the plurality of rules; determining whether resources within the vehicle are sufficient to perform a first data collection procedure for at least one highest priority rule of the plurality of rules; applying the at least one highest priority rule in response to determining that resources within the vehicle are sufficient to perform the first data collection procedure; inhibiting application of the at least one highest priority rule in response to determining that resources within the vehicle are insufficient to perform the first data collection procedure; generating a notification in response to suppressing application of the at least one highest priority rule; instructing the transmitter to transmit the notification to at least one of a server or a user terminal; A non-transitory computer-readable medium configured to store instructions for causing a processor within the vehicle to perform operations including:

Citation Information

Patent Citations

  • Communication load and communication charge reduction system for sensor data collection

    JP2016062389A

  • Remote collection system of vehicle data

    JP2016132368A

  • Vehicle data collection system

    JP2020140657A

  • System, method, and apparatus for managing vehicle data collection

    WO2021178979A1