Information processing system and method, and non-transitory computer readable medium for using identification information, for first authentication to an information system, with a print service system that performs second authentication

An information processing system includes a setting unit and an identification information extracting unit. The setting unit obtains first identification information that is identification information of a user in an information system that performs first authentication, the identification information being input by the user for user authentication to an image forming apparatus connected to the information system, sends setting information including the first identification information to a print service system that performs second authentication, thereby establishing a logical printer in which the setting information is set in the service system, and sets, as identification information of a person who uses the logical printer, second identification information that is identification information of the user in the service system. The extracting unit receives, from the service system, print data to be printed by the image forming apparatus, and extracts and outputs the first identification information set in the received print data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2012-056873 filed Mar. 14, 2012.

BACKGROUND

(i) Technical Field

The present invention relates to an information processing system and method, and to a non-transitory computer readable medium.

(ii) Related Art

Existing print services are generally on-premises services installed at individual organizations (such as companies and schools). Because an on-premises print service (server) is a closed system for each organization, user identification information (ID) (such as an employee number) unique to that organization may be used as it is as a user account. Therefore, security printing and aggregation management of print jobs may be easily performed using user IDs unique to each organization.

In contrast, cloud print services provided on the Internet have been proposed in recent years. A user at a personal computer (PC) or the like logs in to a cloud print service with a user ID for that service, and, after the user logs in, the user sends print data to the cloud print service. The print data is printed by providing the print data from the cloud print service to an image forming apparatus via the Internet or the like.

Unlike on-premises services, cloud print services are shared among plural organizations or individuals, and each cloud print service allocates user IDs independent of the individual organizations. Because users may not be able to obtain, as their user IDs for the cloud print services, the same user IDs as those in their organizations, user IDs used for user authentication in the cloud print services do not generally coincide with user IDs that are given in and unique to the individual organizations. A cloud print service knows a user ID for that service with regard to print data, but does not know a user ID unique to each organization. Therefore, when print data is provided from a cloud print service to an image forming apparatus and is printed with the image forming apparatus, because that print data includes no user ID unique to an organization, the image forming apparatus is unable to perform security printing or aggregation management regarding that print data on the basis of the user ID unique to the organization.

In user management in a print service system such as a cloud print service, only user identification information in the print service system is managed. Therefore, if there is any information that may be sent as user identification information of print data from the print service system to an image forming apparatus in a certain organization, that information is the user identification information in the print service system, not in the organization.

SUMMARY

According to an aspect of the invention, there is provided an information processing system including: a setting unit that obtains first identification information that is identification information of a user in an information system that performs first authentication, the identification information being input by the user for user authentication to an image forming apparatus connected to the information system, sends setting information including the obtained first identification information to a print service system that performs second authentication, thereby establishing a logical printer in which the setting information is set in the print service system, and sets, as identification information of a person who uses the logical printer, second identification information that is identification information of the user in the print service system; and an identification information extracting unit that receives, from the print service system, print data to be printed by the image forming apparatus, and extracts and outputs the first identification information set in the received print data.

DETAILED DESCRIPTION

Referring toFIG. 1, an example of the configuration of a system according to an exemplary embodiment will be described. The system described by way of example includes an in-house network100in a certain company, a cloud print service200, and a cloud repository service300, which are connected to the Internet400.

The in-house network100is configured as, for example, a local area network (LAN). A personal computer (PC), an image forming apparatus110, an aggregation apparatus150, and another server are connected to the in-house network100.

The company described by way of example here is an example of an “organization” including plural users. The PC, the image forming apparatus110, the aggregation apparatus150, and the like connected to the in-house network100constitute an internal information system in that “organization”.

The image forming apparatus110is an apparatus that prints, on a sheet, print data input thereto. The image forming apparatus110may include functions in addition to a print function. For example, the image forming apparatus110may be a so-called digital multifunctional apparatus including, in addition to the print function, a scan function, a copy function, a facsimile sending function, and an email sending function. Although only one image forming apparatus110is illustrated inFIG. 1, plural image forming apparatuses110may be connected to the in-house network100. Besides the function of executing a process such as copying, scanning, or printing in response to an instruction from a user, which is accepted by a user interface (UI) unit112(seeFIG. 2) of the image forming apparatus110, the image forming apparatus110has the function of executing a process such as printing in response to an instruction from a computer in the in-house network100. Also, the image forming apparatus110has the function of obtaining print data from the cloud print service200on the Internet400and printing and outputting the print data.

Each user (individual in this case) who belongs to the company is allocated a user ID unique in the company (that is, exclusive within the company) (hereinafter referred to as an “in-house ID”). For example, an employee number is an example of such a user ID. The image forming apparatus110has the function of performing user authentication using an in-house ID. A user who wants to use the image forming apparatus110is asked to present authentication information (such as inputting the in-house ID and password from the UI unit112, or integrated circuit (IC) card authentication). The image forming apparatus110performs user authentication in accordance with the presentation, thereby specifying the in-house ID of that user. The image forming apparatus110incorporates the specified in-house ID in log information or the like of an executed process, and records the log information therein or in the aggregation apparatus150in the in-house network100. The recorded log information may be aggregated by the aggregation apparatus150for management of the usage of the image forming apparatus110or for accounting management. Aggregation is performed for, for example, each user or for each section (department or group in the company) to which the user belongs, on the basis of the in-house ID recorded in each piece of log information.

The cloud print service200is a system that provides a print service to a user on a network such as the Internet400. Although the cloud print service200is generally a system including plural computers, the cloud print service200may be constituted of a single computer.

The cloud print service200provides users with the function of converting, for example, document data (such as document data generated by software such as a word-processing or spreadsheet program) specified by a user to be printed into data in a data format in a page description language that the image forming apparatus110is capable of handling (such as Portable Document Format (PDF) or PostScript (registered trademark)), the function of generating a print job corresponding to the accepted print instruction and managing the execution status of that print job (such as queue management), and the like. The cloud print service200generates and manages a logical printer210(may also be referred to as a “printer object”) that realizes various functions for print services. In the logical printer210, at least one user who uses the logical printer210is registered. In general, plural logical printers210are held in the cloud print service200, and each logical printer210is used by at least one user who is registered therein.

