Browse Prior Art Database

Generalized Technique for Storage Independent Data Accessing Interface

IP.com Disclosure Number: IPCOM000088142D
Original Publication Date: 1977-Apr-01
Included in the Prior Art Database: 2005-Mar-04
Document File: 3 page(s) / 50K

Publishing Venue

IBM

Related People

Levy, L: AUTHOR

Abstract

It is useful to allow data in a computer to be retrieved without the requirement of knowing how the data is actually stored. As an example, consider a program which assumes that it is working with a linear fixed format file of records containing only fields A, B and C in that order. If this program can be used to process data which is not stored as assumed (e.g., A, B and C are actually noncontiguous fields in a file with variable record formats and additional fields), and, furthermore, the actual storage can be changed without having to modify the original program, then that program has a degree of storage structure independence.

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 48% of the total text.

Page 1 of 3

Generalized Technique for Storage Independent Data Accessing Interface

It is useful to allow data in a computer to be retrieved without the requirement of knowing how the data is actually stored. As an example, consider a program which assumes that it is working with a linear fixed format file of records containing only fields A, B and C in that order. If this program can be used to process data which is not stored as assumed (e.g., A, B and C are actually noncontiguous fields in a file with variable record formats and additional fields), and, furthermore, the actual storage can be changed without having to modify the original program, then that program has a degree of storage structure independence.

The technique being disclosed requires that a special program and a system dictionary, which describes stored data, are both available to users of the interface. The special program Generalized Data Accessor (GDA) must understand the rules and conventions associated with the dictionary and the underlying storage access mechanism (e.g., VSIAM, DL/1).

The generalized interface between the user program and the data consists of a logical record description and a GET command. Any user of the interface provides as input: a file name, the names of fields of interest, and the logical and arithmetic constraints upon field values (e.g., AGE LESS THAN 60). The GDA references the dictionary to find field description information and to determine the actual data storage structure being used. The GDA defines the logical record format so that the interface user sees retrieved data as a series of uniform records, each containing a single value for each field of interest. The record format is made available to the interface user. A logical record instance is a set of single values for each field of interest.

The user program issues the GET command to the GDA and receives a single set of values in logical record format. Subsequent GET commands return additional logical record instances until the data is exhausted and an "end of logical file" condition code is returned.

The GDA must relate the logical record description to the dictionary data descriptions and develop a series of storage accessing requests (e.g., VSAM calls, DL/1 commands) to retrieve all appropriate data. The GDA may have to abstract, reformat, convert, or calculate values from stored data in order to build logical records. Changes in the underlying storage technique may require modification of the GDA but does not affect user programs (Fig. 1).

An illustration of the use of the data storage independent design concepts, previously described, is found in the implementation of IQF under IMS. The modules USER DATA INTERFACE (UDI) and INTERNAL DATA INTERFACE (IDI) contains the data base support dependent code. The other modules which handle user interfacing, query language interpretation, code generation for specific query processing, and data manipulation are all independent of storage and...