Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for cloud-based printing
Patent Information
- Application Number
- CN202180044353.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-06-25
- Filing Date
- 2021-05-14
- Publication Date
- 2026-09-04
- Estimated Expiration
- 2041-05-14
Smart Images

Figure CN115917495B_ABST
Abstract
Description
Background Technology
[0001] Printing data from a computing device typically involves transferring data to a local printer, for example, directly connected to the computing device or connected to a local network that includes the computing device. The printing resource may be inaccessible to computing devices outside of such a local network, or it may be accessible via multi-level communication between the computing device and various other devices, for example, for gaining access to the local network. Attached Figure Description
[0002] The accompanying drawings (in which the same reference numerals in the individual views refer to the same or functionally similar elements) are incorporated in and form part of the specification together with the following detailed description and are used to further illustrate embodiments including the concepts of the claimed invention and to explain the various principles and advantages of these embodiments.
[0003] Figure 1 This is a diagram illustrating a cloud-based printing system.
[0004] Figure 2 yes Figure 1 A block diagram of some of the internal hardware components of the server.
[0005] Figure 3 This is a flowchart of a cloud-based printing method.
[0006] Figure 4A yes Figure 3 The flowchart of an example implementation of the method block 310.
[0007] Figure 4B Is Figure 4A A schematic diagram of the data flow during the method.
[0008] Figure 5A yes Figure 3 The flowchart of another example implementation of the method block 310.
[0009] Figure 5B Is Figure 5A A schematic diagram of the data flow during the method.
[0010] Figure 6 This is a flowchart of another cloud-based printing method.
[0011] Those skilled in the art will understand that the elements in the accompanying drawings are illustrated for simplicity and clarity and are not necessarily drawn to scale. For example, the dimensions of some elements in the drawings may be enlarged relative to other elements to aid in understanding embodiments of the invention.
[0012] In the accompanying drawings, device and method components have been indicated by conventional symbols where appropriate, and only those specific details relevant to understanding embodiments of the invention are shown so as not to obscure this disclosure by means of details that would be obvious to those of ordinary skill in the art who would benefit from the description herein. Detailed Implementation
[0013] The examples disclosed herein relate to a server including a memory storing print configuration rules for interacting with a printing system; a communication interface configured to communicate with a client device; and a processor interconnected with the memory and the communication interface, the processor being configured to: generate a print system network identifier mapped to the printing system, the print system network identifier being configured to identify print parameters for a print job; receive a print request from the client device via the communication interface, the print request being generated based on the print system network identifier and including one or more print parameters for the print job; and send a print instruction to the printing system to initiate a print job at the printing system according to one or more print parameters, the print instruction being generated according to the print configuration rules.
[0014] Other examples disclosed herein relate to a method comprising: storing print configuration rules for interacting with a printing system; generating a print system network identifier mapped to the printing system, the print system network identifier being configured to identify print parameters for a print job; receiving a print request from a client device, the print request being generated based on the print system network identifier and including one or more print parameters for the print job; and sending a print instruction to the printing system to initiate a print job at the printing system according to one or more print parameters, the print instruction being generated according to the print configuration rules.
[0015] Other examples disclosed herein relate to a non-transitory computer-readable medium storing a plurality of computer-readable instructions executable by a processor, wherein execution of the instructions configures the processor to: generate a print system network identifier mapped to a print system, the print system network identifier being configured to identify print parameters for a print job; receive a print request from a client device via a communication interface, the print request being generated based on the print system network identifier and including one or more print parameters for a print job; and send a print instruction to the print system to initiate a print job at the print system according to one or more print parameters, the print instruction being generated according to print configuration rules stored in memory.
[0016] Figure 1An example system 100 for cloud-based printing is shown. System 100 includes a server 104, printing systems 108-1, 108-2, and client devices 112-1, 112-2, 112-3. Printing systems 108 and client devices 112 are connected to server 104 via communication link 106. System 100 enables cloud-based or network-based printing, therefore communication link 106 can utilize a suitable wide area network (WAN), including cellular networks and the Internet. Communication link 106 can also utilize a local area network defined by one or more routers, switches, wireless access points, etc.
[0017] Server 104 provides cloud-based printing services, enabling connected client devices 112 to print to printing systems 108 via server 104. More specifically, server 104 is configured to enable cloud printing without requiring account creation or authentication. To achieve this, server 104 maps printing system network identifiers (e.g., Uniform Resource Locator or URLs) to each printing system 108. The printing system network identifiers are configured to identify printing parameters for print jobs. That is, print jobs can be initiated directly using the printing system network identifiers and can be processed without requiring authentication from client devices 112. Therefore, the printing system network identifiers are also configured to bypass authentication at server 104.
[0018] In operation, server 104 generates at least one print system network identifier for each print system 108 registered with server 104. Each print system network identifier is mapped to a corresponding print system 108 and configured to identify print parameters for a print job. That is, the print system network identifier allows print parameters for a print job to be specified at client device 112. For example, the print system network identifier may correspond to a webpage where an end user can input print parameters, which, when received at server 104, are submitted as a print request. Alternatively, print parameters may be appended as variables to the print system network identifier to form a print job network identifier, which, when received at server 104, serves as a print request. Therefore, access to the print system network identifier enables the direct generation of print requests based on the print system network identifier.
[0019] Therefore, the print system network identifier can be shared or distributed, including to third parties, to reduce the amount of back-and-forth communication required between parties. For example, in a traditional model, an end user might request and download a file from a third party and then generate a print request to print that file. In this example, the end user could provide the print system network identifier to the third party. The third party could then directly use the print system network identifier to generate a print request to print the file without the end user needing to download the file. Advantageously, because the print system network identifier is used directly to generate the print request, the third party can bypass the authentication requirement of server 104 and continue generating print requests.
[0020] Printing system 108 may include any suitable system configured to communicate with server 104 via communication link 106 and print documents or other data. For example, printing system 108-1 includes a printer 109-1 and a separate computing device 110-1, such as a laptop, desktop computer, print server, etc., interconnected with printer 109-1 to establish a connection between printer 109-1 and network communication with server 104. Printing system 108-2 includes a cloud-enabled printer 109-2 with an integrated printer communication interface 110-2 to allow printer 109-2 to communicate directly with server 104.
[0021] Client device 112 may be a computing device, such as a desktop computer, laptop computer, mobile device, self-service kiosk, other server, tablet computer, or other suitable computing device. Specifically, client device 112 is configured to communicate with server 104 via communication link 106 to initiate a print job at one of the printing systems 108. Client device 112 includes suitable hardware (e.g., including a communication interface, processor, memory, user interface, etc.) to implement the functions described herein. For example, client device 112 may implement a web browser application to access the printing system network identifier and allow the user to input printing parameters for a specific print job.
[0022] refer to Figure 2 The image shows a server 104 including certain internal components in more detail. Server 104 includes a processor 200 interconnected with a non-transitory computer-readable storage medium (e.g., memory 204). Memory 204 includes a combination of volatile memory (e.g., random access memory, or RAM) and non-volatile memory (e.g., read-only memory, or ROM, electrically erasable programmable read-only memory, or EEPROM, flash memory). Processor 200 and memory 204 may each include one or more integrated circuits.
[0023] Memory 204 stores computer-readable instructions that are executed by processor 200. Specifically, memory 204 stores a control application program 208, which, when executed by processor 200, configures processor 200 to perform various functions, which will be discussed in more detail below and are related to the printing operations of server 104. Application program 208 can also be implemented as a set of different applications. When processor 200 is thus configured by executing application program 208, processor 200 can also be referred to as controller 200.
[0024] Those skilled in the art will understand that the functionality implemented by processor 200 can also be implemented in other embodiments by one or more specially designed hardware and firmware components (e.g., field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), etc.). In one embodiment, processor 200 may be a dedicated processor, which may be implemented via dedicated logic circuitry of ASICs, FPGAs, etc., in order to improve the processing speed of the measurement operations discussed herein.
[0025] The memory 204 also includes a library 212 that stores rules and data for printing operations. For example, the library 212 can define a printing system network identifier, printing configuration rules, and other data related to each printing system 108 (e.g., nickname, print job thresholds, etc.). Print configuration rules may include driver interfaces, communication protocols for sending printing parameters and print data, etc. Specifically, each printing system 108 may have different printing configuration rules, and therefore the library 212 can define appropriate printing configuration rules for each printing system 108.
[0026] Server 104 also includes a communication interface 216 interconnected with processor 200. Communication interface 216 includes suitable hardware (e.g., transmitter, receiver, network interface controller, etc.) that allows server 104 to communicate via link 106 with other computing devices such as printing system 108 and client device 112. Specific components of communication interface 216 are selected based on the type of network or other link on which server 104 will communicate. Server 104 can be configured, for example, to communicate with client device 112 to receive print requests and send print instructions to printing system 108.
[0027] The processor 200 may also be connected to one or more input and / or output devices 224. Input devices 224 may include one or more keyboards, mice, touch-sensitive displays, etc. Output devices 224 may also include one or more displays, sound generators, etc., for providing output or feedback to the operator.
[0028] Now refer to Figure 3The functions of server 104, implemented by processor 200 through the execution of application 208, are described in more detail. Figure 3 A cloud-based printing method 300 is illustrated, which combines its performance in system 100, particularly through server 104, with reference to Figure 1 and Figure 2 The components shown are used for description. In other examples, method 300 can be executed on other suitable systems.
[0029] At box 305, server 104 generates a corresponding print system network identifier for each of the print systems 108 associated with server 104.
[0030] For example, server 104 may host a cloud printing service available at the network identifier “print.com”. When printing system 108-1 has registered with the cloud printing service hosted by server 104, server 104 may generate a printing system network identifier “print.com / printer108-1” mapped to printing system 108-1. Similarly, when printing system 108-2 has registered with the cloud printing service hosted by server 104, server 104 may generate another printing system network identifier “print.com / printer108-2” mapped to printing system 108-2. In some examples, the network identifier may include a token mapped to a given printing system (i.e., “printer108-1” or “printer108-2” in this example), which is long enough, or has a sufficient number of bytes, to make random access to the network identifier computationally difficult. The printing system network identifier can therefore be used to identify the appropriate printing system, as will be further described herein. The printing system network identifier is also configured to identify printing parameters used for print jobs, which will be further described below. Server 104 can then store the association between the printing system network identifier, the printing system, and the printing configuration rules used to interact with the printing system.
[0031] In some examples, at box 305, server 104 may also provide the client device 112 with a print system network identifier. For example, the print system network identifier may be provided on a central webpage (e.g., at “print.com / printer-list”) for client device 112 to look up. Therefore, when a user operating client device 112-2 accesses “print.com / printer-list” using a web browser application, server 104 can provide the appropriate webpage listing the print systems 108 for selection. In some examples, the user may be required to authenticate or log in before viewing the list of available print systems 108. Print systems 108 may also be associated with nicknames and / or descriptions to allow end users to distinguish between print systems 108-1 and 108-2. For example, print system 108-1 may be associated with the description “black and white printer,” while print system 108-2 may be associated with the description “color printer.” The list may also include status indicators and other print system status information for each print system 108. For example, if computing device 110-1 is offline, printing system 108-1 may be unavailable. Other printing system status information may include, for example, the current queue length of documents waiting to be printed.
[0032] The user can then select printing system 108 at client device 112-2, which generates a network identifier request. In response to the network identifier request, server 104 can retrieve and provide the stored printing system network identifier for the selected printing system 108 and display the identifier on a webpage.
[0033] In other examples, server 104 may generate a new print system network identifier mapped to the print system for each subsequent network identifier request, instead of retrieving and providing a stored print system network identifier for the selected print system 108 in response to each network identifier request. Thus, for example, a new print system network identifier for print system 108-1 could include “print.com / printer108-1 / req2”, “print.com / printer108-1 / req3”, etc. The new print system network identifier similarly identifies the corresponding print system 108 and is configured to identify printing parameters for the print job. The new print system network identifier is also configured to bypass authentication at server 104. Therefore, server 104 can map multiple print system identifiers to each print system 108.
[0034] Other criteria for generating new print system network identifiers can also be considered. For example, server 104 can generate new print system network identifiers based on different user identifiers, Internet Protocol (IP) addresses, or other suitable criteria. For instance, a user can log in or authenticate in system 100, and therefore server 104 can assign a unique print system network identifier to each user identifier. In other examples, a webpage listing print systems 108 could directly present the print system network identifier corresponding to the listed print systems 108, rather than retrieving and providing a stored print system network identifier for the selected print system 108.
[0035] At box 310, server 104 receives a print request, for example, from client device 112. Specifically, the print request is generated based on a print system network identifier and includes one or more print parameters for a print job. For example, the print system network identifier may correspond to a webpage configured to receive one or more print parameters for a print job. In particular, submitting print parameters on a webpage can serve as a print request to server 104. In other examples, the print request may correspond to a print job network identifier that includes one or more print parameters appended to the print system network identifier.
[0036] For example, refer to Figure 4A and Figure 4B The illustration shows an example method 400 for receiving a print request and a schematic diagram of that method. Specifically, in example method 400, the print system network identifier corresponds to a webpage configured to receive one or more print parameters for a print job.
[0037] At box 405, server 104 receives request 408 to resolve the printing system network identifier. Specifically, the user of client device 112-2 can use a web browser application to access the network identifier "print.com / printer108-2". Accordingly, client device 112-2 generates request 408 to resolve the URL. According to standard communication protocols, request 408 can be sent to server 104 hosting the network identifier "print.com" for resolution.
[0038] At box 410, server 104 parses request 408 and provides client device 112-2 with webpage 412 corresponding to the network identifier “print.com / printer108-2”. Webpage 412 is configured to receive printing parameters for a print job. For example, webpage 412 may be a form, etc., to allow the user to specify the number of copies of a document and other parameters for the print job. To identify the document to be printed, webpage 412 may accept another network identifier (e.g., a URL) that is uploaded or indicates the file path.
[0039] At box 415, server 104 receives print request 418 via a submission request at webpage 412. Print request 418 includes one or more parameters for the print job entered at webpage 412. For example, once a user enters print parameters on webpage 412, the user can select the "Submit" button on webpage 412 to initiate the submission request. Thus, print request 418, including one or more parameters, is submitted to server 104. In some examples, after successfully receiving print request 418, server 104 may return a status indicator 420 to client device 112-2. For example, status indicator 420 may simply indicate whether the transmission of print request 418 to server 104 was successful or failed. In other examples, status indicator 420 may be dynamic and updated based on the progress of the print job (e.g., print job is being sent to printer, printer is printing, print job is complete).
[0040] Now go to Figure 5A and Figure 5B The diagram illustrates another example method 500 for receiving a print request and a schematic diagram of that method. Specifically, in example method 500, print parameters are appended to a print system network identifier to define the print job network identifier that forms the print request.
[0041] At box 505, server 104 receives request 508 to resolve print job network identifier. Specifically, client device 112-1 can generate a print job network identifier by employing a print system network identifier and appending print parameters as variables to the print system network identifier. Print parameters may specify, for example, the number of copies of a file (e.g., "num=2") and other parameters for the print job. To identify the file to be printed, an embedded network identifier may be included to indicate the file's path (e.g., "doc=docpath"). Therefore, the print system network identifier and parameters can be appended to form the print job network identifier "print.com / printer108-2 / ?num=2&doc=docpath". Client device 112-1 can then generate request 508 to resolve the URL. Request 508 can be sent to server 104 hosting the network identifier "print.com" for resolution, according to standard communication protocols.
[0042] At box 510, server 104 parses request 508 and extracts the print system network identifier and print parameters 512 from the print job network identifier. Request 508, which parses the print job network identifier, thus acts as a print request for a print job with print parameters 512. In some examples, after successfully parsing request 508 and extracting the print parameters 512 for the print job, server 104 may return a status indicator 520 to client device 112-1. For example, status indicator 520 may indicate success or failure in parsing request 508 and extracting print parameters 512. In other examples, status indicator 520 may be dynamic and updated based on the progress of the print job (e.g., the print job is being sent to the printer, the printer is printing, the print job is complete).
[0043] In some examples, server 104 may accommodate both method 400 and method 500 to receive print requests. For instance, a user operating mobile computing device 112-2 or desktop computer 112-3 could use method 400 because it provides a more user-friendly interface for entering print parameters and generating print requests. Therefore, a user who wishes to print a file locally stored on client device 112-2 or client device 112-3 could access the webpage corresponding to the printing system network identifier “print.com / printer108-2”, upload the file, and enter print parameters in the webpage to generate a print request.
[0044] Instead, server 112-1 can interact automatically with server 104, and therefore can more easily programmatically append print parameters to the print system network identifier to form a print job network identifier to generate a print request. For example, a user might want to print packaging labels from "stamps.com" hosted on server 112-1. Instead of downloading the packaging labels from "stamps.com" and uploading them to the webpage corresponding to "print.com / printer108-2", the user can provide server 112-1 with the print system network identifier "print.com / printer108-2". In some examples, the user can also provide server 112-1 with print parameters for the print job. Server 112-1 can then convert the print parameters for the packaging labels and the network identifier into appropriate variables to append to the print system network identifier, forming the print job network identifier "print.com / printer108-2 / ?num=2&doc=docpath", which is submitted to server 104 to generate a print request.
[0045] Now return to Figure 3 At box 315, server 104 generates a print instruction and sends it to the appropriate printing system 108. Specifically, server 104 generates the print instruction based on print configuration rules stored in memory 204. The print instruction initiates a print job based on print parameters received along with the print request at box 310. In some examples, during or after the print job is executed by printing system 108, server 104 may receive a status indicator from printing system 108 and may pass the status indicator to the requesting client device 112.
[0046] In some examples, server 104 may perform one or more checks before generating print instructions to ensure that print job thresholds have not been exceeded. For example, see reference... Figure 6 Example method 600 for cloud-based printing includes checking print job thresholds. Method 600 is similar to method 300, and similar boxes are numbered similarly.
[0047] Specifically, at box 605, server 104 generates a printing system network identifier. At box 610, server 104 receives a print request from client device 112, for example, via method 400 or method 500.
[0048] Before generating a print command, at box 612, server 104 checks whether a print job threshold has been exceeded. For example, server 104 may maintain a count in memory 204 of print jobs requested by an IP address within a predetermined time interval (e.g., the number of print jobs requested in the past 10 hours, 24 hours, 7 days, etc.). To reduce system misuse, server 104 may compare the count of print jobs requested by that IP address with a threshold number of print jobs within the predetermined time interval. When the count exceeds the threshold number of print jobs, the decision at box 612 is affirmative, and server 104 proceeds to box 620. When the count does not exceed the threshold number of print jobs, the decision at box 615 is negative, and server 104 proceeds to box 615. In other examples, server 104 may alternatively or additionally implement other criteria for managing print jobs.
[0049] At box 615, server 104 generates and sends print commands based on print configuration rules and print parameters.
[0050] At box 620, server 104 rejects the print request and any other print jobs from that IP address. Server 104 may return a notification to the client device, such as a notification indicating that the maximum number of print jobs within a predetermined time interval has been reached.
[0051] Specific embodiments have been described in the foregoing specification. However, those skilled in the art will understand that various modifications and changes can be made without departing from the scope of the invention as defined by the appended claims. Therefore, the specification and drawings should be considered illustrative rather than restrictive, and all such modifications are intended to be included within the scope of the invention.
[0052] These benefits, advantages, solutions to problems, and any elements that may lead to or make any benefit, advantage, or solution occur or become more apparent should not be construed as key, essential, or fundamental features or elements of any or all claims. The invention is defined only by the appended claims (including any amendments made during the pending period of this application) and all equivalents of the granted claims.
[0053] Furthermore, in this application, relational terms such as first and second, top and bottom are used only to distinguish one entity or action from another, and do not necessarily require or imply any actual such relationship or order between these entities or actions. The terms “comprising,” “including,” “having,” “containing,” “comprise,” “containing,” “comprising,” “containing,” or any other variation thereof are intended to cover non-exclusive inclusion, and therefore a process, method, article, or apparatus that includes, has, contains, or contains a list of elements does not necessarily include only those elements, but may also include other elements not expressly listed or inherent to the process, method, article, or apparatus. Without further limitation, the element following “comprising a…,” “having a…,” “comprising a…,” “containing a…” does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes, has, contains, or contains that element. The terms “a” and “an” are defined as one or more unless expressly stated otherwise herein. As will be understood by those skilled in the art, the terms “approximately,” “substantially,” “about,” “around,” or any other expression are defined as close to, in one non-limiting embodiment, the term is defined as within 10%, in another embodiment, the term is defined as within 5%, in yet another embodiment, the term is defined as within 1%, and in yet another embodiment, the term is defined as within 0.5%. The term “connection” as used herein is defined as a link, but is not necessarily a direct link or a mechanical link. A device or structure “constructed” in a certain way is constructed at least in the manner described, but may also be constructed in ways not listed.
[0054] It should be understood that some embodiments may consist of one or more dedicated processors (or "processing devices") and unique stored program instructions (including software and firmware), such as microprocessors, digital signal processors, custom processors, and field-programmable gate arrays (FPGAs), which control the one or more processors to implement some, most, or all of the functions of the methods and / or devices described herein, together with some non-processor circuitry. Optionally, some or all of the functions may be implemented by a state machine without stored program instructions, or in one or more application-specific integrated circuits (ASICs), wherein each function or some combination of functions is implemented as custom logic. Of course, a combination of these two approaches may also be used.
[0055] Furthermore, one embodiment can be implemented as a computer-readable storage medium on which computer-readable code is stored for programming a computer (e.g., including a processor) to perform the methods described and claimed herein. Examples of such computer-readable storage media include, but are not limited to, hard disks, CD-ROMs, optical storage devices, magnetic storage devices, ROMs (read-only memories), PROMs (programmable read-only memories), EPROMs (erasable programmable read-only memories), EEPROMs (electrically erasable programmable read-only memories), and flash memory. Moreover, it is conceivable that, although it may require considerable effort due to available time, current technology, and economic considerations, and that many alternative designs exist, such software instructions, programs, and integrated circuits can be readily created by those skilled in the art with minimal experimentation, guided by the concepts and principles disclosed herein.
[0056] The abstract provided is intended to allow the reader to quickly determine the nature of the disclosed technology. It should be understood that the abstract should not be used to interpret or limit the scope or meaning of the claims. Furthermore, as can be seen in the preceding detailed description, various features have been combined in different embodiments to make the disclosure flow smoothly. However, this approach to disclosure does not imply that the claimed embodiments require more features than expressly recited in each claim. Rather, as reflected in the appended claims, the subject matter of the invention does not encompass all features of a single disclosed embodiment. Therefore, the appended claims are incorporated herein by reference, wherein each claim exists independently as a separate claimed subject matter.
Claims
1. A server for cloud-based printing, comprising: A memory configured to store printing configuration rules for interacting with the printing system; Communication interface; A processor interconnected with the memory and the communication interface, the processor being configured to: Generate a print system network identifier mapped to the print system, the print system network identifier being configured to identify print parameters for a print job; A print request is received via the communication interface. The print request is generated based on the printing system network identifier and includes one or more print parameters for the print job. as well as A print command is sent to the printing system to initiate the print job at the printing system according to one or more print parameters, the print command being generated according to the print configuration rules.
2. The server according to claim 1, wherein, The printing system network identifier corresponds to a webpage configured to receive one or more printing parameters for the print job.
3. The server according to claim 2, wherein, To receive the print request, the processor is configured to: Receive a request to parse the network identifier of the printing system; The webpage is provided to the client device via the communication interface to receive one or more printing parameters for the print job; as well as The print request is received via a request submitted at the webpage by the client device, the print request including the one or more print parameters for the print job.
4. The server according to claim 1, wherein, The print request corresponds to a print job network identifier, which includes one or more print parameters appended to the print system network identifier.
5. The server according to claim 4, wherein, To receive the print request, the processor is configured to: Receive a request to parse the network identifier of the print job; and Extract the printing system network identifier and the one or more printing parameters for the printing job from the print job network identifier.
6. The server according to claim 1, wherein, The processor is further configured to be able to: Receive a network identifier request for the printing system from the requesting device; and In response to the network identifier request, the printing system network identifier is provided to the requesting device.
7. The server according to claim 6, wherein, The processor is further configured to be able to: Receive subsequent network identifier requests for the printing system; A new print system network identifier is generated and mapped to the print system, the new print system network identifier being configured to identify print parameters for a print job; and In response to the subsequent network identifier request, the new printing system network identifier is provided.
8. The server according to claim 1, wherein, The processor is further configured to be able to: The memory maintains a count of print jobs requested by an Internet Protocol address within predetermined time intervals; and When the count exceeds the threshold number of print jobs within the predetermined time interval, the print request from the Internet Protocol address is rejected.
9. The server according to claim 1, wherein, The communication interface is configured to communicate with a client device, and the client device is configured to provide the print request.
10. A method for cloud-based printing, comprising: Stores print configuration rules used for interacting with the printing system; Generate a print system network identifier configured to be mapped to the print system, the print system network identifier being configured to identify print parameters for a print job; Receive a print request, which is generated based on the printing system network identifier and includes one or more print parameters for the print job; as well as A print command is sent to the printing system to initiate the print job at the printing system according to one or more print parameters, the print command being generated according to the print configuration rules.
11. The method according to claim 10, wherein, The printing system network identifier corresponds to a webpage configured to receive one or more printing parameters for the print job.
12. The method according to claim 11, wherein, Receiving the print request includes: Receive a request to parse the network identifier of the printing system; The webpage is provided to receive the one or more printing parameters for the print job; and The print request is received via a request submitted at the webpage by a client device, the print request including the one or more print parameters for the print job.
13. The method according to claim 10, wherein, The print request corresponds to a print job network identifier, which includes one or more print parameters appended to the print system network identifier.
14. The method of claim 13, wherein, Receiving the print request includes: Receive a request to parse the network identifier of the print job; and Extract the printing system network identifier and the one or more printing parameters for the printing job from the print job network identifier.
15. The method of claim 10, further comprising: Receive a network identifier request for the printing system from the requesting device; as well as In response to the network identifier request, the printing system network identifier is provided to the requesting device.
16. The method of claim 15, further comprising: Receive subsequent network identifier requests for the printing system; A new print system network identifier is generated and mapped to the print system, the new print system network identifier being configured to identify print parameters for a print job; as well as In response to the subsequent network identifier request, the new printing system network identifier is provided.
17. The method of claim 10, further comprising: Maintain a count of print jobs requested by an Internet Protocol address within a predetermined time interval; as well as When the count exceeds the threshold number of print jobs within the predetermined time interval, the print request from the Internet Protocol address is rejected.
18. A non-transitory computer-readable medium storing a plurality of computer-readable instructions executable by a processor, wherein, When the plurality of computer-readable instructions are executed by the processor, the processor performs the following steps: Generate a print system network identifier mapped to the print system, the print system network identifier being configured to identify print parameters for a print job; Receive a print request, which is generated based on the printing system network identifier and includes one or more print parameters for the print job; as well as A print command is sent to the printing system to initiate the print job at the printing system according to one or more print parameters, the print command being generated based on print configuration rules stored in memory.
19. The non-transitory computer-readable medium according to claim 18, wherein, The processor further includes: Receive a request to parse the printing system network identifier, wherein the printing system network identifier corresponds to a webpage configured to receive one or more printing parameters for the print job; The webpage is provided to receive the one or more printing parameters for the print job; and The print request is received via a request submitted at the webpage by a client device, the print request including the one or more print parameters for the print job.
20. The non-transitory computer-readable medium of claim 18, wherein, The processor further includes: Receive a request to parse a print job network identifier, wherein the print job network identifier corresponds to the print request, and the print job network identifier includes one or more print parameters appended to the print system network identifier; and Extract the printing system network identifier and the one or more printing parameters for the printing job from the print job network identifier.
21. The non-transitory computer-readable medium of claim 18, wherein, The processor further includes: Receive a network identifier request for the printing system from the requesting device; and In response to the network identifier request, the printing system network identifier is provided to the requesting device.
Citation Information
Patent Citations
Document printing system and method of mobile computing device users
CN101526889A
Printing to a cloud printer via NFC
CN103842957A