In addition, at least one physical image forming apparatus110, which outputs a print job held in a queue in the logical printer210, may be registered in the logical printer210. In this case, the logical printer210holds management information regarding the registered image forming apparatus110. The management information includes, for example, identification information (such as a printer name) of the image forming apparatus110, and capability information that indicates the capability (functions) of the image forming apparatus110. The capability information includes information indicating, for example, whether the image forming apparatus110is capable of performing duplex printing or full-color printing, the sheet sizes held therein, and the like. When the image forming apparatus110has a post-processing device, the capability information further includes information regarding the capability of the post-processing device (such as stapling, punching, and folding functions).

The user registers (generates) the user's account in the cloud print service200. When generating the account, the user registers a user ID (hereinafter referred to as a “cloud ID”) that is unique in the cloud print service200. The cloud print service200is a public service, and management of user IDs in the cloud print service200is independent of user management in the in-house network100of the company. Thus, the cloud ID is generally not the same as the in-house ID. For example, when a user in the company tries to register a user ID including the same character string as that of the in-house ID in the cloud print service200, the user may not be able to register that user ID because, for example, that user ID has already been allocated to another person.

The cloud print service200generates a logical printer210in response to an instruction from a user. For each logical printer210, the cloud print service200stores the cloud ID of each user registered as a user who is capable of using that logical printer210. Alternatively, in response to an instruction to an existing logical printer210from a user who has the right to be registered, the cloud print service200may register, in the existing logical printer210, that user as a user who is capable of using the existing logical printer210.

A user logs in with the user's cloud ID to the cloud print service200via the Internet400by using a communication protocol such as the Hypertext Transfer Protocol (HTTP) from a PC or a mobile terminal on the Internet400(outside the in-house network100) or from a PC or the image forming apparatus110in the in-house network100, and the user gives a print instruction to a logical printer210selected from among one or more logical printers210(there may be plural logical printers210) associated with that cloud ID. The print instruction includes document data to be printed, or information that specifies a target to be printed, such as information that specifies document data to be printed (such as information of the storage location of the document data on the Internet400(such as a uniform resource locator (URL))). Here, for example, document data may exist in the cloud repository service300, which will be described later. In response to the print instruction, the logical printer210generates a print job and manages the print job. The print job is a unit for managing the print instruction in the logical printer210, and the print job is given a unique job ID. In association with the job ID, the logical printer210manages information such as information of the document data to be printed, page description language data obtained by converting the document data, the cloud ID of the user who has given the print instruction, and the execution status (such as unexecuted, being executed, execution completed, or error) of the print job.

The logical printer210sends the held print job to a printer serving as a physical apparatus at an output destination specified by the user (hereinafter referred to as a “physical printer”) and causes the physical printer to print the print job (push method), or, in response to an obtaining request from the physical printer, provides the print job to that physical printer (pull method). For example, since the image forming apparatus110in the in-house network100is generally behind a firewall, when a print job in the logical printer210is to be printed with the image forming apparatus110, printing is performed using the pull method in which the image forming apparatus110accesses the cloud print service200using a protocol such as HTTP and obtains the print job.

The cloud repository service300is a system that provides users with repository services on the Internet400. Repository services are services for storing data and programs and are also called “online storage services”. Although the cloud repository service300is a system that is generally constituted of plural computers, the cloud repository service300may be constituted of a single computer.

For each user, the cloud repository service300saves various files such as document data and programs uploaded by the user, and provides the saved files to the user. The user obtains a user ID that is unique in the cloud repository service300by registering the user in the cloud repository service300. Using the user ID, the user logs in to the cloud repository service300, and uploads and downloads files. In principle, the user ID in the cloud repository service300is unrelated to an in-house ID or a user ID (cloud ID) in the cloud print service200. However, a common user ID is used in services that are related to each other. Hereinafter, a cloud ID that is common to that in the cloud print service200is used as a user ID in the cloud repository service300in order to simplify the description.

As has been described in the section of the related art, a print job registered in the cloud print service200is linked to the cloud ID of the user who has given the print instruction, but is generally not linked to the in-house ID of the user. At the same time, it is expected that there would be more occasions in which the cloud print service200is used to perform printing with the image forming apparatus110in the in-house network100. Therefore, it is meaningful to be able to perform recording and aggregation using the in-house IDs of users for printing via the cloud print service200.

According to the exemplary embodiment, the case is described by way of example in which, when printing is performed with the image forming apparatus110in the in-house network100via the cloud print service200, the image forming apparatus110gives the in-house ID of a person who gives a print instruction to the cloud print service200, and, when the cloud print service200sends print data to the image forming apparatus110, the in-house ID is additionally transferred to the image forming apparatus110.

Because the cloud print service200performs user authentication using the cloud ID and does not recognize the in-house ID as a user ID, it is meaningless when the image forming apparatus110gives the in-house ID as a user ID to the cloud print service200. Therefore, according to the exemplary embodiment, the in-house ID is transferred using the inherent function of the cloud print service200. This inherent function sends setting information for printing, which has been set in the logical printer210(for example, information indicating the functions used in printing, such as duplex printing and collation), to a physical printer at an output destination in association with print data.

For example, a Cloud Print is configured to hold print setting information (referred to as a “print ticket” or a “job ticket”) in association with the logical printer210, and, when providing print date from the logical printer210to its physical printer, additionally provide the print setting information. The print setting information may include an element that the user may uniquely define (referred to as a “uniquely defined element”). That is, the setting information including a uniquely defined element including the in-house ID is set in the logical printer210, and accordingly, the in-house ID may be transferred, together with print data, to the image forming apparatus110.

As a method of setting print setting information (print ticket) including a uniquely defined element that indicates the in-house ID of a user in the logical printer210in the cloud print service200, there is a method of sending a logical printer generation instruction with which such a print ticket is associated to the cloud print service200. For example, when the print control technology of the “.NET Framework” (trademark) developed by Microsoft (registered trademark) is used, print setting information is configured as an instance in the PrintTicket class. Upon receipt of a logical printer generation instruction, the cloud print service200newly generates a logical printer210in which the print ticket is set. In the exemplary embodiment, this method is used by way of example. When an instruction to print document data is given to the logical printer210generated in response to the logical printer generation instruction, the logical printer210converts the document data into print data in a page description language, and sends the print data, together with the print ticket (including the in-house ID), to the image forming apparatus110.

