Shane Brennan 2012-04-27 Echo Backup Artificial Intelligence Artificial Intelligence (AI) is a core component in Echo Backup. Echo Backup will not only function according to user-configurable parameters, but also make its own decisions on where and when to backup data based on network conditions. The AI will function in three core areas: storage multiplexing, data discovery, and scheduling. Storage Multiplexing The nature of Echo Backup demands a multiplexing approach to storing data over a network. Smart algorithms will allow Echo Backup to make reasonable autonomous decisions in how it handles the transfer and writing of data from node to node. Figure 1 - Storage Muliplexing The benefits of storage multiplexing are clear. Data can be written to storage in a much more efficient manner by sending data backups to multiple destinations. Moreover, each node can be the target of multiple backups. This is the core strategy used by Echo Backup to ensure data reliability and efficient utilization of network resources. Shane Brennan 2012-04-27 Echo backup will use a number of methods to make intelligent decisions based on the following questions: 1. How much disk space is available? 2. What nodes are online? 3. Does multiplexing make sense with the available nodes? 4. Is a node too busy (utilizing Echo Backup’s node-ranking algorithm)? Scheduling Echo backup AI can also assist scheduling of backups. A number of smart algorithms can be used to optimize when Echo backup decides to run its jobs. Decisions will be made based upon utilization of current nodes, statistical use of nodes, and checking useroverride rules. In general, the user will decide when prime backup times occur; however, Echo Backup AI will augment the user-configured scheduler to increase or slow down backups as needed. An example would be the AI utilizing statistical data on when a particular set of nodes tend to be online and backup up data to these nodes if other conditions permit. Data Discovery Echo Backup will also be smart enough to sense data that should be backed up. Through the use of indexing, files can be examined by Echo Backup and prioritized based on modification date, size, and available nodes. Data which has not changed will not be backed up. If a large file is discovered, prioritization routines will decide the proper time to back up the file, to avoid large network transfers from happening unexpectedly. Shane Brennan 2012-04-27 Figure 2 - Data Discovery and Scheduling Example In addition, Echo Backup AI will consider certain data types more valuable than others. Some default examples include documents being considered more valuable than mp3 files. The user will be able to configure what file types are prioritized over others, or even files types that should never be backed up (e.g. *.tmp files).