# US 2014/0157107 A1 · Conditional workarea user interface refresh that balances performance and stability of web applications

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

- Number: US 2014/0157107 A1
- Document ID: US20140157107A1
- Status: Published application
- Kind: A1
- Application number: 13/691,636
- Filed: 2012-11-30
- Published: 2014-06-05
- Earliest claimed: 2012-11-30
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Randal L. Bertram; Alejandro M. Ortiz; Ryan P. Randolph
- Web page: https://patentgrep.com/patent/US20140157107A1

## CPC

- G06F 16/9577: {Optimising the visualization of content, e.g. distillation of HTML documents}
- G06F 16/00: Information retrieval; Database structures therefor; File system structures therefor
- G06F 16/95: Retrieval from the web
- G06F 16/954: Navigation, e.g. using categorised browsing
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F 40/143: Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
- G06F 40/221: Parsing markup language streams (streaming G06F40/149)
- G06F 16/80: of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML (content-based retrieval of web data G06F16/95)
- G06F 16/81: Indexing, e.g. XML tags; Data structures therefor; Storage structures
- G06F 16/955: using information identifiers, e.g. uniform resource locators [URL]
- G06F 16/957: Browsing optimisation, e.g. caching or content distillation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In one embodiment, a system for conditionally refreshing workarea user interfaces (UIs) includes logic adapted to receive a request to refresh one or more workarea UIs, wherein the one or more workarea UIs are provided within a document object model (DOM), logic adapted to determine whether to reload the DOM or to refresh the one or more workarea UIs within the DOM without reloading the DOM; logic adapted to reload the DOM when it is determined to reload the DOM; and logic adapted to refresh the one or more workarea UIs without reloading the DOM when it is determined to refresh the one or more workarea UIs. Other systems, methods, and computer program products for conditionally refreshing workarea UIs are described according to more embodiments.

## Claims

### Claim 1

A system for conditionally refreshing workarea user interfaces (UIs), the system comprising:
logic adapted to receive a request to refresh one or more workarea UIs, wherein the one or more workarea UIs are provided within a document object model (DOM);
logic adapted to determine whether to reload the DOM or to refresh the one or more workarea UIs within the DOM without reloading the DOM;
logic adapted to reload the DOM when it is determined to reload the DOM; and
logic adapted to refresh the one or more workarea UIs without reloading the DOM when it is determined to refresh the one or more workarea UIs.

### Claim 2 (depends on 1)

The system as recited in claim 1, wherein JavaScript and/or Asynchronous JavaScript and eXtensible markup language (AJAX) is used to refresh the one or more workarea UIs without reloading the DOM.

### Claim 3 (depends on 1)

The system as recited in claim 1, wherein the logic adapted to determine whether to reload the DOM or to refresh the one or more workarea UIs within the DOM without reloading the DOM comprises determining if one or more conditions have been satisfied, wherein when any condition is satisfied, it is determined to reload the DOM; otherwise, the one or more workarea UIs are refreshed without reloading the DOM.

### Claim 4 (depends on 1)

The system as recited in claim 1, wherein the one or more conditions comprise at least one of:
it is indicated that the DOM is always reloaded when refreshing a particular workarea UI;
a memory leak is detected;
it is indicated that the one or more workarea UIs have been flagged for consistently leaking memory;
the one or more workarea UIs are from a different domain than a current workarea UI;
a predetermined amount of time has passed since the DOM was last reloaded;
a predetermined amount of usage has taken place since the DOM was last reloaded; and
performance of the one or more workarea UIs drops below a performance threshold.

### Claim 5 (depends on 4)

The system as recited in claim 4, wherein the one or more workarea UIs each comprise a flag which indicates to either: always reload the DOM when refreshing the workarea UI, or never reload the DOM when refreshing the workarea UI.

### Claim 6 (depends on 4)

The system as recited in claim 4, wherein a memory leak is detected when any of: an orphaned widget is found in existing widgets of the DOM, any widgets of the DOM are destroyed, and a widget cannot be constructed because it is found to already exist.