As another method, there is a method of generating a logical printer210in which, instead of a print ticket, an element including the in-house ID is incorporated in setting information that indicates the capability information of a physical printer associated with the logical printer210(the capability information indicating whether the printer is capable of performing, for example, duplex printing and/or color printing). In this method, the image forming apparatus under110incorporates an element that indicates the in-house ID in setting information that indicates the capability information thereof, and sends a logical printer generation instruction with which the setting information is associated to the cloud print service200. In response to the logical printer generation instruction, the cloud print service200generates a logical printer210in which the setting information is set. When the print control technology of the “.NET Framework” (trademark) is used, the setting information is configured as an instance in the PrintCapability class. In this method, a client apparatus (such as the image forming apparatus110) that is to perform printing using the logical printer210receives, from the logical printer210, setting information that indicates the capability of a physical printer to be used (such as PrintCapability), and accepts a choice(s) selected by a user from among choices of various functions included in the setting information. The result of the selected choice(s) becomes print setting information for the printing. Here, when an element that indicates the in-house ID is incorporated in the setting information provided to the client apparatus, that element is handed over to the print setting information. The print setting information is sent from the client apparatus to the cloud print service200and is set in the logical printer210. The print setting information (including the in-house ID) is associated with print data sent from the logical printer210to the physical printer (such as the image forming apparatus110itself).

Both methods use the inherent function of the cloud print service200, which associates, when the logical printer210sends print data to a physical printer such as the image forming apparatus110, setting information set therein with the print data and sends the setting information and the print data. Therefore, there is no need to change the functions of or add functions to the existing cloud print service200in order to realize this mechanism. It is only necessary to add, to the image forming apparatus110, the function of instructing the cloud print service200to generate such a logical printer210. Hereinafter, an example of the image forming apparatus110with this function according to the exemplary embodiment will be described with reference toFIG. 2.

The UI unit112is a mechanism for accepting a local operation from a user (such as a direct operation entered by a hand or the like). For example, the UI unit112includes input and display hardware such as a touch panel and mechanical buttons. The UI unit112exchanges information with a user via the hardware.

An authentication processing unit114performs a process for authenticating a user who locally operates the image forming apparatus110. The user authentication is performed using an in-house ID instead of a cloud ID. A known method may be used as a method of inputting authentication information to the authentication processing unit114. For example, there are various methods, such as the method of inputting an in-house ID and password to the UI unit112, or the method of performing authentication by communicating with an IC card-type ID card (that stores information of an in-house ID) of a user by using an IC card reader attached to the image forming apparatus110. When the user authentication performed by the authentication processing unit114is successful, the in-house ID of the user who is operating the image forming apparatus110is specified. Alternatively, instead of the authentication processing unit114performing user authentication, the authentication processing unit114may request an authentication server in the in-house network100to perform user authentication.

For a user who has been successfully authenticated, a logical printer setting unit126performs a process for establishing (such as newly generating), in the cloud print service200, a logical printer210in which setting information including the in-house ID of the user is set. The in-house ID of the user is information known to an image forming unit120because of the successful user authentication described above. Therefore, for example, the logical printer setting unit126generates setting information (such as a print ticket) including the in-house ID as an element, and sends, to the cloud print service200, a generation instruction to generate a logical printer210that has the setting information as its setting contents. In response to the generation instruction, the cloud print service200generates a logical printer210. In the logical printer210, the setting information including information of the in-house ID is set.

In order to generate a logical printer210, the logical printer setting unit126needs to log in to the cloud print service200. This logging in may be performed, in place of the user, by the logical printer setting unit126using the cloud ID of the user or using the cloud ID of the image forming apparatus110(or the cloud ID of a system administrator, which is held by the image forming apparatus110). Here, in the former case (logging in in place of the user), needless to say, that user is capable of using the generated logical printer210. In contrast, in the latter case (logging in with the ID of the image forming apparatus110), the generated logical printer210is owned by the image forming apparatus110, and, when no change is made, the user who has been authenticated has no right to use the logical printer210. In this case, the logical printer setting unit126registers, in the generated logical printer210, the cloud ID of the user as a person who has the right to access and use the logical printer210. The logical printer210generated in this manner is unique to the user (since other users are not registered as users of the logical printer210).

In order to generate a logical printer2010for a user and to enable the user to use the generated logical printer210for printing, the cloud ID of the user needs to be presented to the cloud print service200. There are some methods for obtaining the cloud ID of the user.

In one example, the cloud ID may be input by the user to the image forming unit120, together with authentication information such as the in-house ID for the user authentication. For example, a UI screen of the UI unit112for prompting the user to input authentication information (that is, the in-house ID and password) for logging in to the image forming apparatus110(and to the in-house network100) may include a section for inputting the cloud ID, and the user may be prompted to additionally input the cloud ID. At the same time, the user may be prompted to input certificate information such as a password for user authentication in the cloud print service200.

In another example, the IC card-type ID card may include the cloud ID (and certificate information for the cloud print service200, which corresponds to the cloud ID). When user authentication using the in-house ID in the ID card is performed via an IC card reader of the image forming apparatus110, the cloud ID and the like may be obtained from the ID card. In yet another example, the cloud ID corresponding to the in-house ID (and, in some cases, certificate information for the cloud print service200, which corresponds to the cloud ID) may be registered in a directory service provided in the in-house network100, and the cloud ID may be obtained from the directory service. In this case, for example, the logical printer setting unit126obtains, from the directory service, the cloud ID and the like corresponding to the in-house ID of the user, which is obtained from the authentication processing unit114.

The logical printer setting unit126generates a logical printer210in which setting information including the in-house ID of the user is set by using, for example, the method of generating a logical printer210in place of the user by using the cloud ID obtained in this manner, or the method of setting the cloud ID of the user as a user of a logical printer210generated with the ID thereof. In the former case, because the user has already been logged in to the cloud print service200at the time of generating a logical printer210, a print instruction unit128may afterwards give a print instruction to the logical printer210using the name (that is, the cloud ID) of that user. In contrast, in the latter case, before the print instruction unit128gives a print instruction to the logical printer210, the image forming apparatus110may send the cloud ID and the like of the user to the cloud print service200for logging in, and a print instruction may be given afterwards.

