Browse Prior Art Database

Dynamic migration of data objects between execution engine versions using annotations and conversion methods

IP.com Disclosure Number: IPCOM000241814D
Publication Date: 2015-Jun-02
Document File: 2 page(s) / 31K

Publishing Venue

The IP.com Prior Art Database

Abstract

This article describes the idea of an execution engine that would be able to analyze annotated code during class loading to match the code with engine version and decide which data type to use. Additionally it would allow the developer to define methods to use to perform conversion of data types.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 01 of 2

Dynamic migration of data objects between execution engine versions using annotations and conversion methods

This idea relates to problems with performing code changes between the releases of a software module that need to keep code backward compatible as it is being used for e.g. data storage. Changing the class can result in inability to read the data pertained by previous software version .

Similarly if two same (but with different versions) software modules would like to communicate (e.g. over RMI). Usually it is not possible if the classes used for communication have changed between the versions .

Most commonly used solution are related to creating a cloned or duplicated code or data migration : - creating a whole new class with part of code duplicated
- creating new (duplicating) attribute of different type
- data migration during update

Creating duplicated code can lead to misuse (someone can reference legacy class pertained for backward compatibility) and it is costly in maintenance.

The idea is that the execution engine (in this example Java Virtual Machine) would be able to analyze annotated code during class loading to match the code with engine version and decide which data type to use. Moreover developer could specify which methods to use to perform conversion between version - again using annotation.

The idea is a generic one and for each execution engine there may be slight variations . This simple example shows the implementation in Java.

JVM would...