US20140149358A1 - Configuring computing devices using a template - Google Patents

Configuring computing devices using a template Download PDF

Info

Publication number
US20140149358A1
US20140149358A1 US13/688,357 US201213688357A US2014149358A1 US 20140149358 A1 US20140149358 A1 US 20140149358A1 US 201213688357 A US201213688357 A US 201213688357A US 2014149358 A1 US2014149358 A1 US 2014149358A1
Authority
US
United States
Prior art keywords
template
backup
server
configuration
computing devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/688,357
Inventor
Deepali Aphale
James Boettcher
Leila Rossi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KeepitSafe Inc
Original Assignee
Longsand Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Longsand Ltd filed Critical Longsand Ltd
Priority to US13/688,357 priority Critical patent/US20140149358A1/en
Assigned to LONGSAND LIMITED reassignment LONGSAND LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BOETTCHER, JAMES, APHALE, DEEPALI, ROSSI, LEILA
Publication of US20140149358A1 publication Critical patent/US20140149358A1/en
Assigned to KEEPITSAFE, INC. reassignment KEEPITSAFE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LONGSAND LIMITED
Priority to US16/679,173 priority patent/US11379311B2/en
Priority to US17/831,898 priority patent/US20220374314A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • G06F17/30575
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process

Definitions

  • a computing environment can include a number of computing devices.
  • Examples of such computing devices include servers, such as data servers (which can be accessed by client devices to access data stored in storage subsystems accessible by the data servers), or other types of servers.
  • Servers deployed in a computing environment are configured to allow the servers to perform their respective functions, such as to perform backup of certain data to a backup system.
  • servers can be manually configured (such as for data backup) by information technology (IT) personnel or other users.
  • IT information technology
  • FIG. 1 is a block diagram of an example computing environment that incorporates some implementations
  • FIG. 2 is a flow diagram of a server configuration process according to some implementations
  • FIG. 3 is a block diagram of an example arrangement that includes a management interface device and a configuration system according to some implementations;
  • FIG. 4 is a block diagram of a server that is configurable using a server template according to some implementations.
  • FIG. 5 is a flow diagram of a process of a configuration system according to some implementations.
  • configuring the computing devices can include configuring the computing devices to perform data backup operations (discussed further below).
  • Manual configuration of computing devices can result in inconsistent configuration of the computing devices. Manual configuration can also lead to mis-configuration of some of the computing devices.
  • the computing devices of a computing environment can include data servers, which can include backup agents to perform backup of data to a cloud-based backup system or other type of backup system.
  • the computing devices can include other types of servers or other computing devices. Examples of other computing devices include any or some combination of the following: desktop computers, notebook computers, tablet computers, smart phones, personal digital assistants (PDAs), and so forth.
  • a server template can be used.
  • the server template is a container that includes configuration information that can be retrieved by multiple servers for configuring the servers.
  • configuring a server can refer to configuring machine-readable instructions (software and/or firmware) of the server.
  • the server template includes (1) at least one server property, and (2) backup control information (which can specify a backup policy and/or backup rule).
  • the backup control information can be part of a backup template that is included in the server template.
  • the backup control information is related to performing backup of selected data of the servers to a backup system.
  • the backup of selected data is performed according to the backup control information.
  • Backing up data of a server to the backup system can involve copying the data from the server to the backup system.
  • backing up data can involve archiving the data of the server, where the archived data is moved from the server to the backup system.
  • the backup system can reside in a cloud; such a backup system is referred to as a cloud-based backup system.
  • a “cloud” can refer to any arrangement of one or multiple systems that can store backup data on behalf of the servers, and where the one or multiple systems are accessible over a network.
  • the cloud-based backup system can be available over a public network, such as the Internet, or over an internal network of an enterprise (business concern, educational organization, government agency, etc.).
  • the server template can be used to automatically configure multiple servers such that individual configuration of the servers does not have to be performed.
  • the servers associated with the server template form a group of servers having certain aspects that are configured identically with each other, based on the server template.
  • other servers not associated with server template can be configured differently.
  • the other servers can be individually configured using different server configuration information.
  • multiple server templates can be provided for configuring respective different groups of servers.
  • a first server template can be used to configure a first group of servers
  • a second, different server template can be used to configure a second, different group of servers, and so forth.
  • the template can be a more general template that can be used to configure other types of computing devices.
  • Such template can include at least one computing device property and backup control information.
  • a server property can be a property that describes an operational feature or aspect of a server. This is a property that controls how the server operates or behaves.
  • An example of a server property can include contact information (e.g. information identifying a primary technical contact and/or secondary technical contact), which identifies personnel to contact in case of a fault, failure, or other issue.
  • another example of a server property can include an auto-upgrade setting, which can specify one or multiple criteria associated with automatically upgrading the server, including the upgrade of machine-readable instructions (e.g. software and/or firmware) of the server.
  • Another example server property includes a subscription property, which relates to options useable by a server to set the backup control information.
  • Backup control information can include a backup policy and/or a backup rule associated with backing up data from the server to a backup system (such as a cloud-based backup system).
  • a backup policy can include a schedule that controls when data is backed up from the server to the backup system.
  • a backup policy can include a retention policy that specifies one or multiple retention criteria associated with retaining backup data.
  • An example retention criterion can be an age-based criterion that specifies an age past which backup data is to be deleted.
  • a backup rule can identify data that is to be backed up, and further data that is not to be backed up.
  • the backup rule can specify the types of data that are to be backed up, locations of data that are to be backed up, and so forth.
  • FIG. 1 is a block diagram of an example computing environment 100 that includes servers 102 .
  • Each server 102 has a storage subsystem 104 to store data.
  • the storage subsystem 104 is depicted as being part of the server 102 , in other examples, the storage subsystem 104 can be external of the server 102 , but is accessible by the server 102 .
  • Each server 102 also includes a backup agent 120 that is able to perform backup of data from the corresponding storage subsystem 104 to a backup system 116 .
  • the server 102 (and more specifically the backup agent 120 in the server 102 ) can be configured based on content in a server configuration database 105 in a management system 112 .
  • the server configuration database 105 can include multiple instances of configuration data for respective servers. In the example of FIG. 1 , a configuration data instance for a first server (server 1 ) is shown. Similar configuration data instances for other servers can be included in the server configuration database 105 .
  • the configuration data instance for server 1 (which can be one of the servers 102 of FIG. 1 ) includes server property(ies) 106 and backup control information 108 .
  • the server property(ies) 106 and backup control information 108 for a server 102 can be set using a server template 110 , which can also be stored at the configuration system 112 .
  • the server properties 106 and backup control information 108 for multiple servers 102 associated with the server template 110 can be set using the server template 110 .
  • the server template 110 can include at least one server property (including, for example, contact information, an auto-upgrade setting, a subscription property, and so forth, as discussed above) and backup control information.
  • the backup control information can be part of a backup template that is included in the server template.
  • Other servers 102 can be configured individually rather than based on the server template 112 .
  • the server properties 106 and backup control information 108 of such other servers can be set individually, such as by manual configuration.
  • configuring a server 102 is accomplished by setting the configuration data (the server property(ies) 106 and backup control information 108 ) associated with the server 102 at the configuration system 112 , either based on the server template 110 or based on individual configuration.
  • the server 102 (and more specifically, the backup agent 120 ) can access its configuration by retrieving the configuration data at the configuration system 112 .
  • the server 102 can poll (such as periodically or in response to other events) the configuration system 112 for the current configuration data for the server 102 .
  • each server 102 does not have to persistently store the configuration data, but can instead access the configuration data at the configuration system 112 each time the server 102 has to perform an operation that is controlled by the configuration data.
  • the configuration data (the server property(ies) 106 and backup control information 108 ) of a server 102 can be persistently stored at the server 102 (instead of at the configuration system 112 ).
  • configuring a server 102 involves setting the server property(ies) 106 and backup control information 108 at the server 102 using the server template 110 or using an individual configuration.
  • the servers 102 are able to communicate with the configuration system 112 over a network 114 , which can be a public network (e.g. Internet) or can be a private network (such as a network in an enterprise). Backup data from the servers 102 can also be communicated to the backup system 116 over the network 114 .
  • a network 114 can be a public network (e.g. Internet) or can be a private network (such as a network in an enterprise).
  • Backup data from the servers 102 can also be communicated to the backup system 116 over the network 114 .
  • the backup system 116 can be a cloud-based backup system or other type of backup system.
  • the backup system 116 includes a backup storage subsystem 117 that can be used to store backup data.
  • the backup storage subsystem 117 can be provided at one location, or can be distributed across multiple locations.
  • Data of a storage subsystem 104 in a server 102 can be backed up to the backup system 116 according to the backup control information 108 .
  • the data to be backed up can be copied or moved over the network 114 to the backup system 116 .
  • server reconfiguration can be accomplished by modifying the server template 110 .
  • modifying the server template 110 which can include a change of a server property and/or the backup control information of the server template 110 , automatic reconfiguration of the servers 102 can be performed.
  • a server 102 can either be associated with the server template 110 or not associated with the server template 110 .
  • Provisioning information 109 can be included in the configuration data for each server 102 to indicate whether or not the server 102 is associated with the server template 110 . If the server 102 is associated with the server template 110 , then the server 102 is configured based on the server template 110 . On the other hand, if the server 102 is not associated with the server template 110 , then the server 102 is not configured based on the server template 110 , but instead is configured individually.
  • the provisioning information 109 can include (1) an association indication that indicates that the server 102 is associated with the server template 110 , and (2) template identification information identifying the server template 110 (from among multiple server templates) to use.
  • the configuration system 112 accesses the server template 110 (identified in the provisioning information 109 ) to perform configuration of the server 102 .
  • a server 102 it is possible for a server 102 to disassociate from the server template 110 , such as by not including the association indication in the provisioning information 109 .
  • the configuration system 112 does not configure the server 102 with any server template.
  • a server 102 can be disassociated from the server template 110 in those situations where it is determined that the server 102 should have a configuration that is different from the configuration specified by the server template 110 .
  • the server 102 can disassociate from a first server template, and then associate with a second, different server template to configure the server 102 according to the second server template.
  • FIG. 2 is a flow diagram of a server configuration process according to some implementations.
  • the process of FIG. 2 can be performed by the configuration system 112 .
  • the server configuration process configures (at 202 ) the servers 102 using the server template 110 .
  • Configuring the servers 102 includes setting the server property(ies) 106 and/or backup control information 108 associated with each server 102 based on the respective at least one server property and/or backup control information in the server template 110 .
  • the server property(ies) 106 and backup control information 108 for a given server can be included in the server configuration database 105 at the configuration system 112 .
  • the server property(ies) 106 and backup control information 108 for the given server 102 can be persistently stored at the given server 102 .
  • the servers 102 can be reconfigured (at 204 ) according to the changed server template 110 .
  • servers 102 can be configured using the server template 110 in a more timely and consistent fashion. Additionally, by being able to reconfigure servers 102 using a modified server template 110 , server configuration changes can be easily made across multiple servers 102 .
  • FIG. 3 depicts an example arrangement in which a management interface device 302 can be used for creating the server template 110 at the configuration system 112 .
  • the management interface device 302 includes a management user interface 304 displayed in a display 306 of the client device 302 .
  • the management interface device 302 can include a computer (e.g. notebook computer, desktop computer, tablet computer), a smart phone, a PDA, or other electronic device.
  • the management user interface 304 can be a web-based user interface provided by a web server module 308 of the configuration system 112 .
  • the management interface device 102 can access the web server module 308 to download a web page to provide the management user interface 304 .
  • a different type of user interface 304 can be employed, such as a command line interface (in which commands are submitted as command lines).
  • the management user interface 304 can include various control elements that are selectable by a user of the management interface device 302 to create the server template 110 .
  • the user can use the control elements (e.g. control menu items, text boxes to enter text data, etc.) of the user interface 304 to specify server properties and backup control information to be included in the server template 110 .
  • the configuration system 112 further includes a template configuration module 310 , which is able to receive commands and other input information from the management interface device 302 based on user input. In response to the commands and other input information from the management interface device 302 , the template configuration module 310 builds the server template 110 .
  • the server template 110 can be stored in a storage medium 312 of the configuration system 112 .
  • the management interface device 302 also allows a user to designate a group of servers 102 that are to be configured with the server template 110 . For example, the user can use a command line interface to designate the servers 102 that are associated with the server template 110 .
  • the management user interface 304 can include fields for the user to select servers 102 .
  • the configuration system 112 can provision the selected servers 102 to use the server template 110 for configuration of the servers 102 in the group.
  • the configuration system 112 also includes configuration code 320 to set respective configuration data (of servers 102 associated with the server template 110 ) based on the server template 110 .
  • the configuration system 112 includes a database server module 322 that is able to retrieve configuration data from the server configuration database 105 in response to a request from a server 102 .
  • the server configuration database 105 can be stored in the storage medium 312 .
  • the template configuration module 310 , web server module 308 , configuration code 320 , and database server module 322 can be implemented as machine-readable instructions executable on one or multiple processors 314 in the configuration system 112 .
  • the configuration system 112 further includes a network interface 315 to allow the configuration system 112 to communicate over the network 114 .
  • the management interface device 302 can be used by a user to modify a previously created server template 110 .
  • Modifying the server template 110 at the configuration system 112 can trigger a reconfiguration of the servers 102 associated with the server template 110 .
  • the reconfiguration of the servers 102 can be accomplished by the configuration code 320 updating the respective configuration data in the server configuration database 105 using the modified server template 110 .
  • the management interface device 302 can also be used by a user to associate or disassociate a given server 102 with a server template. For example, the user can submit a command in a command line interface or other user interface at the management interface device 302 to specify whether or not the given server 102 is to be associated or not associated with the server template. Associating the given server 102 can be indicated with an association indication in the provisioning information 109 ( FIG. 1 ).
  • FIG. 4 is a block diagram of an example arrangement including a server 102 and the configuration system 112 .
  • the server 102 includes the backup agent 120 , which can be implemented as machine-readable instructions executable on one or multiple processors 404 in the server 102 .
  • the backup agent 120 is used to perform backup of data stored or managed by the server 102 to the backup system 116 ( FIG. 1 ).
  • the server 102 includes a network interface 410 to allow the server 102 to communicate over the network 114 .
  • the server 102 also includes a storage medium 406 accessible by the processor(s) 404 .
  • FIG. 5 is a flow diagram of an example process performed by the configuration system 112 of FIG. 3 .
  • the configuration system 112 receives (at 502 ) input information from the management interface device 302 ( FIG. 3 ) that relates to content of the server template 110 .
  • the configuration system 112 creates (at 504 ) the server template 110 .
  • the configuration system 112 further provisions (at 506 ) selected servers 102 to use the server template 110 for configuration of the servers 102 .
  • the servers selected for configuration by the server template 110 can be specified at the management interface device 102 (such as in a command line interface or other user interface). Provisioning the selected servers can involve setting the association indication in the provisioning information 109 ( FIG. 1 ) for each of the selected servers 102 to associate each server 102 with the server template 110 .
  • the configuration system 112 receives (at 508 ) further input information from the user interface 304 relating to modification of the server template 110 . Based on the further input information, the configuration system 112 modifies (at 510 ) the server template 110 . The configuration system 112 next triggers (at 512 ) reconfiguration of the servers 102 associated with the server template 110 in response to the modified server template 110 .
  • An issue associated with performing reconfiguration of the server 102 may be that there can be a data backup operation that is ongoing.
  • the configuration code 320 in the configuration system 112 can determine whether the modified configuration information of the server template 110 would affect an ongoing operation of a server 102 . If not, the modified property (server property and/or backup control information) of the server template 110 can be applied immediately to set the respective configuration data in the server configuration database 105 , without waiting for the ongoing operation to complete. For example, modifying a server property of the server template 110 would not affect an ongoing operation of the server 102 . However, modifying the backup control information of the server template 110 may affect an ongoing operation of the server 102 .
  • the configuration code 320 checks for the type of change (e.g. modified backup control information) that is made to the server template 110 .
  • the configuration code 320 To change a backup policy at the server 102 , the configuration code 320 first waits for a current backup operation (or multiple current backup operations) to complete. After completion of the backup operation(s), the configuration code 320 applies the change to the respective configuration data in the server configuration database 105 .
  • the configuration code 320 also waits for a current backup operation (or multiple current backup operations) to complete. After completion of the backup operation(s), the configuration code 320 applies the change of the backup rule to the respective configuration data in the server configuration database 105 .
  • Changing the backup rule involves deleting the backup rule, and generating a new backup rule, which is a more complex process than changing the backup policy, which can be accomplished by modifying a parameter or multiple parameters (e.g. an age associated with a data retention policy) of the backup policy.
  • the configuration system 112 can also receive (at 514 ) additional input from the user interface 304 specifying disassociation of a particular server 102 from the server template 110 .
  • the configuration system 112 updates (at 516 ) the provisioning information 109 of the particular server 102 to disassociate the particular server 102 from the server template 110 .
  • modules described above can be implemented as machine-readable instructions executed on one or multiple processors (such as 314 or 404 in FIG. 3 or 4 ).
  • a processor can include a microprocessor, microcontroller, processor module or subsystem, programmable integrated circuit, programmable gate array, or another control or computing device.
  • Data and instructions are stored in respective storage devices, which are implemented as one or multiple computer-readable or machine-readable storage media.
  • the storage media include different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories; magnetic disks such as fixed, floppy and removable disks; other magnetic media including tape; optical media such as compact disks (CDs) or digital video disks (DVDs); or other types of storage devices.
  • DRAMs or SRAMs dynamic or static random access memories
  • EPROMs erasable and programmable read-only memories
  • EEPROMs electrically erasable and programmable read-only memories
  • flash memories such as fixed, floppy and removable disks
  • magnetic media such as fixed, floppy and removable disks
  • optical media such as compact disks (CDs) or digital video disks (DVDs); or other
  • the instructions discussed above can be provided on one computer-readable or machine-readable storage medium, or alternatively, can be provided on multiple computer-readable or machine-readable storage media distributed in a large system having possibly plural nodes.
  • Such computer-readable or machine-readable storage medium or media is (are) considered to be part of an article (or article of manufacture).
  • An article or article of manufacture can refer to any manufactured single component or multiple components.
  • the storage medium or media can be located either in the machine running the machine-readable instructions, or located at a remote site from which machine-readable instructions can be downloaded over a network for execution.