At the time of giving an instruction to generate a logical printer210, the logical printer setting unit126registers, as a physical printer corresponding to the logical printer210, the image forming apparatus110itself in the logical printer210. Upon the registration, the capability information of the image forming apparatus110may be set in the logical printer210. With this registration, a unique physical printer ID (that is, an ID that uniquely identifies a physical printer) is given from the cloud print service200to the image forming apparatus110. By presenting the physical printer ID to the cloud print service200, the image forming apparatus110certifies that the image forming apparatus110is a physical printer registered in the logical printer210, and obtains a print job held in the logical printer210.

In the case of the method of sending a logical printer generation instruction including a print ticket from the logical printer setting unit126to the cloud print service200, upon generation of a logical printer210in the cloud print service200, print settings (association of the print ticket with the logical printer210) are completed. When a print instruction is input to the logical printer210, print data to be printed is only necessary to be sent, in association with the print ticket, to the image forming apparatus110. That is, in this case, the print instruction unit128of the image forming apparatus110does not need to perform print settings, which will be described later.

Alternatively, in the case of the method of sending a logical printer generation instruction including the capability information of the image forming apparatus110, instead of a print ticket, from the logical printer setting unit126to the cloud print service200, the capability information it set as setting information in a logical printer210generated in response to this logical printer generation instruction. The setting information is provided to the image forming apparatus110for enabling the print instruction unit128to perform operations regarding print settings, and the print instruction unit128accepts print settings entered from a user on the basis of the setting information and generates a print ticket. The print ticket is sent to the cloud print service200and is associated with the logical printer210. When print data is provided from the logical printer210to the image forming apparatus110, the print ticket is also provided.

At the time the user finishes using the logical printer210which has been generated for the user, the logical printer setting unit126may delete the logical printer210. “At the time the user finishes using” the logical printer210may take various instances. For example, after the logical printer210has been generated, the user may have finished using the logical printer210upon successful completion of obtaining of a print job from the logical printer210. Alternatively, the user may finish using the logical printer210upon completion of printing of the obtained print job. In these examples, the logical printer210is deleted upon printing of a document. When plural documents are to be printed, one logical printer210is generated for printing each document.

In another example, the point at which user authentication by the authentication processing unit114of the image forming apparatus110is canceled is understood as the point at which the user no longer uses the image forming apparatus110, that is, the user has finished using the logical printer210. Cancellation of user authentication is performed when, for example, the user explicitly performs an operation to cancel authentication (logging out), or when no user operation is performed on the image forming apparatus110over a predetermined time after completion of a print job in response to a user instruction (timeout).

Whether to generate and delete a logical printer210for each document, or whether to delete a logical printer210after cancellation of authentication may be selectable in accordance with the settings of the image forming apparatus110or in response to an instruction from each user.

The print instruction unit128is a unit that gives an instruction to perform printing using the logical printer210generated by the logical printer setting unit126. Here, copying a document set in the image forming apparatus110or printing document data or the like in a document server in the in-house network100basically does not involve usage of the cloud print service200outside the in-house network100. Mainly, conceivable occasions in which the cloud print service200is used include occasions to print document data in a data storage apparatus (as a representative thereof, the cloud repository service300is illustrated by way of example inFIG. 1) outside the in-house network100. In this case, the print instruction unit128logs in to the cloud repository service300with the ID of a user (in this example, logging in is possible with the same ID as the cloud ID in the cloud print service200as described above), and obtains a list of pieces of document data registered by the user in the cloud repository service300. The obtained list is displayed on the UI screen of the UI unit112, and the user is prompted to select at least one piece of document data to be printed from the list. The print instruction unit128generates a print instruction that includes information for specifying each piece of document data selected to be printed and that specifies the logical printer210generated previously as a print destination, and sends the print instruction to the cloud repository service300. The print instruction includes, as information for specifying the logical printer210, information for specifying the cloud print service200(domain name or the like) and the ID of the logical printer210in the cloud print service200. Of these pieces of information, the information for specifying the cloud print service200is registered in advance in the image forming apparatus110(for the necessity to access the cloud print service200). In contrast, the ID of the logical printer210is provided upon an instruction made by the logical printer setting unit126to generate a logical printer210, from the cloud print service200, which has generated the logical printer210in response to that instruction, to the logical printer setting unit126as a response to that instruction.

Also, when accepting at least one document selected by the user to be printed, the print instruction unit128may obtain setting information (capability information) of a physical printer to be used this time (that is, the image forming apparatus110), which is set in the logical printer210, generate, on the basis of the setting information, a screen for accepting an input of print settings for printing of the document(s) to be printed and display the generated screen on the UI unit112, and accept an input of print settings. When an instruction to generate a logical printer210has been made using, as a parameter, capability information of the physical printer instead of using a print ticket (print setting information), such print settings are made when an instruction to print the document(s) is made. As has been described above, the setting information (capability information) of the logical printer210includes information of choices of the individual functions of the image forming apparatus110, such as duplex/simplex, color/monochrome, usable sheet sizes, and stapling/no stapling. The setting information (capability information) of the logical printer210further includes information of the in-house ID. The logical printer210presents the setting information to the print instruction unit128. On the basis of the setting information, the print instruction unit128displays, on the UI unit112, a UI screen including an input unit for selecting one from the choices of each function and an input unit for inputting a numeral such as the number of prints to be made, thereby prompting the user to select one from the choices of each function and to input a numeral. The results of such selected choices and input numeral become print settings for printing this time. The print instruction unit128generates a print ticket that indicates the contents of the print settings. Since the setting information of the logical printer210, which has been obtained from the logical printer210, includes an element that indicates the in-house ID, the element indicating the in-house ID may be left in the print ticket which has been generated on the basis of the setting information. The generated print ticket may be incorporated in a print instruction for the cloud repository service300and may be set in the logical printer210in the cloud print service200via the cloud repository service300, or may be directly set in the logical printer210.

