# US 9,521,184 B2 · Efficient storage and retrieval of resources for rendering structured documents

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

- Number: US 9,521,184 B2
- Document ID: US9521184B2
- Status: Granted
- Kind: B2
- Application number: 14/199,850
- Filed: 2014-03-06
- Published: 2014-07-03
- Granted: 2016-12-13
- Earliest claimed: 2010-08-03
- Assignees: Facebook, Inc.
- Applicants: Facebook, Inc.
- Inventors: Changhao Jiang; Erling Alf Ellingsen
- Web page: https://patentgrep.com/patent/US9521184B2

## CPC

- G06F 40/143: Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
- G06F 16/9574: {of access to content, e.g. by caching}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- 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

In one embodiment, a method includes accessing local storage on a computing device to render a structured document. The structured document corresponds to a first domain or sub-domain and includes an inline-frame element that corresponds to a second domain or sub-domain. The local storage includes one or more first local-storage slots that are reserved for resources associated with the first domain or sub-domain and one or more second local-storage slots that are reserved for resources associated with the second domain or sub-domain. The method further includes loading one or more resources for rendering the structured document from the first local-storage slots and loading one or more resources for rendering the structured document from the second local-storage slots.

## Claims

### Claim 1

A method comprising:
by a computing device, accessing local storage on the computing device to render a structured document, wherein:
the structured document corresponds to a first domain or sub-domain and comprises an inline-frame element that corresponds to a second domain or sub-domain;
the local storage comprises one or more first local-storage slots that are reserved for resources associated with the first domain or sub-domain and one or more second local-storage slots that are reserved for resources associated with the second domain or sub-domain; and
by the computing device, loading one or more resources for rendering the structured document from the first local-storage slots; and
by the computing device, loading one or more resources for rendering the structured document from the second local-storage slots.

### Claim 2 (depends on 1)

The method of claim 1, wherein the local storage is independent from a web browser cache.

### Claim 3 (depends on 1)

The method of claim 1, wherein each of the one or more first local-storage slots corresponds to only the first domain or sub-domain.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first domain or sub-domain and the second domain or sub-domain share a common top-level domain.

### Claim 5 (depends on 1)

The method of claim 1, wherein the one or more resources for rendering the structured document are loaded from the second local-storage slots as a result of inclusion of the inline-frame element in the structured document.

### Claim 6 (depends on 1)

The method of claim 1, wherein the inline-frame element comprises an HTML document within a frame.

### Claim 7 (depends on 1)

The method of claim 1, wherein loading one or more resources for rendering the structured document from the first local-storage slots comprises, for each resource:
generating or retrieving markup language code tags based on a type of the resource; and
inserting an attribute and a content of the resource within the tags for evaluation by the computing device.

### Claim 8

One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
access local storage on a computing device to render a structured document, wherein:
the structured document corresponds to a first domain or sub-domain and comprises an inline-frame element that corresponds to a second domain or sub-domain;
the local storage comprises one or more first local-storage slots that are reserved for resources associated with the first domain or sub-domain and one or more second local-storage slots that are reserved for resources associated with the second domain or sub-domain; and
load one or more resources for rendering the structured document from the first local-storage slots; and
load one or more resources for rendering the structured document from the second local-storage slots.

### Claim 9 (depends on 8)

The media of claim 8, wherein the local storage is independent from a web browser cache.

### Claim 10 (depends on 8)

The media of claim 8, wherein each of the one or more first local-storage slots corresponds to only the first domain or sub-domain.

### Claim 11 (depends on 8)

The media of claim 8, wherein the first domain or sub-domain and the second domain or sub-domain share a common top-level domain.

### Claim 12 (depends on 8)

The media of claim 8, wherein the one or more resources for rendering the structured document are loaded from the second local-storage slots as a result of inclusion of the inline-frame element in the structured document.

### Claim 13 (depends on 8)

The media of claim 8, wherein the inline-frame element comprises an HTML document within a frame.

### Claim 14 (depends on 8)

The media of claim 8, wherein the one or more computer-readable non-transitory storage media is further operable when executed to load one or more resources for rendering the structured document from the first local-storage slots, for each resource, by:
generating or retrieving markup language code tags based on a type of the resource; and
inserting an attribute and a content of the resource within the tags for evaluation by the computing device.

### Claim 15

A system comprising:
one or more processors; and
a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:
access local storage on a computing device to render a structured document, wherein:
the structured document corresponds to a first domain or sub-domain and comprises an inline-frame element that corresponds to a second domain or sub-domain;
the local storage comprises one or more first local-storage slots that are reserved for resources associated with the first domain or sub-domain and one or more second local-storage slots that are reserved for resources associated with the second domain or sub-domain; and
load one or more resources for rendering the structured document from the first local-storage slots; and
load one or more resources for rendering the structured document from the second local-storage slots.

### Claim 16 (depends on 15)

The system of claim 15, wherein the local storage is independent from a web browser cache.

### Claim 17 (depends on 15)

The system of claim 15, wherein each of the one or more first local-storage slots corresponds to only the first domain or sub-domain.

### Claim 18 (depends on 15)

The system of claim 15, wherein the first domain or sub-domain and the second domain or sub-domain share a common top-level domain.

### Claim 19 (depends on 15)

The system of claim 15, wherein the one or more resources for rendering the structured document are loaded from the second local-storage slots as a result of inclusion of the inline-frame element in the structured document.

### Claim 20 (depends on 15)

The system of claim 15, wherein the inline-frame element comprises an HTML document within a frame.

### Claim 21 (depends on 15)

The system of claim 15, wherein the processors are further operable when executing the instructions to load one or more resources for rendering the structured document from the first local-storage slots, for each resource, by:
generating or retrieving markup language code tags based on a type of the resource; and
inserting an attribute and a content of the resource within the tags for evaluation by the computing device.
