IP Library Granted Patent US 10,313,196
Granted Patent B2
US 10,313,196 · App. 15/055,073 · Granted Jun 4, 2019

Automated grouping of computing devices in a networked data storage system

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,313,196
App. No.
15/055,073
Granted
Jun 4, 2019
Kind
B2
Abstract

According to certain aspects, systems and methods are provided for grouping clients together in a networked data storage environment. For instance, clients can be grouped together based on the software installed on the client or the client type. Each client group can be configured to maintain the configuration of clients within the client group. For example, one client group can be configured to ensure that a particular software suite remains up-to-date. Another client group can be configured to ensure that data within a particular directory or on a particular storage device associated with each client of the client group is backed up each night.

Claims (59)

1. A method of managing a set of client computing devices in a networked data storage environment, the method comprising:

electronically accessing, from a data store, grouping criteria for grouping a plurality of client computing devices that form a client pool into one or more client groups, the client groups comprising different priority levels, the client computing devices each having at least one software application executing thereon that generates production data, wherein primary copies of the production data are stored in primary storage in a native format, and wherein secondary copies of the production data are stored in secondary storage separate from the primary storage in a secondary storage format that is different than the native format, and wherein the grouping criteria comprise a plurality of grouping rules of different weights;

comparing during creation of the secondary copies, by one or more processors, a set of characteristics associated with a first client of the plurality of client computing devices to the grouping criteria to obtain a first comparison result of the percentage of grouping rules that the first client satisfies;

based on the first comparison result that the client satisfies at least one of the group comprising: a predetermined percentage of the grouping rules and at least a more heavily weighted rule, assigning the first client to first and second client groups of the one or more client groups;

when the first and second client groups have conflicting configuration rules, selecting a set of configuration rules to follow based on the priority levels of the client groups;

electronically accessing, from a data store, a set of configuration rules associated with the first and second client groups;

automatically initiating, by one or more processors, the configuration of the first client according to the set of configuration rules, wherein based on at least the client name of the first client, the set of configuration rules direct the one or more processors to automatically install on the first client the one or more software applications that generate the production data in the native format, automatically install one or more application-specific data agents to access the production data of an associated application in the native format, and automatically identify one or more storage policies when backups are to occur; and

automatically copying, based on the one or more storage policies associated with the selected set of configuration rules, the production data generated by the first client stored in the native format to create one or more secondary copies of the production data in the secondary storage in the secondary storage format.

2. The method of claim 1 , further comprising:

in response to a second client computing device being added to the pool, comparing, by one or more processors, a set of characteristics associated with the second client with the grouping criteria;

based on the comparison, assigning the second client to the first client group; and

initiating the configuration of the second client according to the set of configuration rules.

3. The method of claim 1 , further comprising, in response to a modification in the set of configuration rules, initiating re-configuration of the first client according to the modified configuration rules.

4. The method of claim 1 , further comprising:

in response to a change in the set of characteristics associated with the first client, comparing, by one or more processors, the changed set of characteristics associated with the first client to the grouping criteria; and

if the comparison of the changed set of characteristics to the grouping criteria indicates that the client should no longer be assigned to the first client group, disassociating the first client from the first client group.

5. The method of claim 1 , further comprising presenting a graphical user interface (GUI) to a user enabling the user to define grouping criteria rules.

6. The method of claim 1 , wherein the one or more client groups are organized in a hierarchy of parent client groups and child client groups, each parent client group having a subset of the grouping criteria included by a child client group of the parent client group.

7. The method of claim 1 , further comprising:

receiving modified grouping criteria for grouping the plurality of client computing devices; and

comparing, by one or more processors, the set of characteristics associated with the first client of the plurality of client computing devices to the modified grouping criteria to obtain a second comparison result.

8. The method of claim 7 , further comprising assigning the first client to a client group of the one or more client groups based on the second comparison result.

9. The method of claim 7 , further comprising:

presenting a preview of the one or more client groups based on the second comparison result, the preview indicating the clients to be included by each client group of the one or more clients groups upon receiving confirmation of the modified grouping criteria; and

in response to receiving the confirmation of the modified grouping criteria, assigning the first client to the client group of the one or more client groups based on the second comparison result, wherein the preview indicates that the client group includes the first client.

10. The method of claim 1 , wherein the set of characteristics can include one or more of the following: an installed software application, a hardware component, a geographic location, a name, a usage pattern, an associated user, a date, an installed agent, and a device classification of a client computing device.

