Techniques for detecting inactive browser windows

US9606703B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9606703-B2
Application numberUS-201414538239-A
CountryUS
Kind codeB2
Filing dateNov 11, 2014
Priority dateJan 6, 2011
Publication dateMar 28, 2017
Grant dateMar 28, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments provide techniques for tracking the lifecycles of client-side browser windows in the context of a web application. In an embodiment, a server component of a web application can receive a notification that an application page in a first window has been unloaded. In response, the server component can associate the first window with an expiration time and add the first window to an expiration list of windows that are potentially inactive. If a request is received by the server component from the first window while the first window is in the expiration list, the server component can identify the first window as active and remove it from the list. If a request is received by the server component from a second window after the expiration time associated with the first window, the server component can identify the first window as inactive and free all resources for the first window.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: maintaining, by a computer system, a first list of windows open in a web browser running on a client computer system, at least a first window of the first list of windows being associated with a first window identifier, the first window identifier identifying a first application page, the first list of windows including a subset of windows that are potentially active; receiving, by the computer system, a request to access a second application page displayed in the first window; updating, by the computer system, the first window identifier to identify the second application page; receiving, by the computer system, a notification from the web browser that the first application page displayed in the first window in the first list of windows has been unloaded; upon receiving the notification, determining, by the computer system, that the first window identifier associated with the first window identifies the second application page; and based at least in part on the determining, retaining, by the computer system, the first window in the first list of windows without adding the first window to a second list of windows, the second list of windows including a subset of windows in the first list of windows that are potentially inactive. 2. The method of claim 1 , further comprising: receiving, by the computer system, a notification from the web browser that an application page displayed in the first window in the first list of windows has been unloaded; associating, by the computer system, the first window with an expiration time; and adding, by the computer system, the first window to the second list of windows, the second list of windows including a subset of windows in the first list of windows that are potentially inactive. 3. The method of claim 1 , further comprising: receiving, from the web browser, a request originating from the first window; determining, by the computer system, whether the first window is still active; and removing the first window from the second list of windows. 4. The method of claim 1 , further comprising: receiving, from the web browser, a second request originating from a second window in the second list of windows; comparing, by the computer system, a time at which the second request was received with an expiration time associated with the second list of windows; and if the time at which the second request was received is later than the expiration time, identifying, by the computer system, the second window as being inactive. 5. The method of claim 4 , wherein identifying the second window as being inactive comprises: removing the second window from the first list of windows and the second list of windows; and making resources associated with the second window available. 6. The method of claim 1 , further comprising: maintaining, by the computer system, a session timeout variable for a user session associated with one or more windows open in the web browser, the session timeout variable being initialized to a first time period; determining, by the computer system, that an application page in a last remaining window in the first list of windows has been unloaded; and modifying the session timeout variable from the first time period to a second time period based at least in part on the determination that the application page in the last remaining window in the first list of windows has been unloaded, the second time period being shorter than the first time period. 7. The method of claim 6 , further comprising: if a request originating from a window in the first list of windows or the second list of windows is received prior to the expiration of the second time period, resetting, by the computer system, the session timeout variable to the first time period, else freeing, by the computer system, resources associated with the user session and the last remaining window. 8. A non-transitory computer readable storage medium having stored thereon instructions executable by a processor, the instructions including: instructions that cause the processor to maintain a first list of windows open in a web browser running on a client computer system, at least a first window of the first list of windows being associated with a first window identifier, the first window identifier identifying a first application page, the first list of windows including a subset of windows that are potentially active; instructions that cause the processor to receive a request to access a second application page displayed in the first window; instructions that cause the processor to update the first window identifier to identify the second application page; instructions that cause the processor to receive a notification from the web browser that the first application page displayed in the first window in the first list of windows has been unloaded; instructions that cause the processor to determine, upon receiving the notification, that the first window identifier associated with the first window identifies the second application page; and instructions that cause the processor to retain, based at least in part on the determining, the first window in the first list of windows without adding the first window to a second list of windows, the second list of windows including a subset of windows in the first list of windows that are potentially inactive. 9. The non-transitory computer readable medium of claim 8 wherein the instructions further comprise: instructions that cause the processor to maintain a session timeout variable for a user session associated with one or more windows open in the web browser, the session timeout variable being initialized to a first time period; instructions that cause the processor to determine that an application page in a last remaining window in the first list of windows has been unloaded; and based at least in part on the determination that the application page in the last remaining window in the first list of windows has been unloaded, instructions that cause the processor to modify the session timeout variable from the first time period to a second time period, the second time period being shorter than the first time period. 10. The non-transitory computer readable medium of claim 9 , wherein the instructions further comprise instructions that cause the processor to reset the session timeout variable to the first time period if a request originating from a window in the first list of windows or the second list of windows is received prior to expiration of the second time period. 11. The non-transitory computer readable medium of claim 10 , wherein the instructions further comprise instructions that cause the processor to free resources associated with the user session and the last remaining window if no request originating from a window in the first list of windows or the second list of windows is received prior to the expiration of the session timeout variable. 12. A system comprising: a memory and a processor, coupled to the memory, configured to execute computer executable instructions to collectively at least: maintain a first list of windows open in a web browser running on a client computer system, at least a first window of the first list of windows being associated with a first window identifier, the first window identifier identifying a first application page, the first list of windows including a subset of windows that are potentially active; receive a request to access a second application page displayed in the first window; update the first window identifier to identify the second application page; receive a notification from the web browser that the f

Assignees

Inventors

Classifications

  • G06F9/5022Primary

    Mechanisms to release resources · CPC title

  • G06F3/0482Primary

    Interaction with lists of selectable items, e.g. menus · CPC title

  • Execution arrangements for user interfaces · CPC title

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • Electricity · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9606703B2 cover?
Embodiments provide techniques for tracking the lifecycles of client-side browser windows in the context of a web application. In an embodiment, a server component of a web application can receive a notification that an application page in a first window has been unloaded. In response, the server component can associate the first window with an expiration time and add the first window to an exp…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/5022. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 28 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).