IP Library Granted Patent US 10,853,109
Granted Patent B2
US 10,853,109 · App. 16/224,264 · Granted Dec 1, 2020

Application deployment using reduced overhead bytecode

Inventor: Stuart Douglas (Orange, AU)
Assignee: Red Hat, Inc.
G06F9/4552G06F8/44G06F8/60G06F9/45504
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 10,853,109
App. No.
16/224,264
Granted
Dec 1, 2020
Kind
B2
Abstract

A system includes a memory, a processor in communication with the memory, and a recorder. The recorder is configured to obtain a proxy for each respective real object. Each respective real object is related to a respective service. The recorder is also configured to record a sequence of each invocation on each respective proxy and generate an intermediate representation of an application that is configured to invoke the sequence of each invocation on each real object associated with each respective proxy.

Claims (33)

1. A system comprising:

a memory;

a processor in communication with the memory; and

a recorder configured to:

obtain a proxy for each respective real object, wherein each respective real object is related to a respective service,

record a sequence of each invocation on each real object associated with each respective proxy, and

generate an intermediate representation of an application that is configured to invoke the sequence of each invocation on each real object associated with each respective proxy, wherein the recorder is configured to generate the intermediate representation of the application when the recorder stops recording the sequence of each invocation on each real object associated with each respective proxy.

2. The system of claim 1 , wherein the intermediate representation of the application is bytecode.

3. The system of claim 2 , wherein the bytecode is Java Virtual Machine bytecode.

4. The system of claim 1 , wherein an invocation on a real object associated with a respective proxy includes a method parameter.

5. A method comprising:

creating a recorder;

obtaining a proxy for each respective real object, wherein each respective real object is related to a respective service;

recording a sequence of each invocation on each real object associated with each respective proxy;

generating an intermediate representation of an application from the sequence of each invocation on each real object associated with each respective proxy; and

prior to generating the intermediate representation of the application from the sequence of each invocation on each real object associated with each respective proxy, pausing the recorder.

6. The method of claim 5 , wherein the intermediate representation of the application is generated prior to runtime.

7. The method of claim 6 , wherein the intermediate representation of the application is generated at build time.

8. The method of claim 5 , wherein the intermediate representation of the application is bytecode.

9. The method of claim 8 , wherein the bytecode is Java Virtual Machine bytecode.

10. The method of claim 5 , further comprising discarding each respective proxy.

11. The method of claim 5 , wherein an invocation on a real object associated with a respective proxy includes a method parameter.

12. A method comprising:

creating a recorder object;

recording a sequence of invocations on a plurality of proxies, wherein each proxy of the plurality of proxies is associated with a respective real object;

generating bytecode from the recorded sequence of invocations on the plurality of proxies;

prior to generating the bytecode from the recorded sequence of invocations on the plurality of proxies, pausing the recorder object; and

executing the bytecode to start runtime services of an application by invoking the recorded sequence of invocations on the real objects associated with the plurality of proxies.

13. The method of claim 12 , wherein the bytecode is generated prior to runtime.

14. The method of claim 12 , wherein the bytecode is generated at build time.

15. The method of claim 12 , wherein the bytecode is Java Virtual Machine bytecode.

16. The method of claim 12 , wherein the bytecode is generated by a first virtual machine, and the bytecode is executed by a second virtual machine.

17. The method of claim 16 , wherein the first virtual machine and the second virtual machine are different virtual machines.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2018
From: DOUGLAS, STUART
To: RED HAT, INC.
Reel/Frame 047833/0801 →
Continuity (1)
Related Publication 20200192688A1 · Jun 18, 2020