IP Library Granted Patent US 9,262,276
Granted Patent B2
US 9,262,276 · App. 14/176,346 · Granted Feb 16, 2016

Storage device as buffer for unreliable storage

Inventor: Dan Eidelman (Holon, IL)
Assignee: Qognify Ltd.
G06F11/1456G06F11/201G06F11/2069G06F11/3034G06F2201/84
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,262,276
App. No.
14/176,346
Granted
Feb 16, 2016
Kind
B2
Abstract

A system and method for managing storage of a digital stream including writing data of the stream to a network storage device, while monitoring availability of the network storage device, switching to writing additional data of the stream to a standby storage device while continuing monitoring the availability of the network storage device, if the network storage device becomes unavailable, switching back to writing additional data of the stream to the network storage device while continuing monitoring the availability of the network storage device, when the network storage device becomes available, and writing to the network storage device the additional data that was written to the standby storage device while the network storage device was unavailable, concurrently with the writing of the additional data of the stream to the network storage device.

Claims (63)

1. A method for managing storage of a digital stream, the method comprising:

writing data of the stream to a main storage device, while monitoring availability of the main storage device;

switching to writing additional data of the stream to a standby storage device while continuing monitoring the availability of the main storage device, if the main storage device becomes unavailable;

switching back to writing additional data of the stream to the main storage device while continuing monitoring the availability of the main storage device, when the main storage device becomes available; and

writing to the main storage device the additional data that was written to the standby storage device while the main storage device was unavailable, concurrently with the writing of the additional data of the stream to the main storage device,

wherein monitoring availability of the main storage device comprises:

performing test read and write operations into various locations on the main storage device;

measuring response time of the test operations; and

determining that the main storage device is unavailable if the response time is above a predetermined threshold.

2. The method of claim 1 , wherein the main storage device is a network storage device and the standby storage device is a direct access storage device.

3. The method of claim 2 , wherein monitoring availability of the network storage device comprises performing network tests.

4. The method of claim 1 , comprising:

determining whether the main storage device is available or unavailable based on at least one of: a type of failure of the main storage device, amount of failures of the main storage device that occurred in a time interval and on an average duration of each failure of the main storage device.

5. The method of claim 1 , comprising:

monitoring of available throughput of the main storage device,

wherein the writing to the main storage device the additional data that was written to the standby storage device is performed considering available throughput of the main storage device.

6. The method of claim 1 , wherein the data is saved in files, and the method comprises:

maintaining a list of the files, wherein the list comprises for each file an indication of whether it is stored on the main storage device or on the standby storage device and location of each file on either the main storage device or the standby storage device.

7. A method for managing storage of a digital stream, the method comprising:

writing data of the stream to a main storage device, while monitoring availability of the main storage device;

switching to writing additional data of the stream to a standby storage device while continuing monitoring the availability of the main storage device, if the main storage device becomes unavailable;

switching back to writing additional data of the stream to the main storage device while continuing monitoring the availability of the main storage device, when the main storage device becomes available; and

writing to the main storage device the additional data that was written to the standby storage device while the main storage device was unavailable, concurrently with the writing of the additional data of the stream to the main storage device,

wherein the data is saved in files, and the method comprises:

maintaining a list of the files, wherein the list comprises for each file an indication of whether it is stored on the main storage device or on the standby storage device and location of each file on either the main storage device or the standby storage device; and

maintaining a linked list, wherein the linked list comprises order of files containing consecutive data of a stream, and indication for each file on whether it is stored on the main storage device or on the standby storage device,

wherein the writing to the main storage device the additional data that was written to the standby storage device comprises:

scanning the linked list;

writing files that are stored in the standby storage device to the main storage device; and

updating the linked list.

8. A recording server for managing storage of a digital stream, the recording server comprising:

a processor configured to:

write data of the stream to a main storage device, while monitoring availability of the main storage device;

switch to writing additional data of the stream to a standby storage device while continuing monitoring the availability of the main storage device, if the main storage device becomes unavailable;

switch back to writing additional data of the stream to the main storage device while continuing monitoring the availability of the main storage device, when the main storage device becomes available; and

write to the main storage device the additional data that was written to the standby storage device while the main storage device was unavailable, concurrently with the writing of the additional data of the stream to the main storage device,

wherein the processor is configured to monitor availability of the network storage device by:

performing test read and write operations into various locations on the main storage device;

measuring response time of the test operations; and

determining that the main storage device is unavailable if the response time is above a predetermined threshold.

9. The recording server of claim 8 , wherein the main storage device is a network storage device and the standby storage device is a direct access storage device.

10. The recording server of claim 9 , wherein the processor is configured to monitor availability of the network storage device by performing network tests.

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

determine whether the main storage device is available or unavailable based on at least one of: a type of failure of the main storage device, amount of failures of the main storage device that occurred in a time interval and on an average duration of each failure of the main storage device.

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

monitor available throughput of the main storage device; and

write to the main storage device the additional data that was written to the standby storage device considering available throughput of the main storage device.

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

write data of the stream to a main storage device, while monitoring availability of the main storage device;

switch to writing additional data of the stream to a standby storage device while continuing monitoring the availability of the main storage device, if the main storage device becomes unavailable;

switch back to writing additional data of the stream to the main storage device while continuing monitoring the availability of the main storage device, when the main storage device becomes available; and

write to the main storage device the additional data that was written to the standby storage device while the main storage device was unavailable, concurrently with the writing of the additional data of the stream to the main storage device,

wherein the instructions when executed cause the processor to monitor availability of the network storage device by:

performing test read and write operations into various locations on the main storage device;

measuring response time of the test operations; and

determining that the main storage device is unavailable if the response time is above a predetermined threshold.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the main storage device is a network storage device and the standby storage device is a direct access storage device.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions when executed cause the processor to monitor availability of the network storage device by performing network tests.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions when executed cause the processor to:

determine whether the main storage device is available or unavailable based on at least one of: a type of failure of the main storage device, amount of failures of the main storage device that occurred in a time interval and on an average duration of each failure of the main storage device.

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

monitor available throughput of the main storage device; and

write to the main storage device the additional data that was written to the standby storage device considering available throughput of the main storage device.

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 Apr 9, 2014
From: EIDELMAN, DAN
To: NICE-SYSTEMS LTD.
Reel/Frame 032631/0091 →
Continuity (1)
Related Publication 20150227437A1 · Aug 13, 2015