# US 2018/0322216 A1 · Systems and Methods for Communication Across Multiple Browser Pages for an Application

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0322216 A1
- Document ID: US20180322216A1
- Status: Published application
- Kind: A1
- Application number: 16/000,676
- Filed: 2018-06-05
- Published: 2018-11-08
- Earliest claimed: 2011-05-10
- Assignees: Open Text Corporation
- Applicants: Open Text Corporation
- Inventors: Samir Yasin Vaidya; Swati Bhatia
- Web page: https://patentgrep.com/patent/US20180322216A1

## CPC

- G06F 16/9577: {Optimising the visualization of content, e.g. distillation of HTML documents}
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/0483: Interaction with page-structured environments, e.g. book metaphor
- G06F 8/34: Graphical or visual programming
- G06F 8/38: for implementing user interfaces
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 9/451: Execution arrangements for user interfaces
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system for composing browser-based applications is enhanced with cross-tab communication capability. At design time, responsive to a configuration instruction from a user, the system configures a user interface (UI) event for a browser-based application such that the UI event is publishable across all open browser tabs at application runtime. Responsive to a publication instruction from the user, the system configures a first application page to generate the UI event at application runtime in response to a trigger and to publish the UI event to browser local storage. Responsive to a subscription instruction from the user, the system configures a second application page to periodically poll the browser local storage for the user interface event at application runtime and, in response to the UI event published by the first application page to the browser local storage, process the UI event and automatically immediately update the second application page.

## Claims

### Claim 1

A system, comprising:
a processor;
a non-transitory computer-readable medium; and
stored instructions translatable by the processor to perform:
providing an application designer tool for composing browser-based applications, the application designer tool having a plurality of components including a user interface composition function;
responsive to a cross-tab communication instruction from a user through the user interface composition function, configuring a user interface event for a browser-based application such that the user interface event is publishable across all open browser tabs at runtime of the browser-based application;
responsive to a publication instruction from the user through the user interface composition function, configuring a first application page of the browser-based application to generate the user interface event at runtime of the browser-based application in response to a trigger and to publish the user interface event to a browser local storage; and
responsive to a subscription instruction from the user through the user interface composition function, configuring a second application page of the browser-based application to periodically poll the browser local storage for the user interface event at runtime of the browser-based application and, in response to the user interface event published by the first application page to the browser local storage at runtime of the browser-based application, process the user interface event and update the second application page.

### Claim 2 (depends on 1)

The system of claim 1, wherein the stored instructions are further translatable by the processor to perform:
configuring the first application page of the browser-based application to publish the user interface event to the browser local storage by creating a data structure containing event data for the user interface event and storing the data structure in the browser local storage.

### Claim 3 (depends on 2)

The system of claim 2, wherein the data structure includes an event name and a payload for the user interface event.

### Claim 4 (depends on 1)

The system of claim 1, wherein the stored instructions are further translatable by the processor to perform:
responsive to subscription instructions from the user to configure a plurality of application pages of the browser-based application to subscribe to the user interface event, configuring the plurality of application pages to each periodically poll the browser local storage for the user interface event at runtime of the browser-based application and, in response to the user interface event published by the first application page to the browser local storage at runtime of the browser-based application, to each process the user interface event and update the each application page.

### Claim 5 (depends on 4)

The system of claim 4, wherein the stored instructions are further translatable by the processor to perform:
configuring the plurality of application pages to, in response to the user interface event published by the first application page to the browser local storage at runtime of the browser-based application, each append a tab identifier to a data structure for the user interface event in the browser local storage.

### Claim 6 (depends on 4)

The system of claim 4, wherein the stored instructions are further translatable by the processor to perform:
configuring the plurality of application pages to each check a master list in the browser local storage, determine whether the each application page is last to process the user interface event, and, responsive to a determination of being last to process the user interface event, removing the user interface event from the browser local storage.

### Claim 7 (depends on 1)

The system of claim 1, wherein the user interface composition function of the application designer tool includes a cross-tab communication mechanism and wherein the cross-tab communication instruction is received from the user by the user selecting the cross-tab communication mechanism in configuring the user interface event for the browser-based application at design time.

### Claim 8

