IP Library › Granted Patent US 10,284,645
Granted Patent B1
US 10,284,645 · App. 14/270,508 · Granted May 7, 2019

Backup from network attached storage to sequential access media in network data management protocol environments

Inventor: Alioune Thiam (Hugo, MN)
Assignee: Veritas Technologies LLC
H04L67/1097G06F11/1448G06F13/28G06F13/287G06F17/30073
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 10,284,645
App. No.
14/270,508
Granted
May 7, 2019
Kind
B1
Abstract

Various systems and methods for backing up multiplexed backup data streams from a Network Attached Storage (NAS) device to a sequential access media device are disclosed. One such method involves creating multiple identities of the sequential access media device on a server. A portion of a memory of the server is allocated to each respective identity of the sequential access media device. A backup data stream from the NAS device is written to each allocated portion of the memory. Data written to each allocated portion of the memory is multiplexed for transmission to the sequential access media device for storage.

Claims (110)

1. A method comprising:

creating a plurality of identities of a sequential access media device on a server;

allocating a corresponding portion of a memory of the server to each respective identity of the plurality of identities of the sequential access media device;

writing data from a plurality of backup data streams from an intermediary network attached storage (NAS) device to each allocated portion of the memory; and

multiplexing data written to each allocated portion of the memory for transmission to the sequential access media device for storage, wherein

the multiplexing comprises

dedicating a direct memory access (DMA) channel of a plurality of DMA channels to each backup data stream of the plurality of backup data streams,

assigning an allocated portion of the memory to the DMA channel, and

mapping the memory to the sequential access media device.

2. The method of claim 1 , wherein

the allocated portion of the memory is assigned based on an association between a backup data stream of the plurality of backup data streams written to the allocated portion and the DMA channel of the plurality of DMA channels dedicated to the backup data stream, and

the multiplexing further comprises

writing a packet identifier associated with the backup data stream dedicated to the DMA channel to the memory.

3. The method of claim 2 , wherein the memory of the server comprises:

a front end coupled to the intermediary NAS device for identifying which NDMP filer each backup data stream from the intermediary NAS device is associated with; and

a back end coupled to the sequential access media device and mapped to the DMA channel dedicated to the backup data stream.

4. The method of claim 1 , comprising:

coupling the server and the intermediary NAS device through a network;

coupling the sequential access media device and the server through the network;

adding a network data management protocol (NDMP) filer as a network-connected agent in a backup application resident on the server;

transmitting an identity of the sequential access media device to the NDMP filer over the network, wherein

the identity of the sequential access media device is one of the plurality of identities; and

transmitting the data to the sequential access media device using a DMA controller.

5. The method of claim 4 , wherein

an identity of a plurality of identities of the sequential access media device is discovered by the NDMP filer of the intermediary NAS device by virtue of the server receiving an NDMP command from the NDMP filer.

6. The method of claim 5 , wherein

a response from the server to the NDMP command from the NDMP filer comprises the identity of the plurality of identities of the sequential access media device allocated to the NDMP filer on the server.

7. The method of claim 1 , wherein

creating the plurality of identities of the sequential access media device on the server is performed at a transport level of the server instead of a disk level or a storage level of the server, and

multiplexing data written to each allocated portion of the memory for transmission to the sequential access media device for storage is performed at a Peripheral Component Interconnect (PCI)-level of the memory of the server.

8. The method of claim 1 , wherein

a header is written to each block in the plurality of backup data streams before the data written to each allocated portion of the memory in the server is multiplexed and transmitted to the sequential access media device for storage.

9. A non-transitory computer readable storage medium comprising program instructions executable to:

create a plurality of identities of a sequential access media device on a server;

allocate a corresponding portion of a memory of the server to each respective identity of the plurality of identities of the sequential access media device;

write data from a plurality of backup data streams from a an intermediary network attached storage (NAS) device to each allocated portion of the memory; and

multiplex data written to each allocated portion of the memory for transmission to the sequential access media device for storage, wherein

the program instructions executable to multiplex comprise further program instructions executable to

dedicate a direct memory access (DMA) channel of a plurality of DMA channels to each backup data stream of the plurality of backup data streams,

assign an allocated portion of the memory to the DMA channel, and

map the memory to the sequential access media device.

10. The non-transitory computer readable storage medium of claim 9 , wherein

the allocated portion of the memory is assigned based on an association between a backup data stream of the plurality of backup data streams written to the allocated portion and the DMA channel of the plurality of DMA channels dedicated to the backup data stream, and

the program instructions executable to multiplex comprise further program instructions executable to

write a packet identifier associated with the backup data stream dedicated to the DMA channel to the memory.

11. The non-transitory computer readable storage medium of claim 10 , wherein the memory of the server comprises:

a front end for identifying which NDMP filer each backup data stream from the intermediary NAS device is associated with; and

