Broker Abstraction for Development Environment Interoperability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Development environments and object models often face interoperability issues due to incompatible processor architectures and version-specific communication channels, making it difficult to transfer code between them.

Innovation Solution

A method and system that generate and neutralize requests to establish a communication channel between a development environment and an object store, using adapters to ensure compatibility with different processor architectures and versions, allowing for the abstraction of request properties and the loading of adapters to facilitate data retrieval and transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code is transferred between development environment and object model with different processor architectures, then interoperability is achieved, but compatibility conflicts occur due to bitness differences

Engineering Contradiction:
ImproveinteroperabilityVSAvoidcompatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a broker process as an intermediary component that receives requests from the development environment, neutralizes architecture-specific properties, and forwards them to the object model. This mediator layer isolates the 32-bit development environment from the 64-bit object model, allowing them to communicate without direct compatibility requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies parameter changes by neutralizing architecture-specific properties (such as pointer sizes and data type representations) in the request object. The broker process transforms the request parameters into a neutral format that can be understood by both 32-bit and 64-bit systems, resolving the bitness conflict.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If version-specific communication code is used between object model and development environment, then communication precision is maintained, but code rewriting is required when versions change

Engineering Contradiction:
Improvecommunication precisionVSAvoidcode reuse longevity
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent creates a universal communication mechanism through the broker process that can handle multiple versions of both the object model and development environment. The version-agnostic request neutralization approach allows the same communication infrastructure to work across different versions, eliminating the need for frequent code rewriting.

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

Solution Approach 2:

The patent performs preliminary version compatibility handling by implementing version detection and adapter selection before actual communication occurs. The broker process pre-configures the appropriate communication protocol based on the detected versions, ensuring compatibility is established in advance rather than requiring post-hoc modifications.

Inventive Principle:
Principle #10Preliminary action

3Speed

If direct communication channel is established between development environment and object model, then communication speed is improved, but version-specific code rewriting is frequently required

Engineering Contradiction:
Improvecommunication speedVSAvoidcode rewriting time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The broker process serves as a permanent intermediary that maintains the communication channel between the development environment and object model. While it adds a layer to the communication path, it eliminates the need for frequent code rewriting by handling version compatibility centrally, thus reducing long-term maintenance time.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8984482B2Abstracting request from a development environment to object model
Publication Date: 2015.03.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8984482B2 patent drawing
  • US8984482B2 patent drawing
  • US8984482B2 patent drawing

AI summary

Techniques and a graphical user interface for abstracting a request from a development environment to an object model of an object store are disclosed herein. A request for data is made by the development environment, and the request is abstracted to make in compatible with the object model (e.g., by negating properties related to bitness, versioning, etc.). The request is transmitted to a broker process that retrieves a method and/or data commands corresponding to the request. The broker process may also decode one or more method parameters of the request. If one or more method parameters are not compatible with the object model, an adapter may be loaded into the object model to make the object model compatible with the request. The broker process may also transmit the method, data commands, and/or request to the object model wherein the request is fulfilled by the object model.