Victim cache that supports draining write-miss entries
US-2024264952-A1 · Aug 8, 2024 · US
US9417936B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9417936-B2 |
| Application number | US-201314372540-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 16, 2013 |
| Priority date | Jan 20, 2012 |
| Publication date | Aug 16, 2016 |
| Grant date | Aug 16, 2016 |
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.
The disclosed embodiments relate to regulation of receipt, rate or volume, and processing of messages, such as order, mass quote or other trade related messages by available trading system resources to minimize congestion, maximize efficient use, minimize unfair monopolization and ensure fair access to/allocation thereof. The disclosed embodiments may act as a governor limiting the maximum rate of message submission to the rate at which the submitted messages can be processed. In particular, the number of concurrent, i.e. received/accepted but not yet completed/processed/responded to, messages may be limited. As long as the limit is not exceeded, i.e. the rate of completion/processing meets or exceeds the receipt rate, no interruption may be imposed. However, once the limit is reached, subsequently received messages may be buffered or otherwise dropped. In this way, the limit may define the extent to which incoming messages may consume the concurrent processing capacity, or allocated portion thereof.
Opening claim text (preview).
What is claimed is: 1. A computer implemented method for managing processing of a plurality of messages, the method comprising: receiving, by a processor, a message, of the plurality of messages, which includes a plurality of quotes for at least one financial instrument; determining, by the processor upon receipt of the message, a number of previously received messages of the plurality of messages for which processing has begun but not yet completed and further determining, by the processor, whether the number of previously received messages for which processing has begun but not yet completed plus the received message complies with a limit of how many messages may be concurrently processed; and wherein, if it is determined that the number of previously received messages for which processing has begun but not yet completed plus the received message complies with the limit of how many messages may be concurrently processed, commencing processing by the processor of the received message, and if it is determined that the number of previously received messages for which processing has begun but not yet completed plus the received message does not comply with the limit of how many messages may be concurrently processed, not commencing processing by the processor of the received message. 2. The computer implemented method of claim 1 wherein the plurality of messages and the limit are associated with a session, a gateway, a customer, a message type or a combination thereof. 3. The computer implemented method of claim 1 wherein the plurality of messages are received via a plurality of sessions, each of the plurality of sessions being associated with a limit of how many messages may be concurrently processed. 4. The computer implemented method of claim 1 wherein the plurality of messages are received via a plurality of gateways, each of the plurality of gateways being associated with a limit of how many messages may be concurrently processed. 5. The computer implemented method of claim 1 wherein the limit of how many messages may be concurrently processed is defined based on current or prior message processing capacity, message processing load, available bandwidth of a communications medium over which the plurality of messages are received by the processor, throughput time to complete processing of a message once commenced, rate of message receipt by the processor, or combinations thereof. 6. The computer implemented method of claim 1 wherein the limit is static. 7. The computer implemented method of claim 1 wherein the limit is dynamic. 8. The computer implemented method of claim 1 wherein a received message for which processing is not commenced is rejected. 9. The computer implemented method of claim 1 wherein a received message for which processing is not commenced is stored in a memory coupled with the processor to be processed when it is determined by the processor that the number of previously received messages for which processing has not yet completed plus the stored received message complies with the limit of how many messages may be concurrently processed. 10. The computer implemented method of claim 9 wherein the memory is characterized by a capacity and wherein, if the memory is at capacity, the received message is rejected rather than stored. 11. The computer implemented method of claim 9 further comprising: prior to the determining by the processor whether the number of previously received messages for which processing has begun but not yet completed plus the received message complies with a limit of how many messages may be concurrently processed, determining, by the processor, whether the number of previously received messages for which processing has begun but not yet completed plus at least one of the stored received message complies with a limit of how many messages may be concurrently processed; and wherein if it is determined that the number of previously received messages for which processing has begun but not yet completed plus the at least one stored received message complies with the limit of how many messages may be concurrently processed, removing the at least one stored received message and commencing processing thereof by the processor. 12. The computer implemented method of claim 1 further comprising generating an indicator upon completion of processing of a message. 13. The computer implemented method of claim 12 wherein the indicator comprises a response message. 14. The computer implemented method of claim 1 generating an indicator when processing of the received message is not commenced. 15. The computer implemented method of claim 1 further comprising adjusting a counter for each of the plurality of messages for which processing is commenced and for each of the plurality of messages for which processing is completed, wherein the determining further comprises comparing the counter with the limit. 16. The computer implemented method of claim 15 wherein the counter is initialized to zero, the adjusting further comprising incrementing the counter for each of the plurality of messages for which processing is commenced and decrementing the counter for each of the plurality of messages for which processing is completed, the determining further comprising determining that the limit is not complied with when the counter equals the limit. 17. The computer implemented method of claim 15 wherein the counter is initialized to equal the limit, the adjusting further comprising decrementing the counter for each of the plurality of messages for which processing is commenced and incrementing the counter for each of the plurality of messages for which processing is completed, the determining further comprising determining that the limit is not complied with when the counter is zero. 18. The computer implemented method of claim 1 wherein the maximum rate of commencing of message processing is limited by a rate at which processing message is completed. 19. A system for managing processing of a plurality of messages, the system comprising a processor and a memory coupled therewith, the system further comprising: first logic stored in the memory and executable by the processor to cause the processor to receive a message, of the plurality of messages, which includes a plurality of quotes for at least one financial instrument; second logic stored in the memory and executable by the processor to cause the processor to determine, upon receipt of the message, a number of previously received messages of the plurality of messages for which processing has begun but not yet completed and further determine whether the number of previously received messages for which processing has begun but not yet completed plus the received message complies with a limit of how many messages may be concurrently processed; and wherein, if it is determined that the number of previously received messages for which processing has begun but not yet completed plus the received message complies with the limit of how many messages may be concurrently processed, the second logic is further operative to commence processing of the received message, and if it is determined that the number of previously received messages for which processing has begun but not yet completed plus the received message does not comply with the limit of how many messages may be concurrently processed, the second logic is further operative to not commence processing of the received message. 20. The system of claim 19 wherein the plurality of messages and the limit a
Related publications grouped by family.
Answers are generated from the same data shown on this page.