# US 2017/0255681 A1 · Interest based content distribution

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

- Number: US 2017/0255681 A1
- Document ID: US20170255681A1
- Status: Published application
- Kind: A1
- Application number: 15/060,279
- Filed: 2016-03-03
- Published: 2017-09-07
- Earliest claimed: 2016-03-03
- Assignees: Tic Talking Holdings Inc.
- Applicants: Tic Talking Holdings Inc.
- Inventors: Alexander M. Giunio-Zorkin
- Web page: https://patentgrep.com/patent/US20170255681A1

## CPC

- H04W 4/21: for social networking applications
- G06F 16/24573: {using data annotations, e.g. user-defined metadata}
- G06F 16/248: Presentation of query results
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/9536: Search customisation based on social or collaborative filtering
- G06F 16/9574: {of access to content, e.g. by caching}
- G06Q 10/42: Determination of affinities or common interests between users
- G06Q 10/44: Identification of trends within social networks, e.g. identification of trending topics
- G06Q 10/46: Determination of level of influence of users within social networking services
- G06Q 10/48: using social graphs
- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- 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
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The disclosed embodiments relate to systems and methods for efficiently distributing content among a plurality of users which may be used to implement a social networking service. Content items, which may include “posts” submitted by one user, e.g. responsive to a “post” submitted by another user, are stored in association with data indicative of a specified subset of an interest category classifications defined by the system. Users of the system further specify a subset of the interest category classifications to define their interests. The system then provides content items of interest to the user by mapping, as will be described, the defined interests of the user against the interests associated with the stored content items. The disclosed embodiments enable users to discover and expand their interconnections with other users which may have similar interests.

## Claims

### Claim 1

A method of distributing a content item, provided by a source to a content distribution system, to a subset of a plurality of users via a network coupled therewith, the content distribution system comprising a processor, a memory coupled with the processor and a data store coupled with the memory and the processor, the memory comprising a cache and the data store comprising a database, the method comprising:
receiving, by the processor, the content item from the source, the content item being associated with data indicative of a subset of a plurality of keywords selected from a plurality of keyword sets, each keyword set comprising a hierarchical sequence of keywords, wherein for each keyword set a first keyword of the sequence of keywords defines a context, different from a context defined by a first keyword of a different keyword set, and each subsequent keyword of the sequence of the keyword set defines a narrowing of the context over the previous keyword of the sequence of the keyword set;
storing, by the processor, each of the received content item in a first format in the database in association with data indicative of at least a subset of the subset of the plurality of keywords associated with the received content item;
determining, by the processor, whether to store the received content item in the cache and, where it is determined to store the received content item in the cache, storing, by the processor, each of the received content item in a second format, different from the first format, in the cache in association with data indicative of at least a subset of the subset of the plurality of keywords associated with the received content item;
receiving, by the processor, a request for content from a requestor via the network;
identifying, by the processor, based on the received request, one or more keywords selected from the plurality of keyword sets;
determining, by the processor based on at least a subset of the identified keywords, whether there are any previously received content items stored in the cache in association with the subset of the identified keywords and, if there are any previously received content items stored in the cache in association with the subset of the identified keywords, causing, by the processor, the transmission of at least a subset of those determined previously received content items from the cache to the requestor via the network; and
where there are no previously received content items stored in the cache in association with the subset of the identified keywords, determining, by the processor based on at least the subset of the identified keywords, whether there are any previously received content items stored in the database in association with the subset of the identified keywords and if there are any previously received content items stored in the database in association with the subset of the identified keywords, retrieving, by the processor, at least a subset of those determined previously received content items from the database, converting, by the processor, the retrieved content items from the first format to the second format, storing, by the processor, the converted content items in the cache in association with data indicative of at least a subset of the subset of the plurality of keywords associated with the retrieved content items, and causing, by the processor, transmission of the converted retrieved content items to the requestor via the network.

### Claim 2 (depends on 1)

The method of claim 1, wherein the source comprises a device operated by a user of the plurality of users.

### Claim 3 (depends on 1)

The method of claim 1 wherein the second format comprises JavaScript Object Notation (“JSON”).

### Claim 4 (depends on 1)

The method of claim 1 wherein the received content item is further sequentially associated with one or more previously received content items, the received content item and the previously received content items being stored in the cache and/or database in association with each other such that any determination of whether there are any previously received content items stored in the cache and/or database responsive to a request which identifies one of the received content or sequentially associated one or more previously received content items causes at least a subset of the received content and sequentially associated one or more previously received content items to be retrieved.

### Claim 5 (depends on 1)

The method of claim 1 wherein the determining of whether to store the received content item in the cache further comprises determining whether the cache has available capacity and storing the received content item in the cache when the cache has available capacity.

