# US 2014/0156669 A1 · Apparatus and method for indexing electronic content

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

- Number: US 2014/0156669 A1
- Document ID: US20140156669A1
- Status: Published application
- Kind: A1
- Application number: 13/972,579
- Filed: 2013-08-21
- Published: 2014-06-05
- Earliest claimed: 2012-12-04
- Assignees: Linkedln Corporation
- Applicants: Linkedln Corporation
- Inventors: Hardik N. Bati; Nihar N. Mehta
- Web page: https://patentgrep.com/patent/US20140156669A1

## CPC

- G06F 16/2228: {Indexing structures}
- G06F 8/443: {Optimisation}
- G06F 16/2272: {Management thereof}
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Apparatus and methods are provided for indexing electronic content to be served to users' mobile and/or stationary communications and computing devices. An index is composed of multiple slices, with each slice storing multiple entries and each entry representing one content item or one campaign or collection of content items. An entry is populated with tokens representing attribute/value pairs of a target audience of the content item and/or property/value pairs of the item or the item's campaign. A query or request to identify content items for serving to a particular user is similarly formatted with tokens representing attribute/value pairs of the user and/or item/campaign. Queries can then be executed rapidly across any or all index entries in any or all slices. Within a slice, entries may be sorted by value or score, and integer components within an individual entry may be sorted to facilitate rapid comparison with a query.

## Claims

### Claim 1

A method of operating a content index, the method comprising:
indexing multiple content collections in a computer system memory, wherein each content collection is indexed by storing in the index a corresponding entry comprising:
one or more property tokens, each property token representing a property of the corresponding content collection; and
one or more attribute tokens, each attribute token representing an attribute of a target audience of the corresponding content collection and a corresponding value of the attribute;
maintaining the index by:
for each entry that receives multiple modifications after it is written and before it is re-written, collapsing the multiple modifications to a single modification that is applied to the entry when the entry is re-written;
receiving a request for content to be served to a target user, the request comprising:
a set of properties of content collections from which content is to be selected to serve to the target user; and
a set of attributes of the target user and corresponding values;
searching the index for entries that match the request; and
in response to the request for content, communicating identities of one or more content collections that satisfy the request.

### Claim 2 (depends on 1)

The method of claim 1, wherein said indexing comprises:
receiving a first content collection;
receiving a first set of properties of the first content collection;
receiving a first set of attributes of a target audience of the first content collection, and corresponding values of the first set of attributes;
mapping the first set of properties to property tokens;
mapping the first set of attributes to attribute tokens; and
writing a first entry to a first slice of the content index to represent the first content collection, wherein the first entry comprises the property tokens and the attribute tokens.

### Claim 3 (depends on 2)

The method of claim 2, further comprising, after writing the first entry:
analyzing feedback from multiple servings of the first content collection to calculate a score of the first content collection; and
sorting entries of the first slice, including the first entry, according to their scores.

### Claim 4 (depends on 3)

The method of claim 3, wherein the score represents a monetary value of the first content collection.

### Claim 5 (depends on 3)

The method of claim 3, wherein the score represents a performance of the first content collection.

### Claim 6 (depends on 2)

The method of claim 2, further comprising maintaining the first slice by:
separately queuing modifications to multiple entries in the first slice;
collapsing multiple modifications to one of the multiple entries to a single modification; and
applying the single modification in place of the multiple modifications.

### Claim 7 (depends on 1)

The method of claim 1, further comprising, for one or more entries in the index:
sorting the attribute tokens of the entry such that the attribute tokens are stored in inverse order of a probability with which the attributes and corresponding values represented by the attribute tokens will match a set of attributes and corresponding values of a target user of an unknown future request for content.

### Claim 8 (depends on 1)

The method of claim 1, wherein:
each of the multiple content collections is a campaign; and
each campaign includes one or more servable content items.

### Claim 9 (depends on 1)

The method of claim 1, wherein each of the content collections comprises one servable content item.

### Claim 10

A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform a method of operating a content index, the method comprising:
indexing multiple content collections in a computer system memory, wherein each content collection is indexed by storing in the index a corresponding entry comprising:
one or more property tokens, each property token representing a property of the corresponding content collection; and
one or more attribute tokens, each attribute token representing an attribute of a target audience of the corresponding content collection and a corresponding value of the attribute;
maintaining the index by:
for each entry that receives multiple modifications after it is written and before it is re-written, collapsing the multiple modifications to a single modification that is applied to the entry when the entry is re-written;
receiving a request for content to be served to a target user, the request comprising:
a set of properties of content collections from which content is to be selected to serve to the target user; and
a set of attributes of the target user and corresponding values;
searching the index for entries that match the request; and
in response to the request for content, communicating identities of one or more content collections that satisfy the request.

### Claim 11

A non-transitory computer-readable medium containing a data structure for indexing electronic content items for serving in response to content requests, the data structure comprising:
multiple independent slices, each slice comprising:
metadata for:
identifying the slice; and
controlling access to the slice; and
multiple entries, each entry corresponding to at least one item of electronic content and comprising:
metadata relating to the corresponding at least one item;
one or more property tokens, each property token representing a property of the at least one item; and
multiple attribute tokens, each attribute token representing an attribute of a target audience of the at least one item of electronic content and a value of that attribute.

### Claim 12 (depends on 11)

The computer-readable medium of claim 11, wherein:
the multiple entries of a given slice are ordered according to values of their corresponding at least one items of electronic content, from high-value to low-value; and
a high-value entry corresponds to an item of electronic content that produces more revenue when served than an item of electronic content corresponding to a low-value entry.

### Claim 13 (depends on 11)

The computer-readable medium of claim 11, wherein:
the multiple attribute tokens of a given entry are ordered according to the inverse probability that the attributes and attribute values represented by the multiple attribute tokens will match attributes and attribute values of an unknown future query executed against the data structure.

### Claim 14 (depends on 11)

The computer-readable medium of claim 11, wherein the data structure further comprises:
a mapping of the multiple attribute tokens to the attributes and attribute values represented by the attribute tokens.

### Claim 15 (depends on 11)

The computer-readable medium of claim 11, wherein the data structure further comprises:
a mapping of the one or more property tokens to the properties and property values represented by the one or more property tokens.

### Claim 16 (depends on 11)

The computer-readable medium of claim 11, wherein the data structure further comprises:
a queue for storing modifications to the data structure.

### Claim 17

A system for operating a content index, the system comprising:
a memory comprising:
an index of electronic content, wherein each entry in the index corresponds to a set of electronic content and comprises:
a set of property tokens representing properties of the set of electronic content; and
a set of attribute tokens representing attributes of a target audience of the set of electronic content and corresponding values of the attributes; and
at least one queue for storing modifications to the index;
wherein the index comprises multiple independent slices, each slice comprising multiple index entries;
maintenance logic for periodically modifying the index, wherein each periodic modification of the index includes collapsing multiple modifications to a single index entry to a single modification prior to application of the single modification; and
reader logic for searching the index, in response to a request for content, for entries having target audiences matching a target user to whom the requested content is to be presented.

### Claim 18 (depends on 17)

The system of claim 17, further comprising:
a mapping of attribute tokens to the attributes and values represented by the attribute tokens.

### Claim 19 (depends on 17)

The system of claim 17, further comprising:
a storage device storing the indexed electronic content; and
serving software configured to serve the electronic content to target users.

### Claim 20 (depends on 11)

The computer-readable medium of claim 11, wherein the multiple attribute tokens are arranged as a conjunction of disjunctions.
