IP Library Granted Patent US 12,664,212
Granted Patent B2
US 12,664,212 · App. 18/822,121 · Granted Jun 23, 2026

Distributed video storage and search with edge computing

Inventors: Avneesh Agrawal (Bengaluru, IN); David Jonathan Julian (San Diego, CA); Venkata Sreekanta Reddy Annapureddy (San Diego, CA); Manoj Venkata Tutika (Bengaluru, IN); Vinay Kumar Rai (Bengaluru, IN); Sandeep Pandya (Irvine, CA); Adam David Kahn (San Diego, CA); Michael Campos (La Jolla, CA); Badugu Naveen Chakravarthy (Bengaluru, IN); Ankur Nigam (Bengaluru, IN); Praveen Kumar (Bengaluru, IN); Tejeswara Rao Gudena (Bengaluru, IN); Karan Kishore (Bengaluru, IN)
Assignee: NETRADYNE, INC.
G06F16/7837B60W40/09G06F16/00G06F16/71G06F16/73G06F16/7844G06V20/48G06V20/597G06N20/00
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 12,664,212
App. No.
18/822,121
Granted
Jun 23, 2026
Kind
B2
Abstract

Systems and methods are provided for distributed video storage and search with edge computing. The method may comprise caching a first portion of data on a first device. The method may further comprise determining, at a second device, whether the first device has the first portion of data. The determining may be based on whether the first piece of data satisfies a specified criterion. The method may further comprise sending the data, or a portion of the data, and/or a representation of the data from the first device to a third device.

Claims (54)

1 . A method for distributed, on-demand video access, comprising:

receiving first video data captured by a camera proximate a first device, wherein the camera and the first device are on or in a first vehicle;

determining, independent of a specific search query and dependent on analytics applied to a representation of the first video data, whether the first video data meets predefined criteria for safe or unsafe driving;

in response to a determination that the first video data meets predefined criteria for unsafe driving, marking a first video data file corresponding to the first video data for automatic upload to a cloud device; and

displaying to a user, in response to a received search filter data comprising a time window and a vehicle identifier corresponding to the first vehicle, an indicator for each of a plurality of previously recorded video files, each of the previously recorded video files corresponding to the first vehicle and a time within the time window; wherein each indicator comprises a status of whether a corresponding video file is:

readily available,

pending upload,

available on request, or

not available.

2 . The method of claim 1 , further comprising:

receiving second video data captured by the camera, wherein a second video data file corresponding to the second video data is not marked for automatic video data upload to the cloud device; and

storing the second video data file to a local memory of the first device as a second previously recorded video file.

3 . The method of claim 2 , wherein the displayed status of the second previously recorded video file of the plurality of previously recorded video files, is one of:

available on request, or

not available.

4 . The method of claim 2 , wherein the displayed status of the second previously recorded video file is available on request; and wherein the indicator for the second previously recorded video file further comprises an interface whereby a user may request upload of the second previously recorded video file.

5 . The method of claim 2 , further comprising:

overwriting the second previously recorded video file in the local memory of the first device, and wherein the displayed status is not available.

6 . The method of claim 1 , further comprising:

periodically transmitting, from the first device to the cloud device, a summary of previously recorded video data that the first device has stored in the local memory, and wherein each displayed status is based on the transmitted summary.

7 . The method of claim 6 , wherein the first device is powered down at a time that the indicators for each of the plurality of previously recorded video files are displayed.

8 . The method of claim 6 , wherein a second previously recorded video file is stored in a local memory of the first device, wherein the corresponding displayed status is available on request, and further comprising:

receiving a request to upload the second previously recorded video file; and

updating the corresponding displayed status to pending upload.

9 . The method of claim 6 , wherein the summary comprises a bit mask over a period of time, the bit mask comprising a 1 to indicate that data is available for a corresponding time slot and a 0 to indicate data is not available for that time slot.

10 . The method of claim 6 , further comprising:

determining a priority based on the analytics applied to a representation of the first video data;

allocating video storage resources for the first video data in an amount that is dependent on the determined priority.

11 . The method of claim 1 , further comprising:

transmitting, from the first device to the cloud device, a list of previously recorded video data files that the first device has stored in one or more circular buffers, wherein the list is transmitted via a video list Application Program Interface.

12 . The method of claim 1 , further comprising:

calling the video list Application Program Interface at predetermined intervals; wherein the call results in a transmission of a first list indicating the files that have been added since the last call, and a second list indicating the files that have been deleted since the last call.

13 . The method of claim 12 , wherein the first previously recorded video file was uploaded to the cloud, wherein the displayed status is readily available; and wherein the indicator for the first previously recorded video file further comprises an interface whereby a user may play the first previously recorded video file.

14 . The method of claim 1 , wherein the displayed status of the first previously recorded video file of the plurality of previously recorded video files is one of:

readily available, or

pending upload.

15 . The method of claim 1 , further comprising:

periodically uploading metadata from the first device to the cloud, wherein the metadata comprises GPS data corresponding to the location of the device.

16 . A non-transitory computer-readable medium storing program instructions executable by at least one processor to perform:

receiving first video data captured by a camera proximate a first device, wherein the camera and the first device are on or in a first vehicle;

determining, independent of a specific search query and dependent on analytics applied to a representation of the first video data, whether the first video data meets predefined criteria for safe or unsafe driving;

