IP Library Granted Patent US 11,327,778
Granted Patent B2
US 11,327,778 · App. 17/104,806 · Granted May 10, 2022

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 11,327,778
App. No.
17/104,806
Granted
May 10, 2022
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 (34)

1. A method comprising:

creating a recorder object;

obtaining a first proxy for a first object related to a first service;

obtaining a second proxy for a second object related to a second service;

recording a sequence of invocations on the first proxy for the first object and the second proxy for the second object;

generating bytecode that is configured to invoke the sequence of invocations on the first proxy for the first object and the second proxy for the second object;

prior to generating the bytecode, closing the recorder object; and

discarding the first proxy for the first object and the second proxy for the second object.

2. The method of claim 1 , wherein the bytecode is generated prior to runtime.

3. The method of claim 1 , wherein the bytecode is generated at build time.

4. The method of claim 1 , wherein the bytecode is Java Virtual Machine bytecode.

5. The method of claim 1 , wherein an invocation of the sequence of invocations on the first proxy for the first object and the second proxy for the second object includes a method parameter.

6. A system comprising:

a memory;

a processor in communication with the memory;

a recorder, wherein the recorder is configured to:

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

generate bytecode from the recorded sequence of invocations on the plurality of proxies, wherein the recorder is configured to generate the bytecode when the recorder is closed; and

a plurality of virtual machines configured to execute the bytecode generated by the recorder to start runtime services of at least one application.

7. The system of claim 6 , wherein the bytecode is generated prior to runtime.

8. The system of claim 6 , wherein the bytecode is generated at build time.

9. The system of claim 6 , wherein the bytecode is Java Virtual Machine bytecode.

10. The system of claim 6 , wherein the recorder is configured to generate the bytecode when the recorder stops recording.

11. The system of claim 6 , wherein an invocation of the recorded sequence of invocations on the plurality of proxies includes a method parameter.

12. The system of claim 6 , wherein the plurality of virtual machines includes a first virtual machine and a second virtual machine, and wherein the bytecode is generated by the first virtual machine.

13. The system of claim 12 , wherein the bytecode is executed by the second virtual machine.

14. A non-transitory machine-readable medium storing code, which when executed by a processor, is configured to:

create a recorder;

obtain a proxy for each respective real object related to a service;

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

generate, prior to runtime, 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 paused prior to generating the intermediate representation of the application.

15. The non-transitory machine-readable medium of claim 14 , wherein the intermediate representation of the application is bytecode.

16. The non-transitory machine-readable medium of claim 15 , wherein the bytecode is Java Virtual Machine bytecode.

17. The non-transitory machine-readable medium of claim 14 , wherein an invocation of the sequence of each invocation on each real object associated with each respective proxy includes a method parameter.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2020
From: DOUGLAS, STUART
To: RED HAT, INC.
Reel/Frame 054492/0151 →
Continuity (2)
Continuation 16224264 · Dec 18, 2018
Related Publication 20210081228A1 · Mar 18, 2021