IP Library Granted Patent US 9,883,158
Granted Patent B2
US 9,883,158 · App. 14/604,915 · Granted Jan 30, 2018

Systems, methods, and software for improved video data recovery effectiveness

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 9,883,158
App. No.
14/604,915
Granted
Jan 30, 2018
Kind
B2
Abstract

Methods, systems, and software are provided herein that allow for storing a data file in a storage device. The storage system splits a video data file into a plurality of data segments, generates a plurality of recovery headers for the data segments, and combines ones of the recovery headers with ones of the data segments to form a plurality of storage packets.

Claims (38)

1. A method of operating a storage system, the method comprising:

splitting a data file into data segments for storage in non-contiguous slots of a storage device; and

generating a recovery header for storage with each of the data segments, wherein the recovery header comprises data segment recovery information such that it is possible to, without any information from a file index, find and link the data segments together from the non-contiguous slots to reconstruct the data file, wherein the recovery header comprises at least Magic identifier (ID), Object ID, Sequence Number, and Chunk Size elements, wherein the Object ID comprises a Primary Object ID and a Format ID, wherein the Format ID comprises a counter which increments each time a format of the storage device occurs, and wherein the Primary Object ID comprises a counter that (a) resets to zero each time a format of the storage device occurs, and (b) increases when a new object is stored in the storage device.

2. The method of claim 1 , further comprising:

locating empty slots on the storage device for the storage of the data segments and recovery headers; and

storing the data segments and recovery headers in the empty slots.

3. The method of claim 2 , wherein the locating of the empty slots comprises:

identifying potential storage slots in the storage device;

identifying a portion of the potential storage slots as a storage slot for a first data segment of the data segments; and

storing both the first data segment and the recovery header associated with the first data segment in the storage slot.

4. The method of claim 2 , further comprising:

scanning the storage device for recovery flags associated with the recovery headers; and

retrieving the data segments and the recovery headers from the storage device based on the recovery flags.

5. The method of claim 4 , further comprising reconstructing the data file from the data segments based on the recovery headers associated with the data segments.

6. The method of claim 5 , wherein reconstructing the data file from the data segments comprises ordering the data segments based on the recovery headers.

7. The method of claim 1 , wherein splitting the data file into data segments comprises splitting a video data file into the plurality of data segments based on video data content of the video data file.

8. A non-transitory computer-readable medium having program instructions stored thereon for operating a storage system, that when executed by the storage system, direct the storage system to:

split a data file into data segments for storage in non-contiguous slots of a storage device; and

generate a recovery header for storage with each of the data segments, wherein the recovery header comprises data segment recovery information such that it is possible to, without any information from a file index, find and link the data segments together from the non-contiguous slots to reconstruct the data file, wherein the recovery header comprises at least Magic identifier (ID), Object ID, Sequence Number, and Chunk Size elements, wherein the Object ID comprises a Primary Object ID and a Format ID, wherein the Format ID comprises a counter which increments each time a format of the storage device occurs, and wherein the Primary Object ID comprises a counter that (a) resets to zero each time a format of the storage device occurs, and (b) increases when a new object is stored in the storage device.

9. The non-transitory computer-readable medium of claim 8 further having stored thereon instructs that, when executed by a processor, direct the processor to:

locate empty slots on the storage device for the storage of the data segments and recovery headers; and

store the data segments and recovery headers in the empty slots.

10. The method of claim 9 , further having stored thereon instructs that, when executed by a processor, direct the processor to:

scan the storage device for recovery flags associated with the recovery headers; and

retrieve the data segments and the recovery headers from the storage device based on the recovery flags.

11. The non-transitory computer-readable medium of claim 10 , further having stored thereon instructs that, when executed by a processor, direct the processor to:

reconstruct the data file from the data segments based on the recovery headers associated with the data segments.

12. The non-transitory computer-readable medium of claim 11 , wherein reconstructing the data file from the data segments comprises ordering the data segments based on the recovery headers.

13. The non-transitory computer-readable medium of claim 8 , wherein splitting the data file into data segments comprises splitting a video data file into the plurality of data segments based on video data content of the video data file.

14. A storage system comprising:

a storage device;

a processing system configured to split a data file into data segments for storage in non-contiguous slots of the storage device, and to generate a recovery header for storage with each of the data segments, wherein the recovery header comprises data segment recovery information such that it is possible to, without any information from a file index, find and link the data segments together from the non-contiguous slots to reconstruct the data file, wherein the recovery header comprises at least Magic identifier (ID), Object ID, Sequence Number, and Chunk Size elements, wherein the Object ID comprises a Primary Object ID and a Format ID, wherein the Format ID comprises a counter which increments each time a format of the storage device occurs, and wherein the Primary Object ID comprises a counter that (a) resets to zero each time a format of the storage device occurs, and (b) increases when a new object is stored in the storage device.

15. The system of claim 14 , wherein the processing system is further configured to locate empty slots on the storage device for the storage of the data segments and recovery headers, and the storage device is configured to store the data segments and recovery headers in the empty slots.

16. The system of claim 15 , wherein the processing system is further configured to:

scan the storage device for recovery flags associated with the recovery headers;

retrieve the data segments and the recovery headers from the storage device based on the recovery flags; and

reconstruct the data file from the data segments based on the recovery headers associated with the data segments.

17. The system of claim 16 , wherein reconstructing the data file from the data segments comprises ordering the data segments based on the recovery headers.

Assignments (5)
SECURITY INTEREST Recorded Dec 23, 2025
From: VERINT AMERICAS INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 074034/0292 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (043293/0567) Recorded Nov 26, 2025
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: VERINT AMERICAS INC.
Reel/Frame 073796/0639 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jul 21, 2017
From: VERINT AMERICAS INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 043293/0567 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2016
From: VERINT VIDEO SOLUTIONS INC.
To: VERINT AMERICAS INC.
Reel/Frame 037720/0899 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2015
From: HUBIN, MORTIMER; OUELLET, SYLVAIN
To: VERINT VIDEO SOLUTIONS INC.
Reel/Frame 035207/0629 →