IP Library › Granted Patent US 8,359,568
Granted Patent B2
US 8,359,568 · App. 12/341,010 · Granted Jan 22, 2013

Method and system for automatically adding generic change log to legacy application

Inventors: Juergen Baumann (Ammerbuch, DE); Friedrich Beichter (Altbach, DE); Jochen Hoffman (Boeblingen, DE); Thomas Pohl (Bemptlingen, DE)
Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,359,568
App. No.
12/341,010
Granted
Jan 22, 2013
Kind
B2
Abstract

A data management method includes accessing data objects in an application written in C/C++ for change-logging and multi-step redo/undo, wherein the data objects are organized in a binary format and are devoid of self-describing information, and wherein the accessing the data objects is structured in a plurality of layers, the plurality of layers including a semantic layer, a change log layer, and a repository layer, dynamically analyzing the data objects to recognize all changes made by any of a plurality of users for all data types used by the application, the dynamically analyzing the data including using semantic analysis to track changes and identifying any changes in any of the data objects, and using generated wrapper classes to convert between C/C++ data structures and generic data format, wherein the wrapper classes are generated from developer provided annotations with C/C++ data structure declarations.

Claims (16)

1. A data management method, comprising:

accessing data objects in an application written in C/C++ for change-logging and multi-step redo/undo, wherein said data objects are organized in a binary format and are devoid of self-describing information, and wherein said accessing the data objects is structured in a plurality of layers, said plurality of layers comprising a semantic layer, a change log layer and a repository layer;

dynamically analyzing the data objects to recognize all changes made by any of a plurality of users for all data types used by the application, said dynamically analyzing the data comprising using semantic analysis to track changes and identifying any changes in any of the data objects, said dynamically analyzing being performed by a programmed computer processor; and

writing generic functions, which are not linked to existing object types, for reading and writing C/C++ data structures, said writing generic functions comprising:

extracting information from annotations of C/C++ data structure declarations;

annotating the data structure declarations with meta-information, said meta-information being lexically spatially proximate to the data structure declarations;

parsing the annotations and the data structure declarations;

combining the annotations and the data structure declarations into an intermediate data structure; and

generating generic wrapper classes using the intermediate data structure, wherein the semantic layer:

uses an application specific semantic analysis mechanism to identify when data objects have been changed;

converts the objects from C/C++ data structures into a generic format using the wrapper classes;

sends change notifications containing the objects in generic format to the change log layer;

receives changes from the change log layer; and

applies the changes received from the change log layer to the data objects, using the wrapper classes to convert the objects in generic format to C/C++ data structures,

wherein the change log layer collects and maintains all changes of an application session and provides the changes to the repository layer, and

wherein the repository layer saves information of change records in a central persistent repository, where the repository layer saves the data objects and change information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2008
From: BAUMANN, JUERGEN; BEICHTER, FRIEDRICH; HOFFMAN, JOCHEN; POHL, THOMAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022014/0775 →
Continuity (1)
Related Publication 20100162204A1 · Jun 24, 2010