A method, comprising:
providing, by a computer, an application designer tool for composing browser-based applications, the application designer tool having a plurality of components including a user interface composition function;
responsive to a cross-tab communication instruction from a user through the user interface composition function, configuring, by the computer, a user interface event for a browser-based application such that the user interface event is publishable across all open browser tabs at runtime of the browser-based application;
responsive to a publication instruction from the user through the user interface composition function, configuring, by the computer, a first application page of the browser-based application to generate the user interface event at runtime of the browser-based application in response to a trigger and to publish the user interface event to a browser local storage; and
responsive to a subscription instruction from the user through the user interface composition function, configuring, by the computer, a second application page of the browser-based application to periodically poll the browser local storage for the user interface event at runtime of the browser-based application and, in response to the user interface event published by the first application page to the browser local storage at runtime of the browser-based application, process the user interface event and update the second application page.

### Claim 9 (depends on 8)

The method according to claim 8, further comprising:
configuring, by the computer, the first application page of the browser-based application to publish the user interface event to the browser local storage by creating a data structure containing event data for the user interface event and storing the data structure in the browser local storage.

### Claim 10 (depends on 9)

The method according to claim 9, wherein the data structure includes an event name and a payload for the user interface event.

### Claim 11 (depends on 8)

The method according to claim 8, further comprising:
responsive to subscription instructions from the user to configure a plurality of application pages of the browser-based application to subscribe to the user interface event, configuring, by the computer, the plurality of application pages to each periodically poll the browser local storage for the user interface event at runtime of the browser-based application and, in response to the user interface event published by the first application page to the browser local storage at runtime of the browser-based application, to each process the user interface event and update the each application page.

### Claim 12 (depends on 8)

The method according to claim 8, further comprising:
configuring, by the computer, the plurality of application pages to, in response to the user interface event published by the first application page to the browser local storage at runtime of the browser-based application, each append a tab identifier to a data structure for the user interface event in the browser local storage.

### Claim 13 (depends on 12)

The method according to claim 12, further comprising:
configuring, by the computer, the plurality of application pages to each check a master list in the browser local storage, determine whether the each application page is last to process the user interface event, and, responsive to a determination of being last to process the user interface event, removing the user interface event from the browser local storage.

### Claim 14 (depends on 8)

The method according to claim 8, wherein the user interface composition function of the application designer tool includes a cross-tab communication mechanism and wherein the cross-tab communication instruction is received from the user by the user selecting the cross-tab communication mechanism in configuring the user interface event for the browser-based application at design time.

### Claim 15

A computer program product comprising a non-transitory computer-readable medium storing instructions translatable by a processor to perform:
providing an application designer tool for composing browser-based applications, the application designer tool having a plurality of components including a user interface composition function;
responsive to a cross-tab communication instruction from a user through the user interface composition function, configuring a user interface event for a browser-based application such that the user interface event is publishable across all open browser tabs at runtime of the browser-based application;
responsive to a publication instruction from the user through the user interface composition function, configuring a first application page of the browser-based application to generate the user interface event at runtime of the browser-based application in response to a trigger and to publish the user interface event to a browser local storage; and
responsive to a subscription instruction from the user through the user interface composition function, configuring a second application page of the browser-based application to periodically poll the browser local storage for the user interface event at runtime of the browser-based application and, in response to the user interface event published by the first application page to the browser local storage at runtime of the browser-based application, process the user interface event and update the second application page.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the instructions are further translatable by the processor to perform:
configuring the first application page of the browser-based application to publish the user interface event to the browser local storage by creating a data structure containing event data for the user interface event and storing the data structure in the browser local storage.

### Claim 17 (depends on 16)

The computer program product of claim 16, wherein the data structure includes an event name and a payload for the user interface event.

### Claim 18 (depends on 15)

The computer program product of claim 15, wherein the instructions are further translatable by the processor to perform:
responsive to subscription instructions from the user to configure a plurality of application pages of the browser-based application to subscribe to the user interface event, configuring the plurality of application pages to each periodically poll the browser local storage for the user interface event at runtime of the browser-based application and, in response to the user interface event published by the first application page to the browser local storage at runtime of the browser-based application, to each process the user interface event and update the each application page.

### Claim 19 (depends on 16)

The computer program product of claim 16, wherein the instructions are further translatable by the processor to perform:
configuring the plurality of application pages to, in response to the user interface event published by the first application page to the browser local storage at runtime of the browser-based application, each append a tab identifier to a data structure for the user interface event in the browser local storage.

### Claim 20 (depends on 19)

The computer program product of claim 19, wherein the instructions are further translatable by the processor to perform:
configuring the plurality of application pages to each check a master list in the browser local storage, determine whether the each application page is last to process the user interface event, and, responsive to a determination of being last to process the user interface event, removing the user interface event from the browser local storage.
