# US 12,182,138 B2 · Impression discounting for followfeed

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

- Number: US 12,182,138 B2
- Document ID: US12182138B2
- Status: Granted
- Kind: B2
- Application number: 17/668,153
- Filed: 2022-02-09
- Published: 2023-08-10
- Granted: 2024-12-31
- Earliest claimed: 2022-02-09
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Madhulekha Arunmozhi; Ian Robert Ackerman; Birjodh Singh Tiwana; Sarah Yan Xing
- Web page: https://patentgrep.com/patent/US12182138B2

## CPC

- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/24578: {using ranking}
- G06F 16/9537: Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
- G06F 16/9538: Presentation of query results
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06Q 10/10: Office automation; Time management
- G06Q 10/40: Business processes related to social networking or social networking services
- G06Q 30/0251: Targeted advertisements
- G06Q 30/0282: Rating or review of business operators or products
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Described herein is a technique for surfacing content for users of a connection network application. The technique involves performing a first query to fetch recently-impressed items viewed by a user of the connection network application and, concurrently with the first query, performing a second query of search nodes to generate a set of search node results. The technique allows for filtering the recently-impressed items from the set of search node results to generate a candidate set and applying a freshness factor to the candidate set. Updates are provided to a user display, based on results of applying the freshness factor to the candidate set.

## Claims

### Claim 1

A system comprising:
a non-transitory computer-readable medium having instructions stored thereon, which, when executed by a processor, cause the system to:
perform, by a second pass ranker, a first query of a first data store to fetch N most recent impressed items viewed by a user of a connection network application, wherein the first query comprises a batch query having only a single query key comprising a member identifier of the user;
concurrently with the first query, perform, by a first pass ranker, a second query of search nodes separate from the first data store to generate a set of top K search node results;
subsequent to the first query and the second query, filter, by the first pass ranker, the N most recent impressed items from the set of top K search node results to generate a candidate set that is provided to the second pass ranker;
apply, by the second pass ranker, a freshness factor to the candidate set; and
provide, by the second pass ranker, updates to display to the user of the connection network application based on results of applying the freshness factor.

### Claim 2 (depends on 1)

The system of claim 1, wherein the computer-readable medium is storing additional instructions, which, when executed by the processor, cause the system to apply the freshness factor by:
determining an age for each item of the candidate set; and
placing each item of the candidate set in an age bucket based on the age for a respective item, the age bucket comprised of items of similar ages.

### Claim 3 (depends on 2)

The system of claim 2, wherein the freshness factor is comprised of a boost factor that boosts items generated since a last visit time to the connection network application such that application of the freshness factor provides an indication of increased freshness for the boosted items.

### Claim 4 (depends on 3)

The system of claim 3, wherein the freshness factor is further comprised of a half life component and wherein the freshness factor is based on the boost factor, the age bucket of the respective item, and a half life of the respective item.

### Claim 5 (depends on 2)

The system of claim 2, wherein the age bucket corresponds to an age displayed to the user upon visiting the connection network application.

### Claim 6 (depends on 5)

The system of claim 5, wherein an item of the candidate set that is between 0 and 23 hours old is added to one of 24 hourly age buckets.

### Claim 7 (depends on 5)

The system of claim 5, wherein items of the candidate set that are between 7 and 14 days old are added to a same age bucket.

### Claim 8

A method of providing updates to a user of a connection network application, the method comprising:
performing, by a second pass ranker, a first query of a first data store to fetch N most recent impressed items viewed by a user of connection network application, wherein the first query comprises a batch query having only a single query key comprising a member identifier of the user;
concurrently with the first query, performing, by a first pass ranker, a second query of search nodes separate from the first data store to generate a set of top K search node results;
subsequent to the first query and the second query, filtering, by the first pass ranker, the N most recent impressed items from the set of K search node results to generate a candidate set that is provided to the second pass ranker;
applying, by the second pass ranker, a freshness factor to the candidate set; and
providing, by the second pass ranker, updates to display to the user of the connection network application based on results of applying the freshness factor.

### Claim 9 (depends on 8)

The method of claim 8, wherein applying the freshness factor comprises:
determining an age for each item of the candidate set;
placing each item of the candidate set in an age bucket based on the age for a respective item, the age bucket comprised of items of similar ages; and
apply the freshness factor to an SPR ranking score for each item of the candidate set.

### Claim 10 (depends on 9)

The method of claim 9, wherein the freshness factor is comprised of a boost factor that boosts items generated since a last visit time to the connection network application such that application of the freshness factor provides an indication of an increased freshness for the boosted items.

### Claim 11 (depends on 10)

The method of claim 10, wherein the freshness factor is further comprised of a half life component and wherein the freshness factor is based on the boost factor, the age bucket of the respective item, and a half life.

### Claim 12 (depends on 10)

The method of claim 10, wherein the age bucket corresponds to an age displayed to the user upon visiting the connection network application.

### Claim 13 (depends on 12)

The method of claim 12, wherein an item of the candidate set that is between 0 and 23 hours old is added to one of 24 hourly age buckets.

### Claim 14 (depends on 12)

The method of claim 12, wherein items of the candidate set that are between 7 and 14 days old are added to a same age bucket.

### Claim 15

A system comprising:
means for performing, by a second pass ranker, a first query of a first data store to fetch N most recent impressed items viewed by a user of a connection network application, wherein the first query comprises a batch query having only a single query key comprising a member identifier of the user;
means for performing, concurrently with the first query and by a first pass ranker, a second query of search nodes separate from the first data store to generate a set of top K search node results;
means for filtering, subsequent to the first query and the second query, by the first pass ranker, the N most recent impressed items from the set of K search node results to generate a candidate set that is provided to the second pass ranker;
means for applying, by the second pass ranker, a freshness factor to the candidate set; and
means for providing, by the second pass ranker, updates to display to the user of the connection network application based on results of application of the freshness factor.

### Claim 16 (depends on 15)

The system of claim 15, further comprising:
means for determining an age for each item of the candidate set;
means for placing each item of the candidate set in an age bucket based on the age for a respective item, the age bucket comprised of items of similar ages; and
means for applying a freshness factor to an SPR ranking score for each item of the candidate set.

### Claim 17 (depends on 16)

The system of claim 16, wherein the freshness factor is comprised of a boost factor that boosts items generated since a last visit time to the connection network application such that the freshness factor provides an indication of an increased freshness for the boosted items.

### Claim 18 (depends on 17)

The system of claim 17, wherein the freshness factor is further comprised of a half life component and wherein the freshness factor is based on the boost factor, the age bucket of the respective item, and a half life indicating a desired steepness of a curve representing freshness factor values for items of the candidate set.
