IP Library Granted Patent US 9,538,207
Granted Patent B2
US 9,538,207 · App. 14/097,555 · Granted Jan 3, 2017

Method and apparatus for managing video storage

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,538,207
App. No.
14/097,555
Granted
Jan 3, 2017
Kind
B2
Abstract

A system and method for managing video storage in a network including continuously receiving in real time, at a recording server, from an edge device having a local storage, a plurality of incoming packets pertaining to a video stream, determining that at least one packet of the video stream is missing, and retrieving from the edge device the missing packets stored in the local storage, while continuing receiving additional incoming packets pertaining to the video stream in real time.

Claims (61)

1. A method for managing video storage in a network comprising:

continuously receiving in real time, at a recording server, from an edge device having a local storage, a plurality of incoming packets pertaining to a video stream, wherein the edge device is configured to stream the video stream in real time and to store captured video on the local storage;

determining, by the recording server, that at least one packet of the video stream is missing, while continuing receiving additional incoming packets pertaining to the video stream in real time;

determining, by the recording server, a time duration of a viewing time gap that is created in the video stream because of an absence of the at least one missing packet, wherein the time duration of the viewing time gap depends on a location of a frame that is corrupted due to the absence of the at least one missing packet, within a group of pictures (GOP);

checking, by the recording server, if the time duration of the viewing time gap is above a predetermined viewing time gap threshold; and

if the time duration of the viewing time gap is larger than the predetermined viewing time gap threshold, retrieving, by the recording server, from the edge device, the video included in the at least one missing packet stored in the local storage, while continuing receiving additional incoming packets pertaining to the video stream in real time.

2. The method of claim 1 , wherein determining that at least one packet of the video stream is missing comprises:

placing a group of the incoming packets in a reorder buffer, wherein each of the incoming packets comprise a sequence number, the sequence numbers indicative of the sequence of the packets;

checking for sequentiality of the sequence numbers of the packets in the reorder buffer; and

determining that at least one packet of the video stream is missing if at least one sequence number of the packets in the reorder buffer is missing.

3. The method of claim 2 , comprising:

calculating a gap value between a sequence number of a last received packet and a sequence number of a previous received packet; and

determining that at least one packet is missing if the gap value is higher than a reorder threshold.

4. The method of claim 1 , wherein retrieving from the edge device comprises:

saving the packets that are received in real time at the recording server in recording buffers; and

retrieving from the edge device packets pertaining to an entire recording buffer in which at least one packet of the video stream is missing.

5. The method of claim 1 , wherein, if a frame that is corrupted due the at least one missing packet is a reference frame, the viewing time gap is determined by calculating the viewing time from the frame that is corrupted to a next intra frame.

6. The method of claim 1 , comprising:

continuously streaming in real time, by an edge device a plurality of packets pertaining to the video stream; and

storing the captured video on the edge device, wherein the captured video stored on the edge device include at least one Group of Pictures (GOP).

7. The method of claim 1 , wherein determining the time duration of the viewing time gap comprises:

integrating the viewing time gap over a predetermined time interval.

8. The method of claim 1 , wherein the method further comprises:

imposing at least one intra frame at a selected GOP, wherein the viewing time gap that is created in the video stream because of the absence of the at least one missing packet is calculated according to one of: a time to a next intra frame and a time to the next imposed intra frame.

9. A recording server for managing video storage in a network, the recording server comprising:

a memory and a processor configured to:

continuously receive in real time, from an edge device having a local storage, a plurality of incoming packets pertaining to a video stream;

determine that at least one packet of the video stream is missing while continuing receiving additional incoming packets pertaining to the video stream in real time;

determine a time duration of a viewing time gap that is created in the video stream because of an absence of the at least one missing packet, wherein the time duration of the viewing time gap depends on a location of a frame that is corrupted due to the absence of the at least one missing packet, within a group of pictures (GOP);

check if the time duration of the viewing time gap is above a predetermined viewing time gap threshold; and

