IP Library Granted Patent US 11,609,826
Granted Patent B2
US 11,609,826 · App. 17/348,583 · Granted Mar 21, 2023

Multi-streaming backup operations for mailboxes

Inventors: Christopher A. Alonzo (Seymour, CT); Jun H. Ahn (Manalapan, NJ); Manas Bhikchand Mutha (Maharashtra, IN); Vipul Pawale (Ocean, NJ)
Assignee: Commvault Systems, Inc.
G06F11/1464G06F11/1451G06F11/1461G06Q10/107H04L51/42H04L67/1095H04L67/56G06F3/065G06F11/1453
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 11,609,826
App. No.
17/348,583
Granted
Mar 21, 2023
Kind
B2
Abstract

Systems and methods for performing backup operations and other secondary copy operations for mail servers, such as Exchange servers, are described. In some cases, the systems and methods perform multi-streaming backup and other copy operations using a single mailbox agent, which launches backup streams via a coordinator that determines when to launch streams, at what mailboxes (or folders) to launch the streams, and so on. The coordinator communicates with controllers at different machines (e.g., servers) to be backed up, and may assign streams, mailboxes, and so on, to the different controllers, which perform the backup operations for their assigned mailboxes and/or clients.

Claims (60)

1. A computer-implemented method for managing data storage operations for a mail server managed by a mailbox agent, the method comprising:

assigning, by a mailbox agent contained within a first proxy machine, a controller contained within a second proxy machine to a mail server, wherein:

the mail server includes a plurality of mailboxes,

the mailbox agent includes an indexing module that creates an index for each mailbox of the plurality of mailboxes,

the controller is configured to control a media agent contained within the second proxy machine, and

the media agent is configured to perform data storage operations for the mail server;

determining, by the mailbox agent, a number of data streams to allocate to the controller based on one or more characteristics of the mail server;

allocating, by the mailbox agent, the determined number of data streams to the controller; and

instructing, by the controller, the media agent to perform the data storage operations for the mail server, wherein:

metadata for one or more mailboxes of the plurality of mailboxes is obtained based on the data storage operations, and

one or more indices is updated with the obtained metadata based on a mailbox from which the metadata was obtained.

2. The method of claim 1 , wherein the data storage operations include generating a backup copy of data created at the mail server.

3. The method of claim 1 , wherein the data storage operations include generating a secondary copy of data created at the mail server.

4. The method of claim 1 , wherein the mail server comprises an Exchange server that generates Exchange data.

5. The method of claim 1 , wherein the data storage operations include a restore operation that restores data from a backup copy to the mail server.

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

causing a display of a graphical user interface that displays one or more of:

the mailbox agent;

the plurality of mailboxes; and

the mail server.

7. The method of claim 1 , wherein the one or more characteristics of the mail server includes an amount of data being generated by the mail server.

8. A system for managing data storage operations for a mail server managed by a mailbox agent, the system comprising:

one or more non-transitory, computer-readable media having computer-executable instructions stored thereon; and

one or more processors that, having executed the computer-executable instructions, cause a system to perform a plurality of operations comprising:

assigning, by a mailbox agent contained within a first proxy machine, a controller contained within a second proxy machine to a mail server, wherein:

the mail server includes a plurality of mailboxes,

the mailbox agent includes an indexing module that creates an index for each mailbox of the plurality of mailboxes,

the controller is configured to control a media agent contained within the second proxy machine, and

the media agent is configured to perform data storage operations for the mail server,

determining, by the mailbox agent, a number of data streams to allocate to the controller based on one or more characteristics of the mail server;

allocating, by the mailbox agent, the determined number of data streams to the controller, and

instructing, by the controller, the media agent to perform the data storage operations for the mail server, wherein:

metadata for one or more mailboxes of the plurality of mailboxes is obtained based on the data storage operations, and

one or more indices is updated with the obtained metadata based on a mailbox from which the metadata was obtained.

9. The system of claim 8 , wherein the data storage operations include generating a backup copy of data created at the mail server.

10. The system of claim 8 , wherein the data storage operations include generating a secondary copy of data created at the mail server.

11. The system of claim 8 , wherein the mail server comprises an Exchange server that generates Exchange data.

12. The system of claim 8 , wherein the data storage operations include a restore operation that restores data from a backup copy to the mail server.

13. The system of claim 8 , wherein the plurality of operations further comprises:

causing a display of a graphical user interface that displays one or more of:

the mailbox agent;

the plurality of mailboxes; and

the mail server.

14. The system of claim 8 , wherein the one or more characteristics of the mail server includes an amount of data being generated by the mail server.

15. A non-transitory, computer-readable medium having computer-executable instructions stored thereon that, when executed by one or more processors, cause a system to perform a plurality of operations, the plurality of operations comprising:

assigning, by a mailbox agent contained within a first proxy machine, a controller contained within a second proxy machine to a mail server, wherein:

the mail server includes a plurality of mailboxes,

the mailbox agent includes an indexing module that creates an index for each mailbox of the plurality of mailboxes,

the controller is configured to control a media agent contained within the second proxy machine, and

the media agent is configured to perform data storage operations for the mail server;

determining, by the mailbox agent, a number of data streams to allocate to the controller based on one or more characteristics of the mail server;

allocating, by the mailbox agent, the determined number of data streams to the controller; and

instructing, by the controller, the media agent to perform the data storage operations for the mail server, wherein:

metadata for one or more mailboxes of the plurality of mailboxes is obtained based on the data storage operations, and

one or more indices is updated with the obtained metadata based on a mailbox from which the metadata was obtained.

16. The non-transitory, computer-readable medium of claim 15 , wherein the data storage operations include generating a backup copy of data created at the mail server.

17. The non-transitory, computer-readable medium of claim 15 , wherein the data storage operations include generating a secondary copy of data created at the mail server.

18. The non-transitory, computer-readable medium of claim 15 , wherein the mail server comprises an Exchange server that generates Exchange data.

19. The non-transitory, computer-readable medium of claim 15 , wherein the data storage operations include a restore operation that restores data from a backup copy to the mail server.

20. The non-transitory, computer-readable medium of claim 15 , wherein the one or more characteristics of the mail server includes an amount of data being generated by the mail server.

Assignments (3)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2021
From: AHN, JUN H.; MUTHA, MANAS BHIKCHAND; ALONZO, CHRISTOPHER A.; PAWALE, VIPUL
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 056738/0776 →