### Claim 7 (depends on 4)

The system as recited in claim 4, wherein a first workarea UI is flagged for consistently leaking memory when any workarea UI from an exploiter common to the first workarea UI is found to have caused a memory leak in the DOM, or the first workarea UI is found to have caused a memory leak, and wherein a page reload is required when navigating away from a workarea UI that has been flagged for consistently leaking memory.

### Claim 8 (depends on 4)

The system as recited in claim 4, wherein the one or more workarea UIs are from a different domain than a current workarea UI when the one or more workarea UIs that are being navigated to are provided by a different exploiter than the current workarea UI.

### Claim 9 (depends on 4)

The system as recited in claim 4, wherein the usage that has taken place since the DOM was last reloaded is measured using at least one of: a number of workarea UI navigations, DOM navigations, and refreshes without reloads.

### Claim 10 (depends on 4)

The system as recited in claim 4, wherein the performance threshold is either: a predetermined value or a dynamic value based on typical performance of the DOM.

### Claim 11

A method for conditionally refreshing workarea user interfaces (UIs), the method comprising:
receiving a request to refresh one or more workarea UIs, wherein the one or more workarea UIs are provided within a document object model (DOM);
determining whether to reload the DOM or to refresh the one or more workarea UIs within the DOM without reloading the DOM;
reloading the DOM when it is determined to reload the DOM; and
refreshing the one or more workarea UIs without reloading the DOM when it is determined to refresh the one or more workarea UIs.

### Claim 12 (depends on 11)

The method as recited in claim 11, wherein JavaScript and/or Asynchronous JavaScript and eXtensible markup language (AJAX) is used to refresh the one or more workarea UIs without reloading the DOM.

### Claim 13 (depends on 11)

The method as recited in claim 11, wherein the determining whether to reload the DOM or to refresh the one or more workarea UIs within the DOM without reloading the DOM comprises determining if one or more conditions have been satisfied, wherein when any condition is satisfied, it is determined to reload the DOM; otherwise, the one or more workarea UIs are refreshed without reloading the DOM.

### Claim 14 (depends on 11)

The method as recited in claim 11, wherein the one or more conditions comprise at least one of:
it is indicated that the DOM is always reloaded when refreshing a particular workarea UI;
a memory leak is detected;
it is indicated that the one or more workarea UIs have been flagged for consistently leaking memory;
the one or more workarea UIs are from a different domain than a current workarea UI;
a predetermined amount of time has passed since the DOM was last reloaded;
a predetermined amount of usage has taken place since the DOM was last reloaded; and
performance of the one or more workarea UIs drops below a performance threshold.

### Claim 15 (depends on 14)

The method as recited in claim 14, wherein the one or more workarea UIs each comprise a flag which indicates to either: always reload the DOM when refreshing the workarea UI, or never reload the DOM when refreshing the workarea UI.

### Claim 16 (depends on 14)

The method as recited in claim 14, wherein a memory leak is detected when any of: an orphaned widget is found in existing widgets of the DOM, any widgets of the DOM are destroyed, and a widget cannot be constructed because it is found to already exist.

### Claim 17 (depends on 14)

The method as recited in claim 14, wherein a first workarea UI is flagged for consistently leaking memory when any workarea UI from an exploiter common to the first workarea UI is found to have caused a memory leak in the DOM, or the first workarea UI is found to have caused a memory leak, and wherein a page reload is required when navigating away from a workarea UI that has been flagged for consistently leaking memory.

### Claim 18 (depends on 14)

The method as recited in claim 14, wherein the one or more workarea UIs are from a different domain than a current workarea UI when the one or more workarea UIs that are being navigated to are provided by a different exploiter than the current workarea UI.

### Claim 19 (depends on 14)

The method as recited in claim 14, wherein the usage that has taken place since the DOM was last reloaded is measured using at least one of: a number of workarea UI navigations, DOM navigations, and refreshes without reloads.

### Claim 20 (depends on 14)

The method as recited in claim 14, wherein the performance threshold is either: a predetermined value or a dynamic value based on typical performance of the DOM.
