Browse Prior Art Database

PATCH Table Generation

IP.com Disclosure Number: IPCOM000060500D
Original Publication Date: 1986-Apr-01
Included in the Prior Art Database: 2005-Mar-08
Document File: 2 page(s) / 15K

Publishing Venue

IBM

Related People

Cory, TM: AUTHOR [+4]

Abstract

A method is described to provide a fast and efficient Patch Table Generation File. In order to facilitate the installation of coding "Fixes" to program products, automatic patch installation tools require a file containing data which specify the locations and contents of the changed portions of the programs. The creation of this table is a cumbersome and time-consuming process which is avoided by PATCHGEN which simplifies the table creation by automatically comparing the OLD version of the program to the NEW version and creating the patch table automatically. PATCHGEN provides user-friendly prompts, informs the user where a patch was located, and provides a fast and efficient response time.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 1 of 2

PATCH Table Generation

A method is described to provide a fast and efficient Patch Table Generation File. In order to facilitate the installation of coding "Fixes" to program products, automatic patch installation tools require a file containing data which specify the locations and contents of the changed portions of the programs. The creation of this table is a cumbersome and time-consuming process which is avoided by PATCHGEN which simplifies the table creation by automatically comparing the OLD version of the program to the NEW version and creating the patch table automatically. PATCHGEN provides user-friendly prompts, informs the user where a patch was located, and provides a fast and efficient response time. In creating the patch table file, PATCHGEN compares the data at equivalent locations in the source and updated/corrected files and, if the data is different, creates a patch entry in the patch table file which describes the content of the source and updated/corrected files at the location where the difference was found. The straightforward implementation of this task is to scan both files until a difference is detected, then scan again until a byte or character of data is the same in each file. The content of the patch is the string of data which is different. A problem arises, however, in optimal use of the patch table file space if multiple short patches are detected in a relatively small area of the files. This is because the patch entry must contain not just the old and new data but control information specifying at least the length of the patch and its location in the file. In the extreme case, where a series of patches with a length of one character are separated by one-character intervals of identical data, the patch table file would be dominated by the patch entry control data rather than the data itself. The above problem is avoided by the establishment of a minimum patch separation factor. This number is derived by determining the minimum distance between two successive one-character patches which would result in the creation of two patch entries of combined length less than or equal to that of a single patch entry which includes the non-patch data between the two patches. By insuring that this separation is exceeded whenever creating two successive patch entries, optimal patch table file space utilization is guaranteed. As an example, let us assume that patch table file patch entries consist of 10 bytes of overhead plus copies of both the old and new data. This means that the minimum patch entry is 12 bytes long. Further, assume that a portion of the source file consists of the character string "ABABABA," and the updated version of the file contains the string "AAAAAAA" at the same location. Without the use of the minimum patch separation factor, the patch table file would contain 3 patch entries, each of length 12, for a total of 36 bytes. Using the minimum patch separat...