# US 11,994,399 B2 · Management and upload of ride monitoring data of rides of a mobility service provider

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,994,399 B2
- Document ID: US11994399B2
- Status: Granted
- Kind: B2
- Application number: 17/068,058
- Filed: 2020-10-12
- Published: 2022-04-14
- Granted: 2024-05-28
- Earliest claimed: 2020-10-12
- Assignees: Robert Bosch GmbH
- Applicants: Robert Bosch GmbH
- Inventors: Philip Ventimiglia; Christian Stresing
- Web page: https://patentgrep.com/patent/US11994399B2

## CPC

- G01C 21/3438: {Rendezvous; Ride sharing}
- H04Q 9/00: Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
- G01C 21/3605: {Destination input or retrieval}
- G06Q 10/02: Reservations, e.g. for tickets, services or events
- G06Q 10/063: Operations research, analysis or management
- G06Q 50/40: Business processes related to the transportation industry (shipping G06Q10/083)
- G07C 5/008: {communicating information to a remotely located station (transmission systems for measured values G08C)}
- G07C 5/085: {using electronic data carriers}
- H04L 67/125: involving control of end-device applications over a network
- H04W 4/38: for collecting sensor information
- H04W 4/40: for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W 84/18: Self-organising networks, e.g. ad-hoc networks or sensor networks
- G01C: MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY (measuring liquid level G01F; radio navigation, determining distance or velocity by use of propagation effects, e.g. Doppler effects, propagation time, of radio waves, analogous arrangements using other waves G01S)
- H04Q: SELECTING (switches, relays, selectors H01H; wireless communication networks H04W)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G07C: TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A system and method are disclosed for monitoring rides in a vehicle in which a driver of the vehicle picks up a rider at a pickup location and drives the rider to a drop-off destination. The system includes at least one sensor arranged in the vehicle and configured to capture sensor data during the rides, a transceiver configured to communicate with a remote server, a non-volatile memory configured to store data; and a processor. The system captures sensor data during each ride, stores the sensor data captured during each ride, receives a ride identifier from the personal electronic device that uniquely identifies the ride, and uploads the sensor data of a particular ride to the remote server in response to one of a limited set of a triggering events occurring.

## Claims

### Claim 1

A system for monitoring rides in a vehicle, the system comprising:
at least one sensor arranged in the vehicle and configured to capture sensor data during the rides;
a first transceiver configured to communicate with a remote server;
a non-volatile memory configured to store data; and
a processor operatively connected to the at least one sensor, the first transceiver, and the memory, the processor being configured to:
receive sensor data from the at least one sensor captured during each of a plurality of rides in which a driver of the vehicle picks up a rider at a pickup location and drives the rider to a drop-off destination;
store, in the non-volatile memory, the sensor data captured during each of the plurality of rides, the stored sensor data for each respective ride of the plurality of rides being annotated with metadata identifying at least one of (i) a time at which the respective ride was requested by the rider, (ii) a time at which the rider was picked up at the pickup location, and (iii) a time at which the rider was dropped off at the drop-off destination;
implement, on the non-volatile memory, at least one ring buffer configured to manage storage and deletion of the sensor data captured by the at least one sensor, each of the at least one ring buffer being configured to store a respective amount of sensor data corresponding to a respective duration of time;
implement, on the non-volatile memory, a data structure configured to store sensor data that is not to be deleted for at least a predetermined amount of time, the predetermined amount of time exceeding the respective duration of time of the at least one ring buffer;
move, in response to (i) one of a defined set of triggering events occurring and (ii) sensor data being unable to be uploaded to the remote server, a portion of the sensor data captured during a respective ride from the at least one ring buffer to the data structure;
upload, via the first transceiver, the portion of the sensor data captured during the respective ride of the plurality of rides to the remote server in response to the one of the defined set of triggering events occurring; and
in response to successful upload of the portion of the sensor data captured during the respective ride to the remote server, remove the portion of the sensor data from data structure.

### Claim 2 (depends on 1)

The system of claim 1, the processor being further configured to:
store, as new sensor data is captured by the at least one sensor, the new sensor data in the at least one ring buffer and delete sensor data stored in the at least one ring buffer that is oldest.

### Claim 3 (depends on 1)

The system of claim 1, the processor being further configured to:
implement, on the non-volatile memory, a first ring buffer of the at least one ring buffer configured to manage storage and deletion of the sensor data captured by a first sensor of the at least one sensor, the first ring buffer being configured to store a first amount of sensor data corresponding a first duration of time; and
implement, on the non-volatile memory, a second ring buffer of the at least one ring buffer configured to manage storage and deletion of the sensor data captured by a second sensor of the at least one sensor, the second ring buffer being configured to store a second amount of sensor data corresponding a second duration of time that is different than the first duration of time.

### Claim 4 (depends on 1)

The system of claim 1, the processor being further configured to:
detect that an accident has occurred during the respective ride; and
upload, via the first transceiver, the portion of the sensor data captured during the respective ride to the remote server in response to detecting that the accident has occurred during the respective ride,
wherein the accident occurring during the respective ride is one of the defined set of triggering events.