11. The method of claim 1 , wherein the configuration rules can include one or more of the following: installation of a software application, installation of an agent, scheduling of a backup operation, and scheduling of a deduplication operation.

12. A system for managing a set of client computing devices in a networked data storage environment, the system comprising:

data storage configured to store grouping criteria for grouping a plurality of client computing devices that form a client pool into one or more client groups, the client groups comprising different priority levels, the client computing devices each having at least one software application executing thereon that generates production data, wherein primary copies of the production data are stored in primary storage in a native format, and wherein secondary copies of the production data are stored in secondary storage separate from the primary storage in a secondary storage format that is different than the native format, and wherein the grouping criteria comprise a plurality of grouping rules of different weights;

the data storage further configured to store configuration rules for configuring client computing devices;

computer hardware comprising one or more processors;

a client grouping module executing in the one or more processors and configured to:

electronically access the grouping criteria from the data storage during the creation of the secondary copies;

compare a set of characteristics associated with a first client of the plurality of client computing devices to the grouping criteria to obtain a first comparison result of the percentage of grouping rules that the first client satisfies; and

based on the first comparison result that the client satisfies at least one of the group comprising: a predetermined percentage of the grouping rules and at least a more heavily weighted rule, assign the first client to first and second client groups of the plurality of client groups;

when the first and second client groups have conflicting configuration rules, select a set of configuration rules to follow based on the priority levels of the client groups;

a configuration manager executing in the one or more processors and configured to:

electronically access, from the data storage, a set of configuration rules associated with the first and second client groups; and

initiate the configuration of the first client according to the set of configuration rules, wherein based on at least the client name of the first client, the set of configuration rules direct the one or more processors to automatically install on the first client the one or more software applications that generate the production data in the native format, automatically install one or more application-specific data agents to access the production data of an associated application in the native format, and automatically identify one or more storage policies when backups are to occur; and

a storage manager executing in the one or more processors and configured to:

automatically copy, based on the one or more storage policies associated with the selected set of configuration rules, the production data generated by the first client stored in the native format to create one or more secondary copies of the production data in the secondary storage in the secondary storage format.

13. The system of claim 12 , wherein the client grouping module is further configured to:

compare a changed set of characteristics associated with the first client to the grouping criteria in response to the change in the set of characteristics associated with the first client; and

if the comparison of the changed set of characteristics to the grouping criteria indicates that the client should no longer be assigned to the first client group, disassociate the first client from the first client group.

14. The system of claim 13 , wherein:

the client grouping module is further configured to assign the client to a second client group; and

the configuration module is further configured to:

electronically access from the data storage a set of configuration rules associated with the second client group; and

initiate the re-configuration of the first client according to the set of configuration rules associated with the second client group.

15. The system of claim 12 , further comprising an interface module configured to present a graphical user interface (GUI) to a user enabling the user to define grouping criteria rules.

16. The system of claim 12 , wherein the one or more client groups are organized in a hierarchy of parent client groups and child client groups, each parent client group having a subset of the grouping criteria included by a child client group of the parent client group.

17. The system of claim 12 , wherein the client grouping module is further configured to:

receive modified grouping criteria for grouping the plurality of client computing devices; and

compare the set of characteristics associated with the first client of the plurality of client computing devices to the modified grouping criteria to obtain a second comparison result.

18. The system of claim 17 , further comprising an interface module configured to present a preview of the one or more client groups based on the second comparison result, the preview indicating the clients to be included by each client group of the one or more clients groups upon receiving confirmation of the modified grouping criteria,

wherein the client grouping module is further configured to assign the first client to the client group of the one or more client groups based on the second comparison result in response to receiving the confirmation of the modified grouping criteria, wherein the preview indicates that the client group includes the first client.

19. The system of claim 12 , wherein the first comparison result indicates that the first client satisfies only a subset of grouping criteria associated with the first client group.

20. The system of claim 12 , wherein the set of characteristics can include one or more of the following: an installed software application, a hardware component, a geographic location, a name, a usage pattern, an associated user, a date, an installed agent, and a device classification of a client computing device.

21. The system of claim 12 , wherein the configuration rules can include one or more of the following: installation of a software application, installation of an agent, scheduling of a backup operation, and scheduling of a deduplication operation.

Assignments (2)
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 Feb 26, 2016
From: VIBHOR, ANAND; KARANDIKAR, AMEY VIJAYKUMAR
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 037844/0037 →