### Claim 6 (depends on 1)

The method of claim 1 wherein the determining of whether to store the received content item in the cache further comprises determining to store the received content item in the cache if previously received content items, whose associated data is indicative of a subset of the plurality of keywords which at least partially overlaps the subset of the plurality of keywords associated with the received content item, are stored in the cache.

### Claim 7 (depends on 1)

The method of claim 1 wherein the determining of whether to store the received content item in the cache further comprises computing a ranking value of the received content item and store the received content item in the cache if the computed ranking value exceeds a threshold.

### Claim 8 (depends on 7)

The method of claim 7 wherein the threshold is based on the computed ranking value of at least a subset of other previously received content items stored in the cache.

### Claim 9 (depends on 1)

The method of claim 1 wherein the content distribution system further comprises a category database operative to store the plurality of keyword sets wherein each keyword within each keyword set is identified by a unique identifier, and further wherein the data indicative of a subset of the plurality of keywords comprises the unique identifiers of the respective keywords as stored in the category database.

### Claim 10 (depends on 1)

The method of claim 1 further comprising a user database, coupled with the processor, which includes a plurality of data records, each associated with one user of the plurality of users, each data record further comprising data indicative of a subset of the plurality of keywords selected from the plurality of keyword sets, wherein the request for content comprises an update request, the identifying further comprising identifying the user from which the request for content was received, retrieving, by the processor, the data record from the user database associated with the identified user and determining the identified keywords based on the subset of the plurality of keywords of the retrieved data record.

### Claim 11 (depends on 1)

The method of claim 1 wherein the request for content specifies a content scope, the identifying further comprising determining the identified keywords based on the content scope.

### Claim 12 (depends on 11)

The method of claim 11 further comprising establishing a minimum number of content items to transmit responsive to the request for content, and wherein if the number of determined previously received content items in the cache or database does not exceed the minimum number of content items to transmit, modifying, by the processor, the specified content scope so as to increase the number of determined previously received content items in the cache or database.

### Claim 13 (depends on 1)

The method of claim 1 further comprising:
evaluating, by the processor, a subset of content items stored in the cache to compute a ranking value thereof; and
wherein the computed ranking value does not exceed a threshold value, removing the subset of content items from the cache.

### Claim 14 (depends on 1)

The method of claim 1 wherein the received content item further includes data indicative of a geographic location related to the content item, wherein the data indicative of a geographic location is operative to enable display of an indication of the indicated geographic location of the content item by the receiving requestor geographically relative to a display of an indication of the indicated geographic location of another received content item.

### Claim 15 (depends on 1)

The method of claim 1 wherein the received content item includes content characterized by a first language and further wherein the received request is associated with a second language, the causing of transmission of at least a subset of those determined previously received content items from the cache to the requestor and the causing of transmission of the converted retrieved content items to the requestor further comprising determining whether the first language of content items to be transmitted is the same as the second language and if not, translating, by the processor, the content of each of the content items from the first language to the second language prior to transmission.

### Claim 16 (depends on 1)

The method of claim 1 wherein the system further includes a translation cache coupled with the processor, the translating further including determining, for each content item to be transmitted, whether a translation of the content thereof in the second language is stored in the translation cache and if so, retrieving the translation and if the translation is not stored in the translation cache, translating the content from the first language to the second language and storing the translation in the translation cache.

### Claim 17

A system for distribution of a content item, provided by a source to a content distribution system, to a subset of a plurality of users, the content distribution system comprising a processor, a memory coupled with the processor and a data store coupled with the memory and the processor, the memory comprising a cache and the data store comprising a database, the system comprising:
first logic stored in the memory and executable by the processor to cause the processor to receive the content item from the source, the content item being associated with data indicative of a subset of a plurality of keywords selected from a plurality of keyword sets, each keyword set comprising a hierarchical sequence of keywords, wherein for each keyword set a first keyword of the sequence of keywords defines a context, different from a context defined by a first keyword of a different keyword set, and each subsequent keyword of the sequence of the keyword set defines a narrowing of the context over the previous keyword of the sequence of the keyword set;
second logic stored in the memory and executable by the processor to cause the processor to store each of the received content item in a first format in the database in association with data indicative of at least a subset of the subset of the plurality of keywords associated with the received content item;
third logic stored in the memory and executable by the processor to cause the processor to determine whether to store the received content item in the cache and, where it is determined to store the received content item in the cache, store each of the received content item in a second format, different from the first format, in the cache in association with data indicative of at least a subset of the subset of the plurality of keywords associated with the received content item;
fourth logic stored in the memory and executable by the processor to cause the processor to receive a request for content from a requestor via a network coupled therewith;
fifth logic stored in the memory and executable by the processor to cause the processor to identify, based on the received request, one or more keywords selected from the plurality of keyword sets;
wherein the fifth logic is further executable by the processor to cause the processor to determine, based on at least a subset of the identified keywords, whether there are any previously received content items stored in the cache in association with the subset of the identified keywords and, if there are any previously received content items stored in the cache in association with the subset of the identified keywords, cause transmission of at least a subset of those determined previously received content items from the cache to the requestor;
where there are no previously received content items stored in the cache in association with the subset of the identified keywords, the fifth logic being further executable by the processor to cause the processor to determine, based on at least the subset of the identified keywords, whether there are any previously received content items stored in the database in association with the subset of the identified keywords and if there are any previously received content items stored in the database in association with the subset of the identified keywords, retrieve at least a subset of those determined previously received content items from the database, convert the retrieved content items from the first format to the second format, store the converted content items in the cache in association with data indicative of at least a subset of the subset of the plurality of keywords associated with the retrieved content items, and cause transmission of the converted retrieved content items to the requestor.

