EP2548109A2 - Cloud-based print service - Google Patents
Cloud-based print serviceInfo
- Publication number
- EP2548109A2 EP2548109A2 EP11712091A EP11712091A EP2548109A2 EP 2548109 A2 EP2548109 A2 EP 2548109A2 EP 11712091 A EP11712091 A EP 11712091A EP 11712091 A EP11712091 A EP 11712091A EP 2548109 A2 EP2548109 A2 EP 2548109A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- printer
- user
- cloud
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1206—Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1224—Client or server resources management
- G06F3/1228—Printing driverless or using generic drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1247—Job translation or job parsing, e.g. page banding by conversion to printer ready format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Definitions
- This description relates to printing.
- An ability to print within a computing environment generally ranges from desirable to indispensable.
- Conventional printers, and associated printing techniques typically involve installation of a print driver within the context of an operating system or platform of an associated computer.
- the print driver is generally specific to the associated (type of) printer, and to the operating system, and enables applications running in the context of the operating system to communicate with (e.g., send print jobs to) the printer.
- an owner of a computer running a particular operating system purchases a printer, and then installs a version of the printer driver associated with the user's operating system onto the computer.
- a printer i.e., associated printer driver
- a printer may be installed in the context of a network.
- a local computer executing an application, operating system, and printer driver may print from the application to a remote printer, using an intermediary print server.
- an application may execute on a remote device, and the operating system and printer driver may be installed on the remote device, as well.
- a user may experience or use the remotely-executing application at a local computer (e.g., in a remote desktop or other virtual computing environment), and may print to a local or remote printer which receives commands from the remotely -installed printer driver.
- the above-referenced paradigm for printing generally uses, for each (type of) printer, a print driver for each operating system/platform from which printing may occur. Consequently, it may be difficult for printer manufacturers to generate and maintain such print drivers for all available operating systems/platforms, and, even to the extent to which printer manufacturers are successful in doing so, it may be difficult for individual and/or network users to be aware of, identify, obtain, or otherwise implement an appropriate driver(s) (or associated updates).
- a particular operating system/platform does not support a particular print driver, or any print driver at all.
- operating systems designed to run in resource-limited environments such as mobile devices (e.g., netbooks or smartphones), may have limited or no resources to execute a print driver.
- resource-limited environments such as mobile devices (e.g., netbooks or smartphones)
- a print server may include instructions stored on a computer-readable medium and executable by at least one processor.
- the print server may include an anonymous printer registration module configured to receive, at a cloud print service, a registration request from a printer over a network and return a registration response to the printer over the network.
- the anonymous printer registration module may include a claim code provider configured to provide a claim code included within the registration response to the printer over the network, wherein the printer is configured to provide the claim code to a user of the printer, and a printer matcher configured to receive the claim code from the user over the network and match a user account of the user within the cloud print service with the printer, in response to the receipt of the claim code from the user.
- a computer-implemented method may include receiving a registration request at a cloud print service from a printer over a network, providing a registration response to the printer over the network, the registration response providing a claim code, wherein the printer is configured to provide the claim code to a user of the printer, receiving the claim code from the user over the network, and matching a user account of the user within the cloud print service with the printer, in response to the receipt of the claim code from the user.
- a computer program product may be tangibly embodied on a computer-readable storage medium and may include executable code that, when executed, is configured to cause a data processing apparatus to receive a registration request at a cloud print service from a printer over a network, provide a registration response to the printer over the network, the registration response providing a claim code, wherein the printer is configured to provide the claim code to a user of the printer, receive the claim code from the user over the network, and match a user account of the user within the cloud print service with the printer, in response to the receipt of the claim code from the user.
- a printer may include a registration requester configured to receive an initiation request from a user to initiate a registration of the printer, and further configured to send a registration request to a cloud print service over a network, a claim facilitator configured to receive a registration response from the cloud print service over the network, the registration response including a claim code, and further configured to provide, using printer functionality, the claim code to the user, and an authentication manager configured to request an authentication credential issued by the cloud print service in response to a matching of the printer with a user account of the user within the cloud print service, the matching based on a receipt of the claim code from the user at the cloud print service, and further configured to receive and store the authentication credential at the printer.
- a method may include receiving, at a printer, an initiation request from a user to initiate a registration of the printer, sending, from the printer, a registration request to a cloud print service over a network, receiving, at the printer, a registration response from the cloud print service over the network, the registration response including a claim code, providing, using printer functionality, the claim code to the user, requesting an authentication credential issued by the cloud print service in response to a matching of the printer with a user account of the user within the cloud print service, the matching based on a receipt of the claim code from the user at the cloud print service, and receiving and storing the authentication credential at the printer.
- a computer program product may be tangibly embodied on a computer-readable storage medium and may include executable code that, when executed, is configured to cause a cloud aware printer to receive, at a printer, an initiation request from a user to initiate a registration of the printer, send, from the printer, a registration request to a cloud print service over a network, receive, at the printer, a registration response from the cloud print service over the network, the registration response including a claim code, provide, using printer functionality, the claim code to the user, request an authentication credential issued by the cloud print service in response to a matching of the printer with a user account of the user within the cloud print service, the matching based on a receipt of the claim code from the user at the cloud print service; and receive and store the authentication credential at the printer.
- FIG. 1 is a block diagram of a system for implementing a cloud print service.
- FIG. 2 is a flowchart illustrating example operations of the system of FIG. 1.
- FIG. 4 is a block diagram of a more detailed example of an
- FIG. 5 is a block diagram showing example or representative computing devices and associated elements that may be used to implement the systems and methods of FIGS. 1-4 and FIGS. 6-11.
- FIG. 6 is a block diagram of a system for providing anonymous registration of printers.
- FIG. 7 is a flowchart illustrating example operations of the cloud print service of FIG. 6 during self-authentication of a printer.
- FIG. 8 is a flowchart illustrating example operations of the cloud aware printer of FIG. 6 during self-authentication.
- FIG. 9 is a detailed flowchart illustrating an example self- authentication process conducted between the cloud print service, the cloud aware printer, and the user device of FIG. 6.
- FIG. 10 is an illustration of an invitation page printed by the cloud aware printer of FIG. 6.
- FIG. 11 is a screenshot of an example claim Uniform Resource Locator (URL) used in conjunction with the system of FIG. 6
- URL Uniform Resource Locator
- a device 108 is illustrated as an example of virtually any computing device from which a user may wish to execute a print job.
- the device 108 may include a laptop or desktop computer, a netbook, a tablet computer, a smartphone, a camera, or any device which may store or have access to data which the user may desire to print.
- an operating system 110 is illustrated as executing an application 112. Again, these elements are included by way of illustration and example, and may include virtually any operating system or other platform on which virtually any application may run.
- the operating system 110 may include operating systems such as the Windows operating system, Mac OS, or Linux, and may include mobile platforms such as Android, Symbian, or iPhone OS, to name a few examples.
- the operating system 110 may include a browser-based operating system, such as the Chrome OS.
- the application 112 may include virtually any
- Examples of such applications are well-known and too numerous to mention in any detail, but generally include document processing applications, email applications, image editing or presentation software, a web browser, or virtually any application which provides the user with a rendering of data which the user may wish to print.
- the application 112 may represent a web application which executes on a remote application server 114 as application 116. That is, the application 116 may include any application functionality which is accessed by the user over the network 106 and experienced locally as the application 112, e.g., using a browser running at the device 108. As is known, such web applications allow an owner of the application server 114 to assume responsibility for installing, configuring, executing, and maintaining the application 116 at the application server 114, so that the user of the device 108 may obtain the benefit of the application 116 without many or any of the associated costs and responsibilities.
- the network 106 may thus represent, for example, the public Internet or other wide area public or private network.
- the network 106 may represent, in further examples, a corporate or other intranet, and/or a smaller-scale, local or personal network, any of which may be implemented using standard network technology.
- the cloud print service 102 may be configured to register the user and/or the device 108, as well as the cloud-aware printer 118.
- the device may be a smartphone, and the user may use the application 112 to purchase a ticket (e.g., a movie ticket , or an airline ticket). Then, the user may print the purchased ticket directly to the cloud-aware printer 118, even though the device 108 and/or the operating system 110 may not have the resources, or otherwise be configured, to support native printing in a conventional sense (e.g., may not currently be executing a print driver of any sort associated with the cloud-aware printer 118). In this way, the user of the application 112 may be provided with a print option and associated abilities that are not currently provided in conventional printing paradigms and techniques. Many other such examples are described herein, or would be apparent.
- the system 100 provides an ability for virtually any
- printer manufacturers may experience a decreased or eliminated need to provide users with the (updated) driver(s) and other prerequisites for users to fully experience the benefits of their products. This may result in, for example, higher customer satisfaction, and a decreased cost of producing and maintaining printers.
- the cloud print service 102 includes a registration manager 126, which may be configured to register printers and users.
- a printer manager 128 may be configured to receive a registration of the cloud-aware printer 118 and/or the legacy printer 120, including storing identification information therefore within a data store 130 of registered printers.
- a user manager 132 may be configured to register a user(s) who may currently or potentially wish to execute print jobs using the cloud print service 102, and to store identification information for such users within a data store 134 of registered users.
- such users already may have a user account with a separate and possibly related service or service provider.
- various online services e.g., other cloud-based computing resources
- the cloud print service 102 may leverage or access such existing user accounts, e.g., to avoid a need to create a new user account, and to facilitate access of existing users of other services with the cloud print service.
- An application manager 136 may be configured to communicate with any application which may be desired to be used for printing within the system 100, including, e.g., the application 112, and the application 116.
- the application manager 136 may implement various application programming interfaces (APIs) which enable such communication with external applications.
- APIs application programming interfaces
- the application manager 136 may include the functions of receiving a print request, and then receiving an actual print job, from, e.g., the application 112.
- the first function of receiving a print request may include providing the user of the application 112 (directly or indirectly) with a print dialog or other user interface with which the user may select an available/associated registered printer.
- Receiving the print job may include receiving print data to be printed, along with print characteristics
- the application manager 136 may communicate with the application 112 (or other application) in a format that is independent of a specific printer, e.g., that is generic with respect to all available or relevant printers within the system 100. In this way, the application 112 is relieved of some or all of the burdens associated with needing knowledge of a destination printer when formulating and/or sending the print job.
- the application 112 may formulate both the print data and print characteristics in the same manner, regardless of whether the print job is destined for, e.g., the cloud-aware printer 118 or the legacy printer 120.
- the print job still may be forwarded to the cloud print service 102 for storage, and later printed to whatever printer is ultimately registered with the cloud print service 102 and the user's account.
- the application 112 may include or use, or be associated with, APIs to communicate with the application manager 136, where such APIs may be light-weight, consistent, customizable, and easy to implement within or among various applications.
- APIs may rarely, if ever, need to be updated or maintained by the user in order for the user print from the application using the cloud print service 102. Instead, such updates may be managed by an administrator or other provider of the cloud print service 102 and/or by a provider of the application 112, so that the user of the application 112 is unburdened of associated efforts and
- Print jobs received at the application manager 136 in the printer- independent or generic format may be passed to a format converter 138, which may be configured to receive a print job from the application manager 136 and facilitate or execute conversion of the print job into a format associated with the designated (type of) printer for the print job in question.
- Such conversion may thus generally include, as needed, conversion of the print data itself, as well as conversion of the print characteristics specified within a given print job.
- printers generally require low-level, device or type- specific instructions which provide a basis by which printers actually apply ink to paper to achieve a desired appearance.
- Such instructions therefore may include very specific portrayal of the desired print outcome, using, e.g., a Page Description Language (PDL).
- PDL Page Description Language
- the language PostScript may be used to describe a desired print outcome, and then rendered (e.g., rasterized) by a specific printer to generate printed text or images.
- fixed-layout document formats exist which are designed to facilitate device-independent printing while maintaining document fidelity.
- the portable document format (.pdf) is an example of such a format, where .pdf documents may be generated using PostScript.
- XPS XML Paper Specification
- XPS XML Paper Specification
- the format converter 138 may provide and execute the resulting, converted print job using, e.g., a protocol referred to herein as a cloud print protocol (CPP).
- a protocol referred to herein as a cloud print protocol (CPP).
- the cloud print protocol allows the cloud print service to communicate with the cloud-aware printer 118 or the legacy printer 120. Further detail and other aspects of the cloud print protocol are described in more detail, below.
- the converted print job may be stored in a data store 140, illustrated as job store 140 in FIG. 1.
- job store 140 may overlap or coincide with the data stores 130, 134 of the registration manager 126. That is, for example, print jobs of a given user may be stored in conjunction with the user account of the user, and in conjunction with one or more printers registered to that user. As a result, print jobs may be committed to long-term storage, so that, for example, users may locate, identify, and re-print desired print jobs, even if the user later accesses the cloud print service 102 from a different device than was used to originally send a given print job.
- conversion of the print job at leas partially occurs at a separate device(s) (e.g., the cloud print server 104, the cloud- aware printer 118, the device 122, or the router 124) from the device(s) on which the originating application is executing (e.g., the device 108, the application server 114, or the device 122).
- a separate device(s) e.g., the cloud print server 104, the cloud- aware printer 118, the device 122, or the router 124
- the device(s) on which the originating application is executing e.g., the device 108, the application server 114, or the device 122
- a print job router 142 may be configured to route the converted print job to a designated printer, and otherwise monitor and mediate execution and success/failure of the print job.
- the print job router 142 may thus be responsible for managing and monitoring on-going print jobs from a plurality of users which are designated for a corresponding plurality of printers, as described in detail, below.
- the print job router 142 may be configured to execute, e.g., with a print client 146 executing on firmware 144 of the cloud-aware printer 118.
- the print client 146 may communicate with the cloud print service 102, e.g., with the print job router 142 and/or the registration manager 126, using the cloud print protocol referenced above.
- the print client 146 may be configured to register the cloud-aware printer 118 with the cloud print service 102, and to thereby associate the thus-registered printer 118 with a user of the device 108. Moreover, the print client 146 may be configured to actually drive the cloud-aware printer 118 and thereby execute the desired printing.
- the cloud-aware printer 118 is illustrated as including the print client 146 within the firmware 144.
- the firmware 144 may represent factory-installed hardware and/or software which provides designated functions without generally requiring or allowing user modification or configuration (e.g., may utilize read-only memory).
- the cloud-aware printer 118 may be pre-configured from before a time of purchase to communicate and coordinate with the cloud print service 102, to thereby provide a convenient and enjoyable user experience.
- the cloud aware printer 118 may include a network access manager 148, user input 150, and a display (or other user output) 152, which may generally represent conventional components that are not described here in detail except as needed to assist in understanding the operation of the system 100.
- the cloud-aware printer 118 also may include other conventional components, which are not discussed here for the sake or clarity and conciseness.
- the network access manager 148 may represent associated hardware and/or software which enables the cloud-aware printer 118 to communicate over the network 106 with the cloud print service 102. For example, such communication may be conducted wirelessly if the cloud-aware printer 118 is within range of an appropriate wireless network. In other examples, the network access manager 148 may enable a wired connection of the cloud-aware printer 118 to the network 106, e.g., by way of connection to a router such as the router 124.
- the user input 150 may represent virtually any sort of keypad, stylus, or other techniques for entering data to the cloud-aware printer 118.
- the display 152 may represent virtually any sort of audio and/or video display to output information to a user of the cloud-aware printer 118.
- a user may purchase the cloud-aware printer 118.
- the cloud-aware printer 118 may automatically output or identify the cloud print service 102, e.g., by printing a URL or other identifier on paper loaded in a paper tray of the cloud-aware printer 118, or by displaying such information using the display 152.
- the cloud-aware printer 118 may output registration information for itself, e.g., a serial number or other unique identifier.
- the purchaser may use the device 108 or other network device to communicate with the cloud print service 102, e.g., by using a browser to visit a website of the cloud print service 102 provided by the cloud print server 104.
- the user/purchaser may then log into his or her user account associated with the cloud print service 102 and be prompted to enter the registration information for the cloud-aware printer 118.
- the user input 150 and display 152 may similarly be used to communicate directly with the cloud print service 102 using the network access manager 148.
- the cloud-aware printer 118 may automatically connect to the cloud print service 102 using the print client 146 and the network access manager 148, and then use the display 152 to prompt the user/purchaser to login to the cloud print service 102, to thereby automatically associate the cloud-aware printer 118 as being registered to the user/purchaser.
- the legacy printer 120 may not be manufactured to include the print client 146 and/or other components of the cloud-aware printer 118.
- the legacy printer 120 may have been manufactured prior to an availability of the cloud print service 102, or simply may have been made without the necessary components to communicate with the cloud print service 102.
- the legacy printer 120 may be connected in a conventional way to the device 122 (e.g., by USB or other suitable wired or wireless connection).
- the device 122 may include an operating system 154, which may be used to host a print client 156 which is conceptually similar to the print client 146, and which serves as a proxy for the legacy printer 120 to thereby allow the legacy printer 120 to participate in the system 100.
- the print client/proxy 156 may communicate directly with the legacy printer 120 to execute a print job from the cloud print service 102.
- the operating system 154 may have a conventional printer driver 158 installed for the legacy printer 120, in which case the system 100 may leverage some or all of the functionality of the print driver 158 to drive the legacy printer 120.
- the print client/proxy 156 may be configured to register the legacy printer 120 with the registration manager 126 (printer manager 128) of the cloud print service 102, in a similar manner(s) as described above and depending on a presence or absence of capabilities of the legacy printer 120 (e.g., whether the legacy printer 120 includes network access, user input and/or display components).
- an application 160 which may desire to print to the legacy printer 120 may communicate a print job to the cloud print service 102, e.g., in the manner described above with respect to the application 112.
- the application 112 and/or the application 116 may thus print to the legacy printer 120, as easily as to the cloud-aware printer 118.
- a user of the device 108 may use the application 112 to execute a print job to the legacy printer 120, even if the legacy printer 120 is remote from the device 108 over the network at the time of the printing.
- a print client 162 may be installed as a proxy component on the router 124, as an addition or alternative to the print client 156, to integrate the legacy printer 120 into the system 100.
- the print client (proxy) 162 may thus similarly allow for registration of the legacy printer 120 with the cloud print service 102 and with one or more users (e.g., of the device 108 and/or the device 122), and may accept print jobs from the cloud print service 102 which are designated for the legacy printer 120.
- the system 100 facilitates remote printing in a straight- forward and easily implementable fashion, because a user need only log in to the cloud print service 102 and register a printer using any device (e.g., personal computer, smartphone or other mobile device, or a printer itself). Then, the user can thereafter login to the cloud print service 102 from any device, anywhere on the network 106, and send a print job to the thus-registered printer from any compatible application, even if the device and printer are remote from one another.
- any device e.g., personal computer, smartphone or other mobile device, or a printer itself
- printers it is possible to share printers between different users.
- techniques currently exist for sharing documents in existing cloud-based document processing/management systems such as when a first user sends an email to a second user with a link to a document to be shared.
- the system 100 such techniques and concepts can be extended to the realm of printing.
- the first user may send a link referencing a printer to be shared (e.g., referencing or including registration information for the printer), so that the second, receiving user may simply follow the link to associate the identified printer with the second user's cloud print service user account.
- users may, e.g., print documents directly to a receiving user, or print work documents to a home printer (or vice versa), and otherwise experience the benefits of remote printing.
- FIG. 2 is a flowchart 200 illustrating example operations 202-214 of the system of FIG. 1. Although the flowchart 200 of FIG. 2 illustrates the operations 202-214 in sequential order, it will be appreciated that this is merely an example, and that additional or alternative operations may be included. Further, operations of FIG. 2 and related operations may be executed in a different order than that shown, or in a parallel or overlapping fashion.
- a print request may be received at a server, over a network and from an application executing on a device (202).
- the application manager 136 may receive a print request from a user of the application 112 executing on the device 108, or of the application 116 executing on the application server 114, or of the application 160 of the device 122.
- the print request may be received over the network 106 using an API that is common to the application 112/116/160 and the application manager 136.
- a user account associated with a user of the application may be determined at the server (204).
- the application manager 136 may conduct authentication of the user of the application in question, e.g., in conjunction with the registration manager 126. The authentication may occur prior to the print request, or in response thereto.
- a selected printer from the selection may be received, via the print dialog (208).
- the application manager 136 may receive a selection of either the cloud-aware printer 118 or the legacy printer 120.
- a print job designating the selected printer may be received at the server, the print job including print data and print characteristics expressed in a first format (210).
- the application manager 136 may receive the print job designating either of the printers 118, 120.
- the print job, as described, may include both the actual print data to be printed, as well as print characteristics specifying a manner in which the print data is to be printed, relative to printer capabilities of the selected printer(s).
- print characteristics may include a designation of one-sided versus two-sided printing, paper size, paper tray, color versus black-and- white, and various other such well-known print characteristics.
- the print job including the print data and such print characteristics, may be expressed in the first format as a printer-independent format. That is, the print job may be communicated to the application manager 136 by way of an appropriate API and in a manner which is generic or agnostic with respect to the selected printer, or to any printer. Consequently, the application in question need not have any knowledge of the printer to be used, even after the printer has been selected, in order to transmit the print job.
- the print job in the printer-specific format may include a full rasterization of the print job for use in printing by the selected printer (e.g., when the selected printer includes the cloud-aware printer), or may include a partial conversion so that final rasterization may occur later (e.g., at the print client (proxy) 156 and/or the print driver 158 of the device 122, as described herein).
- the print job may be routed over the network from the server to a print client associated with the selected printer for printing by the selected printer, using the printer-specific format (214).
- the print job router 142 may be configured to route the print job to the print client 146 of the cloud-aware printer 118, or to the print client(s) 156/162 of the legacy printer 120.
- FIGS. 3A and 3B are flowcharts illustrating more detailed and/or specific more specific examples of the operation of system of Fig. 1. More specifically, FIG. 3A illustrates a first flowchart related to example scenarios for registering users and/or printers with the cloud print service 102, while FIG. 3B illustrates example operations for receiving and executing a print job from a registered user.
- a user may be registered with the cloud print service 102 (302).
- a user wishing to use the cloud print service 102 may visit a web site thereof and establish a user account, e.g., by providing a username/password combination.
- the user may visit the cloud print service website or a related website (e.g., an online email provider), and associate an existing user account of the related website with the cloud print service 102.
- the user account information may then be established and stored by (or accessed by) the user manager 132 and/or the registered users data store 134.
- a single cloud print service 102 is illustrated.
- the network 106 may be used by multiple providers to provide multiple cloud print services.
- a printer manufacturer may provide a cloud print service for its printers
- a 3 rd party provider for more general cloud computing may provide the cloud print service 102 as an auxiliary feature for its existing cloud-based computing platform, and therefore as a general service which is not specific to any particular type of printer.
- a new printer may be determined (304), such as when a new printer is purchased and powered on, or when a given user gains access to a previously-inaccessible printer.
- the registration of the cloud-aware printer with the cloud print service 102 may proceed directly, such as described above (308).
- the user may login to the cloud print service 102 through an associated website or using the cloud-aware printer 118 itself, and registration information identifying the cloud-aware printer 118 may be entered by the user or received automatically by the cloud print service 102 over the network 106.
- registration information may also be required by, or useful for, the cloud print service 102 with respect to the cloud-aware printer 118.
- the cloud-aware printer 118 it may occur that such registration information is provided automatically by the cloud-aware printer 118, or at least partially provided at an earlier stage, such as at a time of manufacture of the cloud- aware printer 118.
- a printer manufacturer provides the cloud print service 102 for all of its printers.
- the printer manufacturer may know or may determine any needed registration information (e.g., printer capabilities) when initially manufacturing each printer for sale. Then, during an actual registration of a specific cloud-aware printer, it may only be necessary to transmit a minimal amount of information to identify the specific printer uniquely for association with one or more users.
- printer(s) to be registered are being registered with the account(s) of logged-in users who wish to access a new printer.
- already-registered printers of a first user may be associated (shared) with an already-registered second user.
- a share request may be received from a user (318), identifying a registered printer to be shared and identifying one or more users to receive the share request.
- the share request may be provided, e.g., by email, to the identified user(s).
- the registered printer(s) may be designated as shared with the designated users (320). That is, a receiving/second user may thereafter have some or all printing rights with respect to the shared printer.
- the cloud print service 102 may be configured to periodically check a status of a printer(s), using a corresponding print client (322).
- the print job router 142 may be aware that the cloud- aware printer 118 is available, as long as the cloud-aware printer 118 is powered on at a given time.
- checking a status of the legacy printer 120 may require that the router 124 and/or the device 122 is/are both powered (e.g., so that corresponding print client(s) 156/162 is/are available).
- printer status may include a determination as to whether a given printer is available, or is currently experiencing an exception (e.g., paper jam), and/or a determination as to a current number of print jobs queued for the printer in question.
- a print request may be received from an application (324).
- a user of the device 108 may be using the application 112, e.g., by reading an email or other document, or by viewing an image within an image viewing application.
- the user may select a print option, e.g., by using a generally conventional technique(s), such as selecting from within a drop-down menu, or selecting a printer icon displayed within the application.
- Such action may initiate or execute a communication between the application 112 and the application manager 136, so as to notify the application manager 136 that a print job may be forthcoming.
- the application manager 136 may communicate with the user manager 132 to verify that the user has provided a valid username/password, or otherwise been authenticated. If the user does not have a valid user account, then a user account may be established. Of course, it may occur that user authorization occurs prior to receipt of a print request, as well.
- the application manager 136 may then communicate with the printer manager 128 to determine which registered printers from the registered printers 130 are associated with the user's account, including any printers shared with the user by another user (328). For example, the application manager 136 may determine that the user is associated with both the cloud-aware printer 118 and with the legacy printer 120. Based on the status checks referenced above by the print job router, it may be assumed that both printers 118, 120 have been determined to be available for printing.
- the user may be remote from the printers 118, 120, e.g., may be using a mobile device as the device 108, and may be walking, riding within a car, or otherwise in an environment not currently considered optimal or feasible for printing. Further, the user may be using the application 112, which may similarly represent an application not currently associated with optimal or feasible printing options (e.g., web applications, as referenced above).
- the cloud-aware printer 118 may represent a work printer, while the legacy printer 120 is a home printer of the user.
- the device 108 represents a mobile device, e.g., a smartphone
- the device user may use online capabilities of the device 108 to select and purchase tickets, e.g., tickets to a show, or airline tickets.
- the device user may select the cloud-aware printer 118 of the other user to print the tickets, so that the two users may both meet later at a rendezvous point and may both have hard copies of the needed tickets.
- the application manager 136 may present the user with a print dialog including a list of the available printers 118, 120, and/or current information about capabilities or a status of each printer (330).
- the application manager 136 may provide such a print dialog either directly or indirectly. That is, in either case the application manager 136 may access a suitable API to interact with the application 112.
- a suitable API may be used to actually render a print dialog within the application 112, where a presentation and other aspects of an appearance of such a print dialog may be determined exclusively by the application manager 136.
- print dialogs are thus provided by the cloud print service 102 and may therefore be consistent in appearance and content within and among various applications.
- the cloud print service 102 may be included within, or operate in
- a suite of applications e.g., email applications, image viewing applications, and any other cloud-based/web applications. Consequently, there may be value to a provider of such a suite of application to have the cloud print service 102 provide a uniform print dialog across multiple applications. Further, it may be easiest and most straight- forward for a developer of the application 112 to integrate and utilize the API(s) of the application manager by using a provided print dialog.
- an application developer may specifically wish to develop a specific print dialog to be associated with the application 112, which may be different from a default print dialog provided by the application manager 136.
- a choice may be a matter of preference as to an appearance or functionality of the print dialog.
- the application 112 is itself part of a suite of applications, and, further, that each application within such a suite may be compatible with multiple cloud print services.
- the application developer may wish to provide a uniform print dialog across all of the application suite and cloud print services. Consequently, the application manager 136 may use a suitable API (or aspects thereof) to provide the application 112 with information necessary to render a print dialog, and the application itself may be responsible for an actual desired rendering.
- the print dialog is provided, it may subsequently occur that the user selects from the provided printer list, e.g., from the printers 118, 120, and then is provided with printer options associated with a selected printer. Upon selecting from these options, the user may then submit, and the application manager 136 may then receive, the print job from the selected printer (332), including the actual print data and the selected print characteristics.
- the print job may be communicated to the application manager using a corresponding API, and in a format that is independent of the selected printer (e.g., in a format that would be the same for the same print job for either printer 118, 120, regardless of which printer 118, 120 was actually selected). In this way, the application 112 need not have any awareness or knowledge of the selected printer, other than allowing for the actual selection thereof by the user from within the print dialog.
- the received print job may then be converted into a printer format for the selected printer (334).
- the format converter 138 may be configured to convert the printer-independent format into a format associated with the cloud-aware printer 118 or the legacy printer 120, depending on a selection of the user.
- the print job may then be stored in association with the user account of the user (336), e.g., within the job storage 140.
- the print job may be stored in either the printer-independent format as received from the application 112, or in the printer format associated with the selected printer.
- such persistent storage of the print job in association with the user account allows for later location and printing of the same print job at a later date, without having to regenerate the document to be printed (e.g., without having to visit a website at which a document was originally generated).
- the print job may then be output to a corresponding print client (338).
- the print job router 142 may output the converted print job to either of the printers 118, 120, or both, depending on which was selected earlier. If the selected printer does not include a cloud-aware printer (340), e.g., includes a legacy printer, then the print job may be received at the local print client and communicated to the local print driver (e.g., may be received at the print client(s) 156/162 and
- the format converter 138 may execute a partial format conversion, and the print clients 146, 156, 162 may be more involved in calculating or otherwise determining actual, low-level printer commands.
- Such a practice may be suitable, for example, where a manufacturer of the printer in question has certain specific needs or requirements which are not readily compatible with the cloud print service 102, or, in other cases, where the printer in question already has the processing capabilities to be responsible for a certain amount of the conversion process. In the latter case, although such printers may be relatively more expensive due to supporting the associated hardware and software requirements associated with the conversion(s), it may make sense simply to leverage such existing resources if they do already exist, rather than support them independently at the cloud print service 102.
- the print job may be completed (348).
- a request may be received for a previous, stored print job (350).
- a user of the application 112 may select "print," and the resulting print dialog may include an option to select previous print jobs, whereupon such previous print jobs may be retrieved from the job storage 140 (352).
- the user may be provided the options of identifying previous print jobs by search terms, dates of printing, or other selection criteria. Then, the user may execute a selected, previous print job, and, moreover, may execute such a print job using any registered printer associated with the user (354).
- FIG. 4 is a block diagram of a more detailed example of an
- the cloud print service 102 is illustrated as including a print dialog API 402, which is in communication with a tickler 404.
- the tickler 404 may be operable to send notification(s) of new print jobs available for a given printer(s).
- the print data may be expressed in any conventional format, e.g., HTML, PDF, XPS, or an image format such as JPG, to name a few.
- the print job may then be received at a job submit API 410, e.g., from either dialog 406, 408.
- the print data may be included by reference to remote print data, e.g., by identification of an appropriate URL.
- an application data fetcher 412 may be used to retrieve data to be printed.
- the job submit API 410 may receive the print job in, to give a specific and non-limiting example(s), a hyper-text transfer protocol (HTTP) multi-part request which may include the printer capabilities expressed, e.g., in XPS, as well as a MIME type identifying the content type.
- HTTP hyper-text transfer protocol
- the job submit API may then provide the print job, including the print data and print characteristics, to a format converter 414.
- the format converter 414 operates essentially as described herein with respect to the format converter 138 of FIG. 1, and stores the print job within storage 416.
- a print client 420 which may represent any of the print clients 146, 156, 162 of FIG. 1, communicates with a job control API 418 and a job fetch API 422, to execute the print job.
- the job fetch API 422 may provide the print job to the print client 420, e.g., may be used by the print client 420 to fetch the next available job for the specified printer.
- the job control API 418 may be responsible for authorizing the print client 420 as needed, and for receiving updated status information from the printer in question, such as whether the print job has completed or failed. Such status information may also be stored within the storage 416 in associated with a
- the job control API may include status information including, e.g., whether a print job is currently queued and not yet downloaded to a corresponding print client 420, or spooled/downloaded and added to the client side native printer queue (if applicable).
- the proxy fetches print jobs in PDF format, along with the user- selected print characteristics represented as XML. Then, the proxy may use a PDF interpreted library to rasterize and print the PDF.
- a user/printer register API 424 is illustrated which is responsible for communicating with the print client 420 to register the user(s) and all associated printers.
- Such registration information may be communicated using a HTTP multi-part request, and may include identification of the printer along with the printer capabilities (e.g., expressed in XPS), and may be stored in the storage 416 with the various print jobs.
- registration processes and information may occur previously to actual print job executions, or interspersed therewith. In the latter case, for example, the user may seek to execute a print job only to find that all available printers are currently occupied, jammed, or offline. Nonetheless, it would be a simple matter for the user then to register a new printer with the cloud print service 102 and proceed accordingly with the newly-registered printer to execute the desired print job.
- FIG. 5 is a block diagram showing example or representative computing devices and associated elements that may be used to implement the systems of FIGS. 1 and 3.
- FIG. 5 shows an example of a generic computer device 500 and a generic mobile computer device 550, which may be used with the techniques described here.
- Computing device 500 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers.
- Computing device 550 is intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smart phones, and other similar computing devices.
- the components shown here, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed in this document.
- Computing device 500 includes a processor 502, memory 504, a storage device 506, a high-speed interface 508 connecting to memory 504 and highspeed expansion ports 510, and a low speed interface 512 connecting to low speed bus 514 and storage device 506.
- Each of the components 502, 504, 506, 508, 510, and 512 are interconnected using various busses, and may be mounted on a common motherboard or in other manners as appropriate.
- the processor 502 can process instructions for execution within the computing device 500, including instructions stored in the memory 504 or on the storage device 506 to display graphical information for a GUI on an external input/output device, such as display 516 coupled to high speed interface 508.
- the storage device 506 is capable of providing mass storage for the computing device 500.
- the storage device 506 may be or contain a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations.
- a computer program product can be tangibly embodied in an information carrier.
- the computer program product may also contain instructions that, when executed, perform one or more methods, such as those described above.
- the information carrier is a computer- or machine -readable medium, such as the memory 504, the storage device 506, or memory on processor 502.
- the high speed controller 508 manages bandwidth-intensive operations for the computing device 500, while the low speed controller 512 manages lower bandwidth-intensive operations. Such allocation of functions is exemplary only.
- the high-speed controller 508 is coupled to memory 504, display 516 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports 510, which may accept various expansion cards (not shown).
- display 516 e.g., through a graphics processor or accelerator
- high-speed expansion ports 510 which may accept various expansion cards (not shown).
- low-speed controller 512 is coupled to storage device 506 and low- speed expansion port 514.
- the low-speed expansion port which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be coupled to one or more input/output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.
- the computing device 500 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server 520, or multiple times in a group of such servers. It may also be implemented as part of a rack server system 524. In addition, it may be implemented in a personal computer such as a laptop computer 522. Alternatively, components from computing device 500 may be combined with other components in a mobile device (not shown), such as device 550. Each of such devices may contain one or more of computing device 500, 550, and an entire system may be made up of multiple computing devices 500, 550 communicating with each other.
- Computing device 550 includes a processor 552, memory 564, an input/output device such as a display 554, a communication interface 566, and a transceiver 568, among other components.
- the device 550 may also be provided with a storage device, such as a microdrive or other device, to provide additional storage.
- a storage device such as a microdrive or other device, to provide additional storage.
- Each of the components 550, 552, 564, 554, 566, and 568, are interconnected using various buses, and several of the components may be mounted on a common motherboard or in other manners as appropriate.
- the processor 552 can execute instructions within the computing device 550, including instructions stored in the memory 564.
- the processor may be implemented as a chipset of chips that include separate and multiple analog and digital processors.
- the processor may provide, for example, for coordination of the other components of the device 550, such as control of user interfaces, applications run by device 550, and wireless communication by device 550.
- the memory 564 stores information within the computing device 550.
- the memory 564 can be implemented as one or more of a computer-readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units.
- Expansion memory 574 may also be provided and connected to device 550 through expansion interface 572, which may include, for example, a SIMM (Single In Line Memory Module) card interface.
- SIMM Single In Line Memory Module
- expansion memory 574 may provide extra storage space for device 550, or may also store applications or other information for device 550.
- expansion memory 574 may include instructions to carry out or supplement the processes described above, and may include secure information also.
- expansion memory 574 may be provide as a security module for device 550, and may be programmed with instructions that permit secure use of device 550.
- secure applications may be provided via the SIMM cards, along with additional information, such as placing identifying information on the SIMM card in a non-hackable manner.
- the memory may include, for example, flash memory and/or NVRAM memory, as discussed below.
- a computer program product is tangibly embodied in an information carrier.
- the computer program product contains instructions that, when executed, perform one or more methods, such as those described above.
- the information carrier is a computer- or machine -readable medium, such as the memory 564, expansion memory 574, or memory on processor 552, that may be received, for example, over transceiver 568 or external interface 562.
- Device 550 may communicate wirelessly through communication interface 566, which may include digital signal processing circuitry where necessary. Communication interface 566 may provide for communications under various modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communication may occur, for example, through radio-frequency transceiver 568. In addition, short- range communication may occur, such as using a Bluetooth, WiFi, or other such transceiver (not shown). In addition, GPS (Global Positioning system) receiver module 570 may provide additional navigation- and location-related wireless data to device 550, which may be used as appropriate by applications running on device 550.
- GPS Global Positioning system
- Device 550 may also communicate audibly using audio codec 560, which may receive spoken information from a user and convert it to usable digital information. Audio codec 560 may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of device 550. Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.) and may also include sound generated by applications operating on device 550.
- Audio codec 560 may receive spoken information from a user and convert it to usable digital information. Audio codec 560 may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of device 550. Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.) and may also include sound generated by applications operating on device 550.
- the computing device 550 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a cellular telephone 580. It may also be implemented as part of a smart phone 582, personal digital assistant, or other similar mobile device.
- various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof.
- ASICs application specific integrated circuits
- These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
- the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer.
- a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
- a keyboard and a pointing device e.g., a mouse or a trackball
- Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
- the systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components.
- the components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN”), a wide area network (“WAN”), and the Internet.
- LAN local area network
- WAN wide area network
- the Internet the global information network
- the computing system can include clients and servers.
- a client and server are generally remote from each other and typically interact through a communication network.
- the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead performed by a single component.
- FIG. 6 is a block diagram of a system 600 for providing anonymous registration of printers.
- printers e.g., legacy printers 120 or cloud-aware printers 118
- printers generally may register with the cloud print service 102 using the registration manager 126, and, specifically in the case of the printers 118/120, using the printer manager 128 which then stores registered printers and associated registration information using registered printers repository 130.
- the cloud aware printer 118 may establish a communications connection with the cloud print service 102. The user may then authenticate with the cloud print service 102 and request registration of the cloud aware printer 118 in question. Thereafter, the cloud aware printer 118 is associated with the users account and may be used by the user for print jobs. [00150] In other scenarios, however, the cloud aware printer 118 may not be equipped with either or both of versions of the described hardware (e.g., user input 150 or display 152) and/or the underlying software (e.g., firmware) functionality required to implement the above registration scenarios. For example, a manufacturer may wish to manufacture a cloud aware printer which is inexpensive and thus has a reduced feature set. FIG. 6 thus provides examples where registration and
- FIG. 6 provides examples in which registration of the cloud aware printer 118 may occur anonymously, without (initial or pre-existing) knowledge of a particular user or association with a user account thereof. Afterwards, the user may claim the printer for association with his or her account and subsequent use for print jobs.
- the cloud print service 102 is illustrated in a reduced form which does not include various components included in the example of FIG. 1 which are described above and which are not necessary for understanding the registration/authentication operations of FIGS. 6-11.
- these and additional or alternative components may be included in the cloud print service 102 and operated in an appropriate manner(s) in conjunction with the registration/authentication processes described herein.
- the cloud print service 102 as illustrated in FIG. 6 includes the previously-illustrated and described registration manager 126, which includes the printer and user managers 128, 132, as well as their respective repositories 130, 134 of registered printers and users. Additionally, FIG. 6 is illustrated as including an anonymous printer registration module 602.
- the anonymous printer registration module 602 is illustrated in FIG. 6 as a separate component; however, it will be appreciated that such illustration is merely for the sake of clarity and convenience, and that the anonymous printer registration module may be implemented in a number of different embodiments, e.g., separately as shown, or wholly or partially included within one or both of the managers 128, 132.
- the anonymous printer registration module 602 is illustrated as conducting message exchanges of messages 604a-604h with each of the cloud aware printer 118 and/or the user device 108 (examples of the user device 108 are provided above).
- the messages 604a-604h are itemized alphabetically in order to indicate a corresponding order of occurrence thereof in the eple of FIG. 6. That is, the messages 604a-604h generally occur (e.g., are transmitted) temporally in the alphabetical order illustrated. However, it will be appreciated that, in other examples, some of the messages 604a-604h may occur in a different order than that shown, or may overlap or occur in parallel. Moreover, some additional or alternative messages may be included beyond the example messages 604a-604h shown in FIG. 6, and/or, in alternative embodiments, one or more of the messages 604a-604h may be omitted.
- the cloud aware printer 118 is illustrated as including a registration requester 606, which generally represents any hardware and/or software implemented by the cloud aware printer 118 to initiate the anonymous registration process.
- a user of the user device 108 may be in proximity to the cloud aware printer 118, and may use an appropriate button or other portion of the user input 150 to initiate the anonymous registration process. More specifically, for example, there may be a menu option provided with the display 152 and selectable by the user input 150 for initiating an anonymous registration of the cloud aware printer 118.
- the registration requester 606 may transmit a registration request 604a.
- the registration request 604a may include, for example, relevant information regarding characteristics of the cloud aware printer, such as, e.g., print capabilities thereof (e.g., whether the cloud aware printer offers double-sided printing, color printing, or other known print capabilities), or any features, defaults, or characteristics of the cloud aware printer 118 (many of which are described above) which may be useful to the cloud print service 102 in determining whether and how to communicate with, or otherwise utilize, the cloud aware printer 118 during potential future print jobs.
- print capabilities thereof e.g., whether the cloud aware printer offers double-sided printing, color printing, or other known print capabilities
- any features, defaults, or characteristics of the cloud aware printer 118 manufactured of which are described above
- the registration specifically does not include authentication credentials associated with a user account of the user of the user device 108; instead, as described herein, registration of the cloud aware printer 118 may proceed anonymously, and the cloud aware printer 118 may be associated with the relevant user account(s) at a later stage.
- the registration requester 606 may transmit the registration request 604a via a secure network connection (e.g., HTTPS) to a pre-configured Uniform Resource Locator (URL) or other address associated with the cloud print service 102.
- a secure network connection e.g., HTTPS
- URL Uniform Resource Locator
- the cloud aware printer 118 may be pre-configured or factory-configured with a corresponding network address for each.
- the display 152 may display each such potential provider of a cloud print service, so that, as referenced above, the user input 150 may be used to select a desired provider so that the registration request 604a may be transmitted accordingly.
- the cloud print service 102 may thus receive the registration request 604a and provide a registration response 604b in return.
- a claim code provider 608 of the anonymous printer registration module 602 may provide a unique claim code that is to be provided to the user by way of the cloud aware printer 118.
- the claim code may be provided with a time -to-live (TTL), after which the claim code will expire and be invalid.
- TTL time -to-live
- a claim URL provider 612 may provide a specific URL at which the claim code will be provided by the user.
- a printer ID provider 610 may generate a unique printer ID to be assigned to the cloud aware printer.
- a polling URL provider 614 may provide a polling URL that the cloud aware printer 118 may use to complete an authentication process. Specific example uses and implementations of each of the claim code, claim URL, printer ID, and polling URL are provided in detail below, with respect to relevant ones of messages 604b-604h.
- the anonymous printer registration module 602 may transmit the claim code, claim URL, printer ID, and polling URL within the registration response 604b.
- the claim code, claim URL, printer ID, and polling URL may be provided in separate messages, rather than within the single registration response 604b.
- a claim facilitator 616 of the cloud aware printer 118 may provide the received claim code and claim URL to the user of the user device 108 who initiated the registration process, by way of message 604c.
- the claim facilitator 616 may cause the cloud aware printer 118 to initiate a print job and print a page which contains the claim code and claim URL (e.g., where the claim code may be embedded or included within the claim URL).
- An example of such a page is illustrated and described below with respect to FIG. 10.
- the claim facilitator 616 may provide the claim code and claim URL using the display 152, or by communicating the claim code and claim URL to the user device 108.
- the claim facilitator 616 may provide a separate URL which the user may visit to obtain the claim code and claim URL therefrom.
- the claim facilitator 616 may provide a Quick Review (QR) code which may contain or reference the claim code and/or claim URL. In these latter scenarios, as discussed below, the QR code may be read by the user device 108 (if equipped to do so) and then used to transmit the claim code to the claim URL.
- QR Quick Review
- the user device 108 may include user input 618 associated with a display 620.
- the user input 618 and display 620 may include a keyboard/monitor, or a touchscreen of a mobile device, or any appropriate hardware/software for receiving input from the user and displaying the results of such input(s).
- the display 620 may be used to provide a user interface, such as, e.g., a conventional browser or other graphical user interface.
- the user may authenticate with the cloud print service 102 (if not already authenticated), e.g., by logging onto the cloud print service 102 by providing a username/password combination at a website of the cloud print service 102, for validation by the user manager 132 against a corresponding username/password combination stored in conjunction with registered users 134. Then, the user may enter the claim URL into the user interface 622, using the user input 618, to thereby visit a website provided by the anonymous printer registration module 602, e.g., by a printer matcher 624. An example of such a website is provided and illustrated below with respect to FIG. 11.
- the user may enter the previously provided claim code and thereby transmit the claim code in a message 604d to the printer matcher 624.
- the printer matcher 624 may identify the cloud aware printer 118 based on a corresponding of the claim code with the previously-provided claim code and associated printer ID. Then, based thereon, the printer matcher 624 may associate the identified printer 118 with a user account of the user of the device 108.
- the printer matcher 624 also may notify an authentication manager 626 of the anonymous printer registration module 602 that a successful matching has occurred, and thereby grant permission to the authentication manager 626 to proceed with an authentication of the cloud aware printer 118 if possible.
- the authentication credential(s) may be stored within a credential repository 630 (which also may be used, alone or in conjunction with another memory, to store the previously-received printer ID) for future use thereof during subsequent authentications and message exchanges between the cloud aware printer 118 and the cloud print service 102 (e.g., during future print jobs).
- a credential repository 630 which also may be used, alone or in conjunction with another memory, to store the previously-received printer ID
- the claim code may be provided in association with a time-to-live (TTL), in which case the exchange of the authentication request 604f and the authentication credential 604g must occur prior to expiration of the claim code in order for successful authentication to occur. More detailed discussion of such implementations is provided below, e.g., with respect to FIG. 9.
- the user may be required to notify the cloud aware printer 118 of receipt of the claim confirmation 604e.
- the authentication manager 628 may proceed immediately with transmission of the authentication request 604f, with some confidence that successful matching of the cloud aware printer 118 with the account of the user of the user device 108 has already occurred.
- the cloud aware printer 118 may enter a wait mode upon providing of the claim code and claim URL in the message 604c, during which the cloud aware printer 118 awaits a specific entry from the user indicating that the claim confirmation of the message 604e has been received by the user.
- the authentication manager 628 may provide an authentication confirmation to the user within a message 604h.
- such confirmation may be provided by way of a printed page, a message displayed using the display 152, or by any appropriate technique for communicating with the user.
- the user may thereafter be enabled to utilize the cloud aware printer 118 in any described, appropriate, or available manner in conjunction with the cloud prin service 102.
- the user may send print jobs to the cloud aware printer 118 from any appropriately-configured application or device, may share the cloud aware printer 118 with other ones of the registered users 134, or may otherwise take advantages of the features and function of the cloud aware printer 118 in the context of the cloud print service 102.
- the registration request 604a in the examples, does not include either user authentication credentials or other information regarding an account of the user as may be maintained by the user manager 132 in conjunction with the registered users 134. Further, in the examples, the registration request 604a does not include any specific printer ID identifying the cloud aware printer 118 (e.g., a unique, factory or manufacturer-provided ID). Rather, as described herein, a unique printer ID may be assigned by the anonymous printer registration module 602.
- a registration response may be provided to the printer over the network, the registration response providing a claim code, wherein the printer is configured to provide the claim code to a user of the printer (704).
- the claim code provider 608 may generate a claim code for inclusion within the registration response 604b.
- the claim code provider 608 may be configured to generate the claim code as having a defined lifetime, after which the claim code will expire and be invalid.
- the defined lifetime may be selected as being adequate for the user to provide the claim code within the message 604d, e.g., using the claim URL which also may be provided in the message 604c as described above.
- the lifetime may be defined as lasting three minutes, five minutes, or some other appropriate time.
- the claim code may be received from the user over the network (706).
- the printer matcher 624 may receive the claim code within the message 604d.
- FIG. 8 is a flowchart 800 illustrating example operations of the cloud aware printer 118 of FIG. 6 during self-authentication.
- an initiation request may be received from a user at a printer, to initiate a registration of the printer (802).
- the registration requester 606 of the cloud aware printer 118 may receive an initiation request from a user of the user device 108 to initiate an anonymous registration of the cloud aware printer 118.
- a registration request may be sent over a network from the printer to a cloud print service (804).
- the registration requester 606 may send the registration request 604a to the cloud print service 102.
- the registration request may be sent over a secure network connection, e.g., using HTTPS, and need not include an ID of the cloud aware printer 118.
- the registration request 604a may include printer characteristics, capabilities, defaults, and other relevant information for enabling the cloud print service 102 to utilize the cloud aware printer 118.
- a registration response may be received from the cloud print service over the network, the registration response including a claim code (806).
- the claim facilitator 616 may receive the registration response 604b.
- the registration response 604b may include an assigned printer ID for the cloud aware printer 118, as well as a human readable claim code and a claim URL at which the claim code may be entered.
- the claim code may not be human readable, and may instead include a machine -readable claim code which is readable by the user device 108.
- the claim code may be provided as a Quick Response (QR) code or other barcode, and the user device 108 may be equipped with otherwise- conventional hardware/software for reading the machine-readable code.
- the user device 108 may further be configured to automatically relay the thus- obtained claim code to the claim URL, to thereby transmit the message 604d as described herein.
- the claim code may be provided to the user (808).
- the claim facilitator 616 may cause the printing of a page which includes the claim code and the claim URL, e.g., represented by message 604c in FIG. 6, or may display the claim code and claim URL using the display 152.
- An authentication credential issued by the cloud print service in response to a matching of the printer with a user account of the user within the cloud print service may be requested, the matching based on a receipt of the claim code from the user at the cloud print service (810).
- the authentication manager 628 may request, by sending the authentication request message 604f, an authentication credential from the authentication provider 626 of the anonymous printer registration module 602.
- the authentication request 604f may be send in response to a confirmation from the user that the matching has occurred, as indicated to the user by receipt of the claim confirmation 604e in response to the sending of the claim code by the user within message 604d.
- the authentication request 604f may be sent during periodic polling operations of the authentication manager 628, e.g., using a polling URL provided within the registration response 604b by the polling URL provider 614.
- the authentication credential may be received and stored at the printer (812).
- the authentication manager 628 may receive and store the authentication credential from the message 604g within the credential repository 630.
- FIG. 9 is a detailed flowchart illustrating an example self- authentication process conducted between the cloud print service, the cloud aware printer, and the user device of FIG. 6.
- the registration requester 606 receives an initiation request from the user of the user device 108 (902).
- the registration requester 606 sends the registration request 604a by secure network connection, over the network 106, to the cloud print service 102 (904).
- the registration request 604a may include the printer capabilities, characteristics, and defaults, but may exclude user authentication or identification information or any printer ID.
- a QR code may be provided which includes one or both of the claim code and claim URL.
- the user may then authenticate to a user account of the user with the cloud print service 102 (910). That is, as registered user of the registered users 134, the user may visit a website of the cloud print service 102, using the user interface 622 (e.g., browser) of the display 620 of the user device 108, and provide a username/password combination or other credential(s) to thereby be authenticated in a conventional manner.
- the user interface 622 e.g., browser
- the user may visit the provided claim URL and enter the claim code therein (912), to thereby transmit the claim code to the cloud print service 102 within message 604d.
- the claim URL once loaded/rendered, may provide an opportunity to the user to log on to the cloud print service 102 at this stage.
- the cloud print service 102 may thus use the claim code received to match the user account of the user with the printer, and thereafter may provide confirmation of this matching to the user (914), e.g., by way of claim confirmation message 604e.
- the printed page may provide the claim code within the URL, and/or in conjunction with, or embedded within, a QR code.
- the user may do so and remaining operations (e.g., transmitting the QR code to the printer matcher 624) could be done automatically at that point (i.e., the QR code may include the URL/claim code and the user device 108 may automatically use these to submit the claim code).
- the user device 108 may read the QR code, and then the user may be required to take affirmative steps to submit the result at the claim URL and thereby receive the claim confirmation.
- the cloud aware printer 118 may then begin, or continue, visiting the polling URL included within the registration response message 604b (916), e.g., by sending authentication request 604f from the authentication manager 628 to the authentication provider 626.
- the authentication manager 628 may begin sending the authentication request 604f, including the printer ID previously assigned, either as soon as the claim facilitator 616 provides the claim code/URL to the user, or shortly thereafter (to provide time for the user to visit the claim URL and enter the claim code).
- the authentication manager 628 may send the authentication request periodically, e.g., every 30 seconds or at another appropriate time interval.
- the authentication provider 626 may prepare and send an authentication header to the cloud aware printer 118 as the authentication credential within the message 604g, for use by the printer in subsequent API calls to the cloud print service 102.
- the cloud aware printer 118 e.g., the authentication manager 628, may thus store the authentication header within the credential repository 630 (928).
- the user may thus proceed with sending a print job to the cloud aware printer 118 (930).
- the user may sign out (e.g., log out) of the user account of the user.
- the user may wish to commence another print job, and may re-authenticate and select the cloud-aware printer 118 from among a number of printers associated with the user account of the user (932).
- the cloud print service 102 may communicate the requested print job to the cloud aware printer 118, using the authentication header (934).
- a printer may be reregistered, e.g., simply by re-executing the registration processes and ultimately overwriting (and thus erasing) the previous authentication header or other credential.
- de-registration may be executed locally to the cloud-aware printer 118, and any subsequent re-registration will occur as described herein and, as such, will result in the anonymous printer registration module 602 of the cloud print service 102 recognizing the cloud aware printer as a new printer.
- the page 1002 may include a message 1004 which instructs the user that he/she has approximately 14 minutes to register the printer, and to "(p)lease visit https://example_claim_page.com and enter claim code 123ABC. This claim code will be active for 5 minutes. If you prefer, you may scan the following QR code (i.e., QR code 1006) with your equipped smartphone or other camera-equipped internet device in order to obtain the claim code for providing by way of the claim URL. After the claim code is accepted, please select 'enter' on the printer keypad. Afterwards, a separate confirmation page will be printed once printer authentication is complete.”
- QR code i.e., QR code 1006
- the human-readable claim code is provided as 123ABC.
- this simplified example is provided merely for convenience and clarity.
- the claim code may be a relatively lengthy string of random or pseudo-random
- the example page 1002 further informs the user that after the claim code is accepted by the cloud print service 102, the user should select "enter" on the printer keypad (i.e., on the user input 150).
- FIG. 10 relates to the examples above in which the authentication manager 628 does not periodically poll the authentication provider at a polling URL, but, rather, simply waits to receive confirmation of receipt of the claim code at the cloud print service 102 from the user. In this way, the authentication manager 628 may be largely assured that the cloud aware printer 118 has, in fact, been registered and associated with a user account of the user, before beginning to attempt the remainder of the authentication process.
- the page 1002 may simply provide the claim code, embedded in the URL or not, and/or may provide the QR code 106 for the user to read, using an appropriate device 108 .
- additional instructions to the user regarding how to proceed in case of successful claiming of the printer are provided in conjunction with the claim code and claim URL (i.e., before successful claiming has been confirmed), but, in other example implementations, such instructions may be held and provided after success of the claiming process, e.g., in conjunction with a confirmation web page (not shown explicitly) and/or in conjunction with an updated version of the web page of the claim URL.
- the printed page 1002 informs the user that, upon successful registration/authentication of the cloud aware printer 118, a separate confirmation page (not explicitly illustrated) will be printed.
- a separate confirmation page (not explicitly illustrated) will be printed.
- confirmation may be provided by the cloud aware printer 118 using the display 152, as well.
- the user may visit the claim URL using a browser, and may receive a welcome message 1102 which welcomes the user and provides instructions for the user to follow in entering the claim code and other relevant information.
- a section 1104 illustrates that the user may enter the received claim code 123 ABC using a conventional text entry field.
- the user is provided with the option of assigning a printer nickname to the cloud aware printer 118, at a section 1106 (e.g., a nickname such as "Lobby printer,” as shown).
- a printer nickname e.g., a nickname such as "Lobby printer,” as shown.
- a nickname such as "Lobby printer,” as shown.
- the user may then submit 1108 the necessary information.
- the user may receive a message on the page 1100, or on a subsequent page, that the nicknamed "Lobby printer" has successfully been associated with a user account of the user.
- the user is further instructed to hit 'enter' on the user display 150 of the cloud aware printer 118.
- such action by the user may instruct the printer to exchange the authentication messages 604f/604g.
- the cloud aware printer 118 may print a second page which serves as confirmation to the user that the nicknamed Lobby printer is available to receive print jobs from the account of the user.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18170887.6A EP3418878A1 (en) | 2010-03-16 | 2011-03-15 | Cloud-based print service |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/725,067 US8477350B2 (en) | 2010-03-16 | 2010-03-16 | Cloud-based print service |
US13/041,036 US8867069B2 (en) | 2010-03-16 | 2011-03-04 | Anonymous printer registration in a cloud-based print service |
US13/041,038 US8867070B2 (en) | 2010-03-16 | 2011-03-04 | Printer with anonymous printer registration in a cloud-based print service |
PCT/US2011/028512 WO2011115987A2 (en) | 2010-03-16 | 2011-03-15 | Cloud-based print service |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP18170887.6A Division EP3418878A1 (en) | 2010-03-16 | 2011-03-15 | Cloud-based print service |
Publications (1)
Publication Number | Publication Date |
---|---|
EP2548109A2 true EP2548109A2 (en) | 2013-01-23 |
Family
ID=44041718
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP11712091A Ceased EP2548109A2 (en) | 2010-03-16 | 2011-03-15 | Cloud-based print service |
EP18170887.6A Withdrawn EP3418878A1 (en) | 2010-03-16 | 2011-03-15 | Cloud-based print service |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP18170887.6A Withdrawn EP3418878A1 (en) | 2010-03-16 | 2011-03-15 | Cloud-based print service |
Country Status (6)
Country | Link |
---|---|
EP (2) | EP2548109A2 (ja) |
JP (2) | JP2013522774A (ja) |
KR (2) | KR101424661B1 (ja) |
AU (1) | AU2011227464B2 (ja) |
CA (1) | CA2793307C (ja) |
WO (1) | WO2011115987A2 (ja) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9082139B2 (en) | 2010-03-10 | 2015-07-14 | Hewlett-Packard Development Company, L.P. | Printer credit management |
US8477350B2 (en) | 2010-03-16 | 2013-07-02 | Google Inc. | Cloud-based print service |
US8915359B2 (en) | 2010-06-17 | 2014-12-23 | David DiLiberto | Container having a tearable packet therein |
US8953192B2 (en) | 2011-10-17 | 2015-02-10 | Google Inc. | Roving printing in a cloud-based print service using a mobile device |
US8854669B1 (en) | 2011-12-06 | 2014-10-07 | Google Inc. | Printer search and selection for a cloud-based print service |
US8988716B1 (en) | 2012-02-17 | 2015-03-24 | Google Inc. | Customized printer identifier with embedded access rights |
US9152366B2 (en) | 2012-02-17 | 2015-10-06 | Google Inc. | Remote printing management for cloud printing |
US8988713B2 (en) | 2012-06-28 | 2015-03-24 | Google Inc. | Secure printing in a cloud-based print system |
US8826126B1 (en) | 2012-07-31 | 2014-09-02 | Google Inc. | Print preview with cloud printing |
US8711416B1 (en) | 2012-07-31 | 2014-04-29 | Google Inc. | Server providing pseudo print preview and final regular preview to device |
US8804147B2 (en) | 2012-07-31 | 2014-08-12 | Google Inc. | Semantic printing options |
JP6041590B2 (ja) * | 2012-09-11 | 2016-12-14 | キヤノン株式会社 | サーバーシステム、サーバー、印刷システムにおける方法、およびプログラム |
JP6041687B2 (ja) * | 2013-01-28 | 2016-12-14 | キヤノン株式会社 | 印刷サーバシステム、および制御方法、およびプログラム |
US9183375B2 (en) | 2013-01-30 | 2015-11-10 | Hewlett-Packard Development Company, L.P. | Use of resource up to extension value by subscription device |
WO2014120168A1 (en) * | 2013-01-31 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | System and method for cloud centric woobpe for web connected printers |
CN105378643B (zh) * | 2013-03-11 | 2018-10-09 | 富士施乐株式会社 | 虚拟打印机接口节点 |
US9715645B2 (en) | 2013-06-03 | 2017-07-25 | Hewlett-Packard Development Company, L.P. | Marking agent subscription credits |
WO2015012824A1 (en) * | 2013-07-24 | 2015-01-29 | Hewlett-Packard Development Company, L.P. | Marking agent credit adjustments |
US9535640B2 (en) | 2013-12-04 | 2017-01-03 | Fuji Xerox Co., Ltd. | Printing system, information processing apparatus, computer readable medium, and image forming apparatus for providing printing services over a network |
JP6167890B2 (ja) | 2013-12-18 | 2017-07-26 | 富士ゼロックス株式会社 | 印刷システム、情報処理装置、プリントサービスシステム、及びプログラム |
EP3169079B1 (en) * | 2014-07-11 | 2019-01-09 | HP Printing Korea Co., Ltd. | Cloud server, control device, output device, and method for pairing cloud system comprising same with device |
JP6476923B2 (ja) | 2015-01-30 | 2019-03-06 | 富士ゼロックス株式会社 | 装置管理システム、管理装置、及びプログラム |
JP6421644B2 (ja) | 2015-02-27 | 2018-11-14 | ブラザー工業株式会社 | 画像形成装置、サーバ装置、及び通信システム |
JP6413838B2 (ja) | 2015-02-27 | 2018-10-31 | ブラザー工業株式会社 | 画像形成装置、サーバ装置、通信システム、及びプログラム |
JP6421643B2 (ja) | 2015-02-27 | 2018-11-14 | ブラザー工業株式会社 | 画像形成装置、サーバ装置、及び通信システム |
JP6500542B2 (ja) * | 2015-03-24 | 2019-04-17 | 富士ゼロックス株式会社 | 画像形成装置、プログラム及び画像形成システム |
CN104834489B (zh) | 2015-04-17 | 2018-05-18 | 珠海奔图电子有限公司 | 一种分享云打印机的方法以及云服务器和云打印系统 |
KR101526151B1 (ko) * | 2015-04-21 | 2015-06-09 | (주)엠더블유스토리 | 클라우드 기반 보안 프린팅 시스템 및 그의 처리 방법 |
JP6519357B2 (ja) | 2015-06-30 | 2019-05-29 | ブラザー工業株式会社 | 通信システム、画像形成装置、サーバ、及びプログラム |
JP6547479B2 (ja) | 2015-07-16 | 2019-07-24 | ブラザー工業株式会社 | 通信システム、中継装置および通信方法 |
JP6658163B2 (ja) | 2016-03-18 | 2020-03-04 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
JP2017174233A (ja) | 2016-03-24 | 2017-09-28 | キヤノン株式会社 | 情報処理装置、方法およびプログラム |
KR20180008218A (ko) * | 2016-07-15 | 2018-01-24 | 에스프린팅솔루션 주식회사 | 클라우드 프린팅 서비스의 계정을 공유하는 방법 및 이를 실시하기 위한 클라우드 서버 |
JP6771991B2 (ja) | 2016-08-10 | 2020-10-21 | キヤノン株式会社 | 印刷装置、印刷装置の制御方法、及びプログラム |
EP3376748B1 (en) * | 2017-03-15 | 2020-02-26 | Zhuhai Seine Technology Co., Ltd. | Image forming apparatus and system |
KR20180138417A (ko) * | 2017-06-21 | 2018-12-31 | 에이치피프린팅코리아 유한회사 | 클라우드 서버를 이용한 풀프린팅 방법 및 시스템 |
JP2019018348A (ja) * | 2017-07-11 | 2019-02-07 | キヤノン株式会社 | 印刷装置、情報処理方法及びプログラム |
US10545708B2 (en) | 2017-10-26 | 2020-01-28 | Ricoh Company, Ltd. | Information processing system and method of processing information |
EP3521996A1 (de) * | 2018-02-02 | 2019-08-07 | Docuform GmbH | Verfahren und vorrichtung zur durchführung von druckvorgängen in einem netzwerk |
JP7099007B2 (ja) | 2018-03-30 | 2022-07-12 | ブラザー工業株式会社 | アプリケーションプログラム |
US11429446B2 (en) | 2018-04-24 | 2022-08-30 | Hewlett-Packard Development Company, L.P. | Device data collector agent component on cloud computing network |
JP6638773B2 (ja) * | 2018-07-26 | 2020-01-29 | ブラザー工業株式会社 | 制御サーバ、および、コンピュータプログラム |
US11294609B2 (en) * | 2019-03-28 | 2022-04-05 | Microsoft Technology Licensing, Llc | Secure device endpoint assignment |
US10891089B1 (en) | 2019-06-25 | 2021-01-12 | Kyocera Document Solutions Inc. | System and methods for using an authentication token with a cloud-based server |
US10831421B1 (en) | 2019-06-25 | 2020-11-10 | Kyocera Document Solutions Inc. | Authentication for printing operations from a cloud-based server using a mobile device |
US10901668B2 (en) | 2019-06-25 | 2021-01-26 | Kyocera Document Solutions Inc. | Methods for authenticating printing operations from a cloud-based server |
US11275857B2 (en) | 2019-06-25 | 2022-03-15 | Kyocera Document Solutions Inc. | Methods for authenticating user access to a scanned document on a cloud-based server |
JP7434071B2 (ja) | 2020-06-10 | 2024-02-20 | キヤノン株式会社 | 印刷装置、制御方法及びプログラム |
JP6873301B2 (ja) * | 2020-08-03 | 2021-05-19 | キヤノン株式会社 | プリントシステム |
JP7147815B2 (ja) * | 2020-09-04 | 2022-10-05 | ブラザー工業株式会社 | 制御サーバ、および、コンピュータプログラム |
JP7468259B2 (ja) | 2020-09-08 | 2024-04-16 | セイコーエプソン株式会社 | 印刷制御サーバーおよび印刷制御方法 |
JP7468258B2 (ja) | 2020-09-08 | 2024-04-16 | セイコーエプソン株式会社 | 印刷制御サーバー、印刷制御システムおよび印刷制御方法 |
JP2022147547A (ja) | 2021-03-23 | 2022-10-06 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、およびプログラム |
JP2024021839A (ja) * | 2022-08-04 | 2024-02-16 | ブラザー工業株式会社 | サーバ、および、コンピュータプログラム |
US20240086130A1 (en) * | 2022-09-08 | 2024-03-14 | City Storage Systems Llc | Universal Cloud Printing Protocol |
KR102574996B1 (ko) * | 2023-05-25 | 2023-09-06 | 한화생명보험 (주) | 출력 지원을 위한 전자 장치 및 그 방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4136771A (en) | 1973-05-14 | 1979-01-30 | Illinois Tool Works Inc. | Article carrier and method of making same |
US4103611A (en) | 1975-02-28 | 1978-08-01 | A B Motala Verkstad | Stroke-limiting arrangement in a multi-cylinder hydraulic press |
JP2001293936A (ja) * | 2000-04-17 | 2001-10-23 | Fuji Xerox Co Ltd | 描画情報処理装置および描画情報処理方法 |
JP2002032769A (ja) * | 2000-07-17 | 2002-01-31 | Canon Inc | 画像処理方法及び装置 |
JP2003099228A (ja) * | 2001-09-25 | 2003-04-04 | Ricoh Co Ltd | ネットワーク印刷システム、プリンタ |
US7319535B2 (en) * | 2002-12-17 | 2008-01-15 | Hewlett-Packard Development Company, | Authentication system and method for imaging system |
US7359076B2 (en) * | 2003-04-01 | 2008-04-15 | Seiko Epson Corporation | Document sharing service for network printing |
JP4506597B2 (ja) * | 2005-07-25 | 2010-07-21 | 富士ゼロックス株式会社 | 印刷システムおよびサーバ装置 |
JP5203978B2 (ja) * | 2009-01-06 | 2013-06-05 | キヤノン株式会社 | プリンタ、クライアント端末及びそれらの制御方法、プログラム |
JP5609544B2 (ja) * | 2010-10-29 | 2014-10-22 | セイコーエプソン株式会社 | 画像入力システム、コンテンツサーバー、仲介サーバー、および、画像入力方法 |
-
2011
- 2011-03-15 KR KR1020127026818A patent/KR101424661B1/ko active IP Right Grant
- 2011-03-15 CA CA2793307A patent/CA2793307C/en active Active
- 2011-03-15 EP EP11712091A patent/EP2548109A2/en not_active Ceased
- 2011-03-15 JP JP2013500155A patent/JP2013522774A/ja active Pending
- 2011-03-15 AU AU2011227464A patent/AU2011227464B2/en active Active
- 2011-03-15 WO PCT/US2011/028512 patent/WO2011115987A2/en active Application Filing
- 2011-03-15 KR KR1020147005877A patent/KR101466282B1/ko active IP Right Grant
- 2011-03-15 EP EP18170887.6A patent/EP3418878A1/en not_active Withdrawn
-
2014
- 2014-03-25 JP JP2014061148A patent/JP5889943B2/ja active Active
Non-Patent Citations (2)
Title |
---|
None * |
See also references of WO2011115987A2 * |
Also Published As
Publication number | Publication date |
---|---|
AU2011227464B2 (en) | 2014-10-23 |
KR101466282B1 (ko) | 2014-12-01 |
WO2011115987A2 (en) | 2011-09-22 |
KR20120130339A (ko) | 2012-11-30 |
WO2011115987A3 (en) | 2013-01-03 |
JP2013522774A (ja) | 2013-06-13 |
JP5889943B2 (ja) | 2016-03-22 |
CA2793307A1 (en) | 2011-09-22 |
AU2011227464A1 (en) | 2012-10-11 |
JP2014139823A (ja) | 2014-07-31 |
CA2793307C (en) | 2016-10-25 |
KR101424661B1 (ko) | 2014-07-31 |
EP3418878A1 (en) | 2018-12-26 |
KR20140036047A (ko) | 2014-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2011227464B2 (en) | Cloud-based print service | |
US8867069B2 (en) | Anonymous printer registration in a cloud-based print service | |
US8953192B2 (en) | Roving printing in a cloud-based print service using a mobile device | |
US8189225B1 (en) | Printing to a cloud printer via NFC | |
US9152366B2 (en) | Remote printing management for cloud printing | |
US20140368859A1 (en) | Virtual print queue for roving printing in a cloud-based print service | |
US8988713B2 (en) | Secure printing in a cloud-based print system | |
KR102048865B1 (ko) | 클라우드-기반 프린트 서비스에서의 로빙 프린팅 | |
US8804147B2 (en) | Semantic printing options | |
US8988716B1 (en) | Customized printer identifier with embedded access rights | |
US20230221908A1 (en) | Device management server and control method thereof | |
US20140074974A1 (en) | Data processing apparatus and system | |
JP2017173913A (ja) | 情報処理システム、サーバ、情報処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20121002 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
R17D | Deferred search report published (corrected) |
Effective date: 20130103 |
|
DAX | Request for extension of the european patent (deleted) | ||
17Q | First examination report despatched |
Effective date: 20140701 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: GOOGLE LLC |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20180130 |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230519 |