Asynchronous Module Decoupling via Scoped Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, coupled modules face challenges with updates and scaling, and resource management is unstructured, making it difficult to efficiently distribute and process business data across networks.

Innovation Solution

The method involves asynchronous messaging to decouple modules by sending messages between hosts, maintaining context in scopes, pausing and resuming modules, and updating contexts, while using a resource manager to allocate and release scopes, ensuring transparent distribution and resource management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If modules are coupled and share state through global data, then communication and coordination between modules is simplified, but updating and scaling modules becomes problematic and resource management becomes unstructured

Engineering Contradiction:
Improvemodule communicationVSAvoidmodule update and scaling
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent segments the shared global state into individual module-specific scopes. Each module has its own scope containing the data and resources it needs, rather than all modules sharing a common global namespace. This segmentation allows modules to be updated and scaled independently while maintaining clear boundaries between their respective states.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a scope manager as an intermediary component that handles scope creation, copying, and management between modules. This mediator abstracts the complexity of state management and enables structured resource allocation, allowing modules to interact through well-defined scope interfaces rather than direct global state access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If server resources are allocated in an unstructured manner, then resource allocation is simple and quick, but distribution of business logic and data across the network becomes difficult and inefficient

Engineering Contradiction:
Improveresource allocation speedVSAvoidresource distribution
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent implements dynamic scope management where scopes can be created, copied, and allocated based on runtime requirements. The scope manager dynamically allocates and manages scopes across modules and hosts, allowing resource distribution to adapt to changing business logic requirements while maintaining structured control over the allocation process.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If modules are decoupled using asynchronous messaging, then module independence and scalability are improved, but maintaining necessary context for message processing becomes complex

Engineering Contradiction:
Improvemodule independenceVSAvoidcontext management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent uses scope copying to transfer necessary context between modules through asynchronous messages. When a module needs to send a message requiring context, the scope manager creates a copy of the relevant scope data and attaches it to the message. This copying mechanism preserves module independence while ensuring that necessary context is available for message processing without creating complex shared state management.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9513980B2Transparent distribution and decoupling of modules using asynchronous communication and scopes
Publication Date: 2016.12.06 BUSINESS OBJECTS SOFTWARE
  • US9513980B2 patent drawing
  • US9513980B2 patent drawing
  • US9513980B2 patent drawing

AI summary

Systems and methods consistent with the invention may include using asynchronous communication and scopes to transparently decouple modules and distribute load. Asynchronous communication may be achieved by using message queues or by using message topics. Scopes are introduced as a means to provide structure to resources associated with the decoupled modules and to improve the ability to distribute such resources necessary to process messages between modules. Furthermore, the use of asynchronous communication and scopes may be done automatically and transparently to the user and/or application developers.