Abstract

According to example implementations, computing devices are configured using a template. The template specifies at least one computing device property and backup control information relating to backing up data from the computing devices to a backup system. The computing devices are reconfigured in response to modification of the template.

Description

    BACKGROUND
  • A computing environment can include a number of computing devices. Examples of such computing devices include servers, such as data servers (which can be accessed by client devices to access data stored in storage subsystems accessible by the data servers), or other types of servers.
  • Servers deployed in a computing environment are configured to allow the servers to perform their respective functions, such as to perform backup of certain data to a backup system. In some cases, servers can be manually configured (such as for data backup) by information technology (IT) personnel or other users.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Some embodiments are described with respect to the following figures:
  • FIG. 1 is a block diagram of an example computing environment that incorporates some implementations;
  • FIG. 2 is a flow diagram of a server configuration process according to some implementations;
  • FIG. 3 is a block diagram of an example arrangement that includes a management interface device and a configuration system according to some implementations;
  • FIG. 4 is a block diagram of a server that is configurable using a server template according to some implementations; and
  • FIG. 5 is a flow diagram of a process of a configuration system according to some implementations.
  • DETAILED DESCRIPTION
  • Configuring a relatively large number of computing devices in a computing environment can be time consuming, particularly if the configuring is performed manually. In some examples, configuring the computing devices can include configuring the computing devices to perform data backup operations (discussed further below). Manual configuration of computing devices can result in inconsistent configuration of the computing devices. Manual configuration can also lead to mis-configuration of some of the computing devices.
  • In some implementations, the computing devices of a computing environment can include data servers, which can include backup agents to perform backup of data to a cloud-based backup system or other type of backup system. In other implementations, the computing devices can include other types of servers or other computing devices. Examples of other computing devices include any or some combination of the following: desktop computers, notebook computers, tablet computers, smart phones, personal digital assistants (PDAs), and so forth.
  • In the ensuing discussion, reference is made to configuration of servers using techniques or mechanisms according to some implementations. However, in other examples, similar configuration techniques or mechanisms can be applied to other types of computing devices.
  • In accordance with some implementations, to improve efficiency in configuring servers, a server template can be used. The server template is a container that includes configuration information that can be retrieved by multiple servers for configuring the servers. Note that configuring a server can refer to configuring machine-readable instructions (software and/or firmware) of the server. As discussed further below, the server template includes (1) at least one server property, and (2) backup control information (which can specify a backup policy and/or backup rule). In some examples, the backup control information can be part of a backup template that is included in the server template.
  • The backup control information is related to performing backup of selected data of the servers to a backup system. The backup of selected data is performed according to the backup control information. Backing up data of a server to the backup system can involve copying the data from the server to the backup system. Alternatively, backing up data can involve archiving the data of the server, where the archived data is moved from the server to the backup system.
  • In some examples, the backup system can reside in a cloud; such a backup system is referred to as a cloud-based backup system. A “cloud” can refer to any arrangement of one or multiple systems that can store backup data on behalf of the servers, and where the one or multiple systems are accessible over a network. The cloud-based backup system can be available over a public network, such as the Internet, or over an internal network of an enterprise (business concern, educational organization, government agency, etc.).
  • The server template can be used to automatically configure multiple servers such that individual configuration of the servers does not have to be performed. By using the server template, the servers associated with the server template form a group of servers having certain aspects that are configured identically with each other, based on the server template.
  • In some cases, other servers not associated with server template can be configured differently. For example, the other servers can be individually configured using different server configuration information.
  • In other examples, multiple server templates can be provided for configuring respective different groups of servers. For example, a first server template can be used to configure a first group of servers, a second, different server template can be used to configure a second, different group of servers, and so forth.
  • Although reference is made to a server template used to configure servers, it is noted that the template can be a more general template that can be used to configure other types of computing devices. Such template can include at least one computing device property and backup control information.
  • A server property can be a property that describes an operational feature or aspect of a server. This is a property that controls how the server operates or behaves. An example of a server property can include contact information (e.g. information identifying a primary technical contact and/or secondary technical contact), which identifies personnel to contact in case of a fault, failure, or other issue. Also, another example of a server property can include an auto-upgrade setting, which can specify one or multiple criteria associated with automatically upgrading the server, including the upgrade of machine-readable instructions (e.g. software and/or firmware) of the server. Another example server property includes a subscription property, which relates to options useable by a server to set the backup control information. Although various example server properties are listed, it is noted that other or additional server properties can be used in other examples.
  • Backup control information can include a backup policy and/or a backup rule associated with backing up data from the server to a backup system (such as a cloud-based backup system). For example, a backup policy can include a schedule that controls when data is backed up from the server to the backup system. As another example, a backup policy can include a retention policy that specifies one or multiple retention criteria associated with retaining backup data. An example retention criterion can be an age-based criterion that specifies an age past which backup data is to be deleted.
  • A backup rule can identify data that is to be backed up, and further data that is not to be backed up. For example, the backup rule can specify the types of data that are to be backed up, locations of data that are to be backed up, and so forth.
  • FIG. 1 is a block diagram of an example computing environment 100 that includes servers 102. Each server 102 has a storage subsystem 104 to store data. Although the storage subsystem 104 is depicted as being part of the server 102, in other examples, the storage subsystem 104 can be external of the server 102, but is accessible by the server 102.
  • Each server 102 also includes a backup agent 120 that is able to perform backup of data from the corresponding storage subsystem 104 to a backup system 116. The server 102 (and more specifically the backup agent 120 in the server 102) can be configured based on content in a server configuration database 105 in a management system 112. The server configuration database 105 can include multiple instances of configuration data for respective servers. In the example of FIG. 1, a configuration data instance for a first server (server 1) is shown. Similar configuration data instances for other servers can be included in the server configuration database 105.
  • The configuration data instance for server 1 (which can be one of the servers 102 of FIG. 1) includes server property(ies) 106 and backup control information 108. In accordance with some implementations, the server property(ies) 106 and backup control information 108 for a server 102 can be set using a server template 110, which can also be stored at the configuration system 112. For improved efficiency, the server properties 106 and backup control information 108 for multiple servers 102 associated with the server template 110 can be set using the server template 110. As noted above, the server template 110 can include at least one server property (including, for example, contact information, an auto-upgrade setting, a subscription property, and so forth, as discussed above) and backup control information. In some examples, the backup control information can be part of a backup template that is included in the server template.
  • Other servers 102 can be configured individually rather than based on the server template 112. The server properties 106 and backup control information 108 of such other servers can be set individually, such as by manual configuration.
  • In some implementations, configuring a server 102 is accomplished by setting the configuration data (the server property(ies) 106 and backup control information 108) associated with the server 102 at the configuration system 112, either based on the server template 110 or based on individual configuration. The server 102 (and more specifically, the backup agent 120) can access its configuration by retrieving the configuration data at the configuration system 112.
  • For example, the server 102 can poll (such as periodically or in response to other events) the configuration system 112 for the current configuration data for the server 102. In such examples, each server 102 does not have to persistently store the configuration data, but can instead access the configuration data at the configuration system 112 each time the server 102 has to perform an operation that is controlled by the configuration data.
  • In alternative implementations, the configuration data (the server property(ies) 106 and backup control information 108) of a server 102 can be persistently stored at the server 102 (instead of at the configuration system 112). In such alternative implementations, configuring a server 102 involves setting the server property(ies) 106 and backup control information 108 at the server 102 using the server template 110 or using an individual configuration.
  • The servers 102 are able to communicate with the configuration system 112 over a network 114, which can be a public network (e.g. Internet) or can be a private network (such as a network in an enterprise). Backup data from the servers 102 can also be communicated to the backup system 116 over the network 114.
  • The backup system 116 can be a cloud-based backup system or other type of backup system. The backup system 116 includes a backup storage subsystem 117 that can be used to store backup data. The backup storage subsystem 117 can be provided at one location, or can be distributed across multiple locations.
  • Data of a storage subsystem 104 in a server 102 can be backed up to the backup system 116 according to the backup control information 108. The data to be backed up can be copied or moved over the network 114 to the backup system 116.
  • In addition to enhancing efficiency in the initial configuration of servers 102 based on the server template 110, use of the server template 110 also allows for more efficient reconfiguration of the servers 102. Server reconfiguration can be accomplished by modifying the server template 110. In response to modifying the server template 110, which can include a change of a server property and/or the backup control information of the server template 110, automatic reconfiguration of the servers 102 can be performed.
  • A server 102 can either be associated with the server template 110 or not associated with the server template 110. Provisioning information 109 can be included in the configuration data for each server 102 to indicate whether or not the server 102 is associated with the server template 110. If the server 102 is associated with the server template 110, then the server 102 is configured based on the server template 110. On the other hand, if the server 102 is not associated with the server template 110, then the server 102 is not configured based on the server template 110, but instead is configured individually. The provisioning information 109 can include (1) an association indication that indicates that the server 102 is associated with the server template 110, and (2) template identification information identifying the server template 110 (from among multiple server templates) to use.
  • If the association indication is provided with the provisioning information 109, which indicates that the server 102 is to be configured using the corresponding server template 110, then the configuration system 112 accesses the server template 110 (identified in the provisioning information 109) to perform configuration of the server 102.
  • In some implementations, it is possible for a server 102 to disassociate from the server template 110, such as by not including the association indication in the provisioning information 109. In this case, the configuration system 112 does not configure the server 102 with any server template. A server 102 can be disassociated from the server template 110 in those situations where it is determined that the server 102 should have a configuration that is different from the configuration specified by the server template 110.
  • In other examples, the server 102 can disassociate from a first server template, and then associate with a second, different server template to configure the server 102 according to the second server template.
  • FIG. 2 is a flow diagram of a server configuration process according to some implementations. The process of FIG. 2 can be performed by the configuration system 112. The server configuration process configures (at 202) the servers 102 using the server template 110. Configuring the servers 102 includes setting the server property(ies) 106 and/or backup control information 108 associated with each server 102 based on the respective at least one server property and/or backup control information in the server template 110. As noted above, in some implementations, the server property(ies) 106 and backup control information 108 for a given server can be included in the server configuration database 105 at the configuration system 112. In alternative implementations, the server property(ies) 106 and backup control information 108 for the given server 102 can be persistently stored at the given server 102.
  • In response to a change of the server template 110 (which can include a change of the at least one server property and/or backup control information in the server template 110), the servers 102 can be reconfigured (at 204) according to the changed server template 110.
  • By using techniques or mechanisms according to some implementations, more efficient configuration/reconfiguration of servers 102 can be performed. Multiple servers can be configured using the server template 110 in a more timely and consistent fashion. Additionally, by being able to reconfigure servers 102 using a modified server template 110, server configuration changes can be easily made across multiple servers 102.
  • FIG. 3 depicts an example arrangement in which a management interface device 302 can be used for creating the server template 110 at the configuration system 112. The management interface device 302 includes a management user interface 304 displayed in a display 306 of the client device 302. The management interface device 302 can include a computer (e.g. notebook computer, desktop computer, tablet computer), a smart phone, a PDA, or other electronic device.
  • The management user interface 304 can be a web-based user interface provided by a web server module 308 of the configuration system 112. For example, the management interface device 102 can access the web server module 308 to download a web page to provide the management user interface 304. In other examples, a different type of user interface 304 can be employed, such as a command line interface (in which commands are submitted as command lines).
  • The management user interface 304 can include various control elements that are selectable by a user of the management interface device 302 to create the server template 110. The user can use the control elements (e.g. control menu items, text boxes to enter text data, etc.) of the user interface 304 to specify server properties and backup control information to be included in the server template 110.
  • The configuration system 112 further includes a template configuration module 310, which is able to receive commands and other input information from the management interface device 302 based on user input. In response to the commands and other input information from the management interface device 302, the template configuration module 310 builds the server template 110. The server template 110 can be stored in a storage medium 312 of the configuration system 112. The management interface device 302 also allows a user to designate a group of servers 102 that are to be configured with the server template 110. For example, the user can use a command line interface to designate the servers 102 that are associated with the server template 110. Alternatively, the management user interface 304 can include fields for the user to select servers 102. In response to the user selection, the configuration system 112 can provision the selected servers 102 to use the server template 110 for configuration of the servers 102 in the group.
  • The configuration system 112 also includes configuration code 320 to set respective configuration data (of servers 102 associated with the server template 110) based on the server template 110.
  • In addition, the configuration system 112 includes a database server module 322 that is able to retrieve configuration data from the server configuration database 105 in response to a request from a server 102. The server configuration database 105 can be stored in the storage medium 312.
  • The template configuration module 310, web server module 308, configuration code 320, and database server module 322 can be implemented as machine-readable instructions executable on one or multiple processors 314 in the configuration system 112. The configuration system 112 further includes a network interface 315 to allow the configuration system 112 to communicate over the network 114.
  • The management interface device 302 can be used by a user to modify a previously created server template 110. Modifying the server template 110 at the configuration system 112 can trigger a reconfiguration of the servers 102 associated with the server template 110. The reconfiguration of the servers 102 can be accomplished by the configuration code 320 updating the respective configuration data in the server configuration database 105 using the modified server template 110.
  • The management interface device 302 can also be used by a user to associate or disassociate a given server 102 with a server template. For example, the user can submit a command in a command line interface or other user interface at the management interface device 302 to specify whether or not the given server 102 is to be associated or not associated with the server template. Associating the given server 102 can be indicated with an association indication in the provisioning information 109 (FIG. 1).
  • FIG. 4 is a block diagram of an example arrangement including a server 102 and the configuration system 112. The server 102 includes the backup agent 120, which can be implemented as machine-readable instructions executable on one or multiple processors 404 in the server 102. The backup agent 120 is used to perform backup of data stored or managed by the server 102 to the backup system 116 (FIG. 1). The server 102 includes a network interface 410 to allow the server 102 to communicate over the network 114. The server 102 also includes a storage medium 406 accessible by the processor(s) 404.
  • In operation, the backup agent 120 is able to submit a request to the configuration system 112 to access the respective configuration data in the server configuration database 105. The backup agent 120 is able to operate according to the configuration defined by the retrieved server property(ies) 106 and backup control information 108. FIG. 5 is a flow diagram of an example process performed by the configuration system 112 of FIG. 3. The configuration system 112 receives (at 502) input information from the management interface device 302 (FIG. 3) that relates to content of the server template 110. In response to the received input information, the configuration system 112 creates (at 504) the server template 110.
  • The configuration system 112 further provisions (at 506) selected servers 102 to use the server template 110 for configuration of the servers 102. As noted above, the servers selected for configuration by the server template 110 can be specified at the management interface device 102 (such as in a command line interface or other user interface). Provisioning the selected servers can involve setting the association indication in the provisioning information 109 (FIG. 1) for each of the selected servers 102 to associate each server 102 with the server template 110.
  • Subsequently, the configuration system 112 receives (at 508) further input information from the user interface 304 relating to modification of the server template 110. Based on the further input information, the configuration system 112 modifies (at 510) the server template 110. The configuration system 112 next triggers (at 512) reconfiguration of the servers 102 associated with the server template 110 in response to the modified server template 110.
  • An issue associated with performing reconfiguration of the server 102 may be that there can be a data backup operation that is ongoing. In response to notification of modification of the server template 110, the configuration code 320 in the configuration system 112 (FIG. 3) can determine whether the modified configuration information of the server template 110 would affect an ongoing operation of a server 102. If not, the modified property (server property and/or backup control information) of the server template 110 can be applied immediately to set the respective configuration data in the server configuration database 105, without waiting for the ongoing operation to complete. For example, modifying a server property of the server template 110 would not affect an ongoing operation of the server 102. However, modifying the backup control information of the server template 110 may affect an ongoing operation of the server 102.
  • If the modified property at the server template 110 would affect an ongoing operation, the configuration code 320 checks for the type of change (e.g. modified backup control information) that is made to the server template 110. The following are the possible change status that can be associated with the backup control information of the server template 110: no change (which indicates that the backup control information of the server template 110 has not been changed), only the backup policy has changed, only the backup rule has changed, or both the backup policy and backup rule have changed.
  • To change a backup policy at the server 102, the configuration code 320 first waits for a current backup operation (or multiple current backup operations) to complete. After completion of the backup operation(s), the configuration code 320 applies the change to the respective configuration data in the server configuration database 105.
  • To change a backup rule at the server 102, the configuration code 320 also waits for a current backup operation (or multiple current backup operations) to complete. After completion of the backup operation(s), the configuration code 320 applies the change of the backup rule to the respective configuration data in the server configuration database 105. Changing the backup rule involves deleting the backup rule, and generating a new backup rule, which is a more complex process than changing the backup policy, which can be accomplished by modifying a parameter or multiple parameters (e.g. an age associated with a data retention policy) of the backup policy.
  • As further depicted in FIG. 5, the configuration system 112 can also receive (at 514) additional input from the user interface 304 specifying disassociation of a particular server 102 from the server template 110. In response to the additional input information, the configuration system 112 updates (at 516) the provisioning information 109 of the particular server 102 to disassociate the particular server 102 from the server template 110.
  • Various modules described above, including the backup agent 120, template configuration module 310, web server module 308, and configuration code 320, and database server module 322 of FIG. 3 or 4, can be implemented as machine-readable instructions executed on one or multiple processors (such as 314 or 404 in FIG. 3 or 4). A processor can include a microprocessor, microcontroller, processor module or subsystem, programmable integrated circuit, programmable gate array, or another control or computing device.
  • Data and instructions are stored in respective storage devices, which are implemented as one or multiple computer-readable or machine-readable storage media. The storage media include different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories; magnetic disks such as fixed, floppy and removable disks; other magnetic media including tape; optical media such as compact disks (CDs) or digital video disks (DVDs); or other types of storage devices. Note that the instructions discussed above can be provided on one computer-readable or machine-readable storage medium, or alternatively, can be provided on multiple computer-readable or machine-readable storage media distributed in a large system having possibly plural nodes. Such computer-readable or machine-readable storage medium or media is (are) considered to be part of an article (or article of manufacture). An article or article of manufacture can refer to any manufactured single component or multiple components. The storage medium or media can be located either in the machine running the machine-readable instructions, or located at a remote site from which machine-readable instructions can be downloaded over a network for execution.
  • In the foregoing description, numerous details are set forth to provide an understanding of the subject disclosed herein. However, implementations may be practiced without some or all of these details. Other implementations may include modifications and variations from the details discussed above. It is intended that the appended claims cover such modifications and variations.

