# US 9,436,762 B1 · Sharing a plug-in instance in a web client

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

- Number: US 9,436,762 B1
- Document ID: US9436762B1
- Status: Granted
- Kind: B1
- Application number: 13/342,907
- Filed: 2012-01-03
- Granted: 2016-09-06
- Earliest claimed: 2012-01-03
- Assignees: Google Inc.
- Applicants: Cynthia W. Lau; Johann Tomas Sigurdsson; Marc-André Decoste
- Inventors: Cynthia W. Lau; Johann Tomas Sigurdsson; Marc-André Decoste
- Web page: https://patentgrep.com/patent/US9436762B1

## CPC

- G06F 16/95: Retrieval from the web
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/954: Navigation, e.g. using categorised browsing
- G06F 21/53: by executing in a restricted environment, e.g. sandbox or secure virtual machine
- G06F 21/62: Protecting access to data via a platform, e.g. using keys or access control rules
- H04L 63/102: {Entity profiles}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- G06F 3/0483: Interaction with page-structured environments, e.g. book metaphor
- G06F 11/30: Monitoring
- G06F 11/3003: {Monitoring arrangements specially adapted to the computing system or computing system component being monitored}
- G06F 2221/2119: Authenticating web pages, e.g. with suspicious links
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Configurations for sharing an instance of an executing process for a plug-in based on a session and a cookie data store associated with the session are disclosed. A cookie data store can be associated with a tab running in a corresponding security mode. By way of example, instead of initiating a new process for the plug-in in a new tab, the subject technology can first determine whether a previous tab is running an instance of a plug-in process. If this is the case, the subject technology can then determine whether the previous tab is running in the same security mode (e.g., protected or unprotected) as the new tab. The subject technology then shares the existing plug-in process in the previous tab without instantiating a new plug-in process in the new tab.

## Claims

### Claim 1

A machine-implemented method for sharing an instance of a plug-in, the method comprising:
determining whether a session associated with a current tab is also associated with a first tab, wherein the current tab and the first tab are included in a same instance of a window of an application;
determining whether a security mode of the current tab matches a security mode of the first tab if the session associated with the current tab is also associated with the first tab, wherein the security modes of the current tab and the first tab respectively indicate one or more operations that are allowed to be performed by the current tab and the first tab on a computing device running the application;
determining whether the first tab includes the instance of the plug-in if the security mode of the current tab matches the security mode of the first tab; and
for the current tab, utilizing the plug-in in the first tab to access a shared resource associated with the first tab if the security mode of the current tab matches the security mode of the first tab, wherein the shared resource is shared between the first and current tabs according to the security mode.

### Claim 2 (depends on 1)

The method of claim 1, wherein the security mode indicates a level of trustworthiness of the current tab.

### Claim 3 (depends on 1)

The method of claim 1, wherein utilizing the plug-in in the first tab comprises utilizing a wrapper for the instance of the plug-in in the first tab.

### Claim 4 (depends on 3)

The method of claim 3, wherein the current tab performs one or more operations utilizing the wrapper for the instance of the plug-in in the first tab.

### Claim 5 (depends on 1)

The method of claim 1, wherein the shared resource is a cookie data store.

### Claim 6 (depends on 5)

The method of claim 5, wherein the cookie data store is stored locally.

### Claim 7 (depends on 5)

The method of claim 5, wherein the plug-in performs one or more operations on the cookie data store.

### Claim 8 (depends on 7)

The method of claim 7, wherein the one or more operations includes an operation to get a plurality of cookie data stores.

### Claim 9 (depends on 7)

The method of claim 7, wherein the cookie data store includes one or more cookies.

### Claim 10 (depends on 1)

The method of claim 1, wherein the one or more operations comprise an operation to install a program on the computing device running the application.

### Claim 11 (depends on 1)

The method of claim 1, wherein the one or more operations comprise an operation to modify system data on the computing device running the application.

### Claim 12 (depends on 1)

The method of claim 1, wherein the security mode of the current tab corresponds to a protected mode, wherein the protected mode does not permit respective operations to install a program and modify system data on the computing device running the application.

### Claim 13 (depends on 1)

The method of claim 1, wherein the security mode of the current tab corresponds to a unprotected mode, wherein the unprotected mode includes respective operations to install a program and modify system data on the computing device running the application.

### Claim 14 (depends on 1)

The method of claim 1, wherein the security mode of the current tab corresponds to a respective security level, the respective security level including a respective set of privileges according to the respective security level for performing one or more operations on the computing device running the application.

### Claim 15 (depends on 14)

The method of claim 14, wherein the respective security level includes one of an administrative, high, medium, or low security level.

### Claim 16 (depends on 1)

The method of claim 1, wherein the application comprises a web client.

### Claim 17 (depends on 1)

The method of claim 1, wherein utilizing the plug-in in the first tab to access the cookie data store associated with the first tab occurs without instantiating a new instance of the plug-in in memory.

### Claim 18 (depends on 1)

The method of claim 1, further comprising:
generating a new instance of the plug-in in memory for the current tab if the security mode of the current tab does not match the security mode of the first tab.

### Claim 19

A system for sharing an instance of a plug-in, the system comprising:
memory;
one or more processors;
one or more modules stored in memory and configured for execution by the one or more processors, the modules comprising:
a browser module configured to provide a first tab and a current tab for the web client, wherein the first tab includes the instance of the plug-in, wherein the current tab and the first tab are included in a same instance of a window of an application;
a cookies module configured to store a cookie data store associated with the first tab; and
a session module configured to determine whether a session associated with the current tab is also associated with the first tab, determine whether a security mode of the current tab matches a security mode of the first tab if the session associated with current tab is also associated with the first tab, and utilize, for the current tab, the plug-in in the first tab to access the cookie data store associated with the first tab if the security modes match, wherein the cookie data store is shared between the first and current tabs according to the matched security modes, wherein the security modes of the current tab and the first tab respectively indicate one or more operations that are allowed to be performed by the current tab and the first tab on a computing device running the application.

### Claim 20 (depends on 19)

The system of claim 19, wherein the current tab utilizes the plug-in in the first tab to access the cookie data store associated with the first tab.

### Claim 21 (depends on 19)

The system of claim 19, wherein the cookie data store is a shared resource of the first and current tabs.

### Claim 22 (depends on 19)

The system of claim 19, wherein cookie data store includes one or more cookies for the session associated with the first tab.

### Claim 23

A machine-readable medium comprising instructions stored therein, which when executed by a machine, cause the machine to perform operations comprising:
determining whether a session associated with a current tab is also associated with a first tab, wherein the current tab and the first tab are included in a same instance of a window of an application;
determining whether a security mode of the current tab matches a security mode of the first tab if the session associated with the current tab is also associated with the first tab;
determining whether the first tab includes the instance of the plug-in if the security mode of the current tab matches the security mode of the first tab, wherein the security modes of the current tab and the first tab respectively indicate one or more operations that are allowed to be performed by the current tab and the first tab on a computing device running the application; and
for the current tab, utilizing the plug-in in the first tab to access a shared resource associated with the first tab for performing one or more operations on the shared resource if the security mode of current tab matches the security mode of the first tab, wherein the shared resource is shared between the first and current tabs according to the security mode.
