IP Library Granted Patent US 11,470,478
Granted Patent B2
US 11,470,478 · App. 16/552,749 · Granted Oct 11, 2022

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 (Mountain View, CA); Neil Dhillon (Mountain View, CA)
Assignee: GOOGLE LLC
H04W12/35G06F9/54G06F9/541G06F16/1865G06F16/22G06F16/957G06F16/958G06F21/6209G06F21/6218G06F21/64G06F40/226H04L63/0281H04L67/01H04L67/02H04W12/03H04W12/08H04L67/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 11,470,478
App. No.
16/552,749
Filed
Aug 27, 2019
Granted
Oct 11, 2022
Kind
B2
Art Unit
2435
USPC
726/30
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 (76)

1. A system of secure communication with mobile applications, comprising:

a data processing system comprising at least one processor and memory;

an interface executed by the data processing system to receive a request from a data exchange component executed by a client computing device;

a data value generator component executed by the data processing system to communicate, responsive to the request from the client computing device, with the data exchange component executed by the client computing device;

the data value generator component to determine, based on communication with the data exchange component, a data value corresponding to the request;

the data processing system to generate a command comprising an identifier of an application and a request for information; and

the data processing system to transmit the command to the client computing device and to transmit, to a viewer component executed by the client computing device, the data value to cause the viewer component to provide, via a secure communication channel, the data value to an overlay component to cause the client computing device to execute an action with the data value.

2. The system of claim 1 , comprising the data processing system to:

receive, from the viewer component, an indication of a tag in an electronic document executed by the viewer component; and

determine the data value based on the tag.

3. The system of claim 1 , comprising the data processing system to:

transmit the data value to the viewer component to cause the viewer component to:

generate a prompt comprising the data value;

receive, responsive to the prompt, input from the client computing device; and

provide, via the secure communication channel and responsive to the input, the data value to the overlay component to cause the client computing device to execute the action with the data value.

4. The system of claim 1 , comprising the data processing system to:

receive data packets comprising an input audio signal detected by a microphone of the client computing device;

identify the request based on the data packets;

determine to request additional data to perform the action responsive to the request; and

communicate, responsive to the determination to request the additional data, with the data exchange component executed by the client computing device to obtain the additional data.

5. The system of claim 1 , comprising the data processing system to:

cause invocation of the overlay component on the client computing device, the overlay component to access an application executed by the client computing device to retrieve data from the application;

receive, from the client computing device, information retrieved from the application by the overlay component; and

determine the data value based on the information received from the overlay component.

6. The system of claim 1 , comprising the data processing system to select the application from a plurality of

applications based on the request,

wherein the data processing system transmits the command to the client computing device to cause the client computing device to access the information from the application executed by the client computing device.

7. The system of claim 1 , wherein the data processing system transmits the command to the client computing device to cause the client computing device to determine that the client computing device is locked, and enter a hidden mode to launch the application and access the information without a render of a graphical user interface of the application for display on the client computing device.

8. The system of claim 1 , comprising the data processing system to:

receive, from the viewer component, an indication of a tag;

retrieve, responsive to the tag, the data value from an account associated with the client computing device stored on the data processing system; and

provide, to the viewer component, the data value.

9. The system of claim 1 , wherein the data processing system transmits the command to the client computing device to cause the client computing device to determine that the client computing device is unlocked, and launch the application and access the information and render a graphical user interface of the application for display on the client computing device.

10. The system of claim 1 , wherein the data processing system transmits the command to the client computing device to cause the client computing device to enter a hidden mode to launch the application and access the information without a render of a graphical user interface of the application for display on the client computing device, and with a render of an icon that indicates execution of one or more actions via the hidden mode on the client computing device.

11. The system of claim 1 , wherein the data processing system transmits the command to the client computing device to cause the client computing device to launch the application to access the information, and

further comprising the data processing system to:

receive an indication of an override command from the client computing device, the override command generated responsive to detection by the client computing device of input from a user interface of the client computing device; and

terminate execution of the action responsive to the override command.

12. The system of claim 1 , comprising the data processing system to:

select, responsive to the request, the application from a plurality of applications; and

determine, responsive to the request, a screen within the application from which to obtain information,

wherein the command generated by the data processing system further comprises an identifier of the screen, and the data processing system transmits the command to the client computing device to cause the client computing device to launch the application and access the information from the screen, and

further comprising the data processing system to:

receive the information from the screen of the application; and

process the information to determine the data value.

13. A method of secure communication with mobile applications, comprising:

receiving, by an interface executed by a data processing system, a request from a data exchange component executed by a client computing device;

communicating, by the data processing system, responsive to the request from the client computing device, with the data exchange component executed by the client computing device;

determining, by the data processing system based on communication with the data exchange component, a data value corresponding to the request;

generating, by the data processing system, a command comprising an identifier of an application and a request for information; and

transmitting, by the data processing system, the command to the client computing device and transmitting, by the data processing system to a viewer component executed by the client computing device, the data value to cause the viewer component to provide, via a secure communication channel, the data value to an overlay component to cause the client computing device to execute an action with the data value.

14. The method of claim 13 , comprising:

receiving, from the viewer component, an indication of a tag in an electronic document executed by the viewer component; and

determining the data value based on the tag.

15. The method of claim 13 , comprising:

transmitting, by the data processing system, the data value to the viewer component to cause the viewer component to:

generate a prompt comprising the data value;

receive, responsive to the prompt, input from the client computing device; and

provide, via the secure communication channel and responsive to the input, the data value to the overlay component to cause the client computing device to execute the action with the data value.

16. The method of claim 13 , comprising:

receiving, by the data processing system, data packets comprising an input audio signal detected by a microphone of the client computing device;

identifying, by the data processing system, the request based on the data packets;

determining, by the data processing system, to request additional data to perform the action responsive to the request; and

communicating, by the data processing system responsive to the determination to request the additional data, with the data exchange component executed by the client computing device to obtain the additional data.

17. The method of claim 13 , comprising:

causing invocation of the overlay component on the client computing device, the overlay component to access an application executed by the client computing device to retrieve data from the application;

receiving, by the data processing system, from the client computing device, information retrieved from the application by the overlay component; and

determining, by the data processing system, the data value based on the information received from the overlay component.

18. The method of claim 13 , comprising selecting, by the data processing system, the application from a plurality of

applications based on the request,

wherein the data processing system transmits the command to the client computing device to cause the client computing device to access the information from the application executed by the client computing device.

19. The method of claim 13 , wherein the data processing system transmits the command to the client computing device to cause the client computing device to determine that the client computing device is locked, and enter a hidden mode to launch the application and access the information without a render of a graphical user interface of the application for display on the client computing device.

20. The method of claim 13 , comprising:

receiving, by the data processing system from the viewer component, an indication of a tag;

retrieving, by the data processing system responsive to the tag, the data value from an account associated with the client computing device stored on the data processing system; and

providing, by the data processing system to the viewer component, the data value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2019
From: AKKAD, JAY; RAO, NIKHIL; GUPTA, ANSHUL; WANG, DAVID; BAKER, IAN; DHILLON, NEIL
To: GOOGLE LLC
Reel/Frame 050439/0370 →
Continuity (2)
Continuation In Part 16466203
Related Publication 20200359210A1 · Nov 12, 2020
Cited By (1)
US 12,475,303