Distributed Object Execution via URI Path and Runtime Mediator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems are inefficient in supporting software objects that are not aware of remote procedures, requiring complex programming and high skilled developers, and lack the ability to execute objects in a distributed network environment.

Innovation Solution

A mechanism that allows software objects to be persisted and executed in a distributed network, enabling access and interaction locally or remotely without awareness of remote process calls or remote procedure call semantics, using a Uniform Resource Identifier (URI) path for object management and execution in the cloud.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software objects are made aware of remote procedures and designed to understand RPC semantics, then the objects can be executed in a distributed network, but the programming becomes time-consuming and highly detail-oriented

Engineering Contradiction:
Improvedistributed execution capabilityVSAvoidprogramming time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent introduces a runtime system as an intermediary layer between the software object and the distributed network. This runtime system handles all remote procedure call details, location transparency, and network communication automatically. The software object simply interacts with the runtime system through standard local calls, eliminating the need for objects to be aware of remote procedures while still enabling distributed execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The runtime system provides self-service by automatically managing the object's deployment, location resolution, and communication protocols. The system monitors the object's state and handles migration or replication without object intervention, allowing objects to be executed in distributed networks without programmer involvement in these details.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If software objects are made aware of remote procedure call semantics, then distributed network support is achieved, but the programming becomes very detail oriented

Engineering Contradiction:
Improvedistributed network supportVSAvoidprogramming complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The runtime system serves as a mediator that shields the software object from distributed system complexities. It handles location transparency, failure detection, and communication protocol selection automatically. The object programmer only needs to write standard local object code without worrying about network details, reducing programming complexity while maintaining distributed support.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The runtime system provides universal functionality by handling multiple distributed execution scenarios (local execution, remote execution, migration, replication) through a single unified interface. The same object code can run in different contexts without modification, as the runtime system adapts to the execution environment automatically.

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

3Ease of operation

If objects are stored in a data store and loaded locally for execution, then the objects can be executed, but the mechanism lacks support for objects unaware of remote procedures

Engineering Contradiction:
Improveobject executionVSAvoidsupport for unaware objects
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The runtime system acts as an intermediary that enables objects unaware of remote procedures to execute in a distributed network. These objects interact with the runtime system through standard local calls, and the runtime system translates these into appropriate distributed operations. This allows objects without RPC awareness to benefit from distributed execution capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If conventional systems are used, then objects can be loaded and executed locally, but there is no system that allows software objects to reside in a distributed network

Engineering Contradiction:
Improvedistributed network residencyVSAvoidsystem architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The runtime system provides universal functionality that works whether the object executes locally or remotely. It manages both execution modes through the same interface, enabling objects to reside in a distributed network without requiring separate architectures for local and remote execution. This unified approach simplifies the overall system architecture while enabling distributed residency.

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

Data Source

PatentUS10936693B2Locating and executing objects in a distributed network
Publication Date: 2021.03.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10936693B2 patent drawing
  • US10936693B2 patent drawing
  • US10936693B2 patent drawing

AI summary

The subject disclosure relates to interaction and execution of objects in a distributed network or in the cloud. Each object comprises a Uniform Resource Identifier (URI) path that names the object in the cloud through a distributed object directory. A client device can directly interface with a live instance of an object based on the URI path. The object can be agnostic to remote procedure call semantics. In some aspects, the object can be connected to an interacted with either remotely or locally. Further, single instances or multiple instances of the object can exist at substantially the same time.