IP Library Granted Patent US 10,210,151
Granted Patent B2
US 10,210,151 · App. 14/060,798 · Granted Feb 19, 2019

Dynamic function builder

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,210,151
App. No.
14/060,798
Granted
Feb 19, 2019
Kind
B2
Abstract

Systems and techniques are disclosed for dynamically generating functions. The systems and techniques may be utilized to access and display information from a data store accessible to a spreadsheet-based application or program over a network. A web service is also provided that interprets data requests received from the spreadsheet-based application or program in one format, such as a natural language format, and translates the requests into syntactically correct functions with parameters for automatic execution by the spreadsheet-based application or program.

Claims (37)

1. A computer-implemented method comprising:

obtaining, from a spreadsheet program comprising spreadsheet cells, a data request in a first format, wherein the data request is a request for one or more financial models and one or more financial data items and the first format being a natural language format, the data request further comprising instructions for a first cell location from one of the spreadsheet cells, the spreadsheet program comprising at least a set of commands;

transmitting, from the spreadsheet program to a web server, wherein the web server provides a run-time environment that includes one or more modules for dynamically generating spreadsheet cell functions, the data request in the first format;

identifying, from the data request in the first format, at least one keyword and the one or more financial models;

comparing the at least one keyword to a data set of pre-defined keyword values;

generating an executable instruction for the spreadsheet program in response to the comparison, the executable instruction being in a second format different from the first format, wherein the executable instruction comprises a list of references to t h e spreadsheet cells to be updated based on the first cell location and the one or more financial models, and at least one parameter associated with a pre-defined keyword value of the data set of pre-defined keyword values, the at least one parameter comprising commands in native spreadsheet language from the set of commands, the executable instruction being in an executable state for execution by the spreadsheet program; and

copying the executable instruction to the spreadsheet program;

executing the executable instruction, said execution further comprises populating the spreadsheet cells referenced in the executable instruction.

2. The method of claim 1 , wherein the spreadsheet program is selected from the group consisting essentially of Excel, Lotus 1-2-3, and VisiCalc.

3. The method of claim 1 , wherein the executable instruction invokes a market data platform to access a first set of information.

4. The method of claim 3 , further comprising displaying the first set of information in the spreadsheet program.

5. The method of claim 1 , further comprising:

identifying, from the data request, at least one financial asset name;

comparing the at least one financial asset name to a set of pre-defined financial asset identifiers; and

combining at least one of the set of financial asset identifiers with the instruction based on the comparison of the at least one financial asset name to the set of pre-defined financial asset identifiers.

6. The method of claim 1 , wherein the executable instruction is a native spreadsheet function.

7. The method of claim 1 , further comprising mapping the executable instruction to at least one spreadsheet cell.

8. A system comprising:

a non-transitory data repository comprising a set of pre-defined keywords and associated parameters;

a spreadsheet program comprising spreadsheet cells, wherein the spreadsheet program transmits a data request in a first format, wherein the data request is a request for one or more financial models and one or more financial data items and the first format being a natural language format, the data request further comprising instructions for a first cell location from one of the spreadsheet cells, the spreadsheet program comprising at least a set of commands;

a web server, wherein the web server provides a run-time environment that includes modules for dynamically generating spreadsheet cell functions the web server further comprising a processor and a memory operatively coupled to the processor, the memory storing instructions that, in response to receiving the data request causes the processor to:

identify, from the data request in the first format, at least one keyword and the one or more financial models;

compare the at least one keyword to the set of pre-defined keywords;

generate an executable instruction for the spreadsheet program in response to the comparison, the executable instruction being in a second format different from the first format, wherein the executable instruction comprises a list of references to the spreadsheet cells to be updated based on the first cell location and the one or more financial models, and at least one parameter associated with a predefined keyword value of a data set of pre-defined keyword values associated with the set of pre-defined keywords, the at least one parameter comprising commands in native spreadsheet language from the set of commands, the executable instruction being in an executable state for execution by the spreadsheet program;

copy the executable instruction to the spreadsheet program; and execute the executable instruction by the spreadsheet program, said execution further comprises populating the spreadsheet cells referenced in the executable instruction.

9. The system of claim 8 , wherein the spreadsheet program is selected from the group consisting essentially of Excel, Lotus 1-2-3, and VisiCalc.

10. The system of claim 8 , wherein the memory stores instructions that, in response to receiving the request, cause the processor to access a market data platform to access a first set of information.

11. The system of claim 8 , wherein the memory stores instructions that, in response to receiving the request, cause the processor to: identify, from the data request, at least one financial asset name; compare the at least one financial asset name to a set of pre-defined financial asset identifiers; and combine at least one of the set of pre-defined financial asset identifiers with the instruction based on the comparison of the at least one financial asset name to the set of pre defined financial asset identifiers.

12. The system of claim 8 , wherein the executable instruction is a native spreadsheet function.

13. A computer device comprising a processor and a memory storing instructions that cause the processor to:

display a spreadsheet using a spreadsheet program wherein the displayed spreadsheet comprises spreadsheet cells;

receive a first request at the spreadsheet program;

generate a second request to a web server in response to receiving the first request from the spreadsheet program, wherein the web server provides a run-time environment that includes modules for dynamically generating spreadsheet cell functions in the spreadsheet program, wherein the second request is for one or more financial models and one or more financial data items and includes an expression in a natural language format, the second request further comprising instructions for a first cell location from one of the spreadsheet cells, the spreadsheet program comprising at least a set of commands; and

execute a native spreadsheet function, the native spreadsheet function included in a response received from the webserver responsive to the request, wherein the native spreadsheet function is executed in response to an executable instruction comprising a list of references to the spreadsheet cells to be updated based on the first cell location and the one or more financial models, and at least one parameter associated with a pre-defined keyword value of a data set of pre-defined keyword values based on the natural language expression, the at least one parameter comprising commands in native spreadsheet language from the set of commands, said execution further comprises populating and displaying the spreadsheet cells referenced in the executable instruction.

14. The computer device of claim 13 , wherein the request is an HTTP request and the response is a HTTP response.

15. The computer device of claim 14 , wherein the request is associated with at least one of fundamental data, historical-data, real-time data, dates, models and mathematical expressions.

16. The computer device of claim 13 , further comprising a graphical user interface to generate the request and display the response.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS NOTES COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0811 →
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0836 →
CHANGE OF NAME Recorded Mar 22, 2019
From: THOMSON REUTERS (GRC) LLC
To: REFINITIV US ORGANIZATION LLC
Reel/Frame 048676/0377 →
CHANGE OF NAME Recorded Dec 19, 2018
From: THOMSON REUTERS (GRC) INC.
To: THOMSON REUTERS (GRC) LLC
Reel/Frame 047955/0485 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2018
From: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
To: THOMSON REUTERS (GRC) INC.
Reel/Frame 048553/0154 →
SECURITY AGREEMENT Recorded Oct 3, 2018
From: THOMSON REUTERS (GRC) INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 047187/0316 →
SECURITY AGREEMENT Recorded Oct 2, 2018
From: THOMSON REUTERS (GRC) INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 047185/0215 →
CHANGE OF NAME Recorded Aug 15, 2017
From: THOMSON REUTERS GLOBAL RESOURCES
To: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
Reel/Frame 043293/0739 →