Multi-cloud Object Store Access via Persistency Factory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face inefficiencies when creating applications that need to operate across different cloud environments with varying object store providers, as each provider has a unique API, requiring deep knowledge and substantial code changes to switch between them, which complicates business logic and increases development time.

Innovation Solution

A multi-cloud object store access system provides a simplified abstraction layer that hides the details of different object store providers, allowing consumer applications to use a unified interface for object store operations, independent of the underlying provider, through a persistency factory and adapter system that determines the appropriate adapter based on environment credentials.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If developers directly interface with different object store provider APIs, then they can access specific object store functionality, but the code complexity increases and portability between providers decreases

Engineering Contradiction:
ImproveportabilityVSAvoidcode complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer consisting of abstract adapter classes and concrete provider-specific adapter classes that mediate between the consumer application and the actual object store providers. The factory object serves as a mediator that selects and provides the appropriate adapter instance based on environment credentials, thereby resolving the contradiction by adding an intermediary layer that improves portability while managing complexity through automation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The abstract adapter class defines a universal interface that can work with multiple different object store providers through polymorphism. This universal interface allows the same consumer code to operate across different providers, improving adaptability while the underlying implementation handles provider-specific complexities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If developers write provider-specific code for each object store API, then they can optimize for specific provider features, but the development time and maintenance effort increase

Engineering Contradiction:
Improvedevelopment timeVSAvoidprovider independence
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The factory object acts as an intermediary that automatically selects the appropriate provider-specific adapter based on environment credentials, eliminating the need for developers to manually configure provider-specific code. This automation reduces development time while maintaining provider independence through the adapter pattern.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the parameter of provider selection from a hard-coded, developer-configurable value to a dynamically determined value based on environment credentials. This parameter change allows the system to adapt to different providers without requiring developers to modify code, thereby reducing development time while maintaining adaptability.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If applications are configured to use a specific object store provider, then they can leverage provider-specific optimizations, but switching providers requires substantial code changes

Engineering Contradiction:
Improveprovider optimizationVSAvoidease of switching
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The adapter pattern introduces an intermediary layer that encapsulates provider-specific optimizations within individual adapter classes while presenting a unified interface to the consumer. This allows the application to leverage provider-specific features through the selected adapter without requiring code changes when switching providers, as the factory will automatically provide the appropriate adapter for the new provider.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the provider-specific functionality into separate adapter classes, each responsible for a specific object store provider. This segmentation allows each adapter to be independently optimized for its provider while the overall system maintains ease of switching through the factory's automated selection process.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12001458B2Multi-cloud object store access
Publication Date: 2024.06.04 SAP PORTALS ISRAEL
  • US12001458B2 patent drawing
  • US12001458B2 patent drawing
  • US12001458B2 patent drawing

AI summary

The present disclosure involves systems, software, and computer implemented methods for accessing an object store. One example method includes providing a persistency factory object configured to provide access to multiple types of persistency adapters. Each type of persistency adapter is configured to interface with a particular object store. A persistency adapter request is received from a consumer. A type of adapter to provide is determined. A determination is made that the consumer is configured to interface with a first object store and that a first persistency adapter class is associated with the first object store. A run-time reference to an instance of the first persistency adapter class is provided to the consumer. A first object store operation request to perform a first object store operation is received. The instance of the first persistency adapter class interfaces with the first object store to fulfill the first object store operation request.