IP Library Granted Patent US 9,361,163
Granted Patent B2
US 9,361,163 · App. 14/093,005 · Granted Jun 7, 2016

Managing containerized applications on a mobile device while bypassing operating system implemented inter process communication

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,361,163
App. No.
14/093,005
Granted
Jun 7, 2016
Kind
B2
Abstract

A method of on-device access using a container application to manage a sub application provisioned on a computer device by set of stored instructions executed by a computer processor to implement the steps of: receive a communication for the sub application by a first service programming interface (SPI) of the container application, the communication sent by a on-device process over a first communication pathway of a device infrastructure of the computer device utilizing interprocess communication (IPC) framework of the device infrastructure, the first communication pathway provided external to the first SPI; retransmit the communication by the first SPI to a second SPI of the sub application over a second communication pathway that bypasses the IPC framework, the second communication pathway internal to the first SPI; receiving a response to the communication by the first SPU from the second SPI over the second communication pathway; and directing the response to the on-device process over the first communication pathway.

Claims (34)

1. A method of controlling on-device access using a set of stored instructions executed by a computer processor to perform the steps of:

implementing a container application and sub-application on a computing device, wherein the container application is configured to manage the sub-application and the sub-application is defined by metadata as a library project of the container application;

receiving a communication for the sub-application by a first service programming interface (SPI) of the container application, the communication sent by an on-device process over a first communication pathway of a device infrastructure of the computer device utilizing an inter-process communication (IPC) framework of the device infrastructure, the first communication pathway provided external to the first SPI;

retransmitting the communication by the first SPI to a second SPI of the sub-application over a second communication pathway that bypasses the IPC framework, the second communication pathway internal to the first SPI;

receiving a response to the communication by the first SPI from the second SPI over the second communication pathway; and

directing the response to the on-device process over the first communication pathway.

2. The method of claim 1 further comprising the step of:

receiving another communication for the sub-application by the first SPI over the first communication pathway; and

denying access to the sub-application by inhibiting receipt of the another communication by the second SPI.

3. The method of claim 1 , wherein the on-device process is another application provisioned on the device infrastructure.

4. The method of claim 1 , wherein the on-device process is a process associated with a hardware component of the device infrastructure.

5. The method of claim 1 further comprising the steps of: use by the sub-application of a first portion of the second SPI to receive the communication via the second communication pathway and a second portion of the second SPI to communicate with a second sub-application using the second communication pathway, wherein the first portion is dedicated for providing inter-application communication between the first SPI and the second SPI and the second portion is dedicated for providing inter-application communication between the second SPI and a respective SPI of the second sub-application managed by the container application, the respective SPI also internal to the first SPI.

6. The method of claim 4 , wherein the hardware component is an external network connection interface of the device infrastructure.

7. The method of claim 1 , wherein the second communication pathway is implemented using shared memory regions of a storage device of the device infrastructure such that only the container application managing the sub-application and the sub-application have access to the shared memory region.

8. The method of claim 7 , wherein reading and writing of the communication to the shared memory regions is performed by one or more memory based message threads.

9. The method of claim 1 further comprising the steps of:

receiving a behavioural control communication by the first SPI via the first communication pathway;

retransmitting the behavioural control communication to a policy engine located internal to the first SPI over the second communication pathway; and

directing a policy communication between the sub-application and the policy engine over the second communication pathway based on the behavioural control communication received by the policy engine; wherein the policy engine provides a set of management policies on behalf of the container application for the sub-application.

10. The method of claim 1 further comprising the steps of:

receiving a behavioural control communication by the first SPI via the first communication pathway;

retransmitting the behavioural control communication to a management API located internal to the first SPI over the second communication pathway; and

directing an application management communication between the sub-application and the management API over the second communication pathway based on the behavioural control communication.

11. The method of claim 10 , wherein the management API is expressed by the sub-application and the management communication is sent by the policy engine.

12. The method of claim 1 further comprising the stem of:

receiving a launch command by the first SPI over the first communication pathway;

retransmitting the launch command via the second communication pathway to a launcher UI component provisioned on-device internal to the first SPI; and

sending the launch command to the sub-application over the second communication pathway as a target of the launch command.

13. A non-transitory computer-readable storage medium comprising computer-executable instructions which, when executed by a processor, cause a computing device to perform a method of controlling on-device access, the method comprising:

implementing a container application and a sub-application on a computing device, wherein the container application is configured to manage the sub-application and the sub-application is defined by metadata as a library project of the container application;

receiving a communication for the sub-application by a first service programming interface (SPI) of the container application, the communication sent by an on-device process over a first communication pathway of a device infrastructure of the computer device utilizing an inter-process communication (IPC) framework of the device infrastructure, the first communication pathway provided external to the first SPI;

retransmitting the communication by the first SPI to a second SPI of the sub-application over a second communication pathway that bypasses the IPC framework, the second communication pathway internal to the first SPI;

receiving a response to the communication by the first SPI from the second SPI over the second communication pathway; and

directing the response to the on-device process over the first communication pathway.

Assignments (6)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2018
From: GOOD TECHNOLOGY HOLDINGS LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 045196/0255 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2017
From: GOOD TECHNOLOGY CORPORATION
To: GOOD TECHNOLOGY HOLDINGS LIMITED
Reel/Frame 044961/0698 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2014
From: FIXMO, INC.
To: GOOD TECHNOLOGY CORPORATION
Reel/Frame 033360/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2014
From: YUEN, CHUN FUNG; LAU, ALEX
To: FIXMO, INC.
Reel/Frame 031957/0424 →