a back end mapped to the DMA channel dedicated to the backup data stream.

12. The non-transitory computer readable storage medium of claim 9 , further comprising:

coupling the server and the intermediary NAS device through a network,

coupling the sequential access media device and the server through the network,

adding a network data management protocol (NDMP) filer as a network-connected agent in a backup application resident on the server,

transmitting an identity of the sequential access media device to the NDMP filer over the network, wherein

the identity of the sequential access media device is one of the plurality of identities,

and

transmitting the multiplexed data to the sequential access media device using a DMA controller.

13. The non-transitory computer readable storage medium of claim 12 , wherein

an identity of a plurality of identities of the sequential access media device is discovered by the NDMP filer of the intermediary NAS device by virtue of the server receiving an NDMP command from the NDMP filer.

14. The non-transitory computer readable storage medium of claim 13 , wherein

a response from the server to the NDMP command from the NDMP filer comprises the identity of the plurality of identities of the sequential access media device allocated to the NDMP filer on the server.

15. The non-transitory computer readable storage medium of claim 9 , wherein

creating the plurality of identities of the sequential access media device on the server is performed at a transport level of the server, and

multiplexing data written to each allocated portion of the memory for transmission to the sequential access media device for storage is a Peripheral Component Interconnect (PCI)-level multiplexing.

16. The non-transitory computer readable storage medium of claim 9 , wherein

a header is written to each block in the plurality of backup data streams before the data written to each allocated portion of the memory in the server is multiplexed and transmitted to the sequential access media device for storage.

17. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to

create a plurality of identities of a sequential access media device on a server,

allocate a corresponding portion of a memory of the server to each respective identity of the plurality of identities of the sequential access media device,

write data from a plurality of backup data streams from an intermediary network attached storage (NAS) device to each allocated portion of the memory, and

multiplex data written to each allocated portion of the memory for transmission to the sequential access media device for storage, wherein

the program instructions executable to multiplex comprise further program instructions executable to

dedicate a direct memory access (DMA) channel of a plurality of DMA channels to each backup data stream of the plurality of backup data streams,

assign an allocated portion of the memory to the DMA channel, and

map the memory to the sequential access media device.

18. The system of claim 17 , wherein

the allocated portion of the memory is assigned based on an association between a backup data stream of the plurality of backup data streams written to the allocated portion and the DMA channel of the plurality of DMA channels dedicated to the backup data stream, and

the program instructions executable to multiplex comprise further program instructions executable to

write a packet identifier associated with the backup data stream dedicated to the DMA channel to the memory.

19. The system of claim 17 , wherein the program instructions are further configured to:

couple the server and the intermediary NAS device through a network,

couple the sequential access media device and the server through the network,

add a network data management protocol (NDMP) filer as a network-connected agent in a backup application resident on the server,

transmit an identity of the sequential access media device to the NDMP filer over the network, wherein

the identity of the sequential access media device is one of the plurality of identities,

and

transmit the data to the sequential access media device using a DMA controller.

20. The system of claim 17 , wherein

a header is written to each block in the plurality of backup data streams before the data written to each allocated portion of the memory in the server is multiplexed and transmitted to the sequential access media device for storage.

21. A computer-implemented method comprising:

creating a plurality of identities of a sequential access media device on a server;

allocating a portion of a memory of the server to each respective identity of the plurality of identities of the sequential access media device;

writing data from a plurality of backup data streams from a network attached storage (NAS) device to each allocated portion of the memory;

multiplexing data written to each allocated portion of the memory for transmission to the sequential access media device for storage;

adding a network data management protocol (NDMP) filer as a network-connected agent in a backup application resident on the server;

receiving a request from the NDMP filer to transmit an identity of the plurality of identities of the sequential access media device;

transmitting the identity of the sequential access media device to the NDMP filer;

multiplexing data written to each allocated portion of the memory; and

transmitting the multiplexed data to the sequential access media device using a DMA controller.

22. A computer-implemented method comprising:

allocating a direct memory access (DMA) channel to a backup data stream from a network data management protocol (NDMP) filer;

allocating a portion of a memory of a server to the DMA channel;

determining whether the server comprises a front end and a back end that are configured to perform identification of the backup data stream from the NDMP filer at the front end, and map the DMA channel to the back end;

if the server comprises the front end and the back end that are configured to perform the identification,

bypassing writing the backup data stream to the memory when performing a backup operation, and

reading the backup data stream from the memory;

if the server does not comprise the front end and the back end that are configured,

writing a packet identifier associated with the backup data stream to the memory; and

mapping the memory to a sequential access media device.

Assignments (13)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2014
From: THIAM, ALIOUNE
To: SYMANTEC CORPORATION
Reel/Frame 032842/0935 →
Cited By (2)
US 12,282,394 US 12,287,709