IP Library Granted Patent US 11,509,688
Granted Patent B1
US 11,509,688 · App. 16/452,019 · Granted Nov 22, 2022

Virtual ad blocking on a computing device

Inventor: Saurabh Shintre (Sunnyvale, CA)
Assignee: NORTONLIFELOCK INC.
H04L63/1483G06F9/45533G06F9/505G06N20/00
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,509,688
App. No.
16/452,019
Granted
Nov 22, 2022
Kind
B1
Abstract

Virtual ad blocking on a computing device. In some embodiments, a method may include receiving, at the virtual machine, an indication that the computing device is requesting delivery of a web page, downloading, at the virtual machine, the web page, rendering, at the virtual machine, a first version of the web page, identifying, at the virtual machine, a presence of at least one advertisement element on the rendered first version of the web page, removing, at the virtual machine, the presence of the at least one advertisement element on the rendered first version of the web page, rendering, at the virtual machine, a second version of the web page that does not include the presence of the at least one advertisement element, and sending the second version of the web page that does not include the presence of the at least one advertisement element to the computing device.

Claims (62)

1. A computer-implemented method for virtual ad blocking on a computing device, at least a portion of the method being performed by a virtual machine, the method comprising:

receiving, at the virtual machine, an indication that the computing device is requesting delivery of a web page;

downloading, at the virtual machine, the web page;

rendering, at the virtual machine, a first version of the web page, wherein the first version of the web page is rendered by creating a visual representation of the web page;

identifying, at the virtual machine, a presence of at least one advertisement element on the rendered first version of the web page, wherein the at least one advertisement element on the rendered first version of the web page is identified based on a visual analysis of the first version of the web page;

removing, at the virtual machine, the presence of the at least one advertisement element on the rendered first version of the web page;

rendering, at the virtual machine, a second version of the web page that does not include the presence of the at least one advertisement element; and

sending, from the virtual machine, the second version of the web page that does not include the presence of the at least one advertisement element to the computing device.

2. The method of claim 1 , wherein the identifying of the presence of the at least one advertisement element on the web page further comprises:

applying, at the virtual machine, a vision-based machine learning algorithm to the rendered first version of the web page.

3. The method of claim 2 , wherein the applying of the machine learning algorithm further comprises:

determining that the at least one advertisement element satisfies a pre-determined advertisement element pattern.

4. The method of claim 2 , further comprising:

receiving feedback from the computing device regarding identification of the presence of the at least one advertisement element on the rendered first version of the web page; and

adjusting the machine learning algorithm based on receiving the feedback.

5. The method of claim 1 , wherein the virtual machine is an emulation of the computing device executing on the computing device.

6. The method of claim 1 , wherein the virtual machine is an emulation of the computing device executing on a remote server.

7. The method of claim 1 , wherein the rendering of the first version of the web page that does not include the presence of the at least one advertisement element further comprises:

executing the web page on a web isolation platform.

8. The method of claim 1 , further comprising:

identifying a presence of malicious code on the web page, wherein the rendering of the second version of the web page that does not include the presence of the at least one advertisement element further comprises taking a security action based on the identified presence of malicious code.

9. The method of claim 8 , wherein the security action comprises one or more of:

adding a web server associated with the web page to a blacklist, blocking network connectivity to the web server associated with the web page, or sending an alert to the computing device.

10. A computing device for virtual ad blocking; comprising:

a processor;

a memory in electronic communication with the processor; and

instructions stored in the memory, the instructions being executable by the processor on a virtual machine to:

receive, at the virtual machine, an indication that the computing device is requesting delivery of a web page;

download, at the virtual machine, the web page;

render, at the virtual machine, a first version of the web page;

identify, at the virtual machine, a presence of at least one advertisement element on the rendered first version of the web page;

remove, at the virtual machine, the presence of the at least one advertisement element on the rendered first version of the web page;

render, at the virtual machine, a second version of the web page that does not include the presence of the at least one advertisement element;

identify, at the virtual machine, a presence of malicious code on the second version of the web page, wherein the instructions are further executable to take a security action based on the identified presence of malicious code; and

send, from the virtual machine, the second version of the web page that does not include the presence of the at least one advertisement element to the computing device.

11. The computing device of claim 10 , wherein when the processor identifies the presence of the at least one advertisement element on the web page, the instructions are further executable to:

apply, at the virtual machine, a machine learning algorithm to the rendered first version of the web page.

12. The computing device of claim 11 , wherein when the processor applies the machine learning algorithm, the instructions are further executable to:

determine that the at least one advertisement element satisfies a pre-determined advertisement element pattern.

13. The computing device of claim 11 , the instructions further executable to:

receive feedback from the computing device regarding identification of the presence of the at least one advertisement element on the rendered first version of the web page; and

adjust the machine learning algorithm based on receiving the feedback.

14. The computing device of claim 10 , further comprising where the virtual machine is an emulation of the computing device executing on the computing device.

15. The computing device of claim 10 , wherein when the processor renders the first version of the web page that does not include the presence of the at least one advertisement element, the instructions are further executable to:

execute the web page on a web isolation platform.

16. The computing device of claim 10 , wherein when the processor takes the security action, the instructions are further executable to:

add a web server associated with the web page to a blacklist, block network connectivity to the web server associated with the web page, or send an alert to the computing device.

17. One or more non-transitory computer-readable media comprising one or more computer readable instructions that, when executed by one or more processors of a computing device, cause the computing device to perform a method for virtual ad blocking on the computing device, at least a portion of the method being performed by a virtual machine, the method comprising:

receiving, at the virtual machine, an indication that the computing device is requesting delivery of a web page;

downloading, at the virtual machine, the web page;

rendering, at the virtual machine, a first version of the web page, wherein the first version of the web page is rendered by creating a visual representation of the web page;

identifying, at the virtual machine, a presence of at least one advertisement element on the rendered first version of the web page, wherein the at least one advertisement element on the rendered first version of the web page is identified based on a visual analysis of the first version of the web page;

removing, at the virtual machine, the presence of the at least one advertisement element on the rendered first version of the web page;

rendering, at the virtual machine, a second version of the web page that does not include the presence of the at least one advertisement element; and

sending, from the virtual machine, the second version of the web page that does not include the presence of the at least one advertisement element to the computing device.

18. The one or more non-transitory computer-readable media of claim 17 , wherein the identifying of the presence of the at least one advertisement element on the web page further comprises:

applying, at the virtual machine, a vision-based machine learning algorithm to the rendered first version of the web page.

19. The one or more non-transitory computer-readable media of claim 18 , further comprising:

receiving feedback from the computing device regarding identification of the presence of the at least one advertisement element on the rendered first version of the web page; and

adjusting the machine learning algorithm based on receiving the feedback.

20. The one or more non-transitory computer-readable media of claim 17 , further comprising:

identifying a presence of malicious code on the web page, wherein the rendering of the second version of the web page that does not include the presence of the at least one advertisement element further comprises taking a security action based on the identified presence of malicious code.

Assignments (6)
CHANGE OF NAME Recorded May 18, 2023
From: NORTONLIFELOCK INC.
To: GEN DIGITAL INC.
Reel/Frame 063697/0493 →
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Mar 5, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 052109/0186 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2019
From: SHINTRE, SAURABH
To: SYMANTEC CORPORATION
Reel/Frame 049584/0435 →