IP Library Granted Patent US 12,475,303
Granted Patent B2
US 12,475,303 · App. 18/595,262 · Granted Nov 18, 2025

Secure communication in mobile digital pages

Inventors: Jay Akkad (Palo Alto, CA); Nikhil Rao (Santa Clara, CA); Anshul Gupta (San Francisco, CA); David Wang (San Carlos, CA); Ian Baker (San Francisco, CA); Neil Dhillon (Mountain View, CA)
Assignee: GOOGLE LLC
G06F40/154G06F9/54G06F9/541G06F16/1865G06F16/22G06F16/957G06F16/958G06F21/6209G06F21/6218G06F21/64G06F40/226H04L63/0281H04L67/02H04W12/03H04W12/08H04W12/35H04L67/568
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,475,303
App. No.
18/595,262
Granted
Nov 18, 2025
Kind
B2
Abstract

Secure communication in mobile digital pages is provided. The system receives an electronic document and validates the electronic document for storage in a cache server. The system receives a request for the electronic document and provides it to a viewer component on a client computing device. The viewer component loads the electronic document in an iframe. The viewer component executes a runtime component to receive, via a secure communication channel, a tag from the electronic document. The system receives the tag and selects a data value for transmission to the viewer component. The viewer components provides the data value to cause the runtime component to execute an action with the data value.

Claims (60)

1 . A method implemented by one or more processors, the method comprising:

transmitting, by a client computing device, to a data processing system, a request to access an electronic document;

receiving, by the client computing device, from the data processing system, the electronic document;

loading, by the client computing device, content of the electronic document;

identifying, by the client computing device, contextual information in the electronic document;

transmitting, by the client computing device, the contextual information to the data processing system;

receiving, by the client computing device, from the data processing system, candidate data values identified based on the contextual information;

providing, by the client computing device, to a user, an indication of the candidate data values;

receiving, by the client computing device, input indicating that the candidate data values are rejected for input into the electronic document;

in response to receiving the input indicating that the candidate data values are rejected for input into the electronic document, transmitting, by the client computing device, to the data processing system, an indication that the candidate data values are rejected for input into the electronic document;

receiving, by the client computing device, from the data processing system, additional candidate data values identified based on the contextual information; and

providing, by the client computing device, to the user, an indication of the additional candidate data values.

2 . The method according to claim 1 , further comprising:

receiving, by the client computing device, input indicating that the additional candidate data values are approved for input into the electronic document; and

in response to receiving the input indicating that the additional candidate data values are approved for input into the electronic document, transmitting, by the client computing device, the additional candidate data values to a third party developer device to execute an action.

3 . The method according to claim 1 , wherein the client computing device blocks access to the additional candidate data values by the electronic document prior to receiving the input indicating that the additional candidate data values are approved for input into the electronic document.

4 . The method according to claim 1 , wherein identifying the contextual information in the electronic document comprises parsing the electronic document to identify tags in the electronic document coded using a markup language.

5 . The method according to claim 1 , wherein the candidate data values and the additional candidate values are identified based on accessing one or more data sources linked to the client computing device.

6 . The method according to claim 1 , wherein providing the indication of the additional candidate data values comprises generating a prompt with the additional candidate data values, the prompt being provided as an overlay over the electronic document.

7 . The method according to claim 6 , wherein the input indicating that the additional candidate data values are approved for input into the electronic document comprises a selection of the additional candidate data values in the prompt.

8 . The method according to claim 1 , wherein providing the indication of the additional candidate data values comprises generating an audio prompt with the additional candidate data values.

9 . The method according to claim 8 , wherein the input indicating that the additional candidate data values are approved for input into the electronic document comprises voice input.

10 . The method according to claim 1 , wherein:

receiving, by the client computing device, from the data processing system, the electronic document comprises receiving the electronic document from a cache of the data processing system; and

the cache of the data processing system is a proxy server for a server of the third party developer device.