In the above-described example in which generation and print settings of the logical printer210are done at the same time using a print ticket including the in-house ID, it is unnecessary to input print settings at the print instruction unit128, which has been described here (and, in response to this, transfer of the print ticket to the logical printer210). However, print settings may be made at the print instruction unit128when the user wants to make settings different from print settings made upon generation of the logical printer210.

Upon receipt of the print instruction, the cloud repository service300gives, by using information included in the print instruction, a print instruction that specifies the selected document data to be printed, to the logical printer210in the cloud print service200.

Upon receipt of the print instruction, the logical printer210converts each piece of the selected document data into print data in a page description language that the image forming apparatus110is capable of handling (such as data in the PDF format), and provides information of a print job including the print data and the print ticket set in the logical printer210to the image forming apparatus110. The print ticket includes the in-house ID of the user, which is included in the setting information set in the logical printer210. Alternatively, the information of the print job provided from the logical printer210to the image forming apparatus110may include, instead of the entity data of the print data and/or the print ticket, information such as a URL for obtaining these pieces of entity data. Such information of the print job is received by a job receiving unit118of the image forming apparatus110and is conveyed to a job management unit116.

The job management unit116generates a job in response to a local processing instruction from the UI unit112to the image forming apparatus110or a processing instruction from a remote apparatus via a network, and manages execution of the job.

The user who has been authenticated is enabled to give various processing instructions, such as copying and scanning instructions, from the UI unit112. In response to such a processing instruction, the job management unit116generates a job for managing the processing, and performs job management such as queue management. The job management unit116controls each device of the image forming apparatus110to execute the job. For example, upon receipt of a copying instruction, a scanner in the image forming apparatus110is activated to read a document, and the image forming unit120prints, on a sheet, an image obtained as a result of reading the document.

The job management unit116receives, at the job receiving unit118, print data from another apparatus (including the cloud print service200on the Internet400) via the in-house network100, and generates and manages a job corresponding to the print data. When that job becomes the top item in the execution order, the job management unit116causes the image forming unit120to print the print data of the job on a sheet.

The job management unit116receives print data corresponding to the print instruction received by the job receiving unit118from the cloud print service200and a print ticket, generates a job regarding the print data, and causes the image forming unit120to execute the job (that is, causes the image forming unit120to perform printing). Here, a setting extraction unit117extracts the value of the in-house ID included in the print ticket. The extracted in-house ID is used for recording a log or the like. Alternatively, the setting extraction unit117may extract information of print settings from the print ticket, and the job management unit116may control the image forming apparatus110to perform an operation in accordance with the print settings.

A log recording processing unit122records, in a log storage unit124, processing log information of each job executed under management of the job management unit116. The recorded log information includes information of the in-house ID of a user who has given an instruction to execute the job. The log information further includes information of various items that are generally recorded in the field of processing log management of image forming apparatuses, such as the job execution time and date, print setting information in the case of printing (duplex printing or not, color printing or monochrome printing, etc.), and the number of prints made. The log information of each job, which is stored in the log storage unit124, is used for aggregation of the amount of usage of the image forming apparatus110by each section or each user in the company or charges for each section or each user in the company. The aggregation is performed by, for example, the aggregation apparatus150in the in-house network100. In the aggregation, for each piece of log information stored in the log storage unit124, a user who has executed a job regarding the log information and, as occasion calls, a section to which the user belongs are specified on the basis of the in-house ID included in the log information. The amount of usage, such as the number of prints made in the job (or charges in accordance with the amount of usage), is added to the aggregated value of the amount of usage (charges) of the specified user and section.

In the log storage unit124, the in-house ID in the job is recorded as an ID for specifying the user who has given the job instruction. Accordingly, the amount of usage (charges) may be aggregated for each user or for each section by referring to in-house organization information.

In the case of a local processing instruction or a processing instruction from another apparatus in the in-house network100, information of the processing instruction includes the in-house ID of a user who has given the instruction. Thus, the log recording processing unit122may only need to incorporate that in-house ID in the log information and to record the log information.

In contrast, for print data sent from the logical printer210in the cloud print service200to the image forming apparatus110, it is only necessary to incorporate, in the log information, an in-house ID extracted by the setting extraction unit117from a print ticket that accompanies the print data.

In the example illustrated inFIG. 2, the log storage unit124is provided in the image forming apparatus110. Alternatively, the log storage unit124may be provided in another apparatus (such as the aggregation apparatus150) in the in-house network100, and the log recording processing unit122may write log information in that apparatus.

The configuration and functions of the image forming apparatus110according to the exemplary embodiment have been described above. Next, an example of the flow of a printing process using the cloud print service200from the image forming apparatus110will be described.

As illustrated inFIG. 3, a user500who wants to print document data in the cloud repository service300by using the cloud print service200goes to the nearest image forming apparatus110in the in-house network100, and (1) the user500performs a user authentication operation on the image forming apparatus110. Upon the user authentication operation, the user500inputs (by hand or by presenting an IC card-type employee ID card) the in-house ID (the user name “hajime” in the illustrated example) and the cloud ID (the account name “cloud-hajime” in the illustrated example) to the authentication processing unit114of the image forming apparatus110. As described previously, user authentication on the image forming apparatus110is performed on the basis of the in-house ID. Although the user500additionally inputs the cloud ID in this example, the cloud ID may be obtained from an in-house directory server.

When the user authentication is successful, in the example illustrated inFIG. 3, (2) the logical printer setting unit126generates, as a PrintTicket550, setting information of a logical printer210to be generated. The PrintTicket550in this example is written in an eXtensible Markup Language (XML) and is generated as, for example, an instance in the PrintTicket class used in the print control technology of the “.NET Framework” (trademark) developed by Microsoft (registered trademark). The PrintTicket class defines print settings (configuration space of a device to be used in the job) to be applied to a print job serving as a target. Here, the PrintTicket class is appropriated to the settings of a logical printer210to be generated. For example, the description of the second and third rows from the top of the PrintTicket550illustrated inFIG. 3indicates that the choice “psk:Collated” (perform collation) is selected with regard to the function named “psk:DocumentCollate” (collation of print output) of the image forming apparatus110. That is, in a print job to which the PrintTicket550is applied, the image forming apparatus110is instructed to collate the printed sheets. After the user authentication, the image forming apparatus110displays a screen for inputting print settings, accepts an input of print settings from the user500, and incorporates the print settings in such a form in the PrintTicket550.

