IP Library Granted Patent US 7,797,284
Granted Patent B1
US 7,797,284 · App. 11/844,442 · Granted Sep 14, 2010

Dedicated software thread for communicating backup history during backup operations

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 7,797,284
App. No.
11/844,442
Granted
Sep 14, 2010
Kind
B1
Abstract

A technique provides a dedicated software thread for communicating backup history to clients of a storage system during backup operations. Illustratively, an operating system of the storage system may execute one or more “session” (e.g., backup) threads and a “worker” (e.g., backup history) thread. In particular, the one or more session threads are each configured to backup stored data for a corresponding client to a backup storage device and to generate backup history of data backed up to the backup storage device. Also, the worker thread is configured to obtain the backup history from the one or more session threads, and transmit the backup history to the corresponding client of each of the one or more session threads. In this manner, the worker thread may wait for a response from the corresponding clients, while the one or more corresponding session threads continue to backup the stored data and generate backup history.

Claims (51)

1. A storage system, comprising:

one or more network interfaces configured to communicate with one or more clients;

one or more processors coupled to the network interfaces and configured to execute one or more processes;

one or more storage devices configured to contain stored data for the one or more clients; and

a memory configured to store an operating system having threads executable by each processor, the operating system having

one or more session threads configured to backup the stored data of a corresponding client to a backup storage device, and generate backup history of stored data backed up to the backup storage device, wherein the backup history is file history of the stored data backed up to the backup storage device, and

a worker thread configured to obtain the backup history from the one or more session threads, transmit the backup history to the corresponding client of each of the one or more session threads, and wait for a response that acknowledges receipt of the backup history from the corresponding clients while the one or more corresponding session threads continue to backup the stored data and generate backup history without waiting for the response from the corresponding clients.

2. The storage system as in claim 1 , wherein the worker thread is further configured to:

receive a positive response from a corresponding client; and

transmit additional backup history obtained from the corresponding session thread to the corresponding client.

3. The storage system as in claim 1 , wherein the worker thread is further configured to:

receive a negative response from a corresponding client; and

inform the corresponding session thread of the negative response.

4. The storage system as in claim 3 , wherein the negative response is an error message received from the corresponding client.

5. The storage system as in claim 3 , wherein the negative response is no response received from the corresponding client by expiration of a response timer.

6. The storage system as in claim 3 , wherein the one or more sessions threads are further configured to:

receive notice of the negative response for a corresponding client from the worker thread; and in response,

cease the backup of stored data for the corresponding client.

7. The storage system as in claim 1 , wherein the worker thread is further configured to:

aggregate backup history obtained from the one or more session threads; and

transmit the aggregated backup history to the one or more clients.

8. The storage system as in claim 1 , wherein the worker thread is further configured to:

maintain a worker thread queue in the memory to queue the backup history from the one or more session threads while the worker thread waits for responses from clients.

9. The storage system as in claim 8 , wherein the worker thread queue is a first-in-first-out (FIFO) queue.

10. The storage system as in claim 8 , wherein the worker thread is further configured to:

maintain one or more worker thread queues in the memory each to correspondingly queue the backup history from each corresponding session thread while the worker thread waits for corresponding responses from corresponding clients.

11. The storage system as in claim 8 , wherein the one or more session threads are further configured to:

transmit the backup history to the queue in response to the queue having available space.

12. The storage system as in claim 8 , wherein the worker thread is further configured to:

transmit a freelist to the one or more session threads to indicate available space in the queue.

13. The storage system as in claim 1 , wherein the backup history is a file history.

14. The storage system as in claim 1 , wherein the backup storage device is a tape storage device.

15. The storage system as in claim 1 , wherein the one or more session threads are further configured to:

transmit the backup history to the worker thread.

16. The storage system as in claim 1 , wherein the one or more session threads are further configured to:

continue to backup the stored data and generate backup history without waiting for a response from a corresponding client.

17. A method, comprising:

backing up, by a session thread, stored data of a client to a backup storage device;

generating, by the session thread, backup history of the stored data backed up to the backup storage device, wherein the backup history is file history of the stored data backed up to the backup storage device;

transmitting the backup history to a worker thread, which is configured to communicate the backup history with the client; and

continuing to backup the stored data and generate backup history while the worker thread waits for a response from the client that acknowledges receipt of the backup history.

18. A method, comprising:

obtaining, by a worker thread, backup history from one or more session threads, the backup history generated by the session threads in response to backing up stored data of a corresponding client to a backup storage device, wherein the backup history is file history of the stored data backed up to the backup storage device;

transmitting the backup history to the corresponding client of each of the one or more session threads; and

waiting for a response from the corresponding clients that acknowledges receipt of the backup history, while the one or more corresponding session threads continue to backup the stored data and generate backup history without waiting for the response from the corresponding client.

19. The method as in claim 18 , further comprising:

receiving a positive response from a corresponding client; and

transmitting additional backup history obtained from the corresponding session thread to the corresponding client.

20. The method as in claim 18 further comprising:

receiving a negative response from a corresponding client; and

informing the corresponding session thread of the negative response.

Assignments (2)
CHANGE OF NAME Recorded Jun 26, 2024
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 067847/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2007
From: CHELLAPPA, SRIDHAR; RAMANI, BALAJI; RAJASEKARAN, UMESH
To: NETWORK APPLIANCE, INC.
Reel/Frame 019741/0499 →