US3029413A - Sorting system with nu-line sorting switch - Google Patents

Sorting system with nu-line sorting switch Download PDF

Info

Publication number
US3029413A
US3029413A US641728A US64172857A US3029413A US 3029413 A US3029413 A US 3029413A US 641728 A US641728 A US 641728A US 64172857 A US64172857 A US 64172857A US 3029413 A US3029413 A US 3029413A
Authority
US
United States
Prior art keywords
sorting
records
record
switch
precedence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US641728A
Inventor
Daniel G O'connor
Raymond J Nelson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Precision Inc
Original Assignee
General Precision Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by General Precision Inc filed Critical General Precision Inc
Priority to US641728A priority Critical patent/US3029413A/en
Priority to GB5802/58A priority patent/GB888866A/en
Priority to FR1202205D priority patent/FR1202205A/en
Application granted granted Critical
Publication of US3029413A publication Critical patent/US3029413A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/22Indexing scheme relating to groups G06F7/22 - G06F7/36
    • G06F2207/228Sorting or merging network

Description

April 0, 1962 D. G. O'CONNOR EI'AL 3,029,413
SORTING SYSTEM WITH N-LINE SORTING SWITCH Filed Feb. 21, 1957 5 Sheets-Sheet 1 F|G.I
A II I J9 I A 23 I IH I 20 O B |2' I A I 43 I 2| I I 24 I 0- A I I5 I? 7 I L A s x l I I 22 I ,3 M R o I 0- A I I l. A I}? n I I I6 1 I I I 0-R Q A s I l l I I I TIMING RESET TIMING OONTROL FIELD RECORD INFORMATION AOIIIIOIOIIIOOI FIG'2ABOIOIIOIOIIIOOI CONTROL FIELD RECORD INFORMATION FIGIEBAOIOIIIIOIIIOOI B o l l o I I l o I I o o o I FIG.2C
LEGEND ll A AND GATE 4V O OR GATE NVERTE RAYMOND J. NELSON E] R DANIEL c.0'0DNNoR :2 TR|GGER LNVENTOR ATTORN EY5 April 10, 1962 D. G. OCONNOR ETAL 3,029,413
SORTING SYSTEM WITH N-LINE SORTING SWITCH Filed Feb. 21, 1957 5 Sheets-Sheet 2 THREE LINE SORTING SWITCH A AI' B1 JAI'BI'C I m HIGH --|o 1 AB+C1 o| 2ND It \AB+AC+BC HIGH cuol n ABC1 --|o Low FIG. 3A
FOUR LINE SORTING SWITCH A on IOI no no 1 E It B lOl on no |o| [0| (2ND H I HIGH c no on on on 3RD HIGH JI D o|o OIO Low FIG. 3B
FIVE LINE SORTING SWITCH AQ Q on lol no 2 BO I OOI I0! m on no III IOI QTD' HIGH |o| IE OOI no I on on 122 on fig II 0 no OOI OIO m 010 4TH I HGH 010 m 00! ow L FIG. 3C
FIG 3 RAYMOND J. NELSON DANIEL G.OCONNOR INVENTOR ATTORNEY April 10, 1962 D. G. O'CONNOR EI'AL SORTING SYSTEM WITH N-LINE SORTING SWITCH Filed Feb. 21, 1957 5 Sheets-Sheet 5 A OOI OH 0 HIGH 5 OH L00! III OII |0| 2ND HIGH C IIO ,-II IOI I OH 3RD HIGH D ID! It IOI DI OOILOW A OOI IOI IIO 0 HIGH IOI [I 0 III IoI IOI IOI IKI 2ND HIGH 8 O c oIo OK) I oIo on on 3RDHIGH 0 no It BIO 1 0m on m: OIO 4TH HIGH E Oll 1E OOI OOI LOW A 010 OIO @O IIO HIGH [0| 5 OOI I 111 OIO H x I00 'OIZND HIGH c I00 d) on I OIO IIO IOI XII IooaRI) HIGH D ON IT; on I OOI OIO lOl 11 4TH HIGH E no IIo IoI om oIo 5TH HIGH F IoI II; IoI m OOI OOI LOW III A OIO HO HIGH '0 HIGH HIGH
4 TH HIGH 0 5 TH HIGH OIO 6 TH HIGH LOW III
HIGH
HIGH
4 TH HIGH on 5 TH HIGH 6 TH HIGH OOI 7 TH HIGH FIG. 4
RAYMOND J. NELSON DANIEL G.O'CONNOR INVENTOR ATTORNEY.S
A ril 10, 1962 D. G. O'CONNOR ETAL 3,029,413
SORTING SYSTEM WITH N-LINE SORTING SWITCH Filed Feb. 21, 1957 5 Sheets-Sheet 4 SWITCH FIG. 5
II N ll LINE SORTING SEQUENCE CHECK RESET OUTPUT RAYMOND J. NELSON DANIEL 6.0'CONNOR INVENTOR ATTORNEYS April 10, 1962 D. s. O'CONNOR ETAL 3,029,413
SORTING SYSTEM WITH N-LINE SORTING SWITCH Filed Feb. 21, 1957 5 Sheets-Sheet 5 I m m 2 I I 9 m H 9 w 3 2 l 8 9 m 8 9 W 4 3 2 I I 8 9 w 7 8 9 5 4 3 2 I 2 l 8 9 m 6 7 6 6 5 4 3 2 I 3 2 I 8 9 5 6 7 W 7 5 5 4 3 2 I 4 3 2 I 8 9 I 5 6 V B 6 4 3 2 V 5 4 3 2 V 2 5 mm 9 m 9 m 9 m 9 m 9 6 7 6 7 6 7 3 4 4 V W Q W Q W QT W -7 6 7 6 7 6 V 3 3 W Y 8 8 8 a a s a a m m V 5 5 5 5 V Z Z w 7 6 5 4 3 2 I 8 9 4 3 2 l I 7 6 5 4 3 2 I 8 4 3 2 7 6 5 4 3 2 I 4 3 7 6 5 4 3 2 4 7 6 5 4 3 7 6 5 4 7 6 5 7 6 J w w 1 RAYMOND J. NELSON FIG. 6
DANIEL G O'CONNOR INVENTOR ATTORNE United States Patent 3,029,413 SORTING SYSTEM WITH N-LINE SORTING SWITCH Daniel G. OConnor, Endwell, N.Y., and Raymond J.
Nelson, Chagrin Falls, Ohio, assignors to General Precision, Inc., a corporation of Delaware Filed Feb. 21, 1957, Ser. No. 641,728 14 Claims. (Cl. 340-1725) This invention relates to electronic data processing equipment and more particularly to electronic switching circuits and magnetic storage means which may be utilized to sort randomly arranged information according to a desired sequence.
Data processing systems have a wide and important function in present day business, research, and scientific activities. The electronic information handling machines used in these systems usually have a considerable amount of data supplied to them. Broadly, the data processing systems used for business applications such as maintaining running balances in banks and inventory systems involve large amounts of information and relatively few simple computational operations. While data processing systems used for research or scientific purposes involve a large number of complex computational operations and a relatively small amount of information there are, of course many exceptions to these generalities. The data used in these systems is often coded in a manner exemplified by the various types of binary codes. For exam ple, binary bits of ascending significance may be used to define characters such as Arabic numerals, letters of the alphabet, or other symbols. These characters may be combined to form records of any convenient length. These records may be placed on any of the well known means of presentation such as punched tape, magnetic tape, punch cards, or magnetic drum, for providing the medium of information in the known data processing systems.
Information supplied to the input, stored within or appearing at the output of these systems may often be in a random order with reference to that which is desired. Therefore it is common for data processing systems to include means for arranging the records containing information in a desired sequence. Often, only a portion of a record known as the control field is utilized in determining the precedence of one record over another in a particular sequence.
There are several well known types of sorting systems used in present day commercial data processing systems. For example, when the record medium is punched cards, a method known as pigeon hole sorting may be utilized. According to this method, pockets or pigeon holes, may be labeled with numbers 0 through 9. Thereupon the file of cards is sorted into these pockets according to the least significant digit of the control field of each card. The cards are then collected from the pigeon holes, assembled and next sorted into the pigeon holes with respect to the next least significant digit of the record control field of each card. Each step of sorting the file of cards according to a particular digit and then assembling the file is known as a pass. This method, generally has the advantage of requiring a relatively shorter sorting time than many other methods if the file of records is relatively short and if the information is stored in punch cards. This method usually utilizes control fields which are in decimal form rather than a binary code.
Another method of sorting information in general use is known as magnetic tape merging. According to this method a file of records recorded on magnetic tape is separated into two tape units. The initial records of these two tapes are fed into a storage device. The con- 3,029,413 Patented Apr. 10, 1962 ICC trol fields of these two records are then copied into a comparison means in which the precedence of the two records is determined. The record with the lowest precedence is then read out of the storage onto a third magnetic tape. The record with the highest precedence is retained in the storage means and a copy of the control field is retained in the comparison means. Next, a new record with a control field is fed into the storage means and copy thereof is fed into the comparison means from the tape that provided the previous record of lowest precedence. The comparison process is then repeated and the record with the lowest precedence is then read out of the storage behind the first record previously read onto the third magnetic line provided that they form an ascending sequence. If they do not form such a sequence the second record of low precedence is read out onto a fourth magnetic tape. The merging process continues in precisely this same way until all the records on the first and second magnetic tapes have been compared and fed onto the third and fourth magnetic tapes. In this manner the merging process halves the number of ascending sequences occurring in the file of records on each complete comparison. The comparison process is then repeated using the third and fourth magnetic tapes as inputs to the comparison means. Each comparison of the entered file is called a pass. Such comparison of the whole control field of one record with the whole control field of another record is often accomplished by subtracting them by standard computer techniques with the sign of the resultant being an indication of the precedence. The general technique involved in merging has a number of advantages. One of these is the large capacity afforded by extremely large files of records which may be placed on a magnetic tape. Another is present where the file of records is already partially sorted because the number of comparisons and passes required to sort the information into the desired sequence is then reduced.
The technique of merging is subject to several serious disadvantages. Most important of these is that a considerable amount of equipment is required in order that the above comparison steps take place. For example, merging storage means in addition to the regular information storage must be provided for both of the records being compared. The comparison means for comparing the two control fields simultaneously must be capable of storing both fields simultaneously while the precedence is being determined in a manner such as the one suggested above. Moreover, the merging storing means must be capable of retaining the record of the higher precedence while a new record is read into the merging storage means. In addition comparison means must be included to compare the control field of the record most recently deemed to have the lower precedence with the control field of the record which previously had the lower precedence in order that the output tapes be switched if they do not form an ascending sequence. It should be apparent to those skilled in the art that the circuitry and apparatus required to perform these tasks is costly and tends greatly to complicate the equipment.
In the prior art, the existing components and circuitry in the computer sections of the data processing systems have been utilized to accomplish merging thereby avoiding the duplication of complicated equipment in separate sorting sections of the data processing system. When the computation portions of the data processing system are utilized for sorting it is obvious that this monopolizes the most expensive portion of the data processing system for long periods operating on the data in a relatively low grade manner thereby raising the operating costs of the overall data processing system. This extra operating cost, of course, may be avoided by duplicating the necessary and complicated circuitry in a separate sorting system. In some instances the prior art has duplicated the necessary components and circuitry in a separate sorting section thereby freeing the computer portions of the data processing system for computation purposes. This approach, of course, increases the equipment costs considerably. Another disadvantage of the merging technique is the inordinately long time periods which are required to sort a completely unsorted file.
The description of sorting techniques set forth above has been restricted to the sorting of a file of records all in one batch appearing on two magnetic tapes or their equivalent. It is probable that a quite different sorting problem would usually arise in such exemplary applications as inventory and production control. This sorting problem is Sometimes referred to as real time sorting and exists when records are fed into the data processing system at irregular intervals and it is desired that each record be placed in a particular sequence with the records of information already in the data processing system. The merging technique, while having particular ad vantages within the limitations set forth above, does not lend itself to real time sorting.
Those skilled in the art often consider sorting systems as falling into two general classes. The systems of one class are sometimes referred to as parallel sorting systems and may generally be described as systems where each successive record is selectively routed to one of a plurality of storage means or positions in accordance with the sequence of the sort. The pigeon hole technique described above, exemplifies the parallel sorting system category. The systems of the other class are sometimes referred to as serial sorting systems and are distinguished from the parallel systems in that only those records of the successive records being considered with a particular precedence are routed to a particular storage means or position, the sorting being performed by passing the records through the sorting system a number of times until all records are arranged in the desired sequence. The merging technique described above exemplifies the serial sorting category. In general serial sorting systems have a decided advantage over parallel systems with respect to system complexity.
On the basis of the above resume of the prior art sorting system it appears that sorting may best be accomplished in a data processing system in sorting sections separate from the computational section by techniques which adopt the serial sort approach but which avoid the shortcomings of merging as set forth above. Accordingly a copending application No. 641,502, entitled Sorting Systems Using a Two Line Sorting Switch, filed Feb. 21, 1957, of the same inventors discloses means by which the prior art may be avoided by using a novel sorting switch with two input terminals and two output terminals providing means for comparing two records, character by character and bit by bit, that does not distinguish between parts of the control field which are identically the same. Also, once one portion of the control fields of the two records indicates that one record takes precedence over the other, the rest of the bits and characters of that record are switched to the output terminal of the sorting switch which is to receive the record of higher precedence. A practical application of this novel sorting switch in a sorting system would comprise a storage means containing a file of records to be sorted into a desired sequence, means for moving the storage means past two heads such that two records may be read simultaneously and passed through the sorting switch to two output terminals in accordance with their precedence, and means for writing the two records back on the storage means in accordance with their precedence in such a manner that the record with the highest precedence is immediately read back into the sorting switch with the next record in the storage means. A pass is completed when a complete file of records passes through the sorting switch. Iterative passes of the file record through the sorting switch will result in a compictely sorted file. It is an important aspect of that disclosure that when the two records pass through the two output terminals in accordance with precedence it is im- POsSibie to ascertain by inspection of the content of each of the records that a portion of the control field of each may have passed through dilfercnt input terminals of the sorting switch. This is particularly significant inasmuch as the passage of the file of records through the sorting switch is not delayed while the precedence of the records is determined. It is also important to note that the sorting switch of that disclosure is of relatively simple construction and low cost. One of the shortcomings of prior art magnetic tape merging not heretofore mentioned arises from the use of plural magnetic tapes and tape drives which raise serious questions of synchronization. Other serious design problems arising from the use of magnetic tape in data sorting systems involve critical read and write head positioning and tape. The sorting process of that disclosure unlike merging lends itself to the techniques of utilizing one storage medium at a time thereby eliminating the need for synchronization between separate storage media.
While the sorting system of the above identified copending application has considerable merit it would be desirable if the sorting time could be further diminished. According to the present invention the number of records which are simultaneously read from and written back on a storage device may be increased in excess of two, thereby increasing the speed with which a file of records may be arranged in a desired sequence according to their precedence. Further, according to the present invention the two line sorting switch already described may be concatenated with other two line sorting switches and appropriate read, erase and write heads in such a manner that three or more records of a file appearing in a storage means may be considered simultaneously as to their relative precedence and arranged back on the storage means according to that precedence. It follows then that an increase in the number of records considered simultaneously is implemented by the utilization of plural two line sorting switches each operating in a manner as described above and concatenated in a manner to be described below will arrange the file records in the desired sequence in a fewer number of passes. A distinctive feature of this novel method includes the location of the read, erase and write head combinations at integral record lengths with respect to other read, erase and write head combinations to provide for the plural inputs and outputs to these concatenated two line sorting switches. It is another important feature of the present invention that the storage medium of the file of records which are to be iteratively passed through the plural input concatenated sorting switches comprises an endless storage path free from variations in the speed of information fiow along the path which might effect system synchronization or head location.
It is therefore a primary object of the present invention to provide an improved serial data sorting system.
It is another object of the present invention to provide an improved serial data sorting system utilizing multirecord access and rearrangement means operating on the storage means.
It is a further object of the present invention to provide a multi input sorting switch which will compare, substantially simultaneously, an equal number of records and switch them to an equal number of output terminals in accordance with their precedence.
It is still another object of the present invention to provide a multi input sorting switch which contains a minimum number of concatenated two line sorting switches.
Other objects of the invention will in part be obvious and will in part appear hereinafter.
The invention accordingly comprises the features of construction, combinations of elements, and arrangement of parts, which will be exemplified in the constructions hereinafter set forth, and the scope of the invention will be indicated in the claims.
For a fuller understanding of the nature and objects of the invention reference should be had to the following detailed description taken in connection with the accompanying drawings, in which:
FIG. 1 is an electrical schematic of a serial by bit twoline sorting switch which is the basic component of the n-line sorting system according to the present invention,
FIGS. 2A and 2B are tabular illustrations of the binary code content of the two pairs of records where the control field of one record indicates precedence over the control field of the other,
FIG. 2C is a tabular illustration of the electrical symbols for the electrical components used in the circuitry of the sorting system according to the present invention,
FIGS. 3A, 3B and 3C are electrical block diagrams of arrangements of two-line sorting switches to provide three, four and five line sorting switches, respectively according to the present invention,
FIGS. 4A, 4B, 4C and 4D are electrical block diagrams of arrangements of two-line sorting switches to provide four, five, six, seven and eight line sorting switches, respectively,
FIG. 5 is an electrical schematic of the overall sorting system according to the present invention, and
FIG. 6 is a tabular illustration of the rearrangement of a file of records by iterative passes of the file through a file of records.
One of the basic components of the data sorting process according to the present invention is the two line sorting switch illustrated in great detail in FIG. I. Broadly, the input terminals A and B of the sorting switch may each receive randomly arranged records serially in the form of binary bits represented by either positive pulses (l) or relatively negative pulses (0) in a manner such that a pair of control fields may be compared bit by bit by a portion of the sorting switch enclosed by a dotted line containing the legend X which may be characterized as a decision circuit. The details of this decision circuit are set forth below. The comparison of the control fields of two records at a time in this manner requires that the control field precede the rest of the record and that the bits of each control field be considered as a descending order of significance. The decision circuit after determining the precedence of either the record being fed in at input terminal A or the record being simultaneously fed itno the input terminal B may be connected to operate the portion of the sorting switch indicated Y which latter portion may be termed gating circuitry. The gating circuitry may be characterized as operative to make the necessary switch operations in order that the high output terminal marked H always receives the serial bits from the record which has precedence after the aforementioned determination is made. In a first switching mode the serial bits which are fed into input terminal A are also fed through line 11, and gating circuitry Y to the high output terminal H, and the serial bits which are fed into the input terminal B are also fed through line 12 and gating circuitry Y to the low output terminal L. As long as the serial bits appearing at terminals A and B are identical, both positive (1) or negative (0), the decision circuitry reserves the decision.
However, when a bit appearing at terminal A is positive (1) while the bit appearing at terminal B is relatively negative (0) the decision circuit X will detect the prccedence of the record entering the sorting switch at input terminal A over that entering at input terminal B and the decision circuit becomes set so that this precedence is recognized for the remainder of the record time. During this condition the decision circuit does not afiect the normal mode of operation of the sorting switch through the gating circuit as the record being fed into input terminal A is being fed onto the high output terminal H as desired and the record being fed into input terminal B is being fed onto the low output terminal L as desired. As will be set forth in detail below, a reset pulse may be utilized to reset the decision circuit prior to the entry of each pair of records into the sorting switch.
Contra to the last example, when a bit appearing at terminal A is relatively negative (0) while the bit appearing at the terminal B is positive (1), the decision circuit Y will detect the precedence of the record entering the sorting switch at terminal B over that entering at input terminal A and the decision circuit becomes set so that this precedence is recognized for the remainder of the record time. As a result of this condition, the decision circuits may cause the sorting switch to change its mode through the operation of the gating circuit. In this mode, the record being fed into input terminal B having precedence is fed to high output terminal H, while the record being fed into input terminal A is fed to the low output terminal L. Thus, viewing the sorting switch from the output terminals, the record, including the control field with the highest precedence, gives the appearonce of being connected to the high output terminal H throughout the complete record time even before the decision circuit has determined the precedence, while the record including the control field with the lowest precedence also gives the appearance of being connected to the low output terminal throughout the complete record time even before the decision circuit has determined the precedence. This of course results from the fact that until the serial bits of the control fields of the records which are being fed into input terminals A and B differ, no decision as to precedence is made and as a practical matter the records are identical until that time. These features of the sorting switch are very important as the precedence of two coded records may be determined as the serial bits of each pass through the sorting switch without the need for storage or the relatively complicated decision components utilized in the prior art merging techniques described above.
Prior to considering the details of FIG. 1 it may be helpful to consider a description of typical records and standard components therein as set forth in FIG. 2. FIG. 2A illustrates the coded appearance of a first pair of records which might be fed into input terminals A and B. As shown herein the records are made up of two portions, one which has been referred to as the control field, which determines the precedence of the record and the other which contains the rest of the record information but which has no bearing on the determination of precedence. As already suggested, the binary bits making up the record may be grouped to define characters and a number of characters may be grouped into individual records. The number of bits with ascending significance which are selected to determine a character is entirely a matter of choice. The number of characters and their nature such as Arabic numerals, letters of the alphabet, or other symbols which determine a record is also a matter of choice. The control field of the record may vary with the system application and the particular sorting problem and may involve either a small portion of the record or the whole record. FIG. 2A illustrates a pair of records of data which may appear at the input terminals A and B wherein the record being fed through input terminal A has a control field indicating precedence over the other record. FIG. 2B illustrates a pair of records of data which may be applied to input terminals A and B wherein the record being fed through input terminal B has a control field indicating precedence. FIG. 2C is a table indicating the symbols used for standard computer components. The and" gate is conventional and may comprise diode circuitry connected in a manner such that two positive (high) input pulses are required in order that the gate have a positive (high) output pulse. If the and gate has three inputs they all have to be positive (high) in order that the gate have a psitive (high) output. The of gate is conventional and comprises diode circuitry (not shown) connected in a manner such that when either one or the other or both of its inputs receives a positive (high) pulse, the gate has a positive (high) output pulse. The inverter is conventional and may comprise triode vacuum tube circuitry connnected in such a manner that when a positive (high) pulse is fed into its input then a relatively negative (low) pulse appears in its output and when a relatively negative pulse is fed into its input, then a positive (high) pulse appears in its output. The trigger is conventional and may comprise, for example, two inverters and two or gates connected in a closed loop circuit with two input and output terminals in a manner such that the zero side of the bistable device is positive (high) when it is in the reset condition. Each of the standard components above is described in detail in Chapter 2 of a text book entitled, Arithmetic Operations in Digital Computers, by R. K. Richards, published by D. Van Nostrand Company, Inc. in 1955, and they are shown in various other publications as well.
Referring now to the details of FIG. 1 the decision circuit X and the gating circuit Y may be connected to cooperate in a manner such that and" gates 19 and 22 are open (responsive to positive or high inputs) and and gates 20 and 21 closed (non-responsive to positive or high inputs) until at least one precedence decision is made for a pair of records, and also during the remaining record time if the record appearing at input terminal A is determined to have precedence. When and gates 19 and 22 only are open, input terminal A is connected to output terminal H and input terminal B is connected to output terminal L, providing what was heretofore described as the first mode of operation of the sorting switch. Likewise and gates 20 and 21 should be open and and gates 19 and 22 closed such that the sorting switch operates in its second mode of operation during the remainder of the record time after the determination of precedence of the record appearing at input terminal B. During this mode input terminal A is connected directly to output terminal L, while input terminal B is connected directly to output terminal H. Or gates 23 and 24, operating as described above, are open all the time since they are responsive to either one or more positive (high) inputs. In order that the operation of the various components of the sorting switch be synchronized, it is necessary that a timing pulse be fed simultaneously into the and gates 15, 16, 19, 20, 21 and 22, each time each pair of bits appear at input terminals A and B. The initial condition of both triggers 17 and 18 of the decision circuitry is that of reset such that by design the zero side is high (positive). As shown, the zero side of trigger 18 is connected to and gates 19 and 22 (along with the timing pulse inputs) thereby causing "and gates 19 and 22 to be open when trigger 18 is in the reset condition. Also, the and gates 20 and 21 will be closed as a result of receiving the down (relatively negative) input from the one side of the trigger 18 when it is in the reset condition. Thus the sorting switch will be in its first mode of operation when the trigger 18 in its reset condition. When, however, trigger 18 is set by the output of and gate 16, its zero side is down (relatively negative) and its one side is high (positive) thereby causing and gates 19 and 22 to close and and" gates 20 and 21 to open thereby altering the sorting switch operation to the above described second mode whereby input terminal A is connected through and gate 21 and or gate 24 to low output terminal L and input terminal B is connected through and gate 20 and or gate 23 to high output terminal H. It is the interaction of and gate 13, inverter 14, an gate 15, and gate 16 and trigger 17, in response to the record inputs at input terminals A and B that determines whether trigger 18 maintains the sorting switch in its first or second mode of operation.
The two pairs of records as shown in FIGS. 2A later and FIG. 213 are intended to illustrate the two alternate examples of precedence. FIG. 2A shows serial by bit inputs which indicate that the record input to input terminal A has precedence over the record input to input terminal B. While FIG. 2B shows serial by bit inputs which indicate that the record input to terminal B has precedence over the record input to input terminal A. In these figures the Zero represents the relatively negative pulse or low signal. While the 1 represents the positive puise or high signal. Considering the first bit in each record of FIG. 2A, both are identical and zero or low. When this is true at least one of the inputs to each of the "and gates 15 and 16 is low inasmuch as each of these gates has an input coming directly from terminals A and B. Thus gates 15 and 16 are closed and trigger 18 remains in the reset condition so that the sorting switch remains in its first mode after receiving the initial A and B input bits. Considering the second bit of each record of FIG. 2A, both are identical and one (high) thereby feeding a positive or high input to both and" gates 15 and 16. However, and" gate 13 is also directly responsive to both terminals A and 13 thereby having a high or positive output. Since this high output is inverted by inverter 14 a low (relatively negative) output is fed to both and gates 15 and 16, thereby causing them to remain closed (each having a low output). As a result trigger 18 remains in the reset condition and the sorting switch remains in its first mode. Considering the third bit of each record of FIG. 2A, the bit at terminal A is a one or high While the bit at terminal B is zero or low. The low input fed through the direct connection from terminal B to and gate 16 is effective to close and gate 16 in a conventional manner. A high or positive is similarly fed directly to and gate 15. Since one of the inputs (from terminal B) to and gate 13 is low (relatively negative), it output is low (relatively negative). Thus inverter 14 in its output inverts and feeds a high or positive input into and gates 15 and 16. Considering the timing pulse, already referred to as in synchronism with the pairs of serial by bit inputs to terminals A and B, all the inputs to and gate 15 (unlike those of and gate 16) are simultaneously high thereby causing its output to be high. As a result trigger 17, heretofore in a reset condition with a high output at its zero terminal, is switched to a set condition in response to its high input. While in its set condition trigger 17 has a low (relatively negative) output at its zero terminal which is in turn connected as an input to and gate 16. This input is effective to keep and gate 16 closed (low or relatively negative output). Once trigger 17 goes to the set condition indicating a decision that the record appearing at terminal A has precedence, a reset pulse is required to return it to the reset condition. Since a reset pulse only occurs each time a new pair of records appear at terminals A and B it follows that once trigger 17 is set, thereby indicating the precedence of the record being fed through input terminal A over that at terminal B, that and" remains closed and trigger 18 remains reset for the rest of the record time. Under this condition the sorting switch remains in its first mode of operation throughout the remaining record time.
As already suggested prior to an additional pair of records being fed into input terminals A and B, a reset pulse is generated in a manner described below in connection with FIG. 3 in order that trigger l7 and trigger 18 of the decision circuit are returned to the reset condition prior to each comparison. It should be remembered that trigger 18 is not set until it is determined that the record appearing at input terminal B has precedence in a manner exemplified by considering the records of FIG. 2B. The first pair of bits of FIG. 2B being identical and zero (low or relatively negative) close both and" gates 15 and 16 by reason of a low or relatively negative input to be fed each of these gates through inverter 14. Thus the sorting switch remains in its first mode of operation as before. However, unlike the records of FIG. 2A the third pair of bits differ with the bit at terminal A being zero or low while the bit at terminal B is one or high indicating that the record at terminal B has precedence. In order that the gating circuitry may operate to switch the sorting switch to its second mode of operation when this decision is made and that this condition be maintained for the rest of the record time it is necessary that trigger 18 be set by a high output from and gate 16. When input terminal A i zero (low or relatively negative) and" gate 15 receives a low input, it is closed and has a low output such that trigger 17 continues in a reset condition. When input terminal B is one (high or posi tive), and gate 16 receives one high input directly, another high input from inverter 14, inasmuch as the output from and gate 13 is low as a result of its zero or low input from input terminal A; and another high input from the zero terminal of trigger 17 which remains in the reset condition; and still another high input from the timing pulse circuit. Since all of the inputs to and gate 16 are high, it has a high output which sets trigger 18. Trigger 18 then remains in this condition regardless of the content of the pairs of bits appearing at the input terminals A and B for the rest of the record time, and the sorting switch remains in its second mode of operation, whereby serial bits, being fed into input terminal A pass through to low output terminal L, and serial bits being fed into input terminal B pass through to high output terminal II. It is important to note that the switching which is required for the proper operation of the circuitry of FIG. 1, be made with a minimum time delay after the precedence is required.
A sorting switch may be constructed to handle three or more records simultaneously by concatenating the two line sorting switches shown in FIG. 1. For example, FIG. 3A, shows three two line sorting switches connected together to form a sorting switch with three inputs operating such that the records are passed to three output terminals in accordance with the precedence High, second high and low as indicated. The records being fed into terminals A and B are sorted by the two line sorting switch I, the record of higher precedence coming out on to the upper line, and the record of lower precedence coming out on the low output terminal of switch I. The record being read into terminal C together with the record being fed out the low output terminal of switch I are then fed through sorting switch 11 with the record with the higher precedence appearing in the upper output terminal of switch II and the record with the lower precedence appearing at the low output terminal of switch II. Finally, the record having the precedence as determined by switch I and the record having the precedence as determined by switch II are fed into sorting switch III which directs the record with precedence out of its upper terminal to the terminal marked high and the other record with a lower precedence out of its low terminal to the terminal marked second high, while the record which has the lowest precedence as determined by switch II appears at the terminal marked low. Thus terminals A, B and C represent the three inputs and the terminals high, second high and low represent the output of what might be called a Three Line Sorting Switch. In understanding the operation of the concatenated sorting switch, it is important to remember that the time required for decision making and switching, if necessary in accordance with that decision, is required to be small compared with the width of the positive l) and relative negative pulses used to represent the binary bits of the records being considered bit by bit. In
10 FIG. 3A it is important that the serial bits of the records appearing at terminals A, B and C be in their reverse order of significance in representing characters and that the characters be in their reverse order of significance in representing the record. Superimposed on FIG. 3A are the first two serial bits of each of the records appearing at the input terminals in order that the operation of the concatenated two line sorting switches be illustrated.
A four line sorting switch may comprise concatenated two line sorting switches as shown in FIG. 33. While a five line sorting switch may comprise concatenated two line sorting switches as shown in FIG. 3C. The four line sorting switch compares four serial by bit record inputs substantially simultaneously and directs them to four output terminals in accordance with their relative precedence. Likewise, the five line sorting switch compares five serial by hit record inputs substantially simultaneously and directs them to five output terminals in accordance with their relative precedence. Theoretically the number of record inputs for which a sorting switch may be constructed by concatenating two line sorting switches is a matter of choice. However, as a practical matter the equipment required may become unduly complicated beyond a certain point. The maximum number of two line sorting switches required to construct an n-line sorting switch is the number which is required to consider each pair of the n lines, when taken two at a time. This concept may be expressed by the formula,
Number of two line sorting switches= where n is the number of lines.
Referring again to FIG. 3A and FIG. 3B it will be noted that the four line sorting switch may be constructed from the three line sorting switch by adding another input terminal D and directing this input together with the lower output of sorting switch II to a newly introduced sorting switch IV. The lower output from switch IV is the low output of the four line sorting switch. While the upper or high output of switch IV is fed together with the lower output of switch III into a new sorting switch V. The lower output of switch V is the third high of the four-line sorting switch. The upper output of switch V is fed together with the upper output of switch III of the original three-line sorting switch into a new sorting switch VI. The upper and lower outputs of switch VI are the high and second high of the four line sorting switch constructed. Inspection of the four line sorting switch FIG. 38 as to its similarities and differences with the three line sorting switch of FIG. 3A indicates that the four line sorting switch may be constructed from the three line sorting switch by adding the fourth input terminal and by simply cascading them diagonally up to the right. A more general rule might be stated whereby an (n+1)-line sorting switch might be constructed from an n-line sorting switch by utilizing n-l two line sorting switches and cascading them in a manner that these switches might successively compare the record being fed serially by bit into the added input terminal with each of the outputs of the n-line sorting switch which are ordered with respect to precedence, such that if the record being fed into the new input terminal has the highest precedences of all the records which are being compared simultaneously, it will be directed to the output terminal with the highest precedence.
Likewise, a five line sorting switch may be constructed from a four line sorting switch by adding a fifth input terminal E and cascading four additional two line sorting switches to the right as indicated in FIG. 3C. It should be apparent that the n-line sorting switch construction procedure is perfectly general and therefore, in principle, a sorting switch of any number of inputs may be constructed.
The n-line sorting switches constructed after the plan described above and shown in FIGS. 3A, 3B and 3C do not generally represent the minimum number of two line switches which might be utilized, particularly as the number of lines is increased. By the use of skill, it is possible to design economical n-line sorting switches using a reduced number of two line sorting switches. This is exemplified by the designs for n-line sorting switches with n ranging from four to eight as showns in FIGS. 4A, 4B, 4C, 4D and 4E.
The n-line sorting switch operation and constructions as already indicated, have been described under the hypothesis that the record information has been introduced into the sorting switch input terminals serially by bit. However, the principle of concatenating a multiplicity of sorting switches in the fashion described above is not restricted to serial by bit (bit by bit) information but may be applied to coded record information which appears character by character where each character whether numerical, alphabetical or symbolic is represented a given number of binary bits which are presented in a parallel circuitry. The copending application No. 641,502, of these same inventors referred to above illustrates a sorting switch which will operate such that the information is considered character by character in FIGS. 6, 7 and 8. As indicated therein by considering the parallel inputs providing binary bits representing a character as one line or input, the sorting switch shown therein may be considered a two line sorting switch for purpose of analysis and general system applications. It should be apparent therefore that a sorting switch adapted to handle the information character by character rather than serial by bit may also be concatenated to construct an n-line sorting in accordance with the present invention.
The n-line sorting switch of the present invention has been described above with reference to the method by which it determines the precedence of n records substantially simultaneously, however, the many advantages which accrue to this novel technique are more apparent in connection with a description of the operation of the sorting switch in a sorting system environment as illustrated in FIG. 5. The sort system as shown therein is simplified considerably in order that the present specification may not dwell unnecessarily in components well known in the arts. Therefore, only so much of the sorting system is shown as will be helpful in describing the invention. The n-line sorting switch shown in block form may be identical in construction and operation to any of those shown in FIGS. 3 and 4. The file of records to be sorted may be stored on either a single magnetic tape or a magnetic drum as shown. The drum may at a minimum comprise two sections. The first section 31 might be described as providing for the storage of the records as they are fed to the inputs of the n-line sorting switch and written back on the drum in accordance with the precedence. The other section comprises clocking tracks to provide the timing pulses already referred to. In the first section, the arrangement of adjacent magnetic storage tracks in combination with the read, erase and write heads provides what might be described as a pseudo-helical drum. For example, suppose that the first record of the file (whose records are in random sequence) is fed into the sorting system through terminal C by conventional buffer and gating circuitry not shown. This record is then written by head 33, bit by bit, character by character, onto the first magnetic track. After the first, a second and third record and so on may be placed on the track in the same manner. The number of records which may be stored on one circular track depends on many design considerations such as the number of bits per character, the number of characters per second, drum diameter and the packing density on the drum. It also follows that the number of adjacent tracks contained on the drum is a matter of design. After the drum has made approximately one complete revolution the first, second, third and f records, etc. are read by head 34 in that order and passed through conventional amplifier and shaping circuits to the adjacent track. After the records are read bit by bit to the adjacent track the permanent erase head 35 between read head 34 and write head 33 obliterates the information so that new information is written on the track by the write head 33 of the first track without interference from previously recorded information. These erase heads may not be necessary if the write heads and the magnetic track are of such a type that writing such may take place over previously recorded information. The information is advanced one track for every revolution. Each of the read heads 34, erase heads 35, and write heads 33 have the same function and may be of conventional construction; and each of the conventional amplifiers and shaping circuits 36 have the same function and construction. In this way, the information file, even though of considerable length, is treated as a continuous file. While FIG. 5 illustrates only a limited number of adjacent magnetic tracks with read, write and erase head combinations, it should be apparent that number is entirely a matter of choice and system capacity design considerations. The arrangement of the drum and readwrite and erase head in this manner permits the file of information in the form of serial bits forming binary characters and records to follow a pseudo-helical path as the drum rotates. The serial by bit information is read from the last storage magnetic track to the magnetic track farthest to the right by the read head 34, through an amplifier 36 and a. write head 33 onto the magnetic track which moves under the read and write heads of the nline sorting switch.
Considering the n-line sorting switch as comprising three lines for the purpose of illustration, read heads 37 and 38 may be placed about two record lengths apart on the sorting track while read heads 38 and 25 are spaced about one record length apart on the sorting track. The significance of read head spacing will be discussed below. Thus the serial by bit information first written on the sorting track will be the first to pass under read head 37. Because, initially, read heads 38 and 25 have no serial by bit information passing under them, the three line sorting switch operating as discussed in connection with FIG. 3A above, on receiving the serial by hit record which is read by read head 37 through input terminal A will determine that this record has precedence such that it appears at the high output terminal H and is written serial by bit back on the sorting track by write head 32 behind read head 37 and erase head 35. The second record written on the sorting track will then pass under read head 37. Because read head 38, spaced at least two record lengths from read head 37 on the sorting track and read head 25 spaced at one record length from read head 38 along the sorting track have no serial by bit information passing under them, the operation of the three line sorting switch as discussed in FIG. 3A above will cause the second serial by hit record which is read by read head 37 to pass through input terminal A to be determined as hav ing precedence such that it appears at the high output terminal H and is written serial by hit back on the sorting track by write head 35. The third record written on the sorting track will then pass under read head 37, and the first record which had been considered by the sorting switch previously will simultaneously be passing under read head 38 and read head 25 will still not have any serial by bit information passing under it. Considering the operation of the three line sorting switch the precedence of the serial by bit first and third records which are fed in through input terminals A and B is determined and the record with the highest precedence appears at output terminal H and is written back on the sorting track by write head 32 behind read head 37 and erase head 35. While the record with the lowest precedence is written on the track by write head 39 behind read head 38 and erase head 35 the fourth record of the file, having been written on the sorting track, will then pass under read head 37, which two of the first three records of the file (as determined by their relative precedence) will be passing serially by bit under read heads 38 and 25. The three line sorting switch operating in the manner described above in connection with FIG. 3A directs these three records simultaneously toward the output terminals High, Second High and Low, in accordance with their precedence. The records directed through output terminals High and Second High are written back on the sorting track in a position such that they may be recirculated through the sorting switch during the record comparison, after next, and the next record comparison respectively. The record directed out the low input terminal is written back on the sorting track and then rotates with the sorting track and drum. If the sorting track continues to have serial by bit records written on it and these records are read from and written back on the track by the three line sorting switch and the related read, erase and write heads the file of records will be rearranged in accordance with their precedence. The records which are successively written back onto the sorting track by the write head 41 connected to the output terminal L of the three-line sorting switch move with the rotating sorting track under read head 34 through switch means 8-1, which may be closed after the helical drum is completely filled with a file of records, back to the first storage track in order that the complete file be passed iteratively over the pseudohelical path through the sorting switch. The sorting cycle wherein the complete file of records passes through the three-line sorting switch may be called a pass. Repeated passes of the file of records will arrange the file of records in a sequence according to relative precedence as determined by the decision circuitry of the sorting switch.
In order to more fully describe the operation of a threeline sorting switch in re-arranging a file of records as they are iteratively passed through the switch, reference should be made to FIG. 6. Since it is usually desirable for read, erase, and write head combinations to be as close together as possible on the sorting track single arrows are used for the combinations in FIG. 6 in order that the analysis set forth below may appear in its simplest terms. Moreover for purposes of illustration it is assumed that the heads represented by these arrows and the three-line sorting switch not shown, are able to read a set of records, sort them, and write them back in the some record positions on the magnetic drum, instantaneously. This assumption is, of course, physically unrealistic, but is perfectly satisfactory for describing the multiple or iterative pass logic of the scheme. Shown in FIG. 6 on the three lines of the sorting switch and a file of records initially in reverse order: 10, 9, 8, etc., the first block I of data illustrates the rearrangement of the file of records during a first pass of the file of records through the sorting switch. Each level is intended to show the rearrangement of the file during the passage of three or less records through the sorting switch. Likewise, the second block II of data illustrates the rearrangement of the file during some of the second pass of the file of records through the sorting switch. While the third block III of data illustrates the rearrangement of the file during some of the third pass. As already indicated above, the sorting track and with it the file of records continuously moves past the sorting switch inputs. Thus on level (a) of block I records and 8 are considered by the sorting switch. Record 10 having precedence will instantly move under the arrow marked High and be moved to the left during the record time. Likewise, record 8 being second high in precedence will instantly move under the arrow marked second high. The movement of the sorting track past the sorting switch will moxe the rearranged file of records to a position shown at level (b). Under this condition, all three inputs of the sorting switch receive serial by bit records and a switching takes place in accordance with their precedence. The records then rearranged during the next record time as shown at level (c). This rearrangement will be continued as the file of records passes through the sorting switch.
FIGS. 3B, 3C, 4A, 4B, 4C, 4D and 4E illustrate sorting switches which will handle more than three records for comparison at a time. The analysis technique set forth above as to FIG. 6 in connection with the record rearrangement or record sorting of a three line (three record) sorting switch, is applicable to sorting switches with four, five, six n lines as well. It should be apparent that the greater the number of lines or accesses of the sorting switch to the sorting storage means, the greater the number of records which are rearranged during one pass" of the file of records. As already indicated, when plural (11) line or access sorting switches are utilized, the lines (read, erase, and write head combinations) are spaced on the storage medium according to an arithmetic progression with an initial spacing of one record length and a common difierence of one record length so that the line (heads) are spaced a distance of l, 2, 3, 4, 5, 6, etc. records apart. For example, in a four line sorting switch the lines may be approximately one, two and three record lengths apart with the storage medium with its file of records passing under the line (read, erase, and write heads) with the largest spacing first.
The number of records which may be sorted in one pass using a line (read, erase, write head) configuration of this invention is given by the formula q (n;1) 1 where The number of lines n for practical reasons which will be discussed below is usually restricted to a relatively small number. Therefore, the number of records desired to be sorted by the techniques of present invention usually exceeds by a rather large amount the number which may be sorted in one pass with an n-line sorting switch. For example, a four line sorting switch will sort seven records in one pass. However, a practical size file of records to be sorted will usually comprise at least 1,000 or 2,000 records and probably many more. Consequently, it will take a large number of passes of the file of records under the four lines in order to achieve a sort, the number of passes required to sort a file when the file of records is completely random with reference to the desired sequence may be desired from the following formula N equals the number of records in the file q equals the number of records which may be sorted in one pass by an n-line sorting switch, and
P equals the number of passes required.
Because of the large number of passes required to sort most files of records, it is an important part of the present invention that the storage medium utilized be adaptable to receive a large file of records to be sorted be suitable to provide multiple access to the storage means a multiple input (n-line) sorting switch, and provide an endless moving storage path such that the file may be iteratively passed through the sorting switch the required number of times without encountering synchronization problems resulting from varying speeds in the flow of information and stretch of the storage medium. The endless pseudohelical drum already described in connection with FIG. 5 provides just such a storage medium. Since all of the tracks are integrally mounted on the same drum, and the amplifier and shaping circuits electrically positioned between each track are identical and have a minimum time constant, the rate of movement of the record information over this endless magnetic path is entirely dependent on the rate with which the tracks making up this path are moved under the read, erase, write head combinations. Moreover, magnetic tracks mounted on the integral drum are not susceptible to stretch as are magnetic tapes used in the merging techniques of the prior art. The timing ring on the clock section of the drum which is integral with the rotating storage and sorting section in combination with the conventional electronic counters provides mechanically synchronized timing, reset and pass pulses which are required by the sorting system of the present invention.
As indicated above, in connection with FIGURE 1, the N-line sorting switch receives timing pulses from a timing portion drum 30 via lead 43. The pulses from the lead 43 are also passed to the hit counter which furnishes a re-set pulse to the N-line sorting switch after a predetermined number of bits have been counted constituting a complete record. Since synchronization of the circuits is of importance, it is desirable to provide a means for detecting improper operation of the counters and loss of synchronization. For this purpose an and gate 42. (FIGURE receives inputs from the hit counter, the record counter and the revolution counter. If these three inputs are high (positive) simultaneously, the and" gate 42 will pass a high (positive) output. An inverter 45 receiving this input will pass a relatively low (negative) output. Another read head 40 may be placed on the timing ring of the clock section 36) of the drum such that a positive pulse (high) will be produced at times when the output from the inverter 45 is low. The out puts from both the read head 40 and the inverter 45 are passed to an and gate 43'. The two inputs to the "and" gate 43' are never high simultaneously, as long as the counters are in synchronism. However, if the counters fall out of synchronism for any reason, the inverter 45 will be high and the and gate output will be high as each positive pulse is received from the read head 44 Any pulse operated indicator (shown in block form at 46) may be connected to the and gate 43 to detect and indicate lack of synchronism and consequent unreliability of the sorting operation.
According to the present invention the pseudo-helical drum may be constructed with a capacity to handle a large file of records depending on the particular sorting problem. Since the passes required to complete a sort determines the total sorting time, it may be desirable to increase the number of accesses by the sorting switch (increase the number of lines of the sorting switch) such that a large number of records is sorted on each pass. If the number of lines of the n-line sorting switch of FIG. 3 were increased, additional read-erase, write head combinations would be disposed around the sorting track spaced according to the arithmetic progress of one record length in a manner suggested above. The limitations as to the maximum number of inputs for which a sorting switch and system may be optimumly designed is based on several factors. The first is the circuit complexity resulting from concatenating necessary two-line sorting switches as already discussed above. Another important factor results from the fact that the decision and switching time of the n-line sorting switch increases with the number of concatenated two line sorting switches, whether of the serial by bit or character by character types. Since, as already indicated above, the sorting systern of the present invention is dependent on the assumption that the decision and switching time of an 11- line sorting switch must be relatively small in comparison with the width in time of the positive pulse representing the binary bit (1) and the relative negative pulse representing the binary bit (0). Otherwise the sorting switch would not be able to determine the precedence of two binary bits of the same significance and switch their records at appropriate times required to keep the system in synchronism.
The description of FIGS. 3A, 3B, 3C above, indicates a method which may be used in concatenating two-line sorting switches representing building blocks to construct a sorting switch which will receive and sort any number n inputs simultaneously. However, this method seldom provides a sorting switch which utilizes a minimum number of two line sorting switches. FIGS. 4A, 4B, 4C, 4D and 45 represent intuitively constructed sorting switches with four-eight lines or inputs and which use a lower number of two line sorting switches than would be utilized by applying the method described in FIGS. 3A, 3B and 3C above. The operation of these switching systems FIG. 3 or FIG. 4 may be checked for any permutation or" the n inputs by applying Boolean Algebra to the lattice formed by the concatenated building blocks. For example, reference should be made to P16. 3A illustrating the three line sorting switch. The operation of FIG. 3A may be checked by expressing the highest of three inputs A, 13, C as max (A, B, C) or as (A-l-Bd-C) where is the lattice join. While the lowest of the three inputs A, B, C is expressed as (A, B, C) or ABC where the juxtaposition of letters is the lattice meet. And the second highest of A, B, C may be expressed as max [min (A, B), min (A, C) min (B, C)] or as AB+AC+BC. FIG. 3A has the Boolean Algebra terms superimposed for purposes of illustration. Any of the other FIGS. 3B, 30, 4A, 4C, 4D and 4E may be analyzed in the same manner.
The sorting of a file of records according to the present invention may be accomplished by either utilizing the switch circuitry of FIG. 1 when the information is handled serial by bit, or the switch circuitry of FIGS. 6, 7, and 8, of copending application No. 641,502 referred to above to same inventors as the present application when the information is handled character by character. Under the conditions set forth therein the system of FIG. 5 and the sorting switches of H65. 3 and 4 may utilize those switching circuits instead of the two-line sorting switch of H6. 1. Whichever of these techniques are adopted, each has the merit of the serial sort approach and a relative simplicity of circuitry over known parallel sorting systems. Moreover, this switch circuitry avoids the need for the complicated storage, comparison, and synchronizing means required by the merging technique of the prior art. According to the present invention the bits of the control fields of the records need not be stored until full control fields are available for comparison as to precedence, since the bits and characters are examined and switched as they enter the comparison means without any delay for the precedence. This, of course, is based on the fact that the portions of the records which are identical and are simultaneously passed through to the pair of output terminals until the examination of a pair of bits or a pair of characters indicates a precedence. Switching circuits may change the mode of operation as to which record is passed out each of the pair of output terminals, in accordance to the determination of precedence.
It is important to emphasize that the sorting technique of the present invention may utilize either magnetic tape or a magnetic drum. However, it should be noted that the pseudo-helical path provided by the magnetic drum of FIG. 5 provides several advantages over the mere substitution of a magnetic tape in its place. For example, for a magnetic tape to provide an endless magnetic path of considerable length, several magnetic tapes would be required making the problems of synchronization of the drive means very critical. Further, the possibility of a considerable amount of stretch in the tape would cause further probelms of synchronization and read and write head location. The pseudo-helical magnetic path as provided in the drum herein being mechanically integral with the clocking section provides a minimum of synchronization problems which may be solved by the application of well known and conventional techniques and components.
While the merging technique of the prior art is not applicable to real time sorting as defined above, the sorting technique of the present invention may be used to enter new records in their proper sequence in the file of records merely by feeding the new records in the input terminal shown in FIG. when the feedback connection from the sorting track to the first storage track is open, followed by recirculation through the sorting switch in the normal manner. The limitation of this is that only a maximum number of records may be recirculated through the sorting switch at once. This number is, of course, dependent on the design of the magnetic drum providing the endless psuedo-helical magnetic path.
The sorting technique as exemplified by the sorting system shown in FIG. 5 may be designed to operate entirely independently but in cooperation with many known data computation systems without monopolizing valuable computer time thereby tending to raise overall data system expenses. Moreover, an independent data sorting system using the sorting technique of the present invention may be constructed relatively inexpensively compared to one using the merging technique of the prior art.
The N-line sorting switch or reptitive switching network is shown as operating on the file of records as they pass under the appropriate read heads on the track farthest to the right. However, it should be noted that the read and write heads of the sorting switch may operate on any one of the adjacent storage tracks. Also, it should be noted that the recirculation of the bits in the sorting switch may be done in cooperation with a separate storage means or track so long as the proper synchronization exists. As already suggested the control field or a binary coded record may vary from one bit to the whole record depending on the practical application of the sorting system of the present invention.
The term precedence heretofore used herein as indicating a larger magnitude of the control field of one record over that of another could well be used to indicate the lesser magnitude of the control field of one record over that of another. The term precedence with regard to present invention may be defined according to any distinguishing feature of one record over another. The file of records was sorted as shown herein according to the ascending sequence of their control fields. However, this file could well have been sorted according to a descending sequence by reversing the positions of the two write heads of the two line sorting switch. The terms positive and relatively negative pulses have been used to represent binary bits 1" and 0 respectively herein. It is emphasized that the present invention may be practiced by reversing this representation or by any of the other known means of representing binary bits.
It will thus be seen that the objects set forth above, among those made apparent from the preceding description, are efiiciently attained, and since certain changes may be made in the above constructions Without departing from the scope of the invention, it is intended that all matter contained in the above description or shown in the accompanying drawing shall be interpreted as illustrative and not in a limiting sense.
It is also to be understood that the following claims are intended to cover all of the generic and specific features of the invention herein described, and all statements of the scope of the invention which, as a matter of language, might be said to fall therebetween.
Having described our invention, what we claim as new and desire to secure by Letters Patent is:
1. An N-line sorting switch for sorting randomly arranged binary coded records wherein a certain portion of each record may be charcterized as a control field comprising repetitive switching network means with plural input terminals and a like number of output terminals for simultaneously considering the relative precedence of a like number of records, said repetitive switching network comprising plural concatenated two-line sorting switch means each with first and second input terminals and first and second output terminals for simultaneously receiving two records, each two-line sorting switch comprising decision making means for determining which of the records appearing at said first and second input terminals has precedence over the other, gating means responsive to said decision making means for directing the record which has precedence to said first output terminal and the other record to said second output terminal, said repetitive switching network comprising plural concatenated two-line sorting switches operating in a manner that the plural records which are simultaneously fed to said plural input terminals are substantially simultaneously switched and directed to said output terminals in accordance with their relative precedence.
2. An N-line sorting switch for sorting randomly arranged serially by bit binary coded records wherein a certain portion of each record may be characterized as a control field comprising repetitive switching network means with plural input terminals and a like number of output terminals for simultaneously considering the relative precedence of a like number of serially by bit binary coded records, said repetitive switching network means comprising plural concatenated two-line sorting switch means each with first and second input terminals and first and second output terminals for simultaneously receiving two serially by bit binary coded records, each two-line sorting switch comprising decision making means for determining which of the binary coded records appearing serially by bit at said first and second input terminals has precedence over the other, gating means responsive to said decision making means for directing the record which has precedence to said first output terminal and the other record to said second output terminal, said repetitive switching network means comprising plural concatenated two-line sorting switches operating in a manner that the plural serially by bit binary coded records are simultaneously fed to said plural input terminals are substantially simultaneously switched and directed to said output terminals in accordance with their relative precedence.
3. A sorting switch for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field comprising repetitive switching network means with first, second and third input terminals and first, second and third output terminals for simultaneously considering the relative precedence of three binary coded records, said repetitive switching network comprising a first two-line sorting switch connected to simultaneously determine the precedence of the record appearing at said first and second input terminals, a second two-line sorting switch connected to simultaneously determine the precedence of the record appearing at said third input terminal with the record having the lowest precedence as determined by said first two-line switching network, a third two-line repetitive switching network connected to simultaneously determine the precedence of the record having greatest precedence as determined by said first two-line sorting switch and the record having greatest precedence as determined by said second two-line sorting switch, said first output terminal being connected to receive the record with the highest precedence as determined by said third two-line sorting switch, said second output terminal connected to receive the record with the least precedence as determined by said third two-line sorting switch, said third output terminal connected to receive the record with the least precedence as determined by said second two-line sorting switch.
4. A sorting system for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field comprising repetitive switching network means with plural input terminals and a like number of output terminals for simultaneously considering the relative precedence of a like number of records and directing them to said output terminals in accordance with their precedence, said repetitive switching network comprising plural two-line sorting switches concatenated in a manner such that the binary coded records appearing at each pair of the plural input terminals are compared and switched two at a time, storage means for storing and iteratively passing a large file of records through said repetitive switching network means in order that the file be arranged in a desired sequence comprising a rotating drum on which plural adjacent magnetic tracks are placed including a first and a final track, plural read, erase, write, magnetic head combinations located such that a combination cooperates with each track, plural electrical means connecting a read head of each track to the write head on the adjacent track, and the read head of the final track to the write head of the first track, said file of records being stored on these adjacent tracks in a manner that a particular record may move from track to track as said drum rotates under the read, write, erase head combinations describing an endless pseudohelical magnetic path, said repetitive switching network means being disposed in said endless pseudohelical magnetic path.
5. A sorting means for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field comprising repetitive switching network means with a reset input terminal, a timing pulse input terminal plural input terminals and a like number of output terminals for simultaneously considering the relative precedence of a like number of records, and directing them to said output terminals in accordance with their precedence, plural read heads each connected to one of said plural input terminals, plural write heads each connected to one of said output terminals, storage means for a file of records comprising a rotating drum having a first and second section, said first section comprising a rotating drum, a plurality of adjacent magnetic tracks including a first and final track, a read, erase, write magnetic head combination cooperating with each track, plural electrical means connecting the read head of each track to the write head on the adjacent track and the read head of the final track to the write head of the first track, said file of records being stored on these adjacent tracks in a manner that a particular record may move from track to track as said drum rotates under the read, erase, write head combinations describing an endless pseudo-helical magnetic path, said second section comprising a timing ring and a timing read head cooperating with said timing ring in a manner that a pulse is produced each time a binary bit passes under the read heads of the adjacent tracks of said first section, a pulse counter constructed to give an output pulse after the number of input pulses is equal to the number of binary bits defining a record, said timing read head being connected to both said timing pulse input terminal of said repetitive switching network and said pulse counter, said output of said pulse counter being connected to said reset pulse input terminal of said repetitive switching network, said plural sorting read heads and said sorting write heads cooperating with one of said adjacent tracks of said first section of said sorting means in a manner such that the file of records may be iteratively passed through said repetitive switching network and the file arranged in a desired sequence.
6. A sorting system for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field, comprising repetitive switching network means, repetitive switching network means with plural input terminals and a like number of output terminals for simultaneously considering the relative precedence of a like number of records and directing them to said output terminals in accordance with their precedence, said repetitive switching network comprising plural two-line sorting switches concatenuated in a manner such that the binary coded records appearing at each pair of the plural input terminals are compared and switched two at a time, a sorting read head connected to each input terminal, a sorting write head connected to each output terminal, storage means for storing a large file of records comprising a rotating drum on which plural adjacent magnetic tracks are placed including a first and final track, plural erase, write magnetic head combinations located such that a combination cooperates with each track, plural electrical means connecting the read head of each track to the write head on the adjacent track, and the read head of the final track to the write head of the first track, said file of records being stored on these tracks in a manner that a particular record may move from track to track as said drum rotates under the read, erase, write head combination thereby describing an endless pseudohelical magnetic path, said plural sorting read heads and said plural sorting write heads being disposed on one set of said adjacent tracks such that said file of records is iteratively passed through said repetitive switching network means and arranged in a desired sequence.
7. A sorting system for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field, comprising repetitively switching network means with plural input terminals and a like number of output terminals for simultaneously considering the relative precedence of a like number of records and directing them to said output terminals in accordance with their precedence, said repetitive switching network comprising plural twoline sorting switches concatenated in a manner such that that the binary coded records appearing at each pair of the plural input terminals are compared and switched two at a time, a sorting read head connected to each input terminal, a sorting write head connected to each output terminal, storage means for storing a large file of records comprising a rotating drum on which plural adjacent magnetic tracks are placed including a first and final track, plural read, erase, write magnetic head combinations located such that a combination cooperates with each track, plural electrical means connecting the read head of each track to the write head on the adjacent track, and the read head of the final track to the write head of the first track, said file of records being stored on these tracks in that a particular record may move from track to track as said drum rotates under the read, erase, write head combinations thereby describing an endless pseudo-helical magnetic path, a sorting read head connected to each input terminal of said repetitive switching network, a sorting write head connected to each output terminal of said repetitive switching network, each sorting read head being paired with a particular sorting write head as determined by desired relative precedence, said pairs of sorting read heads and sorting write heads being spaced according to an arithmetic progression with an initial spacing of one record length on said endless pseudo-helical magnetic path.
8. An N-line sorting system for sorting a file of randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field, comprising repetitive switching network means with plurality input terminals and a like number of output terminals for substantially simultaneously determining the precedence of a like number of records appearing simultaneously at said plural input terminals of records through said repetitive switching network, said pairs of sorting read heads and sorting write heads being spaced according to an arithmetic progression with an initial spacing or" one record length.
9. The N-line sorting system of claim 8 wherein the repetitive switching network means with plural input terminals and a like number of plural output terminals for substantially simultaneously determining the precedence of a like number of records comprises plural concatenated two-line sorting switch means each with first and second input terminals and first and second output terminals for simultaneously receiving two records, each two-line sorting switch comprising decision making means for determining which of the records appearing at said first and second input terminals has precedence over the other, gating means responsive to said decision mak ing means for directing the record which has precedence to said first output terminal and the other record to said second output terminal.
10. An N-line sorting system as set forth in claim 8 wherein the repetitive switching network means with plural input terminals and a like number of output terminals for substantially simultaneously determining the precedence of a like number of records appearing simultaneously at said plural input terminals and directing them to said output terminals ordered according to a desired relative precedence comprises plural two line sorting switches concatenated in a manner such that the binary coded records appearing at each pair of the plural input terminals are compared and switched two at a time.
11. An N-line sorting switch for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field comprising repetitive switching network means with plural input terminals and a like number of output terminals for simultaneously considering the relative precedence of a like number of records, said repetitive switching network comprising plural concatenated two-line sorting switch means each with first and second input terminals and first and second output terminals for simultaneously receiving two records, each two-line sorting switch comprising decision making means for determining which of the records appearing at said first and second input terminals has precedence over the other, means for applying said two records to said first and second input terminals serially in decreasing order of binary significance, and means responsive to said decision making means for directing said records to said output terminals in accordance with their order of precedence.
12. In an N-line sorting system for parallel sorting of a plurality of randomly arranged binary coded records, means comprising a plurality of input terminals and an equal plurality of output terminals, means connecting a pair of said input terminals to a first two-line sorting switch for determining the order of precedence between two of said records, means for serially applying said binary records to said first two-line sorting switch in decreasing order of binary significance, said first two-line sorting switch including a first output terminal for transmission of the binary record of greater precedence and a second output terminal for transmission of the binary record of lesser precedence, means connecting a third input record and the record of lesser precedence to a second two-line sorting switch for determination of their respective order of precedence, means connecting each succeeding input in like manner to a two-line sorting switch for determination of relative precedence with the lesser output of another two-line sorting switch, and twoline sorting switch means connected for comparison of each pair of records from different two-line sorting switches to determine the order of precedence among all the input record and to feed them as outputs in their order of precedence to the respective output terminals.
13. A data sorting system for binary coded pulse trains comprising an electrical network having N input means and N output means; means for simultaneously applying a binary coded pulse train to each of said input means with each of said pulse trains being serially applied in descending order of binary significance; said network comprising at least three two-line sorting switches, each of said two-line sorting switches having two input means and two output means with one of said output means always transmitting the pulse train of greater precedence; a first two of the N input means constituting the input means of a first of the two-line switches and a third of the N input means constituting an input means of a second of the two-line switches, the first one of said twoline switches having one of its output means constitute an input means of the second two-line switch and the other of its output means constitute an input means of the third two-line switch; and the second two-line switch having its greater precedence output means constitute the input means of the third two-line switch and its lower precedence output means coupled to one of said N output means of said network. other than the greatest precedence output means thereof.
14. A data sorting system as recited in claim 13 wherein each of N-2 of said N output means corresponds exclusively to one output means of a two-line switch and each of N-2 two-line switches has exclusively one of its output means correspond to an output means of said network, and the remaining two of said N output means cor respond to the higher and lower precedence output means of a single two-line switch.
References Cited in the file of this patent UNITED STATES PATENTS 2,674,733 Robbins Apr. 6, 1954 2,735,082 Goldberg et al. Feb. 14, 1956 2,837,732 Nelson June 3, 1958 2,844,309 Ayres July 22, 1958 2,865,567 Booth Dec. 23, 1958
US641728A 1957-02-21 1957-02-21 Sorting system with nu-line sorting switch Expired - Lifetime US3029413A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US641728A US3029413A (en) 1957-02-21 1957-02-21 Sorting system with nu-line sorting switch
GB5802/58A GB888866A (en) 1957-02-21 1958-02-21 Improvements in or relating to data processing equipment
FR1202205D FR1202205A (en) 1957-02-21 1958-02-21 Two and n-line filing switch filing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US641728A US3029413A (en) 1957-02-21 1957-02-21 Sorting system with nu-line sorting switch

Publications (1)

Publication Number Publication Date
US3029413A true US3029413A (en) 1962-04-10

Family

ID=24573610

Family Applications (1)

Application Number Title Priority Date Filing Date
US641728A Expired - Lifetime US3029413A (en) 1957-02-21 1957-02-21 Sorting system with nu-line sorting switch

Country Status (3)

Country Link
US (1) US3029413A (en)
FR (1) FR1202205A (en)
GB (1) GB888866A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3195122A (en) * 1960-07-07 1965-07-13 Sperry Rand Corp Code translator
US3329938A (en) * 1964-02-24 1967-07-04 Philip N Armstrong Multiple-bit binary record sorting system
US3329939A (en) * 1964-03-03 1967-07-04 Philip N Armstrong Sorting system for multiple bit binary records
US3336580A (en) * 1963-06-14 1967-08-15 Philip N Armstrong Sorting system for multi-bit binary digital records
US3399383A (en) * 1965-07-26 1968-08-27 Philip N. Armstrong Sorting system for multiple bit binary records
US3685024A (en) * 1970-11-02 1972-08-15 Singer Co Two stage sorting system using two-line sorting switches
US4030077A (en) * 1975-10-16 1977-06-14 The Singer Company Multistage sorter having pushdown stacks for arranging an input list into numerical order
US4628483A (en) * 1982-06-03 1986-12-09 Nelson Raymond J One level sorting network
US5386578A (en) * 1992-01-02 1995-01-31 Lin; Min H. Method for sorting and merging in a data processing system using a matrix of cells
US20080066021A1 (en) * 2006-09-11 2008-03-13 Princeton Technology Corporation Method of optimal parameter adjustment and system thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2674733A (en) * 1952-12-02 1954-04-06 Hughes Tool Co Electronic sorting system
US2735082A (en) * 1954-03-29 1956-02-14 Goldberg ett al
US2837732A (en) * 1953-11-25 1958-06-03 Hughes Aircraft Co Electronic magnitude comparator
US2844309A (en) * 1952-11-20 1958-07-22 Rca Corp Comparing system
US2865567A (en) * 1954-06-22 1958-12-23 Rca Corp Multiple message comparator

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2844309A (en) * 1952-11-20 1958-07-22 Rca Corp Comparing system
US2674733A (en) * 1952-12-02 1954-04-06 Hughes Tool Co Electronic sorting system
US2837732A (en) * 1953-11-25 1958-06-03 Hughes Aircraft Co Electronic magnitude comparator
US2735082A (en) * 1954-03-29 1956-02-14 Goldberg ett al
US2865567A (en) * 1954-06-22 1958-12-23 Rca Corp Multiple message comparator

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3195122A (en) * 1960-07-07 1965-07-13 Sperry Rand Corp Code translator
US3336580A (en) * 1963-06-14 1967-08-15 Philip N Armstrong Sorting system for multi-bit binary digital records
US3329938A (en) * 1964-02-24 1967-07-04 Philip N Armstrong Multiple-bit binary record sorting system
US3329939A (en) * 1964-03-03 1967-07-04 Philip N Armstrong Sorting system for multiple bit binary records
US3399383A (en) * 1965-07-26 1968-08-27 Philip N. Armstrong Sorting system for multiple bit binary records
US3685024A (en) * 1970-11-02 1972-08-15 Singer Co Two stage sorting system using two-line sorting switches
US4030077A (en) * 1975-10-16 1977-06-14 The Singer Company Multistage sorter having pushdown stacks for arranging an input list into numerical order
US4628483A (en) * 1982-06-03 1986-12-09 Nelson Raymond J One level sorting network
US5386578A (en) * 1992-01-02 1995-01-31 Lin; Min H. Method for sorting and merging in a data processing system using a matrix of cells
US20080066021A1 (en) * 2006-09-11 2008-03-13 Princeton Technology Corporation Method of optimal parameter adjustment and system thereof

Also Published As

Publication number Publication date
GB888866A (en) 1962-02-07
FR1202205A (en) 1960-01-08

Similar Documents

Publication Publication Date Title
US2674733A (en) Electronic sorting system
US2885659A (en) Electronic library system
US2900132A (en) Data retrieval system
US2935732A (en) Sorting apparatus
US3444523A (en) Apparatus for sorting of recorded digital data
US3585600A (en) Stored program electronic computer
US3299410A (en) Data filing system
US3029413A (en) Sorting system with nu-line sorting switch
US3352417A (en) Document sorting apparatus
US3108694A (en) System for collating documents in response to indicia apparing thereon
US3015089A (en) Minimal storage sorter
US2774429A (en) Magnetic core converter and storage unit
US3311892A (en) Sorting system with two-line sorting switch
US2854652A (en) Information selecting circuit
US2796596A (en) Information storage system
US2961643A (en) Information handling system
US3007137A (en) Information handling system
US3034102A (en) Data handling system
US3064239A (en) Information compression and expansion system
US2907002A (en) Message spacing control system
US3034103A (en) Data comparing and sorting apparatus
US3243783A (en) File search data selector
US2994066A (en) Computer sorting system
US2978679A (en) Electrical information processing apparatus
US3149720A (en) Program changing in electronic data processing