The fifth to ninth rows from the top of the PrintTicket550illustrated inFIG. 3are elements describing the in-house ID of the user500. In this example, the element named “fx:UserInfo” which indicates user information includes the element named “fx:UserID” which indicates the in-house ID attribute, and the in-house ID attribute element includes an element including the character string “hajime” which is the value of the in-house ID. The cloud print service200need not understand the contents of these elements in the fifth to ninth rows or execute control in accordance with the contents. These elements in the fifth to ninth rows may be elements that are uniquely defined on the in-house network100side.

The cloud print service200sets the PrintTicket550in the generated logical printer210. In response to a print instruction given to the logical printer210afterwards, it is only necessary for the cloud print service200to associate the PrintTicket550with print data generated in response to the print instruction and to provide the PrintTicket550and the print data to the image forming apparatus110.

When the PrintTicket550is generated, as illustrated inFIG. 4, (3) the logical printer setting unit126of the image forming apparatus110sends the PrintTicket550together with an instruction to newly generate a logical printer210to the cloud print service200. Upon receipt of the instruction, the cloud print service200newly generates a logical printer210and sets the PrintTicket550in the generated logical printer210(for example, the cloud print service200saves the PrintTicket550in association with the ID of the logical printer210). The PrintTicket550includes the in-house ID “hajime” of the user500who has been authenticated in the above (1). Also, the logical printer setting unit126sets, in the logical printer210, the cloud ID “cloud-hajime” of the user500, which has been obtained in the user authentication in the above (1), as a person (such as a sharer) who has the right to use the logical printer210.

Next, (4) the print instruction unit128logs in to the cloud repository service300using the cloud ID “cloud-hajime” and gives an instruction to search for document data that “cloud-hajime” has the right to print from among pieces of document data saved in the cloud repository service300. In response to this instruction, the cloud repository service300executes the search and provides a list of pieces of document data obtained as a result of the search to the print instruction unit128. This list is provided as, for example, a webpage for selecting a document(s) and giving a print instruction. The print instruction unit128displays the list on the screen of the UI unit112, and accepts at least one document selected, from the list, by the user500to be printed.

When the user500finishes selecting at least one piece of document data to be printed and inputs an instruction to execute printing to the UI unit112, (5) the print instruction unit128sends a print instruction including information indicating the selected piece(s) of document data and information specifying the logical printer210(generated in the above (3)) in the cloud print service200, which performs printing, to the cloud repository service300.

(6) In response to the print instruction, the cloud repository service300sends a print instruction including the selected piece(s) of document data (or information such as a URL for specifying the selected piece(s) of document data) to the specified logical printer210.

Upon receipt of the print instruction, as illustrated inFIG. 5, (7) the logical printer210converts the document data to be printed into print data in a data format such as PDF that is printable with the image forming apparatus110(indicated as a “printable document(s)” inFIG. 5). The logical printer210generates outputtable document data including the print data and the PrintTicket550set in the logical printer210.

(8) The generated outputtable document data is provided from the logical printer210to the image forming apparatus110. When the image forming apparatus110is behind the firewall of the in-house network100and the logical printer210is incapable of sending the outputtable document data across the firewall to the image forming apparatus110, the following may be performed. For example, the logical printer210sends a message indicating that the outputtable document data has been prepared to the image forming apparatus110at an output destination by using a protocol that may go through the firewall. Upon receipt of the message, the image forming apparatus110requests the logical printer210for the outputtable document data by using a protocol that may go through the firewall, such as HTTP, and obtains the outputtable document data as a response in response to the request. Since the address of the image forming apparatus110has been registered in the logical printer210at the time the logical printer210has been generated, the logical printer210may send a message to the image forming apparatus110by using that address. Alternatively, for example, the image forming apparatus110may periodically access the logical printer210by using a protocol such as HTTP (polling), and may obtain outputtable document data if there is any outputtable document data addressed to the image forming apparatus110.

(9) In the example illustrated inFIG. 5, at the time (or immediately after) the image forming apparatus110normally completes obtaining of the outputtable document data from the logical printer210, the image forming apparatus110gives an instruction to the cloud print service200to delete the logical printer210. The timing of deleting the logical printer210is not limited to this example. As has been described above, the logical printer210may be deleted upon cancellation of the user authentication. Anyway, the logical printer210is deleted at the time the user500who has given the print instruction finishes using the logical printer210.

If the generated logical printer210is not deleted, the logical printer210may be used by a different user by using some way. In that case, even though the logical printer210has been used by the different user, it is recorded in the log storage unit124that the logical printer210has been used by the user500with the in-house ID included in the settings in the logical printer210. In contrast, as in the above (9), when the logical printer210is immediately deleted after the user500finishes using the logical printer210, such abuse of the logical printer210by third person is prevented.

(10) The image forming apparatus110, which has obtained the outputtable document data, performs printing on a sheet in accordance with the data. The image forming apparatus110records log information of the printing in the log storage unit124. In the log information, the value of the in-house ID included in the PrintTicket550in the outputtable document data is recorded as a user ID item indicating the user who has given the print instruction. In this way, the printing is recorded as being performed by the user with that in-house ID, and the aggregation apparatus150performs aggregation in accordance with that in-house ID.

As has been described above, according to the exemplary embodiment, with the use of the mechanism of the cloud print service200in which setting information such as the PrintTicket550set in the logical printer210is provided, together with print data, to the image forming apparatus110, the in-house ID of a user that is inherently not under management of the cloud print service200is provided in association with print data to the image forming apparatus110.

According to the exemplary embodiment, the logical printer210is deleted at the time the use of the logical printer210including the in-house ID of the user is finished. Therefore, the risk of the logical printer210being used by people other than that user is very low.

According to the exemplary embodiment, information of print settings in which the functions of the image forming apparatus110at the time the user performs printing are reflected is included in the PrintTicket550and set in the logical printer210. Therefore, the logical printer210functions as a printer that reflects the latest functions of the image forming apparatus110at that time.

