Integrity verification in cloud key-value stores
US-2021334409-A1 · Oct 28, 2021 · US
US11936709B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11936709-B2 |
| Application number | US-202318336348-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 16, 2023 |
| Priority date | Dec 11, 2020 |
| Publication date | Mar 19, 2024 |
| Grant date | Mar 19, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A data stream processing system is operable to generate key assignment data indicating assignment of each of a plurality of subsets of a plurality of possible keys to a plurality of feed receiver modules by assigning one owner feed receiver module of the plurality of feed receiver modules to each key of the plurality of possible keys for a plurality of incoming messages, and by further assigning a set of follower feed receiver modules of the plurality of feed receiver modules to the each key of the plurality of possible keys. The plurality of incoming messages are processed via the plurality of feed receiver modules based on the key assignment data.
Opening claim text (preview).
What is claimed is: 1. A method comprising: generating key assignment data indicating assignment of each of a plurality of subsets of a plurality of possible keys to a plurality of feed receiver modules by assigning one owner feed receiver module of the plurality of feed receiver modules to each key of the plurality of possible keys for a plurality of incoming messages, and by further assigning a set of follower feed receiver modules of the plurality of feed receiver modules to the each key of the plurality of possible keys; and processing the plurality of incoming messages via the plurality of feed receiver modules based on the key assignment data based on, via each feed receiver module in the plurality of feed receiver modules: receiving a proper subset of messages of the plurality of incoming messages; and emitting only owned ones of the proper subset of messages. 2. The method of claim 1 , wherein the each feed receiver module maintains a queue in accordance with a time-based ordering based on timestamps included in the proper subset of messages, and wherein the queue is maintained by the each feed receiver module to include only ones of the proper subset of messages with timestamps that compare favorably to a time window. 3. The method of claim 1 , wherein the proper subset of messages of the plurality of incoming messages includes followed ones of the proper subset of messages, based on having keys included in a followed subset of keys in a corresponding subset the plurality of possible keys, corresponding to keys in the corresponding subset to which the each feed receiver module is assigned as a follower in the key assignment data, and wherein the followed ones of the proper subset of messages are not emitted by the each feed receiver module. 4. The method of claim 1 , wherein the method further comprises: determining key reassignment data indicating assignment of a new plurality of subsets of the plurality of possible keys to a proper subset of the plurality of feed receiver modules; processing the plurality of incoming messages via the plurality of feed receiver modules based on the key reassignment data by, for a feed receiver module in the plurality of feed receiver modules: receiving a second proper subset of messages of the plurality of incoming messages with keys included in a new subset of the new plurality of subsets of the plurality of possible keys assigned to the each feed receiver module in the key reassignment data; maintaining all messages of the second proper subset of messages that compare favorably to a time window; and emitting only owned ones of the second proper subset of messages, based on having keys included in an owned subset of keys in the new subset, corresponding to ones of the new subset of the plurality of possible keys to which the each feed receiver module is assigned as an owner in the key reassignment data. 5. The method of claim 4 , wherein a set difference between the owned subset of keys in the new subset and the owned subset of keys in the corresponding subset is non-null for at least one of the plurality of feed receiver modules. 6. The method of claim 4 , wherein the method further comprises, for each of the plurality of feed receiver modules assigned as an owner to at least one new key in the key reassignment data: identifying newly owned messages as a subset of the proper subset of messages, based on having keys included in a newly owned subset of keys to which the each feed receiver module is assigned as an owner in the key reassignment data; and emitting the newly owned messages. 7. The method of claim 6 , wherein each of the proper subset of messages maintained by the each feed receiver module includes a corresponding timestamp, and wherein identifying the newly owned messages includes identifying ones of the proper subset of messages having a key included in the newly owned subset of keys and further having timestamps that are more-recent than another timestamp associated with the key for the key reassignment data. 8. The method of claim 7 , wherein the another timestamp is generated based on at least one of: a timestamp of a most recently emitted message for the key by a prior owner for the key indicated in the key assignment data. 9. The method of claim 4 , further comprising: determining to generate the key reassignment data based on detecting that one feed receiver in the plurality of feed receiver modules undergoes at least one of: a failure condition, or an offline condition; and generating the key reassignment data based on assigning a new one of the plurality of feed receiver modules as the owner for each key in the owned subset of keys assigned to the one feed receiver in the key assignment data; wherein the proper subset of the plurality of feed receiver modules is selected to not include the one feed receiver; and wherein each new one of the plurality of feed receiver modules assigned as the owner for a corresponding key in the owned subset of keys assigned to the one feed receiver in the key assignment data is selected based on being assigned as a follower of the corresponding key in the key assignment data. 10. The method of claim 9 , wherein a set of follower feed receiver modules of the plurality of feed receiver modules are assigned to the each key of the plurality of possible keys in the key assignment data based on: assignment of a same, predefined number of feed receiver modules of the plurality of feed receiver modules to the each key of the plurality of possible keys; and assignment of a set of follower rankings to the set of follower feed receiver modules; wherein the each new one of the plurality of feed receiver modules is further selected based on having a most favorably ranked one of the set of follower rankings of the set of follower feed receiver modules assigned to the corresponding key in the key assignment data. 11. The method of claim 10 , wherein a remaining subset of the set of follower feed receiver modules assigned to the corresponding key in the key assignment data are assigned new follower rankings in the key reassignment data based on preserving an original ordering of the set of follower rankings, and based on incrementing each of the set of follower rankings to generate the new follower rankings. 12. The method of claim 11 , wherein the key reassignment data includes assignment of the same, predefined number of feed receiver modules of the plurality of feed receiver modules to the each key of the plurality of possible keys; wherein a new one of the plurality of feed receiver modules is assigned in each new set of follower feed receiver modules for the corresponding key in the key reassignment data based on the one of the set of follower feed receiver modules assigned to the corresponding key in the key assignment data, and having favorably ranked one of the set of follower rankings, being assigned as the owner for the corresponding key in the key reassignment data; and wherein the new one of the plurality of feed receiver modules for the corresponding key is assigned a least favorable one of the set of follower rankings in the key reassignment data based on incrementing the each of the set of follower rankings to generate the new follower rankings for the remaining subset of the set of follower feed receiver modules of the corresponding key. 13. The method of claim 9 , wherein the one owner feed receiver module of the plurality of feed receiver modules is assigned to each key of the plurality of possible keys for the plurality of incoming messages in the key assignment data based on application of a consistent hashing scheme, and wherein the new
Media network packet handling · CPC title
adapting media to device capabilities · CPC title
Data stream processing; Continuous queries · CPC title
Query processing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.