Claims (19)

What is claimed is:
1. A method comprising:
configuring a plurality of computing devices using a template that specifies at least one computing device property and backup control information relating to backing up data from the computing devices to a backup system; and
responsive to a change of the template, reconfiguring the plurality of computing devices according to the changed template.
2. The method of claim 1, wherein configuring the computing devices comprises computing agents in the computing devices that perform backup operations to the backup system.
3. The method of claim 1, further comprising:
setting provisioning information associated with a particular one of the computing devices, the provisioning information indicating that configuration of the particular computing device is based on the template.
4. The method of claim 3, wherein the provisioning information includes an association indication to indicate that the particular computing device is to be configured using the template, and wherein the provisioning information is without the association indication to indicate that the particular computing device is not to be configured using the template.
5. The method of claim 3, further comprising:
receiving input to disassociate the particular computing device from the template.
6. The method of claim 1, wherein the reconfiguring comprises:
determining whether the change of the template would affect an ongoing operation of a particular computing device.
7. The method of claim 6, wherein the reconfiguring comprises:
in response to determining that the change of the template would not affect the ongoing operation, applying the changed template to the particular computing device without waiting for the ongoing operation to complete.
8. The method of claim 6, wherein the reconfiguring comprises:
in response to determining that the change of the template would affect the ongoing operation, waiting for the ongoing operation to complete and applying the changed template to the particular computing device after the ongoing operation completes.
9. An article comprising at least one machine-readable storage medium storing instructions that upon execution cause a system to:
receive input information that relates to content of a template useable to configure computing devices, the template specifying at least one computing device property and backup control information relating to backing up data from the computing devices to a backup system;
create the template based on the received input information;
configure the computing devices based on the template;
receive further input information relating to modification of the template;
modify the template based on the received further input information; and
trigger reconfiguration of the computing devices in response to the modified template.
10. The article of claim 9, wherein configuring the computing devices comprises setting the at least one computing device property and the backup control information of each of the computing devices in a configuration system.
11. The article of claim 9, wherein the instructions upon execution cause the system to further update provisioning information for the computing devices to associate the computing devices with the template.
12. The article of claim 9, wherein the instructions upon execution cause the system to further:
receive additional information specifying disassociation of a particular one of the computing devices from the template; and
update provisioning information for the particular computing device to disassociate the particular computing device from the template.
13. The article of claim 9, wherein receiving the input information and receiving the further input information are from a management interface device.
14. A configuration system comprising:
at least one processor; and
configuration code executable on the at least one processor to:
configure, using a template, computing devices, wherein the template specifies at least one computing device property and backup control information relating to backing up data from each of the computing devices to a backup system; and
reconfigure the computing devices in response to modification of the template.
15. The configuration system of claim 14, wherein the backup control information includes a backup policy that specifies at least one selected from among: a schedule for performing backup, and a retention policy for backup data.
16. The configuration system of claim 14, wherein the backup control information includes a backup rule identifying a type of data to backup.
17. The configuration system of claim 14, further comprising a configuration database to store configuration data for the computing devices, wherein the configuration database includes configuration data instances for the respective computing devices, and wherein each of the configuration data instances includes at least one computing device property and backup control information,
wherein the configuration code is configured to set the configuration data instances based on the template.
18. The configuration system of claim 17, further comprising a database server module to access the configuration data instances in response to requests from the computing devices.
19. The configuration system of claim 14, wherein the computing devices include data servers having backup agents to back up data from the data servers to a backup system.
US13/688,357 2012-11-29 2012-11-29 Configuring computing devices using a template Abandoned US20140149358A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/688,357 US20140149358A1 (en) 2012-11-29 2012-11-29 Configuring computing devices using a template
US16/679,173 US11379311B2 (en) 2012-11-29 2019-11-09 Configuring computing devices using a template
US17/831,898 US20220374314A1 (en) 2012-11-29 2022-06-03 Configuring computing devices using a template

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/688,357 US20140149358A1 (en) 2012-11-29 2012-11-29 Configuring computing devices using a template

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/679,173 Continuation US11379311B2 (en) 2012-11-29 2019-11-09 Configuring computing devices using a template

