IP Library Granted Patent US 11,032,372
Granted Patent B1
US 11,032,372 · App. 16/600,818 · Granted Jun 8, 2021

Efficient data streaming using a global index

Inventor: Jeremiah Todd Wittevrongel (San Diego, CA)
Assignee: Lytx. Inc.
H04L67/1097G07C5/008G07C5/085H04L67/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,032,372
App. No.
16/600,818
Granted
Jun 8, 2021
Kind
B1
Abstract

A system for data access comprises a server storage system, a global index, an interface, and a processor. The server storage system stores data associated with vehicle event recorders. The global index includes indications of server-stored data stored on the server storage system. The interface is configured to receive an access indication to access desired data. The processor is configured to determine a server stored portion of the desired data associated with the vehicle event recorder that has been previously stored on the server storage system using information stored in the global index and retrieve the server stored portion of the data from the server storage system; and determine a non-server stored portion of the desired data associated with the vehicle event recorder that has not been previously stored on the server storage system and indicate to retrieve the non-server stored portion of the data from the vehicle event recorder.

Claims (59)

1. A system for data access, comprising:

a server storage system, wherein the server storage system stores data associated with a plurality of vehicle event recorders;

a global index, wherein the global index includes indications of server-stored data stored on the server storage system and corresponding client information, wherein the client information includes an associated indication that the server-stored data is associated with a client of a plurality of clients;

a client index comprising a plurality of client indices with an index associated with each client, wherein a first client index includes a subset of the indications of the global index corresponding to data associated with the first client;

an interface configured to:

receive an access indication to access desired data associated with a vehicle event recorder of the plurality of vehicle event recorders, wherein the vehicle event recorder is associated with a specific client; and

a processor configured to:

determine a server stored portion of the desired data associated with the vehicle event recorder that has been previously stored on the server storage system using information stored in the global index;

retrieve the server stored portion of the data from the server storage system; and

determine a non-server stored portion of the desired data associated with the vehicle event recorder that has not been previously stored on the server storage system, comprising to:

look up the desired data using information in the client index to determine the non-server stored portion of the desired data;

determine whether all of the desired data was found in the client index; and

in response to a determination that all of the desired data was not found in the client index:

look up the desired data using information in the global index to determine the non-server stored portion of the desired data;

determine whether all of the desired data was found in the global index; and

in response to a determination that all of the desired data was not found in the global index, indicate to retrieve the non-server stored portion of the data from the vehicle event recorder.

2. The system of claim 1 , wherein the server stored portion of the desired data and the non-server stored portion of the desired data are interleaved to provide access to the desired data.

3. The system of claim 1 , wherein determining the server stored portion comprises accessing the global index.

4. The system of claim 1 , wherein the global index is updated when data is loaded from the vehicle event recorder.

5. The system of claim 4 , wherein the global index is updated when data is livestreamed and stored from the vehicle event recorder.

6. The system of claim 4 , wherein the global index is updated when data is accessed for research purposes.

7. The system of claim 1 , wherein determining the server stored portion comprises accessing the client index, wherein the client index is updated using information in the global index.

8. The system of claim 1 , wherein determining the server stored portion comprises accessing the client index then accessing the global index.

9. The system of claim 1 , wherein determining the server stored portion comprises accessing the global index then accessing the client index.

10. The system of claim 1 , wherein the server-stored data stored on the server storage system comprises data type data.

11. The system of claim 1 , wherein the server-stored data stored on the server storage system comprises starting date and time data.

12. The system of claim 1 , wherein the server-stored data stored on the server storage system comprises ending date and time data.

13. The system of claim 1 , wherein the server-stored data stored on the server storage system comprises data length data.

14. The system of claim 1 , wherein the server-stored data stored on the server storage system comprises data sample rate data.

15. The system of claim 1 , wherein the server-stored data stored on the server storage system comprises vehicle event recorder identifier data.

16. The system of claim 1 , wherein the server-stored data stored on the server storage system comprises vehicle identifier data.

17. The system of claim 1 , wherein the server-stored data stored on the server storage system comprises client identifier data.

18. The system of claim 1 , wherein the server-stored data stored on the server storage system comprises video data, audio data, accelerometer data, global positioning system data, braking data, ignition status data, or OBD-II fault code data.

19. A method for data access, comprising:

storing data associated with a plurality of vehicle event recorders using a server storage system;

including indications of server-stored data stored on the server storage system and corresponding client information in a global index, wherein the client information includes an indication that the stored data is associated with a client of a plurality of clients;

receiving, using an interface, an indication to access desired data associated with a vehicle event recorder of the plurality of vehicle event recorders, wherein the vehicle event recorder is associated with a specific client;

determining, using a processor, a server stored portion of the desired data associated with the vehicle event recorder that has been previously stored on the server storage system using information stored in the global index;

retrieving the server stored portion of the data from the server storage system; and

determining a non-server stored portion of the desired data associated with the vehicle event recorder that has not been previously stored on the server storage system using information stored in the global index and index, comprising:

looking up the desired data using information in a client index to determine the non-server stored portion of the desired data, wherein the client index comprises a plurality of client indices with an index associated with each client, wherein a first client index includes a subset of the indications of the global index corresponding to data associated with the first client;

determining whether all of the desired data was found in the client index; and

in response to a determination that all of the desired data was not found in the client index:

looking up the desired data using information in the global index to determine the non-server stored portion of the desired data, wherein the global index includes indications of server-stored data stored on the server storage system and corresponding client information, wherein the client information includes an associated indication that the server-stored data is associated with a client of a plurality of clients;

determining whether all of the desired data was found in the global index; and

in response to a determination that all of the desired data was not found in the global index, indicating to retrieve the non-server stored portion of the data from the vehicle event recorder.

20. A computer program product for data access, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:

storing data associated with a plurality of vehicle event recorders using a server storage system;

including indications of server-stored data stored on the server storage system and corresponding client information in a global index, wherein the client information includes an indication that the stored data is associated with a client of a plurality of clients;

receiving, using an interface, an indication to access desired data associated with a vehicle event recorder of the plurality of vehicle event recorders, wherein the vehicle event recorder is associated with a specific client;

determining, using a processor, a server stored portion of the desired data associated with the vehicle event recorder that has been previously stored on the server storage system using information stored in the global index;

retrieving the server stored portion of the data from the server storage system; and

determining a non-server stored portion of the desired data associated with the vehicle event recorder that has not been previously stored on the server storage system using information stored in the global index, comprising:

looking up the desired data using information in a client index to determine the non-server stored portion of the desired data, wherein the client index comprises a plurality of client indices with an index associated with each client, wherein a first client index includes a subset of the indications of the global index corresponding to data associated with the first client;

determining whether all of the desired data was found in the client index; and

in response to a determination that all of the desired data was not found in the client index:

looking up the desired data using information in the global index to determine the non-server stored portion of the desired data, wherein the global index includes indications of server-stored data stored on the server storage system and corresponding client information, wherein the client information includes an associated indication that the server-stored data is associated with a client of a plurality of clients;

determining whether all of the desired data was found in the global index; and

in response to a determination that all of the desired data was not found in the global index, indicating to retrieve the non-server stored portion of the data from the vehicle event recorder.

Assignments (2)
PATENT SECURITY AGREEMENT Recorded Feb 28, 2020
From: LYTX, INC.
To: GUGGENHEIM CREDIT SERVICES, LLC
Reel/Frame 052050/0099 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2019
From: WITTEVRONGEL, JEREMIAH TODD
To: LYTX, INC.
Reel/Frame 051297/0290 →