IP Library › Granted Patent US 12,287,839
Granted Patent B1
US 12,287,839 · App. 18/918,566 · Granted Apr 29, 2025

Techniques for supporting communication between different browsing contexts

Inventors: Chuck Doerr (New York, NY); David Daniel Coxon (Glasgow, GB)
Assignee: Here Enterprise Inc.
G06F16/954H04L67/02
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,287,839
App. No.
18/918,566
Granted
Apr 29, 2025
Kind
B1
Abstract

A first message from a first browsing context may be identified. The first message may include a connection identifier. A second message from a second browsing context may be identified. The second message may include the connection identifier. A processing device may transfer a first port of a message channel to the first browsing context and a second port of the message channel to the second browsing context based on the first message including the connection identifier and the second message including the connection identifier.

Claims (37)

1. A method, comprising:

identifying a first message from a first browsing context, the first message including a connection identifier;

identifying a second message from a second browsing context, the second message including the connection identifier; and

establishing a message channel for direct communication between the first and second browsing contexts by transferring, by a processing device, a first port of the message channel to the first browsing context and a second port of the message channel to the second browsing context based on the first message including the connection identifier and the second message including the connection identifier.

2. The method of claim 1 , further comprising registering the connection identifier in association with the first browsing context in response to receiving the first message.

3. The method of claim 2 , wherein the first port of the message channel is transferred to the first browsing context and the second port of the message channel is transferred to the second browsing context in response to determining the connection identifier received in the second message is registered in association with the first browsing context.

4. The method of claim 2 , further comprising creating the message channel having the first port and the second port in response to determining the connection identifier received in the second message is registered in association with the first browsing context.

5. The method of claim 1 , further comprising:

providing an origin of the second browsing context to the first browsing context in conjunction with transferring the first port of the message channel to the first browsing context; and

providing an origin of the first browsing context to the second browsing context in conjunction with transferring the second port of the message channel to the second browsing context.

6. The method of claim 5 , wherein the first message is received at an application programming interface (API) via a first inline frame and the second message is received at the API via a second inline frame.

7. The method of claim 6 , wherein the API comprises a shared worker.

8. The method of claim 6 , further comprising:

determining the origin of the first browsing context based on a referrer property of the first inline frame; and

determining the origin of the second browsing context based on a referrer property of the second inline frame.

9. The method of claim 1 , wherein the first port is transferred to the first browsing context in association with a callback operation or the second port is transferred to the second browsing context in association with a promise resolution operation.

10. The method of claim 1 , wherein the first message is received at a shared worker via a first inline frame and the second message is received at the shared worker via a second inline frame.

11. A system comprising:

a memory; and

a processing device, operatively coupled to the memory, to:

identify a first message from a first browsing context, the first message including a connection identifier;

identify a second message from a second browsing context, the second message including the connection identifier; and

transfer a first port of a message channel to the first browsing context and a second port of the message channel to the second browsing context based on the first message including the connection identifier and the second message including the connection identifier to establish the message channel for direct communication between the first and second browsing contexts.

12. The system of claim 11 , wherein the processing device is further to register the connection identifier in association with the first browsing context in response to receiving the first message.

13. The system of claim 12 , wherein the first port of the message channel is transferred to the first browsing context and the second port of the message channel is transferred to the second browsing context in response to determining the connection identifier received in the second message is registered in association with the first browsing context.

14. The system of claim 12 , wherein the processing device is further to create the message channel having the first port and the second port in response to determining the connection identifier received in the second message is registered in association with the first browsing context.

15. The system of claim 11 , wherein the processing device is further to:

provide an origin of the second browsing context to the first browsing context in conjunction with transferring the first port of the message channel to the first browsing context; and

provide an origin of the first browsing context to the second browsing context in conjunction with transferring the second port of the message channel to the second browsing context.

16. The system of claim 11 , wherein the first message is received at a shared worker via a first inline frame and the second message is received at the shared worker via a second inline frame.

17. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

identify a first message from a first browsing context, the first message including a connection identifier;

identify a second message from a second browsing context, the second message including the connection identifier; and

transfer, by the processing device, a first port of a message channel to the first browsing context and a second port of the message channel to the second browsing context based on the first message including the connection identifier and the second message including the connection identifier to establish the message channel for direct communication between the first and second browsing contexts.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the processing device is further to register the connection identifier in association with the first browsing context in response to receiving the first message.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the first port of the message channel is transferred to the first browsing context and the second port of the message channel is transferred to the second browsing context in response to determining the connection identifier received in the second message is registered in association with the first browsing context.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the first message is received at a shared worker via a first inline frame and the second message is received at the shared worker via a second inline frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2024
From: DOERR, CHUCK; COXON, DAVID DANIEL
To: HERE ENTERPRISE INC.
Reel/Frame 069260/0517 →
References Cited (15)
US 9383958B1 · Trahan · 2016 [cited by examiner]
US 10715563B1 · Sutherland · 2020 [cited by examiner]
US 10884834B2 · Nguyen · 2021 [cited by examiner]
US 11909806B2 · Pathak · 2024 [cited by examiner]
US 20050149616A1 · Chapman · 2005 [cited by examiner]
US 20120221631A1 · Chapman · 2012 [cited by examiner]
US 20130166524A1 · Giraud · 2013 [cited by examiner]
US 20130238695A1 · Giraud · 2013 [cited by examiner]
US 20150143223A1 · Kolam · 2015 [cited by examiner]
US 20150363046A1 · Peterson · 2015 [cited by examiner]
US 20200097346A1 · Nguyen · 2020 [cited by examiner]
US 20210182123A1 · Pearce · 2021 [cited by examiner]
US 20220263917A1 · Simons · 2022 [cited by examiner]
US 20240160569A1 · Esun · 2024 [cited by examiner]
US 20240160685A1 · Esun · 2024 [cited by examiner]