Publications (1)

Publication Number Publication Date
US20140149358A1 true US20140149358A1 (en) 2014-05-29

Family

ID=50774156

Family Applications (3)

Application Number Title Priority Date Filing Date
US13/688,357 Abandoned US20140149358A1 (en) 2012-11-29 2012-11-29 Configuring computing devices using a template
US16/679,173 Active 2033-08-06 US11379311B2 (en) 2012-11-29 2019-11-09 Configuring computing devices using a template
US17/831,898 Abandoned US20220374314A1 (en) 2012-11-29 2022-06-03 Configuring computing devices using a template

Family Applications After (2)

Application Number Title Priority Date Filing Date
US16/679,173 Active 2033-08-06 US11379311B2 (en) 2012-11-29 2019-11-09 Configuring computing devices using a template
US17/831,898 Abandoned US20220374314A1 (en) 2012-11-29 2022-06-03 Configuring computing devices using a template

Country Status (1)

Country Link
US (3) US20140149358A1 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150142934A1 (en) * 2013-11-20 2015-05-21 At&T Mobility Ii Llc Method for managing device configurations using configuration templates
CN104794014A (en) * 2015-04-08 2015-07-22 华为技术有限公司 System operation method and intelligent terminal
US9235474B1 (en) 2011-02-17 2016-01-12 Axcient, Inc. Systems and methods for maintaining a virtual failover volume of a target computing system
US9292153B1 (en) 2013-03-07 2016-03-22 Axcient, Inc. Systems and methods for providing efficient and focused visualization of data
US9397907B1 (en) * 2013-03-07 2016-07-19 Axcient, Inc. Protection status determinations for computing devices
US9559903B2 (en) 2010-09-30 2017-01-31 Axcient, Inc. Cloud-based virtual machines and offices
US9705730B1 (en) 2013-05-07 2017-07-11 Axcient, Inc. Cloud storage using Merkle trees
US9785647B1 (en) 2012-10-02 2017-10-10 Axcient, Inc. File system virtualization
US9852140B1 (en) 2012-11-07 2017-12-26 Axcient, Inc. Efficient file replication
US10284437B2 (en) 2010-09-30 2019-05-07 Efolder, Inc. Cloud-based virtual machines and offices
US10305962B1 (en) 2015-12-30 2019-05-28 EMC IP Holding Company LLC Unit testing clients of web services
US10430293B1 (en) * 2015-12-30 2019-10-01 EMC IP Holding Company LLC Backup client agent
US20200034458A1 (en) * 2018-07-25 2020-01-30 Commvault Systems, Inc. Distributed and scalable client-based storage management
US20200036789A1 (en) * 2018-07-25 2020-01-30 Commvault Systems, Inc. Distributed and scalable storage management using a storage-microservices server
US10768927B2 (en) * 2016-07-14 2020-09-08 Hitachi, Ltd. Management system and management method
US20220286358A1 (en) * 2021-03-03 2022-09-08 International Business Machines Corporation Template based agentless system configuration management

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11750458B1 (en) * 2022-03-22 2023-09-05 Arista Networks, Inc. Structured network change controls

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560604B1 (en) * 2000-03-10 2003-05-06 Aether Systems, Inc. System, method, and apparatus for automatically and dynamically updating options, features, and/or services available to a client device
US6704754B1 (en) * 1999-06-09 2004-03-09 Hitachi, Ltd. Method for shared use of medium-exchangeable storage device for purposes of backup and file system, and medium-exchangeable recording system
US20050198229A1 (en) * 2003-12-23 2005-09-08 Allan Casteel Methods, systems, and computer program products for template-based network element management
US7007144B2 (en) * 2003-02-28 2006-02-28 Hitachi, Ltd. Method, apparatus, and computer readable medium for managing back-up
US20060143530A1 (en) * 2000-05-19 2006-06-29 Self-Repairing Computers, Inc. Self-repairing computing device and method of monitoring and repair
US7111053B1 (en) * 2000-05-20 2006-09-19 Ciena Corporation Template-driven management of telecommunications network via utilization of operations support services clients
US20070237162A1 (en) * 2004-10-12 2007-10-11 Fujitsu Limited Method, apparatus, and computer product for processing resource change
US20080222074A1 (en) * 2007-02-22 2008-09-11 Peter Lieberwirth Method or corresponding system employing templates for creating an organizational structure of knowledge
US7603445B1 (en) * 2004-11-10 2009-10-13 Juniper Networks, Inc. Managing and changing device settings
US7802247B1 (en) * 2005-12-30 2010-09-21 United Services Automobile Association (Usaa) Method and system for restoring software
US20100262794A1 (en) * 2009-04-14 2010-10-14 Novell, Inc. Data backup for virtual machines
US7831968B1 (en) * 2005-12-30 2010-11-09 United Services Automobile Association (Usaa) Method and system for restoring software
US20100287221A1 (en) * 2009-05-08 2010-11-11 Microsoft Corporation Templates for configuring file shares
US7840955B1 (en) * 2005-12-30 2010-11-23 United Services Automobile Association (Usaa) Method and system for restoring software
US7984114B2 (en) * 2004-02-27 2011-07-19 Lodgenet Interactive Corporation Direct access to content and services available on an entertainment system
US20130066839A1 (en) * 2010-04-07 2013-03-14 Martyn Roland Westwood Restore manager
US8402306B1 (en) * 2010-05-14 2013-03-19 Symantec Corporation Systems and methods for managing applications
US8417926B2 (en) * 2009-03-31 2013-04-09 Red Hat, Inc. Systems and methods for providing configuration management services from a provisioning server
US8712967B1 (en) * 2012-01-25 2014-04-29 Symantec Corporation Systems and methods for simultaneously configuring multiple independent backups
US8880607B1 (en) * 2011-10-21 2014-11-04 Google Inc. Generating suggestions for user groups in social networks

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225244B2 (en) * 2000-05-20 2007-05-29 Ciena Corporation Common command interface
US7263597B2 (en) * 2001-04-19 2007-08-28 Ciena Corporation Network device including dedicated resources control plane
US7529898B2 (en) * 2004-07-09 2009-05-05 International Business Machines Corporation Method for backing up and restoring data
US20080126446A1 (en) * 2006-11-27 2008-05-29 Storage Appliance Corporation Systems and methods for backing up user settings
US7831562B1 (en) * 2007-06-12 2010-11-09 Symantec Corporation Backup and restore operations using distributed control information
US20090228531A1 (en) * 2008-03-07 2009-09-10 Baumann Warren J Template-based remote/local file selection techniques for modular backup and migration
WO2011123090A1 (en) * 2010-03-29 2011-10-06 Carbonite, Inc. Discovery of non-standard folders for backup
US9904610B2 (en) * 2013-02-08 2018-02-27 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Configuration of servers for backup
US11249863B2 (en) * 2018-05-02 2022-02-15 Commvault Systems, Inc. Backup-based media agent configuration

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704754B1 (en) * 1999-06-09 2004-03-09 Hitachi, Ltd. Method for shared use of medium-exchangeable storage device for purposes of backup and file system, and medium-exchangeable recording system
US6560604B1 (en) * 2000-03-10 2003-05-06 Aether Systems, Inc. System, method, and apparatus for automatically and dynamically updating options, features, and/or services available to a client device
US20060143530A1 (en) * 2000-05-19 2006-06-29 Self-Repairing Computers, Inc. Self-repairing computing device and method of monitoring and repair
US7111053B1 (en) * 2000-05-20 2006-09-19 Ciena Corporation Template-driven management of telecommunications network via utilization of operations support services clients
US7007144B2 (en) * 2003-02-28 2006-02-28 Hitachi, Ltd. Method, apparatus, and computer readable medium for managing back-up
US20050198229A1 (en) * 2003-12-23 2005-09-08 Allan Casteel Methods, systems, and computer program products for template-based network element management
US7984114B2 (en) * 2004-02-27 2011-07-19 Lodgenet Interactive Corporation Direct access to content and services available on an entertainment system
US20070237162A1 (en) * 2004-10-12 2007-10-11 Fujitsu Limited Method, apparatus, and computer product for processing resource change
US7603445B1 (en) * 2004-11-10 2009-10-13 Juniper Networks, Inc. Managing and changing device settings
US7802247B1 (en) * 2005-12-30 2010-09-21 United Services Automobile Association (Usaa) Method and system for restoring software
US7831968B1 (en) * 2005-12-30 2010-11-09 United Services Automobile Association (Usaa) Method and system for restoring software
US7840955B1 (en) * 2005-12-30 2010-11-23 United Services Automobile Association (Usaa) Method and system for restoring software
US20080222074A1 (en) * 2007-02-22 2008-09-11 Peter Lieberwirth Method or corresponding system employing templates for creating an organizational structure of knowledge
US8417926B2 (en) * 2009-03-31 2013-04-09 Red Hat, Inc. Systems and methods for providing configuration management services from a provisioning server
US20100262794A1 (en) * 2009-04-14 2010-10-14 Novell, Inc. Data backup for virtual machines
US8205050B2 (en) * 2009-04-14 2012-06-19 Novell, Inc. Data backup for virtual machines
US8180812B2 (en) * 2009-05-08 2012-05-15 Microsoft Corporation Templates for configuring file shares
US20100287221A1 (en) * 2009-05-08 2010-11-11 Microsoft Corporation Templates for configuring file shares
US20130066839A1 (en) * 2010-04-07 2013-03-14 Martyn Roland Westwood Restore manager
US8402306B1 (en) * 2010-05-14 2013-03-19 Symantec Corporation Systems and methods for managing applications
US8880607B1 (en) * 2011-10-21 2014-11-04 Google Inc. Generating suggestions for user groups in social networks
US8712967B1 (en) * 2012-01-25 2014-04-29 Symantec Corporation Systems and methods for simultaneously configuring multiple independent backups

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9559903B2 (en) 2010-09-30 2017-01-31 Axcient, Inc. Cloud-based virtual machines and offices
US10284437B2 (en) 2010-09-30 2019-05-07 Efolder, Inc. Cloud-based virtual machines and offices
US9235474B1 (en) 2011-02-17 2016-01-12 Axcient, Inc. Systems and methods for maintaining a virtual failover volume of a target computing system
US9785647B1 (en) 2012-10-02 2017-10-10 Axcient, Inc. File system virtualization
US11169714B1 (en) 2012-11-07 2021-11-09 Efolder, Inc. Efficient file replication
US9852140B1 (en) 2012-11-07 2017-12-26 Axcient, Inc. Efficient file replication
US9998344B2 (en) 2013-03-07 2018-06-12 Efolder, Inc. Protection status determinations for computing devices
US9292153B1 (en) 2013-03-07 2016-03-22 Axcient, Inc. Systems and methods for providing efficient and focused visualization of data
US9397907B1 (en) * 2013-03-07 2016-07-19 Axcient, Inc. Protection status determinations for computing devices
US10003646B1 (en) 2013-03-07 2018-06-19 Efolder, Inc. Protection status determinations for computing devices
US10599533B2 (en) 2013-05-07 2020-03-24 Efolder, Inc. Cloud storage using merkle trees
US9705730B1 (en) 2013-05-07 2017-07-11 Axcient, Inc. Cloud storage using Merkle trees
US9686631B2 (en) 2013-11-20 2017-06-20 At&T Intellectual Property I, L.P. Method for managing device configurations using configuration templates
US20150142934A1 (en) * 2013-11-20 2015-05-21 At&T Mobility Ii Llc Method for managing device configurations using configuration templates
US9900724B2 (en) 2013-11-20 2018-02-20 At&T Intellectual Property I, L.P. Method for managing device configurations using configuration templates
US9577877B2 (en) * 2013-11-20 2017-02-21 At&T Mobility Ii Llc Method for managing device configurations using configuration templates
US10652714B2 (en) 2013-11-20 2020-05-12 At&T Intellectual Property I, L.P. Method for managing device configurations using configuration templates
CN104794014A (en) * 2015-04-08 2015-07-22 华为技术有限公司 System operation method and intelligent terminal
US10552263B2 (en) 2015-04-08 2020-02-04 Huawei Technologies Co., Ltd. System running method and intelligent terminal
CN104794014B (en) * 2015-04-08 2020-08-25 华为技术有限公司 System operation method and intelligent terminal
US10305962B1 (en) 2015-12-30 2019-05-28 EMC IP Holding Company LLC Unit testing clients of web services
US10430293B1 (en) * 2015-12-30 2019-10-01 EMC IP Holding Company LLC Backup client agent
US11436100B2 (en) 2015-12-30 2022-09-06 EMC IP Holding Company LLC Backup client agent
US11436099B2 (en) 2015-12-30 2022-09-06 EMC IP Holding Company LLC Backup client agent
US10768927B2 (en) * 2016-07-14 2020-09-08 Hitachi, Ltd. Management system and management method
US20200034458A1 (en) * 2018-07-25 2020-01-30 Commvault Systems, Inc. Distributed and scalable client-based storage management
US10893103B2 (en) * 2018-07-25 2021-01-12 Commvault Systems, Inc. Distributed and scalable storage management using a storage-microservices server
US10891304B2 (en) * 2018-07-25 2021-01-12 Commvault Systems, Inc. Distributed and scalable client-based storage management
US20200036789A1 (en) * 2018-07-25 2020-01-30 Commvault Systems, Inc. Distributed and scalable storage management using a storage-microservices server
US11636133B2 (en) 2018-07-25 2023-04-25 Commvault Systems, Inc. Distributed and scalable client-based and microservices-based storage management
US20220286358A1 (en) * 2021-03-03 2022-09-08 International Business Machines Corporation Template based agentless system configuration management

