Efficient indexing of feed updates for content feeds
First Claim
Patent Images
1. A method, comprising:
- for each entity in a set of entities within an online network, generating a corresponding index comprising one or more lists of resizable blocks storing feed updates associated with the entity, wherein each list of resizable blocks is associated with a different feed update type;
storing a set of new feed updates associated with the entities in descending chronological order by, for each entity;
using the index corresponding to the entity to match one or more attributes of a new feed update associated with the entity to a key for a list of resizable blocks, wherein;
each resizable block represents a storage block in memory; and
the key for the list of resizable blocks includes the feed update type associated with the list and an entity ID for the entity;
writing the new feed update to a first resizable block in the list; and
when a size limit of the first resizable block is exceeded by a write of another new feed update to the first resizable block;
adding a second resizable block to the list; and
storing a portion of feed updates associated with the first resizable block in the second resizable block;
using the indexes to generate, by a computer system, a content feed comprising a selection of stored feed updates for outputting to a viewer;
generating a visual representation of the content feed comprising the selected feed updates; and
presenting the visual representation of the content feed to the viewer.
2 Assignments
0 Petitions
Accused Products
Abstract
The disclosed embodiments provide a system for processing data. During operation, the system stores a set of feed updates associated with a set of entities in descending chronological order within a set of resizable blocks. For each entity in the set of entities, the system generates an index containing one or more lists of resizable blocks storing a subset of the feed updates associated with the entity, wherein the one or more lists are sorted in descending chronological order. The system then uses the index to generate a content feed containing a selection of the feed updates for outputting to a viewer.
5 Citations
20 Claims
-
1. A method, comprising:
-
for each entity in a set of entities within an online network, generating a corresponding index comprising one or more lists of resizable blocks storing feed updates associated with the entity, wherein each list of resizable blocks is associated with a different feed update type; storing a set of new feed updates associated with the entities in descending chronological order by, for each entity; using the index corresponding to the entity to match one or more attributes of a new feed update associated with the entity to a key for a list of resizable blocks, wherein; each resizable block represents a storage block in memory; and the key for the list of resizable blocks includes the feed update type associated with the list and an entity ID for the entity; writing the new feed update to a first resizable block in the list; and when a size limit of the first resizable block is exceeded by a write of another new feed update to the first resizable block; adding a second resizable block to the list; and storing a portion of feed updates associated with the first resizable block in the second resizable block; using the indexes to generate, by a computer system, a content feed comprising a selection of stored feed updates for outputting to a viewer; generating a visual representation of the content feed comprising the selected feed updates; and presenting the visual representation of the content feed to the viewer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 19)
-
-
11. An apparatus, comprising:
-
one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the apparatus to; for each entity in a set of entities within an online network, generate a corresponding index comprising one or more lists of resizable blocks storing feed updates associated with the entity, wherein each list of resizable blocks is associated with a different feed update type; store a set of new feed updates associated with the entities in descending chronological order by, for each entity; using the index corresponding to the entity to match one or more attributes of a new feed update associated with the entity to a key for a list of resizable blocks, wherein; each resizable block represents a storage block in memory; and the key for the list of resizable blocks includes the feed update type associated with the list and an entity ID for the entity; writing the new feed update to a first resizable block in the list; and when a size limit of the first resizable block is exceeded by a write of another new feed update to the first resizable block; adding a second resizable block to the list; and storing a portion of feed updates associated with the first resizable block in the second resizable block; use the indexes to generate a content feed comprising a selection of stored feed updates for outputting to a viewer; generate a visual representation of the content feed comprising the selected feed updates; and present the visual representation of the content feed to the viewer. - View Dependent Claims (12, 13, 14, 15, 16, 20)
-
-
17. A system, comprising:
-
one or more processors; and a storage mechanism comprising a non-transitory computer-readable medium comprising instructions that, when executed, cause the system to store a set of feed updates associated with a set of entities within an online network in descending chronological order by, for each entity; using the index corresponding to the entity to match one or more attributes of a new feed update associated with the entity to a key for a list of resizable blocks, wherein; each resizable block represents a storage block in memory; and the key for the list of resizable blocks includes the feed update type associated with the list and an entity ID for the entity; writing the new feed update to a first resizable block in the list; and when a size limit of the first resizable block is exceeded by a write of another new feed update to the first resizable block; adding a second resizable block to the list; and storing a portion of feed updates associated with the first resizable block in the second resizable block; and an indexing apparatus comprising a non-transitory computer-readable medium comprising instructions that, when executed, cause the system to; for each entity in a set of entities within an online network, generating a corresponding index comprising one or more lists of resizable blocks storing feed updates associated with the entity, wherein each list of resizable blocks is associated with a different feed update type; use the indexes to generate a content feed comprising a selection of stored feed updates for outputting to a viewer; generate a visual representation of the content feed comprising the selected feed updates; and present the visual representation of the content feed to the viewer. - View Dependent Claims (18)
-
Specification