Sort and merge functions with input and output procedures

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C708S203000

Reexamination Certificate

active

06311184

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of Invention
The present invention relates generally to computer implemented compilers and libraries for high-level programming languages and their associated run-time environments, and in particular to a method, apparatus, and program storage device for supporting improved record processing protocols for COBOL SORT and MERGE functions using input and output procedures in an object program.
2. Description of Related Art
A compiler is a computer program that translates a source program into an equivalent object program. The source language is typically a high level language like COBOL, and the object language is the assembly language or machine language of some computer. The translation of the source program into the object program occurs at compile times, and the actual execution of the object program occurs at run-time.
The compiler must perform an analysis of the source program. Then it must perform a synthesis of the object program wherein it first decomposes the source program into its basic parts, and then builds equivalent object programs from those parts. As a source program is analyzed, information is obtained from declarations, and procedural statements, such as loops, file system statements, and function calls. This includes the SORT and MERGE statements available in COBOL. Typically, these function calls are stored in object libraries that are linked and/or bound to the object program at run-time.
Some high-level languages, such as COBOL, require the specification of input and output procedures for the SORT and MERGE functions within the source program, which input and output procedures are then called by the SORT and MERGE functions within the object library. However, this creates problems when the input or the output procedure is invoked while the SORT or MERGE functions are active in the stack.
There is considerable overhead involved in invoking the SORT or MERGE function, and then having the SORT or MERGE function invoke the input or output procedures for each record. As a result, there is a significant amount of overhead for each record being passed to or from the SORT or MERGE functions.
Further, because the program which executed the SORT statement also contains the input and/or output procedures, this results in a “callback” situation. That is: a SORT statement results in an invocation of the sort function, which, in turn, invokes the input and/or output procedures in the same program. This makes the support of language semantics related to the access to resources (such as variables, files and procedures) to be within the program difficult since the input and/or output procedures are in the same program, but are in different execution stack frames.
Thus, there is a need in the art for optimized and improved record processing protocols for SORT and MERGE functions with input and/or output procedures.
SUMMARY OF THE INVENTION
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method, apparatus, and program storage device for supporting improved record processing protocols for SORT and MERGE functions using input and output procedures in an object program.
The present invention overcomes the problems cited above by obtaining all of the input records via the input or output procedures in the object program and storing them into a memory area before invoking the SORT or MERGE function. Similarly, the SORT and MERGE functions store their results into a memory area before invoking the output procedure in the object program. Also, the present invention provides an optional overflow file which is used if the memory capacity is inadequate to store and retrieve all of the requisite data. These features address both the performance implications inherent in invoking the input or output procedures for each input or output record.


REFERENCES:
patent: 4210961 (1980-07-01), Whitlow et al.
patent: 4425617 (1984-01-01), Sherwood
patent: 4587628 (1986-05-01), Archer et al.
patent: 4809158 (1989-02-01), McCauley
patent: 4962451 (1990-10-01), Case et al.
patent: 5084815 (1992-01-01), Mazzario
patent: 5117495 (1992-05-01), Liu
patent: 5121493 (1992-06-01), Ferguson
patent: 5142687 (1992-08-01), Lary
patent: 5210870 (1993-05-01), Baum et al.
patent: 5274805 (1993-12-01), Ferguson et al.
patent: 5349684 (1994-09-01), Edem et al.
patent: 5386578 (1995-01-01), Lin
patent: 5396622 (1995-03-01), Lee et al.
patent: 5404520 (1995-04-01), Sonobe
patent: 5487164 (1996-01-01), Kirchhofer et al.
patent: 5487166 (1996-01-01), Cossock
patent: 5513349 (1996-04-01), Horiguchi et al.
patent: 5519860 (1996-05-01), Liu et al.
patent: 5537622 (1996-07-01), Baum et al.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Sort and merge functions with input and output procedures does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Sort and merge functions with input and output procedures, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Sort and merge functions with input and output procedures will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2588155

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.