IP Library Granted Patent US 11,630,822
Granted Patent B2
US 11,630,822 · App. 17/471,039 · Granted Apr 18, 2023

Multiple devices for updating repositories

Inventors: Andy Helms (Austin, TX); David Riley, Jr. (Austin, TX); Brandon Hines (Austin, TX); William Kuk (Austin, TX); Kelvin Pho (Austin, TX)
Assignee: SELF FINANCIAL, INC.
G06F16/2379G06F3/04842G06F3/04847G06F9/44505G06F9/451G06F9/45508G06F9/541G06F16/9535G06F16/9566G06F21/602G06Q20/10G06Q20/3829G06Q40/02H04L9/0618H04L9/3234G06Q2220/00
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,630,822
App. No.
17/471,039
Granted
Apr 18, 2023
Kind
B2
Abstract

Provided is a method including obtaining a first set of queries from an application of a first device for a set of values of a record, determining a numeric boundary based on the set of value, and providing a UI to the first device, where the UI including a UI element displaying the numeric boundary. The method includes obtaining an interface-selected value, obtaining devices using a second set of queries, and obtaining a first location of the first device and a plurality of locations associated with the devices. The process includes selecting a second device of the devices based on distances between the first location and the plurality of locations. The method includes determining whether an authentication value is received from the second device and updating a field of the record based on the interface-selected value in response to receiving the authentication value from the second device.

Claims (107)

1. A tangible, non-transitory, machine-readable medium storing instructions that, when executed by a computer system, effectuate operations comprising:

obtaining, with a computer system, a first set of queries from an application for a set of values of a record from a database, wherein the application is being executed by a first computing device;

determining, with the computer system, a numeric boundary based on the set of values;

providing, with the computer system, a user interface to the first computing device, the user interface comprising a user interface element displaying the numeric boundary;

obtaining, with the computer system, an interface-selected value provided by an interaction with the user interface element, wherein a field of the record is populated with an initial value before being updated by the interface-selected value;

determining an updated user interface state based on the interface-selected value, wherein the updated user interface state comprises the interface-selected value and the initial value;

obtaining, with the computer system, a set of computing devices associated with a user identified by the record using a second set of queries;

obtaining, with the computer system, a first location of the first computing device and a plurality of locations, wherein each respective location is associated with a respective computing device of the set of computing devices;

selecting a second computing device of the set of computing devices based on a set of distances between the first location and each location of the plurality of locations;

sending the updated user interface state to the second computing device with a request for an authentication value, wherein the sending the updated user interface state to the second computing device with the request for the authentication value causes the second computing device to display the updated user interface state and the request for the authentication value;

determining whether the authentication value is received from the second computing device; and

in response to receiving the authentication value from the second computing device, updating, with the computer system, the field of the record based on the interface-selected value.

2. The medium of claim 1 , the operations further comprising determining a sequence of intermediate values between the initial value and the interface-selected value, wherein sending the updated user interface state comprises sending program instructions to animate a change from a first configuration corresponding with the initial value to a second configuration corresponding with the interface-selected value.

3. The medium of claim 1 , wherein selecting the second computing device further comprises:

determining a plurality of network performance metrics based on the set of computing devices, wherein each respective network performance metric of the plurality of network performance metrics is associated a respective device of the set of computing devices, and wherein a first network performance metric of the plurality of network performance metrics is associated with the second computing device;

determining whether the first network performance metric satisfies a network performance criterion; and

in response to a determination that the first network performance metric satisfies the network performance criterion, selecting the second computing device.

4. The medium of claim 3 , wherein:

the first network performance metric comprises a latency measurement; and

determining whether the first network performance metric satisfies the network performance criterion comprises determining whether the latency measurement is less than or equal to a latency threshold.

5. The medium of claim 3 , wherein determining whether the first network performance metric satisfies the network performance criterion comprises determining whether a handshake session with the second computing device is successful.

6. The medium of claim 1 , wherein providing the user interface to the first computing device comprises:

generating bytecode representation of program code causing the user interface element to display a slidable element that is movable from a first configuration to a second configuration, wherein:

positioning the user interface element in the first configuration causes a first limit associated with the first configuration to be displayed in the user interface,

positioning the user interface element in the second configuration causes a second limit associated with the second configuration to be displayed in the user interface, and

the second limit is determined based on the numeric boundary.

7. The medium of claim 1 , the operations further comprising:

