WO2000057268A9 - Generating optimized computer data field conversion routines - Google Patents
Generating optimized computer data field conversion routinesInfo
- Publication number
- WO2000057268A9 WO2000057268A9 PCT/US2000/007288 US0007288W WO0057268A9 WO 2000057268 A9 WO2000057268 A9 WO 2000057268A9 US 0007288 W US0007288 W US 0007288W WO 0057268 A9 WO0057268 A9 WO 0057268A9
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- input
- application program
- attributes
- output
- conversion
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
Definitions
- the present invention is directed to computer data. More particularly, the present
- invention is directed to the conversion of one type of computer data field to another type.
- the typical technique for converting data includes using a generic data conversion routine. When an entire record of data must be converted, the conversion routine must
- the system receives a plurality of input attributes and output
- Fig. 1 is a block diagram that illustrates an overview of the functionality of an
- Fig. 2 is a flowchart of the steps performed by the system in accordance with one
- Fig. 3 is a flowchart of the steps executed by the application when using the routines
- Fig. 4 is a flowchart of the code generating steps executed the conversion generator
- Figs. 5a and 5b illustrate a general example of dynamic code building that is used in
- Figs. 6a - 6h illustrate a specific example of a dynamic code generation routine
- FIG. 1 is a block diagram that illustrates an overview of the functionality of an
- System 20 can be implemented in software and executed on a general purpose
- system 20 that includes a central processing unit, and memory.
- system 20 includes a central processing unit, and memory.
- An application program 10 requires one or more types of field conversions to be
- application 10 For each type of conversion, application 10 provides to system 20 the input (or
- system 20 dynamically generates an optimized conversion routine 30 that performs
- the optimized routines 30 are placed in storage that is available to
- routines 30 in one embodiment are generated as stand-alone routines that are capable of being serially reusable and are called by application 10 using, for example, an
- API application program interface
- routines 30 are generated as code chunks that are inserted inline with application 10 and
- One benefit of the present invention is that by building optimized conversion routines
- FIG. 2 is a flowchart of the steps performed by system 20 in accordance with one
- system 20 sets up the default process options of the generated conversion
- the options may include whether the generated conversion routines 30 will be callable functions (i.e., able to be called by application 10), or copied inline into application
- Step 102 builds a template interface block 104 which is an interface between application
- Step 102 also generates an initiation call 106 that
- step 108 a loop is initiated. The loop continues until all fields that must be
- step 1 10 each set of input and output field attributes is received from application 10.
- the attributes are received through an API, and step 110 also builds a
- common field conversion interface block 116 based on the attributes.
- Step 1 12 generates code 1 18.
- FIG. 3 is a flowchart of the steps executed by application 10 when using routines 30 to
- step 122 the application is processing.
- step 124 the application obtains
- step 124 involves reading one or more records.
- step 126 a loop is initiated for each record read.
- step 128 in one embodiment
- step 132 the code generator
- step 136 application 10 continues to process. Finally, at step 138 application 10 is
- Fig. 4 is a flowchart of the code generating steps executed by conversion generator
- system 20 to generate code when called by application 10.
- system 20 initializes by, for example, establishing the required storage, checking for invalid options, and specifying how the code should be generated.
- system 20 validates specific field conversion options such as verifying that the input and output lengths are correct. Step 202 also determines how big the code will be when generated. This can be used by application 10 if the generated code will be stored
- system 20 builds the conversion routine using field conversion interface
- step 206 the storage obtained at step 200 is released.
- Steps 202 and 204 go through the same internal process. Therefore, at step 208 the
- input field type is determined. Examples of input field types include character input 210 or
- step 214 the output field type is determined. Examples of output field
- step 216 if step 202 was executed, the size of the generated code is determined.
- step 2128 if step 204 was executed, the field conversion routines 30 are generated.
- system 20 in accordance with one embodiment of the present invention dynamically generates optimized conversion routines 30 for each set of input and output field
- Routines 30 are then utilized by application 10 to process conversions. Input and
- output fields are categorized into archetypal data types by system 20, each with definable attributes and conversion behaviors. For example:
- Character data types will be a fixed length field with a maximum length attribute and a CCSID (or character set code page) attribute.
- Date data types will be a fixed length field with a maximum length attribute and a format attribute (ISO, EUR, etc) which determines location and type of
- optimized conversion generator system 20 include:
- API control blocks can be chained and templated by API management
- API control blocks can be built through use of a macro interface. Conversion routines can utilize registers to address the input and output field
- the registers can be chosen by application 10 through API
- the target field address register may optionally be incremented to the end of
- An additional register may be incremented by the length of the converted field based on API parameters.
- Conversion Error exits may be specified to handle enumerated conversion error conditions based on API parameters.
- ASCII character fields can be translated to EBCDIC character
- system 20 dynamically generates code by building code chunks in
- system 20 can optionally, based on the API specification,
- This instrumentation can include an optional dynamically allocated output file containing, for each
- field conversion a report of the API options used for each dynamically generated routine that can be used to insure correctness of field attributes and general processing options;
- Figs. 5a and 5b illustrate a general example of dynamic code building that is used in
- Figs. 6a - 6h illustrate a specific example of a dynamic code generation routine
Abstract
Description
Claims
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU38999/00A AU776882B2 (en) | 1999-03-19 | 2000-03-17 | Generating optimized computer data field conversion routines |
CA002367061A CA2367061A1 (en) | 1999-03-19 | 2000-03-17 | Generating optimized computer data field conversion routines |
KR1020017011893A KR20020021083A (en) | 1999-03-19 | 2000-03-17 | System for generating optimized computer data field conversion routines |
EP00918135.5A EP1183596B1 (en) | 1999-03-19 | 2000-03-17 | Generating optimized computer data field conversion routines |
JP2000607077A JP2002540500A (en) | 1999-03-19 | 2000-03-17 | Generating optimized computer data field conversion routines |
BR0009162-6A BR0009162A (en) | 1999-03-19 | 2000-03-17 | Generation of optimized computer data field conversion routines |
IL14536500A IL145365A0 (en) | 1999-03-19 | 2000-03-17 | Generating optimized computer data field conversion routines |
IL145365A IL145365A (en) | 1999-03-19 | 2001-09-10 | Generating optimized computer data field conversion routines |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US27314999A | 1999-03-19 | 1999-03-19 | |
US09/273,149 | 1999-03-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2000057268A1 WO2000057268A1 (en) | 2000-09-28 |
WO2000057268A9 true WO2000057268A9 (en) | 2002-06-20 |
Family
ID=23042736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/007288 WO2000057268A1 (en) | 1999-03-19 | 2000-03-17 | Generating optimized computer data field conversion routines |
Country Status (11)
Country | Link |
---|---|
US (1) | US8108828B2 (en) |
EP (1) | EP1183596B1 (en) |
JP (1) | JP2002540500A (en) |
KR (1) | KR20020021083A (en) |
CN (1) | CN1252586C (en) |
AU (1) | AU776882B2 (en) |
BR (1) | BR0009162A (en) |
CA (1) | CA2367061A1 (en) |
IL (2) | IL145365A0 (en) |
WO (1) | WO2000057268A1 (en) |
ZA (1) | ZA200107669B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120233200A1 (en) * | 2011-03-11 | 2012-09-13 | Farahnaz Faegh | Database data localization |
CN105718429B (en) * | 2014-12-04 | 2019-11-19 | 中兴通讯股份有限公司 | The method and device of inspection report generation |
US10528328B2 (en) | 2015-12-08 | 2020-01-07 | Microsoft Technology Licensing, Llc | Learning from input patterns in Programing-By-Example |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4751740A (en) * | 1984-12-10 | 1988-06-14 | Wang Laboratories, Inc. | Apparatus, method, and structure for translating a document having one structure into a document having another structure |
US5410675A (en) * | 1989-08-21 | 1995-04-25 | Lisa M. Shreve | Method of conforming input data to an output data structure and engine for accomplishing same |
US5299304A (en) * | 1991-04-16 | 1994-03-29 | International Business Machines Corporation | Method and apparatus for identifying multiple stage document format transformations |
US5513323A (en) * | 1991-06-14 | 1996-04-30 | International Business Machines Corporation | Method and apparatus for multistage document format transformation in a data processing system |
JPH05108641A (en) * | 1991-10-17 | 1993-04-30 | Fuji Xerox Co Ltd | Document style design supporting device |
US5491628A (en) * | 1993-12-10 | 1996-02-13 | Xerox Corporation | Method and apparatus for document transformation based on attribute grammars and attribute couplings |
US5649214A (en) * | 1994-09-20 | 1997-07-15 | Unisys Corporation | Method and apparatus for continued use of data encoded under a first coded character set while data is gradually transliterated to a second coded character set |
US5629846A (en) * | 1994-09-28 | 1997-05-13 | General Electric Company | Method and system for document translation and extraction |
US5708828A (en) * | 1995-05-25 | 1998-01-13 | Reliant Data Systems | System for converting data from input data environment using first format to output data environment using second format by executing the associations between their fields |
DE19535306A1 (en) * | 1995-09-22 | 1997-03-27 | Siemens Ag | Process for converting different data formats |
US5907709A (en) | 1996-02-08 | 1999-05-25 | Inprise Corporation | Development system with methods for detecting invalid use and management of resources and memory at runtime |
US5784635A (en) * | 1996-12-31 | 1998-07-21 | Integration Concepts, Inc. | System and method for the rationalization of physician data |
US6549918B1 (en) * | 1998-09-21 | 2003-04-15 | Microsoft Corporation | Dynamic information format conversion |
US6502236B1 (en) * | 1999-03-16 | 2002-12-31 | Fujitsu Network Communications, Inc. | Method and apparatus for automatic generation of programs for processing data units of multiple formats |
US6772413B2 (en) | 1999-12-21 | 2004-08-03 | Datapower Technology, Inc. | Method and apparatus of data exchange using runtime code generator and translator |
-
2000
- 2000-03-17 AU AU38999/00A patent/AU776882B2/en not_active Ceased
- 2000-03-17 BR BR0009162-6A patent/BR0009162A/en not_active IP Right Cessation
- 2000-03-17 EP EP00918135.5A patent/EP1183596B1/en not_active Expired - Lifetime
- 2000-03-17 WO PCT/US2000/007288 patent/WO2000057268A1/en not_active Application Discontinuation
- 2000-03-17 JP JP2000607077A patent/JP2002540500A/en active Pending
- 2000-03-17 CA CA002367061A patent/CA2367061A1/en not_active Abandoned
- 2000-03-17 KR KR1020017011893A patent/KR20020021083A/en not_active Application Discontinuation
- 2000-03-17 IL IL14536500A patent/IL145365A0/en active IP Right Grant
- 2000-03-17 CN CNB008052026A patent/CN1252586C/en not_active Expired - Fee Related
-
2001
- 2001-09-10 IL IL145365A patent/IL145365A/en unknown
- 2001-09-18 ZA ZA200107669A patent/ZA200107669B/en unknown
-
2008
- 2008-04-16 US US12/104,076 patent/US8108828B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
BR0009162A (en) | 2003-03-05 |
IL145365A0 (en) | 2002-06-30 |
AU776882B2 (en) | 2004-09-23 |
CA2367061A1 (en) | 2000-09-28 |
US8108828B2 (en) | 2012-01-31 |
WO2000057268A1 (en) | 2000-09-28 |
CN1359486A (en) | 2002-07-17 |
EP1183596B1 (en) | 2017-04-26 |
CN1252586C (en) | 2006-04-19 |
US20080216099A1 (en) | 2008-09-04 |
AU3899900A (en) | 2000-10-09 |
IL145365A (en) | 2006-12-31 |
EP1183596A4 (en) | 2003-02-05 |
ZA200107669B (en) | 2003-02-20 |
EP1183596A1 (en) | 2002-03-06 |
JP2002540500A (en) | 2002-11-26 |
KR20020021083A (en) | 2002-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108162B (en) | Application programming interface generation method and device | |
US6253371B1 (en) | Method for supporting parallelization of source program | |
US8458681B1 (en) | Method and system for optimizing the object code of a program | |
US20090037459A1 (en) | Annotation data handlers for data stream processing | |
KR20040097909A (en) | Reflection-based processing of input parameters for commands | |
US20110314459A1 (en) | Compiler with user-defined type inference rules | |
CN110188135B (en) | File generation method and equipment | |
CN102841841A (en) | Method and system for processing assertion in test | |
CN110673856B (en) | Data processing method and device and machine-readable storage medium | |
CN111124551A (en) | Data serialization and deserialization method and device and computer equipment | |
US6175935B1 (en) | Software debugging method and recording medium to which debugging program has been recorded | |
CN114144764A (en) | Stack tracing using shadow stack | |
US8108828B2 (en) | System for generating optimized computer data field conversion routines | |
US7406681B1 (en) | Automatic conversion of source code from 32-bit to 64-bit | |
EP1417575A2 (en) | Robust logging system for embedded systems for software compilers | |
CN111159278B (en) | Data display method and device, electronic equipment and computer readable storage medium | |
US6708310B1 (en) | Method and system for implementing user-defined codeset conversions in a computer system | |
JP5377522B2 (en) | Efficiently correlate nominally incompatible types | |
US7555708B2 (en) | Mechanism for converting text output into objects | |
CN113688056A (en) | Breakpoint debugging control method and related equipment | |
US7330870B1 (en) | Streaming computer system and method with multi-version protocol compatibility | |
CN111399842A (en) | Code compiling method and device | |
CN114189880B (en) | Method and device for generating occupation file for base station test | |
CN117873607A (en) | Processing method and device for target operation corresponding to custom function | |
CN117667725A (en) | Database script generation method, device and equipment and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 00805202.6 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
REEP | Request for entry into the european phase |
Ref document number: 2000918135 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2000918135 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2367061 Country of ref document: CA Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2001/07669 Country of ref document: ZA Ref document number: 38999/00 Country of ref document: AU Ref document number: 1020017011893 Country of ref document: KR Ref document number: 200107669 Country of ref document: ZA Ref document number: IN/PCT/2001/970/KOL Country of ref document: IN |
|
ENP | Entry into the national phase |
Ref document number: 2000 607077 Country of ref document: JP Kind code of ref document: A |
|
WWP | Wipo information: published in national office |
Ref document number: 2000918135 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020017011893 Country of ref document: KR |
|
AK | Designated states |
Kind code of ref document: C2 Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: C2 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
COP | Corrected version of pamphlet |
Free format text: PAGES 1/15-15/15, DRAWINGS, REPLACED BY NEW PAGES 1/15-15/15; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE |
|
WWG | Wipo information: grant in national office |
Ref document number: 38999/00 Country of ref document: AU |
|
WWR | Wipo information: refused in national office |
Ref document number: 1020017011893 Country of ref document: KR |