IP Library Granted Patent US 11,068,282
Granted Patent B2
US 11,068,282 · App. 16/709,009 · Granted Jul 20, 2021

Apparatuses, methods and systems for persisting values in a computing environment

Inventor: David Kohn (Hamilton, NJ)
Assignee: Refinitiv US Organization LLC
G06F9/4493G06F8/24G06F9/44521G06F16/2365G06F16/13G06F16/1756G06F16/27
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,068,282
App. No.
16/709,009
Granted
Jul 20, 2021
Kind
B2
Abstract

The present disclosure is directed to persisting values in a computing environment, particularly using computer programs that run on a virtual machine. An illustrative method includes first launching a computer program, preferably within the environment of a virtual machine. The method further includes loading a plurality of classes associated with the computer program into memory by way of a special class loader. This class loader scans at least one class of classes loaded into memory for at least one persistence-annotated field within that class. The special class loader further writes byte code into a class that contains the at least one persistence-annotated field. The byte code that is added to the class causes a first object that is later instantiated from the at least one class to have the persistence-annotated field.

Claims (30)

1. A method for persisting values in a computing environment, comprising:

loading a plurality of classes associated with a computer program into memory via processor by way of a class loader;

scanning at least one class of said plurality of classes loaded into memory via processor for at least one persistence-annotated field within said at least one class, said at least one persistence-annotated field having a persistence annotation indicating that a data value associated with the annotated field is to be persisted; and

writing byte code into said at least one class containing said at least one persistence-annotated field via processor, said byte code causing a first object instantiated from said at least one class to have said at least one persistence-annotated field therein.

2. The method of claim 1 , further comprising instantiating said first object including said at least one persistence-annotated field.

3. The method of claim 2 , further comprising:

observing a change in a value of said at least one persistence-annotated field in said first object;

notifying a persistence manager object of the change of the value of said at least one persistence-annotated field in said first object; and

storing an updated value of the persistence-annotated field in a data store associated with the persistence manager object.

4. The method of claim 3 , wherein the persistence manager object is instantiated the first time that the value of said at least one persistence-annotated field changes.

5. The method of claim 3 , wherein the first object calls a function in the persistence manager object to update the value of the persistence-annotated field in the data store.

6. The method of claim 5 , wherein the persistence manager object uses the persistence annotation as a key in a key value pair storing the updated value of the persistence-annotated field in the data store, and further wherein the updated value of the persistence-annotated field is used as the value in the key value pair.

7. The method of claim 1 , wherein the computer program is a Java Virtual Machine compliant computer program being executed from within a first running Java Virtual Machine instance.

8. The method of claim 1 , wherein the computer program is a Visual C#0 computer program or a Python® computer program being executed from within a virtual machine in memory.

9. The method of claim 1 , wherein the computer program is a Kotlin® computer program being executed from within a virtual machine in memory.

10. The method of claim 1 , wherein the computer program is a Groovy™ computer program being executed from within a virtual machine in memory.

11. The method of claim 1 , wherein the computer program is a Clojure™ computer program being executed from within a virtual machine in memory.

12. An apparatus comprising at least a first circuit, computer memory, and at least one processor to persist values in a computing environment, wherein the first circuit:

loads a plurality of classes associated with a computer program into the computer memory by way of a class loader to modify the code within at least one class of said plurality of classes having a persistence annotated field;

scans said at least one class of said plurality of classes loaded into memory for at least one persistence-annotated field within said at least one class, said at least one persistence-annotated field having a persistence annotation indicating that a data value associated with the annotated field is to be persisted; and

writes byte code into said at least one class containing said at least one persistence-annotated field, said byte code causing a first object instantiated from said at least one class to have said at least one persistence-annotated field therein.

13. The apparatus of claim 12 , further comprising a second circuit to instantiate said first object including said at least one persistence-annotated field.

14. The apparatus of claim 12 , wherein the first object is to notify a persistence manager object of a change of the value of said at least one persistence-annotated field in said first object.

15. The apparatus of claim 14 , wherein said persistence manager object stores an updated value of said at least one persistence-annotated field in a data store associated with said persistence manager object.

16. A processor-readable tangible non-transient medium storing a computer program to operate a system to persist values in a computing environment, wherein the computer program comprises:

instructions to load a plurality of classes associated with a computer application into memory by way of a class loader;

instructions to scan at least one class of said plurality of classes loaded into memory for at least one persistence-annotated field within said at least one class, said at least one persistence-annotated field having a persistence annotation indicating that a data value associated with the annotated field is to be persisted; and

instructions to write byte code into said at least one class containing said at least one persistence-annotated field, said byte code causing a first object instantiated from said at least one class to have said at least one persistence-annotated field therein.

17. The processor-readable tangible non transient medium of claim 16 , wherein said computer program further comprises instructions to instantiate said first object including said at least one persistence-annotated field.

18. The processor-readable tangible non transient medium of claim 17 , wherein said computer program further comprises instructions to store an updated value of said at least one persistence-annotated field in a data store associated with a persistence manager object.

Assignments (5)
CHANGE OF NAME Recorded Aug 28, 2025
From: THOMSON REUTERS (GRC) LLC
To: REFINITIV US ORGANIZATION LLC
Reel/Frame 072696/0383 →
CHANGE OF NAME Recorded Aug 28, 2025
From: THOMSON REUTERS (GRC) INC.
To: THOMSON REUTERS (GRC) LLC
Reel/Frame 072698/0771 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2021
From: KOHN, DAVID
To: THOMSON REUTERS (MARKETS) LLC
Reel/Frame 055783/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2021
From: THOMSON REUTERS (MARKETS) LLC
To: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
Reel/Frame 055783/0296 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2021
From: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
To: THOMSON REUTERS (GRC) INC.
Reel/Frame 055783/0373 →
Continuity (2)
Continuation 15683330 · Aug 22, 2017
Related Publication 20200183705A1 · Jun 11, 2020