In the above-described example illustrated inFIGS. 3 to 5, the print instruction unit128presents, from the UI unit112of the image forming apparatus110, a list of documents only on the cloud repository service300to the user and accepts a document(s) selected by the user to be printed. However, this is only an example. Alternatively, the print instruction unit128may obtain a list of documents that the user has the right to print from document servers on the cloud repository service300and the in-house network100, display the list of the documents saved outside and inside the company on the UI unit112, and accept a document(s) selected from the list to be printed. In this case, when a document on the cloud repository service300is selected to be printed, printing is performed using the cloud print service200in the above-described manner. When a document on the in-house server is selected, the image forming apparatus110obtains the document from the server and prints the document by using an existing method.

In the example illustrated inFIGS. 3 to 5, when the user500performs user authentication on the image forming apparatus110, the logical printer setting unit126automatically generates a logical printer210for that user500in the cloud print service200. However, this is only an example. Alternatively, even when the user authentication is successful, a logical printer210may not be immediately generated. Instead, a logical printer210may be generated only after the cloud print service200is selected in a function menu of the UI unit112. In this example, no logical printer210is generated when a menu item other than the cloud print service200, such as copying or printing of a document on a document server on the in-house network100, is selected. In this example, at the time of the user authentication, the user500may not be asked to input the cloud ID. The user500may be asked to input the cloud ID only when the cloud print service200is selected.

Next, referring toFIGS. 6 and 7, a modification of the above-described exemplary embodiment will be described. A system according to this modification includes an intermediary apparatus600. The intermediary apparatus600is realized as a system, outside the image forming apparatus110, which has the functions (such as the logical printer setting unit126and the print instruction unit128) included in the image forming apparatus110in the above-described exemplary embodiment for exchanging information with the cloud print service200and the cloud repository service300. When performing printing using the cloud print service200, the image forming apparatus110requests the intermediary apparatus600to perform processing for the printing.

The intermediary apparatus600may be realized as a service (configured as a single server or a cloud system including plural computers) on the Internet400or a server on the in-house network100. Alternatively, a computer that serves the functions of the intermediary apparatus600, which will be described below, may be included in a housing of the image forming apparatus110.

As illustrated inFIG. 7, the intermediary apparatus600includes a client interface (IF) unit602, a repository IF unit604, and a print IF unit610. The client IF unit602is a function module that performs communication and processing with a client apparatus (that is, the image forming apparatus110in this case) necessary for realizing printing via the cloud print service200. The client IF unit602provides an interface for printing using a cloud from the image forming apparatus110in the form of, for example, a Web service. The repository IF unit604is a function module that performs communication and processing with the cloud repository service300. The print IF unit610is a function module that performs communication and processing with the cloud print service200. The print IF unit610includes a logical printer setting unit612and a print instruction processing unit614, which have functions that are the same as or similar to the logical printer setting unit126and the print instruction unit128of the image forming apparatus110according to the exemplary embodiment.

Referring back toFIG. 6, (1) when the user500comes to the image forming apparatus110to be successfully authenticated, and selects execution of printing using the cloud print service200from the UI screen of the image forming apparatus110, (2) the image forming apparatus110sends a request for obtaining a document list for printing to the intermediary apparatus600. This request for obtaining a document list gives an instruction to start a print session using the cloud print service200, and information of this request includes the in-house ID and the cloud ID of the user500who has been confirmed by the user authentication. (3) When the client IF unit602of the intermediary apparatus600receives this request, the repository IF unit604logs in, with the cloud ID of the user500, to the cloud repository service300which has been set in advance, and obtains a list of documents that the user500has the right to print from among documents saved in the cloud repository service300. (4) The obtained document list is provided from the client IF unit602to the image forming apparatus110. (5) The image forming apparatus110displays the document list on the UI screen, and accepts at least one document selected by the user500to be printed. (6) Upon acceptance of the selected document(s), the image forming apparatus110sends an instruction to print the selected document(s) to the intermediary apparatus600. (7) In the intermediary apparatus600which has received the print instruction, the repository IF unit604obtains the entity data of the selected document(s) from the cloud repository service300.

(8) The logical printer setting unit612in the intermediary apparatus600generates a print ticket including an element that indicates the in-house ID (“user name”) of the user500, which has been obtained in the above step (2). Alternatively, for example, at the time at which at least one document is selected to be printed in the above-described (5), an input of print settings from the user500may be accepted, the print settings may be sent, together with the print instruction in the above-described (6), to the intermediary apparatus600, and the logical printer setting unit612may incorporate information of the print settings in the print ticket.

(9) An instruction to generate a logical printer210with which the print ticket is associated is sent to the cloud print service200. Accordingly, a logical printer210for this printing for the user500is generated in the cloud print service200. The print ticket is set in the logical printer210. The logical printer setting unit612sets, as a user who uses the generated logical printer210, the cloud ID of the user500in the logical printer210. (10) When the logical printer210is generated, the print instruction processing unit614of the intermediary apparatus600sends, to the logical printer210, a print instruction including each piece of document data obtained in the above-described (7) as data to be printed.

(11) Upon receipt of the print instruction, the logical printer210converts, for each document to be printed, the document data into print data that the image forming apparatus110is capable of handling, and adds the print ticket set in the logical printer210to the print data, thereby generating an outputtable document.

(12) When the outputtable document to be printed is generated, the print instruction processing unit614of the intermediary apparatus600obtains the outputtable document (or the cloud print service200transfers the generated outputtable document to the intermediary apparatus600). This obtaining (or transfer) is repeated the number of documents selected to be printed. (13) Upon completion of the obtaining of outputtable documents for all the documents, the logical printer setting unit612of the intermediary apparatus600gives an instruction to the cloud print service200to delete the logical printer210generated in the above-described (9).

