Abstract: The present disclosure is directed to systems and methods for parallel and scalable processing of messages containing telemetry data at an administrator system. The administrator system can receive a large number of messages containing telemetry data from many dispenser machines in a short amount of time. To receive and process those messages, the systems and methods of the present disclosure provide a message queuer to queue the messages (or at least the telemetry data in the messages) in a plurality of queues and a different thread or process for each of the plurality of queues. Each thread or process can pull messages out of its assigned queue in order and process the telemetry data of the messages. The threads or processes can run on one or more central processing unit cores at the administrator system. This setup allows for horizontal scaling in terms of message processing throughput.
WHAT IS CLAIMED IS:
1. An administrator controller comprising:
a message queuer comprising:
a plurality of queues configured to store web service messages received over a computer network from dispenser machines, wherein a number of the plurality of queues is less than a number of the dispenser machines, and
a mapper configured to place one of the web service messages received over the computer network into one of the plurality of queues based on a dispenser machine from which the web service message is received; and
an administrator web service provider configured to assign a different one of a plurality of threads to each of the plurality of queues to process telemetry data contained in the web service messages stored in the plurality of message queues, wherein the plurality of threads are configured to run on two or more central processing unit (CPU) cores.
2. The administrator controller of claim 1, wherein the mapper is configured to place the web service message received over the computer network into the one of the plurality of queues based on the dispenser machine from which the web service message is received by performing a hash of a dispenser machine identifier in the web service message.
3. The administrator controller of claim 1, wherein a hash value of the hash of the dispenser machine identifier corresponds to the one of the plurality of queues.
4. The administrator controller of claim 1, wherein the mapper is further configured to place the web service message received over the computer network into the one of the plurality of queues based on when the web service message was generated at the dispenser machine relative to other web service messages generated by the dispenser machine in the one of the plurality of queues.
5. The administrator controller of claim 1, wherein the plurality of threads are configured to process the telemetry data contained in the web service messages stored in the plurality of message queues by placing the telemetry data into a database.
6. The administrator controller of claim 1, wherein the plurality of threads are configured to process the telemetry data contained in the web service messages stored in the plurality of message queues to aid in distribution of materials to the dispenser machines or in maintenance of the dispenser machines.
7. The administrator controller of claim 1, wherein the dispensing machine dispenses beverages.
8. The administrator controller of claim 1, wherein the computer network is the internet.
9. A method comprising:
placing a web service message received over a computer network into one of a plurality of queues based on a dispenser machine from which the web service message is received and
based on when the web service message was generated at the dispenser machine relative to other web service messages generated by the dispenser machine in the one of the plurality of queues; and
at the dispenser assigning a different one of a plurality of threads to each of the plurality of queues to process telemetry data contained in web service messages in the plurality of message queues,
wherein the plurality of threads are configured to run on two or more central processing unit (CPU) cores.
10. The method of claim 9, wherein placing the web service message received over the
computer network into the one of the plurality of queues based on the dispenser machine
from which the web service message is received comprises:
performing a hash of a dispenser machine identifier in the web service message.
11. The method of claim 9, wherein a hash value of the hash of the dispenser machine identifier corresponds to the one of the plurality of queues.
12. The method of claim 9, wherein the plurality of threads are configured to process the telemetry data contained in the web service messages in the plurality of message queues by placing the telemetry data into a database.
13. The method of claim 9, wherein the plurality of threads are configured to process the telemetry data contained in the web service messages in the plurality of message queues to aid in distribution of materials to dispenser machines or in maintenance of the dispenser machines.
14. The method of claim 9, wherein the dispensing machine dispenses beverages.
15. The method of claim 9, wherein the computer network is the internet.
16. An administrator controller comprising:
a message queuer comprising:
a plurality of queues configured to store web service messages received over a computer network from dispenser machines, and
a mapper configured to place one of the web service messages received over the computer network into one of the plurality of queues based on a dispenser machine from which the web service message is received and based on when the web service message was generated at the dispenser machine relative to other web service messages generated by the dispenser machine in the one of the plurality of queues; and
an administrator web service provider configured to assign a different one of a plurality of threads to each of the plurality of queues to process telemetry data contained in web service messages stored in the plurality of message queues, wherein the plurality of threads are configured to run on two or more central processing unit (CPU) cores.
17. The administrator controller of claim 16, wherein the mapper is configured to place the
web service message received over the computer network into the one of the plurality of
queues based on the dispenser machine from which the web service message is received by performing a hash of a dispenser machine identifier in the web service message.
IS. The administrator controller of claim 16, wherein a hash value of the hash of the dispenser machine identifier corresponds to the one of the plurality of queues.
19. The administrator controller of claim 16, wherein the plurality of threads are configured to process the telemetry data contained in the web service messages stored in the plurality of message queues by placing the telemetry data into a database.
20. The administrator controller of claim 16, wherein the plurality of threads are configured to process the telemetry data contained in the web service messages stored in the plurality of message queues to aid in distribution of materials to the dispenser machines or in maintenance of the dispenser machines.
| Section | Controller | Decision Date |
|---|---|---|
| # | Name | Date |
|---|---|---|
| 1 | 201847043579-IntimationOfGrant29-08-2024.pdf | 2024-08-29 |
| 1 | 201847043579.pdf | 2018-11-20 |
| 2 | 201847043579-PatentCertificate29-08-2024.pdf | 2024-08-29 |
| 2 | 201847043579-STATEMENT OF UNDERTAKING (FORM 3) [20-11-2018(online)].pdf | 2018-11-20 |
| 3 | 201847043579-POWER OF AUTHORITY [20-11-2018(online)].pdf | 2018-11-20 |
| 3 | 201847043579-FORM 3 [11-10-2023(online)].pdf | 2023-10-11 |
| 4 | 201847043579-Response to office action [26-05-2023(online)].pdf | 2023-05-26 |
| 4 | 201847043579-FORM 1 [20-11-2018(online)].pdf | 2018-11-20 |
| 5 | 201847043579-FORM 3 [13-02-2023(online)].pdf | 2023-02-13 |
| 5 | 201847043579-DRAWINGS [20-11-2018(online)].pdf | 2018-11-20 |
| 6 | 201847043579-FORM 3 [12-05-2022(online)].pdf | 2022-05-12 |
| 6 | 201847043579-DECLARATION OF INVENTORSHIP (FORM 5) [20-11-2018(online)].pdf | 2018-11-20 |
| 7 | 201847043579-COMPLETE SPECIFICATION [20-11-2018(online)].pdf | 2018-11-20 |
| 7 | 201847043579-ABSTRACT [28-03-2022(online)].pdf | 2022-03-28 |
| 8 | Correspondence by Agent_Power of Attorney_22-11-2018.pdf | 2018-11-22 |
| 8 | 201847043579-CLAIMS [28-03-2022(online)].pdf | 2022-03-28 |
| 9 | 201847043579-DRAWING [28-03-2022(online)].pdf | 2022-03-28 |
| 9 | 201847043579-Proof of Right (MANDATORY) [03-01-2019(online)].pdf | 2019-01-03 |
| 10 | 201847043579-FER_SER_REPLY [28-03-2022(online)].pdf | 2022-03-28 |
| 10 | Correspondence by Agent_Assignment_04-01-2019.pdf | 2019-01-04 |
| 11 | 201847043579-FORM 3 [22-03-2019(online)].pdf | 2019-03-22 |
| 11 | 201847043579-Information under section 8(2) [28-03-2022(online)].pdf | 2022-03-28 |
| 12 | 201847043579-FORM 3 [24-02-2020(online)].pdf | 2020-02-24 |
| 12 | 201847043579-OTHERS [28-03-2022(online)].pdf | 2022-03-28 |
| 13 | 201847043579-FER.pdf | 2021-11-03 |
| 13 | 201847043579-FORM 18 [23-04-2020(online)].pdf | 2020-04-23 |
| 14 | 201847043579-FORM 3 [24-10-2021(online)].pdf | 2021-10-24 |
| 15 | 201847043579-FER.pdf | 2021-11-03 |
| 15 | 201847043579-FORM 18 [23-04-2020(online)].pdf | 2020-04-23 |
| 16 | 201847043579-FORM 3 [24-02-2020(online)].pdf | 2020-02-24 |
| 16 | 201847043579-OTHERS [28-03-2022(online)].pdf | 2022-03-28 |
| 17 | 201847043579-Information under section 8(2) [28-03-2022(online)].pdf | 2022-03-28 |
| 17 | 201847043579-FORM 3 [22-03-2019(online)].pdf | 2019-03-22 |
| 18 | Correspondence by Agent_Assignment_04-01-2019.pdf | 2019-01-04 |
| 18 | 201847043579-FER_SER_REPLY [28-03-2022(online)].pdf | 2022-03-28 |
| 19 | 201847043579-DRAWING [28-03-2022(online)].pdf | 2022-03-28 |
| 19 | 201847043579-Proof of Right (MANDATORY) [03-01-2019(online)].pdf | 2019-01-03 |
| 20 | 201847043579-CLAIMS [28-03-2022(online)].pdf | 2022-03-28 |
| 20 | Correspondence by Agent_Power of Attorney_22-11-2018.pdf | 2018-11-22 |
| 21 | 201847043579-ABSTRACT [28-03-2022(online)].pdf | 2022-03-28 |
| 21 | 201847043579-COMPLETE SPECIFICATION [20-11-2018(online)].pdf | 2018-11-20 |
| 22 | 201847043579-DECLARATION OF INVENTORSHIP (FORM 5) [20-11-2018(online)].pdf | 2018-11-20 |
| 22 | 201847043579-FORM 3 [12-05-2022(online)].pdf | 2022-05-12 |
| 23 | 201847043579-DRAWINGS [20-11-2018(online)].pdf | 2018-11-20 |
| 23 | 201847043579-FORM 3 [13-02-2023(online)].pdf | 2023-02-13 |
| 24 | 201847043579-FORM 1 [20-11-2018(online)].pdf | 2018-11-20 |
| 24 | 201847043579-Response to office action [26-05-2023(online)].pdf | 2023-05-26 |
| 25 | 201847043579-POWER OF AUTHORITY [20-11-2018(online)].pdf | 2018-11-20 |
| 25 | 201847043579-FORM 3 [11-10-2023(online)].pdf | 2023-10-11 |
| 26 | 201847043579-STATEMENT OF UNDERTAKING (FORM 3) [20-11-2018(online)].pdf | 2018-11-20 |
| 26 | 201847043579-PatentCertificate29-08-2024.pdf | 2024-08-29 |
| 27 | 201847043579.pdf | 2018-11-20 |
| 27 | 201847043579-IntimationOfGrant29-08-2024.pdf | 2024-08-29 |
| 1 | SS_201847043579E_11-05-2021.pdf |