Message parser and formatter

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06834382

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates in general to utilities for transforming messages from an external form to an internal representation for use in a given application/computing environment and vice versa. More particularly, the present invention relates to such a utility that can handle messages relative to a variety of external systems or variety of different formats without recompiling and that provides significant flexibility in message parsing/processing.
BACKGROUND OF THE INVENTION
Many software applications require transformation of data from the form in which data is received by the application to a form upon which the application can act. Likewise, an application's internal representation of data must often be transformed to an external representation that the application's users (human or machine/software) can understand. Such transformation may address a variety of issues including, for example, different data formats, different syntax and different messaging protocols.
In order to address such issues, it is typically necessary to parse an incoming message into elements or “tokens” that the application can properly process. The size of these tokens or parsing resolution depends, inter alia, on the nature of the subject matter involved and the desired functions of the application.
Consider first the context of text based messages. If the application is formatting a long document, it may need to process large chunks of content corresponding to paragraphs, chapter headings, section headings and the like. By contrast, an application screening messages for security purposes may need to review individual words and authorization codes. By way of further example, an application for routing messages to particular network nodes may require access to particular header fields or other address information but may be otherwise uninterested in the message content.
Next consider the context of data based messages or mixed text and data. For example, one application may be designed for accessing business records in a company database based on various fields identifying customers, products, product codes, pricing, etc. Another application may be involved in distributing strategical information relating to the locations and movements of identified military assets. In each such case, a utility may be required to identify and separate for internal handling particular fields of data whose size, in terms of data bits or text characters, can vary depending, for example, on the source and format of the incoming message.
A variety of parsing utilities exists. Often, these utilities are pre-configured for use in a particular computing environment, e.g., for handling a particular type of messages. For example, a utility for handling XML messages may parse messages based on tags included in the messages which can be managed based on a Document Type Definition. Other utilities may be configurable to handle different types of messages. Generally, such utilities are configured at compile time for a particular application. In many cases, these utilities parse messages in a single pass based on predefined rules applicable to the whole message.
Such utilities have certain limitations related to operation in a multi-system environment, i.e., an environment where messages are received from multiple sources and/or are transmitted to multiple destinations. In particular, utilities that are pre-configured to operate in a particular environment may be unable to properly handle all messages in a multi-system environment. Configurable utilities may be able to handle a variety of messages, but may require re-compiling, and sometimes re-certification to handle multiple message types. As a result, configurable utilities may entail unacceptable message transfer latency for some applications. Single-pass utilities as noted above may also be constrained by their parsing rules to provide a particular parsing resolution which may not fully meet the needs of a multi-system environment.
SUMMARY OF THE INVENTION
The present invention is directed to a utility for parsing and formatting that has improved processing flexibility. The utility can be reconfigured on-the-fly, i.e., after compile-time or during run-time, to handle different types of messages. It can also parse incoming messages recursively to provide a desired or selectable level of parsing resolution. The invention thus has certain processing advantages for a variety of environments including multi-system environments.
According to one aspect of the present invention, a method and corresponding apparatus (collectively, “utility”) are provided for transforming a message between a first internal form associated with a first internal system (such as an application embodied in software, hardware and/or firmware) and a second external form, different than the first internal form, associated with a second external system. The utility may receive the message in the second external form of the second external system and transform it to the first internal form for use by the first internal system or vice versa. The methodology involves establishing a generic processing engine for performing a transformation process relative to an information stream associated with the second external system and operating the processing engine to receive the message in one of the first and second forms. The generic processing engine is adaptable to handle messages in multiple (two or more) forms associated with multiple external systems. The method further involves operating the processing engine to access storage including specification information for multiple external systems including the second external system, configuring the generic processing engine based on external specification information regarding the second external system, and operating the configured processing engine to transform the message between the first internal form and the second external form. In this manner, the utility is operative for efficiently transforming messages in a multi-system environment.
In order to facilitate such multi-system operation, the step of configuring can be implemented after compile time or during run time. The associated process involves compiling the generic processing engine and then operating the compiled engine to access the external specification information. In this regard, the processing engine may be table-driven such that specifications for various external systems are stored in separate tables of a database, e.g., a relational database. Each such table may store a list of parameters defining an external format indexed to an identifier for that format. Then, upon receiving a message or otherwise being prompted, the engine can identify the external system, access the associated specification and use the parameters for configuration. Many different message formats may be supported in this regard, including text and image formats. The engine can thus convert an external message to an internal form and/or internal messages to the external form. By virtue of this architecture, the engine can handle messages in multiple formats without recompiling or re-certification.
In accordance with another aspect of the present invention, a utility is operative for recursively parsing an input to provide a desired or selectable level of parsing resolution. The associated methodology involves: establishing a module for processing an information stream, the module including a parsing engine and a processing engine; first operating the parsing engine to select a portion from said data stream (e.g., the full text of a message or a portion thereof) and define said portion as a parent object; second operating the parsing engine to parse the parent object into multiple child objects, where each child object has a child content that is a subset of a parent content of the parent; third operating the processing engine to perform a predefined process (e.g., performing a security “dirty word” screening process) on at least one of the child objects; redefining at least a secon

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Message parser and formatter does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Message parser and formatter, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Message parser and formatter will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3304288

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.