Vehicle-mounted capacity determination system and method of use
The system evaluates a vehicle's capabilities before data collection, discarding incompatible rules and offering adjustments, thereby enhancing resource efficiency and ensuring successful data collection.
Patent Information
- Application Number
- JP2023207931
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-03-31
- Filing Date
- 2023-12-08
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2043-12-08
AI Technical Summary
Existing systems lack an efficient mechanism to determine whether a vehicle is capable of executing data collection rules, leading to unnecessary resource consumption and potential failure in data collection.
A system that assesses the vehicle's capabilities, including processing power, memory, and sensor availability, before initiating data collection, and discards rules if the vehicle is incapable of execution, while providing warnings and suggestions to adjust the rules.
This approach optimizes resource usage by avoiding attempts to collect data that the vehicle cannot handle, ensuring successful data collection, and providing users with actionable feedback to adjust their requests.
Smart Images

Figure 0007648725000001 
Figure 0007648725000002 
Figure 0007648725000003
Abstract
Description
[Background technology]
[0001] In-vehicle systems have an ever-increasing level of computerized technology that facilitates the use of sensors within the vehicle to gather information about the vehicle's performance or about the environment surrounding the vehicle. This information may be transmitted to a central server for review and analysis to help improve the vehicle's performance or to help gather information about the environment in which the vehicle travels. In some instances, third parties, such as application developers, insurance companies, or government agencies, inquire about information about the vehicle's performance or the environment surrounding the vehicle. [Brief description of the drawings]
[0002] Aspects of the present disclosure are best understood from the following detailed description when read in conjunction with the accompanying drawings. It should be noted that, in accordance with standard practice in the industry, various features have not been drawn to scale. In fact, dimensions of various features may be arbitrarily increased or decreased for clarity of discussion.
[0003] [Figure 1] FIG. 1 is a schematic diagram of a request retrieval system according to some embodiments.
[0004] [Diagram 2] FIG. 2 is a diagram illustrating a graphical user interface (GUI) for a request retrieval system according to some embodiments.
[0005] [Diagram 3] FIG. 3 is a data structure diagram of a request search command according to some embodiments.
[0006] [Figure 4] FIG. 4 is a schematic diagram of a request retrieval system according to some embodiments.
[0007] [Diagram 5]FIG. 5 is a flowchart of a method for implementing a request retrieval system according to some embodiments.
[0008] [Figure 6A] FIG. 6A is a flowchart of a method for collecting data using an in-vehicle system, according to some embodiments.
[0009] [Figure 6B] FIG. 6B is a flowchart of a method for collecting data using an in-vehicle system, according to some embodiments.
[0010] [Figure 7] FIG. 7 is a schematic diagram of a system for implementing a request retrieval system according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] The following disclosure provides many different embodiments or examples for implementing different features of the provided subject matter. Below, specific examples of components, values, operations, materials, arrangements, etc. are described to simplify the disclosure. These are, of course, merely examples and are not intended to be limiting. Other components, values, operations, materials, arrangements, etc. are also contemplated. For example, the formation of a first feature in the following description can include embodiments in which the first and second features are formed in direct contact, and can also include embodiments in which an additional feature may be formed between the first and second features such that the first and second features are not in direct contact. In addition, the disclosure may repeat reference numbers and / or letters in various examples. This repetition is for simplicity and clarity and does not, in itself, indicate a relationship between the various aspects and / or configurations discussed.
[0012] Additionally, spatially relative terms, such as "below," "lower," "down," "up," "above," and the like, may be used herein for ease of description to describe the relationship of one element or feature to another as illustrated in the figures. The spatially relative terms are intended to encompass different orientations of the device during use or operation in addition to the orientation shown in the figures. The device may be oriented in other ways (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein may similarly be interpreted accordingly.
[0013] The data collection can be used to fulfill rules or requests received by third party customers based on trigger events detected in one or more vehicles. Data collection for the rules or requests occurs in response to a trigger event being detected. In some embodiments, the data collection includes retrieving data stored in a memory in the vehicle. In some embodiments, the data collection includes capturing newly detected data from one or more sensors in the vehicle. In some embodiments, the data collection includes both retrieving stored data and capturing new data.
[0014] To help improve efficient use of on-board resources, this description includes systems and methods for discarding a rule if the vehicle receiving the rule lacks the ability to properly execute the rule, which is useful for avoiding unnecessary consumption of memory or processing capacity in the vehicle by attempting to collect data for rules that cannot be completed successfully.
[0015] A rule defines the type of data to be collected, the duration of the sensor data to collect, the type of processing of the data to be collected, or other data collection information. In some embodiments, lack of sufficient capacity includes either insufficient processing power, insufficient memory capacity, lack of a particular sensor, or counter instructions by a higher priority user or owner of the vehicle. For example, if the owner of the vehicle refuses to share data with a particular third party customer, the owner can block execution of rules from that third party customer. In some embodiments, the owner is not permitted to block sharing of data related to the safety of the vehicle. Alternatively, in some embodiments, if the processor in the vehicle lacks the ability to perform a particular type of data compression required by the rule, the rule is discarded. Similarly, in some embodiments, if a rule requires collection of data from a sensor that is not present in the vehicle or is not functioning properly in the vehicle, the rule may not be executed properly.
[0016] In some embodiments, if a rule is discarded, a warning is sent to the third party customer. In some embodiments, the warning provides information about why the rule was discarded. In some embodiments, the warning provides information related to the capabilities of the vehicle system. In some embodiments, the warning provides a suggestion on how to adjust the rule to allow execution by the vehicle system. A non-limiting example of a suggestion is highlighting the portion of the rule that caused the rule to be discarded and providing an alternative for that portion that is available within the vehicle system. For example, in some embodiments, if the rule requires optical camera data but the vehicle is only equipped with LiDAR, the warning may highlight the visible data portion of the rule and provide a suggestion on using the LiDAR. This allows the third party customer to decide whether to adjust the rule to allow the rule to be executed on the vehicle system.
[0017] The capabilities of the vehicle system can also be adapted based on the priority level of the third party customer. For example, in some embodiments, the vehicle is prohibited from allowing access to data requested by a third party customer unless the third party customer has a sufficiently high priority level. In some embodiments, the priority level is set based on the type of customer, e.g., government, police, retailer, entertainment, etc. In some embodiments, the priority level is set based on the fees paid by the third party customer. For example, in some embodiments, an additional fee is charged to access data from sensors that provide high demand data, such as visibility data.
[0018] 1 is a schematic diagram of a request retrieval system 100 according to some embodiments. The request retrieval system 100 includes a user interface (UI) 110. The UI 110 is configured to receive a user request for data from a vehicle 140. The request retrieval system 100 further includes a server 120 configured to receive the user request from the UI 110, transmit 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 retrieval system 100 further includes the accessible console 150 configured to communicate data collected from the vehicle 140 to the user.
[0019] The UI 110 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 machine learning model developer. In some embodiments, the user includes an insurance provider. In some embodiments, the user includes a law enforcement agency. In some embodiments, the user includes a market research company. The UI 110 provides options for the user to select which type of vehicle and which type of data is being requested. In some embodiments, the UI 110 can generate a data request using a form associated with a vehicle identification, a data type being requested, a start time, and an end time. In some embodiments, the start time and end time are absolute times, such as Unix time, which is the time since Unix epoch time. In some embodiments, the start time and end time are relative to the time the data request was received by the vehicle. In some embodiments, the start time and end time are relative to a trigger event. In some embodiments, the UI 110 also provides the user with options to select a trigger event and a data collection period for the trigger event. In some embodiments, the UI 110 includes information regarding the type of vehicle for which data is being requested. In some embodiments, the UI 110 includes a vehicle ID that can uniquely identify the vehicle as the target of the request. For example, the vehicle ID includes a universally unique identifier (UUID) format. In some embodiments, the UI 110 includes a data type that allows the user to identify a source of data that the user wants to collect. For example, the data type includes a sensor ID for a sensor from which sensor data is collected and an application ID for an application from which application logs are collected. In some embodiments, the format of the sensor ID and application ID includes a universally unique identifier (UUID) format. In some embodiments, the UI 110 includes a drop-down menu. In some embodiments, the UI 110 includes an editable field for receiving information related to the data request.In some embodiments, the UI 110 provides information about which data option types are available to the user. In some embodiments, the available data option types depend on the user. For example, a law enforcement agency may have more data options to choose from in some embodiments than an insurance provider.
[0020] In some embodiments, the UI 110 includes a graphical user interface (GUI). In some embodiments, the UI 110 includes a mobile device, such as a mobile phone, that can connect to the server 120. In some embodiments, the UI 110 includes a web interface, such as a RESTful API. In some embodiments, the UI 110 includes a computer that can connect to the server 120. In some embodiments, the UI 110 can connect wirelessly to the server 120. In some embodiments, the UI 110 can connect to the server 120 by a wired connection. The UI 110 can also provide updates to the user regarding the status of the data request. In some embodiments, the UI 110 provides a status update regarding the data request in response to further queries by the user. In some embodiments, the UI 110 provides a status update regarding the data request automatically, without user interaction, upon receipt of the update from the server 120. In some embodiments, the status update causes the UI 110 to trigger an alert to the user. In some embodiments, the alert includes an audio or visual alert.
[0021] In some embodiments, the UI 110 includes a means for accepting payment of a fee from a user. In some embodiments, the UI 110 includes a data entry field to allow a user to enter payment card information. In some embodiments, the UI 110 includes a reader for detecting the payment card information, such as a magnetic stripe reader, a bar code reader, a chip reader, or another suitable reader.
[0022] The server 120 comprises a communication unit 130 configured to communicate with the UI 110 and the vehicle 140. The communication unit 130 comprises a receiver 131 configured to receive a data request from the UI 110. In some embodiments, the receiver 131 comprises a wireless receiver. In some embodiments, the receiver 131 is configured to receive the data request via a wired connection. In some embodiments, the receiver 131 is further configured to perform initial processing on the received data request. In some embodiments, the received data request comprises priority level information. In some embodiments, the receiver 131 is configured to assign a priority level to the data request based on an identity of a user submitting the data request or a fee paid by a user submitting the data request. In some embodiments, the receiver 131 is configured to assign a request identification (ID) number to each received data request. In some embodiments, the server 120 is configured to restrict access to certain sensors in the vehicle 140 based on the identity of the user. For example, a third party user may not be able to access sensors related to safety features of the vehicle 140 in some embodiments.
[0023] The communication unit 130 further comprises a storage unit 132 that stores data requests received by the receiver 131. In some embodiments, the storage unit 132 includes random access memory, solid state memory, or other types of memory. In some embodiments, the storage unit 132 is configured to store the data requests along with a status of the data request. In some embodiments, the status of the data request includes pending (before sending the data request to the vehicle 140), sent (after sending the data request to the vehicle 140), and completed (after receiving the requested data from the vehicle 140). In some embodiments, the storage unit 132 is accessible by a user. In some embodiments, an update of information in the storage unit 132 triggers a notification of the user related to the information updated in the storage unit 132. In some embodiments, the storage unit 132 stores the data requests along with timestamp data indicating the time the data request was received. In some embodiments, the storage unit 132 stores the data requests in association with a priority level. In some embodiments, the priority level is determined based on an identification of the user. For example, in some embodiments, law enforcement agencies have a higher priority than insurance providers, who have a higher priority than typical users, such as software developers. In some embodiments, the priority level is determined based on a fee paid by the user. For example, in some embodiments, users can pay a fee to increase the priority level of their request in order to get the data they requested faster. In some embodiments, the priority level of a data request increases as the time difference between the initial storage of the data request and the transmission of the data request to the vehicle increases.
[0024] The communication unit 130 further comprises a transmitter 133. The transmitter 133 is configured to transmit a status of the data request to the UI 110. In some embodiments, the status of the data request is transmitted wirelessly to the UI 110. In some embodiments, the status of the data request is transmitted to the UI 110 via a wired connection. In some embodiments, the transmitter 133 is configured to automatically provide updates to the data request in response to updates in the storage unit 132. In some embodiments, the transmitter 133 is configured to provide updates regarding the data request in response to an update request received from a user. In some embodiments, the transmitter 133 is configured to automatically transmit a request ID upon initially saving the data request to the storage unit 132. In some embodiments, the status of the data request includes a priority level of the data request. In some embodiments, the status of the data request includes an estimated time until the data request is transmitted to the vehicle 140.
[0025] The communication unit 130 further includes a query queue 134 configured to store the data requests in a priority order for delivery to the vehicle 140. In some embodiments, the query queue 134 is integrated into the storage unit 132. In some embodiments, the query queue 134 is separate from the storage unit 132. In some embodiments, the query queue 134 is configured to retrieve the data requests from the storage unit 132 based on the priority level and the time stamp information. In some embodiments, the query queue 134 is configured to order the data requests based on the priority level and by time since initial storage in the storage unit 132 in response to data requests having the same priority level.
[0026] The communication unit 130 further comprises a transmitter 135 for transmitting data requests from the query queue 134 to the vehicle 140. The transmitter 135 is configured to transmit the 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 transmitted to the vehicle 140 wirelessly. In some embodiments, the data requests are transmitted to the vehicle 140 by a wired connection. The data requests transmitted to the vehicle 140 include trigger event information, data duration information regarding how long before or after the trigger event data should be collected, and sensor information indicating the type of sensors of the vehicle 140 for which data is to be collected. In some embodiments, the data requests transmitted to the vehicle 140 include priority level information. In some embodiments, the transmitter 135 is configured to transmit the data requests to the vehicle 140 when the vehicle 140 requests the server 120 to transmit a data request to the vehicle 140. In some embodiments, the transmitter 135 is configured to transmit a data request to the vehicle 140 whenever the communication unit 130 has sufficient connectivity to transmit a data request to the vehicle 140, unless the communication unit 130 has received information indicating that the vehicle 140 is unable to accept a new data request. In some embodiments, the transmitter 135 is configured to transmit a data request to the vehicle 140 periodically, as long as the vehicle 140 is able to receive a new data request and the transmitter 135 has sufficient connectivity to the vehicle 140. In some embodiments, the transmitter 135 is configured to transmit data requests to the vehicle 140 in batches, such as in groups of 5 data requests, 20 data requests, or other numbers of data requests. In some embodiments, the transmitter 135 is configured to request an acknowledgement of receipt of the data request from the vehicle 140. In response to failing to receive an acknowledgement of receipt from the vehicle for a predetermined period of time, the transmitter 135 is configured to retransmit the data request. In some embodiments, the status of the data request stored in memory unit 132 is updated to indicate sending to vehicle 140 in response to communication unit 130 receiving confirmation of receipt of the data request from vehicle 140.
[0027] The communication unit 130 further comprises a receiver 136 that receives notification of an occurrence of a trigger event from the vehicle 140. In some embodiments, the occurrence of the trigger event is the receipt of a data request. In some embodiments, the receiver 136 is configured to receive notification of the trigger event wirelessly. In some embodiments, the receiver 136 is configured to receive notification of the trigger event via a wired connection. In some 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.
[0028] The communication unit 130 further comprises a receiver 137 configured to receive data from the vehicle 140 in response to the data request transmitted by the transmitter 135. In some embodiments, the data is divided by the vehicle 140 into data packets that are units of transmission from the vehicle 140 to the server 120, and the receiver 137 receives the data packets from the vehicle 140. In some embodiments, the receiver 137 is configured to receive data wirelessly. In some embodiments, the receiver 137 is configured to receive data via a wired connection. In some embodiments, the receiver 137 is configured to send a signal to the storage unit 132 to update the status of the data request related to the receipt of the requested data. In some embodiments, data in response to a single data request is received from the vehicle 140 in a single packet. In some embodiments, data in response to a single data request is received from the vehicle 140 in multiple packets. The receiver 137 forwards the received data to the pre-processor 122.
[0029] The server 120 further includes a pre-processor 122 configured to receive data from the receiver 137 and perform pre-processing on the data to generate collected data. In some embodiments, the pre-processing includes reshaping the data from multiple packets to compile data in response to a data request. In some embodiments, the pre-processing includes deserializing the data to compile structured data from a received byte array. In some embodiments, the pre-processing includes decompressing the data if the data was compressed by the vehicle 140 before transmission. In some embodiments, the pre-processing includes error correction with an error correcting code (ECC), such as a Reed-Solomon (RS) code, a Bose-Chaudhuri-Hocquenghem (BCH) code, or a low-density parity check (LDPC) code. In some embodiments, the pre-processing includes smoothing the data by removing outliers to reduce the risk of reporting erroneous data to a user. In some embodiments, the pre-processing includes associating data request ID information, priority level information, or other suitable information with the data received from the receiver 137. In some embodiments, the data is pre-processed so that the information is provided to the user in an easy to understand format and does not rely on expert knowledge or equipment to identify the information.
[0030] The server 120 further includes a data storage 126 configured to store the collected data generated by the data pre-processor 122. In some embodiments, the data storage 126 is integrated with the storage 132. In some embodiments, the data storage 126 is separate from the storage 132. In some embodiments, the data storage 126 includes a solid state drive (SSE), random access memory, or other suitable memory. In some embodiments, the data storage 126 is accessible by a user, for example, using the UI 110 or the accessible console 150. In some embodiments, the data storage 126 is configured to notify a user in response to the availability of data associated with a data request. In some embodiments, the notification includes an alert to the user. In some embodiments, the alert includes an audio or visual alert. In some embodiments, the data storage 126 is configured to cause the UI 110 or the accessible console 150 to automatically display a notification of the availability of the collected data. In some embodiments, the data storage 126 is accessible by a user using the accessible console 150 without the user issuing a data request. In some embodiments, the data in data storage 126 is searchable by a user via an accessible console 150. In some embodiments, the collected data is visualized in the console 150.
[0031] The request retrieval system 100 further includes a vehicle 140. The vehicle 140 includes sensors that detect both the internal conditions of the vehicle 140 and the external environment surrounding the vehicle 140. In some embodiments, the sensors include cameras, light distance and ranging (LiDAR) sensors, radio distance and ranging (RADAR) sensors, sound navigation and ranging (SONAR) sensors, accelerometers, steering position, speedometers, or other suitable sensors. The vehicle 140 can receive data requests via wireless or wired connections.
[0032] In some embodiments, in response to receiving a data request, the vehicle 140 is configured to assign a data request ID to the received data request, and the data request is processed independent of the system or program from which the data request originates. In other embodiments, the communication unit 130 assigns the data request ID instead of the vehicle 140, and the data request ID is included in the data request sent from the communication unit 130 to the vehicle 140. Making the data request independent of the system or program from which the data request originates helps to expand the vehicle 140's ability to receive and process a wide range of data requests from different users and systems. The vehicle 140 includes a processor for processing the data request and determining the type of information for which sensors available in the vehicle 140 can satisfy the data request. The vehicle 140 further includes a memory for storing data from the sensors. In some embodiments, the processor accesses the memory to determine whether the stored data can satisfy the data request. The vehicle 140 can further transmit data deemed to satisfy the data request to the server 120, either wirelessly or via a wired connection. In some embodiments, the processor is configured to attempt to satisfy the received data requests in priority order based on the priority level of the received data request. In some embodiments, the vehicle 140 is configured to prioritize sending data to the server based on the priority level of the received data request.
[0033] In some embodiments, the memory and processor of the vehicle 140 are configured to store and execute software applications in an electronic control unit (ECU) in the vehicle 140. In some embodiments, the data request is generated by the software application stored in the ECU. In some embodiments, the data request is generated in response to a trigger event, such as hard acceleration, hard braking, capturing sensor data including a particular object or particular scene predefined within the software application, a "crash" of the software application, an anomaly detected within the software application, or other suitable detected event. In some embodiments, the vehicle 140 is configured to generate a notification to a maintainer of the software application, e.g., a user, in response to detecting a trigger event associated with the software application. In some embodiments, the notification is communicated directly to the user, e.g., via the UI 110, either wirelessly or via a wired connection. In some embodiments, the notification is communicated to the user via the server 120, wirelessly or via a wired connection. In some embodiments, the notification includes an audio or visual notification. In some embodiments, the notification is configured to cause the UI 110 to automatically display the notification without user interaction.
[0034] The request retrieval system 100 further includes an accessible console 150. The accessible console 150 allows a user to access the collected data stored in the data storage 126. In some embodiments, the accessible console 150 is integrated with the UI 110. In some embodiments, the accessible console 150 is separate from the UI 110. In some embodiments, the accessible console 150 includes a server separate from the server 120. In some embodiments, the accessible console 150 automatically receives the collected data associated with a data request from a user when the collected data is received by the data storage 126. In some embodiments, the accessible console 150 allows a user to search the data storage 126 to determine whether any of the collected data stored in the data storage 126 is useful to the user without the user having to issue a data request.
[0035] Using the request retrieval system 100, a user can retrieve information from one or more vehicles 140 in an easy to understand format without relying on specialized equipment to request or read the received data. The ability to prioritize data requests in the request retrieval system 100 helps ensure that law enforcement or other users can obtain data while also allowing users to pay to obtain data faster. This flexibility can be useful in increasing the usability of the request retrieval system 100 to a wide range of users.
[0036] FIG. 2 illustrates graphical user interfaces (GUIs) 200 and 250 for a request retrieval system according to some embodiments. In some embodiments, the GUI 200 is usable as the UI 110 in the request retrieval system 100 (FIG. 1). In some embodiments, the GUI 200 is usable to generate a data request for receipt by the receiver 131 (FIG. 1). The GUI 200 includes a number of information types 210 that identify the types of information that the GUI 200 can accept from a user. The GUI 200 further includes a number of fields 220 configured to receive information related to the corresponding information types 210 of the GUI 200. The GUI 200 further includes a submit button 230 configured to issue a data request to a server (e.g., server 120, FIG. 1) based on the information in the fields 220. Those skilled in the art will recognize that the names and number of the number of information types 210 are merely exemplary and that different numbers and types of information are within the scope of the present disclosure.
[0037] In some embodiments, the fields 220 include fields for the user to enter a vehicle ID, a data type, a start time, and an end time. In some embodiments, the fields 220 further include fields for the user to enter a priority level of the data request. In some embodiments, the GUI 200 further includes information on how the user can increase the priority level of the data request, such as indicating a fee associated with each of the available priority levels. In some embodiments, the GUI 200 includes a field 220 for allowing the user to enter login information to establish the identity of the user. In some embodiments, the GUI 200 is configured to display the user's priority level after receiving the login information. In some embodiments, the GUI 200 further includes a field 220 for receiving payment information related to a fee for establishing a priority level of the data request.
[0038] The GUI 250 is configured to be displayed to a user after the user selects the submit button 230 on the GUI 200. In some embodiments, the GUI 250 is usable as the GUI 110 in the ODDR system 100 (FIG. 1). The GUI 250 includes information indicating that a data request has been received. The GUI 250 includes a query ID label 260 and a query ID field 270. Information for populating the query ID field 270 is received from a server (e.g., server 120, FIG. 1) following receipt and storage of the data request by the server. In some embodiments, the GUI 250 includes information of a vehicle ID. In some embodiments, the GUI 250 includes information related to a priority level of the data request. In some embodiments, the GUI 250 includes information regarding the status of the data request, such as pending, submitted, completed, etc. In some embodiments, the GUI 250 includes information regarding an estimated time until the data request is issued to the vehicle (e.g., vehicle 140, FIG. 1). In some embodiments, the GUI 250 is automatically displayed in response to receiving the query ID information from the server. In some embodiments, the GUI 250 is displayed in response to a user making a request for an update of an uploaded data request.
[0039] 3 is a schematic diagram of a data structure 300 of a request search command 310 according to some embodiments. In some embodiments, the request search command 310 is sent from the server 120 to the vehicle 140 (FIG. 1). The request search command 310 includes information related to the type of data sought by a data request to the vehicle, e.g., the vehicle 140 (FIG. 1).
[0040] The request retrieval command 310 includes a transfer priority parameter 311 that indicates a priority level of the data request. The request retrieval command 310 further includes a log level parameter 312 that indicates the type of data, if any, to be retrieved from other applications in the vehicle. For example, in some embodiments, the request retrieval command 310 retrieves data from an object recognition application. The log level parameter 312 determines the type of data to retrieve from other applications, such as an error level or a critical level. In some embodiments, the log level parameter 312 is omitted from the request retrieval command 310 or the log level parameter 312 is left in a null state. The request retrieval command 310 further includes a collection time range parameter 313 that indicates a period of time before and / or after a trigger event for data collection. The time range corresponds to a start time and an end time entered by the user into the GUI 200 (FIG. 2). The request retrieval command 310 further includes a uniform resource locator (URL) endpoint parameter 314 that indicates a destination for data collected in response to the data request. The request search command 310 further includes a frequency parameter 315 indicating how often, if any, data is sampled from the time range 313. For example, if the event time is t=100sec, the time range includes start time=-1sec, end time=2sec, and the frequency is 10Hz (100msec period), then data at t=99.0sec, 99.1sec, 99.2sec,..., 101.9sec, 102.0sec is collected in the request search command. The request search command 310 further includes a log ID parameter 316 indicating the type of sensor and / or application that can be used to collect the data requested by the data request. In some embodiments, a unique ID (such as a universally unique identifier (UUID)) is pre-assigned to every sensor and application, and the unique ID from which the user wants to collect data is specified in the log ID parameter 316. The request search command 310 further includes a requester ID parameter 317 indicating the identity of the user making the data request.The request search command 310 further includes an event ID parameter 318 that indicates a trigger event associated with the data request. The request search command 310 further includes a budget ID parameter 319 that indicates how much of the resources of the vehicle, e.g., vehicle 140 (FIG. 1), should be allocated to fulfill the data request. Those skilled in the art will appreciate that additional parameters are possible in the request search command 310. For example, in some embodiments, the request search command 310 includes a vehicle location parameter that indicates a geographic area in which the trigger event may occur. Those skilled in the art will also appreciate that the request search command 310 does not necessarily include all of the parameters of FIG. 3. For example, in some embodiments, the budget ID parameter 319 is omitted.
[0041] 4 is a block diagram of a request search system 400, according to some embodiments. In some embodiments, the request search system 400 is part of the request search system 100 (FIG. 1). In some embodiments, the request search system 400 is usable together with the request search system 100 (FIG. 1). In some embodiments, the request search system 400 is provided separately from the request search system 100 (FIG. 1).
[0042] The request retrieval system 400 includes a detection vehicle system 410 configured to obtain information about the vehicle or its surroundings. The detection vehicle system 410 obtains information about the vehicle and its surroundings and transmits the information to a server. The request retrieval system 400 further includes a server 440 configured to receive the information, encode the information, and distribute the information to a user terminal 460.
[0043] The detection vehicle system 410 includes an electronic control unit (ECU) 420 configured to receive data from the sensors 414, a global positioning system (GPS) 416, and a map 416. The ECU 420 includes a situation detector 422, a data identifier 432, a log collector 434, and a log emitter 436. The situation detector 422 includes a vehicle control monitor 424, an object detector 426, and a scene detector 428.
[0044] In some embodiments, the ECU 420 further includes a localization unit configured to receive data from the GPS 416 and the map 418 and determine the vehicle's position relative to detected and / or known objects and / or road positions, as well as the vehicle's attitude and state. Attitude is the orientation of the vehicle relative to a reference point, such as a road. In some embodiments, the vehicle's position also refers to the vehicle's position vector. The vehicle's attitude and state refers to the vehicle's speed and heading. In some embodiments, the vehicle's attitude and state also refers to the vehicle's velocity vector, acceleration vector, and jerk vector. In some embodiments, the position vector, velocity vector, acceleration vector, and jerk vector include angle vectors. In some embodiments, the vehicle's state also refers to whether the vehicle's engine or motor is running.
[0045] The sensor 414 is configured to obtain information such as images of the environment around the vehicle. In some embodiments, the sensor 414 includes a visible light camera, an IR camera. In some embodiments, the sensor 414 is replaced with or further includes a light detection and ranging (LiDAR) sensor, a radio detection and ranging (RADAR) sensor, a sound navigation and ranging (SONAR) sensor, or other suitable sensor. In some embodiments, the sensor 414 includes an additional camera located elsewhere on the vehicle. For example, in some embodiments, an additional camera is located on the side of the vehicle to detect a larger portion of the environment on the left and right of the vehicle. Because vehicle occupants can see out of the side windows of the vehicle, using an additional camera to detect a larger portion of the environment around the vehicle is useful for increasing the accuracy of detecting objects or scenes around the vehicle. For example, in some embodiments, an additional camera is located on the rear of the vehicle to detect a larger portion of the environment behind the vehicle. This information is useful for obtaining information about objects. In some embodiments, the data from the sensor 414 includes a timestamp or other metadata to aid in synchronizing the data from the sensor 414 with data from other components.
[0046] The GPS 416 is configured to determine the position of the vehicle. Knowing the position of the vehicle is useful for associating objects or scenes with determined positions on the map 418.
[0047] Map 418 includes information related to roads and known objects along the roads. In some embodiments, map 418 can be used in conjunction with GPS 416 to determine the vehicle's location and orientation. In some embodiments, map 418 is received from an external device, such as server 440. In some embodiments, map 418 is periodically updated based on information from sensors 414 and / or GPS 416. In some embodiments, map 418 is periodically updated based on information received from an external device. In some embodiments, map 418 is generated from sensor data by a simultaneous localization and mapping (SLAM) algorithm. Including map 418 is useful for determining if an object is known. Including map 418 with known objects is useful for improving the accuracy of new object detection.
[0048] The condition detector 422 is configured to generate information regarding the performance of the vehicle and systems within the vehicle. The condition detector 422 may collect information from components within the vehicle, such as the sensors 414, the braking system, the acceleration system, and other suitable components. Using this information, the condition detector 422 may determine the performance of the vehicle. In some embodiments, the condition detector 422 is further configured to monitor the performance of software and networking operations within the vehicle. For example, in some embodiments, the condition detector 422 is configured to receive information related to a "crash" of software or applications within the vehicle. In some embodiments, the condition detector 422 is configured to collect information related to the storage capacity of storage devices within the vehicle. In some embodiments, the condition detector 422 is configured to receive information related to the processing power of a processor within the vehicle.
[0049] The vehicle control monitor 424 is configured to receive sensor data and control logs related to the current operation of the vehicle. In some embodiments, the sensor data includes information regarding vehicle speed, acceleration, jerk, braking, steering, pitching, rolling, yaw, flashing hazard lights, honking the 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 criteria for fulfilling a request, e.g., whether a trigger event has been detected.
[0050] The object detector 426 is configured to receive sensor data from the sensor 414 and determine whether any anomalous objects are located within the road. In some embodiments, the object detector 426 is further configured to determine whether any objects are present along or adjacent to the road. In some embodiments, the sensor data from the sensor 414 includes images, and the object detector 426 is configured to perform image recognition on the received images, e.g., using a trained neural network, to identify anomalous objects. In some embodiments, the object detector 426 is configured to compare any identified objects with information from the GPS 416 and the map 418 to help determine the type of object identified. In some embodiments, the object detector 426 is configured to identify objects, e.g., tires, auto parts, animals, potholes, traffic control boards, emergency vehicles, vehicles with hazard lights activated, or other suitable objects, as objects.
[0051] The scene detector 428 is configured to receive sensor data from the sensor 414 and determine whether any scenes that meet the fulfillment conditions of the request are located in the environment around the vehicle. In some embodiments, the scene detector 428 is configured to determine that a vehicle accident has occurred in response to detecting two or more vehicles in contact with each other or a vehicle surrounded by multiple falling objects. In some embodiments, the scene detector 428 is configured to determine that construction is occurring based on detecting multiple construction vehicles in close proximity. In some embodiments, the scene detector 428 is configured to determine that a vehicle is parked on the shoulder based on determining that the vehicle is located adjacent to a road and is not moving or is moving significantly slower than other vehicles. In some embodiments, the scene detector 428 is configured to use image recognition, such as through a trained neural network, to determine the content of the scene around the vehicle.
[0052] In some embodiments, each of the object detector 426 and the scene detector 428 is active during the entire operation of the vehicle, e.g., when the vehicle engine or motor is running. In some embodiments, at least one of the object detector 426 or the scene detector 428 is activated in response to the vehicle control monitor 424 determining that a particular behavior, e.g., a trigger event, has been detected.
[0053] In some embodiments, the ECU 420 further includes a capacity planner. In some embodiments, the capacity planner is configured to monitor whether the detection vehicle system 410 is able to satisfy the received rules. In some embodiments, the ECU 420 further includes a rule updater. In some embodiments, the rule updater is configured to update the rules in response to a sensor that prevents the satisfaction of a rule being disabled. In some embodiments, the rule updater is configured to generate recommendations to a user of the rules based on available capabilities in the detection vehicle system 410.
[0054] The data specifier 432 is configured to receive a determination that fulfillment of the request has been made or a trigger event has been detected. The data specifier 432 is configured to analyze the received information to determine which sensor data from the sensors 414 should be collected based on the received data. For example, in some embodiments where an abnormal steering behavior by the driver is detected, the data specifier 432 is configured to determine that image data from the front camera of the sensor 414 should be acquired. Further, the data specifier 432 is configured to determine a period of time for which data from the determined sensors should be collected based on a time of the detected condition. In some embodiments, the data specifier 432 is configured to determine the sensor 414 for collecting data based on instructions in the request received from the user.
[0055] In some embodiments, the data specifier 432 is configured to determine a range of the received sensor data that is relevant to the detected situation. In some embodiments, the range of the received sensor data is identified based on object recognition performed on the sensor data, for example, by the object detector 426 or the scene detector 428. In some embodiments, the data specifier 432 is configured to crop the received image or remove irrelevant data from the sensor data if the sensor data is not an image to reduce the amount of information in the abnormal situation log. In some embodiments, the data specifier 432 is configured to remove personal information, such as license plates, human faces, etc., from the sensor data.
[0056] The log collector 434 is configured to receive data from the data identifier 432. In some embodiments, the log collector 434 is configured to receive data directly from the sensor 414, GPS 416, or condition detector 422 based on information provided by the data identifier 432. The log collector 434 is also configured to determine what information is useful for identifying the type and location of the object, such as location information from the GPS 416 or map 418, image information from the sensor 414, crop or reduction information from the data identifier 432, timestamp information related to the time the object or scene was detected, or other suitable information.
[0057] The log collector 434 generates log data based on the received correlation data, such as the cropped image and location data. The log collector 434 also associates timestamp information with the log data to assist in synchronization of collected data and queue priority at the server 440. In some embodiments, the log collector 434 generates the log data to further include world coordinates associated with the cropped image. In some embodiments, the log collector 434 generates the log data to further include a map location associated with the cropped image. In some embodiments, the log collector 434 includes additional information to assist in improving accuracy in determining an object or scene.
[0058] Although the above description relates to generating log data based on images from the sensor 414, it will be understood by those skilled in the art that the log collector 434 is not limited to only generating log data based on images. In some embodiments, the log collector 434 is configured to generate log data based on information from other sensors mounted on the vehicle, such as a RADAR, LiDAR, or other suitable sensor. In some embodiments where the occupant is wearing smart glasses, the log collector 434 is further configured to generate log data based on information received from the smart glasses.
[0059] The log transmitter 436 receives the log data from the log collector 434 and transmits the log data to the server 440. In some embodiments, the log transmitter 436 is configured to transmit the log data wirelessly. In some embodiments, the log transmitter 436 is configured to transmit the log data via a wired connection. In some embodiments, the log transmitter 436 is configured to transmit the log data directly to the user terminal 460. In some embodiments, the log transmitter 436 is configured to transmit the log data to a portable device accessible to the user, which then transmits the log data to the server 440. In some embodiments, the log transmitter 436 is configured to transmit the log data to the portable device using Bluetooth or other suitable wireless technology. In some embodiments, the ECU 420 is configured to determine whether a data transfer rate from the portable device to the server 440 is higher than a transfer rate from the log transmitter 436 to the server 440. In response to determining that the data transfer rate from the portable device to the server 440 is higher, the log transmitter 436 is configured to transmit the log data to be transmitted to the server 440 to the portable device. In response to determining that the data transfer rate from the mobile device to the server 440 is not higher, the log transmitter 436 is configured to transmit the log data directly from the vehicle system 410 to the server 440 without transferring the log data to the mobile device.
[0060] In some embodiments, the detection vehicle system 410 further includes a memory configured to store sensor data from a sensor mounted on the vehicle. In some embodiments, the memory is further configured to store information related to previously detected objects or scenes. In some embodiments, in response to detecting an object or scene matching the previous object or scene, the data identifier 432 is configured to provide a result based on the matching object or scene. In some embodiments, the detection vehicle system 410 is further configured to determine whether the detecting vehicle has received information related to an object or scene from the server 440 that matches the determined object or scene from the situation detector 422. In some embodiments, in response to determining that the detecting vehicle has already received information related to the determined object or scene, the detection vehicle system 410 is configured to stop sending log data to the server 440. Avoiding the communication of redundant information to the server 440 is useful for reducing data transmitted to the server 440 and is useful for minimizing power consumption by the detection vehicle system 410. In some embodiments, the storage of previous requests is referred to as caching. Caching is understood by those skilled in the art as the use of hardware or software to store data so that future requests for the data can be processed faster.
[0061] The server 440 includes a log data receiver 442 configured to receive log data from the log emitter 436. In some embodiments, the log data receiver 442 is configured to receive log data from a mobile device. The server 440 further includes a log encoder 444 configured to encode the log data. The server 440 further includes a log forwarder 446 that transmits the encoded log data to the user terminal 160. The server 440 further includes a request / rule receiver 448 configured to receive requests or rules from the user terminal 460.
[0062] The log data receiver 442 is configured to receive the log data from the log sender 436. In some embodiments, the log data receiver 442 is configured to receive the log data from a mobile device. In some embodiments, the log data receiver 442 is configured to receive the log data wirelessly. In some embodiments, the log data receiver 442 is configured to receive the log data via a wired connection. In some embodiments, the log data receiver 442 is configured to attach a timestamp to the log data of the time the log data was received.
[0063] The log encoder 444 is configured to encode the received log data according to a predefined encoding protocol. Encoding the log data according to a predefined encoding protocol is useful for ensuring that the user terminal 460 can reliably decode the log data for use by the user terminal 460. In some embodiments, the log encoder 444 is configured to perform compression, image encoding, thumbnail image creation, or other suitable encoding protocols on the log data. In some embodiments, the log encoder 444 is configured to perform encryption of the log data. In some embodiments, the log encoder 444 is further configured to perform super-resolution to make the data more visible to the user. It will be understood by those skilled in the art that super-resolution is the process of receiving a high-resolution image from a low-resolution image. Improving the resolution of the log data is useful for reducing false positives or false negatives.
[0064] In some embodiments, the server 440 further includes a database for storing the received log data. In some embodiments, the log data is stored in the database before and / or after encoding by the log encoder 444. In some embodiments, the log data is stored in the database in a priority queue. In some embodiments, the priority of the priority queue is determined based on the time an object or scene, e.g., a trigger event, was detected, the time the log data was received by the log receiver 442, the type of object or scene, the identity of the driver of the detecting vehicle, or other suitable priority criteria.
[0065] The log forwarder 446 receives the encoded log data from the log encoder 444. The log forwarder 446 transmits the encoded log data to the user terminal 460. In some embodiments, the log forwarder 446 is configured to transmit the encoded log data to a portable device accessible to a user. In some embodiments, the log forwarder 446 is configured to transmit the encoded log data wirelessly. In some embodiments, the log forwarder 446 is configured to transmit the encoded log data over a wired connection. In some embodiments, the log forwarder 446 is configured to transmit encoding protocol information along with the encoded log data. Transmitting the encoding protocol information about the encoded log data assists the portable device or user terminal 460 in accurately decoding the encoded log data for use by the user terminal 460.
[0066] The request / rules receiver 448 is configured to receive a request for new or updated rules or data from a user. In some embodiments, the request / rules receiver 448 is configured to receive new or updated rules or requests wirelessly. In some embodiments, the request / rules receiver 448 is configured to receive new or updated rules or requests via a wired connection. In some embodiments, the request / rules receiver 448 is from the UI 110 (FIG. 1).
[0067] In some embodiments, server 440 is configured to receive formation positions from multiple vehicles. In some embodiments, server 440 is configured to receive navigation plans from multiple vehicles. In some embodiments, log forwarder 446 is configured to limit transmission of encoded log data to only those vehicles that are within a predetermined distance of a detected trigger event.
[0068] In some embodiments, server 440 is configured to only transmit log data related to newly detected trigger events, i.e., if a trigger event has already been reported by server 440, it is not re-reported. Limiting repeated reporting of trigger events is useful for reducing redundant data received by user terminals to server 440.
[0069] User terminal 460 is a user terminal accessible to a user associated with a fulfilled request. In some embodiments, user terminal 460 includes a GUI. In some embodiments, user terminal 460 is configured to automatically generate an alert in response to data received from server 440. In some embodiments, the alert includes an audio or visual alert.
[0070] It will be understood by those skilled in the art that variations to the request retrieval system 400 are within the scope of this disclosure. For example, in some embodiments, the detection vehicle system 410 can transmit the log data directly to the user terminal 460 over a network, such as a wireless network. In some embodiments, a portable device of an occupant of the detection vehicle can transmit the log data directly to the user terminal 460, such as over a wireless network.
[0071] By automatically identifying and delivering information related to the fulfillment of rules or requirements detected in the vehicle or in the environment around the vehicle, a user can improve the performance of applications or software executed using the vehicle's processing system, such as ECU 420. In some embodiments, a user can objectify information related to an event, such as an accident.
[0072] 5 is a flowchart of a method 500 of implementing a request retrieval system according to some embodiments. In some embodiments, method 500 is implemented using request retrieval system 100 (FIG. 1) or request retrieval system 400 (FIG. 4). In some embodiments, method 700 is implemented using request retrieval system 700 (FIG. 7). In some embodiments, method 500 is implemented using a system other than request retrieval system 100 (FIG. 1), request retrieval system 400 (FIG. 4), or request retrieval system 700 (FIG. 7). The following description relates to processing of rules or requests received by a vehicle.
[0073] In operation 505, sensor data is collected. The sensor data is collected by one or more sensors connectable to the vehicle. In some embodiments, the sensor data includes control parameters of the vehicle. In some embodiments, the sensor data includes information about the environment surrounding the vehicle. In some embodiments, the sensor data includes data from sensors 414 (FIG. 4) and / or other sensors in the vehicle.
[0074] In operation 510, the sensor data is processed. The sensor data is processed to identify one or more trigger events associated with one or more rules stored in the vehicle's memory. In some embodiments, the sensor data is processed by the situation detector 422 (FIG. 4). In some embodiments, the sensor data is processed based on pre-processing instructions associated with one or more rules stored in the vehicle's memory. In some embodiments, the sensor data is processed to remove privacy related sensor data. In some embodiments, the sensor data is processed to compress the sensor data for storage in the vehicle's memory.
[0075] In operation 515, a determination is made as to whether the vehicle system is able to fully satisfy the rule. The determination is made based on the presence of one or more sensors in the vehicle, the operational state of one or more sensors in the vehicle, processing capacity, memory capacity, processing abilities, access to one or more sensors in the vehicle, or other suitable criteria. In some embodiments, operation 515 determines that the vehicle system is unable to satisfy the rule in response to a rule that requests data from a sensor that is not present in the vehicle. In some embodiments, operation 515 determines that the vehicle system is unable to satisfy the rule in response to a rule that requests data from a sensor that is present in the vehicle but is not functioning properly. In some embodiments, operation 515 determines that the vehicle system is unable to satisfy the rule in response to a rule that requests data processing that exceeds the processing capacity of the vehicle system. In some embodiments, operation 515 determines that the vehicle system is unable to satisfy the rule in response to a rule that requests storage of data that exceeds the capacity of the vehicle system. In some embodiments, operation 515 determines that the vehicle system is unable to satisfy the rule in response to a rule that requests the vehicle system to perform processing of data collected beyond the capabilities of the vehicle system, e.g., encoding of the data using an encoding protocol not implemented in the vehicle system. In some embodiments, operation 515 determines that the vehicle system is unable to satisfy the rule in response to a rule that requests data from a sensor to which a user associated with the rule is not authorized to access.
[0076] The determination reviews the data collection requirements associated with the rule and determines whether the vehicle system (e.g., vehicle detection system 410, FIG. 4) is able to satisfy all aspects of the data collection requirements. If the vehicle system is unable to satisfy any one component of the data collection requirements for the rule, operation 515 determines that the vehicle system is unable to satisfy the rule. For example, in some embodiments, the rule calls for data from an optical camera for a duration of 15 seconds and for the data to be encoded using a first encoding protocol. If the optical camera is present in the vehicle and functioning properly and the vehicle's memory capacity is able to store 15 seconds of data, but the processor is unable to execute the first encoding protocol, it is determined that the vehicle system is unable to satisfy the rule.
[0077] In some embodiments, the determination of whether the vehicle system can satisfy the rule is based on whether the vehicle system can detect the criteria of a trigger event associated with the rule. If the vehicle system cannot detect whether a trigger event associated with the rule has occurred, the vehicle system cannot successfully initiate the rule and therefore does not satisfy the rule. For example, in some embodiments, the trigger event includes a sudden change in acceleration, but the vehicle does not include an accelerometer, gyroscope, or other suitable acceleration detection sensor. In such a situation, the vehicle system cannot reliably determine the sudden change in acceleration, and the vehicle system cannot satisfy the rule.
[0078] In some embodiments, the determination of whether the vehicle system can satisfy the rule is based on an identity of a user associated with the rule. In some embodiments, data from one or more sensors in the vehicle is restricted to prohibit certain users or certain user types from accessing the one or more sensors. In some embodiments, the restrictions are imposed by the owner of the vehicle. For example, in some embodiments, the owner of the vehicle can decide whether to share information with one or more third parties. If the user who created the rule is one of the third parties with whom the owner has decided not to share information, operation 515 determines that the vehicle system cannot satisfy the rule. In some embodiments, the restrictions are imposed by the manufacturer. For example, in some embodiments, access to sensors or data related to the safety of the vehicle is restricted by the manufacturer.
[0079] In some embodiments, access to one or more sensors in the vehicle is permitted based on a user-payable fee associated with the rule. In some embodiments, a user may pay a fee to access a particular sensor in the vehicle. In some embodiments, the fee is paid at the time of creation of the rule, in response to receipt of data required by the rule, or in other appropriate circumstances. In some embodiments, a user may pay a fee for use of a certain amount of memory or processing capacity of the vehicle system. In response to a user failing to pay a fee to access sensors, memory resources, processing resources, or other aspects of data collection associated with the rule, operation 515 determines that the vehicle cannot satisfy the rule.
[0080] In some embodiments, a vehicle owner or a vehicle manufacturer may enable limited access to one or more sensors in the vehicle or to other data collection capabilities of the vehicle. In some embodiments, the limited access includes a one-time authorization from the owner or manufacturer. In some embodiments, the limited access is granted in response to authorization by the owner by interacting with an interface of the vehicle, such as a GUI in the vehicle. In some embodiments, the owner authorization is provided by interacting with a mobile device that communicates with the vehicle. In some embodiments, a request for limited access is automatically displayed on an interface of the vehicle or mobile device in response to detection of a trigger event associated with the rule. In some embodiments, the limited access is granted by the manufacturer in response to an appropriate request from police, government officials, insurance companies, or other appropriate users.
[0081] Determining whether a vehicle system can satisfy a rule is useful for improving efficiency in the use of the vehicle system. Vehicle systems have a finite amount of resources, and therefore partial execution of a rule that the vehicle system cannot fully satisfy consumes the resources of the vehicle system without also being able to provide the requested data. As a result, there is an increased risk that other rules will not be processed, which limits the value derived from the ability to collect requested data from the vehicle system.
[0082] In response to determining that the vehicle system is unable to satisfy the rule, the method 500 proceeds to operation 517. In response to determining that the vehicle is able to satisfy the rule, the method 500 proceeds to operation 520.
[0083] In operation 517, an alert is generated indicating the vehicle system is unable to satisfy the rule. In some embodiments, the alert includes an audio or visual alert. In some embodiments, the vehicle system 410 is configured to issue an alert to the user, for example, using the accessible console 150 (FIG. 1), the UI 110 (FIG. 1), or other suitable device. In some embodiments, the alert includes instructions to cause a device receiving the alert to automatically display the alert. In some embodiments, the alert includes information indicating why the vehicle system is unable to satisfy the rule. For example, in some embodiments, a sensor is not functioning properly, the alert indicates that a sensor required by the rule is not functioning properly. In some embodiments, the alert includes information indicating potential alternatives for data collection by the rule supported by the vehicle. For example, in some embodiments, the alert includes information indicating alternative encoding options that a processor of the vehicle system may execute. In some embodiments, the alert includes information indicating a fee request to the user to enable the vehicle system to satisfy the rule. For example, in some embodiments, access to a sensor required by the rule is limited based on payment of a fee, and the alert indicates the fee required for access to the sensor. In some embodiments, the alert is transmitted wirelessly. In some embodiments, the alert is transmitted over a wired connection. Those skilled in the art will recognize that additional variations on the warnings are within the scope of this description and that the above examples are merely illustrative.
[0084] Generating an alert is useful for allowing a user to decide whether to adjust data collection requests for a rule based on the type of information the user can obtain from the vehicle system. Alerts are useful for avoiding a situation where a user is unaware that a rule that was created is not being executed by the vehicle system.
[0085] In some embodiments, operation 517 is omitted if the user is not to be alerted that the vehicle system is unable to satisfy the rule. In such embodiments, method 500 proceeds from operation 515 to operation 519 in response to a determination that the vehicle system is unable to satisfy the rule.
[0086] In operation 519, the rule is discarded. The rule is discarded by removing the rule from the vehicle system's memory. In some embodiments, the rule is erased from the vehicle system's memory. In some embodiments, the vehicle system's memory allows for the overwriting of rules. Discarding rules is useful for increasing memory capacity within the vehicle system for receiving and implementing additional rules that the vehicle system can satisfy.
[0087] In operation 520, a determination is made as to what sensor information should be collected based on the rules. The rules stored in the vehicle's memory include information regarding the type of sensor data and the time period of sensor data to be collected. In some embodiments, the collected data is cropped or processed to reduce or remove unnecessary data.
[0088] In operation 525, the collected data is stored. In some embodiments, the collected data is stored in memory. In some embodiments, the collected data is stored in association with timestamp information related to when the data was collected or where a trigger event occurred. In some embodiments, the collected data is stored using log collector 434 (FIG. 4).
[0089] In operation 530, the stored data is transmitted to server 440. In some embodiments, the stored data is transmitted wirelessly. In some embodiments, the stored data is transmitted over a wired connection. In some embodiments, the stored data is transmitted using log transmitter 436 (FIG. 4).
[0090] In operation 535, the transmitted data is received by server 440. In some embodiments, the data is received by log data receiver 442 (FIG. 4). In some embodiments, the received data is stored in memory of server 440. In some embodiments, the received data is stored in a prioritized queue of server 440.
[0091] In operation 540, the received data is encoded. In some embodiments, the received data is encoded according to a predefined encoding protocol. In some embodiments, the received data is encoded according to criteria determined by a rule associated with the received data. In some embodiments, the received data is encoded based on the type of data received. In some embodiments, the data is encoded according to a priority of the data in a prioritized queue. In some embodiments, the encoded data is stored in a memory of server 440. In some embodiments, the encoded data is stored in a memory in a prioritized queue of server 440. In some embodiments, operation 540 is omitted and the received data is not encoded.
[0092] In operation 545, the encoded data is transmitted to a user terminal 460. In some embodiments, the encoded data is transmitted wirelessly. In some embodiments, the encoded data is transmitted over a wired connection. In some embodiments, the encoded data is transmitted according to the priority of the encoded data in a prioritized queue. In some embodiments, the encoded data is transmitted by a log forwarder 446 (FIG. 4).
[0093] In operation 550, the encoded data is received. In some embodiments, the encoded data is received by a user terminal 460 (FIG. 4). In some embodiments, the received data is stored in a memory of the user terminal 460 (FIG. 4) prior to decoding. In some embodiments, the received data is stored in a prioritized queue of the user terminal 460 (FIG. 4).
[0094] In operation 555, the data is decoded. In some embodiments, the data is decoded according to a predetermined decoding protocol. In some embodiments, the data is decoded based on encoding protocol information received with the data from server 440. In some embodiments, the data is decoded according to the type of data received. In some embodiments, the data is decoded based on a priority within a prioritized queue. In some embodiments, the decoded data is stored in a memory of user terminal 460 (FIG. 4). In some embodiments, the decoded data is stored in a memory of user terminal 460 (FIG. 4) in a prioritized queue.
[0095] In operation 560, the decoded data is visualized. Visualizing the decoded data provides a visualized representation of the data. In some embodiments, the visualized representation includes an image of the data from the vehicle. In some embodiments, the visualized representation includes an icon representing the data from the vehicle. In some embodiments, the visualized representation includes a table of data. In some embodiments, the visualized representation includes text, such as JSON text. In some embodiments, the visualized representation includes a location of the detected trigger event on a map. In some embodiments, the decoded data is visualized using a user terminal 460 (FIG. 4).
[0096] In operation 465, a user is notified of the visualized data. In some embodiments, the user is notified using a UI (e.g., UI 110, FIG. 1 ). In some embodiments, the user is notified using a mobile device accessible by the occupant. In some embodiments, the notification includes an audio or visual alert. In some embodiments, the notification is configured to automatically generate an alert on a mobile device accessible by the user.
[0097] It will be understood by those skilled in the art that modifications to method 500 are within the scope of this description. In some embodiments, at least one additional operation is included in method 500. For example, in some embodiments, method 500 further includes receiving confirmation of the trigger event from an occupant of the vehicle. In some embodiments, at least one operation of method 500 is excluded. For example, in some embodiments, operation 540 is excluded and data is provided to user terminal 460 without encoding the data. In some embodiments, the order of operations of method 500 is adjusted. For example, in some embodiments, operation 525 is performed before a determination as to whether a trigger event is detected to facilitate storage of sensor data. It will be understood by those skilled in the art that other modifications to method 500 are within the scope of this description.
[0098] FIG. 6A is a flowchart of a method 600A of collecting data using an in-vehicle system, according to some embodiments. In some embodiments, the method 600A is implemented by one or more operations of the method 500 (FIG. 5). In some embodiments, the method 600A is implemented by the situation detector 422 (FIG. 4). In some embodiments, the method 600A is implemented using the request retrieval system 100 (FIG. 1) or the request retrieval system 400 (FIG. 4). In some embodiments, the method 600A is implemented using a system other than the request retrieval system 100 (FIG. 1) or the request retrieval system 400 (FIG. 4). The method 600A can be used to determine whether a vehicle system can satisfy a received rule.
[0099] In operation 605, onboard capabilities of the vehicle system are determined. Determining onboard capabilities includes determining sensors present in the vehicle, memory capacity of the vehicle system, processing capacity of the vehicle system, processing capacity of the vehicle system, operational status of sensors in the vehicle system, or other suitable determinations. In some embodiments, the capacity and capabilities of components of the vehicle system, or the presence of sensors in the vehicle, are determined based on data stored in a memory or database in the vehicle. In some embodiments, determining the operational status of sensors in the vehicle is performed by a query sent to each of the sensors present in the vehicle. In some embodiments, operation 605 is performed periodically, e.g., once a day, once an hour, or at other suitable periodic intervals. In some embodiments, operation 605 is performed each time the vehicle is started, e.g., upon start-up of the vehicle's engine or motor. In some embodiments, operation 605 is performed in response to receiving a new rule. In some embodiments, operation 605 is performed in response to failure to satisfy a rule after detection of a trigger event associated with the rule.
[0100] In operation 610, a rule is received. The rule includes a data collection request and a trigger event. In some embodiments, the rule includes an identity of a user who created the rule. In some embodiments, the rule includes a requested encoding protocol. In some embodiments, the rule includes information related to a fee paid by a user. In some embodiments, the rule includes information related to a permission level of a user who created the rule. In some embodiments, the rule is received wirelessly. In some embodiments, the rule is received via a wired connection.
[0101] In operation 615, a determination is made as to whether the vehicle system can satisfy the rule. The determination is made based on the received rule's data collection request from operation 610 and the trigger event. In some embodiments, the determination is made based on the identity of the user who created the rule, the permission level of the user who created the rule, the fee paid by the user who created the rule, or other suitable criteria. In some embodiments, operation 615 is similar to operation 515 (FIG. 5), and a detailed description of operation 615 is omitted for brevity.
[0102] Determining whether a vehicle system can satisfy a rule is useful for improving efficiency in the use of the vehicle system. A vehicle system has a finite amount of resources, and therefore executing a portion of a rule that the vehicle system cannot fully satisfy consumes the vehicle system's resources without the ability to provide the requested data. As a result, there is an increased risk that other rules will not be processed, which limits the value derived from the ability to collect requested data from the vehicle system.
[0103] In response to determining that the vehicle system is unable to satisfy the rule, the method 600A proceeds to operation 635. In response to determining that the vehicle is able to satisfy the rule, the method 600A proceeds to operation 620.
[0104] In operation 620, one or more trigger events are detected. The trigger events are detected based on a comparison of data collected by sensors attached to the vehicle with information stored about rules in the vehicle's memory. That is, the rules include information indicating the conditions under which data should be collected, i.e., the trigger events. In some embodiments, the data is collected by sensors 414 (FIG. 4).
[0105] In operation 625, data is collected based on the data collection request for the rule associated with the detected trigger event from operation 620. In some embodiments, data collection is performed based on the priority level of the rule. A higher priority rule is attempted to be activated for data collection before a lower priority rule is attempted to be activated. In some embodiments, operation 625 activates multiple rules. In some embodiments, operation 625 activates a single rule. The collected data is stored at least temporarily in an on-board memory. In some embodiments, the collected data is processed, such as encoded, has privacy information removed, or other suitable processing, before being stored in the on-board memory.
[0106] In operation 630, the collected data is transmitted to a server (e.g., server 440, FIG. 4) or a user terminal (e.g., user terminal 460, FIG. 4). In some embodiments, the stored data is transmitted wirelessly. In some embodiments, the stored data is transmitted over a wired connection. In some embodiments, the stored data is transmitted using log transmitter 436 (FIG. 4).
[0107] In operation 635, a warning is generated indicating the vehicle system is unable to satisfy the rule. In some embodiments, the warning includes an audio or visual warning. In some embodiments, the vehicle system 410 is configured to send the warning to a user, for example, using an accessible console 150 (FIG. 1), a UI 110 (FIG. 1), or other suitable device. In some embodiments, operation 635 is similar to operation 517 (FIG. 5), and a detailed description of operation 635 is omitted for brevity.
[0108] Generating an alert is useful for allowing a user to decide whether to adjust data collection requests for a rule based on the type of information the user can obtain from the vehicle system. Alerts are useful for avoiding a situation where a user is unaware that a rule that was created is not being executed by the vehicle system.
[0109] In some embodiments, operation 635 is omitted if the user is not to be alerted that the vehicle system is unable to satisfy the rule. In such embodiments, method 600A proceeds from operation 615 to operation 640 in response to determining that the vehicle system is unable to satisfy the rule.
[0110] In operation 640, the rule is discarded from the in-vehicle system. The rule is discarded by removing the rule from the vehicle system's memory. In some embodiments, the rule is erased from the vehicle system's memory. In some embodiments, the vehicle system's memory allows for the overwriting of rules. Discarding rules is useful for increasing memory capacity within the vehicle system to receive and implement additional rules that the vehicle system can satisfy.
[0111] It will be understood by those skilled in the art that modifications to method 600A are within the scope of this description. In some embodiments, at least one additional operation is included in method 600A. For example, in some embodiments, method 600A further includes sending a notification to a user terminal (e.g., user terminal 460, FIG. 4) that a trigger event has been detected. In some embodiments, at least one operation of method 600A is excluded. For example, in some embodiments, operation 635 is excluded in situations where no alert is generated. In some embodiments, the order of operations of method 600A is adjusted. For example, in some embodiments, operation 610 is performed before operation 605. It will be understood by those skilled in the art that other modifications to method 600A are within the scope of this description.
[0112] FIG. 6B is a flowchart of a method 600B of collecting data using an in-vehicle system, according to some embodiments. In some embodiments, the method 600B is performed by one or more operations of the method 500 (FIG. 5). In some embodiments, the method 600B is performed by the server 440 (FIG. 4). In some embodiments, the method 600B is performed using the request retrieval system 100 (FIG. 1) or the request retrieval system 400 (FIG. 4). In some embodiments, the method 600B is performed using a system other than the request retrieval system 100 (FIG. 1) or the request retrieval system 400 (FIG. 4). The method 600B can be used to determine whether a vehicle system can fulfill a received rule. In contrast to the method 600A (FIG. 6A), the method 600B can be used to prevent the transmission of a rule to a vehicle that cannot fulfill the rule. By preventing transmission of rules to vehicles that are unable to satisfy the rules, method 600B helps to further improve efficiency of on-board resource usage by reducing or avoiding analysis of rules by vehicle systems to determine whether they can satisfy the rules.
[0113] In operation 650, a rule is received. The rule includes a data collection request and a trigger event. In some embodiments, the rule includes an identity of a user who created the rule. In some embodiments, the rule includes a requested encoding protocol. In some embodiments, the rule includes information related to a fee paid by a user. In some embodiments, the rule includes information related to a permission level of a user who created the rule. In some embodiments, the rule is received from UI 110 (FIG. 1). In some embodiments, the rule is received from user terminal 460 (FIG. 4). In some embodiments, the rule is received wirelessly. In some embodiments, the rule is received over a wired connection.
[0114] In operation 655, on-board capabilities of the vehicle system are received. The on-board capabilities include sensors present in the vehicle, memory capacity of the vehicle system, processing capacity of the vehicle system, processing capacity of the vehicle system, a determination of the operational state of the sensors of the vehicle system, or other suitable determination. In some embodiments, the capacity and capabilities of the components of the vehicle system or the presence of the sensors of the vehicle are determined based on data stored in a database related to the capabilities of the vehicle. In some embodiments, the determination of the operational state of the sensors of the vehicle is updated periodically based on information received from the vehicle related to the operational state of the components of the vehicle. In some embodiments, operation 655 is performed periodically, for example, once a day, once an hour, or other suitable periodic intervals. In some embodiments, operation 655 is performed each time the vehicle is started, for example, upon start-up of an engine or motor in the vehicle. In some embodiments, a request for vehicle capabilities is sent to the vehicle in response to receiving the rule in operation 650 requesting data from the vehicle.
[0115] In operation 660, a determination is made as to whether the vehicle system is able to satisfy the rule. The determination is made based on the data collection request from operation 650 and the received trigger event of the rule. In some embodiments, the determination is made based on the identity of the user who created the rule, the permission level of the user who created the rule, the fee paid by the user who created the rule, or other suitable criteria. In some embodiments, operation 660 is similar to operation 515 (FIG. 5), and a detailed description of operation 660 is omitted for brevity.
[0116] Determining whether a vehicle system can satisfy a rule is useful for improving efficiency in the use of the vehicle system. A vehicle system has a finite amount of resources, and therefore partial execution of a rule that the vehicle system cannot fully satisfy consumes the resources of the vehicle system without the ability to provide the requested data. As a result, there is an increased risk that other rules will not be processed, which limits the value derived from the ability to collect requested data from the vehicle system.
[0117] In response to determining that the vehicle system is not able to satisfy the rule, the method 600B proceeds to operation 670. In response to determining that the vehicle is able to satisfy the rule, the method 600B proceeds to operation 655.
[0118] In operation 655, the rules are transmitted to the vehicles. In some embodiments, the rules are transmitted wirelessly. In some embodiments, the rules are transmitted over a wired connection. In some embodiments, the rules are transmitted to multiple vehicles simultaneously. That is, in some embodiments, the rules are transmitted to all vehicles that can satisfy the rules.
[0119] In operation 670, a warning is generated indicating the vehicle system is unable to satisfy the rule. In some embodiments, the warning includes an audio or visual warning. In some embodiments, the vehicle system 410 is configured to send the warning to a user, for example, using an accessible console 150 (FIG. 1), a UI 110 (FIG. 1), or other suitable device. In some embodiments, operation 670 is similar to operation 517 (FIG. 5), and a detailed description of operation 670 is omitted for brevity.
[0120] Generating a warning is useful to allow a user to decide whether to adjust data collection requests for a rule based on the type of information the user can obtain from the vehicle system. Warnings are useful to avoid a situation where a user is unaware that a rule that was created will not be executed by the vehicle system.
[0121] In some embodiments, operation 670 is omitted if the user is not to be alerted regarding the vehicle system's inability to satisfy the rule. In such embodiments, method 600B proceeds from operation 660 to operation 675 in response to determining that the vehicle system is unable to satisfy the rule.
[0122] In operation 675, one or more alternatives are provided to the user. In some embodiments, operation 675 includes similar functionality as described with respect to operation 517 (FIG. 5). However, in addition to the functionality described in operation 517 (FIG. 5), operation 675 includes information related to the vehicle systems about other vehicles. Thus, in addition to the functionality of operation 517 (FIG. 5), operation 675 can provide different vehicles that can satisfy the rule. In some embodiments, if the user is provided with alternatives for different vehicles or criteria that satisfy the rule, operation 675 is omitted.
[0123] It will be understood by those skilled in the art that modifications to method 600B are within the scope of this description. In some embodiments, at least one additional operation is included in method 600B. For example, in some embodiments, method 600B further includes sending a notification to a user terminal (e.g., user terminal 460, FIG. 4) that the rule has been sent to one or more vehicles. In some embodiments, at least one operation of method 600B is excluded. For example, in some embodiments, operation 670 is excluded in situations where no alert is generated. In some embodiments, the order of operations of method 600B is adjusted. For example, in some embodiments, operation 655 is performed before operation 650. It will be understood by those skilled in the art that other modifications to method 600B are within the scope of this description.
[0124] 7 is a schematic diagram of a system 700 for implementing a request retrieval system according to some embodiments. The system 700 includes a hardware processor 702 and a non-transitory computer-readable storage medium 704 encoded with, i.e., storing, a computer program code 706, i.e., a set of executable instructions. The computer-readable storage medium 704 is also encoded with instructions 707 for interfacing with an external device. The processor 702 is electrically coupled to the computer-readable storage medium 704 via a bus 708. The processor 702 is also electrically coupled to an I / O interface 710 by the bus 708. A network interface 712 is also electrically connected to the processor 702 via the bus 708. The network interface 712 is connected to a network 714 such that the processor 702 and the computer-readable storage medium 704 can connect to external elements via the network 714. The processor 702 is configured to execute computer program code 706 encoded on a computer-readable storage medium 704 to enable the system 700 to be used to perform some or all of the operations described in the request retrieval system 100 (FIG. 1), the request retrieval system 400 (FIG. 4), the method 500 (FIG. 5), the method 600A (FIG. 6A), or the method 600B (FIG. 6B).
[0125] In some embodiments, the processor 702 is a central processing unit (CPU), a multiprocessor, a distributed processing system, an application specific integrated circuit (ASIC), and / or other suitable processing unit.
[0126] In some embodiments, computer readable storage medium 704 is an electronic, magnetic, optical, electromagnetic, infrared, and / or semiconductor system (or apparatus or device). For example, computer readable storage medium 704 includes a semiconductor or solid state memory, a magnetic tape, a removable computer diskette, a random access memory (RAM), a read only memory (ROM), a rigid magnetic disk, and / or an optical disk. In some embodiments using an optical disk, computer readable storage medium 704 includes a compact disk read only memory (CD-ROM), a compact disk read / write (CD-R / W), and / or a digital video disk (DVD).
[0127] In some embodiments, the storage medium 704 stores computer program code 706 configured to cause the system 700 to perform some or all of the operations described in the request retrieval system 100 (FIG. 1), the request retrieval system 400 (FIG. 4), the method 500 (FIG. 5), the method 600A (FIG. 6A), or the method 600B (FIG. 6B). In some embodiments, the storage medium 704 also stores information necessary to perform some or all of the operations described in the request retrieval system 100 (FIG. 1), the request retrieval system 400 (FIG. 4), the method 500 (FIG. 5), the method 600A (FIG. 6A) or the method 600B (FIG. 6B), as well as information generated during the execution of some or all of the operations described in the request retrieval system 100 (FIG. 1), the request retrieval system 400 (FIG. 4), the method 500 (FIG. 5), the method 600A (FIG. 6A) or the method 600B (FIG. 6B), such as sensor data parameters 716, rule parameters 718, collected data parameters 720, capability data parameters 722, and / or a set of executable instructions for performing some or all of the operations described in the request retrieval system 100 (FIG. 1), the request retrieval system 400 (FIG. 4), the method 500 (FIG. 5), the method 600A (FIG. 6A) or the method 600B (FIG. 6B).
[0128] In some embodiments, the storage medium 704 stores instructions 707 for interfacing with a manufacturing machine. The instructions 707 enable the processor 702 to generate manufacturing instructions readable by the manufacturing machine to effectuate the method 400 during a manufacturing process.
[0129] System 700 includes an I / O interface 710. The I / O interface 710 is coupled to external circuitry. In some embodiments, the I / O interface 710 includes a keyboard, a keypad, a mouse, a trackball, a trackpad, and / or cursor direction keys for communicating information and commands to processor 702.
[0130] The 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, WIFI, WIMAX, GPRS, or WCDMA, or a wired network interface, such as ETHERNET, USB, or IEEE-1394. In some embodiments, some or all of the operations described in ODDR system 100 (FIG. 1), ODDR system 400 (FIG. 4), method 600A (FIG. 6A), or method 600B (FIG. 6B) are implemented in two or more systems 700, and information such as priority level, query ID, query status, and query data is exchanged between the different systems 700 via the network 714.
[0131] (Appendix 1)
[0132] A method of requesting data from a vehicle, the method including determining an in-vehicle system capability, the capabilities including at least one of processing capacity, memory capacity, or sensor capacity. The method further includes receiving a rule, the rule including a data collection request. The method further includes determining whether the in-vehicle system capabilities are capable of satisfying the data collection request. The method further includes discarding the rule in response to determining that the in-vehicle system capabilities are not capable of satisfying the data collection request.
[0133] (Appendix 2)
[0134] 2. The method of claim 1, wherein the data collection request includes a request for data collection from a first sensor, a period for collecting sensor data, and a request for processing the sensor data.
[0135] (Appendix 3)
[0136] 3. The method of claim 1 or 2, wherein determining whether the capabilities of the vehicle system are capable of satisfying the data collection requests includes determining that the capabilities of the vehicle system are unable to satisfy the data collection requests in response to determining that the vehicle system is unable to satisfy any portion of the data collection requests.
[0137] (Appendix 4)
[0138] 4. The method of claim 1, further comprising generating an alert in response to determining that the capabilities of the in-vehicle system are not capable of meeting the data collection requirements.
[0139] (Appendix 5)
[0140] 5. The method of claim 1, wherein determining whether the capabilities of the in-vehicle system are capable of satisfying the data collection requirements is based on an identification of a user associated with the rule.
[0141] (Appendix 6)
[0142] 6. The method of claim 1, wherein determining whether the capabilities of the in-vehicle system can satisfy the data collection requirements is based on a fee received in association with the rule.
[0143] (Appendix 7)
[0144] responsive to determining that the capabilities of the in-vehicle system are capable of meeting the data collection requirements; Detecting a trigger event associated with the rule; 7. The method of any of claims 1 to 6, further comprising collecting data associated with the data collection request.
[0145] (Appendix 8)
[0146] A system for requesting data from a vehicle, the system comprising: a non-transitory computer readable medium configured to store a plurality of instructions; and a processor coupled to the non-transitory computer readable medium. The processor is configured to execute the instructions to determine capabilities of an in-vehicle system, the capabilities including at least one of processing capacity, memory capacity, or sensor capacity. The processor is configured to execute the instructions to receive rules, the rules including data collection requests. The processor is configured to execute the instructions to determine whether the capabilities of the in-vehicle system are capable of satisfying the data collection requests. The processor is configured to execute the instructions to discard the rules in response to determining that the capabilities of the in-vehicle system are not capable of satisfying the data collection requests.
[0147] (Appendix 9)
[0148] 9. The system of claim 8, wherein the data collection request includes a request for data collection from a first sensor, a period of time for collecting sensor data, and a request for processing the sensor data.
[0149] (Appendix 10)
[0150] 10. The system of claim 8 or 9, wherein the processor is configured to execute the instructions to determine whether the capabilities of the vehicle system can meet the data collection request by determining that the capabilities of the vehicle system cannot meet the data collection request in response to a determination that the vehicle system cannot meet any portion of the data collection request.
[0151] (Appendix 11)
[0152] 11. The system of any of appendixes 8 to 10, wherein the processor is configured to execute the instructions to generate a warning in response to determining that the capabilities of the vehicle system cannot meet the data collection requirements.
[0153] (Appendix 12)
[0154] The system of any of appendices 8-11, wherein the processor is configured to execute the instructions to determine whether the capabilities of the vehicle system can satisfy the data collection request based on a user identification associated with the rule.
[0155] (Appendix 13)
[0156] The system of any of appendixes 8-12, wherein the processor is configured to execute the instructions to determine whether the capabilities of the vehicle system can satisfy the data collection request based on a fee received in association with the rule.
[0157] (Appendix 14)
[0158] In response to determining that the capabilities of the in-vehicle system can meet the data collection request, the processor: Detecting a trigger event associated with the rule; 14. The system of any of claims 8 to 13, configured to execute the instructions to collect data associated with the data collection request.
[0159] (Appendix 15)
[0160] A non-transitory computer-readable medium configured to store a plurality of instructions, the plurality of instructions configured to cause a processor to perform an operation of determining an in-vehicle system's capabilities, the capabilities including at least one of processing capacity, memory capacity, or sensor capacity. The plurality of instructions configured to cause a processor to perform an operation of receiving a rule, the rule including a data collection request. The plurality of instructions configured to cause a processor to perform an operation of determining whether the in-vehicle system's capabilities are capable of satisfying the data collection request. The plurality of instructions configured to cause a processor to perform an operation of discarding the rule in response to determining that the in-vehicle system's capabilities are not capable of satisfying the data collection request.
[0161] (Appendix 16)
[0162] 16. The non-transitory computer-readable storage medium of claim 15, wherein the instructions are configured to cause the processor to determine whether the capabilities of the in-vehicle system are capable of satisfying the data collection requests by determining that the capabilities of the in-vehicle system are not capable of satisfying the data collection requests in response to determining that the in-vehicle system is not capable of satisfying any portion of the data collection requests.
[0163] (Appendix 17)
[0164] 17. The non-transitory computer-readable storage medium of claim 15 or 16, wherein the instructions are configured to cause the processor to generate an alert in response to determining that the capabilities of the in-vehicle system are incapable of meeting the data collection request.
[0165] (Appendix 18)
[0166] 18. A non-transitory computer-readable storage medium as described in any of Appendixes 15 to 17, wherein the instructions are configured to cause the processor to determine whether the capabilities of the in-vehicle system can satisfy the data collection request based on a user identification information associated with the rule.
[0167] (Appendix 19)
[0168] 19. A non-transitory computer-readable recording medium as described in any of appendices 15 to 18, wherein the instructions are configured to cause the processor to determine whether the capabilities of the vehicle system can meet the data collection requirements based on a fee received in association with the rule.
[0169] (Appendix 20)
[0170] The instructions, in response to determining that the capabilities of the in-vehicle system can meet the data collection request, Detecting a trigger event associated with the rule; 20. The non-transitory computer-readable storage medium of any one of appendices 15 to 19, configured to cause the processor to collect data associated with the data collection request.
[0171] The foregoing summary sets forth features of some embodiments so that those skilled in the art may better understand the aspects of the present disclosure. Those skilled in the art should appreciate that the present disclosure may be readily used as a basis for designing or modifying other processes and structures for carrying out the same purposes and / or achieving the same advantages of the embodiments introduced herein. Those skilled in the art should also appreciate that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that various changes, substitutions, and alterations may be made herein without departing from the spirit and scope of the present disclosure.
Claims
1. A method for a server to request data from a vehicle, comprising: a processor for determining capabilities of an in-vehicle system, the capabilities including at least one of processing capacity, memory capacity, or sensor capacity; the processor receives rules, the rules including a data collection request; the processor determining whether the capabilities of the in-vehicle system are capable of meeting the data collection requirements; the processor discarding the rule in response to determining that the capabilities of the in-vehicle system are insufficient to meet the data collection requirements. Including, The method, wherein the data includes sensor data obtained by a sensor mounted on the vehicle, or a log of an application executed on the vehicle.
2. The data collection request: A request for data collection from a first sensor; The period during which sensor data is collected, and a request for processing the sensor data; The method of claim 1.
3. 3. The method of claim 1 or 2, wherein determining whether the capabilities of the vehicle system are capable of satisfying the data collection request includes determining that the capabilities of the vehicle system are unable to satisfy the data collection request in response to determining that the vehicle system is unable to satisfy any portion of the data collection request.
4. The method of claim 1 or 2, further comprising the processor generating an alert in response to determining that the capabilities of the in-vehicle system are incapable of meeting the data collection requirements.
5. The method of claim 1 or 2, wherein determining whether the in-vehicle system's capabilities are capable of satisfying the data collection request is based on a user identity associated with the rule.
6. The method of claim 1 or 2, wherein a determination of whether the in-vehicle system's capabilities are capable of satisfying the data collection request is based on a fee received in association with the rule.
7. responsive to determining that the capabilities of the in-vehicle system are capable of meeting the data collection requirements; The processor detects a trigger event associated with the rule; The method of claim 1 or 2, further comprising the processor collecting data associated with the data collection request.
8. A system in which a server requests data from a vehicle, A computer readable storage medium configured to store a plurality of instructions; A processor connected to the computer-readable recording medium, the processor comprising: determining capabilities of an in-vehicle system, said capabilities including at least one of processing capacity, memory capacity, or sensor capacity; receiving a rule, the rule including a data collection request; determining whether the capabilities of the in-vehicle system are capable of meeting the data collection requirements; discarding the rule in response to determining that the capabilities of the in-vehicle system are incapable of meeting the data collection requirements. configured to execute the plurality of instructions; The system wherein the data includes sensor data obtained by a sensor mounted on the vehicle, or a log of an application executed on the vehicle.
9. The data collection request: A request for data collection from a first sensor; The period during which sensor data is collected, and a request for processing the sensor data; The system of claim 8.
10. The system of claim 8 or 9, wherein the processor is configured to execute the plurality of instructions to determine whether the capabilities of the in-vehicle system are capable of satisfying the data collection request by determining that the capabilities of the in-vehicle system are unable to satisfy the data collection request in response to a determination that the in-vehicle system is unable to satisfy any portion of the data collection request.
11. 10. The system of claim 8 or 9, wherein the processor is further configured to execute instructions for generating an alert in response to determining that the capabilities of the in-vehicle system are incapable of meeting the data collection requirements.
12. 10. The system of claim 8 or 9, wherein the processor is configured to execute the plurality of instructions to determine whether the capabilities of the in-vehicle system are capable of satisfying the data collection request based on an identification of a user associated with the rule.
13. 10. The system of claim 8 or 9, wherein the processor is configured to execute the plurality of instructions to determine whether the capabilities of the in-vehicle system are capable of satisfying the data collection request based on a fee received in association with the rule.
14. In response to determining that the capabilities of the in-vehicle system can meet the data collection request, the processor: Detecting a trigger event associated with the rule; 10. The system of claim 8 or 9, further configured to execute instructions for collecting data associated with the data collection request.
15. 1. A computer readable medium configured to store a plurality of instructions, the plurality of instructions comprising: determining capabilities of an in-vehicle system, said capabilities including at least one of processing capacity, memory capacity, or sensor capacity; receiving a rule, the rule including a data collection request; determining whether the capabilities of the in-vehicle system are capable of meeting the data collection requirements; and configured to cause a processor to perform an operation of overriding the rule in response to determining that the capabilities of the in-vehicle system are incapable of satisfying the data collection requirements. A computer-readable recording medium.
16. 16. The computer-readable storage medium of claim 15, wherein the instructions are configured to cause the processor to determine whether the capabilities of the in-vehicle system are capable of satisfying the data collection requests by determining that the capabilities of the in-vehicle system are incapable of satisfying the data collection requests in response to determining that the in-vehicle system is incapable of satisfying any portion of the data collection requests.
17. 17. The computer-readable medium of claim 15 or 16, wherein the instructions are configured to cause the processor to generate an alert in response to determining that the capabilities of the in-vehicle system are incapable of meeting the data collection requirements.
18. 17. The computer-readable medium of claim 15 or 16, wherein the instructions are configured to cause the processor to determine whether the capabilities of the in-vehicle system are capable of satisfying the data collection request based on an identification of a user associated with the rule.
19. 17. The computer-readable medium of claim 15 or 16, wherein the instructions are configured to cause the processor to determine whether the capabilities of the in-vehicle system are capable of satisfying the data collection request based on a fee received in association with the rule.
20. The instructions, in response to determining that the capabilities of the in-vehicle system can meet the data collection request, Detecting a trigger event associated with the rule; 17. The computer readable medium of claim 15 or 16, configured to cause the processor to collect data associated with the data collection request.
Citation Information
Patent Citations
Information collection method, client processing execution method, server and client
JP2004280649A
Autonomous vehicle operation feature monitoring and evaluation of effectiveness
US11288751B1
Vehicle telematics communication for providing mobile device alerts
US20130271275A1
Vehicle Information System
US20160071333A1
System, method, and apparatus for managing vehicle data collection
US20210192867A1