IP Library Granted Patent US 11,914,576
Granted Patent B2
US 11,914,576 · App. 17/443,049 · Granted Feb 27, 2024

Immutable object handling in high-performance network messaging architecture

Inventor: Eric Tesse (New York, NY)
Assignee: CHARLES SCHWAB & CO., INC.
G06F16/2379G06F12/0223G06F16/2255G06F16/2264G06F16/2358G06F16/24562G06F16/90344H04L69/324G06F2212/1041
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,914,576
App. No.
17/443,049
Granted
Feb 27, 2024
Kind
B2
Abstract

A computationally-efficient object conversion system maintains multiple objects. Each object includes an array of characters and a hash value. Instructions include maintaining strings in a one-to-one relationship with the objects. The instructions include, for each object, calculating the hash value in response to values being written to the array of the object. The instructions include defining an equals method that, for first and second objects, returns a true value in response to values of the array of the first object matching values of the array of the second object. The instructions include defining a hash method that, for a selected object, returns the hash value. The instructions include, in response to a request including a request string, determining whether one of the strings is equal to the request string and, if so, returning the object related to the one of the strings.

Claims (79)

1. A computationally-efficient object conversion system, the system comprising:

memory hardware configured to store instructions; and

processing hardware configured to execute the instructions stored by the memory hardware, wherein the instructions include:

maintaining a plurality of objects, wherein each object of the plurality of objects includes an array of characters and a hash value;

maintaining a plurality of strings, each string of the plurality of strings corresponding to one object of the plurality of objects;

for each object of the plurality of objects, calculating the hash value in response to values being written to the array of characters of the object;

defining an equals method that, for first and second objects of the plurality of objects, returns a true value in response to values of the array of characters of the first object matching values of the array of characters of the second object;

defining a hash method that, for a selected object of the plurality of objects, returns the hash value of the selected object; and

in response to a request including a request string:

determining whether one of the plurality of strings is equal to the request string; and

in response to determining that one of the plurality of strings is equal to the request string, returning the object of the plurality of objects corresponding to the one of the plurality of strings.

2. The system of claim 1 further comprising, in response to the request:

in response to determining that none of the plurality of objects corresponds to the request string:

adding a new object to the plurality of objects;

writing values to the array of characters of the new object based on the string;

adding the request string to the plurality of strings;

relating the request string in the plurality of strings to the new object in the plurality of objects; and

returning the new object.

3. The system of claim 1 further comprising maintaining a data store of key-value pairs including the plurality of objects as the values and the plurality of strings as the keys.

4. The system of claim 3 wherein the data store is implemented as a hashmap.

5. The system of claim 1 wherein:

each object of the plurality of objects includes a length value; and

the equals method, for the first and second objects, returns a false value in response to the length value of the first object not matching the length value of the second object.

6. The system of claim 5 wherein the equals method, for the first and second objects:

ignores values of the array of characters of the first object having indices greater than the length value of the first object; and

ignores values of the array of characters of the second object having indices greater than the length value of the second object.

7. The system of claim 1 wherein each of the characters is encoded as a signed byte or according to one of UTF-8 and UTF-16.

8. The system of claim 1 wherein returning the one of the plurality of objects includes returning a reference to the one of the plurality of objects.

9. A computationally-efficient object conversion system, the system comprising:

memory hardware configured to store instructions; and

processing hardware configured to execute the instructions stored by the memory hardware, wherein the instructions include:

maintaining a plurality of objects, wherein each object of the plurality of objects includes an array of characters and a hash value;

maintaining a plurality of strings, each string of the plurality of strings corresponding to one object of the plurality of objects;

for each object of the plurality of objects, calculating the hash value in response to values being written to the array of characters of the object;

defining an equals method that, for first and second objects of the plurality of objects, returns a true value in response to values of the array of characters of the first object matching values of the array of characters of the second object;

defining a hash method that, for a selected object of the plurality of objects, returns the hash value of the selected object; and

in response to a request including a request object:

using the equals method, determining whether one of the plurality of objects is equal to the request object; and

in response to determining that one of the plurality of objects equals the request object, returning the string from the plurality of strings that is corresponding to the one of the plurality of objects.

10. The system of claim 9 further comprising, in response to the request:

in response to determining that none of the plurality of objects equals the request object:

adding a new object to the plurality of objects;

writing values to the array of characters of the new object based on the request object;

converting the request object into a new string;

adding the new string to the plurality of strings; and

returning the new string.

11. The system of claim 9 further comprising maintaining a data store of key-value pairs including the plurality of objects as the keys and the plurality of strings as the values.

12. The system of claim 11 wherein the data store is implemented as a hashmap.

13. The system of claim 9 wherein:

each object of the plurality of objects includes a length value; and

the equals method, for the first and second objects, returns a false value in response to the length value of the first object not matching the length value of the second object.

14. The system of claim 13 wherein the equals method, for the first and second objects:

ignores values of the array of characters of the first object having indices greater than the length value of the first object; and

ignores values of the array of characters of the second object having indices greater than the length value of the second object.

15. The system of claim 9 wherein each of the characters is encoded as a signed byte or according to one of UTF-8 and UTF-16.

16. A computationally-efficient object conversion method, the method comprising:

maintaining, in memory hardware, a plurality of objects, wherein each object of the plurality of objects includes an array of characters and a hash value;

maintaining, in the memory hardware, a plurality of strings, each string of the plurality of strings corresponding to one object of the plurality of objects;

for each object of the plurality of objects, calculating, with processor hardware, the hash value in response to values being written to the array of characters of the object;

defining, with the processor hardware, an equals method that, for first and second objects of the plurality of objects, returns a true value in response to values of the array of characters of the first object matching values of the array of characters of the second object;

defining, with the processor hardware, a hash method that, for a selected object of the plurality of objects, returns the hash value of the selected object; and

in response to a request including a request string:

determining, with the processor hardware, whether one of the plurality of strings is equal to the request string; and

in response to determining that one of the plurality of strings is equal to the request string, returning, with the processor hardware, the object of the plurality of objects corresponding to the one of the plurality of strings.

17. The method of claim 16 further comprising, in response to the request:

in response to determining that none of the plurality of objects corresponds to the request string:

adding, with the processor hardware, a new object to the plurality of objects;

writing values, with the processor hardware, to the array of characters of the new object based on the string;

adding, with the processor hardware, the request string to the plurality of strings;

relating, with the processor hardware, the request string in the plurality of strings to the new object in the plurality of objects; and

returning, with the processor hardware, the new object.

18. The method of claim 16 further comprising maintaining, in the memory hardware a data store of key-value pairs including the plurality of objects as the values and the plurality of strings as the keys.

19. The method of claim 16 wherein:

each object of the plurality of objects includes a length value; and

the equals method, for the first and second objects:

returns a false value in response to the length value of the first object not matching the length value of the second object,

ignores values of the array of characters of the first object having indices greater than the length value of the first object, and

ignores values of the array of characters of the second object having indices greater than the length value of the second object.

20. The method of claim 16 wherein returning the one of the plurality of objects includes returning a reference to the one of the plurality of objects.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2023
From: TD AMERITRADE IP COMPANY, INC.
To: CHARLES SCHWAB & CO., INC.
Reel/Frame 064807/0936 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2021
From: TESSE, ERIC, MR.
To: TD AMERITRADE IP COMPANY, INC.
Reel/Frame 056947/0839 →
Continuity (2)
Continuation 17379269 · Jul 19, 2021
Related Publication 20230022166A1 · Jan 26, 2023