IP Library Granted Patent US 11,150,925
Granted Patent B2
US 11,150,925 · App. 15/392,965 · Granted Oct 19, 2021

Method and system for compound application virtualization

Inventors: Priya Saxena (London, GB); Jyothirmai Uppuluri (London, GB)
Assignee: DATA ACCELERATOR LTD.
G06F9/455G06F9/4484G06F9/545
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 11,150,925
App. No.
15/392,965
Granted
Oct 19, 2021
Kind
B2
Abstract

A method for running an application via an operating system executing on a computing device is disclosed. In an embodiment, the method involves subjecting an API call to a complimentary application virtualization layer, after the API call is subjected to the complimentary application virtualization layer, subjecting the API call to a primary application virtualization layer, and after the API call has been subjected to the complimentary application virtualization layer and to the primary application virtualization layer, forwarding the API call to the operating system for processing in the kernel-space.

Claims (31)

1. A method for running an application via an operating system executing on a computing device, the method comprising:

subjecting an API call to a complimentary application virtualization layer;

after the API call is subjected to the complimentary application virtualization layer, subjecting the API call to a primary application virtualization layer; and

after the API call has been subjected to the complimentary application virtualization layer and to the primary application virtualization layer, forwarding the API call to the operating system for processing in the kernel-space.

2. The method of claim 1 , wherein subjecting an API call to a complimentary application virtualization layer comprises parsing the opcode of the API call and over-writing a jump instruction in a parsed portion of the opcode.

3. The method of claim 2 , wherein subjecting an API call to a complimentary application virtualization layer comprises scanning for the length of initial opcodes and removing the initial bytes of an opcode sufficient to insert a desired jump instruction to the function with the redirection to the sandbox of the complimentary virtualization layer.

4. The method of claim 2 , wherein subjecting an API call to a complimentary virtualization layer comprises following the jump destination and replacing the jump destination to point to the function with the redirection to the sandbox of the complimentary virtualization layer.

5. A method for running an application via an operating system executing on a computing device, the method comprising:

virtualizing an API call from the application at a complimentary application virtualization layer to generate a virtualized API call;

virtualizing the virtualized API call at a primary application virtualization layer to generate a compound virtualized API call; and

forwarding the compound virtualized API call to the operating system for processing in the kernel-space.

6. A method for running an application via an operating system executing on a computing device, the method comprising:

intercepting an API call at a complimentary application virtualization layer to generate a virtualized API call;

virtualizing the virtualized API call according to a primary application virtualization layer to generate a compound virtualized API call; and

forwarding the compound virtualized API call to the operating system for processing in the kernel-space.

7. A system for running an application via an operating system executing on a computing device, the system comprising:

at least one processing unit and memory;

an operating system stored on the memory;

a complimentary application virtualization layer stored on the memory; and

a primary application virtualization layer stored on the memory,

wherein execution of an application on the operating system involves;

subjecting an API call from the application to the complimentary application virtualization layer;

after the API call is subjected to the complimentary application virtualization layer, subjecting the API call to a primary application virtualization layer; and

after the API call has been subjected to the complimentary application virtualization layer and to the primary application virtualization layer, forwarding the API call to the operating system for processing in the kernel-space.

8. A non-transitory computer readable medium that stores computer-executable code that, when executed by a processor, performs steps to implement:

a compound virtualization package, the compound virtualization package including;

an application incorporated into a primary virtualization package and the primary virtualization package incorporated into a complimentary virtualization package, wherein the complimentary virtualization package and the primary virtualization package include layer-specific virtualization logic files, virtual files stores, and virtual configurations;

wherein execution of the compound virtualization package involves;

subjecting an API call to a complimentary application virtualization layer implemented from the complimentary virtualization package;

after the API call is subjected to the complimentary application virtualization layer, subjecting the API call to a primary application virtualization layer implemented from the primary virtualization package; and

after the API call has been subjected to the complimentary application virtualization layer and to the primary application virtualization layer, forwarding the API call to an operating system for processing in the kernel-space.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2016
From: SAXENA, PRIYA; UPPULURI, JYOTHIRMAI
To: DATA ACCELERATOR LTD.
Reel/Frame 040790/0922 →
Continuity (2)
Provisional Application 62359507 · Jul 7, 2016
Related Publication 20180011723A1 · Jan 11, 2018