IP Library Granted Patent US 12,236,216
Granted Patent B1
US 12,236,216 · App. 18/630,822 · Granted Feb 25, 2025

Generate a script to automate a task associated with a webpage

Inventors: Shuhao Zhang (Cupertino, CA); Qi Zhai (Hillsborough, CA); Daniel Lawrence Schafer (Portola Valley, CA); Pavlo Dudka (Mountain View, CA); Mingyang Li (Bellevue, WA); Urvish Dipakkumar Thakker (Sunnyvale, CA); Mark Yi Chien Peng (Belmont, CA)
Assignee: Tiny Fish Inc.
G06F8/38G06F16/334G06F16/338G06F16/9538G06F40/20
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 12,236,216
App. No.
18/630,822
Granted
Feb 25, 2025
Kind
B1
Abstract

A query that includes one or more variables is received. The one or more variables correspond to one or more interactive elements. A large language model is utilized to generate a query response that associates one or more variables included in the query to the one or more interactive elements. A script is generated utilizing the query response that associates the one or more variables included in the query to the one or more interactive elements.

Claims (34)

1. A method, comprising:

receiving a query that includes one or more variables, wherein the one or more variables correspond to a first set of one or more interactive elements;

utilizing a large language model to generate a query response that maps the one or more variables included in the query to the first set of one or more interactive elements;

generating a script utilizing the one or more variables included in the query based on the query response received from the large language model that maps the one or more variables included in the query to the first set of one or more interactive elements; and

updating the generated script utilizing an updated query response in response to determining that the generated script is nonfunctional, wherein the updated query response maps the one or more variables included in the query to a second set of one or more interactive elements.

2. The method of claim 1 , wherein the first set of one or more interactive elements are associated with a webpage.

3. The method of claim 1 , wherein the first set of one or more interactive elements are associated with an application.

4. The method of claim 3 , further comprising obtaining user interface content associated with the application.

5. The method of claim 4 , wherein the user interface content associated with the application is extracted from a user interface tree associated with the application.

6. The method of claim 5 , wherein the user interface content associated with the application is extracted by a user interface content retrieval service associated with a device on which the application is installed.

7. The method of claim 6 , wherein the extracted user interface content associated with the application includes a user interface layout, screen content, or a screenshot.

8. The method of claim 6 , wherein the user interface content retrieval service is installed on the device.

9. The method of claim 6 , wherein the user interface content retrieval service is installed on a second device separate from the device.

10. The method of claim 4 , further comprising processing the user interface content associated with the application into a consumable format.

11. The method of claim 10 , wherein the consumable format is XML, JSON or a screenshot.

12. The method of claim 10 , wherein the processed user interface content associated with the application includes location information for the first set of one or more interactive elements.

13. The method of claim 10 , wherein the processed user interface content associated with the application includes a role, a name, and/or a tag for the first set of one or more interactive elements.

14. The method of claim 1 , wherein utilizing the large language model to generate the query response that maps one or more variables included in the query to the first set of one or more interactive elements includes providing to the large language model the query and processed user interface content associated with an application.

15. The method of claim 14 , wherein utilizing the large language model to generate the query response that maps one or more variables included in the query to the first set of one or more interactive elements further includes receiving the query response from the large language model.

16. A system, comprising:

a processor configured to:

receive a query that includes one or more variables, wherein the one or more variables correspond to a first set of one or more interactive elements;

utilize a large language model to generate a query response that maps one or more variables included in the query to the first set of one or more interactive elements;

generate a script utilizing the one or more variables included in the query based on the query response received from the large language model that maps the one or more variables included in the query to the first set of one or more interactive elements; and

update the generated script utilizing an updated query response in response to determining that the generated script is nonfunctional, wherein the updated query response maps the one or more variables included in the query to a second set of one or more interactive elements; and

a memory coupled to the processor and configured to provide the processor with instructions.

17. The system of claim 16 , wherein the first set of one or more interactive elements are associated with an application.

18. The system of claim 17 , wherein the processor is configured to obtain user interface content associated with the application that is extracted from a user interface tree associated with the application.

19. The system of claim 18 , wherein the processor is further configured to process the user interface content associated with the application into a consumable format.

20. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving a query that includes one or more variables, wherein the one or more variables correspond to a first set of one or more interactive elements;

utilizing a large language model to generate a query response that maps the one or more variables included in the query to the first set of one or more interactive elements;

generating a script utilizing the one or more variables included in the query based on the query response received from the large language model that maps the one or more variables included in the query to the first set of one or more interactive elements; and

