# US 12,008,276 B2 · Cloud printing utilizing queued message service

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,008,276 B2
- Document ID: US12008276B2
- Status: Granted
- Kind: B2
- Application number: 18/226,467
- Filed: 2023-07-26
- Published: 2024-02-01
- Granted: 2024-06-11
- Earliest claimed: 2022-07-28
- Assignees: City Storage Systems LLC
- Applicants: City Storage Systems LLC
- Inventors: Henning Korsholm Rohde; Thiraphat Charoensripongsa; William David Wasserstrum
- Web page: https://patentgrep.com/patent/US12008276B2

## CPC

- G06F 3/1236: {Connection management}
- G06F 9/5072: {Grid computing}
- G06F 3/1203: {Improving or facilitating administration, e.g. print management}
- G06F 3/1212: {achieving reduced delay between job submission and print start}
- G06F 3/1259: {Print job monitoring, e.g. job status}
- G06F 3/126: {Job scheduling, e.g. queuing, determine appropriate device}
- G06F 3/1285: {Remote printer device, e.g. being remote from client or server}
- G06F 3/1287: {via internet}
- G06F 3/1288: {in client-server-printer device configuration}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 9/543: {User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]}
- G06F 16/278: {Data partitioning, e.g. horizontal or vertical partitioning}
- H04N 1/00233: {details of image data reproduction, e.g. network printing or remote image display (using an image reproducing device as a local output from a computer H04N1/00238; digital output from computer to printer unit G06F3/12)}
- G06F 3/121: {Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

The present disclosure describes a queued message service (QMS) that provides a multi-region, low-latency and reliable service for managing a large number of durable message queues for async targeted communication. This general-purpose, internal service QMS may be implemented in print queues as well as command queues for sensors. One example implementation of QMS is a print service. Such implementation introduces status indicators for printers internally, wherein such status indicators may identify whether a printer is blocked, offline, suspected of failure, properly functioning, etc.

## Claims

### Claim 1

A system, comprising:
memory; and
one or more processors in communication with the memory, the one or more processors configured to:
assign, by a leader, a range of addresses of a database to each of a plurality of coordinators, wherein each coordinator manages communications with a subset of one or more peripheral devices connected to the system;
receive, by a writer, an incoming message;
enqueue, by the writer, the message in the database; and
notify, by the writer based on an address of the enqueued message, one of the plurality of coordinators having the range of addresses that includes the address of the enqueued message.

### Claim 2 (depends on 1)

The system of claim 1, wherein the one or more processors are further configured to:
deliver, by a reader, the enqueued message to a recipient.

### Claim 3 (depends on 2)

The system of claim 2, wherein the recipient is a peripheral device.

### Claim 4 (depends on 3)

The system of claim 3, wherein the peripheral device comprises at least one of a speaker, display, or printer.

### Claim 5 (depends on 2)

The system of claim 2, wherein the reader is configured to:
load a payload of the enqueued message from the database; and
relay an acknowledgement to the one of the plurality of coordinators having the range of addresses that includes the address of the enqueued message.

### Claim 6 (depends on 1)

The system of claim 1, wherein the plurality of coordinators are configured to maintain a status of each of a plurality of connected peripheral devices.

### Claim 7 (depends on 1)

The system of claim 1, wherein the leader is further configured to distribute a load among the plurality of coordinators.

### Claim 8 (depends on 1)

The system of claim 1, wherein the plurality of coordinators maintain queue message metadata and delivery progress of messages.

### Claim 9 (depends on 1)

The system of claim 1, wherein the memory stores a shard assignment table, the shard assignment table indicating a correlation between each of the plurality of coordinators and an assigned address range.

### Claim 10 (depends on 1)

The system of claim 1, wherein each of the plurality of coordinators is configured to scan queues in the assigned address range of the database to check for newly committed messages.

### Claim 11

A method, comprising:
connecting a recipient device to a reader of a queued message service (QMS) node;
receiving, at a writer of the QMS node, a message for the recipient device;
writing, by the writer of the QMS node, a payload of the message to a database;
notifying, by the writer, a coordinator of the QMS node that the message was written to the database; and
based on a status of the recipient device, instructing, by the coordinator, the reader to deliver the message from the database to the recipient device.

### Claim 12 (depends on 11)

The method of claim 11, wherein the recipient device is a printer and the message is a print job.

### Claim 13 (depends on 11)

The method of claim 11, further comprising relaying, by the reader, an acknowledgement to the coordinator.

### Claim 14 (depends on 11)

The method of claim 11, further comprising:
determining, by the coordinator, a status of the recipient device based on a heartbeat from the recipient device; and
maintaining, by the coordinator, the status of the recipient device.

### Claim 15 (depends on 11)

The method of claim 11, further comprising maintaining, by the coordinator, queue message metadata and delivery progress of messages.

### Claim 16 (depends on 11)

The method of claim 11, further comprising storing a shard assignment table, the shard assignment table indicating a correlation between the coordinator and an assigned address range in the database.

### Claim 17 (depends on 16)

The method of claim 16, further comprising scanning, by the coordinator, queues in the assigned address range of the database to check for newly committed messages.

### Claim 18

A non-transitory computer-readable medium storing instructions executable by one or more processors for performing a method, comprising:
connecting a recipient device to a reader of a queued message service (QMS) node;
receiving, at a writer of the QMS node, a message for the recipient device;
writing, by the writer of the QMS node, a payload of the message to a database;
notifying, by the writer, a coordinator of the QMS node that the message was written to the database; and
based on a status of the recipient device, instructing, by the coordinator, the reader to deliver the message from the database to the recipient device.
