Apparatus for notifying cloud printing service of status, method, program, and storage medium
A cloud print mediator throttles status updates from printers to optimize cloud printing services, reducing resource consumption and costs while maintaining effective feedback.
Patent Information
- Application Number
- JP2025013743
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-31
- Filing Date
- 2025-01-30
- Publication Date
- 2025-08-13
- Estimated Expiration
- 2045-01-30
AI Technical Summary
Cloud printing services incur high costs due to the significant number of status updates generated by printers, which consume computational, storage, and network resources.
Implementing a cloud print mediator that throttles status notifications based on predefined criteria, reducing the number of updates reported to the cloud print service while maintaining sufficient feedback.
Reduces cloud resource costs and network bandwidth requirements by controlling the volume of status updates, optimizing cloud printing service operations.
Smart Images

Figure 2025118566000001_ABST
Abstract
Description
[Technical Field]
[0001] The following disclosure relates to the field of printing, and more particularly to printing services. [Background technology]
[0002] A cloud printing service connects devices such as smartphones, laptops, tablets, and personal computers (PCF403) with one or more network-attached printers. Users may access a cloud printing service to submit print jobs to the network-attached printers. For example, a user may access a commercial cloud printing service to submit print jobs to print advertising and marketing materials, product manuals, books, invoices / receipts, blueprints, mailings, etc. While cloud printing services offer many benefits, there are associated costs associated with running a cloud printing service on a cloud computing platform, such as computational resources, storage resources, network resources, and message processing. Summary of the Invention
[0003] The embodiments described herein provide status notification throttling for a cloud print service. In summary, when a print job is submitted to a printer by a cloud print service, the printer may generate a significant number of status updates. In embodiments, a cloud print mediator resides on-premises with one or more printers and is configured to throttle or limit the status updates reported to the cloud print service. One technical advantage is that the overall number of status updates reported to the cloud print service can be reduced while maintaining an acceptable feedback level. This can reduce the cost of cloud resources associated with implementing a cloud print service on a cloud computing platform and can also reduce network bandwidth requirements between the on-premises equipment and the cloud print service.
[0004] In an embodiment, an apparatus includes a cloud print mediator configured to communicatively couple to a cloud print service provisioned on a cloud computing platform and to communicatively couple to a printer, the cloud print mediator having at least one processor and memory, the at least one processor configured to cause the cloud print mediator to at least receive print jobs from the cloud print service, submit the print jobs to the printer, receive status messages from the printer regarding processing of the print jobs, identify throttling criteria defining one or more conditions under which status notifications are allowed to be reported to the cloud print service, and perform status notification throttling based on the throttling criteria to adjust the status notifications reported to the cloud print service in response to the status messages received from the printer.
[0005] In an embodiment, a method for throttling status notifications to a cloud print service is disclosed. The method includes receiving a print job from a cloud print service, submitting the print job to a printer, receiving a status message from the printer regarding processing of the print job, identifying throttling criteria that define one or more conditions under which status notifications are allowed to be reported to the cloud print service, and performing status notification throttling based on the throttling criteria to adjust the status notifications reported to the cloud print service in response to the status message received from the printer.
[0006] Other embodiments may include the computer-readable medium, other systems, or other methods described below.
[0007] The above summary is intended to provide a basic understanding of some aspects of the specification. This summary is not an extensive overview of the specification. It is not intended to identify key or critical elements of the specification, nor to delineate the scope of any particular embodiments of the specification or the scope of the claims. Its sole role is to present some concepts of the specification in a simplified form as a prelude to the more detailed description that is presented later. [Brief explanation of the drawings]
[0008] Some embodiments of the present disclosure will now be described, by way of example only, with reference to the accompanying drawings, in which the same reference numbers represent the same elements or types of elements in all drawings.
[0009] [Figure 1] Represents a cloud printing architecture. [Figure 2] 1 illustrates another cloud printing architecture in an exemplary embodiment. [Figure 3] FIG. 1 is a block diagram of a cloud printing service in an exemplary embodiment. [Figure 4] FIG. 2 is a block diagram of a customer portal in an exemplary embodiment. [Figure 5] FIG. 2 is a block diagram of a producer portal in an exemplary embodiment. [Figure 6] FIG. 2 is a block diagram of a cloud printing mediator in an exemplary embodiment. [Figure 7A] 1 illustrates communications involving a cloud print service in an exemplary embodiment. [Figure 7B] 1 illustrates communications involving a cloud print service in an exemplary embodiment. [Figure 7C] 1 illustrates communications involving a cloud print service in an exemplary embodiment. [Figure 8A] 1 is a flowchart illustrating a method for throttling status notifications in an example embodiment. [Figure 8B]1 is a flowchart illustrating a method for throttling status notifications in an example embodiment. [Figure 8C] 1 is a flowchart illustrating a method for throttling status notifications in an example embodiment. [Figure 9A] FIG. 10 illustrates activated status notification throttling in an exemplary embodiment. [Figure 9B] FIG. 10 illustrates deactivated status notification throttling in an exemplary embodiment. [Figure 10A] 3 illustrates throttling criteria in an exemplary embodiment. [Figure 10B] 3 illustrates throttling criteria in an exemplary embodiment. [Figure 11] In the exemplary embodiment, a processing system is depicted that is operable to execute computer-readable media embodying programmed instructions to perform desired functions. DETAILED DESCRIPTION OF THE INVENTION
[0010] The figures and the following description describe specific exemplary embodiments. It will be understood that those skilled in the art will be able to devise various arrangements that embody the principles of the embodiments and fall within the scope of the embodiments, even if not explicitly described or shown herein. Furthermore, any examples described herein are intended to aid in understanding the principles of the embodiments and should not be construed as being limited to such specifically described examples and conditions. Consequently, the inventive concept is not limited by the specific embodiments or examples described below, but rather by the claims and their equivalents.
[0011] FIG. 1 illustrates a cloud printing architecture 100. The cloud printing architecture 100 includes a cloud print service 110 implemented on a cloud computing platform 112. Cloud computing enables user access to various services via an internet connection. Examples of cloud computing platforms 112 include Amazon Web Services® (AWS), Google® Cloud, Microsoft® Azure®, and the like. The cloud print service 110 connects end-user devices 120 (e.g., smartphones, laptops, tablets, personal computers (PCs), etc.) with one or more network-connected printers 130. The printers 130 used within the cloud printing architecture 100 may include cloud-ready or cloud-enabled printers 132 configured to communicate with the cloud print service 110. The printers 130 used within the cloud print service 110 may include non-cloud-enabled or legacy printers 134 that communicate with the cloud print service 110 using a cloud print mediator 140.
[0012] When the end user device 120 is remote (i.e., not directly or physically connected) to the printer 130, the cloud print service 110 acts as an intermediary to receive print jobs from the end user device 120 and submit the print jobs to the printer 130. For example, the cloud print service 110 may be used for consumer-based cloud printing, where an entity's end user device 120 submits print jobs through the cloud print service 110 to a printer 130 owned by the entity. The cloud print service 110 may also be used for professional or commercial cloud printing, where an end user device 120 submits print jobs through the cloud print service 110 to a printer 130 implemented at a production facility (e.g., a corporate facility, a commercial facility, etc.). One advantage is that users can submit print jobs from nearly anywhere an internet connection is available.
[0013] FIG. 2 illustrates another cloud printing architecture 200 in an exemplary embodiment. In this embodiment, the cloud printing architecture 200 includes a cloud printing service 210 implemented on a cloud computing platform 212, configured for professional, commercial, production, or industrial printing. Commercial printing may be performed by Print Service Providers (PSPs) or other providers that offer printing services to users / customers in exchange for monetary compensation. For example, a PSP may offer printing services for advertising and marketing materials, product manuals, books, invoices / receipts, blueprints, mailings, etc. The owner or operator of a PSP may generally be referred to as a producer 228 that subscribes to the cloud printing service 210. A PSP may own or operate various printing facilities, generally referred to as a print shop 227. In FIG. 2, the print shop 227 includes one or more printers 221-226 and / or other printing facilities (e.g., post-print devices, finishing devices, etc.). A printer is an image forming device that forms (prints) an image on a recording medium based on print data received from a source. Although not shown in FIG. 2, printers 221-226 typically include a print controller and one or more print engines. The print controller receives a printer-compliant print stream (e.g., PDL-compliant data), generates rasterized data from the printer-compliant print stream, and sends the rasterized data to one or more print engines. The print engines mark the print medium with the rasterized data. The print engines may use various marking materials to mark the print medium, such as ink (water, solvent, oil, UV-curable, etc.), oil-based paint, additive manufacturing materials, toner, etc. Print media may include any type of material to which ink or other types of marking materials are applied, such as paper, plastic, card stock, transparency sheets, 3D printing substrates, fabric, etc.
[0014] The print shop 227 may implement multiple printers of the same type or may implement different types of printers depending on customer needs. For example, one or more of the printers 221-226 may be a production printer (e.g., continuous feed inkjet printer, cut sheet printer, etc.), a desktop printer, a 3D printer, a plotter, or a wide format printer. One or more of the printers 221-226 may be configured to print on different types or forms of print media, such as standard weight paper, glossy or matte paper, cut sheets, or continuous paper. One or more of the printers 221-226 may be configured to print on different media sizes, such as letter, legal, A4, or oversized. One or more of the printers 221-226 may be configured to print in different colors, such as color or monochrome. One or more of the printers 221-226 may be configured with different finishing or post-print options, such as glossy or textured, binding, cutting / trimming, embossing, lamination, etc. Although printers 221-226 are shown in the example of FIG. 2 as being at a common location, printing equipment may in other examples be distributed across multiple different locations.
[0015] Cloud printing architecture 200 of FIG. 2 can be considered a hybrid cloud architecture 201 that combines a public cloud infrastructure (represented by cloud computing platform 212) with on-premises infrastructure 211. In an embodiment, on-premises infrastructure 211 includes printers 221-226 and one or more cloud print mediators 220, which may collectively be referred to as a printing system. Generally, "on-premises" means that the infrastructure resides on-site rather than being hosted off-site, such as in a public cloud. In on-premises infrastructure 211, an entity owns and / or has sufficient control over the infrastructure resources (e.g., computing resources, networking, storage, software, etc.). Cloud print mediator 220 is an information processing device and includes a type of on-premises equipment configured to interface one or more printers 221-226 with cloud print service 210. As described in further detail below, cloud print mediator 220 is communicatively coupled to cloud print service 210 to receive print job information, for example, via a secure connection. Cloud printing mediator 220 is also communicatively coupled to one or more printers 221-226. For example, cloud printing mediator 220 may be directly attached to one or more printers 221-226 via a wired or wireless connection. Cloud printing mediator 220 is configured to communicate with printers 221-226 to submit print jobs to printers 221-226, to receive status messages or other data from printers 221-226, etc.
[0016] At a high level, a user 240 (customer) can submit a print job 202 to a cloud print service 210 via an end-user device 120 (also referred to as a host device). The cloud print service 210 preprocesses (also referred to as preflighting) the print job 202 to ensure that the job file exists, is valid, is correctly formatted, and / or is of the desired type and to correct any potential problems. The cloud print service 210 can then identify or select one or more destinations for the print job 202 (e.g., one or more of printers 221-226, a hot folder, etc.) and send the print job 202 to the destination(s). For example, the cloud print service 210 can send the print job 202 to a cloud print mediator 220 for printing on a printer 221 under its purview (i.e., overseen by the cloud print mediator 220). The cloud print mediator 220 then submits the print job 202 to the printer 221.
[0017] Cloud print mediator 220 is shown in Figure 2 as being able to communicate with cloud print service 210 over a network, such as the Internet 230. Similarly, end user device 120 is shown as being able to communicate with cloud print service 210 over the Internet 230. The Internet 230 referred to herein is a system of interconnected computer networks that use the Internet protocol suite (e.g., TCP / IP) to communicate among networks and devices, although other protocols may be developed in the future.
[0018] 3 is a block diagram of a cloud print service 210 in an example embodiment. To implement the cloud print service 210, cloud resources 301, such as processing resources 302, storage resources 304, and / or network resources 306, are provisioned in a cloud computing environment (e.g., AWS). Other resources are contemplated herein. A cloud print application 310 may be built or executed on the provisioned resources by instructions 308, programming, code, etc. In an embodiment, the cloud print application 310 provides a user or customer interface (I / F) 312, a workflow controller 314, and a ground interface 316.
[0019] The customer interface 312 is a module or component of the cloud print service 210 that interacts with the user 240. For example, the customer interface 312 may receive a print job 202 submitted to the cloud print service 210 by the user 240, e.g., via the end-user device 120. The customer interface 312 may provide status information 344 of the print job 202 to the user 240. In embodiments, the customer interface 312 may provide a website, portal, dashboard, graphical user interface (GUI), or other digital or graphical interface configured to interact with the user 240. For example, the customer interface 312 may provide a customer portal 322 that enables the user 240 to access the cloud print service 210. The cloud print application 310 may be implemented in a multi-tenant cloud environment used by multiple different customers. Thus, each customer may be provided with a separate, secure space for accessing the cloud print service 210 via the customer portal 322. FIG. 4 is a block diagram of the customer portal 322 in an example embodiment. The customer portal 322 may include icons, graphic representations or elements, windows, screens, pages, etc. for interacting with the user 240. For example, the customer portal 322 may provide a login page 402 (or window, screen, icon, etc.) configured to authenticate the user 240 to the cloud print service 210. The customer portal 322 may provide an administration page 404 configured to allow the user 240 to define settings for the cloud print service 210. The customer portal 322 may provide a jobs page 406 configured to allow the user 240 to manage print jobs 202 within the cloud print service 210. For example, the jobs page 406 may include a job summary graphical element 410 or button that the user 240 can select to submit one or more print jobs 202 to the cloud print service 210.The job page 406 may include a summary graphical element 412 that summarizes one or more print jobs 202 submitted to the cloud print service 210, such as a job identifier (ID) or job name, status information, due date, completion date, etc. However, the job page 406 and / or the customer portal 322 may have other formats or content as desired for managing print jobs 202 in the cloud print service 210. In other embodiments, the customer interface 312 may also allow the user 240 to submit print jobs 202 via email, file transfer protocol (FTP), or other means.
[0020] 3 , the workflow controller 314 is configured to manage the workflow of print jobs 202 submitted to the cloud print service 210. For example, the workflow controller 314 may be configured to scan incoming job files for malware, extract metadata from the job files, convert the job files to a standard format (e.g., PDF) as needed, preflight the job files to identify any potential problems, identify printers 221-226 that are capable and / or available to print the print jobs 202, schedule the print jobs 202 (based on input from the producers 228) to be directed to particular printers 221-226, etc. In an embodiment, the workflow controller 314 may provide a website, portal, dashboard, GUI, or other digital or graphical interface configured to interact with the producers 228 (e.g., PSP operators). For example, the workflow controller 314 may provide a producer portal 324 that enables the producers 228 to access the cloud print service 210. 5 is a block diagram of the producer portal 324 in an example embodiment. For example, the producer portal 324 may provide a login page 502 (or window, screen, icon, etc.) configured to authenticate the producer 228 to the cloud print service 210. The producer portal 324 may provide an administration page 504 configured to enable the producer 228 to define settings for the cloud print service 210. The producer portal 324 may provide an order page 506 configured to enable the producer 228 to manage and / or order the printing of print jobs 202 via the cloud print service 210. For example, the order page 506 may include an order submission graphical element 510 or button that the producer 228 can select to print one or more print jobs 202 from the cloud print service 210 on one or more printers 221-226.The producer 228 may drag and drop print jobs 202 onto a hot folder icon 520, a printer icon 522 associated with a particular printer 221-226, etc. The order page 506 may have a summary graphical element 512 that summarizes one or more print jobs 202 submitted through the cloud print service 210, such as status information 514, job ID or job name, due date, submission date, etc. Notably, the status information 514 is updated based on status notifications provided to the cloud print service 210 by the cloud print mediator 220. While one example is shown, the order page 506 and / or producer portal 324 may have other formats or content as desired.
[0021] 3 , ground interface 316 is a module or component of cloud print service 210 that interacts with on-premises infrastructure 211, such as one or more cloud print mediators 220. For example, ground interface 316 can submit print jobs 202, print requests, instructions, control information, etc. (commonly referred to as print job information 340) from cloud print service 210 to cloud print mediator 220 regarding print jobs 202 scheduled for printing on associated printers 221-226 under the scope of cloud print mediator 220. Ground interface 316 can receive status notifications 342 (also referred to as status updates) from cloud print mediator 220 regarding the status of print jobs 202. Workflow controller 314 can use status notifications 342 to update status information 514 presented on producer portal 324, and customer interface 312 can use status notifications 342 to provide status information 244 to users 240 through customer portal 322.
[0022] 6 is a block diagram of the cloud print mediator 220 in an exemplary embodiment. In this embodiment, the cloud print mediator 220 includes the following subsystems: a cloud connector 602, an adapter 604, and a printer connector 606. The cloud connector 602 is an information processing device having circuitry, logic, hardware, applications, means, etc., configured to communicate with the cloud print service 210, such as the ground interface 316. The cloud connector 602 is configured to provide a secure connection with the cloud print service 210 to manage communications with the cloud print service 210, etc. For example, the cloud connector 602 may exchange communications, such as messages, data, print job information 340, status notifications 342, etc., with the cloud print application 310 via the network connection 232 (see FIG. 2). The cloud connector 602 may use various protocols for communication, such as application programming interfaces (APIs), data and / or network management protocols, and standard messaging protocols. The functions or tasks of the cloud connector 602 may include receiving or retrieving print jobs 202 submitted by the cloud print service 210, such as one or more job files (e.g., pdf files), a job ticket (e.g., a Job Definition Format (JDF) job ticket) describing printing attributes of the print job 202 (e.g., media size, number of copies, color or grayscale, resolution, etc.), and / or other job-related information. The functions or tasks of the cloud connector 602 may also include reporting status notifications 342 regarding the print job 202 and / or printers 221-226 to the cloud print service 210.
[0023] The printer connector 606 is an information processing device including circuits, logic, hardware, applications, means, etc. configured to communicate with the printers 221-226 and / or other printing equipment. The printer connector 606 may use various protocols for communication. For example, the printer connector 606 may exchange communications with the printers 221-226 based on the printer's native printer interface protocol, an API (e.g., Fiery API), TCP / IP, Line Printer Remote (LPR) protocol, Internet Printing Protocol (IPP), Postscript over a Transmission Control Protocol (TCP) port, Hypertext Transfer Protocol (HTTP) / HTTPS, Simple Network Management Protocol (SNMP), Job Messaging Format (JMF) protocol, etc. Functions or tasks of the printer connector 606 may include submitting print jobs 202 to the printers 221-226, receiving or retrieving status messages from the printers 221-226, etc.
[0024] The adapter 604 is communicatively coupled between the cloud connector 602 and the printer connector 606. The adapter 604 is an information processing device including circuitry, logic, hardware, applications, means, etc. configured to queue print jobs 202 received via the cloud connector 602 for submission to the printer connector 606. For example, the cloud print service 210 can easily scale to send print jobs 202 much faster than the printer connector 606 and / or the printers 221-226 can consume them. The adapter 604 can therefore act as a buffer to allow the cloud print service 210 to run as fast as possible without imposing terrestrial limitations. The adapter 604 is further configured to manage status messages received from the printers 221-226 through the printer connector 606.
[0025] One or more of the subsystems of the cloud print mediator 220 may be implemented on a hardware platform comprised of analog and / or digital circuits. One or more of the subsystems of the cloud print mediator 220 may be implemented by a processor 630 that executes instructions stored in a memory 632. The processor 630 includes integrated hardware circuitry configured to execute instructions 634 to provide the functionality of the cloud print mediator 220. The processor 630 may include a set of one or more processors or multiple processor cores, depending on the particular implementation. The memory 632 is a non-transitory computer-readable medium for data, instructions, applications, etc., accessible by the processor 630. The memory 632 is a hardware storage device capable of temporarily and / or permanently storing information. The memory 632 may include a random access memory or any other volatile or non-volatile storage device.
[0026] Cloud print mediator 220 may include various other components not specifically depicted in Figure 6. In embodiments, cloud print mediator 220 may be implemented on a platform separate from one or more printers, such as for legacy printer 134. In embodiments, cloud print mediator 220 may be implemented on or incorporated into a common or same platform as a printer, such as for cloud-ready or cloud-enabled printer 132.
[0027] 7A-7C depict communications involving cloud print service 210 in an example embodiment. In FIG. 7A, cloud print application 310 submits print job 202 to cloud print mediator 220, which then submits print job 202 to printer 221. Print job 202 may include one or more job files 702, job ticket 704, and / or other print job information 340. In submitting print job 202 to cloud print mediator 220, cloud print application 310 may send the print request, job file 702, job ticket 704, and / or other print job information 340 to cloud print mediator 220 over a secure connection. In other examples, cloud print application 310 may store job file 702, job ticket 704, and / or other print job information in a particular storage location and may send a print request to cloud print mediator 220 specifying a path (e.g., a uniform resource locator (URL)) for job file 702, job ticket 704, etc. In response, cloud print mediator 220 may retrieve job file 702, job ticket 704, etc. from the storage location.
[0028] 7B illustrates connectivity between the cloud print application 310 and the cloud print mediator 220 in an exemplary embodiment. In an embodiment, the cloud print application 310 and the cloud print mediator 220 may communicate using the Message Queuing Telemetry Transport (MQTT) protocol 720 to exchange MQTT messages 722. The MQTT protocol 720 is a standards-based messaging protocol used for machine-to-machine communication. Thus, the cloud print application 310 (i.e., the ground interface 316) may implement or include an MQTT module 724 configured to communicate via the MQTT protocol 720. Similarly, the cloud print mediator 220 (i.e., the cloud connector 602) may implement or include an MQTT module 726 configured to communicate via the MQTT protocol 720. The cloud print mediator 220 may receive a print request for the print job 202 from the cloud print application 310 via, for example, the MQTT message 722. The MQTT message 722 identifies the print job 202, indicates the storage location of the print job 202, and / or other information. The cloud print mediator 220 may report or send a status notification 342 of the print job 202 to the cloud print application 310 via the MQTT message 722. While the MQTT protocol 720 may be used in one embodiment, other protocols may be used between the cloud print application 310 and the cloud print mediator 220.
[0029] As shown in FIG. 7A , upon receiving print job 202, cloud print mediator 220 may queue print job 202 and transmit print job 202 to printer 221 via a printer connection. FIG. 7C illustrates connectivity between cloud print mediator 220 and printers 221-223 in an exemplary embodiment. Cloud print mediator 220 is communicatively coupled to printers 221-223 via one or more printer connections 740 (i.e., wired or wireless connections). Cloud print mediator 220 may communicate with printers 221-223 using various printer connection types or protocols, such as API 742, SNMP, JMF, and / or other protocols, to provide print job 202 and any other job-related information to printers 221-223, receive updates from printers 221-223, etc. As one example, the printer connector 606 may use the API 742 to send a job file (e.g., a pdf file), a list of attribute-value pairs representing job ticket settings in the expression of that particular API, and / or other job data to the printer 221. The printer connector 606 may also use the API 742 to collect information and / or status updates from the printer 221. In another example, the printer connector 606 may send the print job 202 to the printer 222 as Postscript job data. In a Postscript interface, the job ticket settings are converted to Postscript and embedded in the job data. The printer connector 606 may collect information and / or status updates from the printer 222 using, for example, SNMP. For example, the printer connector 606 may subscribe to SNMP alerts (called traps), poll the printer 222 for status updates (e.g., job and / or printer updates), etc. In another example, the printer connector 606 may use JDF / JMF to submit job data (i.e., job files and job tickets) to the printer 223. The printer connector 606 may also use JMF to gather information and / or status updates.For example, the printer connector 606 may subscribe to JMF alerts (called signals), poll the printer 223 for status updates (e.g., job and / or printer updates), etc. The printer connector 606 may alternatively use SNMP to collect information and / or status updates from the printer 223. While FIG. 7C depicts some example protocols that may be used between the cloud print mediator 220 and the printers 221-223, other printer connection types and protocols are also contemplated herein.
[0030] In processing print job 202, for example, printers 221-226 generate status messages that are received by cloud print mediator 220. In FIG. 7A , for example, cloud print mediator 220 receives status message 710 from printer 221, for example, when processing or consuming submitted print job 202. For example, cloud print mediator 220 may subscribe to receive status messages 710 from printer 221, poll printer 221 for status messages 710, etc. Status message 710 may include job status 712 indicating printing details of print job 202, device status 714 indicating the operational status of printer 221, and / or other status information or updates. Cloud print mediator 220 processes or interprets status message 710 and reports status notification 342 to cloud print service 210. For example, the cloud print mediator 220 may format an MQTT message 722 that includes the status notification 342 .
[0031] The number of status messages 710 generated by printers 221-226 can be very large. At the same time, the number of status notifications 342 reported by cloud print mediator 220 to cloud print service 210 can have an associated cost in terms of consuming cloud resources 301 to process the status notifications 342, bandwidth between cloud print mediator 220 and cloud print service 210, etc. In an embodiment, cloud print mediator 220 is configured or programmed to throttle, filter, or otherwise regulate the status notifications 342 reported to cloud print service 210.
[0032] 6 , the adapter 604 is configured or programmed to perform status notification throttling 610 to regulate or limit the status notifications 342 uploaded to the cloud print service 210. The adapter 604 stores throttling criteria 612 that define one or more conditions under which a status notification 342 is permitted or qualified to be reported to the cloud print service 210. Upon receiving a status message 710 from a printer 221-226, the adapter 604 processes the status message 710 and the throttling criteria 612 to determine whether to trigger the status message 710 to the cloud print service 210. Thus, rather than sending a status notification 342 to the cloud print service 210 every time a status message 710 is received from the printer 221, the adapter 604 regulates the reported status notifications 342. One technical advantage is that the status notification throttling 610 in the adapter 604 operates to balance the benefits of reporting status notifications 342 to the cloud print service 210 (i.e., sufficient feedback) with the costs of reporting. Thus, the overall cost of implementing the cloud print service 210 on the cloud computing platform 212 may be reduced. Also, because the cloud print mediator 220 represents a one-time initial cost of equipment and does not incur a "per message" cost, implementing the status notification throttling 610 in the on-premises infrastructure 211 is advantageous.
[0033] 8A-8C are flowcharts illustrating a method 800 for throttling status notifications 342 in an example embodiment. The steps of method 800 are described with reference to cloud print mediator 220 in FIG. 6, but one skilled in the art will understand that method 800 may be performed on other systems or devices. Additionally, the steps of the flowcharts described herein are not all-inclusive and may include other steps not shown, and steps may be performed in an alternative order.
[0034] 8A , the cloud connector 602 receives the print job 202 from the cloud print service 210 (step 802). The adapter 604 may process the print job 202 received by the cloud connector 602 before forwarding it to the printer connector 606. The printer connector 606 then submits the print job 202 to a printer 221-226, such as the printer 221 (step 804). The printer connector 606 receives a status message 710 from the printer 221 regarding the processing of the print job 202 (step 806). For example, the printer connector 606 may subscribe to the printer 221 to receive the status message 710 (optional step 830). In another example, the printer connector 606 may poll the printer 221 to receive the status message 710 (optional step 832). The adapter 604 identifies throttling criteria 612 (step 808) and performs status notification throttling 610 based on the throttling criteria 612 to adjust the status notifications 342 reported to the cloud print service 210 in response to the status messages 710 received from the printer 221 (step 810). One technical advantage is that the volume of status notifications 342 reported to the cloud print service 210 can be controlled by the cloud print mediator 220. This can advantageously reduce cloud-side costs associated with processing the status notifications 342 while still allowing sufficient reporting to the cloud print service 210.
[0035] In one example, to perform status notification throttling 610 as seen in FIG. 8B , the adapter 604 processes one or more of the status messages 710 and the throttling criteria 612 to determine whether to report a status notification 342 to the cloud print service 210. FIG. 9A is a diagram illustrating activated status notification throttling 610 in an exemplary embodiment. The adapter 604 receives a series of status messages 710 from the printer 221 over time (through the printer connector 606). The adapter 604 interprets the received status messages 710 to determine whether to trigger a corresponding status notification 342. For example, the adapter 604 may compare each of the status messages 710 with the throttling criteria 612 (step 812 in FIG. 8B ). Based on the comparison, the adapter 604 may determine whether the status notification 342 is allowed to be reported to the cloud print service 210. If the status message 710 received from the printer 221 satisfies the throttling criteria 612 (e.g., satisfies one or more conditions defined in the throttling criteria 612), the adapter 604 reports a status notification 342 to the cloud print service 210 (step 814). For example, the adapter 604 may instruct the cloud connector 602 to send the status notification 342 to the cloud print application 310, such as in one or more MQTT messages 722. The content of the status notification 342 may be based on the content of the status message 710 that triggered the status notification 342 (i.e., the status message 710 that satisfied the throttling criteria 612). Because the adapter 604 may receive and interpret multiple status messages 710 before triggering the status notification 342, the content of the status notification 342 may be based on the content of multiple status messages 710.
[0036] If the status message 710 does not satisfy the throttling criteria 612 (e.g., the conditions are not met), the adapter 604 limits (throttles) (step 816) the status notifications 342 to the cloud print service 210. One technical advantage is that the adapter 604 controls when the status notifications 342 are reported to the cloud print service 210 based on the throttling criteria 612.
[0037] 10A-10B illustrate throttling criteria 612 in an exemplary embodiment. The throttling criteria 612 may include various data or information used in the status notification throttling 610. In FIG. 10A , the throttling criteria 612 includes one or more conditions 1030 under which a status notification is permitted or authorized to be reported to the cloud print service 210. In one example, the condition 1030 may include a state transition condition 1032 that defines that reporting of a status notification 342 is permitted or authorized if a status message 710 indicates a state transition at the printer. The adapter 604 processes the status message 710 received from the printer 221 to determine whether the content of the status message 710 indicates a state transition and triggers a status notification 342 if the content of the status message 710 indicates a state transition. For example, the throttling criteria 612 may define a set of predefined printer states 1010 for the printer. In an embodiment, printer states 1010 may include an idle state 1011 in which the printer is idle, a printing state 1012 in which a print job is printing at the printer, a needs attention state 1013 in which operator intervention is required at the printer, an error or down state 1014 in which an error is detected at the printer, and a sleep state 1015 in which the printer enters a low-power state after a period of inactivity. The set of predefined printer states 1010 may include any combination of the example states 1011-1015 and / or other states. The throttling criteria 612 may also define a set of predefined job states 1050 for a print job. In an embodiment, job states 1050 may include a queuing state 1051 in which the print job is queued for printing at the printer, a printing state 1052 in which the print job is printing at the printer, a needs attention state 1053 in which operator intervention is required, a completed state 1054 in which printing of the print job has completed at the printer, and an error state 1055 in which an error is detected during the printing of the job. The set of predefined job states 1050 may include any combination of the example states 1051-1055 and / or other states.The state transition conditions 1032 may specify that reporting is allowed when the printer transitions from one of the predefined printer states 1010 to another, such as from an idle state 1011 to a printing state 1012, from a printing state 1012 to a down state 1014, etc. The state transition conditions 1032 may specify that reporting is allowed when the print job 202 transitions from one of the predefined job states 1050 to another, such as from a queueing state 1051 to a printing state 1052, from a printing state 1052 to an error state 1055, etc.
[0038] In one example, the conditions 1030 may include a progress condition 1034 that specifies that reporting of a status notification 342 is permitted or authorized if the status message 710 indicates that the progress of printing the print job at the printer has reached one or more progress thresholds 1035. For example, the progress condition 1034 may specify that reporting is permitted at a particular percentage completion threshold, such as 10%, 20%, 30%, or some other percentage complete. Thus, the adapter 604 processes the status message 710 received from the printer 221 to determine whether the progress of printing the print job has reached the progress threshold 1035 and, if so, triggers the status notification 342.
[0039] In one example, the conditions 1030 may include a time condition 1036 that specifies that reporting of the status notification 342 is permitted or authorized periodically upon the passage of a threshold time 1037. For example, the threshold time 1037 may be 1 second, 5 seconds, 10 seconds, 1 minute, etc. The adapter 604 monitors the time since the last reporting of the status notification 342 to the cloud print service 210 and triggers the status notification 342 upon the passage of the threshold time 1037.
[0040] In one example, the condition 1030 may include a status message count condition 1038 that specifies that reporting of the status notification 342 is permitted or authorized after receiving a threshold 1039 of status messages 710 from the printer. For example, the threshold 1039 may be 10 (messages), 100 (messages), 1000 (messages), etc. The adapter 604 counts the number of status messages 710 since the last reporting of the status notification 342 to the cloud print service 210 and triggers the status notification 342 when the threshold 1039 of status messages 710 is reached.
[0041] Although some examples of conditions 1030 are provided above, other conditions 1030 are also contemplated herein. One technical advantage is that different types of throttling criteria 612 can be defined to manage reporting to the cloud print service 210. Additionally, the throttling criteria 612 can be adjustable to add flexibility to the status notification throttling 610.
[0042] 10B , the throttling criteria 612 may define predefined status notifications 1020 (e.g., 1020-1, 1020-2, 1020-3, . . . , 1020-n). The predefined status notifications 1020 may be mapped to conditions 1030 defined in the throttling criteria 612, and the content of the predefined status notifications 1020 may therefore be related to the corresponding conditions 1030. For example, a state transition condition 1032 may be mapped to one or more of the predefined status notifications 1020. If the state transition condition 1032 is satisfied, the adapter 604 is configured to report the predefined status notification 1020 that is mapped to the state transition condition 1032. In another example, a progress condition 1034 may be mapped to one or more of the predefined status notifications 1020. When a progress condition 1034 is satisfied, the adapter 604 is configured to report a predefined status notification 1020 that is mapped to the progress condition 1034. The predefined status notification 1020 may have a predefined format for reporting in response to different conditions 1030. One technical advantage is that a configurable set of predefined status notifications 1020 may be used to manage reporting to the cloud print service 210.
[0043] The status notification throttling 610 may be selectively activated in the adapter 604, as illustrated in FIG. 8C . The adapter 604 determines whether to perform or activate the status notification throttling 610 (step 820). For example, the adapter 604 may receive a command or instruction from an operator, the cloud print service 210, etc., indicating whether to perform the status notification throttling 610 for the status messages 710 received from the printers 221-226. In an embodiment, the adapter 604 may determine whether to perform or activate the status notification throttling 610 based on the throttling criteria 612. In FIG. 10B , for example, the throttling criteria 612 may include one or more activation conditions 1040 for activating the status notification throttling 610 in the adapter 604. In one example, the activation condition 1040 may include a state condition 1042 that defines activation of the status notification throttling 610 when the printer or print job is in one or more states. The number of status messages 710 generated by the printer may increase while in a particular printer state 1010 or while the print job 202 is in a particular job state 1050 relative to others. For example, the printer will generate many more status messages 710 while in the printing state 1012 as opposed to the idle state 1011. Thus, the state condition 1042 may provide for activation of status notification throttling 610 when the printer is in the printing state 1012 and / or when the print job 202 is in the printing state 1052.
[0044] In one example, activation of status notification throttling 610 may depend on one or more job characteristics of print job 202. For example, activation condition 1040 may include a print job size condition 1044 that dictates activation of status notification throttling 610 if the size of print job 202 exceeds a size threshold 1045. For example, size threshold 1045 may be 10 megabytes, 1 gigabyte, 10 gigabytes, etc. Smaller print jobs 202 print relatively quickly (e.g., less than one minute), resulting in a smaller volume of status messages 710 compared to larger print jobs 202. For larger print jobs 202, the volume of status messages 710 will be larger, and activating status notification throttling 610 may be advantageous.
[0045] In one example, activation condition 1040 can include printer protocol condition 1046, which defines activation of status notification throttling 610 when the printer uses a protocol that pushes status messages. For example, cloud print mediator 220 can subscribe to a printer to be notified of status messages 710. The subscription causes the printer to push status messages 710 to cloud print mediator 220. Pushing status messages 710 contrasts with cloud print mediator 220 pulling status messages 710 from the printer. When pulling status messages 710, cloud print mediator 220 can control how many status messages 710 are received. However, when the printer pushes status messages 710, cloud print mediator 220 has little or no control over how many status messages 710 are received, in that the printer determines the rate at which status messages 710 are pushed. Thus, the adapter 604 may activate status notification throttling 610 in situations where the printer pushes a status message 710 to the cloud print mediator 220 .
[0046] Although some examples of activation conditions 1040 are provided above, other activation conditions 1040 are contemplated herein. One technical advantage is that status notification throttling 610 can be turned on and off in adapter 604 as desired.
[0047] In FIG. 8C , if the adapter 604 determines that status notification throttling 610 is activated, the adapter 604 performs the status notification throttling 610 as described above. If the adapter 604 determines that status notification throttling 610 is deactivated, the adapter 604 may report a status notification 342 for each status message 710 received from the printer (step 822). FIG. 9B is a diagram representing deactivated status notification throttling 610 in an exemplary embodiment. As seen in FIG. 9A , the adapter 604 receives a series of status messages 710 from the printer 221 over time (through the printer connector 606). Rather than throttling or limiting the reported status notifications 342, the adapter 604 reports a status notification 342 to the cloud print service 210 each time a status message 710 is received from the printer. One technical advantage is that the adapter 604 provides flexibility in how the status notifications 342 are reported to the cloud print service 210.
[0048] The embodiments disclosed herein may take the form of software, hardware, firmware, or various combinations thereof. FIG. 11, in an exemplary embodiment, depicts a processing system 1100 operable to execute a computer-readable medium embodying programmed instructions to perform desired functions. The processing system 1100 is operable to perform the above-described operations by executing programmed instructions tangibly embodied in a computer-readable storage medium 1112. In this regard, the embodiments may take the form of a computer program accessible via the computer-readable medium 1112 that provides program code for use by a computer or any other instruction execution system. For purposes of this description, the computer-readable storage medium 1112 may be anything capable of containing or storing a program for use by a computer.
[0049] The computer-readable storage medium 1112 can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor device. Examples of the computer-readable storage medium 1112 include solid-state memory, magnetic tape, removable computer diskettes, random access memory (RAM), read-only memory (ROM), rigid magnetic disks, and optical disks. Current examples of optical disks include compact disk-read-only memory (CD-ROM), compact disk-read / write (CD-R / W), and DVDs.
[0050] Processing system 1100 is a system suitable for storing and / or executing program code and includes at least one processor 1102 coupled to program and data memory 1104 by a system bus 1150. Program and data memory 1104 may include local memory used during the actual execution of the program code, bulk storage, and cache memory that provides location storage for at least some program code and / or data to reduce the number of times code and / or data is read from bulk storage during execution.
[0051] Input / output or I / O devices 1106 (including, but not limited to, keyboards, displays, pointing devices, etc.) may be coupled directly or through intervening I / O controllers. A network adapter interface 1108 may also be integrated with the system to enable the processing system 1100 to be coupled to other data processing systems or storage devices through intervening private or public networks. Modems, cable modems, IBM Channel attachments, SCSI, Fibre Channel, and Ethernet cards are just a few of the currently available types of network or host interface adapters. A display device interface 1110 may be integrated with the system to interface to one or more display devices, such as a screen or printing system, for presentation of data generated by the processor 1102.
[0052] The following clauses and / or examples pertain to further embodiments or examples. Details of the examples can be used anywhere in one or more embodiments. Various features of different embodiments or examples can be combined in various ways, with some features included and other features excluded, to suit a variety of different applications. Examples include subject matter such as a method, a means for performing the actions of the method, and at least one machine-readable medium containing instructions that, when executed by a machine, cause the machine to perform the actions of a method or apparatus or system according to the embodiments and examples described herein.
[0053] Some embodiments relate to Example 1, which includes an apparatus having a cloud print mediator configured to communicatively couple to a cloud print service provisioned on a cloud computing platform and to communicatively couple to a printer. The cloud print mediator has at least one processor and memory. The at least one processor is configured to cause the cloud print mediator to, at least, receive print jobs from the cloud print service, submit the print jobs to a printer, receive status messages from the printer regarding processing of the print jobs, identify throttling criteria defining one or more conditions under which status notifications are allowed to be reported to the cloud print service, and perform status notification throttling based on the throttling criteria to adjust the status notifications reported to the cloud print service in response to the status messages received from the printer.
[0054] Example 2 includes the subject matter of Example 1, wherein the at least one processor is configured to cause the cloud print mediator to perform status notification throttling by comparing a status message in the status messages received from the printer to a throttling criterion, reporting a status notification to the cloud print service if the status message meets the throttling criterion, and limiting the status notification to the cloud print service if the status message does not meet the throttling criterion.
[0055] Example 3 includes the subject matter of Examples 1 and 2, where the throttling criteria defines the conditions under which a status notification is allowed if the status message indicates a state transition.
[0056] Example 4 includes the subject matter of Examples 1-3, and defines a condition whereby a status notification is allowed if the status message indicates that progress printing a print job at a printer reaches one or more progress thresholds.
[0057] Example 5 includes the subject matter of Examples 1-4, where the throttling criteria defines the conditions under which periodic status notifications are permitted after a certain period of time has elapsed.
[0058] Example 6 includes the subject matter of Examples 1-5, where the throttling criteria defines a condition under which status notifications are allowed after receiving a threshold number of status messages from the printer.
[0059] Example 7 includes the subject matter of Examples 1-6, wherein the at least one processor is further configured to cause the cloud print mediator to determine whether to perform status notification throttling based on at least the throttling criteria.
[0060] Example 8 includes the subject matter of Examples 1-7, wherein the at least one processor is further configured to cause the cloud print mediator to determine whether to perform status notification throttling based on at least a printer status or a print job status.
[0061] Example 9 includes the subject matter of Examples 1-8, wherein the at least one processor is further configured to cause the cloud print mediator to determine whether to perform status notification throttling based at least on a size of the print job.
[0062] Example 10 includes the subject matter of Examples 1-9, wherein the at least one processor is further configured to cause the cloud print mediator to determine whether to perform status notification throttling based at least on whether the printer uses a protocol that pushes status messages to the cloud print mediator.
[0063] Example 11 includes the subject matter of Examples 1-10, wherein the printing system includes a cloud print mediator and a printer.
[0064] Example 12 relates to Example 12, which includes a method for throttling status notifications to a cloud print service. The method includes receiving a print job from a cloud print service, submitting the print job to a printer, receiving a status message from the printer regarding processing of the print job, identifying throttling criteria that define one or more conditions under which the status notification is allowed to be reported to the cloud print service, and performing status notification throttling based on the throttling criteria to adjust the status notification reported to the cloud print service in response to the status message received from the printer.
[0065] Example 13 includes the subject matter of Example 12, wherein performing the status notification throttling includes comparing a status message in the status messages received from the printer to a throttling criterion, reporting the status notification to the cloud print service if the status message meets the throttling criterion, and limiting the status notification to the cloud print service if the status message does not meet the throttling criterion.
[0066] Example 14 includes the subject matter of Examples 12 and 13, where the throttling criteria defines the conditions under which a status notification is allowed if the status message indicates a state transition.
[0067] Example 15 includes the subject matter of Examples 12-14, and defines a condition whereby a status notification is allowed if the status message indicates that progress printing a print job at a printer reaches one or more progress thresholds.
[0068] Example 16 includes the subject matter of Examples 12-15, where the throttling criteria defines conditions under which periodic status notifications are permitted after a certain period of time has elapsed.
[0069] Example 17 includes the subject matter of Examples 12-16, where the throttling criteria defines a condition under which status notifications are allowed after receiving a threshold number of status messages from the printer.
[0070] Example 18 includes the subject matter of Examples 12-17, further comprising determining whether to perform status notification throttling based on throttling criteria.
[0071] Example 19 relates to Example 19, including a non-transitory computer-readable medium embodying programmed instructions executed by a processor, the instructions directing the processor to perform a method for throttling status notifications to a cloud print service, the method including receiving a print job from the cloud print service; submitting the print job to a printer; receiving a status message from the printer regarding processing of the print job; identifying throttling criteria defining one or more conditions under which status notifications are allowed to be reported to the cloud print service; and performing status notification throttling based on the throttling criteria to adjust the status notifications reported to the cloud print service in response to the status message received from the printer.
[0072] Example 20 includes the subject matter of Example 19, wherein performing the status notification throttling includes comparing a status message in the status messages received from the printer to a throttling criterion, reporting the status notification to the cloud print service if the status message meets the throttling criterion, and limiting the status notification to the cloud print service if the status message does not meet the throttling criterion.
[0073] Although specific embodiments have been described herein, the scope of the invention is not limited to these specific embodiments, but is defined by the following claims and their equivalents. [Explanation of symbols]
[0074] 100,200 Cloud Printing Architecture 110,210 Cloud printing service 112,212 Cloud Computing Platforms 120 End User Devices 130 Network-connected printers 134 Legacy Printers 140,220 Cloud Print Mediator 201 Hybrid Cloud Architecture 202 print jobs 211 Infrastructure 221~226 Printers 227 Print Shop 228 Producer 230 Internet 232 Network Connection 240 users 244344,514 Status Information 301 Cloud Resources 302 Processing Resources 304 Memory resources 306 Network Resources 308,634 instructions 310 Cloud Printing Application 312 Customer Interface (I / F) 314 Workflow Controller 316 Ground Interface 322 Customer Portal 324 Producer Portal 340 Print Job Information 342,1020 Status Notification 402,502 Login Page 404 Admin Page 406 Job Page 410 Graphical Elements for Job Summit 412,512 Abstract Graphical Elements 504 Admin Page 506 Order Page 510 Graphical elements for order submission 520 Hot Folder Icon 522 printer icon 602 Cloud Connector 604 adapter 606 printer connector 610 Status Notification Throttling 612 Throttling Criteria 630 processor 632 memory 702 Job File 704 Job Ticket 710 Status Messages 712 Job Status 714 Device Status 720 MQTT protocol 722 MQTT messages 724,726 MQTT modules 740 printer connection Set of 1010 Printer status 1011 Idle 1012 Printing status 1013 Caution required 1014 Down 1015 Sleep state 1032 State transition conditions 1034 Progress conditions 1035 Progression Threshold 1036 Time Conditions 1037 Threshold Time 1038 Status Message Count Condition 1039 Threshold 1040 Activation Conditions 1042 State Conditions 1044 print job size requirements 1045 size threshold 1046 Printer Protocol Conditions 1050 Job Status Pair 1051 Queueing state 1052 Printing status 1053 Caution Required 1054 Completed Status 1055 Error Condition 1100 Processing System 1102 processor 1104 Program and Data Memory 1106 I / O Devices 1108 Network Adapter Interface 1110 Display Device Interface 1112 Computer-readable storage medium 1150 System Bus
Claims
1. 1. An apparatus having a printer and a cloud print mediator capable of communicating with a cloud print service provisioned on a cloud computing platform, the apparatus comprising: The cloud printing mediator receiving a print job from the cloud printing service; Sending the received print job to the printer; and when sending a status notification to the cloud print service based on a status message regarding processing of the print job received from the printer, adjusting the status notification based on a predetermined throttling criterion. Device.
2. The cloud printing mediator a configuration in which a status message received from the printer is compared with the throttling criterion, and if the status message satisfies the throttling criterion, a status notification based on the status message is sent to the cloud print service, and if the throttling criterion is not met, the status notification is not sent; 10. The apparatus of claim 1.
3. The throttling criteria define a condition under which a status notification is allowed if the status message indicates a state transition.
10. The apparatus of claim 1.
4. the throttling criteria define a condition under which a status notification is allowed if the status message indicates that progress in printing the print job at the printer has reached one or more progress thresholds; 10. The apparatus of claim 1.
5. The throttling criteria define the conditions under which periodic status notifications are permitted after a certain period of time has elapsed.
10. The apparatus of claim 1.
6. the throttling criteria define a condition under which a status notification is allowed after receiving a threshold number of the status messages from the printer; 10. The apparatus of claim 1.
7. The cloud printing mediator and determining whether to adjust the status notification based on the throttling criteria.
10. The apparatus of claim 1.
8. The cloud printing mediator and determining whether to adjust the status notification based on a state of the printer or a state of the print job.
8. The apparatus of claim 7.
9. The cloud printing mediator and determining whether to adjust the status notification based on a size of the print job.
8. The apparatus of claim 7.
10. The cloud printing mediator and determining whether to adjust the status notification based on whether the printer uses a protocol to push the status messages to the cloud print mediator.
8. The apparatus of claim 7.
11. The device of claim 1; The printer A printing system having:
12. receiving a print job from a printer and a cloud printing service provisioned on a cloud computing platform; Sending the received print job to the printer; When sending a status notification to the cloud print service based on a status message regarding processing of the print job received from the printer, adjusting the status notification based on a predetermined throttling criterion; A method having the following.
13. The adjusting step comprises: comparing a status message received from the printer with the throttling criteria, and if the status message satisfies the throttling criteria, sending a status notification based on the status message to the cloud print service, and if the throttling criteria are not satisfied, not sending the status notification. The method of claim 12.
14. The throttling criteria define a condition under which a status notification is allowed if the status message indicates a state transition. The method of claim 12.
15. the throttling criteria define a condition under which a status notification is allowed if the status message indicates that progress in printing the print job at the printer has reached one or more progress thresholds; The method of claim 12.
16. The throttling criteria define the conditions under which periodic status notifications are permitted after a certain period of time has elapsed. The method of claim 12.
17. the throttling criteria define a condition under which a status notification is allowed after receiving a threshold number of the status messages from the printer; The method of claim 12.
18. determining whether to adjust the status notification based on the throttling criteria. The method of claim 12.
19. A program which, when executed by a processor, causes the processor to carry out a method according to any one of claims 12 to 18.
20. 20. A non-transitory computer-readable storage medium storing the program of claim 19.
Citation Information
Patent Citations
Device, method and program for location information management, computer readable recording medium, and system for location information management
JP2007079997A
Information processing unit, method, program, and information processing system
JP2015212893A
Server system, terminal device, operation information collection system, program, method for operating server system, and method for operating terminal device
JP2019028755A
Information communication control program, information communication control method and printer controller
JP2019185088A
Printing device, control method, and program
JP2024008595A