in response to a determination that the first video data meets predefined criteria for unsafe driving, marking a first video data file corresponding to the first video data for automatic upload to a cloud device; and

displaying to a user, in response to a received search filter data comprising a time window and a vehicle identifier corresponding to the first vehicle, an indicator for each of a plurality of previously recorded video files, each of the previously recorded video files corresponding to the first vehicle and a time within the time window; wherein each indicator comprises a status of whether a corresponding video file is:

readily available,

pending upload,

available on request, or

not available.

17 . The non-transitory computer-readable medium of claim 16 , storing further instructions executable by at least one processor to perform:

receiving second video data captured by the camera, wherein a second video data file corresponding to the second video data is not marked for automatic video data upload to the cloud device; and

storing the second video data file to a local memory of the first device as a second previously recorded video file.

18 . The non-transitory computer-readable medium of claim 17 , wherein the displayed status of the second previously recorded video file of the plurality of previously recorded video files, is one of:

available on request, or

not available.

19 . The non-transitory computer-readable medium of claim 17 , wherein the displayed status of the second previously recorded video file is available on request; and wherein the indicator for the second previously recorded video file further comprises an interface whereby a user may request upload of the second previously recorded video file.

Assignments (3)
SECURITY INTEREST Recorded Apr 6, 2026
From: NETRADYNE, INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY
Reel/Frame 075435/0670 →
SECURITY INTEREST Recorded Apr 6, 2026
From: NETRADYNE, INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY
Reel/Frame 075359/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2024
From: AGRAWAL, AVNEESH; JULIAN, DAVID JONATHAN; ANNAPUREDDY, VENKATA SREEKANTA REDDY; TUTIKA, MANOJ VENKATA; RAI, VINAY KUMAR; PANDYA, SANDEEP; KAHN, ADAM DAVID; CAMPOS, MICHAEL; CHAKRAVARTHY, BADUGU NAVEEN; NIGAM, ANKUR; KUMAR, PRAVEEN; GUDENA, TEJESWARA RAO; KISHORE, KARAN
To: NETRADYNE, INC.
Reel/Frame 068466/0527 →
Continuity (5)
Continuation 17187503 · Feb 26, 2021
Continuation 16324217
Provisional Application 62468894 · Mar 8, 2017
Provisional Application 62372284 · Aug 8, 2016
Related Publication 20240419732A1 · Dec 19, 2024
References Cited (37)
US 8515212B1 · Bengio et al. · 2013 [cited by applicant]
US 9147353B1 · Slusar · 2015 [cited by applicant]
US 10346464B2 · Ye et al. · 2019 [cited by applicant]
US 20020073086A1 · Thompson et al. · 2002 [cited by applicant]
US 20050162687A1 · Lee · 2005 [cited by applicant]
US 20100260426A1 · Huang et al. · 2010 [cited by applicant]
US 20100309226A1 · Quack et al. · 2010 [cited by applicant]
US 20120170902A1 · Zhu et al. · 2012 [cited by applicant]
US 20120201041A1 · Gergets et al. · 2012 [cited by applicant]
US 20130330055A1 · Zimmermann et al. · 2013 [cited by applicant]
US 20130332004A1 · Gompert et al. · 2013 [cited by applicant]
US 20140250115A1 · Yang · 2014 [cited by applicant]
US 20140331167A1 · Kasterstein et al. · 2014 [cited by applicant]
US 20140333794A1 · Rhoads et al. · 2014 [cited by applicant]
US 20150067471A1 · Bhardwaj et al. · 2015 [cited by applicant]
US 20150183372A1 · Lambert et al. · 2015 [cited by applicant]
US 20150213056A1 · Maluf et al. · 2015 [cited by applicant]
US 20150286894A1 · Cho et al. · 2015 [cited by applicant]
US 20150312341A1 · Smith · 2015 [cited by applicant]
US 20160275352A1 · Rajappa et al. · 2016 [cited by applicant]
US 20160335814A1 · Tamari · 2016 [cited by examiner]
US 20170109609A1 · Hill et al. · 2017 [cited by applicant]
US 20170132687A1 · Kim et al. · 2017 [cited by applicant]
US 20170177978A1 · Narasimha et al. · 2017 [cited by applicant]
US 20170235768A1 · Amrutkar et al. · 2017 [cited by applicant]
US 20170242875A1 · Jiang et al. · 2017 [cited by applicant]
US 20170287444A1 · Masuda et al. · 2017 [cited by applicant]
US 20180018390A1 · Zhang et al. · 2018 [cited by applicant]
US 20180260401A1 · Agrawal et al. · 2018 [cited by applicant]
US 20180341706A1 · Agrawal et al. · 2018 [cited by applicant]
US 20190278440A1 · Drory et al. · 2019 [cited by applicant]
WO 2012150591A2 · 2012 [cited by applicant]
Communication pursuant to Article 94(3) EPC in EP Patent Application No. 17840151.9 dated Sep. 30, 2021, 7 pages. [cited by applicant]
Extended European Search Report for EP Patent Application No. 17840151.9, dated Jan. 29, 2020, 9 pages. [cited by applicant]
First Office Action in CN Patent Application No. 201780062236.X dated Dec. 2, 2022, 12 pages. [cited by applicant]
International Search Report and Written Opinion for PCT Patent Application No. PCT/US2017/045932, dated Oct. 30, 2017, 9 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 17/187,503 dated Nov. 9, 2023, 29 pages. [cited by applicant]