Browse Prior Art Database

Versioned Bill of Materials

IP.com Disclosure Number: IPCOM000019335D
Publication Date: 2003-Sep-11
Document File: 3 page(s) / 61K

Publishing Venue

The IP.com Prior Art Database

Abstract

This invention also allows a computer user to access the complete history of a file. For example, suppose a shared file is installed when software package A is installed. Then the file is modified when software package B is installed, removed when B is removed, and reinstalled with different contents when C is installed. This invention records the history of the file.

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

Versioned Bill of Materials

A development project is often required to rebuild a software release from source code. Without this invention, the project cannot verify that the rebuild is identical to the original release. It can only verify through a source control tool that the same sources were used in the build, but the results could be different due to differences in environment.

This invention also allows a computer user to access the complete history of a file. For example, suppose a shared file is installed when software package A is installed. Then the file is modified when software package B is installed, removed when B is removed, and reinstalled with different contents when C is installed. This invention records the history of the file.

This invention records a snapshot of a file system directory tree in a database, indexed by a name and a version. The database contains a record for each file in the directory tree. Each record contains checksum, size, and file permissions. Two recorded snapshots may be compared, a snapshot may be compared with a directory tree, or the history of a file may be examined. A custom algorithm may compute the checksums if the results of producing the file are non-deterministic. After rebuilding software, the directory tree of a build can be compared with a database entry. Computer users can record snapshots before installing or removing software, and compare the contents of the file system before and after the operation.

This invention centers on a Bill of Materials (BOM). A BOM is a compact representation of the contents of a directory tree. Each file in the directory tree is a record in the BOM. This record contains the file name, checksum, size, and permissions. A BOM may be stored in the database with a name and version identifier. This BOM may be retrieved at a later date and compare with a directory tree, or another BOM in the database. The process of recording a directory tree and comparing that tree against the BOM at a later date is shown below.

Step 1 computes the BOM by traversing the directory tree and stores the BOM in memory. Step 1 computes the BOM by examining every file in the directory tree and recording its name, checksum, permissions, and size. Step 2 stores the BOM in the BOM database, tagging it with name and version number. Suppose sometime later, someone wants to see what has changed in the directory tree since the BOM was recorded. This person runs a tool that performs step 3, retrieving the BOM from the database, and step 4, computing a BOM from the current contents of the directory. The tool then performs step 5, which compares the two BOMS and displays the differences in a human readable form. The name of each file that changed is displayed, along with the property changed.

The example above compares a BOM with a directory. It is possible to compare any two BOMs, regardless of whether each one came from the database or the file system. It is also possible to view a...