updating the generated script utilizing an updated query response in response to determining that the generated script is nonfunctional, wherein the updated query response maps the one or more variables included in the query to a second set of one or more interactive elements.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2024
From: ZHANG, SHUHAO; ZHAI, QI; SCHAFER, DANIEL LAWRENCE; DUDKA, PAVLO; LI, MINGYANG; THAKKER, URVISH DIPAKKUMAR; PENG, MARK YI CHIEN
To: TINY FISH INC.
Reel/Frame 068253/0508 →
Continuity (2)
Continuation In Part 18415431 · Jan 17, 2024
Provisional Application 63534541 · Aug 24, 2023
References Cited (56)
US 7231606B2 · Miller · 2007 [cited by applicant]
US 8255812B1 · Parparita · 2012 [cited by examiner]
US 9641591B1 · Kolam · 2017 [cited by applicant]
US 9811248B1 · Berg · 2017 [cited by examiner]
US 9824151B2 · Freund · 2017 [cited by applicant]
US 10296571B2 · Kosonen · 2019 [cited by applicant]
US 10366140B2 · Butt · 2019 [cited by applicant]
US 10521106B2 · Cao · 2019 [cited by applicant]
US 10572894B1 · Traupman · 2020 [cited by applicant]
US 10628630B1 · Surace · 2020 [cited by examiner]
US 11748243B2 · Finkelstein · 2023 [cited by examiner]
US 12010076B1 · Andrew · 2024 [cited by applicant]
US 12014192B2 · Riva · 2024 [cited by examiner]
US 12067362B2 · Tunstall-Pedoe · 2024 [cited by applicant]
US 12073180B2 · Tunstall-Pedoe · 2024 [cited by applicant]
US 20060020481A1 · Lee · 2006 [cited by applicant]
US 20060020515A1 · Lee · 2006 [cited by applicant]
US 20070234217A1 · Miller · 2007 [cited by applicant]
US 20090083363A1 · Kiciman · 2009 [cited by applicant]
US 20090083409A1 · Kiciman · 2009 [cited by applicant]
US 20090083714A1 · Kiciman · 2009 [cited by applicant]
US 20090100345A1 · Miller · 2009 [cited by examiner]
US 20090327235A1 · Coladonato · 2009 [cited by examiner]
US 20110015954A1 · Ward · 2011 [cited by applicant]
US 20120192155A1 · Silbey · 2012 [cited by applicant]
US 20150154158A1 · Zeine · 2015 [cited by applicant]
US 20160042411A1 · Avner · 2016 [cited by examiner]
US 20170091158A1 · Zeine · 2017 [cited by examiner]
US 20170257393A1 · De Barros · 2017 [cited by examiner]
US 20180184178A1 · Hoeben · 2018 [cited by examiner]
US 20190260750A1 · Mehrdad · 2019 [cited by applicant]
US 20190279084A1 · Darachi, Jr. · 2019 [cited by examiner]
US 20190340224A1 · Akhoury · 2019 [cited by applicant]
US 20200004798A1 · Weinert, Jr. · 2020 [cited by examiner]
US 20200089597A1 · Kastyshyn · 2020 [cited by examiner]
US 20200249963A1 · Yeh · 2020 [cited by examiner]
US 20200349215A1 · McMurray · 2020 [cited by examiner]
US 20210256076A1 · McMurray · 2021 [cited by applicant]
US 20210304064A1 · Mudi · 2021 [cited by examiner]
US 20210392144A1 · Vaidyanath · 2021 [cited by examiner]
US 20230095006A1 · Riva · 2023 [cited by examiner]
US 20230195825A1 · Rajagopal · 2023 [cited by applicant]
US 20230274094A1 · Tunstall-Pedoe · 2023 [cited by applicant]
US 20230393810A1 · Lange · 2023 [cited by examiner]
US 20240289360A1 · Chepkwony · 2024 [cited by applicant]
US 20240303441A1 · Sobhy Deraz · 2024 [cited by applicant]
CN 103268337 · 2013 [cited by applicant]
CN 106709062 · 2017 [cited by applicant]
CN 108009183 · 2018 [cited by applicant]
CN 108769832 · 2018 [cited by applicant]
CN 111367414 · 2020 [cited by applicant]
CN 112540736 · 2021 [cited by applicant]
CN 114647806 · 2022 [cited by applicant]
CN 114780893 · 2022 [cited by applicant]
CN 115017397 · 2022 [cited by applicant]
EP 3767567 · 2021 [cited by applicant]