Universal Parsing Framework With Observer-Based Single-Pass Parsing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing systems struggle to efficiently parse and exchange data across disparate entities with varying standards, languages, and geographic locations in a secure, fast, and reliable manner, lacking extensibility and reusability in parsing capabilities.
Innovation Solution
An extensible parsing framework for the Trading Grid that includes an observable/inversion of control (IOC) layer, parser controller layer, and various parser implementations, allowing for decoupled parsing from observation and enabling reusable parsing components, with metadata-driven parsing and business document definition (BDD) support.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If data is parsed multiple times for different formats and entities, then parsing coverage is improved, but processing time increases
Solution Approach 1:
The patent implements a preliminary parsing action by creating a universal parsing framework that parses data streams once into a standardized intermediate format. This preliminary parsing enables subsequent operations to work with pre-processed data, eliminating the need for repeated parsing of the same data stream in different formats.
Solution Approach 2:
The patent creates a universal parser that handles multiple data formats and entity types through a single unified interface. The parser accepts various input formats (XML, JSON, CSV, etc.) and converts them to a common internal representation, allowing the same parsing logic to serve multiple purposes across different entities and formats.
2Device complexity
If parsing is tightly coupled with observation and processing, then system simplicity is maintained, but extensibility and reusability decrease
Solution Approach 1:
The patent segments the data processing system into distinct layers: a universal parsing layer that handles format conversion, an intermediate representation layer that standardizes data structures, and application-specific observation layers that consume parsed data. This segmentation allows each layer to be independently developed, tested, and extended without affecting others.
Solution Approach 2:
The patent introduces an intermediate representation layer as a mediator between the parser and observation components. This intermediary layer provides a standardized data structure that both the parser outputs and observers consume, decoupling the parsing logic from observation logic while enabling extensibility through configurable observation handlers.
3Measurement precision
If custom parsing logic is developed for each entity and format, then parsing accuracy is improved, but system complexity increases
Solution Approach 1:
The patent uses parameter changes to adapt the universal parser to different formats and entities. Instead of implementing separate parsing logic for each case, the system modifies parsing parameters, configuration settings, and format specifications to handle variations. This allows the same core parsing engine to achieve high accuracy across different data types through configurable parameters rather than code duplication.
Data Source
AI summary
An applicant can instantiate a parsing framework, provide an input stream, attach observers, and initiate parsing, which inverts control to the parsing framework. The parsing framework can have an observer manager, a parser controller, and parsers. The observer manager manages observer design patterns from which the observers are instantiated. The parser controller determines which parser would be appropriate for parsing the input stream and instantiate the appropriate parser(s). The parser controller gets the callbacks from the parsers and communicates outcomes to the observer manager. The observer manager determines which of the observers is to be notified, generates parsing notifications accordingly, and dispatches the parsing notifications directly to the observers. The application can be any application that needs parsing in an electronic information exchange platform. The input stream can be created by the application opening a document received from a backend system communicatively connected to the electronic information exchange platform.


