The present invention relates to printing in a cloud printing service and particularly relates to an information processing apparatus, a control method therefor, a medium, and a printing system.
Cloud printing services in which a print job is input to an image forming apparatus via a cloud server have recently started to become more common. In a cloud printing service, firstly, the administrator of the image forming apparatus registers an image forming apparatus with a tenant of the cloud printing service. The user, after being issued with an account for the tenant, registers a client terminal with the tenant. Accordingly, a print job can be transmitted from the client terminal to the image forming apparatus via the cloud printing service. With this configuration, a print job transmitted from the client terminal can be executed from any image forming apparatus registered with the tenant.
Also, due to the increased variety in how people work, the number of companies that promote working in one company while having a second job with a different company or a side business has increased, and there is a demand to be able to print a document on one company's client terminal from an image forming apparatus installed in another company. Also, due to an increase in teleworking, there is a demand to be able to print a document on one's own client terminal from an image forming apparatus installed in a public space such as a shared office or convenience store. In such cases, printing is typically performed using a printing system compatible with each of the applications including a company, a shared office, and a convenience store. Each printing system has a compatible method for inputting print jobs. This method, for example, may be a printer driver, drag & dropping a file from a web browser, attaching a print job to be input to an email, or the like. The method for inputting a print job using a printer driver also needs to change depending on the application. The user needs to decide in advance which application will be used and select the compatible print job input method, all of which is very troublesome.
Also, in a case where printing is performed using a cloud printing service, the expense for using the cloud printing service must be paid. In Japanese Patent Laid-Open No. 2014-49059, a method is disclosed for determining the payer (or the bearer) of the expense relating to use of device by causing the user to set the settings to private purpose or public purpose on a print settings screen.
With known techniques, the user is caused to select public use or private use on a print settings screen, and whether the printing expense is to be paid by the company or a worker is determined on the basis of log data generated on the basis of this setting. However, in the case of printing for public use using a public printing service in which a plurality of cloud printing services can be registered, it can be impossible to determine whether the usage was for company A or for company B, for example. Also, with the known techniques, the user chooses the payer of the expense, making management unable to be performed on the side of company A or company B. There is also the concern of data to be printed being able to be output to an image forming apparatus outside of the company.
According to the present invention, a tenant administrator can restrict the tenants that a user can output a print job from, allowing the payer of the printing expense and the used image forming apparatus to be managed.
According to an aspect of the present invention, provided is an information processing apparatus, comprising: a communication unit; at least one memory storing at least one program; and at least one processor, wherein the at least one processor reads out the at least one program from the at least one memory and executes the at least one program to in response to a request for an output-enabled tenant list by a user, identify a location of a client terminal corresponding to a transmission source of the request, in a case where the location is determined to be a location of a specific tenant, obtain a condition for an output-enabled tenant set for the specific tenant, and filter a list of output-enabled tenants usable by the user on a basis of the condition to generate an output-enabled tenant list and transmit the output-enabled tenant list to the client terminal.
According to another aspect of the present invention, provided is a printing system, comprising: an information processing apparatus; a client terminal; and a printing service set with a specific tenant, wherein the information processing apparatus includes a communication unit, at least one memory storing at least one program, and at least one processor, and the at least one processor reads out the at least one program from the at least one memory and executes the at least one program to in response to a request for an output-enabled tenant list by a user, identify a location of the client terminal corresponding to a transmission source of the request, in a case where the location is determined to be a location of a specific tenant, obtain a condition for an output-enabled tenant set for the specific tenant from the printing service, and filter a list of output-enabled tenants usable by the user on a basis of the condition to generate an output-enabled tenant list and transmit the output-enabled tenant list to the client terminal.
A tenant administrator can restrict the tenants that a user can output a print job from, allowing the payer of the printing expense and the used image forming apparatus to be managed.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Hereinafter, embodiments will be described in detail with reference to the attached drawings. Note, the following embodiments are not intended to limit the scope of the claimed invention. Multiple features are described in the embodiments, but limitation is not made to an invention that requires all such features, and multiple such features may be combined as appropriate. Furthermore, in the attached drawings, the same reference numerals are given to the same or similar configurations, and redundant description thereof is omitted.
Firstly, the first embodiment of the invention will be described.
Each component described above is communicatively connected via a network. The network may be any one of a LAN or WAN such as the Internet, a telephone line, a dedicated digital line, an ATM, or the like. Also, the communication network may be implemented via a combination of these. It is sufficient that the network allows for the transmitting and receiving of data.
A CPU 301 comprehensively controls each piece of hardware, controls each unit connected to a bus 300, and executes each function such as printing and scanning, for example. ROM 302 is a data read-only memory and stores a basic control program of the image forming apparatus, for example. RAM 303 is a data read/write memory that is used as the working memory of the CPU 301, for example.
A storage apparatus 304 is used as a storage area for temporary data during execution of each program and persistent data. For example, the storage apparatus 304 commonly used is an HDD, but any apparatus that can be loaded with external media, such as an SSD, CD, DVD, or memory card, and that can read and write data can be used.
A communication apparatus 305 connects the client terminals 200 to 203, the image forming apparatuses 210 to 213, and the CPSs 220, 221, 230, 231, and 240 to the LAN or Internet and can perform data communication between the apparatuses via TCP/IP.
An input apparatus 306 is an operation unit for accepting an input operation of characters or data from a user. For example, a keyboard, a mouse, physical keys, or a touch panel is used.
A display apparatus 307 is an apparatus for displaying various types of screens and may be a liquid crystal display or a touch panel, for example. The user issues instructions via the input apparatus 306 on the user interface screen displayed on the display apparatus 307 and issues a job execution instruction to the CPS 230.
In the image forming apparatuses 210 to 213, the scanner apparatus 308 and the printer apparatus 309 are also connected to the bus 300.
A settings management unit 401 stores settings relating to the various types of functions of the CPS 240 in the storage apparatuses such as the RAM 303 or the storage apparatus 304 and reads out the settings from the storage apparatuses. A job management unit 402 stores print jobs received from the CPS 230 and 231 in a data storage unit 405. A communication unit 403 mainly transmits and receives print jobs, but also transmits and receives user information and post-print-completion reports. When a print job obtaining request is received from the CPS 220 and 221, the communication unit 403 obtains the corresponding print job from the CPS 240 and transmits the corresponding print job to the CPS 220 and 221. A UI display unit 406 performs display when registering a tenant with the CPS 240, when registering a user, and when displaying print job status confirmation and reports.
In
The company A tenant is a company tenant that is obtained by company A via a contract with the provider of the CPS, and users that are granted use permission by company A are registered and image forming apparatuses prepared by company A are registered. Thus, company A can manage the users and image forming apparatuses registered with the tenant. On the other hand, in a tenant providing a public printing service such as a convenience store tenant, an image forming apparatus installed in a public place such as a convenience store, library, or train station is registered. Such tenants are referred to as public tenants. Registered users of such tenants can use the resources registered with the tenant. In the present example, an in-company tenant and a convenience store tenant are registered with the public tenant CPS 240, and the in-company tenant user can use the image forming apparatus and the like of the convenience store tenant. The method for registering a user with the public tenant CPS 240 may be one of the following two methods which will be described using the flows illustrated in
First, a print settings screen of the print driver is activated from a typical application being executed on the client terminal 200 by the user (S701). The client terminal 200 requests a list (an output-enabled tenant list) of tenants associated with the client terminal 200 from the public tenant CPS 240 (S702). The client terminal 200 simultaneously transmits its location information when requesting the output-enabled tenant list. The location information is information for determining or identifying where the user is trying to execute printing from. For example, the location information may be its IP address or position information (for example, position information identified by GPS). Also, printer driver obtains specific in-company information set in advance in the client terminal 200, and the information can also be transmitted to the CPS 240 together with the print job. Information such as the user ID and the like of the user logged in at the time of the output-enabled tenant list request may also be transmitted.
Having received the request, the CPS 240 identifies the affiliated tenant of the client terminal 200 from the location information of the request source client terminal 200 (S703). The CPS 240 requests an output-enabled tenant condition from the identified tenant (S704). In the present example, from the location information of the client terminal 200, the client terminal 200 is identified as being affiliated with the company A tenant. Here, the CPS 240 requests the output-enabled tenant condition from the company A tenant CPS 220 (S704). At this time, user authentication is also performed by the CPS 220. This user authentication may use the user ID or the like. Alternatively, the access token issued by the CPS 220 during the process illustrated in
Having received the request, the CPS 220 transmits the output-enabled tenant condition set for itself to the CPS 240 (S705). The output-enabled tenant condition will be described in detail using
Having received the output-enabled tenant condition, the CPS 240 filters the output-enabled tenants on the basis of the user information illustrated in
Note that the names of the tenants illustrated in
Having received the output-enabled tenant list, the client terminal 200 applies the updates to the obtained output-enabled tenant list and displays the print settings screen (S708).
Having received the print job, the CPS 240 transmits the print job to the received output destination tenant (S711). Having received the print job, the tenant (in the present example, the CPS 220) stores the print job and waits until a print job request arrives from the affiliated image forming apparatus 210. When a print job request is received from the image forming apparatus 210 affiliated with the selected output destination tenant, the print job selected from among the print jobs allowed to be printed by the user who requested them is transmitted to the image forming apparatus 210. The image forming apparatus 210 executes the received print job and performs printing.
First, the output-enabled tenant list request is received by the client terminal 200 (S1101). At the timing when this is received, a location identification process of the client terminal 200 is executed (S1102). Specific methods for the location identification process include using the IP address of the client terminal 200, position information (GPS), and the like. Also, printer driver obtains specific in-company information set in advance in the client terminal 200, and by transmitting this information together with the print job to the CPS 240, the affiliated tenant can be identified. Then, the location information can be identified. In the process according to the present embodiment described herein, as an example, the IP address is used to identify its location.
In a case where the location of the client terminal 200 is determined to be in company A (Yes in S1103), the output-enabled tenant condition of the company A tenant is obtained from the CPS 240 (S1104). The output-enabled tenants are filtered on the basis of the obtained output-enabled tenant condition (S1107), and the result is transmitted to the client terminal 200 as an output-enabled tenant list (S1108). On the other hand, in a case where the location of the client terminal 200 is determined to be outside of company A (No in S1103), in a similar manner, the IP address range of company B is checked, and whether or not the client terminal 200 is in company B is checked (S1105). In a case where the location of the client terminal 200 is determined to be in company B (Yes in S1105), the output-enabled tenant condition of the company B tenant is obtained from the CPS 240 (S1106). The output-enabled tenants are filtered on the basis of the obtained list (S1107), and the result is transmitted to the client terminal 200 as an output-enabled tenant list (S1108). On the other hand, in a case where the location of the client terminal 200 is determined to be outside company B (No in S1105), output-enabled tenant filtering is not performed, and the output-enabled tenant list in which the user is registered is transmitted unchanged (S1108).
In this manner, in a case where a print job can be transmitted to a plurality of cloud printing services, an intermediary cloud printing service generates a list of output-enabled cloud printing services. By having a user select a cloud printing service for output from this list, the administrator can restrict the tenants that the user can transmit to when printing. In this manner, management of the payer of printing and management to ensure print jobs are not leaked outside of the company can be performed.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD) TM), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2023-076895, filed May 8, 2023, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2023-076895 | May 2023 | JP | national |