Android Inter-Process Communication Framework for Secure Data Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Android platform limitations, such as the Dalvik Virtual Machine's isolation of applications and lack of compatibility with standard Java libraries, hinder seamless collaboration and data sharing between applications, constraining inter-process communication (IPC) and requiring privileged access.

Innovation Solution

A mobile applications architecture that includes an IPC module, shared storage module, and utilities module, enabling data and resource sharing among applications through a library and descriptor files, while providing security and filtering functionalities, facilitating collaboration and reducing IPC overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the Dalvik Virtual Machine isolates applications from one another, then security is improved by preventing malicious apps from exploiting other apps, but inter-process communication becomes constrained and requires privileged access

Engineering Contradiction:
ImprovesecurityVSAvoidinter-process communication
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary communication layer that sits between the isolated application processes and the shared data storage. This intermediary mechanism allows applications to communicate and share data without requiring privileged access or breaking the isolation boundaries, thus maintaining security while enabling seamless inter-process communication.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If Android does not provide full Java SE or ME class libraries and APIs, then compatibility with non-Android Java applications is reduced, but the Android platform maintains its customized architecture

Engineering Contradiction:
ImproveJava application compatibilityVSAvoidplatform architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal data container framework that can handle multiple data types and serve multiple purposes across different applications. This universal approach allows Android applications to work with standardized data structures similar to those in Java SE/ME, improving compatibility without requiring the full Java class libraries or changing the core Android architecture.

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

3Reliability

If data sharing between applications is severely constrained, then security and isolation are maintained, but collaboration between applications is hindered

Engineering Contradiction:
Improveapplication isolationVSAvoidapplication collaboration
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the data sharing mechanism into separate, manageable components including data containers, descriptors, and access interfaces. This segmentation allows applications to share specific data elements through well-defined interfaces while maintaining isolation at the process level, thus enabling collaboration without compromising security or requiring privileged access.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10684899B2Mobile applications architecture
Publication Date: 2020.06.16 NORTHROP GRUMMAN SYSTEMS CORP
  • US10684899B2 patent drawing
  • US10684899B2 patent drawing
  • US10684899B2 patent drawing

AI summary

A system and method for sharing data and resources among a plurality of applications on a mobile device is disclosed. Embodiments provide a mobile applications architecture that is able to link applications and share the linked applications simultaneously on an Android (or other operating system) mobile device such as a smart phone or table computer. The mobile applications architecture creates a framework that provides an easy interface for third-party applications to quickly integrate and leverage already constructed components and sharing of data among multiple third-party applications thereby reducing the complexity of newly developed capabilities for mobile applications architecture on not just a single device, but multiple devices.