Multi-User Access for Single-User Apps via Sandboxing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Single-user mobile applications are not designed to accommodate multiple users, limiting their use in environments where multiple users need access, such as in enterprise settings.

Innovation Solution

A multi-user library is integrated with the application to manage user data sets and configurations, allowing multiple users to access and use single-user applications without modifying the underlying application code, by generating user-specific sandboxes and redirecting data access based on user context.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single-user application is modified to support multiple users, then multi-user access capability is improved, but application complexity and code modification requirements increase

Engineering Contradiction:
Improvemulti-user access capabilityVSAvoidapplication code complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments user data into separate sandboxes, allowing each user to have isolated data storage while sharing the same application codebase. This segmentation enables multi-user support without modifying the core application logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a sandbox manager as an intermediary component that handles user authentication, data isolation, and resource allocation. This mediator layer enables multi-user functionality without requiring changes to the application code itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple user data sets are stored simultaneously, then multi-user data isolation is improved, but device storage requirements increase

Engineering Contradiction:
Improvedata isolationVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements preliminary compression of user data sets before storing them in the sandbox. This pre-compression reduces the storage footprint of user data while maintaining data isolation and accessibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the storage parameters of user data by applying compression algorithms and encryption, reducing the volume of data stored while maintaining security and isolation requirements.

Inventive Principle:
Principle #35Parameter changes

3Object-affected harmful factors

If user data is encrypted for security, then data protection is improved, but data access speed decreases

Engineering Contradiction:
Improvedata securityVSAvoiddata access speed
Core Design Contradiction:
Object-affected harmful factorsVSSpeed

Solution Approach 1:

The patent performs encryption operations in advance during data storage, and uses indexed lookup structures to locate encrypted data quickly. This preliminary preparation reduces the time needed for data access while maintaining security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the sandbox manager tracks encryption keys and data locations, enabling rapid retrieval of encrypted data without requiring full decryption of entire data sets, thus balancing security with access speed.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9445271B2Multi-user use of single-user apps
Publication Date: 2016.09.13 IVANTI INC
  • US9445271B2 patent drawing
  • US9445271B2 patent drawing
  • US9445271B2 patent drawing

AI summary

Multi-user use of single-user applications is disclosed. A request to access application data associated with an object identifier may be received in a context of a single-user application. Access may be provided to one or more application data objects associated with the object identifier. The objects may be included in a data set corresponding to user information associated with the context of the application.