IP Library › Granted Patent US 12,314,788
Granted Patent B2
US 12,314,788 · App. 18/381,864 · Granted May 27, 2025

Application programming interface fingerprint data generation at a mobile device executing a native mobile application

Inventors: Charles Eric Smith (Dripping Springs, TX); Sergio Gustavo Ayestaran (Buenos Aires, AR)
Assignee: AppBrilliance, Inc.
G06F9/547G06F9/54G06F16/9577G06F40/221G06Q20/1085G06Q20/322G06Q20/401G06Q40/02H04L67/02H04L67/04H04L67/10H04L67/125H04L67/141H04L67/53H04L67/566G06F40/106
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,314,788
App. No.
18/381,864
Granted
May 27, 2025
Kind
B2
Abstract

Systems, methods, and computer-readable storage devices that enable secured data access from a mobile device executing a native mobile application and a headless browser. One aspect of the technology includes interactions between one or more APIs, a secure connection, a headless browser, that utilize one or more of website data, fingerprint data file locations and additional web page data.

Claims (50)

1. A method of operating a mobile device comprising:

receiving, at a mobile device executing a native application, a user input identifying a name associated with a website hosted by a remote server;

sending, from the mobile device to a directory server, a request for application programming interface (API) fingerprint data associated with the name;

receiving, from the directory server, API fingerprint data associated with the name;

initiating a secured connection from a headless browser of the native application on the mobile device to the remote server;

receiving first web page data of the website from the remote server via the secured connection;

parsing the first web page data based on the API fingerprint data associated with the name;

detecting an error condition associated with accessing the first website based on the received API fingerprint data;

parsing the first web page data to identify one or more elements of the website;

generating first API fingerprint data indicating a mapping between the one or more elements of the website and the native application;

sending the first API fingerprint data to the directory server;

receiving a second user input identifying a second name associated with a second website hosted by a second remote server;

sending, to the directory server, a request for API fingerprint data associated with the second name;

receiving, from the directory server, API fingerprint data associated with the second name;

detecting an error condition associated with logging onto the second website based on the API fingerprint data;

sending, to the directory server, a request for additional API fingerprint data associated with the second website;

receiving, from the directory server, second API fingerprint data associated with a different website; and

logging in to the second website via the headless browser based on the second API fingerprint data and access credential data.

2. The method of claim 1 , wherein parsing the first web page data comprises performing one or more of: a screen scraping operation, a Javascript injection operation or other supported language interpreted by a web browser, and a document object model (DOM) inspection operation on the first web page data to identify the one or more elements.

3. The method of claim 1 , further comprising logging in to the second website via the headless browser based on the API fingerprint data and access credential data.

4. The method of claim 1 , further comprising:

detecting an error condition associated with logging into the second website based on the API fingerprint data;

parsing second web page data of the second website to identify locations of one or more elements of the second website;

generating updated API fingerprint data indicating a mapping between one or more elements of the second website and the native application; and

sending the additional API fingerprint data to the directory server.

5. A non-transitory computer-readable information storage media having stored thereon instructions, that when executed by one or more processors, cause to be performed a method for operating a mobile device comprising:

receiving, at a mobile device executing a native application, a user input identifying a name associated with a website hosted by a remote server;

sending, from the mobile device to a directory server, a request for application programming interface (API) fingerprint data associated with the name;

receiving, from the directory server, API fingerprint data associated with the name;

initiating a secured connection from a headless browser of the native application on the mobile device to the remote server;

receiving first web page data of the website from the remote server via the secured connection;

parsing the first web page data based on the API fingerprint data associated with the name;

detecting an error condition associated with accessing the first website based on the received API fingerprint data;

parsing the first web page data to identify one or more elements of the website;

generating first API fingerprint data indicating a mapping between the one or more elements of the website and the native application;

sending the first API fingerprint data to the directory server;

receiving a second user input identifying a second name associated with a second website hosted by a second remote server;

sending, to the directory server, a request for API fingerprint data associated with the second name;

receiving, from the directory server, API fingerprint data associated with the second name;

detecting an error condition associated with logging onto the second website based on the API fingerprint data;

sending, to the directory server, a request for additional API fingerprint data associated with the second website;

receiving, from the directory server, second API fingerprint data associated with a different website; and

logging in to the second website via the headless browser based on the second API fingerprint data and access credential data.

6. The media of claim 5 , wherein parsing the first web page data comprises performing one or more of: a screen scraping operation, a Javascript injection operation or other supported language interpreted by a web browser, and a document object model (DOM) inspection operation on the first web page data to identify the one or more elements.

7. The media of claim 5 , further comprising logging in to the second website via the headless browser based on the API fingerprint data and access credential data.

8. The media of claim 5 , further comprising:

detecting an error condition associated with logging into the second website based on the API fingerprint data;

parsing second web page data of the second website to identify locations of one or more elements of the second website;

generating updated API fingerprint data indicating a mapping between one or more elements of the second website and the native application; and

sending the additional API fingerprint data to the directory server.