### Claim 18

A system for distribution of a content item by a source to a content distribution system, to a subset of a plurality of users, the content distribution system comprising a memory and a data store, the memory comprising a cache and the data store comprising a database, the system comprising:
a content receiver coupled with the network and operative to receive the content item from the source, the content item being associated with data indicative of a subset of a plurality of keywords selected from a plurality of keyword sets, each keyword set comprising a hierarchical sequence of keywords, wherein for each keyword set a first keyword of the sequence of keywords defines a context, different from a context defined by a first keyword of a different keyword set, and each subsequent keyword of the sequence of the keyword set defines a narrowing of the context over the previous keyword of the sequence of the keyword set;
a database manager coupled with database and the content receiver and operative to store each of the received content item in a first format in the database in association with data indicative of at least a subset of the subset of the plurality of keywords associated with the received content item;
a cache manager coupled with the cache and the content receiver and operative to determine whether to store the received content item in the cache and, where it is determined to store the received content item in the cache, store each of the received content item in a second format, different from the first format, in the cache in association with data indicative of at least a subset of the subset of the plurality of keywords associated with the received content item;
a request receiver coupled with the network operative to receive a request for content from a requestor via a network coupled therewith;
a search manager coupled with the request receiver, database manager and cache manager and operative to identify, based on the received request, one or more keywords selected from the plurality of keyword sets;
the search manager being further operative to determine, based on at least a subset of the identified keywords, whether there are any previously received content items stored in the cache in association with the subset of the identified keywords and, if there are any previously received content items stored in the cache in association with the subset of the identified keywords, cause transmission of at least a subset of those determined previously received content items from the cache to the requestor;
where there are no previously received content items stored in the cache in association with the subset of the identified keywords, the search manager being further operative to determine, based on at least the subset of the identified keywords, whether there are any previously received content items stored in the database in association with the subset of the identified keywords and if there are any previously received content items stored in the database in association with the subset of the identified keywords, retrieve at least a subset of those determined previously received content items from the database, convert the retrieved content items from the first format to the second format, store the converted content items in the cache in association with data indicative of at least a subset of the subset of the plurality of keywords associated with the retrieved content items, and cause transmission of the converted retrieved content items to the requestor.

### Claim 19 (depends on 18)

The system of claim 18, wherein the source comprises a device operated by a user of the plurality of users.

### Claim 20 (depends on 18)

The system of claim 18 wherein the second format comprises JavaScript Object Notation (“JSON”).

### Claim 21 (depends on 18)

The system of claim 18 wherein the received content item is further sequentially associated with one or more previously received content items, the received content item and the previously received content items being stored in the cache and/or database in association with each other such that any determination of whether there are any previously received content items stored in the cache and/or database responsive to a request which identifies one of the received content or sequentially associated one or more previously received content items causes at least a subset of the received content and sequentially associated one or more previously received content items to be retrieved.

### Claim 22 (depends on 18)

The system of claim 18 wherein the cache manager is further operative to determine whether the cache has available capacity and store the received content item in the cache when the cache has available capacity.

### Claim 23 (depends on 18)

The system of claim 18 wherein the cache manager is further operative to determine to store the received content item in the cache if previously received content items, whose associated data is indicative of a subset of the plurality of keywords which at least partially overlaps the subset of the plurality of keywords associated with the received content item, are stored in the cache.

### Claim 24 (depends on 18)

The system of claim 18 wherein the cache manager is further operative to compute a ranking value of the received content item and store the received content item in the cache if the computed ranking value exceeds a threshold.

### Claim 25 (depends on 24)

The system of claim 24 wherein the threshold is based on the computed ranking value of at least a subset of other previously received content items stored in the cache.