receiving an audio recording; and

determining an intent value based on the audio recording, wherein determining whether the authentication value is received from the second computing device comprises determining that the intent value satisfies a first criterion.

8. The medium of claim 7 , the operations further comprising determining a quantitative value based on an utterance of the audio recording, wherein the set of values comprises the quantitative value.

9. The medium of claim 1 , the operations further comprising retrieving a user authentication category associated with the user identified by the record, wherein selecting the second computing device comprises selecting the second computing device based on a determination that the second computing device is associated with the user authentication category.

10. The medium of claim 1 , wherein retrieving the set of computing devices comprises:

generating a first query comprising an identifier of the first query;

generating a plurality of queries based on the first query, wherein each query of the plurality of queries comprises a shared set of parameters that is shared with the first query;

storing a plurality of promises of the plurality of queries in an in-memory data store;

locking the set of values of a record based on the plurality of queries;

retrieving, with a query of the plurality of queries, a set of device identifiers; and

fulfilling the plurality of promises of the plurality of queries stored in the in-memory data store based on the set of device identifiers.

11. The medium of claim 1 , the operations further comprising:

obtaining a first web message from the first computing device at a uniform resource locator, wherein the first web message comprises link data;

parsing the link data of the first web message to obtain a set of key-value pairs;

generating a plurality of user interface states based on the set of key-value pairs, wherein providing the user interface to the first computing device comprises providing the plurality of user interface states to the first computing device.

12. The medium of claim 1 , wherein the application is a first application, and wherein obtaining the first set of queries comprises:

obtaining a first web message from the first computing device based on the use of an uniform resource locator, wherein the first web message indicates whether a second application is installed on the first computing device;

determining whether the second application is installed on the first computing device based on the first web message;

in response to a determination that the second application is not installed on the first computing device, selecting an application module from a plurality of application modules, wherein the uniform resource locator links to the plurality of application modules; and

sending a second set of web messages to the first computing device, wherein the second set of web messages comprises program code of the application module.

13. The medium of claim 12 , wherein the uniform resource locator is obtained via a camera of the first computing device.

14. The medium of claim 12 , wherein the uniform resource locator is obtained via a near field communication interface of the first computing device.

15. The medium of claim 1 , wherein the user interface is displayed as a canvas element of a domain object model of a web application, and wherein providing the user interface comprises:

retrieving a first set of interface-selected values from the first computing device based on a first interaction with the user interface;

generating a server-side value based on the first set of interface-selected values;

providing the server-side value to the first computing device, wherein providing the server-side value to the first computing device causes the first computing device to update the canvas element without re-rendering non-canvas elements of the web application.

16. The medium of claim 1 , the operations further comprising providing a notification to the second computing device indicating that the record has been updated, wherein the notification comprises the interface-selected value.

17. The medium of claim 1 , the operations further comprising steps for selecting the second computing device.

18. The medium of claim 1 , the operations further comprising steps for providing the user interface.

19. The medium of claim 1 , wherein:

the operations further comprise determining a sequence of intermediate values between the initial value and the interface-selected value, wherein sending the updated user interface state comprises sending program instructions to animate a change from a first configuration corresponding with the initial value to a second configuration corresponding with the interface-selected value;

selecting the second computing device further comprises:

determining a plurality of network performance metrics based on the set of computing devices, wherein each respective network performance metric of the plurality of network performance metrics is associated a respective device of the set of computing devices, and wherein a first network performance metric of the plurality of network performance metrics is associated with the second computing device;

determining whether the first network performance metric satisfies a network performance criterion; and

in response to a determination that the first network performance metric satisfies the network performance criterion, selecting the second computing device;

the first network performance metric comprises a latency measurement;

determining whether the first network performance metric satisfies the network performance criterion comprises determining whether the latency measurement is less than or equal to a latency threshold;

providing the user interface to the first computing device comprises:

generating bytecode representation of program code causing the user interface element to display a slidable element that is movable from a first configuration to a second configuration, wherein:

positioning the user interface element in the first configuration causes a first limit associated with the first configuration to be displayed in the user interface,

positioning the user interface element in the second configuration causes a second limit associated with the second configuration to be displayed in the user interface, and

the second limit is determined based on the numeric boundary;

the operations further comprise:

receiving an audio recording;

determining an intent value based on the audio recording, wherein determining whether the authentication value is received from the second computing device comprises determining that the intent value satisfies a first criterion; and

