Active Object Space for Disconnected Client Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Object spaces in computer programs are inefficient due to network dependency for operations, result in unnecessary coupling and inflexibility, especially in mobile computing environments, and introduce scalability constraints.

Innovation Solution

Implementing an object space with active objects that can execute independently of client programs, allowing operations to be performed and results obtained even when disconnected, and providing a system with an object space engine and object factory for generating and managing these active objects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If operations are performed through the network in object spaces, then coordination between multiple networked entities is achieved, but communication latency increases and performance decreases

Engineering Contradiction:
Improvecoordination capabilityVSAvoidcommunication latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments operations into two categories: those requiring network coordination (performed through object space) and those that can be executed locally (performed by active objects). This segmentation allows time-critical operations to bypass network latency while maintaining coordination for essential operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Active objects serve as intermediaries between client programs and the object space. They execute operations locally on the client side, acting as a mediator that eliminates the need for network round-trips for many operations, thereby reducing communication latency while maintaining the coordination functionality of the object space.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If client programs remain connected to the object space, then information consistency is maintained, but unnecessary coupling is introduced and mobile computing is constrained

Engineering Contradiction:
Improveinformation consistencyVSAvoidmobile computing flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

Client programs perform preliminary actions by sending operations to the object space before disconnecting. Active objects execute these operations locally, and results are stored for later retrieval. This allows clients to maintain information consistency without remaining continuously connected, enabling mobile computing scenarios.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts the execution logic from the networked object space and places it locally in active objects. This extraction allows client programs to obtain results of operations even when disconnected, reducing the coupling between clients and the object space while maintaining information consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If notify operations are implemented for event notifications, then coordination between clients is improved, but scalability is constrained due to performance degradation

Engineering Contradiction:
Improvecoordination efficiencyVSAvoidscalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The notification system is segmented into push notifications (for connected clients) and pull notifications (for disconnected clients). Push notifications provide efficient real-time coordination for connected clients, while pull notifications allow disconnected clients to retrieve results asynchronously, improving overall system scalability.

Inventive Principle:
Principle #1Segmentation

4Productivity

If active objects execute independently of client programs, then performance is enhanced by reducing network dependency, but device complexity increases

Engineering Contradiction:
Improveexecution performanceVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Active objects are designed as universal components that can execute various operations locally. They serve multiple functions: executing operations, storing results, and managing disconnections. This multi-functionality reduces the need for separate mechanisms for each function, thereby managing device complexity while enhancing execution performance.

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

Data Source

PatentUS7730493B2Object space with active objects
Publication Date: 2010.06.01 QUEENSLAND UNIVERSITY OF TECHNOLOGY
  • US7730493B2 patent drawing
  • US7730493B2 patent drawing
  • US7730493B2 patent drawing

AI summary

A technique for facilitating coordination of actions by multiple programs involves providing an execution environment for active objects. The execution environment may be an object space. Client programs may write active objects to the object space, which execute on behalf of the client programs. The client programs may obtain the results of the executed active objects, even if the client program is disconnected from the object space while the active object is executing.