Throttling notifications to cloud printing service
System, method, and software of a cloud printing service. In an embodiment, a cloud print mediator is communicatively coupled to a cloud printing service and to a printer. The cloud print mediator is configured to receive a print job from the cloud printing service, submit the print job to the printer, receive status messages from the printer regarding processing of the print job, identify throttling criteria that defines one or more conditions where status notifications are allowed to be reported to the cloud printing service, and perform status notification throttling based on the throttling criteria to regulate the status notifications reported to the cloud printing service in response to the status messages received from the printer.
1 . An apparatus, comprising:
a cloud print mediator configured to interface one or more printers with a cloud printing service, the cloud print mediator configured to be on-premises with a printer and directly connected to the printer, and further configured to communicatively couple to the cloud printing service over a network;
the cloud print mediator comprising at least one processor and memory;
the at least one processor configured to cause the cloud print mediator at least to:
receive a print job from the cloud printing service;
submit the print job to the printer;
receive status messages from the printer regarding processing of the print job;
identify throttling criteria that defines one or more conditions where status notifications are allowed to be reported to the cloud printing service; and
perform status notification throttling based on the throttling criteria to regulate the status notifications reported to the cloud printing service in response to the status messages received from the printer.
2 . The apparatus of claim 1 , wherein the at least one processor is configured to cause the cloud print mediator to perform the status notification throttling by:
comparing a status message of the status messages received from the printer with the throttling criteria;
reporting a status notification to the cloud printing service when the status message satisfies the throttling criteria; and
withholding the status notification from the cloud printing service when the status messages does not satisfy the throttling criteria.
3 . The apparatus of claim 1 , wherein:
the throttling criteria defines a condition that a status notification is allowed when a status message indicates a state transition.
4 . The apparatus of claim 1 , wherein:
the throttling criteria defines a condition that a status notification is allowed when the status messages indicate that progress of printing the print job at the printer reaches one or more progress thresholds.
5 . The apparatus of claim 1 , wherein:
the throttling criteria defines a condition that a status notification is allowed periodically at expiration of a time period.
6 . The apparatus of claim 1 , wherein:
the throttling criteria defines a condition that a status notification is allowed after receipt of a threshold number of the status messages from the printer.
7 . The apparatus of claim 1 , wherein the at least one processor is further configured to cause the cloud print mediator at least to:
determine whether to perform the status notification throttling based on the throttling criteria.
8 . The apparatus of claim 7 , wherein the at least one processor is further configured to cause the cloud print mediator at least to:
determine whether to perform the status notification throttling based on a state of the printer or a state of the print job.
9 . The apparatus of claim 7 , wherein the at least one processor is further configured to cause the cloud print mediator at least to:
determine whether to perform the status notification throttling based on a size of the print job.
10 . The apparatus of claim 7 , wherein the at least one processor is further configured to cause the cloud print mediator at least to:
determine whether to perform the status notification throttling based on whether the printer uses a protocol that pushes the status messages to the cloud print mediator.
11 . A printing system, comprising:
the cloud print mediator of claim 1 ; and
the printer.
12 . A method comprising:
at a cloud print mediator configured to interface one or more printers with a cloud printing service, the cloud print mediator on-premises with a printer and directly connected to the printer, and communicatively coupled to the cloud printing service over a network:
receiving a print job from the cloud printing service;
submitting the print job to the printer;
receiving status messages from the printer regarding processing of the print job;
identifying throttling criteria that defines one or more conditions where status notifications are allowed to be reported to the cloud printing service; and
performing status notification throttling based on the throttling criteria to regulate the status notifications reported to the cloud printing service in response to the status messages received from the printer.
13 . The method of claim 12 , wherein the performing comprises:
comparing a status message of the status messages received from the printer with the throttling criteria;
reporting a status notification to the cloud printing service when the status message satisfies the throttling criteria; and
withholding the status notification from the cloud printing service when the status messages does not satisfy the throttling criteria.
14 . The method of claim 12 , wherein:
the throttling criteria defines a condition that a status notification is allowed when a status message indicates a state transition.
15 . The method of claim 12 , wherein:
the throttling criteria defines a condition that a status notification is allowed when the status messages indicate that progress of printing the print job at the printer reaches one or more progress thresholds.
16 . The method of claim 12 , wherein:
the throttling criteria defines a condition that a status notification is allowed periodically at expiration of a time period.
17 . The method of claim 12 , wherein:
the throttling criteria defines a condition that a status notification is allowed after receipt of a threshold number of the status messages from the printer.
18 . The method of claim 12 , further comprising:
determining whether to perform the status notification throttling based on the throttling criteria.
19 . A non-transitory computer readable medium embodying programmed instructions executed by a processor, wherein the instructions direct the processor to implement a method comprising:
at a cloud print mediator configured to interface one or more printers with a cloud printing service, the cloud print mediator on-premises with a printer and directly connected to the printer, and communicatively coupled to the cloud printing service over a network:
receiving a print job from the cloud printing service;
submitting the print job to the printer;
receiving status messages from the printer regarding processing of the print job;
identifying throttling criteria that defines one or more conditions where status notifications are allowed to be reported to the cloud printing service; and
performing status notification throttling based on the throttling criteria to regulate the status notifications reported to the cloud printing service in response to the status messages received from the printer.
20 . The non-transitory computer readable medium of claim 19 , wherein the performing comprises:
comparing a status message of the status messages received from the printer with the throttling criteria;
reporting a status notification to the cloud printing service when the status message satisfies the throttling criteria; and
withholding the status notification from the cloud printing service when the status messages does not satisfy the throttling criteria.