IP Library › Granted Patent US 12,639,474
Granted Patent B2
US 12,639,474 · App. 17/042,785 · Granted May 26, 2026

Restricted environments for message generation in networked environments

Inventors: Jonathan Krafcik (Mercer Island, WA); Yian Gao (Mountain View, CA); Gang Wang (Jersey Citoy, NJ)
Assignee: Google LLC
G06F21/6263G06F21/6227H04L67/02H04L67/146H04L67/561
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,639,474
App. No.
17/042,785
Granted
May 26, 2026
Kind
B2
Abstract

Systems and methods described herein can provide a restricted environment for the local execution of server provided processor-executable instructions. The restricted environment can be maintained by a web browser to enable sandboxed generation of content requests by the web browser during the rendering of web pages. The restricted environment can enable the web browser to control the generation and transmission of content requests.

Claims (57)

1 . A method to exchange data in a networked system, comprising:

storing, by a web browser executed by a client device, a client device profile comprising a plurality of client device parameters and processor-executable instructions to generate a content request in a restricted environment, within the client device, generated to restrict access, by the client device, to a particular content server;

detecting, within a web page being rendered at the client device, a content slot having executable instructions to create a content request to obtain content from the particular content server;

transmitting, by the web browser and in response to detecting the content slot, a content item parameter to the restricted environment within the client device prior to the client device requesting content from the particular content server;

generating, within the restricted environment and prior to the client device requesting content from the particular content server, a parameter list based on the client device profile and the content item parameter;

transmitting, by the restricted environment, the parameter list to a proxy server instead of the particular content server; and

receiving, by the client device and in response to transmitting the parameter list to the proxy server, a content item from the particular content server to render in the content slot of the web page based on the proxy server determining an aggregate value of at least one parameter in the parameter list satisfies a predetermined threshold.

2 . The method of claim 1 , further comprising generating, by the web browser, a plurality of restricted environments, each of the plurality of restricted environments comprising a respective client device profile and a respective set of processor-executable instructions to generate the content request, wherein each of the plurality of restricted environments are associated with a different content server.

3 . The method of claim 1 , further comprising:

identifying, by the web browser, a content server associated with the content slot of the web page; and

selecting, by the web browser, the restricted environment from a plurality of restricted environments based on an identification of the content server associated with the content slot of the web page.

4 . The method of claim 1 , wherein the content item parameter comprises at least one of an identifier of the content slot, a request identifier, a base resource uniform resource locator (URL), or a URL of the web page.

5 . The method of claim 1 , further comprising:

receiving, by the web browser, a second web page comprising a second set of processor-executable instructions to generate the content request, wherein the second set of processor-executable instructions are provided by the content server; and

updating, by the web browser, the processor-executable instructions stored in the restricted environment based on the second set of processor-executable instructions.

6 . The method of claim 1 , further comprising:

transmitting, by the web browser, a second content item parameter to the restricted environment based on the web browser receiving a second web page;

generating, by the web browser executing the processor-executable instructions stored in the restricted environment, a second parameter list based on the client device profile and the second content item parameter;

transmitting, by the web browser, the second parameter list to the proxy server; and

receiving, by the web browser, a generic content item to render in a content slot of the second web page based on the proxy server determining a second aggregate value of at least one parameter in the second parameter list does not satisfy the predetermined threshold.

7 . The method of claim 1 , further comprising selecting a portion of client device parameters to include in the parameter list to satisfy the predetermined threshold.

8 . The method of claim 1 , wherein the content item is selected based on at least one of the parameters in the parameter list.

9 . The method of claim 1 , wherein parameters of the parameter list are configured based upon a frequency of occurrence of the parameters.

10 . The method of claim 1 , wherein receiving the content item comprises receiving the content item from the proxy server responsive to the proxy server receiving the content item from the content server.

11 . The method of claim 1 , wherein transmitting the parameter list to the proxy server further comprises:

encoding the parameter list as URL parameters;

generating a request URL by concatenating the URL parameters to a base URL included in the content item parameter; and

transmitting the request URL to the proxy server.

12 . A system to exchange data in a networked system, comprising:

one or more computing devices; and

one or more storage devices coupled with the one or more computing devices and storing instructions that, when executed by the one or more computing devices, cause the one or more computing devices to perform operations comprising:

storing, in a restricted environment, a client device profile comprising a plurality of client device parameters and processor-executable instructions to generate a content request in a restricted environment, within a client device, generated to restrict access, by the client device, to a particular content server;

detecting, within a web page being rendered at the client device, a content slot having executable instructions to create a content request to obtain content from the particular content server;

