PATENT CLAIM ANALYSIS

Application Number: 15945216
Application Type: Utility
Filing Date: 2018-04
Publication Date: 2018-08
Patent Classification: ["711", "154000"]

Abstract:
A computer-implemented method includes writing, by a producer, data to one or more buffers. The one or more buffers include a plurality of cells and together form a circular buffer, and an input cursor indicates which cell of the plurality of cells the producer writes to. The method further includes reading, by a consumer, data from the one or more buffers, where an output cursor indicates which cell of the plurality of cells the consumer reads from. It is detected that the consumer is overrun by the producer. A throughput of the consumer is compared to a throughput of the producer, responsive to detecting that the consumer is overrun by the producer. The output cursor is synchronized to a new position, by a computer processor, where the new position is selected based on comparing the throughput of the consumer to the throughput of the producer.

Claim (Index 13):
A computer program product for synchronizing an output cursor of a consumer, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising:\n writing, by a producer, data to one or more buffers, the one or more buffers comprising a plurality of cells and together forming a circular buffer, wherein a producer cursor indicates to which cell of the plurality of cells the producer writes; reading, by a consumer, data from the one or more buffers, wherein a consumer cursor indicates from which cell of the plurality of cells the consumer reads; detecting that the consumer is overrun by the producer on a first overrun occasion; responsive to detecting that the consumer is overrun by the producer on the first overrun occasion, determining that a consumer rate at which the consumer reads data from the circular buffer exceeds a producer rate at which the producer writes data to the circular buffer; responsive to detecting that the consumer is overrun by the producer on the first overrun occasion, determining a first margin by which the consumer rate exceeds the producer rate on the first overrun occasion; determining, based on the first margin by which the consumer rate exceeds the producer rate on the first overrun occasion, that the consumer will not read a first predetermined portion of unread data in the circular buffer before becoming overrun again; responsive to determining that the consumer will not read the first predetermined portion of unread data in the circular buffer before becoming overrun again:\n identifying an oldest cell comprising an oldest unit of data in the one or more buffers; and \n determining a first new position by incrementing from the oldest cell by at least a portion of the circular buffer; and \n synchronizing the consumer cursor to the first new position, responsive to the detecting that the consumer is overrun by the producer on the first overrun occasion.

Metadata:
- Claim Count in Document: 3.0
- Percentile: 91.0
- Lexical Diversity: 2.71186
- Patent Class: 711.0
- Transitional Phrase Type: open
- Component Type: 1
- Foreign Priority: False
- Related Applications: ['15052994', '09726215', '15078400', '14879679', '13494837']

Analysis Scores:
- 35 USC 101 Eligibility (BERT): 0.5625175867718467
- 35 USC 102 Novelty (BERT): 0.550810210357985
- Combined Prediction Score: 0.5613468491304605
- Mean Citation Score: 209.516044
- Max Citation Score: 419.4207
- Similarity Product: 402.7012866721632

Labels:
- Claim Label 101: 1
- Claim Label 102: 1
- Claim Label 103: 1
- Claim Label 112: 1
- Combined Label: 1
- Label 101 Adjusted: 0

Dataset: test