### Claim 26 (depends on 18)

The system of claim 18 wherein the content distribution system further comprises a category database operative to store the plurality of keyword sets wherein each keyword within each keyword set is identified by a unique identifier, and further wherein the data indicative of a subset of the plurality of keywords comprises the unique identifiers of the respective keywords as stored in the category database.

### Claim 27 (depends on 18)

The system of claim 18 further comprising a user database, coupled with the processor, which includes a plurality of data records, each associated with one user of the plurality of users, each data record further comprising data indicative of a subset of the plurality of keywords selected from the plurality of keyword sets, wherein the request for content comprises an update request, the search manager being further operative to identify the user from which the request for content was received, retrieve the data record from the user database associated with the identified user and determine the identified keywords based on the subset of the plurality of keywords of the retrieved data record.

### Claim 28 (depends on 18)

The system of claim 18 wherein the request for content specifies a content scope, the search manager being further operative to determine the identified keywords based on the content scope.

### Claim 29 (depends on 28)

The system of claim 28 wherein a minimum number of content items to transmit responsive to the request for content is defined, and wherein if the number of determined previously received content items in the cache or database does not exceed the minimum number of content items to transmit, the search manager is further operative to modify the specified content scope so as to increase the number of determined previously received content items in the cache or database.

### Claim 30 (depends on 18)

The system of claim 18 wherein the cache manager is further operative to evaluate, a subset of content items stored in the cache to compute a ranking value thereof and, wherein the computed ranking value does not exceed a threshold value, remove the subset of content items from the cache.

### Claim 31 (depends on 18)

The system of claim 18 wherein the received content item further includes data indicative of a geographic location related to the content item, wherein the data indicative of a geographic location is operative to enable display of an indication of the indicated geographic location of the content item by the receiving requestor geographically relative to a display of an indication of the indicated geographic location of another received content item.

### Claim 32 (depends on 18)

The system of claim 18 wherein the received content item includes content characterized by a first language and further wherein the received request is associated with a second language, the search manager being further operative, prior to the transmission of at least a subset of those determined previously received content items from the cache to the requestor or the transmission of the converted retrieved content items to the requestor, to determine whether the first language of content items to be transmitted is the same as the second language and if not, translate the content of each of the content items from the first language to the second language prior to transmission.

### Claim 33 (depends on 32)

The system of claim 32 wherein the system further includes a translation cache coupled with the search manager, the search manager being further operative to determine, for each content item to be transmitted, whether a translation of the content thereof in the second language is stored in the translation cache and if so, retrieve the translation and if the translation is not stored in the translation cache, translate the content from the first language to the second language and storing the translation in the translation cache.

### Claim 34

A system for distribution of a content item, provided by a source to a content distribution system, to a subset of a plurality of users via a network coupled therewith, the content distribution system comprising a processor, a memory coupled with the processor and a data store coupled with the memory and the processor, the memory comprising a cache and the data store comprising a database, the system comprising:
means for receiving the content item from the source, the content item being associated with data indicative of a subset of a plurality of keywords selected from a plurality of keyword sets, each keyword set comprising a hierarchical sequence of keywords, wherein for each keyword set a first keyword of the sequence of keywords defines a context, different from a context defined by a first keyword of a different keyword set, and each subsequent keyword of the sequence of the keyword set defines a narrowing of the context over the previous keyword of the sequence of the keyword set;
means for storing each of the received content item in a first format in the database in association with data indicative of at least a subset of the subset of the plurality of keywords associated with the received content item;
means for determining whether to store the received content item in the cache and, where it is determined to store the received content item in the cache, storing, by the processor, each of the received content item in a second format, different from the first format, in the cache in association with data indicative of at least a subset of the subset of the plurality of keywords associated with the received content item;
means for receiving a request for content from a requestor via the network;
means for identifying, based on the received request, one or more keywords selected from the plurality of keyword sets;
means for determining, based on at least a subset of the identified keywords, whether there are any previously received content items stored in the cache in association with the subset of the identified keywords and, if there are any previously received content items stored in the cache in association with the subset of the identified keywords, causing the transmission of at least a subset of those determined previously received content items from the cache to the requestor via the network;
where there are no previously received content items stored in the cache in association with the subset of the identified keywords, the means for determining further including means for determining, based on at least the subset of the identified keywords, whether there are any previously received content items stored in the database in association with the subset of the identified keywords and if there are any previously received content items stored in the database in association with the subset of the identified keywords, retrieving at least a subset of those determined previously received content items from the database, converting the retrieved content items from the first format to the second format, storing the converted content items in the cache in association with data indicative of at least a subset of the subset of the plurality of keywords associated with the retrieved content items, and causing transmission of the converted retrieved content items to the requestor via the network.