11 . The method according to claim 2 , wherein the action comprises an electronic transaction using the additional candidate data values.

12 . A computer program product comprising one or more non-transitory computer-readable storage media having program instructions collectively stored on the one or more non-transitory computer-readable storage media, the program instructions executable to:

transmit, by a client computing device, to a data processing system, a request to access an electronic document;

receive, by the client computing device, from the data processing system, the electronic document;

load, by the client computing device, content of the electronic document;

identify, by the client computing device, contextual information in the electronic document;

transmit, by the client computing device, the contextual information to the data processing system;

receive, by the client computing device, from the data processing system, candidate data values identified based on the contextual information;

provide, by the client computing device, to a user, an indication of the candidate data values;

receive, by the client computing device, input indicating that the candidate data values are rejected for input into the electronic document;

in response to receiving the input indicating that the candidate data values are rejected for input into the electronic document, transmit, by the client computing device, to the data processing system, an indication that the candidate data values are rejected for input into the electronic document;

receive, by the client computing device, from the data processing system, additional candidate data values identified based on the contextual information; and

provide, by the client computing device, to the user, an indication of the additional candidate data values.

13 . The computer program product according to claim 12 , wherein the program instructions are further executable to:

receive, by the client computing device, input indicating that the additional candidate data values are approved for input into the electronic document; and

in response to receiving the input indicating that the additional candidate data values are approved for input into the electronic document, transmit, by the client computing device, the additional candidate data values to a third party developer device to execute an action.

14 . The computer program product according to claim 12 , wherein the client computing device blocks access to the additional candidate data values by the electronic document prior to receiving the input indicating that the additional candidate data values are approved for input into the electronic document.

15 . The computer program product according to claim 12 , wherein identifying the contextual information in the electronic document comprises parsing the electronic document to identify tags in the electronic document coded using a markup language.

16 . The computer program product according to claim 12 , wherein the candidate data values and the additional candidate values are identified based on accessing one or more data sources linked to the client computing device.

17 . The computer program product according to claim 12 , wherein providing the indication of the additional candidate data values comprises generating a prompt with the additional candidate data values, the prompt being provided as an overlay over the electronic document.

18 . The computer program product according to claim 17 , wherein the input indicating that the additional candidate data values are approved for input into the electronic document comprises a selection of the additional candidate data values in the prompt.

19 . The computer program product according to claim 12 , wherein providing the indication of the additional candidate data values comprises generating an audio prompt with the additional candidate data values.

20 . A system comprising:

a processor, a computer-readable memory, one or more computer-readable storage media, and program instructions collectively stored on the one or more computer-readable storage media, the program instructions executable to:

transmit, by a client computing device, to a data processing system, a request to access an electronic document;

receive, by the client computing device, from the data processing system, the electronic document;

load, by the client computing device, content of the electronic document;

identify, by the client computing device, contextual information in the electronic document;

transmit, by the client computing device, the contextual information to the data processing system;

receive, by the client computing device, from the data processing system, candidate data values identified based on the contextual information;

provide, by the client computing device, to a user, an indication of the candidate data values;

receive, by the client computing device, input indicating that the candidate data values are rejected for input into the electronic document;

in response to receiving the input indicating that the candidate data values are rejected for input into the electronic document, transmit, by the client computing device, to the data processing system, an indication that the candidate data values are rejected for input into the electronic document;

receive, by the client computing device, from the data processing system, additional candidate data values identified based on the contextual information; and

