← Back to Patent Explorer
US6772413B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus of data exchange using runtime code generator and translator

Assignee: DataPower Technology Inc
•
Filing: 2000-12-08
•
Granted: 2004-08-03
•
Expires: 2020-12-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A high level transformation method and apparatus for converting data formats in the context of network applications, among other places. A flexible transformation mechanism is provided that facilitates generation of translation machine code on the fly. A translator is dynamically generated by a translator compiler engine. The translator compiler engine implemented according to the present invention uses a pair of formal machine-readable format descriptions (FMRFDs) and a corresponding data map (DMAP) to generate executable machine code native to the translator platform CPU. When fed an input stream, the translator generates an output stream by executing the native object code generated on the fly by the translator compiler engine. In addition, the translator may be configured to perform a bi-directional translation between the two streams as well as translation between two distinct protocol sequences.

Inventors

  • 👤 Eugene Kuznetsov

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 21:50
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/30; G06F16/00; G06F16/80; G06F16/84; G06F16/88; G06F40/00; G06F40/10; G06F40/12; G06F40/14; G06F40/143; G06F40/151; G06F40/154; G06F8/40; G06F8/51; G06F9/00; G06F9/06; G06F9/44; G06F9/455; G06F9/45504; G06F9/45516

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 118 words
A method of dynamically accommodating communication between disparate data formats comprising the steps of: at run time, determining an input format description describing a layout of data fields for incoming data, and an output format description describing a layout of data fields used in communicating output data; supplying a data segment mapping for at least some data fields from said input format description to said output format description; and generating a set of executable machine instructions for direct processing, said executable machine instructions being generated as a function of said data segment mapping, said input format description and said output format description, said executable machine instructions to translates an input data stream directly into an output data stream.
Claim 2
Independent Claim 118 words
A method of dynamically accommodating communication between disparate data formats comprising the steps of: at run time, determining an input format description describing a layout of data fields for incoming data, and an output format description describing a layout of data fields used in communicating output data; supplying a data segment mapping for at least some data fields from said input format description to said output format description; and generating a set of executable machine instructions for direct processing, said executable machine instructions being generated as a function of said data segment mapping, said input format description and said output format description, said executable machine instructions to translates an input data stream directly into an output data stream.
Claim 3
Dependent Claim 27 words
The method of claim 1 further comprising the step of executing said executable machine instructions for translation of said input data stream into said output data stream.
Claim 4
Dependent Claim 32 words
The method of claim 1 in which at least one of said input format description and said output format description is defined in terms of a formal machine readable format description (FMRFD).
Claim 5
Dependent Claim 78 words
The method of claim 1 in which said step of determining said input format description and said output format description further comprises the steps of: selecting said input format description, from a pre-configured set of format descriptions, according to an identification of a format used for communication with a first node; and selecting said output format description, from a pre-configured set of format descriptions, according to an identification of a format used for communication with a second node.
Claim 6
Dependent Claim 82 words
The method of claim 4 in which at least one of said identification of a format used for communication with a first node and said identification of a format used for communication with a second node is determined by an identification criterion selected from the list of manual operator input, automatic discovery of a format, a source node with a known format, a destination node with a known format, recognition of a known protocol or schema, and recognition of a transaction type.
Claim 7
Dependent Claim 59 words
The method of claim 1 in which said steps of determining said input format description and said output format description and supplying said data segment mapping further compromise the step of interpreting an XSL stylesheet to derive at least one template, where portions of said template correspond to input format description, output format description, and a data segment mapping.
Claim 8
Dependent Claim 20 words
The method of claim 1 wherein said executable machine instructions comprise binary object code for execution by a computer processor.
Claim 9
Dependent Claim 16 words
The method of claim 1 wherein said executable machine instructions comprise byte-code executable by an interpreter.
Claim 10
Dependent Claim 20 words
The method of claim 1 wherein said executable machine instructions comprise encoded inputs for programming of a field-programmable gate array.
Claim 11
Independent Claim 112 words
A method of dynamically facilitating translation of data between disparate data formats comprising the steps of: processing an XSL style sheet to determine at least one template, said template including at least one of an Xpath function or an XSLT element; generating a set of executable machine instructions for execution by a processor according to said processed template, where said executable machine instructions to directly translate an input data stream to an output data stream, receiving information encoded in an XML format; and executing at least some of said set of executable machine instructions by a processor to produce a stream of output information in a format determined by said XSL stylesheet.
Claim 12
Independent Claim 112 words
A method of dynamically facilitating translation of data between disparate data formats comprising the steps of: processing an XSL style sheet to determine at least one template, said template including at least one of an Xpath function or an XSLT element; generating a set of executable machine instructions for execution by a processor according to said processed template, where said executable machine instructions to directly translate an input data stream to an output data stream, receiving information encoded in an XML format; and executing at least some of said set of executable machine instructions by a processor to produce a stream of output information in a format determined by said XSL stylesheet.
Claim 13
Dependent Claim 79 words
The method of claim 10 in which said step of generating a set of executable machine instructions further comprises the steps of: selecting an optimization plan including at least one optimization pass; and generating optimized machine code according to each of said at least one optimization pass, where the output of each optimization pass which is not a final optimization pass comprises an intermediate format which is input to a succeeding optimization pass, according the said selected optimization plan.
Claim 14
Dependent Claim 18 words
The method of claim 11 in which at least one of said optimization passes includes a schema-driven optimization.
Claim 15
Dependent Claim 20 words
The method of claim 10 wherein said executable machine instructions comprise binary object code for execution by a computer processor.
Claim 16
Dependent Claim 16 words
The method of claim 10 wherein said executable machine instructions comprise byte-code executable by an interpreter.
Claim 17
Dependent Claim 20 words
The method of claim 10 wherein said executable machine instructions comprise encoded inputs for programming of a field-programmable gate array.
Claim 18
Dependent Claim 151 words
A dynamic translator compiler engine, for run time generation of executable machine code according to an input format description, an output format description, and a data segment map, comprising: a selector for selecting said input format description, said input format description describing a layout of data fields for incoming data, a selector for selecting an output format description; said output format description describing a layout of data fields used in communicating output data; a data segment mapping resource adapted for mapping at least some data fields from said input format description to said output format description; and a code generator for generating a set of executable machine instructions for execution by a processor, said executable machine instructions generated as a function of said data segment mapping, said input format description and said output format description, said executable machine instructions to directly translate an input data stream to an output data stream.
Claim 19
Dependent Claim 151 words
A dynamic translator compiler engine, for run time generation of executable machine code according to an input format description, an output format description, and a data segment map, comprising: a selector for selecting said input format description, said input format description describing a layout of data fields for incoming data, a selector for selecting an output format description; said output format description describing a layout of data fields used in communicating output data; a data segment mapping resource adapted for mapping at least some data fields from said input format description to said output format description; and a code generator for generating a set of executable machine instructions for execution by a processor, said executable machine instructions generated as a function of said data segment mapping, said input format description and said output format description, said executable machine instructions to directly translate an input data stream to an output data stream.
Claim 20
Independent Claim 74 words
A method of dynamically facilitating translation of data between disparate data formats comprising the steps of: processing an XSL style sheet to determine at least one template, said template including corresponding Xpath functions; and generating a set of executable machine instructions for execution by a processor, said executable machine instructions generated as a function of said processed template, said executable machine instructions to directly translate an input data stream to an output data stream.
Claim 21
Independent Claim 74 words
A method of dynamically facilitating translation of data between disparate data formats comprising the steps of: processing an XSL style sheet to determine at least one template, said template including corresponding Xpath functions; and generating a set of executable machine instructions for execution by a processor, said executable machine instructions generated as a function of said processed template, said executable machine instructions to directly translate an input data stream to an output data stream.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-08-03 2008-02-02 2008-08-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-08-03 2012-02-02 2012-08-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-08-03 2016-02-02 2016-08-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag