Invention Grant
- Patent Title: High-level index-factoring system
- Patent Title (中): 高级指标体系
-
Application No.: US3646524DApplication Date: 1969-12-31
-
Publication No.: US3646524APublication Date: 1972-02-29
- Inventor: CLARK WILLIAM A , DAVIES CHARLES T JR , SALMOND KENT A , STAFFORD THOMAS S
- Applicant: IBM
- Assignee: Ibm
- Current Assignee: Ibm
- Priority: US88946269 1969-12-31
- Main IPC: G06F17/30
- IPC: G06F17/30 ; H03M7/30 ; G05B19/22 ; G06F7/04
Abstract:
High-level index-factoring system generates a multilevel compressed index in which the compressed key format in all levels of the index (i.e., high and low) are searchable by a single method, such as the method in allowed application Ser. No. 788,835. The generation process includes the factoring of high-order bytes common to all uncompressed keys contributing to any compressed index block at any level; the factored high-order bytes are transferred into a compressed key in the next higher level compressed index block. The high levels in the compressed index are built by selectively passing to the high levels the last uncompressed key (UK) used in the generation of each low-level compressed index block. The determination to pass the UK to a next higher level is made when the UK is the last UK used to generate the last-compressed key (CK) in the compressed index block at the current level. The propagation of a UK to successive high levels ends whenever the UK is used to generate a CK which does not complete a compressed index block. Thus the UK passing depends on the block completion function at successive levels. A different sequence of UK''s is received by each high level. The CK''s at any high level are generated from the sequence of UK''s passed to that level; each high-level CK is generated from the current and prior UK''s passed to the same level. Thus each UK passed to a high level is used to generate a current CK for that level, and then the UK is stored for that level so that it can later be used in the generation of the next CK for that level when a next UK is passed to it. The key bytes in each high-level CK are taken from the UK currently passed to that level, beginning from a leftmost byte which is dependent on whether the currently passed UK is a rightshift type, a left-shift type, or no-shift type at the respective high level. The UK type at a high level is independent of its type at a lower level because the UK sequence is different. The rightmost key byte for the respective high level CK is determined by the low-level difference byte in the same UK determined by its use in generating a CK for the low-level index; this rightmost byte is independent of the UK type at the respective high level. If the passed UK is a left- or no-shift type at the respective high level, the key bytes for the high-level CK are taken from the high-level difference byte through the low-level difference byte. If it is a right-shift type of CK at the respective high level, the key bytes are taken from its position after the highlevel difference byte in the prior UK
Information query