provide, by the client computing device, to the user, an indication of the additional candidate data values.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2024
From: AKKAD, JAY; RAO, NIKHIL; GUPTA, ANSHUL; WANG, DAVID; BAKER, IAN; DHILLON, NEIL
To: GOOGLE LLC
Reel/Frame 067284/0778 →
Continuity (4)
Continuation 17962991 · Oct 10, 2022
Continuation 16552749 · Aug 27, 2019
Continuation 16466203
Related Publication 20240205682A1 · Jun 20, 2024
References Cited (39)
US 6400806B1 · Uppaluru · 2002 [cited by applicant]
US 7509573B1 · Jones et al. · 2009 [cited by applicant]
US 7930756B1 · Crocker et al. · 2011 [cited by applicant]
US 7941745B2 · Marukawa · 2011 [cited by applicant]
US 8904008B2 · Marshall et al. · 2014 [cited by applicant]
US 9372858B1 · Vagell · 2016 [cited by examiner]
US 9459759B2 · Son · 2016 [cited by applicant]
US 11166155B2 · Akkad et al. · 2021 [cited by applicant]
US 11470478B2 · Akkad et al. · 2022 [cited by applicant]
US 20030097591A1 · Pham et al. · 2003 [cited by applicant]
US 20070027947A1 · Yokoyama · 2007 [cited by examiner]
US 20070061721A1 · Bustelo et al. · 2007 [cited by applicant]
US 20080133572A1 · Verhey-Henke · 2008 [cited by applicant]
US 20080235766A1 · Wallos et al. · 2008 [cited by applicant]
US 20080288476A1 · Kim · 2008 [cited by applicant]
US 20080320600A1 · Pandiscia et al. · 2008 [cited by applicant]
US 20100179875A1 · Naito · 2010 [cited by examiner]
US 20120030187A1 · Marano et al. · 2012 [cited by applicant]
US 20140298353A1 · Hsu et al. · 2014 [cited by applicant]
US 20150278196A1 · Dua · 2015 [cited by examiner]
US 20170308512A1 · Tang · 2017 [cited by applicant]
US 20170357627A1 · Peterson et al. · 2017 [cited by applicant]
US 20180004724A1 · Ramesan · 2018 [cited by examiner]
US 20180173684A1 · Davies · 2018 [cited by applicant]
US 20180181264A1 · Jhawar et al. · 2018 [cited by applicant]
US 20180232394A1 · Danziger et al. · 2018 [cited by applicant]
US 20200359210A1 · Akkad et al. · 2020 [cited by applicant]
US 20230036983A1 · Akkad et al. · 2023 [cited by applicant]
WO WO2010124302A2 · 2010 [cited by examiner]
Intellectual Property India; Hearing Notice issued in Application No. IN202127038107; 2 pages; dated Dec. 20, 2023. [cited by applicant]
European Patent Office; Intention to Grant issued in Application No. 22174659.7, 69 pages, dated Jun. 14, 2023. [cited by applicant]
European Patent Office; Extended European Search Report issued in Application No. 22174659.7, 9 pages, dated Aug. 29, 2022. [cited by applicant]
Araujo, S. et al; “Carbon: Domain-Independent Automatic Web Form Filling”; ICWE 2010; Lecture Notes in Computer Science; pp. 292-306; Jul. 2010; 15 pages Jul. 2010. [cited by applicant]
Fillr: The World's Most Accurate Autofill for Mobile Browsers; Autofill for the Mobile Web; retrieved from: https://web.archive.org/web/20180705142038if_/https://static1.squarespace.com/static/54cb10c3e4b0a44a770927e8/t… [cited by applicant]
Rassinoux, Anne-Marie et al.; XML as standard for communicating in a document-based electronic patient record: a 3 years experiment; International Journal of Medical Informatics 70.2-3: 109-115; dated 2003. [cited by applicant]
European Patent Office, Intention to Grant issued in Application No. 19725812.2, 7 pages, dated Jan. 10, 2022. [cited by applicant]
Intellectual Property India; Examination Report issued in Application No. IN202127038107; 5 pages; dated Mar. 8, 2022. [cited by applicant]
European Patent Office; Intemational Search Report issued in Application No. PCT/US2019/030811; 4 pages; dated Jan. 14, 2020. [cited by applicant]
China National Intellectual Property Administration; Notice of Grant issued in Application No. 201980002140.3; 6 pages; dated May 23, 2024. [cited by applicant]