# US 10,313,196 B2 · Automated grouping of computing devices in a networked data storage system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,313,196 B2
- Document ID: US10313196B2
- Status: Granted
- Kind: B2
- Application number: 15/055,073
- Filed: 2016-02-26
- Published: 2016-09-01
- Granted: 2019-06-04
- Earliest claimed: 2012-07-19
- Assignees: Commvault Systems, Inc.
- Applicants: Commvault Systems, Inc.
- Inventors: Anand Vibhor; Amey Vijaykumar Karandikar
- Web page: https://patentgrep.com/patent/US10313196B2

## CPC

- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- G06F 11/1458: {Management of the backup or restore process}
- G06F 11/1461: {Backup scheduling policy}
- G06F 11/1464: {for networked environments}
- G06Q 10/06313: {Resource planning in a project environment}
- H04L 41/0803: Configuration setting
- H04L 41/0889: {Techniques to speed-up the configuration process}
- H04L 41/0893: Assignment of logical groups to network elements
- H04L 41/20: {Network management software packages}
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04W 4/50: Service provisioning or reconfiguring
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- H04L 41/048: {mobile agents}
- H04L 41/082: the condition being updates or upgrades of network functionality
- H04L 41/0894: Policy-based network configuration management
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 8 (depends on 7)

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.

### Claim 9 (depends on 7)

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.

### Claim 10 (depends on 1)

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.

### Claim 11 (depends on 1)

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.

### Claim 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.

### Claim 13 (depends on 12)

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.

### Claim 14 (depends on 13)

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.

### Claim 15 (depends on 12)

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.

### Claim 16 (depends on 12)

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.

### Claim 17 (depends on 12)

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.

### Claim 18 (depends on 17)

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.

### Claim 19 (depends on 12)

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.

### Claim 20 (depends on 12)

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.

### Claim 21 (depends on 12)

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.