### Claim 5 (depends on 4)

The system of claim 4 further comprising:
an acceleration sensor arranged in the vehicle and configured to measure accelerations of the vehicle during the plurality of rides,
wherein the processor is configured to detect the accident based on the accelerations of the vehicle.

### Claim 6 (depends on 1)

The system of claim 1, the processor being further configured to:
receive, via the first transceiver, a request message from the remote server, the request message identifying the respective ride; and
upload, via the first transceiver, the portion of the sensor data captured during the respective ride to the remote server in response to receiving the request message identifying the respective ride,
wherein receiving the request message identifying the respective ride is one of the defined set of triggering events.

### Claim 7 (depends on 1)

The system of claim 1, wherein the at least one sensor includes at least one of:
a first camera arranged in the vehicle and configured to capture video of an interior of the vehicle;
a second camera arranged in the vehicle and configured to capture video of an exterior of the vehicle in a driving direction of the vehicle; and
at least one microphone arranged in the vehicle and configured to capture audio of the interior of the vehicle,
wherein the sensor data includes at least one of the video of the interior of the vehicle, the video of the exterior of the vehicle, and the audio of the interior of the vehicle.

### Claim 8

A method for monitoring rides in a vehicle, the method comprising:
capturing, with at least one sensor arranged in the vehicle, sensor data during each of a plurality of rides in which a driver of the vehicle picks up a rider at a pickup location and drives the rider to a drop-off destination;
storing the sensor data captured during each of the plurality of rides in the non-volatile memory, the stored sensor data for each respective ride of the plurality of rides being annotated with metadata identifying at least one of (i) a time at which the respective ride was requested by the rider, (ii) a time at which the rider was picked up at the pickup location, and (iii) a time at which the rider was dropped off at the drop-off destination;
implementing, on a non-volatile memory, at least one ring buffer configured to manage storage and deletion of the sensor data captured by the at least one sensor, each of the at least one ring buffer being configured to store a respective amount of sensor data corresponding to a respective duration of time;
implementing, on the non-volatile memory, a data structure configured to store sensor data that is not to be deleted for at least a predetermined amount of time, the predetermined amount of time exceeding the respective duration of time of the at least one ring buffer;
uploading, via a first transceiver, a portion of the sensor data captured during a respective ride of the plurality of rides to the remote server in response to one of a defined set of a triggering events occurring;
moving, in response to (i) one of a defined set of triggering events occurring and (ii) sensor data being unable to be uploaded to the remote server, the portion of the sensor data captured during the respective ride from the at least one ring buffer into the data structure; and
in response to successful upload of the portion of the sensor data captured during the respective ride to the remote server, remove the portion of the sensor data from data structure.

### Claim 9 (depends on 8)

The method of claim 8 further comprising:
storing, as new sensor data is captured by the at least one sensor, the new sensor data in the at least one ring buffer and delete sensor data stored in the at least one ring buffer that is oldest.

### Claim 10 (depends on 8)

The method of claim 8, the implementing the at least one ring buffer further comprising:
implementing, on the non-volatile memory, a first ring buffer of the at least one ring buffer configured to manage storage and deletion of the sensor data captured by a first sensor of the at least one sensor, the first ring buffer being configured to store a first amount of sensor data corresponding a first duration of time; and
implementing, on the non-volatile memory, a second ring buffer of the at least one ring buffer configured to manage storage and deletion of the sensor data captured by a second sensor of the at least one sensor, the second ring buffer being configured to store a second amount of sensor data corresponding a second duration of time that is different than the first duration of time.

### Claim 11 (depends on 8)

The method of claim 8 further comprising:
detecting that an accident has occurred during the respective ride; and
uploading, via the first transceiver, the portion of the sensor data captured during the respective ride to the remote server in response to detecting that the accident has occurred during the respective ride,
wherein the accident occurring during the respective ride is one of the defined set of triggering events.

### Claim 12 (depends on 11)

The method of claim 11 further comprising:
receiving accelerations of the vehicle during the rides from an acceleration sensor arranged in the vehicle,
detecting the accident based on the acceleration of the vehicle.

### Claim 13 (depends on 8)

The method of claim 8 further comprising
receiving, via the first transceiver, a request message from the remote server, the request message identifying the respective ride; and
uploading, via the first transceiver, the portion of the sensor data captured during the respective ride to the remote server in response to receiving the request message identifying the respective ride,
wherein receiving the request message identifying the respective ride is one of the defined set of triggering events.

### Claim 14 (depends on 8)

The method of claim 8, wherein the at least one sensor includes at least one of:
a first camera arranged in the vehicle and configured to capture video of an interior of the vehicle;
a second camera arranged in the vehicle and configured to capture video of an exterior of the vehicle in a driving direction of the vehicle; and
at least one microphone arranged in the vehicle and configured to capture audio of the interior of the vehicle,
wherein the sensor data includes at least one of the video of the interior of the vehicle, the video of the exterior of the vehicle, and the audio of the interior of the vehicle.
