Partitioned Application Across Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for expanding a computing environment across devices, such as terminal services and display mirroring, fail to integrate resources effectively, leading to suboptimal user experiences due to inconsistencies in device properties and require significant configuration, limiting compatibility and user interface consistency.

Innovation Solution

Partitioning an application into a primary and auxiliary portion, with the primary device executing the application and adapting the auxiliary portion to the secondary device's properties, allowing for integrated resource utilization and consistent presentation across devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If terminal services session is used to remotely present the primary computing environment, then the user can view the computing environment remotely, but the resources of both devices are not integrated and the device properties of the second device are not reflected

Engineering Contradiction:
Improveremote viewing capabilityVSAvoiddevice property integration
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The application is divided into a primary application portion that executes on the first device and an auxiliary application portion that executes on the second device. This segmentation allows each device to contribute its resources while maintaining a unified application experience, resolving the contradiction between remote viewing and device property integration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates a computing environment that can operate across multiple device types with different properties. The auxiliary computing environment is generated to be compatible with the second device's properties while maintaining the application's core functionality, enabling universal operation across diverse hardware architectures.

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

2Ease of operation

If display mirroring session is used to replicate the computing environment on a second display, then the view can be replicated, but the resources of the projector are not integrated with the computing environment

Engineering Contradiction:
Improvedisplay replicationVSAvoidresource integration
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

Rather than simply mirroring the display, the application is segmented into portions that execute on different devices. The auxiliary application portion runs natively on the second device, enabling true resource integration while the primary application portion maintains the core computing environment on the first device.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If applications are installed on multiple devices to enable each device to participate, then device integration is achieved, but significant configuration is required and compatibility issues arise

Engineering Contradiction:
Improvedevice participationVSAvoidconfiguration requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system extracts the auxiliary application portion from the complete application and transfers it to the second device. This extraction allows the application to utilize the second device's resources without requiring full installation and configuration of the entire application on multiple devices, significantly reducing configuration complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of installing the complete application on multiple devices, a copied portion (auxiliary application portion) is transferred to the second device. This copying approach maintains functionality while avoiding the complexity of full multi-device installation and configuration.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If the application is partitioned across two devices, then resources are integrated and device properties are utilized, but the system complexity increases

Engineering Contradiction:
Improveresource integrationVSAvoidsystem architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system introduces a computing environment intermediary that manages the partitioning and coordination between the two devices. This intermediary handles the complexity of resource integration and communication, allowing the application to leverage both devices' resources while abstracting away the architectural complexity from the user.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3198409B1Partitioned application presentation across devices
Publication Date: 2021.01.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3198409B1 patent drawingFigure 1
  • EP3198409B1 patent drawingFigure 2
  • EP3198409B1 patent drawingFigure 3

AI summary

In many computing scenarios, a user of a primary device may wish to incorporate an auxiliary device in the presentation of an application. Such incorporation may involve a terminal services session that projects the computing environment of the primary device onto the auxiliary device; mirroring the computing environment of the primary device through the auxiliary device; and/or utilizing applications that interoperate with client applications executing on the second device. However, such techniques may not fully reflect the properties of each device, and/or may only apply to particular applications and/or configurations. Instead, the primary device may adapt the primary computing environment to an auxiliary computing environment according to a device property of the auxiliary device; partition the application into a primary application portion presented within the primary computing environment and an auxiliary application portion presented within the auxiliary computing environment; and transmit the auxiliary computing environment to the auxiliary device.