transmitting, by a web browser and in response to detecting the content slot, a content item parameter to the restricted environment within the client device prior to the client device requesting content from the particular content server;

generating, within the restricted environment and prior to the client device requesting content from the particular content server, a parameter list based on the client device profile and the content item parameter;

transmitting the parameter list from the restricted environment to a proxy server instead of the particular content server; and

receiving, in response to transmitting the parameter list to the proxy server, a content item from the particular content server to render in the content slot of the web page based on the proxy server determining an aggregate value of at least one parameter in the parameter list satisfies a predetermined threshold.

13 . The system of claim 12 , wherein the instructions cause the one or more computing devices to perform operations further comprising generating a plurality of restricted environments, each of the plurality of restricted environments comprising a respective client device profile and a respective set of processor-executable instructions to generate the content request, wherein each of the plurality of restricted environments are associated with a different content server.

14 . The system of claim 12 , wherein the instructions cause the one or more computing devices to perform operations further comprising:

identifying a content server associated with the content slot of the web page;

and selecting the restricted environment from a plurality of restricted environments based on an identification of the content server associated with the content slot of the web page.

15 . The system of claim 12 wherein the content item parameter comprises at least one of an identifier of the content slot, a request identifier, a base resource URL, or a URL of the web page.

16 . The system of claim 12 , wherein the instructions cause the one or more computing devices to perform operations further comprising:

receiving a second web page comprising a second set of processor-executable instructions to generate the content request, wherein the second set of processor-executable instructions are provided by the content server; and

updating the processor-executable instructions stored in the restricted environment based on the second set of processor-executable instructions.

17 . The system of claim 12 , wherein the instructions cause the one or more computing devices to perform operations further comprising:

transmitting a second content item parameter to the restricted environment based on the web browser receiving a second web page;

generating, by executing the processor-executable instructions stored in the restricted environment, a second parameter list based on the client device profile and the second content item parameter;

transmitting the second parameter list to the proxy server; and

receiving a generic content item to render in a content slot of the second web page based on the proxy server determining a second aggregate value of at least one parameter in the second parameter list does not satisfy the predetermined threshold.

18 . The system of claim 12 , wherein the instructions cause the one or more computing devices to perform operations further comprising selecting a portion of client device parameters to include in the parameter list to satisfy the predetermined threshold.

19 . The system of claim 12 , wherein the content item is selected based on at least one of the parameters in the parameter list.

20 . The system of claim 12 , wherein parameters of the parameter list are configured based upon a frequency of occurrence of the parameters.

21 . The system of claim 12 , wherein the instructions cause the one or more computing devices to perform operations further comprising receiving the content item from the proxy server responsive to the proxy server receiving the content item from the content server.

22 . The system of claim 12 , wherein the instructions cause the one or more computing device to perform operations further comprising encoding the parameter list as URL parameters;

generating a request URL by concatenating the URL parameters to a base URL included in the content item parameter; and

transmitting the request URL to the proxy server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2021
From: KRAFCIK, JONATHAN MICHAEL; WANG, GANG; GAO, YIAN
To: GOOGLE LLC
Reel/Frame 057010/0112 →
Continuity (1)
Related Publication 20210240854A1 · Aug 5, 2021
References Cited (13)
US 20040205650A1 · Cheng · 2004 [cited by examiner]
US 20150156203A1 · Giura et al. · 2015 [cited by applicant]
US 20170032147A1 · Denner · 2017 [cited by examiner]
US 20170180413A1 · Petry et al. · 2017 [cited by applicant]
US 20180218145A1 · Hussain et al. · 2018 [cited by applicant]
EP 1233333 · 2002 [cited by applicant]
EP 1233333A1 · 2002 [cited by examiner]
International Search Report and Written Opinion for PCT Appln. Ser. No. PCT/US2019/027736 dated Jan. 16, 2020 (15 pages). [cited by applicant]
Office Action in Indian Appln. No. 202027041246, dated Aug. 25, 2022, 6 pages (with English translation). [cited by applicant]
Office Action in Chinese Appln. No. 201980026394.9, dated Jan. 13, 2023, 19 pages (with English translation). [cited by applicant]
Ahmed et al., “QoS-aware device selection using user preferences for tasks in ubiquitous environments.” 2011 7th International Conference on Emerging Technologies. IEEE, Sep. 2011, 6 pages. [cited by applicant]
Jia, “Web log mining technology Applied research” Journal of Chongqing Normal University, Natural Sciences Edition, Issue 04, vol. 23, Dec. 2006, 39-44 (with English abstract). [cited by applicant]
Notice of Allowance in Chinese Appln. No. 201980026394.9, mailed on Jun. 19, 2023, 6 pages (with English translation). [cited by applicant]