Browse Prior Art Database

Algorithms to dynamically apply new ordered filters onto a set of filespaces, dynamically update the display, and allow Unicode filters Disclosure Number: IPCOM000031526D
Original Publication Date: 2004-Sep-28
Included in the Prior Art Database: 2004-Sep-28
Document File: 3 page(s) / 167K

Publishing Venue



In backup software, such as IBM Tivoli Storage Manager (TSM), include-exclude rules can be considered a filter on the user's filesystem because they filter out (or in) files and directories from the current backup/archive operation. Order of the filters is important because it determines the precedence of the include-exclude statements when applied to the file system. This article describes three algorithms to dynamically add filters without rereading Backup Client configuration, to add Unicode filters in a non-Unicode configuration file, and to update the include-exclude status of displayed nodes without reloading all the nodes in the filesystem.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 41% of the total text.

Page 1 of 3

Algorithms to dynamically apply new ordered filters onto a set of filespaces, dynamically update the display, and allow Unicode filters

Include-exclude filters may come from the Backup Server, the Backup Client, the operating system, and the Backup Client user's configuration file. Excludes coming from the Backup Server have highest precedence, followed by the predefined excludes from the Backup Client, followed by the operating system rules, followed by excludes set in the Backup Client's configuration file. Exclude directory statements take precedence over file include-exclude statements.

Internally, the Backup Server include-exclude rules for files are put in order on the top of a linked list, followed by Backup Client excludes, then operating system file include-excludes, then Backup Client file include-excludes on the bottom of the list. The Backup Client maintains another similarly ordered internal list for excluded directories. The internal Backup Client options object contains the configuration information (including the include-exclude file and directory lists) for the Backup Client and is used by each backup operation. When performing a backup, the Backup Client matches a candidate file against this list in a highest to lowest precedence manner. The Backup Client compares the backup candidate against the exclude directory list first, then the include-exclude file list. If the file matches a rule, it is included or excluded from the current backup operation as determined by the rule.

A newly added rule takes precedence over existing Backup Client include-exclude statements but has lower precedence than include-excude rules from the Backup Server, the Backup Client's predefined rules, and the operating system's recommended rules. The new rule is added in the internal include-exclude lists so that it is above the rules from the Backup Client's options file and below the rules Backup Software gets from the operating system. By using a flag that had been kept with each rule to indicate the source of the rule, the top of the Backup Client exclude portion and the bottom of the operating system portion could be determined and the rule inserted in the correct position in the list. The new rule is dynamically inserted into the existing list without regenerating any of the lists from the four sources and without rereading Backup Client configuration information.

Algorithm 1: Dynamically add new I/E rule to current backup/archive operation: ----------------
Assumptions based on prior art: The Backup Client has an internal list of ordered include/exclude criteria from Backup Server, Backup Client, operating system, and Backup Client's options file. A flag on each list element indicates the i/e rule's source. The include-exclude list is part of the client configuration object which is used by the current backup/archive operation.

The algorithm is as follows:
1. Read I/E lists from 4 sources - Backup Server, Backup Client, operating syst...