Continuity (5)
Continuation 17090426 · Nov 5, 2020
Continuation 15987783 · May 23, 2018
Continuation In Part 15474981 · Mar 30, 2017
Provisional Application 62316373 · Mar 31, 2016
Related Publication 20240045746A1 · Feb 8, 2024
References Cited (71)
US 7885870B2 · Nam et al. · 2011 [cited by applicant]
US 8332272B2 · Fisher · 2012 [cited by applicant]
US 9129340B1 · Medina, III et al. · 2015 [cited by applicant]
US 9177316B2 · Rao · 2015 [cited by applicant]
US 9372688B1 · Ben-Yair et al. · 2016 [cited by applicant]
US 9454410B2 · Meijer et al. · 2016 [cited by applicant]
US 9479519B1 · Hill et al. · 2016 [cited by applicant]
US 9582598B2 · Kalgi · 2017 [cited by applicant]
US 9582600B1 · Killian et al. · 2017 [cited by applicant]
US 10002115B1 · Killian et al. · 2018 [cited by applicant]
US 10009773B2 · Smith et al. · 2018 [cited by applicant]
US 10785651B2 · Smith et al. · 2020 [cited by applicant]
US 10846154B2 · Smith et al. · 2020 [cited by applicant]
US 11683296B2 · Smith et al. · 2023 [cited by applicant]
US 11689927B2 · Smith et al. · 2023 [cited by applicant]
US 11797363B2 · Smith et al. · 2023 [cited by applicant]
US 20020178354A1 · Ogg et al. · 2002 [cited by applicant]
US 20110119601A1 · Knothe et al. · 2011 [cited by applicant]
US 20110252305A1 · Tschani et al. · 2011 [cited by applicant]
US 20120240203A1 · Kling · 2012 [cited by examiner]
US 20130246261A1 · Purves et al. · 2013 [cited by applicant]
US 20130346302A1 · Purves et al. · 2013 [cited by applicant]
US 20140164944A1 · Sivakumar · 2014 [cited by examiner]
US 20140189808A1 · Mahaffey · 2014 [cited by examiner]
US 20140373170A1 · Brudnicki et al. · 2014 [cited by applicant]
US 20140379823A1 · Wilsher et al. · 2014 [cited by applicant]
US 20150019944A1 · Kalgi · 2015 [cited by examiner]
US 20150073959A1 · Connors et al. · 2015 [cited by applicant]
US 20150269128A1 · Hepper et al. · 2015 [cited by applicant]
US 20150271188A1 · Call · 2015 [cited by applicant]
US 20150379554A1 · Copeland · 2015 [cited by applicant]
US 20160094575A1 · Shekyan et al. · 2016 [cited by applicant]
US 20160164953A1 · Hristov · 2016 [cited by examiner]
US 20170070784A1 · Massoudi et al. · 2017 [cited by applicant]
US 20170093828A1 · Lupien · 2017 [cited by examiner]
US 20170093839A1 · Whiteside et al. · 2017 [cited by applicant]
US 20170141953A1 · Vulich et al. · 2017 [cited by applicant]
US 20230269238A1 · Smith et al. · 2023 [cited by applicant]
US 20230276234A1 · Smith et al. · 2023 [cited by applicant]
Office Action for U.S. Appl. No. 15/474,981, mailed Jun. 14, 2017. [cited by applicant]
Office Action for U.S. Appl. No. 15/474,981, mailed Nov. 9, 2017. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 15/474,981, mailed Feb. 27, 2018. [cited by applicant]
Miscellaneous Communication for U.S. Appl. No. 15/474,981, mailed Mar. 14, 2018. [cited by applicant]
Office Action for U.S. Appl. No. 15/981,705, mailed May 31, 2019. [cited by applicant]
Office Action for U.S. Appl. No. 15/981,705, mailed Nov. 21, 2019. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 15/981,705, mailed Jun. 11, 2020. [cited by applicant]
Office Action for U.S. Appl. No. 15/987,783, mailed Feb. 24, 2020. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 15/987,783, mailed Aug. 7, 2020. [cited by applicant]
Office Action for U.S. Appl. No. 17/090,426, mailed Jun. 28, 2022. [cited by applicant]
Office Action for U.S. Appl. No. 17/090,426, mailed May 4, 2023. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/090,426, mailed Jun. 21, 2023. [cited by applicant]
Office Action for U.S. Appl. No. 17/018,388, mailed Apr. 22, 2022. [cited by applicant]
Office Action for U.S. Appl. No. 17/018,388, mailed Jan. 30, 2023. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/018,388, mailed Apr. 3, 2023. [cited by applicant]
Office Action for U.S. Appl. No. 16/984,348, mailed May 27, 2021. [cited by applicant]
Office Action for U.S. Appl. No. 16/984,348, mailed Feb. 2, 2022. [cited by applicant]
Office Action for U.S. Appl. No. 16/984,348, mailed May 31, 2022. [cited by applicant]
Office Action for U.S. Appl. No. 16/984,348, mailed Jan. 12, 2023. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 16/984,348, mailed Mar. 31, 2023. [cited by applicant]
U.S. Appl. No. 15/474,981, filed Mar. 30, 2017 U.S. Pat. No. 10,009,773. [cited by applicant]
U.S. Appl. No. 15/981,705, filed May 16, 2018 U.S. Pat. No. 10,785,651. [cited by applicant]
U.S. Appl. No. 17/018,388, filed Sep. 11, 2020 U.S. Pat. No. 11,689,927. [cited by applicant]
U.S. Appl. No. 18/195,470, filed May 10. 2023. [cited by applicant]
U.S. Appl. No. 15/987,783, filed May 23, 2018 U.S. Pat. No. 10,846,154. [cited by applicant]
U.S. Appl. No. 17/090,426, filed Nov. 5, 2020 U.S. Pat. No. 11,797,636. [cited by applicant]
U.S. Appl. No. 16/984,348, filed Aug. 4, 2020 U.S. Pat. No. 11,683,296. [cited by applicant]
U.S. Appl. No. 18/142,259, filed May 2, 2023. [cited by applicant]
U.S. Appl. No. 18/829,673, filed Sep. 10, 2024, Smith et al. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 18/195,470, mailed Jun. 10, 2024. [cited by applicant]
Office Action for U.S. Appl. No. 18/195,470, mailed Feb. 28, 2024. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 18/142,259, mailed Feb. 16, 2024. [cited by applicant]