(14) Every time the client IF unit602of the intermediary apparatus600obtains an outputtable document in the above-described (12), the client IF unit602provides the outputtable document to the image forming apparatus110. When the intermediary apparatus600is outside the in-house network100, the outputtable document is provided as follows. For example, a message that the outputtable document has been prepared is sent to the image forming apparatus110by using a protocol that goes through the firewall of the in-house network100. In response to the message, the image forming apparatus110requests the intermediary apparatus600for the outputtable document by using HTTP or the like and obtains the outputtable document. (15) When the outputtable document is obtained, the image forming apparatus110prints the outputtable document. The image forming apparatus110extracts the in-house ID from the print ticket in the outputtable document, incorporates the in-house ID in log information of the printing, and records the log information.

In the above example, the intermediary apparatus600provides the outputtable document, which has been obtained from the cloud print service200, to the image forming apparatus110without changing the outputtable document. This mechanism works only when the image forming apparatus110conforms to a print schema such as the print ticket included in the outputtable document. In conceivable cases, the image forming apparatus110may not conform to the print schema because, for example, the image forming apparatus110is of an old type. In such a case, the intermediary apparatus600may convert the outputtable document (particularly the print ticket included therein) into a format to which the image forming apparatus110in the in-house network100conforms, and provide the converted outputtable document to the image forming apparatus110.

As above, the example of the system including the intermediary apparatus600has been described. In the above example, upon completion of the obtaining of the outputtable document(s) for all the document(s) selected by the user500, the intermediary apparatus600deletes the logical printer210. However, this is only an example. For example, after the user500selects at least one document to be printed and gives a print instruction, the user500may continuously select another document(s) to be printed and give the next print instruction. In such a case, if the logical printer210is deleted every time the obtaining of the to-be-printed document(s) in each print instruction is completed, the logical printer210is generated again for the next print instruction. To avoid such inconvenience, as in the above-described exemplary embodiment, the intermediary apparatus600may delete the logical printer210in response to detection that the user500no longer uses the image forming apparatus110as explicit authentication cancellation or timeout.

In this modification, with the intermediary apparatus600as above being provided, log information including the in-house ID is recorded for printing using the cloud print service200without adding particular changes to the existing image forming apparatus110(if there is any change, the item “printing using cloud” in an operation menu is associated with the URL of the intermediary apparatus600and is stored).

Since the intermediary apparatus600is aware of the number of document(s) requested by the image forming apparatus110to be printed in the above-described (6), the intermediary apparatus600may recognize completion of the obtaining (or print output) of that number of outputtable document(s) from the cloud print service200, and, upon the completion, give an instruction to the cloud print service200to delete the logical printer210.

In the above-described exemplary embodiment in which the image forming apparatus110performs management for printing using a cloud, there may be occasions in which a print instruction for the cloud repository service300is sent as an HTTP request from a Web browser of the UI unit112. In such occasions, the Web browser is only sending HTTP requests; the Web browser does not analyze the number of document(s) specified to be printed in each request. Unlike the intermediary apparatus600, the image forming apparatus110may not be able to determine whether all the pieces of selected document data have been obtained from the cloud print service200. In such a case, a print instruction for documents selected at one time may be handled by the method of deleting the logical printer210upon detection that the user500no longer uses the image forming apparatus110. Alternatively, such a case may be handled by including the functions of the intermediary apparatus600in the image forming apparatus110.

The exemplary embodiment and the modification described above are examples in the case where the user IDs for the cloud print service200and the cloud repository service300are the same. However, the mechanisms in the exemplary embodiment and the modification are applicable to other cases. In such cases, for example, the user ID for the cloud repository service300may be input by a user or may be read from an IC card. Alternatively, a directory service in the in-house network100may be searched for the user ID for the cloud repository service300which corresponds to the authenticated in-house ID.

In the foregoing, when a user performs printing using a cloud, a logical printer210for the user is “generated”, and that logical printer is “deleted” upon finishing the printing. However, this is only an example. Instead, with the cloud ID of the administrator of the in-house network100or the cloud ID of the image forming apparatus110, a logical printer210associated with the image forming apparatus110may be generated in the cloud print service200. When performing printing using a cloud, each user may use that logical printer210as the user's logical printer210. In this case, the logical printer setting unit126or612sends setting information (such as a print ticket) including, as an element, the in-house ID of the user authenticated by the image forming apparatus110to the cloud print service200, thereby updating the setting information in the logical printer210associated with the image forming apparatus110. With this updating process, the logical printer210has the setting information including the in-house ID of that user. When that logical printer210is used, the print ticket including the in-house ID of that user is transferred, together with print data, to the image forming apparatus110. Also in this example, when the user has finished using the logical printer210(such as when the image forming apparatus110completes obtaining of an outputtable document(s) or when the authentication of the user in the image forming apparatus110is cancelled), the setting information is updated so that at least the in-house ID is deleted from the setting information in the logical printer210. In this updating process, the cloud ID of that user may be deleted from the settings of a person (sharer) who has the right to use the logical printer210. With such processing, even if the logical printer210is used by a different person after the use by the former user, the processing log of the use by the different person will not be recorded under the name of the former user.

The information processing function parts (parts that execute a function module group other than the image forming unit120in the example illustrated inFIG. 2) of the image forming apparatus110, and the intermediary apparatus600, which are described above by way of example, are realized by running, for example, on a general computer, a program that represents processing of the individual function modules of the image forming apparatus110and the intermediary apparatus600. Here, the computer has a circuit configuration in which, as hardware, a microprocessor such as a central processing unit (CPU), memories (main storages) such as a random-access memory (RAM) and a read-only memory (ROM), a hard disk drive (HDD) controller that controls an HDD, various input/output (I/O) interfaces, a network interface that performs control for connection with a network such as a LAN, and the like are interconnected via, for example, bus. Further, for example, a disk drive for reading and/or writing data from/to portable disk recording media, such as a compact disc (CD) and a digital versatile disc (DVD), via an I/O interface, and a memory reader/writer for reading and/or writing data from/to portable non-volatile recording media in various standards, such as a flash memory, may be connected to the bus. A program in which the contents of the processing of the individual function modules described above by way of example are written is saved in a fixed storage such as an HDD via a recording medium such as a CD or a DVD or via a communication tool such as a network, and the program is installed in the computer. The program stored in the fixed storage is read to the RAM and executed by the microprocessor such as the CPU, thereby realizing the function module group described above by way of example.