IP Library › Granted Patent US 12,265,464
Granted Patent B2
US 12,265,464 · App. 18/225,897 · Granted Apr 1, 2025

Framework for providing binary release isolation for parts of a web application

Inventors: Michael Leibman (Seattle, WA); Yossi Kahlon (Montclair, NJ); Jakub Onufry Wojtaszczyk (Warsaw, PL); Jennifer Bourey (Seattle, WA)
Assignee: Google LLC
G06F11/3664G06F8/658G06F8/71G06F11/3604
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,265,464
App. No.
18/225,897
Granted
Apr 1, 2025
Kind
B2
Abstract

The technology relates to executing a multi-portion web application. A web browser executing on one or more computing devices may load a main portion of a web application into a main window. The web browser may load into a sandboxed environment a feature application. The feature application may include a portion of the web application. A release isolation framework (RIF) executing on the one or more computing devices, may apply one or more patches to the sandboxed environment. The one or more patches may be configured to redirect elements from a window of the sandboxed environment to the main window.

Claims (50)

1. A computer-implemented method comprising:

applying, by a release isolation framework (RIF) executing on one or more computing devices, one or more patches to a sandboxed environment executing within a web browser, the one or more patches configured to redirect elements from a window of the sandboxed environment to a main window of the web browser, wherein the main window and the window of the sandboxed environment are within the same interface of the web browser; and

redirecting, by the one or more patches, elements to the main window by inserting the elements into a document object model (DOM) of the main window.

2. The method of claim 1 , wherein the sandboxed environment is a hidden inline frame.

3. The method of claim 1 , wherein a feature application, comprising a portion of a web application, is loaded into the sandboxed environment, and

a main portion of the web application is loaded into the main window.

4. The method of claim 3 , further comprising:

loading into one or more additional sandboxed environments, one or more additional feature applications, the one or more additional feature applications comprising additional portions of the web application; and

applying, by the RIF, the one or more patches to the one or more additional sandboxed environment.

5. The method of claim 4 , further comprising:

applying, by the RIF, one or more additional patches to the main window, wherein the one or more additional patches are configured to assign a sandbox identification (ID) to each element of the one or more additional feature applications input into the DOM of the main window.

6. The method of claim 5 , wherein upon closing the one or more additional feature applications, the elements of the one or more additional feature applications input into the DOM are removed from the DOM, wherein removal includes:

identifying all elements in the DOM assigned sandbox IDs corresponding to the one or more additional feature applications; and

removing the identified elements.

7. The method of claim 1 , further comprising:

assigning a sandbox identification (ID) to the elements, wherein the sandbox ID is associated with the sandboxed environment.

8. The method of claim 7 , further comprising:

applying cascading style sheets (CSS) styles implemented in the sandboxed environment to only elements in the main window having the sandbox ID associated with the sandboxed environment.

9. The method of claim 1 , further comprising:

applying, by the RIF, one or more patches to the main window, the one or more patches configured to track document object model (DOM) elements created by the sandboxed environments.

10. The method of claim 1 , wherein redirecting elements to the main window by the one or more patches includes:

determining whether the elements are directed to the window of the sandboxed environment; and

changing the elements to be directed to the main window in response to determining the elements are directed to the window of the sandboxed environment.

11. A system for comprising:

one or more processors; and

one or more storage devices in communication with the one or more processors, wherein the one or more storage devices contain instructions configured to cause the one or more processors to:

apply, using a release isolation framework (RIF) executing on one or more computing devices, one or more patches to a sandboxed environment executing within a web browser, the one or more patches configured to redirect elements from a window of the sandboxed environment to a main window of the web browser; and

redirect, using the one or more patches, elements to the main window by inserting the elements into a document object model (DOM) of the main window, wherein the main window and the window of the sandboxed environment are within the same interface of the web browser.

12. The system of claim 11 , wherein the sandboxed environment is a hidden inline frame.

13. The system of claim 11 , wherein the instructions are further configured to cause the one or more processors to:

load a feature application comprising a portion of a web application into the sandboxed environment, and

load a main portion of the web application into the main window.

14. The system of claim 13 , wherein the instructions are further configured to cause the one or more processors to:

load into one or more additional sandboxed environments, one or more additional feature applications, the one or more additional feature applications comprising additional portions of the web application; and

apply, using the RIF, the one or more patches to the one or more additional sandboxed environment.

15. The system of claim 14 , wherein the instructions are further configured to cause the one or more processors to:

apply, using the RIF, one or more additional patches to the main window, wherein the one or more additional patches are configured to assign a sandbox identification (ID) to each element of the one or more additional feature applications input into the DOM of the main window.

16. The system of claim 15 , wherein the instructions are further configured to cause the one or more processors to, upon closing the one or more additional feature applications:

remove from the DOM, the elements of the one or more additional feature applications input into the DOM are removed from the DOM, wherein removal includes:

identifying all elements in the DOM assigned sandbox IDs corresponding to the one or more additional feature applications; and

removing the identified elements.

17. The system of claim 11 , wherein the instructions are further configured to cause the one or more processors to:

assign a sandbox identification (ID) to the elements, wherein the sandbox ID is associated with the sandboxed environment.

18. The system of claim 17 , wherein the instructions are further configured to cause the one or more processors to:

Apply cascading style sheets (CSS) styles implemented in the sandboxed environment to only elements in the main window having the sandbox ID associated with the sandboxed environment.

19. The system of claim 11 , wherein the instructions are further configured to cause the one or more processors to:

apply, using the RIF, one or more patches to the main window, the one or more patches configured to track document object model (DOM) elements created by the sandboxed environments.

20. The system of claim 11 , wherein redirecting elements to the main window by the one or more patches includes:

determining whether the elements are directed to the window of the sandboxed environment; and

changing the elements to be directed to the main window in response to determining the elements are directed to the window of the sandboxed environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2023
From: LEIBMAN, MICHAEL; KAHLON, YOSSI; WOJTASZCZYK, JAKUB ONUFRY; BOUREY, JENNIFER
To: GOOGLE LLC
Reel/Frame 064389/0608 →
Continuity (3)
Continuation 17362040 · Jun 29, 2021
Continuation 16682764 · Nov 13, 2019
Related Publication 20230367698A1 · Nov 16, 2023
References Cited (20)
US 7627896B2 · Herrmann · 2009 [cited by examiner]
US 10235681B2 · Chang et al. · 2019 [cited by applicant]
US 10324702B2 · Vishnepolsky · 2019 [cited by examiner]
US 11748235B2 · Leibman · 2023 [cited by examiner]
US 20060143700A1 · Herrmann · 2006 [cited by examiner]
US 20100017702A1 · Carroll et al. · 2010 [cited by applicant]
US 20100281403A1 · Yamakami · 2010 [cited by examiner]
US 20130145361A1 · Kaegi · 2013 [cited by applicant]
US 20130262978A1 · Reshadi · 2013 [cited by examiner]
US 20140289709A1 · Jayaraman et al. · 2014 [cited by applicant]
US 20160077824A1 · Vishnepolsky et al. · 2016 [cited by applicant]
US 20160117297A1 · Ross · 2016 [cited by examiner]
US 20170052879A1 · Chandra · 2017 [cited by examiner]
US 20190258473A1 · Vishnepolsky · 2019 [cited by examiner]
US 20200128020A1 · Abduljaber et al. · 2020 [cited by applicant]
CN 102760139A · 2012 [cited by examiner]
CN 107147645B · 2020 [cited by applicant]
EP 2040162B1 · 2016 [cited by examiner]
Play safely in sandboxed Iframes by Mike West, Jan. 4, 2013, 11 pages.pdf. [cited by applicant]
Micro Frontend architecture and best practices by Xenonstack Oct. 20, 2018, 13 pages.pdf. [cited by applicant]