EP1287464A1 - A method for bit-map parsing using a cobol algorithm - Google Patents
A method for bit-map parsing using a cobol algorithmInfo
- Publication number
- EP1287464A1 EP1287464A1 EP01931168A EP01931168A EP1287464A1 EP 1287464 A1 EP1287464 A1 EP 1287464A1 EP 01931168 A EP01931168 A EP 01931168A EP 01931168 A EP01931168 A EP 01931168A EP 1287464 A1 EP1287464 A1 EP 1287464A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- value
- pic
- bit
- map
- byte
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
Definitions
- the present invention relates to financial transaction card messages and more specifically to "bit-mapped" messages or, in other words, messages which (1) may consist of a number of different identifiable components, any one of which may or may not be present in a given message; or (2) contain a bit-map of the components, the latter being a string of binary bits, each representing one potential component.
- bit-map is placed at the front of the message as a header. A value of one indicates the presence of the corresponding component in the message; a value of zero indicates the component's absence.
- the ISO 8583-1993 specification (for financial transaction card originated messages, incorporated herein by reference) defines 128 distinct elements whose presence or absence in any message is indicated by a 128-bit- map in the message.
- One of the objectives of ISO 8583-1993 is to allow for the transmission of messages having different or varying sizes so that messages having a length longer than necessary are not sent. Each message may have a different size and each may have fields the others do not. The assortment of fields, therefore, varies from one message to another and these "floating" fields make it more difficult to extract data from the messages.
- the bit-map which indicates the presence or absence of a particular field, allows for the proper extraction of data.
- bit-map For processing by a COBOL program, therefore, it is necessary to convert the bit-map into a "character-map," an array having one byte (rather than one bit) per component. This allows the COBOL program to test for the presence of any element with a simple subscript or index. For example, present elements could be represented by an "X”, absent elements could be represented by a space in this array.
- bit-map data there were many different ways to use bit-map data. For instance, provided below are descriptions of the division, subtraction, serial search, binary search, and evaluate processes used previously.
- Bit-map data are moved four bytes at a time into a numeric area. Each resulting numeric value is then repeatedly divided by two. After each division, the remainder is examined. If the remainder is one, the corresponding character-map flag is set to "X"; if the remainder is zero, the flag is left as a space.
- Bit-map data are moved one byte at a time to a numeric area. Each resulting numeric value is compared against 128, then 64, then 32, 16, 8, 4, 2, and 1. Whenever a greater-than-or-equal is met, a corresponding character-map flag is set to "X"; and the value 128, 64, 32, etc. is subtracted from the number.
- Bit-map data are used, byte by byte, as search arguments into a table of:
- Bit patterns (X'00 ⁇ X'01 ', X'02', X'03', etc.) and corresponding eight-byte character patterns (' DODDDDDD ',
- COBOL's "SEARCH” verb is used to perform a serial search of the table. When a hit is found on a bit pattern, the corresponding character pattern is moved into the character-map. D. 4. Binary Search
- Bit-map data are used, byte by byte, as in the serial search above; but COBOL' s "SEARCH ALL" verb is specified to perform a binary search of the table.
- a new method for extracting data from bit-map messages using COBOL statements where the messages have one of many possible bit-map combinations representing messages of varying fields and lengths.
- the preferable method comprises the steps of: assigning a numeric value for each possible bit-map combination; generating a conversion table associating a byte-map for each of the values; identifying a bit-map within a particular message; converting the bit-map into an associated byte-map; and determining, based on the resulting byte-map, the absence or presence of the data.
- the conversion step includes generating a particular numeric value for the bit-map and associating the byte-map to the bit-map in accordance with the conversion table.
- FIGURE 1 is an illustration showing the sequence of preferred steps to accomplish extraction of data in accordance with the present invention.
- the present invention relates to computer programming and techniques and in particular to programming in COBOL (Common Business Oriented Language), a working knowledge of which is assumed.
- COBOL Common Business Oriented Language
- "PIC” is a clause used to describe the contents of an elementary data item, in this case 400-P and 400-P-X
- "X" is a data character symbol which is alphanumeric
- "9” is a data character symbol which is numeric
- S indicates an operational sign
- a number in parenthesis indicates the digit length of the item.
- a process is provided whereby data may be extracted from bit-map messages using COBOL statements.
- a two-byte area is defined in WORKING STORAGE (or a work area for storing intermediate results and constants that will be used in the program) as both alphanumeric and numeric:
- Bit-map data are moved, one byte at a time, into a field 400-P-X.
- Each resulting numeric value (in 400-P) is used as a subscript into a table of corresponding character-patterns, each eight characters long (' DDDDDDDD ', 'DDD ⁇ DDDX', 'D ⁇ DDDXD ', ' ⁇ DDDDDXX', etc.). These eight characters are then moved into the appropriate position in the character-map, and then data can be extracted from the message in accordance with the character map.
- bits of the bit-map are individually named, rather than being selected by subscript, since this has been shown to be a more efficient method.
- Figure 1 illustrates the sequence of preferred steps to accomplish extraction of data from messages having floating fields.
- the messages have a header bit-map of 128 bits viewed as 16 bytes (10). Each byte will have a binary value which will vary from 00000000 to 11111111. As mentioned above, the bit-map is broken down into a two byte area (12) in memory defined as alphanumeric. The first byte (14) is always a binary 00000000. The second byte (16) receives a byte from the bit map (indicated in Figure 1 by the arrow (16)). The second byte therefore receives a binary value between 00000000 and 11111111 inclusively.
- a redefinition occurs where the same two memory positions 14, 16 are redefined as a numeric in PIC 9(4) COMP having a value that will vary from hex 0000 through 00FF (0 through 255 decimal).
- This numeric value is then used as an index into a table (18) containing 256 entries of 8 bytes each. For instance, a value of hex 0000 will point to the first row of eight spaces. A value of hex 00FF will point to the 256th row of XXXXXXX. In the figure, arrow (20) points to the third row of eight spaces.
- the character map 22 is generated. This is an area in memory containing 16 groups of 8 bytes (128 bytes total). Each group receives an entry from the table 18.
- the following data structure defines the message to be parsed. It is in ISO IPM format and is a typical of a bit-mapped message structure. (Note that the first subfield, MTI, is not material to this parsing technique.) Messages may be of variable length. 01 IP66102-IPM-MSG
- parsing pattern table 18 (byte-map) follows:
- This technique can preferably be used in the parsing of ISO 8583-1993 IPM financial transaction card originated messages, and can be incorporated into pre- edit and central site clearing systems. More generally it is useful in interpreting any bit-mapped record or message when implementation constraints dictate the use of COBOL.
Abstract
Description
Claims
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20155900P | 2000-05-01 | 2000-05-01 | |
US201559P | 2000-05-01 | ||
PCT/US2001/040644 WO2001084456A1 (en) | 2000-05-01 | 2001-05-01 | A method for bit-map parsing using a cobol algorithm |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1287464A1 true EP1287464A1 (en) | 2003-03-05 |
Family
ID=22746315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP01931168A Withdrawn EP1287464A1 (en) | 2000-05-01 | 2001-05-01 | A method for bit-map parsing using a cobol algorithm |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1287464A1 (en) |
JP (1) | JP2003532237A (en) |
AU (2) | AU5762801A (en) |
CA (1) | CA2407730A1 (en) |
WO (1) | WO2001084456A1 (en) |
ZA (1) | ZA200208653B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10761841B2 (en) | 2018-10-17 | 2020-09-01 | Denso International America, Inc. | Systems and methods for identifying source code from binaries using machine learning |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5668803A (en) * | 1989-06-29 | 1997-09-16 | Symbol Technologies, Inc. | Protocol for packet data communication system |
US5151899A (en) * | 1991-02-11 | 1992-09-29 | Digital Equipment Corporation | Tracking sequence numbers in packet data communication system |
US5838226A (en) * | 1996-02-07 | 1998-11-17 | Lutron Electronics Co.Inc. | Communication protocol for transmission system for controlling and determining the status of electrical devices from remote locations |
-
2001
- 2001-05-01 AU AU5762801A patent/AU5762801A/en active Pending
- 2001-05-01 JP JP2001581196A patent/JP2003532237A/en active Pending
- 2001-05-01 WO PCT/US2001/040644 patent/WO2001084456A1/en not_active Application Discontinuation
- 2001-05-01 CA CA002407730A patent/CA2407730A1/en not_active Abandoned
- 2001-05-01 EP EP01931168A patent/EP1287464A1/en not_active Withdrawn
- 2001-05-01 AU AU2001257628A patent/AU2001257628B2/en not_active Ceased
-
2002
- 2002-10-25 ZA ZA200208653A patent/ZA200208653B/en unknown
Non-Patent Citations (1)
Title |
---|
See references of WO0184456A1 * |
Also Published As
Publication number | Publication date |
---|---|
WO2001084456A1 (en) | 2001-11-08 |
ZA200208653B (en) | 2003-05-19 |
CA2407730A1 (en) | 2001-11-08 |
AU5762801A (en) | 2001-11-12 |
JP2003532237A (en) | 2003-10-28 |
AU2001257628B2 (en) | 2006-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7240048B2 (en) | System and method of parallel pattern matching | |
US10169425B2 (en) | Fast identification of complex strings in a data stream | |
US8190613B2 (en) | System, method and program for creating index for database | |
EP1280050A2 (en) | Data sort method, data sort apparatus, and data sort program | |
Fraenkel et al. | Bidirectional huffman coding | |
JPH0612303A (en) | Method and apparatus for inspecting whether record is stored or not in computer system | |
US5585793A (en) | Order preserving data translation | |
JP3333549B2 (en) | Document search method | |
Mäkinen | On lexicographic enumeration of regular and context-free languages | |
CN100361128C (en) | Multi-keyword matching method for text or network content analysis | |
CN114201756A (en) | Vulnerability detection method and related device for intelligent contract code segment | |
AU2001257628B2 (en) | A method for bit-map parsing using a cobol algorithm | |
AU2001257628A1 (en) | A method for bit-map parsing using a cobol algorithm | |
JPH04326164A (en) | Data base retrieval system | |
JP2018014003A (en) | Item value extraction model learning device, item value extraction device, method and program | |
Monostori et al. | Suffix Vector: Space-and Time-Efficient Alternative to Suffix Trees. | |
Morita et al. | Fast insertion methods of a double‐array structure | |
CN113239052B (en) | Alliance chain grouping method, device, equipment and medium | |
JP3210183B2 (en) | Data compression method and apparatus | |
Marukawa et al. | A High Speed Word Matching Algorithm for Handwritten Chinese Character Recognition. | |
Singer | A wavelet tree based fm-index for biological sequences in seqan | |
CA2841027C (en) | Fast identification of complex strings in a data stream | |
Larkin | Variables and Reversibility in Object Oriented Regular Expressions | |
CA2873011C (en) | Fast identification of complex strings in a data stream | |
CN112016328A (en) | Text feature-based academic institution name entity alignment method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20021119 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK RO SI |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20041202 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1053888 Country of ref document: HK |