if the time duration of the viewing time gap is larger than the predetermined viewing time gap threshold, retrieve from the edge device the video included in the at least one missing packet stored in the local storage, while continuing receiving additional incoming packets pertaining to the video stream in real time.

10. The recording server of claim 9 , wherein the processor configured to determine that at least one packet of the video stream is missing by:

placing a group of the incoming packets in a reorder buffer, wherein each of the incoming packets comprise a sequence number, the sequence numbers indicative of the sequence of the packets;

checking for sequentiality of the sequence numbers of the packets in the reorder buffer; and

determining that at least one packet of the video stream is missing if at least one sequence number of the packets in the reorder buffer is missing.

11. The recording server of claim 9 , wherein the processor is configured to:

save the packets that are received in real time at the recording server in recording buffers; and

retrieve from the edge device packets pertaining to an entire recording buffer in which at least one packet of the video stream is missing.

12. The recording server of claim 9 , wherein the processor is to:

determine a duration of a viewing time gap that is created in the video stream during a time interval because of the at least one missing packet of the video stream, by, if a frame that is corrupted due the at least one missing packet is an a reference frame, calculating the viewing time from the frame that is corrupted to a next intra frame.

13. The recording server of claim 9 , comprising:

storage device for storing video streams,

wherein the processor is configured to:

store the video stream and the video included in the at least one missing packet on the storage device.

14. A system for capturing, managing and storing video recordings, the system comprising:

a recording server according to claim 9 ; and

one or more edge devices each configured to:

continuously stream, in real time, a plurality of packets pertaining to the video stream; and

store captured video on the edge device, wherein the captured video stored on the edge device include at least one Group of Pictures (GOP).

15. A non-transitory computer-readable storage medium, having stored thereon instructions, that when executed on a processor, cause the processor to:

continuously receive in real time, from an edge device having a local storage, a plurality of incoming packets pertaining to a video stream;

determine that at least one packet of the video stream is missing while continuing receiving additional incoming packets pertaining to the video stream in real time;

determine a time duration of a viewing time gap that is created in the video stream because of an absence of the at least one missing packet, wherein the time duration of the viewing time gap depends on a location of a frame that is corrupted due to the absence of the at least one missing packet, within a group of pictures (GOP);

check if the time duration of the viewing time gap is above a predetermined viewing time gap threshold; and

if the time duration of the viewing time gap is larger than the predetermined viewing time gap threshold, retrieve from the edge device the video included in the at least one missing packet stored in the local storage, while continuing receiving additional incoming packets pertaining to the video stream in real time.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed cause the computer to determine that at least one packet of the video stream is missing by:

placing a group of the incoming packets in a reorder buffer, wherein each of the incoming packets comprise a sequence number, the sequence numbers indicative of the sequence of the packets;

checking for sequentiality of the sequence numbers of the packets in the reorder buffer; and

determining that at least one packet of the video stream is missing if at least one sequence number of the packets in the reorder buffer is missing.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed further cause the computer to:

determine a duration of a viewing time gap that is created in the video stream, during a time interval, because of the at least one missing packet of the video stream by, if a frame that is corrupted due the at least one missing packet is a reference frame, calculating the viewing time remaining from the frame that is corrupted to a next intra frame.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Apr 6, 2023
From: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS ADMINISTRATIVE AGENT
To: QOGNIFY LTD.; ON-NET SURVEILLANCE SYSTEMS INC.
Reel/Frame 063280/0367 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 047871 FRAME: 0771. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 1, 2020
From: QOGNIFY LTD.; ON-NET SURVEILLANCE SYSTEMS INC.
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC
Reel/Frame 053117/0260 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2015
From: NICE SYSTEMS LTD.
To: QOGNIFY LTD.
Reel/Frame 036615/0243 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2014
From: SHMUELI, YARON
To: NICE-SYSTEMS LTD.
Reel/Frame 032307/0909 →