determining a quantitative value based on an utterance of the audio recording, wherein the set of values comprises the quantitative value; and

retrieving a user authentication category associated with the user identified by the record, wherein selecting the second computing device comprises selecting the second computing device based on a determination that the second computing device is associated with the user authentication category;

retrieving the set of computing devices comprises:

generating a first query comprising an identifier of the first query;

generating a plurality of queries based on the first query, wherein each query of the plurality of queries comprises a shared set of parameters that is shared with the first query;

storing a plurality of promises of the plurality of queries in an in-memory data store;

locking the set of values of the record based on the plurality of queries;

retrieving, with a query of the plurality of queries, a set of device identifiers; and

fulfilling the plurality of promises of the plurality of queries stored in the in-memory data store based on the set of device identifiers;

the operations further comprising:

obtaining a first web message from the first computing device at a uniform resource locator, wherein the first web message comprises link data;

parsing the link data of the first web message to obtain a set of key-value pairs;

generating a plurality of user interface states based on the set of key-value pairs, wherein providing the user interface to the first computing device comprises providing the plurality of user interface states to the first computing device;

the application is a first application, and wherein obtaining the set of queries comprises:

obtaining the first web message from the first computing device based on the use of the uniform resource locator, wherein the first web message indicates whether a second application is installed on the first computing device;

determining whether the second application is installed on the first computing device based on the first web message;

in response to a determination that the second application is not installed on the first computing device, selecting an application module from a plurality of application modules, wherein the uniform resource locator links to the plurality of application modules; and

sending a second set of web messages to the first computing device, wherein the second set of web messages comprises program code of the application module, wherein the uniform resource locator is obtained via a camera or near field communication interface of the first computing device;

the user interface is displayed as a canvas element of a domain object model of a web application, and wherein providing the user interface comprises:

retrieving a first set of interface-selected values from the first computing device based on a first interaction with the user interface;

generating a server-side value based on the first set of interface-selected values; and

providing the server-side value to the first computing device, wherein providing the server-side value to the first computing device causes the first computing device to update the canvas element without re-rendering non-canvas elements of the web application; and

the operations further comprise providing a notification to the second computing device indicating that the record has been updated, wherein the notification comprises the interface-selected value.

20. A method comprising:

obtaining, with a computer system, a first set of queries from an application for a set of values of a record from a database, wherein the application is being executed by a first computing device;

determining, with the computer system, a numeric boundary based on the set of values;

providing, with the computer system, a user interface to the first computing device, the user interface comprising a user interface element displaying the numeric boundary;

obtaining, with the computer system, an interface-selected value provided by an interaction with the user interface element, wherein a field of the record is populated with an initial value before being updated by the interface-selected value;

determining an updated user interface state based on the interface-selected value, wherein the updated user interface state comprises the interface-selected value and the initial value;

obtaining, with the computer system, a set of computing devices associated with a user identified by the record using a second set of queries;

obtaining, with the computer system, a first location of the first computing device and a plurality of locations, wherein each respective location is associated with a respective computing device of the set of computing devices;

selecting a second computing device of the set of computing devices based on a set of distances between the first location and each location of the plurality of locations;

sending the updated user interface state to the second computing device with a request for an authentication value, wherein the sending the updated user interface state to the second computing device with the request for the authentication value causes the second computing device to display the updated user interface state and the request for the authentication value;

determining whether the authentication value is received from the second computing device; and

in response to receiving the authentication value from the second computing device, updating, with the computer system, the field of the record based on the interface-selected value.

Assignments (2)
SECURITY INTEREST Recorded Jul 1, 2022
From: SELF FINANCIAL, INC.; SELF CREDIT LLC; SELF FINANCIAL INSURANCE SERVICES LLC; RENTTRACK, INC.
To: SILICON VALLEY BANK
Reel/Frame 060422/0237 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2021
From: HELMS, ANDY; RILEY, DAVID; HINES, BRANDON; KUK, WILLIAM; PHO, KELVIN
To: SELF FINANCIAL, INC.
Reel/Frame 058231/0936 →
Continuity (4)
Continuation In Part 17464585 · Sep 1, 2021
Continuation In Part 17015761 · Sep 9, 2020
Provisional Application 63086475 · Oct 1, 2020
Related Publication 20220075825A1 · Mar 10, 2022
Cited By (2)
US 12,461,902 US 12,530,337