Also Published As

Publication number Publication date
US20200089577A1 (en) 2020-03-19
US20220374314A1 (en) 2022-11-24
US11379311B2 (en) 2022-07-05

Similar Documents

Publication Publication Date Title
US11379311B2 (en) Configuring computing devices using a template
EP3428811B1 (en) Database interface agent for a tenant-based upgrade system
US10540173B2 (en) Version control of applications
US11748151B1 (en) Systems and methods for editing, assigning, controlling, and monitoring bots that automate tasks, including natural language processing
CN111580861A (en) Pattern-based artificial intelligence planner for computer environment migration
US9703834B2 (en) Topological query in multi-tenancy environment
US9417870B2 (en) Managing user access to alternative versions of a particular function of a software product from within a current version of the software product
CN109032824A (en) Database method of calibration, device, computer equipment and storage medium
US11727288B2 (en) Database-management system with artificially intelligent virtual database administration
US10817387B2 (en) Auto point in time data restore for instance copy
US10621003B2 (en) Workflow handling in a multi-tenant cloud environment
US11640378B2 (en) Archiving objects in a database environment
US10338910B2 (en) Multi-tenant upgrading
US11182406B2 (en) Increased data availability during replication
US10983873B1 (en) Prioritizing electronic backup
US20180349179A1 (en) Centralized flexible deployment system
US8712967B1 (en) Systems and methods for simultaneously configuring multiple independent backups
US11567808B2 (en) Dependency handling for configuration transport
US20150370649A1 (en) Sending a Request to a Management Service
US20150254324A1 (en) Framework for continuous processing of a set of documents by multiple software applications
US20230126997A1 (en) Database group management
US11023830B2 (en) Processing a request in accordance with original rules and configurations
US8914344B1 (en) Service manager source code control system
US9467452B2 (en) Transferring services in a networked environment
US20130159253A1 (en) Directing a data replication environment through policy declaration

Legal Events

Date Code Title Description
AS Assignment

Owner name: LONGSAND LIMITED, UNITED KINGDOM

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:APHALE, DEEPALI;BOETTCHER, JAMES;ROSSI, LEILA;SIGNING DATES FROM 20121128 TO 20121129;REEL/FRAME:029377/0208

AS Assignment

Owner name: KEEPITSAFE, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LONGSAND LIMITED;REEL/FRAME:038343/0836

Effective date: 20150930

STCV Information on status: appeal procedure

Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS

STCV Information on status: appeal procedure

Free format text: BOARD OF APPEALS DECISION RENDERED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION