Patent Description:
In recent years, a cloud print service (CPS), in which a print job is submitted via a network service called the cloud and the print job is sent to an image forming apparatus, has begun to spread. In the printing system using the CPS, after the image forming apparatus is registered with a tenant corresponding to the CPS, a user belonging to the tenant is allowed to use the image forming apparatus.

In the present disclosure, a tenant corresponds to a service system deployed by a user on a cloud and has a storage area whose access is restricted to the user. For example, in a company A tenant of a cloud print service used in a company A, an employee working for the company A is registered as a user, and an image forming apparatus under the management of the company A is registered and used. Thus, the user of the company A allows the image forming apparatus under the management of the company A to perform printing by giving an instruction related to printing from a client terminal in the company to the image forming apparatus. For example, <CIT> discloses an example of a technology for realizing CPS. Moreover, <CIT> describes a method of automated handshaking between the user's mobile device and a guest print hotspot device using short range communication.

As an example of a function provided by the CPS, there is a function of issuing a job code for a submitted job and inputting the job code to an image forming apparatus to print the job. For example, when a user inputs a job to the CPS, the CPS issues a unique job code indicating the job and transmits a mail address of the input user information. The user confirms a mail using a smartphone or the like and inputs a job code to an image forming apparatus for printing the job.

As another example of the functions provided by the CPS, there are functions related to the presentation of a list of jobs input to the CPS, and functions related to the reception of various instructions (for example, an instruction to delete a job. ) for jobs designated through the list. By providing such functions, for example, even after a job is submitted to the CPS, the user can confirm information about the job (for example, job contents, etc.), change various settings related to the execution of the job, and the like.

With the diversification of working styles, there is a demand for the introduction of a system for enabling the printing of documents stored in internal client terminals by using an image forming apparatus installed in an external space such as a so-called shared office. In response to such a request, for example, a mechanism for enabling guest printing through an in-house tenant without having a shared office account has been considered.

When so-called guest printing is performed in a state that the user does not have an account of a shared office tenant through an in-house tenant, a job code is transmitted to an in-house tenant user who is a request source of printing. On the other hand, the shared office which issues the job code does not have a transmission destination (for example, email address information) of the job code for notifying the job code to the user. Therefore, it is a common method for an in-house tenant to transmit mail address information of the user used as a transmission destination of the job code to the shared office tenant at the time of the job transmission. In this case, the shared office tenant issues the job code of the job in response to the job transmitted from the in-house tenant, and transmits the job code to the mail address sent from the in-house tenant to notify the user of the job code.

However, it is not desirable to transmit user information managed by a company tenant to a shared office from the viewpoint of vulnerability. In particular, if the company tenant and the shared office tenant are realized by different CPSs, it is difficult for the CPS of the company tenant to guarantee the vulnerability countermeasure to the CPS of the shared office tenant which is outside the area from the CPS of the company tenant.

In a first aspect of the present invention, a system according to claims <NUM> to <NUM> is provided. In a second aspect of the present invention, a method of controlling a system according to claim <NUM> is provided.

The best embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings.

In the present specification and the drawings, components having substantially the same functional configuration are denoted by the same reference symbols, and redundant description thereof is omitted.

An example of the system configurations of the system according to the present embodiment will be described with reference to <FIG>.

The system shown in <FIG> includes Cloud Print Services (CPSs) <NUM>, <NUM>, and <NUM>.

The CPS <NUM> schematically represents a cloud print service that can be used by a user (for example, employees, etc.) under control of a company A. A client terminal <NUM> and an image forming apparatus <NUM> schematically represent a client terminal and an image forming apparatus under control of the company A. In other words, each of the CPS <NUM>, the client terminal <NUM>, and the image forming apparatus <NUM> is associated with a tenant of the Company A.

Similarly, each of the CPS <NUM>, a client terminal <NUM>, and an image forming apparatus <NUM> is associated with a tenant of a company B that is different from the tenant of the company A.

The CPS <NUM> also schematically represents a cloud print service under control of a shared office. A client terminal <NUM> and an image forming apparatus <NUM> schematically represents a client terminal and an image forming apparatus under control of the shared office. In other words, each of the CPS <NUM>, the client terminal <NUM>, and the image forming apparatus <NUM> is associated with a tenant of a shared office.

In the following description, the tenants of the company A and the company B are collectively referred to as "in-house tenants" for convenience. The shared office tenants are also referred to as "shared office tenants. " A shared office tenant is an example of public tenants, and among the public tenants, one that can be connected by limited subjects (for example, users, CPS, etc.) under predetermined conditions.

Specifically, the public tenant corresponds to a tenant for managing an image forming apparatus installed in a so-called public space such as a convenience store, a library and a station. A CPS for utilizing an image forming apparatus associated with a public tenant is also available, and the CPS is also referred to as a "public print service" for convenience. On the other hand, in the shared office, for example, a connectable user or CPS may be restricted based on the management by the administrator of the shared office. That is, the CPS associated with the shared office can limit the available users compared to the public print service described above.

There may be multiple client terminals <NUM>, the client terminals <NUM>, the client terminals <NUM>, the image forming apparatuses <NUM>, the image forming apparatuses <NUM>, and the image forming apparatuses <NUM>.

For example, the CPS <NUM> may receive a print job from the client terminal <NUM> and transmit the print job to the image forming apparatus <NUM>. In this case, when receiving a print job from the CPS <NUM>, the image forming apparatus <NUM> executes printing based on the print job. As another example, the CPS <NUM> may transmit a print job received from the client terminal <NUM> to the CPS <NUM>.

The foregoing is substantially same among the CPS <NUM>, the client terminal <NUM>, the image forming apparatus <NUM>, and the CPS <NUM>.

The CPS <NUM> may receive a print job from the client terminal <NUM> and transmit the print job to the image forming apparatus <NUM>. The CPS <NUM> may also receive a print job from the CPS <NUM> or CPS <NUM> and transmit the print job to the image forming apparatus <NUM>. When receiving a print job from the CPS <NUM>, the image forming apparatus <NUM> executes printing based on the print job.

The components described above are connected to each other so as to be able to communicate with each other via a predetermined network N1. It should be noted that a type of the network N1 is not particularly limited as long as data can be transmitted and received between the above-mentioned components. As a specific example, any one of the Internet, LAN, WAN, telephone line, leased digital line, ATM, etc., or a combination thereof may be applied as the network N1.

In the present embodiment, the CPSs <NUM> and <NUM> are implemented as separate CPSs so that each works as an in-house tenant and the CPS <NUM> works as a shared office tenant. It should be noted that the configuration shown in <FIG> is just an example, and the system configuration of the printing system according to the present embodiment is not necessarily limited to the configuration of <FIG>. As a specific example, at least one of CPS <NUM> and <NUM> may also serve as CPS <NUM>. As another example, CPS <NUM> may also serve as at least one of the roles of CPS <NUM> and <NUM>. In this way, the functions of two or more cloud print services out of a series of cloud print services shown in <FIG> may be realized by one cloud print service.

An example of hardware configurations of an information processing apparatus <NUM> constituting the system according to the embodiment of the present disclosure will be described with reference to <FIG>. The client terminals <NUM>, <NUM>, and <NUM> correspond to the information processing apparatus <NUM> according to the present embodiment. Further, a server computer installed on the data center for constructing the CPSs <NUM>, <NUM>, and <NUM> also corresponds to the information processing apparatus <NUM>. The information processing apparatus <NUM> includes a CPU (Central Processing Unit) <NUM>, a RAM (Random Access Memory) <NUM>, and a ROM (Read Only Memory) <NUM>. The information processing apparatus <NUM> includes an auxiliary storage device <NUM> and a network I/F <NUM>. The information processing apparatus <NUM> may include at least one of an input device <NUM> and an output device <NUM>. Each of the CPU <NUM>, the RAM <NUM>, the ROM <NUM>, the auxiliary storage device <NUM>, the input device <NUM>, the output device <NUM>, and the network I/F <NUM> is connected to each other via a bus <NUM>.

The CPU <NUM> is a central processing unit that controls various operations of the information processing apparatus <NUM>. For example, the CPU <NUM> may control the entire operation of the information processing apparatus <NUM>.

The RAM <NUM> is a main storage memory working with the CPU <NUM> and is used as a work area or a temporary storage area for developing various programs.

The ROM <NUM> stores a program (for example, BIOS) and the like for the CPU <NUM> to control the operation of the information processing apparatus <NUM>.

The auxiliary storage device <NUM> stores programs such as an OS (Operating System) as a basic Software, various applications, and various data. The auxiliary storage device <NUM> may be implemented by using, for example, a hard disk drive (HDD) or a nonvolatile memory such as a solid state drive (SSD).

The network I/F <NUM> is connected to a predetermined network (for example, LAN, Internet, etc.) and is an interface for communicating with an external device via the network.

The input device <NUM> is a device for receiving instructions from a user. The input device <NUM> may be realized by, for example, a pointing device such as a mouse, an operating device such as a keyboard, a touch panel, or the like.

The output device <NUM> is a device for presenting various types of information to the user. The output device <NUM> may be implemented by a display device which presents information to a user by displaying various types of information, screens, and the like.

The configuration described above is just an example, and the hardware configuration of the information processing apparatus <NUM> is not necessarily limited to the example. As a specific example, some of components (for example, at least one of the input device <NUM> and the output device <NUM>) in the series of constituent elements of the information processing apparatus <NUM> described above may be external to the information processing apparatus <NUM>.

The functional configuration that will be described later with reference to <FIG> and the processing that will be described later with reference to <FIG>, <FIG>, and <FIG> are realized by a designated information processing apparatus <NUM> that develops programs stored in the ROM <NUM> or the auxiliary storage device <NUM> to the RAM <NUM> for executing the programs.

With reference to <FIG>, an example of the functional configurations of the information processing apparatus constituting the system according to the present embodiment will be described with particular attention to the configuration about the provision of the CPSs <NUM>, <NUM>, and <NUM>. The CPSs <NUM>, <NUM>, and <NUM> may be provided by different information processing apparatuses, or a plurality of CPSs may be provided by one information processing apparatus. In the following description, for convenience, the description will be focused on the case where an information processing apparatus <NUM> executes various processes related to the provision of the CPS <NUM>, but substantially the same will be applied to the case where the CPS <NUM> and the CPS <NUM> are provided.

The information processing apparatus <NUM> includes a setting management unit <NUM>, a job management unit <NUM>, a communication unit <NUM>, an authentication control unit <NUM>, a storage unit <NUM>, and a UI control unit <NUM>.

The setting management unit <NUM> stores setting information regarding various functions of the CPS <NUM> in a predetermined storage area (for example, RAM <NUM>, auxiliary storage device <NUM>, etc.), and reads the setting information from the storage area at a desired timing. The setting information includes, for example, tenant information and job information related to the submitted print job.

The job management unit <NUM> acquires information related to a job (for example, a print job, etc.) from another device (for example, from client terminals <NUM>, <NUM>, <NUM>, etc.) and stores the information in a predetermined storage area (for example, in the storage unit <NUM> and the like). The job management unit <NUM> may acquire information related to the job (for example, a print job, etc.) from the CPS (for example, from the CPS <NUM> and <NUM>, etc.) and store the information in a predetermined storage area.

The communication unit <NUM> transmits and receives various data to and from other devices. For example, the communication unit <NUM> may receive a print job, a job execution request, or the like from other devices. Examples of the other devices include the client terminals <NUM>, <NUM>, and <NUM> and the image forming apparatuses <NUM>, <NUM>, and <NUM>. The communication unit <NUM> may receive various processing requests from other CPSs and transmit information corresponding to the processing results to the CPS.

The authentication control unit <NUM> executes various processes related to the management of the user. The authentication control unit <NUM> may store, in a predetermined storage area (for example, in the storage unit <NUM>, which will be described later, and the like), information about the user that is added in response to an instruction from the manager of the tenant. As another example, the authentication control unit <NUM> may manage information about the user by cooperating with an external authentication service.

The storage unit <NUM> stores various data. For example, the storage unit <NUM> may store various data in response to a request from the job management unit <NUM> or the authentication control unit <NUM>.

In response to a request from other devices, the UI control unit <NUM> executes processing relating to an output of a UI for accepting an input from a user and presenting various information to the user. Examples of such other devices include the client terminals <NUM>, <NUM>, and <NUM> and the image forming apparatuses <NUM>, <NUM>, and <NUM>. As a specific example, in response to a request from a browser operating in the client terminal <NUM>, the UI control unit <NUM> may generate a screen (that will be described later with reference to <FIG> and <FIG>), and transmit the screen to the client terminal <NUM> via the communication unit <NUM>. Thus, the screen generated by the UI control unit <NUM> is presented to the user through a browser operating in the client terminal <NUM>.

An example of the processing of the system according to the present embodiment will be described below with particular attention to the processing pertaining to the printing associated with the cooperation of the CPS, and the processing pertaining to the modification of the print job, respectively.

First, with reference to <FIG> and <FIG>, the descriptions will be given of an example of a printing process associated with the cooperation of the CPS, particularly focusing on a case where a document stored in the client terminal <NUM> under control of the company A is printed using the image forming apparatus <NUM> installed in the shared office. <FIG> shows an example of a screen for receiving, from a user, an instruction related to the selection of a tenant to execute printing. <FIG> shows an example of a processing sequence related to printing associated with the cooperation of the CPS, particularly focusing on the processing of the client terminal <NUM>, the CPS <NUM>, the CPS <NUM>, and the image forming apparatus <NUM>.

In step S501, the client terminal <NUM> and the CPS <NUM> cooperate to execute a process related to the authentication of the user. Specifically, the client terminal <NUM> receives an input of information used for authentication such as a user name and a password from a user via a predetermined screen, and transmits the information to the CPS <NUM>. The authentication control unit <NUM> of the CPS <NUM> executes processing related to authentication of a subject user based on the information transmitted from the client terminal <NUM>. At this time, the authentication control unit <NUM> may request a predetermined authentication service to authenticate the user. When the authentication of the user fails in step S501, the client terminal <NUM> and the CPS <NUM> again execute the process (process related to the authentication of the user) in step S501.

If the user authentication is successful in step S501, the client terminal <NUM> advances the processing to step S502.

In step S502, the client terminal <NUM> presents a screen <NUM> shown in <FIG> to the user and receives, from the user, an instruction related to the selection of a tenant for executing printing through the screen <NUM>. As a specific example, the client terminal <NUM> may acquire data related to the display of the screen <NUM> generated by the UI control unit <NUM> of the CPS <NUM> from the CPS <NUM>, and present the screen <NUM> to the user via a browser or the like based on the data.

In the screen <NUM> shown in <FIG>, the radio buttons <NUM> and <NUM> accept an instruction related to the designation of either an in-house tenant or a shared office tenant as a tenant executing printing. Specifically, the radio button <NUM> corresponds to an in-house tenant, and if the radio button <NUM> is designated, a print job is transmitted to the CPS <NUM>, and the print job is transmitted from the CPS <NUM> to the image forming apparatus <NUM>. The radio button <NUM> corresponds to a shared office tenant and, if the radio button <NUM> is designated, a print job is transmitted to the CPS <NUM> via the CPS <NUM>, and the print job is transmitted from the CPS <NUM> to the image forming apparatus <NUM>.

In the example shown in <FIG>, it is assumed that the radio button <NUM> has been selected to perform printing in the shared office tenant, and the following description will be given.

In step S503, the client terminal <NUM> transmits the print job and information corresponding to the result of the tenant selection made in step S502 to the CPS <NUM>. The process in which the CPS <NUM> receives the print job transmitted from the client terminal <NUM> in step S503 corresponds to an example of the first job receiving process.

In step S504, the CPS <NUM> transmits the print job received from the client terminal <NUM> in step S503 to the CPS <NUM>. In step S504, the CPS <NUM> also transmits, to the CPS <NUM>, information indicating the CPS <NUM> to which the job code is to be transmitted in step S507 described later. The process in which the CPS <NUM> transmits the print job received from the client terminal <NUM> to the CPS <NUM> in step S504 corresponds to an example of the job transmitting process. The process in which the CPS <NUM> receives the print job transmitted from the CPS <NUM> in step S504 corresponds to an example of the second job receiving process.

In step S505, the CPS <NUM> issues identification information (hereinafter also referred to as "job code") for uniquely identifying the print job received from the CPS <NUM> in step S504.

In step S506, the CPS <NUM> associates the print job received from the client terminal <NUM> in step S503 with the job code issued in step S505, and stores the job information in a predetermined storage area (for example, in the storage unit <NUM>). For example, Table <NUM> shows an example of job information stored in the storage area.

In the job information shown in Table <NUM>, information for each job stored in the CPS <NUM> is stored as a list. The "job ID" is identification information for uniquely identifying information for each job held in the job information. The "job name" is a name indicating a target job. The "creation date" is information indicating the date when the job was created. The "print setting" is information indicating a setting related to printing applied to the target job. The "source tenant" is information indicating a tenant that has sent a target job to the CPS <NUM>, which may be a URL, for example. The "job code" is information indicating a job code issued by the CPS <NUM> for a target job. The "job file path" is information indicating the storage destination of the job data transmitted to the CPS <NUM>.

In the example shown in Table <NUM>, it can be understood that the job name of the job received by the CPS <NUM> is "fileW. pdf" and the URL of the source tenant is "https://companyA".

In step S507, the CPS <NUM> transmits the job code issued in step S505 to the CPS <NUM>. Thus, the job code issued by the CPS <NUM> can be transmitted to the user who has instructed printing without transmitting the user information managed by the CPS <NUM> to the CPS <NUM>. The process of transmitting the job code issued by the CPS <NUM> to the CPS <NUM> in step S507 corresponds to an example of the job code transmitting process.

The process in which the CPS <NUM> receives the job code transmitted from the CPS <NUM> in step S507 corresponds to an example of the job code receiving process.

In step S508, the job management unit <NUM> of the CPS <NUM> stores the job code transmitted from the CPS <NUM> in a predetermined storage area (for example, in the storage unit <NUM>) as job information. For example, Table <NUM> shows an example of job information stored in a predetermined storage area by the CPS <NUM>.

In the job information shown in Table <NUM>, information for each job stored by the CPS <NUM> is stored as a list. The "job ID" is identification information for uniquely identifying information for each job held in the job information. The "job name" is a name indicating a target job. The "creation date" is information indicating the date when the job was created. The "print setting" is information indicating a setting related to printing applied to the target job. The "destination tenant" is information indicating a destination when a target job is transmitted from the CPS <NUM> to another CPS, which may be a URL, for example. The "destination job code" is information indicating a job code issued by the tenant of the destination for the target job.

For example, a job managed in association with the job ID "XXX004" in Table <NUM> corresponds to a job managed in association with the job ID "YYY001" in Table <NUM>. Therefore, the job is indicated as a job transmitted from a tenant corresponding to CPS <NUM> in Table <NUM>, and is indicated as a job transmitted to CPS <NUM> in Table <NUM>.

In step S509, the CPS <NUM> transmits the job code received from the CPS <NUM> in step S507 to the client terminal <NUM>.

In step S510, the image forming apparatus <NUM> receives an input of a job code corresponding to a desired print job from a user. The job code input here includes, for example, the job code notified from the CPS <NUM> in step S509.

In step S511, the image forming apparatus <NUM> transmits the job code received in step S510 to the CPS <NUM>, and requests the CPS <NUM> to transmit a print job.

In step S512, the job management unit <NUM> of the CPS <NUM> extracts, from a predetermined storage area (for example from the storage unit <NUM>), job information corresponding to the job code received from the image forming apparatus <NUM> in step S511. The job management unit <NUM> of the CPS <NUM> transmits, to the image forming apparatus <NUM>, a job (for example, a print job) corresponding to the extracted job information. For example, it is assumed that the job code received by the image forming apparatus <NUM> in step S510 is "XXX-XXXX-XXXX" and the job information held in the CPS <NUM> is an example shown in Table <NUM>. In this case, the job information to which "YYY001" is assigned as the job ID corresponds to the specified job.

In step S513, the image forming apparatus <NUM> executes a process related to printing based on the job received from the CPS <NUM> in step S512.

Next, with reference to <FIG> and <FIG>, an example of a process related to the operation of a print job will be described with particular attention to a case where a job transmitted from the CPS <NUM> to the CPS <NUM> is operated from a tenant associated with the CPS <NUM> as a transmission source. This is a method for realizing the operation of a job from the CPS <NUM> in a state where the CPS <NUM> does not have the job after the job is transmitted from the CPS <NUM> to the CPS <NUM>.

For example, when a job is sent from an in-house tenant to a shared office tenant, there is no job in the in-house tenant, and it may become difficult for the in-house tenant to perform various modifications (for example, changing print settings, etc.) on the job. When guest printing is performed by using an image forming apparatus associated with a shared office subject and if the user does not have an account of the shared office subject, it becomes difficult to perform the operation for the target job via a client terminal. Under such circumstances, for example, in order to perform various operations on the job, the user would have to directly operate the image forming apparatus associated with the shared office. Therefore, it is inconvenient for the user that it is difficult to perform various operations on the job before the user goes to the shared office. <FIG> and <FIG> show examples for solving the above problem.

<FIG> shows an example of a screen related to the operation of a job that is presented to a user in a tenant (in-house tenant) with which the CPS <NUM> is associated. <FIG> shows an example of processing related to the operation of a print job, particularly focusing on the processing of the client terminal <NUM>, the CPS <NUM>, and the CPS <NUM>.

In step S701, in response to an instruction from the user, the client terminal <NUM> requests the CPS <NUM> to confirm various pieces of information related to the tenant and to present a screen (hereinafter also referred to as "tenant page") for accepting various instructions. As a specific example, the client terminal <NUM> may request the CPS <NUM> to present the tenant page of the tenant by accessing the URL of the tenant designated by the user via a browser or the like.

In step S702, the client terminal <NUM> and the CPS <NUM> cooperate to execute a process related to the authentication of the user. Specifically, the UI control unit <NUM> of the CPS <NUM> causes the client terminal <NUM> to present a login screen related to the authentication of the user in response to the request from the client terminal <NUM> in step S701. The client terminal <NUM> receives an input of information used for authentication such as a user name and a password from the user through the login screen and transmits the information to the CPS <NUM>. The authentication control unit <NUM> of the CPS <NUM> executes processing related to authentication of an object user on the basis of the information transmitted from the client terminal <NUM>. At this time, the authentication control unit <NUM> may request a predetermined authentication service to authenticate the user.

In step S703, the UI control unit <NUM> of the CPS <NUM> generates a list of accepted jobs based on the job information stored in a predetermined storage area (for example, in the storage unit <NUM>).

In step S704, the UI control unit <NUM> of the CPS <NUM> generates display information for displaying the list of jobs generated in step <NUM>, and transmits the display information to the client terminal <NUM>. Thus, the client terminal <NUM> can present a list of jobs accepted by the CPS <NUM> to the user based on the display information transmitted from the CPS <NUM>.

The screen <NUM> shown in <FIG> shows an example of a screen for presenting a list of jobs.

The display area <NUM> is an area in which a list of jobs is displayed. A list of jobs accepted by the CPS <NUM> is displayed in the display area <NUM>. At this time, the job to be displayed in the display area <NUM> may be limited to the job (that is, a job accepted based on an instruction from the logged-in user) associated with the account of the logged-in user. The display area <NUM> may display at least some of the job information as exemplified in Table <NUM> for each job. For example, in the screen <NUM> shown in <FIG>, job name, creation date, and destination tenant information are displayed for each job among the job information shown in Table <NUM>.

A button <NUM> is a user interface for receiving an instruction related to deletion of a job from a user. If a button <NUM> is pressed in a state that at least a part of a job among a list of jobs displayed in a display area <NUM> is selected, the job is set as a deletion target.

A button <NUM> is a user interface for receiving an instruction to change the print setting from a user. If the button <NUM> is depressed in a state that at least a part of the job among the list of jobs displayed in the display area <NUM> is selected, a screen for receiving designation of change contents of settings related to printing for the job from the user is displayed.

The screen <NUM> shown in <FIG> shows an example of a screen for receiving an instruction from a user about the contents of an operation (for example, changes to the settings) for the job designated in the screen <NUM>.

A setting area <NUM> is a user interface for receiving the designation of the contents of the setting change related to printing from the user. For example, in the example shown in <FIG>, the setting area <NUM> is provided with setting areas for accepting the designation of "paper size", "orientation (paper orientation)", "Nup", and "one side/both side" as settings related to printing. More specifically, in the example shown in <FIG>, "automatic", "vertical", "<NUM> in <NUM>", and "one side" are designated as "paper size", "orientation", "Nup", and "one side/two side".

A button <NUM> is a user interface for receiving an instruction related to the application of the setting specified via the setting area <NUM> from the user. When the button <NUM> is depressed, the contents of setting related to printing specified in the setting area <NUM> are applied.

A button <NUM> is a user interface for receiving an instruction related to cancellation of a setting change related to printing from a user. If the button <NUM> is depressed, the execution of the processing relating to the change of the setting content is canceled regardless of the setting content relating to printing designated in the setting area <NUM>, and the original setting is maintained.

In step S705, the client terminal <NUM> receives from the user via the screens <NUM> and <NUM> a designation of the job to be operated and a designation of the content of the operation for the job (for example, a designation related to deletion of a job or a designation related to changes in settings related to printing). Then, the client terminal <NUM> transmits information about the designated job and information showing the contents of the operation for the designated job to the CPS <NUM>.

In step S706, the job management unit <NUM> of the CPS <NUM> determines whether the job designated by the user via the client terminal <NUM> in step S705 has been previously transmitted to the CPS <NUM>. As a specific example, the job management unit <NUM> of the CPS <NUM> may determine whether a specified job has previously been transmitted to the CPS <NUM> by referring to the job information held in a predetermined storage area. If the designated job is the job previously transmitted to the CPS <NUM>, the job management unit <NUM> of the CPS <NUM> transmits a job code corresponding to the job and information (hereinafter also referred to as "job operation instruction") showing operation contents to the job to the CPS <NUM>. The process in step S706 is executed, for example, if the button <NUM> on the screen <NUM> is pressed or if the button <NUM> on the screen <NUM> is pressed.

In step S707, the job management unit <NUM> of the CPS <NUM> specifies a target job based on the job code transmitted from the CPS <NUM> in step S706. Then, the job management unit <NUM> of the CPS <NUM> executes processing (for example, changing settings related to printing or deleting jobs, etc.) corresponding to the job operation instruction received from the CPS <NUM> in S706 for the specified job.

In step S708, the CPS <NUM> notifies the CPS <NUM> that the processing related to the operation of the job executed in step S707 has been completed.

In step S709, the job management unit <NUM> of the CPS <NUM> updates the job information (in other words, a list of information for each job) held in the predetermined storage area based on the notification from the CPS <NUM> in step S708. As a specific example, the job management unit <NUM> of the CPS <NUM> may delete job information (for example, a job code issued by CPS <NUM>) corresponding to a job if the job is deleted in step S707.

In the example shown in <FIG>, the list of jobs is generated based on the job information stored in the predetermined storage area in step S703, and display information for displaying the list is transmitted to the client terminal <NUM> in step S704. On the other hand, it can be assumed that the job has already been deleted in the CPS <NUM>, which is the destination of the job. Therefore, the CPS <NUM> may again acquire job information from the CPS <NUM> to which the job is to be transmitted and update the job information held in the predetermined storage area. Thus, the job information about the job held in the CPS <NUM> can be updated to the latest state according to the state of the job in the CPS <NUM> as the transmission destination of the job.

The job information stored in the predetermined storage area (for example, in the storage unit <NUM>) in the CPS <NUM> may be browsable through the image forming apparatus <NUM> under the control of the CPS <NUM>. In this case, for example, a list of jobs held in the CPS <NUM> may be presented by excluding the jobs transmitted to the CPS <NUM> from the list of jobs to be presented.

In the example shown in <FIG>, the client terminal <NUM> accesses the URL of the tenant designated by the user through a browser or the like, thereby requesting the CPS <NUM> to present the tenant page of the tenant. On the other hand, it can be assumed that the user performs the operation from the client terminal <NUM> located in the shared office. As a specific example, it can be assumed that the client terminal <NUM> accesses the CPS <NUM> from the outside by using technologies such as a VPN (Virtual Private Network). Therefore, the processing of the client terminal <NUM> shown in <FIG> may be performed by the client terminal <NUM>.

In the example shown in <FIG>, an instruction related to the designation of a tenant for executing printing is received from a user through the screen <NUM> in step S502. On the other hand, it is conceivable that the user has not determined a tenant to execute printing at this time. Therefore, in step S502, the shared office is not specified, but the job may be selected on the screen <NUM> to change the tenant that executes printing later. This operation may be performed from the client terminal <NUM> or from the client terminal <NUM>.

By applying the above processing, for example, the job sent from the in-house tenant to the shared office can be confirmed and various modifications on the job can be performed through the client terminal <NUM> associated with the in-house tenant. As described above, according to the system of the present embodiment, it is possible to link CPSs of a plurality of tenants (e.g., tenants and shared offices in the company) in a more suitable manner.

A modification of the system according to this embodiment will be described below. In the above-described embodiment, the description is focused on the case where the CPS corresponding to the in-house tenant cooperates with the CPS corresponding to the shared office tenant. The modified example here shows that the communications among a plurality of tenants is mediated by another tenant, with particular attention to a case in which the CPS corresponding to each of the in-house tenant and the shared office tenant cooperates via the CPS corresponding to the public tenant.

<FIG> is a diagram showing an example of the system configurations of the system according to the present modification. The system shown in <FIG> includes CPSs <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>. Each of the CPS <NUM> and <NUM> schematically illustrate a CPS associated with an in-house tenant. Each of the CPSs <NUM> and <NUM> schematically show a CPS associated with a shared office. The CPS <NUM> also schematically illustrates a CPS associated with a public tenant.

Client terminals <NUM>, <NUM>, <NUM>, and <NUM> schematically represent respective client terminals under the management of tenants corresponding to the CPSs <NUM>, <NUM>, <NUM>, and <NUM>. Similarly, image forming apparatuses <NUM>, <NUM>, <NUM>, and <NUM> schematically represent respective image forming apparatuses under management of a tenant corresponding to the CPSs <NUM>, <NUM>, <NUM>, and <NUM>.

The CPS <NUM> may receive a print job from the client terminal <NUM> and transmit the print job to the image forming apparatus <NUM>. In this case, when receiving a print job from the CPS <NUM>, the image forming apparatus <NUM> executes printing based on the print job. Similarly, the above processing is also executed in the configuration among the CPS <NUM>, the client terminal <NUM>, and the image forming apparatus <NUM>.

The CPS <NUM> may also receive a print job from the client terminal <NUM> and transmit the print job to the image forming apparatus <NUM>. In this case, when receiving a print job from the CPS <NUM>, the image forming apparatus <NUM> executes printing based on the print job. Similarly, the above processing is also executed in the configuration among the CPS <NUM>, the client terminal <NUM>, and the image forming apparatus <NUM>.

The CPS <NUM> may be interposed between at least one of the CPSs <NUM> and <NUM> and at least one of the CPSs <NUM> and <NUM> in transmitting and receiving a print job and the execution result of the print job.

As a specific example, the CPS <NUM> may receive a print job from the client terminal <NUM> and transmit the print job to the CPS <NUM>. Similarly, the above processing is also executed in the configuration among the CPS <NUM>, the client terminal <NUM>, and the CPS <NUM>.

The CPS <NUM> may receive a print job held in the CPS <NUM> from the CPS <NUM> and transmit the print job to the image forming apparatus <NUM>. As a result, the image forming apparatus <NUM> executes processing related to printing based on the print job. Similarly, the above processing is also executed in the configuration among the CPS <NUM>, the CPS <NUM>, and the image forming apparatus <NUM>.

Each of the components described above are connected to each other so as to be able to communicate with each other via a predetermined network N1. It should be noted that the type of the network N1 is not particularly limited as long as data can be transmitted and received between the above-described components. As a specific example, any one of the Internet, LAN, WAN, telephone line, leased digital line, ATM, etc., or a combination thereof may be applied as the network N1.

With reference to <FIG>, an example of the processing of the system according to the present modification will be described with particular attention to the processing relating to printing associated with the cooperation of the CPS.

In the example shown in <FIG>, the processing in steps S901 through S909 corresponds to the steps of transmitting a job to the CPS <NUM>, and then notifying a job code used when causing the image forming apparatus <NUM> under control of the CPS <NUM> to execute printing. The processing in steps S901 through S909 is substantially similar to the processing in steps S501 through S509 in the example shown in <FIG>. In the example shown in <FIG>, a job is transmitted to the CPS <NUM> associated with the shared office and the CPS <NUM> issues a job code. On the other hand, in the example shown in <FIG>, a job is transmitted to the CPS <NUM> associated with the public tenant, and the CPS <NUM> issues a job code.

In step S910, the image forming apparatus <NUM> under the control of the shared office receives input of a job code corresponding to a desired print job from a user. The job code input here includes, for example, the job code notified from the CPS <NUM> in step S909.

In step S911, the image forming apparatus <NUM> transmits the job code received in step S910 to the CPS <NUM>, and requests the CPS <NUM> to transmit a print job.

In step S912, the CPS <NUM> transfers the job code received from the image forming apparatus <NUM> in step S911 to the CPS <NUM>, and requests the CPS <NUM> to transmit a print job.

In step S913, the job management unit <NUM> of the CPS <NUM> extracts job information corresponding to the job code received from the CPS <NUM> in step S912 from a predetermined storage area (for example, from the storage unit <NUM>). The job management unit <NUM> of the CPS <NUM> transmits a job (for example, a print job) corresponding to the extracted job information to the CPS <NUM>.

In step S914, the CPS <NUM> transfers the job received from the CPS <NUM> in step S913 to the image forming apparatus <NUM>.

In step S915, the image forming apparatus <NUM> executes a process related to printing based on the job received from the CPS <NUM> in step S914.

The system according to the present modified embodiment can modify a job transmitted and received between the CPSs from a client terminal associated with a tenant that is a transmission source of the job, similarly to the system according to the previously described embodiment. The processing in the present embodiment is substantially similar to the example shown in <FIG>. Specifically, in the example shown in <FIG>, the processing sequence between the client terminal <NUM>, the CPS <NUM>, and the CPS <NUM> is applied between the client terminal <NUM>, the CPS <NUM>, and the CPS <NUM> in this modification.

In the example shown in <FIG>, the client terminal <NUM> accesses the URL of the tenant designated by the user through a browser or the like, thereby requesting the CPS <NUM> to present the tenant page of the tenant. On the other hand, it can be assumed that the user performs the operation from the client terminal <NUM> located in the shared office. Therefore, in this modified example, the example shown in <FIG> may be executed from the client terminal <NUM> similarly to the previously-described embodiment.

In the example shown in <FIG>, an instruction related to the designation of a tenant for executing printing is received from a user through the screen <NUM> in step S902. On the other hand, it is conceivable that the user has not determined a tenant to execute printing at this time. Therefore, in step S902, the shared office is not specified, but the job may be selected on the screen <NUM> to change the tenant that executes printing later. This operation may be performed from the client terminal <NUM> or from the client terminal <NUM>.

As described above, even in a situation where the other tenant mediates the communications between the tenants, it is possible to confirm the job transmitted to the shared office through the client terminal associated with the in-house tenant and to perform various operations on the job.

According to the present invention, cloud print services related to a plurality of tenants can be linked in a more suitable manner.

Claim 1:
A system comprising a first cloud print service (<NUM>) connected to a client terminal (<NUM>) via a network and a second cloud print service (<NUM>) connected to an image forming apparatus (<NUM>) via a network, the first cloud print service comprising:
first job receiving means for receiving, from the client terminal, a job executed by the image forming apparatus;
job transmitting means for transmitting the received job to the second cloud print service;
job code receiving means for receiving a job code issued by the second cloud print service;
storing means for storing the received job code;
instruction transmitting means for transmitting to the second cloud print service, in receipt of an instruction to modify the job stored in the second cloud print service from the client terminal, the job code corresponding to the job and information indicating the instruction to modify the job; and
notifying means for notifying the client terminal of the received job code, and
the second cloud print service comprising:
second job receiving means for receiving a job transmitted from the first cloud print service;
issuing means for issuing a job code for the received job;
managing means for associating the issued job code with the job received from the first cloud print service for management; and
job code transmitting means for transmitting the issued job code to the first cloud print service,
wherein, if the managing means receives the job code and the information indicating the instruction to modify the job, the managing means controls a process corresponding to the instruction for the job associated with the job code.