Context-Aware Data Source Mapping for Cloud Portability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Porting a computer program from a local execution context to a cluster or cloud environment is often tedious and error-prone, requiring significant source code changes, especially when dealing with different data sources of varying sizes, which complicates data source management and maintenance.

Innovation Solution

The system automatically manages data source mappings to generate executable code tailored to specific execution targets, allowing a single source code to operate with multiple data sources without requiring explicit changes, using data source mappings stored in configuration files or project properties, and employing automatic source-to-source translation mechanisms to inject necessary calls for different execution environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If a program is ported from local execution to cluster or cloud execution, then processing power and memory capacity are improved, but source code complexity and maintenance burden increase due to required modifications

Engineering Contradiction:
Improveprocessing powerVSAvoidsource code complexity
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary translation layer that automatically transforms source code references to data sources based on execution context. This intermediary mechanism handles the complexity of adapting code for different execution environments (local, cluster, cloud) without requiring developers to manually modify the source code, thus resolving the contradiction between gaining processing power and avoiding source code complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically changes parameters such as data source paths, file system configurations, and resource locations based on the execution target. By automatically adjusting these parameters according to whether the program runs locally, on a cluster, or in the cloud, the system maintains code portability while leveraging the full processing power of different execution environments

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If data source mappings are manually managed for different execution targets, then code adaptability is improved, but time consumption and error probability increase

Engineering Contradiction:
Improvecode adaptabilityVSAvoidtime consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements a self-service mechanism where the translation layer automatically manages data source mappings without requiring manual intervention. The system itself performs the adaptation work by detecting the execution target and automatically resolving data source references, eliminating the time-consuming manual management process while maintaining high code adaptability

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary setup by establishing data source mappings and translation rules in advance. This preliminary configuration allows the automatic translation mechanism to quickly adapt code for different execution targets without time-consuming manual adjustments, thus improving both adaptability and reducing time consumption

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If absolute path data source identifiers are used in source code, then data source access precision is improved, but portability across different execution environments deteriorates

Engineering Contradiction:
Improvedata source access precisionVSAvoidportability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent uses an intermediary translation layer that acts as a mediator between the source code's data source identifiers and the actual execution environment paths. This intermediary automatically resolves relative path identifiers to the correct absolute paths based on the execution target, maintaining both precise data source access and portability across different environments

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of hardcoding absolute paths in the source code, the system inverts the approach by using relative path identifiers in the code and automatically resolving them to absolute paths at translation time. This inversion maintains precision in data source identification while achieving portability across different execution environments

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentEP2754032B1Transformational context-aware data source management
Publication Date: 2021.04.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2754032B1 patent drawingFigure 1~2
  • EP2754032B1 patent drawingFigure 3

AI summary

Porting between local, cluster, and cloud execution is aided by using the same source code for multiple data sources. A data source identifier recited in source code maps to data sources at different execution targets. Executable codes tailored to successive targets are produced using a resolution API without changing the developer's source code. An editable data source mapping is per-project, maintained in a file or project property, and placed in a distributable software package with executable code. Burdens on developers to determine execution targets in their source code and explicitly handle different execution locations in the source code are reduced. Source code can be freed of absolute path data source identifiers or code for detecting execution location. Source-to-source translation injects calls to create a folder, file, or cloud container. Data source resolution can be based on a relative path rooted at the data source identifier.