IP Library Patent Application 14205661
Patent Application
App. No. 14/205,661

METHOD AND SYSTEM FOR ADAPTIVE LOADING OF APPLICATION

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 None
App. No.
14/205,661
Abstract

A system and method of adaptively loading a target application is described herein. The method can include the steps of loading an encapsulation application into memory in which the encapsulation application encapsulates the target application and allocating memory for the encapsulated target application. The method can also include the steps of remapping the encapsulated target application into the allocated memory such that the target application is loaded in the memory and configuring the target application to enable calls of the target application to be intercepted by the encapsulation application.

Claims (40)

1 . A method of adaptively loading a target application, comprising:

loading an encapsulation application into memory, wherein the encapsulation application encapsulates the target application;

allocating memory for the encapsulated target application;

remapping the encapsulated target application into the allocated memory such that the target application is loaded in the memory; and

configuring the target application to enable calls of the target application to be intercepted by the encapsulation application.

2 . The method according to claim 1 , wherein when the encapsulation application and the target application are loaded in memory, the encapsulation application and the target application are a single process.

3 . The method according to claim 1 , wherein the target application comprises position independent code.

4 . The method according to claim 1 , further comprising receiving the encapsulated target application from an application store.

5 . The method according to claim 1 , wherein configuring the target application to enable the calls of the target application to be intercepted by the encapsulation application comprises:

identifying an entry point of the target application; and

modifying the entry point of the target application to cause the entry point of the target application to point to an entry point of the encapsulation application.

6 . The method according to claim 5 , wherein configuring the target application to enable the calls of the target application to be intercepted by the encapsulation application further comprises hooking the calls of the target application by the encapsulation application such that the target application is under the control of or at least managed by the encapsulation application.

7 . The method according to claim 1 , wherein once the encapsulation application has been loaded into memory, the encapsulation application simulates the operation of a system loader by facilitating the loading of the target application into memory.

8 . The method according to claim 1 , wherein at least a portion of the target application has been written into padded sections of the encapsulation application.

9 . A method of adaptively loading an application, comprising:

loading an encapsulation application into memory, wherein the encapsulation application encapsulates a target application;

simulating a system loader through the encapsulation application by allocating memory for the target application and loading the target application in the memory; and

configuring the target application to enable calls of the target application to be intercepted by the encapsulation application.

10 . The method according to claim 9 , wherein the encapsulation application includes padded segments that have been written with data extracted from corresponding segments of the target application.

11 . The method according to claim 9 , wherein configuring the target application to enable the calls of the target application to be intercepted by the encapsulation application comprises hooking the calls of the target application by the encapsulation application such that the target application is under the control of or at least managed by the encapsulation application.

12 . The method according to claim 9 , wherein the encapsulation application and the target application are separate binaries loaded in memory and an operating system on a computing device containing such memory considers the separate binaries as a single process.

13 . A system for adaptively loading a target application, comprising:

an interface that is configured to receive an encapsulation application that encapsulates the target application;

memory that is configured to receive the encapsulation application; and

a processing unit, wherein the processing unit is configured to facilitate:

allocation of a portion of the memory for the target application and the remapping of the target application into the allocated portion of the memory such that the target application is loaded in the memory; and

configuring the target application to enable calls of the target application to be intercepted by the encapsulation application.

14 . The system according to claim 13 , wherein the interface is further configured to receive the encapsulation application that encapsulates the target application from an application store.

15 . The system according to claim 13 , wherein the processing unit is further configured to facilitate the configuring of the target application to enable the calls of the target application to be intercepted by the encapsulation application by facilitating the modification of an entry point of the target application to cause the entry point of the target application to point to an entry point of the encapsulation application.

16 . The system according to claim 15 , wherein the processing unit is further configured to facilitate the configuring of the target application to enable the calls of the target application to be intercepted by the encapsulation application by facilitating the hooking of the calls of the target application by the encapsulation application such that the target application is under the control of or at least managed by the encapsulation application.

17 . A non-transitory computer readable storage medium having stored thereon computer readable program code that when executed by a system comprising a processing unit and a memory, causes the system to:

load an encapsulation application into memory, wherein the encapsulation application encapsulates the target application;

allocate memory for the encapsulated target application;

remap the encapsulated target application into the allocated memory such that the target application is loaded in the memory; and

configure the target application to enable calls of the target application to be intercepted by the encapsulation application.

18 . The non-transitory computer readable storage medium according to claim 17 , wherein the executable code further causes the system to configure the target application to enable the calls of the target application to be intercepted by the encapsulation application by:

identifying an entry point of the target application; and

modifying the entry point of the target application to cause the entry point of the target application to point to an entry point of the encapsulation application.

19 . The non-transitory computer readable storage medium according to claim 18 , wherein the executable code further causes the system to configure the target application to enable the calls of the target application to be intercepted by the encapsulation application by hooking the calls of the target application by the encapsulation application such that the target application is under the control of or at least managed by the encapsulation application.

20 . The non-transitory computer readable storage medium according to claim 17 , wherein once the encapsulation application has been loaded into memory, the executable code further causes the system to cause the encapsulation application to simulate the operation of a system loader by facilitating the loading of the target application into memory.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2018
From: NI, HAO
To: OPENPEAK LLC
Reel/Frame 047675/0378 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: OPENPEAK, INC.
To: OPENPEAK LLC
Reel/Frame 042752/0945 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2014
From: WADE, CHRISTOPHER MICHAEL
To: OPENPEAK INC.
Reel/Frame 032418/0024 →